{"report_id":"5f98ae13-4e8b-40e9-a4f3-6894549e20bb","version":0,"status":"done","tags":[],"date":"2026-07-27T03:36:58Z","url":{"schema":"https","addr":"alpha-achieveer.co/","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":0,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"alpha-achieveer.co/","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"title":"alpha-achieveer.co","dom":{"size":70561,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (2033)","md5":"62ab78ef7b836148dea6b3cb4a265813","sha1":"531bd1eb62c296ce117d88e35b2f84d3dfcf8048","sha256":"85aad768a28505c89ecbf8482ca85cb32f8b761fecc50e96328b8666e7206acd","sha512":"04090a6b82a97879c758365e23ad0a549c0bec757fc5a6fd4d5dced96b1047544e4ae4e73aa5f56771d1e3311c86019f5a3afc941377b702653391bc2c99e83e","ssdeep":"1536:YJl6vFVuClEWxDwJdlmLVnoPz0HAD5PyIljG4sJ7wNzIU:YJl6tVxlEWxbxnoPz0HAD5PyIljG4o70","tlshash":"da63c630b8e42126505391c6baa44f1e5ba1e30bcb0b89e877ec06b7dfcede49457359","dom_hash":"domhash9d81b0671d689ffe1a3ace76f915ca24","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"alpha-achieveer.co/","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":0,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T03:36:58Z","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":0}},"detection":{"ids":null,"analyzer":null,"urlquery":null},"summary":[{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":560346,"first_seen":"2022-11-04T22:28:35Z","last_seen":"2026-07-24T15:28:31.911258Z","alert_count":0,"request_count":1,"received_data":7732,"sent_data":521,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"websocket-visitors.smartsupp.com","ip":{"addr":"18.195.200.162","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2012-08-25","domain_rank":411464,"first_seen":"2021-07-12T07:42:32Z","last_seen":"2026-07-24T09:04:26.067381Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":633,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":1,"received_data":20816,"sent_data":532,"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":"yt3.ggpht.com","ip":{"addr":"142.250.178.65","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-01-16","domain_rank":1275,"first_seen":"2014-01-15T16:55:17Z","last_seen":"2026-07-20T12:46:42.278192Z","alert_count":0,"request_count":1,"received_data":1615,"sent_data":631,"comment":"","tags":null,"fingerprints":null},{"fqdn":"i.ytimg.com","ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2007-12-11","domain_rank":436,"first_seen":"2012-10-03T19:11:04Z","last_seen":"2026-07-20T08:16:40.328836Z","alert_count":0,"request_count":1,"received_data":47690,"sent_data":660,"comment":"","tags":null,"fingerprints":null},{"fqdn":"alpha-achieveer.co","ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"domain_registered":"unknown","domain_rank":0,"first_seen":"2026-07-27T03:09:02.001867Z","last_seen":"2026-07-27T03:09:02.001867Z","alert_count":0,"request_count":53,"received_data":4074200,"sent_data":28539,"comment":"","tags":null,"fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"jQuery UI","description":"jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.","website":"https://jqueryui.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery_ui:*:*:*:*:*:*:*:*","icon":"jQuery UI.svg","categories":["JavaScript libraries"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"jQuery:2.2.4","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]},{"name":"parallax.js","description":"Simple parallax scrolling effect.","website":"https://github.com/pixelcog/parallax.js","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"PHP:5.6.40","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]}]},{"fqdn":"www.google.com","ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":22,"first_seen":"2015-05-10T13:11:19Z","last_seen":"2026-07-26T22:51:17.688286Z","alert_count":0,"request_count":3,"received_data":64764,"sent_data":1597,"comment":"","tags":null,"fingerprints":null},{"fqdn":"jnn-pa.googleapis.com","ip":{"addr":"172.217.114.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":1579,"first_seen":"2021-11-16T06:12:21Z","last_seen":"2026-07-20T10:03:51.986275Z","alert_count":0,"request_count":2,"received_data":1197,"sent_data":1220,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.114.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":8472,"first_seen":"2021-11-04T06:37:42Z","last_seen":"2026-07-21T21:38:43.172366Z","alert_count":0,"request_count":1,"received_data":32349,"sent_data":574,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.smartsuppchat.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":18547,"sent_data":465,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"18.195.8.146","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":1579,"sent_data":539,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":8,"received_data":294154,"sent_data":4577,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.googleapis.com","ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":6,"received_data":202722,"sent_data":3527,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":146047,"first_seen":"2012-05-29T15:36:17Z","last_seen":"2026-07-26T23:06:30.068608Z","alert_count":0,"request_count":6,"received_data":69358,"sent_data":3613,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":2,"received_data":77724,"sent_data":1094,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.youtube.com","ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-02-15","domain_rank":286,"first_seen":"2013-04-13T07:43:20Z","last_seen":"2026-07-20T08:23:54.066263Z","alert_count":0,"request_count":8,"received_data":3660432,"sent_data":9885,"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":"widget-v3.smartsuppcdn.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":4,"received_data":329031,"sent_data":1885,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]}],"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":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"65cfbef4976ed897962f8aab52c2e7dd","sha1":"5002f4eb74d361e916cd01adcce97615bb98a93c","sha256":"7ffca58a18354a6fafd52f93908f56bade386cd0181cabc22dde999e040843c9","sha512":"af6eaa50caa0889f6d7d19ae675e875be4d2577826cade64399694acd9a3c494bd35791cc47de33782b2fd996ce97b638289cad79915949a891f5e885da04ddc","ssdeep":"","tlshash":"141154b6393fd032c2e924a6d846ee7a42d08449926210b50fb332c437f6e9cd11ad54","size":1012,"data":"","first_seen":"2026-07-25T07:02:54.112569Z","last_seen":"2026-07-27T07:00:44.948009Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37a6259cc0c1dae299a7866489dff0bd","sha1":"2be88ca4242c76e8253ac62474851065032d6833","sha256":"74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b","sha512":"04f8ff2682604862e405bf88de102ed7710ac45c1205957625e4ee3e5f5a2241e453614acc451345b91bafc88f38804019c7492444595674e94e8cf4be53817f","ssdeep":"","tlshash":"b9300000000000000000000000000000000300000000000000000000000c0000000000","size":4,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-31T13:37:22.889443Z","times_seen":279953,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/bootstrap.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"c5b5b2fa19bd66ff23211d9f844e0131","sha1":"791aa054a026bddc0de92bad6cf7a1c6e73713d5","sha256":"2979f9a6e32fc42c3e7406339ee9fe76b31d1b52059776a02b4a7fa6a4fd280a","sha512":"d9ef2aab411371f5912381c9073422037528c8593ab5b3721bea926880592f25bd5dfdec5991cdfe5c5ef5f4e1d54e390e93dfd3bca3f782ac5071d67b8624d4","ssdeep":"768:4UfYD27UwlNHMl9lqNuCPNjhqg8epm5CCJFXflA8Gf3ZTbQ:z/76whqKGvlm3ZXQ","tlshash":"47f29606b23031a147efb1e1525b020a7239696ee906907c78b9daf53db9c48717bf3d","size":36868,"data":"","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-07-31T13:13:43.011471Z","times_seen":21693,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.layeranimation.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"c8447797a143c1450fc568df80d84644","sha1":"5a53d554a8bb9ed2806ca5c334908b23c9ad4bb0","sha256":"6867ff7eec8e29d555e5bfcadc9e19f04d1e3a34de99255647f9ca573536b7ef","sha512":"ce076a2702f1c93dff9a90dfc01bca938763e0b3fd331988a865553f5a90f865d8441a05e54110eaac359b8278ed11abad48a3b43a96c3717f911fd746825764","ssdeep":"384:/xzdbsv52ydfPEnYpF5BzJCP0bRjB6Y3tsq4dtS1YD2JQu/BDY8+wEGNc8zOluDk:jwpFDO+tsq4dtLsQEBDYHPGNm6GV+UfH","tlshash":"3543eac6ea102ce551ab8145d1bf44593220ffb8b10285f1fd56a49a1a4cf8621ebf7f","size":56000,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-30T05:52:29.065902Z","times_seen":1574,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"115b3cd49c739440787a505ab2ee1fa0","sha1":"3f1da71d9f392fd05f503b9c37140524df25c91b","sha256":"b36d3c52f42742303976f7fa86f396d248d2fe7b0f3b3e18c092577e621a0e0c","sha512":"78e25ce66f42fd5b77614cbad4c7ffc671997f0f317882289e9da969621935ea0110b6910e2b693a99736a7403f1e43f54c02d76485d8fd7fe72bda1265d4a6c","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00000000300000000000000","size":2,"data":"","first_seen":"2023-03-10T22:24:54Z","last_seen":"2026-07-27T07:00:44.977418Z","times_seen":1876,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"053fbccf1e17390f7a9adc3521ed7696","sha1":"e3d25d9c529549b5e8c066fe1e3390a03cff30a3","sha256":"5bebf4b6615a6aa6aea024a979423e3c35ed65dca89cec752afe3c5fa0262789","sha512":"8df25f0190b67780e3fe3549184050dd91e162ba06815e92e63f89fe1f07f1259f9ee294a4efde8b498c4c99dd2300947201d7859c913c85021d7b84107588cf","ssdeep":"","tlshash":"8890028430426c102202d0612a9a69b6d175448020199164f05510443921059505bd0c","size":49,"data":"","first_seen":"2026-07-25T07:02:54.198206Z","last_seen":"2026-07-27T07:00:45.002562Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d61f8370cad1d412f80b84d143e1257","sha1":"32096c2e0eff33d844ee6d675407ace18289357d","sha256":"6b23c0d5f35d1b11f9b683f0b0a617355deb11277d91ae091d399c655b87940d","sha512":"3d637ae63d59522dd3cb1b81c1ad67e56d46185b0971e0bc7dd2d8ad3b26090acb634c252fc6a63b3766934314ea1a6e59fa0c8c2bc027a7b6a460b291cd4dfb","ssdeep":"","tlshash":"c700000000000000c000003300000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T12:12:28Z","last_seen":"2026-07-31T04:05:39.782149Z","times_seen":75918,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"32efc8291438b62ef493347e387cca0c","sha1":"cfde2c91f018e6df9094980266806f07d5595723","sha256":"6ea6f07e03fc88bb1c49cd7c10e57e591028e47da7ba7ee2587f34d1b9f3cc54","sha512":"81c67ce5df3bff4092525e1994a46a1798ac52f794c0a30e12fc4b3571bfa81a6d69a60144d8ed3246fe8e42b72a49108992bc01ab56c0b35f5e6c41782c4b5b","ssdeep":"","tlshash":"73e0c0197b572073a1b6288650062fcd6a682c4668c9788bd222794008acdc3544dc42","size":329,"data":"","first_seen":"2026-07-25T07:02:54.071637Z","last_seen":"2026-07-27T07:00:45.025225Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/jquery-ui.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"07f2c3c1cb8427c280769e2423325716","sha1":"e43ded0bda42a876cb09d09c16565a986fa16531","sha256":"b808bb431c90a624fe5516ffe635cb04efbc5b23e293ab0876f903eccc94ef24","sha512":"f43d837bdd067e383c72376c98890ca380d26d837ac63ad4da720206f45ce276b18a99d62049036b3b49f85118f854930ec37c254fc5c429f07f34b7568b42a9","ssdeep":"3072:gAVqGqpGuSD4fUSSDTWQJ+SuwsYI7SSDzOyAGkRsG:VVsnlUyQJXunYIpg","tlshash":"a534084db2413a3251ebe2a5103b2a0fa237555da605805cb43ccede9e7de0531bbf7a","size":240422,"data":"","first_seen":"2023-03-07T12:27:42Z","last_seen":"2026-07-27T14:34:25.224872Z","times_seen":593,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.navigation.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","size":26101,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.073108Z","times_seen":1645,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"916d55ba1a01829df39bc7b08d5a4e53","sha1":"4ec066243c47dc0161d8a5135d455bb1e864ebf5","sha256":"67aa41e1bc853146f678a75baa4645477f4bef16e06fca2c7d5238cd92e00f2f","sha512":"7207d72b868f0017c6712c3f1ec8de702e62496beb8ed8b948219c9741ae4429f38543958a70997faf135f2f47f2be6b706094645287ff3930d9a431257e7237","ssdeep":"1536:z9w3cPpzlUowL2cm9ibFHDYzcmNGBfXoLL:BFyoybFHDQf","tlshash":"6c631acef2d2a73555e269f6105f410a62fe9006cc85182fba15f6f42a70d4b903bf7a","size":67400,"data":"","first_seen":"2026-07-27T03:37:09.892421Z","last_seen":"2026-07-27T03:37:09.892421Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"aac1259dfa2c6c5ead508f34e52bb990","sha1":"8ccb8a3f7ac5bd9c4f1ab74cb453f7f32903fb1b","sha256":"27a26bca625b223971909dd88fc93faeb050dc5b34d91c0871661740dcfb9d18","sha512":"2a404c9768dc86190bcc7c98645afa7b6f74488371b974d14da48d7379b2cfae6c8c5bc878ed17d0f9f4c4e62138bfe416cf9a1be31eab07e062c0f5f55ef811","ssdeep":"","tlshash":"c71000000000000c0000000000000000300000000000000000000000000c0000000000","size":2,"data":"","first_seen":"2023-03-10T08:44:37Z","last_seen":"2026-07-27T07:00:44.992827Z","times_seen":1135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3943450e225c6a2fdea1effade0ebd89","sha1":"56469df750b12b2c1ed5849865f5ede8381f153e","sha256":"ea43a462245af07a2916cdf93717d019f698edf00b308541c18dbc4983efc01c","sha512":"853b34dfcfbeb6d4c932a655b3487a87a75bfb08c079e7422078d4e2ec1c151513adaa5414c3ae267e19e2161852123fef5136402b378595e19b0139bfb0bf17","ssdeep":"","tlshash":"2ec08c090b0dd3a6038a6a94610a43aba15184ca7e611c28ab40e0c2e68e5054066a1e","size":149,"data":"","first_seen":"2026-07-25T07:02:54.138561Z","last_seen":"2026-07-27T07:00:45.01263Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f69a3704d7f533aa4245e6bf79aaf7f0","sha1":"11e5a704728320de77d28101f21079c644136b4c","sha256":"adb064ad7f04d21017f0801899a3867082ed16d71583c6cc7756f30beb9363ff","sha512":"d12fd361ad1905660b2bc871f8d172acac2972e2cb3c4930db744248f12624d3f6410618ed13d6b45e6881d90f82078db0e2178f55b8ae4b151994ecb9ebbcfb","ssdeep":"","tlshash":"27d09730e9010300b22c1ca230a1dfe700a0c4073e00e8268a698dec08f8202c056aec","size":243,"data":"","first_seen":"2026-07-25T07:02:54.142504Z","last_seen":"2026-07-27T07:00:44.9509Z","times_seen":518,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"afb0fced528eaac5fe170b763cda5975","sha1":"8f0d85954d44c90a2fc59b8cc9297ea972774185","sha256":"9206ef16552ccd926e4421fe6ef369cbc40add64488b7e3d88350e3588a35c34","sha512":"67f6f6d5f810fc0fe5fe606415d86bc4efb11ca6df92a8d6b6d8280d1e4d731ea24b038f7525a6ac5084fac9f78f13d835e0679a1d0e3cba751465bafbcf4211","ssdeep":"","tlshash":"c71000000000000000000000c000000000000000000000000000000000300000000000","size":2,"data":"","first_seen":"2023-03-10T12:52:28Z","last_seen":"2026-07-27T07:00:44.994979Z","times_seen":597,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"207c220e7119b0530724dc731f2361b4","sha1":"7aa18fcb217183a72060d380ee0150133518dee3","sha256":"645011bcb7ff4bb41b4ecb04213d43dbbf54fef13631581a2a59f7c167aa18fa","sha512":"9c0f5f4d4d2cba1b9b96427bc6a014a81fa6fc98815e7fc6370ef28c0b65d196a6d55fc7d9ccb9125455f8eab715e16847eec069e146de094aefb9e753f21fa3","ssdeep":"","tlshash":"80c022c87b2b0c088352d9ba107b0526d86ac928d94c8760d811fb16a92a25a087bb99","size":192,"data":"","first_seen":"2026-07-25T07:02:54.165992Z","last_seen":"2026-07-27T07:00:44.965913Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f09564c9ca56850d4cd6b3319e541aee","sha1":"c3156e00d3c2588c639e0d3cf6821258b05761c7","sha256":"4ae81572f06e1b88fd5ced7a1a000945432e83e1551e6f721ee9c00b8cc33260","sha512":"2ddcd5fd66f62c38135603defc728493bc9012c9ea6abc8a9823165792136513b2c53722d2a79c0d6ea31467308bbb49eb217d151d79baf4b2085f487d0abfae","ssdeep":"","tlshash":"c700000000000300c00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-07-31T06:34:18.405695Z","times_seen":57863,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9818af84da6f96579e99ed315f69e0c5","sha1":"7ecf16ebb75bea5bc8309fbecd3e3df799ab4371","sha256":"dfa3bde638cb08d781f46d978f471fe535a642cb24d408bcc486a67c819cc4e4","sha512":"1a5cf2ca1f7c50defc0af583f15e3d2b0e392e8886d39ce5b6d213ee8e01ee3c1131a901b393f05cb8c9ea412fc2598cdbf33dd895e2d284fb9c7dc6ca080aa1","ssdeep":"","tlshash":"c71000000000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-26T11:55:44Z","last_seen":"2026-07-30T09:57:35.066151Z","times_seen":2165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b16d224a9cf9b154c238a00f6ce89562","sha1":"bf90040361427079f596e6a8daa5c6ce789e6d2d","sha256":"8d1320cfe03ab58ca10d024104587c313b2e9dbd142122d973f29c92637aed23","sha512":"4bfdbc6f94a21a7a7955caa00d6f05f6faada48c56a5e7a72f4e70bbe9c6ce01e2f76a8699e4d035e9981d03a5ab940122be0ac7bdbd6ec7405a17d7e5f37605","ssdeep":"","tlshash":"7d31a99f13b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1534,"data":"","first_seen":"2026-07-25T07:02:54.139431Z","last_seen":"2026-07-27T07:00:44.944604Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0cb2ca5238ca9b85cbde05a0c6a96a2d","sha1":"e7a5d39e6f8c5139be41d138aeb818c7b5c789ba","sha256":"65cdc6799de01f75bae65d4915b26836b836cc17ab7614020fa97a1d96992d6e","sha512":"c76c6a2b76b731648ebe5b1ed2a0f02a6b803cd96721d39dd9022ea67cfc21c068cff19624d10f4fea8058e486b4138084c49a0d85113008a8f828be99dc79f8","ssdeep":"","tlshash":"c710000000000300000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-10T12:37:25Z","last_seen":"2026-07-27T07:00:45.007697Z","times_seen":6767,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"58cf531c1b4e5d67b0c780ff6899d969","sha1":"9e997fb73f7026136c3201510d77658d59407ded","sha256":"16d4dd67cf8a92581836f38ae1673f2fb1d7d97e0f913eaa6e7e102be59cc123","sha512":"b1961e02be4ed40fd3ccf43025f087eb7528a808a4349b7a97525a0b07f298ff35062c61bf5c5758027ef410cfa58aacfdaed05ca47e4bc93ef17feeff4817f9","ssdeep":"","tlshash":"eba0220c3c083002320b2cb0888b82cbc0202330e0080802c032c08222f3a0c830be3b","size":72,"data":"","first_seen":"2026-07-25T07:02:54.187451Z","last_seen":"2026-07-27T07:00:44.96084Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/jquery-plugin-collection.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"43df0f1184c27f99fa4744b597449692","sha1":"90eb619a134d93609a1164d8ade3c2955b9aba7c","sha256":"f8af7ab9c5d9bf52b3663041d6d421b733576237baa3b8f46bc8abc659d6ba6a","sha512":"1e2309e6a9dc6c76d0fa9b917c0c4fe2a322ed1e47eec44ee27eb07453451a79c4f31ff2ba068008f4a7d6d08c2ed2c16ba536d8f71499f315a2dd6b8eefef37","ssdeep":"12288:NXRLjASMQzEy87Tpyxo3cVpU2d5k2MBxNie+iQI:/jASMQYy87TpM9JMLN3+iv","tlshash":"93054a487651752646a7a0f1a02f020bf237996ae80ac46cb5b9d8d97d7cd4c213ffbc","size":795362,"data":"","first_seen":"2023-03-08T16:17:52Z","last_seen":"2026-07-27T14:34:25.232493Z","times_seen":96,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2c033e81e5f5f3d63beba88712ff6ad","sha1":"98f27a412fcc1ba29098c5d60e0577a19d2d2db9","sha256":"bea6c2d06c730cbcc0383d0be45269737019dbd4e40dab4c786861a9c82baa8f","sha512":"6fd35b35256ea2ee673f840880503a5102921fdeafea46e81d91e200506905861eabf9dc5a7640bb37d0645e5a68febbd3a4d15c26db7ed405794c8865f0632c","ssdeep":"","tlshash":"84d0a7049119108386346d5bc282dfafe59184433e01d81b299c49ec16fc957e5b98a5","size":240,"data":"","first_seen":"2026-07-25T07:02:54.154377Z","last_seen":"2026-07-27T07:00:44.963638Z","times_seen":519,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37051dbe85a36239dda2c2d0af9b328a","sha1":"7d1741c1823eedcb9f90cf15bcec255ce4270c98","sha256":"ad7fece7cc20e7af63da127ccd71979b14b7d02c60526deb52e1e985c4f92c76","sha512":"d6443268e97958dbba496787bfab4ae71709996624ece68f1f89b66a6ee7273997f95e2cbc5c78df367005531d51eb9cc1a9296bced3259271c76314f4e3b962","ssdeep":"","tlshash":"bfa0223c3c383002320a2c20088b82cae0202330f0880802c020cc8220fb20c830ae3b","size":71,"data":"","first_seen":"2026-07-25T07:02:54.078023Z","last_seen":"2026-07-27T07:00:44.984094Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61a6f2652a0b6db05139abddb9b96ab7","sha1":"05548eab56f32db3c8c42fd2487a3f3b3ccf0ee1","sha256":"cc6e0d6af3dc4f620458aa79c4f4c0631ebc1bd55a148f5e9a06ea8874885831","sha512":"f2f89b1252cfe849de0cb4e8e8b7ee29cf99c563c5113ede3c45d470d5d14c45e0a3e30e560a79d14bfd4c46943c24a8444a1e81e4a0e93addf71ebdeaccaef4","ssdeep":"","tlshash":"4780047cdd4c5c350f157415001740441177700d50150005170004c44f311c5140fddc","size":38,"data":"","first_seen":"2023-03-11T13:53:37Z","last_seen":"2026-07-31T13:37:23.000735Z","times_seen":267216,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"49342302f3a1bf591d537268aaa3db97","sha1":"1e27d4dce5d9e78a557d902e2f9255d8f1d567e4","sha256":"217a194b2b1e9e205f2ce02d68f3d346218cf59e0ffb48dfa0f2331ed11232c4","sha512":"4214bf7801e5a15a9af9e231ca3cdb1bd8a05eb81f603da3351e3def46477af2f9a3543cd8f1cc0e19df81303618c01c3b4bd820b4f45d8be5c11a1e0f0e067f","ssdeep":"","tlshash":"59a0120074447c0116112c75c2260584b0511a0b50902401810596c002705895113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.160135Z","last_seen":"2026-07-27T07:00:44.942852Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"db0e667538ab4e563e08c53acdc8adca","sha1":"7b00a8cb6da0a073775af7b8536d09fa244594ec","sha256":"b57608c5537f1c358fa12ec9a41449489847678d160fc29bea540ebfe93b1af5","sha512":"0388191a568e959e0ee4d19304a222bd647c874b02cbbe7a589757c47da8277ca1e7afb02a3eb9803a1fdf3220bae8875aad1d8f8fd624284f0fcd32abbcfeff","ssdeep":"","tlshash":"f9c0c000f44cc39725933c2f0d41873e801b120384320c030301d8cd0833beee245f60","size":180,"data":"","first_seen":"2026-07-25T07:02:54.18944Z","last_seen":"2026-07-27T07:00:44.982845Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e3853dd21d7b37c8e001cbeb80def269","sha1":"22eab5e6d95c0a758b5105a2ca285550e4ddf4c0","sha256":"739c47988f1b9658cc13de9f615b8e5dcd2976ae3baf5442f36d6cdb7646b1a2","sha512":"186172b3a889c4e9dc3598d3d92d43b10144f04dcf14ecb3bcc6b6d6f45448caa601ab93a2b550bd7bf82f6a1905efccb9cabc88da9b70873a953a5ee0fe8660","ssdeep":"","tlshash":"4ef02d4235828222c02270af50bb60ce00b2c261af6b8e4e8a3292d15cea48a40c6f89","size":627,"data":"","first_seen":"2026-07-25T07:02:54.196783Z","last_seen":"2026-07-27T07:00:44.981605Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/jquery.themepunch.tools.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"a748a9e56b2c639013c770506f1fd529","sha1":"537edd9b364ac005df2d1c57be873945b2fecdf6","sha256":"6eabb193731278713f4208ea84b8c7334c3dfc98f01cb074778280e1df536e62","sha512":"ade8062894443994d5dc96497426dde1e238adfb9600aab7b3713ce804934aca5e12ae3267d961268ac8a146bd06754aa110006964af95e9394dfb1ea5b825b8","ssdeep":"1536:iQpnayKBPfF5aknBDU0KsIu5XOKvITONqvUejr3P99cN7H98rYx5s14/gCsBMXw7:iJfFYoDU0xVqvUejbs7dCYdInBwD0a+","tlshash":"96b329ca35517022859622a5517f0643723bdcbab4098d3cf548d9ed3e2cc8921bffba","size":110563,"data":"","first_seen":"2023-03-07T01:03:49Z","last_seen":"2026-07-31T12:54:59.327744Z","times_seen":5169,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"30ba2015f57e9fb9a3b395a597ce8f96","sha1":"bea3fe0a47418c0192788fd73b50c3b7f930a3c9","sha256":"f684f5f4f99665c48ebf89434434309281912ca6ae3283b246db5b9b0725e75a","sha512":"3db38cab3bcbb8c7595c8f0d00363bd335a59959c9d266a84b8679341c9c2f9fb4d1f89ae7679bf1c2cde13f1da7f2ec0043e4b1fbc8abdea754c06b095746e3","ssdeep":"","tlshash":"c71000000000000000003000000000030000000c000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-12T15:19:25Z","last_seen":"2026-07-27T07:00:44.984678Z","times_seen":1086,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7fc56270e7a70fa81a5935b72eacbe29","sha1":"6dcd4ce23d88e2ee9568ba546c007c63d9131c1b","sha256":"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd","sha512":"21b4f4bd9e64ed355c3eb676a28ebedaf6d8f17bdc365995b319097153044080516bd083bfcce66121a3072646994c8430cc382b8dc543e84880183bf856cff5","ssdeep":"","tlshash":"c700000030000c00c0000030000000000000c000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:06Z","last_seen":"2026-07-31T08:59:01.792762Z","times_seen":74534,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"21af29eb4a2661cde1ec2e23d5bfacd6","sha1":"7d2873f1d5edec0591009cb7c58ac0a8583acbeb","sha256":"355b175012ceed0b8437fb62d9e30416e770998561d266f70691acd8f7022641","sha512":"421539d8e4b532816aa4e443242637ff1e64519e1131ca733adb76acb7defa95088078a829c848c79f3e0c98c5065c0179d868360023547dad53797f81cee06d","ssdeep":"","tlshash":"f1c0122f63c0433609d3a2c4128f2716420991093ed51dae985663b81c3a0476068d25","size":190,"data":"","first_seen":"2026-07-25T07:02:54.080469Z","last_seen":"2026-07-27T07:00:45.010434Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c3787754c9ab0b54c83fc20e994fd71e","sha1":"79836961d0829dd4343389004c5f3bd806adeb6b","sha256":"725f4326baec82abc6db3f2144c45f09d47264f86f9fbc21a9825a9e73a7368a","sha512":"8d62d1275f3fe42a18d23ee3f8dfc60eca479b3eef7c05ad6181f2aa36b8c5ba1e937408474d57a33a742058c55f7c3f805a0b48f1f3162596be217a76e9d538","ssdeep":"","tlshash":"a8b01224242de61233322ef180131d2c603a4406425f590ec04de5c0033c0cb40475ef","size":97,"data":"","first_seen":"2026-07-25T07:02:54.156202Z","last_seen":"2026-07-27T07:00:44.993549Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2284743fe8a6178f117d584e3091d6e","sha1":"93d24c83d4a695e2a463bf66ea18a3e2147e9148","sha256":"8cf878073f71bf93dd67f56aab913b4a584f5ea15c56ea7030f96b9f26f23a4b","sha512":"7aa1cd340f7dc20e2259c9ef76fc6dd184133548d47ee9cf1c300e8ded20ae3e298748b874bb735dc639bb025be759096e3edfedd1c0396a094748bfe2734cf1","ssdeep":"","tlshash":"28c02bcf30c6da74817d001203179dc48107349f114b808743d040e400174908c1dcd7","size":138,"data":"","first_seen":"2026-02-18T11:53:38.7823Z","last_seen":"2026-07-31T13:37:22.857747Z","times_seen":78563,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.video.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"02bf3ed4a0eaebfb8eccd78d58acb3c1","sha1":"d24d3cf3002ad0f2d1aa3d17b9d330e8bb343712","sha256":"8c31c97858196d93a06ad02300c31b25acbb40b1b6e63c11c77ac6644f0cff01","sha512":"bf443cd79b8e5460dbca4a5e3369df02e8fc1b0fa687fd482a5e85ffb5ab7da584a545ece35fa9e5e4ca9e1cd87270b7a11700396974e5797301366ff615c765","ssdeep":"384:ZJf1dVyV0HW8Tn5rk4kcpNWpVbwhqASaR6R/fl1WkZtqjVM1e48ENrLHMHzA9bn+:1dVyV02A5pU6AASag+RjVh4xwzAEUS1J","tlshash":"5cb2c867f50418a5c419f9969daf115132b1fa7de0058ef068f7e2b41f3ce8220daade","size":24211,"data":"","first_seen":"2023-03-07T13:53:39Z","last_seen":"2026-07-27T14:34:25.227962Z","times_seen":546,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"53f90a23c820f4d35aad5e1fc69c3631","sha1":"adfd381939291c573a7f091f1a486b30a9598190","sha256":"c43f747e9a95c0f6b4b687850f9ddb61fc6791213cfa3bf2c08f7358c1fc93c7","sha512":"757f13afbfba4457e7c08c0ed2cc31146c8174b5b9c42a6e86d3703078d5819a577f061397bdb28f87ddd8f3dfabb09be6cc1623d83644ba6e2d1df26c15e18b","ssdeep":"","tlshash":"f1a0220c288f2032b202bc2280323c08a32f2003e8a0ec0e0028c2c20b30a8e020303f","size":72,"data":"","first_seen":"2026-07-25T07:02:54.130379Z","last_seen":"2026-07-27T07:00:45.010981Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89124fc63620d83761110bc7e1ba5df9","sha1":"7caa348e5a262dfbebc80293ec34cc3d7e03216b","sha256":"8e1dbf14ae83c99040ff15a1b7c612b72e5847b9d3ef4948fa2a29ddace9971d","sha512":"876865b27affb00d47d87210ce6c7e84373650fbd0a0917fd1fcf949a36b4c5b61c367ebe7aa5c96389499247ff223206dd14fdd197222c9dc22a8c8b19ced44","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T07:00:44.985336Z","times_seen":582,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"553043d48d6dd80a787af64045a49e96","sha1":"e63956e5e0aa636885b9ed763d13ab9fdd1ecc29","sha256":"1984338e5b6994ef452ccc065e0cbad0892b40e3ae8938d3bde4f6a76e660975","sha512":"6754bfc75e8a2d15fb5e7f309524e2b22812ff1d97cd7b18508495ab00c590eb64ced78dd0bff9aae3a5902fc2fd215cd73b76864004a441d2239777a547c631","ssdeep":"","tlshash":"8ad02bfb5811c06ffc23059213335dc910d2f20cd5993f9ab5b2b1a4392000c70d54c7","size":281,"data":"","first_seen":"2026-07-25T07:02:54.176272Z","last_seen":"2026-07-27T07:00:45.001355Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"834dec29a06aa1149f778035ffade82d","sha1":"cc71686d432a1236d2cab595573ea9498de75463","sha256":"4f36b2c33e2478b4d3ba77a2d6ee222f79ddda0c54ed27e41f3fe2cd7a62d318","sha512":"48c414ee31ecc55c83cb5b925daaaba737aca1cf332cc37dec593c919fcf0175118fefd24df9e42662593abe95e078e5c9a09ac2502aefc496e0df715b6d590a","ssdeep":"","tlshash":"26d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080e8803a36580fe05c8d903d25","size":280,"data":"","first_seen":"2026-07-25T07:02:54.194101Z","last_seen":"2026-07-27T07:00:45.017282Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"56d477e14d3afb1ffba04e085eba7834","sha1":"640b4d7232aba3b4b3f243b10228f7bd6bb27aff","sha256":"21220562832a31cb34cf0cc2cfcf17728feac102affc17e2e97d7e405c224f06","sha512":"389a61bfa0b427630b58c48dd7c72c4206a76c88e6743d446674a84c0cddfdd12b8fa66086bdf5c900937cc837841b85f9c2f47f6a03237c552af2c5766ec936","ssdeep":"","tlshash":"82d02bfb5811c06ffc27059213335dc910d2f20dd5993f9ab6b2b1a4392000c70d54c7","size":283,"data":"","first_seen":"2026-07-25T07:02:54.126205Z","last_seen":"2026-07-27T07:00:44.985926Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"59ce6228ddf62be7f8aefab2518b85de","sha1":"900ad9ac49e0c31c073d6f6d90b1f4a96cc6fd70","sha256":"8ff18c08cbe337e7e73e5fa2906915a48539b24a7fad20153b95bce97834aaac","sha512":"dc9152b4e22f588df140c33a6635b551d942579445ef185f0fa62fd31dd807fdc9bd23ce42e0a3ff8872a4ca6e9e2942f9f76a727cbb74ea049a513e9a8a309b","ssdeep":"","tlshash":"f1c080447556b1ffd6426482c05f151562550705d9549a06d3a054e02e349899091f2d","size":166,"data":"","first_seen":"2026-07-25T07:02:54.079559Z","last_seen":"2026-07-27T07:00:45.004871Z","times_seen":514,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4f15bb2d5bb35eef8ed5691a49a89add","sha1":"93dc792cd6f66b017de508d1653d257572b336ef","sha256":"92e207c292ff65d3a04f6cb843c69816f6a1520ba0907168e313bfe2f983c80d","sha512":"cab6a3bfc63b8a7d457b211a2f223bb58cfc2385f4a6a33d7f48812b4747bf0a0d7abfe7979388ed3e467ea5c6d65c688f7ab189a7f3ce0abd21958f9c6f8b5d","ssdeep":"","tlshash":"e6d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080ec803a36581fe05c8d903d25","size":282,"data":"","first_seen":"2026-07-25T07:02:54.086465Z","last_seen":"2026-07-27T07:00:44.987202Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6247dd5d2d787d98a0d5e4966146d550","sha1":"51dcfa67e8318f689e1a4589a9def15c6f9a23bd","sha256":"cbb9ab7439a233ff75c44799819b7a7de5fdb18f4e30f0236430bc751530c211","sha512":"bcdab3f3db437167cf01baaa88913e053ea2ac769bf14381fb70e62ae10544ef8f11c327a24e01218936ae2800ed21453d065820542d1222b87117980536c637","ssdeep":"","tlshash":"92b0922e6c926024a05c1116a01c008a6b8cc9bb83c814a862054cb5ea9a0ba03847b0","size":108,"data":"","first_seen":"2023-08-01T01:42:54Z","last_seen":"2026-07-31T13:37:22.843724Z","times_seen":296390,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e18eb9d0972d240f1a5456179bb6523b","sha1":"65255f106adcff2907a98e295a8e7a38fe2884c4","sha256":"3d68db2b85d5a2915743399f09dc438963f0c50f68b02df05d47a372661603e8","sha512":"bcd5a6c26fa1f7a77f5614a7b28e238701d698cc0c96ac5d03d97628d8622125cd0cfdaf54b1db96ef25320a3fca7584abd343d67bdfb9f272ca3ef8572b360a","ssdeep":"","tlshash":"d4c04c38402080e98659101c7434fb80bd7d3b973163e047da3c621c65f5d017c94b11","size":134,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-31T13:37:22.844704Z","times_seen":260201,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"12347d552552b7eb8f1aaf47a5774b81","sha1":"4701684cb61e83493e14555659e2cd07ae9aba3b","sha256":"63b85d3cc0ccb498e52cf8dc76db5119713a85031ef4a8e99edd01e403cb08f4","sha512":"a0b95f6914bf92922a13db3f81f5612e2a360e0b3bb0f6ffabbe41623a044d662e27a216d788399cad99c8ec18c5f98f481e602d672de5b3b97d5da8ec930e4c","ssdeep":"","tlshash":"6b41427ea3a4193b45fa787e21af560620726654e0158c0c813e76846cb1a4b21dbf5f","size":2083,"data":"","first_seen":"2026-05-25T17:49:28.102585Z","last_seen":"2026-07-31T13:37:22.845442Z","times_seen":18181,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"475444126b59b6560b5ae0bae65331ec","sha1":"16b0559230ab1b53f301794b74fafec31b9d5849","sha256":"29831b72440922186337a7283b1491af0274112de8d4e3795f526be47c420526","sha512":"5e89b493399ca5a8365bffefcc9b9c135c0ffd59a6d623defdef9d076104b50ec9b58f3844aae270582aea3fce0884ad5c82903120d71334810575e208199e64","ssdeep":"768:A38hGD4UrXHwUPDi7N5ygyMcLJjBsYMUJmqc7SyY/v1M6LnB8rzhnD1AQgctItcu:0nQZEgyLrpMUIzYVM6bBUzh5AgtIG8","tlshash":"897363240868a8728893a507deb5ff3e9cf816390bc9966dbdb7d75c01ec6610e9f413","size":80268,"data":"","first_seen":"2026-07-27T03:37:09.909289Z","last_seen":"2026-07-27T03:37:09.909289Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"4e226125e429d79c4c368581aa455eee","sha1":"79fa2f523a0ffb2867b44afef3e154c3dc1fb5cc","sha256":"d50c6291d73f2c5ba6b2dc494e09fe070ea0a6c0c4ce3b3c6bc4156ab944dd72","sha512":"06a7818b0a33701b90d20662e1d1a85f90f78af228c2efcf6717d56f93b7502a5cd540d471f113376717d6bd8a8b0b9f198e16a65d6412f3f946dc0e6c87ed28","ssdeep":"","tlshash":"96c08c69d3040b704270a810ab0b3b4f253700228020c845b210a60038d0b078d703e2","size":145,"data":"","first_seen":"2026-02-05T15:28:48.153036Z","last_seen":"2026-07-31T13:37:22.848281Z","times_seen":111780,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8501e99db1c76b62dea75ad32747a129","sha1":"791537ba64bbd81ed1644b015c4830d897182fb8","sha256":"25289f89e8785a11e468135cfa545b64462e90a61e62ee0bf9fe2dce0898016a","sha512":"d34b3b6f94043e080daf7804d7305efc1bade1433a80d4c6c547ab1325aceda8235ceea8bd99062a7737401ff5d767d46e4d24a972bfa88e9c6b197947041f77","ssdeep":"","tlshash":"7b1135251b715c27806a296232dfb309b8262372583c91dc8a81e365933661bbc3235e","size":1032,"data":"","first_seen":"2026-05-25T17:49:28.106733Z","last_seen":"2026-07-31T13:37:22.849008Z","times_seen":18162,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"173a08c5d6adc5c93611a599bcb2c717","sha1":"735a7301e66ae2c3584357f7bf0bf09eefb62df0","sha256":"271e6368679a21c3416e2a0325db33d6bc445d601c72a49914081b5efd0cdf3f","sha512":"cf15a9aa7e406207f3b85c7ab7d6453fd2351616b4dbb2db767ad854f866ae8256045b8cb74948f44d09fedb6c200c56fa2e2ab83d1ab997f5b0068edee7349b","ssdeep":"","tlshash":"b0800000c08a0030c3200c082008c28038802002a8f2002208200000a0032fca0020ca","size":26,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-31T13:37:22.849751Z","times_seen":258267,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d283d1818e80d7267d72b236fae9738f","sha1":"d767efc3619e7deff9a4c50b7e456bc2e6a954ed","sha256":"b74af2f4e4ad25e4cf95fbb6734cc89812d5f428e233cb333cc010872ba20788","sha512":"98c9bb90b63dc69d03fef7c9f31b78474be36d6eecda99845cb896ec6a4ad3eb19e20a2c65ce622052159ee4dab61cef7640f7e1d1b0574aca1c74db562f1db0","ssdeep":"","tlshash":"9101475c0a057d9ce90688ccc7c6a6655bac9237be003124f82f454dbae3aeb9830967","size":760,"data":"","first_seen":"2026-07-23T08:14:51.856878Z","last_seen":"2026-07-27T21:22:24.458632Z","times_seen":1879,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"385567210550a0c1e2bde47662ed4da8","sha1":"0cd76fc5cdca83a477bcfafc3beaf3bffcd6f781","sha256":"c144e84ef4992554561c2e74eea7bcb13d689fae12a19268e4d8d07266ea66b2","sha512":"c99e8074b2ac53140f93168c7d93c4ef36a085a054ff2c1105638cf2beb1fc257ec36adcb0a095d021242d5f1d7bce230a4d082707abb7c4b1791907bfe6e10e","ssdeep":"192:yzEjQfb/44TmOavb+Nvyv8kYl90sxVjoObVWpO7sTM73gcAKc3Udq6bRXnLNy9nA:+OQfbwKavBv5Y4sxVMOUE7sTMDgcA3X0","tlshash":"6822c80fa38679fcd7d15598b7a36b037cf4821b63082a1d88cba0542cddf19429b9ed","size":10400,"data":"","first_seen":"2026-07-23T08:14:51.857803Z","last_seen":"2026-07-30T02:08:52.778436Z","times_seen":2239,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"31cce1914068185ba0e0323653b9c4a1","sha1":"733ffc803ad9c202832ff9acbd464a5681602a57","sha256":"6f10bf9e2a63c22b710dbe0ee66041bb1639ab3c4ad69333999876e989854b1f","sha512":"81d6c36e55d90964989f6b1773e52a07e2326c5d47a5ccf950f71c8df0a44eae23e51b0c98df9b05cb205838b77349dc47b4340f0e25798bea2c0bef934db931","ssdeep":"","tlshash":"ceb09b0745362d1b5dc55914bc4945b12d41d56503945ebc5540951d3145027645f5e5","size":119,"data":"","first_seen":"2026-07-24T13:38:08.037141Z","last_seen":"2026-07-27T16:56:48.6614Z","times_seen":592,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d8fb965e7ead2924508e97e5326bd3b1","sha1":"fae376d0cb54d4433b7bdc9aba04690cd6cb5d27","sha256":"57bb660c2fdf4369ff8e37f99b26963dba87c120b80c443ff3d31e030ab3a0f5","sha512":"c03eb6a1004f9dfcd1f960a6ca70a77932794808f72476b276bb16f02d0a1855fb2d93d07aab7c0c040d4b3c0eb4f861a4c1a9368a27e3a6430e425ff6ed2568","ssdeep":"","tlshash":"8e60000c00000000033000fc0000ccf00300000cc003c0c0000000000f0000c3c00000","size":13,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-31T13:37:22.852036Z","times_seen":254933,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"7ced8b1cff464c62e224724d2ed45d76","sha1":"bfce0df732d9221d328a366513266e2bb921cb91","sha256":"b75fe1832b8631aa79948f6a7398344f1064ae06ecf8a836fb4c90b3e3adff3a","sha512":"66bb330f5a8829a4786fa806d3ba5d177f818852deebfc1c81c1b766ade6b694d3e318db45a107edcaea5cefbdab5e523ff286d334107c1e6aaa156d1a20cc08","ssdeep":"768:J6Sc1JOouRxRhoPPOAnMykwc1nMFvaACo/vtPKi6D1dKxlEhJZfctXs:pXho+AnMBbnMFvavwtPqLJjZkt8","tlshash":"bbf2e0cbd2584ee22537ef63fa9e1a3e24826925d45560e26fd095bd38f0853cd9c0e1","size":36863,"data":"","first_seen":"2026-07-27T03:37:09.914026Z","last_seen":"2026-07-27T03:37:09.914026Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"819d7a938dd7dcf576288542c3293053","sha1":"8de08c839d3024c902985c27a2dfd2352d0bcd49","sha256":"c22874b84f1c3ae90b2639a7b206855414d38377347aef5f8182a2d8af8c131f","sha512":"6ebd3a70e8a2ef35475e617fd51f3a8d0257eb037bc86cda1965e800198046597df7cef13253f2ad5131caaba3159ce569593623f96864f7a8b4e257eec26ff3","ssdeep":"","tlshash":"43a02223c028c8232038002000833002e0080320a800a00c030a830830e880bff8888a","size":62,"data":"","first_seen":"2023-12-24T00:07:31Z","last_seen":"2026-07-31T12:19:48.197923Z","times_seen":5916,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d224d956791813697309740c0fbcd15e","sha1":"2418655004b5f0f64a6e4075cb8ac4b53444421d","sha256":"48c035187614ea92c5bf66cec55cf8a9a0a30eaabd1bfd51234d0d5e44c93d65","sha512":"c1005f866f7b788b9fd04d3374ef4405bbadde272bf42c4bd0f8cf942bf1e9f6ebd13d50284f2eb5da4e5fd783c16dd4ef54f7e24e8eaf62496d2e744ffe13eb","ssdeep":"","tlshash":"ea8000083e08ae00800238a0280bc008c832003a0c20880000c800a80cbe02e020282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.182324Z","last_seen":"2026-07-27T07:00:45.02827Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"41cffca8e35a84d3f88f9a25719e1bcd","sha1":"7dc2fe5ff12a7a0748d95c710eaf05536eaf88e7","sha256":"c950106fab05530dced5c2d95d8c8b0082afb6c2434895b968e7e8a208b8f3f0","sha512":"1d6080e041f9cd50074d23dfb1b15d5197813d1c0668dd6a2cea31f264f590029644e6912d6e1beef5931bb634ad4fbac05e1c5dc3d2f9eed4b217a58dd989cf","ssdeep":"","tlshash":"74e026c771603759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3806","size":338,"data":"","first_seen":"2026-07-25T07:02:54.168496Z","last_seen":"2026-07-27T07:00:44.973784Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6e6b4e7c1a45993ae64f9aaa4672f019","sha1":"81ed544bb4656d12c73eff1d5fe3911a080f8c51","sha256":"4da86e48d9b22ffccb648bc40fa2df935429b12e5903bdeb308b218615df64b6","sha512":"5b788fd445160f1aa102912f67fc8b92f90f2f78e16690e093896b972e1a73c2ee56f3fa14c6c7261cb3aeccedcf2433d7cc65db8d881b09554b01640d3a9faf","ssdeep":"","tlshash":"158000883e08aa0c000238a0000bc008c83202022a02880000c820800c3a00e030282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.185612Z","last_seen":"2026-07-27T07:00:45.021194Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f58a7d86186e19db84e783bc06177a55","sha1":"8002a6aa19ad59d43ccc8b32ff7c6d561f9e1259","sha256":"41cd1e4850b992f8c433a1a085a6585a8e79ff96413f11e360a6743babd8cb93","sha512":"be81de332fa854c02257328706e95326c7aac28318d95e5f910a68f7b74bda38161de6fe6040a2d41ede8941285d69e4e4b22554f2fe5f6a1bd2473a4b4dd366","ssdeep":"","tlshash":"42e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c412a2ced569cf19","size":350,"data":"","first_seen":"2026-07-25T07:02:54.088205Z","last_seen":"2026-07-27T07:00:45.029481Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7bfa335530acd41b8967a37e1c3e076c","sha1":"bdd8d14050dd0955829601ee023b1d449a9dd9b6","sha256":"ef226bb136cc66226cb2c478dc58478eb1fde25b90960098b4b48eaa64465b23","sha512":"feeca3580d39cf46c2d2f6719da557fdafd0278ce21b7e2710aefe013293c853c0ddafc3045baa1fc2ccc483191b5d89d47cedb49a52e3c55012e4718affa3ed","ssdeep":"","tlshash":"97c02bc49d5110548141e0bda13e215a30cab1031c200e10d730c2eb7c357d4100f74f","size":138,"data":"","first_seen":"2026-07-25T07:02:54.178036Z","last_seen":"2026-07-27T07:00:45.027665Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"6f2dc696d3e2c5e8b0536728ac5a3aea","sha1":"8da6a7915f0b3ff607db13862fc417574d8d4999","sha256":"4036991c2199a96276eabd866d75631508768ad958639f2ef3d985061bddef47","sha512":"481bcb7979552bb2b61e9faaf2cc6abdeeb36c7e5e4e0a483ba1e93c62bea4c29bd94f525ec183b9a9bb4518f02e3e9748be080d771f801fa3cc7d4e73a09116","ssdeep":"12288:Rhrh0EencTyXGld16WDVcIm4zDSG8UvCeoBJjlXc7WPz6/wWXqkZTNvl6hkTeubf:R41jofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"a2159ff0b25271b4d147b926fab7c003b57e4903e2081879f0a7ae9c55fca942e77729","size":942843,"data":"","first_seen":"2026-07-24T13:38:07.888738Z","last_seen":"2026-07-27T16:56:48.650117Z","times_seen":570,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d80d99d7f209071a284c9ab6d14accf","sha1":"c91e7389c28a7b35eeb114484808a20cddb8c20e","sha256":"0cb21d1de060008bab472c15c63e6f15828de601f85deff00d701d26c0f6819a","sha512":"59df0ea3f533182f0884e52768ba3b5b1dea918c81a430aed117aa60584df1bfc3569ba05dc9c95426cd97513318e2bc4272ec2771e3528117cefce002576740","ssdeep":"","tlshash":"0aa012b01c1dd3d81271c03118250410d6cc2205f8260d086219825248a81067f02014","size":83,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-31T13:37:22.958777Z","times_seen":339711,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c498f21d596cab179eb2e5de92013857","sha1":"8a29a189198796bd164fc566e952884b07496fbe","sha256":"cd5e183ec113a6429535157117bb1ddc54f96b68728ca66921d74b20f8e4c15c","sha512":"4904d4f49e94e06750ba6c2783c51d29ee20d33aab48ea66ed7cb33796e8225b927b0de33aaa23af79e583f48e5d32db88b8ccab4053d59cf0ac4bfd93236c57","ssdeep":"","tlshash":"e770000a3c08a000a22238e008cb2088002300080000a80000c000800cb200e202280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.145555Z","last_seen":"2026-07-27T07:00:45.018968Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"130c787f212b30dec62fe9d1f64adf89","sha1":"0fe829cf5728aa8f881b127725d34bff3e703f22","sha256":"50560cc380f1458be9737fd2ee27daea8b9426db77b4b38ce5554e4a651ad09d","sha512":"650a479f750fa63552a1eb884acdc1d5a0ff7136389e396a8c311804d6490e8657b6ac81855d1d7633a27309f79c578d0a4927e35cded386db1808d1e5d8e017","ssdeep":"","tlshash":"fbf02d135782b7b2d04a560b50cf628806b2c032ec5acc8f1a33e2b40cb888a209af85","size":621,"data":"","first_seen":"2026-07-25T07:02:54.169445Z","last_seen":"2026-07-27T07:00:44.964235Z","times_seen":498,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eb7194ac9d6f5a83b6c7cae43038d2ef","sha1":"9b1cfda44cba767b72373d6df56249b565efb634","sha256":"eb2bf66d92707acd8be84dbfcca1376c2562c4ec94a4d87babbbe67f4d125aae","sha512":"7ae1e7cb8edf692da592a8ddc798f6f564f5ea0d6fd6919ee5c86ca95d983d15e707615cb6ff6623c0951e0eca8a4852f1d8d8596f985ba3e214feb47bfcb886","ssdeep":"","tlshash":"6390025969497099203710e0425e292640d2c40065544041961494f65434b17d531c6a","size":57,"data":"","first_seen":"2026-07-25T07:02:54.098994Z","last_seen":"2026-07-27T07:00:44.998879Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"219505d4d5ae5b145370ed3cef98cfa3","sha1":"89498e7304c8074715c729700b3955fc065531b0","sha256":"d298bd11845e65f3a66d13d3a5ab32c91d5430be6dd23c2bb70ef16c03e21751","sha512":"c169611018ff9ff3e5d894a922f07106d329ca6d9668b9dab35bed80b825bbe371edd8cbb5a63171e6f300470e690bf74d7704b7109cf78b286207e396916335","ssdeep":"","tlshash":"314000000000000000c3c000000000000000c000000300000030c00000000000c00000","size":6,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-07-31T13:37:22.874516Z","times_seen":175666,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a931635074a5017da74948b67e16c76f","sha1":"a6799582ad16a7c1ab8221c166268130df6691d2","sha256":"1fb437ac78114eda813a7c4d5771b6d3aa34908a5ca3b743d5eb5c79088cf82c","sha512":"7c96bb515bdba9ad60854b433d24e77982a321dd7ca71599fd8f79acee580802f56829a5dbb7f64932a51ad50d18a9438251a6ad8127ad2b2e332811033d2c7b","ssdeep":"","tlshash":"a5d023cc3941f262d06274b9041704dfd173384a1e1cdf4184154875667c5d9407f4c4","size":206,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-07-31T13:37:22.929124Z","times_seen":208159,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"86649f7e1c723028d2f82b2c50600d69","sha1":"d054d66e4c26951897c16eb69e57f9803279cdbf","sha256":"7c890a86937b21a7c49e2b3888877244c5442926548497319e537f237e78ef13","sha512":"82625c492170b8a8bc520d8e53c837ff8b7f02e4dd0e442c24edf74abdae64db605c53ef7171b7083f234b32d79179662aada511875ce13842c04185e8111905","ssdeep":"","tlshash":"c3d022072187ddb6a2729804030afa15b0ff100b0e262606f3c885026734b8cc262997","size":212,"data":"","first_seen":"2026-07-25T07:02:54.167434Z","last_seen":"2026-07-27T07:00:44.942215Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7121a3428492966c83430108c81b0128","sha1":"faa54a8131b597a6b972810794c8ac848b67b351","sha256":"6ece104aeb4ca53d9261705afb936cd0bebf554bd318f77613325b124a234c24","sha512":"8f54791b217786c95592d4411cc15e5cfdc7432d5db0617f60ce69a260cee1e7fd968b441bc4a2e40cdd6af24c25051881dc4b934bb3458a152b4503d52e13a1","ssdeep":"","tlshash":"c710000000000000000000000000000000000003000000000000000000000000300300","size":2,"data":"","first_seen":"2023-03-07T23:42:40Z","last_seen":"2026-07-27T07:00:45.015529Z","times_seen":2610,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"16c0e822a412e900773f94265229b860","sha1":"3f7b94f3942f43c81bf6104a63328a04122f46ef","sha256":"b15fdefcf464539466ed442882025a3860330cb62ac4613d91e8a94448850155","sha512":"662eed3905e417a9d5d68d7a9aef8c7eb97df1e6c03ad095fe7bc3f29a7820cd4b4611afd58f3ac95a91b71d7c45daeebcddd1ed5092d85b6d678b40b7fbe88f","ssdeep":"","tlshash":"60a024005c0c45013713315144370c0750d11107f0f44d0f430dc05017305050744333","size":75,"data":"","first_seen":"2026-07-25T07:02:54.207231Z","last_seen":"2026-07-27T07:00:45.031352Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac74e3f51cb94709e1948a70433bdfc5","sha1":"76d121cd4e0c881523d60b8dafc1b3589ae5b2b9","sha256":"a217633e7706a1bd9a42b4bd78d98f44f81e614d34e42aa97562232e0a0ad14e","sha512":"d002a88da3d454e2fac7bdbe5704290b8c7c6d1eb2375744991a1514e9fe83cfe43438c67667d42aa12f2de01cada231171ec95288d671df022d4a7f4d1eb06d","ssdeep":"","tlshash":"2990028430426c102202e0612a9a69b6d175448020199164f0951044392545d505bd0c","size":51,"data":"","first_seen":"2026-07-25T07:02:54.16226Z","last_seen":"2026-07-27T07:00:44.974362Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f9f2d672039ed5d04839b769ad71e1b0","sha1":"9a86054ee3627014bb2f372f939ff22772a90aa5","sha256":"ef099fcece6eeca3777d0d4a6ac606beb557e08dcd95cf93d0d42a0334329c10","sha512":"52923fb4476412cf751131a95f749956c1a4c83641935695522af4434c3c42047820db169481885cb549e9a6a8c5ffbbc6ac49ad08f246612debd54bd3ee68e8","ssdeep":"","tlshash":"c71000000000000000000000000000c0000c0000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-08T15:11:30Z","last_seen":"2026-07-27T07:00:45.011529Z","times_seen":2711,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2cc43ad532377e05783b919d86a896d9","sha1":"69e00bdb15ac21186c8d27764e6311759ba5b99b","sha256":"007cd5f5a967155b6963ac5de46c369ee23237414c3f576b4197fe46229808ce","sha512":"404182f4b51a22a4a35e58480d372a65db2465803ca23913e379199413edf84fa74dcf0f92026d8561dcc35bdff981cb98a38c8f50ae05f7224e5c7b42b30c92","ssdeep":"","tlshash":"2cd022c93c4978d20279238888ba01f7e2fbb8dc78068b40c32442002a3ca3a5464402","size":199,"data":"","first_seen":"2024-10-31T11:08:50.83142Z","last_seen":"2026-07-31T13:37:22.86574Z","times_seen":156046,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5c244fde4e6f1ade71beed5c11edb59","sha1":"6bc634a7f8505a2ce340807aecfa1e50c2a578b3","sha256":"d561924e4295103128924509bbe71b3eed6625592d75ba3cc35c365189d6081d","sha512":"6ed66e7a246ab961cedd150553b6a9aa692988813dd4ee30c8b7d78d80bb8765a828112c6860d08eb382cae34e22bdd76ecda5ee1c9c7ee25a49b1d2639474f9","ssdeep":"","tlshash":"966000300c000330c0000c00000c0000003300000000003003000c0000300c0000000f","size":13,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-07-31T13:37:23.005708Z","times_seen":174694,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"2babe71f4aac41f7063d750fea2efa6e","sha1":"696a96b5c1c3770f260aa899308fe5add72d64a7","sha256":"fb891087fa6f5a4f315c2a4cdc0d081b7695a1398591f0dca10cdbb2f10d977c","sha512":"759d51290e1a2c13ddeeb24c26cb1524be7e0206d15f0bb933990bf3708bdbd8981936bcbef2c094b40695980c745edb95a10c84f65b2445901f95418f9918b2","ssdeep":"","tlshash":"4f71da0a44b554b649678a268b1e0600d4b2801f6d1bbc20bf8c83a5df0e61fb3bf3dd","size":3647,"data":"","first_seen":"2026-06-22T09:26:32.245671Z","last_seen":"2026-07-27T12:40:24.638558Z","times_seen":12,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"27c4befb4b9fde603fa4cfdc5381f226","sha1":"45bcec98962dfc63736120fa9036c4058a064eeb","sha256":"55d72ffb9dc09e0dd987f6173c3353c828af99836ae49d63e728bbe6e0a69db1","sha512":"e339ad5d932e7812e15816423eec6b4a5256e7db77b010e10fe5eec79463e560e1dda2beb67623ea99ca2b742f1a72c127dcae0d0cd370712073a3118225b52b","ssdeep":"","tlshash":"a53159bcab92058ae0ebe781bd55418e10f8b55bd543ec157e4c06601f83a3ee0aca78","size":1691,"data":"","first_seen":"2026-06-22T09:26:32.246474Z","last_seen":"2026-07-27T12:40:24.639281Z","times_seen":16,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"0ca09c802bc90051411e3e66d5729acf","sha1":"fb374e3c8cc7eba282b64ab51213b28a6681220e","sha256":"daad6b478d891e006965e30237111ab10faa8f3c98a57cc4a30ffa6173dbbd1a","sha512":"f6a8916f3fe38f0fc0179664830f8f79ecbbce1c1908615038b4cb401c0101246ae744319dbf1ee11f05cc0d8d3556206eaa0baee5650ef66eabc8c577faf812","ssdeep":"","tlshash":"ffd0a943b030010e08aab11ae381a9c876b88409013e4c247642a0cb3cb3fac230c0a4","size":213,"data":"","first_seen":"2023-03-07T13:23:53Z","last_seen":"2026-07-27T12:40:24.640003Z","times_seen":111,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"824339e958b1736e2f5b7d83fc111723","sha1":"d020f42b7d65a124f147b892a78b1cbaf39a2547","sha256":"d42cb40dad6830f7ba8067c0a27ca7403034fee8e5f54e56fe3bd9da01c5c602","sha512":"3d81ca31dc452fcb76a6299429dc0771cb1f9c39afd33d54fa00407864e91234a806bc128042ba24aab0eb4c29ae28ad8379be18136e8692fba6c3ef6557dd84","ssdeep":"","tlshash":"96e0f17d3c3440904b9350b4c0bbf2387e0a30744041c91394da982c1cf1fcdbd05594","size":416,"data":"","first_seen":"2026-07-27T03:09:07.800319Z","last_seen":"2026-07-27T03:38:03.791351Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/custom.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"7c5c58ac096cbb1ca991ba8048faea93","sha1":"b99d4d8998c217918d7d076390eca22af5331e75","sha256":"02b07e8f0a652edd6adee2df49a0ad60d43086aa6d8d0564aba8ced11021773d","sha512":"c8863796c2668d2057478bc7783007340eaca3bcf2f3163d2bb202eee5202145de08a65343c85618b209175f1543c71de0360829a787075ccd1765b9e23645bb","ssdeep":"1536:QpPSOsM+V5G0id0+/Vyus4us8RHueu/8H:QwOX+V5G0iA","tlshash":"12b37305bc91205294bbf33eaf3f6109fb75522b92019b657cbd46540f7260492aefec","size":108541,"data":"","first_seen":"2025-07-07T00:18:26.204185Z","last_seen":"2026-07-27T12:40:24.605498Z","times_seen":20,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6b74d263b2f181bb8c759bdb049f2cca","sha1":"f4ee289de7015e0faac2be30edb6240a6d7c6139","sha256":"e5a9bf69c1f1f7fa5574037a92b8b3dfc6ba7b0479d1d9e7347d39a0bdc41753","sha512":"10bbf90be8836779b50b0da8ce0f1773f474e604cc0d10101267cf42c41ab78d27a2609f824a3493b235650ac7bff8777cc297feb6a000dd7b6aacaaab88597c","ssdeep":"","tlshash":"527000083c08a200022238a2e0ab00280022000022808a0080c000a00c3200ab00a80a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.203661Z","last_seen":"2026-07-27T07:00:45.018417Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2d0b50c5f3341004fc9eb0180fbedbf","sha1":"a61e5ec146c93a860130cb8da7142fa3d1026a4b","sha256":"9c8b8d8ede5390dffefadd3c93c2cba6763f91fa72ec56525f683cd02667344d","sha512":"862f887b9b3c5580acb5d98a1e3c047e6c07f5fdb963069083a16c1b6a8380f5af6fa58d032da5b3756a57de86cfc388c7c7f96a9dbd5f0e0214407796ce8e38","ssdeep":"","tlshash":"0ad05b40ab0ae553904e3cd7c69ed9251a9155672112c01171216074d4735e487467a1","size":260,"data":"","first_seen":"2026-07-25T07:02:54.164149Z","last_seen":"2026-07-27T07:00:44.966501Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"644dc335ba482697b43192f5bde84d9c","sha1":"fca03ed806772ffcb1cbe9621bdf964719ef1569","sha256":"76e4392222a281443de945105b1deb3a14a6b53bb350ad127d42f13f5a81ee21","sha512":"8be06ff06adc228081ce796af04e081862bdd46ee0a4388d6f8a928c423eec8e167eb52e2a40ed444812fcc4fef2774349c253e0aea07ffbc1df69ec478869a3","ssdeep":"","tlshash":"6e7000083c082000a22238e0080b200a002300080000ae0000c008800c3220aa02a82b","size":22,"data":"","first_seen":"2026-07-25T07:02:54.150082Z","last_seen":"2026-07-27T07:00:44.995713Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"96d66a4d9708fdb6dd5597f3bbc7d624","sha1":"e10a66fa8a836f6f948941262b70e1fc928a446e","sha256":"3cabac574ada654802fc1c4518d870f0791a9a3ac31371677e75fb683e47ce89","sha512":"06c25bc4dba52367cbe19252c1a013e1714a198141d139939944422266aaaed60ea3953c5d0f890a7f9ce7887c5f2a4cbb47173d06f829d50ac33f6f353c015d","ssdeep":"","tlshash":"ebd023cb729c1114574337141eef0448bc64b4d70dbc941d8649581058011ede03aecf","size":195,"data":"","first_seen":"2023-03-08T14:47:45Z","last_seen":"2026-07-31T13:37:23.00669Z","times_seen":208193,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0e976b756b6afe7f40bca206a2d7150","sha1":"db9bee9a7bba93a60330ec5ef1334d9c164fcd56","sha256":"029b84af88c5d6ced58173997a15fa47011e198e5449027d87e2f7b871f332c2","sha512":"486596b8b7d88539b3147ed55749794ab08962047191f33ff9915fd4e4a8a9a24bc164c0d44f24357b6e9dd72d1ccd88f981aa0cf2c7df585a83000d4baccc9f","ssdeep":"","tlshash":"3f8000883cbab30e8222283223ab200aa2ae28c232088e00a00080803a3003a8032c0c","size":29,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-31T13:37:22.882241Z","times_seen":246640,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"11721f4fe0fa20af0333c7eda891ca0f","sha1":"372c3c93f86eb46b9afffaebbf49c82cf42fa466","sha256":"ef2a3319810f3ae9cd5948f3229bc195d7b1558846487473b21a842f9d1b503b","sha512":"0f12b9a1099d5be03aa05cb2c7fda09fcd3d47094ee1973d5beb44d6651729d7c7d719af6b57981f3a39f9024ee36e549167a21724929930e62271547ec0e3c0","ssdeep":"","tlshash":"c7100000000c00c0000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-29T06:54:58.778431Z","times_seen":3057,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"25607f1ffaa7d1ff142e22e0e8ae6779","sha1":"207c150da361f4c91b20acad7c60918a9818305c","sha256":"8495a59d9339a0440ffe0861eaf8f3248dc31cd6f5e5447e07d6e6d376b2002c","sha512":"5a76b2517dfa3140c30a7a50b1d6f4d49ccf641725897a7d2f2131e4638d97279de45263ebb59371c7dc55e1204c94afd08eaf294e6cffb62e94580ea47223a0","ssdeep":"","tlshash":"6ad05eeb6b0f267900d33d34090b0a546a56c401ecca14e59711b8dc4f5460b40f3d2e","size":242,"data":"","first_seen":"2026-07-25T07:02:54.140729Z","last_seen":"2026-07-27T07:00:44.998252Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61e9c06ea9a85a5088a499df6458d276","sha1":"e2415cb7f63df0c9de23362326ad3c37a9adfc96","sha256":"fcb5f40df9be6bae66c1d77a6c15968866a9e6cbd7314ca432b019d17392f6f4","sha512":"61037724a2fb00a12fa8a53ada233f54ff7fc6ee02048e579b83a127ce79fc03906c35b5307beb18a3cf5021fe031ae6587448d4d60a082d73252fe2e2f4ae7f","ssdeep":"","tlshash":"c700000000000000c00000300000000000c00000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-30T13:50:30.855037Z","times_seen":79775,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"08a4415e9d594ff960030b921d42b91e","sha1":"1f444844b1ca616009c2b0e3564fecc065872b5b","sha256":"27a84712e4b22c415fc544d55cdee82327a829f96d03329457f76ebf9af4dcaa","sha512":"2c9fbb3f289c28bcec752f021d36c3a14b86140bd82942b06c0838931ce5999c1fd0b297b9bdb24aa145fc0244b7f3824c838d26ff7c222ad7663ddfb2c066b4","ssdeep":"","tlshash":"c71000000000000000000000000c0000000030000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-10T01:16:47Z","last_seen":"2026-07-27T07:00:44.971519Z","times_seen":2058,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df4ecf2995d9a4760b6fe2b232d66a91","sha1":"21dfc49632cd521980c8fd611315a62037b83142","sha256":"1d0ddd4ea3351d60237f5374532c094863db8fee5d00fdbb477612c30630d16e","sha512":"3f1e696cd9e7f7b05b35195d7967fa6fe8332b9e921ed3077b855283e083ddb38d878f6509353e11b40c8e9f2e2799dd820e790ec46ebe93a9da31576028c336","ssdeep":"","tlshash":"9ee07d68664571642f929e46868eba88d68a404dc071c9022629d0c00c745e4903de81","size":305,"data":"","first_seen":"2026-07-25T07:02:54.190462Z","last_seen":"2026-07-27T07:00:45.022381Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac6dfa045179132aefaf73bbae961f84","sha1":"5b4a09943ab49ca1438497710be50b54077e9374","sha256":"18437a515c82285b4cbdaf60b46bdcd426eb4514c03ebef4e2e4a3caa0f75497","sha512":"df27138801c468c597084ae71e58544c6d3b95e9d57d3bb003339aa035e1e04eb7b85932f01573eba17613500cd7bf65d9de52570fd0dcd3f409dc5286d5f155","ssdeep":"","tlshash":"a6b012185c0835193f336ce99117681ed0b0dd06c4b4b90d8004d5d402a404e5051cbf","size":94,"data":"","first_seen":"2026-07-25T07:02:54.141577Z","last_seen":"2026-07-27T07:00:45.030723Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79563e90630af3525dff01b6638b0886","sha1":"68d2ad23b5e1102797ff78d3d0d55d97ba75c268","sha256":"9e507a6dfbf98393bbf23d487af7f1c5b2e8ea0635e3f0cddeac3a9a090a3dbe","sha512":"c11c66b5e92dce18ce4e6c7c9d956d09afd5a734c046f8fe645653931de1db0ef639567724e65e48f05bd922a78fa1547c86996fd5de1a62573c4cc2f46d2300","ssdeep":"","tlshash":"c710000000000000000000000000000000003000300000000000000003000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-27T07:00:45.007103Z","times_seen":970,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"83a77a8fa8101ab38a74167392abf2af","sha1":"ecad96d097ab2adb9729e0b0c5f8063e6445e4c7","sha256":"7e8c17ebc1c4489f3752972cf347c83e9eaf85dea4b84c375746377e5216d9d3","sha512":"f2250fb803e1cab98bdeabfe1cf415d3c7a2f3daf7d4d2e650196e709a5aff915427825b1f5e403dcefd704b290b091b69cb1fb437f6e5f69c7a1023a23f0c5a","ssdeep":"","tlshash":"c71000000000000c00000000000000000000000000000000000000000000000c000000","size":2,"data":"","first_seen":"2023-03-26T05:54:38Z","last_seen":"2026-07-27T07:00:44.949685Z","times_seen":7712,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"24cc3dc813f384fde380df619f1525cb","sha1":"56399e3ce57ff98d68c7de98a563e572230dff6b","sha256":"5421715bbdaf2550e31d10fc28d444310a8fe7147bbddecf0abb490358a1553b","sha512":"fdb6e7d3b9452cc36c1e877ebe47c50c82fd413f2cef945f808e47b081da88ae6aaac7aa14386687c59479e19c856f6031d7ae666fe9c5b54a0b6fe37fa062f7","ssdeep":"","tlshash":"027000c008088802080aa02008800080220088023e0a0e0008200000832000280a28aa","size":19,"data":"","first_seen":"2023-03-07T01:02:05Z","last_seen":"2026-07-31T13:37:22.92244Z","times_seen":235948,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.migration.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","size":26101,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.073108Z","times_seen":1645,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64e1e1cbe1ca8e88ef3a838a3e7b57d6","sha1":"5498d9b96ed2832e04a90c4ac2ab71f869b2bfdc","sha256":"0510eddd781102030eb8860671503a28e6a37f5346de429bdd47c0a37c77cc7d","sha512":"44ee2764491048592021ece402fc174f9f4d95cf25dd7227e1029cfdfbc6f574f811fac940495ee0db71db3714c70d7ee27c142876e4a191a0fda92a2e93073d","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000300000000c00","size":2,"data":"","first_seen":"2023-03-10T03:04:09Z","last_seen":"2026-07-27T07:00:44.970327Z","times_seen":1286,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1750e9b76f54961545a1edf5b6bd9a5f","sha1":"9bdfc833f7e055821fae1f547e0abec9ee9b9718","sha256":"358ccf6ccf547b6106792de57295c558115f2ba6f5764c19a638c992bf90aeb4","sha512":"62c097d4b1fa74b247955132f63bb4b06f2ff9fb5074d68382f0f7d3233f82bf1a62b3153497ea23bb745f3c9ecb3c50602bc9484759a6b8b74939944750dcae","ssdeep":"","tlshash":"0fe07db0258123422174df79f0f3120430e172c67e48ac8f51256b429e388d1142353b","size":316,"data":"","first_seen":"2026-07-25T07:02:54.202304Z","last_seen":"2026-07-27T07:00:45.028847Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cadb00a60a3fda71b0a59c1eaa577422","sha1":"81bbc75ee8276e534256b7a30dff2b86c5e0c893","sha256":"834021cef72202c07f1e4b770a7cbf84adf11afa2f1527353f4b35cfe558e977","sha512":"437459289997803a93a4e734fc87ee0896b6fc58ad8971d9898488ca77f0305953f17bebe1ee4f0dd90c0987266edfd1241bff7d32c08f3bb103129b1b1bcfbf","ssdeep":"","tlshash":"08a0228c2880afcc00be3a28222fb00030a03032028c083c03328000af3008c30c03fe","size":65,"data":"","first_seen":"2026-07-25T07:02:54.119796Z","last_seen":"2026-07-27T07:00:44.974926Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"04349b75733f9a34b4021b587765005c","sha1":"6070a8a928fcfb84d659883893b6917e124ca898","sha256":"86d8798669d148db9b83305e628958589e0a0699eb4c5176a49445d3f4b45eb6","sha512":"951d0dbaee27fba356c6b0b3be78b59f088d48efe1d065da056b3c37633ccf9c7ef5932f08f294d5b5411fa7dad37f6cd9f9191bbce94af7c6e76e69eefa4cd3","ssdeep":"","tlshash":"a731a99f53b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1536,"data":"","first_seen":"2026-07-25T07:02:54.188598Z","last_seen":"2026-07-27T07:00:44.990878Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9e6f21901550fc1605fc3b7bb6220df5","sha1":"2c9aa881509ef9f0bdc5a0e496b852467b52bd1a","sha256":"d68cf2832956cf0a7b5ce50801e57f1a4aa9c959d170ef458bc12ee7a8e26f5f","sha512":"fe48c482cef77538444ec38384fc51fd461c90e228bcc2be17c1558ea1937e26eee63a2ea7fd01969aa1132b1413d738bc023fc6ea286b151dd8f8267278ad12","ssdeep":"","tlshash":"6ca0120074447c0116112c75c2260548f0511a0b50902401810596c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.172421Z","last_seen":"2026-07-27T07:00:44.980375Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"909822438f3880445c5535efb48b46d9","sha1":"00685c680d8f0bfb3dda3154539bb972552fd921","sha256":"894963ac612d3c872d00cfc1a926c6f034036e99512409f06342bff53d723689","sha512":"ce5816d0da41ef048fbcd158120239337d58bf594db8b7deff493beb436c5319220f1b01ea03fd9f4b755b4fd43155f23271e1e27078167041feb5c9a784699f","ssdeep":"","tlshash":"f9c08cd873b61824c2809a73a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":156,"data":"","first_seen":"2026-07-25T07:02:54.13346Z","last_seen":"2026-07-27T07:00:45.030115Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"accb66f0ecd826aac89065990e1da97f","sha1":"3c5339881a1720deed325383e8c3839b7748d254","sha256":"ca68fe3f50735b174e950c34f54dc1f4469d57f94c55f259174e8ee730ea86c4","sha512":"52408933e4d4f3fc5069da409f56adaa898366c9c2b71abc013277b38aba5e7dcac15868ffef3495cc1a64af8cbe1bdd7dcf79691ec2b15ac2eb8a3fa76f3370","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-28T05:14:50.047301Z","times_seen":2847,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f3c46dd141ed0afa02a1b3049bab0729","sha1":"0f9b6e8412fa13b27e3af2816a112bb28a04a735","sha256":"4962a69b03ce9dced7bd2f588eead880ca97dc93d3fd354fc911d8b6b815d11b","sha512":"006dc0d7d1ead7ff5d5cf02082d1aaebb3dfc2a9a046c9d60bddadfcb9e0ac4702e9868970fb61a9af4bf366d76a03d09a264adf462e9414296dd0d749c136f3","ssdeep":"","tlshash":"9ac08c090b0dd3a6038a6a94610a43aba15284cabe615c28ab40e0c2e68e6054066a1e","size":151,"data":"","first_seen":"2026-07-25T07:02:54.100897Z","last_seen":"2026-07-27T07:00:44.977956Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4aae7fd3c815b1cfa3660cb3227a214c","sha1":"4531c0c13ac8462f9dd8f0dff0e13b1c3e150bcd","sha256":"cca00c516ba05df351915a75df4db57659d685c5af3622cedbba3c6b626af2a9","sha512":"c2f67d5e011e7ad703ab55ea89f91fff91b4245f5294cb73ded819757eb158102fd038f24b175c1f6eae717100cd63d9e9529cc90d124cd90a26ab4a1f650d4e","ssdeep":"","tlshash":"4d50003c30003000c0c0003000000000303c000cc0c000c0003c03c0c00f0c00000000","size":11,"data":"","first_seen":"2026-02-18T03:26:52.257023Z","last_seen":"2026-07-31T13:37:23.001595Z","times_seen":83364,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f465da03521180d47c811a98c793a2d6","sha1":"9b76105ff4c8bb84cd630914d772f4cc73df0155","sha256":"e8183224e440eb4578fd87c4c47735f9ede4c43b1c6ebbdcd7033e98aba6a009","sha512":"b10685b1bf88080c98cfa2493e4c1734797a6ee17e9d59ddd7cbd685a9596d4c908ac2a12be9ea2aed3f6ac67ced98f3c6e76b1882f6c0731d1dd60ae5de4156","ssdeep":"","tlshash":"7450000000303000c0c300000030300003000000c00000000300c0000c0000c0000000","size":9,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-31T13:37:22.946792Z","times_seen":185678,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/jquery-2.2.4.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"2f6b11a7e914718e0290410e85366fe9","sha1":"69bb69e25ca7d5ef0935317584e6153f3fd9a88c","sha256":"05b85d96f41fff14d8f608dad03ab71e2c1017c2da0914d7c59291bad7a54f8e","sha512":"0d40bccaa59fedecf7243d63b33c42592541d0330fefc78ec81a4c6b9689922d5b211011ca4be23ae22621cce4c658f52a1552c92d7ac3615241eb640f8514db","ssdeep":"1536:EYE1JVoiB9JqZdXXe2pD3PgoIiulrUndZ6a4tfOR7WpfWBZ2BJda4w9W3qG9a986:v4J+OlfOhWppCW6G9a98Hr2","tlshash":"1e83c6d9b2d6706297b734b850bf410bb17a98dab44c8c60f059d4e47eb4a8e507bf2c","size":85578,"data":"","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-07-31T13:12:39.659785Z","times_seen":293343,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.carousel.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"54aac3fc68b283e8ad22894408ae47a2","sha1":"8164c126f5b57e1ebf04b7440cce2e3aae7e5ba9","sha256":"6180c6c38c4e3b9ac75b0c51215dcf0d6aa5b62757be3d993df8a28ca17a8820","sha512":"35d94cffaa30b5bde92cf0400ccd3c7b309215a6d486dac7f46249ed949fe7a1ea21ab81cd48253a9fa740d2be063b7e4ec7d90051cff7b7b435d2c789766e41","ssdeep":"192:euN8q7sZ9sfpCfQcwaxXTZTn1WUCfl8YafSutLZgO:mqIypeQsZWqf9","tlshash":"13f1628460153daf0652b349966680f953fc294c672be8647cff7165085cacd027feee","size":7607,"data":"","first_seen":"2023-03-07T01:02:47Z","last_seen":"2026-07-29T03:06:32.056493Z","times_seen":1692,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c4ca4238a0b923820dcc509a6f75849b","sha1":"356a192b7913b04c54574d18c28d46e6395428ab","sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a","ssdeep":"","tlshash":"c70000000c000000c00000300000000000000000000000000000000000000000000030","size":1,"data":"","first_seen":"2023-03-07T01:10:09Z","last_seen":"2026-07-31T13:41:36.862438Z","times_seen":135226,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d8b85adc4d2474a84fbca1381afb3c7","sha1":"3815645d5a8680fd3ed4ce5a3b82f8d432448698","sha256":"3eb8abc484d33a620c974de75babdd2caae4fff7dc8daad7d860dd41c93ee611","sha512":"910cbf3ddef06885833d1127febca48a7f76337a577db0e125a3157ee738bba15ad1d30405e79e1de60279b2605f489b16d8b258fd17bc0c04bce685d65fedfa","ssdeep":"","tlshash":"08a0124823d0a000e671241804070a80b1a069046d1f22048280018d60d0682405c509","size":83,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-07-31T13:37:23.004353Z","times_seen":208518,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9a2a6b16da447c1060cd4a5c09dc8a1c","sha1":"fbe9678c38ea75b2e7379a3bc99ec154f8339330","sha256":"5e778835b3f9e816a452ab0f9acd9459861522e6eb9f61f1c9e60fdc8d9e64cc","sha512":"0808cbb678605f7f165e7bd536f3c2f0c25dc06211624161d1209d80074d262e63db1c4ce941f6da3374566ed577862582f561ae623f28000c61877b25a7c317","ssdeep":"","tlshash":"c4e0c274241450de4a47304a908d7fcc791a86ca3d483b6aa09180d1a72cb9b636dc38","size":301,"data":"","first_seen":"2026-07-25T07:02:54.177153Z","last_seen":"2026-07-27T07:00:44.996332Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5f3c6a11b03839d46af9fb43c97c188","sha1":"a7ee38bb7be4fc44198cb2685d9601dcf2b9f569","sha256":"86be9a55762d316a3026c2836d044f5fc76e34da10e1b45feee5f18be7edb177","sha512":"dddb9ec4c4ac04a2559d9b711eaa8e35475db3c4d6a7a06dde785dc83f3ed121710cb512733c8095ff346fc8601e7a73ecb53fac752010116e692b1ce73c8e59","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000000000c00000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:19Z","last_seen":"2026-07-31T06:47:36.264936Z","times_seen":86429,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.actions.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"90131555d6a196c1562a38bf8899bbe8","sha1":"f50367c2d0c711c703aff1d5550fa947c2ce1f14","sha256":"9bb2c6711f94d39796fe68fb53fa36d22b02b6b7de3759ea55176149f6023c03","sha512":"71ef0d9e205fd6cae62f58e06270eda43f7d0ded1546b1832f7f65395f4d574b4dc21deeeadf2836edee1205dc0dcabef2a39c906bdb7c4dfc255e65251abe61","ssdeep":"192:PhPa5+8MkuLnm8ZbYl+zWJc2VJS/gcBVl1h:4Behi2fz5","tlshash":"6002a346f201acff4467a5aae82b12d27170759ca206ade4f067f5a86c3cb5205c77ec","size":8287,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.096043Z","times_seen":1149,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ad17d7aaa5500fe1d163e297a0cb3628","sha1":"4607dffbd44e617ef494ece0d8770698d1541cad","sha256":"e8273aae46fb97f1786246772222f93463401dfcf2a0956928723ab6de5ebba0","sha512":"f787cdda2c4d3a5d970765c62929e3fb088af57fe2ef62bd9f8debe4064d563a4ac72ed8bd8c0425e9dc22766b1915a5004593d1b8652033d43e6d45245c3b96","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4k494v5/CTEF6:fdhuuYnFCL4MVJBJO5DtKV2hd49p","tlshash":"10755c9977e2b86343b2e0e5685f0142f23f584854ccd12cb97df9e52da0d0a617afb8","size":1597230,"data":"","first_seen":"2026-07-22T15:37:53.90669Z","last_seen":"2026-07-27T15:49:32.120651Z","times_seen":1747,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd0bcbfeaf7651b34de78f94db256e9a","sha1":"d5d4133262a2d4536708007fd3d58db921c73a6b","sha256":"7c4c4985dc2c7739b2b78d4608b572981a8394702ca5cef9773fe555ff0eafd3","sha512":"4d4b6a8f7b6d27a5d6e269d4b9a804986a2fdddd08cc47ed5cb726e993749117dafe9300281cf36c5065dd89063cd7c09e39e2851bb7626184be44b33d3237a8","ssdeep":"","tlshash":"faa022203e00ee02a32328cc023b2c08f20a8002c0000c8fc03ef3c00330bc023028fa","size":77,"data":"","first_seen":"2026-07-25T07:02:54.183264Z","last_seen":"2026-07-27T07:00:44.972095Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13d618642764d2b6960367a857576c87","sha1":"8a7893b1545d1dfa2ebee469c2ee8ddd0a0c0b7d","sha256":"45428e1193fa8edd3f86d91bf4fb01b486cd6c1290d013f948c732adf7fb8875","sha512":"ae679fdd05e738532172c82f852d19e014f49f54e805eb49694cf0849c98278864afe9d8cbf2d19fa29c5fa73aa5143aeb3d012d841915597b5af30af9c77ba3","ssdeep":"","tlshash":"707000083c08a000822238a000ab00280022000022808a8080a000a00c3280a800288a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.077156Z","last_seen":"2026-07-27T07:00:45.000766Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d3789a3f91258fcf605452196e19c21c","sha1":"f468a49ed14aa61cc199cac1759cb76160b266ff","sha256":"fa37be71bea1abe989546295b5d10f6a34598aa7ce90cfed1f870131e8e30c9e","sha512":"b93e82af199ae63f26b48b71e93f5f5c7be0c5efe33aad59dcd1109142d79d988b24ba63c4c0a5731a1d2a852fe817da47371412bc5cc8579078e4c5eebb0669","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-07T21:37:56Z","last_seen":"2026-07-30T13:50:30.846493Z","times_seen":908,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"22fb59e0e0cdacc10fb7f1ad105606ed","sha1":"c6b3878cffd44663b546b12c26af899b037a4a53","sha256":"34469a749ff4f676f6d6a4d95bd641b9f9078810647dd3f14ac9e2aca1045513","sha512":"c39750c2a29c1873c338aba8a3bbd078bec533900b4ed5e1e46a17a8daf2b90c1999a8ea60da594bc411f49f60bb33f525f29d47990d0d6575b9231ba0ccf370","ssdeep":"","tlshash":"65d097c46bbb982c4984ce2b403311319049a21c8e080c50b230fb3bf7a075b243b0c1","size":229,"data":"","first_seen":"2026-07-25T07:02:54.072496Z","last_seen":"2026-07-27T07:00:44.969716Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"796a99cad1a6610a7fa68e368d72cb4d","sha1":"b484b5b4973974c40859b0bcdc09c6c87a9a659c","sha256":"d61a50f46cd94e534153820f129c90bcab530e78f08cf2f179b008fac3c6f3dd","sha512":"76e33f7b2eac4d092754e12c149ce663195bad3173c574ddbd997bbc8a75594e868ace5263bfbb32aa2d38fe74918ef36242241498935df9df6535aecdaa7fb7","ssdeep":"","tlshash":"69d022072287ddb6a2729804030afa15b0ff100b0f262a06f3c885026734b8cc262a97","size":214,"data":"","first_seen":"2026-07-25T07:02:54.074862Z","last_seen":"2026-07-27T07:00:44.96701Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2fd98c678db6a4e592fc1fce467a095","sha1":"23d71a1dee6fdcdb530042f8de4c7ab53166f476","sha256":"ce773908bfcad90b99b630fe30a23d2abf23d0530137862b34afd9426fc37f4e","sha512":"4cfdbe3278dfe3b25ee1d5b7c5e2b6136e0813ed126409b436ff14b98ff511e7849897d572bb20701f90c207a7d1a474166b8a3c01bcaa87f87836674926e582","ssdeep":"","tlshash":"14b012187d04e4376302347960230d04e151080342818c0b800ed8c047701cb00104bf","size":91,"data":"","first_seen":"2026-07-25T07:02:54.158231Z","last_seen":"2026-07-27T07:00:45.020059Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63a7a928200fbecbaab566892f269b4c","sha1":"c71a636656586ecbfe05e9a5cfd5dd020f6fef61","sha256":"364b13b094815ae8cd606830efaae5f3f5be1e799ec75ec3bb301e1e1444aac4","sha512":"4b94f4c7820ccfc5b0ad57c2b4e2b7aec3aa7ed0e2e7b35d2e1f19b60b070eb4deec3cb87b3169bf47077f0f1c7d5d880950e8cb0f07e3428d524a0489a01ca4","ssdeep":"","tlshash":"8fc08cca89c8da99a01060ce34d3e009a368a9283a83f908d11ed1c46a40ad8e4ad47f","size":158,"data":"","first_seen":"2026-07-25T07:02:54.118953Z","last_seen":"2026-07-27T07:00:44.947463Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a7f8d6710421b13561d798da885286d4","sha1":"40bbf372af2386d0230d48c56680b364196e5238","sha256":"01233f22b0adbeec53c41f6c10babce298647c9c6c5c6ced4c143a2a88d18f4e","sha512":"86969e257ca8c46c346e574182d16d97936c58fac9d836ab3b8850d964753e8fd0b3a9f5b703cc23db2f982c8ca5b56f7b2a54ab7ce90178cd8c29a05724eb22","ssdeep":"","tlshash":"79f0e1c9b392146536ec934ebddf4d613cb16158413c512da7a066f104a06d5a8edf53","size":585,"data":"","first_seen":"2026-07-25T07:02:54.206377Z","last_seen":"2026-07-27T07:00:45.013199Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"42397e761d6e41735413532880049e6f","sha1":"95f740d93be57eaa0388e50ea79e4ce0bc32a47c","sha256":"76354f8202dcb3bd872442c0934f9c7e5e9f61540f27727a42a5eb594e9143ea","sha512":"37cf8e6de170216c3bb26136f48d90eb71bc4bd34d7b8e59991083fe5c79b32d4f12a4412445f5f115a748693f51a2d3528d3f2e8b169ebcb1b4a87c2124f9b3","ssdeep":"","tlshash":"8aa024451fc0173071c174f015070010450d107dd37444d54075dcd00c34fcd3441117","size":82,"data":"","first_seen":"2026-07-25T07:02:54.195903Z","last_seen":"2026-07-27T07:00:45.014366Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bae3f90cb000352645e35fad60da411c","sha1":"00023f94c170125b979cb1914925d06ab1abfbce","sha256":"1e3606d95ce27d593157594820335681a9380f51a96147303cd8000e60a95e12","sha512":"d83d07979674822b4c966ddcb3bd4feb84830834e1f9fb255774ae237056cc357599e3aab9c6f47242aada2148a65c9ea11c859b1e8f550004535cc363fa02db","ssdeep":"","tlshash":"03800000203008388088000f3032cb8afaa0a22ae2322800c8a88c2cb0e8f80ba28838","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-31T13:37:22.89963Z","times_seen":183623,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0a14387aa464f863985b6a6bef1d093","sha1":"51a4a9443e6f007f24b04c914d2721b2730ef3d4","sha256":"5d99f2d91f27190245664e4b3f6f485a27e025b4be90857bcafe11ad8e51111e","sha512":"8d05c11c4010e655a48e74dc053f3b5cac9072e3236bddb482312cc9a5c65db32ccb40274919820c6ace897bad2eeb88d4816605a149d1fa22561eb5a23edb61","ssdeep":"","tlshash":"1480000c3e082800000238a0000bc008c83200020800880000ce008c8c3b00e022282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.137523Z","last_seen":"2026-07-27T07:00:45.005979Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"382df8f48d5107dd2a96921030e79c0e","sha1":"19bd60f0b2ee5dd0d3ba977e9a464d03cf135682","sha256":"5893dbf7b9a7496a0d79489a22f335b0d20530e25f0b95656b206bf44d9bc139","sha512":"31f04d2c5e1759fe8774b17908257fc5e07199b54c7ff483008d92ee115393e249d0e8ae814a57758638a7ef3169a4a485812762f2efbc92be6cf307780f7741","ssdeep":"","tlshash":"f8b092191f6d822948a4760c66ab478ab8f8045299005c15b300648816a8e84009ae2a","size":109,"data":"","first_seen":"2026-07-25T07:02:54.150949Z","last_seen":"2026-07-27T07:00:44.960296Z","times_seen":512,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fa317cda84211445676c1cddaaae7c0e","sha1":"56c4706fd639682e3b4522c810eee9ea11f2d38b","sha256":"2740769e28e35690a4f400ce64b425de677a1dc517b2859219e883c874e4a664","sha512":"a6c704bc3492435fa28ff4a72847e656af3f982f8988c051b3d48959f553a38a54e5606c50fbcf73af0300faa637f2b3bbe311484f190131207b31b4a7939008","ssdeep":"","tlshash":"c1c08c4a588022263b707d80c0ba192cb354096b109e8f0f8c2ee3943320f62c00643f","size":155,"data":"","first_seen":"2026-07-25T07:02:54.082992Z","last_seen":"2026-07-27T07:00:44.976197Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"952ddc5ca686660c54f7b74840982b4b","sha1":"fe05b5837e28143d2981f9a67a56e565a7982be7","sha256":"9baacdd193c5a18c5a01ecf248bf7a316f7927c345ee3ec94fdce802d458718e","sha512":"a652cf3cc48705bc2b0fcbb449a0a61fcf31f30ad0feab7697a10c6c0e6485353c815048a9570763d74cddcb857fe49973ced6de10bc5f8239c7671fbe1881e0","ssdeep":"","tlshash":"d5c02b08746220f04e43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":139,"data":"","first_seen":"2026-07-25T07:02:54.186501Z","last_seen":"2026-07-27T07:00:44.972651Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b640f7845a4341a89d25c0ca0f9b26f4","sha1":"5b98b63751f6e77fe954f5b95388d615eb263003","sha256":"3fdecbfeaacc1474406d975d54141cd22c1be7ed72ccf31bf23f5304e2b50164","sha512":"ec2592241ccbd9a0e93c49ad07121af8cb3acb2a4d8fc25e4f4599a1052d1fb51c9ef8538ac383c52e1205f9b6a17525703f2c4d4bd0d69fc090c04f93943066","ssdeep":"","tlshash":"2dd02b38e11c422b26970b4197c2183b05004642dd011d7b2eae28eb7044c9a9a1481a","size":256,"data":"","first_seen":"2025-03-17T23:26:20.961709Z","last_seen":"2026-07-31T13:37:22.952855Z","times_seen":167893,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0ef7f4d87ac6dd35c27e977ffc60a8a1","sha1":"dc9e216db580d55e466f452c33494cfbfaa9b6f5","sha256":"64d847d7a9ab2c2eaa8165489b7fc4e6a06d739cc850a47d331656fd5dcd0bfc","sha512":"9f3d6a9733bd8baff75851a66a6cf3ae8234abedefae85f73c90aa5b9b286f41e7d53fe43e401c2328ea69bff93d99eec82f2313715e645172cf6c20f5cd43ee","ssdeep":"","tlshash":"009022a03c22380000303000c02f0030e2032283e0880ac0c022cc2e2c30c030cc008c","size":56,"data":"","first_seen":"2026-07-27T03:37:09.950109Z","last_seen":"2026-07-27T03:37:09.950109Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","size":194344,"data":"","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e25b5a6d5b2365cb579d486a6acba51b","sha1":"6f513d7efbf5cd1176677d41c82b897b8006217b","sha256":"81799c32d53294ca91ef92a976a6501f0a7c8c424aa44278c8f06c0f71e0eb52","sha512":"d0b8a9b323c125a111082164ec638c05109a1b0add4136f4a0b69c99b680579b4755177a7c586a92f295bd1882b7eb8e41eb6bac406ef90d4257805cfb82308f","ssdeep":"","tlshash":"e9e07db0258123422174df79f0f3120430e072c67e48ac8f51256b428e388c1142353b","size":314,"data":"","first_seen":"2026-07-25T07:02:54.113702Z","last_seen":"2026-07-27T07:00:44.946298Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0ee7840c65fd232997d06d9430eb3cd3","sha1":"d7b08c1b33e71fb050eda8eb76673e4ad9a8e2e7","sha256":"b1934a6c0e3ad971de0f6acb755aa575707e156d75224d0d6290a0f1d9fb6329","sha512":"f49fc43de4c5e49b7b4f81a3de77f3a6642f44ed070ae82a48e541a680b4992dee7b43218235a23384d386adddaca5a463a723470e778006b84dbe309db5e215","ssdeep":"","tlshash":"61e020a4b60370c596a67c844417db33f1b8b6180864679335a9f85cbc15507929bf35","size":347,"data":"","first_seen":"2026-07-25T07:02:54.163257Z","last_seen":"2026-07-27T07:00:45.009317Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9af69e91e9a0e1650ac23ca1a06d9a03","sha1":"1a26706289f10c0bd07fcca5b37e9cd1f31742ce","sha256":"b5f92e34f5614aa40d35166769b90304819bc552ad045006a56b2672ea5e635a","sha512":"23ce7998bc81e6515eb7c1d416ff1e22fe067aaf6d5348bd66654a5c6d9d65e89276e08da1431693589b7566ebdd95651132e2d6ed6ad3cc765532482f5c5d3c","ssdeep":"","tlshash":"67d023de54545753a25515f39009d6154307504f52f8cf5bd11198b414d64074087b11","size":213,"data":"","first_seen":"2026-07-25T07:02:54.07392Z","last_seen":"2026-07-27T07:00:44.954199Z","times_seen":516,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cb8abb683722cea7fb115342abc554ef","sha1":"776b83217d825a68ed51f891fb2d360c233eb726","sha256":"139ffca75e64693ada18ad987a1d7881947ff41ed7784d3dcf349f5915124464","sha512":"7fceeb9ba20bab9484738d20748f7a935aca6ab7d869417d3629d2db9884afba198b09c6fdca26a84d90d6fa5676000775da441daf4e9940fc687e476ae54a67","ssdeep":"","tlshash":"9fd097c46bbb982c4984ce2b40331131d049a21c8e080c50b230fb3bf7a075b243b0d1","size":231,"data":"","first_seen":"2026-07-25T07:02:54.205479Z","last_seen":"2026-07-27T07:00:45.00312Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9f502ac14e14405587d798139e860b5f","sha1":"b267cfc679f39f2d95f9d3fa41bca0eafb931aa6","sha256":"39d2483e41bf71db160191d9a148b4bc26c0739e732727e37be0f18bdc8cabca","sha512":"f5bc3d4834c9c4ed165d49476795fb1170fdc577b58fe4b21dfc67cfb4f6eebf045a3812ef48a2f15758e790ce7e111cf9dbd9ffcc3438288c7340e6eeb7661f","ssdeep":"","tlshash":"b1c022ccbb3e600d9121f90031f84e46cb4125ac4407ede3a70128b4448180aca1f406","size":194,"data":"","first_seen":"2024-08-23T10:18:17Z","last_seen":"2026-07-31T13:37:22.876784Z","times_seen":174897,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cbce5f030ab9bcb5d5a13f3094ed0c14","sha1":"a8dabb19b3be950bce6159811f80596a5bd78b54","sha256":"22d532f2907a94e1755ff7183e34abaed0e92f01415b2c98b71e860af2af3020","sha512":"d8d914e21a56a18b2bf24d25cf9df74cd94c4a9fdbad963cfd1eb90080d01d6cdafd27712026ecf692d43cfc977a8abf44d969e2d299d204b4da9263b9dc7036","ssdeep":"","tlshash":"e07000283c08e800022238a000bb02280222000022808a00808080a00c3200a800282e","size":22,"data":"","first_seen":"2026-07-25T07:02:54.179802Z","last_seen":"2026-07-27T07:00:44.952697Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ded6cb7b021faf2355497e718ed7afc0","sha1":"fde446763014ad7c5b2045c021bdfe8ca139fd5d","sha256":"096a45acd89683278277589df946866fc34365c96212f1a60f42b143e5ffb28c","sha512":"160406cdfc444d63df42a6cff7c879049902401b95442e7ce2b82ccbac11aee8f6dbb1eb8382e2d8d21257925b51718eea4518fc53f8161654c3d8eef36546a9","ssdeep":"","tlshash":"25d02ba5b1061051f77079a19262d8989992d6cb2af1cdeb442c41400dbfe045875b14","size":283,"data":"","first_seen":"2026-07-25T07:02:54.081421Z","last_seen":"2026-07-27T07:00:45.022961Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c97f06046b55e8dae6a537ed7ae34fef","sha1":"84149880d516a37ca62c27e982f46d830b79caa8","sha256":"131b8b1c3193add0da6e1bc7b54e66e599b02037f372eb68ae1086fe443811f4","sha512":"8cd93216b1b29a3b9551a054b4c950e750d68749d9f6a2c8d7ddec13ec6894949d80c67cd339cd50916de026e15fc81727f9725ae127a9d6604b5989a711fa8f","ssdeep":"","tlshash":"6ef0dc0d48fd83769ac44dc290d33c0ccb0806071cc2610f7a49fb7032632b78497e64","size":485,"data":"","first_seen":"2026-07-25T07:02:54.134293Z","last_seen":"2026-07-27T07:00:44.955206Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e213815f8e0b9954f8d43e3a59f8b742","sha1":"563796cb191f082f24fc52b017905533a0ceccc5","sha256":"842c53eb438fb28e95c14d32423b0fe01bf557c9e623b684b19663d497bce97e","sha512":"b5bae6d10c35f01992dcc33c3f24a7cee7ac0fb56cf4a9e79453d213297ffe3b8e6e4b3eb7de9b1d10a5ca2638e81ac3fd3e66e6d76d157a75163ac7caea4f89","ssdeep":"","tlshash":"ad60000ffc0c330000033030003f000c003300000c000000000000c00c3000f0003c0c","size":14,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-07-31T13:37:22.866498Z","times_seen":202661,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"85667210a9ca3aaa44be54eb3274f280","sha1":"f69565032aaeb8d28ca4ca0daea8784dc01baf70","sha256":"0ba3ef12c7fadaef9ac42ea9cd42db694e3a5d2f64c6d21c2690ec7649bdad85","sha512":"e04c814490d64e8424e9cd097247cc4ce5ef616c21619b8b6f35b81cc47ac3f4504d94e7ec0a8bc45c8d5fd0deea6427a7c1c5d34c0841b6ec1d9e0b785c0570","ssdeep":"","tlshash":"23a0120074447c0116112c75c2260544b0511a0b50902401810996c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.208693Z","last_seen":"2026-07-27T07:00:44.969132Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"288f4801942ba7fe2e468ad22eb3b34c","sha1":"93c816901b3435f6f5cf6b2bd92e6727e442a895","sha256":"3f0ed40e2c3c5964be4eedf2e9176f9987135e03e131c9e4faa1334b3d0f179b","sha512":"118664d8321242dd85ca89acfa377dca6520b707e6efe6ffa76f2d06facc829277bda47b5889021d70cd3f1a9a382ca7fbe5e41502906853f7527222f9a33659","ssdeep":"","tlshash":"c9e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c012a2ced569cf19","size":348,"data":"","first_seen":"2026-07-25T07:02:54.136642Z","last_seen":"2026-07-27T07:00:44.936518Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5206560a306a2e085a437fd258eb57ce","sha1":"c9ee5681d3c59f7541c27a38b67edf46259e187b","sha256":"de5a6f78116eca62d7fc5ce159d23ae6b889b365a1739ad2cf36f925a140d0cc","sha512":"40422e2733a73dec2f9aac48e2ab48d3b2fdcdc1e3a88bc7ea855227e62c029246da1dd49dd057bb8a8b796b3b2a6f60d9d8a85de53df597e422b2f68c54cfb6","ssdeep":"","tlshash":"c70000000000000cc00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T12:04:13Z","last_seen":"2026-07-31T01:14:20.901713Z","times_seen":68728,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da3f5f8741b5de980662d730df73f871","sha1":"896f82c86f77ec8f6696a162f44345d84f4b302e","sha256":"da48bc39846fb2dfb11eac0208ab64b9f8b2f12fc89e9832b61d63d68935138b","sha512":"4c5197263ad82b11b501108b4da2d7f9ed721fff7146f15e294451be9611cbce7e079ec7a8204d358379003f85061b186fa8f851e271c05119b44ce405066b04","ssdeep":"","tlshash":"84a022203e20ee02b3232ace023b2c08f2088002c0000c0fc03ef3c00330bc223028fa","size":78,"data":"","first_seen":"2026-07-25T07:02:54.111523Z","last_seen":"2026-07-27T07:00:45.009896Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"39d2592bac0eccdff1e94886f4472629","sha1":"35d3462c7a93c0264610efd6ac970e5d47ca7792","sha256":"24677b8b077f1fc6144a4e59498483aa30800bd1ba610a984f65b357cb198479","sha512":"5c9b66a1781728f08b8b4f9493c68ed5af9382c90f72cc5869f2a07f1837e50ffa4719273c1445bc025454171a535cf621e8f29a6630c32f07843708331409f2","ssdeep":"","tlshash":"88b012247c08fc22ab212c7841120d197120c04354a784d7d02ce3c00339186300b593","size":98,"data":"","first_seen":"2026-07-25T07:02:54.143979Z","last_seen":"2026-07-27T07:00:45.023552Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"908d5ccda6d90aab1d372185818e11c6","sha1":"917ea62d00a3e75d9b87d9a831eb81c24db4441f","sha256":"c9a8ffb3a00f63b1c983f1445fccea9aa101fe4d579aa885f7b1d8ab8e488faa","sha512":"868bb8a092222b3a369569f020417d22a4567faf3da65a85a2fa6492b812e961407d92f563bd02ec1c190d70a200301a36c9575386d779d98659d38ea7ecf40e","ssdeep":"","tlshash":"4cb092c8abc2a0625441958a413eba59f3e4bdc22706247ae052ac1aa4a470e40bf25b","size":118,"data":"","first_seen":"2026-07-25T07:02:54.17899Z","last_seen":"2026-07-27T07:00:45.003717Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"97893f46e7e13ef37b4c2e0ac60d85ca","sha1":"9c93b4599fe3df75fb3326420f7805a0b572eb98","sha256":"e5b564a7a4059dccb9c20cd678603a6f30c5f3db3af9b421e7f87eb37b030337","sha512":"973fb08ee51bb939b314a5dca3d67e39b8d27d209f5328a9c6fc3e4d7a716b29098e81824ac0c15f9a9a98d070fe09176399f78f1828080c5d9142c9835453f4","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-10-13T15:09:37Z","last_seen":"2026-07-27T07:00:44.950253Z","times_seen":1984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fe63e72e58f232e831ebaa50436cd976","sha1":"3eb05a9376004c39c93288d95443d7f967c4d383","sha256":"fe4765abdb60dbb4296984f65320d7fa3f3047b70c94c2cd7737a9edb867a57b","sha512":"b39b8a0ffad610e40cd8116a7d35d709a6f3bed7ac49e980e5e2f26218cdaca4629af6047a9e7a7bc8857ee6fcd6da93808f9aaf4c26de44ecefc2fd92a87ef5","ssdeep":"","tlshash":"36f0ebb65a0180c490b39deb6e7f3a3f61866aa7b58110814393d725939c1d2300deed","size":546,"data":"","first_seen":"2026-07-25T07:02:54.125329Z","last_seen":"2026-07-27T07:00:44.95151Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a78c5c832247d38a96a1d593f639a2f8","sha1":"5f0015f64b3fa0c1cf637e590267ba3b24120422","sha256":"70af5859b85dd4f8bae68a68aca5782a1795821b1cdd307c803d62f76ed1859f","sha512":"effa7fe575fe0f5f3c2a7d8a377f6bc00f909e1e47ec5a6e93f6f16ffd0bf227e506ee3da11dae805d30c1e01b690cacbfb4e891f973bb5cc1daf9cd7a08daab","ssdeep":"","tlshash":"ab7000083e08a0080a2238a000ab00280022000032808a00808002a00c3200e802280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.087327Z","last_seen":"2026-07-27T07:00:44.957131Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"316d406bec14ed278d88b29656ec9700","sha1":"bd547102264254e2beef20bde9dbb4a76930c603","sha256":"c20bceec8e69ac1e4c2e4e22bd2c3676487f19b8676151449558633b99b47e86","sha512":"46f1ff723d384eba48d0384e861d729824711cc28520de2cb5defc92c4db58aeff67b8349ad7d2d75368507cad41580169a73a544a2fd0364b326442be72360e","ssdeep":"","tlshash":"42c08c1814a2983a3224acc3b08f910234c528110104406483ad8031b73044aad380a9","size":145,"data":"","first_seen":"2026-07-25T07:02:54.099906Z","last_seen":"2026-07-27T07:00:44.979724Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","size":16281,"data":"","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"771f01104d905386a134a676167edccc","sha1":"51af17721bd7b84218774f9064fe481c033d0b1c","sha256":"46874106f9ac7f3b68a422895aa223e1ea5ed0db860f179f6362cb166c65f8ca","sha512":"0c85b6b14d917b941d01903af93ca93b97b7112355ba3f19f0ac2e243427be9905abb48f24a6dd6c6a72c140bbbc7ed7d231609425b0f132375b0f990ccef8cf","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000030000c00000000c0000","size":2,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-27T07:00:44.994262Z","times_seen":1807,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b6a20c0d9da44983aefc2889595774b7","sha1":"a6b83289561646aee8a972f7631e8e92f56cda48","sha256":"2fdd1b9481f875ab3ee4f5d37d4f77142929c0cdf6ced65060f0aa2aed4984a5","sha512":"9baedb500c9f00af4ff8fb892caba990a86a6042c868841f50f6b10c277d8c0566f5ce7049164e86e2bccaa0a786567e18bfb5f3ca7845b5ac65123f207b110c","ssdeep":"","tlshash":"66c022cc7b2b0c088352d9ba107b0566d86ac92cd94c8761d811fb16b92a25a087bba9","size":194,"data":"","first_seen":"2026-07-25T07:02:54.124398Z","last_seen":"2026-07-27T07:00:44.980996Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64d8c858156192a16a990983d35fb3f9","sha1":"1ae03179ebb040c510ecf6f785c0002f21932433","sha256":"bdfd55577f7056ab007e88fcfe9352e9805fc05f504131193cbe81c001162fd3","sha512":"e6c8b62010e24ed3c7a59b3d92aa3165bc2270274b755e8ecee06a238fe29682b08510402a6e8b7b3f85027d7e403447ed4694ec2bc43c136d5c0f1cb1b3f23a","ssdeep":"","tlshash":"cd60000c3f003000000000030000cc30c30cc3c0c0f000f3c003000000000000003f0c","size":15,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-07-31T13:37:22.973266Z","times_seen":172430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.parallax.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"aaf7e95e34f292b1a098887db6cf9ee3","sha1":"e00d5e9a3dca546921b83d15a0cb7a9261467027","sha256":"149d1060d155832cca22142423c095866d6b03277f372ebc1967ecdf579a435b","sha512":"824a519d23ccf5819ec06039fb8ab8b9a43679052bfd7d644b7c5c596b7a9ed5f51e1fbc82b2558db2c3314a2a4982c8f54154ea1bd0338bed5675a7dda76d16","ssdeep":"192:BcLK1q1e1XfU9dciEK5FKw0Vm7Wgput9mHJnGN82PbZ7:n1q1e1Xf4+KL6m7WgpAmHUNVPbZ7","tlshash":"7432d95a6e2028f640f3132cf9ad45d273228572e5068d41f9e6f9b9566ce9c037abcc","size":10931,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.086486Z","times_seen":1205,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2da41093c5101c915eba4d7ce7b0703d","sha1":"be67856563d898a7b733742a56b7c24e76f6c12b","sha256":"861a8f8ff3b790a4f6c9a8fbca93e201d714e26ee74a051cc77d25e79ef5f581","sha512":"c78400c6cb9ba66626b3f922da612a3663809ccf26a7b35521a117ee56b1f69fde071301026b99a7976cd6794a76568b7bb46065da5f4d0f23946c850b6a0e24","ssdeep":"","tlshash":"a70110862cf902b6b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":684,"data":"","first_seen":"2026-07-25T07:02:54.184161Z","last_seen":"2026-07-27T07:00:44.9995Z","times_seen":510,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"506062df458617a6bfdd35a3fbd41c54","sha1":"7e7395752c17ceee179c6a6ac0cdc54a44401c6b","sha256":"a7e4c6a4faba5d54fbf9e416b44f1e4c26d60946ee542ea3510b95b0c146e6a4","sha512":"e0aa46183e606b4bd2eac6695caecce85498b80a41894bc26fd6dfa2a7db92c78f9e69349df0daf41d79df5a8d1f95c5aef07047e4231252f0eaa123daf3d096","ssdeep":"","tlshash":"cff08bd487010de8b201bce92deb3464927f89133c503009ba12a21a5234f4d945b82d","size":540,"data":"","first_seen":"2026-07-25T07:02:54.146382Z","last_seen":"2026-07-27T07:00:45.019491Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9485c8ae181348af0537aeb02376d77f","sha1":"67b0b7f7f914e89f6e0c6651049d5e58063eaf96","sha256":"77724e449ce352c6bb493ce82b91d7ed6b93156928d311f67cc1c57481e6c2f9","sha512":"037ffde473310d2491e664f6fba33b747a956c19bf99420da07bbde6ffbe4ca768da17177bb1643630ff6ae1448ffe79ce1613d08dbea8d610d7d51161950d1b","ssdeep":"","tlshash":"c2d02b8eec5b8595f966e9ca40766d29e0589802ec789cc11527c55261d4a195832cb3","size":266,"data":"","first_seen":"2026-07-25T07:02:54.116193Z","last_seen":"2026-07-27T07:00:45.020622Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4e5784c2f559c1f257d3fe1adff1b994","sha1":"a8bb93b81e79497dcbaea5f08618abe3e13614d5","sha256":"9abd5bd5bc72c038c0276119bd897de57b661a0e4b0d9849758dd698f4b11d10","sha512":"a66be2c2557a5eae52f07ea28edae7acf52d9ab08345204fc42a161d1c474ac05d43323229367c9eaffc197970a47846353096695ff79bb6fc820a804c268af4","ssdeep":"","tlshash":"19c02b08746220f04a43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":137,"data":"","first_seen":"2026-07-25T07:02:54.148131Z","last_seen":"2026-07-27T07:00:45.024626Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92eb5ffee6ae2fec3ad71c777531578f","sha1":"e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98","sha256":"3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d","sha512":"5267768822ee624d48fce15ec5ca79cbd602cb7f4c2157a516556991f22ef8c7b5ef7b18d1ff41c59370efb0858651d44a936c11b7b144c48fe04df3c6a3e8da","ssdeep":"","tlshash":"c700000000000003c00000300000000000000000000000000003000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-07-31T08:59:01.795001Z","times_seen":80907,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd4496eb0285aba06273987971f6063a","sha1":"8c7d085c9d54b41debd437430b6852de7f898857","sha256":"f2a353ed5469812b863c5fbeb58b4d46b864ba4e20a49f57f9c44c7cda45f46b","sha512":"ac6567c456643fbfb8ccc60e9f3695cd5b6fd80f8699277093e0d9ca898bfe4a0fb6dc848ec48f6255d0a9eb82a6e699cf2f977aa502120cf9b8caa121f6f3fb","ssdeep":"","tlshash":"5580000000c80a2eaa80822333b883a3b8a80aefb032200080a88c28800882800288a8","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-31T13:35:32.801701Z","times_seen":110565,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"05b8c74cbd96fbf2de4c1a352702fbf4","sha1":"320ad267d8d969f285eda5c184f5455bd29c8c95","sha256":"44ff7b02c80d38b26dd6aa31d9470aed81b32e10331a3c994fb1a9945fd847ba","sha512":"1ab6ceacde9b312b4f32d7c9f2d54448e82264c30807e4db86ec8e295791c1fb9aafb38985b2054e589c0a0a2830f1a389312fb2912dc2f9c949231967e03545","ssdeep":"","tlshash":"f6400000000000000030000003033300000000000000000000000000300000300000c0","size":6,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-31T13:43:46.06759Z","times_seen":156940,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4c62bc4fd3c4e105cb3fb62fb748d59c","sha1":"f6e2d1e74e35ec4c4740ba02e890b98bda11417f","sha256":"9f4a6a370cd350425d8ac08047e7646116468672e99765ca198e6d463ee5286d","sha512":"5cb125ce0b7fdde81c6df58f6e27943a130f0d9e2a366d94ea8ed926da635dfe2b2c5778a14ed99bb35c7b2a48dcd12090cbac18370611d1c0438e1c2621efb4","ssdeep":"","tlshash":"6cd0129b738060e3d797fea709580020c1ef0b8402d2753d42d5d51070fe9ce83461e3","size":203,"data":"","first_seen":"2023-06-16T07:31:00Z","last_seen":"2026-07-31T13:37:23.013951Z","times_seen":191430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","size":62519,"data":"","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T07:00:44.845626Z","times_seen":542,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"673a875cd33f946c7fb234078db0d89f","sha1":"f1cecf9e970522a619b72e66a124dbf89737b06f","sha256":"e4d6fedd18866f7aa5469a8b90a348fec071f4b82598152a7aac6419edc3ac3b","sha512":"da7502389b64be9c9f1ce98b8976e58b6f1e897b5afd9af08fba27f6d70d01021e08f621eec1d589e2ffe0bd67e8610fd8936fb35623d28eb443631414c11e87","ssdeep":"","tlshash":"c71000c000000003000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T07:00:44.975594Z","times_seen":2378,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d94eb39b7c5996a928c1d97e2d336207","sha1":"63d8851850a208fd85df769e5ccadcc4474859fe","sha256":"ea73e902e70b18a2f35dd009e26fcf9c68771ff4060e21c60533c90291328a25","sha512":"36bcc6c512fff73197bfea984000d3f197ae09de13dbc39397c2812b3f5b9e8da2d6ebead97520615c83ac480fa2c07701fba86a4a659c3114b29b9c889dbb34","ssdeep":"","tlshash":"c7100000000000000000000000000000c0000c00000000000000000300000000000000","size":2,"data":"","first_seen":"2023-03-26T06:16:09Z","last_seen":"2026-07-29T05:41:55.064704Z","times_seen":1212,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bfb05b64541b797fbc56b1ceab0d0707","sha1":"ff5eea3714de9fa65254f3722ee63ff9718b4cd8","sha256":"9a3032ec6f3b482ef8f786196f5fec31ee55139f79eec40f1ef9e5d487f68c37","sha512":"ef42e661cb08389b03f24f5e884fc11c24a95d58110d3bd963a916d449cc80e06554ef4863d18aa0b14c12c0004f03f3b244442f4adcc9cd895ea236dd283ff7","ssdeep":"","tlshash":"687000083c282000a22238e0080b2008002308080080a80000c000820c3200e203280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.15521Z","last_seen":"2026-07-27T07:00:44.976836Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8019a2b7d49c53a548a55f046b75eb57","sha1":"4db451122874d00f6b6fc751e5545823a75b818a","sha256":"e313eabc79a57bc0506d61fce96ce2b6dd9cd635130b8c8d029fe24db01ce844","sha512":"e945ce874884b5d67375a48bf9169e85c9f19519dcd646eeced82292b23f9174af233c378fa483ed79a04fef47ea55c9fe0f8ec71a2bfb18c714efe75c3a112f","ssdeep":"","tlshash":"38c08ce873b61824c2809ab3a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":158,"data":"","first_seen":"2026-07-25T07:02:54.159204Z","last_seen":"2026-07-27T07:00:44.986576Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9d0137bffa0f20d5e8e9f54f2c84cf0a","sha1":"39edf6d919f82b9692a2edfecc78427a82567c42","sha256":"269d4d56785ffc82f3ed05d8ee3b84fc18d7474663ddd06c6fd285165190bb19","sha512":"0b8b09f13f8fbeb3546c08a3501f4060ba8e5f762722ffb1a53be6d0e297abaf9719d48d50cac29940e403702c66627187396b8961aee26586ac934568af2ea9","ssdeep":"","tlshash":"db50000000300000c30000000c30f00003000030c00000000300c0cc0c000300000000","size":10,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-07-31T13:37:22.939671Z","times_seen":185029,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"51792c67c588ce8139b246f015ed8a85","sha1":"d3148f014e0f4790ff65a8004585d17ed319833f","sha256":"6f70d853ba1dee4fc189490cfe4b6b1ab59f5853344cd85576bd2a4af2b506fe","sha512":"963ef7a25d5437d1a045dedfe34afbab41db4c620e4378606ca3b7b0c4219e51fda11b9b0e0b761093eda33aeac0e532a27b3f1a1ee110c13ba1433cdb28c067","ssdeep":"","tlshash":"cb60003f03000003300003ff0c0cf30030fc0c0c000c033c0c003330000300000c0000","size":15,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-07-31T13:37:22.962046Z","times_seen":176796,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/jquery.themepunch.revolution.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"edd0a8f07cc892d86518ad62642dcab0","sha1":"e8ddc925c3ebaa77f120932e1acf3b680e84df51","sha256":"5bf19de4a1e69b7b3cce947da22702f074c0963192bf9eb3ea9210ac07c52f67","sha512":"e980a77cc13ada7ac28eaaa1db1a4c738aaf959cb7bfcaa68390e7e7500fd1218ef7bb4368102b69a8cb7bf4968d01207cd58ba6e5770599388d022fb656c1aa","ssdeep":"1536:gCnzw4tqc78qdVSrk8cheMxtWd9YidEQ8Mv3xVgnufnQuh2VLc7iKiFn2+9arAI+:gCnzXF7TdVSrk8VMmNsLciKB+9qOd","tlshash":"51530b64be10347694bb2265e03f8615b2b15c37eb02c4a0e5d7587c6be8d89236ff8c","size":64896,"data":"","first_seen":"2023-03-07T12:05:18Z","last_seen":"2026-07-30T05:52:29.043419Z","times_seen":2112,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"1833830743382d130652becb9f498826","sha1":"9408cb757bf3964ac68d17c1ac2dfc1cdfc963a4","sha256":"c07d5b91b890e3483e1800910322977007748ed06c18f09f68a3b0f7611b0023","sha512":"f522799bf698caab0e73f467345ad34b6d3ac423522726bd914c37ec2e17801206ef2e672b03dcdafdd029ca7616fc1e09594a8da18bbd649b51925ce20ffccf","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECitwNWF0:XDD4U6KKZgtBgtCiT0","tlshash":"1273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","size":75428,"data":"","first_seen":"2026-07-27T03:02:41.147556Z","last_seen":"2026-07-27T04:01:29.26053Z","times_seen":121,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","size":442344,"data":"","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ec7e53845feb375870343182efd0b929","sha1":"63e71d0c5bcadc37a725d971054eb55e017f6989","sha256":"a2253e1fad60aa1ccf31416ca8cde6ffaa5af2510733c7186adc04a503346c5b","sha512":"339f50fe30462dd6204552b2d3d3fe5cbaeea2cadcfbde096f16b40f1d985a5a68ebb227dbbb9f37c9451a36376ed392b7fb50c6e661963124146bac7e03284a","ssdeep":"","tlshash":"cf50003cc00000c0000f03000300000cc0000c00c0c00300c3cc000c3c0cc00c000000","size":11,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-07-31T13:37:22.972178Z","times_seen":173544,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.kenburn.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"2384ef0e1aa89244caa1e4821ee50bee","sha1":"7416c32035abca45b2d02062193d8a1a99b9e028","sha256":"40d3265afb721403e925443bc7fc2b1acd13150f5bc06f6018669a06a4c59ce4","sha512":"0cd638938bcf7b84aa2067e23bf0797bebc4a08d5978356f190337756768b2f5cda9d65daeb7094fa7fa97f0d76861fb66802e643c2c8c7d6150b5f4a95b5e51","ssdeep":"","tlshash":"8d7142d220166c5e4ca3a39295ef17c663f1ed2835039c1c9772b5802eccd1e28bbb5d","size":3754,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.075874Z","times_seen":913,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b5b6fee0a4d21f85dce9a49e0e9a9036","sha1":"34f9d5791d070ae880424d2e4c6c2b578271cac0","sha256":"123cbe058700145f7b9e0d18298653a900ac9389207b3b95c4a98fbec94401ab","sha512":"16b1868151143dfcb7805ad1d5a183bb7c99d79eeb35b3bb38b1d2110c7bd387c1222be2c121764afaacd7c74b503cd59fe5813f1d5d99c7d207ea7c57095e5f","ssdeep":"","tlshash":"52a0120076447c0116112c79c2260545b0511a0b54906401c10596c102705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.173327Z","last_seen":"2026-07-27T07:00:44.97092Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7694f4a66316e53c8cdd9d9954bd611d","sha1":"22ea1c649c82946aa6e479e1ffd321e4a318b1b0","sha256":"8e35c2cd3bf6641bdb0e2050b76932cbb2e6034a0ddacc1d9bea82a6ba57f7cf","sha512":"2e96772232487fb3a058d58f2c310023e07e4017c94d56cc5fae4b54b44605f42a75b0b1f358991f8c6cbe9b68b64e5b2a09d0ad23fcac07ee9a9198a745e1d5","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-31T13:43:46.058452Z","times_seen":56724,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e4728480e2fb7f7ad5c9fda4ae9a24a7","sha1":"d271c64c26f1980b5bcba96d21ac5cadb06e7977","sha256":"8222c16f8274ee37719a8d83f2aefe2259e820728e881bfc83430f3c5336f732","sha512":"d5c34af2fb42a8ebf58500129c2cbbec60704cc1e3275f93dfc44dccd3b3487456bb20ed56bb7e4138e86530d9f61b4cfd2e791b5e0d857c87336a50ed923bea","ssdeep":"","tlshash":"e8d09706b91480223932382302628e07e4a2e8475df3a452a18acdc945f1944805d919","size":241,"data":"","first_seen":"2026-07-25T07:02:54.165069Z","last_seen":"2026-07-27T07:00:44.945204Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c11d89c2ca93836ea343a05338bd670f","sha1":"62a6ad7f8271078933dcd08d5424e2393bb5da8b","sha256":"5b399a3e0eebfecdf232a414d8d0557d3eaed3041a5641a639e715c63586aaad","sha512":"f7855d7cc1bb2478457e1a465962dd6c7a86607759e9e70be7c3ae6c1eb28484222e8e51d876d28696dc1882c733ff396797d143eb074648d45c6274a8eed8c9","ssdeep":"","tlshash":"9a8004041c04d00c01511d5530df10cc045310d731100554141441c55c773451101d3c","size":34,"data":"","first_seen":"2026-07-25T07:02:54.181325Z","last_seen":"2026-07-27T07:00:44.958516Z","times_seen":490,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","size":18024,"data":"","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-07-31T12:31:34.737726Z","times_seen":7860,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9dd4e461268c8034f5c8564e155c67a6","sha1":"11f6ad8ec52a2984abaafd7c3b516503785c2072","sha256":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","sha512":"a4abd4448c49562d828115d13a1fccea927f52b4d5459297f8b43e42da89238bc13626e43dcb38ddb082488927ec904fb42057443983e88585179d50551afe62","ssdeep":"","tlshash":"c700000000000000c0000030000000000000000000000000c000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-31T13:37:22.842974Z","times_seen":65230,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e1469a0c2dc2156f9a727d0ed640ac13","sha1":"ba1dd0fe89c6bf92a6a0f1dfc9336ec0c722f494","sha256":"12854497ac91b3bf315b127a6c446692fb3c10bd1dcd87c3d60a592f63083cc2","sha512":"0cced30914a00cca9185467b9de158e890ae36123087ab40ce5ab41f2ff3ff858178f42c2810106003fad52d94dbebf96e5e47c7d3935f2cb2ebffe7ab387b94","ssdeep":"","tlshash":"6c0110862cf902b7b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":686,"data":"","first_seen":"2026-07-25T07:02:54.118078Z","last_seen":"2026-07-27T07:00:44.964759Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9087bfb5987e012165369f31c80da771","sha1":"e4b912603b7a38d385bb3770f3d3c3574c4c7d09","sha256":"17b51df2b060b946881ffe59fc2d1cd01fc09a7c7d40c7b4dcce2526e10308df","sha512":"df59e3a180757201879e376cbb16a70c6f55dd732e6eda3f9809868bcf9fe2eb2e73a288192394cc3b9736832423672db4a13a3f1fa1aaa8ac37d3374c01b356","ssdeep":"","tlshash":"28e026c771613759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3816","size":340,"data":"","first_seen":"2026-07-25T07:02:54.191647Z","last_seen":"2026-07-27T07:00:44.965368Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5d43ef05e57cdeab7895fe8a3b6ee014","sha1":"19671e4e00cc9b5f8f6a6167c1ea8800ee539aeb","sha256":"b7893a0611b91f5fe47ce3889faf375eddbda47517f4e44c8c338eef6d2c41e5","sha512":"535346ebfe272e052e64dfa1845da29662c36e84fa5a946e52dcbb2cf4d894851a102180fb1c04603f86ec920d89fdfb62c1ddc14ea81ba4cec7d4723ad5598e","ssdeep":"","tlshash":"8db092a4a20c0b5812813919ad2b06e950e42704f82994884ac0ae2548e0a41568ead8","size":116,"data":"","first_seen":"2024-07-19T01:23:55Z","last_seen":"2026-07-31T13:37:22.886142Z","times_seen":190116,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.slideanims.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cc105dfeffdc03367dcbe7ea3ef264a","sha1":"9aa2e656e163d9a3ea622b4897974884583e4cac","sha256":"80a9123891e91ebbb1c06a2d2c79533155a8f17c51ac09013efa57bc007f303a","sha512":"bd11bf18cac33ab7a76618c84aedbaf123d050b4f9bbeedf5ba560e81b514a7e169f95d89afeebe3a28227ed453ae0f8afd43d774be2d3e59b88c31b27cfe08a","ssdeep":"384:Ky1KpMxWR1zy40Islk/4EfoXdOM8w706DvCQ41b0zouFwhq1Tdo+2sb3AB8kNv1A:KsIslkQEfoXdOM8w7HvfzoiHRBm4","tlshash":"a8d2ebebaa265c6290532142c3a54d192168ce36fd32aeda33d6d0f506c305d37fafd6","size":29401,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-30T05:52:29.074525Z","times_seen":1673,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"57cec4137b614c87cb4e24a3d003a3e0","sha1":"23eb4d3f4155395a74e9d534f97ff4c1908f5aac","sha256":"18f5384d58bcb1bba0bcd9e6a6781d1a6ac2cc280c330ecbab6cb7931b721552","sha512":"4921de1edb2ecc8ca3a22823705194b902cfa471675f2d1ae8bf67d0c7b060a7c192e36ffca9f1a0d90ac2dbbdaf429ee1ec97e160eb00dc80b07000935304f3","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-31T13:43:46.110158Z","times_seen":45669,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"06940d1ec461f6967164c26d60cbaefc","sha1":"2dd63cac632d95db488d6221109b5f3f932c9999","sha256":"c9f3959e3d485cc26bd83a108824fe7039921005faa810892c704386b9572acd","sha512":"4abc10cb04a87ffa25293243f9bb9d4498d4a1acebe89e239cdc92058d9f491da6b5de3ea698c856e62b3153c7d006aa340ee50912e29f019752453976fce2bb","ssdeep":"","tlshash":"ebb01224281de61233322ef080131d2c603b4402424f551ec44ce5c2032c0ce80475eb","size":96,"data":"","first_seen":"2026-07-25T07:02:54.115267Z","last_seen":"2026-07-27T07:00:44.990278Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"93dddbbea2419c0820cae293f64a56a7","sha1":"fec37c7f501f1834dcfed04edd754ab32b0661a9","sha256":"ca0f37dbe01b74a05d3b263e0f9b36a99e44350031baabb6c14c7d2d0f869d83","sha512":"e3f524dc1b1210369142abc7c52aca7bebb9edfdfb9237ebb03aae85d1a1403d2884e0062a7fae21d29207f237868efc1295460052c4ebc7860958d0102f88a5","ssdeep":"","tlshash":"0f9002c53c4456153662ac61402e44059165860e24a294829916e2940732b99850242b","size":57,"data":"","first_seen":"2026-07-25T07:02:54.19501Z","last_seen":"2026-07-27T07:00:45.013735Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_ctrl3.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.684Z","timestamp":1785123386684,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_ctrl3.gif HTTP/1.1\r\nHost: translate.googleapis.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1412\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:32:24 GMT\r\nexpires: Fri, 23 Jul 2027 02:32:24 GMT\r\ncache-control: public, max-age=31536000\r\nage: 349442\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1412,"size_decoded":2072,"mime_type":"image/gif","magic":"GIF image data, version 89a, 84 x 19","md5":"9afe50090c0bc612953d081295eab5b1","sha1":"71a4da2a622879c29176ecfa5afe1bbe3e8cfa40","sha256":"d228d0256370863119c043f1e5ca8f3930f6999bd9f250434b6d8935f45dc171","sha512":"d7290b951cec51994f3480c32b70de0faeca433b5d99209b044e1d4c12327768de8c344b6bded806d993251e0ee6f98f0dd64f4480e999fbc06abfe3dd8056fa","ssdeep":"","tlshash":"042182b5cc99114a5be1bd27a334899da8b12c56c38d74595436bdb43470f098422812","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-07-31T12:08:53.725938Z","times_seen":16471,"resource_available":false,"data":"R0lGODlhVAATAOePAAAAyxZBmhdFrBhHrhpMyB1Uxh1Vzh5X0R9ZzR9awSFf1SNk2CYW0SZq2yZs4Cka2yt45TB9ITJ11TODHjODIDWKGzdgrDmUGjuaRTybGT1svj6hGUClGEF1tEGnFkGpGUKrFUNnrkWjYUWoUkZtskdww0dxy0l/EkmP5EqlLUtLS0uxFFCmLlGY6lON3la4E1e0GFhYD1uxRlu5EVyyU1+vLGW8FGef5mmTx22p7W6PEW+d32+e4XKa2Hp6en6p5H9lE4eHh4i06YurxYyqyYyufoy8iI29ho7AhpCz55DEhJW55ZaT15jClqGm9afE2KgeFavK7LDN47rV7b7J4cTa9cXi0MjX8Mrd9c0lGs3l/9QmGtbW1tfq/9jl9djl+NmcANns0dnt4NonG9otM9yGft4pG9/x4OCrIuG3I+Hv/+Lfz+Px4eRWTOSaAeSyNuUpHOWIgOalAOby/+c5P+egD+exAefJcOhYXuqjAOq3Tuq9YOtqbuvHG+vz++xYTOy8AO2sAe6xAO7x9+/Ecu/SaPDYaPD2//D47/KzAPS7APfpy/ng3fzp7P347f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAABUABMAAAj+AP+pGEiw4MB//4goXMhQ4b8gECNKnIiwosWLGBE+2sjxkaNGIB115KjCB5eTKFP6UEEkypyXMGNGIRJkpM2NQSwO2bkzI8aRjOL8oUP0TxxGI1WkXIqSZcynMGnetJnz386OanpWxNGhKw6NHOMQHUs2jsiNSpkudQr1qVScI2vitLpRTZe7XdRoGYKQ65K/Hb5yxEO2MJ0/HdNyYQCgMQAGTYnAfOAYwIOociNy1Pwo55BHXZZ07XC3Ct9/HZZUFP1vo9ixfNYsWsOHDp6kKJlUZhIZppPKTjBvhtiZOM7PdlN34Xp3Ct/Uqzu0XjT2z5qRaxrhRsn4cUq2Lyn+W475FqfEjkE+4+0yhXkXKUNGy+/6yFAdotc7HrqpmItuALz15ltjwQmHnnGbqddcV3jBl9pfEIrmSB+KKILYVNtxB9l3ksX0wGXkyWUeZ8eBdheDDcY332iOVKiIIR0tgcKMNKKQwyP9+ReggL4VaGBxNZGYnl3r4TXFE/FFCGEHLVa4SEdR1EhjDofkqBZ4bb30lpDGeUYkiu89t2JXTb4Yo5Qz3mglU1hmWZ6IcM01hBZVrDeFFEiipiRgE1ZYREdzaCGoFi3MKASOJql10kotZfnSTHBiWNVOd0qBp1Zj0mdIGiOMYMVNVdAYxSMCGWQqQg2lSsRDGKKnE09jp/lU0SNhdDqCCJ929EWhKLTQBamyBuvTRMRKJKywGxlh6whGWOGsESLQeCiwx1Zr7bWyckTDstxi0MENHGEr7rjWdqQst7Ya0RG57LZ70UhWQGurCM2O5O697N6EyL773hQQADs="}},"time_used":15,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/colors/theme-skin-color-set2.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.018Z","timestamp":1785123385018,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/colors/theme-skin-color-set2.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"11c6e-65fd8520-eede5442391154c2;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 5391\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":72814,"size_decoded":5832,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"c1cb3b66c24e50254d13c957966b9340","sha1":"32d1332f11de2dcfb6e532379e5a60dbb467b2ad","sha256":"92028f173798cb0013ee0f8f6e9358417e2c1aad60382f9d5bc1f043cfae707d","sha512":"f166c403d395bad347f577c2ab7d31ad2c92ab54ab30337952e7dc0f3ee88d7fd44cb6f876c7f11b87348a0904046d47090cb339ac60a733e17dab80174a5fb5","ssdeep":"384:hWJLeCsFWOkwWMY0/0Jc96nnV84tmWbm8+XVnQiu6cMX4ifIfcAZg5:A4FWOk9Jc96nnVJbm8+OSAZg5","tlshash":"3e63de54feab45577237d4d86013ce6fd7286086a54abf6cba3f70d83a9c088913e643","first_seen":"2023-07-17T13:29:23Z","last_seen":"2026-07-27T14:34:25.227533Z","times_seen":89,"resource_available":false,"data":"LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEF1dGhvcjogVGhlbWVNYXNjb3QKQFVSTDogaHR0cDovL3RoZW1lZm9yZXN0Lm5ldC91c2VyL1RoZW1lTWFzY290CgpDT0xPUiA6IEJsdWUKQ09MT1IgQ09ERTogIzExOTZDQwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKgogKiBiYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucG9zdCAuZW50cnktbWV0YS5tZXRhLWFic29sdXRlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM2LCAzNiwgNTYsIDAuOSkgIWltcG9ydGFudDsKfQoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyBhOmhvdmVyLAoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyBhLmFjdGl2ZSwKLmN1c3RvbS1uYXYtdGFicyA+IGxpID4gYTpob3ZlciwKLndpZGdldCAudGFncyBhOmhvdmVyLAoucHJvZ3Jlc3MtaXRlbSAucHJvZ3Jlc3MtYmFyLAouc21hbGwtdGl0bGUgLnRpdGxlOjphZnRlciwKLmRyb3AtY2Fwcy5jb2xvcmVkLXNxdWFyZSBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciwKLmRyb3AtY2Fwcy5jb2xvcmVkLXJvdW5kZWQgcDpmaXJzdC1jaGlsZDpmaXJzdC1sZXR0ZXIsCi53b3JraW5nLXByb2Nlc3MudGhlbWUtY29sb3JlZCBhLAoud2lkZ2V0LmRhcmsgLnRhZ3MgYTpob3ZlciwKLmJsb2ctcG9zdHMgLnBvc3QgLmVudHJ5LWNvbnRlbnQgLnBvc3QtZGF0ZS5yaWdodCwKLmhvcml6b250YWwtdGFiLWNlbnRlcmVkIC5uYXYtcGlsbHMgPiBsaSA+IGE6aG92ZXIsCi5ob3Jpem9udGFsLXRhYi1jZW50ZXJlZCAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYSwKLmhvcml6b250YWwtdGFiLWNlbnRlcmVkIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLAouaG9yaXpvbnRhbC10YWItY2VudGVyZWQgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMsCi5vd2wtdGhlbWUuZG90LXRoZW1lLWNvbG9yZWQgLm93bC1jb250cm9scyAub3dsLWRvdCBzcGFuLAoucG9ydGZvbGlvLWZpbHRlciBhLmFjdGl2ZSwKLnBvcnRmb2xpby1maWx0ZXIgYTpob3ZlciwKLnBhZ2luYXRpb24udGhlbWUtY29sb3JlZCBsaS5hY3RpdmUgYSwKLnNlY3Rpb24tdGl0bGUgLmJvdGgtc2lkZS1saW5lOjphZnRlciwKLnNlY3Rpb24tdGl0bGUgLmJvdGgtc2lkZS1saW5lOjpiZWZvcmUsCi5zZWN0aW9uLXRpdGxlIC50b3Atc2lkZS1saW5lOjphZnRlciwKLnNlY3Rpb24tdGl0bGUgLmxlZnQtc2lkZS1saW5lOjpiZWZvcmUsCi5zZWN0aW9uLXRpdGxlIC5yaWdodC1zaWRlLWxpbmU6OmJlZm9yZSwKLnByb2R1Y3QgLnRhZy1zYWxlLAoub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3BhbiwKLmJsb2ctcG9zdHMgLnBvc3Quc3R5bGUxIC5lbnRyeS1oZWFkZXIgLmVudHJ5LWRhdGUuZW50cnktZGF0ZS1hYnNvbHV0ZSwKLnRpdGxlLWRvdHMgc3BhbiB7CiAgYmFja2dyb3VuZDogIzI0MjQzODsKfQouY2QtdGltZWxpbmUtc2ltcGxlIC5jZC10aW1lbGluZS1ibG9jayAuY2QtdGltZWxpbmUtaW1nIHsKICBiYWNrZ3JvdW5kOiAjMjQyNDM4ICFpbXBvcnRhbnQ7Cn0KLnVpLXN0YXRlLWhpZ2hsaWdodCB7CiAgYmFja2dyb3VuZDogIzI0MjQzOCAhaW1wb3J0YW50OwogIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Cn0KLyoKICogdGV4dDogdGhlbWUtY29sb3IKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IGxpOmhvdmVyID4gYSwKLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5wb3N0IGE6aG92ZXIsCi5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyBsaTpob3ZlciA+IGEgaSwKLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5wb3N0IGE6aG92ZXIgaSwKLmJsb2ctcG9zdHMgLnBvc3QgLmVudHJ5LW1ldGEgbGkgaSwKLndpZGdldCAudHdpdHRlci1mZWVkIGxpOjphZnRlciwKLndpZGdldCAuYWRkcmVzcyBsaSBpLAouaWNvbi1ib3guYm94LXN0eWxlMS5wcmFjdGljZS1zdHlsZTMgaSwKLmljb24tYm94LnNlcnZpY2VzLXN0eWxlMTpob3ZlciAuaGVhZGluZywKLmhvcml6b250YWwtY29udGFjdC13aWRnZXQgLndpZGdldDo6YmVmb3JlLAouc21hbGwtdGl0bGUgaSwKLmRyb3AtY2Fwcy50ZXh0LWNvbG9yZWQgcDpmaXJzdC1jaGlsZDpmaXJzdC1sZXR0ZXIsCi5zY2hlZHVsZS1ib3g6aG92ZXIgLnNjaGVkdWxlLWRldGFpbHMgLnRpdGxlIGEsCi53aWRnZXQuZGFyayAubmF2LXRhYnMgbGkuYWN0aXZlIGEsCi5wYWdpbmF0aW9uLnRoZW1lLWNvbG9yZWQgbGkgYSwKLnBhZ2VyLnRoZW1lLWNvbG9yZWQgYSwKLndpZGdldCAucG9zdC10aXRsZSBhOmhvdmVyLAouZG9uYXRpb24tZm9ybSAuZm9ybS1ncm91cCBsYWJlbCB7CiAgY29sb3I6ICMyNDI0Mzg7Cn0KLnN0YXItcmF0aW5nIHNwYW46OmJlZm9yZSB7CiAgY29sb3I6ICMyNDI0MzggIWltcG9ydGFudDsKfQovKgogKiBib3JkZXI6IHRoZW1lLWNvbG9yCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5saW5lLWJvdHRvbTphZnRlciwKLndpZGdldCAubGluZS1ib3R0b206YWZ0ZXIsCi53aWRnZXQgLmxpbmUtYm90dG9tOmFmdGVyLAoucGFnZXIudGhlbWUtY29sb3JlZCBhLAoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1wcmV2LAoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1uZXh0IHsKICBib3JkZXI6IDFweCBzb2xpZCAjMjQyNDM4Owp9Ci5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4gewogIGJvcmRlci1jb2xvcjogIzI0MjQzODsKfQouaWNvbi1ib3guYm94LXN0eWxlMS5wcmFjdGljZS1zdHlsZTM6aG92ZXIgLmljb24td3JhcHBlcjo6YWZ0ZXIgewogIGJvcmRlci1jb2xvcjogIzI0MjQzOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKfQouc2VjdGlvbi10aXRsZS50aXRsZS1ib3JkZXIgewogIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzI0MjQzODsKfQovKiBib3JkZXItdG9wLWNvbG9yICovCi5jc3Nsb2FkLXRyaSB7CiAgYm9yZGVyLXRvcDogMjdweCBzb2xpZCAjMjQyNDM4Owp9Ci8qIGJvcmRlci1yaWdodC1jb2xvciAqLwouYm9yZGVyLXJpZ2h0LXJlZCB7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzI0MjQzODsKfQouc2VjdGlvbi10aXRsZS50aXRsZS1ib3JkZXIudGl0bGUtcmlnaHQgewogIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICMyNDI0Mzg7Cn0KLyogYm9yZGVyLWJvdHRvbS1jb2xvciAqLwouYm9yZGVyLWJvdHRvbSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNDI0Mzg7Cn0KLmNzc2xvYWQtdHJpLmNzc2xvYWQtaW52ZXJ0IHsKICBib3JkZXItYm90dG9tOiAyN3B4IHNvbGlkICMyNDI0Mzg7Cn0KLyogYm94LXNoYWRvdyAqLwovKkZvb3RlciBTdHlsZXMqLwouZm9vdGVyLWJveC1vbmUgPiBkaXYgewogIGJhY2tncm91bmQ6ICMyNDI0Mzg7Cn0KLmZvb3Rlci1ib3gtdHdvID4gZGl2IHsKICBiYWNrZ3JvdW5kOiAjMWExYTI4ICFpbXBvcnRhbnQ7Cn0KLmZvb3Rlci1ib3gtdGhyZWUgPiBkaXYgewogIGJhY2tncm91bmQ6ICMxMDEwMTkgIWltcG9ydGFudDsKfQovKiBNb2Rlcm4gSGVhZGVyICovCi5tb2Rlcm4taGVhZGVyLm1vZGVybi1oZWFkZXItdGhlbWUtY29sb3JlZCAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyOm5vdCguc2Nyb2xsLXRvLWZpeGVkLWZpeGVkKSBuYXYgewogIGJhY2tncm91bmQ6ICMyNDI0Mzg7Cn0KLm1vZGVybi1oZWFkZXIubW9kZXJuLWhlYWRlci10aGVtZS1jb2xvcmVkIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIHsKICBiYWNrZ3JvdW5kOiAjMjQyNDM4Owp9Ci8qIC0tLS0tLS0tIFRleHQgVGhlbWUgQ29sb3IgLS0tLS0tLS0tLSAqLwoudGV4dC10aGVtZS1jb2xvcmVkIHsKICBjb2xvcjogIzI0MjQzOCAhaW1wb3J0YW50Owp9Ci50ZXh0LWhvdmVyLXRoZW1lLWNvbG9yZWQ6aG92ZXIgewogIGNvbG9yOiAjMjQyNDM4ICFpbXBvcnRhbnQ7Cn0KdWwubGlzdC50aGVtZS1jb2xvcmVkIGxpOmJlZm9yZSwKdWwubGlzdC50aGVtZS1jb2xvcmVkLmFuZ2xlLWRvdWJsZS1yaWdodCBsaTpiZWZvcmUsCnVsLmxpc3QudGhlbWUtY29sb3JlZC5hbmdsZS1yaWdodCBsaTpiZWZvcmUsCnVsLmxpc3QudGhlbWUtY29sb3JlZC5jaGVjay1jaXJjbGUgbGk6YmVmb3JlLAp1bC5saXN0LnRoZW1lLWNvbG9yZWQuY2hlY2sgbGk6YmVmb3JlLAoubGlzdC1pY29uLnRoZW1lLWNvbG9yZWQgbGkgaSB7CiAgY29sb3I6ICMyNDI0Mzg7Cn0KLyogLS0tLS0tLS0gYm9yZGVyLXRoZW1lLWNvbG9yIC0tLS0tLS0tLS0gKi8KLmJvcmRlci10aGVtZS1jb2xvcmVkIHsKICBib3JkZXItY29sb3I6ICMyNDI0MzggIWltcG9ydGFudDsKfQouYm9yZGVyLTFweC10aGVtZS1jb2xvcmVkIHsKICBib3JkZXI6IDFweCBzb2xpZCAjMjQyNDM4Owp9Ci8qIGJvcmRlci1sZWZ0LWNvbG9yICovCmJsb2NrcXVvdGUudGhlbWUtY29sb3JlZCB7CiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMjQyNDM4Owp9CmJsb2NrcXVvdGUuYmctdGhlbWUtY29sb3JlZCB7CiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMTAxMDE5OwogIGNvbG9yOiAjZmZmOwp9CmJsb2NrcXVvdGUuYmctdGhlbWUtY29sb3JlZCBmb290ZXIgewogIGNvbG9yOiAjZWVlZWVlOwp9CmJsb2NrcXVvdGUuZ3JheS5iZy10aGVtZS1jb2xvcmVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlICFpbXBvcnRhbnQ7CiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMjQyNDM4OwogIGNvbG9yOiAjMjQyNDM4Owp9CmJsb2NrcXVvdGUuZ3JheS5iZy10aGVtZS1jb2xvcmVkIGZvb3RlciB7CiAgY29sb3I6ICM3Nzc3Nzc7Cn0KLyogLS0tLS0tLS0gYmctdGhlbWUtY29sb3IgLS0tLS0tLS0tLSAqLwouYmctdGhlbWUtY29sb3JlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQzOCAhaW1wb3J0YW50Owp9Ci5iZy1ob3Zlci10aGVtZS1jb2xvcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjMjQyNDM4ICFpbXBvcnRhbnQ7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4ICFpbXBvcnRhbnQ7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQouYmctaG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciBoMSwKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQ6aG92ZXIgaDIsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkOmhvdmVyIGgzLAouYmctaG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciBoNCwKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQ6aG92ZXIgaDUsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkOmhvdmVyIGg2LAouYmctaG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciBwLAouYmctaG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciBhLAouYmctaG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciBpIHsKICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Owp9Ci5saXN0LWljb24udGhlbWUtY29sb3JlZC5zcXVhcmUgbGkgaSwKLmxpc3QtaWNvbi50aGVtZS1jb2xvcmVkLnJvdW5kZWQgbGkgaSB7CiAgYmFja2dyb3VuZDogIzI0MjQzODsKfQovKiAtLS0tLS0tLSBsaWdodGVyL2RhcmtlciBiZyBDb2xvciAtLS0tLS0tLS0tICovCi5iZy10aGVtZS1jb2xvcmVkLWxpZ2h0ZXIyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgyODNlICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtbGlnaHRlcjMgewogIGJhY2tncm91bmQtY29sb3I6ICMyYTJhNDEgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1saWdodGVyNCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmM0NCAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWxpZ2h0ZXI1IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTQ4ICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtbGlnaHRlcjYgewogIGJhY2tncm91bmQtY29sb3I6ICMzMDMwNGIgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1saWdodGVyNyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMzI0ZSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWxpZ2h0ZXI4IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzNDUxICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtbGlnaHRlcjkgewogIGJhY2tncm91bmQtY29sb3I6ICMzNjM2NTQgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1kYXJrZXIyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyMDMyICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtZGFya2VyMyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUyZiAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWRhcmtlcjQgewogIGJhY2tncm91bmQtY29sb3I6ICMxYzFjMmMgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1kYXJrZXI1IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTI4ICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtZGFya2VyNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MTgyNSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWRhcmtlcjcgewogIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MjIgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1kYXJrZXI4IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDFmICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtZGFya2VyOSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzEyMTIxYyAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIFRyYW5zcGFyZW50IGJnIENvbG9yIC0tLS0tLS0tLS0gKi8KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtOSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjkpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtOCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjgpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtNyB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjcpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjYpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtNSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjUpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtNCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjQpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtMyB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjMpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtMiB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjIpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQtMSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjEpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtdHJhbnNwYXJlbnQgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzYsIDM2LCA1NiwgMC41KSAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIGxheWVyIG92ZXJsYXkgQ29sb3IgLS0tLS0tLS0tLSAqLwoubGF5ZXItb3ZlcmxheSB7CiAgLyogLm92ZXJsYXktdGhlbWUtY29sb3JlZCAqLwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM2LCAzNiwgNTYsIDAuOCk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLTE6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjEpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC0yOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzYsIDM2LCA1NiwgMC4yKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtMzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM2LCAzNiwgNTYsIDAuMyk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLTQ6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjQpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC01OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzYsIDM2LCA1NiwgMC41KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtNjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM2LCAzNiwgNTYsIDAuNik7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLTc6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDU2LCAwLjcpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC04OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzYsIDM2LCA1NiwgMC44KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtOTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM2LCAzNiwgNTYsIDAuOSk7Cn0KLyoKICogYnRuLWRlZmF1bHQ6IHRoZW1lLWNvbG9yCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZCB7CiAgY29sb3I6ICMyNDI0Mzg7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7Cn0KLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGNvbG9yOiAjMjQyNDM4OwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgY29sb3I6ICMyNDI0Mzg7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMwYzBjMTM7Cn0KLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkIHsKICBjb2xvcjogIzI0MjQzODsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzBjMGMxMzsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlOmhvdmVyLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDphY3RpdmU6Zm9jdXMsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZS5mb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBjb2xvcjogIzI0MjQzODsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0OwogIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkOmhvdmVyLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQ6Zm9jdXMsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZC5mb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7Cn0KLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkIC5iYWRnZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQzODsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQzODsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICNmZmY7Cn0KLyoKICogYnRuLWJvcmRlcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZCB7CiAgY29sb3I6ICMyNDI0Mzg7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBjb2xvcjogIzI0MjQzODsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgY29sb3I6ICMyNDI0Mzg7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMwYzBjMTM7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkIHsKICBjb2xvcjogIzI0MjQzODsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzBjMGMxMzsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDphY3RpdmU6aG92ZXIsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZTpmb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBjb2xvcjogIzI0MjQzODsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0OwogIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQ6aG92ZXIsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZDpmb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkLmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQgLmJhZGdlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDM4Owp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAxMDE5OwogIGJvcmRlci1jb2xvcjogIzEwMTAxOTsKICBjb2xvcjogI2ZmZjsKfQovKgogKiBidG4tZGFyawogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4Owp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAxMDE5OwogIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKfQouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxMDEwMTk7CiAgYm9yZGVyLWNvbG9yOiAjMGMwYzEzOwp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZCB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzEwMTAxOTsKICBib3JkZXItY29sb3I6ICMwYzBjMTM7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZTpob3ZlciwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlOmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUuZm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMDIwMzsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZDpob3ZlciwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDpob3ZlciwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkOmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQuZm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4Owp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZCAuYmFkZ2UgewogIGNvbG9yOiAjMjQyNDM4OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7Cn0KLyoKICogYnRuLWdyYXkKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkIHsKICBjb2xvcjogIzI0MjQzODsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzODU3OwogIGJvcmRlci1jb2xvcjogIzM4Mzg1NzsKfQouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgY29sb3I6ICMyNDI0Mzg7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQzODsKICBib3JkZXItY29sb3I6ICMwNjA2MDk7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyIHsKICBjb2xvcjogIzI0MjQzODsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDM4OwogIGJvcmRlci1jb2xvcjogIzIwMjAzMjsKfQouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQgewogIGNvbG9yOiAjMjQyNDM4OwogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjAyMDMyOwp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDphY3RpdmU6aG92ZXIsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDpob3ZlciwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZTpmb2N1cywKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGNvbG9yOiAjMjQyNDM4OwogIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MjI7CiAgYm9yZGVyLWNvbG9yOiAjMDYwNjA5Owp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZDpmb2N1cywKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkLmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzODU3OwogIGJvcmRlci1jb2xvcjogIzM4Mzg1NzsKfQouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQgLmJhZGdlIHsKICBjb2xvcjogIzM4Mzg1NzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDM4Owp9Ci8qCiAqIGJ0bi1wcmltYXJ5OiB0aGVtZS1jb2xvcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouYnRuLXRoZW1lLWNvbG9yZWQgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4Owp9Ci5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAxMDE5OwogIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKfQouYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxMDEwMTk7CiAgYm9yZGVyLWNvbG9yOiAjMGMwYzEzOwp9Ci5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tdGhlbWUtY29sb3JlZCB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzEwMTAxOTsKICBib3JkZXItY29sb3I6ICMwYzBjMTM7Cn0KLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZTpob3ZlciwKLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyLAouYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlOmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUuZm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMDIwMzsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi10aGVtZS1jb2xvcmVkIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZDpob3ZlciwKLmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tdGhlbWUtY29sb3JlZDpob3ZlciwKLmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkOmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQuZm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4Owp9Ci5idG4tdGhlbWUtY29sb3JlZCAuYmFkZ2UgewogIGNvbG9yOiAjMjQyNDM4OwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7Cn0KLyoKICogYnRuLXRyYW5zcGFyZW50CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tdHJhbnNwYXJlbnQgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGNvbG9yOiAjZmZmOwp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLWRhcmsgewogIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7CiAgYm9yZGVyLWNvbG9yOiAjMTExMTExOwp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLWRhcms6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4Owp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxMDEwMTk7CiAgYm9yZGVyLWNvbG9yOiAjMTAxMDE5Owp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLWJvcmRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLWJvcmRlcjpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsKICBjb2xvcjogIzAwMDsKfQouYnRuLXRyYW5zcGFyZW50LmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlci1jb2xvcjogIzI0MjQzODsKfQouYnRuLXRyYW5zcGFyZW50LmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICNmZmY7Cn0KLmJ0bi1ncmF5LmJ0bi10cmFuc3BhcmVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMzsKICBjb2xvcjogIzMzMzMzMzsKfQouYnRuLWdyYXkuYnRuLXRyYW5zcGFyZW50OmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOwogIGNvbG9yOiAjMWExYTFhOwp9Ci5idG4tZ3JheS5idG4tdHJhbnNwYXJlbnQuYnRuLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtY29sb3I6ICMzODM4NTc7CiAgY29sb3I6ICNmZmY7Cn0KLmJ0bi1ncmF5LmJ0bi10cmFuc3BhcmVudC5idG4tdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzEwMTAxOTsKICBjb2xvcjogIzEwMTAxOTsKfQouYnRuLWhvdmVyLXRoZW1lLWNvbG9yZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4OwogIGNvbG9yOiAjZmZmOwp9Ci8qCiAqIFNob3J0Y29kZTogc3R5bGVkLWljb25zIFRoZW1lIENvbG9yZWQKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmljb24tdGhlbWUtY29sb3JlZCBhIHsKICBjb2xvcjogIzI0MjQzODsKfQouaWNvbi10aGVtZS1jb2xvcmVkLmljb24tYm9yZGVyZWQgYSB7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4Owp9Ci5pY29uLXRoZW1lLWNvbG9yZWQuaWNvbi1ib3JkZXJlZCBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDM4OwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQuaWNvbi1kYXJrIGEgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tdGhlbWUtY29sb3JlZC5pY29uLWRhcmsgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzEwMTAxOTsKICBjb2xvcjogIzEwMTAxOTsKfQouaWNvbi10aGVtZS1jb2xvcmVkLmljb24tZGFyay5pY29uLWJvcmRlcmVkIGEgewogIGJvcmRlci1jb2xvcjogIzI0MjQzODsKICBjb2xvcjogIzI0MjQzODsKfQouaWNvbi10aGVtZS1jb2xvcmVkLmljb24tZGFyay5pY29uLWJvcmRlcmVkIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4OwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQuaWNvbi1ncmF5IGEgewogIGNvbG9yOiAjMjQyNDM4Owp9Ci5pY29uLXRoZW1lLWNvbG9yZWQuaWNvbi1ncmF5IGE6aG92ZXIgewogIGNvbG9yOiAjMTAxMDE5Owp9Ci5pY29uLXRoZW1lLWNvbG9yZWQuaWNvbi1ncmF5Lmljb24tYm9yZGVyZWQgYSB7CiAgY29sb3I6ICMyNDI0Mzg7Cn0KLmljb24tdGhlbWUtY29sb3JlZC5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1jb2xvcjogI2VlZWVlZTsKICBjb2xvcjogIzI0MjQzODsKfQouaWNvbi10aGVtZS1jb2xvcmVkIGE6aG92ZXIgewogIGNvbG9yOiAjMTAxMDE5Owp9Ci5pY29uLWhvdmVyLXRoZW1lLWNvbG9yZWQgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQzODsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICNmZmY7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWhvdmVyLXRoZW1lLWNvbG9yZWQgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQzODsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICNmZmY7Cn0KLyoKICogU2hvcnRjb2RlOiBJY29uIEJveGVzIFRoZW1lIENvbG9yZWQKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbiB7CiAgY29sb3I6ICMyNDI0Mzg7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLWJvcmRlci1lZmZlY3Q6OmFmdGVyIHsKICBib3gtc2hhZG93OiAwIDAgMCAzcHggIzI0MjQzODsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24tYm9yZGVyZWQgewogIGJvcmRlci1jb2xvcjogIzI0MjQzODsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLWdyYXk6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCB7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi1ncmF5Lmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4OwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi1kYXJrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDM4OwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi1kYXJrOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24tZGFyay5pY29uLWJvcmRlcmVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICMyNDI0Mzg7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLWRhcmsuaWNvbi1ib3JkZXJlZDpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQzODsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLXdoaXRlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGNvbG9yOiAjMjQyNDM4Owp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi13aGl0ZTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQzODsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24td2hpdGUuaWNvbi1ib3JkZXJlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWNvbG9yOiAjMjQyNDM4OwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi13aGl0ZS5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDM4OwogIGJvcmRlci1jb2xvcjogIzI0MjQzODsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkLmljb25ib3gtYm9yZGVyIHsKICBib3JkZXItY29sb3I6ICMyNDI0Mzg7Cn0KLyoKICogIGFjY29yZGlvbi5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5hY2NvcmRpb24tdGhlbWUtY29sb3JlZCAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDM4Owp9Ci5hY2NvcmRpb24tdGhlbWUtY29sb3JlZCAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSA+IGEsCi5hY2NvcmRpb24tdGhlbWUtY29sb3JlZCAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSA+IGE6aG92ZXIsCi5hY2NvcmRpb24tdGhlbWUtY29sb3JlZCAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSA+IGE6Zm9jdXMgewogIGNvbG9yOiAjZmZmOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhLmFjdGl2ZTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICMyNDI0Mzg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQtZmlsbGVkIC5wYW5lbC1oZWFkaW5nIHsKICBiYWNrZ3JvdW5kOiAjMjQyNDM4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkLWZpbGxlZCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYSB7CiAgY29sb3I6ICNmZmY7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQtZmlsbGVkIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogIzFlMWUyZjsKICBjb2xvcjogI2ZmZjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZC1maWxsZWQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEuYWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogIzBhMGExMDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDEyIC5wYW5lbC1oZWFkaW5nIHsKICBiYWNrZ3JvdW5kOiAjMjQyNDM4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMTIgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIGNvbG9yOiAjZmZmOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMTIgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiAjMWExYTI4OwogIGNvbG9yOiAjZmZmOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMTIgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEuYWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogI2ZmYWUxMTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLWxlZnQuYWNjb3JkaW9uLWljb24tZmlsbGVkLXRoZW1lLWNvbG9yZWQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDM4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24taWNvbi1maWxsZWQuYWNjb3JkaW9uLWljb24tcmlnaHQuYWNjb3JkaW9uLWljb24tZmlsbGVkLXRoZW1lLWNvbG9yZWQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7Cn0KLyogTW9kZXJuIEhlYWRlciAqLwoubW9kZXJuLWhlYWRlci5tb2Rlcm4taGVhZGVyLXRoZW1lLWNvbG9yZWQyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXI6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIG5hdiB7CiAgYmFja2dyb3VuZDogI2ZmYWUxMTsKfQoubW9kZXJuLWhlYWRlci5tb2Rlcm4taGVhZGVyLXRoZW1lLWNvbG9yZWQyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIHsKICBiYWNrZ3JvdW5kOiAjZmZhZTExOwp9Ci8qIC0tLS0tLS0tIFRleHQgVGhlbWUgQ29sb3IgLS0tLS0tLS0tLSAqLwoudGV4dC10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICNmZmFlMTEgIWltcG9ydGFudDsKfQoudGV4dC1ob3Zlci10aGVtZS1jb2xvcmVkMjpob3ZlciB7CiAgY29sb3I6ICNmZmFlMTEgIWltcG9ydGFudDsKfQp1bC5saXN0LnRoZW1lLWNvbG9yZWQyIGxpOmJlZm9yZSwKdWwubGlzdC50aGVtZS1jb2xvcmVkMi5hbmdsZS1kb3VibGUtcmlnaHQgbGk6YmVmb3JlLAp1bC5saXN0LnRoZW1lLWNvbG9yZWQyLmFuZ2xlLXJpZ2h0IGxpOmJlZm9yZSwKdWwubGlzdC50aGVtZS1jb2xvcmVkMi5jaGVjay1jaXJjbGUgbGk6YmVmb3JlLAp1bC5saXN0LnRoZW1lLWNvbG9yZWQyLmNoZWNrIGxpOmJlZm9yZSwKLmxpc3QtaWNvbi50aGVtZS1jb2xvcmVkMiBsaSBpIHsKICBjb2xvcjogI2ZmYWUxMTsKfQoubmF2LXRhYnMgbGkuYWN0aXZlIGEsCi5uYXYtdGFicyBsaTpob3ZlciBhLAoubmF2LXRhYnMgbGk6Zm9jdXMgewogIGJhY2tncm91bmQ6ICNmZmFlMTEgIWltcG9ydGFudDsKICBjb2xvcjogI2ZmZjsKfQouc2VydmljZXMtbGlzdCBsaS5hY3RpdmUgYSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKfQouc2VydmljZXMtbGlzdCB1bCBsaSBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGNvbG9yOiAjZmZmOwp9Ci5zZXJ2aWNlcy1saXN0IGxpLmFjdGl2ZSBhIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTExOwp9Ci8qIC0tLS0tLS0tIGJvcmRlci10aGVtZS1jb2xvciAtLS0tLS0tLS0tICovCi5ib3JkZXItdGhlbWUtY29sb3JlZDIgewogIGJvcmRlci1jb2xvcjogI2ZmYWUxMSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItMXB4LXRoZW1lLWNvbG9yZWQyIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTExOwp9Ci8qIGJvcmRlci1sZWZ0LWNvbG9yICovCmJsb2NrcXVvdGUudGhlbWUtY29sb3JlZDIgewogIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmYWUxMTsKfQpibG9ja3F1b3RlLmJnLXRoZW1lLWNvbG9yZWQyIHsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNkZDkyMDA7CiAgY29sb3I6ICNmZmY7Cn0KYmxvY2txdW90ZS5iZy10aGVtZS1jb2xvcmVkMiBmb290ZXIgewogIGNvbG9yOiAjZWVlZWVlOwp9CmJsb2NrcXVvdGUuZ3JheS5iZy10aGVtZS1jb2xvcmVkMiB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZSAhaW1wb3J0YW50OwogIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmYWUxMTsKICBjb2xvcjogI2ZmYWUxMTsKfQpibG9ja3F1b3RlLmdyYXkuYmctdGhlbWUtY29sb3JlZDIgZm9vdGVyIHsKICBjb2xvcjogIzc3Nzc3NzsKfQovKiAtLS0tLS0tLSBiZy10aGVtZS1jb2xvciAtLS0tLS0tLS0tICovCi5iZy10aGVtZS1jb2xvcmVkMiB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMSAhaW1wb3J0YW50Owp9Ci5iZy1ob3Zlci10aGVtZS1jb2xvcmVkMjpob3ZlciB7CiAgYmFja2dyb3VuZDogI2ZmYWUxMSAhaW1wb3J0YW50OwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMSAhaW1wb3J0YW50OwogIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Cn0KLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIGgxLAouYmctaG92ZXItdGhlbWUtY29sb3JlZDI6aG92ZXIgaDIsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkMjpob3ZlciBoMywKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIGg0LAouYmctaG92ZXItdGhlbWUtY29sb3JlZDI6aG92ZXIgaDUsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkMjpob3ZlciBoNiwKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIHAsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkMjpob3ZlciBhLAouYmctaG92ZXItdGhlbWUtY29sb3JlZDI6aG92ZXIgaSB7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQoubGlzdC1pY29uLnRoZW1lLWNvbG9yZWQyLnNxdWFyZSBsaSBpLAoubGlzdC1pY29uLnRoZW1lLWNvbG9yZWQyLnJvdW5kZWQgbGkgaSB7CiAgYmFja2dyb3VuZDogI2ZmYWUxMTsKfQovKiAtLS0tLS0tLSBsaWdodGVyL2RhcmtlciBiZyBDb2xvciAtLS0tLS0tLS0tICovCi5iZy10aGVtZS1jb2xvcmVkMi1saWdodGVyMiB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjExYiAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1saWdodGVyMyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjMyMCAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1saWdodGVyNCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjUyNSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1saWdodGVyNSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjcyYiAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1saWdodGVyNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjgzMCAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1saWdodGVyNyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEzNSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1saWdodGVyOCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmMzYSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1saWdodGVyOSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmUzZiAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1kYXJrZXIyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhYjA3ICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWRhcmtlcjMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmE5MDIgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZDItZGFya2VyNCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjYTYwMCAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1kYXJrZXI1IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdhMzAwICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWRhcmtlcjYgewogIGJhY2tncm91bmQtY29sb3I6ICNmMTlmMDAgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZDItZGFya2VyNyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VjOWMwMCAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1kYXJrZXI4IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTc5OTAwICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWRhcmtlcjkgewogIGJhY2tncm91bmQtY29sb3I6ICNlMjk1MDAgIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBUcmFuc3BhcmVudCBiZyBDb2xvciAtLS0tLS0tLS0tICovCi5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC05IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC45KSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC04IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC44KSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC03IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC43KSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC02IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC42KSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC01IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC41KSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC00IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC40KSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC0zIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC4zKSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC0yIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC4yKSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudC0xIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi10cmFuc3BhcmVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSkgIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBsYXllciBvdmVybGF5IENvbG9yIC0tLS0tLS0tLS0gKi8KLmxheWVyLW92ZXJsYXkgewogIC8qIC5vdmVybGF5LXRoZW1lLWNvbG9yZWQyICovCn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC44KSAhaW1wb3J0YW50Owp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItMTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyLTI6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE3NCwgMTcsIDAuMik7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi0zOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjMpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItNDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC40KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyLTU6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi02OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjYpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItNzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTc0LCAxNywgMC43KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyLTg6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE3NCwgMTcsIDAuOCk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi05OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpOwp9Ci8qCiAqIGJ0bi1kZWZhdWx0OiB0aGVtZS1jb2xvcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBjb2xvcjogI2ZmYWUxMTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyLmZvY3VzIHsKICBjb2xvcjogI2ZmYWUxMTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzkxNWYwMDsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyIHsKICBjb2xvcjogI2ZmYWUxMTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogI2QzOGIwMDsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZSwKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIgewogIGNvbG9yOiAjZmZhZTExOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjZDM4YjAwOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlOmhvdmVyLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciwKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmU6Zm9jdXMsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZS5mb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGNvbG9yOiAjZmZhZTExOwogIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7CiAgYm9yZGVyLWNvbG9yOiAjOTE1ZjAwOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkOmhvdmVyLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQ6Zm9jdXMsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZC5mb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyLmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyIC5iYWRnZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZSwKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKICBib3JkZXItY29sb3I6ICNmZmFlMTE7CiAgY29sb3I6ICNmZmY7Cn0KLyoKICogYnRuLWJvcmRlcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIgewogIGNvbG9yOiAjZmZhZTExOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZmZhZTExOwp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyLmZvY3VzIHsKICBjb2xvcjogI2ZmYWUxMTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzkxNWYwMDsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIgewogIGNvbG9yOiAjZmZhZTExOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjZDM4YjAwOwp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICNmZmFlMTE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICNkMzhiMDA7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZTpob3ZlciwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlOmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUuZm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgY29sb3I6ICNmZmFlMTE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDsKICBib3JkZXItY29sb3I6ICM5MTVmMDA7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZSwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZDpob3ZlciwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkOmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQuZm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZmZhZTExOwp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMiAuYmFkZ2UgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNkZDkyMDA7CiAgYm9yZGVyLWNvbG9yOiAjZGQ5MjAwOwogIGNvbG9yOiAjZmZmOwp9Ci8qCiAqIGJ0bi1kYXJrCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7CiAgYm9yZGVyLWNvbG9yOiAjZmZhZTExOwp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNkZDkyMDA7CiAgYm9yZGVyLWNvbG9yOiAjOTE1ZjAwOwp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNkZDkyMDA7CiAgYm9yZGVyLWNvbG9yOiAjZDM4YjAwOwp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RkOTIwMDsKICBib3JkZXItY29sb3I6ICNkMzhiMDA7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmU6aG92ZXIsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZTpmb2N1cywKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogI2I5N2EwMDsKICBib3JkZXItY29sb3I6ICM5MTVmMDA7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZDpmb2N1cywKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkLmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7CiAgYm9yZGVyLWNvbG9yOiAjZmZhZTExOwp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIgLmJhZGdlIHsKICBjb2xvcjogI2ZmYWUxMTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci8qCiAqIGJ0bi1ncmF5CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIgewogIGNvbG9yOiAjZmZhZTExOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmJmNDQ7CiAgYm9yZGVyLWNvbG9yOiAjZmZiZjQ0Owp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGNvbG9yOiAjZmZhZTExOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7CiAgYm9yZGVyLWNvbG9yOiAjYzM4MTAwOwp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIgewogIGNvbG9yOiAjZmZhZTExOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7CiAgYm9yZGVyLWNvbG9yOiAjZmZhYjA3Owp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICNmZmFlMTE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKICBib3JkZXItY29sb3I6ICNmZmFiMDc7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmU6aG92ZXIsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZTpmb2N1cywKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgY29sb3I6ICNmZmFlMTE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VjOWMwMDsKICBib3JkZXItY29sb3I6ICNjMzgxMDA7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZDpmb2N1cywKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkLmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmJmNDQ7CiAgYm9yZGVyLWNvbG9yOiAjZmZiZjQ0Owp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIgLmJhZGdlIHsKICBjb2xvcjogI2ZmYmY0NDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwp9Ci8qCiAqIGJ0bi1wcmltYXJ5OiB0aGVtZS1jb2xvcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKfQouYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWQyLmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQ5MjAwOwogIGJvcmRlci1jb2xvcjogIzkxNWYwMDsKfQouYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQ5MjAwOwogIGJvcmRlci1jb2xvcjogI2QzOGIwMDsKfQouYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZSwKLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tdGhlbWUtY29sb3JlZDIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNkZDkyMDA7CiAgYm9yZGVyLWNvbG9yOiAjZDM4YjAwOwp9Ci5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlOmhvdmVyLAouYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciwKLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmU6Zm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZS5mb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICNiOTdhMDA7CiAgYm9yZGVyLWNvbG9yOiAjOTE1ZjAwOwp9Ci5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkOmhvdmVyLAouYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIsCi5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQ6Zm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZC5mb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXRoZW1lLWNvbG9yZWQyLmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKfQouYnRuLXRoZW1lLWNvbG9yZWQyIC5iYWRnZSB7CiAgY29sb3I6ICNmZmFlMTE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQouYnRuLWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKICBjb2xvcjogI2ZmZjsKfQovKgogKiBTaG9ydGNvZGU6IHN0eWxlZC1pY29ucyBUaGVtZSBDb2xvcmVkCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5pY29uLXRoZW1lLWNvbG9yZWQyIGEgewogIGNvbG9yOiAjZmZhZTExOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyLmljb24tYm9yZGVyZWQgYSB7CiAgYm9yZGVyLWNvbG9yOiAjZmZhZTExOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyLmljb24tYm9yZGVyZWQgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi10aGVtZS1jb2xvcmVkMi5pY29uLWRhcmsgYSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi10aGVtZS1jb2xvcmVkMi5pY29uLWRhcmsgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RkOTIwMDsKICBjb2xvcjogI2RkOTIwMDsKfQouaWNvbi10aGVtZS1jb2xvcmVkMi5pY29uLWRhcmsuaWNvbi1ib3JkZXJlZCBhIHsKICBib3JkZXItY29sb3I6ICNmZmFlMTE7CiAgY29sb3I6ICNmZmFlMTE7Cn0KLmljb24tdGhlbWUtY29sb3JlZDIuaWNvbi1kYXJrLmljb24tYm9yZGVyZWQgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKICBib3JkZXItY29sb3I6ICNmZmFlMTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tdGhlbWUtY29sb3JlZDIuaWNvbi1ncmF5IGEgewogIGNvbG9yOiAjZmZhZTExOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyLmljb24tZ3JheSBhOmhvdmVyIHsKICBjb2xvcjogI2RkOTIwMDsKfQouaWNvbi10aGVtZS1jb2xvcmVkMi5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCBhIHsKICBjb2xvcjogI2ZmYWUxMTsKfQouaWNvbi10aGVtZS1jb2xvcmVkMi5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1jb2xvcjogI2VlZWVlZTsKICBjb2xvcjogI2ZmYWUxMTsKfQouaWNvbi10aGVtZS1jb2xvcmVkMiBhOmhvdmVyIHsKICBjb2xvcjogI2RkOTIwMDsKfQouaWNvbi1ob3Zlci10aGVtZS1jb2xvcmVkMiBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKICBjb2xvcjogI2ZmZjsKfQouc3R5bGVkLWljb25zLmljb24taG92ZXItdGhlbWUtY29sb3JlZDIgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKICBib3JkZXItY29sb3I6ICNmZmFlMTE7CiAgY29sb3I6ICNmZmY7Cn0KLyoKICogU2hvcnRjb2RlOiBJY29uIEJveGVzIFRoZW1lIENvbG9yZWQKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24gewogIGNvbG9yOiAjZmZhZTExOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tYm9yZGVyLWVmZmVjdDo6YWZ0ZXIgewogIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjZmZhZTExOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tYm9yZGVyZWQgewogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbi5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tZ3JheTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbi5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCB7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tZ3JheS5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbi5pY29uLWRhcmsgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi1kYXJrOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbi5pY29uLWRhcmsuaWNvbi1ib3JkZXJlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWNvbG9yOiAjZmZhZTExOwogIGNvbG9yOiAjZmZhZTExOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tZGFyay5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbi5pY29uLXdoaXRlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGNvbG9yOiAjZmZhZTExOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24td2hpdGU6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi13aGl0ZS5pY29uLWJvcmRlcmVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXItY29sb3I6ICNmZmFlMTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi13aGl0ZS5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTExOwogIGJvcmRlci1jb2xvcjogI2ZmYWUxMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMi5pY29uYm94LWJvcmRlciB7CiAgYm9yZGVyLWNvbG9yOiAjZmZhZTExOwp9Ci8qCiAqICBhY2NvcmRpb24ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouYWNjb3JkaW9uLXRoZW1lLWNvbG9yZWQyIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7Cn0KLmFjY29yZGlvbi10aGVtZS1jb2xvcmVkMiAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSA+IGEsCi5hY2NvcmRpb24tdGhlbWUtY29sb3JlZDIgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgPiBhOmhvdmVyLAouYWNjb3JkaW9uLXRoZW1lLWNvbG9yZWQyIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlID4gYTpmb2N1cyB7CiAgY29sb3I6ICNmZmY7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQyIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhLmFjdGl2ZTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICNmZmFlMTE7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQyLWZpbGxlZCAucGFuZWwtaGVhZGluZyB7CiAgYmFja2dyb3VuZDogI2ZmYWUxMTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDItZmlsbGVkIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhIHsKICBjb2xvcjogI2ZmZjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDItZmlsbGVkIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogI2ZmYTkwMjsKICBjb2xvcjogI2ZmZjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDItZmlsbGVkIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhLmFjdGl2ZTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICNjZTg4MDA7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQyMSAucGFuZWwtaGVhZGluZyB7CiAgYmFja2dyb3VuZDogI2ZmYWUxMTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDIxIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhIHsKICBjb2xvcjogI2ZmZjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDIxIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogI2Y3YTMwMDsKICBjb2xvcjogI2ZmZjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDIxIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhLmFjdGl2ZTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICMyNDI0Mzg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWZpbGxlZC5hY2NvcmRpb24taWNvbi1sZWZ0LmFjY29yZGlvbi1pY29uLWZpbGxlZC10aGVtZS1jb2xvcmVkMiAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWZpbGxlZC5hY2NvcmRpb24taWNvbi1yaWdodC5hY2NvcmRpb24taWNvbi1maWxsZWQtdGhlbWUtY29sb3JlZDIgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMTE7Cn0KLyoKICogIGNvbW1vbi5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qCiAqIGN1c3RvbS10aGVtZS1jb2xvci1zZXQubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKgogKiBjdXN0b20tdGhlbWUtY29sb3IxLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmZvcm0tdHJhbnNwYXJlbnQgc2VsZWN0IG9wdGlvbiB7CiAgYmFja2dyb3VuZDogcmdiYSgzNiwgMzYsIDU2LCAwLjkpOwp9Ci8qCiAqIGN1c3RvbS10aGVtZS1jb2xvcjIubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouZG91YmxlLWxpbmUtYm90dG9tLXRoZW1lLWNvbG9yZWQyOmFmdGVyLAouZG91YmxlLWxpbmUtYm90dG9tLXRoZW1lLWNvbG9yZWQyOmJlZm9yZSwKLmRvdWJsZS1saW5lLWJvdHRvbS1jZW50ZXJlZC10aGVtZS1jb2xvcmVkMjphZnRlciwKLmRvdWJsZS1saW5lLWJvdHRvbS1jZW50ZXJlZC10aGVtZS1jb2xvcmVkMjpiZWZvcmUsCi5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDI6YmVmb3JlLAouZGlhbW9uZC1saW5lLWxlZnQtdGhlbWUtY29sb3JlZDI6YmVmb3JlLAoubGluZS1ib3R0b20tdGhlbWUtY29sb3JlZDI6YWZ0ZXIsCi5saW5lLWJvdHRvbS1jZW50ZXJlZDo6YWZ0ZXIsCi5saW5lLWJvdHRvbS1yb3VuZGVkLXRoZW1lLWNvbG9yZWQyOmFmdGVyLAoubGluZS1ib3R0b20tZG91YmxlLWxpbmUtY2VudGVyZWQ6OmJlZm9yZSwKLmxpbmUtYm90dG9tLWRvdWJsZS1saW5lLWNlbnRlcmVkOjphZnRlciB7CiAgYmFja2dyb3VuZDogI2ZmYWUxMTsKfQouZGlhbW9uZC1saW5lLWNlbnRlcmVkLXRoZW1lLWNvbG9yZWQyOjpiZWZvcmUsCi5kaWFtb25kLWxpbmUtbGVmdC10aGVtZS1jb2xvcmVkMjo6YmVmb3JlIHsKICBib3gtc2hhZG93OiAwIDAgM3B4IDNweCByZ2JhKDI1NSwgMTc0LCAxNywgMC40KTsKfQouZGlhbW9uZC1saW5lLWNlbnRlcmVkLXRoZW1lLWNvbG9yZWQyOmFmdGVyLAouZGlhbW9uZC1saW5lLWxlZnQtdGhlbWUtY29sb3JlZDI6YWZ0ZXIgewogIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMTE7Cn0KLnRlYW0tbWVtYmVyIC50ZWFtLXRodW1iIC5vdmVybGF5IHsKICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCAzNiwgNTYsIDAuOSk7Cn0KLnByb2plY3QtZGV0YWlscyB7CiAgYmFja2dyb3VuZDogcmdiYSgzNiwgMzYsIDU2LCAwLjkpOwp9Ci8qCiAqICBHcmFkaWVudHMgQkcrQkdUcmFuc3BhcmVudCBDb2xvcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiBHcmFkaWVudCBCRyBDb2xvcnMgKi8KLmJnLXRoZW1lLWNvbG9yZWQtZ3JhZGllbnQgewogIGJhY2tncm91bmQtY29sb3I6ICMxMDEwMTk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjMTAxMDE5KSwgdG8oIzRjNGM3NikpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzEwMTAxOSwgIzRjNGM3Nik7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMTAxMDE5LCAjNGM0Yzc2KTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzEwMTAxOSwgIzRjNGM3Nik7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzEwMTAxOSwgIzRjNGM3Nik7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtZ3JhZGllbnQtaG9yaXpvbnRhbCB7CiAgYmFja2dyb3VuZDogIzEwMTAxOTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSgjMTAxMDE5KSwgdG8oIzRjNGM3NikpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMxMDEwMTksICM0YzRjNzYpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICMxMDEwMTksICM0YzRjNzYpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgIzEwMTAxOSwgIzRjNGM3Nik7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICMxMDEwMTksICM0YzRjNzYpOwp9Ci5iZy10aGVtZS1jb2xvcmVkMi1ncmFkaWVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2RkOTIwMDsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNkZDkyMDApLCB0bygjZmZkMTc3KSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZGQ5MjAwLCAjZmZkMTc3KTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNkZDkyMDAsICNmZmQxNzcpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZGQ5MjAwLCAjZmZkMTc3KTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZGQ5MjAwLCAjZmZkMTc3KTsKfQouYmctdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtaG9yaXpvbnRhbCB7CiAgYmFja2dyb3VuZDogI2RkOTIwMDsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSgjZGQ5MjAwKSwgdG8oI2ZmZDE3NykpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNkZDkyMDAsICNmZmQxNzcpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNkZDkyMDAsICNmZmQxNzcpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgI2RkOTIwMCwgI2ZmZDE3Nyk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNkZDkyMDAsICNmZmQxNzcpOwp9Ci5iZy10aGVtZS1jb2xvcmVkMTItZ3JhZGllbnQgewogIGJhY2tncm91bmQtY29sb3I6ICMyNDI0Mzg7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjMjQyNDM4KSwgdG8oI2ZmYWUxMSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzI0MjQzOCwgI2ZmYWUxMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMjQyNDM4LCAjZmZhZTExKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzI0MjQzOCwgI2ZmYWUxMSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzI0MjQzOCwgI2ZmYWUxMSk7Cn0KLmJnLXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudC1ob3Jpem9udGFsIHsKICBiYWNrZ3JvdW5kOiAjMjQyNDM4OwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKCMyNDI0MzgpLCB0bygjZmZhZTExKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzI0MjQzOCwgI2ZmYWUxMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzI0MjQzOCwgI2ZmYWUxMSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMjQyNDM4LCAjZmZhZTExKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgIzI0MjQzOCwgI2ZmYWUxMSk7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyMS1ncmFkaWVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUxMTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmZmFlMTEpLCB0bygjMjQyNDM4KSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZhZTExLCAjMjQyNDM4KTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmFlMTEsICMyNDI0MzgpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZhZTExLCAjMjQyNDM4KTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZhZTExLCAjMjQyNDM4KTsKfQouYmctdGhlbWUtY29sb3JlZDIxLWdyYWRpZW50LWhvcml6b250YWwgewogIGJhY2tncm91bmQ6ICNmZmFlMTE7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oI2ZmYWUxMSksIHRvKCMyNDI0MzgpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZhZTExLCAjMjQyNDM4KTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZhZTExLCAjMjQyNDM4KTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZmFlMTEsICMyNDI0MzgpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZhZTExLCAjMjQyNDM4KTsKfQovKiAtLS0tLS0tLSBsYXllciBvdmVybGF5IGdyYWRpZW50IENvbG9yMSAtLS0tLS0tLS0tICovCi5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCAzNiwgNTYsIDAuOSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgzNiwgMzYsIDU2LCAwLjkpKSwgdG8ocmdiYSg3NiwgNzYsIDExOCwgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSg3NiwgNzYsIDExOCwgMC45KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjkpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSg3NiwgNzYsIDExOCwgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSg3NiwgNzYsIDExOCwgMC45KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLWdyYWRpZW50LTE6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgzNiwgMzYsIDU2LCAwLjEpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMzYsIDM2LCA1NiwgMC4xKSksIHRvKHJnYmEoNzYsIDc2LCAxMTgsIDAuMSkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuMSksIHJnYmEoNzYsIDc2LCAxMTgsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC4xKSwgcmdiYSg3NiwgNzYsIDExOCwgMC4xKSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuMSksIHJnYmEoNzYsIDc2LCAxMTgsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuMSksIHJnYmEoNzYsIDc2LCAxMTgsIDAuMSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC0yOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMzYsIDM2LCA1NiwgMC4yKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDM2LCAzNiwgNTYsIDAuMikpLCB0byhyZ2JhKDc2LCA3NiwgMTE4LCAwLjIpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjIpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjIpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuMiksIHJnYmEoNzYsIDc2LCAxMTgsIDAuMikpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjIpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjIpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjIpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjIpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtZ3JhZGllbnQtMzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCAzNiwgNTYsIDAuMyk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgzNiwgMzYsIDU2LCAwLjMpKSwgdG8ocmdiYSg3NiwgNzYsIDExOCwgMC4zKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC4zKSwgcmdiYSg3NiwgNzYsIDExOCwgMC4zKSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjMpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjMpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC4zKSwgcmdiYSg3NiwgNzYsIDExOCwgMC4zKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC4zKSwgcmdiYSg3NiwgNzYsIDExOCwgMC4zKSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLWdyYWRpZW50LTQ6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgzNiwgMzYsIDU2LCAwLjQpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMzYsIDM2LCA1NiwgMC40KSksIHRvKHJnYmEoNzYsIDc2LCAxMTgsIDAuNCkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNCksIHJnYmEoNzYsIDc2LCAxMTgsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC40KSwgcmdiYSg3NiwgNzYsIDExOCwgMC40KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNCksIHJnYmEoNzYsIDc2LCAxMTgsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNCksIHJnYmEoNzYsIDc2LCAxMTgsIDAuNCkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC01OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMzYsIDM2LCA1NiwgMC41KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDM2LCAzNiwgNTYsIDAuNSkpLCB0byhyZ2JhKDc2LCA3NiwgMTE4LCAwLjUpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjUpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjUpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNSksIHJnYmEoNzYsIDc2LCAxMTgsIDAuNSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjUpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjUpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjUpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjUpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtZ3JhZGllbnQtNjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCAzNiwgNTYsIDAuNik7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgzNiwgMzYsIDU2LCAwLjYpKSwgdG8ocmdiYSg3NiwgNzYsIDExOCwgMC42KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC42KSwgcmdiYSg3NiwgNzYsIDExOCwgMC42KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjYpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjYpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC42KSwgcmdiYSg3NiwgNzYsIDExOCwgMC42KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC42KSwgcmdiYSg3NiwgNzYsIDExOCwgMC42KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLWdyYWRpZW50LTc6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgzNiwgMzYsIDU2LCAwLjcpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMzYsIDM2LCA1NiwgMC43KSksIHRvKHJnYmEoNzYsIDc2LCAxMTgsIDAuNykpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNyksIHJnYmEoNzYsIDc2LCAxMTgsIDAuNykpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC43KSwgcmdiYSg3NiwgNzYsIDExOCwgMC43KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNyksIHJnYmEoNzYsIDc2LCAxMTgsIDAuNykpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNyksIHJnYmEoNzYsIDc2LCAxMTgsIDAuNykpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC04OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMzYsIDM2LCA1NiwgMC44KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDM2LCAzNiwgNTYsIDAuOCkpLCB0byhyZ2JhKDc2LCA3NiwgMTE4LCAwLjgpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjgpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjgpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuOCksIHJnYmEoNzYsIDc2LCAxMTgsIDAuOCkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjgpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjgpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjgpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjgpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtZ3JhZGllbnQtOTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCAzNiwgNTYsIDAuOSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgzNiwgMzYsIDU2LCAwLjkpKSwgdG8ocmdiYSg3NiwgNzYsIDExOCwgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSg3NiwgNzYsIDExOCwgMC45KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjkpLCByZ2JhKDc2LCA3NiwgMTE4LCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSg3NiwgNzYsIDExOCwgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSg3NiwgNzYsIDExOCwgMC45KSk7Cn0KLyogLS0tLS0tLS0gbGF5ZXIgb3ZlcmxheSBncmFkaWVudCBDb2xvcjIgLS0tLS0tLS0tLSAqLwoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyLWdyYWRpZW50OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjkpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC45KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC45KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC45KSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC45KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC0xOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjEpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjEpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4xKSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4xKSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjEpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4xKSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC0yOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjIpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjIpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjIpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMiksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4yKSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMiksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4yKSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC4yKSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjIpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMiksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4yKSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC0zOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjMpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjMpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjMpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMyksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4zKSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMyksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4zKSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC4zKSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjMpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMyksIHJnYmEoMjU1LCAyMDksIDExOSwgMC4zKSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC00OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjQpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjQpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjQpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNCksIHJnYmEoMjU1LCAyMDksIDExOSwgMC40KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNCksIHJnYmEoMjU1LCAyMDksIDExOSwgMC40KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC40KSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjQpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNCksIHJnYmEoMjU1LCAyMDksIDExOSwgMC40KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC01OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjUpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjUpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC41KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC41KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC41KSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjUpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC41KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC02OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjYpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjYpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjYpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNiksIHJnYmEoMjU1LCAyMDksIDExOSwgMC42KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNiksIHJnYmEoMjU1LCAyMDksIDExOSwgMC42KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC42KSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjYpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNiksIHJnYmEoMjU1LCAyMDksIDExOSwgMC42KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC03OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjcpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjcpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjcpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNyksIHJnYmEoMjU1LCAyMDksIDExOSwgMC43KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNyksIHJnYmEoMjU1LCAyMDksIDExOSwgMC43KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC43KSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjcpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNyksIHJnYmEoMjU1LCAyMDksIDExOSwgMC43KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC04OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjgpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjgpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjgpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOCksIHJnYmEoMjU1LCAyMDksIDExOSwgMC44KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOCksIHJnYmEoMjU1LCAyMDksIDExOSwgMC44KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC44KSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjgpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOCksIHJnYmEoMjU1LCAyMDksIDExOSwgMC44KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC05OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpKSwgdG8ocmdiYSgyNTUsIDIwOSwgMTE5LCAwLjkpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC45KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC45KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC45KSwgcmdiYSgyNTUsIDIwOSwgMTE5LCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSksIHJnYmEoMjU1LCAyMDksIDExOSwgMC45KSk7Cn0KLyogLS0tLS0tLS0gbGF5ZXIgb3ZlcmxheSBncmFkaWVudCBDb2xvciBDb21iaW5lZCAxMiAtLS0tLS0tLS0tICovCi5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDEyLWdyYWRpZW50OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMzYsIDM2LCA1NiwgMC45KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDM2LCAzNiwgNTYsIDAuOSkpLCB0byhyZ2JhKDI1NSwgMTc0LCAxNywgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjkpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDEyLWdyYWRpZW50LTE6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgzNiwgMzYsIDU2LCAwLjEpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMzYsIDM2LCA1NiwgMC4xKSksIHRvKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjEpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjEpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuMSksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjEpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjEpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMTItZ3JhZGllbnQtMjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCAzNiwgNTYsIDAuMik7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgzNiwgMzYsIDU2LCAwLjIpKSwgdG8ocmdiYSgyNTUsIDE3NCwgMTcsIDAuMikpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuMiksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjIpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuMiksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjIpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC4yKSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMikpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuMiksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjIpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudC0zOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMzYsIDM2LCA1NiwgMC4zKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDM2LCAzNiwgNTYsIDAuMykpLCB0byhyZ2JhKDI1NSwgMTc0LCAxNywgMC4zKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC4zKSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMykpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC4zKSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMykpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjMpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC4zKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC4zKSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMykpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDEyLWdyYWRpZW50LTQ6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgzNiwgMzYsIDU2LCAwLjQpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMzYsIDM2LCA1NiwgMC40KSksIHRvKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjQpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjQpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC40KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjQpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC40KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNCksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjQpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjQpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC40KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMTItZ3JhZGllbnQtNTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCAzNiwgNTYsIDAuNSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgzNiwgMzYsIDU2LCAwLjUpKSwgdG8ocmdiYSgyNTUsIDE3NCwgMTcsIDAuNSkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNSksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjUpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNSksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjUpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC41KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNSksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjUpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudC02OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMzYsIDM2LCA1NiwgMC42KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDM2LCAzNiwgNTYsIDAuNikpLCB0byhyZ2JhKDI1NSwgMTc0LCAxNywgMC42KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC42KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNikpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC42KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNikpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjYpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC42KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC42KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNikpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDEyLWdyYWRpZW50LTc6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgzNiwgMzYsIDU2LCAwLjcpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMzYsIDM2LCA1NiwgMC43KSksIHRvKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjcpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjcpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC43KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjcpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC43KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuNyksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjcpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjcpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC43KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMTItZ3JhZGllbnQtODo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCAzNiwgNTYsIDAuOCk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgzNiwgMzYsIDU2LCAwLjgpKSwgdG8ocmdiYSgyNTUsIDE3NCwgMTcsIDAuOCkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuOCksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjgpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuOCksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjgpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC44KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOCkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM2LCAzNiwgNTYsIDAuOCksIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjgpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudC05OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMzYsIDM2LCA1NiwgMC45KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDM2LCAzNiwgNTYsIDAuOSkpLCB0byhyZ2JhKDI1NSwgMTc0LCAxNywgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNiwgMzYsIDU2LCAwLjkpLCByZ2JhKDI1NSwgMTc0LCAxNywgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMzYsIDM2LCA1NiwgMC45KSwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSkpOwp9Ci8qIC0tLS0tLS0tIGxheWVyIG92ZXJsYXkgZ3JhZGllbnQgQ29sb3IgQ29tYmluZWQgMjEgLS0tLS0tLS0tLSAqLwoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyMS1ncmFkaWVudDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc0LCAxNywgMC45KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDI1NSwgMTc0LCAxNywgMC45KSksIHRvKHJnYmEoMzYsIDM2LCA1NiwgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpLCByZ2JhKDM2LCAzNiwgNTYsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpLCByZ2JhKDM2LCAzNiwgNTYsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSksIHJnYmEoMzYsIDM2LCA1NiwgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpLCByZ2JhKDM2LCAzNiwgNTYsIDAuOSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDIxLWdyYWRpZW50LTE6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE3NCwgMTcsIDAuMSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgyNTUsIDE3NCwgMTcsIDAuMSkpLCB0byhyZ2JhKDM2LCAzNiwgNTYsIDAuMSkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKSwgcmdiYSgzNiwgMzYsIDU2LCAwLjEpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKSwgcmdiYSgzNiwgMzYsIDU2LCAwLjEpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjEpLCByZ2JhKDM2LCAzNiwgNTYsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC4xKSwgcmdiYSgzNiwgMzYsIDU2LCAwLjEpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyMS1ncmFkaWVudC0yOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjIpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjIpKSwgdG8ocmdiYSgzNiwgMzYsIDU2LCAwLjIpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMiksIHJnYmEoMzYsIDM2LCA1NiwgMC4yKSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMiksIHJnYmEoMzYsIDM2LCA1NiwgMC4yKSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC4yKSwgcmdiYSgzNiwgMzYsIDU2LCAwLjIpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMiksIHJnYmEoMzYsIDM2LCA1NiwgMC4yKSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMjEtZ3JhZGllbnQtMzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc0LCAxNywgMC4zKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDI1NSwgMTc0LCAxNywgMC4zKSksIHRvKHJnYmEoMzYsIDM2LCA1NiwgMC4zKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjMpLCByZ2JhKDM2LCAzNiwgNTYsIDAuMykpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjMpLCByZ2JhKDM2LCAzNiwgNTYsIDAuMykpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuMyksIHJnYmEoMzYsIDM2LCA1NiwgMC4zKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjMpLCByZ2JhKDM2LCAzNiwgNTYsIDAuMykpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDIxLWdyYWRpZW50LTQ6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE3NCwgMTcsIDAuNCk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgyNTUsIDE3NCwgMTcsIDAuNCkpLCB0byhyZ2JhKDM2LCAzNiwgNTYsIDAuNCkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC40KSwgcmdiYSgzNiwgMzYsIDU2LCAwLjQpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC40KSwgcmdiYSgzNiwgMzYsIDU2LCAwLjQpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjQpLCByZ2JhKDM2LCAzNiwgNTYsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC40KSwgcmdiYSgzNiwgMzYsIDU2LCAwLjQpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyMS1ncmFkaWVudC01OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjUpKSwgdG8ocmdiYSgzNiwgMzYsIDU2LCAwLjUpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSksIHJnYmEoMzYsIDM2LCA1NiwgMC41KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSksIHJnYmEoMzYsIDM2LCA1NiwgMC41KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC41KSwgcmdiYSgzNiwgMzYsIDU2LCAwLjUpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNSksIHJnYmEoMzYsIDM2LCA1NiwgMC41KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMjEtZ3JhZGllbnQtNjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc0LCAxNywgMC42KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDI1NSwgMTc0LCAxNywgMC42KSksIHRvKHJnYmEoMzYsIDM2LCA1NiwgMC42KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjYpLCByZ2JhKDM2LCAzNiwgNTYsIDAuNikpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjYpLCByZ2JhKDM2LCAzNiwgNTYsIDAuNikpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuNiksIHJnYmEoMzYsIDM2LCA1NiwgMC42KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjYpLCByZ2JhKDM2LCAzNiwgNTYsIDAuNikpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDIxLWdyYWRpZW50LTc6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE3NCwgMTcsIDAuNyk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgyNTUsIDE3NCwgMTcsIDAuNykpLCB0byhyZ2JhKDM2LCAzNiwgNTYsIDAuNykpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC43KSwgcmdiYSgzNiwgMzYsIDU2LCAwLjcpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC43KSwgcmdiYSgzNiwgMzYsIDU2LCAwLjcpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjcpLCByZ2JhKDM2LCAzNiwgNTYsIDAuNykpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC43KSwgcmdiYSgzNiwgMzYsIDU2LCAwLjcpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyMS1ncmFkaWVudC04OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzQsIDE3LCAwLjgpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjU1LCAxNzQsIDE3LCAwLjgpKSwgdG8ocmdiYSgzNiwgMzYsIDU2LCAwLjgpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOCksIHJnYmEoMzYsIDM2LCA1NiwgMC44KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOCksIHJnYmEoMzYsIDM2LCA1NiwgMC44KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMTc0LCAxNywgMC44KSwgcmdiYSgzNiwgMzYsIDU2LCAwLjgpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOCksIHJnYmEoMzYsIDM2LCA1NiwgMC44KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMjEtZ3JhZGllbnQtOTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc0LCAxNywgMC45KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDI1NSwgMTc0LCAxNywgMC45KSksIHRvKHJnYmEoMzYsIDM2LCA1NiwgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpLCByZ2JhKDM2LCAzNiwgNTYsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpLCByZ2JhKDM2LCAzNiwgNTYsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDE3NCwgMTcsIDAuOSksIHJnYmEoMzYsIDM2LCA1NiwgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAxNzQsIDE3LCAwLjkpLCByZ2JhKDM2LCAzNiwgNTYsIDAuOSkpOwp9Cg=="}},"time_used":267,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":188,"receive":79,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/logo.png","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.243Z","timestamp":1785123386243,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/logo.png HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:26 GMT\r\ncontent-type: image/png\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"f43-65fd8520-db0d2633a61cda2c;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 3907\r\ndate: Mon, 27 Jul 2026 03:36:26 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3907,"size_decoded":4302,"mime_type":"image/png","magic":"PNG image data, 2 x 3, 8-bit/color RGBA, non-interlaced","md5":"867a1400124bc728c69efa9bb6b49310","sha1":"e3f974fad2661e1093d6eba0685983e144df798f","sha256":"dd2fdad62627a7a23572d81e55003d0caff6b75e6c6686c509cf3e2bcec44edd","sha512":"0cb8c65197a7607d133f4ae530781aec28d97e1a36aa92a26e62061c9e7529c645fc5fe473c69bb1f0b44d981de8e81bc24018db29158bbf1ccb81c73ee4b251","ssdeep":"","tlshash":"d7814c3859d61171c458d3b1c9c11508d8f68adffe56e215bbcc8da36f406c5643768c","first_seen":"2025-07-07T00:18:26.17188Z","last_seen":"2026-07-27T03:38:03.734455Z","times_seen":7,"resource_available":false,"data":"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lxwAB3IPPP859ecbB8MPthxiHao7bHW48gj9SHE9Up9f39cgbOhuTG7sODrxaEuTd9ORX8b9svuY+bGK43rHV55QO1F4YvBkwcn+Zmnzy1MZpx61zGi5c3ry6WtnJp1pPxt+9vy5kHOnW9mtJ8/7nD92wevC0Yusiw2X3C/Vt7m1HfnV7dcj7e7t9Zc9Ljde8bzS1DGh40SnX+epq0FXz13jXLt0Pep6x42EGze7pnZ13+TffHpLfOv17bzbA3cW3iXcLb6nda/svvH9qt/sftvf7d59/EHQg7aHcQ/vPOI9evFY/vhLT2EvtbfsidmT6qfOT489C3l25fmU5z0vpC8GXhb9S/tfla9sXx3+3f/3tr7JfT2vZa8H35S+NXy7+53ru5b+mP7777PfD3wo/mj4cc8n1qfWz0mfnwzM+kL6Uv7V7mvTt/BvdwezBwelXBlXtRXAYEPT0wF4sxvuE5IBoF+B284pQ2cglSFD5zYVAv+Eh85JKnMHYEcz3L34A5AA+23KY8dCqA3/x8AW7w9QF5c/2rDJ012ch7TUG+DWpGxw8C3c45PsAPjaNTg40DA4+HUXXOxtAJrfD529lMZ8DPcy2eAfbOhc9qcY/94D5Qpcwd/7fwMrNGjOuKFR/wAAAGJlWElmTU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA5KGAAcAAAASAAAAUKACAAQAAAABAAAAAqADAAQAAAABAAAAAwAAAABBU0NJSQAAAFNjcmVlbnNob3Q9ms0gAAACOWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CvU3O+MAAAALSURBVAgdY2DACQAAGwABPdl6wQAAAABJRU5ErkJggg=="}},"time_used":98,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":98,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.584Z","timestamp":1785123386584,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 397542\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":20284,"size_decoded":4799,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-07-31T12:14:51.355902Z","times_seen":18946,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/images/cleardot.gif","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.590Z","timestamp":1785123386590,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /images/cleardot.gif HTTP/1.1\r\nHost: www.google.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncontent-type: image/gif\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 43\r\ndate: Mon, 27 Jul 2026 03:36:26 GMT\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, no-store, must-revalidate\r\nlast-modified: Tue, 22 Oct 2019 18:30:00 GMT\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":43,"size_decoded":717,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 1","md5":"fc94fb0c3ed8a8f909dbc7630a0987ff","sha1":"56d45f8a17f5078a20af9962c992ca4678450765","sha256":"2dfe28cbdb83f01c940de6a88ab86200154fd772d568035ac568664e52068363","sha512":"c87bf81fd70cf6434ca3a6c05ad6e9bd3f1d96f77dddad8d45ee043b126b2cb07a5cf23b4137b9d8462cd8a9adf2b463ab6de2b38c93db72d2d511ca60e3b57e","ssdeep":"","tlshash":"cb900003cac8c022c2a2c0300a0c03002bbaa8300228030ec0bc30fcec2a3a38c02000","first_seen":"2023-04-05T02:54:04Z","last_seen":"2026-07-31T13:00:12.134609Z","times_seen":81902,"resource_available":true,"data":"R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}},"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":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.216Z","timestamp":1785123385216,"http_version":"HTTP/2","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":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /translate_a/element.js?cb=googleTranslateElementInit HTTP/1.1\r\nHost: translate.google.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://alpha-achieveer.co/\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\ncontent-type: text/javascript; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":75428,"size_decoded":27153,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"1833830743382d130652becb9f498826","sha1":"9408cb757bf3964ac68d17c1ac2dfc1cdfc963a4","sha256":"c07d5b91b890e3483e1800910322977007748ed06c18f09f68a3b0f7611b0023","sha512":"f522799bf698caab0e73f467345ad34b6d3ac423522726bd914c37ec2e17801206ef2e672b03dcdafdd029ca7616fc1e09594a8da18bbd649b51925ce20ffccf","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECitwNWF0:XDD4U6KKZgtBgtCiT0","tlshash":"1273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","first_seen":"2026-07-27T03:02:41.147556Z","last_seen":"2026-07-27T04:01:29.26053Z","times_seen":121,"resource_available":true,"data":"CiAgICAvLyBnby9tc3Mtc2V0dXAjNy1sb2FkLXRoZS1qcy1vci1jc3MtZnJvbS15b3VyLWluaXRpYWwtcGFnZQogICAgaWYoIXdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSkgewogICAgICBjb25zdCBfRHVtcEV4Y2VwdGlvbiA9IHdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgdGhyb3cgZTsKICAgICAgfTsKICAgICAgd2luZG93WydfRHVtcEV4Y2VwdGlvbiddID0gX0R1bXBFeGNlcHRpb247CiAgICB9CiAgInVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKXy5fRl90b2dnbGVzX2luaXRpYWxpemU9ZnVuY3Rpb24oYSl7KHR5cGVvZiBnbG9iYWxUaGlzIT09InVuZGVmaW5lZCI/Z2xvYmFsVGhpczp0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiP3NlbGY6dGhpcykuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4NzAwODAwNCwgMHgwLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwp2YXIgYWEsY2EsZmEsamEscmEseGEsQmEsRGEsRmEsR2EsSWEsWWEsYmIsZmIsZ2IsamIsa2IsbmIscGIscWIsc2IsdWIsdmIsQWIsQmIsRmIsSWIsSmIsTWIsTmIsT2IsUWIsU2IseixSYixVYixZYixaYixhYyxiYzthYT1mdW5jdGlvbihhLGIpe2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsYWEpO2Vsc2V7dmFyIGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yil9O2NhPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIlcyIpO2Zvcih2YXIgYz0iIixkPWEubGVuZ3RoLTEsZT0wO2U8ZDtlKyspYys9YVtlXSsoZTxiLmxlbmd0aD9iW2VdOiIlcyIpO2FhLmNhbGwodGhpcyxjK2FbZF0pfTtmYT1mdW5jdGlvbihhKXtpZihfLmRhKWEoXy5kYSk7ZWxzZXt2YXIgYjsoKGI9ZWEpIT1udWxsP2I6ZWE9W10pLnB1c2goYSl9fTsKamE9ZnVuY3Rpb24oKXshXy5kYSYmXy5oYSYmXy5pYSgpO3JldHVybiBfLmRhfTtfLmlhPWZ1bmN0aW9uKCl7Xy5kYT1fLmhhKCk7dmFyIGE7KGE9ZWEpPT1udWxsfHxhLmZvckVhY2goZmEpO2VhPXZvaWQgMH07Xy5sYT1mdW5jdGlvbihhKXtfLmRhJiZrYShhKX07Xy5tYT1mdW5jdGlvbigpe18uZGEmJl8uZGEubWQoKX07Xy5vYT1mdW5jdGlvbihhLGIpe2IuaGFzT3duUHJvcGVydHkoImRpc3BsYXlOYW1lIil8fChiLmRpc3BsYXlOYW1lPWEudG9TdHJpbmcoKSk7YltuYV09YX07Xy5wYT1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07cmE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1hcmd1bWVudHMubGVuZ3RoO2I8YzsrK2Ipe3ZhciBkPWFyZ3VtZW50c1tiXTtfLnFhKGQpP3JhLmFwcGx5KG51bGwsZCk6Xy5wYShkKX19O18udT1mdW5jdGlvbigpe3RoaXMucWE9dGhpcy5xYTt0aGlzLlc9dGhpcy5XfTsKXy50YT1mdW5jdGlvbihhLGIpe3JldHVybiBzYShhLGIpPj0wfTtfLnVhPWZ1bmN0aW9uKGEsYil7Xy50YShhLGIpfHxhLnB1c2goYil9O18udmE9ZnVuY3Rpb24oYSxiKXtiPXNhKGEsYik7dmFyIGM7KGM9Yj49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSk7cmV0dXJuIGN9O18ud2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt4YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihfLnFhKGQpKXt2YXIgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IodmFyIGc9MDtnPGY7ZysrKWFbZStnXT1kW2ddfWVsc2UgYS5wdXNoKGQpfX07CkJhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9MCxkPXt9O2M8YS5sZW5ndGg7KXt2YXIgZT1hW2MrK10sZj1fLnlhKGUpPyJvIisoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsemEpJiZlW3phXXx8KGVbemFdPSsrQWEpKToodHlwZW9mIGUpLmNoYXJBdCgwKStlO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGYpfHwoZFtmXT0hMCxhW2IrK109ZSl9YS5sZW5ndGg9Yn07Xy5DYT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1ifTtEYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYyBpbiBhKWlmKGIuY2FsbCh2b2lkIDAsYVtjXSxjLGEpKXJldHVybiEwO3JldHVybiExfTsKRmE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZCxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7ZD1hcmd1bWVudHNbZV07Zm9yKGMgaW4gZClhW2NdPWRbY107Zm9yKHZhciBmPTA7ZjxFYS5sZW5ndGg7ZisrKWM9RWFbZl0sT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsYykmJihhW2NdPWRbY10pfX07R2E9ZnVuY3Rpb24oYSl7cmV0dXJue3ZhbHVlT2Y6YX0udmFsdWVPZigpfTtJYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIUhhKXJldHVybiBhO3RyeXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4gY307YT1IYS5jcmVhdGVQb2xpY3koImdvb2cjaHRtbCIse2NyZWF0ZUhUTUw6YixjcmVhdGVTY3JpcHQ6YixjcmVhdGVTY3JpcHRVUkw6Yn0pfWNhdGNoKGMpe31yZXR1cm4gYX07Xy5LYT1mdW5jdGlvbigpe0phPT09dm9pZCAwJiYoSmE9SWEoKSk7cmV0dXJuIEphfTsKXy5NYT1mdW5jdGlvbihhKXt2YXIgYj1fLkthKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLkxhKGEpfTtfLk5hPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkxhKXJldHVybiBhLmc7dGhyb3cgRXJyb3IoInQiKTt9O18uT2E9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ZG9jdW1lbnQ6Yjt2YXIgYyxkO2I9KGQ9KGM9YikucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOmQuY2FsbChjLGErIltub25jZV0iKTtyZXR1cm4gYj09bnVsbD8iIjpiLm5vbmNlfHxiLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18uUWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5LYSgpO2E9Yj9iLmNyZWF0ZVNjcmlwdChhKTphO3JldHVybiBuZXcgXy5QYShhKX07Xy5SYT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTsKXy5TYT1mdW5jdGlvbihhLGIpe2Euc3JjPV8uTmEoYik7KGI9Xy5PYSgic2NyaXB0IixhLm93bmVyRG9jdW1lbnQpKSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy5UYT1mdW5jdGlvbigpe3ZhciBhPV8udi5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTtfLnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoKS5pbmRleE9mKGEpIT0tMX07Xy5XYT1mdW5jdGlvbigpe3JldHVybiBfLlVhPyEhXy5WYSYmXy5WYS5icmFuZHMubGVuZ3RoPjA6ITF9O18uWGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XYSgpPyExOl8udygiT3BlcmEiKX07WWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5VYT8hIV8uVmEmJiEhXy5WYS5wbGF0Zm9ybTohMX07Xy5aYT1mdW5jdGlvbigpe3JldHVybiBfLncoImlQaG9uZSIpJiYhXy53KCJpUG9kIikmJiFfLncoImlQYWQiKX07Xy4kYT1mdW5jdGlvbigpe3JldHVybiBfLlphKCl8fF8udygiaVBhZCIpfHxfLncoImlQb2QiKX07Cl8uYWI9ZnVuY3Rpb24oKXtyZXR1cm4gWWEoKT9fLlZhLnBsYXRmb3JtPT09Im1hY09TIjpfLncoIk1hY2ludG9zaCIpfTtiYj1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLmRiPWZ1bmN0aW9uKGEsYil7Y2IuY2FsbCh0aGlzLGE/YS50eXBlOiIiKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MDt0aGlzLmtleT0iIjt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT0hMTt0aGlzLnN0YXRlPW51bGw7dGhpcy5wb2ludGVySWQ9MDt0aGlzLnBvaW50ZXJUeXBlPSIiO3RoaXMudGltZVN0YW1wPTA7dGhpcy5nPW51bGw7YSYmdGhpcy5pbml0KGEsYil9OwpmYj1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMubGlzdGVuZXI9YTt0aGlzLnByb3h5PW51bGw7dGhpcy5zcmM9Yjt0aGlzLnR5cGU9Yzt0aGlzLmNhcHR1cmU9ISFkO3RoaXMuVmM9ZTt0aGlzLmtleT0rK2ViO3RoaXMub2M9dGhpcy5IYz0hMX07Z2I9ZnVuY3Rpb24oYSl7dGhpcy5zcmM9YTt0aGlzLmc9e307dGhpcy5oPTB9O18uaGI9ZnVuY3Rpb24oKXtfLnUuY2FsbCh0aGlzKTt0aGlzLlFhPW5ldyBnYih0aGlzKTt0aGlzLldnPXRoaXM7dGhpcy5mZD1udWxsfTtqYj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5nPWF8fHdpbmRvdzt0aGlzLmg9Xy54KHRoaXMuZywicmVzaXplIix0aGlzLmwsITEsdGhpcyk7dGhpcy5qPV8uaWIodGhpcy5nfHx3aW5kb3cpfTsKa2I9ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuaD1hP2EuZy5kZWZhdWx0Vmlldzp3aW5kb3c7dGhpcy5vPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMuaj0oMCxfLnkpKHRoaXMuQSx0aGlzKTt0aGlzLmw9bnVsbDsodGhpcy5nPXRoaXMuaC5tYXRjaE1lZGlhP3RoaXMuaC5tYXRjaE1lZGlhKCIobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIik6bnVsbCkmJnR5cGVvZiB0aGlzLmcuYWRkTGlzdGVuZXIhPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIhPT0iZnVuY3Rpb24iJiYodGhpcy5nPW51bGwpfTsKbmI9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLm89YTtpZihiKXtpZih0aGlzLmwpdGhyb3cgRXJyb3IoIngiKTt0aGlzLmw9Yjt0aGlzLmg9Xy5sYihiKTt0aGlzLmc9bmV3IGpiKF8ubWIoYikpO3RoaXMuZy5uZCh0aGlzLm8uaCgpKTt0aGlzLmo9bmV3IGtiKHRoaXMuaCk7dGhpcy5qLnN0YXJ0KCl9fTtwYj1mdW5jdGlvbihhKXthPWEuSGQuY2hhckNvZGVBdChhLkJiKyspO3JldHVybiBvYlthXX07cWI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTA7ZG97dmFyIGQ9cGIoYSk7Ynw9KGQmMzEpPDxjO2MrPTV9d2hpbGUoZCYzMik7cmV0dXJuIGI8MD9iKzQyOTQ5NjcyOTY6Yn07Xy5yYj1mdW5jdGlvbihhKXtfLnYuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07c2I9ZnVuY3Rpb24oYSxiKXt0aGlzLmc9YTt0aGlzLmg9Yn07CnViPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5sPWE7dGhpcy5BPWI7dGhpcy5qPXRiP251bGw6W107dGhpcy5oPXRiP251bGw6W107dGhpcy5vPXRiP251bGw6W107dGhpcy5CPSExfTt2Yj1mdW5jdGlvbigpe3RoaXMuTz10aGlzLnFhPW51bGx9O0FiPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9d2IucmVtb3ZlKCk7KXt0cnl7YS5nLmNhbGwoYS5zY29wZSl9Y2F0Y2goYil7Xy5yYihiKX14Yih5YixhKX16Yj0hMX07QmI9ZnVuY3Rpb24oKXt0aGlzLkI9W107dGhpcy5vPXRoaXMuaD0hMTt0aGlzLmw9dm9pZCAwO3RoaXMuRz10aGlzLlc9dGhpcy5EPSExO3RoaXMuQz0wO3RoaXMuaj1udWxsO3RoaXMuQT0wfTtfLkNiPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5FYj1mdW5jdGlvbihhLGIpe2lmKGEpe2E9YS5zcGxpdCgiJiIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLmluZGV4T2YoIj0iKSxlPW51bGw7aWYoZD49MCl7dmFyIGY9YVtjXS5zdWJzdHJpbmcoMCxkKTtlPWFbY10uc3Vic3RyaW5nKGQrMSl9ZWxzZSBmPWFbY107YihmLGU/Xy5EYihlKToiIil9fX07RmI9ZnVuY3Rpb24oYSxiLGMpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspRmIoYSxTdHJpbmcoYltkXSksYyk7ZWxzZSBiIT1udWxsJiZjLnB1c2goYSsoYj09PSIiPyIiOiI9IitfLkdiKGIpKSl9O18uSGI9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPXt9fTtJYj1mdW5jdGlvbigpe307SmI9ZnVuY3Rpb24oKXt9O18uTGI9ZnVuY3Rpb24oYSl7YT1fLktiKGEpO3JldHVybiBfLk1hKGEpfTsKXy5LYj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PW51bGw/Im51bGwiOmE9PT12b2lkIDA/InVuZGVmaW5lZCI6YX07TWI9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbigpe307Yi5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGJ9O05iPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9OwpPYj1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoImEiKTt9O18uUGI9T2IodGhpcyk7UWI9IkludDggVWludDggVWludDhDbGFtcGVkIEludDE2IFVpbnQxNiBJbnQzMiBVaW50MzIgRmxvYXQzMiBGbG9hdDY0Ii5zcGxpdCgiICIpO18uUGIuQmlnSW50NjRBcnJheSYmKFFiLnB1c2goIkJpZ0ludDY0IiksUWIucHVzaCgiQmlnVWludDY0IikpO1NiPWZ1bmN0aW9uKGEsYil7aWYoYilmb3IodmFyIGM9MDtjPFFiLmxlbmd0aDtjKyspUmIoUWJbY10rIkFycmF5LnByb3RvdHlwZS4iK2EsYil9Owp6PWZ1bmN0aW9uKGEsYil7YiYmUmIoYSxiKX07UmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlBiO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmTmIoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKXy5UYj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKCl7fW5ldyBjO1JlZmxlY3QuY29uc3RydWN0KGMsW10sZnVuY3Rpb24oKXt9KTtyZXR1cm4gbmV3IGMgaW5zdGFuY2VvZiBjfWlmKHR5cGVvZiBSZWZsZWN0IT0idW5kZWZpbmVkIiYmUmVmbGVjdC5jb25zdHJ1Y3Qpe2lmKGEoKSlyZXR1cm4gUmVmbGVjdC5jb25zdHJ1Y3Q7dmFyIGI9UmVmbGVjdC5jb25zdHJ1Y3Q7cmV0dXJuIGZ1bmN0aW9uKGMsZCxlKXtjPWIoYyxkKTtlJiZSZWZsZWN0LnNldFByb3RvdHlwZU9mKGMsZS5wcm90b3R5cGUpO3JldHVybiBjfX1yZXR1cm4gZnVuY3Rpb24oYyxkLGUpe2U9PT12b2lkIDAmJihlPWMpO2U9TWIoZS5wcm90b3R5cGV8fE9iamVjdC5wcm90b3R5cGUpO3JldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjLGUsZCl8fGV9fSgpOwppZih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT0iZnVuY3Rpb24iKVViPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBWYjthOnt2YXIgV2I9e2E6ITB9LFhiPXt9O3RyeXtYYi5fX3Byb3RvX189V2I7VmI9WGIuYTticmVhayBhfWNhdGNoKGEpe31WYj0hMX1VYj1WYj9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoImJgIithKTtyZXR1cm4gYX06bnVsbH1ZYj1VYjsKXy5CPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9TWIoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYoWWIpWWIoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLmVhPWIucHJvdG90eXBlfTtaYj1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX07Cl8uQz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6WmIoYSl9O3Rocm93IEVycm9yKCJjYCIrU3RyaW5nKGEpKTt9O18uJGI9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgQXJyYXkpKXthPV8uQyhhKTtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTthPWN9cmV0dXJuIGF9O2FjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTsKYmM9dHlwZW9mIE9iamVjdC5hc3NpZ249PSJmdW5jdGlvbiI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihhLGIpe2lmKGE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiZCIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihkKWZvcih2YXIgZSBpbiBkKWFjKGQsZSkmJihhW2VdPWRbZV0pfXJldHVybiBhfTt6KCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8YmN9KTtfLmNjPWZ1bmN0aW9uKGEpe2lmKCEoYSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZWAiK2EpO307Xy5GPWZ1bmN0aW9uKCl7dGhpcy5HPSExO3RoaXMuQT1udWxsO3RoaXMuaj12b2lkIDA7dGhpcy5nPTE7dGhpcy5vPXRoaXMuQz0wO3RoaXMuVz10aGlzLmw9bnVsbH07Xy5GLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTsKXy5GLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O18uRi5wcm90b3R5cGUuZ2V0WWllbGRSZXN1bHRKc2M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qfTtfLkYucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLmw9e3JldHVybjphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlWyJyZXR1cm4iXT1fLkYucHJvdG90eXBlLnJldHVybjtfLkYucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7dGhpcy5sPXt4YTphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlLmp1bXBUaHJvdWdoRmluYWxseUJsb2Nrcz1fLkYucHJvdG90eXBlLlI7Xy5GLnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWI7cmV0dXJue3ZhbHVlOmF9fTtfLkYucHJvdG90eXBlLnlpZWxkPV8uRi5wcm90b3R5cGUuaDsKXy5GLnByb3RvdHlwZS5UPWZ1bmN0aW9uKGEsYil7YT1fLkMoYSk7dmFyIGM9YS5uZXh0KCk7Xy5jYyhjKTtpZihjLmRvbmUpdGhpcy5qPWMudmFsdWUsdGhpcy5nPWI7ZWxzZSByZXR1cm4gdGhpcy5BPWEsdGhpcy5oKGMudmFsdWUsYil9O18uRi5wcm90b3R5cGUueWllbGRBbGw9Xy5GLnByb3RvdHlwZS5UO18uRi5wcm90b3R5cGUueGE9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O18uRi5wcm90b3R5cGUuanVtcFRvPV8uRi5wcm90b3R5cGUueGE7Xy5GLnByb3RvdHlwZS5CPWZ1bmN0aW9uKCl7dGhpcy5nPTB9O18uRi5wcm90b3R5cGUuanVtcFRvRW5kPV8uRi5wcm90b3R5cGUuQjtfLkYucHJvdG90eXBlLkY9ZnVuY3Rpb24oYSxiKXt0aGlzLkM9YTtiIT12b2lkIDAmJih0aGlzLm89Yil9O18uRi5wcm90b3R5cGUuc2V0Q2F0Y2hGaW5hbGx5QmxvY2tzPV8uRi5wcm90b3R5cGUuRjtfLkYucHJvdG90eXBlLlA9ZnVuY3Rpb24oYSl7dGhpcy5DPTA7dGhpcy5vPWF8fDB9OwpfLkYucHJvdG90eXBlLnNldEZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLlA7Xy5GLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5DPWJ8fDB9O18uRi5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1fLkYucHJvdG90eXBlLks7Xy5GLnByb3RvdHlwZS5EPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfHwwO2E9dGhpcy5sLmJmO3RoaXMubD1udWxsO3JldHVybiBhfTtfLkYucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1fLkYucHJvdG90eXBlLkQ7Xy5GLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuV1tjXT10aGlzLmw6dGhpcy5XPVt0aGlzLmxdO3RoaXMuQz1hfHwwO3RoaXMubz1ifHwwfTtfLkYucHJvdG90eXBlLmVudGVyRmluYWxseUJsb2NrPV8uRi5wcm90b3R5cGUuTDsKXy5GLnByb3RvdHlwZS5xYT1mdW5jdGlvbihhLGIpe2I9dGhpcy5XLnNwbGljZShifHwwKVswXTsoYj10aGlzLmw9dGhpcy5sfHxiKT9iLkNmP3RoaXMuZz10aGlzLkN8fHRoaXMubzpiLnhhIT12b2lkIDAmJnRoaXMubzxiLnhhPyh0aGlzLmc9Yi54YSx0aGlzLmw9bnVsbCk6dGhpcy5nPXRoaXMubzp0aGlzLmc9YX07Xy5GLnByb3RvdHlwZS5sZWF2ZUZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLnFhO18uRi5wcm90b3R5cGUuTz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGRjKGEpfTtfLkYucHJvdG90eXBlLmZvckluPV8uRi5wcm90b3R5cGUuTzt2YXIgZGM9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5nPVtdO2Zvcih2YXIgYiBpbiBhKXRoaXMuZy5wdXNoKGIpO3RoaXMuZy5yZXZlcnNlKCl9O2RjLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcubGVuZ3RoPjA7KXt2YXIgYT10aGlzLmcucG9wKCk7aWYoYSBpbiB0aGlzLmopcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpkYy5wcm90b3R5cGUuZ2V0TmV4dD1kYy5wcm90b3R5cGUuaDtfLmVjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9O3ooImdsb2JhbFRoaXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlBifSk7eigiUmVmbGVjdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTp7fX0pO3ooIlJlZmxlY3QuY29uc3RydWN0IixmdW5jdGlvbigpe3JldHVybiBfLlRifSk7eigiUmVmbGVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpZYj9mdW5jdGlvbihiLGMpe3RyeXtyZXR1cm4gWWIoYixjKSwhMH1jYXRjaChkKXtyZXR1cm4hMX19Om51bGx9KTsKeigiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGYsZyl7dGhpcy5nPWY7TmIodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfTtiLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBjPSJqc2NvbXBfc3ltYm9sXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrIl8iLGQ9MCxlPWZ1bmN0aW9uKGYpe2lmKHRoaXMgaW5zdGFuY2VvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImciKTtyZXR1cm4gbmV3IGIoYysoZnx8IiIpKyJfIitkKyssZil9O3JldHVybiBlfSk7eigiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJoIik7TmIoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBmYyhaYih0aGlzKSl9fSk7cmV0dXJuIGF9KTsKdmFyIGZjPWZ1bmN0aW9uKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfTsKeigiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3RoaXMuZz1udWxsfWZ1bmN0aW9uIGMoZyl7cmV0dXJuIGcgaW5zdGFuY2VvZiBlP2c6bmV3IGUoZnVuY3Rpb24oaCl7aChnKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuaD1mdW5jdGlvbihnKXtpZih0aGlzLmc9PW51bGwpe3RoaXMuZz1bXTt2YXIgaD10aGlzO3RoaXMuaihmdW5jdGlvbigpe2gubygpfSl9dGhpcy5nLnB1c2goZyl9O3ZhciBkPV8uUGIuc2V0VGltZW91dDtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGcpe2QoZywwKX07Yi5wcm90b3R5cGUubz1mdW5jdGlvbigpe2Zvcig7dGhpcy5nJiZ0aGlzLmcubGVuZ3RoOyl7dmFyIGc9dGhpcy5nO3RoaXMuZz1bXTtmb3IodmFyIGg9MDtoPGcubGVuZ3RoOysraCl7dmFyIGs9Z1toXTtnW2hdPW51bGw7dHJ5e2soKX1jYXRjaChsKXt0aGlzLmwobCl9fX10aGlzLmc9bnVsbH07Yi5wcm90b3R5cGUubD1mdW5jdGlvbihnKXt0aGlzLmooZnVuY3Rpb24oKXt0aHJvdyBnOwp9KX07dmFyIGU9ZnVuY3Rpb24oZyl7dGhpcy5nPTA7dGhpcy5qPXZvaWQgMDt0aGlzLmg9W107dGhpcy5CPSExO3ZhciBoPXRoaXMubCgpO3RyeXtnKGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtlLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhsKXtyZXR1cm4gZnVuY3Rpb24obil7a3x8KGs9ITAsbC5jYWxsKGgsbikpfX12YXIgaD10aGlzLGs9ITE7cmV0dXJue3Jlc29sdmU6Zyh0aGlzLkkpLHJlamVjdDpnKHRoaXMubyl9fTtlLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGcpe2lmKGc9PT10aGlzKXRoaXMubyhuZXcgVHlwZUVycm9yKCJpIikpO2Vsc2UgaWYoZyBpbnN0YW5jZW9mIGUpdGhpcy5LKGcpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGcpe2Nhc2UgIm9iamVjdCI6dmFyIGg9ZyE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjpoPSEwO2JyZWFrIGE7ZGVmYXVsdDpoPSExfWg/dGhpcy5HKGcpOnRoaXMuQShnKX19O2UucHJvdG90eXBlLkc9CmZ1bmN0aW9uKGcpe3ZhciBoPXZvaWQgMDt0cnl7aD1nLnRoZW59Y2F0Y2goayl7dGhpcy5vKGspO3JldHVybn10eXBlb2YgaD09ImZ1bmN0aW9uIj90aGlzLkwoaCxnKTp0aGlzLkEoZyl9O2UucHJvdG90eXBlLm89ZnVuY3Rpb24oZyl7dGhpcy5DKDIsZyl9O2UucHJvdG90eXBlLkE9ZnVuY3Rpb24oZyl7dGhpcy5DKDEsZyl9O2UucHJvdG90eXBlLkM9ZnVuY3Rpb24oZyxoKXtpZih0aGlzLmchPTApdGhyb3cgRXJyb3IoImpgIitnKyJgIitoKyJgIit0aGlzLmcpO3RoaXMuZz1nO3RoaXMuaj1oO3RoaXMuZz09PTImJnRoaXMuVygpO3RoaXMuRCgpfTtlLnByb3RvdHlwZS5XPWZ1bmN0aW9uKCl7dmFyIGc9dGhpcztkKGZ1bmN0aW9uKCl7aWYoZy5GKCkpe3ZhciBoPV8uUGIuY29uc29sZTt0eXBlb2YgaCE9PSJ1bmRlZmluZWQiJiZoLmVycm9yKGcuail9fSwxKX07ZS5wcm90b3R5cGUuRj1mdW5jdGlvbigpe2lmKHRoaXMuQilyZXR1cm4hMTt2YXIgZz1fLlBiLkN1c3RvbUV2ZW50LApoPV8uUGIuRXZlbnQsaz1fLlBiLmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGs9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgZz09PSJmdW5jdGlvbiI/Zz1uZXcgZygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBoPT09ImZ1bmN0aW9uIj9nPW5ldyBoKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGc9Xy5QYi5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxnLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxnKSk7Zy5wcm9taXNlPXRoaXM7Zy5yZWFzb249dGhpcy5qO3JldHVybiBrKGcpfTtlLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7aWYodGhpcy5oIT1udWxsKXtmb3IodmFyIGc9MDtnPHRoaXMuaC5sZW5ndGg7KytnKWYuaCh0aGlzLmhbZ10pO3RoaXMuaD1udWxsfX07dmFyIGY9bmV3IGI7ZS5wcm90b3R5cGUuSz1mdW5jdGlvbihnKXt2YXIgaD10aGlzLmwoKTtnLkljKGgucmVzb2x2ZSwKaC5yZWplY3QpfTtlLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGcsaCl7dmFyIGs9dGhpcy5sKCk7dHJ5e2cuY2FsbChoLGsucmVzb2x2ZSxrLnJlamVjdCl9Y2F0Y2gobCl7ay5yZWplY3QobCl9fTtlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gayhwLHIpe3JldHVybiB0eXBlb2YgcD09ImZ1bmN0aW9uIj9mdW5jdGlvbih0KXt0cnl7bChwKHQpKX1jYXRjaChBKXtuKEEpfX06cn12YXIgbCxuLHE9bmV3IGUoZnVuY3Rpb24ocCxyKXtsPXA7bj1yfSk7dGhpcy5JYyhrKGcsbCksayhoLG4pKTtyZXR1cm4gcX07ZS5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oZyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsZyl9O2UucHJvdG90eXBlLkljPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gaygpe3N3aXRjaChsLmcpe2Nhc2UgMTpnKGwuaik7YnJlYWs7Y2FzZSAyOmgobC5qKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJrYCIrbC5nKTt9fXZhciBsPXRoaXM7dGhpcy5oPT0KbnVsbD9mLmgoayk6dGhpcy5oLnB1c2goayk7dGhpcy5CPSEwfTtlLnJlc29sdmU9YztlLnJlamVjdD1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtrKGcpfSl9O2UucmFjZT1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtmb3IodmFyIGw9Xy5DKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKWMobi52YWx1ZSkuSWMoaCxrKX0pfTtlLmFsbD1mdW5jdGlvbihnKXt2YXIgaD1fLkMoZyksaz1oLm5leHQoKTtyZXR1cm4gay5kb25lP2MoW10pOm5ldyBlKGZ1bmN0aW9uKGwsbil7ZnVuY3Rpb24gcSh0KXtyZXR1cm4gZnVuY3Rpb24oQSl7cFt0XT1BO3ItLTtyPT0wJiZsKHApfX12YXIgcD1bXSxyPTA7ZG8gcC5wdXNoKHZvaWQgMCkscisrLGMoay52YWx1ZSkuSWMocShwLmxlbmd0aC0xKSxuKSxrPWgubmV4dCgpO3doaWxlKCFrLmRvbmUpfSl9O3JldHVybiBlfSk7CnZhciBoYz1mdW5jdGlvbihhLGIsYyl7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJsYCIrYyk7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtYCIrYyk7cmV0dXJuIGErIiJ9O3ooIlN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPWhjKHRoaXMsYiwic3RhcnRzV2l0aCIpLGU9ZC5sZW5ndGgsZj1iLmxlbmd0aDtjPU1hdGgubWF4KDAsTWF0aC5taW4oY3wwLGQubGVuZ3RoKSk7Zm9yKHZhciBnPTA7ZzxmJiZjPGU7KWlmKGRbYysrXSE9YltnKytdKXJldHVybiExO3JldHVybiBnPj1mfX0pO3ooIk9iamVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fFlifSk7eigiU3ltYm9sLmRpc3Bvc2UiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKCJuIil9KTsKeigiV2Vha01hcCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBjKGspe3ZhciBsPXR5cGVvZiBrO3JldHVybiBsPT09Im9iamVjdCImJmshPT1udWxsfHxsPT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBkKGspe2lmKCFhYyhrLGYpKXt2YXIgbD1uZXcgYjtOYihrLGYse3ZhbHVlOmx9KX19ZnVuY3Rpb24gZShrKXt2YXIgbD1PYmplY3Rba107bCYmKE9iamVjdFtrXT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgYilyZXR1cm4gbjtPYmplY3QuaXNFeHRlbnNpYmxlKG4pJiZkKG4pO3JldHVybiBsKG4pfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgaz1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbj1uZXcgYShbW2ssMl0sW2wsM11dKTtpZihuLmdldChrKSE9Mnx8bi5nZXQobCkhPTMpcmV0dXJuITE7bi5kZWxldGUoayk7bi5zZXQobCw0KTtyZXR1cm4hbi5oYXMoaykmJm4uZ2V0KGwpPT00fWNhdGNoKHEpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGY9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtlKCJmcmVlemUiKTtlKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2UoInNlYWwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5nPShnKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1fLkMoayk7Zm9yKHZhciBsOyEobD1rLm5leHQoKSkuZG9uZTspbD1sLnZhbHVlLHRoaXMuc2V0KGxbMF0sbFsxXSl9fTtoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oayxsKXtpZighYyhrKSl0aHJvdyBFcnJvcigibyIpO2Qoayk7aWYoIWFjKGssZikpdGhyb3cgRXJyb3IoInBgIitrKTtrW2ZdW3RoaXMuZ109bDtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZhYyhrLGYpP2tbZl1bdGhpcy5nXTp2b2lkIDB9O2gucHJvdG90eXBlLmhhcz1mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmYWMoayxmKSYmYWMoa1tmXSx0aGlzLmcpfTtoLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7cmV0dXJuIGMoaykmJgphYyhrLGYpJiZhYyhrW2ZdLHRoaXMuZyk/ZGVsZXRlIGtbZl1bdGhpcy5nXTohMX07cmV0dXJuIGh9KTsKeigiTWFwIixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGg9T2JqZWN0LnNlYWwoe3g6NH0pLGs9bmV3IGEoXy5DKFtbaCwicyJdXSkpO2lmKGsuZ2V0KGgpIT0icyJ8fGsuc2l6ZSE9MXx8ay5nZXQoe3g6NH0pfHxrLnNldCh7eDo0fSwidCIpIT1rfHxrLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9ay5lbnRyaWVzKCksbj1sLm5leHQoKTtpZihuLmRvbmV8fG4udmFsdWVbMF0hPWh8fG4udmFsdWVbMV0hPSJzIilyZXR1cm4hMTtuPWwubmV4dCgpO3JldHVybiBuLmRvbmV8fG4udmFsdWVbMF0ueCE9NHx8bi52YWx1ZVsxXSE9InQifHwhbC5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaChxKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGI9bmV3IFdlYWtNYXAsYz1mdW5jdGlvbihoKXt0aGlzWzBdPXt9O3RoaXNbMV09CmYoKTt0aGlzLnNpemU9MDtpZihoKXtoPV8uQyhoKTtmb3IodmFyIGs7IShrPWgubmV4dCgpKS5kb25lOylrPWsudmFsdWUsdGhpcy5zZXQoa1swXSxrWzFdKX19O2MucHJvdG90eXBlLnNldD1mdW5jdGlvbihoLGspe2g9aD09PTA/MDpoO3ZhciBsPWQodGhpcyxoKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWs6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxiYjp0aGlzWzFdLmJiLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLmJiLm5leHQ9bC5lbnRyeSx0aGlzWzFdLmJiPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtjLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oaCl7aD1kKHRoaXMsaCk7cmV0dXJuIGguZW50cnkmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLGguZW50cnkuYmIubmV4dD0KaC5lbnRyeS5uZXh0LGguZW50cnkubmV4dC5iYj1oLmVudHJ5LmJiLGguZW50cnkuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzWzBdPXt9O3RoaXNbMV09dGhpc1sxXS5iYj1mKCk7dGhpcy5zaXplPTB9O2MucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4hIWQodGhpcyxoKS5lbnRyeX07Yy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGgpe3JldHVybihoPWQodGhpcyxoKS5lbnRyeSkmJmgudmFsdWV9O2MucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSxoLnZhbHVlXX0pfTtjLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC5rZXl9KX07Yy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC52YWx1ZX0pfTtjLnByb3RvdHlwZS5mb3JFYWNoPQpmdW5jdGlvbihoLGspe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxuOyEobj1sLm5leHQoKSkuZG9uZTspbj1uLnZhbHVlLGguY2FsbChrLG5bMV0sblswXSx0aGlzKX07Yy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1jLnByb3RvdHlwZS5lbnRyaWVzO3ZhciBkPWZ1bmN0aW9uKGgsayl7dmFyIGw9ayYmdHlwZW9mIGs7bD09Im9iamVjdCJ8fGw9PSJmdW5jdGlvbiI/Yi5oYXMoayk/bD1iLmdldChrKToobD0iIisgKytnLGIuc2V0KGssbCkpOmw9InBfIitrO3ZhciBuPWhbMF1bbF07aWYobiYmYWMoaFswXSxsKSlmb3IoaD0wO2g8bi5sZW5ndGg7aCsrKXt2YXIgcT1uW2hdO2lmKGshPT1rJiZxLmtleSE9PXEua2V5fHxrPT09cS5rZXkpcmV0dXJue2lkOmwsbGlzdDpuLGluZGV4OmgsZW50cnk6cX19cmV0dXJue2lkOmwsbGlzdDpuLGluZGV4Oi0xLGVudHJ5OnZvaWQgMH19LGU9ZnVuY3Rpb24oaCxrKXt2YXIgbD1oWzFdO3JldHVybiBmYyhmdW5jdGlvbigpe2lmKGwpe2Zvcig7bC5oZWFkIT0KaFsxXTspbD1sLmJiO2Zvcig7bC5uZXh0IT1sLmhlYWQ7KXJldHVybiBsPWwubmV4dCx7ZG9uZTohMSx2YWx1ZTprKGwpfTtsPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0pfSxmPWZ1bmN0aW9uKCl7dmFyIGg9e307cmV0dXJuIGguYmI9aC5uZXh0PWguaGVhZD1ofSxnPTA7cmV0dXJuIGN9KTsKeigiU2V0IixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGM9T2JqZWN0LnNlYWwoe3g6NH0pLGQ9bmV3IGEoXy5DKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZT1kLmVudHJpZXMoKSxmPWUubmV4dCgpO2lmKGYuZG9uZXx8Zi52YWx1ZVswXSE9Y3x8Zi52YWx1ZVsxXSE9YylyZXR1cm4hMTtmPWUubmV4dCgpO3JldHVybiBmLmRvbmV8fGYudmFsdWVbMF09PWN8fGYudmFsdWVbMF0ueCE9NHx8Zi52YWx1ZVsxXSE9Zi52YWx1ZVswXT8hMTplLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPQpfLkMoYyk7Zm9yKHZhciBkOyEoZD1jLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZC52YWx1ZSl9dGhpcy5zaXplPXRoaXMuZy5zaXplfTtiLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYyl7Yz1jPT09MD8wOmM7dGhpcy5nLnNldChjLGMpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZTtyZXR1cm4gdGhpc307Yi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5nLmRlbGV0ZShjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGN9O2IucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nLmNsZWFyKCk7dGhpcy5zaXplPTB9O2IucHJvdG90eXBlLmhhcz1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5nLmhhcyhjKX07Yi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuZW50cmllcygpfTtiLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtiLnByb3RvdHlwZS5rZXlzPWIucHJvdG90eXBlLnZhbHVlczsKYi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihjLGQpe3ZhciBlPXRoaXM7dGhpcy5nLmZvckVhY2goZnVuY3Rpb24oZil7cmV0dXJuIGMuY2FsbChkLGYsZixlKX0pfTtyZXR1cm4gYn0pO3ZhciBpYz1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBTdHJpbmcmJihhKz0iIik7dmFyIGM9MCxkPSExLGU9e25leHQ6ZnVuY3Rpb24oKXtpZighZCYmYzxhLmxlbmd0aCl7dmFyIGY9YysrO3JldHVybnt2YWx1ZTpiKGYsYVtmXSksZG9uZTohMX19ZD0hMDtyZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fX07ZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBlfTt6KCJBcnJheS5wcm90b3R5cGUuZW50cmllcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuW2IsY119KX19KTsKeigiQXJyYXkucHJvdG90eXBlLmtleXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gaWModGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYn0pfX0pO3ooIlN0cmluZy5wcm90b3R5cGUuZW5kc1dpdGgiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD1oYyh0aGlzLGIsImVuZHNXaXRoIik7Yz09PXZvaWQgMCYmKGM9ZC5sZW5ndGgpO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGU9Yi5sZW5ndGg7ZT4wJiZjPjA7KWlmKGRbLS1jXSE9YlstLWVdKXJldHVybiExO3JldHVybiBlPD0wfX0pO3ooIk51bWJlci5pc0Zpbml0ZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT0ibnVtYmVyIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTsKeigiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXthOnt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7Zm9yKHZhciBlPWQubGVuZ3RoLGY9MDtmPGU7ZisrKXt2YXIgZz1kW2ZdO2lmKGIuY2FsbChjLGcsZixkKSl7Yj1nO2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifX0pO3ooIk9iamVjdC5lbnRyaWVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilhYyhiLGQpJiZjLnB1c2goW2QsYltkXV0pO3JldHVybiBjfX0pOwp6KCJBcnJheS5mcm9tIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyxkKXtjPWMhPW51bGw/YzpmdW5jdGlvbihoKXtyZXR1cm4gaH07dmFyIGU9W10sZj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYodHlwZW9mIGY9PSJmdW5jdGlvbiIpe2I9Zi5jYWxsKGIpO2Zvcih2YXIgZz0wOyEoZj1iLm5leHQoKSkuZG9uZTspZS5wdXNoKGMuY2FsbChkLGYudmFsdWUsZysrKSl9ZWxzZSBmb3IoZj1iLmxlbmd0aCxnPTA7ZzxmO2crKyllLnB1c2goYy5jYWxsKGQsYltnXSxnKSk7cmV0dXJuIGV9fSk7eigiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTsKeigiT2JqZWN0LnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpYWMoYixkKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfX0pO3ooIk9iamVjdC5pcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBiPT09Yz9iIT09MHx8MS9iPT09MS9jOmIhPT1iJiZjIT09Y319KTt6KCJBcnJheS5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7dmFyIGU9ZC5sZW5ndGg7Yz1jfHwwO2ZvcihjPDAmJihjPU1hdGgubWF4KGMrZSwwKSk7YzxlO2MrKyl7dmFyIGY9ZFtjXTtpZihmPT09Ynx8T2JqZWN0LmlzKGYsYikpcmV0dXJuITB9cmV0dXJuITF9fSk7CnooIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gaGModGhpcyxiLCJpbmNsdWRlcyIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO3ooIk51bWJlci5NQVhfU0FGRV9JTlRFR0VSIixmdW5jdGlvbigpe3JldHVybiA5MDA3MTk5MjU0NzQwOTkxfSk7eigiTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIiLGZ1bmN0aW9uKCl7cmV0dXJuLTkwMDcxOTkyNTQ3NDA5OTF9KTt6KCJOdW1iZXIuaXNJbnRlZ2VyIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYik/Yj09PU1hdGguZmxvb3IoYik6ITF9fSk7eigiTnVtYmVyLmlzU2FmZUludGVnZXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoYikmJk1hdGguYWJzKGIpPD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUn19KTsKeigiT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybltdfX0pO3ooIk1hdGgudHJ1bmMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI9PT1JbmZpbml0eXx8Yj09PS1JbmZpbml0eXx8Yj09PTApcmV0dXJuIGI7dmFyIGM9TWF0aC5mbG9vcihNYXRoLmFicyhiKSk7cmV0dXJuIGI8MD8tYzpjfX0pO3ooIk51bWJlci5pc05hTiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGI9PT0ibnVtYmVyIiYmaXNOYU4oYil9fSk7CnooIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJxIik7cmV0dXJuIGIgaW5zdGFuY2VvZiBSZWdFeHA/dGhpcy5yZXBsYWNlKGIsYyk6dGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoU3RyaW5nKGIpLnJlcGxhY2UoLyhbLSgpXFtcXXt9Kz8qLiRcXnwsOiM8IVxcXSkvZywiXFwkMSIpLnJlcGxhY2UoL1x4MDgvZywiXFx4MDgiKSwiZyIpLGMpfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmxhdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtiPWI9PT12b2lkIDA/MTpiO3ZhciBjPVtdO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGhpcyxmdW5jdGlvbihkKXtBcnJheS5pc0FycmF5KGQpJiZiPjA/KGQ9QXJyYXkucHJvdG90eXBlLmZsYXQuY2FsbChkLGItMSksYy5wdXNoLmFwcGx5KGMsZCkpOmMucHVzaChkKX0pO3JldHVybiBjfX0pO3ooIlByb21pc2UucHJvdG90eXBlLmZpbmFsbHkiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX0pfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpcy5sZW5ndGh8fDA7YzwwJiYoYz1NYXRoLm1heCgwLGUrYykpO2lmKGQ9PW51bGx8fGQ+ZSlkPWU7ZD1OdW1iZXIoZCk7ZDwwJiYoZD1NYXRoLm1heCgwLGUrZCkpO2ZvcihjPU51bWJlcihjfHwwKTtjPGQ7YysrKXRoaXNbY109YjtyZXR1cm4gdGhpc319KTtTYigiZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpBcnJheS5wcm90b3R5cGUuZmlsbH0pO18uX0R1bXBFeGNlcHRpb249d2luZG93Ll9EdW1wRXhjZXB0aW9ufHxmdW5jdGlvbihhKXt0aHJvdyBhO307d2luZG93Ll9EdW1wRXhjZXB0aW9uPV8uX0R1bXBFeGNlcHRpb247dmFyIGpjLGxjLG1jLG5jLHphLEFhLHBjLHFjO2pjPWpjfHx7fTtfLnY9dGhpc3x8c2VsZjtsYz1mdW5jdGlvbihhLGIpe3ZhciBjPV8ua2MoIldJWl9nbG9iYWxfZGF0YS5veE4zbmIiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTttYz1fLnYuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyfHxbXTtuYz1mdW5jdGlvbigpe307bmMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O18ua2M9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udjtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy5vYz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtyZXR1cm4gYiE9Im9iamVjdCI/YjphP0FycmF5LmlzQXJyYXkoYSk/ImFycmF5IjpiOiJudWxsIn07Xy5xYT1mdW5jdGlvbihhKXt2YXIgYj1fLm9jKGEpO3JldHVybiBiPT0iYXJyYXkifHxiPT0ib2JqZWN0IiYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIn07Cl8ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTt6YT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtBYT0wO3BjPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5jYWxsLmFwcGx5KGEuYmluZCxhcmd1bWVudHMpfTtxYz1mdW5jdGlvbihhLGIsYyl7aWYoIWEpdGhyb3cgRXJyb3IoKTtpZihhcmd1bWVudHMubGVuZ3RoPjIpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGUsZCk7cmV0dXJuIGEuYXBwbHkoYixlKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYixhcmd1bWVudHMpfX07Cl8ueT1mdW5jdGlvbihhLGIsYyl7Xy55PUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIikhPS0xP3BjOnFjO3JldHVybiBfLnkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtfLnJjPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBjPV8udixkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07Cl8uRz1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5lYT1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuTWs9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtfLkcoYWEsRXJyb3IpO2FhLnByb3RvdHlwZS5uYW1lPSJDdXN0b21FcnJvciI7dmFyIHNjO18uRyhjYSxhYSk7Y2EucHJvdG90eXBlLm5hbWU9IkFzc2VydGlvbkVycm9yIjt2YXIgZWE7dmFyIHRjPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5nPWJ8fG51bGx9O3RjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciB1Yz1uZXcgdGMoIm43M3F3ZiIsIm43M3F3ZiIpO3ZhciBuYT1TeW1ib2woInMiKTtfLnUucHJvdG90eXBlLnFhPSExO18udS5wcm90b3R5cGUucWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xYX07Xy51LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5xYXx8KHRoaXMucWE9ITAsdGhpcy5NKCkpfTtfLnUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLnUucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtpZih0aGlzLlcpZm9yKDt0aGlzLlcubGVuZ3RoOyl0aGlzLlcuc2hpZnQoKSgpfTt2YXIgc2Esd2M7c2E9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiB0eXBlb2YgYiE9PSJzdHJpbmcifHxiLmxlbmd0aCE9MT8tMTphLmluZGV4T2YoYiwwKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihjIGluIGEmJmFbY109PT1iKXJldHVybiBjO3JldHVybi0xfTtfLnZjPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoP2Z1bmN0aW9uKGEsYil7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5sZW5ndGgsZD10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmEsZT0wO2U8YztlKyspZSBpbiBkJiZiLmNhbGwodm9pZCAwLGRbZV0sZSxhKX07CndjPUFycmF5LnByb3RvdHlwZS5yZWR1Y2U/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhLGIsYyl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jOygwLF8udmMpKGEsZnVuY3Rpb24oZSxmKXtkPWIuY2FsbCh2b2lkIDAsZCxlLGYsYSl9KX07Xy54Yz1BcnJheS5wcm90b3R5cGUuc29tZT9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YSxlPTA7ZTxjO2UrKylpZihlIGluIGQmJmIuY2FsbCh2b2lkIDAsZFtlXSxlLGEpKXJldHVybiEwO3JldHVybiExfTtfLnljPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18uQ2EucHJvdG90eXBlLmFzcGVjdFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2lkdGgvdGhpcy5oZWlnaHR9O18uQ2EucHJvdG90eXBlLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLkNhLnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5DYS5wcm90b3R5cGUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O3ZhciBFYTtFYT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO18uemM9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy5BYz1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpfTpmdW5jdGlvbihhKXtyZXR1cm4vXltcc1x4YTBdKihbXHNcU10qPylbXHNceGEwXSokLy5leGVjKGEpWzFdfTt2YXIgQmM9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsSGE9QmMsSmE7Xy5MYT1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5MYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkNjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBVUkw9PT0iZnVuY3Rpb24ifSk7Xy5EYz1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5EYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkVjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLkRjKEJjP0JjLmVtcHR5SFRNTDoiIil9KTtfLlBhPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtfLlBhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcrIiJ9O18uR2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYSkpfTtfLkRiPWZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCIgIikpfTt2YXIgRmM9ISEobWNbMF0+PjI1JjEpLEdjPSEhKG1jWzBdPj4yMCYxKSxIYz0hIShtY1swXT4+MjcmMSksSWM9ISEobWNbMF0mODE5MiksSmM9ISEobWNbMF0+PjE5JjEpLEtjPSEhKG1jWzBdPj4xNyYxKSxMYz0hIShtY1swXT4+MTgmMSk7dmFyIHRiLE5jLE9jO18uVWE9RmM/SGM6bGMoNjEwNDAxMzAxLCExKTtfLk1jPUZjP0djfHwhSWM6bGMoNzQ4NDAyMTQ3LCEwKTt0Yj1GYz9KYzpsYyg5MTk0NDQ4MjQsITEpO05jPUZjP0tjOmxjKDkyODg3NTM5OCwhMSk7T2M9RmM/TGM6bGMoNjgzNzQ5MjAxLCExKTt2YXIgUGM7UGM9Xy52Lm5hdmlnYXRvcjtfLlZhPVBjP1BjLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtfLlFjPWZ1bmN0aW9uKGEpe18uUWNbIiAiXShhKTtyZXR1cm4gYX07Xy5RY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgZWQ7Xy5SYz1fLlhhKCk7Xy5TYz1fLldhKCk/ITE6Xy53KCJUcmlkZW50Iil8fF8udygiTVNJRSIpO18uVGM9Xy53KCJFZGdlIik7Xy5VYz1fLncoIkdlY2tvIikmJiEoXy5UYSgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikhPS0xJiYhXy53KCJFZGdlIikpJiYhKF8udygiVHJpZGVudCIpfHxfLncoIk1TSUUiKSkmJiFfLncoIkVkZ2UiKTtfLlZjPV8uVGEoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIV8udygiRWRnZSIpO18uV2M9Xy5WYyYmXy53KCJNb2JpbGUiKTtfLlljPV8uYWIoKTtfLlpjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJXaW5kb3dzIjpfLncoIldpbmRvd3MiKTtfLiRjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJBbmRyb2lkIjpfLncoIkFuZHJvaWQiKTtfLmFkPV8uWmEoKTtfLmJkPV8udygiaVBhZCIpO18uY2Q9Xy53KCJpUG9kIik7Xy5kZD1fLiRhKCk7CmE6e3ZhciBmZD0iIixnZD1mdW5jdGlvbigpe3ZhciBhPV8uVGEoKTtpZihfLlVjKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy5UYylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKGEpO2lmKF8uU2MpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKGEpO2lmKF8uVmMpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoYSk7aWYoXy5SYylyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhhKX0oKTtnZCYmKGZkPWdkP2dkWzFdOiIiKTtpZihfLlNjKXt2YXIgaGQsaWQ9Xy52LmRvY3VtZW50O2hkPWlkP2lkLmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoaGQhPW51bGwmJmhkPnBhcnNlRmxvYXQoZmQpKXtlZD1TdHJpbmcoaGQpO2JyZWFrIGF9fWVkPWZkfV8uamQ9ZWQ7dmFyIGtkPSJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIiksCmxkPVtbIkEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkFSRUEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkxJTksiLG5ldyBNYXAoW1siaHJlZiIse3VhOjUsY29uZGl0aW9uczpuZXcgTWFwKFtbInJlbCIsbmV3IFNldCgiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpKV1dKX1dXSldLFsiU09VUkNFIixuZXcgTWFwKFtbInNyYyIse3VhOjV9XSxbInNyY3NldCIse3VhOjZ9XV0pXSxbIklNRyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV0sWyJzcmNzZXQiLHt1YTo2fV1dKV0sWyJWSURFTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV0sWyJBVURJTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV1dLG1kPSJ0aXRsZSBhcmlhLWF0b21pYyBhcmlhLWF1dG9jb21wbGV0ZSBhcmlhLWJ1c3kgYXJpYS1jaGVja2VkIGFyaWEtY3VycmVudCBhcmlhLWRpc2FibGVkIGFyaWEtZHJvcGVmZmVjdCBhcmlhLWV4cGFuZGVkIGFyaWEtaGFzcG9wdXAgYXJpYS1oaWRkZW4gYXJpYS1pbnZhbGlkIGFyaWEtbGFiZWwgYXJpYS1sZXZlbCBhcmlhLWxpdmUgYXJpYS1tdWx0aWxpbmUgYXJpYS1tdWx0aXNlbGVjdGFibGUgYXJpYS1vcmllbnRhdGlvbiBhcmlhLXBvc2luc2V0IGFyaWEtcHJlc3NlZCBhcmlhLXJlYWRvbmx5IGFyaWEtcmVsZXZhbnQgYXJpYS1yZXF1aXJlZCBhcmlhLXNlbGVjdGVkIGFyaWEtc2V0c2l6ZSBhcmlhLXNvcnQgYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVub3cgYXJpYS12YWx1ZXRleHQgYWx0IGFsaWduIGF1dG9jYXBpdGFsaXplIGF1dG9jb21wbGV0ZSBhdXRvY29ycmVjdCBhdXRvZm9jdXMgYXV0b3BsYXkgYmdjb2xvciBib3JkZXIgY2VsbHBhZGRpbmcgY2VsbHNwYWNpbmcgY2hlY2tlZCBjaXRlIGNvbG9yIGNvbHMgY29sc3BhbiBjb250cm9scyBjb250cm9sc2xpc3QgY29vcmRzIGNyb3Nzb3JpZ2luIGRhdGV0aW1lIGRpc2FibGVkIGRvd25sb2FkIGRyYWdnYWJsZSBlbmN0eXBlIGZhY2UgZm9ybWVuY3R5cGUgZnJhbWVib3JkZXIgaGVpZ2h0IGhyZWZsYW5nIGhpZGRlbiBpbmVydCBpc21hcCBsYWJlbCBsYW5nIGxvb3AgbWF4IG1heGxlbmd0aCBtZWRpYSBtaW5sZW5ndGggbWluIG11bHRpcGxlIG11dGVkIG5vbmNlIG9wZW4gcGxheXNpbmxpbmUgcGxhY2Vob2xkZXIgcHJlbG9hZCByZWwgcmVxdWlyZWQgcmV2ZXJzZWQgcm9sZSByb3dzIHJvd3NwYW4gc2VsZWN0ZWQgc2hhcGUgc2l6ZSBzaXplcyBzbG90IHNwYW4gc3BlbGxjaGVjayBzdGFydCBzdGVwIHN1bW1hcnkgdHJhbnNsYXRlIHR5cGUgdXNlbWFwIHZhbGlnbiB2YWx1ZSB3aWR0aCB3cmFwIGl0ZW1zY29wZSBpdGVtdHlwZSBpdGVtaWQgaXRlbXByb3AgaXRlbXJlZiIuc3BsaXQoIiAiKSwKbmQ9W1siZGlyIix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1siZGlyIixuZXcgU2V0KFsiYXV0byIsImx0ciIsInJ0bCJdKV1dKX0pfV0sWyJhc3luYyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImFzeW5jIixuZXcgU2V0KFsiYXN5bmMiXSldXSl9KX1dLFsibG9hZGluZyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImxvYWRpbmciLG5ldyBTZXQoWyJlYWdlciIsImxhenkiXSldXSl9KX1dLFsicG9zdGVyIix7dWE6NX1dLFsidGFyZ2V0Iix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1sidGFyZ2V0IixuZXcgU2V0KFsiX3NlbGYiLCJfYmxhbmsiXSldXSl9KX1dXSxvZD1uZXcgZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoWyJkYXRhLSIsImFyaWEtIl0pLGU9bmV3IE1hcChsZCk7dGhpcy5qPWE7dGhpcy5nPQplO3RoaXMubD1iO3RoaXMubz1jO3RoaXMuaD1kfShuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIGtkLmNvbmNhdCgiU1RZTEUgVElUTEUgSU5QVVQgVEVYVEFSRUEgQlVUVE9OIExBQkVMIi5zcGxpdCgiICIpKX0pKSxuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIG1kLmNvbmNhdChbImNsYXNzIiwiaWQiLCJ0YWJpbmRleCIsImNvbnRlbnRlZGl0YWJsZSIsIm5hbWUiXSl9KSksbmV3IE1hcChHYShmdW5jdGlvbigpe3JldHVybiBuZC5jb25jYXQoW1sic3R5bGUiLHt1YToxfV1dKX0pKSk7dmFyIHBkPWZ1bmN0aW9uKCl7dGhpcy5nPW9kfTtwZC5wcm90b3R5cGUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpfTtfLnFkPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBwZH0pO3ZhciB2ZCx1ZCx4ZDtfLmxiPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyBfLnJkKF8uc2QoYSkpOnNjfHwoc2M9bmV3IF8ucmQpfTtfLnRkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyI/YS5nZXRFbGVtZW50QnlJZChiKTpifTt2ZD1mdW5jdGlvbihhLGIpe18uemMoYixmdW5jdGlvbihjLGQpe2Q9PSJzdHlsZSI/YS5zdHlsZS5jc3NUZXh0PWM6ZD09ImNsYXNzIj9hLmNsYXNzTmFtZT1jOmQ9PSJmb3IiP2EuaHRtbEZvcj1jOnVkLmhhc093blByb3BlcnR5KGQpP2Euc2V0QXR0cmlidXRlKHVkW2RdLGMpOmQubGFzdEluZGV4T2YoImFyaWEtIiwwKT09MHx8ZC5sYXN0SW5kZXhPZigiZGF0YS0iLDApPT0wP2Euc2V0QXR0cmlidXRlKGQsYyk6YVtkXT1jfSl9Owp1ZD17Y2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNvbHNwYW46ImNvbFNwYW4iLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsaGVpZ2h0OiJoZWlnaHQiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixub25jZToibm9uY2UiLHJvbGU6InJvbGUiLHJvd3NwYW46InJvd1NwYW4iLHR5cGU6InR5cGUiLHVzZW1hcDoidXNlTWFwIix2YWxpZ246InZBbGlnbiIsd2lkdGg6IndpZHRoIn07Xy5pYj1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLkNhKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLm1iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKXy55ZD1mdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1fLndkKGEsU3RyaW5nKGJbMF0pKTtjJiYodHlwZW9mIGM9PT0ic3RyaW5nIj9kLmNsYXNzTmFtZT1jOkFycmF5LmlzQXJyYXkoYyk/ZC5jbGFzc05hbWU9Yy5qb2luKCIgIik6dmQoZCxjKSk7Yi5sZW5ndGg+MiYmeGQoYSxkLGIsMik7cmV0dXJuIGR9Owp4ZD1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgpe2gmJmIuYXBwZW5kQ2hpbGQodHlwZW9mIGg9PT0ic3RyaW5nIj9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcig7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWNbZF07aWYoIV8ucWEoZil8fF8ueWEoZikmJmYubm9kZVR5cGU+MCllKGYpO2Vsc2V7YTp7aWYoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIil7aWYoXy55YShmKSl7dmFyIGc9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIGYuaXRlbT09InN0cmluZyI7YnJlYWsgYX1pZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpe2c9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIjticmVhayBhfX1nPSExfV8udmMoZz9fLndhKGYpOmYsZSl9fX07Xy53ZD1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGIpfTsKXy56ZD1mdW5jdGlvbihhKXtmb3IodmFyIGI7Yj1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYil9O18uQWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucGFyZW50Tm9kZT9hLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk6bnVsbH07Xy5CZD1mdW5jdGlvbihhLGIpe2lmKCFhfHwhYilyZXR1cm4hMTtpZihhLmNvbnRhaW5zJiZiLm5vZGVUeXBlPT0xKXJldHVybiBhPT1ifHxhLmNvbnRhaW5zKGIpO2lmKHR5cGVvZiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIilyZXR1cm4gYT09Ynx8ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNik7Zm9yKDtiJiZhIT1iOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYj09YX07Xy5zZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Cl8uQ2Q9ZnVuY3Rpb24oYSxiKXtpZigidGV4dENvbnRlbnQiaW4gYSlhLnRleHRDb250ZW50PWI7ZWxzZSBpZihhLm5vZGVUeXBlPT0zKWEuZGF0YT1TdHJpbmcoYik7ZWxzZSBpZihhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09Myl7Zm9yKDthLmxhc3RDaGlsZCE9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEubGFzdENoaWxkKTthLmZpcnN0Q2hpbGQuZGF0YT1TdHJpbmcoYil9ZWxzZSBfLnpkKGEpLGEuYXBwZW5kQ2hpbGQoXy5zZChhKS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYikpKX07Xy5yZD1mdW5jdGlvbihhKXt0aGlzLmc9YXx8Xy52LmRvY3VtZW50fHxkb2N1bWVudH07Xy5tPV8ucmQucHJvdG90eXBlO18ubS5IPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKHRoaXMuZyxhKX07Xy5tLmRqPV8ucmQucHJvdG90eXBlLkg7Xy5tLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fHRoaXMuZykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Cl8ubS5TPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy55ZCh0aGlzLmcsYXJndW1lbnRzKX07Xy5tLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2QodGhpcy5nLGEpfTtfLm0uY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpfTtfLm0uYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLm0uYXBwZW5kPWZ1bmN0aW9uKGEsYil7eGQoXy5zZChhKSxhLGFyZ3VtZW50cywxKX07Xy5tLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8ubS5pZT1fLnpkO18ubS5yZW1vdmVOb2RlPV8uQWQ7Xy5tLmNvbnRhaW5zPV8uQmQ7Xy5tLlNiPV8uQ2Q7YmIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWR9O3ZhciBjYj1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT1hIGluc3RhbmNlb2YgYmI/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMuaD0hMX07Y2IucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuaD0hMH07Y2IucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTt2YXIgRGQ9ZnVuY3Rpb24oKXtpZighXy52LmFkZEV2ZW50TGlzdGVuZXJ8fCFPYmplY3QuZGVmaW5lUHJvcGVydHkpcmV0dXJuITE7dmFyIGE9ITEsYj1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXthPSEwfX0pO3RyeXt2YXIgYz1mdW5jdGlvbigpe307Xy52LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYik7Xy52LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYil9Y2F0Y2goZCl7fXJldHVybiBhfSgpO18uRyhfLmRiLGNiKTsKXy5kYi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMudHlwZT1hLnR5cGUsZD1hLmNoYW5nZWRUb3VjaGVzJiZhLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9hLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhpcy50YXJnZXQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudDt0aGlzLmN1cnJlbnRUYXJnZXQ9YjtiPWEucmVsYXRlZFRhcmdldDtifHwoYz09Im1vdXNlb3ZlciI/Yj1hLmZyb21FbGVtZW50OmM9PSJtb3VzZW91dCImJihiPWEudG9FbGVtZW50KSk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPWQuY2xpZW50WCE9PXZvaWQgMD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9ZC5jbGllbnRZIT09dm9pZCAwP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLlZjfHxhLm9mZnNldFghPT12b2lkIDA/YS5vZmZzZXRYOmEubGF5ZXJYLAp0aGlzLm9mZnNldFk9Xy5WY3x8YS5vZmZzZXRZIT09dm9pZCAwP2Eub2Zmc2V0WTphLmxheWVyWSx0aGlzLmNsaWVudFg9YS5jbGllbnRYIT09dm9pZCAwP2EuY2xpZW50WDphLnBhZ2VYLHRoaXMuY2xpZW50WT1hLmNsaWVudFkhPT12b2lkIDA/YS5jbGllbnRZOmEucGFnZVksdGhpcy5zY3JlZW5YPWEuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9YS5zY3JlZW5ZfHwwKTt0aGlzLmJ1dHRvbj1hLmJ1dHRvbjt0aGlzLmtleUNvZGU9YS5rZXlDb2RlfHwwO3RoaXMua2V5PWEua2V5fHwiIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fChjPT0ia2V5cHJlc3MiP2Eua2V5Q29kZTowKTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuYWx0S2V5PWEuYWx0S2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWEucG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9YS5wb2ludGVyVHlwZTt0aGlzLnN0YXRlPWEuc3RhdGU7CnRoaXMudGltZVN0YW1wPWEudGltZVN0YW1wO3RoaXMuZz1hO2EuZGVmYXVsdFByZXZlbnRlZCYmXy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpfTtfLmRiLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtfLmRiLmVhLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuZy5zdG9wUHJvcGFnYXRpb24/dGhpcy5nLnN0b3BQcm9wYWdhdGlvbigpOnRoaXMuZy5jYW5jZWxCdWJibGU9ITB9O18uZGIucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7Xy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuZzthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgRWQ9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxGZD1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHwhYVtFZF0pfTt2YXIgZWI9MDt2YXIgR2Q9ZnVuY3Rpb24oYSl7YS5vYz0hMDthLmxpc3RlbmVyPW51bGw7YS5wcm94eT1udWxsO2Euc3JjPW51bGw7YS5WYz1udWxsfTtnYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5nW2ZdO2F8fChhPXRoaXMuZ1tmXT1bXSx0aGlzLmgrKyk7dmFyIGc9SGQoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLkhjPSExKSk6KGI9bmV3IGZiKGIsdGhpcy5zcmMsZiwhIWQsZSksYi5IYz1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O2diLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLnRvU3RyaW5nKCk7aWYoIShhIGluIHRoaXMuZykpcmV0dXJuITE7dmFyIGU9dGhpcy5nW2FdO2I9SGQoZSxiLGMsZCk7cmV0dXJuIGI+LTE/KEdkKGVbYl0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChlLGIsMSksZS5sZW5ndGg9PTAmJihkZWxldGUgdGhpcy5nW2FdLHRoaXMuaC0tKSwhMCk6ITF9Owp2YXIgSWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnR5cGU7YyBpbiBhLmcmJl8udmEoYS5nW2NdLGIpJiYoR2QoYiksYS5nW2NdLmxlbmd0aD09MCYmKGRlbGV0ZSBhLmdbY10sYS5oLS0pKX07Z2IucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe2E9dGhpcy5nW2EudG9TdHJpbmcoKV07dmFyIGU9LTE7YSYmKGU9SGQoYSxiLGMsZCkpO3JldHVybiBlPi0xP2FbZV06bnVsbH07Z2IucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YSE9PXZvaWQgMCxkPWM/YS50b1N0cmluZygpOiIiLGU9YiE9PXZvaWQgMDtyZXR1cm4gRGEodGhpcy5nLGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7KytnKWlmKCEoYyYmZltnXS50eXBlIT1kfHxlJiZmW2ddLmNhcHR1cmUhPWIpKXJldHVybiEwO3JldHVybiExfSl9Owp2YXIgSGQ9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDsrK2Upe3ZhciBmPWFbZV07aWYoIWYub2MmJmYubGlzdGVuZXI9PWImJmYuY2FwdHVyZT09ISFjJiZmLlZjPT1kKXJldHVybiBlfXJldHVybi0xfTt2YXIgSmQsS2QsTWQsUGQsUmQsU2QsVGQsUWQsV2QsT2Q7SmQ9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCk7S2Q9e307TWQ9MDtfLng9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpcmV0dXJuIF8uTmQoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylfLngoYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1jPU9kKGMpO3JldHVybiBGZChhKT9hLk4oYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCExLGQsZSl9OwpQZD1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoInYiKTt2YXIgZz1fLnlhKGUpPyEhZS5jYXB0dXJlOiEhZSxoPVFkKGEpO2h8fChhW0pkXT1oPW5ldyBnYihhKSk7Yz1oLmFkZChiLGMsZCxnLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1SZCgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpRGR8fChlPWcpLGU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQoU2QoYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKCJ3Iik7TWQrKztyZXR1cm4gY307UmQ9ZnVuY3Rpb24oKXt2YXIgYT1UZCxiPWZ1bmN0aW9uKGMpe3JldHVybiBhLmNhbGwoYi5zcmMsYi5saXN0ZW5lcixjKX07cmV0dXJuIGJ9OwpfLk5kPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspXy5OZChhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9T2QoYyk7cmV0dXJuIEZkKGEpP2EuYWUoYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCEwLGQsZSl9O18uVWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uVWQoYSxiW2ZdLGMsZCxlKTtlbHNlIGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsYz1PZChjKSxGZChhKT9hLnljKGIsYyxkLGUpOmEmJihhPVFkKGEpKSYmKGI9YS5qYyhiLGMsZCxlKSkmJl8uVmQoYil9OwpfLlZkPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLm9jKXt2YXIgYj1hLnNyYztpZihGZChiKSlJZChiLlFhLGEpO2Vsc2V7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudChTZChjKSxkKTpiLmFkZExpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyKGQpO01kLS07KGM9UWQoYikpPyhJZChjLGEpLGMuaD09MCYmKGMuc3JjPW51bGwsYltKZF09bnVsbCkpOkdkKGEpfX19O1NkPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIEtkP0tkW2FdOktkW2FdPSJvbiIrYX07VGQ9ZnVuY3Rpb24oYSxiKXtpZihhLm9jKWE9ITA7ZWxzZXtiPW5ldyBfLmRiKGIsdGhpcyk7dmFyIGM9YS5saXN0ZW5lcixkPWEuVmN8fGEuc3JjO2EuSGMmJl8uVmQoYSk7YT1jLmNhbGwoZCxiKX1yZXR1cm4gYX07ClFkPWZ1bmN0aW9uKGEpe2E9YVtKZF07cmV0dXJuIGEgaW5zdGFuY2VvZiBnYj9hOm51bGx9O1dkPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7T2Q9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbV2RdfHwoYVtXZF09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtXZF19O18uRyhfLmhiLF8udSk7Xy5oYi5wcm90b3R5cGVbRWRdPSEwO18ubT1fLmhiLnByb3RvdHlwZTtfLm0ubmQ9ZnVuY3Rpb24oYSl7dGhpcy5mZD1hfTtfLm0uYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLngodGhpcyxhLGIsYyxkKX07Xy5tLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5VZCh0aGlzLGEsYixjLGQpfTsKXy5tLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmZkO2lmKGMpZm9yKGI9W107YztjPWMuZmQpYi5wdXNoKGMpO2M9dGhpcy5XZzt2YXIgZD1hLnR5cGV8fGE7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilhPW5ldyBjYihhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIGNiKWEudGFyZ2V0PWEudGFyZ2V0fHxjO2Vsc2V7dmFyIGU9YTthPW5ldyBjYihkLGMpO0ZhKGEsZSl9ZT0hMDt2YXIgZjtpZihiKWZvcihmPWIubGVuZ3RoLTE7IWEuaCYmZj49MDtmLS0pe3ZhciBnPWEuY3VycmVudFRhcmdldD1iW2ZdO2U9WGQoZyxkLCEwLGEpJiZlfWEuaHx8KGc9YS5jdXJyZW50VGFyZ2V0PWMsZT1YZChnLGQsITAsYSkmJmUsYS5ofHwoZT1YZChnLGQsITEsYSkmJmUpKTtpZihiKWZvcihmPTA7IWEuaCYmZjxiLmxlbmd0aDtmKyspZz1hLmN1cnJlbnRUYXJnZXQ9YltmXSxlPVhkKGcsZCwhMSxhKSYmZTtyZXR1cm4gZX07Cl8ubS5NPWZ1bmN0aW9uKCl7Xy5oYi5lYS5NLmNhbGwodGhpcyk7aWYodGhpcy5RYSl7dmFyIGE9dGhpcy5RYSxiPTAsYztmb3IoYyBpbiBhLmcpe2Zvcih2YXIgZD1hLmdbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixHZChkW2VdKTtkZWxldGUgYS5nW2NdO2EuaC0tfX10aGlzLmZkPW51bGx9O18ubS5OPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLm0uYWU9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuUWEuYWRkKFN0cmluZyhhKSxiLCEwLGMsZCl9O18ubS55Yz1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5RYS5yZW1vdmUoU3RyaW5nKGEpLGIsYyxkKX07CnZhciBYZD1mdW5jdGlvbihhLGIsYyxkKXtiPWEuUWEuZ1tTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTtmb3IodmFyIGU9ITAsZj0wO2Y8Yi5sZW5ndGg7KytmKXt2YXIgZz1iW2ZdO2lmKGcmJiFnLm9jJiZnLmNhcHR1cmU9PWMpe3ZhciBoPWcubGlzdGVuZXIsaz1nLlZjfHxnLnNyYztnLkhjJiZJZChhLlFhLGcpO2U9aC5jYWxsKGssZCkhPT0hMSYmZX19cmV0dXJuIGUmJiFkLmRlZmF1bHRQcmV2ZW50ZWR9O18uaGIucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmpjKFN0cmluZyhhKSxiLGMsZCl9O18uaGIucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuUWEuaGFzTGlzdGVuZXIoYSE9PXZvaWQgMD9TdHJpbmcoYSk6dm9pZCAwLGIpfTtfLkcoamIsXy5oYik7amIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtqYi5lYS5NLmNhbGwodGhpcyk7dGhpcy5oJiYoXy5WZCh0aGlzLmgpLHRoaXMuaD1udWxsKTt0aGlzLmo9dGhpcy5nPW51bGx9O2piLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dmFyIGE9Xy5pYih0aGlzLmd8fHdpbmRvdyk7Xy55YyhhLHRoaXMuail8fCh0aGlzLmo9YSx0aGlzLmRpc3BhdGNoRXZlbnQoInJlc2l6ZSIpKX07Xy5HKGtiLF8uaGIpO2tiLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5nJiYodHlwZW9mIHRoaXMuZy5hZGRFdmVudExpc3RlbmVyPT09ImZ1bmN0aW9uIj8odGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5qKSx0aGlzLmw9ZnVuY3Rpb24oKXthLmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhLmopfSk6KHRoaXMuZy5hZGRMaXN0ZW5lcih0aGlzLmopLHRoaXMubD1mdW5jdGlvbigpe2EuZy5yZW1vdmVMaXN0ZW5lcihhLmopfSkpfTtrYi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMubyE9YSYmKHRoaXMubz1hLHRoaXMuZGlzcGF0Y2hFdmVudCgiYSIpKX07a2IucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmwmJnRoaXMubCgpO2tiLmVhLk0uY2FsbCh0aGlzKX07Xy5HKG5iLF8udSk7bmIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5sPW51bGw7dGhpcy5nJiYodGhpcy5nLmRpc3Bvc2UoKSx0aGlzLmc9bnVsbCk7Xy5wYSh0aGlzLmopO3RoaXMuaj1udWxsfTtfLm9hKHVjLG5iKTt2YXIgb2I9bmV3IFVpbnQ4QXJyYXkoMTIzKSxZZD0hMTt2YXIgWmQ9W107bmM9bmN8fHt9O3ZhciAkZD1mdW5jdGlvbigpe18udS5jYWxsKHRoaXMpfTtfLkcoJGQsXy51KTskZC5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe307c2IucHJvdG90eXBlLmV4ZWN1dGU9ZnVuY3Rpb24oYSl7dGhpcy5nJiYodGhpcy5nLmNhbGwodGhpcy5ofHxudWxsLGEpLHRoaXMuZz10aGlzLmg9bnVsbCl9O3NiLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuaD10aGlzLmc9bnVsbH07bmMuR2U9c2I7Xy5HKHViLF8udSk7dWIucHJvdG90eXBlLkM9JGQ7dWIucHJvdG90eXBlLmc9bnVsbDt1Yi5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfTt2YXIgYWU9ZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1bXSk7YS5qLnB1c2gobmV3IG5jLkdlKGIsYykpfSxiZT1mdW5jdGlvbihhLGIpe2EuaHx8KGEuaD1bXSk7YS5oLnB1c2gobmV3IG5jLkdlKGIsdm9pZCAwKSl9O3ViLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe3RoaXMuZz1uZXcgJGR9O3ViLnByb3RvdHlwZS5vbkxvYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRoaXMuQztiLmluaXRpYWxpemUoYSgpKTt0aGlzLmc9YjtpZih0aGlzLm8mJihiPWNlKHRoaXMubyxhKCkpKSlyZXR1cm4gYjtpZih0aGlzLmomJihhPWNlKHRoaXMuaixhKCkpKSlyZXR1cm4gYTt0aGlzLmgmJih0aGlzLmgubGVuZ3RoPTApO3JldHVybiBudWxsfTsKdWIucHJvdG90eXBlLmZlPWZ1bmN0aW9uKGEpe3RoaXMuaCYmKGE9Y2UodGhpcy5oLGEpKSYmXy5yYihFcnJvcigieWAiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuaiYmKHRoaXMuai5sZW5ndGg9MCl9O3ZhciBjZT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspdHJ5e2FbZF0uZXhlY3V0ZShiKX1jYXRjaChlKXtfLnJiKGUpLGMucHVzaChlKX1hLmxlbmd0aD0wO3JldHVybiBjLmxlbmd0aD9jOm51bGx9O3ViLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dWIuZWEuTS5jYWxsKHRoaXMpO18ucGEodGhpcy5nKX07bmMuRmU9dWI7dmFyIGRlPXtFUlJPUjoiZXJyb3IiLElETEU6ImlkbGUiLGxnOiJhY3RpdmUiLElnOiJ1c2VySWRsZSIsSGc6InVzZXJBY3RpdmUifTtfLm09dmIucHJvdG90eXBlO18ubS5YZj1mdW5jdGlvbigpe307Xy5tLnFlPWZ1bmN0aW9uKCl7fTtfLm0uamU9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiQSIpO307Xy5tLmtmPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWF9O18ubS5zZT1mdW5jdGlvbihhKXt0aGlzLnFhPWF9O18ubS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiExfTtfLm0uRGY9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIGVlPXR5cGVvZiBBc3luY0NvbnRleHQhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEFzeW5jQ29udGV4dC5TbmFwc2hvdD09PSJmdW5jdGlvbiI/ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYX07dmFyIGZlPWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5qPWI7dGhpcy5oPTA7dGhpcy5nPW51bGx9O2ZlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLmg+MCl7dGhpcy5oLS07dmFyIGE9dGhpcy5nO3RoaXMuZz1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMubCgpO3JldHVybiBhfTt2YXIgeGI9ZnVuY3Rpb24oYSxiKXthLmooYik7YS5oPDEwMCYmKGEuaCsrLGIubmV4dD1hLmcsYS5nPWIpfTt2YXIgZ2U9ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5nPW51bGx9O2dlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz15Yi5nZXQoKTtjLnNldChhLGIpO3RoaXMuaD90aGlzLmgubmV4dD1jOnRoaXMuZz1jO3RoaXMuaD1jfTtnZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIGE9bnVsbDt0aGlzLmcmJihhPXRoaXMuZyx0aGlzLmc9dGhpcy5nLm5leHQsdGhpcy5nfHwodGhpcy5oPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX07dmFyIHliPW5ldyBmZShmdW5jdGlvbigpe3JldHVybiBuZXcgaGV9LGZ1bmN0aW9uKGEpe3JldHVybiBhLnJlc2V0KCl9KSxoZT1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZz1udWxsfTtoZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5zY29wZT1iO3RoaXMubmV4dD1udWxsfTsKaGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9O3ZhciBpZSx6Yj0hMSx3Yj1uZXcgZ2Usa2U9ZnVuY3Rpb24oYSxiKXtpZXx8amUoKTt6Ynx8KGllKCksemI9ITApO3diLmFkZChhLGIpfSxqZT1mdW5jdGlvbigpe3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO2llPWZ1bmN0aW9uKCl7YS50aGVuKEFiKX19O18ubGU9ZnVuY3Rpb24oKXt9O3ZhciBtZT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07dmFyIHBlLEFlLHllLHdlO18ub2U9ZnVuY3Rpb24oYSl7dGhpcy5nPTA7dGhpcy5CPXZvaWQgMDt0aGlzLmw9dGhpcy5oPXRoaXMuaj1udWxsO3RoaXMubz10aGlzLkE9ITE7aWYoYSE9Xy5sZSl0cnl7dmFyIGI9dGhpczthLmNhbGwodm9pZCAwLGZ1bmN0aW9uKGMpe18ubmUoYiwyLGMpfSxmdW5jdGlvbihjKXtfLm5lKGIsMyxjKX0pfWNhdGNoKGMpe18ubmUodGhpcywzLGMpfX07cGU9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5qPXRoaXMuaD10aGlzLmw9dGhpcy5nPW51bGw7dGhpcy5vPSExfTtwZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy5oPXRoaXMubD10aGlzLmc9bnVsbDt0aGlzLm89ITF9O3ZhciBxZT1uZXcgZmUoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHBlfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KSxyZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cWUuZ2V0KCk7ZC5sPWE7ZC5oPWI7ZC5qPWM7cmV0dXJuIGR9OwpfLm9lLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gc2UodGhpcyxlZSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSxlZSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy5vZS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7Xy5vZS5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe3JldHVybiBzZSh0aGlzLG51bGwsZWUoYSksYil9O18ub2UucHJvdG90eXBlLmNhdGNoPV8ub2UucHJvdG90eXBlLkM7Xy5vZS5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZz09MCl7dmFyIGI9bmV3IHVlKGEpO2tlKGZ1bmN0aW9uKCl7dmUodGhpcyxiKX0sdGhpcyl9fTsKdmFyIHZlPWZ1bmN0aW9uKGEsYil7aWYoYS5nPT0wKWlmKGEuail7dmFyIGM9YS5qO2lmKGMuaCl7Zm9yKHZhciBkPTAsZT1udWxsLGY9bnVsbCxnPWMuaDtnJiYoZy5vfHwoZCsrLGcuZz09YSYmKGU9ZyksIShlJiZkPjEpKSk7Zz1nLm5leHQpZXx8KGY9Zyk7ZSYmKGMuZz09MCYmZD09MT92ZShjLGIpOihmPyhkPWYsZC5uZXh0PT1jLmwmJihjLmw9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTp3ZShjKSx4ZShjLGUsMyxiKSkpfWEuaj1udWxsfWVsc2UgXy5uZShhLDMsYil9LHplPWZ1bmN0aW9uKGEsYil7YS5ofHxhLmchPTImJmEuZyE9M3x8eWUoYSk7YS5sP2EubC5uZXh0PWI6YS5oPWI7YS5sPWJ9LHNlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXJlKG51bGwsbnVsbCxudWxsKTtlLmc9bmV3IF8ub2UoZnVuY3Rpb24oZixnKXtlLmw9Yj9mdW5jdGlvbihoKXt0cnl7dmFyIGs9Yi5jYWxsKGQsaCk7ZihrKX1jYXRjaChsKXtnKGwpfX06ZjtlLmg9Yz9mdW5jdGlvbihoKXt0cnl7dmFyIGs9CmMuY2FsbChkLGgpO2s9PT12b2lkIDAmJmggaW5zdGFuY2VvZiB1ZT9nKGgpOmYoayl9Y2F0Y2gobCl7ZyhsKX19Omd9KTtlLmcuaj1hO3plKGEsZSk7cmV0dXJuIGUuZ307Xy5vZS5wcm90b3R5cGUuRj1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMixhKX07Xy5vZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMyxhKX07Cl8ubmU9ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZz09MCl7YT09PWMmJihiPTMsYz1uZXcgVHlwZUVycm9yKCJCIikpO2EuZz0xO2E6e3ZhciBkPWMsZT1hLkYsZj1hLkc7aWYoZCBpbnN0YW5jZW9mIF8ub2Upe3plKGQscmUoZXx8Xy5sZSxmfHxudWxsLGEpKTt2YXIgZz0hMH1lbHNlIGlmKG1lKGQpKWQudGhlbihlLGYsYSksZz0hMDtlbHNle2lmKF8ueWEoZCkpdHJ5e3ZhciBoPWQudGhlbjtpZih0eXBlb2YgaD09PSJmdW5jdGlvbiIpe0FlKGQsaCxlLGYsYSk7Zz0hMDticmVhayBhfX1jYXRjaChrKXtmLmNhbGwoYSxrKTtnPSEwO2JyZWFrIGF9Zz0hMX19Z3x8KGEuQj1jLGEuZz1iLGEuaj1udWxsLHllKGEpLGIhPTN8fGMgaW5zdGFuY2VvZiB1ZXx8QmUoYSxjKSl9fTtBZT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSExLGc9ZnVuY3Rpb24oayl7Znx8KGY9ITAsYy5jYWxsKGUsaykpfSxoPWZ1bmN0aW9uKGspe2Z8fChmPSEwLGQuY2FsbChlLGspKX07dHJ5e2IuY2FsbChhLGcsaCl9Y2F0Y2goayl7aChrKX19Owp5ZT1mdW5jdGlvbihhKXthLkF8fChhLkE9ITAsa2UoYS5ELGEpKX07d2U9ZnVuY3Rpb24oYSl7dmFyIGI9bnVsbDthLmgmJihiPWEuaCxhLmg9Yi5uZXh0LGIubmV4dD1udWxsKTthLmh8fChhLmw9bnVsbCk7cmV0dXJuIGJ9O18ub2UucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT13ZSh0aGlzKTspeGUodGhpcyxhLHRoaXMuZyx0aGlzLkIpO3RoaXMuQT0hMX07CnZhciB4ZT1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT0zJiZiLmgmJiFiLm8pZm9yKDthJiZhLm87YT1hLmopYS5vPSExO2lmKGIuZyliLmcuaj1udWxsLENlKGIsYyxkKTtlbHNlIHRyeXtiLm8/Yi5sLmNhbGwoYi5qKTpDZShiLGMsZCl9Y2F0Y2goZSl7RmUuY2FsbChudWxsLGUpfXhiKHFlLGIpfSxDZT1mdW5jdGlvbihhLGIsYyl7Yj09Mj9hLmwuY2FsbChhLmosYyk6YS5oJiZhLmguY2FsbChhLmosYyl9LEJlPWZ1bmN0aW9uKGEsYil7YS5vPSEwO2tlKGZ1bmN0aW9uKCl7YS5vJiZGZS5jYWxsKG51bGwsYil9KX0sRmU9Xy5yYix1ZT1mdW5jdGlvbihhKXthYS5jYWxsKHRoaXMsYSl9O18uRyh1ZSxhYSk7dWUucHJvdG90eXBlLm5hbWU9ImNhbmNlbCI7QmIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbihhKXtpZih0aGlzLmgpdGhpcy5sIGluc3RhbmNlb2YgQmImJnRoaXMubC5jYW5jZWwoKTtlbHNle2lmKHRoaXMuail7dmFyIGI9dGhpcy5qO2RlbGV0ZSB0aGlzLmo7YT9iLmNhbmNlbChhKTooYi5BLS0sYi5BPD0wJiZiLmNhbmNlbCgpKX10aGlzLkc9ITA7dGhpcy5ofHx0aGlzLkYobmV3IEdlKHRoaXMpKX19O0JiLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEsYil7dGhpcy5EPSExO0hlKHRoaXMsYSxiKX07dmFyIEhlPWZ1bmN0aW9uKGEsYixjKXthLmg9ITA7YS5sPWM7YS5vPSFiO0llKGEpfSxLZT1mdW5jdGlvbihhKXtpZihhLmgpe2lmKCFhLkcpdGhyb3cgbmV3IEplKGEpO2EuRz0hMX19O0JiLnByb3RvdHlwZS5nPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITAsYSl9O0JiLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITEsYSl9Owp2YXIgTWU9ZnVuY3Rpb24oYSxiLGMpe0xlKGEsYixudWxsLGMpfSxOZT1mdW5jdGlvbihhLGIsYyl7TGUoYSxudWxsLGIsYyl9LExlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuaDtlfHwoYj09PWM/Yj1jPWVlKGIpOihiPWVlKGIpLGM9ZWUoYykpKTthLkIucHVzaChbYixjLGRdKTtlJiZJZShhKX07QmIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1uZXcgXy5vZShmdW5jdGlvbihnLGgpe2U9ZztkPWh9KTtMZSh0aGlzLGUsZnVuY3Rpb24oZyl7ZyBpbnN0YW5jZW9mIEdlP2YuY2FuY2VsKCk6ZChnKTtyZXR1cm4gT2V9LHRoaXMpO3JldHVybiBmLnRoZW4oYSxiLGMpfTtCYi5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIFBlPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIEJiP01lKGEsKDAsXy55KShiLkssYikpOk1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gYn0pfTsKQmIucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJiO0xlKHRoaXMsYi5nLGIuRixiKTthJiYoYi5qPXRoaXMsdGhpcy5BKyspO3JldHVybiBifTsKdmFyIFFlPWZ1bmN0aW9uKGEpe3JldHVybiBfLnhjKGEuQixmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9LE9lPXt9LEllPWZ1bmN0aW9uKGEpe2lmKGEuQyYmYS5oJiZRZShhKSl7dmFyIGI9YS5DLGM9UmVbYl07YyYmKF8udi5jbGVhclRpbWVvdXQoYy5nKSxkZWxldGUgUmVbYl0pO2EuQz0wfWEuaiYmKGEuai5BLS0sZGVsZXRlIGEuaik7Yj1hLmw7Zm9yKHZhciBkPWM9ITE7YS5CLmxlbmd0aCYmIWEuRDspe3ZhciBlPWEuQi5zaGlmdCgpLGY9ZVswXSxnPWVbMV07ZT1lWzJdO2lmKGY9YS5vP2c6Zil0cnl7dmFyIGg9Zi5jYWxsKGV8fG51bGwsYik7aD09PU9lJiYoaD12b2lkIDApO2ghPT12b2lkIDAmJihhLm89YS5vJiYoaD09Ynx8aCBpbnN0YW5jZW9mIEVycm9yKSxhLmw9Yj1oKTtpZihtZShiKXx8dHlwZW9mIF8udi5Qcm9taXNlPT09ImZ1bmN0aW9uIiYmYiBpbnN0YW5jZW9mIF8udi5Qcm9taXNlKWQ9ITAsYS5EPSEwfWNhdGNoKGspe2I9CmssYS5vPSEwLFFlKGEpfHwoYz0hMCl9fWEubD1iO2QmJihoPSgwLF8ueSkoYS5JLGEsITApLGQ9KDAsXy55KShhLkksYSwhMSksYiBpbnN0YW5jZW9mIEJiPyhMZShiLGgsZCksYi5XPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IFNlKGIpLFJlW2IuZ109YixhLkM9Yi5nKX0sSmU9ZnVuY3Rpb24oKXthYS5jYWxsKHRoaXMpfTtfLkcoSmUsYWEpO0plLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCBoYXMgYWxyZWFkeSBmaXJlZCI7SmUucHJvdG90eXBlLm5hbWU9IkFscmVhZHlDYWxsZWRFcnJvciI7dmFyIEdlPWZ1bmN0aW9uKCl7YWEuY2FsbCh0aGlzKX07Xy5HKEdlLGFhKTtHZS5wcm90b3R5cGUubWVzc2FnZT0iRGVmZXJyZWQgd2FzIGNhbmNlbGVkIjtHZS5wcm90b3R5cGUubmFtZT0iQ2FuY2VsZWRFcnJvciI7dmFyIFNlPWZ1bmN0aW9uKGEpe3RoaXMuZz1fLnYuc2V0VGltZW91dCgoMCxfLnkpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLmg9YX07ClNlLnByb3RvdHlwZS50aHJvd0Vycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIFJlW3RoaXMuZ107dGhyb3cgdGhpcy5oO307dmFyIFJlPXt9O3ZhciBUZT1mdW5jdGlvbihhLGIsYyxkLGUpe2M9RXJyb3IuY2FsbCh0aGlzKTt0aGlzLm1lc3NhZ2U9Yy5tZXNzYWdlOyJzdGFjayJpbiBjJiYodGhpcy5zdGFjaz1jLnN0YWNrKTt0aGlzLm5hbWU9Ik1vZHVsZUxvYWRGYWlsdXJlIjt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1iO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9O18uQihUZSxFcnJvcik7VGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIFVlKHRoaXMpKyIgKCIrKHRoaXMuc3RhdHVzIT12b2lkIDA/dGhpcy5zdGF0dXM6Ij8iKSsiKSJ9Owp2YXIgVWU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEudHlwZSl7Y2FzZSBUZS5nLkplOnJldHVybiJVbmF1dGhvcml6ZWQiO2Nhc2UgVGUuZy5CZTpyZXR1cm4iQ29uc2VjdXRpdmUgbG9hZCBmYWlsdXJlcyI7Y2FzZSBUZS5nLlRJTUVPVVQ6cmV0dXJuIlRpbWVkIG91dCI7Y2FzZSBUZS5nLkhlOnJldHVybiJPdXQgb2YgZGF0ZSBtb2R1bGUgaWQiO2Nhc2UgVGUuZy50ZDpyZXR1cm4iSW5pdCBlcnJvciI7ZGVmYXVsdDpyZXR1cm4iVW5rbm93biBmYWlsdXJlIHR5cGUgIithLnR5cGV9fTtuYy5GYT1UZTtuYy5GYS5nPXtKZTowLEJlOjEsVElNRU9VVDoyLEhlOjMsdGQ6NH07dmFyIFZlPWZ1bmN0aW9uKCl7dmIuY2FsbCh0aGlzKTt0aGlzLkk9bnVsbDt0aGlzLmc9bmV3IE1hcDt0aGlzLm89bmV3IFNldDt0aGlzLkE9W107dGhpcy5DPW5ldyBTZXQ7dGhpcy5qPVtdO3RoaXMuQj1uZXcgU2V0O3RoaXMuaD1OYz9uZXcgTWFwOnt9O3RoaXMuSz1uZXcgTWFwO3RoaXMubD10aGlzLkQ9bmV3IG5jLkZlKFtdLCIiKTt0aGlzLkw9bnVsbDt0aGlzLkY9bmV3IEJiO3RoaXMuUj10aGlzLlQ9dGhpcy5QPXRoaXMuVz0hMX07Xy5HKFZlLHZiKTt2YXIgV2U9ZnVuY3Rpb24oYSxiKXthYS5jYWxsKHRoaXMsIkVycm9yIGxvYWRpbmcgIithKyI6ICIrYil9O18uRyhXZSxhYSk7VmUucHJvdG90eXBlLlhmPWZ1bmN0aW9uKGEpe3RoaXMuVz1hfTsKVmUucHJvdG90eXBlLnFlPWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgVmUpKXRoaXMucWUoYSxiKTtlbHNlIGlmKHR5cGVvZiBhPT09InN0cmluZyIpe2lmKGEuc3RhcnRzV2l0aCgiZCQiKSl7YT1hLnN1YnN0cmluZygyKTtmb3IodmFyIGM9W10sZD0wLGU9YS5pbmRleE9mKCIvIiksZj0wLGc9ITEsaD0wOzspe3ZhciBrPWc/YS5zdWJzdHJpbmcoZik6YS5zdWJzdHJpbmcoZixlKTtpZihrLmxlbmd0aD09PTApZCsrLGY9InN5IitkLnRvU3RyaW5nKDM2KSxrPVtdO2Vsc2V7dmFyIGw9ay5pbmRleE9mKCI6Iik7aWYobDwwKWY9ayxrPVtdO2Vsc2UgaWYobD09PWsubGVuZ3RoLTEpZj1rLnN1YnN0cmluZygwLGwpLGs9QXJyYXkoY1toLTFdKTtlbHNle2Y9ay5zdWJzdHJpbmcoMCxsKTtrPWsuc3Vic3RyaW5nKGwrMSkuc3BsaXQoIiwiKTtsPWg7Zm9yKHZhciBuPTA7bjxrLmxlbmd0aDtuKyspbC09a1tuXS5sZW5ndGg9PT0wPzE6TnVtYmVyKGtbbl0pLGtbbl09Y1tsXX1sPQowO2lmKGYubGVuZ3RoPT09MClsPTE7ZWxzZSBpZihmLmNoYXJBdCgwKT09PSIrInx8Zi5jaGFyQXQoMCk9PT0iLSIpbD1OdW1iZXIoZik7bCE9PTAmJihkKz1sLGY9InN5IitkLnRvU3RyaW5nKDM2KSl9Yy5wdXNoKGYpO1hlKHRoaXMsZixrKTtpZihnKWJyZWFrO2Y9ZSsxO2U9YS5pbmRleE9mKCIvIixmKTtlPT09LTEmJihnPSEwKTtoKyt9dGhpcy5JPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpWWUodGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7aD1hW2RdLnNwbGl0KCI6Iik7ZT1oWzBdO2c9W107aWYoaFsxXSlmb3IoZz1oWzFdLnNwbGl0KCIsIiksaD0wO2g8Zy5sZW5ndGg7aCsrKWdbaF09Y1twYXJzZUludChnW2hdLDM2KV07Yy5wdXNoKGUpO1hlKHRoaXMsZSxnKX10aGlzLkk9Y31pZihiJiZiLmxlbmd0aCl7YT1fLkMoYik7Zm9yKGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXRoaXMuby5hZGQoYy52YWx1ZSk7CnRoaXMuTD1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5GLmh8fHRoaXMuRi5nKCk7T2JqZWN0LmZyZWV6ZSh0aGlzLkkpO1plKHRoaXMpfX07CnZhciBZZT1mdW5jdGlvbihhLGIpe2lmKCFZZCl7Zm9yKHZhciBjPTA7Yzw2NDtjKyspb2JbIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJDb2RlQXQoYyldPWM7WWQ9ITB9dmFyIGQ9e0hkOmIsQmI6Mn07cWIoZCk7dmFyIGU9cWIoZCksZj1xYihkKSsxO2I9QXJyYXkoZSk7Yz1BcnJheShlKTt2YXIgZz1BcnJheShlKTtmPUFycmF5KGYpO3ZhciBoPTAsaz0wLGw9ZC5IZCxuPWQuQmI7ZC5CYj1kLkhkLmluZGV4T2YoInwiLGQuQmIpKzE7Zm9yKHZhciBxPTA7cTxlO3ErKyl7dmFyIHA9cWIoZCkscj1wJjIsdD1wJjE7cD4+Pj0yO3Q/KGgrPXA+Pj4xXi0ocCYxKSxwPSJzeSIraC50b1N0cmluZygzNikpOih0PW4sbis9cCxwPWwuc3Vic3RyaW5nKHQsbikpO2JbcV09cDtyJiYoZltrKytdPXApfWZba109IiI7ZC5CYisrO2s9ZSYtMjtoPWUmMTtmb3IobD0wO2w8aztsKz0yKW49cGIoZCksZ1tsXT1uJjcsZ1tsKwoxXT1uPj4+MyY3O2gmJihoPXBiKGQpLGdba109aCY3KTtkLkJiKys7Zm9yKGs9MDtrPGU7aysrKWdba109PT03JiYoZ1trXT1xYihkKSk7ZC5CYisrO2ZvcihoPWs9MDtoPGU7aCsrKXtsPWdbaF07bj1sPT09MD9aZDpBcnJheShsKTtjW2hdPW47cT1rO2ZvcihyPTA7cjxsO3IrKylxLT1xYihkKSxuW3JdPWZbcV07ZltrXT09PWJbaF0mJmsrK31mb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKVhlKGEsYltkXSxjW2RdKTthLkk9Yn07VmUucHJvdG90eXBlLmplPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5oIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmguZ2V0KGEpO2MmJihjLmRlbGV0ZShiKSxjLnNpemU9PT0wJiZ0aGlzLmguZGVsZXRlKGEpKX1lbHNlIGlmKHRoaXMuaFthXSl7ZGVsZXRlIHRoaXMuaFthXVtiXTtmb3IoYyBpbiB0aGlzLmhbYV0pcmV0dXJuO2RlbGV0ZSB0aGlzLmhbYV19fTtWZS5wcm90b3R5cGUuc2U9ZnVuY3Rpb24oYSl7VmUuZWEuc2UuY2FsbCh0aGlzLGEpO1plKHRoaXMpfTsKVmUucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5zaXplPjB9O1ZlLnByb3RvdHlwZS5EZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIuc2l6ZT4wfTsKdmFyIGFmPWZ1bmN0aW9uKGEpe3ZhciBiPWEuUCxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoJGUoYSxjP2RlLmxnOmRlLklETEUpLGEuUD1jKTtiPWEuRGYoKTtiIT1hLlQmJigkZShhLGI/ZGUuSGc6ZGUuSWcpLGEuVD1iKX0sWGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZy5nZXQoYik7ZD9kLmw9YzphLmcuc2V0KGIsbmV3IG5jLkZlKGMsYikpfSxkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT17fTtiPV8uQyhuZXcgU2V0KGIpKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTtpZighZyl0aHJvdyBFcnJvcigiQ2AiK2YpO3ZhciBoPW5ldyBCYjtlW2ZdPWg7Zy5nP2guZyhhLnFhKTooYmYoYSxmLGcsISFjLGgpLGNmKGEsZil8fGQucHVzaChmKSl9ZC5sZW5ndGg+MCYmKGEuby5zaXplPT09MD9hLkcoZCk6KGEuai5wdXNoKGQpLGFmKGEpKSk7cmV0dXJuIGV9LGJmPWZ1bmN0aW9uKGEsYixjLGQsZSl7YWUoYywKZS5nLGUpO2JlKGMsZnVuY3Rpb24oZil7ZS5GKG5ldyBXZShiLGYpKX0pO2NmKGEsYik/ZCYmKGEuQi5hZGQoYiksYWYoYSkpOmQmJmEuQi5hZGQoYil9OwpWZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcztiPWI9PT12b2lkIDA/MDpiO3ZhciBlPWVmKHRoaXMsYSk7dGhpcy5vPW5ldyBTZXQoZSk7dGhpcy5BPXRoaXMuVz9hOl8ud2EoZSk7YWYodGhpcyk7aWYoZS5sZW5ndGghPT0wKXthPV8uQyhlKTtmb3IodmFyIGY9YS5uZXh0KCk7IWYuZG9uZTtmPWEubmV4dCgpKXRoaXMuQy5hZGQoZi52YWx1ZSk7YT10aGlzLk87aWYoIWEpdGhyb3cgRXJyb3IoIkQiKTtpZigodGhpcy5oIGluc3RhbmNlb2YgTWFwP3RoaXMuaC5zaXplPjA6T2JqZWN0LmtleXModGhpcy5oKS5sZW5ndGg+MCkmJiFhLkkpdGhyb3cgRXJyb3IoIkUiKTtmZihhLF8ud2EoZSksdGhpcy5nLHtqaDp0aGlzLmgsZmU6ZnVuY3Rpb24oZyxoLGspe3JldHVybiBnZihkLGQuQSxlLGchPW51bGw/Zzp2b2lkIDAsaCxiLCEhayl9LEZpOigwLF8ueSkodGhpcy5sYSx0aGlzKSxtaDohIWN9KX19Owp2YXIgaGY9ZnVuY3Rpb24oYSl7dGhpcy5oPWE7dGhpcy5qPW5ldyBTZXQ7dGhpcy5nPVtdfSxqZj1mdW5jdGlvbihhLGIpe2lmKCFhLmouaGFzKGIpJiYoYS5qLmFkZChiKSwhYS5oLkMuaGFzKGIpKSl7dmFyIGM9YS5oLmcuZ2V0KGIpO2lmKGMmJiFjLmcpe2M9Yy5sO2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWpmKGEsY1tkXSk7YS5nLnB1c2goYil9fX0sZWY9ZnVuY3Rpb24oYSxiKXtiPWIuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBhLmcuZ2V0KGUpLmc/KF8udi5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIEVycm9yKCJGYCIrZSl9LDApLCExKTohMH0pO2lmKE9jKXt2YXIgYz1uZXcgaGYoYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspamYoYyxiW2RdKTtjPWMuZ31lbHNle2M9W107Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljPWMuY29uY2F0KGtmKGEsYltkXSkpO0JhKGMpfXJldHVybiFhLlcmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEuaj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS5qKSwKW2JdKTpjfSxrZj1mdW5jdGlvbihhLGIpe2lmKE9jKXJldHVybiBhPW5ldyBoZihhKSxqZihhLGIpLGEuZzt2YXIgYz1bXTthLkMuaGFzKGIpfHxjLnB1c2goYik7Yj1bYl07Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWEuZy5nZXQoYltkXSkubCxmPWUubGVuZ3RoLTE7Zj49MDtmLS0pe3ZhciBnPWVbZl07YS5nLmdldChnKS5nfHxhLkMuaGFzKGcpfHwoYy5wdXNoKGcpLGIucHVzaChnKSl9Yy5yZXZlcnNlKCk7QmEoYyk7cmV0dXJuIGN9LFplPWZ1bmN0aW9uKGEpe2lmKGEubD09YS5EKXthLmw9bnVsbDt2YXIgYj1hLkQub25Mb2FkKCgwLF8ueSkoYS5rZixhKSk7YiYmYi5sZW5ndGgmJmxmKGEsbmV3IG5jLkZhKG5jLkZhLmcudGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpO2FmKGEpfX07ClZlLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe2lmKHRoaXMubCl7dmFyIGE9dGhpcy5sLlJhKCksYj1bXTtpZih0aGlzLmggaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuaC5nZXQoYSk7aWYoYyl7Yz1fLkMoQXJyYXkuZnJvbShjKSk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO3ZhciBlPXRoaXMuZy5nZXQoZCk7ZSYmIWUuZyYmKHRoaXMuamUoYSxkKSxiLnB1c2goZCkpfWRmKHRoaXMsYil9fWVsc2UgaWYodGhpcy5oW2FdKXtjPV8uQyhPYmplY3Qua2V5cyh0aGlzLmhbYV0pKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLChlPXRoaXMuZy5nZXQoZCkpJiYhZS5nJiYodGhpcy5qZShhLGQpLGIucHVzaChkKSk7ZGYodGhpcyxiKX10aGlzLnFiKCl8fCgoYj10aGlzLmcuZ2V0KGEpLm9uTG9hZCgoMCxfLnkpKHRoaXMua2YsdGhpcykpKSYmYi5sZW5ndGgmJmxmKHRoaXMsbmV3IG5jLkZhKG5jLkZhLmcudGQsCnZvaWQgMCx2b2lkIDAsdm9pZCAwLGJbMF0pKSx0aGlzLkIuZGVsZXRlKGEpLHRoaXMuby5kZWxldGUoYSksdGhpcy5vLnNpemUhPT0wfHxtZih0aGlzKSx0aGlzLkwmJmE9PXRoaXMuTCYmKHRoaXMuRi5ofHx0aGlzLkYuZygpKSxhZih0aGlzKSx0aGlzLmw9bnVsbCl9fTt2YXIgY2Y9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Zvcih2YXIgYz0wO2M8YS5qLmxlbmd0aDtjKyspaWYoXy50YShhLmpbY10sYikpcmV0dXJuITA7cmV0dXJuITF9O1ZlLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGRmKHRoaXMsW2FdLGIpW2FdfTsKdmFyIGthPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZGE7Yi5sJiZiLmwuUmEoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIiYmKGIubWQoKSxiLmcuZGVsZXRlKCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikpO3ZhciBjPWIuZy5nZXQoYSk7YyYmbmYoYixjLmx8fFtdLGZ1bmN0aW9uKGQpe2QubWQoKTtiLm8uZGVsZXRlKGQuUmEoKSl9LGZ1bmN0aW9uKGQpe3JldHVybiFkLmd9LG5ldyBTZXQpO2IubD1iLmcuZ2V0KGEpO2IubCYmKGIubC5CPSEwKX0sZ2Y9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9KGc9PT12b2lkIDA/MDpnKT8wOihmPT09dm9pZCAwPzA6ZikrMTtmPV8ud2EoYyk7YS5BPWI7Yz1fLkMoYyk7Zm9yKGc9Yy5uZXh0KCk7IWcuZG9uZTtnPWMubmV4dCgpKWEuQy5kZWxldGUoZy52YWx1ZSk7aWYoZD09NDAxKWxmKGEsbmV3IG5jLkZhKG5jLkZhLmcuSmUsZCkpLGEuai5sZW5ndGg9MDtlbHNlIGlmKGQ9PTQxMClvZihhLG5ldyBuYy5GYShuYy5GYS5nLkhlLApkKSksbWYoYSk7ZWxzZSBpZihoPj0zKW9mKGEsbmV3IG5jLkZhKG5jLkZhLmcuQmUsZCxmLGUpKSxtZihhKTtlbHNle3ZhciBrPWQ9PTgwMDF8fCExOyhkPU1hdGgucG93KGgsMikqNUUzKT9fLnYuc2V0VGltZW91dChmdW5jdGlvbigpe2EuRyhiLGgsayl9LGQpOmEuRyhiLGgsayl9fTtWZS5wcm90b3R5cGUubGE9ZnVuY3Rpb24oKXtvZih0aGlzLG5ldyBuYy5GYShuYy5GYS5nLlRJTUVPVVQpKTttZih0aGlzKX07CnZhciBvZj1mdW5jdGlvbihhLGIpe2EuQS5sZW5ndGg+MT9hLmo9YS5BLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS5qKTpsZihhLGIpfSxsZj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuQTthLm8uY2xlYXIoKTtmb3IodmFyIGQ9W10sZT0wO2U8YS5qLmxlbmd0aDtlKyspe3ZhciBmPWEualtlXS5maWx0ZXIoZnVuY3Rpb24oayl7dmFyIGw9a2YodGhpcyxrKTtyZXR1cm4gXy54YyhjLGZ1bmN0aW9uKG4pe3JldHVybiBfLnRhKGwsbil9KX0sYSk7eGEoZCxmKX1mb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKV8udWEoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS5qLmxlbmd0aDtmKyspXy52YShhLmpbZl0sZFtlXSk7YS5CLmRlbGV0ZShkW2VdKX1pZihlPWEuSy5nZXQoZGUuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspZm9yKHZhciBnPWVbZl0saD0wO2g8ZC5sZW5ndGg7aCsrKWcoZGUuRVJST1IsZFtoXSxiKTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKShlPQphLmcuZ2V0KGNbZF0pKSYmZS5mZShiKTthLkEubGVuZ3RoPTA7YWYoYSl9LG1mPWZ1bmN0aW9uKGEpe2Zvcig7YS5qLmxlbmd0aDspe3ZhciBiPWEuai5zaGlmdCgpLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hdGhpcy5nLmdldChjKS5nfSxhKTtpZihiLmxlbmd0aD4wKXthLkcoYik7cmV0dXJufX1hZihhKX0sJGU9ZnVuY3Rpb24oYSxiKXthPWEuSy5nZXQoYik7Zm9yKHZhciBjPTA7YSYmYzxhLmxlbmd0aDtjKyspYVtjXShiKX0sbmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uQyhiKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTshZS5oYXMoZikmJmQoZykmJihlLmFkZChmKSxuZihhLGcubHx8W10sYyxkLGUpLGMoZykpfX07ClZlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7cmEoQXJyYXkuZnJvbSh0aGlzLmcudmFsdWVzKCkpLHRoaXMuRCk7dGhpcy5nLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5BPVtdO3RoaXMuQi5jbGVhcigpO3RoaXMuaj1bXTt0aGlzLksuY2xlYXIoKTt0aGlzLlI9ITB9O1ZlLnByb3RvdHlwZS5xYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O18uaGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFZlfTt2YXIgcGY9W10scWY9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXtkJiZ3YyhkLGZ1bmN0aW9uKGUsZil7ZVtmLmlkXT0hMDtyZXR1cm4gZX0sYy5KaSl9dmFyIGM9e0ppOnt9LGluZGV4OnBmLmxlbmd0aCxWbDphfTtiKGEubGQpO2IoYS5qbSk7cGYucHVzaChjKTthLmxkJiZfLnZjKGEubGQsZnVuY3Rpb24oZCl7dmFyIGU9ZC5pZDtlIGluc3RhbmNlb2YgdGMmJmQubW9kdWxlJiYoZS5nPWQubW9kdWxlKX0pfTtxZih7bGQ6W3tpZDp1YyxMYjpuYixtdWx0aXBsZTohMH1dfSk7Xy5yZj1SZWdFeHAoIl4oPzooW146Lz8jLl0rKTopPyg/Oi8vKD86KFteXFxcXC8/I10qKUApPyhbXlxcXFwvPyNdKj8pKD86OihbMC05XSspKT8oPz1bXFxcXC8/I118JCkpPyhbXj8jXSspPyg/OlxcPyhbXiNdKikpPyg/OiMoW1xcc1xcU10qKSk/JCIpO3ZhciBzZj17fTt2YXIgdGY9bmV3IHRjKCJNcEp3WmMiLCJNcEp3WmMiKTtfLnVmPW5ldyB0YygiVVVKcVZlIiwiVVVKcVZlIik7dmFyIHZmPW5ldyBiYix3Zj1mdW5jdGlvbihhLGIsYyl7Y2IuY2FsbCh0aGlzLGEsYik7dGhpcy5ub2RlPWI7dGhpcy5raW5kPWN9O18uQih3ZixjYik7Xy54Zj1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO18ueWY9ZnVuY3Rpb24oYSxiKXtifHxfLmxiKCk7dGhpcy5oPWF8fG51bGx9O18ueWYucHJvdG90eXBlLmthPWZ1bmN0aW9uKGEsYil7YT1hKGJ8fHt9LHRoaXMuaD90aGlzLmguZ2V0RGF0YSgpOnt9KTt0aGlzLmcobnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgXy56ZiYmYSBpbnN0YW5jZW9mIF8uemY/YS5aYjpudWxsKTtyZXR1cm4gU3RyaW5nKGEpfTtfLnlmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7fTt2YXIgQWY9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5oPXRoaXMuZy5nKF8udWYpfTtBZi5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbigpe3RoaXMuZy5xYigpfHwodGhpcy5oPXRoaXMuZy5nKF8udWYpKTtyZXR1cm4gdGhpcy5oP3RoaXMuaC5qKCk6e319O3ZhciBCZj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgQWYoYSk7Xy55Zi5jYWxsKHRoaXMsYixhLmdldCh1YykuaCk7dGhpcy5qPW5ldyBfLmhiO3RoaXMubD1ifTtfLkIoQmYsXy55Zik7QmYucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLmdldERhdGEoKX07QmYucHJvdG90eXBlLmc9ZnVuY3Rpb24oYSxiKXtfLnlmLnByb3RvdHlwZS5nLmNhbGwodGhpcyxhLGIpO3RoaXMuai5kaXNwYXRjaEV2ZW50KG5ldyB3Zih2ZixhLGIpKX07Xy5vYSh0ZixCZik7cWYoe2xkOlt7aWQ6dGYsTGI6QmYsbXVsdGlwbGU6ITB9XX0pO3ZhciBDZj1mdW5jdGlvbihhLGIpe3RoaXMuZGVmYXVsdFZhbHVlPWE7dGhpcy50eXBlPWI7dGhpcy52YWx1ZT1hfTtDZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O0NmLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZT1hfTt2YXIgRGY9ZnVuY3Rpb24oYSl7Q2YuY2FsbCh0aGlzLGEsImIiKX07Xy5CKERmLENmKTtEZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBFZj1mdW5jdGlvbigpe3RoaXMuZz17fTt0aGlzLmo9IiI7dGhpcy5oPXt9fTtFZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmorRmYodGhpcyk7dmFyIGI9dGhpcy5oO3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilGYihkLGJbZF0sYyk7Yj1jLmpvaW4oIiYiKTtjPSIiO2IhPSIiJiYoYz0iPyIrYik7cmV0dXJuIGErY307CnZhciBIZj1mdW5jdGlvbihhKXthPUdmKGEsIm1kIik7cmV0dXJuISFhJiZhIT09IjAifSxGZj1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPWZ1bmN0aW9uKGQpe2EuZ1tkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EuZ1tkXSl9O0hmKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5nfHxJZihhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuZy5leGNtfHxhLmcuZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksR2YoYSwiYnIiKSE9IjEiJiZHZihhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLEdmKGEsInJiIik9PSIxIiYmYygicmIiKSxHZihhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLEpmKGEpIT09IiImJgpjKCJ3dCIpLGMoImdzc21vZHVsZXNldHByb3RvIiksYygidWpnIiksYygic3AiKSxjKCJpY2hjIiksYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9LEdmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuZ1tiXT9hLmdbYl06bnVsbH0sSWY9ZnVuY3Rpb24oYSxiLGMpe2M/YS5nW2JdPWM6ZGVsZXRlIGEuZ1tiXX0sSmY9ZnVuY3Rpb24oYSl7c3dpdGNoKEdmKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fSxNZj1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9S2YoYSksZD1uZXcgRWYsZT1jLm1hdGNoKF8ucmYpWzVdO18uemMoTGYsZnVuY3Rpb24oZyl7dmFyIGg9ZS5tYXRjaCgiLyIrZysiPShbXi9dKykiKTtoJiZJZihkLGcsaFsxXSl9KTsKdmFyIGY9IiI7Zj1hLmluZGV4T2YoIl8vc3MvIikhPS0xPyJfL3NzLyI6Il8vanMvIjtkLmo9YS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpO2lmKCFiKXJldHVybiBkOyhhPWMubWF0Y2goXy5yZilbNl18fG51bGwpJiZfLkViKGEsZnVuY3Rpb24oZyxoKXtkLmhbZ109aH0pO3JldHVybiBkfSxLZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFydHNXaXRoKCJodHRwczovL3ViZXJwcm94eS1wZW4tcmVkaXJlY3QuY29ycC5nb29nbGUuY29tL3ViZXJwcm94eS9wZW4/dXJsPSIpP2Euc3Vic3RyKDY1KTphfSxMZj17Wmo6ImsiLHFqOiJjayIsVGo6Im0iLERqOiJleG0iLEJqOiJleGNtIixlajoiYW0iLGZqOiJhbWMiLFJqOiJtbSIsWWo6InJ0IixNajoiZCIsQ2o6ImVkIixqazoic3YiLHNqOiJkZW9iIixtajoiY2IiLG9qOiJjY2IiLG5qOiJjYmkiLGdrOiJycyIsYWs6InNkY2giLE5qOiJpbSIsdGo6ImRnIix6ajoiYnIiLHlqOiJici1kIixBajoicmIiLEJrOiJ6cyIsQWs6Ind0IiwKRWo6ImVlIixpazoic20iLFNqOiJtZCIsSmo6Imdzc21vZHVsZXNldHByb3RvIix5azoidWpnIix4azoic3AiLExqOiJpY2hjIixmazoic2xrIix2ajoiZHRpIix1ajoiZGJ3aCIsT2o6ImljIn0sTmY9UmVnRXhwKCJeW2EtekEtWjAtOS1fKl0rJCIpO18uRyhfLkhiLF8udSk7dmFyIE9mPVtdO18uSGIucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIFBmKHRoaXMsYSxiLGMsZCl9O3ZhciBQZj1mdW5jdGlvbihhLGIsYyxkLGUsZil7QXJyYXkuaXNBcnJheShjKXx8KGMmJihPZlswXT1jLnRvU3RyaW5nKCkpLGM9T2YpO2Zvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKXt2YXIgaD1fLngoYixjW2ddLGR8fGEuaGFuZGxlRXZlbnQsZXx8ITEsZnx8YS5ofHxhKTtpZighaClicmVhazthLmdbaC5rZXldPWh9cmV0dXJuIGF9O18uSGIucHJvdG90eXBlLmFlPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBRZih0aGlzLGEsYixjLGQpfTsKdmFyIFFmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGMpKWZvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKVFmKGEsYixjW2ddLGQsZSxmKTtlbHNle2I9Xy5OZChiLGMsZHx8YS5oYW5kbGVFdmVudCxlLGZ8fGEuaHx8YSk7aWYoIWIpcmV0dXJuIGE7YS5nW2Iua2V5XT1ifXJldHVybiBhfTtfLkhiLnByb3RvdHlwZS55Yz1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspdGhpcy55YyhhLGJbZl0sYyxkLGUpO2Vsc2UgYz1jfHx0aGlzLmhhbmRsZUV2ZW50LGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsZT1lfHx0aGlzLmh8fHRoaXMsYz1PZChjKSxkPSEhZCxiPUZkKGEpP2EuamMoYixjLGQsZSk6YT8oYT1RZChhKSk/YS5qYyhiLGMsZCxlKTpudWxsOm51bGwsYiYmKF8uVmQoYiksZGVsZXRlIHRoaXMuZ1tiLmtleV0pO3JldHVybiB0aGlzfTsKXy5SZj1mdW5jdGlvbihhKXtfLnpjKGEuZyxmdW5jdGlvbihiLGMpe3RoaXMuZy5oYXNPd25Qcm9wZXJ0eShjKSYmXy5WZChiKX0sYSk7YS5nPXt9fTtfLkhiLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5IYi5lYS5NLmNhbGwodGhpcyk7Xy5SZih0aGlzKX07Xy5IYi5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTiIpO307dmFyIFNmLFRmPWZ1bmN0aW9uKCl7fTtfLkcoVGYsSWIpO1RmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07U2Y9bmV3IFRmO18uRyhKYixJYik7SmIucHJvdG90eXBlLmc9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoIndpdGhDcmVkZW50aWFscyJpbiBhKXJldHVybiBhO2lmKHR5cGVvZiBYRG9tYWluUmVxdWVzdCE9InVuZGVmaW5lZCIpcmV0dXJuIG5ldyBVZjt0aHJvdyBFcnJvcigiTyIpO307dmFyIFVmPWZ1bmN0aW9uKCl7dGhpcy5nPW5ldyBYRG9tYWluUmVxdWVzdDt0aGlzLnJlYWR5U3RhdGU9MDt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMucmVzcG9uc2VUeXBlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuc3RhdHVzPS0xO3RoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLmcub25sb2FkPSgwLF8ueSkodGhpcy5QaCx0aGlzKTt0aGlzLmcub25lcnJvcj0oMCxfLnkpKHRoaXMuRGUsdGhpcyk7dGhpcy5nLm9ucHJvZ3Jlc3M9KDAsXy55KSh0aGlzLlNoLHRoaXMpO3RoaXMuZy5vbnRpbWVvdXQ9KDAsXy55KSh0aGlzLldoLHRoaXMpfTtfLm09VWYucHJvdG90eXBlOwpfLm0ub3Blbj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCYmIWMpdGhyb3cgRXJyb3IoIlAiKTt0aGlzLmcub3BlbihhLGIpfTtfLm0uc2VuZD1mdW5jdGlvbihhKXtpZihhKWlmKHR5cGVvZiBhPT0ic3RyaW5nIil0aGlzLmcuc2VuZChhKTtlbHNlIHRocm93IEVycm9yKCJRIik7ZWxzZSB0aGlzLmcuc2VuZCgpfTtfLm0uYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLmcuYWJvcnQoKX07Xy5tLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24oKXt9O18ubS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtyZXR1cm4gYS50b0xvd2VyQ2FzZSgpPT0iY29udGVudC10eXBlIj90aGlzLmcuY29udGVudFR5cGU6IiJ9O18ubS5QaD1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTIwMDt0aGlzLnJlc3BvbnNlVGV4dD10aGlzLmcucmVzcG9uc2VUZXh0O1ZmKHRoaXMsNCl9O18ubS5EZT1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTUwMDt0aGlzLnJlc3BvbnNlVGV4dD0iIjtWZih0aGlzLDQpfTsKXy5tLldoPWZ1bmN0aW9uKCl7dGhpcy5EZSgpfTtfLm0uU2g9ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cz0yMDA7VmYodGhpcywxKX07dmFyIFZmPWZ1bmN0aW9uKGEsYil7YS5yZWFkeVN0YXRlPWI7aWYoYS5vbnJlYWR5c3RhdGVjaGFuZ2UpYS5vbnJlYWR5c3RhdGVjaGFuZ2UoKX07VWYucHJvdG90eXBlLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe3JldHVybiJjb250ZW50LXR5cGU6ICIrdGhpcy5nLmNvbnRlbnRUeXBlfTt2YXIgWGYsWWY7Xy5XZj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5oZWFkZXJzPW5ldyBNYXA7dGhpcy5LPWF8fG51bGw7dGhpcy5oPSExO3RoaXMuZz1udWxsO3RoaXMuQT0iIjt0aGlzLmo9dGhpcy5GPXRoaXMubz10aGlzLkQ9ITE7dGhpcy5CPTA7dGhpcy5sPW51bGw7dGhpcy5JPSIiO3RoaXMuQz0hMX07Xy5HKF8uV2YsXy5oYik7WGY9L15odHRwcz8kL2k7WWY9WyJQT1NUIiwiUFVUIl07Xy5aZj1bXTtfLldmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCk7Xy52YShfLlpmLHRoaXMpfTsKXy5XZi5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLmcpdGhyb3cgRXJyb3IoIlNgIit0aGlzLkErImAiK2EpO2I9Yj9iLnRvVXBwZXJDYXNlKCk6IkdFVCI7dGhpcy5BPWE7dGhpcy5EPSExO3RoaXMuaD0hMDt0aGlzLmc9dGhpcy5LP3RoaXMuSy5nKCk6U2YuZygpO3RoaXMuZy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZWUoKDAsXy55KSh0aGlzLkcsdGhpcykpO3RyeXt0aGlzLkY9ITAsdGhpcy5nLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuRj0hMX1jYXRjaChnKXskZih0aGlzKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKXtlPV8uQyhkLmtleXMoKSk7Zm9yKHZhciBmPWUubmV4dCgpOyFmLmRvbmU7Zj0KZS5uZXh0KCkpZj1mLnZhbHVlLGMuc2V0KGYsZC5nZXQoZikpfWVsc2UgdGhyb3cgRXJyb3IoIlRgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmdW5jdGlvbihnKXtyZXR1cm4iY29udGVudC10eXBlIj09Zy50b0xvd2VyQ2FzZSgpfSk7ZT1fLnYuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLnYuRm9ybURhdGE7IV8udGEoWWYsYil8fGR8fGV8fGMuc2V0KCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIpO2I9Xy5DKGMpO2ZvcihkPWIubmV4dCgpOyFkLmRvbmU7ZD1iLm5leHQoKSljPV8uQyhkLnZhbHVlKSxkPWMubmV4dCgpLnZhbHVlLGM9Yy5uZXh0KCkudmFsdWUsdGhpcy5nLnNldFJlcXVlc3RIZWFkZXIoZCxjKTt0aGlzLkkmJih0aGlzLmcucmVzcG9uc2VUeXBlPXRoaXMuSSk7IndpdGhDcmVkZW50aWFscyJpbiB0aGlzLmcmJnRoaXMuZy53aXRoQ3JlZGVudGlhbHMhPT10aGlzLkMmJgoodGhpcy5nLndpdGhDcmVkZW50aWFscz10aGlzLkMpO3RyeXt0aGlzLmwmJihjbGVhclRpbWVvdXQodGhpcy5sKSx0aGlzLmw9bnVsbCksdGhpcy5CPjAmJih0aGlzLmw9c2V0VGltZW91dCh0aGlzLlIuYmluZCh0aGlzKSx0aGlzLkIpKSx0aGlzLm89ITAsdGhpcy5nLnNlbmQoYSksdGhpcy5vPSExfWNhdGNoKGcpeyRmKHRoaXMpfX07Xy5XZi5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3R5cGVvZiBqYyE9InVuZGVmaW5lZCImJnRoaXMuZyYmKHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTt2YXIgJGY9ZnVuY3Rpb24oYSl7YS5oPSExO2EuZyYmKGEuaj0hMCxhLmcuYWJvcnQoKSxhLmo9ITEpO2RnKGEpO2VnKGEpfSxkZz1mdW5jdGlvbihhKXthLkR8fChhLkQ9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9OwpfLldmLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuZyYmdGhpcy5oJiYodGhpcy5oPSExLHRoaXMuaj0hMCx0aGlzLmcuYWJvcnQoKSx0aGlzLmo9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxlZyh0aGlzKSl9O18uV2YucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmgmJih0aGlzLmg9ITEsdGhpcy5qPSEwLHRoaXMuZy5hYm9ydCgpLHRoaXMuaj0hMSksZWcodGhpcywhMCkpO18uV2YuZWEuTS5jYWxsKHRoaXMpfTtfLldmLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7dGhpcy5xYigpfHwodGhpcy5GfHx0aGlzLm98fHRoaXMuaj9mZyh0aGlzKTp0aGlzLk8oKSl9O18uV2YucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtmZyh0aGlzKX07CnZhciBmZz1mdW5jdGlvbihhKXtpZihhLmgmJnR5cGVvZiBqYyE9InVuZGVmaW5lZCIpaWYoYS5vJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXNldFRpbWVvdXQoYS5HLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSwoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXthLmg9ITE7dHJ5e18uZ2coYSk/KGEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKSk6ZGcoYSl9ZmluYWxseXtlZyhhKX19fSxlZz1mdW5jdGlvbihhLGIpe2lmKGEuZyl7YS5sJiYoY2xlYXJUaW1lb3V0KGEubCksYS5sPW51bGwpO3ZhciBjPWEuZzthLmc9bnVsbDtifHxhLmRpc3BhdGNoRXZlbnQoInJlYWR5Iik7dHJ5e2Mub25yZWFkeXN0YXRlY2hhbmdlPW51bGx9Y2F0Y2goZCl7fX19O18uV2YucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLmd9OwpfLmdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaGcoYSk7YTpzd2l0Y2goYil7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnZhciBjPSEwO2JyZWFrIGE7ZGVmYXVsdDpjPSExfWlmKCFjKXtpZihiPWI9PT0wKWE9U3RyaW5nKGEuQSkubWF0Y2goXy5yZilbMV18fG51bGwsIWEmJl8udi5zZWxmJiZfLnYuc2VsZi5sb2NhdGlvbiYmKGE9Xy52LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpLGI9IVhmLnRlc3QoYT9hLnRvTG93ZXJDYXNlKCk6IiIpO2M9Yn1yZXR1cm4gY307Xy5oZz1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEuZz9hLmcucmVhZHlTdGF0ZTowKT4yP2EuZy5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTtfLmlnPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nP2EuZy5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goYil7cmV0dXJuIiJ9fTt2YXIga2c9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5GPWE7dGhpcy5CPU1mKGEpO3RoaXMubD10aGlzLm89bnVsbDt0aGlzLkk9ITA7dGhpcy5oPW5ldyBfLkhiKHRoaXMpO3RoaXMuRz1bXTt0aGlzLkE9bmV3IFNldDt0aGlzLmc9W107dGhpcy5LPW5ldyBqZzt0aGlzLmo9W107dGhpcy5DPSExO2E9KDAsXy55KSh0aGlzLkQsdGhpcyk7c2YudmVyc2lvbj1hfTtfLkIoa2csXy51KTsKdmFyIGxnPWZ1bmN0aW9uKGEsYil7YS5nLmxlbmd0aCYmUGUoYixhLmdbYS5nLmxlbmd0aC0xXSk7YS5nLnB1c2goYik7TWUoYixmdW5jdGlvbigpe18udmEodGhpcy5nLGIpfSxhKX0sZmY9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZD09PXZvaWQgMD97fTpkO3ZhciBmPWUuamg7ZD1lLm1oO3ZhciBnPWUuZmU7ZT1lLkZpO2I9bWcoYSxiLGMsZixkKTtuZyhhLGIsZyxlLGQpfSxtZz1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9ZD09PXZvaWQgMD9OYz9uZXcgTWFwOnt9OmQ7dmFyIGY9W107b2coYSxiLGMsZCxlPT09dm9pZCAwPyExOmUsZnVuY3Rpb24oZyl7Zi5wdXNoKGcuUmEoKSl9KTtyZXR1cm4gZn0sb2c9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Zz1nPT09dm9pZCAwP3t9Omc7Yj1fLkMoYik7Zm9yKHZhciBoPWIubmV4dCgpOyFoLmRvbmU7aD1iLm5leHQoKSl7dmFyIGs9aC52YWx1ZTtoPWMuZ2V0KGspOyFlJiYoYS5BLmhhcyhrKXx8aC5nKXx8Z1trXXx8KGdba109ITAsaz1kIGluc3RhbmNlb2YKTWFwPyhrPWQuZ2V0KGspKT9BcnJheS5mcm9tKGspOltdOmRba10/T2JqZWN0LmtleXMoZFtrXSk6W10sb2coYSxoLmwuY29uY2F0KGspLGMsZCxlLGYsZyksZihoKSl9fSxuZz1mdW5jdGlvbihhLGIsYyxkLGUpe2U9ZT09PXZvaWQgMD8hMTplO3ZhciBmPVtdLGc9bmV3IEJiO2I9W2JdO2Zvcih2YXIgaD1mdW5jdGlvbihxLHApe2Zvcih2YXIgcj1bXSx0PTAsQT1NYXRoLmZsb29yKHEubGVuZ3RoL3ApKzEsRD0wO0Q8cDtEKyspe3ZhciBFPShEKzEpKkE7ci5wdXNoKHEuc2xpY2UodCxFKSk7dD1FfXJldHVybiByfSxrPWIuc2hpZnQoKTtrOyl7dmFyIGw9cGcoYSxrLCEhZSwhMCk7aWYobC5sZW5ndGg8PTJFMyl7aWYoaz1yZyhhLGssZSkpZi5wdXNoKGspLFBlKGcsay5nKX1lbHNlIGI9aChrLE1hdGguY2VpbChsLmxlbmd0aC8yRTMpKS5jb25jYXQoYik7az1iLnNoaWZ0KCl9dmFyIG49bmV3IEJiO2xnKGEsbik7TWUobixmdW5jdGlvbigpe3JldHVybiBzZyhhLGYsYyxkKX0pO05lKG4sCmZ1bmN0aW9uKCl7dmFyIHE9bmV3IHRnO3Euaj0hMDtxLmg9LTE7c2codGhpcyxbcV0sYyxkKX0sYSk7TWUoZyxmdW5jdGlvbigpe3JldHVybiBuLmcoKX0pO2cuZygpfSxyZz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cGcoYSxiLCEoYz09PXZvaWQgMHx8IWMpKTthLkcucHVzaChkKTtiPV8uQyhiKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5BLmFkZChjLnZhbHVlKTtpZihhLkMpYT1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKSxfLlNhKGEsXy5MYihkKSksYS50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGEuYXN5bmM9ITEsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtlbHNle3ZhciBlPW5ldyB0ZyxmPW5ldyBfLldmKGEuai5sZW5ndGg+MD9uZXcgSmI6dm9pZCAwKTthLmguTihmLCJzdWNjZXNzIiwoMCxfLnkpKGUuQixlLGYpKTthLmguTihmLCJlcnJvciIsKDAsXy55KShlLkEsZSxmKSk7YS5oLk4oZiwidGltZW91dCIsKDAsXy55KShlLkMsZSkpO1BmKGEuaCwKZiwicmVhZHkiLGYuZGlzcG9zZSwhMSxmKTtmLkI9M0U0O3VnKGEuSyxmdW5jdGlvbigpe2Yuc2VuZChkKTtyZXR1cm4gZS5nfSk7cmV0dXJuIGV9cmV0dXJuIG51bGx9LHNnPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT0hMSxmLGc9ITEsaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgaz1iW2hdO2lmKCFmJiZrLmope2U9ITA7Zj1rLmg7YnJlYWt9ZWxzZSBrLmwmJihnPSEwKX1oPV8ud2EoYS5nKTsoZXx8ZykmJmYhPS0xJiYoYS5nLmxlbmd0aD0wKTtpZihlKWMmJmMoZik7ZWxzZSBpZihnKWQmJmQoKTtlbHNlIGZvcihhPTA7YTxiLmxlbmd0aDthKyspZD1iW2FdLHZnKGQubyxkLkNhKXx8YyYmYyg4MDAxKTsoZXx8ZykmJmYhPS0xJiZfLnZjKGgsZnVuY3Rpb24obCl7bC5jYW5jZWwoKX0pfTtrZy5wcm90b3R5cGUuTT1mdW5jdGlvbigpe3RoaXMuaC5kaXNwb3NlKCk7ZGVsZXRlIHNmLnZlcnNpb247Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyl9OwprZy5wcm90b3R5cGUuRD1mdW5jdGlvbigpe3JldHVybiBHZih0aGlzLkIsImsiKX07CnZhciBwZz1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT1fLkNiKGEuRi5tYXRjaChfLnJmKVszXXx8bnVsbCk7aWYoYS5qLmxlbmd0aD4wJiYhXy50YShhLmosZSkmJmUhPW51bGwmJndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSE9ZSl0aHJvdyBFcnJvcigiV2AiK2UpO3ZhciBmPWEuQjtlPW5ldyBFZjtlLmc9T2JqZWN0LmFzc2lnbih7fSxmLmcpO2Uuaj1mLmo7ZS5oPU9iamVjdC5hc3NpZ24oe30sZi5oKTtkZWxldGUgZS5nLm07ZGVsZXRlIGUuZy5leG07ZGVsZXRlIGUuZy5lZDtpZihiKXtmPV8uQyhiKTtmb3IodmFyIGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWlmKGc9Zy52YWx1ZSwhTmYudGVzdChnKSl0aHJvdyBFcnJvcigiTWAiK2cpO31JZihlLCJtIixiLmpvaW4oIiwiKSk7YS5vJiYoSWYoZSwiY2siLGEubyksYS5sJiZJZihlLCJycyIsYS5sKSk7SWYoZSwiZCIsIjAiKTtjJiYoZS5oLnp4PU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoKMjE0NzQ4MzY0OCkudG9TdHJpbmcoMzYpK01hdGguYWJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMTQ3NDgzNjQ4KV5EYXRlLm5vdygpKS50b1N0cmluZygzNikpO2E9ZS50b1N0cmluZygpO2QmJmEubGFzdEluZGV4T2YoIi8iLDApPT0wJiYoZT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLm1hdGNoKF8ucmYpLGQ9ZVsxXSxiPWVbMl0sYz1lWzNdLGU9ZVs0XSxmPSIiLGQmJihmKz1kKyI6IiksYyYmKGYrPSIvLyIsYiYmKGYrPWIrIkAiKSxmKz1jLGUmJihmKz0iOiIrZSkpLGE9ZithKTtyZXR1cm4gYX0sdmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtpZihhLmxlbmd0aD4xJiZhLmNoYXJBdChhLmxlbmd0aC0xKT09PSJcbiIpe3ZhciBkPWEubGFzdEluZGV4T2YoIlxuIixhLmxlbmd0aC0yKTtkPj0wJiYoYz1hLnN1YnN0cmluZyhkKzEsYS5sZW5ndGgtMSkpfWQ9Yy5sZW5ndGgtMTE7aWYoZD49MCYmYy5pbmRleE9mKCJHb29nbGUgSW5jLiIsZCk9PWR8fGMubGFzdEluZGV4T2YoIi8vIyBzb3VyY2VNYXBwaW5nVVJMPSIsCjApPT0wKXRyeXtjPXdpbmRvdzthPWErIlxyXG4vLyMgc291cmNlVVJMPSIrYjthPV8uS2IoYSk7dmFyIGU9Xy5RYShhKTt2YXIgZj1fLlJhKGUpO2MuZXZhbChmKT09PWYmJmMuZXZhbChmLnRvU3RyaW5nKCkpfWNhdGNoKGcpe3JldHVybiExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9LHdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ2IoYS5tYXRjaChfLnJmKVs1XXx8bnVsbCl8fCIiO2I9Xy5DYihLZihiKS5tYXRjaChfLnJmKVs1XXx8bnVsbCk7cmV0dXJuKGI9PT1udWxsPzA6UmVnRXhwKCIoL18vanMvKXwoL18vc3MvKSIsImciKS50ZXN0KGIpJiYvXC9rPS8udGVzdChiKSk/YTpudWxsfSx0Zz1mdW5jdGlvbigpe3RoaXMuZz1uZXcgQmI7dGhpcy5DYT10aGlzLm89IiI7dGhpcy5qPSExO3RoaXMuaD0wO3RoaXMubD0hMX07dGcucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7dGhpcy5vPV8uaWcoYSk7dGhpcy5DYT1TdHJpbmcoYS5BKTt0aGlzLmcuZygpfTsKdGcucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSl7dGhpcy5qPSEwO3RoaXMuaD1fLmhnKGEpO3RoaXMuZy5nKCl9O3RnLnByb3RvdHlwZS5DPWZ1bmN0aW9uKCl7dGhpcy5sPSEwO3RoaXMuZy5nKCl9O3ZhciBqZz1mdW5jdGlvbigpe3RoaXMuZz0wO3RoaXMuaD1bXX0sdWc9ZnVuY3Rpb24oYSxiKXthLmgucHVzaChiKTt4ZyhhKX0seGc9ZnVuY3Rpb24oYSl7Zm9yKDthLmc8NSYmYS5oLmxlbmd0aDspeWcoYSxhLmguc2hpZnQoKSl9LHlnPWZ1bmN0aW9uKGEsYil7YS5nKys7TWUoYigpLGZ1bmN0aW9uKCl7dGhpcy5nLS07eGcodGhpcyl9LGEpfTt2YXIgemc9bmV3IERmKCExKSxBZz1kb2N1bWVudC5sb2NhdGlvbi5ocmVmOwpxZih7ZmxhZ3M6e2RtbDp6Z30saW5pdGlhbGl6ZTpmdW5jdGlvbihhKXt2YXIgYj16Zy5nZXQoKSxjPSIiLGQ9IiI7d2luZG93JiZ3aW5kb3cuX0ZfY3NzUm93S2V5JiYoYz13aW5kb3cuX0ZfY3NzUm93S2V5LHdpbmRvdy5fRl9jb21iaW5lZFNpZ25hdHVyZSYmKGQ9d2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlKSk7aWYoYyYmdHlwZW9mIHdpbmRvdy5fRl9pbnN0YWxsQ3NzIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVSIpO3ZhciBlLGY9Xy52Ll9GX2pzVXJsO2YmJihlPXdnKGYpKTshZSYmKGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhc2UtanMiKSkmJihlPWYuc3JjP2Yuc3JjOmYuZ2V0QXR0cmlidXRlKCJocmVmIiksZT13ZyhlKSk7ZXx8KGU9d2coQWcpKTtlfHwoZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZT13ZyhlW2UubGVuZ3RoLTFdLnNyYykpO2lmKCFlKXRocm93IEVycm9yKCJWIik7ZT1uZXcga2coZSk7YyYmKGUubz1jKTsKZCYmKGUubD1kKTtlLkM9YjtiPWphKCk7Yi5PPWU7Yi5YZighMCk7Yj1qYSgpO2Iuc2UoYSk7YS5qKGIpfX0pOwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemU9ZnVuY3Rpb24oYSxiKXtpZighXy5kYSl7aWYoIV8uaGEpcmV0dXJuO18uaWEoKX1fLmRhLnFlKGEsYil9OwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemUoJ2IvbjczcXdmL1VVSnFWZS9NcEp3WmMvZWxfY29uZi9lbF9tYWluX2Nzcy9zeTEvc3kyOjYvc3kzOjcvc3k0OjYvZWxfbWFpbjo1LDgsOS9jb3JzcHJveHkvd2Vic2l0ZV9lcnJvci9uYXZpZ2F0aW9udWk6Ny9waGlzaGluZ19wcm90ZWN0aW9uOjgvX3N0YW06OScsWydlbF9jb25mJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxhKCJlbF9jb25mIik7CnZhciBDZztfLl9leHBvcnRWZXJzaW9uPWZ1bmN0aW9uKGEpe18ucmMoImdvb2dsZS50cmFuc2xhdGUudiIsYSl9O18uX2dldENhbGxiYWNrRnVuY3Rpb249ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua2MoYSl9O0NnPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07Ynx8KGI9ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImhlYWQiKSkpO2IuYXBwZW5kQ2hpbGQoYSl9O18uX2xvYWRKcz1mdW5jdGlvbihhKXt2YXIgYj1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKTtiLnR5cGU9InRleHQvamF2YXNjcmlwdCI7Yi5jaGFyc2V0PSJVVEYtOCI7Xy5TYShiLF8uTGIoYSkpO0NnKGIpfTsKXy5fbG9hZENzcz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi50eXBlPSJ0ZXh0L2NzcyI7Yi5yZWw9InN0eWxlc2hlZXQiO2IuY2hhcnNldD0iVVRGLTgiO2IuaHJlZj1hO0NnKGIpfTtfLl9pc05TPWZ1bmN0aW9uKGEpe2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgYj13aW5kb3csYz0wO2M8YS5sZW5ndGg7KytjKWlmKCEoYj1iW2FbY11dKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5fc2V0dXBOUz1mdW5jdGlvbihhKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyliLmhhc093blByb3BlcnR5P2IuaGFzT3duUHJvcGVydHkoYVtjXSk/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JzsgYy5fY2VmPSdceDViMCwxLDAsXHg1Ylx4MjJlc19lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5fZGVceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2VzXHgyMixceDIyZGVfZW5ceDIyXHg1ZCxudWxsLFx4NWIwLDMsMTAwLFx4NWJceDIyZW5faGlceDIyLFx4MjJoaV9lblx4MjIsXHgyMmVuX2VzXHgyMixceDIyZXNfZW5ceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmRlX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2FyXHgyMixceDIyZW5faWRceDIyXHg1ZFx4NWQsMCwxLDBceDVkJzsgYy5fY2FjPScnOyBjLl9jYW09Jyc7IGMuX2NlbnY9J3Byb2QnO2MuX2NsbD0nSU5GTyc7IGMuX2NnYWs9Jyc7IGMuX2N0a2s9JzQ5NTg2Ny4yNDI4MDIzMzk1JzsgY29uc3QgaD0ndHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tJzsgY29uc3Qgb3BoPSd0cmFuc2xhdGUtcGEuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzPSdodHRwcycrJzovLyc7IGMuX3BhaD1oOyBjLl9wYXM9czsgY29uc3QgYj1zKyd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzdGF0aWNQYXRoID0gJy90cmFuc2xhdGVfc3RhdGljLyc7IGMuX3BjaT1iK3N0YXRpY1BhdGgrJ2ltZy90ZV9jdHJsMy5naWYnOyBjLl9wbWk9YitzdGF0aWNQYXRoKydpbWcvbWluaV9nb29nbGUucG5nJzsgYy5fcGJpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2JrLmdpZic7IGMuX3BsaT1iK3N0YXRpY1BhdGgrJ2ltZy9sb2FkaW5nLmdpZic7IGMuX3BzPSdodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvc3NcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIuQjdEaWg5SnlqbncuTC5GNC5PXC9hbVx4M2RCSUFBQndcL2RceDNkMFwvcnNceDNkQU44U1BmcEMwNHZycnpRWGdzX1RDTTVFdHJ1d2ZQek50UVwvbVx4M2RlbF9tYWluX2Nzcyc7IGMuX3BsbGE9b3BoKydcL3YxXC9zdXBwb3J0ZWRMYW5ndWFnZXMnOyBjLl9wdWg9J3RyYW5zbGF0ZS5nb29nbGUuY29tJztjLl9jbmFsPXt9O19sb2FkQ3NzKGMuX3BzKTsgX2xvYWRKcygnaHR0cHM6XC9cL3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbVwvX1wvdHJhbnNsYXRlX2h0dHBcL19cL2pzXC9rXHgzZHRyYW5zbGF0ZV9odHRwLnRyLm5vLnNjcm5ZNlEyX3l3Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QxXC9leG1ceDNkZWxfY29uZlwvZWRceDNkMVwvcnNceDNkQU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1d1wvbVx4M2RlbF9tYWluJyk7X2V4cG9ydFZlcnNpb24oJ1RFXzIwMjYwNzIyJyk7CiAgICAgICAgfSkoKTsKICAgICAgfSkoKTsKICA="}},"time_used":159,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":107,"receive":0,"ssl":34},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/preloader.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.010Z","timestamp":1785123385010,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/preloader.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"f8a4-65fd8520-a5007a7def078f29;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6616\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":63652,"size_decoded":7056,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"c367267866dda30e9073cf6984332451","sha1":"471e4b6cc2b5017e34640e762c398d8a685a30e2","sha256":"f2c493a4aee206ad6ad3edb00d589a595700a266427610aa62f478159b092872","sha512":"eb4aef61b53b565e0de99ad6dc7fa2405c9a91e03b5f48cf320ef624141bcbcd993be824cede75a909a7aa668e6e9f79e0b0c5b5cde320a9864a63e4cde38aef","ssdeep":"1536:YfK0+a9MOYUq537wZAyslzWAaHobBl/CBPzn0P1JI+3SsWSEfl5INc+ImuVTnkse:+KxfhXnJorfAJx","tlshash":"155303a97958944ac3638f1993f82fa49d785c739a2304ffb1d3280dd290bdc235a5b7","first_seen":"2023-04-16T21:04:22Z","last_seen":"2026-07-27T14:34:25.241505Z","times_seen":108,"resource_available":false,"data":"LyoNCkBBdXRob3I6IFRoZW1lTWFzY290DQpAVVJMOiBodHRwOi8vVGhlbWVNYXNjb3QuY29tDQoNCiovDQoNCi8qIFlvdXIgUHJlbG9hZGVyIGNzcyBjb2RlcyBzdGFydCBoZXJlOiAqLw0KDQovKg0KICogMi4wIC0+IFByZWxvYWRlcg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQojcHJlbG9hZGVyIHsNCiAgcG9zaXRpb246IGZpeGVkOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDEwMCU7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgei1pbmRleDogOTk5OTsNCn0NCiNzcGlubmVyIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIGhlaWdodDogMTEwcHg7DQogIGxlZnQ6IDUwJTsNCiAgbWFyZ2luOiAtNTVweDsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB0b3A6IDUwJTsNCiAgd2lkdGg6IDExMHB4Ow0KfQ0KI3ByZWxvYWRlciAjZGlzYWJsZS1wcmVsb2FkZXIgew0KICBkaXNwbGF5OiBibG9jazsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMzBweDsNCiAgYm90dG9tOiAzMHB4Ow0KfQ0KDQovLyo9PT09PSBQcmVsb2FkZXIgT25lID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItd2hpcmxwb29sIj4NCgk8ZGl2IGNsYXNzPSJ3aGlybHBvb2wiPjwvZGl2Pg0KPC9kaXY+DQoNCiAqLw0KLnByZWxvYWRlci13aGlybHBvb2x7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9CQ0KLnByZWxvYWRlci13aGlybHBvb2wgLndoaXJscG9vbCwNCi5wcmVsb2FkZXItd2hpcmxwb29sIC53aGlybHBvb2w6OmJlZm9yZSwNCi5wcmVsb2FkZXItd2hpcmxwb29sIC53aGlybHBvb2w6OmFmdGVyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJbGVmdDogNTAlOw0KCWJvcmRlcjogMXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7DQoJYm9yZGVyLWxlZnQtY29sb3I6IHJnYigwLDAsMCk7DQoJYm9yZGVyLXJhZGl1czogOTc0cHg7DQoJCS1vLWJvcmRlci1yYWRpdXM6IDk3NHB4Ow0KCQktbXMtYm9yZGVyLXJhZGl1czogOTc0cHg7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czogOTc0cHg7DQoJCS1tb3otYm9yZGVyLXJhZGl1czogOTc0cHg7DQp9DQoucHJlbG9hZGVyLXdoaXJscG9vbCAud2hpcmxwb29sIHsNCgltYXJnaW46IC0yNHB4IDAgMCAtMjRweDsNCgloZWlnaHQ6IDQ5cHg7DQoJd2lkdGg6IDQ5cHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAxMTUwbXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDExNTBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDExNTBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAxMTUwbXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUgMTE1MG1zIGxpbmVhciBpbmZpbml0ZTsNCn0NCg0KLnByZWxvYWRlci13aGlybHBvb2wgLndoaXJscG9vbDo6YmVmb3JlIHsNCgljb250ZW50OiAiIjsNCgltYXJnaW46IC0yMnB4IDAgMCAtMjJweDsNCgloZWlnaHQ6IDQzcHg7DQoJd2lkdGg6IDQzcHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAxMTUwbXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDExNTBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDExNTBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAxMTUwbXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUgMTE1MG1zIGxpbmVhciBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItd2hpcmxwb29sIC53aGlybHBvb2w6OmFmdGVyIHsNCgljb250ZW50OiAiIjsNCgltYXJnaW46IC0yOHB4IDAgMCAtMjhweDsNCgloZWlnaHQ6IDU1cHg7DQoJd2lkdGg6IDU1cHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAyMzAwbXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDIzMDBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDIzMDBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAyMzAwbXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUgMjMwMG1zIGxpbmVhciBpbmZpbml0ZTsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUgew0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOw0KCX0NCn0NCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUgew0KCTEwMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOw0KCX0NCn0NCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlIHsNCgkxMDAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7DQoJfQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlIHsNCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOw0KCX0NCn0NCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXJvdGF0ZSB7DQoJMTAwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsNCgl9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIFR3byA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMiPg0KCTxkaXYgY2xhc3M9ImZfY2lyY2xlRyIgaWQ9ImZyb3RhdGVHXzAxIj48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJmX2NpcmNsZUciIGlkPSJmcm90YXRlR18wMiI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iZl9jaXJjbGVHIiBpZD0iZnJvdGF0ZUdfMDMiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImZfY2lyY2xlRyIgaWQ9ImZyb3RhdGVHXzA0Ij48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJmX2NpcmNsZUciIGlkPSJmcm90YXRlR18wNSI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iZl9jaXJjbGVHIiBpZD0iZnJvdGF0ZUdfMDYiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImZfY2lyY2xlRyIgaWQ9ImZyb3RhdGVHXzA3Ij48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJmX2NpcmNsZUciIGlkPSJmcm90YXRlR18wOCI+PC9kaXY+DQo8L2Rpdj4NCg0KICovDQoucHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMgew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjgwcHg7DQoJaGVpZ2h0OjgwcHg7DQoJbWFyZ2luOmF1dG87DQoJdHJhbnNmb3JtOnNjYWxlKDAuNik7DQoJCS1vLXRyYW5zZm9ybTpzY2FsZSgwLjYpOw0KCQktbXMtdHJhbnNmb3JtOnNjYWxlKDAuNik7DQoJCS13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNik7DQoJCS1tb3otdHJhbnNmb3JtOnNjYWxlKDAuNik7DQp9DQoucHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMgLmZfY2lyY2xlR3sNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJaGVpZ2h0OjE0cHg7DQoJd2lkdGg6MTRweDsNCglib3JkZXItcmFkaXVzOjdweDsNCgkJLW8tYm9yZGVyLXJhZGl1czo3cHg7DQoJCS1tcy1ib3JkZXItcmFkaXVzOjdweDsNCgkJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjdweDsNCgkJLW1vei1ib3JkZXItcmFkaXVzOjdweDsNCglhbmltYXRpb24tbmFtZTpmX2ZhZGVHOw0KCQktby1hbmltYXRpb24tbmFtZTpmX2ZhZGVHOw0KCQktbXMtYW5pbWF0aW9uLW5hbWU6Zl9mYWRlRzsNCgkJLXdlYmtpdC1hbmltYXRpb24tbmFtZTpmX2ZhZGVHOw0KCQktbW96LWFuaW1hdGlvbi1uYW1lOmZfZmFkZUc7DQoJYW5pbWF0aW9uLWR1cmF0aW9uOjAuNjcyczsNCgkJLW8tYW5pbWF0aW9uLWR1cmF0aW9uOjAuNjcyczsNCgkJLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjowLjY3MnM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjAuNjcyczsNCgkJLW1vei1hbmltYXRpb24tZHVyYXRpb246MC42NzJzOw0KCWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTsNCglhbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLW8tYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7DQoJCS1tcy1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLW1vei1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCn0NCi5wcmVsb2FkZXItZmxvYXRpbmctY2lyY2xlcyAjZnJvdGF0ZUdfMDF7DQoJbGVmdDowOw0KCXRvcDozMnB4Ow0KCWFuaW1hdGlvbi1kZWxheTowLjI0OTVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC4yNDk1czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTowLjI0OTVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjI0OTVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjI0OTVzOw0KfQ0KLnByZWxvYWRlci1mbG9hdGluZy1jaXJjbGVzICNmcm90YXRlR18wMnsNCglsZWZ0OjlweDsNCgl0b3A6OXB4Ow0KCWFuaW1hdGlvbi1kZWxheTowLjMzNnM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTowLjMzNnM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MC4zMzZzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjMzNnM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OjAuMzM2czsNCn0NCi5wcmVsb2FkZXItZmxvYXRpbmctY2lyY2xlcyAjZnJvdGF0ZUdfMDN7DQoJbGVmdDozMnB4Ow0KCXRvcDowOw0KCWFuaW1hdGlvbi1kZWxheTowLjQyMjVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC40MjI1czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTowLjQyMjVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjQyMjVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjQyMjVzOw0KfQ0KLnByZWxvYWRlci1mbG9hdGluZy1jaXJjbGVzICNmcm90YXRlR18wNHsNCglyaWdodDo5cHg7DQoJdG9wOjlweDsNCglhbmltYXRpb24tZGVsYXk6MC41MDlzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC41MDlzOw0KCQktbXMtYW5pbWF0aW9uLWRlbGF5OjAuNTA5czsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MC41MDlzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjUwOXM7DQp9DQoucHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMgI2Zyb3RhdGVHXzA1ew0KCXJpZ2h0OjA7DQoJdG9wOjMycHg7DQoJYW5pbWF0aW9uLWRlbGF5OjAuNTk1NXM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTowLjU5NTVzOw0KCQktbXMtYW5pbWF0aW9uLWRlbGF5OjAuNTk1NXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuNTk1NXM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OjAuNTk1NXM7DQp9DQoucHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMgI2Zyb3RhdGVHXzA2ew0KCXJpZ2h0OjlweDsNCglib3R0b206OXB4Ow0KCWFuaW1hdGlvbi1kZWxheTowLjY3MnM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTowLjY3MnM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MC42NzJzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjY3MnM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OjAuNjcyczsNCn0NCi5wcmVsb2FkZXItZmxvYXRpbmctY2lyY2xlcyAjZnJvdGF0ZUdfMDd7DQoJbGVmdDozMnB4Ow0KCWJvdHRvbTowOw0KCWFuaW1hdGlvbi1kZWxheTowLjc1ODVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC43NTg1czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTowLjc1ODVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjc1ODVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjc1ODVzOw0KfQ0KLnByZWxvYWRlci1mbG9hdGluZy1jaXJjbGVzICNmcm90YXRlR18wOHsNCglsZWZ0OjlweDsNCglib3R0b206OXB4Ow0KCWFuaW1hdGlvbi1kZWxheTowLjg0NXM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTowLjg0NXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MC44NDVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjg0NXM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OjAuODQ1czsNCn0NCkBrZXlmcmFtZXMgZl9mYWRlR3sNCgkwJXsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQpALW8ta2V5ZnJhbWVzIGZfZmFkZUd7DQoJMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTsNCgl9DQoNCgkxMDAlew0KCQliYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJfQ0KfQ0KQC1tcy1rZXlmcmFtZXMgZl9mYWRlR3sNCgkwJXsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZl9mYWRlR3sNCgkwJXsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQpALW1vei1rZXlmcmFtZXMgZl9mYWRlR3sNCgkwJXsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIFRocmVlID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmciPg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtbHQiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtcnQiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtbGIiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtcmIiPjwvZGl2Pg0KPC9kaXY+DQoNCiAqLw0KLnByZWxvYWRlci1laWdodC1zcGlubmluZyB7DQoJd2lkdGg6IDcycHg7DQoJbWFyZ2luOiAwcHggYXV0bzsNCglmb250LXNpemU6IDA7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7DQoJCS1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7DQoJCS1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOw0KCQktd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7DQoJCS1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsNCglhbmltYXRpb246IGNzc2xvYWQtY2xvY2t3aXNlIDYuOXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtY2xvY2t3aXNlIDYuOXMgbGluZWFyIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSA2LjlzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtY2xvY2t3aXNlIDYuOXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgNi45cyBsaW5lYXIgaW5maW5pdGU7DQp9DQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nOmJlZm9yZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWNvbnRlbnQ6ICcnOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOiAzOXB4Ow0KCWhlaWdodDogMzlweDsNCglib3JkZXI6IDZweCBzb2xpZCByZ2IoMjI5LDIyOSwyMjkpOw0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1vLWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiAxMDAlOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1tb3otYm9yZGVyLXJhZGl1czogMTAwJTsNCglib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktby1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktbXMtYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nOmFmdGVyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJY29udGVudDogJyc7DQoJei1pbmRleDogLTE7DQoJdG9wOiAwOw0KCXJpZ2h0OiAwOw0KCXdpZHRoOiAzOXB4Ow0KCWhlaWdodDogMzlweDsNCglib3JkZXI6IDZweCBzb2xpZCByZ2IoMjI5LDIyOSwyMjkpOw0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1vLWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiAxMDAlOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1tb3otYm9yZGVyLXJhZGl1czogMTAwJTsNCglib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktby1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktbXMtYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbHQsIC5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtcnQsIC5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbGIsIC5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtcmIgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl3aWR0aDogMzlweDsNCgloZWlnaHQ6IDE5cHg7DQoJb3BhY2l0eTogMTsNCn0NCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbHQ6YmVmb3JlLCAucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLXJ0OmJlZm9yZSwgDQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLWxiOmJlZm9yZSwgLnByZWxvYWRlci1laWdodC1zcGlubmluZyAuY3NzbG9hZC1yYjpiZWZvcmUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgljb250ZW50OiAnJzsNCgl3aWR0aDogMzlweDsNCgloZWlnaHQ6IDM5cHg7DQoJYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYig4Nyw2Nyw4Nyk7DQoJYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCWJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czogMTAwJTsNCgkJLW8tYm9yZGVyLXJhZGl1czogMTAwJTsNCgkJLW1zLWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czogMTAwJTsNCgkJLW1vei1ib3JkZXItcmFkaXVzOiAxMDAlOw0KCWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS1vLWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsNCgktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbHQgew0KCW1hcmdpbi1yaWdodDogLTZweDsNCglhbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTIzMDBtcyBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWx0IDIuM3MgbGluZWFyIC0yMzAwbXMgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTIzMDBtcyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTIzMDBtcyBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTIzMDBtcyBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbHQ6YmVmb3JlIHsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCglhbmltYXRpb246IGNzc2xvYWQtbm90LWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1ub3QtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1ub3QtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbm90LWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLW5vdC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KfQ0KDQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLXJ0IHsNCglhbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTExNTBtcyBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWx0IDIuM3MgbGluZWFyIC0xMTUwbXMgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTExNTBtcyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTExNTBtcyBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTExNTBtcyBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtcnQ6YmVmb3JlIHsNCgl0b3A6IDA7DQoJcmlnaHQ6IDA7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQp9DQoNCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbGIgew0KCW1hcmdpbi1yaWdodDogLTZweDsNCglhbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTE3MjVtcyBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWx0IDIuM3MgbGluZWFyIC0xNzI1bXMgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTE3MjVtcyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTE3MjVtcyBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTE3MjVtcyBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbGI6YmVmb3JlIHsNCglib3R0b206IDA7DQoJbGVmdDogMDsNCglhbmltYXRpb246IGNzc2xvYWQtbm90LWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1ub3QtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1ub3QtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbm90LWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLW5vdC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KfQ0KDQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLXJiIHsNCglhbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTU3NW1zIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTU3NW1zIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLWx0IDIuM3MgbGluZWFyIC01NzVtcyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTU3NW1zIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1sdCAyLjNzIGxpbmVhciAtNTc1bXMgaW5maW5pdGU7DQp9DQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLXJiOmJlZm9yZSB7DQoJYm90dG9tOiAwOw0KCXJpZ2h0OiAwOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KfQ0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtY2xvY2t3aXNlIHsNCgkwJSB7DQoJCXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQoJfQ0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpOw0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBjc3Nsb2FkLWNsb2Nrd2lzZSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW8tdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtY2xvY2t3aXNlIHsNCgkwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1jbG9ja3dpc2Ugew0KCTAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpOw0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGNzc2xvYWQtY2xvY2t3aXNlIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTsNCgl9DQp9DQpAa2V5ZnJhbWVzIGNzc2xvYWQtbm90LWNsb2Nrd2lzZSB7DQoJMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJfQ0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTsNCgl9DQp9DQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbm90LWNsb2Nrd2lzZSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJfQ0KCTEwMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTsNCgl9DQp9DQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLW5vdC1jbG9ja3dpc2Ugew0KCTAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTsNCgl9DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1ub3QtY2xvY2t3aXNlIHsNCgkwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTsNCgl9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLW5vdC1jbG9ja3dpc2Ugew0KCTAlIHsNCgkJLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJfQ0KCTEwMCUgew0KCQktbW96LXRyYW5zZm9ybTogcm90YXRlKC0zMTVkZWcpOw0KCX0NCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1sdCB7DQoJMCUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNiUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NSUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NiUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkxMDAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbHQgew0KCTAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjUlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjYlIHsNCgkJb3BhY2l0eTogMDsNCgl9DQoJNzUlIHsNCgkJb3BhY2l0eTogMDsNCgl9DQoJNzYlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMTAwJSB7DQoJCW9wYWNpdHk6IDE7DQoJfQ0KfQ0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1sdCB7DQoJMCUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNiUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NSUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NiUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkxMDAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1sdCB7DQoJMCUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNiUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NSUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NiUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkxMDAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1sdCB7DQoJMCUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNiUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NSUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NiUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkxMDAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQovKj09PT09IFByZWxvYWRlciBGb3VyID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItZG91YmxlLXRvcnVzIj48L2Rpdj4NCg0KICovDQoucHJlbG9hZGVyLWRvdWJsZS10b3J1cyB7DQoJd2lkdGg6IDQ5cHg7DQoJaGVpZ2h0OiA0OXB4Ow0KCW1hcmdpbjogMCBhdXRvOw0KCWJvcmRlcjogNHB4IGRvdWJsZTsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2JhKDAsMCwwLDAuOSkgcmdiYSgwLDAsMCwwLjkpOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1zcGluIDk2MG1zIGluZmluaXRlIGxpbmVhcjsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gOTYwbXMgaW5maW5pdGUgbGluZWFyOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gOTYwbXMgaW5maW5pdGUgbGluZWFyOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zcGluIDk2MG1zIGluZmluaXRlIGxpbmVhcjsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc3BpbiA5NjBtcyBpbmZpbml0ZSBsaW5lYXI7DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1zcGluIHsNCgkxMDAleyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1zcGluIHsNCgkxMDAleyAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7DQoJMTAwJXsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7DQoJMTAwJXsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXNwaW4gew0KCTEwMCV7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQ0KfQ0KDQovKj09PT09IFByZWxvYWRlciBGaXZlID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItdHViZS10dW5uZWwiPjwvZGl2Pg0KDQogKi8NCi5wcmVsb2FkZXItdHViZS10dW5uZWwgew0KCXdpZHRoOiA0OXB4Ow0KCWhlaWdodDogNDlweDsNCgltYXJnaW46IDAgYXV0bzsNCglib3JkZXI6IDRweCBzb2xpZDsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLWNvbG9yOiByZ2IoMCwwLDApOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1zY2FsZSAxMDM1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtc2NhbGUgMTAzNW1zIGluZmluaXRlIGxpbmVhcjsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1zY2FsZSAxMDM1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zY2FsZSAxMDM1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1zY2FsZSAxMDM1bXMgaW5maW5pdGUgbGluZWFyOw0KfQ0KQGtleWZyYW1lcyBjc3Nsb2FkLXNjYWxlIHsNCgkwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH0NCgk5MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IHRyYW5zZm9ybTogc2NhbGUoMC43KTsgfQ0KCTEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1zY2FsZSB7DQoJMCUgeyAtby10cmFuc2Zvcm06IHNjYWxlKDApOyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9DQoJOTAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH0NCgkxMDAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLXNjYWxlIHsNCgkwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDApOyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9DQoJOTAlIHsgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC43KTsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9DQoJMTAwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXNjYWxlIHsNCgkwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfQ0KCTkwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH0NCgkxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXNjYWxlIHsNCgkwJSB7IC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfQ0KCTkwJSB7IC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH0NCgkxMDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIFNpeCA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLXNwZWVkaW5nLXdoZWVsIj48L2Rpdj4NCg0KICovDQoucHJlbG9hZGVyLXNwZWVkaW5nLXdoZWVsIHsNCgl3aWR0aDogNDlweDsNCgloZWlnaHQ6IDQ5cHg7DQoJbWFyZ2luOiAwIGF1dG87DQoJYm9yZGVyOiAzcHggc29saWQgcmdiKDAsMCwwKTsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50Ow0KCWJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gNTc1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtc3BpbiA1NzVtcyBpbmZpbml0ZSBsaW5lYXI7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtc3BpbiA1NzVtcyBpbmZpbml0ZSBsaW5lYXI7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gNTc1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1zcGluIDU3NW1zIGluZmluaXRlIGxpbmVhcjsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1zcGluIHsNCgkxMDAleyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1zcGluIHsNCgkxMDAleyAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7DQoJMTAwJXsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7DQoJMTAwJXsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXNwaW4gew0KCTEwMCV7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQ0KfQ0KDQovKj09PT09IFByZWxvYWRlciBTZXZlbiA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWxvYWRpbmctd3JhcHBlciI+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1sb2FkaW5nIj48aT48L2k+PGk+PC9pPjwvZGl2Pg0KPC9kaXY+DQoNCiAqLw0KIC5wcmVsb2FkZXItbG9hZGluZy13cmFwcGVyew0KCWRpc3BsYXk6IGJsb2NrOw0KCW1hcmdpbjowcHggYXV0bzsNCgl3aWR0aDo5N3B4Ow0KfQ0KLnByZWxvYWRlci1sb2FkaW5nLXdyYXBwZXIgLmNzc2xvYWQtbG9hZGluZyBpew0KCXdpZHRoOiA0OXB4Ow0KCWhlaWdodDogNDlweDsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJYmFja2dyb3VuZDogcmdiKDI1NSw4OSw4NCk7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KfQ0KLnByZWxvYWRlci1sb2FkaW5nLXdyYXBwZXIgLmNzc2xvYWQtbG9hZGluZyBpOm50aC1jaGlsZCgxKXsNCglhbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkxIDEuMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlOw0KDQp9DQoucHJlbG9hZGVyLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkaW5nIGk6bnRoLWNoaWxkKDIpew0KCWJhY2tncm91bmQ6IHJnYigwLDE2OCwyMDYpOw0KCW1hcmdpbi1sZWZ0OiAtMTBweDsNCglhbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMS4xNXMgZWFzZS1pbi1vdXQgMC41OHMgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAxLjE1cyBlYXNlLWluLW91dCAwLjU4cyBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAxLjE1cyBlYXNlLWluLW91dCAwLjU4cyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMS4xNXMgZWFzZS1pbi1vdXQgMC41OHMgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkxIDEuMTVzIGVhc2UtaW4tb3V0IDAuNThzIGluZmluaXRlOw0KfQ0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkxew0KCTcwJXsNCgkJdHJhbnNmb3JtOnNjYWxlKDAuNSk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkxew0KCTcwJXsNCgkJLW8tdHJhbnNmb3JtOnNjYWxlKDAuNSk7DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMXsNCgk3MCV7DQoJCS1tcy10cmFuc2Zvcm06c2NhbGUoMC41KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMXsNCgk3MCV7DQoJCS13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNSk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTF7DQoJNzAlew0KCQktbW96LXRyYW5zZm9ybTpzY2FsZSgwLjUpOw0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgRWlnaHQgPT09PT09PSovDQoNCi8qPT09PT09PU1hcmt1cD09PT09DQoNCjxkaXYgY2xhc3M9InByZWxvYWRlci1kb3QtbG9hZGluZyI+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1sb2FkaW5nIj48aT48L2k+PGk+PC9pPjxpPjwvaT48aT48L2k+PC9kaXY+DQo8L2Rpdj4NCg0KICovDQogLnByZWxvYWRlci1kb3QtbG9hZGluZyB7DQoJZGlzcGxheTogYmxvY2s7DQoJbWFyZ2luOjBweCBhdXRvOw0KCXdpZHRoOjk3cHg7DQp9DQoNCi5wcmVsb2FkZXItZG90LWxvYWRpbmcgLmNzc2xvYWQtbG9hZGluZyBpew0KCXdpZHRoOiAxOXB4Ow0KCWhlaWdodDogMTlweDsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCWJhY2tncm91bmQ6IHJnYig0Miw0MywzOCk7DQp9DQoucHJlbG9hZGVyLWRvdC1sb2FkaW5nIC5jc3Nsb2FkLWxvYWRpbmcgaTpmaXJzdC1jaGlsZHsNCglvcGFjaXR5OiAwOw0KCWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMiAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMiAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTIgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMiAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkyIDAuNThzIGxpbmVhciBpbmZpbml0ZTsNCgl0cmFuc2Zvcm06dHJhbnNsYXRlKC0xOXB4KTsNCgkJLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTlweCk7DQoJCS1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC0xOXB4KTsNCgkJLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xOXB4KTsNCgkJLW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKC0xOXB4KTsNCn0NCi5wcmVsb2FkZXItZG90LWxvYWRpbmcgLmNzc2xvYWQtbG9hZGluZyBpOm50aC1jaGlsZCgyKSwNCi5wcmVsb2FkZXItZG90LWxvYWRpbmcgLmNzc2xvYWQtbG9hZGluZyBpOm50aC1jaGlsZCgzKXsNCglhbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTMgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTMgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkzIDAuNThzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTMgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMyAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQp9DQoucHJlbG9hZGVyLWRvdC1sb2FkaW5nIC5jc3Nsb2FkLWxvYWRpbmcgaTpsYXN0LWNoaWxkew0KCWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkxIDAuNThzIGxpbmVhciBpbmZpbml0ZTsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTF7DQoJMTAwJXsNCgkJdHJhbnNmb3JtOnRyYW5zbGF0ZSgzOXB4KTsNCgkJb3BhY2l0eTogMDsNCgl9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTF7DQoJMTAwJXsNCgkJLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgzOXB4KTsNCgkJb3BhY2l0eTogMDsNCgl9DQp9DQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMXsNCgkxMDAlew0KCQktbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgzOXB4KTsNCgkJb3BhY2l0eTogMDsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMXsNCgkxMDAlew0KCQktd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMzlweCk7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTF7DQoJMTAwJXsNCgkJLW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDM5cHgpOw0KCQlvcGFjaXR5OiAwOw0KCX0NCn0NCg0KQGtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMnsNCgkxMDAlew0KCQl0cmFuc2Zvcm06dHJhbnNsYXRlKDE5cHgpOw0KCQlvcGFjaXR5OiAxOw0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMnsNCgkxMDAlew0KCQktby10cmFuc2Zvcm06dHJhbnNsYXRlKDE5cHgpOw0KCQlvcGFjaXR5OiAxOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTJ7DQoJMTAwJXsNCgkJLW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMTlweCk7DQoJCW9wYWNpdHk6IDE7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTJ7DQoJMTAwJXsNCgkJLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDE5cHgpOw0KCQlvcGFjaXR5OiAxOw0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkyew0KCTEwMCV7DQoJCS1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOXB4KTsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTN7DQoJMTAwJXsNCgkJdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOXB4KTsNCgl9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTN7DQoJMTAwJXsNCgkJLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOXB4KTsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkzew0KCTEwMCV7DQoJCS1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDE5cHgpOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkzew0KCTEwMCV7DQoJCS13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOXB4KTsNCgl9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pM3sNCgkxMDAlew0KCQktbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTlweCk7DQoJfQ0KfQ0KLyo9PT09PSBQcmVsb2FkZXIgTmluZSA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWZvdW50YWluVGV4dEciPg0KCTxkaXYgaWQ9ImZvdW50YWluVGV4dEdfMSIgY2xhc3M9ImZvdW50YWluVGV4dEciPkw8L2Rpdj4NCgk8ZGl2IGlkPSJmb3VudGFpblRleHRHXzIiIGNsYXNzPSJmb3VudGFpblRleHRHIj5vPC9kaXY+DQoJPGRpdiBpZD0iZm91bnRhaW5UZXh0R18zIiBjbGFzcz0iZm91bnRhaW5UZXh0RyI+YTwvZGl2Pg0KCTxkaXYgaWQ9ImZvdW50YWluVGV4dEdfNCIgY2xhc3M9ImZvdW50YWluVGV4dEciPmQ8L2Rpdj4NCgk8ZGl2IGlkPSJmb3VudGFpblRleHRHXzUiIGNsYXNzPSJmb3VudGFpblRleHRHIj5pPC9kaXY+DQoJPGRpdiBpZD0iZm91bnRhaW5UZXh0R182IiBjbGFzcz0iZm91bnRhaW5UZXh0RyI+bjwvZGl2Pg0KCTxkaXYgaWQ9ImZvdW50YWluVGV4dEdfNyIgY2xhc3M9ImZvdW50YWluVGV4dEciPmc8L2Rpdj4NCjwvZGl2Pg0KDQoqLw0KLnByZWxvYWRlci1mb3VudGFpblRleHRHew0KCXdpZHRoOjMwMHB4Ow0KCW1hcmdpbjphdXRvOw0KfQ0KDQoucHJlbG9hZGVyLWZvdW50YWluVGV4dEcgLmZvdW50YWluVGV4dEd7DQoJY29sb3I6cmdiKDAsMCwwKTsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6MzFweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCglmb250LXdlaWdodDpub3JtYWw7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZmxvYXQ6bGVmdDsNCglhbmltYXRpb24tbmFtZTpib3VuY2VfZm91bnRhaW5UZXh0RzsNCgkJLW8tYW5pbWF0aW9uLW5hbWU6Ym91bmNlX2ZvdW50YWluVGV4dEc7DQoJCS1tcy1hbmltYXRpb24tbmFtZTpib3VuY2VfZm91bnRhaW5UZXh0RzsNCgkJLXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VfZm91bnRhaW5UZXh0RzsNCgkJLW1vei1hbmltYXRpb24tbmFtZTpib3VuY2VfZm91bnRhaW5UZXh0RzsNCglhbmltYXRpb24tZHVyYXRpb246Mi4wOXM7DQoJCS1vLWFuaW1hdGlvbi1kdXJhdGlvbjoyLjA5czsNCgkJLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjoyLjA5czsNCgkJLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Mi4wOXM7DQoJCS1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOjIuMDlzOw0KCWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTsNCglhbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLW8tYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7DQoJCS1tcy1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLW1vei1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgl0cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQktby10cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQktbXMtdHJhbnNmb3JtOnNjYWxlKC41KTsNCgkJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQktbW96LXRyYW5zZm9ybTpzY2FsZSguNSk7DQp9LnByZWxvYWRlci1mb3VudGFpblRleHRHICNmb3VudGFpblRleHRHXzF7DQoJYW5pbWF0aW9uLWRlbGF5OjAuNzVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC43NXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MC43NXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuNzVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjc1czsNCn0NCi5wcmVsb2FkZXItZm91bnRhaW5UZXh0RyAjZm91bnRhaW5UZXh0R18yew0KCWFuaW1hdGlvbi1kZWxheTowLjlzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC45czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTowLjlzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjlzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjlzOw0KfQ0KLnByZWxvYWRlci1mb3VudGFpblRleHRHICNmb3VudGFpblRleHRHXzN7DQoJYW5pbWF0aW9uLWRlbGF5OjEuMDVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS4wNXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MS4wNXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuMDVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjA1czsNCn0NCi5wcmVsb2FkZXItZm91bnRhaW5UZXh0RyAjZm91bnRhaW5UZXh0R180ew0KCWFuaW1hdGlvbi1kZWxheToxLjJzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS4yczsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheToxLjJzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheToxLjJzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjJzOw0KfQ0KLnByZWxvYWRlci1mb3VudGFpblRleHRHICNmb3VudGFpblRleHRHXzV7DQoJYW5pbWF0aW9uLWRlbGF5OjEuMzVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS4zNXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MS4zNXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuMzVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjM1czsNCn0NCi5wcmVsb2FkZXItZm91bnRhaW5UZXh0RyAjZm91bnRhaW5UZXh0R182ew0KCWFuaW1hdGlvbi1kZWxheToxLjVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS41czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheToxLjVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheToxLjVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjVzOw0KfQ0KLnByZWxvYWRlci1mb3VudGFpblRleHRHICNmb3VudGFpblRleHRHXzd7DQoJYW5pbWF0aW9uLWRlbGF5OjEuNjRzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS42NHM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MS42NHM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuNjRzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjY0czsNCn0NCkBrZXlmcmFtZXMgYm91bmNlX2ZvdW50YWluVGV4dEd7DQoJMCV7DQoJCXRyYW5zZm9ybTpzY2FsZSgxKTsNCgkJY29sb3I6cmdiKDAsMCwwKTsNCgl9DQoNCgkxMDAlew0KCQl0cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQljb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VfZm91bnRhaW5UZXh0R3sNCgkwJXsNCgkJLW8tdHJhbnNmb3JtOnNjYWxlKDEpOw0KCQljb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCS1vLXRyYW5zZm9ybTpzY2FsZSguNSk7DQoJCWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBib3VuY2VfZm91bnRhaW5UZXh0R3sNCgkwJXsNCgkJLW1zLXRyYW5zZm9ybTpzY2FsZSgxKTsNCgkJY29sb3I6cmdiKDAsMCwwKTsNCgl9DQoNCgkxMDAlew0KCQktbXMtdHJhbnNmb3JtOnNjYWxlKC41KTsNCgkJY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VfZm91bnRhaW5UZXh0R3sNCgkwJXsNCgkJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7DQoJCWNvbG9yOnJnYigwLDAsMCk7DQoJfQ0KDQoJMTAwJXsNCgkJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQljb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZV9mb3VudGFpblRleHRHew0KCTAlew0KCQktbW96LXRyYW5zZm9ybTpzY2FsZSgxKTsNCgkJY29sb3I6cmdiKDAsMCwwKTsNCgl9DQoNCgkxMDAlew0KCQktbW96LXRyYW5zZm9ybTpzY2FsZSguNSk7DQoJCWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJfQ0KfQ0KLyo9PT09PSBQcmVsb2FkZXIgVGVuID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciI+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1sb2FkZXIiPjwvZGl2Pg0KPC9kaXY+DQoNCiAqLw0KIC5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciB7DQoJbWFyZ2luOiAwcHggYXV0bzsNCglkaXNwbGF5OiBibG9jazsNCgl3aWR0aDogOTdweDsNCn0NCi5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkZXIgew0KCXdpZHRoOiA0OXB4Ow0KCWhlaWdodDogNDlweDsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJbWFyZ2luOiAwOw0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCi5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkZXIgew0KCXdpZHRoOiA0OXB4Ow0KCWhlaWdodDogNDlweDsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJbWFyZ2luOiAwOw0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjExLDIxMSwyMTEpOw0KfQ0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlciwNCi5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkZXI6YmVmb3JlLA0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlcjphZnRlciB7DQoJYW5pbWF0aW9uOiAxLjE1cyBpbmZpbml0ZSBlYXNlLWluLW91dDsNCgkJLW8tYW5pbWF0aW9uOiAxLjE1cyBpbmZpbml0ZSBlYXNlLWluLW91dDsNCgkJLW1zLWFuaW1hdGlvbjogMS4xNXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiAxLjE1cyBpbmZpbml0ZSBlYXNlLWluLW91dDsNCgkJLW1vei1hbmltYXRpb246IDEuMTVzIGluZmluaXRlIGVhc2UtaW4tb3V0Ow0KfQ0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlcjpiZWZvcmUsDQoucHJlbG9hZGVyLWNpcmNsZS1sb2FkaW5nLXdyYXBwZXIgLmNzc2xvYWQtbG9hZGVyOmFmdGVyIHsNCgl3aWR0aDogMTAwJTsgDQoJaGVpZ2h0OiAxMDAlOw0KCWJvcmRlci1yYWRpdXM6IDUwJTsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQp9DQoNCi5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkZXI6YmVmb3JlLA0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlcjphZnRlciB7DQoJCWNvbnRlbnQ6ICIiOw0KfQ0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlcjpiZWZvcmUgew0KCWNvbnRlbnQ6ICcnOw0KCWJvcmRlcjogMTBweCBzb2xpZCB3aGl0ZTsNCgl0b3A6IDBweDsNCglsZWZ0OiAwcHg7DQoJYW5pbWF0aW9uLW5hbWU6IGNzc2xvYWQtYW5pbWF0aW9uOw0KCQktby1hbmltYXRpb24tbmFtZTogY3NzbG9hZC1hbmltYXRpb247DQoJCS1tcy1hbmltYXRpb24tbmFtZTogY3NzbG9hZC1hbmltYXRpb247DQoJCS13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNzc2xvYWQtYW5pbWF0aW9uOw0KCQktbW96LWFuaW1hdGlvbi1uYW1lOiBjc3Nsb2FkLWFuaW1hdGlvbjsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1hbmltYXRpb24gew0KCTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfQ0KCTEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1hbmltYXRpb24gew0KCTAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTsgfQ0KCTEwMCUgeyAtby10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtYW5pbWF0aW9uIHsNCgkwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDApOyB9DQoJMTAwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLWFuaW1hdGlvbiB7DQoJMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH0NCgkxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLWFuaW1hdGlvbiB7DQoJMCUgeyAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7IH0NCgkxMDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIEVsZXZlbiA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWRvdC1jaXJjbGUtcm90YXRvciI+PC9kaXY+DQoNCiovDQoucHJlbG9hZGVyLWRvdC1jaXJjbGUtcm90YXRvcnsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJd2lkdGg6IDEycHg7DQoJaGVpZ2h0OiAxMnB4Ow0KCWxlZnQ6IDQ2JTsNCglsZWZ0OiBjYWxjKDUwJSAtIDZweCk7DQoJCWxlZnQ6IC1vLWNhbGMoNTAlIC0gNnB4KTsNCgkJbGVmdDogLW1zLWNhbGMoNTAlIC0gNnB4KTsNCgkJbGVmdDogLXdlYmtpdC1jYWxjKDUwJSAtIDZweCk7DQoJCWxlZnQ6IC1tb3otY2FsYyg1MCUgLSA2cHgpOw0KCQ0KCWJvcmRlci1yYWRpdXM6IDEycHg7DQoJYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMCwwKTsNCgl0cmFuc2Zvcm0tb3JpZ2luOgk1MCUgNTAlOw0KCQktby10cmFuc2Zvcm0tb3JpZ2luOgk1MCUgNTAlOw0KCQktbXMtdHJhbnNmb3JtLW9yaWdpbjoJNTAlIDUwJTsNCgkJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOgk1MCUgNTAlOw0KCQktbW96LXRyYW5zZm9ybS1vcmlnaW46CTUwJSA1MCU7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLWxvYWRlciAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWxvYWRlciAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1sb2FkZXIgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLWxvYWRlciAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbG9hZGVyIDEuMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlOw0KfQ0KDQoucHJlbG9hZGVyLWRvdC1jaXJjbGUtcm90YXRvcjpiZWZvcmV7DQoJY29udGVudDogIiI7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWJhY2tncm91bmQtY29sb3I6IHJnYigwLDAsMCk7DQoJdG9wOiAwcHg7DQoJbGVmdDogLTI0cHg7DQoJaGVpZ2h0OiAxMnB4Ow0KCXdpZHRoOiAxMnB4Ow0KCWJvcmRlci1yYWRpdXM6IDEycHg7DQp9DQoNCi5wcmVsb2FkZXItZG90LWNpcmNsZS1yb3RhdG9yOmFmdGVyew0KCWNvbnRlbnQ6ICIiOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApOw0KCXRvcDogMHB4Ow0KCWxlZnQ6IDI0cHg7DQoJaGVpZ2h0OiAxMnB4Ow0KCXdpZHRoOiAxMnB4Ow0KCWJvcmRlci1yYWRpdXM6IDEycHg7DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1sb2FkZXJ7DQoJCTAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyk7fQ0KCQk1MCV7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO30NCgkJMTAwJXt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGVyew0KCQkwJXstby10cmFuc2Zvcm06cm90YXRlKDBkZWcpO30NCgkJNTAley1vLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9DQoJCTEwMCV7LW8tdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO30NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkZXJ7DQoJCTAley1tcy10cmFuc2Zvcm06cm90YXRlKDBkZWcpO30NCgkJNTAley1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KCQkxMDAley1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkZXJ7DQoJCTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt9DQoJCTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9DQoJCTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkZXJ7DQoJCTAley1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt9DQoJCTUwJXstbW96LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9DQoJCTEwMCV7LW1vei10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KfQ0KDQovKj09PT09IFByZWxvYWRlciBUd2VsdmUgPT09PT09PSovDQoNCi8qPT09PT09PU1hcmt1cD09PT09DQoNCjxkaXYgY2xhc3M9InByZWxvYWRlci1idWJibGluZ0ciPg0KCTxzcGFuIGlkPSJidWJibGluZ0dfMSI+DQoJPC9zcGFuPg0KCTxzcGFuIGlkPSJidWJibGluZ0dfMiI+DQoJPC9zcGFuPg0KCTxzcGFuIGlkPSJidWJibGluZ0dfMyI+DQoJPC9zcGFuPg0KPC9kaXY+DQoqLw0KLnByZWxvYWRlci1idWJibGluZ0cgew0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgl3aWR0aDo3OHB4Ow0KCWhlaWdodDo0OXB4Ow0KCW1hcmdpbjogYXV0bzsNCn0NCi5wcmVsb2FkZXItYnViYmxpbmdHIHNwYW4gew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KCXdpZHRoOiAxMHB4Ow0KCWhlaWdodDogMTBweDsNCgltYXJnaW46IDI0cHggYXV0bzsNCgliYWNrZ3JvdW5kOiByZ2IoMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6IDQ5cHg7DQoJCS1vLWJvcmRlci1yYWRpdXM6IDQ5cHg7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiA0OXB4Ow0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDQ5cHg7DQoJCS1tb3otYm9yZGVyLXJhZGl1czogNDlweDsNCglhbmltYXRpb246IGJ1YmJsaW5nRyAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTsNCgkJLW8tYW5pbWF0aW9uOiBidWJibGluZ0cgMS41cyBpbmZpbml0ZSBhbHRlcm5hdGU7DQoJCS1tcy1hbmltYXRpb246IGJ1YmJsaW5nRyAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGJ1YmJsaW5nRyAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTsNCgkJLW1vei1hbmltYXRpb246IGJ1YmJsaW5nRyAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTsNCn0NCi5wcmVsb2FkZXItYnViYmxpbmdHICNidWJibGluZ0dfMSB7DQoJYW5pbWF0aW9uLWRlbGF5OiAwczsNCgkJLW8tYW5pbWF0aW9uLWRlbGF5OiAwczsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTogMHM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwczsNCgkJLW1vei1hbmltYXRpb24tZGVsYXk6IDBzOw0KfQ0KDQoucHJlbG9hZGVyLWJ1YmJsaW5nRyAjYnViYmxpbmdHXzIgew0KCWFuaW1hdGlvbi1kZWxheTogMC40NXM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTogMC40NXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6IDAuNDVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC40NXM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjQ1czsNCn0NCi5wcmVsb2FkZXItYnViYmxpbmdHICNidWJibGluZ0dfMyB7DQoJYW5pbWF0aW9uLWRlbGF5OiAwLjlzOw0KCQktby1hbmltYXRpb24tZGVsYXk6IDAuOXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6IDAuOXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjlzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTogMC45czsNCn0NCkBrZXlmcmFtZXMgYnViYmxpbmdHIHsNCgkwJSB7DQoJCXdpZHRoOiAxMHB4Ow0KCQloZWlnaHQ6IDEwcHg7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTsNCgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KCX0NCg0KCTEwMCUgew0KCQl3aWR0aDogMjNweDsNCgkJaGVpZ2h0OiAyM3B4Ow0KCQliYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGJ1YmJsaW5nRyB7DQoJMCUgew0KCQl3aWR0aDogMTBweDsNCgkJaGVpZ2h0OiAxMHB4Ow0KCQliYWNrZ3JvdW5kLWNvbG9yOnJnYigwLDAsMCk7DQoJCS1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCgl9DQoNCgkxMDAlIHsNCgkJd2lkdGg6IDIzcHg7DQoJCWhlaWdodDogMjNweDsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgYnViYmxpbmdHIHsNCgkwJSB7DQoJCXdpZHRoOiAxMHB4Ow0KCQloZWlnaHQ6IDEwcHg7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTsNCgkJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCgl9DQoNCgkxMDAlIHsNCgkJd2lkdGg6IDIzcHg7DQoJCWhlaWdodDogMjNweDsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCQktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBidWJibGluZ0cgew0KCTAlIHsNCgkJd2lkdGg6IDEwcHg7DQoJCWhlaWdodDogMTBweDsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCgl9DQoNCgkxMDAlIHsNCgkJd2lkdGg6IDIzcHg7DQoJCWhlaWdodDogMjNweDsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgYnViYmxpbmdHIHsNCgkwJSB7DQoJCXdpZHRoOiAxMHB4Ow0KCQloZWlnaHQ6IDEwcHg7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQoJfQ0KDQoJMTAwJSB7DQoJCXdpZHRoOiAyM3B4Ow0KCQloZWlnaHQ6IDIzcHg7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgVGhpcnRlZW4gPT09PT09PSovDQoNCi8qPT09PT09PU1hcmt1cD09PT09DQoNCjxkaXYgY2xhc3M9InByZWxvYWRlci1jb2ZmZWUiPjwvZGl2Pg0KKi8NCi5wcmVsb2FkZXItY29mZmVlIHsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJaGVpZ2h0OiA0OXB4Ow0KCXdpZHRoOiAzOXB4Ow0KCWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsNCglib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiA1MCU7DQoJei1pbmRleDogOTk5Ow0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgcmdiKDI0NywxNDgsMzApLCByZ2IoMTk0LDEwOCw3KSk7DQoJCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgcmdiKDI0NywxNDgsMzApLCByZ2IoMTk0LDEwOCw3KSk7DQoJCWJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tIGxlZnQsIHJnYigyNDcsMTQ4LDMwKSwgcmdiKDE5NCwxMDgsNykpOw0KCQliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgcmdiKDI0NywxNDgsMzApLCByZ2IoMTk0LDEwOCw3KSk7DQoJCWJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSBsZWZ0LCByZ2IoMjQ3LDE0OCwzMCksIHJnYigxOTQsMTA4LDcpKTsNCn0NCi5wcmVsb2FkZXItY29mZmVlOmJlZm9yZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWNvbnRlbnQ6ICIiOw0KCXJpZ2h0OiAtMTVweDsNCgl0b3A6IDVweDsNCgloZWlnaHQ6IDI0cHg7DQoJd2lkdGg6IDEwcHg7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQoJYm9yZGVyOiA1cHggc29saWQgcmdiKDI0NywxNDgsMzApOw0KCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHJnYigyMzEsMTI5LDgpOw0KCWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4Ow0KCWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4Ow0KCXotaW5kZXg6IDE7DQp9DQoucHJlbG9hZGVyLWNvZmZlZTphZnRlciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWNvbnRlbnQ6ICIiOw0KCXdpZHRoOiA1cHg7DQoJaGVpZ2h0OiAyOXB4Ow0KCWJhY2tncm91bmQ6IHJnYigyMjUsMjI1LDIyNSk7DQoJYm9yZGVyLXJhZGl1czogNHB4Ow0KCXRvcDogLTI5cHg7DQoJYm94LXNoYWRvdzogMzRweCAwcHggMCByZ2IoMjI1LDIyNSwyMjUpLCAxNy41cHggLTE1cHggMCByZ2IoMjI1LDIyNSwyMjUpOw0KCW9wYWNpdHk6IDE7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXN0ZWFtIDMuNDVzIGVhc2UgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1zdGVhbSAzLjQ1cyBlYXNlIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXN0ZWFtIDMuNDVzIGVhc2UgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXN0ZWFtIDMuNDVzIGVhc2UgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLXN0ZWFtIDMuNDVzIGVhc2UgaW5maW5pdGU7DQp9DQoNCg0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtc3RlYW0gew0KCTEwMCUgew0KCQl0b3A6IC0zOXB4Ow0KCQliYWNrZ3JvdW5kOiByZ2IoMjM4LDIzOCwyMzgpOw0KCQlib3gtc2hhZG93OiAzNHB4IDBweCAwIHJnYigyMzgsMjM4LDIzOCksIDE3LjVweCAtMTVweCAwIHJnYigyMzgsMjM4LDIzOCk7DQoJCW9wYWNpdHk6IDAuMjU7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtc3RlYW0gew0KCTEwMCUgew0KCQl0b3A6IC0zOXB4Ow0KCQliYWNrZ3JvdW5kOiByZ2IoMjM4LDIzOCwyMzgpOw0KCQlib3gtc2hhZG93OiAzNHB4IDBweCAwIHJnYigyMzgsMjM4LDIzOCksIDE3LjVweCAtMTVweCAwIHJnYigyMzgsMjM4LDIzOCk7DQoJCW9wYWNpdHk6IDAuMjU7DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLXN0ZWFtIHsNCgkxMDAlIHsNCgkJdG9wOiAtMzlweDsNCgkJYmFja2dyb3VuZDogcmdiKDIzOCwyMzgsMjM4KTsNCgkJYm94LXNoYWRvdzogMzRweCAwcHggMCByZ2IoMjM4LDIzOCwyMzgpLCAxNy41cHggLTE1cHggMCByZ2IoMjM4LDIzOCwyMzgpOw0KCQlvcGFjaXR5OiAwLjI1Ow0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtc3RlYW0gew0KCTEwMCUgew0KCQl0b3A6IC0zOXB4Ow0KCQliYWNrZ3JvdW5kOiByZ2IoMjM4LDIzOCwyMzgpOw0KCQlib3gtc2hhZG93OiAzNHB4IDBweCAwIHJnYigyMzgsMjM4LDIzOCksIDE3LjVweCAtMTVweCAwIHJnYigyMzgsMjM4LDIzOCk7DQoJCW9wYWNpdHk6IDAuMjU7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1zdGVhbSB7DQoJMTAwJSB7DQoJCXRvcDogLTM5cHg7DQoJCWJhY2tncm91bmQ6IHJnYigyMzgsMjM4LDIzOCk7DQoJCWJveC1zaGFkb3c6IDM0cHggMHB4IDAgcmdiKDIzOCwyMzgsMjM4KSwgMTcuNXB4IC0xNXB4IDAgcmdiKDIzOCwyMzgsMjM4KTsNCgkJb3BhY2l0eTogMC4yNTsNCgl9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIEZvdXJ0ZWVuID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItb3JiaXQtbG9hZGluZyI+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1pbm5lciBjc3Nsb2FkLW9uZSI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1pbm5lciBjc3Nsb2FkLXR3byI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1pbm5lciBjc3Nsb2FkLXRocmVlIj48L2Rpdj4NCjwvZGl2Pg0KKi8NCi5wcmVsb2FkZXItb3JiaXQtbG9hZGluZyB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWxlZnQ6IGNhbGMoNTAlIC0gMzFweCk7DQoJd2lkdGg6IDYycHg7DQoJaGVpZ2h0OiA2MnB4Ow0KCWJvcmRlci1yYWRpdXM6IDUwJTsNCgkJLW8tYm9yZGVyLXJhZGl1czogNTAlOw0KCQktbXMtYm9yZGVyLXJhZGl1czogNTAlOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsNCgkJLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7DQoJcGVyc3BlY3RpdmU6IDc4MHB4Ow0KfQ0KDQoucHJlbG9hZGVyLW9yYml0LWxvYWRpbmcgLmNzc2xvYWQtaW5uZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogMTAwJTsNCgloZWlnaHQ6IDEwMCU7DQoJYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW8tYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCWJvcmRlci1yYWRpdXM6IDUwJTsNCgkJLW8tYm9yZGVyLXJhZGl1czogNTAlOw0KCQktbXMtYm9yZGVyLXJhZGl1czogNTAlOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsNCgkJLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CQ0KfQ0KDQoucHJlbG9hZGVyLW9yYml0LWxvYWRpbmcgLmNzc2xvYWQtaW5uZXIuY3NzbG9hZC1vbmUgew0KCWxlZnQ6IDAlOw0KCXRvcDogMCU7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZS1vbmUgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLW9uZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLW9uZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZS1vbmUgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUtb25lIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCglib3JkZXItYm90dG9tOiAzcHggc29saWQgcmdiKDAsMCwwKTsNCn0NCg0KLnByZWxvYWRlci1vcmJpdC1sb2FkaW5nIC5jc3Nsb2FkLWlubmVyLmNzc2xvYWQtdHdvIHsNCglyaWdodDogMCU7DQoJdG9wOiAwJTsNCglhbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXR3byAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUtdHdvIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUtdHdvIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXR3byAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZS10d28gMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCWJvcmRlci1yaWdodDogM3B4IHNvbGlkIHJnYigwLDAsMCk7DQp9DQoNCi5wcmVsb2FkZXItb3JiaXQtbG9hZGluZyAuY3NzbG9hZC1pbm5lci5jc3Nsb2FkLXRocmVlIHsNCglyaWdodDogMCU7DQoJYm90dG9tOiAwJTsNCglhbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXRocmVlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZS10aHJlZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXRocmVlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXRocmVlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXRocmVlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCglib3JkZXItdG9wOiAzcHggc29saWQgcmdiKDAsMCwwKTsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtb25lIHsNCgkwJSB7DQoJCXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSgtNDVkZWcpIHJvdGF0ZVooMGRlZyk7DQoJfQ0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLW9uZSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW8tdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKC00NWRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtb25lIHsNCgkwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSgtNDVkZWcpIHJvdGF0ZVooMzYwZGVnKTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXJvdGF0ZS1vbmUgew0KCTAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtb25lIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKC00NWRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKC00NWRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KQGtleWZyYW1lcyBjc3Nsb2FkLXJvdGF0ZS10d28gew0KCTAlIHsNCgkJdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLXR3byB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZVgoNTBkZWcpIHJvdGF0ZVkoMTBkZWcpIHJvdGF0ZVooMGRlZyk7DQoJfQ0KCTEwMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZVgoNTBkZWcpIHJvdGF0ZVkoMTBkZWcpIHJvdGF0ZVooMzYwZGVnKTsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLXR3byB7DQoJMCUgew0KCQktbXMtdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlWCg1MGRlZykgcm90YXRlWSgxMGRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLXR3byB7DQoJMCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCg1MGRlZykgcm90YXRlWSgxMGRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtdHdvIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW1vei10cmFuc2Zvcm06IHJvdGF0ZVgoNTBkZWcpIHJvdGF0ZVkoMTBkZWcpIHJvdGF0ZVooMzYwZGVnKTsNCgl9DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtdGhyZWUgew0KCTAlIHsNCgkJdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKDU1ZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKDU1ZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLXRocmVlIHsNCgkwJSB7DQoJCS1vLXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1vLXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtdGhyZWUgew0KCTAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoNTVkZWcpIHJvdGF0ZVooMzYwZGVnKTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXJvdGF0ZS10aHJlZSB7DQoJMCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKDU1ZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtdGhyZWUgew0KCTAlIHsNCgkJLW1vei10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoNTVkZWcpIHJvdGF0ZVooMGRlZyk7DQoJfQ0KCTEwMCUgew0KCQktbW96LXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgRmlmdGVlbiA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWJhdHRlcnkiPg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtbGlxdWlkIj48L2Rpdj4NCjwvZGl2Pg0KKi8NCi5wcmVsb2FkZXItYmF0dGVyeSB7DQoJZGlzcGxheTogYmxvY2s7DQoJbWFyZ2luOjBweCBhdXRvOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl3aWR0aDogMi4yNXJlbTsNCgloZWlnaHQ6IDQuNXJlbTsNCglib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiKDY2LDkyLDExOSk7DQoJCS1vLWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2IoNjYsOTIsMTE5KTsNCgkJLW1zLWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2IoNjYsOTIsMTE5KTsNCgkJLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiKDY2LDkyLDExOSk7DQoJCS1tb3otYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYig2Niw5MiwxMTkpOw0KCWJvcmRlci1yYWRpdXM6IDAuMDlyZW07DQoJCS1vLWJvcmRlci1yYWRpdXM6IDAuMDlyZW07DQoJCS1tcy1ib3JkZXItcmFkaXVzOiAwLjA5cmVtOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDAuMDlyZW07DQoJCS1tb3otYm9yZGVyLXJhZGl1czogMC4wOXJlbTsNCgliYWNrZ3JvdW5kOiB3aGl0ZTsNCn0NCi5wcmVsb2FkZXItYmF0dGVyeTpiZWZvcmUgew0KCWNvbnRlbnQ6ICcnOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiAwLjU2MjVyZW07DQoJcmlnaHQ6IDAuNTYyNXJlbTsNCgl0b3A6IC0wLjMzNzVyZW07DQoJaGVpZ2h0OiAwLjMzNzVyZW07DQoJd2lkdGg6IDEuMTI1cmVtOw0KCWJhY2tncm91bmQ6IHJnYig2Niw5MiwxMTkpOw0KCWJvcmRlci1yYWRpdXM6IDAuMThyZW07DQoJCS1vLWJvcmRlci1yYWRpdXM6IDAuMThyZW07DQoJCS1tcy1ib3JkZXItcmFkaXVzOiAwLjE4cmVtOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDAuMThyZW07DQoJCS1tb3otYm9yZGVyLXJhZGl1czogMC4xOHJlbTsNCn0NCi5wcmVsb2FkZXItYmF0dGVyeTphZnRlciB7DQoJY29udGVudDogJyc7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglib3R0b206IDA7DQoJbGVmdDogMDsNCglyaWdodDogMDsNCglib3JkZXItcmlnaHQ6IDIuMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWJvdHRvbTogNC4wNXJlbSBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMzIpOw0KfQ0KDQoucHJlbG9hZGVyLWJhdHRlcnkgLmNzc2xvYWQtbGlxdWlkIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KCXJpZ2h0OiAwOw0KCXdpZHRoOiAyLjI1cmVtOw0KCWJhY2tncm91bmQ6IHJnYigxMTMsMjUxLDEzMyk7DQoJYW5pbWF0aW9uOiBsb2FkIDIuNTlzIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGxvYWQgMi41OXMgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGxvYWQgMi41OXMgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBsb2FkIDIuNTlzIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogbG9hZCAyLjU5cyBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItYmF0dGVyeSAuY3NzbG9hZC1saXF1aWQ6YWZ0ZXIsIC5wcmVsb2FkZXItYmF0dGVyeSAuY3NzbG9hZC1saXF1aWQ6YmVmb3JlIHsNCgljb250ZW50OiAnJzsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAtMC41cmVtOw0KCWhlaWdodDogMS4xMjVyZW07DQoJd2lkdGg6IDEuNDYyNXJlbTsNCgliYWNrZ3JvdW5kOiByZ2IoMTEzLDI1MSwxMzMpOw0KCW9wYWNpdHk6IDA7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCQktby1ib3JkZXItcmFkaXVzOiA1MCU7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiA1MCU7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOw0KCQktbW96LWJvcmRlci1yYWRpdXM6IDUwJTsNCn0NCi5wcmVsb2FkZXItYmF0dGVyeSAuY3NzbG9hZC1saXF1aWQ6YWZ0ZXIgew0KCXJpZ2h0OiAwOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1saXF1aWQtMSAyLjU5cyBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWxpcXVpZC0xIDIuNTlzIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLWxpcXVpZC0xIDIuNTlzIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1saXF1aWQtMSAyLjU5cyBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbGlxdWlkLTEgMi41OXMgaW5maW5pdGU7DQp9DQoucHJlbG9hZGVyLWJhdHRlcnkgLmNzc2xvYWQtbGlxdWlkOmJlZm9yZSB7DQoJbGVmdDogMDsNCglhbmltYXRpb246IGNzc2xvYWQtbGlxdWlkLTIgMi41OXMgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1saXF1aWQtMiAyLjU5cyBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1saXF1aWQtMiAyLjU5cyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbGlxdWlkLTIgMi41OXMgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLWxpcXVpZC0yIDIuNTlzIGluZmluaXRlOw0KfQ0KDQpAa2V5ZnJhbWVzIGxvYWQgew0KCTAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KCTcwJSB7DQoJCXRvcDogMS4xMjVyZW07DQoJfQ0KCTkwJSB7DQoJCXRvcDogMDsNCgl9DQoJOTUlIHsNCgkJdG9wOiAwOw0KCX0NCgkxMDAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGxvYWQgew0KCTAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KCTcwJSB7DQoJCXRvcDogMS4xMjVyZW07DQoJfQ0KCTkwJSB7DQoJCXRvcDogMDsNCgl9DQoJOTUlIHsNCgkJdG9wOiAwOw0KCX0NCgkxMDAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBsb2FkIHsNCgkwJSB7DQoJCXRvcDogNC41cmVtOw0KCX0NCgk3MCUgew0KCQl0b3A6IDEuMTI1cmVtOw0KCX0NCgk5MCUgew0KCQl0b3A6IDA7DQoJfQ0KCTk1JSB7DQoJCXRvcDogMDsNCgl9DQoJMTAwJSB7DQoJCXRvcDogNC41cmVtOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxvYWQgew0KCTAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KCTcwJSB7DQoJCXRvcDogMS4xMjVyZW07DQoJfQ0KCTkwJSB7DQoJCXRvcDogMDsNCgl9DQoJOTUlIHsNCgkJdG9wOiAwOw0KCX0NCgkxMDAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgbG9hZCB7DQoJMCUgew0KCQl0b3A6IDQuNXJlbTsNCgl9DQoJNzAlIHsNCgkJdG9wOiAxLjEyNXJlbTsNCgl9DQoJOTAlIHsNCgkJdG9wOiAwOw0KCX0NCgk5NSUgew0KCQl0b3A6IDA7DQoJfQ0KCTEwMCUgew0KCQl0b3A6IDQuNXJlbTsNCgl9DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMSB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMjIlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMzc1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkzNSUgew0KCQloZWlnaHQ6IDEuMTI1cmVtOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTU1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMC42MTg3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC4yNzVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbGlxdWlkLTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTIyJSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAwLjM3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjUlIHsNCgkJdG9wOiAtMC4yNXJlbTsNCgl9DQoJMzUlIHsNCgkJaGVpZ2h0OiAxLjEyNXJlbTsNCgkJdG9wOiAtMC41cmVtOw0KCX0NCgk1NSUgew0KCQloZWlnaHQ6IDAuMjgxMjVyZW07DQoJCXRvcDogLTAuMTI1cmVtOw0KCX0NCgk2MCUgew0KCQloZWlnaHQ6IDAuNjE4NzVyZW07DQoJCW9wYWNpdHk6IDE7DQoJCXRvcDogLTAuMjc1cmVtOw0KCX0NCgk5NiUgew0KCQloZWlnaHQ6IDAuODQzNzVyZW07DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogMC41cmVtOw0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMSB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMjIlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMzc1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkzNSUgew0KCQloZWlnaHQ6IDEuMTI1cmVtOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTU1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMC42MTg3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC4yNzVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMSB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMjIlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMzc1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkzNSUgew0KCQloZWlnaHQ6IDEuMTI1cmVtOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTU1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMC42MTg3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC4yNzVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMSB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMjIlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMzc1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkzNSUgew0KCQloZWlnaHQ6IDEuMTI1cmVtOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTU1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMC42MTg3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC4yNzVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtbGlxdWlkLTIgew0KCTAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTE3LjUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMnJlbTsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjAlIHsNCgkJdG9wOiAtMC4yNXJlbTsNCgl9DQoJMjUlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQl0b3A6IC0wLjYyNXJlbTsNCgl9DQoJNDUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IC0wLjEyNXJlbTsNCgl9DQoJNjAlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbGlxdWlkLTIgew0KCTAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTE3LjUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMnJlbTsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjAlIHsNCgkJdG9wOiAtMC4yNXJlbTsNCgl9DQoJMjUlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQl0b3A6IC0wLjYyNXJlbTsNCgl9DQoJNDUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IC0wLjEyNXJlbTsNCgl9DQoJNjAlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLWxpcXVpZC0yIHsNCgkwJSB7DQoJCWhlaWdodDogMDsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAtMC41cmVtOw0KCX0NCgkxNy41JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAwLjJyZW07DQoJCW9wYWNpdHk6IDE7DQoJfQ0KCTIwJSB7DQoJCXRvcDogLTAuMjVyZW07DQoJfQ0KCTI1JSB7DQoJCWhlaWdodDogMS40MDYyNXJlbTsNCgkJdG9wOiAtMC42MjVyZW07DQoJfQ0KCTQ1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMS40MDYyNXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC41cmVtOw0KCX0NCgk5NiUgew0KCQloZWlnaHQ6IDAuODQzNzVyZW07DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogMC41cmVtOw0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtbGlxdWlkLTIgew0KCTAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTE3LjUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMnJlbTsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjAlIHsNCgkJdG9wOiAtMC4yNXJlbTsNCgl9DQoJMjUlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQl0b3A6IC0wLjYyNXJlbTsNCgl9DQoJNDUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IC0wLjEyNXJlbTsNCgl9DQoJNjAlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMiB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMTcuNSUgew0KCQloZWlnaHQ6IDAuMjgxMjVyZW07DQoJCXRvcDogMC4ycmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyMCUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkyNSUgew0KCQloZWlnaHQ6IDEuNDA2MjVyZW07DQoJCXRvcDogLTAuNjI1cmVtOw0KCX0NCgk0NSUgew0KCQloZWlnaHQ6IDAuMjgxMjVyZW07DQoJCXRvcDogLTAuMTI1cmVtOw0KCX0NCgk2MCUgew0KCQloZWlnaHQ6IDEuNDA2MjVyZW07DQoJCW9wYWNpdHk6IDE7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJOTYlIHsNCgkJaGVpZ2h0OiAwLjg0Mzc1cmVtOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IDAuNXJlbTsNCgl9DQoJMTAwJSB7DQoJCWhlaWdodDogMDsNCgkJb3BhY2l0eTogMDsNCgl9DQp9DQovKj09PT09IFByZWxvYWRlciBTaXh0ZWVuID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItZXF1YWxpemVyIj4NCgk8dWw+DQoJCTxsaT48L2xpPg0KCQk8bGk+PC9saT4NCgkJPGxpPjwvbGk+DQoJCTxsaT48L2xpPg0KCQk8bGk+PC9saT4NCgkJPGxpPjwvbGk+DQoJPC91bD4NCjwvZGl2Pg0KKi8NCg0KLnByZWxvYWRlci1lcXVhbGl6ZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgltYXJnaW46IDUwcHggYXV0bzsNCglsZWZ0OiAwOw0KCXJpZ2h0OiAwOw0KCXdpZHRoOiA4OHB4Ow0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgdWwgew0KCW1hcmdpbjogMDsNCglsaXN0LXN0eWxlOiBub25lOw0KCXdpZHRoOiA4OHB4Ow0KCWhlaWdodDogNjNweDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJcGFkZGluZzogMDsNCgloZWlnaHQ6IDEwcHg7DQp9DQoucHJlbG9hZGVyLWVxdWFsaXplciB1bCBsaSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAycHg7DQoJaGVpZ2h0OiAwOw0KCWJhY2tncm91bmQtY29sb3I6IHJnYigwLDAsMCk7DQoJYm90dG9tOiAwOw0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgbGk6bnRoLWNoaWxkKDEpIHsNCglsZWZ0OiAwOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZSBpbmZpbml0ZSAwOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UxIDEuMTVzIGVhc2UgaW5maW5pdGUgMDsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZSBpbmZpbml0ZSAwOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZSBpbmZpbml0ZSAwOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZSBpbmZpbml0ZSAwOw0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgbGk6bnRoLWNoaWxkKDIpIHsNCglsZWZ0OiAxNXB4Ow0KCWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZSBpbmZpbml0ZSAwLjEyczsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlIGluZmluaXRlIDAuMTJzOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlIGluZmluaXRlIDAuMTJzOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZSBpbmZpbml0ZSAwLjEyczsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UyIDEuMTVzIGVhc2UgaW5maW5pdGUgMC4xMnM7DQp9DQoucHJlbG9hZGVyLWVxdWFsaXplciBsaTpudGgtY2hpbGQoMykgew0KCWxlZnQ6IDI5cHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjIzczsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjIzczsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGUgMC4yM3M7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjIzczsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UxIDEuMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlIDAuMjNzOw0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgbGk6bnRoLWNoaWxkKDQpIHsNCglsZWZ0OiA0NHB4Ow0KCWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZS1pbiBpbmZpbml0ZSAwLjM1czsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlLWluIGluZmluaXRlIDAuMzVzOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlLWluIGluZmluaXRlIDAuMzVzOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZS1pbiBpbmZpbml0ZSAwLjM1czsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UyIDEuMTVzIGVhc2UtaW4gaW5maW5pdGUgMC4zNXM7DQp9DQoucHJlbG9hZGVyLWVxdWFsaXplciBsaTpudGgtY2hpbGQoNSkgew0KCWxlZnQ6IDU4cHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjQ2czsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjQ2czsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGUgMC40NnM7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjQ2czsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UxIDEuMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlIDAuNDZzOw0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgbGk6bnRoLWNoaWxkKDYpIHsNCglsZWZ0OiA3M3B4Ow0KCWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZSBpbmZpbml0ZSAwLjU4czsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlIGluZmluaXRlIDAuNThzOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlIGluZmluaXRlIDAuNThzOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZSBpbmZpbml0ZSAwLjU4czsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UyIDEuMTVzIGVhc2UgaW5maW5pdGUgMC41OHM7DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1zZXF1ZW5jZTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCgk1MCUgew0KCQloZWlnaHQ6IDQ5cHg7DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDEwcHg7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UxIHsNCgkwJSB7DQoJCWhlaWdodDogMTBweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA0OXB4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1zZXF1ZW5jZTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCgk1MCUgew0KCQloZWlnaHQ6IDQ5cHg7DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDEwcHg7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1zZXF1ZW5jZTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCgk1MCUgew0KCQloZWlnaHQ6IDQ5cHg7DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDEwcHg7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1zZXF1ZW5jZTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCgk1MCUgew0KCQloZWlnaHQ6IDQ5cHg7DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDEwcHg7DQoJfQ0KfQ0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UyIHsNCgkwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA2M3B4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxOXB4Ow0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBjc3Nsb2FkLXNlcXVlbmNlMiB7DQoJMCUgew0KCQloZWlnaHQ6IDE5cHg7DQoJfQ0KCTUwJSB7DQoJCWhlaWdodDogNjNweDsNCgl9DQoJMTAwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UyIHsNCgkwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA2M3B4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxOXB4Ow0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UyIHsNCgkwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA2M3B4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxOXB4Ow0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UyIHsNCgkwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA2M3B4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxOXB4Ow0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgU2V2ZW50ZWVuID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItc3F1YXJlLXN3YXBwaW5nIj4NCgk8ZGl2IGNsYXNzPSJjc3Nsb2FkLXNxdWFyZS1wYXJ0IGNzc2xvYWQtc3F1YXJlLWdyZWVuIj48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJjc3Nsb2FkLXNxdWFyZS1wYXJ0IGNzc2xvYWQtc3F1YXJlLXBpbmsiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtc3F1YXJlLWJsZW5kIj48L2Rpdj4NCjwvZGl2Pg0KKi8NCi5wcmVsb2FkZXItc3F1YXJlLXN3YXBwaW5nIHsNCgltYXJnaW46IDMwcHggYXV0bzsNCgl3aWR0aDogMTlweDsNCgloZWlnaHQ6IDE5cHg7DQoJdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCgkJLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCgkJLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KfQ0KDQoucHJlbG9hZGVyLXNxdWFyZS1zd2FwcGluZyAuY3NzbG9hZC1zcXVhcmUtcGFydCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAxOXB4Ow0KCWhlaWdodDogMTlweDsNCgl6LWluZGV4OiAxOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1wYXJ0LWFuaW0gMC45MnMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KSBpbmZpbml0ZSBhbHRlcm5hdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1wYXJ0LWFuaW0gMC45MnMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KSBpbmZpbml0ZSBhbHRlcm5hdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcGFydC1hbmltIDAuOTJzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSkgaW5maW5pdGUgYWx0ZXJuYXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1wYXJ0LWFuaW0gMC45MnMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KSBpbmZpbml0ZSBhbHRlcm5hdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLXBhcnQtYW5pbSAwLjkycyBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpIGluZmluaXRlIGFsdGVybmF0ZTsNCn0NCg0KLnByZWxvYWRlci1zcXVhcmUtc3dhcHBpbmcgLmNzc2xvYWQtc3F1YXJlLWdyZWVuIHsNCgliYWNrZ3JvdW5kOiByZ2IoODQsMjUwLDIxMik7DQoJcmlnaHQ6IDA7DQoJYm90dG9tOiAwOw0KCWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZS1yZXZlcnNlOw0KCQktby1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUtcmV2ZXJzZTsNCgkJLW1zLWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZS1yZXZlcnNlOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZS1yZXZlcnNlOw0KCQktbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZS1yZXZlcnNlOw0KfQ0KDQoucHJlbG9hZGVyLXNxdWFyZS1zd2FwcGluZyAuY3NzbG9hZC1zcXVhcmUtcGluayB7DQoJYmFja2dyb3VuZDogcmdiKDIzMywxMTEsMTQ2KTsNCglsZWZ0OiAwOw0KCXRvcDogMDsNCn0NCg0KLnByZWxvYWRlci1zcXVhcmUtc3dhcHBpbmcgLmNzc2xvYWQtc3F1YXJlLWJsZW5kIHsNCgliYWNrZ3JvdW5kOiByZ2IoMTE3LDgxLDEyNSk7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWJvdHRvbTogMDsNCglyaWdodDogMDsNCgl6LWluZGV4OiAyOw0KCWFuaW1hdGlvbjogYmxlbmQtYW5pbSAwLjkycyBlYXNlLWluIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGJsZW5kLWFuaW0gMC45MnMgZWFzZS1pbiBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogYmxlbmQtYW5pbSAwLjkycyBlYXNlLWluIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjogYmxlbmQtYW5pbSAwLjkycyBlYXNlLWluIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogYmxlbmQtYW5pbSAwLjkycyBlYXNlLWluIGluZmluaXRlOw0KfQ0KDQpAa2V5ZnJhbWVzIGJsZW5kLWFuaW0gew0KCTAlIHsNCgkJdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCQlhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsNCgl9DQoJNTAlIHsNCgkJdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSByb3RhdGVZKDApOw0KCQlhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsNCgl9DQoJMTAwJSB7DQoJCXRyYW5zZm9ybTogc2NhbGUoMC4wMSwgMC4wMSkgcm90YXRlWSgwKTsNCgl9DQp9DQoNCkAtby1rZXlmcmFtZXMgYmxlbmQtYW5pbSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHNjYWxlKDAuMDEsIDAuMDEpIHJvdGF0ZVkoMCk7DQoJCS1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOw0KCX0NCgk1MCUgew0KCQktby10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZVkoMCk7DQoJCS1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpOw0KCX0NCgkxMDAlIHsNCgkJLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgYmxlbmQtYW5pbSB7DQoJMCUgew0KCQktbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCQktbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7DQoJfQ0KCTUwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZVkoMCk7DQoJCS1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsNCgl9DQoJMTAwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMDEsIDAuMDEpIHJvdGF0ZVkoMCk7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYmxlbmQtYW5pbSB7DQoJMCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wMSwgMC4wMSkgcm90YXRlWSgwKTsNCgkJLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsNCgl9DQoJNTAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZVkoMCk7DQoJCS13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7DQoJfQ0KCTEwMCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wMSwgMC4wMSkgcm90YXRlWSgwKTsNCgl9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBibGVuZC1hbmltIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCQktbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOw0KCX0NCgk1MCUgew0KCQktbW96LXRyYW5zZm9ybTogc2NhbGUoMSwgMSkgcm90YXRlWSgwKTsNCgkJLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsNCgl9DQoJMTAwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCX0NCn0NCg0KQGtleWZyYW1lcyBjc3Nsb2FkLXBhcnQtYW5pbSB7DQoJMCUgew0KCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAtMTBweCwgMCk7DQoJfQ0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBjc3Nsb2FkLXBhcnQtYW5pbSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAtMTBweCwgMCk7DQoJfQ0KCTEwMCUgew0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1wYXJ0LWFuaW0gew0KCTAlIHsNCgkJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIC0xMHB4LCAwKTsNCgl9DQoJMTAwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtcGFydC1hbmltIHsNCgkwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgLTEwcHgsIDApOw0KCX0NCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGNzc2xvYWQtcGFydC1hbmltIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgLTEwcHgsIDApOw0KCX0NCgkxMDAlIHsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgRWlnaHRlZW4gPT09PT09PSovDQoNCi8qPT09PT09PU1hcmt1cD09PT09DQoNCjxkaXYgY2xhc3M9InByZWxvYWRlci1qYWNraGFtbWVyIj4NCgk8dWwgY2xhc3M9ImNzc2xvYWQtZmxleC1jb250YWluZXIiPg0KCQk8bGk+DQoJCQk8c3BhbiBjbGFzcz0iY3NzbG9hZC1sb2FkaW5nIj48L3NwYW4+DQoJCTwvbGk+DQoJPC9kaXY+DQo8L2Rpdj4NCiovDQoucHJlbG9hZGVyLWphY2toYW1tZXIgKiB7DQoJYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW8tYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KLnByZWxvYWRlci1qYWNraGFtbWVyIHsNCgltYXJnaW46IDAgYXV0bzsNCgltYXgtd2lkdGg6IDU0NXB4Ow0KfQ0KDQoucHJlbG9hZGVyLWphY2toYW1tZXIgdWwgbGl7DQoJbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KLnByZWxvYWRlci1qYWNraGFtbWVyIC5jc3Nsb2FkLWZsZXgtY29udGFpbmVyIHsNCglkaXNwbGF5OiBmbGV4Ow0KCQlkaXNwbGF5OiAtby1mbGV4Ow0KCQlkaXNwbGF5OiAtbXMtZmxleDsNCgkJZGlzcGxheTogLXdlYmtpdC1mbGV4Ow0KCQlkaXNwbGF5OiAtbW96LWZsZXg7DQoJZmxleC1kaXJlY3Rpb246IHJvdzsNCgkJLW8tZmxleC1kaXJlY3Rpb246IHJvdzsNCgkJLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7DQoJCS13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdzsNCgkJLW1vei1mbGV4LWRpcmVjdGlvbjogcm93Ow0KCWZsZXgtd3JhcDogd3JhcDsNCgkJLW8tZmxleC13cmFwOiB3cmFwOw0KCQktbXMtZmxleC13cmFwOiB3cmFwOw0KCQktd2Via2l0LWZsZXgtd3JhcDogd3JhcDsNCgkJLW1vei1mbGV4LXdyYXA6IHdyYXA7DQoJanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7DQp9DQoucHJlbG9hZGVyLWphY2toYW1tZXIgLmNzc2xvYWQtZmxleC1jb250YWluZXIgbGkgew0KCXBhZGRpbmc6IDEwcHg7DQoJaGVpZ2h0OiA5N3B4Ow0KCXdpZHRoOiA5N3B4Ow0KCW1hcmdpbjogMDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQoucHJlbG9hZGVyLWphY2toYW1tZXIgLmNzc2xvYWQtbG9hZGluZywgLnByZWxvYWRlci1qYWNraGFtbWVyIC5jc3Nsb2FkLWxvYWRpbmc6YWZ0ZXIsIC5wcmVsb2FkZXItamFja2hhbW1lciAuY3NzbG9hZC1sb2FkaW5nOmJlZm9yZSB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl3aWR0aDogNXB4Ow0KCWhlaWdodDogNDlweDsNCgliYWNrZ3JvdW5kOiByZ2IoMCwwLDApOw0KCW1hcmdpbi10b3A6IDVweDsNCglib3JkZXItcmFkaXVzOiA5NzVweDsNCgkJLW8tYm9yZGVyLXJhZGl1czogOTc1cHg7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiA5NzVweDsNCgkJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA5NzVweDsNCgkJLW1vei1ib3JkZXItcmFkaXVzOiA5NzVweDsNCglhbmltYXRpb246IGNzc2xvYWQtdXBEb3duMiAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtdXBEb3duMiAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXVwRG93bjIgMS4xNXMgZWFzZSBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtdXBEb3duMiAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC11cERvd24yIDEuMTVzIGVhc2UgaW5maW5pdGU7DQoJYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KCQktby1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQoJCS1tcy1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KCQktbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCglhbmltYXRpb24tZGVsYXk6IDAuMjlzOw0KCQktby1hbmltYXRpb24tZGVsYXk6IDAuMjlzOw0KCQktbXMtYW5pbWF0aW9uLWRlbGF5OiAwLjI5czsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMjlzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTogMC4yOXM7DQp9DQoucHJlbG9hZGVyLWphY2toYW1tZXIgLmNzc2xvYWQtbG9hZGluZzphZnRlciwgLnByZWxvYWRlci1qYWNraGFtbWVyIC5jc3Nsb2FkLWxvYWRpbmc6YmVmb3JlIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJY29udGVudDogJyc7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXVwRG93biAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtdXBEb3duIDEuMTVzIGVhc2UgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtdXBEb3duIDEuMTVzIGVhc2UgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXVwRG93biAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC11cERvd24gMS4xNXMgZWFzZSBpbmZpbml0ZTsNCglhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQoJCS1vLWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCgkJLW1zLWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQoJCS1tb3otYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KfQ0KLnByZWxvYWRlci1qYWNraGFtbWVyIC5jc3Nsb2FkLWxvYWRpbmc6YmVmb3JlIHsNCglsZWZ0OiAtMTBweDsNCn0NCi5wcmVsb2FkZXItamFja2hhbW1lciAuY3NzbG9hZC1sb2FkaW5nOmFmdGVyIHsNCglsZWZ0OiAxMHB4Ow0KCWFuaW1hdGlvbi1kZWxheTogMC41OHM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTogMC41OHM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6IDAuNThzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41OHM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjU4czsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC11cERvd24gew0KCWZyb20gew0KCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTlweCk7DQoJfQ0KCXRvIHsNCgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC11cERvd24gew0KCWZyb20gew0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTlweCk7DQoJfQ0KCXRvIHsNCgkJLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtdXBEb3duIHsNCglmcm9tIHsNCgkJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxOXB4KTsNCgl9DQoJdG8gew0KCQktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXVwRG93biB7DQoJZnJvbSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE5cHgpOw0KCX0NCgl0byB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXVwRG93biB7DQoJZnJvbSB7DQoJCS1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE5cHgpOw0KCX0NCgl0byB7DQoJCS1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC11cERvd24yIHsNCglmcm9tIHsNCgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI5cHgpOw0KCX0NCgl0byB7DQoJCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTlweCk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtdXBEb3duMiB7DQoJZnJvbSB7DQoJCS1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyOXB4KTsNCgl9DQoJdG8gew0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE5cHgpOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC11cERvd24yIHsNCglmcm9tIHsNCgkJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyOXB4KTsNCgl9DQoJdG8gew0KCQktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXVwRG93bjIgew0KCWZyb20gew0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyOXB4KTsNCgl9DQoJdG8gew0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTlweCk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC11cERvd24yIHsNCglmcm9tIHsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjlweCk7DQoJfQ0KCXRvIHsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE5cHgpOw0KCX0NCn0NCg0KLyogLS0tLS0tLS0gUHJlbG9hZGVyIGFuaW1hdGlvbiAtLS0tLS0tLS0tICovDQoNCg=="}},"time_used":243,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":191,"receive":52,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/jquery-plugin-collection.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.023Z","timestamp":1785123385023,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/jquery-plugin-collection.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"c22e2-65fd8520-b2c4ae066fd66eaf;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 223907\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":795362,"size_decoded":224366,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (14294), with CRLF line terminators","md5":"43df0f1184c27f99fa4744b597449692","sha1":"90eb619a134d93609a1164d8ade3c2955b9aba7c","sha256":"f8af7ab9c5d9bf52b3663041d6d421b733576237baa3b8f46bc8abc659d6ba6a","sha512":"1e2309e6a9dc6c76d0fa9b917c0c4fe2a322ed1e47eec44ee27eb07453451a79c4f31ff2ba068008f4a7d6d08c2ed2c16ba536d8f71499f315a2dd6b8eefef37","ssdeep":"12288:NXRLjASMQzEy87Tpyxo3cVpU2d5k2MBxNie+iQI:/jASMQYy87TpM9JMLN3+iv","tlshash":"93054a487651752646a7a0f1a02f020bf237996ae80ac46cb5b9d8d97d7cd4c213ffbc","first_seen":"2023-03-08T16:17:52Z","last_seen":"2026-07-27T14:34:25.232493Z","times_seen":96,"resource_available":true,"data":"LyoNCkBBdXRob3I6IFRoZW1lTWFzY290DQpAVVJMOiBodHRwOi8vVGhlbWVNYXNjb3QuY29tDQoNCk5lY2Vzc2FyeSBqUXVlcnkgQ29sbGVjdGlvbg0KKi8NCg0KLyoqDQogKiBUYWJsZSBvZiBDb250ZW50czoNCiAqDQogKiAgalF1ZXJ5IENvb2tpZSBQbHVnaW4gdjEuNC4xDQogKiAganF1ZXJ5LmVhc2luZy4xLjMuanMgZm9yIHBpZWNoYXJ0IHNtb290aG5lc3MgYW5kIG90aGVyDQogKiAganF1ZXJ5LnNjcm9sbFRvDQogKiAganF1ZXJ5LmxvY2FsU2Nyb2xsDQogKiAgU21vb3RoU2Nyb2xsIGZvciB3ZWJzaXRlcw0KICogIGpRdWVyeSBhcHBlYXIgcGx1Z2luDQogKiAgbW9kZXJuaXpyDQogKiAgc2Nyb2xsVG9GaXhlZA0KICogIFN0aWNreQ0KICogIE1lbnV6b3JkIC0gUmVzcG9uc2l2ZSBNZWdhbWVudQ0KICogIGpRdWVyeSBJc290b3BlDQogKiAganF1ZXJ5IHBhcmFsbGF4DQogKglqcXVlcnkgVHdlbnR5VHdlbnR5IEJlZm9yZSBBZnRlciBTbGlkZXINCiAqICBhbmltYXRlTnVtYmVycw0KICogIGpmbGlja3JmZWVkDQogKiAgZml0dmlkcw0KICogIFJldGluYS5qcw0KICogIGFqYXhjaGltcA0KICogIHR3ZWV0aWUNCiAqICBtZW51ZnVsbHBhZ2UNCiAqICBXT1cgYW5pbWF0aW9uDQogKiAgVHlwZWQgQW5pbWF0aW9uDQogKiAgT3dsIGNhcm91c2VsDQogKiAgRmxleFNsaWRlcg0KICogIE1hZ25pZmljIFBvcHVwDQogKiAgTml2byBMaWdodGJveA0KICogIFByZXR0eVBob3RvIExpZ2h0Ym94DQogKiAgZXF1YWxIZWlnaHRzDQogKiAgTWF4aW1hZ2UgU2xpZGVyDQogKiAgQnhTbGlkZXINCiAqICBtb21lbnQuanMNCiAqICBDbG9jazEgLSBUaGUgRmluYWwgQ291bnRkb3duDQogKiAgQ2xvY2syIC0gZmxpcGNsb2NrDQogKiAgaW5zdGFmZWVkLmpzDQogKiAgalF1ZXJ5IFZhbGlkYXRpb24NCiAqICBqUXVlcnkgRm9ybQ0KICogIGNvZGUgaGlnaGxpZ2h0DQogKiAgWVRQbGF5ZXINCiAqICBJbmZpbml0ZSBTY3JvbGwNCiAqICBqUXVlcnkgUGFnaW5hdGlvbiBQbHVnaW4NCiAqICBWaWRlIGpRdWVyeSBwbHVnaW4gZm9yIHZpZGVvIGJhY2tncm91bmRzDQogKglEYXRlcGlja2VyIGZvciBCb290c3RyYXANCiAqICBqcXVlcnktdGltZXBpY2tlcg0KICogIGJvb3RzdHJhcC1kYXRldGltZWpzDQogKiAgZGF0ZXBhaXIuanMNCiAqICBlYXN5LXBpZS1jaGFydA0KICoJanF1ZXJ5LmRkc2xpY2subWluLmpzDQogKiAgRnVsbENhbGVuZGFyDQogKiAgb2RvbWV0ZXINCiAqICBzbGljayBzbGlkZXINCiAqICANCiAqICANCiAqICANCiAqICANCiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiovDQoNCg0KLyohDQogKiBqUXVlcnkgQ29va2llIFBsdWdpbiB2MS40LjENCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jYXJoYXJ0bC9qcXVlcnktY29va2llDQogKg0KICogQ29weXJpZ2h0IDIwMDYsIDIwMTQgS2xhdXMgSGFydGwNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQ0KICovDQohZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxlKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJqcXVlcnkiKSk6ZShqUXVlcnkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiB1LnJhdz9lOmVuY29kZVVSSUNvbXBvbmVudChlKX1mdW5jdGlvbiBvKGUpe3JldHVybiB1LnJhdz9lOmRlY29kZVVSSUNvbXBvbmVudChlKX1mdW5jdGlvbiBpKGUpe3JldHVybiBuKHUuanNvbj9KU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSkpfWZ1bmN0aW9uIHQoZSl7MD09PWUuaW5kZXhPZignIicpJiYoZT1lLnNsaWNlKDEsLTEpLnJlcGxhY2UoL1xcIi9nLCciJykucmVwbGFjZSgvXFxcXC9nLCJcXCIpKTt0cnl7cmV0dXJuIGU9ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShjLCIgIikpLHUuanNvbj9KU09OLnBhcnNlKGUpOmV9Y2F0Y2gobil7fX1mdW5jdGlvbiByKG4sbyl7dmFyIGk9dS5yYXc/bjp0KG4pO3JldHVybiBlLmlzRnVuY3Rpb24obyk/byhpKTppfXZhciBjPS9cKy9nLHU9ZS5jb29raWU9ZnVuY3Rpb24odCxjLHMpe2lmKGFyZ3VtZW50cy5sZW5ndGg+MSYmIWUuaXNGdW5jdGlvbihjKSl7aWYocz1lLmV4dGVuZCh7fSx1LmRlZmF1bHRzLHMpLCJudW1iZXIiPT10eXBlb2Ygcy5leHBpcmVzKXt2YXIgYT1zLmV4cGlyZXMsZD1zLmV4cGlyZXM9bmV3IERhdGU7ZC5zZXRNaWxsaXNlY29uZHMoZC5nZXRNaWxsaXNlY29uZHMoKSs4NjRlNSphKX1yZXR1cm4gZG9jdW1lbnQuY29va2llPVtuKHQpLCI9IixpKGMpLHMuZXhwaXJlcz8iOyBleHBpcmVzPSIrcy5leHBpcmVzLnRvVVRDU3RyaW5nKCk6IiIscy5wYXRoPyI7IHBhdGg9IitzLnBhdGg6IiIscy5kb21haW4/IjsgZG9tYWluPSIrcy5kb21haW46IiIscy5zZWN1cmU/Ijsgc2VjdXJlIjoiIl0uam9pbigiIil9Zm9yKHZhciBmPXQ/dm9pZCAwOnt9LHA9ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyAiKTpbXSxsPTAsbT1wLmxlbmd0aDttPmw7bCsrKXt2YXIgeD1wW2xdLnNwbGl0KCI9IiksZz1vKHguc2hpZnQoKSksaj14LmpvaW4oIj0iKTtpZih0PT09Zyl7Zj1yKGosYyk7YnJlYWt9dHx8dm9pZCAwPT09KGo9cihqKSl8fChmW2ddPWopfXJldHVybiBmfTt1LmRlZmF1bHRzPXt9LGUucmVtb3ZlQ29va2llPWZ1bmN0aW9uKG4sbyl7cmV0dXJuIGUuY29va2llKG4sIiIsZS5leHRlbmQoe30sbyx7ZXhwaXJlczotMX0pKSwhZS5jb29raWUobil9fSk7DQoNCg0KDQoNCi8qDQogKiAganF1ZXJ5LmVhc2luZy4xLjMuanMgZm9yIHBpZWNoYXJ0IHNtb290aG5lc3MgYW5kIG90aGVyDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qDQogKiBqUXVlcnkgRWFzaW5nIHYxLjMgLSBodHRwOi8vZ3NnZC5jby51ay9zYW5kYm94L2pxdWVyeS9lYXNpbmcvDQogKg0KICogVXNlcyB0aGUgYnVpbHQgaW4gZWFzaW5nIGNhcGFiaWxpdGllcyBhZGRlZCBJbiBqUXVlcnkgMS4xDQogKiB0byBvZmZlciBtdWx0aXBsZSBlYXNpbmcgb3B0aW9ucw0KICoNCiovDQpqUXVlcnkuZWFzaW5nLmpzd2luZz1qUXVlcnkuZWFzaW5nLnN3aW5nLGpRdWVyeS5leHRlbmQoalF1ZXJ5LmVhc2luZyx7ZGVmOiJlYXNlT3V0UXVhZCIsc3dpbmc6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4galF1ZXJ5LmVhc2luZ1tqUXVlcnkuZWFzaW5nLmRlZl0obixlLHQsdSxhKX0sZWFzZUluUXVhZDpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiB1KihlLz1hKSplK3R9LGVhc2VPdXRRdWFkOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuLXUqKGUvPWEpKihlLTIpK3R9LGVhc2VJbk91dFF1YWQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4oZS89YS8yKTwxP3UvMiplKmUrdDotdS8yKigtLWUqKGUtMiktMSkrdH0sZWFzZUluQ3ViaWM6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSooZS89YSkqZSplK3R9LGVhc2VPdXRDdWJpYzpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiB1KigoZT1lL2EtMSkqZSplKzEpK3R9LGVhc2VJbk91dEN1YmljOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuKGUvPWEvMik8MT91LzIqZSplKmUrdDp1LzIqKChlLT0yKSplKmUrMikrdH0sZWFzZUluUXVhcnQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSooZS89YSkqZSplKmUrdH0sZWFzZU91dFF1YXJ0OmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuLXUqKChlPWUvYS0xKSplKmUqZS0xKSt0fSxlYXNlSW5PdXRRdWFydDpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybihlLz1hLzIpPDE/dS8yKmUqZSplKmUrdDotdS8yKigoZS09MikqZSplKmUtMikrdH0sZWFzZUluUXVpbnQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSooZS89YSkqZSplKmUqZSt0fSxlYXNlT3V0UXVpbnQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSooKGU9ZS9hLTEpKmUqZSplKmUrMSkrdH0sZWFzZUluT3V0UXVpbnQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4oZS89YS8yKTwxP3UvMiplKmUqZSplKmUrdDp1LzIqKChlLT0yKSplKmUqZSplKzIpK3R9LGVhc2VJblNpbmU6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4tdSpNYXRoLmNvcyhlL2EqKE1hdGguUEkvMikpK3UrdH0sZWFzZU91dFNpbmU6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSpNYXRoLnNpbihlL2EqKE1hdGguUEkvMikpK3R9LGVhc2VJbk91dFNpbmU6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4tdS8yKihNYXRoLmNvcyhNYXRoLlBJKmUvYSktMSkrdH0sZWFzZUluRXhwbzpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiAwPT1lP3Q6dSpNYXRoLnBvdygyLDEwKihlL2EtMSkpK3R9LGVhc2VPdXRFeHBvOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuIGU9PWE/dCt1OnUqKC1NYXRoLnBvdygyLC0xMCplL2EpKzEpK3R9LGVhc2VJbk91dEV4cG86ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gMD09ZT90OmU9PWE/dCt1OihlLz1hLzIpPDE/dS8yKk1hdGgucG93KDIsMTAqKGUtMSkpK3Q6dS8yKigtTWF0aC5wb3coMiwtMTAqLS1lKSsyKSt0fSxlYXNlSW5DaXJjOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuLXUqKE1hdGguc3FydCgxLShlLz1hKSplKS0xKSt0fSxlYXNlT3V0Q2lyYzpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiB1Kk1hdGguc3FydCgxLShlPWUvYS0xKSplKSt0fSxlYXNlSW5PdXRDaXJjOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuKGUvPWEvMik8MT8tdS8yKihNYXRoLnNxcnQoMS1lKmUpLTEpK3Q6dS8yKihNYXRoLnNxcnQoMS0oZS09MikqZSkrMSkrdH0sZWFzZUluRWxhc3RpYzpmdW5jdGlvbihuLGUsdCx1LGEpe3ZhciByPTEuNzAxNTgsaT0wLHM9dTtpZigwPT1lKXJldHVybiB0O2lmKDE9PShlLz1hKSlyZXR1cm4gdCt1O2lmKGl8fChpPS4zKmEpLHM8TWF0aC5hYnModSkpe3M9dTt2YXIgcj1pLzR9ZWxzZSB2YXIgcj1pLygyKk1hdGguUEkpKk1hdGguYXNpbih1L3MpO3JldHVybi0ocypNYXRoLnBvdygyLDEwKihlLT0xKSkqTWF0aC5zaW4oMiooZSphLXIpKk1hdGguUEkvaSkpK3R9LGVhc2VPdXRFbGFzdGljOmZ1bmN0aW9uKG4sZSx0LHUsYSl7dmFyIHI9MS43MDE1OCxpPTAscz11O2lmKDA9PWUpcmV0dXJuIHQ7aWYoMT09KGUvPWEpKXJldHVybiB0K3U7aWYoaXx8KGk9LjMqYSksczxNYXRoLmFicyh1KSl7cz11O3ZhciByPWkvNH1lbHNlIHZhciByPWkvKDIqTWF0aC5QSSkqTWF0aC5hc2luKHUvcyk7cmV0dXJuIHMqTWF0aC5wb3coMiwtMTAqZSkqTWF0aC5zaW4oMiooZSphLXIpKk1hdGguUEkvaSkrdSt0fSxlYXNlSW5PdXRFbGFzdGljOmZ1bmN0aW9uKG4sZSx0LHUsYSl7dmFyIHI9MS43MDE1OCxpPTAscz11O2lmKDA9PWUpcmV0dXJuIHQ7aWYoMj09KGUvPWEvMikpcmV0dXJuIHQrdTtpZihpfHwoaT0uMyphKjEuNSksczxNYXRoLmFicyh1KSl7cz11O3ZhciByPWkvNH1lbHNlIHZhciByPWkvKDIqTWF0aC5QSSkqTWF0aC5hc2luKHUvcyk7cmV0dXJuIDE+ZT8tLjUqcypNYXRoLnBvdygyLDEwKihlLT0xKSkqTWF0aC5zaW4oMiooZSphLXIpKk1hdGguUEkvaSkrdDpzKk1hdGgucG93KDIsLTEwKihlLT0xKSkqTWF0aC5zaW4oMiooZSphLXIpKk1hdGguUEkvaSkqLjUrdSt0fSxlYXNlSW5CYWNrOmZ1bmN0aW9uKG4sZSx0LHUsYSxyKXtyZXR1cm4gdm9pZCAwPT1yJiYocj0xLjcwMTU4KSx1KihlLz1hKSplKigocisxKSplLXIpK3R9LGVhc2VPdXRCYWNrOmZ1bmN0aW9uKG4sZSx0LHUsYSxyKXtyZXR1cm4gdm9pZCAwPT1yJiYocj0xLjcwMTU4KSx1KigoZT1lL2EtMSkqZSooKHIrMSkqZStyKSsxKSt0fSxlYXNlSW5PdXRCYWNrOmZ1bmN0aW9uKG4sZSx0LHUsYSxyKXtyZXR1cm4gdm9pZCAwPT1yJiYocj0xLjcwMTU4KSwoZS89YS8yKTwxP3UvMiplKmUqKCgocio9MS41MjUpKzEpKmUtcikrdDp1LzIqKChlLT0yKSplKigoKHIqPTEuNTI1KSsxKSplK3IpKzIpK3R9LGVhc2VJbkJvdW5jZTpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiB1LWpRdWVyeS5lYXNpbmcuZWFzZU91dEJvdW5jZShuLGEtZSwwLHUsYSkrdH0sZWFzZU91dEJvdW5jZTpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybihlLz1hKTwxLzIuNzU/Ny41NjI1KnUqZSplK3Q6Mi8yLjc1PmU/dSooNy41NjI1KihlLT0xLjUvMi43NSkqZSsuNzUpK3Q6Mi41LzIuNzU+ZT91Kig3LjU2MjUqKGUtPTIuMjUvMi43NSkqZSsuOTM3NSkrdDp1Kig3LjU2MjUqKGUtPTIuNjI1LzIuNzUpKmUrLjk4NDM3NSkrdH0sZWFzZUluT3V0Qm91bmNlOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuIGEvMj5lPy41KmpRdWVyeS5lYXNpbmcuZWFzZUluQm91bmNlKG4sMiplLDAsdSxhKSt0Oi41KmpRdWVyeS5lYXNpbmcuZWFzZU91dEJvdW5jZShuLDIqZS1hLDAsdSxhKSsuNSp1K3R9fSk7DQoNCi8qDQogKiAganF1ZXJ5LnNjcm9sbFRvDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qKg0KICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMTUgQXJpZWwgRmxlc2xlciAtIGFmbGVzbGVyPGE+Z21haWw8ZD5jb20gfCBodHRwOi8vZmxlc2xlci5ibG9nc3BvdC5jb20NCiAqIExpY2Vuc2VkIHVuZGVyIE1JVA0KICogQGF1dGhvciBBcmllbCBGbGVzbGVyDQogKiBAdmVyc2lvbiAyLjEuMg0KICovDQo7KGZ1bmN0aW9uKGYpeyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxmKToidW5kZWZpbmVkIiE9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWYocmVxdWlyZSgianF1ZXJ5IikpOmYoalF1ZXJ5KX0pKGZ1bmN0aW9uKCQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGEpe3JldHVybiFhLm5vZGVOYW1lfHwtMSE9PSQuaW5BcnJheShhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksWyJpZnJhbWUiLCIjZG9jdW1lbnQiLCJodG1sIiwiYm9keSJdKX1mdW5jdGlvbiBoKGEpe3JldHVybiAkLmlzRnVuY3Rpb24oYSl8fCQuaXNQbGFpbk9iamVjdChhKT9hOnt0b3A6YSxsZWZ0OmF9fXZhciBwPSQuc2Nyb2xsVG89ZnVuY3Rpb24oYSxkLGIpe3JldHVybiAkKHdpbmRvdykuc2Nyb2xsVG8oYSxkLGIpfTtwLmRlZmF1bHRzPXtheGlzOiJ4eSIsZHVyYXRpb246MCxsaW1pdDohMH07JC5mbi5zY3JvbGxUbz1mdW5jdGlvbihhLGQsYil7Im9iamVjdCI9PT0gdHlwZW9mIGQmJihiPWQsZD0wKTsiZnVuY3Rpb24iPT09dHlwZW9mIGImJihiPXtvbkFmdGVyOmJ9KTsibWF4Ij09PWEmJihhPTlFOSk7Yj0kLmV4dGVuZCh7fSxwLmRlZmF1bHRzLGIpO2Q9ZHx8Yi5kdXJhdGlvbjt2YXIgdT1iLnF1ZXVlJiYxPGIuYXhpcy5sZW5ndGg7dSYmKGQvPTIpO2Iub2Zmc2V0PWgoYi5vZmZzZXQpO2Iub3Zlcj1oKGIub3Zlcik7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Z1bmN0aW9uIGsoYSl7dmFyIGs9JC5leHRlbmQoe30sYix7cXVldWU6ITAsZHVyYXRpb246ZCxjb21wbGV0ZTphJiZmdW5jdGlvbigpe2EuY2FsbChxLGUsYil9fSk7ci5hbmltYXRlKGYsayl9aWYobnVsbCE9PWEpe3ZhciBsPW4odGhpcykscT1sP3RoaXMuY29udGVudFdpbmRvd3x8d2luZG93OnRoaXMscj0kKHEpLGU9YSxmPXt9LHQ7c3dpdGNoKHR5cGVvZiBlKXtjYXNlICJudW1iZXIiOmNhc2UgInN0cmluZyI6aWYoL14oWystXT0/KT9cZCsoXC5cZCspPyhweHwlKT8kLy50ZXN0KGUpKXtlPSBoKGUpO2JyZWFrfWU9bD8kKGUpOiQoZSxxKTtjYXNlICJvYmplY3QiOmlmKGUubGVuZ3RoPT09MClyZXR1cm47aWYoZS5pc3x8ZS5zdHlsZSl0PShlPSQoZSkpLm9mZnNldCgpfXZhciB2PSQuaXNGdW5jdGlvbihiLm9mZnNldCkmJmIub2Zmc2V0KHEsZSl8fGIub2Zmc2V0OyQuZWFjaChiLmF4aXMuc3BsaXQoIiIpLGZ1bmN0aW9uKGEsYyl7dmFyIGQ9IngiPT09Yz8iTGVmdCI6IlRvcCIsbT1kLnRvTG93ZXJDYXNlKCksZz0ic2Nyb2xsIitkLGg9cltnXSgpLG49cC5tYXgocSxjKTt0PyhmW2ddPXRbbV0rKGw/MDpoLXIub2Zmc2V0KClbbV0pLGIubWFyZ2luJiYoZltnXS09cGFyc2VJbnQoZS5jc3MoIm1hcmdpbiIrZCksMTApfHwwLGZbZ10tPXBhcnNlSW50KGUuY3NzKCJib3JkZXIiK2QrIldpZHRoIiksMTApfHwwKSxmW2ddKz12W21dfHwwLGIub3ZlclttXSYmKGZbZ10rPWVbIngiPT09Yz8id2lkdGgiOiJoZWlnaHQiXSgpKmIub3ZlclttXSkpOihkPWVbbV0sZltnXT1kLnNsaWNlJiYgIiUiPT09ZC5zbGljZSgtMSk/cGFyc2VGbG9hdChkKS8xMDAqbjpkKTtiLmxpbWl0JiYvXlxkKyQvLnRlc3QoZltnXSkmJihmW2ddPTA+PWZbZ10/MDpNYXRoLm1pbihmW2ddLG4pKTshYSYmMTxiLmF4aXMubGVuZ3RoJiYoaD09PWZbZ10/Zj17fTp1JiYoayhiLm9uQWZ0ZXJGaXJzdCksZj17fSkpfSk7ayhiLm9uQWZ0ZXIpfX0pfTtwLm1heD1mdW5jdGlvbihhLGQpe3ZhciBiPSJ4Ij09PWQ/IldpZHRoIjoiSGVpZ2h0IixoPSJzY3JvbGwiK2I7aWYoIW4oYSkpcmV0dXJuIGFbaF0tJChhKVtiLnRvTG93ZXJDYXNlKCldKCk7dmFyIGI9ImNsaWVudCIrYixrPWEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudCxsPWsuZG9jdW1lbnRFbGVtZW50LGs9ay5ib2R5O3JldHVybiBNYXRoLm1heChsW2hdLGtbaF0pLU1hdGgubWluKGxbYl0sa1tiXSl9OyQuVHdlZW4ucHJvcEhvb2tzLnNjcm9sbExlZnQ9JC5Ud2Vlbi5wcm9wSG9va3Muc2Nyb2xsVG9wPXtnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuICQoYS5lbGVtKVthLnByb3BdKCl9LCBzZXQ6ZnVuY3Rpb24oYSl7dmFyIGQ9dGhpcy5nZXQoYSk7aWYoYS5vcHRpb25zLmludGVycnVwdCYmYS5fbGFzdCYmYS5fbGFzdCE9PWQpcmV0dXJuICQoYS5lbGVtKS5zdG9wKCk7dmFyIGI9TWF0aC5yb3VuZChhLm5vdyk7ZCE9PWImJigkKGEuZWxlbSlbYS5wcm9wXShiKSxhLl9sYXN0PXRoaXMuZ2V0KGEpKX19O3JldHVybiBwfSk7DQoNCi8qDQogKiAganF1ZXJ5LmxvY2FsU2Nyb2xsDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qKg0KICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMTUgQXJpZWwgRmxlc2xlciAtIGFmbGVzbGVyPGE+Z21haWw8ZD5jb20gfCBodHRwOi8vZmxlc2xlci5ibG9nc3BvdC5jb20NCiAqIExpY2Vuc2VkIHVuZGVyIE1JVA0KICogQGF1dGhvciBBcmllbCBGbGVzbGVyDQogKiBAdmVyc2lvbiAxLjQuMA0KICovDQo7KGZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkZWZpbmU9PT0nZnVuY3Rpb24nJiZkZWZpbmUuYW1kKXtkZWZpbmUoWydqcXVlcnknXSxhKX1lbHNle2EoalF1ZXJ5KX19KGZ1bmN0aW9uKCQpe3ZhciBnPWxvY2F0aW9uLmhyZWYucmVwbGFjZSgvIy4qLywnJyk7dmFyIGg9JC5sb2NhbFNjcm9sbD1mdW5jdGlvbihhKXskKCdib2R5JykubG9jYWxTY3JvbGwoYSl9O2guZGVmYXVsdHM9e2R1cmF0aW9uOjEwMDAsYXhpczoneScsZXZlbnQ6J2NsaWNrJyxzdG9wOnRydWUsdGFyZ2V0OndpbmRvd307JC5mbi5sb2NhbFNjcm9sbD1mdW5jdGlvbihhKXthPSQuZXh0ZW5kKHt9LGguZGVmYXVsdHMsYSk7aWYoYS5oYXNoJiZsb2NhdGlvbi5oYXNoKXtpZihhLnRhcmdldCl3aW5kb3cuc2Nyb2xsVG8oMCwwKTtzY3JvbGwoMCxsb2NhdGlvbixhKX1yZXR1cm4gYS5sYXp5P3RoaXMub24oYS5ldmVudCwnYSxhcmVhJyxmdW5jdGlvbihlKXtpZihmaWx0ZXIuY2FsbCh0aGlzKSl7c2Nyb2xsKGUsdGhpcyxhKX19KTp0aGlzLmZpbmQoJ2EsYXJlYScpLmZpbHRlcihmaWx0ZXIpLmJpbmQoYS5ldmVudCxmdW5jdGlvbihlKXtzY3JvbGwoZSx0aGlzLGEpfSkuZW5kKCkuZW5kKCk7ZnVuY3Rpb24gZmlsdGVyKCl7cmV0dXJuISF0aGlzLmhyZWYmJiEhdGhpcy5oYXNoJiZ0aGlzLmhyZWYucmVwbGFjZSh0aGlzLmhhc2gsJycpPT09ZyYmKCFhLmZpbHRlcnx8JCh0aGlzKS5pcyhhLmZpbHRlcikpfX07aC5oYXNoPWZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBzY3JvbGwoZSxhLGIpe3ZhciBjPWEuaGFzaC5zbGljZSgxKSxlbGVtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGMpfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShjKVswXTtpZighZWxlbSlyZXR1cm47aWYoZSllLnByZXZlbnREZWZhdWx0KCk7dmFyIGQ9JChiLnRhcmdldCk7aWYoYi5sb2NrJiZkLmlzKCc6YW5pbWF0ZWQnKXx8Yi5vbkJlZm9yZSYmYi5vbkJlZm9yZShlLGVsZW0sZCk9PT1mYWxzZSlyZXR1cm47aWYoYi5zdG9wKXtkLnN0b3AodHJ1ZSl9aWYoYi5oYXNoKXt2YXIgZj1lbGVtLmlkPT09Yz8naWQnOiduYW1lJywkYT0kKCc8YT4gPC9hPicpLmF0dHIoZixjKS5jc3Moe3Bvc2l0aW9uOidhYnNvbHV0ZScsdG9wOiQod2luZG93KS5zY3JvbGxUb3AoKSxsZWZ0OiQod2luZG93KS5zY3JvbGxMZWZ0KCl9KTtlbGVtW2ZdPScnOyQoJ2JvZHknKS5wcmVwZW5kKCRhKTtsb2NhdGlvbi5oYXNoPWEuaGFzaDskYS5yZW1vdmUoKTtlbGVtW2ZdPWN9ZC5zY3JvbGxUbyhlbGVtLGIpLnRyaWdnZXIoJ25vdGlmeS5zZXJpYWxTY3JvbGwnLFtlbGVtXSl9cmV0dXJuIGh9KSk7DQoNCg0KLyoNCiAqICBTbW9vdGhTY3JvbGwgZm9yIHdlYnNpdGVzDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8vDQovLyBTbW9vdGhTY3JvbGwgZm9yIHdlYnNpdGVzIHYxLjQuNiAoQmFsYXpzIEdhbGFtYm9zaSkNCi8vIGh0dHA6Ly93d3cuc21vb3Roc2Nyb2xsLm5ldC8NCi8vDQovLyBMaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlLg0KLy8NCi8vIFlvdSBtYXkgdXNlIGl0IGluIHlvdXIgdGhlbWUgaWYgeW91IGNyZWRpdCBtZS4gDQovLyBJdCBpcyBhbHNvIGZyZWUgdG8gdXNlIG9uIGFueSBpbmRpdmlkdWFsIHdlYnNpdGUuDQovLw0KLy8gRXhjZXB0aW9uOg0KLy8gVGhlIG9ubHkgcmVzdHJpY3Rpb24gaXMgdG8gbm90IHB1Ymxpc2ggYW55ICANCi8vIGV4dGVuc2lvbiBmb3IgYnJvd3NlcnMgb3IgbmF0aXZlIGFwcGxpY2F0aW9uDQovLyB3aXRob3V0IGdldHRpbmcgYSB3cml0dGVuIHBlcm1pc3Npb24gZmlyc3QuDQovLw0KIWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe0gua2V5Ym9hcmRTdXBwb3J0JiZmKCJrZXlkb3duIixyKX1mdW5jdGlvbiB0KCl7aWYoIVgmJmRvY3VtZW50LmJvZHkpe1g9ITA7dmFyIHQ9ZG9jdW1lbnQuYm9keSxvPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxuPXdpbmRvdy5pbm5lckhlaWdodCxyPXQuc2Nyb2xsSGVpZ2h0O2lmKFk9ZG9jdW1lbnQuY29tcGF0TW9kZS5pbmRleE9mKCJDU1MiKT49MD9vOnQsaz10LGUoKSx0b3AhPXNlbGYpTD0hMDtlbHNlIGlmKGVlJiZyPm4mJih0Lm9mZnNldEhlaWdodDw9bnx8by5vZmZzZXRIZWlnaHQ8PW4pKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlOyB6LWluZGV4Oi0xMDAwMDsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgaGVpZ2h0OiIrWS5zY3JvbGxIZWlnaHQrInB4Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO3ZhciBpO009ZnVuY3Rpb24oKXtpfHwoaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7enx8KGEuc3R5bGUuaGVpZ2h0PSIwIixhLnN0eWxlLmhlaWdodD1ZLnNjcm9sbEhlaWdodCsicHgiLGk9bnVsbCl9LDUwMCkpfSxzZXRUaW1lb3V0KE0sMTApLGYoInJlc2l6ZSIsTSk7dmFyIGw9e2F0dHJpYnV0ZXM6ITAsY2hpbGRMaXN0OiEwLGNoYXJhY3RlckRhdGE6ITF9O2lmKChEPW5ldyBfKE0pKS5vYnNlcnZlKHQsbCksWS5vZmZzZXRIZWlnaHQ8PW4pe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Muc3R5bGUuY2xlYXI9ImJvdGgiLHQuYXBwZW5kQ2hpbGQoYyl9fUguZml4ZWRCYWNrZ3JvdW5kfHx6fHwodC5zdHlsZS5iYWNrZ3JvdW5kQXR0YWNobWVudD0ic2Nyb2xsIixvLnN0eWxlLmJhY2tncm91bmRBdHRhY2htZW50PSJzY3JvbGwiKX19ZnVuY3Rpb24gbyhlLHQsbyl7aWYoaCh0LG8pLDEhPUguYWNjZWxlcmF0aW9uTWF4KXt2YXIgbj1EYXRlLm5vdygpLWo7aWYobjxILmFjY2VsZXJhdGlvbkRlbHRhKXt2YXIgcj0oMSs1MC9uKS8yO3I+MSYmKHI9TWF0aC5taW4ocixILmFjY2VsZXJhdGlvbk1heCksdCo9cixvKj1yKX1qPURhdGUubm93KCl9aWYoUC5wdXNoKHt4OnQseTpvLGxhc3RYOnQ8MD8uOTk6LS45OSxsYXN0WTpvPDA/Ljk5Oi0uOTksc3RhcnQ6RGF0ZS5ub3coKX0pLCFSKXt2YXIgYT1lPT09ZG9jdW1lbnQuYm9keSxpPWZ1bmN0aW9uKG4pe2Zvcih2YXIgcj1EYXRlLm5vdygpLGw9MCxjPTAsdT0wO3U8UC5sZW5ndGg7dSsrKXt2YXIgZD1QW3VdLHM9ci1kLnN0YXJ0LGY9cz49SC5hbmltYXRpb25UaW1lLG09Zj8xOnMvSC5hbmltYXRpb25UaW1lO0gucHVsc2VBbGdvcml0aG0mJihtPVMobSkpO3ZhciB3PWQueCptLWQubGFzdFg+PjAsaD1kLnkqbS1kLmxhc3RZPj4wO2wrPXcsYys9aCxkLmxhc3RYKz13LGQubGFzdFkrPWgsZiYmKFAuc3BsaWNlKHUsMSksdS0tKX1hP3dpbmRvdy5zY3JvbGxCeShsLGMpOihsJiYoZS5zY3JvbGxMZWZ0Kz1sKSxjJiYoZS5zY3JvbGxUb3ArPWMpKSx0fHxvfHwoUD1bXSksUC5sZW5ndGg/SShpLGUsMWUzL0guZnJhbWVSYXRlKzEpOlI9ITF9O0koaSxlLDApLFI9ITB9fWZ1bmN0aW9uIG4oZSl7WHx8dCgpO3ZhciBuPWUudGFyZ2V0O2lmKGUuZGVmYXVsdFByZXZlbnRlZHx8ZS5jdHJsS2V5KXJldHVybiEwO2lmKHcoaywiZW1iZWQiKXx8dyhuLCJlbWJlZCIpJiYvXC5wZGYvaS50ZXN0KG4uc3JjKXx8dyhrLCJvYmplY3QiKXx8bi5zaGFkb3dSb290KXJldHVybiEwO3ZhciByPS1lLndoZWVsRGVsdGFYfHxlLmRlbHRhWHx8MCxhPS1lLndoZWVsRGVsdGFZfHxlLmRlbHRhWXx8MDtCJiYoZS53aGVlbERlbHRhWCYmdihlLndoZWVsRGVsdGFYLDEyMCkmJihyPWUud2hlZWxEZWx0YVgvTWF0aC5hYnMoZS53aGVlbERlbHRhWCkqLTEyMCksZS53aGVlbERlbHRhWSYmdihlLndoZWVsRGVsdGFZLDEyMCkmJihhPWUud2hlZWxEZWx0YVkvTWF0aC5hYnMoZS53aGVlbERlbHRhWSkqLTEyMCkpLHJ8fGF8fChhPS1lLndoZWVsRGVsdGF8fDApLDE9PT1lLmRlbHRhTW9kZSYmKHIqPTQwLGEqPTQwKTt2YXIgbD1jKG4pO3JldHVybiBsPyEhcChhKXx8KE1hdGguYWJzKHIpPjEuMiYmKHIqPUguc3RlcFNpemUvMTIwKSxNYXRoLmFicyhhKT4xLjImJihhKj1ILnN0ZXBTaXplLzEyMCksbyhsLHIsYSksZS5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgaSgpKTohTHx8IUd8fChPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwidGFyZ2V0Iix7dmFsdWU6d2luZG93LmZyYW1lRWxlbWVudH0pLHBhcmVudC53aGVlbChlKSl9ZnVuY3Rpb24gcihlKXt2YXIgdD1lLnRhcmdldCxuPWUuY3RybEtleXx8ZS5hbHRLZXl8fGUubWV0YUtleXx8ZS5zaGlmdEtleSYmZS5rZXlDb2RlIT09Ti5zcGFjZWJhcjtkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGspfHwoaz1kb2N1bWVudC5hY3RpdmVFbGVtZW50KTt2YXIgcj0vXih0ZXh0YXJlYXxzZWxlY3R8ZW1iZWR8b2JqZWN0KSQvaSxhPS9eKGJ1dHRvbnxzdWJtaXR8cmFkaW98Y2hlY2tib3h8ZmlsZXxjb2xvcnxpbWFnZSkkL2k7aWYoZS5kZWZhdWx0UHJldmVudGVkfHxyLnRlc3QodC5ub2RlTmFtZSl8fHcodCwiaW5wdXQiKSYmIWEudGVzdCh0LnR5cGUpfHx3KGssInZpZGVvIil8fGIoZSl8fHQuaXNDb250ZW50RWRpdGFibGV8fG4pcmV0dXJuITA7aWYoKHcodCwiYnV0dG9uIil8fHcodCwiaW5wdXQiKSYmYS50ZXN0KHQudHlwZSkpJiZlLmtleUNvZGU9PT1OLnNwYWNlYmFyKXJldHVybiEwO2lmKHcodCwiaW5wdXQiKSYmInJhZGlvIj09dC50eXBlJiZLW2Uua2V5Q29kZV0pcmV0dXJuITA7dmFyIGw9MCx1PTAsZD1jKGspO2lmKCFkKXJldHVybiFMfHwhR3x8cGFyZW50LmtleWRvd24oZSk7dmFyIHM9ZC5jbGllbnRIZWlnaHQ7c3dpdGNoKGQ9PWRvY3VtZW50LmJvZHkmJihzPXdpbmRvdy5pbm5lckhlaWdodCksZS5rZXlDb2RlKXtjYXNlIE4udXA6dT0tSC5hcnJvd1Njcm9sbDticmVhaztjYXNlIE4uZG93bjp1PUguYXJyb3dTY3JvbGw7YnJlYWs7Y2FzZSBOLnNwYWNlYmFyOnU9LShlLnNoaWZ0S2V5PzE6LTEpKnMqLjk7YnJlYWs7Y2FzZSBOLnBhZ2V1cDp1PS45Ki1zO2JyZWFrO2Nhc2UgTi5wYWdlZG93bjp1PS45KnM7YnJlYWs7Y2FzZSBOLmhvbWU6dT0tZC5zY3JvbGxUb3A7YnJlYWs7Y2FzZSBOLmVuZDp2YXIgZj1kLnNjcm9sbEhlaWdodC1kLnNjcm9sbFRvcC1zO3U9Zj4wP2YrMTA6MDticmVhaztjYXNlIE4ubGVmdDpsPS1ILmFycm93U2Nyb2xsO2JyZWFrO2Nhc2UgTi5yaWdodDpsPUguYXJyb3dTY3JvbGw7YnJlYWs7ZGVmYXVsdDpyZXR1cm4hMH1vKGQsbCx1KSxlLnByZXZlbnREZWZhdWx0KCksaSgpfWZ1bmN0aW9uIGEoZSl7az1lLnRhcmdldH1mdW5jdGlvbiBpKCl7Y2xlYXJUaW1lb3V0KFQpLFQ9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtWPXt9fSwxZTMpfWZ1bmN0aW9uIGwoZSx0KXtmb3IodmFyIG89ZS5sZW5ndGg7by0tOylWW3EoZVtvXSldPXQ7cmV0dXJuIHR9ZnVuY3Rpb24gYyhlKXt2YXIgdD1bXSxvPWRvY3VtZW50LmJvZHksbj1ZLnNjcm9sbEhlaWdodDtkb3t2YXIgcj1WW3EoZSldO2lmKHIpcmV0dXJuIGwodCxyKTtpZih0LnB1c2goZSksbj09PWUuc2Nyb2xsSGVpZ2h0KXt2YXIgYT1kKFkpJiZkKG8pfHxzKFkpO2lmKEwmJnUoWSl8fCFMJiZhKXJldHVybiBsKHQsVygpKX1lbHNlIGlmKHUoZSkmJnMoZSkpcmV0dXJuIGwodCxlKX13aGlsZShlPWUucGFyZW50RWxlbWVudCl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gZS5jbGllbnRIZWlnaHQrMTA8ZS5zY3JvbGxIZWlnaHR9ZnVuY3Rpb24gZChlKXtyZXR1cm4iaGlkZGVuIiE9PWdldENvbXB1dGVkU3R5bGUoZSwiIikuZ2V0UHJvcGVydHlWYWx1ZSgib3ZlcmZsb3cteSIpfWZ1bmN0aW9uIHMoZSl7dmFyIHQ9Z2V0Q29tcHV0ZWRTdHlsZShlLCIiKS5nZXRQcm9wZXJ0eVZhbHVlKCJvdmVyZmxvdy15Iik7cmV0dXJuInNjcm9sbCI9PT10fHwiYXV0byI9PT10fWZ1bmN0aW9uIGYoZSx0KXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihlLHQsITEpfWZ1bmN0aW9uIG0oZSx0KXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQsITEpfWZ1bmN0aW9uIHcoZSx0KXtyZXR1cm4oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gaChlLHQpe2U9ZT4wPzE6LTEsdD10PjA/MTotMSxPLng9PT1lJiZPLnk9PT10fHwoTy54PWUsTy55PXQsUD1bXSxqPTApfWZ1bmN0aW9uIHAoZSl7aWYoZSlyZXR1cm4gQS5sZW5ndGh8fChBPVtlLGUsZV0pLGU9TWF0aC5hYnMoZSksQS5wdXNoKGUpLEEuc2hpZnQoKSxjbGVhclRpbWVvdXQoRSksRT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHJ5e2xvY2FsU3RvcmFnZS5TU19kZWx0YUJ1ZmZlcj1BLmpvaW4oIiwiKX1jYXRjaChlKXt9fSwxZTMpLCF5KDEyMCkmJiF5KDEwMCl9ZnVuY3Rpb24gdihlLHQpe3JldHVybiBNYXRoLmZsb29yKGUvdCk9PWUvdH1mdW5jdGlvbiB5KGUpe3JldHVybiB2KEFbMF0sZSkmJnYoQVsxXSxlKSYmdihBWzJdLGUpfWZ1bmN0aW9uIGIoZSl7dmFyIHQ9ZS50YXJnZXQsbz0hMTtpZigtMSE9ZG9jdW1lbnQuVVJMLmluZGV4T2YoInd3dy55b3V0dWJlLmNvbS93YXRjaCIpKWRve2lmKG89dC5jbGFzc0xpc3QmJnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJodG1sNS12aWRlby1jb250cm9scyIpKWJyZWFrfXdoaWxlKHQ9dC5wYXJlbnROb2RlKTtyZXR1cm4gb31mdW5jdGlvbiBnKGUpe3ZhciB0LG87cmV0dXJuKGUqPUgucHVsc2VTY2FsZSk8MT90PWUtKDEtTWF0aC5leHAoLWUpKTooZS09MSx0PShvPU1hdGguZXhwKC0xKSkrKDEtTWF0aC5leHAoLWUpKSooMS1vKSksdCpILnB1bHNlTm9ybWFsaXplfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIGU+PTE/MTplPD0wPzA6KDE9PUgucHVsc2VOb3JtYWxpemUmJihILnB1bHNlTm9ybWFsaXplLz1nKDEpKSxnKGUpKX1mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdCBpbiBlKUMuaGFzT3duUHJvcGVydHkodCkmJihIW3RdPWVbdF0pfXZhciBrLEQsTSxULEUsQz17ZnJhbWVSYXRlOjE1MCxhbmltYXRpb25UaW1lOjQwMCxzdGVwU2l6ZToxMDAscHVsc2VBbGdvcml0aG06ITAscHVsc2VTY2FsZTo0LHB1bHNlTm9ybWFsaXplOjEsYWNjZWxlcmF0aW9uRGVsdGE6NTAsYWNjZWxlcmF0aW9uTWF4OjMsa2V5Ym9hcmRTdXBwb3J0OiEwLGFycm93U2Nyb2xsOjUwLGZpeGVkQmFja2dyb3VuZDohMCxleGNsdWRlZDoiIn0sSD1DLHo9ITEsTD0hMSxPPXt4OjAseTowfSxYPSExLFk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LEE9W10sQj0vXk1hYy8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLE49e2xlZnQ6MzcsdXA6MzgscmlnaHQ6MzksZG93bjo0MCxzcGFjZWJhcjozMixwYWdldXA6MzMscGFnZWRvd246MzQsZW5kOjM1LGhvbWU6MzZ9LEs9ezM3OjEsMzg6MSwzOToxLDQwOjF9LFA9W10sUj0hMSxqPURhdGUubm93KCkscT1mdW5jdGlvbigpe3ZhciBlPTA7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LnVuaXF1ZUlEfHwodC51bmlxdWVJRD1lKyspfX0oKSxWPXt9O2lmKHdpbmRvdy5sb2NhbFN0b3JhZ2UmJmxvY2FsU3RvcmFnZS5TU19kZWx0YUJ1ZmZlcil0cnl7QT1sb2NhbFN0b3JhZ2UuU1NfZGVsdGFCdWZmZXIuc3BsaXQoIiwiKX1jYXRjaChlKXt9dmFyIEYsST13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxmdW5jdGlvbihlLHQsbyl7d2luZG93LnNldFRpbWVvdXQoZSxvfHwxZTMvNjApfSxfPXdpbmRvdy5NdXRhdGlvbk9ic2VydmVyfHx3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcnx8d2luZG93Lk1vek11dGF0aW9uT2JzZXJ2ZXIsVz1mdW5jdGlvbigpe3ZhciBlO3JldHVybiBmdW5jdGlvbigpe2lmKCFlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LnN0eWxlLmNzc1RleHQ9ImhlaWdodDoxMDAwMHB4O3dpZHRoOjFweDsiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIG89ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDt3aW5kb3cuc2Nyb2xsQnkoMCwzKSxlPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIT1vP2RvY3VtZW50LmJvZHk6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHdpbmRvdy5zY3JvbGxCeSgwLC0zKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpfXJldHVybiBlfX0oKSwkPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LFU9L0VkZ2UvLnRlc3QoJCksRz0vY2hyb21lL2kudGVzdCgkKSYmIVUsSj0vc2FmYXJpL2kudGVzdCgkKSYmIVUsUT0vbW9iaWxlL2kudGVzdCgkKSxaPS9XaW5kb3dzIE5UIDYuMS9pLnRlc3QoJCkmJi9ydjoxMS9pLnRlc3QoJCksZWU9SiYmKC9WZXJzaW9uXC84L2kudGVzdCgkKXx8L1ZlcnNpb25cLzkvaS50ZXN0KCQpKSx0ZT0oR3x8Snx8WikmJiFROyJvbndoZWVsImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpP0Y9IndoZWVsIjoib25tb3VzZXdoZWVsImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpJiYoRj0ibW91c2V3aGVlbCIpLEYmJnRlJiYoZihGLG4pLGYoIm1vdXNlZG93biIsYSksZigibG9hZCIsdCkpLHguZGVzdHJveT1mdW5jdGlvbigpe0QmJkQuZGlzY29ubmVjdCgpLG0oRixuKSxtKCJtb3VzZWRvd24iLGEpLG0oImtleWRvd24iLHIpLG0oInJlc2l6ZSIsTSksbSgibG9hZCIsdCl9LHdpbmRvdy5TbW9vdGhTY3JvbGxPcHRpb25zJiZ4KHdpbmRvdy5TbW9vdGhTY3JvbGxPcHRpb25zKSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShmdW5jdGlvbigpe3JldHVybiB4fSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPXg6d2luZG93LlNtb290aFNjcm9sbD14fSgpOw0KDQoNCg0KLyoNCiAqIGpRdWVyeSBhcHBlYXIgcGx1Z2luDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDEyIEFuZHJleSBTaWRvcm92DQogKiBsaWNlbnNlZCB1bmRlciBNSVQgbGljZW5zZS4NCiAqDQogKiBodHRwczovL2dpdGh1Yi5jb20vbW9yci9qcXVlcnkuYXBwZWFyLw0KICoNCiAqIFZlcnNpb246IDAuMy42DQogKi8NCiFmdW5jdGlvbihlKXtmdW5jdGlvbiByKHIpe3JldHVybiBlKHIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmlzKCI6YXBwZWFyZWQiKX0pfWZ1bmN0aW9uIHQoKXthPSExO2Zvcih2YXIgZT0wLHQ9aS5sZW5ndGg7dD5lO2UrKyl7dmFyIG49cihpW2VdKTtpZihuLnRyaWdnZXIoImFwcGVhciIsW25dKSxwW2VdKXt2YXIgbz1wW2VdLm5vdChuKTtvLnRyaWdnZXIoImRpc2FwcGVhciIsW29dKX1wW2VdPW59fWZ1bmN0aW9uIG4oZSl7aS5wdXNoKGUpLHAucHVzaCgpfXZhciBpPVtdLG89ITEsYT0hMSxmPXtpbnRlcnZhbDoyNTAsZm9yY2VfcHJvY2VzczohMX0sdT1lKHdpbmRvdykscD1bXTtlLmV4cHJbIjoiXS5hcHBlYXJlZD1mdW5jdGlvbihyKXt2YXIgdD1lKHIpO2lmKCF0LmlzKCI6dmlzaWJsZSIpKXJldHVybiExO3ZhciBuPXUuc2Nyb2xsTGVmdCgpLGk9dS5zY3JvbGxUb3AoKSxvPXQub2Zmc2V0KCksYT1vLmxlZnQsZj1vLnRvcDtyZXR1cm4gZit0LmhlaWdodCgpPj1pJiZmLSh0LmRhdGEoImFwcGVhci10b3Atb2Zmc2V0Iil8fDApPD1pK3UuaGVpZ2h0KCkmJmErdC53aWR0aCgpPj1uJiZhLSh0LmRhdGEoImFwcGVhci1sZWZ0LW9mZnNldCIpfHwwKTw9bit1LndpZHRoKCk/ITA6ITF9LGUuZm4uZXh0ZW5kKHthcHBlYXI6ZnVuY3Rpb24ocil7dmFyIGk9ZS5leHRlbmQoe30sZixyfHx7fSksdT10aGlzLnNlbGVjdG9yfHx0aGlzO2lmKCFvKXt2YXIgcD1mdW5jdGlvbigpe2F8fChhPSEwLHNldFRpbWVvdXQodCxpLmludGVydmFsKSl9O2Uod2luZG93KS5zY3JvbGwocCkucmVzaXplKHApLG89ITB9cmV0dXJuIGkuZm9yY2VfcHJvY2VzcyYmc2V0VGltZW91dCh0LGkuaW50ZXJ2YWwpLG4odSksZSh1KX19KSxlLmV4dGVuZCh7Zm9yY2VfYXBwZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIG8/KHQoKSwhMCk6ITF9fSl9KGZ1bmN0aW9uKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU/cmVxdWlyZSgianF1ZXJ5Iik6alF1ZXJ5fSgpKTsNCg0KDQovKg0KICogIG1vZGVybml6cg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQp3aW5kb3cuTW9kZXJuaXpyPWZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe2IuY3NzVGV4dD1lfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gcihTLmpvaW4oZSsiOyIpKyh0fHwiIikpfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PT10fWZ1bmN0aW9uIGkoZSx0KXtyZXR1cm4hIX4oIiIrZSkuaW5kZXhPZih0KX1mdW5jdGlvbiBjKGUsdCl7Zm9yKHZhciByIGluIGUpe3ZhciBvPWVbcl07aWYoIWkobywiLSIpJiZiW29dIT09bilyZXR1cm4icGZ4Ij09dD9vOiEwfXJldHVybiExfWZ1bmN0aW9uIHMoZSx0LHIpe2Zvcih2YXIgbyBpbiBlKXt2YXIgaT10W2Vbb11dO2lmKGkhPT1uKXJldHVybiByPT09ITE/ZVtvXTphKGksImZ1bmN0aW9uIik/aS5iaW5kKHJ8fHQpOml9cmV0dXJuITF9ZnVuY3Rpb24gdShlLHQsbil7dmFyIHI9ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG89KGUrIiAiK2suam9pbihyKyIgIikrcikuc3BsaXQoIiAiKTtyZXR1cm4gYSh0LCJzdHJpbmciKXx8YSh0LCJ1bmRlZmluZWQiKT9jKG8sdCk6KG89KGUrIiAiK1Quam9pbihyKyIgIikrcikuc3BsaXQoIiAiKSxzKG8sdCxuKSl9ZnVuY3Rpb24gbCgpe3AuaW5wdXQ9ZnVuY3Rpb24obil7Zm9yKHZhciByPTAsbz1uLmxlbmd0aDtvPnI7cisrKWpbbltyXV09ISEobltyXWluIEUpO3JldHVybiBqLmxpc3QmJihqLmxpc3Q9ISghdC5jcmVhdGVFbGVtZW50KCJkYXRhbGlzdCIpfHwhZS5IVE1MRGF0YUxpc3RFbGVtZW50KSksan0oImF1dG9jb21wbGV0ZSBhdXRvZm9jdXMgbGlzdCBwbGFjZWhvbGRlciBtYXggbWluIG11bHRpcGxlIHBhdHRlcm4gcmVxdWlyZWQgc3RlcCIuc3BsaXQoIiAiKSkscC5pbnB1dHR5cGVzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgcixvLGEsaT0wLGM9ZS5sZW5ndGg7Yz5pO2krKylFLnNldEF0dHJpYnV0ZSgidHlwZSIsbz1lW2ldKSxyPSJ0ZXh0IiE9PUUudHlwZSxyJiYoRS52YWx1ZT14LEUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dmlzaWJpbGl0eTpoaWRkZW47IiwvXnJhbmdlJC8udGVzdChvKSYmRS5zdHlsZS5XZWJraXRBcHBlYXJhbmNlIT09bj8oZy5hcHBlbmRDaGlsZChFKSxhPXQuZGVmYXVsdFZpZXcscj1hLmdldENvbXB1dGVkU3R5bGUmJiJ0ZXh0ZmllbGQiIT09YS5nZXRDb21wdXRlZFN0eWxlKEUsbnVsbCkuV2Via2l0QXBwZWFyYW5jZSYmMCE9PUUub2Zmc2V0SGVpZ2h0LGcucmVtb3ZlQ2hpbGQoRSkpOi9eKHNlYXJjaHx0ZWwpJC8udGVzdChvKXx8KHI9L14odXJsfGVtYWlsKSQvLnRlc3Qobyk/RS5jaGVja1ZhbGlkaXR5JiZFLmNoZWNrVmFsaWRpdHkoKT09PSExOkUudmFsdWUhPXgpKSxQW2VbaV1dPSEhcjtyZXR1cm4gUH0oInNlYXJjaCB0ZWwgdXJsIGVtYWlsIGRhdGV0aW1lIGRhdGUgbW9udGggd2VlayB0aW1lIGRhdGV0aW1lLWxvY2FsIG51bWJlciByYW5nZSBjb2xvciIuc3BsaXQoIiAiKSl9dmFyIGQsZixtPSIyLjcuMSIscD17fSxoPSEwLGc9dC5kb2N1bWVudEVsZW1lbnQsdj0ibW9kZXJuaXpyIix5PXQuY3JlYXRlRWxlbWVudCh2KSxiPXkuc3R5bGUsRT10LmNyZWF0ZUVsZW1lbnQoImlucHV0IikseD0iOikiLHc9e30udG9TdHJpbmcsUz0iIC13ZWJraXQtIC1tb3otIC1vLSAtbXMtICIuc3BsaXQoIiAiKSxDPSJXZWJraXQgTW96IE8gbXMiLGs9Qy5zcGxpdCgiICIpLFQ9Qy50b0xvd2VyQ2FzZSgpLnNwbGl0KCIgIiksTj17c3ZnOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LE09e30sUD17fSxqPXt9LCQ9W10sRD0kLnNsaWNlLEY9ZnVuY3Rpb24oZSxuLHIsbyl7dmFyIGEsaSxjLHMsdT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGw9dC5ib2R5LGQ9bHx8dC5jcmVhdGVFbGVtZW50KCJib2R5Iik7aWYocGFyc2VJbnQociwxMCkpZm9yKDtyLS07KWM9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjLmlkPW8/b1tyXTp2KyhyKzEpLHUuYXBwZW5kQ2hpbGQoYyk7cmV0dXJuIGE9WyImIzE3MzsiLCc8c3R5bGUgaWQ9InMnLHYsJyI+JyxlLCI8L3N0eWxlPiJdLmpvaW4oIiIpLHUuaWQ9diwobD91OmQpLmlubmVySFRNTCs9YSxkLmFwcGVuZENoaWxkKHUpLGx8fChkLnN0eWxlLmJhY2tncm91bmQ9IiIsZC5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixzPWcuc3R5bGUub3ZlcmZsb3csZy5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixnLmFwcGVuZENoaWxkKGQpKSxpPW4odSxlKSxsP3UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh1KTooZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpLGcuc3R5bGUub3ZlcmZsb3c9cyksISFpfSx6PWZ1bmN0aW9uKHQpe3ZhciBuPWUubWF0Y2hNZWRpYXx8ZS5tc01hdGNoTWVkaWE7aWYobilyZXR1cm4gbih0KS5tYXRjaGVzO3ZhciByO3JldHVybiBGKCJAbWVkaWEgIit0KyIgeyAjIit2KyIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfSIsZnVuY3Rpb24odCl7cj0iYWJzb2x1dGUiPT0oZS5nZXRDb21wdXRlZFN0eWxlP2dldENvbXB1dGVkU3R5bGUodCxudWxsKTp0LmN1cnJlbnRTdHlsZSkucG9zaXRpb259KSxyfSxBPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLG8pe289b3x8dC5jcmVhdGVFbGVtZW50KHJbZV18fCJkaXYiKSxlPSJvbiIrZTt2YXIgaT1lIGluIG87cmV0dXJuIGl8fChvLnNldEF0dHJpYnV0ZXx8KG89dC5jcmVhdGVFbGVtZW50KCJkaXYiKSksby5zZXRBdHRyaWJ1dGUmJm8ucmVtb3ZlQXR0cmlidXRlJiYoby5zZXRBdHRyaWJ1dGUoZSwiIiksaT1hKG9bZV0sImZ1bmN0aW9uIiksYShvW2VdLCJ1bmRlZmluZWQiKXx8KG9bZV09biksby5yZW1vdmVBdHRyaWJ1dGUoZSkpKSxvPW51bGwsaX12YXIgcj17c2VsZWN0OiJpbnB1dCIsY2hhbmdlOiJpbnB1dCIsc3VibWl0OiJmb3JtIixyZXNldDoiZm9ybSIsZXJyb3I6ImltZyIsbG9hZDoiaW1nIixhYm9ydDoiaW1nIn07cmV0dXJuIGV9KCksTD17fS5oYXNPd25Qcm9wZXJ0eTtmPWEoTCwidW5kZWZpbmVkIil8fGEoTC5jYWxsLCJ1bmRlZmluZWQiKT9mdW5jdGlvbihlLHQpe3JldHVybiB0IGluIGUmJmEoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVbdF0sInVuZGVmaW5lZCIpfTpmdW5jdGlvbihlLHQpe3JldHVybiBMLmNhbGwoZSx0KX0sRnVuY3Rpb24ucHJvdG90eXBlLmJpbmR8fChGdW5jdGlvbi5wcm90b3R5cGUuYmluZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3I7dmFyIG49RC5jYWxsKGFyZ3VtZW50cywxKSxyPWZ1bmN0aW9uKCl7aWYodGhpcyBpbnN0YW5jZW9mIHIpe3ZhciBvPWZ1bmN0aW9uKCl7fTtvLnByb3RvdHlwZT10LnByb3RvdHlwZTt2YXIgYT1uZXcgbyxpPXQuYXBwbHkoYSxuLmNvbmNhdChELmNhbGwoYXJndW1lbnRzKSkpO3JldHVybiBPYmplY3QoaSk9PT1pP2k6YX1yZXR1cm4gdC5hcHBseShlLG4uY29uY2F0KEQuY2FsbChhcmd1bWVudHMpKSl9O3JldHVybiByfSksTS5mbGV4Ym94PWZ1bmN0aW9uKCl7cmV0dXJuIHUoImZsZXhXcmFwIil9LE0uZmxleGJveGxlZ2FjeT1mdW5jdGlvbigpe3JldHVybiB1KCJib3hEaXJlY3Rpb24iKX0sTS5jYW52YXM9ZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3JldHVybiEoIWUuZ2V0Q29udGV4dHx8IWUuZ2V0Q29udGV4dCgiMmQiKSl9LE0uY2FudmFzdGV4dD1mdW5jdGlvbigpe3JldHVybiEoIXAuY2FudmFzfHwhYSh0LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikuZmlsbFRleHQsImZ1bmN0aW9uIikpfSxNLndlYmdsPWZ1bmN0aW9uKCl7cmV0dXJuISFlLldlYkdMUmVuZGVyaW5nQ29udGV4dH0sTS50b3VjaD1mdW5jdGlvbigpe3ZhciBuO3JldHVybiJvbnRvdWNoc3RhcnQiaW4gZXx8ZS5Eb2N1bWVudFRvdWNoJiZ0IGluc3RhbmNlb2YgRG9jdW1lbnRUb3VjaD9uPSEwOkYoWyJAbWVkaWEgKCIsUy5qb2luKCJ0b3VjaC1lbmFibGVkKSwoIiksdiwiKSIsInsjbW9kZXJuaXpye3RvcDo5cHg7cG9zaXRpb246YWJzb2x1dGV9fSJdLmpvaW4oIiIpLGZ1bmN0aW9uKGUpe249OT09PWUub2Zmc2V0VG9wfSksbn0sTS5nZW9sb2NhdGlvbj1mdW5jdGlvbigpe3JldHVybiJnZW9sb2NhdGlvbiJpbiBuYXZpZ2F0b3J9LE0ucG9zdG1lc3NhZ2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWUucG9zdE1lc3NhZ2V9LE0ud2Vic3FsZGF0YWJhc2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWUub3BlbkRhdGFiYXNlfSxNLmluZGV4ZWREQj1mdW5jdGlvbigpe3JldHVybiEhdSgiaW5kZXhlZERCIixlKX0sTS5oYXNoY2hhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIEEoImhhc2hjaGFuZ2UiLGUpJiYodC5kb2N1bWVudE1vZGU9PT1ufHx0LmRvY3VtZW50TW9kZT43KX0sTS5oaXN0b3J5PWZ1bmN0aW9uKCl7cmV0dXJuISghZS5oaXN0b3J5fHwhaGlzdG9yeS5wdXNoU3RhdGUpfSxNLmRyYWdhbmRkcm9wPWZ1bmN0aW9uKCl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4iZHJhZ2dhYmxlImluIGV8fCJvbmRyYWdzdGFydCJpbiBlJiYib25kcm9wImluIGV9LE0ud2Vic29ja2V0cz1mdW5jdGlvbigpe3JldHVybiJXZWJTb2NrZXQiaW4gZXx8Ik1veldlYlNvY2tldCJpbiBlfSxNLnJnYmE9ZnVuY3Rpb24oKXtyZXR1cm4gcigiYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE1MCwyNTUsMTUwLC41KSIpLGkoYi5iYWNrZ3JvdW5kQ29sb3IsInJnYmEiKX0sTS5oc2xhPWZ1bmN0aW9uKCl7cmV0dXJuIHIoImJhY2tncm91bmQtY29sb3I6aHNsYSgxMjAsNDAlLDEwMCUsLjUpIiksaShiLmJhY2tncm91bmRDb2xvciwicmdiYSIpfHxpKGIuYmFja2dyb3VuZENvbG9yLCJoc2xhIil9LE0ubXVsdGlwbGViZ3M9ZnVuY3Rpb24oKXtyZXR1cm4gcigiYmFja2dyb3VuZDp1cmwoaHR0cHM6Ly8pLHVybChodHRwczovLykscmVkIHVybChodHRwczovLykiKSwvKHVybFxzKlwoLio/KXszfS8udGVzdChiLmJhY2tncm91bmQpfSxNLmJhY2tncm91bmRzaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHUoImJhY2tncm91bmRTaXplIil9LE0uYm9yZGVyaW1hZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiYm9yZGVySW1hZ2UiKX0sTS5ib3JkZXJyYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiYm9yZGVyUmFkaXVzIil9LE0uYm94c2hhZG93PWZ1bmN0aW9uKCl7cmV0dXJuIHUoImJveFNoYWRvdyIpfSxNLnRleHRzaGFkb3c9ZnVuY3Rpb24oKXtyZXR1cm4iIj09PXQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUudGV4dFNoYWRvd30sTS5vcGFjaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIG8oIm9wYWNpdHk6LjU1IiksL14wLjU1JC8udGVzdChiLm9wYWNpdHkpfSxNLmNzc2FuaW1hdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiYW5pbWF0aW9uTmFtZSIpfSxNLmNzc2NvbHVtbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiY29sdW1uQ291bnQiKX0sTS5jc3NncmFkaWVudHM9ZnVuY3Rpb24oKXt2YXIgZT0iYmFja2dyb3VuZC1pbWFnZToiLHQ9ImdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCBib3R0b20sZnJvbSgjOWY5KSx0byh3aGl0ZSkpOyIsbj0ibGluZWFyLWdyYWRpZW50KGxlZnQgdG9wLCM5ZjksIHdoaXRlKTsiO3JldHVybiByKChlKyItd2Via2l0LSAiLnNwbGl0KCIgIikuam9pbih0K2UpK1Muam9pbihuK2UpKS5zbGljZSgwLC1lLmxlbmd0aCkpLGkoYi5iYWNrZ3JvdW5kSW1hZ2UsImdyYWRpZW50Iil9LE0uY3NzcmVmbGVjdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiYm94UmVmbGVjdCIpfSxNLmNzc3RyYW5zZm9ybXM9ZnVuY3Rpb24oKXtyZXR1cm4hIXUoInRyYW5zZm9ybSIpfSxNLmNzc3RyYW5zZm9ybXMzZD1mdW5jdGlvbigpe3ZhciBlPSEhdSgicGVyc3BlY3RpdmUiKTtyZXR1cm4gZSYmIndlYmtpdFBlcnNwZWN0aXZlImluIGcuc3R5bGUmJkYoIkBtZWRpYSAodHJhbnNmb3JtLTNkKSwoLXdlYmtpdC10cmFuc2Zvcm0tM2QpeyNtb2Rlcm5penJ7bGVmdDo5cHg7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjNweDt9fSIsZnVuY3Rpb24odCxuKXtlPTk9PT10Lm9mZnNldExlZnQmJjM9PT10Lm9mZnNldEhlaWdodH0pLGV9LE0uY3NzdHJhbnNpdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgidHJhbnNpdGlvbiIpfSxNLmZvbnRmYWNlPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIEYoJ0Bmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiJmb250IjtzcmM6dXJsKCJodHRwczovLyIpfScsZnVuY3Rpb24obixyKXt2YXIgbz10LmdldEVsZW1lbnRCeUlkKCJzbW9kZXJuaXpyIiksYT1vLnNoZWV0fHxvLnN0eWxlU2hlZXQsaT1hP2EuY3NzUnVsZXMmJmEuY3NzUnVsZXNbMF0/YS5jc3NSdWxlc1swXS5jc3NUZXh0OmEuY3NzVGV4dHx8IiI6IiI7ZT0vc3JjL2kudGVzdChpKSYmMD09PWkuaW5kZXhPZihyLnNwbGl0KCIgIilbMF0pfSksZX0sTS5nZW5lcmF0ZWRjb250ZW50PWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIEYoWyIjIix2LCJ7Zm9udDowLzAgYX0jIix2LCc6YWZ0ZXJ7Y29udGVudDoiJyx4LCciO3Zpc2liaWxpdHk6aGlkZGVuO2ZvbnQ6M3B4LzEgYX0nXS5qb2luKCIiKSxmdW5jdGlvbih0KXtlPXQub2Zmc2V0SGVpZ2h0Pj0zfSksZX0sTS52aWRlbz1mdW5jdGlvbigpe3ZhciBlPXQuY3JlYXRlRWxlbWVudCgidmlkZW8iKSxuPSExO3RyeXsobj0hIWUuY2FuUGxheVR5cGUpJiYobj1uZXcgQm9vbGVhbihuKSxuLm9nZz1lLmNhblBsYXlUeXBlKCd2aWRlby9vZ2c7IGNvZGVjcz0idGhlb3JhIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLmgyNjQ9ZS5jYW5QbGF5VHlwZSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLndlYm09ZS5jYW5QbGF5VHlwZSgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDgsIHZvcmJpcyInKS5yZXBsYWNlKC9ebm8kLywiIikpfWNhdGNoKHIpe31yZXR1cm4gbn0sTS5hdWRpbz1mdW5jdGlvbigpe3ZhciBlPXQuY3JlYXRlRWxlbWVudCgiYXVkaW8iKSxuPSExO3RyeXsobj0hIWUuY2FuUGxheVR5cGUpJiYobj1uZXcgQm9vbGVhbihuKSxuLm9nZz1lLmNhblBsYXlUeXBlKCdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLm1wMz1lLmNhblBsYXlUeXBlKCJhdWRpby9tcGVnOyIpLnJlcGxhY2UoL15ubyQvLCIiKSxuLndhdj1lLmNhblBsYXlUeXBlKCdhdWRpby93YXY7IGNvZGVjcz0iMSInKS5yZXBsYWNlKC9ebm8kLywiIiksbi5tNGE9KGUuY2FuUGxheVR5cGUoImF1ZGlvL3gtbTRhOyIpfHxlLmNhblBsYXlUeXBlKCJhdWRpby9hYWM7IikpLnJlcGxhY2UoL15ubyQvLCIiKSl9Y2F0Y2gocil7fXJldHVybiBufSxNLmxvY2Fsc3RvcmFnZT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLnNldEl0ZW0odix2KSxsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh2KSwhMH1jYXRjaChlKXtyZXR1cm4hMX19LE0uc2Vzc2lvbnN0b3JhZ2U9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odix2KSxzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKHYpLCEwfWNhdGNoKGUpe3JldHVybiExfX0sTS53ZWJ3b3JrZXJzPWZ1bmN0aW9uKCl7cmV0dXJuISFlLldvcmtlcn0sTS5hcHBsaWNhdGlvbmNhY2hlPWZ1bmN0aW9uKCl7cmV0dXJuISFlLmFwcGxpY2F0aW9uQ2FjaGV9LE0uc3ZnPWZ1bmN0aW9uKCl7cmV0dXJuISF0LmNyZWF0ZUVsZW1lbnROUyYmISF0LmNyZWF0ZUVsZW1lbnROUyhOLnN2Zywic3ZnIikuY3JlYXRlU1ZHUmVjdH0sTS5pbmxpbmVzdmc9ZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmlubmVySFRNTD0iPHN2Zy8+IiwoZS5maXJzdENoaWxkJiZlLmZpcnN0Q2hpbGQubmFtZXNwYWNlVVJJKT09Ti5zdmd9LE0uc21pbD1mdW5jdGlvbigpe3JldHVybiEhdC5jcmVhdGVFbGVtZW50TlMmJi9TVkdBbmltYXRlLy50ZXN0KHcuY2FsbCh0LmNyZWF0ZUVsZW1lbnROUyhOLnN2ZywiYW5pbWF0ZSIpKSl9LE0uc3ZnY2xpcHBhdGhzPWZ1bmN0aW9uKCl7cmV0dXJuISF0LmNyZWF0ZUVsZW1lbnROUyYmL1NWR0NsaXBQYXRoLy50ZXN0KHcuY2FsbCh0LmNyZWF0ZUVsZW1lbnROUyhOLnN2ZywiY2xpcFBhdGgiKSkpfTtmb3IodmFyIEggaW4gTSlmKE0sSCkmJihkPUgudG9Mb3dlckNhc2UoKSxwW2RdPU1bSF0oKSwkLnB1c2goKHBbZF0/IiI6Im5vLSIpK2QpKTtyZXR1cm4gcC5pbnB1dHx8bCgpLHAuYWRkVGVzdD1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiPT10eXBlb2YgZSlmb3IodmFyIHIgaW4gZSlmKGUscikmJnAuYWRkVGVzdChyLGVbcl0pO2Vsc2V7aWYoZT1lLnRvTG93ZXJDYXNlKCkscFtlXSE9PW4pcmV0dXJuIHA7dD0iZnVuY3Rpb24iPT10eXBlb2YgdD90KCk6dCwidW5kZWZpbmVkIiE9dHlwZW9mIGgmJmgmJihnLmNsYXNzTmFtZSs9IiAiKyh0PyIiOiJuby0iKStlKSxwW2VdPXR9cmV0dXJuIHB9LHIoIiIpLHk9RT1udWxsLGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlLHQpe3ZhciBuPWUuY3JlYXRlRWxlbWVudCgicCIpLHI9ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxlLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gbi5pbm5lckhUTUw9Ing8c3R5bGU+Iit0KyI8L3N0eWxlPiIsci5pbnNlcnRCZWZvcmUobi5sYXN0Q2hpbGQsci5maXJzdENoaWxkKX1mdW5jdGlvbiByKCl7dmFyIGU9eS5lbGVtZW50cztyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZS5zcGxpdCgiICIpOmV9ZnVuY3Rpb24gbyhlKXt2YXIgdD12W2VbaF1dO3JldHVybiB0fHwodD17fSxnKyssZVtoXT1nLHZbZ109dCksdH1mdW5jdGlvbiBhKGUsbixyKXtpZihufHwobj10KSxsKXJldHVybiBuLmNyZWF0ZUVsZW1lbnQoZSk7cnx8KHI9byhuKSk7dmFyIGE7cmV0dXJuIGE9ci5jYWNoZVtlXT9yLmNhY2hlW2VdLmNsb25lTm9kZSgpOnAudGVzdChlKT8oci5jYWNoZVtlXT1yLmNyZWF0ZUVsZW0oZSkpLmNsb25lTm9kZSgpOnIuY3JlYXRlRWxlbShlKSwhYS5jYW5IYXZlQ2hpbGRyZW58fG0udGVzdChlKXx8YS50YWdVcm4/YTpyLmZyYWcuYXBwZW5kQ2hpbGQoYSl9ZnVuY3Rpb24gaShlLG4pe2lmKGV8fChlPXQpLGwpcmV0dXJuIGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO249bnx8byhlKTtmb3IodmFyIGE9bi5mcmFnLmNsb25lTm9kZSgpLGk9MCxjPXIoKSxzPWMubGVuZ3RoO3M+aTtpKyspYS5jcmVhdGVFbGVtZW50KGNbaV0pO3JldHVybiBhfWZ1bmN0aW9uIGMoZSx0KXt0LmNhY2hlfHwodC5jYWNoZT17fSx0LmNyZWF0ZUVsZW09ZS5jcmVhdGVFbGVtZW50LHQuY3JlYXRlRnJhZz1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQsdC5mcmFnPXQuY3JlYXRlRnJhZygpKSxlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24obil7cmV0dXJuIHkuc2hpdk1ldGhvZHM/YShuLGUsdCk6dC5jcmVhdGVFbGVtKG4pfSxlLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ9RnVuY3Rpb24oImgsZiIsInJldHVybiBmdW5jdGlvbigpe3ZhciBuPWYuY2xvbmVOb2RlKCksYz1uLmNyZWF0ZUVsZW1lbnQ7aC5zaGl2TWV0aG9kcyYmKCIrcigpLmpvaW4oKS5yZXBsYWNlKC9bXHdcLV0rL2csZnVuY3Rpb24oZSl7cmV0dXJuIHQuY3JlYXRlRWxlbShlKSx0LmZyYWcuY3JlYXRlRWxlbWVudChlKSwnYygiJytlKyciKSd9KSsiKTtyZXR1cm4gbn0iKSh5LHQuZnJhZyl9ZnVuY3Rpb24gcyhlKXtlfHwoZT10KTt2YXIgcj1vKGUpO3JldHVybiF5LnNoaXZDU1N8fHV8fHIuaGFzQ1NTfHwoci5oYXNDU1M9ISFuKGUsImFydGljbGUsYXNpZGUsZGlhbG9nLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31tYXJre2JhY2tncm91bmQ6I0ZGMDtjb2xvcjojMDAwfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX0iKSksbHx8YyhlLHIpLGV9dmFyIHUsbCxkPSIzLjcuMCIsZj1lLmh0bWw1fHx7fSxtPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLHA9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLGg9Il9odG1sNXNoaXYiLGc9MCx2PXt9OyFmdW5jdGlvbigpe3RyeXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImEiKTtlLmlubmVySFRNTD0iPHh5ej48L3h5ej4iLHU9ImhpZGRlbiJpbiBlLGw9MT09ZS5jaGlsZE5vZGVzLmxlbmd0aHx8ZnVuY3Rpb24oKXt0LmNyZWF0ZUVsZW1lbnQoImEiKTt2YXIgZT10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGUuY2xvbmVOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8InVuZGVmaW5lZCI9PXR5cGVvZiBlLmNyZWF0ZUVsZW1lbnR9KCl9Y2F0Y2gobil7dT0hMCxsPSEwfX0oKTt2YXIgeT17ZWxlbWVudHM6Zi5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcHJvZ3Jlc3Mgc2VjdGlvbiBzdW1tYXJ5IHRlbXBsYXRlIHRpbWUgdmlkZW8iLHZlcnNpb246ZCxzaGl2Q1NTOmYuc2hpdkNTUyE9PSExLHN1cHBvcnRzVW5rbm93bkVsZW1lbnRzOmwsc2hpdk1ldGhvZHM6Zi5zaGl2TWV0aG9kcyE9PSExLHR5cGU6ImRlZmF1bHQiLHNoaXZEb2N1bWVudDpzLGNyZWF0ZUVsZW1lbnQ6YSxjcmVhdGVEb2N1bWVudEZyYWdtZW50Oml9O2UuaHRtbDU9eSxzKHQpfSh0aGlzLHQpLHAuX3ZlcnNpb249bSxwLl9wcmVmaXhlcz1TLHAuX2RvbVByZWZpeGVzPVQscC5fY3Nzb21QcmVmaXhlcz1rLHAubXE9eixwLmhhc0V2ZW50PUEscC50ZXN0UHJvcD1mdW5jdGlvbihlKXtyZXR1cm4gYyhbZV0pfSxwLnRlc3RBbGxQcm9wcz11LHAudGVzdFN0eWxlcz1GLHAucHJlZml4ZWQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0P3UoZSx0LG4pOnUoZSwicGZ4Iil9LGcuY2xhc3NOYW1lPWcuY2xhc3NOYW1lLnJlcGxhY2UoLyhefFxzKW5vLWpzKFxzfCQpLywiJDEkMiIpKyhoPyIganMgIiskLmpvaW4oIiAiKToiIikscH0odGhpcyx0aGlzLmRvY3VtZW50KTsNCi8qDQogKiAgc2Nyb2xsVG9GaXhlZA0KICoJaHR0cHM6Ly9naXRodWIuY29tL2JpZ3Nwb3R0ZWRkb2cvU2Nyb2xsVG9GaXhlZA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQooZnVuY3Rpb24oYSl7YS5pc1Njcm9sbFRvRml4ZWQ9ZnVuY3Rpb24oYil7cmV0dXJuICEhYShiKS5kYXRhKCJTY3JvbGxUb0ZpeGVkIil9O2EuU2Nyb2xsVG9GaXhlZD1mdW5jdGlvbihkLGkpe3ZhciBtPXRoaXM7bS4kZWw9YShkKTttLmVsPWQ7bS4kZWwuZGF0YSgiU2Nyb2xsVG9GaXhlZCIsbSk7dmFyIGM9ZmFsc2U7dmFyIEg9bS4kZWw7dmFyIEk7dmFyIEY7dmFyIGs7dmFyIGU7dmFyIHo7dmFyIEU9MDt2YXIgcj0wO3ZhciBqPS0xO3ZhciBmPS0xO3ZhciB1PW51bGw7dmFyIEE7dmFyIGc7ZnVuY3Rpb24gdigpe0gudHJpZ2dlcigicHJlVW5maXhlZC5TY3JvbGxUb0ZpeGVkIik7bCgpO0gudHJpZ2dlcigidW5maXhlZC5TY3JvbGxUb0ZpeGVkIik7Zj0tMTtFPUgub2Zmc2V0KCkudG9wO3I9SC5vZmZzZXQoKS5sZWZ0O2lmKG0ub3B0aW9ucy5vZmZzZXRzKXtyKz0oSC5vZmZzZXQoKS5sZWZ0LUgucG9zaXRpb24oKS5sZWZ0KX1pZihqPT0tMSl7aj1yfUk9SC5jc3MoInBvc2l0aW9uIik7Yz10cnVlO2lmKG0ub3B0aW9ucy5ib3R0b20hPS0xKXtILnRyaWdnZXIoInByZUZpeGVkLlNjcm9sbFRvRml4ZWQiKTt4KCk7SC50cmlnZ2VyKCJmaXhlZC5TY3JvbGxUb0ZpeGVkIil9fWZ1bmN0aW9uIG8oKXt2YXIgSj1tLm9wdGlvbnMubGltaXQ7aWYoIUope3JldHVybiAwfWlmKHR5cGVvZihKKT09PSJmdW5jdGlvbiIpe3JldHVybiBKLmFwcGx5KEgpfXJldHVybiBKfWZ1bmN0aW9uIHEoKXtyZXR1cm4gST09PSJmaXhlZCJ9ZnVuY3Rpb24geSgpe3JldHVybiBJPT09ImFic29sdXRlIn1mdW5jdGlvbiBoKCl7cmV0dXJuICEocSgpfHx5KCkpfWZ1bmN0aW9uIHgoKXtpZighcSgpKXt2YXIgSj1IWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3UuY3NzKHtkaXNwbGF5OkguY3NzKCJkaXNwbGF5Iiksd2lkdGg6Si53aWR0aCxoZWlnaHQ6Si5oZWlnaHQsImZsb2F0IjpILmNzcygiZmxvYXQiKX0pO2Nzc09wdGlvbnM9eyJ6LWluZGV4IjptLm9wdGlvbnMuekluZGV4LHBvc2l0aW9uOiJmaXhlZCIsdG9wOm0ub3B0aW9ucy5ib3R0b209PS0xP3QoKToiIixib3R0b206bS5vcHRpb25zLmJvdHRvbT09LTE/IiI6bS5vcHRpb25zLmJvdHRvbSwibWFyZ2luLWxlZnQiOiIwcHgifTtpZighbS5vcHRpb25zLmRvbnRTZXRXaWR0aCl7Y3NzT3B0aW9ucy53aWR0aD1ILmNzcygid2lkdGgiKX1ILmNzcyhjc3NPcHRpb25zKTtILmFkZENsYXNzKG0ub3B0aW9ucy5iYXNlQ2xhc3NOYW1lKTtpZihtLm9wdGlvbnMuY2xhc3NOYW1lKXtILmFkZENsYXNzKG0ub3B0aW9ucy5jbGFzc05hbWUpfUk9ImZpeGVkIn19ZnVuY3Rpb24gYigpe3ZhciBLPW8oKTt2YXIgSj1yO2lmKG0ub3B0aW9ucy5yZW1vdmVPZmZzZXRzKXtKPSIiO0s9Sy1FfWNzc09wdGlvbnM9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOkssbGVmdDpKLCJtYXJnaW4tbGVmdCI6IjBweCIsYm90dG9tOiIifTtpZighbS5vcHRpb25zLmRvbnRTZXRXaWR0aCl7Y3NzT3B0aW9ucy53aWR0aD1ILmNzcygid2lkdGgiKX1ILmNzcyhjc3NPcHRpb25zKTtJPSJhYnNvbHV0ZSJ9ZnVuY3Rpb24gbCgpe2lmKCFoKCkpe2Y9LTE7dS5jc3MoImRpc3BsYXkiLCJub25lIik7SC5jc3MoeyJ6LWluZGV4Ijp6LHdpZHRoOiIiLHBvc2l0aW9uOkYsbGVmdDoiIix0b3A6ZSwibWFyZ2luLWxlZnQiOiIifSk7SC5yZW1vdmVDbGFzcygic2Nyb2xsLXRvLWZpeGVkLWZpeGVkIik7aWYobS5vcHRpb25zLmNsYXNzTmFtZSl7SC5yZW1vdmVDbGFzcyhtLm9wdGlvbnMuY2xhc3NOYW1lKX1JPW51bGx9fWZ1bmN0aW9uIHcoSil7aWYoSiE9Zil7SC5jc3MoImxlZnQiLHItSik7Zj1KfX1mdW5jdGlvbiB0KCl7dmFyIEo9bS5vcHRpb25zLm1hcmdpblRvcDtpZighSil7cmV0dXJuIDB9aWYodHlwZW9mKEopPT09ImZ1bmN0aW9uIil7cmV0dXJuIEouYXBwbHkoSCl9cmV0dXJuIEp9ZnVuY3Rpb24gQigpe2lmKCFhLmlzU2Nyb2xsVG9GaXhlZChIKXx8SC5pcygiOmhpZGRlbiIpKXtyZXR1cm59dmFyIE09Yzt2YXIgTD1oKCk7aWYoIWMpe3YoKX1lbHNle2lmKGgoKSl7RT1ILm9mZnNldCgpLnRvcDtyPUgub2Zmc2V0KCkubGVmdH19dmFyIEo9YSh3aW5kb3cpLnNjcm9sbExlZnQoKTt2YXIgTj1hKHdpbmRvdykuc2Nyb2xsVG9wKCk7dmFyIEs9bygpO2lmKG0ub3B0aW9ucy5taW5XaWR0aCYmYSh3aW5kb3cpLndpZHRoKCk8bS5vcHRpb25zLm1pbldpZHRoKXtpZighaCgpfHwhTSl7cCgpO0gudHJpZ2dlcigicHJlVW5maXhlZC5TY3JvbGxUb0ZpeGVkIik7bCgpO0gudHJpZ2dlcigidW5maXhlZC5TY3JvbGxUb0ZpeGVkIil9fWVsc2V7aWYobS5vcHRpb25zLm1heFdpZHRoJiZhKHdpbmRvdykud2lkdGgoKT5tLm9wdGlvbnMubWF4V2lkdGgpe2lmKCFoKCl8fCFNKXtwKCk7SC50cmlnZ2VyKCJwcmVVbmZpeGVkLlNjcm9sbFRvRml4ZWQiKTtsKCk7SC50cmlnZ2VyKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiKX19ZWxzZXtpZihtLm9wdGlvbnMuYm90dG9tPT0tMSl7aWYoSz4wJiZOPj1LLXQoKSl7aWYoIUwmJigheSgpfHwhTSkpe3AoKTtILnRyaWdnZXIoInByZUFic29sdXRlLlNjcm9sbFRvRml4ZWQiKTtiKCk7SC50cmlnZ2VyKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiKX19ZWxzZXtpZihOPj1FLXQoKSl7aWYoIXEoKXx8IU0pe3AoKTtILnRyaWdnZXIoInByZUZpeGVkLlNjcm9sbFRvRml4ZWQiKTt4KCk7Zj0tMTtILnRyaWdnZXIoImZpeGVkLlNjcm9sbFRvRml4ZWQiKX13KEopfWVsc2V7aWYoIWgoKXx8IU0pe3AoKTtILnRyaWdnZXIoInByZVVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpO2woKTtILnRyaWdnZXIoInVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpfX19fWVsc2V7aWYoSz4wKXtpZihOK2Eod2luZG93KS5oZWlnaHQoKS1ILm91dGVySGVpZ2h0KHRydWUpPj1LLSh0KCl8fC1uKCkpKXtpZihxKCkpe3AoKTtILnRyaWdnZXIoInByZVVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpO2lmKEY9PT0iYWJzb2x1dGUiKXtiKCl9ZWxzZXtsKCl9SC50cmlnZ2VyKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiKX19ZWxzZXtpZighcSgpKXtwKCk7SC50cmlnZ2VyKCJwcmVGaXhlZC5TY3JvbGxUb0ZpeGVkIik7eCgpfXcoSik7SC50cmlnZ2VyKCJmaXhlZC5TY3JvbGxUb0ZpeGVkIil9fWVsc2V7dyhKKX19fX19ZnVuY3Rpb24gbigpe2lmKCFtLm9wdGlvbnMuYm90dG9tKXtyZXR1cm4gMH1yZXR1cm4gbS5vcHRpb25zLmJvdHRvbX1mdW5jdGlvbiBwKCl7dmFyIEo9SC5jc3MoInBvc2l0aW9uIik7aWYoSj09ImFic29sdXRlIil7SC50cmlnZ2VyKCJwb3N0QWJzb2x1dGUuU2Nyb2xsVG9GaXhlZCIpfWVsc2V7aWYoSj09ImZpeGVkIil7SC50cmlnZ2VyKCJwb3N0Rml4ZWQuU2Nyb2xsVG9GaXhlZCIpfWVsc2V7SC50cmlnZ2VyKCJwb3N0VW5maXhlZC5TY3JvbGxUb0ZpeGVkIil9fX12YXIgRD1mdW5jdGlvbihKKXtpZihILmlzKCI6dmlzaWJsZSIpKXtjPWZhbHNlO0IoKX19O3ZhciBHPWZ1bmN0aW9uKEopeyghIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpP3JlcXVlc3RBbmltYXRpb25GcmFtZShCKTpCKCl9O3ZhciBDPWZ1bmN0aW9uKCl7dmFyIEs9ZG9jdW1lbnQuYm9keTtpZihkb2N1bWVudC5jcmVhdGVFbGVtZW50JiZLJiZLLmFwcGVuZENoaWxkJiZLLnJlbW92ZUNoaWxkKXt2YXIgTT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZighTS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qpe3JldHVybiBudWxsfU0uaW5uZXJIVE1MPSJ4IjtNLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmZpeGVkO3RvcDoxMDBweDsiO0suYXBwZW5kQ2hpbGQoTSk7dmFyIE49Sy5zdHlsZS5oZWlnaHQsTz1LLnNjcm9sbFRvcDtLLnN0eWxlLmhlaWdodD0iMzAwMHB4IjtLLnNjcm9sbFRvcD01MDA7dmFyIEo9TS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7Sy5zdHlsZS5oZWlnaHQ9Tjt2YXIgTD0oSj09PTEwMCk7Sy5yZW1vdmVDaGlsZChNKTtLLnNjcm9sbFRvcD1PO3JldHVybiBMfXJldHVybiBudWxsfTt2YXIgcz1mdW5jdGlvbihKKXtKPUp8fHdpbmRvdy5ldmVudDtpZihKLnByZXZlbnREZWZhdWx0KXtKLnByZXZlbnREZWZhdWx0KCl9Si5yZXR1cm5WYWx1ZT1mYWxzZX07bS5pbml0PWZ1bmN0aW9uKCl7bS5vcHRpb25zPWEuZXh0ZW5kKHt9LGEuU2Nyb2xsVG9GaXhlZC5kZWZhdWx0T3B0aW9ucyxpKTt6PUguY3NzKCJ6LWluZGV4Iik7bS4kZWwuY3NzKCJ6LWluZGV4IixtLm9wdGlvbnMuekluZGV4KTt1PWEoIjxkaXYgLz4iKTtJPUguY3NzKCJwb3NpdGlvbiIpO0Y9SC5jc3MoInBvc2l0aW9uIik7az1ILmNzcygiZmxvYXQiKTtlPUguY3NzKCJ0b3AiKTtpZihoKCkpe20uJGVsLmFmdGVyKHUpfWEod2luZG93KS5iaW5kKCJyZXNpemUuU2Nyb2xsVG9GaXhlZCIsRCk7YSh3aW5kb3cpLmJpbmQoInNjcm9sbC5TY3JvbGxUb0ZpeGVkIixHKTtpZigib250b3VjaG1vdmUiIGluIHdpbmRvdyl7YSh3aW5kb3cpLmJpbmQoInRvdWNobW92ZS5TY3JvbGxUb0ZpeGVkIixCKX1pZihtLm9wdGlvbnMucHJlRml4ZWQpe0guYmluZCgicHJlRml4ZWQuU2Nyb2xsVG9GaXhlZCIsbS5vcHRpb25zLnByZUZpeGVkKX1pZihtLm9wdGlvbnMucG9zdEZpeGVkKXtILmJpbmQoInBvc3RGaXhlZC5TY3JvbGxUb0ZpeGVkIixtLm9wdGlvbnMucG9zdEZpeGVkKX1pZihtLm9wdGlvbnMucHJlVW5maXhlZCl7SC5iaW5kKCJwcmVVbmZpeGVkLlNjcm9sbFRvRml4ZWQiLG0ub3B0aW9ucy5wcmVVbmZpeGVkKX1pZihtLm9wdGlvbnMucG9zdFVuZml4ZWQpe0guYmluZCgicG9zdFVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIsbS5vcHRpb25zLnBvc3RVbmZpeGVkKX1pZihtLm9wdGlvbnMucHJlQWJzb2x1dGUpe0guYmluZCgicHJlQWJzb2x1dGUuU2Nyb2xsVG9GaXhlZCIsbS5vcHRpb25zLnByZUFic29sdXRlKX1pZihtLm9wdGlvbnMucG9zdEFic29sdXRlKXtILmJpbmQoInBvc3RBYnNvbHV0ZS5TY3JvbGxUb0ZpeGVkIixtLm9wdGlvbnMucG9zdEFic29sdXRlKX1pZihtLm9wdGlvbnMuZml4ZWQpe0guYmluZCgiZml4ZWQuU2Nyb2xsVG9GaXhlZCIsbS5vcHRpb25zLmZpeGVkKX1pZihtLm9wdGlvbnMudW5maXhlZCl7SC5iaW5kKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiLG0ub3B0aW9ucy51bmZpeGVkKX1pZihtLm9wdGlvbnMuc3BhY2VyQ2xhc3Mpe3UuYWRkQ2xhc3MobS5vcHRpb25zLnNwYWNlckNsYXNzKX1ILmJpbmQoInJlc2l6ZS5TY3JvbGxUb0ZpeGVkIixmdW5jdGlvbigpe3UuaGVpZ2h0KEguaGVpZ2h0KCkpfSk7SC5iaW5kKCJzY3JvbGwuU2Nyb2xsVG9GaXhlZCIsZnVuY3Rpb24oKXtILnRyaWdnZXIoInByZVVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpO2woKTtILnRyaWdnZXIoInVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpO0IoKX0pO0guYmluZCgiZGV0YWNoLlNjcm9sbFRvRml4ZWQiLGZ1bmN0aW9uKEope3MoSik7SC50cmlnZ2VyKCJwcmVVbmZpeGVkLlNjcm9sbFRvRml4ZWQiKTtsKCk7SC50cmlnZ2VyKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiKTthKHdpbmRvdykudW5iaW5kKCJyZXNpemUuU2Nyb2xsVG9GaXhlZCIsRCk7YSh3aW5kb3cpLnVuYmluZCgic2Nyb2xsLlNjcm9sbFRvRml4ZWQiLEcpO0gudW5iaW5kKCIuU2Nyb2xsVG9GaXhlZCIpO3UucmVtb3ZlKCk7bS4kZWwucmVtb3ZlRGF0YSgiU2Nyb2xsVG9GaXhlZCIpfSk7RCgpfTttLmluaXQoKX07YS5TY3JvbGxUb0ZpeGVkLmRlZmF1bHRPcHRpb25zPXttYXJnaW5Ub3A6MCxsaW1pdDowLGJvdHRvbTotMSx6SW5kZXg6MTAwMCxiYXNlQ2xhc3NOYW1lOiJzY3JvbGwtdG8tZml4ZWQtZml4ZWQifTthLmZuLnNjcm9sbFRvRml4ZWQ9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpeyhuZXcgYS5TY3JvbGxUb0ZpeGVkKHRoaXMsYikpfSl9fSkoalF1ZXJ5KTsNCg0KDQovKg0KICogIFN0aWNreSBQbHVnaW4gdjEuMC40IGZvciBqUXVlcnkNCiAqCWh0dHBzOi8vZ2l0aHViLmNvbS9nYXJhbmQvc3RpY2t5DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiFmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLHQpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz10KHJlcXVpcmUoImpxdWVyeSIpKTp0KGpRdWVyeSl9KGZ1bmN0aW9uKHQpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZSxpPUFycmF5LnByb3RvdHlwZS5zcGxpY2Usbj17dG9wU3BhY2luZzowLGJvdHRvbVNwYWNpbmc6MCxjbGFzc05hbWU6ImlzLXN0aWNreSIsd3JhcHBlckNsYXNzTmFtZToic3RpY2t5LXdyYXBwZXIiLGNlbnRlcjohMSxnZXRXaWR0aEZyb206IiIsd2lkdGhGcm9tV3JhcHBlcjohMCxyZXNwb25zaXZlV2lkdGg6ITEsekluZGV4OiJpbmhlcml0In0scj10KHdpbmRvdykscz10KGRvY3VtZW50KSxvPVtdLGM9ci5oZWlnaHQoKSxhPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXIuc2Nyb2xsVG9wKCksaT1zLmhlaWdodCgpLG49aS1jLGE9ZT5uP24tZTowLHA9MCxkPW8ubGVuZ3RoO3A8ZDtwKyspe3ZhciBsPW9bcF0saD1sLnN0aWNreVdyYXBwZXIub2Zmc2V0KCkudG9wLWwudG9wU3BhY2luZy1hO2lmKGwuc3RpY2t5V3JhcHBlci5jc3MoImhlaWdodCIsbC5zdGlja3lFbGVtZW50Lm91dGVySGVpZ2h0KCkpLGU8PWgpbnVsbCE9PWwuY3VycmVudFRvcCYmKGwuc3RpY2t5RWxlbWVudC5jc3Moe3dpZHRoOiIiLHBvc2l0aW9uOiIiLHRvcDoiIiwiei1pbmRleCI6IiJ9KSxsLnN0aWNreUVsZW1lbnQucGFyZW50KCkucmVtb3ZlQ2xhc3MobC5jbGFzc05hbWUpLGwuc3RpY2t5RWxlbWVudC50cmlnZ2VyKCJzdGlja3ktZW5kIixbbF0pLGwuY3VycmVudFRvcD1udWxsKTtlbHNle3ZhciB1PWktbC5zdGlja3lFbGVtZW50Lm91dGVySGVpZ2h0KCktbC50b3BTcGFjaW5nLWwuYm90dG9tU3BhY2luZy1lLWE7aWYodTwwP3UrPWwudG9wU3BhY2luZzp1PWwudG9wU3BhY2luZyxsLmN1cnJlbnRUb3AhPT11KXt2YXIgZztsLmdldFdpZHRoRnJvbT8ocGFkZGluZz1sLnN0aWNreUVsZW1lbnQuaW5uZXJXaWR0aCgpLWwuc3RpY2t5RWxlbWVudC53aWR0aCgpLGc9dChsLmdldFdpZHRoRnJvbSkud2lkdGgoKS1wYWRkaW5nfHxudWxsKTpsLndpZHRoRnJvbVdyYXBwZXImJihnPWwuc3RpY2t5V3JhcHBlci53aWR0aCgpKSxudWxsPT1nJiYoZz1sLnN0aWNreUVsZW1lbnQud2lkdGgoKSksbC5zdGlja3lFbGVtZW50LmNzcygid2lkdGgiLGcpLmNzcygicG9zaXRpb24iLCJmaXhlZCIpLmNzcygidG9wIix1KS5jc3MoInotaW5kZXgiLGwuekluZGV4KSxsLnN0aWNreUVsZW1lbnQucGFyZW50KCkuYWRkQ2xhc3MobC5jbGFzc05hbWUpLG51bGw9PT1sLmN1cnJlbnRUb3A/bC5zdGlja3lFbGVtZW50LnRyaWdnZXIoInN0aWNreS1zdGFydCIsW2xdKTpsLnN0aWNreUVsZW1lbnQudHJpZ2dlcigic3RpY2t5LXVwZGF0ZSIsW2xdKSxsLmN1cnJlbnRUb3A9PT1sLnRvcFNwYWNpbmcmJmwuY3VycmVudFRvcD51fHxudWxsPT09bC5jdXJyZW50VG9wJiZ1PGwudG9wU3BhY2luZz9sLnN0aWNreUVsZW1lbnQudHJpZ2dlcigic3RpY2t5LWJvdHRvbS1yZWFjaGVkIixbbF0pOm51bGwhPT1sLmN1cnJlbnRUb3AmJnU9PT1sLnRvcFNwYWNpbmcmJmwuY3VycmVudFRvcDx1JiZsLnN0aWNreUVsZW1lbnQudHJpZ2dlcigic3RpY2t5LWJvdHRvbS11bnJlYWNoZWQiLFtsXSksbC5jdXJyZW50VG9wPXV9dmFyIG09bC5zdGlja3lXcmFwcGVyLnBhcmVudCgpO2wuc3RpY2t5RWxlbWVudC5vZmZzZXQoKS50b3ArbC5zdGlja3lFbGVtZW50Lm91dGVySGVpZ2h0KCk+PW0ub2Zmc2V0KCkudG9wK20ub3V0ZXJIZWlnaHQoKSYmbC5zdGlja3lFbGVtZW50Lm9mZnNldCgpLnRvcDw9bC50b3BTcGFjaW5nP2wuc3RpY2t5RWxlbWVudC5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKS5jc3MoInRvcCIsIiIpLmNzcygiYm90dG9tIiwwKS5jc3MoInotaW5kZXgiLCIiKTpsLnN0aWNreUVsZW1lbnQuY3NzKCJwb3NpdGlvbiIsImZpeGVkIikuY3NzKCJ0b3AiLHUpLmNzcygiYm90dG9tIiwiIikuY3NzKCJ6LWluZGV4IixsLnpJbmRleCl9fX0scD1mdW5jdGlvbigpe2M9ci5oZWlnaHQoKTtmb3IodmFyIGU9MCxpPW8ubGVuZ3RoO2U8aTtlKyspe3ZhciBuPW9bZV0scz1udWxsO24uZ2V0V2lkdGhGcm9tP24ucmVzcG9uc2l2ZVdpZHRoJiYocz10KG4uZ2V0V2lkdGhGcm9tKS53aWR0aCgpKTpuLndpZHRoRnJvbVdyYXBwZXImJihzPW4uc3RpY2t5V3JhcHBlci53aWR0aCgpKSxudWxsIT1zJiZuLnN0aWNreUVsZW1lbnQuY3NzKCJ3aWR0aCIscyl9fSxkPXtpbml0OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10LmV4dGVuZCh7fSxuLGUpLHI9dCh0aGlzKSxzPXIuYXR0cigiaWQiKSxjPXM/cysiLSIrbi53cmFwcGVyQ2xhc3NOYW1lOm4ud3JhcHBlckNsYXNzTmFtZSxhPXQoIjxkaXY+PC9kaXY+IikuYXR0cigiaWQiLGMpLmFkZENsYXNzKGkud3JhcHBlckNsYXNzTmFtZSk7ci53cmFwQWxsKGZ1bmN0aW9uKCl7aWYoMD09dCh0aGlzKS5wYXJlbnQoIiMiK2MpLmxlbmd0aClyZXR1cm4gYX0pO3ZhciBwPXIucGFyZW50KCk7aS5jZW50ZXImJnAuY3NzKHt3aWR0aDpyLm91dGVyV2lkdGgoKSxtYXJnaW5MZWZ0OiJhdXRvIixtYXJnaW5SaWdodDoiYXV0byJ9KSwicmlnaHQiPT09ci5jc3MoImZsb2F0IikmJnIuY3NzKHtmbG9hdDoibm9uZSJ9KS5wYXJlbnQoKS5jc3Moe2Zsb2F0OiJyaWdodCJ9KSxpLnN0aWNreUVsZW1lbnQ9cixpLnN0aWNreVdyYXBwZXI9cCxpLmN1cnJlbnRUb3A9bnVsbCxvLnB1c2goaSksZC5zZXRXcmFwcGVySGVpZ2h0KHRoaXMpLGQuc2V0dXBDaGFuZ2VMaXN0ZW5lcnModGhpcyl9KX0sc2V0V3JhcHBlckhlaWdodDpmdW5jdGlvbihlKXt2YXIgaT10KGUpLG49aS5wYXJlbnQoKTtuJiZuLmNzcygiaGVpZ2h0IixpLm91dGVySGVpZ2h0KCkpfSxzZXR1cENoYW5nZUxpc3RlbmVyczpmdW5jdGlvbih0KXt3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj9uZXcgd2luZG93Lk11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZSl7KGVbMF0uYWRkZWROb2Rlcy5sZW5ndGh8fGVbMF0ucmVtb3ZlZE5vZGVzLmxlbmd0aCkmJmQuc2V0V3JhcHBlckhlaWdodCh0KX0pLm9ic2VydmUodCx7c3VidHJlZTohMCxjaGlsZExpc3Q6ITB9KTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8odC5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZC5zZXRXcmFwcGVySGVpZ2h0KHQpfSwhMSksdC5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlUmVtb3ZlZCIsZnVuY3Rpb24oKXtkLnNldFdyYXBwZXJIZWlnaHQodCl9LCExKSk6d2luZG93LmF0dGFjaEV2ZW50JiYodC5hdHRhY2hFdmVudCgib25ET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZC5zZXRXcmFwcGVySGVpZ2h0KHQpfSksdC5hdHRhY2hFdmVudCgib25ET01Ob2RlUmVtb3ZlZCIsZnVuY3Rpb24oKXtkLnNldFdyYXBwZXJIZWlnaHQodCl9KSl9LHVwZGF0ZTphLHVuc3RpY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLG49dChlKSxyPS0xLHM9by5sZW5ndGg7cy0tID4wOylvW3NdLnN0aWNreUVsZW1lbnQuZ2V0KDApPT09ZSYmKGkuY2FsbChvLHMsMSkscj1zKTstMSE9PXImJihuLnVud3JhcCgpLG4uY3NzKHt3aWR0aDoiIixwb3NpdGlvbjoiIix0b3A6IiIsZmxvYXQ6IiIsInotaW5kZXgiOiIifSkpfSl9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8od2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsYSwhMSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscCwhMSkpOndpbmRvdy5hdHRhY2hFdmVudCYmKHdpbmRvdy5hdHRhY2hFdmVudCgib25zY3JvbGwiLGEpLHdpbmRvdy5hdHRhY2hFdmVudCgib25yZXNpemUiLHApKSx0LmZuLnN0aWNreT1mdW5jdGlvbihpKXtyZXR1cm4gZFtpXT9kW2ldLmFwcGx5KHRoaXMsZS5jYWxsKGFyZ3VtZW50cywxKSk6Im9iamVjdCIhPXR5cGVvZiBpJiZpP3ZvaWQgdC5lcnJvcigiTWV0aG9kICIraSsiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5zdGlja3kiKTpkLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0LmZuLnVuc3RpY2s9ZnVuY3Rpb24oaSl7cmV0dXJuIGRbaV0/ZFtpXS5hcHBseSh0aGlzLGUuY2FsbChhcmd1bWVudHMsMSkpOiJvYmplY3QiIT10eXBlb2YgaSYmaT92b2lkIHQuZXJyb3IoIk1ldGhvZCAiK2krIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3RpY2t5Iik6ZC51bnN0aWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdChmdW5jdGlvbigpe3NldFRpbWVvdXQoYSwwKX0pfSk7DQoNCi8qDQogKiAgTWVudXpvcmQgLSBSZXNwb25zaXZlIE1lZ2FtZW51DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiFmdW5jdGlvbihlKXtqUXVlcnkuZm4ubWVudXpvcmQ9ZnVuY3Rpb24obil7ZnVuY3Rpb24gaShuKXsiZmFkZSI9PXAuZWZmZWN0P2UobikuY2hpbGRyZW4oIi5kcm9wZG93biwgLm1lZ2FtZW51Iikuc3RvcCghMCwhMCkuZGVsYXkocC5zaG93RGVsYXkpLmZhZGVJbihwLnNob3dTcGVlZCkuYWRkQ2xhc3MocC5hbmltYXRpb24pOmUobikuY2hpbGRyZW4oIi5kcm9wZG93biwgLm1lZ2FtZW51Iikuc3RvcCghMCwhMCkuZGVsYXkocC5zaG93RGVsYXkpLnNsaWRlRG93bihwLnNob3dTcGVlZCkuYWRkQ2xhc3MocC5hbmltYXRpb24pfWZ1bmN0aW9uIGQobil7ImZhZGUiPT1wLmVmZmVjdD9lKG4pLmNoaWxkcmVuKCIuZHJvcGRvd24sIC5tZWdhbWVudSIpLnN0b3AoITAsITApLmRlbGF5KHAuaGlkZURlbGF5KS5mYWRlT3V0KHAuaGlkZVNwZWVkKS5yZW1vdmVDbGFzcyhwLmFuaW1hdGlvbik6ZShuKS5jaGlsZHJlbigiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5zdG9wKCEwLCEwKS5kZWxheShwLmhpZGVEZWxheSkuc2xpZGVVcChwLmhpZGVTcGVlZCkucmVtb3ZlQ2xhc3MocC5hbmltYXRpb24pLGUobikuY2hpbGRyZW4oIi5kcm9wZG93biwgLm1lZ2FtZW51IikuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5zdG9wKCEwLCEwKS5kZWxheShwLmhpZGVEZWxheSkuZmFkZU91dChwLmhpZGVTcGVlZCl9ZnVuY3Rpb24gbygpe2UoZykuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5oaWRlKDApLG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL01vYmkvaSl8fHdpbmRvdy5uYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wfHwiY2xpY2siPT1wLnRyaWdnZXI/KGUoIi5tZW51em9yZC1tZW51ID4gbGkgPiBhLCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSBhIikuYmluZCgiY2xpY2sgdG91Y2hzdGFydCIsZnVuY3Rpb24obil7cmV0dXJuIG4uc3RvcFByb3BhZ2F0aW9uKCksbi5wcmV2ZW50RGVmYXVsdCgpLGUodGhpcykucGFyZW50KCJsaSIpLnNpYmxpbmdzKCJsaSIpLmZpbmQoIi5kcm9wZG93biwgLm1lZ2FtZW51Iikuc3RvcCghMCwhMCkuZmFkZU91dCgzMDApLCJub25lIj09ZSh0aGlzKS5zaWJsaW5ncygiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5jc3MoImRpc3BsYXkiKT8oaShlKHRoaXMpLnBhcmVudCgibGkiKSksITEpOihkKGUodGhpcykucGFyZW50KCJsaSIpKSx2b2lkKHdpbmRvdy5sb2NhdGlvbi5ocmVmPWUodGhpcykuYXR0cigiaHJlZiIpKSl9KSxlKGRvY3VtZW50KS5iaW5kKCJjbGljay5tZW51IHRvdWNoc3RhcnQubWVudSIsZnVuY3Rpb24obil7MD09ZShuLnRhcmdldCkuY2xvc2VzdCgiLm1lbnV6b3JkIikubGVuZ3RoJiZlKCIubWVudXpvcmQtbWVudSIpLmZpbmQoIi5kcm9wZG93biwgLm1lZ2FtZW51IikuZmFkZU91dCgzMDApfSkpOmUodykuYmluZCgibW91c2VlbnRlciIsZnVuY3Rpb24oKXtpKHRoaXMpfSkuYmluZCgibW91c2VsZWF2ZSIsZnVuY3Rpb24oKXtkKHRoaXMpfSl9ZnVuY3Rpb24gdCgpe2UoZykuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5oaWRlKDApLGUoZykuZmluZCgiLmluZGljYXRvciIpLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLnBhcmVudCgiYSIpLnNpYmxpbmdzKCIuZHJvcGRvd24sIC5tZWdhbWVudSIpLmxlbmd0aD4wJiZlKHRoaXMpLmJpbmQoImNsaWNrIixmdW5jdGlvbihuKXtlKGcpLnNjcm9sbFRvKHt0b3A6NDUsbGVmdDowfSw2MDApLCJBIj09ZSh0aGlzKS5wYXJlbnQoKS5wcm9wKCJ0YWdOYW1lIikmJm4ucHJldmVudERlZmF1bHQoKSwibm9uZSI9PWUodGhpcykucGFyZW50KCJhIikuc2libGluZ3MoIi5kcm9wZG93biwgLm1lZ2FtZW51IikuY3NzKCJkaXNwbGF5Iik/KGUodGhpcykucGFyZW50KCJhIikuc2libGluZ3MoIi5kcm9wZG93biwgLm1lZ2FtZW51IikuZGVsYXkocC5zaG93RGVsYXkpLnNsaWRlRG93bihwLnNob3dTcGVlZCksZSh0aGlzKS5wYXJlbnQoImEiKS5wYXJlbnQoImxpIikuc2libGluZ3MoImxpIikuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5zbGlkZVVwKHAuaGlkZVNwZWVkKSk6ZSh0aGlzKS5wYXJlbnQoImEiKS5zaWJsaW5ncygiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5zbGlkZVVwKHAuaGlkZVNwZWVkKX0pfSl9ZnVuY3Rpb24gYSgpe3ZhciBuPWUoZykuY2hpbGRyZW4oImxpIikuY2hpbGRyZW4oIi5kcm9wZG93biwgLm1lZ2FtZW51Iik7aWYoZSh3aW5kb3cpLmlubmVyV2lkdGgoKT52KWZvcih2YXIgaT1lKGYpLm91dGVyV2lkdGgoITApLGQ9MDtkPG4ubGVuZ3RoO2QrKyllKG5bZF0pLnBhcmVudCgibGkiKS5wb3NpdGlvbigpLmxlZnQrZShuW2RdKS5vdXRlcldpZHRoKCk+aT9lKG5bZF0pLmNzcygicmlnaHQiLDApOigoaT09ZShuW2RdKS5vdXRlcldpZHRoKCl8fGktZShuW2RdKS5vdXRlcldpZHRoKCk8MjApJiZlKG5bZF0pLmNzcygibGVmdCIsMCksZShuW2RdKS5wYXJlbnQoImxpIikucG9zaXRpb24oKS5sZWZ0K2UobltkXSkub3V0ZXJXaWR0aCgpPGkmJmUobltkXSkuY3NzKCJyaWdodCIsImF1dG8iKSl9ZnVuY3Rpb24gcygpe2UoZykuaGlkZSgwKSxlKG0pLnNob3coMCkuY2xpY2soZnVuY3Rpb24oKXsibm9uZSI9PWUoZykuY3NzKCJkaXNwbGF5Iik/ZShnKS5zbGlkZURvd24ocC5zaG93U3BlZWQpOmUoZykuc2xpZGVVcChwLmhpZGVTcGVlZCkuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5oaWRlKHAuaGlkZVNwZWVkKX0pfWZ1bmN0aW9uIHIoKXtlKGcpLnNob3coMCksZShtKS5oaWRlKDApfWZ1bmN0aW9uIGwoKXtlKGYpLmZpbmQoImxpLCBhIikudW5iaW5kKCksZShkb2N1bWVudCkudW5iaW5kKCJjbGljay5tZW51IHRvdWNoc3RhcnQubWVudSIpfWZ1bmN0aW9uIGgoKXtmdW5jdGlvbiBuKG4pe3ZhciBpPWUobikuZmluZCgiLm1lbnV6b3JkLXRhYnMtbmF2ID4gbGkiKSxkPWUobikuZmluZCgiLm1lbnV6b3JkLXRhYnMtY29udGVudCIpO2UoaSkuYmluZCgiY2xpY2sgdG91Y2hzdGFydCIsZnVuY3Rpb24obil7bi5zdG9wUHJvcGFnYXRpb24oKSxuLnByZXZlbnREZWZhdWx0KCksZShpKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksZSh0aGlzKS5hZGRDbGFzcygiYWN0aXZlIiksZShkKS5oaWRlKDApLGUoZFtlKHRoaXMpLmluZGV4KCldKS5zaG93KDApfSl9aWYoZShnKS5maW5kKCIubWVudXpvcmQtdGFicyIpLmxlbmd0aD4wKWZvcih2YXIgaT1lKGcpLmZpbmQoIi5tZW51em9yZC10YWJzIiksZD0wO2Q8aS5sZW5ndGg7ZCsrKW4oaVtkXSl9ZnVuY3Rpb24gYygpe3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRofHxkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRofWZ1bmN0aW9uIHUoKXtpZihhKCksYygpPD12JiZiPnYmJihsKCkscC5yZXNwb25zaXZlPyhzKCksdCgpKTpvKCkpLGMoKT52JiZ2Pj15JiYobCgpLHIoKSxvKCkpLGI9YygpLHk9YygpLGgoKSwvTVNJRSAoXGQrXC5cZCspOy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmYygpPHYpe3ZhciBuPW5ldyBOdW1iZXIoUmVnRXhwLiQxKTs4PT1uJiYoZShtKS5oaWRlKDApLGUoZykuc2hvdygwKSxsKCksbygpKX19dmFyIHA7ZS5leHRlbmQocD17c2hvd1NwZWVkOjMwMCxoaWRlU3BlZWQ6MzAwLHRyaWdnZXI6ImhvdmVyIixzaG93RGVsYXk6MCxoaWRlRGVsYXk6MCxlZmZlY3Q6ImZhZGUiLGFsaWduOiJsZWZ0IixyZXNwb25zaXZlOiEwLGFuaW1hdGlvbjoibm9uZSIsaW5kZW50Q2hpbGRyZW46ITAsaW5kaWNhdG9yRmlyc3RMZXZlbDoiKyIsaW5kaWNhdG9yU2Vjb25kTGV2ZWw6IisiLHNjcm9sbGFibGU6ITAsc2Nyb2xsYWJsZU1heEhlaWdodDo0MDB9LG4pO3ZhciBtLGY9ZSh0aGlzKSxnPWUoZikuY2hpbGRyZW4oIi5tZW51em9yZC1tZW51Iiksdz1lKGcpLmZpbmQoImxpIiksdj0xMDAwLGI9MmUzLHk9MjAwO2UoZykuY2hpbGRyZW4oImxpIikuY2hpbGRyZW4oImEiKS5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5zaWJsaW5ncygiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5sZW5ndGg+MCYmZSh0aGlzKS5hcHBlbmQoIjxzcGFuIGNsYXNzPSdpbmRpY2F0b3InPiIrcC5pbmRpY2F0b3JGaXJzdExldmVsKyI8L3NwYW4+Iil9KSxlKGcpLmZpbmQoIi5kcm9wZG93biIpLmNoaWxkcmVuKCJsaSIpLmNoaWxkcmVuKCJhIikuZWFjaChmdW5jdGlvbigpe2UodGhpcykuc2libGluZ3MoIi5kcm9wZG93biIpLmxlbmd0aD4wJiZlKHRoaXMpLmFwcGVuZCgiPHNwYW4gY2xhc3M9J2luZGljYXRvcic+IitwLmluZGljYXRvclNlY29uZExldmVsKyI8L3NwYW4+Iil9KSwicmlnaHQiPT1wLmFsaWduJiZlKGcpLmFkZENsYXNzKCJtZW51em9yZC1yaWdodCIpLHAuaW5kZW50Q2hpbGRyZW4mJmUoZykuYWRkQ2xhc3MoIm1lbnV6b3JkLWluZGVudGVkIikscC5yZXNwb25zaXZlJiYoZShmKS5hZGRDbGFzcygibWVudXpvcmQtcmVzcG9uc2l2ZSIpLnByZXBlbmQoIjxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKScgY2xhc3M9J3Nob3doaWRlJz48ZW0+PC9lbT48ZW0+PC9lbT48ZW0+PC9lbT48L2E+IiksbT1lKGYpLmNoaWxkcmVuKCIuc2hvd2hpZGUiKSkscC5zY3JvbGxhYmxlJiZwLnJlc3BvbnNpdmUmJmUoZykuY3NzKCJtYXgtaGVpZ2h0IixwLnNjcm9sbGFibGVNYXhIZWlnaHQpLmFkZENsYXNzKCJzY3JvbGxhYmxlIikuYXBwZW5kKCI8bGkgY2xhc3M9J3Njcm9sbGFibGUtZml4Jz48L2xpPiIpLHUoKSxlKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCl7dSgpLGEoKX0pfX0oalF1ZXJ5KTsNCg0KLyohDQogKiBpbWFnZXNMb2FkZWQgUEFDS0FHRUQgdjQuMS4wDQogKiBKYXZhU2NyaXB0IGlzIGFsbCBsaWtlICJZb3UgaW1hZ2VzIGFyZSBkb25lIHlldCBvciB3aGF0PyINCiAqIE1JVCBMaWNlbnNlDQogKi8NCiFmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJldi1lbWl0dGVyL2V2LWVtaXR0ZXIiLGUpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKCk6dC5FdkVtaXR0ZXI9ZSgpfSh0aGlzLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe312YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5vbj1mdW5jdGlvbih0LGUpe2lmKHQmJmUpe3ZhciBpPXRoaXMuX2V2ZW50cz10aGlzLl9ldmVudHN8fHt9LG49aVt0XT1pW3RdfHxbXTtyZXR1cm4tMT09bi5pbmRleE9mKGUpJiZuLnB1c2goZSksdGhpc319LGUub25jZT1mdW5jdGlvbih0LGUpe2lmKHQmJmUpe3RoaXMub24odCxlKTt2YXIgaT10aGlzLl9vbmNlRXZlbnRzPXRoaXMuX29uY2VFdmVudHN8fHt9LG49aVt0XT1pW3RdfHxbXTtyZXR1cm4gbltlXT0hMCx0aGlzfX0sZS5vZmY9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1t0XTtpZihpJiZpLmxlbmd0aCl7dmFyIG49aS5pbmRleE9mKGUpO3JldHVybi0xIT1uJiZpLnNwbGljZShuLDEpLHRoaXN9fSxlLmVtaXRFdmVudD1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRzW3RdO2lmKGkmJmkubGVuZ3RoKXt2YXIgbj0wLG89aVtuXTtlPWV8fFtdO2Zvcih2YXIgcj10aGlzLl9vbmNlRXZlbnRzJiZ0aGlzLl9vbmNlRXZlbnRzW3RdO287KXt2YXIgcz1yJiZyW29dO3MmJih0aGlzLm9mZih0LG8pLGRlbGV0ZSByW29dKSxvLmFwcGx5KHRoaXMsZSksbis9cz8wOjEsbz1pW25dfXJldHVybiB0aGlzfX0sdH0pLGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiOyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXYtZW1pdHRlci9ldi1lbWl0dGVyIl0sZnVuY3Rpb24oaSl7cmV0dXJuIGUodCxpKX0pOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHQscmVxdWlyZSgiZXYtZW1pdHRlciIpKTp0LmltYWdlc0xvYWRlZD1lKHQsdC5FdkVtaXR0ZXIpfSh3aW5kb3csZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fWZ1bmN0aW9uIG4odCl7dmFyIGU9W107aWYoQXJyYXkuaXNBcnJheSh0KSllPXQ7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKWZvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKWUucHVzaCh0W2ldKTtlbHNlIGUucHVzaCh0KTtyZXR1cm4gZX1mdW5jdGlvbiBvKHQsZSxyKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIG8/KCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0KSksdGhpcy5lbGVtZW50cz1uKHQpLHRoaXMub3B0aW9ucz1pKHt9LHRoaXMub3B0aW9ucyksImZ1bmN0aW9uIj09dHlwZW9mIGU/cj1lOmkodGhpcy5vcHRpb25zLGUpLHImJnRoaXMub24oImFsd2F5cyIsciksdGhpcy5nZXRJbWFnZXMoKSxoJiYodGhpcy5qcURlZmVycmVkPW5ldyBoLkRlZmVycmVkKSx2b2lkIHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmNoZWNrKCl9LmJpbmQodGhpcykpKTpuZXcgbyh0LGUscil9ZnVuY3Rpb24gcih0KXt0aGlzLmltZz10fWZ1bmN0aW9uIHModCxlKXt0aGlzLnVybD10LHRoaXMuZWxlbWVudD1lLHRoaXMuaW1nPW5ldyBJbWFnZX12YXIgaD10LmpRdWVyeSxhPXQuY29uc29sZTtvLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxvLnByb3RvdHlwZS5vcHRpb25zPXt9LG8ucHJvdG90eXBlLmdldEltYWdlcz1mdW5jdGlvbigpe3RoaXMuaW1hZ2VzPVtdLHRoaXMuZWxlbWVudHMuZm9yRWFjaCh0aGlzLmFkZEVsZW1lbnRJbWFnZXMsdGhpcyl9LG8ucHJvdG90eXBlLmFkZEVsZW1lbnRJbWFnZXM9ZnVuY3Rpb24odCl7IklNRyI9PXQubm9kZU5hbWUmJnRoaXMuYWRkSW1hZ2UodCksdGhpcy5vcHRpb25zLmJhY2tncm91bmQ9PT0hMCYmdGhpcy5hZGRFbGVtZW50QmFja2dyb3VuZEltYWdlcyh0KTt2YXIgZT10Lm5vZGVUeXBlO2lmKGUmJmRbZV0pe2Zvcih2YXIgaT10LnF1ZXJ5U2VsZWN0b3JBbGwoImltZyIpLG49MDtuPGkubGVuZ3RoO24rKyl7dmFyIG89aVtuXTt0aGlzLmFkZEltYWdlKG8pfWlmKCJzdHJpbmciPT10eXBlb2YgdGhpcy5vcHRpb25zLmJhY2tncm91bmQpe3ZhciByPXQucXVlcnlTZWxlY3RvckFsbCh0aGlzLm9wdGlvbnMuYmFja2dyb3VuZCk7Zm9yKG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHM9cltuXTt0aGlzLmFkZEVsZW1lbnRCYWNrZ3JvdW5kSW1hZ2VzKHMpfX19fTt2YXIgZD17MTohMCw5OiEwLDExOiEwfTtyZXR1cm4gby5wcm90b3R5cGUuYWRkRWxlbWVudEJhY2tncm91bmRJbWFnZXM9ZnVuY3Rpb24odCl7dmFyIGU9Z2V0Q29tcHV0ZWRTdHlsZSh0KTtpZihlKWZvcih2YXIgaT0vdXJsXCgoWyciXSk/KC4qPylcMVwpL2dpLG49aS5leGVjKGUuYmFja2dyb3VuZEltYWdlKTtudWxsIT09bjspe3ZhciBvPW4mJm5bMl07byYmdGhpcy5hZGRCYWNrZ3JvdW5kKG8sdCksbj1pLmV4ZWMoZS5iYWNrZ3JvdW5kSW1hZ2UpfX0sby5wcm90b3R5cGUuYWRkSW1hZ2U9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHIodCk7dGhpcy5pbWFnZXMucHVzaChlKX0sby5wcm90b3R5cGUuYWRkQmFja2dyb3VuZD1mdW5jdGlvbih0LGUpe3ZhciBpPW5ldyBzKHQsZSk7dGhpcy5pbWFnZXMucHVzaChpKX0sby5wcm90b3R5cGUuY2hlY2s9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsaSxuKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5wcm9ncmVzcyh0LGksbil9KX12YXIgZT10aGlzO3JldHVybiB0aGlzLnByb2dyZXNzZWRDb3VudD0wLHRoaXMuaGFzQW55QnJva2VuPSExLHRoaXMuaW1hZ2VzLmxlbmd0aD92b2lkIHRoaXMuaW1hZ2VzLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5vbmNlKCJwcm9ncmVzcyIsdCksZS5jaGVjaygpfSk6dm9pZCB0aGlzLmNvbXBsZXRlKCl9LG8ucHJvdG90eXBlLnByb2dyZXNzPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLnByb2dyZXNzZWRDb3VudCsrLHRoaXMuaGFzQW55QnJva2VuPXRoaXMuaGFzQW55QnJva2VufHwhdC5pc0xvYWRlZCx0aGlzLmVtaXRFdmVudCgicHJvZ3Jlc3MiLFt0aGlzLHQsZV0pLHRoaXMuanFEZWZlcnJlZCYmdGhpcy5qcURlZmVycmVkLm5vdGlmeSYmdGhpcy5qcURlZmVycmVkLm5vdGlmeSh0aGlzLHQpLHRoaXMucHJvZ3Jlc3NlZENvdW50PT10aGlzLmltYWdlcy5sZW5ndGgmJnRoaXMuY29tcGxldGUoKSx0aGlzLm9wdGlvbnMuZGVidWcmJmEmJmEubG9nKCJwcm9ncmVzczogIitpLHQsZSl9LG8ucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oYXNBbnlCcm9rZW4/ImZhaWwiOiJkb25lIjtpZih0aGlzLmlzQ29tcGxldGU9ITAsdGhpcy5lbWl0RXZlbnQodCxbdGhpc10pLHRoaXMuZW1pdEV2ZW50KCJhbHdheXMiLFt0aGlzXSksdGhpcy5qcURlZmVycmVkKXt2YXIgZT10aGlzLmhhc0FueUJyb2tlbj8icmVqZWN0IjoicmVzb2x2ZSI7dGhpcy5qcURlZmVycmVkW2VdKHRoaXMpfX0sci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY2hlY2s9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldElzSW1hZ2VDb21wbGV0ZSgpO3JldHVybiB0P3ZvaWQgdGhpcy5jb25maXJtKDAhPT10aGlzLmltZy5uYXR1cmFsV2lkdGgsIm5hdHVyYWxXaWR0aCIpOih0aGlzLnByb3h5SW1hZ2U9bmV3IEltYWdlLHRoaXMucHJveHlJbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix0aGlzKSx0aGlzLnByb3h5SW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMpLHRoaXMuaW1nLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMpLHRoaXMuaW1nLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzKSx2b2lkKHRoaXMucHJveHlJbWFnZS5zcmM9dGhpcy5pbWcuc3JjKSl9LHIucHJvdG90eXBlLmdldElzSW1hZ2VDb21wbGV0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltZy5jb21wbGV0ZSYmdm9pZCAwIT09dGhpcy5pbWcubmF0dXJhbFdpZHRofSxyLnByb3RvdHlwZS5jb25maXJtPWZ1bmN0aW9uKHQsZSl7dGhpcy5pc0xvYWRlZD10LHRoaXMuZW1pdEV2ZW50KCJwcm9ncmVzcyIsW3RoaXMsdGhpcy5pbWcsZV0pfSxyLnByb3RvdHlwZS5oYW5kbGVFdmVudD1mdW5jdGlvbih0KXt2YXIgZT0ib24iK3QudHlwZTt0aGlzW2VdJiZ0aGlzW2VdKHQpfSxyLnByb3RvdHlwZS5vbmxvYWQ9ZnVuY3Rpb24oKXt0aGlzLmNvbmZpcm0oITAsIm9ubG9hZCIpLHRoaXMudW5iaW5kRXZlbnRzKCl9LHIucHJvdG90eXBlLm9uZXJyb3I9ZnVuY3Rpb24oKXt0aGlzLmNvbmZpcm0oITEsIm9uZXJyb3IiKSx0aGlzLnVuYmluZEV2ZW50cygpfSxyLnByb3RvdHlwZS51bmJpbmRFdmVudHM9ZnVuY3Rpb24oKXt0aGlzLnByb3h5SW1hZ2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsdGhpcyksdGhpcy5wcm94eUltYWdlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzKSx0aGlzLmltZy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIix0aGlzKSx0aGlzLmltZy5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcyl9LHMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoci5wcm90b3R5cGUpLHMucHJvdG90eXBlLmNoZWNrPWZ1bmN0aW9uKCl7dGhpcy5pbWcuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdGhpcyksdGhpcy5pbWcuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMpLHRoaXMuaW1nLnNyYz10aGlzLnVybDt2YXIgdD10aGlzLmdldElzSW1hZ2VDb21wbGV0ZSgpO3QmJih0aGlzLmNvbmZpcm0oMCE9PXRoaXMuaW1nLm5hdHVyYWxXaWR0aCwibmF0dXJhbFdpZHRoIiksdGhpcy51bmJpbmRFdmVudHMoKSl9LHMucHJvdG90eXBlLnVuYmluZEV2ZW50cz1mdW5jdGlvbigpe3RoaXMuaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMpLHRoaXMuaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzKX0scy5wcm90b3R5cGUuY29uZmlybT1mdW5jdGlvbih0LGUpe3RoaXMuaXNMb2FkZWQ9dCx0aGlzLmVtaXRFdmVudCgicHJvZ3Jlc3MiLFt0aGlzLHRoaXMuZWxlbWVudCxlXSl9LG8ubWFrZUpRdWVyeVBsdWdpbj1mdW5jdGlvbihlKXtlPWV8fHQualF1ZXJ5LGUmJihoPWUsaC5mbi5pbWFnZXNMb2FkZWQ9ZnVuY3Rpb24odCxlKXt2YXIgaT1uZXcgbyh0aGlzLHQsZSk7cmV0dXJuIGkuanFEZWZlcnJlZC5wcm9taXNlKGgodGhpcykpfSl9LG8ubWFrZUpRdWVyeVBsdWdpbigpLG99KTsNCg0KLyoNCiAqICBqUXVlcnkgSXNvdG9wZQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiENCiAqIElzb3RvcGUgUEFDS0FHRUQgdjMuMC40DQogKg0KICogTGljZW5zZWQgR1BMdjMgZm9yIG9wZW4gc291cmNlIHVzZQ0KICogb3IgSXNvdG9wZSBDb21tZXJjaWFsIExpY2Vuc2UgZm9yIGNvbW1lcmNpYWwgdXNlDQogKg0KICogaHR0cDovL2lzb3RvcGUubWV0YWZpenp5LmNvDQogKiBDb3B5cmlnaHQgMjAxNyBNZXRhZml6enkNCiAqLw0KDQohZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgianF1ZXJ5LWJyaWRnZXQvanF1ZXJ5LWJyaWRnZXQiLFsianF1ZXJ5Il0sZnVuY3Rpb24oaSl7cmV0dXJuIGUodCxpKX0pOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHQscmVxdWlyZSgianF1ZXJ5IikpOnQualF1ZXJ5QnJpZGdldD1lKHQsdC5qUXVlcnkpfSh3aW5kb3csZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShpLHMsYSl7ZnVuY3Rpb24gdSh0LGUsbyl7dmFyIG4scz0iJCgpLiIraSsnKCInK2UrJyIpJztyZXR1cm4gdC5lYWNoKGZ1bmN0aW9uKHQsdSl7dmFyIGg9YS5kYXRhKHUsaSk7aWYoIWgpcmV0dXJuIHZvaWQgcihpKyIgbm90IGluaXRpYWxpemVkLiBDYW5ub3QgY2FsbCBtZXRob2RzLCBpLmUuICIrcyk7dmFyIGQ9aFtlXTtpZighZHx8Il8iPT1lLmNoYXJBdCgwKSlyZXR1cm4gdm9pZCByKHMrIiBpcyBub3QgYSB2YWxpZCBtZXRob2QiKTt2YXIgbD1kLmFwcGx5KGgsbyk7bj12b2lkIDA9PT1uP2w6bn0pLHZvaWQgMCE9PW4/bjp0fWZ1bmN0aW9uIGgodCxlKXt0LmVhY2goZnVuY3Rpb24odCxvKXt2YXIgbj1hLmRhdGEobyxpKTtuPyhuLm9wdGlvbihlKSxuLl9pbml0KCkpOihuPW5ldyBzKG8sZSksYS5kYXRhKG8saSxuKSl9KX1hPWF8fGV8fHQualF1ZXJ5LGEmJihzLnByb3RvdHlwZS5vcHRpb258fChzLnByb3RvdHlwZS5vcHRpb249ZnVuY3Rpb24odCl7YS5pc1BsYWluT2JqZWN0KHQpJiYodGhpcy5vcHRpb25zPWEuZXh0ZW5kKCEwLHRoaXMub3B0aW9ucyx0KSl9KSxhLmZuW2ldPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9bi5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gdSh0aGlzLHQsZSl9cmV0dXJuIGgodGhpcyx0KSx0aGlzfSxvKGEpKX1mdW5jdGlvbiBvKHQpeyF0fHx0JiZ0LmJyaWRnZXR8fCh0LmJyaWRnZXQ9aSl9dmFyIG49QXJyYXkucHJvdG90eXBlLnNsaWNlLHM9dC5jb25zb2xlLHI9InVuZGVmaW5lZCI9PXR5cGVvZiBzP2Z1bmN0aW9uKCl7fTpmdW5jdGlvbih0KXtzLmVycm9yKHQpfTtyZXR1cm4gbyhlfHx0LmpRdWVyeSksaX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImV2LWVtaXR0ZXIvZXYtZW1pdHRlciIsZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUoKTp0LkV2RW1pdHRlcj1lKCl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe312YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5vbj1mdW5jdGlvbih0LGUpe2lmKHQmJmUpe3ZhciBpPXRoaXMuX2V2ZW50cz10aGlzLl9ldmVudHN8fHt9LG89aVt0XT1pW3RdfHxbXTtyZXR1cm4gby5pbmRleE9mKGUpPT0tMSYmby5wdXNoKGUpLHRoaXN9fSxlLm9uY2U9ZnVuY3Rpb24odCxlKXtpZih0JiZlKXt0aGlzLm9uKHQsZSk7dmFyIGk9dGhpcy5fb25jZUV2ZW50cz10aGlzLl9vbmNlRXZlbnRzfHx7fSxvPWlbdF09aVt0XXx8e307cmV0dXJuIG9bZV09ITAsdGhpc319LGUub2ZmPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHNbdF07aWYoaSYmaS5sZW5ndGgpe3ZhciBvPWkuaW5kZXhPZihlKTtyZXR1cm4gbyE9LTEmJmkuc3BsaWNlKG8sMSksdGhpc319LGUuZW1pdEV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHNbdF07aWYoaSYmaS5sZW5ndGgpe3ZhciBvPTAsbj1pW29dO2U9ZXx8W107Zm9yKHZhciBzPXRoaXMuX29uY2VFdmVudHMmJnRoaXMuX29uY2VFdmVudHNbdF07bjspe3ZhciByPXMmJnNbbl07ciYmKHRoaXMub2ZmKHQsbiksZGVsZXRlIHNbbl0pLG4uYXBwbHkodGhpcyxlKSxvKz1yPzA6MSxuPWlbb119cmV0dXJuIHRoaXN9fSx0fSksZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImdldC1zaXplL2dldC1zaXplIixbXSxmdW5jdGlvbigpe3JldHVybiBlKCl9KToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZSgpOnQuZ2V0U2l6ZT1lKCl9KHdpbmRvdyxmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQpe3ZhciBlPXBhcnNlRmxvYXQodCksaT10LmluZGV4T2YoIiUiKT09LTEmJiFpc05hTihlKTtyZXR1cm4gaSYmZX1mdW5jdGlvbiBlKCl7fWZ1bmN0aW9uIGkoKXtmb3IodmFyIHQ9e3dpZHRoOjAsaGVpZ2h0OjAsaW5uZXJXaWR0aDowLGlubmVySGVpZ2h0OjAsb3V0ZXJXaWR0aDowLG91dGVySGVpZ2h0OjB9LGU9MDtlPGg7ZSsrKXt2YXIgaT11W2VdO3RbaV09MH1yZXR1cm4gdH1mdW5jdGlvbiBvKHQpe3ZhciBlPWdldENvbXB1dGVkU3R5bGUodCk7cmV0dXJuIGV8fGEoIlN0eWxlIHJldHVybmVkICIrZSsiLiBBcmUgeW91IHJ1bm5pbmcgdGhpcyBjb2RlIGluIGEgaGlkZGVuIGlmcmFtZSBvbiBGaXJlZm94PyBTZWUgaHR0cDovL2JpdC5seS9nZXRzaXplYnVnMSIpLGV9ZnVuY3Rpb24gbigpe2lmKCFkKXtkPSEwO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Uuc3R5bGUud2lkdGg9IjIwMHB4IixlLnN0eWxlLnBhZGRpbmc9IjFweCAycHggM3B4IDRweCIsZS5zdHlsZS5ib3JkZXJTdHlsZT0ic29saWQiLGUuc3R5bGUuYm9yZGVyV2lkdGg9IjFweCAycHggM3B4IDRweCIsZS5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giO3ZhciBpPWRvY3VtZW50LmJvZHl8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpLmFwcGVuZENoaWxkKGUpO3ZhciBuPW8oZSk7cy5pc0JveFNpemVPdXRlcj1yPTIwMD09dChuLndpZHRoKSxpLnJlbW92ZUNoaWxkKGUpfX1mdW5jdGlvbiBzKGUpe2lmKG4oKSwic3RyaW5nIj09dHlwZW9mIGUmJihlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSkpLGUmJiJvYmplY3QiPT10eXBlb2YgZSYmZS5ub2RlVHlwZSl7dmFyIHM9byhlKTtpZigibm9uZSI9PXMuZGlzcGxheSlyZXR1cm4gaSgpO3ZhciBhPXt9O2Eud2lkdGg9ZS5vZmZzZXRXaWR0aCxhLmhlaWdodD1lLm9mZnNldEhlaWdodDtmb3IodmFyIGQ9YS5pc0JvcmRlckJveD0iYm9yZGVyLWJveCI9PXMuYm94U2l6aW5nLGw9MDtsPGg7bCsrKXt2YXIgZj11W2xdLGM9c1tmXSxtPXBhcnNlRmxvYXQoYyk7YVtmXT1pc05hTihtKT8wOm19dmFyIHA9YS5wYWRkaW5nTGVmdCthLnBhZGRpbmdSaWdodCx5PWEucGFkZGluZ1RvcCthLnBhZGRpbmdCb3R0b20sZz1hLm1hcmdpbkxlZnQrYS5tYXJnaW5SaWdodCx2PWEubWFyZ2luVG9wK2EubWFyZ2luQm90dG9tLF89YS5ib3JkZXJMZWZ0V2lkdGgrYS5ib3JkZXJSaWdodFdpZHRoLEk9YS5ib3JkZXJUb3BXaWR0aCthLmJvcmRlckJvdHRvbVdpZHRoLHo9ZCYmcix4PXQocy53aWR0aCk7eCE9PSExJiYoYS53aWR0aD14Kyh6PzA6cCtfKSk7dmFyIFM9dChzLmhlaWdodCk7cmV0dXJuIFMhPT0hMSYmKGEuaGVpZ2h0PVMrKHo/MDp5K0kpKSxhLmlubmVyV2lkdGg9YS53aWR0aC0ocCtfKSxhLmlubmVySGVpZ2h0PWEuaGVpZ2h0LSh5K0kpLGEub3V0ZXJXaWR0aD1hLndpZHRoK2csYS5vdXRlckhlaWdodD1hLmhlaWdodCt2LGF9fXZhciByLGE9InVuZGVmaW5lZCI9PXR5cGVvZiBjb25zb2xlP2U6ZnVuY3Rpb24odCl7Y29uc29sZS5lcnJvcih0KX0sdT1bInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iLCJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJCb3R0b21XaWR0aCJdLGg9dS5sZW5ndGgsZD0hMTtyZXR1cm4gc30pLGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiOyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJkZXNhbmRyby1tYXRjaGVzLXNlbGVjdG9yL21hdGNoZXMtc2VsZWN0b3IiLGUpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKCk6dC5tYXRjaGVzU2VsZWN0b3I9ZSgpfSh3aW5kb3csZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24oKXt2YXIgdD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGU7aWYodC5tYXRjaGVzKXJldHVybiJtYXRjaGVzIjtpZih0Lm1hdGNoZXNTZWxlY3RvcilyZXR1cm4ibWF0Y2hlc1NlbGVjdG9yIjtmb3IodmFyIGU9WyJ3ZWJraXQiLCJtb3oiLCJtcyIsIm8iXSxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBvPWVbaV0sbj1vKyJNYXRjaGVzU2VsZWN0b3IiO2lmKHRbbl0pcmV0dXJuIG59fSgpO3JldHVybiBmdW5jdGlvbihlLGkpe3JldHVybiBlW3RdKGkpfX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImZpenp5LXVpLXV0aWxzL3V0aWxzIixbImRlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3IvbWF0Y2hlcy1zZWxlY3RvciJdLGZ1bmN0aW9uKGkpe3JldHVybiBlKHQsaSl9KToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZSh0LHJlcXVpcmUoImRlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3IiKSk6dC5maXp6eVVJVXRpbHM9ZSh0LHQubWF0Y2hlc1NlbGVjdG9yKX0od2luZG93LGZ1bmN0aW9uKHQsZSl7dmFyIGk9e307aS5leHRlbmQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSl0W2ldPWVbaV07cmV0dXJuIHR9LGkubW9kdWxvPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKHQlZStlKSVlfSxpLm1ha2VBcnJheT1mdW5jdGlvbih0KXt2YXIgZT1bXTtpZihBcnJheS5pc0FycmF5KHQpKWU9dDtlbHNlIGlmKHQmJiJvYmplY3QiPT10eXBlb2YgdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aClmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyllLnB1c2godFtpXSk7ZWxzZSBlLnB1c2godCk7cmV0dXJuIGV9LGkucmVtb3ZlRnJvbT1mdW5jdGlvbih0LGUpe3ZhciBpPXQuaW5kZXhPZihlKTtpIT0tMSYmdC5zcGxpY2UoaSwxKX0saS5nZXRQYXJlbnQ9ZnVuY3Rpb24odCxpKXtmb3IoO3QucGFyZW50Tm9kZSYmdCE9ZG9jdW1lbnQuYm9keTspaWYodD10LnBhcmVudE5vZGUsZSh0LGkpKXJldHVybiB0fSxpLmdldFF1ZXJ5RWxlbWVudD1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KTp0fSxpLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKHQpe3ZhciBlPSJvbiIrdC50eXBlO3RoaXNbZV0mJnRoaXNbZV0odCl9LGkuZmlsdGVyRmluZEVsZW1lbnRzPWZ1bmN0aW9uKHQsbyl7dD1pLm1ha2VBcnJheSh0KTt2YXIgbj1bXTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7aWYoIW8pcmV0dXJuIHZvaWQgbi5wdXNoKHQpO2UodCxvKSYmbi5wdXNoKHQpO2Zvcih2YXIgaT10LnF1ZXJ5U2VsZWN0b3JBbGwobykscz0wO3M8aS5sZW5ndGg7cysrKW4ucHVzaChpW3NdKX19KSxufSxpLmRlYm91bmNlTWV0aG9kPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbz10LnByb3RvdHlwZVtlXSxuPWUrIlRpbWVvdXQiO3QucHJvdG90eXBlW2VdPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpc1tuXTt0JiZjbGVhclRpbWVvdXQodCk7dmFyIGU9YXJndW1lbnRzLHM9dGhpczt0aGlzW25dPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmFwcGx5KHMsZSksZGVsZXRlIHNbbl19LGl8fDEwMCl9fSxpLmRvY1JlYWR5PWZ1bmN0aW9uKHQpe3ZhciBlPWRvY3VtZW50LnJlYWR5U3RhdGU7ImNvbXBsZXRlIj09ZXx8ImludGVyYWN0aXZlIj09ZT9zZXRUaW1lb3V0KHQpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHQpfSxpLnRvRGFzaGVkPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoLyguKShbQS1aXSkvZyxmdW5jdGlvbih0LGUsaSl7cmV0dXJuIGUrIi0iK2l9KS50b0xvd2VyQ2FzZSgpfTt2YXIgbz10LmNvbnNvbGU7cmV0dXJuIGkuaHRtbEluaXQ9ZnVuY3Rpb24oZSxuKXtpLmRvY1JlYWR5KGZ1bmN0aW9uKCl7dmFyIHM9aS50b0Rhc2hlZChuKSxyPSJkYXRhLSIrcyxhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIlsiK3IrIl0iKSx1PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5qcy0iK3MpLGg9aS5tYWtlQXJyYXkoYSkuY29uY2F0KGkubWFrZUFycmF5KHUpKSxkPXIrIi1vcHRpb25zIixsPXQualF1ZXJ5O2guZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgaSxzPXQuZ2V0QXR0cmlidXRlKHIpfHx0LmdldEF0dHJpYnV0ZShkKTt0cnl7aT1zJiZKU09OLnBhcnNlKHMpfWNhdGNoKGEpe3JldHVybiB2b2lkKG8mJm8uZXJyb3IoIkVycm9yIHBhcnNpbmcgIityKyIgb24gIit0LmNsYXNzTmFtZSsiOiAiK2EpKX12YXIgdT1uZXcgZSh0LGkpO2wmJmwuZGF0YSh0LG4sdSl9KX0pfSxpfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgib3V0bGF5ZXIvaXRlbSIsWyJldi1lbWl0dGVyL2V2LWVtaXR0ZXIiLCJnZXQtc2l6ZS9nZXQtc2l6ZSJdLGUpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHJlcXVpcmUoImV2LWVtaXR0ZXIiKSxyZXF1aXJlKCJnZXQtc2l6ZSIpKToodC5PdXRsYXllcj17fSx0Lk91dGxheWVyLkl0ZW09ZSh0LkV2RW1pdHRlcix0LmdldFNpemUpKX0od2luZG93LGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkodCl7Zm9yKHZhciBlIGluIHQpcmV0dXJuITE7cmV0dXJuIGU9bnVsbCwhMH1mdW5jdGlvbiBvKHQsZSl7dCYmKHRoaXMuZWxlbWVudD10LHRoaXMubGF5b3V0PWUsdGhpcy5wb3NpdGlvbj17eDowLHk6MH0sdGhpcy5fY3JlYXRlKCkpfWZ1bmN0aW9uIG4odCl7cmV0dXJuIHQucmVwbGFjZSgvKFtBLVpdKS9nLGZ1bmN0aW9uKHQpe3JldHVybiItIit0LnRvTG93ZXJDYXNlKCl9KX12YXIgcz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUscj0ic3RyaW5nIj09dHlwZW9mIHMudHJhbnNpdGlvbj8idHJhbnNpdGlvbiI6IldlYmtpdFRyYW5zaXRpb24iLGE9InN0cmluZyI9PXR5cGVvZiBzLnRyYW5zZm9ybT8idHJhbnNmb3JtIjoiV2Via2l0VHJhbnNmb3JtIix1PXtXZWJraXRUcmFuc2l0aW9uOiJ3ZWJraXRUcmFuc2l0aW9uRW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn1bcl0saD17dHJhbnNmb3JtOmEsdHJhbnNpdGlvbjpyLHRyYW5zaXRpb25EdXJhdGlvbjpyKyJEdXJhdGlvbiIsdHJhbnNpdGlvblByb3BlcnR5OnIrIlByb3BlcnR5Iix0cmFuc2l0aW9uRGVsYXk6cisiRGVsYXkifSxkPW8ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpO2QuY29uc3RydWN0b3I9byxkLl9jcmVhdGU9ZnVuY3Rpb24oKXt0aGlzLl90cmFuc249e2luZ1Byb3BlcnRpZXM6e30sY2xlYW46e30sb25FbmQ6e319LHRoaXMuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUifSl9LGQuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9Im9uIit0LnR5cGU7dGhpc1tlXSYmdGhpc1tlXSh0KX0sZC5nZXRTaXplPWZ1bmN0aW9uKCl7dGhpcy5zaXplPWUodGhpcy5lbGVtZW50KX0sZC5jc3M9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5lbGVtZW50LnN0eWxlO2Zvcih2YXIgaSBpbiB0KXt2YXIgbz1oW2ldfHxpO2Vbb109dFtpXX19LGQuZ2V0UG9zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD1nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudCksZT10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5MZWZ0IiksaT10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5Ub3AiKSxvPXRbZT8ibGVmdCI6InJpZ2h0Il0sbj10W2k/InRvcCI6ImJvdHRvbSJdLHM9dGhpcy5sYXlvdXQuc2l6ZSxyPW8uaW5kZXhPZigiJSIpIT0tMT9wYXJzZUZsb2F0KG8pLzEwMCpzLndpZHRoOnBhcnNlSW50KG8sMTApLGE9bi5pbmRleE9mKCIlIikhPS0xP3BhcnNlRmxvYXQobikvMTAwKnMuaGVpZ2h0OnBhcnNlSW50KG4sMTApO3I9aXNOYU4ocik/MDpyLGE9aXNOYU4oYSk/MDphLHItPWU/cy5wYWRkaW5nTGVmdDpzLnBhZGRpbmdSaWdodCxhLT1pP3MucGFkZGluZ1RvcDpzLnBhZGRpbmdCb3R0b20sdGhpcy5wb3NpdGlvbi54PXIsdGhpcy5wb3NpdGlvbi55PWF9LGQubGF5b3V0UG9zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxheW91dC5zaXplLGU9e30saT10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5MZWZ0Iiksbz10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5Ub3AiKSxuPWk/InBhZGRpbmdMZWZ0IjoicGFkZGluZ1JpZ2h0IixzPWk/ImxlZnQiOiJyaWdodCIscj1pPyJyaWdodCI6ImxlZnQiLGE9dGhpcy5wb3NpdGlvbi54K3Rbbl07ZVtzXT10aGlzLmdldFhWYWx1ZShhKSxlW3JdPSIiO3ZhciB1PW8/InBhZGRpbmdUb3AiOiJwYWRkaW5nQm90dG9tIixoPW8/InRvcCI6ImJvdHRvbSIsZD1vPyJib3R0b20iOiJ0b3AiLGw9dGhpcy5wb3NpdGlvbi55K3RbdV07ZVtoXT10aGlzLmdldFlWYWx1ZShsKSxlW2RdPSIiLHRoaXMuY3NzKGUpLHRoaXMuZW1pdEV2ZW50KCJsYXlvdXQiLFt0aGlzXSl9LGQuZ2V0WFZhbHVlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oImhvcml6b250YWwiKTtyZXR1cm4gdGhpcy5sYXlvdXQub3B0aW9ucy5wZXJjZW50UG9zaXRpb24mJiFlP3QvdGhpcy5sYXlvdXQuc2l6ZS53aWR0aCoxMDArIiUiOnQrInB4In0sZC5nZXRZVmFsdWU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXlvdXQuX2dldE9wdGlvbigiaG9yaXpvbnRhbCIpO3JldHVybiB0aGlzLmxheW91dC5vcHRpb25zLnBlcmNlbnRQb3NpdGlvbiYmZT90L3RoaXMubGF5b3V0LnNpemUuaGVpZ2h0KjEwMCsiJSI6dCsicHgifSxkLl90cmFuc2l0aW9uVG89ZnVuY3Rpb24odCxlKXt0aGlzLmdldFBvc2l0aW9uKCk7dmFyIGk9dGhpcy5wb3NpdGlvbi54LG89dGhpcy5wb3NpdGlvbi55LG49cGFyc2VJbnQodCwxMCkscz1wYXJzZUludChlLDEwKSxyPW49PT10aGlzLnBvc2l0aW9uLngmJnM9PT10aGlzLnBvc2l0aW9uLnk7aWYodGhpcy5zZXRQb3NpdGlvbih0LGUpLHImJiF0aGlzLmlzVHJhbnNpdGlvbmluZylyZXR1cm4gdm9pZCB0aGlzLmxheW91dFBvc2l0aW9uKCk7dmFyIGE9dC1pLHU9ZS1vLGg9e307aC50cmFuc2Zvcm09dGhpcy5nZXRUcmFuc2xhdGUoYSx1KSx0aGlzLnRyYW5zaXRpb24oe3RvOmgsb25UcmFuc2l0aW9uRW5kOnt0cmFuc2Zvcm06dGhpcy5sYXlvdXRQb3NpdGlvbn0saXNDbGVhbmluZzohMH0pfSxkLmdldFRyYW5zbGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oIm9yaWdpbkxlZnQiKSxvPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oIm9yaWdpblRvcCIpO3JldHVybiB0PWk/dDotdCxlPW8/ZTotZSwidHJhbnNsYXRlM2QoIit0KyJweCwgIitlKyJweCwgMCkifSxkLmdvVG89ZnVuY3Rpb24odCxlKXt0aGlzLnNldFBvc2l0aW9uKHQsZSksdGhpcy5sYXlvdXRQb3NpdGlvbigpfSxkLm1vdmVUbz1kLl90cmFuc2l0aW9uVG8sZC5zZXRQb3NpdGlvbj1mdW5jdGlvbih0LGUpe3RoaXMucG9zaXRpb24ueD1wYXJzZUludCh0LDEwKSx0aGlzLnBvc2l0aW9uLnk9cGFyc2VJbnQoZSwxMCl9LGQuX25vblRyYW5zaXRpb249ZnVuY3Rpb24odCl7dGhpcy5jc3ModC50byksdC5pc0NsZWFuaW5nJiZ0aGlzLl9yZW1vdmVTdHlsZXModC50byk7Zm9yKHZhciBlIGluIHQub25UcmFuc2l0aW9uRW5kKXQub25UcmFuc2l0aW9uRW5kW2VdLmNhbGwodGhpcyl9LGQudHJhbnNpdGlvbj1mdW5jdGlvbih0KXtpZighcGFyc2VGbG9hdCh0aGlzLmxheW91dC5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbikpcmV0dXJuIHZvaWQgdGhpcy5fbm9uVHJhbnNpdGlvbih0KTt2YXIgZT10aGlzLl90cmFuc247Zm9yKHZhciBpIGluIHQub25UcmFuc2l0aW9uRW5kKWUub25FbmRbaV09dC5vblRyYW5zaXRpb25FbmRbaV07Zm9yKGkgaW4gdC50byllLmluZ1Byb3BlcnRpZXNbaV09ITAsdC5pc0NsZWFuaW5nJiYoZS5jbGVhbltpXT0hMCk7aWYodC5mcm9tKXt0aGlzLmNzcyh0LmZyb20pO3ZhciBvPXRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7bz1udWxsfXRoaXMuZW5hYmxlVHJhbnNpdGlvbih0LnRvKSx0aGlzLmNzcyh0LnRvKSx0aGlzLmlzVHJhbnNpdGlvbmluZz0hMH07dmFyIGw9Im9wYWNpdHksIituKGEpO2QuZW5hYmxlVHJhbnNpdGlvbj1mdW5jdGlvbigpe2lmKCF0aGlzLmlzVHJhbnNpdGlvbmluZyl7dmFyIHQ9dGhpcy5sYXlvdXQub3B0aW9ucy50cmFuc2l0aW9uRHVyYXRpb247dD0ibnVtYmVyIj09dHlwZW9mIHQ/dCsibXMiOnQsdGhpcy5jc3Moe3RyYW5zaXRpb25Qcm9wZXJ0eTpsLHRyYW5zaXRpb25EdXJhdGlvbjp0LHRyYW5zaXRpb25EZWxheTp0aGlzLnN0YWdnZXJEZWxheXx8MH0pLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHUsdGhpcywhMSl9fSxkLm9ud2Via2l0VHJhbnNpdGlvbkVuZD1mdW5jdGlvbih0KXt0aGlzLm9udHJhbnNpdGlvbmVuZCh0KX0sZC5vbm90cmFuc2l0aW9uZW5kPWZ1bmN0aW9uKHQpe3RoaXMub250cmFuc2l0aW9uZW5kKHQpfTt2YXIgZj17Ii13ZWJraXQtdHJhbnNmb3JtIjoidHJhbnNmb3JtIn07ZC5vbnRyYW5zaXRpb25lbmQ9ZnVuY3Rpb24odCl7aWYodC50YXJnZXQ9PT10aGlzLmVsZW1lbnQpe3ZhciBlPXRoaXMuX3RyYW5zbixvPWZbdC5wcm9wZXJ0eU5hbWVdfHx0LnByb3BlcnR5TmFtZTtpZihkZWxldGUgZS5pbmdQcm9wZXJ0aWVzW29dLGkoZS5pbmdQcm9wZXJ0aWVzKSYmdGhpcy5kaXNhYmxlVHJhbnNpdGlvbigpLG8gaW4gZS5jbGVhbiYmKHRoaXMuZWxlbWVudC5zdHlsZVt0LnByb3BlcnR5TmFtZV09IiIsZGVsZXRlIGUuY2xlYW5bb10pLG8gaW4gZS5vbkVuZCl7dmFyIG49ZS5vbkVuZFtvXTtuLmNhbGwodGhpcyksZGVsZXRlIGUub25FbmRbb119dGhpcy5lbWl0RXZlbnQoInRyYW5zaXRpb25FbmQiLFt0aGlzXSl9fSxkLmRpc2FibGVUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVUcmFuc2l0aW9uU3R5bGVzKCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodSx0aGlzLCExKSx0aGlzLmlzVHJhbnNpdGlvbmluZz0hMX0sZC5fcmVtb3ZlU3R5bGVzPWZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Zvcih2YXIgaSBpbiB0KWVbaV09IiI7dGhpcy5jc3MoZSl9O3ZhciBjPXt0cmFuc2l0aW9uUHJvcGVydHk6IiIsdHJhbnNpdGlvbkR1cmF0aW9uOiIiLHRyYW5zaXRpb25EZWxheToiIn07cmV0dXJuIGQucmVtb3ZlVHJhbnNpdGlvblN0eWxlcz1mdW5jdGlvbigpe3RoaXMuY3NzKGMpfSxkLnN0YWdnZXI9ZnVuY3Rpb24odCl7dD1pc05hTih0KT8wOnQsdGhpcy5zdGFnZ2VyRGVsYXk9dCsibXMifSxkLnJlbW92ZUVsZW09ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQpLHRoaXMuY3NzKHtkaXNwbGF5OiIifSksdGhpcy5lbWl0RXZlbnQoInJlbW92ZSIsW3RoaXNdKX0sZC5yZW1vdmU9ZnVuY3Rpb24oKXtyZXR1cm4gciYmcGFyc2VGbG9hdCh0aGlzLmxheW91dC5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbik/KHRoaXMub25jZSgidHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUVsZW0oKX0pLHZvaWQgdGhpcy5oaWRlKCkpOnZvaWQgdGhpcy5yZW1vdmVFbGVtKCl9LGQucmV2ZWFsPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuaXNIaWRkZW4sdGhpcy5jc3Moe2Rpc3BsYXk6IiJ9KTt2YXIgdD10aGlzLmxheW91dC5vcHRpb25zLGU9e30saT10aGlzLmdldEhpZGVSZXZlYWxUcmFuc2l0aW9uRW5kUHJvcGVydHkoInZpc2libGVTdHlsZSIpO2VbaV09dGhpcy5vblJldmVhbFRyYW5zaXRpb25FbmQsdGhpcy50cmFuc2l0aW9uKHtmcm9tOnQuaGlkZGVuU3R5bGUsdG86dC52aXNpYmxlU3R5bGUsaXNDbGVhbmluZzohMCxvblRyYW5zaXRpb25FbmQ6ZX0pfSxkLm9uUmV2ZWFsVHJhbnNpdGlvbkVuZD1mdW5jdGlvbigpe3RoaXMuaXNIaWRkZW58fHRoaXMuZW1pdEV2ZW50KCJyZXZlYWwiKX0sZC5nZXRIaWRlUmV2ZWFsVHJhbnNpdGlvbkVuZFByb3BlcnR5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGF5b3V0Lm9wdGlvbnNbdF07aWYoZS5vcGFjaXR5KXJldHVybiJvcGFjaXR5Ijtmb3IodmFyIGkgaW4gZSlyZXR1cm4gaX0sZC5oaWRlPWZ1bmN0aW9uKCl7dGhpcy5pc0hpZGRlbj0hMCx0aGlzLmNzcyh7ZGlzcGxheToiIn0pO3ZhciB0PXRoaXMubGF5b3V0Lm9wdGlvbnMsZT17fSxpPXRoaXMuZ2V0SGlkZVJldmVhbFRyYW5zaXRpb25FbmRQcm9wZXJ0eSgiaGlkZGVuU3R5bGUiKTtlW2ldPXRoaXMub25IaWRlVHJhbnNpdGlvbkVuZCx0aGlzLnRyYW5zaXRpb24oe2Zyb206dC52aXNpYmxlU3R5bGUsdG86dC5oaWRkZW5TdHlsZSxpc0NsZWFuaW5nOiEwLG9uVHJhbnNpdGlvbkVuZDplfSl9LGQub25IaWRlVHJhbnNpdGlvbkVuZD1mdW5jdGlvbigpe3RoaXMuaXNIaWRkZW4mJih0aGlzLmNzcyh7ZGlzcGxheToibm9uZSJ9KSx0aGlzLmVtaXRFdmVudCgiaGlkZSIpKX0sZC5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5jc3Moe3Bvc2l0aW9uOiIiLGxlZnQ6IiIscmlnaHQ6IiIsdG9wOiIiLGJvdHRvbToiIix0cmFuc2l0aW9uOiIiLHRyYW5zZm9ybToiIn0pfSxvfSksZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoIm91dGxheWVyL291dGxheWVyIixbImV2LWVtaXR0ZXIvZXYtZW1pdHRlciIsImdldC1zaXplL2dldC1zaXplIiwiZml6enktdWktdXRpbHMvdXRpbHMiLCIuL2l0ZW0iXSxmdW5jdGlvbihpLG8sbixzKXtyZXR1cm4gZSh0LGksbyxuLHMpfSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUodCxyZXF1aXJlKCJldi1lbWl0dGVyIikscmVxdWlyZSgiZ2V0LXNpemUiKSxyZXF1aXJlKCJmaXp6eS11aS11dGlscyIpLHJlcXVpcmUoIi4vaXRlbSIpKTp0Lk91dGxheWVyPWUodCx0LkV2RW1pdHRlcix0LmdldFNpemUsdC5maXp6eVVJVXRpbHMsdC5PdXRsYXllci5JdGVtKX0od2luZG93LGZ1bmN0aW9uKHQsZSxpLG8sbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHModCxlKXt2YXIgaT1vLmdldFF1ZXJ5RWxlbWVudCh0KTtpZighaSlyZXR1cm4gdm9pZCh1JiZ1LmVycm9yKCJCYWQgZWxlbWVudCBmb3IgIit0aGlzLmNvbnN0cnVjdG9yLm5hbWVzcGFjZSsiOiAiKyhpfHx0KSkpO3RoaXMuZWxlbWVudD1pLGgmJih0aGlzLiRlbGVtZW50PWgodGhpcy5lbGVtZW50KSksdGhpcy5vcHRpb25zPW8uZXh0ZW5kKHt9LHRoaXMuY29uc3RydWN0b3IuZGVmYXVsdHMpLHRoaXMub3B0aW9uKGUpO3ZhciBuPSsrbDt0aGlzLmVsZW1lbnQub3V0bGF5ZXJHVUlEPW4sZltuXT10aGlzLHRoaXMuX2NyZWF0ZSgpO3ZhciBzPXRoaXMuX2dldE9wdGlvbigiaW5pdExheW91dCIpO3MmJnRoaXMubGF5b3V0KCl9ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZX1mdW5jdGlvbiBhKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDt2YXIgZT10Lm1hdGNoKC8oXlxkKlwuP1xkKikoXHcqKS8pLGk9ZSYmZVsxXSxvPWUmJmVbMl07aWYoIWkubGVuZ3RoKXJldHVybiAwO2k9cGFyc2VGbG9hdChpKTt2YXIgbj1tW29dfHwxO3JldHVybiBpKm59dmFyIHU9dC5jb25zb2xlLGg9dC5qUXVlcnksZD1mdW5jdGlvbigpe30sbD0wLGY9e307cy5uYW1lc3BhY2U9Im91dGxheWVyIixzLkl0ZW09bixzLmRlZmF1bHRzPXtjb250YWluZXJTdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIn0saW5pdExheW91dDohMCxvcmlnaW5MZWZ0OiEwLG9yaWdpblRvcDohMCxyZXNpemU6ITAscmVzaXplQ29udGFpbmVyOiEwLHRyYW5zaXRpb25EdXJhdGlvbjoiMC40cyIsaGlkZGVuU3R5bGU6e29wYWNpdHk6MCx0cmFuc2Zvcm06InNjYWxlKDAuMDAxKSJ9LHZpc2libGVTdHlsZTp7b3BhY2l0eToxLHRyYW5zZm9ybToic2NhbGUoMSkifX07dmFyIGM9cy5wcm90b3R5cGU7by5leHRlbmQoYyxlLnByb3RvdHlwZSksYy5vcHRpb249ZnVuY3Rpb24odCl7by5leHRlbmQodGhpcy5vcHRpb25zLHQpfSxjLl9nZXRPcHRpb249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jb25zdHJ1Y3Rvci5jb21wYXRPcHRpb25zW3RdO3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLm9wdGlvbnNbZV0/dGhpcy5vcHRpb25zW2VdOnRoaXMub3B0aW9uc1t0XX0scy5jb21wYXRPcHRpb25zPXtpbml0TGF5b3V0OiJpc0luaXRMYXlvdXQiLGhvcml6b250YWw6ImlzSG9yaXpvbnRhbCIsbGF5b3V0SW5zdGFudDoiaXNMYXlvdXRJbnN0YW50IixvcmlnaW5MZWZ0OiJpc09yaWdpbkxlZnQiLG9yaWdpblRvcDoiaXNPcmlnaW5Ub3AiLHJlc2l6ZToiaXNSZXNpemVCb3VuZCIscmVzaXplQ29udGFpbmVyOiJpc1Jlc2l6aW5nQ29udGFpbmVyIn0sYy5fY3JlYXRlPWZ1bmN0aW9uKCl7dGhpcy5yZWxvYWRJdGVtcygpLHRoaXMuc3RhbXBzPVtdLHRoaXMuc3RhbXAodGhpcy5vcHRpb25zLnN0YW1wKSxvLmV4dGVuZCh0aGlzLmVsZW1lbnQuc3R5bGUsdGhpcy5vcHRpb25zLmNvbnRhaW5lclN0eWxlKTt2YXIgdD10aGlzLl9nZXRPcHRpb24oInJlc2l6ZSIpO3QmJnRoaXMuYmluZFJlc2l6ZSgpfSxjLnJlbG9hZEl0ZW1zPWZ1bmN0aW9uKCl7dGhpcy5pdGVtcz10aGlzLl9pdGVtaXplKHRoaXMuZWxlbWVudC5jaGlsZHJlbil9LGMuX2l0ZW1pemU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuX2ZpbHRlckZpbmRJdGVtRWxlbWVudHModCksaT10aGlzLmNvbnN0cnVjdG9yLkl0ZW0sbz1bXSxuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBzPWVbbl0scj1uZXcgaShzLHRoaXMpO28ucHVzaChyKX1yZXR1cm4gb30sYy5fZmlsdGVyRmluZEl0ZW1FbGVtZW50cz1mdW5jdGlvbih0KXtyZXR1cm4gby5maWx0ZXJGaW5kRWxlbWVudHModCx0aGlzLm9wdGlvbnMuaXRlbVNlbGVjdG9yKX0sYy5nZXRJdGVtRWxlbWVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVtcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuZWxlbWVudH0pfSxjLmxheW91dD1mdW5jdGlvbigpe3RoaXMuX3Jlc2V0TGF5b3V0KCksdGhpcy5fbWFuYWdlU3RhbXBzKCk7dmFyIHQ9dGhpcy5fZ2V0T3B0aW9uKCJsYXlvdXRJbnN0YW50IiksZT12b2lkIDAhPT10P3Q6IXRoaXMuX2lzTGF5b3V0SW5pdGVkO3RoaXMubGF5b3V0SXRlbXModGhpcy5pdGVtcyxlKSx0aGlzLl9pc0xheW91dEluaXRlZD0hMH0sYy5faW5pdD1jLmxheW91dCxjLl9yZXNldExheW91dD1mdW5jdGlvbigpe3RoaXMuZ2V0U2l6ZSgpfSxjLmdldFNpemU9ZnVuY3Rpb24oKXt0aGlzLnNpemU9aSh0aGlzLmVsZW1lbnQpfSxjLl9nZXRNZWFzdXJlbWVudD1mdW5jdGlvbih0LGUpe3ZhciBvLG49dGhpcy5vcHRpb25zW3RdO24/KCJzdHJpbmciPT10eXBlb2Ygbj9vPXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKG4pOm4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKG89biksdGhpc1t0XT1vP2kobylbZV06bik6dGhpc1t0XT0wfSxjLmxheW91dEl0ZW1zPWZ1bmN0aW9uKHQsZSl7dD10aGlzLl9nZXRJdGVtc0ZvckxheW91dCh0KSx0aGlzLl9sYXlvdXRJdGVtcyh0LGUpLHRoaXMuX3Bvc3RMYXlvdXQoKX0sYy5fZ2V0SXRlbXNGb3JMYXlvdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiF0LmlzSWdub3JlZH0pfSxjLl9sYXlvdXRJdGVtcz1mdW5jdGlvbih0LGUpe2lmKHRoaXMuX2VtaXRDb21wbGV0ZU9uSXRlbXMoImxheW91dCIsdCksdCYmdC5sZW5ndGgpe3ZhciBpPVtdO3QuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbz10aGlzLl9nZXRJdGVtTGF5b3V0UG9zaXRpb24odCk7by5pdGVtPXQsby5pc0luc3RhbnQ9ZXx8dC5pc0xheW91dEluc3RhbnQsaS5wdXNoKG8pfSx0aGlzKSx0aGlzLl9wcm9jZXNzTGF5b3V0UXVldWUoaSl9fSxjLl9nZXRJdGVtTGF5b3V0UG9zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm57eDowLHk6MH19LGMuX3Byb2Nlc3NMYXlvdXRRdWV1ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZVN0YWdnZXIoKSx0LmZvckVhY2goZnVuY3Rpb24odCxlKXt0aGlzLl9wb3NpdGlvbkl0ZW0odC5pdGVtLHQueCx0LnksdC5pc0luc3RhbnQsZSl9LHRoaXMpfSxjLnVwZGF0ZVN0YWdnZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuc3RhZ2dlcjtyZXR1cm4gbnVsbD09PXR8fHZvaWQgMD09PXQ/dm9pZCh0aGlzLnN0YWdnZXI9MCk6KHRoaXMuc3RhZ2dlcj1hKHQpLHRoaXMuc3RhZ2dlcil9LGMuX3Bvc2l0aW9uSXRlbT1mdW5jdGlvbih0LGUsaSxvLG4pe28/dC5nb1RvKGUsaSk6KHQuc3RhZ2dlcihuKnRoaXMuc3RhZ2dlciksdC5tb3ZlVG8oZSxpKSl9LGMuX3Bvc3RMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLnJlc2l6ZUNvbnRhaW5lcigpfSxjLnJlc2l6ZUNvbnRhaW5lcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldE9wdGlvbigicmVzaXplQ29udGFpbmVyIik7aWYodCl7dmFyIGU9dGhpcy5fZ2V0Q29udGFpbmVyU2l6ZSgpO2UmJih0aGlzLl9zZXRDb250YWluZXJNZWFzdXJlKGUud2lkdGgsITApLHRoaXMuX3NldENvbnRhaW5lck1lYXN1cmUoZS5oZWlnaHQsITEpKX19LGMuX2dldENvbnRhaW5lclNpemU9ZCxjLl9zZXRDb250YWluZXJNZWFzdXJlPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwIT09dCl7dmFyIGk9dGhpcy5zaXplO2kuaXNCb3JkZXJCb3gmJih0Kz1lP2kucGFkZGluZ0xlZnQraS5wYWRkaW5nUmlnaHQraS5ib3JkZXJMZWZ0V2lkdGgraS5ib3JkZXJSaWdodFdpZHRoOmkucGFkZGluZ0JvdHRvbStpLnBhZGRpbmdUb3AraS5ib3JkZXJUb3BXaWR0aCtpLmJvcmRlckJvdHRvbVdpZHRoKSx0PU1hdGgubWF4KHQsMCksdGhpcy5lbGVtZW50LnN0eWxlW2U/IndpZHRoIjoiaGVpZ2h0Il09dCsicHgifX0sYy5fZW1pdENvbXBsZXRlT25JdGVtcz1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIGkoKXtuLmRpc3BhdGNoRXZlbnQodCsiQ29tcGxldGUiLG51bGwsW2VdKX1mdW5jdGlvbiBvKCl7cisrLHI9PXMmJmkoKX12YXIgbj10aGlzLHM9ZS5sZW5ndGg7aWYoIWV8fCFzKXJldHVybiB2b2lkIGkoKTt2YXIgcj0wO2UuZm9yRWFjaChmdW5jdGlvbihlKXtlLm9uY2UodCxvKX0pfSxjLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24odCxlLGkpe3ZhciBvPWU/W2VdLmNvbmNhdChpKTppO2lmKHRoaXMuZW1pdEV2ZW50KHQsbyksaClpZih0aGlzLiRlbGVtZW50PXRoaXMuJGVsZW1lbnR8fGgodGhpcy5lbGVtZW50KSxlKXt2YXIgbj1oLkV2ZW50KGUpO24udHlwZT10LHRoaXMuJGVsZW1lbnQudHJpZ2dlcihuLGkpfWVsc2UgdGhpcy4kZWxlbWVudC50cmlnZ2VyKHQsaSl9LGMuaWdub3JlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbSh0KTtlJiYoZS5pc0lnbm9yZWQ9ITApfSxjLnVuaWdub3JlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbSh0KTtlJiZkZWxldGUgZS5pc0lnbm9yZWR9LGMuc3RhbXA9ZnVuY3Rpb24odCl7dD10aGlzLl9maW5kKHQpLHQmJih0aGlzLnN0YW1wcz10aGlzLnN0YW1wcy5jb25jYXQodCksdC5mb3JFYWNoKHRoaXMuaWdub3JlLHRoaXMpKX0sYy51bnN0YW1wPWZ1bmN0aW9uKHQpe3Q9dGhpcy5fZmluZCh0KSx0JiZ0LmZvckVhY2goZnVuY3Rpb24odCl7by5yZW1vdmVGcm9tKHRoaXMuc3RhbXBzLHQpLHRoaXMudW5pZ25vcmUodCl9LHRoaXMpfSxjLl9maW5kPWZ1bmN0aW9uKHQpe2lmKHQpcmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYodD10aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCh0KSksdD1vLm1ha2VBcnJheSh0KX0sYy5fbWFuYWdlU3RhbXBzPWZ1bmN0aW9uKCl7dGhpcy5zdGFtcHMmJnRoaXMuc3RhbXBzLmxlbmd0aCYmKHRoaXMuX2dldEJvdW5kaW5nUmVjdCgpLHRoaXMuc3RhbXBzLmZvckVhY2godGhpcy5fbWFuYWdlU3RhbXAsdGhpcykpfSxjLl9nZXRCb3VuZGluZ1JlY3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZT10aGlzLnNpemU7dGhpcy5fYm91bmRpbmdSZWN0PXtsZWZ0OnQubGVmdCtlLnBhZGRpbmdMZWZ0K2UuYm9yZGVyTGVmdFdpZHRoLHRvcDp0LnRvcCtlLnBhZGRpbmdUb3ArZS5ib3JkZXJUb3BXaWR0aCxyaWdodDp0LnJpZ2h0LShlLnBhZGRpbmdSaWdodCtlLmJvcmRlclJpZ2h0V2lkdGgpLGJvdHRvbTp0LmJvdHRvbS0oZS5wYWRkaW5nQm90dG9tK2UuYm9yZGVyQm90dG9tV2lkdGgpfX0sYy5fbWFuYWdlU3RhbXA9ZCxjLl9nZXRFbGVtZW50T2Zmc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10aGlzLl9ib3VuZGluZ1JlY3Qsbj1pKHQpLHM9e2xlZnQ6ZS5sZWZ0LW8ubGVmdC1uLm1hcmdpbkxlZnQsdG9wOmUudG9wLW8udG9wLW4ubWFyZ2luVG9wLHJpZ2h0Om8ucmlnaHQtZS5yaWdodC1uLm1hcmdpblJpZ2h0LGJvdHRvbTpvLmJvdHRvbS1lLmJvdHRvbS1uLm1hcmdpbkJvdHRvbX07cmV0dXJuIHN9LGMuaGFuZGxlRXZlbnQ9by5oYW5kbGVFdmVudCxjLmJpbmRSZXNpemU9ZnVuY3Rpb24oKXt0LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcyksdGhpcy5pc1Jlc2l6ZUJvdW5kPSEwfSxjLnVuYmluZFJlc2l6ZT1mdW5jdGlvbigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzKSx0aGlzLmlzUmVzaXplQm91bmQ9ITF9LGMub25yZXNpemU9ZnVuY3Rpb24oKXt0aGlzLnJlc2l6ZSgpfSxvLmRlYm91bmNlTWV0aG9kKHMsIm9ucmVzaXplIiwxMDApLGMucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Jlc2l6ZUJvdW5kJiZ0aGlzLm5lZWRzUmVzaXplTGF5b3V0KCkmJnRoaXMubGF5b3V0KCl9LGMubmVlZHNSZXNpemVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgdD1pKHRoaXMuZWxlbWVudCksZT10aGlzLnNpemUmJnQ7cmV0dXJuIGUmJnQuaW5uZXJXaWR0aCE9PXRoaXMuc2l6ZS5pbm5lcldpZHRofSxjLmFkZEl0ZW1zPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2l0ZW1pemUodCk7cmV0dXJuIGUubGVuZ3RoJiYodGhpcy5pdGVtcz10aGlzLml0ZW1zLmNvbmNhdChlKSksZX0sYy5hcHBlbmRlZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmFkZEl0ZW1zKHQpO2UubGVuZ3RoJiYodGhpcy5sYXlvdXRJdGVtcyhlLCEwKSx0aGlzLnJldmVhbChlKSl9LGMucHJlcGVuZGVkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2l0ZW1pemUodCk7aWYoZS5sZW5ndGgpe3ZhciBpPXRoaXMuaXRlbXMuc2xpY2UoMCk7dGhpcy5pdGVtcz1lLmNvbmNhdChpKSx0aGlzLl9yZXNldExheW91dCgpLHRoaXMuX21hbmFnZVN0YW1wcygpLHRoaXMubGF5b3V0SXRlbXMoZSwhMCksdGhpcy5yZXZlYWwoZSksdGhpcy5sYXlvdXRJdGVtcyhpKX19LGMucmV2ZWFsPWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2VtaXRDb21wbGV0ZU9uSXRlbXMoInJldmVhbCIsdCksdCYmdC5sZW5ndGgpe3ZhciBlPXRoaXMudXBkYXRlU3RhZ2dlcigpO3QuZm9yRWFjaChmdW5jdGlvbih0LGkpe3Quc3RhZ2dlcihpKmUpLHQucmV2ZWFsKCl9KX19LGMuaGlkZT1mdW5jdGlvbih0KXtpZih0aGlzLl9lbWl0Q29tcGxldGVPbkl0ZW1zKCJoaWRlIix0KSx0JiZ0Lmxlbmd0aCl7dmFyIGU9dGhpcy51cGRhdGVTdGFnZ2VyKCk7dC5mb3JFYWNoKGZ1bmN0aW9uKHQsaSl7dC5zdGFnZ2VyKGkqZSksdC5oaWRlKCl9KX19LGMucmV2ZWFsSXRlbUVsZW1lbnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbXModCk7dGhpcy5yZXZlYWwoZSl9LGMuaGlkZUl0ZW1FbGVtZW50cz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdldEl0ZW1zKHQpO3RoaXMuaGlkZShlKX0sYy5nZXRJdGVtPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dGhpcy5pdGVtcy5sZW5ndGg7ZSsrKXt2YXIgaT10aGlzLml0ZW1zW2VdO2lmKGkuZWxlbWVudD09dClyZXR1cm4gaX19LGMuZ2V0SXRlbXM9ZnVuY3Rpb24odCl7dD1vLm1ha2VBcnJheSh0KTt2YXIgZT1bXTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuZ2V0SXRlbSh0KTtpJiZlLnB1c2goaSl9LHRoaXMpLGV9LGMucmVtb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbXModCk7dGhpcy5fZW1pdENvbXBsZXRlT25JdGVtcygicmVtb3ZlIixlKSxlJiZlLmxlbmd0aCYmZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QucmVtb3ZlKCksby5yZW1vdmVGcm9tKHRoaXMuaXRlbXMsdCl9LHRoaXMpfSxjLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQuc3R5bGU7dC5oZWlnaHQ9IiIsdC5wb3NpdGlvbj0iIix0LndpZHRoPSIiLHRoaXMuaXRlbXMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmRlc3Ryb3koKX0pLHRoaXMudW5iaW5kUmVzaXplKCk7dmFyIGU9dGhpcy5lbGVtZW50Lm91dGxheWVyR1VJRDtkZWxldGUgZltlXSxkZWxldGUgdGhpcy5lbGVtZW50Lm91dGxheWVyR1VJRCxoJiZoLnJlbW92ZURhdGEodGhpcy5lbGVtZW50LHRoaXMuY29uc3RydWN0b3IubmFtZXNwYWNlKX0scy5kYXRhPWZ1bmN0aW9uKHQpe3Q9by5nZXRRdWVyeUVsZW1lbnQodCk7dmFyIGU9dCYmdC5vdXRsYXllckdVSUQ7cmV0dXJuIGUmJmZbZV19LHMuY3JlYXRlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9cihzKTtyZXR1cm4gaS5kZWZhdWx0cz1vLmV4dGVuZCh7fSxzLmRlZmF1bHRzKSxvLmV4dGVuZChpLmRlZmF1bHRzLGUpLGkuY29tcGF0T3B0aW9ucz1vLmV4dGVuZCh7fSxzLmNvbXBhdE9wdGlvbnMpLGkubmFtZXNwYWNlPXQsaS5kYXRhPXMuZGF0YSxpLkl0ZW09cihuKSxvLmh0bWxJbml0KGksdCksaCYmaC5icmlkZ2V0JiZoLmJyaWRnZXQodCxpKSxpfTt2YXIgbT17bXM6MSxzOjFlM307cmV0dXJuIHMuSXRlbT1uLHN9KSxmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJpc290b3BlL2pzL2l0ZW0iLFsib3V0bGF5ZXIvb3V0bGF5ZXIiXSxlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJvdXRsYXllciIpKToodC5Jc290b3BlPXQuSXNvdG9wZXx8e30sdC5Jc290b3BlLkl0ZW09ZSh0Lk91dGxheWVyKSl9KHdpbmRvdyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe3QuSXRlbS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dmFyIGk9ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0Lkl0ZW0ucHJvdG90eXBlKSxvPWkuX2NyZWF0ZTtpLl9jcmVhdGU9ZnVuY3Rpb24oKXt0aGlzLmlkPXRoaXMubGF5b3V0Lml0ZW1HVUlEKyssby5jYWxsKHRoaXMpLHRoaXMuc29ydERhdGE9e319LGkudXBkYXRlU29ydERhdGE9ZnVuY3Rpb24oKXtpZighdGhpcy5pc0lnbm9yZWQpe3RoaXMuc29ydERhdGEuaWQ9dGhpcy5pZCx0aGlzLnNvcnREYXRhWyJvcmlnaW5hbC1vcmRlciJdPXRoaXMuaWQsdGhpcy5zb3J0RGF0YS5yYW5kb209TWF0aC5yYW5kb20oKTt2YXIgdD10aGlzLmxheW91dC5vcHRpb25zLmdldFNvcnREYXRhLGU9dGhpcy5sYXlvdXQuX3NvcnRlcnM7Zm9yKHZhciBpIGluIHQpe3ZhciBvPWVbaV07dGhpcy5zb3J0RGF0YVtpXT1vKHRoaXMuZWxlbWVudCx0aGlzKX19fTt2YXIgbj1pLmRlc3Ryb3k7cmV0dXJuIGkuZGVzdHJveT1mdW5jdGlvbigpe24uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuY3NzKHtkaXNwbGF5OiIifSl9LGV9KSxmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJpc290b3BlL2pzL2xheW91dC1tb2RlIixbImdldC1zaXplL2dldC1zaXplIiwib3V0bGF5ZXIvb3V0bGF5ZXIiXSxlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJnZXQtc2l6ZSIpLHJlcXVpcmUoIm91dGxheWVyIikpOih0Lklzb3RvcGU9dC5Jc290b3BlfHx7fSx0Lklzb3RvcGUuTGF5b3V0TW9kZT1lKHQuZ2V0U2l6ZSx0Lk91dGxheWVyKSl9KHdpbmRvdyxmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3RoaXMuaXNvdG9wZT10LHQmJih0aGlzLm9wdGlvbnM9dC5vcHRpb25zW3RoaXMubmFtZXNwYWNlXSx0aGlzLmVsZW1lbnQ9dC5lbGVtZW50LHRoaXMuaXRlbXM9dC5maWx0ZXJlZEl0ZW1zLHRoaXMuc2l6ZT10LnNpemUpfXZhciBvPWkucHJvdG90eXBlLG49WyJfcmVzZXRMYXlvdXQiLCJfZ2V0SXRlbUxheW91dFBvc2l0aW9uIiwiX21hbmFnZVN0YW1wIiwiX2dldENvbnRhaW5lclNpemUiLCJfZ2V0RWxlbWVudE9mZnNldCIsIm5lZWRzUmVzaXplTGF5b3V0IiwiX2dldE9wdGlvbiJdO3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24odCl7b1t0XT1mdW5jdGlvbigpe3JldHVybiBlLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLmlzb3RvcGUsYXJndW1lbnRzKX19KSxvLm5lZWRzVmVydGljYWxSZXNpemVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMuaXNvdG9wZS5lbGVtZW50KSxpPXRoaXMuaXNvdG9wZS5zaXplJiZlO3JldHVybiBpJiZlLmlubmVySGVpZ2h0IT10aGlzLmlzb3RvcGUuc2l6ZS5pbm5lckhlaWdodH0sby5fZ2V0TWVhc3VyZW1lbnQ9ZnVuY3Rpb24oKXt0aGlzLmlzb3RvcGUuX2dldE1lYXN1cmVtZW50LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sby5nZXRDb2x1bW5XaWR0aD1mdW5jdGlvbigpe3RoaXMuZ2V0U2VnbWVudFNpemUoImNvbHVtbiIsIldpZHRoIil9LG8uZ2V0Um93SGVpZ2h0PWZ1bmN0aW9uKCl7dGhpcy5nZXRTZWdtZW50U2l6ZSgicm93IiwiSGVpZ2h0Iil9LG8uZ2V0U2VnbWVudFNpemU9ZnVuY3Rpb24odCxlKXt2YXIgaT10K2Usbz0ib3V0ZXIiK2U7aWYodGhpcy5fZ2V0TWVhc3VyZW1lbnQoaSxvKSwhdGhpc1tpXSl7dmFyIG49dGhpcy5nZXRGaXJzdEl0ZW1TaXplKCk7dGhpc1tpXT1uJiZuW29dfHx0aGlzLmlzb3RvcGUuc2l6ZVsiaW5uZXIiK2VdfX0sby5nZXRGaXJzdEl0ZW1TaXplPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5pc290b3BlLmZpbHRlcmVkSXRlbXNbMF07cmV0dXJuIGUmJmUuZWxlbWVudCYmdChlLmVsZW1lbnQpfSxvLmxheW91dD1mdW5jdGlvbigpe3RoaXMuaXNvdG9wZS5sYXlvdXQuYXBwbHkodGhpcy5pc290b3BlLGFyZ3VtZW50cyl9LG8uZ2V0U2l6ZT1mdW5jdGlvbigpe3RoaXMuaXNvdG9wZS5nZXRTaXplKCksdGhpcy5zaXplPXRoaXMuaXNvdG9wZS5zaXplfSxpLm1vZGVzPXt9LGkuY3JlYXRlPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbigpe2kuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBuLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG8pLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW4sZSYmKG4ub3B0aW9ucz1lKSxuLnByb3RvdHlwZS5uYW1lc3BhY2U9dCxpLm1vZGVzW3RdPW4sbn0saX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoIm1hc29ucnkvbWFzb25yeSIsWyJvdXRsYXllci9vdXRsYXllciIsImdldC1zaXplL2dldC1zaXplIl0sZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUocmVxdWlyZSgib3V0bGF5ZXIiKSxyZXF1aXJlKCJnZXQtc2l6ZSIpKTp0Lk1hc29ucnk9ZSh0Lk91dGxheWVyLHQuZ2V0U2l6ZSl9KHdpbmRvdyxmdW5jdGlvbih0LGUpe3ZhciBpPXQuY3JlYXRlKCJtYXNvbnJ5Iik7aS5jb21wYXRPcHRpb25zLmZpdFdpZHRoPSJpc0ZpdFdpZHRoIjt2YXIgbz1pLnByb3RvdHlwZTtyZXR1cm4gby5fcmVzZXRMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLmdldFNpemUoKSx0aGlzLl9nZXRNZWFzdXJlbWVudCgiY29sdW1uV2lkdGgiLCJvdXRlcldpZHRoIiksdGhpcy5fZ2V0TWVhc3VyZW1lbnQoImd1dHRlciIsIm91dGVyV2lkdGgiKSx0aGlzLm1lYXN1cmVDb2x1bW5zKCksdGhpcy5jb2xZcz1bXTtmb3IodmFyIHQ9MDt0PHRoaXMuY29sczt0KyspdGhpcy5jb2xZcy5wdXNoKDApO3RoaXMubWF4WT0wLHRoaXMuaG9yaXpvbnRhbENvbEluZGV4PTB9LG8ubWVhc3VyZUNvbHVtbnM9ZnVuY3Rpb24oKXtpZih0aGlzLmdldENvbnRhaW5lcldpZHRoKCksIXRoaXMuY29sdW1uV2lkdGgpe3ZhciB0PXRoaXMuaXRlbXNbMF0saT10JiZ0LmVsZW1lbnQ7dGhpcy5jb2x1bW5XaWR0aD1pJiZlKGkpLm91dGVyV2lkdGh8fHRoaXMuY29udGFpbmVyV2lkdGh9dmFyIG89dGhpcy5jb2x1bW5XaWR0aCs9dGhpcy5ndXR0ZXIsbj10aGlzLmNvbnRhaW5lcldpZHRoK3RoaXMuZ3V0dGVyLHM9bi9vLHI9by1uJW8sYT1yJiZyPDE/InJvdW5kIjoiZmxvb3IiO3M9TWF0aFthXShzKSx0aGlzLmNvbHM9TWF0aC5tYXgocywxKX0sby5nZXRDb250YWluZXJXaWR0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldE9wdGlvbigiZml0V2lkdGgiKSxpPXQ/dGhpcy5lbGVtZW50LnBhcmVudE5vZGU6dGhpcy5lbGVtZW50LG89ZShpKTt0aGlzLmNvbnRhaW5lcldpZHRoPW8mJm8uaW5uZXJXaWR0aH0sby5fZ2V0SXRlbUxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKHQpe3QuZ2V0U2l6ZSgpO3ZhciBlPXQuc2l6ZS5vdXRlcldpZHRoJXRoaXMuY29sdW1uV2lkdGgsaT1lJiZlPDE/InJvdW5kIjoiY2VpbCIsbz1NYXRoW2ldKHQuc2l6ZS5vdXRlcldpZHRoL3RoaXMuY29sdW1uV2lkdGgpO289TWF0aC5taW4obyx0aGlzLmNvbHMpO2Zvcih2YXIgbj10aGlzLm9wdGlvbnMuaG9yaXpvbnRhbE9yZGVyPyJfZ2V0SG9yaXpvbnRhbENvbFBvc2l0aW9uIjoiX2dldFRvcENvbFBvc2l0aW9uIixzPXRoaXNbbl0obyx0KSxyPXt4OnRoaXMuY29sdW1uV2lkdGgqcy5jb2wseTpzLnl9LGE9cy55K3Quc2l6ZS5vdXRlckhlaWdodCx1PW8rcy5jb2wsaD1zLmNvbDtoPHU7aCsrKXRoaXMuY29sWXNbaF09YTtyZXR1cm4gcn0sby5fZ2V0VG9wQ29sUG9zaXRpb249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZ2V0VG9wQ29sR3JvdXAodCksaT1NYXRoLm1pbi5hcHBseShNYXRoLGUpO3JldHVybntjb2w6ZS5pbmRleE9mKGkpLHk6aX19LG8uX2dldFRvcENvbEdyb3VwPWZ1bmN0aW9uKHQpe2lmKHQ8MilyZXR1cm4gdGhpcy5jb2xZcztmb3IodmFyIGU9W10saT10aGlzLmNvbHMrMS10LG89MDtvPGk7bysrKWVbb109dGhpcy5fZ2V0Q29sR3JvdXBZKG8sdCk7cmV0dXJuIGV9LG8uX2dldENvbEdyb3VwWT1mdW5jdGlvbih0LGUpe2lmKGU8MilyZXR1cm4gdGhpcy5jb2xZc1t0XTt2YXIgaT10aGlzLmNvbFlzLnNsaWNlKHQsdCtlKTtyZXR1cm4gTWF0aC5tYXguYXBwbHkoTWF0aCxpKX0sby5fZ2V0SG9yaXpvbnRhbENvbFBvc2l0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5ob3Jpem9udGFsQ29sSW5kZXgldGhpcy5jb2xzLG89dD4xJiZpK3Q+dGhpcy5jb2xzO2k9bz8wOmk7dmFyIG49ZS5zaXplLm91dGVyV2lkdGgmJmUuc2l6ZS5vdXRlckhlaWdodDtyZXR1cm4gdGhpcy5ob3Jpem9udGFsQ29sSW5kZXg9bj9pK3Q6dGhpcy5ob3Jpem9udGFsQ29sSW5kZXgse2NvbDppLHk6dGhpcy5fZ2V0Q29sR3JvdXBZKGksdCl9fSxvLl9tYW5hZ2VTdGFtcD1mdW5jdGlvbih0KXt2YXIgaT1lKHQpLG89dGhpcy5fZ2V0RWxlbWVudE9mZnNldCh0KSxuPXRoaXMuX2dldE9wdGlvbigib3JpZ2luTGVmdCIpLHM9bj9vLmxlZnQ6by5yaWdodCxyPXMraS5vdXRlcldpZHRoLGE9TWF0aC5mbG9vcihzL3RoaXMuY29sdW1uV2lkdGgpO2E9TWF0aC5tYXgoMCxhKTt2YXIgdT1NYXRoLmZsb29yKHIvdGhpcy5jb2x1bW5XaWR0aCk7dS09ciV0aGlzLmNvbHVtbldpZHRoPzA6MSx1PU1hdGgubWluKHRoaXMuY29scy0xLHUpO2Zvcih2YXIgaD10aGlzLl9nZXRPcHRpb24oIm9yaWdpblRvcCIpLGQ9KGg/by50b3A6by5ib3R0b20pK2kub3V0ZXJIZWlnaHQsbD1hO2w8PXU7bCsrKXRoaXMuY29sWXNbbF09TWF0aC5tYXgoZCx0aGlzLmNvbFlzW2xdKX0sby5fZ2V0Q29udGFpbmVyU2l6ZT1mdW5jdGlvbigpe3RoaXMubWF4WT1NYXRoLm1heC5hcHBseShNYXRoLHRoaXMuY29sWXMpO3ZhciB0PXtoZWlnaHQ6dGhpcy5tYXhZfTtyZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCJmaXRXaWR0aCIpJiYodC53aWR0aD10aGlzLl9nZXRDb250YWluZXJGaXRXaWR0aCgpKSx0fSxvLl9nZXRDb250YWluZXJGaXRXaWR0aD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wLGU9dGhpcy5jb2xzOy0tZSYmMD09PXRoaXMuY29sWXNbZV07KXQrKztyZXR1cm4odGhpcy5jb2xzLXQpKnRoaXMuY29sdW1uV2lkdGgtdGhpcy5ndXR0ZXJ9LG8ubmVlZHNSZXNpemVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbnRhaW5lcldpZHRoO3JldHVybiB0aGlzLmdldENvbnRhaW5lcldpZHRoKCksdCE9dGhpcy5jb250YWluZXJXaWR0aH0saX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImlzb3RvcGUvanMvbGF5b3V0LW1vZGVzL21hc29ucnkiLFsiLi4vbGF5b3V0LW1vZGUiLCJtYXNvbnJ5L21hc29ucnkiXSxlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCIuLi9sYXlvdXQtbW9kZSIpLHJlcXVpcmUoIm1hc29ucnktbGF5b3V0IikpOmUodC5Jc290b3BlLkxheW91dE1vZGUsdC5NYXNvbnJ5KX0od2luZG93LGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO3ZhciBpPXQuY3JlYXRlKCJtYXNvbnJ5Iiksbz1pLnByb3RvdHlwZSxuPXtfZ2V0RWxlbWVudE9mZnNldDohMCxsYXlvdXQ6ITAsX2dldE1lYXN1cmVtZW50OiEwfTtmb3IodmFyIHMgaW4gZS5wcm90b3R5cGUpbltzXXx8KG9bc109ZS5wcm90b3R5cGVbc10pO3ZhciByPW8ubWVhc3VyZUNvbHVtbnM7by5tZWFzdXJlQ29sdW1ucz1mdW5jdGlvbigpe3RoaXMuaXRlbXM9dGhpcy5pc290b3BlLmZpbHRlcmVkSXRlbXMsci5jYWxsKHRoaXMpfTt2YXIgYT1vLl9nZXRPcHRpb247cmV0dXJuIG8uX2dldE9wdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4iZml0V2lkdGgiPT10P3ZvaWQgMCE9PXRoaXMub3B0aW9ucy5pc0ZpdFdpZHRoP3RoaXMub3B0aW9ucy5pc0ZpdFdpZHRoOnRoaXMub3B0aW9ucy5maXRXaWR0aDphLmFwcGx5KHRoaXMuaXNvdG9wZSxhcmd1bWVudHMpfSxpfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgiaXNvdG9wZS9qcy9sYXlvdXQtbW9kZXMvZml0LXJvd3MiLFsiLi4vbGF5b3V0LW1vZGUiXSxlKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCIuLi9sYXlvdXQtbW9kZSIpKTplKHQuSXNvdG9wZS5MYXlvdXRNb2RlKX0od2luZG93LGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT10LmNyZWF0ZSgiZml0Um93cyIpLGk9ZS5wcm90b3R5cGU7cmV0dXJuIGkuX3Jlc2V0TGF5b3V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTAsdGhpcy5tYXhZPTAsdGhpcy5fZ2V0TWVhc3VyZW1lbnQoImd1dHRlciIsIm91dGVyV2lkdGgiKX0saS5fZ2V0SXRlbUxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKHQpe3QuZ2V0U2l6ZSgpO3ZhciBlPXQuc2l6ZS5vdXRlcldpZHRoK3RoaXMuZ3V0dGVyLGk9dGhpcy5pc290b3BlLnNpemUuaW5uZXJXaWR0aCt0aGlzLmd1dHRlcjswIT09dGhpcy54JiZlK3RoaXMueD5pJiYodGhpcy54PTAsdGhpcy55PXRoaXMubWF4WSk7dmFyIG89e3g6dGhpcy54LHk6dGhpcy55fTtyZXR1cm4gdGhpcy5tYXhZPU1hdGgubWF4KHRoaXMubWF4WSx0aGlzLnkrdC5zaXplLm91dGVySGVpZ2h0KSx0aGlzLngrPWUsb30saS5fZ2V0Q29udGFpbmVyU2l6ZT1mdW5jdGlvbigpe3JldHVybntoZWlnaHQ6dGhpcy5tYXhZfX0sZX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImlzb3RvcGUvanMvbGF5b3V0LW1vZGVzL3ZlcnRpY2FsIixbIi4uL2xheW91dC1tb2RlIl0sZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUocmVxdWlyZSgiLi4vbGF5b3V0LW1vZGUiKSk6ZSh0Lklzb3RvcGUuTGF5b3V0TW9kZSl9KHdpbmRvdyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9dC5jcmVhdGUoInZlcnRpY2FsIix7aG9yaXpvbnRhbEFsaWdubWVudDowfSksaT1lLnByb3RvdHlwZTtyZXR1cm4gaS5fcmVzZXRMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLnk9MH0saS5fZ2V0SXRlbUxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKHQpe3QuZ2V0U2l6ZSgpO3ZhciBlPSh0aGlzLmlzb3RvcGUuc2l6ZS5pbm5lcldpZHRoLXQuc2l6ZS5vdXRlcldpZHRoKSp0aGlzLm9wdGlvbnMuaG9yaXpvbnRhbEFsaWdubWVudCxpPXRoaXMueTtyZXR1cm4gdGhpcy55Kz10LnNpemUub3V0ZXJIZWlnaHQse3g6ZSx5Oml9fSxpLl9nZXRDb250YWluZXJTaXplPWZ1bmN0aW9uKCl7cmV0dXJue2hlaWdodDp0aGlzLnl9fSxlfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIm91dGxheWVyL291dGxheWVyIiwiZ2V0LXNpemUvZ2V0LXNpemUiLCJkZXNhbmRyby1tYXRjaGVzLXNlbGVjdG9yL21hdGNoZXMtc2VsZWN0b3IiLCJmaXp6eS11aS11dGlscy91dGlscyIsImlzb3RvcGUvanMvaXRlbSIsImlzb3RvcGUvanMvbGF5b3V0LW1vZGUiLCJpc290b3BlL2pzL2xheW91dC1tb2Rlcy9tYXNvbnJ5IiwiaXNvdG9wZS9qcy9sYXlvdXQtbW9kZXMvZml0LXJvd3MiLCJpc290b3BlL2pzL2xheW91dC1tb2Rlcy92ZXJ0aWNhbCJdLGZ1bmN0aW9uKGksbyxuLHMscixhKXtyZXR1cm4gZSh0LGksbyxuLHMscixhKX0pOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHQscmVxdWlyZSgib3V0bGF5ZXIiKSxyZXF1aXJlKCJnZXQtc2l6ZSIpLHJlcXVpcmUoImRlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3IiKSxyZXF1aXJlKCJmaXp6eS11aS11dGlscyIpLHJlcXVpcmUoImlzb3RvcGUvanMvaXRlbSIpLHJlcXVpcmUoImlzb3RvcGUvanMvbGF5b3V0LW1vZGUiKSxyZXF1aXJlKCJpc290b3BlL2pzL2xheW91dC1tb2Rlcy9tYXNvbnJ5IikscmVxdWlyZSgiaXNvdG9wZS9qcy9sYXlvdXQtbW9kZXMvZml0LXJvd3MiKSxyZXF1aXJlKCJpc290b3BlL2pzL2xheW91dC1tb2Rlcy92ZXJ0aWNhbCIpKTp0Lklzb3RvcGU9ZSh0LHQuT3V0bGF5ZXIsdC5nZXRTaXplLHQubWF0Y2hlc1NlbGVjdG9yLHQuZml6enlVSVV0aWxzLHQuSXNvdG9wZS5JdGVtLHQuSXNvdG9wZS5MYXlvdXRNb2RlKX0od2luZG93LGZ1bmN0aW9uKHQsZSxpLG8sbixzLHIpe2Z1bmN0aW9uIGEodCxlKXtyZXR1cm4gZnVuY3Rpb24oaSxvKXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHM9dFtuXSxyPWkuc29ydERhdGFbc10sYT1vLnNvcnREYXRhW3NdO2lmKHI+YXx8cjxhKXt2YXIgdT12b2lkIDAhPT1lW3NdP2Vbc106ZSxoPXU/MTotMTtyZXR1cm4ocj5hPzE6LTEpKmh9fXJldHVybiAwfX12YXIgdT10LmpRdWVyeSxoPVN0cmluZy5wcm90b3R5cGUudHJpbT9mdW5jdGlvbih0KXtyZXR1cm4gdC50cmltKCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0sZD1lLmNyZWF0ZSgiaXNvdG9wZSIse2xheW91dE1vZGU6Im1hc29ucnkiLGlzSlF1ZXJ5RmlsdGVyaW5nOiEwLHNvcnRBc2NlbmRpbmc6ITB9KTtkLkl0ZW09cyxkLkxheW91dE1vZGU9cjt2YXIgbD1kLnByb3RvdHlwZTtsLl9jcmVhdGU9ZnVuY3Rpb24oKXt0aGlzLml0ZW1HVUlEPTAsdGhpcy5fc29ydGVycz17fSx0aGlzLl9nZXRTb3J0ZXJzKCksZS5wcm90b3R5cGUuX2NyZWF0ZS5jYWxsKHRoaXMpLHRoaXMubW9kZXM9e30sdGhpcy5maWx0ZXJlZEl0ZW1zPXRoaXMuaXRlbXMsdGhpcy5zb3J0SGlzdG9yeT1bIm9yaWdpbmFsLW9yZGVyIl07Zm9yKHZhciB0IGluIHIubW9kZXMpdGhpcy5faW5pdExheW91dE1vZGUodCl9LGwucmVsb2FkSXRlbXM9ZnVuY3Rpb24oKXt0aGlzLml0ZW1HVUlEPTAsZS5wcm90b3R5cGUucmVsb2FkSXRlbXMuY2FsbCh0aGlzKX0sbC5faXRlbWl6ZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1lLnByb3RvdHlwZS5faXRlbWl6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz10W2ldO28uaWQ9dGhpcy5pdGVtR1VJRCsrfXJldHVybiB0aGlzLl91cGRhdGVJdGVtc1NvcnREYXRhKHQpLHR9LGwuX2luaXRMYXlvdXRNb2RlPWZ1bmN0aW9uKHQpe3ZhciBlPXIubW9kZXNbdF0saT10aGlzLm9wdGlvbnNbdF18fHt9O3RoaXMub3B0aW9uc1t0XT1lLm9wdGlvbnM/bi5leHRlbmQoZS5vcHRpb25zLGkpOmksdGhpcy5tb2Rlc1t0XT1uZXcgZSh0aGlzKX0sbC5sYXlvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5faXNMYXlvdXRJbml0ZWQmJnRoaXMuX2dldE9wdGlvbigiaW5pdExheW91dCIpP3ZvaWQgdGhpcy5hcnJhbmdlKCk6dm9pZCB0aGlzLl9sYXlvdXQoKX0sbC5fbGF5b3V0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0SXNJbnN0YW50KCk7dGhpcy5fcmVzZXRMYXlvdXQoKSx0aGlzLl9tYW5hZ2VTdGFtcHMoKSx0aGlzLmxheW91dEl0ZW1zKHRoaXMuZmlsdGVyZWRJdGVtcyx0KSx0aGlzLl9pc0xheW91dEluaXRlZD0hMH0sbC5hcnJhbmdlPWZ1bmN0aW9uKHQpe3RoaXMub3B0aW9uKHQpLHRoaXMuX2dldElzSW5zdGFudCgpO3ZhciBlPXRoaXMuX2ZpbHRlcih0aGlzLml0ZW1zKTt0aGlzLmZpbHRlcmVkSXRlbXM9ZS5tYXRjaGVzLHRoaXMuX2JpbmRBcnJhbmdlQ29tcGxldGUoKSx0aGlzLl9pc0luc3RhbnQ/dGhpcy5fbm9UcmFuc2l0aW9uKHRoaXMuX2hpZGVSZXZlYWwsW2VdKTp0aGlzLl9oaWRlUmV2ZWFsKGUpLHRoaXMuX3NvcnQoKSx0aGlzLl9sYXlvdXQoKX0sbC5faW5pdD1sLmFycmFuZ2UsbC5faGlkZVJldmVhbD1mdW5jdGlvbih0KXt0aGlzLnJldmVhbCh0Lm5lZWRSZXZlYWwpLHRoaXMuaGlkZSh0Lm5lZWRIaWRlKX0sbC5fZ2V0SXNJbnN0YW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0T3B0aW9uKCJsYXlvdXRJbnN0YW50IiksZT12b2lkIDAhPT10P3Q6IXRoaXMuX2lzTGF5b3V0SW5pdGVkO3JldHVybiB0aGlzLl9pc0luc3RhbnQ9ZSxlfSxsLl9iaW5kQXJyYW5nZUNvbXBsZXRlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2UmJmkmJm8mJm4uZGlzcGF0Y2hFdmVudCgiYXJyYW5nZUNvbXBsZXRlIixudWxsLFtuLmZpbHRlcmVkSXRlbXNdKX12YXIgZSxpLG8sbj10aGlzO3RoaXMub25jZSgibGF5b3V0Q29tcGxldGUiLGZ1bmN0aW9uKCl7ZT0hMCx0KCl9KSx0aGlzLm9uY2UoImhpZGVDb21wbGV0ZSIsZnVuY3Rpb24oKXtpPSEwLHQoKX0pLHRoaXMub25jZSgicmV2ZWFsQ29tcGxldGUiLGZ1bmN0aW9uKCl7bz0hMCx0KCl9KX0sbC5fZmlsdGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMub3B0aW9ucy5maWx0ZXI7ZT1lfHwiKiI7Zm9yKHZhciBpPVtdLG89W10sbj1bXSxzPXRoaXMuX2dldEZpbHRlclRlc3QoZSkscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgYT10W3JdO2lmKCFhLmlzSWdub3JlZCl7dmFyIHU9cyhhKTt1JiZpLnB1c2goYSksdSYmYS5pc0hpZGRlbj9vLnB1c2goYSk6dXx8YS5pc0hpZGRlbnx8bi5wdXNoKGEpfX1yZXR1cm57bWF0Y2hlczppLG5lZWRSZXZlYWw6byxuZWVkSGlkZTpufX0sbC5fZ2V0RmlsdGVyVGVzdD1mdW5jdGlvbih0KXtyZXR1cm4gdSYmdGhpcy5vcHRpb25zLmlzSlF1ZXJ5RmlsdGVyaW5nP2Z1bmN0aW9uKGUpe3JldHVybiB1KGUuZWxlbWVudCkuaXModCl9OiJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKGUpe3JldHVybiB0KGUuZWxlbWVudCl9OmZ1bmN0aW9uKGUpe3JldHVybiBvKGUuZWxlbWVudCx0KX19LGwudXBkYXRlU29ydERhdGE9ZnVuY3Rpb24odCl7DQp2YXIgZTt0Pyh0PW4ubWFrZUFycmF5KHQpLGU9dGhpcy5nZXRJdGVtcyh0KSk6ZT10aGlzLml0ZW1zLHRoaXMuX2dldFNvcnRlcnMoKSx0aGlzLl91cGRhdGVJdGVtc1NvcnREYXRhKGUpfSxsLl9nZXRTb3J0ZXJzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLmdldFNvcnREYXRhO2Zvcih2YXIgZSBpbiB0KXt2YXIgaT10W2VdO3RoaXMuX3NvcnRlcnNbZV09ZihpKX19LGwuX3VwZGF0ZUl0ZW1zU29ydERhdGE9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQmJnQubGVuZ3RoLGk9MDtlJiZpPGU7aSsrKXt2YXIgbz10W2ldO28udXBkYXRlU29ydERhdGEoKX19O3ZhciBmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIHQ7dmFyIGk9aCh0KS5zcGxpdCgiICIpLG89aVswXSxuPW8ubWF0Y2goL15cWyguKylcXSQvKSxzPW4mJm5bMV0scj1lKHMsbyksYT1kLnNvcnREYXRhUGFyc2Vyc1tpWzFdXTtyZXR1cm4gdD1hP2Z1bmN0aW9uKHQpe3JldHVybiB0JiZhKHIodCkpfTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmcih0KX19ZnVuY3Rpb24gZSh0LGUpe3JldHVybiB0P2Z1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSh0KX06ZnVuY3Rpb24odCl7dmFyIGk9dC5xdWVyeVNlbGVjdG9yKGUpO3JldHVybiBpJiZpLnRleHRDb250ZW50fX1yZXR1cm4gdH0oKTtkLnNvcnREYXRhUGFyc2Vycz17cGFyc2VJbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlSW50KHQsMTApfSxwYXJzZUZsb2F0OmZ1bmN0aW9uKHQpe3JldHVybiBwYXJzZUZsb2F0KHQpfX0sbC5fc29ydD1mdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5zb3J0Qnkpe3ZhciB0PW4ubWFrZUFycmF5KHRoaXMub3B0aW9ucy5zb3J0QnkpO3RoaXMuX2dldElzU2FtZVNvcnRCeSh0KXx8KHRoaXMuc29ydEhpc3Rvcnk9dC5jb25jYXQodGhpcy5zb3J0SGlzdG9yeSkpO3ZhciBlPWEodGhpcy5zb3J0SGlzdG9yeSx0aGlzLm9wdGlvbnMuc29ydEFzY2VuZGluZyk7dGhpcy5maWx0ZXJlZEl0ZW1zLnNvcnQoZSl9fSxsLl9nZXRJc1NhbWVTb3J0Qnk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYodFtlXSE9dGhpcy5zb3J0SGlzdG9yeVtlXSlyZXR1cm4hMTtyZXR1cm4hMH0sbC5fbW9kZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5sYXlvdXRNb2RlLGU9dGhpcy5tb2Rlc1t0XTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIk5vIGxheW91dCBtb2RlOiAiK3QpO3JldHVybiBlLm9wdGlvbnM9dGhpcy5vcHRpb25zW3RdLGV9LGwuX3Jlc2V0TGF5b3V0PWZ1bmN0aW9uKCl7ZS5wcm90b3R5cGUuX3Jlc2V0TGF5b3V0LmNhbGwodGhpcyksdGhpcy5fbW9kZSgpLl9yZXNldExheW91dCgpfSxsLl9nZXRJdGVtTGF5b3V0UG9zaXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21vZGUoKS5fZ2V0SXRlbUxheW91dFBvc2l0aW9uKHQpfSxsLl9tYW5hZ2VTdGFtcD1mdW5jdGlvbih0KXt0aGlzLl9tb2RlKCkuX21hbmFnZVN0YW1wKHQpfSxsLl9nZXRDb250YWluZXJTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21vZGUoKS5fZ2V0Q29udGFpbmVyU2l6ZSgpfSxsLm5lZWRzUmVzaXplTGF5b3V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21vZGUoKS5uZWVkc1Jlc2l6ZUxheW91dCgpfSxsLmFwcGVuZGVkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYWRkSXRlbXModCk7aWYoZS5sZW5ndGgpe3ZhciBpPXRoaXMuX2ZpbHRlclJldmVhbEFkZGVkKGUpO3RoaXMuZmlsdGVyZWRJdGVtcz10aGlzLmZpbHRlcmVkSXRlbXMuY29uY2F0KGkpfX0sbC5wcmVwZW5kZWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faXRlbWl6ZSh0KTtpZihlLmxlbmd0aCl7dGhpcy5fcmVzZXRMYXlvdXQoKSx0aGlzLl9tYW5hZ2VTdGFtcHMoKTt2YXIgaT10aGlzLl9maWx0ZXJSZXZlYWxBZGRlZChlKTt0aGlzLmxheW91dEl0ZW1zKHRoaXMuZmlsdGVyZWRJdGVtcyksdGhpcy5maWx0ZXJlZEl0ZW1zPWkuY29uY2F0KHRoaXMuZmlsdGVyZWRJdGVtcyksdGhpcy5pdGVtcz1lLmNvbmNhdCh0aGlzLml0ZW1zKX19LGwuX2ZpbHRlclJldmVhbEFkZGVkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2ZpbHRlcih0KTtyZXR1cm4gdGhpcy5oaWRlKGUubmVlZEhpZGUpLHRoaXMucmV2ZWFsKGUubWF0Y2hlcyksdGhpcy5sYXlvdXRJdGVtcyhlLm1hdGNoZXMsITApLGUubWF0Y2hlc30sbC5pbnNlcnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5hZGRJdGVtcyh0KTtpZihlLmxlbmd0aCl7dmFyIGksbyxuPWUubGVuZ3RoO2ZvcihpPTA7aTxuO2krKylvPWVbaV0sdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKG8uZWxlbWVudCk7dmFyIHM9dGhpcy5fZmlsdGVyKGUpLm1hdGNoZXM7Zm9yKGk9MDtpPG47aSsrKWVbaV0uaXNMYXlvdXRJbnN0YW50PSEwO2Zvcih0aGlzLmFycmFuZ2UoKSxpPTA7aTxuO2krKylkZWxldGUgZVtpXS5pc0xheW91dEluc3RhbnQ7dGhpcy5yZXZlYWwocyl9fTt2YXIgYz1sLnJlbW92ZTtyZXR1cm4gbC5yZW1vdmU9ZnVuY3Rpb24odCl7dD1uLm1ha2VBcnJheSh0KTt2YXIgZT10aGlzLmdldEl0ZW1zKHQpO2MuY2FsbCh0aGlzLHQpO2Zvcih2YXIgaT1lJiZlLmxlbmd0aCxvPTA7aSYmbzxpO28rKyl7dmFyIHM9ZVtvXTtuLnJlbW92ZUZyb20odGhpcy5maWx0ZXJlZEl0ZW1zLHMpfX0sbC5zaHVmZmxlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDx0aGlzLml0ZW1zLmxlbmd0aDt0Kyspe3ZhciBlPXRoaXMuaXRlbXNbdF07ZS5zb3J0RGF0YS5yYW5kb209TWF0aC5yYW5kb20oKX10aGlzLm9wdGlvbnMuc29ydEJ5PSJyYW5kb20iLHRoaXMuX3NvcnQoKSx0aGlzLl9sYXlvdXQoKX0sbC5fbm9UcmFuc2l0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbjt0aGlzLm9wdGlvbnMudHJhbnNpdGlvbkR1cmF0aW9uPTA7dmFyIG89dC5hcHBseSh0aGlzLGUpO3JldHVybiB0aGlzLm9wdGlvbnMudHJhbnNpdGlvbkR1cmF0aW9uPWksb30sbC5nZXRGaWx0ZXJlZEl0ZW1FbGVtZW50cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcmVkSXRlbXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmVsZW1lbnR9KX0sZH0pOw0KDQoNCi8qDQogKiAganF1ZXJ5IHBhcmFsbGF4DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qDQpQbHVnaW46IGpRdWVyeSBQYXJhbGxheA0KVmVyc2lvbiAxLjEuMw0KQXV0aG9yOiBJYW4gTHVubg0KVHdpdHRlcjogQElhbkx1bm4NCkF1dGhvciBVUkw6IGh0dHA6Ly93d3cuaWFubHVubi5jby51ay8NClBsdWdpbiBVUkw6IGh0dHA6Ly93d3cuaWFubHVubi5jby51ay9wbHVnaW5zL2pxdWVyeS1wYXJhbGxheC8NCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOg0KaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHANCmh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbA0KKi8NCihmdW5jdGlvbigkKXt2YXIgJHdpbmRvdz0kKHdpbmRvdyk7dmFyIHdpbmRvd0hlaWdodD0kd2luZG93LmhlaWdodCgpOyR3aW5kb3cucmVzaXplKGZ1bmN0aW9uKCl7d2luZG93SGVpZ2h0PSR3aW5kb3cuaGVpZ2h0KCl9KTskLmZuLnBhcmFsbGF4PWZ1bmN0aW9uKHhwb3Msc3BlZWRGYWN0b3Isb3V0ZXJIZWlnaHQpe3ZhciAkdGhpcz0kKHRoaXMpO3ZhciBnZXRIZWlnaHQ7dmFyIGZpcnN0VG9wO3ZhciBwYWRkaW5nVG9wPTA7JHRoaXMuZWFjaChmdW5jdGlvbigpe2ZpcnN0VG9wPSR0aGlzLm9mZnNldCgpLnRvcH0pO2lmKG91dGVySGVpZ2h0KXtnZXRIZWlnaHQ9ZnVuY3Rpb24oanFvKXtyZXR1cm4ganFvLm91dGVySGVpZ2h0KHRydWUpfX1lbHNle2dldEhlaWdodD1mdW5jdGlvbihqcW8pe3JldHVybiBqcW8uaGVpZ2h0KCl9fWlmKGFyZ3VtZW50cy5sZW5ndGg8MXx8eHBvcz09PW51bGwpeHBvcz0iNTAlIjtpZihhcmd1bWVudHMubGVuZ3RoPDJ8fHNwZWVkRmFjdG9yPT09bnVsbClzcGVlZEZhY3Rvcj0wLjE7aWYoYXJndW1lbnRzLmxlbmd0aDwzfHxvdXRlckhlaWdodD09PW51bGwpb3V0ZXJIZWlnaHQ9dHJ1ZTtmdW5jdGlvbiB1cGRhdGUoKXt2YXIgcG9zPSR3aW5kb3cuc2Nyb2xsVG9wKCk7JHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciAkZWxlbWVudD0kKHRoaXMpO3ZhciB0b3A9JGVsZW1lbnQub2Zmc2V0KCkudG9wO3ZhciBoZWlnaHQ9Z2V0SGVpZ2h0KCRlbGVtZW50KTtpZih0b3AraGVpZ2h0PHBvc3x8dG9wPnBvcyt3aW5kb3dIZWlnaHQpe3JldHVybn0kdGhpcy5jc3MoJ2JhY2tncm91bmRQb3NpdGlvbicseHBvcysiICIrTWF0aC5yb3VuZCgoZmlyc3RUb3AtcG9zKSpzcGVlZEZhY3RvcikrInB4Iil9KX0kd2luZG93LmJpbmQoJ3Njcm9sbCcsdXBkYXRlKS5yZXNpemUodXBkYXRlKTt1cGRhdGUoKX19KShqUXVlcnkpOw0KDQoNCg0KDQovKg0KICogIGFuaW1hdGVOdW1iZXJzDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qKioqKioqKioqKg0KCUFuaW1hdGVzIGVsZW1lbnQncyBudW1iZXIgdG8gbmV3IG51bWJlciB3aXRoIGNvbW1hcw0KCVBhcmFtZXRlcnM6DQoJCXN0b3AgKG51bWJlcik6IG51bWJlciB0byBzdG9wIG9uDQogICAgICAgIGNvbW1hcyAoYm9vbGVhbik6IHR1cm4gY29tbWFzIG9uL29mZiAoZGVmYXVsdCBpcyB0cnVlKQ0KCQlkdXJhdGlvbiAobnVtYmVyKTogaG93IGxvbmcgaW4gbXMgKGRlZmF1bHQgaXMgMTAwMCkNCgkJZWFzZSAoc3RyaW5nKTogdHlwZSBvZiBlYXNpbmcgKGRlZmF1bHQgaXMgInN3aW5nIiwgb3RoZXJzIGFyZSBhdmFpYWJsZSBmcm9tIGpRdWVyeSdzIGVhc2luZyBwbHVnaW4NCglFeGFtcGxlczoNCiAgICAgICAgJCgiI2RpdiIpLmFuaW1hdGVOdW1iZXJzKDEyMzQsIGZhbHNlLCA1MDAsICJsaW5lYXIiKTsgLy8gaGFsZiBzZWNvbmQgbGluZWFyIHdpdGhvdXQgY29tbWFzDQoJCSQoIiNkaXYiKS5hbmltYXRlTnVtYmVycygxMjM0LCB0cnVlLCAyMDAwKTsgLy8gdHdvIHNlY29uZCBzd2luZyB3aXRoIGNvbW1hcw0KCQkkKCIjZGl2IikuYW5pbWF0ZU51bWJlcnMoNDMyMSk7IC8vIG9uZSBzZWNvbmQgc3dpbmcgd2l0aCBjb21tYXMNCglUaGlzIGZ1bGx5IGV4cGVjdHMgYW4gZWxlbWVudCBjb250YWluaW5nIGFuIGludGVnZXINCglJZiB0aGUgbnVtYmVyIGlzIHdpdGhpbiBjb3B5IHRoZW4gc2VwYXJhdGUgaXQgd2l0aCBhIHNwYW4gYW5kIHRhcmdldCB0aGUgc3Bhbg0KCUluc2VydHMgYW5kIGFjY291bnRzIGZvciBjb21tYXMgZHVyaW5nIGFuaW1hdGlvbiBieSBkZWZhdWx0DQoqKioqKioqKioqKi8NCiFmdW5jdGlvbih0KXt0LmZuLmFuaW1hdGVOdW1iZXJzPWZ1bmN0aW9uKGUsbixhLGkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD10KHRoaXMpLG89cGFyc2VJbnQoZC50ZXh0KCkucmVwbGFjZSgvLC9nLCIiKSk7bj12b2lkIDA9PT1uPyEwOm4sdCh7dmFsdWU6b30pLmFuaW1hdGUoe3ZhbHVlOmV9LHtkdXJhdGlvbjp2b2lkIDA9PWE/MWUzOmEsZWFzaW5nOnZvaWQgMD09aT8ic3dpbmciOmksc3RlcDpmdW5jdGlvbigpe2QudGV4dChNYXRoLmZsb29yKHRoaXMudmFsdWUpKSxuJiZkLnRleHQoZC50ZXh0KCkucmVwbGFjZSgvKFxkKSg/PShcZFxkXGQpKyg/IVxkKSkvZywiJDEsIikpfSxjb21wbGV0ZTpmdW5jdGlvbigpe3BhcnNlSW50KGQudGV4dCgpKSE9PWUmJihkLnRleHQoZSksbiYmZC50ZXh0KGQudGV4dCgpLnJlcGxhY2UoLyhcZCkoPz0oXGRcZFxkKSsoPyFcZCkpL2csIiQxLCIpKSl9fSl9KX19KGpRdWVyeSk7DQoNCi8qDQogKiAgamZsaWNrcmZlZWQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyoNCiogQ29weXJpZ2h0IChDKSAyMDA5IEpvZWwgU3V0aGVybGFuZA0KKiBMaWNlbmNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UNCiogaHR0cDovL3d3dy5uZXdtZWRpYWNhbXBhaWducy5jb20vcGFnZS9qcXVlcnktZmxpY2tyLXBsdWdpbg0KKg0KKiBBdmFpbGFibGUgdGFncyBmb3IgdGVtcGxhdGVzOg0KKiB0aXRsZSwgbGluaywgZGF0ZV90YWtlbiwgZGVzY3JpcHRpb24sIHB1Ymxpc2hlZCwgYXV0aG9yLCBhdXRob3JfaWQsIHRhZ3MsIGltYWdlKg0KKi8NCihmdW5jdGlvbigkKXskLmZuLmpmbGlja3JmZWVkPWZ1bmN0aW9uKHNldHRpbmdzLGNhbGxiYWNrKXtzZXR0aW5ncz0kLmV4dGVuZCh0cnVlLHtmbGlja3JiYXNlOidodHRwOi8vYXBpLmZsaWNrci5jb20vc2VydmljZXMvZmVlZHMvJyxmZWVkYXBpOidwaG90b3NfcHVibGljLmduZScsbGltaXQ6MjAscXN0cmluZ3M6e2xhbmc6J2VuLXVzJyxmb3JtYXQ6J2pzb24nLGpzb25jYWxsYmFjazonPyd9LGNsZWFuRGVzY3JpcHRpb246dHJ1ZSx1c2VUZW1wbGF0ZTp0cnVlLGl0ZW1UZW1wbGF0ZTonJyxpdGVtQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9fSxzZXR0aW5ncyk7dmFyIHVybD1zZXR0aW5ncy5mbGlja3JiYXNlK3NldHRpbmdzLmZlZWRhcGkrJz8nO3ZhciBmaXJzdD10cnVlO2Zvcih2YXIga2V5IGluIHNldHRpbmdzLnFzdHJpbmdzKXtpZighZmlyc3QpDQp1cmwrPScmJzt1cmwrPWtleSsnPScrc2V0dGluZ3MucXN0cmluZ3Nba2V5XTtmaXJzdD1mYWxzZTt9DQpyZXR1cm4gJCh0aGlzKS5lYWNoKGZ1bmN0aW9uKCl7dmFyICRjb250YWluZXI9JCh0aGlzKTt2YXIgY29udGFpbmVyPXRoaXM7JC5nZXRKU09OKHVybCxmdW5jdGlvbihkYXRhKXskLmVhY2goZGF0YS5pdGVtcyxmdW5jdGlvbihpLGl0ZW0pe2lmKGk8c2V0dGluZ3MubGltaXQpe2lmKHNldHRpbmdzLmNsZWFuRGVzY3JpcHRpb24pe3ZhciByZWdleD0vPHA+KC4qPyk8XC9wPi9nO3ZhciBpbnB1dD1pdGVtLmRlc2NyaXB0aW9uO2lmKHJlZ2V4LnRlc3QoaW5wdXQpKXtpdGVtLmRlc2NyaXB0aW9uPWlucHV0Lm1hdGNoKHJlZ2V4KVsyXQ0KaWYoaXRlbS5kZXNjcmlwdGlvbiE9dW5kZWZpbmVkKQ0KaXRlbS5kZXNjcmlwdGlvbj1pdGVtLmRlc2NyaXB0aW9uLnJlcGxhY2UoJzxwPicsJycpLnJlcGxhY2UoJzwvcD4nLCcnKTt9fQ0KaXRlbVsnaW1hZ2VfcyddPWl0ZW0ubWVkaWEubS5yZXBsYWNlKCdfbScsJ19zJyk7aXRlbVsnaW1hZ2VfdCddPWl0ZW0ubWVkaWEubS5yZXBsYWNlKCdfbScsJ190Jyk7aXRlbVsnaW1hZ2VfbSddPWl0ZW0ubWVkaWEubS5yZXBsYWNlKCdfbScsJ19tJyk7aXRlbVsnaW1hZ2UnXT1pdGVtLm1lZGlhLm0ucmVwbGFjZSgnX20nLCcnKTtpdGVtWydpbWFnZV9iJ109aXRlbS5tZWRpYS5tLnJlcGxhY2UoJ19tJywnX2InKTtkZWxldGUgaXRlbS5tZWRpYTtpZihzZXR0aW5ncy51c2VUZW1wbGF0ZSl7dmFyIHRlbXBsYXRlPXNldHRpbmdzLml0ZW1UZW1wbGF0ZTtmb3IodmFyIGtleSBpbiBpdGVtKXt2YXIgcmd4PW5ldyBSZWdFeHAoJ3t7JytrZXkrJ319JywnZycpO3RlbXBsYXRlPXRlbXBsYXRlLnJlcGxhY2Uocmd4LGl0ZW1ba2V5XSk7fQ0KJGNvbnRhaW5lci5hcHBlbmQodGVtcGxhdGUpfQ0Kc2V0dGluZ3MuaXRlbUNhbGxiYWNrLmNhbGwoY29udGFpbmVyLGl0ZW0pO319KTtpZigkLmlzRnVuY3Rpb24oY2FsbGJhY2spKXtjYWxsYmFjay5jYWxsKGNvbnRhaW5lcixkYXRhKTt9fSk7fSk7fX0pKGpRdWVyeSk7DQoNCi8qDQogKiAgZml0dmlkcw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKmpzaGludCBicm93c2VyOnRydWUgKi8NCi8qIQ0KKiBGaXRWaWRzIDEuMQ0KKg0KKiBDb3B5cmlnaHQgMjAxMywgQ2hyaXMgQ295aWVyIC0gaHR0cDovL2Nzcy10cmlja3MuY29tICsgRGF2ZSBSdXBlcnQgLSBodHRwOi8vZGF2ZXJ1cGVydC5jb20NCiogQ3JlZGl0IHRvIFRoaWVycnkgS29ibGVudHogLSBodHRwOi8vd3d3LmFsaXN0YXBhcnQuY29tL2FydGljbGVzL2NyZWF0aW5nLWludHJpbnNpYy1yYXRpb3MtZm9yLXZpZGVvLw0KKiBSZWxlYXNlZCB1bmRlciB0aGUgV1RGUEwgbGljZW5zZSAtIGh0dHA6Ly9zYW0uem95Lm9yZy93dGZwbC8NCioNCiovDQohZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3QuZm4uZml0Vmlkcz1mdW5jdGlvbihlKXt2YXIgaT17Y3VzdG9tU2VsZWN0b3I6bnVsbCxpZ25vcmU6bnVsbH07aWYoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaXQtdmlkcy1zdHlsZSIpKXt2YXIgcj1kb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLGE9Ii5mbHVpZC13aWR0aC12aWRlby13cmFwcGVye3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowO30uZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciBpZnJhbWUsLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIgb2JqZWN0LC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIGVtYmVkIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt9IixkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuaW5uZXJIVE1MPSc8cD54PC9wPjxzdHlsZSBpZD0iZml0LXZpZHMtc3R5bGUiPicrYSsiPC9zdHlsZT4iLHIuYXBwZW5kQ2hpbGQoZC5jaGlsZE5vZGVzWzFdKX1yZXR1cm4gZSYmdC5leHRlbmQoaSxlKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1bJ2lmcmFtZVtzcmMqPSJwbGF5ZXIudmltZW8uY29tIl0nLCdpZnJhbWVbc3JjKj0ieW91dHViZS5jb20iXScsJ2lmcmFtZVtzcmMqPSJ5b3V0dWJlLW5vY29va2llLmNvbSJdJywnaWZyYW1lW3NyYyo9ImtpY2tzdGFydGVyLmNvbSJdW3NyYyo9InZpZGVvLmh0bWwiXScsIm9iamVjdCIsImVtYmVkIl07aS5jdXN0b21TZWxlY3RvciYmZS5wdXNoKGkuY3VzdG9tU2VsZWN0b3IpO3ZhciByPSIuZml0dmlkc2lnbm9yZSI7aS5pZ25vcmUmJihyPXIrIiwgIitpLmlnbm9yZSk7dmFyIGE9dCh0aGlzKS5maW5kKGUuam9pbigiLCIpKTthPWEubm90KCJvYmplY3Qgb2JqZWN0IiksYT1hLm5vdChyKSxhLmVhY2goZnVuY3Rpb24oZSl7dmFyIGk9dCh0aGlzKTtpZighKGkucGFyZW50cyhyKS5sZW5ndGg+MHx8ImVtYmVkIj09PXRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpJiZpLnBhcmVudCgib2JqZWN0IikubGVuZ3RofHxpLnBhcmVudCgiLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIiKS5sZW5ndGgpKXtpLmNzcygiaGVpZ2h0Iil8fGkuY3NzKCJ3aWR0aCIpfHwhaXNOYU4oaS5hdHRyKCJoZWlnaHQiKSkmJiFpc05hTihpLmF0dHIoIndpZHRoIikpfHwoaS5hdHRyKCJoZWlnaHQiLDkpLGkuYXR0cigid2lkdGgiLDE2KSk7dmFyIGE9Im9iamVjdCI9PT10aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKXx8aS5hdHRyKCJoZWlnaHQiKSYmIWlzTmFOKHBhcnNlSW50KGkuYXR0cigiaGVpZ2h0IiksMTApKT9wYXJzZUludChpLmF0dHIoImhlaWdodCIpLDEwKTppLmhlaWdodCgpLGQ9aXNOYU4ocGFyc2VJbnQoaS5hdHRyKCJ3aWR0aCIpLDEwKSk/aS53aWR0aCgpOnBhcnNlSW50KGkuYXR0cigid2lkdGgiKSwxMCksbz1hL2Q7aWYoIWkuYXR0cigiaWQiKSl7dmFyIGg9ImZpdHZpZCIrZTtpLmF0dHIoImlkIixoKX0NCmkud3JhcCgnPGRpdiBjbGFzcz0iZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciI+PC9kaXY+JykucGFyZW50KCIuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciIpLmNzcygicGFkZGluZy10b3AiLDEwMCpvKyIlIiksaS5yZW1vdmVBdHRyKCJoZWlnaHQiKS5yZW1vdmVBdHRyKCJ3aWR0aCIpfX0pfSl9fSh3aW5kb3cualF1ZXJ5fHx3aW5kb3cuWmVwdG8pOw0KDQovKg0KICogIFJldGluYS5qcw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiENCiAqIFJldGluYS5qcyB2MS4zLjANCiAqDQogKiBDb3B5cmlnaHQgMjAxNCBJbXVsdXMsIExMQw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlDQogKg0KICogUmV0aW5hLmpzIGlzIGFuIG9wZW4gc291cmNlIHNjcmlwdCB0aGF0IG1ha2VzIGl0IGVhc3kgdG8gc2VydmUNCiAqIGhpZ2gtcmVzb2x1dGlvbiBpbWFnZXMgdG8gZGV2aWNlcyB3aXRoIHJldGluYSBkaXNwbGF5cy4NCiAqLw0KLyohZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7fWZ1bmN0aW9uIGIoYSl7cmV0dXJuIGYucmV0aW5hSW1hZ2VTdWZmaXgrYX1mdW5jdGlvbiBjKGEsYyl7aWYodGhpcy5wYXRoPWF8fCIiLCJ1bmRlZmluZWQiIT10eXBlb2YgYyYmbnVsbCE9PWMpdGhpcy5hdF8yeF9wYXRoPWMsdGhpcy5wZXJmb3JtX2NoZWNrPSExO2Vsc2V7aWYodm9pZCAwIT09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCl7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2QuaHJlZj10aGlzLnBhdGgsZC5wYXRobmFtZT1kLnBhdGhuYW1lLnJlcGxhY2UoZyxiKSx0aGlzLmF0XzJ4X3BhdGg9ZC5ocmVmfWVsc2V7dmFyIGU9dGhpcy5wYXRoLnNwbGl0KCI/Iik7ZVswXT1lWzBdLnJlcGxhY2UoZyxiKSx0aGlzLmF0XzJ4X3BhdGg9ZS5qb2luKCI/Iil9dGhpcy5wZXJmb3JtX2NoZWNrPSEwfX1mdW5jdGlvbiBkKGEpe3RoaXMuZWw9YSx0aGlzLnBhdGg9bmV3IGModGhpcy5lbC5nZXRBdHRyaWJ1dGUoInNyYyIpLHRoaXMuZWwuZ2V0QXR0cmlidXRlKCJkYXRhLWF0MngiKSk7dmFyIGI9dGhpczt0aGlzLnBhdGguY2hlY2tfMnhfdmFyaWFudChmdW5jdGlvbihhKXthJiZiLnN3YXAoKX0pfXZhciBlPSJ1bmRlZmluZWQiPT10eXBlb2YgZXhwb3J0cz93aW5kb3c6ZXhwb3J0cyxmPXtyZXRpbmFJbWFnZVN1ZmZpeDoiQDJ4IixjaGVja19taW1lX3R5cGU6ITAsZm9yY2Vfb3JpZ2luYWxfZGltZW5zaW9uczohMH07ZS5SZXRpbmE9YSxhLmNvbmZpZ3VyZT1mdW5jdGlvbihhKXtudWxsPT09YSYmKGE9e30pO2Zvcih2YXIgYiBpbiBhKWEuaGFzT3duUHJvcGVydHkoYikmJihmW2JdPWFbYl0pfSxhLmluaXQ9ZnVuY3Rpb24oYSl7bnVsbD09PWEmJihhPWUpO3ZhciBiPWEub25sb2FkfHxmdW5jdGlvbigpe307YS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgYSxjLGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImltZyIpLGY9W107Zm9yKGE9MDthPGUubGVuZ3RoO2ErPTEpYz1lW2FdLGMuZ2V0QXR0cmlidXRlTm9kZSgiZGF0YS1uby1yZXRpbmEiKXx8Zi5wdXNoKG5ldyBkKGMpKTtiKCl9fSxhLmlzUmV0aW5hPWZ1bmN0aW9uKCl7dmFyIGE9Iigtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzLzIpLCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpIjtyZXR1cm4gZS5kZXZpY2VQaXhlbFJhdGlvPjE/ITA6ZS5tYXRjaE1lZGlhJiZlLm1hdGNoTWVkaWEoYSkubWF0Y2hlcz8hMDohMX07dmFyIGc9L1wuXHcrJC87ZS5SZXRpbmFJbWFnZVBhdGg9YyxjLmNvbmZpcm1lZF9wYXRocz1bXSxjLnByb3RvdHlwZS5pc19leHRlcm5hbD1mdW5jdGlvbigpe3JldHVybiEoIXRoaXMucGF0aC5tYXRjaCgvXmh0dHBzP1w6L2kpfHx0aGlzLnBhdGgubWF0Y2goIi8vIitkb2N1bWVudC5kb21haW4pKX0sYy5wcm90b3R5cGUuY2hlY2tfMnhfdmFyaWFudD1mdW5jdGlvbihhKXt2YXIgYixkPXRoaXM7cmV0dXJuIHRoaXMuaXNfZXh0ZXJuYWwoKT9hKCExKTp0aGlzLnBlcmZvcm1fY2hlY2t8fCJ1bmRlZmluZWQiPT10eXBlb2YgdGhpcy5hdF8yeF9wYXRofHxudWxsPT09dGhpcy5hdF8yeF9wYXRoP3RoaXMuYXRfMnhfcGF0aCBpbiBjLmNvbmZpcm1lZF9wYXRocz9hKCEwKTooYj1uZXcgWE1MSHR0cFJlcXVlc3QsYi5vcGVuKCJIRUFEIix0aGlzLmF0XzJ4X3BhdGgpLGIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoNCE9PWIucmVhZHlTdGF0ZSlyZXR1cm4gYSghMSk7aWYoYi5zdGF0dXM+PTIwMCYmYi5zdGF0dXM8PTM5OSl7aWYoZi5jaGVja19taW1lX3R5cGUpe3ZhciBlPWIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpO2lmKG51bGw9PT1lfHwhZS5tYXRjaCgvXmltYWdlL2kpKXJldHVybiBhKCExKX1yZXR1cm4gYy5jb25maXJtZWRfcGF0aHMucHVzaChkLmF0XzJ4X3BhdGgpLGEoITApfXJldHVybiBhKCExKX0sYi5zZW5kKCksdm9pZCAwKTphKCEwKX0sZS5SZXRpbmFJbWFnZT1kLGQucHJvdG90eXBlLnN3YXA9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MuZWwuY29tcGxldGU/KGYuZm9yY2Vfb3JpZ2luYWxfZGltZW5zaW9ucyYmKGMuZWwuc2V0QXR0cmlidXRlKCJ3aWR0aCIsYy5lbC5vZmZzZXRXaWR0aCksYy5lbC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsYy5lbC5vZmZzZXRIZWlnaHQpKSxjLmVsLnNldEF0dHJpYnV0ZSgic3JjIixhKSk6c2V0VGltZW91dChiLDUpfSJ1bmRlZmluZWQiPT10eXBlb2YgYSYmKGE9dGhpcy5wYXRoLmF0XzJ4X3BhdGgpO3ZhciBjPXRoaXM7YigpfSxhLmlzUmV0aW5hKCkmJmEuaW5pdChlKX0oKTsNCiovDQoNCi8qDQogKiAgYWpheGNoaW1wDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qIQ0KICogdmVyc2lvbiAxLjMuMCANCiAqLw0KKGZ1bmN0aW9uKCQpeyJ1c2Ugc3RyaWN0IjskLmFqYXhDaGltcD17cmVzcG9uc2VzOnsiV2UgaGF2ZSBzZW50IHlvdSBhIGNvbmZpcm1hdGlvbiBlbWFpbCI6MCwiUGxlYXNlIGVudGVyIGEgdmFsdWUiOjEsIkFuIGVtYWlsIGFkZHJlc3MgbXVzdCBjb250YWluIGEgc2luZ2xlIEAiOjIsIlRoZSBkb21haW4gcG9ydGlvbiBvZiB0aGUgZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkICh0aGUgcG9ydGlvbiBhZnRlciB0aGUgQDogKSI6MywiVGhlIHVzZXJuYW1lIHBvcnRpb24gb2YgdGhlIGVtYWlsIGFkZHJlc3MgaXMgaW52YWxpZCAodGhlIHBvcnRpb24gYmVmb3JlIHRoZSBAOiApIjo0LCJUaGlzIGVtYWlsIGFkZHJlc3MgbG9va3MgZmFrZSBvciBpbnZhbGlkLiBQbGVhc2UgZW50ZXIgYSByZWFsIGVtYWlsIGFkZHJlc3MiOjV9LHRyYW5zbGF0aW9uczp7ZW46bnVsbH0saW5pdDpmdW5jdGlvbihzZWxlY3RvcixvcHRpb25zKXskKHNlbGVjdG9yKS5hamF4Q2hpbXAob3B0aW9ucyl9fTskLmZuLmFqYXhDaGltcD1mdW5jdGlvbihvcHRpb25zKXskKHRoaXMpLmVhY2goZnVuY3Rpb24oaSxlbGVtKXt2YXIgZm9ybT0kKGVsZW0pO3ZhciBlbWFpbD1mb3JtLmZpbmQoImlucHV0W3R5cGU9ZW1haWxdIik7dmFyIGxhYmVsPWZvcm0uZmluZCgibGFiZWxbZm9yPSIrZW1haWwuYXR0cigiaWQiKSsiXSIpO3ZhciBzZXR0aW5ncz0kLmV4dGVuZCh7dXJsOmZvcm0uYXR0cigiYWN0aW9uIiksbGFuZ3VhZ2U6ImVuIn0sb3B0aW9ucyk7dmFyIHVybD1zZXR0aW5ncy51cmwucmVwbGFjZSgiL3Bvc3Q/IiwiL3Bvc3QtanNvbj8iKS5jb25jYXQoIiZjPT8iKTtmb3JtLmF0dHIoIm5vdmFsaWRhdGUiLCJ0cnVlIik7ZW1haWwuYXR0cigibmFtZSIsIkVNQUlMIik7Zm9ybS5zdWJtaXQoZnVuY3Rpb24oKXt2YXIgbXNnO2Z1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjayhyZXNwKXtpZihyZXNwLnJlc3VsdD09PSJzdWNjZXNzIil7bXNnPSJXZSBoYXZlIHNlbnQgeW91IGEgY29uZmlybWF0aW9uIGVtYWlsIjtsYWJlbC5yZW1vdmVDbGFzcygiZXJyb3IiKS5hZGRDbGFzcygidmFsaWQiKTtlbWFpbC5yZW1vdmVDbGFzcygiZXJyb3IiKS5hZGRDbGFzcygidmFsaWQiKX1lbHNle2VtYWlsLnJlbW92ZUNsYXNzKCJ2YWxpZCIpLmFkZENsYXNzKCJlcnJvciIpO2xhYmVsLnJlbW92ZUNsYXNzKCJ2YWxpZCIpLmFkZENsYXNzKCJlcnJvciIpO3ZhciBpbmRleD0tMTt0cnl7dmFyIHBhcnRzPXJlc3AubXNnLnNwbGl0KCIgLSAiLDIpO2lmKHBhcnRzWzFdPT09dW5kZWZpbmVkKXttc2c9cmVzcC5tc2d9ZWxzZXt2YXIgaT1wYXJzZUludChwYXJ0c1swXSwxMCk7aWYoaS50b1N0cmluZygpPT09cGFydHNbMF0pe2luZGV4PXBhcnRzWzBdO21zZz1wYXJ0c1sxXX1lbHNle2luZGV4PS0xO21zZz1yZXNwLm1zZ319fWNhdGNoKGUpe2luZGV4PS0xO21zZz1yZXNwLm1zZ319aWYoc2V0dGluZ3MubGFuZ3VhZ2UhPT0iZW4iJiYkLmFqYXhDaGltcC5yZXNwb25zZXNbbXNnXSE9PXVuZGVmaW5lZCYmJC5hamF4Q2hpbXAudHJhbnNsYXRpb25zJiYkLmFqYXhDaGltcC50cmFuc2xhdGlvbnNbc2V0dGluZ3MubGFuZ3VhZ2VdJiYkLmFqYXhDaGltcC50cmFuc2xhdGlvbnNbc2V0dGluZ3MubGFuZ3VhZ2VdWyQuYWpheENoaW1wLnJlc3BvbnNlc1ttc2ddXSl7bXNnPSQuYWpheENoaW1wLnRyYW5zbGF0aW9uc1tzZXR0aW5ncy5sYW5ndWFnZV1bJC5hamF4Q2hpbXAucmVzcG9uc2VzW21zZ11dfWxhYmVsLmh0bWwobXNnKTtsYWJlbC5zaG93KDJlMyk7aWYoc2V0dGluZ3MuY2FsbGJhY2spe3NldHRpbmdzLmNhbGxiYWNrKHJlc3ApfX12YXIgZGF0YT17fTt2YXIgZGF0YUFycmF5PWZvcm0uc2VyaWFsaXplQXJyYXkoKTskLmVhY2goZGF0YUFycmF5LGZ1bmN0aW9uKGluZGV4LGl0ZW0pe2RhdGFbaXRlbS5uYW1lXT1pdGVtLnZhbHVlfSk7JC5hamF4KHt1cmw6dXJsLGRhdGE6ZGF0YSxzdWNjZXNzOnN1Y2Nlc3NDYWxsYmFjayxkYXRhVHlwZToianNvbnAiLGVycm9yOmZ1bmN0aW9uKHJlc3AsdGV4dCl7Y29uc29sZS5sb2coIm1haWxjaGltcCBhamF4IHN1Ym1pdCBlcnJvcjogIit0ZXh0KX19KTt2YXIgc3VibWl0TXNnPSJTdWJtaXR0aW5nLi4uIjtpZihzZXR0aW5ncy5sYW5ndWFnZSE9PSJlbiImJiQuYWpheENoaW1wLnRyYW5zbGF0aW9ucyYmJC5hamF4Q2hpbXAudHJhbnNsYXRpb25zW3NldHRpbmdzLmxhbmd1YWdlXSYmJC5hamF4Q2hpbXAudHJhbnNsYXRpb25zW3NldHRpbmdzLmxhbmd1YWdlXVsic3VibWl0Il0pe3N1Ym1pdE1zZz0kLmFqYXhDaGltcC50cmFuc2xhdGlvbnNbc2V0dGluZ3MubGFuZ3VhZ2VdWyJzdWJtaXQiXX1sYWJlbC5odG1sKHN1Ym1pdE1zZykuc2hvdygyZTMpO3JldHVybiBmYWxzZX0pfSk7cmV0dXJuIHRoaXN9fSkoalF1ZXJ5KTsNCg0KDQovKg0KICogIHR3ZWV0aWUNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KKGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtlLmZuLnR3aXR0aWU9ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHNbMF1pbnN0YW5jZW9mIE9iamVjdD9hcmd1bWVudHNbMF06e30sbj10eXBlb2YgYXJndW1lbnRzWzBdPT09ImZ1bmN0aW9uIj9hcmd1bWVudHNbMF06YXJndW1lbnRzWzFdO3ZhciByPWUuZXh0ZW5kKHt1c2VybmFtZTpudWxsLGxpc3Q6bnVsbCxoYXNodGFnOm51bGwsY291bnQ6MTAsaGlkZVJlcGxpZXM6ZmFsc2UsZGF0ZUZvcm1hdDoiJWIvJWQvJVkiLHRlbXBsYXRlOiJ7e2RhdGV9fSAtIHt7dHdlZXR9fSIsYXBpUGF0aDoiaW5jbHVkZXMvdHdpdHRlci90d2VldC5waHAiLGxvYWRpbmdUZXh0OiJMb2FkaW5nLi4uIn0sdCk7aWYoci5saXN0JiYhci51c2VybmFtZSl7ZS5lcnJvcigiSWYgeW91IHdhbnQgdG8gZmV0Y2ggdHdlZXRzIGZyb20gYSBsaXN0LCB5b3UgbXVzdCBkZWZpbmUgdGhlIHVzZXJuYW1lIG9mIHRoZSBsaXN0IG93bmVyLiIpfXZhciBpPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSgvKGh0dHBzPzpcL1wvKFstXHdcLl0rKSsoOlxkKyk/KFwvKFtcd1wvX1wuXSooXD9cUyspPyk/KT8pL2lnLCc8YSBocmVmPSIkMSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJWaXNpdCB0aGlzIGxpbmsiPiQxPC9hPicpLnJlcGxhY2UoLyMoW2EtekEtWjAtOV9dKykvZywnPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9zZWFyY2g/cT0lMjMkMSZzcmM9aGFzaCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJTZWFyY2ggZm9yICMkMSI+IyQxPC9hPicpLnJlcGxhY2UoL0AoW2EtekEtWjAtOV9dKykvZywnPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS8kMSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSIkMSBvbiBUd2l0dGVyIj5AJDE8L2E+Jyk7cmV0dXJuIHR9O3ZhciBzPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3BsaXQoIiAiKTtlPW5ldyBEYXRlKERhdGUucGFyc2UodFsxXSsiICIrdFsyXSsiLCAiK3RbNV0rIiAiK3RbM10rIiBVVEMiKSk7dmFyIG49WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdO3ZhciBpPXsiJWQiOmUuZ2V0RGF0ZSgpLCIlbSI6ZS5nZXRNb250aCgpKzEsIiViIjpuW2UuZ2V0TW9udGgoKV0uc3Vic3RyKDAsMyksIiVCIjpuW2UuZ2V0TW9udGgoKV0sIiV5IjpTdHJpbmcoZS5nZXRGdWxsWWVhcigpKS5zbGljZSgtMiksIiVZIjplLmdldEZ1bGxZZWFyKCl9O3ZhciBzPXIuZGF0ZUZvcm1hdDt2YXIgbz1yLmRhdGVGb3JtYXQubWF0Y2goLyVbZG1iQnlZXS9nKTtmb3IodmFyIHU9MCxhPW8ubGVuZ3RoO3U8YTt1Kyspe3M9cy5yZXBsYWNlKG9bdV0saVtvW3VdXSl9cmV0dXJuIHN9O3ZhciBvPWZ1bmN0aW9uKGUpe3ZhciB0PXIudGVtcGxhdGU7dmFyIG49WyJkYXRlIiwidHdlZXQiLCJhdmF0YXIiLCJ1cmwiLCJyZXR3ZWV0ZWQiLCJzY3JlZW5fbmFtZSIsInVzZXJfbmFtZSJdO2Zvcih2YXIgaT0wLHM9bi5sZW5ndGg7aTxzO2krKyl7dD10LnJlcGxhY2UobmV3IFJlZ0V4cCgie3siK25baV0rIn19IiwiZ2kiKSxlW25baV1dKX1yZXR1cm4gdH07dGhpcy5odG1sKCI8c3Bhbj4iK3IubG9hZGluZ1RleHQrIjwvc3Bhbj4iKTt2YXIgdT10aGlzO2UuZ2V0SlNPTihyLmFwaVBhdGgse3VzZXJuYW1lOnIudXNlcm5hbWUsbGlzdDpyLmxpc3QsaGFzaHRhZzpyLmhhc2h0YWcsY291bnQ6ci5jb3VudCxleGNsdWRlX3JlcGxpZXM6ci5oaWRlUmVwbGllc30sZnVuY3Rpb24oZSl7dS5maW5kKCJzcGFuIikuZmFkZU91dCgiZmFzdCIsZnVuY3Rpb24oKXt1Lmh0bWwoIjx1bD48L3VsPiIpO2Zvcih2YXIgdD0wO3Q8ci5jb3VudDt0Kyspe3ZhciBhPWZhbHNlO2lmKGVbdF0pe2E9ZVt0XX1lbHNlIGlmKGUuc3RhdHVzZXMhPT11bmRlZmluZWQmJmUuc3RhdHVzZXNbdF0pe2E9ZS5zdGF0dXNlc1t0XX1lbHNle2JyZWFrfXZhciBmPXt1c2VyX25hbWU6YS51c2VyLm5hbWUsZGF0ZTpzKGEuY3JlYXRlZF9hdCksdHdlZXQ6YS5yZXR3ZWV0ZWQ/aSgiUlQgQCIrYS51c2VyLnNjcmVlbl9uYW1lKyI6ICIrYS5yZXR3ZWV0ZWRfc3RhdHVzLnRleHQpOmkoYS50ZXh0KSxhdmF0YXI6JzxpbWcgc3JjPSInK2EudXNlci5wcm9maWxlX2ltYWdlX3VybCsnIiAvPicsdXJsOiJodHRwczovL3R3aXR0ZXIuY29tLyIrYS51c2VyLnNjcmVlbl9uYW1lKyIvc3RhdHVzLyIrYS5pZF9zdHIscmV0d2VldGVkOmEucmV0d2VldGVkLHNjcmVlbl9uYW1lOmkoIkAiK2EudXNlci5zY3JlZW5fbmFtZSl9O3UuZmluZCgidWwiKS5hcHBlbmQoIjxsaSBjbGFzcz0naXRlbSc+IitvKGYpKyI8L2xpPiIpfWlmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIil7bigpfX0pfSl9fSkoalF1ZXJ5KQ0KDQovKg0KICogIG1lbnVmdWxscGFnZQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiEgbWVudWZ1bGxwYWdlIC0gdjEuMC4wIC0gMjAxNS0wMy0yNg0KKiBodHRwczovL2dpdGh1Yi5jb20vcm90dGVuc3R1ZGlvcy9tZW51ZnVsbHBhZ2UNCiogQ29weXJpZ2h0IChjKSAyMDE1IENhcm1lbG8gQ2F0YWxmYW1vIC0gcm90dGVuU3R1ZGlvcy5pdCAqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjthLmZuLm1lbnVmdWxscGFnZT1mdW5jdGlvbihiKXt2YXIgYz1hLmV4dGVuZCh7bWVudToiI2Z1bGxwYWdlLW5hdiIscHVzaDoiLnB1c2giLHNpZGU6ImxlZnQiLG1lbnVXaWR0aDoiMTAwJSIsc3BlZWQ6IjQwMCIsYWN0aXZlQnRuOiJtZW51LW9wZW4ifSxiKSxkPXRoaXMsZT1hKGMubWVudSksZj1hKGMucHVzaCksZz1jLm1lbnVXaWR0aCxoPXtwb3NpdGlvbjoiZml4ZWQiLHRvcDoiMCIsYm90dG9tOiIwIiwic2V0dGluZ3Muc2lkZSI6Ii0iK2MubWVudVdpZHRoLHdpZHRoOmMubWVudVdpZHRoLGhlaWdodDoiMTAwJSJ9LGk9eyItd2Via2l0LXRyYW5zaXRpb24iOmMuc2lkZSsiICIrYy5zcGVlZCsibXMgZWFzZSIsIi1tb3otdHJhbnNpdGlvbiI6Yy5zaWRlKyIgIitjLnNwZWVkKyJtcyBlYXNlIiwiLW1zLXRyYW5zaXRpb24iOmMuc2lkZSsiICIrYy5zcGVlZCsibXMgZWFzZSIsIi1vLXRyYW5zaXRpb24iOmMuc2lkZSsiICIrYy5zcGVlZCsibXMgZWFzZSIsdHJhbnNpdGlvbjpjLnNpZGUrIiAiK2Muc3BlZWQrIm1zIGVhc2UifTtyZXR1cm4gZS5jc3MoaCksZi5jc3MoYy5zaWRlLCIwIiksZS5jc3MoaSksZi5jc3MoaSksZS5fc3RhdGU9ImNsb3NlZCIsZS5vcGVuPWZ1bmN0aW9uKCl7ZS5fc3RhdGU9Im9wZW4iLGUuY3NzKGMuc2lkZSwiMCIpLGYuY3NzKGMuc2lkZSxnKSxkLmFkZENsYXNzKGMuYWN0aXZlQnRuKX0sZS5jbG9zZT1mdW5jdGlvbigpe2UuX3N0YXRlPSJjbG9zZWQiLGUuY3NzKGMuc2lkZSwiLSIrZyksZi5jc3MoYy5zaWRlLCIwIiksZC5yZW1vdmVDbGFzcyhjLmFjdGl2ZUJ0bil9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5tZW51ZnVsbHBhZ2UiLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLnBhcmVudHMoKS5hbmRTZWxmKCkuaXMoZCl8fCJvcGVuIiE9PWUuX3N0YXRlfHwoZS5jbG9zZSgpLGQucmVtb3ZlQ2xhc3MoYy5hY3RpdmVCdG4pKX0pLGQub24oImNsaWNrLm1lbnVmdWxscGFnZSIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLCJjbG9zZWQiPT09ZS5fc3RhdGU/ZS5vcGVuKCk6ZS5jbG9zZSgpfSksZC5vbigidG91Y2hlbmQiLGZ1bmN0aW9uKGEpe2QudHJpZ2dlcigiY2xpY2subWVudWZ1bGxwYWdlIiksYS5wcmV2ZW50RGVmYXVsdCgpfSksZX19KGpRdWVyeSk7IWZ1bmN0aW9uKGUsdCl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoInNtb290aFNjcm9sbCIsdChlKSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPXQoZSk6ZS5zbW9vdGhTY3JvbGw9dChlKX0od2luZG93fHx0aGlzLGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdCxuLG8scj17fSxhPSEhZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmISFlLmFkZEV2ZW50TGlzdGVuZXIsYz17c3BlZWQ6NTAwLGVhc2luZzoiZWFzZUluT3V0Q3ViaWMiLG9mZnNldDowLHVwZGF0ZVVSTDohMCxjYWxsYmFja0JlZm9yZTpmdW5jdGlvbigpe30sY2FsbGJhY2tBZnRlcjpmdW5jdGlvbigpe319LHU9ZnVuY3Rpb24oZSx0LG4pe2lmKCJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpKWZvcih2YXIgbyBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG8pJiZ0LmNhbGwobixlW29dLG8sZSk7ZWxzZSBmb3IodmFyIHI9MCxhPWUubGVuZ3RoO2E+cjtyKyspdC5jYWxsKG4sZVtyXSxyLGUpfSxpPWZ1bmN0aW9uKGUsdCl7dmFyIG49e307cmV0dXJuIHUoZSxmdW5jdGlvbih0LG8pe25bb109ZVtvXX0pLHUodCxmdW5jdGlvbihlLG8pe25bb109dFtvXX0pLG59LGw9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49dC5jaGFyQXQoMCk7ZSYmZSE9PWRvY3VtZW50O2U9ZS5wYXJlbnROb2RlKWlmKCIuIj09PW4pe2lmKGUuY2xhc3NMaXN0LmNvbnRhaW5zKHQuc3Vic3RyKDEpKSlyZXR1cm4gZX1lbHNlIGlmKCIjIj09PW4pe2lmKGUuaWQ9PT10LnN1YnN0cigxKSlyZXR1cm4gZX1lbHNlIGlmKCJbIj09PW4mJmUuaGFzQXR0cmlidXRlKHQuc3Vic3RyKDEsdC5sZW5ndGgtMikpKXJldHVybiBlO3JldHVybiExfSxzPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLm1heChlLnNjcm9sbEhlaWdodCxlLm9mZnNldEhlaWdodCxlLmNsaWVudEhlaWdodCl9LGY9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49U3RyaW5nKGUpLG89bi5sZW5ndGgscj0tMSxhPSIiLGM9bi5jaGFyQ29kZUF0KDApOysrcjxvOyl7aWYodD1uLmNoYXJDb2RlQXQociksMD09PXQpdGhyb3cgbmV3IEludmFsaWRDaGFyYWN0ZXJFcnJvcigiSW52YWxpZCBjaGFyYWN0ZXI6IHRoZSBpbnB1dCBjb250YWlucyBVKzAwMDAuIik7YSs9dD49MSYmMzE+PXR8fDEyNz09dHx8MD09PXImJnQ+PTQ4JiY1Nz49dHx8MT09PXImJnQ+PTQ4JiY1Nz49dCYmNDU9PT1jPyJcXCIrdC50b1N0cmluZygxNikrIiAiOnQ+PTEyOHx8NDU9PT10fHw5NT09PXR8fHQ+PTQ4JiY1Nz49dHx8dD49NjUmJjkwPj10fHx0Pj05NyYmMTIyPj10P24uY2hhckF0KHIpOiJcXCIrbi5jaGFyQXQocil9cmV0dXJuIGF9LGQ9ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4iZWFzZUluUXVhZCI9PT1lJiYobj10KnQpLCJlYXNlT3V0UXVhZCI9PT1lJiYobj10KigyLXQpKSwiZWFzZUluT3V0UXVhZCI9PT1lJiYobj0uNT50PzIqdCp0Oi0xKyg0LTIqdCkqdCksImVhc2VJbkN1YmljIj09PWUmJihuPXQqdCp0KSwiZWFzZU91dEN1YmljIj09PWUmJihuPS0tdCp0KnQrMSksImVhc2VJbk91dEN1YmljIj09PWUmJihuPS41PnQ/NCp0KnQqdDoodC0xKSooMip0LTIpKigyKnQtMikrMSksImVhc2VJblF1YXJ0Ij09PWUmJihuPXQqdCp0KnQpLCJlYXNlT3V0UXVhcnQiPT09ZSYmKG49MS0gLS10KnQqdCp0KSwiZWFzZUluT3V0UXVhcnQiPT09ZSYmKG49LjU+dD84KnQqdCp0KnQ6MS04Ki0tdCp0KnQqdCksImVhc2VJblF1aW50Ij09PWUmJihuPXQqdCp0KnQqdCksImVhc2VPdXRRdWludCI9PT1lJiYobj0xKy0tdCp0KnQqdCp0KSwiZWFzZUluT3V0UXVpbnQiPT09ZSYmKG49LjU+dD8xNip0KnQqdCp0KnQ6MSsxNiotLXQqdCp0KnQqdCksbnx8dH0saD1mdW5jdGlvbihlLHQsbil7dmFyIG89MDtpZihlLm9mZnNldFBhcmVudClkbyBvKz1lLm9mZnNldFRvcCxlPWUub2Zmc2V0UGFyZW50O3doaWxlKGUpO3JldHVybiBvPW8tdC1uLG8+PTA/bzowfSxtPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQsZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodCxkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KX0scD1mdW5jdGlvbihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBKU09OJiYiZnVuY3Rpb24iPT10eXBlb2YgSlNPTi5wYXJzZT9KU09OLnBhcnNlKGUpOnt9fSx2PWZ1bmN0aW9uKHQsbil7aGlzdG9yeS5wdXNoU3RhdGUmJihufHwidHJ1ZSI9PT1uKSYmaGlzdG9yeS5wdXNoU3RhdGUobnVsbCxudWxsLFtlLmxvY2F0aW9uLnByb3RvY29sLCIvLyIsZS5sb2NhdGlvbi5ob3N0LGUubG9jYXRpb24ucGF0aG5hbWUsZS5sb2NhdGlvbi5zZWFyY2gsdF0uam9pbigiIikpfTtyLmFuaW1hdGVTY3JvbGw9ZnVuY3Rpb24odCxuLHIpe3ZhciBhPWkoYXx8YyxyfHx7fSksdT1wKHQ/dC5nZXRBdHRyaWJ1dGUoImRhdGEtb3B0aW9ucyIpOm51bGwpO2E9aShhLHUpLG49IiMiK2Yobi5zdWJzdHIoMSkpO3ZhciBsPSIjIj09PW4/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobiksZz1lLnBhZ2VZT2Zmc2V0O298fChvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltkYXRhLXNjcm9sbC1oZWFkZXJdIikpO3ZhciBiLE8seSxTPW51bGw9PT1vPzA6cyhvKStvLm9mZnNldFRvcCxJPWgobCxTLHBhcnNlSW50KGEub2Zmc2V0LDEwKSksSD1JLWcsRT1tKCksQT0wO3YobixhLnVwZGF0ZVVSTCk7dmFyIEw9ZnVuY3Rpb24obyxyLGMpe3ZhciB1PWUucGFnZVlPZmZzZXQ7KG89PXJ8fHU9PXJ8fGUuaW5uZXJIZWlnaHQrdT49RSkmJihjbGVhckludGVydmFsKGMpLGwuZm9jdXMoKSxhLmNhbGxiYWNrQWZ0ZXIodCxuKSl9LFE9ZnVuY3Rpb24oKXtBKz0xNixPPUEvcGFyc2VJbnQoYS5zcGVlZCwxMCksTz1PPjE/MTpPLHk9ZytIKmQoYS5lYXNpbmcsTyksZS5zY3JvbGxUbygwLE1hdGguZmxvb3IoeSkpLEwoeSxJLGIpfSxDPWZ1bmN0aW9uKCl7YS5jYWxsYmFja0JlZm9yZSh0LG4pLGI9c2V0SW50ZXJ2YWwoUSwxNil9OzA9PT1lLnBhZ2VZT2Zmc2V0JiZlLnNjcm9sbFRvKDAsMCksQygpfTt2YXIgZz1mdW5jdGlvbihlKXt2YXIgbj1sKGUudGFyZ2V0LCJbZGF0YS1zY3JvbGxdIik7biYmImEiPT09bi50YWdOYW1lLnRvTG93ZXJDYXNlKCkmJihlLnByZXZlbnREZWZhdWx0KCksci5hbmltYXRlU2Nyb2xsKG4sbi5oYXNoLHQpKX0sYj1mdW5jdGlvbigpe258fChuPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuPW51bGwsaGVhZGVySGVpZ2h0PW51bGw9PT1vPzA6cyhvKStvLm9mZnNldFRvcH0sNjYpKX07cmV0dXJuIHIuZGVzdHJveT1mdW5jdGlvbigpe3QmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsZywhMSksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGIsITEpLHQ9bnVsbCxuPW51bGwsbz1udWxsKX0sci5pbml0PWZ1bmN0aW9uKG4pe2EmJihyLmRlc3Ryb3koKSx0PWkoYyxufHx7fSksbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJbZGF0YS1zY3JvbGwtaGVhZGVyXSIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixnLCExKSxvJiZlLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsYiwhMSkpfSxyfSk7DQoNCi8qDQogKiAgV09XIGFuaW1hdGlvbg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiEgV09XIC0gdjEuMS4yIC0gMjAxNS0wOC0xOQ0KKiBDb3B5cmlnaHQgKGMpIDIwMTUgTWF0dGhpZXUgQXVzc2FndWVsOyBMaWNlbnNlZCBNSVQgKi8NCihmdW5jdGlvbigpe3ZhciBhLGIsYyxkLGUsZj1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGIsYXJndW1lbnRzKX19LGc9W10uaW5kZXhPZnx8ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz10aGlzLmxlbmd0aDtjPmI7YisrKWlmKGIgaW4gdGhpcyYmdGhpc1tiXT09PWEpcmV0dXJuIGI7cmV0dXJuLTF9O2I9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7fXJldHVybiBhLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO2ZvcihjIGluIGIpZD1iW2NdLG51bGw9PWFbY10mJihhW2NdPWQpO3JldHVybiBhfSxhLnByb3RvdHlwZS5pc01vYmlsZT1mdW5jdGlvbihhKXtyZXR1cm4vQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QoYSl9LGEucHJvdG90eXBlLmNyZWF0ZUV2ZW50PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO3JldHVybiBudWxsPT1iJiYoYj0hMSksbnVsbD09YyYmKGM9ITEpLG51bGw9PWQmJihkPW51bGwpLG51bGwhPWRvY3VtZW50LmNyZWF0ZUV2ZW50PyhlPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGUuaW5pdEN1c3RvbUV2ZW50KGEsYixjLGQpKTpudWxsIT1kb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdD8oZT1kb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCgpLGUuZXZlbnRUeXBlPWEpOmUuZXZlbnROYW1lPWEsZX0sYS5wcm90b3R5cGUuZW1pdEV2ZW50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWEuZGlzcGF0Y2hFdmVudD9hLmRpc3BhdGNoRXZlbnQoYik6YiBpbihudWxsIT1hKT9hW2JdKCk6Im9uIitiIGluKG51bGwhPWEpP2FbIm9uIitiXSgpOnZvaWQgMH0sYS5wcm90b3R5cGUuYWRkRXZlbnQ9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsIT1hLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGIsYywhMSk6bnVsbCE9YS5hdHRhY2hFdmVudD9hLmF0dGFjaEV2ZW50KCJvbiIrYixjKTphW2JdPWN9LGEucHJvdG90eXBlLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbnVsbCE9YS5yZW1vdmVFdmVudExpc3RlbmVyP2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpOm51bGwhPWEuZGV0YWNoRXZlbnQ/YS5kZXRhY2hFdmVudCgib24iK2IsYyk6ZGVsZXRlIGFbYl19LGEucHJvdG90eXBlLmlubmVySGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuImlubmVySGVpZ2h0ImluIHdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodH0sYX0oKSxjPXRoaXMuV2Vha01hcHx8dGhpcy5Nb3pXZWFrTWFwfHwoYz1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXt0aGlzLmtleXM9W10sdGhpcy52YWx1ZXM9W119cmV0dXJuIGEucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO2ZvcihmPXRoaXMua2V5cyxiPWQ9MCxlPWYubGVuZ3RoO2U+ZDtiPSsrZClpZihjPWZbYl0sYz09PWEpcmV0dXJuIHRoaXMudmFsdWVzW2JdfSxhLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihnPXRoaXMua2V5cyxjPWU9MCxmPWcubGVuZ3RoO2Y+ZTtjPSsrZSlpZihkPWdbY10sZD09PWEpcmV0dXJuIHZvaWQodGhpcy52YWx1ZXNbY109Yik7cmV0dXJuIHRoaXMua2V5cy5wdXNoKGEpLHRoaXMudmFsdWVzLnB1c2goYil9LGF9KCkpLGE9dGhpcy5NdXRhdGlvbk9ic2VydmVyfHx0aGlzLldlYmtpdE11dGF0aW9uT2JzZXJ2ZXJ8fHRoaXMuTW96TXV0YXRpb25PYnNlcnZlcnx8KGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZudWxsIT09Y29uc29sZSYmY29uc29sZS53YXJuKCJNdXRhdGlvbk9ic2VydmVyIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyLiIpLCJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmbnVsbCE9PWNvbnNvbGUmJmNvbnNvbGUud2FybigiV09XLmpzIGNhbm5vdCBkZXRlY3QgZG9tIG11dGF0aW9ucywgcGxlYXNlIGNhbGwgLnN5bmMoKSBhZnRlciBsb2FkaW5nIG5ldyBjb250ZW50LiIpfXJldHVybiBhLm5vdFN1cHBvcnRlZD0hMCxhLnByb3RvdHlwZS5vYnNlcnZlPWZ1bmN0aW9uKCl7fSxhfSgpKSxkPXRoaXMuZ2V0Q29tcHV0ZWRTdHlsZXx8ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZ2V0UHJvcGVydHlWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYztyZXR1cm4iZmxvYXQiPT09YiYmKGI9InN0eWxlRmxvYXQiKSxlLnRlc3QoYikmJmIucmVwbGFjZShlLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9VcHBlckNhc2UoKX0pLChudWxsIT0oYz1hLmN1cnJlbnRTdHlsZSk/Y1tiXTp2b2lkIDApfHxudWxsfSx0aGlzfSxlPS8oXC0oW2Etel0pezF9KS9nLHRoaXMuV09XPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShhKXtudWxsPT1hJiYoYT17fSksdGhpcy5zY3JvbGxDYWxsYmFjaz1mKHRoaXMuc2Nyb2xsQ2FsbGJhY2ssdGhpcyksdGhpcy5zY3JvbGxIYW5kbGVyPWYodGhpcy5zY3JvbGxIYW5kbGVyLHRoaXMpLHRoaXMucmVzZXRBbmltYXRpb249Zih0aGlzLnJlc2V0QW5pbWF0aW9uLHRoaXMpLHRoaXMuc3RhcnQ9Zih0aGlzLnN0YXJ0LHRoaXMpLHRoaXMuc2Nyb2xsZWQ9ITAsdGhpcy5jb25maWc9dGhpcy51dGlsKCkuZXh0ZW5kKGEsdGhpcy5kZWZhdWx0cyksbnVsbCE9YS5zY3JvbGxDb250YWluZXImJih0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhLnNjcm9sbENvbnRhaW5lcikpLHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlPW5ldyBjLHRoaXMud293RXZlbnQ9dGhpcy51dGlsKCkuY3JlYXRlRXZlbnQodGhpcy5jb25maWcuYm94Q2xhc3MpfXJldHVybiBlLnByb3RvdHlwZS5kZWZhdWx0cz17Ym94Q2xhc3M6IndvdyIsYW5pbWF0ZUNsYXNzOiJhbmltYXRlZCIsb2Zmc2V0OjAsbW9iaWxlOiEwLGxpdmU6ITAsY2FsbGJhY2s6bnVsbCxzY3JvbGxDb250YWluZXI6bnVsbH0sZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3ZhciBhO3JldHVybiB0aGlzLmVsZW1lbnQ9d2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwiaW50ZXJhY3RpdmUiPT09KGE9ZG9jdW1lbnQucmVhZHlTdGF0ZSl8fCJjb21wbGV0ZSI9PT1hP3RoaXMuc3RhcnQoKTp0aGlzLnV0aWwoKS5hZGRFdmVudChkb2N1bWVudCwiRE9NQ29udGVudExvYWRlZCIsdGhpcy5zdGFydCksdGhpcy5maW5pc2hlZD1bXX0sZS5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYixjLGQsZTtpZih0aGlzLnN0b3BwZWQ9ITEsdGhpcy5ib3hlcz1mdW5jdGlvbigpe3ZhciBhLGMsZCxlO2ZvcihkPXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuIit0aGlzLmNvbmZpZy5ib3hDbGFzcyksZT1bXSxhPTAsYz1kLmxlbmd0aDtjPmE7YSsrKWI9ZFthXSxlLnB1c2goYik7cmV0dXJuIGV9LmNhbGwodGhpcyksdGhpcy5hbGw9ZnVuY3Rpb24oKXt2YXIgYSxjLGQsZTtmb3IoZD10aGlzLmJveGVzLGU9W10sYT0wLGM9ZC5sZW5ndGg7Yz5hO2ErKyliPWRbYV0sZS5wdXNoKGIpO3JldHVybiBlfS5jYWxsKHRoaXMpLHRoaXMuYm94ZXMubGVuZ3RoKWlmKHRoaXMuZGlzYWJsZWQoKSl0aGlzLnJlc2V0U3R5bGUoKTtlbHNlIGZvcihlPXRoaXMuYm94ZXMsYz0wLGQ9ZS5sZW5ndGg7ZD5jO2MrKyliPWVbY10sdGhpcy5hcHBseVN0eWxlKGIsITApO3JldHVybiB0aGlzLmRpc2FibGVkKCl8fCh0aGlzLnV0aWwoKS5hZGRFdmVudCh0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXJ8fHdpbmRvdywic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXIpLHRoaXMudXRpbCgpLmFkZEV2ZW50KHdpbmRvdywicmVzaXplIix0aGlzLnNjcm9sbEhhbmRsZXIpLHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwodGhpcy5zY3JvbGxDYWxsYmFjayw1MCkpLHRoaXMuY29uZmlnLmxpdmU/bmV3IGEoZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjLGQsZSxmLGc7Zm9yKGc9W10sYz0wLGQ9Yi5sZW5ndGg7ZD5jO2MrKylmPWJbY10sZy5wdXNoKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Zm9yKGM9Zi5hZGRlZE5vZGVzfHxbXSxkPVtdLGE9MCxiPWMubGVuZ3RoO2I+YTthKyspZT1jW2FdLGQucHVzaCh0aGlzLmRvU3luYyhlKSk7cmV0dXJuIGR9LmNhbGwoYSkpO3JldHVybiBnfX0odGhpcykpLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTp2b2lkIDB9LGUucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdG9wcGVkPSEwLHRoaXMudXRpbCgpLnJlbW92ZUV2ZW50KHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lcnx8d2luZG93LCJzY3JvbGwiLHRoaXMuc2Nyb2xsSGFuZGxlciksdGhpcy51dGlsKCkucmVtb3ZlRXZlbnQod2luZG93LCJyZXNpemUiLHRoaXMuc2Nyb2xsSGFuZGxlciksbnVsbCE9dGhpcy5pbnRlcnZhbD9jbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpOnZvaWQgMH0sZS5wcm90b3R5cGUuc3luYz1mdW5jdGlvbigpe3JldHVybiBhLm5vdFN1cHBvcnRlZD90aGlzLmRvU3luYyh0aGlzLmVsZW1lbnQpOnZvaWQgMH0sZS5wcm90b3R5cGUuZG9TeW5jPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7aWYobnVsbD09YSYmKGE9dGhpcy5lbGVtZW50KSwxPT09YS5ub2RlVHlwZSl7Zm9yKGE9YS5wYXJlbnROb2RlfHxhLGU9YS5xdWVyeVNlbGVjdG9yQWxsKCIuIit0aGlzLmNvbmZpZy5ib3hDbGFzcyksZj1bXSxjPTAsZD1lLmxlbmd0aDtkPmM7YysrKWI9ZVtjXSxnLmNhbGwodGhpcy5hbGwsYik8MD8odGhpcy5ib3hlcy5wdXNoKGIpLHRoaXMuYWxsLnB1c2goYiksdGhpcy5zdG9wcGVkfHx0aGlzLmRpc2FibGVkKCk/dGhpcy5yZXNldFN0eWxlKCk6dGhpcy5hcHBseVN0eWxlKGIsITApLGYucHVzaCh0aGlzLnNjcm9sbGVkPSEwKSk6Zi5wdXNoKHZvaWQgMCk7cmV0dXJuIGZ9fSxlLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFwcGx5U3R5bGUoYSksYS5jbGFzc05hbWU9YS5jbGFzc05hbWUrIiAiK3RoaXMuY29uZmlnLmFuaW1hdGVDbGFzcyxudWxsIT10aGlzLmNvbmZpZy5jYWxsYmFjayYmdGhpcy5jb25maWcuY2FsbGJhY2soYSksdGhpcy51dGlsKCkuZW1pdEV2ZW50KGEsdGhpcy53b3dFdmVudCksdGhpcy51dGlsKCkuYWRkRXZlbnQoYSwiYW5pbWF0aW9uZW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSx0aGlzLnV0aWwoKS5hZGRFdmVudChhLCJvYW5pbWF0aW9uZW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSx0aGlzLnV0aWwoKS5hZGRFdmVudChhLCJ3ZWJraXRBbmltYXRpb25FbmQiLHRoaXMucmVzZXRBbmltYXRpb24pLHRoaXMudXRpbCgpLmFkZEV2ZW50KGEsIk1TQW5pbWF0aW9uRW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSxhfSxlLnByb3RvdHlwZS5hcHBseVN0eWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlO3JldHVybiBkPWEuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1kdXJhdGlvbiIpLGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LWRlbGF5IiksZT1hLmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctaXRlcmF0aW9uIiksdGhpcy5hbmltYXRlKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmLmN1c3RvbVN0eWxlKGEsYixkLGMsZSl9fSh0aGlzKSl9LGUucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oKXtyZXR1cm4icmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdz9mdW5jdGlvbihhKXtyZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShhKX06ZnVuY3Rpb24oYSl7cmV0dXJuIGEoKX19KCksZS5wcm90b3R5cGUucmVzZXRTdHlsZT1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGU7Zm9yKGQ9dGhpcy5ib3hlcyxlPVtdLGI9MCxjPWQubGVuZ3RoO2M+YjtiKyspYT1kW2JdLGUucHVzaChhLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiKTtyZXR1cm4gZX0sZS5wcm90b3R5cGUucmVzZXRBbmltYXRpb249ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIGEudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImFuaW1hdGlvbmVuZCIpPj0wPyhiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQsYi5jbGFzc05hbWU9Yi5jbGFzc05hbWUucmVwbGFjZSh0aGlzLmNvbmZpZy5hbmltYXRlQ2xhc3MsIiIpLnRyaW0oKSk6dm9pZCAwfSxlLnByb3RvdHlwZS5jdXN0b21TdHlsZT1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBiJiZ0aGlzLmNhY2hlQW5pbWF0aW9uTmFtZShhKSxhLnN0eWxlLnZpc2liaWxpdHk9Yj8iaGlkZGVuIjoidmlzaWJsZSIsYyYmdGhpcy52ZW5kb3JTZXQoYS5zdHlsZSx7YW5pbWF0aW9uRHVyYXRpb246Y30pLGQmJnRoaXMudmVuZG9yU2V0KGEuc3R5bGUse2FuaW1hdGlvbkRlbGF5OmR9KSxlJiZ0aGlzLnZlbmRvclNldChhLnN0eWxlLHthbmltYXRpb25JdGVyYXRpb25Db3VudDplfSksdGhpcy52ZW5kb3JTZXQoYS5zdHlsZSx7YW5pbWF0aW9uTmFtZTpiPyJub25lIjp0aGlzLmNhY2hlZEFuaW1hdGlvbk5hbWUoYSl9KSxhfSxlLnByb3RvdHlwZS52ZW5kb3JzPVsibW96Iiwid2Via2l0Il0sZS5wcm90b3R5cGUudmVuZG9yU2V0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY7ZD1bXTtmb3IoYyBpbiBiKWU9YltjXSxhWyIiK2NdPWUsZC5wdXNoKGZ1bmN0aW9uKCl7dmFyIGIsZCxnLGg7Zm9yKGc9dGhpcy52ZW5kb3JzLGg9W10sYj0wLGQ9Zy5sZW5ndGg7ZD5iO2IrKylmPWdbYl0saC5wdXNoKGFbIiIrZitjLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Muc3Vic3RyKDEpXT1lKTtyZXR1cm4gaH0uY2FsbCh0aGlzKSk7cmV0dXJuIGR9LGUucHJvdG90eXBlLnZlbmRvckNTUz1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaTtmb3IoaD1kKGEpLGc9aC5nZXRQcm9wZXJ0eUNTU1ZhbHVlKGIpLGY9dGhpcy52ZW5kb3JzLGM9MCxlPWYubGVuZ3RoO2U+YztjKyspaT1mW2NdLGc9Z3x8aC5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCItIitpKyItIitiKTtyZXR1cm4gZ30sZS5wcm90b3R5cGUuYW5pbWF0aW9uTmFtZT1mdW5jdGlvbihhKXt2YXIgYjt0cnl7Yj10aGlzLnZlbmRvckNTUyhhLCJhbmltYXRpb24tbmFtZSIpLmNzc1RleHR9Y2F0Y2goYyl7Yj1kKGEpLmdldFByb3BlcnR5VmFsdWUoImFuaW1hdGlvbi1uYW1lIil9cmV0dXJuIm5vbmUiPT09Yj8iIjpifSxlLnByb3RvdHlwZS5jYWNoZUFuaW1hdGlvbk5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLnNldChhLHRoaXMuYW5pbWF0aW9uTmFtZShhKSl9LGUucHJvdG90eXBlLmNhY2hlZEFuaW1hdGlvbk5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLmdldChhKX0sZS5wcm90b3R5cGUuc2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNjcm9sbGVkPSEwfSxlLnByb3RvdHlwZS5zY3JvbGxDYWxsYmFjaz1mdW5jdGlvbigpe3ZhciBhO3JldHVybiF0aGlzLnNjcm9sbGVkfHwodGhpcy5zY3JvbGxlZD0hMSx0aGlzLmJveGVzPWZ1bmN0aW9uKCl7dmFyIGIsYyxkLGU7Zm9yKGQ9dGhpcy5ib3hlcyxlPVtdLGI9MCxjPWQubGVuZ3RoO2M+YjtiKyspYT1kW2JdLGEmJih0aGlzLmlzVmlzaWJsZShhKT90aGlzLnNob3coYSk6ZS5wdXNoKGEpKTtyZXR1cm4gZX0uY2FsbCh0aGlzKSx0aGlzLmJveGVzLmxlbmd0aHx8dGhpcy5jb25maWcubGl2ZSk/dm9pZCAwOnRoaXMuc3RvcCgpfSxlLnByb3RvdHlwZS5vZmZzZXRUb3A9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiO3ZvaWQgMD09PWEub2Zmc2V0VG9wOylhPWEucGFyZW50Tm9kZTtmb3IoYj1hLm9mZnNldFRvcDthPWEub2Zmc2V0UGFyZW50OyliKz1hLm9mZnNldFRvcDtyZXR1cm4gYn0sZS5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7cmV0dXJuIGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LW9mZnNldCIpfHx0aGlzLmNvbmZpZy5vZmZzZXQsZj10aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXImJnRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3B8fHdpbmRvdy5wYWdlWU9mZnNldCxlPWYrTWF0aC5taW4odGhpcy5lbGVtZW50LmNsaWVudEhlaWdodCx0aGlzLnV0aWwoKS5pbm5lckhlaWdodCgpKS1jLGQ9dGhpcy5vZmZzZXRUb3AoYSksYj1kK2EuY2xpZW50SGVpZ2h0LGU+PWQmJmI+PWZ9LGUucHJvdG90eXBlLnV0aWw9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9dGhpcy5fdXRpbD90aGlzLl91dGlsOnRoaXMuX3V0aWw9bmV3IGJ9LGUucHJvdG90eXBlLmRpc2FibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuY29uZmlnLm1vYmlsZSYmdGhpcy51dGlsKCkuaXNNb2JpbGUobmF2aWdhdG9yLnVzZXJBZ2VudCl9LGV9KCl9KS5jYWxsKHRoaXMpOw0KDQoNCi8qDQogKiAgVHlwZWQgQW5pbWF0aW9uDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiFmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIHM9ZnVuY3Rpb24ocyxlKXt0aGlzLmVsPXQocyksdGhpcy5vcHRpb25zPXQuZXh0ZW5kKHt9LHQuZm4udHlwZWQuZGVmYXVsdHMsZSksdGhpcy5pc0lucHV0PXRoaXMuZWwuaXMoImlucHV0IiksdGhpcy5hdHRyPXRoaXMub3B0aW9ucy5hdHRyLHRoaXMuc2hvd0N1cnNvcj10aGlzLmlzSW5wdXQ/ITE6dGhpcy5vcHRpb25zLnNob3dDdXJzb3IsdGhpcy5lbENvbnRlbnQ9dGhpcy5hdHRyP3RoaXMuZWwuYXR0cih0aGlzLmF0dHIpOnRoaXMuZWwudGV4dCgpLHRoaXMuY29udGVudFR5cGU9dGhpcy5vcHRpb25zLmNvbnRlbnRUeXBlLHRoaXMudHlwZVNwZWVkPXRoaXMub3B0aW9ucy50eXBlU3BlZWQsdGhpcy5zdGFydERlbGF5PXRoaXMub3B0aW9ucy5zdGFydERlbGF5LHRoaXMuYmFja1NwZWVkPXRoaXMub3B0aW9ucy5iYWNrU3BlZWQsdGhpcy5iYWNrRGVsYXk9dGhpcy5vcHRpb25zLmJhY2tEZWxheSx0aGlzLnN0cmluZ3NFbGVtZW50PXRoaXMub3B0aW9ucy5zdHJpbmdzRWxlbWVudCx0aGlzLnN0cmluZ3M9dGhpcy5vcHRpb25zLnN0cmluZ3MsdGhpcy5zdHJQb3M9MCx0aGlzLmFycmF5UG9zPTAsdGhpcy5zdG9wTnVtPTAsdGhpcy5sb29wPXRoaXMub3B0aW9ucy5sb29wLHRoaXMubG9vcENvdW50PXRoaXMub3B0aW9ucy5sb29wQ291bnQsdGhpcy5jdXJMb29wPTAsdGhpcy5zdG9wPSExLHRoaXMuY3Vyc29yQ2hhcj10aGlzLm9wdGlvbnMuY3Vyc29yQ2hhcix0aGlzLnNodWZmbGU9dGhpcy5vcHRpb25zLnNodWZmbGUsdGhpcy5zZXF1ZW5jZT1bXSx0aGlzLmJ1aWxkKCl9O3MucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpzLGluaXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zm9yKHZhciBzPTA7czx0LnN0cmluZ3MubGVuZ3RoOysrcyl0LnNlcXVlbmNlW3NdPXM7dC5zaHVmZmxlJiYodC5zZXF1ZW5jZT10LnNodWZmbGVBcnJheSh0LnNlcXVlbmNlKSksdC50eXBld3JpdGUodC5zdHJpbmdzW3Quc2VxdWVuY2VbdC5hcnJheVBvc11dLHQuc3RyUG9zKX0sdC5zdGFydERlbGF5KX0sYnVpbGQ6ZnVuY3Rpb24oKXt2YXIgcz10aGlzO2lmKHRoaXMuc2hvd0N1cnNvcj09PSEwJiYodGhpcy5jdXJzb3I9dCgnPHNwYW4gY2xhc3M9InR5cGVkLWN1cnNvciI+Jyt0aGlzLmN1cnNvckNoYXIrIjwvc3Bhbj4iKSx0aGlzLmVsLmFmdGVyKHRoaXMuY3Vyc29yKSksdGhpcy5zdHJpbmdzRWxlbWVudCl7cy5zdHJpbmdzPVtdLHRoaXMuc3RyaW5nc0VsZW1lbnQuaGlkZSgpO3ZhciBlPXRoaXMuc3RyaW5nc0VsZW1lbnQuZmluZCgicCIpO3QuZWFjaChlLGZ1bmN0aW9uKGUsaSl7cy5zdHJpbmdzLnB1c2godChpKS5odG1sKCkpfSl9dGhpcy5pbml0KCl9LHR5cGV3cml0ZTpmdW5jdGlvbih0LHMpe2lmKHRoaXMuc3RvcCE9PSEwKXt2YXIgZT1NYXRoLnJvdW5kKDcwKk1hdGgucmFuZG9tKCkpK3RoaXMudHlwZVNwZWVkLGk9dGhpcztpLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlPTAscj10LnN1YnN0cihzKTtpZigiXiI9PT1yLmNoYXJBdCgwKSl7dmFyIG89MTsvXlxeXGQrLy50ZXN0KHIpJiYocj0vXGQrLy5leGVjKHIpWzBdLG8rPXIubGVuZ3RoLGU9cGFyc2VJbnQocikpLHQ9dC5zdWJzdHJpbmcoMCxzKSt0LnN1YnN0cmluZyhzK28pfWlmKCJodG1sIj09PWkuY29udGVudFR5cGUpe3ZhciBuPXQuc3Vic3RyKHMpLmNoYXJBdCgwKTtpZigiPCI9PT1ufHwiJiI9PT1uKXt2YXIgYT0iIixoPSIiO2ZvcihoPSI8Ij09PW4/Ij4iOiI7Ijt0LnN1YnN0cihzKS5jaGFyQXQoMCkhPT1oOylhKz10LnN1YnN0cihzKS5jaGFyQXQoMCkscysrO3MrKyxhKz1ofX1pLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKHM9PT10Lmxlbmd0aCl7aWYoaS5vcHRpb25zLm9uU3RyaW5nVHlwZWQoaS5hcnJheVBvcyksaS5hcnJheVBvcz09PWkuc3RyaW5ncy5sZW5ndGgtMSYmKGkub3B0aW9ucy5jYWxsYmFjaygpLGkuY3VyTG9vcCsrLGkubG9vcD09PSExfHxpLmN1ckxvb3A9PT1pLmxvb3BDb3VudCkpcmV0dXJuO2kudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5iYWNrc3BhY2UodCxzKX0saS5iYWNrRGVsYXkpfWVsc2V7MD09PXMmJmkub3B0aW9ucy5wcmVTdHJpbmdUeXBlZChpLmFycmF5UG9zKTt2YXIgZT10LnN1YnN0cigwLHMrMSk7aS5hdHRyP2kuZWwuYXR0cihpLmF0dHIsZSk6aS5pc0lucHV0P2kuZWwudmFsKGUpOiJodG1sIj09PWkuY29udGVudFR5cGU/aS5lbC5odG1sKGUpOmkuZWwudGV4dChlKSxzKyssaS50eXBld3JpdGUodCxzKX19LGUpfSxlKX19LGJhY2tzcGFjZTpmdW5jdGlvbih0LHMpe2lmKHRoaXMuc3RvcCE9PSEwKXt2YXIgZT1NYXRoLnJvdW5kKDcwKk1hdGgucmFuZG9tKCkpK3RoaXMuYmFja1NwZWVkLGk9dGhpcztpLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKCJodG1sIj09PWkuY29udGVudFR5cGUmJiI+Ij09PXQuc3Vic3RyKHMpLmNoYXJBdCgwKSl7Zm9yKHZhciBlPSIiOyI8IiE9PXQuc3Vic3RyKHMpLmNoYXJBdCgwKTspZS09dC5zdWJzdHIocykuY2hhckF0KDApLHMtLTtzLS0sZSs9IjwifXZhciByPXQuc3Vic3RyKDAscyk7aS5hdHRyP2kuZWwuYXR0cihpLmF0dHIscik6aS5pc0lucHV0P2kuZWwudmFsKHIpOiJodG1sIj09PWkuY29udGVudFR5cGU/aS5lbC5odG1sKHIpOmkuZWwudGV4dChyKSxzPmkuc3RvcE51bT8ocy0tLGkuYmFja3NwYWNlKHQscykpOnM8PWkuc3RvcE51bSYmKGkuYXJyYXlQb3MrKyxpLmFycmF5UG9zPT09aS5zdHJpbmdzLmxlbmd0aD8oaS5hcnJheVBvcz0wLGkuc2h1ZmZsZSYmKGkuc2VxdWVuY2U9aS5zaHVmZmxlQXJyYXkoaS5zZXF1ZW5jZSkpLGkuaW5pdCgpKTppLnR5cGV3cml0ZShpLnN0cmluZ3NbaS5zZXF1ZW5jZVtpLmFycmF5UG9zXV0scykpfSxlKX19LHNodWZmbGVBcnJheTpmdW5jdGlvbih0KXt2YXIgcyxlLGk9dC5sZW5ndGg7aWYoaSlmb3IoOy0taTspZT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGkrMSkpLHM9dFtlXSx0W2VdPXRbaV0sdFtpXT1zO3JldHVybiB0fSxyZXNldDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7Y2xlYXJJbnRlcnZhbCh0LnRpbWVvdXQpO3ZhciBzPXRoaXMuZWwuYXR0cigiaWQiKTt0aGlzLmVsLmFmdGVyKCc8c3BhbiBpZD0iJytzKyciLz4nKSx0aGlzLmVsLnJlbW92ZSgpLCJ1bmRlZmluZWQiIT10eXBlb2YgdGhpcy5jdXJzb3ImJnRoaXMuY3Vyc29yLnJlbW92ZSgpLHQub3B0aW9ucy5yZXNldENhbGxiYWNrKCl9fSx0LmZuLnR5cGVkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpLHI9aS5kYXRhKCJ0eXBlZCIpLG89Im9iamVjdCI9PXR5cGVvZiBlJiZlO3J8fGkuZGF0YSgidHlwZWQiLHI9bmV3IHModGhpcyxvKSksInN0cmluZyI9PXR5cGVvZiBlJiZyW2VdKCl9KX0sdC5mbi50eXBlZC5kZWZhdWx0cz17c3RyaW5nczpbIlRoZXNlIGFyZSB0aGUgZGVmYXVsdCB2YWx1ZXMuLi4iLCJZb3Uga25vdyB3aGF0IHlvdSBzaG91bGQgZG8/IiwiVXNlIHlvdXIgb3duISIsIkhhdmUgYSBncmVhdCBkYXkhIl0sc3RyaW5nc0VsZW1lbnQ6bnVsbCx0eXBlU3BlZWQ6MCxzdGFydERlbGF5OjAsYmFja1NwZWVkOjAsc2h1ZmZsZTohMSxiYWNrRGVsYXk6NTAwLGxvb3A6ITEsbG9vcENvdW50OiExLHNob3dDdXJzb3I6ITAsY3Vyc29yQ2hhcjoifCIsYXR0cjpudWxsLGNvbnRlbnRUeXBlOiJodG1sIixjYWxsYmFjazpmdW5jdGlvbigpe30scHJlU3RyaW5nVHlwZWQ6ZnVuY3Rpb24oKXt9LG9uU3RyaW5nVHlwZWQ6ZnVuY3Rpb24oKXt9LHJlc2V0Q2FsbGJhY2s6ZnVuY3Rpb24oKXt9fX0od2luZG93LmpRdWVyeSk7DQoNCg0KLyoqDQogKiBPd2wgQ2Fyb3VzZWwgdjIuMy4wDQogKiBDb3B5cmlnaHQgMjAxMy0yMDE3IERhdmlkIERldXRzY2gNCiAqIExpY2Vuc2VkIHVuZGVyICAoKQ0KICovDQohZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24gZShiLGMpe3RoaXMuc2V0dGluZ3M9bnVsbCx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyxjKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5faGFuZGxlcnM9e30sdGhpcy5fcGx1Z2lucz17fSx0aGlzLl9zdXByZXNzPXt9LHRoaXMuX2N1cnJlbnQ9bnVsbCx0aGlzLl9zcGVlZD1udWxsLHRoaXMuX2Nvb3JkaW5hdGVzPVtdLHRoaXMuX2JyZWFrcG9pbnQ9bnVsbCx0aGlzLl93aWR0aD1udWxsLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX2Nsb25lcz1bXSx0aGlzLl9tZXJnZXJzPVtdLHRoaXMuX3dpZHRocz1bXSx0aGlzLl9pbnZhbGlkYXRlZD17fSx0aGlzLl9waXBlPVtdLHRoaXMuX2RyYWc9e3RpbWU6bnVsbCx0YXJnZXQ6bnVsbCxwb2ludGVyOm51bGwsc3RhZ2U6e3N0YXJ0Om51bGwsY3VycmVudDpudWxsfSxkaXJlY3Rpb246bnVsbH0sdGhpcy5fc3RhdGVzPXtjdXJyZW50Ont9LHRhZ3M6e2luaXRpYWxpemluZzpbImJ1c3kiXSxhbmltYXRpbmc6WyJidXN5Il0sZHJhZ2dpbmc6WyJpbnRlcmFjdGluZyJdfX0sYS5lYWNoKFsib25SZXNpemUiLCJvblRocm90dGxlZFJlc2l6ZSJdLGEucHJveHkoZnVuY3Rpb24oYixjKXt0aGlzLl9oYW5kbGVyc1tjXT1hLnByb3h5KHRoaXNbY10sdGhpcyl9LHRoaXMpKSxhLmVhY2goZS5QbHVnaW5zLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9wbHVnaW5zW2EuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkrYS5zbGljZSgxKV09bmV3IGIodGhpcyl9LHRoaXMpKSxhLmVhY2goZS5Xb3JrZXJzLGEucHJveHkoZnVuY3Rpb24oYixjKXt0aGlzLl9waXBlLnB1c2goe2ZpbHRlcjpjLmZpbHRlcixydW46YS5wcm94eShjLnJ1bix0aGlzKX0pfSx0aGlzKSksdGhpcy5zZXR1cCgpLHRoaXMuaW5pdGlhbGl6ZSgpfWUuRGVmYXVsdHM9e2l0ZW1zOjMsbG9vcDohMSxjZW50ZXI6ITEscmV3aW5kOiExLG1vdXNlRHJhZzohMCx0b3VjaERyYWc6ITAscHVsbERyYWc6ITAsZnJlZURyYWc6ITEsbWFyZ2luOjAsc3RhZ2VQYWRkaW5nOjAsbWVyZ2U6ITEsbWVyZ2VGaXQ6ITAsYXV0b1dpZHRoOiExLHN0YXJ0UG9zaXRpb246MCxydGw6ITEsc21hcnRTcGVlZDoyNTAsZmx1aWRTcGVlZDohMSxkcmFnRW5kU3BlZWQ6ITEscmVzcG9uc2l2ZTp7fSxyZXNwb25zaXZlUmVmcmVzaFJhdGU6MjAwLHJlc3BvbnNpdmVCYXNlRWxlbWVudDpiLGZhbGxiYWNrRWFzaW5nOiJzd2luZyIsaW5mbzohMSxuZXN0ZWRJdGVtU2VsZWN0b3I6ITEsaXRlbUVsZW1lbnQ6ImRpdiIsc3RhZ2VFbGVtZW50OiJkaXYiLHJlZnJlc2hDbGFzczoib3dsLXJlZnJlc2giLGxvYWRlZENsYXNzOiJvd2wtbG9hZGVkIixsb2FkaW5nQ2xhc3M6Im93bC1sb2FkaW5nIixydGxDbGFzczoib3dsLXJ0bCIscmVzcG9uc2l2ZUNsYXNzOiJvd2wtcmVzcG9uc2l2ZSIsZHJhZ0NsYXNzOiJvd2wtZHJhZyIsaXRlbUNsYXNzOiJvd2wtaXRlbSIsc3RhZ2VDbGFzczoib3dsLXN0YWdlIixzdGFnZU91dGVyQ2xhc3M6Im93bC1zdGFnZS1vdXRlciIsZ3JhYkNsYXNzOiJvd2wtZ3JhYiJ9LGUuV2lkdGg9e0RlZmF1bHQ6ImRlZmF1bHQiLElubmVyOiJpbm5lciIsT3V0ZXI6Im91dGVyIn0sZS5UeXBlPXtFdmVudDoiZXZlbnQiLFN0YXRlOiJzdGF0ZSJ9LGUuUGx1Z2lucz17fSxlLldvcmtlcnM9W3tmaWx0ZXI6WyJ3aWR0aCIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dGhpcy5fd2lkdGg9dGhpcy4kZWxlbWVudC53aWR0aCgpfX0se2ZpbHRlcjpbIndpZHRoIiwiaXRlbXMiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbihhKXthLmN1cnJlbnQ9dGhpcy5faXRlbXMmJnRoaXMuX2l0ZW1zW3RoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCldfX0se2ZpbHRlcjpbIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oKXt0aGlzLiRzdGFnZS5jaGlsZHJlbigiLmNsb25lZCIpLnJlbW92ZSgpfX0se2ZpbHRlcjpbIndpZHRoIiwiaXRlbXMiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnNldHRpbmdzLm1hcmdpbnx8IiIsYz0hdGhpcy5zZXR0aW5ncy5hdXRvV2lkdGgsZD10aGlzLnNldHRpbmdzLnJ0bCxlPXt3aWR0aDoiYXV0byIsIm1hcmdpbi1sZWZ0IjpkP2I6IiIsIm1hcmdpbi1yaWdodCI6ZD8iIjpifTshYyYmdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jc3MoZSksYS5jc3M9ZX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7dmFyIGI9KHRoaXMud2lkdGgoKS90aGlzLnNldHRpbmdzLml0ZW1zKS50b0ZpeGVkKDMpLXRoaXMuc2V0dGluZ3MubWFyZ2luLGM9bnVsbCxkPXRoaXMuX2l0ZW1zLmxlbmd0aCxlPSF0aGlzLnNldHRpbmdzLmF1dG9XaWR0aCxmPVtdO2ZvcihhLml0ZW1zPXttZXJnZTohMSx3aWR0aDpifTtkLS07KWM9dGhpcy5fbWVyZ2Vyc1tkXSxjPXRoaXMuc2V0dGluZ3MubWVyZ2VGaXQmJk1hdGgubWluKGMsdGhpcy5zZXR0aW5ncy5pdGVtcyl8fGMsYS5pdGVtcy5tZXJnZT1jPjF8fGEuaXRlbXMubWVyZ2UsZltkXT1lP2IqYzp0aGlzLl9pdGVtc1tkXS53aWR0aCgpO3RoaXMuX3dpZHRocz1mfX0se2ZpbHRlcjpbIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oKXt2YXIgYj1bXSxjPXRoaXMuX2l0ZW1zLGQ9dGhpcy5zZXR0aW5ncyxlPU1hdGgubWF4KDIqZC5pdGVtcyw0KSxmPTIqTWF0aC5jZWlsKGMubGVuZ3RoLzIpLGc9ZC5sb29wJiZjLmxlbmd0aD9kLnJld2luZD9lOk1hdGgubWF4KGUsZik6MCxoPSIiLGk9IiI7Zm9yKGcvPTI7Zz4wOyliLnB1c2godGhpcy5ub3JtYWxpemUoYi5sZW5ndGgvMiwhMCkpLGgrPWNbYltiLmxlbmd0aC0xXV1bMF0ub3V0ZXJIVE1MLGIucHVzaCh0aGlzLm5vcm1hbGl6ZShjLmxlbmd0aC0xLShiLmxlbmd0aC0xKS8yLCEwKSksaT1jW2JbYi5sZW5ndGgtMV1dWzBdLm91dGVySFRNTCtpLGctPTE7dGhpcy5fY2xvbmVzPWIsYShoKS5hZGRDbGFzcygiY2xvbmVkIikuYXBwZW5kVG8odGhpcy4kc3RhZ2UpLGEoaSkuYWRkQ2xhc3MoImNsb25lZCIpLnByZXBlbmRUbyh0aGlzLiRzdGFnZSl9fSx7ZmlsdGVyOlsid2lkdGgiLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMuc2V0dGluZ3MucnRsPzE6LTEsYj10aGlzLl9jbG9uZXMubGVuZ3RoK3RoaXMuX2l0ZW1zLmxlbmd0aCxjPS0xLGQ9MCxlPTAsZj1bXTsrK2M8YjspZD1mW2MtMV18fDAsZT10aGlzLl93aWR0aHNbdGhpcy5yZWxhdGl2ZShjKV0rdGhpcy5zZXR0aW5ncy5tYXJnaW4sZi5wdXNoKGQrZSphKTt0aGlzLl9jb29yZGluYXRlcz1mfX0se2ZpbHRlcjpbIndpZHRoIiwiaXRlbXMiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbigpe3ZhciBhPXRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nLGI9dGhpcy5fY29vcmRpbmF0ZXMsYz17d2lkdGg6TWF0aC5jZWlsKE1hdGguYWJzKGJbYi5sZW5ndGgtMV0pKSsyKmEsInBhZGRpbmctbGVmdCI6YXx8IiIsInBhZGRpbmctcmlnaHQiOmF8fCIifTt0aGlzLiRzdGFnZS5jc3MoYyl9fSx7ZmlsdGVyOlsid2lkdGgiLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aCxjPSF0aGlzLnNldHRpbmdzLmF1dG9XaWR0aCxkPXRoaXMuJHN0YWdlLmNoaWxkcmVuKCk7aWYoYyYmYS5pdGVtcy5tZXJnZSlmb3IoO2ItLTspYS5jc3Mud2lkdGg9dGhpcy5fd2lkdGhzW3RoaXMucmVsYXRpdmUoYildLGQuZXEoYikuY3NzKGEuY3NzKTtlbHNlIGMmJihhLmNzcy53aWR0aD1hLml0ZW1zLndpZHRoLGQuY3NzKGEuY3NzKSl9fSx7ZmlsdGVyOlsiaXRlbXMiXSxydW46ZnVuY3Rpb24oKXt0aGlzLl9jb29yZGluYXRlcy5sZW5ndGg8MSYmdGhpcy4kc3RhZ2UucmVtb3ZlQXR0cigic3R5bGUiKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7YS5jdXJyZW50PWEuY3VycmVudD90aGlzLiRzdGFnZS5jaGlsZHJlbigpLmluZGV4KGEuY3VycmVudCk6MCxhLmN1cnJlbnQ9TWF0aC5tYXgodGhpcy5taW5pbXVtKCksTWF0aC5taW4odGhpcy5tYXhpbXVtKCksYS5jdXJyZW50KSksdGhpcy5yZXNldChhLmN1cnJlbnQpfX0se2ZpbHRlcjpbInBvc2l0aW9uIl0scnVuOmZ1bmN0aW9uKCl7dGhpcy5hbmltYXRlKHRoaXMuY29vcmRpbmF0ZXModGhpcy5fY3VycmVudCkpfX0se2ZpbHRlcjpbIndpZHRoIiwicG9zaXRpb24iLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZT10aGlzLnNldHRpbmdzLnJ0bD8xOi0xLGY9Mip0aGlzLnNldHRpbmdzLnN0YWdlUGFkZGluZyxnPXRoaXMuY29vcmRpbmF0ZXModGhpcy5jdXJyZW50KCkpK2YsaD1nK3RoaXMud2lkdGgoKSplLGk9W107Zm9yKGM9MCxkPXRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aDtkPmM7YysrKWE9dGhpcy5fY29vcmRpbmF0ZXNbYy0xXXx8MCxiPU1hdGguYWJzKHRoaXMuX2Nvb3JkaW5hdGVzW2NdKStmKmUsKHRoaXMub3AoYSwiPD0iLGcpJiZ0aGlzLm9wKGEsIj4iLGgpfHx0aGlzLm9wKGIsIjwiLGcpJiZ0aGlzLm9wKGIsIj4iLGgpKSYmaS5wdXNoKGMpO3RoaXMuJHN0YWdlLmNoaWxkcmVuKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuJHN0YWdlLmNoaWxkcmVuKCI6ZXEoIitpLmpvaW4oIiksIDplcSgiKSsiKSIpLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLiRzdGFnZS5jaGlsZHJlbigiLmNlbnRlciIpLnJlbW92ZUNsYXNzKCJjZW50ZXIiKSx0aGlzLnNldHRpbmdzLmNlbnRlciYmdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5lcSh0aGlzLmN1cnJlbnQoKSkuYWRkQ2xhc3MoImNlbnRlciIpfX1dLGUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXtpZih0aGlzLmVudGVyKCJpbml0aWFsaXppbmciKSx0aGlzLnRyaWdnZXIoImluaXRpYWxpemUiKSx0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKHRoaXMuc2V0dGluZ3MucnRsQ2xhc3MsdGhpcy5zZXR0aW5ncy5ydGwpLHRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoJiYhdGhpcy5pcygicHJlLWxvYWRpbmciKSl7dmFyIGIsYyxlO2I9dGhpcy4kZWxlbWVudC5maW5kKCJpbWciKSxjPXRoaXMuc2V0dGluZ3MubmVzdGVkSXRlbVNlbGVjdG9yPyIuIit0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvcjpkLGU9dGhpcy4kZWxlbWVudC5jaGlsZHJlbihjKS53aWR0aCgpLGIubGVuZ3RoJiYwPj1lJiZ0aGlzLnByZWxvYWRBdXRvV2lkdGhJbWFnZXMoYil9dGhpcy4kZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKSx0aGlzLiRzdGFnZT1hKCI8Iit0aGlzLnNldHRpbmdzLnN0YWdlRWxlbWVudCsnIGNsYXNzPSInK3RoaXMuc2V0dGluZ3Muc3RhZ2VDbGFzcysnIi8+Jykud3JhcCgnPGRpdiBjbGFzcz0iJyt0aGlzLnNldHRpbmdzLnN0YWdlT3V0ZXJDbGFzcysnIi8+JyksdGhpcy4kZWxlbWVudC5hcHBlbmQodGhpcy4kc3RhZ2UucGFyZW50KCkpLHRoaXMucmVwbGFjZSh0aGlzLiRlbGVtZW50LmNoaWxkcmVuKCkubm90KHRoaXMuJHN0YWdlLnBhcmVudCgpKSksdGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKT90aGlzLnJlZnJlc2goKTp0aGlzLmludmFsaWRhdGUoIndpZHRoIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGVkQ2xhc3MpLHRoaXMucmVnaXN0ZXJFdmVudEhhbmRsZXJzKCksdGhpcy5sZWF2ZSgiaW5pdGlhbGl6aW5nIiksdGhpcy50cmlnZ2VyKCJpbml0aWFsaXplZCIpfSxlLnByb3RvdHlwZS5zZXR1cD1mdW5jdGlvbigpe3ZhciBiPXRoaXMudmlld3BvcnQoKSxjPXRoaXMub3B0aW9ucy5yZXNwb25zaXZlLGQ9LTEsZT1udWxsO2M/KGEuZWFjaChjLGZ1bmN0aW9uKGEpe2I+PWEmJmE+ZCYmKGQ9TnVtYmVyKGEpKX0pLGU9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zLGNbZF0pLCJmdW5jdGlvbiI9PXR5cGVvZiBlLnN0YWdlUGFkZGluZyYmKGUuc3RhZ2VQYWRkaW5nPWUuc3RhZ2VQYWRkaW5nKCkpLGRlbGV0ZSBlLnJlc3BvbnNpdmUsZS5yZXNwb25zaXZlQ2xhc3MmJnRoaXMuJGVsZW1lbnQuYXR0cigiY2xhc3MiLHRoaXMuJGVsZW1lbnQuYXR0cigiY2xhc3MiKS5yZXBsYWNlKG5ldyBSZWdFeHAoIigiK3RoaXMub3B0aW9ucy5yZXNwb25zaXZlQ2xhc3MrIi0pXFxTK1xccyIsImciKSwiJDEiK2QpKSk6ZT1hLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMpLHRoaXMudHJpZ2dlcigiY2hhbmdlIix7cHJvcGVydHk6e25hbWU6InNldHRpbmdzIix2YWx1ZTplfX0pLHRoaXMuX2JyZWFrcG9pbnQ9ZCx0aGlzLnNldHRpbmdzPWUsdGhpcy5pbnZhbGlkYXRlKCJzZXR0aW5ncyIpLHRoaXMudHJpZ2dlcigiY2hhbmdlZCIse3Byb3BlcnR5OntuYW1lOiJzZXR0aW5ncyIsdmFsdWU6dGhpcy5zZXR0aW5nc319KX0sZS5wcm90b3R5cGUub3B0aW9uc0xvZ2ljPWZ1bmN0aW9uKCl7dGhpcy5zZXR0aW5ncy5hdXRvV2lkdGgmJih0aGlzLnNldHRpbmdzLnN0YWdlUGFkZGluZz0hMSx0aGlzLnNldHRpbmdzLm1lcmdlPSExKX0sZS5wcm90b3R5cGUucHJlcGFyZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnRyaWdnZXIoInByZXBhcmUiLHtjb250ZW50OmJ9KTtyZXR1cm4gYy5kYXRhfHwoYy5kYXRhPWEoIjwiK3RoaXMuc2V0dGluZ3MuaXRlbUVsZW1lbnQrIi8+IikuYWRkQ2xhc3ModGhpcy5vcHRpb25zLml0ZW1DbGFzcykuYXBwZW5kKGIpKSx0aGlzLnRyaWdnZXIoInByZXBhcmVkIix7Y29udGVudDpjLmRhdGF9KSxjLmRhdGF9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe2Zvcih2YXIgYj0wLGM9dGhpcy5fcGlwZS5sZW5ndGgsZD1hLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzW2FdfSx0aGlzLl9pbnZhbGlkYXRlZCksZT17fTtjPmI7KSh0aGlzLl9pbnZhbGlkYXRlZC5hbGx8fGEuZ3JlcCh0aGlzLl9waXBlW2JdLmZpbHRlcixkKS5sZW5ndGg+MCkmJnRoaXMuX3BpcGVbYl0ucnVuKGUpLGIrKzt0aGlzLl9pbnZhbGlkYXRlZD17fSwhdGhpcy5pcygidmFsaWQiKSYmdGhpcy5lbnRlcigidmFsaWQiKX0sZS5wcm90b3R5cGUud2lkdGg9ZnVuY3Rpb24oYSl7c3dpdGNoKGE9YXx8ZS5XaWR0aC5EZWZhdWx0KXtjYXNlIGUuV2lkdGguSW5uZXI6Y2FzZSBlLldpZHRoLk91dGVyOnJldHVybiB0aGlzLl93aWR0aDtkZWZhdWx0OnJldHVybiB0aGlzLl93aWR0aC0yKnRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nK3RoaXMuc2V0dGluZ3MubWFyZ2lufX0sZS5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3RoaXMuZW50ZXIoInJlZnJlc2hpbmciKSx0aGlzLnRyaWdnZXIoInJlZnJlc2giKSx0aGlzLnNldHVwKCksdGhpcy5vcHRpb25zTG9naWMoKSx0aGlzLiRlbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5yZWZyZXNoQ2xhc3MpLHRoaXMudXBkYXRlKCksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKSx0aGlzLmxlYXZlKCJyZWZyZXNoaW5nIiksdGhpcy50cmlnZ2VyKCJyZWZyZXNoZWQiKX0sZS5wcm90b3R5cGUub25UaHJvdHRsZWRSZXNpemU9ZnVuY3Rpb24oKXtiLmNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVyKSx0aGlzLnJlc2l6ZVRpbWVyPWIuc2V0VGltZW91dCh0aGlzLl9oYW5kbGVycy5vblJlc2l6ZSx0aGlzLnNldHRpbmdzLnJlc3BvbnNpdmVSZWZyZXNoUmF0ZSl9LGUucHJvdG90eXBlLm9uUmVzaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2l0ZW1zLmxlbmd0aD90aGlzLl93aWR0aD09PXRoaXMuJGVsZW1lbnQud2lkdGgoKT8hMTp0aGlzLiRlbGVtZW50LmlzKCI6dmlzaWJsZSIpPyh0aGlzLmVudGVyKCJyZXNpemluZyIpLHRoaXMudHJpZ2dlcigicmVzaXplIikuaXNEZWZhdWx0UHJldmVudGVkKCk/KHRoaXMubGVhdmUoInJlc2l6aW5nIiksITEpOih0aGlzLmludmFsaWRhdGUoIndpZHRoIiksdGhpcy5yZWZyZXNoKCksdGhpcy5sZWF2ZSgicmVzaXppbmciKSx2b2lkIHRoaXMudHJpZ2dlcigicmVzaXplZCIpKSk6ITE6ITF9LGUucHJvdG90eXBlLnJlZ2lzdGVyRXZlbnRIYW5kbGVycz1mdW5jdGlvbigpe2Euc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRzdGFnZS5vbihhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQrIi5vd2wuY29yZSIsYS5wcm94eSh0aGlzLm9uVHJhbnNpdGlvbkVuZCx0aGlzKSksdGhpcy5zZXR0aW5ncy5yZXNwb25zaXZlIT09ITEmJnRoaXMub24oYiwicmVzaXplIix0aGlzLl9oYW5kbGVycy5vblRocm90dGxlZFJlc2l6ZSksdGhpcy5zZXR0aW5ncy5tb3VzZURyYWcmJih0aGlzLiRlbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5kcmFnQ2xhc3MpLHRoaXMuJHN0YWdlLm9uKCJtb3VzZWRvd24ub3dsLmNvcmUiLGEucHJveHkodGhpcy5vbkRyYWdTdGFydCx0aGlzKSksdGhpcy4kc3RhZ2Uub24oImRyYWdzdGFydC5vd2wuY29yZSBzZWxlY3RzdGFydC5vd2wuY29yZSIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pKSx0aGlzLnNldHRpbmdzLnRvdWNoRHJhZyYmKHRoaXMuJHN0YWdlLm9uKCJ0b3VjaHN0YXJ0Lm93bC5jb3JlIixhLnByb3h5KHRoaXMub25EcmFnU3RhcnQsdGhpcykpLHRoaXMuJHN0YWdlLm9uKCJ0b3VjaGNhbmNlbC5vd2wuY29yZSIsYS5wcm94eSh0aGlzLm9uRHJhZ0VuZCx0aGlzKSkpfSxlLnByb3RvdHlwZS5vbkRyYWdTdGFydD1mdW5jdGlvbihiKXt2YXIgZD1udWxsOzMhPT1iLndoaWNoJiYoYS5zdXBwb3J0LnRyYW5zZm9ybT8oZD10aGlzLiRzdGFnZS5jc3MoInRyYW5zZm9ybSIpLnJlcGxhY2UoLy4qXCh8XCl8IC9nLCIiKS5zcGxpdCgiLCIpLGQ9e3g6ZFsxNj09PWQubGVuZ3RoPzEyOjRdLHk6ZFsxNj09PWQubGVuZ3RoPzEzOjVdfSk6KGQ9dGhpcy4kc3RhZ2UucG9zaXRpb24oKSxkPXt4OnRoaXMuc2V0dGluZ3MucnRsP2QubGVmdCt0aGlzLiRzdGFnZS53aWR0aCgpLXRoaXMud2lkdGgoKSt0aGlzLnNldHRpbmdzLm1hcmdpbjpkLmxlZnQseTpkLnRvcH0pLHRoaXMuaXMoImFuaW1hdGluZyIpJiYoYS5zdXBwb3J0LnRyYW5zZm9ybT90aGlzLmFuaW1hdGUoZC54KTp0aGlzLiRzdGFnZS5zdG9wKCksdGhpcy5pbnZhbGlkYXRlKCJwb3NpdGlvbiIpKSx0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKHRoaXMub3B0aW9ucy5ncmFiQ2xhc3MsIm1vdXNlZG93biI9PT1iLnR5cGUpLHRoaXMuc3BlZWQoMCksdGhpcy5fZHJhZy50aW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLHRoaXMuX2RyYWcudGFyZ2V0PWEoYi50YXJnZXQpLHRoaXMuX2RyYWcuc3RhZ2Uuc3RhcnQ9ZCx0aGlzLl9kcmFnLnN0YWdlLmN1cnJlbnQ9ZCx0aGlzLl9kcmFnLnBvaW50ZXI9dGhpcy5wb2ludGVyKGIpLGEoYykub24oIm1vdXNldXAub3dsLmNvcmUgdG91Y2hlbmQub3dsLmNvcmUiLGEucHJveHkodGhpcy5vbkRyYWdFbmQsdGhpcykpLGEoYykub25lKCJtb3VzZW1vdmUub3dsLmNvcmUgdG91Y2htb3ZlLm93bC5jb3JlIixhLnByb3h5KGZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnBvaW50ZXIsdGhpcy5wb2ludGVyKGIpKTthKGMpLm9uKCJtb3VzZW1vdmUub3dsLmNvcmUgdG91Y2htb3ZlLm93bC5jb3JlIixhLnByb3h5KHRoaXMub25EcmFnTW92ZSx0aGlzKSksTWF0aC5hYnMoZC54KTxNYXRoLmFicyhkLnkpJiZ0aGlzLmlzKCJ2YWxpZCIpfHwoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZW50ZXIoImRyYWdnaW5nIiksdGhpcy50cmlnZ2VyKCJkcmFnIikpfSx0aGlzKSkpfSxlLnByb3RvdHlwZS5vbkRyYWdNb3ZlPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYz1udWxsLGQ9bnVsbCxlPXRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnBvaW50ZXIsdGhpcy5wb2ludGVyKGEpKSxmPXRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnN0YWdlLnN0YXJ0LGUpO3RoaXMuaXMoImRyYWdnaW5nIikmJihhLnByZXZlbnREZWZhdWx0KCksdGhpcy5zZXR0aW5ncy5sb29wPyhiPXRoaXMuY29vcmRpbmF0ZXModGhpcy5taW5pbXVtKCkpLGM9dGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSsxKS1iLGYueD0oKGYueC1iKSVjK2MpJWMrYik6KGI9dGhpcy5zZXR0aW5ncy5ydGw/dGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSk6dGhpcy5jb29yZGluYXRlcyh0aGlzLm1pbmltdW0oKSksYz10aGlzLnNldHRpbmdzLnJ0bD90aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKTp0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWF4aW11bSgpKSxkPXRoaXMuc2V0dGluZ3MucHVsbERyYWc/LTEqZS54LzU6MCxmLng9TWF0aC5tYXgoTWF0aC5taW4oZi54LGIrZCksYytkKSksdGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50PWYsdGhpcy5hbmltYXRlKGYueCkpfSxlLnByb3RvdHlwZS5vbkRyYWdFbmQ9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlcix0aGlzLnBvaW50ZXIoYikpLGU9dGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50LGY9ZC54PjBedGhpcy5zZXR0aW5ncy5ydGw/ImxlZnQiOiJyaWdodCI7YShjKS5vZmYoIi5vd2wuY29yZSIpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcyksKDAhPT1kLngmJnRoaXMuaXMoImRyYWdnaW5nIil8fCF0aGlzLmlzKCJ2YWxpZCIpKSYmKHRoaXMuc3BlZWQodGhpcy5zZXR0aW5ncy5kcmFnRW5kU3BlZWR8fHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCksdGhpcy5jdXJyZW50KHRoaXMuY2xvc2VzdChlLngsMCE9PWQueD9mOnRoaXMuX2RyYWcuZGlyZWN0aW9uKSksdGhpcy5pbnZhbGlkYXRlKCJwb3NpdGlvbiIpLHRoaXMudXBkYXRlKCksdGhpcy5fZHJhZy5kaXJlY3Rpb249ZiwoTWF0aC5hYnMoZC54KT4zfHwobmV3IERhdGUpLmdldFRpbWUoKS10aGlzLl9kcmFnLnRpbWU+MzAwKSYmdGhpcy5fZHJhZy50YXJnZXQub25lKCJjbGljay5vd2wuY29yZSIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pKSx0aGlzLmlzKCJkcmFnZ2luZyIpJiYodGhpcy5sZWF2ZSgiZHJhZ2dpbmciKSx0aGlzLnRyaWdnZXIoImRyYWdnZWQiKSl9LGUucHJvdG90eXBlLmNsb3Nlc3Q9ZnVuY3Rpb24oYixjKXt2YXIgZD0tMSxlPTMwLGY9dGhpcy53aWR0aCgpLGc9dGhpcy5jb29yZGluYXRlcygpO3JldHVybiB0aGlzLnNldHRpbmdzLmZyZWVEcmFnfHxhLmVhY2goZyxhLnByb3h5KGZ1bmN0aW9uKGEsaCl7cmV0dXJuImxlZnQiPT09YyYmYj5oLWUmJmgrZT5iP2Q9YToicmlnaHQiPT09YyYmYj5oLWYtZSYmaC1mK2U+Yj9kPWErMTp0aGlzLm9wKGIsIjwiLGgpJiZ0aGlzLm9wKGIsIj4iLGdbYSsxXXx8aC1mKSYmKGQ9ImxlZnQiPT09Yz9hKzE6YSksLTE9PT1kfSx0aGlzKSksdGhpcy5zZXR0aW5ncy5sb29wfHwodGhpcy5vcChiLCI+IixnW3RoaXMubWluaW11bSgpXSk/ZD1iPXRoaXMubWluaW11bSgpOnRoaXMub3AoYiwiPCIsZ1t0aGlzLm1heGltdW0oKV0pJiYoZD1iPXRoaXMubWF4aW11bSgpKSksZH0sZS5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnNwZWVkKCk+MDt0aGlzLmlzKCJhbmltYXRpbmciKSYmdGhpcy5vblRyYW5zaXRpb25FbmQoKSxjJiYodGhpcy5lbnRlcigiYW5pbWF0aW5nIiksdGhpcy50cmlnZ2VyKCJ0cmFuc2xhdGUiKSksYS5zdXBwb3J0LnRyYW5zZm9ybTNkJiZhLnN1cHBvcnQudHJhbnNpdGlvbj90aGlzLiRzdGFnZS5jc3Moe3RyYW5zZm9ybToidHJhbnNsYXRlM2QoIitiKyJweCwwcHgsMHB4KSIsdHJhbnNpdGlvbjp0aGlzLnNwZWVkKCkvMWUzKyJzIn0pOmM/dGhpcy4kc3RhZ2UuYW5pbWF0ZSh7bGVmdDpiKyJweCJ9LHRoaXMuc3BlZWQoKSx0aGlzLnNldHRpbmdzLmZhbGxiYWNrRWFzaW5nLGEucHJveHkodGhpcy5vblRyYW5zaXRpb25FbmQsdGhpcykpOnRoaXMuJHN0YWdlLmNzcyh7bGVmdDpiKyJweCJ9KX0sZS5wcm90b3R5cGUuaXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3N0YXRlcy5jdXJyZW50W2FdJiZ0aGlzLl9zdGF0ZXMuY3VycmVudFthXT4wfSxlLnByb3RvdHlwZS5jdXJyZW50PWZ1bmN0aW9uKGEpe2lmKGE9PT1kKXJldHVybiB0aGlzLl9jdXJyZW50O2lmKDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuIGQ7aWYoYT10aGlzLm5vcm1hbGl6ZShhKSx0aGlzLl9jdXJyZW50IT09YSl7dmFyIGI9dGhpcy50cmlnZ2VyKCJjaGFuZ2UiLHtwcm9wZXJ0eTp7bmFtZToicG9zaXRpb24iLHZhbHVlOmF9fSk7Yi5kYXRhIT09ZCYmKGE9dGhpcy5ub3JtYWxpemUoYi5kYXRhKSksdGhpcy5fY3VycmVudD1hLHRoaXMuaW52YWxpZGF0ZSgicG9zaXRpb24iKSx0aGlzLnRyaWdnZXIoImNoYW5nZWQiLHtwcm9wZXJ0eTp7bmFtZToicG9zaXRpb24iLHZhbHVlOnRoaXMuX2N1cnJlbnR9fSl9cmV0dXJuIHRoaXMuX2N1cnJlbnR9LGUucHJvdG90eXBlLmludmFsaWRhdGU9ZnVuY3Rpb24oYil7cmV0dXJuInN0cmluZyI9PT1hLnR5cGUoYikmJih0aGlzLl9pbnZhbGlkYXRlZFtiXT0hMCx0aGlzLmlzKCJ2YWxpZCIpJiZ0aGlzLmxlYXZlKCJ2YWxpZCIpKSxhLm1hcCh0aGlzLl9pbnZhbGlkYXRlZCxmdW5jdGlvbihhLGIpe3JldHVybiBifSl9LGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKGEpe2E9dGhpcy5ub3JtYWxpemUoYSksYSE9PWQmJih0aGlzLl9zcGVlZD0wLHRoaXMuX2N1cnJlbnQ9YSx0aGlzLnN1cHByZXNzKFsidHJhbnNsYXRlIiwidHJhbnNsYXRlZCJdKSx0aGlzLmFuaW1hdGUodGhpcy5jb29yZGluYXRlcyhhKSksdGhpcy5yZWxlYXNlKFsidHJhbnNsYXRlIiwidHJhbnNsYXRlZCJdKSl9LGUucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX2l0ZW1zLmxlbmd0aCxlPWI/MDp0aGlzLl9jbG9uZXMubGVuZ3RoO3JldHVybiF0aGlzLmlzTnVtZXJpYyhhKXx8MT5jP2E9ZDooMD5hfHxhPj1jK2UpJiYoYT0oKGEtZS8yKSVjK2MpJWMrZS8yKSxhfSxlLnByb3RvdHlwZS5yZWxhdGl2ZT1mdW5jdGlvbihhKXtyZXR1cm4gYS09dGhpcy5fY2xvbmVzLmxlbmd0aC8yLHRoaXMubm9ybWFsaXplKGEsITApfSxlLnByb3RvdHlwZS5tYXhpbXVtPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXMuc2V0dGluZ3MsZj10aGlzLl9jb29yZGluYXRlcy5sZW5ndGg7aWYoZS5sb29wKWY9dGhpcy5fY2xvbmVzLmxlbmd0aC8yK3RoaXMuX2l0ZW1zLmxlbmd0aC0xO2Vsc2UgaWYoZS5hdXRvV2lkdGh8fGUubWVyZ2Upe2lmKGI9dGhpcy5faXRlbXMubGVuZ3RoKWZvcihjPXRoaXMuX2l0ZW1zWy0tYl0ud2lkdGgoKSxkPXRoaXMuJGVsZW1lbnQud2lkdGgoKTtiLS0mJihjKz10aGlzLl9pdGVtc1tiXS53aWR0aCgpK3RoaXMuc2V0dGluZ3MubWFyZ2luLCEoYz5kKSk7KTtmPWIrMX1lbHNlIGY9ZS5jZW50ZXI/dGhpcy5faXRlbXMubGVuZ3RoLTE6dGhpcy5faXRlbXMubGVuZ3RoLWUuaXRlbXM7cmV0dXJuIGEmJihmLT10aGlzLl9jbG9uZXMubGVuZ3RoLzIpLE1hdGgubWF4KGYsMCl9LGUucHJvdG90eXBlLm1pbmltdW09ZnVuY3Rpb24oYSl7cmV0dXJuIGE/MDp0aGlzLl9jbG9uZXMubGVuZ3RoLzJ9LGUucHJvdG90eXBlLml0ZW1zPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09ZD90aGlzLl9pdGVtcy5zbGljZSgpOihhPXRoaXMubm9ybWFsaXplKGEsITApLHRoaXMuX2l0ZW1zW2FdKX0sZS5wcm90b3R5cGUubWVyZ2Vycz1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWQ/dGhpcy5fbWVyZ2Vycy5zbGljZSgpOihhPXRoaXMubm9ybWFsaXplKGEsITApLHRoaXMuX21lcmdlcnNbYV0pfSxlLnByb3RvdHlwZS5jbG9uZXM9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5fY2xvbmVzLmxlbmd0aC8yLGU9Yyt0aGlzLl9pdGVtcy5sZW5ndGgsZj1mdW5jdGlvbihhKXtyZXR1cm4gYSUyPT09MD9lK2EvMjpjLShhKzEpLzJ9O3JldHVybiBiPT09ZD9hLm1hcCh0aGlzLl9jbG9uZXMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gZihiKX0pOmEubWFwKHRoaXMuX2Nsb25lcyxmdW5jdGlvbihhLGMpe3JldHVybiBhPT09Yj9mKGMpOm51bGx9KX0sZS5wcm90b3R5cGUuc3BlZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1kJiYodGhpcy5fc3BlZWQ9YSksdGhpcy5fc3BlZWR9LGUucHJvdG90eXBlLmNvb3JkaW5hdGVzPWZ1bmN0aW9uKGIpe3ZhciBjLGU9MSxmPWItMTtyZXR1cm4gYj09PWQ/YS5tYXAodGhpcy5fY29vcmRpbmF0ZXMsYS5wcm94eShmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmNvb3JkaW5hdGVzKGIpfSx0aGlzKSk6KHRoaXMuc2V0dGluZ3MuY2VudGVyPyh0aGlzLnNldHRpbmdzLnJ0bCYmKGU9LTEsZj1iKzEpLGM9dGhpcy5fY29vcmRpbmF0ZXNbYl0sYys9KHRoaXMud2lkdGgoKS1jKyh0aGlzLl9jb29yZGluYXRlc1tmXXx8MCkpLzIqZSk6Yz10aGlzLl9jb29yZGluYXRlc1tmXXx8MCxjPU1hdGguY2VpbChjKSl9LGUucHJvdG90eXBlLmR1cmF0aW9uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMD09PWM/MDpNYXRoLm1pbihNYXRoLm1heChNYXRoLmFicyhiLWEpLDEpLDYpKk1hdGguYWJzKGN8fHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCl9LGUucHJvdG90eXBlLnRvPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jdXJyZW50KCksZD1udWxsLGU9YS10aGlzLnJlbGF0aXZlKGMpLGY9KGU+MCktKDA+ZSksZz10aGlzLl9pdGVtcy5sZW5ndGgsaD10aGlzLm1pbmltdW0oKSxpPXRoaXMubWF4aW11bSgpO3RoaXMuc2V0dGluZ3MubG9vcD8oIXRoaXMuc2V0dGluZ3MucmV3aW5kJiZNYXRoLmFicyhlKT5nLzImJihlKz0tMSpmKmcpLGE9YytlLGQ9KChhLWgpJWcrZyklZytoLGQhPT1hJiZpPj1kLWUmJmQtZT4wJiYoYz1kLWUsYT1kLHRoaXMucmVzZXQoYykpKTp0aGlzLnNldHRpbmdzLnJld2luZD8oaSs9MSxhPShhJWkraSklaSk6YT1NYXRoLm1heChoLE1hdGgubWluKGksYSkpLHRoaXMuc3BlZWQodGhpcy5kdXJhdGlvbihjLGEsYikpLHRoaXMuY3VycmVudChhKSx0aGlzLiRlbGVtZW50LmlzKCI6dmlzaWJsZSIpJiZ0aGlzLnVwZGF0ZSgpfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGEpe2E9YXx8ITEsdGhpcy50byh0aGlzLnJlbGF0aXZlKHRoaXMuY3VycmVudCgpKSsxLGEpfSxlLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKGEpe2E9YXx8ITEsdGhpcy50byh0aGlzLnJlbGF0aXZlKHRoaXMuY3VycmVudCgpKS0xLGEpfSxlLnByb3RvdHlwZS5vblRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1kJiYoYS5zdG9wUHJvcGFnYXRpb24oKSwoYS50YXJnZXR8fGEuc3JjRWxlbWVudHx8YS5vcmlnaW5hbFRhcmdldCkhPT10aGlzLiRzdGFnZS5nZXQoMCkpPyExOih0aGlzLmxlYXZlKCJhbmltYXRpbmciKSx2b2lkIHRoaXMudHJpZ2dlcigidHJhbnNsYXRlZCIpKX0sZS5wcm90b3R5cGUudmlld3BvcnQ9ZnVuY3Rpb24oKXt2YXIgZDtyZXR1cm4gdGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlRWxlbWVudCE9PWI/ZD1hKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQmFzZUVsZW1lbnQpLndpZHRoKCk6Yi5pbm5lcldpZHRoP2Q9Yi5pbm5lcldpZHRoOmMuZG9jdW1lbnRFbGVtZW50JiZjLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aD9kPWMuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoOmNvbnNvbGUud2FybigiQ2FuIG5vdCBkZXRlY3Qgdmlld3BvcnQgd2lkdGguIiksZH0sZS5wcm90b3R5cGUucmVwbGFjZT1mdW5jdGlvbihiKXt0aGlzLiRzdGFnZS5lbXB0eSgpLHRoaXMuX2l0ZW1zPVtdLGImJihiPWIgaW5zdGFuY2VvZiBqUXVlcnk/YjphKGIpKSx0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvciYmKGI9Yi5maW5kKCIuIit0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvcikpLGIuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLm5vZGVUeXBlfSkuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGEsYil7Yj10aGlzLnByZXBhcmUoYiksdGhpcy4kc3RhZ2UuYXBwZW5kKGIpLHRoaXMuX2l0ZW1zLnB1c2goYiksdGhpcy5fbWVyZ2Vycy5wdXNoKDEqYi5maW5kKCJbZGF0YS1tZXJnZV0iKS5hZGRCYWNrKCJbZGF0YS1tZXJnZV0iKS5hdHRyKCJkYXRhLW1lcmdlIil8fDEpfSx0aGlzKSksdGhpcy5yZXNldCh0aGlzLmlzTnVtZXJpYyh0aGlzLnNldHRpbmdzLnN0YXJ0UG9zaXRpb24pP3RoaXMuc2V0dGluZ3Muc3RhcnRQb3NpdGlvbjowKSx0aGlzLmludmFsaWRhdGUoIml0ZW1zIil9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihiLGMpe3ZhciBlPXRoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCk7Yz1jPT09ZD90aGlzLl9pdGVtcy5sZW5ndGg6dGhpcy5ub3JtYWxpemUoYywhMCksYj1iIGluc3RhbmNlb2YgalF1ZXJ5P2I6YShiKSx0aGlzLnRyaWdnZXIoImFkZCIse2NvbnRlbnQ6Yixwb3NpdGlvbjpjfSksYj10aGlzLnByZXBhcmUoYiksMD09PXRoaXMuX2l0ZW1zLmxlbmd0aHx8Yz09PXRoaXMuX2l0ZW1zLmxlbmd0aD8oMD09PXRoaXMuX2l0ZW1zLmxlbmd0aCYmdGhpcy4kc3RhZ2UuYXBwZW5kKGIpLDAhPT10aGlzLl9pdGVtcy5sZW5ndGgmJnRoaXMuX2l0ZW1zW2MtMV0uYWZ0ZXIoYiksdGhpcy5faXRlbXMucHVzaChiKSx0aGlzLl9tZXJnZXJzLnB1c2goMSpiLmZpbmQoIltkYXRhLW1lcmdlXSIpLmFkZEJhY2soIltkYXRhLW1lcmdlXSIpLmF0dHIoImRhdGEtbWVyZ2UiKXx8MSkpOih0aGlzLl9pdGVtc1tjXS5iZWZvcmUoYiksdGhpcy5faXRlbXMuc3BsaWNlKGMsMCxiKSx0aGlzLl9tZXJnZXJzLnNwbGljZShjLDAsMSpiLmZpbmQoIltkYXRhLW1lcmdlXSIpLmFkZEJhY2soIltkYXRhLW1lcmdlXSIpLmF0dHIoImRhdGEtbWVyZ2UiKXx8MSkpLHRoaXMuX2l0ZW1zW2VdJiZ0aGlzLnJlc2V0KHRoaXMuX2l0ZW1zW2VdLmluZGV4KCkpLHRoaXMuaW52YWxpZGF0ZSgiaXRlbXMiKSx0aGlzLnRyaWdnZXIoImFkZGVkIix7Y29udGVudDpiLHBvc2l0aW9uOmN9KX0sZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2E9dGhpcy5ub3JtYWxpemUoYSwhMCksYSE9PWQmJih0aGlzLnRyaWdnZXIoInJlbW92ZSIse2NvbnRlbnQ6dGhpcy5faXRlbXNbYV0scG9zaXRpb246YX0pLHRoaXMuX2l0ZW1zW2FdLnJlbW92ZSgpLHRoaXMuX2l0ZW1zLnNwbGljZShhLDEpLHRoaXMuX21lcmdlcnMuc3BsaWNlKGEsMSksdGhpcy5pbnZhbGlkYXRlKCJpdGVtcyIpLHRoaXMudHJpZ2dlcigicmVtb3ZlZCIse2NvbnRlbnQ6bnVsbCxwb3NpdGlvbjphfSkpfSxlLnByb3RvdHlwZS5wcmVsb2FkQXV0b1dpZHRoSW1hZ2VzPWZ1bmN0aW9uKGIpe2IuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGIsYyl7dGhpcy5lbnRlcigicHJlLWxvYWRpbmciKSxjPWEoYyksYShuZXcgSW1hZ2UpLm9uZSgibG9hZCIsYS5wcm94eShmdW5jdGlvbihhKXtjLmF0dHIoInNyYyIsYS50YXJnZXQuc3JjKSxjLmNzcygib3BhY2l0eSIsMSksdGhpcy5sZWF2ZSgicHJlLWxvYWRpbmciKSwhdGhpcy5pcygicHJlLWxvYWRpbmciKSYmIXRoaXMuaXMoImluaXRpYWxpemluZyIpJiZ0aGlzLnJlZnJlc2goKX0sdGhpcykpLmF0dHIoInNyYyIsYy5hdHRyKCJzcmMiKXx8Yy5hdHRyKCJkYXRhLXNyYyIpfHxjLmF0dHIoImRhdGEtc3JjLXJldGluYSIpKX0sdGhpcykpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5vZmYoIi5vd2wuY29yZSIpLHRoaXMuJHN0YWdlLm9mZigiLm93bC5jb3JlIiksYShjKS5vZmYoIi5vd2wuY29yZSIpLHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZSE9PSExJiYoYi5jbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lciksdGhpcy5vZmYoYiwicmVzaXplIix0aGlzLl9oYW5kbGVycy5vblRocm90dGxlZFJlc2l6ZSkpO2Zvcih2YXIgZCBpbiB0aGlzLl9wbHVnaW5zKXRoaXMuX3BsdWdpbnNbZF0uZGVzdHJveSgpO3RoaXMuJHN0YWdlLmNoaWxkcmVuKCIuY2xvbmVkIikucmVtb3ZlKCksdGhpcy4kc3RhZ2UudW53cmFwKCksdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jb250ZW50cygpLnVud3JhcCgpLHRoaXMuJHN0YWdlLmNoaWxkcmVuKCkudW53cmFwKCksdGhpcy4kc3RhZ2UucmVtb3ZlKCksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGVkQ2xhc3MpLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ydGxDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcykuYXR0cigiY2xhc3MiLHRoaXMuJGVsZW1lbnQuYXR0cigiY2xhc3MiKS5yZXBsYWNlKG5ldyBSZWdFeHAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVDbGFzcysiLVxcUytcXHMiLCJnIiksIiIpKS5yZW1vdmVEYXRhKCJvd2wuY2Fyb3VzZWwiKX0sZS5wcm90b3R5cGUub3A9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuc2V0dGluZ3MucnRsO3N3aXRjaChiKXtjYXNlIjwiOnJldHVybiBkP2E+YzpjPmE7Y2FzZSI+IjpyZXR1cm4gZD9jPmE6YT5jO2Nhc2UiPj0iOnJldHVybiBkP2M+PWE6YT49YztjYXNlIjw9IjpyZXR1cm4gZD9hPj1jOmM+PWF9fSxlLnByb3RvdHlwZS5vbj1mdW5jdGlvbihhLGIsYyxkKXthLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGIsYyxkKTphLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrYixjKX0sZS5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKGEsYixjLGQpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj9hLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLGQpOmEuZGV0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoIm9uIitiLGMpfSxlLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKGIsYyxkLGYsZyl7dmFyIGg9e2l0ZW06e2NvdW50OnRoaXMuX2l0ZW1zLmxlbmd0aCxpbmRleDp0aGlzLmN1cnJlbnQoKX19LGk9YS5jYW1lbENhc2UoYS5ncmVwKFsib24iLGIsZF0sZnVuY3Rpb24oYSl7cmV0dXJuIGF9KS5qb2luKCItIikudG9Mb3dlckNhc2UoKSksaj1hLkV2ZW50KFtiLCJvd2wiLGR8fCJjYXJvdXNlbCJdLmpvaW4oIi4iKS50b0xvd2VyQ2FzZSgpLGEuZXh0ZW5kKHtyZWxhdGVkVGFyZ2V0OnRoaXN9LGgsYykpO3JldHVybiB0aGlzLl9zdXByZXNzW2JdfHwoYS5lYWNoKHRoaXMuX3BsdWdpbnMsZnVuY3Rpb24oYSxiKXtiLm9uVHJpZ2dlciYmYi5vblRyaWdnZXIoail9KSx0aGlzLnJlZ2lzdGVyKHt0eXBlOmUuVHlwZS5FdmVudCxuYW1lOmJ9KSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksdGhpcy5zZXR0aW5ncyYmImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuc2V0dGluZ3NbaV0mJnRoaXMuc2V0dGluZ3NbaV0uY2FsbCh0aGlzLGopKSxqfSxlLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXthLmVhY2goW2JdLmNvbmNhdCh0aGlzLl9zdGF0ZXMudGFnc1tiXXx8W10pLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9zdGF0ZXMuY3VycmVudFtiXT09PWQmJih0aGlzLl9zdGF0ZXMuY3VycmVudFtiXT0wKSx0aGlzLl9zdGF0ZXMuY3VycmVudFtiXSsrfSx0aGlzKSl9LGUucHJvdG90eXBlLmxlYXZlPWZ1bmN0aW9uKGIpe2EuZWFjaChbYl0uY29uY2F0KHRoaXMuX3N0YXRlcy50YWdzW2JdfHxbXSksYS5wcm94eShmdW5jdGlvbihhLGIpe3RoaXMuX3N0YXRlcy5jdXJyZW50W2JdLS19LHRoaXMpKX0sZS5wcm90b3R5cGUucmVnaXN0ZXI9ZnVuY3Rpb24oYil7aWYoYi50eXBlPT09ZS5UeXBlLkV2ZW50KXtpZihhLmV2ZW50LnNwZWNpYWxbYi5uYW1lXXx8KGEuZXZlbnQuc3BlY2lhbFtiLm5hbWVdPXt9KSwhYS5ldmVudC5zcGVjaWFsW2IubmFtZV0ub3dsKXt2YXIgYz1hLmV2ZW50LnNwZWNpYWxbYi5uYW1lXS5fZGVmYXVsdDthLmV2ZW50LnNwZWNpYWxbYi5uYW1lXS5fZGVmYXVsdD1mdW5jdGlvbihhKXtyZXR1cm4hY3x8IWMuYXBwbHl8fGEubmFtZXNwYWNlJiYtMSE9PWEubmFtZXNwYWNlLmluZGV4T2YoIm93bCIpP2EubmFtZXNwYWNlJiZhLm5hbWVzcGFjZS5pbmRleE9mKCJvd2wiKT4tMTpjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYS5ldmVudC5zcGVjaWFsW2IubmFtZV0ub3dsPSEwfX1lbHNlIGIudHlwZT09PWUuVHlwZS5TdGF0ZSYmKHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV0/dGhpcy5fc3RhdGVzLnRhZ3NbYi5uYW1lXT10aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdLmNvbmNhdChiLnRhZ3MpOnRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV09Yi50YWdzLHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV09YS5ncmVwKHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV0sYS5wcm94eShmdW5jdGlvbihjLGQpe3JldHVybiBhLmluQXJyYXkoYyx0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdKT09PWR9LHRoaXMpKSl9LGUucHJvdG90eXBlLnN1cHByZXNzPWZ1bmN0aW9uKGIpe2EuZWFjaChiLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9zdXByZXNzW2JdPSEwfSx0aGlzKSl9LGUucHJvdG90eXBlLnJlbGVhc2U9ZnVuY3Rpb24oYil7YS5lYWNoKGIsYS5wcm94eShmdW5jdGlvbihhLGIpe2RlbGV0ZSB0aGlzLl9zdXByZXNzW2JdfSx0aGlzKSl9LGUucHJvdG90eXBlLnBvaW50ZXI9ZnVuY3Rpb24oYSl7dmFyIGM9e3g6bnVsbCx5Om51bGx9O3JldHVybiBhPWEub3JpZ2luYWxFdmVudHx8YXx8Yi5ldmVudCxhPWEudG91Y2hlcyYmYS50b3VjaGVzLmxlbmd0aD9hLnRvdWNoZXNbMF06YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTphLGEucGFnZVg/KGMueD1hLnBhZ2VYLGMueT1hLnBhZ2VZKTooYy54PWEuY2xpZW50WCxjLnk9YS5jbGllbnRZKSxjfSxlLnByb3RvdHlwZS5pc051bWVyaWM9ZnVuY3Rpb24oYSl7cmV0dXJuIWlzTmFOKHBhcnNlRmxvYXQoYSkpfSxlLnByb3RvdHlwZS5kaWZmZXJlbmNlPWZ1bmN0aW9uKGEsYil7cmV0dXJue3g6YS54LWIueCx5OmEueS1iLnl9fSxhLmZuLm93bENhcm91c2VsPWZ1bmN0aW9uKGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxmPWQuZGF0YSgib3dsLmNhcm91c2VsIik7Znx8KGY9bmV3IGUodGhpcywib2JqZWN0Ij09dHlwZW9mIGImJmIpLGQuZGF0YSgib3dsLmNhcm91c2VsIixmKSxhLmVhY2goWyJuZXh0IiwicHJldiIsInRvIiwiZGVzdHJveSIsInJlZnJlc2giLCJyZXBsYWNlIiwiYWRkIiwicmVtb3ZlIl0sZnVuY3Rpb24oYixjKXtmLnJlZ2lzdGVyKHt0eXBlOmUuVHlwZS5FdmVudCxuYW1lOmN9KSxmLiRlbGVtZW50Lm9uKGMrIi5vd2wuY2Fyb3VzZWwuY29yZSIsYS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmYS5yZWxhdGVkVGFyZ2V0IT09dGhpcyYmKHRoaXMuc3VwcHJlc3MoW2NdKSxmW2NdLmFwcGx5KHRoaXMsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpLHRoaXMucmVsZWFzZShbY10pKX0sZikpfSkpLCJzdHJpbmciPT10eXBlb2YgYiYmIl8iIT09Yi5jaGFyQXQoMCkmJmZbYl0uYXBwbHkoZixjKX0pfSxhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX3Zpc2libGU9bnVsbCx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaCYmdGhpcy53YXRjaCgpfSx0aGlzKX0sdGhpcy5fY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5fY29yZS5vcHRpb25zKSx0aGlzLl9jb3JlLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKX07ZS5EZWZhdWx0cz17YXV0b1JlZnJlc2g6ITAsYXV0b1JlZnJlc2hJbnRlcnZhbDo1MDB9LGUucHJvdG90eXBlLndhdGNoPWZ1bmN0aW9uKCl7dGhpcy5faW50ZXJ2YWx8fCh0aGlzLl92aXNpYmxlPXRoaXMuX2NvcmUuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIiksdGhpcy5faW50ZXJ2YWw9Yi5zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMucmVmcmVzaCx0aGlzKSx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9SZWZyZXNoSW50ZXJ2YWwpKX0sZS5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3RoaXMuX2NvcmUuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikhPT10aGlzLl92aXNpYmxlJiYodGhpcy5fdmlzaWJsZT0hdGhpcy5fdmlzaWJsZSx0aGlzLl9jb3JlLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCJvd2wtaGlkZGVuIiwhdGhpcy5fdmlzaWJsZSksdGhpcy5fdmlzaWJsZSYmdGhpcy5fY29yZS5pbnZhbGlkYXRlKCJ3aWR0aCIpJiZ0aGlzLl9jb3JlLnJlZnJlc2goKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxjO2IuY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7Zm9yKGEgaW4gdGhpcy5faGFuZGxlcnMpdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLl9oYW5kbGVyc1thXSk7Zm9yKGMgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXNbY10mJih0aGlzW2NdPW51bGwpfSxhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuQXV0b1JlZnJlc2g9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX2xvYWRlZD1bXSx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCBjaGFuZ2Uub3dsLmNhcm91c2VsIHJlc2l6ZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGIpe2lmKGIubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkJiYoYi5wcm9wZXJ0eSYmInBvc2l0aW9uIj09Yi5wcm9wZXJ0eS5uYW1lfHwiaW5pdGlhbGl6ZWQiPT1iLnR5cGUpKWZvcih2YXIgYz10aGlzLl9jb3JlLnNldHRpbmdzLGU9Yy5jZW50ZXImJk1hdGguY2VpbChjLml0ZW1zLzIpfHxjLml0ZW1zLGY9Yy5jZW50ZXImJi0xKmV8fDAsZz0oYi5wcm9wZXJ0eSYmYi5wcm9wZXJ0eS52YWx1ZSE9PWQ/Yi5wcm9wZXJ0eS52YWx1ZTp0aGlzLl9jb3JlLmN1cnJlbnQoKSkrZixoPXRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoLGk9YS5wcm94eShmdW5jdGlvbihhLGIpe3RoaXMubG9hZChiKX0sdGhpcyk7ZisrPGU7KXRoaXMubG9hZChoLzIrdGhpcy5fY29yZS5yZWxhdGl2ZShnKSksaCYmYS5lYWNoKHRoaXMuX2NvcmUuY2xvbmVzKHRoaXMuX2NvcmUucmVsYXRpdmUoZykpLGkpLGcrK30sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyl9O2UuRGVmYXVsdHM9e2xhenlMb2FkOiExfSxlLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCkuZXEoYyksZT1kJiZkLmZpbmQoIi5vd2wtbGF6eSIpOyFlfHxhLmluQXJyYXkoZC5nZXQoMCksdGhpcy5fbG9hZGVkKT4tMXx8KGUuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hKGQpLGc9Yi5kZXZpY2VQaXhlbFJhdGlvPjEmJmYuYXR0cigiZGF0YS1zcmMtcmV0aW5hIil8fGYuYXR0cigiZGF0YS1zcmMiKTt0aGlzLl9jb3JlLnRyaWdnZXIoImxvYWQiLHtlbGVtZW50OmYsdXJsOmd9LCJsYXp5IiksZi5pcygiaW1nIik/Zi5vbmUoImxvYWQub3dsLmxhenkiLGEucHJveHkoZnVuY3Rpb24oKXtmLmNzcygib3BhY2l0eSIsMSksdGhpcy5fY29yZS50cmlnZ2VyKCJsb2FkZWQiLHtlbGVtZW50OmYsdXJsOmd9LCJsYXp5Iil9LHRoaXMpKS5hdHRyKCJzcmMiLGcpOihlPW5ldyBJbWFnZSxlLm9ubG9hZD1hLnByb3h5KGZ1bmN0aW9uKCl7Zi5jc3MoeyJiYWNrZ3JvdW5kLWltYWdlIjondXJsKCInK2crJyIpJyxvcGFjaXR5OiIxIn0pLHRoaXMuX2NvcmUudHJpZ2dlcigibG9hZGVkIix7ZWxlbWVudDpmLHVybDpnfSwibGF6eSIpfSx0aGlzKSxlLnNyYz1nKX0sdGhpcykpLHRoaXMuX2xvYWRlZC5wdXNoKGQuZ2V0KDApKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO2ZvcihhIGluIHRoaXMuaGFuZGxlcnMpdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLmhhbmRsZXJzW2FdKTtmb3IoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tiXSYmKHRoaXNbYl09bnVsbCl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5MYXp5PWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCByZWZyZXNoZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQmJnRoaXMudXBkYXRlKCl9LHRoaXMpLCJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvSGVpZ2h0JiYicG9zaXRpb24iPT1hLnByb3BlcnR5Lm5hbWUmJnRoaXMudXBkYXRlKCl9LHRoaXMpLCJsb2FkZWQub3dsLmxhenkiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodCYmYS5lbGVtZW50LmNsb3Nlc3QoIi4iK3RoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKS5pbmRleCgpPT09dGhpcy5fY29yZS5jdXJyZW50KCkmJnRoaXMudXBkYXRlKCl9LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpfTtlLkRlZmF1bHRzPXthdXRvSGVpZ2h0OiExLGF1dG9IZWlnaHRDbGFzczoib3dsLWhlaWdodCJ9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBiPXRoaXMuX2NvcmUuX2N1cnJlbnQsYz1iK3RoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbXMsZD10aGlzLl9jb3JlLiRzdGFnZS5jaGlsZHJlbigpLnRvQXJyYXkoKS5zbGljZShiLGMpLGU9W10sZj0wO2EuZWFjaChkLGZ1bmN0aW9uKGIsYyl7ZS5wdXNoKGEoYykuaGVpZ2h0KCkpfSksZj1NYXRoLm1heC5hcHBseShudWxsLGUpLHRoaXMuX2NvcmUuJHN0YWdlLnBhcmVudCgpLmhlaWdodChmKS5hZGRDbGFzcyh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHRDbGFzcyl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkF1dG9IZWlnaHQ9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX3ZpZGVvcz17fSx0aGlzLl9wbGF5aW5nPW51bGwsdGhpcy5faGFuZGxlcnM9eyJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUucmVnaXN0ZXIoe3R5cGU6InN0YXRlIixuYW1lOiJwbGF5aW5nIix0YWdzOlsiaW50ZXJhY3RpbmciXX0pfSx0aGlzKSwicmVzaXplLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy52aWRlbyYmdGhpcy5pc0luRnVsbFNjcmVlbigpJiZhLnByZXZlbnREZWZhdWx0KCl9LHRoaXMpLCJyZWZyZXNoZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLmlzKCJyZXNpemluZyIpJiZ0aGlzLl9jb3JlLiRzdGFnZS5maW5kKCIuY2xvbmVkIC5vd2wtdmlkZW8tZnJhbWUiKS5yZW1vdmUoKX0sdGhpcyksImNoYW5nZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiYicG9zaXRpb24iPT09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLl9wbGF5aW5nJiZ0aGlzLnN0b3AoKX0sdGhpcyksInByZXBhcmVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihiKXtpZihiLm5hbWVzcGFjZSl7dmFyIGM9YShiLmNvbnRlbnQpLmZpbmQoIi5vd2wtdmlkZW8iKTtjLmxlbmd0aCYmKGMuY3NzKCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMuZmV0Y2goYyxhKGIuY29udGVudCkpKX19LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24oImNsaWNrLm93bC52aWRlbyIsIi5vd2wtdmlkZW8tcGxheS1pY29uIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMucGxheShhKX0sdGhpcykpfTtlLkRlZmF1bHRzPXt2aWRlbzohMSx2aWRlb0hlaWdodDohMSx2aWRlb1dpZHRoOiExfSxlLnByb3RvdHlwZS5mZXRjaD1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXR0cigiZGF0YS12aW1lby1pZCIpPyJ2aW1lbyI6YS5hdHRyKCJkYXRhLXZ6YWFyLWlkIik/InZ6YWFyIjoieW91dHViZSJ9KCksZD1hLmF0dHIoImRhdGEtdmltZW8taWQiKXx8YS5hdHRyKCJkYXRhLXlvdXR1YmUtaWQiKXx8YS5hdHRyKCJkYXRhLXZ6YWFyLWlkIiksZT1hLmF0dHIoImRhdGEtd2lkdGgiKXx8dGhpcy5fY29yZS5zZXR0aW5ncy52aWRlb1dpZHRoLGY9YS5hdHRyKCJkYXRhLWhlaWdodCIpfHx0aGlzLl9jb3JlLnNldHRpbmdzLnZpZGVvSGVpZ2h0LGc9YS5hdHRyKCJocmVmIik7aWYoIWcpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHZpZGVvIFVSTC4iKTtpZihkPWcubWF0Y2goLyhodHRwOnxodHRwczp8KVwvXC8ocGxheWVyLnx3d3cufGFwcC4pPyh2aW1lb1wuY29tfHlvdXR1KGJlXC5jb218XC5iZXxiZVwuZ29vZ2xlYXBpc1wuY29tKXx2emFhclwuY29tKVwvKHZpZGVvXC98dmlkZW9zXC98ZW1iZWRcL3xjaGFubmVsc1wvLitcL3xncm91cHNcLy4rXC98d2F0Y2hcP3Y9fHZcLyk/KFtBLVphLXowLTkuXyUtXSopKFwmXFMrKT8vKSxkWzNdLmluZGV4T2YoInlvdXR1Iik+LTEpYz0ieW91dHViZSI7ZWxzZSBpZihkWzNdLmluZGV4T2YoInZpbWVvIik+LTEpYz0idmltZW8iO2Vsc2V7aWYoIShkWzNdLmluZGV4T2YoInZ6YWFyIik+LTEpKXRocm93IG5ldyBFcnJvcigiVmlkZW8gVVJMIG5vdCBzdXBwb3J0ZWQuIik7Yz0idnphYXIifWQ9ZFs2XSx0aGlzLl92aWRlb3NbZ109e3R5cGU6YyxpZDpkLHdpZHRoOmUsaGVpZ2h0OmZ9LGIuYXR0cigiZGF0YS12aWRlbyIsZyksdGhpcy50aHVtYm5haWwoYSx0aGlzLl92aWRlb3NbZ10pfSxlLnByb3RvdHlwZS50aHVtYm5haWw9ZnVuY3Rpb24oYixjKXt2YXIgZCxlLGYsZz1jLndpZHRoJiZjLmhlaWdodD8nc3R5bGU9IndpZHRoOicrYy53aWR0aCsicHg7aGVpZ2h0OiIrYy5oZWlnaHQrJ3B4OyInOiIiLGg9Yi5maW5kKCJpbWciKSxpPSJzcmMiLGo9IiIsaz10aGlzLl9jb3JlLnNldHRpbmdzLGw9ZnVuY3Rpb24oYSl7ZT0nPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXBsYXktaWNvbiI+PC9kaXY+JyxkPWsubGF6eUxvYWQ/JzxkaXYgY2xhc3M9Im93bC12aWRlby10biAnK2orJyIgJytpKyc9IicrYSsnIj48L2Rpdj4nOic8ZGl2IGNsYXNzPSJvd2wtdmlkZW8tdG4iIHN0eWxlPSJvcGFjaXR5OjE7YmFja2dyb3VuZC1pbWFnZTp1cmwoJythKycpIj48L2Rpdj4nLGIuYWZ0ZXIoZCksYi5hZnRlcihlKX07cmV0dXJuIGIud3JhcCgnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXdyYXBwZXIiJytnKyI+PC9kaXY+IiksdGhpcy5fY29yZS5zZXR0aW5ncy5sYXp5TG9hZCYmKGk9ImRhdGEtc3JjIixqPSJvd2wtbGF6eSIpLGgubGVuZ3RoPyhsKGguYXR0cihpKSksaC5yZW1vdmUoKSwhMSk6dm9pZCgieW91dHViZSI9PT1jLnR5cGU/KGY9Ii8vaW1nLnlvdXR1YmUuY29tL3ZpLyIrYy5pZCsiL2hxZGVmYXVsdC5qcGciLGwoZikpOiJ2aW1lbyI9PT1jLnR5cGU/YS5hamF4KHt0eXBlOiJHRVQiLHVybDoiLy92aW1lby5jb20vYXBpL3YyL3ZpZGVvLyIrYy5pZCsiLmpzb24iLGpzb25wOiJjYWxsYmFjayIsZGF0YVR5cGU6Impzb25wIixzdWNjZXNzOmZ1bmN0aW9uKGEpe2Y9YVswXS50aHVtYm5haWxfbGFyZ2UsbChmKX19KToidnphYXIiPT09Yy50eXBlJiZhLmFqYXgoe3R5cGU6IkdFVCIsdXJsOiIvL3Z6YWFyLmNvbS9hcGkvdmlkZW9zLyIrYy5pZCsiLmpzb24iLGpzb25wOiJjYWxsYmFjayIsZGF0YVR5cGU6Impzb25wIixzdWNjZXNzOmZ1bmN0aW9uKGEpe2Y9YS5mcmFtZWdyYWJfdXJsLGwoZil9fSkpfSxlLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5fY29yZS50cmlnZ2VyKCJzdG9wIixudWxsLCJ2aWRlbyIpLHRoaXMuX3BsYXlpbmcuZmluZCgiLm93bC12aWRlby1mcmFtZSIpLnJlbW92ZSgpLHRoaXMuX3BsYXlpbmcucmVtb3ZlQ2xhc3MoIm93bC12aWRlby1wbGF5aW5nIiksdGhpcy5fcGxheWluZz1udWxsLHRoaXMuX2NvcmUubGVhdmUoInBsYXlpbmciKSx0aGlzLl9jb3JlLnRyaWdnZXIoInN0b3BwZWQiLG51bGwsInZpZGVvIil9LGUucHJvdG90eXBlLnBsYXk9ZnVuY3Rpb24oYil7dmFyIGMsZD1hKGIudGFyZ2V0KSxlPWQuY2xvc2VzdCgiLiIrdGhpcy5fY29yZS5zZXR0aW5ncy5pdGVtQ2xhc3MpLGY9dGhpcy5fdmlkZW9zW2UuYXR0cigiZGF0YS12aWRlbyIpXSxnPWYud2lkdGh8fCIxMDAlIixoPWYuaGVpZ2h0fHx0aGlzLl9jb3JlLiRzdGFnZS5oZWlnaHQoKTt0aGlzLl9wbGF5aW5nfHwodGhpcy5fY29yZS5lbnRlcigicGxheWluZyIpLHRoaXMuX2NvcmUudHJpZ2dlcigicGxheSIsbnVsbCwidmlkZW8iKSxlPXRoaXMuX2NvcmUuaXRlbXModGhpcy5fY29yZS5yZWxhdGl2ZShlLmluZGV4KCkpKSx0aGlzLl9jb3JlLnJlc2V0KGUuaW5kZXgoKSksInlvdXR1YmUiPT09Zi50eXBlP2M9JzxpZnJhbWUgd2lkdGg9IicrZysnIiBoZWlnaHQ9IicraCsnIiBzcmM9Ii8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLycrZi5pZCsiP2F1dG9wbGF5PTEmcmVsPTAmdj0iK2YuaWQrJyIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nOiJ2aW1lbyI9PT1mLnR5cGU/Yz0nPGlmcmFtZSBzcmM9Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8nK2YuaWQrJz9hdXRvcGxheT0xIiB3aWR0aD0iJytnKyciIGhlaWdodD0iJytoKyciIGZyYW1lYm9yZGVyPSIwIiB3ZWJraXRhbGxvd2Z1bGxzY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nOiJ2emFhciI9PT1mLnR5cGUmJihjPSc8aWZyYW1lIGZyYW1lYm9yZGVyPSIwImhlaWdodD0iJytoKycid2lkdGg9IicrZysnIiBhbGxvd2Z1bGxzY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIHdlYmtpdEFsbG93RnVsbFNjcmVlbiBzcmM9Ii8vdmlldy52emFhci5jb20vJytmLmlkKycvcGxheWVyP2F1dG9wbGF5PXRydWUiPjwvaWZyYW1lPicpLGEoJzxkaXYgY2xhc3M9Im93bC12aWRlby1mcmFtZSI+JytjKyI8L2Rpdj4iKS5pbnNlcnRBZnRlcihlLmZpbmQoIi5vd2wtdmlkZW8iKSksdGhpcy5fcGxheWluZz1lLmFkZENsYXNzKCJvd2wtdmlkZW8tcGxheWluZyIpKX0sZS5wcm90b3R5cGUuaXNJbkZ1bGxTY3JlZW49ZnVuY3Rpb24oKXt2YXIgYj1jLmZ1bGxzY3JlZW5FbGVtZW50fHxjLm1vekZ1bGxTY3JlZW5FbGVtZW50fHxjLndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBiJiZhKGIpLnBhcmVudCgpLmhhc0NsYXNzKCJvd2wtdmlkZW8tZnJhbWUiKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBhLGI7dGhpcy5fY29yZS4kZWxlbWVudC5vZmYoImNsaWNrLm93bC52aWRlbyIpO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLlZpZGVvPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuY29yZT1iLHRoaXMuY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5jb3JlLm9wdGlvbnMpLHRoaXMuc3dhcHBpbmc9ITAsdGhpcy5wcmV2aW91cz1kLHRoaXMubmV4dD1kLHRoaXMuaGFuZGxlcnM9eyJjaGFuZ2Uub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiYicG9zaXRpb24iPT1hLnByb3BlcnR5Lm5hbWUmJih0aGlzLnByZXZpb3VzPXRoaXMuY29yZS5jdXJyZW50KCksdGhpcy5uZXh0PWEucHJvcGVydHkudmFsdWUpfSx0aGlzKSwiZHJhZy5vd2wuY2Fyb3VzZWwgZHJhZ2dlZC5vd2wuY2Fyb3VzZWwgdHJhbnNsYXRlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJih0aGlzLnN3YXBwaW5nPSJ0cmFuc2xhdGVkIj09YS50eXBlKX0sdGhpcyksInRyYW5zbGF0ZS5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuc3dhcHBpbmcmJih0aGlzLmNvcmUub3B0aW9ucy5hbmltYXRlT3V0fHx0aGlzLmNvcmUub3B0aW9ucy5hbmltYXRlSW4pJiZ0aGlzLnN3YXAoKX0sdGhpcyl9LHRoaXMuY29yZS4kZWxlbWVudC5vbih0aGlzLmhhbmRsZXJzKX07ZS5EZWZhdWx0cz17YW5pbWF0ZU91dDohMSxhbmltYXRlSW46ITF9LGUucHJvdG90eXBlLnN3YXA9ZnVuY3Rpb24oKXtpZigxPT09dGhpcy5jb3JlLnNldHRpbmdzLml0ZW1zJiZhLnN1cHBvcnQuYW5pbWF0aW9uJiZhLnN1cHBvcnQudHJhbnNpdGlvbil7dGhpcy5jb3JlLnNwZWVkKDApO3ZhciBiLGM9YS5wcm94eSh0aGlzLmNsZWFyLHRoaXMpLGQ9dGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMucHJldmlvdXMpLGU9dGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMubmV4dCksZj10aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZUluLGc9dGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVPdXQ7dGhpcy5jb3JlLmN1cnJlbnQoKSE9PXRoaXMucHJldmlvdXMmJihnJiYoYj10aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5wcmV2aW91cyktdGhpcy5jb3JlLmNvb3JkaW5hdGVzKHRoaXMubmV4dCksZC5vbmUoYS5zdXBwb3J0LmFuaW1hdGlvbi5lbmQsYykuY3NzKHtsZWZ0OmIrInB4In0pLmFkZENsYXNzKCJhbmltYXRlZCBvd2wtYW5pbWF0ZWQtb3V0IikuYWRkQ2xhc3MoZykpLGYmJmUub25lKGEuc3VwcG9ydC5hbmltYXRpb24uZW5kLGMpLmFkZENsYXNzKCJhbmltYXRlZCBvd2wtYW5pbWF0ZWQtaW4iKS5hZGRDbGFzcyhmKSl9fSxlLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbihiKXthKGIudGFyZ2V0KS5jc3Moe2xlZnQ6IiJ9KS5yZW1vdmVDbGFzcygiYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLW91dCBvd2wtYW5pbWF0ZWQtaW4iKS5yZW1vdmVDbGFzcyh0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZUluKS5yZW1vdmVDbGFzcyh0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZU91dCksdGhpcy5jb3JlLm9uVHJhbnNpdGlvbkVuZCgpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGEsYjtmb3IoYSBpbiB0aGlzLmhhbmRsZXJzKXRoaXMuY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLmhhbmRsZXJzW2FdKTtmb3IoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tiXSYmKHRoaXNbYl09bnVsbCk7DQp9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5BbmltYXRlPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0wLHRoaXMuX3RpbWVvdXQ9MCx0aGlzLl9wYXVzZWQ9ITAsdGhpcy5faGFuZGxlcnM9eyJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmInNldHRpbmdzIj09PWEucHJvcGVydHkubmFtZT90aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5P3RoaXMucGxheSgpOnRoaXMuc3RvcCgpOmEubmFtZXNwYWNlJiYicG9zaXRpb24iPT09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLl9wYXVzZWQmJih0aGlzLl90aW1lPTApfSx0aGlzKSwiaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5JiZ0aGlzLnBsYXkoKX0sdGhpcyksInBsYXkub3dsLmF1dG9wbGF5IjphLnByb3h5KGZ1bmN0aW9uKGEsYixjKXthLm5hbWVzcGFjZSYmdGhpcy5wbGF5KGIsYyl9LHRoaXMpLCJzdG9wLm93bC5hdXRvcGxheSI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5zdG9wKCl9LHRoaXMpLCJtb3VzZW92ZXIub3dsLmF1dG9wbGF5IjphLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UmJnRoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJnRoaXMucGF1c2UoKX0sdGhpcyksIm1vdXNlbGVhdmUub3dsLmF1dG9wbGF5IjphLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UmJnRoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJnRoaXMucGxheSgpfSx0aGlzKSwidG91Y2hzdGFydC5vd2wuY29yZSI6YS5wcm94eShmdW5jdGlvbigpe3RoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlIb3ZlclBhdXNlJiZ0aGlzLl9jb3JlLmlzKCJyb3RhdGluZyIpJiZ0aGlzLnBhdXNlKCl9LHRoaXMpLCJ0b3VjaGVuZC5vd2wuY29yZSI6YS5wcm94eShmdW5jdGlvbigpe3RoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlIb3ZlclBhdXNlJiZ0aGlzLnBsYXkoKX0sdGhpcyl9LHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyl9O2UuRGVmYXVsdHM9e2F1dG9wbGF5OiExLGF1dG9wbGF5VGltZW91dDo1ZTMsYXV0b3BsYXlIb3ZlclBhdXNlOiExLGF1dG9wbGF5U3BlZWQ6ITF9LGUucHJvdG90eXBlLl9uZXh0PWZ1bmN0aW9uKGQpe3RoaXMuX2NhbGw9Yi5zZXRUaW1lb3V0KGEucHJveHkodGhpcy5fbmV4dCx0aGlzLGQpLHRoaXMuX3RpbWVvdXQqKE1hdGgucm91bmQodGhpcy5yZWFkKCkvdGhpcy5fdGltZW91dCkrMSktdGhpcy5yZWFkKCkpLHRoaXMuX2NvcmUuaXMoImJ1c3kiKXx8dGhpcy5fY29yZS5pcygiaW50ZXJhY3RpbmciKXx8Yy5oaWRkZW58fHRoaXMuX2NvcmUubmV4dChkfHx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5U3BlZWQpfSxlLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5fdGltZX0sZS5wcm90b3R5cGUucGxheT1mdW5jdGlvbihjLGQpe3ZhciBlO3RoaXMuX2NvcmUuaXMoInJvdGF0aW5nIil8fHRoaXMuX2NvcmUuZW50ZXIoInJvdGF0aW5nIiksYz1jfHx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5VGltZW91dCxlPU1hdGgubWluKHRoaXMuX3RpbWUlKHRoaXMuX3RpbWVvdXR8fGMpLGMpLHRoaXMuX3BhdXNlZD8odGhpcy5fdGltZT10aGlzLnJlYWQoKSx0aGlzLl9wYXVzZWQ9ITEpOmIuY2xlYXJUaW1lb3V0KHRoaXMuX2NhbGwpLHRoaXMuX3RpbWUrPXRoaXMucmVhZCgpJWMtZSx0aGlzLl90aW1lb3V0PWMsdGhpcy5fY2FsbD1iLnNldFRpbWVvdXQoYS5wcm94eSh0aGlzLl9uZXh0LHRoaXMsZCksYy1lKX0sZS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJih0aGlzLl90aW1lPTAsdGhpcy5fcGF1c2VkPSEwLGIuY2xlYXJUaW1lb3V0KHRoaXMuX2NhbGwpLHRoaXMuX2NvcmUubGVhdmUoInJvdGF0aW5nIikpfSxlLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3RoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJiF0aGlzLl9wYXVzZWQmJih0aGlzLl90aW1lPXRoaXMucmVhZCgpLHRoaXMuX3BhdXNlZD0hMCxiLmNsZWFyVGltZW91dCh0aGlzLl9jYWxsKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO3RoaXMuc3RvcCgpO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLmF1dG9wbGF5PWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1mdW5jdGlvbihiKXt0aGlzLl9jb3JlPWIsdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fcGFnZXM9W10sdGhpcy5fY29udHJvbHM9e30sdGhpcy5fdGVtcGxhdGVzPVtdLHRoaXMuJGVsZW1lbnQ9dGhpcy5fY29yZS4kZWxlbWVudCx0aGlzLl9vdmVycmlkZXM9e25leHQ6dGhpcy5fY29yZS5uZXh0LHByZXY6dGhpcy5fY29yZS5wcmV2LHRvOnRoaXMuX2NvcmUudG99LHRoaXMuX2hhbmRsZXJzPXsicHJlcGFyZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGIpe2IubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhJiZ0aGlzLl90ZW1wbGF0ZXMucHVzaCgnPGRpdiBjbGFzcz0iJyt0aGlzLl9jb3JlLnNldHRpbmdzLmRvdENsYXNzKyciPicrYShiLmNvbnRlbnQpLmZpbmQoIltkYXRhLWRvdF0iKS5hZGRCYWNrKCJbZGF0YS1kb3RdIikuYXR0cigiZGF0YS1kb3QiKSsiPC9kaXY+Iil9LHRoaXMpLCJhZGRlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuZG90c0RhdGEmJnRoaXMuX3RlbXBsYXRlcy5zcGxpY2UoYS5wb3NpdGlvbiwwLHRoaXMuX3RlbXBsYXRlcy5wb3AoKSl9LHRoaXMpLCJyZW1vdmUub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhJiZ0aGlzLl90ZW1wbGF0ZXMuc3BsaWNlKGEucG9zaXRpb24sMSl9LHRoaXMpLCJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmInBvc2l0aW9uIj09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLmRyYXcoKX0sdGhpcyksImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmIXRoaXMuX2luaXRpYWxpemVkJiYodGhpcy5fY29yZS50cmlnZ2VyKCJpbml0aWFsaXplIixudWxsLCJuYXZpZ2F0aW9uIiksdGhpcy5pbml0aWFsaXplKCksdGhpcy51cGRhdGUoKSx0aGlzLmRyYXcoKSx0aGlzLl9pbml0aWFsaXplZD0hMCx0aGlzLl9jb3JlLnRyaWdnZXIoImluaXRpYWxpemVkIixudWxsLCJuYXZpZ2F0aW9uIikpfSx0aGlzKSwicmVmcmVzaGVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5faW5pdGlhbGl6ZWQmJih0aGlzLl9jb3JlLnRyaWdnZXIoInJlZnJlc2giLG51bGwsIm5hdmlnYXRpb24iKSx0aGlzLnVwZGF0ZSgpLHRoaXMuZHJhdygpLHRoaXMuX2NvcmUudHJpZ2dlcigicmVmcmVzaGVkIixudWxsLCJuYXZpZ2F0aW9uIikpfSx0aGlzKX0sdGhpcy5fY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5fY29yZS5vcHRpb25zKSx0aGlzLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKX07ZS5EZWZhdWx0cz17bmF2OiExLG5hdlRleHQ6Wyc8c3BhbiBhcmlhLWxhYmVsPSJwcmV2Ij4mI3gyMDM5Ozwvc3Bhbj4nLCc8c3BhbiBhcmlhLWxhYmVsPSJuZXh0Ij4mI3gyMDNhOzwvc3Bhbj4nXSxuYXZTcGVlZDohMSxuYXZFbGVtZW50OididXR0b24gcm9sZT0icHJlc2VudGF0aW9uIicsbmF2Q29udGFpbmVyOiExLG5hdkNvbnRhaW5lckNsYXNzOiJvd2wtbmF2IixuYXZDbGFzczpbIm93bC1wcmV2Iiwib3dsLW5leHQiXSxzbGlkZUJ5OjEsZG90Q2xhc3M6Im93bC1kb3QiLGRvdHNDbGFzczoib3dsLWRvdHMiLGRvdHM6ITAsZG90c0VhY2g6ITEsZG90c0RhdGE6ITEsZG90c1NwZWVkOiExLGRvdHNDb250YWluZXI6ITF9LGUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt2YXIgYixjPXRoaXMuX2NvcmUuc2V0dGluZ3M7dGhpcy5fY29udHJvbHMuJHJlbGF0aXZlPShjLm5hdkNvbnRhaW5lcj9hKGMubmF2Q29udGFpbmVyKTphKCI8ZGl2PiIpLmFkZENsYXNzKGMubmF2Q29udGFpbmVyQ2xhc3MpLmFwcGVuZFRvKHRoaXMuJGVsZW1lbnQpKS5hZGRDbGFzcygiZGlzYWJsZWQiKSx0aGlzLl9jb250cm9scy4kcHJldmlvdXM9YSgiPCIrYy5uYXZFbGVtZW50KyI+IikuYWRkQ2xhc3MoYy5uYXZDbGFzc1swXSkuaHRtbChjLm5hdlRleHRbMF0pLnByZXBlbmRUbyh0aGlzLl9jb250cm9scy4kcmVsYXRpdmUpLm9uKCJjbGljayIsYS5wcm94eShmdW5jdGlvbihhKXt0aGlzLnByZXYoYy5uYXZTcGVlZCl9LHRoaXMpKSx0aGlzLl9jb250cm9scy4kbmV4dD1hKCI8IitjLm5hdkVsZW1lbnQrIj4iKS5hZGRDbGFzcyhjLm5hdkNsYXNzWzFdKS5odG1sKGMubmF2VGV4dFsxXSkuYXBwZW5kVG8odGhpcy5fY29udHJvbHMuJHJlbGF0aXZlKS5vbigiY2xpY2siLGEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy5uZXh0KGMubmF2U3BlZWQpfSx0aGlzKSksYy5kb3RzRGF0YXx8KHRoaXMuX3RlbXBsYXRlcz1bYSgiPGJ1dHRvbj4iKS5hZGRDbGFzcyhjLmRvdENsYXNzKS5hcHBlbmQoYSgiPHNwYW4+IikpLnByb3AoIm91dGVySFRNTCIpXSksdGhpcy5fY29udHJvbHMuJGFic29sdXRlPShjLmRvdHNDb250YWluZXI/YShjLmRvdHNDb250YWluZXIpOmEoIjxkaXY+IikuYWRkQ2xhc3MoYy5kb3RzQ2xhc3MpLmFwcGVuZFRvKHRoaXMuJGVsZW1lbnQpKS5hZGRDbGFzcygiZGlzYWJsZWQiKSx0aGlzLl9jb250cm9scy4kYWJzb2x1dGUub24oImNsaWNrIiwiYnV0dG9uIixhLnByb3h5KGZ1bmN0aW9uKGIpe3ZhciBkPWEoYi50YXJnZXQpLnBhcmVudCgpLmlzKHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZSk/YShiLnRhcmdldCkuaW5kZXgoKTphKGIudGFyZ2V0KS5wYXJlbnQoKS5pbmRleCgpO2IucHJldmVudERlZmF1bHQoKSx0aGlzLnRvKGQsYy5kb3RzU3BlZWQpfSx0aGlzKSk7Zm9yKGIgaW4gdGhpcy5fb3ZlcnJpZGVzKXRoaXMuX2NvcmVbYl09YS5wcm94eSh0aGlzW2JdLHRoaXMpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Zm9yKGEgaW4gdGhpcy5faGFuZGxlcnMpdGhpcy4kZWxlbWVudC5vZmYoYSx0aGlzLl9oYW5kbGVyc1thXSk7Zm9yKGIgaW4gdGhpcy5fY29udHJvbHMpIiRyZWxhdGl2ZSI9PT1iJiZzZXR0aW5ncy5uYXZDb250YWluZXI/dGhpcy5fY29udHJvbHNbYl0uaHRtbCgiIik6dGhpcy5fY29udHJvbHNbYl0ucmVtb3ZlKCk7Zm9yKGQgaW4gdGhpcy5vdmVyaWRlcyl0aGlzLl9jb3JlW2RdPXRoaXMuX292ZXJyaWRlc1tkXTtmb3IoYyBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tjXSYmKHRoaXNbY109bnVsbCl9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBhLGIsYyxkPXRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoLzIsZT1kK3RoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGgsZj10aGlzLl9jb3JlLm1heGltdW0oITApLGc9dGhpcy5fY29yZS5zZXR0aW5ncyxoPWcuY2VudGVyfHxnLmF1dG9XaWR0aHx8Zy5kb3RzRGF0YT8xOmcuZG90c0VhY2h8fGcuaXRlbXM7aWYoInBhZ2UiIT09Zy5zbGlkZUJ5JiYoZy5zbGlkZUJ5PU1hdGgubWluKGcuc2xpZGVCeSxnLml0ZW1zKSksZy5kb3RzfHwicGFnZSI9PWcuc2xpZGVCeSlmb3IodGhpcy5fcGFnZXM9W10sYT1kLGI9MCxjPTA7ZT5hO2ErKyl7aWYoYj49aHx8MD09PWIpe2lmKHRoaXMuX3BhZ2VzLnB1c2goe3N0YXJ0Ok1hdGgubWluKGYsYS1kKSxlbmQ6YS1kK2gtMX0pLE1hdGgubWluKGYsYS1kKT09PWYpYnJlYWs7Yj0wLCsrY31iKz10aGlzLl9jb3JlLm1lcmdlcnModGhpcy5fY29yZS5yZWxhdGl2ZShhKSl9fSxlLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKCl7dmFyIGIsYz10aGlzLl9jb3JlLnNldHRpbmdzLGQ9dGhpcy5fY29yZS5pdGVtcygpLmxlbmd0aDw9Yy5pdGVtcyxlPXRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpLGY9Yy5sb29wfHxjLnJld2luZDt0aGlzLl9jb250cm9scy4kcmVsYXRpdmUudG9nZ2xlQ2xhc3MoImRpc2FibGVkIiwhYy5uYXZ8fGQpLGMubmF2JiYodGhpcy5fY29udHJvbHMuJHByZXZpb3VzLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsIWYmJmU8PXRoaXMuX2NvcmUubWluaW11bSghMCkpLHRoaXMuX2NvbnRyb2xzLiRuZXh0LnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsIWYmJmU+PXRoaXMuX2NvcmUubWF4aW11bSghMCkpKSx0aGlzLl9jb250cm9scy4kYWJzb2x1dGUudG9nZ2xlQ2xhc3MoImRpc2FibGVkIiwhYy5kb3RzfHxkKSxjLmRvdHMmJihiPXRoaXMuX3BhZ2VzLmxlbmd0aC10aGlzLl9jb250cm9scy4kYWJzb2x1dGUuY2hpbGRyZW4oKS5sZW5ndGgsYy5kb3RzRGF0YSYmMCE9PWI/dGhpcy5fY29udHJvbHMuJGFic29sdXRlLmh0bWwodGhpcy5fdGVtcGxhdGVzLmpvaW4oIiIpKTpiPjA/dGhpcy5fY29udHJvbHMuJGFic29sdXRlLmFwcGVuZChuZXcgQXJyYXkoYisxKS5qb2luKHRoaXMuX3RlbXBsYXRlc1swXSkpOjA+YiYmdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkuc2xpY2UoYikucmVtb3ZlKCksdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkuZXEoYS5pbkFycmF5KHRoaXMuY3VycmVudCgpLHRoaXMuX3BhZ2VzKSkuYWRkQ2xhc3MoImFjdGl2ZSIpKX0sZS5wcm90b3R5cGUub25UcmlnZ2VyPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuX2NvcmUuc2V0dGluZ3M7Yi5wYWdlPXtpbmRleDphLmluQXJyYXkodGhpcy5jdXJyZW50KCksdGhpcy5fcGFnZXMpLGNvdW50OnRoaXMuX3BhZ2VzLmxlbmd0aCxzaXplOmMmJihjLmNlbnRlcnx8Yy5hdXRvV2lkdGh8fGMuZG90c0RhdGE/MTpjLmRvdHNFYWNofHxjLml0ZW1zKX19LGUucHJvdG90eXBlLmN1cnJlbnQ9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKTtyZXR1cm4gYS5ncmVwKHRoaXMuX3BhZ2VzLGEucHJveHkoZnVuY3Rpb24oYSxjKXtyZXR1cm4gYS5zdGFydDw9YiYmYS5lbmQ+PWJ9LHRoaXMpKS5wb3AoKX0sZS5wcm90b3R5cGUuZ2V0UG9zaXRpb249ZnVuY3Rpb24oYil7dmFyIGMsZCxlPXRoaXMuX2NvcmUuc2V0dGluZ3M7cmV0dXJuInBhZ2UiPT1lLnNsaWRlQnk/KGM9YS5pbkFycmF5KHRoaXMuY3VycmVudCgpLHRoaXMuX3BhZ2VzKSxkPXRoaXMuX3BhZ2VzLmxlbmd0aCxiPysrYzotLWMsYz10aGlzLl9wYWdlc1soYyVkK2QpJWRdLnN0YXJ0KTooYz10aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSxkPXRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGgsYj9jKz1lLnNsaWRlQnk6Yy09ZS5zbGlkZUJ5KSxjfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGIpe2EucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLHRoaXMuX2NvcmUpKHRoaXMuZ2V0UG9zaXRpb24oITApLGIpfSxlLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKGIpe2EucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLHRoaXMuX2NvcmUpKHRoaXMuZ2V0UG9zaXRpb24oITEpLGIpfSxlLnByb3RvdHlwZS50bz1mdW5jdGlvbihiLGMsZCl7dmFyIGU7IWQmJnRoaXMuX3BhZ2VzLmxlbmd0aD8oZT10aGlzLl9wYWdlcy5sZW5ndGgsYS5wcm94eSh0aGlzLl9vdmVycmlkZXMudG8sdGhpcy5fY29yZSkodGhpcy5fcGFnZXNbKGIlZStlKSVlXS5zdGFydCxjKSk6YS5wcm94eSh0aGlzLl9vdmVycmlkZXMudG8sdGhpcy5fY29yZSkoYixjKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLk5hdmlnYXRpb249ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7InVzZSBzdHJpY3QiO3ZhciBlPWZ1bmN0aW9uKGMpe3RoaXMuX2NvcmU9Yyx0aGlzLl9oYXNoZXM9e30sdGhpcy4kZWxlbWVudD10aGlzLl9jb3JlLiRlbGVtZW50LHRoaXMuX2hhbmRsZXJzPXsiaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGMpe2MubmFtZXNwYWNlJiYiVVJMSGFzaCI9PT10aGlzLl9jb3JlLnNldHRpbmdzLnN0YXJ0UG9zaXRpb24mJmEoYikudHJpZ2dlcigiaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbiIpfSx0aGlzKSwicHJlcGFyZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGIpe2lmKGIubmFtZXNwYWNlKXt2YXIgYz1hKGIuY29udGVudCkuZmluZCgiW2RhdGEtaGFzaF0iKS5hZGRCYWNrKCJbZGF0YS1oYXNoXSIpLmF0dHIoImRhdGEtaGFzaCIpO2lmKCFjKXJldHVybjt0aGlzLl9oYXNoZXNbY109Yi5jb250ZW50fX0sdGhpcyksImNoYW5nZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGMpe2lmKGMubmFtZXNwYWNlJiYicG9zaXRpb24iPT09Yy5wcm9wZXJ0eS5uYW1lKXt2YXIgZD10aGlzLl9jb3JlLml0ZW1zKHRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpKSxlPWEubWFwKHRoaXMuX2hhc2hlcyxmdW5jdGlvbihhLGIpe3JldHVybiBhPT09ZD9iOm51bGx9KS5qb2luKCk7aWYoIWV8fGIubG9jYXRpb24uaGFzaC5zbGljZSgxKT09PWUpcmV0dXJuO2IubG9jYXRpb24uaGFzaD1lfX0sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyksYShiKS5vbigiaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbiIsYS5wcm94eShmdW5jdGlvbihhKXt2YXIgYz1iLmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpLGU9dGhpcy5fY29yZS4kc3RhZ2UuY2hpbGRyZW4oKSxmPXRoaXMuX2hhc2hlc1tjXSYmZS5pbmRleCh0aGlzLl9oYXNoZXNbY10pO2YhPT1kJiZmIT09dGhpcy5fY29yZS5jdXJyZW50KCkmJnRoaXMuX2NvcmUudG8odGhpcy5fY29yZS5yZWxhdGl2ZShmKSwhMSwhMCl9LHRoaXMpKX07ZS5EZWZhdWx0cz17VVJMaGFzaExpc3RlbmVyOiExfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGMsZDthKGIpLm9mZigiaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbiIpO2ZvcihjIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGMsdGhpcy5faGFuZGxlcnNbY10pO2ZvcihkIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2RdJiYodGhpc1tkXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkhhc2g9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24gZShiLGMpe3ZhciBlPSExLGY9Yi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStiLnNsaWNlKDEpO3JldHVybiBhLmVhY2goKGIrIiAiK2guam9pbihmKyIgIikrZikuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe3JldHVybiBnW2JdIT09ZD8oZT1jP2I6ITAsITEpOnZvaWQgMH0pLGV9ZnVuY3Rpb24gZihhKXtyZXR1cm4gZShhLCEwKX12YXIgZz1hKCI8c3VwcG9ydD4iKS5nZXQoMCkuc3R5bGUsaD0iV2Via2l0IE1veiBPIG1zIi5zcGxpdCgiICIpLGk9e3RyYW5zaXRpb246e2VuZDp7V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn19LGFuaW1hdGlvbjp7ZW5kOntXZWJraXRBbmltYXRpb246IndlYmtpdEFuaW1hdGlvbkVuZCIsTW96QW5pbWF0aW9uOiJhbmltYXRpb25lbmQiLE9BbmltYXRpb246Im9BbmltYXRpb25FbmQiLGFuaW1hdGlvbjoiYW5pbWF0aW9uZW5kIn19fSxqPXtjc3N0cmFuc2Zvcm1zOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJ0cmFuc2Zvcm0iKX0sY3NzdHJhbnNmb3JtczNkOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJwZXJzcGVjdGl2ZSIpfSxjc3N0cmFuc2l0aW9uczpmdW5jdGlvbigpe3JldHVybiEhZSgidHJhbnNpdGlvbiIpfSxjc3NhbmltYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJhbmltYXRpb24iKX19O2ouY3NzdHJhbnNpdGlvbnMoKSYmKGEuc3VwcG9ydC50cmFuc2l0aW9uPW5ldyBTdHJpbmcoZigidHJhbnNpdGlvbiIpKSxhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQ9aS50cmFuc2l0aW9uLmVuZFthLnN1cHBvcnQudHJhbnNpdGlvbl0pLGouY3NzYW5pbWF0aW9ucygpJiYoYS5zdXBwb3J0LmFuaW1hdGlvbj1uZXcgU3RyaW5nKGYoImFuaW1hdGlvbiIpKSxhLnN1cHBvcnQuYW5pbWF0aW9uLmVuZD1pLmFuaW1hdGlvbi5lbmRbYS5zdXBwb3J0LmFuaW1hdGlvbl0pLGouY3NzdHJhbnNmb3JtcygpJiYoYS5zdXBwb3J0LnRyYW5zZm9ybT1uZXcgU3RyaW5nKGYoInRyYW5zZm9ybSIpKSxhLnN1cHBvcnQudHJhbnNmb3JtM2Q9ai5jc3N0cmFuc2Zvcm1zM2QoKSl9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpOw0KDQoNCi8qDQogKiAgRmxleFNsaWRlcg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKg0KICogalF1ZXJ5IEZsZXhTbGlkZXIgdjIuNi4wDQogKiBDb3B5cmlnaHQgMjAxMiBXb29UaGVtZXMNCiAqIENvbnRyaWJ1dGluZyBBdXRob3I6IFR5bGVyIFNtaXRoDQogKi8NCiAhZnVuY3Rpb24oJCl7dmFyIGU9ITA7JC5mbGV4c2xpZGVyPWZ1bmN0aW9uKHQsYSl7dmFyIG49JCh0KTtuLnZhcnM9JC5leHRlbmQoe30sJC5mbGV4c2xpZGVyLmRlZmF1bHRzLGEpO3ZhciBpPW4udmFycy5uYW1lc3BhY2Uscz13aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQmJndpbmRvdy5NU0dlc3R1cmUscj0oIm9udG91Y2hzdGFydCJpbiB3aW5kb3d8fHN8fHdpbmRvdy5Eb2N1bWVudFRvdWNoJiZkb2N1bWVudCBpbnN0YW5jZW9mIERvY3VtZW50VG91Y2gpJiZuLnZhcnMudG91Y2gsbz0iY2xpY2sgdG91Y2hlbmQgTVNQb2ludGVyVXAga2V5dXAiLGw9IiIsYyxkPSJ2ZXJ0aWNhbCI9PT1uLnZhcnMuZGlyZWN0aW9uLHU9bi52YXJzLnJldmVyc2Usdj1uLnZhcnMuaXRlbVdpZHRoPjAscD0iZmFkZSI9PT1uLnZhcnMuYW5pbWF0aW9uLG09IiIhPT1uLnZhcnMuYXNOYXZGb3IsZj17fTskLmRhdGEodCwiZmxleHNsaWRlciIsbiksZj17aW5pdDpmdW5jdGlvbigpe24uYW5pbWF0aW5nPSExLG4uY3VycmVudFNsaWRlPXBhcnNlSW50KG4udmFycy5zdGFydEF0P24udmFycy5zdGFydEF0OjAsMTApLGlzTmFOKG4uY3VycmVudFNsaWRlKSYmKG4uY3VycmVudFNsaWRlPTApLG4uYW5pbWF0aW5nVG89bi5jdXJyZW50U2xpZGUsbi5hdEVuZD0wPT09bi5jdXJyZW50U2xpZGV8fG4uY3VycmVudFNsaWRlPT09bi5sYXN0LG4uY29udGFpbmVyU2VsZWN0b3I9bi52YXJzLnNlbGVjdG9yLnN1YnN0cigwLG4udmFycy5zZWxlY3Rvci5zZWFyY2goIiAiKSksbi5zbGlkZXM9JChuLnZhcnMuc2VsZWN0b3Isbiksbi5jb250YWluZXI9JChuLmNvbnRhaW5lclNlbGVjdG9yLG4pLG4uY291bnQ9bi5zbGlkZXMubGVuZ3RoLG4uc3luY0V4aXN0cz0kKG4udmFycy5zeW5jKS5sZW5ndGg+MCwic2xpZGUiPT09bi52YXJzLmFuaW1hdGlvbiYmKG4udmFycy5hbmltYXRpb249InN3aW5nIiksbi5wcm9wPWQ/InRvcCI6Im1hcmdpbkxlZnQiLG4uYXJncz17fSxuLm1hbnVhbFBhdXNlPSExLG4uc3RvcHBlZD0hMSxuLnN0YXJ0ZWQ9ITEsbi5zdGFydFRpbWVvdXQ9bnVsbCxuLnRyYW5zaXRpb25zPSFuLnZhcnMudmlkZW8mJiFwJiZuLnZhcnMudXNlQ1NTJiZmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHQ9WyJwZXJzcGVjdGl2ZVByb3BlcnR5IiwiV2Via2l0UGVyc3BlY3RpdmUiLCJNb3pQZXJzcGVjdGl2ZSIsIk9QZXJzcGVjdGl2ZSIsIm1zUGVyc3BlY3RpdmUiXTtmb3IodmFyIGEgaW4gdClpZih2b2lkIDAhPT1lLnN0eWxlW3RbYV1dKXJldHVybiBuLnBmeD10W2FdLnJlcGxhY2UoIlBlcnNwZWN0aXZlIiwiIikudG9Mb3dlckNhc2UoKSxuLnByb3A9Ii0iK24ucGZ4KyItdHJhbnNmb3JtIiwhMDtyZXR1cm4hMX0oKSxuLmVuc3VyZUFuaW1hdGlvbkVuZD0iIiwiIiE9PW4udmFycy5jb250cm9sc0NvbnRhaW5lciYmKG4uY29udHJvbHNDb250YWluZXI9JChuLnZhcnMuY29udHJvbHNDb250YWluZXIpLmxlbmd0aD4wJiYkKG4udmFycy5jb250cm9sc0NvbnRhaW5lcikpLCIiIT09bi52YXJzLm1hbnVhbENvbnRyb2xzJiYobi5tYW51YWxDb250cm9scz0kKG4udmFycy5tYW51YWxDb250cm9scykubGVuZ3RoPjAmJiQobi52YXJzLm1hbnVhbENvbnRyb2xzKSksIiIhPT1uLnZhcnMuY3VzdG9tRGlyZWN0aW9uTmF2JiYobi5jdXN0b21EaXJlY3Rpb25OYXY9Mj09PSQobi52YXJzLmN1c3RvbURpcmVjdGlvbk5hdikubGVuZ3RoJiYkKG4udmFycy5jdXN0b21EaXJlY3Rpb25OYXYpKSxuLnZhcnMucmFuZG9taXplJiYobi5zbGlkZXMuc29ydChmdW5jdGlvbigpe3JldHVybiBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkpLS41fSksbi5jb250YWluZXIuZW1wdHkoKS5hcHBlbmQobi5zbGlkZXMpKSxuLmRvTWF0aCgpLG4uc2V0dXAoImluaXQiKSxuLnZhcnMuY29udHJvbE5hdiYmZi5jb250cm9sTmF2LnNldHVwKCksbi52YXJzLmRpcmVjdGlvbk5hdiYmZi5kaXJlY3Rpb25OYXYuc2V0dXAoKSxuLnZhcnMua2V5Ym9hcmQmJigxPT09JChuLmNvbnRhaW5lclNlbGVjdG9yKS5sZW5ndGh8fG4udmFycy5tdWx0aXBsZUtleWJvYXJkKSYmJChkb2N1bWVudCkuYmluZCgia2V5dXAiLGZ1bmN0aW9uKGUpe3ZhciB0PWUua2V5Q29kZTtpZighbi5hbmltYXRpbmcmJigzOT09PXR8fDM3PT09dCkpe3ZhciBhPTM5PT09dD9uLmdldFRhcmdldCgibmV4dCIpOjM3PT09dD9uLmdldFRhcmdldCgicHJldiIpOiExO24uZmxleEFuaW1hdGUoYSxuLnZhcnMucGF1c2VPbkFjdGlvbil9fSksbi52YXJzLm1vdXNld2hlZWwmJm4uYmluZCgibW91c2V3aGVlbCIsZnVuY3Rpb24oZSx0LGEsaSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBzPTA+dD9uLmdldFRhcmdldCgibmV4dCIpOm4uZ2V0VGFyZ2V0KCJwcmV2Iik7bi5mbGV4QW5pbWF0ZShzLG4udmFycy5wYXVzZU9uQWN0aW9uKX0pLG4udmFycy5wYXVzZVBsYXkmJmYucGF1c2VQbGF5LnNldHVwKCksbi52YXJzLnNsaWRlc2hvdyYmbi52YXJzLnBhdXNlSW52aXNpYmxlJiZmLnBhdXNlSW52aXNpYmxlLmluaXQoKSxuLnZhcnMuc2xpZGVzaG93JiYobi52YXJzLnBhdXNlT25Ib3ZlciYmbi5ob3ZlcihmdW5jdGlvbigpe24ubWFudWFsUGxheXx8bi5tYW51YWxQYXVzZXx8bi5wYXVzZSgpfSxmdW5jdGlvbigpe24ubWFudWFsUGF1c2V8fG4ubWFudWFsUGxheXx8bi5zdG9wcGVkfHxuLnBsYXkoKX0pLG4udmFycy5wYXVzZUludmlzaWJsZSYmZi5wYXVzZUludmlzaWJsZS5pc0hpZGRlbigpfHwobi52YXJzLmluaXREZWxheT4wP24uc3RhcnRUaW1lb3V0PXNldFRpbWVvdXQobi5wbGF5LG4udmFycy5pbml0RGVsYXkpOm4ucGxheSgpKSksbSYmZi5hc05hdi5zZXR1cCgpLHImJm4udmFycy50b3VjaCYmZi50b3VjaCgpLCghcHx8cCYmbi52YXJzLnNtb290aEhlaWdodCkmJiQod2luZG93KS5iaW5kKCJyZXNpemUgb3JpZW50YXRpb25jaGFuZ2UgZm9jdXMiLGYucmVzaXplKSxuLmZpbmQoImltZyIpLmF0dHIoImRyYWdnYWJsZSIsImZhbHNlIiksc2V0VGltZW91dChmdW5jdGlvbigpe24udmFycy5zdGFydChuKX0sMjAwKX0sYXNOYXY6e3NldHVwOmZ1bmN0aW9uKCl7bi5hc05hdj0hMCxuLmFuaW1hdGluZ1RvPU1hdGguZmxvb3Iobi5jdXJyZW50U2xpZGUvbi5tb3ZlKSxuLmN1cnJlbnRJdGVtPW4uY3VycmVudFNsaWRlLG4uc2xpZGVzLnJlbW92ZUNsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLmVxKG4uY3VycmVudEl0ZW0pLmFkZENsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLHM/KHQuX3NsaWRlcj1uLG4uc2xpZGVzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10aGlzO2UuX2dlc3R1cmU9bmV3IE1TR2VzdHVyZSxlLl9nZXN0dXJlLnRhcmdldD1lLGUuYWRkRXZlbnRMaXN0ZW5lcigiTVNQb2ludGVyRG93biIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuY3VycmVudFRhcmdldC5fZ2VzdHVyZSYmZS5jdXJyZW50VGFyZ2V0Ll9nZXN0dXJlLmFkZFBvaW50ZXIoZS5wb2ludGVySWQpfSwhMSksZS5hZGRFdmVudExpc3RlbmVyKCJNU0dlc3R1cmVUYXAiLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTt2YXIgdD0kKHRoaXMpLGE9dC5pbmRleCgpOyQobi52YXJzLmFzTmF2Rm9yKS5kYXRhKCJmbGV4c2xpZGVyIikuYW5pbWF0aW5nfHx0Lmhhc0NsYXNzKCJhY3RpdmUiKXx8KG4uZGlyZWN0aW9uPW4uY3VycmVudEl0ZW08YT8ibmV4dCI6InByZXYiLG4uZmxleEFuaW1hdGUoYSxuLnZhcnMucGF1c2VPbkFjdGlvbiwhMSwhMCwhMCkpfSl9KSk6bi5zbGlkZXMub24obyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9JCh0aGlzKSxhPXQuaW5kZXgoKSxzPXQub2Zmc2V0KCkubGVmdC0kKG4pLnNjcm9sbExlZnQoKTswPj1zJiZ0Lmhhc0NsYXNzKGkrImFjdGl2ZS1zbGlkZSIpP24uZmxleEFuaW1hdGUobi5nZXRUYXJnZXQoInByZXYiKSwhMCk6JChuLnZhcnMuYXNOYXZGb3IpLmRhdGEoImZsZXhzbGlkZXIiKS5hbmltYXRpbmd8fHQuaGFzQ2xhc3MoaSsiYWN0aXZlLXNsaWRlIil8fChuLmRpcmVjdGlvbj1uLmN1cnJlbnRJdGVtPGE/Im5leHQiOiJwcmV2IixuLmZsZXhBbmltYXRlKGEsbi52YXJzLnBhdXNlT25BY3Rpb24sITEsITAsITApKX0pfX0sY29udHJvbE5hdjp7c2V0dXA6ZnVuY3Rpb24oKXtuLm1hbnVhbENvbnRyb2xzP2YuY29udHJvbE5hdi5zZXR1cE1hbnVhbCgpOmYuY29udHJvbE5hdi5zZXR1cFBhZ2luZygpfSxzZXR1cFBhZ2luZzpmdW5jdGlvbigpe3ZhciBlPSJ0aHVtYm5haWxzIj09PW4udmFycy5jb250cm9sTmF2PyJjb250cm9sLXRodW1icyI6ImNvbnRyb2wtcGFnaW5nIix0PTEsYSxzO2lmKG4uY29udHJvbE5hdlNjYWZmb2xkPSQoJzxvbCBjbGFzcz0iJytpKyJjb250cm9sLW5hdiAiK2krZSsnIj48L29sPicpLG4ucGFnaW5nQ291bnQ+MSlmb3IodmFyIHI9MDtyPG4ucGFnaW5nQ291bnQ7cisrKXtpZihzPW4uc2xpZGVzLmVxKHIpLHZvaWQgMD09PXMuYXR0cigiZGF0YS10aHVtYi1hbHQiKSYmcy5hdHRyKCJkYXRhLXRodW1iLWFsdCIsIiIpLGFsdFRleHQ9IiIhPT1zLmF0dHIoImRhdGEtdGh1bWItYWx0Iik/YWx0VGV4dD0nIGFsdD0iJytzLmF0dHIoImRhdGEtdGh1bWItYWx0IikrJyInOiIiLGE9InRodW1ibmFpbHMiPT09bi52YXJzLmNvbnRyb2xOYXY/JzxpbWcgc3JjPSInK3MuYXR0cigiZGF0YS10aHVtYiIpKyciJythbHRUZXh0KyIvPiI6JzxhIGhyZWY9IiMiPicrdCsiPC9hPiIsInRodW1ibmFpbHMiPT09bi52YXJzLmNvbnRyb2xOYXYmJiEwPT09bi52YXJzLnRodW1iQ2FwdGlvbnMpe3ZhciBjPXMuYXR0cigiZGF0YS10aHVtYmNhcHRpb24iKTsiIiE9PWMmJnZvaWQgMCE9PWMmJihhKz0nPHNwYW4gY2xhc3M9IicraSsnY2FwdGlvbiI+JytjKyI8L3NwYW4+Iil9bi5jb250cm9sTmF2U2NhZmZvbGQuYXBwZW5kKCI8bGk+IithKyI8L2xpPiIpLHQrK31uLmNvbnRyb2xzQ29udGFpbmVyPyQobi5jb250cm9sc0NvbnRhaW5lcikuYXBwZW5kKG4uY29udHJvbE5hdlNjYWZmb2xkKTpuLmFwcGVuZChuLmNvbnRyb2xOYXZTY2FmZm9sZCksZi5jb250cm9sTmF2LnNldCgpLGYuY29udHJvbE5hdi5hY3RpdmUoKSxuLmNvbnRyb2xOYXZTY2FmZm9sZC5kZWxlZ2F0ZSgiYSwgaW1nIixvLGZ1bmN0aW9uKGUpe2lmKGUucHJldmVudERlZmF1bHQoKSwiIj09PWx8fGw9PT1lLnR5cGUpe3ZhciB0PSQodGhpcyksYT1uLmNvbnRyb2xOYXYuaW5kZXgodCk7dC5oYXNDbGFzcyhpKyJhY3RpdmUiKXx8KG4uZGlyZWN0aW9uPWE+bi5jdXJyZW50U2xpZGU/Im5leHQiOiJwcmV2IixuLmZsZXhBbmltYXRlKGEsbi52YXJzLnBhdXNlT25BY3Rpb24pKX0iIj09PWwmJihsPWUudHlwZSksZi5zZXRUb0NsZWFyV2F0Y2hlZEV2ZW50KCl9KX0sc2V0dXBNYW51YWw6ZnVuY3Rpb24oKXtuLmNvbnRyb2xOYXY9bi5tYW51YWxDb250cm9scyxmLmNvbnRyb2xOYXYuYWN0aXZlKCksbi5jb250cm9sTmF2LmJpbmQobyxmdW5jdGlvbihlKXtpZihlLnByZXZlbnREZWZhdWx0KCksIiI9PT1sfHxsPT09ZS50eXBlKXt2YXIgdD0kKHRoaXMpLGE9bi5jb250cm9sTmF2LmluZGV4KHQpO3QuaGFzQ2xhc3MoaSsiYWN0aXZlIil8fChhPm4uY3VycmVudFNsaWRlP24uZGlyZWN0aW9uPSJuZXh0IjpuLmRpcmVjdGlvbj0icHJldiIsbi5mbGV4QW5pbWF0ZShhLG4udmFycy5wYXVzZU9uQWN0aW9uKSl9IiI9PT1sJiYobD1lLnR5cGUpLGYuc2V0VG9DbGVhcldhdGNoZWRFdmVudCgpfSl9LHNldDpmdW5jdGlvbigpe3ZhciBlPSJ0aHVtYm5haWxzIj09PW4udmFycy5jb250cm9sTmF2PyJpbWciOiJhIjtuLmNvbnRyb2xOYXY9JCgiLiIraSsiY29udHJvbC1uYXYgbGkgIitlLG4uY29udHJvbHNDb250YWluZXI/bi5jb250cm9sc0NvbnRhaW5lcjpuKX0sYWN0aXZlOmZ1bmN0aW9uKCl7bi5jb250cm9sTmF2LnJlbW92ZUNsYXNzKGkrImFjdGl2ZSIpLmVxKG4uYW5pbWF0aW5nVG8pLmFkZENsYXNzKGkrImFjdGl2ZSIpfSx1cGRhdGU6ZnVuY3Rpb24oZSx0KXtuLnBhZ2luZ0NvdW50PjEmJiJhZGQiPT09ZT9uLmNvbnRyb2xOYXZTY2FmZm9sZC5hcHBlbmQoJCgnPGxpPjxhIGhyZWY9IiMiPicrbi5jb3VudCsiPC9hPjwvbGk+IikpOjE9PT1uLnBhZ2luZ0NvdW50P24uY29udHJvbE5hdlNjYWZmb2xkLmZpbmQoImxpIikucmVtb3ZlKCk6bi5jb250cm9sTmF2LmVxKHQpLmNsb3Nlc3QoImxpIikucmVtb3ZlKCksZi5jb250cm9sTmF2LnNldCgpLG4ucGFnaW5nQ291bnQ+MSYmbi5wYWdpbmdDb3VudCE9PW4uY29udHJvbE5hdi5sZW5ndGg/bi51cGRhdGUodCxlKTpmLmNvbnRyb2xOYXYuYWN0aXZlKCl9fSxkaXJlY3Rpb25OYXY6e3NldHVwOmZ1bmN0aW9uKCl7dmFyIGU9JCgnPHVsIGNsYXNzPSInK2krJ2RpcmVjdGlvbi1uYXYiPjxsaSBjbGFzcz0iJytpKyduYXYtcHJldiI+PGEgY2xhc3M9IicraSsncHJldiIgaHJlZj0iIyI+JytuLnZhcnMucHJldlRleHQrJzwvYT48L2xpPjxsaSBjbGFzcz0iJytpKyduYXYtbmV4dCI+PGEgY2xhc3M9IicraSsnbmV4dCIgaHJlZj0iIyI+JytuLnZhcnMubmV4dFRleHQrIjwvYT48L2xpPjwvdWw+Iik7bi5jdXN0b21EaXJlY3Rpb25OYXY/bi5kaXJlY3Rpb25OYXY9bi5jdXN0b21EaXJlY3Rpb25OYXY6bi5jb250cm9sc0NvbnRhaW5lcj8oJChuLmNvbnRyb2xzQ29udGFpbmVyKS5hcHBlbmQoZSksbi5kaXJlY3Rpb25OYXY9JCgiLiIraSsiZGlyZWN0aW9uLW5hdiBsaSBhIixuLmNvbnRyb2xzQ29udGFpbmVyKSk6KG4uYXBwZW5kKGUpLG4uZGlyZWN0aW9uTmF2PSQoIi4iK2krImRpcmVjdGlvbi1uYXYgbGkgYSIsbikpLGYuZGlyZWN0aW9uTmF2LnVwZGF0ZSgpLG4uZGlyZWN0aW9uTmF2LmJpbmQobyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ7KCIiPT09bHx8bD09PWUudHlwZSkmJih0PSQodGhpcykuaGFzQ2xhc3MoaSsibmV4dCIpP24uZ2V0VGFyZ2V0KCJuZXh0Iik6bi5nZXRUYXJnZXQoInByZXYiKSxuLmZsZXhBbmltYXRlKHQsbi52YXJzLnBhdXNlT25BY3Rpb24pKSwiIj09PWwmJihsPWUudHlwZSksZi5zZXRUb0NsZWFyV2F0Y2hlZEV2ZW50KCl9KX0sdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIGU9aSsiZGlzYWJsZWQiOzE9PT1uLnBhZ2luZ0NvdW50P24uZGlyZWN0aW9uTmF2LmFkZENsYXNzKGUpLmF0dHIoInRhYmluZGV4IiwiLTEiKTpuLnZhcnMuYW5pbWF0aW9uTG9vcD9uLmRpcmVjdGlvbk5hdi5yZW1vdmVDbGFzcyhlKS5yZW1vdmVBdHRyKCJ0YWJpbmRleCIpOjA9PT1uLmFuaW1hdGluZ1RvP24uZGlyZWN0aW9uTmF2LnJlbW92ZUNsYXNzKGUpLmZpbHRlcigiLiIraSsicHJldiIpLmFkZENsYXNzKGUpLmF0dHIoInRhYmluZGV4IiwiLTEiKTpuLmFuaW1hdGluZ1RvPT09bi5sYXN0P24uZGlyZWN0aW9uTmF2LnJlbW92ZUNsYXNzKGUpLmZpbHRlcigiLiIraSsibmV4dCIpLmFkZENsYXNzKGUpLmF0dHIoInRhYmluZGV4IiwiLTEiKTpuLmRpcmVjdGlvbk5hdi5yZW1vdmVDbGFzcyhlKS5yZW1vdmVBdHRyKCJ0YWJpbmRleCIpfX0scGF1c2VQbGF5OntzZXR1cDpmdW5jdGlvbigpe3ZhciBlPSQoJzxkaXYgY2xhc3M9IicraSsncGF1c2VwbGF5Ij48YSBocmVmPSIjIj48L2E+PC9kaXY+Jyk7bi5jb250cm9sc0NvbnRhaW5lcj8obi5jb250cm9sc0NvbnRhaW5lci5hcHBlbmQoZSksbi5wYXVzZVBsYXk9JCgiLiIraSsicGF1c2VwbGF5IGEiLG4uY29udHJvbHNDb250YWluZXIpKToobi5hcHBlbmQoZSksbi5wYXVzZVBsYXk9JCgiLiIraSsicGF1c2VwbGF5IGEiLG4pKSxmLnBhdXNlUGxheS51cGRhdGUobi52YXJzLnNsaWRlc2hvdz9pKyJwYXVzZSI6aSsicGxheSIpLG4ucGF1c2VQbGF5LmJpbmQobyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksKCIiPT09bHx8bD09PWUudHlwZSkmJigkKHRoaXMpLmhhc0NsYXNzKGkrInBhdXNlIik/KG4ubWFudWFsUGF1c2U9ITAsbi5tYW51YWxQbGF5PSExLG4ucGF1c2UoKSk6KG4ubWFudWFsUGF1c2U9ITEsbi5tYW51YWxQbGF5PSEwLG4ucGxheSgpKSksIiI9PT1sJiYobD1lLnR5cGUpLGYuc2V0VG9DbGVhcldhdGNoZWRFdmVudCgpfSl9LHVwZGF0ZTpmdW5jdGlvbihlKXsicGxheSI9PT1lP24ucGF1c2VQbGF5LnJlbW92ZUNsYXNzKGkrInBhdXNlIikuYWRkQ2xhc3MoaSsicGxheSIpLmh0bWwobi52YXJzLnBsYXlUZXh0KTpuLnBhdXNlUGxheS5yZW1vdmVDbGFzcyhpKyJwbGF5IikuYWRkQ2xhc3MoaSsicGF1c2UiKS5odG1sKG4udmFycy5wYXVzZVRleHQpfX0sdG91Y2g6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCksbi5hbmltYXRpbmc/ZS5wcmV2ZW50RGVmYXVsdCgpOihuLnBhdXNlKCksdC5fZ2VzdHVyZS5hZGRQb2ludGVyKGUucG9pbnRlcklkKSxUPTAsYz1kP24uaDpuLncsZj1OdW1iZXIobmV3IERhdGUpLGw9diYmdSYmbi5hbmltYXRpbmdUbz09PW4ubGFzdD8wOnYmJnU/bi5saW1pdC0obi5pdGVtVytuLnZhcnMuaXRlbU1hcmdpbikqbi5tb3ZlKm4uYW5pbWF0aW5nVG86diYmbi5jdXJyZW50U2xpZGU9PT1uLmxhc3Q/bi5saW1pdDp2PyhuLml0ZW1XK24udmFycy5pdGVtTWFyZ2luKSpuLm1vdmUqbi5jdXJyZW50U2xpZGU6dT8obi5sYXN0LW4uY3VycmVudFNsaWRlK24uY2xvbmVPZmZzZXQpKmM6KG4uY3VycmVudFNsaWRlK24uY2xvbmVPZmZzZXQpKmMpfWZ1bmN0aW9uIGEoZSl7ZS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYT1lLnRhcmdldC5fc2xpZGVyO2lmKGEpe3ZhciBuPS1lLnRyYW5zbGF0aW9uWCxpPS1lLnRyYW5zbGF0aW9uWTtyZXR1cm4gVCs9ZD9pOm4sbT1ULHg9ZD9NYXRoLmFicyhUKTxNYXRoLmFicygtbik6TWF0aC5hYnMoVCk8TWF0aC5hYnMoLWkpLGUuZGV0YWlsPT09ZS5NU0dFU1RVUkVfRkxBR19JTkVSVElBP3ZvaWQgc2V0SW1tZWRpYXRlKGZ1bmN0aW9uKCl7dC5fZ2VzdHVyZS5zdG9wKCl9KTp2b2lkKCgheHx8TnVtYmVyKG5ldyBEYXRlKS1mPjUwMCkmJihlLnByZXZlbnREZWZhdWx0KCksIXAmJmEudHJhbnNpdGlvbnMmJihhLnZhcnMuYW5pbWF0aW9uTG9vcHx8KG09VC8oMD09PWEuY3VycmVudFNsaWRlJiYwPlR8fGEuY3VycmVudFNsaWRlPT09YS5sYXN0JiZUPjA/TWF0aC5hYnMoVCkvYysyOjEpKSxhLnNldFByb3BzKGwrbSwic2V0VG91Y2giKSkpKX19ZnVuY3Rpb24gaShlKXtlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciB0PWUudGFyZ2V0Ll9zbGlkZXI7aWYodCl7aWYodC5hbmltYXRpbmdUbz09PXQuY3VycmVudFNsaWRlJiYheCYmbnVsbCE9PW0pe3ZhciBhPXU/LW06bSxuPWE+MD90LmdldFRhcmdldCgibmV4dCIpOnQuZ2V0VGFyZ2V0KCJwcmV2Iik7dC5jYW5BZHZhbmNlKG4pJiYoTnVtYmVyKG5ldyBEYXRlKS1mPDU1MCYmTWF0aC5hYnMoYSk+NTB8fE1hdGguYWJzKGEpPmMvMik/dC5mbGV4QW5pbWF0ZShuLHQudmFycy5wYXVzZU9uQWN0aW9uKTpwfHx0LmZsZXhBbmltYXRlKHQuY3VycmVudFNsaWRlLHQudmFycy5wYXVzZU9uQWN0aW9uLCEwKX1yPW51bGwsbz1udWxsLG09bnVsbCxsPW51bGwsVD0wfX12YXIgcixvLGwsYyxtLGYsZyxoLFMseD0hMSx5PTAsYj0wLFQ9MDtzPyh0LnN0eWxlLm1zVG91Y2hBY3Rpb249Im5vbmUiLHQuX2dlc3R1cmU9bmV3IE1TR2VzdHVyZSx0Ll9nZXN0dXJlLnRhcmdldD10LHQuYWRkRXZlbnRMaXN0ZW5lcigiTVNQb2ludGVyRG93biIsZSwhMSksdC5fc2xpZGVyPW4sdC5hZGRFdmVudExpc3RlbmVyKCJNU0dlc3R1cmVDaGFuZ2UiLGEsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiTVNHZXN0dXJlRW5kIixpLCExKSk6KGc9ZnVuY3Rpb24oZSl7bi5hbmltYXRpbmc/ZS5wcmV2ZW50RGVmYXVsdCgpOih3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWR8fDE9PT1lLnRvdWNoZXMubGVuZ3RoKSYmKG4ucGF1c2UoKSxjPWQ/bi5oOm4udyxmPU51bWJlcihuZXcgRGF0ZSkseT1lLnRvdWNoZXNbMF0ucGFnZVgsYj1lLnRvdWNoZXNbMF0ucGFnZVksbD12JiZ1JiZuLmFuaW1hdGluZ1RvPT09bi5sYXN0PzA6diYmdT9uLmxpbWl0LShuLml0ZW1XK24udmFycy5pdGVtTWFyZ2luKSpuLm1vdmUqbi5hbmltYXRpbmdUbzp2JiZuLmN1cnJlbnRTbGlkZT09PW4ubGFzdD9uLmxpbWl0OnY/KG4uaXRlbVcrbi52YXJzLml0ZW1NYXJnaW4pKm4ubW92ZSpuLmN1cnJlbnRTbGlkZTp1PyhuLmxhc3Qtbi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldCkqYzoobi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldCkqYyxyPWQ/Yjp5LG89ZD95OmIsdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGgsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLFMsITEpKX0saD1mdW5jdGlvbihlKXt5PWUudG91Y2hlc1swXS5wYWdlWCxiPWUudG91Y2hlc1swXS5wYWdlWSxtPWQ/ci1iOnIteSx4PWQ/TWF0aC5hYnMobSk8TWF0aC5hYnMoeS1vKTpNYXRoLmFicyhtKTxNYXRoLmFicyhiLW8pO3ZhciB0PTUwMDsoIXh8fE51bWJlcihuZXcgRGF0ZSktZj50KSYmKGUucHJldmVudERlZmF1bHQoKSwhcCYmbi50cmFuc2l0aW9ucyYmKG4udmFycy5hbmltYXRpb25Mb29wfHwobS89MD09PW4uY3VycmVudFNsaWRlJiYwPm18fG4uY3VycmVudFNsaWRlPT09bi5sYXN0JiZtPjA/TWF0aC5hYnMobSkvYysyOjEpLG4uc2V0UHJvcHMobCttLCJzZXRUb3VjaCIpKSl9LFM9ZnVuY3Rpb24oZSl7aWYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGgsITEpLG4uYW5pbWF0aW5nVG89PT1uLmN1cnJlbnRTbGlkZSYmIXgmJm51bGwhPT1tKXt2YXIgYT11Py1tOm0saT1hPjA/bi5nZXRUYXJnZXQoIm5leHQiKTpuLmdldFRhcmdldCgicHJldiIpO24uY2FuQWR2YW5jZShpKSYmKE51bWJlcihuZXcgRGF0ZSktZjw1NTAmJk1hdGguYWJzKGEpPjUwfHxNYXRoLmFicyhhKT5jLzIpP24uZmxleEFuaW1hdGUoaSxuLnZhcnMucGF1c2VPbkFjdGlvbik6cHx8bi5mbGV4QW5pbWF0ZShuLmN1cnJlbnRTbGlkZSxuLnZhcnMucGF1c2VPbkFjdGlvbiwhMCl9dC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsUywhMSkscj1udWxsLG89bnVsbCxtPW51bGwsbD1udWxsfSx0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGcsITEpKX0scmVzaXplOmZ1bmN0aW9uKCl7IW4uYW5pbWF0aW5nJiZuLmlzKCI6dmlzaWJsZSIpJiYodnx8bi5kb01hdGgoKSxwP2Yuc21vb3RoSGVpZ2h0KCk6dj8obi5zbGlkZXMud2lkdGgobi5jb21wdXRlZFcpLG4udXBkYXRlKG4ucGFnaW5nQ291bnQpLG4uc2V0UHJvcHMoKSk6ZD8obi52aWV3cG9ydC5oZWlnaHQobi5oKSxuLnNldFByb3BzKG4uaCwic2V0VG90YWwiKSk6KG4udmFycy5zbW9vdGhIZWlnaHQmJmYuc21vb3RoSGVpZ2h0KCksbi5uZXdTbGlkZXMud2lkdGgobi5jb21wdXRlZFcpLG4uc2V0UHJvcHMobi5jb21wdXRlZFcsInNldFRvdGFsIikpKX0sc21vb3RoSGVpZ2h0OmZ1bmN0aW9uKGUpe2lmKCFkfHxwKXt2YXIgdD1wP246bi52aWV3cG9ydDtlP3QuYW5pbWF0ZSh7aGVpZ2h0Om4uc2xpZGVzLmVxKG4uYW5pbWF0aW5nVG8pLmhlaWdodCgpfSxlKTp0LmhlaWdodChuLnNsaWRlcy5lcShuLmFuaW1hdGluZ1RvKS5oZWlnaHQoKSl9fSxzeW5jOmZ1bmN0aW9uKGUpe3ZhciB0PSQobi52YXJzLnN5bmMpLmRhdGEoImZsZXhzbGlkZXIiKSxhPW4uYW5pbWF0aW5nVG87c3dpdGNoKGUpe2Nhc2UiYW5pbWF0ZSI6dC5mbGV4QW5pbWF0ZShhLG4udmFycy5wYXVzZU9uQWN0aW9uLCExLCEwKTticmVhaztjYXNlInBsYXkiOnQucGxheWluZ3x8dC5hc05hdnx8dC5wbGF5KCk7YnJlYWs7Y2FzZSJwYXVzZSI6dC5wYXVzZSgpfX0sdW5pcXVlSUQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKCJbaWRdIikuYWRkKGUuZmluZCgiW2lkXSIpKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9JCh0aGlzKTtlLmF0dHIoImlkIixlLmF0dHIoImlkIikrIl9jbG9uZSIpfSksZX0scGF1c2VJbnZpc2libGU6e3Zpc1Byb3A6bnVsbCxpbml0OmZ1bmN0aW9uKCl7dmFyIGU9Zi5wYXVzZUludmlzaWJsZS5nZXRIaWRkZW5Qcm9wKCk7aWYoZSl7dmFyIHQ9ZS5yZXBsYWNlKC9bSHxoXWlkZGVuLywiIikrInZpc2liaWxpdHljaGFuZ2UiO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIodCxmdW5jdGlvbigpe2YucGF1c2VJbnZpc2libGUuaXNIaWRkZW4oKT9uLnN0YXJ0VGltZW91dD9jbGVhclRpbWVvdXQobi5zdGFydFRpbWVvdXQpOm4ucGF1c2UoKTpuLnN0YXJ0ZWQ/bi5wbGF5KCk6bi52YXJzLmluaXREZWxheT4wP3NldFRpbWVvdXQobi5wbGF5LG4udmFycy5pbml0RGVsYXkpOm4ucGxheSgpfSl9fSxpc0hpZGRlbjpmdW5jdGlvbigpe3ZhciBlPWYucGF1c2VJbnZpc2libGUuZ2V0SGlkZGVuUHJvcCgpO3JldHVybiBlP2RvY3VtZW50W2VdOiExfSxnZXRIaWRkZW5Qcm9wOmZ1bmN0aW9uKCl7dmFyIGU9WyJ3ZWJraXQiLCJtb3oiLCJtcyIsIm8iXTtpZigiaGlkZGVuImluIGRvY3VtZW50KXJldHVybiJoaWRkZW4iO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKGVbdF0rIkhpZGRlbiJpbiBkb2N1bWVudClyZXR1cm4gZVt0XSsiSGlkZGVuIjtyZXR1cm4gbnVsbH19LHNldFRvQ2xlYXJXYXRjaGVkRXZlbnQ6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoYyksYz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bD0iIn0sM2UzKX19LG4uZmxleEFuaW1hdGU9ZnVuY3Rpb24oZSx0LGEscyxvKXtpZihuLnZhcnMuYW5pbWF0aW9uTG9vcHx8ZT09PW4uY3VycmVudFNsaWRlfHwobi5kaXJlY3Rpb249ZT5uLmN1cnJlbnRTbGlkZT8ibmV4dCI6InByZXYiKSxtJiYxPT09bi5wYWdpbmdDb3VudCYmKG4uZGlyZWN0aW9uPW4uY3VycmVudEl0ZW08ZT8ibmV4dCI6InByZXYiKSwhbi5hbmltYXRpbmcmJihuLmNhbkFkdmFuY2UoZSxvKXx8YSkmJm4uaXMoIjp2aXNpYmxlIikpe2lmKG0mJnMpe3ZhciBsPSQobi52YXJzLmFzTmF2Rm9yKS5kYXRhKCJmbGV4c2xpZGVyIik7aWYobi5hdEVuZD0wPT09ZXx8ZT09PW4uY291bnQtMSxsLmZsZXhBbmltYXRlKGUsITAsITEsITAsbyksbi5kaXJlY3Rpb249bi5jdXJyZW50SXRlbTxlPyJuZXh0IjoicHJldiIsbC5kaXJlY3Rpb249bi5kaXJlY3Rpb24sTWF0aC5jZWlsKChlKzEpL24udmlzaWJsZSktMT09PW4uY3VycmVudFNsaWRlfHwwPT09ZSlyZXR1cm4gbi5jdXJyZW50SXRlbT1lLG4uc2xpZGVzLnJlbW92ZUNsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLmVxKGUpLmFkZENsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLCExO24uY3VycmVudEl0ZW09ZSxuLnNsaWRlcy5yZW1vdmVDbGFzcyhpKyJhY3RpdmUtc2xpZGUiKS5lcShlKS5hZGRDbGFzcyhpKyJhY3RpdmUtc2xpZGUiKSxlPU1hdGguZmxvb3IoZS9uLnZpc2libGUpfWlmKG4uYW5pbWF0aW5nPSEwLG4uYW5pbWF0aW5nVG89ZSx0JiZuLnBhdXNlKCksbi52YXJzLmJlZm9yZShuKSxuLnN5bmNFeGlzdHMmJiFvJiZmLnN5bmMoImFuaW1hdGUiKSxuLnZhcnMuY29udHJvbE5hdiYmZi5jb250cm9sTmF2LmFjdGl2ZSgpLHZ8fG4uc2xpZGVzLnJlbW92ZUNsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLmVxKGUpLmFkZENsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLG4uYXRFbmQ9MD09PWV8fGU9PT1uLmxhc3Qsbi52YXJzLmRpcmVjdGlvbk5hdiYmZi5kaXJlY3Rpb25OYXYudXBkYXRlKCksZT09PW4ubGFzdCYmKG4udmFycy5lbmQobiksbi52YXJzLmFuaW1hdGlvbkxvb3B8fG4ucGF1c2UoKSkscClyPyhuLnNsaWRlcy5lcShuLmN1cnJlbnRTbGlkZSkuY3NzKHtvcGFjaXR5OjAsekluZGV4OjF9KSxuLnNsaWRlcy5lcShlKS5jc3Moe29wYWNpdHk6MSx6SW5kZXg6Mn0pLG4ud3JhcHVwKGMpKToobi5zbGlkZXMuZXEobi5jdXJyZW50U2xpZGUpLmNzcyh7ekluZGV4OjF9KS5hbmltYXRlKHtvcGFjaXR5OjB9LG4udmFycy5hbmltYXRpb25TcGVlZCxuLnZhcnMuZWFzaW5nKSxuLnNsaWRlcy5lcShlKS5jc3Moe3pJbmRleDoyfSkuYW5pbWF0ZSh7b3BhY2l0eToxfSxuLnZhcnMuYW5pbWF0aW9uU3BlZWQsbi52YXJzLmVhc2luZyxuLndyYXB1cCkpO2Vsc2V7dmFyIGM9ZD9uLnNsaWRlcy5maWx0ZXIoIjpmaXJzdCIpLmhlaWdodCgpOm4uY29tcHV0ZWRXLGcsaCxTO3Y/KGc9bi52YXJzLml0ZW1NYXJnaW4sUz0obi5pdGVtVytnKSpuLm1vdmUqbi5hbmltYXRpbmdUbyxoPVM+bi5saW1pdCYmMSE9PW4udmlzaWJsZT9uLmxpbWl0OlMpOmg9MD09PW4uY3VycmVudFNsaWRlJiZlPT09bi5jb3VudC0xJiZuLnZhcnMuYW5pbWF0aW9uTG9vcCYmIm5leHQiIT09bi5kaXJlY3Rpb24/dT8obi5jb3VudCtuLmNsb25lT2Zmc2V0KSpjOjA6bi5jdXJyZW50U2xpZGU9PT1uLmxhc3QmJjA9PT1lJiZuLnZhcnMuYW5pbWF0aW9uTG9vcCYmInByZXYiIT09bi5kaXJlY3Rpb24/dT8wOihuLmNvdW50KzEpKmM6dT8obi5jb3VudC0xLWUrbi5jbG9uZU9mZnNldCkqYzooZStuLmNsb25lT2Zmc2V0KSpjLG4uc2V0UHJvcHMoaCwiIixuLnZhcnMuYW5pbWF0aW9uU3BlZWQpLG4udHJhbnNpdGlvbnM/KG4udmFycy5hbmltYXRpb25Mb29wJiZuLmF0RW5kfHwobi5hbmltYXRpbmc9ITEsbi5jdXJyZW50U2xpZGU9bi5hbmltYXRpbmdUbyksbi5jb250YWluZXIudW5iaW5kKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIHRyYW5zaXRpb25lbmQiKSxuLmNvbnRhaW5lci5iaW5kKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIHRyYW5zaXRpb25lbmQiLGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4uZW5zdXJlQW5pbWF0aW9uRW5kKSxuLndyYXB1cChjKX0pLGNsZWFyVGltZW91dChuLmVuc3VyZUFuaW1hdGlvbkVuZCksbi5lbnN1cmVBbmltYXRpb25FbmQ9c2V0VGltZW91dChmdW5jdGlvbigpe24ud3JhcHVwKGMpfSxuLnZhcnMuYW5pbWF0aW9uU3BlZWQrMTAwKSk6bi5jb250YWluZXIuYW5pbWF0ZShuLmFyZ3Msbi52YXJzLmFuaW1hdGlvblNwZWVkLG4udmFycy5lYXNpbmcsZnVuY3Rpb24oKXtuLndyYXB1cChjKX0pfW4udmFycy5zbW9vdGhIZWlnaHQmJmYuc21vb3RoSGVpZ2h0KG4udmFycy5hbmltYXRpb25TcGVlZCl9fSxuLndyYXB1cD1mdW5jdGlvbihlKXtwfHx2fHwoMD09PW4uY3VycmVudFNsaWRlJiZuLmFuaW1hdGluZ1RvPT09bi5sYXN0JiZuLnZhcnMuYW5pbWF0aW9uTG9vcD9uLnNldFByb3BzKGUsImp1bXBFbmQiKTpuLmN1cnJlbnRTbGlkZT09PW4ubGFzdCYmMD09PW4uYW5pbWF0aW5nVG8mJm4udmFycy5hbmltYXRpb25Mb29wJiZuLnNldFByb3BzKGUsImp1bXBTdGFydCIpKSxuLmFuaW1hdGluZz0hMSxuLmN1cnJlbnRTbGlkZT1uLmFuaW1hdGluZ1RvLG4udmFycy5hZnRlcihuKX0sbi5hbmltYXRlU2xpZGVzPWZ1bmN0aW9uKCl7IW4uYW5pbWF0aW5nJiZlJiZuLmZsZXhBbmltYXRlKG4uZ2V0VGFyZ2V0KCJuZXh0IikpfSxuLnBhdXNlPWZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbChuLmFuaW1hdGVkU2xpZGVzKSxuLmFuaW1hdGVkU2xpZGVzPW51bGwsbi5wbGF5aW5nPSExLG4udmFycy5wYXVzZVBsYXkmJmYucGF1c2VQbGF5LnVwZGF0ZSgicGxheSIpLG4uc3luY0V4aXN0cyYmZi5zeW5jKCJwYXVzZSIpfSxuLnBsYXk9ZnVuY3Rpb24oKXtuLnBsYXlpbmcmJmNsZWFySW50ZXJ2YWwobi5hbmltYXRlZFNsaWRlcyksbi5hbmltYXRlZFNsaWRlcz1uLmFuaW1hdGVkU2xpZGVzfHxzZXRJbnRlcnZhbChuLmFuaW1hdGVTbGlkZXMsbi52YXJzLnNsaWRlc2hvd1NwZWVkKSxuLnN0YXJ0ZWQ9bi5wbGF5aW5nPSEwLG4udmFycy5wYXVzZVBsYXkmJmYucGF1c2VQbGF5LnVwZGF0ZSgicGF1c2UiKSxuLnN5bmNFeGlzdHMmJmYuc3luYygicGxheSIpfSxuLnN0b3A9ZnVuY3Rpb24oKXtuLnBhdXNlKCksbi5zdG9wcGVkPSEwfSxuLmNhbkFkdmFuY2U9ZnVuY3Rpb24oZSx0KXt2YXIgYT1tP24ucGFnaW5nQ291bnQtMTpuLmxhc3Q7cmV0dXJuIHQ/ITA6bSYmbi5jdXJyZW50SXRlbT09PW4uY291bnQtMSYmMD09PWUmJiJwcmV2Ij09PW4uZGlyZWN0aW9uPyEwOm0mJjA9PT1uLmN1cnJlbnRJdGVtJiZlPT09bi5wYWdpbmdDb3VudC0xJiYibmV4dCIhPT1uLmRpcmVjdGlvbj8hMTplIT09bi5jdXJyZW50U2xpZGV8fG0/bi52YXJzLmFuaW1hdGlvbkxvb3A/ITA6bi5hdEVuZCYmMD09PW4uY3VycmVudFNsaWRlJiZlPT09YSYmIm5leHQiIT09bi5kaXJlY3Rpb24/ITE6bi5hdEVuZCYmbi5jdXJyZW50U2xpZGU9PT1hJiYwPT09ZSYmIm5leHQiPT09bi5kaXJlY3Rpb24/ITE6ITA6ITF9LG4uZ2V0VGFyZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBuLmRpcmVjdGlvbj1lLCJuZXh0Ij09PWU/bi5jdXJyZW50U2xpZGU9PT1uLmxhc3Q/MDpuLmN1cnJlbnRTbGlkZSsxOjA9PT1uLmN1cnJlbnRTbGlkZT9uLmxhc3Q6bi5jdXJyZW50U2xpZGUtMX0sbi5zZXRQcm9wcz1mdW5jdGlvbihlLHQsYSl7dmFyIGk9ZnVuY3Rpb24oKXt2YXIgYT1lP2U6KG4uaXRlbVcrbi52YXJzLml0ZW1NYXJnaW4pKm4ubW92ZSpuLmFuaW1hdGluZ1RvLGk9ZnVuY3Rpb24oKXtpZih2KXJldHVybiJzZXRUb3VjaCI9PT10P2U6dSYmbi5hbmltYXRpbmdUbz09PW4ubGFzdD8wOnU/bi5saW1pdC0obi5pdGVtVytuLnZhcnMuaXRlbU1hcmdpbikqbi5tb3ZlKm4uYW5pbWF0aW5nVG86bi5hbmltYXRpbmdUbz09PW4ubGFzdD9uLmxpbWl0OmE7c3dpdGNoKHQpe2Nhc2Uic2V0VG90YWwiOnJldHVybiB1PyhuLmNvdW50LTEtbi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldCkqZToobi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldCkqZTtjYXNlInNldFRvdWNoIjpyZXR1cm4gdT9lOmU7Y2FzZSJqdW1wRW5kIjpyZXR1cm4gdT9lOm4uY291bnQqZTtjYXNlImp1bXBTdGFydCI6cmV0dXJuIHU/bi5jb3VudCplOmU7ZGVmYXVsdDpyZXR1cm4gZX19KCk7cmV0dXJuLTEqaSsicHgifSgpO24udHJhbnNpdGlvbnMmJihpPWQ/InRyYW5zbGF0ZTNkKDAsIitpKyIsMCkiOiJ0cmFuc2xhdGUzZCgiK2krIiwwLDApIixhPXZvaWQgMCE9PWE/YS8xZTMrInMiOiIwcyIsbi5jb250YWluZXIuY3NzKCItIituLnBmeCsiLXRyYW5zaXRpb24tZHVyYXRpb24iLGEpLG4uY29udGFpbmVyLmNzcygidHJhbnNpdGlvbi1kdXJhdGlvbiIsYSkpLG4uYXJnc1tuLnByb3BdPWksKG4udHJhbnNpdGlvbnN8fHZvaWQgMD09PWEpJiZuLmNvbnRhaW5lci5jc3Mobi5hcmdzKSxuLmNvbnRhaW5lci5jc3MoInRyYW5zZm9ybSIsaSl9LG4uc2V0dXA9ZnVuY3Rpb24oZSl7aWYocCluLnNsaWRlcy5jc3Moe3dpZHRoOiIxMDAlIiwiZmxvYXQiOiJsZWZ0IixtYXJnaW5SaWdodDoiLTEwMCUiLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KSwiaW5pdCI9PT1lJiYocj9uLnNsaWRlcy5jc3Moe29wYWNpdHk6MCxkaXNwbGF5OiJibG9jayIsd2Via2l0VHJhbnNpdGlvbjoib3BhY2l0eSAiK24udmFycy5hbmltYXRpb25TcGVlZC8xZTMrInMgZWFzZSIsekluZGV4OjF9KS5lcShuLmN1cnJlbnRTbGlkZSkuY3NzKHtvcGFjaXR5OjEsekluZGV4OjJ9KTowPT1uLnZhcnMuZmFkZUZpcnN0U2xpZGU/bi5zbGlkZXMuY3NzKHtvcGFjaXR5OjAsZGlzcGxheToiYmxvY2siLHpJbmRleDoxfSkuZXEobi5jdXJyZW50U2xpZGUpLmNzcyh7ekluZGV4OjJ9KS5jc3Moe29wYWNpdHk6MX0pOm4uc2xpZGVzLmNzcyh7b3BhY2l0eTowLGRpc3BsYXk6ImJsb2NrIix6SW5kZXg6MX0pLmVxKG4uY3VycmVudFNsaWRlKS5jc3Moe3pJbmRleDoyfSkuYW5pbWF0ZSh7b3BhY2l0eToxfSxuLnZhcnMuYW5pbWF0aW9uU3BlZWQsbi52YXJzLmVhc2luZykpLG4udmFycy5zbW9vdGhIZWlnaHQmJmYuc21vb3RoSGVpZ2h0KCk7ZWxzZXt2YXIgdCxhOyJpbml0Ij09PWUmJihuLnZpZXdwb3J0PSQoJzxkaXYgY2xhc3M9IicraSsndmlld3BvcnQiPjwvZGl2PicpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiIscG9zaXRpb246InJlbGF0aXZlIn0pLmFwcGVuZFRvKG4pLmFwcGVuZChuLmNvbnRhaW5lciksbi5jbG9uZUNvdW50PTAsbi5jbG9uZU9mZnNldD0wLHUmJihhPSQubWFrZUFycmF5KG4uc2xpZGVzKS5yZXZlcnNlKCksbi5zbGlkZXM9JChhKSxuLmNvbnRhaW5lci5lbXB0eSgpLmFwcGVuZChuLnNsaWRlcykpKSxuLnZhcnMuYW5pbWF0aW9uTG9vcCYmIXYmJihuLmNsb25lQ291bnQ9MixuLmNsb25lT2Zmc2V0PTEsImluaXQiIT09ZSYmbi5jb250YWluZXIuZmluZCgiLmNsb25lIikucmVtb3ZlKCksbi5jb250YWluZXIuYXBwZW5kKGYudW5pcXVlSUQobi5zbGlkZXMuZmlyc3QoKS5jbG9uZSgpLmFkZENsYXNzKCJjbG9uZSIpKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSkucHJlcGVuZChmLnVuaXF1ZUlEKG4uc2xpZGVzLmxhc3QoKS5jbG9uZSgpLmFkZENsYXNzKCJjbG9uZSIpKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSkpLG4ubmV3U2xpZGVzPSQobi52YXJzLnNlbGVjdG9yLG4pLHQ9dT9uLmNvdW50LTEtbi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldDpuLmN1cnJlbnRTbGlkZStuLmNsb25lT2Zmc2V0LGQmJiF2PyhuLmNvbnRhaW5lci5oZWlnaHQoMjAwKihuLmNvdW50K24uY2xvbmVDb3VudCkrIiUiKS5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKS53aWR0aCgiMTAwJSIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLm5ld1NsaWRlcy5jc3Moe2Rpc3BsYXk6ImJsb2NrIn0pLG4uZG9NYXRoKCksbi52aWV3cG9ydC5oZWlnaHQobi5oKSxuLnNldFByb3BzKHQqbi5oLCJpbml0Iil9LCJpbml0Ij09PWU/MTAwOjApKToobi5jb250YWluZXIud2lkdGgoMjAwKihuLmNvdW50K24uY2xvbmVDb3VudCkrIiUiKSxuLnNldFByb3BzKHQqbi5jb21wdXRlZFcsImluaXQiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5kb01hdGgoKSxuLm5ld1NsaWRlcy5jc3Moe3dpZHRoOm4uY29tcHV0ZWRXLG1hcmdpblJpZ2h0Om4uY29tcHV0ZWRNLCJmbG9hdCI6ImxlZnQiLGRpc3BsYXk6ImJsb2NrIn0pLG4udmFycy5zbW9vdGhIZWlnaHQmJmYuc21vb3RoSGVpZ2h0KCl9LCJpbml0Ij09PWU/MTAwOjApKX12fHxuLnNsaWRlcy5yZW1vdmVDbGFzcyhpKyJhY3RpdmUtc2xpZGUiKS5lcShuLmN1cnJlbnRTbGlkZSkuYWRkQ2xhc3MoaSsiYWN0aXZlLXNsaWRlIiksbi52YXJzLmluaXQobil9LG4uZG9NYXRoPWZ1bmN0aW9uKCl7dmFyIGU9bi5zbGlkZXMuZmlyc3QoKSx0PW4udmFycy5pdGVtTWFyZ2luLGE9bi52YXJzLm1pbkl0ZW1zLGk9bi52YXJzLm1heEl0ZW1zO24udz12b2lkIDA9PT1uLnZpZXdwb3J0P24ud2lkdGgoKTpuLnZpZXdwb3J0LndpZHRoKCksbi5oPWUuaGVpZ2h0KCksbi5ib3hQYWRkaW5nPWUub3V0ZXJXaWR0aCgpLWUud2lkdGgoKSx2PyhuLml0ZW1UPW4udmFycy5pdGVtV2lkdGgrdCxuLml0ZW1NPXQsbi5taW5XPWE/YSpuLml0ZW1UOm4udyxuLm1heFc9aT9pKm4uaXRlbVQtdDpuLncsbi5pdGVtVz1uLm1pblc+bi53PyhuLnctdCooYS0xKSkvYTpuLm1heFc8bi53PyhuLnctdCooaS0xKSkvaTpuLnZhcnMuaXRlbVdpZHRoPm4udz9uLnc6bi52YXJzLml0ZW1XaWR0aCxuLnZpc2libGU9TWF0aC5mbG9vcihuLncvbi5pdGVtVyksbi5tb3ZlPW4udmFycy5tb3ZlPjAmJm4udmFycy5tb3ZlPG4udmlzaWJsZT9uLnZhcnMubW92ZTpuLnZpc2libGUsbi5wYWdpbmdDb3VudD1NYXRoLmNlaWwoKG4uY291bnQtbi52aXNpYmxlKS9uLm1vdmUrMSksbi5sYXN0PW4ucGFnaW5nQ291bnQtMSxuLmxpbWl0PTE9PT1uLnBhZ2luZ0NvdW50PzA6bi52YXJzLml0ZW1XaWR0aD5uLnc/bi5pdGVtVyoobi5jb3VudC0xKSt0KihuLmNvdW50LTEpOihuLml0ZW1XK3QpKm4uY291bnQtbi53LXQpOihuLml0ZW1XPW4udyxuLml0ZW1NPXQsbi5wYWdpbmdDb3VudD1uLmNvdW50LG4ubGFzdD1uLmNvdW50LTEpLG4uY29tcHV0ZWRXPW4uaXRlbVctbi5ib3hQYWRkaW5nLG4uY29tcHV0ZWRNPW4uaXRlbU19LG4udXBkYXRlPWZ1bmN0aW9uKGUsdCl7bi5kb01hdGgoKSx2fHwoZTxuLmN1cnJlbnRTbGlkZT9uLmN1cnJlbnRTbGlkZSs9MTplPD1uLmN1cnJlbnRTbGlkZSYmMCE9PWUmJihuLmN1cnJlbnRTbGlkZS09MSksbi5hbmltYXRpbmdUbz1uLmN1cnJlbnRTbGlkZSksbi52YXJzLmNvbnRyb2xOYXYmJiFuLm1hbnVhbENvbnRyb2xzJiYoImFkZCI9PT10JiYhdnx8bi5wYWdpbmdDb3VudD5uLmNvbnRyb2xOYXYubGVuZ3RoP2YuY29udHJvbE5hdi51cGRhdGUoImFkZCIpOigicmVtb3ZlIj09PXQmJiF2fHxuLnBhZ2luZ0NvdW50PG4uY29udHJvbE5hdi5sZW5ndGgpJiYodiYmbi5jdXJyZW50U2xpZGU+bi5sYXN0JiYobi5jdXJyZW50U2xpZGUtPTEsbi5hbmltYXRpbmdUby09MSksZi5jb250cm9sTmF2LnVwZGF0ZSgicmVtb3ZlIixuLmxhc3QpKSksbi52YXJzLmRpcmVjdGlvbk5hdiYmZi5kaXJlY3Rpb25OYXYudXBkYXRlKCl9LG4uYWRkU2xpZGU9ZnVuY3Rpb24oZSx0KXt2YXIgYT0kKGUpO24uY291bnQrPTEsbi5sYXN0PW4uY291bnQtMSxkJiZ1P3ZvaWQgMCE9PXQ/bi5zbGlkZXMuZXEobi5jb3VudC10KS5hZnRlcihhKTpuLmNvbnRhaW5lci5wcmVwZW5kKGEpOnZvaWQgMCE9PXQ/bi5zbGlkZXMuZXEodCkuYmVmb3JlKGEpOm4uY29udGFpbmVyLmFwcGVuZChhKSxuLnVwZGF0ZSh0LCJhZGQiKSxuLnNsaWRlcz0kKG4udmFycy5zZWxlY3RvcisiOm5vdCguY2xvbmUpIixuKSxuLnNldHVwKCksbi52YXJzLmFkZGVkKG4pfSxuLnJlbW92ZVNsaWRlPWZ1bmN0aW9uKGUpe3ZhciB0PWlzTmFOKGUpP24uc2xpZGVzLmluZGV4KCQoZSkpOmU7bi5jb3VudC09MSxuLmxhc3Q9bi5jb3VudC0xLGlzTmFOKGUpPyQoZSxuLnNsaWRlcykucmVtb3ZlKCk6ZCYmdT9uLnNsaWRlcy5lcShuLmxhc3QpLnJlbW92ZSgpOm4uc2xpZGVzLmVxKGUpLnJlbW92ZSgpLG4uZG9NYXRoKCksbi51cGRhdGUodCwicmVtb3ZlIiksbi5zbGlkZXM9JChuLnZhcnMuc2VsZWN0b3IrIjpub3QoLmNsb25lKSIsbiksbi5zZXR1cCgpLG4udmFycy5yZW1vdmVkKG4pfSxmLmluaXQoKX0sJCh3aW5kb3cpLmJsdXIoZnVuY3Rpb24odCl7ZT0hMX0pLmZvY3VzKGZ1bmN0aW9uKHQpe2U9ITB9KSwkLmZsZXhzbGlkZXIuZGVmYXVsdHM9e25hbWVzcGFjZToiZmxleC0iLHNlbGVjdG9yOiIuc2xpZGVzID4gbGkiLGFuaW1hdGlvbjoiZmFkZSIsZWFzaW5nOiJzd2luZyIsZGlyZWN0aW9uOiJob3Jpem9udGFsIixyZXZlcnNlOiExLGFuaW1hdGlvbkxvb3A6ITAsc21vb3RoSGVpZ2h0OiExLHN0YXJ0QXQ6MCxzbGlkZXNob3c6ITAsc2xpZGVzaG93U3BlZWQ6N2UzLGFuaW1hdGlvblNwZWVkOjYwMCxpbml0RGVsYXk6MCxyYW5kb21pemU6ITEsZmFkZUZpcnN0U2xpZGU6ITAsdGh1bWJDYXB0aW9uczohMSxwYXVzZU9uQWN0aW9uOiEwLHBhdXNlT25Ib3ZlcjohMSxwYXVzZUludmlzaWJsZTohMCx1c2VDU1M6ITAsdG91Y2g6ITAsdmlkZW86ITEsY29udHJvbE5hdjohMCxkaXJlY3Rpb25OYXY6ITAscHJldlRleHQ6IlByZXZpb3VzIixuZXh0VGV4dDoiTmV4dCIsa2V5Ym9hcmQ6ITAsbXVsdGlwbGVLZXlib2FyZDohMSxtb3VzZXdoZWVsOiExLHBhdXNlUGxheTohMSxwYXVzZVRleHQ6IlBhdXNlIixwbGF5VGV4dDoiUGxheSIsY29udHJvbHNDb250YWluZXI6IiIsbWFudWFsQ29udHJvbHM6IiIsY3VzdG9tRGlyZWN0aW9uTmF2OiIiLHN5bmM6IiIsYXNOYXZGb3I6IiIsaXRlbVdpZHRoOjAsaXRlbU1hcmdpbjowLG1pbkl0ZW1zOjEsbWF4SXRlbXM6MCxtb3ZlOjAsYWxsb3dPbmVTbGlkZTohMCxzdGFydDpmdW5jdGlvbigpe30sYmVmb3JlOmZ1bmN0aW9uKCl7fSxhZnRlcjpmdW5jdGlvbigpe30sZW5kOmZ1bmN0aW9uKCl7fSxhZGRlZDpmdW5jdGlvbigpe30scmVtb3ZlZDpmdW5jdGlvbigpe30saW5pdDpmdW5jdGlvbigpe319LCQuZm4uZmxleHNsaWRlcj1mdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lJiYoZT17fSksIm9iamVjdCI9PXR5cGVvZiBlKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD0kKHRoaXMpLGE9ZS5zZWxlY3Rvcj9lLnNlbGVjdG9yOiIuc2xpZGVzID4gbGkiLG49dC5maW5kKGEpOzE9PT1uLmxlbmd0aCYmZS5hbGxvd09uZVNsaWRlPT09ITB8fDA9PT1uLmxlbmd0aD8obi5mYWRlSW4oNDAwKSxlLnN0YXJ0JiZlLnN0YXJ0KHQpKTp2b2lkIDA9PT10LmRhdGEoImZsZXhzbGlkZXIiKSYmbmV3ICQuZmxleHNsaWRlcih0aGlzLGUpfSk7dmFyIHQ9JCh0aGlzKS5kYXRhKCJmbGV4c2xpZGVyIik7c3dpdGNoKGUpe2Nhc2UicGxheSI6dC5wbGF5KCk7YnJlYWs7Y2FzZSJwYXVzZSI6dC5wYXVzZSgpO2JyZWFrO2Nhc2Uic3RvcCI6dC5zdG9wKCk7YnJlYWs7Y2FzZSJuZXh0Ijp0LmZsZXhBbmltYXRlKHQuZ2V0VGFyZ2V0KCJuZXh0IiksITApO2JyZWFrO2Nhc2UicHJldiI6Y2FzZSJwcmV2aW91cyI6dC5mbGV4QW5pbWF0ZSh0LmdldFRhcmdldCgicHJldiIpLCEwKTticmVhaztkZWZhdWx0OiJudW1iZXIiPT10eXBlb2YgZSYmdC5mbGV4QW5pbWF0ZShlLCEwKX19fShqUXVlcnkpOw0KDQoNCi8qDQogKiAgTWFnbmlmaWMgUG9wdXANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyohIE1hZ25pZmljIFBvcHVwIC0gdjEuMC4xIC0gMjAxNS0xMi0zMA0KKiBodHRwOi8vZGltc2VtZW5vdi5jb20vcGx1Z2lucy9tYWduaWZpYy1wb3B1cC8NCiogQ29weXJpZ2h0IChjKSAyMDE1IERtaXRyeSBTZW1lbm92OyAqLw0KIWZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YSgib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/cmVxdWlyZSgianF1ZXJ5Iik6d2luZG93LmpRdWVyeXx8d2luZG93LlplcHRvKX0oZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9IkNsb3NlIixpPSJCZWZvcmVDbG9zZSIsaj0iQWZ0ZXJDbG9zZSIsaz0iQmVmb3JlQXBwZW5kIixsPSJNYXJrdXBQYXJzZSIsbT0iT3BlbiIsbj0iQ2hhbmdlIixvPSJtZnAiLHA9Ii4iK28scT0ibWZwLXJlYWR5IixyPSJtZnAtcmVtb3ZpbmciLHM9Im1mcC1wcmV2ZW50LWNsb3NlIix0PWZ1bmN0aW9uKCl7fSx1PSEhd2luZG93LmpRdWVyeSx2PWEod2luZG93KSx3PWZ1bmN0aW9uKGEsYyl7Yi5ldi5vbihvK2ErcCxjKX0seD1mdW5jdGlvbihiLGMsZCxlKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZi5jbGFzc05hbWU9Im1mcC0iK2IsZCYmKGYuaW5uZXJIVE1MPWQpLGU/YyYmYy5hcHBlbmRDaGlsZChmKTooZj1hKGYpLGMmJmYuYXBwZW5kVG8oYykpLGZ9LHk9ZnVuY3Rpb24oYyxkKXtiLmV2LnRyaWdnZXJIYW5kbGVyKG8rYyxkKSxiLnN0LmNhbGxiYWNrcyYmKGM9Yy5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKStjLnNsaWNlKDEpLGIuc3QuY2FsbGJhY2tzW2NdJiZiLnN0LmNhbGxiYWNrc1tjXS5hcHBseShiLGEuaXNBcnJheShkKT9kOltkXSkpfSx6PWZ1bmN0aW9uKGMpe3JldHVybiBjPT09ZyYmYi5jdXJyVGVtcGxhdGUuY2xvc2VCdG58fChiLmN1cnJUZW1wbGF0ZS5jbG9zZUJ0bj1hKGIuc3QuY2xvc2VNYXJrdXAucmVwbGFjZSgiJXRpdGxlJSIsYi5zdC50Q2xvc2UpKSxnPWMpLGIuY3VyclRlbXBsYXRlLmNsb3NlQnRufSxBPWZ1bmN0aW9uKCl7YS5tYWduaWZpY1BvcHVwLmluc3RhbmNlfHwoYj1uZXcgdCxiLmluaXQoKSxhLm1hZ25pZmljUG9wdXAuaW5zdGFuY2U9Yil9LEI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikuc3R5bGUsYj1bIm1zIiwiTyIsIk1veiIsIldlYmtpdCJdO2lmKHZvaWQgMCE9PWEudHJhbnNpdGlvbilyZXR1cm4hMDtmb3IoO2IubGVuZ3RoOylpZihiLnBvcCgpKyJUcmFuc2l0aW9uImluIGEpcmV0dXJuITA7cmV0dXJuITF9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LGluaXQ6ZnVuY3Rpb24oKXt2YXIgYz1uYXZpZ2F0b3IuYXBwVmVyc2lvbjtiLmlzSUU3PS0xIT09Yy5pbmRleE9mKCJNU0lFIDcuIiksYi5pc0lFOD0tMSE9PWMuaW5kZXhPZigiTVNJRSA4LiIpLGIuaXNMb3dJRT1iLmlzSUU3fHxiLmlzSUU4LGIuaXNBbmRyb2lkPS9hbmRyb2lkL2dpLnRlc3QoYyksYi5pc0lPUz0vaXBob25lfGlwYWR8aXBvZC9naS50ZXN0KGMpLGIuc3VwcG9ydHNUcmFuc2l0aW9uPUIoKSxiLnByb2JhYmx5TW9iaWxlPWIuaXNBbmRyb2lkfHxiLmlzSU9TfHwvKE9wZXJhIE1pbmkpfEtpbmRsZXx3ZWJPU3xCbGFja0JlcnJ5fChPcGVyYSBNb2JpKXwoV2luZG93cyBQaG9uZSl8SUVNb2JpbGUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGQ9YShkb2N1bWVudCksYi5wb3B1cHNDYWNoZT17fX0sb3BlbjpmdW5jdGlvbihjKXt2YXIgZTtpZihjLmlzT2JqPT09ITEpe2IuaXRlbXM9Yy5pdGVtcy50b0FycmF5KCksYi5pbmRleD0wO3ZhciBnLGg9Yy5pdGVtcztmb3IoZT0wO2U8aC5sZW5ndGg7ZSsrKWlmKGc9aFtlXSxnLnBhcnNlZCYmKGc9Zy5lbFswXSksZz09PWMuZWxbMF0pe2IuaW5kZXg9ZTticmVha319ZWxzZSBiLml0ZW1zPWEuaXNBcnJheShjLml0ZW1zKT9jLml0ZW1zOltjLml0ZW1zXSxiLmluZGV4PWMuaW5kZXh8fDA7aWYoYi5pc09wZW4pcmV0dXJuIHZvaWQgYi51cGRhdGVJdGVtSFRNTCgpO2IudHlwZXM9W10sZj0iIixjLm1haW5FbCYmYy5tYWluRWwubGVuZ3RoP2IuZXY9Yy5tYWluRWwuZXEoMCk6Yi5ldj1kLGMua2V5PyhiLnBvcHVwc0NhY2hlW2Mua2V5XXx8KGIucG9wdXBzQ2FjaGVbYy5rZXldPXt9KSxiLmN1cnJUZW1wbGF0ZT1iLnBvcHVwc0NhY2hlW2Mua2V5XSk6Yi5jdXJyVGVtcGxhdGU9e30sYi5zdD1hLmV4dGVuZCghMCx7fSxhLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMsYyksYi5maXhlZENvbnRlbnRQb3M9ImF1dG8iPT09Yi5zdC5maXhlZENvbnRlbnRQb3M/IWIucHJvYmFibHlNb2JpbGU6Yi5zdC5maXhlZENvbnRlbnRQb3MsYi5zdC5tb2RhbCYmKGIuc3QuY2xvc2VPbkNvbnRlbnRDbGljaz0hMSxiLnN0LmNsb3NlT25CZ0NsaWNrPSExLGIuc3Quc2hvd0Nsb3NlQnRuPSExLGIuc3QuZW5hYmxlRXNjYXBlS2V5PSExKSxiLmJnT3ZlcmxheXx8KGIuYmdPdmVybGF5PXgoImJnIikub24oImNsaWNrIitwLGZ1bmN0aW9uKCl7Yi5jbG9zZSgpfSksYi53cmFwPXgoIndyYXAiKS5hdHRyKCJ0YWJpbmRleCIsLTEpLm9uKCJjbGljayIrcCxmdW5jdGlvbihhKXtiLl9jaGVja0lmQ2xvc2UoYS50YXJnZXQpJiZiLmNsb3NlKCl9KSxiLmNvbnRhaW5lcj14KCJjb250YWluZXIiLGIud3JhcCkpLGIuY29udGVudENvbnRhaW5lcj14KCJjb250ZW50IiksYi5zdC5wcmVsb2FkZXImJihiLnByZWxvYWRlcj14KCJwcmVsb2FkZXIiLGIuY29udGFpbmVyLGIuc3QudExvYWRpbmcpKTt2YXIgaT1hLm1hZ25pZmljUG9wdXAubW9kdWxlcztmb3IoZT0wO2U8aS5sZW5ndGg7ZSsrKXt2YXIgaj1pW2VdO2o9ai5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStqLnNsaWNlKDEpLGJbImluaXQiK2pdLmNhbGwoYil9eSgiQmVmb3JlT3BlbiIpLGIuc3Quc2hvd0Nsb3NlQnRuJiYoYi5zdC5jbG9zZUJ0bkluc2lkZT8odyhsLGZ1bmN0aW9uKGEsYixjLGQpe2MuY2xvc2VfcmVwbGFjZVdpdGg9eihkLnR5cGUpfSksZis9IiBtZnAtY2xvc2UtYnRuLWluIik6Yi53cmFwLmFwcGVuZCh6KCkpKSxiLnN0LmFsaWduVG9wJiYoZis9IiBtZnAtYWxpZ24tdG9wIiksYi5maXhlZENvbnRlbnRQb3M/Yi53cmFwLmNzcyh7b3ZlcmZsb3c6Yi5zdC5vdmVyZmxvd1ksb3ZlcmZsb3dYOiJoaWRkZW4iLG92ZXJmbG93WTpiLnN0Lm92ZXJmbG93WX0pOmIud3JhcC5jc3Moe3RvcDp2LnNjcm9sbFRvcCgpLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KSwoYi5zdC5maXhlZEJnUG9zPT09ITF8fCJhdXRvIj09PWIuc3QuZml4ZWRCZ1BvcyYmIWIuZml4ZWRDb250ZW50UG9zKSYmYi5iZ092ZXJsYXkuY3NzKHtoZWlnaHQ6ZC5oZWlnaHQoKSxwb3NpdGlvbjoiYWJzb2x1dGUifSksYi5zdC5lbmFibGVFc2NhcGVLZXkmJmQub24oImtleXVwIitwLGZ1bmN0aW9uKGEpezI3PT09YS5rZXlDb2RlJiZiLmNsb3NlKCl9KSx2Lm9uKCJyZXNpemUiK3AsZnVuY3Rpb24oKXtiLnVwZGF0ZVNpemUoKX0pLGIuc3QuY2xvc2VPbkNvbnRlbnRDbGlja3x8KGYrPSIgbWZwLWF1dG8tY3Vyc29yIiksZiYmYi53cmFwLmFkZENsYXNzKGYpO3ZhciBrPWIud0g9di5oZWlnaHQoKSxuPXt9O2lmKGIuZml4ZWRDb250ZW50UG9zJiZiLl9oYXNTY3JvbGxCYXIoaykpe3ZhciBvPWIuX2dldFNjcm9sbGJhclNpemUoKTtvJiYobi5tYXJnaW5SaWdodD1vKX1iLmZpeGVkQ29udGVudFBvcyYmKGIuaXNJRTc/YSgiYm9keSwgaHRtbCIpLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKTpuLm92ZXJmbG93PSJoaWRkZW4iKTt2YXIgcj1iLnN0Lm1haW5DbGFzcztyZXR1cm4gYi5pc0lFNyYmKHIrPSIgbWZwLWllNyIpLHImJmIuX2FkZENsYXNzVG9NRlAociksYi51cGRhdGVJdGVtSFRNTCgpLHkoIkJ1aWxkQ29udHJvbHMiKSxhKCJodG1sIikuY3NzKG4pLGIuYmdPdmVybGF5LmFkZChiLndyYXApLnByZXBlbmRUbyhiLnN0LnByZXBlbmRUb3x8YShkb2N1bWVudC5ib2R5KSksYi5fbGFzdEZvY3VzZWRFbD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmNvbnRlbnQ/KGIuX2FkZENsYXNzVG9NRlAocSksYi5fc2V0Rm9jdXMoKSk6Yi5iZ092ZXJsYXkuYWRkQ2xhc3MocSksZC5vbigiZm9jdXNpbiIrcCxiLl9vbkZvY3VzSW4pfSwxNiksYi5pc09wZW49ITAsYi51cGRhdGVTaXplKGspLHkobSksY30sY2xvc2U6ZnVuY3Rpb24oKXtiLmlzT3BlbiYmKHkoaSksYi5pc09wZW49ITEsYi5zdC5yZW1vdmFsRGVsYXkmJiFiLmlzTG93SUUmJmIuc3VwcG9ydHNUcmFuc2l0aW9uPyhiLl9hZGRDbGFzc1RvTUZQKHIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLl9jbG9zZSgpfSxiLnN0LnJlbW92YWxEZWxheSkpOmIuX2Nsb3NlKCkpfSxfY2xvc2U6ZnVuY3Rpb24oKXt5KGgpO3ZhciBjPXIrIiAiK3ErIiAiO2lmKGIuYmdPdmVybGF5LmRldGFjaCgpLGIud3JhcC5kZXRhY2goKSxiLmNvbnRhaW5lci5lbXB0eSgpLGIuc3QubWFpbkNsYXNzJiYoYys9Yi5zdC5tYWluQ2xhc3MrIiAiKSxiLl9yZW1vdmVDbGFzc0Zyb21NRlAoYyksYi5maXhlZENvbnRlbnRQb3Mpe3ZhciBlPXttYXJnaW5SaWdodDoiIn07Yi5pc0lFNz9hKCJib2R5LCBodG1sIikuY3NzKCJvdmVyZmxvdyIsIiIpOmUub3ZlcmZsb3c9IiIsYSgiaHRtbCIpLmNzcyhlKX1kLm9mZigia2V5dXAiK3ArIiBmb2N1c2luIitwKSxiLmV2Lm9mZihwKSxiLndyYXAuYXR0cigiY2xhc3MiLCJtZnAtd3JhcCIpLnJlbW92ZUF0dHIoInN0eWxlIiksYi5iZ092ZXJsYXkuYXR0cigiY2xhc3MiLCJtZnAtYmciKSxiLmNvbnRhaW5lci5hdHRyKCJjbGFzcyIsIm1mcC1jb250YWluZXIiKSwhYi5zdC5zaG93Q2xvc2VCdG58fGIuc3QuY2xvc2VCdG5JbnNpZGUmJmIuY3VyclRlbXBsYXRlW2IuY3Vyckl0ZW0udHlwZV0hPT0hMHx8Yi5jdXJyVGVtcGxhdGUuY2xvc2VCdG4mJmIuY3VyclRlbXBsYXRlLmNsb3NlQnRuLmRldGFjaCgpLGIuc3QuYXV0b0ZvY3VzTGFzdCYmYi5fbGFzdEZvY3VzZWRFbCYmYShiLl9sYXN0Rm9jdXNlZEVsKS5mb2N1cygpLGIuY3Vyckl0ZW09bnVsbCxiLmNvbnRlbnQ9bnVsbCxiLmN1cnJUZW1wbGF0ZT1udWxsLGIucHJldkhlaWdodD0wLHkoail9LHVwZGF0ZVNpemU6ZnVuY3Rpb24oYSl7aWYoYi5pc0lPUyl7dmFyIGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoL3dpbmRvdy5pbm5lcldpZHRoLGQ9d2luZG93LmlubmVySGVpZ2h0KmM7Yi53cmFwLmNzcygiaGVpZ2h0IixkKSxiLndIPWR9ZWxzZSBiLndIPWF8fHYuaGVpZ2h0KCk7Yi5maXhlZENvbnRlbnRQb3N8fGIud3JhcC5jc3MoImhlaWdodCIsYi53SCkseSgiUmVzaXplIil9LHVwZGF0ZUl0ZW1IVE1MOmZ1bmN0aW9uKCl7dmFyIGM9Yi5pdGVtc1tiLmluZGV4XTtiLmNvbnRlbnRDb250YWluZXIuZGV0YWNoKCksYi5jb250ZW50JiZiLmNvbnRlbnQuZGV0YWNoKCksYy5wYXJzZWR8fChjPWIucGFyc2VFbChiLmluZGV4KSk7dmFyIGQ9Yy50eXBlO2lmKHkoIkJlZm9yZUNoYW5nZSIsW2IuY3Vyckl0ZW0/Yi5jdXJySXRlbS50eXBlOiIiLGRdKSxiLmN1cnJJdGVtPWMsIWIuY3VyclRlbXBsYXRlW2RdKXt2YXIgZj1iLnN0W2RdP2Iuc3RbZF0ubWFya3VwOiExO3koIkZpcnN0TWFya3VwUGFyc2UiLGYpLGY/Yi5jdXJyVGVtcGxhdGVbZF09YShmKTpiLmN1cnJUZW1wbGF0ZVtkXT0hMH1lJiZlIT09Yy50eXBlJiZiLmNvbnRhaW5lci5yZW1vdmVDbGFzcygibWZwLSIrZSsiLWhvbGRlciIpO3ZhciBnPWJbImdldCIrZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStkLnNsaWNlKDEpXShjLGIuY3VyclRlbXBsYXRlW2RdKTtiLmFwcGVuZENvbnRlbnQoZyxkKSxjLnByZWxvYWRlZD0hMCx5KG4sYyksZT1jLnR5cGUsYi5jb250YWluZXIucHJlcGVuZChiLmNvbnRlbnRDb250YWluZXIpLHkoIkFmdGVyQ2hhbmdlIil9LGFwcGVuZENvbnRlbnQ6ZnVuY3Rpb24oYSxjKXtiLmNvbnRlbnQ9YSxhP2Iuc3Quc2hvd0Nsb3NlQnRuJiZiLnN0LmNsb3NlQnRuSW5zaWRlJiZiLmN1cnJUZW1wbGF0ZVtjXT09PSEwP2IuY29udGVudC5maW5kKCIubWZwLWNsb3NlIikubGVuZ3RofHxiLmNvbnRlbnQuYXBwZW5kKHooKSk6Yi5jb250ZW50PWE6Yi5jb250ZW50PSIiLHkoayksYi5jb250YWluZXIuYWRkQ2xhc3MoIm1mcC0iK2MrIi1ob2xkZXIiKSxiLmNvbnRlbnRDb250YWluZXIuYXBwZW5kKGIuY29udGVudCl9LHBhcnNlRWw6ZnVuY3Rpb24oYyl7dmFyIGQsZT1iLml0ZW1zW2NdO2lmKGUudGFnTmFtZT9lPXtlbDphKGUpfTooZD1lLnR5cGUsZT17ZGF0YTplLHNyYzplLnNyY30pLGUuZWwpe2Zvcih2YXIgZj1iLnR5cGVzLGc9MDtnPGYubGVuZ3RoO2crKylpZihlLmVsLmhhc0NsYXNzKCJtZnAtIitmW2ddKSl7ZD1mW2ddO2JyZWFrfWUuc3JjPWUuZWwuYXR0cigiZGF0YS1tZnAtc3JjIiksZS5zcmN8fChlLnNyYz1lLmVsLmF0dHIoImhyZWYiKSl9cmV0dXJuIGUudHlwZT1kfHxiLnN0LnR5cGV8fCJpbmxpbmUiLGUuaW5kZXg9YyxlLnBhcnNlZD0hMCxiLml0ZW1zW2NdPWUseSgiRWxlbWVudFBhcnNlIixlKSxiLml0ZW1zW2NdfSxhZGRHcm91cDpmdW5jdGlvbihhLGMpe3ZhciBkPWZ1bmN0aW9uKGQpe2QubWZwRWw9dGhpcyxiLl9vcGVuQ2xpY2soZCxhLGMpfTtjfHwoYz17fSk7dmFyIGU9ImNsaWNrLm1hZ25pZmljUG9wdXAiO2MubWFpbkVsPWEsYy5pdGVtcz8oYy5pc09iaj0hMCxhLm9mZihlKS5vbihlLGQpKTooYy5pc09iaj0hMSxjLmRlbGVnYXRlP2Eub2ZmKGUpLm9uKGUsYy5kZWxlZ2F0ZSxkKTooYy5pdGVtcz1hLGEub2ZmKGUpLm9uKGUsZCkpKX0sX29wZW5DbGljazpmdW5jdGlvbihjLGQsZSl7dmFyIGY9dm9pZCAwIT09ZS5taWRDbGljaz9lLm1pZENsaWNrOmEubWFnbmlmaWNQb3B1cC5kZWZhdWx0cy5taWRDbGljaztpZihmfHwhKDI9PT1jLndoaWNofHxjLmN0cmxLZXl8fGMubWV0YUtleXx8Yy5hbHRLZXl8fGMuc2hpZnRLZXkpKXt2YXIgZz12b2lkIDAhPT1lLmRpc2FibGVPbj9lLmRpc2FibGVPbjphLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMuZGlzYWJsZU9uO2lmKGcpaWYoYS5pc0Z1bmN0aW9uKGcpKXtpZighZy5jYWxsKGIpKXJldHVybiEwfWVsc2UgaWYodi53aWR0aCgpPGcpcmV0dXJuITA7Yy50eXBlJiYoYy5wcmV2ZW50RGVmYXVsdCgpLGIuaXNPcGVuJiZjLnN0b3BQcm9wYWdhdGlvbigpKSxlLmVsPWEoYy5tZnBFbCksZS5kZWxlZ2F0ZSYmKGUuaXRlbXM9ZC5maW5kKGUuZGVsZWdhdGUpKSxiLm9wZW4oZSl9fSx1cGRhdGVTdGF0dXM6ZnVuY3Rpb24oYSxkKXtpZihiLnByZWxvYWRlcil7YyE9PWEmJmIuY29udGFpbmVyLnJlbW92ZUNsYXNzKCJtZnAtcy0iK2MpLGR8fCJsb2FkaW5nIiE9PWF8fChkPWIuc3QudExvYWRpbmcpO3ZhciBlPXtzdGF0dXM6YSx0ZXh0OmR9O3koIlVwZGF0ZVN0YXR1cyIsZSksYT1lLnN0YXR1cyxkPWUudGV4dCxiLnByZWxvYWRlci5odG1sKGQpLGIucHJlbG9hZGVyLmZpbmQoImEiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGEpe2Euc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9KSxiLmNvbnRhaW5lci5hZGRDbGFzcygibWZwLXMtIithKSxjPWF9fSxfY2hlY2tJZkNsb3NlOmZ1bmN0aW9uKGMpe2lmKCFhKGMpLmhhc0NsYXNzKHMpKXt2YXIgZD1iLnN0LmNsb3NlT25Db250ZW50Q2xpY2ssZT1iLnN0LmNsb3NlT25CZ0NsaWNrO2lmKGQmJmUpcmV0dXJuITA7aWYoIWIuY29udGVudHx8YShjKS5oYXNDbGFzcygibWZwLWNsb3NlIil8fGIucHJlbG9hZGVyJiZjPT09Yi5wcmVsb2FkZXJbMF0pcmV0dXJuITA7aWYoYz09PWIuY29udGVudFswXXx8YS5jb250YWlucyhiLmNvbnRlbnRbMF0sYykpe2lmKGQpcmV0dXJuITB9ZWxzZSBpZihlJiZhLmNvbnRhaW5zKGRvY3VtZW50LGMpKXJldHVybiEwO3JldHVybiExfX0sX2FkZENsYXNzVG9NRlA6ZnVuY3Rpb24oYSl7Yi5iZ092ZXJsYXkuYWRkQ2xhc3MoYSksYi53cmFwLmFkZENsYXNzKGEpfSxfcmVtb3ZlQ2xhc3NGcm9tTUZQOmZ1bmN0aW9uKGEpe3RoaXMuYmdPdmVybGF5LnJlbW92ZUNsYXNzKGEpLGIud3JhcC5yZW1vdmVDbGFzcyhhKX0sX2hhc1Njcm9sbEJhcjpmdW5jdGlvbihhKXtyZXR1cm4oYi5pc0lFNz9kLmhlaWdodCgpOmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KT4oYXx8di5oZWlnaHQoKSl9LF9zZXRGb2N1czpmdW5jdGlvbigpeyhiLnN0LmZvY3VzP2IuY29udGVudC5maW5kKGIuc3QuZm9jdXMpLmVxKDApOmIud3JhcCkuZm9jdXMoKX0sX29uRm9jdXNJbjpmdW5jdGlvbihjKXtyZXR1cm4gYy50YXJnZXQ9PT1iLndyYXBbMF18fGEuY29udGFpbnMoYi53cmFwWzBdLGMudGFyZ2V0KT92b2lkIDA6KGIuX3NldEZvY3VzKCksITEpfSxfcGFyc2VNYXJrdXA6ZnVuY3Rpb24oYixjLGQpe3ZhciBlO2QuZGF0YSYmKGM9YS5leHRlbmQoZC5kYXRhLGMpKSx5KGwsW2IsYyxkXSksYS5lYWNoKGMsZnVuY3Rpb24oYSxjKXtpZih2b2lkIDA9PT1jfHxjPT09ITEpcmV0dXJuITA7aWYoZT1hLnNwbGl0KCJfIiksZS5sZW5ndGg+MSl7dmFyIGQ9Yi5maW5kKHArIi0iK2VbMF0pO2lmKGQubGVuZ3RoPjApe3ZhciBmPWVbMV07InJlcGxhY2VXaXRoIj09PWY/ZFswXSE9PWNbMF0mJmQucmVwbGFjZVdpdGgoYyk6ImltZyI9PT1mP2QuaXMoImltZyIpP2QuYXR0cigic3JjIixjKTpkLnJlcGxhY2VXaXRoKCc8aW1nIHNyYz0iJytjKyciIGNsYXNzPSInK2QuYXR0cigiY2xhc3MiKSsnIiAvPicpOmQuYXR0cihlWzFdLGMpfX1lbHNlIGIuZmluZChwKyItIithKS5odG1sKGMpfSl9LF9nZXRTY3JvbGxiYXJTaXplOmZ1bmN0aW9uKCl7aWYodm9pZCAwPT09Yi5zY3JvbGxiYXJTaXplKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLnN0eWxlLmNzc1RleHQ9IndpZHRoOiA5OXB4OyBoZWlnaHQ6IDk5cHg7IG92ZXJmbG93OiBzY3JvbGw7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtOTk5OXB4OyIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKSxiLnNjcm9sbGJhclNpemU9YS5vZmZzZXRXaWR0aC1hLmNsaWVudFdpZHRoLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSl9cmV0dXJuIGIuc2Nyb2xsYmFyU2l6ZX19LGEubWFnbmlmaWNQb3B1cD17aW5zdGFuY2U6bnVsbCxwcm90bzp0LnByb3RvdHlwZSxtb2R1bGVzOltdLG9wZW46ZnVuY3Rpb24oYixjKXtyZXR1cm4gQSgpLGI9Yj9hLmV4dGVuZCghMCx7fSxiKTp7fSxiLmlzT2JqPSEwLGIuaW5kZXg9Y3x8MCx0aGlzLmluc3RhbmNlLm9wZW4oYil9LGNsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIGEubWFnbmlmaWNQb3B1cC5pbnN0YW5jZSYmYS5tYWduaWZpY1BvcHVwLmluc3RhbmNlLmNsb3NlKCl9LHJlZ2lzdGVyTW9kdWxlOmZ1bmN0aW9uKGIsYyl7Yy5vcHRpb25zJiYoYS5tYWduaWZpY1BvcHVwLmRlZmF1bHRzW2JdPWMub3B0aW9ucyksYS5leHRlbmQodGhpcy5wcm90byxjLnByb3RvKSx0aGlzLm1vZHVsZXMucHVzaChiKX0sZGVmYXVsdHM6e2Rpc2FibGVPbjowLGtleTpudWxsLG1pZENsaWNrOiExLG1haW5DbGFzczoiIixwcmVsb2FkZXI6ITAsZm9jdXM6IiIsY2xvc2VPbkNvbnRlbnRDbGljazohMSxjbG9zZU9uQmdDbGljazohMCxjbG9zZUJ0bkluc2lkZTohMCxzaG93Q2xvc2VCdG46ITAsZW5hYmxlRXNjYXBlS2V5OiEwLG1vZGFsOiExLGFsaWduVG9wOiExLHJlbW92YWxEZWxheTowLHByZXBlbmRUbzpudWxsLGZpeGVkQ29udGVudFBvczoiYXV0byIsZml4ZWRCZ1BvczoiYXV0byIsb3ZlcmZsb3dZOiJhdXRvIixjbG9zZU1hcmt1cDonPGJ1dHRvbiB0aXRsZT0iJXRpdGxlJSIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ibWZwLWNsb3NlIj4mIzIxNTs8L2J1dHRvbj4nLHRDbG9zZToiQ2xvc2UgKEVzYykiLHRMb2FkaW5nOiJMb2FkaW5nLi4uIixhdXRvRm9jdXNMYXN0OiEwfX0sYS5mbi5tYWduaWZpY1BvcHVwPWZ1bmN0aW9uKGMpe0EoKTt2YXIgZD1hKHRoaXMpO2lmKCJzdHJpbmciPT10eXBlb2YgYylpZigib3BlbiI9PT1jKXt2YXIgZSxmPXU/ZC5kYXRhKCJtYWduaWZpY1BvcHVwIik6ZFswXS5tYWduaWZpY1BvcHVwLGc9cGFyc2VJbnQoYXJndW1lbnRzWzFdLDEwKXx8MDtmLml0ZW1zP2U9Zi5pdGVtc1tnXTooZT1kLGYuZGVsZWdhdGUmJihlPWUuZmluZChmLmRlbGVnYXRlKSksZT1lLmVxKGcpKSxiLl9vcGVuQ2xpY2soe21mcEVsOmV9LGQsZil9ZWxzZSBiLmlzT3BlbiYmYltjXS5hcHBseShiLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7ZWxzZSBjPWEuZXh0ZW5kKCEwLHt9LGMpLHU/ZC5kYXRhKCJtYWduaWZpY1BvcHVwIixjKTpkWzBdLm1hZ25pZmljUG9wdXA9YyxiLmFkZEdyb3VwKGQsYyk7cmV0dXJuIGR9O3ZhciBDLEQsRSxGPSJpbmxpbmUiLEc9ZnVuY3Rpb24oKXtFJiYoRC5hZnRlcihFLmFkZENsYXNzKEMpKS5kZXRhY2goKSxFPW51bGwpfTthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoRix7b3B0aW9uczp7aGlkZGVuQ2xhc3M6ImhpZGUiLG1hcmt1cDoiIix0Tm90Rm91bmQ6IkNvbnRlbnQgbm90IGZvdW5kIn0scHJvdG86e2luaXRJbmxpbmU6ZnVuY3Rpb24oKXtiLnR5cGVzLnB1c2goRiksdyhoKyIuIitGLGZ1bmN0aW9uKCl7RygpfSl9LGdldElubGluZTpmdW5jdGlvbihjLGQpe2lmKEcoKSxjLnNyYyl7dmFyIGU9Yi5zdC5pbmxpbmUsZj1hKGMuc3JjKTtpZihmLmxlbmd0aCl7dmFyIGc9ZlswXS5wYXJlbnROb2RlO2cmJmcudGFnTmFtZSYmKER8fChDPWUuaGlkZGVuQ2xhc3MsRD14KEMpLEM9Im1mcC0iK0MpLEU9Zi5hZnRlcihEKS5kZXRhY2goKS5yZW1vdmVDbGFzcyhDKSksYi51cGRhdGVTdGF0dXMoInJlYWR5Iil9ZWxzZSBiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLGUudE5vdEZvdW5kKSxmPWEoIjxkaXY+Iik7cmV0dXJuIGMuaW5saW5lRWxlbWVudD1mLGZ9cmV0dXJuIGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpLGIuX3BhcnNlTWFya3VwKGQse30sYyksZH19fSk7dmFyIEgsST0iYWpheCIsSj1mdW5jdGlvbigpe0gmJmEoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoSCl9LEs9ZnVuY3Rpb24oKXtKKCksYi5yZXEmJmIucmVxLmFib3J0KCl9O2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShJLHtvcHRpb25zOntzZXR0aW5nczpudWxsLGN1cnNvcjoibWZwLWFqYXgtY3VyIix0RXJyb3I6JzxhIGhyZWY9IiV1cmwlIj5UaGUgY29udGVudDwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4nfSxwcm90bzp7aW5pdEFqYXg6ZnVuY3Rpb24oKXtiLnR5cGVzLnB1c2goSSksSD1iLnN0LmFqYXguY3Vyc29yLHcoaCsiLiIrSSxLKSx3KCJCZWZvcmVDaGFuZ2UuIitJLEspfSxnZXRBamF4OmZ1bmN0aW9uKGMpe0gmJmEoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoSCksYi51cGRhdGVTdGF0dXMoImxvYWRpbmciKTt2YXIgZD1hLmV4dGVuZCh7dXJsOmMuc3JjLHN1Y2Nlc3M6ZnVuY3Rpb24oZCxlLGYpe3ZhciBnPXtkYXRhOmQseGhyOmZ9O3koIlBhcnNlQWpheCIsZyksYi5hcHBlbmRDb250ZW50KGEoZy5kYXRhKSxJKSxjLmZpbmlzaGVkPSEwLEooKSxiLl9zZXRGb2N1cygpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLndyYXAuYWRkQ2xhc3MocSl9LDE2KSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSx5KCJBamF4Q29udGVudEFkZGVkIil9LGVycm9yOmZ1bmN0aW9uKCl7SigpLGMuZmluaXNoZWQ9Yy5sb2FkRXJyb3I9ITAsYi51cGRhdGVTdGF0dXMoImVycm9yIixiLnN0LmFqYXgudEVycm9yLnJlcGxhY2UoIiV1cmwlIixjLnNyYykpfX0sYi5zdC5hamF4LnNldHRpbmdzKTtyZXR1cm4gYi5yZXE9YS5hamF4KGQpLCIifX19KTt2YXIgTCxNPWZ1bmN0aW9uKGMpe2lmKGMuZGF0YSYmdm9pZCAwIT09Yy5kYXRhLnRpdGxlKXJldHVybiBjLmRhdGEudGl0bGU7dmFyIGQ9Yi5zdC5pbWFnZS50aXRsZVNyYztpZihkKXtpZihhLmlzRnVuY3Rpb24oZCkpcmV0dXJuIGQuY2FsbChiLGMpO2lmKGMuZWwpcmV0dXJuIGMuZWwuYXR0cihkKXx8IiJ9cmV0dXJuIiJ9O2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZSgiaW1hZ2UiLHtvcHRpb25zOnttYXJrdXA6JzxkaXYgY2xhc3M9Im1mcC1maWd1cmUiPjxkaXYgY2xhc3M9Im1mcC1jbG9zZSI+PC9kaXY+PGZpZ3VyZT48ZGl2IGNsYXNzPSJtZnAtaW1nIj48L2Rpdj48ZmlnY2FwdGlvbj48ZGl2IGNsYXNzPSJtZnAtYm90dG9tLWJhciI+PGRpdiBjbGFzcz0ibWZwLXRpdGxlIj48L2Rpdj48ZGl2IGNsYXNzPSJtZnAtY291bnRlciI+PC9kaXY+PC9kaXY+PC9maWdjYXB0aW9uPjwvZmlndXJlPjwvZGl2PicsY3Vyc29yOiJtZnAtem9vbS1vdXQtY3VyIix0aXRsZVNyYzoidGl0bGUiLHZlcnRpY2FsRml0OiEwLHRFcnJvcjonPGEgaHJlZj0iJXVybCUiPlRoZSBpbWFnZTwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4nfSxwcm90bzp7aW5pdEltYWdlOmZ1bmN0aW9uKCl7dmFyIGM9Yi5zdC5pbWFnZSxkPSIuaW1hZ2UiO2IudHlwZXMucHVzaCgiaW1hZ2UiKSx3KG0rZCxmdW5jdGlvbigpeyJpbWFnZSI9PT1iLmN1cnJJdGVtLnR5cGUmJmMuY3Vyc29yJiZhKGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKGMuY3Vyc29yKX0pLHcoaCtkLGZ1bmN0aW9uKCl7Yy5jdXJzb3ImJmEoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoYy5jdXJzb3IpLHYub2ZmKCJyZXNpemUiK3ApfSksdygiUmVzaXplIitkLGIucmVzaXplSW1hZ2UpLGIuaXNMb3dJRSYmdygiQWZ0ZXJDaGFuZ2UiLGIucmVzaXplSW1hZ2UpfSxyZXNpemVJbWFnZTpmdW5jdGlvbigpe3ZhciBhPWIuY3Vyckl0ZW07aWYoYSYmYS5pbWcmJmIuc3QuaW1hZ2UudmVydGljYWxGaXQpe3ZhciBjPTA7Yi5pc0xvd0lFJiYoYz1wYXJzZUludChhLmltZy5jc3MoInBhZGRpbmctdG9wIiksMTApK3BhcnNlSW50KGEuaW1nLmNzcygicGFkZGluZy1ib3R0b20iKSwxMCkpLGEuaW1nLmNzcygibWF4LWhlaWdodCIsYi53SC1jKX19LF9vbkltYWdlSGFzU2l6ZTpmdW5jdGlvbihhKXthLmltZyYmKGEuaGFzU2l6ZT0hMCxMJiZjbGVhckludGVydmFsKEwpLGEuaXNDaGVja2luZ0ltZ1NpemU9ITEseSgiSW1hZ2VIYXNTaXplIixhKSxhLmltZ0hpZGRlbiYmKGIuY29udGVudCYmYi5jb250ZW50LnJlbW92ZUNsYXNzKCJtZnAtbG9hZGluZyIpLGEuaW1nSGlkZGVuPSExKSl9LGZpbmRJbWFnZVNpemU6ZnVuY3Rpb24oYSl7dmFyIGM9MCxkPWEuaW1nWzBdLGU9ZnVuY3Rpb24oZil7TCYmY2xlYXJJbnRlcnZhbChMKSxMPXNldEludGVydmFsKGZ1bmN0aW9uKCl7cmV0dXJuIGQubmF0dXJhbFdpZHRoPjA/dm9pZCBiLl9vbkltYWdlSGFzU2l6ZShhKTooYz4yMDAmJmNsZWFySW50ZXJ2YWwoTCksYysrLHZvaWQoMz09PWM/ZSgxMCk6NDA9PT1jP2UoNTApOjEwMD09PWMmJmUoNTAwKSkpfSxmKX07ZSgxKX0sZ2V0SW1hZ2U6ZnVuY3Rpb24oYyxkKXt2YXIgZT0wLGY9ZnVuY3Rpb24oKXtjJiYoYy5pbWdbMF0uY29tcGxldGU/KGMuaW1nLm9mZigiLm1mcGxvYWRlciIpLGM9PT1iLmN1cnJJdGVtJiYoYi5fb25JbWFnZUhhc1NpemUoYyksYi51cGRhdGVTdGF0dXMoInJlYWR5IikpLGMuaGFzU2l6ZT0hMCxjLmxvYWRlZD0hMCx5KCJJbWFnZUxvYWRDb21wbGV0ZSIpKTooZSsrLDIwMD5lP3NldFRpbWVvdXQoZiwxMDApOmcoKSkpfSxnPWZ1bmN0aW9uKCl7YyYmKGMuaW1nLm9mZigiLm1mcGxvYWRlciIpLGM9PT1iLmN1cnJJdGVtJiYoYi5fb25JbWFnZUhhc1NpemUoYyksYi51cGRhdGVTdGF0dXMoImVycm9yIixoLnRFcnJvci5yZXBsYWNlKCIldXJsJSIsYy5zcmMpKSksYy5oYXNTaXplPSEwLGMubG9hZGVkPSEwLGMubG9hZEVycm9yPSEwKX0saD1iLnN0LmltYWdlLGk9ZC5maW5kKCIubWZwLWltZyIpO2lmKGkubGVuZ3RoKXt2YXIgaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtqLmNsYXNzTmFtZT0ibWZwLWltZyIsYy5lbCYmYy5lbC5maW5kKCJpbWciKS5sZW5ndGgmJihqLmFsdD1jLmVsLmZpbmQoImltZyIpLmF0dHIoImFsdCIpKSxjLmltZz1hKGopLm9uKCJsb2FkLm1mcGxvYWRlciIsZikub24oImVycm9yLm1mcGxvYWRlciIsZyksai5zcmM9Yy5zcmMsaS5pcygiaW1nIikmJihjLmltZz1jLmltZy5jbG9uZSgpKSxqPWMuaW1nWzBdLGoubmF0dXJhbFdpZHRoPjA/Yy5oYXNTaXplPSEwOmoud2lkdGh8fChjLmhhc1NpemU9ITEpfXJldHVybiBiLl9wYXJzZU1hcmt1cChkLHt0aXRsZTpNKGMpLGltZ19yZXBsYWNlV2l0aDpjLmltZ30sYyksYi5yZXNpemVJbWFnZSgpLGMuaGFzU2l6ZT8oTCYmY2xlYXJJbnRlcnZhbChMKSxjLmxvYWRFcnJvcj8oZC5hZGRDbGFzcygibWZwLWxvYWRpbmciKSxiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLGgudEVycm9yLnJlcGxhY2UoIiV1cmwlIixjLnNyYykpKTooZC5yZW1vdmVDbGFzcygibWZwLWxvYWRpbmciKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSksZCk6KGIudXBkYXRlU3RhdHVzKCJsb2FkaW5nIiksYy5sb2FkaW5nPSEwLGMuaGFzU2l6ZXx8KGMuaW1nSGlkZGVuPSEwLGQuYWRkQ2xhc3MoIm1mcC1sb2FkaW5nIiksYi5maW5kSW1hZ2VTaXplKGMpKSxkKX19fSk7dmFyIE4sTz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1OJiYoTj12b2lkIDAhPT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikuc3R5bGUuTW96VHJhbnNmb3JtKSxOfTthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoInpvb20iLHtvcHRpb25zOntlbmFibGVkOiExLGVhc2luZzoiZWFzZS1pbi1vdXQiLGR1cmF0aW9uOjMwMCxvcGVuZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaXMoImltZyIpP2E6YS5maW5kKCJpbWciKX19LHByb3RvOntpbml0Wm9vbTpmdW5jdGlvbigpe3ZhciBhLGM9Yi5zdC56b29tLGQ9Ii56b29tIjtpZihjLmVuYWJsZWQmJmIuc3VwcG9ydHNUcmFuc2l0aW9uKXt2YXIgZSxmLGc9Yy5kdXJhdGlvbixqPWZ1bmN0aW9uKGEpe3ZhciBiPWEuY2xvbmUoKS5yZW1vdmVBdHRyKCJzdHlsZSIpLnJlbW92ZUF0dHIoImNsYXNzIikuYWRkQ2xhc3MoIm1mcC1hbmltYXRlZC1pbWFnZSIpLGQ9ImFsbCAiK2MuZHVyYXRpb24vMWUzKyJzICIrYy5lYXNpbmcsZT17cG9zaXRpb246ImZpeGVkIix6SW5kZXg6OTk5OSxsZWZ0OjAsdG9wOjAsIi13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSI6ImhpZGRlbiJ9LGY9InRyYW5zaXRpb24iO3JldHVybiBlWyItd2Via2l0LSIrZl09ZVsiLW1vei0iK2ZdPWVbIi1vLSIrZl09ZVtmXT1kLGIuY3NzKGUpLGJ9LGs9ZnVuY3Rpb24oKXtiLmNvbnRlbnQuY3NzKCJ2aXNpYmlsaXR5IiwidmlzaWJsZSIpfTt3KCJCdWlsZENvbnRyb2xzIitkLGZ1bmN0aW9uKCl7aWYoYi5fYWxsb3dab29tKCkpe2lmKGNsZWFyVGltZW91dChlKSxiLmNvbnRlbnQuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIiksYT1iLl9nZXRJdGVtVG9ab29tKCksIWEpcmV0dXJuIHZvaWQgaygpO2Y9aihhKSxmLmNzcyhiLl9nZXRPZmZzZXQoKSksYi53cmFwLmFwcGVuZChmKSxlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtmLmNzcyhiLl9nZXRPZmZzZXQoITApKSxlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtrKCksc2V0VGltZW91dChmdW5jdGlvbigpe2YucmVtb3ZlKCksYT1mPW51bGwseSgiWm9vbUFuaW1hdGlvbkVuZGVkIil9LDE2KX0sZyl9LDE2KX19KSx3KGkrZCxmdW5jdGlvbigpe2lmKGIuX2FsbG93Wm9vbSgpKXtpZihjbGVhclRpbWVvdXQoZSksYi5zdC5yZW1vdmFsRGVsYXk9ZywhYSl7aWYoYT1iLl9nZXRJdGVtVG9ab29tKCksIWEpcmV0dXJuO2Y9aihhKX1mLmNzcyhiLl9nZXRPZmZzZXQoITApKSxiLndyYXAuYXBwZW5kKGYpLGIuY29udGVudC5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zi5jc3MoYi5fZ2V0T2Zmc2V0KCkpfSwxNil9fSksdyhoK2QsZnVuY3Rpb24oKXtiLl9hbGxvd1pvb20oKSYmKGsoKSxmJiZmLnJlbW92ZSgpLGE9bnVsbCl9KX19LF9hbGxvd1pvb206ZnVuY3Rpb24oKXtyZXR1cm4iaW1hZ2UiPT09Yi5jdXJySXRlbS50eXBlfSxfZ2V0SXRlbVRvWm9vbTpmdW5jdGlvbigpe3JldHVybiBiLmN1cnJJdGVtLmhhc1NpemU/Yi5jdXJySXRlbS5pbWc6ITF9LF9nZXRPZmZzZXQ6ZnVuY3Rpb24oYyl7dmFyIGQ7ZD1jP2IuY3Vyckl0ZW0uaW1nOmIuc3Quem9vbS5vcGVuZXIoYi5jdXJySXRlbS5lbHx8Yi5jdXJySXRlbSk7dmFyIGU9ZC5vZmZzZXQoKSxmPXBhcnNlSW50KGQuY3NzKCJwYWRkaW5nLXRvcCIpLDEwKSxnPXBhcnNlSW50KGQuY3NzKCJwYWRkaW5nLWJvdHRvbSIpLDEwKTtlLnRvcC09YSh3aW5kb3cpLnNjcm9sbFRvcCgpLWY7dmFyIGg9e3dpZHRoOmQud2lkdGgoKSxoZWlnaHQ6KHU/ZC5pbm5lckhlaWdodCgpOmRbMF0ub2Zmc2V0SGVpZ2h0KS1nLWZ9O3JldHVybiBPKCk/aFsiLW1vei10cmFuc2Zvcm0iXT1oLnRyYW5zZm9ybT0idHJhbnNsYXRlKCIrZS5sZWZ0KyJweCwiK2UudG9wKyJweCkiOihoLmxlZnQ9ZS5sZWZ0LGgudG9wPWUudG9wKSxofX19KTt2YXIgUD0iaWZyYW1lIixRPSIvL2Fib3V0OmJsYW5rIixSPWZ1bmN0aW9uKGEpe2lmKGIuY3VyclRlbXBsYXRlW1BdKXt2YXIgYz1iLmN1cnJUZW1wbGF0ZVtQXS5maW5kKCJpZnJhbWUiKTtjLmxlbmd0aCYmKGF8fChjWzBdLnNyYz1RKSxiLmlzSUU4JiZjLmNzcygiZGlzcGxheSIsYT8iYmxvY2siOiJub25lIikpfX07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKFAse29wdGlvbnM6e21hcmt1cDonPGRpdiBjbGFzcz0ibWZwLWlmcmFtZS1zY2FsZXIiPjxkaXYgY2xhc3M9Im1mcC1jbG9zZSI+PC9kaXY+PGlmcmFtZSBjbGFzcz0ibWZwLWlmcmFtZSIgc3JjPSIvL2Fib3V0OmJsYW5rIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+PC9kaXY+JyxzcmNBY3Rpb246ImlmcmFtZV9zcmMiLHBhdHRlcm5zOnt5b3V0dWJlOntpbmRleDoieW91dHViZS5jb20iLGlkOiJ2PSIsc3JjOiIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8laWQlP2F1dG9wbGF5PTEifSx2aW1lbzp7aW5kZXg6InZpbWVvLmNvbS8iLGlkOiIvIixzcmM6Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8laWQlP2F1dG9wbGF5PTEifSxnbWFwczp7aW5kZXg6Ii8vbWFwcy5nb29nbGUuIixzcmM6IiVpZCUmb3V0cHV0PWVtYmVkIn19fSxwcm90bzp7aW5pdElmcmFtZTpmdW5jdGlvbigpe2IudHlwZXMucHVzaChQKSx3KCJCZWZvcmVDaGFuZ2UiLGZ1bmN0aW9uKGEsYixjKXtiIT09YyYmKGI9PT1QP1IoKTpjPT09UCYmUighMCkpfSksdyhoKyIuIitQLGZ1bmN0aW9uKCl7UigpfSl9LGdldElmcmFtZTpmdW5jdGlvbihjLGQpe3ZhciBlPWMuc3JjLGY9Yi5zdC5pZnJhbWU7YS5lYWNoKGYucGF0dGVybnMsZnVuY3Rpb24oKXtyZXR1cm4gZS5pbmRleE9mKHRoaXMuaW5kZXgpPi0xPyh0aGlzLmlkJiYoZT0ic3RyaW5nIj09dHlwZW9mIHRoaXMuaWQ/ZS5zdWJzdHIoZS5sYXN0SW5kZXhPZih0aGlzLmlkKSt0aGlzLmlkLmxlbmd0aCxlLmxlbmd0aCk6dGhpcy5pZC5jYWxsKHRoaXMsZSkpLGU9dGhpcy5zcmMucmVwbGFjZSgiJWlkJSIsZSksITEpOnZvaWQgMH0pO3ZhciBnPXt9O3JldHVybiBmLnNyY0FjdGlvbiYmKGdbZi5zcmNBY3Rpb25dPWUpLGIuX3BhcnNlTWFya3VwKGQsZyxjKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSxkfX19KTt2YXIgUz1mdW5jdGlvbihhKXt2YXIgYz1iLml0ZW1zLmxlbmd0aDtyZXR1cm4gYT5jLTE/YS1jOjA+YT9jK2E6YX0sVD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEucmVwbGFjZSgvJWN1cnIlL2dpLGIrMSkucmVwbGFjZSgvJXRvdGFsJS9naSxjKX07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKCJnYWxsZXJ5Iix7b3B0aW9uczp7ZW5hYmxlZDohMSxhcnJvd01hcmt1cDonPGJ1dHRvbiB0aXRsZT0iJXRpdGxlJSIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ibWZwLWFycm93IG1mcC1hcnJvdy0lZGlyJSI+PC9idXR0b24+JyxwcmVsb2FkOlswLDJdLG5hdmlnYXRlQnlJbWdDbGljazohMCxhcnJvd3M6ITAsdFByZXY6IlByZXZpb3VzIChMZWZ0IGFycm93IGtleSkiLHROZXh0OiJOZXh0IChSaWdodCBhcnJvdyBrZXkpIix0Q291bnRlcjoiJWN1cnIlIG9mICV0b3RhbCUifSxwcm90bzp7aW5pdEdhbGxlcnk6ZnVuY3Rpb24oKXt2YXIgYz1iLnN0LmdhbGxlcnksZT0iLm1mcC1nYWxsZXJ5IixnPUJvb2xlYW4oYS5mbi5tZnBGYXN0Q2xpY2spO3JldHVybiBiLmRpcmVjdGlvbj0hMCxjJiZjLmVuYWJsZWQ/KGYrPSIgbWZwLWdhbGxlcnkiLHcobStlLGZ1bmN0aW9uKCl7Yy5uYXZpZ2F0ZUJ5SW1nQ2xpY2smJmIud3JhcC5vbigiY2xpY2siK2UsIi5tZnAtaW1nIixmdW5jdGlvbigpe3JldHVybiBiLml0ZW1zLmxlbmd0aD4xPyhiLm5leHQoKSwhMSk6dm9pZCAwfSksZC5vbigia2V5ZG93biIrZSxmdW5jdGlvbihhKXszNz09PWEua2V5Q29kZT9iLnByZXYoKTozOT09PWEua2V5Q29kZSYmYi5uZXh0KCl9KX0pLHcoIlVwZGF0ZVN0YXR1cyIrZSxmdW5jdGlvbihhLGMpe2MudGV4dCYmKGMudGV4dD1UKGMudGV4dCxiLmN1cnJJdGVtLmluZGV4LGIuaXRlbXMubGVuZ3RoKSl9KSx3KGwrZSxmdW5jdGlvbihhLGQsZSxmKXt2YXIgZz1iLml0ZW1zLmxlbmd0aDtlLmNvdW50ZXI9Zz4xP1QoYy50Q291bnRlcixmLmluZGV4LGcpOiIifSksdygiQnVpbGRDb250cm9scyIrZSxmdW5jdGlvbigpe2lmKGIuaXRlbXMubGVuZ3RoPjEmJmMuYXJyb3dzJiYhYi5hcnJvd0xlZnQpe3ZhciBkPWMuYXJyb3dNYXJrdXAsZT1iLmFycm93TGVmdD1hKGQucmVwbGFjZSgvJXRpdGxlJS9naSxjLnRQcmV2KS5yZXBsYWNlKC8lZGlyJS9naSwibGVmdCIpKS5hZGRDbGFzcyhzKSxmPWIuYXJyb3dSaWdodD1hKGQucmVwbGFjZSgvJXRpdGxlJS9naSxjLnROZXh0KS5yZXBsYWNlKC8lZGlyJS9naSwicmlnaHQiKSkuYWRkQ2xhc3MocyksaD1nPyJtZnBGYXN0Q2xpY2siOiJjbGljayI7ZVtoXShmdW5jdGlvbigpe2IucHJldigpfSksZltoXShmdW5jdGlvbigpe2IubmV4dCgpfSksYi5pc0lFNyYmKHgoImIiLGVbMF0sITEsITApLHgoImEiLGVbMF0sITEsITApLHgoImIiLGZbMF0sITEsITApLHgoImEiLGZbMF0sITEsITApKSxiLmNvbnRhaW5lci5hcHBlbmQoZS5hZGQoZikpfX0pLHcobitlLGZ1bmN0aW9uKCl7Yi5fcHJlbG9hZFRpbWVvdXQmJmNsZWFyVGltZW91dChiLl9wcmVsb2FkVGltZW91dCksYi5fcHJlbG9hZFRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2IucHJlbG9hZE5lYXJieUltYWdlcygpLGIuX3ByZWxvYWRUaW1lb3V0PW51bGx9LDE2KX0pLHZvaWQgdyhoK2UsZnVuY3Rpb24oKXtkLm9mZihlKSxiLndyYXAub2ZmKCJjbGljayIrZSksYi5hcnJvd0xlZnQmJmcmJmIuYXJyb3dMZWZ0LmFkZChiLmFycm93UmlnaHQpLmRlc3Ryb3lNZnBGYXN0Q2xpY2soKSxiLmFycm93UmlnaHQ9Yi5hcnJvd0xlZnQ9bnVsbH0pKTohMX0sbmV4dDpmdW5jdGlvbigpe2IuZGlyZWN0aW9uPSEwLGIuaW5kZXg9UyhiLmluZGV4KzEpLGIudXBkYXRlSXRlbUhUTUwoKX0scHJldjpmdW5jdGlvbigpe2IuZGlyZWN0aW9uPSExLGIuaW5kZXg9UyhiLmluZGV4LTEpLGIudXBkYXRlSXRlbUhUTUwoKX0sZ29UbzpmdW5jdGlvbihhKXtiLmRpcmVjdGlvbj1hPj1iLmluZGV4LGIuaW5kZXg9YSxiLnVwZGF0ZUl0ZW1IVE1MKCl9LHByZWxvYWROZWFyYnlJbWFnZXM6ZnVuY3Rpb24oKXt2YXIgYSxjPWIuc3QuZ2FsbGVyeS5wcmVsb2FkLGQ9TWF0aC5taW4oY1swXSxiLml0ZW1zLmxlbmd0aCksZT1NYXRoLm1pbihjWzFdLGIuaXRlbXMubGVuZ3RoKTtmb3IoYT0xO2E8PShiLmRpcmVjdGlvbj9lOmQpO2ErKyliLl9wcmVsb2FkSXRlbShiLmluZGV4K2EpO2ZvcihhPTE7YTw9KGIuZGlyZWN0aW9uP2Q6ZSk7YSsrKWIuX3ByZWxvYWRJdGVtKGIuaW5kZXgtYSl9LF9wcmVsb2FkSXRlbTpmdW5jdGlvbihjKXtpZihjPVMoYyksIWIuaXRlbXNbY10ucHJlbG9hZGVkKXt2YXIgZD1iLml0ZW1zW2NdO2QucGFyc2VkfHwoZD1iLnBhcnNlRWwoYykpLHkoIkxhenlMb2FkIixkKSwiaW1hZ2UiPT09ZC50eXBlJiYoZC5pbWc9YSgnPGltZyBjbGFzcz0ibWZwLWltZyIgLz4nKS5vbigibG9hZC5tZnBsb2FkZXIiLGZ1bmN0aW9uKCl7ZC5oYXNTaXplPSEwfSkub24oImVycm9yLm1mcGxvYWRlciIsZnVuY3Rpb24oKXtkLmhhc1NpemU9ITAsZC5sb2FkRXJyb3I9ITAseSgiTGF6eUxvYWRFcnJvciIsZCl9KS5hdHRyKCJzcmMiLGQuc3JjKSksZC5wcmVsb2FkZWQ9ITB9fX19KTt2YXIgVT0icmV0aW5hIjthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoVSx7b3B0aW9uczp7cmVwbGFjZVNyYzpmdW5jdGlvbihhKXtyZXR1cm4gYS5zcmMucmVwbGFjZSgvXC5cdyskLyxmdW5jdGlvbihhKXtyZXR1cm4iQDJ4IithfSl9LHJhdGlvOjF9LHByb3RvOntpbml0UmV0aW5hOmZ1bmN0aW9uKCl7aWYod2luZG93LmRldmljZVBpeGVsUmF0aW8+MSl7dmFyIGE9Yi5zdC5yZXRpbmEsYz1hLnJhdGlvO2M9aXNOYU4oYyk/YygpOmMsYz4xJiYodygiSW1hZ2VIYXNTaXplLiIrVSxmdW5jdGlvbihhLGIpe2IuaW1nLmNzcyh7Im1heC13aWR0aCI6Yi5pbWdbMF0ubmF0dXJhbFdpZHRoL2Msd2lkdGg6IjEwMCUifSl9KSx3KCJFbGVtZW50UGFyc2UuIitVLGZ1bmN0aW9uKGIsZCl7ZC5zcmM9YS5yZXBsYWNlU3JjKGQsYyl9KSl9fX19KSxmdW5jdGlvbigpe3ZhciBiPTFlMyxjPSJvbnRvdWNoc3RhcnQiaW4gd2luZG93LGQ9ZnVuY3Rpb24oKXt2Lm9mZigidG91Y2htb3ZlIitmKyIgdG91Y2hlbmQiK2YpfSxlPSJtZnBGYXN0Q2xpY2siLGY9Ii4iK2U7YS5mbi5tZnBGYXN0Q2xpY2s9ZnVuY3Rpb24oZSl7cmV0dXJuIGEodGhpcykuZWFjaChmdW5jdGlvbigpe3ZhciBnLGg9YSh0aGlzKTtpZihjKXt2YXIgaSxqLGssbCxtLG47aC5vbigidG91Y2hzdGFydCIrZixmdW5jdGlvbihhKXtsPSExLG49MSxtPWEub3JpZ2luYWxFdmVudD9hLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXTphLnRvdWNoZXNbMF0saj1tLmNsaWVudFgsaz1tLmNsaWVudFksdi5vbigidG91Y2htb3ZlIitmLGZ1bmN0aW9uKGEpe209YS5vcmlnaW5hbEV2ZW50P2Eub3JpZ2luYWxFdmVudC50b3VjaGVzOmEudG91Y2hlcyxuPW0ubGVuZ3RoLG09bVswXSwoTWF0aC5hYnMobS5jbGllbnRYLWopPjEwfHxNYXRoLmFicyhtLmNsaWVudFktayk+MTApJiYobD0hMCxkKCkpfSkub24oInRvdWNoZW5kIitmLGZ1bmN0aW9uKGEpe2QoKSxsfHxuPjF8fChnPSEwLGEucHJldmVudERlZmF1bHQoKSxjbGVhclRpbWVvdXQoaSksaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zz0hMX0sYiksZSgpKX0pfSl9aC5vbigiY2xpY2siK2YsZnVuY3Rpb24oKXtnfHxlKCl9KX0pfSxhLmZuLmRlc3Ryb3lNZnBGYXN0Q2xpY2s9ZnVuY3Rpb24oKXthKHRoaXMpLm9mZigidG91Y2hzdGFydCIrZisiIGNsaWNrIitmKSxjJiZ2Lm9mZigidG91Y2htb3ZlIitmKyIgdG91Y2hlbmQiK2YpfX0oKSxBKCl9KTsNCg0KDQovKg0KICogIE5pdm8gTGlnaHRib3gNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyoNCiogTml2byBMaWdodGJveCB2MS4yLjANCiogaHR0cDovL2RldjdzdHVkaW9zLmNvbS9uaXZvLWxpZ2h0Ym94DQoqDQoqIENvcHlyaWdodCAyMDEzLCBEZXY3c3R1ZGlvcw0KKiBGcmVlIHRvIHVzZSBhbmQgYWJ1c2UgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocA0KKi8NCihmdW5jdGlvbihlLHQsbixyKXtmdW5jdGlvbiBvKHQsbil7dGhpcy5lbD10O3RoaXMuJGVsPWUodGhpcy5lbCk7dGhpcy5vcHRpb25zPWUuZXh0ZW5kKHt9LHMsbik7dGhpcy5fZGVmYXVsdHM9czt0aGlzLl9uYW1lPWk7dGhpcy5pbml0KCl9dmFyIGk9Im5pdm9MaWdodGJveCIscz17ZWZmZWN0OiJmYWRlIix0aGVtZToiZGVmYXVsdCIsa2V5Ym9hcmROYXY6dHJ1ZSxjbGlja092ZXJsYXlUb0Nsb3NlOnRydWUsb25Jbml0OmZ1bmN0aW9uKCl7fSxiZWZvcmVTaG93TGlnaHRib3g6ZnVuY3Rpb24oKXt9LGFmdGVyU2hvd0xpZ2h0Ym94OmZ1bmN0aW9uKGUpe30sYmVmb3JlSGlkZUxpZ2h0Ym94OmZ1bmN0aW9uKCl7fSxhZnRlckhpZGVMaWdodGJveDpmdW5jdGlvbigpe30sb25QcmV2OmZ1bmN0aW9uKGUpe30sb25OZXh0OmZ1bmN0aW9uKGUpe30sZXJyb3JNZXNzYWdlOiJUaGUgcmVxdWVzdGVkIGNvbnRlbnQgY2Fubm90IGJlIGxvYWRlZC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4ifTtvLnByb3RvdHlwZT17aW5pdDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoIWUoImh0bWwiKS5oYXNDbGFzcygibml2by1saWdodGJveC1ub3RvdWNoIikpZSgiaHRtbCIpLmFkZENsYXNzKCJuaXZvLWxpZ2h0Ym94LW5vdG91Y2giKTtpZigib250b3VjaHN0YXJ0ImluIG4pZSgiaHRtbCIpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LW5vdG91Y2giKTt0aGlzLiRlbC5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3Quc2hvd0xpZ2h0Ym94KGUpfSk7aWYodGhpcy5vcHRpb25zLmtleWJvYXJkTmF2KXtlKCJib2R5Iikub2ZmKCJrZXl1cCIpLm9uKCJrZXl1cCIsZnVuY3Rpb24obil7dmFyIHI9bi5rZXlDb2RlP24ua2V5Q29kZTpuLndoaWNoO2lmKHI9PTI3KXQuZGVzdHJ1Y3RMaWdodGJveCgpO2lmKHI9PTM3KWUoIi5uaXZvLWxpZ2h0Ym94LXByZXYiKS50cmlnZ2VyKCJjbGljayIpO2lmKHI9PTM5KWUoIi5uaXZvLWxpZ2h0Ym94LW5leHQiKS50cmlnZ2VyKCJjbGljayIpfSl9dGhpcy5vcHRpb25zLm9uSW5pdC5jYWxsKHRoaXMpfSxzaG93TGlnaHRib3g6ZnVuY3Rpb24odCl7dmFyIG49dGhpcyxyPXRoaXMuJGVsO3ZhciBpPXRoaXMuY2hlY2tDb250ZW50KHIpO2lmKCFpKXJldHVybjt0LnByZXZlbnREZWZhdWx0KCk7dGhpcy5vcHRpb25zLmJlZm9yZVNob3dMaWdodGJveC5jYWxsKHRoaXMpO3ZhciBzPXRoaXMuY29uc3RydWN0TGlnaHRib3goKTtpZighcylyZXR1cm47dmFyIG89cy5maW5kKCIubml2by1saWdodGJveC1jb250ZW50Iik7aWYoIW8pcmV0dXJuO2UoImJvZHkiKS5hZGRDbGFzcygibml2by1saWdodGJveC1ib2R5LWVmZmVjdC0iK3RoaXMub3B0aW9ucy5lZmZlY3QpO3RoaXMucHJvY2Vzc0NvbnRlbnQobyxyKTtpZih0aGlzLiRlbC5hdHRyKCJkYXRhLWxpZ2h0Ym94LWdhbGxlcnkiKSl7dmFyIHU9ZSgnW2RhdGEtbGlnaHRib3gtZ2FsbGVyeT0iJyt0aGlzLiRlbC5hdHRyKCJkYXRhLWxpZ2h0Ym94LWdhbGxlcnkiKSsnIl0nKTtlKCIubml2by1saWdodGJveC1uYXYiKS5zaG93KCk7ZSgiLm5pdm8tbGlnaHRib3gtcHJldiIpLm9mZigiY2xpY2siKS5vbigiY2xpY2siLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKTt2YXIgaT11LmluZGV4KHIpO3I9dS5lcShpLTEpO2lmKCFlKHIpLmxlbmd0aClyPXUubGFzdCgpO24ucHJvY2Vzc0NvbnRlbnQobyxyKTtuLm9wdGlvbnMub25QcmV2LmNhbGwodGhpcyxbcl0pfSk7ZSgiLm5pdm8tbGlnaHRib3gtbmV4dCIpLm9mZigiY2xpY2siKS5vbigiY2xpY2siLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKTt2YXIgaT11LmluZGV4KHIpO3I9dS5lcShpKzEpO2lmKCFlKHIpLmxlbmd0aClyPXUuZmlyc3QoKTtuLnByb2Nlc3NDb250ZW50KG8scik7bi5vcHRpb25zLm9uTmV4dC5jYWxsKHRoaXMsW3JdKX0pfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLmFkZENsYXNzKCJuaXZvLWxpZ2h0Ym94LW9wZW4iKTtuLm9wdGlvbnMuYWZ0ZXJTaG93TGlnaHRib3guY2FsbCh0aGlzLFtzXSl9LDEpfSxjaGVja0NvbnRlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPWUuYXR0cigiaHJlZiIpLHI9bi5tYXRjaCgvKHlvdXR1YmV8eW91dHV8dmltZW8pXC4oY29tfGJlKVwvKHdhdGNoXD92PShbXHctXSspfChbXHctXSspKS8pO2lmKG4ubWF0Y2goL1wuKGpwZWd8anBnfGdpZnxwbmcpJC9pKSE9PW51bGwpe3JldHVybiB0cnVlfWVsc2UgaWYocil7cmV0dXJuIHRydWV9ZWxzZSBpZihlLmF0dHIoImRhdGEtbGlnaHRib3gtdHlwZSIpPT0iYWpheCIpe3JldHVybiB0cnVlfWVsc2UgaWYobi5zdWJzdHJpbmcoMCwxKT09IiMiJiZlLmF0dHIoImRhdGEtbGlnaHRib3gtdHlwZSIpPT0iaW5saW5lIil7cmV0dXJuIHRydWV9ZWxzZSBpZihlLmF0dHIoImRhdGEtbGlnaHRib3gtdHlwZSIpPT0iaWZyYW1lIil7cmV0dXJuIHRydWV9cmV0dXJuIGZhbHNlfSxwcm9jZXNzQ29udGVudDpmdW5jdGlvbihuLHIpe3ZhciBpPXRoaXMscz1yLmF0dHIoImhyZWYiKSxvPXMubWF0Y2goLyh5b3V0dWJlfHlvdXR1fHZpbWVvKVwuKGNvbXxiZSlcLyh3YXRjaFw/dj0oW1x3LV0rKXwoW1x3LV0rKSkvKTtuLmh0bWwoIiIpLmFkZENsYXNzKCJuaXZvLWxpZ2h0Ym94LWxvYWRpbmciKTtpZih0aGlzLmlzSGlkcGkoKSYmci5hdHRyKCJkYXRhLWxpZ2h0Ym94LWhpZHBpIikpe3M9ci5hdHRyKCJkYXRhLWxpZ2h0Ym94LWhpZHBpIil9aWYocy5tYXRjaCgvXC4oanBlZ3xqcGd8Z2lmfHBuZykkL2kpIT09bnVsbCl7dmFyIHU9ZSgiPGltZz4iLHtzcmM6c30pO3Uub25lKCJsb2FkIixmdW5jdGlvbigpe3ZhciByPWUoJzxkaXYgY2xhc3M9Im5pdm8tbGlnaHRib3gtaW1hZ2UiIC8+Jyk7ci5hcHBlbmQodSk7bi5odG1sKHIpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LWxvYWRpbmciKTtyLmNzcyh7ImxpbmUtaGVpZ2h0IjplKCIubml2by1saWdodGJveC1jb250ZW50IikuaGVpZ2h0KCkrInB4IixoZWlnaHQ6ZSgiLm5pdm8tbGlnaHRib3gtY29udGVudCIpLmhlaWdodCgpKyJweCJ9KTtlKHQpLnJlc2l6ZShmdW5jdGlvbigpe3IuY3NzKHsibGluZS1oZWlnaHQiOmUoIi5uaXZvLWxpZ2h0Ym94LWNvbnRlbnQiKS5oZWlnaHQoKSsicHgiLGhlaWdodDplKCIubml2by1saWdodGJveC1jb250ZW50IikuaGVpZ2h0KCkrInB4In0pfSl9KS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcy5jb21wbGV0ZSllKHRoaXMpLmxvYWQoKX0pO3UuZXJyb3IoZnVuY3Rpb24oKXt2YXIgdD1lKCc8ZGl2IGNsYXNzPSJuaXZvLWxpZ2h0Ym94LWVycm9yIj48cD4nK2kub3B0aW9ucy5lcnJvck1lc3NhZ2UrIjwvcD48L2Rpdj4iKTtuLmh0bWwodCkucmVtb3ZlQ2xhc3MoIm5pdm8tbGlnaHRib3gtbG9hZGluZyIpfSl9ZWxzZSBpZihvKXt2YXIgYT0iIixmPSJuaXZvLWxpZ2h0Ym94LXZpZGVvIjtpZihvWzFdPT0ieW91dHViZSIpe2E9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvIitvWzRdO2Y9Im5pdm8tbGlnaHRib3gteW91dHViZSJ9aWYob1sxXT09InlvdXR1Iil7YT0iaHR0cDovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8iK29bM107Zj0ibml2by1saWdodGJveC15b3V0dWJlIn1pZihvWzFdPT0idmltZW8iKXthPSJodHRwOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8iK29bM107Zj0ibml2by1saWdodGJveC12aW1lbyJ9aWYoYSl7dmFyIGw9ZSgiPGlmcmFtZT4iLHtzcmM6YSwiY2xhc3MiOmYsZnJhbWVib3JkZXI6MCx2c3BhY2U6MCxoc3BhY2U6MCxzY3JvbGxpbmc6ImF1dG8ifSk7bi5odG1sKGwpO2wubG9hZChmdW5jdGlvbigpe24ucmVtb3ZlQ2xhc3MoIm5pdm8tbGlnaHRib3gtbG9hZGluZyIpfSl9fWVsc2UgaWYoci5hdHRyKCJkYXRhLWxpZ2h0Ym94LXR5cGUiKT09ImFqYXgiKXtlLmFqYXgoe3VybDpzLGNhY2hlOmZhbHNlLHN1Y2Nlc3M6ZnVuY3Rpb24ocil7dmFyIGk9ZSgnPGRpdiBjbGFzcz0ibml2by1saWdodGJveC1hamF4IiAvPicpO2kuYXBwZW5kKHIpO24uaHRtbChpKS5yZW1vdmVDbGFzcygibml2by1saWdodGJveC1sb2FkaW5nIik7aWYoaS5vdXRlckhlaWdodCgpPG4uaGVpZ2h0KCkpe2kuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDoiNTAlIiwibWFyZ2luLXRvcCI6LShpLm91dGVySGVpZ2h0KCkvMikrInB4In0pfWUodCkucmVzaXplKGZ1bmN0aW9uKCl7aWYoaS5vdXRlckhlaWdodCgpPG4uaGVpZ2h0KCkpe2kuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDoiNTAlIiwibWFyZ2luLXRvcCI6LShpLm91dGVySGVpZ2h0KCkvMikrInB4In0pfX0pfSxlcnJvcjpmdW5jdGlvbigpe3ZhciB0PWUoJzxkaXYgY2xhc3M9Im5pdm8tbGlnaHRib3gtZXJyb3IiPjxwPicraS5vcHRpb25zLmVycm9yTWVzc2FnZSsiPC9wPjwvZGl2PiIpO24uaHRtbCh0KS5yZW1vdmVDbGFzcygibml2by1saWdodGJveC1sb2FkaW5nIil9fSl9ZWxzZSBpZihzLnN1YnN0cmluZygwLDEpPT0iIyImJnIuYXR0cigiZGF0YS1saWdodGJveC10eXBlIik9PSJpbmxpbmUiKXtpZihlKHMpLmxlbmd0aCl7dmFyIGM9ZSgnPGRpdiBjbGFzcz0ibml2by1saWdodGJveC1pbmxpbmUiIC8+Jyk7Yy5hcHBlbmQoZShzKS5jbG9uZSgpLnNob3coKSk7bi5odG1sKGMpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LWxvYWRpbmciKTtpZihjLm91dGVySGVpZ2h0KCk8bi5oZWlnaHQoKSl7Yy5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiI1MCUiLCJtYXJnaW4tdG9wIjotKGMub3V0ZXJIZWlnaHQoKS8yKSsicHgifSl9ZSh0KS5yZXNpemUoZnVuY3Rpb24oKXtpZihjLm91dGVySGVpZ2h0KCk8bi5oZWlnaHQoKSl7Yy5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiI1MCUiLCJtYXJnaW4tdG9wIjotKGMub3V0ZXJIZWlnaHQoKS8yKSsicHgifSl9fSl9ZWxzZXt2YXIgaD1lKCc8ZGl2IGNsYXNzPSJuaXZvLWxpZ2h0Ym94LWVycm9yIj48cD4nK2kub3B0aW9ucy5lcnJvck1lc3NhZ2UrIjwvcD48L2Rpdj4iKTtuLmh0bWwoaCkucmVtb3ZlQ2xhc3MoIm5pdm8tbGlnaHRib3gtbG9hZGluZyIpfX1lbHNlIGlmKHIuYXR0cigiZGF0YS1saWdodGJveC10eXBlIik9PSJpZnJhbWUiKXt2YXIgcD1lKCI8aWZyYW1lPiIse3NyYzpzLCJjbGFzcyI6Im5pdm8tbGlnaHRib3gtaXRlbSIsZnJhbWVib3JkZXI6MCx2c3BhY2U6MCxoc3BhY2U6MCxzY3JvbGxpbmc6ImF1dG8ifSk7bi5odG1sKHApO3AubG9hZChmdW5jdGlvbigpe24ucmVtb3ZlQ2xhc3MoIm5pdm8tbGlnaHRib3gtbG9hZGluZyIpfSl9ZWxzZXtyZXR1cm4gZmFsc2V9aWYoci5hdHRyKCJ0aXRsZSIpKXt2YXIgZD1lKCI8c3Bhbj4iLHsiY2xhc3MiOiJuaXZvLWxpZ2h0Ym94LXRpdGxlIn0pO2QudGV4dChyLmF0dHIoInRpdGxlIikpO2UoIi5uaXZvLWxpZ2h0Ym94LXRpdGxlLXdyYXAiKS5odG1sKGQpfWVsc2V7ZSgiLm5pdm8tbGlnaHRib3gtdGl0bGUtd3JhcCIpLmh0bWwoIiIpfX0sY29uc3RydWN0TGlnaHRib3g6ZnVuY3Rpb24oKXtpZihlKCIubml2by1saWdodGJveC1vdmVybGF5IikubGVuZ3RoKXJldHVybiBlKCIubml2by1saWdodGJveC1vdmVybGF5Iik7dmFyIHQ9ZSgiPGRpdj4iLHsiY2xhc3MiOiJuaXZvLWxpZ2h0Ym94LW92ZXJsYXkgbml2by1saWdodGJveC10aGVtZS0iK3RoaXMub3B0aW9ucy50aGVtZSsiIG5pdm8tbGlnaHRib3gtZWZmZWN0LSIrdGhpcy5vcHRpb25zLmVmZmVjdH0pO3ZhciBuPWUoIjxkaXY+Iix7ImNsYXNzIjoibml2by1saWdodGJveC13cmFwIn0pO3ZhciByPWUoIjxkaXY+Iix7ImNsYXNzIjoibml2by1saWdodGJveC1jb250ZW50In0pO3ZhciBpPWUoJzxhIGhyZWY9IiMiIGNsYXNzPSJuaXZvLWxpZ2h0Ym94LW5hdiBuaXZvLWxpZ2h0Ym94LXByZXYiPlByZXZpb3VzPC9hPjxhIGhyZWY9IiMiIGNsYXNzPSJuaXZvLWxpZ2h0Ym94LW5hdiBuaXZvLWxpZ2h0Ym94LW5leHQiPk5leHQ8L2E+Jyk7dmFyIHM9ZSgnPGEgaHJlZj0iIyIgY2xhc3M9Im5pdm8tbGlnaHRib3gtY2xvc2UiIHRpdGxlPSJDbG9zZSI+Q2xvc2U8L2E+Jyk7dmFyIG89ZSgiPGRpdj4iLHsiY2xhc3MiOiJuaXZvLWxpZ2h0Ym94LXRpdGxlLXdyYXAifSk7dmFyIHU9MDtpZih1KXQuYWRkQ2xhc3MoIm5pdm8tbGlnaHRib3gtaWUiKTtuLmFwcGVuZChyKTtuLmFwcGVuZChvKTt0LmFwcGVuZChuKTt0LmFwcGVuZChpKTt0LmFwcGVuZChzKTtlKCJib2R5IikuYXBwZW5kKHQpO3ZhciBhPXRoaXM7aWYoYS5vcHRpb25zLmNsaWNrT3ZlcmxheVRvQ2xvc2Upe3Qub24oImNsaWNrIixmdW5jdGlvbih0KXtpZih0LnRhcmdldD09PXRoaXN8fGUodC50YXJnZXQpLmhhc0NsYXNzKCJuaXZvLWxpZ2h0Ym94LWNvbnRlbnQiKXx8ZSh0LnRhcmdldCkuaGFzQ2xhc3MoIm5pdm8tbGlnaHRib3gtaW1hZ2UiKSl7YS5kZXN0cnVjdExpZ2h0Ym94KCl9fSl9cy5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTthLmRlc3RydWN0TGlnaHRib3goKX0pO3JldHVybiB0fSxkZXN0cnVjdExpZ2h0Ym94OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLm9wdGlvbnMuYmVmb3JlSGlkZUxpZ2h0Ym94LmNhbGwodGhpcyk7ZSgiLm5pdm8tbGlnaHRib3gtb3ZlcmxheSIpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LW9wZW4iKTtlKCIubml2by1saWdodGJveC1uYXYiKS5oaWRlKCk7ZSgiYm9keSIpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LWJvZHktZWZmZWN0LSIrdC5vcHRpb25zLmVmZmVjdCk7dmFyIG49MDtpZihuKXtlKCIubml2by1saWdodGJveC1vdmVybGF5IGlmcmFtZSIpLmF0dHIoInNyYyIsIiAiKTtlKCIubml2by1saWdodGJveC1vdmVybGF5IGlmcmFtZSIpLnJlbW92ZSgpfWUoIi5uaXZvLWxpZ2h0Ym94LXByZXYiKS5vZmYoImNsaWNrIik7ZSgiLm5pdm8tbGlnaHRib3gtbmV4dCIpLm9mZigiY2xpY2siKTtlKCIubml2by1saWdodGJveC1jb250ZW50IikuZW1wdHkoKTt0aGlzLm9wdGlvbnMuYWZ0ZXJIaWRlTGlnaHRib3guY2FsbCh0aGlzKX0saXNIaWRwaTpmdW5jdGlvbigpe3ZhciBlPSIoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMvMiksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSI7aWYodC5kZXZpY2VQaXhlbFJhdGlvPjEpcmV0dXJuIHRydWU7aWYodC5tYXRjaE1lZGlhJiZ0Lm1hdGNoTWVkaWEoZSkubWF0Y2hlcylyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fTtlLmZuW2ldPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZighZS5kYXRhKHRoaXMsaSkpe2UuZGF0YSh0aGlzLGksbmV3IG8odGhpcyx0KSl9fSl9fSkoalF1ZXJ5LHdpbmRvdyxkb2N1bWVudCkNCg0KLyoNCiAqICBQcmV0dHlQaG90byBMaWdodGJveA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCglDbGFzczogcHJldHR5UGhvdG8NCglVc2U6IExpZ2h0Ym94IGNsb25lIGZvciBqUXVlcnkNCglBdXRob3I6IFN0ZXBoYW5lIENhcm9uIChodHRwOi8vd3d3Lm5vLW1hcmdpbi1mb3ItZXJyb3JzLmNvbSkNCglWZXJzaW9uOiAzLjEuNg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KIWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt2YXIgZT1sb2NhdGlvbi5ocmVmO3JldHVybiBoYXNodGFnPS0xIT09ZS5pbmRleE9mKCIjcHJldHR5UGhvdG8iKT9kZWNvZGVVUkkoZS5zdWJzdHJpbmcoZS5pbmRleE9mKCIjcHJldHR5UGhvdG8iKSsxLGUubGVuZ3RoKSk6ITEsaGFzaHRhZyYmKGhhc2h0YWc9aGFzaHRhZy5yZXBsYWNlKC88fD4vZywiIikpLGhhc2h0YWd9ZnVuY3Rpb24gaSgpeyJ1bmRlZmluZWQiIT10eXBlb2YgdGhlUmVsJiYobG9jYXRpb24uaGFzaD10aGVSZWwrIi8iK3JlbF9pbmRleCsiLyIpfWZ1bmN0aW9uIHAoKXstMSE9PWxvY2F0aW9uLmhyZWYuaW5kZXhPZigiI3ByZXR0eVBob3RvIikmJihsb2NhdGlvbi5oYXNoPSJwcmV0dHlQaG90byIpfWZ1bmN0aW9uIG8oZSx0KXtlPWUucmVwbGFjZSgvW1xbXS8sIlxcWyIpLnJlcGxhY2UoL1tcXV0vLCJcXF0iKTt2YXIgaT0iW1xcPyZdIitlKyI9KFteJiNdKikiLHA9bmV3IFJlZ0V4cChpKSxvPXAuZXhlYyh0KTtyZXR1cm4gbnVsbD09bz8iIjpvWzFdfWUucHJldHR5UGhvdG89e3ZlcnNpb246IjMuMS42In0sZS5mbi5wcmV0dHlQaG90bz1mdW5jdGlvbihhKXtmdW5jdGlvbiBzKCl7ZSgiLnBwX2xvYWRlckljb24iKS5oaWRlKCkscHJvamVjdGVkVG9wPXNjcm9sbF9wb3Muc2Nyb2xsVG9wKyhJLzItZi5jb250YWluZXJIZWlnaHQvMikscHJvamVjdGVkVG9wPDAmJihwcm9qZWN0ZWRUb3A9MCksJHBwdC5mYWRlVG8oc2V0dGluZ3MuYW5pbWF0aW9uX3NwZWVkLDEpLCRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9jb250ZW50IikuYW5pbWF0ZSh7aGVpZ2h0OmYuY29udGVudEhlaWdodCx3aWR0aDpmLmNvbnRlbnRXaWR0aH0sc2V0dGluZ3MuYW5pbWF0aW9uX3NwZWVkKSwkcHBfcGljX2hvbGRlci5hbmltYXRlKHt0b3A6cHJvamVjdGVkVG9wLGxlZnQ6ai8yLWYuY29udGFpbmVyV2lkdGgvMjwwPzA6ai8yLWYuY29udGFpbmVyV2lkdGgvMix3aWR0aDpmLmNvbnRhaW5lcldpZHRofSxzZXR0aW5ncy5hbmltYXRpb25fc3BlZWQsZnVuY3Rpb24oKXskcHBfcGljX2hvbGRlci5maW5kKCIucHBfaG92ZXJDb250YWluZXIsI2Z1bGxSZXNJbWFnZSIpLmhlaWdodChmLmhlaWdodCkud2lkdGgoZi53aWR0aCksJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX2ZhZGUiKS5mYWRlSW4oc2V0dGluZ3MuYW5pbWF0aW9uX3NwZWVkKSxpc1NldCYmImltYWdlIj09aChwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSk/JHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX2hvdmVyQ29udGFpbmVyIikuc2hvdygpOiRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9ob3ZlckNvbnRhaW5lciIpLmhpZGUoKSxzZXR0aW5ncy5hbGxvd19leHBhbmQmJihmLnJlc2l6ZWQ/ZSgiYS5wcF9leHBhbmQsYS5wcF9jb250cmFjdCIpLnNob3coKTplKCJhLnBwX2V4cGFuZCIpLmhpZGUoKSksIXNldHRpbmdzLmF1dG9wbGF5X3NsaWRlc2hvd3x8UHx8dnx8ZS5wcmV0dHlQaG90by5zdGFydFNsaWRlc2hvdygpLHNldHRpbmdzLmNoYW5nZXBpY3R1cmVjYWxsYmFjaygpLHY9ITB9KSxtKCksYS5hamF4Y2FsbGJhY2soKX1mdW5jdGlvbiBuKHQpeyRwcF9waWNfaG9sZGVyLmZpbmQoIiNwcF9mdWxsX3JlcyBvYmplY3QsI3BwX2Z1bGxfcmVzIGVtYmVkIikuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIiksJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX2ZhZGUiKS5mYWRlT3V0KHNldHRpbmdzLmFuaW1hdGlvbl9zcGVlZCxmdW5jdGlvbigpe2UoIi5wcF9sb2FkZXJJY29uIikuc2hvdygpLHQoKX0pfWZ1bmN0aW9uIHIodCl7dD4xP2UoIi5wcF9uYXYiKS5zaG93KCk6ZSgiLnBwX25hdiIpLmhpZGUoKX1mdW5jdGlvbiBsKGUsdCl7aWYocmVzaXplZD0hMSxkKGUsdCksaW1hZ2VXaWR0aD1lLGltYWdlSGVpZ2h0PXQsKGs+anx8Yj5JKSYmZG9yZXNpemUmJnNldHRpbmdzLmFsbG93X3Jlc2l6ZSYmISQpe2ZvcihyZXNpemVkPSEwLGZpdHRpbmc9ITE7IWZpdHRpbmc7KWs+aj8oaW1hZ2VXaWR0aD1qLTIwMCxpbWFnZUhlaWdodD10L2UqaW1hZ2VXaWR0aCk6Yj5JPyhpbWFnZUhlaWdodD1JLTIwMCxpbWFnZVdpZHRoPWUvdCppbWFnZUhlaWdodCk6Zml0dGluZz0hMCxiPWltYWdlSGVpZ2h0LGs9aW1hZ2VXaWR0aDsoaz5qfHxiPkkpJiZsKGssYiksZChpbWFnZVdpZHRoLGltYWdlSGVpZ2h0KX1yZXR1cm57d2lkdGg6TWF0aC5mbG9vcihpbWFnZVdpZHRoKSxoZWlnaHQ6TWF0aC5mbG9vcihpbWFnZUhlaWdodCksY29udGFpbmVySGVpZ2h0Ok1hdGguZmxvb3IoYiksY29udGFpbmVyV2lkdGg6TWF0aC5mbG9vcihrKSsyKnNldHRpbmdzLmhvcml6b250YWxfcGFkZGluZyxjb250ZW50SGVpZ2h0Ok1hdGguZmxvb3IoeSksY29udGVudFdpZHRoOk1hdGguZmxvb3IodykscmVzaXplZDpyZXNpemVkfX1mdW5jdGlvbiBkKHQsaSl7dD1wYXJzZUZsb2F0KHQpLGk9cGFyc2VGbG9hdChpKSwkcHBfZGV0YWlscz0kcHBfcGljX2hvbGRlci5maW5kKCIucHBfZGV0YWlscyIpLCRwcF9kZXRhaWxzLndpZHRoKHQpLGRldGFpbHNIZWlnaHQ9cGFyc2VGbG9hdCgkcHBfZGV0YWlscy5jc3MoIm1hcmdpblRvcCIpKStwYXJzZUZsb2F0KCRwcF9kZXRhaWxzLmNzcygibWFyZ2luQm90dG9tIikpLCRwcF9kZXRhaWxzPSRwcF9kZXRhaWxzLmNsb25lKCkuYWRkQ2xhc3Moc2V0dGluZ3MudGhlbWUpLndpZHRoKHQpLmFwcGVuZFRvKGUoImJvZHkiKSkuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDotMWU0fSksZGV0YWlsc0hlaWdodCs9JHBwX2RldGFpbHMuaGVpZ2h0KCksZGV0YWlsc0hlaWdodD1kZXRhaWxzSGVpZ2h0PD0zND8zNjpkZXRhaWxzSGVpZ2h0LCRwcF9kZXRhaWxzLnJlbW92ZSgpLCRwcF90aXRsZT0kcHBfcGljX2hvbGRlci5maW5kKCIucHB0IiksJHBwX3RpdGxlLndpZHRoKHQpLHRpdGxlSGVpZ2h0PXBhcnNlRmxvYXQoJHBwX3RpdGxlLmNzcygibWFyZ2luVG9wIikpK3BhcnNlRmxvYXQoJHBwX3RpdGxlLmNzcygibWFyZ2luQm90dG9tIikpLCRwcF90aXRsZT0kcHBfdGl0bGUuY2xvbmUoKS5hcHBlbmRUbyhlKCJib2R5IikpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6LTFlNH0pLHRpdGxlSGVpZ2h0Kz0kcHBfdGl0bGUuaGVpZ2h0KCksJHBwX3RpdGxlLnJlbW92ZSgpLHk9aStkZXRhaWxzSGVpZ2h0LHc9dCxiPXkrdGl0bGVIZWlnaHQrJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX3RvcCIpLmhlaWdodCgpKyRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9ib3R0b20iKS5oZWlnaHQoKSxrPXR9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZS5tYXRjaCgveW91dHViZVwuY29tXC93YXRjaC9pKXx8ZS5tYXRjaCgveW91dHVcLmJlL2kpPyJ5b3V0dWJlIjplLm1hdGNoKC92aW1lb1wuY29tL2kpPyJ2aW1lbyI6ZS5tYXRjaCgvXGIubW92XGIvaSk/InF1aWNrdGltZSI6ZS5tYXRjaCgvXGIuc3dmXGIvaSk/ImZsYXNoIjplLm1hdGNoKC9cYmlmcmFtZT10cnVlXGIvaSk/ImlmcmFtZSI6ZS5tYXRjaCgvXGJhamF4PXRydWVcYi9pKT8iYWpheCI6ZS5tYXRjaCgvXGJjdXN0b209dHJ1ZVxiL2kpPyJjdXN0b20iOiIjIj09ZS5zdWJzdHIoMCwxKT8iaW5saW5lIjoiaW1hZ2UifWZ1bmN0aW9uIGMoKXtpZihkb3Jlc2l6ZSYmInVuZGVmaW5lZCIhPXR5cGVvZiAkcHBfcGljX2hvbGRlcil7aWYoc2Nyb2xsX3Bvcz1fKCksY29udGVudEhlaWdodD0kcHBfcGljX2hvbGRlci5oZWlnaHQoKSxjb250ZW50d2lkdGg9JHBwX3BpY19ob2xkZXIud2lkdGgoKSxwcm9qZWN0ZWRUb3A9SS8yK3Njcm9sbF9wb3Muc2Nyb2xsVG9wLWNvbnRlbnRIZWlnaHQvMixwcm9qZWN0ZWRUb3A8MCYmKHByb2plY3RlZFRvcD0wKSxjb250ZW50SGVpZ2h0PkkpcmV0dXJuOyRwcF9waWNfaG9sZGVyLmNzcyh7dG9wOnByb2plY3RlZFRvcCxsZWZ0OmovMitzY3JvbGxfcG9zLnNjcm9sbExlZnQtY29udGVudHdpZHRoLzJ9KX19ZnVuY3Rpb24gXygpe3JldHVybiBzZWxmLnBhZ2VZT2Zmc2V0P3tzY3JvbGxUb3A6c2VsZi5wYWdlWU9mZnNldCxzY3JvbGxMZWZ0OnNlbGYucGFnZVhPZmZzZXR9OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcD97c2Nyb2xsVG9wOmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3Asc2Nyb2xsTGVmdDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdH06ZG9jdW1lbnQuYm9keT97c2Nyb2xsVG9wOmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wLHNjcm9sbExlZnQ6ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0fTp2b2lkIDB9ZnVuY3Rpb24gZygpe0k9ZSh3aW5kb3cpLmhlaWdodCgpLGo9ZSh3aW5kb3cpLndpZHRoKCksInVuZGVmaW5lZCIhPXR5cGVvZiAkcHBfb3ZlcmxheSYmJHBwX292ZXJsYXkuaGVpZ2h0KGUoZG9jdW1lbnQpLmhlaWdodCgpKS53aWR0aChqKX1mdW5jdGlvbiBtKCl7aXNTZXQmJnNldHRpbmdzLm92ZXJsYXlfZ2FsbGVyeSYmImltYWdlIj09aChwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSk/KGl0ZW1XaWR0aD01NyxuYXZXaWR0aD0iZmFjZWJvb2siPT1zZXR0aW5ncy50aGVtZXx8InBwX2RlZmF1bHQiPT1zZXR0aW5ncy50aGVtZT81MDozMCxpdGVtc1BlclBhZ2U9TWF0aC5mbG9vcigoZi5jb250YWluZXJXaWR0aC0xMDAtbmF2V2lkdGgpL2l0ZW1XaWR0aCksaXRlbXNQZXJQYWdlPWl0ZW1zUGVyUGFnZTxwcF9pbWFnZXMubGVuZ3RoP2l0ZW1zUGVyUGFnZTpwcF9pbWFnZXMubGVuZ3RoLHRvdGFsUGFnZT1NYXRoLmNlaWwocHBfaW1hZ2VzLmxlbmd0aC9pdGVtc1BlclBhZ2UpLTEsMD09dG90YWxQYWdlPyhuYXZXaWR0aD0wLCRwcF9nYWxsZXJ5LmZpbmQoIi5wcF9hcnJvd19uZXh0LC5wcF9hcnJvd19wcmV2aW91cyIpLmhpZGUoKSk6JHBwX2dhbGxlcnkuZmluZCgiLnBwX2Fycm93X25leHQsLnBwX2Fycm93X3ByZXZpb3VzIikuc2hvdygpLGdhbGxlcnlXaWR0aD1pdGVtc1BlclBhZ2UqaXRlbVdpZHRoLGZ1bGxHYWxsZXJ5V2lkdGg9cHBfaW1hZ2VzLmxlbmd0aCppdGVtV2lkdGgsJHBwX2dhbGxlcnkuY3NzKCJtYXJnaW4tbGVmdCIsLShnYWxsZXJ5V2lkdGgvMituYXZXaWR0aC8yKSkuZmluZCgiZGl2OmZpcnN0Iikud2lkdGgoZ2FsbGVyeVdpZHRoKzUpLmZpbmQoInVsIikud2lkdGgoZnVsbEdhbGxlcnlXaWR0aCkuZmluZCgibGkuc2VsZWN0ZWQiKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKSxnb1RvUGFnZT1NYXRoLmZsb29yKHNldF9wb3NpdGlvbi9pdGVtc1BlclBhZ2UpPHRvdGFsUGFnZT9NYXRoLmZsb29yKHNldF9wb3NpdGlvbi9pdGVtc1BlclBhZ2UpOnRvdGFsUGFnZSxlLnByZXR0eVBob3RvLmNoYW5nZUdhbGxlcnlQYWdlKGdvVG9QYWdlKSwkcHBfZ2FsbGVyeV9saS5maWx0ZXIoIjplcSgiK3NldF9wb3NpdGlvbisiKSIpLmFkZENsYXNzKCJzZWxlY3RlZCIpKTokcHBfcGljX2hvbGRlci5maW5kKCIucHBfY29udGVudCIpLnVuYmluZCgibW91c2VlbnRlciBtb3VzZWxlYXZlIil9ZnVuY3Rpb24gdSgpe2lmKHNldHRpbmdzLnNvY2lhbF90b29scyYmKGZhY2Vib29rX2xpa2VfbGluaz1zZXR0aW5ncy5zb2NpYWxfdG9vbHMucmVwbGFjZSgie2xvY2F0aW9uX2hyZWZ9IixlbmNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZikpKSxzZXR0aW5ncy5tYXJrdXA9c2V0dGluZ3MubWFya3VwLnJlcGxhY2UoIntwcF9zb2NpYWx9IiwiIiksZSgiYm9keSIpLmFwcGVuZChzZXR0aW5ncy5tYXJrdXApLCRwcF9waWNfaG9sZGVyPWUoIi5wcF9waWNfaG9sZGVyIiksJHBwdD1lKCIucHB0IiksJHBwX292ZXJsYXk9ZSgiZGl2LnBwX292ZXJsYXkiKSxpc1NldCYmc2V0dGluZ3Mub3ZlcmxheV9nYWxsZXJ5KXtjdXJyZW50R2FsbGVyeVBhZ2U9MCx0b0luamVjdD0iIjtmb3IodmFyIHQ9MDt0PHBwX2ltYWdlcy5sZW5ndGg7dCsrKXBwX2ltYWdlc1t0XS5tYXRjaCgvXGIoanBnfGpwZWd8cG5nfGdpZilcYi9naSk/KGNsYXNzbmFtZT0iIixpbWdfc3JjPXBwX2ltYWdlc1t0XSk6KGNsYXNzbmFtZT0iZGVmYXVsdCIsaW1nX3NyYz0iIiksdG9JbmplY3QrPSI8bGkgY2xhc3M9JyIrY2xhc3NuYW1lKyInPjxhIGhyZWY9JyMnPjxpbWcgc3JjPSciK2ltZ19zcmMrIicgd2lkdGg9JzUwJyBhbHQ9JycgLz48L2E+PC9saT4iO3RvSW5qZWN0PXNldHRpbmdzLmdhbGxlcnlfbWFya3VwLnJlcGxhY2UoL3tnYWxsZXJ5fS9nLHRvSW5qZWN0KSwkcHBfcGljX2hvbGRlci5maW5kKCIjcHBfZnVsbF9yZXMiKS5hZnRlcih0b0luamVjdCksJHBwX2dhbGxlcnk9ZSgiLnBwX3BpY19ob2xkZXIgLnBwX2dhbGxlcnkiKSwkcHBfZ2FsbGVyeV9saT0kcHBfZ2FsbGVyeS5maW5kKCJsaSIpLCRwcF9nYWxsZXJ5LmZpbmQoIi5wcF9hcnJvd19uZXh0IikuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5jaGFuZ2VHYWxsZXJ5UGFnZSgibmV4dCIpLGUucHJldHR5UGhvdG8uc3RvcFNsaWRlc2hvdygpLCExfSksJHBwX2dhbGxlcnkuZmluZCgiLnBwX2Fycm93X3ByZXZpb3VzIikuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5jaGFuZ2VHYWxsZXJ5UGFnZSgicHJldmlvdXMiKSxlLnByZXR0eVBob3RvLnN0b3BTbGlkZXNob3coKSwhMX0pLCRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9jb250ZW50IikuaG92ZXIoZnVuY3Rpb24oKXskcHBfcGljX2hvbGRlci5maW5kKCIucHBfZ2FsbGVyeTpub3QoLmRpc2FibGVkKSIpLmZhZGVJbigpfSxmdW5jdGlvbigpeyRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9nYWxsZXJ5Om5vdCguZGlzYWJsZWQpIikuZmFkZU91dCgpfSksaXRlbVdpZHRoPTU3LCRwcF9nYWxsZXJ5X2xpLmVhY2goZnVuY3Rpb24odCl7ZSh0aGlzKS5maW5kKCJhIikuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5jaGFuZ2VQYWdlKHQpLGUucHJldHR5UGhvdG8uc3RvcFNsaWRlc2hvdygpLCExfSl9KX1zZXR0aW5ncy5zbGlkZXNob3cmJigkcHBfcGljX2hvbGRlci5maW5kKCIucHBfbmF2IikucHJlcGVuZCgnPGEgaHJlZj0iIyIgY2xhc3M9InBwX3BsYXkiPlBsYXk8L2E+JyksJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX25hdiAucHBfcGxheSIpLmNsaWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGUucHJldHR5UGhvdG8uc3RhcnRTbGlkZXNob3coKSwhMX0pKSwkcHBfcGljX2hvbGRlci5hdHRyKCJjbGFzcyIsInBwX3BpY19ob2xkZXIgIitzZXR0aW5ncy50aGVtZSksJHBwX292ZXJsYXkuY3NzKHtvcGFjaXR5OjAsaGVpZ2h0OmUoZG9jdW1lbnQpLmhlaWdodCgpLHdpZHRoOmUod2luZG93KS53aWR0aCgpfSkuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7c2V0dGluZ3MubW9kYWx8fGUucHJldHR5UGhvdG8uY2xvc2UoKX0pLGUoImEucHBfY2xvc2UiKS5iaW5kKCJjbGljayIsZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5jbG9zZSgpLCExfSksc2V0dGluZ3MuYWxsb3dfZXhwYW5kJiZlKCJhLnBwX2V4cGFuZCIpLmJpbmQoImNsaWNrIixmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmhhc0NsYXNzKCJwcF9leHBhbmQiKT8oZSh0aGlzKS5yZW1vdmVDbGFzcygicHBfZXhwYW5kIikuYWRkQ2xhc3MoInBwX2NvbnRyYWN0IiksZG9yZXNpemU9ITEpOihlKHRoaXMpLnJlbW92ZUNsYXNzKCJwcF9jb250cmFjdCIpLmFkZENsYXNzKCJwcF9leHBhbmQiKSxkb3Jlc2l6ZT0hMCksbihmdW5jdGlvbigpe2UucHJldHR5UGhvdG8ub3BlbigpfSksITF9KSwkcHBfcGljX2hvbGRlci5maW5kKCIucHBfcHJldmlvdXMsIC5wcF9uYXYgLnBwX2Fycm93X3ByZXZpb3VzIikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGUucHJldHR5UGhvdG8uY2hhbmdlUGFnZSgicHJldmlvdXMiKSxlLnByZXR0eVBob3RvLnN0b3BTbGlkZXNob3coKSwhMX0pLCRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9uZXh0LCAucHBfbmF2IC5wcF9hcnJvd19uZXh0IikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGUucHJldHR5UGhvdG8uY2hhbmdlUGFnZSgibmV4dCIpLGUucHJldHR5UGhvdG8uc3RvcFNsaWRlc2hvdygpLCExfSksYygpfWE9alF1ZXJ5LmV4dGVuZCh7aG9vazoicmVsIixhbmltYXRpb25fc3BlZWQ6ImZhc3QiLGFqYXhjYWxsYmFjazpmdW5jdGlvbigpe30sc2xpZGVzaG93OjVlMyxhdXRvcGxheV9zbGlkZXNob3c6ITEsb3BhY2l0eTouOCxzaG93X3RpdGxlOiEwLGFsbG93X3Jlc2l6ZTohMCxhbGxvd19leHBhbmQ6ITAsZGVmYXVsdF93aWR0aDo1MDAsZGVmYXVsdF9oZWlnaHQ6MzQ0LGNvdW50ZXJfc2VwYXJhdG9yX2xhYmVsOiIvIix0aGVtZToicHBfZGVmYXVsdCIsaG9yaXpvbnRhbF9wYWRkaW5nOjIwLGhpZGVmbGFzaDohMSx3bW9kZToib3BhcXVlIixhdXRvcGxheTohMCxtb2RhbDohMSxkZWVwbGlua2luZzohMCxvdmVybGF5X2dhbGxlcnk6ITAsb3ZlcmxheV9nYWxsZXJ5X21heDozMCxrZXlib2FyZF9zaG9ydGN1dHM6ITAsY2hhbmdlcGljdHVyZWNhbGxiYWNrOmZ1bmN0aW9uKCl7fSxjYWxsYmFjazpmdW5jdGlvbigpe30saWU2X2ZhbGxiYWNrOiEwLG1hcmt1cDonPGRpdiBjbGFzcz0icHBfcGljX2hvbGRlciI+IAkJCQkJCTxkaXYgY2xhc3M9InBwdCI+Jm5ic3A7PC9kaXY+IAkJCQkJCTxkaXYgY2xhc3M9InBwX3RvcCI+IAkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9sZWZ0Ij48L2Rpdj4gCQkJCQkJCTxkaXYgY2xhc3M9InBwX21pZGRsZSI+PC9kaXY+IAkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9yaWdodCI+PC9kaXY+IAkJCQkJCTwvZGl2PiAJCQkJCQk8ZGl2IGNsYXNzPSJwcF9jb250ZW50X2NvbnRhaW5lciI+IAkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9sZWZ0Ij4gCQkJCQkJCTxkaXYgY2xhc3M9InBwX3JpZ2h0Ij4gCQkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9jb250ZW50Ij4gCQkJCQkJCQkJPGRpdiBjbGFzcz0icHBfbG9hZGVySWNvbiI+PC9kaXY+IAkJCQkJCQkJCTxkaXYgY2xhc3M9InBwX2ZhZGUiPiAJCQkJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9InBwX2V4cGFuZCIgdGl0bGU9IkV4cGFuZCB0aGUgaW1hZ2UiPkV4cGFuZDwvYT4gCQkJCQkJCQkJCTxkaXYgY2xhc3M9InBwX2hvdmVyQ29udGFpbmVyIj4gCQkJCQkJCQkJCQk8YSBjbGFzcz0icHBfbmV4dCIgaHJlZj0iIyI+bmV4dDwvYT4gCQkJCQkJCQkJCQk8YSBjbGFzcz0icHBfcHJldmlvdXMiIGhyZWY9IiMiPnByZXZpb3VzPC9hPiAJCQkJCQkJCQkJPC9kaXY+IAkJCQkJCQkJCQk8ZGl2IGlkPSJwcF9mdWxsX3JlcyI+PC9kaXY+IAkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9kZXRhaWxzIj4gCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9uYXYiPiAJCQkJCQkJCQkJCQk8YSBocmVmPSIjIiBjbGFzcz0icHBfYXJyb3dfcHJldmlvdXMiPlByZXZpb3VzPC9hPiAJCQkJCQkJCQkJCQk8cCBjbGFzcz0iY3VycmVudFRleHRIb2xkZXIiPjAvMDwvcD4gCQkJCQkJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9InBwX2Fycm93X25leHQiPk5leHQ8L2E+IAkJCQkJCQkJCQkJPC9kaXY+IAkJCQkJCQkJCQkJPHAgY2xhc3M9InBwX2Rlc2NyaXB0aW9uIj48L3A+IAkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icHBfc29jaWFsIj57cHBfc29jaWFsfTwvZGl2PiAJCQkJCQkJCQkJCTxhIGNsYXNzPSJwcF9jbG9zZSIgaHJlZj0iIyI+Q2xvc2U8L2E+IAkJCQkJCQkJCQk8L2Rpdj4gCQkJCQkJCQkJPC9kaXY+IAkJCQkJCQkJPC9kaXY+IAkJCQkJCQk8L2Rpdj4gCQkJCQkJCTwvZGl2PiAJCQkJCQk8L2Rpdj4gCQkJCQkJPGRpdiBjbGFzcz0icHBfYm90dG9tIj4gCQkJCQkJCTxkaXYgY2xhc3M9InBwX2xlZnQiPjwvZGl2PiAJCQkJCQkJPGRpdiBjbGFzcz0icHBfbWlkZGxlIj48L2Rpdj4gCQkJCQkJCTxkaXYgY2xhc3M9InBwX3JpZ2h0Ij48L2Rpdj4gCQkJCQkJPC9kaXY+IAkJCQkJPC9kaXY+IAkJCQkJPGRpdiBjbGFzcz0icHBfb3ZlcmxheSI+PC9kaXY+JyxnYWxsZXJ5X21hcmt1cDonPGRpdiBjbGFzcz0icHBfZ2FsbGVyeSI+IAkJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9InBwX2Fycm93X3ByZXZpb3VzIj5QcmV2aW91czwvYT4gCQkJCQkJCQk8ZGl2PiAJCQkJCQkJCQk8dWw+IAkJCQkJCQkJCQl7Z2FsbGVyeX0gCQkJCQkJCQkJPC91bD4gCQkJCQkJCQk8L2Rpdj4gCQkJCQkJCQk8YSBocmVmPSIjIiBjbGFzcz0icHBfYXJyb3dfbmV4dCI+TmV4dDwvYT4gCQkJCQkJCTwvZGl2PicsaW1hZ2VfbWFya3VwOic8aW1nIGlkPSJmdWxsUmVzSW1hZ2UiIHNyYz0ie3BhdGh9IiAvPicsZmxhc2hfbWFya3VwOic8b2JqZWN0IGNsYXNzaWQ9ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIgd2lkdGg9Int3aWR0aH0iIGhlaWdodD0ie2hlaWdodH0iPjxwYXJhbSBuYW1lPSJ3bW9kZSIgdmFsdWU9Int3bW9kZX0iIC8+PHBhcmFtIG5hbWU9ImFsbG93ZnVsbHNjcmVlbiIgdmFsdWU9InRydWUiIC8+PHBhcmFtIG5hbWU9ImFsbG93c2NyaXB0YWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IntwYXRofSIgLz48ZW1iZWQgc3JjPSJ7cGF0aH0iIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBhbGxvd2Z1bGxzY3JlZW49InRydWUiIGFsbG93c2NyaXB0YWNjZXNzPSJhbHdheXMiIHdpZHRoPSJ7d2lkdGh9IiBoZWlnaHQ9IntoZWlnaHR9IiB3bW9kZT0ie3dtb2RlfSI+PC9lbWJlZD48L29iamVjdD4nLHF1aWNrdGltZV9tYXJrdXA6JzxvYmplY3QgY2xhc3NpZD0iY2xzaWQ6MDJCRjI1RDUtOEMxNy00QjIzLUJDODAtRDM0ODhBQkREQzZCIiBjb2RlYmFzZT0iaHR0cDovL3d3dy5hcHBsZS5jb20vcXRhY3RpdmV4L3F0cGx1Z2luLmNhYiIgaGVpZ2h0PSJ7aGVpZ2h0fSIgd2lkdGg9Int3aWR0aH0iPjxwYXJhbSBuYW1lPSJzcmMiIHZhbHVlPSJ7cGF0aH0iPjxwYXJhbSBuYW1lPSJhdXRvcGxheSIgdmFsdWU9InthdXRvcGxheX0iPjxwYXJhbSBuYW1lPSJ0eXBlIiB2YWx1ZT0idmlkZW8vcXVpY2t0aW1lIj48ZW1iZWQgc3JjPSJ7cGF0aH0iIGhlaWdodD0ie2hlaWdodH0iIHdpZHRoPSJ7d2lkdGh9IiBhdXRvcGxheT0ie2F1dG9wbGF5fSIgdHlwZT0idmlkZW8vcXVpY2t0aW1lIiBwbHVnaW5zcGFnZT0iaHR0cDovL3d3dy5hcHBsZS5jb20vcXVpY2t0aW1lL2Rvd25sb2FkLyI+PC9lbWJlZD48L29iamVjdD4nLGlmcmFtZV9tYXJrdXA6JzxpZnJhbWUgc3JjID0ie3BhdGh9IiB3aWR0aD0ie3dpZHRofSIgaGVpZ2h0PSJ7aGVpZ2h0fSIgZnJhbWVib3JkZXI9Im5vIj48L2lmcmFtZT4nLGlubGluZV9tYXJrdXA6JzxkaXYgY2xhc3M9InBwX2lubGluZSI+e2NvbnRlbnR9PC9kaXY+JyxjdXN0b21fbWFya3VwOiIiLHNvY2lhbF90b29sczonPGRpdiBjbGFzcz0idHdpdHRlciI+PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NoYXJlIiBjbGFzcz0idHdpdHRlci1zaGFyZS1idXR0b24iIGRhdGEtY291bnQ9Im5vbmUiPlR3ZWV0PC9hPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpzIj48L3NjcmlwdD48L2Rpdj48ZGl2IGNsYXNzPSJmYWNlYm9vayI+PGlmcmFtZSBzcmM9Ii8vd3d3LmZhY2Vib29rLmNvbS9wbHVnaW5zL2xpa2UucGhwP2xvY2FsZT1lbl9VUyZocmVmPXtsb2NhdGlvbl9ocmVmfSZsYXlvdXQ9YnV0dG9uX2NvdW50JnNob3dfZmFjZXM9dHJ1ZSZ3aWR0aD01MDAmYWN0aW9uPWxpa2UmZm9udCZjb2xvcnNjaGVtZT1saWdodCZoZWlnaHQ9MjMiIHNjcm9sbGluZz0ibm8iIHN0eWxlPSJib3JkZXI6bm9uZTsgb3ZlcmZsb3c6aGlkZGVuOyB3aWR0aDo1MDBweDsgaGVpZ2h0OjIzcHg7IiBhbGxvd1RyYW5zcGFyZW5jeT0idHJ1ZSI+PC9pZnJhbWU+PC9kaXY+J30sYSk7dmFyIGYsdix5LHcsYixrLFAseD10aGlzLCQ9ITEsST1lKHdpbmRvdykuaGVpZ2h0KCksaj1lKHdpbmRvdykud2lkdGgoKTtyZXR1cm4gZG9yZXNpemU9ITAsc2Nyb2xsX3Bvcz1fKCksZSh3aW5kb3cpLnVuYmluZCgicmVzaXplLnByZXR0eXBob3RvIikuYmluZCgicmVzaXplLnByZXR0eXBob3RvIixmdW5jdGlvbigpe2MoKSxnKCl9KSxhLmtleWJvYXJkX3Nob3J0Y3V0cyYmZShkb2N1bWVudCkudW5iaW5kKCJrZXlkb3duLnByZXR0eXBob3RvIikuYmluZCgia2V5ZG93bi5wcmV0dHlwaG90byIsZnVuY3Rpb24odCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiAkcHBfcGljX2hvbGRlciYmJHBwX3BpY19ob2xkZXIuaXMoIjp2aXNpYmxlIikpc3dpdGNoKHQua2V5Q29kZSl7Y2FzZSAzNzplLnByZXR0eVBob3RvLmNoYW5nZVBhZ2UoInByZXZpb3VzIiksdC5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2UgMzk6ZS5wcmV0dHlQaG90by5jaGFuZ2VQYWdlKCJuZXh0IiksdC5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2UgMjc6c2V0dGluZ3MubW9kYWx8fGUucHJldHR5UGhvdG8uY2xvc2UoKSx0LnByZXZlbnREZWZhdWx0KCl9fSksZS5wcmV0dHlQaG90by5pbml0aWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHNldHRpbmdzPWEsInBwX2RlZmF1bHQiPT1zZXR0aW5ncy50aGVtZSYmKHNldHRpbmdzLmhvcml6b250YWxfcGFkZGluZz0xNiksdGhlUmVsPWUodGhpcykuYXR0cihzZXR0aW5ncy5ob29rKSxnYWxsZXJ5UmVnRXhwPS9cWyg/Oi4qKVxdLyxpc1NldD1nYWxsZXJ5UmVnRXhwLmV4ZWModGhlUmVsKT8hMDohMSxwcF9pbWFnZXM9aXNTZXQ/alF1ZXJ5Lm1hcCh4LGZ1bmN0aW9uKHQpe3JldHVybi0xIT1lKHQpLmF0dHIoc2V0dGluZ3MuaG9vaykuaW5kZXhPZih0aGVSZWwpP2UodCkuYXR0cigiaHJlZiIpOnZvaWQgMH0pOmUubWFrZUFycmF5KGUodGhpcykuYXR0cigiaHJlZiIpKSxwcF90aXRsZXM9aXNTZXQ/alF1ZXJ5Lm1hcCh4LGZ1bmN0aW9uKHQpe3JldHVybi0xIT1lKHQpLmF0dHIoc2V0dGluZ3MuaG9vaykuaW5kZXhPZih0aGVSZWwpP2UodCkuZmluZCgiaW1nIikuYXR0cigiYWx0Iik/ZSh0KS5maW5kKCJpbWciKS5hdHRyKCJhbHQiKToiIjp2b2lkIDB9KTplLm1ha2VBcnJheShlKHRoaXMpLmZpbmQoImltZyIpLmF0dHIoImFsdCIpKSxwcF9kZXNjcmlwdGlvbnM9aXNTZXQ/alF1ZXJ5Lm1hcCh4LGZ1bmN0aW9uKHQpe3JldHVybi0xIT1lKHQpLmF0dHIoc2V0dGluZ3MuaG9vaykuaW5kZXhPZih0aGVSZWwpP2UodCkuYXR0cigidGl0bGUiKT9lKHQpLmF0dHIoInRpdGxlIik6IiI6dm9pZCAwfSk6ZS5tYWtlQXJyYXkoZSh0aGlzKS5hdHRyKCJ0aXRsZSIpKSxwcF9pbWFnZXMubGVuZ3RoPnNldHRpbmdzLm92ZXJsYXlfZ2FsbGVyeV9tYXgmJihzZXR0aW5ncy5vdmVybGF5X2dhbGxlcnk9ITEpLHNldF9wb3NpdGlvbj1qUXVlcnkuaW5BcnJheShlKHRoaXMpLmF0dHIoImhyZWYiKSxwcF9pbWFnZXMpLHJlbF9pbmRleD1pc1NldD9zZXRfcG9zaXRpb246ZSgiYVsiK3NldHRpbmdzLmhvb2srIl49JyIrdGhlUmVsKyInXSIpLmluZGV4KGUodGhpcykpLHUodGhpcyksc2V0dGluZ3MuYWxsb3dfcmVzaXplJiZlKHdpbmRvdykuYmluZCgic2Nyb2xsLnByZXR0eXBob3RvIixmdW5jdGlvbigpe2MoKX0pLGUucHJldHR5UGhvdG8ub3BlbigpLCExfSxlLnByZXR0eVBob3RvLm9wZW49ZnVuY3Rpb24odCl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBzZXR0aW5ncyYmKHNldHRpbmdzPWEscHBfaW1hZ2VzPWUubWFrZUFycmF5KGFyZ3VtZW50c1swXSkscHBfdGl0bGVzPWUubWFrZUFycmF5KGFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06IiIpLHBwX2Rlc2NyaXB0aW9ucz1lLm1ha2VBcnJheShhcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOiIiKSxpc1NldD1wcF9pbWFnZXMubGVuZ3RoPjE/ITA6ITEsc2V0X3Bvc2l0aW9uPWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106MCx1KHQudGFyZ2V0KSksc2V0dGluZ3MuaGlkZWZsYXNoJiZlKCJvYmplY3QsZW1iZWQsaWZyYW1lW3NyYyo9eW91dHViZV0saWZyYW1lW3NyYyo9dmltZW9dIikuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIikscihlKHBwX2ltYWdlcykuc2l6ZSgpKSxlKCIucHBfbG9hZGVySWNvbiIpLnNob3coKSxzZXR0aW5ncy5kZWVwbGlua2luZyYmaSgpLHNldHRpbmdzLnNvY2lhbF90b29scyYmKGZhY2Vib29rX2xpa2VfbGluaz1zZXR0aW5ncy5zb2NpYWxfdG9vbHMucmVwbGFjZSgie2xvY2F0aW9uX2hyZWZ9IixlbmNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZikpLCRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9zb2NpYWwiKS5odG1sKGZhY2Vib29rX2xpa2VfbGluaykpLCRwcHQuaXMoIjpoaWRkZW4iKSYmJHBwdC5jc3MoIm9wYWNpdHkiLDApLnNob3coKSwkcHBfb3ZlcmxheS5zaG93KCkuZmFkZVRvKHNldHRpbmdzLmFuaW1hdGlvbl9zcGVlZCxzZXR0aW5ncy5vcGFjaXR5KSwkcHBfcGljX2hvbGRlci5maW5kKCIuY3VycmVudFRleHRIb2xkZXIiKS50ZXh0KHNldF9wb3NpdGlvbisxK3NldHRpbmdzLmNvdW50ZXJfc2VwYXJhdG9yX2xhYmVsK2UocHBfaW1hZ2VzKS5zaXplKCkpLCJ1bmRlZmluZWQiIT10eXBlb2YgcHBfZGVzY3JpcHRpb25zW3NldF9wb3NpdGlvbl0mJiIiIT1wcF9kZXNjcmlwdGlvbnNbc2V0X3Bvc2l0aW9uXT8kcHBfcGljX2hvbGRlci5maW5kKCIucHBfZGVzY3JpcHRpb24iKS5zaG93KCkuaHRtbCh1bmVzY2FwZShwcF9kZXNjcmlwdGlvbnNbc2V0X3Bvc2l0aW9uXSkpOiRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9kZXNjcmlwdGlvbiIpLmhpZGUoKSxtb3ZpZV93aWR0aD1wYXJzZUZsb2F0KG8oIndpZHRoIixwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSkpP28oIndpZHRoIixwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSk6c2V0dGluZ3MuZGVmYXVsdF93aWR0aC50b1N0cmluZygpLG1vdmllX2hlaWdodD1wYXJzZUZsb2F0KG8oImhlaWdodCIscHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0pKT9vKCJoZWlnaHQiLHBwX2ltYWdlc1tzZXRfcG9zaXRpb25dKTpzZXR0aW5ncy5kZWZhdWx0X2hlaWdodC50b1N0cmluZygpLCQ9ITEsLTEhPW1vdmllX2hlaWdodC5pbmRleE9mKCIlIikmJihtb3ZpZV9oZWlnaHQ9cGFyc2VGbG9hdChlKHdpbmRvdykuaGVpZ2h0KCkqcGFyc2VGbG9hdChtb3ZpZV9oZWlnaHQpLzEwMC0xNTApLCQ9ITApLC0xIT1tb3ZpZV93aWR0aC5pbmRleE9mKCIlIikmJihtb3ZpZV93aWR0aD1wYXJzZUZsb2F0KGUod2luZG93KS53aWR0aCgpKnBhcnNlRmxvYXQobW92aWVfd2lkdGgpLzEwMC0xNTApLCQ9ITApLCRwcF9waWNfaG9sZGVyLmZhZGVJbihmdW5jdGlvbigpe3N3aXRjaCgkcHB0Lmh0bWwoc2V0dGluZ3Muc2hvd190aXRsZSYmIiIhPXBwX3RpdGxlc1tzZXRfcG9zaXRpb25dJiYidW5kZWZpbmVkIiE9dHlwZW9mIHBwX3RpdGxlc1tzZXRfcG9zaXRpb25dP3VuZXNjYXBlKHBwX3RpdGxlc1tzZXRfcG9zaXRpb25dKToiJm5ic3A7IiksaW1nUHJlbG9hZGVyPSIiLHNraXBJbmplY3Rpb249ITEsaChwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSkpe2Nhc2UiaW1hZ2UiOmltZ1ByZWxvYWRlcj1uZXcgSW1hZ2UsbmV4dEltYWdlPW5ldyBJbWFnZSxpc1NldCYmc2V0X3Bvc2l0aW9uPGUocHBfaW1hZ2VzKS5zaXplKCktMSYmKG5leHRJbWFnZS5zcmM9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbisxXSkscHJldkltYWdlPW5ldyBJbWFnZSxpc1NldCYmcHBfaW1hZ2VzW3NldF9wb3NpdGlvbi0xXSYmKHByZXZJbWFnZS5zcmM9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbi0xXSksJHBwX3BpY19ob2xkZXIuZmluZCgiI3BwX2Z1bGxfcmVzIilbMF0uaW5uZXJIVE1MPXNldHRpbmdzLmltYWdlX21hcmt1cC5yZXBsYWNlKC97cGF0aH0vZyxwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSksaW1nUHJlbG9hZGVyLm9ubG9hZD1mdW5jdGlvbigpe2Y9bChpbWdQcmVsb2FkZXIud2lkdGgsaW1nUHJlbG9hZGVyLmhlaWdodCkscygpfSxpbWdQcmVsb2FkZXIub25lcnJvcj1mdW5jdGlvbigpe2FsZXJ0KCJJbWFnZSBjYW5ub3QgYmUgbG9hZGVkLiBNYWtlIHN1cmUgdGhlIHBhdGggaXMgY29ycmVjdCBhbmQgaW1hZ2UgZXhpc3QuIiksZS5wcmV0dHlQaG90by5jbG9zZSgpfSxpbWdQcmVsb2FkZXIuc3JjPXBwX2ltYWdlc1tzZXRfcG9zaXRpb25dO2JyZWFrO2Nhc2UieW91dHViZSI6Zj1sKG1vdmllX3dpZHRoLG1vdmllX2hlaWdodCksbW92aWVfaWQ9bygidiIscHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0pLCIiPT1tb3ZpZV9pZCYmKG1vdmllX2lkPXBwX2ltYWdlc1tzZXRfcG9zaXRpb25dLnNwbGl0KCJ5b3V0dS5iZS8iKSxtb3ZpZV9pZD1tb3ZpZV9pZFsxXSxtb3ZpZV9pZC5pbmRleE9mKCI/Iik+MCYmKG1vdmllX2lkPW1vdmllX2lkLnN1YnN0cigwLG1vdmllX2lkLmluZGV4T2YoIj8iKSkpLG1vdmllX2lkLmluZGV4T2YoIiYiKT4wJiYobW92aWVfaWQ9bW92aWVfaWQuc3Vic3RyKDAsbW92aWVfaWQuaW5kZXhPZigiJiIpKSkpLG1vdmllPSJodHRwOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyIrbW92aWVfaWQsbW92aWUrPW8oInJlbCIscHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0pPyI/cmVsPSIrbygicmVsIixwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSk6Ij9yZWw9MSIsc2V0dGluZ3MuYXV0b3BsYXkmJihtb3ZpZSs9IiZhdXRvcGxheT0xIiksdG9JbmplY3Q9c2V0dGluZ3MuaWZyYW1lX21hcmt1cC5yZXBsYWNlKC97d2lkdGh9L2csZi53aWR0aCkucmVwbGFjZSgve2hlaWdodH0vZyxmLmhlaWdodCkucmVwbGFjZSgve3dtb2RlfS9nLHNldHRpbmdzLndtb2RlKS5yZXBsYWNlKC97cGF0aH0vZyxtb3ZpZSk7YnJlYWs7Y2FzZSJ2aW1lbyI6Zj1sKG1vdmllX3dpZHRoLG1vdmllX2hlaWdodCksbW92aWVfaWQ9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbl07dmFyIHQ9L2h0dHAocz8pOlwvXC8od3d3XC4pP3ZpbWVvLmNvbVwvKFxkKykvLGk9bW92aWVfaWQubWF0Y2godCk7bW92aWU9Imh0dHA6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLyIraVszXSsiP3RpdGxlPTAmYnlsaW5lPTAmcG9ydHJhaXQ9MCIsc2V0dGluZ3MuYXV0b3BsYXkmJihtb3ZpZSs9IiZhdXRvcGxheT0xOyIpLHZpbWVvX3dpZHRoPWYud2lkdGgrIi9lbWJlZC8/bW9vZ193aWR0aD0iK2Yud2lkdGgsdG9JbmplY3Q9c2V0dGluZ3MuaWZyYW1lX21hcmt1cC5yZXBsYWNlKC97d2lkdGh9L2csdmltZW9fd2lkdGgpLnJlcGxhY2UoL3toZWlnaHR9L2csZi5oZWlnaHQpLnJlcGxhY2UoL3twYXRofS9nLG1vdmllKTticmVhaztjYXNlInF1aWNrdGltZSI6Zj1sKG1vdmllX3dpZHRoLG1vdmllX2hlaWdodCksZi5oZWlnaHQrPTE1LGYuY29udGVudEhlaWdodCs9MTUsZi5jb250YWluZXJIZWlnaHQrPTE1LHRvSW5qZWN0PXNldHRpbmdzLnF1aWNrdGltZV9tYXJrdXAucmVwbGFjZSgve3dpZHRofS9nLGYud2lkdGgpLnJlcGxhY2UoL3toZWlnaHR9L2csZi5oZWlnaHQpLnJlcGxhY2UoL3t3bW9kZX0vZyxzZXR0aW5ncy53bW9kZSkucmVwbGFjZSgve3BhdGh9L2cscHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0pLnJlcGxhY2UoL3thdXRvcGxheX0vZyxzZXR0aW5ncy5hdXRvcGxheSk7YnJlYWs7Y2FzZSJmbGFzaCI6Zj1sKG1vdmllX3dpZHRoLG1vdmllX2hlaWdodCksZmxhc2hfdmFycz1wcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSxmbGFzaF92YXJzPWZsYXNoX3ZhcnMuc3Vic3RyaW5nKHBwX2ltYWdlc1tzZXRfcG9zaXRpb25dLmluZGV4T2YoImZsYXNodmFycyIpKzEwLHBwX2ltYWdlc1tzZXRfcG9zaXRpb25dLmxlbmd0aCksZmlsZW5hbWU9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0sZmlsZW5hbWU9ZmlsZW5hbWUuc3Vic3RyaW5nKDAsZmlsZW5hbWUuaW5kZXhPZigiPyIpKSx0b0luamVjdD1zZXR0aW5ncy5mbGFzaF9tYXJrdXAucmVwbGFjZSgve3dpZHRofS9nLGYud2lkdGgpLnJlcGxhY2UoL3toZWlnaHR9L2csZi5oZWlnaHQpLnJlcGxhY2UoL3t3bW9kZX0vZyxzZXR0aW5ncy53bW9kZSkucmVwbGFjZSgve3BhdGh9L2csZmlsZW5hbWUrIj8iK2ZsYXNoX3ZhcnMpO2JyZWFrO2Nhc2UiaWZyYW1lIjpmPWwobW92aWVfd2lkdGgsbW92aWVfaGVpZ2h0KSxmcmFtZV91cmw9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0sZnJhbWVfdXJsPWZyYW1lX3VybC5zdWJzdHIoMCxmcmFtZV91cmwuaW5kZXhPZigiaWZyYW1lIiktMSksdG9JbmplY3Q9c2V0dGluZ3MuaWZyYW1lX21hcmt1cC5yZXBsYWNlKC97d2lkdGh9L2csZi53aWR0aCkucmVwbGFjZSgve2hlaWdodH0vZyxmLmhlaWdodCkucmVwbGFjZSgve3BhdGh9L2csZnJhbWVfdXJsKTticmVhaztjYXNlImFqYXgiOmRvcmVzaXplPSExLGY9bChtb3ZpZV93aWR0aCxtb3ZpZV9oZWlnaHQpLGRvcmVzaXplPSEwLHNraXBJbmplY3Rpb249ITAsZS5nZXQocHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0sZnVuY3Rpb24oZSl7dG9JbmplY3Q9c2V0dGluZ3MuaW5saW5lX21hcmt1cC5yZXBsYWNlKC97Y29udGVudH0vZyxlKSwkcHBfcGljX2hvbGRlci5maW5kKCIjcHBfZnVsbF9yZXMiKVswXS5pbm5lckhUTUw9dG9JbmplY3QscygpfSk7YnJlYWs7Y2FzZSJjdXN0b20iOmY9bChtb3ZpZV93aWR0aCxtb3ZpZV9oZWlnaHQpLHRvSW5qZWN0PXNldHRpbmdzLmN1c3RvbV9tYXJrdXA7YnJlYWs7Y2FzZSJpbmxpbmUiOm15Q2xvbmU9ZShwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSkuY2xvbmUoKS5hcHBlbmQoJzxiciBjbGVhcj0iYWxsIiAvPicpLmNzcyh7d2lkdGg6c2V0dGluZ3MuZGVmYXVsdF93aWR0aH0pLndyYXBJbm5lcignPGRpdiBpZD0icHBfZnVsbF9yZXMiPjxkaXYgY2xhc3M9InBwX2lubGluZSI+PC9kaXY+PC9kaXY+JykuYXBwZW5kVG8oZSgiYm9keSIpKS5zaG93KCksZG9yZXNpemU9ITEsZj1sKGUobXlDbG9uZSkud2lkdGgoKSxlKG15Q2xvbmUpLmhlaWdodCgpKSxkb3Jlc2l6ZT0hMCxlKG15Q2xvbmUpLnJlbW92ZSgpLHRvSW5qZWN0PXNldHRpbmdzLmlubGluZV9tYXJrdXAucmVwbGFjZSgve2NvbnRlbnR9L2csZShwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSkuaHRtbCgpKX1pbWdQcmVsb2FkZXJ8fHNraXBJbmplY3Rpb258fCgkcHBfcGljX2hvbGRlci5maW5kKCIjcHBfZnVsbF9yZXMiKVswXS5pbm5lckhUTUw9dG9JbmplY3QscygpKX0pLCExfSxlLnByZXR0eVBob3RvLmNoYW5nZVBhZ2U9ZnVuY3Rpb24odCl7Y3VycmVudEdhbGxlcnlQYWdlPTAsInByZXZpb3VzIj09dD8oc2V0X3Bvc2l0aW9uLS0sc2V0X3Bvc2l0aW9uPDAmJihzZXRfcG9zaXRpb249ZShwcF9pbWFnZXMpLnNpemUoKS0xKSk6Im5leHQiPT10PyhzZXRfcG9zaXRpb24rKyxzZXRfcG9zaXRpb24+ZShwcF9pbWFnZXMpLnNpemUoKS0xJiYoc2V0X3Bvc2l0aW9uPTApKTpzZXRfcG9zaXRpb249dCxyZWxfaW5kZXg9c2V0X3Bvc2l0aW9uLGRvcmVzaXplfHwoZG9yZXNpemU9ITApLHNldHRpbmdzLmFsbG93X2V4cGFuZCYmZSgiLnBwX2NvbnRyYWN0IikucmVtb3ZlQ2xhc3MoInBwX2NvbnRyYWN0IikuYWRkQ2xhc3MoInBwX2V4cGFuZCIpLG4oZnVuY3Rpb24oKXtlLnByZXR0eVBob3RvLm9wZW4oKX0pfSxlLnByZXR0eVBob3RvLmNoYW5nZUdhbGxlcnlQYWdlPWZ1bmN0aW9uKGUpeyJuZXh0Ij09ZT8oY3VycmVudEdhbGxlcnlQYWdlKyssY3VycmVudEdhbGxlcnlQYWdlPnRvdGFsUGFnZSYmKGN1cnJlbnRHYWxsZXJ5UGFnZT0wKSk6InByZXZpb3VzIj09ZT8oY3VycmVudEdhbGxlcnlQYWdlLS0sY3VycmVudEdhbGxlcnlQYWdlPDAmJihjdXJyZW50R2FsbGVyeVBhZ2U9dG90YWxQYWdlKSk6Y3VycmVudEdhbGxlcnlQYWdlPWUsc2xpZGVfc3BlZWQ9Im5leHQiPT1lfHwicHJldmlvdXMiPT1lP3NldHRpbmdzLmFuaW1hdGlvbl9zcGVlZDowLHNsaWRlX3RvPWN1cnJlbnRHYWxsZXJ5UGFnZSppdGVtc1BlclBhZ2UqaXRlbVdpZHRoLCRwcF9nYWxsZXJ5LmZpbmQoInVsIikuYW5pbWF0ZSh7bGVmdDotc2xpZGVfdG99LHNsaWRlX3NwZWVkKX0sZS5wcmV0dHlQaG90by5zdGFydFNsaWRlc2hvdz1mdW5jdGlvbigpeyJ1bmRlZmluZWQiPT10eXBlb2YgUD8oJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX3BsYXkiKS51bmJpbmQoImNsaWNrIikucmVtb3ZlQ2xhc3MoInBwX3BsYXkiKS5hZGRDbGFzcygicHBfcGF1c2UiKS5jbGljayhmdW5jdGlvbigpe3JldHVybiBlLnByZXR0eVBob3RvLnN0b3BTbGlkZXNob3coKSwhMX0pLFA9c2V0SW50ZXJ2YWwoZS5wcmV0dHlQaG90by5zdGFydFNsaWRlc2hvdyxzZXR0aW5ncy5zbGlkZXNob3cpKTplLnByZXR0eVBob3RvLmNoYW5nZVBhZ2UoIm5leHQiKX0sZS5wcmV0dHlQaG90by5zdG9wU2xpZGVzaG93PWZ1bmN0aW9uKCl7JHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX3BhdXNlIikudW5iaW5kKCJjbGljayIpLnJlbW92ZUNsYXNzKCJwcF9wYXVzZSIpLmFkZENsYXNzKCJwcF9wbGF5IikuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5zdGFydFNsaWRlc2hvdygpLCExfSksY2xlYXJJbnRlcnZhbChQKSxQPXZvaWQgMH0sZS5wcmV0dHlQaG90by5jbG9zZT1mdW5jdGlvbigpeyRwcF9vdmVybGF5LmlzKCI6YW5pbWF0ZWQiKXx8KGUucHJldHR5UGhvdG8uc3RvcFNsaWRlc2hvdygpLCRwcF9waWNfaG9sZGVyLnN0b3AoKS5maW5kKCJvYmplY3QsZW1iZWQiKS5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxlKCJkaXYucHBfcGljX2hvbGRlcixkaXYucHB0LC5wcF9mYWRlIikuZmFkZU91dChzZXR0aW5ncy5hbmltYXRpb25fc3BlZWQsZnVuY3Rpb24oKXtlKHRoaXMpLnJlbW92ZSgpfSksJHBwX292ZXJsYXkuZmFkZU91dChzZXR0aW5ncy5hbmltYXRpb25fc3BlZWQsZnVuY3Rpb24oKXtzZXR0aW5ncy5oaWRlZmxhc2gmJmUoIm9iamVjdCxlbWJlZCxpZnJhbWVbc3JjKj15b3V0dWJlXSxpZnJhbWVbc3JjKj12aW1lb10iKS5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIiksZSh0aGlzKS5yZW1vdmUoKSxlKHdpbmRvdykudW5iaW5kKCJzY3JvbGwucHJldHR5cGhvdG8iKSxwKCksc2V0dGluZ3MuY2FsbGJhY2soKSxkb3Jlc2l6ZT0hMCx2PSExLGRlbGV0ZSBzZXR0aW5nc30pKX0sIXBwX2FscmVhZHlJbml0aWFsaXplZCYmdCgpJiYocHBfYWxyZWFkeUluaXRpYWxpemVkPSEwLGhhc2hJbmRleD10KCksaGFzaFJlbD1oYXNoSW5kZXgsaGFzaEluZGV4PWhhc2hJbmRleC5zdWJzdHJpbmcoaGFzaEluZGV4LmluZGV4T2YoIi8iKSsxLGhhc2hJbmRleC5sZW5ndGgtMSksaGFzaFJlbD1oYXNoUmVsLnN1YnN0cmluZygwLGhhc2hSZWwuaW5kZXhPZigiLyIpKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZSgiYVsiK2EuaG9vaysiXj0nIitoYXNoUmVsKyInXTplcSgiK2hhc2hJbmRleCsiKSIpLnRyaWdnZXIoImNsaWNrIil9LDUwKSksdGhpcy51bmJpbmQoImNsaWNrLnByZXR0eXBob3RvIikuYmluZCgiY2xpY2sucHJldHR5cGhvdG8iLGUucHJldHR5UGhvdG8uaW5pdGlhbGl6ZSl9fShqUXVlcnkpO3ZhciBwcF9hbHJlYWR5SW5pdGlhbGl6ZWQ9ITE7DQoNCi8qDQogKiAgZXF1YWxIZWlnaHRzDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiQuZm4uZXF1YWxIZWlnaHRzPWZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD0wOyQodGhpcykuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5oZWlnaHQoKT50JiYodD0kKHRoaXMpLmhlaWdodCgpKX0pLGUmJk51bWJlci5wcm90b3R5cGUucHhUb0VtfHwodD10LnB4VG9FbSgpKSwkLmJyb3dzZXIubXNpZSYmNj09JC5icm93c2VyLnZlcnNpb24mJiQodGhpcykuY2hpbGRyZW4oKS5jc3Moe2hlaWdodDp0fSksJCh0aGlzKS5jaGlsZHJlbigpLmNzcyh7Im1pbi1oZWlnaHQiOnR9KX0pLHRoaXN9LCQuZm4uZXF1YWxXaWR0aHM9ZnVuY3Rpb24oZSl7cmV0dXJuICQodGhpcykuZWFjaChmdW5jdGlvbigpe3ZhciB0PTA7JCh0aGlzKS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLndpZHRoKCk+dCYmKHQ9JCh0aGlzKS53aWR0aCgpKX0pLGUmJk51bWJlci5wcm90b3R5cGUucHhUb0VtfHwodD10LnB4VG9FbSgpKSwkLmJyb3dzZXIubXNpZSYmNj09JC5icm93c2VyLnZlcnNpb24mJiQodGhpcykuY2hpbGRyZW4oKS5jc3Moe3dpZHRoOnR9KSwkKHRoaXMpLmNoaWxkcmVuKCkuY3NzKHsibWluLXdpZHRoIjp0fSl9KSx0aGlzfSxOdW1iZXIucHJvdG90eXBlLnB4VG9FbT1TdHJpbmcucHJvdG90eXBlLnB4VG9FbT1mdW5jdGlvbihlKXtlPWpRdWVyeS5leHRlbmQoe3Njb3BlOiJib2R5IixyZXZlcnNlOiExfSxlKTt2YXIgdCxpPSIiPT10aGlzPzA6cGFyc2VGbG9hdCh0aGlzKSxzPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3JldHVybiBzZWxmLmlubmVyV2lkdGh8fGUmJmUuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGh9O2lmKCJib2R5Ij09ZS5zY29wZSYmJC5icm93c2VyLm1zaWUmJihwYXJzZUZsb2F0KCQoImJvZHkiKS5jc3MoImZvbnQtc2l6ZSIpKS9zKCkpLnRvRml4ZWQoMSk+MCl7dmFyIHI9ZnVuY3Rpb24oKXtyZXR1cm4gMTYqKHBhcnNlRmxvYXQoJCgiYm9keSIpLmNzcygiZm9udC1zaXplIikpL3MoKSkudG9GaXhlZCgzKX07dD1yKCl9ZWxzZSB0PXBhcnNlRmxvYXQoalF1ZXJ5KGUuc2NvcGUpLmNzcygiZm9udC1zaXplIikpO3ZhciBvPTE9PWUucmV2ZXJzZT8oaSp0KS50b0ZpeGVkKDIpKyJweCI6KGkvdCkudG9GaXhlZCgyKSsiZW0iO3JldHVybiBvfTsNCg0KDQovKg0KICogIE1heGltYWdlIFNsaWRlcg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKg0KICogalF1ZXJ5IEN5Y2xlIFBsdWdpbiAod2l0aCBUcmFuc2l0aW9uIERlZmluaXRpb25zKQ0KICovCQkNCihmdW5jdGlvbigkKXt2YXIgdmVyPSIyLjk5IjtpZigkLnN1cHBvcnQ9PXVuZGVmaW5lZCl7JC5zdXBwb3J0PXtvcGFjaXR5OiEoJC5icm93c2VyLm1zaWUpfTt9ZnVuY3Rpb24gZGVidWcocyl7JC5mbi5jeWNsZS5kZWJ1ZyYmbG9nKHMpO31mdW5jdGlvbiBsb2coKXt3aW5kb3cuY29uc29sZSYmY29uc29sZS5sb2cmJmNvbnNvbGUubG9nKCJbY3ljbGVdICIrQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChhcmd1bWVudHMsIiAiKSk7fSQuZXhwclsiOiJdLnBhdXNlZD1mdW5jdGlvbihlbCl7cmV0dXJuIGVsLmN5Y2xlUGF1c2U7fTskLmZuLmN5Y2xlPWZ1bmN0aW9uKG9wdGlvbnMsYXJnMil7dmFyIG89e3M6dGhpcy5zZWxlY3RvcixjOnRoaXMuY29udGV4dH07aWYodGhpcy5sZW5ndGg9PT0wJiZvcHRpb25zIT0ic3RvcCIpe2lmKCEkLmlzUmVhZHkmJm8ucyl7bG9nKCJET00gbm90IHJlYWR5LCBxdWV1aW5nIHNsaWRlc2hvdyIpOyQoZnVuY3Rpb24oKXskKG8ucyxvLmMpLmN5Y2xlKG9wdGlvbnMsYXJnMik7fSk7cmV0dXJuIHRoaXM7fWxvZygidGVybWluYXRpbmc7IHplcm8gZWxlbWVudHMgZm91bmQgYnkgc2VsZWN0b3IiKygkLmlzUmVhZHk/IiI6IiAoRE9NIG5vdCByZWFkeSkiKSk7cmV0dXJuIHRoaXM7fXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgb3B0cz1oYW5kbGVBcmd1bWVudHModGhpcyxvcHRpb25zLGFyZzIpO2lmKG9wdHM9PT1mYWxzZSl7cmV0dXJuO31vcHRzLnVwZGF0ZUFjdGl2ZVBhZ2VyTGluaz1vcHRzLnVwZGF0ZUFjdGl2ZVBhZ2VyTGlua3x8JC5mbi5jeWNsZS51cGRhdGVBY3RpdmVQYWdlckxpbms7aWYodGhpcy5jeWNsZVRpbWVvdXQpe2NsZWFyVGltZW91dCh0aGlzLmN5Y2xlVGltZW91dCk7fXRoaXMuY3ljbGVUaW1lb3V0PXRoaXMuY3ljbGVQYXVzZT0wO3ZhciAkY29udD0kKHRoaXMpO3ZhciAkc2xpZGVzPW9wdHMuc2xpZGVFeHByPyQob3B0cy5zbGlkZUV4cHIsdGhpcyk6JGNvbnQuY2hpbGRyZW4oKTt2YXIgZWxzPSRzbGlkZXMuZ2V0KCk7aWYoZWxzLmxlbmd0aDwyKXtsb2coInRlcm1pbmF0aW5nOyB0b28gZmV3IHNsaWRlczogIitlbHMubGVuZ3RoKTtyZXR1cm47fXZhciBvcHRzMj1idWlsZE9wdGlvbnMoJGNvbnQsJHNsaWRlcyxlbHMsb3B0cyxvKTtpZihvcHRzMj09PWZhbHNlKXtyZXR1cm47fXZhciBzdGFydFRpbWU9b3B0czIuY29udGludW91cz8xMDpnZXRUaW1lb3V0KGVsc1tvcHRzMi5jdXJyU2xpZGVdLGVsc1tvcHRzMi5uZXh0U2xpZGVdLG9wdHMyLCFvcHRzMi5iYWNrd2FyZHMpO2lmKHN0YXJ0VGltZSl7c3RhcnRUaW1lKz0ob3B0czIuZGVsYXl8fDApO2lmKHN0YXJ0VGltZTwxMCl7c3RhcnRUaW1lPTEwO31kZWJ1ZygiZmlyc3QgdGltZW91dDogIitzdGFydFRpbWUpO3RoaXMuY3ljbGVUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtnbyhlbHMsb3B0czIsMCwhb3B0cy5iYWNrd2FyZHMpO30sc3RhcnRUaW1lKTt9fSk7fTtmdW5jdGlvbiBoYW5kbGVBcmd1bWVudHMoY29udCxvcHRpb25zLGFyZzIpe2lmKGNvbnQuY3ljbGVTdG9wPT11bmRlZmluZWQpe2NvbnQuY3ljbGVTdG9wPTA7fWlmKG9wdGlvbnM9PT11bmRlZmluZWR8fG9wdGlvbnM9PT1udWxsKXtvcHRpb25zPXt9O31pZihvcHRpb25zLmNvbnN0cnVjdG9yPT1TdHJpbmcpe3N3aXRjaChvcHRpb25zKXtjYXNlImRlc3Ryb3kiOmNhc2Uic3RvcCI6dmFyIG9wdHM9JChjb250KS5kYXRhKCJjeWNsZS5vcHRzIik7aWYoIW9wdHMpe3JldHVybiBmYWxzZTt9Y29udC5jeWNsZVN0b3ArKztpZihjb250LmN5Y2xlVGltZW91dCl7Y2xlYXJUaW1lb3V0KGNvbnQuY3ljbGVUaW1lb3V0KTt9Y29udC5jeWNsZVRpbWVvdXQ9MDskKGNvbnQpLnJlbW92ZURhdGEoImN5Y2xlLm9wdHMiKTtpZihvcHRpb25zPT0iZGVzdHJveSIpe2Rlc3Ryb3kob3B0cyk7fXJldHVybiBmYWxzZTtjYXNlInRvZ2dsZSI6Y29udC5jeWNsZVBhdXNlPShjb250LmN5Y2xlUGF1c2U9PT0xKT8wOjE7Y2hlY2tJbnN0YW50UmVzdW1lKGNvbnQuY3ljbGVQYXVzZSxhcmcyLGNvbnQpO3JldHVybiBmYWxzZTtjYXNlInBhdXNlIjpjb250LmN5Y2xlUGF1c2U9MTtyZXR1cm4gZmFsc2U7Y2FzZSJyZXN1bWUiOmNvbnQuY3ljbGVQYXVzZT0wO2NoZWNrSW5zdGFudFJlc3VtZShmYWxzZSxhcmcyLGNvbnQpO3JldHVybiBmYWxzZTtjYXNlInByZXYiOmNhc2UibmV4dCI6dmFyIG9wdHM9JChjb250KS5kYXRhKCJjeWNsZS5vcHRzIik7aWYoIW9wdHMpe2xvZygnb3B0aW9ucyBub3QgZm91bmQsICJwcmV2L25leHQiIGlnbm9yZWQnKTtyZXR1cm4gZmFsc2U7fSQuZm4uY3ljbGVbb3B0aW9uc10ob3B0cyk7cmV0dXJuIGZhbHNlO2RlZmF1bHQ6b3B0aW9ucz17Zng6b3B0aW9uc307fXJldHVybiBvcHRpb25zO31lbHNle2lmKG9wdGlvbnMuY29uc3RydWN0b3I9PU51bWJlcil7dmFyIG51bT1vcHRpb25zO29wdGlvbnM9JChjb250KS5kYXRhKCJjeWNsZS5vcHRzIik7aWYoIW9wdGlvbnMpe2xvZygib3B0aW9ucyBub3QgZm91bmQsIGNhbiBub3QgYWR2YW5jZSBzbGlkZSIpO3JldHVybiBmYWxzZTt9aWYobnVtPDB8fG51bT49b3B0aW9ucy5lbGVtZW50cy5sZW5ndGgpe2xvZygiaW52YWxpZCBzbGlkZSBpbmRleDogIitudW0pO3JldHVybiBmYWxzZTt9b3B0aW9ucy5uZXh0U2xpZGU9bnVtO2lmKGNvbnQuY3ljbGVUaW1lb3V0KXtjbGVhclRpbWVvdXQoY29udC5jeWNsZVRpbWVvdXQpO2NvbnQuY3ljbGVUaW1lb3V0PTA7fWlmKHR5cGVvZiBhcmcyPT0ic3RyaW5nIil7b3B0aW9ucy5vbmVUaW1lRng9YXJnMjt9Z28ob3B0aW9ucy5lbGVtZW50cyxvcHRpb25zLDEsbnVtPj1vcHRpb25zLmN1cnJTbGlkZSk7cmV0dXJuIGZhbHNlO319cmV0dXJuIG9wdGlvbnM7ZnVuY3Rpb24gY2hlY2tJbnN0YW50UmVzdW1lKGlzUGF1c2VkLGFyZzIsY29udCl7aWYoIWlzUGF1c2VkJiZhcmcyPT09dHJ1ZSl7dmFyIG9wdGlvbnM9JChjb250KS5kYXRhKCJjeWNsZS5vcHRzIik7aWYoIW9wdGlvbnMpe2xvZygib3B0aW9ucyBub3QgZm91bmQsIGNhbiBub3QgcmVzdW1lIik7cmV0dXJuIGZhbHNlO31pZihjb250LmN5Y2xlVGltZW91dCl7Y2xlYXJUaW1lb3V0KGNvbnQuY3ljbGVUaW1lb3V0KTtjb250LmN5Y2xlVGltZW91dD0wO31nbyhvcHRpb25zLmVsZW1lbnRzLG9wdGlvbnMsMSwhb3B0aW9ucy5iYWNrd2FyZHMpO319fWZ1bmN0aW9uIHJlbW92ZUZpbHRlcihlbCxvcHRzKXtpZighJC5zdXBwb3J0Lm9wYWNpdHkmJm9wdHMuY2xlYXJ0eXBlJiZlbC5zdHlsZS5maWx0ZXIpe3RyeXtlbC5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpO31jYXRjaChzbW90aGVyKXt9fX1mdW5jdGlvbiBkZXN0cm95KG9wdHMpe2lmKG9wdHMubmV4dCl7JChvcHRzLm5leHQpLnVuYmluZChvcHRzLnByZXZOZXh0RXZlbnQpO31pZihvcHRzLnByZXYpeyQob3B0cy5wcmV2KS51bmJpbmQob3B0cy5wcmV2TmV4dEV2ZW50KTt9aWYob3B0cy5wYWdlcnx8b3B0cy5wYWdlckFuY2hvckJ1aWxkZXIpeyQuZWFjaChvcHRzLnBhZ2VyQW5jaG9yc3x8W10sZnVuY3Rpb24oKXt0aGlzLnVuYmluZCgpLnJlbW92ZSgpO30pO31vcHRzLnBhZ2VyQW5jaG9ycz1udWxsO2lmKG9wdHMuZGVzdHJveSl7b3B0cy5kZXN0cm95KG9wdHMpO319ZnVuY3Rpb24gYnVpbGRPcHRpb25zKCRjb250LCRzbGlkZXMsZWxzLG9wdGlvbnMsbyl7dmFyIG9wdHM9JC5leHRlbmQoe30sJC5mbi5jeWNsZS5kZWZhdWx0cyxvcHRpb25zfHx7fSwkLm1ldGFkYXRhPyRjb250Lm1ldGFkYXRhKCk6JC5tZXRhPyRjb250LmRhdGEoKTp7fSk7aWYob3B0cy5hdXRvc3RvcCl7b3B0cy5jb3VudGRvd249b3B0cy5hdXRvc3RvcENvdW50fHxlbHMubGVuZ3RoO312YXIgY29udD0kY29udFswXTskY29udC5kYXRhKCJjeWNsZS5vcHRzIixvcHRzKTtvcHRzLiRjb250PSRjb250O29wdHMuc3RvcENvdW50PWNvbnQuY3ljbGVTdG9wO29wdHMuZWxlbWVudHM9ZWxzO29wdHMuYmVmb3JlPW9wdHMuYmVmb3JlP1tvcHRzLmJlZm9yZV06W107b3B0cy5hZnRlcj1vcHRzLmFmdGVyP1tvcHRzLmFmdGVyXTpbXTtpZighJC5zdXBwb3J0Lm9wYWNpdHkmJm9wdHMuY2xlYXJ0eXBlKXtvcHRzLmFmdGVyLnB1c2goZnVuY3Rpb24oKXtyZW1vdmVGaWx0ZXIodGhpcyxvcHRzKTt9KTt9aWYob3B0cy5jb250aW51b3VzKXtvcHRzLmFmdGVyLnB1c2goZnVuY3Rpb24oKXtnbyhlbHMsb3B0cywwLCFvcHRzLmJhY2t3YXJkcyk7fSk7fXNhdmVPcmlnaW5hbE9wdHMob3B0cyk7aWYoISQuc3VwcG9ydC5vcGFjaXR5JiZvcHRzLmNsZWFydHlwZSYmIW9wdHMuY2xlYXJ0eXBlTm9CZyl7Y2xlYXJUeXBlRml4KCRzbGlkZXMpO31pZigkY29udC5jc3MoInBvc2l0aW9uIik9PSJzdGF0aWMiKXskY29udC5jc3MoInBvc2l0aW9uIiwicmVsYXRpdmUiKTt9aWYob3B0cy53aWR0aCl7JGNvbnQud2lkdGgob3B0cy53aWR0aCk7fWlmKG9wdHMuaGVpZ2h0JiZvcHRzLmhlaWdodCE9ImF1dG8iKXskY29udC5oZWlnaHQob3B0cy5oZWlnaHQpO31pZihvcHRzLnN0YXJ0aW5nU2xpZGUpe29wdHMuc3RhcnRpbmdTbGlkZT1wYXJzZUludChvcHRzLnN0YXJ0aW5nU2xpZGUpO31lbHNle2lmKG9wdHMuYmFja3dhcmRzKXtvcHRzLnN0YXJ0aW5nU2xpZGU9ZWxzLmxlbmd0aC0xO319aWYob3B0cy5yYW5kb20pe29wdHMucmFuZG9tTWFwPVtdO2Zvcih2YXIgaT0wO2k8ZWxzLmxlbmd0aDtpKyspe29wdHMucmFuZG9tTWFwLnB1c2goaSk7fW9wdHMucmFuZG9tTWFwLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gTWF0aC5yYW5kb20oKS0wLjU7fSk7b3B0cy5yYW5kb21JbmRleD0xO29wdHMuc3RhcnRpbmdTbGlkZT1vcHRzLnJhbmRvbU1hcFsxXTt9ZWxzZXtpZihvcHRzLnN0YXJ0aW5nU2xpZGU+PWVscy5sZW5ndGgpe29wdHMuc3RhcnRpbmdTbGlkZT0wO319b3B0cy5jdXJyU2xpZGU9b3B0cy5zdGFydGluZ1NsaWRlfHwwO3ZhciBmaXJzdD1vcHRzLnN0YXJ0aW5nU2xpZGU7JHNsaWRlcy5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowfSkuaGlkZSgpLmVhY2goZnVuY3Rpb24oaSl7dmFyIHo7aWYob3B0cy5iYWNrd2FyZHMpe3o9Zmlyc3Q/aTw9Zmlyc3Q/ZWxzLmxlbmd0aCsoaS1maXJzdCk6Zmlyc3QtaTplbHMubGVuZ3RoLWk7fWVsc2V7ej1maXJzdD9pPj1maXJzdD9lbHMubGVuZ3RoLShpLWZpcnN0KTpmaXJzdC1pOmVscy5sZW5ndGgtaTt9JCh0aGlzKS5jc3MoInotaW5kZXgiLHopO30pOyQoZWxzW2ZpcnN0XSkuY3NzKCJvcGFjaXR5IiwxKS5zaG93KCk7cmVtb3ZlRmlsdGVyKGVsc1tmaXJzdF0sb3B0cyk7aWYob3B0cy5maXQmJm9wdHMud2lkdGgpeyRzbGlkZXMud2lkdGgob3B0cy53aWR0aCk7fWlmKG9wdHMuZml0JiZvcHRzLmhlaWdodCYmb3B0cy5oZWlnaHQhPSJhdXRvIil7JHNsaWRlcy5oZWlnaHQob3B0cy5oZWlnaHQpO312YXIgcmVzaGFwZT1vcHRzLmNvbnRhaW5lclJlc2l6ZSYmISRjb250LmlubmVySGVpZ2h0KCk7aWYocmVzaGFwZSl7dmFyIG1heHc9MCxtYXhoPTA7Zm9yKHZhciBqPTA7ajxlbHMubGVuZ3RoO2orKyl7dmFyICRlPSQoZWxzW2pdKSxlPSRlWzBdLHc9JGUub3V0ZXJXaWR0aCgpLGg9JGUub3V0ZXJIZWlnaHQoKTtpZighdyl7dz1lLm9mZnNldFdpZHRofHxlLndpZHRofHwkZS5hdHRyKCJ3aWR0aCIpO31pZighaCl7aD1lLm9mZnNldEhlaWdodHx8ZS5oZWlnaHR8fCRlLmF0dHIoImhlaWdodCIpO31tYXh3PXc+bWF4dz93Om1heHc7bWF4aD1oPm1heGg/aDptYXhoO31pZihtYXh3PjAmJm1heGg+MCl7JGNvbnQuY3NzKHt3aWR0aDptYXh3KyJweCIsaGVpZ2h0Om1heGgrInB4In0pO319aWYob3B0cy5wYXVzZSl7JGNvbnQuaG92ZXIoZnVuY3Rpb24oKXt0aGlzLmN5Y2xlUGF1c2UrKzt9LGZ1bmN0aW9uKCl7dGhpcy5jeWNsZVBhdXNlLS07fSk7fWlmKHN1cHBvcnRNdWx0aVRyYW5zaXRpb25zKG9wdHMpPT09ZmFsc2Upe3JldHVybiBmYWxzZTt9dmFyIHJlcXVldWU9ZmFsc2U7b3B0aW9ucy5yZXF1ZXVlQXR0ZW1wdHM9b3B0aW9ucy5yZXF1ZXVlQXR0ZW1wdHN8fDA7JHNsaWRlcy5lYWNoKGZ1bmN0aW9uKCl7dmFyICRlbD0kKHRoaXMpO3RoaXMuY3ljbGVIPShvcHRzLmZpdCYmb3B0cy5oZWlnaHQpP29wdHMuaGVpZ2h0OigkZWwuaGVpZ2h0KCl8fHRoaXMub2Zmc2V0SGVpZ2h0fHx0aGlzLmhlaWdodHx8JGVsLmF0dHIoImhlaWdodCIpfHwwKTt0aGlzLmN5Y2xlVz0ob3B0cy5maXQmJm9wdHMud2lkdGgpP29wdHMud2lkdGg6KCRlbC53aWR0aCgpfHx0aGlzLm9mZnNldFdpZHRofHx0aGlzLndpZHRofHwkZWwuYXR0cigid2lkdGgiKXx8MCk7aWYoJGVsLmlzKCJ0aHVtYiIpKXt2YXIgbG9hZGluZ0lFPSgkLmJyb3dzZXIubXNpZSYmdGhpcy5jeWNsZVc9PTI4JiZ0aGlzLmN5Y2xlSD09MzAmJiF0aGlzLmNvbXBsZXRlKTt2YXIgbG9hZGluZ0ZGPSgkLmJyb3dzZXIubW96aWxsYSYmdGhpcy5jeWNsZVc9PTM0JiZ0aGlzLmN5Y2xlSD09MTkmJiF0aGlzLmNvbXBsZXRlKTt2YXIgbG9hZGluZ09wPSgkLmJyb3dzZXIub3BlcmEmJigodGhpcy5jeWNsZVc9PTQyJiZ0aGlzLmN5Y2xlSD09MTkpfHwodGhpcy5jeWNsZVc9PTM3JiZ0aGlzLmN5Y2xlSD09MTcpKSYmIXRoaXMuY29tcGxldGUpO3ZhciBsb2FkaW5nT3RoZXI9KHRoaXMuY3ljbGVIPT0wJiZ0aGlzLmN5Y2xlVz09MCYmIXRoaXMuY29tcGxldGUpO2lmKGxvYWRpbmdJRXx8bG9hZGluZ0ZGfHxsb2FkaW5nT3B8fGxvYWRpbmdPdGhlcil7aWYoby5zJiZvcHRzLnJlcXVldWVPbkltYWdlTm90TG9hZGVkJiYrK29wdGlvbnMucmVxdWV1ZUF0dGVtcHRzPDEwMCl7bG9nKG9wdGlvbnMucmVxdWV1ZUF0dGVtcHRzLCIgLSBpbWcgc2xpZGUgbm90IGxvYWRlZCwgcmVxdWV1aW5nIHNsaWRlc2hvdzogIix0aGlzLnNyYyx0aGlzLmN5Y2xlVyx0aGlzLmN5Y2xlSCk7c2V0VGltZW91dChmdW5jdGlvbigpeyQoby5zLG8uYykuY3ljbGUob3B0aW9ucyk7fSxvcHRzLnJlcXVldWVUaW1lb3V0KTtyZXF1ZXVlPXRydWU7cmV0dXJuIGZhbHNlO31lbHNle2xvZygiY291bGQgbm90IGRldGVybWluZSBzaXplIG9mIGltYWdlOiAiK3RoaXMuc3JjLHRoaXMuY3ljbGVXLHRoaXMuY3ljbGVIKTt9fX1yZXR1cm4gdHJ1ZTt9KTtpZihyZXF1ZXVlKXtyZXR1cm4gZmFsc2U7fW9wdHMuY3NzQmVmb3JlPW9wdHMuY3NzQmVmb3JlfHx7fTtvcHRzLmNzc0FmdGVyPW9wdHMuY3NzQWZ0ZXJ8fHt9O29wdHMuY3NzRmlyc3Q9b3B0cy5jc3NGaXJzdHx8e307b3B0cy5hbmltSW49b3B0cy5hbmltSW58fHt9O29wdHMuYW5pbU91dD1vcHRzLmFuaW1PdXR8fHt9OyRzbGlkZXMubm90KCI6ZXEoIitmaXJzdCsiKSIpLmNzcyhvcHRzLmNzc0JlZm9yZSk7JCgkc2xpZGVzW2ZpcnN0XSkuY3NzKG9wdHMuY3NzRmlyc3QpO2lmKG9wdHMudGltZW91dCl7b3B0cy50aW1lb3V0PXBhcnNlSW50KG9wdHMudGltZW91dCk7aWYob3B0cy5zcGVlZC5jb25zdHJ1Y3Rvcj09U3RyaW5nKXtvcHRzLnNwZWVkPSQuZnguc3BlZWRzW29wdHMuc3BlZWRdfHxwYXJzZUludChvcHRzLnNwZWVkKTt9aWYoIW9wdHMuc3luYyl7b3B0cy5zcGVlZD1vcHRzLnNwZWVkLzI7fXZhciBidWZmZXI9b3B0cy5meD09Im5vbmUiPzA6b3B0cy5meD09InNodWZmbGUiPzUwMDoyNTA7d2hpbGUoKG9wdHMudGltZW91dC1vcHRzLnNwZWVkKTxidWZmZXIpe29wdHMudGltZW91dCs9b3B0cy5zcGVlZDt9fWlmKG9wdHMuZWFzaW5nKXtvcHRzLmVhc2VJbj1vcHRzLmVhc2VPdXQ9b3B0cy5lYXNpbmc7fWlmKCFvcHRzLnNwZWVkSW4pe29wdHMuc3BlZWRJbj1vcHRzLnNwZWVkO31pZighb3B0cy5zcGVlZE91dCl7b3B0cy5zcGVlZE91dD1vcHRzLnNwZWVkO31vcHRzLnNsaWRlQ291bnQ9ZWxzLmxlbmd0aDtvcHRzLmN1cnJTbGlkZT1vcHRzLmxhc3RTbGlkZT1maXJzdDtpZihvcHRzLnJhbmRvbSl7aWYoKytvcHRzLnJhbmRvbUluZGV4PT1lbHMubGVuZ3RoKXtvcHRzLnJhbmRvbUluZGV4PTA7fW9wdHMubmV4dFNsaWRlPW9wdHMucmFuZG9tTWFwW29wdHMucmFuZG9tSW5kZXhdO31lbHNle2lmKG9wdHMuYmFja3dhcmRzKXtvcHRzLm5leHRTbGlkZT1vcHRzLnN0YXJ0aW5nU2xpZGU9PTA/KGVscy5sZW5ndGgtMSk6b3B0cy5zdGFydGluZ1NsaWRlLTE7fWVsc2V7b3B0cy5uZXh0U2xpZGU9b3B0cy5zdGFydGluZ1NsaWRlPj0oZWxzLmxlbmd0aC0xKT8wOm9wdHMuc3RhcnRpbmdTbGlkZSsxO319aWYoIW9wdHMubXVsdGlGeCl7dmFyIGluaXQ9JC5mbi5jeWNsZS50cmFuc2l0aW9uc1tvcHRzLmZ4XTtpZigkLmlzRnVuY3Rpb24oaW5pdCkpe2luaXQoJGNvbnQsJHNsaWRlcyxvcHRzKTt9ZWxzZXtpZihvcHRzLmZ4IT0iY3VzdG9tIiYmIW9wdHMubXVsdGlGeCl7bG9nKCJ1bmtub3duIHRyYW5zaXRpb246ICIrb3B0cy5meCwiOyBzbGlkZXNob3cgdGVybWluYXRpbmciKTtyZXR1cm4gZmFsc2U7fX19dmFyIGUwPSRzbGlkZXNbZmlyc3RdO2lmKG9wdHMuYmVmb3JlLmxlbmd0aCl7b3B0cy5iZWZvcmVbMF0uYXBwbHkoZTAsW2UwLGUwLG9wdHMsdHJ1ZV0pO31pZihvcHRzLmFmdGVyLmxlbmd0aCl7b3B0cy5hZnRlclswXS5hcHBseShlMCxbZTAsZTAsb3B0cyx0cnVlXSk7fWlmKG9wdHMubmV4dCl7JChvcHRzLm5leHQpLmJpbmQob3B0cy5wcmV2TmV4dEV2ZW50LGZ1bmN0aW9uKCl7cmV0dXJuIGFkdmFuY2Uob3B0cywxKTt9KTt9aWYob3B0cy5wcmV2KXskKG9wdHMucHJldikuYmluZChvcHRzLnByZXZOZXh0RXZlbnQsZnVuY3Rpb24oKXtyZXR1cm4gYWR2YW5jZShvcHRzLDApO30pO31pZihvcHRzLnBhZ2VyfHxvcHRzLnBhZ2VyQW5jaG9yQnVpbGRlcil7YnVpbGRQYWdlcihlbHMsb3B0cyk7fWV4cG9zZUFkZFNsaWRlKG9wdHMsZWxzKTtyZXR1cm4gb3B0czt9ZnVuY3Rpb24gc2F2ZU9yaWdpbmFsT3B0cyhvcHRzKXtvcHRzLm9yaWdpbmFsPXtiZWZvcmU6W10sYWZ0ZXI6W119O29wdHMub3JpZ2luYWwuY3NzQmVmb3JlPSQuZXh0ZW5kKHt9LG9wdHMuY3NzQmVmb3JlKTtvcHRzLm9yaWdpbmFsLmNzc0FmdGVyPSQuZXh0ZW5kKHt9LG9wdHMuY3NzQWZ0ZXIpO29wdHMub3JpZ2luYWwuYW5pbUluPSQuZXh0ZW5kKHt9LG9wdHMuYW5pbUluKTtvcHRzLm9yaWdpbmFsLmFuaW1PdXQ9JC5leHRlbmQoe30sb3B0cy5hbmltT3V0KTskLmVhY2gob3B0cy5iZWZvcmUsZnVuY3Rpb24oKXtvcHRzLm9yaWdpbmFsLmJlZm9yZS5wdXNoKHRoaXMpO30pOyQuZWFjaChvcHRzLmFmdGVyLGZ1bmN0aW9uKCl7b3B0cy5vcmlnaW5hbC5hZnRlci5wdXNoKHRoaXMpO30pO31mdW5jdGlvbiBzdXBwb3J0TXVsdGlUcmFuc2l0aW9ucyhvcHRzKXt2YXIgaSx0eCx0eHM9JC5mbi5jeWNsZS50cmFuc2l0aW9ucztpZihvcHRzLmZ4LmluZGV4T2YoIiwiKT4wKXtvcHRzLm11bHRpRng9dHJ1ZTtvcHRzLmZ4cz1vcHRzLmZ4LnJlcGxhY2UoL1xzKi9nLCIiKS5zcGxpdCgiLCIpO2ZvcihpPTA7aTxvcHRzLmZ4cy5sZW5ndGg7aSsrKXt2YXIgZng9b3B0cy5meHNbaV07dHg9dHhzW2Z4XTtpZighdHh8fCF0eHMuaGFzT3duUHJvcGVydHkoZngpfHwhJC5pc0Z1bmN0aW9uKHR4KSl7bG9nKCJkaXNjYXJkaW5nIHVua25vd24gdHJhbnNpdGlvbjogIixmeCk7b3B0cy5meHMuc3BsaWNlKGksMSk7aS0tO319aWYoIW9wdHMuZnhzLmxlbmd0aCl7bG9nKCJObyB2YWxpZCB0cmFuc2l0aW9ucyBuYW1lZDsgc2xpZGVzaG93IHRlcm1pbmF0aW5nLiIpO3JldHVybiBmYWxzZTt9fWVsc2V7aWYob3B0cy5meD09ImFsbCIpe29wdHMubXVsdGlGeD10cnVlO29wdHMuZnhzPVtdO2ZvcihwIGluIHR4cyl7dHg9dHhzW3BdO2lmKHR4cy5oYXNPd25Qcm9wZXJ0eShwKSYmJC5pc0Z1bmN0aW9uKHR4KSl7b3B0cy5meHMucHVzaChwKTt9fX19aWYob3B0cy5tdWx0aUZ4JiZvcHRzLnJhbmRvbWl6ZUVmZmVjdHMpe3ZhciByMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjApKzMwO2ZvcihpPTA7aTxyMTtpKyspe3ZhciByMj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqb3B0cy5meHMubGVuZ3RoKTtvcHRzLmZ4cy5wdXNoKG9wdHMuZnhzLnNwbGljZShyMiwxKVswXSk7fWRlYnVnKCJyYW5kb21pemVkIGZ4IHNlcXVlbmNlOiAiLG9wdHMuZnhzKTt9cmV0dXJuIHRydWU7fWZ1bmN0aW9uIGV4cG9zZUFkZFNsaWRlKG9wdHMsZWxzKXtvcHRzLmFkZFNsaWRlPWZ1bmN0aW9uKG5ld1NsaWRlLHByZXBlbmQpe3ZhciAkcz0kKG5ld1NsaWRlKSxzPSRzWzBdO2lmKCFvcHRzLmF1dG9zdG9wQ291bnQpe29wdHMuY291bnRkb3duKys7fWVsc1twcmVwZW5kPyJ1bnNoaWZ0IjoicHVzaCJdKHMpO2lmKG9wdHMuZWxzKXtvcHRzLmVsc1twcmVwZW5kPyJ1bnNoaWZ0IjoicHVzaCJdKHMpO31vcHRzLnNsaWRlQ291bnQ9ZWxzLmxlbmd0aDskcy5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTskc1twcmVwZW5kPyJwcmVwZW5kVG8iOiJhcHBlbmRUbyJdKG9wdHMuJGNvbnQpO2lmKHByZXBlbmQpe29wdHMuY3VyclNsaWRlKys7b3B0cy5uZXh0U2xpZGUrKzt9aWYoISQuc3VwcG9ydC5vcGFjaXR5JiZvcHRzLmNsZWFydHlwZSYmIW9wdHMuY2xlYXJ0eXBlTm9CZyl7Y2xlYXJUeXBlRml4KCRzKTt9aWYob3B0cy5maXQmJm9wdHMud2lkdGgpeyRzLndpZHRoKG9wdHMud2lkdGgpO31pZihvcHRzLmZpdCYmb3B0cy5oZWlnaHQmJm9wdHMuaGVpZ2h0IT0iYXV0byIpeyRzLmhlaWdodChvcHRzLmhlaWdodCk7fXMuY3ljbGVIPShvcHRzLmZpdCYmb3B0cy5oZWlnaHQpP29wdHMuaGVpZ2h0OiRzLmhlaWdodCgpO3MuY3ljbGVXPShvcHRzLmZpdCYmb3B0cy53aWR0aCk/b3B0cy53aWR0aDokcy53aWR0aCgpOyRzLmNzcyhvcHRzLmNzc0JlZm9yZSk7aWYob3B0cy5wYWdlcnx8b3B0cy5wYWdlckFuY2hvckJ1aWxkZXIpeyQuZm4uY3ljbGUuY3JlYXRlUGFnZXJBbmNob3IoZWxzLmxlbmd0aC0xLHMsJChvcHRzLnBhZ2VyKSxlbHMsb3B0cyk7fWlmKCQuaXNGdW5jdGlvbihvcHRzLm9uQWRkU2xpZGUpKXtvcHRzLm9uQWRkU2xpZGUoJHMpO31lbHNleyRzLmhpZGUoKTt9fTt9JC5mbi5jeWNsZS5yZXNldFN0YXRlPWZ1bmN0aW9uKG9wdHMsZngpe2Z4PWZ4fHxvcHRzLmZ4O29wdHMuYmVmb3JlPVtdO29wdHMuYWZ0ZXI9W107b3B0cy5jc3NCZWZvcmU9JC5leHRlbmQoe30sb3B0cy5vcmlnaW5hbC5jc3NCZWZvcmUpO29wdHMuY3NzQWZ0ZXI9JC5leHRlbmQoe30sb3B0cy5vcmlnaW5hbC5jc3NBZnRlcik7b3B0cy5hbmltSW49JC5leHRlbmQoe30sb3B0cy5vcmlnaW5hbC5hbmltSW4pO29wdHMuYW5pbU91dD0kLmV4dGVuZCh7fSxvcHRzLm9yaWdpbmFsLmFuaW1PdXQpO29wdHMuZnhGbj1udWxsOyQuZWFjaChvcHRzLm9yaWdpbmFsLmJlZm9yZSxmdW5jdGlvbigpe29wdHMuYmVmb3JlLnB1c2godGhpcyk7fSk7JC5lYWNoKG9wdHMub3JpZ2luYWwuYWZ0ZXIsZnVuY3Rpb24oKXtvcHRzLmFmdGVyLnB1c2godGhpcyk7fSk7dmFyIGluaXQ9JC5mbi5jeWNsZS50cmFuc2l0aW9uc1tmeF07aWYoJC5pc0Z1bmN0aW9uKGluaXQpKXtpbml0KG9wdHMuJGNvbnQsJChvcHRzLmVsZW1lbnRzKSxvcHRzKTt9fTtmdW5jdGlvbiBnbyhlbHMsb3B0cyxtYW51YWwsZndkKXtpZihtYW51YWwmJm9wdHMuYnVzeSYmb3B0cy5tYW51YWxUcnVtcCl7ZGVidWcoIm1hbnVhbFRydW1wIGluIGdvKCksIHN0b3BwaW5nIGFjdGl2ZSB0cmFuc2l0aW9uIik7JChlbHMpLnN0b3AodHJ1ZSx0cnVlKTtvcHRzLmJ1c3k9MDt9aWYob3B0cy5idXN5KXtkZWJ1ZygidHJhbnNpdGlvbiBhY3RpdmUsIGlnbm9yaW5nIG5ldyB0eCByZXF1ZXN0Iik7cmV0dXJuO312YXIgcD1vcHRzLiRjb250WzBdLGN1cnI9ZWxzW29wdHMuY3VyclNsaWRlXSxuZXh0PWVsc1tvcHRzLm5leHRTbGlkZV07aWYocC5jeWNsZVN0b3AhPW9wdHMuc3RvcENvdW50fHxwLmN5Y2xlVGltZW91dD09PTAmJiFtYW51YWwpe3JldHVybjt9aWYoIW1hbnVhbCYmIXAuY3ljbGVQYXVzZSYmIW9wdHMuYm91bmNlJiYoKG9wdHMuYXV0b3N0b3AmJigtLW9wdHMuY291bnRkb3duPD0wKSl8fChvcHRzLm5vd3JhcCYmIW9wdHMucmFuZG9tJiZvcHRzLm5leHRTbGlkZTxvcHRzLmN1cnJTbGlkZSkpKXtpZihvcHRzLmVuZCl7b3B0cy5lbmQob3B0cyk7fXJldHVybjt9dmFyIGNoYW5nZWQ9ZmFsc2U7aWYoKG1hbnVhbHx8IXAuY3ljbGVQYXVzZSkmJihvcHRzLm5leHRTbGlkZSE9b3B0cy5jdXJyU2xpZGUpKXtjaGFuZ2VkPXRydWU7dmFyIGZ4PW9wdHMuZng7Y3Vyci5jeWNsZUg9Y3Vyci5jeWNsZUh8fCQoY3VycikuaGVpZ2h0KCk7Y3Vyci5jeWNsZVc9Y3Vyci5jeWNsZVd8fCQoY3Vycikud2lkdGgoKTtuZXh0LmN5Y2xlSD1uZXh0LmN5Y2xlSHx8JChuZXh0KS5oZWlnaHQoKTtuZXh0LmN5Y2xlVz1uZXh0LmN5Y2xlV3x8JChuZXh0KS53aWR0aCgpO2lmKG9wdHMubXVsdGlGeCl7aWYob3B0cy5sYXN0Rng9PXVuZGVmaW5lZHx8KytvcHRzLmxhc3RGeD49b3B0cy5meHMubGVuZ3RoKXtvcHRzLmxhc3RGeD0wO31meD1vcHRzLmZ4c1tvcHRzLmxhc3RGeF07b3B0cy5jdXJyRng9Zng7fWlmKG9wdHMub25lVGltZUZ4KXtmeD1vcHRzLm9uZVRpbWVGeDtvcHRzLm9uZVRpbWVGeD1udWxsO30kLmZuLmN5Y2xlLnJlc2V0U3RhdGUob3B0cyxmeCk7aWYob3B0cy5iZWZvcmUubGVuZ3RoKXskLmVhY2gob3B0cy5iZWZvcmUsZnVuY3Rpb24oaSxvKXtpZihwLmN5Y2xlU3RvcCE9b3B0cy5zdG9wQ291bnQpe3JldHVybjt9by5hcHBseShuZXh0LFtjdXJyLG5leHQsb3B0cyxmd2RdKTt9KTt9dmFyIGFmdGVyPWZ1bmN0aW9uKCl7b3B0cy5idXN5PTA7JC5lYWNoKG9wdHMuYWZ0ZXIsZnVuY3Rpb24oaSxvKXtpZihwLmN5Y2xlU3RvcCE9b3B0cy5zdG9wQ291bnQpe3JldHVybjt9by5hcHBseShuZXh0LFtjdXJyLG5leHQsb3B0cyxmd2RdKTt9KTt9O2RlYnVnKCJ0eCBmaXJpbmcoIitmeCsiKTsgY3VyclNsaWRlOiAiK29wdHMuY3VyclNsaWRlKyI7IG5leHRTbGlkZTogIitvcHRzLm5leHRTbGlkZSk7b3B0cy5idXN5PTE7aWYob3B0cy5meEZuKXtvcHRzLmZ4Rm4oY3VycixuZXh0LG9wdHMsYWZ0ZXIsZndkLG1hbnVhbCYmb3B0cy5mYXN0T25FdmVudCk7fWVsc2V7aWYoJC5pc0Z1bmN0aW9uKCQuZm4uY3ljbGVbb3B0cy5meF0pKXskLmZuLmN5Y2xlW29wdHMuZnhdKGN1cnIsbmV4dCxvcHRzLGFmdGVyLGZ3ZCxtYW51YWwmJm9wdHMuZmFzdE9uRXZlbnQpO31lbHNleyQuZm4uY3ljbGUuY3VzdG9tKGN1cnIsbmV4dCxvcHRzLGFmdGVyLGZ3ZCxtYW51YWwmJm9wdHMuZmFzdE9uRXZlbnQpO319fWlmKGNoYW5nZWR8fG9wdHMubmV4dFNsaWRlPT1vcHRzLmN1cnJTbGlkZSl7b3B0cy5sYXN0U2xpZGU9b3B0cy5jdXJyU2xpZGU7aWYob3B0cy5yYW5kb20pe29wdHMuY3VyclNsaWRlPW9wdHMubmV4dFNsaWRlO2lmKCsrb3B0cy5yYW5kb21JbmRleD09ZWxzLmxlbmd0aCl7b3B0cy5yYW5kb21JbmRleD0wO31vcHRzLm5leHRTbGlkZT1vcHRzLnJhbmRvbU1hcFtvcHRzLnJhbmRvbUluZGV4XTtpZihvcHRzLm5leHRTbGlkZT09b3B0cy5jdXJyU2xpZGUpe29wdHMubmV4dFNsaWRlPShvcHRzLmN1cnJTbGlkZT09b3B0cy5zbGlkZUNvdW50LTEpPzA6b3B0cy5jdXJyU2xpZGUrMTt9fWVsc2V7aWYob3B0cy5iYWNrd2FyZHMpe3ZhciByb2xsPShvcHRzLm5leHRTbGlkZS0xKTwwO2lmKHJvbGwmJm9wdHMuYm91bmNlKXtvcHRzLmJhY2t3YXJkcz0hb3B0cy5iYWNrd2FyZHM7b3B0cy5uZXh0U2xpZGU9MTtvcHRzLmN1cnJTbGlkZT0wO31lbHNle29wdHMubmV4dFNsaWRlPXJvbGw/KGVscy5sZW5ndGgtMSk6b3B0cy5uZXh0U2xpZGUtMTtvcHRzLmN1cnJTbGlkZT1yb2xsPzA6b3B0cy5uZXh0U2xpZGUrMTt9fWVsc2V7dmFyIHJvbGw9KG9wdHMubmV4dFNsaWRlKzEpPT1lbHMubGVuZ3RoO2lmKHJvbGwmJm9wdHMuYm91bmNlKXtvcHRzLmJhY2t3YXJkcz0hb3B0cy5iYWNrd2FyZHM7b3B0cy5uZXh0U2xpZGU9ZWxzLmxlbmd0aC0yO29wdHMuY3VyclNsaWRlPWVscy5sZW5ndGgtMTt9ZWxzZXtvcHRzLm5leHRTbGlkZT1yb2xsPzA6b3B0cy5uZXh0U2xpZGUrMTtvcHRzLmN1cnJTbGlkZT1yb2xsP2Vscy5sZW5ndGgtMTpvcHRzLm5leHRTbGlkZS0xO319fX1pZihjaGFuZ2VkJiZvcHRzLnBhZ2VyKXtvcHRzLnVwZGF0ZUFjdGl2ZVBhZ2VyTGluayhvcHRzLnBhZ2VyLG9wdHMuY3VyclNsaWRlLG9wdHMuYWN0aXZlUGFnZXJDbGFzcyk7fXZhciBtcz0wO2lmKG9wdHMudGltZW91dCYmIW9wdHMuY29udGludW91cyl7bXM9Z2V0VGltZW91dChlbHNbb3B0cy5jdXJyU2xpZGVdLGVsc1tvcHRzLm5leHRTbGlkZV0sb3B0cyxmd2QpO31lbHNle2lmKG9wdHMuY29udGludW91cyYmcC5jeWNsZVBhdXNlKXttcz0xMDt9fWlmKG1zPjApe3AuY3ljbGVUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtnbyhlbHMsb3B0cywwLCFvcHRzLmJhY2t3YXJkcyk7fSxtcyk7fX0kLmZuLmN5Y2xlLnVwZGF0ZUFjdGl2ZVBhZ2VyTGluaz1mdW5jdGlvbihwYWdlcixjdXJyU2xpZGUsY2xzTmFtZSl7JChwYWdlcikuZWFjaChmdW5jdGlvbigpeyQodGhpcykuY2hpbGRyZW4oKS5yZW1vdmVDbGFzcyhjbHNOYW1lKS5lcShjdXJyU2xpZGUpLmFkZENsYXNzKGNsc05hbWUpO30pO307ZnVuY3Rpb24gZ2V0VGltZW91dChjdXJyLG5leHQsb3B0cyxmd2Qpe2lmKG9wdHMudGltZW91dEZuKXt2YXIgdD1vcHRzLnRpbWVvdXRGbi5jYWxsKGN1cnIsY3VycixuZXh0LG9wdHMsZndkKTt3aGlsZShvcHRzLmZ4IT0ibm9uZSImJih0LW9wdHMuc3BlZWQpPDI1MCl7dCs9b3B0cy5zcGVlZDt9ZGVidWcoImNhbGN1bGF0ZWQgdGltZW91dDogIit0KyI7IHNwZWVkOiAiK29wdHMuc3BlZWQpO2lmKHQhPT1mYWxzZSl7cmV0dXJuIHQ7fX1yZXR1cm4gb3B0cy50aW1lb3V0O30kLmZuLmN5Y2xlLm5leHQ9ZnVuY3Rpb24ob3B0cyl7YWR2YW5jZShvcHRzLDEpO307JC5mbi5jeWNsZS5wcmV2PWZ1bmN0aW9uKG9wdHMpe2FkdmFuY2Uob3B0cywwKTt9O2Z1bmN0aW9uIGFkdmFuY2Uob3B0cyxtb3ZlRm9yd2FyZCl7dmFyIHZhbD1tb3ZlRm9yd2FyZD8xOi0xO3ZhciBlbHM9b3B0cy5lbGVtZW50czt2YXIgcD1vcHRzLiRjb250WzBdLHRpbWVvdXQ9cC5jeWNsZVRpbWVvdXQ7aWYodGltZW91dCl7Y2xlYXJUaW1lb3V0KHRpbWVvdXQpO3AuY3ljbGVUaW1lb3V0PTA7fWlmKG9wdHMucmFuZG9tJiZ2YWw8MCl7b3B0cy5yYW5kb21JbmRleC0tO2lmKC0tb3B0cy5yYW5kb21JbmRleD09LTIpe29wdHMucmFuZG9tSW5kZXg9ZWxzLmxlbmd0aC0yO31lbHNle2lmKG9wdHMucmFuZG9tSW5kZXg9PS0xKXtvcHRzLnJhbmRvbUluZGV4PWVscy5sZW5ndGgtMTt9fW9wdHMubmV4dFNsaWRlPW9wdHMucmFuZG9tTWFwW29wdHMucmFuZG9tSW5kZXhdO31lbHNle2lmKG9wdHMucmFuZG9tKXtvcHRzLm5leHRTbGlkZT1vcHRzLnJhbmRvbU1hcFtvcHRzLnJhbmRvbUluZGV4XTt9ZWxzZXtvcHRzLm5leHRTbGlkZT1vcHRzLmN1cnJTbGlkZSt2YWw7aWYob3B0cy5uZXh0U2xpZGU8MCl7aWYob3B0cy5ub3dyYXApe3JldHVybiBmYWxzZTt9b3B0cy5uZXh0U2xpZGU9ZWxzLmxlbmd0aC0xO31lbHNle2lmKG9wdHMubmV4dFNsaWRlPj1lbHMubGVuZ3RoKXtpZihvcHRzLm5vd3JhcCl7cmV0dXJuIGZhbHNlO31vcHRzLm5leHRTbGlkZT0wO319fX12YXIgY2I9b3B0cy5vblByZXZOZXh0RXZlbnR8fG9wdHMucHJldk5leHRDbGljaztpZigkLmlzRnVuY3Rpb24oY2IpKXtjYih2YWw+MCxvcHRzLm5leHRTbGlkZSxlbHNbb3B0cy5uZXh0U2xpZGVdKTt9Z28oZWxzLG9wdHMsMSxtb3ZlRm9yd2FyZCk7cmV0dXJuIGZhbHNlO31mdW5jdGlvbiBidWlsZFBhZ2VyKGVscyxvcHRzKXt2YXIgJHA9JChvcHRzLnBhZ2VyKTskLmVhY2goZWxzLGZ1bmN0aW9uKGksbyl7JC5mbi5jeWNsZS5jcmVhdGVQYWdlckFuY2hvcihpLG8sJHAsZWxzLG9wdHMpO30pO29wdHMudXBkYXRlQWN0aXZlUGFnZXJMaW5rKG9wdHMucGFnZXIsb3B0cy5zdGFydGluZ1NsaWRlLG9wdHMuYWN0aXZlUGFnZXJDbGFzcyk7fSQuZm4uY3ljbGUuY3JlYXRlUGFnZXJBbmNob3I9ZnVuY3Rpb24oaSxlbCwkcCxlbHMsb3B0cyl7dmFyIGE7aWYoJC5pc0Z1bmN0aW9uKG9wdHMucGFnZXJBbmNob3JCdWlsZGVyKSl7YT1vcHRzLnBhZ2VyQW5jaG9yQnVpbGRlcihpLGVsKTtkZWJ1ZygicGFnZXJBbmNob3JCdWlsZGVyKCIraSsiLCBlbCkgcmV0dXJuZWQ6ICIrYSk7fWVsc2V7YT0nPGEgaHJlZj0iIyI+JysoaSsxKSsiPC9hPiI7fWlmKCFhKXtyZXR1cm47fXZhciAkYT0kKGEpO2lmKCRhLnBhcmVudHMoImJvZHkiKS5sZW5ndGg9PT0wKXt2YXIgYXJyPVtdO2lmKCRwLmxlbmd0aD4xKXskcC5lYWNoKGZ1bmN0aW9uKCl7dmFyICRjbG9uZT0kYS5jbG9uZSh0cnVlKTskKHRoaXMpLmFwcGVuZCgkY2xvbmUpO2Fyci5wdXNoKCRjbG9uZVswXSk7fSk7JGE9JChhcnIpO31lbHNleyRhLmFwcGVuZFRvKCRwKTt9fW9wdHMucGFnZXJBbmNob3JzPW9wdHMucGFnZXJBbmNob3JzfHxbXTtvcHRzLnBhZ2VyQW5jaG9ycy5wdXNoKCRhKTskYS5iaW5kKG9wdHMucGFnZXJFdmVudCxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7b3B0cy5uZXh0U2xpZGU9aTt2YXIgcD1vcHRzLiRjb250WzBdLHRpbWVvdXQ9cC5jeWNsZVRpbWVvdXQ7aWYodGltZW91dCl7Y2xlYXJUaW1lb3V0KHRpbWVvdXQpO3AuY3ljbGVUaW1lb3V0PTA7fXZhciBjYj1vcHRzLm9uUGFnZXJFdmVudHx8b3B0cy5wYWdlckNsaWNrO2lmKCQuaXNGdW5jdGlvbihjYikpe2NiKG9wdHMubmV4dFNsaWRlLGVsc1tvcHRzLm5leHRTbGlkZV0pO31nbyhlbHMsb3B0cywxLG9wdHMuY3VyclNsaWRlPGkpO30pO2lmKCEvXmNsaWNrLy50ZXN0KG9wdHMucGFnZXJFdmVudCkmJiFvcHRzLmFsbG93UGFnZXJDbGlja0J1YmJsZSl7JGEuYmluZCgiY2xpY2suY3ljbGUiLGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30pO31pZihvcHRzLnBhdXNlT25QYWdlckhvdmVyKXskYS5ob3ZlcihmdW5jdGlvbigpe29wdHMuJGNvbnRbMF0uY3ljbGVQYXVzZSsrO30sZnVuY3Rpb24oKXtvcHRzLiRjb250WzBdLmN5Y2xlUGF1c2UtLTt9KTt9fTskLmZuLmN5Y2xlLmhvcHNGcm9tTGFzdD1mdW5jdGlvbihvcHRzLGZ3ZCl7dmFyIGhvcHMsbD1vcHRzLmxhc3RTbGlkZSxjPW9wdHMuY3VyclNsaWRlO2lmKGZ3ZCl7aG9wcz1jPmw/Yy1sOm9wdHMuc2xpZGVDb3VudC1sO31lbHNle2hvcHM9YzxsP2wtYzpsK29wdHMuc2xpZGVDb3VudC1jO31yZXR1cm4gaG9wczt9O2Z1bmN0aW9uIGNsZWFyVHlwZUZpeCgkc2xpZGVzKXtkZWJ1ZygiYXBwbHlpbmcgY2xlYXJUeXBlIGJhY2tncm91bmQtY29sb3IgaGFjayIpO2Z1bmN0aW9uIGhleChzKXtzPXBhcnNlSW50KHMpLnRvU3RyaW5nKDE2KTtyZXR1cm4gcy5sZW5ndGg8Mj8iMCIrczpzO31mdW5jdGlvbiBnZXRCZyhlKXtmb3IoO2UmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9Imh0bWwiO2U9ZS5wYXJlbnROb2RlKXt2YXIgdj0kLmNzcyhlLCJiYWNrZ3JvdW5kLWNvbG9yIik7aWYodiYmdi5pbmRleE9mKCJyZ2IiKT49MCl7dmFyIHJnYj12Lm1hdGNoKC9cZCsvZyk7cmV0dXJuIiMiK2hleChyZ2JbMF0pK2hleChyZ2JbMV0pK2hleChyZ2JbMl0pO31pZih2JiZ2IT0idHJhbnNwYXJlbnQiKXtyZXR1cm4gdjt9fXJldHVybiIjZmZmZmZmIjt9JHNsaWRlcy5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5jc3MoImJhY2tncm91bmQtY29sb3IiLGdldEJnKHRoaXMpKTt9KTt9JC5mbi5jeWNsZS5jb21tb25SZXNldD1mdW5jdGlvbihjdXJyLG5leHQsb3B0cyx3LGgscmV2KXskKG9wdHMuZWxlbWVudHMpLm5vdChjdXJyKS5oaWRlKCk7aWYodHlwZW9mIG9wdHMuY3NzQmVmb3JlLm9wYWNpdHk9PSJ1bmRlZmluZWQiKXtvcHRzLmNzc0JlZm9yZS5vcGFjaXR5PTE7fW9wdHMuY3NzQmVmb3JlLmRpc3BsYXk9ImJsb2NrIjtpZihvcHRzLnNsaWRlUmVzaXplJiZ3IT09ZmFsc2UmJm5leHQuY3ljbGVXPjApe29wdHMuY3NzQmVmb3JlLndpZHRoPW5leHQuY3ljbGVXO31pZihvcHRzLnNsaWRlUmVzaXplJiZoIT09ZmFsc2UmJm5leHQuY3ljbGVIPjApe29wdHMuY3NzQmVmb3JlLmhlaWdodD1uZXh0LmN5Y2xlSDt9b3B0cy5jc3NBZnRlcj1vcHRzLmNzc0FmdGVyfHx7fTtvcHRzLmNzc0FmdGVyLmRpc3BsYXk9Im5vbmUiOyQoY3VycikuY3NzKCJ6SW5kZXgiLG9wdHMuc2xpZGVDb3VudCsocmV2PT09dHJ1ZT8xOjApKTskKG5leHQpLmNzcygiekluZGV4IixvcHRzLnNsaWRlQ291bnQrKHJldj09PXRydWU/MDoxKSk7fTskLmZuLmN5Y2xlLmN1c3RvbT1mdW5jdGlvbihjdXJyLG5leHQsb3B0cyxjYixmd2Qsc3BlZWRPdmVycmlkZSl7dmFyICRsPSQoY3VyciksJG49JChuZXh0KTt2YXIgc3BlZWRJbj1vcHRzLnNwZWVkSW4sc3BlZWRPdXQ9b3B0cy5zcGVlZE91dCxlYXNlSW49b3B0cy5lYXNlSW4sZWFzZU91dD1vcHRzLmVhc2VPdXQ7JG4uY3NzKG9wdHMuY3NzQmVmb3JlKTtpZihzcGVlZE92ZXJyaWRlKXtpZih0eXBlb2Ygc3BlZWRPdmVycmlkZT09Im51bWJlciIpe3NwZWVkSW49c3BlZWRPdXQ9c3BlZWRPdmVycmlkZTt9ZWxzZXtzcGVlZEluPXNwZWVkT3V0PTE7fWVhc2VJbj1lYXNlT3V0PW51bGw7fXZhciBmbj1mdW5jdGlvbigpeyRuLmFuaW1hdGUob3B0cy5hbmltSW4sc3BlZWRJbixlYXNlSW4sZnVuY3Rpb24oKXtjYigpO30pO307JGwuYW5pbWF0ZShvcHRzLmFuaW1PdXQsc3BlZWRPdXQsZWFzZU91dCxmdW5jdGlvbigpeyRsLmNzcyhvcHRzLmNzc0FmdGVyKTtpZighb3B0cy5zeW5jKXtmbigpO319KTtpZihvcHRzLnN5bmMpe2ZuKCk7fX07JC5mbi5jeWNsZS50cmFuc2l0aW9ucz17ZmFkZTpmdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpeyRzbGlkZXMubm90KCI6ZXEoIitvcHRzLmN1cnJTbGlkZSsiKSIpLmNzcygib3BhY2l0eSIsMCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7b3B0cy5jc3NCZWZvcmUub3BhY2l0eT0wO30pO29wdHMuYW5pbUluPXtvcGFjaXR5OjF9O29wdHMuYW5pbU91dD17b3BhY2l0eTowfTtvcHRzLmNzc0JlZm9yZT17dG9wOjAsbGVmdDowfTt9fTskLmZuLmN5Y2xlLnZlcj1mdW5jdGlvbigpe3JldHVybiB2ZXI7fTskLmZuLmN5Y2xlLmRlZmF1bHRzPXthY3RpdmVQYWdlckNsYXNzOiJhY3RpdmVTbGlkZSIsYWZ0ZXI6bnVsbCxhbGxvd1BhZ2VyQ2xpY2tCdWJibGU6ZmFsc2UsYW5pbUluOm51bGwsYW5pbU91dDpudWxsLGF1dG9zdG9wOjAsYXV0b3N0b3BDb3VudDowLGJhY2t3YXJkczpmYWxzZSxiZWZvcmU6bnVsbCxjbGVhcnR5cGU6ISQuc3VwcG9ydC5vcGFjaXR5LGNsZWFydHlwZU5vQmc6ZmFsc2UsY29udGFpbmVyUmVzaXplOjEsY29udGludW91czowLGNzc0FmdGVyOm51bGwsY3NzQmVmb3JlOm51bGwsZGVsYXk6MCxlYXNlSW46bnVsbCxlYXNlT3V0Om51bGwsZWFzaW5nOm51bGwsZW5kOm51bGwsZmFzdE9uRXZlbnQ6MCxmaXQ6MCxmeDoiZmFkZSIsZnhGbjpudWxsLGhlaWdodDoiYXV0byIsbWFudWFsVHJ1bXA6dHJ1ZSxuZXh0Om51bGwsbm93cmFwOjAsb25QYWdlckV2ZW50Om51bGwsb25QcmV2TmV4dEV2ZW50Om51bGwscGFnZXI6bnVsbCxwYWdlckFuY2hvckJ1aWxkZXI6bnVsbCxwYWdlckV2ZW50OiJjbGljay5jeWNsZSIscGF1c2U6MCxwYXVzZU9uUGFnZXJIb3ZlcjowLHByZXY6bnVsbCxwcmV2TmV4dEV2ZW50OiJjbGljay5jeWNsZSIscmFuZG9tOjAscmFuZG9taXplRWZmZWN0czoxLHJlcXVldWVPbkltYWdlTm90TG9hZGVkOnRydWUscmVxdWV1ZVRpbWVvdXQ6MjUwLHJldjowLHNodWZmbGU6bnVsbCxzbGlkZUV4cHI6bnVsbCxzbGlkZVJlc2l6ZToxLHNwZWVkOjEwMDAsc3BlZWRJbjpudWxsLHNwZWVkT3V0Om51bGwsc3RhcnRpbmdTbGlkZTowLHN5bmM6MSx0aW1lb3V0OjQwMDAsdGltZW91dEZuOm51bGwsdXBkYXRlQWN0aXZlUGFnZXJMaW5rOm51bGx9O30pKGpRdWVyeSk7DQovKg0KICogalF1ZXJ5IEN5Y2xlIFBsdWdpbiBUcmFuc2l0aW9uIERlZmluaXRpb25zDQogKi8NCihmdW5jdGlvbigkKXskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLm5vbmU9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmZ4Rm49ZnVuY3Rpb24oY3VycixuZXh0LG9wdHMsYWZ0ZXIpeyQobmV4dCkuc2hvdygpOyQoY3VycikuaGlkZSgpO2FmdGVyKCk7fTt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuZmFkZW91dD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpeyRzbGlkZXMubm90KCI6ZXEoIitvcHRzLmN1cnJTbGlkZSsiKSIpLmNzcyh7ZGlzcGxheToiYmxvY2siLG9wYWNpdHk6MX0pO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMsdyxoLHJldil7JChjdXJyKS5jc3MoInpJbmRleCIsb3B0cy5zbGlkZUNvdW50KyghcmV2PT09dHJ1ZT8xOjApKTskKG5leHQpLmNzcygiekluZGV4IixvcHRzLnNsaWRlQ291bnQrKCFyZXY9PT10cnVlPzA6MSkpO30pO29wdHMuYW5pbUluLm9wYWNpdHk9MTtvcHRzLmFuaW1PdXQub3BhY2l0eT0wO29wdHMuY3NzQmVmb3JlLm9wYWNpdHk9MTtvcHRzLmNzc0JlZm9yZS5kaXNwbGF5PSJibG9jayI7b3B0cy5jc3NBZnRlci56SW5kZXg9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuc2Nyb2xsVXA9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXskY29udC5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIik7b3B0cy5iZWZvcmUucHVzaCgkLmZuLmN5Y2xlLmNvbW1vblJlc2V0KTt2YXIgaD0kY29udC5oZWlnaHQoKTtvcHRzLmNzc0JlZm9yZS50b3A9aDtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7b3B0cy5jc3NGaXJzdC50b3A9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1PdXQudG9wPS1oO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5zY3JvbGxEb3duPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpO29wdHMuYmVmb3JlLnB1c2goJC5mbi5jeWNsZS5jb21tb25SZXNldCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5jc3NGaXJzdC50b3A9MDtvcHRzLmNzc0JlZm9yZS50b3A9LWg7b3B0cy5jc3NCZWZvcmUubGVmdD0wO29wdHMuYW5pbUluLnRvcD0wO29wdHMuYW5pbU91dC50b3A9aDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuc2Nyb2xsTGVmdD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpeyRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKTtvcHRzLmJlZm9yZS5wdXNoKCQuZm4uY3ljbGUuY29tbW9uUmVzZXQpO3ZhciB3PSRjb250LndpZHRoKCk7b3B0cy5jc3NGaXJzdC5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUubGVmdD13O29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1PdXQubGVmdD0wLXc7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNjcm9sbFJpZ2h0PWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpO29wdHMuYmVmb3JlLnB1c2goJC5mbi5jeWNsZS5jb21tb25SZXNldCk7dmFyIHc9JGNvbnQud2lkdGgoKTtvcHRzLmNzc0ZpcnN0LmxlZnQ9MDtvcHRzLmNzc0JlZm9yZS5sZWZ0PS13O29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1PdXQubGVmdD13O307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5zY3JvbGxIb3J6PWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyxmd2Qpe2lmKG9wdHMucmV2KXtmd2Q9IWZ3ZDt9JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7b3B0cy5jc3NCZWZvcmUubGVmdD1md2Q/KG5leHQuY3ljbGVXLTEpOigxLW5leHQuY3ljbGVXKTtvcHRzLmFuaW1PdXQubGVmdD1md2Q/LWN1cnIuY3ljbGVXOmN1cnIuY3ljbGVXO30pO29wdHMuY3NzRmlyc3QubGVmdD0wO29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1PdXQudG9wPTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNjcm9sbFZlcnQ9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXskY29udC5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIik7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyxmd2Qpe2lmKG9wdHMucmV2KXtmd2Q9IWZ3ZDt9JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7b3B0cy5jc3NCZWZvcmUudG9wPWZ3ZD8oMS1uZXh0LmN5Y2xlSCk6KG5leHQuY3ljbGVILTEpO29wdHMuYW5pbU91dC50b3A9ZndkP2N1cnIuY3ljbGVIOi1jdXJyLmN5Y2xlSDt9KTtvcHRzLmNzc0ZpcnN0LnRvcD0wO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1PdXQubGVmdD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5zbGlkZVg9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskKG9wdHMuZWxlbWVudHMpLm5vdChjdXJyKS5oaWRlKCk7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyxmYWxzZSx0cnVlKTtvcHRzLmFuaW1Jbi53aWR0aD1uZXh0LmN5Y2xlVzt9KTtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5jc3NCZWZvcmUud2lkdGg9MDtvcHRzLmFuaW1Jbi53aWR0aD0ic2hvdyI7b3B0cy5hbmltT3V0LndpZHRoPTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNsaWRlWT1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQob3B0cy5lbGVtZW50cykubm90KGN1cnIpLmhpZGUoKTskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsZmFsc2UpO29wdHMuYW5pbUluLmhlaWdodD1uZXh0LmN5Y2xlSDt9KTtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5jc3NCZWZvcmUuaGVpZ2h0PTA7b3B0cy5hbmltSW4uaGVpZ2h0PSJzaG93IjtvcHRzLmFuaW1PdXQuaGVpZ2h0PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNodWZmbGU9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXt2YXIgaSx3PSRjb250LmNzcygib3ZlcmZsb3ciLCJ2aXNpYmxlIikud2lkdGgoKTskc2xpZGVzLmNzcyh7bGVmdDowLHRvcDowfSk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLHRydWUsdHJ1ZSk7fSk7aWYoIW9wdHMuc3BlZWRBZGp1c3RlZCl7b3B0cy5zcGVlZD1vcHRzLnNwZWVkLzI7b3B0cy5zcGVlZEFkanVzdGVkPXRydWU7fW9wdHMucmFuZG9tPTA7b3B0cy5zaHVmZmxlPW9wdHMuc2h1ZmZsZXx8e2xlZnQ6LXcsdG9wOjE1fTtvcHRzLmVscz1bXTtmb3IoaT0wO2k8JHNsaWRlcy5sZW5ndGg7aSsrKXtvcHRzLmVscy5wdXNoKCRzbGlkZXNbaV0pO31mb3IoaT0wO2k8b3B0cy5jdXJyU2xpZGU7aSsrKXtvcHRzLmVscy5wdXNoKG9wdHMuZWxzLnNoaWZ0KCkpO31vcHRzLmZ4Rm49ZnVuY3Rpb24oY3VycixuZXh0LG9wdHMsY2IsZndkKXtpZihvcHRzLnJldil7ZndkPSFmd2Q7fXZhciAkZWw9ZndkPyQoY3Vycik6JChuZXh0KTskKG5leHQpLmNzcyhvcHRzLmNzc0JlZm9yZSk7dmFyIGNvdW50PW9wdHMuc2xpZGVDb3VudDskZWwuYW5pbWF0ZShvcHRzLnNodWZmbGUsb3B0cy5zcGVlZEluLG9wdHMuZWFzZUluLGZ1bmN0aW9uKCl7dmFyIGhvcHM9JC5mbi5jeWNsZS5ob3BzRnJvbUxhc3Qob3B0cyxmd2QpO2Zvcih2YXIgaz0wO2s8aG9wcztrKyspe2Z3ZD9vcHRzLmVscy5wdXNoKG9wdHMuZWxzLnNoaWZ0KCkpOm9wdHMuZWxzLnVuc2hpZnQob3B0cy5lbHMucG9wKCkpO31pZihmd2Qpe2Zvcih2YXIgaT0wLGxlbj1vcHRzLmVscy5sZW5ndGg7aTxsZW47aSsrKXskKG9wdHMuZWxzW2ldKS5jc3MoInotaW5kZXgiLGxlbi1pK2NvdW50KTt9fWVsc2V7dmFyIHo9JChjdXJyKS5jc3MoInotaW5kZXgiKTskZWwuY3NzKCJ6LWluZGV4IixwYXJzZUludCh6KSsxK2NvdW50KTt9JGVsLmFuaW1hdGUoe2xlZnQ6MCx0b3A6MH0sb3B0cy5zcGVlZE91dCxvcHRzLmVhc2VPdXQsZnVuY3Rpb24oKXskKGZ3ZD90aGlzOmN1cnIpLmhpZGUoKTtpZihjYil7Y2IoKTt9fSk7fSk7fTskLmV4dGVuZChvcHRzLmNzc0JlZm9yZSx7ZGlzcGxheToiYmxvY2siLG9wYWNpdHk6MSx0b3A6MCxsZWZ0OjB9KTt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMudHVyblVwPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLGZhbHNlKTtvcHRzLmNzc0JlZm9yZS50b3A9bmV4dC5jeWNsZUg7b3B0cy5hbmltSW4uaGVpZ2h0PW5leHQuY3ljbGVIO29wdHMuYW5pbU91dC53aWR0aD1uZXh0LmN5Y2xlVzt9KTtvcHRzLmNzc0ZpcnN0LnRvcD0wO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDtvcHRzLmNzc0JlZm9yZS5oZWlnaHQ9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1PdXQuaGVpZ2h0PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnR1cm5Eb3duPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLGZhbHNlKTtvcHRzLmFuaW1Jbi5oZWlnaHQ9bmV4dC5jeWNsZUg7b3B0cy5hbmltT3V0LnRvcD1jdXJyLmN5Y2xlSDt9KTtvcHRzLmNzc0ZpcnN0LnRvcD0wO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDtvcHRzLmNzc0JlZm9yZS50b3A9MDtvcHRzLmNzc0JlZm9yZS5oZWlnaHQ9MDtvcHRzLmFuaW1PdXQuaGVpZ2h0PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnR1cm5MZWZ0PWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyxmYWxzZSx0cnVlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PW5leHQuY3ljbGVXO29wdHMuYW5pbUluLndpZHRoPW5leHQuY3ljbGVXO30pO29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuY3NzQmVmb3JlLndpZHRoPTA7b3B0cy5hbmltSW4ubGVmdD0wO29wdHMuYW5pbU91dC53aWR0aD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy50dXJuUmlnaHQ9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLGZhbHNlLHRydWUpO29wdHMuYW5pbUluLndpZHRoPW5leHQuY3ljbGVXO29wdHMuYW5pbU91dC5sZWZ0PWN1cnIuY3ljbGVXO30pOyQuZXh0ZW5kKG9wdHMuY3NzQmVmb3JlLHt0b3A6MCxsZWZ0OjAsd2lkdGg6MH0pO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1PdXQud2lkdGg9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuem9vbT1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsZmFsc2UsZmFsc2UsdHJ1ZSk7b3B0cy5jc3NCZWZvcmUudG9wPW5leHQuY3ljbGVILzI7b3B0cy5jc3NCZWZvcmUubGVmdD1uZXh0LmN5Y2xlVy8yOyQuZXh0ZW5kKG9wdHMuYW5pbUluLHt0b3A6MCxsZWZ0OjAsd2lkdGg6bmV4dC5jeWNsZVcsaGVpZ2h0Om5leHQuY3ljbGVIfSk7JC5leHRlbmQob3B0cy5hbmltT3V0LHt3aWR0aDowLGhlaWdodDowLHRvcDpjdXJyLmN5Y2xlSC8yLGxlZnQ6Y3Vyci5jeWNsZVcvMn0pO30pO29wdHMuY3NzRmlyc3QudG9wPTA7b3B0cy5jc3NGaXJzdC5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUud2lkdGg9MDtvcHRzLmNzc0JlZm9yZS5oZWlnaHQ9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuZmFkZVpvb209ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLGZhbHNlLGZhbHNlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PW5leHQuY3ljbGVXLzI7b3B0cy5jc3NCZWZvcmUudG9wPW5leHQuY3ljbGVILzI7JC5leHRlbmQob3B0cy5hbmltSW4se3RvcDowLGxlZnQ6MCx3aWR0aDpuZXh0LmN5Y2xlVyxoZWlnaHQ6bmV4dC5jeWNsZUh9KTt9KTtvcHRzLmNzc0JlZm9yZS53aWR0aD0wO29wdHMuY3NzQmVmb3JlLmhlaWdodD0wO29wdHMuYW5pbU91dC5vcGFjaXR5PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLmJsaW5kWD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciB3PSRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKS53aWR0aCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMpO29wdHMuYW5pbUluLndpZHRoPW5leHQuY3ljbGVXO29wdHMuYW5pbU91dC5sZWZ0PWN1cnIuY3ljbGVXO30pO29wdHMuY3NzQmVmb3JlLmxlZnQ9dztvcHRzLmNzc0JlZm9yZS50b3A9MDtvcHRzLmFuaW1Jbi5sZWZ0PTA7b3B0cy5hbmltT3V0LmxlZnQ9dzt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuYmxpbmRZPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7dmFyIGg9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLmhlaWdodCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMpO29wdHMuYW5pbUluLmhlaWdodD1uZXh0LmN5Y2xlSDtvcHRzLmFuaW1PdXQudG9wPWN1cnIuY3ljbGVIO30pO29wdHMuY3NzQmVmb3JlLnRvcD1oO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1PdXQudG9wPWg7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLmJsaW5kWj1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciBoPSRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKS5oZWlnaHQoKTt2YXIgdz0kY29udC53aWR0aCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMpO29wdHMuYW5pbUluLmhlaWdodD1uZXh0LmN5Y2xlSDtvcHRzLmFuaW1PdXQudG9wPWN1cnIuY3ljbGVIO30pO29wdHMuY3NzQmVmb3JlLnRvcD1oO29wdHMuY3NzQmVmb3JlLmxlZnQ9dztvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1Jbi5sZWZ0PTA7b3B0cy5hbmltT3V0LnRvcD1oO29wdHMuYW5pbU91dC5sZWZ0PXc7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLmdyb3dYPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyxmYWxzZSx0cnVlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PXRoaXMuY3ljbGVXLzI7b3B0cy5hbmltSW4ubGVmdD0wO29wdHMuYW5pbUluLndpZHRoPXRoaXMuY3ljbGVXO29wdHMuYW5pbU91dC5sZWZ0PTA7fSk7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5jc3NCZWZvcmUud2lkdGg9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuZ3Jvd1k9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsZmFsc2UpO29wdHMuY3NzQmVmb3JlLnRvcD10aGlzLmN5Y2xlSC8yO29wdHMuYW5pbUluLnRvcD0wO29wdHMuYW5pbUluLmhlaWdodD10aGlzLmN5Y2xlSDtvcHRzLmFuaW1PdXQudG9wPTA7fSk7b3B0cy5jc3NCZWZvcmUuaGVpZ2h0PTA7b3B0cy5jc3NCZWZvcmUubGVmdD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5jdXJ0YWluWD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsZmFsc2UsdHJ1ZSx0cnVlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PW5leHQuY3ljbGVXLzI7b3B0cy5hbmltSW4ubGVmdD0wO29wdHMuYW5pbUluLndpZHRoPXRoaXMuY3ljbGVXO29wdHMuYW5pbU91dC5sZWZ0PWN1cnIuY3ljbGVXLzI7b3B0cy5hbmltT3V0LndpZHRoPTA7fSk7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5jc3NCZWZvcmUud2lkdGg9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuY3VydGFpblk9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsZmFsc2UsdHJ1ZSk7b3B0cy5jc3NCZWZvcmUudG9wPW5leHQuY3ljbGVILzI7b3B0cy5hbmltSW4udG9wPTA7b3B0cy5hbmltSW4uaGVpZ2h0PW5leHQuY3ljbGVIO29wdHMuYW5pbU91dC50b3A9Y3Vyci5jeWNsZUgvMjtvcHRzLmFuaW1PdXQuaGVpZ2h0PTA7fSk7b3B0cy5jc3NCZWZvcmUuaGVpZ2h0PTA7b3B0cy5jc3NCZWZvcmUubGVmdD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5jb3Zlcj1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciBkPW9wdHMuZGlyZWN0aW9ufHwibGVmdCI7dmFyIHc9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7aWYoZD09InJpZ2h0Iil7b3B0cy5jc3NCZWZvcmUubGVmdD0tdzt9ZWxzZXtpZihkPT0idXAiKXtvcHRzLmNzc0JlZm9yZS50b3A9aDt9ZWxzZXtpZihkPT0iZG93biIpe29wdHMuY3NzQmVmb3JlLnRvcD0taDt9ZWxzZXtvcHRzLmNzc0JlZm9yZS5sZWZ0PXc7fX19fSk7b3B0cy5hbmltSW4ubGVmdD0wO29wdHMuYW5pbUluLnRvcD0wO29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMudW5jb3Zlcj1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciBkPW9wdHMuZGlyZWN0aW9ufHwibGVmdCI7dmFyIHc9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLHRydWUsdHJ1ZSk7aWYoZD09InJpZ2h0Iil7b3B0cy5hbmltT3V0LmxlZnQ9dzt9ZWxzZXtpZihkPT0idXAiKXtvcHRzLmFuaW1PdXQudG9wPS1oO31lbHNle2lmKGQ9PSJkb3duIil7b3B0cy5hbmltT3V0LnRvcD1oO31lbHNle29wdHMuYW5pbU91dC5sZWZ0PS13O319fX0pO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmNzc0JlZm9yZS50b3A9MDtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnRvc3M9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXt2YXIgdz0kY29udC5jc3MoIm92ZXJmbG93IiwidmlzaWJsZSIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLHRydWUsdHJ1ZSk7aWYoIW9wdHMuYW5pbU91dC5sZWZ0JiYhb3B0cy5hbmltT3V0LnRvcCl7JC5leHRlbmQob3B0cy5hbmltT3V0LHtsZWZ0OncqMix0b3A6LWgvMixvcGFjaXR5OjB9KTt9ZWxzZXtvcHRzLmFuaW1PdXQub3BhY2l0eT0wO319KTtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5hbmltSW4ubGVmdD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy53aXBlPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7dmFyIHc9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5jc3NCZWZvcmU9b3B0cy5jc3NCZWZvcmV8fHt9O3ZhciBjbGlwO2lmKG9wdHMuY2xpcCl7aWYoL2wyci8udGVzdChvcHRzLmNsaXApKXtjbGlwPSJyZWN0KDBweCAwcHggIitoKyJweCAwcHgpIjt9ZWxzZXtpZigvcjJsLy50ZXN0KG9wdHMuY2xpcCkpe2NsaXA9InJlY3QoMHB4ICIrdysicHggIitoKyJweCAiK3crInB4KSI7fWVsc2V7aWYoL3QyYi8udGVzdChvcHRzLmNsaXApKXtjbGlwPSJyZWN0KDBweCAiK3crInB4IDBweCAwcHgpIjt9ZWxzZXtpZigvYjJ0Ly50ZXN0KG9wdHMuY2xpcCkpe2NsaXA9InJlY3QoIitoKyJweCAiK3crInB4ICIraCsicHggMHB4KSI7fWVsc2V7aWYoL3pvb20vLnRlc3Qob3B0cy5jbGlwKSl7dmFyIHRvcD1wYXJzZUludChoLzIpO3ZhciBsZWZ0PXBhcnNlSW50KHcvMik7Y2xpcD0icmVjdCgiK3RvcCsicHggIitsZWZ0KyJweCAiK3RvcCsicHggIitsZWZ0KyJweCkiO319fX19fW9wdHMuY3NzQmVmb3JlLmNsaXA9b3B0cy5jc3NCZWZvcmUuY2xpcHx8Y2xpcHx8InJlY3QoMHB4IDBweCAwcHggMHB4KSI7dmFyIGQ9b3B0cy5jc3NCZWZvcmUuY2xpcC5tYXRjaCgvKFxkKykvZyk7dmFyIHQ9cGFyc2VJbnQoZFswXSkscj1wYXJzZUludChkWzFdKSxiPXBhcnNlSW50KGRbMl0pLGw9cGFyc2VJbnQoZFszXSk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7aWYoY3Vycj09bmV4dCl7cmV0dXJuO312YXIgJGN1cnI9JChjdXJyKSwkbmV4dD0kKG5leHQpOyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsdHJ1ZSx0cnVlLGZhbHNlKTtvcHRzLmNzc0FmdGVyLmRpc3BsYXk9ImJsb2NrIjt2YXIgc3RlcD0xLGNvdW50PXBhcnNlSW50KChvcHRzLnNwZWVkSW4vMTMpKS0xOyhmdW5jdGlvbiBmKCl7dmFyIHR0PXQ/dC1wYXJzZUludChzdGVwKih0L2NvdW50KSk6MDt2YXIgbGw9bD9sLXBhcnNlSW50KHN0ZXAqKGwvY291bnQpKTowO3ZhciBiYj1iPGg/YitwYXJzZUludChzdGVwKigoaC1iKS9jb3VudHx8MSkpOmg7dmFyIHJyPXI8dz9yK3BhcnNlSW50KHN0ZXAqKCh3LXIpL2NvdW50fHwxKSk6dzskbmV4dC5jc3Moe2NsaXA6InJlY3QoIit0dCsicHggIitycisicHggIitiYisicHggIitsbCsicHgpIn0pOyhzdGVwKys8PWNvdW50KT9zZXRUaW1lb3V0KGYsMTMpOiRjdXJyLmNzcygiZGlzcGxheSIsIm5vbmUiKTt9KSgpO30pOyQuZXh0ZW5kKG9wdHMuY3NzQmVmb3JlLHtkaXNwbGF5OiJibG9jayIsb3BhY2l0eToxLHRvcDowLGxlZnQ6MH0pO29wdHMuYW5pbUluPXtsZWZ0OjB9O29wdHMuYW5pbU91dD17bGVmdDowfTt9O30pKGpRdWVyeSk7DQoNCi8qIQkNCiAqIE1heGltYWdlIFZlcnNpb246IDIuMC44ICgxNi1KYW4tMjAxMikgLSBodHRwOi8vd3d3LmFhcm9udmFuZGVyendhbi5jb20vbWF4aW1hZ2UvMi4wLw0KICovDQooZnVuY3Rpb24oYSl7YS5mbi5tYXhpbWFnZT1mdW5jdGlvbihkLGUpe3ZhciBjO2lmKHR5cGVvZiBkPT0ib2JqZWN0Inx8ZD09PXVuZGVmaW5lZCl7Yz1hLmV4dGVuZChhLmZuLm1heGltYWdlLmRlZmF1bHRzLGR8fHt9KX1pZih0eXBlb2YgZD09InN0cmluZyIpe2M9YS5mbi5tYXhpbWFnZS5kZWZhdWx0c31hLkJvZHk9YSgiYm9keSIpO2EuV2luZG93PWEod2luZG93KTthLlNjcm9sbD1hKCJodG1sLCBib2R5Iik7YS5FdmVudHM9e1JFU0laRToicmVzaXplIn07dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG09YSh0aGlzKSxmPTAsaj1bXTt2YXIgaT17c2V0dXA6ZnVuY3Rpb24oKXtpZihhLlNsaWRlcy5sZW5ndGg+MCl7dmFyIHIscD1hLlNsaWRlcy5sZW5ndGg7Zm9yKHI9MDtyPHA7cisrKXt2YXIgcT1hLlNsaWRlc1tyXTttLmFwcGVuZCgnPGRpdiBjbGFzcz0ibWMtaW1hZ2UgJytxLnRoZWNsYXNzKyciIHRpdGxlPSInK3EuYWx0KyciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybChcJycrcS51cmwrIicpOyIrcS5zdHlsZSsnIiBkYXRhLWhyZWY9IicrcS5kYXRhaHJlZisnIj4nK3EuY29udGVudCsiPC9kaXY+Iil9aS5wcmVsb2FkKDApO2kucmVzaXplKCl9fSxwcmVsb2FkOmZ1bmN0aW9uKHEpe3ZhciBwPWEoIjxpbWcvPiIpO3AubG9hZChmdW5jdGlvbigpe2lmKGY9PTApe2cuc2V0dXAoKTtjLm9uRmlyc3RJbWFnZUxvYWRlZCgpfWlmKGY9PShhLlNsaWRlcy5sZW5ndGgtMSkpe2Mub25JbWFnZXNMb2FkZWQobSl9ZWxzZXtmKys7aS5wcmVsb2FkKGYpfX0pO3BbMF0uc3JjPWEuU2xpZGVzW3FdLnVybDtqLnB1c2gocFswXSl9LHJlc2l6ZTpmdW5jdGlvbigpe2EuV2luZG93LmJpbmQoYS5FdmVudHMuUkVTSVpFLGZ1bmN0aW9uKCl7YS5TY3JvbGwuYWRkQ2xhc3MoIm1jLWhpZGUtc2Nyb2xscyIpO2EuV2luZG93LmRhdGEoImgiLGsuc2l6ZXMoKS5oKS5kYXRhKCJ3IixrLnNpemVzKCkudyk7bS5oZWlnaHQoYS5XaW5kb3cuZGF0YSgiaCIpKS53aWR0aChhLldpbmRvdy5kYXRhKCJ3IikpLmNoaWxkcmVuKCkuaGVpZ2h0KGEuV2luZG93LmRhdGEoImgiKSkud2lkdGgoYS5XaW5kb3cuZGF0YSgidyIpKTttLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpe3RoaXMuY3ljbGVIPWEuV2luZG93LmRhdGEoImgiKTt0aGlzLmN5Y2xlVz1hLldpbmRvdy5kYXRhKCJ3Iil9KTthKGEuU2Nyb2xsKS5yZW1vdmVDbGFzcygibWMtaGlkZS1zY3JvbGxzIil9KX19O3ZhciBoPXtzZXR1cDpmdW5jdGlvbigpe3ZhciB1LHMscSxyLHA9YS5TbGlkZXMubGVuZ3RoO2lmKGEuQnJvd3NlclRlc3RzLm1zaWUmJiFjLm92ZXJyaWRlTVNJRVN0b3Ape2RvY3VtZW50LmV4ZWNDb21tYW5kKCJTdG9wIixmYWxzZSl9bS5odG1sKCIiKTthLkJvZHkuYWRkQ2xhc3MoIm1jLW9sZC1icm93c2VyIik7aWYoYS5TbGlkZXMubGVuZ3RoPjApe2EuU2Nyb2xsLmFkZENsYXNzKCJtYy1oaWRlLXNjcm9sbHMiKTthLldpbmRvdy5kYXRhKCJoIixrLnNpemVzKCkuaCkuZGF0YSgidyIsay5zaXplcygpLncpO2EoImJvZHkiKS5hcHBlbmQoYSgiPGRpdj48L2Rpdj4iKS5hdHRyKCJjbGFzcyIsIm1jLWxvYWRlciIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiItOTk5OXB4In0pKTtmb3Iocj0wO3I8cDtyKyspe2lmKGEuU2xpZGVzW3JdLmNvbnRlbnQubGVuZ3RoPT0wKXt1PSc8aW1nIHNyYz0iJythLlNsaWRlc1tyXS51cmwrJyIgLz4nfWVsc2V7dT1hLlNsaWRlc1tyXS5jb250ZW50fXE9YSgiPGRpdj4iK3UrIjwvZGl2PiIpLmF0dHIoImNsYXNzIiwibWMtaW1hZ2UgbWMtaW1hZ2UtbiIrcisiICIrYS5TbGlkZXNbcl0udGhlY2xhc3MpO20uYXBwZW5kKHEpO2lmKGEoIi5tYy1pbWFnZS1uIityKS5jaGlsZHJlbigiaW1nIikubGVuZ3RoPT0wKXt9ZWxzZXthKCJkaXYubWMtbG9hZGVyIikuYXBwZW5kKGEoIi5tYy1pbWFnZS1uIityKS5jaGlsZHJlbigiaW1nIikuZmlyc3QoKS5jbG9uZSgpLmFkZENsYXNzKCJub3QtbG9hZGVkIikpfX1oLnByZWxvYWQoKTtoLndpbmRvd1Jlc2l6ZSgpfX0scHJlbG9hZDpmdW5jdGlvbigpe3ZhciBwPXNldEludGVydmFsKGZ1bmN0aW9uKCl7YSgiLm1jLWxvYWRlciIpLmNoaWxkcmVuKCJpbWciKS5lYWNoKGZ1bmN0aW9uKHIpe3ZhciBxPWEodGhpcyk7aWYocS5oYXNDbGFzcygibm90LWxvYWRlZCIpKXtpZihxLmhlaWdodCgpPjApe2EodGhpcykucmVtb3ZlQ2xhc3MoIm5vdC1sb2FkZWQiKTt2YXIgcz1hKCJkaXYubWMtaW1hZ2UtbiIrcikuY2hpbGRyZW4oImltZyIpLmZpcnN0KCk7cy5kYXRhKCJoIixxLmhlaWdodCgpKS5kYXRhKCJ3IixxLndpZHRoKCkpLmRhdGEoImFyIiwocS53aWR0aCgpL3EuaGVpZ2h0KCkpKTtoLm9uY2VMb2FkZWQocil9fX0pO2lmKGEoIi5ub3QtbG9hZGVkIikubGVuZ3RoPT0wKXthKCIubWMtbG9hZGVyIikucmVtb3ZlKCk7Y2xlYXJJbnRlcnZhbChwKX19LDEwMDApfSxvbmNlTG9hZGVkOmZ1bmN0aW9uKHApe2gubWF4aW1hZ2UocCk7aWYocD09MCl7bS5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSk7Yy5vbkZpcnN0SW1hZ2VMb2FkZWQoKX1lbHNle2lmKHA9PWEuU2xpZGVzLmxlbmd0aC0xKXtnLnNldHVwKCk7YShhLlNjcm9sbCkucmVtb3ZlQ2xhc3MoIm1jLWhpZGUtc2Nyb2xscyIpO2Mub25JbWFnZXNMb2FkZWQobSk7aWYoYy5kZWJ1Zyl7YigiIC0gRmluYWwgTWF4aW1hZ2UgLSAiKTtiKG0pfX19fSxtYXhpbWFnZTpmdW5jdGlvbihxKXthKCJkaXYubWMtaW1hZ2UtbiIrcSkuaGVpZ2h0KGEuV2luZG93LmRhdGEoImgiKSkud2lkdGgoYS5XaW5kb3cuZGF0YSgidyIpKS5jaGlsZHJlbigiaW1nIikuZmlyc3QoKS5lYWNoKGZ1bmN0aW9uKCl7bi5tYXhjb3ZlcihhKHRoaXMpKX0pfSx3aW5kb3dSZXNpemU6ZnVuY3Rpb24oKXthLldpbmRvdy5iaW5kKGEuRXZlbnRzLlJFU0laRSxmdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLmlkKTt0aGlzLmlkPXNldFRpbWVvdXQoaC5kb25lUmVzaXppbmcsMjAwKX0pfSxkb25lUmVzaXppbmc6ZnVuY3Rpb24oKXthKGEuU2Nyb2xsKS5hZGRDbGFzcygibWMtaGlkZS1zY3JvbGxzIik7YS5XaW5kb3cuZGF0YSgiaCIsay5zaXplcygpLmgpLmRhdGEoInciLGsuc2l6ZXMoKS53KTttLmhlaWdodChhLldpbmRvdy5kYXRhKCJoIikpLndpZHRoKGEuV2luZG93LmRhdGEoInciKSk7bS5maW5kKCIubWMtaW1hZ2UiKS5lYWNoKGZ1bmN0aW9uKHEpe2gubWF4aW1hZ2UocSl9KTt2YXIgcD1tLmRhdGEoImN5Y2xlLm9wdHMiKTtpZihwIT11bmRlZmluZWQpe3AuaGVpZ2h0PWEuV2luZG93LmRhdGEoImgiKTtwLndpZHRoPWEuV2luZG93LmRhdGEoInciKTtqUXVlcnkuZWFjaChwLmVsZW1lbnRzLGZ1bmN0aW9uKHEscil7ci5jeWNsZVc9YS5XaW5kb3cuZGF0YSgidyIpO3IuY3ljbGVIPWEuV2luZG93LmRhdGEoImgiKX0pfWEoYS5TY3JvbGwpLnJlbW92ZUNsYXNzKCJtYy1oaWRlLXNjcm9sbHMiKX19O3ZhciBnPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBxLHA7bS5hZGRDbGFzcygibWMtY3ljbGUiKTthLldpbmRvdy5kYXRhKCJoIixrLnNpemVzKCkuaCkuZGF0YSgidyIsay5zaXplcygpLncpO2pRdWVyeS5lYXNpbmcuZWFzZUZvckNTU1RyYW5zaXRpb249ZnVuY3Rpb24odix3LHUsQSx6LHkpe3JldHVybiB1K0F9O3ZhciByPWEuZXh0ZW5kKHtmaXQ6MSxjb250YWluZXJSZXNpemU6MCxoZWlnaHQ6YS5XaW5kb3cuZGF0YSgiaCIpLHdpZHRoOmEuV2luZG93LmRhdGEoInciKSxzbGlkZVJlc2l6ZTpmYWxzZSxlYXNpbmc6KGEuQnJvd3NlclRlc3RzLmNzc1RyYW5zaXRpb25zJiZjLmNzc1RyYW5zaXRpb25zPyJlYXNlRm9yQ1NTVHJhbnNpdGlvbiI6InN3aW5nIil9LGMuY3ljbGVPcHRpb25zKTttLmN5Y2xlKHIpfX07dmFyIG49e2NlbnRlcjpmdW5jdGlvbihwKXtpZihjLnZlcnRpY2FsQ2VudGVyKXtwLmNzcyh7bWFyZ2luVG9wOigocC5oZWlnaHQoKS1hLldpbmRvdy5kYXRhKCJoIikpLzIpKi0xfSl9aWYoYy5ob3Jpem9udGFsQ2VudGVyKXtwLmNzcyh7bWFyZ2luTGVmdDooKHAud2lkdGgoKS1hLldpbmRvdy5kYXRhKCJ3IikpLzIpKi0xfSl9fSxmaWxsOmZ1bmN0aW9uKHApe3ZhciBxPXAuaXMoIm9iamVjdCIpP3AucGFyZW50KCkuZmlyc3QoKTpwO2lmKHR5cGVvZiBjLmJhY2tncm91bmRTaXplPT0iZnVuY3Rpb24iKXtjLmJhY2tncm91bmRTaXplKHApfWVsc2V7aWYoYy5iYWNrZ3JvdW5kU2l6ZT09ImNvdmVyIil7aWYoYS5XaW5kb3cuZGF0YSgidyIpL2EuV2luZG93LmRhdGEoImgiKTxxLmRhdGEoImFyIikpe3AuaGVpZ2h0KGEuV2luZG93LmRhdGEoImgiKSkud2lkdGgoKGEuV2luZG93LmRhdGEoImgiKSpxLmRhdGEoImFyIikpLnRvRml4ZWQoMCkpfWVsc2V7cC5oZWlnaHQoKGEuV2luZG93LmRhdGEoInciKS9xLmRhdGEoImFyIikpLnRvRml4ZWQoMCkpLndpZHRoKGEuV2luZG93LmRhdGEoInciKSl9fWVsc2V7aWYoYy5iYWNrZ3JvdW5kU2l6ZT09ImNvbnRhaW4iKXtpZihhLldpbmRvdy5kYXRhKCJ3IikvYS5XaW5kb3cuZGF0YSgiaCIpPHEuZGF0YSgiYXIiKSl7cC5oZWlnaHQoKGEuV2luZG93LmRhdGEoInciKS9xLmRhdGEoImFyIikpLnRvRml4ZWQoMCkpLndpZHRoKGEuV2luZG93LmRhdGEoInciKSl9ZWxzZXtwLmhlaWdodChhLldpbmRvdy5kYXRhKCJoIikpLndpZHRoKChhLldpbmRvdy5kYXRhKCJoIikqcS5kYXRhKCJhciIpKS50b0ZpeGVkKDApKX19ZWxzZXtiKCJUaGUgYmFja2dyb3VuZFNpemUgb3B0aW9uIHdhcyBub3QgcmVjb2duaXplZCBmb3Igb2xkZXIgYnJvd3NlcnMuIil9fX19LG1heGNvdmVyOmZ1bmN0aW9uKHApe24uZmlsbChwKTtuLmNlbnRlcihwKX0sbWF4Y29udGFpbjpmdW5jdGlvbihwKXtuLmZpbGwocCk7bi5jZW50ZXIocCl9fTt2YXIgaz17YnJvd3Nlcl90ZXN0czpmdW5jdGlvbigpe3ZhciBxPWEoIjxkaXYgLz4iKVswXSx1PVsiTW96IiwiV2Via2l0IiwiS2h0bWwiLCJPIiwibXMiXSx0PSJ0cmFuc2l0aW9uIixzPXtjc3NUcmFuc2l0aW9uczpmYWxzZSxjc3NCYWNrZ3JvdW5kU2l6ZTooImJhY2tncm91bmRTaXplIiBpbiBxLnN0eWxlJiZjLmNzc0JhY2tncm91bmRTaXplKSxodG1sNVZpZGVvOmZhbHNlLG1zaWU6ZmFsc2V9O2lmKGMuY3NzVHJhbnNpdGlvbnMpe2lmKHR5cGVvZiBxLnN0eWxlW3RdPT0ic3RyaW5nIil7cy5jc3NUcmFuc2l0aW9ucz10cnVlfXQ9dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKTtmb3IodmFyIHI9MDtyPHUubGVuZ3RoO3IrKyl7aWYodVtyXSt0IGluIHEuc3R5bGUpe3MuY3NzVHJhbnNpdGlvbnM9dHJ1ZX19fWlmKCEhZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKS5jYW5QbGF5VHlwZSl7cy5odG1sNVZpZGVvPXRydWV9cy5tc2llPShrLm1zaWUoKSE9PXVuZGVmaW5lZCk7aWYoYy5kZWJ1Zyl7YigiIC0gQnJvd3NlciBUZXN0IC0gIik7YihzKX1yZXR1cm4gc30sY29uc3RydWN0X3NsaWRlX29iamVjdDpmdW5jdGlvbigpe3ZhciByPW5ldyBPYmplY3QoKSxwPW5ldyBBcnJheSgpLHE9IiI7bS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24odCl7dmFyIHM9YSh0aGlzKS5pcygiaW1nIik/YSh0aGlzKS5jbG9uZSgpOmEodGhpcykuZmluZCgiaW1nIikuZmlyc3QoKS5jbG9uZSgpO3I9e307ci51cmw9cy5hdHRyKCJzcmMiKTtyLnRpdGxlPXMuYXR0cigidGl0bGUiKSE9dW5kZWZpbmVkP3MuYXR0cigidGl0bGUiKToiIjtyLmFsdD1zLmF0dHIoImFsdCIpIT11bmRlZmluZWQ/cy5hdHRyKCJhbHQiKToiIjtyLnRoZWNsYXNzPXMuYXR0cigiY2xhc3MiKSE9dW5kZWZpbmVkP3MuYXR0cigiY2xhc3MiKToiIjtyLnN0eWxlcz1zLmF0dHIoInN0eWxlIikhPXVuZGVmaW5lZD9zLmF0dHIoInN0eWxlIik6IiI7ci5vcmlnPXMuY2xvbmUoKTtyLmRhdGFocmVmPXMuYXR0cigiZGF0YS1ocmVmIikhPXVuZGVmaW5lZD9zLmF0dHIoImRhdGEtaHJlZiIpOiIiO3IuY29udGVudD0iIjtpZihhKHRoaXMpLmZpbmQoImltZyIpLmxlbmd0aD4wKXtpZihhLkJyb3dzZXJUZXN0cy5jc3NCYWNrZ3JvdW5kU2l6ZSl7YSh0aGlzKS5maW5kKCJpbWciKS5maXJzdCgpLnJlbW92ZSgpfXIuY29udGVudD1hKHRoaXMpLmh0bWwoKX1zWzBdLnNyYz0iIjtpZihhLkJyb3dzZXJUZXN0cy5jc3NCYWNrZ3JvdW5kU2l6ZSl7YSh0aGlzKS5yZW1vdmUoKX1wLnB1c2gocil9KTtpZihjLmRlYnVnKXtiKCIgLSBTbGlkZSBPYmplY3QgLSAiKTtiKHApfXJldHVybiBwfSxtc2llOmZ1bmN0aW9uKCl7dmFyIHIscD0zLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikscT1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpIik7d2hpbGUocy5pbm5lckhUTUw9IjwhLS1baWYgZ3QgSUUgIisoKytwKSsiXT48aT48L2k+PCFbZW5kaWZdLS0+IixxWzBdKXt9cmV0dXJuIHA+ND9wOnJ9LHNpemVzOmZ1bmN0aW9uKCl7dmFyIHA9e2g6MCx3OjB9O2lmKGMuZmlsbEVsZW1lbnQ9PSJ3aW5kb3ciKXtwLmg9YS5XaW5kb3cuaGVpZ2h0KCk7cC53PWEuV2luZG93LndpZHRoKCl9ZWxzZXt2YXIgcT1tLnBhcmVudHMoYy5maWxsRWxlbWVudCkuZmlyc3QoKTtpZihxLmhlaWdodCgpPT0wfHxxLmRhdGEoIndpbmRvd0hlaWdodCIpPT10cnVlKXtxLmRhdGEoIndpbmRvd0hlaWdodCIsdHJ1ZSk7cC5oPWEuV2luZG93LmhlaWdodCgpfWVsc2V7cC5oPXEuaGVpZ2h0KCl9aWYocS53aWR0aCgpPT0wfHxxLmRhdGEoIndpbmRvd1dpZHRoIik9PXRydWUpe3EuZGF0YSgid2luZG93V2lkdGgiLHRydWUpO3Audz1hLldpbmRvdy53aWR0aCgpfWVsc2V7cC53PXEud2lkdGgoKX19cmV0dXJuIHB9fTthLkJyb3dzZXJUZXN0cz1rLmJyb3dzZXJfdGVzdHMoKTtpZih0eXBlb2YgZD09InN0cmluZyIpe2lmKGEuQnJvd3NlclRlc3RzLmh0bWw1VmlkZW98fCFtLmlzKCJ2aWRlbyIpKXt2YXIgbCxvPW0uaXMoIm9iamVjdCIpP20ucGFyZW50KCkuZmlyc3QoKTptO2lmKCFhLkJvZHkuaGFzQ2xhc3MoIm1jLW9sZC1icm93c2VyIikpe2EuQm9keS5hZGRDbGFzcygibWMtb2xkLWJyb3dzZXIiKX1hLldpbmRvdy5kYXRhKCJoIixrLnNpemVzKCkuaCkuZGF0YSgidyIsay5zaXplcygpLncpO28uZGF0YSgiaCIsbS5oZWlnaHQoKSkuZGF0YSgidyIsbS53aWR0aCgpKS5kYXRhKCJhciIsbS53aWR0aCgpL20uaGVpZ2h0KCkpO2EuV2luZG93LmJpbmQoYS5FdmVudHMuUkVTSVpFLGZ1bmN0aW9uKCl7YS5XaW5kb3cuZGF0YSgiaCIsay5zaXplcygpLmgpLmRhdGEoInciLGsuc2l6ZXMoKS53KTtsPW0uZGF0YSgicmVzaXplciIpO2NsZWFyVGltZW91dChsKTtsPXNldFRpbWVvdXQobltkXShtKSwyMDApO20uZGF0YSgicmVzaXplciIsbCl9KTtuW2RdKG0pfX1lbHNle2EuU2xpZGVzPWsuY29uc3RydWN0X3NsaWRlX29iamVjdCgpO2lmKGEuQnJvd3NlclRlc3RzLmNzc0JhY2tncm91bmRTaXplKXtpZihjLmRlYnVnKXtiKCIgLSBVc2luZyBNb2Rlcm4gLSAiKX1pLnNldHVwKCl9ZWxzZXtpZihjLmRlYnVnKXtiKCIgLSBVc2luZyBPbGQgLSAiKX1oLnNldHVwKCl9fX0pO2Z1bmN0aW9uIGIoZil7aWYod2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLmxvZyl7d2luZG93LmNvbnNvbGUubG9nKGYpfX19O2EuZm4ubWF4aW1hZ2UuZGVmYXVsdHM9e2RlYnVnOmZhbHNlLGNzc0JhY2tncm91bmRTaXplOnRydWUsY3NzVHJhbnNpdGlvbnM6dHJ1ZSx2ZXJ0aWNhbENlbnRlcjp0cnVlLGhvcml6b250YWxDZW50ZXI6dHJ1ZSxzY2FsZUludGVydmFsOjIwLGJhY2tncm91bmRTaXplOiJjb3ZlciIsZmlsbEVsZW1lbnQ6IndpbmRvdyIsb3ZlcnJpZGVNU0lFU3RvcDpmYWxzZSxvbkZpcnN0SW1hZ2VMb2FkZWQ6ZnVuY3Rpb24oKXt9LG9uSW1hZ2VzTG9hZGVkOmZ1bmN0aW9uKCl7fX19KShqUXVlcnkpOw0KDQovKg0KICogIEJ4U2xpZGVyDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCg0KLyoqDQogKiBCeFNsaWRlciB2NC4xLjIgLSBGdWxseSBsb2FkZWQsIHJlc3BvbnNpdmUgY29udGVudCBzbGlkZXINCiAqLw0KIWZ1bmN0aW9uKHQpe3ZhciBlPXt9LHM9e21vZGU6Imhvcml6b250YWwiLHNsaWRlU2VsZWN0b3I6IiIsaW5maW5pdGVMb29wOiEwLGhpZGVDb250cm9sT25FbmQ6ITEsc3BlZWQ6NTAwLGVhc2luZzpudWxsLHNsaWRlTWFyZ2luOjAsc3RhcnRTbGlkZTowLHJhbmRvbVN0YXJ0OiExLGNhcHRpb25zOiExLHRpY2tlcjohMSx0aWNrZXJIb3ZlcjohMSxhZGFwdGl2ZUhlaWdodDohMSxhZGFwdGl2ZUhlaWdodFNwZWVkOjUwMCx2aWRlbzohMSx1c2VDU1M6ITAscHJlbG9hZEltYWdlczoidmlzaWJsZSIscmVzcG9uc2l2ZTohMCxzbGlkZVpJbmRleDo1MCx0b3VjaEVuYWJsZWQ6ITAsc3dpcGVUaHJlc2hvbGQ6NTAsb25lVG9PbmVUb3VjaDohMCxwcmV2ZW50RGVmYXVsdFN3aXBlWDohMCxwcmV2ZW50RGVmYXVsdFN3aXBlWTohMSxwYWdlcjohMCxwYWdlclR5cGU6ImZ1bGwiLHBhZ2VyU2hvcnRTZXBhcmF0b3I6IiAvICIscGFnZXJTZWxlY3RvcjpudWxsLGJ1aWxkUGFnZXI6bnVsbCxwYWdlckN1c3RvbTpudWxsLGNvbnRyb2xzOiEwLG5leHRUZXh0OiJOZXh0IixwcmV2VGV4dDoiUHJldiIsbmV4dFNlbGVjdG9yOm51bGwscHJldlNlbGVjdG9yOm51bGwsYXV0b0NvbnRyb2xzOiExLHN0YXJ0VGV4dDoiU3RhcnQiLHN0b3BUZXh0OiJTdG9wIixhdXRvQ29udHJvbHNDb21iaW5lOiExLGF1dG9Db250cm9sc1NlbGVjdG9yOm51bGwsYXV0bzohMSxwYXVzZTo0ZTMsYXV0b1N0YXJ0OiEwLGF1dG9EaXJlY3Rpb246Im5leHQiLGF1dG9Ib3ZlcjohMSxhdXRvRGVsYXk6MCxtaW5TbGlkZXM6MSxtYXhTbGlkZXM6MSxtb3ZlU2xpZGVzOjAsc2xpZGVXaWR0aDowLG9uU2xpZGVyTG9hZDpmdW5jdGlvbigpe30sb25TbGlkZUJlZm9yZTpmdW5jdGlvbigpe30sb25TbGlkZUFmdGVyOmZ1bmN0aW9uKCl7fSxvblNsaWRlTmV4dDpmdW5jdGlvbigpe30sb25TbGlkZVByZXY6ZnVuY3Rpb24oKXt9LG9uU2xpZGVyUmVzaXplOmZ1bmN0aW9uKCl7fX07dC5mbi5ieFNsaWRlcj1mdW5jdGlvbihuKXtpZigwPT10aGlzLmxlbmd0aClyZXR1cm4gdGhpcztpZih0aGlzLmxlbmd0aD4xKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt0KHRoaXMpLmJ4U2xpZGVyKG4pfSksdGhpczt2YXIgbz17fSxyPXRoaXM7ZS5lbD10aGlzO3ZhciBhPXQod2luZG93KS53aWR0aCgpLGw9dCh3aW5kb3cpLmhlaWdodCgpLGQ9ZnVuY3Rpb24oKXtvLnNldHRpbmdzPXQuZXh0ZW5kKHt9LHMsbiksby5zZXR0aW5ncy5zbGlkZVdpZHRoPXBhcnNlSW50KG8uc2V0dGluZ3Muc2xpZGVXaWR0aCksby5jaGlsZHJlbj1yLmNoaWxkcmVuKG8uc2V0dGluZ3Muc2xpZGVTZWxlY3Rvciksby5jaGlsZHJlbi5sZW5ndGg8by5zZXR0aW5ncy5taW5TbGlkZXMmJihvLnNldHRpbmdzLm1pblNsaWRlcz1vLmNoaWxkcmVuLmxlbmd0aCksby5jaGlsZHJlbi5sZW5ndGg8by5zZXR0aW5ncy5tYXhTbGlkZXMmJihvLnNldHRpbmdzLm1heFNsaWRlcz1vLmNoaWxkcmVuLmxlbmd0aCksby5zZXR0aW5ncy5yYW5kb21TdGFydCYmKG8uc2V0dGluZ3Muc3RhcnRTbGlkZT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqby5jaGlsZHJlbi5sZW5ndGgpKSxvLmFjdGl2ZT17aW5kZXg6by5zZXR0aW5ncy5zdGFydFNsaWRlfSxvLmNhcm91c2VsPW8uc2V0dGluZ3MubWluU2xpZGVzPjF8fG8uc2V0dGluZ3MubWF4U2xpZGVzPjEsby5jYXJvdXNlbCYmKG8uc2V0dGluZ3MucHJlbG9hZEltYWdlcz0iYWxsIiksby5taW5UaHJlc2hvbGQ9by5zZXR0aW5ncy5taW5TbGlkZXMqby5zZXR0aW5ncy5zbGlkZVdpZHRoKyhvLnNldHRpbmdzLm1pblNsaWRlcy0xKSpvLnNldHRpbmdzLnNsaWRlTWFyZ2luLG8ubWF4VGhyZXNob2xkPW8uc2V0dGluZ3MubWF4U2xpZGVzKm8uc2V0dGluZ3Muc2xpZGVXaWR0aCsoby5zZXR0aW5ncy5tYXhTbGlkZXMtMSkqby5zZXR0aW5ncy5zbGlkZU1hcmdpbixvLndvcmtpbmc9ITEsby5jb250cm9scz17fSxvLmludGVydmFsPW51bGwsby5hbmltUHJvcD0idmVydGljYWwiPT1vLnNldHRpbmdzLm1vZGU/InRvcCI6ImxlZnQiLG8udXNpbmdDU1M9by5zZXR0aW5ncy51c2VDU1MmJiJmYWRlIiE9by5zZXR0aW5ncy5tb2RlJiZmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9WyJXZWJraXRQZXJzcGVjdGl2ZSIsIk1velBlcnNwZWN0aXZlIiwiT1BlcnNwZWN0aXZlIiwibXNQZXJzcGVjdGl2ZSJdO2Zvcih2YXIgaSBpbiBlKWlmKHZvaWQgMCE9PXQuc3R5bGVbZVtpXV0pcmV0dXJuIG8uY3NzUHJlZml4PWVbaV0ucmVwbGFjZSgiUGVyc3BlY3RpdmUiLCIiKS50b0xvd2VyQ2FzZSgpLG8uYW5pbVByb3A9Ii0iK28uY3NzUHJlZml4KyItdHJhbnNmb3JtIiwhMDtyZXR1cm4hMX0oKSwidmVydGljYWwiPT1vLnNldHRpbmdzLm1vZGUmJihvLnNldHRpbmdzLm1heFNsaWRlcz1vLnNldHRpbmdzLm1pblNsaWRlcyksci5kYXRhKCJvcmlnU3R5bGUiLHIuYXR0cigic3R5bGUiKSksci5jaGlsZHJlbihvLnNldHRpbmdzLnNsaWRlU2VsZWN0b3IpLmVhY2goZnVuY3Rpb24oKXt0KHRoaXMpLmRhdGEoIm9yaWdTdHlsZSIsdCh0aGlzKS5hdHRyKCJzdHlsZSIpKX0pLGMoKX0sYz1mdW5jdGlvbigpe3Iud3JhcCgnPGRpdiBjbGFzcz0iYngtd3JhcHBlciI+PGRpdiBjbGFzcz0iYngtdmlld3BvcnQiPjwvZGl2PjwvZGl2PicpLG8udmlld3BvcnQ9ci5wYXJlbnQoKSxvLmxvYWRlcj10KCc8ZGl2IGNsYXNzPSJieC1sb2FkaW5nIiAvPicpLG8udmlld3BvcnQucHJlcGVuZChvLmxvYWRlciksci5jc3Moe3dpZHRoOiJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlPzEwMCpvLmNoaWxkcmVuLmxlbmd0aCsyMTUrIiUiOiJhdXRvIixwb3NpdGlvbjoicmVsYXRpdmUifSksby51c2luZ0NTUyYmby5zZXR0aW5ncy5lYXNpbmc/ci5jc3MoIi0iK28uY3NzUHJlZml4KyItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24iLG8uc2V0dGluZ3MuZWFzaW5nKTpvLnNldHRpbmdzLmVhc2luZ3x8KG8uc2V0dGluZ3MuZWFzaW5nPSJzd2luZyIpLGYoKSxvLnZpZXdwb3J0LmNzcyh7d2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KSxvLnZpZXdwb3J0LnBhcmVudCgpLmNzcyh7bWF4V2lkdGg6cCgpfSksby5zZXR0aW5ncy5wYWdlcnx8by52aWV3cG9ydC5wYXJlbnQoKS5jc3Moe21hcmdpbjoiMCBhdXRvIDBweCJ9KSxvLmNoaWxkcmVuLmNzcyh7ImZsb2F0IjoiaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZT8ibGVmdCI6Im5vbmUiLGxpc3RTdHlsZToibm9uZSIscG9zaXRpb246InJlbGF0aXZlIn0pLG8uY2hpbGRyZW4uY3NzKCJ3aWR0aCIsdSgpKSwiaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZSYmby5zZXR0aW5ncy5zbGlkZU1hcmdpbj4wJiZvLmNoaWxkcmVuLmNzcygibWFyZ2luUmlnaHQiLG8uc2V0dGluZ3Muc2xpZGVNYXJnaW4pLCJ2ZXJ0aWNhbCI9PW8uc2V0dGluZ3MubW9kZSYmby5zZXR0aW5ncy5zbGlkZU1hcmdpbj4wJiZvLmNoaWxkcmVuLmNzcygibWFyZ2luQm90dG9tIixvLnNldHRpbmdzLnNsaWRlTWFyZ2luKSwiZmFkZSI9PW8uc2V0dGluZ3MubW9kZSYmKG8uY2hpbGRyZW4uY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHpJbmRleDowLGRpc3BsYXk6Im5vbmUifSksby5jaGlsZHJlbi5lcShvLnNldHRpbmdzLnN0YXJ0U2xpZGUpLmNzcyh7ekluZGV4Om8uc2V0dGluZ3Muc2xpZGVaSW5kZXgsZGlzcGxheToiYmxvY2sifSkpLG8uY29udHJvbHMuZWw9dCgnPGRpdiBjbGFzcz0iYngtY29udHJvbHMiIC8+Jyksby5zZXR0aW5ncy5jYXB0aW9ucyYmUCgpLG8uYWN0aXZlLmxhc3Q9by5zZXR0aW5ncy5zdGFydFNsaWRlPT14KCktMSxvLnNldHRpbmdzLnZpZGVvJiZyLmZpdFZpZHMoKTt2YXIgZT1vLmNoaWxkcmVuLmVxKG8uc2V0dGluZ3Muc3RhcnRTbGlkZSk7ImFsbCI9PW8uc2V0dGluZ3MucHJlbG9hZEltYWdlcyYmKGU9by5jaGlsZHJlbiksby5zZXR0aW5ncy50aWNrZXI/by5zZXR0aW5ncy5wYWdlcj0hMTooby5zZXR0aW5ncy5wYWdlciYmVCgpLG8uc2V0dGluZ3MuY29udHJvbHMmJkMoKSxvLnNldHRpbmdzLmF1dG8mJm8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzJiZFKCksKG8uc2V0dGluZ3MuY29udHJvbHN8fG8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzfHxvLnNldHRpbmdzLnBhZ2VyKSYmby52aWV3cG9ydC5hZnRlcihvLmNvbnRyb2xzLmVsKSksZyhlLGgpfSxnPWZ1bmN0aW9uKGUsaSl7dmFyIHM9ZS5maW5kKCJpbWcsIGlmcmFtZSIpLmxlbmd0aDtpZigwPT1zKXJldHVybiBpKCksdm9pZCAwO3ZhciBuPTA7ZS5maW5kKCJpbWcsIGlmcmFtZSIpLmVhY2goZnVuY3Rpb24oKXt0KHRoaXMpLm9uZSgibG9hZCIsZnVuY3Rpb24oKXsrK249PXMmJmkoKX0pLmVhY2goZnVuY3Rpb24oKXt0aGlzLmNvbXBsZXRlJiZ0KHRoaXMpLmxvYWQoKX0pfSl9LGg9ZnVuY3Rpb24oKXtpZihvLnNldHRpbmdzLmluZmluaXRlTG9vcCYmImZhZGUiIT1vLnNldHRpbmdzLm1vZGUmJiFvLnNldHRpbmdzLnRpY2tlcil7dmFyIGU9InZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlP28uc2V0dGluZ3MubWluU2xpZGVzOm8uc2V0dGluZ3MubWF4U2xpZGVzLGk9by5jaGlsZHJlbi5zbGljZSgwLGUpLmNsb25lKCkuYWRkQ2xhc3MoImJ4LWNsb25lIikscz1vLmNoaWxkcmVuLnNsaWNlKC1lKS5jbG9uZSgpLmFkZENsYXNzKCJieC1jbG9uZSIpO3IuYXBwZW5kKGkpLnByZXBlbmQocyl9by5sb2FkZXIucmVtb3ZlKCksUygpLCJ2ZXJ0aWNhbCI9PW8uc2V0dGluZ3MubW9kZSYmKG8uc2V0dGluZ3MuYWRhcHRpdmVIZWlnaHQ9ITApLG8udmlld3BvcnQuaGVpZ2h0KHYoKSksci5yZWRyYXdTbGlkZXIoKSxvLnNldHRpbmdzLm9uU2xpZGVyTG9hZChvLmFjdGl2ZS5pbmRleCksby5pbml0aWFsaXplZD0hMCxvLnNldHRpbmdzLnJlc3BvbnNpdmUmJnQod2luZG93KS5iaW5kKCJyZXNpemUiLFopLG8uc2V0dGluZ3MuYXV0byYmby5zZXR0aW5ncy5hdXRvU3RhcnQmJkgoKSxvLnNldHRpbmdzLnRpY2tlciYmTCgpLG8uc2V0dGluZ3MucGFnZXImJnEoby5zZXR0aW5ncy5zdGFydFNsaWRlKSxvLnNldHRpbmdzLmNvbnRyb2xzJiZXKCksby5zZXR0aW5ncy50b3VjaEVuYWJsZWQmJiFvLnNldHRpbmdzLnRpY2tlciYmTygpfSx2PWZ1bmN0aW9uKCl7dmFyIGU9MCxzPXQoKTtpZigidmVydGljYWwiPT1vLnNldHRpbmdzLm1vZGV8fG8uc2V0dGluZ3MuYWRhcHRpdmVIZWlnaHQpaWYoby5jYXJvdXNlbCl7dmFyIG49MT09by5zZXR0aW5ncy5tb3ZlU2xpZGVzP28uYWN0aXZlLmluZGV4Om8uYWN0aXZlLmluZGV4Km0oKTtmb3Iocz1vLmNoaWxkcmVuLmVxKG4pLGk9MTtpPD1vLnNldHRpbmdzLm1heFNsaWRlcy0xO2krKylzPW4raT49by5jaGlsZHJlbi5sZW5ndGg/cy5hZGQoby5jaGlsZHJlbi5lcShpLTEpKTpzLmFkZChvLmNoaWxkcmVuLmVxKG4raSkpfWVsc2Ugcz1vLmNoaWxkcmVuLmVxKG8uYWN0aXZlLmluZGV4KTtlbHNlIHM9by5jaGlsZHJlbjtyZXR1cm4idmVydGljYWwiPT1vLnNldHRpbmdzLm1vZGU/KHMuZWFjaChmdW5jdGlvbigpe2UrPXQodGhpcykub3V0ZXJIZWlnaHQoKX0pLG8uc2V0dGluZ3Muc2xpZGVNYXJnaW4+MCYmKGUrPW8uc2V0dGluZ3Muc2xpZGVNYXJnaW4qKG8uc2V0dGluZ3MubWluU2xpZGVzLTEpKSk6ZT1NYXRoLm1heC5hcHBseShNYXRoLHMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcykub3V0ZXJIZWlnaHQoITEpfSkuZ2V0KCkpLGV9LHA9ZnVuY3Rpb24oKXt2YXIgdD0iMTAwJSI7cmV0dXJuIG8uc2V0dGluZ3Muc2xpZGVXaWR0aD4wJiYodD0iaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZT9vLnNldHRpbmdzLm1heFNsaWRlcypvLnNldHRpbmdzLnNsaWRlV2lkdGgrKG8uc2V0dGluZ3MubWF4U2xpZGVzLTEpKm8uc2V0dGluZ3Muc2xpZGVNYXJnaW46by5zZXR0aW5ncy5zbGlkZVdpZHRoKSx0fSx1PWZ1bmN0aW9uKCl7dmFyIHQ9by5zZXR0aW5ncy5zbGlkZVdpZHRoLGU9by52aWV3cG9ydC53aWR0aCgpO3JldHVybiAwPT1vLnNldHRpbmdzLnNsaWRlV2lkdGh8fG8uc2V0dGluZ3Muc2xpZGVXaWR0aD5lJiYhby5jYXJvdXNlbHx8InZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlP3Q9ZTpvLnNldHRpbmdzLm1heFNsaWRlcz4xJiYiaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZSYmKGU+by5tYXhUaHJlc2hvbGR8fGU8by5taW5UaHJlc2hvbGQmJih0PShlLW8uc2V0dGluZ3Muc2xpZGVNYXJnaW4qKG8uc2V0dGluZ3MubWluU2xpZGVzLTEpKS9vLnNldHRpbmdzLm1pblNsaWRlcykpLHR9LGY9ZnVuY3Rpb24oKXt2YXIgdD0xO2lmKCJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlJiZvLnNldHRpbmdzLnNsaWRlV2lkdGg+MClpZihvLnZpZXdwb3J0LndpZHRoKCk8by5taW5UaHJlc2hvbGQpdD1vLnNldHRpbmdzLm1pblNsaWRlcztlbHNlIGlmKG8udmlld3BvcnQud2lkdGgoKT5vLm1heFRocmVzaG9sZCl0PW8uc2V0dGluZ3MubWF4U2xpZGVzO2Vsc2V7dmFyIGU9by5jaGlsZHJlbi5maXJzdCgpLndpZHRoKCk7dD1NYXRoLmZsb29yKG8udmlld3BvcnQud2lkdGgoKS9lKX1lbHNlInZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlJiYodD1vLnNldHRpbmdzLm1pblNsaWRlcyk7cmV0dXJuIHR9LHg9ZnVuY3Rpb24oKXt2YXIgdD0wO2lmKG8uc2V0dGluZ3MubW92ZVNsaWRlcz4wKWlmKG8uc2V0dGluZ3MuaW5maW5pdGVMb29wKXQ9by5jaGlsZHJlbi5sZW5ndGgvbSgpO2Vsc2UgZm9yKHZhciBlPTAsaT0wO2U8by5jaGlsZHJlbi5sZW5ndGg7KSsrdCxlPWkrZigpLGkrPW8uc2V0dGluZ3MubW92ZVNsaWRlczw9ZigpP28uc2V0dGluZ3MubW92ZVNsaWRlczpmKCk7ZWxzZSB0PU1hdGguY2VpbChvLmNoaWxkcmVuLmxlbmd0aC9mKCkpO3JldHVybiB0fSxtPWZ1bmN0aW9uKCl7cmV0dXJuIG8uc2V0dGluZ3MubW92ZVNsaWRlcz4wJiZvLnNldHRpbmdzLm1vdmVTbGlkZXM8PWYoKT9vLnNldHRpbmdzLm1vdmVTbGlkZXM6ZigpfSxTPWZ1bmN0aW9uKCl7aWYoby5jaGlsZHJlbi5sZW5ndGg+by5zZXR0aW5ncy5tYXhTbGlkZXMmJm8uYWN0aXZlLmxhc3QmJiFvLnNldHRpbmdzLmluZmluaXRlTG9vcCl7aWYoImhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGUpe3ZhciB0PW8uY2hpbGRyZW4ubGFzdCgpLGU9dC5wb3NpdGlvbigpO2IoLShlLmxlZnQtKG8udmlld3BvcnQud2lkdGgoKS10LndpZHRoKCkpKSwicmVzZXQiLDApfWVsc2UgaWYoInZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlKXt2YXIgaT1vLmNoaWxkcmVuLmxlbmd0aC1vLnNldHRpbmdzLm1pblNsaWRlcyxlPW8uY2hpbGRyZW4uZXEoaSkucG9zaXRpb24oKTtiKC1lLnRvcCwicmVzZXQiLDApfX1lbHNle3ZhciBlPW8uY2hpbGRyZW4uZXEoby5hY3RpdmUuaW5kZXgqbSgpKS5wb3NpdGlvbigpO28uYWN0aXZlLmluZGV4PT14KCktMSYmKG8uYWN0aXZlLmxhc3Q9ITApLHZvaWQgMCE9ZSYmKCJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlP2IoLWUubGVmdCwicmVzZXQiLDApOiJ2ZXJ0aWNhbCI9PW8uc2V0dGluZ3MubW9kZSYmYigtZS50b3AsInJlc2V0IiwwKSl9fSxiPWZ1bmN0aW9uKHQsZSxpLHMpe2lmKG8udXNpbmdDU1Mpe3ZhciBuPSJ2ZXJ0aWNhbCI9PW8uc2V0dGluZ3MubW9kZT8idHJhbnNsYXRlM2QoMCwgIit0KyJweCwgMCkiOiJ0cmFuc2xhdGUzZCgiK3QrInB4LCAwLCAwKSI7ci5jc3MoIi0iK28uY3NzUHJlZml4KyItdHJhbnNpdGlvbi1kdXJhdGlvbiIsaS8xZTMrInMiKSwic2xpZGUiPT1lPyhyLmNzcyhvLmFuaW1Qcm9wLG4pLHIuYmluZCgidHJhbnNpdGlvbmVuZCB3ZWJraXRUcmFuc2l0aW9uRW5kIG9UcmFuc2l0aW9uRW5kIE1TVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtyLnVuYmluZCgidHJhbnNpdGlvbmVuZCB3ZWJraXRUcmFuc2l0aW9uRW5kIG9UcmFuc2l0aW9uRW5kIE1TVHJhbnNpdGlvbkVuZCIpLEQoKX0pKToicmVzZXQiPT1lP3IuY3NzKG8uYW5pbVByb3Asbik6InRpY2tlciI9PWUmJihyLmNzcygiLSIrby5jc3NQcmVmaXgrIi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiIsImxpbmVhciIpLHIuY3NzKG8uYW5pbVByb3Asbiksci5iaW5kKCJ0cmFuc2l0aW9uZW5kIHdlYmtpdFRyYW5zaXRpb25FbmQgb1RyYW5zaXRpb25FbmQgTVNUcmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe3IudW5iaW5kKCJ0cmFuc2l0aW9uZW5kIHdlYmtpdFRyYW5zaXRpb25FbmQgb1RyYW5zaXRpb25FbmQgTVNUcmFuc2l0aW9uRW5kIiksYihzLnJlc2V0VmFsdWUsInJlc2V0IiwwKSxOKCl9KSl9ZWxzZXt2YXIgYT17fTthW28uYW5pbVByb3BdPXQsInNsaWRlIj09ZT9yLmFuaW1hdGUoYSxpLG8uc2V0dGluZ3MuZWFzaW5nLGZ1bmN0aW9uKCl7RCgpfSk6InJlc2V0Ij09ZT9yLmNzcyhvLmFuaW1Qcm9wLHQpOiJ0aWNrZXIiPT1lJiZyLmFuaW1hdGUoYSxzcGVlZCwibGluZWFyIixmdW5jdGlvbigpe2Iocy5yZXNldFZhbHVlLCJyZXNldCIsMCksTigpfSl9fSx3PWZ1bmN0aW9uKCl7Zm9yKHZhciBlPSIiLGk9eCgpLHM9MDtpPnM7cysrKXt2YXIgbj0iIjtvLnNldHRpbmdzLmJ1aWxkUGFnZXImJnQuaXNGdW5jdGlvbihvLnNldHRpbmdzLmJ1aWxkUGFnZXIpPyhuPW8uc2V0dGluZ3MuYnVpbGRQYWdlcihzKSxvLnBhZ2VyRWwuYWRkQ2xhc3MoImJ4LWN1c3RvbS1wYWdlciIpKToobj1zKzEsby5wYWdlckVsLmFkZENsYXNzKCJieC1kZWZhdWx0LXBhZ2VyIikpLGUrPSc8ZGl2IGNsYXNzPSJieC1wYWdlci1pdGVtIj48YSBocmVmPSIiIGRhdGEtc2xpZGUtaW5kZXg9IicrcysnIiBjbGFzcz0iYngtcGFnZXItbGluayI+JytuKyI8L2E+PC9kaXY+In1vLnBhZ2VyRWwuaHRtbChlKX0sVD1mdW5jdGlvbigpe28uc2V0dGluZ3MucGFnZXJDdXN0b20/by5wYWdlckVsPXQoby5zZXR0aW5ncy5wYWdlckN1c3RvbSk6KG8ucGFnZXJFbD10KCc8ZGl2IGNsYXNzPSJieC1wYWdlciIgLz4nKSxvLnNldHRpbmdzLnBhZ2VyU2VsZWN0b3I/dChvLnNldHRpbmdzLnBhZ2VyU2VsZWN0b3IpLmh0bWwoby5wYWdlckVsKTpvLmNvbnRyb2xzLmVsLmFkZENsYXNzKCJieC1oYXMtcGFnZXIiKS5hcHBlbmQoby5wYWdlckVsKSx3KCkpLG8ucGFnZXJFbC5vbigiY2xpY2siLCJhIixJKX0sQz1mdW5jdGlvbigpe28uY29udHJvbHMubmV4dD10KCc8YSBjbGFzcz0iYngtbmV4dCIgaHJlZj0iIj4nK28uc2V0dGluZ3MubmV4dFRleHQrIjwvYT4iKSxvLmNvbnRyb2xzLnByZXY9dCgnPGEgY2xhc3M9ImJ4LXByZXYiIGhyZWY9IiI+JytvLnNldHRpbmdzLnByZXZUZXh0KyI8L2E+Iiksby5jb250cm9scy5uZXh0LmJpbmQoImNsaWNrIix5KSxvLmNvbnRyb2xzLnByZXYuYmluZCgiY2xpY2siLHopLG8uc2V0dGluZ3MubmV4dFNlbGVjdG9yJiZ0KG8uc2V0dGluZ3MubmV4dFNlbGVjdG9yKS5hcHBlbmQoby5jb250cm9scy5uZXh0KSxvLnNldHRpbmdzLnByZXZTZWxlY3RvciYmdChvLnNldHRpbmdzLnByZXZTZWxlY3RvcikuYXBwZW5kKG8uY29udHJvbHMucHJldiksby5zZXR0aW5ncy5uZXh0U2VsZWN0b3J8fG8uc2V0dGluZ3MucHJldlNlbGVjdG9yfHwoby5jb250cm9scy5kaXJlY3Rpb25FbD10KCc8ZGl2IGNsYXNzPSJieC1jb250cm9scy1kaXJlY3Rpb24iIC8+Jyksby5jb250cm9scy5kaXJlY3Rpb25FbC5hcHBlbmQoby5jb250cm9scy5wcmV2KS5hcHBlbmQoby5jb250cm9scy5uZXh0KSxvLmNvbnRyb2xzLmVsLmFkZENsYXNzKCJieC1oYXMtY29udHJvbHMtZGlyZWN0aW9uIikuYXBwZW5kKG8uY29udHJvbHMuZGlyZWN0aW9uRWwpKX0sRT1mdW5jdGlvbigpe28uY29udHJvbHMuc3RhcnQ9dCgnPGRpdiBjbGFzcz0iYngtY29udHJvbHMtYXV0by1pdGVtIj48YSBjbGFzcz0iYngtc3RhcnQiIGhyZWY9IiI+JytvLnNldHRpbmdzLnN0YXJ0VGV4dCsiPC9hPjwvZGl2PiIpLG8uY29udHJvbHMuc3RvcD10KCc8ZGl2IGNsYXNzPSJieC1jb250cm9scy1hdXRvLWl0ZW0iPjxhIGNsYXNzPSJieC1zdG9wIiBocmVmPSIiPicrby5zZXR0aW5ncy5zdG9wVGV4dCsiPC9hPjwvZGl2PiIpLG8uY29udHJvbHMuYXV0b0VsPXQoJzxkaXYgY2xhc3M9ImJ4LWNvbnRyb2xzLWF1dG8iIC8+Jyksby5jb250cm9scy5hdXRvRWwub24oImNsaWNrIiwiLmJ4LXN0YXJ0IixrKSxvLmNvbnRyb2xzLmF1dG9FbC5vbigiY2xpY2siLCIuYngtc3RvcCIsTSksby5zZXR0aW5ncy5hdXRvQ29udHJvbHNDb21iaW5lP28uY29udHJvbHMuYXV0b0VsLmFwcGVuZChvLmNvbnRyb2xzLnN0YXJ0KTpvLmNvbnRyb2xzLmF1dG9FbC5hcHBlbmQoby5jb250cm9scy5zdGFydCkuYXBwZW5kKG8uY29udHJvbHMuc3RvcCksby5zZXR0aW5ncy5hdXRvQ29udHJvbHNTZWxlY3Rvcj90KG8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzU2VsZWN0b3IpLmh0bWwoby5jb250cm9scy5hdXRvRWwpOm8uY29udHJvbHMuZWwuYWRkQ2xhc3MoImJ4LWhhcy1jb250cm9scy1hdXRvIikuYXBwZW5kKG8uY29udHJvbHMuYXV0b0VsKSxBKG8uc2V0dGluZ3MuYXV0b1N0YXJ0PyJzdG9wIjoic3RhcnQiKX0sUD1mdW5jdGlvbigpe28uY2hpbGRyZW4uZWFjaChmdW5jdGlvbigpe3ZhciBlPXQodGhpcykuZmluZCgiaW1nOmZpcnN0IikuYXR0cigidGl0bGUiKTt2b2lkIDAhPWUmJigiIitlKS5sZW5ndGgmJnQodGhpcykuYXBwZW5kKCc8ZGl2IGNsYXNzPSJieC1jYXB0aW9uIj48c3Bhbj4nK2UrIjwvc3Bhbj48L2Rpdj4iKX0pfSx5PWZ1bmN0aW9uKHQpe28uc2V0dGluZ3MuYXV0byYmci5zdG9wQXV0bygpLHIuZ29Ub05leHRTbGlkZSgpLHQucHJldmVudERlZmF1bHQoKX0sej1mdW5jdGlvbih0KXtvLnNldHRpbmdzLmF1dG8mJnIuc3RvcEF1dG8oKSxyLmdvVG9QcmV2U2xpZGUoKSx0LnByZXZlbnREZWZhdWx0KCl9LGs9ZnVuY3Rpb24odCl7ci5zdGFydEF1dG8oKSx0LnByZXZlbnREZWZhdWx0KCl9LE09ZnVuY3Rpb24odCl7ci5zdG9wQXV0bygpLHQucHJldmVudERlZmF1bHQoKX0sST1mdW5jdGlvbihlKXtvLnNldHRpbmdzLmF1dG8mJnIuc3RvcEF1dG8oKTt2YXIgaT10KGUuY3VycmVudFRhcmdldCkscz1wYXJzZUludChpLmF0dHIoImRhdGEtc2xpZGUtaW5kZXgiKSk7cyE9by5hY3RpdmUuaW5kZXgmJnIuZ29Ub1NsaWRlKHMpLGUucHJldmVudERlZmF1bHQoKX0scT1mdW5jdGlvbihlKXt2YXIgaT1vLmNoaWxkcmVuLmxlbmd0aDtyZXR1cm4ic2hvcnQiPT1vLnNldHRpbmdzLnBhZ2VyVHlwZT8oby5zZXR0aW5ncy5tYXhTbGlkZXM+MSYmKGk9TWF0aC5jZWlsKG8uY2hpbGRyZW4ubGVuZ3RoL28uc2V0dGluZ3MubWF4U2xpZGVzKSksby5wYWdlckVsLmh0bWwoZSsxK28uc2V0dGluZ3MucGFnZXJTaG9ydFNlcGFyYXRvcitpKSx2b2lkIDApOihvLnBhZ2VyRWwuZmluZCgiYSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxvLnBhZ2VyRWwuZWFjaChmdW5jdGlvbihpLHMpe3QocykuZmluZCgiYSIpLmVxKGUpLmFkZENsYXNzKCJhY3RpdmUiKX0pLHZvaWQgMCl9LEQ9ZnVuY3Rpb24oKXtpZihvLnNldHRpbmdzLmluZmluaXRlTG9vcCl7dmFyIHQ9IiI7MD09by5hY3RpdmUuaW5kZXg/dD1vLmNoaWxkcmVuLmVxKDApLnBvc2l0aW9uKCk6by5hY3RpdmUuaW5kZXg9PXgoKS0xJiZvLmNhcm91c2VsP3Q9by5jaGlsZHJlbi5lcSgoeCgpLTEpKm0oKSkucG9zaXRpb24oKTpvLmFjdGl2ZS5pbmRleD09by5jaGlsZHJlbi5sZW5ndGgtMSYmKHQ9by5jaGlsZHJlbi5lcShvLmNoaWxkcmVuLmxlbmd0aC0xKS5wb3NpdGlvbigpKSx0JiYoImhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGU/YigtdC5sZWZ0LCJyZXNldCIsMCk6InZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlJiZiKC10LnRvcCwicmVzZXQiLDApKX1vLndvcmtpbmc9ITEsby5zZXR0aW5ncy5vblNsaWRlQWZ0ZXIoby5jaGlsZHJlbi5lcShvLmFjdGl2ZS5pbmRleCksby5vbGRJbmRleCxvLmFjdGl2ZS5pbmRleCl9LEE9ZnVuY3Rpb24odCl7by5zZXR0aW5ncy5hdXRvQ29udHJvbHNDb21iaW5lP28uY29udHJvbHMuYXV0b0VsLmh0bWwoby5jb250cm9sc1t0XSk6KG8uY29udHJvbHMuYXV0b0VsLmZpbmQoImEiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksby5jb250cm9scy5hdXRvRWwuZmluZCgiYTpub3QoLmJ4LSIrdCsiKSIpLmFkZENsYXNzKCJhY3RpdmUiKSl9LFc9ZnVuY3Rpb24oKXsxPT14KCk/KG8uY29udHJvbHMucHJldi5hZGRDbGFzcygiZGlzYWJsZWQiKSxvLmNvbnRyb2xzLm5leHQuYWRkQ2xhc3MoImRpc2FibGVkIikpOiFvLnNldHRpbmdzLmluZmluaXRlTG9vcCYmby5zZXR0aW5ncy5oaWRlQ29udHJvbE9uRW5kJiYoMD09by5hY3RpdmUuaW5kZXg/KG8uY29udHJvbHMucHJldi5hZGRDbGFzcygiZGlzYWJsZWQiKSxvLmNvbnRyb2xzLm5leHQucmVtb3ZlQ2xhc3MoImRpc2FibGVkIikpOm8uYWN0aXZlLmluZGV4PT14KCktMT8oby5jb250cm9scy5uZXh0LmFkZENsYXNzKCJkaXNhYmxlZCIpLG8uY29udHJvbHMucHJldi5yZW1vdmVDbGFzcygiZGlzYWJsZWQiKSk6KG8uY29udHJvbHMucHJldi5yZW1vdmVDbGFzcygiZGlzYWJsZWQiKSxvLmNvbnRyb2xzLm5leHQucmVtb3ZlQ2xhc3MoImRpc2FibGVkIikpKX0sSD1mdW5jdGlvbigpe28uc2V0dGluZ3MuYXV0b0RlbGF5PjA/c2V0VGltZW91dChyLnN0YXJ0QXV0byxvLnNldHRpbmdzLmF1dG9EZWxheSk6ci5zdGFydEF1dG8oKSxvLnNldHRpbmdzLmF1dG9Ib3ZlciYmci5ob3ZlcihmdW5jdGlvbigpe28uaW50ZXJ2YWwmJihyLnN0b3BBdXRvKCEwKSxvLmF1dG9QYXVzZWQ9ITApfSxmdW5jdGlvbigpe28uYXV0b1BhdXNlZCYmKHIuc3RhcnRBdXRvKCEwKSxvLmF1dG9QYXVzZWQ9bnVsbCl9KX0sTD1mdW5jdGlvbigpe3ZhciBlPTA7aWYoIm5leHQiPT1vLnNldHRpbmdzLmF1dG9EaXJlY3Rpb24pci5hcHBlbmQoby5jaGlsZHJlbi5jbG9uZSgpLmFkZENsYXNzKCJieC1jbG9uZSIpKTtlbHNle3IucHJlcGVuZChvLmNoaWxkcmVuLmNsb25lKCkuYWRkQ2xhc3MoImJ4LWNsb25lIikpO3ZhciBpPW8uY2hpbGRyZW4uZmlyc3QoKS5wb3NpdGlvbigpO2U9Imhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGU/LWkubGVmdDotaS50b3B9YihlLCJyZXNldCIsMCksby5zZXR0aW5ncy5wYWdlcj0hMSxvLnNldHRpbmdzLmNvbnRyb2xzPSExLG8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzPSExLG8uc2V0dGluZ3MudGlja2VySG92ZXImJiFvLnVzaW5nQ1NTJiZvLnZpZXdwb3J0LmhvdmVyKGZ1bmN0aW9uKCl7ci5zdG9wKCl9LGZ1bmN0aW9uKCl7dmFyIGU9MDtvLmNoaWxkcmVuLmVhY2goZnVuY3Rpb24oKXtlKz0iaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZT90KHRoaXMpLm91dGVyV2lkdGgoITApOnQodGhpcykub3V0ZXJIZWlnaHQoITApfSk7dmFyIGk9by5zZXR0aW5ncy5zcGVlZC9lLHM9Imhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGU/ImxlZnQiOiJ0b3AiLG49aSooZS1NYXRoLmFicyhwYXJzZUludChyLmNzcyhzKSkpKTtOKG4pfSksTigpfSxOPWZ1bmN0aW9uKHQpe3NwZWVkPXQ/dDpvLnNldHRpbmdzLnNwZWVkO3ZhciBlPXtsZWZ0OjAsdG9wOjB9LGk9e2xlZnQ6MCx0b3A6MH07Im5leHQiPT1vLnNldHRpbmdzLmF1dG9EaXJlY3Rpb24/ZT1yLmZpbmQoIi5ieC1jbG9uZSIpLmZpcnN0KCkucG9zaXRpb24oKTppPW8uY2hpbGRyZW4uZmlyc3QoKS5wb3NpdGlvbigpO3ZhciBzPSJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlPy1lLmxlZnQ6LWUudG9wLG49Imhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGU/LWkubGVmdDotaS50b3AsYT17cmVzZXRWYWx1ZTpufTtiKHMsInRpY2tlciIsc3BlZWQsYSl9LE89ZnVuY3Rpb24oKXtvLnRvdWNoPXtzdGFydDp7eDowLHk6MH0sZW5kOnt4OjAseTowfX0sby52aWV3cG9ydC5iaW5kKCJ0b3VjaHN0YXJ0IixYKX0sWD1mdW5jdGlvbih0KXtpZihvLndvcmtpbmcpdC5wcmV2ZW50RGVmYXVsdCgpO2Vsc2V7by50b3VjaC5vcmlnaW5hbFBvcz1yLnBvc2l0aW9uKCk7dmFyIGU9dC5vcmlnaW5hbEV2ZW50O28udG91Y2guc3RhcnQueD1lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYLG8udG91Y2guc3RhcnQueT1lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZLG8udmlld3BvcnQuYmluZCgidG91Y2htb3ZlIixZKSxvLnZpZXdwb3J0LmJpbmQoInRvdWNoZW5kIixWKX19LFk9ZnVuY3Rpb24odCl7dmFyIGU9dC5vcmlnaW5hbEV2ZW50LGk9TWF0aC5hYnMoZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWC1vLnRvdWNoLnN0YXJ0LngpLHM9TWF0aC5hYnMoZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWS1vLnRvdWNoLnN0YXJ0LnkpO2lmKDMqaT5zJiZvLnNldHRpbmdzLnByZXZlbnREZWZhdWx0U3dpcGVYP3QucHJldmVudERlZmF1bHQoKTozKnM+aSYmby5zZXR0aW5ncy5wcmV2ZW50RGVmYXVsdFN3aXBlWSYmdC5wcmV2ZW50RGVmYXVsdCgpLCJmYWRlIiE9by5zZXR0aW5ncy5tb2RlJiZvLnNldHRpbmdzLm9uZVRvT25lVG91Y2gpe3ZhciBuPTA7aWYoImhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGUpe3ZhciByPWUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVgtby50b3VjaC5zdGFydC54O249by50b3VjaC5vcmlnaW5hbFBvcy5sZWZ0K3J9ZWxzZXt2YXIgcj1lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZLW8udG91Y2guc3RhcnQueTtuPW8udG91Y2gub3JpZ2luYWxQb3MudG9wK3J9YihuLCJyZXNldCIsMCl9fSxWPWZ1bmN0aW9uKHQpe28udmlld3BvcnQudW5iaW5kKCJ0b3VjaG1vdmUiLFkpO3ZhciBlPXQub3JpZ2luYWxFdmVudCxpPTA7aWYoby50b3VjaC5lbmQueD1lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYLG8udG91Y2guZW5kLnk9ZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSwiZmFkZSI9PW8uc2V0dGluZ3MubW9kZSl7dmFyIHM9TWF0aC5hYnMoby50b3VjaC5zdGFydC54LW8udG91Y2guZW5kLngpO3M+PW8uc2V0dGluZ3Muc3dpcGVUaHJlc2hvbGQmJihvLnRvdWNoLnN0YXJ0Lng+by50b3VjaC5lbmQueD9yLmdvVG9OZXh0U2xpZGUoKTpyLmdvVG9QcmV2U2xpZGUoKSxyLnN0b3BBdXRvKCkpfWVsc2V7dmFyIHM9MDsiaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZT8ocz1vLnRvdWNoLmVuZC54LW8udG91Y2guc3RhcnQueCxpPW8udG91Y2gub3JpZ2luYWxQb3MubGVmdCk6KHM9by50b3VjaC5lbmQueS1vLnRvdWNoLnN0YXJ0LnksaT1vLnRvdWNoLm9yaWdpbmFsUG9zLnRvcCksIW8uc2V0dGluZ3MuaW5maW5pdGVMb29wJiYoMD09by5hY3RpdmUuaW5kZXgmJnM+MHx8by5hY3RpdmUubGFzdCYmMD5zKT9iKGksInJlc2V0IiwyMDApOk1hdGguYWJzKHMpPj1vLnNldHRpbmdzLnN3aXBlVGhyZXNob2xkPygwPnM/ci5nb1RvTmV4dFNsaWRlKCk6ci5nb1RvUHJldlNsaWRlKCksci5zdG9wQXV0bygpKTpiKGksInJlc2V0IiwyMDApfW8udmlld3BvcnQudW5iaW5kKCJ0b3VjaGVuZCIsVil9LFo9ZnVuY3Rpb24oKXt2YXIgZT10KHdpbmRvdykud2lkdGgoKSxpPXQod2luZG93KS5oZWlnaHQoKTsoYSE9ZXx8bCE9aSkmJihhPWUsbD1pLHIucmVkcmF3U2xpZGVyKCksby5zZXR0aW5ncy5vblNsaWRlclJlc2l6ZS5jYWxsKHIsby5hY3RpdmUuaW5kZXgpKX07cmV0dXJuIHIuZ29Ub1NsaWRlPWZ1bmN0aW9uKGUsaSl7aWYoIW8ud29ya2luZyYmby5hY3RpdmUuaW5kZXghPWUpaWYoby53b3JraW5nPSEwLG8ub2xkSW5kZXg9by5hY3RpdmUuaW5kZXgsby5hY3RpdmUuaW5kZXg9MD5lP3goKS0xOmU+PXgoKT8wOmUsby5zZXR0aW5ncy5vblNsaWRlQmVmb3JlKG8uY2hpbGRyZW4uZXEoby5hY3RpdmUuaW5kZXgpLG8ub2xkSW5kZXgsby5hY3RpdmUuaW5kZXgpLCJuZXh0Ij09aT9vLnNldHRpbmdzLm9uU2xpZGVOZXh0KG8uY2hpbGRyZW4uZXEoby5hY3RpdmUuaW5kZXgpLG8ub2xkSW5kZXgsby5hY3RpdmUuaW5kZXgpOiJwcmV2Ij09aSYmby5zZXR0aW5ncy5vblNsaWRlUHJldihvLmNoaWxkcmVuLmVxKG8uYWN0aXZlLmluZGV4KSxvLm9sZEluZGV4LG8uYWN0aXZlLmluZGV4KSxvLmFjdGl2ZS5sYXN0PW8uYWN0aXZlLmluZGV4Pj14KCktMSxvLnNldHRpbmdzLnBhZ2VyJiZxKG8uYWN0aXZlLmluZGV4KSxvLnNldHRpbmdzLmNvbnRyb2xzJiZXKCksImZhZGUiPT1vLnNldHRpbmdzLm1vZGUpby5zZXR0aW5ncy5hZGFwdGl2ZUhlaWdodCYmby52aWV3cG9ydC5oZWlnaHQoKSE9digpJiZvLnZpZXdwb3J0LmFuaW1hdGUoe2hlaWdodDp2KCl9LG8uc2V0dGluZ3MuYWRhcHRpdmVIZWlnaHRTcGVlZCksby5jaGlsZHJlbi5maWx0ZXIoIjp2aXNpYmxlIikuZmFkZU91dChvLnNldHRpbmdzLnNwZWVkKS5jc3Moe3pJbmRleDowfSksby5jaGlsZHJlbi5lcShvLmFjdGl2ZS5pbmRleCkuY3NzKCJ6SW5kZXgiLG8uc2V0dGluZ3Muc2xpZGVaSW5kZXgrMSkuZmFkZUluKG8uc2V0dGluZ3Muc3BlZWQsZnVuY3Rpb24oKXt0KHRoaXMpLmNzcygiekluZGV4IixvLnNldHRpbmdzLnNsaWRlWkluZGV4KSxEKCl9KTtlbHNle28uc2V0dGluZ3MuYWRhcHRpdmVIZWlnaHQmJm8udmlld3BvcnQuaGVpZ2h0KCkhPXYoKSYmby52aWV3cG9ydC5hbmltYXRlKHtoZWlnaHQ6digpfSxvLnNldHRpbmdzLmFkYXB0aXZlSGVpZ2h0U3BlZWQpO3ZhciBzPTAsbj17bGVmdDowLHRvcDowfTtpZighby5zZXR0aW5ncy5pbmZpbml0ZUxvb3AmJm8uY2Fyb3VzZWwmJm8uYWN0aXZlLmxhc3QpaWYoImhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGUpe3ZhciBhPW8uY2hpbGRyZW4uZXEoby5jaGlsZHJlbi5sZW5ndGgtMSk7bj1hLnBvc2l0aW9uKCkscz1vLnZpZXdwb3J0LndpZHRoKCktYS5vdXRlcldpZHRoKCl9ZWxzZXt2YXIgbD1vLmNoaWxkcmVuLmxlbmd0aC1vLnNldHRpbmdzLm1pblNsaWRlcztuPW8uY2hpbGRyZW4uZXEobCkucG9zaXRpb24oKX1lbHNlIGlmKG8uY2Fyb3VzZWwmJm8uYWN0aXZlLmxhc3QmJiJwcmV2Ij09aSl7dmFyIGQ9MT09by5zZXR0aW5ncy5tb3ZlU2xpZGVzP28uc2V0dGluZ3MubWF4U2xpZGVzLW0oKTooeCgpLTEpKm0oKS0oby5jaGlsZHJlbi5sZW5ndGgtby5zZXR0aW5ncy5tYXhTbGlkZXMpLGE9ci5jaGlsZHJlbigiLmJ4LWNsb25lIikuZXEoZCk7bj1hLnBvc2l0aW9uKCl9ZWxzZSBpZigibmV4dCI9PWkmJjA9PW8uYWN0aXZlLmluZGV4KW49ci5maW5kKCI+IC5ieC1jbG9uZSIpLmVxKG8uc2V0dGluZ3MubWF4U2xpZGVzKS5wb3NpdGlvbigpLG8uYWN0aXZlLmxhc3Q9ITE7ZWxzZSBpZihlPj0wKXt2YXIgYz1lKm0oKTtuPW8uY2hpbGRyZW4uZXEoYykucG9zaXRpb24oKX1pZigidW5kZWZpbmVkIiE9dHlwZW9mIG4pe3ZhciBnPSJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlPy0obi5sZWZ0LXMpOi1uLnRvcDtiKGcsInNsaWRlIixvLnNldHRpbmdzLnNwZWVkKX19fSxyLmdvVG9OZXh0U2xpZGU9ZnVuY3Rpb24oKXtpZihvLnNldHRpbmdzLmluZmluaXRlTG9vcHx8IW8uYWN0aXZlLmxhc3Qpe3ZhciB0PXBhcnNlSW50KG8uYWN0aXZlLmluZGV4KSsxO3IuZ29Ub1NsaWRlKHQsIm5leHQiKX19LHIuZ29Ub1ByZXZTbGlkZT1mdW5jdGlvbigpe2lmKG8uc2V0dGluZ3MuaW5maW5pdGVMb29wfHwwIT1vLmFjdGl2ZS5pbmRleCl7dmFyIHQ9cGFyc2VJbnQoby5hY3RpdmUuaW5kZXgpLTE7ci5nb1RvU2xpZGUodCwicHJldiIpfX0sci5zdGFydEF1dG89ZnVuY3Rpb24odCl7by5pbnRlcnZhbHx8KG8uaW50ZXJ2YWw9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXsibmV4dCI9PW8uc2V0dGluZ3MuYXV0b0RpcmVjdGlvbj9yLmdvVG9OZXh0U2xpZGUoKTpyLmdvVG9QcmV2U2xpZGUoKX0sby5zZXR0aW5ncy5wYXVzZSksby5zZXR0aW5ncy5hdXRvQ29udHJvbHMmJjEhPXQmJkEoInN0b3AiKSl9LHIuc3RvcEF1dG89ZnVuY3Rpb24odCl7by5pbnRlcnZhbCYmKGNsZWFySW50ZXJ2YWwoby5pbnRlcnZhbCksby5pbnRlcnZhbD1udWxsLG8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzJiYxIT10JiZBKCJzdGFydCIpKX0sci5nZXRDdXJyZW50U2xpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gby5hY3RpdmUuaW5kZXh9LHIuZ2V0Q3VycmVudFNsaWRlRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiBvLmNoaWxkcmVuLmVxKG8uYWN0aXZlLmluZGV4KX0sci5nZXRTbGlkZUNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIG8uY2hpbGRyZW4ubGVuZ3RofSxyLnJlZHJhd1NsaWRlcj1mdW5jdGlvbigpe28uY2hpbGRyZW4uYWRkKHIuZmluZCgiLmJ4LWNsb25lIikpLm91dGVyV2lkdGgodSgpKSxvLnZpZXdwb3J0LmNzcygiaGVpZ2h0Iix2KCkpLG8uc2V0dGluZ3MudGlja2VyfHxTKCksby5hY3RpdmUubGFzdCYmKG8uYWN0aXZlLmluZGV4PXgoKS0xKSxvLmFjdGl2ZS5pbmRleD49eCgpJiYoby5hY3RpdmUubGFzdD0hMCksby5zZXR0aW5ncy5wYWdlciYmIW8uc2V0dGluZ3MucGFnZXJDdXN0b20mJih3KCkscShvLmFjdGl2ZS5pbmRleCkpfSxyLmRlc3Ryb3lTbGlkZXI9ZnVuY3Rpb24oKXtvLmluaXRpYWxpemVkJiYoby5pbml0aWFsaXplZD0hMSx0KCIuYngtY2xvbmUiLHRoaXMpLnJlbW92ZSgpLG8uY2hpbGRyZW4uZWFjaChmdW5jdGlvbigpe3ZvaWQgMCE9dCh0aGlzKS5kYXRhKCJvcmlnU3R5bGUiKT90KHRoaXMpLmF0dHIoInN0eWxlIix0KHRoaXMpLmRhdGEoIm9yaWdTdHlsZSIpKTp0KHRoaXMpLnJlbW92ZUF0dHIoInN0eWxlIil9KSx2b2lkIDAhPXQodGhpcykuZGF0YSgib3JpZ1N0eWxlIik/dGhpcy5hdHRyKCJzdHlsZSIsdCh0aGlzKS5kYXRhKCJvcmlnU3R5bGUiKSk6dCh0aGlzKS5yZW1vdmVBdHRyKCJzdHlsZSIpLHQodGhpcykudW53cmFwKCkudW53cmFwKCksby5jb250cm9scy5lbCYmby5jb250cm9scy5lbC5yZW1vdmUoKSxvLmNvbnRyb2xzLm5leHQmJm8uY29udHJvbHMubmV4dC5yZW1vdmUoKSxvLmNvbnRyb2xzLnByZXYmJm8uY29udHJvbHMucHJldi5yZW1vdmUoKSxvLnBhZ2VyRWwmJm8uc2V0dGluZ3MuY29udHJvbHMmJm8ucGFnZXJFbC5yZW1vdmUoKSx0KCIuYngtY2FwdGlvbiIsdGhpcykucmVtb3ZlKCksby5jb250cm9scy5hdXRvRWwmJm8uY29udHJvbHMuYXV0b0VsLnJlbW92ZSgpLGNsZWFySW50ZXJ2YWwoby5pbnRlcnZhbCksby5zZXR0aW5ncy5yZXNwb25zaXZlJiZ0KHdpbmRvdykudW5iaW5kKCJyZXNpemUiLFopKX0sci5yZWxvYWRTbGlkZXI9ZnVuY3Rpb24odCl7dm9pZCAwIT10JiYobj10KSxyLmRlc3Ryb3lTbGlkZXIoKSxkKCl9LGQoKSx0aGlzfX0oalF1ZXJ5KTsNCg0KDQovKg0KICogIG1vbWVudC5qcw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovLyEgbW9tZW50LmpzDQovLyEgdmVyc2lvbiA6IDIuMTEuMA0KLy8hIGF1dGhvcnMgOiBUaW0gV29vZCwgSXNrcmVuIENoZXJuZXYsIE1vbWVudC5qcyBjb250cmlidXRvcnMNCi8vISBsaWNlbnNlIDogTUlUDQovLyEgbW9tZW50anMuY29tDQohZnVuY3Rpb24oYSxiKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWIoKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShiKTphLm1vbWVudD1iKCl9KHRoaXMsZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3JldHVybiBRYy5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gYihhKXtRYz1hfWZ1bmN0aW9uIGMoYSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKX1mdW5jdGlvbiBkKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRGF0ZXx8IltvYmplY3QgRGF0ZV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpfWZ1bmN0aW9uIGUoYSxiKXt2YXIgYyxkPVtdO2ZvcihjPTA7YzxhLmxlbmd0aDsrK2MpZC5wdXNoKGIoYVtjXSxjKSk7cmV0dXJuIGR9ZnVuY3Rpb24gZihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX1mdW5jdGlvbiBnKGEsYil7Zm9yKHZhciBjIGluIGIpZihiLGMpJiYoYVtjXT1iW2NdKTtyZXR1cm4gZihiLCJ0b1N0cmluZyIpJiYoYS50b1N0cmluZz1iLnRvU3RyaW5nKSxmKGIsInZhbHVlT2YiKSYmKGEudmFsdWVPZj1iLnZhbHVlT2YpLGF9ZnVuY3Rpb24gaChhLGIsYyxkKXtyZXR1cm4gemEoYSxiLGMsZCwhMCkudXRjKCl9ZnVuY3Rpb24gaSgpe3JldHVybntlbXB0eTohMSx1bnVzZWRUb2tlbnM6W10sdW51c2VkSW5wdXQ6W10sb3ZlcmZsb3c6LTIsY2hhcnNMZWZ0T3ZlcjowLG51bGxJbnB1dDohMSxpbnZhbGlkTW9udGg6bnVsbCxpbnZhbGlkRm9ybWF0OiExLHVzZXJJbnZhbGlkYXRlZDohMSxpc286ITF9fWZ1bmN0aW9uIGooYSl7cmV0dXJuIG51bGw9PWEuX3BmJiYoYS5fcGY9aSgpKSxhLl9wZn1mdW5jdGlvbiBrKGEpe2lmKG51bGw9PWEuX2lzVmFsaWQpe3ZhciBiPWooYSk7YS5faXNWYWxpZD0hKGlzTmFOKGEuX2QuZ2V0VGltZSgpKXx8IShiLm92ZXJmbG93PDApfHxiLmVtcHR5fHxiLmludmFsaWRNb250aHx8Yi5pbnZhbGlkV2Vla2RheXx8Yi5udWxsSW5wdXR8fGIuaW52YWxpZEZvcm1hdHx8Yi51c2VySW52YWxpZGF0ZWQpLGEuX3N0cmljdCYmKGEuX2lzVmFsaWQ9YS5faXNWYWxpZCYmMD09PWIuY2hhcnNMZWZ0T3ZlciYmMD09PWIudW51c2VkVG9rZW5zLmxlbmd0aCYmdm9pZCAwPT09Yi5iaWdIb3VyKX1yZXR1cm4gYS5faXNWYWxpZH1mdW5jdGlvbiBsKGEpe3ZhciBiPWgoTmFOKTtyZXR1cm4gbnVsbCE9YT9nKGooYiksYSk6aihiKS51c2VySW52YWxpZGF0ZWQ9ITAsYn1mdW5jdGlvbiBtKGEpe3JldHVybiB2b2lkIDA9PT1hfWZ1bmN0aW9uIG4oYSxiKXt2YXIgYyxkLGU7aWYobShiLl9pc0FNb21lbnRPYmplY3QpfHwoYS5faXNBTW9tZW50T2JqZWN0PWIuX2lzQU1vbWVudE9iamVjdCksbShiLl9pKXx8KGEuX2k9Yi5faSksbShiLl9mKXx8KGEuX2Y9Yi5fZiksbShiLl9sKXx8KGEuX2w9Yi5fbCksbShiLl9zdHJpY3QpfHwoYS5fc3RyaWN0PWIuX3N0cmljdCksbShiLl90em0pfHwoYS5fdHptPWIuX3R6bSksbShiLl9pc1VUQyl8fChhLl9pc1VUQz1iLl9pc1VUQyksbShiLl9vZmZzZXQpfHwoYS5fb2Zmc2V0PWIuX29mZnNldCksbShiLl9wZil8fChhLl9wZj1qKGIpKSxtKGIuX2xvY2FsZSl8fChhLl9sb2NhbGU9Yi5fbG9jYWxlKSxTYy5sZW5ndGg+MClmb3IoYyBpbiBTYylkPVNjW2NdLGU9YltkXSxtKGUpfHwoYVtkXT1lKTtyZXR1cm4gYX1mdW5jdGlvbiBvKGIpe24odGhpcyxiKSx0aGlzLl9kPW5ldyBEYXRlKG51bGwhPWIuX2Q/Yi5fZC5nZXRUaW1lKCk6TmFOKSxUYz09PSExJiYoVGM9ITAsYS51cGRhdGVPZmZzZXQodGhpcyksVGM9ITEpfWZ1bmN0aW9uIHAoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBvfHxudWxsIT1hJiZudWxsIT1hLl9pc0FNb21lbnRPYmplY3R9ZnVuY3Rpb24gcShhKXtyZXR1cm4gMD5hP01hdGguY2VpbChhKTpNYXRoLmZsb29yKGEpfWZ1bmN0aW9uIHIoYSl7dmFyIGI9K2EsYz0wO3JldHVybiAwIT09YiYmaXNGaW5pdGUoYikmJihjPXEoYikpLGN9ZnVuY3Rpb24gcyhhLGIsYyl7dmFyIGQsZT1NYXRoLm1pbihhLmxlbmd0aCxiLmxlbmd0aCksZj1NYXRoLmFicyhhLmxlbmd0aC1iLmxlbmd0aCksZz0wO2ZvcihkPTA7ZT5kO2QrKykoYyYmYVtkXSE9PWJbZF18fCFjJiZyKGFbZF0pIT09cihiW2RdKSkmJmcrKztyZXR1cm4gZytmfWZ1bmN0aW9uIHQoKXt9ZnVuY3Rpb24gdShhKXtyZXR1cm4gYT9hLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgiXyIsIi0iKTphfWZ1bmN0aW9uIHYoYSl7Zm9yKHZhciBiLGMsZCxlLGY9MDtmPGEubGVuZ3RoOyl7Zm9yKGU9dShhW2ZdKS5zcGxpdCgiLSIpLGI9ZS5sZW5ndGgsYz11KGFbZisxXSksYz1jP2Muc3BsaXQoIi0iKTpudWxsO2I+MDspe2lmKGQ9dyhlLnNsaWNlKDAsYikuam9pbigiLSIpKSlyZXR1cm4gZDtpZihjJiZjLmxlbmd0aD49YiYmcyhlLGMsITApPj1iLTEpYnJlYWs7Yi0tfWYrK31yZXR1cm4gbnVsbH1mdW5jdGlvbiB3KGEpe3ZhciBiPW51bGw7aWYoIVVjW2FdJiYhbShtb2R1bGUpJiZtb2R1bGUmJm1vZHVsZS5leHBvcnRzKXRyeXtiPVJjLl9hYmJyLHJlcXVpcmUoIi4vbG9jYWxlLyIrYSkseChiKX1jYXRjaChjKXt9cmV0dXJuIFVjW2FdfWZ1bmN0aW9uIHgoYSxiKXt2YXIgYztyZXR1cm4gYSYmKGM9bShiKT96KGEpOnkoYSxiKSxjJiYoUmM9YykpLFJjLl9hYmJyfWZ1bmN0aW9uIHkoYSxiKXtyZXR1cm4gbnVsbCE9PWI/KGIuYWJicj1hLFVjW2FdPVVjW2FdfHxuZXcgdCxVY1thXS5zZXQoYikseChhKSxVY1thXSk6KGRlbGV0ZSBVY1thXSxudWxsKX1mdW5jdGlvbiB6KGEpe3ZhciBiO2lmKGEmJmEuX2xvY2FsZSYmYS5fbG9jYWxlLl9hYmJyJiYoYT1hLl9sb2NhbGUuX2FiYnIpLCFhKXJldHVybiBSYztpZighYyhhKSl7aWYoYj13KGEpKXJldHVybiBiO2E9W2FdfXJldHVybiB2KGEpfWZ1bmN0aW9uIEEoYSxiKXt2YXIgYz1hLnRvTG93ZXJDYXNlKCk7VmNbY109VmNbYysicyJdPVZjW2JdPWF9ZnVuY3Rpb24gQihhKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGE/VmNbYV18fFZjW2EudG9Mb3dlckNhc2UoKV06dm9pZCAwfWZ1bmN0aW9uIEMoYSl7dmFyIGIsYyxkPXt9O2ZvcihjIGluIGEpZihhLGMpJiYoYj1CKGMpLGImJihkW2JdPWFbY10pKTtyZXR1cm4gZH1mdW5jdGlvbiBEKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSl9ZnVuY3Rpb24gRShiLGMpe3JldHVybiBmdW5jdGlvbihkKXtyZXR1cm4gbnVsbCE9ZD8oRyh0aGlzLGIsZCksYS51cGRhdGVPZmZzZXQodGhpcyxjKSx0aGlzKTpGKHRoaXMsYil9fWZ1bmN0aW9uIEYoYSxiKXtyZXR1cm4gYS5pc1ZhbGlkKCk/YS5fZFsiZ2V0IisoYS5faXNVVEM/IlVUQyI6IiIpK2JdKCk6TmFOfWZ1bmN0aW9uIEcoYSxiLGMpe2EuaXNWYWxpZCgpJiZhLl9kWyJzZXQiKyhhLl9pc1VUQz8iVVRDIjoiIikrYl0oYyl9ZnVuY3Rpb24gSChhLGIpe3ZhciBjO2lmKCJvYmplY3QiPT10eXBlb2YgYSlmb3IoYyBpbiBhKXRoaXMuc2V0KGMsYVtjXSk7ZWxzZSBpZihhPUIoYSksRCh0aGlzW2FdKSlyZXR1cm4gdGhpc1thXShiKTtyZXR1cm4gdGhpc31mdW5jdGlvbiBJKGEsYixjKXt2YXIgZD0iIitNYXRoLmFicyhhKSxlPWItZC5sZW5ndGgsZj1hPj0wO3JldHVybihmP2M/IisiOiIiOiItIikrTWF0aC5wb3coMTAsTWF0aC5tYXgoMCxlKSkudG9TdHJpbmcoKS5zdWJzdHIoMSkrZH1mdW5jdGlvbiBKKGEsYixjLGQpe3ZhciBlPWQ7InN0cmluZyI9PXR5cGVvZiBkJiYoZT1mdW5jdGlvbigpe3JldHVybiB0aGlzW2RdKCl9KSxhJiYoWmNbYV09ZSksYiYmKFpjW2JbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIEkoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksYlsxXSxiWzJdKX0pLGMmJihaY1tjXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS5vcmRpbmFsKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEpfSl9ZnVuY3Rpb24gSyhhKXtyZXR1cm4gYS5tYXRjaCgvXFtbXHNcU10vKT9hLnJlcGxhY2UoL15cW3xcXSQvZywiIik6YS5yZXBsYWNlKC9cXC9nLCIiKX1mdW5jdGlvbiBMKGEpe3ZhciBiLGMsZD1hLm1hdGNoKFdjKTtmb3IoYj0wLGM9ZC5sZW5ndGg7Yz5iO2IrKylaY1tkW2JdXT9kW2JdPVpjW2RbYl1dOmRbYl09SyhkW2JdKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGY9IiI7Zm9yKGI9MDtjPmI7YisrKWYrPWRbYl1pbnN0YW5jZW9mIEZ1bmN0aW9uP2RbYl0uY2FsbChlLGEpOmRbYl07cmV0dXJuIGZ9fWZ1bmN0aW9uIE0oYSxiKXtyZXR1cm4gYS5pc1ZhbGlkKCk/KGI9TihiLGEubG9jYWxlRGF0YSgpKSxZY1tiXT1ZY1tiXXx8TChiKSxZY1tiXShhKSk6YS5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKX1mdW5jdGlvbiBOKGEsYil7ZnVuY3Rpb24gYyhhKXtyZXR1cm4gYi5sb25nRGF0ZUZvcm1hdChhKXx8YX12YXIgZD01O2ZvcihYYy5sYXN0SW5kZXg9MDtkPj0wJiZYYy50ZXN0KGEpOylhPWEucmVwbGFjZShYYyxjKSxYYy5sYXN0SW5kZXg9MCxkLT0xO3JldHVybiBhfWZ1bmN0aW9uIE8oYSxiLGMpe3BkW2FdPUQoYik/YjpmdW5jdGlvbihhKXtyZXR1cm4gYSYmYz9jOmJ9fWZ1bmN0aW9uIFAoYSxiKXtyZXR1cm4gZihwZCxhKT9wZFthXShiLl9zdHJpY3QsYi5fbG9jYWxlKTpuZXcgUmVnRXhwKFEoYSkpfWZ1bmN0aW9uIFEoYSl7cmV0dXJuIGEucmVwbGFjZSgiXFwiLCIiKS5yZXBsYWNlKC9cXChcWyl8XFwoXF0pfFxbKFteXF1cW10qKVxdfFxcKC4pL2csZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYnx8Y3x8ZHx8ZX0pLnJlcGxhY2UoL1stXC9cXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9ZnVuY3Rpb24gUihhLGIpe3ZhciBjLGQ9Yjtmb3IoInN0cmluZyI9PXR5cGVvZiBhJiYoYT1bYV0pLCJudW1iZXIiPT10eXBlb2YgYiYmKGQ9ZnVuY3Rpb24oYSxjKXtjW2JdPXIoYSl9KSxjPTA7YzxhLmxlbmd0aDtjKyspcWRbYVtjXV09ZH1mdW5jdGlvbiBTKGEsYil7UihhLGZ1bmN0aW9uKGEsYyxkLGUpe2QuX3c9ZC5fd3x8e30sYihhLGQuX3csZCxlKX0pfWZ1bmN0aW9uIFQoYSxiLGMpe251bGwhPWImJmYocWQsYSkmJnFkW2FdKGIsYy5fYSxjLGEpfWZ1bmN0aW9uIFUoYSxiKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoYSxiKzEsMCkpLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBWKGEsYil7cmV0dXJuIGModGhpcy5fbW9udGhzKT90aGlzLl9tb250aHNbYS5tb250aCgpXTp0aGlzLl9tb250aHNbQWQudGVzdChiKT8iZm9ybWF0Ijoic3RhbmRhbG9uZSJdW2EubW9udGgoKV19ZnVuY3Rpb24gVyhhLGIpe3JldHVybiBjKHRoaXMuX21vbnRoc1Nob3J0KT90aGlzLl9tb250aHNTaG9ydFthLm1vbnRoKCldOnRoaXMuX21vbnRoc1Nob3J0W0FkLnRlc3QoYik/ImZvcm1hdCI6InN0YW5kYWxvbmUiXVthLm1vbnRoKCldfWZ1bmN0aW9uIFgoYSxiLGMpe3ZhciBkLGUsZjtmb3IodGhpcy5fbW9udGhzUGFyc2V8fCh0aGlzLl9tb250aHNQYXJzZT1bXSx0aGlzLl9sb25nTW9udGhzUGFyc2U9W10sdGhpcy5fc2hvcnRNb250aHNQYXJzZT1bXSksZD0wOzEyPmQ7ZCsrKXtpZihlPWgoWzJlMyxkXSksYyYmIXRoaXMuX2xvbmdNb250aHNQYXJzZVtkXSYmKHRoaXMuX2xvbmdNb250aHNQYXJzZVtkXT1uZXcgUmVnRXhwKCJeIit0aGlzLm1vbnRocyhlLCIiKS5yZXBsYWNlKCIuIiwiIikrIiQiLCJpIiksdGhpcy5fc2hvcnRNb250aHNQYXJzZVtkXT1uZXcgUmVnRXhwKCJeIit0aGlzLm1vbnRoc1Nob3J0KGUsIiIpLnJlcGxhY2UoIi4iLCIiKSsiJCIsImkiKSksY3x8dGhpcy5fbW9udGhzUGFyc2VbZF18fChmPSJeIit0aGlzLm1vbnRocyhlLCIiKSsifF4iK3RoaXMubW9udGhzU2hvcnQoZSwiIiksdGhpcy5fbW9udGhzUGFyc2VbZF09bmV3IFJlZ0V4cChmLnJlcGxhY2UoIi4iLCIiKSwiaSIpKSxjJiYiTU1NTSI9PT1iJiZ0aGlzLl9sb25nTW9udGhzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZDtpZihjJiYiTU1NIj09PWImJnRoaXMuX3Nob3J0TW9udGhzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZDtpZighYyYmdGhpcy5fbW9udGhzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZH19ZnVuY3Rpb24gWShhLGIpe3ZhciBjO3JldHVybiBhLmlzVmFsaWQoKT8ic3RyaW5nIj09dHlwZW9mIGImJihiPWEubG9jYWxlRGF0YSgpLm1vbnRoc1BhcnNlKGIpLCJudW1iZXIiIT10eXBlb2YgYik/YTooYz1NYXRoLm1pbihhLmRhdGUoKSxVKGEueWVhcigpLGIpKSxhLl9kWyJzZXQiKyhhLl9pc1VUQz8iVVRDIjoiIikrIk1vbnRoIl0oYixjKSxhKTphfWZ1bmN0aW9uIFooYil7cmV0dXJuIG51bGwhPWI/KFkodGhpcyxiKSxhLnVwZGF0ZU9mZnNldCh0aGlzLCEwKSx0aGlzKTpGKHRoaXMsIk1vbnRoIil9ZnVuY3Rpb24gJCgpe3JldHVybiBVKHRoaXMueWVhcigpLHRoaXMubW9udGgoKSl9ZnVuY3Rpb24gXyhhKXt2YXIgYixjPWEuX2E7cmV0dXJuIGMmJi0yPT09aihhKS5vdmVyZmxvdyYmKGI9Y1tzZF08MHx8Y1tzZF0+MTE/c2Q6Y1t0ZF08MXx8Y1t0ZF0+VShjW3JkXSxjW3NkXSk/dGQ6Y1t1ZF08MHx8Y1t1ZF0+MjR8fDI0PT09Y1t1ZF0mJigwIT09Y1t2ZF18fDAhPT1jW3dkXXx8MCE9PWNbeGRdKT91ZDpjW3ZkXTwwfHxjW3ZkXT41OT92ZDpjW3dkXTwwfHxjW3dkXT41OT93ZDpjW3hkXTwwfHxjW3hkXT45OTk/eGQ6LTEsaihhKS5fb3ZlcmZsb3dEYXlPZlllYXImJihyZD5ifHxiPnRkKSYmKGI9dGQpLGooYSkuX292ZXJmbG93V2Vla3MmJi0xPT09YiYmKGI9eWQpLGooYSkuX292ZXJmbG93V2Vla2RheSYmLTE9PT1iJiYoYj16ZCksaihhKS5vdmVyZmxvdz1iKSxhfWZ1bmN0aW9uIGFhKGIpe2Euc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmdzPT09ITEmJiFtKGNvbnNvbGUpJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2FybigiRGVwcmVjYXRpb24gd2FybmluZzogIitiKX1mdW5jdGlvbiBiYShhLGIpe3ZhciBjPSEwO3JldHVybiBnKGZ1bmN0aW9uKCl7cmV0dXJuIGMmJihhYShhKyJcbkFyZ3VtZW50czogIitBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwgIikrIlxuIisobmV3IEVycm9yKS5zdGFjayksYz0hMSksYi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGIpfWZ1bmN0aW9uIGNhKGEsYil7RGRbYV18fChhYShiKSxEZFthXT0hMCl9ZnVuY3Rpb24gZGEoYSl7dmFyIGIsYyxkLGUsZixnLGg9YS5faSxpPUVkLmV4ZWMoaCl8fEZkLmV4ZWMoaCk7aWYoaSl7Zm9yKGooYSkuaXNvPSEwLGI9MCxjPUhkLmxlbmd0aDtjPmI7YisrKWlmKEhkW2JdWzFdLmV4ZWMoaVsxXSkpe2U9SGRbYl1bMF0sZD1IZFtiXVsyXSE9PSExO2JyZWFrfWlmKG51bGw9PWUpcmV0dXJuIHZvaWQoYS5faXNWYWxpZD0hMSk7aWYoaVszXSl7Zm9yKGI9MCxjPUlkLmxlbmd0aDtjPmI7YisrKWlmKElkW2JdWzFdLmV4ZWMoaVszXSkpe2Y9KGlbMl18fCIgIikrSWRbYl1bMF07YnJlYWt9aWYobnVsbD09ZilyZXR1cm4gdm9pZChhLl9pc1ZhbGlkPSExKX1pZighZCYmbnVsbCE9ZilyZXR1cm4gdm9pZChhLl9pc1ZhbGlkPSExKTtpZihpWzRdKXtpZighR2QuZXhlYyhpWzRdKSlyZXR1cm4gdm9pZChhLl9pc1ZhbGlkPSExKTtnPSJaIn1hLl9mPWUrKGZ8fCIiKSsoZ3x8IiIpLHNhKGEpfWVsc2UgYS5faXNWYWxpZD0hMX1mdW5jdGlvbiBlYShiKXt2YXIgYz1KZC5leGVjKGIuX2kpO3JldHVybiBudWxsIT09Yz92b2lkKGIuX2Q9bmV3IERhdGUoK2NbMV0pKTooZGEoYiksdm9pZChiLl9pc1ZhbGlkPT09ITEmJihkZWxldGUgYi5faXNWYWxpZCxhLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGIpKSkpfWZ1bmN0aW9uIGZhKGEsYixjLGQsZSxmLGcpe3ZhciBoPW5ldyBEYXRlKGEsYixjLGQsZSxmLGcpO3JldHVybiAxMDA+YSYmYT49MCYmaXNGaW5pdGUoaC5nZXRGdWxsWWVhcigpKSYmaC5zZXRGdWxsWWVhcihhKSxofWZ1bmN0aW9uIGdhKGEpe3ZhciBiPW5ldyBEYXRlKERhdGUuVVRDLmFwcGx5KG51bGwsYXJndW1lbnRzKSk7cmV0dXJuIDEwMD5hJiZhPj0wJiZpc0Zpbml0ZShiLmdldFVUQ0Z1bGxZZWFyKCkpJiZiLnNldFVUQ0Z1bGxZZWFyKGEpLGJ9ZnVuY3Rpb24gaGEoYSl7cmV0dXJuIGlhKGEpPzM2NjozNjV9ZnVuY3Rpb24gaWEoYSl7cmV0dXJuIGElND09PTAmJmElMTAwIT09MHx8YSU0MDA9PT0wfWZ1bmN0aW9uIGphKCl7cmV0dXJuIGlhKHRoaXMueWVhcigpKX1mdW5jdGlvbiBrYShhLGIsYyl7dmFyIGQ9NytiLWMsZT0oNytnYShhLDAsZCkuZ2V0VVRDRGF5KCktYiklNztyZXR1cm4tZStkLTF9ZnVuY3Rpb24gbGEoYSxiLGMsZCxlKXt2YXIgZixnLGg9KDcrYy1kKSU3LGk9a2EoYSxkLGUpLGo9MSs3KihiLTEpK2graTtyZXR1cm4gMD49aj8oZj1hLTEsZz1oYShmKStqKTpqPmhhKGEpPyhmPWErMSxnPWotaGEoYSkpOihmPWEsZz1qKSx7eWVhcjpmLGRheU9mWWVhcjpnfX1mdW5jdGlvbiBtYShhLGIsYyl7dmFyIGQsZSxmPWthKGEueWVhcigpLGIsYyksZz1NYXRoLmZsb29yKChhLmRheU9mWWVhcigpLWYtMSkvNykrMTtyZXR1cm4gMT5nPyhlPWEueWVhcigpLTEsZD1nK25hKGUsYixjKSk6Zz5uYShhLnllYXIoKSxiLGMpPyhkPWctbmEoYS55ZWFyKCksYixjKSxlPWEueWVhcigpKzEpOihlPWEueWVhcigpLGQ9Zykse3dlZWs6ZCx5ZWFyOmV9fWZ1bmN0aW9uIG5hKGEsYixjKXt2YXIgZD1rYShhLGIsYyksZT1rYShhKzEsYixjKTtyZXR1cm4oaGEoYSktZCtlKS83fWZ1bmN0aW9uIG9hKGEsYixjKXtyZXR1cm4gbnVsbCE9YT9hOm51bGwhPWI/YjpjfWZ1bmN0aW9uIHBhKGIpe3ZhciBjPW5ldyBEYXRlKGEubm93KCkpO3JldHVybiBiLl91c2VVVEM/W2MuZ2V0VVRDRnVsbFllYXIoKSxjLmdldFVUQ01vbnRoKCksYy5nZXRVVENEYXRlKCldOltjLmdldEZ1bGxZZWFyKCksYy5nZXRNb250aCgpLGMuZ2V0RGF0ZSgpXX1mdW5jdGlvbiBxYShhKXt2YXIgYixjLGQsZSxmPVtdO2lmKCFhLl9kKXtmb3IoZD1wYShhKSxhLl93JiZudWxsPT1hLl9hW3RkXSYmbnVsbD09YS5fYVtzZF0mJnJhKGEpLGEuX2RheU9mWWVhciYmKGU9b2EoYS5fYVtyZF0sZFtyZF0pLGEuX2RheU9mWWVhcj5oYShlKSYmKGooYSkuX292ZXJmbG93RGF5T2ZZZWFyPSEwKSxjPWdhKGUsMCxhLl9kYXlPZlllYXIpLGEuX2Fbc2RdPWMuZ2V0VVRDTW9udGgoKSxhLl9hW3RkXT1jLmdldFVUQ0RhdGUoKSksYj0wOzM+YiYmbnVsbD09YS5fYVtiXTsrK2IpYS5fYVtiXT1mW2JdPWRbYl07Zm9yKDs3PmI7YisrKWEuX2FbYl09ZltiXT1udWxsPT1hLl9hW2JdPzI9PT1iPzE6MDphLl9hW2JdOzI0PT09YS5fYVt1ZF0mJjA9PT1hLl9hW3ZkXSYmMD09PWEuX2Fbd2RdJiYwPT09YS5fYVt4ZF0mJihhLl9uZXh0RGF5PSEwLGEuX2FbdWRdPTApLGEuX2Q9KGEuX3VzZVVUQz9nYTpmYSkuYXBwbHkobnVsbCxmKSxudWxsIT1hLl90em0mJmEuX2Quc2V0VVRDTWludXRlcyhhLl9kLmdldFVUQ01pbnV0ZXMoKS1hLl90em0pLGEuX25leHREYXkmJihhLl9hW3VkXT0yNCl9fWZ1bmN0aW9uIHJhKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGk7Yj1hLl93LG51bGwhPWIuR0d8fG51bGwhPWIuV3x8bnVsbCE9Yi5FPyhmPTEsZz00LGM9b2EoYi5HRyxhLl9hW3JkXSxtYShBYSgpLDEsNCkueWVhciksZD1vYShiLlcsMSksZT1vYShiLkUsMSksKDE+ZXx8ZT43KSYmKGk9ITApKTooZj1hLl9sb2NhbGUuX3dlZWsuZG93LGc9YS5fbG9jYWxlLl93ZWVrLmRveSxjPW9hKGIuZ2csYS5fYVtyZF0sbWEoQWEoKSxmLGcpLnllYXIpLGQ9b2EoYi53LDEpLG51bGwhPWIuZD8oZT1iLmQsKDA+ZXx8ZT42KSYmKGk9ITApKTpudWxsIT1iLmU/KGU9Yi5lK2YsKGIuZTwwfHxiLmU+NikmJihpPSEwKSk6ZT1mKSwxPmR8fGQ+bmEoYyxmLGcpP2ooYSkuX292ZXJmbG93V2Vla3M9ITA6bnVsbCE9aT9qKGEpLl9vdmVyZmxvd1dlZWtkYXk9ITA6KGg9bGEoYyxkLGUsZixnKSxhLl9hW3JkXT1oLnllYXIsYS5fZGF5T2ZZZWFyPWguZGF5T2ZZZWFyKX1mdW5jdGlvbiBzYShiKXtpZihiLl9mPT09YS5JU09fODYwMSlyZXR1cm4gdm9pZCBkYShiKTtiLl9hPVtdLGooYikuZW1wdHk9ITA7dmFyIGMsZCxlLGYsZyxoPSIiK2IuX2ksaT1oLmxlbmd0aCxrPTA7Zm9yKGU9TihiLl9mLGIuX2xvY2FsZSkubWF0Y2goV2MpfHxbXSxjPTA7YzxlLmxlbmd0aDtjKyspZj1lW2NdLGQ9KGgubWF0Y2goUChmLGIpKXx8W10pWzBdLGQmJihnPWguc3Vic3RyKDAsaC5pbmRleE9mKGQpKSxnLmxlbmd0aD4wJiZqKGIpLnVudXNlZElucHV0LnB1c2goZyksaD1oLnNsaWNlKGguaW5kZXhPZihkKStkLmxlbmd0aCksays9ZC5sZW5ndGgpLFpjW2ZdPyhkP2ooYikuZW1wdHk9ITE6aihiKS51bnVzZWRUb2tlbnMucHVzaChmKSxUKGYsZCxiKSk6Yi5fc3RyaWN0JiYhZCYmaihiKS51bnVzZWRUb2tlbnMucHVzaChmKTtqKGIpLmNoYXJzTGVmdE92ZXI9aS1rLGgubGVuZ3RoPjAmJmooYikudW51c2VkSW5wdXQucHVzaChoKSxqKGIpLmJpZ0hvdXI9PT0hMCYmYi5fYVt1ZF08PTEyJiZiLl9hW3VkXT4wJiYoaihiKS5iaWdIb3VyPXZvaWQgMCksYi5fYVt1ZF09dGEoYi5fbG9jYWxlLGIuX2FbdWRdLGIuX21lcmlkaWVtKSxxYShiKSxfKGIpfWZ1bmN0aW9uIHRhKGEsYixjKXt2YXIgZDtyZXR1cm4gbnVsbD09Yz9iOm51bGwhPWEubWVyaWRpZW1Ib3VyP2EubWVyaWRpZW1Ib3VyKGIsYyk6bnVsbCE9YS5pc1BNPyhkPWEuaXNQTShjKSxkJiYxMj5iJiYoYis9MTIpLGR8fDEyIT09Ynx8KGI9MCksYik6Yn1mdW5jdGlvbiB1YShhKXt2YXIgYixjLGQsZSxmO2lmKDA9PT1hLl9mLmxlbmd0aClyZXR1cm4gaihhKS5pbnZhbGlkRm9ybWF0PSEwLHZvaWQoYS5fZD1uZXcgRGF0ZShOYU4pKTtmb3IoZT0wO2U8YS5fZi5sZW5ndGg7ZSsrKWY9MCxiPW4oe30sYSksbnVsbCE9YS5fdXNlVVRDJiYoYi5fdXNlVVRDPWEuX3VzZVVUQyksYi5fZj1hLl9mW2VdLHNhKGIpLGsoYikmJihmKz1qKGIpLmNoYXJzTGVmdE92ZXIsZis9MTAqaihiKS51bnVzZWRUb2tlbnMubGVuZ3RoLGooYikuc2NvcmU9ZiwobnVsbD09ZHx8ZD5mKSYmKGQ9ZixjPWIpKTtnKGEsY3x8Yil9ZnVuY3Rpb24gdmEoYSl7aWYoIWEuX2Qpe3ZhciBiPUMoYS5faSk7YS5fYT1lKFtiLnllYXIsYi5tb250aCxiLmRheXx8Yi5kYXRlLGIuaG91cixiLm1pbnV0ZSxiLnNlY29uZCxiLm1pbGxpc2Vjb25kXSxmdW5jdGlvbihhKXtyZXR1cm4gYSYmcGFyc2VJbnQoYSwxMCl9KSxxYShhKX19ZnVuY3Rpb24gd2EoYSl7dmFyIGI9bmV3IG8oXyh4YShhKSkpO3JldHVybiBiLl9uZXh0RGF5JiYoYi5hZGQoMSwiZCIpLGIuX25leHREYXk9dm9pZCAwKSxifWZ1bmN0aW9uIHhhKGEpe3ZhciBiPWEuX2ksZT1hLl9mO3JldHVybiBhLl9sb2NhbGU9YS5fbG9jYWxlfHx6KGEuX2wpLG51bGw9PT1ifHx2b2lkIDA9PT1lJiYiIj09PWI/bCh7bnVsbElucHV0OiEwfSk6KCJzdHJpbmciPT10eXBlb2YgYiYmKGEuX2k9Yj1hLl9sb2NhbGUucHJlcGFyc2UoYikpLHAoYik/bmV3IG8oXyhiKSk6KGMoZSk/dWEoYSk6ZT9zYShhKTpkKGIpP2EuX2Q9Yjp5YShhKSxrKGEpfHwoYS5fZD1udWxsKSxhKSl9ZnVuY3Rpb24geWEoYil7dmFyIGY9Yi5faTt2b2lkIDA9PT1mP2IuX2Q9bmV3IERhdGUoYS5ub3coKSk6ZChmKT9iLl9kPW5ldyBEYXRlKCtmKToic3RyaW5nIj09dHlwZW9mIGY/ZWEoYik6YyhmKT8oYi5fYT1lKGYuc2xpY2UoMCksZnVuY3Rpb24oYSl7cmV0dXJuIHBhcnNlSW50KGEsMTApfSkscWEoYikpOiJvYmplY3QiPT10eXBlb2YgZj92YShiKToibnVtYmVyIj09dHlwZW9mIGY/Yi5fZD1uZXcgRGF0ZShmKTphLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGIpfWZ1bmN0aW9uIHphKGEsYixjLGQsZSl7dmFyIGY9e307cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYyYmKGQ9YyxjPXZvaWQgMCksZi5faXNBTW9tZW50T2JqZWN0PSEwLGYuX3VzZVVUQz1mLl9pc1VUQz1lLGYuX2w9YyxmLl9pPWEsZi5fZj1iLGYuX3N0cmljdD1kLHdhKGYpfWZ1bmN0aW9uIEFhKGEsYixjLGQpe3JldHVybiB6YShhLGIsYyxkLCExKX1mdW5jdGlvbiBCYShhLGIpe3ZhciBkLGU7aWYoMT09PWIubGVuZ3RoJiZjKGJbMF0pJiYoYj1iWzBdKSwhYi5sZW5ndGgpcmV0dXJuIEFhKCk7Zm9yKGQ9YlswXSxlPTE7ZTxiLmxlbmd0aDsrK2UpKCFiW2VdLmlzVmFsaWQoKXx8YltlXVthXShkKSkmJihkPWJbZV0pO3JldHVybiBkfWZ1bmN0aW9uIENhKCl7dmFyIGE9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIEJhKCJpc0JlZm9yZSIsYSl9ZnVuY3Rpb24gRGEoKXt2YXIgYT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gQmEoImlzQWZ0ZXIiLGEpfWZ1bmN0aW9uIEVhKGEpe3ZhciBiPUMoYSksYz1iLnllYXJ8fDAsZD1iLnF1YXJ0ZXJ8fDAsZT1iLm1vbnRofHwwLGY9Yi53ZWVrfHwwLGc9Yi5kYXl8fDAsaD1iLmhvdXJ8fDAsaT1iLm1pbnV0ZXx8MCxqPWIuc2Vjb25kfHwwLGs9Yi5taWxsaXNlY29uZHx8MDt0aGlzLl9taWxsaXNlY29uZHM9K2srMWUzKmorNmU0KmkrMzZlNSpoLHRoaXMuX2RheXM9K2crNypmLHRoaXMuX21vbnRocz0rZSszKmQrMTIqYyx0aGlzLl9kYXRhPXt9LHRoaXMuX2xvY2FsZT16KCksdGhpcy5fYnViYmxlKCl9ZnVuY3Rpb24gRmEoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFYX1mdW5jdGlvbiBHYShhLGIpe0ooYSwwLDAsZnVuY3Rpb24oKXt2YXIgYT10aGlzLnV0Y09mZnNldCgpLGM9IisiO3JldHVybiAwPmEmJihhPS1hLGM9Ii0iKSxjK0kofn4oYS82MCksMikrYitJKH5+YSU2MCwyKX0pfWZ1bmN0aW9uIEhhKGEsYil7dmFyIGM9KGJ8fCIiKS5tYXRjaChhKXx8W10sZD1jW2MubGVuZ3RoLTFdfHxbXSxlPShkKyIiKS5tYXRjaChPZCl8fFsiLSIsMCwwXSxmPSsoNjAqZVsxXSkrcihlWzJdKTtyZXR1cm4iKyI9PT1lWzBdP2Y6LWZ9ZnVuY3Rpb24gSWEoYixjKXt2YXIgZSxmO3JldHVybiBjLl9pc1VUQz8oZT1jLmNsb25lKCksZj0ocChiKXx8ZChiKT8rYjorQWEoYikpLStlLGUuX2Quc2V0VGltZSgrZS5fZCtmKSxhLnVwZGF0ZU9mZnNldChlLCExKSxlKTpBYShiKS5sb2NhbCgpfWZ1bmN0aW9uIEphKGEpe3JldHVybiAxNSotTWF0aC5yb3VuZChhLl9kLmdldFRpbWV6b25lT2Zmc2V0KCkvMTUpfWZ1bmN0aW9uIEthKGIsYyl7dmFyIGQsZT10aGlzLl9vZmZzZXR8fDA7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP251bGwhPWI/KCJzdHJpbmciPT10eXBlb2YgYj9iPUhhKG1kLGIpOk1hdGguYWJzKGIpPDE2JiYoYj02MCpiKSwhdGhpcy5faXNVVEMmJmMmJihkPUphKHRoaXMpKSx0aGlzLl9vZmZzZXQ9Yix0aGlzLl9pc1VUQz0hMCxudWxsIT1kJiZ0aGlzLmFkZChkLCJtIiksZSE9PWImJighY3x8dGhpcy5fY2hhbmdlSW5Qcm9ncmVzcz8kYSh0aGlzLFZhKGItZSwibSIpLDEsITEpOnRoaXMuX2NoYW5nZUluUHJvZ3Jlc3N8fCh0aGlzLl9jaGFuZ2VJblByb2dyZXNzPSEwLGEudXBkYXRlT2Zmc2V0KHRoaXMsITApLHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3M9bnVsbCkpLHRoaXMpOnRoaXMuX2lzVVRDP2U6SmEodGhpcyk6bnVsbCE9Yj90aGlzOk5hTn1mdW5jdGlvbiBMYShhLGIpe3JldHVybiBudWxsIT1hPygic3RyaW5nIiE9dHlwZW9mIGEmJihhPS1hKSx0aGlzLnV0Y09mZnNldChhLGIpLHRoaXMpOi10aGlzLnV0Y09mZnNldCgpfWZ1bmN0aW9uIE1hKGEpe3JldHVybiB0aGlzLnV0Y09mZnNldCgwLGEpfWZ1bmN0aW9uIE5hKGEpe3JldHVybiB0aGlzLl9pc1VUQyYmKHRoaXMudXRjT2Zmc2V0KDAsYSksdGhpcy5faXNVVEM9ITEsYSYmdGhpcy5zdWJ0cmFjdChKYSh0aGlzKSwibSIpKSx0aGlzfWZ1bmN0aW9uIE9hKCl7cmV0dXJuIHRoaXMuX3R6bT90aGlzLnV0Y09mZnNldCh0aGlzLl90em0pOiJzdHJpbmciPT10eXBlb2YgdGhpcy5faSYmdGhpcy51dGNPZmZzZXQoSGEobGQsdGhpcy5faSkpLHRoaXN9ZnVuY3Rpb24gUGEoYSl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpPyhhPWE/QWEoYSkudXRjT2Zmc2V0KCk6MCwodGhpcy51dGNPZmZzZXQoKS1hKSU2MD09PTApOiExfWZ1bmN0aW9uIFFhKCl7cmV0dXJuIHRoaXMudXRjT2Zmc2V0KCk+dGhpcy5jbG9uZSgpLm1vbnRoKDApLnV0Y09mZnNldCgpfHx0aGlzLnV0Y09mZnNldCgpPnRoaXMuY2xvbmUoKS5tb250aCg1KS51dGNPZmZzZXQoKX1mdW5jdGlvbiBSYSgpe2lmKCFtKHRoaXMuX2lzRFNUU2hpZnRlZCkpcmV0dXJuIHRoaXMuX2lzRFNUU2hpZnRlZDt2YXIgYT17fTtpZihuKGEsdGhpcyksYT14YShhKSxhLl9hKXt2YXIgYj1hLl9pc1VUQz9oKGEuX2EpOkFhKGEuX2EpO3RoaXMuX2lzRFNUU2hpZnRlZD10aGlzLmlzVmFsaWQoKSYmcyhhLl9hLGIudG9BcnJheSgpKT4wfWVsc2UgdGhpcy5faXNEU1RTaGlmdGVkPSExO3JldHVybiB0aGlzLl9pc0RTVFNoaWZ0ZWR9ZnVuY3Rpb24gU2EoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/IXRoaXMuX2lzVVRDOiExfWZ1bmN0aW9uIFRhKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMuX2lzVVRDOiExfWZ1bmN0aW9uIFVhKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMuX2lzVVRDJiYwPT09dGhpcy5fb2Zmc2V0OiExfWZ1bmN0aW9uIFZhKGEsYil7dmFyIGMsZCxlLGc9YSxoPW51bGw7cmV0dXJuIEZhKGEpP2c9e21zOmEuX21pbGxpc2Vjb25kcyxkOmEuX2RheXMsTTphLl9tb250aHN9OiJudW1iZXIiPT10eXBlb2YgYT8oZz17fSxiP2dbYl09YTpnLm1pbGxpc2Vjb25kcz1hKTooaD1QZC5leGVjKGEpKT8oYz0iLSI9PT1oWzFdPy0xOjEsZz17eTowLGQ6cihoW3RkXSkqYyxoOnIoaFt1ZF0pKmMsbTpyKGhbdmRdKSpjLHM6cihoW3dkXSkqYyxtczpyKGhbeGRdKSpjfSk6KGg9UWQuZXhlYyhhKSk/KGM9Ii0iPT09aFsxXT8tMToxLGc9e3k6V2EoaFsyXSxjKSxNOldhKGhbM10sYyksZDpXYShoWzRdLGMpLGg6V2EoaFs1XSxjKSxtOldhKGhbNl0sYyksczpXYShoWzddLGMpLHc6V2EoaFs4XSxjKX0pOm51bGw9PWc/Zz17fToib2JqZWN0Ij09dHlwZW9mIGcmJigiZnJvbSJpbiBnfHwidG8iaW4gZykmJihlPVlhKEFhKGcuZnJvbSksQWEoZy50bykpLGc9e30sZy5tcz1lLm1pbGxpc2Vjb25kcyxnLk09ZS5tb250aHMpLGQ9bmV3IEVhKGcpLEZhKGEpJiZmKGEsIl9sb2NhbGUiKSYmKGQuX2xvY2FsZT1hLl9sb2NhbGUpLGR9ZnVuY3Rpb24gV2EoYSxiKXt2YXIgYz1hJiZwYXJzZUZsb2F0KGEucmVwbGFjZSgiLCIsIi4iKSk7cmV0dXJuKGlzTmFOKGMpPzA6YykqYn1mdW5jdGlvbiBYYShhLGIpe3ZhciBjPXttaWxsaXNlY29uZHM6MCxtb250aHM6MH07cmV0dXJuIGMubW9udGhzPWIubW9udGgoKS1hLm1vbnRoKCkrMTIqKGIueWVhcigpLWEueWVhcigpKSxhLmNsb25lKCkuYWRkKGMubW9udGhzLCJNIikuaXNBZnRlcihiKSYmLS1jLm1vbnRocyxjLm1pbGxpc2Vjb25kcz0rYi0rYS5jbG9uZSgpLmFkZChjLm1vbnRocywiTSIpLGN9ZnVuY3Rpb24gWWEoYSxiKXt2YXIgYztyZXR1cm4gYS5pc1ZhbGlkKCkmJmIuaXNWYWxpZCgpPyhiPUlhKGIsYSksYS5pc0JlZm9yZShiKT9jPVhhKGEsYik6KGM9WGEoYixhKSxjLm1pbGxpc2Vjb25kcz0tYy5taWxsaXNlY29uZHMsYy5tb250aHM9LWMubW9udGhzKSxjKTp7bWlsbGlzZWNvbmRzOjAsbW9udGhzOjB9fWZ1bmN0aW9uIFphKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7dmFyIGUsZjtyZXR1cm4gbnVsbD09PWR8fGlzTmFOKCtkKXx8KGNhKGIsIm1vbWVudCgpLiIrYisiKHBlcmlvZCwgbnVtYmVyKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIG1vbWVudCgpLiIrYisiKG51bWJlciwgcGVyaW9kKS4iKSxmPWMsYz1kLGQ9ZiksYz0ic3RyaW5nIj09dHlwZW9mIGM/K2M6YyxlPVZhKGMsZCksJGEodGhpcyxlLGEpLHRoaXN9fWZ1bmN0aW9uICRhKGIsYyxkLGUpe3ZhciBmPWMuX21pbGxpc2Vjb25kcyxnPWMuX2RheXMsaD1jLl9tb250aHM7Yi5pc1ZhbGlkKCkmJihlPW51bGw9PWU/ITA6ZSxmJiZiLl9kLnNldFRpbWUoK2IuX2QrZipkKSxnJiZHKGIsIkRhdGUiLEYoYiwiRGF0ZSIpK2cqZCksaCYmWShiLEYoYiwiTW9udGgiKStoKmQpLGUmJmEudXBkYXRlT2Zmc2V0KGIsZ3x8aCkpfWZ1bmN0aW9uIF9hKGEsYil7dmFyIGM9YXx8QWEoKSxkPUlhKGMsdGhpcykuc3RhcnRPZigiZGF5IiksZT10aGlzLmRpZmYoZCwiZGF5cyIsITApLGY9LTY+ZT8ic2FtZUVsc2UiOi0xPmU/Imxhc3RXZWVrIjowPmU/Imxhc3REYXkiOjE+ZT8ic2FtZURheSI6Mj5lPyJuZXh0RGF5Ijo3PmU/Im5leHRXZWVrIjoic2FtZUVsc2UiLGc9YiYmKEQoYltmXSk/YltmXSgpOmJbZl0pO3JldHVybiB0aGlzLmZvcm1hdChnfHx0aGlzLmxvY2FsZURhdGEoKS5jYWxlbmRhcihmLHRoaXMsQWEoYykpKX1mdW5jdGlvbiBhYigpe3JldHVybiBuZXcgbyh0aGlzKX1mdW5jdGlvbiBiYihhLGIpe3ZhciBjPXAoYSk/YTpBYShhKTtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJmMuaXNWYWxpZCgpPyhiPUIobShiKT8ibWlsbGlzZWNvbmQiOmIpLCJtaWxsaXNlY29uZCI9PT1iPyt0aGlzPitjOitjPCt0aGlzLmNsb25lKCkuc3RhcnRPZihiKSk6ITF9ZnVuY3Rpb24gY2IoYSxiKXt2YXIgYz1wKGEpP2E6QWEoYSk7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZjLmlzVmFsaWQoKT8oYj1CKG0oYik/Im1pbGxpc2Vjb25kIjpiKSwibWlsbGlzZWNvbmQiPT09Yj8rYz4rdGhpczordGhpcy5jbG9uZSgpLmVuZE9mKGIpPCtjKTohMX1mdW5jdGlvbiBkYihhLGIsYyl7cmV0dXJuIHRoaXMuaXNBZnRlcihhLGMpJiZ0aGlzLmlzQmVmb3JlKGIsYyl9ZnVuY3Rpb24gZWIoYSxiKXt2YXIgYyxkPXAoYSk/YTpBYShhKTtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJmQuaXNWYWxpZCgpPyhiPUIoYnx8Im1pbGxpc2Vjb25kIiksIm1pbGxpc2Vjb25kIj09PWI/K3RoaXM9PT0rZDooYz0rZCwrdGhpcy5jbG9uZSgpLnN0YXJ0T2YoYik8PWMmJmM8PSt0aGlzLmNsb25lKCkuZW5kT2YoYikpKTohMX1mdW5jdGlvbiBmYihhLGIpe3JldHVybiB0aGlzLmlzU2FtZShhLGIpfHx0aGlzLmlzQWZ0ZXIoYSxiKX1mdW5jdGlvbiBnYihhLGIpe3JldHVybiB0aGlzLmlzU2FtZShhLGIpfHx0aGlzLmlzQmVmb3JlKGEsYil9ZnVuY3Rpb24gaGIoYSxiLGMpe3ZhciBkLGUsZixnO3JldHVybiB0aGlzLmlzVmFsaWQoKT8oZD1JYShhLHRoaXMpLGQuaXNWYWxpZCgpPyhlPTZlNCooZC51dGNPZmZzZXQoKS10aGlzLnV0Y09mZnNldCgpKSxiPUIoYiksInllYXIiPT09Ynx8Im1vbnRoIj09PWJ8fCJxdWFydGVyIj09PWI/KGc9aWIodGhpcyxkKSwicXVhcnRlciI9PT1iP2cvPTM6InllYXIiPT09YiYmKGcvPTEyKSk6KGY9dGhpcy1kLGc9InNlY29uZCI9PT1iP2YvMWUzOiJtaW51dGUiPT09Yj9mLzZlNDoiaG91ciI9PT1iP2YvMzZlNToiZGF5Ij09PWI/KGYtZSkvODY0ZTU6IndlZWsiPT09Yj8oZi1lKS82MDQ4ZTU6ZiksYz9nOnEoZykpOk5hTik6TmFOfWZ1bmN0aW9uIGliKGEsYil7dmFyIGMsZCxlPTEyKihiLnllYXIoKS1hLnllYXIoKSkrKGIubW9udGgoKS1hLm1vbnRoKCkpLGY9YS5jbG9uZSgpLmFkZChlLCJtb250aHMiKTtyZXR1cm4gMD5iLWY/KGM9YS5jbG9uZSgpLmFkZChlLTEsIm1vbnRocyIpLGQ9KGItZikvKGYtYykpOihjPWEuY2xvbmUoKS5hZGQoZSsxLCJtb250aHMiKSxkPShiLWYpLyhjLWYpKSwtKGUrZCl9ZnVuY3Rpb24gamIoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmxvY2FsZSgiZW4iKS5mb3JtYXQoImRkZCBNTU0gREQgWVlZWSBISDptbTpzcyBbR01UXVpaIil9ZnVuY3Rpb24ga2IoKXt2YXIgYT10aGlzLmNsb25lKCkudXRjKCk7cmV0dXJuIDA8YS55ZWFyKCkmJmEueWVhcigpPD05OTk5P0QoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpP3RoaXMudG9EYXRlKCkudG9JU09TdHJpbmcoKTpNKGEsIllZWVktTU0tRERbVF1ISDptbTpzcy5TU1NbWl0iKTpNKGEsIllZWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXSIpfWZ1bmN0aW9uIGxiKGIpe3ZhciBjPU0odGhpcyxifHxhLmRlZmF1bHRGb3JtYXQpO3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS5wb3N0Zm9ybWF0KGMpfWZ1bmN0aW9uIG1iKGEsYil7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiYocChhKSYmYS5pc1ZhbGlkKCl8fEFhKGEpLmlzVmFsaWQoKSk/VmEoe3RvOnRoaXMsZnJvbTphfSkubG9jYWxlKHRoaXMubG9jYWxlKCkpLmh1bWFuaXplKCFiKTp0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpfWZ1bmN0aW9uIG5iKGEpe3JldHVybiB0aGlzLmZyb20oQWEoKSxhKX1mdW5jdGlvbiBvYihhLGIpe3JldHVybiB0aGlzLmlzVmFsaWQoKSYmKHAoYSkmJmEuaXNWYWxpZCgpfHxBYShhKS5pc1ZhbGlkKCkpP1ZhKHtmcm9tOnRoaXMsdG86YX0pLmxvY2FsZSh0aGlzLmxvY2FsZSgpKS5odW1hbml6ZSghYik6dGhpcy5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKX1mdW5jdGlvbiBwYihhKXtyZXR1cm4gdGhpcy50byhBYSgpLGEpfWZ1bmN0aW9uIHFiKGEpe3ZhciBiO3JldHVybiB2b2lkIDA9PT1hP3RoaXMuX2xvY2FsZS5fYWJicjooYj16KGEpLG51bGwhPWImJih0aGlzLl9sb2NhbGU9YiksdGhpcyl9ZnVuY3Rpb24gcmIoKXtyZXR1cm4gdGhpcy5fbG9jYWxlfWZ1bmN0aW9uIHNiKGEpe3N3aXRjaChhPUIoYSkpe2Nhc2UieWVhciI6dGhpcy5tb250aCgwKTtjYXNlInF1YXJ0ZXIiOmNhc2UibW9udGgiOnRoaXMuZGF0ZSgxKTtjYXNlIndlZWsiOmNhc2UiaXNvV2VlayI6Y2FzZSJkYXkiOnRoaXMuaG91cnMoMCk7Y2FzZSJob3VyIjp0aGlzLm1pbnV0ZXMoMCk7Y2FzZSJtaW51dGUiOnRoaXMuc2Vjb25kcygwKTtjYXNlInNlY29uZCI6dGhpcy5taWxsaXNlY29uZHMoMCl9cmV0dXJuIndlZWsiPT09YSYmdGhpcy53ZWVrZGF5KDApLCJpc29XZWVrIj09PWEmJnRoaXMuaXNvV2Vla2RheSgxKSwicXVhcnRlciI9PT1hJiZ0aGlzLm1vbnRoKDMqTWF0aC5mbG9vcih0aGlzLm1vbnRoKCkvMykpLHRoaXN9ZnVuY3Rpb24gdGIoYSl7cmV0dXJuIGE9QihhKSx2b2lkIDA9PT1hfHwibWlsbGlzZWNvbmQiPT09YT90aGlzOnRoaXMuc3RhcnRPZihhKS5hZGQoMSwiaXNvV2VlayI9PT1hPyJ3ZWVrIjphKS5zdWJ0cmFjdCgxLCJtcyIpfWZ1bmN0aW9uIHViKCl7cmV0dXJuK3RoaXMuX2QtNmU0Kih0aGlzLl9vZmZzZXR8fDApfWZ1bmN0aW9uIHZiKCl7cmV0dXJuIE1hdGguZmxvb3IoK3RoaXMvMWUzKX1mdW5jdGlvbiB3Yigpe3JldHVybiB0aGlzLl9vZmZzZXQ/bmV3IERhdGUoK3RoaXMpOnRoaXMuX2R9ZnVuY3Rpb24geGIoKXt2YXIgYT10aGlzO3JldHVyblthLnllYXIoKSxhLm1vbnRoKCksYS5kYXRlKCksYS5ob3VyKCksYS5taW51dGUoKSxhLnNlY29uZCgpLGEubWlsbGlzZWNvbmQoKV19ZnVuY3Rpb24geWIoKXt2YXIgYT10aGlzO3JldHVybnt5ZWFyczphLnllYXIoKSxtb250aHM6YS5tb250aCgpLGRhdGU6YS5kYXRlKCksaG91cnM6YS5ob3VycygpLG1pbnV0ZXM6YS5taW51dGVzKCksc2Vjb25kczphLnNlY29uZHMoKSxtaWxsaXNlY29uZHM6YS5taWxsaXNlY29uZHMoKX19ZnVuY3Rpb24gemIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/dGhpcy50b0lTT1N0cmluZygpOiJudWxsIn1mdW5jdGlvbiBBYigpe3JldHVybiBrKHRoaXMpfWZ1bmN0aW9uIEJiKCl7cmV0dXJuIGcoe30saih0aGlzKSl9ZnVuY3Rpb24gQ2IoKXtyZXR1cm4gaih0aGlzKS5vdmVyZmxvd31mdW5jdGlvbiBEYigpe3JldHVybntpbnB1dDp0aGlzLl9pLGZvcm1hdDp0aGlzLl9mLGxvY2FsZTp0aGlzLl9sb2NhbGUsaXNVVEM6dGhpcy5faXNVVEMsc3RyaWN0OnRoaXMuX3N0cmljdH19ZnVuY3Rpb24gRWIoYSxiKXtKKDAsW2EsYS5sZW5ndGhdLDAsYil9ZnVuY3Rpb24gRmIoYSl7cmV0dXJuIEpiLmNhbGwodGhpcyxhLHRoaXMud2VlaygpLHRoaXMud2Vla2RheSgpLHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrLmRvdyx0aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3kpfWZ1bmN0aW9uIEdiKGEpe3JldHVybiBKYi5jYWxsKHRoaXMsYSx0aGlzLmlzb1dlZWsoKSx0aGlzLmlzb1dlZWtkYXkoKSwxLDQpfWZ1bmN0aW9uIEhiKCl7cmV0dXJuIG5hKHRoaXMueWVhcigpLDEsNCl9ZnVuY3Rpb24gSWIoKXt2YXIgYT10aGlzLmxvY2FsZURhdGEoKS5fd2VlaztyZXR1cm4gbmEodGhpcy55ZWFyKCksYS5kb3csYS5kb3kpfWZ1bmN0aW9uIEpiKGEsYixjLGQsZSl7dmFyIGY7cmV0dXJuIG51bGw9PWE/bWEodGhpcyxkLGUpLnllYXI6KGY9bmEoYSxkLGUpLGI+ZiYmKGI9ZiksS2IuY2FsbCh0aGlzLGEsYixjLGQsZSkpfWZ1bmN0aW9uIEtiKGEsYixjLGQsZSl7dmFyIGY9bGEoYSxiLGMsZCxlKSxnPWdhKGYueWVhciwwLGYuZGF5T2ZZZWFyKTtyZXR1cm4gdGhpcy55ZWFyKGcuZ2V0VVRDRnVsbFllYXIoKSksdGhpcy5tb250aChnLmdldFVUQ01vbnRoKCkpLHRoaXMuZGF0ZShnLmdldFVUQ0RhdGUoKSksdGhpc31mdW5jdGlvbiBMYihhKXtyZXR1cm4gbnVsbD09YT9NYXRoLmNlaWwoKHRoaXMubW9udGgoKSsxKS8zKTp0aGlzLm1vbnRoKDMqKGEtMSkrdGhpcy5tb250aCgpJTMpfWZ1bmN0aW9uIE1iKGEpe3JldHVybiBtYShhLHRoaXMuX3dlZWsuZG93LHRoaXMuX3dlZWsuZG95KS53ZWVrfWZ1bmN0aW9uIE5iKCl7cmV0dXJuIHRoaXMuX3dlZWsuZG93fWZ1bmN0aW9uIE9iKCl7cmV0dXJuIHRoaXMuX3dlZWsuZG95fWZ1bmN0aW9uIFBiKGEpe3ZhciBiPXRoaXMubG9jYWxlRGF0YSgpLndlZWsodGhpcyk7cmV0dXJuIG51bGw9PWE/Yjp0aGlzLmFkZCg3KihhLWIpLCJkIil9ZnVuY3Rpb24gUWIoYSl7dmFyIGI9bWEodGhpcywxLDQpLndlZWs7cmV0dXJuIG51bGw9PWE/Yjp0aGlzLmFkZCg3KihhLWIpLCJkIil9ZnVuY3Rpb24gUmIoYSxiKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGE/YTppc05hTihhKT8oYT1iLndlZWtkYXlzUGFyc2UoYSksIm51bWJlciI9PXR5cGVvZiBhP2E6bnVsbCk6cGFyc2VJbnQoYSwxMCl9ZnVuY3Rpb24gU2IoYSxiKXtyZXR1cm4gYyh0aGlzLl93ZWVrZGF5cyk/dGhpcy5fd2Vla2RheXNbYS5kYXkoKV06dGhpcy5fd2Vla2RheXNbdGhpcy5fd2Vla2RheXMuaXNGb3JtYXQudGVzdChiKT8iZm9ybWF0Ijoic3RhbmRhbG9uZSJdW2EuZGF5KCldfWZ1bmN0aW9uIFRiKGEpe3JldHVybiB0aGlzLl93ZWVrZGF5c1Nob3J0W2EuZGF5KCldfWZ1bmN0aW9uIFViKGEpe3JldHVybiB0aGlzLl93ZWVrZGF5c01pblthLmRheSgpXX1mdW5jdGlvbiBWYihhLGIsYyl7dmFyIGQsZSxmO2Zvcih0aGlzLl93ZWVrZGF5c1BhcnNlfHwodGhpcy5fd2Vla2RheXNQYXJzZT1bXSx0aGlzLl9taW5XZWVrZGF5c1BhcnNlPVtdLHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZT1bXSx0aGlzLl9mdWxsV2Vla2RheXNQYXJzZT1bXSksZD0wOzc+ZDtkKyspe2lmKGU9QWEoWzJlMywxXSkuZGF5KGQpLGMmJiF0aGlzLl9mdWxsV2Vla2RheXNQYXJzZVtkXSYmKHRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlW2RdPW5ldyBSZWdFeHAoIl4iK3RoaXMud2Vla2RheXMoZSwiIikucmVwbGFjZSgiLiIsIi4/IikrIiQiLCJpIiksdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlW2RdPW5ldyBSZWdFeHAoIl4iK3RoaXMud2Vla2RheXNTaG9ydChlLCIiKS5yZXBsYWNlKCIuIiwiLj8iKSsiJCIsImkiKSx0aGlzLl9taW5XZWVrZGF5c1BhcnNlW2RdPW5ldyBSZWdFeHAoIl4iK3RoaXMud2Vla2RheXNNaW4oZSwiIikucmVwbGFjZSgiLiIsIi4/IikrIiQiLCJpIikpLHRoaXMuX3dlZWtkYXlzUGFyc2VbZF18fChmPSJeIit0aGlzLndlZWtkYXlzKGUsIiIpKyJ8XiIrdGhpcy53ZWVrZGF5c1Nob3J0KGUsIiIpKyJ8XiIrdGhpcy53ZWVrZGF5c01pbihlLCIiKSx0aGlzLl93ZWVrZGF5c1BhcnNlW2RdPW5ldyBSZWdFeHAoZi5yZXBsYWNlKCIuIiwiIiksImkiKSksYyYmImRkZGQiPT09YiYmdGhpcy5fZnVsbFdlZWtkYXlzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZDtpZihjJiYiZGRkIj09PWImJnRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZVtkXS50ZXN0KGEpKXJldHVybiBkO2lmKGMmJiJkZCI9PT1iJiZ0aGlzLl9taW5XZWVrZGF5c1BhcnNlW2RdLnRlc3QoYSkpcmV0dXJuIGQ7aWYoIWMmJnRoaXMuX3dlZWtkYXlzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZH19ZnVuY3Rpb24gV2IoYSl7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBudWxsIT1hP3RoaXM6TmFOO3ZhciBiPXRoaXMuX2lzVVRDP3RoaXMuX2QuZ2V0VVRDRGF5KCk6dGhpcy5fZC5nZXREYXkoKTtyZXR1cm4gbnVsbCE9YT8oYT1SYihhLHRoaXMubG9jYWxlRGF0YSgpKSx0aGlzLmFkZChhLWIsImQiKSk6Yn1mdW5jdGlvbiBYYihhKXtpZighdGhpcy5pc1ZhbGlkKCkpcmV0dXJuIG51bGwhPWE/dGhpczpOYU47dmFyIGI9KHRoaXMuZGF5KCkrNy10aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3cpJTc7cmV0dXJuIG51bGw9PWE/Yjp0aGlzLmFkZChhLWIsImQiKX1mdW5jdGlvbiBZYihhKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/bnVsbD09YT90aGlzLmRheSgpfHw3OnRoaXMuZGF5KHRoaXMuZGF5KCklNz9hOmEtNyk6bnVsbCE9YT90aGlzOk5hTn1mdW5jdGlvbiBaYihhKXt2YXIgYj1NYXRoLnJvdW5kKCh0aGlzLmNsb25lKCkuc3RhcnRPZigiZGF5IiktdGhpcy5jbG9uZSgpLnN0YXJ0T2YoInllYXIiKSkvODY0ZTUpKzE7cmV0dXJuIG51bGw9PWE/Yjp0aGlzLmFkZChhLWIsImQiKX1mdW5jdGlvbiAkYigpe3JldHVybiB0aGlzLmhvdXJzKCklMTJ8fDEyfWZ1bmN0aW9uIF9iKGEsYil7SihhLDAsMCxmdW5jdGlvbigpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tZXJpZGllbSh0aGlzLmhvdXJzKCksdGhpcy5taW51dGVzKCksYil9KX1mdW5jdGlvbiBhYyhhLGIpe3JldHVybiBiLl9tZXJpZGllbVBhcnNlfWZ1bmN0aW9uIGJjKGEpe3JldHVybiJwIj09PShhKyIiKS50b0xvd2VyQ2FzZSgpLmNoYXJBdCgwKX1mdW5jdGlvbiBjYyhhLGIsYyl7cmV0dXJuIGE+MTE/Yz8icG0iOiJQTSI6Yz8iYW0iOiJBTSJ9ZnVuY3Rpb24gZGMoYSxiKXtiW3hkXT1yKDFlMyooIjAuIithKSl9ZnVuY3Rpb24gZWMoKXtyZXR1cm4gdGhpcy5faXNVVEM/IlVUQyI6IiJ9ZnVuY3Rpb24gZmMoKXtyZXR1cm4gdGhpcy5faXNVVEM/IkNvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lIjoiIn1mdW5jdGlvbiBnYyhhKXtyZXR1cm4gQWEoMWUzKmEpfWZ1bmN0aW9uIGhjKCl7cmV0dXJuIEFhLmFwcGx5KG51bGwsYXJndW1lbnRzKS5wYXJzZVpvbmUoKX1mdW5jdGlvbiBpYyhhLGIsYyl7dmFyIGQ9dGhpcy5fY2FsZW5kYXJbYV07cmV0dXJuIEQoZCk/ZC5jYWxsKGIsYyk6ZH1mdW5jdGlvbiBqYyhhKXt2YXIgYj10aGlzLl9sb25nRGF0ZUZvcm1hdFthXSxjPXRoaXMuX2xvbmdEYXRlRm9ybWF0W2EudG9VcHBlckNhc2UoKV07cmV0dXJuIGJ8fCFjP2I6KHRoaXMuX2xvbmdEYXRlRm9ybWF0W2FdPWMucmVwbGFjZSgvTU1NTXxNTXxERHxkZGRkL2csZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2xpY2UoMSl9KSx0aGlzLl9sb25nRGF0ZUZvcm1hdFthXSl9ZnVuY3Rpb24ga2MoKXtyZXR1cm4gdGhpcy5faW52YWxpZERhdGV9ZnVuY3Rpb24gbGMoYSl7cmV0dXJuIHRoaXMuX29yZGluYWwucmVwbGFjZSgiJWQiLGEpfWZ1bmN0aW9uIG1jKGEpe3JldHVybiBhfWZ1bmN0aW9uIG5jKGEsYixjLGQpe3ZhciBlPXRoaXMuX3JlbGF0aXZlVGltZVtjXTtyZXR1cm4gRChlKT9lKGEsYixjLGQpOmUucmVwbGFjZSgvJWQvaSxhKX1mdW5jdGlvbiBvYyhhLGIpe3ZhciBjPXRoaXMuX3JlbGF0aXZlVGltZVthPjA/ImZ1dHVyZSI6InBhc3QiXTtyZXR1cm4gRChjKT9jKGIpOmMucmVwbGFjZSgvJXMvaSxiKX1mdW5jdGlvbiBwYyhhKXt2YXIgYixjO2ZvcihjIGluIGEpYj1hW2NdLEQoYik/dGhpc1tjXT1iOnRoaXNbIl8iK2NdPWI7dGhpcy5fb3JkaW5hbFBhcnNlTGVuaWVudD1uZXcgUmVnRXhwKHRoaXMuX29yZGluYWxQYXJzZS5zb3VyY2UrInwiKy9cZHsxLDJ9Ly5zb3VyY2UpfWZ1bmN0aW9uIHFjKGEsYixjLGQpe3ZhciBlPXooKSxmPWgoKS5zZXQoZCxiKTtyZXR1cm4gZVtjXShmLGEpfWZ1bmN0aW9uIHJjKGEsYixjLGQsZSl7aWYoIm51bWJlciI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxhPWF8fCIiLG51bGwhPWIpcmV0dXJuIHFjKGEsYixjLGUpO3ZhciBmLGc9W107Zm9yKGY9MDtkPmY7ZisrKWdbZl09cWMoYSxmLGMsZSk7cmV0dXJuIGd9ZnVuY3Rpb24gc2MoYSxiKXtyZXR1cm4gcmMoYSxiLCJtb250aHMiLDEyLCJtb250aCIpfWZ1bmN0aW9uIHRjKGEsYil7cmV0dXJuIHJjKGEsYiwibW9udGhzU2hvcnQiLDEyLCJtb250aCIpfWZ1bmN0aW9uIHVjKGEsYil7cmV0dXJuIHJjKGEsYiwid2Vla2RheXMiLDcsImRheSIpfWZ1bmN0aW9uIHZjKGEsYil7cmV0dXJuIHJjKGEsYiwid2Vla2RheXNTaG9ydCIsNywiZGF5Iil9ZnVuY3Rpb24gd2MoYSxiKXtyZXR1cm4gcmMoYSxiLCJ3ZWVrZGF5c01pbiIsNywiZGF5Iil9ZnVuY3Rpb24geGMoKXt2YXIgYT10aGlzLl9kYXRhO3JldHVybiB0aGlzLl9taWxsaXNlY29uZHM9bWUodGhpcy5fbWlsbGlzZWNvbmRzKSx0aGlzLl9kYXlzPW1lKHRoaXMuX2RheXMpLHRoaXMuX21vbnRocz1tZSh0aGlzLl9tb250aHMpLGEubWlsbGlzZWNvbmRzPW1lKGEubWlsbGlzZWNvbmRzKSxhLnNlY29uZHM9bWUoYS5zZWNvbmRzKSxhLm1pbnV0ZXM9bWUoYS5taW51dGVzKSxhLmhvdXJzPW1lKGEuaG91cnMpLGEubW9udGhzPW1lKGEubW9udGhzKSxhLnllYXJzPW1lKGEueWVhcnMpLHRoaXN9ZnVuY3Rpb24geWMoYSxiLGMsZCl7dmFyIGU9VmEoYixjKTtyZXR1cm4gYS5fbWlsbGlzZWNvbmRzKz1kKmUuX21pbGxpc2Vjb25kcyxhLl9kYXlzKz1kKmUuX2RheXMsYS5fbW9udGhzKz1kKmUuX21vbnRocyxhLl9idWJibGUoKX1mdW5jdGlvbiB6YyhhLGIpe3JldHVybiB5Yyh0aGlzLGEsYiwxKX1mdW5jdGlvbiBBYyhhLGIpe3JldHVybiB5Yyh0aGlzLGEsYiwtMSl9ZnVuY3Rpb24gQmMoYSl7cmV0dXJuIDA+YT9NYXRoLmZsb29yKGEpOk1hdGguY2VpbChhKX1mdW5jdGlvbiBDYygpe3ZhciBhLGIsYyxkLGUsZj10aGlzLl9taWxsaXNlY29uZHMsZz10aGlzLl9kYXlzLGg9dGhpcy5fbW9udGhzLGk9dGhpcy5fZGF0YTtyZXR1cm4gZj49MCYmZz49MCYmaD49MHx8MD49ZiYmMD49ZyYmMD49aHx8KGYrPTg2NGU1KkJjKEVjKGgpK2cpLGc9MCxoPTApLGkubWlsbGlzZWNvbmRzPWYlMWUzLGE9cShmLzFlMyksaS5zZWNvbmRzPWElNjAsYj1xKGEvNjApLGkubWludXRlcz1iJTYwLGM9cShiLzYwKSxpLmhvdXJzPWMlMjQsZys9cShjLzI0KSxlPXEoRGMoZykpLGgrPWUsZy09QmMoRWMoZSkpLGQ9cShoLzEyKSxoJT0xMixpLmRheXM9ZyxpLm1vbnRocz1oLGkueWVhcnM9ZCx0aGlzfWZ1bmN0aW9uIERjKGEpe3JldHVybiA0ODAwKmEvMTQ2MDk3fWZ1bmN0aW9uIEVjKGEpe3JldHVybiAxNDYwOTcqYS80ODAwfWZ1bmN0aW9uIEZjKGEpe3ZhciBiLGMsZD10aGlzLl9taWxsaXNlY29uZHM7aWYoYT1CKGEpLCJtb250aCI9PT1hfHwieWVhciI9PT1hKXJldHVybiBiPXRoaXMuX2RheXMrZC84NjRlNSxjPXRoaXMuX21vbnRocytEYyhiKSwibW9udGgiPT09YT9jOmMvMTI7c3dpdGNoKGI9dGhpcy5fZGF5cytNYXRoLnJvdW5kKEVjKHRoaXMuX21vbnRocykpLGEpe2Nhc2Uid2VlayI6cmV0dXJuIGIvNytkLzYwNDhlNTtjYXNlImRheSI6cmV0dXJuIGIrZC84NjRlNTtjYXNlImhvdXIiOnJldHVybiAyNCpiK2QvMzZlNTtjYXNlIm1pbnV0ZSI6cmV0dXJuIDE0NDAqYitkLzZlNDtjYXNlInNlY29uZCI6cmV0dXJuIDg2NDAwKmIrZC8xZTM7Y2FzZSJtaWxsaXNlY29uZCI6cmV0dXJuIE1hdGguZmxvb3IoODY0ZTUqYikrZDtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biB1bml0ICIrYSl9fWZ1bmN0aW9uIEdjKCl7cmV0dXJuIHRoaXMuX21pbGxpc2Vjb25kcys4NjRlNSp0aGlzLl9kYXlzK3RoaXMuX21vbnRocyUxMioyNTkyZTYrMzE1MzZlNipyKHRoaXMuX21vbnRocy8xMil9ZnVuY3Rpb24gSGMoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXMoYSl9fWZ1bmN0aW9uIEljKGEpe3JldHVybiBhPUIoYSksdGhpc1thKyJzIl0oKX1mdW5jdGlvbiBKYyhhKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGF0YVthXX19ZnVuY3Rpb24gS2MoKXtyZXR1cm4gcSh0aGlzLmRheXMoKS83KX1mdW5jdGlvbiBMYyhhLGIsYyxkLGUpe3JldHVybiBlLnJlbGF0aXZlVGltZShifHwxLCEhYyxhLGQpfWZ1bmN0aW9uIE1jKGEsYixjKXt2YXIgZD1WYShhKS5hYnMoKSxlPUNlKGQuYXMoInMiKSksZj1DZShkLmFzKCJtIikpLGc9Q2UoZC5hcygiaCIpKSxoPUNlKGQuYXMoImQiKSksaT1DZShkLmFzKCJNIikpLGo9Q2UoZC5hcygieSIpKSxrPWU8RGUucyYmWyJzIixlXXx8MT49ZiYmWyJtIl18fGY8RGUubSYmWyJtbSIsZl18fDE+PWcmJlsiaCJdfHxnPERlLmgmJlsiaGgiLGddfHwxPj1oJiZbImQiXXx8aDxEZS5kJiZbImRkIixoXXx8MT49aSYmWyJNIl18fGk8RGUuTSYmWyJNTSIsaV18fDE+PWomJlsieSJdfHxbInl5IixqXTtyZXR1cm4ga1syXT1iLGtbM109K2E+MCxrWzRdPWMsTGMuYXBwbHkobnVsbCxrKX1mdW5jdGlvbiBOYyhhLGIpe3JldHVybiB2b2lkIDA9PT1EZVthXT8hMTp2b2lkIDA9PT1iP0RlW2FdOihEZVthXT1iLCEwKX1mdW5jdGlvbiBPYyhhKXt2YXIgYj10aGlzLmxvY2FsZURhdGEoKSxjPU1jKHRoaXMsIWEsYik7cmV0dXJuIGEmJihjPWIucGFzdEZ1dHVyZSgrdGhpcyxjKSksYi5wb3N0Zm9ybWF0KGMpfWZ1bmN0aW9uIFBjKCl7dmFyIGEsYixjLGQ9RWUodGhpcy5fbWlsbGlzZWNvbmRzKS8xZTMsZT1FZSh0aGlzLl9kYXlzKSxmPUVlKHRoaXMuX21vbnRocyk7YT1xKGQvNjApLGI9cShhLzYwKSxkJT02MCxhJT02MCxjPXEoZi8xMiksZiU9MTI7dmFyIGc9YyxoPWYsaT1lLGo9YixrPWEsbD1kLG09dGhpcy5hc1NlY29uZHMoKTtyZXR1cm4gbT8oMD5tPyItIjoiIikrIlAiKyhnP2crIlkiOiIiKSsoaD9oKyJNIjoiIikrKGk/aSsiRCI6IiIpKyhqfHxrfHxsPyJUIjoiIikrKGo/aisiSCI6IiIpKyhrP2srIk0iOiIiKSsobD9sKyJTIjoiIik6IlAwRCJ9dmFyIFFjLFJjLFNjPWEubW9tZW50UHJvcGVydGllcz1bXSxUYz0hMSxVYz17fSxWYz17fSxXYz0vKFxbW15cW10qXF0pfChcXCk/KFtIaF1tbShzcyk/fE1vfE1NP00/TT98RG98REREb3xERD9EP0Q/fGRkZD9kP3xkbz98d1tvfHddP3xXW298V10/fFFvP3xZWVlZWVl8WVlZWVl8WVlZWXxZWXxnZyhnZ2c/KT98R0coR0dHPyk/fGV8RXxhfEF8aGg/fEhIP3xtbT98c3M/fFN7MSw5fXx4fFh8eno/fFpaP3wuKS9nLFhjPS8oXFtbXlxbXSpcXSl8KFxcKT8oTFRTfExUfExMP0w/TD98bHsxLDR9KS9nLFljPXt9LFpjPXt9LCRjPS9cZC8sX2M9L1xkXGQvLGFkPS9cZHszfS8sYmQ9L1xkezR9LyxjZD0vWystXT9cZHs2fS8sZGQ9L1xkXGQ/LyxlZD0vXGRcZFxkXGQ/LyxmZD0vXGRcZFxkXGRcZFxkPy8sZ2Q9L1xkezEsM30vLGhkPS9cZHsxLDR9LyxpZD0vWystXT9cZHsxLDZ9LyxqZD0vXGQrLyxrZD0vWystXT9cZCsvLGxkPS9afFsrLV1cZFxkOj9cZFxkL2dpLG1kPS9afFsrLV1cZFxkKD86Oj9cZFxkKT8vZ2ksbmQ9L1srLV0/XGQrKFwuXGR7MSwzfSk/LyxvZD0vWzAtOV0qKGFbbW5dXHM/KT9bJ2Etelx1MDBBMC1cdTA1RkZcdTA3MDAtXHVEN0ZGXHVGOTAwLVx1RkRDRlx1RkRGMC1cdUZGRUZcLV0rfFtcdTA2MDAtXHUwNkZGXC9dKyhccyo/W1x1MDYwMC1cdTA2RkZdKyl7MSwyfS9pLHBkPXt9LHFkPXt9LHJkPTAsc2Q9MSx0ZD0yLHVkPTMsdmQ9NCx3ZD01LHhkPTYseWQ9Nyx6ZD04O0ooIk0iLFsiTU0iLDJdLCJNbyIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb250aCgpKzF9KSxKKCJNTU0iLDAsMCxmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzU2hvcnQodGhpcyxhKX0pLEooIk1NTU0iLDAsMCxmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzKHRoaXMsYSl9KSxBKCJtb250aCIsIk0iKSxPKCJNIixkZCksTygiTU0iLGRkLF9jKSxPKCJNTU0iLG9kKSxPKCJNTU1NIixvZCksUihbIk0iLCJNTSJdLGZ1bmN0aW9uKGEsYil7YltzZF09cihhKS0xfSksUihbIk1NTSIsIk1NTU0iXSxmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLl9sb2NhbGUubW9udGhzUGFyc2UoYSxkLGMuX3N0cmljdCk7bnVsbCE9ZT9iW3NkXT1lOmooYykuaW52YWxpZE1vbnRoPWF9KTt2YXIgQWQ9L0Rbb0RdPyhcW1teXFtcXV0qXF18XHMrKStNTU1NPy8sQmQ9IkphbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXIiLnNwbGl0KCJfIiksQ2Q9Ikphbl9GZWJfTWFyX0Fwcl9NYXlfSnVuX0p1bF9BdWdfU2VwdF9PY3RfTm92X0RlYyIuc3BsaXQoIl8iKSxEZD17fTthLnN1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5ncz0hMTt2YXIgRWQ9L15ccyooKD86WystXVxkezZ9fFxkezR9KS0oPzpcZFxkLVxkXGR8V1xkXGQtXGR8V1xkXGR8XGRcZFxkfFxkXGQpKSg/OihUfCApKFxkXGQoPzo6XGRcZCg/OjpcZFxkKD86Wy4sXVxkKyk/KT8pPykoW1wrXC1dXGRcZCg/Ojo/XGRcZCk/fFxzKlopPyk/LyxGZD0vXlxzKigoPzpbKy1dXGR7Nn18XGR7NH0pKD86XGRcZFxkXGR8V1xkXGRcZHxXXGRcZHxcZFxkXGR8XGRcZCkpKD86KFR8ICkoXGRcZCg/OlxkXGQoPzpcZFxkKD86Wy4sXVxkKyk/KT8pPykoW1wrXC1dXGRcZCg/Ojo/XGRcZCk/fFxzKlopPyk/LyxHZD0vWnxbKy1dXGRcZCg/Ojo/XGRcZCk/LyxIZD1bWyJZWVlZWVktTU0tREQiLC9bKy1dXGR7Nn0tXGRcZC1cZFxkL10sWyJZWVlZLU1NLUREIiwvXGR7NH0tXGRcZC1cZFxkL10sWyJHR0dHLVtXXVdXLUUiLC9cZHs0fS1XXGRcZC1cZC9dLFsiR0dHRy1bV11XVyIsL1xkezR9LVdcZFxkLywhMV0sWyJZWVlZLURERCIsL1xkezR9LVxkezN9L10sWyJZWVlZLU1NIiwvXGR7NH0tXGRcZC8sITFdLFsiWVlZWVlZTU1ERCIsL1srLV1cZHsxMH0vXSxbIllZWVlNTUREIiwvXGR7OH0vXSxbIkdHR0dbV11XV0UiLC9cZHs0fVdcZHszfS9dLFsiR0dHR1tXXVdXIiwvXGR7NH1XXGR7Mn0vLCExXSxbIllZWVlEREQiLC9cZHs3fS9dXSxJZD1bWyJISDptbTpzcy5TU1NTIiwvXGRcZDpcZFxkOlxkXGRcLlxkKy9dLFsiSEg6bW06c3MsU1NTUyIsL1xkXGQ6XGRcZDpcZFxkLFxkKy9dLFsiSEg6bW06c3MiLC9cZFxkOlxkXGQ6XGRcZC9dLFsiSEg6bW0iLC9cZFxkOlxkXGQvXSxbIkhIbW1zcy5TU1NTIiwvXGRcZFxkXGRcZFxkXC5cZCsvXSxbIkhIbW1zcyxTU1NTIiwvXGRcZFxkXGRcZFxkLFxkKy9dLFsiSEhtbXNzIiwvXGRcZFxkXGRcZFxkL10sWyJISG1tIiwvXGRcZFxkXGQvXSxbIkhIIiwvXGRcZC9dXSxKZD0vXlwvP0RhdGVcKChcLT9cZCspL2k7YS5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjaz1iYSgibW9tZW50IGNvbnN0cnVjdGlvbiBmYWxscyBiYWNrIHRvIGpzIERhdGUuIFRoaXMgaXMgZGlzY291cmFnZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyBtYWpvciByZWxlYXNlLiBQbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzE0MDcgZm9yIG1vcmUgaW5mby4iLGZ1bmN0aW9uKGEpe2EuX2Q9bmV3IERhdGUoYS5faSsoYS5fdXNlVVRDPyIgVVRDIjoiIikpfSksSigwLFsiWVkiLDJdLDAsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55ZWFyKCklMTAwfSksSigwLFsiWVlZWSIsNF0sMCwieWVhciIpLEooMCxbIllZWVlZIiw1XSwwLCJ5ZWFyIiksSigwLFsiWVlZWVlZIiw2LCEwXSwwLCJ5ZWFyIiksQSgieWVhciIsInkiKSxPKCJZIixrZCksTygiWVkiLGRkLF9jKSxPKCJZWVlZIixoZCxiZCksTygiWVlZWVkiLGlkLGNkKSxPKCJZWVlZWVkiLGlkLGNkKSxSKFsiWVlZWVkiLCJZWVlZWVkiXSxyZCksUigiWVlZWSIsZnVuY3Rpb24oYixjKXtjW3JkXT0yPT09Yi5sZW5ndGg/YS5wYXJzZVR3b0RpZ2l0WWVhcihiKTpyKGIpfSksUigiWVkiLGZ1bmN0aW9uKGIsYyl7Y1tyZF09YS5wYXJzZVR3b0RpZ2l0WWVhcihiKX0pLGEucGFyc2VUd29EaWdpdFllYXI9ZnVuY3Rpb24oYSl7cmV0dXJuIHIoYSkrKHIoYSk+Njg/MTkwMDoyZTMpfTt2YXIgS2Q9RSgiRnVsbFllYXIiLCExKTthLklTT184NjAxPWZ1bmN0aW9uKCl7fTt2YXIgTGQ9YmEoIm1vbWVudCgpLm1pbiBpcyBkZXByZWNhdGVkLCB1c2UgbW9tZW50Lm1pbiBpbnN0ZWFkLiBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTU0OCIsZnVuY3Rpb24oKXt2YXIgYT1BYS5hcHBseShudWxsLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZhLmlzVmFsaWQoKT90aGlzPmE/dGhpczphOmwoKX0pLE1kPWJhKCJtb21lbnQoKS5tYXggaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5tYXggaW5zdGVhZC4gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzE1NDgiLGZ1bmN0aW9uKCl7dmFyIGE9QWEuYXBwbHkobnVsbCxhcmd1bWVudHMpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmYS5pc1ZhbGlkKCk/YT50aGlzP3RoaXM6YTpsKCl9KSxOZD1EYXRlLm5vd3x8ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9O0dhKCJaIiwiOiIpLEdhKCJaWiIsIiIpLE8oIloiLG1kKSxPKCJaWiIsbWQpLFIoWyJaIiwiWloiXSxmdW5jdGlvbihhLGIsYyl7Yy5fdXNlVVRDPSEwLGMuX3R6bT1IYShtZCxhKX0pO3ZhciBPZD0vKFtcK1wtXXxcZFxkKS9naTthLnVwZGF0ZU9mZnNldD1mdW5jdGlvbigpe307dmFyIFBkPS8oXC0pPyg/OihcZCopWy4gXSk/KFxkKylcOihcZCspKD86XDooXGQrKVwuPyhcZHszfSk/KT8vLFFkPS9eKC0pP1AoPzooPzooWzAtOSwuXSopWSk/KD86KFswLTksLl0qKU0pPyg/OihbMC05LC5dKilEKT8oPzpUKD86KFswLTksLl0qKUgpPyg/OihbMC05LC5dKilNKT8oPzooWzAtOSwuXSopUyk/KT98KFswLTksLl0qKVcpJC87VmEuZm49RWEucHJvdG90eXBlO3ZhciBSZD1aYSgxLCJhZGQiKSxTZD1aYSgtMSwic3VidHJhY3QiKTthLmRlZmF1bHRGb3JtYXQ9IllZWVktTU0tRERUSEg6bW06c3NaIjt2YXIgVGQ9YmEoIm1vbWVudCgpLmxhbmcoKSBpcyBkZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgbW9tZW50KCkubG9jYWxlRGF0YSgpIHRvIGdldCB0aGUgbGFuZ3VhZ2UgY29uZmlndXJhdGlvbi4gVXNlIG1vbWVudCgpLmxvY2FsZSgpIHRvIGNoYW5nZSBsYW5ndWFnZXMuIixmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT90aGlzLmxvY2FsZURhdGEoKTp0aGlzLmxvY2FsZShhKX0pO0ooMCxbImdnIiwyXSwwLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2Vla1llYXIoKSUxMDB9KSxKKDAsWyJHRyIsMl0sMCxmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzb1dlZWtZZWFyKCklMTAwfSksRWIoImdnZ2ciLCJ3ZWVrWWVhciIpLEViKCJnZ2dnZyIsIndlZWtZZWFyIiksRWIoIkdHR0ciLCJpc29XZWVrWWVhciIpLEViKCJHR0dHRyIsImlzb1dlZWtZZWFyIiksQSgid2Vla1llYXIiLCJnZyIpLEEoImlzb1dlZWtZZWFyIiwiR0ciKSxPKCJHIixrZCksTygiZyIsa2QpLE8oIkdHIixkZCxfYyksTygiZ2ciLGRkLF9jKSxPKCJHR0dHIixoZCxiZCksTygiZ2dnZyIsaGQsYmQpLE8oIkdHR0dHIixpZCxjZCksTygiZ2dnZ2ciLGlkLGNkKSxTKFsiZ2dnZyIsImdnZ2dnIiwiR0dHRyIsIkdHR0dHIl0sZnVuY3Rpb24oYSxiLGMsZCl7YltkLnN1YnN0cigwLDIpXT1yKGEpfSksUyhbImdnIiwiR0ciXSxmdW5jdGlvbihiLGMsZCxlKXtjW2VdPWEucGFyc2VUd29EaWdpdFllYXIoYil9KSxKKCJRIiwwLCJRbyIsInF1YXJ0ZXIiKSxBKCJxdWFydGVyIiwiUSIpLE8oIlEiLCRjKSxSKCJRIixmdW5jdGlvbihhLGIpe2Jbc2RdPTMqKHIoYSktMSl9KSxKKCJ3IixbInd3IiwyXSwid28iLCJ3ZWVrIiksSigiVyIsWyJXVyIsMl0sIldvIiwiaXNvV2VlayIpLEEoIndlZWsiLCJ3IiksQSgiaXNvV2VlayIsIlciKSxPKCJ3IixkZCksTygid3ciLGRkLF9jKSxPKCJXIixkZCksTygiV1ciLGRkLF9jKSxTKFsidyIsInd3IiwiVyIsIldXIl0sZnVuY3Rpb24oYSxiLGMsZCl7YltkLnN1YnN0cigwLDEpXT1yKGEpfSk7dmFyIFVkPXtkb3c6MCxkb3k6Nn07SigiRCIsWyJERCIsMl0sIkRvIiwiZGF0ZSIpLEEoImRhdGUiLCJEIiksTygiRCIsZGQpLE8oIkREIixkZCxfYyksTygiRG8iLGZ1bmN0aW9uKGEsYil7DQpyZXR1cm4gYT9iLl9vcmRpbmFsUGFyc2U6Yi5fb3JkaW5hbFBhcnNlTGVuaWVudH0pLFIoWyJEIiwiREQiXSx0ZCksUigiRG8iLGZ1bmN0aW9uKGEsYil7Ylt0ZF09cihhLm1hdGNoKGRkKVswXSwxMCl9KTt2YXIgVmQ9RSgiRGF0ZSIsITApO0ooImQiLDAsImRvIiwiZGF5IiksSigiZGQiLDAsMCxmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXNNaW4odGhpcyxhKX0pLEooImRkZCIsMCwwLGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5c1Nob3J0KHRoaXMsYSl9KSxKKCJkZGRkIiwwLDAsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzKHRoaXMsYSl9KSxKKCJlIiwwLDAsIndlZWtkYXkiKSxKKCJFIiwwLDAsImlzb1dlZWtkYXkiKSxBKCJkYXkiLCJkIiksQSgid2Vla2RheSIsImUiKSxBKCJpc29XZWVrZGF5IiwiRSIpLE8oImQiLGRkKSxPKCJlIixkZCksTygiRSIsZGQpLE8oImRkIixvZCksTygiZGRkIixvZCksTygiZGRkZCIsb2QpLFMoWyJkZCIsImRkZCIsImRkZGQiXSxmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLl9sb2NhbGUud2Vla2RheXNQYXJzZShhLGQsYy5fc3RyaWN0KTtudWxsIT1lP2IuZD1lOmooYykuaW52YWxpZFdlZWtkYXk9YX0pLFMoWyJkIiwiZSIsIkUiXSxmdW5jdGlvbihhLGIsYyxkKXtiW2RdPXIoYSl9KTt2YXIgV2Q9IlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Ii5zcGxpdCgiXyIpLFhkPSJTdW5fTW9uX1R1ZV9XZWRfVGh1X0ZyaV9TYXQiLnNwbGl0KCJfIiksWWQ9IlN1X01vX1R1X1dlX1RoX0ZyX1NhIi5zcGxpdCgiXyIpO0ooIkRERCIsWyJEREREIiwzXSwiREREbyIsImRheU9mWWVhciIpLEEoImRheU9mWWVhciIsIkRERCIpLE8oIkRERCIsZ2QpLE8oIkREREQiLGFkKSxSKFsiREREIiwiRERERCJdLGZ1bmN0aW9uKGEsYixjKXtjLl9kYXlPZlllYXI9cihhKX0pLEooIkgiLFsiSEgiLDJdLDAsImhvdXIiKSxKKCJoIixbImhoIiwyXSwwLCRiKSxKKCJobW0iLDAsMCxmdW5jdGlvbigpe3JldHVybiIiKyRiLmFwcGx5KHRoaXMpK0kodGhpcy5taW51dGVzKCksMil9KSxKKCJobW1zcyIsMCwwLGZ1bmN0aW9uKCl7cmV0dXJuIiIrJGIuYXBwbHkodGhpcykrSSh0aGlzLm1pbnV0ZXMoKSwyKStJKHRoaXMuc2Vjb25kcygpLDIpfSksSigiSG1tIiwwLDAsZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLmhvdXJzKCkrSSh0aGlzLm1pbnV0ZXMoKSwyKX0pLEooIkhtbXNzIiwwLDAsZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLmhvdXJzKCkrSSh0aGlzLm1pbnV0ZXMoKSwyKStJKHRoaXMuc2Vjb25kcygpLDIpfSksX2IoImEiLCEwKSxfYigiQSIsITEpLEEoImhvdXIiLCJoIiksTygiYSIsYWMpLE8oIkEiLGFjKSxPKCJIIixkZCksTygiaCIsZGQpLE8oIkhIIixkZCxfYyksTygiaGgiLGRkLF9jKSxPKCJobW0iLGVkKSxPKCJobW1zcyIsZmQpLE8oIkhtbSIsZWQpLE8oIkhtbXNzIixmZCksUihbIkgiLCJISCJdLHVkKSxSKFsiYSIsIkEiXSxmdW5jdGlvbihhLGIsYyl7Yy5faXNQbT1jLl9sb2NhbGUuaXNQTShhKSxjLl9tZXJpZGllbT1hfSksUihbImgiLCJoaCJdLGZ1bmN0aW9uKGEsYixjKXtiW3VkXT1yKGEpLGooYykuYmlnSG91cj0hMH0pLFIoImhtbSIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGVuZ3RoLTI7Ylt1ZF09cihhLnN1YnN0cigwLGQpKSxiW3ZkXT1yKGEuc3Vic3RyKGQpKSxqKGMpLmJpZ0hvdXI9ITB9KSxSKCJobW1zcyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGVuZ3RoLTQsZT1hLmxlbmd0aC0yO2JbdWRdPXIoYS5zdWJzdHIoMCxkKSksYlt2ZF09cihhLnN1YnN0cihkLDIpKSxiW3dkXT1yKGEuc3Vic3RyKGUpKSxqKGMpLmJpZ0hvdXI9ITB9KSxSKCJIbW0iLGZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmxlbmd0aC0yO2JbdWRdPXIoYS5zdWJzdHIoMCxkKSksYlt2ZF09cihhLnN1YnN0cihkKSl9KSxSKCJIbW1zcyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGVuZ3RoLTQsZT1hLmxlbmd0aC0yO2JbdWRdPXIoYS5zdWJzdHIoMCxkKSksYlt2ZF09cihhLnN1YnN0cihkLDIpKSxiW3dkXT1yKGEuc3Vic3RyKGUpKX0pO3ZhciBaZD0vW2FwXVwuP20/XC4/L2ksJGQ9RSgiSG91cnMiLCEwKTtKKCJtIixbIm1tIiwyXSwwLCJtaW51dGUiKSxBKCJtaW51dGUiLCJtIiksTygibSIsZGQpLE8oIm1tIixkZCxfYyksUihbIm0iLCJtbSJdLHZkKTt2YXIgX2Q9RSgiTWludXRlcyIsITEpO0ooInMiLFsic3MiLDJdLDAsInNlY29uZCIpLEEoInNlY29uZCIsInMiKSxPKCJzIixkZCksTygic3MiLGRkLF9jKSxSKFsicyIsInNzIl0sd2QpO3ZhciBhZT1FKCJTZWNvbmRzIiwhMSk7SigiUyIsMCwwLGZ1bmN0aW9uKCl7cmV0dXJufn4odGhpcy5taWxsaXNlY29uZCgpLzEwMCl9KSxKKDAsWyJTUyIsMl0sMCxmdW5jdGlvbigpe3JldHVybn5+KHRoaXMubWlsbGlzZWNvbmQoKS8xMCl9KSxKKDAsWyJTU1MiLDNdLDAsIm1pbGxpc2Vjb25kIiksSigwLFsiU1NTUyIsNF0sMCxmdW5jdGlvbigpe3JldHVybiAxMCp0aGlzLm1pbGxpc2Vjb25kKCl9KSxKKDAsWyJTU1NTUyIsNV0sMCxmdW5jdGlvbigpe3JldHVybiAxMDAqdGhpcy5taWxsaXNlY29uZCgpfSksSigwLFsiU1NTU1NTIiw2XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDFlMyp0aGlzLm1pbGxpc2Vjb25kKCl9KSxKKDAsWyJTU1NTU1NTIiw3XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDFlNCp0aGlzLm1pbGxpc2Vjb25kKCl9KSxKKDAsWyJTU1NTU1NTUyIsOF0sMCxmdW5jdGlvbigpe3JldHVybiAxZTUqdGhpcy5taWxsaXNlY29uZCgpfSksSigwLFsiU1NTU1NTU1NTIiw5XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDFlNip0aGlzLm1pbGxpc2Vjb25kKCl9KSxBKCJtaWxsaXNlY29uZCIsIm1zIiksTygiUyIsZ2QsJGMpLE8oIlNTIixnZCxfYyksTygiU1NTIixnZCxhZCk7dmFyIGJlO2ZvcihiZT0iU1NTUyI7YmUubGVuZ3RoPD05O2JlKz0iUyIpTyhiZSxqZCk7Zm9yKGJlPSJTIjtiZS5sZW5ndGg8PTk7YmUrPSJTIilSKGJlLGRjKTt2YXIgY2U9RSgiTWlsbGlzZWNvbmRzIiwhMSk7SigieiIsMCwwLCJ6b25lQWJiciIpLEooInp6IiwwLDAsInpvbmVOYW1lIik7dmFyIGRlPW8ucHJvdG90eXBlO2RlLmFkZD1SZCxkZS5jYWxlbmRhcj1fYSxkZS5jbG9uZT1hYixkZS5kaWZmPWhiLGRlLmVuZE9mPXRiLGRlLmZvcm1hdD1sYixkZS5mcm9tPW1iLGRlLmZyb21Ob3c9bmIsZGUudG89b2IsZGUudG9Ob3c9cGIsZGUuZ2V0PUgsZGUuaW52YWxpZEF0PUNiLGRlLmlzQWZ0ZXI9YmIsZGUuaXNCZWZvcmU9Y2IsZGUuaXNCZXR3ZWVuPWRiLGRlLmlzU2FtZT1lYixkZS5pc1NhbWVPckFmdGVyPWZiLGRlLmlzU2FtZU9yQmVmb3JlPWdiLGRlLmlzVmFsaWQ9QWIsZGUubGFuZz1UZCxkZS5sb2NhbGU9cWIsZGUubG9jYWxlRGF0YT1yYixkZS5tYXg9TWQsZGUubWluPUxkLGRlLnBhcnNpbmdGbGFncz1CYixkZS5zZXQ9SCxkZS5zdGFydE9mPXNiLGRlLnN1YnRyYWN0PVNkLGRlLnRvQXJyYXk9eGIsZGUudG9PYmplY3Q9eWIsZGUudG9EYXRlPXdiLGRlLnRvSVNPU3RyaW5nPWtiLGRlLnRvSlNPTj16YixkZS50b1N0cmluZz1qYixkZS51bml4PXZiLGRlLnZhbHVlT2Y9dWIsZGUuY3JlYXRpb25EYXRhPURiLGRlLnllYXI9S2QsZGUuaXNMZWFwWWVhcj1qYSxkZS53ZWVrWWVhcj1GYixkZS5pc29XZWVrWWVhcj1HYixkZS5xdWFydGVyPWRlLnF1YXJ0ZXJzPUxiLGRlLm1vbnRoPVosZGUuZGF5c0luTW9udGg9JCxkZS53ZWVrPWRlLndlZWtzPVBiLGRlLmlzb1dlZWs9ZGUuaXNvV2Vla3M9UWIsZGUud2Vla3NJblllYXI9SWIsZGUuaXNvV2Vla3NJblllYXI9SGIsZGUuZGF0ZT1WZCxkZS5kYXk9ZGUuZGF5cz1XYixkZS53ZWVrZGF5PVhiLGRlLmlzb1dlZWtkYXk9WWIsZGUuZGF5T2ZZZWFyPVpiLGRlLmhvdXI9ZGUuaG91cnM9JGQsZGUubWludXRlPWRlLm1pbnV0ZXM9X2QsZGUuc2Vjb25kPWRlLnNlY29uZHM9YWUsZGUubWlsbGlzZWNvbmQ9ZGUubWlsbGlzZWNvbmRzPWNlLGRlLnV0Y09mZnNldD1LYSxkZS51dGM9TWEsZGUubG9jYWw9TmEsZGUucGFyc2Vab25lPU9hLGRlLmhhc0FsaWduZWRIb3VyT2Zmc2V0PVBhLGRlLmlzRFNUPVFhLGRlLmlzRFNUU2hpZnRlZD1SYSxkZS5pc0xvY2FsPVNhLGRlLmlzVXRjT2Zmc2V0PVRhLGRlLmlzVXRjPVVhLGRlLmlzVVRDPVVhLGRlLnpvbmVBYmJyPWVjLGRlLnpvbmVOYW1lPWZjLGRlLmRhdGVzPWJhKCJkYXRlcyBhY2Nlc3NvciBpcyBkZXByZWNhdGVkLiBVc2UgZGF0ZSBpbnN0ZWFkLiIsVmQpLGRlLm1vbnRocz1iYSgibW9udGhzIGFjY2Vzc29yIGlzIGRlcHJlY2F0ZWQuIFVzZSBtb250aCBpbnN0ZWFkIixaKSxkZS55ZWFycz1iYSgieWVhcnMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIHllYXIgaW5zdGVhZCIsS2QpLGRlLnpvbmU9YmEoIm1vbWVudCgpLnpvbmUgaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudCgpLnV0Y09mZnNldCBpbnN0ZWFkLiBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTc3OSIsTGEpO3ZhciBlZT1kZSxmZT17c2FtZURheToiW1RvZGF5IGF0XSBMVCIsbmV4dERheToiW1RvbW9ycm93IGF0XSBMVCIsbmV4dFdlZWs6ImRkZGQgW2F0XSBMVCIsbGFzdERheToiW1llc3RlcmRheSBhdF0gTFQiLGxhc3RXZWVrOiJbTGFzdF0gZGRkZCBbYXRdIExUIixzYW1lRWxzZToiTCJ9LGdlPXtMVFM6Img6bW06c3MgQSIsTFQ6Img6bW0gQSIsTDoiTU0vREQvWVlZWSIsTEw6Ik1NTU0gRCwgWVlZWSIsTExMOiJNTU1NIEQsIFlZWVkgaDptbSBBIixMTExMOiJkZGRkLCBNTU1NIEQsIFlZWVkgaDptbSBBIn0saGU9IkludmFsaWQgZGF0ZSIsaWU9IiVkIixqZT0vXGR7MSwyfS8sa2U9e2Z1dHVyZToiaW4gJXMiLHBhc3Q6IiVzIGFnbyIsczoiYSBmZXcgc2Vjb25kcyIsbToiYSBtaW51dGUiLG1tOiIlZCBtaW51dGVzIixoOiJhbiBob3VyIixoaDoiJWQgaG91cnMiLGQ6ImEgZGF5IixkZDoiJWQgZGF5cyIsTToiYSBtb250aCIsTU06IiVkIG1vbnRocyIseToiYSB5ZWFyIix5eToiJWQgeWVhcnMifSxsZT10LnByb3RvdHlwZTtsZS5fY2FsZW5kYXI9ZmUsbGUuY2FsZW5kYXI9aWMsbGUuX2xvbmdEYXRlRm9ybWF0PWdlLGxlLmxvbmdEYXRlRm9ybWF0PWpjLGxlLl9pbnZhbGlkRGF0ZT1oZSxsZS5pbnZhbGlkRGF0ZT1rYyxsZS5fb3JkaW5hbD1pZSxsZS5vcmRpbmFsPWxjLGxlLl9vcmRpbmFsUGFyc2U9amUsbGUucHJlcGFyc2U9bWMsbGUucG9zdGZvcm1hdD1tYyxsZS5fcmVsYXRpdmVUaW1lPWtlLGxlLnJlbGF0aXZlVGltZT1uYyxsZS5wYXN0RnV0dXJlPW9jLGxlLnNldD1wYyxsZS5tb250aHM9VixsZS5fbW9udGhzPUJkLGxlLm1vbnRoc1Nob3J0PVcsbGUuX21vbnRoc1Nob3J0PUNkLGxlLm1vbnRoc1BhcnNlPVgsbGUud2Vlaz1NYixsZS5fd2Vlaz1VZCxsZS5maXJzdERheU9mWWVhcj1PYixsZS5maXJzdERheU9mV2Vlaz1OYixsZS53ZWVrZGF5cz1TYixsZS5fd2Vla2RheXM9V2QsbGUud2Vla2RheXNNaW49VWIsbGUuX3dlZWtkYXlzTWluPVlkLGxlLndlZWtkYXlzU2hvcnQ9VGIsbGUuX3dlZWtkYXlzU2hvcnQ9WGQsbGUud2Vla2RheXNQYXJzZT1WYixsZS5pc1BNPWJjLGxlLl9tZXJpZGllbVBhcnNlPVpkLGxlLm1lcmlkaWVtPWNjLHgoImVuIix7bW9udGhzUGFyc2U6Wy9eamFuL2ksL15mZWIvaSwvXm1hci9pLC9eYXByL2ksL15tYXkvaSwvXmp1bi9pLC9eanVsL2ksL15hdWcvaSwvXnNlcC9pLC9eb2N0L2ksL15ub3YvaSwvXmRlYy9pXSxsb25nTW9udGhzUGFyc2U6Wy9eamFudWFyeSQvaSwvXmZlYnJ1YXJ5JC9pLC9ebWFyY2gkL2ksL15hcHJpbCQvaSwvXm1heSQvaSwvXmp1bmUkL2ksL15qdWx5JC9pLC9eYXVndXN0JC9pLC9ec2VwdGVtYmVyJC9pLC9eb2N0b2JlciQvaSwvXm5vdmVtYmVyJC9pLC9eZGVjZW1iZXIkL2ldLHNob3J0TW9udGhzUGFyc2U6Wy9eamFuJC9pLC9eZmViJC9pLC9ebWFyJC9pLC9eYXByJC9pLC9ebWF5JC9pLC9eanVuJC9pLC9eanVsJC9pLC9eYXVnL2ksL15zZXB0PyQvaSwvXm9jdCQvaSwvXm5vdiQvaSwvXmRlYyQvaV0sb3JkaW5hbFBhcnNlOi9cZHsxLDJ9KHRofHN0fG5kfHJkKS8sb3JkaW5hbDpmdW5jdGlvbihhKXt2YXIgYj1hJTEwLGM9MT09PXIoYSUxMDAvMTApPyJ0aCI6MT09PWI/InN0IjoyPT09Yj8ibmQiOjM9PT1iPyJyZCI6InRoIjtyZXR1cm4gYStjfX0pLGEubGFuZz1iYSgibW9tZW50LmxhbmcgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbWVudC5sb2NhbGUgaW5zdGVhZC4iLHgpLGEubGFuZ0RhdGE9YmEoIm1vbWVudC5sYW5nRGF0YSBpcyBkZXByZWNhdGVkLiBVc2UgbW9tZW50LmxvY2FsZURhdGEgaW5zdGVhZC4iLHopO3ZhciBtZT1NYXRoLmFicyxuZT1IYygibXMiKSxvZT1IYygicyIpLHBlPUhjKCJtIikscWU9SGMoImgiKSxyZT1IYygiZCIpLHNlPUhjKCJ3IiksdGU9SGMoIk0iKSx1ZT1IYygieSIpLHZlPUpjKCJtaWxsaXNlY29uZHMiKSx3ZT1KYygic2Vjb25kcyIpLHhlPUpjKCJtaW51dGVzIikseWU9SmMoImhvdXJzIiksemU9SmMoImRheXMiKSxBZT1KYygibW9udGhzIiksQmU9SmMoInllYXJzIiksQ2U9TWF0aC5yb3VuZCxEZT17czo0NSxtOjQ1LGg6MjIsZDoyNixNOjExfSxFZT1NYXRoLmFicyxGZT1FYS5wcm90b3R5cGU7RmUuYWJzPXhjLEZlLmFkZD16YyxGZS5zdWJ0cmFjdD1BYyxGZS5hcz1GYyxGZS5hc01pbGxpc2Vjb25kcz1uZSxGZS5hc1NlY29uZHM9b2UsRmUuYXNNaW51dGVzPXBlLEZlLmFzSG91cnM9cWUsRmUuYXNEYXlzPXJlLEZlLmFzV2Vla3M9c2UsRmUuYXNNb250aHM9dGUsRmUuYXNZZWFycz11ZSxGZS52YWx1ZU9mPUdjLEZlLl9idWJibGU9Q2MsRmUuZ2V0PUljLEZlLm1pbGxpc2Vjb25kcz12ZSxGZS5zZWNvbmRzPXdlLEZlLm1pbnV0ZXM9eGUsRmUuaG91cnM9eWUsRmUuZGF5cz16ZSxGZS53ZWVrcz1LYyxGZS5tb250aHM9QWUsRmUueWVhcnM9QmUsRmUuaHVtYW5pemU9T2MsRmUudG9JU09TdHJpbmc9UGMsRmUudG9TdHJpbmc9UGMsRmUudG9KU09OPVBjLEZlLmxvY2FsZT1xYixGZS5sb2NhbGVEYXRhPXJiLEZlLnRvSXNvU3RyaW5nPWJhKCJ0b0lzb1N0cmluZygpIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgdG9JU09TdHJpbmcoKSBpbnN0ZWFkIChub3RpY2UgdGhlIGNhcGl0YWxzKSIsUGMpLEZlLmxhbmc9VGQsSigiWCIsMCwwLCJ1bml4IiksSigieCIsMCwwLCJ2YWx1ZU9mIiksTygieCIsa2QpLE8oIlgiLG5kKSxSKCJYIixmdW5jdGlvbihhLGIsYyl7Yy5fZD1uZXcgRGF0ZSgxZTMqcGFyc2VGbG9hdChhLDEwKSl9KSxSKCJ4IixmdW5jdGlvbihhLGIsYyl7Yy5fZD1uZXcgRGF0ZShyKGEpKX0pLGEudmVyc2lvbj0iMi4xMS4wIixiKEFhKSxhLmZuPWVlLGEubWluPUNhLGEubWF4PURhLGEubm93PU5kLGEudXRjPWgsYS51bml4PWdjLGEubW9udGhzPXNjLGEuaXNEYXRlPWQsYS5sb2NhbGU9eCxhLmludmFsaWQ9bCxhLmR1cmF0aW9uPVZhLGEuaXNNb21lbnQ9cCxhLndlZWtkYXlzPXVjLGEucGFyc2Vab25lPWhjLGEubG9jYWxlRGF0YT16LGEuaXNEdXJhdGlvbj1GYSxhLm1vbnRoc1Nob3J0PXRjLGEud2Vla2RheXNNaW49d2MsYS5kZWZpbmVMb2NhbGU9eSxhLndlZWtkYXlzU2hvcnQ9dmMsYS5ub3JtYWxpemVVbml0cz1CLGEucmVsYXRpdmVUaW1lVGhyZXNob2xkPU5jLGEucHJvdG90eXBlPWVlO3ZhciBHZT1hO3JldHVybiBHZX0pOw0KDQoNCi8qDQogKiAgQ2xvY2sxIC0gVGhlIEZpbmFsIENvdW50ZG93bg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiENCiAqIFRoZSBGaW5hbCBDb3VudGRvd24gZm9yIGpRdWVyeSB2Mi4xLjAgKGh0dHA6Ly9oaWxpb3MuZ2l0aHViLmlvL2pRdWVyeS5jb3VudGRvd24vKQ0KICogQ29weXJpZ2h0IChjKSAyMDE1IEVkc29uIEhpbGlvcw0KICogDQogKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mDQogKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbg0KICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bw0KICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YNCiAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywNCiAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOg0KICogDQogKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwNCiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuDQogKiANCiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SDQogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUw0KICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SDQogKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVINCiAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElODQogKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLg0KICovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiOyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YShqUXVlcnkpfShmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihhKXtpZihhIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gYTtpZihTdHJpbmcoYSkubWF0Y2goZykpcmV0dXJuIFN0cmluZyhhKS5tYXRjaCgvXlswLTldKiQvKSYmKGE9TnVtYmVyKGEpKSxTdHJpbmcoYSkubWF0Y2goL1wtLykmJihhPVN0cmluZyhhKS5yZXBsYWNlKC9cLS9nLCIvIikpLG5ldyBEYXRlKGEpO3Rocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgY2FzdCBgIithKyJgIHRvIGEgZGF0ZSBvYmplY3QuIil9ZnVuY3Rpb24gYyhhKXt2YXIgYj1hLnRvU3RyaW5nKCkucmVwbGFjZSgvKFsuPyorXiRbXF1cXCgpe318LV0pL2csIlxcJDEiKTtyZXR1cm4gbmV3IFJlZ0V4cChiKX1mdW5jdGlvbiBkKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgZD1iLm1hdGNoKC8lKC18ISk/W0EtWl17MX0oOlteO10rOyk/L2dpKTtpZihkKWZvcih2YXIgZj0wLGc9ZC5sZW5ndGg7Zz5mOysrZil7dmFyIGg9ZFtmXS5tYXRjaCgvJSgtfCEpPyhbYS16QS1aXXsxfSkoOlteO10rOyk/Lyksaj1jKGhbMF0pLGs9aFsxXXx8IiIsbD1oWzNdfHwiIixtPW51bGw7aD1oWzJdLGkuaGFzT3duUHJvcGVydHkoaCkmJihtPWlbaF0sbT1OdW1iZXIoYVttXSkpLG51bGwhPT1tJiYoIiEiPT09ayYmKG09ZShsLG0pKSwiIj09PWsmJjEwPm0mJihtPSIwIittLnRvU3RyaW5nKCkpLGI9Yi5yZXBsYWNlKGosbS50b1N0cmluZygpKSl9cmV0dXJuIGI9Yi5yZXBsYWNlKC8lJS8sIiUiKX19ZnVuY3Rpb24gZShhLGIpe3ZhciBjPSJzIixkPSIiO3JldHVybiBhJiYoYT1hLnJlcGxhY2UoLyg6fDt8XHMpL2dpLCIiKS5zcGxpdCgvXCwvKSwxPT09YS5sZW5ndGg/Yz1hWzBdOihkPWFbMF0sYz1hWzFdKSksMT09PU1hdGguYWJzKGIpP2Q6Y312YXIgZj1bXSxnPVtdLGg9e3ByZWNpc2lvbjoxMDAsZWxhcHNlOiExfTtnLnB1c2goL15bMC05XSokLy5zb3VyY2UpLGcucHVzaCgvKFswLTldezEsMn1cLyl7Mn1bMC05XXs0fSggWzAtOV17MSwyfSg6WzAtOV17Mn0pezJ9KT8vLnNvdXJjZSksZy5wdXNoKC9bMC05XXs0fShbXC9cLV1bMC05XXsxLDJ9KXsyfSggWzAtOV17MSwyfSg6WzAtOV17Mn0pezJ9KT8vLnNvdXJjZSksZz1uZXcgUmVnRXhwKGcuam9pbigifCIpKTt2YXIgaT17WToieWVhcnMiLG06Im1vbnRocyIsbjoiZGF5c1RvTW9udGgiLHc6IndlZWtzIixkOiJkYXlzVG9XZWVrIixEOiJ0b3RhbERheXMiLEg6ImhvdXJzIixNOiJtaW51dGVzIixTOiJzZWNvbmRzIn0saj1mdW5jdGlvbihiLGMsZCl7dGhpcy5lbD1iLHRoaXMuJGVsPWEoYiksdGhpcy5pbnRlcnZhbD1udWxsLHRoaXMub2Zmc2V0PXt9LHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxoKSx0aGlzLmluc3RhbmNlTnVtYmVyPWYubGVuZ3RoLGYucHVzaCh0aGlzKSx0aGlzLiRlbC5kYXRhKCJjb3VudGRvd24taW5zdGFuY2UiLHRoaXMuaW5zdGFuY2VOdW1iZXIpLGQmJigiZnVuY3Rpb24iPT10eXBlb2YgZD8odGhpcy4kZWwub24oInVwZGF0ZS5jb3VudGRvd24iLGQpLHRoaXMuJGVsLm9uKCJzdG9wZWQuY291bnRkb3duIixkKSx0aGlzLiRlbC5vbigiZmluaXNoLmNvdW50ZG93biIsZCkpOnRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxoLGQpKSx0aGlzLnNldEZpbmFsRGF0ZShjKSx0aGlzLnN0YXJ0KCl9O2EuZXh0ZW5kKGoucHJvdG90eXBlLHtzdGFydDpmdW5jdGlvbigpe251bGwhPT10aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO3ZhciBhPXRoaXM7dGhpcy51cGRhdGUoKSx0aGlzLmludGVydmFsPXNldEludGVydmFsKGZ1bmN0aW9uKCl7YS51cGRhdGUuY2FsbChhKX0sdGhpcy5vcHRpb25zLnByZWNpc2lvbil9LHN0b3A6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLmRpc3BhdGNoRXZlbnQoInN0b3BlZCIpfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzLmludGVydmFsP3RoaXMuc3RvcCgpOnRoaXMuc3RhcnQoKX0scGF1c2U6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKX0scmVzdW1lOmZ1bmN0aW9uKCl7dGhpcy5zdGFydCgpfSxyZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLnN0b3AuY2FsbCh0aGlzKSxmW3RoaXMuaW5zdGFuY2VOdW1iZXJdPW51bGwsZGVsZXRlIHRoaXMuJGVsLmRhdGEoKS5jb3VudGRvd25JbnN0YW5jZX0sc2V0RmluYWxEYXRlOmZ1bmN0aW9uKGEpe3RoaXMuZmluYWxEYXRlPWIoYSl9LHVwZGF0ZTpmdW5jdGlvbigpe2lmKDA9PT10aGlzLiRlbC5jbG9zZXN0KCJodG1sIikubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMucmVtb3ZlKCk7dmFyIGIsYz12b2lkIDAhPT1hLl9kYXRhKHRoaXMuZWwsImV2ZW50cyIpLGQ9bmV3IERhdGU7Yj10aGlzLmZpbmFsRGF0ZS5nZXRUaW1lKCktZC5nZXRUaW1lKCksYj1NYXRoLmNlaWwoYi8xZTMpLGI9IXRoaXMub3B0aW9ucy5lbGFwc2UmJjA+Yj8wOk1hdGguYWJzKGIpLHRoaXMudG90YWxTZWNzTGVmdCE9PWImJmMmJih0aGlzLnRvdGFsU2Vjc0xlZnQ9Yix0aGlzLmVsYXBzZWQ9ZD49dGhpcy5maW5hbERhdGUsdGhpcy5vZmZzZXQ9e3NlY29uZHM6dGhpcy50b3RhbFNlY3NMZWZ0JTYwLG1pbnV0ZXM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjApJTYwLGhvdXJzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwKSUyNCxkYXlzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0KSU3LGRheXNUb1dlZWs6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQpJTcsZGF5c1RvTW9udGg6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQlMzAuNDM2OCksdG90YWxEYXlzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0KSx3ZWVrczpNYXRoLmZsb29yKHRoaXMudG90YWxTZWNzTGVmdC82MC82MC8yNC83KSxtb250aHM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQvMzAuNDM2OCkseWVhcnM6TWF0aC5hYnModGhpcy5maW5hbERhdGUuZ2V0RnVsbFllYXIoKS1kLmdldEZ1bGxZZWFyKCkpfSx0aGlzLm9wdGlvbnMuZWxhcHNlfHwwIT09dGhpcy50b3RhbFNlY3NMZWZ0P3RoaXMuZGlzcGF0Y2hFdmVudCgidXBkYXRlIik6KHRoaXMuc3RvcCgpLHRoaXMuZGlzcGF0Y2hFdmVudCgiZmluaXNoIikpKX0sZGlzcGF0Y2hFdmVudDpmdW5jdGlvbihiKXt2YXIgYz1hLkV2ZW50KGIrIi5jb3VudGRvd24iKTtjLmZpbmFsRGF0ZT10aGlzLmZpbmFsRGF0ZSxjLmVsYXBzZWQ9dGhpcy5lbGFwc2VkLGMub2Zmc2V0PWEuZXh0ZW5kKHt9LHRoaXMub2Zmc2V0KSxjLnN0cmZ0aW1lPWQodGhpcy5vZmZzZXQpLHRoaXMuJGVsLnRyaWdnZXIoYyl9fSksYS5mbi5jb3VudGRvd249ZnVuY3Rpb24oKXt2YXIgYj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcykuZGF0YSgiY291bnRkb3duLWluc3RhbmNlIik7aWYodm9pZCAwIT09Yyl7dmFyIGQ9ZltjXSxlPWJbMF07ai5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoZSk/ZFtlXS5hcHBseShkLGIuc2xpY2UoMSkpOm51bGw9PT1TdHJpbmcoZSkubWF0Y2goL15bJEEtWl9dWzAtOUEtWl8kXSokL2kpPyhkLnNldEZpbmFsRGF0ZS5jYWxsKGQsZSksZC5zdGFydCgpKTphLmVycm9yKCJNZXRob2QgJXMgZG9lcyBub3QgZXhpc3Qgb24galF1ZXJ5LmNvdW50ZG93biIucmVwbGFjZSgvXCVzL2dpLGUpKX1lbHNlIG5ldyBqKHRoaXMsYlswXSxiWzFdKX0pfX0pOw0KDQoNCi8qDQogKiAgQ2xvY2syIC0gZmxpcGNsb2NrDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qISBmbGlwY2xvY2sgMjAxNS0wOC0zMSANCglodHRwczovL2dpdGh1Yi5jb20vb2JqZWN0aXZlaHRtbC9GbGlwQ2xvY2sNCiovDQp2YXIgQmFzZT1mdW5jdGlvbigpe307QmFzZS5leHRlbmQ9ZnVuY3Rpb24oYSxiKXsidXNlIHN0cmljdCI7dmFyIGM9QmFzZS5wcm90b3R5cGUuZXh0ZW5kO0Jhc2UuX3Byb3RvdHlwaW5nPSEwO3ZhciBkPW5ldyB0aGlzO2MuY2FsbChkLGEpLGQuYmFzZT1mdW5jdGlvbigpe30sZGVsZXRlIEJhc2UuX3Byb3RvdHlwaW5nO3ZhciBlPWQuY29uc3RydWN0b3IsZj1kLmNvbnN0cnVjdG9yPWZ1bmN0aW9uKCl7aWYoIUJhc2UuX3Byb3RvdHlwaW5nKWlmKHRoaXMuX2NvbnN0cnVjdGluZ3x8dGhpcy5jb25zdHJ1Y3Rvcj09Zil0aGlzLl9jb25zdHJ1Y3Rpbmc9ITAsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksZGVsZXRlIHRoaXMuX2NvbnN0cnVjdGluZztlbHNlIGlmKG51bGwhPT1hcmd1bWVudHNbMF0pcmV0dXJuKGFyZ3VtZW50c1swXS5leHRlbmR8fGMpLmNhbGwoYXJndW1lbnRzWzBdLGQpfTtyZXR1cm4gZi5hbmNlc3Rvcj10aGlzLGYuZXh0ZW5kPXRoaXMuZXh0ZW5kLGYuZm9yRWFjaD10aGlzLmZvckVhY2gsZi5pbXBsZW1lbnQ9dGhpcy5pbXBsZW1lbnQsZi5wcm90b3R5cGU9ZCxmLnRvU3RyaW5nPXRoaXMudG9TdHJpbmcsZi52YWx1ZU9mPWZ1bmN0aW9uKGEpe3JldHVybiJvYmplY3QiPT1hP2Y6ZS52YWx1ZU9mKCl9LGMuY2FsbChmLGIpLCJmdW5jdGlvbiI9PXR5cGVvZiBmLmluaXQmJmYuaW5pdCgpLGZ9LEJhc2UucHJvdG90eXBlPXtleHRlbmQ6ZnVuY3Rpb24oYSxiKXtpZihhcmd1bWVudHMubGVuZ3RoPjEpe3ZhciBjPXRoaXNbYV07aWYoYyYmImZ1bmN0aW9uIj09dHlwZW9mIGImJighYy52YWx1ZU9mfHxjLnZhbHVlT2YoKSE9Yi52YWx1ZU9mKCkpJiYvXGJiYXNlXGIvLnRlc3QoYikpe3ZhciBkPWIudmFsdWVPZigpO2I9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmJhc2V8fEJhc2UucHJvdG90eXBlLmJhc2U7dGhpcy5iYXNlPWM7dmFyIGI9ZC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuYmFzZT1hLGJ9LGIudmFsdWVPZj1mdW5jdGlvbihhKXtyZXR1cm4ib2JqZWN0Ij09YT9iOmR9LGIudG9TdHJpbmc9QmFzZS50b1N0cmluZ310aGlzW2FdPWJ9ZWxzZSBpZihhKXt2YXIgZT1CYXNlLnByb3RvdHlwZS5leHRlbmQ7QmFzZS5fcHJvdG90eXBpbmd8fCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzfHwoZT10aGlzLmV4dGVuZHx8ZSk7Zm9yKHZhciBmPXt0b1NvdXJjZTpudWxsfSxnPVsiY29uc3RydWN0b3IiLCJ0b1N0cmluZyIsInZhbHVlT2YiXSxoPUJhc2UuX3Byb3RvdHlwaW5nPzA6MTtpPWdbaCsrXTspYVtpXSE9ZltpXSYmZS5jYWxsKHRoaXMsaSxhW2ldKTtmb3IodmFyIGkgaW4gYSlmW2ldfHxlLmNhbGwodGhpcyxpLGFbaV0pfXJldHVybiB0aGlzfX0sQmFzZT1CYXNlLmV4dGVuZCh7Y29uc3RydWN0b3I6ZnVuY3Rpb24oKXt0aGlzLmV4dGVuZChhcmd1bWVudHNbMF0pfX0se2FuY2VzdG9yOk9iamVjdCx2ZXJzaW9uOiIxLjEiLGZvckVhY2g6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKXZvaWQgMD09PXRoaXMucHJvdG90eXBlW2RdJiZiLmNhbGwoYyxhW2RdLGQsYSl9LGltcGxlbWVudDpmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKyspImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1thXT9hcmd1bWVudHNbYV0odGhpcy5wcm90b3R5cGUpOnRoaXMucHJvdG90eXBlLmV4dGVuZChhcmd1bWVudHNbYV0pO3JldHVybiB0aGlzfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy52YWx1ZU9mKCkpfX0pO3ZhciBGbGlwQ2xvY2s7IWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtGbGlwQ2xvY2s9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiIGluc3RhbmNlb2YgT2JqZWN0JiZiIGluc3RhbmNlb2YgRGF0ZT09ITEmJihjPWIsYj0wKSxuZXcgRmxpcENsb2NrLkZhY3RvcnkoYSxiLGMpfSxGbGlwQ2xvY2suTGFuZz17fSxGbGlwQ2xvY2suQmFzZT1CYXNlLmV4dGVuZCh7YnVpbGREYXRlOiIyMDE0LTEyLTEyIix2ZXJzaW9uOiIwLjcuNyIsY29uc3RydWN0b3I6ZnVuY3Rpb24oYixjKXsib2JqZWN0IiE9dHlwZW9mIGImJihiPXt9KSwib2JqZWN0IiE9dHlwZW9mIGMmJihjPXt9KSx0aGlzLnNldE9wdGlvbnMoYS5leHRlbmQoITAse30sYixjKSl9LGNhbGxiYWNrOmZ1bmN0aW9uKGEpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhKXtmb3IodmFyIGI9W10sYz0xO2M8PWFyZ3VtZW50cy5sZW5ndGg7YysrKWFyZ3VtZW50c1tjXSYmYi5wdXNoKGFyZ3VtZW50c1tjXSk7YS5hcHBseSh0aGlzLGIpfX0sbG9nOmZ1bmN0aW9uKGEpe3dpbmRvdy5jb25zb2xlJiZjb25zb2xlLmxvZyYmY29uc29sZS5sb2coYSl9LGdldE9wdGlvbjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpc1thXT90aGlzW2FdOiExfSxnZXRPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHNldE9wdGlvbjpmdW5jdGlvbihhLGIpe3RoaXNbYV09Yn0sc2V0T3B0aW9uczpmdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSkidW5kZWZpbmVkIiE9dHlwZW9mIGFbYl0mJnRoaXMuc2V0T3B0aW9uKGIsYVtiXSl9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO0ZsaXBDbG9jay5GYWNlPUZsaXBDbG9jay5CYXNlLmV4dGVuZCh7YXV0b1N0YXJ0OiEwLGRpdmlkZXJzOltdLGZhY3Rvcnk6ITEsbGlzdHM6W10sY29uc3RydWN0b3I6ZnVuY3Rpb24oYSxiKXt0aGlzLmRpdmlkZXJzPVtdLHRoaXMubGlzdHM9W10sdGhpcy5iYXNlKGIpLHRoaXMuZmFjdG9yeT1hfSxidWlsZDpmdW5jdGlvbigpe3RoaXMuYXV0b1N0YXJ0JiZ0aGlzLnN0YXJ0KCl9LGNyZWF0ZURpdmlkZXI6ZnVuY3Rpb24oYixjLGQpeyJib29sZWFuIiE9dHlwZW9mIGMmJmN8fChkPWMsYz1iKTt2YXIgZT1bJzxzcGFuIGNsYXNzPSInK3RoaXMuZmFjdG9yeS5jbGFzc2VzLmRvdCsnIHRvcCI+PC9zcGFuPicsJzxzcGFuIGNsYXNzPSInK3RoaXMuZmFjdG9yeS5jbGFzc2VzLmRvdCsnIGJvdHRvbSI+PC9zcGFuPiddLmpvaW4oIiIpO2QmJihlPSIiKSxiPXRoaXMuZmFjdG9yeS5sb2NhbGl6ZShiKTt2YXIgZj1bJzxzcGFuIGNsYXNzPSInK3RoaXMuZmFjdG9yeS5jbGFzc2VzLmRpdmlkZXIrIiAiKyhjP2M6IiIpLnRvTG93ZXJDYXNlKCkrJyI+JywnPHNwYW4gY2xhc3M9IicrdGhpcy5mYWN0b3J5LmNsYXNzZXMubGFiZWwrJyI+JysoYj9iOiIiKSsiPC9zcGFuPiIsZSwiPC9zcGFuPiJdLGc9YShmLmpvaW4oIiIpKTtyZXR1cm4gdGhpcy5kaXZpZGVycy5wdXNoKGcpLGd9LGNyZWF0ZUxpc3Q6ZnVuY3Rpb24oYSxiKXsib2JqZWN0Ij09dHlwZW9mIGEmJihiPWEsYT0wKTt2YXIgYz1uZXcgRmxpcENsb2NrLkxpc3QodGhpcy5mYWN0b3J5LGEsYik7cmV0dXJuIHRoaXMubGlzdHMucHVzaChjKSxjfSxyZXNldDpmdW5jdGlvbigpe3RoaXMuZmFjdG9yeS50aW1lPW5ldyBGbGlwQ2xvY2suVGltZSh0aGlzLmZhY3RvcnksdGhpcy5mYWN0b3J5Lm9yaWdpbmFsP01hdGgucm91bmQodGhpcy5mYWN0b3J5Lm9yaWdpbmFsKTowLHttaW5pbXVtRGlnaXRzOnRoaXMuZmFjdG9yeS5taW5pbXVtRGlnaXRzfSksdGhpcy5mbGlwKHRoaXMuZmFjdG9yeS5vcmlnaW5hbCwhMSl9LGFwcGVuZERpZ2l0VG9DbG9jazpmdW5jdGlvbihhKXthLiRlbC5hcHBlbmQoITEpfSxhZGREaWdpdDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNyZWF0ZUxpc3QoYSx7Y2xhc3Nlczp7YWN0aXZlOnRoaXMuZmFjdG9yeS5jbGFzc2VzLmFjdGl2ZSxiZWZvcmU6dGhpcy5mYWN0b3J5LmNsYXNzZXMuYmVmb3JlLGZsaXA6dGhpcy5mYWN0b3J5LmNsYXNzZXMuZmxpcH19KTt0aGlzLmFwcGVuZERpZ2l0VG9DbG9jayhiKX0sc3RhcnQ6ZnVuY3Rpb24oKXt9LHN0b3A6ZnVuY3Rpb24oKXt9LGF1dG9JbmNyZW1lbnQ6ZnVuY3Rpb24oKXt0aGlzLmZhY3RvcnkuY291bnRkb3duP3RoaXMuZGVjcmVtZW50KCk6dGhpcy5pbmNyZW1lbnQoKX0saW5jcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy5mYWN0b3J5LnRpbWUuYWRkU2Vjb25kKCl9LGRlY3JlbWVudDpmdW5jdGlvbigpezA9PXRoaXMuZmFjdG9yeS50aW1lLmdldFRpbWVTZWNvbmRzKCk/dGhpcy5mYWN0b3J5LnN0b3AoKTp0aGlzLmZhY3RvcnkudGltZS5zdWJTZWNvbmQoKX0sZmxpcDpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7YS5lYWNoKGIsZnVuY3Rpb24oYSxiKXt2YXIgZT1kLmxpc3RzW2FdO2U/KGN8fGI9PWUuZGlnaXR8fGUucGxheSgpLGUuc2VsZWN0KGIpKTpkLmFkZERpZ2l0KGIpfSl9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO0ZsaXBDbG9jay5GYWN0b3J5PUZsaXBDbG9jay5CYXNlLmV4dGVuZCh7YW5pbWF0aW9uUmF0ZToxZTMsYXV0b1N0YXJ0OiEwLGNhbGxiYWNrczp7ZGVzdHJveTohMSxjcmVhdGU6ITEsaW5pdDohMSxpbnRlcnZhbDohMSxzdGFydDohMSxzdG9wOiExLHJlc2V0OiExfSxjbGFzc2VzOnthY3RpdmU6ImZsaXAtY2xvY2stYWN0aXZlIixiZWZvcmU6ImZsaXAtY2xvY2stYmVmb3JlIixkaXZpZGVyOiJmbGlwLWNsb2NrLWRpdmlkZXIiLGRvdDoiZmxpcC1jbG9jay1kb3QiLGxhYmVsOiJmbGlwLWNsb2NrLWxhYmVsIixmbGlwOiJmbGlwIixwbGF5OiJwbGF5Iix3cmFwcGVyOiJmbGlwLWNsb2NrLXdyYXBwZXIifSxjbG9ja0ZhY2U6IkhvdXJseUNvdW50ZXIiLGNvdW50ZG93bjohMSxkZWZhdWx0Q2xvY2tGYWNlOiJIb3VybHlDb3VudGVyIixkZWZhdWx0TGFuZ3VhZ2U6ImVuZ2xpc2giLCRlbDohMSxmYWNlOiEwLGxhbmc6ITEsbGFuZ3VhZ2U6ImVuZ2xpc2giLG1pbmltdW1EaWdpdHM6MCxvcmlnaW5hbDohMSxydW5uaW5nOiExLHRpbWU6ITEsdGltZXI6ITEsJHdyYXBwZXI6ITEsY29uc3RydWN0b3I6ZnVuY3Rpb24oYixjLGQpe2R8fChkPXt9KSx0aGlzLmxpc3RzPVtdLHRoaXMucnVubmluZz0hMSx0aGlzLmJhc2UoZCksdGhpcy4kZWw9YShiKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMud3JhcHBlciksdGhpcy4kd3JhcHBlcj10aGlzLiRlbCx0aGlzLm9yaWdpbmFsPWMgaW5zdGFuY2VvZiBEYXRlP2M6Yz9NYXRoLnJvdW5kKGMpOjAsdGhpcy50aW1lPW5ldyBGbGlwQ2xvY2suVGltZSh0aGlzLHRoaXMub3JpZ2luYWwse21pbmltdW1EaWdpdHM6dGhpcy5taW5pbXVtRGlnaXRzLGFuaW1hdGlvblJhdGU6dGhpcy5hbmltYXRpb25SYXRlfSksdGhpcy50aW1lcj1uZXcgRmxpcENsb2NrLlRpbWVyKHRoaXMsZCksdGhpcy5sb2FkTGFuZ3VhZ2UodGhpcy5sYW5ndWFnZSksdGhpcy5sb2FkQ2xvY2tGYWNlKHRoaXMuY2xvY2tGYWNlLGQpLHRoaXMuYXV0b1N0YXJ0JiZ0aGlzLnN0YXJ0KCl9LGxvYWRDbG9ja0ZhY2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPSJGYWNlIixlPSExO3JldHVybiBhPWEudWNmaXJzdCgpK2QsdGhpcy5mYWNlLnN0b3AmJih0aGlzLnN0b3AoKSxlPSEwKSx0aGlzLiRlbC5odG1sKCIiKSx0aGlzLnRpbWUubWluaW11bURpZ2l0cz10aGlzLm1pbmltdW1EaWdpdHMsYz1GbGlwQ2xvY2tbYV0/bmV3IEZsaXBDbG9ja1thXSh0aGlzLGIpOm5ldyBGbGlwQ2xvY2tbdGhpcy5kZWZhdWx0Q2xvY2tGYWNlK2RdKHRoaXMsYiksYy5idWlsZCgpLHRoaXMuZmFjZT1jLGUmJnRoaXMuc3RhcnQoKSx0aGlzLmZhY2V9LGxvYWRMYW5ndWFnZTpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gYj1GbGlwQ2xvY2suTGFuZ1thLnVjZmlyc3QoKV0/RmxpcENsb2NrLkxhbmdbYS51Y2ZpcnN0KCldOkZsaXBDbG9jay5MYW5nW2FdP0ZsaXBDbG9jay5MYW5nW2FdOkZsaXBDbG9jay5MYW5nW3RoaXMuZGVmYXVsdExhbmd1YWdlXSx0aGlzLmxhbmc9Yn0sbG9jYWxpemU6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmxhbmc7aWYoIWEpcmV0dXJuIG51bGw7dmFyIGQ9YS50b0xvd2VyQ2FzZSgpO3JldHVybiJvYmplY3QiPT10eXBlb2YgYiYmKGM9YiksYyYmY1tkXT9jW2RdOmF9LHN0YXJ0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7Yi5ydW5uaW5nfHxiLmNvdW50ZG93biYmIShiLmNvdW50ZG93biYmYi50aW1lLnRpbWU+MCk/Yi5sb2coIlRyeWluZyB0byBzdGFydCB0aW1lciB3aGVuIGNvdW50ZG93biBhbHJlYWR5IGF0IDAiKTooYi5mYWNlLnN0YXJ0KGIudGltZSksYi50aW1lci5zdGFydChmdW5jdGlvbigpe2IuZmxpcCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhKCl9KSl9LHN0b3A6ZnVuY3Rpb24oYSl7dGhpcy5mYWNlLnN0b3AoKSx0aGlzLnRpbWVyLnN0b3AoYSk7Zm9yKHZhciBiIGluIHRoaXMubGlzdHMpdGhpcy5saXN0cy5oYXNPd25Qcm9wZXJ0eShiKSYmdGhpcy5saXN0c1tiXS5zdG9wKCl9LHJlc2V0OmZ1bmN0aW9uKGEpe3RoaXMudGltZXIucmVzZXQoYSksdGhpcy5mYWNlLnJlc2V0KCl9LHNldFRpbWU6ZnVuY3Rpb24oYSl7dGhpcy50aW1lLnRpbWU9YSx0aGlzLmZsaXAoITApfSxnZXRUaW1lOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRpbWV9LHNldENvdW50ZG93bjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnJ1bm5pbmc7dGhpcy5jb3VudGRvd249YT8hMDohMSxiJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKX0sZmxpcDpmdW5jdGlvbihhKXt0aGlzLmZhY2UuZmxpcCghMSxhKX19KX0oalF1ZXJ5KSxmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7RmxpcENsb2NrLkxpc3Q9RmxpcENsb2NrLkJhc2UuZXh0ZW5kKHtkaWdpdDowLGNsYXNzZXM6e2FjdGl2ZToiZmxpcC1jbG9jay1hY3RpdmUiLGJlZm9yZToiZmxpcC1jbG9jay1iZWZvcmUiLGZsaXA6ImZsaXAifSxmYWN0b3J5OiExLCRlbDohMSwkb2JqOiExLGl0ZW1zOltdLGxhc3REaWdpdDowLGNvbnN0cnVjdG9yOmZ1bmN0aW9uKGEsYixjKXt0aGlzLmZhY3Rvcnk9YSx0aGlzLmRpZ2l0PWIsdGhpcy5sYXN0RGlnaXQ9Yix0aGlzLiRlbD10aGlzLmNyZWF0ZUxpc3QoKSx0aGlzLiRvYmo9dGhpcy4kZWwsYj4wJiZ0aGlzLnNlbGVjdChiKSx0aGlzLmZhY3RvcnkuJGVsLmFwcGVuZCh0aGlzLiRlbCl9LHNlbGVjdDpmdW5jdGlvbihhKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGE/YT10aGlzLmRpZ2l0OnRoaXMuZGlnaXQ9YSx0aGlzLmRpZ2l0IT10aGlzLmxhc3REaWdpdCl7dmFyIGI9dGhpcy4kZWwuZmluZCgiLiIrdGhpcy5jbGFzc2VzLmJlZm9yZSkucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmJlZm9yZSk7dGhpcy4kZWwuZmluZCgiLiIrdGhpcy5jbGFzc2VzLmFjdGl2ZSkucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmFjdGl2ZSkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmJlZm9yZSksdGhpcy5hcHBlbmRMaXN0SXRlbSh0aGlzLmNsYXNzZXMuYWN0aXZlLHRoaXMuZGlnaXQpLGIucmVtb3ZlKCksdGhpcy5sYXN0RGlnaXQ9dGhpcy5kaWdpdH19LHBsYXk6ZnVuY3Rpb24oKXt0aGlzLiRlbC5hZGRDbGFzcyh0aGlzLmZhY3RvcnkuY2xhc3Nlcy5wbGF5KX0sc3RvcDpmdW5jdGlvbigpe3ZhciBhPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2EuJGVsLnJlbW92ZUNsYXNzKGEuZmFjdG9yeS5jbGFzc2VzLnBsYXkpfSx0aGlzLmZhY3RvcnkudGltZXIuaW50ZXJ2YWwpfSxjcmVhdGVMaXN0SXRlbTpmdW5jdGlvbihhLGIpe3JldHVyblsnPGxpIGNsYXNzPSInKyhhP2E6IiIpKyciPicsJzxhIGhyZWY9IiMiPicsJzxkaXYgY2xhc3M9InVwIj4nLCc8ZGl2IGNsYXNzPSJzaGFkb3ciPjwvZGl2PicsJzxkaXYgY2xhc3M9ImlubiI+JysoYj9iOiIiKSsiPC9kaXY+IiwiPC9kaXY+IiwnPGRpdiBjbGFzcz0iZG93biI+JywnPGRpdiBjbGFzcz0ic2hhZG93Ij48L2Rpdj4nLCc8ZGl2IGNsYXNzPSJpbm4iPicrKGI/YjoiIikrIjwvZGl2PiIsIjwvZGl2PiIsIjwvYT4iLCI8L2xpPiJdLmpvaW4oIiIpfSxhcHBlbmRMaXN0SXRlbTpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY3JlYXRlTGlzdEl0ZW0oYSxiKTt0aGlzLiRlbC5hcHBlbmQoYyl9LGNyZWF0ZUxpc3Q6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmdldFByZXZEaWdpdCgpP3RoaXMuZ2V0UHJldkRpZ2l0KCk6dGhpcy5kaWdpdCxjPWEoWyc8dWwgY2xhc3M9IicrdGhpcy5jbGFzc2VzLmZsaXArIiAiKyh0aGlzLmZhY3RvcnkucnVubmluZz90aGlzLmZhY3RvcnkuY2xhc3Nlcy5wbGF5OiIiKSsnIj4nLHRoaXMuY3JlYXRlTGlzdEl0ZW0odGhpcy5jbGFzc2VzLmJlZm9yZSxiKSx0aGlzLmNyZWF0ZUxpc3RJdGVtKHRoaXMuY2xhc3Nlcy5hY3RpdmUsdGhpcy5kaWdpdCksIjwvdWw+Il0uam9pbigiIikpO3JldHVybiBjfSxnZXROZXh0RGlnaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gOT09dGhpcy5kaWdpdD8wOnRoaXMuZGlnaXQrMX0sZ2V0UHJldkRpZ2l0OmZ1bmN0aW9uKCl7cmV0dXJuIDA9PXRoaXMuZGlnaXQ/OTp0aGlzLmRpZ2l0LTF9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO1N0cmluZy5wcm90b3R5cGUudWNmaXJzdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN1YnN0cigwLDEpLnRvVXBwZXJDYXNlKCkrdGhpcy5zdWJzdHIoMSl9LGEuZm4uRmxpcENsb2NrPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIG5ldyBGbGlwQ2xvY2soYSh0aGlzKSxiLGMpfSxhLmZuLmZsaXBDbG9jaz1mdW5jdGlvbihiLGMpe3JldHVybiBhLmZuLkZsaXBDbG9jayhiLGMpfX0oalF1ZXJ5KSxmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7RmxpcENsb2NrLlRpbWU9RmxpcENsb2NrLkJhc2UuZXh0ZW5kKHt0aW1lOjAsZmFjdG9yeTohMSxtaW5pbXVtRGlnaXRzOjAsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSxiLGMpeyJvYmplY3QiIT10eXBlb2YgYyYmKGM9e30pLGMubWluaW11bURpZ2l0c3x8KGMubWluaW11bURpZ2l0cz1hLm1pbmltdW1EaWdpdHMpLHRoaXMuYmFzZShjKSx0aGlzLmZhY3Rvcnk9YSxiJiYodGhpcy50aW1lPWIpfSxjb252ZXJ0RGlnaXRzVG9BcnJheTpmdW5jdGlvbihhKXt2YXIgYj1bXTthPWEudG9TdHJpbmcoKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdLm1hdGNoKC9eXGQqJC9nKSYmYi5wdXNoKGFbY10pO3JldHVybiBifSxkaWdpdDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnRvU3RyaW5nKCksYz1iLmxlbmd0aDtyZXR1cm4gYltjLWFdP2JbYy1hXTohMX0sZGlnaXRpemU6ZnVuY3Rpb24oYil7dmFyIGM9W107aWYoYS5lYWNoKGIsZnVuY3Rpb24oYSxiKXtiPWIudG9TdHJpbmcoKSwxPT1iLmxlbmd0aCYmKGI9IjAiK2IpO2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMucHVzaChiLmNoYXJBdChkKSl9KSxjLmxlbmd0aD50aGlzLm1pbmltdW1EaWdpdHMmJih0aGlzLm1pbmltdW1EaWdpdHM9Yy5sZW5ndGgpLHRoaXMubWluaW11bURpZ2l0cz5jLmxlbmd0aClmb3IodmFyIGQ9Yy5sZW5ndGg7ZDx0aGlzLm1pbmltdW1EaWdpdHM7ZCsrKWMudW5zaGlmdCgiMCIpO3JldHVybiBjfSxnZXREYXRlT2JqZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGltZSBpbnN0YW5jZW9mIERhdGU/dGhpcy50aW1lOm5ldyBEYXRlKChuZXcgRGF0ZSkuZ2V0VGltZSgpKzFlMyp0aGlzLmdldFRpbWVTZWNvbmRzKCkpfSxnZXREYXlDb3VudGVyOmZ1bmN0aW9uKGEpe3ZhciBiPVt0aGlzLmdldERheXMoKSx0aGlzLmdldEhvdXJzKCEwKSx0aGlzLmdldE1pbnV0ZXMoITApXTtyZXR1cm4gYSYmYi5wdXNoKHRoaXMuZ2V0U2Vjb25kcyghMCkpLHRoaXMuZGlnaXRpemUoYil9LGdldERheXM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXRUaW1lU2Vjb25kcygpLzYwLzYwLzI0O3JldHVybiBhJiYoYiU9NyksTWF0aC5mbG9vcihiKX0sZ2V0SG91ckNvdW50ZXI6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmRpZ2l0aXplKFt0aGlzLmdldEhvdXJzKCksdGhpcy5nZXRNaW51dGVzKCEwKSx0aGlzLmdldFNlY29uZHMoITApXSk7cmV0dXJuIGF9LGdldEhvdXJseTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEhvdXJDb3VudGVyKCl9LGdldEhvdXJzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZ2V0VGltZVNlY29uZHMoKS82MC82MDtyZXR1cm4gYSYmKGIlPTI0KSxNYXRoLmZsb29yKGIpfSxnZXRNaWxpdGFyeVRpbWU6ZnVuY3Rpb24oYSxiKXsidW5kZWZpbmVkIj09dHlwZW9mIGImJihiPSEwKSxhfHwoYT10aGlzLmdldERhdGVPYmplY3QoKSk7dmFyIGM9W2EuZ2V0SG91cnMoKSxhLmdldE1pbnV0ZXMoKV07cmV0dXJuIGI9PT0hMCYmYy5wdXNoKGEuZ2V0U2Vjb25kcygpKSx0aGlzLmRpZ2l0aXplKGMpfSxnZXRNaW51dGVzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZ2V0VGltZVNlY29uZHMoKS82MDtyZXR1cm4gYSYmKGIlPTYwKSxNYXRoLmZsb29yKGIpfSxnZXRNaW51dGVDb3VudGVyOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5kaWdpdGl6ZShbdGhpcy5nZXRNaW51dGVzKCksdGhpcy5nZXRTZWNvbmRzKCEwKV0pO3JldHVybiBhfSxnZXRUaW1lU2Vjb25kczpmdW5jdGlvbihhKXtyZXR1cm4gYXx8KGE9bmV3IERhdGUpLHRoaXMudGltZSBpbnN0YW5jZW9mIERhdGU/dGhpcy5mYWN0b3J5LmNvdW50ZG93bj9NYXRoLm1heCh0aGlzLnRpbWUuZ2V0VGltZSgpLzFlMy1hLmdldFRpbWUoKS8xZTMsMCk6YS5nZXRUaW1lKCkvMWUzLXRoaXMudGltZS5nZXRUaW1lKCkvMWUzOnRoaXMudGltZX0sZ2V0VGltZTpmdW5jdGlvbihhLGIpeyJ1bmRlZmluZWQiPT10eXBlb2YgYiYmKGI9ITApLGF8fChhPXRoaXMuZ2V0RGF0ZU9iamVjdCgpKSxjb25zb2xlLmxvZyhhKTt2YXIgYz1hLmdldEhvdXJzKCksZD1bYz4xMj9jLTEyOjA9PT1jPzEyOmMsYS5nZXRNaW51dGVzKCldO3JldHVybiBiPT09ITAmJmQucHVzaChhLmdldFNlY29uZHMoKSksdGhpcy5kaWdpdGl6ZShkKX0sZ2V0U2Vjb25kczpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldFRpbWVTZWNvbmRzKCk7cmV0dXJuIGEmJig2MD09Yj9iPTA6YiU9NjApLE1hdGguY2VpbChiKX0sZ2V0V2Vla3M6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXRUaW1lU2Vjb25kcygpLzYwLzYwLzI0Lzc7cmV0dXJuIGEmJihiJT01MiksTWF0aC5mbG9vcihiKX0scmVtb3ZlTGVhZGluZ1plcm9zOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9MCxlPVtdO3JldHVybiBhLmVhY2goYyxmdW5jdGlvbihhLGYpe2I+YT9kKz1wYXJzZUludChjW2FdLDEwKTplLnB1c2goY1thXSl9KSwwPT09ZD9lOmN9LGFkZFNlY29uZHM6ZnVuY3Rpb24oYSl7dGhpcy50aW1lIGluc3RhbmNlb2YgRGF0ZT90aGlzLnRpbWUuc2V0U2Vjb25kcyh0aGlzLnRpbWUuZ2V0U2Vjb25kcygpK2EpOnRoaXMudGltZSs9YX0sYWRkU2Vjb25kOmZ1bmN0aW9uKCl7dGhpcy5hZGRTZWNvbmRzKDEpfSxzdWJTZWNvbmRzOmZ1bmN0aW9uKGEpe3RoaXMudGltZSBpbnN0YW5jZW9mIERhdGU/dGhpcy50aW1lLnNldFNlY29uZHModGhpcy50aW1lLmdldFNlY29uZHMoKS1hKTp0aGlzLnRpbWUtPWF9LHN1YlNlY29uZDpmdW5jdGlvbigpe3RoaXMuc3ViU2Vjb25kcygxKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaW1lU2Vjb25kcygpLnRvU3RyaW5nKCl9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO0ZsaXBDbG9jay5UaW1lcj1GbGlwQ2xvY2suQmFzZS5leHRlbmQoe2NhbGxiYWNrczp7ZGVzdHJveTohMSxjcmVhdGU6ITEsaW5pdDohMSxpbnRlcnZhbDohMSxzdGFydDohMSxzdG9wOiExLHJlc2V0OiExfSxjb3VudDowLGZhY3Rvcnk6ITEsaW50ZXJ2YWw6MWUzLGFuaW1hdGlvblJhdGU6MWUzLGNvbnN0cnVjdG9yOmZ1bmN0aW9uKGEsYil7dGhpcy5iYXNlKGIpLHRoaXMuZmFjdG9yeT1hLHRoaXMuY2FsbGJhY2sodGhpcy5jYWxsYmFja3MuaW5pdCksdGhpcy5jYWxsYmFjayh0aGlzLmNhbGxiYWNrcy5jcmVhdGUpfSxnZXRFbGFwc2VkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY291bnQqdGhpcy5pbnRlcnZhbH0sZ2V0RWxhcHNlZFRpbWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy50aW1lK3RoaXMuZ2V0RWxhcHNlZCgpKX0scmVzZXQ6ZnVuY3Rpb24oYSl7Y2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKSx0aGlzLmNvdW50PTAsdGhpcy5fc2V0SW50ZXJ2YWwoYSksdGhpcy5jYWxsYmFjayh0aGlzLmNhbGxiYWNrcy5yZXNldCl9LHN0YXJ0OmZ1bmN0aW9uKGEpe3RoaXMuZmFjdG9yeS5ydW5uaW5nPSEwLHRoaXMuX2NyZWF0ZVRpbWVyKGEpLHRoaXMuY2FsbGJhY2sodGhpcy5jYWxsYmFja3Muc3RhcnQpfSxzdG9wOmZ1bmN0aW9uKGEpe3RoaXMuZmFjdG9yeS5ydW5uaW5nPSExLHRoaXMuX2NsZWFySW50ZXJ2YWwoYSksdGhpcy5jYWxsYmFjayh0aGlzLmNhbGxiYWNrcy5zdG9wKSx0aGlzLmNhbGxiYWNrKGEpfSxfY2xlYXJJbnRlcnZhbDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwodGhpcy50aW1lcil9LF9jcmVhdGVUaW1lcjpmdW5jdGlvbihhKXt0aGlzLl9zZXRJbnRlcnZhbChhKX0sX2Rlc3Ryb3lUaW1lcjpmdW5jdGlvbihhKXt0aGlzLl9jbGVhckludGVydmFsKCksdGhpcy50aW1lcj0hMSx0aGlzLmNhbGxiYWNrKGEpLHRoaXMuY2FsbGJhY2sodGhpcy5jYWxsYmFja3MuZGVzdHJveSl9LF9pbnRlcnZhbDpmdW5jdGlvbihhKXt0aGlzLmNhbGxiYWNrKHRoaXMuY2FsbGJhY2tzLmludGVydmFsKSx0aGlzLmNhbGxiYWNrKGEpLHRoaXMuY291bnQrK30sX3NldEludGVydmFsOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7Yi5faW50ZXJ2YWwoYSksYi50aW1lcj1zZXRJbnRlcnZhbChmdW5jdGlvbigpe2IuX2ludGVydmFsKGEpfSx0aGlzLmludGVydmFsKX19KX0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suVHdlbnR5Rm91ckhvdXJDbG9ja0ZhY2U9RmxpcENsb2NrLkZhY2UuZXh0ZW5kKHtjb25zdHJ1Y3RvcjpmdW5jdGlvbihhLGIpe3RoaXMuYmFzZShhLGIpfSxidWlsZDpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGQ9dGhpcy5mYWN0b3J5LiRlbC5maW5kKCJ1bCIpO3RoaXMuZmFjdG9yeS50aW1lLnRpbWV8fCh0aGlzLmZhY3Rvcnkub3JpZ2luYWw9bmV3IERhdGUsdGhpcy5mYWN0b3J5LnRpbWU9bmV3IEZsaXBDbG9jay5UaW1lKHRoaXMuZmFjdG9yeSx0aGlzLmZhY3Rvcnkub3JpZ2luYWwpKTt2YXIgYj1iP2I6dGhpcy5mYWN0b3J5LnRpbWUuZ2V0TWlsaXRhcnlUaW1lKCExLHRoaXMuc2hvd1NlY29uZHMpO2IubGVuZ3RoPmQubGVuZ3RoJiZhLmVhY2goYixmdW5jdGlvbihhLGIpe2MuY3JlYXRlTGlzdChiKX0pLHRoaXMuY3JlYXRlRGl2aWRlcigpLHRoaXMuY3JlYXRlRGl2aWRlcigpLGEodGhpcy5kaXZpZGVyc1swXSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtMl0uJGVsKSxhKHRoaXMuZGl2aWRlcnNbMV0pLmluc2VydEJlZm9yZSh0aGlzLmxpc3RzW3RoaXMubGlzdHMubGVuZ3RoLTRdLiRlbCksdGhpcy5iYXNlKCl9LGZsaXA6ZnVuY3Rpb24oYSxiKXt0aGlzLmF1dG9JbmNyZW1lbnQoKSxhPWE/YTp0aGlzLmZhY3RvcnkudGltZS5nZXRNaWxpdGFyeVRpbWUoITEsdGhpcy5zaG93U2Vjb25kcyksdGhpcy5iYXNlKGEsYil9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkNvdW50ZXJGYWNlPUZsaXBDbG9jay5GYWNlLmV4dGVuZCh7c2hvdWxkQXV0b0luY3JlbWVudDohMSxjb25zdHJ1Y3RvcjpmdW5jdGlvbihhLGIpeyJvYmplY3QiIT10eXBlb2YgYiYmKGI9e30pLGEuYXV0b1N0YXJ0PWIuYXV0b1N0YXJ0PyEwOiExLGIuYXV0b1N0YXJ0JiYodGhpcy5zaG91bGRBdXRvSW5jcmVtZW50PSEwKSxhLmluY3JlbWVudD1mdW5jdGlvbigpe2EuY291bnRkb3duPSExLGEuc2V0VGltZShhLmdldFRpbWUoKS5nZXRUaW1lU2Vjb25kcygpKzEpfSxhLmRlY3JlbWVudD1mdW5jdGlvbigpe2EuY291bnRkb3duPSEwO3ZhciBiPWEuZ2V0VGltZSgpLmdldFRpbWVTZWNvbmRzKCk7Yj4wJiZhLnNldFRpbWUoYi0xKX0sYS5zZXRWYWx1ZT1mdW5jdGlvbihiKXthLnNldFRpbWUoYil9LGEuc2V0Q291bnRlcj1mdW5jdGlvbihiKXthLnNldFRpbWUoYil9LHRoaXMuYmFzZShhLGIpfSxidWlsZDpmdW5jdGlvbigpe3ZhciBiPXRoaXMsYz10aGlzLmZhY3RvcnkuJGVsLmZpbmQoInVsIiksZD10aGlzLmZhY3RvcnkuZ2V0VGltZSgpLmRpZ2l0aXplKFt0aGlzLmZhY3RvcnkuZ2V0VGltZSgpLnRpbWVdKTtkLmxlbmd0aD5jLmxlbmd0aCYmYS5lYWNoKGQsZnVuY3Rpb24oYSxjKXt2YXIgZD1iLmNyZWF0ZUxpc3QoYyk7ZC5zZWxlY3QoYyl9KSxhLmVhY2godGhpcy5saXN0cyxmdW5jdGlvbihhLGIpe2IucGxheSgpfSksdGhpcy5iYXNlKCl9LGZsaXA6ZnVuY3Rpb24oYSxiKXt0aGlzLnNob3VsZEF1dG9JbmNyZW1lbnQmJnRoaXMuYXV0b0luY3JlbWVudCgpLGF8fChhPXRoaXMuZmFjdG9yeS5nZXRUaW1lKCkuZGlnaXRpemUoW3RoaXMuZmFjdG9yeS5nZXRUaW1lKCkudGltZV0pKSx0aGlzLmJhc2UoYSxiKX0scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLmZhY3RvcnkudGltZT1uZXcgRmxpcENsb2NrLlRpbWUodGhpcy5mYWN0b3J5LHRoaXMuZmFjdG9yeS5vcmlnaW5hbD9NYXRoLnJvdW5kKHRoaXMuZmFjdG9yeS5vcmlnaW5hbCk6MCksdGhpcy5mbGlwKCl9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkRhaWx5Q291bnRlckZhY2U9RmxpcENsb2NrLkZhY2UuZXh0ZW5kKHtzaG93U2Vjb25kczohMCxjb25zdHJ1Y3RvcjpmdW5jdGlvbihhLGIpe3RoaXMuYmFzZShhLGIpfSxidWlsZDpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGQ9dGhpcy5mYWN0b3J5LiRlbC5maW5kKCJ1bCIpLGU9MDtiPWI/Yjp0aGlzLmZhY3RvcnkudGltZS5nZXREYXlDb3VudGVyKHRoaXMuc2hvd1NlY29uZHMpLGIubGVuZ3RoPmQubGVuZ3RoJiZhLmVhY2goYixmdW5jdGlvbihhLGIpe2MuY3JlYXRlTGlzdChiKX0pLHRoaXMuc2hvd1NlY29uZHM/YSh0aGlzLmNyZWF0ZURpdmlkZXIoIlNlY29uZHMiKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtMl0uJGVsKTplPTIsYSh0aGlzLmNyZWF0ZURpdmlkZXIoIk1pbnV0ZXMiKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtNCtlXS4kZWwpLGEodGhpcy5jcmVhdGVEaXZpZGVyKCJIb3VycyIpKS5pbnNlcnRCZWZvcmUodGhpcy5saXN0c1t0aGlzLmxpc3RzLmxlbmd0aC02K2VdLiRlbCksYSh0aGlzLmNyZWF0ZURpdmlkZXIoIkRheXMiLCEwKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbMF0uJGVsKSx0aGlzLmJhc2UoKX0sZmxpcDpmdW5jdGlvbihhLGIpe2F8fChhPXRoaXMuZmFjdG9yeS50aW1lLmdldERheUNvdW50ZXIodGhpcy5zaG93U2Vjb25kcykpLHRoaXMuYXV0b0luY3JlbWVudCgpLHRoaXMuYmFzZShhLGIpfX0pfShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5Ib3VybHlDb3VudGVyRmFjZT1GbGlwQ2xvY2suRmFjZS5leHRlbmQoe2NvbnN0cnVjdG9yOmZ1bmN0aW9uKGEsYil7dGhpcy5iYXNlKGEsYil9LGJ1aWxkOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcyxlPXRoaXMuZmFjdG9yeS4kZWwuZmluZCgidWwiKTtjPWM/Yzp0aGlzLmZhY3RvcnkudGltZS5nZXRIb3VyQ291bnRlcigpLGMubGVuZ3RoPmUubGVuZ3RoJiZhLmVhY2goYyxmdW5jdGlvbihhLGIpe2QuY3JlYXRlTGlzdChiKX0pLGEodGhpcy5jcmVhdGVEaXZpZGVyKCJTZWNvbmRzIikpLmluc2VydEJlZm9yZSh0aGlzLmxpc3RzW3RoaXMubGlzdHMubGVuZ3RoLTJdLiRlbCksYSh0aGlzLmNyZWF0ZURpdmlkZXIoIk1pbnV0ZXMiKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtNF0uJGVsKSxifHxhKHRoaXMuY3JlYXRlRGl2aWRlcigiSG91cnMiLCEwKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbMF0uJGVsKSx0aGlzLmJhc2UoKX0sZmxpcDpmdW5jdGlvbihhLGIpe2F8fChhPXRoaXMuZmFjdG9yeS50aW1lLmdldEhvdXJDb3VudGVyKCkpLHRoaXMuYXV0b0luY3JlbWVudCgpLHRoaXMuYmFzZShhLGIpfSxhcHBlbmREaWdpdFRvQ2xvY2s6ZnVuY3Rpb24oYSl7dGhpcy5iYXNlKGEpLHRoaXMuZGl2aWRlcnNbMF0uaW5zZXJ0QWZ0ZXIodGhpcy5kaXZpZGVyc1swXS5uZXh0KCkpfX0pfShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5NaW51dGVDb3VudGVyRmFjZT1GbGlwQ2xvY2suSG91cmx5Q291bnRlckZhY2UuZXh0ZW5kKHtjbGVhckV4Y2Vzc0RpZ2l0czohMSxjb25zdHJ1Y3RvcjpmdW5jdGlvbihhLGIpe3RoaXMuYmFzZShhLGIpfSxidWlsZDpmdW5jdGlvbigpe3RoaXMuYmFzZSghMCx0aGlzLmZhY3RvcnkudGltZS5nZXRNaW51dGVDb3VudGVyKCkpfSxmbGlwOmZ1bmN0aW9uKGEsYil7YXx8KGE9dGhpcy5mYWN0b3J5LnRpbWUuZ2V0TWludXRlQ291bnRlcigpKSx0aGlzLmJhc2UoYSxiKX19KX0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suVHdlbHZlSG91ckNsb2NrRmFjZT1GbGlwQ2xvY2suVHdlbnR5Rm91ckhvdXJDbG9ja0ZhY2UuZXh0ZW5kKHttZXJpZGl1bTohMSxtZXJpZGl1bVRleHQ6IkFNIixidWlsZDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuZmFjdG9yeS50aW1lLmdldFRpbWUoITEsdGhpcy5zaG93U2Vjb25kcyk7dGhpcy5iYXNlKGIpLHRoaXMubWVyaWRpdW1UZXh0PXRoaXMuZ2V0TWVyaWRpdW0oKSx0aGlzLm1lcmlkaXVtPWEoWyc8dWwgY2xhc3M9ImZsaXAtY2xvY2stbWVyaWRpdW0iPicsIjxsaT4iLCc8YSBocmVmPSIjIj4nK3RoaXMubWVyaWRpdW1UZXh0KyI8L2E+IiwiPC9saT4iLCI8L3VsPiJdLmpvaW4oIiIpKSx0aGlzLm1lcmlkaXVtLmluc2VydEFmdGVyKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtMV0uJGVsKX0sZmxpcDpmdW5jdGlvbihhLGIpe3RoaXMubWVyaWRpdW1UZXh0IT10aGlzLmdldE1lcmlkaXVtKCkmJih0aGlzLm1lcmlkaXVtVGV4dD10aGlzLmdldE1lcmlkaXVtKCksdGhpcy5tZXJpZGl1bS5maW5kKCJhIikuaHRtbCh0aGlzLm1lcmlkaXVtVGV4dCkpLHRoaXMuYmFzZSh0aGlzLmZhY3RvcnkudGltZS5nZXRUaW1lKCExLHRoaXMuc2hvd1NlY29uZHMpLGIpfSxnZXRNZXJpZGl1bTpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0SG91cnMoKT49MTI/IlBNIjoiQU0ifSxpc1BNOmZ1bmN0aW9uKCl7cmV0dXJuIlBNIj09dGhpcy5nZXRNZXJpZGl1bSgpPyEwOiExfSxpc0FNOmZ1bmN0aW9uKCl7cmV0dXJuIkFNIj09dGhpcy5nZXRNZXJpZGl1bSgpPyEwOiExfX0pfShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5MYW5nLkFyYWJpYz17eWVhcnM6Itiz2YbZiNin2KoiLG1vbnRoczoi2LTZh9mI2LEiLGRheXM6Itij2YrYp9mFIixob3Vyczoi2LPYp9i52KfYqiIsbWludXRlczoi2K/Zgtin2KbZgiIsc2Vjb25kczoi2KvZiNin2YbZiiJ9LEZsaXBDbG9jay5MYW5nLmFyPUZsaXBDbG9jay5MYW5nLkFyYWJpYyxGbGlwQ2xvY2suTGFuZ1siYXItYXIiXT1GbGlwQ2xvY2suTGFuZy5BcmFiaWMsRmxpcENsb2NrLkxhbmcuYXJhYmljPUZsaXBDbG9jay5MYW5nLkFyYWJpY30oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suTGFuZy5EYW5pc2g9e3llYXJzOiLDhXIiLG1vbnRoczoiTcOlbmVkZXIiLGRheXM6IkRhZ2UiLGhvdXJzOiJUaW1lciIsbWludXRlczoiTWludXR0ZXIiLHNlY29uZHM6IlNla3VuZGVyIn0sRmxpcENsb2NrLkxhbmcuZGE9RmxpcENsb2NrLkxhbmcuRGFuaXNoLEZsaXBDbG9jay5MYW5nWyJkYS1kayJdPUZsaXBDbG9jay5MYW5nLkRhbmlzaCxGbGlwQ2xvY2suTGFuZy5kYW5pc2g9RmxpcENsb2NrLkxhbmcuRGFuaXNofShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5MYW5nLkdlcm1hbj17eWVhcnM6IkphaHJlIixtb250aHM6Ik1vbmF0ZSIsZGF5czoiVGFnZSIsaG91cnM6IlN0dW5kZW4iLG1pbnV0ZXM6Ik1pbnV0ZW4iLHNlY29uZHM6IlNla3VuZGVuIn0sRmxpcENsb2NrLkxhbmcuZGU9RmxpcENsb2NrLkxhbmcuR2VybWFuLEZsaXBDbG9jay5MYW5nWyJkZS1kZSJdPUZsaXBDbG9jay5MYW5nLkdlcm1hbixGbGlwQ2xvY2suTGFuZy5nZXJtYW49RmxpcENsb2NrLkxhbmcuR2VybWFufShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5MYW5nLkVuZ2xpc2g9e3llYXJzOiJZZWFycyIsbW9udGhzOiJNb250aHMiLGRheXM6IkRheXMiLGhvdXJzOiJIb3VycyIsbWludXRlczoiTWludXRlcyIsc2Vjb25kczoiU2Vjb25kcyJ9LEZsaXBDbG9jay5MYW5nLmVuPUZsaXBDbG9jay5MYW5nLkVuZ2xpc2gsRmxpcENsb2NrLkxhbmdbImVuLXVzIl09RmxpcENsb2NrLkxhbmcuRW5nbGlzaCxGbGlwQ2xvY2suTGFuZy5lbmdsaXNoPUZsaXBDbG9jay5MYW5nLkVuZ2xpc2h9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuU3BhbmlzaD17eWVhcnM6IkHDsW9zIixtb250aHM6Ik1lc2VzIixkYXlzOiJEw61hcyIsaG91cnM6IkhvcmFzIixtaW51dGVzOiJNaW51dG9zIixzZWNvbmRzOiJTZWd1bmRvcyJ9LEZsaXBDbG9jay5MYW5nLmVzPUZsaXBDbG9jay5MYW5nLlNwYW5pc2gsRmxpcENsb2NrLkxhbmdbImVzLWVzIl09RmxpcENsb2NrLkxhbmcuU3BhbmlzaCxGbGlwQ2xvY2suTGFuZy5zcGFuaXNoPUZsaXBDbG9jay5MYW5nLlNwYW5pc2h9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuRmlubmlzaD17eWVhcnM6IlZ1b3R0YSIsbW9udGhzOiJLdXVrYXV0dGEiLGRheXM6IlDDpGl2w6TDpCIsaG91cnM6IlR1bnRpYSIsbWludXRlczoiTWludXV0dGlhIixzZWNvbmRzOiJTZWt1bnRpYSJ9LEZsaXBDbG9jay5MYW5nLmZpPUZsaXBDbG9jay5MYW5nLkZpbm5pc2gsRmxpcENsb2NrLkxhbmdbImZpLWZpIl09RmxpcENsb2NrLkxhbmcuRmlubmlzaCxGbGlwQ2xvY2suTGFuZy5maW5uaXNoPUZsaXBDbG9jay5MYW5nLkZpbm5pc2h9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuRnJlbmNoPXt5ZWFyczoiQW5zIixtb250aHM6Ik1vaXMiLGRheXM6IkpvdXJzIixob3VyczoiSGV1cmVzIixtaW51dGVzOiJNaW51dGVzIixzZWNvbmRzOiJTZWNvbmRlcyJ9LEZsaXBDbG9jay5MYW5nLmZyPUZsaXBDbG9jay5MYW5nLkZyZW5jaCxGbGlwQ2xvY2suTGFuZ1siZnItY2EiXT1GbGlwQ2xvY2suTGFuZy5GcmVuY2gsRmxpcENsb2NrLkxhbmcuZnJlbmNoPUZsaXBDbG9jay5MYW5nLkZyZW5jaH0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suTGFuZy5JdGFsaWFuPXt5ZWFyczoiQW5uaSIsbW9udGhzOiJNZXNpIixkYXlzOiJHaW9ybmkiLGhvdXJzOiJPcmUiLG1pbnV0ZXM6Ik1pbnV0aSIsc2Vjb25kczoiU2Vjb25kaSJ9LEZsaXBDbG9jay5MYW5nLml0PUZsaXBDbG9jay5MYW5nLkl0YWxpYW4sRmxpcENsb2NrLkxhbmdbIml0LWl0Il09RmxpcENsb2NrLkxhbmcuSXRhbGlhbixGbGlwQ2xvY2suTGFuZy5pdGFsaWFuPUZsaXBDbG9jay5MYW5nLkl0YWxpYW59KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuTGF0dmlhbj17eWVhcnM6IkdhZGkiLG1vbnRoczoiTcSTbmXFoWkiLGRheXM6IkRpZW5hcyIsaG91cnM6IlN0dW5kYXMiLG1pbnV0ZXM6Ik1pbsWrdGVzIixzZWNvbmRzOiJTZWt1bmRlcyJ9LEZsaXBDbG9jay5MYW5nLmx2PUZsaXBDbG9jay5MYW5nLkxhdHZpYW4sRmxpcENsb2NrLkxhbmdbImx2LWx2Il09RmxpcENsb2NrLkxhbmcuTGF0dmlhbixGbGlwQ2xvY2suTGFuZy5sYXR2aWFuPUZsaXBDbG9jay5MYW5nLkxhdHZpYW59KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuRHV0Y2g9e3llYXJzOiJKYXJlbiIsbW9udGhzOiJNYWFuZGVuIixkYXlzOiJEYWdlbiIsaG91cnM6IlVyZW4iLG1pbnV0ZXM6Ik1pbnV0ZW4iLHNlY29uZHM6IlNlY29uZGVuIn0sRmxpcENsb2NrLkxhbmcubmw9RmxpcENsb2NrLkxhbmcuRHV0Y2gsRmxpcENsb2NrLkxhbmdbIm5sLWJlIl09RmxpcENsb2NrLkxhbmcuRHV0Y2gsRmxpcENsb2NrLkxhbmcuZHV0Y2g9RmxpcENsb2NrLkxhbmcuRHV0Y2h9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuTm9yd2VnaWFuPXt5ZWFyczoiw4VyIixtb250aHM6Ik3DpW5lZGVyIixkYXlzOiJEYWdlciIsaG91cnM6IlRpbWVyIixtaW51dGVzOiJNaW51dHRlciIsc2Vjb25kczoiU2VrdW5kZXIifSxGbGlwQ2xvY2suTGFuZy5ubz1GbGlwQ2xvY2suTGFuZy5Ob3J3ZWdpYW4sRmxpcENsb2NrLkxhbmcubmI9RmxpcENsb2NrLkxhbmcuTm9yd2VnaWFuLEZsaXBDbG9jay5MYW5nWyJuby1uYiJdPUZsaXBDbG9jay5MYW5nLk5vcndlZ2lhbixGbGlwQ2xvY2suTGFuZy5ub3J3ZWdpYW49RmxpcENsb2NrLkxhbmcuTm9yd2VnaWFufShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5MYW5nLlBvcnR1Z3Vlc2U9e3llYXJzOiJBbm9zIixtb250aHM6Ik1lc2VzIixkYXlzOiJEaWFzIixob3VyczoiSG9yYXMiLG1pbnV0ZXM6Ik1pbnV0b3MiLHNlY29uZHM6IlNlZ3VuZG9zIn0sRmxpcENsb2NrLkxhbmcucHQ9RmxpcENsb2NrLkxhbmcuUG9ydHVndWVzZSxGbGlwQ2xvY2suTGFuZ1sicHQtYnIiXT1GbGlwQ2xvY2suTGFuZy5Qb3J0dWd1ZXNlLEZsaXBDbG9jay5MYW5nLnBvcnR1Z3Vlc2U9RmxpcENsb2NrLkxhbmcuUG9ydHVndWVzZX0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suTGFuZy5SdXNzaWFuPXt5ZWFyczoi0LvQtdGCIixtb250aHM6ItC80LXRgdGP0YbQtdCyIixkYXlzOiLQtNC90LXQuSIsaG91cnM6ItGH0LDRgdC+0LIiLG1pbnV0ZXM6ItC80LjQvdGD0YIiLHNlY29uZHM6ItGB0LXQutGD0L3QtCJ9LEZsaXBDbG9jay5MYW5nLnJ1PUZsaXBDbG9jay5MYW5nLlJ1c3NpYW4sRmxpcENsb2NrLkxhbmdbInJ1LXJ1Il09RmxpcENsb2NrLkxhbmcuUnVzc2lhbixGbGlwQ2xvY2suTGFuZy5ydXNzaWFuPUZsaXBDbG9jay5MYW5nLlJ1c3NpYW59KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuU3dlZGlzaD17eWVhcnM6IsOFciIsbW9udGhzOiJNw6VuYWRlciIsZGF5czoiRGFnYXIiLGhvdXJzOiJUaW1tYXIiLG1pbnV0ZXM6Ik1pbnV0ZXIiLHNlY29uZHM6IlNla3VuZGVyIn0sRmxpcENsb2NrLkxhbmcuc3Y9RmxpcENsb2NrLkxhbmcuU3dlZGlzaCxGbGlwQ2xvY2suTGFuZ1sic3Ytc2UiXT1GbGlwQ2xvY2suTGFuZy5Td2VkaXNoLEZsaXBDbG9jay5MYW5nLnN3ZWRpc2g9RmxpcENsb2NrLkxhbmcuU3dlZGlzaH0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suTGFuZy5DaGluZXNlPXt5ZWFyczoi5bm0Iixtb250aHM6IuaciCIsZGF5czoi5pelIixob3Vyczoi5pe2IixtaW51dGVzOiLliIYiLHNlY29uZHM6IuenkiJ9LEZsaXBDbG9jay5MYW5nLnpoPUZsaXBDbG9jay5MYW5nLkNoaW5lc2UsRmxpcENsb2NrLkxhbmdbInpoLWNuIl09RmxpcENsb2NrLkxhbmcuQ2hpbmVzZSxGbGlwQ2xvY2suTGFuZy5jaGluZXNlPUZsaXBDbG9jay5MYW5nLkNoaW5lc2V9KGpRdWVyeSk7DQoNCg0KLyoNCiAqICBpbnN0YWZlZWQuanMNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLy8gR2VuZXJhdGVkIGJ5IENvZmZlZVNjcmlwdCAxLjkuMw0KKGZ1bmN0aW9uKCl7dmFyIGU7ZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXt2YXIgbixyO3RoaXMub3B0aW9ucz17dGFyZ2V0OiJpbnN0YWZlZWQiLGdldDoicG9wdWxhciIscmVzb2x1dGlvbjoidGh1bWJuYWlsIixzb3J0Qnk6Im5vbmUiLGxpbmtzOiEwLG1vY2s6ITEsdXNlSHR0cDohMX07aWYodHlwZW9mIGU9PSJvYmplY3QiKWZvcihuIGluIGUpcj1lW25dLHRoaXMub3B0aW9uc1tuXT1yO3RoaXMuY29udGV4dD10IT1udWxsP3Q6dGhpcyx0aGlzLnVuaXF1ZT10aGlzLl9nZW5LZXkoKX1yZXR1cm4gZS5wcm90b3R5cGUuaGFzTmV4dD1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5jb250ZXh0Lm5leHRVcmw9PSJzdHJpbmciJiZ0aGlzLmNvbnRleHQubmV4dFVybC5sZW5ndGg+MH0sZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc05leHQoKT90aGlzLnJ1bih0aGlzLmNvbnRleHQubmV4dFVybCk6ITF9LGUucHJvdG90eXBlLnJ1bj1mdW5jdGlvbih0KXt2YXIgbixyLGk7aWYodHlwZW9mIHRoaXMub3B0aW9ucy5jbGllbnRJZCE9InN0cmluZyImJnR5cGVvZiB0aGlzLm9wdGlvbnMuYWNjZXNzVG9rZW4hPSJzdHJpbmciKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBjbGllbnRJZCBvciBhY2Nlc3NUb2tlbi4iKTtpZih0eXBlb2YgdGhpcy5vcHRpb25zLmFjY2Vzc1Rva2VuIT0ic3RyaW5nIiYmdHlwZW9mIHRoaXMub3B0aW9ucy5jbGllbnRJZCE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIGNsaWVudElkIG9yIGFjY2Vzc1Rva2VuLiIpO3JldHVybiB0aGlzLm9wdGlvbnMuYmVmb3JlIT1udWxsJiZ0eXBlb2YgdGhpcy5vcHRpb25zLmJlZm9yZT09ImZ1bmN0aW9uIiYmdGhpcy5vcHRpb25zLmJlZm9yZS5jYWxsKHRoaXMpLHR5cGVvZiBkb2N1bWVudCE9InVuZGVmaW5lZCImJmRvY3VtZW50IT09bnVsbCYmKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksaS5pZD0iaW5zdGFmZWVkLWZldGNoZXIiLGkuc3JjPXR8fHRoaXMuX2J1aWxkVXJsKCksbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpLG5bMF0uYXBwZW5kQ2hpbGQoaSkscj0iaW5zdGFmZWVkQ2FjaGUiK3RoaXMudW5pcXVlLHdpbmRvd1tyXT1uZXcgZSh0aGlzLm9wdGlvbnMsdGhpcyksd2luZG93W3JdLnVuaXF1ZT10aGlzLnVuaXF1ZSksITB9LGUucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLHMsbyx1LGEsZixsLGMsaCxwLGQsdixtLGcseSxiLHcsRSxTLHgsVCxOLEMsayxMLEEsTyxNLF8sRDtpZih0eXBlb2YgZSE9Im9iamVjdCIpe2lmKHRoaXMub3B0aW9ucy5lcnJvciE9bnVsbCYmdHlwZW9mIHRoaXMub3B0aW9ucy5lcnJvcj09ImZ1bmN0aW9uIilyZXR1cm4gdGhpcy5vcHRpb25zLmVycm9yLmNhbGwodGhpcywiSW52YWxpZCBKU09OIGRhdGEiKSwhMTt0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgSlNPTiByZXNwb25zZSIpfWlmKGUubWV0YS5jb2RlIT09MjAwKXtpZih0aGlzLm9wdGlvbnMuZXJyb3IhPW51bGwmJnR5cGVvZiB0aGlzLm9wdGlvbnMuZXJyb3I9PSJmdW5jdGlvbiIpcmV0dXJuIHRoaXMub3B0aW9ucy5lcnJvci5jYWxsKHRoaXMsZS5tZXRhLmVycm9yX21lc3NhZ2UpLCExO3Rocm93IG5ldyBFcnJvcigiRXJyb3IgZnJvbSBJbnN0YWdyYW06ICIrZS5tZXRhLmVycm9yX21lc3NhZ2UpfWlmKGUuZGF0YS5sZW5ndGg9PT0wKXtpZih0aGlzLm9wdGlvbnMuZXJyb3IhPW51bGwmJnR5cGVvZiB0aGlzLm9wdGlvbnMuZXJyb3I9PSJmdW5jdGlvbiIpcmV0dXJuIHRoaXMub3B0aW9ucy5lcnJvci5jYWxsKHRoaXMsIk5vIGltYWdlcyB3ZXJlIHJldHVybmVkIGZyb20gSW5zdGFncmFtIiksITE7dGhyb3cgbmV3IEVycm9yKCJObyBpbWFnZXMgd2VyZSByZXR1cm5lZCBmcm9tIEluc3RhZ3JhbSIpfXRoaXMub3B0aW9ucy5zdWNjZXNzIT1udWxsJiZ0eXBlb2YgdGhpcy5vcHRpb25zLnN1Y2Nlc3M9PSJmdW5jdGlvbiImJnRoaXMub3B0aW9ucy5zdWNjZXNzLmNhbGwodGhpcyxlKSx0aGlzLmNvbnRleHQubmV4dFVybD0iIixlLnBhZ2luYXRpb24hPW51bGwmJih0aGlzLmNvbnRleHQubmV4dFVybD1lLnBhZ2luYXRpb24ubmV4dF91cmwpO2lmKHRoaXMub3B0aW9ucy5zb3J0QnkhPT0ibm9uZSIpe3RoaXMub3B0aW9ucy5zb3J0Qnk9PT0icmFuZG9tIj9NPVsiIiwicmFuZG9tIl06TT10aGlzLm9wdGlvbnMuc29ydEJ5LnNwbGl0KCItIiksTz1NWzBdPT09ImxlYXN0Ij8hMDohMTtzd2l0Y2goTVsxXSl7Y2FzZSJyYW5kb20iOmUuZGF0YS5zb3J0KGZ1bmN0aW9uKCl7cmV0dXJuLjUtTWF0aC5yYW5kb20oKX0pO2JyZWFrO2Nhc2UicmVjZW50IjplLmRhdGE9dGhpcy5fc29ydEJ5KGUuZGF0YSwiY3JlYXRlZF90aW1lIixPKTticmVhaztjYXNlImxpa2VkIjplLmRhdGE9dGhpcy5fc29ydEJ5KGUuZGF0YSwibGlrZXMuY291bnQiLE8pO2JyZWFrO2Nhc2UiY29tbWVudGVkIjplLmRhdGE9dGhpcy5fc29ydEJ5KGUuZGF0YSwiY29tbWVudHMuY291bnQiLE8pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG9wdGlvbiBmb3Igc29ydEJ5OiAnIit0aGlzLm9wdGlvbnMuc29ydEJ5KyInLiIpfX1pZih0eXBlb2YgZG9jdW1lbnQhPSJ1bmRlZmluZWQiJiZkb2N1bWVudCE9PW51bGwmJnRoaXMub3B0aW9ucy5tb2NrPT09ITEpe209ZS5kYXRhLEE9cGFyc2VJbnQodGhpcy5vcHRpb25zLmxpbWl0LDEwKSx0aGlzLm9wdGlvbnMubGltaXQhPW51bGwmJm0ubGVuZ3RoPkEmJihtPW0uc2xpY2UoMCxBKSksdT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksdGhpcy5vcHRpb25zLmZpbHRlciE9bnVsbCYmdHlwZW9mIHRoaXMub3B0aW9ucy5maWx0ZXI9PSJmdW5jdGlvbiImJihtPXRoaXMuX2ZpbHRlcihtLHRoaXMub3B0aW9ucy5maWx0ZXIpKTtpZih0aGlzLm9wdGlvbnMudGVtcGxhdGUhPW51bGwmJnR5cGVvZiB0aGlzLm9wdGlvbnMudGVtcGxhdGU9PSJzdHJpbmciKXtmPSIiLGQ9IiIsdz0iIixEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2ZvcihjPTAsTj1tLmxlbmd0aDtjPE47YysrKXtoPW1bY10scD1oLmltYWdlc1t0aGlzLm9wdGlvbnMucmVzb2x1dGlvbl07aWYodHlwZW9mIHAhPSJvYmplY3QiKXRocm93IG89Ik5vIGltYWdlIGZvdW5kIGZvciByZXNvbHV0aW9uOiAiK3RoaXMub3B0aW9ucy5yZXNvbHV0aW9uKyIuIixuZXcgRXJyb3Iobyk7RT1wLndpZHRoLHk9cC5oZWlnaHQsYj0ic3F1YXJlIixFPnkmJihiPSJsYW5kc2NhcGUiKSxFPHkmJihiPSJwb3J0cmFpdCIpLHY9cC51cmwsbD13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wuaW5kZXhPZigiaHR0cCIpPj0wLGwmJiF0aGlzLm9wdGlvbnMudXNlSHR0cCYmKHY9di5yZXBsYWNlKC9odHRwcz86XC9cLy8sIi8vIikpLGQ9dGhpcy5fbWFrZVRlbXBsYXRlKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSx7bW9kZWw6aCxpZDpoLmlkLGxpbms6aC5saW5rLHR5cGU6aC50eXBlLGltYWdlOnYsd2lkdGg6RSxoZWlnaHQ6eSxvcmllbnRhdGlvbjpiLGNhcHRpb246dGhpcy5fZ2V0T2JqZWN0UHJvcGVydHkoaCwiY2FwdGlvbi50ZXh0IiksbGlrZXM6aC5saWtlcy5jb3VudCxjb21tZW50czpoLmNvbW1lbnRzLmNvdW50LGxvY2F0aW9uOnRoaXMuX2dldE9iamVjdFByb3BlcnR5KGgsImxvY2F0aW9uLm5hbWUiKX0pLGYrPWR9RC5pbm5lckhUTUw9ZixpPVtdLHI9MCxuPUQuY2hpbGROb2Rlcy5sZW5ndGg7d2hpbGUocjxuKWkucHVzaChELmNoaWxkTm9kZXNbcl0pLHIrPTE7Zm9yKHg9MCxDPWkubGVuZ3RoO3g8Qzt4KyspTD1pW3hdLHUuYXBwZW5kQ2hpbGQoTCl9ZWxzZSBmb3IoVD0wLGs9bS5sZW5ndGg7VDxrO1QrKyl7aD1tW1RdLGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikscD1oLmltYWdlc1t0aGlzLm9wdGlvbnMucmVzb2x1dGlvbl07aWYodHlwZW9mIHAhPSJvYmplY3QiKXRocm93IG89Ik5vIGltYWdlIGZvdW5kIGZvciByZXNvbHV0aW9uOiAiK3RoaXMub3B0aW9ucy5yZXNvbHV0aW9uKyIuIixuZXcgRXJyb3Iobyk7dj1wLnVybCxsPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbC5pbmRleE9mKCJodHRwIik+PTAsbCYmIXRoaXMub3B0aW9ucy51c2VIdHRwJiYodj12LnJlcGxhY2UoL2h0dHBzPzpcL1wvLywiLy8iKSksZy5zcmM9dix0aGlzLm9wdGlvbnMubGlua3M9PT0hMD8odD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdC5ocmVmPWgubGluayx0LmFwcGVuZENoaWxkKGcpLHUuYXBwZW5kQ2hpbGQodCkpOnUuYXBwZW5kQ2hpbGQoZyl9Xz10aGlzLm9wdGlvbnMudGFyZ2V0LHR5cGVvZiBfPT0ic3RyaW5nIiYmKF89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXykpO2lmKF89PW51bGwpdGhyb3cgbz0nTm8gZWxlbWVudCB3aXRoIGlkPSInK3RoaXMub3B0aW9ucy50YXJnZXQrJyIgb24gcGFnZS4nLG5ldyBFcnJvcihvKTtfLmFwcGVuZENoaWxkKHUpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSxhLnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnN0YWZlZWQtZmV0Y2hlciIpKSxTPSJpbnN0YWZlZWRDYWNoZSIrdGhpcy51bmlxdWUsd2luZG93W1NdPXZvaWQgMDt0cnl7ZGVsZXRlIHdpbmRvd1tTXX1jYXRjaChQKXtzPVB9fXJldHVybiB0aGlzLm9wdGlvbnMuYWZ0ZXIhPW51bGwmJnR5cGVvZiB0aGlzLm9wdGlvbnMuYWZ0ZXI9PSJmdW5jdGlvbiImJnRoaXMub3B0aW9ucy5hZnRlci5jYWxsKHRoaXMpLCEwfSxlLnByb3RvdHlwZS5fYnVpbGRVcmw9ZnVuY3Rpb24oKXt2YXIgZSx0LG47ZT0iaHR0cHM6Ly9hcGkuaW5zdGFncmFtLmNvbS92MSI7c3dpdGNoKHRoaXMub3B0aW9ucy5nZXQpe2Nhc2UicG9wdWxhciI6dD0ibWVkaWEvcG9wdWxhciI7YnJlYWs7Y2FzZSJ0YWdnZWQiOmlmKCF0aGlzLm9wdGlvbnMudGFnTmFtZSl0aHJvdyBuZXcgRXJyb3IoIk5vIHRhZyBuYW1lIHNwZWNpZmllZC4gVXNlIHRoZSAndGFnTmFtZScgb3B0aW9uLiIpO3Q9InRhZ3MvIit0aGlzLm9wdGlvbnMudGFnTmFtZSsiL21lZGlhL3JlY2VudCI7YnJlYWs7Y2FzZSJsb2NhdGlvbiI6aWYoIXRoaXMub3B0aW9ucy5sb2NhdGlvbklkKXRocm93IG5ldyBFcnJvcigiTm8gbG9jYXRpb24gc3BlY2lmaWVkLiBVc2UgdGhlICdsb2NhdGlvbklkJyBvcHRpb24uIik7dD0ibG9jYXRpb25zLyIrdGhpcy5vcHRpb25zLmxvY2F0aW9uSWQrIi9tZWRpYS9yZWNlbnQiO2JyZWFrO2Nhc2UidXNlciI6aWYoIXRoaXMub3B0aW9ucy51c2VySWQpdGhyb3cgbmV3IEVycm9yKCJObyB1c2VyIHNwZWNpZmllZC4gVXNlIHRoZSAndXNlcklkJyBvcHRpb24uIik7dD0idXNlcnMvIit0aGlzLm9wdGlvbnMudXNlcklkKyIvbWVkaWEvcmVjZW50IjticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxpZCBvcHRpb24gZm9yIGdldDogJyIrdGhpcy5vcHRpb25zLmdldCsiJy4iKX1yZXR1cm4gbj1lKyIvIit0LHRoaXMub3B0aW9ucy5hY2Nlc3NUb2tlbiE9bnVsbD9uKz0iP2FjY2Vzc190b2tlbj0iK3RoaXMub3B0aW9ucy5hY2Nlc3NUb2tlbjpuKz0iP2NsaWVudF9pZD0iK3RoaXMub3B0aW9ucy5jbGllbnRJZCx0aGlzLm9wdGlvbnMubGltaXQhPW51bGwmJihuKz0iJmNvdW50PSIrdGhpcy5vcHRpb25zLmxpbWl0KSxuKz0iJmNhbGxiYWNrPWluc3RhZmVlZENhY2hlIit0aGlzLnVuaXF1ZSsiLnBhcnNlIixufSxlLnByb3RvdHlwZS5fZ2VuS2V5PWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIGU9ZnVuY3Rpb24oKXtyZXR1cm4oKDErTWF0aC5yYW5kb20oKSkqNjU1MzZ8MCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKX0sIiIrZSgpK2UoKStlKCkrZSgpfSxlLnByb3RvdHlwZS5fbWFrZVRlbXBsYXRlPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLHMsbztyPS8oPzpce3syfSkoW1x3XFtcXVwuXSspKD86XH17Mn0pLyxuPWU7d2hpbGUoci50ZXN0KG4pKXM9bi5tYXRjaChyKVsxXSxvPShpPXRoaXMuX2dldE9iamVjdFByb3BlcnR5KHQscykpIT1udWxsP2k6IiIsbj1uLnJlcGxhY2UocixmdW5jdGlvbigpe3JldHVybiIiK299KTtyZXR1cm4gbn0sZS5wcm90b3R5cGUuX2dldE9iamVjdFByb3BlcnR5PWZ1bmN0aW9uKGUsdCl7dmFyIG4scjt0PXQucmVwbGFjZSgvXFsoXHcrKVxdL2csIi4kMSIpLHI9dC5zcGxpdCgiLiIpO3doaWxlKHIubGVuZ3RoKXtuPXIuc2hpZnQoKTtpZighKGUhPW51bGwmJm4gaW4gZSkpcmV0dXJuIG51bGw7ZT1lW25dfXJldHVybiBlfSxlLnByb3RvdHlwZS5fc29ydEJ5PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4gcj1mdW5jdGlvbihlLHIpe3ZhciBpLHM7cmV0dXJuIGk9dGhpcy5fZ2V0T2JqZWN0UHJvcGVydHkoZSx0KSxzPXRoaXMuX2dldE9iamVjdFByb3BlcnR5KHIsdCksbj9pPnM/MTotMTppPHM/MTotMX0sZS5zb3J0KHIuYmluZCh0aGlzKSksZX0sZS5wcm90b3R5cGUuX2ZpbHRlcj1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxzLG87bj1bXSxyPWZ1bmN0aW9uKGUpe2lmKHQoZSkpcmV0dXJuIG4ucHVzaChlKX07Zm9yKGk9MCxvPWUubGVuZ3RoO2k8bztpKyspcz1lW2ldLHIocyk7cmV0dXJuIG59LGV9KCksZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6dHlwZW9mIG1vZHVsZT09Im9iamVjdCImJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPXQoKTplLkluc3RhZmVlZD10KCl9KHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZX0pfSkuY2FsbCh0aGlzKTsNCg0KDQoNCi8qDQogKiAgalF1ZXJ5IFZhbGlkYXRpb24NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyohIGpRdWVyeSBWYWxpZGF0aW9uIFBsdWdpbiAtIHYxLjE0LjAgLSA2LzMwLzIwMTUNCiAqIGh0dHA6Ly9qcXVlcnl2YWxpZGF0aW9uLm9yZy8NCiAqIENvcHlyaWdodCAoYykgMjAxNSBKw7ZybiBaYWVmZmVyZXI7IExpY2Vuc2VkIE1JVCAqLw0KIWZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YShqUXVlcnkpfShmdW5jdGlvbihhKXthLmV4dGVuZChhLmZuLHt2YWxpZGF0ZTpmdW5jdGlvbihiKXtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHZvaWQoYiYmYi5kZWJ1ZyYmd2luZG93LmNvbnNvbGUmJmNvbnNvbGUud2FybigiTm90aGluZyBzZWxlY3RlZCwgY2FuJ3QgdmFsaWRhdGUsIHJldHVybmluZyBub3RoaW5nLiIpKTt2YXIgYz1hLmRhdGEodGhpc1swXSwidmFsaWRhdG9yIik7cmV0dXJuIGM/YzoodGhpcy5hdHRyKCJub3ZhbGlkYXRlIiwibm92YWxpZGF0ZSIpLGM9bmV3IGEudmFsaWRhdG9yKGIsdGhpc1swXSksYS5kYXRhKHRoaXNbMF0sInZhbGlkYXRvciIsYyksYy5zZXR0aW5ncy5vbnN1Ym1pdCYmKHRoaXMub24oImNsaWNrLnZhbGlkYXRlIiwiOnN1Ym1pdCIsZnVuY3Rpb24oYil7Yy5zZXR0aW5ncy5zdWJtaXRIYW5kbGVyJiYoYy5zdWJtaXRCdXR0b249Yi50YXJnZXQpLGEodGhpcykuaGFzQ2xhc3MoImNhbmNlbCIpJiYoYy5jYW5jZWxTdWJtaXQ9ITApLHZvaWQgMCE9PWEodGhpcykuYXR0cigiZm9ybW5vdmFsaWRhdGUiKSYmKGMuY2FuY2VsU3VibWl0PSEwKX0pLHRoaXMub24oInN1Ym1pdC52YWxpZGF0ZSIsZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpe3ZhciBkLGU7cmV0dXJuIGMuc2V0dGluZ3Muc3VibWl0SGFuZGxlcj8oYy5zdWJtaXRCdXR0b24mJihkPWEoIjxpbnB1dCB0eXBlPSdoaWRkZW4nLz4iKS5hdHRyKCJuYW1lIixjLnN1Ym1pdEJ1dHRvbi5uYW1lKS52YWwoYShjLnN1Ym1pdEJ1dHRvbikudmFsKCkpLmFwcGVuZFRvKGMuY3VycmVudEZvcm0pKSxlPWMuc2V0dGluZ3Muc3VibWl0SGFuZGxlci5jYWxsKGMsYy5jdXJyZW50Rm9ybSxiKSxjLnN1Ym1pdEJ1dHRvbiYmZC5yZW1vdmUoKSx2b2lkIDAhPT1lP2U6ITEpOiEwfXJldHVybiBjLnNldHRpbmdzLmRlYnVnJiZiLnByZXZlbnREZWZhdWx0KCksYy5jYW5jZWxTdWJtaXQ/KGMuY2FuY2VsU3VibWl0PSExLGQoKSk6Yy5mb3JtKCk/Yy5wZW5kaW5nUmVxdWVzdD8oYy5mb3JtU3VibWl0dGVkPSEwLCExKTpkKCk6KGMuZm9jdXNJbnZhbGlkKCksITEpfSkpLGMpfSx2YWxpZDpmdW5jdGlvbigpe3ZhciBiLGMsZDtyZXR1cm4gYSh0aGlzWzBdKS5pcygiZm9ybSIpP2I9dGhpcy52YWxpZGF0ZSgpLmZvcm0oKTooZD1bXSxiPSEwLGM9YSh0aGlzWzBdLmZvcm0pLnZhbGlkYXRlKCksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yj1jLmVsZW1lbnQodGhpcykmJmIsZD1kLmNvbmNhdChjLmVycm9yTGlzdCl9KSxjLmVycm9yTGlzdD1kKSxifSxydWxlczpmdW5jdGlvbihiLGMpe3ZhciBkLGUsZixnLGgsaSxqPXRoaXNbMF07aWYoYilzd2l0Y2goZD1hLmRhdGEoai5mb3JtLCJ2YWxpZGF0b3IiKS5zZXR0aW5ncyxlPWQucnVsZXMsZj1hLnZhbGlkYXRvci5zdGF0aWNSdWxlcyhqKSxiKXtjYXNlImFkZCI6YS5leHRlbmQoZixhLnZhbGlkYXRvci5ub3JtYWxpemVSdWxlKGMpKSxkZWxldGUgZi5tZXNzYWdlcyxlW2oubmFtZV09ZixjLm1lc3NhZ2VzJiYoZC5tZXNzYWdlc1tqLm5hbWVdPWEuZXh0ZW5kKGQubWVzc2FnZXNbai5uYW1lXSxjLm1lc3NhZ2VzKSk7YnJlYWs7Y2FzZSJyZW1vdmUiOnJldHVybiBjPyhpPXt9LGEuZWFjaChjLnNwbGl0KC9ccy8pLGZ1bmN0aW9uKGIsYyl7aVtjXT1mW2NdLGRlbGV0ZSBmW2NdLCJyZXF1aXJlZCI9PT1jJiZhKGopLnJlbW92ZUF0dHIoImFyaWEtcmVxdWlyZWQiKX0pLGkpOihkZWxldGUgZVtqLm5hbWVdLGYpfXJldHVybiBnPWEudmFsaWRhdG9yLm5vcm1hbGl6ZVJ1bGVzKGEuZXh0ZW5kKHt9LGEudmFsaWRhdG9yLmNsYXNzUnVsZXMoaiksYS52YWxpZGF0b3IuYXR0cmlidXRlUnVsZXMoaiksYS52YWxpZGF0b3IuZGF0YVJ1bGVzKGopLGEudmFsaWRhdG9yLnN0YXRpY1J1bGVzKGopKSxqKSxnLnJlcXVpcmVkJiYoaD1nLnJlcXVpcmVkLGRlbGV0ZSBnLnJlcXVpcmVkLGc9YS5leHRlbmQoe3JlcXVpcmVkOmh9LGcpLGEoaikuYXR0cigiYXJpYS1yZXF1aXJlZCIsInRydWUiKSksZy5yZW1vdGUmJihoPWcucmVtb3RlLGRlbGV0ZSBnLnJlbW90ZSxnPWEuZXh0ZW5kKGcse3JlbW90ZTpofSkpLGd9fSksYS5leHRlbmQoYS5leHByWyI6Il0se2JsYW5rOmZ1bmN0aW9uKGIpe3JldHVybiFhLnRyaW0oIiIrYShiKS52YWwoKSl9LGZpbGxlZDpmdW5jdGlvbihiKXtyZXR1cm4hIWEudHJpbSgiIithKGIpLnZhbCgpKX0sdW5jaGVja2VkOmZ1bmN0aW9uKGIpe3JldHVybiFhKGIpLnByb3AoImNoZWNrZWQiKX19KSxhLnZhbGlkYXRvcj1mdW5jdGlvbihiLGMpe3RoaXMuc2V0dGluZ3M9YS5leHRlbmQoITAse30sYS52YWxpZGF0b3IuZGVmYXVsdHMsYiksdGhpcy5jdXJyZW50Rm9ybT1jLHRoaXMuaW5pdCgpfSxhLnZhbGlkYXRvci5mb3JtYXQ9ZnVuY3Rpb24oYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/ZnVuY3Rpb24oKXt2YXIgYz1hLm1ha2VBcnJheShhcmd1bWVudHMpO3JldHVybiBjLnVuc2hpZnQoYiksYS52YWxpZGF0b3IuZm9ybWF0LmFwcGx5KHRoaXMsYyl9Oihhcmd1bWVudHMubGVuZ3RoPjImJmMuY29uc3RydWN0b3IhPT1BcnJheSYmKGM9YS5tYWtlQXJyYXkoYXJndW1lbnRzKS5zbGljZSgxKSksYy5jb25zdHJ1Y3RvciE9PUFycmF5JiYoYz1bY10pLGEuZWFjaChjLGZ1bmN0aW9uKGEsYyl7Yj1iLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFx7IithKyJcXH0iLCJnIiksZnVuY3Rpb24oKXtyZXR1cm4gY30pfSksYil9LGEuZXh0ZW5kKGEudmFsaWRhdG9yLHtkZWZhdWx0czp7bWVzc2FnZXM6e30sZ3JvdXBzOnt9LHJ1bGVzOnt9LGVycm9yQ2xhc3M6ImVycm9yIix2YWxpZENsYXNzOiJ2YWxpZCIsZXJyb3JFbGVtZW50OiJsYWJlbCIsZm9jdXNDbGVhbnVwOiExLGZvY3VzSW52YWxpZDohMCxlcnJvckNvbnRhaW5lcjphKFtdKSxlcnJvckxhYmVsQ29udGFpbmVyOmEoW10pLG9uc3VibWl0OiEwLGlnbm9yZToiOmhpZGRlbiIsaWdub3JlVGl0bGU6ITEsb25mb2N1c2luOmZ1bmN0aW9uKGEpe3RoaXMubGFzdEFjdGl2ZT1hLHRoaXMuc2V0dGluZ3MuZm9jdXNDbGVhbnVwJiYodGhpcy5zZXR0aW5ncy51bmhpZ2hsaWdodCYmdGhpcy5zZXR0aW5ncy51bmhpZ2hsaWdodC5jYWxsKHRoaXMsYSx0aGlzLnNldHRpbmdzLmVycm9yQ2xhc3MsdGhpcy5zZXR0aW5ncy52YWxpZENsYXNzKSx0aGlzLmhpZGVUaGVzZSh0aGlzLmVycm9yc0ZvcihhKSkpfSxvbmZvY3Vzb3V0OmZ1bmN0aW9uKGEpe3RoaXMuY2hlY2thYmxlKGEpfHwhKGEubmFtZSBpbiB0aGlzLnN1Ym1pdHRlZCkmJnRoaXMub3B0aW9uYWwoYSl8fHRoaXMuZWxlbWVudChhKX0sb25rZXl1cDpmdW5jdGlvbihiLGMpe3ZhciBkPVsxNiwxNywxOCwyMCwzNSwzNiwzNywzOCwzOSw0MCw0NSwxNDQsMjI1XTs5PT09Yy53aGljaCYmIiI9PT10aGlzLmVsZW1lbnRWYWx1ZShiKXx8LTEhPT1hLmluQXJyYXkoYy5rZXlDb2RlLGQpfHwoYi5uYW1lIGluIHRoaXMuc3VibWl0dGVkfHxiPT09dGhpcy5sYXN0RWxlbWVudCkmJnRoaXMuZWxlbWVudChiKX0sb25jbGljazpmdW5jdGlvbihhKXthLm5hbWUgaW4gdGhpcy5zdWJtaXR0ZWQ/dGhpcy5lbGVtZW50KGEpOmEucGFyZW50Tm9kZS5uYW1lIGluIHRoaXMuc3VibWl0dGVkJiZ0aGlzLmVsZW1lbnQoYS5wYXJlbnROb2RlKX0saGlnaGxpZ2h0OmZ1bmN0aW9uKGIsYyxkKXsicmFkaW8iPT09Yi50eXBlP3RoaXMuZmluZEJ5TmFtZShiLm5hbWUpLmFkZENsYXNzKGMpLnJlbW92ZUNsYXNzKGQpOmEoYikuYWRkQ2xhc3MoYykucmVtb3ZlQ2xhc3MoZCl9LHVuaGlnaGxpZ2h0OmZ1bmN0aW9uKGIsYyxkKXsicmFkaW8iPT09Yi50eXBlP3RoaXMuZmluZEJ5TmFtZShiLm5hbWUpLnJlbW92ZUNsYXNzKGMpLmFkZENsYXNzKGQpOmEoYikucmVtb3ZlQ2xhc3MoYykuYWRkQ2xhc3MoZCl9fSxzZXREZWZhdWx0czpmdW5jdGlvbihiKXthLmV4dGVuZChhLnZhbGlkYXRvci5kZWZhdWx0cyxiKX0sbWVzc2FnZXM6e3JlcXVpcmVkOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIscmVtb3RlOiJQbGVhc2UgZml4IHRoaXMgZmllbGQuIixlbWFpbDoiUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcy4iLHVybDoiUGxlYXNlIGVudGVyIGEgdmFsaWQgVVJMLiIsZGF0ZToiUGxlYXNlIGVudGVyIGEgdmFsaWQgZGF0ZS4iLGRhdGVJU086IlBsZWFzZSBlbnRlciBhIHZhbGlkIGRhdGUgKCBJU08gKS4iLG51bWJlcjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgbnVtYmVyLiIsZGlnaXRzOiJQbGVhc2UgZW50ZXIgb25seSBkaWdpdHMuIixjcmVkaXRjYXJkOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBjcmVkaXQgY2FyZCBudW1iZXIuIixlcXVhbFRvOiJQbGVhc2UgZW50ZXIgdGhlIHNhbWUgdmFsdWUgYWdhaW4uIixtYXhsZW5ndGg6YS52YWxpZGF0b3IuZm9ybWF0KCJQbGVhc2UgZW50ZXIgbm8gbW9yZSB0aGFuIHswfSBjaGFyYWN0ZXJzLiIpLG1pbmxlbmd0aDphLnZhbGlkYXRvci5mb3JtYXQoIlBsZWFzZSBlbnRlciBhdCBsZWFzdCB7MH0gY2hhcmFjdGVycy4iKSxyYW5nZWxlbmd0aDphLnZhbGlkYXRvci5mb3JtYXQoIlBsZWFzZSBlbnRlciBhIHZhbHVlIGJldHdlZW4gezB9IGFuZCB7MX0gY2hhcmFjdGVycyBsb25nLiIpLHJhbmdlOmEudmFsaWRhdG9yLmZvcm1hdCgiUGxlYXNlIGVudGVyIGEgdmFsdWUgYmV0d2VlbiB7MH0gYW5kIHsxfS4iKSxtYXg6YS52YWxpZGF0b3IuZm9ybWF0KCJQbGVhc2UgZW50ZXIgYSB2YWx1ZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gezB9LiIpLG1pbjphLnZhbGlkYXRvci5mb3JtYXQoIlBsZWFzZSBlbnRlciBhIHZhbHVlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB7MH0uIil9LGF1dG9DcmVhdGVSYW5nZXM6ITEscHJvdG90eXBlOntpbml0OmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihiKXt2YXIgYz1hLmRhdGEodGhpcy5mb3JtLCJ2YWxpZGF0b3IiKSxkPSJvbiIrYi50eXBlLnJlcGxhY2UoL152YWxpZGF0ZS8sIiIpLGU9Yy5zZXR0aW5ncztlW2RdJiYhYSh0aGlzKS5pcyhlLmlnbm9yZSkmJmVbZF0uY2FsbChjLHRoaXMsYil9dGhpcy5sYWJlbENvbnRhaW5lcj1hKHRoaXMuc2V0dGluZ3MuZXJyb3JMYWJlbENvbnRhaW5lciksdGhpcy5lcnJvckNvbnRleHQ9dGhpcy5sYWJlbENvbnRhaW5lci5sZW5ndGgmJnRoaXMubGFiZWxDb250YWluZXJ8fGEodGhpcy5jdXJyZW50Rm9ybSksdGhpcy5jb250YWluZXJzPWEodGhpcy5zZXR0aW5ncy5lcnJvckNvbnRhaW5lcikuYWRkKHRoaXMuc2V0dGluZ3MuZXJyb3JMYWJlbENvbnRhaW5lciksdGhpcy5zdWJtaXR0ZWQ9e30sdGhpcy52YWx1ZUNhY2hlPXt9LHRoaXMucGVuZGluZ1JlcXVlc3Q9MCx0aGlzLnBlbmRpbmc9e30sdGhpcy5pbnZhbGlkPXt9LHRoaXMucmVzZXQoKTt2YXIgYyxkPXRoaXMuZ3JvdXBzPXt9O2EuZWFjaCh0aGlzLnNldHRpbmdzLmdyb3VwcyxmdW5jdGlvbihiLGMpeyJzdHJpbmciPT10eXBlb2YgYyYmKGM9Yy5zcGxpdCgvXHMvKSksYS5lYWNoKGMsZnVuY3Rpb24oYSxjKXtkW2NdPWJ9KX0pLGM9dGhpcy5zZXR0aW5ncy5ydWxlcyxhLmVhY2goYyxmdW5jdGlvbihiLGQpe2NbYl09YS52YWxpZGF0b3Iubm9ybWFsaXplUnVsZShkKX0pLGEodGhpcy5jdXJyZW50Rm9ybSkub24oImZvY3VzaW4udmFsaWRhdGUgZm9jdXNvdXQudmFsaWRhdGUga2V5dXAudmFsaWRhdGUiLCI6dGV4dCwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdmaWxlJ10sIHNlbGVjdCwgdGV4dGFyZWEsIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdyYW5nZSddLCBbdHlwZT0nY29sb3InXSwgW3R5cGU9J3JhZGlvJ10sIFt0eXBlPSdjaGVja2JveCddIixiKS5vbigiY2xpY2sudmFsaWRhdGUiLCJzZWxlY3QsIG9wdGlvbiwgW3R5cGU9J3JhZGlvJ10sIFt0eXBlPSdjaGVja2JveCddIixiKSx0aGlzLnNldHRpbmdzLmludmFsaWRIYW5kbGVyJiZhKHRoaXMuY3VycmVudEZvcm0pLm9uKCJpbnZhbGlkLWZvcm0udmFsaWRhdGUiLHRoaXMuc2V0dGluZ3MuaW52YWxpZEhhbmRsZXIpLGEodGhpcy5jdXJyZW50Rm9ybSkuZmluZCgiW3JlcXVpcmVkXSwgW2RhdGEtcnVsZS1yZXF1aXJlZF0sIC5yZXF1aXJlZCIpLmF0dHIoImFyaWEtcmVxdWlyZWQiLCJ0cnVlIil9LGZvcm06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGVja0Zvcm0oKSxhLmV4dGVuZCh0aGlzLnN1Ym1pdHRlZCx0aGlzLmVycm9yTWFwKSx0aGlzLmludmFsaWQ9YS5leHRlbmQoe30sdGhpcy5lcnJvck1hcCksdGhpcy52YWxpZCgpfHxhKHRoaXMuY3VycmVudEZvcm0pLnRyaWdnZXJIYW5kbGVyKCJpbnZhbGlkLWZvcm0iLFt0aGlzXSksdGhpcy5zaG93RXJyb3JzKCksdGhpcy52YWxpZCgpfSxjaGVja0Zvcm06ZnVuY3Rpb24oKXt0aGlzLnByZXBhcmVGb3JtKCk7Zm9yKHZhciBhPTAsYj10aGlzLmN1cnJlbnRFbGVtZW50cz10aGlzLmVsZW1lbnRzKCk7YlthXTthKyspdGhpcy5jaGVjayhiW2FdKTtyZXR1cm4gdGhpcy52YWxpZCgpfSxlbGVtZW50OmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuY2xlYW4oYiksZD10aGlzLnZhbGlkYXRpb25UYXJnZXRGb3IoYyksZT0hMDtyZXR1cm4gdGhpcy5sYXN0RWxlbWVudD1kLHZvaWQgMD09PWQ/ZGVsZXRlIHRoaXMuaW52YWxpZFtjLm5hbWVdOih0aGlzLnByZXBhcmVFbGVtZW50KGQpLHRoaXMuY3VycmVudEVsZW1lbnRzPWEoZCksZT10aGlzLmNoZWNrKGQpIT09ITEsZT9kZWxldGUgdGhpcy5pbnZhbGlkW2QubmFtZV06dGhpcy5pbnZhbGlkW2QubmFtZV09ITApLGEoYikuYXR0cigiYXJpYS1pbnZhbGlkIiwhZSksdGhpcy5udW1iZXJPZkludmFsaWRzKCl8fCh0aGlzLnRvSGlkZT10aGlzLnRvSGlkZS5hZGQodGhpcy5jb250YWluZXJzKSksdGhpcy5zaG93RXJyb3JzKCksZX0sc2hvd0Vycm9yczpmdW5jdGlvbihiKXtpZihiKXthLmV4dGVuZCh0aGlzLmVycm9yTWFwLGIpLHRoaXMuZXJyb3JMaXN0PVtdO2Zvcih2YXIgYyBpbiBiKXRoaXMuZXJyb3JMaXN0LnB1c2goe21lc3NhZ2U6YltjXSxlbGVtZW50OnRoaXMuZmluZEJ5TmFtZShjKVswXX0pO3RoaXMuc3VjY2Vzc0xpc3Q9YS5ncmVwKHRoaXMuc3VjY2Vzc0xpc3QsZnVuY3Rpb24oYSl7cmV0dXJuIShhLm5hbWUgaW4gYil9KX10aGlzLnNldHRpbmdzLnNob3dFcnJvcnM/dGhpcy5zZXR0aW5ncy5zaG93RXJyb3JzLmNhbGwodGhpcyx0aGlzLmVycm9yTWFwLHRoaXMuZXJyb3JMaXN0KTp0aGlzLmRlZmF1bHRTaG93RXJyb3JzKCl9LHJlc2V0Rm9ybTpmdW5jdGlvbigpe2EuZm4ucmVzZXRGb3JtJiZhKHRoaXMuY3VycmVudEZvcm0pLnJlc2V0Rm9ybSgpLHRoaXMuc3VibWl0dGVkPXt9LHRoaXMubGFzdEVsZW1lbnQ9bnVsbCx0aGlzLnByZXBhcmVGb3JtKCksdGhpcy5oaWRlRXJyb3JzKCk7dmFyIGIsYz10aGlzLmVsZW1lbnRzKCkucmVtb3ZlRGF0YSgicHJldmlvdXNWYWx1ZSIpLnJlbW92ZUF0dHIoImFyaWEtaW52YWxpZCIpO2lmKHRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQpZm9yKGI9MDtjW2JdO2IrKyl0aGlzLnNldHRpbmdzLnVuaGlnaGxpZ2h0LmNhbGwodGhpcyxjW2JdLHRoaXMuc2V0dGluZ3MuZXJyb3JDbGFzcywiIik7ZWxzZSBjLnJlbW92ZUNsYXNzKHRoaXMuc2V0dGluZ3MuZXJyb3JDbGFzcyl9LG51bWJlck9mSW52YWxpZHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYmplY3RMZW5ndGgodGhpcy5pbnZhbGlkKX0sb2JqZWN0TGVuZ3RoOmZ1bmN0aW9uKGEpe3ZhciBiLGM9MDtmb3IoYiBpbiBhKWMrKztyZXR1cm4gY30saGlkZUVycm9yczpmdW5jdGlvbigpe3RoaXMuaGlkZVRoZXNlKHRoaXMudG9IaWRlKX0saGlkZVRoZXNlOmZ1bmN0aW9uKGEpe2Eubm90KHRoaXMuY29udGFpbmVycykudGV4dCgiIiksdGhpcy5hZGRXcmFwcGVyKGEpLmhpZGUoKX0sdmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuc2l6ZSgpfSxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXJyb3JMaXN0Lmxlbmd0aH0sZm9jdXNJbnZhbGlkOmZ1bmN0aW9uKCl7aWYodGhpcy5zZXR0aW5ncy5mb2N1c0ludmFsaWQpdHJ5e2EodGhpcy5maW5kTGFzdEFjdGl2ZSgpfHx0aGlzLmVycm9yTGlzdC5sZW5ndGgmJnRoaXMuZXJyb3JMaXN0WzBdLmVsZW1lbnR8fFtdKS5maWx0ZXIoIjp2aXNpYmxlIikuZm9jdXMoKS50cmlnZ2VyKCJmb2N1c2luIil9Y2F0Y2goYil7fX0sZmluZExhc3RBY3RpdmU6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmxhc3RBY3RpdmU7cmV0dXJuIGImJjE9PT1hLmdyZXAodGhpcy5lcnJvckxpc3QsZnVuY3Rpb24oYSl7cmV0dXJuIGEuZWxlbWVudC5uYW1lPT09Yi5uYW1lfSkubGVuZ3RoJiZifSxlbGVtZW50czpmdW5jdGlvbigpe3ZhciBiPXRoaXMsYz17fTtyZXR1cm4gYSh0aGlzLmN1cnJlbnRGb3JtKS5maW5kKCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSIpLm5vdCgiOnN1Ym1pdCwgOnJlc2V0LCA6aW1hZ2UsIDpkaXNhYmxlZCIpLm5vdCh0aGlzLnNldHRpbmdzLmlnbm9yZSkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMubmFtZSYmYi5zZXR0aW5ncy5kZWJ1ZyYmd2luZG93LmNvbnNvbGUmJmNvbnNvbGUuZXJyb3IoIiVvIGhhcyBubyBuYW1lIGFzc2lnbmVkIix0aGlzKSx0aGlzLm5hbWUgaW4gY3x8IWIub2JqZWN0TGVuZ3RoKGEodGhpcykucnVsZXMoKSk/ITE6KGNbdGhpcy5uYW1lXT0hMCwhMCl9KX0sY2xlYW46ZnVuY3Rpb24oYil7cmV0dXJuIGEoYilbMF19LGVycm9yczpmdW5jdGlvbigpe3ZhciBiPXRoaXMuc2V0dGluZ3MuZXJyb3JDbGFzcy5zcGxpdCgiICIpLmpvaW4oIi4iKTtyZXR1cm4gYSh0aGlzLnNldHRpbmdzLmVycm9yRWxlbWVudCsiLiIrYix0aGlzLmVycm9yQ29udGV4dCl9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5zdWNjZXNzTGlzdD1bXSx0aGlzLmVycm9yTGlzdD1bXSx0aGlzLmVycm9yTWFwPXt9LHRoaXMudG9TaG93PWEoW10pLHRoaXMudG9IaWRlPWEoW10pLHRoaXMuY3VycmVudEVsZW1lbnRzPWEoW10pfSxwcmVwYXJlRm9ybTpmdW5jdGlvbigpe3RoaXMucmVzZXQoKSx0aGlzLnRvSGlkZT10aGlzLmVycm9ycygpLmFkZCh0aGlzLmNvbnRhaW5lcnMpfSxwcmVwYXJlRWxlbWVudDpmdW5jdGlvbihhKXt0aGlzLnJlc2V0KCksdGhpcy50b0hpZGU9dGhpcy5lcnJvcnNGb3IoYSl9LGVsZW1lbnRWYWx1ZTpmdW5jdGlvbihiKXt2YXIgYyxkPWEoYiksZT1iLnR5cGU7cmV0dXJuInJhZGlvIj09PWV8fCJjaGVja2JveCI9PT1lP3RoaXMuZmluZEJ5TmFtZShiLm5hbWUpLmZpbHRlcigiOmNoZWNrZWQiKS52YWwoKToibnVtYmVyIj09PWUmJiJ1bmRlZmluZWQiIT10eXBlb2YgYi52YWxpZGl0eT9iLnZhbGlkaXR5LmJhZElucHV0PyExOmQudmFsKCk6KGM9ZC52YWwoKSwic3RyaW5nIj09dHlwZW9mIGM/Yy5yZXBsYWNlKC9cci9nLCIiKTpjKX0sY2hlY2s6ZnVuY3Rpb24oYil7Yj10aGlzLnZhbGlkYXRpb25UYXJnZXRGb3IodGhpcy5jbGVhbihiKSk7dmFyIGMsZCxlLGY9YShiKS5ydWxlcygpLGc9YS5tYXAoZixmdW5jdGlvbihhLGIpe3JldHVybiBifSkubGVuZ3RoLGg9ITEsaT10aGlzLmVsZW1lbnRWYWx1ZShiKTtmb3IoZCBpbiBmKXtlPXttZXRob2Q6ZCxwYXJhbWV0ZXJzOmZbZF19O3RyeXtpZihjPWEudmFsaWRhdG9yLm1ldGhvZHNbZF0uY2FsbCh0aGlzLGksYixlLnBhcmFtZXRlcnMpLCJkZXBlbmRlbmN5LW1pc21hdGNoIj09PWMmJjE9PT1nKXtoPSEwO2NvbnRpbnVlfWlmKGg9ITEsInBlbmRpbmciPT09YylyZXR1cm4gdm9pZCh0aGlzLnRvSGlkZT10aGlzLnRvSGlkZS5ub3QodGhpcy5lcnJvcnNGb3IoYikpKTtpZighYylyZXR1cm4gdGhpcy5mb3JtYXRBbmRBZGQoYixlKSwhMX1jYXRjaChqKXt0aHJvdyB0aGlzLnNldHRpbmdzLmRlYnVnJiZ3aW5kb3cuY29uc29sZSYmY29uc29sZS5sb2coIkV4Y2VwdGlvbiBvY2N1cnJlZCB3aGVuIGNoZWNraW5nIGVsZW1lbnQgIitiLmlkKyIsIGNoZWNrIHRoZSAnIitlLm1ldGhvZCsiJyBtZXRob2QuIixqKSxqIGluc3RhbmNlb2YgVHlwZUVycm9yJiYoai5tZXNzYWdlKz0iLiAgRXhjZXB0aW9uIG9jY3VycmVkIHdoZW4gY2hlY2tpbmcgZWxlbWVudCAiK2IuaWQrIiwgY2hlY2sgdGhlICciK2UubWV0aG9kKyInIG1ldGhvZC4iKSxqfX1pZighaClyZXR1cm4gdGhpcy5vYmplY3RMZW5ndGgoZikmJnRoaXMuc3VjY2Vzc0xpc3QucHVzaChiKSwhMH0sY3VzdG9tRGF0YU1lc3NhZ2U6ZnVuY3Rpb24oYixjKXtyZXR1cm4gYShiKS5kYXRhKCJtc2ciK2MuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYy5zdWJzdHJpbmcoMSkudG9Mb3dlckNhc2UoKSl8fGEoYikuZGF0YSgibXNnIil9LGN1c3RvbU1lc3NhZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnNldHRpbmdzLm1lc3NhZ2VzW2FdO3JldHVybiBjJiYoYy5jb25zdHJ1Y3Rvcj09PVN0cmluZz9jOmNbYl0pfSxmaW5kRGVmaW5lZDpmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKyspaWYodm9pZCAwIT09YXJndW1lbnRzW2FdKXJldHVybiBhcmd1bWVudHNbYV07cmV0dXJuIHZvaWQgMH0sZGVmYXVsdE1lc3NhZ2U6ZnVuY3Rpb24oYixjKXtyZXR1cm4gdGhpcy5maW5kRGVmaW5lZCh0aGlzLmN1c3RvbU1lc3NhZ2UoYi5uYW1lLGMpLHRoaXMuY3VzdG9tRGF0YU1lc3NhZ2UoYixjKSwhdGhpcy5zZXR0aW5ncy5pZ25vcmVUaXRsZSYmYi50aXRsZXx8dm9pZCAwLGEudmFsaWRhdG9yLm1lc3NhZ2VzW2NdLCI8c3Ryb25nPldhcm5pbmc6IE5vIG1lc3NhZ2UgZGVmaW5lZCBmb3IgIitiLm5hbWUrIjwvc3Ryb25nPiIpfSxmb3JtYXRBbmRBZGQ6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLmRlZmF1bHRNZXNzYWdlKGIsYy5tZXRob2QpLGU9L1wkP1x7KFxkKylcfS9nOyJmdW5jdGlvbiI9PXR5cGVvZiBkP2Q9ZC5jYWxsKHRoaXMsYy5wYXJhbWV0ZXJzLGIpOmUudGVzdChkKSYmKGQ9YS52YWxpZGF0b3IuZm9ybWF0KGQucmVwbGFjZShlLCJ7JDF9IiksYy5wYXJhbWV0ZXJzKSksdGhpcy5lcnJvckxpc3QucHVzaCh7bWVzc2FnZTpkLGVsZW1lbnQ6YixtZXRob2Q6Yy5tZXRob2R9KSx0aGlzLmVycm9yTWFwW2IubmFtZV09ZCx0aGlzLnN1Ym1pdHRlZFtiLm5hbWVdPWR9LGFkZFdyYXBwZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc2V0dGluZ3Mud3JhcHBlciYmKGE9YS5hZGQoYS5wYXJlbnQodGhpcy5zZXR0aW5ncy53cmFwcGVyKSkpLGF9LGRlZmF1bHRTaG93RXJyb3JzOmZ1bmN0aW9uKCl7dmFyIGEsYixjO2ZvcihhPTA7dGhpcy5lcnJvckxpc3RbYV07YSsrKWM9dGhpcy5lcnJvckxpc3RbYV0sdGhpcy5zZXR0aW5ncy5oaWdobGlnaHQmJnRoaXMuc2V0dGluZ3MuaGlnaGxpZ2h0LmNhbGwodGhpcyxjLmVsZW1lbnQsdGhpcy5zZXR0aW5ncy5lcnJvckNsYXNzLHRoaXMuc2V0dGluZ3MudmFsaWRDbGFzcyksdGhpcy5zaG93TGFiZWwoYy5lbGVtZW50LGMubWVzc2FnZSk7aWYodGhpcy5lcnJvckxpc3QubGVuZ3RoJiYodGhpcy50b1Nob3c9dGhpcy50b1Nob3cuYWRkKHRoaXMuY29udGFpbmVycykpLHRoaXMuc2V0dGluZ3Muc3VjY2Vzcylmb3IoYT0wO3RoaXMuc3VjY2Vzc0xpc3RbYV07YSsrKXRoaXMuc2hvd0xhYmVsKHRoaXMuc3VjY2Vzc0xpc3RbYV0pO2lmKHRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQpZm9yKGE9MCxiPXRoaXMudmFsaWRFbGVtZW50cygpO2JbYV07YSsrKXRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQuY2FsbCh0aGlzLGJbYV0sdGhpcy5zZXR0aW5ncy5lcnJvckNsYXNzLHRoaXMuc2V0dGluZ3MudmFsaWRDbGFzcyk7dGhpcy50b0hpZGU9dGhpcy50b0hpZGUubm90KHRoaXMudG9TaG93KSx0aGlzLmhpZGVFcnJvcnMoKSx0aGlzLmFkZFdyYXBwZXIodGhpcy50b1Nob3cpLnNob3coKX0sdmFsaWRFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRFbGVtZW50cy5ub3QodGhpcy5pbnZhbGlkRWxlbWVudHMoKSl9LGludmFsaWRFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiBhKHRoaXMuZXJyb3JMaXN0KS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50fSl9LHNob3dMYWJlbDpmdW5jdGlvbihiLGMpe3ZhciBkLGUsZixnPXRoaXMuZXJyb3JzRm9yKGIpLGg9dGhpcy5pZE9yTmFtZShiKSxpPWEoYikuYXR0cigiYXJpYS1kZXNjcmliZWRieSIpO2cubGVuZ3RoPyhnLnJlbW92ZUNsYXNzKHRoaXMuc2V0dGluZ3MudmFsaWRDbGFzcykuYWRkQ2xhc3ModGhpcy5zZXR0aW5ncy5lcnJvckNsYXNzKSxnLmh0bWwoYykpOihnPWEoIjwiK3RoaXMuc2V0dGluZ3MuZXJyb3JFbGVtZW50KyI+IikuYXR0cigiaWQiLGgrIi1lcnJvciIpLmFkZENsYXNzKHRoaXMuc2V0dGluZ3MuZXJyb3JDbGFzcykuaHRtbChjfHwiIiksZD1nLHRoaXMuc2V0dGluZ3Mud3JhcHBlciYmKGQ9Zy5oaWRlKCkuc2hvdygpLndyYXAoIjwiK3RoaXMuc2V0dGluZ3Mud3JhcHBlcisiLz4iKS5wYXJlbnQoKSksdGhpcy5sYWJlbENvbnRhaW5lci5sZW5ndGg/dGhpcy5sYWJlbENvbnRhaW5lci5hcHBlbmQoZCk6dGhpcy5zZXR0aW5ncy5lcnJvclBsYWNlbWVudD90aGlzLnNldHRpbmdzLmVycm9yUGxhY2VtZW50KGQsYShiKSk6ZC5pbnNlcnRBZnRlcihiKSxnLmlzKCJsYWJlbCIpP2cuYXR0cigiZm9yIixoKTowPT09Zy5wYXJlbnRzKCJsYWJlbFtmb3I9JyIraCsiJ10iKS5sZW5ndGgmJihmPWcuYXR0cigiaWQiKS5yZXBsYWNlKC8oOnxcLnxcW3xcXXxcJCkvZywiXFwkMSIpLGk/aS5tYXRjaChuZXcgUmVnRXhwKCJcXGIiK2YrIlxcYiIpKXx8KGkrPSIgIitmKTppPWYsYShiKS5hdHRyKCJhcmlhLWRlc2NyaWJlZGJ5IixpKSxlPXRoaXMuZ3JvdXBzW2IubmFtZV0sZSYmYS5lYWNoKHRoaXMuZ3JvdXBzLGZ1bmN0aW9uKGIsYyl7Yz09PWUmJmEoIltuYW1lPSciK2IrIiddIix0aGlzLmN1cnJlbnRGb3JtKS5hdHRyKCJhcmlhLWRlc2NyaWJlZGJ5IixnLmF0dHIoImlkIikpfSkpKSwhYyYmdGhpcy5zZXR0aW5ncy5zdWNjZXNzJiYoZy50ZXh0KCIiKSwic3RyaW5nIj09dHlwZW9mIHRoaXMuc2V0dGluZ3Muc3VjY2Vzcz9nLmFkZENsYXNzKHRoaXMuc2V0dGluZ3Muc3VjY2Vzcyk6dGhpcy5zZXR0aW5ncy5zdWNjZXNzKGcsYikpLHRoaXMudG9TaG93PXRoaXMudG9TaG93LmFkZChnKX0sZXJyb3JzRm9yOmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuaWRPck5hbWUoYiksZD1hKGIpLmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKSxlPSJsYWJlbFtmb3I9JyIrYysiJ10sIGxhYmVsW2Zvcj0nIitjKyInXSAqIjtyZXR1cm4gZCYmKGU9ZSsiLCAjIitkLnJlcGxhY2UoL1xzKy9nLCIsICMiKSksdGhpcy5lcnJvcnMoKS5maWx0ZXIoZSl9LGlkT3JOYW1lOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmdyb3Vwc1thLm5hbWVdfHwodGhpcy5jaGVja2FibGUoYSk/YS5uYW1lOmEuaWR8fGEubmFtZSl9LHZhbGlkYXRpb25UYXJnZXRGb3I6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuY2hlY2thYmxlKGIpJiYoYj10aGlzLmZpbmRCeU5hbWUoYi5uYW1lKSksYShiKS5ub3QodGhpcy5zZXR0aW5ncy5pZ25vcmUpWzBdfSxjaGVja2FibGU6ZnVuY3Rpb24oYSl7cmV0dXJuL3JhZGlvfGNoZWNrYm94L2kudGVzdChhLnR5cGUpfSxmaW5kQnlOYW1lOmZ1bmN0aW9uKGIpe3JldHVybiBhKHRoaXMuY3VycmVudEZvcm0pLmZpbmQoIltuYW1lPSciK2IrIiddIil9LGdldExlbmd0aDpmdW5jdGlvbihiLGMpe3N3aXRjaChjLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpe2Nhc2Uic2VsZWN0IjpyZXR1cm4gYSgib3B0aW9uOnNlbGVjdGVkIixjKS5sZW5ndGg7Y2FzZSJpbnB1dCI6aWYodGhpcy5jaGVja2FibGUoYykpcmV0dXJuIHRoaXMuZmluZEJ5TmFtZShjLm5hbWUpLmZpbHRlcigiOmNoZWNrZWQiKS5sZW5ndGh9cmV0dXJuIGIubGVuZ3RofSxkZXBlbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5kZXBlbmRUeXBlc1t0eXBlb2YgYV0/dGhpcy5kZXBlbmRUeXBlc1t0eXBlb2YgYV0oYSxiKTohMH0sZGVwZW5kVHlwZXM6eyJib29sZWFuIjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3RyaW5nOmZ1bmN0aW9uKGIsYyl7cmV0dXJuISFhKGIsYy5mb3JtKS5sZW5ndGh9LCJmdW5jdGlvbiI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYShiKX19LG9wdGlvbmFsOmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuZWxlbWVudFZhbHVlKGIpO3JldHVybiFhLnZhbGlkYXRvci5tZXRob2RzLnJlcXVpcmVkLmNhbGwodGhpcyxjLGIpJiYiZGVwZW5kZW5jeS1taXNtYXRjaCJ9LHN0YXJ0UmVxdWVzdDpmdW5jdGlvbihhKXt0aGlzLnBlbmRpbmdbYS5uYW1lXXx8KHRoaXMucGVuZGluZ1JlcXVlc3QrKyx0aGlzLnBlbmRpbmdbYS5uYW1lXT0hMCl9LHN0b3BSZXF1ZXN0OmZ1bmN0aW9uKGIsYyl7dGhpcy5wZW5kaW5nUmVxdWVzdC0tLHRoaXMucGVuZGluZ1JlcXVlc3Q8MCYmKHRoaXMucGVuZGluZ1JlcXVlc3Q9MCksZGVsZXRlIHRoaXMucGVuZGluZ1tiLm5hbWVdLGMmJjA9PT10aGlzLnBlbmRpbmdSZXF1ZXN0JiZ0aGlzLmZvcm1TdWJtaXR0ZWQmJnRoaXMuZm9ybSgpPyhhKHRoaXMuY3VycmVudEZvcm0pLnN1Ym1pdCgpLHRoaXMuZm9ybVN1Ym1pdHRlZD0hMSk6IWMmJjA9PT10aGlzLnBlbmRpbmdSZXF1ZXN0JiZ0aGlzLmZvcm1TdWJtaXR0ZWQmJihhKHRoaXMuY3VycmVudEZvcm0pLnRyaWdnZXJIYW5kbGVyKCJpbnZhbGlkLWZvcm0iLFt0aGlzXSksdGhpcy5mb3JtU3VibWl0dGVkPSExKX0scHJldmlvdXNWYWx1ZTpmdW5jdGlvbihiKXtyZXR1cm4gYS5kYXRhKGIsInByZXZpb3VzVmFsdWUiKXx8YS5kYXRhKGIsInByZXZpb3VzVmFsdWUiLHtvbGQ6bnVsbCx2YWxpZDohMCxtZXNzYWdlOnRoaXMuZGVmYXVsdE1lc3NhZ2UoYiwicmVtb3RlIil9KX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMucmVzZXRGb3JtKCksYSh0aGlzLmN1cnJlbnRGb3JtKS5vZmYoIi52YWxpZGF0ZSIpLnJlbW92ZURhdGEoInZhbGlkYXRvciIpfX0sY2xhc3NSdWxlU2V0dGluZ3M6e3JlcXVpcmVkOntyZXF1aXJlZDohMH0sZW1haWw6e2VtYWlsOiEwfSx1cmw6e3VybDohMH0sZGF0ZTp7ZGF0ZTohMH0sZGF0ZUlTTzp7ZGF0ZUlTTzohMH0sbnVtYmVyOntudW1iZXI6ITB9LGRpZ2l0czp7ZGlnaXRzOiEwfSxjcmVkaXRjYXJkOntjcmVkaXRjYXJkOiEwfX0sYWRkQ2xhc3NSdWxlczpmdW5jdGlvbihiLGMpe2IuY29uc3RydWN0b3I9PT1TdHJpbmc/dGhpcy5jbGFzc1J1bGVTZXR0aW5nc1tiXT1jOmEuZXh0ZW5kKHRoaXMuY2xhc3NSdWxlU2V0dGluZ3MsYil9LGNsYXNzUnVsZXM6ZnVuY3Rpb24oYil7dmFyIGM9e30sZD1hKGIpLmF0dHIoImNsYXNzIik7cmV0dXJuIGQmJmEuZWFjaChkLnNwbGl0KCIgIiksZnVuY3Rpb24oKXt0aGlzIGluIGEudmFsaWRhdG9yLmNsYXNzUnVsZVNldHRpbmdzJiZhLmV4dGVuZChjLGEudmFsaWRhdG9yLmNsYXNzUnVsZVNldHRpbmdzW3RoaXNdKX0pLGN9LG5vcm1hbGl6ZUF0dHJpYnV0ZVJ1bGU6ZnVuY3Rpb24oYSxiLGMsZCl7L21pbnxtYXgvLnRlc3QoYykmJihudWxsPT09Ynx8L251bWJlcnxyYW5nZXx0ZXh0Ly50ZXN0KGIpKSYmKGQ9TnVtYmVyKGQpLGlzTmFOKGQpJiYoZD12b2lkIDApKSxkfHwwPT09ZD9hW2NdPWQ6Yj09PWMmJiJyYW5nZSIhPT1iJiYoYVtjXT0hMCl9LGF0dHJpYnV0ZVJ1bGVzOmZ1bmN0aW9uKGIpe3ZhciBjLGQsZT17fSxmPWEoYiksZz1iLmdldEF0dHJpYnV0ZSgidHlwZSIpO2ZvcihjIGluIGEudmFsaWRhdG9yLm1ldGhvZHMpInJlcXVpcmVkIj09PWM/KGQ9Yi5nZXRBdHRyaWJ1dGUoYyksIiI9PT1kJiYoZD0hMCksZD0hIWQpOmQ9Zi5hdHRyKGMpLHRoaXMubm9ybWFsaXplQXR0cmlidXRlUnVsZShlLGcsYyxkKTtyZXR1cm4gZS5tYXhsZW5ndGgmJi8tMXwyMTQ3NDgzNjQ3fDUyNDI4OC8udGVzdChlLm1heGxlbmd0aCkmJmRlbGV0ZSBlLm1heGxlbmd0aCxlfSxkYXRhUnVsZXM6ZnVuY3Rpb24oYil7dmFyIGMsZCxlPXt9LGY9YShiKSxnPWIuZ2V0QXR0cmlidXRlKCJ0eXBlIik7Zm9yKGMgaW4gYS52YWxpZGF0b3IubWV0aG9kcylkPWYuZGF0YSgicnVsZSIrYy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpKSx0aGlzLm5vcm1hbGl6ZUF0dHJpYnV0ZVJ1bGUoZSxnLGMsZCk7cmV0dXJuIGV9LHN0YXRpY1J1bGVzOmZ1bmN0aW9uKGIpe3ZhciBjPXt9LGQ9YS5kYXRhKGIuZm9ybSwidmFsaWRhdG9yIik7cmV0dXJuIGQuc2V0dGluZ3MucnVsZXMmJihjPWEudmFsaWRhdG9yLm5vcm1hbGl6ZVJ1bGUoZC5zZXR0aW5ncy5ydWxlc1tiLm5hbWVdKXx8e30pLGN9LG5vcm1hbGl6ZVJ1bGVzOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKGQsZSl7aWYoZT09PSExKXJldHVybiB2b2lkIGRlbGV0ZSBiW2RdO2lmKGUucGFyYW18fGUuZGVwZW5kcyl7dmFyIGY9ITA7c3dpdGNoKHR5cGVvZiBlLmRlcGVuZHMpe2Nhc2Uic3RyaW5nIjpmPSEhYShlLmRlcGVuZHMsYy5mb3JtKS5sZW5ndGg7YnJlYWs7Y2FzZSJmdW5jdGlvbiI6Zj1lLmRlcGVuZHMuY2FsbChjLGMpfWY/YltkXT12b2lkIDAhPT1lLnBhcmFtP2UucGFyYW06ITA6ZGVsZXRlIGJbZF19fSksYS5lYWNoKGIsZnVuY3Rpb24oZCxlKXtiW2RdPWEuaXNGdW5jdGlvbihlKT9lKGMpOmV9KSxhLmVhY2goWyJtaW5sZW5ndGgiLCJtYXhsZW5ndGgiXSxmdW5jdGlvbigpe2JbdGhpc10mJihiW3RoaXNdPU51bWJlcihiW3RoaXNdKSl9KSxhLmVhY2goWyJyYW5nZWxlbmd0aCIsInJhbmdlIl0sZnVuY3Rpb24oKXt2YXIgYztiW3RoaXNdJiYoYS5pc0FycmF5KGJbdGhpc10pP2JbdGhpc109W051bWJlcihiW3RoaXNdWzBdKSxOdW1iZXIoYlt0aGlzXVsxXSldOiJzdHJpbmciPT10eXBlb2YgYlt0aGlzXSYmKGM9Ylt0aGlzXS5yZXBsYWNlKC9bXFtcXV0vZywiIikuc3BsaXQoL1tccyxdKy8pLGJbdGhpc109W051bWJlcihjWzBdKSxOdW1iZXIoY1sxXSldKSl9KSxhLnZhbGlkYXRvci5hdXRvQ3JlYXRlUmFuZ2VzJiYobnVsbCE9Yi5taW4mJm51bGwhPWIubWF4JiYoYi5yYW5nZT1bYi5taW4sYi5tYXhdLGRlbGV0ZSBiLm1pbixkZWxldGUgYi5tYXgpLG51bGwhPWIubWlubGVuZ3RoJiZudWxsIT1iLm1heGxlbmd0aCYmKGIucmFuZ2VsZW5ndGg9W2IubWlubGVuZ3RoLGIubWF4bGVuZ3RoXSxkZWxldGUgYi5taW5sZW5ndGgsZGVsZXRlIGIubWF4bGVuZ3RoKSksYn0sbm9ybWFsaXplUnVsZTpmdW5jdGlvbihiKXtpZigic3RyaW5nIj09dHlwZW9mIGIpe3ZhciBjPXt9O2EuZWFjaChiLnNwbGl0KC9ccy8pLGZ1bmN0aW9uKCl7Y1t0aGlzXT0hMH0pLGI9Y31yZXR1cm4gYn0sYWRkTWV0aG9kOmZ1bmN0aW9uKGIsYyxkKXthLnZhbGlkYXRvci5tZXRob2RzW2JdPWMsYS52YWxpZGF0b3IubWVzc2FnZXNbYl09dm9pZCAwIT09ZD9kOmEudmFsaWRhdG9yLm1lc3NhZ2VzW2JdLGMubGVuZ3RoPDMmJmEudmFsaWRhdG9yLmFkZENsYXNzUnVsZXMoYixhLnZhbGlkYXRvci5ub3JtYWxpemVSdWxlKGIpKX0sbWV0aG9kczp7cmVxdWlyZWQ6ZnVuY3Rpb24oYixjLGQpe2lmKCF0aGlzLmRlcGVuZChkLGMpKXJldHVybiJkZXBlbmRlbmN5LW1pc21hdGNoIjtpZigic2VsZWN0Ij09PWMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGU9YShjKS52YWwoKTtyZXR1cm4gZSYmZS5sZW5ndGg+MH1yZXR1cm4gdGhpcy5jaGVja2FibGUoYyk/dGhpcy5nZXRMZW5ndGgoYixjKT4wOmIubGVuZ3RoPjB9LGVtYWlsOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fC9eW2EtekEtWjAtOS4hIyQlJicqK1wvPT9eX2B7fH1+LV0rQFthLXpBLVowLTldKD86W2EtekEtWjAtOS1dezAsNjF9W2EtekEtWjAtOV0pPyg/OlwuW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KSokLy50ZXN0KGEpfSx1cmw6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vcHRpb25hbChiKXx8L14oPzooPzooPzpodHRwcz98ZnRwKTopP1wvXC8pKD86XFMrKD86OlxTKik/QCk/KD86KD8hKD86MTB8MTI3KSg/OlwuXGR7MSwzfSl7M30pKD8hKD86MTY5XC4yNTR8MTkyXC4xNjgpKD86XC5cZHsxLDN9KXsyfSkoPyExNzJcLig/OjFbNi05XXwyXGR8M1swLTFdKSg/OlwuXGR7MSwzfSl7Mn0pKD86WzEtOV1cZD98MVxkXGR8MlswMV1cZHwyMlswLTNdKSg/OlwuKD86MT9cZHsxLDJ9fDJbMC00XVxkfDI1WzAtNV0pKXsyfSg/OlwuKD86WzEtOV1cZD98MVxkXGR8MlswLTRdXGR8MjVbMC00XSkpfCg/Oig/OlthLXpcdTAwYTEtXHVmZmZmMC05XS0qKSpbYS16XHUwMGExLVx1ZmZmZjAtOV0rKSg/OlwuKD86W2Etelx1MDBhMS1cdWZmZmYwLTldLSopKlthLXpcdTAwYTEtXHVmZmZmMC05XSspKig/OlwuKD86W2Etelx1MDBhMS1cdWZmZmZdezIsfSkpLj8pKD86OlxkezIsNX0pPyg/OlsvPyNdXFMqKT8kL2kudGVzdChhKX0sZGF0ZTpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9wdGlvbmFsKGIpfHwhL0ludmFsaWR8TmFOLy50ZXN0KG5ldyBEYXRlKGEpLnRvU3RyaW5nKCkpfSxkYXRlSVNPOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fC9eXGR7NH1bXC9cLV0oMD9bMS05XXwxWzAxMl0pW1wvXC1dKDA/WzEtOV18WzEyXVswLTldfDNbMDFdKSQvLnRlc3QoYSl9LG51bWJlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9wdGlvbmFsKGIpfHwvXig/Oi0/XGQrfC0/XGR7MSwzfSg/OixcZHszfSkrKT8oPzpcLlxkKyk/JC8udGVzdChhKX0sZGlnaXRzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fC9eXGQrJC8udGVzdChhKX0sY3JlZGl0Y2FyZDpmdW5jdGlvbihhLGIpe2lmKHRoaXMub3B0aW9uYWwoYikpcmV0dXJuImRlcGVuZGVuY3ktbWlzbWF0Y2giO2lmKC9bXjAtOSBcLV0rLy50ZXN0KGEpKXJldHVybiExO3ZhciBjLGQsZT0wLGY9MCxnPSExO2lmKGE9YS5yZXBsYWNlKC9cRC9nLCIiKSxhLmxlbmd0aDwxM3x8YS5sZW5ndGg+MTkpcmV0dXJuITE7Zm9yKGM9YS5sZW5ndGgtMTtjPj0wO2MtLSlkPWEuY2hhckF0KGMpLGY9cGFyc2VJbnQoZCwxMCksZyYmKGYqPTIpPjkmJihmLT05KSxlKz1mLGc9IWc7cmV0dXJuIGUlMTA9PT0wfSxtaW5sZW5ndGg6ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEuaXNBcnJheShiKT9iLmxlbmd0aDp0aGlzLmdldExlbmd0aChiLGMpO3JldHVybiB0aGlzLm9wdGlvbmFsKGMpfHxlPj1kfSxtYXhsZW5ndGg6ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEuaXNBcnJheShiKT9iLmxlbmd0aDp0aGlzLmdldExlbmd0aChiLGMpO3JldHVybiB0aGlzLm9wdGlvbmFsKGMpfHxkPj1lfSxyYW5nZWxlbmd0aDpmdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5pc0FycmF5KGIpP2IubGVuZ3RoOnRoaXMuZ2V0TGVuZ3RoKGIsYyk7cmV0dXJuIHRoaXMub3B0aW9uYWwoYyl8fGU+PWRbMF0mJmU8PWRbMV19LG1pbjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fGE+PWN9LG1heDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fGM+PWF9LHJhbmdlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5vcHRpb25hbChiKXx8YT49Y1swXSYmYTw9Y1sxXX0sZXF1YWxUbzpmdW5jdGlvbihiLGMsZCl7dmFyIGU9YShkKTtyZXR1cm4gdGhpcy5zZXR0aW5ncy5vbmZvY3Vzb3V0JiZlLm9mZigiLnZhbGlkYXRlLWVxdWFsVG8iKS5vbigiYmx1ci52YWxpZGF0ZS1lcXVhbFRvIixmdW5jdGlvbigpe2EoYykudmFsaWQoKX0pLGI9PT1lLnZhbCgpfSxyZW1vdGU6ZnVuY3Rpb24oYixjLGQpe2lmKHRoaXMub3B0aW9uYWwoYykpcmV0dXJuImRlcGVuZGVuY3ktbWlzbWF0Y2giO3ZhciBlLGYsZz10aGlzLnByZXZpb3VzVmFsdWUoYyk7cmV0dXJuIHRoaXMuc2V0dGluZ3MubWVzc2FnZXNbYy5uYW1lXXx8KHRoaXMuc2V0dGluZ3MubWVzc2FnZXNbYy5uYW1lXT17fSksZy5vcmlnaW5hbE1lc3NhZ2U9dGhpcy5zZXR0aW5ncy5tZXNzYWdlc1tjLm5hbWVdLnJlbW90ZSx0aGlzLnNldHRpbmdzLm1lc3NhZ2VzW2MubmFtZV0ucmVtb3RlPWcubWVzc2FnZSxkPSJzdHJpbmciPT10eXBlb2YgZCYme3VybDpkfXx8ZCxnLm9sZD09PWI/Zy52YWxpZDooZy5vbGQ9YixlPXRoaXMsdGhpcy5zdGFydFJlcXVlc3QoYyksZj17fSxmW2MubmFtZV09YixhLmFqYXgoYS5leHRlbmQoITAse21vZGU6ImFib3J0Iixwb3J0OiJ2YWxpZGF0ZSIrYy5uYW1lLGRhdGFUeXBlOiJqc29uIixkYXRhOmYsY29udGV4dDplLmN1cnJlbnRGb3JtLHN1Y2Nlc3M6ZnVuY3Rpb24oZCl7dmFyIGYsaCxpLGo9ZD09PSEwfHwidHJ1ZSI9PT1kO2Uuc2V0dGluZ3MubWVzc2FnZXNbYy5uYW1lXS5yZW1vdGU9Zy5vcmlnaW5hbE1lc3NhZ2Usaj8oaT1lLmZvcm1TdWJtaXR0ZWQsZS5wcmVwYXJlRWxlbWVudChjKSxlLmZvcm1TdWJtaXR0ZWQ9aSxlLnN1Y2Nlc3NMaXN0LnB1c2goYyksZGVsZXRlIGUuaW52YWxpZFtjLm5hbWVdLGUuc2hvd0Vycm9ycygpKTooZj17fSxoPWR8fGUuZGVmYXVsdE1lc3NhZ2UoYywicmVtb3RlIiksZltjLm5hbWVdPWcubWVzc2FnZT1hLmlzRnVuY3Rpb24oaCk/aChiKTpoLGUuaW52YWxpZFtjLm5hbWVdPSEwLGUuc2hvd0Vycm9ycyhmKSksZy52YWxpZD1qLGUuc3RvcFJlcXVlc3QoYyxqKX19LGQpKSwicGVuZGluZyIpfX19KTt2YXIgYixjPXt9O2EuYWpheFByZWZpbHRlcj9hLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oYSxiLGQpe3ZhciBlPWEucG9ydDsiYWJvcnQiPT09YS5tb2RlJiYoY1tlXSYmY1tlXS5hYm9ydCgpLGNbZV09ZCl9KTooYj1hLmFqYXgsYS5hamF4PWZ1bmN0aW9uKGQpe3ZhciBlPSgibW9kZSJpbiBkP2Q6YS5hamF4U2V0dGluZ3MpLm1vZGUsZj0oInBvcnQiaW4gZD9kOmEuYWpheFNldHRpbmdzKS5wb3J0O3JldHVybiJhYm9ydCI9PT1lPyhjW2ZdJiZjW2ZdLmFib3J0KCksY1tmXT1iLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxjW2ZdKTpiLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSk7DQoNCg0KLyoNCiAqICBqUXVlcnkgRm9ybQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiENCiAqIGpRdWVyeSBGb3JtIFBsdWdpbg0KICogdmVyc2lvbjogMy41MS4wLTIwMTQuMDYuMjANCiAqIFJlcXVpcmVzIGpRdWVyeSB2MS41IG9yIGxhdGVyDQogKiBDb3B5cmlnaHQgKGMpIDIwMTQgTS4gQWxzdXANCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8NCiAqIFByb2plY3QgcmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL21hbHN1cC9mb3JtDQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4NCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9tYWxzdXAvZm9ybSNjb3B5cmlnaHQtYW5kLWxpY2Vuc2UNCiAqLw0KIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGUpOmUoInVuZGVmaW5lZCIhPXR5cGVvZiBqUXVlcnk/alF1ZXJ5OndpbmRvdy5aZXB0byl9KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQpe3ZhciByPXQuZGF0YTt0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodC5wcmV2ZW50RGVmYXVsdCgpLGUodC50YXJnZXQpLmFqYXhTdWJtaXQocikpfWZ1bmN0aW9uIHIodCl7dmFyIHI9dC50YXJnZXQsYT1lKHIpO2lmKCFhLmlzKCJbdHlwZT1zdWJtaXRdLFt0eXBlPWltYWdlXSIpKXt2YXIgbj1hLmNsb3Nlc3QoIlt0eXBlPXN1Ym1pdF0iKTtpZigwPT09bi5sZW5ndGgpcmV0dXJuO3I9blswXX12YXIgaT10aGlzO2lmKGkuY2xrPXIsImltYWdlIj09ci50eXBlKWlmKHZvaWQgMCE9PXQub2Zmc2V0WClpLmNsa194PXQub2Zmc2V0WCxpLmNsa195PXQub2Zmc2V0WTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLmZuLm9mZnNldCl7dmFyIG89YS5vZmZzZXQoKTtpLmNsa194PXQucGFnZVgtby5sZWZ0LGkuY2xrX3k9dC5wYWdlWS1vLnRvcH1lbHNlIGkuY2xrX3g9dC5wYWdlWC1yLm9mZnNldExlZnQsaS5jbGtfeT10LnBhZ2VZLXIub2Zmc2V0VG9wO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtpLmNsaz1pLmNsa194PWkuY2xrX3k9bnVsbH0sMTAwKX1mdW5jdGlvbiBhKCl7aWYoZS5mbi5hamF4U3VibWl0LmRlYnVnKXt2YXIgdD0iW2pxdWVyeS5mb3JtXSAiK0FycmF5LnByb3RvdHlwZS5qb2luLmNhbGwoYXJndW1lbnRzLCIiKTt3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nP3dpbmRvdy5jb25zb2xlLmxvZyh0KTp3aW5kb3cub3BlcmEmJndpbmRvdy5vcGVyYS5wb3N0RXJyb3ImJndpbmRvdy5vcGVyYS5wb3N0RXJyb3IodCl9fXZhciBuPXt9O24uZmlsZWFwaT12b2lkIDAhPT1lKCI8aW5wdXQgdHlwZT0nZmlsZScvPiIpLmdldCgwKS5maWxlcyxuLmZvcm1kYXRhPXZvaWQgMCE9PXdpbmRvdy5Gb3JtRGF0YTt2YXIgaT0hIWUuZm4ucHJvcDtlLmZuLmF0dHIyPWZ1bmN0aW9uKCl7aWYoIWkpcmV0dXJuIHRoaXMuYXR0ci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGU9dGhpcy5wcm9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gZSYmZS5qcXVlcnl8fCJzdHJpbmciPT10eXBlb2YgZT9lOnRoaXMuYXR0ci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZm4uYWpheFN1Ym1pdD1mdW5jdGlvbih0KXtmdW5jdGlvbiByKHIpe3ZhciBhLG4saT1lLnBhcmFtKHIsdC50cmFkaXRpb25hbCkuc3BsaXQoIiYiKSxvPWkubGVuZ3RoLHM9W107Zm9yKGE9MDtvPmE7YSsrKWlbYV09aVthXS5yZXBsYWNlKC9cKy9nLCIgIiksbj1pW2FdLnNwbGl0KCI9Iikscy5wdXNoKFtkZWNvZGVVUklDb21wb25lbnQoblswXSksZGVjb2RlVVJJQ29tcG9uZW50KG5bMV0pXSk7cmV0dXJuIHN9ZnVuY3Rpb24gbyhhKXtmb3IodmFyIG49bmV3IEZvcm1EYXRhLGk9MDtpPGEubGVuZ3RoO2krKyluLmFwcGVuZChhW2ldLm5hbWUsYVtpXS52YWx1ZSk7aWYodC5leHRyYURhdGEpe3ZhciBvPXIodC5leHRyYURhdGEpO2ZvcihpPTA7aTxvLmxlbmd0aDtpKyspb1tpXSYmbi5hcHBlbmQob1tpXVswXSxvW2ldWzFdKX10LmRhdGE9bnVsbDt2YXIgcz1lLmV4dGVuZCghMCx7fSxlLmFqYXhTZXR0aW5ncyx0LHtjb250ZW50VHlwZTohMSxwcm9jZXNzRGF0YTohMSxjYWNoZTohMSx0eXBlOnV8fCJQT1NUIn0pO3QudXBsb2FkUHJvZ3Jlc3MmJihzLnhocj1mdW5jdGlvbigpe3ZhciByPWUuYWpheFNldHRpbmdzLnhocigpO3JldHVybiByLnVwbG9hZCYmci51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLGZ1bmN0aW9uKGUpe3ZhciByPTAsYT1lLmxvYWRlZHx8ZS5wb3NpdGlvbixuPWUudG90YWw7ZS5sZW5ndGhDb21wdXRhYmxlJiYocj1NYXRoLmNlaWwoYS9uKjEwMCkpLHQudXBsb2FkUHJvZ3Jlc3MoZSxhLG4scil9LCExKSxyfSkscy5kYXRhPW51bGw7dmFyIGM9cy5iZWZvcmVTZW5kO3JldHVybiBzLmJlZm9yZVNlbmQ9ZnVuY3Rpb24oZSxyKXt0LmZvcm1EYXRhP3IuZGF0YT10LmZvcm1EYXRhOnIuZGF0YT1uLGMmJmMuY2FsbCh0aGlzLGUscil9LGUuYWpheChzKX1mdW5jdGlvbiBzKHIpe2Z1bmN0aW9uIG4oZSl7dmFyIHQ9bnVsbDt0cnl7ZS5jb250ZW50V2luZG93JiYodD1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpfWNhdGNoKHIpe2EoImNhbm5vdCBnZXQgaWZyYW1lLmNvbnRlbnRXaW5kb3cgZG9jdW1lbnQ6ICIrcil9aWYodClyZXR1cm4gdDt0cnl7dD1lLmNvbnRlbnREb2N1bWVudD9lLmNvbnRlbnREb2N1bWVudDplLmRvY3VtZW50fWNhdGNoKHIpe2EoImNhbm5vdCBnZXQgaWZyYW1lLmNvbnRlbnREb2N1bWVudDogIityKSx0PWUuZG9jdW1lbnR9cmV0dXJuIHR9ZnVuY3Rpb24gbygpe2Z1bmN0aW9uIHQoKXt0cnl7dmFyIGU9bihnKS5yZWFkeVN0YXRlO2EoInN0YXRlID0gIitlKSxlJiYidW5pbml0aWFsaXplZCI9PWUudG9Mb3dlckNhc2UoKSYmc2V0VGltZW91dCh0LDUwKX1jYXRjaChyKXthKCJTZXJ2ZXIgYWJvcnQ6ICIsciwiICgiLHIubmFtZSwiKSIpLHMoayksaiYmY2xlYXJUaW1lb3V0KGopLGo9dm9pZCAwfX12YXIgcj1mLmF0dHIyKCJ0YXJnZXQiKSxpPWYuYXR0cjIoImFjdGlvbiIpLG89Im11bHRpcGFydC9mb3JtLWRhdGEiLGM9Zi5hdHRyKCJlbmN0eXBlIil8fGYuYXR0cigiZW5jb2RpbmciKXx8bzt3LnNldEF0dHJpYnV0ZSgidGFyZ2V0IixwKSwoIXV8fC9wb3N0L2kudGVzdCh1KSkmJncuc2V0QXR0cmlidXRlKCJtZXRob2QiLCJQT1NUIiksaSE9bS51cmwmJncuc2V0QXR0cmlidXRlKCJhY3Rpb24iLG0udXJsKSxtLnNraXBFbmNvZGluZ092ZXJyaWRlfHx1JiYhL3Bvc3QvaS50ZXN0KHUpfHxmLmF0dHIoe2VuY29kaW5nOiJtdWx0aXBhcnQvZm9ybS1kYXRhIixlbmN0eXBlOiJtdWx0aXBhcnQvZm9ybS1kYXRhIn0pLG0udGltZW91dCYmKGo9c2V0VGltZW91dChmdW5jdGlvbigpe1Q9ITAscyhEKX0sbS50aW1lb3V0KSk7dmFyIGw9W107dHJ5e2lmKG0uZXh0cmFEYXRhKWZvcih2YXIgZCBpbiBtLmV4dHJhRGF0YSltLmV4dHJhRGF0YS5oYXNPd25Qcm9wZXJ0eShkKSYmKGUuaXNQbGFpbk9iamVjdChtLmV4dHJhRGF0YVtkXSkmJm0uZXh0cmFEYXRhW2RdLmhhc093blByb3BlcnR5KCJuYW1lIikmJm0uZXh0cmFEYXRhW2RdLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpP2wucHVzaChlKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK20uZXh0cmFEYXRhW2RdLm5hbWUrJyI+JykudmFsKG0uZXh0cmFEYXRhW2RdLnZhbHVlKS5hcHBlbmRUbyh3KVswXSk6bC5wdXNoKGUoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicrZCsnIj4nKS52YWwobS5leHRyYURhdGFbZF0pLmFwcGVuZFRvKHcpWzBdKSk7bS5pZnJhbWVUYXJnZXR8fHYuYXBwZW5kVG8oImJvZHkiKSxnLmF0dGFjaEV2ZW50P2cuYXR0YWNoRXZlbnQoIm9ubG9hZCIscyk6Zy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixzLCExKSxzZXRUaW1lb3V0KHQsMTUpO3RyeXt3LnN1Ym1pdCgpfWNhdGNoKGgpe3ZhciB4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5zdWJtaXQ7eC5hcHBseSh3KX19ZmluYWxseXt3LnNldEF0dHJpYnV0ZSgiYWN0aW9uIixpKSx3LnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsYykscj93LnNldEF0dHJpYnV0ZSgidGFyZ2V0IixyKTpmLnJlbW92ZUF0dHIoInRhcmdldCIpLGUobCkucmVtb3ZlKCl9fWZ1bmN0aW9uIHModCl7aWYoIXguYWJvcnRlZCYmIUYpe2lmKE09bihnKSxNfHwoYSgiY2Fubm90IGFjY2VzcyByZXNwb25zZSBkb2N1bWVudCIpLHQ9ayksdD09PUQmJngpcmV0dXJuIHguYWJvcnQoInRpbWVvdXQiKSx2b2lkIFMucmVqZWN0KHgsInRpbWVvdXQiKTtpZih0PT1rJiZ4KXJldHVybiB4LmFib3J0KCJzZXJ2ZXIgYWJvcnQiKSx2b2lkIFMucmVqZWN0KHgsImVycm9yIiwic2VydmVyIGFib3J0Iik7aWYoTSYmTS5sb2NhdGlvbi5ocmVmIT1tLmlmcmFtZVNyY3x8VCl7Zy5kZXRhY2hFdmVudD9nLmRldGFjaEV2ZW50KCJvbmxvYWQiLHMpOmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIscywhMSk7dmFyIHIsaT0ic3VjY2VzcyI7dHJ5e2lmKFQpdGhyb3cidGltZW91dCI7dmFyIG89InhtbCI9PW0uZGF0YVR5cGV8fE0uWE1MRG9jdW1lbnR8fGUuaXNYTUxEb2MoTSk7aWYoYSgiaXNYbWw9IitvKSwhbyYmd2luZG93Lm9wZXJhJiYobnVsbD09PU0uYm9keXx8IU0uYm9keS5pbm5lckhUTUwpJiYtLU8pcmV0dXJuIGEoInJlcXVlaW5nIG9uTG9hZCBjYWxsYmFjaywgRE9NIG5vdCBhdmFpbGFibGUiKSx2b2lkIHNldFRpbWVvdXQocywyNTApO3ZhciB1PU0uYm9keT9NLmJvZHk6TS5kb2N1bWVudEVsZW1lbnQ7eC5yZXNwb25zZVRleHQ9dT91LmlubmVySFRNTDpudWxsLHgucmVzcG9uc2VYTUw9TS5YTUxEb2N1bWVudD9NLlhNTERvY3VtZW50Ok0sbyYmKG0uZGF0YVR5cGU9InhtbCIpLHguZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9eyJjb250ZW50LXR5cGUiOm0uZGF0YVR5cGV9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV19LHUmJih4LnN0YXR1cz1OdW1iZXIodS5nZXRBdHRyaWJ1dGUoInN0YXR1cyIpKXx8eC5zdGF0dXMseC5zdGF0dXNUZXh0PXUuZ2V0QXR0cmlidXRlKCJzdGF0dXNUZXh0Iil8fHguc3RhdHVzVGV4dCk7dmFyIGM9KG0uZGF0YVR5cGV8fCIiKS50b0xvd2VyQ2FzZSgpLGw9Lyhqc29ufHNjcmlwdHx0ZXh0KS8udGVzdChjKTtpZihsfHxtLnRleHRhcmVhKXt2YXIgZj1NLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZXh0YXJlYSIpWzBdO2lmKGYpeC5yZXNwb25zZVRleHQ9Zi52YWx1ZSx4LnN0YXR1cz1OdW1iZXIoZi5nZXRBdHRyaWJ1dGUoInN0YXR1cyIpKXx8eC5zdGF0dXMseC5zdGF0dXNUZXh0PWYuZ2V0QXR0cmlidXRlKCJzdGF0dXNUZXh0Iil8fHguc3RhdHVzVGV4dDtlbHNlIGlmKGwpe3ZhciBwPU0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInByZSIpWzBdLGg9TS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3A/eC5yZXNwb25zZVRleHQ9cC50ZXh0Q29udGVudD9wLnRleHRDb250ZW50OnAuaW5uZXJUZXh0OmgmJih4LnJlc3BvbnNlVGV4dD1oLnRleHRDb250ZW50P2gudGV4dENvbnRlbnQ6aC5pbm5lclRleHQpfX1lbHNlInhtbCI9PWMmJiF4LnJlc3BvbnNlWE1MJiZ4LnJlc3BvbnNlVGV4dCYmKHgucmVzcG9uc2VYTUw9WCh4LnJlc3BvbnNlVGV4dCkpO3RyeXtFPV8oeCxjLG0pfWNhdGNoKHkpe2k9InBhcnNlcmVycm9yIix4LmVycm9yPXI9eXx8aX19Y2F0Y2goeSl7YSgiZXJyb3IgY2F1Z2h0OiAiLHkpLGk9ImVycm9yIix4LmVycm9yPXI9eXx8aX14LmFib3J0ZWQmJihhKCJ1cGxvYWQgYWJvcnRlZCIpLGk9bnVsbCkseC5zdGF0dXMmJihpPXguc3RhdHVzPj0yMDAmJnguc3RhdHVzPDMwMHx8MzA0PT09eC5zdGF0dXM/InN1Y2Nlc3MiOiJlcnJvciIpLCJzdWNjZXNzIj09PWk/KG0uc3VjY2VzcyYmbS5zdWNjZXNzLmNhbGwobS5jb250ZXh0LEUsInN1Y2Nlc3MiLHgpLFMucmVzb2x2ZSh4LnJlc3BvbnNlVGV4dCwic3VjY2VzcyIseCksZCYmZS5ldmVudC50cmlnZ2VyKCJhamF4U3VjY2VzcyIsW3gsbV0pKTppJiYodm9pZCAwPT09ciYmKHI9eC5zdGF0dXNUZXh0KSxtLmVycm9yJiZtLmVycm9yLmNhbGwobS5jb250ZXh0LHgsaSxyKSxTLnJlamVjdCh4LCJlcnJvciIsciksZCYmZS5ldmVudC50cmlnZ2VyKCJhamF4RXJyb3IiLFt4LG0scl0pKSxkJiZlLmV2ZW50LnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3gsbV0pLGQmJiEtLWUuYWN0aXZlJiZlLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIiksbS5jb21wbGV0ZSYmbS5jb21wbGV0ZS5jYWxsKG0uY29udGV4dCx4LGkpLEY9ITAsbS50aW1lb3V0JiZjbGVhclRpbWVvdXQoaiksc2V0VGltZW91dChmdW5jdGlvbigpe20uaWZyYW1lVGFyZ2V0P3YuYXR0cigic3JjIixtLmlmcmFtZVNyYyk6di5yZW1vdmUoKSx4LnJlc3BvbnNlWE1MPW51bGx9LDEwMCl9fX12YXIgYyxsLG0sZCxwLHYsZyx4LHksYixULGosdz1mWzBdLFM9ZS5EZWZlcnJlZCgpO2lmKFMuYWJvcnQ9ZnVuY3Rpb24oZSl7eC5hYm9ydChlKX0scilmb3IobD0wO2w8aC5sZW5ndGg7bCsrKWM9ZShoW2xdKSxpP2MucHJvcCgiZGlzYWJsZWQiLCExKTpjLnJlbW92ZUF0dHIoImRpc2FibGVkIik7aWYobT1lLmV4dGVuZCghMCx7fSxlLmFqYXhTZXR0aW5ncyx0KSxtLmNvbnRleHQ9bS5jb250ZXh0fHxtLHA9ImpxRm9ybUlPIisobmV3IERhdGUpLmdldFRpbWUoKSxtLmlmcmFtZVRhcmdldD8odj1lKG0uaWZyYW1lVGFyZ2V0KSxiPXYuYXR0cjIoIm5hbWUiKSxiP3A9Yjp2LmF0dHIyKCJuYW1lIixwKSk6KHY9ZSgnPGlmcmFtZSBuYW1lPSInK3ArJyIgc3JjPSInK20uaWZyYW1lU3JjKyciIC8+Jyksdi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiItMTAwMHB4IixsZWZ0OiItMTAwMHB4In0pKSxnPXZbMF0seD17YWJvcnRlZDowLHJlc3BvbnNlVGV4dDpudWxsLHJlc3BvbnNlWE1MOm51bGwsc3RhdHVzOjAsc3RhdHVzVGV4dDoibi9hIixnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXt9LGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKCl7fSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKCl7fSxhYm9ydDpmdW5jdGlvbih0KXt2YXIgcj0idGltZW91dCI9PT10PyJ0aW1lb3V0IjoiYWJvcnRlZCI7YSgiYWJvcnRpbmcgdXBsb2FkLi4uICIrciksdGhpcy5hYm9ydGVkPTE7dHJ5e2cuY29udGVudFdpbmRvdy5kb2N1bWVudC5leGVjQ29tbWFuZCYmZy5jb250ZW50V2luZG93LmRvY3VtZW50LmV4ZWNDb21tYW5kKCJTdG9wIil9Y2F0Y2gobil7fXYuYXR0cigic3JjIixtLmlmcmFtZVNyYykseC5lcnJvcj1yLG0uZXJyb3ImJm0uZXJyb3IuY2FsbChtLmNvbnRleHQseCxyLHQpLGQmJmUuZXZlbnQudHJpZ2dlcigiYWpheEVycm9yIixbeCxtLHJdKSxtLmNvbXBsZXRlJiZtLmNvbXBsZXRlLmNhbGwobS5jb250ZXh0LHgscil9fSxkPW0uZ2xvYmFsLGQmJjA9PT1lLmFjdGl2ZSsrJiZlLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLGQmJmUuZXZlbnQudHJpZ2dlcigiYWpheFNlbmQiLFt4LG1dKSxtLmJlZm9yZVNlbmQmJm0uYmVmb3JlU2VuZC5jYWxsKG0uY29udGV4dCx4LG0pPT09ITEpcmV0dXJuIG0uZ2xvYmFsJiZlLmFjdGl2ZS0tLFMucmVqZWN0KCksUztpZih4LmFib3J0ZWQpcmV0dXJuIFMucmVqZWN0KCksUzt5PXcuY2xrLHkmJihiPXkubmFtZSxiJiYheS5kaXNhYmxlZCYmKG0uZXh0cmFEYXRhPW0uZXh0cmFEYXRhfHx7fSxtLmV4dHJhRGF0YVtiXT15LnZhbHVlLCJpbWFnZSI9PXkudHlwZSYmKG0uZXh0cmFEYXRhW2IrIi54Il09dy5jbGtfeCxtLmV4dHJhRGF0YVtiKyIueSJdPXcuY2xrX3kpKSk7dmFyIEQ9MSxrPTIsQT1lKCJtZXRhW25hbWU9Y3NyZi10b2tlbl0iKS5hdHRyKCJjb250ZW50IiksTD1lKCJtZXRhW25hbWU9Y3NyZi1wYXJhbV0iKS5hdHRyKCJjb250ZW50Iik7TCYmQSYmKG0uZXh0cmFEYXRhPW0uZXh0cmFEYXRhfHx7fSxtLmV4dHJhRGF0YVtMXT1BKSxtLmZvcmNlU3luYz9vKCk6c2V0VGltZW91dChvLDEwKTt2YXIgRSxNLEYsTz01MCxYPWUucGFyc2VYTUx8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHdpbmRvdy5BY3RpdmVYT2JqZWN0Pyh0PW5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MRE9NIiksdC5hc3luYz0iZmFsc2UiLHQubG9hZFhNTChlKSk6dD0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQveG1sIiksdCYmdC5kb2N1bWVudEVsZW1lbnQmJiJwYXJzZXJlcnJvciIhPXQuZG9jdW1lbnRFbGVtZW50Lm5vZGVOYW1lP3Q6bnVsbH0sQz1lLnBhcnNlSlNPTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIHdpbmRvdy5ldmFsKCIoIitlKyIpIil9LF89ZnVuY3Rpb24odCxyLGEpe3ZhciBuPXQuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpfHwiIixpPSJ4bWwiPT09cnx8IXImJm4uaW5kZXhPZigieG1sIik+PTAsbz1pP3QucmVzcG9uc2VYTUw6dC5yZXNwb25zZVRleHQ7cmV0dXJuIGkmJiJwYXJzZXJlcnJvciI9PT1vLmRvY3VtZW50RWxlbWVudC5ub2RlTmFtZSYmZS5lcnJvciYmZS5lcnJvcigicGFyc2VyZXJyb3IiKSxhJiZhLmRhdGFGaWx0ZXImJihvPWEuZGF0YUZpbHRlcihvLHIpKSwic3RyaW5nIj09dHlwZW9mIG8mJigianNvbiI9PT1yfHwhciYmbi5pbmRleE9mKCJqc29uIik+PTA/bz1DKG8pOigic2NyaXB0Ij09PXJ8fCFyJiZuLmluZGV4T2YoImphdmFzY3JpcHQiKT49MCkmJmUuZ2xvYmFsRXZhbChvKSksb307cmV0dXJuIFN9aWYoIXRoaXMubGVuZ3RoKXJldHVybiBhKCJhamF4U3VibWl0OiBza2lwcGluZyBzdWJtaXQgcHJvY2VzcyAtIG5vIGVsZW1lbnQgc2VsZWN0ZWQiKSx0aGlzO3ZhciB1LGMsbCxmPXRoaXM7ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dD17c3VjY2Vzczp0fTp2b2lkIDA9PT10JiYodD17fSksdT10LnR5cGV8fHRoaXMuYXR0cjIoIm1ldGhvZCIpLGM9dC51cmx8fHRoaXMuYXR0cjIoImFjdGlvbiIpLGw9InN0cmluZyI9PXR5cGVvZiBjP2UudHJpbShjKToiIixsPWx8fHdpbmRvdy5sb2NhdGlvbi5ocmVmfHwiIixsJiYobD0obC5tYXRjaCgvXihbXiNdKykvKXx8W10pWzFdKSx0PWUuZXh0ZW5kKCEwLHt1cmw6bCxzdWNjZXNzOmUuYWpheFNldHRpbmdzLnN1Y2Nlc3MsdHlwZTp1fHxlLmFqYXhTZXR0aW5ncy50eXBlLGlmcmFtZVNyYzovXmh0dHBzL2kudGVzdCh3aW5kb3cubG9jYXRpb24uaHJlZnx8IiIpPyJqYXZhc2NyaXB0OmZhbHNlIjoiYWJvdXQ6YmxhbmsifSx0KTt2YXIgbT17fTtpZih0aGlzLnRyaWdnZXIoImZvcm0tcHJlLXNlcmlhbGl6ZSIsW3RoaXMsdCxtXSksbS52ZXRvKXJldHVybiBhKCJhamF4U3VibWl0OiBzdWJtaXQgdmV0b2VkIHZpYSBmb3JtLXByZS1zZXJpYWxpemUgdHJpZ2dlciIpLHRoaXM7aWYodC5iZWZvcmVTZXJpYWxpemUmJnQuYmVmb3JlU2VyaWFsaXplKHRoaXMsdCk9PT0hMSlyZXR1cm4gYSgiYWpheFN1Ym1pdDogc3VibWl0IGFib3J0ZWQgdmlhIGJlZm9yZVNlcmlhbGl6ZSBjYWxsYmFjayIpLHRoaXM7dmFyIGQ9dC50cmFkaXRpb25hbDt2b2lkIDA9PT1kJiYoZD1lLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCk7dmFyIHAsaD1bXSx2PXRoaXMuZm9ybVRvQXJyYXkodC5zZW1hbnRpYyxoKTtpZih0LmRhdGEmJih0LmV4dHJhRGF0YT10LmRhdGEscD1lLnBhcmFtKHQuZGF0YSxkKSksdC5iZWZvcmVTdWJtaXQmJnQuYmVmb3JlU3VibWl0KHYsdGhpcyx0KT09PSExKXJldHVybiBhKCJhamF4U3VibWl0OiBzdWJtaXQgYWJvcnRlZCB2aWEgYmVmb3JlU3VibWl0IGNhbGxiYWNrIiksdGhpcztpZih0aGlzLnRyaWdnZXIoImZvcm0tc3VibWl0LXZhbGlkYXRlIixbdix0aGlzLHQsbV0pLG0udmV0bylyZXR1cm4gYSgiYWpheFN1Ym1pdDogc3VibWl0IHZldG9lZCB2aWEgZm9ybS1zdWJtaXQtdmFsaWRhdGUgdHJpZ2dlciIpLHRoaXM7dmFyIGc9ZS5wYXJhbSh2LGQpO3AmJihnPWc/ZysiJiIrcDpwKSwiR0VUIj09dC50eXBlLnRvVXBwZXJDYXNlKCk/KHQudXJsKz0odC51cmwuaW5kZXhPZigiPyIpPj0wPyImIjoiPyIpK2csdC5kYXRhPW51bGwpOnQuZGF0YT1nO3ZhciB4PVtdO2lmKHQucmVzZXRGb3JtJiZ4LnB1c2goZnVuY3Rpb24oKXtmLnJlc2V0Rm9ybSgpfSksdC5jbGVhckZvcm0mJngucHVzaChmdW5jdGlvbigpe2YuY2xlYXJGb3JtKHQuaW5jbHVkZUhpZGRlbil9KSwhdC5kYXRhVHlwZSYmdC50YXJnZXQpe3ZhciB5PXQuc3VjY2Vzc3x8ZnVuY3Rpb24oKXt9O3gucHVzaChmdW5jdGlvbihyKXt2YXIgYT10LnJlcGxhY2VUYXJnZXQ/InJlcGxhY2VXaXRoIjoiaHRtbCI7ZSh0LnRhcmdldClbYV0ocikuZWFjaCh5LGFyZ3VtZW50cyl9KX1lbHNlIHQuc3VjY2VzcyYmeC5wdXNoKHQuc3VjY2Vzcyk7aWYodC5zdWNjZXNzPWZ1bmN0aW9uKGUscixhKXtmb3IodmFyIG49dC5jb250ZXh0fHx0aGlzLGk9MCxvPXgubGVuZ3RoO28+aTtpKyspeFtpXS5hcHBseShuLFtlLHIsYXx8ZixmXSl9LHQuZXJyb3Ipe3ZhciBiPXQuZXJyb3I7dC5lcnJvcj1mdW5jdGlvbihlLHIsYSl7dmFyIG49dC5jb250ZXh0fHx0aGlzO2IuYXBwbHkobixbZSxyLGEsZl0pfX1pZih0LmNvbXBsZXRlKXt2YXIgVD10LmNvbXBsZXRlO3QuY29tcGxldGU9ZnVuY3Rpb24oZSxyKXt2YXIgYT10LmNvbnRleHR8fHRoaXM7VC5hcHBseShhLFtlLHIsZl0pfX12YXIgaj1lKCJpbnB1dFt0eXBlPWZpbGVdOmVuYWJsZWQiLHRoaXMpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiIiIT09ZSh0aGlzKS52YWwoKX0pLHc9ai5sZW5ndGg+MCxTPSJtdWx0aXBhcnQvZm9ybS1kYXRhIixEPWYuYXR0cigiZW5jdHlwZSIpPT1TfHxmLmF0dHIoImVuY29kaW5nIik9PVMsaz1uLmZpbGVhcGkmJm4uZm9ybWRhdGE7YSgiZmlsZUFQSSA6IitrKTt2YXIgQSxMPSh3fHxEKSYmIWs7dC5pZnJhbWUhPT0hMSYmKHQuaWZyYW1lfHxMKT90LmNsb3NlS2VlcEFsaXZlP2UuZ2V0KHQuY2xvc2VLZWVwQWxpdmUsZnVuY3Rpb24oKXtBPXModil9KTpBPXModik6QT0od3x8RCkmJms/byh2KTplLmFqYXgodCksZi5yZW1vdmVEYXRhKCJqcXhociIpLmRhdGEoImpxeGhyIixBKTtmb3IodmFyIEU9MDtFPGgubGVuZ3RoO0UrKyloW0VdPW51bGw7cmV0dXJuIHRoaXMudHJpZ2dlcigiZm9ybS1zdWJtaXQtbm90aWZ5IixbdGhpcyx0XSksdGhpc30sZS5mbi5hamF4Rm9ybT1mdW5jdGlvbihuKXtpZihuPW58fHt9LG4uZGVsZWdhdGlvbj1uLmRlbGVnYXRpb24mJmUuaXNGdW5jdGlvbihlLmZuLm9uKSwhbi5kZWxlZ2F0aW9uJiYwPT09dGhpcy5sZW5ndGgpe3ZhciBpPXtzOnRoaXMuc2VsZWN0b3IsYzp0aGlzLmNvbnRleHR9O3JldHVybiFlLmlzUmVhZHkmJmkucz8oYSgiRE9NIG5vdCByZWFkeSwgcXVldWluZyBhamF4Rm9ybSIpLGUoZnVuY3Rpb24oKXtlKGkucyxpLmMpLmFqYXhGb3JtKG4pfSksdGhpcyk6KGEoInRlcm1pbmF0aW5nOyB6ZXJvIGVsZW1lbnRzIGZvdW5kIGJ5IHNlbGVjdG9yIisoZS5pc1JlYWR5PyIiOiIgKERPTSBub3QgcmVhZHkpIikpLHRoaXMpfXJldHVybiBuLmRlbGVnYXRpb24/KGUoZG9jdW1lbnQpLm9mZigic3VibWl0LmZvcm0tcGx1Z2luIix0aGlzLnNlbGVjdG9yLHQpLm9mZigiY2xpY2suZm9ybS1wbHVnaW4iLHRoaXMuc2VsZWN0b3Iscikub24oInN1Ym1pdC5mb3JtLXBsdWdpbiIsdGhpcy5zZWxlY3RvcixuLHQpLm9uKCJjbGljay5mb3JtLXBsdWdpbiIsdGhpcy5zZWxlY3RvcixuLHIpLHRoaXMpOnRoaXMuYWpheEZvcm1VbmJpbmQoKS5iaW5kKCJzdWJtaXQuZm9ybS1wbHVnaW4iLG4sdCkuYmluZCgiY2xpY2suZm9ybS1wbHVnaW4iLG4scil9LGUuZm4uYWpheEZvcm1VbmJpbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmJpbmQoInN1Ym1pdC5mb3JtLXBsdWdpbiBjbGljay5mb3JtLXBsdWdpbiIpfSxlLmZuLmZvcm1Ub0FycmF5PWZ1bmN0aW9uKHQscil7dmFyIGE9W107aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiBhO3ZhciBpLG89dGhpc1swXSxzPXRoaXMuYXR0cigiaWQiKSx1PXQ/by5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOm8uZWxlbWVudHM7aWYodSYmIS9NU0lFIFs2NzhdLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYodT1lKHUpLmdldCgpKSxzJiYoaT1lKCc6aW5wdXRbZm9ybT0iJytzKyciXScpLmdldCgpLGkubGVuZ3RoJiYodT0odXx8W10pLmNvbmNhdChpKSkpLCF1fHwhdS5sZW5ndGgpcmV0dXJuIGE7dmFyIGMsbCxmLG0sZCxwLGg7Zm9yKGM9MCxwPXUubGVuZ3RoO3A+YztjKyspaWYoZD11W2NdLGY9ZC5uYW1lLGYmJiFkLmRpc2FibGVkKWlmKHQmJm8uY2xrJiYiaW1hZ2UiPT1kLnR5cGUpby5jbGs9PWQmJihhLnB1c2goe25hbWU6Zix2YWx1ZTplKGQpLnZhbCgpLHR5cGU6ZC50eXBlfSksYS5wdXNoKHtuYW1lOmYrIi54Iix2YWx1ZTpvLmNsa194fSx7bmFtZTpmKyIueSIsdmFsdWU6by5jbGtfeX0pKTtlbHNlIGlmKG09ZS5maWVsZFZhbHVlKGQsITApLG0mJm0uY29uc3RydWN0b3I9PUFycmF5KWZvcihyJiZyLnB1c2goZCksbD0wLGg9bS5sZW5ndGg7aD5sO2wrKylhLnB1c2goe25hbWU6Zix2YWx1ZTptW2xdfSk7ZWxzZSBpZihuLmZpbGVhcGkmJiJmaWxlIj09ZC50eXBlKXtyJiZyLnB1c2goZCk7dmFyIHY9ZC5maWxlcztpZih2Lmxlbmd0aClmb3IobD0wO2w8di5sZW5ndGg7bCsrKWEucHVzaCh7bmFtZTpmLHZhbHVlOnZbbF0sdHlwZTpkLnR5cGV9KTtlbHNlIGEucHVzaCh7bmFtZTpmLHZhbHVlOiIiLHR5cGU6ZC50eXBlfSl9ZWxzZSBudWxsIT09bSYmInVuZGVmaW5lZCIhPXR5cGVvZiBtJiYociYmci5wdXNoKGQpLGEucHVzaCh7bmFtZTpmLHZhbHVlOm0sdHlwZTpkLnR5cGUscmVxdWlyZWQ6ZC5yZXF1aXJlZH0pKTtpZighdCYmby5jbGspe3ZhciBnPWUoby5jbGspLHg9Z1swXTtmPXgubmFtZSxmJiYheC5kaXNhYmxlZCYmImltYWdlIj09eC50eXBlJiYoYS5wdXNoKHtuYW1lOmYsdmFsdWU6Zy52YWwoKX0pLGEucHVzaCh7bmFtZTpmKyIueCIsdmFsdWU6by5jbGtfeH0se25hbWU6ZisiLnkiLHZhbHVlOm8uY2xrX3l9KSl9cmV0dXJuIGF9LGUuZm4uZm9ybVNlcmlhbGl6ZT1mdW5jdGlvbih0KXtyZXR1cm4gZS5wYXJhbSh0aGlzLmZvcm1Ub0FycmF5KHQpKX0sZS5mbi5maWVsZFNlcmlhbGl6ZT1mdW5jdGlvbih0KXt2YXIgcj1bXTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5uYW1lO2lmKGEpe3ZhciBuPWUuZmllbGRWYWx1ZSh0aGlzLHQpO2lmKG4mJm4uY29uc3RydWN0b3I9PUFycmF5KWZvcih2YXIgaT0wLG89bi5sZW5ndGg7bz5pO2krKylyLnB1c2goe25hbWU6YSx2YWx1ZTpuW2ldfSk7ZWxzZSBudWxsIT09biYmInVuZGVmaW5lZCIhPXR5cGVvZiBuJiZyLnB1c2goe25hbWU6dGhpcy5uYW1lLHZhbHVlOm59KX19KSxlLnBhcmFtKHIpfSxlLmZuLmZpZWxkVmFsdWU9ZnVuY3Rpb24odCl7Zm9yKHZhciByPVtdLGE9MCxuPXRoaXMubGVuZ3RoO24+YTthKyspe3ZhciBpPXRoaXNbYV0sbz1lLmZpZWxkVmFsdWUoaSx0KTtudWxsPT09b3x8InVuZGVmaW5lZCI9PXR5cGVvZiBvfHxvLmNvbnN0cnVjdG9yPT1BcnJheSYmIW8ubGVuZ3RofHwoby5jb25zdHJ1Y3Rvcj09QXJyYXk/ZS5tZXJnZShyLG8pOnIucHVzaChvKSl9cmV0dXJuIHJ9LGUuZmllbGRWYWx1ZT1mdW5jdGlvbih0LHIpe3ZhciBhPXQubmFtZSxuPXQudHlwZSxpPXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpO2lmKHZvaWQgMD09PXImJihyPSEwKSxyJiYoIWF8fHQuZGlzYWJsZWR8fCJyZXNldCI9PW58fCJidXR0b24iPT1ufHwoImNoZWNrYm94Ij09bnx8InJhZGlvIj09bikmJiF0LmNoZWNrZWR8fCgic3VibWl0Ij09bnx8ImltYWdlIj09bikmJnQuZm9ybSYmdC5mb3JtLmNsayE9dHx8InNlbGVjdCI9PWkmJi0xPT10LnNlbGVjdGVkSW5kZXgpKXJldHVybiBudWxsO2lmKCJzZWxlY3QiPT1pKXt2YXIgbz10LnNlbGVjdGVkSW5kZXg7aWYoMD5vKXJldHVybiBudWxsO2Zvcih2YXIgcz1bXSx1PXQub3B0aW9ucyxjPSJzZWxlY3Qtb25lIj09bixsPWM/bysxOnUubGVuZ3RoLGY9Yz9vOjA7bD5mO2YrKyl7dmFyIG09dVtmXTtpZihtLnNlbGVjdGVkKXt2YXIgZD1tLnZhbHVlO2lmKGR8fChkPW0uYXR0cmlidXRlcyYmbS5hdHRyaWJ1dGVzLnZhbHVlJiYhbS5hdHRyaWJ1dGVzLnZhbHVlLnNwZWNpZmllZD9tLnRleHQ6bS52YWx1ZSksYylyZXR1cm4gZDtzLnB1c2goZCl9fXJldHVybiBzfXJldHVybiBlKHQpLnZhbCgpfSxlLmZuLmNsZWFyRm9ybT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZSgiaW5wdXQsc2VsZWN0LHRleHRhcmVhIix0aGlzKS5jbGVhckZpZWxkcyh0KX0pfSxlLmZuLmNsZWFyRmllbGRzPWUuZm4uY2xlYXJJbnB1dHM9ZnVuY3Rpb24odCl7dmFyIHI9L14oPzpjb2xvcnxkYXRlfGRhdGV0aW1lfGVtYWlsfG1vbnRofG51bWJlcnxwYXNzd29yZHxyYW5nZXxzZWFyY2h8dGVsfHRleHR8dGltZXx1cmx8d2VlaykkL2k7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPXRoaXMudHlwZSxuPXRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpO3IudGVzdChhKXx8InRleHRhcmVhIj09bj90aGlzLnZhbHVlPSIiOiJjaGVja2JveCI9PWF8fCJyYWRpbyI9PWE/dGhpcy5jaGVja2VkPSExOiJzZWxlY3QiPT1uP3RoaXMuc2VsZWN0ZWRJbmRleD0tMToiZmlsZSI9PWE/L01TSUUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk/ZSh0aGlzKS5yZXBsYWNlV2l0aChlKHRoaXMpLmNsb25lKCEwKSk6ZSh0aGlzKS52YWwoIiIpOnQmJih0PT09ITAmJi9oaWRkZW4vLnRlc3QoYSl8fCJzdHJpbmciPT10eXBlb2YgdCYmZSh0aGlzKS5pcyh0KSkmJih0aGlzLnZhbHVlPSIiKX0pfSxlLmZuLnJlc2V0Rm9ybT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsoImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMucmVzZXR8fCJvYmplY3QiPT10eXBlb2YgdGhpcy5yZXNldCYmIXRoaXMucmVzZXQubm9kZVR5cGUpJiZ0aGlzLnJlc2V0KCl9KX0sZS5mbi5lbmFibGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSEwKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPSFlfSl9LGUuZm4uc2VsZWN0ZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PSEwKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgcj10aGlzLnR5cGU7aWYoImNoZWNrYm94Ij09cnx8InJhZGlvIj09cil0aGlzLmNoZWNrZWQ9dDtlbHNlIGlmKCJvcHRpb24iPT10aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGE9ZSh0aGlzKS5wYXJlbnQoInNlbGVjdCIpO3QmJmFbMF0mJiJzZWxlY3Qtb25lIj09YVswXS50eXBlJiZhLmZpbmQoIm9wdGlvbiIpLnNlbGVjdGVkKCExKSx0aGlzLnNlbGVjdGVkPXR9fSl9LGUuZm4uYWpheFN1Ym1pdC5kZWJ1Zz0hMX0pOw0KDQoNCi8qDQogKiAgY29kZSBoaWdobGlnaHQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyogaHR0cDovL3ByaXNtanMuY29tL2Rvd25sb2FkLmh0bWw/dGhlbWVzPXByaXNtJmxhbmd1YWdlcz1tYXJrdXArY3NzK2NsaWtlK2phdmFzY3JpcHQrYXNwbmV0K2Jhc2grYytjc2hhcnArY3BwK2NvZmZlZXNjcmlwdCtjc3MtZXh0cmFzK2dpdCtodHRwK2luaStqYXZhK2xhdGV4K2xlc3MrbWF0bGFiK29iamVjdGl2ZWMrcGVybCtwaHArcGhwLWV4dHJhcytweXRob24rcnVieStzY3NzK3NxbCtzd2lmdCZwbHVnaW5zPWxpbmUtbnVtYmVycytzaG93LWxhbmd1YWdlICovDQpzZWxmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGU/c2VsZjp7fTt2YXIgUHJpc209ZnVuY3Rpb24oKXt2YXIgZT0vXGJsYW5nKD86dWFnZSk/LSg/IVwqKShcdyspXGIvaSx0PXNlbGYuUHJpc209e3V0aWw6e2VuY29kZTpmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4/bmV3IG4oZS50eXBlLHQudXRpbC5lbmNvZGUoZS5jb250ZW50KSxlLmFsaWFzKToiQXJyYXkiPT09dC51dGlsLnR5cGUoZSk/ZS5tYXAodC51dGlsLmVuY29kZSk6ZS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvXHUwMGEwL2csIiAiKX0sdHlwZTpmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLm1hdGNoKC9cW29iamVjdCAoXHcrKVxdLylbMV19LGNsb25lOmZ1bmN0aW9uKGUpe3ZhciBuPXQudXRpbC50eXBlKGUpO3N3aXRjaChuKXtjYXNlIk9iamVjdCI6dmFyIGE9e307Zm9yKHZhciByIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShyKSYmKGFbcl09dC51dGlsLmNsb25lKGVbcl0pKTtyZXR1cm4gYTtjYXNlIkFycmF5IjpyZXR1cm4gZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHQudXRpbC5jbG9uZShlKX0pfXJldHVybiBlfX0sbGFuZ3VhZ2VzOntleHRlbmQ6ZnVuY3Rpb24oZSxuKXt2YXIgYT10LnV0aWwuY2xvbmUodC5sYW5ndWFnZXNbZV0pO2Zvcih2YXIgciBpbiBuKWFbcl09bltyXTtyZXR1cm4gYX0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGUsbixhLHIpe3I9cnx8dC5sYW5ndWFnZXM7dmFyIGk9cltlXTtpZigyPT1hcmd1bWVudHMubGVuZ3RoKXthPWFyZ3VtZW50c1sxXTtmb3IodmFyIGwgaW4gYSlhLmhhc093blByb3BlcnR5KGwpJiYoaVtsXT1hW2xdKTtyZXR1cm4gaX12YXIgcz17fTtmb3IodmFyIG8gaW4gaSlpZihpLmhhc093blByb3BlcnR5KG8pKXtpZihvPT1uKWZvcih2YXIgbCBpbiBhKWEuaGFzT3duUHJvcGVydHkobCkmJihzW2xdPWFbbF0pO3Nbb109aVtvXX1yZXR1cm4gdC5sYW5ndWFnZXMuREZTKHQubGFuZ3VhZ2VzLGZ1bmN0aW9uKHQsbil7bj09PXJbZV0mJnQhPWUmJih0aGlzW3RdPXMpfSkscltlXT1zfSxERlM6ZnVuY3Rpb24oZSxuLGEpe2Zvcih2YXIgciBpbiBlKWUuaGFzT3duUHJvcGVydHkocikmJihuLmNhbGwoZSxyLGVbcl0sYXx8ciksIk9iamVjdCI9PT10LnV0aWwudHlwZShlW3JdKT90Lmxhbmd1YWdlcy5ERlMoZVtyXSxuKToiQXJyYXkiPT09dC51dGlsLnR5cGUoZVtyXSkmJnQubGFuZ3VhZ2VzLkRGUyhlW3JdLG4scikpfX0saGlnaGxpZ2h0QWxsOmZ1bmN0aW9uKGUsbil7Zm9yKHZhciBhLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLCBbY2xhc3MqPSJsYW5ndWFnZS0iXSBjb2RlLCBjb2RlW2NsYXNzKj0ibGFuZy0iXSwgW2NsYXNzKj0ibGFuZy0iXSBjb2RlJyksaT0wO2E9cltpKytdOyl0LmhpZ2hsaWdodEVsZW1lbnQoYSxlPT09ITAsbil9LGhpZ2hsaWdodEVsZW1lbnQ6ZnVuY3Rpb24oYSxyLGkpe2Zvcih2YXIgbCxzLG89YTtvJiYhZS50ZXN0KG8uY2xhc3NOYW1lKTspbz1vLnBhcmVudE5vZGU7aWYobyYmKGw9KG8uY2xhc3NOYW1lLm1hdGNoKGUpfHxbLCIiXSlbMV0scz10Lmxhbmd1YWdlc1tsXSkscyl7YS5jbGFzc05hbWU9YS5jbGFzc05hbWUucmVwbGFjZShlLCIiKS5yZXBsYWNlKC9ccysvZywiICIpKyIgbGFuZ3VhZ2UtIitsLG89YS5wYXJlbnROb2RlLC9wcmUvaS50ZXN0KG8ubm9kZU5hbWUpJiYoby5jbGFzc05hbWU9by5jbGFzc05hbWUucmVwbGFjZShlLCIiKS5yZXBsYWNlKC9ccysvZywiICIpKyIgbGFuZ3VhZ2UtIitsKTt2YXIgdT1hLnRleHRDb250ZW50O2lmKHUpe3U9dS5yZXBsYWNlKC9eKD86XHI/XG58XHIpLywiIik7dmFyIGc9e2VsZW1lbnQ6YSxsYW5ndWFnZTpsLGdyYW1tYXI6cyxjb2RlOnV9O2lmKHQuaG9va3MucnVuKCJiZWZvcmUtaGlnaGxpZ2h0IixnKSxyJiZzZWxmLldvcmtlcil7dmFyIGM9bmV3IFdvcmtlcih0LmZpbGVuYW1lKTtjLm9ubWVzc2FnZT1mdW5jdGlvbihlKXtnLmhpZ2hsaWdodGVkQ29kZT1uLnN0cmluZ2lmeShKU09OLnBhcnNlKGUuZGF0YSksbCksdC5ob29rcy5ydW4oImJlZm9yZS1pbnNlcnQiLGcpLGcuZWxlbWVudC5pbm5lckhUTUw9Zy5oaWdobGlnaHRlZENvZGUsaSYmaS5jYWxsKGcuZWxlbWVudCksdC5ob29rcy5ydW4oImFmdGVyLWhpZ2hsaWdodCIsZyl9LGMucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe2xhbmd1YWdlOmcubGFuZ3VhZ2UsY29kZTpnLmNvZGV9KSl9ZWxzZSBnLmhpZ2hsaWdodGVkQ29kZT10LmhpZ2hsaWdodChnLmNvZGUsZy5ncmFtbWFyLGcubGFuZ3VhZ2UpLHQuaG9va3MucnVuKCJiZWZvcmUtaW5zZXJ0IixnKSxnLmVsZW1lbnQuaW5uZXJIVE1MPWcuaGlnaGxpZ2h0ZWRDb2RlLGkmJmkuY2FsbChhKSx0Lmhvb2tzLnJ1bigiYWZ0ZXItaGlnaGxpZ2h0IixnKX19fSxoaWdobGlnaHQ6ZnVuY3Rpb24oZSxhLHIpe3ZhciBpPXQudG9rZW5pemUoZSxhKTtyZXR1cm4gbi5zdHJpbmdpZnkodC51dGlsLmVuY29kZShpKSxyKX0sdG9rZW5pemU6ZnVuY3Rpb24oZSxuKXt2YXIgYT10LlRva2VuLHI9W2VdLGk9bi5yZXN0O2lmKGkpe2Zvcih2YXIgbCBpbiBpKW5bbF09aVtsXTtkZWxldGUgbi5yZXN0fWU6Zm9yKHZhciBsIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShsKSYmbltsXSl7dmFyIHM9bltsXTtzPSJBcnJheSI9PT10LnV0aWwudHlwZShzKT9zOltzXTtmb3IodmFyIG89MDtvPHMubGVuZ3RoOysrbyl7dmFyIHU9c1tvXSxnPXUuaW5zaWRlLGM9ISF1Lmxvb2tiZWhpbmQsZj0wLGg9dS5hbGlhczt1PXUucGF0dGVybnx8dTtmb3IodmFyIHA9MDtwPHIubGVuZ3RoO3ArKyl7dmFyIGQ9cltwXTtpZihyLmxlbmd0aD5lLmxlbmd0aClicmVhayBlO2lmKCEoZCBpbnN0YW5jZW9mIGEpKXt1Lmxhc3RJbmRleD0wO3ZhciBtPXUuZXhlYyhkKTtpZihtKXtjJiYoZj1tWzFdLmxlbmd0aCk7dmFyIHk9bS5pbmRleC0xK2YsbT1tWzBdLnNsaWNlKGYpLHY9bS5sZW5ndGgsaz15K3YsYj1kLnNsaWNlKDAseSsxKSx3PWQuc2xpY2UoaysxKSxOPVtwLDFdO2ImJk4ucHVzaChiKTt2YXIgTz1uZXcgYShsLGc/dC50b2tlbml6ZShtLGcpOm0saCk7Ti5wdXNoKE8pLHcmJk4ucHVzaCh3KSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KHIsTil9fX19fXJldHVybiByfSxob29rczp7YWxsOnt9LGFkZDpmdW5jdGlvbihlLG4pe3ZhciBhPXQuaG9va3MuYWxsO2FbZV09YVtlXXx8W10sYVtlXS5wdXNoKG4pfSxydW46ZnVuY3Rpb24oZSxuKXt2YXIgYT10Lmhvb2tzLmFsbFtlXTtpZihhJiZhLmxlbmd0aClmb3IodmFyIHIsaT0wO3I9YVtpKytdOylyKG4pfX19LG49dC5Ub2tlbj1mdW5jdGlvbihlLHQsbil7dGhpcy50eXBlPWUsdGhpcy5jb250ZW50PXQsdGhpcy5hbGlhcz1ufTtpZihuLnN0cmluZ2lmeT1mdW5jdGlvbihlLGEscil7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2lmKCJBcnJheSI9PT10LnV0aWwudHlwZShlKSlyZXR1cm4gZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIG4uc3RyaW5naWZ5KHQsYSxlKX0pLmpvaW4oIiIpO3ZhciBpPXt0eXBlOmUudHlwZSxjb250ZW50Om4uc3RyaW5naWZ5KGUuY29udGVudCxhLHIpLHRhZzoic3BhbiIsY2xhc3NlczpbInRva2VuIixlLnR5cGVdLGF0dHJpYnV0ZXM6e30sbGFuZ3VhZ2U6YSxwYXJlbnQ6cn07aWYoImNvbW1lbnQiPT1pLnR5cGUmJihpLmF0dHJpYnV0ZXMuc3BlbGxjaGVjaz0idHJ1ZSIpLGUuYWxpYXMpe3ZhciBsPSJBcnJheSI9PT10LnV0aWwudHlwZShlLmFsaWFzKT9lLmFsaWFzOltlLmFsaWFzXTtBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpLmNsYXNzZXMsbCl9dC5ob29rcy5ydW4oIndyYXAiLGkpO3ZhciBzPSIiO2Zvcih2YXIgbyBpbiBpLmF0dHJpYnV0ZXMpcys9bysnPSInKyhpLmF0dHJpYnV0ZXNbb118fCIiKSsnIic7cmV0dXJuIjwiK2kudGFnKycgY2xhc3M9IicraS5jbGFzc2VzLmpvaW4oIiAiKSsnIiAnK3MrIj4iK2kuY29udGVudCsiPC8iK2kudGFnKyI+In0sIXNlbGYuZG9jdW1lbnQpcmV0dXJuIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcj8oc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihlKXt2YXIgbj1KU09OLnBhcnNlKGUuZGF0YSksYT1uLmxhbmd1YWdlLHI9bi5jb2RlO3NlbGYucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkodC51dGlsLmVuY29kZSh0LnRva2VuaXplKHIsdC5sYW5ndWFnZXNbYV0pKSkpLHNlbGYuY2xvc2UoKX0sITEpLHNlbGYuUHJpc20pOnNlbGYuUHJpc207dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO3JldHVybiBhPWFbYS5sZW5ndGgtMV0sYSYmKHQuZmlsZW5hbWU9YS5zcmMsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciYmIWEuaGFzQXR0cmlidXRlKCJkYXRhLW1hbnVhbCIpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIix0LmhpZ2hsaWdodEFsbCkpLHNlbGYuUHJpc219KCk7InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzJiYobW9kdWxlLmV4cG9ydHM9UHJpc20pOzsNClByaXNtLmxhbmd1YWdlcy5tYXJrdXA9e2NvbW1lbnQ6LzwhLS1bXHdcV10qPy0tPi8scHJvbG9nOi88XD8uKz9cPz4vLGRvY3R5cGU6LzwhRE9DVFlQRS4rPz4vLGNkYXRhOi88IVxbQ0RBVEFcW1tcd1xXXSo/XV0+L2ksdGFnOntwYXR0ZXJuOi88XC8/W1x3Oi1dK1xzKig/OlxzK1tcdzotXSsoPzo9KD86KCJ8JykoXFw/W1x3XFddKSo/XDF8W15ccyciPj1dKykpP1xzKikqXC8/Pi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi9ePFwvP1tcdzotXSsvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi9ePFwvPy8sbmFtZXNwYWNlOi9eW1x3LV0rPzovfX0sImF0dHItdmFsdWUiOntwYXR0ZXJuOi89KD86KCd8IilbXHdcV10qPyhcMSl8W15ccz5dKykvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi89fD58Ii99fSxwdW5jdHVhdGlvbjovXC8/Pi8sImF0dHItbmFtZSI6e3BhdHRlcm46L1tcdzotXSsvLGluc2lkZTp7bmFtZXNwYWNlOi9eW1x3LV0rPzovfX19fSxlbnRpdHk6LyYjP1tcZGEtel17MSw4fTsvaX0sUHJpc20uaG9va3MuYWRkKCJ3cmFwIixmdW5jdGlvbih0KXsiZW50aXR5Ij09PXQudHlwZSYmKHQuYXR0cmlidXRlcy50aXRsZT10LmNvbnRlbnQucmVwbGFjZSgvJmFtcDsvLCImIikpfSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLmNzcz17Y29tbWVudDovXC9cKltcd1xXXSo/XCpcLy8sYXRydWxlOntwYXR0ZXJuOi9AW1x3LV0rPy4qPyg7fCg/PVxzKlx7KSkvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi9bOzpdL319LHVybDovdXJsXCgoPzooWyInXSkoXFxcbnxcXD8uKSo/XDF8Lio/KVwpL2ksc2VsZWN0b3I6L1teXHtcfVxzXVteXHtcfTtdKig/PVxzKlx7KS8sc3RyaW5nOi8oInwnKShcXFxufFxcPy4pKj9cMS8scHJvcGVydHk6LyhcYnxcQilbXHctXSsoPz1ccyo6KS9pLGltcG9ydGFudDovXEIhaW1wb3J0YW50XGIvaSxwdW5jdHVhdGlvbjovW1x7XH07Ol0vLCJmdW5jdGlvbiI6L1stYS16MC05XSsoPz1cKCkvaX0sUHJpc20ubGFuZ3VhZ2VzLm1hcmt1cCYmKFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoIm1hcmt1cCIsInRhZyIse3N0eWxlOntwYXR0ZXJuOi88c3R5bGVbXHdcV10qPz5bXHdcV10qPzxcL3N0eWxlPi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi88c3R5bGVbXHdcV10qPz58PFwvc3R5bGU+L2ksaW5zaWRlOlByaXNtLmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZX0scmVzdDpQcmlzbS5sYW5ndWFnZXMuY3NzfSxhbGlhczoibGFuZ3VhZ2UtY3NzIn19KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJpbnNpZGUiLCJhdHRyLXZhbHVlIix7InN0eWxlLWF0dHIiOntwYXR0ZXJuOi9ccypzdHlsZT0oInwnKS4qP1wxL2ksaW5zaWRlOnsiYXR0ci1uYW1lIjp7cGF0dGVybjovXlxzKnN0eWxlL2ksaW5zaWRlOlByaXNtLmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZX0scHVuY3R1YXRpb246L15ccyo9XHMqWyciXXxbJyJdXHMqJC8sImF0dHItdmFsdWUiOntwYXR0ZXJuOi8uKy9pLGluc2lkZTpQcmlzbS5sYW5ndWFnZXMuY3NzfX0sYWxpYXM6Imxhbmd1YWdlLWNzcyJ9fSxQcmlzbS5sYW5ndWFnZXMubWFya3VwLnRhZykpOzsNClByaXNtLmxhbmd1YWdlcy5jbGlrZT17Y29tbWVudDpbe3BhdHRlcm46LyhefFteXFxdKVwvXCpbXHdcV10qP1wqXC8vLGxvb2tiZWhpbmQ6ITB9LHtwYXR0ZXJuOi8oXnxbXlxcOl0pXC9cLy4qLyxsb29rYmVoaW5kOiEwfV0sc3RyaW5nOi8oInwnKShcXFxufFxcPy4pKj9cMS8sImNsYXNzLW5hbWUiOntwYXR0ZXJuOi8oKD86KD86Y2xhc3N8aW50ZXJmYWNlfGV4dGVuZHN8aW1wbGVtZW50c3x0cmFpdHxpbnN0YW5jZW9mfG5ldylccyspfCg/OmNhdGNoXHMrXCgpKVthLXowLTlfXC5cXF0rL2ksbG9va2JlaGluZDohMCxpbnNpZGU6e3B1bmN0dWF0aW9uOi8oXC58XFwpL319LGtleXdvcmQ6L1xiKGlmfGVsc2V8d2hpbGV8ZG98Zm9yfHJldHVybnxpbnxpbnN0YW5jZW9mfGZ1bmN0aW9ufG5ld3x0cnl8dGhyb3d8Y2F0Y2h8ZmluYWxseXxudWxsfGJyZWFrfGNvbnRpbnVlKVxiLywiYm9vbGVhbiI6L1xiKHRydWV8ZmFsc2UpXGIvLCJmdW5jdGlvbiI6e3BhdHRlcm46L1thLXowLTlfXStcKC9pLGluc2lkZTp7cHVuY3R1YXRpb246L1woL319LG51bWJlcjovXGItPygweFtcZEEtRmEtZl0rfFxkKlwuP1xkKyhbRWVdLT9cZCspPylcYi8sb3BlcmF0b3I6L1stK117MSwyfXwhfDw9P3w+PT98PXsxLDN9fCZ7MSwyfXxcfD9cfHxcP3xcKnxcL3x+fFxefCUvLGlnbm9yZTovJihsdHxndHxhbXApOy9pLHB1bmN0dWF0aW9uOi9be31bXF07KCksLjpdL307Ow0KUHJpc20ubGFuZ3VhZ2VzLmphdmFzY3JpcHQ9UHJpc20ubGFuZ3VhZ2VzLmV4dGVuZCgiY2xpa2UiLHtrZXl3b3JkOi9cYihicmVha3xjYXNlfGNhdGNofGNsYXNzfGNvbnN0fGNvbnRpbnVlfGRlYnVnZ2VyfGRlZmF1bHR8ZGVsZXRlfGRvfGVsc2V8ZW51bXxleHBvcnR8ZXh0ZW5kc3xmYWxzZXxmaW5hbGx5fGZvcnxmdW5jdGlvbnxnZXR8aWZ8aW1wbGVtZW50c3xpbXBvcnR8aW58aW5zdGFuY2VvZnxpbnRlcmZhY2V8bGV0fG5ld3xudWxsfHBhY2thZ2V8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJldHVybnxzZXR8c3RhdGljfHN1cGVyfHN3aXRjaHx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx2YXJ8dm9pZHx3aGlsZXx3aXRofHlpZWxkKVxiLyxudW1iZXI6L1xiLT8oMHhbXGRBLUZhLWZdK3xcZCpcLj9cZCsoW0VlXVsrLV0/XGQrKT98TmFOfC0/SW5maW5pdHkpXGIvLCJmdW5jdGlvbiI6Lyg/IVxkKVthLXowLTlfJF0rKD89XCgpL2l9KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJqYXZhc2NyaXB0Iiwia2V5d29yZCIse3JlZ2V4OntwYXR0ZXJuOi8oXnxbXi9dKVwvKD8hXC8pKFxbLis/XXxcXC58W14vXHJcbl0pK1wvW2dpbV17MCwzfSg/PVxzKigkfFtcclxuLC47fSldKSkvLGxvb2tiZWhpbmQ6ITB9fSksUHJpc20ubGFuZ3VhZ2VzLm1hcmt1cCYmUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgibWFya3VwIiwidGFnIix7c2NyaXB0OntwYXR0ZXJuOi88c2NyaXB0W1x3XFddKj8+W1x3XFddKj88XC9zY3JpcHQ+L2ksaW5zaWRlOnt0YWc6e3BhdHRlcm46LzxzY3JpcHRbXHdcV10qPz58PFwvc2NyaXB0Pi9pLGluc2lkZTpQcmlzbS5sYW5ndWFnZXMubWFya3VwLnRhZy5pbnNpZGV9LHJlc3Q6UHJpc20ubGFuZ3VhZ2VzLmphdmFzY3JpcHR9LGFsaWFzOiJsYW5ndWFnZS1qYXZhc2NyaXB0In19KTs7DQpQcmlzbS5sYW5ndWFnZXMuYXNwbmV0PVByaXNtLmxhbmd1YWdlcy5leHRlbmQoIm1hcmt1cCIseyJwYWdlLWRpcmVjdGl2ZSB0YWciOntwYXR0ZXJuOi88JVxzKkAuKiU+L2ksaW5zaWRlOnsicGFnZS1kaXJlY3RpdmUgdGFnIjovPCVccypAXHMqKD86QXNzZW1ibHl8Q29udHJvbHxJbXBsZW1lbnRzfEltcG9ydHxNYXN0ZXJ8TWFzdGVyVHlwZXxPdXRwdXRDYWNoZXxQYWdlfFByZXZpb3VzUGFnZVR5cGV8UmVmZXJlbmNlfFJlZ2lzdGVyKT98JT4vaSxyZXN0OlByaXNtLmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZX19LCJkaXJlY3RpdmUgdGFnIjp7cGF0dGVybjovPCUuKiU+L2ksaW5zaWRlOnsiZGlyZWN0aXZlIHRhZyI6LzwlXHMqP1skPSUjOl17MCwyfXwlPi9pLHJlc3Q6UHJpc20ubGFuZ3VhZ2VzLmNzaGFycH19fSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiaW5zaWRlIiwicHVuY3R1YXRpb24iLHsiZGlyZWN0aXZlIHRhZyI6UHJpc20ubGFuZ3VhZ2VzLmFzcG5ldFsiZGlyZWN0aXZlIHRhZyJdfSxQcmlzbS5sYW5ndWFnZXMuYXNwbmV0LnRhZy5pbnNpZGVbImF0dHItdmFsdWUiXSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiYXNwbmV0IiwiY29tbWVudCIseyJhc3AgY29tbWVudCI6LzwlLS1bXHdcV10qPy0tJT4vfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiYXNwbmV0IixQcmlzbS5sYW5ndWFnZXMuamF2YXNjcmlwdD8ic2NyaXB0IjoidGFnIix7ImFzcCBzY3JpcHQiOntwYXR0ZXJuOi88c2NyaXB0KD89LipydW5hdD1bJyJdP3NlcnZlclsnIl0/KVtcd1xXXSo/Pltcd1xXXSo/PFwvc2NyaXB0Pi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi88XC8/c2NyaXB0XHMqKD86XHMrW1x3Oi1dKyg/Oj0oPzooInwnKShcXD9bXHdcV10pKj9cMXxcdyspKT9ccyopKlwvPz4vaSxpbnNpZGU6UHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC50YWcuaW5zaWRlfSxyZXN0OlByaXNtLmxhbmd1YWdlcy5jc2hhcnB8fHt9fX19KSxQcmlzbS5sYW5ndWFnZXMuYXNwbmV0LnN0eWxlJiYoUHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC5zdHlsZS5pbnNpZGUudGFnLnBhdHRlcm49LzxcLz9zdHlsZVxzKig/OlxzK1tcdzotXSsoPzo9KD86KCJ8JykoXFw/W1x3XFddKSo/XDF8XHcrKSk/XHMqKSpcLz8+L2ksUHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC5zdHlsZS5pbnNpZGUudGFnLmluc2lkZT1QcmlzbS5sYW5ndWFnZXMuYXNwbmV0LnRhZy5pbnNpZGUpLFByaXNtLmxhbmd1YWdlcy5hc3BuZXQuc2NyaXB0JiYoUHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC5zY3JpcHQuaW5zaWRlLnRhZy5wYXR0ZXJuPVByaXNtLmxhbmd1YWdlcy5hc3BuZXRbImFzcCBzY3JpcHQiXS5pbnNpZGUudGFnLnBhdHRlcm4sUHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC5zY3JpcHQuaW5zaWRlLnRhZy5pbnNpZGU9UHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC50YWcuaW5zaWRlKTs7DQpQcmlzbS5sYW5ndWFnZXMuYmFzaD1QcmlzbS5sYW5ndWFnZXMuZXh0ZW5kKCJjbGlrZSIse2NvbW1lbnQ6e3BhdHRlcm46LyhefFteIntcXF0pKCMuKj8oXHI/XG58JCkpLyxsb29rYmVoaW5kOiEwfSxzdHJpbmc6e3BhdHRlcm46LygifCcpKFxcP1tcc1xTXSkqP1wxLyxpbnNpZGU6e3Byb3BlcnR5Oi9cJChbYS16QS1aMC05XyNcP1wtXCohQF0rfFx7W15cfV0rXH0pL319LG51bWJlcjp7cGF0dGVybjovKFteXHdcLl0pLT8oMHhbXGRBLUZhLWZdK3xcZCpcLj9cZCsoW0VlXS0/XGQrKT8pXGIvLGxvb2tiZWhpbmQ6ITB9LCJmdW5jdGlvbiI6L1xiKD86YWxpYXN8YXByb3Bvc3xhcHQtZ2V0fGFwdGl0dWRlfGFzcGVsbHxhd2t8YmFzZW5hbWV8YmFzaHxiY3xiZ3xidWlsdGlufGJ6aXAyfGNhbHxjYXR8Y2R8Y2ZkaXNrfGNoZ3JwfGNobW9kfGNob3dufGNocm9vdHxjaGtjb25maWd8Y2tzdW18Y2xlYXJ8Y21wfGNvbW18Y29tbWFuZHxjcHxjcm9ufGNyb250YWJ8Y3NwbGl0fGN1dHxkYXRlfGRjfGRkfGRkcmVzY3VlfGRlY2xhcmV8ZGZ8ZGlmZnxkaWZmM3xkaWd8ZGlyfGRpcmNvbG9yc3xkaXJuYW1lfGRpcnN8ZG1lc2d8ZHV8ZWNob3xlZ3JlcHxlamVjdHxlbmFibGV8ZW52fGV0aHRvb2x8ZXZhbHxleGVjfGV4aXR8ZXhwYW5kfGV4cGVjdHxleHBvcnR8ZXhwcnxmZGZvcm1hdHxmZGlza3xmZ3xmZ3JlcHxmaWxlfGZpbmR8Zm10fGZvbGR8Zm9ybWF0fGZyZWV8ZnNja3xmdHB8ZnVzZXJ8Z2F3a3xnZXRvcHRzfGdpdHxncmVwfGdyb3VwYWRkfGdyb3VwZGVsfGdyb3VwbW9kfGdyb3Vwc3xnemlwfGhhc2h8aGVhZHxoZWxwfGhnfGhpc3Rvcnl8aG9zdG5hbWV8aHRvcHxpY29udnxpZHxpZmNvbmZpZ3xpZmRvd258aWZ1cHxpbXBvcnR8aW5zdGFsbHxqb2JzfGpvaW58a2lsbHxraWxsYWxsfGxlc3N8bGlua3xsbnxsb2NhdGV8bG9nbmFtZXxsb2dvdXR8bG9va3xscGN8bHByfGxwcmludHxscHJpbnRkfGxwcmludHF8bHBybXxsc3xsc29mfG1ha2V8bWFufG1rZGlyfG1rZmlmb3xta2lzb2ZzfG1rbm9kfG1vcmV8bW9zdHxtb3VudHxtdG9vbHN8bXRyfG12fG1tdnxuYW5vfG5ldHN0YXR8bmljZXxubHxub2h1cHxub3RpZnktc2VuZHxuc2xvb2t1cHxvcGVufG9wfHBhc3N3ZHxwYXN0ZXxwYXRoY2hrfHBpbmd8cGtpbGx8cG9wZHxwcnxwcmludGNhcHxwcmludGVudnxwcmludGZ8cHN8cHVzaGR8cHZ8cHdkfHF1b3RhfHF1b3RhY2hlY2t8cXVvdGFjdGx8cmFtfHJhcnxyY3B8cmVhZHxyZWFkYXJyYXl8cmVhZG9ubHl8cmVib290fHJlbmFtZXxyZW5pY2V8cmVtc3luY3xyZXZ8cm18cm1kaXJ8cnN5bmN8c2NyZWVufHNjcHxzZGlmZnxzZWR8c2VsZWN0fHNlcXxzZXJ2aWNlfHNmdHB8c2hpZnR8c2hvcHR8c2h1dGRvd258c2xlZXB8c2xvY2F0ZXxzb3J0fHNvdXJjZXxzcGxpdHxzc2h8c3RhdHxzdHJhY2V8c3V8c3Vkb3xzdW18c3VzcGVuZHxzeW5jfHRhaWx8dGFyfHRlZXx0ZXN0fHRpbWV8dGltZW91dHx0aW1lc3x0b3VjaHx0b3B8dHJhY2Vyb3V0ZXx0cmFwfHRyfHRzb3J0fHR0eXx0eXBlfHVsaW1pdHx1bWFza3x1bW91bnR8dW5hbGlhc3x1bmFtZXx1bmV4cGFuZHx1bmlxfHVuaXRzfHVucmFyfHVuc2hhcnx1bnRpbHx1cHRpbWV8dXNlcmFkZHx1c2VyZGVsfHVzZXJtb2R8dXNlcnN8dXVlbmNvZGV8dXVkZWNvZGV8dnx2ZGlyfHZpfHZtc3RhdHx3YWl0fHdhdGNofHdjfHdnZXR8d2hlcmVpc3x3aGljaHx3aG98d2hvYW1pfHdyaXRlfHhhcmdzfHhkZy1vcGVufHllc3x6aXApXGIvLGtleXdvcmQ6L1xiKGlmfHRoZW58ZWxzZXxlbGlmfGZpfGZvcnxicmVha3xjb250aW51ZXx3aGlsZXxpbnxjYXNlfGZ1bmN0aW9ufHNlbGVjdHxkb3xkb25lfHVudGlsfGVjaG98ZXhpdHxyZXR1cm58c2V0fGRlY2xhcmUpXGIvfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiYmFzaCIsImtleXdvcmQiLHtwcm9wZXJ0eTovXCQoW2EtekEtWjAtOV8jXD9cLVwqIUBdK3xce1tefV0rXH0pL30pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImJhc2giLCJjb21tZW50Iix7aW1wb3J0YW50Oi8oXiMhXHMqXC9iaW5cL2Jhc2gpfCheIyFccypcL2Jpblwvc2gpL30pOzsNClByaXNtLmxhbmd1YWdlcy5jPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7c3RyaW5nOi8oInwnKShbXlxuXFxcMV18XFwufFxcXHIqXG4pKj9cMS8sa2V5d29yZDovXGIoYXNtfHR5cGVvZnxpbmxpbmV8YXV0b3xicmVha3xjYXNlfGNoYXJ8Y29uc3R8Y29udGludWV8ZGVmYXVsdHxkb3xkb3VibGV8ZWxzZXxlbnVtfGV4dGVybnxmbG9hdHxmb3J8Z290b3xpZnxpbnR8bG9uZ3xyZWdpc3RlcnxyZXR1cm58c2hvcnR8c2lnbmVkfHNpemVvZnxzdGF0aWN8c3RydWN0fHN3aXRjaHx0eXBlZGVmfHVuaW9ufHVuc2lnbmVkfHZvaWR8dm9sYXRpbGV8d2hpbGUpXGIvLG9wZXJhdG9yOi9bLStdezEsMn18IT0/fDx7MSwyfT0/fD57MSwyfT0/fFwtPnw9ezEsMn18XF58fnwlfCZ7MSwyfXxcfD9cfHxcP3xcKnxcLy99KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJjIiwic3RyaW5nIix7cHJvcGVydHk6e3BhdHRlcm46LygoXnxcbilccyopI1xzKlthLXpdKyhbXlxuXFxdfFxcLnxcXFxyKlxuKSovaSxsb29rYmVoaW5kOiEwLGluc2lkZTp7c3RyaW5nOntwYXR0ZXJuOi8oI1xzKmluY2x1ZGVccyopKDwuKz8+fCgifCcpKFxcPy4pKz9cMykvLGxvb2tiZWhpbmQ6ITB9fX19KSxkZWxldGUgUHJpc20ubGFuZ3VhZ2VzLmNbImNsYXNzLW5hbWUiXSxkZWxldGUgUHJpc20ubGFuZ3VhZ2VzLmNbImJvb2xlYW4iXTs7DQpQcmlzbS5sYW5ndWFnZXMuY3NoYXJwPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYWJzdHJhY3R8YXN8YXN5bmN8YXdhaXR8YmFzZXxib29sfGJyZWFrfGJ5dGV8Y2FzZXxjYXRjaHxjaGFyfGNoZWNrZWR8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVjaW1hbHxkZWZhdWx0fGRlbGVnYXRlfGRvfGRvdWJsZXxlbHNlfGVudW18ZXZlbnR8ZXhwbGljaXR8ZXh0ZXJufGZhbHNlfGZpbmFsbHl8Zml4ZWR8ZmxvYXR8Zm9yfGZvcmVhY2h8Z290b3xpZnxpbXBsaWNpdHxpbnxpbnR8aW50ZXJmYWNlfGludGVybmFsfGlzfGxvY2t8bG9uZ3xuYW1lc3BhY2V8bmV3fG51bGx8b2JqZWN0fG9wZXJhdG9yfG91dHxvdmVycmlkZXxwYXJhbXN8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJlYWRvbmx5fHJlZnxyZXR1cm58c2J5dGV8c2VhbGVkfHNob3J0fHNpemVvZnxzdGFja2FsbG9jfHN0YXRpY3xzdHJpbmd8c3RydWN0fHN3aXRjaHx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx1aW50fHVsb25nfHVuY2hlY2tlZHx1bnNhZmV8dXNob3J0fHVzaW5nfHZpcnR1YWx8dm9pZHx2b2xhdGlsZXx3aGlsZXxhZGR8YWxpYXN8YXNjZW5kaW5nfGFzeW5jfGF3YWl0fGRlc2NlbmRpbmd8ZHluYW1pY3xmcm9tfGdldHxnbG9iYWx8Z3JvdXB8aW50b3xqb2lufGxldHxvcmRlcmJ5fHBhcnRpYWx8cmVtb3ZlfHNlbGVjdHxzZXR8dmFsdWV8dmFyfHdoZXJlfHlpZWxkKVxiLyxzdHJpbmc6Wy9AKCJ8JykoXDFcMXxcXFwxfFxcPyg/IVwxKVtcc1xTXSkqXDEvLC8oInwnKShcXD8uKSo/XDEvXSxwcmVwcm9jZXNzb3I6L15ccyojLiovbSxudW1iZXI6L1xiLT8oMHhbXGRhLWZdK3xcZCpcLj9cZCspXGIvaX0pOzsNClByaXNtLmxhbmd1YWdlcy5jcHA9UHJpc20ubGFuZ3VhZ2VzLmV4dGVuZCgiYyIse2tleXdvcmQ6L1xiKGFsaWduYXN8YWxpZ25vZnxhc218YXV0b3xib29sfGJyZWFrfGNhc2V8Y2F0Y2h8Y2hhcnxjaGFyMTZfdHxjaGFyMzJfdHxjbGFzc3xjb21wbHxjb25zdHxjb25zdGV4cHJ8Y29uc3RfY2FzdHxjb250aW51ZXxkZWNsdHlwZXxkZWZhdWx0fGRlbGV0ZXxkZWxldGVcW1xdfGRvfGRvdWJsZXxkeW5hbWljX2Nhc3R8ZWxzZXxlbnVtfGV4cGxpY2l0fGV4cG9ydHxleHRlcm58ZmxvYXR8Zm9yfGZyaWVuZHxnb3RvfGlmfGlubGluZXxpbnR8bG9uZ3xtdXRhYmxlfG5hbWVzcGFjZXxuZXd8bmV3XFtcXXxub2V4Y2VwdHxudWxscHRyfG9wZXJhdG9yfHByaXZhdGV8cHJvdGVjdGVkfHB1YmxpY3xyZWdpc3RlcnxyZWludGVycHJldF9jYXN0fHJldHVybnxzaG9ydHxzaWduZWR8c2l6ZW9mfHN0YXRpY3xzdGF0aWNfYXNzZXJ0fHN0YXRpY19jYXN0fHN0cnVjdHxzd2l0Y2h8dGVtcGxhdGV8dGhpc3x0aHJlYWRfbG9jYWx8dGhyb3d8dHJ5fHR5cGVkZWZ8dHlwZWlkfHR5cGVuYW1lfHVuaW9ufHVuc2lnbmVkfHVzaW5nfHZpcnR1YWx8dm9pZHx2b2xhdGlsZXx3Y2hhcl90fHdoaWxlKVxiLywiYm9vbGVhbiI6L1xiKHRydWV8ZmFsc2UpXGIvLG9wZXJhdG9yOi9bLStdezEsMn18IT0/fDx7MSwyfT0/fD57MSwyfT0/fFwtPnw6ezEsMn18PXsxLDJ9fFxefH58JXwmezEsMn18XHw/XHx8XD98XCp8XC98XGIoYW5kfGFuZF9lcXxiaXRhbmR8Yml0b3J8bm90fG5vdF9lcXxvcnxvcl9lcXx4b3J8eG9yX2VxKVxiL30pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImNwcCIsImtleXdvcmQiLHsiY2xhc3MtbmFtZSI6e3BhdHRlcm46LyhjbGFzc1xzKylbYS16MC05X10rL2ksbG9va2JlaGluZDohMH19KTs7DQohZnVuY3Rpb24oZSl7dmFyIG49LyMoPyFceykuKy8sdD17cGF0dGVybjovI1x7W159XStcfS8sYWxpYXM6InZhcmlhYmxlIn07ZS5sYW5ndWFnZXMuY29mZmVlc2NyaXB0PWUubGFuZ3VhZ2VzLmV4dGVuZCgiamF2YXNjcmlwdCIse2NvbW1lbnQ6bixzdHJpbmc6Wy8nKD86XFw/W1xzXFNdKSo/Jy8se3BhdHRlcm46LyIoPzpcXD9bXHNcU10pKj8iLyxpbnNpZGU6e2ludGVycG9sYXRpb246dH19XSxrZXl3b3JkOi9cYihhbmR8YnJlYWt8Ynl8Y2F0Y2h8Y2xhc3N8Y29udGludWV8ZGVidWdnZXJ8ZGVsZXRlfGRvfGVhY2h8ZWxzZXxleHRlbmR8ZXh0ZW5kc3xmYWxzZXxmaW5hbGx5fGZvcnxpZnxpbnxpbnN0YW5jZW9mfGlzfGlzbnR8bGV0fGxvb3B8bmFtZXNwYWNlfG5ld3xub3xub3R8bnVsbHxvZnxvZmZ8b258b3J8b3dufHJldHVybnxzdXBlcnxzd2l0Y2h8dGhlbnx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx1bmRlZmluZWR8dW5sZXNzfHVudGlsfHdoZW58d2hpbGV8d2luZG93fHdpdGh8eWVzfHlpZWxkKVxiLywiY2xhc3MtbWVtYmVyIjp7cGF0dGVybjovQCg/IVxkKVx3Ky8sYWxpYXM6InZhcmlhYmxlIn19KSxlLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImNvZmZlZXNjcmlwdCIsImNvbW1lbnQiLHsibXVsdGlsaW5lLWNvbW1lbnQiOntwYXR0ZXJuOi8jIyNbXHNcU10rPyMjIy8sYWxpYXM6ImNvbW1lbnQifSwiYmxvY2stcmVnZXgiOntwYXR0ZXJuOi9cL3szfVtcc1xTXSo/XC97M30vLGFsaWFzOiJyZWdleCIsaW5zaWRlOntjb21tZW50Om4saW50ZXJwb2xhdGlvbjp0fX19KSxlLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImNvZmZlZXNjcmlwdCIsInN0cmluZyIseyJpbmxpbmUtamF2YXNjcmlwdCI6e3BhdHRlcm46L2AoPzpcXD9bXHNcU10pKj9gLyxpbnNpZGU6e2RlbGltaXRlcjp7cGF0dGVybjovXmB8YCQvLGFsaWFzOiJwdW5jdHVhdGlvbiJ9LHJlc3Q6ZS5sYW5ndWFnZXMuamF2YXNjcmlwdH19LCJtdWx0aWxpbmUtc3RyaW5nIjpbe3BhdHRlcm46LycnJ1tcc1xTXSo/JycnLyxhbGlhczoic3RyaW5nIn0se3BhdHRlcm46LyIiIltcc1xTXSo/IiIiLyxhbGlhczoic3RyaW5nIixpbnNpZGU6e2ludGVycG9sYXRpb246dH19XX0pLGUubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiY29mZmVlc2NyaXB0Iiwia2V5d29yZCIse3Byb3BlcnR5Oi8oPyFcZClcdysoPz1ccyo6KD8hOikpL30pfShQcmlzbSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLmNzcy5zZWxlY3Rvcj17cGF0dGVybjovW15ce1x9XHNdW15ce1x9XSooPz1ccypceykvLGluc2lkZTp7InBzZXVkby1lbGVtZW50IjovOig/OmFmdGVyfGJlZm9yZXxmaXJzdC1sZXR0ZXJ8Zmlyc3QtbGluZXxzZWxlY3Rpb24pfDo6Wy1cd10rLywicHNldWRvLWNsYXNzIjovOlstXHddKyg/OlwoLipcKSk/LywiY2xhc3MiOi9cLlstOlwuXHddKy8saWQ6LyNbLTpcLlx3XSsvfX0sUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiY3NzIiwiZnVuY3Rpb24iLHtoZXhjb2RlOi8jW1xkYS1mXXszLDZ9L2ksZW50aXR5Oi9cXFtcZGEtZl17MSw4fS9pLG51bWJlcjovW1xkJVwuXSsvfSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLmdpdD17Y29tbWVudDovXiMuKiQvbSxzdHJpbmc6LygifCcpKFxcPy4pKj9cMS9tLGNvbW1hbmQ6e3BhdHRlcm46L14uKlwkIGdpdCAuKiQvbSxpbnNpZGU6e3BhcmFtZXRlcjovXHMoLS18LSlcdysvbX19LGNvb3JkOi9eQEAuKkBAJC9tLGRlbGV0ZWQ6L14tKD8hLSkuKyQvbSxpbnNlcnRlZDovXlwrKD8hXCspLiskL20sY29tbWl0X3NoYTE6L15jb21taXQgXHd7NDB9JC9tfTs7DQpQcmlzbS5sYW5ndWFnZXMuaHR0cD17InJlcXVlc3QtbGluZSI6e3BhdHRlcm46L14oUE9TVHxHRVR8UFVUfERFTEVURXxPUFRJT05TfFBBVENIfFRSQUNFfENPTk5FQ1QpXGJcc2h0dHBzPzpcL1wvXFMrXHNIVFRQXC9bMC05Ll0rLyxpbnNpZGU6e3Byb3BlcnR5Oi9eXGIoUE9TVHxHRVR8UFVUfERFTEVURXxPUFRJT05TfFBBVENIfFRSQUNFfENPTk5FQ1QpXGIvLCJhdHRyLW5hbWUiOi86XHcrL319LCJyZXNwb25zZS1zdGF0dXMiOntwYXR0ZXJuOi9eSFRUUFwvMS5bMDFdIFswLTldKy4qLyxpbnNpZGU6e3Byb3BlcnR5Oi9bMC05XStbQS1aXHMtXSskL2l9fSxrZXl3b3JkOi9eW1x3LV0rOig/PS4rKS9tfTt2YXIgaHR0cExhbmd1YWdlcz17ImFwcGxpY2F0aW9uL2pzb24iOlByaXNtLmxhbmd1YWdlcy5qYXZhc2NyaXB0LCJhcHBsaWNhdGlvbi94bWwiOlByaXNtLmxhbmd1YWdlcy5tYXJrdXAsInRleHQveG1sIjpQcmlzbS5sYW5ndWFnZXMubWFya3VwLCJ0ZXh0L2h0bWwiOlByaXNtLmxhbmd1YWdlcy5tYXJrdXB9O2Zvcih2YXIgY29udGVudFR5cGUgaW4gaHR0cExhbmd1YWdlcylpZihodHRwTGFuZ3VhZ2VzW2NvbnRlbnRUeXBlXSl7dmFyIG9wdGlvbnM9e307b3B0aW9uc1tjb250ZW50VHlwZV09e3BhdHRlcm46bmV3IFJlZ0V4cCgiKGNvbnRlbnQtdHlwZTpcXHMqIitjb250ZW50VHlwZSsiW1xcd1xcV10qPylcXG5cXG5bXFx3XFxXXSoiLCJpIiksbG9va2JlaGluZDohMCxpbnNpZGU6e3Jlc3Q6aHR0cExhbmd1YWdlc1tjb250ZW50VHlwZV19fSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJodHRwIiwia2V5d29yZCIsb3B0aW9ucyl9Ow0KUHJpc20ubGFuZ3VhZ2VzLmluaT17Y29tbWVudDovXlxzKjsuKiQvbSxpbXBvcnRhbnQ6L1xbLio/XF0vbSxjb25zdGFudDovXlxzKlteXHM9XSs/KD89WyBcdF0qPSkvbSwiYXR0ci12YWx1ZSI6e3BhdHRlcm46Lz0uKi9tLGluc2lkZTp7cHVuY3R1YXRpb246L15bPV0vfX19OzsNClByaXNtLmxhbmd1YWdlcy5qYXZhPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYWJzdHJhY3R8Y29udGludWV8Zm9yfG5ld3xzd2l0Y2h8YXNzZXJ0fGRlZmF1bHR8Z290b3xwYWNrYWdlfHN5bmNocm9uaXplZHxib29sZWFufGRvfGlmfHByaXZhdGV8dGhpc3xicmVha3xkb3VibGV8aW1wbGVtZW50c3xwcm90ZWN0ZWR8dGhyb3d8Ynl0ZXxlbHNlfGltcG9ydHxwdWJsaWN8dGhyb3dzfGNhc2V8ZW51bXxpbnN0YW5jZW9mfHJldHVybnx0cmFuc2llbnR8Y2F0Y2h8ZXh0ZW5kc3xpbnR8c2hvcnR8dHJ5fGNoYXJ8ZmluYWx8aW50ZXJmYWNlfHN0YXRpY3x2b2lkfGNsYXNzfGZpbmFsbHl8bG9uZ3xzdHJpY3RmcHx2b2xhdGlsZXxjb25zdHxmbG9hdHxuYXRpdmV8c3VwZXJ8d2hpbGUpXGIvLG51bWJlcjovXGIwYlswMV0rXGJ8XGIweFtcZGEtZl0qXC4/W1xkYS1mcFwtXStcYnxcYlxkKlwuP1xkK1tlXT9bXGRdKltkZl1cYnxcYlxkKlwuP1xkK1xiL2ksb3BlcmF0b3I6e3BhdHRlcm46LyhefFteXC5dKSg/OlwrPXxcK1wrP3wtPXwtLT98IT0/fDx7MSwyfT0/fD57MSwzfT0/fD09P3wmPXwmJj98XHw9fFx8XHw/fFw/fFwqPT98XC89P3wlPT98XF49P3w6fH4pL20sbG9va2JlaGluZDohMH19KTs7DQpQcmlzbS5sYW5ndWFnZXMubGF0ZXg9e2NvbW1lbnQ6LyUuKj8oXHI/XG58JCkkL20sc3RyaW5nOi8oXCQpKFxcPy4pKj9cMS8scHVuY3R1YXRpb246L1t7fV0vLHNlbGVjdG9yOi9cXFthLXo7LDpcLl0qL2l9OzsNClByaXNtLmxhbmd1YWdlcy5sZXNzPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNzcyIse2NvbW1lbnQ6Wy9cL1wqW1x3XFddKj9cKlwvLyx7cGF0dGVybjovKF58W15cXF0pXC9cLy4qLyxsb29rYmVoaW5kOiEwfV0sYXRydWxlOntwYXR0ZXJuOi9AW1x3LV0rPyg/OlwoW157fV0rXCl8W14oKXt9O10pKj8oPz1ccypceykvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi9bOigpXS99fSxzZWxlY3Rvcjp7cGF0dGVybjovKD86QFx7W1x3LV0rXH18W157fTtcc0BdKSg/OkBce1tcdy1dK1x9fFwoW157fV0qXCl8W157fTtAXSkqPyg/PVxzKlx7KS8saW5zaWRlOnt2YXJpYWJsZTovQCtbXHctXSsvfX0scHJvcGVydHk6LyhcYnxcQikoPzpAXHtbXHctXStcfXxbXHctXSkrKD86XCtfPyk/KD89XHMqOikvaSxwdW5jdHVhdGlvbjovW3t9KCk7OixdLyxvcGVyYXRvcjovWytcLSpcL10vfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgibGVzcyIsInB1bmN0dWF0aW9uIix7ImZ1bmN0aW9uIjpQcmlzbS5sYW5ndWFnZXMubGVzcy5mdW5jdGlvbn0pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImxlc3MiLCJwcm9wZXJ0eSIse3ZhcmlhYmxlOlt7cGF0dGVybjovQFtcdy1dK1xzKjovLGluc2lkZTp7cHVuY3R1YXRpb246LzovfX0sL0BAP1tcdy1dKy9dLCJtaXhpbi11c2FnZSI6e3BhdHRlcm46LyhbeztdXHMqKVsuI10oPyFcZClbXHctXSsuKj8oPz1bKDtdKS8sbG9va2JlaGluZDohMCxhbGlhczoiZnVuY3Rpb24ifX0pOzsNClByaXNtLmxhbmd1YWdlcy5tYXRsYWI9e3N0cmluZzp7cGF0dGVybjovKF58XFcpJyg/OicnfFteJ1xuXSkqJy8sbG9va2JlaGluZDohMH0sY29tbWVudDpbLyVce1tcc1xTXSo/XH0lLywvJS4rL10sbnVtYmVyOi9cYi0/KD86XGQqXC4/XGQrKD86W2VFXVsrLV0/XGQrKT8oPzpbaWpdKT98W2lqXSlcYi8sa2V5d29yZDovXGIoPzpicmVha3xjYXNlfGNhdGNofGNvbnRpbnVlfGVsc2V8ZWxzZWlmfGVuZHxmb3J8ZnVuY3Rpb258aWZ8aW5mfE5hTnxvdGhlcndpc2V8cGFyZm9yfHBhdXNlfHBpfHJldHVybnxzd2l0Y2h8dHJ5fHdoaWxlKVxiLywiZnVuY3Rpb24iOi8oPyFcZClcdysoPz1ccypcKCkvLG9wZXJhdG9yOi9cLj9bKl5cL1xcJ118WytcLTpAXXxbPD49fl09P3wmJj98XHxcfD8vLHB1bmN0dWF0aW9uOi9cLnszfXxbLiw7XFtcXSgpe30hXS99OzsNClByaXNtLmxhbmd1YWdlcy5vYmplY3RpdmVjPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImMiLHtrZXl3b3JkOi8oXGIoYXNtfHR5cGVvZnxpbmxpbmV8YXV0b3xicmVha3xjYXNlfGNoYXJ8Y29uc3R8Y29udGludWV8ZGVmYXVsdHxkb3xkb3VibGV8ZWxzZXxlbnVtfGV4dGVybnxmbG9hdHxmb3J8Z290b3xpZnxpbnR8bG9uZ3xyZWdpc3RlcnxyZXR1cm58c2hvcnR8c2lnbmVkfHNpemVvZnxzdGF0aWN8c3RydWN0fHN3aXRjaHx0eXBlZGVmfHVuaW9ufHVuc2lnbmVkfHZvaWR8dm9sYXRpbGV8d2hpbGV8aW58c2VsZnxzdXBlcilcYil8KCg/PVtcd3xAXSkoQGludGVyZmFjZXxAZW5kfEBpbXBsZW1lbnRhdGlvbnxAcHJvdG9jb2x8QGNsYXNzfEBwdWJsaWN8QHByb3RlY3RlZHxAcHJpdmF0ZXxAcHJvcGVydHl8QHRyeXxAY2F0Y2h8QGZpbmFsbHl8QHRocm93fEBzeW50aGVzaXplfEBkeW5hbWljfEBzZWxlY3RvcilcYikvLHN0cmluZzovKD86KCJ8JykoW15cblxcXDFdfFxcLnxcXFxyKlxuKSo/XDEpfChAIihbXlxuXFwiXXxcXC58XFxccipcbikqPyIpLyxvcGVyYXRvcjovWy0rXXsxLDJ9fCE9P3w8ezEsMn09P3w+ezEsMn09P3xcLT58PXsxLDJ9fFxefH58JXwmezEsMn18XHw/XHx8XD98XCp8XC98QC99KTs7DQpQcmlzbS5sYW5ndWFnZXMucGVybD17Y29tbWVudDpbe3BhdHRlcm46LygoPzpefFxuKVxzKik9XHcrW1xzXFNdKj89Y3V0LiovLGxvb2tiZWhpbmQ6ITB9LHtwYXR0ZXJuOi8oXnxbXlxcJF0pIy4qPyhccj9cbnwkKS8sbG9va2JlaGluZDohMH1dLHN0cmluZzpbL1xiKD86cXxxcXxxeHxxdylccyooW15hLXpBLVowLTlcc1x7XChcWzxdKShcXD8uKSo/XHMqXDEvLC9cYig/OnF8cXF8cXh8cXcpXHMrKFthLXpBLVowLTldKShcXD8uKSo/XHMqXDEvLC9cYig/OnF8cXF8cXh8cXcpXHMqXCgoW14oKV18XFwuKSpccypcKS8sL1xiKD86cXxxcXxxeHxxdylccypceyhbXnt9XXxcXC4pKlxzKlx9LywvXGIoPzpxfHFxfHF4fHF3KVxzKlxbKFteW1xdXXxcXC4pKlxzKlxdLywvXGIoPzpxfHFxfHF4fHF3KVxzKjwoW148Pl18XFwuKSpccyo+LywvKCJ8J3xgKShcXD8uKSo/XDEvXSxyZWdleDpbL1xiKD86bXxxcilccyooW15hLXpBLVowLTlcc1x7XChcWzxdKShcXD8uKSo/XHMqXDFbbXNpeHBvZHVhbGdjXSovLC9cYig/Om18cXIpXHMrKFthLXpBLVowLTldKShcXD8uKSo/XHMqXDFbbXNpeHBvZHVhbGdjXSovLC9cYig/Om18cXIpXHMqXCgoW14oKV18XFwuKSpccypcKVttc2l4cG9kdWFsZ2NdKi8sL1xiKD86bXxxcilccypceyhbXnt9XXxcXC4pKlxzKlx9W21zaXhwb2R1YWxnY10qLywvXGIoPzptfHFyKVxzKlxbKFteW1xdXXxcXC4pKlxzKlxdW21zaXhwb2R1YWxnY10qLywvXGIoPzptfHFyKVxzKjwoW148Pl18XFwuKSpccyo+W21zaXhwb2R1YWxnY10qLywvXGIoPzpzfHRyfHkpXHMqKFteYS16QS1aMC05XHNce1woXFs8XSkoXFw/LikqP1xzKlwxXHMqKCg/IVwxKS58XFwuKSpccypcMVttc2l4cG9kdWFsZ2Nlcl0qLywvXGIoPzpzfHRyfHkpXHMrKFthLXpBLVowLTldKShcXD8uKSo/XHMqXDFccyooKD8hXDEpLnxcXC4pKlxzKlwxW21zaXhwb2R1YWxnY2VyXSovLC9cYig/OnN8dHJ8eSlccypcKChbXigpXXxcXC4pKlxzKlwpXHMqXChccyooW14oKV18XFwuKSpccypcKVttc2l4cG9kdWFsZ2Nlcl0qLywvXGIoPzpzfHRyfHkpXHMqXHsoW157fV18XFwuKSpccypcfVxzKlx7XHMqKFtee31dfFxcLikqXHMqXH1bbXNpeHBvZHVhbGdjZXJdKi8sL1xiKD86c3x0cnx5KVxzKlxbKFteW1xdXXxcXC4pKlxzKlxdXHMqXFtccyooW15bXF1dfFxcLikqXHMqXF1bbXNpeHBvZHVhbGdjZXJdKi8sL1xiKD86c3x0cnx5KVxzKjwoW148Pl18XFwuKSpccyo+XHMqPFxzKihbXjw+XXxcXC4pKlxzKj5bbXNpeHBvZHVhbGdjZXJdKi8sL1wvKFxbLis/XXxcXC58W15cL1xyXG5dKSpcL1ttc2l4cG9kdWFsZ2NdKig/PVxzKigkfFtcclxuLC47fSkmfFwtKyo9fjw+IT9eXXwobHR8Z3R8bGV8Z2V8ZXF8bmV8Y21wfG5vdHxhbmR8b3J8eG9yfHgpXGIpKS9dLHZhcmlhYmxlOlsvWyYqXCRAJV1ce1xeW0EtWl0rXH0vLC9bJipcJEAlXVxeW0EtWl9dLywvWyYqXCRAJV0jPyg/PVx7KS8sL1smKlwkQCVdIz8oKDo6KSonPyg/IVxkKVtcdyRdKykrKDo6KSovaSwvWyYqXCRAJV1cZCsvLC9bXCRAJV1bISIjXCQlJicoKSorLFwtLlwvOjs8PT4/QFtcXFxdXl9ge3x9fl0vXSxmaWxlaGFuZGxlOntwYXR0ZXJuOi88KD8hPSkuKj58XGJfXGIvLGFsaWFzOiJzeW1ib2wifSx2c3RyaW5nOntwYXR0ZXJuOi92XGQrKFwuXGQrKSp8XGQrKFwuXGQrKXsyLH0vLGFsaWFzOiJzdHJpbmcifSwiZnVuY3Rpb24iOntwYXR0ZXJuOi9zdWIgW2EtejAtOV9dKy9pLGluc2lkZTp7a2V5d29yZDovc3ViL319LGtleXdvcmQ6L1xiKGFueXxicmVha3xjb250aW51ZXxkZWZhdWx0fGRlbGV0ZXxkaWV8ZG98ZWxzZXxlbHNpZnxldmFsfGZvcnxmb3JlYWNofGdpdmVufGdvdG98aWZ8bGFzdHxsb2NhbHxteXxuZXh0fG91cnxwYWNrYWdlfHByaW50fHJlZG98cmVxdWlyZXxzYXl8c3RhdGV8c3VifHN3aXRjaHx1bmRlZnx1bmxlc3N8dW50aWx8dXNlfHdoZW58d2hpbGUpXGIvLG51bWJlcjovKFxufFxiKS0/KDB4W1xkQS1GYS1mXShfP1tcZEEtRmEtZl0pKnwwYlswMV0oXz9bMDFdKSp8KFxkKF8/XGQpKik/XC4/XGQoXz9cZCkqKFtFZV0tP1xkKyk/KVxiLyxvcGVyYXRvcjovLVtyd3hvUldYT2V6c2ZkbHBTYmN0dWdrVEJNQUNdXGJ8Wy0rKj1+XC98Jl17MSwyfXw8PT98Pj0/fFwuezEsM318WyE/XFxeXXxcYihsdHxndHxsZXxnZXxlcXxuZXxjbXB8bm90fGFuZHxvcnx4b3J8eClcYi8scHVuY3R1YXRpb246L1t7fVtcXTsoKSw6XS99OzsNClByaXNtLmxhbmd1YWdlcy5waHA9UHJpc20ubGFuZ3VhZ2VzLmV4dGVuZCgiY2xpa2UiLHtrZXl3b3JkOi9cYihhbmR8b3J8eG9yfGFycmF5fGFzfGJyZWFrfGNhc2V8Y2Z1bmN0aW9ufGNsYXNzfGNvbnN0fGNvbnRpbnVlfGRlY2xhcmV8ZGVmYXVsdHxkaWV8ZG98ZWxzZXxlbHNlaWZ8ZW5kZGVjbGFyZXxlbmRmb3J8ZW5kZm9yZWFjaHxlbmRpZnxlbmRzd2l0Y2h8ZW5kd2hpbGV8ZXh0ZW5kc3xmb3J8Zm9yZWFjaHxmdW5jdGlvbnxpbmNsdWRlfGluY2x1ZGVfb25jZXxnbG9iYWx8aWZ8bmV3fHJldHVybnxzdGF0aWN8c3dpdGNofHVzZXxyZXF1aXJlfHJlcXVpcmVfb25jZXx2YXJ8d2hpbGV8YWJzdHJhY3R8aW50ZXJmYWNlfHB1YmxpY3xpbXBsZW1lbnRzfHByaXZhdGV8cHJvdGVjdGVkfHBhcmVudHx0aHJvd3xudWxsfGVjaG98cHJpbnR8dHJhaXR8bmFtZXNwYWNlfGZpbmFsfHlpZWxkfGdvdG98aW5zdGFuY2VvZnxmaW5hbGx5fHRyeXxjYXRjaClcYi9pLGNvbnN0YW50Oi9cYltBLVowLTlfXXsyLH1cYi8sY29tbWVudDp7cGF0dGVybjovKF58W15cXF0pKFwvXCpbXHdcV10qP1wqXC98KF58W146XSkoXC9cLykuKj8oXHI/XG58JCkpLyxsb29rYmVoaW5kOiEwfX0pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInBocCIsImNsYXNzLW5hbWUiLHsic2hlbGwtY29tbWVudCI6e3BhdHRlcm46LyhefFteXFxdKSMuKj8oXHI/XG58JCkvLGxvb2tiZWhpbmQ6ITAsYWxpYXM6ImNvbW1lbnQifX0pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInBocCIsImtleXdvcmQiLHtkZWxpbWl0ZXI6LyhcPz58PFw/cGhwfDxcPykvaSx2YXJpYWJsZTovKFwkXHcrKVxiL2ksInBhY2thZ2UiOntwYXR0ZXJuOi8oXFx8bmFtZXNwYWNlXHMrfHVzZVxzKylbXHdcXF0rLyxsb29rYmVoaW5kOiEwLGluc2lkZTp7cHVuY3R1YXRpb246L1xcL319fSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgicGhwIiwib3BlcmF0b3IiLHtwcm9wZXJ0eTp7cGF0dGVybjovKC0+KVtcd10rLyxsb29rYmVoaW5kOiEwfX0pLFByaXNtLmxhbmd1YWdlcy5tYXJrdXAmJihQcmlzbS5ob29rcy5hZGQoImJlZm9yZS1oaWdobGlnaHQiLGZ1bmN0aW9uKGUpeyJwaHAiPT09ZS5sYW5ndWFnZSYmKGUudG9rZW5TdGFjaz1bXSxlLmJhY2t1cENvZGU9ZS5jb2RlLGUuY29kZT1lLmNvZGUucmVwbGFjZSgvKD86PFw/cGhwfDxcPylbXHdcV10qPyg/Olw/PikvZ2ksZnVuY3Rpb24obil7cmV0dXJuIGUudG9rZW5TdGFjay5wdXNoKG4pLCJ7e3tQSFAiK2UudG9rZW5TdGFjay5sZW5ndGgrIn19fSJ9KSl9KSxQcmlzbS5ob29rcy5hZGQoImJlZm9yZS1pbnNlcnQiLGZ1bmN0aW9uKGUpeyJwaHAiPT09ZS5sYW5ndWFnZSYmKGUuY29kZT1lLmJhY2t1cENvZGUsZGVsZXRlIGUuYmFja3VwQ29kZSl9KSxQcmlzbS5ob29rcy5hZGQoImFmdGVyLWhpZ2hsaWdodCIsZnVuY3Rpb24oZSl7aWYoInBocCI9PT1lLmxhbmd1YWdlKXtmb3IodmFyIG4sYT0wO249ZS50b2tlblN0YWNrW2FdO2ErKyllLmhpZ2hsaWdodGVkQ29kZT1lLmhpZ2hsaWdodGVkQ29kZS5yZXBsYWNlKCJ7e3tQSFAiKyhhKzEpKyJ9fX0iLFByaXNtLmhpZ2hsaWdodChuLGUuZ3JhbW1hciwicGhwIikpO2UuZWxlbWVudC5pbm5lckhUTUw9ZS5oaWdobGlnaHRlZENvZGV9fSksUHJpc20uaG9va3MuYWRkKCJ3cmFwIixmdW5jdGlvbihlKXsicGhwIj09PWUubGFuZ3VhZ2UmJiJtYXJrdXAiPT09ZS50eXBlJiYoZS5jb250ZW50PWUuY29udGVudC5yZXBsYWNlKC8oXHtce1x7UEhQWzAtOV0rXH1cfVx9KS9nLCc8c3BhbiBjbGFzcz0idG9rZW4gcGhwIj4kMTwvc3Bhbj4nKSl9KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJwaHAiLCJjb21tZW50Iix7bWFya3VwOntwYXR0ZXJuOi88W14/XVwvPyguKj8pPi8saW5zaWRlOlByaXNtLmxhbmd1YWdlcy5tYXJrdXB9LHBocDovXHtce1x7UEhQWzAtOV0rXH1cfVx9L30pKTs7DQpQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJwaHAiLCJ2YXJpYWJsZSIseyJ0aGlzIjovXCR0aGlzLyxnbG9iYWw6L1wkXz8oR0xPQkFMU3xTRVJWRVJ8R0VUfFBPU1R8RklMRVN8UkVRVUVTVHxTRVNTSU9OfEVOVnxDT09LSUV8SFRUUF9SQVdfUE9TVF9EQVRBfGFyZ2N8YXJndnxwaHBfZXJyb3Jtc2d8aHR0cF9yZXNwb25zZV9oZWFkZXIpLyxzY29wZTp7cGF0dGVybjovXGJbXHdcXF0rOjovLGluc2lkZTp7a2V5d29yZDovKHN0YXRpY3xzZWxmfHBhcmVudCkvLHB1bmN0dWF0aW9uOi8oOjp8XFwpL319fSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLnB5dGhvbj17Y29tbWVudDp7cGF0dGVybjovKF58W15cXF0pIy4qPyhccj9cbnwkKS8sbG9va2JlaGluZDohMH0sc3RyaW5nOi8iIiJbXHNcU10rPyIiInwnJydbXHNcU10rPycnJ3woInwnKShcXD8uKSo/XDEvLGtleXdvcmQ6L1xiKGFzfGFzc2VydHxicmVha3xjbGFzc3xjb250aW51ZXxkZWZ8ZGVsfGVsaWZ8ZWxzZXxleGNlcHR8ZXhlY3xmaW5hbGx5fGZvcnxmcm9tfGdsb2JhbHxpZnxpbXBvcnR8aW58aXN8bGFtYmRhfHBhc3N8cHJpbnR8cmFpc2V8cmV0dXJufHRyeXx3aGlsZXx3aXRofHlpZWxkKVxiLywiYm9vbGVhbiI6L1xiKFRydWV8RmFsc2UpXGIvLG51bWJlcjovXGItPygwW2JveF0pPyg/OltcZGEtZl0rXC4/XGQqfFwuXGQrKSg/OmVbKy1dP1xkKyk/aj9cYi9pLG9wZXJhdG9yOi9bLStdfDw9P3w+PT98IXw9ezEsMn18JnsxLDJ9fFx8P1x8fFw/fFwqfFwvfH58XF58JXxcYihvcnxhbmR8bm90KVxiLyxwdW5jdHVhdGlvbjovW3t9W1xdOygpLC46XS99OzsNClByaXNtLmxhbmd1YWdlcy5ydWJ5PVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7Y29tbWVudDovI1teXHJcbl0qKFxyP1xufCQpLyxrZXl3b3JkOi9cYihhbGlhc3xhbmR8QkVHSU58YmVnaW58YnJlYWt8Y2FzZXxjbGFzc3xkZWZ8ZGVmaW5lX21ldGhvZHxkZWZpbmVkfGRvfGVhY2h8ZWxzZXxlbHNpZnxFTkR8ZW5kfGVuc3VyZXxmYWxzZXxmb3J8aWZ8aW58bW9kdWxlfG5ld3xuZXh0fG5pbHxub3R8b3J8cmFpc2V8cmVkb3xyZXF1aXJlfHJlc2N1ZXxyZXRyeXxyZXR1cm58c2VsZnxzdXBlcnx0aGVufHRocm93fHRydWV8dW5kZWZ8dW5sZXNzfHVudGlsfHdoZW58d2hpbGV8eWllbGQpXGIvLGJ1aWx0aW46L1xiKEFycmF5fEJpZ251bXxCaW5kaW5nfENsYXNzfENvbnRpbnVhdGlvbnxEaXJ8RXhjZXB0aW9ufEZhbHNlQ2xhc3N8RmlsZXxTdGF0fEZpbGV8Rml4bnVtfEZsb2FkfEhhc2h8SW50ZWdlcnxJT3xNYXRjaERhdGF8TWV0aG9kfE1vZHVsZXxOaWxDbGFzc3xOdW1lcmljfE9iamVjdHxQcm9jfFJhbmdlfFJlZ2V4cHxTdHJpbmd8U3RydWN0fFRNU3xTeW1ib2x8VGhyZWFkR3JvdXB8VGhyZWFkfFRpbWV8VHJ1ZUNsYXNzKVxiLyxjb25zdGFudDovXGJbQS1aXVthLXpBLVpfMC05XSpbPyFdP1xiL30pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInJ1YnkiLCJrZXl3b3JkIix7cmVnZXg6e3BhdHRlcm46LyhefFteL10pXC8oPyFcLykoXFsuKz9dfFxcLnxbXi9cclxuXSkrXC9bZ2ltXXswLDN9KD89XHMqKCR8W1xyXG4sLjt9KV0pKS8sbG9va2JlaGluZDohMH0sdmFyaWFibGU6L1tAJF0rXGJbYS16QS1aX11bYS16QS1aXzAtOV0qWz8hXT9cYi8sc3ltYm9sOi86XGJbYS16QS1aX11bYS16QS1aXzAtOV0qWz8hXT9cYi99KTs7DQpQcmlzbS5sYW5ndWFnZXMuc2Nzcz1QcmlzbS5sYW5ndWFnZXMuZXh0ZW5kKCJjc3MiLHtjb21tZW50OntwYXR0ZXJuOi8oXnxbXlxcXSkoXC9cKltcd1xXXSo/XCpcL3xcL1wvLio/KFxyP1xufCQpKS8sbG9va2JlaGluZDohMH0sYXRydWxlOi9AW1x3LV0rKD89XHMrKFwofFx7fDspKS9pLHVybDovKFstYS16XSstKSp1cmwoPz1cKCkvaSxzZWxlY3RvcjovKFteQDtce1x9XChcKV0/KFteQDtce1x9XChcKV18JnwjXHtcJFstX1x3XStcfSkrKSg/PVxzKlx7KFx9fFxzfFteXH1dKyg6fFx7KVteXH1dKykpL219KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJzY3NzIiwiYXRydWxlIix7a2V5d29yZDovQChpZnxlbHNlIGlmfGVsc2V8Zm9yfGVhY2h8d2hpbGV8aW1wb3J0fGV4dGVuZHxkZWJ1Z3x3YXJufG1peGlufGluY2x1ZGV8ZnVuY3Rpb258cmV0dXJufGNvbnRlbnQpfCg/PUBmb3JccytcJFstX1x3XStccykrZnJvbS9pfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgic2NzcyIsInByb3BlcnR5Iix7dmFyaWFibGU6LygoXCRbLV9cd10rKXwoI1x7XCRbLV9cd10rXH0pKS9pfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgic2NzcyIsImZ1bmN0aW9uIix7cGxhY2Vob2xkZXI6LyVbLV9cd10rL2ksc3RhdGVtZW50Oi9cQiEoZGVmYXVsdHxvcHRpb25hbClcYi9pLCJib29sZWFuIjovXGIodHJ1ZXxmYWxzZSlcYi8sIm51bGwiOi9cYihudWxsKVxiLyxvcGVyYXRvcjovXHMrKFstK117MSwyfXw9ezEsMn18IT18XHw/XHx8XD98XCp8XC98JSlccysvfSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLnNxbD17Y29tbWVudDp7cGF0dGVybjovKF58W15cXF0pKFwvXCpbXHdcV10qP1wqXC98KCgtLSl8KFwvXC8pfCMpLio/KFxyP1xufCQpKS8sbG9va2JlaGluZDohMH0sc3RyaW5nOntwYXR0ZXJuOi8oXnxbXkBdKSgifCcpKFxcP1tcc1xTXSkqP1wyLyxsb29rYmVoaW5kOiEwfSx2YXJpYWJsZTovQFtcdy4kXSt8QCgifCd8YCkoXFw/W1xzXFNdKSs/XDEvLCJmdW5jdGlvbiI6L1xiKD86Q09VTlR8U1VNfEFWR3xNSU58TUFYfEZJUlNUfExBU1R8VUNBU0V8TENBU0V8TUlEfExFTnxST1VORHxOT1d8Rk9STUFUKSg/PVxzKlwoKS9pLGtleXdvcmQ6L1xiKD86QUNUSU9OfEFERHxBRlRFUnxBTEdPUklUSE18QUxURVJ8QU5BTFlaRXxBUFBMWXxBU3xBU0N8QVVUSE9SSVpBVElPTnxCQUNLVVB8QkRCfEJFR0lOfEJFUktFTEVZREJ8QklHSU5UfEJJTkFSWXxCSVR8QkxPQnxCT09MfEJPT0xFQU58QlJFQUt8QlJPV1NFfEJUUkVFfEJVTEt8Qll8Q0FMTHxDQVNDQURFfENBU0NBREVEfENBU0V8Q0hBSU58Q0hBUiBWQVJZSU5HfENIQVJBQ1RFUiBWQVJZSU5HfENIRUNLfENIRUNLUE9JTlR8Q0xPU0V8Q0xVU1RFUkVEfENPQUxFU0NFfENPTFVNTnxDT0xVTU5TfENPTU1FTlR8Q09NTUlUfENPTU1JVFRFRHxDT01QVVRFfENPTk5FQ1R8Q09OU0lTVEVOVHxDT05TVFJBSU5UfENPTlRBSU5TfENPTlRBSU5TVEFCTEV8Q09OVElOVUV8Q09OVkVSVHxDUkVBVEV8Q1JPU1N8Q1VSUkVOVHxDVVJSRU5UX0RBVEV8Q1VSUkVOVF9USU1FfENVUlJFTlRfVElNRVNUQU1QfENVUlJFTlRfVVNFUnxDVVJTT1J8REFUQXxEQVRBQkFTRXxEQVRBQkFTRVN8REFURVRJTUV8REJDQ3xERUFMTE9DQVRFfERFQ3xERUNJTUFMfERFQ0xBUkV8REVGQVVMVHxERUZJTkVSfERFTEFZRUR8REVMRVRFfERFTll8REVTQ3xERVNDUklCRXxERVRFUk1JTklTVElDfERJU0FCTEV8RElTQ0FSRHxESVNLfERJU1RJTkNUfERJU1RJTkNUUk9XfERJU1RSSUJVVEVEfERPfERPVUJMRXxET1VCTEUgUFJFQ0lTSU9OfERST1B8RFVNTVl8RFVNUHxEVU1QRklMRXxEVVBMSUNBVEUgS0VZfEVMU0V8RU5BQkxFfEVOQ0xPU0VEIEJZfEVORHxFTkdJTkV8RU5VTXxFUlJMVkx8RVJST1JTfEVTQ0FQRXxFU0NBUEVEIEJZfEVYQ0VQVHxFWEVDfEVYRUNVVEV8RVhJVHxFWFBMQUlOfEVYVEVOREVEfEZFVENIfEZJRUxEU3xGSUxFfEZJTExGQUNUT1J8RklSU1R8RklYRUR8RkxPQVR8Rk9MTE9XSU5HfEZPUnxGT1IgRUFDSCBST1d8Rk9SQ0V8Rk9SRUlHTnxGUkVFVEVYVHxGUkVFVEVYVFRBQkxFfEZST018RlVMTHxGVU5DVElPTnxHRU9NRVRSWXxHRU9NRVRSWUNPTExFQ1RJT058R0xPQkFMfEdPVE98R1JBTlR8R1JPVVB8SEFORExFUnxIQVNIfEhBVklOR3xIT0xETE9DS3xJREVOVElUWXxJREVOVElUWV9JTlNFUlR8SURFTlRJVFlDT0x8SUZ8SUdOT1JFfElNUE9SVHxJTkRFWHxJTkZJTEV8SU5ORVJ8SU5OT0RCfElOT1VUfElOU0VSVHxJTlR8SU5URUdFUnxJTlRFUlNFQ1R8SU5UT3xJTlZPS0VSfElTT0xBVElPTiBMRVZFTHxKT0lOfEtFWXxLRVlTfEtJTEx8TEFOR1VBR0UgU1FMfExBU1R8TEVGVHxMSU1JVHxMSU5FTk98TElORVN8TElORVNUUklOR3xMT0FEfExPQ0FMfExPQ0t8TE9OR0JMT0J8TE9OR1RFWFR8TUFUQ0h8TUFUQ0hFRHxNRURJVU1CTE9CfE1FRElVTUlOVHxNRURJVU1URVhUfE1FUkdFfE1JRERMRUlOVHxNT0RJRklFUyBTUUwgREFUQXxNT0RJRll8TVVMVElMSU5FU1RSSU5HfE1VTFRJUE9JTlR8TVVMVElQT0xZR09OfE5BVElPTkFMfE5BVElPTkFMIENIQVIgVkFSWUlOR3xOQVRJT05BTCBDSEFSQUNURVJ8TkFUSU9OQUwgQ0hBUkFDVEVSIFZBUllJTkd8TkFUSU9OQUwgVkFSQ0hBUnxOQVRVUkFMfE5DSEFSfE5DSEFSIFZBUkNIQVJ8TkVYVHxOT3xOTyBTUUx8Tk9DSEVDS3xOT0NZQ0xFfE5PTkNMVVNURVJFRHxOVUxMSUZ8TlVNRVJJQ3xPRnxPRkZ8T0ZGU0VUU3xPTnxPUEVOfE9QRU5EQVRBU09VUkNFfE9QRU5RVUVSWXxPUEVOUk9XU0VUfE9QVElNSVpFfE9QVElPTnxPUFRJT05BTExZfE9SREVSfE9VVHxPVVRFUnxPVVRGSUxFfE9WRVJ8UEFSVElBTHxQQVJUSVRJT058UEVSQ0VOVHxQSVZPVHxQTEFOfFBPSU5UfFBPTFlHT058UFJFQ0VESU5HfFBSRUNJU0lPTnxQUkVWfFBSSU1BUll8UFJJTlR8UFJJVklMRUdFU3xQUk9DfFBST0NFRFVSRXxQVUJMSUN8UFVSR0V8UVVJQ0t8UkFJU0VSUk9SfFJFQUR8UkVBRFMgU1FMIERBVEF8UkVBRFRFWFR8UkVBTHxSRUNPTkZJR1VSRXxSRUZFUkVOQ0VTfFJFTEVBU0V8UkVOQU1FfFJFUEVBVEFCTEV8UkVQTElDQVRJT058UkVRVUlSRXxSRVNUT1JFfFJFU1RSSUNUfFJFVFVSTnxSRVRVUk5TfFJFVk9LRXxSSUdIVHxST0xMQkFDS3xST1VUSU5FfFJPV0NPVU5UfFJPV0dVSURDT0x8Uk9XUz98UlRSRUV8UlVMRXxTQVZFfFNBVkVQT0lOVHxTQ0hFTUF8U0VMRUNUfFNFUklBTHxTRVJJQUxJWkFCTEV8U0VTU0lPTnxTRVNTSU9OX1VTRVJ8U0VUfFNFVFVTRVJ8U0hBUkUgTU9ERXxTSE9XfFNIVVRET1dOfFNJTVBMRXxTTUFMTElOVHxTTkFQU0hPVHxTT01FfFNPTkFNRXxTVEFSVHxTVEFSVElORyBCWXxTVEFUSVNUSUNTfFNUQVRVU3xTVFJJUEVEfFNZU1RFTV9VU0VSfFRBQkxFfFRBQkxFU3xUQUJMRVNQQUNFfFRFTVAoPzpPUkFSWSk/fFRFTVBUQUJMRXxURVJNSU5BVEVEIEJZfFRFWFR8VEVYVFNJWkV8VEhFTnxUSU1FU1RBTVB8VElOWUJMT0J8VElOWUlOVHxUSU5ZVEVYVHxUT3xUT1B8VFJBTnxUUkFOU0FDVElPTnxUUkFOU0FDVElPTlN8VFJJR0dFUnxUUlVOQ0FURXxUU0VRVUFMfFRZUEV8VFlQRVN8VU5CT1VOREVEfFVOQ09NTUlUVEVEfFVOREVGSU5FRHxVTklPTnxVTlBJVk9UfFVQREFURXxVUERBVEVURVhUfFVTQUdFfFVTRXxVU0VSfFVTSU5HfFZBTFVFfFZBTFVFU3xWQVJCSU5BUll8VkFSQ0hBUnxWQVJDSEFSQUNURVJ8VkFSWUlOR3xWSUVXfFdBSVRGT1J8V0FSTklOR1N8V0hFTnxXSEVSRXxXSElMRXxXSVRIfFdJVEggUk9MTFVQfFdJVEhJTnxXT1JLfFdSSVRFfFdSSVRFVEVYVClcYi9pLCJib29sZWFuIjovXGIoPzpUUlVFfEZBTFNFfE5VTEwpXGIvaSxudW1iZXI6L1xiLT8oMHgpP1xkKlwuP1tcZGEtZl0rXGIvLG9wZXJhdG9yOi9cYig/OkFMTHxBTkR8QU5ZfEJFVFdFRU58RVhJU1RTfElOfExJS0V8Tk9UfE9SfElTfFVOSVFVRXxDSEFSQUNURVIgU0VUfENPTExBVEV8RElWfE9GRlNFVHxSRUdFWFB8UkxJS0V8U09VTkRTIExJS0V8WE9SKVxifFstK118IXxbPTw+XXsxLDJ9fCgmKXsxLDJ9fFx8P1x8fFw/fFwqfFwvL2kscHVuY3R1YXRpb246L1s7W1xdKClgLC5dL307Ow0KUHJpc20ubGFuZ3VhZ2VzLnN3aWZ0PVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYXN8YXNzb2NpYXRpdml0eXxicmVha3xjYXNlfGNsYXNzfGNvbnRpbnVlfGNvbnZlbmllbmNlfGRlZmF1bHR8ZGVpbml0fGRpZFNldHxkb3xkeW5hbWljVHlwZXxlbHNlfGVudW18ZXh0ZW5zaW9ufGZhbGx0aHJvdWdofGZpbmFsfGZvcnxmdW5jfGdldHxpZnxpbXBvcnR8aW58aW5maXh8aW5pdHxpbm91dHxpbnRlcm5hbHxpc3xsYXp5fGxlZnR8bGV0fG11dGF0aW5nfG5ld3xub25lfG5vbm11dGF0aW5nfG9wZXJhdG9yfG9wdGlvbmFsfG92ZXJyaWRlfHBvc3RmaXh8cHJlY2VkZW5jZXxwcmVmaXh8cHJpdmF0ZXxwcm90b2NvbHxwdWJsaWN8cmVxdWlyZWR8cmV0dXJufHJpZ2h0fHNhZmV8c2VsZnxTZWxmfHNldHxzdGF0aWN8c3RydWN0fHN1YnNjcmlwdHxzdXBlcnxzd2l0Y2h8VHlwZXx0eXBlYWxpYXN8dW5vd25lZHx1bm93bmVkfHVuc2FmZXx2YXJ8d2Vha3x3aGVyZXx3aGlsZXx3aWxsU2V0fF9fQ09MVU1OX198X19GSUxFX198X19GVU5DVElPTl9ffF9fTElORV9fKVxiLyxudW1iZXI6L1xiKFtcZF9dKyhcLltcZGVfXSspP3wweFthLWYwLTlfXSsoXC5bYS1mMC05cF9dKyk/fDBiWzAxX10rfDBvWzAtN19dKylcYi9pLGNvbnN0YW50Oi9cYihuaWx8W0EtWl9dezIsfXxrW0EtWl1bQS1aYS16X10rKVxiLyxhdHJ1bGU6L0BcYihJQk91dGxldHxJQkRlc2lnbmFibGV8SUJBY3Rpb258SUJJbnNwZWN0YWJsZXxjbGFzc19wcm90b2NvbHxleHBvcnRlZHxub3JldHVybnxOU0NvcHlpbmd8TlNNYW5hZ2VkfG9iamN8VUlBcHBsaWNhdGlvbk1haW58YXV0b19jbG9zdXJlKVxiLyxidWlsdGluOi9cYihbQS1aXVxTK3xhYnN8YWR2YW5jZXxhbGlnbm9mfGFsaWdub2ZWYWx1ZXxhc3NlcnR8Y29udGFpbnN8Y291bnR8Y291bnRFbGVtZW50c3xkZWJ1Z1ByaW50fGRlYnVnUHJpbnRsbnxkaXN0YW5jZXxkcm9wRmlyc3R8ZHJvcExhc3R8ZHVtcHxlbnVtZXJhdGV8ZXF1YWx8ZmlsdGVyfGZpbmR8Zmlyc3R8Z2V0VmFMaXN0fGluZGljZXN8aXNFbXB0eXxqb2lufGxhc3R8bGF6eXxsZXhpY29ncmFwaGljYWxDb21wYXJlfG1hcHxtYXh8bWF4RWxlbWVudHxtaW58bWluRWxlbWVudHxudW1lcmljQ2FzdHxvdmVybGFwc3xwYXJ0aXRpb258cHJlZml4fHByaW50fHByaW50bG58cmVkdWNlfHJlZmxlY3R8cmV2ZXJzZXxzaXplb2Z8c2l6ZW9mVmFsdWV8c29ydHxzb3J0ZWR8c3BsaXR8c3RhcnRzV2l0aHxzdHJpZGV8c3RyaWRlb2Z8c3RyaWRlb2ZWYWx1ZXxzdWZmaXh8c3dhcHx0b0RlYnVnU3RyaW5nfHRvU3RyaW5nfHRyYW5zY29kZXx1bmRlcmVzdGltYXRlQ291bnR8dW5zYWZlQml0Q2FzdHx3aXRoRXh0ZW5kZWRMaWZldGltZXx3aXRoVW5zYWZlTXV0YWJsZVBvaW50ZXJ8d2l0aFVuc2FmZU11dGFibGVQb2ludGVyc3x3aXRoVW5zYWZlUG9pbnRlcnx3aXRoVW5zYWZlUG9pbnRlcnN8d2l0aFZhTGlzdClcYi99KTs7DQpQcmlzbS5ob29rcy5hZGQoImFmdGVyLWhpZ2hsaWdodCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5lbGVtZW50LnBhcmVudE5vZGUscz0vXHMqXGJsaW5lLW51bWJlcnNcYlxzKi87aWYodCYmL3ByZS9pLnRlc3QodC5ub2RlTmFtZSkmJihzLnRlc3QodC5jbGFzc05hbWUpfHxzLnRlc3QoZS5lbGVtZW50LmNsYXNzTmFtZSkpKXtzLnRlc3QoZS5lbGVtZW50LmNsYXNzTmFtZSkmJihlLmVsZW1lbnQuY2xhc3NOYW1lPWUuZWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShzLCIiKSkscy50ZXN0KHQuY2xhc3NOYW1lKXx8KHQuY2xhc3NOYW1lKz0iIGxpbmUtbnVtYmVycyIpO3ZhciBhLG49MStlLmNvZGUuc3BsaXQoIlxuIikubGVuZ3RoLGw9bmV3IEFycmF5KG4pO2w9bC5qb2luKCI8c3Bhbj48L3NwYW4+IiksYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksYS5jbGFzc05hbWU9ImxpbmUtbnVtYmVycy1yb3dzIixhLmlubmVySFRNTD1sLHQuaGFzQXR0cmlidXRlKCJkYXRhLXN0YXJ0IikmJih0LnN0eWxlLmNvdW50ZXJSZXNldD0ibGluZW51bWJlciAiKyhwYXJzZUludCh0LmdldEF0dHJpYnV0ZSgiZGF0YS1zdGFydCIpLDEwKS0xKSksZS5lbGVtZW50LmFwcGVuZENoaWxkKGEpfX0pOzsNCiFmdW5jdGlvbigpe2lmKHNlbGYuUHJpc20pe3ZhciBlPXtjc2hhcnA6IkMjIixjcHA6IkMrKyJ9O1ByaXNtLmhvb2tzLmFkZCgiYmVmb3JlLWhpZ2hsaWdodCIsZnVuY3Rpb24oYSl7dmFyIHQ9YS5lbGVtZW50LnBhcmVudE5vZGU7aWYodCYmL3ByZS9pLnRlc3QodC5ub2RlTmFtZSkpe3ZhciBpPWVbYS5sYW5ndWFnZV18fGEubGFuZ3VhZ2U7dC5zZXRBdHRyaWJ1dGUoImRhdGEtbGFuZ3VhZ2UiLGkpfX0pfX0oKTs7DQoNCg0KDQovKg0KICogIFlUUGxheWVyDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qanF1ZXJ5Lm1iLllUUGxheWVyIDExLTA1LTIwMTcNCiBfIGpxdWVyeS5tYi5jb21wb25lbnRzIA0KIF8gZW1haWw6IG1hdHRlb0BvcGVuLWxhYi5jb20gDQogXyBDb3B5cmlnaHQgKGMpIDIwMDEtMjAxNy4gTWF0dGVvIEJpY29jY2hpIChQdXB1bnppKTsgDQogXyBibG9nOiBodHRwOi8vcHVwdW56aS5vcGVuLWxhYi5jb20gDQogXyBPcGVuIExhYiBzLnIubC4sIEZsb3JlbmNlIC0gSXRhbHkgDQogKi8NCmZ1bmN0aW9uIG9uWW91VHViZUlmcmFtZUFQSVJlYWR5KCl7eXRwLllUQVBJUmVhZHl8fCh5dHAuWVRBUElSZWFkeT0hMCxqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoIllUQVBJUmVhZHkiKSl9ZnVuY3Rpb24gdW5jYW1lbChhKXtyZXR1cm4gYS5yZXBsYWNlKC8oW0EtWl0pL2csZnVuY3Rpb24oYSl7cmV0dXJuIi0iK2EudG9Mb3dlckNhc2UoKX0pfWZ1bmN0aW9uIHNldFVuaXQoYSxiKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGF8fGEubWF0Y2goL15bXC0wLTlcLl0ralF1ZXJ5Lyk/IiIrYStiOmF9ZnVuY3Rpb24gc2V0RmlsdGVyKGEsYixjKXt2YXIgZD11bmNhbWVsKGIpLGU9alF1ZXJ5LmJyb3dzZXIubW96aWxsYT8iIjpqUXVlcnkuQ1NTLnNmeDthW2UrImZpbHRlciJdPWFbZSsiZmlsdGVyIl18fCIiLGM9c2V0VW5pdChjPmpRdWVyeS5DU1MuZmlsdGVyc1tiXS5tYXg/alF1ZXJ5LkNTUy5maWx0ZXJzW2JdLm1heDpjLGpRdWVyeS5DU1MuZmlsdGVyc1tiXS51bml0KSxhW2UrImZpbHRlciJdKz1kKyIoIitjKyIpICIsZGVsZXRlIGFbYl19ZnVuY3Rpb24gaXNUb3VjaFN1cHBvcnRlZCgpe3ZhciBhPW5BZ3QubXNNYXhUb3VjaFBvaW50cyxiPSJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGF8fGI/ITA6ITF9dmFyIHl0cD15dHB8fHt9LGdldFlUUFZpZGVvSUQ9ZnVuY3Rpb24oYSl7dmFyIGIsYztyZXR1cm4gYS5pbmRleE9mKCJ5b3V0dS5iZSIpPjA/KGI9YS5zdWJzdHIoYS5sYXN0SW5kZXhPZigiLyIpKzEsYS5sZW5ndGgpLGM9Yi5pbmRleE9mKCI/bGlzdD0iKT4wP2Iuc3Vic3RyKGIubGFzdEluZGV4T2YoIj0iKSxiLmxlbmd0aCk6bnVsbCxiPWM/Yi5zdWJzdHIoMCxiLmxhc3RJbmRleE9mKCI/IikpOmIpOmEuaW5kZXhPZigiaHR0cCIpPi0xPyhiPWEubWF0Y2goL1tcXD8mXXY9KFteJiNdKikvKVsxXSxjPWEuaW5kZXhPZigibGlzdD0iKT4wP2EubWF0Y2goL1tcXD8mXWxpc3Q9KFteJiNdKikvKVsxXTpudWxsKTooYj1hLmxlbmd0aD4xNT9udWxsOmEsYz1iP251bGw6YSkse3ZpZGVvSUQ6YixwbGF5bGlzdElEOmN9fTshZnVuY3Rpb24oalF1ZXJ5LHl0cCl7alF1ZXJ5Lm1iWVRQbGF5ZXI9e25hbWU6ImpxdWVyeS5tYi5ZVFBsYXllciIsdmVyc2lvbjoiMy4wLjE5IixidWlsZDoiNjI1MCIsYXV0aG9yOiJNYXR0ZW8gQmljb2NjaGkgKHB1cHVuemkpIixhcGlLZXk6IiIsZGVmYXVsdHM6e2NvbnRhaW5tZW50OiJib2R5IixyYXRpbzoiYXV0byIsdmlkZW9VUkw6bnVsbCxwbGF5bGlzdFVSTDpudWxsLHN0YXJ0QXQ6MCxzdG9wQXQ6MCxhdXRvUGxheTohMCx2b2w6NTAsYWRkUmFzdGVyOiExLG1hc2s6ITEsb3BhY2l0eToxLHF1YWxpdHk6ImRlZmF1bHQiLG11dGU6ITEsbG9vcDohMCxmYWRlT25TdGFydFRpbWU6NTAwLHNob3dDb250cm9sczohMCxzaG93QW5ub3RhdGlvbnM6ITEsc2hvd1lUTG9nbzohMCxzdG9wTW92aWVPbkJsdXI6ITAscmVhbGZ1bGxzY3JlZW46ITAsbW9iaWxlRmFsbGJhY2tJbWFnZTpudWxsLGdhVHJhY2s6ITAsb3B0aW1pemVEaXNwbGF5OiEwLHJlbWVtYmVyX2xhc3RfdGltZTohMSxhbmNob3I6ImNlbnRlcixjZW50ZXIiLG9uUmVhZHk6ZnVuY3Rpb24oYSl7fSxvbkVycm9yOmZ1bmN0aW9uKGEsYil7fX0sY29udHJvbHM6e3BsYXk6IlAiLHBhdXNlOiJwIixtdXRlOiJNIix1bm11dGU6IkEiLG9ubHlZVDoiTyIsc2hvd1NpdGU6IlIiLHl0TG9nbzoiWSJ9LGNvbnRyb2xCYXI6bnVsbCxsb2FkaW5nOm51bGwsbG9jYXRpb25Qcm90b2NvbDoiaHR0cHM6IixmaWx0ZXJzOntncmF5c2NhbGU6e3ZhbHVlOjAsdW5pdDoiJSJ9LGh1ZV9yb3RhdGU6e3ZhbHVlOjAsdW5pdDoiZGVnIn0saW52ZXJ0Ont2YWx1ZTowLHVuaXQ6IiUifSxvcGFjaXR5Ont2YWx1ZTowLHVuaXQ6IiUifSxzYXR1cmF0ZTp7dmFsdWU6MCx1bml0OiIlIn0sc2VwaWE6e3ZhbHVlOjAsdW5pdDoiJSJ9LGJyaWdodG5lc3M6e3ZhbHVlOjAsdW5pdDoiJSJ9LGNvbnRyYXN0Ont2YWx1ZTowLHVuaXQ6IiUifSxibHVyOnt2YWx1ZTowLHVuaXQ6InB4In19LGJ1aWxkUGxheWVyOmZ1bmN0aW9uKG9wdGlvbnMpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgWVRQbGF5ZXI9dGhpcywkWVRQbGF5ZXI9alF1ZXJ5KFlUUGxheWVyKTtZVFBsYXllci5sb29wPTAsWVRQbGF5ZXIub3B0PXt9LFlUUGxheWVyLnN0YXRlPXt9LFlUUGxheWVyLmZpbHRlcnM9alF1ZXJ5Lm1iWVRQbGF5ZXIuZmlsdGVycyxZVFBsYXllci5maWx0ZXJzRW5hYmxlZD0hMCxZVFBsYXllci5pZD1ZVFBsYXllci5pZHx8IllUUF8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLCRZVFBsYXllci5hZGRDbGFzcygibWJfWVRQbGF5ZXIiKTt2YXIgcHJvcGVydHk9JFlUUGxheWVyLmRhdGEoInByb3BlcnR5IikmJiJzdHJpbmciPT10eXBlb2YgJFlUUGxheWVyLmRhdGEoInByb3BlcnR5Iik/ZXZhbCgiKCIrJFlUUGxheWVyLmRhdGEoInByb3BlcnR5IikrIikiKTokWVRQbGF5ZXIuZGF0YSgicHJvcGVydHkiKTsidW5kZWZpbmVkIiE9dHlwZW9mIHByb3BlcnR5JiYidW5kZWZpbmVkIiE9dHlwZW9mIHByb3BlcnR5LnZvbCYmKHByb3BlcnR5LnZvbD0wPT09cHJvcGVydHkudm9sP3Byb3BlcnR5LnZvbD0xOnByb3BlcnR5LnZvbCksalF1ZXJ5LmV4dGVuZChZVFBsYXllci5vcHQsalF1ZXJ5Lm1iWVRQbGF5ZXIuZGVmYXVsdHMsb3B0aW9ucyxwcm9wZXJ0eSksWVRQbGF5ZXIuaGFzQ2hhbmdlZHx8KFlUUGxheWVyLmRlZmF1bHRPcHQ9e30salF1ZXJ5LmV4dGVuZChZVFBsYXllci5kZWZhdWx0T3B0LGpRdWVyeS5tYllUUGxheWVyLmRlZmF1bHRzLG9wdGlvbnMpKSwidHJ1ZSI9PVlUUGxheWVyLm9wdC5sb29wJiYoWVRQbGF5ZXIub3B0Lmxvb3A9OTk5OSksWVRQbGF5ZXIuaXNSZXRpbmE9d2luZG93LnJldGluYXx8d2luZG93LmRldmljZVBpeGVsUmF0aW8+MTt2YXIgaXNJZnJhbWU9ZnVuY3Rpb24oKXt2YXIgYT0hMTt0cnl7c2VsZi5sb2NhdGlvbi5ocmVmIT10b3AubG9jYXRpb24uaHJlZiYmKGE9ITApfWNhdGNoKGIpe2E9ITB9cmV0dXJuIGF9O1lUUGxheWVyLmNhbkdvRnVsbFNjcmVlbj0hKGpRdWVyeS5tYkJyb3dzZXIubXNpZXx8alF1ZXJ5Lm1iQnJvd3Nlci5vcGVyYXx8aXNJZnJhbWUoKSksWVRQbGF5ZXIuY2FuR29GdWxsU2NyZWVufHwoWVRQbGF5ZXIub3B0LnJlYWxmdWxsc2NyZWVuPSExKSwkWVRQbGF5ZXIuYXR0cigiaWQiKXx8JFlUUGxheWVyLmF0dHIoImlkIiwieXRwXyIrKG5ldyBEYXRlKS5nZXRUaW1lKCkpO3ZhciBwbGF5ZXJJRD0iaWZyYW1lXyIrWVRQbGF5ZXIuaWQ7WVRQbGF5ZXIuaXNBbG9uZT0hMSxZVFBsYXllci5oYXNGb2N1cz0hMCxZVFBsYXllci52aWRlb0lEPXRoaXMub3B0LnZpZGVvVVJMP2dldFlUUFZpZGVvSUQodGhpcy5vcHQudmlkZW9VUkwpLnZpZGVvSUQ6JFlUUGxheWVyLmF0dHIoImhyZWYiKT9nZXRZVFBWaWRlb0lEKCRZVFBsYXllci5hdHRyKCJocmVmIikpLnZpZGVvSUQ6ITEsWVRQbGF5ZXIucGxheWxpc3RJRD10aGlzLm9wdC52aWRlb1VSTD9nZXRZVFBWaWRlb0lEKHRoaXMub3B0LnZpZGVvVVJMKS5wbGF5bGlzdElEOiRZVFBsYXllci5hdHRyKCJocmVmIik/Z2V0WVRQVmlkZW9JRCgkWVRQbGF5ZXIuYXR0cigiaHJlZiIpKS5wbGF5bGlzdElEOiExLFlUUGxheWVyLm9wdC5zaG93QW5ub3RhdGlvbnM9WVRQbGF5ZXIub3B0LnNob3dBbm5vdGF0aW9ucz8iMSI6IjMiO3ZhciBzdGFydF9mcm9tX2xhc3Q9MDtqUXVlcnkubWJDb29raWUuZ2V0KCJZVFBsYXllcl8iK1lUUGxheWVyLnZpZGVvSUQpJiYoc3RhcnRfZnJvbV9sYXN0PXBhcnNlRmxvYXQoalF1ZXJ5Lm1iQ29va2llLmdldCgiWVRQbGF5ZXJfIitZVFBsYXllci52aWRlb0lEKSkpLFlUUGxheWVyLm9wdC5yZW1lbWJlcl9sYXN0X3RpbWUmJnN0YXJ0X2Zyb21fbGFzdCYmKFlUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdD1zdGFydF9mcm9tX2xhc3QsalF1ZXJ5Lm1iQ29va2llLnJlbW92ZSgiWVRQbGF5ZXJfIitZVFBsYXllci52aWRlb0lEKSk7dmFyIHBsYXllclZhcnM9e21vZGVzdGJyYW5kaW5nOjEsYXV0b3BsYXk6MCxjb250cm9sczowLHNob3dpbmZvOjAscmVsOjAsZW5hYmxlanNhcGk6MSx2ZXJzaW9uOjMscGxheWVyYXBpaWQ6cGxheWVySUQsb3JpZ2luOiIqIixhbGxvd2Z1bGxzY3JlZW46ITAsd21vZGU6InRyYW5zcGFyZW50Iixpdl9sb2FkX3BvbGljeTpZVFBsYXllci5vcHQuc2hvd0Fubm90YXRpb25zfTtpZihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIpLmNhblBsYXlUeXBlJiZqUXVlcnkuZXh0ZW5kKHBsYXllclZhcnMse2h0bWw1OjF9KSxqUXVlcnkubWJCcm93c2VyLm1zaWUmJmpRdWVyeS5tYkJyb3dzZXIudmVyc2lvbjw5JiYodGhpcy5vcHQub3BhY2l0eT0xKSxZVFBsYXllci5pc1NlbGY9InNlbGYiPT1ZVFBsYXllci5vcHQuY29udGFpbm1lbnQsWVRQbGF5ZXIuZGVmYXVsdE9wdC5jb250YWlubWVudD1ZVFBsYXllci5vcHQuY29udGFpbm1lbnQ9alF1ZXJ5KCJzZWxmIj09WVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50P3RoaXM6WVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50KSxZVFBsYXllci5pc0JhY2tncm91bmQ9WVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmlzKCJib2R5IiksIVlUUGxheWVyLmlzQmFja2dyb3VuZHx8IXl0cC5iYWNrZ3JvdW5kSXNJbml0ZWQpe3ZhciBpc1BsYXllcj1ZVFBsYXllci5vcHQuY29udGFpbm1lbnQuaXMoalF1ZXJ5KHRoaXMpKTtZVFBsYXllci5jYW5QbGF5T25Nb2JpbGU9aXNQbGF5ZXImJjA9PT1qUXVlcnkodGhpcykuY2hpbGRyZW4oKS5sZW5ndGgsWVRQbGF5ZXIuaXNQbGF5ZXI9ITEsaXNQbGF5ZXI/WVRQbGF5ZXIuaXNQbGF5ZXI9ITA6JFlUUGxheWVyLmhpZGUoKTt2YXIgb3ZlcmxheT1qUXVlcnkoIjxkaXYvPiIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9KS5hZGRDbGFzcygiWVRQT3ZlcmxheSIpO1lUUGxheWVyLmlzUGxheWVyJiZvdmVybGF5Lm9uKCJjbGljayIsZnVuY3Rpb24oKXskWVRQbGF5ZXIuWVRQVG9nZ2xlUGxheSgpfSk7dmFyIHdyYXBwZXI9alF1ZXJ5KCI8ZGl2Lz4iKS5hZGRDbGFzcygibWJZVFBfd3JhcHBlciIpLmF0dHIoImlkIiwid3JhcHBlcl8iK1lUUGxheWVyLmlkKTt3cmFwcGVyLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix6SW5kZXg6MCxtaW5XaWR0aDoiMTAwJSIsbWluSGVpZ2h0OiIxMDAlIixsZWZ0OjAsdG9wOjAsb3ZlcmZsb3c6ImhpZGRlbiIsb3BhY2l0eTowfSk7dmFyIHBsYXllckJveD1qUXVlcnkoIjxkaXYvPiIpLmF0dHIoImlkIixwbGF5ZXJJRCkuYWRkQ2xhc3MoInBsYXllckJveCIpO2lmKHBsYXllckJveC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsekluZGV4OjAsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdG9wOjAsbGVmdDowLG92ZXJmbG93OiJoaWRkZW4ifSksd3JhcHBlci5hcHBlbmQocGxheWVyQm94KSxZVFBsYXllci5vcHQuY29udGFpbm1lbnQuY2hpbGRyZW4oKS5ub3QoInNjcmlwdCwgc3R5bGUiKS5lYWNoKGZ1bmN0aW9uKCl7InN0YXRpYyI9PWpRdWVyeSh0aGlzKS5jc3MoInBvc2l0aW9uIikmJmpRdWVyeSh0aGlzKS5jc3MoInBvc2l0aW9uIiwicmVsYXRpdmUiKX0pLFlUUGxheWVyLmlzQmFja2dyb3VuZD8oalF1ZXJ5KCJib2R5IikuY3NzKHtib3hTaXppbmc6ImJvcmRlci1ib3gifSksd3JhcHBlci5jc3Moe3Bvc2l0aW9uOiJmaXhlZCIsdG9wOjAsbGVmdDowLHpJbmRleDowfSksJFlUUGxheWVyLmhpZGUoKSk6InN0YXRpYyI9PVlUUGxheWVyLm9wdC5jb250YWlubWVudC5jc3MoInBvc2l0aW9uIikmJllUUGxheWVyLm9wdC5jb250YWlubWVudC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KSxZVFBsYXllci5vcHQuY29udGFpbm1lbnQucHJlcGVuZCh3cmFwcGVyKSxZVFBsYXllci53cmFwcGVyPXdyYXBwZXIscGxheWVyQm94LmNzcyh7b3BhY2l0eToxfSksalF1ZXJ5Lm1iQnJvd3Nlci5tb2JpbGV8fChwbGF5ZXJCb3guYWZ0ZXIob3ZlcmxheSksWVRQbGF5ZXIub3ZlcmxheT1vdmVybGF5KSxZVFBsYXllci5pc0JhY2tncm91bmR8fG92ZXJsYXkub24oIm1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7WVRQbGF5ZXIuY29udHJvbEJhciYmWVRQbGF5ZXIuY29udHJvbEJhci5sZW5ndGgmJllUUGxheWVyLmNvbnRyb2xCYXIuYWRkQ2xhc3MoInZpc2libGUiKX0pLm9uKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe1lUUGxheWVyLmNvbnRyb2xCYXImJllUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoJiZZVFBsYXllci5jb250cm9sQmFyLnJlbW92ZUNsYXNzKCJ2aXNpYmxlIil9KSx5dHAuWVRBUElSZWFkeSlzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJZVEFQSVJlYWR5Iil9LDEwMCk7ZWxzZXtqUXVlcnkoIiNZVEFQSSIpLnJlbW92ZSgpO3ZhciB0YWc9alF1ZXJ5KCI8c2NyaXB0Pjwvc2NyaXB0PiIpLmF0dHIoe3NyYzpqUXVlcnkubWJZVFBsYXllci5sb2NhdGlvblByb3RvY29sKyIvL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpP3Y9IitqUXVlcnkubWJZVFBsYXllci52ZXJzaW9uLGlkOiJZVEFQSSJ9KTtqUXVlcnkoImhlYWQiKS5wcmVwZW5kKHRhZyl9aWYoalF1ZXJ5Lm1iQnJvd3Nlci5tb2JpbGUmJiFZVFBsYXllci5jYW5QbGF5T25Nb2JpbGUpcmV0dXJuIFlUUGxheWVyLm9wdC5tb2JpbGVGYWxsYmFja0ltYWdlJiZ3cmFwcGVyLmNzcyh7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitZVFBsYXllci5vcHQubW9iaWxlRmFsbGJhY2tJbWFnZSsiKSIsYmFja2dyb3VuZFBvc2l0aW9uOiJjZW50ZXIgY2VudGVyIixiYWNrZ3JvdW5kU2l6ZToiY292ZXIiLGJhY2tncm91bmRSZXBlYXQ6Im5vLXJlcGVhdCIsb3BhY2l0eToxfSksJFlUUGxheWVyLnJlbW92ZSgpLHZvaWQgalF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJZVFBVbmF2YWlsYWJsZSIpO2pRdWVyeShkb2N1bWVudCkub24oIllUQVBJUmVhZHkiLGZ1bmN0aW9uKCl7WVRQbGF5ZXIuaXNCYWNrZ3JvdW5kJiZ5dHAuYmFja2dyb3VuZElzSW5pdGVkfHxZVFBsYXllci5pc0luaXR8fChZVFBsYXllci5pc0JhY2tncm91bmQmJih5dHAuYmFja2dyb3VuZElzSW5pdGVkPSEwKSxZVFBsYXllci5vcHQuYXV0b1BsYXk9InVuZGVmaW5lZCI9PXR5cGVvZiBZVFBsYXllci5vcHQuYXV0b1BsYXk/WVRQbGF5ZXIuaXNCYWNrZ3JvdW5kPyEwOiExOllUUGxheWVyLm9wdC5hdXRvUGxheSxZVFBsYXllci5vcHQudm9sPVlUUGxheWVyLm9wdC52b2w/WVRQbGF5ZXIub3B0LnZvbDoxMDAsalF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0RGF0YUZyb21BUEkoWVRQbGF5ZXIpLGpRdWVyeShZVFBsYXllcikub24oIllUUENoYW5nZWQiLGZ1bmN0aW9uKCl7aWYoIVlUUGxheWVyLmlzSW5pdCl7aWYoWVRQbGF5ZXIuaXNJbml0PSEwLGpRdWVyeS5tYkJyb3dzZXIubW9iaWxlJiZZVFBsYXllci5jYW5QbGF5T25Nb2JpbGUpe2lmKFlUUGxheWVyLm9wdC5jb250YWlubWVudC5vdXRlcldpZHRoKCk+alF1ZXJ5KHdpbmRvdykud2lkdGgoKSl7WVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcyh7bWF4V2lkdGg6IjEwMCUifSk7dmFyIGg9LjU2MypZVFBsYXllci5vcHQuY29udGFpbm1lbnQub3V0ZXJXaWR0aCgpO1lUUGxheWVyLm9wdC5jb250YWlubWVudC5jc3Moe21heEhlaWdodDpofSl9cmV0dXJuIHZvaWQgbmV3IFlULlBsYXllcihwbGF5ZXJJRCx7dmlkZW9JZDpZVFBsYXllci52aWRlb0lELnRvU3RyaW5nKCksd2lkdGg6IjEwMCUiLGhlaWdodDpoLHBsYXllclZhcnM6cGxheWVyVmFycyxldmVudHM6e29uUmVhZHk6ZnVuY3Rpb24oYSl7WVRQbGF5ZXIucGxheWVyPWEudGFyZ2V0LHBsYXllckJveC5jc3Moe29wYWNpdHk6MX0pLFlUUGxheWVyLndyYXBwZXIuY3NzKHtvcGFjaXR5OjF9KX19fSl9bmV3IFlULlBsYXllcihwbGF5ZXJJRCx7dmlkZW9JZDpZVFBsYXllci52aWRlb0lELnRvU3RyaW5nKCkscGxheWVyVmFyczpwbGF5ZXJWYXJzLGV2ZW50czp7b25SZWFkeTpmdW5jdGlvbihhKXtZVFBsYXllci5wbGF5ZXI9YS50YXJnZXQsWVRQbGF5ZXIuaXNSZWFkeXx8KFlUUGxheWVyLmlzUmVhZHk9WVRQbGF5ZXIuaXNQbGF5ZXImJiFZVFBsYXllci5vcHQuYXV0b1BsYXk/ITE6ITAsWVRQbGF5ZXIucGxheWVyRWw9WVRQbGF5ZXIucGxheWVyLmdldElmcmFtZSgpLGpRdWVyeShZVFBsYXllci5wbGF5ZXJFbCkudW5zZWxlY3RhYmxlKCksJFlUUGxheWVyLm9wdGltaXplRGlzcGxheSgpLGpRdWVyeSh3aW5kb3cpLm9mZigicmVzaXplLllUUF8iK1lUUGxheWVyLmlkKS5vbigicmVzaXplLllUUF8iK1lUUGxheWVyLmlkLGZ1bmN0aW9uKCl7JFlUUGxheWVyLm9wdGltaXplRGlzcGxheSgpfSksWVRQbGF5ZXIub3B0LnJlbWVtYmVyX2xhc3RfdGltZSYmalF1ZXJ5KHdpbmRvdykub24oInVubG9hZC5ZVFBfIitZVFBsYXllci5pZCxmdW5jdGlvbigpe3ZhciBhPVlUUGxheWVyLnBsYXllci5nZXRDdXJyZW50VGltZSgpO2pRdWVyeS5tYkNvb2tpZS5zZXQoIllUUGxheWVyXyIrWVRQbGF5ZXIudmlkZW9JRCxhLDEpfSksalF1ZXJ5Lm1iWVRQbGF5ZXIuY2hlY2tGb3JTdGF0ZShZVFBsYXllcikpfSxvblN0YXRlQ2hhbmdlOmZ1bmN0aW9uKGV2ZW50KXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZXZlbnQudGFyZ2V0LmdldFBsYXllclN0YXRlKXt2YXIgc3RhdGU9ZXZlbnQudGFyZ2V0LmdldFBsYXllclN0YXRlKCk7aWYoWVRQbGF5ZXIucHJldmVudFRyaWdnZXIpcmV0dXJuIHZvaWQoWVRQbGF5ZXIucHJldmVudFRyaWdnZXI9ITEpO1lUUGxheWVyLnN0YXRlPXN0YXRlO3ZhciBldmVudFR5cGU7c3dpdGNoKHN0YXRlKXtjYXNlLTE6ZXZlbnRUeXBlPSJZVFBVbnN0YXJ0ZWQiO2JyZWFrO2Nhc2UgMDpldmVudFR5cGU9IllUUFJlYWxFbmQiO2JyZWFrO2Nhc2UgMTpldmVudFR5cGU9IllUUFBsYXkiLFlUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoJiZZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBQbGF5cGF1c2UiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBhdXNlKSwidW5kZWZpbmVkIiE9dHlwZW9mIF9nYXEmJmV2YWwoWVRQbGF5ZXIub3B0LmdhVHJhY2spJiZfZ2FxLnB1c2goWyJfdHJhY2tFdmVudCIsIllUUGxheWVyIiwiUGxheSIsWVRQbGF5ZXIuaGFzRGF0YT9ZVFBsYXllci52aWRlb0RhdGEudGl0bGU6WVRQbGF5ZXIudmlkZW9JRC50b1N0cmluZygpXSksInVuZGVmaW5lZCIhPXR5cGVvZiBnYSYmZXZhbChZVFBsYXllci5vcHQuZ2FUcmFjaykmJmdhKCJzZW5kIiwiZXZlbnQiLCJZVFBsYXllciIsInBsYXkiLFlUUGxheWVyLmhhc0RhdGE/WVRQbGF5ZXIudmlkZW9EYXRhLnRpdGxlOllUUGxheWVyLnZpZGVvSUQudG9TdHJpbmcoKSk7YnJlYWs7Y2FzZSAyOmV2ZW50VHlwZT0iWVRQUGF1c2UiLFlUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoJiZZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBQbGF5cGF1c2UiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBsYXkpO2JyZWFrO2Nhc2UgMzpZVFBsYXllci5wbGF5ZXIuc2V0UGxheWJhY2tRdWFsaXR5KFlUUGxheWVyLm9wdC5xdWFsaXR5KSxldmVudFR5cGU9IllUUEJ1ZmZlcmluZyIsWVRQbGF5ZXIuY29udHJvbEJhci5sZW5ndGgmJllUUGxheWVyLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFBsYXlwYXVzZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGxheSk7YnJlYWs7Y2FzZSA1OmV2ZW50VHlwZT0iWVRQQ3VlZCJ9dmFyIFlUUEV2ZW50PWpRdWVyeS5FdmVudChldmVudFR5cGUpO1lUUEV2ZW50LnRpbWU9WVRQbGF5ZXIuY3VycmVudFRpbWUsWVRQbGF5ZXIuY2FuVHJpZ2dlciYmalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKFlUUEV2ZW50KX19LG9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0LmdldFBsYXliYWNrUXVhbGl0eSgpLGM9alF1ZXJ5LkV2ZW50KCJZVFBRdWFsaXR5Q2hhbmdlIik7Yy5xdWFsaXR5PWIsalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKGMpfSxvbkVycm9yOmZ1bmN0aW9uKGEpezE1MD09YS5kYXRhJiYoY29uc29sZS5sb2coIkVtYmVkZGluZyB0aGlzIHZpZGVvIGlzIHJlc3RyaWN0ZWQgYnkgWW91dHViZS4iKSxZVFBsYXllci5pc1BsYXlMaXN0JiZqUXVlcnkoWVRQbGF5ZXIpLnBsYXlOZXh0KCkpLDI9PWEuZGF0YSYmWVRQbGF5ZXIuaXNQbGF5TGlzdCYmalF1ZXJ5KFlUUGxheWVyKS5wbGF5TmV4dCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBZVFBsYXllci5vcHQub25FcnJvciYmWVRQbGF5ZXIub3B0Lm9uRXJyb3IoJFlUUGxheWVyLGEpfX19KX19KSl9KSwkWVRQbGF5ZXIub2ZmKCJZVFBUaW1lLm1hc2siKSxqUXVlcnkubWJZVFBsYXllci5hcHBseU1hc2soWVRQbGF5ZXIpfX0pfSxnZXREYXRhRnJvbUFQSTpmdW5jdGlvbihhKXtpZihhLnZpZGVvRGF0YT1qUXVlcnkubWJTdG9yYWdlLmdldCgiWVRQbGF5ZXJfZGF0YV8iK2EudmlkZW9JRCksalF1ZXJ5KGEpLm9mZigiWVRQRGF0YS5ZVFBsYXllciIpLm9uKCJZVFBEYXRhLllUUGxheWVyIixmdW5jdGlvbigpe2lmKGEuaGFzRGF0YSYmYS5pc1BsYXllciYmIWEub3B0LmF1dG9QbGF5KXt2YXIgYj1hLnZpZGVvRGF0YS50aHVtYl9tYXh8fGEudmlkZW9EYXRhLnRodW1iX2hpZ2h8fGEudmlkZW9EYXRhLnRodW1iX21lZGl1bTthLm9wdC5jb250YWlubWVudC5jc3Moe2JhY2tncm91bmQ6InJnYmEoMCwwLDAsMC41KSB1cmwoIitiKyIpIGNlbnRlciBjZW50ZXIiLGJhY2tncm91bmRTaXplOiJjb3ZlciJ9KSxhLm9wdC5iYWNrZ3JvdW5kVXJsPWJ9fSksYS52aWRlb0RhdGEpc2V0VGltZW91dChmdW5jdGlvbigpe2Eub3B0LnJhdGlvPSJhdXRvIj09YS5vcHQucmF0aW8/IjE2LzkiOmEub3B0LnJhdGlvLGEuZGF0YVJlY2VpdmVkPSEwLGpRdWVyeShhKS50cmlnZ2VyKCJZVFBDaGFuZ2VkIik7dmFyIGI9alF1ZXJ5LkV2ZW50KCJZVFBEYXRhIik7Yi5wcm9wPXt9O2Zvcih2YXIgYyBpbiBhLnZpZGVvRGF0YSliLnByb3BbY109YS52aWRlb0RhdGFbY107alF1ZXJ5KGEpLnRyaWdnZXIoYil9LGEub3B0LmZhZGVPblN0YXJ0VGltZSksYS5oYXNEYXRhPSEwO2Vsc2UgaWYoalF1ZXJ5Lm1iWVRQbGF5ZXIuYXBpS2V5KWpRdWVyeS5nZXRKU09OKGpRdWVyeS5tYllUUGxheWVyLmxvY2F0aW9uUHJvdG9jb2wrIi8vd3d3Lmdvb2dsZWFwaXMuY29tL3lvdXR1YmUvdjMvdmlkZW9zP2lkPSIrYS52aWRlb0lEKyIma2V5PSIralF1ZXJ5Lm1iWVRQbGF5ZXIuYXBpS2V5KyImcGFydD1zbmlwcGV0IixmdW5jdGlvbihiKXtmdW5jdGlvbiBjKGIpe2EudmlkZW9EYXRhPXt9LGEudmlkZW9EYXRhLmlkPWEudmlkZW9JRCxhLnZpZGVvRGF0YS5jaGFubmVsVGl0bGU9Yi5jaGFubmVsVGl0bGUsYS52aWRlb0RhdGEudGl0bGU9Yi50aXRsZSxhLnZpZGVvRGF0YS5kZXNjcmlwdGlvbj1iLmRlc2NyaXB0aW9uLmxlbmd0aDw0MDA/Yi5kZXNjcmlwdGlvbjpiLmRlc2NyaXB0aW9uLnN1YnN0cmluZygwLDQwMCkrIiAuLi4iLGEudmlkZW9EYXRhLmFzcGVjdHJhdGlvPSJhdXRvIj09YS5vcHQucmF0aW8/IjE2LzkiOmEub3B0LnJhdGlvLGEub3B0LnJhdGlvPWEudmlkZW9EYXRhLmFzcGVjdHJhdGlvLGEudmlkZW9EYXRhLnRodW1iX21heD1iLnRodW1ibmFpbHMubWF4cmVzP2IudGh1bWJuYWlscy5tYXhyZXMudXJsOm51bGwsYS52aWRlb0RhdGEudGh1bWJfaGlnaD1iLnRodW1ibmFpbHMuaGlnaD9iLnRodW1ibmFpbHMuaGlnaC51cmw6bnVsbCxhLnZpZGVvRGF0YS50aHVtYl9tZWRpdW09Yi50aHVtYm5haWxzLm1lZGl1bT9iLnRodW1ibmFpbHMubWVkaXVtLnVybDpudWxsLGpRdWVyeS5tYlN0b3JhZ2Uuc2V0KCJZVFBsYXllcl9kYXRhXyIrYS52aWRlb0lELGEudmlkZW9EYXRhKX1hLmRhdGFSZWNlaXZlZD0hMCxqUXVlcnkoYSkudHJpZ2dlcigiWVRQQ2hhbmdlZCIpLGMoYi5pdGVtc1swXS5zbmlwcGV0KSxhLmhhc0RhdGE9ITA7dmFyIGQ9alF1ZXJ5LkV2ZW50KCJZVFBEYXRhIik7ZC5wcm9wPXt9O2Zvcih2YXIgZSBpbiBhLnZpZGVvRGF0YSlkLnByb3BbZV09YS52aWRlb0RhdGFbZV07alF1ZXJ5KGEpLnRyaWdnZXIoZCl9KTtlbHNle2lmKHNldFRpbWVvdXQoZnVuY3Rpb24oKXtqUXVlcnkoYSkudHJpZ2dlcigiWVRQQ2hhbmdlZCIpfSw1MCksYS5pc1BsYXllciYmIWEub3B0LmF1dG9QbGF5KXt2YXIgYj1qUXVlcnkubWJZVFBsYXllci5sb2NhdGlvblByb3RvY29sKyIvL2kueXRpbWcuY29tL3ZpLyIrYS52aWRlb0lEKyIvaHFkZWZhdWx0LmpwZyI7YiYmYS5vcHQuY29udGFpbm1lbnQuY3NzKHtiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuNSkgdXJsKCIrYisiKSBjZW50ZXIgY2VudGVyIixiYWNrZ3JvdW5kU2l6ZToiY292ZXIifSksYS5vcHQuYmFja2dyb3VuZFVybD1ifWEudmlkZW9EYXRhPW51bGwsYS5vcHQucmF0aW89ImF1dG8iPT1hLm9wdC5yYXRpbz8iMTYvOSI6YS5vcHQucmF0aW99IWEuaXNQbGF5ZXJ8fGEub3B0LmF1dG9QbGF5fHxqUXVlcnkubWJCcm93c2VyLm1vYmlsZXx8KGEubG9hZGluZz1qUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJsb2FkaW5nIikuaHRtbCgiTG9hZGluZyIpLmhpZGUoKSxqUXVlcnkoYSkuYXBwZW5kKGEubG9hZGluZyksYS5sb2FkaW5nLmZhZGVJbigpKX0scmVtb3ZlU3RvcmVkRGF0YTpmdW5jdGlvbigpe2pRdWVyeS5tYlN0b3JhZ2UucmVtb3ZlKCl9LGdldFZpZGVvRGF0YTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBhLnZpZGVvRGF0YX0sZ2V0VmlkZW9JRDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBhLnZpZGVvSUR8fCExfSxzZXRWaWRlb1F1YWxpdHk6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXQoMCk7Yi5wbGF5ZXIuc2V0UGxheWJhY2tRdWFsaXR5KGEpfSxwbGF5bGlzdDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcyxlPWQuZ2V0KDApO3JldHVybiBlLmlzUGxheUxpc3Q9ITAsYiYmKGE9alF1ZXJ5LnNodWZmbGUoYSkpLGUudmlkZW9JRHx8KGUudmlkZW9zPWEsZS52aWRlb0NvdW50ZXI9MCxlLnZpZGVvTGVuZ3RoPWEubGVuZ3RoLGpRdWVyeShlKS5kYXRhKCJwcm9wZXJ0eSIsYVswXSksalF1ZXJ5KGUpLm1iX1lUUGxheWVyKCkpLCJmdW5jdGlvbiI9PXR5cGVvZiBjJiZqUXVlcnkoZSkub25lKCJZVFBDaGFuZ2VkIixmdW5jdGlvbigpe2MoZSl9KSxqUXVlcnkoZSkub24oIllUUEVuZCIsZnVuY3Rpb24oKXtqUXVlcnkoZSkucGxheU5leHQoKX0pLHRoaXN9LHBsYXlOZXh0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7cmV0dXJuIGEuY2hlY2tGb3JTdGFydEF0JiYoY2xlYXJJbnRlcnZhbChhLmNoZWNrRm9yU3RhcnRBdCksY2xlYXJJbnRlcnZhbChhLmdldFN0YXRlKSksYS52aWRlb0NvdW50ZXIrKyxhLnZpZGVvQ291bnRlcj49YS52aWRlb0xlbmd0aCYmKGEudmlkZW9Db3VudGVyPTApLGpRdWVyeShhKS5ZVFBDaGFuZ2VNb3ZpZShhLnZpZGVvc1thLnZpZGVvQ291bnRlcl0pLHRoaXN9LHBsYXlQcmV2OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7cmV0dXJuIGEuY2hlY2tGb3JTdGFydEF0JiYoY2xlYXJJbnRlcnZhbChhLmNoZWNrRm9yU3RhcnRBdCksY2xlYXJJbnRlcnZhbChhLmdldFN0YXRlKSksYS52aWRlb0NvdW50ZXItLSxhLnZpZGVvQ291bnRlcjwwJiYoYS52aWRlb0NvdW50ZXI9YS52aWRlb0xlbmd0aC0xKSxqUXVlcnkoYSkuWVRQQ2hhbmdlTW92aWUoYS52aWRlb3NbYS52aWRlb0NvdW50ZXJdKSx0aGlzfSxwbGF5SW5kZXg6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXQoMCk7cmV0dXJuIGEtPTEsYi5jaGVja0ZvclN0YXJ0QXQmJihjbGVhckludGVydmFsKGIuY2hlY2tGb3JTdGFydEF0KSxjbGVhckludGVydmFsKGIuZ2V0U3RhdGUpKSxiLnZpZGVvQ291bnRlcj1hLGIudmlkZW9Db3VudGVyPj1iLnZpZGVvTGVuZ3RoLTEmJihiLnZpZGVvQ291bnRlcj1iLnZpZGVvTGVuZ3RoLTEpLGpRdWVyeShiKS5ZVFBDaGFuZ2VNb3ZpZShiLnZpZGVvc1tiLnZpZGVvQ291bnRlcl0pLHRoaXN9LGNoYW5nZU1vdmllOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1iLmdldCgwKTtjLm9wdC5zdGFydEF0PTAsYy5vcHQuc3RvcEF0PTAsYy5vcHQubWFzaz0hMSxjLm9wdC5tdXRlPSEwLGMuaGFzRGF0YT0hMSxjLmhhc0NoYW5nZWQ9ITAsYy5wbGF5ZXIubG9vcFRpbWU9dm9pZCAwLGEmJmpRdWVyeS5leHRlbmQoYy5vcHQsYSksYy52aWRlb0lEPWdldFlUUFZpZGVvSUQoYy5vcHQudmlkZW9VUkwpLnZpZGVvSUQsInRydWUiPT1jLm9wdC5sb29wJiYoYy5vcHQubG9vcD05OTk5KSxqUXVlcnkoYy5wbGF5ZXJFbCkuQ1NTQW5pbWF0ZSh7b3BhY2l0eTowfSxjLm9wdC5mYWRlT25TdGFydFRpbWUsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkuRXZlbnQoIllUUENoYW5nZU1vdmllIik7YS50aW1lPWMuY3VycmVudFRpbWUsYS52aWRlb0lkPWMudmlkZW9JRCxqUXVlcnkoYykudHJpZ2dlcihhKSxqUXVlcnkoYykuWVRQR2V0UGxheWVyKCkuY3VlVmlkZW9CeVVybChlbmNvZGVVUkkoalF1ZXJ5Lm1iWVRQbGF5ZXIubG9jYXRpb25Qcm90b2NvbCsiLy93d3cueW91dHViZS5jb20vdi8iK2MudmlkZW9JRCksMSxjLm9wdC5xdWFsaXR5KSxqUXVlcnkoYykub3B0aW1pemVEaXNwbGF5KCksalF1ZXJ5Lm1iWVRQbGF5ZXIuY2hlY2tGb3JTdGF0ZShjKSxqUXVlcnkubWJZVFBsYXllci5nZXREYXRhRnJvbUFQSShjKX0pLGpRdWVyeS5tYllUUGxheWVyLmFwcGx5TWFzayhjKX0sZ2V0UGxheWVyOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeSh0aGlzKS5nZXQoMCkucGxheWVyfSxwbGF5ZXJEZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7eXRwLllUQVBJUmVhZHk9ITAseXRwLmJhY2tncm91bmRJc0luaXRlZD0hMSxhLmlzSW5pdD0hMSxhLnZpZGVvSUQ9bnVsbCxhLmlzUmVhZHk9ITE7dmFyIGI9YS53cmFwcGVyO3JldHVybiBiLnJlbW92ZSgpLGpRdWVyeSgiI2NvbnRyb2xCYXJfIithLmlkKS5yZW1vdmUoKSxjbGVhckludGVydmFsKGEuY2hlY2tGb3JTdGFydEF0KSxjbGVhckludGVydmFsKGEuZ2V0U3RhdGUpLHRoaXN9LGZ1bGxzY3JlZW46ZnVuY3Rpb24ocmVhbCl7ZnVuY3Rpb24gaGlkZU1vdXNlKCl7WVRQbGF5ZXIub3ZlcmxheS5jc3Moe2N1cnNvcjoibm9uZSJ9KX1mdW5jdGlvbiBSdW5QcmVmaXhNZXRob2QoYSxiKXtmb3IodmFyIGMsZCxlPVsid2Via2l0IiwibW96IiwibXMiLCJvIiwiIl0sZj0wO2Y8ZS5sZW5ndGgmJiFhW2NdOyl7aWYoYz1iLCIiPT1lW2ZdJiYoYz1jLnN1YnN0cigwLDEpLnRvTG93ZXJDYXNlKCkrYy5zdWJzdHIoMSkpLGM9ZVtmXStjLGQ9dHlwZW9mIGFbY10sInVuZGVmaW5lZCIhPWQpcmV0dXJuIGU9W2VbZl1dLCJmdW5jdGlvbiI9PWQ/YVtjXSgpOmFbY107ZisrfX1mdW5jdGlvbiBsYXVuY2hGdWxsc2NyZWVuKGEpe1J1blByZWZpeE1ldGhvZChhLCJSZXF1ZXN0RnVsbFNjcmVlbiIpfWZ1bmN0aW9uIGNhbmNlbEZ1bGxzY3JlZW4oKXsoUnVuUHJlZml4TWV0aG9kKGRvY3VtZW50LCJGdWxsU2NyZWVuIil8fFJ1blByZWZpeE1ldGhvZChkb2N1bWVudCwiSXNGdWxsU2NyZWVuIikpJiZSdW5QcmVmaXhNZXRob2QoZG9jdW1lbnQsIkNhbmNlbEZ1bGxTY3JlZW4iKX12YXIgWVRQbGF5ZXI9dGhpcy5nZXQoMCk7InVuZGVmaW5lZCI9PXR5cGVvZiByZWFsJiYocmVhbD1ZVFBsYXllci5vcHQucmVhbGZ1bGxzY3JlZW4pLHJlYWw9ZXZhbChyZWFsKTt2YXIgY29udHJvbHM9alF1ZXJ5KCIjY29udHJvbEJhcl8iK1lUUGxheWVyLmlkKSxmdWxsU2NyZWVuQnRuPWNvbnRyb2xzLmZpbmQoIi5tYl9Pbmx5WVQiKSx2aWRlb1dyYXBwZXI9WVRQbGF5ZXIuaXNTZWxmP1lUUGxheWVyLm9wdC5jb250YWlubWVudDpZVFBsYXllci53cmFwcGVyO2lmKHJlYWwpe3ZhciBmdWxsc2NyZWVuY2hhbmdlPWpRdWVyeS5tYkJyb3dzZXIubW96aWxsYT8ibW96ZnVsbHNjcmVlbmNoYW5nZSI6alF1ZXJ5Lm1iQnJvd3Nlci53ZWJraXQ/IndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiOiJmdWxsc2NyZWVuY2hhbmdlIjtqUXVlcnkoZG9jdW1lbnQpLm9mZihmdWxsc2NyZWVuY2hhbmdlKS5vbihmdWxsc2NyZWVuY2hhbmdlLGZ1bmN0aW9uKCl7dmFyIGE9UnVuUHJlZml4TWV0aG9kKGRvY3VtZW50LCJJc0Z1bGxTY3JlZW4iKXx8UnVuUHJlZml4TWV0aG9kKGRvY3VtZW50LCJGdWxsU2NyZWVuIik7YT8oalF1ZXJ5KFlUUGxheWVyKS5ZVFBTZXRWaWRlb1F1YWxpdHkoImRlZmF1bHQiKSxqUXVlcnkoWVRQbGF5ZXIpLnRyaWdnZXIoIllUUEZ1bGxTY3JlZW5TdGFydCIpKTooWVRQbGF5ZXIuaXNBbG9uZT0hMSxmdWxsU2NyZWVuQnRuLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMub25seVlUKSxqUXVlcnkoWVRQbGF5ZXIpLllUUFNldFZpZGVvUXVhbGl0eShZVFBsYXllci5vcHQucXVhbGl0eSksdmlkZW9XcmFwcGVyLnJlbW92ZUNsYXNzKCJZVFBGdWxsc2NyZWVuIiksdmlkZW9XcmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6WVRQbGF5ZXIub3B0Lm9wYWNpdHl9LFlUUGxheWVyLm9wdC5mYWRlT25TdGFydFRpbWUpLHZpZGVvV3JhcHBlci5jc3Moe3pJbmRleDowfSksWVRQbGF5ZXIuaXNCYWNrZ3JvdW5kP2pRdWVyeSgiYm9keSIpLmFmdGVyKGNvbnRyb2xzKTpZVFBsYXllci53cmFwcGVyLmJlZm9yZShjb250cm9scyksalF1ZXJ5KHdpbmRvdykucmVzaXplKCksalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKCJZVFBGdWxsU2NyZWVuRW5kIikpfSl9cmV0dXJuIFlUUGxheWVyLmlzQWxvbmU/KGpRdWVyeShkb2N1bWVudCkub2ZmKCJtb3VzZW1vdmUuWVRQbGF5ZXIiKSxjbGVhclRpbWVvdXQoWVRQbGF5ZXIuaGlkZUN1cnNvciksWVRQbGF5ZXIub3ZlcmxheS5jc3Moe2N1cnNvcjoiYXV0byJ9KSxyZWFsP2NhbmNlbEZ1bGxzY3JlZW4oKToodmlkZW9XcmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6WVRQbGF5ZXIub3B0Lm9wYWNpdHl9LFlUUGxheWVyLm9wdC5mYWRlT25TdGFydFRpbWUpLHZpZGVvV3JhcHBlci5jc3Moe3pJbmRleDowfSkpLGZ1bGxTY3JlZW5CdG4uaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5vbmx5WVQpLFlUUGxheWVyLmlzQWxvbmU9ITEpOihqUXVlcnkoZG9jdW1lbnQpLm9uKCJtb3VzZW1vdmUuWVRQbGF5ZXIiLGZ1bmN0aW9uKGEpe1lUUGxheWVyLm92ZXJsYXkuY3NzKHtjdXJzb3I6ImF1dG8ifSksY2xlYXJUaW1lb3V0KFlUUGxheWVyLmhpZGVDdXJzb3IpLGpRdWVyeShhLnRhcmdldCkucGFyZW50cygpLmlzKCIubWJfWVRQQmFyIil8fChZVFBsYXllci5oaWRlQ3Vyc29yPXNldFRpbWVvdXQoaGlkZU1vdXNlLDNlMykpfSksaGlkZU1vdXNlKCkscmVhbD8odmlkZW9XcmFwcGVyLmNzcyh7b3BhY2l0eTowfSksdmlkZW9XcmFwcGVyLmFkZENsYXNzKCJZVFBGdWxsc2NyZWVuIiksbGF1bmNoRnVsbHNjcmVlbih2aWRlb1dyYXBwZXIuZ2V0KDApKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmlkZW9XcmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6MX0sMipZVFBsYXllci5vcHQuZmFkZU9uU3RhcnRUaW1lKSxZVFBsYXllci53cmFwcGVyLmFwcGVuZChjb250cm9scyksalF1ZXJ5KFlUUGxheWVyKS5vcHRpbWl6ZURpc3BsYXkoKSxZVFBsYXllci5wbGF5ZXIuc2Vla1RvKFlUUGxheWVyLnBsYXllci5nZXRDdXJyZW50VGltZSgpKy4xLCEwKX0sWVRQbGF5ZXIub3B0LmZhZGVPblN0YXJ0VGltZSkpOnZpZGVvV3JhcHBlci5jc3Moe3pJbmRleDoxZTR9KS5DU1NBbmltYXRlKHtvcGFjaXR5OjF9LDIqWVRQbGF5ZXIub3B0LmZhZGVPblN0YXJ0VGltZSksZnVsbFNjcmVlbkJ0bi5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnNob3dTaXRlKSxZVFBsYXllci5pc0Fsb25lPSEwKSx0aGlzfSx0b2dnbGVMb29wczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApLGI9YS5vcHQ7cmV0dXJuIDE9PWIubG9vcD9iLmxvb3A9MDooYi5zdGFydEF0P2EucGxheWVyLnNlZWtUbyhiLnN0YXJ0QXQpOmEucGxheWVyLnBsYXlWaWRlbygpLGIubG9vcD0xKSx0aGlzfSxwbGF5OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7aWYoIWEuaXNSZWFkeSlyZXR1cm4gdGhpczthLnBsYXllci5wbGF5VmlkZW8oKSxhLndyYXBwZXIuQ1NTQW5pbWF0ZSh7b3BhY2l0eTphLmlzQWxvbmU/MTphLm9wdC5vcGFjaXR5fSw0KmEub3B0LmZhZGVPblN0YXJ0VGltZSksalF1ZXJ5KGEucGxheWVyRWwpLkNTU0FuaW1hdGUoe29wYWNpdHk6MX0sMiphLm9wdC5mYWRlT25TdGFydFRpbWUpO3ZhciBiPWpRdWVyeSgiI2NvbnRyb2xCYXJfIithLmlkKSxjPWIuZmluZCgiLm1iX1lUUFBsYXlwYXVzZSIpO3JldHVybiBjLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGF1c2UpLGEuc3RhdGU9MSxhLm9yaWdfYmFja2dyb3VuZD1qUXVlcnkoYSkuY3NzKCJiYWNrZ3JvdW5kLWltYWdlIiksdGhpc30sdG9nZ2xlUGxheTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldCgwKTtyZXR1cm4gMT09Yi5zdGF0ZT90aGlzLllUUFBhdXNlKCk6dGhpcy5ZVFBQbGF5KCksImZ1bmN0aW9uIj09dHlwZW9mIGEmJmEoYi5zdGF0ZSksdGhpc30sc3RvcDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApLGI9alF1ZXJ5KCIjY29udHJvbEJhcl8iK2EuaWQpLGM9Yi5maW5kKCIubWJfWVRQUGxheXBhdXNlIik7cmV0dXJuIGMuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5wbGF5KSxhLnBsYXllci5zdG9wVmlkZW8oKSx0aGlzfSxwYXVzZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBhLnBsYXllci5wYXVzZVZpZGVvKCksYS5zdGF0ZT0yLHRoaXN9LHNlZWtUbzpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldCgwKTtyZXR1cm4gYi5wbGF5ZXIuc2Vla1RvKGEsITApLHRoaXN9LHNldFZvbHVtZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldCgwKTtyZXR1cm4gYXx8Yi5vcHQudm9sfHwwIT1iLnBsYXllci5nZXRWb2x1bWUoKT8hYSYmYi5wbGF5ZXIuZ2V0Vm9sdW1lKCk+MHx8YSYmYi5vcHQudm9sPT1hP2IuaXNNdXRlP2pRdWVyeShiKS5ZVFBVbm11dGUoKTpqUXVlcnkoYikuWVRQTXV0ZSgpOihiLm9wdC52b2w9YSxiLnBsYXllci5zZXRWb2x1bWUoYi5vcHQudm9sKSxiLnZvbHVtZUJhciYmYi52b2x1bWVCYXIubGVuZ3RoJiZiLnZvbHVtZUJhci51cGRhdGVTbGlkZXJWYWwoYSkpOmpRdWVyeShiKS5ZVFBVbm11dGUoKSx0aGlzfSx0b2dnbGVWb2x1bWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgwKTtpZihhKXJldHVybiBhLnBsYXllci5pc011dGVkKCk/KGpRdWVyeShhKS5ZVFBVbm11dGUoKSwhMCk6KGpRdWVyeShhKS5ZVFBNdXRlKCksITEpfSxtdXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7aWYoIWEuaXNNdXRlKXthLnBsYXllci5tdXRlKCksYS5pc011dGU9ITAsYS5wbGF5ZXIuc2V0Vm9sdW1lKDApLGEudm9sdW1lQmFyJiZhLnZvbHVtZUJhci5sZW5ndGgmJmEudm9sdW1lQmFyLndpZHRoKCk+MTAmJmEudm9sdW1lQmFyLnVwZGF0ZVNsaWRlclZhbCgwKTt2YXIgYj1qUXVlcnkoIiNjb250cm9sQmFyXyIrYS5pZCksYz1iLmZpbmQoIi5tYl9ZVFBNdXRlVW5tdXRlIik7Yy5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnVubXV0ZSksalF1ZXJ5KGEpLmFkZENsYXNzKCJpc011dGVkIiksYS52b2x1bWVCYXImJmEudm9sdW1lQmFyLmxlbmd0aCYmYS52b2x1bWVCYXIuYWRkQ2xhc3MoIm11dGVkIik7dmFyIGQ9alF1ZXJ5LkV2ZW50KCJZVFBNdXRlZCIpO3JldHVybiBkLnRpbWU9YS5jdXJyZW50VGltZSxhLmNhblRyaWdnZXImJmpRdWVyeShhKS50cmlnZ2VyKGQpLHRoaXN9fSx1bm11dGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgwKTtpZihhLmlzTXV0ZSl7YS5wbGF5ZXIudW5NdXRlKCksYS5pc011dGU9ITEsYS5wbGF5ZXIuc2V0Vm9sdW1lKGEub3B0LnZvbCksYS52b2x1bWVCYXImJmEudm9sdW1lQmFyLmxlbmd0aCYmYS52b2x1bWVCYXIudXBkYXRlU2xpZGVyVmFsKGEub3B0LnZvbD4xMD9hLm9wdC52b2w6MTApO3ZhciBiPWpRdWVyeSgiI2NvbnRyb2xCYXJfIithLmlkKSxjPWIuZmluZCgiLm1iX1lUUE11dGVVbm11dGUiKTtjLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMubXV0ZSksalF1ZXJ5KGEpLnJlbW92ZUNsYXNzKCJpc011dGVkIiksYS52b2x1bWVCYXImJmEudm9sdW1lQmFyLmxlbmd0aCYmYS52b2x1bWVCYXIucmVtb3ZlQ2xhc3MoIm11dGVkIik7dmFyIGQ9alF1ZXJ5LkV2ZW50KCJZVFBVbm11dGVkIik7cmV0dXJuIGQudGltZT1hLmN1cnJlbnRUaW1lLGEuY2FuVHJpZ2dlciYmalF1ZXJ5KGEpLnRyaWdnZXIoZCksdGhpc319LGFwcGx5RmlsdGVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPXRoaXM7Yy5maWx0ZXJzW2FdLnZhbHVlPWIsYy5maWx0ZXJzRW5hYmxlZCYmalF1ZXJ5KGMpLllUUEVuYWJsZUZpbHRlcnMoKX0pfSxhcHBseUZpbHRlcnM6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPXRoaXM7aWYoIWIuaXNSZWFkeSlyZXR1cm4gdm9pZCBqUXVlcnkoYikub24oIllUUFJlYWR5IixmdW5jdGlvbigpe2pRdWVyeShiKS5ZVFBBcHBseUZpbHRlcnMoYSl9KTtmb3IodmFyIGMgaW4gYSlqUXVlcnkoYikuWVRQQXBwbHlGaWx0ZXIoYyxhW2NdKTtqUXVlcnkoYikudHJpZ2dlcigiWVRQRmlsdGVyc0FwcGxpZWQiKX0pfSx0b2dnbGVGaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztjLmZpbHRlcnNbYV0udmFsdWU/Yy5maWx0ZXJzW2FdLnZhbHVlPTA6Yy5maWx0ZXJzW2FdLnZhbHVlPWIsYy5maWx0ZXJzRW5hYmxlZCYmalF1ZXJ5KHRoaXMpLllUUEVuYWJsZUZpbHRlcnMoKX0pfSx0b2dnbGVGaWx0ZXJzOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj10aGlzO2IuZmlsdGVyc0VuYWJsZWQ/KGpRdWVyeShiKS50cmlnZ2VyKCJZVFBEaXNhYmxlRmlsdGVycyIpLGpRdWVyeShiKS5ZVFBEaXNhYmxlRmlsdGVycygpKTooalF1ZXJ5KGIpLllUUEVuYWJsZUZpbHRlcnMoKSxqUXVlcnkoYikudHJpZ2dlcigiWVRQRW5hYmxlRmlsdGVycyIpKSwiZnVuY3Rpb24iPT10eXBlb2YgYSYmYShiLmZpbHRlcnNFbmFibGVkKX0pfSxkaXNhYmxlRmlsdGVyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9alF1ZXJ5KGEucGxheWVyRWwpO2IuY3NzKCItd2Via2l0LWZpbHRlciIsIiIpLGIuY3NzKCJmaWx0ZXIiLCIiKSxhLmZpbHRlcnNFbmFibGVkPSExfSl9LGVuYWJsZUZpbHRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWpRdWVyeShhLnBsYXllckVsKSxjPSIiO2Zvcih2YXIgZCBpbiBhLmZpbHRlcnMpYS5maWx0ZXJzW2RdLnZhbHVlJiYoYys9ZC5yZXBsYWNlKCJfIiwiLSIpKyIoIithLmZpbHRlcnNbZF0udmFsdWUrYS5maWx0ZXJzW2RdLnVuaXQrIikgIik7Yi5jc3MoIi13ZWJraXQtZmlsdGVyIixjKSxiLmNzcygiZmlsdGVyIixjKSxhLmZpbHRlcnNFbmFibGVkPSEwfSl9LHJlbW92ZUZpbHRlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz10aGlzO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoYj1hLGE9bnVsbCksYSlqUXVlcnkodGhpcykuWVRQQXBwbHlGaWx0ZXIoYSwwKSwiZnVuY3Rpb24iPT10eXBlb2YgYiYmYihhKTtlbHNlIGZvcih2YXIgZCBpbiBjLmZpbHRlcnMpalF1ZXJ5KHRoaXMpLllUUEFwcGx5RmlsdGVyKGQsMCksImZ1bmN0aW9uIj09dHlwZW9mIGImJmIoZCl9KX0sZ2V0RmlsdGVyczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBhLmZpbHRlcnN9LGFkZE1hc2s6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXQoMCksYz1iLm92ZXJsYXk7YXx8KGE9Yi5hY3R1YWxNYXNrKTt2YXIgZD1qUXVlcnkoIjxpbWcvPiIpLmF0dHIoInNyYyIsYSkub24oImxvYWQiLGZ1bmN0aW9uKCl7Yy5DU1NBbmltYXRlKHtvcGFjaXR5OjB9LGIub3B0LmZhZGVPblN0YXJ0VGltZSxmdW5jdGlvbigpe2IuaGFzTWFzaz0hMCxkLnJlbW92ZSgpLGMuY3NzKHtiYWNrZ3JvdW5kSW1hZ2U6InVybCgiK2ErIikiLGJhY2tncm91bmRSZXBlYXQ6Im5vLXJlcGVhdCIsYmFja2dyb3VuZFBvc2l0aW9uOiJjZW50ZXIgY2VudGVyIixiYWNrZ3JvdW5kU2l6ZToiY292ZXIifSksYy5DU1NBbmltYXRlKHtvcGFjaXR5OjF9LGIub3B0LmZhZGVPblN0YXJ0VGltZSl9KX0pO3JldHVybiB0aGlzfSxyZW1vdmVNYXNrOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCksYj1hLm92ZXJsYXk7cmV0dXJuIGIuQ1NTQW5pbWF0ZSh7b3BhY2l0eTowfSxhLm9wdC5mYWRlT25TdGFydFRpbWUsZnVuY3Rpb24oKXthLmhhc01hc2s9ITEsYi5jc3Moe2JhY2tncm91bmRJbWFnZToiIixiYWNrZ3JvdW5kUmVwZWF0OiIiLGJhY2tncm91bmRQb3NpdGlvbjoiIixiYWNrZ3JvdW5kU2l6ZToiIn0pLGIuQ1NTQW5pbWF0ZSh7b3BhY2l0eToxfSxhLm9wdC5mYWRlT25TdGFydFRpbWUpfSksdGhpc30sYXBwbHlNYXNrOmZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeShhKTtpZihiLm9mZigiWVRQVGltZS5tYXNrIiksYS5vcHQubWFzaylpZigic3RyaW5nIj09dHlwZW9mIGEub3B0Lm1hc2spYi5ZVFBBZGRNYXNrKGEub3B0Lm1hc2spLGEuYWN0dWFsTWFzaz1hLm9wdC5tYXNrO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiBhLm9wdC5tYXNrKXtmb3IodmFyIGMgaW4gYS5vcHQubWFzaylpZihhLm9wdC5tYXNrW2NdKXtqUXVlcnkoIjxpbWcvPiIpLmF0dHIoInNyYyIsYS5vcHQubWFza1tjXSl9YS5vcHQubWFza1swXSYmYi5ZVFBBZGRNYXNrKGEub3B0Lm1hc2tbMF0pLGIub24oIllUUFRpbWUubWFzayIsZnVuY3Rpb24oYyl7Zm9yKHZhciBkIGluIGEub3B0Lm1hc2spYy50aW1lPT1kJiYoYS5vcHQubWFza1tkXT8oYi5ZVFBBZGRNYXNrKGEub3B0Lm1hc2tbZF0pLGEuYWN0dWFsTWFzaz1hLm9wdC5tYXNrW2RdKTpiLllUUFJlbW92ZU1hc2soKSl9KX19LHRvZ2dsZU1hc2s6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgwKSxiPSQoYSk7cmV0dXJuIGEuaGFzTWFzaz9iLllUUFJlbW92ZU1hc2soKTpiLllUUEFkZE1hc2soKSx0aGlzfSxtYW5hZ2VQcm9ncmVzczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApLGI9alF1ZXJ5KCIjY29udHJvbEJhcl8iK2EuaWQpLGM9Yi5maW5kKCIubWJfWVRQUHJvZ3Jlc3MiKSxkPWIuZmluZCgiLm1iX1lUUExvYWRlZCIpLGU9Yi5maW5kKCIubWJfWVRQc2Vla2JhciIpLGY9Yy5vdXRlcldpZHRoKCksZz1NYXRoLmZsb29yKGEucGxheWVyLmdldEN1cnJlbnRUaW1lKCkpLGg9TWF0aC5mbG9vcihhLnBsYXllci5nZXREdXJhdGlvbigpKSxpPWcqZi9oLGo9MCxrPTEwMCphLnBsYXllci5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCk7cmV0dXJuIGQuY3NzKHtsZWZ0Omosd2lkdGg6aysiJSJ9KSxlLmNzcyh7bGVmdDowLHdpZHRoOml9KSx7dG90YWxUaW1lOmgsY3VycmVudFRpbWU6Z319LGJ1aWxkQ29udHJvbHM6ZnVuY3Rpb24oWVRQbGF5ZXIpe3ZhciBkYXRhPVlUUGxheWVyLm9wdDtpZihkYXRhLnNob3dZVExvZ289ZGF0YS5zaG93WVRMb2dvfHxkYXRhLnByaW50VXJsLCFqUXVlcnkoIiNjb250cm9sQmFyXyIrWVRQbGF5ZXIuaWQpLmxlbmd0aCl7WVRQbGF5ZXIuY29udHJvbEJhcj1qUXVlcnkoIjxzcGFuLz4iKS5hdHRyKCJpZCIsImNvbnRyb2xCYXJfIitZVFBsYXllci5pZCkuYWRkQ2xhc3MoIm1iX1lUUEJhciIpLmNzcyh7d2hpdGVTcGFjZToibm9XcmFwIixwb3NpdGlvbjpZVFBsYXllci5pc0JhY2tncm91bmQ/ImZpeGVkIjoiYWJzb2x1dGUiLHpJbmRleDpZVFBsYXllci5pc0JhY2tncm91bmQ/MWU0OjFlM30pLmhpZGUoKTt2YXIgYnV0dG9uQmFyPWpRdWVyeSgiPGRpdi8+IikuYWRkQ2xhc3MoImJ1dHRvbkJhciIpLHBsYXlwYXVzZT1qUXVlcnkoIjxzcGFuPiIralF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGxheSsiPC9zcGFuPiIpLmFkZENsYXNzKCJtYl9ZVFBQbGF5cGF1c2UgeXRwaWNvbiIpLmNsaWNrKGZ1bmN0aW9uKCl7MT09WVRQbGF5ZXIucGxheWVyLmdldFBsYXllclN0YXRlKCk/alF1ZXJ5KFlUUGxheWVyKS5ZVFBQYXVzZSgpOmpRdWVyeShZVFBsYXllcikuWVRQUGxheSgpfSksTXV0ZVVubXV0ZT1qUXVlcnkoIjxzcGFuPiIralF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMubXV0ZSsiPC9zcGFuPiIpLmFkZENsYXNzKCJtYl9ZVFBNdXRlVW5tdXRlIHl0cGljb24iKS5jbGljayhmdW5jdGlvbigpezA9PVlUUGxheWVyLnBsYXllci5nZXRWb2x1bWUoKT9qUXVlcnkoWVRQbGF5ZXIpLllUUFVubXV0ZSgpOmpRdWVyeShZVFBsYXllcikuWVRQTXV0ZSgpfSksdm9sdW1lQmFyPWpRdWVyeSgiPGRpdi8+IikuYWRkQ2xhc3MoIm1iX1lUUFZvbHVtZUJhciIpLmNzcyh7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0pO1lUUGxheWVyLnZvbHVtZUJhcj12b2x1bWVCYXI7dmFyIGlkeD1qUXVlcnkoIjxzcGFuLz4iKS5hZGRDbGFzcygibWJfWVRQVGltZSIpLHZVUkw9ZGF0YS52aWRlb1VSTD9kYXRhLnZpZGVvVVJMOiIiO3ZVUkwuaW5kZXhPZigiaHR0cCIpPDAmJih2VVJMPWpRdWVyeS5tYllUUGxheWVyLmxvY2F0aW9uUHJvdG9jb2wrIi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9IitkYXRhLnZpZGVvVVJMKTt2YXIgbW92aWVVcmw9alF1ZXJ5KCI8c3Bhbi8+IikuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy55dExvZ28pLmFkZENsYXNzKCJtYl9ZVFBVcmwgeXRwaWNvbiIpLmF0dHIoInRpdGxlIiwidmlldyBvbiBZb3VUdWJlIikub24oImNsaWNrIixmdW5jdGlvbigpe3dpbmRvdy5vcGVuKHZVUkwsInZpZXdPbllUIil9KSxvbmx5VmlkZW89alF1ZXJ5KCI8c3Bhbi8+IikuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5vbmx5WVQpLmFkZENsYXNzKCJtYl9Pbmx5WVQgeXRwaWNvbiIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtqUXVlcnkoWVRQbGF5ZXIpLllUUEZ1bGxzY3JlZW4oZGF0YS5yZWFsZnVsbHNjcmVlbil9KSxwcm9ncmVzc0Jhcj1qUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJtYl9ZVFBQcm9ncmVzcyIpLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpLmNsaWNrKGZ1bmN0aW9uKGEpe3RpbWVCYXIuY3NzKHt3aWR0aDphLmNsaWVudFgtdGltZUJhci5vZmZzZXQoKS5sZWZ0fSksWVRQbGF5ZXIudGltZVc9YS5jbGllbnRYLXRpbWVCYXIub2Zmc2V0KCkubGVmdCxZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBMb2FkZWQiKS5jc3Moe3dpZHRoOjB9KTt2YXIgYj1NYXRoLmZsb29yKFlUUGxheWVyLnBsYXllci5nZXREdXJhdGlvbigpKTtZVFBsYXllclsiZ290byJdPXRpbWVCYXIub3V0ZXJXaWR0aCgpKmIvcHJvZ3Jlc3NCYXIub3V0ZXJXaWR0aCgpLFlUUGxheWVyLnBsYXllci5zZWVrVG8ocGFyc2VGbG9hdChZVFBsYXllclsiZ290byJdKSwhMCksWVRQbGF5ZXIuY29udHJvbEJhci5maW5kKCIubWJfWVRQTG9hZGVkIikuY3NzKHt3aWR0aDowfSl9KSxsb2FkZWRCYXI9alF1ZXJ5KCI8ZGl2Lz4iKS5hZGRDbGFzcygibWJfWVRQTG9hZGVkIikuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIiksdGltZUJhcj1qUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJtYl9ZVFBzZWVrYmFyIikuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIik7cHJvZ3Jlc3NCYXIuYXBwZW5kKGxvYWRlZEJhcikuYXBwZW5kKHRpbWVCYXIpLGJ1dHRvbkJhci5hcHBlbmQocGxheXBhdXNlKS5hcHBlbmQoTXV0ZVVubXV0ZSkuYXBwZW5kKHZvbHVtZUJhcikuYXBwZW5kKGlkeCksZGF0YS5zaG93WVRMb2dvJiZidXR0b25CYXIuYXBwZW5kKG1vdmllVXJsKSwoWVRQbGF5ZXIuaXNCYWNrZ3JvdW5kfHxldmFsKFlUUGxheWVyLm9wdC5yZWFsZnVsbHNjcmVlbikmJiFZVFBsYXllci5pc0JhY2tncm91bmQpJiZidXR0b25CYXIuYXBwZW5kKG9ubHlWaWRlbyksWVRQbGF5ZXIuY29udHJvbEJhci5hcHBlbmQoYnV0dG9uQmFyKS5hcHBlbmQocHJvZ3Jlc3NCYXIpLFlUUGxheWVyLmlzQmFja2dyb3VuZD9qUXVlcnkoImJvZHkiKS5hZnRlcihZVFBsYXllci5jb250cm9sQmFyKTooWVRQbGF5ZXIuY29udHJvbEJhci5hZGRDbGFzcygiaW5saW5lUGxheWVyIiksWVRQbGF5ZXIud3JhcHBlci5iZWZvcmUoWVRQbGF5ZXIuY29udHJvbEJhcikpLHZvbHVtZUJhci5zaW1wbGVTbGlkZXIoe2luaXRpYWx2YWw6WVRQbGF5ZXIub3B0LnZvbCxzY2FsZToxMDAsb3JpZW50YXRpb246ImgiLGNhbGxiYWNrOmZ1bmN0aW9uKGEpezA9PWEudmFsdWU/alF1ZXJ5KFlUUGxheWVyKS5ZVFBNdXRlKCk6alF1ZXJ5KFlUUGxheWVyKS5ZVFBVbm11dGUoKSxZVFBsYXllci5wbGF5ZXIuc2V0Vm9sdW1lKGEudmFsdWUpLFlUUGxheWVyLmlzTXV0ZXx8KFlUUGxheWVyLm9wdC52b2w9YS52YWx1ZSl9fSl9fSxjaGVja0ZvclN0YXRlOmZ1bmN0aW9uKFlUUGxheWVyKXt2YXIgaW50ZXJ2YWw9WVRQbGF5ZXIub3B0LnNob3dDb250cm9scz8xMDA6NDAwO3JldHVybiBjbGVhckludGVydmFsKFlUUGxheWVyLmdldFN0YXRlKSxqUXVlcnkuY29udGFpbnMoZG9jdW1lbnQsWVRQbGF5ZXIpPyhqUXVlcnkubWJZVFBsYXllci5jaGVja0ZvclN0YXJ0KFlUUGxheWVyKSx2b2lkKFlUUGxheWVyLmdldFN0YXRlPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIHByb2c9alF1ZXJ5KFlUUGxheWVyKS5ZVFBNYW5hZ2VQcm9ncmVzcygpLCRZVFBsYXllcj1qUXVlcnkoWVRQbGF5ZXIpLGRhdGE9WVRQbGF5ZXIub3B0LHN0YXJ0QXQ9WVRQbGF5ZXIub3B0LnN0YXJ0QXQ/WVRQbGF5ZXIuc3RhcnRfZnJvbV9sYXN0P1lUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdDpZVFBsYXllci5vcHQuc3RhcnRBdDoxO1lUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdD1udWxsO3ZhciBzdG9wQXQ9WVRQbGF5ZXIub3B0LnN0b3BBdD5ZVFBsYXllci5vcHQuc3RhcnRBdD9ZVFBsYXllci5vcHQuc3RvcEF0OjA7aWYoc3RvcEF0PXN0b3BBdDxZVFBsYXllci5wbGF5ZXIuZ2V0RHVyYXRpb24oKT9zdG9wQXQ6MCxZVFBsYXllci5jdXJyZW50VGltZSE9cHJvZy5jdXJyZW50VGltZSl7dmFyIFlUUEV2ZW50PWpRdWVyeS5FdmVudCgiWVRQVGltZSIpO1lUUEV2ZW50LnRpbWU9WVRQbGF5ZXIuY3VycmVudFRpbWUsalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKFlUUEV2ZW50KX1pZihZVFBsYXllci5jdXJyZW50VGltZT1wcm9nLmN1cnJlbnRUaW1lLFlUUGxheWVyLnRvdGFsVGltZT1ZVFBsYXllci5wbGF5ZXIuZ2V0RHVyYXRpb24oKSwwPT1ZVFBsYXllci5wbGF5ZXIuZ2V0Vm9sdW1lKCk/JFlUUGxheWVyLmFkZENsYXNzKCJpc011dGVkIik6JFlUUGxheWVyLnJlbW92ZUNsYXNzKCJpc011dGVkIiksWVRQbGF5ZXIub3B0LnNob3dDb250cm9scyYmKHByb2cudG90YWxUaW1lP1lUUGxheWVyLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFRpbWUiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmZvcm1hdFRpbWUocHJvZy5jdXJyZW50VGltZSkrIiAvICIralF1ZXJ5Lm1iWVRQbGF5ZXIuZm9ybWF0VGltZShwcm9nLnRvdGFsVGltZSkpOllUUGxheWVyLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFRpbWUiKS5odG1sKCItLSA6IC0tIC8gLS0gOiAtLSIpKSxldmFsKFlUUGxheWVyLm9wdC5zdG9wTW92aWVPbkJsdXIpJiYoZG9jdW1lbnQuaGFzRm9jdXMoKT9kb2N1bWVudC5oYXNGb2N1cygpJiYhWVRQbGF5ZXIuaGFzRm9jdXMmJi0xIT1ZVFBsYXllci5zdGF0ZSYmMCE9WVRQbGF5ZXIuc3RhdGUmJihZVFBsYXllci5oYXNGb2N1cz0hMCwkWVRQbGF5ZXIuWVRQUGxheSgpKToxPT1ZVFBsYXllci5zdGF0ZSYmKFlUUGxheWVyLmhhc0ZvY3VzPSExLCRZVFBsYXllci5ZVFBQYXVzZSgpKSksWVRQbGF5ZXIuY29udHJvbEJhci5sZW5ndGgmJllUUGxheWVyLmNvbnRyb2xCYXIub3V0ZXJXaWR0aCgpPD00MDAmJiFZVFBsYXllci5pc0NvbXBhY3Q/KFlUUGxheWVyLmNvbnRyb2xCYXIuYWRkQ2xhc3MoImNvbXBhY3QiKSxZVFBsYXllci5pc0NvbXBhY3Q9ITAsIVlUUGxheWVyLmlzTXV0ZSYmWVRQbGF5ZXIudm9sdW1lQmFyJiZZVFBsYXllci52b2x1bWVCYXIudXBkYXRlU2xpZGVyVmFsKFlUUGxheWVyLm9wdC52b2wpKTpZVFBsYXllci5jb250cm9sQmFyLmxlbmd0aCYmWVRQbGF5ZXIuY29udHJvbEJhci5vdXRlcldpZHRoKCk+NDAwJiZZVFBsYXllci5pc0NvbXBhY3QmJihZVFBsYXllci5jb250cm9sQmFyLnJlbW92ZUNsYXNzKCJjb21wYWN0IiksWVRQbGF5ZXIuaXNDb21wYWN0PSExLCFZVFBsYXllci5pc011dGUmJllUUGxheWVyLnZvbHVtZUJhciYmWVRQbGF5ZXIudm9sdW1lQmFyLnVwZGF0ZVNsaWRlclZhbChZVFBsYXllci5vcHQudm9sKSksMT09WVRQbGF5ZXIucGxheWVyLmdldFBsYXllclN0YXRlKCkmJihwYXJzZUZsb2F0KFlUUGxheWVyLnBsYXllci5nZXREdXJhdGlvbigpLS41KTxZVFBsYXllci5wbGF5ZXIuZ2V0Q3VycmVudFRpbWUoKXx8c3RvcEF0PjAmJnBhcnNlRmxvYXQoWVRQbGF5ZXIucGxheWVyLmdldEN1cnJlbnRUaW1lKCkpPnN0b3BBdCkpe2lmKFlUUGxheWVyLmlzRW5kZWQpcmV0dXJuO2lmKFlUUGxheWVyLmlzRW5kZWQ9ITAsc2V0VGltZW91dChmdW5jdGlvbigpe1lUUGxheWVyLmlzRW5kZWQ9ITF9LDFlMyksWVRQbGF5ZXIuaXNQbGF5TGlzdCl7aWYoIWRhdGEubG9vcHx8ZGF0YS5sb29wPjAmJllUUGxheWVyLnBsYXllci5sb29wVGltZT09PWRhdGEubG9vcC0xKXtZVFBsYXllci5wbGF5ZXIubG9vcFRpbWU9dm9pZCAwLGNsZWFySW50ZXJ2YWwoWVRQbGF5ZXIuZ2V0U3RhdGUpO3ZhciBZVFBFbmQ9alF1ZXJ5LkV2ZW50KCJZVFBFbmQiKTtyZXR1cm4gWVRQRW5kLnRpbWU9WVRQbGF5ZXIuY3VycmVudFRpbWUsdm9pZCBqUXVlcnkoWVRQbGF5ZXIpLnRyaWdnZXIoWVRQRW5kKX19ZWxzZSBpZighZGF0YS5sb29wfHxkYXRhLmxvb3A+MCYmWVRQbGF5ZXIucGxheWVyLmxvb3BUaW1lPT09ZGF0YS5sb29wLTEpcmV0dXJuIFlUUGxheWVyLnBsYXllci5sb29wVGltZT12b2lkIDAsWVRQbGF5ZXIucHJldmVudFRyaWdnZXI9ITAsWVRQbGF5ZXIuc3RhdGU9MixqUXVlcnkoWVRQbGF5ZXIpLllUUFBhdXNlKCksdm9pZCBZVFBsYXllci53cmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6MH0sWVRQbGF5ZXIub3B0LmZhZGVPblN0YXJ0VGltZSxmdW5jdGlvbigpe1lUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoJiZZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBQbGF5cGF1c2UiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBsYXkpO3ZhciBhPWpRdWVyeS5FdmVudCgiWVRQRW5kIik7YS50aW1lPVlUUGxheWVyLmN1cnJlbnRUaW1lLGpRdWVyeShZVFBsYXllcikudHJpZ2dlcihhKSxZVFBsYXllci5wbGF5ZXIuc2Vla1RvKHN0YXJ0QXQsITApLFlUUGxheWVyLmlzQmFja2dyb3VuZD9ZVFBsYXllci5vcmlnX2JhY2tncm91bmQmJmpRdWVyeShZVFBsYXllcikuY3NzKCJiYWNrZ3JvdW5kLWltYWdlIixZVFBsYXllci5vcmlnX2JhY2tncm91bmQpOllUUGxheWVyLm9wdC5iYWNrZ3JvdW5kVXJsJiZZVFBsYXllci5pc1BsYXllciYmKFlUUGxheWVyLm9wdC5iYWNrZ3JvdW5kVXJsPVlUUGxheWVyLm9wdC5iYWNrZ3JvdW5kVXJsfHxZVFBsYXllci5vcmlnX2JhY2tncm91bmQsWVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcyh7YmFja2dyb3VuZDoidXJsKCIrWVRQbGF5ZXIub3B0LmJhY2tncm91bmRVcmwrIikgY2VudGVyIGNlbnRlciIsYmFja2dyb3VuZFNpemU6ImNvdmVyIn0pKX0pO1lUUGxheWVyLnBsYXllci5sb29wVGltZT1ZVFBsYXllci5wbGF5ZXIubG9vcFRpbWU/KytZVFBsYXllci5wbGF5ZXIubG9vcFRpbWU6MSxzdGFydEF0PXN0YXJ0QXR8fDEsWVRQbGF5ZXIucHJldmVudFRyaWdnZXI9ITAsWVRQbGF5ZXIuc3RhdGU9MixqUXVlcnkoWVRQbGF5ZXIpLllUUFBhdXNlKCksWVRQbGF5ZXIucGxheWVyLnNlZWtUbyhzdGFydEF0LCEwKSwkWVRQbGF5ZXIuWVRQUGxheSgpfX0saW50ZXJ2YWwpKSk6KGpRdWVyeShZVFBsYXllcikuWVRQUGxheWVyRGVzdHJveSgpLGNsZWFySW50ZXJ2YWwoWVRQbGF5ZXIuZ2V0U3RhdGUpLHZvaWQgY2xlYXJJbnRlcnZhbChZVFBsYXllci5jaGVja0ZvclN0YXJ0QXQpKX0sZ2V0VGltZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBqUXVlcnkubWJZVFBsYXllci5mb3JtYXRUaW1lKGEuY3VycmVudFRpbWUpfSxnZXRUb3RhbFRpbWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgwKTtyZXR1cm4galF1ZXJ5Lm1iWVRQbGF5ZXIuZm9ybWF0VGltZShhLnRvdGFsVGltZSl9LGNoZWNrRm9yU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KGEpO2lmKCFqUXVlcnkuY29udGFpbnMoZG9jdW1lbnQsYSkpcmV0dXJuIHZvaWQgalF1ZXJ5KGEpLllUUFBsYXllckRlc3Ryb3koKTtpZihhLnByZXZlbnRUcmlnZ2VyPSEwLGEuc3RhdGU9MixqUXVlcnkoYSkuWVRQUGF1c2UoKSxqUXVlcnkoYSkubXV0ZVlUUFZvbHVtZSgpLGpRdWVyeSgiI2NvbnRyb2xCYXJfIithLmlkKS5yZW1vdmUoKSxhLmNvbnRyb2xCYXI9ITEsYS5vcHQuc2hvd0NvbnRyb2xzJiZqUXVlcnkubWJZVFBsYXllci5idWlsZENvbnRyb2xzKGEpLGEub3B0LmFkZFJhc3Rlcil7dmFyIGM9ImRvdCI9PWEub3B0LmFkZFJhc3Rlcj8icmFzdGVyLWRvdCI6InJhc3RlciI7YS5vdmVybGF5LmFkZENsYXNzKGEuaXNSZXRpbmE/YysiIHJldGluYSI6Yyl9ZWxzZSBhLm92ZXJsYXkucmVtb3ZlQ2xhc3MoZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnNwbGl0KCIgIiksZD1bXTtyZXR1cm4galF1ZXJ5LmVhY2goYyxmdW5jdGlvbihhLGIpey9yYXN0ZXIuKi8udGVzdChiKSYmZC5wdXNoKGIpfSksZC5wdXNoKCJyZXRpbmEiKSxkLmpvaW4oIiAiKX0pO3ZhciBkPWEub3B0LnN0YXJ0QXQ/YS5zdGFydF9mcm9tX2xhc3Q/YS5zdGFydF9mcm9tX2xhc3Q6YS5vcHQuc3RhcnRBdDoxO2Euc3RhcnRfZnJvbV9sYXN0PW51bGwsYS5wbGF5ZXIucGxheVZpZGVvKCksYS5wbGF5ZXIuc2Vla1RvKGQsITApLGNsZWFySW50ZXJ2YWwoYS5jaGVja0ZvclN0YXJ0QXQpLGEuY2hlY2tGb3JTdGFydEF0PXNldEludGVydmFsKGZ1bmN0aW9uKCl7alF1ZXJ5KGEpLllUUE11dGUoKTt2YXIgYz1hLnBsYXllci5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCk+PWQvYS5wbGF5ZXIuZ2V0RHVyYXRpb24oKTtpZihhLnBsYXllci5nZXREdXJhdGlvbigpPjAmJmEucGxheWVyLmdldEN1cnJlbnRUaW1lKCk+PWQmJmMpe2NsZWFySW50ZXJ2YWwoYS5jaGVja0ZvclN0YXJ0QXQpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLm9wdC5vblJlYWR5JiZhLm9wdC5vblJlYWR5KGEpLGEuaXNSZWFkeT0hMDt2YXIgZT1qUXVlcnkuRXZlbnQoIllUUFJlYWR5Iik7aWYoZS50aW1lPWEuY3VycmVudFRpbWUsalF1ZXJ5KGEpLnRyaWdnZXIoZSksYS5wcmV2ZW50VHJpZ2dlcj0hMCxhLnN0YXRlPTIsalF1ZXJ5KGEpLllUUFBhdXNlKCksYS5vcHQubXV0ZXx8alF1ZXJ5KGEpLllUUFVubXV0ZSgpLGEuY2FuVHJpZ2dlcj0hMCxhLm9wdC5hdXRvUGxheSl7dmFyIGY9alF1ZXJ5LkV2ZW50KCJZVFBTdGFydCIpO2YudGltZT1hLmN1cnJlbnRUaW1lLGpRdWVyeShhKS50cmlnZ2VyKGYpLGpRdWVyeShhLnBsYXllckVsKS5DU1NBbmltYXRlKHtvcGFjaXR5OjF9LDFlMyksYi5ZVFBQbGF5KCksYS53cmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6YS5pc0Fsb25lPzE6YS5vcHQub3BhY2l0eX0sMiphLm9wdC5mYWRlT25TdGFydFRpbWUpLCJtYWMiPT1qUXVlcnkubWJCcm93c2VyLm9zLm5hbWUmJmpRdWVyeS5tYkJyb3dzZXIuc2FmYXJpJiZqUXVlcnkubWJCcm93c2VyLnZlcnNpb25Db21wYXJlKGpRdWVyeS5tYkJyb3dzZXIuZnVsbFZlcnNpb24sIjEwLjEiKTwwJiYoYS5zYWZhcmlQbGF5PXNldEludGVydmFsKGZ1bmN0aW9uKCl7MSE9YS5zdGF0ZT9iLllUUFBsYXkoKTpjbGVhckludGVydmFsKGEuc2FmYXJpUGxheSl9LDEwKSksYi5vbmUoIllUUFJlYWR5IixmdW5jdGlvbigpe2IuWVRQUGxheSgpfSl9ZWxzZSBhLnBsYXllci5wYXVzZVZpZGVvKCksYS5pc1BsYXllcnx8KGpRdWVyeShhLnBsYXllckVsKS5DU1NBbmltYXRlKHtvcGFjaXR5OjF9LGEub3B0LmZhZGVPblN0YXJ0VGltZSksDQphLndyYXBwZXIuQ1NTQW5pbWF0ZSh7b3BhY2l0eTphLmlzQWxvbmU/MTphLm9wdC5vcGFjaXR5fSxhLm9wdC5mYWRlT25TdGFydFRpbWUpKSxhLmNvbnRyb2xCYXIubGVuZ3RoJiZhLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFBsYXlwYXVzZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGxheSk7YS5pc1BsYXllciYmIWEub3B0LmF1dG9QbGF5JiZhLmxvYWRpbmcmJmEubG9hZGluZy5sZW5ndGgmJihhLmxvYWRpbmcuaHRtbCgiUmVhZHkiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5sb2FkaW5nLmZhZGVPdXQoKX0sMTAwKSksYS5jb250cm9sQmFyJiZhLmNvbnRyb2xCYXIubGVuZ3RoJiZhLmNvbnRyb2xCYXIuc2xpZGVEb3duKDFlMyl9ZWxzZSJtYWMiPT1qUXVlcnkubWJCcm93c2VyLm9zLm5hbWUmJmpRdWVyeS5tYkJyb3dzZXIuc2FmYXJpJiZqUXVlcnkubWJCcm93c2VyLmZ1bGxWZXJzaW9uJiZqUXVlcnkubWJCcm93c2VyLnZlcnNpb25Db21wYXJlKGpRdWVyeS5tYkJyb3dzZXIuZnVsbFZlcnNpb24sIjEwLjEiKTwwJiYoYS5wbGF5ZXIucGxheVZpZGVvKCksZD49MCYmYS5wbGF5ZXIuc2Vla1RvKGQsITApKX0sMTApfSxzZXRBbmNob3I6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcztiLm9wdGltaXplRGlzcGxheShhKX0sZ2V0QW5jaG9yOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7cmV0dXJuIGEub3B0LmFuY2hvcn0sZm9ybWF0VGltZTpmdW5jdGlvbihhKXt2YXIgYj1NYXRoLmZsb29yKGEvNjApLGM9TWF0aC5mbG9vcihhLTYwKmIpO3JldHVybig5Pj1iPyIwIitiOmIpKyIgOiAiKyg5Pj1jPyIwIitjOmMpfX0salF1ZXJ5LmZuLm9wdGltaXplRGlzcGxheT1mdW5jdGlvbihhbmNob3Ipe3ZhciBZVFBsYXllcj10aGlzLmdldCgwKSxwbGF5ZXJCb3g9alF1ZXJ5KFlUUGxheWVyLnBsYXllckVsKSx2aWQ9e307WVRQbGF5ZXIub3B0LmFuY2hvcj1hbmNob3J8fFlUUGxheWVyLm9wdC5hbmNob3IsWVRQbGF5ZXIub3B0LmFuY2hvcj0idW5kZWZpbmVkICIhPXR5cGVvZiBZVFBsYXllci5vcHQuYW5jaG9yP1lUUGxheWVyLm9wdC5hbmNob3I6ImNlbnRlcixjZW50ZXIiO3ZhciBZVFBBbGlnbj1ZVFBsYXllci5vcHQuYW5jaG9yLnNwbGl0KCIsIik7aWYoWVRQbGF5ZXIub3B0Lm9wdGltaXplRGlzcGxheSl7dmFyIGFidW5kYW5jZT1ZVFBsYXllci5pc1BsYXllcj8wOjgwLHdpbj17fSxlbD1ZVFBsYXllci53cmFwcGVyO3dpbi53aWR0aD1lbC5vdXRlcldpZHRoKCksd2luLmhlaWdodD1lbC5vdXRlckhlaWdodCgpK2FidW5kYW5jZSxZVFBsYXllci5vcHQucmF0aW89ZXZhbChZVFBsYXllci5vcHQucmF0aW8pLHZpZC53aWR0aD13aW4ud2lkdGgsdmlkLmhlaWdodD1NYXRoLmNlaWwodmlkLndpZHRoL1lUUGxheWVyLm9wdC5yYXRpbyksdmlkLm1hcmdpblRvcD1NYXRoLmNlaWwoLSgodmlkLmhlaWdodC13aW4uaGVpZ2h0KS8yKSksdmlkLm1hcmdpbkxlZnQ9MDt2YXIgbG93ZXN0PXZpZC5oZWlnaHQ8d2luLmhlaWdodDtsb3dlc3QmJih2aWQuaGVpZ2h0PXdpbi5oZWlnaHQsdmlkLndpZHRoPU1hdGguY2VpbCh2aWQuaGVpZ2h0KllUUGxheWVyLm9wdC5yYXRpbyksdmlkLm1hcmdpblRvcD0wLHZpZC5tYXJnaW5MZWZ0PU1hdGguY2VpbCgtKCh2aWQud2lkdGgtd2luLndpZHRoKS8yKSkpO2Zvcih2YXIgYSBpbiBZVFBBbGlnbilpZihZVFBBbGlnbi5oYXNPd25Qcm9wZXJ0eShhKSl7dmFyIGFsPVlUUEFsaWduW2FdLnJlcGxhY2UoLyAvZywiIik7c3dpdGNoKGFsKXtjYXNlInRvcCI6dmlkLm1hcmdpblRvcD1sb3dlc3Q/LSgodmlkLmhlaWdodC13aW4uaGVpZ2h0KS8yKTowO2JyZWFrO2Nhc2UiYm90dG9tIjp2aWQubWFyZ2luVG9wPWxvd2VzdD8wOi0odmlkLmhlaWdodC13aW4uaGVpZ2h0KTticmVhaztjYXNlImxlZnQiOnZpZC5tYXJnaW5MZWZ0PTA7YnJlYWs7Y2FzZSJyaWdodCI6dmlkLm1hcmdpbkxlZnQ9bG93ZXN0Py0odmlkLndpZHRoLXdpbi53aWR0aCk6MDticmVhaztkZWZhdWx0OnZpZC53aWR0aD53aW4ud2lkdGgmJih2aWQubWFyZ2luTGVmdD0tKCh2aWQud2lkdGgtd2luLndpZHRoKS8yKSl9fX1lbHNlIHZpZC53aWR0aD0iMTAwJSIsdmlkLmhlaWdodD0iMTAwJSIsdmlkLm1hcmdpblRvcD0wLHZpZC5tYXJnaW5MZWZ0PTA7cGxheWVyQm94LmNzcyh7d2lkdGg6dmlkLndpZHRoLGhlaWdodDp2aWQuaGVpZ2h0LG1hcmdpblRvcDp2aWQubWFyZ2luVG9wLG1hcmdpbkxlZnQ6dmlkLm1hcmdpbkxlZnQsbWF4V2lkdGg6ImluaXRpYWwifSl9LGpRdWVyeS5zaHVmZmxlPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLnNsaWNlKCksYz1iLmxlbmd0aCxkPWM7ZC0tOyl7dmFyIGU9cGFyc2VJbnQoTWF0aC5yYW5kb20oKSpjKSxmPWJbZF07YltkXT1iW2VdLGJbZV09Zn1yZXR1cm4gYn0salF1ZXJ5LmZuLnVuc2VsZWN0YWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuY3NzKHsiLW1vei11c2VyLXNlbGVjdCI6Im5vbmUiLCItd2Via2l0LXVzZXItc2VsZWN0Ijoibm9uZSIsInVzZXItc2VsZWN0Ijoibm9uZSJ9KS5hdHRyKCJ1bnNlbGVjdGFibGUiLCJvbiIpfSl9LGpRdWVyeS5mbi5ZVFBsYXllcj1qUXVlcnkubWJZVFBsYXllci5idWlsZFBsYXllcixqUXVlcnkuZm4uWVRQR2V0UGxheWVyPWpRdWVyeS5tYllUUGxheWVyLmdldFBsYXllcixqUXVlcnkuZm4uWVRQR2V0VmlkZW9JRD1qUXVlcnkubWJZVFBsYXllci5nZXRWaWRlb0lELGpRdWVyeS5mbi5ZVFBDaGFuZ2VNb3ZpZT1qUXVlcnkubWJZVFBsYXllci5jaGFuZ2VNb3ZpZSxqUXVlcnkuZm4uWVRQUGxheWVyRGVzdHJveT1qUXVlcnkubWJZVFBsYXllci5wbGF5ZXJEZXN0cm95LGpRdWVyeS5mbi5ZVFBQbGF5PWpRdWVyeS5tYllUUGxheWVyLnBsYXksalF1ZXJ5LmZuLllUUFRvZ2dsZVBsYXk9alF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlUGxheSxqUXVlcnkuZm4uWVRQU3RvcD1qUXVlcnkubWJZVFBsYXllci5zdG9wLGpRdWVyeS5mbi5ZVFBQYXVzZT1qUXVlcnkubWJZVFBsYXllci5wYXVzZSxqUXVlcnkuZm4uWVRQU2Vla1RvPWpRdWVyeS5tYllUUGxheWVyLnNlZWtUbyxqUXVlcnkuZm4uWVRQbGF5bGlzdD1qUXVlcnkubWJZVFBsYXllci5wbGF5bGlzdCxqUXVlcnkuZm4uWVRQUGxheU5leHQ9alF1ZXJ5Lm1iWVRQbGF5ZXIucGxheU5leHQsalF1ZXJ5LmZuLllUUFBsYXlQcmV2PWpRdWVyeS5tYllUUGxheWVyLnBsYXlQcmV2LGpRdWVyeS5mbi5ZVFBQbGF5SW5kZXg9alF1ZXJ5Lm1iWVRQbGF5ZXIucGxheUluZGV4LGpRdWVyeS5mbi5ZVFBNdXRlPWpRdWVyeS5tYllUUGxheWVyLm11dGUsalF1ZXJ5LmZuLllUUFVubXV0ZT1qUXVlcnkubWJZVFBsYXllci51bm11dGUsalF1ZXJ5LmZuLllUUFRvZ2dsZVZvbHVtZT1qUXVlcnkubWJZVFBsYXllci50b2dnbGVWb2x1bWUsalF1ZXJ5LmZuLllUUFNldFZvbHVtZT1qUXVlcnkubWJZVFBsYXllci5zZXRWb2x1bWUsalF1ZXJ5LmZuLllUUEdldFZpZGVvRGF0YT1qUXVlcnkubWJZVFBsYXllci5nZXRWaWRlb0RhdGEsalF1ZXJ5LmZuLllUUEZ1bGxzY3JlZW49alF1ZXJ5Lm1iWVRQbGF5ZXIuZnVsbHNjcmVlbixqUXVlcnkuZm4uWVRQVG9nZ2xlTG9vcHM9alF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlTG9vcHMsalF1ZXJ5LmZuLllUUFNldFZpZGVvUXVhbGl0eT1qUXVlcnkubWJZVFBsYXllci5zZXRWaWRlb1F1YWxpdHksalF1ZXJ5LmZuLllUUE1hbmFnZVByb2dyZXNzPWpRdWVyeS5tYllUUGxheWVyLm1hbmFnZVByb2dyZXNzLGpRdWVyeS5mbi5ZVFBBcHBseUZpbHRlcj1qUXVlcnkubWJZVFBsYXllci5hcHBseUZpbHRlcixqUXVlcnkuZm4uWVRQQXBwbHlGaWx0ZXJzPWpRdWVyeS5tYllUUGxheWVyLmFwcGx5RmlsdGVycyxqUXVlcnkuZm4uWVRQVG9nZ2xlRmlsdGVyPWpRdWVyeS5tYllUUGxheWVyLnRvZ2dsZUZpbHRlcixqUXVlcnkuZm4uWVRQVG9nZ2xlRmlsdGVycz1qUXVlcnkubWJZVFBsYXllci50b2dnbGVGaWx0ZXJzLGpRdWVyeS5mbi5ZVFBSZW1vdmVGaWx0ZXI9alF1ZXJ5Lm1iWVRQbGF5ZXIucmVtb3ZlRmlsdGVyLGpRdWVyeS5mbi5ZVFBEaXNhYmxlRmlsdGVycz1qUXVlcnkubWJZVFBsYXllci5kaXNhYmxlRmlsdGVycyxqUXVlcnkuZm4uWVRQRW5hYmxlRmlsdGVycz1qUXVlcnkubWJZVFBsYXllci5lbmFibGVGaWx0ZXJzLGpRdWVyeS5mbi5ZVFBHZXRGaWx0ZXJzPWpRdWVyeS5tYllUUGxheWVyLmdldEZpbHRlcnMsalF1ZXJ5LmZuLllUUEdldFRpbWU9alF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0VGltZSxqUXVlcnkuZm4uWVRQR2V0VG90YWxUaW1lPWpRdWVyeS5tYllUUGxheWVyLmdldFRvdGFsVGltZSxqUXVlcnkuZm4uWVRQQWRkTWFzaz1qUXVlcnkubWJZVFBsYXllci5hZGRNYXNrLGpRdWVyeS5mbi5ZVFBSZW1vdmVNYXNrPWpRdWVyeS5tYllUUGxheWVyLnJlbW92ZU1hc2ssalF1ZXJ5LmZuLllUUFRvZ2dsZU1hc2s9alF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlTWFzayxqUXVlcnkuZm4uWVRQU2V0QW5jaG9yPWpRdWVyeS5tYllUUGxheWVyLnNldEFuY2hvcixqUXVlcnkuZm4uWVRQR2V0QW5jaG9yPWpRdWVyeS5tYllUUGxheWVyLmdldEFuY2hvcixqUXVlcnkuZm4ubWJfWVRQbGF5ZXI9alF1ZXJ5Lm1iWVRQbGF5ZXIuYnVpbGRQbGF5ZXIsalF1ZXJ5LmZuLnBsYXlOZXh0PWpRdWVyeS5tYllUUGxheWVyLnBsYXlOZXh0LGpRdWVyeS5mbi5wbGF5UHJldj1qUXVlcnkubWJZVFBsYXllci5wbGF5UHJldixqUXVlcnkuZm4uY2hhbmdlTW92aWU9alF1ZXJ5Lm1iWVRQbGF5ZXIuY2hhbmdlTW92aWUsalF1ZXJ5LmZuLmdldFZpZGVvSUQ9alF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0VmlkZW9JRCxqUXVlcnkuZm4uZ2V0UGxheWVyPWpRdWVyeS5tYllUUGxheWVyLmdldFBsYXllcixqUXVlcnkuZm4ucGxheWVyRGVzdHJveT1qUXVlcnkubWJZVFBsYXllci5wbGF5ZXJEZXN0cm95LGpRdWVyeS5mbi5mdWxsc2NyZWVuPWpRdWVyeS5tYllUUGxheWVyLmZ1bGxzY3JlZW4salF1ZXJ5LmZuLmJ1aWxkWVRQQ29udHJvbHM9alF1ZXJ5Lm1iWVRQbGF5ZXIuYnVpbGRDb250cm9scyxqUXVlcnkuZm4ucGxheVlUUD1qUXVlcnkubWJZVFBsYXllci5wbGF5LGpRdWVyeS5mbi50b2dnbGVMb29wcz1qUXVlcnkubWJZVFBsYXllci50b2dnbGVMb29wcyxqUXVlcnkuZm4uc3RvcFlUUD1qUXVlcnkubWJZVFBsYXllci5zdG9wLGpRdWVyeS5mbi5wYXVzZVlUUD1qUXVlcnkubWJZVFBsYXllci5wYXVzZSxqUXVlcnkuZm4uc2Vla1RvWVRQPWpRdWVyeS5tYllUUGxheWVyLnNlZWtUbyxqUXVlcnkuZm4ubXV0ZVlUUFZvbHVtZT1qUXVlcnkubWJZVFBsYXllci5tdXRlLGpRdWVyeS5mbi51bm11dGVZVFBWb2x1bWU9alF1ZXJ5Lm1iWVRQbGF5ZXIudW5tdXRlLGpRdWVyeS5mbi5zZXRZVFBWb2x1bWU9alF1ZXJ5Lm1iWVRQbGF5ZXIuc2V0Vm9sdW1lLGpRdWVyeS5mbi5zZXRWaWRlb1F1YWxpdHk9alF1ZXJ5Lm1iWVRQbGF5ZXIuc2V0VmlkZW9RdWFsaXR5LGpRdWVyeS5mbi5tYW5hZ2VZVFBQcm9ncmVzcz1qUXVlcnkubWJZVFBsYXllci5tYW5hZ2VQcm9ncmVzcyxqUXVlcnkuZm4uWVRQR2V0RGF0YUZyb21GZWVkPWpRdWVyeS5tYllUUGxheWVyLmdldFZpZGVvRGF0YX0oalF1ZXJ5LHl0cCksalF1ZXJ5LnN1cHBvcnQuQ1NTdHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmJvZHl8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxiPWEuc3R5bGU7cmV0dXJuIHZvaWQgMCE9PWIudHJhbnNpdGlvbnx8dm9pZCAwIT09Yi5XZWJraXRUcmFuc2l0aW9ufHx2b2lkIDAhPT1iLk1velRyYW5zaXRpb258fHZvaWQgMCE9PWIuTXNUcmFuc2l0aW9ufHx2b2lkIDAhPT1iLk9UcmFuc2l0aW9ufSgpLGpRdWVyeS5DU1M9e25hbWU6Im1iLkNTU0FuaW1hdGUiLGF1dGhvcjoiTWF0dGVvIEJpY29jY2hpIix2ZXJzaW9uOiIyLjAuMCIsdHJhbnNpdGlvbkVuZDoidHJhbnNpdGlvbkVuZCIsc2Z4OiIiLGZpbHRlcnM6e2JsdXI6e21pbjowLG1heDoxMDAsdW5pdDoicHgifSxicmlnaHRuZXNzOnttaW46MCxtYXg6NDAwLHVuaXQ6IiUifSxjb250cmFzdDp7bWluOjAsbWF4OjQwMCx1bml0OiIlIn0sZ3JheXNjYWxlOnttaW46MCxtYXg6MTAwLHVuaXQ6IiUifSxodWVSb3RhdGU6e21pbjowLG1heDozNjAsdW5pdDoiZGVnIn0saW52ZXJ0OnttaW46MCxtYXg6MTAwLHVuaXQ6IiUifSxzYXR1cmF0ZTp7bWluOjAsbWF4OjQwMCx1bml0OiIlIn0sc2VwaWE6e21pbjowLG1heDoxMDAsdW5pdDoiJSJ9fSxub3JtYWxpemVDc3M6ZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5LmV4dGVuZCghMCx7fSxhKTtqUXVlcnkuYnJvd3Nlci53ZWJraXR8fGpRdWVyeS5icm93c2VyLm9wZXJhP2pRdWVyeS5DU1Muc2Z4PSItd2Via2l0LSI6alF1ZXJ5LmJyb3dzZXIubW96aWxsYT9qUXVlcnkuQ1NTLnNmeD0iLW1vei0iOmpRdWVyeS5icm93c2VyLm1zaWUmJihqUXVlcnkuQ1NTLnNmeD0iLW1zLSIpO2Zvcih2YXIgYyBpbiBiKXsidHJhbnNmb3JtIj09PWMmJihiW2pRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iXT1iW2NdLGRlbGV0ZSBiW2NdKSwidHJhbnNmb3JtLW9yaWdpbiI9PT1jJiYoYltqUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtLW9yaWdpbiJdPWFbY10sZGVsZXRlIGJbY10pLCJmaWx0ZXIiIT09Y3x8alF1ZXJ5LmJyb3dzZXIubW96aWxsYXx8KGJbalF1ZXJ5LkNTUy5zZngrImZpbHRlciJdPWFbY10sZGVsZXRlIGJbY10pLCJibHVyIj09PWMmJnNldEZpbHRlcihiLCJibHVyIixhW2NdKSwiYnJpZ2h0bmVzcyI9PT1jJiZzZXRGaWx0ZXIoYiwiYnJpZ2h0bmVzcyIsYVtjXSksImNvbnRyYXN0Ij09PWMmJnNldEZpbHRlcihiLCJjb250cmFzdCIsYVtjXSksImdyYXlzY2FsZSI9PT1jJiZzZXRGaWx0ZXIoYiwiZ3JheXNjYWxlIixhW2NdKSwiaHVlUm90YXRlIj09PWMmJnNldEZpbHRlcihiLCJodWVSb3RhdGUiLGFbY10pLCJpbnZlcnQiPT09YyYmc2V0RmlsdGVyKGIsImludmVydCIsYVtjXSksInNhdHVyYXRlIj09PWMmJnNldEZpbHRlcihiLCJzYXR1cmF0ZSIsYVtjXSksInNlcGlhIj09PWMmJnNldEZpbHRlcihiLCJzZXBpYSIsYVtjXSk7dmFyIGQ9IiI7IngiPT09YyYmKGQ9alF1ZXJ5LkNTUy5zZngrInRyYW5zZm9ybSIsYltkXT1iW2RdfHwiIixiW2RdKz0iIHRyYW5zbGF0ZVgoIitzZXRVbml0KGFbY10sInB4IikrIikiLGRlbGV0ZSBiW2NdKSwieSI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgdHJhbnNsYXRlWSgiK3NldFVuaXQoYVtjXSwicHgiKSsiKSIsZGVsZXRlIGJbY10pLCJ6Ij09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiB0cmFuc2xhdGVaKCIrc2V0VW5pdChhW2NdLCJweCIpKyIpIixkZWxldGUgYltjXSksInJvdGF0ZSI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgcm90YXRlKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJyb3RhdGVYIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiByb3RhdGVYKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJyb3RhdGVZIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiByb3RhdGVZKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJyb3RhdGVaIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiByb3RhdGVaKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJzY2FsZSI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgc2NhbGUoIitzZXRVbml0KGFbY10sIiIpKyIpIixkZWxldGUgYltjXSksInNjYWxlWCI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgc2NhbGVYKCIrc2V0VW5pdChhW2NdLCIiKSsiKSIsZGVsZXRlIGJbY10pLCJzY2FsZVkiPT09YyYmKGQ9alF1ZXJ5LkNTUy5zZngrInRyYW5zZm9ybSIsYltkXT1iW2RdfHwiIixiW2RdKz0iIHNjYWxlWSgiK3NldFVuaXQoYVtjXSwiIikrIikiLGRlbGV0ZSBiW2NdKSwic2NhbGVaIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiBzY2FsZVooIitzZXRVbml0KGFbY10sIiIpKyIpIixkZWxldGUgYltjXSksInNrZXciPT09YyYmKGQ9alF1ZXJ5LkNTUy5zZngrInRyYW5zZm9ybSIsYltkXT1iW2RdfHwiIixiW2RdKz0iIHNrZXcoIitzZXRVbml0KGFbY10sImRlZyIpKyIpIixkZWxldGUgYltjXSksInNrZXdYIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiBza2V3WCgiK3NldFVuaXQoYVtjXSwiZGVnIikrIikiLGRlbGV0ZSBiW2NdKSwic2tld1kiPT09YyYmKGQ9alF1ZXJ5LkNTUy5zZngrInRyYW5zZm9ybSIsYltkXT1iW2RdfHwiIixiW2RdKz0iIHNrZXdZKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJwZXJzcGVjdGl2ZSI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgcGVyc3BlY3RpdmUoIitzZXRVbml0KGFbY10sInB4IikrIikiLGRlbGV0ZSBiW2NdKX1yZXR1cm4gYn0sZ2V0UHJvcDpmdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IodmFyIGMgaW4gYSliLmluZGV4T2YoYyk8MCYmYi5wdXNoKHVuY2FtZWwoYykpO3JldHVybiBiLmpvaW4oIiwiKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7Zy5jYWxsZWQ9ITAsZy5DU1NBSXNSdW5uaW5nPSExLGgub2ZmKGpRdWVyeS5DU1MudHJhbnNpdGlvbkVuZCsiLiIrZy5pZCksY2xlYXJUaW1lb3V0KGcudGltZW91dCksaC5jc3MoalF1ZXJ5LkNTUy5zZngrInRyYW5zaXRpb24iLCIiKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmZS5hcHBseShnKSwiZnVuY3Rpb24iPT10eXBlb2YgZy5DU1NxdWV1ZSYmKGcuQ1NTcXVldWUoKSxnLkNTU3F1ZXVlPW51bGwpfXZhciBnPXRoaXMsaD1qUXVlcnkodGhpcyk7Zy5pZD1nLmlkfHwiQ1NTQV8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBpPWl8fHt0eXBlOiJub0V2ZW50In07aWYoZy5DU1NBSXNSdW5uaW5nJiZnLmV2ZW50VHlwZT09aS50eXBlJiYhalF1ZXJ5LmJyb3dzZXIubXNpZSYmalF1ZXJ5LmJyb3dzZXIudmVyc2lvbjw9OSlyZXR1cm4gdm9pZChnLkNTU3F1ZXVlPWZ1bmN0aW9uKCl7aC5DU1NBbmltYXRlKGEsYixjLGQsZSl9KTtpZihnLkNTU3F1ZXVlPW51bGwsZy5ldmVudFR5cGU9aS50eXBlLDAhPT1oLmxlbmd0aCYmYSl7aWYoYT1qUXVlcnkubm9ybWFsaXplQ3NzKGEpLGcuQ1NTQUlzUnVubmluZz0hMCwiZnVuY3Rpb24iPT10eXBlb2YgYiYmKGU9YixiPWpRdWVyeS5meC5zcGVlZHMuX2RlZmF1bHQpLCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoZD1jLGM9MCksInN0cmluZyI9PXR5cGVvZiBjJiYoZT1jLGM9MCksImZ1bmN0aW9uIj09dHlwZW9mIGQmJihlPWQsZD0iY3ViaWMtYmV6aWVyKDAuNjUsMC4wMywwLjM2LDAuNzIpIiksInN0cmluZyI9PXR5cGVvZiBiKWZvcih2YXIgaiBpbiBqUXVlcnkuZnguc3BlZWRzKXtpZihiPT1qKXtiPWpRdWVyeS5meC5zcGVlZHNbal07YnJlYWt9Yj1qUXVlcnkuZnguc3BlZWRzLl9kZWZhdWx0fWlmKGJ8fChiPWpRdWVyeS5meC5zcGVlZHMuX2RlZmF1bHQpLCJzdHJpbmciPT10eXBlb2YgZSYmKGQ9ZSxlPW51bGwpLCFqUXVlcnkuc3VwcG9ydC5DU1N0cmFuc2l0aW9uKXtmb3IodmFyIGsgaW4gYSl7aWYoInRyYW5zZm9ybSI9PT1rJiZkZWxldGUgYVtrXSwiZmlsdGVyIj09PWsmJmRlbGV0ZSBhW2tdLCJ0cmFuc2Zvcm0tb3JpZ2luIj09PWsmJmRlbGV0ZSBhW2tdLCJhdXRvIj09PWFba10mJmRlbGV0ZSBhW2tdLCJ4Ij09PWspe3ZhciBsPWFba10sbT0ibGVmdCI7YVttXT1sLGRlbGV0ZSBhW2tdfWlmKCJ5Ij09PWspe3ZhciBsPWFba10sbT0idG9wIjthW21dPWwsZGVsZXRlIGFba119KCItbXMtdHJhbnNmb3JtIj09PWt8fCItbXMtZmlsdGVyIj09PWspJiZkZWxldGUgYVtrXX1yZXR1cm4gdm9pZCBoLmRlbGF5KGMpLmFuaW1hdGUoYSxiLGUpfXZhciBuPXsiZGVmYXVsdCI6ImVhc2UiLCJpbiI6ImVhc2UtaW4iLG91dDoiZWFzZS1vdXQiLCJpbi1vdXQiOiJlYXNlLWluLW91dCIsc25hcDoiY3ViaWMtYmV6aWVyKDAsMSwuNSwxKSIsZWFzZU91dEN1YmljOiJjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKSIsZWFzZUluT3V0Q3ViaWM6ImN1YmljLWJlemllciguNjQ1LC4wNDUsLjM1NSwxKSIsZWFzZUluQ2lyYzoiY3ViaWMtYmV6aWVyKC42LC4wNCwuOTgsLjMzNSkiLGVhc2VPdXRDaXJjOiJjdWJpYy1iZXppZXIoLjA3NSwuODIsLjE2NSwxKSIsZWFzZUluT3V0Q2lyYzoiY3ViaWMtYmV6aWVyKC43ODUsLjEzNSwuMTUsLjg2KSIsZWFzZUluRXhwbzoiY3ViaWMtYmV6aWVyKC45NSwuMDUsLjc5NSwuMDM1KSIsZWFzZU91dEV4cG86ImN1YmljLWJlemllciguMTksMSwuMjIsMSkiLGVhc2VJbk91dEV4cG86ImN1YmljLWJlemllcigxLDAsMCwxKSIsZWFzZUluUXVhZDoiY3ViaWMtYmV6aWVyKC41NSwuMDg1LC42OCwuNTMpIixlYXNlT3V0UXVhZDoiY3ViaWMtYmV6aWVyKC4yNSwuNDYsLjQ1LC45NCkiLGVhc2VJbk91dFF1YWQ6ImN1YmljLWJlemllciguNDU1LC4wMywuNTE1LC45NTUpIixlYXNlSW5RdWFydDoiY3ViaWMtYmV6aWVyKC44OTUsLjAzLC42ODUsLjIyKSIsZWFzZU91dFF1YXJ0OiJjdWJpYy1iZXppZXIoLjE2NSwuODQsLjQ0LDEpIixlYXNlSW5PdXRRdWFydDoiY3ViaWMtYmV6aWVyKC43NywwLC4xNzUsMSkiLGVhc2VJblF1aW50OiJjdWJpYy1iZXppZXIoLjc1NSwuMDUsLjg1NSwuMDYpIixlYXNlT3V0UXVpbnQ6ImN1YmljLWJlemllciguMjMsMSwuMzIsMSkiLGVhc2VJbk91dFF1aW50OiJjdWJpYy1iZXppZXIoLjg2LDAsLjA3LDEpIixlYXNlSW5TaW5lOiJjdWJpYy1iZXppZXIoLjQ3LDAsLjc0NSwuNzE1KSIsZWFzZU91dFNpbmU6ImN1YmljLWJlemllciguMzksLjU3NSwuNTY1LDEpIixlYXNlSW5PdXRTaW5lOiJjdWJpYy1iZXppZXIoLjQ0NSwuMDUsLjU1LC45NSkiLGVhc2VJbkJhY2s6ImN1YmljLWJlemllciguNiwtLjI4LC43MzUsLjA0NSkiLGVhc2VPdXRCYWNrOiJjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwuMzIsMS4yNzUpIixlYXNlSW5PdXRCYWNrOiJjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KSJ9O25bZF0mJihkPW5bZF0pLGgub2ZmKGpRdWVyeS5DU1MudHJhbnNpdGlvbkVuZCsiLiIrZy5pZCk7dmFyIG89alF1ZXJ5LkNTUy5nZXRQcm9wKGEpLHA9e307alF1ZXJ5LmV4dGVuZChwLGEpLHBbalF1ZXJ5LkNTUy5zZngrInRyYW5zaXRpb24tcHJvcGVydHkiXT1vLHBbalF1ZXJ5LkNTUy5zZngrInRyYW5zaXRpb24tZHVyYXRpb24iXT1iKyJtcyIscFtqUXVlcnkuQ1NTLnNmeCsidHJhbnNpdGlvbi1kZWxheSJdPWMrIm1zIixwW2pRdWVyeS5DU1Muc2Z4KyJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiJdPWQsc2V0VGltZW91dChmdW5jdGlvbigpe2gub25lKGpRdWVyeS5DU1MudHJhbnNpdGlvbkVuZCsiLiIrZy5pZCxmKSxoLmNzcyhwKX0sMSksZy50aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gZy5jYWxsZWR8fCFlPyhnLmNhbGxlZD0hMSx2b2lkKGcuQ1NTQUlzUnVubmluZz0hMSkpOihoLmNzcyhqUXVlcnkuQ1NTLnNmeCsidHJhbnNpdGlvbiIsIiIpLGUuYXBwbHkoZyksZy5DU1NBSXNSdW5uaW5nPSExLHZvaWQoImZ1bmN0aW9uIj09dHlwZW9mIGcuQ1NTcXVldWUmJihnLkNTU3F1ZXVlKCksZy5DU1NxdWV1ZT1udWxsKSkpfSxiK2MrMTApfX0pfX0salF1ZXJ5LmZuLkNTU0FuaW1hdGU9alF1ZXJ5LkNTUy5hbmltYXRlLGpRdWVyeS5ub3JtYWxpemVDc3M9alF1ZXJ5LkNTUy5ub3JtYWxpemVDc3MsalF1ZXJ5LmZuLmNzczM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPWpRdWVyeS5ub3JtYWxpemVDc3MoYSk7Yi5jc3MoYyl9KX07dmFyIG5BZ3Q9bmF2aWdhdG9yLnVzZXJBZ2VudDtqUXVlcnkuYnJvd3Nlcj1qUXVlcnkuYnJvd3Nlcnx8e30salF1ZXJ5LmJyb3dzZXIubW96aWxsYT0hMSxqUXVlcnkuYnJvd3Nlci53ZWJraXQ9ITEsalF1ZXJ5LmJyb3dzZXIub3BlcmE9ITEsalF1ZXJ5LmJyb3dzZXIuc2FmYXJpPSExLGpRdWVyeS5icm93c2VyLmNocm9tZT0hMSxqUXVlcnkuYnJvd3Nlci5hbmRyb2lkU3RvY2s9ITEsalF1ZXJ5LmJyb3dzZXIubXNpZT0hMSxqUXVlcnkuYnJvd3Nlci5lZGdlPSExLGpRdWVyeS5icm93c2VyLnVhPW5BZ3Q7dmFyIGdldE9TPWZ1bmN0aW9uKCl7dmFyIGE9e3ZlcnNpb246IlVua25vd24gdmVyc2lvbiIsbmFtZToiVW5rbm93biBPUyJ9O3JldHVybi0xIT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJXaW4iKSYmKGEubmFtZT0iV2luZG93cyIpLC0xIT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNYWMiKSYmMD5uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNb2JpbGUiKSYmKGEubmFtZT0iTWFjIiksLTEhPW5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoIkxpbnV4IikmJihhLm5hbWU9IkxpbnV4IiksL01hYyBPUyBYLy50ZXN0KG5BZ3QpJiYhL01vYmlsZS8udGVzdChuQWd0KSYmKGEudmVyc2lvbj0vTWFjIE9TIFggKDEwW1wuXF9cZF0rKS8uZXhlYyhuQWd0KVsxXSxhLnZlcnNpb249YS52ZXJzaW9uLnJlcGxhY2UoL18vZywiLiIpLnN1YnN0cmluZygwLDUpKSwvV2luZG93cy8udGVzdChuQWd0KSYmKGEudmVyc2lvbj0iVW5rbm93bi5Vbmtub3duIiksL1dpbmRvd3MgTlQgNS4xLy50ZXN0KG5BZ3QpJiYoYS52ZXJzaW9uPSI1LjEiKSwvV2luZG93cyBOVCA2LjAvLnRlc3QobkFndCkmJihhLnZlcnNpb249IjYuMCIpLC9XaW5kb3dzIE5UIDYuMS8udGVzdChuQWd0KSYmKGEudmVyc2lvbj0iNi4xIiksL1dpbmRvd3MgTlQgNi4yLy50ZXN0KG5BZ3QpJiYoYS52ZXJzaW9uPSI2LjIiKSwvV2luZG93cyBOVCAxMC4wLy50ZXN0KG5BZ3QpJiYoYS52ZXJzaW9uPSIxMC4wIiksL0xpbnV4Ly50ZXN0KG5BZ3QpJiYvTGludXgvLnRlc3QobkFndCkmJihhLnZlcnNpb249IlVua25vd24uVW5rbm93biIpLGEubmFtZT1hLm5hbWUudG9Mb3dlckNhc2UoKSxhLm1ham9yX3ZlcnNpb249IlVua25vd24iLGEubWlub3JfdmVyc2lvbj0iVW5rbm93biIsIlVua25vd24uVW5rbm93biIhPWEudmVyc2lvbiYmKGEubWFqb3JfdmVyc2lvbj1wYXJzZUZsb2F0KGEudmVyc2lvbi5zcGxpdCgiLiIpWzBdKSxhLm1pbm9yX3ZlcnNpb249cGFyc2VGbG9hdChhLnZlcnNpb24uc3BsaXQoIi4iKVsxXSkpLGF9O2pRdWVyeS5icm93c2VyLm9zPWdldE9TKCksalF1ZXJ5LmJyb3dzZXIuaGFzVG91Y2g9aXNUb3VjaFN1cHBvcnRlZCgpLGpRdWVyeS5icm93c2VyLm5hbWU9bmF2aWdhdG9yLmFwcE5hbWUsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249IiIrcGFyc2VGbG9hdChuYXZpZ2F0b3IuYXBwVmVyc2lvbiksalF1ZXJ5LmJyb3dzZXIubWFqb3JWZXJzaW9uPXBhcnNlSW50KG5hdmlnYXRvci5hcHBWZXJzaW9uLDEwKTt2YXIgbmFtZU9mZnNldCx2ZXJPZmZzZXQsaXg7aWYoLTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJPcGVyYSIpKSlqUXVlcnkuYnJvd3Nlci5vcGVyYT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJPcGVyYSIsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzYpLC0xIT0odmVyT2Zmc2V0PW5BZ3QuaW5kZXhPZigiVmVyc2lvbiIpKSYmKGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCs4KSk7ZWxzZSBpZigtMSE9KHZlck9mZnNldD1uQWd0LmluZGV4T2YoIk9QUiIpKSlqUXVlcnkuYnJvd3Nlci5vcGVyYT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJPcGVyYSIsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzQpO2Vsc2UgaWYoLTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJNU0lFIikpKWpRdWVyeS5icm93c2VyLm1zaWU9ITAsalF1ZXJ5LmJyb3dzZXIubmFtZT0iTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIixqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbj1uQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQrNSk7ZWxzZSBpZigtMSE9bkFndC5pbmRleE9mKCJUcmlkZW50Iikpe2pRdWVyeS5icm93c2VyLm1zaWU9ITAsalF1ZXJ5LmJyb3dzZXIubmFtZT0iTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIjt2YXIgc3RhcnQ9bkFndC5pbmRleE9mKCJydjoiKSszLGVuZD1zdGFydCs0O2pRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHN0YXJ0LGVuZCl9ZWxzZS0xIT0odmVyT2Zmc2V0PW5BZ3QuaW5kZXhPZigiRWRnZSIpKT8oalF1ZXJ5LmJyb3dzZXIuZWRnZT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJNaWNyb3NvZnQgRWRnZSIsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzUpKTotMSE9KHZlck9mZnNldD1uQWd0LmluZGV4T2YoIkNocm9tZSIpKT8oalF1ZXJ5LmJyb3dzZXIud2Via2l0PSEwLGpRdWVyeS5icm93c2VyLmNocm9tZT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJDaHJvbWUiLGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCs3KSk6LTE8bkFndC5pbmRleE9mKCJtb3ppbGxhLzUuMCIpJiYtMTxuQWd0LmluZGV4T2YoImFuZHJvaWQgIikmJi0xPG5BZ3QuaW5kZXhPZigiYXBwbGV3ZWJraXQiKSYmISgtMTxuQWd0LmluZGV4T2YoImNocm9tZSIpKT8odmVyT2Zmc2V0PW5BZ3QuaW5kZXhPZigiQ2hyb21lIiksalF1ZXJ5LmJyb3dzZXIud2Via2l0PSEwLGpRdWVyeS5icm93c2VyLmFuZHJvaWRTdG9jaz0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJhbmRyb2lkU3RvY2siLGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCs3KSk6LTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJTYWZhcmkiKSk/KGpRdWVyeS5icm93c2VyLndlYmtpdD0hMCxqUXVlcnkuYnJvd3Nlci5zYWZhcmk9ITAsalF1ZXJ5LmJyb3dzZXIubmFtZT0iU2FmYXJpIixqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbj1uQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQrNyksLTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJWZXJzaW9uIikpJiYoalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzgpKSk6LTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJBcHBsZVdlYmtpdCIpKT8oalF1ZXJ5LmJyb3dzZXIud2Via2l0PSEwLGpRdWVyeS5icm93c2VyLnNhZmFyaT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJTYWZhcmkiLGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCs3KSwtMSE9KHZlck9mZnNldD1uQWd0LmluZGV4T2YoIlZlcnNpb24iKSkmJihqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbj1uQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQrOCkpKTotMSE9KHZlck9mZnNldD1uQWd0LmluZGV4T2YoIkZpcmVmb3giKSk/KGpRdWVyeS5icm93c2VyLm1vemlsbGE9ITAsalF1ZXJ5LmJyb3dzZXIubmFtZT0iRmlyZWZveCIsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzgpKToobmFtZU9mZnNldD1uQWd0Lmxhc3RJbmRleE9mKCIgIikrMSk8KHZlck9mZnNldD1uQWd0Lmxhc3RJbmRleE9mKCIvIikpJiYoalF1ZXJ5LmJyb3dzZXIubmFtZT1uQWd0LnN1YnN0cmluZyhuYW1lT2Zmc2V0LHZlck9mZnNldCksalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzEpLGpRdWVyeS5icm93c2VyLm5hbWUudG9Mb3dlckNhc2UoKT09alF1ZXJ5LmJyb3dzZXIubmFtZS50b1VwcGVyQ2FzZSgpJiYoalF1ZXJ5LmJyb3dzZXIubmFtZT1uYXZpZ2F0b3IuYXBwTmFtZSkpOy0xIT0oaXg9alF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24uaW5kZXhPZigiOyIpKSYmKGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPWpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uLnN1YnN0cmluZygwLGl4KSksLTEhPShpeD1qUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbi5pbmRleE9mKCIgIikpJiYoalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249alF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24uc3Vic3RyaW5nKDAsaXgpKSxqUXVlcnkuYnJvd3Nlci5tYWpvclZlcnNpb249cGFyc2VJbnQoIiIralF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24sMTApLGlzTmFOKGpRdWVyeS5icm93c2VyLm1ham9yVmVyc2lvbikmJihqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbj0iIitwYXJzZUZsb2F0KG5hdmlnYXRvci5hcHBWZXJzaW9uKSxqUXVlcnkuYnJvd3Nlci5tYWpvclZlcnNpb249cGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24sMTApKSxqUXVlcnkuYnJvd3Nlci52ZXJzaW9uPWpRdWVyeS5icm93c2VyLm1ham9yVmVyc2lvbixqUXVlcnkuYnJvd3Nlci5hbmRyb2lkPS9BbmRyb2lkL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci5ibGFja2JlcnJ5PS9CbGFja0JlcnJ5fEJCfFBsYXlCb29rL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci5pb3M9L2lQaG9uZXxpUGFkfGlQb2R8d2ViT1MvaS50ZXN0KG5BZ3QpLGpRdWVyeS5icm93c2VyLm9wZXJhTW9iaWxlPS9PcGVyYSBNaW5pL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci53aW5kb3dzTW9iaWxlPS9JRU1vYmlsZXxXaW5kb3dzIFBob25lL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci5raW5kbGU9L0tpbmRsZXxTaWxrL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci5tb2JpbGU9alF1ZXJ5LmJyb3dzZXIuYW5kcm9pZHx8alF1ZXJ5LmJyb3dzZXIuYmxhY2tiZXJyeXx8alF1ZXJ5LmJyb3dzZXIuaW9zfHxqUXVlcnkuYnJvd3Nlci53aW5kb3dzTW9iaWxlfHxqUXVlcnkuYnJvd3Nlci5vcGVyYU1vYmlsZXx8alF1ZXJ5LmJyb3dzZXIua2luZGxlLGpRdWVyeS5pc01vYmlsZT1qUXVlcnkuYnJvd3Nlci5tb2JpbGUsalF1ZXJ5LmlzVGFibGV0PWpRdWVyeS5icm93c2VyLm1vYmlsZSYmNzY1PGpRdWVyeSh3aW5kb3cpLndpZHRoKCksalF1ZXJ5LmlzQW5kcm9pZERlZmF1bHQ9alF1ZXJ5LmJyb3dzZXIuYW5kcm9pZCYmIS9jaHJvbWUvaS50ZXN0KG5BZ3QpLGpRdWVyeS5tYkJyb3dzZXI9alF1ZXJ5LmJyb3dzZXIsalF1ZXJ5LmJyb3dzZXIudmVyc2lvbkNvbXBhcmU9ZnVuY3Rpb24oYSxiKXtpZigic3RyaW5nc3RyaW5nIiE9dHlwZW9mIGErdHlwZW9mIGIpcmV0dXJuITE7Zm9yKHZhciBjPWEuc3BsaXQoIi4iKSxkPWIuc3BsaXQoIi4iKSxlPTAsZj1NYXRoLm1heChjLmxlbmd0aCxkLmxlbmd0aCk7Zj5lO2UrKyl7aWYoY1tlXSYmIWRbZV0mJjA8cGFyc2VJbnQoY1tlXSl8fHBhcnNlSW50KGNbZV0pPnBhcnNlSW50KGRbZV0pKXJldHVybiAxO2lmKGRbZV0mJiFjW2VdJiYwPHBhcnNlSW50KGRbZV0pfHxwYXJzZUludChjW2VdKTxwYXJzZUludChkW2VdKSlyZXR1cm4tMX1yZXR1cm4gMH0sZnVuY3Rpb24oYSl7YS5zaW1wbGVTbGlkZXI9e2RlZmF1bHRzOntpbml0aWFsdmFsOjAsc2NhbGU6MTAwLG9yaWVudGF0aW9uOiJoIixyZWFkb25seTohMSxjYWxsYmFjazohMX0sZXZlbnRzOntzdGFydDphLmJyb3dzZXIubW9iaWxlPyJ0b3VjaHN0YXJ0IjoibW91c2Vkb3duIixlbmQ6YS5icm93c2VyLm1vYmlsZT8idG91Y2hlbmQiOiJtb3VzZXVwIixtb3ZlOmEuYnJvd3Nlci5tb2JpbGU/InRvdWNobW92ZSI6Im1vdXNlbW92ZSJ9LGluaXQ6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPXRoaXMsZD1hKGMpO2QuYWRkQ2xhc3MoInNpbXBsZVNsaWRlciIpLGMub3B0PXt9LGEuZXh0ZW5kKGMub3B0LGEuc2ltcGxlU2xpZGVyLmRlZmF1bHRzLGIpLGEuZXh0ZW5kKGMub3B0LGQuZGF0YSgpKTt2YXIgZT0iaCI9PWMub3B0Lm9yaWVudGF0aW9uPyJob3Jpem9udGFsIjoidmVydGljYWwiLGU9YSgiPGRpdi8+IikuYWRkQ2xhc3MoImxldmVsIikuYWRkQ2xhc3MoZSk7ZC5wcmVwZW5kKGUpLGMubGV2ZWw9ZSxkLmNzcyh7Y3Vyc29yOiJkZWZhdWx0In0pLCJhdXRvIj09Yy5vcHQuc2NhbGUmJihjLm9wdC5zY2FsZT1hKGMpLm91dGVyV2lkdGgoKSksZC51cGRhdGVTbGlkZXJWYWwoKSxjLm9wdC5yZWFkb25seXx8KGQub24oYS5zaW1wbGVTbGlkZXIuZXZlbnRzLnN0YXJ0LGZ1bmN0aW9uKGIpe2EuYnJvd3Nlci5tb2JpbGUmJihiPWIuY2hhbmdlZFRvdWNoZXNbMF0pLGMuY2FuU2xpZGU9ITAsZC51cGRhdGVTbGlkZXJWYWwoYiksImgiPT1jLm9wdC5vcmllbnRhdGlvbj9kLmNzcyh7Y3Vyc29yOiJjb2wtcmVzaXplIn0pOmQuY3NzKHtjdXJzb3I6InJvdy1yZXNpemUifSksYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCl9KSxhKGRvY3VtZW50KS5vbihhLnNpbXBsZVNsaWRlci5ldmVudHMubW92ZSxmdW5jdGlvbihiKXthLmJyb3dzZXIubW9iaWxlJiYoYj1iLmNoYW5nZWRUb3VjaGVzWzBdKSxjLmNhblNsaWRlJiYoYShkb2N1bWVudCkuY3NzKHtjdXJzb3I6ImRlZmF1bHQifSksZC51cGRhdGVTbGlkZXJWYWwoYiksYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCkpfSkub24oYS5zaW1wbGVTbGlkZXIuZXZlbnRzLmVuZCxmdW5jdGlvbigpe2EoZG9jdW1lbnQpLmNzcyh7Y3Vyc29yOiJhdXRvIn0pLGMuY2FuU2xpZGU9ITEsZC5jc3Moe2N1cnNvcjoiYXV0byJ9KX0pKX0pfSx1cGRhdGVTbGlkZXJWYWw6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5nZXQoMCk7aWYoYy5vcHQpe2Mub3B0LmluaXRpYWx2YWw9Im51bWJlciI9PXR5cGVvZiBjLm9wdC5pbml0aWFsdmFsP2Mub3B0LmluaXRpYWx2YWw6Yy5vcHQuaW5pdGlhbHZhbChjKTt2YXIgZD1hKGMpLm91dGVyV2lkdGgoKSxlPWEoYykub3V0ZXJIZWlnaHQoKTtjLng9Im9iamVjdCI9PXR5cGVvZiBiP2IuY2xpZW50WCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQtdGhpcy5vZmZzZXQoKS5sZWZ0OiJudW1iZXIiPT10eXBlb2YgYj9iKmQvYy5vcHQuc2NhbGU6Yy5vcHQuaW5pdGlhbHZhbCpkL2Mub3B0LnNjYWxlLGMueT0ib2JqZWN0Ij09dHlwZW9mIGI/Yi5jbGllbnRZK2RvY3VtZW50LmJvZHkuc2Nyb2xsVG9wLXRoaXMub2Zmc2V0KCkudG9wOiJudW1iZXIiPT10eXBlb2YgYj8oYy5vcHQuc2NhbGUtYy5vcHQuaW5pdGlhbHZhbC1iKSplL2Mub3B0LnNjYWxlOmMub3B0LmluaXRpYWx2YWwqZS9jLm9wdC5zY2FsZSxjLnk9dGhpcy5vdXRlckhlaWdodCgpLWMueSxjLnNjYWxlWD1jLngqYy5vcHQuc2NhbGUvZCxjLnNjYWxlWT1jLnkqYy5vcHQuc2NhbGUvZSxjLm91dE9mUmFuZ2VYPWMuc2NhbGVYPmMub3B0LnNjYWxlP2Muc2NhbGVYLWMub3B0LnNjYWxlOjA+Yy5zY2FsZVg/Yy5zY2FsZVg6MCxjLm91dE9mUmFuZ2VZPWMuc2NhbGVZPmMub3B0LnNjYWxlP2Muc2NhbGVZLWMub3B0LnNjYWxlOjA+Yy5zY2FsZVk/Yy5zY2FsZVk6MCxjLm91dE9mUmFuZ2U9ImgiPT1jLm9wdC5vcmllbnRhdGlvbj9jLm91dE9mUmFuZ2VYOmMub3V0T2ZSYW5nZVksYy52YWx1ZT0idW5kZWZpbmVkIiE9dHlwZW9mIGI/ImgiPT1jLm9wdC5vcmllbnRhdGlvbj9jLng+PXRoaXMub3V0ZXJXaWR0aCgpP2Mub3B0LnNjYWxlOjA+PWMueD8wOmMuc2NhbGVYOmMueT49dGhpcy5vdXRlckhlaWdodCgpP2Mub3B0LnNjYWxlOjA+PWMueT8wOmMuc2NhbGVZOiJoIj09Yy5vcHQub3JpZW50YXRpb24/Yy5zY2FsZVg6Yy5zY2FsZVksImgiPT1jLm9wdC5vcmllbnRhdGlvbj9jLmxldmVsLndpZHRoKE1hdGguZmxvb3IoMTAwKmMueC9kKSsiJSIpOmMubGV2ZWwuaGVpZ2h0KE1hdGguZmxvb3IoMTAwKmMueS9lKSksImZ1bmN0aW9uIj09dHlwZW9mIGMub3B0LmNhbGxiYWNrJiZjLm9wdC5jYWxsYmFjayhjKX19fSxhLmZuLnNpbXBsZVNsaWRlcj1hLnNpbXBsZVNsaWRlci5pbml0LGEuZm4udXBkYXRlU2xpZGVyVmFsPWEuc2ltcGxlU2xpZGVyLnVwZGF0ZVNsaWRlclZhbH0oalF1ZXJ5KSxmdW5jdGlvbihhKXthLm1iQ29va2llPXtzZXQ6ZnVuY3Rpb24oYSxiLGMsZCl7Im9iamVjdCI9PXR5cGVvZiBiJiYoYj1KU09OLnN0cmluZ2lmeShiKSksY3x8KGM9NyksZD1kPyI7IGRvbWFpbj0iK2Q6IiI7dmFyIGU9bmV3IERhdGU7ZS5zZXRUaW1lKGUuZ2V0VGltZSgpKzg2NGU1KmMpLGM9IjsgZXhwaXJlcz0iK2UudG9HTVRTdHJpbmcoKSxkb2N1bWVudC5jb29raWU9YSsiPSIrYitjKyI7IHBhdGg9LyIrZH0sZ2V0OmZ1bmN0aW9uKGEpe2ErPSI9Ijtmb3IodmFyIGI9ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7IiksYz0wO2M8Yi5sZW5ndGg7YysrKXtmb3IodmFyIGQ9YltjXTsiICI9PWQuY2hhckF0KDApOylkPWQuc3Vic3RyaW5nKDEsZC5sZW5ndGgpO2lmKDA9PWQuaW5kZXhPZihhKSl0cnl7cmV0dXJuIEpTT04ucGFyc2UoZC5zdWJzdHJpbmcoYS5sZW5ndGgsZC5sZW5ndGgpKX1jYXRjaChlKXtyZXR1cm4gZC5zdWJzdHJpbmcoYS5sZW5ndGgsZC5sZW5ndGgpfX1yZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKGIpe2EubWJDb29raWUuc2V0KGIsIiIsLTEpfX0sYS5tYlN0b3JhZ2U9e3NldDpmdW5jdGlvbihhLGIpeyJvYmplY3QiPT10eXBlb2YgYiYmKGI9SlNPTi5zdHJpbmdpZnkoYikpLGxvY2FsU3RvcmFnZS5zZXRJdGVtKGEsYil9LGdldDpmdW5jdGlvbihhKXtpZighbG9jYWxTdG9yYWdlW2FdKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2VbYV0pfWNhdGNoKGIpe3JldHVybiBsb2NhbFN0b3JhZ2VbYV19fSxyZW1vdmU6ZnVuY3Rpb24oYSl7YT9sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShhKTpsb2NhbFN0b3JhZ2UuY2xlYXIoKX19fShqUXVlcnkpOw0KDQoNCi8qDQogKiAgSW5maW5pdGUgU2Nyb2xsDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCg0KLyohDQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgSW5maW5pdGUgU2Nyb2xsDQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgKyBodHRwczovL2dpdGh1Yi5jb20vcGF1bGlyaXNoL2luZmluaXRlLXNjcm9sbA0KICAgKyB2ZXJzaW9uIDIuMS4wDQogICArIENvcHlyaWdodCAyMDExLzEyIFBhdWwgSXJpc2ggJiBMdWtlIFNodW1hcmQNCiAgICsgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlDQoNCiAgICsgRG9jdW1lbnRhdGlvbjogaHR0cDovL2luZmluaXRlLXNjcm9sbC5jb20vDQoqLw0KOyhmdW5jdGlvbihlKXtpZih0eXBlb2YgZGVmaW5lPT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZCl7ZGVmaW5lKFsianF1ZXJ5Il0sZSl9ZWxzZXtlKGpRdWVyeSl9fSkoZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5pbmZpbml0ZXNjcm9sbD1mdW5jdGlvbihuLHIsaSl7dGhpcy5lbGVtZW50PWUoaSk7aWYoIXRoaXMuX2NyZWF0ZShuLHIpKXt0aGlzLmZhaWxlZD10cnVlfX07ZS5pbmZpbml0ZXNjcm9sbC5kZWZhdWx0cz17bG9hZGluZzp7ZmluaXNoZWQ6dCxmaW5pc2hlZE1zZzoiPGVtPkNvbmdyYXR1bGF0aW9ucywgeW91J3ZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgaW50ZXJuZXQuPC9lbT4iLGltZzoiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoM0FBVEFQUWVBUER5K01uUTZMVy80TjNoOE16VDZyakM0c1RNNXIvSTVOSFg3TjdqOGM3VTZ0dmc4T0xsOHVYbzlPanI5YjNHNU1mUDZPdnU5dFBaN1BUMSt2WDIrdGJiN3ZmNCs4L1c2OWpkN3JDNzN2bjUvTy94K0syNDNhaTAyLy8vL3dBQUFDSC9DMDVGVkZORFFWQkZNaTR3QXdFQUFBQWgrUVFFQ2dEL0FDd0FBQUFBM0FBVEFBQUYvNkFuam1ScG5taXFybXpydm5Bc3ozUnQzM2l1NzN6di84Q2djRWowQkFTY3BITEpiRHFmMEtoMFNxMWFyOWlzZGlvSXRBS0d3K01BS1lNRmhiRjYzQ1c0MzhmMG1nMVIyTzhFdVhqL2FPUHRhSHg3Zm45NmdvUjRobXVJZDRxRGRYOTVjNCtSQklHQ0I0eUFqcG1RaFpOMFlHWUdYaXRkWkJJVkdBc0xvcTRCQktRRHN3bTFDUVJrY0c2eXRyWUt1YnE4dmJmQWNNSzl2N3E3RU1PMXljckh2c1c2emNUS3Njek56OEhadzl2RzNjalRzTUlZcVFrQ0xCd0hDZ3NNRFE0UkRBWUlxZllTRnhEeEVmejg4L1gzOE9ucjE2K0JwNEFEQ2NvN2VDOGhRWU1BRWU1N3lOQ2V3NElWQlU3RUdORGlSbjhaODMxY0dMSGhTSWdkRmY5Y2hJZUJnN29BN2dqYVdVV1RWUUFHRTNMcUJEQ1RsYzlXT0hmbTdQa1RxTkNoNTRyZVBEcUI2TStsUjUzNmhDcFVxczJnVlpNK3hiclRxdEdvV3FkeTFlbVZhbGVYS3pnZ1lCQkI1eTFhY0ZOWm1FdlhBb04yY0dmSnJUdjNibDY5RmZqMnhadDNMMSsvZnczWFJWdzRzR0RHY1IwZkpoeFpzRjNLdEJUVGhaeFo4bUxNZ0MzZlJhdENiWU1ORkN6d0xFcUxnRTROc0RXcy90dnFkZXpaZjEzSHZrMkE5U3pkdTJYM3BnMThOKzY4eFhuN3JoMWMrUExrc0kvRGhlNmN1TzNvdzNOZlY5MmJkQXJUcUMyRWJkM0E4dmpmNVFXZkg2Qmc3TnoxN2MyZmo2OStmbnErOE4yTHR5K2Z1UDc4L2VWMlgxM25lSWNDZUJSd3hvcmJackExQU5vQ0RHcmdvRzhSVHNoYWhROWlTS0VFelVtWUlZZk5XVmlVaGhlQ0dKeUlQNUU0b29tN1dXamdDZUJGQUpOdjFEVlYwMU1BZEpoaGpka3BsV056Ty81b1hJODQ2bmpqVkVJcVIyT1MyQjFwRTVQVnNjYWpreGhNeWNxTEpnaFFTd1Q0MFBnZkFsNEdxTlNYWWRaWEpuNWdTa21tbW1KdTFhWlliMTRWNTFkbytwVE9DbUE0MEFxVkNJaEc1SUo5UHZZbmhJRk94bWRxaHBhSTZHZUhDdHBvb2lzdXV0bWcrRWc2MktPTUt1cW9UYVhnaWNRV29JWXE2cWlrbG1vcUZWMFVvZXFxckxicTZxdXd4aXJyckxUV2F1dXRKNFFBQUNINUJBVUtBQndBTEFjQUJBRE9BQXNBQUFYL0lQZDBEMmR5UkNvVXAvazhncEhPS3RzZVI5eWlTbUdidUJ5a2xlcjlYTEFoa2JEYXZYVEw1azJvcUZxTk94elVaUFU1WVlaZDFYc0Q3MnJacEJqYmVoNTJtU05uTVNDOGx3YmxLWkd3aSswUWZJSjhDbmNuQ29DRGdvVm5CSG1LZkJ5R0ppbVBrSXd0aUFlQmtINlpISmFLbUNlVm5LS1RISWloZzVLTnE0dW9xbUV0Y1JVdEVSRU1CZ2d0RXI0UURyakN1UkM4aDcvQnd4RU5laWNTRjhES3k4MnB5TkxNT3h6V3lnekZtZHZEMkwzUDBkemU0K1hoMUFya3llcGk3ZGZGdnZUdExRa1pCQzBUL0ZYM0NSZ0NNT0JIc0orRUhZUVk3T2luQUdFQ2dRc0IrTHUzQU9LK0Nld2NXand4UWVKQmlodE5HSFNvUU9FK2lRMy8vNFhrd0JCaFJaTWNVUzZZU1hPQXdJTDhQR3FFYVNKQ2lZdDlTTm9DbW5KUEFnVVZMQ2hkYW9GQlVSTjhNQXpsMlBRcGh3UUxmREZkNmxUb3dnbEh2ZTZyS3BiamhLNy9wRzVWaW5aUDFxa2l6MXJsNCt0cjJMUndXVTY0Y0ZFaWh3RXRaZ2JnUjFVaUhhTVZ2eHBPU3dCQTM3a3pHejllOEcrQjVNSUVLTHV0T0dFc0FIMkFUUXdZZlRtdVg4YUVUV2RHUFptaVpjY2NOU3plVENBMVN3MGJkaWl0QzdMQldndThqUXI4SFJ6cWdwSzZnWDg4UWJyQjE0ei9rRitFTHB3QjhlVlFqL0prcWR5bEF1ZGppLyt0czMwMzl2RUVmSzhWejJkbHZ4WktHMENtYmtLREJ2bGxSZDZmQ3pEdkJMS0JEU0NlZmZoUkpFRmViRmsxay9NdjlqVklvSUpaU2VCZ2d3VWFOZUIrUWszNElFMGNYbGloY2ZSeGtPQUpGRmh3R21LbG1XRGlha1poVUp0bkxCcG5XV2NuS2FBWmN4STBwaUZHR0xCbTFtYzkwa2FqU0N2ZWVCVldLZVlFb1Uyd3FlYVFpMFBldG9FK3JyMTRFcFZDN29BYkFVSHFoWUV4Ym4yWEhIc1ZxYmNWZXc5dHg4K1hKS2s1QVpzcXFkbGRkR3BxQUtkYkFZQm4xcGNjem1TVGRXdmRtWjE3YzFiM0ZaOTl2blRkQ1JGTThPRWNBaEx3bTFOZFhuV2NCQlNNUldtZmtXWnFWbHNtTElpQXAvbzFnR1YydnBTNGxhbEdZc1VPcVhyZGRjS0NtSzYxYVo4U2pFcFVwVkZWb0NwVGo0cjY2MUttN2tCSGpyRHljMVJBSVFBQUlma0VCUW9BR3dBc0J3QUVBTTRBQ3dBQUJmL2d0bVVDZDRnb1FRZ0ZLajZQWUtpMHlycmJjOGk0b2hRdDEyRUhjYWwrTU5TUWlDUDhnaWdkejdpQ2lvYUNJdlVtWkxwOFFCelcwRU4ydlNsQ3VEdEZLYXE0UnlIelFMRUtaTmRpUURoUkRWb29Dd2tiZm01OUVBbUtpNFNHSW0rQWpJc0tqaHNxQjRtU2pUMklPSU9VbklDZUNhQi9tWktGTlRTUm1xVnBtSnFrbFNxc2txNlBmWVlDRHdZSERDNFJFUXdHQ0JMR3h4SVFEc0hNd2hBSVg4Ykt6Y0VOZ1NMR0Y5UFUxajNTeTl6WDJOcmd6UXppQ2hMazFCSFd4Y2pmN04wNDZ0dk44MjcxNWN6bjlQcnl6NklsYzRBQ2o0RUJPQ1pNOEtFbkFZWUFEQlJLbkFDQVlVTUZ2MXdvdEloQ0VjYUpDaXNxd0pGZ0FVU1FHeVgva0NTVlVVVElkS013Smx5bzBvWEhsaHNrd3JUSmNpWkhFWHNnYXFTNHM2UEppQ0FyMXV6WVU4a0JCU2duV0ZxcG9NSk1Vakd0RG1Vd2ttZlZtVnlwYWtXaEVLdlhzUzRuaExXNXdOalZyb0pJb2MwNXdTelRyMFB0aWlncFllNEVDMnZqNGlXckZ1NWV1V0lNUkJoYWNhVkpoWVFCRUZqQTlqSGp5UTB4RUFCd0djZUdBWllqWTBZQk9yUkxDeFVwMjlRTStiUmt4NXM3WnlZZ1ZiVHF3d3RpMnliSit2THREWXB5Y3laYllPbHB0eGR4MGtWK1Y3bEM1aUpBeXlScndZS3hBZGl6ODJuZzAvam5BZE1KRnowY1BpMTA0RWMxVmo5L002RjE3M3ZLTC9mZVh2MTU2ZHcxMXRscWVNTW52NFY1QXA1M0dtalFRSDk3bkZmZytJRml1Y2ZnUlg1WjhLQWdiVWxRNElVTElsZ2hoaGRPU0I2QWdYMElWbjhlUmVnaGVuM05SSUJzUmduSDRsNEx1RWlkWkJqd1JwdDZOTTVXR3dvVzBLU2pDd1g2eUpTTWFiMkd3d0FQRFhmYUJDdFdwbHVSVFFxQzVKTTVvVVpBalVOUytWZU9MV3BKRVE3VllRQU5XMElOSlNaVkRGU25acGhqU2lrZm16RTVONEVFYlFJMVFKbW5XWENtSHVsUnAyZWR3RFhGNDN0eHVrZW5Kd3ZJOXh5ZzlRMjZaM016R1VjQllGRUNoWmg2RFZUcTM0QVU4SWZsaDUxU2QrQ25LRllRNm1tWmtocWZCS2ZTeFpXcUE5RFphbldqeG1ocld3aTBxdENydC80M0s2V3FWampwbWhJcWdFR3ZjdWxhR0trbEtzdEFBQ0VBQUNINUJBVUtBQndBTEFjQUJBRE9BQXNBQUFYL0lDZHlRbWFNWXlBVXFQZ0lCaUhQeE5weTc5a3FSWEg4d0FQc1JtRGRYcEFXZ1dkRUlZbTJsbENIcWpWSFUrampKa3dxQlRlY3dJdFNoTVhrRWZOV1NoOGUxTkdBY0xncERHbFJnazdFSi82QWUzVktmb0YvZkR1RmhvaFZlRGVDZlhrY0NRcURWUWNRaG4rVk5ET1ltcFNXYW9xQmxVU2Ztb3dqRUEraUVBRUdEUkd6dEF3R0NEY1hFQTYwdFhFaUNycTh2UkVNRUJMSXlSTEN4TVdTSE16RXhuYlJ2UTJTeTd2TjB6dlZ0TmZVMnRMWTNyUGdMZG5EdmNhNFZRUy9DcGszQUJ3U0xRa1lBUXdUL1AzMDl2Y0k3T3ZYcjk0akJRTUovbnNra0dBL0JRQlJMTkRuY0FJQWlEY0c2THN4QVdPTGlRem1lVVJCS1dTTENRYnYvMUYwZURHaW5KVUtSNDdZWTFJRWdRQVNLazdZYzdBQ1J3Wm03bUh3ZVJKb3o1OUJKVW9naXNLQ1VhRk1SMHg0U2xKQlZCRlRrOHBaaXZUUjBLNzNyTjV3cWxYRUFxNUZ5M0lZZ0hiRXpRMG5MeTRRU29DalhMb29tOTZWT0pFZUNvc0s1bjRra0ZmcVhqbDk0d2ErbDFndkFjR0lDYmV3QU9BeFk4bC9LeS9RaEFHejRjVWtHeHUySE5vemh3TUdCbkNVcVVkQmc5VXVXOWVVeW5xU3dMSElCdWplUGVmMVpHUVpYY00rT0Z1RUJlQmhpM09ZZ0x5cWN1YXhiVDl2TGtmNFNlcXlXeFNRcEtHQjJnUXBtMUtkV2J1NzJyUFJ6UjlOZTJOdTlLenIvMUpxajB5RC9mdnFQNGFYT3Q1c1cvNXFzWFhWY3YxTnNwOElCVUFtZ3N3R0YzbGxHZ2VVMVlWWFhLVE4xRmxoV0ZYVzNnSUUrRFZDaEFweXNBQ0hIbzdRNEEzNWxMaWNoaCtST0JtTEtBemdZbVlFWURBaENneEtHT09NbjRXUjRra0Rhb0JCT3hKdGROS1F4Rm1nNUpJV0lCblFjMDdHYU9SZlVZNEFFa2RWNmpIbENFSVNTWjV5VFhwcDFwYkdaYmtXbWN1Wm1RQ2FFNmlKMEZoak1hRGpUTXNnWmFORUhGUkFRVnAzYnFYblpFRDFxWWNFQ096NVY2QmhTV0NvVkpRSUt1S1FpMktGS0VrRUZBcW9Bbzd1WVNtTzNqazYxd1VVTUtta25KNFNHaW1CbUFhMHFWUUJoQUFBSWZrRUJRb0FHd0FzQndBRUFNNEFDd0FBQmYvZ0ptNUZtUmxFcWhKQytieXdnSzVwTzRySEkwRDNwaWkyMitNZzYvMEVqOTZ3ZUNNQWs3Y0RrWGY3bFpUVG5yTWw3ZWFZb3kxMEpOMFpGZGNvMFhBdXZLSTZxa2dWRkpYWU53amtJQmNOQmdSOFRRb0dmUnNKQ1J1Q1lZUVFpSStJQ29zaUNvR09rSWlLZlNsOG1Ka0haNFU5a1pNYkthSTNwS0dYbUpLcm5nbXVnNFd3a2hBMGxyQ0JXZ1lGQ0NNUUZ3b1FEUkhHeHd3R0NCTE16UkxFeDhpR3pNTU8wY1lOZUNNS3pCRFcxOWxuRjlEWERJWS80OFhnMDkzZjBRM3MxZGNSOE9MZTgrWTkxT1R2NXdyajdvN0IrN1ZOUXFBQklvUlZDTUJnZ3NPSEUzNmtTb0NCSWNTSDNFYkZhbmd4b2dKWUZpOENrSmhxUWNpTEpFZi9MRERKRWVKSUJUMEdzT3dZVVlKR0JTMGZqcFFBTWlkR215VlA2c3g0WTZWUWh6czlWVXdrd3FhQ0NoMHRtS29GdFNNRG1CT2Y5cGhnNFNyVnJST3Vhc1JRQWF4WHBWVWhkc1U2SXNFQ1psdlgza3dMVVd6UnQwQkhPTFRiTmxiWkczdlppbkFyZ2U1RHZuN3dicXRRa1NZQUFndEttblNzWUtWS28yQWZXMDQ4dWFQbUczODZpNFE4RVFNQkFJQW5mQjd4QnhCcXZhcEo5elg5V2dSUzJZTXBudllNR2RQSzNhTWp0LzNkVWNOSTRibHBqN2l3a01GV0RYRHZTbWdBbGlqcnQ5UlRSNzgrUFM2ejF1QUpaSWU5M1E4ZzV6Y3NXQ2kvNFkrQzhiYWg1elV2M3Z2ODl1ZnQzMFFQMjNwdW5HQ3g1OTU0b0JCd253WWFOQ0RZL3dZcnNZZWdnbk05QjJGcGY4R0cyQ0VVVldoYldBdEdvdUVHRHk3WTRJRUpWcmJTaVhnaHFHS0lvN3oxSVZjWElrS1dXUjM2MVFPTFdXbklod0VScExhYUNDZWU1aU1CR0pRbUpHeVBGVG5ia2ZIVlpHUnRJR3JnNUhBTEVKQVpidTM5QnVVRVVtcTFKSlFJUHRaaWxZNWhHZVNXc1NrNTJHOVhxc21nbGpkSWNBQnl0cTEzSHlJTTZSY1VBK3IxcVo0RUJGM1dIV0IyOXRCZ0F6UmhFR2hpZzhLbXFLRnY4U2VDZW8rbWdzRjdZRlhhMXFXU2JrRHBvbS9tcVIxUG1IQ3FKM2Z3TlJWWGpDN1M2Q1poRlZDUTJsV3ZaaWlyaFFxNDJTQUN0MjVJSzJodjhUcHJyaVVWMXVzR2dla2E3TEZjTm1DbGRNTGk2cVpNZ0ZMZ3B3MTZDaXBiN2JDMWtuWHNCaUVBQUNINUJBVUtBQnNBTEFjQUJBRE9BQXNBQUFYLzRGWnNKUGtVbVVHc0xDRVVUeXdYZ2xGdVNnN2ZXMXhBdk5XTEY2c0ZGY1BiNDJDOEVaQ2oyNEVKZENwMnlvZWdXc29sUzBVdTZmbWFtZzhuOFlZY0xVMmJYU2lSYVhNR3ZxVjYvS0FlSkFoOFZnWnFDWCtCZXhDRmlvV0FZZ3FOaTRxQVI0T1JoUnVIWTQwOGpBZVVoQW1ZWWl1VmxwaWZscUdaYTVDV2t6YzVmS21iYmhJcHNBb1FEUkc4dlF3UUNCTEN3eEs2dmI1cXdoZkd4eEVOYWh2Q0VBN056c2tTeTd2Tnp6ekswOVcvUE5IRjFOdlgyZFhjTjhLNTVjZmg2OUx1dmVvbDN2Tzh6d2k0WWhqK0FRd21DQnc0SVljbERBQUpEbFFnZ1ZPQ2hBb0xLa2dGa1NDQUhEd1dMS2hJRU9PTkFSc0RLcnlvZ0ZQSWlBVWIvOTVnSk5JaXc0d25JNzc4R0ZQaHpCS0ZPQXE4cUxKRWhRcGlOQXJqTWNIQ21sVENVRElvdVRLQmhBcEVMU3hGV2lHaVZLWTRFMkNBZWtQZ1VwaER1MDc0Mm5SclZMSlpueXJGU3FLUTJvaG9TWUFNVzZJb0RwTko0YkxkSUxUbkFqOEtVRjdVZUVOakFLdUR5eElnT3VHaU9JMEVCQk1nTE5ldzVBVXJEVE1Hc0ZpeHdCSWFOQ1F1QVhKQjU3cU5KMk9XbTJBajRza3dDUUNJeU5raGh0TWtkc0l1b2RFMEFONExKRFJnZkxQdG41WURMZEJscmFBQnl1VWJCZ3hRd0lDeE1PbllwVk9QZWowNzRPRmRsZmMwVHFDNjJPSWJjcHBIalY0bytMcmllV2hmVDhKQy9JL1Q2VzhvQ2wyOXZRMFhqTGRCYUEzczFSY1BCTzdsRnZwWDhCVm9HNE81alRYUlFSRHVKNkZEVHpFV0YxL0JDWmhnYnlBS0U5cUlDWUxsb1FZT0Z0YWhWUnNXWWxaNEtRSkhsd0hTL0lZYVo2c1pkOXRtdTVIUW0yeGkxVWFUYnp4WXdKay93QkY1ZzVFRVlPQlplRWZHWm1OZEZ5RlptWklSNGppa2JMVGhsaDVrVVVWSkdtUlQ3c2Vra3ppUldVSUFDQUJrM1Q0cUNzZWRnTzR4aGdHY1k3cTVwSEo0a2xCQlRRUkowQ2VIY29ZSEhVaDZ3Z2Zkbjl1SmRTZE1pZWJHSjB6VVBUY29TMjg2RkNrclp4bllvWVlLV0xrQm93aFFvQmVhT2xaQWdWaExpZHJYcWcyR2lxcFFwWjRhcHdTd1J0anFyQjNtdW9GOUJib2FYS21zaGxxV3FzV2lHdDJ3cGhKa1FiQVU1aG9DQUNINUJBVUtBQnNBTEFjQUJBRE9BQXNBQUFYL29HRncyV1p1VDVvWlJPc1NRbkdhS2pSdmlsSTg5M01JdGxOT0o1djVnRGNGckhoS0lXY0VZdS94RkVxTnY2QjFONjJhY2x5c0Y3ZnNaWWU1YU94MnlMNWFBVUdTYVQxb1RZTUJ3UTVWR0NBSmdZSUpDbngxZ0lPQmhYZHdpSWw3ZDBwMmlZR1FVQVFCam9PRlNRUi9sSVFIblorVWU2T2FncVl6U3FTSmk1ZVRwVHhHY2pjU0NoQU5FYnU4REJBSUVzSEJDaGU1dkwxM0c3ZkZ1c2NSRGNuS3VNM0gwTGEzRUE3T3o4a0tFc1hhenI3Q3c5L0d6dGFyNXVISHZ0ZTQ3TWprdHpuWjJ3MEcxK0QzQmdpckFxSm1KTUFRZ01HRWd3Z241RWkwZ0tEQmhCTUFMR1JZRU9KQmI1UWNXbFFvNGNiQWloWnozR2dJTXFGRUJTTTEvNFpFT1dQQWdwSUlKWFlVK1BJaFJHOGphMXFVNlZIbHpaa25KTlE2VWFuQ2pRa1dDSUdTVUdFakF3VkxqYzQ0K0RUcVVRdFBQUzVnZWpVclRhNVRKM2c5c1dDcjFCTlVXWkkxNjFTdGlRVURtTFlkR2Zlc2liUTNYTXExT1BZdGhyd3VBMnlVMkxCczJjQkhJeXBZUVBQbFlBS0ZENWNWdk5QdFc4ZVZHYmRjUUFEQVRzaU5PNGNGQVBrdkhwZWRQemM4a1VjUGdOR2daNVJORFpHMDVyZW9FOXMydlNFUDc5TUVHaVFHeTFxUDhMQTRaY2R0c0pFNDhPTm9MVEJ0VFYwQjlMc1RuUGNlb0lEQkRRdlM3Vzd2ZmpWWTNxM2VaNEEzMzlKNGVhQW1LcVUvc1Y1OEh2SmgyUmNuSUJzRFV3MEFCcWhCQTVhVjVWOVhVRkdpSGZWZUFpV3dvRmdKSnJJWFJIMXRFTWlERlY0b0hvQUVHbGFXaGdJR1NHQk8ybkZvbVlZM21LalZnbGlkYU5ZSkdKRGtXVzJ4eFRmYmpDYlZhT0dOcW9YMkdsb1I4WmVUYUVDUzlwdGhSR0pIMmcwYjNBZ2JrNmhOQU50dGVIRDJHSlV1Y2ZhakNRQnk1T09UUTI1WmdVUHZhVlZRbWJLaDk1MTAvcVFwd1h4M1NRZGZrOHRaSk9kNWI2SkpGcGxUM1pubW1YM3FkNWwxZWc1cTAwSHJ0VWtVbjBBS2FpR2pDbFNBZ0tMWVpjZ1dYd29jR1JjQ0ZHQ0t3U0I2Y2VxcGh3bVlSVUZZVC8xV0tsT2RVcGlwbXhXMG1sQ3FIallrQWFlb1pscXJxWjRxZCt1cFFLYWFwbi9BbWdBZWdaOEtVdFl0RkFRUUFnQWgrUVFGQ2dBYkFDd0hBQVFBemdBTEFBQUYvK0MyUFVjbWlDaVpHVVRyRWtLQmlzOGpRRXF1S3dVNUh5WEliRVBneVg3QllhNXdUTm1FTXdXc1NYc3FGYkVoOERZczltcmdHamRLNkdrUFk1R09lVTZyeXo3VUZvcFNRRXp5Z09HaEpCam9JZ01EQkFjQk0wVi9DWXFMQ1FxRk93b2JpWXlLam4yVGxJNkdLQzJZakpaa25vdWFaQWNRbEpVSGw2ZW9vSndLb29vYnFvZXdySlNFbXlLZHQ1OU5oUktGTXhMRUVBNFJ5TWtNRUFqREVoZkd5Y3FBRzhUUXg5SVJEUkRFM2QzUjJjdEQxUkxnMHR0S0VuYlk1d1pEMyt6SjZNN1gyUkhpOU9ieTd1L3I5ZzM4VUZqVGgyeFpKQkVCTURBYm9vZ0Fnd2tRSTA3SU1VT1J3b2NTSndDZ1dERkJBSXdaT2FKSXNPQmpSb2dLSlA4d1RPRHc1RVNWSFZ0bTNBaHpwRWVRRWxPdU5EbFRaMHljRVVXS1dGQVNxRWFoR3dZVVBibnhvQWdFZGxZU3FEQmtnb1VOQ2xBbElIYlNBb09zcUNSUW5RSHhxMWF4VmIwNkZXRnhMSXF5YXplMFRmdDFKVnF5RStwV1hNRDFwRjZiWWwzK0hUcUFXTlc4Y1JVRnptaWgwWkFBQjJvR0t1a1NBQUdHUkhXSmdMaVI2QXlsQkxwdUhLS1VNbE1DbmdNcERTQWE5UUlVZ2daVlZ2RGFKb2JMZUMzWFpwdmdOZ0NtdFBjdXdQM1dnbVhTcTRkbzBEQzZvMi9ndXpjc2VFQ3RVb08waG1jc0dLRGdPdDdzc0JkMDd3cWVzQUlHWkMxWUlCYTdQUUh2YjErU0ZvKysrSHJKU1FmQjMzeGZhdjNpNWVYM0huYjRDVEpnZWdFcTh0SC9ZUUVPY0lKemJtMkcyRW9ZUkxnQlhGcFZtRllEY1JFVjRISWNubVVoaUdCUm91RU1KR0pHekhJc3BxZ2RYeEsweUNLSFJOWG9JWDR1b3JDZFR5amt5TnRkUFdyQTRVcDgyRWJBYnpNUnh4WlJSNTRXWFZMRElSbVJjYWc1ZDJSNnVnbDNaWHpOaFRlY2NocE1oSUdWQUtBWXBnSmpqc1NrbEJFZDk5bWFab281MzVadmRhbWpCRXB1c0p5Y3RnM2g0WDhYcW9kQk14MHRpTmVnL29HSmFLR0FCcG9nUzQwS1NxaWFFZ0JxbFFXTFV0cW9WUW55dGVrRWp6bzBoSHFoUm9ycHBPWnQycDkyM00yQUFWK29CdHBBbm5QTm9CNkhhVTZtQUFJVStJWG1pM2oybXRGWHVVb0hLd1hwelZyc2pjZ0dPYXVLRWpRcndxMTU3aGl0R3EyTm9XbWpoN3o2V214YjBtNXc2NisyVlJBdVhOL3lGVUFJQUNINUJBVUtBQnNBTEFjQUJBRE9BQXNBQUFYLzRDWnVSaWFNNDVNWnFCZ0lSYnM5QXFUY3VGTEU3VkhMT2g3S0I1RVJkakphRWFVNENsTy9sZ0tXaktLY01pSlE4S2d1bWNpZVZkUU1EOGNiQmV1QWtrQzZMWUxoT3hvUTJQRjVZczlQS1BCTWVuMTdmMENDZzRWU2gzMkpWNHQ4alNOcUVJT0VnSktQbGtZQmxKV1JJbktkaUpka21RbHZLQXNMQnhkQUJBNFJzYklNQmdndEVoY1FzTEt4REJDMlRBUzZ2TEVOZEpMRHhNWkF1YnU4dmpJYnpjUVJ0TXpKejc5UzA4b1FFdC9ndU5peXk3ZmN2TWJoNE9lemRBdkdyYWtMQVF3eUFCc0VMUWtZOUJQKy8vY2t5UERENEo5QmZBTWgxR3NCb0ltTWVRVU4rbE1nVUo5Q2lSTWE1bXN4b0I5R2gvbzhHbXhZTVpYSWd4dFIveVE0NlMvZ1FBVVJSMHBEd1lEZnl3b3lMUGlwNUFkbkN3c01GUEJVNEJQRmhLQkRpNDQ0cXVDbURLWk9md1o5S0VHcENLZ2NOMWpkQUxTcFBxSVlzYWJTK25TcXZxcGx2WXFRWUFlRFBnd0t3amFNdGlEbDBvYXFVQXlvKzNUdVd3VUFNUHBWQ2ZlZTBjRWpWQkdRcTJBQng3b1RXbVFrNEZnbFpNR045ZkdWRE1DdWlIMkFPVk91L1BteXhNNjMwZ3dNMENDbjZxOExqVko4R1h2cGE1VXduOTVPVEMvbk54a2RhMS9kTFNLNDc1SWpDRDZkSGJLMVpPYTRoWFA5RFhzNWNoSjAwVXBWbTV4bzJxUnBveHB0d0YyRTQvSWJKcEIvU0R6OStxOWIxYU5mUUgwOCtwNGE4dXZYOEI1M2ZMUCt5Y0FmZW1qc1JVQmdwMUgyMEsrQmdoSGdWZ3QxR1haWFpwWjVsdDRFQ2p4WVI0U2NVV2lTaEV0WnFCaUlJblJHV25FUk5uamlCZ2x3K0p5R254VW1Hb3dzeWlpWmcxODlsTnRQR0FDalYyK1M5VWpiVTBKV0Y2U1B2RWszUVpFcXNaWVRrM1VBYVJTVW56bkpJNUxtRVNDZEJWU3lhT1dVV0xLNEk1Z0RVWVZlVjFUOWwrRlpDbENBVVZBMDl1U21SSEJDS0FFQ0ZFaFc1MWh0NnJubVdCWGthUitOanVIcEo0MEQzRG1uUVh0MkYraWhaeGxxVktPZlFSQUNBQ0g1QkFVS0FCd0FMQWNBQkFET0FBc0FBQVgvSUNkeVVDa1VvL2c4bVVHOE1DR2tLZ3NwZUM2ajZYRUlFQnBCVWVDTmZFQ2FnbEJjT1ZmSkZLN1lRd1pIUTZKUlpCVXFUclN1VkV1RDNuSTQ1cFlqRnVXS3ZqalNrQ29SYUJVTVd4a3dCR2dKQ1hzcFEzNkJoNEVFQjBvS2hvaUJneU5Mam84S2k0UUVsSWlXZkpxSG5JU05FSStRbDVKOW82U2drcUtrZ3FZaWhhbVBrVzZvTkJnU2ZpTU1EUWtHQ0JMQ3d4SVFEaEhJeVF3UUNHTUt4c25LVnlQQ0Y5RFJFUTNNeE1QWDBjdTR3dDdKMnVIV3g5amxLZDNvMzlNaXVlZllFY3ZOa3VMdDVPOGMxZVBJMnR5RUxYR1F3b0dEQVFmK2lFQzJ4QnlEQ1JBalRsQWdJVVdDQlJnQ1BKUTRBUUJGWEFzMGNvVDQwV0xJalJ4TC80N0FjSExreElvbVJYTDBDSFBFUlprcGE0cTRpVktpeXAwdFIvN2t3SE1rVFVCQkpSNWRPQ0VCQVZjS0t0Q0F5T0hwb3dYQ3BrN2dvQUJxQlpkY3ZXcGxvQUNwQktrcElKSTFxNU9EMnJJV0UwUjF1VFp1MUxGd2JXTDlPbEt1V2I0YzYrbzlpM2RFZ3cwUkNHRFVHOUtsUnc1NmdEWTJxbUNCeVpCYUFTaStUQUNBMFR1Y0FhVHRlQ2N5MFp1T0szTjJ2Smx4NTgrTFJReVkzWG0wWnNnalpnK29QUUxpN2RVY05YaTBMT0p3MXBnTnRCN1hHNkNCeStVNzVTWWZQVFNRQWdaVE5VRG5RSHQ2N3duYlp5dndMZ0tpTU4zb0NaQjNDNzZ0ZGV3cExGZ0lQMkM4OHJiaTRZK1FUMys4UzVVU01JQ1pYV2oxcGtFRGVVVTNsT1lHQjNhbFNvRWlNSWpnWDRXbGdORjJFaWJJd1FJWGF1V1hTUmcyU0FPSElVNUlJSU1vWmtoaFdpSmFpRlZiS282QVFFZ1FYclRBYXpPMUpoa0JyQkczWTJZNkVzVWhhR245NWhwclNOMG9XcEZFN3Joa2VhUUJjaEdPRVdud0VtYzB1S1daajBMZXVOVjNXNFkybFpIRmxRQ1NSalRJbDh1WitrRzVIVS8zc1JsblRHMnl0eWFkeXRuRDNIcm11UmNTbiswaDFkeWNleElLMUtDallhQ25qQ0NWcU9GRkpUWjVHa1VVakVTV2FVSUtVMmxnQ21BS0tRSVVqSGFwWFJLRSt0Mm9nMVZnYW5rTllub2hxS0oyQ21LcGxzbzZHS3o3V1lDZ3F4ZXV5b0Y4dTlJUUFnQTciLG1zZzpudWxsLG1zZ1RleHQ6IjxlbT5Mb2FkaW5nIHRoZSBuZXh0IHNldCBvZiBwb3N0cy4uLjwvZW0+IixzZWxlY3RvcjpudWxsLHNwZWVkOiJmYXN0IixzdGFydDp0fSxzdGF0ZTp7aXNEdXJpbmdBamF4OmZhbHNlLGlzSW52YWxpZFBhZ2U6ZmFsc2UsaXNEZXN0cm95ZWQ6ZmFsc2UsaXNEb25lOmZhbHNlLGlzUGF1c2VkOmZhbHNlLGlzQmV5b25kTWF4UGFnZTpmYWxzZSxjdXJyUGFnZToxfSxkZWJ1ZzpmYWxzZSxiZWhhdmlvcjp0LGJpbmRlcjplKHdpbmRvdyksbmV4dFNlbGVjdG9yOiJkaXYubmF2aWdhdGlvbiBhOmZpcnN0IixuYXZTZWxlY3RvcjoiZGl2Lm5hdmlnYXRpb24iLGNvbnRlbnRTZWxlY3RvcjpudWxsLGV4dHJhU2Nyb2xsUHg6MTUwLGl0ZW1TZWxlY3RvcjoiZGl2LnBvc3QiLGFuaW1hdGU6ZmFsc2UscGF0aFBhcnNlOnQsZGF0YVR5cGU6Imh0bWwiLGFwcGVuZENhbGxiYWNrOnRydWUsYnVmZmVyUHg6NDAsZXJyb3JDYWxsYmFjazpmdW5jdGlvbigpe30saW5maWQ6MCxwaXhlbHNGcm9tTmF2VG9Cb3R0b206dCxwYXRoOnQscHJlZmlsbDpmYWxzZSxtYXhQYWdlOnR9O2UuaW5maW5pdGVzY3JvbGwucHJvdG90eXBlPXtfYmluZGluZzpmdW5jdGlvbihuKXt2YXIgcj10aGlzLGk9ci5vcHRpb25zO2kudj0iMi4wYjIuMTIwNTIwIjtpZighIWkuYmVoYXZpb3ImJnRoaXNbIl9iaW5kaW5nXyIraS5iZWhhdmlvcl0hPT10KXt0aGlzWyJfYmluZGluZ18iK2kuYmVoYXZpb3JdLmNhbGwodGhpcyk7cmV0dXJufWlmKG4hPT0iYmluZCImJm4hPT0idW5iaW5kIil7dGhpcy5fZGVidWcoIkJpbmRpbmcgdmFsdWUgICIrbisiIG5vdCB2YWxpZCIpO3JldHVybiBmYWxzZX1pZihuPT09InVuYmluZCIpe3RoaXMub3B0aW9ucy5iaW5kZXIudW5iaW5kKCJzbWFydHNjcm9sbC5pbmZzY3IuIityLm9wdGlvbnMuaW5maWQpfWVsc2V7dGhpcy5vcHRpb25zLmJpbmRlcltuXSgic21hcnRzY3JvbGwuaW5mc2NyLiIrci5vcHRpb25zLmluZmlkLGZ1bmN0aW9uKCl7ci5zY3JvbGwoKX0pfXRoaXMuX2RlYnVnKCJCaW5kaW5nIixuKX0sX2NyZWF0ZTpmdW5jdGlvbihyLGkpe3ZhciBzPWUuZXh0ZW5kKHRydWUse30sZS5pbmZpbml0ZXNjcm9sbC5kZWZhdWx0cyxyKTt0aGlzLm9wdGlvbnM9czt2YXIgbz1lKHdpbmRvdyk7dmFyIHU9dGhpcztpZighdS5fdmFsaWRhdGUocikpe3JldHVybiBmYWxzZX12YXIgYT1lKHMubmV4dFNlbGVjdG9yKS5hdHRyKCJocmVmIik7aWYoIWEpe3RoaXMuX2RlYnVnKCJOYXZpZ2F0aW9uIHNlbGVjdG9yIG5vdCBmb3VuZCIpO3JldHVybiBmYWxzZX1zLnBhdGg9cy5wYXRofHx0aGlzLl9kZXRlcm1pbmVwYXRoKGEpO3MuY29udGVudFNlbGVjdG9yPXMuY29udGVudFNlbGVjdG9yfHx0aGlzLmVsZW1lbnQ7cy5sb2FkaW5nLnNlbGVjdG9yPXMubG9hZGluZy5zZWxlY3Rvcnx8cy5jb250ZW50U2VsZWN0b3I7cy5sb2FkaW5nLm1zZz1zLmxvYWRpbmcubXNnfHxlKCc8ZGl2IGlkPSJpbmZzY3ItbG9hZGluZyI+PGltZyBhbHQ9IkxvYWRpbmcuLi4iIHNyYz0iJytzLmxvYWRpbmcuaW1nKyciIC8+PGRpdj4nK3MubG9hZGluZy5tc2dUZXh0KyI8L2Rpdj48L2Rpdj4iKTsobmV3IEltYWdlKS5zcmM9cy5sb2FkaW5nLmltZztpZihzLnBpeGVsc0Zyb21OYXZUb0JvdHRvbT09PXQpe3MucGl4ZWxzRnJvbU5hdlRvQm90dG9tPWUoZG9jdW1lbnQpLmhlaWdodCgpLWUocy5uYXZTZWxlY3Rvcikub2Zmc2V0KCkudG9wO3RoaXMuX2RlYnVnKCJwaXhlbHNGcm9tTmF2VG9Cb3R0b206ICIrcy5waXhlbHNGcm9tTmF2VG9Cb3R0b20pfXZhciBmPXRoaXM7cy5sb2FkaW5nLnN0YXJ0PXMubG9hZGluZy5zdGFydHx8ZnVuY3Rpb24oKXtlKHMubmF2U2VsZWN0b3IpLmhpZGUoKTtzLmxvYWRpbmcubXNnLmFwcGVuZFRvKHMubG9hZGluZy5zZWxlY3Rvcikuc2hvdyhzLmxvYWRpbmcuc3BlZWQsZS5wcm94eShmdW5jdGlvbigpe3RoaXMuYmVnaW5BamF4KHMpfSxmKSl9O3MubG9hZGluZy5maW5pc2hlZD1zLmxvYWRpbmcuZmluaXNoZWR8fGZ1bmN0aW9uKCl7aWYoIXMuc3RhdGUuaXNCZXlvbmRNYXhQYWdlKXMubG9hZGluZy5tc2cuZmFkZU91dChzLmxvYWRpbmcuc3BlZWQpfTtzLmNhbGxiYWNrPWZ1bmN0aW9uKG4scix1KXtpZighIXMuYmVoYXZpb3ImJm5bIl9jYWxsYmFja18iK3MuYmVoYXZpb3JdIT09dCl7blsiX2NhbGxiYWNrXyIrcy5iZWhhdmlvcl0uY2FsbChlKHMuY29udGVudFNlbGVjdG9yKVswXSxyLHUpfWlmKGkpe2kuY2FsbChlKHMuY29udGVudFNlbGVjdG9yKVswXSxyLHMsdSl9aWYocy5wcmVmaWxsKXtvLmJpbmQoInJlc2l6ZS5pbmZpbml0ZS1zY3JvbGwiLG4uX3ByZWZpbGwpfX07aWYoci5kZWJ1Zyl7aWYoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJih0eXBlb2YgY29uc29sZT09PSJvYmplY3QifHx0eXBlb2YgY29uc29sZT09PSJmdW5jdGlvbiIpJiZ0eXBlb2YgY29uc29sZS5sb2c9PT0ib2JqZWN0Iil7WyJsb2ciLCJpbmZvIiwid2FybiIsImVycm9yIiwiYXNzZXJ0IiwiZGlyIiwiY2xlYXIiLCJwcm9maWxlIiwicHJvZmlsZUVuZCJdLmZvckVhY2goZnVuY3Rpb24oZSl7Y29uc29sZVtlXT10aGlzLmNhbGwoY29uc29sZVtlXSxjb25zb2xlKX0sRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpfX10aGlzLl9zZXR1cCgpO2lmKHMucHJlZmlsbCl7dGhpcy5fcHJlZmlsbCgpfXJldHVybiB0cnVlfSxfcHJlZmlsbDpmdW5jdGlvbigpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZShuLm9wdGlvbnMuY29udGVudFNlbGVjdG9yKS5oZWlnaHQoKTw9ci5oZWlnaHQoKX12YXIgbj10aGlzO3ZhciByPWUod2luZG93KTt0aGlzLl9wcmVmaWxsPWZ1bmN0aW9uKCl7aWYoaSgpKXtuLnNjcm9sbCgpfXIuYmluZCgicmVzaXplLmluZmluaXRlLXNjcm9sbCIsZnVuY3Rpb24oKXtpZihpKCkpe3IudW5iaW5kKCJyZXNpemUuaW5maW5pdGUtc2Nyb2xsIik7bi5zY3JvbGwoKX19KX07dGhpcy5fcHJlZmlsbCgpfSxfZGVidWc6ZnVuY3Rpb24oKXtpZih0cnVlIT09dGhpcy5vcHRpb25zLmRlYnVnKXtyZXR1cm59aWYodHlwZW9mIGNvbnNvbGUhPT0idW5kZWZpbmVkIiYmdHlwZW9mIGNvbnNvbGUubG9nPT09ImZ1bmN0aW9uIil7aWYoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKS5sZW5ndGg9PT0xJiZ0eXBlb2YgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKVswXT09PSJzdHJpbmciKXtjb25zb2xlLmxvZyhBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLnRvU3RyaW5nKCkpfWVsc2V7Y29uc29sZS5sb2coQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9fWVsc2UgaWYoIUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZ0eXBlb2YgY29uc29sZSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgY29uc29sZS5sb2c9PT0ib2JqZWN0Iil7RnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChjb25zb2xlLmxvZyxjb25zb2xlLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpfX0sX2RldGVybWluZXBhdGg6ZnVuY3Rpb24obil7dmFyIHI9dGhpcy5vcHRpb25zO2lmKCEhci5iZWhhdmlvciYmdGhpc1siX2RldGVybWluZXBhdGhfIityLmJlaGF2aW9yXSE9PXQpe3JldHVybiB0aGlzWyJfZGV0ZXJtaW5lcGF0aF8iK3IuYmVoYXZpb3JdLmNhbGwodGhpcyxuKX1pZighIXIucGF0aFBhcnNlKXt0aGlzLl9kZWJ1ZygicGF0aFBhcnNlIG1hbnVhbCIpO3JldHVybiByLnBhdGhQYXJzZShuLHRoaXMub3B0aW9ucy5zdGF0ZS5jdXJyUGFnZSsxKX1lbHNlIGlmKG4ubWF0Y2goL14oLio/KVxiMlxiKC4qPyQpLykpe249bi5tYXRjaCgvXiguKj8pXGIyXGIoLio/JCkvKS5zbGljZSgxKX1lbHNlIGlmKG4ubWF0Y2goL14oLio/KTIoLio/JCkvKSl7aWYobi5tYXRjaCgvXiguKj9wYWdlPSkyKFwvLip8JCkvKSl7bj1uLm1hdGNoKC9eKC4qP3BhZ2U9KTIoXC8uKnwkKS8pLnNsaWNlKDEpO3JldHVybiBufW49bi5tYXRjaCgvXiguKj8pMiguKj8kKS8pLnNsaWNlKDEpfWVsc2V7aWYobi5tYXRjaCgvXiguKj9wYWdlPSkxKFwvLip8JCkvKSl7bj1uLm1hdGNoKC9eKC4qP3BhZ2U9KTEoXC8uKnwkKS8pLnNsaWNlKDEpO3JldHVybiBufWVsc2V7dGhpcy5fZGVidWcoIlNvcnJ5LCB3ZSBjb3VsZG4ndCBwYXJzZSB5b3VyIE5leHQgKFByZXZpb3VzIFBvc3RzKSBVUkwuIFZlcmlmeSB5b3VyIHRoZSBjc3Mgc2VsZWN0b3IgcG9pbnRzIHRvIHRoZSBjb3JyZWN0IEEgdGFnLiBJZiB5b3Ugc3RpbGwgZ2V0IHRoaXMgZXJyb3I6IHllbGwsIHNjcmVhbSwgYW5kIGtpbmRseSBhc2sgZm9yIGhlbHAgYXQgaW5maW5pdGUtc2Nyb2xsLmNvbS4iKTtyLnN0YXRlLmlzSW52YWxpZFBhZ2U9dHJ1ZX19dGhpcy5fZGVidWcoImRldGVybWluZVBhdGgiLG4pO3JldHVybiBufSxfZXJyb3I6ZnVuY3Rpb24obil7dmFyIHI9dGhpcy5vcHRpb25zO2lmKCEhci5iZWhhdmlvciYmdGhpc1siX2Vycm9yXyIrci5iZWhhdmlvcl0hPT10KXt0aGlzWyJfZXJyb3JfIityLmJlaGF2aW9yXS5jYWxsKHRoaXMsbik7cmV0dXJufWlmKG4hPT0iZGVzdHJveSImJm4hPT0iZW5kIil7bj0idW5rbm93biJ9dGhpcy5fZGVidWcoIkVycm9yIixuKTtpZihuPT09ImVuZCJ8fHIuc3RhdGUuaXNCZXlvbmRNYXhQYWdlKXt0aGlzLl9zaG93ZG9uZW1zZygpfXIuc3RhdGUuaXNEb25lPXRydWU7ci5zdGF0ZS5jdXJyUGFnZT0xO3Iuc3RhdGUuaXNQYXVzZWQ9ZmFsc2U7ci5zdGF0ZS5pc0JleW9uZE1heFBhZ2U9ZmFsc2U7dGhpcy5fYmluZGluZygidW5iaW5kIil9LF9sb2FkY2FsbGJhY2s6ZnVuY3Rpb24ocixpLHMpe3ZhciBvPXRoaXMub3B0aW9ucyx1PXRoaXMub3B0aW9ucy5jYWxsYmFjayxhPW8uc3RhdGUuaXNEb25lPyJkb25lIjohby5hcHBlbmRDYWxsYmFjaz8ibm8tYXBwZW5kIjoiYXBwZW5kIixmO2lmKCEhby5iZWhhdmlvciYmdGhpc1siX2xvYWRjYWxsYmFja18iK28uYmVoYXZpb3JdIT09dCl7dGhpc1siX2xvYWRjYWxsYmFja18iK28uYmVoYXZpb3JdLmNhbGwodGhpcyxyLGkpO3JldHVybn1zd2l0Y2goYSl7Y2FzZSJkb25lIjp0aGlzLl9zaG93ZG9uZW1zZygpO3JldHVybiBmYWxzZTtjYXNlIm5vLWFwcGVuZCI6aWYoby5kYXRhVHlwZT09PSJodG1sIil7aT0iPGRpdj4iK2krIjwvZGl2PiI7aT1lKGkpLmZpbmQoby5pdGVtU2VsZWN0b3IpfWlmKGkubGVuZ3RoPT09MCl7cmV0dXJuIHRoaXMuX2Vycm9yKCJlbmQiKX1icmVhaztjYXNlImFwcGVuZCI6dmFyIGw9ci5jaGlsZHJlbigpO2lmKGwubGVuZ3RoPT09MCl7cmV0dXJuIHRoaXMuX2Vycm9yKCJlbmQiKX1mPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTt3aGlsZShyWzBdLmZpcnN0Q2hpbGQpe2YuYXBwZW5kQ2hpbGQoclswXS5maXJzdENoaWxkKX10aGlzLl9kZWJ1ZygiY29udGVudFNlbGVjdG9yIixlKG8uY29udGVudFNlbGVjdG9yKVswXSk7ZShvLmNvbnRlbnRTZWxlY3RvcilbMF0uYXBwZW5kQ2hpbGQoZik7aT1sLmdldCgpO2JyZWFrfW8ubG9hZGluZy5maW5pc2hlZC5jYWxsKGUoby5jb250ZW50U2VsZWN0b3IpWzBdLG8pO2lmKG8uYW5pbWF0ZSl7dmFyIGM9ZSh3aW5kb3cpLnNjcm9sbFRvcCgpK2Uoby5sb2FkaW5nLm1zZykuaGVpZ2h0KCkrby5leHRyYVNjcm9sbFB4KyJweCI7ZSgiaHRtbCxib2R5IikuYW5pbWF0ZSh7c2Nyb2xsVG9wOmN9LDgwMCxmdW5jdGlvbigpe28uc3RhdGUuaXNEdXJpbmdBamF4PWZhbHNlfSl9aWYoIW8uYW5pbWF0ZSl7by5zdGF0ZS5pc0R1cmluZ0FqYXg9ZmFsc2V9dSh0aGlzLGkscyk7aWYoby5wcmVmaWxsKXt0aGlzLl9wcmVmaWxsKCl9fSxfbmVhcmJvdHRvbTpmdW5jdGlvbigpe3ZhciByPXRoaXMub3B0aW9ucyxpPTArZShkb2N1bWVudCkuaGVpZ2h0KCktci5iaW5kZXIuc2Nyb2xsVG9wKCktZSh3aW5kb3cpLmhlaWdodCgpO2lmKCEhci5iZWhhdmlvciYmdGhpc1siX25lYXJib3R0b21fIityLmJlaGF2aW9yXSE9PXQpe3JldHVybiB0aGlzWyJfbmVhcmJvdHRvbV8iK3IuYmVoYXZpb3JdLmNhbGwodGhpcyl9dGhpcy5fZGVidWcoIm1hdGg6IixpLHIucGl4ZWxzRnJvbU5hdlRvQm90dG9tKTtyZXR1cm4gaS1yLmJ1ZmZlclB4PHIucGl4ZWxzRnJvbU5hdlRvQm90dG9tfSxfcGF1c2luZzpmdW5jdGlvbihuKXt2YXIgcj10aGlzLm9wdGlvbnM7aWYoISFyLmJlaGF2aW9yJiZ0aGlzWyJfcGF1c2luZ18iK3IuYmVoYXZpb3JdIT09dCl7dGhpc1siX3BhdXNpbmdfIityLmJlaGF2aW9yXS5jYWxsKHRoaXMsbik7cmV0dXJufWlmKG4hPT0icGF1c2UiJiZuIT09InJlc3VtZSImJm4hPT1udWxsKXt0aGlzLl9kZWJ1ZygiSW52YWxpZCBhcmd1bWVudC4gVG9nZ2xpbmcgcGF1c2UgdmFsdWUgaW5zdGVhZCIpfW49biYmKG49PT0icGF1c2UifHxuPT09InJlc3VtZSIpP246InRvZ2dsZSI7c3dpdGNoKG4pe2Nhc2UicGF1c2UiOnIuc3RhdGUuaXNQYXVzZWQ9dHJ1ZTticmVhaztjYXNlInJlc3VtZSI6ci5zdGF0ZS5pc1BhdXNlZD1mYWxzZTticmVhaztjYXNlInRvZ2dsZSI6ci5zdGF0ZS5pc1BhdXNlZD0hci5zdGF0ZS5pc1BhdXNlZDticmVha310aGlzLl9kZWJ1ZygiUGF1c2VkIixyLnN0YXRlLmlzUGF1c2VkKTtyZXR1cm4gZmFsc2V9LF9zZXR1cDpmdW5jdGlvbigpe3ZhciBuPXRoaXMub3B0aW9ucztpZighIW4uYmVoYXZpb3ImJnRoaXNbIl9zZXR1cF8iK24uYmVoYXZpb3JdIT09dCl7dGhpc1siX3NldHVwXyIrbi5iZWhhdmlvcl0uY2FsbCh0aGlzKTtyZXR1cm59dGhpcy5fYmluZGluZygiYmluZCIpO3JldHVybiBmYWxzZX0sX3Nob3dkb25lbXNnOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vcHRpb25zO2lmKCEhci5iZWhhdmlvciYmdGhpc1siX3Nob3dkb25lbXNnXyIrci5iZWhhdmlvcl0hPT10KXt0aGlzWyJfc2hvd2RvbmVtc2dfIityLmJlaGF2aW9yXS5jYWxsKHRoaXMpO3JldHVybn1yLmxvYWRpbmcubXNnLmZpbmQoImltZyIpLmhpZGUoKS5wYXJlbnQoKS5maW5kKCJkaXYiKS5odG1sKHIubG9hZGluZy5maW5pc2hlZE1zZykuYW5pbWF0ZSh7b3BhY2l0eToxfSwyZTMsZnVuY3Rpb24oKXtlKHRoaXMpLnBhcmVudCgpLmZhZGVPdXQoci5sb2FkaW5nLnNwZWVkKX0pO3IuZXJyb3JDYWxsYmFjay5jYWxsKGUoci5jb250ZW50U2VsZWN0b3IpWzBdLCJkb25lIil9LF92YWxpZGF0ZTpmdW5jdGlvbihuKXtmb3IodmFyIHIgaW4gbil7aWYoci5pbmRleE9mJiZyLmluZGV4T2YoIlNlbGVjdG9yIik+LTEmJmUobltyXSkubGVuZ3RoPT09MCl7dGhpcy5fZGVidWcoIllvdXIgIityKyIgZm91bmQgbm8gZWxlbWVudHMuIik7cmV0dXJuIGZhbHNlfX1yZXR1cm4gdHJ1ZX0sYmluZDpmdW5jdGlvbigpe3RoaXMuX2JpbmRpbmcoImJpbmQiKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGF0ZS5pc0Rlc3Ryb3llZD10cnVlO3RoaXMub3B0aW9ucy5sb2FkaW5nLmZpbmlzaGVkKCk7cmV0dXJuIHRoaXMuX2Vycm9yKCJkZXN0cm95Iil9LHBhdXNlOmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2luZygicGF1c2UiKX0scmVzdW1lOmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2luZygicmVzdW1lIil9LGJlZ2luQWpheDpmdW5jdGlvbihyKXt2YXIgaT10aGlzLHM9ci5wYXRoLG8sdSxhLGY7ci5zdGF0ZS5jdXJyUGFnZSsrO2lmKHIubWF4UGFnZSE9PXQmJnIuc3RhdGUuY3VyclBhZ2U+ci5tYXhQYWdlKXtyLnN0YXRlLmlzQmV5b25kTWF4UGFnZT10cnVlO3RoaXMuZGVzdHJveSgpO3JldHVybn1vPWUoci5jb250ZW50U2VsZWN0b3IpLmlzKCJ0YWJsZSwgdGJvZHkiKT9lKCI8dGJvZHkvPiIpOmUoIjxkaXYvPiIpO3U9dHlwZW9mIHM9PT0iZnVuY3Rpb24iP3Moci5zdGF0ZS5jdXJyUGFnZSk6cy5qb2luKHIuc3RhdGUuY3VyclBhZ2UpO2kuX2RlYnVnKCJoZWFkaW5nIGludG8gYWpheCIsdSk7YT1yLmRhdGFUeXBlPT09Imh0bWwifHxyLmRhdGFUeXBlPT09Impzb24iP3IuZGF0YVR5cGU6Imh0bWwrY2FsbGJhY2siO2lmKHIuYXBwZW5kQ2FsbGJhY2smJnIuZGF0YVR5cGU9PT0iaHRtbCIpe2ErPSIrY2FsbGJhY2sifXN3aXRjaChhKXtjYXNlImh0bWwrY2FsbGJhY2siOmkuX2RlYnVnKCJVc2luZyBIVE1MIHZpYSAubG9hZCgpIG1ldGhvZCIpO28ubG9hZCh1KyIgIityLml0ZW1TZWxlY3Rvcix0LGZ1bmN0aW9uKHQpe2kuX2xvYWRjYWxsYmFjayhvLHQsdSl9KTticmVhaztjYXNlImh0bWwiOmkuX2RlYnVnKCJVc2luZyAiK2EudG9VcHBlckNhc2UoKSsiIHZpYSAkLmFqYXgoKSBtZXRob2QiKTtlLmFqYXgoe3VybDp1LGRhdGFUeXBlOnIuZGF0YVR5cGUsY29tcGxldGU6ZnVuY3Rpb24odCxuKXtmPXR5cGVvZiB0LmlzUmVzb2x2ZWQhPT0idW5kZWZpbmVkIj90LmlzUmVzb2x2ZWQoKTpuPT09InN1Y2Nlc3MifHxuPT09Im5vdG1vZGlmaWVkIjtpZihmKXtpLl9sb2FkY2FsbGJhY2sobyx0LnJlc3BvbnNlVGV4dCx1KX1lbHNle2kuX2Vycm9yKCJlbmQiKX19fSk7YnJlYWs7Y2FzZSJqc29uIjppLl9kZWJ1ZygiVXNpbmcgIithLnRvVXBwZXJDYXNlKCkrIiB2aWEgJC5hamF4KCkgbWV0aG9kIik7ZS5hamF4KHtkYXRhVHlwZToianNvbiIsdHlwZToiR0VUIix1cmw6dSxzdWNjZXNzOmZ1bmN0aW9uKGUsbixzKXtmPXR5cGVvZiBzLmlzUmVzb2x2ZWQhPT0idW5kZWZpbmVkIj9zLmlzUmVzb2x2ZWQoKTpuPT09InN1Y2Nlc3MifHxuPT09Im5vdG1vZGlmaWVkIjtpZihyLmFwcGVuZENhbGxiYWNrKXtpZihyLnRlbXBsYXRlIT09dCl7dmFyIGE9ci50ZW1wbGF0ZShlKTtvLmFwcGVuZChhKTtpZihmKXtpLl9sb2FkY2FsbGJhY2sobyxhKX1lbHNle2kuX2Vycm9yKCJlbmQiKX19ZWxzZXtpLl9kZWJ1ZygidGVtcGxhdGUgbXVzdCBiZSBkZWZpbmVkLiIpO2kuX2Vycm9yKCJlbmQiKX19ZWxzZXtpZihmKXtpLl9sb2FkY2FsbGJhY2sobyxlLHUpfWVsc2V7aS5fZXJyb3IoImVuZCIpfX19LGVycm9yOmZ1bmN0aW9uKCl7aS5fZGVidWcoIkpTT04gYWpheCByZXF1ZXN0IGZhaWxlZC4iKTtpLl9lcnJvcigiZW5kIil9fSk7YnJlYWt9fSxyZXRyaWV2ZTpmdW5jdGlvbihyKXtyPXJ8fG51bGw7dmFyIGk9dGhpcyxzPWkub3B0aW9ucztpZighIXMuYmVoYXZpb3ImJnRoaXNbInJldHJpZXZlXyIrcy5iZWhhdmlvcl0hPT10KXt0aGlzWyJyZXRyaWV2ZV8iK3MuYmVoYXZpb3JdLmNhbGwodGhpcyxyKTtyZXR1cm59aWYocy5zdGF0ZS5pc0Rlc3Ryb3llZCl7dGhpcy5fZGVidWcoIkluc3RhbmNlIGlzIGRlc3Ryb3llZCIpO3JldHVybiBmYWxzZX1zLnN0YXRlLmlzRHVyaW5nQWpheD10cnVlO3MubG9hZGluZy5zdGFydC5jYWxsKGUocy5jb250ZW50U2VsZWN0b3IpWzBdLHMpfSxzY3JvbGw6ZnVuY3Rpb24oKXt2YXIgbj10aGlzLm9wdGlvbnMscj1uLnN0YXRlO2lmKCEhbi5iZWhhdmlvciYmdGhpc1sic2Nyb2xsXyIrbi5iZWhhdmlvcl0hPT10KXt0aGlzWyJzY3JvbGxfIituLmJlaGF2aW9yXS5jYWxsKHRoaXMpO3JldHVybn1pZihyLmlzRHVyaW5nQWpheHx8ci5pc0ludmFsaWRQYWdlfHxyLmlzRG9uZXx8ci5pc0Rlc3Ryb3llZHx8ci5pc1BhdXNlZCl7cmV0dXJufWlmKCF0aGlzLl9uZWFyYm90dG9tKCkpe3JldHVybn10aGlzLnJldHJpZXZlKCl9LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMuX3BhdXNpbmcoKX0sdW5iaW5kOmZ1bmN0aW9uKCl7dGhpcy5fYmluZGluZygidW5iaW5kIil9LHVwZGF0ZTpmdW5jdGlvbihuKXtpZihlLmlzUGxhaW5PYmplY3Qobikpe3RoaXMub3B0aW9ucz1lLmV4dGVuZCh0cnVlLHRoaXMub3B0aW9ucyxuKX19fTtlLmZuLmluZmluaXRlc2Nyb2xsPWZ1bmN0aW9uKG4scil7dmFyIGk9dHlwZW9mIG47c3dpdGNoKGkpe2Nhc2Uic3RyaW5nIjp2YXIgcz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZS5kYXRhKHRoaXMsImluZmluaXRlc2Nyb2xsIik7aWYoIXQpe3JldHVybiBmYWxzZX1pZighZS5pc0Z1bmN0aW9uKHRbbl0pfHxuLmNoYXJBdCgwKT09PSJfIil7cmV0dXJuIGZhbHNlfXRbbl0uYXBwbHkodCxzKX0pO2JyZWFrO2Nhc2Uib2JqZWN0Ijp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lLmRhdGEodGhpcywiaW5maW5pdGVzY3JvbGwiKTtpZih0KXt0LnVwZGF0ZShuKX1lbHNle3Q9bmV3IGUuaW5maW5pdGVzY3JvbGwobixyLHRoaXMpO2lmKCF0LmZhaWxlZCl7ZS5kYXRhKHRoaXMsImluZmluaXRlc2Nyb2xsIix0KX19fSk7YnJlYWt9cmV0dXJuIHRoaXN9O3ZhciBuPWUuZXZlbnQscjtuLnNwZWNpYWwuc21hcnRzY3JvbGw9e3NldHVwOmZ1bmN0aW9uKCl7ZSh0aGlzKS5iaW5kKCJzY3JvbGwiLG4uc3BlY2lhbC5zbWFydHNjcm9sbC5oYW5kbGVyKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtlKHRoaXMpLnVuYmluZCgic2Nyb2xsIixuLnNwZWNpYWwuc21hcnRzY3JvbGwuaGFuZGxlcil9LGhhbmRsZXI6ZnVuY3Rpb24odCxuKXt2YXIgaT10aGlzLHM9YXJndW1lbnRzO3QudHlwZT0ic21hcnRzY3JvbGwiO2lmKHIpe2NsZWFyVGltZW91dChyKX1yPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKGkpLnRyaWdnZXIoInNtYXJ0c2Nyb2xsIixzKX0sbj09PSJleGVjQXNhcCI/MDoxMDApfX07ZS5mbi5zbWFydHNjcm9sbD1mdW5jdGlvbihlKXtyZXR1cm4gZT90aGlzLmJpbmQoInNtYXJ0c2Nyb2xsIixlKTp0aGlzLnRyaWdnZXIoInNtYXJ0c2Nyb2xsIixbImV4ZWNBc2FwIl0pfX0pOw0KDQovKg0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJSW5maW5pdGUgU2Nyb2xsIEJlaGF2aW9yDQoJTWFudWFsIC8gVHdpdHRlci1zdHlsZQ0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJDQoqLw0KJC5leHRlbmQoJC5pbmZpbml0ZXNjcm9sbC5wcm90b3R5cGUse19zZXR1cF90d2l0dGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dGhpczskKHQubmV4dFNlbGVjdG9yKS5jbGljayhmdW5jdGlvbih0KXsxIT10LndoaWNofHx0Lm1ldGFLZXl8fHQuc2hpZnRLZXl8fCh0LnByZXZlbnREZWZhdWx0KCksZS5yZXRyaWV2ZSgpKX0pLGUub3B0aW9ucy5sb2FkaW5nLnN0YXJ0PWZ1bmN0aW9uKHQpe3QubG9hZGluZy5tc2cuYXBwZW5kVG8odC5sb2FkaW5nLnNlbGVjdG9yKS5zaG93KHQubG9hZGluZy5zcGVlZCxmdW5jdGlvbigpe2UuYmVnaW5BamF4KHQpfSl9fSxfc2hvd2RvbmVtc2dfdHdpdHRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9uczt0LmxvYWRpbmcubXNnLmZpbmQoImltZyIpLmhpZGUoKS5wYXJlbnQoKS5maW5kKCJkaXYiKS5odG1sKHQubG9hZGluZy5maW5pc2hlZE1zZykuYW5pbWF0ZSh7b3BhY2l0eToxfSwyZTMsZnVuY3Rpb24oKXskKHRoaXMpLnBhcmVudCgpLmZhZGVPdXQoIm5vcm1hbCIpfSksJCh0Lm5hdlNlbGVjdG9yKS5mYWRlT3V0KCJub3JtYWwiKSx0LmVycm9yQ2FsbGJhY2suY2FsbCgkKHQuY29udGVudFNlbGVjdG9yKVswXSwiZG9uZSIpfX0pOw0KDQoNCi8qDQogKiAgalF1ZXJ5IFBhZ2luYXRpb24gUGx1Z2luDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCg0KLyoNClBhamluYXRlIC0galF1ZXJ5IFBhZ2luYXRpb24gUGx1Z2luDQpBdXRob3I6ICAgIFdlc2xleSBOb2x0ZQ0KKi8NCjsoZnVuY3Rpb24oJCl7JC5mbi5wYWppbmF0ZT1mdW5jdGlvbihvcHRpb25zKXt2YXIgY3VycmVudF9wYWdlPSJjdXJyZW50X3BhZ2UiO3ZhciBpdGVtc19wZXJfcGFnZT0iaXRlbXNfcGVyX3BhZ2UiO3ZhciBtZXRhO3ZhciBkZWZhdWx0cz17aXRlbV9jb250YWluZXJfaWQ6Ii5jb250ZW50IixpdGVtc19wZXJfcGFnZToxMCxuYXZfcGFuZWxfaWQ6Ii5wYWdlX25hdmlnYXRpb24iLG5hdl9pbmZvX2lkOiIuaW5mb190ZXh0IixudW1fcGFnZV9saW5rc190b19kaXNwbGF5OjIwLHN0YXJ0X3BhZ2U6MCx3cmFwX2Fyb3VuZDpmYWxzZSxuYXZfbGFiZWxfZmlyc3Q6IkZpcnN0IixuYXZfbGFiZWxfcHJldjoiUHJldiIsbmF2X2xhYmVsX25leHQ6Ik5leHQiLG5hdl9sYWJlbF9sYXN0OiJMYXN0IixuYXZfb3JkZXI6WyJmaXJzdCIsInByZXYiLCJudW0iLCJuZXh0IiwibGFzdCJdLG5hdl9sYWJlbF9pbmZvOiJTaG93aW5nIHswfS17MX0gb2YgezJ9IHJlc3VsdHMiLHNob3dfZmlyc3RfbGFzdDp0cnVlLGFib3J0X29uX3NtYWxsX2xpc3RzOmZhbHNlLGpxdWVyeV91aTpmYWxzZSxqcXVlcnlfdWlfYWN0aXZlOiJ1aS1zdGF0ZS1oaWdobGlnaHQiLGpxdWVyeV91aV9kZWZhdWx0OiJ1aS1zdGF0ZS1kZWZhdWx0IixqcXVlcnlfdWlfZGlzYWJsZWQ6InVpLXN0YXRlLWRpc2FibGVkIn07dmFyIG9wdGlvbnM9JC5leHRlbmQoZGVmYXVsdHMsb3B0aW9ucyk7dmFyICRpdGVtX2NvbnRhaW5lcjt2YXIgJHBhZ2VfY29udGFpbmVyO3ZhciAkaXRlbXM7dmFyICRuYXZfcGFuZWxzO3ZhciB0b3RhbF9wYWdlX25vX2xpbmtzO3ZhciBqcXVlcnlfdWlfZGVmYXVsdF9jbGFzcz1vcHRpb25zLmpxdWVyeV91aT9vcHRpb25zLmpxdWVyeV91aV9kZWZhdWx0OiIiO3ZhciBqcXVlcnlfdWlfYWN0aXZlX2NsYXNzPW9wdGlvbnMuanF1ZXJ5X3VpP29wdGlvbnMuanF1ZXJ5X3VpX2FjdGl2ZToiIjt2YXIganF1ZXJ5X3VpX2Rpc2FibGVkX2NsYXNzPW9wdGlvbnMuanF1ZXJ5X3VpP29wdGlvbnMuanF1ZXJ5X3VpX2Rpc2FibGVkOiIiO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXskcGFnZV9jb250YWluZXI9JCh0aGlzKTskaXRlbV9jb250YWluZXI9JCh0aGlzKS5maW5kKG9wdGlvbnMuaXRlbV9jb250YWluZXJfaWQpOyRpdGVtcz0kcGFnZV9jb250YWluZXIuZmluZChvcHRpb25zLml0ZW1fY29udGFpbmVyX2lkKS5jaGlsZHJlbigpO2lmKG9wdGlvbnMuYWJvcnRfb25fc21hbGxfbGlzdHMmJm9wdGlvbnMuaXRlbXNfcGVyX3BhZ2U+PSRpdGVtcy5zaXplKCkpe3JldHVybiAkcGFnZV9jb250YWluZXJ9bWV0YT0kcGFnZV9jb250YWluZXI7bWV0YS5kYXRhKGN1cnJlbnRfcGFnZSwwKTttZXRhLmRhdGEoaXRlbXNfcGVyX3BhZ2Usb3B0aW9ucy5pdGVtc19wZXJfcGFnZSk7dmFyIHRvdGFsX2l0ZW1zPSRpdGVtX2NvbnRhaW5lci5jaGlsZHJlbigpLnNpemUoKTt2YXIgbnVtYmVyX29mX3BhZ2VzPU1hdGguY2VpbCh0b3RhbF9pdGVtcy9vcHRpb25zLml0ZW1zX3Blcl9wYWdlKTt2YXIgbW9yZT0nPGxpIGNsYXNzPSJkaXNhYmxlZCBlbGxpcHNlIG1vcmUiPjxzcGFuPi4uLjwvc3Bhbj48L2xpPic7dmFyIGxlc3M9JzxsaSBjbGFzcz0iZGlzYWJsZWQgZWxsaXBzZSBsZXNzIj48c3Bhbj4uLi48L3NwYW4+PC9saT4nO3ZhciBmaXJzdD0hb3B0aW9ucy5zaG93X2ZpcnN0X2xhc3Q/IiI6JzxsaSBjbGFzcz0iZmlyc3RfbGluayAnK2pxdWVyeV91aV9kZWZhdWx0X2NsYXNzKyciPjxhIGhyZWY9IiMiPicrb3B0aW9ucy5uYXZfbGFiZWxfZmlyc3QrIjwvYT48L2xpPiI7dmFyIGxhc3Q9IW9wdGlvbnMuc2hvd19maXJzdF9sYXN0PyIiOic8bGkgY2xhc3M9Imxhc3RfbGluayAnK2pxdWVyeV91aV9kZWZhdWx0X2NsYXNzKyciPjxhIGhyZWY9IiMiPicrb3B0aW9ucy5uYXZfbGFiZWxfbGFzdCsiPC9hPjwvbGk+Ijt2YXIgbmF2aWdhdGlvbl9odG1sPSIiO2Zvcih2YXIgaT0wO2k8b3B0aW9ucy5uYXZfb3JkZXIubGVuZ3RoO2krKyl7c3dpdGNoKG9wdGlvbnMubmF2X29yZGVyW2ldKXtjYXNlImZpcnN0IjpuYXZpZ2F0aW9uX2h0bWwrPWZpcnN0O2JyZWFrO2Nhc2UibGFzdCI6bmF2aWdhdGlvbl9odG1sKz1sYXN0O2JyZWFrO2Nhc2UibmV4dCI6bmF2aWdhdGlvbl9odG1sKz0nPGxpIGNsYXNzPSJuZXh0X2xpbmsgJytqcXVlcnlfdWlfZGVmYXVsdF9jbGFzcysnIj48YSBocmVmPSIjIj4nK29wdGlvbnMubmF2X2xhYmVsX25leHQrIjwvYT48L2xpPiI7YnJlYWs7Y2FzZSJwcmV2IjpuYXZpZ2F0aW9uX2h0bWwrPSc8bGkgY2xhc3M9InByZXZpb3VzX2xpbmsgJytqcXVlcnlfdWlfZGVmYXVsdF9jbGFzcysnIj48YSBocmVmPSIjIj4nK29wdGlvbnMubmF2X2xhYmVsX3ByZXYrIjwvYT48L2xpPiI7YnJlYWs7Y2FzZSJudW0iOm5hdmlnYXRpb25faHRtbCs9bGVzczt2YXIgY3VycmVudF9saW5rPTA7d2hpbGUobnVtYmVyX29mX3BhZ2VzPmN1cnJlbnRfbGluayl7bmF2aWdhdGlvbl9odG1sKz0nPGxpIGNsYXNzPSJwYWdlX2xpbmsgJytqcXVlcnlfdWlfZGVmYXVsdF9jbGFzcysnIiBsb25nZGVzYz0iJytjdXJyZW50X2xpbmsrJyI+PGEgaHJlZj0iIyI+JysoY3VycmVudF9saW5rKzEpKyI8L2E+PC9saT4iO2N1cnJlbnRfbGluaysrfW5hdmlnYXRpb25faHRtbCs9bW9yZTticmVhaztkZWZhdWx0OmJyZWFrfX0kbmF2X3BhbmVscz0kcGFnZV9jb250YWluZXIuZmluZChvcHRpb25zLm5hdl9wYW5lbF9pZCk7JG5hdl9wYW5lbHMuaHRtbChuYXZpZ2F0aW9uX2h0bWwpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmZpbmQoIi5wYWdlX2xpbms6Zmlyc3QiKS5hZGRDbGFzcygiZmlyc3QiKTskKHRoaXMpLmZpbmQoIi5wYWdlX2xpbms6bGFzdCIpLmFkZENsYXNzKCJsYXN0Iil9KTskbmF2X3BhbmVscy5jaGlsZHJlbigiLmVsbGlwc2UiKS5oaWRlKCk7JG5hdl9wYW5lbHMuZmluZCgiLnByZXZpb3VzX2xpbmsiKS5uZXh0KCkubmV4dCgpLmFkZENsYXNzKCJhY3RpdmUgIitqcXVlcnlfdWlfYWN0aXZlX2NsYXNzKTskaXRlbXMuaGlkZSgpOyRpdGVtcy5zbGljZSgwLG1ldGEuZGF0YShpdGVtc19wZXJfcGFnZSkpLnNob3coKTt0b3RhbF9wYWdlX25vX2xpbmtzPSRwYWdlX2NvbnRhaW5lci5maW5kKG9wdGlvbnMubmF2X3BhbmVsX2lkKyI6Zmlyc3QiKS5jaGlsZHJlbigiLnBhZ2VfbGluayIpLnNpemUoKTtvcHRpb25zLm51bV9wYWdlX2xpbmtzX3RvX2Rpc3BsYXk9TWF0aC5taW4ob3B0aW9ucy5udW1fcGFnZV9saW5rc190b19kaXNwbGF5LHRvdGFsX3BhZ2Vfbm9fbGlua3MpOyRuYXZfcGFuZWxzLmNoaWxkcmVuKCIucGFnZV9saW5rIikuaGlkZSgpOyRuYXZfcGFuZWxzLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmNoaWxkcmVuKCIucGFnZV9saW5rIikuc2xpY2UoMCxvcHRpb25zLm51bV9wYWdlX2xpbmtzX3RvX2Rpc3BsYXkpLnNob3coKX0pOyRwYWdlX2NvbnRhaW5lci5maW5kKCIuZmlyc3RfbGluayIpLmNsaWNrKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTttb3ZlUGFnZU51bWJlcnNSaWdodCgkKHRoaXMpLDApO2dvdG9wYWdlKDApfSk7JHBhZ2VfY29udGFpbmVyLmZpbmQoIi5sYXN0X2xpbmsiKS5jbGljayhmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIGxhc3RQYWdlPXRvdGFsX3BhZ2Vfbm9fbGlua3MtMTttb3ZlUGFnZU51bWJlcnNMZWZ0KCQodGhpcyksbGFzdFBhZ2UpO2dvdG9wYWdlKGxhc3RQYWdlKX0pOyRwYWdlX2NvbnRhaW5lci5maW5kKCIucHJldmlvdXNfbGluayIpLmNsaWNrKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtzaG93UHJldlBhZ2UoJCh0aGlzKSl9KTskcGFnZV9jb250YWluZXIuZmluZCgiLm5leHRfbGluayIpLmNsaWNrKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtzaG93TmV4dFBhZ2UoJCh0aGlzKSl9KTskcGFnZV9jb250YWluZXIuZmluZCgiLnBhZ2VfbGluayIpLmNsaWNrKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtnb3RvcGFnZSgkKHRoaXMpLmF0dHIoImxvbmdkZXNjIikpfSk7Z290b3BhZ2UocGFyc2VJbnQob3B0aW9ucy5zdGFydF9wYWdlKSk7dG9nZ2xlTW9yZUxlc3MoKTtpZighb3B0aW9ucy53cmFwX2Fyb3VuZCl7dGFnTmV4dFByZXYoKX19KTtmdW5jdGlvbiBzaG93UHJldlBhZ2UoZSl7bmV3X3BhZ2U9cGFyc2VJbnQobWV0YS5kYXRhKGN1cnJlbnRfcGFnZSkpLTE7aWYoJChlKS5zaWJsaW5ncygiLmFjdGl2ZSIpLnByZXYoIi5wYWdlX2xpbmsiKS5sZW5ndGg9PXRydWUpe21vdmVQYWdlTnVtYmVyc1JpZ2h0KGUsbmV3X3BhZ2UpO2dvdG9wYWdlKG5ld19wYWdlKX1lbHNle2lmKG9wdGlvbnMud3JhcF9hcm91bmQpe2dvdG9wYWdlKHRvdGFsX3BhZ2Vfbm9fbGlua3MtMSl9fX1mdW5jdGlvbiBzaG93TmV4dFBhZ2UoZSl7bmV3X3BhZ2U9cGFyc2VJbnQobWV0YS5kYXRhKGN1cnJlbnRfcGFnZSkpKzE7aWYoJChlKS5zaWJsaW5ncygiLmFjdGl2ZSIpLm5leHQoIi5wYWdlX2xpbmsiKS5sZW5ndGg9PXRydWUpe21vdmVQYWdlTnVtYmVyc0xlZnQoZSxuZXdfcGFnZSk7Z290b3BhZ2UobmV3X3BhZ2UpfWVsc2V7aWYob3B0aW9ucy53cmFwX2Fyb3VuZCl7Z290b3BhZ2UoMCl9fX1mdW5jdGlvbiBnb3RvcGFnZShwYWdlX251bSl7cGFnZV9udW09cGFyc2VJbnQocGFnZV9udW0sMTApO3ZhciBpcHA9cGFyc2VJbnQobWV0YS5kYXRhKGl0ZW1zX3Blcl9wYWdlKSk7c3RhcnRfZnJvbT1wYWdlX251bSppcHA7ZW5kX29uPXN0YXJ0X2Zyb20raXBwO3ZhciBpdGVtcz0kaXRlbXMuaGlkZSgpLnNsaWNlKHN0YXJ0X2Zyb20sZW5kX29uKTtpdGVtcy5mYWRlSW4oNzAwKTskcGFnZV9jb250YWluZXIuZmluZChvcHRpb25zLm5hdl9wYW5lbF9pZCkuY2hpbGRyZW4oIi5wYWdlX2xpbmtbbG9uZ2Rlc2M9IitwYWdlX251bSsiXSIpLmFkZENsYXNzKCJhY3RpdmUgIitqcXVlcnlfdWlfYWN0aXZlX2NsYXNzKS5zaWJsaW5ncygiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUgIitqcXVlcnlfdWlfYWN0aXZlX2NsYXNzKTttZXRhLmRhdGEoY3VycmVudF9wYWdlLHBhZ2VfbnVtKTt2YXIgJGN1cnJlbnRfcGFnZT1wYXJzZUludChtZXRhLmRhdGEoY3VycmVudF9wYWdlKSsxKTt2YXIgdG90YWxfaXRlbXM9JGl0ZW1fY29udGFpbmVyLmNoaWxkcmVuKCkuc2l6ZSgpO3ZhciAkbnVtYmVyX29mX3BhZ2VzPU1hdGguY2VpbCh0b3RhbF9pdGVtcy9vcHRpb25zLml0ZW1zX3Blcl9wYWdlKTskcGFnZV9jb250YWluZXIuZmluZChvcHRpb25zLm5hdl9pbmZvX2lkKS5odG1sKG9wdGlvbnMubmF2X2xhYmVsX2luZm8ucmVwbGFjZSgiezB9IixzdGFydF9mcm9tKzEpLnJlcGxhY2UoInsxfSIsc3RhcnRfZnJvbStpdGVtcy5sZW5ndGgpLnJlcGxhY2UoInsyfSIsJGl0ZW1zLmxlbmd0aCkucmVwbGFjZSgiezN9IiwkY3VycmVudF9wYWdlKS5yZXBsYWNlKCJ7NH0iLCRudW1iZXJfb2ZfcGFnZXMpKTt0b2dnbGVNb3JlTGVzcygpO3RhZ05leHRQcmV2KCk7aWYodHlwZW9mKG9wdGlvbnMub25QYWdlRGlzcGxheWVkKSE9PSJ1bmRlZmluZWQiKXtvcHRpb25zLm9uUGFnZURpc3BsYXllZC5jYWxsKHRoaXMscGFnZV9udW0rMSl9fWZ1bmN0aW9uIG1vdmVQYWdlTnVtYmVyc0xlZnQoZSxuZXdfcCl7dmFyIG5ld19wYWdlPW5ld19wO3ZhciAkY3VycmVudF9hY3RpdmVfbGluaz0kKGUpLnNpYmxpbmdzKCIuYWN0aXZlIik7aWYoJGN1cnJlbnRfYWN0aXZlX2xpbmsuc2libGluZ3MoIi5wYWdlX2xpbmtbbG9uZ2Rlc2M9IituZXdfcGFnZSsiXSIpLmNzcygiZGlzcGxheSIpPT0ibm9uZSIpeyRuYXZfcGFuZWxzLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmNoaWxkcmVuKCIucGFnZV9saW5rIikuaGlkZSgpLnNsaWNlKHBhcnNlSW50KG5ld19wYWdlLW9wdGlvbnMubnVtX3BhZ2VfbGlua3NfdG9fZGlzcGxheSsxKSxuZXdfcGFnZSsxKS5zaG93KCl9KX19ZnVuY3Rpb24gbW92ZVBhZ2VOdW1iZXJzUmlnaHQoZSxuZXdfcCl7dmFyIG5ld19wYWdlPW5ld19wO3ZhciAkY3VycmVudF9hY3RpdmVfbGluaz0kKGUpLnNpYmxpbmdzKCIuYWN0aXZlIik7aWYoJGN1cnJlbnRfYWN0aXZlX2xpbmsuc2libGluZ3MoIi5wYWdlX2xpbmtbbG9uZ2Rlc2M9IituZXdfcGFnZSsiXSIpLmNzcygiZGlzcGxheSIpPT0ibm9uZSIpeyRuYXZfcGFuZWxzLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmNoaWxkcmVuKCIucGFnZV9saW5rIikuaGlkZSgpLnNsaWNlKG5ld19wYWdlLG5ld19wYWdlK3BhcnNlSW50KG9wdGlvbnMubnVtX3BhZ2VfbGlua3NfdG9fZGlzcGxheSkpLnNob3coKX0pfX1mdW5jdGlvbiB0b2dnbGVNb3JlTGVzcygpe31mdW5jdGlvbiB0YWdOZXh0UHJldigpe2lmKCRuYXZfcGFuZWxzLmNoaWxkcmVuKCIubGFzdCIpLmhhc0NsYXNzKCJhY3RpdmUiKSl7JG5hdl9wYW5lbHMuY2hpbGRyZW4oIi5uZXh0X2xpbmsiKS5hZGQoIi5sYXN0X2xpbmsiKS5hZGRDbGFzcygibm9fbW9yZSAiK2pxdWVyeV91aV9kaXNhYmxlZF9jbGFzcyl9ZWxzZXskbmF2X3BhbmVscy5jaGlsZHJlbigiLm5leHRfbGluayIpLmFkZCgiLmxhc3RfbGluayIpLnJlbW92ZUNsYXNzKCJub19tb3JlICIranF1ZXJ5X3VpX2Rpc2FibGVkX2NsYXNzKX1pZigkbmF2X3BhbmVscy5jaGlsZHJlbigiLmZpcnN0IikuaGFzQ2xhc3MoImFjdGl2ZSIpKXskbmF2X3BhbmVscy5jaGlsZHJlbigiLnByZXZpb3VzX2xpbmsiKS5hZGQoIi5maXJzdF9saW5rIikuYWRkQ2xhc3MoIm5vX21vcmUgIitqcXVlcnlfdWlfZGlzYWJsZWRfY2xhc3MpfWVsc2V7JG5hdl9wYW5lbHMuY2hpbGRyZW4oIi5wcmV2aW91c19saW5rIikuYWRkKCIuZmlyc3RfbGluayIpLnJlbW92ZUNsYXNzKCJub19tb3JlICIranF1ZXJ5X3VpX2Rpc2FibGVkX2NsYXNzKX19fX0pKGpRdWVyeSk7DQoNCi8qDQogKiAgVmlkZSBqUXVlcnkgcGx1Z2luIGZvciB2aWRlbyBiYWNrZ3JvdW5kcw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKg0KVmlkZQ0KRWFzeSBhcyBoZWxsIGpRdWVyeSBwbHVnaW4gZm9yIHZpZGVvIGJhY2tncm91bmRzLg0KaHR0cHM6Ly9naXRodWIuY29tL1ZvZGthQmVhcnMvVmlkZQ0KKi8NCg0KIWZ1bmN0aW9uKGUsdCl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSx0KTp0KCJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9yZXF1aXJlKCJqcXVlcnkiKTplLmpRdWVyeSl9KHRoaXMsZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7dmFyIHQsbyxpLHIscyxuLGEscD17fTtmb3Iocz1lLnJlcGxhY2UoL1xzKjpccyovZywiOiIpLnJlcGxhY2UoL1xzKixccyovZywiLCIpLnNwbGl0KCIsIiksYT0wLG49cy5sZW5ndGg7bj5hJiYobz1zW2FdLC0xPT09by5zZWFyY2goL14oaHR0cHxodHRwc3xmdHApOlwvXC8vKSYmLTEhPT1vLnNlYXJjaCgiOiIpKTthKyspdD1vLmluZGV4T2YoIjoiKSxpPW8uc3Vic3RyaW5nKDAsdCkscj1vLnN1YnN0cmluZyh0KzEpLHJ8fChyPXZvaWQgMCksInN0cmluZyI9PXR5cGVvZiByJiYocj0idHJ1ZSI9PT1yfHwoImZhbHNlIj09PXI/ITE6cikpLCJzdHJpbmciPT10eXBlb2YgciYmKHI9aXNOYU4ocik/cjorcikscFtpXT1yO3JldHVybiBudWxsPT1pJiZudWxsPT1yP2U6cH1mdW5jdGlvbiBvKGUpe2U9IiIrZTt2YXIgdCxvLGkscj1lLnNwbGl0KC9ccysvKSxzPSI1MCUiLG49IjUwJSI7Zm9yKGk9MCx0PXIubGVuZ3RoO3Q+aTtpKyspbz1yW2ldLCJsZWZ0Ij09PW8/cz0iMCUiOiJyaWdodCI9PT1vP3M9IjEwMCUiOiJ0b3AiPT09bz9uPSIwJSI6ImJvdHRvbSI9PT1vP249IjEwMCUiOiJjZW50ZXIiPT09bz8wPT09aT9zPSI1MCUiOm49IjUwJSI6MD09PWk/cz1vOm49bztyZXR1cm57eDpzLHk6bn19ZnVuY3Rpb24gaSh0LG8pe3ZhciBpPWZ1bmN0aW9uKCl7byh0aGlzLnNyYyl9O2UoJzxpbWcgc3JjPSInK3QrJy5naWYiPicpLmxvYWQoaSksZSgnPGltZyBzcmM9IicrdCsnLmpwZyI+JykubG9hZChpKSxlKCc8aW1nIHNyYz0iJyt0KycuanBlZyI+JykubG9hZChpKSxlKCc8aW1nIHNyYz0iJyt0KycucG5nIj4nKS5sb2FkKGkpfWZ1bmN0aW9uIHIobyxpLHIpe2lmKHRoaXMuJGVsZW1lbnQ9ZShvKSwic3RyaW5nIj09dHlwZW9mIGkmJihpPXQoaSkpLHI/InN0cmluZyI9PXR5cGVvZiByJiYocj10KHIpKTpyPXt9LCJzdHJpbmciPT10eXBlb2YgaSlpPWkucmVwbGFjZSgvXC5cdyokLywiIik7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGkpZm9yKHZhciBzIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShzKSYmKGlbc109aVtzXS5yZXBsYWNlKC9cLlx3KiQvLCIiKSk7dGhpcy5zZXR0aW5ncz1lLmV4dGVuZCh7fSxuLHIpLHRoaXMucGF0aD1pO3RyeXt0aGlzLmluaXQoKX1jYXRjaChwKXtpZihwLm1lc3NhZ2UhPT1hKXRocm93IHB9fXZhciBzPSJ2aWRlIixuPXt2b2x1bWU6MSxwbGF5YmFja1JhdGU6MSxtdXRlZDohMCxsb29wOiEwLGF1dG9wbGF5OiEwLHBvc2l0aW9uOiI1MCUgNTAlIixwb3N0ZXJUeXBlOiJkZXRlY3QiLHJlc2l6aW5nOiEwLGJnQ29sb3I6InRyYW5zcGFyZW50IixjbGFzc05hbWU6IiJ9LGE9Ik5vdCBpbXBsZW1lbnRlZCI7ci5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3ZhciB0LHIsbj10aGlzLHA9bi5wYXRoLGM9cCxkPSIiLHU9bi4kZWxlbWVudCxsPW4uc2V0dGluZ3MsZz1vKGwucG9zaXRpb24pLGY9bC5wb3N0ZXJUeXBlO3I9bi4kd3JhcHBlcj1lKCI8ZGl2PiIpLmFkZENsYXNzKGwuY2xhc3NOYW1lKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOi0xLHRvcDowLGxlZnQ6MCxib3R0b206MCxyaWdodDowLG92ZXJmbG93OiJoaWRkZW4iLCItd2Via2l0LWJhY2tncm91bmQtc2l6ZSI6ImNvdmVyIiwiLW1vei1iYWNrZ3JvdW5kLXNpemUiOiJjb3ZlciIsIi1vLWJhY2tncm91bmQtc2l6ZSI6ImNvdmVyIiwiYmFja2dyb3VuZC1zaXplIjoiY292ZXIiLCJiYWNrZ3JvdW5kLWNvbG9yIjpsLmJnQ29sb3IsImJhY2tncm91bmQtcmVwZWF0Ijoibm8tcmVwZWF0IiwiYmFja2dyb3VuZC1wb3NpdGlvbiI6Zy54KyIgIitnLnl9KSwib2JqZWN0Ij09dHlwZW9mIHAmJihwLnBvc3Rlcj9jPXAucG9zdGVyOnAubXA0P2M9cC5tcDQ6cC53ZWJtP2M9cC53ZWJtOnAub2d2JiYoYz1wLm9ndikpLCJkZXRlY3QiPT09Zj9pKGMsZnVuY3Rpb24oZSl7ci5jc3MoImJhY2tncm91bmQtaW1hZ2UiLCJ1cmwoIitlKyIpIil9KToibm9uZSIhPT1mJiZyLmNzcygiYmFja2dyb3VuZC1pbWFnZSIsInVybCgiK2MrIi4iK2YrIikiKSwic3RhdGljIj09PXUuY3NzKCJwb3NpdGlvbiIpJiZ1LmNzcygicG9zaXRpb24iLCJyZWxhdGl2ZSIpLHUucHJlcGVuZChyKSwib2JqZWN0Ij09dHlwZW9mIHA/KHAubXA0JiYoZCs9Jzxzb3VyY2Ugc3JjPSInK3AubXA0KycubXA0IiB0eXBlPSJ2aWRlby9tcDQiPicpLHAud2VibSYmKGQrPSc8c291cmNlIHNyYz0iJytwLndlYm0rJy53ZWJtIiB0eXBlPSJ2aWRlby93ZWJtIj4nKSxwLm9ndiYmKGQrPSc8c291cmNlIHNyYz0iJytwLm9ndisnLm9ndiIgdHlwZT0idmlkZW8vb2dnIj4nKSx0PW4uJHZpZGVvPWUoIjx2aWRlbz4iK2QrIjwvdmlkZW8+IikpOnQ9bi4kdmlkZW89ZSgnPHZpZGVvPjxzb3VyY2Ugc3JjPSInK3ArJy5tcDQiIHR5cGU9InZpZGVvL21wNCI+PHNvdXJjZSBzcmM9IicrcCsnLndlYm0iIHR5cGU9InZpZGVvL3dlYm0iPjxzb3VyY2Ugc3JjPSInK3ArJy5vZ3YiIHR5cGU9InZpZGVvL29nZyI+PC92aWRlbz4nKTt0cnl7dC5wcm9wKHthdXRvcGxheTpsLmF1dG9wbGF5LGxvb3A6bC5sb29wLHZvbHVtZTpsLnZvbHVtZSxtdXRlZDpsLm11dGVkLGRlZmF1bHRNdXRlZDpsLm11dGVkLHBsYXliYWNrUmF0ZTpsLnBsYXliYWNrUmF0ZSxkZWZhdWx0UGxheWJhY2tSYXRlOmwucGxheWJhY2tSYXRlfSl9Y2F0Y2goaCl7dGhyb3cgbmV3IEVycm9yKGEpfXQuY3NzKHttYXJnaW46ImF1dG8iLHBvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOi0xLHRvcDpnLnksbGVmdDpnLngsIi13ZWJraXQtdHJhbnNmb3JtIjoidHJhbnNsYXRlKC0iK2cueCsiLCAtIitnLnkrIikiLCItbXMtdHJhbnNmb3JtIjoidHJhbnNsYXRlKC0iK2cueCsiLCAtIitnLnkrIikiLCItbW96LXRyYW5zZm9ybSI6InRyYW5zbGF0ZSgtIitnLngrIiwgLSIrZy55KyIpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtIitnLngrIiwgLSIrZy55KyIpIix2aXNpYmlsaXR5OiJoaWRkZW4iLG9wYWNpdHk6MH0pLm9uZSgiY2FucGxheXRocm91Z2guIitzLGZ1bmN0aW9uKCl7bi5yZXNpemUoKX0pLm9uZSgicGxheWluZy4iK3MsZnVuY3Rpb24oKXt0LmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSIsb3BhY2l0eToxfSksci5jc3MoImJhY2tncm91bmQtaW1hZ2UiLCJub25lIil9KSx1Lm9uKCJyZXNpemUuIitzLGZ1bmN0aW9uKCl7bC5yZXNpemluZyYmbi5yZXNpemUoKX0pLHIuYXBwZW5kKHQpfSxyLnByb3RvdHlwZS5nZXRWaWRlb09iamVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLiR2aWRlb1swXX0sci5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7aWYodGhpcy4kdmlkZW8pe3ZhciBlPXRoaXMuJHdyYXBwZXIsdD10aGlzLiR2aWRlbyxvPXRbMF0saT1vLnZpZGVvSGVpZ2h0LHI9by52aWRlb1dpZHRoLHM9ZS5oZWlnaHQoKSxuPWUud2lkdGgoKTtuL3I+cy9pP3QuY3NzKHt3aWR0aDpuKzIsaGVpZ2h0OiJhdXRvIn0pOnQuY3NzKHt3aWR0aDoiYXV0byIsaGVpZ2h0OnMrMn0pfX0sci5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2RlbGV0ZSBlW3NdLmxvb2t1cFt0aGlzLmluZGV4XSx0aGlzLiR2aWRlbyYmdGhpcy4kdmlkZW8ub2ZmKHMpLHRoaXMuJGVsZW1lbnQub2ZmKHMpLnJlbW92ZURhdGEocyksdGhpcy4kd3JhcHBlci5yZW1vdmUoKX0sZVtzXT17bG9va3VwOltdfSxlLmZuW3NdPWZ1bmN0aW9uKHQsbyl7dmFyIGk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2k9ZS5kYXRhKHRoaXMscyksaSYmaS5kZXN0cm95KCksaT1uZXcgcih0aGlzLHQsbyksaS5pbmRleD1lW3NdLmxvb2t1cC5wdXNoKGkpLTEsZS5kYXRhKHRoaXMscyxpKX0pLHRoaXN9LGUoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7dmFyIHQ9ZSh3aW5kb3cpO3Qub24oInJlc2l6ZS4iK3MsZnVuY3Rpb24oKXtmb3IodmFyIHQsbz1lW3NdLmxvb2t1cC5sZW5ndGgsaT0wO28+aTtpKyspdD1lW3NdLmxvb2t1cFtpXSx0JiZ0LnNldHRpbmdzLnJlc2l6aW5nJiZ0LnJlc2l6ZSgpfSksdC5vbigidW5sb2FkLiIrcyxmdW5jdGlvbigpe3JldHVybiExfSksZShkb2N1bWVudCkuZmluZCgiW2RhdGEtIitzKyItYmddIikuZWFjaChmdW5jdGlvbih0LG8pe3ZhciBpPWUobykscj1pLmRhdGEocysiLW9wdGlvbnMiKSxuPWkuZGF0YShzKyItYmciKTtpW3NdKG4scil9KX0pfSk7DQoNCg0KLyohDQogKiBEYXRlcGlja2VyIGZvciBCb290c3RyYXAgdjEuNy4wLWRldiAoaHR0cHM6Ly9naXRodWIuY29tL2V0ZXJuaWNvZGUvYm9vdHN0cmFwLWRhdGVwaWNrZXIpDQogKg0KICogQ29weXJpZ2h0IDIwMTIgU3RlZmFuIFBldHJlDQogKiBJbXByb3ZlbWVudHMgYnkgQW5kcmV3IFJvd2xzDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMCAoaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wKQ0KICovDQoNCiFmdW5jdGlvbihhKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGEpOmEoIm9iamVjdCI9PXR5cGVvZiBleHBvcnRzP3JlcXVpcmUoImpxdWVyeSIpOmpRdWVyeSl9KGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYygpe3JldHVybiBuZXcgRGF0ZShEYXRlLlVUQy5hcHBseShEYXRlLGFyZ3VtZW50cykpfWZ1bmN0aW9uIGQoKXt2YXIgYT1uZXcgRGF0ZTtyZXR1cm4gYyhhLmdldEZ1bGxZZWFyKCksYS5nZXRNb250aCgpLGEuZ2V0RGF0ZSgpKX1mdW5jdGlvbiBlKGEsYil7cmV0dXJuIGEuZ2V0VVRDRnVsbFllYXIoKT09PWIuZ2V0VVRDRnVsbFllYXIoKSYmYS5nZXRVVENNb250aCgpPT09Yi5nZXRVVENNb250aCgpJiZhLmdldFVUQ0RhdGUoKT09PWIuZ2V0VVRDRGF0ZSgpfWZ1bmN0aW9uIGYoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbYV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBnKGEpe3JldHVybiBhJiYhaXNOYU4oYS5nZXRUaW1lKCkpfWZ1bmN0aW9uIGgoYixjKXtmdW5jdGlvbiBkKGEsYil7cmV0dXJuIGIudG9Mb3dlckNhc2UoKX12YXIgZSxmPWEoYikuZGF0YSgpLGc9e30saD1uZXcgUmVnRXhwKCJeIitjLnRvTG93ZXJDYXNlKCkrIihbQS1aXSkiKTtjPW5ldyBSZWdFeHAoIl4iK2MudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBpIGluIGYpYy50ZXN0KGkpJiYoZT1pLnJlcGxhY2UoaCxkKSxnW2VdPWZbaV0pO3JldHVybiBnfWZ1bmN0aW9uIGkoYil7dmFyIGM9e307aWYocVtiXXx8KGI9Yi5zcGxpdCgiLSIpWzBdLHFbYl0pKXt2YXIgZD1xW2JdO3JldHVybiBhLmVhY2gocCxmdW5jdGlvbihhLGIpe2IgaW4gZCYmKGNbYl09ZFtiXSl9KSxjfX12YXIgaj1mdW5jdGlvbigpe3ZhciBiPXtnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc2xpY2UoYSlbMF19LGNvbnRhaW5zOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hJiZhLnZhbHVlT2YoKSxjPTAsZD10aGlzLmxlbmd0aDtkPmM7YysrKWlmKDA8PXRoaXNbY10udmFsdWVPZigpLWImJnRoaXNbY10udmFsdWVPZigpLWI8ODY0ZTUpcmV0dXJuIGM7cmV0dXJuLTF9LHJlbW92ZTpmdW5jdGlvbihhKXt0aGlzLnNwbGljZShhLDEpfSxyZXBsYWNlOmZ1bmN0aW9uKGIpe2ImJihhLmlzQXJyYXkoYil8fChiPVtiXSksdGhpcy5jbGVhcigpLHRoaXMucHVzaC5hcHBseSh0aGlzLGIpKX0sY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLmxlbmd0aD0wfSxjb3B5OmZ1bmN0aW9uKCl7dmFyIGE9bmV3IGo7cmV0dXJuIGEucmVwbGFjZSh0aGlzKSxhfX07cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9W107cmV0dXJuIGMucHVzaC5hcHBseShjLGFyZ3VtZW50cyksYS5leHRlbmQoYyxiKSxjfX0oKSxrPWZ1bmN0aW9uKGIsYyl7YS5kYXRhKGIsImRhdGVwaWNrZXIiLHRoaXMpLHRoaXMuX3Byb2Nlc3Nfb3B0aW9ucyhjKSx0aGlzLmRhdGVzPW5ldyBqLHRoaXMudmlld0RhdGU9dGhpcy5vLmRlZmF1bHRWaWV3RGF0ZSx0aGlzLmZvY3VzRGF0ZT1udWxsLHRoaXMuZWxlbWVudD1hKGIpLHRoaXMuaXNJbnB1dD10aGlzLmVsZW1lbnQuaXMoImlucHV0IiksdGhpcy5pbnB1dEZpZWxkPXRoaXMuaXNJbnB1dD90aGlzLmVsZW1lbnQ6dGhpcy5lbGVtZW50LmZpbmQoImlucHV0IiksdGhpcy5jb21wb25lbnQ9dGhpcy5lbGVtZW50Lmhhc0NsYXNzKCJkYXRlIik/dGhpcy5lbGVtZW50LmZpbmQoIi5hZGQtb24sIC5pbnB1dC1ncm91cC1hZGRvbiwgLmJ0biIpOiExLHRoaXMuY29tcG9uZW50JiYwPT09dGhpcy5jb21wb25lbnQubGVuZ3RoJiYodGhpcy5jb21wb25lbnQ9ITEpLHRoaXMuaXNJbmxpbmU9IXRoaXMuY29tcG9uZW50JiZ0aGlzLmVsZW1lbnQuaXMoImRpdiIpLHRoaXMucGlja2VyPWEoci50ZW1wbGF0ZSksdGhpcy5fY2hlY2tfdGVtcGxhdGUodGhpcy5vLnRlbXBsYXRlcy5sZWZ0QXJyb3cpJiZ0aGlzLnBpY2tlci5maW5kKCIucHJldiIpLmh0bWwodGhpcy5vLnRlbXBsYXRlcy5sZWZ0QXJyb3cpLHRoaXMuX2NoZWNrX3RlbXBsYXRlKHRoaXMuby50ZW1wbGF0ZXMucmlnaHRBcnJvdykmJnRoaXMucGlja2VyLmZpbmQoIi5uZXh0IikuaHRtbCh0aGlzLm8udGVtcGxhdGVzLnJpZ2h0QXJyb3cpLHRoaXMuX2J1aWxkRXZlbnRzKCksdGhpcy5fYXR0YWNoRXZlbnRzKCksdGhpcy5pc0lubGluZT90aGlzLnBpY2tlci5hZGRDbGFzcygiZGF0ZXBpY2tlci1pbmxpbmUiKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpOnRoaXMucGlja2VyLmFkZENsYXNzKCJkYXRlcGlja2VyLWRyb3Bkb3duIGRyb3Bkb3duLW1lbnUiKSx0aGlzLm8ucnRsJiZ0aGlzLnBpY2tlci5hZGRDbGFzcygiZGF0ZXBpY2tlci1ydGwiKSx0aGlzLm8uY2FsZW5kYXJXZWVrcyYmdGhpcy5waWNrZXIuZmluZCgiLmRhdGVwaWNrZXItZGF5cyAuZGF0ZXBpY2tlci1zd2l0Y2gsIHRoZWFkIC5kYXRlcGlja2VyLXRpdGxlLCB0Zm9vdCAudG9kYXksIHRmb290IC5jbGVhciIpLmF0dHIoImNvbHNwYW4iLGZ1bmN0aW9uKGEsYil7cmV0dXJuIE51bWJlcihiKSsxfSksdGhpcy5fYWxsb3dfdXBkYXRlPSExLHRoaXMuc2V0U3RhcnREYXRlKHRoaXMuX28uc3RhcnREYXRlKSx0aGlzLnNldEVuZERhdGUodGhpcy5fby5lbmREYXRlKSx0aGlzLnNldERheXNPZldlZWtEaXNhYmxlZCh0aGlzLm8uZGF5c09mV2Vla0Rpc2FibGVkKSx0aGlzLnNldERheXNPZldlZWtIaWdobGlnaHRlZCh0aGlzLm8uZGF5c09mV2Vla0hpZ2hsaWdodGVkKSx0aGlzLnNldERhdGVzRGlzYWJsZWQodGhpcy5vLmRhdGVzRGlzYWJsZWQpLHRoaXMuc2V0Vmlld01vZGUodGhpcy5vLnN0YXJ0VmlldyksdGhpcy5maWxsRG93KCksdGhpcy5maWxsTW9udGhzKCksdGhpcy5fYWxsb3dfdXBkYXRlPSEwLHRoaXMudXBkYXRlKCksdGhpcy5pc0lubGluZSYmdGhpcy5zaG93KCl9O2sucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjprLF9yZXNvbHZlVmlld05hbWU6ZnVuY3Rpb24oYil7cmV0dXJuIGEuZWFjaChyLnZpZXdNb2RlcyxmdW5jdGlvbihjLGQpe3JldHVybiBiPT09Y3x8LTEhPT1hLmluQXJyYXkoYixkLm5hbWVzKT8oYj1jLCExKTp2b2lkIDB9KSxifSxfcmVzb2x2ZURheXNPZldlZWs6ZnVuY3Rpb24oYil7cmV0dXJuIGEuaXNBcnJheShiKXx8KGI9Yi5zcGxpdCgvWyxcc10qLykpLGEubWFwKGIsTnVtYmVyKX0sX2NoZWNrX3RlbXBsYXRlOmZ1bmN0aW9uKGMpe3RyeXtpZihjPT09Ynx8IiI9PT1jKXJldHVybiExO2lmKChjLm1hdGNoKC9bPD5dL2cpfHxbXSkubGVuZ3RoPD0wKXJldHVybiEwO3ZhciBkPWEoYyk7cmV0dXJuIGQubGVuZ3RoPjB9Y2F0Y2goZSl7cmV0dXJuITF9fSxfcHJvY2Vzc19vcHRpb25zOmZ1bmN0aW9uKGIpe3RoaXMuX289YS5leHRlbmQoe30sdGhpcy5fbyxiKTt2YXIgZT10aGlzLm89YS5leHRlbmQoe30sdGhpcy5fbyksZj1lLmxhbmd1YWdlO3FbZl18fChmPWYuc3BsaXQoIi0iKVswXSxxW2ZdfHwoZj1vLmxhbmd1YWdlKSksZS5sYW5ndWFnZT1mLGUuc3RhcnRWaWV3PXRoaXMuX3Jlc29sdmVWaWV3TmFtZShlLnN0YXJ0VmlldyksZS5taW5WaWV3TW9kZT10aGlzLl9yZXNvbHZlVmlld05hbWUoZS5taW5WaWV3TW9kZSksZS5tYXhWaWV3TW9kZT10aGlzLl9yZXNvbHZlVmlld05hbWUoZS5tYXhWaWV3TW9kZSksZS5zdGFydFZpZXc9TWF0aC5tYXgodGhpcy5vLm1pblZpZXdNb2RlLE1hdGgubWluKHRoaXMuby5tYXhWaWV3TW9kZSxlLnN0YXJ0VmlldykpLGUubXVsdGlkYXRlIT09ITAmJihlLm11bHRpZGF0ZT1OdW1iZXIoZS5tdWx0aWRhdGUpfHwhMSxlLm11bHRpZGF0ZSE9PSExJiYoZS5tdWx0aWRhdGU9TWF0aC5tYXgoMCxlLm11bHRpZGF0ZSkpKSxlLm11bHRpZGF0ZVNlcGFyYXRvcj1TdHJpbmcoZS5tdWx0aWRhdGVTZXBhcmF0b3IpLGUud2Vla1N0YXJ0JT03LGUud2Vla0VuZD0oZS53ZWVrU3RhcnQrNiklNzt2YXIgZz1yLnBhcnNlRm9ybWF0KGUuZm9ybWF0KTtlLnN0YXJ0RGF0ZSE9PS0oMS8wKSYmKGUuc3RhcnREYXRlP2Uuc3RhcnREYXRlIGluc3RhbmNlb2YgRGF0ZT9lLnN0YXJ0RGF0ZT10aGlzLl9sb2NhbF90b191dGModGhpcy5femVyb190aW1lKGUuc3RhcnREYXRlKSk6ZS5zdGFydERhdGU9ci5wYXJzZURhdGUoZS5zdGFydERhdGUsZyxlLmxhbmd1YWdlLGUuYXNzdW1lTmVhcmJ5WWVhcik6ZS5zdGFydERhdGU9LSgxLzApKSxlLmVuZERhdGUhPT0xLzAmJihlLmVuZERhdGU/ZS5lbmREYXRlIGluc3RhbmNlb2YgRGF0ZT9lLmVuZERhdGU9dGhpcy5fbG9jYWxfdG9fdXRjKHRoaXMuX3plcm9fdGltZShlLmVuZERhdGUpKTplLmVuZERhdGU9ci5wYXJzZURhdGUoZS5lbmREYXRlLGcsZS5sYW5ndWFnZSxlLmFzc3VtZU5lYXJieVllYXIpOmUuZW5kRGF0ZT0xLzApLGUuZGF5c09mV2Vla0Rpc2FibGVkPXRoaXMuX3Jlc29sdmVEYXlzT2ZXZWVrKGUuZGF5c09mV2Vla0Rpc2FibGVkfHxbXSksZS5kYXlzT2ZXZWVrSGlnaGxpZ2h0ZWQ9dGhpcy5fcmVzb2x2ZURheXNPZldlZWsoZS5kYXlzT2ZXZWVrSGlnaGxpZ2h0ZWR8fFtdKSxlLmRhdGVzRGlzYWJsZWQ9ZS5kYXRlc0Rpc2FibGVkfHxbXSxhLmlzQXJyYXkoZS5kYXRlc0Rpc2FibGVkKXx8KGUuZGF0ZXNEaXNhYmxlZD1bZS5kYXRlc0Rpc2FibGVkXSksZS5kYXRlc0Rpc2FibGVkPWEubWFwKGUuZGF0ZXNEaXNhYmxlZCxmdW5jdGlvbihhKXtyZXR1cm4gci5wYXJzZURhdGUoYSxnLGUubGFuZ3VhZ2UsZS5hc3N1bWVOZWFyYnlZZWFyKX0pO3ZhciBoPVN0cmluZyhlLm9yaWVudGF0aW9uKS50b0xvd2VyQ2FzZSgpLnNwbGl0KC9ccysvZyksaT1lLm9yaWVudGF0aW9uLnRvTG93ZXJDYXNlKCk7aWYoaD1hLmdyZXAoaCxmdW5jdGlvbihhKXtyZXR1cm4vXmF1dG98bGVmdHxyaWdodHx0b3B8Ym90dG9tJC8udGVzdChhKX0pLGUub3JpZW50YXRpb249e3g6ImF1dG8iLHk6ImF1dG8ifSxpJiYiYXV0byIhPT1pKWlmKDE9PT1oLmxlbmd0aClzd2l0Y2goaFswXSl7Y2FzZSJ0b3AiOmNhc2UiYm90dG9tIjplLm9yaWVudGF0aW9uLnk9aFswXTticmVhaztjYXNlImxlZnQiOmNhc2UicmlnaHQiOmUub3JpZW50YXRpb24ueD1oWzBdfWVsc2UgaT1hLmdyZXAoaCxmdW5jdGlvbihhKXtyZXR1cm4vXmxlZnR8cmlnaHQkLy50ZXN0KGEpfSksZS5vcmllbnRhdGlvbi54PWlbMF18fCJhdXRvIixpPWEuZ3JlcChoLGZ1bmN0aW9uKGEpe3JldHVybi9edG9wfGJvdHRvbSQvLnRlc3QoYSl9KSxlLm9yaWVudGF0aW9uLnk9aVswXXx8ImF1dG8iO2Vsc2U7aWYoZS5kZWZhdWx0Vmlld0RhdGUpe3ZhciBqPWUuZGVmYXVsdFZpZXdEYXRlLnllYXJ8fChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxrPWUuZGVmYXVsdFZpZXdEYXRlLm1vbnRofHwwLGw9ZS5kZWZhdWx0Vmlld0RhdGUuZGF5fHwxO2UuZGVmYXVsdFZpZXdEYXRlPWMoaixrLGwpfWVsc2UgZS5kZWZhdWx0Vmlld0RhdGU9ZCgpfSxfZXZlbnRzOltdLF9zZWNvbmRhcnlFdmVudHM6W10sX2FwcGx5RXZlbnRzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWM9YVtmXVswXSwyPT09YVtmXS5sZW5ndGg/KGQ9YixlPWFbZl1bMV0pOjM9PT1hW2ZdLmxlbmd0aCYmKGQ9YVtmXVsxXSxlPWFbZl1bMl0pLGMub24oZSxkKX0sX3VuYXBwbHlFdmVudHM6ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGQsZSxmPTA7ZjxhLmxlbmd0aDtmKyspYz1hW2ZdWzBdLDI9PT1hW2ZdLmxlbmd0aD8oZT1iLGQ9YVtmXVsxXSk6Mz09PWFbZl0ubGVuZ3RoJiYoZT1hW2ZdWzFdLGQ9YVtmXVsyXSksYy5vZmYoZCxlKX0sX2J1aWxkRXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGI9e2tleXVwOmEucHJveHkoZnVuY3Rpb24oYil7LTE9PT1hLmluQXJyYXkoYi5rZXlDb2RlLFsyNywzNywzOSwzOCw0MCwzMiwxMyw5XSkmJnRoaXMudXBkYXRlKCl9LHRoaXMpLGtleWRvd246YS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykscGFzdGU6YS5wcm94eSh0aGlzLnBhc3RlLHRoaXMpfTt0aGlzLm8uc2hvd09uRm9jdXM9PT0hMCYmKGIuZm9jdXM9YS5wcm94eSh0aGlzLnNob3csdGhpcykpLHRoaXMuaXNJbnB1dD90aGlzLl9ldmVudHM9W1t0aGlzLmVsZW1lbnQsYl1dOnRoaXMuY29tcG9uZW50JiZ0aGlzLmlucHV0RmllbGQubGVuZ3RoP3RoaXMuX2V2ZW50cz1bW3RoaXMuaW5wdXRGaWVsZCxiXSxbdGhpcy5jb21wb25lbnQse2NsaWNrOmEucHJveHkodGhpcy5zaG93LHRoaXMpfV1dOnRoaXMuX2V2ZW50cz1bW3RoaXMuZWxlbWVudCx7Y2xpY2s6YS5wcm94eSh0aGlzLnNob3csdGhpcyksa2V5ZG93bjphLnByb3h5KHRoaXMua2V5ZG93bix0aGlzKX1dXSx0aGlzLl9ldmVudHMucHVzaChbdGhpcy5lbGVtZW50LCIqIix7Ymx1cjphLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuX2ZvY3VzZWRfZnJvbT1hLnRhcmdldH0sdGhpcyl9XSxbdGhpcy5lbGVtZW50LHtibHVyOmEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy5fZm9jdXNlZF9mcm9tPWEudGFyZ2V0fSx0aGlzKX1dKSx0aGlzLm8uaW1tZWRpYXRlVXBkYXRlcyYmdGhpcy5fZXZlbnRzLnB1c2goW3RoaXMuZWxlbWVudCx7ImNoYW5nZVllYXIgY2hhbmdlTW9udGgiOmEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy51cGRhdGUoYS5kYXRlKX0sdGhpcyl9XSksdGhpcy5fc2Vjb25kYXJ5RXZlbnRzPVtbdGhpcy5waWNrZXIse2NsaWNrOmEucHJveHkodGhpcy5jbGljayx0aGlzKX1dLFt0aGlzLnBpY2tlciwiLnByZXYsIC5uZXh0Iix7Y2xpY2s6YS5wcm94eSh0aGlzLm5hdkFycm93c0NsaWNrLHRoaXMpfV0sW2Eod2luZG93KSx7cmVzaXplOmEucHJveHkodGhpcy5wbGFjZSx0aGlzKX1dLFthKGRvY3VtZW50KSx7Im1vdXNlZG93biB0b3VjaHN0YXJ0IjphLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuZWxlbWVudC5pcyhhLnRhcmdldCl8fHRoaXMuZWxlbWVudC5maW5kKGEudGFyZ2V0KS5sZW5ndGh8fHRoaXMucGlja2VyLmlzKGEudGFyZ2V0KXx8dGhpcy5waWNrZXIuZmluZChhLnRhcmdldCkubGVuZ3RofHx0aGlzLmlzSW5saW5lfHx0aGlzLmhpZGUoKX0sdGhpcyl9XV19LF9hdHRhY2hFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLl9kZXRhY2hFdmVudHMoKSx0aGlzLl9hcHBseUV2ZW50cyh0aGlzLl9ldmVudHMpfSxfZGV0YWNoRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5fdW5hcHBseUV2ZW50cyh0aGlzLl9ldmVudHMpfSxfYXR0YWNoU2Vjb25kYXJ5RXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5fZGV0YWNoU2Vjb25kYXJ5RXZlbnRzKCksdGhpcy5fYXBwbHlFdmVudHModGhpcy5fc2Vjb25kYXJ5RXZlbnRzKX0sX2RldGFjaFNlY29uZGFyeUV2ZW50czpmdW5jdGlvbigpe3RoaXMuX3VuYXBwbHlFdmVudHModGhpcy5fc2Vjb25kYXJ5RXZlbnRzKX0sX3RyaWdnZXI6ZnVuY3Rpb24oYixjKXt2YXIgZD1jfHx0aGlzLmRhdGVzLmdldCgtMSksZT10aGlzLl91dGNfdG9fbG9jYWwoZCk7dGhpcy5lbGVtZW50LnRyaWdnZXIoe3R5cGU6YixkYXRlOmUsZGF0ZXM6YS5tYXAodGhpcy5kYXRlcyx0aGlzLl91dGNfdG9fbG9jYWwpLGZvcm1hdDphLnByb3h5KGZ1bmN0aW9uKGEsYil7MD09PWFyZ3VtZW50cy5sZW5ndGg/KGE9dGhpcy5kYXRlcy5sZW5ndGgtMSxiPXRoaXMuby5mb3JtYXQpOiJzdHJpbmciPT10eXBlb2YgYSYmKGI9YSxhPXRoaXMuZGF0ZXMubGVuZ3RoLTEpLGI9Ynx8dGhpcy5vLmZvcm1hdDt2YXIgYz10aGlzLmRhdGVzLmdldChhKTtyZXR1cm4gci5mb3JtYXREYXRlKGMsYix0aGlzLm8ubGFuZ3VhZ2UpfSx0aGlzKX0pfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5wdXRGaWVsZC5wcm9wKCJkaXNhYmxlZCIpfHx0aGlzLmlucHV0RmllbGQucHJvcCgicmVhZG9ubHkiKSYmdGhpcy5vLmVuYWJsZU9uUmVhZG9ubHk9PT0hMT92b2lkIDA6KHRoaXMuaXNJbmxpbmV8fHRoaXMucGlja2VyLmFwcGVuZFRvKHRoaXMuby5jb250YWluZXIpLHRoaXMucGxhY2UoKSx0aGlzLnBpY2tlci5zaG93KCksdGhpcy5fYXR0YWNoU2Vjb25kYXJ5RXZlbnRzKCksdGhpcy5fdHJpZ2dlcigic2hvdyIpLCh3aW5kb3cubmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHN8fCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQpJiZ0aGlzLm8uZGlzYWJsZVRvdWNoS2V5Ym9hcmQmJmEodGhpcy5lbGVtZW50KS5ibHVyKCksdGhpcyl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0lubGluZXx8IXRoaXMucGlja2VyLmlzKCI6dmlzaWJsZSIpP3RoaXM6KHRoaXMuZm9jdXNEYXRlPW51bGwsdGhpcy5waWNrZXIuaGlkZSgpLmRldGFjaCgpLHRoaXMuX2RldGFjaFNlY29uZGFyeUV2ZW50cygpLHRoaXMuc2V0Vmlld01vZGUodGhpcy5vLnN0YXJ0VmlldyksdGhpcy5vLmZvcmNlUGFyc2UmJnRoaXMuaW5wdXRGaWVsZC52YWwoKSYmdGhpcy5zZXRWYWx1ZSgpLHRoaXMuX3RyaWdnZXIoImhpZGUiKSx0aGlzKX0sZGVzdHJveTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhpZGUoKSx0aGlzLl9kZXRhY2hFdmVudHMoKSx0aGlzLl9kZXRhY2hTZWNvbmRhcnlFdmVudHMoKSx0aGlzLnBpY2tlci5yZW1vdmUoKSxkZWxldGUgdGhpcy5lbGVtZW50LmRhdGEoKS5kYXRlcGlja2VyLHRoaXMuaXNJbnB1dHx8ZGVsZXRlIHRoaXMuZWxlbWVudC5kYXRhKCkuZGF0ZSx0aGlzfSxwYXN0ZTpmdW5jdGlvbihiKXt2YXIgYztpZihiLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YSYmYi5vcmlnaW5hbEV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMmJi0xIT09YS5pbkFycmF5KCJ0ZXh0L3BsYWluIixiLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YS50eXBlcykpYz1iLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0L3BsYWluIik7ZWxzZXtpZighd2luZG93LmNsaXBib2FyZERhdGEpcmV0dXJuO2M9d2luZG93LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgiVGV4dCIpfXRoaXMuc2V0RGF0ZShjKSx0aGlzLnVwZGF0ZSgpLGIucHJldmVudERlZmF1bHQoKX0sX3V0Y190b19sb2NhbDpmdW5jdGlvbihhKXtyZXR1cm4gYSYmbmV3IERhdGUoYS5nZXRUaW1lKCkrNmU0KmEuZ2V0VGltZXpvbmVPZmZzZXQoKSl9LF9sb2NhbF90b191dGM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJm5ldyBEYXRlKGEuZ2V0VGltZSgpLTZlNCphLmdldFRpbWV6b25lT2Zmc2V0KCkpfSxfemVyb190aW1lOmZ1bmN0aW9uKGEpe3JldHVybiBhJiZuZXcgRGF0ZShhLmdldEZ1bGxZZWFyKCksYS5nZXRNb250aCgpLGEuZ2V0RGF0ZSgpKX0sX3plcm9fdXRjX3RpbWU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmMoYS5nZXRVVENGdWxsWWVhcigpLGEuZ2V0VVRDTW9udGgoKSxhLmdldFVUQ0RhdGUoKSl9LGdldERhdGVzOmZ1bmN0aW9uKCl7cmV0dXJuIGEubWFwKHRoaXMuZGF0ZXMsdGhpcy5fdXRjX3RvX2xvY2FsKX0sZ2V0VVRDRGF0ZXM6ZnVuY3Rpb24oKXtyZXR1cm4gYS5tYXAodGhpcy5kYXRlcyxmdW5jdGlvbihhKXtyZXR1cm4gbmV3IERhdGUoYSl9KX0sZ2V0RGF0ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl91dGNfdG9fbG9jYWwodGhpcy5nZXRVVENEYXRlKCkpfSxnZXRVVENEYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5kYXRlcy5nZXQoLTEpO3JldHVybiBhIT09Yj9uZXcgRGF0ZShhKTpudWxsfSxjbGVhckRhdGVzOmZ1bmN0aW9uKCl7dGhpcy5pbnB1dEZpZWxkLnZhbCgiIiksdGhpcy51cGRhdGUoKSx0aGlzLl90cmlnZ2VyKCJjaGFuZ2VEYXRlIiksdGhpcy5vLmF1dG9jbG9zZSYmdGhpcy5oaWRlKCl9LHNldERhdGVzOmZ1bmN0aW9uKCl7dmFyIGI9YS5pc0FycmF5KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy51cGRhdGUuYXBwbHkodGhpcyxiKSx0aGlzLl90cmlnZ2VyKCJjaGFuZ2VEYXRlIiksdGhpcy5zZXRWYWx1ZSgpLHRoaXN9LHNldFVUQ0RhdGVzOmZ1bmN0aW9uKCl7dmFyIGI9YS5pc0FycmF5KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5zZXREYXRlcy5hcHBseSh0aGlzLGEubWFwKGIsdGhpcy5fdXRjX3RvX2xvY2FsKSksdGhpc30sc2V0RGF0ZTpmKCJzZXREYXRlcyIpLHNldFVUQ0RhdGU6Zigic2V0VVRDRGF0ZXMiKSxyZW1vdmU6ZigiZGVzdHJveSIpLHNldFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRGb3JtYXR0ZWREYXRlKCk7cmV0dXJuIHRoaXMuaW5wdXRGaWVsZC52YWwoYSksdGhpc30sZ2V0Rm9ybWF0dGVkRGF0ZTpmdW5jdGlvbihjKXtjPT09YiYmKGM9dGhpcy5vLmZvcm1hdCk7dmFyIGQ9dGhpcy5vLmxhbmd1YWdlO3JldHVybiBhLm1hcCh0aGlzLmRhdGVzLGZ1bmN0aW9uKGEpe3JldHVybiByLmZvcm1hdERhdGUoYSxjLGQpfSkuam9pbih0aGlzLm8ubXVsdGlkYXRlU2VwYXJhdG9yKX0sZ2V0U3RhcnREYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5zdGFydERhdGV9LHNldFN0YXJ0RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcHJvY2Vzc19vcHRpb25zKHtzdGFydERhdGU6YX0pLHRoaXMudXBkYXRlKCksdGhpcy51cGRhdGVOYXZBcnJvd3MoKSx0aGlzfSxnZXRFbmREYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5lbmREYXRlfSxzZXRFbmREYXRlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9wcm9jZXNzX29wdGlvbnMoe2VuZERhdGU6YX0pLHRoaXMudXBkYXRlKCksdGhpcy51cGRhdGVOYXZBcnJvd3MoKSx0aGlzfSxzZXREYXlzT2ZXZWVrRGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3Byb2Nlc3Nfb3B0aW9ucyh7ZGF5c09mV2Vla0Rpc2FibGVkOmF9KSx0aGlzLnVwZGF0ZSgpLHRoaXN9LHNldERheXNPZldlZWtIaWdobGlnaHRlZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcHJvY2Vzc19vcHRpb25zKHtkYXlzT2ZXZWVrSGlnaGxpZ2h0ZWQ6YX0pLHRoaXMudXBkYXRlKCksdGhpc30sc2V0RGF0ZXNEaXNhYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcHJvY2Vzc19vcHRpb25zKHtkYXRlc0Rpc2FibGVkOmF9KSx0aGlzLnVwZGF0ZSgpLHRoaXN9LHBsYWNlOmZ1bmN0aW9uKCl7aWYodGhpcy5pc0lubGluZSlyZXR1cm4gdGhpczt2YXIgYj10aGlzLnBpY2tlci5vdXRlcldpZHRoKCksYz10aGlzLnBpY2tlci5vdXRlckhlaWdodCgpLGQ9MTAsZT1hKHRoaXMuby5jb250YWluZXIpLGY9ZS53aWR0aCgpLGc9ImJvZHkiPT09dGhpcy5vLmNvbnRhaW5lcj9hKGRvY3VtZW50KS5zY3JvbGxUb3AoKTplLnNjcm9sbFRvcCgpLGg9ZS5vZmZzZXQoKSxpPVtdO3RoaXMuZWxlbWVudC5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcykuY3NzKCJ6LWluZGV4Iik7ImF1dG8iIT09YiYmMCE9PWImJmkucHVzaChwYXJzZUludChiKSl9KTt2YXIgaj1NYXRoLm1heC5hcHBseShNYXRoLGkpK3RoaXMuby56SW5kZXhPZmZzZXQsaz10aGlzLmNvbXBvbmVudD90aGlzLmNvbXBvbmVudC5wYXJlbnQoKS5vZmZzZXQoKTp0aGlzLmVsZW1lbnQub2Zmc2V0KCksbD10aGlzLmNvbXBvbmVudD90aGlzLmNvbXBvbmVudC5vdXRlckhlaWdodCghMCk6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCExKSxtPXRoaXMuY29tcG9uZW50P3RoaXMuY29tcG9uZW50Lm91dGVyV2lkdGgoITApOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCExKSxuPWsubGVmdC1oLmxlZnQsbz1rLnRvcC1oLnRvcDsiYm9keSIhPT10aGlzLm8uY29udGFpbmVyJiYobys9ZyksdGhpcy5waWNrZXIucmVtb3ZlQ2xhc3MoImRhdGVwaWNrZXItb3JpZW50LXRvcCBkYXRlcGlja2VyLW9yaWVudC1ib3R0b20gZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQgZGF0ZXBpY2tlci1vcmllbnQtbGVmdCIpLCJhdXRvIiE9PXRoaXMuby5vcmllbnRhdGlvbi54Pyh0aGlzLnBpY2tlci5hZGRDbGFzcygiZGF0ZXBpY2tlci1vcmllbnQtIit0aGlzLm8ub3JpZW50YXRpb24ueCksInJpZ2h0Ij09PXRoaXMuby5vcmllbnRhdGlvbi54JiYobi09Yi1tKSk6ay5sZWZ0PDA/KHRoaXMucGlja2VyLmFkZENsYXNzKCJkYXRlcGlja2VyLW9yaWVudC1sZWZ0Iiksbi09ay5sZWZ0LWQpOm4rYj5mPyh0aGlzLnBpY2tlci5hZGRDbGFzcygiZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQiKSxuKz1tLWIpOnRoaXMucGlja2VyLmFkZENsYXNzKCJkYXRlcGlja2VyLW9yaWVudC1sZWZ0Iik7dmFyIHAscT10aGlzLm8ub3JpZW50YXRpb24ueTtpZigiYXV0byI9PT1xJiYocD0tZytvLWMscT0wPnA/ImJvdHRvbSI6InRvcCIpLHRoaXMucGlja2VyLmFkZENsYXNzKCJkYXRlcGlja2VyLW9yaWVudC0iK3EpLCJ0b3AiPT09cT9vLT1jK3BhcnNlSW50KHRoaXMucGlja2VyLmNzcygicGFkZGluZy10b3AiKSk6bys9bCx0aGlzLm8ucnRsKXt2YXIgcj1mLShuK20pO3RoaXMucGlja2VyLmNzcyh7dG9wOm8scmlnaHQ6cix6SW5kZXg6an0pfWVsc2UgdGhpcy5waWNrZXIuY3NzKHt0b3A6byxsZWZ0Om4sekluZGV4Omp9KTtyZXR1cm4gdGhpc30sX2FsbG93X3VwZGF0ZTohMCx1cGRhdGU6ZnVuY3Rpb24oKXtpZighdGhpcy5fYWxsb3dfdXBkYXRlKXJldHVybiB0aGlzO3ZhciBiPXRoaXMuZGF0ZXMuY29weSgpLGM9W10sZD0hMTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYS5lYWNoKGFyZ3VtZW50cyxhLnByb3h5KGZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIERhdGUmJihiPXRoaXMuX2xvY2FsX3RvX3V0YyhiKSksYy5wdXNoKGIpfSx0aGlzKSksZD0hMCk6KGM9dGhpcy5pc0lucHV0P3RoaXMuZWxlbWVudC52YWwoKTp0aGlzLmVsZW1lbnQuZGF0YSgiZGF0ZSIpfHx0aGlzLmlucHV0RmllbGQudmFsKCksYz1jJiZ0aGlzLm8ubXVsdGlkYXRlP2Muc3BsaXQodGhpcy5vLm11bHRpZGF0ZVNlcGFyYXRvcik6W2NdLGRlbGV0ZSB0aGlzLmVsZW1lbnQuZGF0YSgpLmRhdGUpLGM9YS5tYXAoYyxhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiByLnBhcnNlRGF0ZShhLHRoaXMuby5mb3JtYXQsdGhpcy5vLmxhbmd1YWdlLHRoaXMuby5hc3N1bWVOZWFyYnlZZWFyKX0sdGhpcykpLGM9YS5ncmVwKGMsYS5wcm94eShmdW5jdGlvbihhKXtyZXR1cm4hdGhpcy5kYXRlV2l0aGluUmFuZ2UoYSl8fCFhfSx0aGlzKSwhMCksdGhpcy5kYXRlcy5yZXBsYWNlKGMpLHRoaXMuZGF0ZXMubGVuZ3RoP3RoaXMudmlld0RhdGU9bmV3IERhdGUodGhpcy5kYXRlcy5nZXQoLTEpKTp0aGlzLnZpZXdEYXRlPHRoaXMuby5zdGFydERhdGU/dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLm8uc3RhcnREYXRlKTp0aGlzLnZpZXdEYXRlPnRoaXMuby5lbmREYXRlP3RoaXMudmlld0RhdGU9bmV3IERhdGUodGhpcy5vLmVuZERhdGUpOnRoaXMudmlld0RhdGU9dGhpcy5vLmRlZmF1bHRWaWV3RGF0ZSxkPyh0aGlzLnNldFZhbHVlKCksdGhpcy5lbGVtZW50LmNoYW5nZSgpKTp0aGlzLmRhdGVzLmxlbmd0aCYmU3RyaW5nKGIpIT09U3RyaW5nKHRoaXMuZGF0ZXMpJiZkJiYodGhpcy5fdHJpZ2dlcigiY2hhbmdlRGF0ZSIpLHRoaXMuZWxlbWVudC5jaGFuZ2UoKSksIXRoaXMuZGF0ZXMubGVuZ3RoJiZiLmxlbmd0aCYmKHRoaXMuX3RyaWdnZXIoImNsZWFyRGF0ZSIpLHRoaXMuZWxlbWVudC5jaGFuZ2UoKSksdGhpcy5maWxsKCksdGhpc30sZmlsbERvdzpmdW5jdGlvbigpe3ZhciBiPXRoaXMuby53ZWVrU3RhcnQsYz0iPHRyPiI7Zm9yKHRoaXMuby5jYWxlbmRhcldlZWtzJiYoYys9Jzx0aCBjbGFzcz0iY3ciPiYjMTYwOzwvdGg+Jyk7Yjx0aGlzLm8ud2Vla1N0YXJ0Kzc7KWMrPSc8dGggY2xhc3M9ImRvdycsLTEhPT1hLmluQXJyYXkoYix0aGlzLm8uZGF5c09mV2Vla0Rpc2FibGVkKSYmKGMrPSIgZGlzYWJsZWQiKSxjKz0nIj4nK3FbdGhpcy5vLmxhbmd1YWdlXS5kYXlzTWluW2IrKyU3XSsiPC90aD4iO2MrPSI8L3RyPiIsdGhpcy5waWNrZXIuZmluZCgiLmRhdGVwaWNrZXItZGF5cyB0aGVhZCIpLmFwcGVuZChjKX0sZmlsbE1vbnRoczpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLl91dGNfdG9fbG9jYWwodGhpcy52aWV3RGF0ZSksYj0iIixjPTA7MTI+Yzspe3ZhciBkPWEmJmEuZ2V0TW9udGgoKT09PWM/IiBmb2N1c2VkIjoiIjtiKz0nPHNwYW4gY2xhc3M9Im1vbnRoJytkKyciPicrcVt0aGlzLm8ubGFuZ3VhZ2VdLm1vbnRoc1Nob3J0W2MrK10rIjwvc3Bhbj4ifXRoaXMucGlja2VyLmZpbmQoIi5kYXRlcGlja2VyLW1vbnRocyB0ZCIpLmh0bWwoYil9LHNldFJhbmdlOmZ1bmN0aW9uKGIpe2ImJmIubGVuZ3RoP3RoaXMucmFuZ2U9YS5tYXAoYixmdW5jdGlvbihhKXtyZXR1cm4gYS52YWx1ZU9mKCl9KTpkZWxldGUgdGhpcy5yYW5nZSx0aGlzLmZpbGwoKX0sZ2V0Q2xhc3NOYW1lczpmdW5jdGlvbihiKXt2YXIgYz1bXSxmPXRoaXMudmlld0RhdGUuZ2V0VVRDRnVsbFllYXIoKSxnPXRoaXMudmlld0RhdGUuZ2V0VVRDTW9udGgoKSxoPWQoKTtyZXR1cm4gYi5nZXRVVENGdWxsWWVhcigpPGZ8fGIuZ2V0VVRDRnVsbFllYXIoKT09PWYmJmIuZ2V0VVRDTW9udGgoKTxnP2MucHVzaCgib2xkIik6KGIuZ2V0VVRDRnVsbFllYXIoKT5mfHxiLmdldFVUQ0Z1bGxZZWFyKCk9PT1mJiZiLmdldFVUQ01vbnRoKCk+ZykmJmMucHVzaCgibmV3IiksdGhpcy5mb2N1c0RhdGUmJmIudmFsdWVPZigpPT09dGhpcy5mb2N1c0RhdGUudmFsdWVPZigpJiZjLnB1c2goImZvY3VzZWQiKSx0aGlzLm8udG9kYXlIaWdobGlnaHQmJmUoYixoKSYmYy5wdXNoKCJ0b2RheSIpLC0xIT09dGhpcy5kYXRlcy5jb250YWlucyhiKSYmYy5wdXNoKCJhY3RpdmUiKSx0aGlzLmRhdGVXaXRoaW5SYW5nZShiKXx8Yy5wdXNoKCJkaXNhYmxlZCIpLHRoaXMuZGF0ZUlzRGlzYWJsZWQoYikmJmMucHVzaCgiZGlzYWJsZWQiLCJkaXNhYmxlZC1kYXRlIiksLTEhPT1hLmluQXJyYXkoYi5nZXRVVENEYXkoKSx0aGlzLm8uZGF5c09mV2Vla0hpZ2hsaWdodGVkKSYmYy5wdXNoKCJoaWdobGlnaHRlZCIpLHRoaXMucmFuZ2UmJihiPnRoaXMucmFuZ2VbMF0mJmI8dGhpcy5yYW5nZVt0aGlzLnJhbmdlLmxlbmd0aC0xXSYmYy5wdXNoKCJyYW5nZSIpLC0xIT09YS5pbkFycmF5KGIudmFsdWVPZigpLHRoaXMucmFuZ2UpJiZjLnB1c2goInNlbGVjdGVkIiksYi52YWx1ZU9mKCk9PT10aGlzLnJhbmdlWzBdJiZjLnB1c2goInJhbmdlLXN0YXJ0IiksYi52YWx1ZU9mKCk9PT10aGlzLnJhbmdlW3RoaXMucmFuZ2UubGVuZ3RoLTFdJiZjLnB1c2goInJhbmdlLWVuZCIpKSxjfSxfZmlsbF95ZWFyc1ZpZXc6ZnVuY3Rpb24oYyxkLGUsZixnLGgsaSxqKXt2YXIgayxsLG0sbixvLHAscSxyLHMsdCx1O2ZvcihrPSIiLGw9dGhpcy5waWNrZXIuZmluZChjKSxtPXBhcnNlSW50KGcvZSwxMCkqZSxvPXBhcnNlSW50KGgvZiwxMCkqZixwPXBhcnNlSW50KGkvZiwxMCkqZixuPWEubWFwKHRoaXMuZGF0ZXMsZnVuY3Rpb24oYSl7cmV0dXJuIHBhcnNlSW50KGEuZ2V0VVRDRnVsbFllYXIoKS9mLDEwKSpmfSksbC5maW5kKCIuZGF0ZXBpY2tlci1zd2l0Y2giKS50ZXh0KG0rIi0iKyhtKzkqZikpLHE9bS1mLHI9LTE7MTE+cjtyKz0xKXM9W2RdLHQ9bnVsbCwtMT09PXI/cy5wdXNoKCJvbGQiKToxMD09PXImJnMucHVzaCgibmV3IiksLTEhPT1hLmluQXJyYXkocSxuKSYmcy5wdXNoKCJhY3RpdmUiKSwobz5xfHxxPnApJiZzLnB1c2goImRpc2FibGVkIikscT09PXRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKSYmcy5wdXNoKCJmb2N1c2VkIiksaiE9PWEubm9vcCYmKHU9aihuZXcgRGF0ZShxLDAsMSkpLHU9PT1iP3U9e306ImJvb2xlYW4iPT10eXBlb2YgdT91PXtlbmFibGVkOnV9OiJzdHJpbmciPT10eXBlb2YgdSYmKHU9e2NsYXNzZXM6dX0pLHUuZW5hYmxlZD09PSExJiZzLnB1c2goImRpc2FibGVkIiksdS5jbGFzc2VzJiYocz1zLmNvbmNhdCh1LmNsYXNzZXMuc3BsaXQoL1xzKy8pKSksdS50b29sdGlwJiYodD11LnRvb2x0aXApKSxrKz0nPHNwYW4gY2xhc3M9Iicrcy5qb2luKCIgIikrJyInKyh0PycgdGl0bGU9IicrdCsnIic6IiIpKyI+IitxKyI8L3NwYW4+IixxKz1mO2wuZmluZCgidGQiKS5odG1sKGspfSxmaWxsOmZ1bmN0aW9uKCl7dmFyIGQsZSxmPW5ldyBEYXRlKHRoaXMudmlld0RhdGUpLGc9Zi5nZXRVVENGdWxsWWVhcigpLGg9Zi5nZXRVVENNb250aCgpLGk9dGhpcy5vLnN0YXJ0RGF0ZSE9PS0oMS8wKT90aGlzLm8uc3RhcnREYXRlLmdldFVUQ0Z1bGxZZWFyKCk6LSgxLzApLGo9dGhpcy5vLnN0YXJ0RGF0ZSE9PS0oMS8wKT90aGlzLm8uc3RhcnREYXRlLmdldFVUQ01vbnRoKCk6LSgxLzApLGs9dGhpcy5vLmVuZERhdGUhPT0xLzA/dGhpcy5vLmVuZERhdGUuZ2V0VVRDRnVsbFllYXIoKToxLzAsbD10aGlzLm8uZW5kRGF0ZSE9PTEvMD90aGlzLm8uZW5kRGF0ZS5nZXRVVENNb250aCgpOjEvMCxtPXFbdGhpcy5vLmxhbmd1YWdlXS50b2RheXx8cS5lbi50b2RheXx8IiIsbj1xW3RoaXMuby5sYW5ndWFnZV0uY2xlYXJ8fHEuZW4uY2xlYXJ8fCIiLG89cVt0aGlzLm8ubGFuZ3VhZ2VdLnRpdGxlRm9ybWF0fHxxLmVuLnRpdGxlRm9ybWF0O2lmKCFpc05hTihnKSYmIWlzTmFOKGgpKXt0aGlzLnBpY2tlci5maW5kKCIuZGF0ZXBpY2tlci1kYXlzIC5kYXRlcGlja2VyLXN3aXRjaCIpLnRleHQoci5mb3JtYXREYXRlKGYsbyx0aGlzLm8ubGFuZ3VhZ2UpKSx0aGlzLnBpY2tlci5maW5kKCJ0Zm9vdCAudG9kYXkiKS50ZXh0KG0pLnRvZ2dsZSh0aGlzLm8udG9kYXlCdG4hPT0hMSksdGhpcy5waWNrZXIuZmluZCgidGZvb3QgLmNsZWFyIikudGV4dChuKS50b2dnbGUodGhpcy5vLmNsZWFyQnRuIT09ITEpLHRoaXMucGlja2VyLmZpbmQoInRoZWFkIC5kYXRlcGlja2VyLXRpdGxlIikudGV4dCh0aGlzLm8udGl0bGUpLnRvZ2dsZSgiIiE9PXRoaXMuby50aXRsZSksdGhpcy51cGRhdGVOYXZBcnJvd3MoKSx0aGlzLmZpbGxNb250aHMoKTt2YXIgcD1jKGcsaCwwKSxzPXAuZ2V0VVRDRGF0ZSgpO3Auc2V0VVRDRGF0ZShzLShwLmdldFVUQ0RheSgpLXRoaXMuby53ZWVrU3RhcnQrNyklNyk7dmFyIHQ9bmV3IERhdGUocCk7cC5nZXRVVENGdWxsWWVhcigpPDEwMCYmdC5zZXRVVENGdWxsWWVhcihwLmdldFVUQ0Z1bGxZZWFyKCkpLHQuc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKSs0MiksdD10LnZhbHVlT2YoKTtmb3IodmFyIHUsdix3PVtdO3AudmFsdWVPZigpPHQ7KXtpZih1PXAuZ2V0VVRDRGF5KCksdT09PXRoaXMuby53ZWVrU3RhcnQmJih3LnB1c2goIjx0cj4iKSx0aGlzLm8uY2FsZW5kYXJXZWVrcykpe3ZhciB4PW5ldyBEYXRlKCtwKyh0aGlzLm8ud2Vla1N0YXJ0LXUtNyklNyo4NjRlNSkseT1uZXcgRGF0ZShOdW1iZXIoeCkrKDExLXguZ2V0VVRDRGF5KCkpJTcqODY0ZTUpLHo9bmV3IERhdGUoTnVtYmVyKHo9Yyh5LmdldFVUQ0Z1bGxZZWFyKCksMCwxKSkrKDExLXouZ2V0VVRDRGF5KCkpJTcqODY0ZTUpLEE9KHkteikvODY0ZTUvNysxO3cucHVzaCgnPHRkIGNsYXNzPSJjdyI+JytBKyI8L3RkPiIpfXY9dGhpcy5nZXRDbGFzc05hbWVzKHApLHYucHVzaCgiZGF5IiksdGhpcy5vLmJlZm9yZVNob3dEYXkhPT1hLm5vb3AmJihlPXRoaXMuby5iZWZvcmVTaG93RGF5KHRoaXMuX3V0Y190b19sb2NhbChwKSksZT09PWI/ZT17fToiYm9vbGVhbiI9PXR5cGVvZiBlP2U9e2VuYWJsZWQ6ZX06InN0cmluZyI9PXR5cGVvZiBlJiYoZT17Y2xhc3NlczplfSksZS5lbmFibGVkPT09ITEmJnYucHVzaCgiZGlzYWJsZWQiKSxlLmNsYXNzZXMmJih2PXYuY29uY2F0KGUuY2xhc3Nlcy5zcGxpdCgvXHMrLykpKSxlLnRvb2x0aXAmJihkPWUudG9vbHRpcCkpLHY9YS51bmlxdWUodiksdy5wdXNoKCc8dGQgY2xhc3M9Iicrdi5qb2luKCIgIikrJyInKyhkPycgdGl0bGU9IicrZCsnIic6IiIpKyh0aGlzLm8uZGF0ZUNlbGxzPycgZGF0YS1kYXRlPSInK3AuZ2V0VGltZSgpLnRvU3RyaW5nKCkrJyInOiIiKSsiPiIrcC5nZXRVVENEYXRlKCkrIjwvdGQ+IiksZD1udWxsLHU9PT10aGlzLm8ud2Vla0VuZCYmdy5wdXNoKCI8L3RyPiIpLHAuc2V0VVRDRGF0ZShwLmdldFVUQ0RhdGUoKSsxKX10aGlzLnBpY2tlci5maW5kKCIuZGF0ZXBpY2tlci1kYXlzIHRib2R5IikuaHRtbCh3LmpvaW4oIiIpKTt2YXIgQj1xW3RoaXMuby5sYW5ndWFnZV0ubW9udGhzVGl0bGV8fHEuZW4ubW9udGhzVGl0bGV8fCJNb250aHMiLEM9dGhpcy5waWNrZXIuZmluZCgiLmRhdGVwaWNrZXItbW9udGhzIikuZmluZCgiLmRhdGVwaWNrZXItc3dpdGNoIikudGV4dCh0aGlzLm8ubWF4Vmlld01vZGU8Mj9COmcpLmVuZCgpLmZpbmQoInRib2R5IHNwYW4iKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7aWYoYS5lYWNoKHRoaXMuZGF0ZXMsZnVuY3Rpb24oYSxiKXtiLmdldFVUQ0Z1bGxZZWFyKCk9PT1nJiZDLmVxKGIuZ2V0VVRDTW9udGgoKSkuYWRkQ2xhc3MoImFjdGl2ZSIpfSksKGk+Z3x8Zz5rKSYmQy5hZGRDbGFzcygiZGlzYWJsZWQiKSxnPT09aSYmQy5zbGljZSgwLGopLmFkZENsYXNzKCJkaXNhYmxlZCIpLGc9PT1rJiZDLnNsaWNlKGwrMSkuYWRkQ2xhc3MoImRpc2FibGVkIiksdGhpcy5vLmJlZm9yZVNob3dNb250aCE9PWEubm9vcCl7dmFyIEQ9dGhpczthLmVhY2goQyxmdW5jdGlvbihjLGQpe3ZhciBlPW5ldyBEYXRlKGcsYywxKSxmPUQuby5iZWZvcmVTaG93TW9udGgoZSk7Zj09PWI/Zj17fToiYm9vbGVhbiI9PXR5cGVvZiBmP2Y9e2VuYWJsZWQ6Zn06InN0cmluZyI9PXR5cGVvZiBmJiYoZj17Y2xhc3NlczpmfSksZi5lbmFibGVkIT09ITF8fGEoZCkuaGFzQ2xhc3MoImRpc2FibGVkIil8fGEoZCkuYWRkQ2xhc3MoImRpc2FibGVkIiksZi5jbGFzc2VzJiZhKGQpLmFkZENsYXNzKGYuY2xhc3NlcyksZi50b29sdGlwJiZhKGQpLnByb3AoInRpdGxlIixmLnRvb2x0aXApfSl9dGhpcy5fZmlsbF95ZWFyc1ZpZXcoIi5kYXRlcGlja2VyLXllYXJzIiwieWVhciIsMTAsMSxnLGksayx0aGlzLm8uYmVmb3JlU2hvd1llYXIpLHRoaXMuX2ZpbGxfeWVhcnNWaWV3KCIuZGF0ZXBpY2tlci1kZWNhZGVzIiwiZGVjYWRlIiwxMDAsMTAsZyxpLGssdGhpcy5vLmJlZm9yZVNob3dEZWNhZGUpLHRoaXMuX2ZpbGxfeWVhcnNWaWV3KCIuZGF0ZXBpY2tlci1jZW50dXJpZXMiLCJjZW50dXJ5IiwxZTMsMTAwLGcsaSxrLHRoaXMuby5iZWZvcmVTaG93Q2VudHVyeSl9fSx1cGRhdGVOYXZBcnJvd3M6ZnVuY3Rpb24oKXtpZih0aGlzLl9hbGxvd191cGRhdGUpe3ZhciBhLGIsYz1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlKSxkPWMuZ2V0VVRDRnVsbFllYXIoKSxlPWMuZ2V0VVRDTW9udGgoKTtzd2l0Y2godGhpcy52aWV3TW9kZSl7Y2FzZSAwOmE9dGhpcy5vLnN0YXJ0RGF0ZSE9PS0oMS8wKSYmZDw9dGhpcy5vLnN0YXJ0RGF0ZS5nZXRVVENGdWxsWWVhcigpJiZlPD10aGlzLm8uc3RhcnREYXRlLmdldFVUQ01vbnRoKCksYj10aGlzLm8uZW5kRGF0ZSE9PTEvMCYmZD49dGhpcy5vLmVuZERhdGUuZ2V0VVRDRnVsbFllYXIoKSYmZT49dGhpcy5vLmVuZERhdGUuZ2V0VVRDTW9udGgoKTticmVhaztjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6YT10aGlzLm8uc3RhcnREYXRlIT09LSgxLzApJiZkPD10aGlzLm8uc3RhcnREYXRlLmdldFVUQ0Z1bGxZZWFyKCksYj10aGlzLm8uZW5kRGF0ZSE9PTEvMCYmZD49dGhpcy5vLmVuZERhdGUuZ2V0VVRDRnVsbFllYXIoKX10aGlzLnBpY2tlci5maW5kKCIucHJldiIpLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsYSksdGhpcy5waWNrZXIuZmluZCgiLm5leHQiKS50b2dnbGVDbGFzcygiZGlzYWJsZWQiLGIpfX0sY2xpY2s6ZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGUsZixnLGgsaTtlPWEoYi50YXJnZXQpLGUuaGFzQ2xhc3MoImRhdGVwaWNrZXItc3dpdGNoIikmJnRoaXMuc2V0Vmlld01vZGUodGhpcy52aWV3TW9kZSsxKSxlLmhhc0NsYXNzKCJ0b2RheSIpJiYhZS5oYXNDbGFzcygiZGF5IikmJih0aGlzLnNldFZpZXdNb2RlKDApLHRoaXMuX3NldERhdGUoZCgpLCJsaW5rZWQiPT09dGhpcy5vLnRvZGF5QnRuP251bGw6InZpZXciKSksZS5oYXNDbGFzcygiY2xlYXIiKSYmdGhpcy5jbGVhckRhdGVzKCksZS5oYXNDbGFzcygiZGlzYWJsZWQiKXx8KGUuaGFzQ2xhc3MoImRheSIpJiYoZz1OdW1iZXIoZS50ZXh0KCkpLGg9dGhpcy52aWV3RGF0ZS5nZXRVVENGdWxsWWVhcigpLGk9dGhpcy52aWV3RGF0ZS5nZXRVVENNb250aCgpLChlLmhhc0NsYXNzKCJvbGQiKXx8ZS5oYXNDbGFzcygibmV3IikpJiYoZj1lLmhhc0NsYXNzKCJvbGQiKT8tMToxLGk9KGkrZisxMiklMTIsKC0xPT09ZiYmMTE9PT1pfHwxPT09ZiYmMD09PWkpJiYoaCs9Zix0aGlzLl90cmlnZ2VyKCJjaGFuZ2VZZWFyIix0aGlzLnZpZXdEYXRlKSksdGhpcy5fdHJpZ2dlcigiY2hhbmdlTW9udGgiLHRoaXMudmlld0RhdGUpKSx0aGlzLl9zZXREYXRlKGMoaCxpLGcpKSksKGUuaGFzQ2xhc3MoIm1vbnRoIil8fGUuaGFzQ2xhc3MoInllYXIiKXx8ZS5oYXNDbGFzcygiZGVjYWRlIil8fGUuaGFzQ2xhc3MoImNlbnR1cnkiKSkmJih0aGlzLnZpZXdEYXRlLnNldFVUQ0RhdGUoMSksZz0xLDE9PT10aGlzLnZpZXdNb2RlPyhpPWUucGFyZW50KCkuZmluZCgic3BhbiIpLmluZGV4KGUpLGg9dGhpcy52aWV3RGF0ZS5nZXRVVENGdWxsWWVhcigpLHRoaXMudmlld0RhdGUuc2V0VVRDTW9udGgoaSkpOihpPTAsaD1OdW1iZXIoZS50ZXh0KCkpLHRoaXMudmlld0RhdGUuc2V0VVRDRnVsbFllYXIoaCkpLHRoaXMuX3RyaWdnZXIoci52aWV3TW9kZXNbdGhpcy52aWV3TW9kZS0xXS5lLHRoaXMudmlld0RhdGUpLHRoaXMudmlld01vZGU9PT10aGlzLm8ubWluVmlld01vZGU/dGhpcy5fc2V0RGF0ZShjKGgsaSxnKSk6KHRoaXMuc2V0Vmlld01vZGUodGhpcy52aWV3TW9kZS0xKSx0aGlzLmZpbGwoKSkpKSx0aGlzLnBpY2tlci5pcygiOnZpc2libGUiKSYmdGhpcy5fZm9jdXNlZF9mcm9tJiZ0aGlzLl9mb2N1c2VkX2Zyb20uZm9jdXMoKSxkZWxldGUgdGhpcy5fZm9jdXNlZF9mcm9tfSxuYXZBcnJvd3NDbGljazpmdW5jdGlvbihiKXt2YXIgYz1hKGIudGFyZ2V0KSxkPWMuaGFzQ2xhc3MoInByZXYiKT8tMToxOzAhPT10aGlzLnZpZXdNb2RlJiYoZCo9MTIqci52aWV3TW9kZXNbdGhpcy52aWV3TW9kZV0ubmF2U3RlcCksdGhpcy52aWV3RGF0ZT10aGlzLm1vdmVNb250aCh0aGlzLnZpZXdEYXRlLGQpLHRoaXMuX3RyaWdnZXIoci52aWV3TW9kZXNbdGhpcy52aWV3TW9kZV0uZSx0aGlzLnZpZXdEYXRlKSx0aGlzLmZpbGwoKX0sX3RvZ2dsZV9tdWx0aWRhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5kYXRlcy5jb250YWlucyhhKTtpZihhfHx0aGlzLmRhdGVzLmNsZWFyKCksLTEhPT1iPyh0aGlzLm8ubXVsdGlkYXRlPT09ITB8fHRoaXMuby5tdWx0aWRhdGU+MXx8dGhpcy5vLnRvZ2dsZUFjdGl2ZSkmJnRoaXMuZGF0ZXMucmVtb3ZlKGIpOnRoaXMuby5tdWx0aWRhdGU9PT0hMT8odGhpcy5kYXRlcy5jbGVhcigpLHRoaXMuZGF0ZXMucHVzaChhKSk6dGhpcy5kYXRlcy5wdXNoKGEpLCJudW1iZXIiPT10eXBlb2YgdGhpcy5vLm11bHRpZGF0ZSlmb3IoO3RoaXMuZGF0ZXMubGVuZ3RoPnRoaXMuby5tdWx0aWRhdGU7KXRoaXMuZGF0ZXMucmVtb3ZlKDApfSxfc2V0RGF0ZTpmdW5jdGlvbihhLGIpe2ImJiJkYXRlIiE9PWJ8fHRoaXMuX3RvZ2dsZV9tdWx0aWRhdGUoYSYmbmV3IERhdGUoYSkpLGImJiJ2aWV3IiE9PWJ8fCh0aGlzLnZpZXdEYXRlPWEmJm5ldyBEYXRlKGEpKSx0aGlzLmZpbGwoKSx0aGlzLnNldFZhbHVlKCksYiYmInZpZXciPT09Ynx8dGhpcy5fdHJpZ2dlcigiY2hhbmdlRGF0ZSIpLHRoaXMuaW5wdXRGaWVsZC50cmlnZ2VyKCJjaGFuZ2UiKSwhdGhpcy5vLmF1dG9jbG9zZXx8YiYmImRhdGUiIT09Ynx8dGhpcy5oaWRlKCl9LG1vdmVEYXk6ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgRGF0ZShhKTtyZXR1cm4gYy5zZXRVVENEYXRlKGEuZ2V0VVRDRGF0ZSgpK2IpLGN9LG1vdmVXZWVrOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW92ZURheShhLDcqYil9LG1vdmVNb250aDpmdW5jdGlvbihhLGIpe2lmKCFnKGEpKXJldHVybiB0aGlzLm8uZGVmYXVsdFZpZXdEYXRlO2lmKCFiKXJldHVybiBhO3ZhciBjLGQsZT1uZXcgRGF0ZShhLnZhbHVlT2YoKSksZj1lLmdldFVUQ0RhdGUoKSxoPWUuZ2V0VVRDTW9udGgoKSxpPU1hdGguYWJzKGIpO2lmKGI9Yj4wPzE6LTEsMT09PWkpZD0tMT09PWI/ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRVVENNb250aCgpPT09aH06ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRVVENNb250aCgpIT09Y30sYz1oK2IsZS5zZXRVVENNb250aChjKSxjPShjKzEyKSUxMjtlbHNle2Zvcih2YXIgaj0wO2k+ajtqKyspZT10aGlzLm1vdmVNb250aChlLGIpO2M9ZS5nZXRVVENNb250aCgpLGUuc2V0VVRDRGF0ZShmKSxkPWZ1bmN0aW9uKCl7cmV0dXJuIGMhPT1lLmdldFVUQ01vbnRoKCl9fWZvcig7ZCgpOyllLnNldFVUQ0RhdGUoLS1mKSxlLnNldFVUQ01vbnRoKGMpO3JldHVybiBlfSxtb3ZlWWVhcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdmVNb250aChhLDEyKmIpfSxtb3ZlQXZhaWxhYmxlRGF0ZTpmdW5jdGlvbihhLGIsYyl7ZG97aWYoYT10aGlzW2NdKGEsYiksIXRoaXMuZGF0ZVdpdGhpblJhbmdlKGEpKXJldHVybiExO2M9Im1vdmVEYXkifXdoaWxlKHRoaXMuZGF0ZUlzRGlzYWJsZWQoYSkpO3JldHVybiBhfSx3ZWVrT2ZEYXRlSXNEaXNhYmxlZDpmdW5jdGlvbihiKXtyZXR1cm4tMSE9PWEuaW5BcnJheShiLmdldFVUQ0RheSgpLHRoaXMuby5kYXlzT2ZXZWVrRGlzYWJsZWQpfSxkYXRlSXNEaXNhYmxlZDpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy53ZWVrT2ZEYXRlSXNEaXNhYmxlZChiKXx8YS5ncmVwKHRoaXMuby5kYXRlc0Rpc2FibGVkLGZ1bmN0aW9uKGEpe3JldHVybiBlKGIsYSl9KS5sZW5ndGg+MH0sZGF0ZVdpdGhpblJhbmdlOmZ1bmN0aW9uKGEpe3JldHVybiBhPj10aGlzLm8uc3RhcnREYXRlJiZhPD10aGlzLm8uZW5kRGF0ZX0sa2V5ZG93bjpmdW5jdGlvbihhKXtpZighdGhpcy5waWNrZXIuaXMoIjp2aXNpYmxlIikpcmV0dXJuIHZvaWQoKDQwPT09YS5rZXlDb2RlfHwyNz09PWEua2V5Q29kZSkmJih0aGlzLnNob3coKSxhLnN0b3BQcm9wYWdhdGlvbigpKSk7dmFyIGIsYyxkPSExLGU9dGhpcy5mb2N1c0RhdGV8fHRoaXMudmlld0RhdGU7c3dpdGNoKGEua2V5Q29kZSl7Y2FzZSAyNzp0aGlzLmZvY3VzRGF0ZT8odGhpcy5mb2N1c0RhdGU9bnVsbCx0aGlzLnZpZXdEYXRlPXRoaXMuZGF0ZXMuZ2V0KC0xKXx8dGhpcy52aWV3RGF0ZSx0aGlzLmZpbGwoKSk6dGhpcy5oaWRlKCksYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCk7YnJlYWs7Y2FzZSAzNzpjYXNlIDM4OmNhc2UgMzk6Y2FzZSA0MDppZighdGhpcy5vLmtleWJvYXJkTmF2aWdhdGlvbnx8Nz09PXRoaXMuby5kYXlzT2ZXZWVrRGlzYWJsZWQubGVuZ3RoKWJyZWFrO2I9Mzc9PT1hLmtleUNvZGV8fDM4PT09YS5rZXlDb2RlPy0xOjEsMD09PXRoaXMudmlld01vZGU/YS5jdHJsS2V5PyhjPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlWWVhciIpLGMmJnRoaXMuX3RyaWdnZXIoImNoYW5nZVllYXIiLHRoaXMudmlld0RhdGUpKTphLnNoaWZ0S2V5PyhjPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlTW9udGgiKSxjJiZ0aGlzLl90cmlnZ2VyKCJjaGFuZ2VNb250aCIsdGhpcy52aWV3RGF0ZSkpOjM3PT09YS5rZXlDb2RlfHwzOT09PWEua2V5Q29kZT9jPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlRGF5Iik6dGhpcy53ZWVrT2ZEYXRlSXNEaXNhYmxlZChlKXx8KGM9dGhpcy5tb3ZlQXZhaWxhYmxlRGF0ZShlLGIsIm1vdmVXZWVrIikpOjE9PT10aGlzLnZpZXdNb2RlPygoMzg9PT1hLmtleUNvZGV8fDQwPT09YS5rZXlDb2RlKSYmKGI9NCpiKSxjPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlTW9udGgiKSk6Mj09PXRoaXMudmlld01vZGUmJigoMzg9PT1hLmtleUNvZGV8fDQwPT09YS5rZXlDb2RlKSYmKGI9NCpiKSxjPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlWWVhciIpKSxjJiYodGhpcy5mb2N1c0RhdGU9dGhpcy52aWV3RGF0ZT1jLHRoaXMuc2V0VmFsdWUoKSx0aGlzLmZpbGwoKSxhLnByZXZlbnREZWZhdWx0KCkpO2JyZWFrO2Nhc2UgMTM6aWYoIXRoaXMuby5mb3JjZVBhcnNlKWJyZWFrO2U9dGhpcy5mb2N1c0RhdGV8fHRoaXMuZGF0ZXMuZ2V0KC0xKXx8dGhpcy52aWV3RGF0ZSx0aGlzLm8ua2V5Ym9hcmROYXZpZ2F0aW9uJiYodGhpcy5fdG9nZ2xlX211bHRpZGF0ZShlKSxkPSEwKSx0aGlzLmZvY3VzRGF0ZT1udWxsLHRoaXMudmlld0RhdGU9dGhpcy5kYXRlcy5nZXQoLTEpfHx0aGlzLnZpZXdEYXRlLHRoaXMuc2V0VmFsdWUoKSx0aGlzLmZpbGwoKSx0aGlzLnBpY2tlci5pcygiOnZpc2libGUiKSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuby5hdXRvY2xvc2UmJnRoaXMuaGlkZSgpKTticmVhaztjYXNlIDk6dGhpcy5mb2N1c0RhdGU9bnVsbCx0aGlzLnZpZXdEYXRlPXRoaXMuZGF0ZXMuZ2V0KC0xKXx8dGhpcy52aWV3RGF0ZSx0aGlzLmZpbGwoKSx0aGlzLmhpZGUoKX1kJiYodGhpcy5kYXRlcy5sZW5ndGg/dGhpcy5fdHJpZ2dlcigiY2hhbmdlRGF0ZSIpOnRoaXMuX3RyaWdnZXIoImNsZWFyRGF0ZSIpLHRoaXMuaW5wdXRGaWVsZC50cmlnZ2VyKCJjaGFuZ2UiKSl9LHNldFZpZXdNb2RlOmZ1bmN0aW9uKGEpe3RoaXMudmlld01vZGU9YSx0aGlzLnBpY2tlci5jaGlsZHJlbigiZGl2IikuaGlkZSgpLmZpbHRlcigiLmRhdGVwaWNrZXItIityLnZpZXdNb2Rlc1t0aGlzLnZpZXdNb2RlXS5jbHNOYW1lKS5zaG93KCksdGhpcy51cGRhdGVOYXZBcnJvd3MoKX19O3ZhciBsPWZ1bmN0aW9uKGIsYyl7YS5kYXRhKGIsImRhdGVwaWNrZXIiLHRoaXMpLHRoaXMuZWxlbWVudD1hKGIpLHRoaXMuaW5wdXRzPWEubWFwKGMuaW5wdXRzLGZ1bmN0aW9uKGEpe3JldHVybiBhLmpxdWVyeT9hWzBdOmF9KSxkZWxldGUgYy5pbnB1dHMsdGhpcy5rZWVwRW1wdHlWYWx1ZXM9Yy5rZWVwRW1wdHlWYWx1ZXMsZGVsZXRlIGMua2VlcEVtcHR5VmFsdWVzLG4uY2FsbChhKHRoaXMuaW5wdXRzKSxjKS5vbigiY2hhbmdlRGF0ZSIsYS5wcm94eSh0aGlzLmRhdGVVcGRhdGVkLHRoaXMpKSx0aGlzLnBpY2tlcnM9YS5tYXAodGhpcy5pbnB1dHMsZnVuY3Rpb24oYil7cmV0dXJuIGEuZGF0YShiLCJkYXRlcGlja2VyIil9KSx0aGlzLnVwZGF0ZURhdGVzKCl9O2wucHJvdG90eXBlPXt1cGRhdGVEYXRlczpmdW5jdGlvbigpe3RoaXMuZGF0ZXM9YS5tYXAodGhpcy5waWNrZXJzLGZ1bmN0aW9uKGEpe3JldHVybiBhLmdldFVUQ0RhdGUoKX0pLHRoaXMudXBkYXRlUmFuZ2VzKCl9LHVwZGF0ZVJhbmdlczpmdW5jdGlvbigpe3ZhciBiPWEubWFwKHRoaXMuZGF0ZXMsZnVuY3Rpb24oYSl7cmV0dXJuIGEudmFsdWVPZigpfSk7YS5lYWNoKHRoaXMucGlja2VycyxmdW5jdGlvbihhLGMpe2Muc2V0UmFuZ2UoYil9KX0sZGF0ZVVwZGF0ZWQ6ZnVuY3Rpb24oYyl7aWYoIXRoaXMudXBkYXRpbmcpe3RoaXMudXBkYXRpbmc9ITA7dmFyIGQ9YS5kYXRhKGMudGFyZ2V0LCJkYXRlcGlja2VyIik7aWYoZCE9PWIpe3ZhciBlPWQuZ2V0VVRDRGF0ZSgpLGY9dGhpcy5rZWVwRW1wdHlWYWx1ZXMsZz1hLmluQXJyYXkoYy50YXJnZXQsdGhpcy5pbnB1dHMpLGg9Zy0xLGk9ZysxLGo9dGhpcy5pbnB1dHMubGVuZ3RoO2lmKC0xIT09Zyl7aWYoYS5lYWNoKHRoaXMucGlja2VycyxmdW5jdGlvbihhLGIpe2IuZ2V0VVRDRGF0ZSgpfHxiIT09ZCYmZnx8Yi5zZXRVVENEYXRlKGUpfSksZTx0aGlzLmRhdGVzW2hdKWZvcig7aD49MCYmZTx0aGlzLmRhdGVzW2hdOyl0aGlzLnBpY2tlcnNbaC0tXS5zZXRVVENEYXRlKGUpO2Vsc2UgaWYoZT50aGlzLmRhdGVzW2ldKWZvcig7aj5pJiZlPnRoaXMuZGF0ZXNbaV07KXRoaXMucGlja2Vyc1tpKytdLnNldFVUQ0RhdGUoZSk7dGhpcy51cGRhdGVEYXRlcygpLGRlbGV0ZSB0aGlzLnVwZGF0aW5nfX19fSxkZXN0cm95OmZ1bmN0aW9uKCl7YS5tYXAodGhpcy5waWNrZXJzLGZ1bmN0aW9uKGEpe2EuZGVzdHJveSgpfSksZGVsZXRlIHRoaXMuZWxlbWVudC5kYXRhKCkuZGF0ZXBpY2tlcn0scmVtb3ZlOmYoImRlc3Ryb3kiKX07dmFyIG09YS5mbi5kYXRlcGlja2VyLG49ZnVuY3Rpb24oYyl7dmFyIGQ9QXJyYXkuYXBwbHkobnVsbCxhcmd1bWVudHMpO2Quc2hpZnQoKTt2YXIgZTtpZih0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGY9Yi5kYXRhKCJkYXRlcGlja2VyIiksZz0ib2JqZWN0Ij09dHlwZW9mIGMmJmM7aWYoIWYpe3ZhciBqPWgodGhpcywiZGF0ZSIpLG09YS5leHRlbmQoe30sbyxqLGcpLG49aShtLmxhbmd1YWdlKSxwPWEuZXh0ZW5kKHt9LG8sbixqLGcpO2IuaGFzQ2xhc3MoImlucHV0LWRhdGVyYW5nZSIpfHxwLmlucHV0cz8oYS5leHRlbmQocCx7aW5wdXRzOnAuaW5wdXRzfHxiLmZpbmQoImlucHV0IikudG9BcnJheSgpfSksZj1uZXcgbCh0aGlzLHApKTpmPW5ldyBrKHRoaXMscCksYi5kYXRhKCJkYXRlcGlja2VyIixmKX0ic3RyaW5nIj09dHlwZW9mIGMmJiJmdW5jdGlvbiI9PXR5cGVvZiBmW2NdJiYoZT1mW2NdLmFwcGx5KGYsZCkpfSksZT09PWJ8fGUgaW5zdGFuY2VvZiBrfHxlIGluc3RhbmNlb2YgbClyZXR1cm4gdGhpcztpZih0aGlzLmxlbmd0aD4xKXRocm93IG5ldyBFcnJvcigiVXNpbmcgb25seSBhbGxvd2VkIGZvciB0aGUgY29sbGVjdGlvbiBvZiBhIHNpbmdsZSBlbGVtZW50ICgiK2MrIiBmdW5jdGlvbikiKTtyZXR1cm4gZX07YS5mbi5kYXRlcGlja2VyPW47dmFyIG89YS5mbi5kYXRlcGlja2VyLmRlZmF1bHRzPXthc3N1bWVOZWFyYnlZZWFyOiExLGF1dG9jbG9zZTohMSxiZWZvcmVTaG93RGF5OmEubm9vcCxiZWZvcmVTaG93TW9udGg6YS5ub29wLGJlZm9yZVNob3dZZWFyOmEubm9vcCxiZWZvcmVTaG93RGVjYWRlOmEubm9vcCxiZWZvcmVTaG93Q2VudHVyeTphLm5vb3AsY2FsZW5kYXJXZWVrczohMSxjbGVhckJ0bjohMSx0b2dnbGVBY3RpdmU6ITEsZGF5c09mV2Vla0Rpc2FibGVkOltdLGRheXNPZldlZWtIaWdobGlnaHRlZDpbXSxkYXRlc0Rpc2FibGVkOltdLGVuZERhdGU6MS8wLGZvcmNlUGFyc2U6ITAsZm9ybWF0OiJtbS9kZC95eXl5IixrZWVwRW1wdHlWYWx1ZXM6ITEsa2V5Ym9hcmROYXZpZ2F0aW9uOiEwLGxhbmd1YWdlOiJlbiIsbWluVmlld01vZGU6MCxtYXhWaWV3TW9kZTo0LG11bHRpZGF0ZTohMSxtdWx0aWRhdGVTZXBhcmF0b3I6IiwiLG9yaWVudGF0aW9uOiJhdXRvIixydGw6ITEsc3RhcnREYXRlOi0oMS8wKSxzdGFydFZpZXc6MCx0b2RheUJ0bjohMSx0b2RheUhpZ2hsaWdodDohMSx3ZWVrU3RhcnQ6MCxkaXNhYmxlVG91Y2hLZXlib2FyZDohMSxlbmFibGVPblJlYWRvbmx5OiEwLHNob3dPbkZvY3VzOiEwLHpJbmRleE9mZnNldDoxMCxjb250YWluZXI6ImJvZHkiLGltbWVkaWF0ZVVwZGF0ZXM6ITEsZGF0ZUNlbGxzOiExLHRpdGxlOiIiLHRlbXBsYXRlczp7bGVmdEFycm93OiImbGFxdW87IixyaWdodEFycm93OiImcmFxdW87In19LHA9YS5mbi5kYXRlcGlja2VyLmxvY2FsZV9vcHRzPVsiZm9ybWF0IiwicnRsIiwid2Vla1N0YXJ0Il07YS5mbi5kYXRlcGlja2VyLkNvbnN0cnVjdG9yPWs7dmFyIHE9YS5mbi5kYXRlcGlja2VyLmRhdGVzPXtlbjp7ZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5c1Nob3J0OlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZGF5c01pbjpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aHNTaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLHRvZGF5OiJUb2RheSIsY2xlYXI6IkNsZWFyIix0aXRsZUZvcm1hdDoiTU0geXl5eSJ9fSxyPXt2aWV3TW9kZXM6W3tuYW1lczpbImRheXMiLCJtb250aCJdLGNsc05hbWU6ImRheXMiLGU6ImNoYW5nZU1vbnRoIn0se25hbWVzOlsibW9udGhzIiwieWVhciJdLGNsc05hbWU6Im1vbnRocyIsZToiY2hhbmdlWWVhciIsbmF2U3RlcDoxfSx7bmFtZXM6WyJ5ZWFycyIsImRlY2FkZSJdLGNsc05hbWU6InllYXJzIixlOiJjaGFuZ2VEZWNhZGUiLG5hdlN0ZXA6MTB9LHtuYW1lczpbImRlY2FkZXMiLCJjZW50dXJ5Il0sY2xzTmFtZToiZGVjYWRlcyIsZToiY2hhbmdlQ2VudHVyeSIsbmF2U3RlcDoxMDB9LHtuYW1lczpbImNlbnR1cmllcyIsIm1pbGxlbm5pdW0iXSxjbHNOYW1lOiJjZW50dXJpZXMiLGU6ImNoYW5nZU1pbGxlbm5pdW0iLG5hdlN0ZXA6MWUzfV0sdmFsaWRQYXJ0czovZGQ/fEREP3xtbT98TU0/fHl5KD86eXkpPy9nLG5vbnB1bmN0dWF0aW9uOi9bXiAtXC86LUBcdTVlNzRcdTY3MDhcdTY1ZTVcWy1gey1+XHRcblxyXSsvZyxwYXJzZUZvcm1hdDpmdW5jdGlvbihhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgYS50b1ZhbHVlJiYiZnVuY3Rpb24iPT10eXBlb2YgYS50b0Rpc3BsYXkpcmV0dXJuIGE7dmFyIGI9YS5yZXBsYWNlKHRoaXMudmFsaWRQYXJ0cywiXHgwMCIpLnNwbGl0KCJceDAwIiksYz1hLm1hdGNoKHRoaXMudmFsaWRQYXJ0cyk7aWYoIWJ8fCFiLmxlbmd0aHx8IWN8fDA9PT1jLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0ZSBmb3JtYXQuIik7cmV0dXJue3NlcGFyYXRvcnM6YixwYXJ0czpjfX0scGFyc2VEYXRlOmZ1bmN0aW9uKGUsZixnLGgpe2Z1bmN0aW9uIGkoYSxiKXtyZXR1cm4gYj09PSEwJiYoYj0xMCksMTAwPmEmJihhKz0yZTMsYT4obmV3IERhdGUpLmdldEZ1bGxZZWFyKCkrYiYmKGEtPTEwMCkpLGF9ZnVuY3Rpb24gaigpe3ZhciBhPXRoaXMuc2xpY2UoMCxzW25dLmxlbmd0aCksYj1zW25dLnNsaWNlKDAsYS5sZW5ndGgpO3JldHVybiBhLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9aWYoIWUpcmV0dXJuIGI7aWYoZSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIGU7aWYoInN0cmluZyI9PXR5cGVvZiBmJiYoZj1yLnBhcnNlRm9ybWF0KGYpKSxmLnRvVmFsdWUpcmV0dXJuIGYudG9WYWx1ZShlLGYsZyk7dmFyIGwsbSxuLG8scD0vKFtcLStdXGQrKShbZG13eV0pLyxzPWUubWF0Y2goLyhbXC0rXVxkKykoW2Rtd3ldKS9nKSx0PXtkOiJtb3ZlRGF5IixtOiJtb3ZlTW9udGgiLHc6Im1vdmVXZWVrIix5OiJtb3ZlWWVhciJ9LHU9e3llc3RlcmRheToiLTFkIix0b2RheToiKzBkIix0b21vcnJvdzoiKzFkIn07aWYoL15bXC0rXVxkK1tkbXd5XShbXHMsXStbXC0rXVxkK1tkbXd5XSkqJC8udGVzdChlKSl7Zm9yKGU9bmV3IERhdGUsbj0wO248cy5sZW5ndGg7bisrKWw9cC5leGVjKHNbbl0pLG09cGFyc2VJbnQobFsxXSksbz10W2xbMl1dLGU9ay5wcm90b3R5cGVbb10oZSxtKTtyZXR1cm4gYyhlLmdldFVUQ0Z1bGxZZWFyKCksZS5nZXRVVENNb250aCgpLGUuZ2V0VVRDRGF0ZSgpKX1pZihlIGluIHUmJihlPXVbZV0scz1lLm1hdGNoKC8oW1wtK11cZCspKFtkbXd5XSkvZyksL15bXC0rXVxkK1tkbXd5XShbXHMsXStbXC0rXVxkK1tkbXd5XSkqJC8udGVzdChlKSkpe2ZvcihlPW5ldyBEYXRlLG49MDtuPHMubGVuZ3RoO24rKylsPXAuZXhlYyhzW25dKSxtPXBhcnNlSW50KGxbMV0pLG89dFtsWzJdXSxlPWsucHJvdG90eXBlW29dKGUsbSk7cmV0dXJuIGMoZS5nZXRVVENGdWxsWWVhcigpLGUuZ2V0VVRDTW9udGgoKSxlLmdldFVUQ0RhdGUoKSl9cz1lJiZlLm1hdGNoKHRoaXMubm9ucHVuY3R1YXRpb24pfHxbXSxlPW5ldyBEYXRlO3ZhciB2LHcseD17fSx5PVsieXl5eSIsInl5IiwiTSIsIk1NIiwibSIsIm1tIiwiZCIsImRkIl0sej17eXl5eTpmdW5jdGlvbihhLGIpe3JldHVybiBhLnNldFVUQ0Z1bGxZZWFyKGg/aShiLGgpOmIpfSxtOmZ1bmN0aW9uKGEsYil7aWYoaXNOYU4oYSkpcmV0dXJuIGE7Zm9yKGItPTE7MD5iOyliKz0xMjtmb3IoYiU9MTIsYS5zZXRVVENNb250aChiKTthLmdldFVUQ01vbnRoKCkhPT1iOylhLnNldFVUQ0RhdGUoYS5nZXRVVENEYXRlKCktMSk7cmV0dXJuIGF9LGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zZXRVVENEYXRlKGIpfX07ei55eT16Lnl5eXksei5NPXouTU09ei5tbT16Lm0sei5kZD16LmQsZT1kKCk7dmFyIEE9Zi5wYXJ0cy5zbGljZSgpO2lmKHMubGVuZ3RoIT09QS5sZW5ndGgmJihBPWEoQSkuZmlsdGVyKGZ1bmN0aW9uKGIsYyl7cmV0dXJuLTEhPT1hLmluQXJyYXkoYyx5KX0pLnRvQXJyYXkoKSkscy5sZW5ndGg9PT1BLmxlbmd0aCl7dmFyIEI7Zm9yKG49MCxCPUEubGVuZ3RoO0I+bjtuKyspe2lmKHY9cGFyc2VJbnQoc1tuXSwxMCksbD1BW25dLGlzTmFOKHYpKXN3aXRjaChsKXtjYXNlIk1NIjp3PWEocVtnXS5tb250aHMpLmZpbHRlcihqKSx2PWEuaW5BcnJheSh3WzBdLHFbZ10ubW9udGhzKSsxO2JyZWFrO2Nhc2UiTSI6dz1hKHFbZ10ubW9udGhzU2hvcnQpLmZpbHRlcihqKSx2PWEuaW5BcnJheSh3WzBdLHFbZ10ubW9udGhzU2hvcnQpKzF9eFtsXT12fXZhciBDLEQ7Zm9yKG49MDtuPHkubGVuZ3RoO24rKylEPXlbbl0sRCBpbiB4JiYhaXNOYU4oeFtEXSkmJihDPW5ldyBEYXRlKGUpLHpbRF0oQyx4W0RdKSxpc05hTihDKXx8KGU9QykpfXJldHVybiBlfSxmb3JtYXREYXRlOmZ1bmN0aW9uKGIsYyxkKXtpZighYilyZXR1cm4iIjtpZigic3RyaW5nIj09dHlwZW9mIGMmJihjPXIucGFyc2VGb3JtYXQoYykpLGMudG9EaXNwbGF5KXJldHVybiBjLnRvRGlzcGxheShiLGMsZCk7dmFyIGU9e2Q6Yi5nZXRVVENEYXRlKCksRDpxW2RdLmRheXNTaG9ydFtiLmdldFVUQ0RheSgpXSxERDpxW2RdLmRheXNbYi5nZXRVVENEYXkoKV0sbTpiLmdldFVUQ01vbnRoKCkrMSxNOnFbZF0ubW9udGhzU2hvcnRbYi5nZXRVVENNb250aCgpXSxNTTpxW2RdLm1vbnRoc1tiLmdldFVUQ01vbnRoKCldLHl5OmIuZ2V0VVRDRnVsbFllYXIoKS50b1N0cmluZygpLnN1YnN0cmluZygyKSx5eXl5OmIuZ2V0VVRDRnVsbFllYXIoKX07ZS5kZD0oZS5kPDEwPyIwIjoiIikrZS5kLGUubW09KGUubTwxMD8iMCI6IiIpK2UubSxiPVtdO2Zvcih2YXIgZj1hLmV4dGVuZChbXSxjLnNlcGFyYXRvcnMpLGc9MCxoPWMucGFydHMubGVuZ3RoO2g+PWc7ZysrKWYubGVuZ3RoJiZiLnB1c2goZi5zaGlmdCgpKSxiLnB1c2goZVtjLnBhcnRzW2ddXSk7cmV0dXJuIGIuam9pbigiIil9LGhlYWRUZW1wbGF0ZTonPHRoZWFkPjx0cj48dGggY29sc3Bhbj0iNyIgY2xhc3M9ImRhdGVwaWNrZXItdGl0bGUiPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJwcmV2Ij4mbGFxdW87PC90aD48dGggY29sc3Bhbj0iNSIgY2xhc3M9ImRhdGVwaWNrZXItc3dpdGNoIj48L3RoPjx0aCBjbGFzcz0ibmV4dCI+JnJhcXVvOzwvdGg+PC90cj48L3RoZWFkPicsY29udFRlbXBsYXRlOic8dGJvZHk+PHRyPjx0ZCBjb2xzcGFuPSI3Ij48L3RkPjwvdHI+PC90Ym9keT4nLGZvb3RUZW1wbGF0ZTonPHRmb290Pjx0cj48dGggY29sc3Bhbj0iNyIgY2xhc3M9InRvZGF5Ij48L3RoPjwvdHI+PHRyPjx0aCBjb2xzcGFuPSI3IiBjbGFzcz0iY2xlYXIiPjwvdGg+PC90cj48L3Rmb290Pid9O3IudGVtcGxhdGU9JzxkaXYgY2xhc3M9ImRhdGVwaWNrZXIiPjxkaXYgY2xhc3M9ImRhdGVwaWNrZXItZGF5cyI+PHRhYmxlIGNsYXNzPSJ0YWJsZS1jb25kZW5zZWQiPicrci5oZWFkVGVtcGxhdGUrIjx0Ym9keT48L3Rib2R5PiIrci5mb290VGVtcGxhdGUrJzwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0iZGF0ZXBpY2tlci1tb250aHMiPjx0YWJsZSBjbGFzcz0idGFibGUtY29uZGVuc2VkIj4nK3IuaGVhZFRlbXBsYXRlK3IuY29udFRlbXBsYXRlK3IuZm9vdFRlbXBsYXRlKyc8L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9ImRhdGVwaWNrZXIteWVhcnMiPjx0YWJsZSBjbGFzcz0idGFibGUtY29uZGVuc2VkIj4nK3IuaGVhZFRlbXBsYXRlK3IuY29udFRlbXBsYXRlK3IuZm9vdFRlbXBsYXRlKyc8L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9ImRhdGVwaWNrZXItZGVjYWRlcyI+PHRhYmxlIGNsYXNzPSJ0YWJsZS1jb25kZW5zZWQiPicrci5oZWFkVGVtcGxhdGUrci5jb250VGVtcGxhdGUrci5mb290VGVtcGxhdGUrJzwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0iZGF0ZXBpY2tlci1jZW50dXJpZXMiPjx0YWJsZSBjbGFzcz0idGFibGUtY29uZGVuc2VkIj4nK3IuaGVhZFRlbXBsYXRlK3IuY29udFRlbXBsYXRlK3IuZm9vdFRlbXBsYXRlKyI8L3RhYmxlPjwvZGl2PjwvZGl2PiIsDQphLmZuLmRhdGVwaWNrZXIuRFBHbG9iYWw9cixhLmZuLmRhdGVwaWNrZXIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmRhdGVwaWNrZXI9bSx0aGlzfSxhLmZuLmRhdGVwaWNrZXIudmVyc2lvbj0iMS43LjAtZGV2IixhKGRvY3VtZW50KS5vbigiZm9jdXMuZGF0ZXBpY2tlci5kYXRhLWFwaSBjbGljay5kYXRlcGlja2VyLmRhdGEtYXBpIiwnW2RhdGEtcHJvdmlkZT0iZGF0ZXBpY2tlciJdJyxmdW5jdGlvbihiKXt2YXIgYz1hKHRoaXMpO2MuZGF0YSgiZGF0ZXBpY2tlciIpfHwoYi5wcmV2ZW50RGVmYXVsdCgpLG4uY2FsbChjLCJzaG93IikpfSksYShmdW5jdGlvbigpe24uY2FsbChhKCdbZGF0YS1wcm92aWRlPSJkYXRlcGlja2VyLWlubGluZSJdJykpfSl9KTsNCg0KDQoNCi8qIQ0KICoganF1ZXJ5LXRpbWVwaWNrZXIgdjEuMTEuMSAtIEEgalF1ZXJ5IHRpbWVwaWNrZXIgcGx1Z2luIGluc3BpcmVkIGJ5IEdvb2dsZSBDYWxlbmRhci4gSXQgc3VwcG9ydHMgYm90aCBtb3VzZSBhbmQga2V5Ym9hcmQgbmF2aWdhdGlvbi4NCiAqIENvcHlyaWdodCAoYykgMjAxNiBKb24gVGhvcm50b24gLSBodHRwOi8vam9udGhvcm50b24uZ2l0aHViLmNvbS9qcXVlcnktdGltZXBpY2tlci8NCiAqIExpY2Vuc2U6IE1JVA0KICovDQoNCiFmdW5jdGlvbihhKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJm1vZHVsZS5leHBvcnRzPT09ZXhwb3J0cz9hKHJlcXVpcmUoImpxdWVyeSIpKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGEpOmEoalF1ZXJ5KX0oZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhKXt2YXIgYj1hWzBdO3JldHVybiBiLm9mZnNldFdpZHRoPjAmJmIub2Zmc2V0SGVpZ2h0PjB9ZnVuY3Rpb24gYyhiKXtpZihiLm1pblRpbWUmJihiLm1pblRpbWU9dChiLm1pblRpbWUpKSxiLm1heFRpbWUmJihiLm1heFRpbWU9dChiLm1heFRpbWUpKSxiLmR1cmF0aW9uVGltZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGIuZHVyYXRpb25UaW1lJiYoYi5kdXJhdGlvblRpbWU9dChiLmR1cmF0aW9uVGltZSkpLCJub3ciPT1iLnNjcm9sbERlZmF1bHQpYi5zY3JvbGxEZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIGIucm91bmRpbmdGdW5jdGlvbih0KG5ldyBEYXRlKSxiKX07ZWxzZSBpZihiLnNjcm9sbERlZmF1bHQmJiJmdW5jdGlvbiIhPXR5cGVvZiBiLnNjcm9sbERlZmF1bHQpe3ZhciBjPWIuc2Nyb2xsRGVmYXVsdDtiLnNjcm9sbERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gYi5yb3VuZGluZ0Z1bmN0aW9uKHQoYyksYil9fWVsc2UgYi5taW5UaW1lJiYoYi5zY3JvbGxEZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIGIucm91bmRpbmdGdW5jdGlvbihiLm1pblRpbWUsYil9KTtpZigic3RyaW5nIj09PWEudHlwZShiLnRpbWVGb3JtYXQpJiZiLnRpbWVGb3JtYXQubWF0Y2goL1tnaF0vKSYmKGIuX3R3ZWx2ZUhvdXJUaW1lPSEwKSxiLnNob3dPbkZvY3VzPT09ITEmJi0xIT1iLnNob3dPbi5pbmRleE9mKCJmb2N1cyIpJiZiLnNob3dPbi5zcGxpY2UoYi5zaG93T24uaW5kZXhPZigiZm9jdXMiKSwxKSxiLmRpc2FibGVUaW1lUmFuZ2VzLmxlbmd0aD4wKXtmb3IodmFyIGQgaW4gYi5kaXNhYmxlVGltZVJhbmdlcyliLmRpc2FibGVUaW1lUmFuZ2VzW2RdPVt0KGIuZGlzYWJsZVRpbWVSYW5nZXNbZF1bMF0pLHQoYi5kaXNhYmxlVGltZVJhbmdlc1tkXVsxXSldO2IuZGlzYWJsZVRpbWVSYW5nZXM9Yi5kaXNhYmxlVGltZVJhbmdlcy5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGFbMF0tYlswXX0pO2Zvcih2YXIgZD1iLmRpc2FibGVUaW1lUmFuZ2VzLmxlbmd0aC0xO2Q+MDtkLS0pYi5kaXNhYmxlVGltZVJhbmdlc1tkXVswXTw9Yi5kaXNhYmxlVGltZVJhbmdlc1tkLTFdWzFdJiYoYi5kaXNhYmxlVGltZVJhbmdlc1tkLTFdPVtNYXRoLm1pbihiLmRpc2FibGVUaW1lUmFuZ2VzW2RdWzBdLGIuZGlzYWJsZVRpbWVSYW5nZXNbZC0xXVswXSksTWF0aC5tYXgoYi5kaXNhYmxlVGltZVJhbmdlc1tkXVsxXSxiLmRpc2FibGVUaW1lUmFuZ2VzW2QtMV1bMV0pXSxiLmRpc2FibGVUaW1lUmFuZ2VzLnNwbGljZShkLDEpKX1yZXR1cm4gYn1mdW5jdGlvbiBkKGIpe3ZhciBjPWIuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpLGQ9Yi5kYXRhKCJ0aW1lcGlja2VyLWxpc3QiKTtpZihkJiZkLmxlbmd0aCYmKGQucmVtb3ZlKCksYi5kYXRhKCJ0aW1lcGlja2VyLWxpc3QiLCExKSksYy51c2VTZWxlY3Qpe2Q9YSgiPHNlbGVjdCAvPiIseyJjbGFzcyI6InVpLXRpbWVwaWNrZXItc2VsZWN0In0pO3ZhciBnPWR9ZWxzZXtkPWEoIjx1bCAvPiIseyJjbGFzcyI6InVpLXRpbWVwaWNrZXItbGlzdCJ9KTt2YXIgZz1hKCI8ZGl2IC8+Iix7ImNsYXNzIjoidWktdGltZXBpY2tlci13cmFwcGVyIix0YWJpbmRleDotMX0pO2cuY3NzKHtkaXNwbGF5OiJub25lIixwb3NpdGlvbjoiYWJzb2x1dGUifSkuYXBwZW5kKGQpfWlmKGMubm9uZU9wdGlvbilpZihjLm5vbmVPcHRpb249PT0hMCYmKGMubm9uZU9wdGlvbj1jLnVzZVNlbGVjdD8iVGltZS4uLiI6Ik5vbmUiKSxhLmlzQXJyYXkoYy5ub25lT3B0aW9uKSl7Zm9yKHZhciBpIGluIGMubm9uZU9wdGlvbilpZihwYXJzZUludChpLDEwKT09aSl7dmFyIGs9ZShjLm5vbmVPcHRpb25baV0sYy51c2VTZWxlY3QpO2QuYXBwZW5kKGspfX1lbHNle3ZhciBrPWUoYy5ub25lT3B0aW9uLGMudXNlU2VsZWN0KTtkLmFwcGVuZChrKX1pZihjLmNsYXNzTmFtZSYmZy5hZGRDbGFzcyhjLmNsYXNzTmFtZSksKG51bGwhPT1jLm1pblRpbWV8fG51bGwhPT1jLmR1cmF0aW9uVGltZSkmJmMuc2hvd0R1cmF0aW9uKXsiZnVuY3Rpb24iPT10eXBlb2YgYy5zdGVwPyJmdW5jdGlvbiI6Yy5zdGVwO2cuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbiIpLGcuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItc3RlcC0iK2Muc3RlcCl9dmFyIGw9Yy5taW5UaW1lOyJmdW5jdGlvbiI9PXR5cGVvZiBjLmR1cmF0aW9uVGltZT9sPXQoYy5kdXJhdGlvblRpbWUoKSk6bnVsbCE9PWMuZHVyYXRpb25UaW1lJiYobD1jLmR1cmF0aW9uVGltZSk7dmFyIG49bnVsbCE9PWMubWluVGltZT9jLm1pblRpbWU6MCxvPW51bGwhPT1jLm1heFRpbWU/Yy5tYXhUaW1lOm4rdS0xO24+byYmKG8rPXUpLG89PT11LTEmJiJzdHJpbmciPT09YS50eXBlKGMudGltZUZvcm1hdCkmJmMuc2hvdzI0MDAmJihvPXUpO3ZhciBwPWMuZGlzYWJsZVRpbWVSYW5nZXMsdj0wLHg9cC5sZW5ndGgseT1jLnN0ZXA7ImZ1bmN0aW9uIiE9dHlwZW9mIHkmJih5PWZ1bmN0aW9uKCl7cmV0dXJuIGMuc3RlcH0pO2Zvcih2YXIgaT1uLHo9MDtvPj1pO3orKyxpKz02MCp5KHopKXt2YXIgQT1pLEI9cyhBLGMpO2lmKGMudXNlU2VsZWN0KXt2YXIgQz1hKCI8b3B0aW9uIC8+Iix7dmFsdWU6Qn0pO0MudGV4dChCKX1lbHNle3ZhciBDPWEoIjxsaSAvPiIpO0MuYWRkQ2xhc3MoNDMyMDA+QSU4NjQwMD8idWktdGltZXBpY2tlci1hbSI6InVpLXRpbWVwaWNrZXItcG0iKSxDLmRhdGEoInRpbWUiLDg2NDAwPj1BP0E6QSU4NjQwMCksQy50ZXh0KEIpfWlmKChudWxsIT09Yy5taW5UaW1lfHxudWxsIT09Yy5kdXJhdGlvblRpbWUpJiZjLnNob3dEdXJhdGlvbil7dmFyIEQ9cihpLWwsYy5zdGVwKTtpZihjLnVzZVNlbGVjdClDLnRleHQoQy50ZXh0KCkrIiAoIitEKyIpIik7ZWxzZXt2YXIgRT1hKCI8c3BhbiAvPiIseyJjbGFzcyI6InVpLXRpbWVwaWNrZXItZHVyYXRpb24ifSk7RS50ZXh0KCIgKCIrRCsiKSIpLEMuYXBwZW5kKEUpfX14PnYmJihBPj1wW3ZdWzFdJiYodis9MSkscFt2XSYmQT49cFt2XVswXSYmQTxwW3ZdWzFdJiYoYy51c2VTZWxlY3Q/Qy5wcm9wKCJkaXNhYmxlZCIsITApOkMuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItZGlzYWJsZWQiKSkpLGQuYXBwZW5kKEMpfWlmKGcuZGF0YSgidGltZXBpY2tlci1pbnB1dCIsYiksYi5kYXRhKCJ0aW1lcGlja2VyLWxpc3QiLGcpLGMudXNlU2VsZWN0KWIudmFsKCkmJmQudmFsKGYodChiLnZhbCgpKSxjKSksZC5vbigiZm9jdXMiLGZ1bmN0aW9uKCl7YSh0aGlzKS5kYXRhKCJ0aW1lcGlja2VyLWlucHV0IikudHJpZ2dlcigic2hvd1RpbWVwaWNrZXIiKX0pLGQub24oImJsdXIiLGZ1bmN0aW9uKCl7YSh0aGlzKS5kYXRhKCJ0aW1lcGlja2VyLWlucHV0IikudHJpZ2dlcigiaGlkZVRpbWVwaWNrZXIiKX0pLGQub24oImNoYW5nZSIsZnVuY3Rpb24oKXttKGIsYSh0aGlzKS52YWwoKSwic2VsZWN0Iil9KSxtKGIsZC52YWwoKSwiaW5pdGlhbCIpLGIuaGlkZSgpLmFmdGVyKGQpO2Vsc2V7dmFyIEY9Yy5hcHBlbmRUbzsic3RyaW5nIj09dHlwZW9mIEY/Rj1hKEYpOiJmdW5jdGlvbiI9PXR5cGVvZiBGJiYoRj1GKGIpKSxGLmFwcGVuZChnKSxqKGIsZCksZC5vbigibW91c2Vkb3duIGNsaWNrIiwibGkiLGZ1bmN0aW9uKGMpe2Iub2ZmKCJmb2N1cy50aW1lcGlja2VyIiksYi5vbigiZm9jdXMudGltZXBpY2tlci1pZS1oYWNrIixmdW5jdGlvbigpe2Iub2ZmKCJmb2N1cy50aW1lcGlja2VyLWllLWhhY2siKSxiLm9uKCJmb2N1cy50aW1lcGlja2VyIix3LnNob3cpfSksaChiKXx8YlswXS5mb2N1cygpLGQuZmluZCgibGkiKS5yZW1vdmVDbGFzcygidWktdGltZXBpY2tlci1zZWxlY3RlZCIpLGEodGhpcykuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKSxxKGIpJiYoYi50cmlnZ2VyKCJoaWRlVGltZXBpY2tlciIpLGQub24oIm1vdXNldXAudGltZXBpY2tlciBjbGljay50aW1lcGlja2VyIiwibGkiLGZ1bmN0aW9uKGEpe2Qub2ZmKCJtb3VzZXVwLnRpbWVwaWNrZXIgY2xpY2sudGltZXBpY2tlciIpLGcuaGlkZSgpfSkpfSl9fWZ1bmN0aW9uIGUoYixjKXt2YXIgZCxlLGY7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBiPyhkPWIubGFiZWwsZT1iLmNsYXNzTmFtZSxmPWIudmFsdWUpOiJzdHJpbmciPT10eXBlb2YgYj9kPWI6YS5lcnJvcigiSW52YWxpZCBub25lT3B0aW9uIHZhbHVlIiksYz9hKCI8b3B0aW9uIC8+Iix7dmFsdWU6ZiwiY2xhc3MiOmUsdGV4dDpkfSk6YSgiPGxpIC8+Iix7ImNsYXNzIjplLHRleHQ6ZH0pLmRhdGEoInRpbWUiLFN0cmluZyhmKSl9ZnVuY3Rpb24gZihhLGIpe3JldHVybiBhPWIucm91bmRpbmdGdW5jdGlvbihhLGIpLG51bGwhPT1hP3MoYSxiKTp2b2lkIDB9ZnVuY3Rpb24gZyhiKXtpZihiLnRhcmdldCE9d2luZG93KXt2YXIgYz1hKGIudGFyZ2V0KTtjLmNsb3Nlc3QoIi51aS10aW1lcGlja2VyLWlucHV0IikubGVuZ3RofHxjLmNsb3Nlc3QoIi51aS10aW1lcGlja2VyLXdyYXBwZXIiKS5sZW5ndGh8fCh3LmhpZGUoKSxhKGRvY3VtZW50KS51bmJpbmQoIi51aS10aW1lcGlja2VyIiksYSh3aW5kb3cpLnVuYmluZCgiLnVpLXRpbWVwaWNrZXIiKSl9fWZ1bmN0aW9uIGgoYSl7dmFyIGI9YS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIik7cmV0dXJuKHdpbmRvdy5uYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50c3x8Im9udG91Y2hzdGFydCJpbiBkb2N1bWVudCkmJmIuZGlzYWJsZVRvdWNoS2V5Ym9hcmR9ZnVuY3Rpb24gaShiLGMsZCl7aWYoIWQmJjAhPT1kKXJldHVybiExO3ZhciBlPWIuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpLGY9ITEsZD1lLnJvdW5kaW5nRnVuY3Rpb24oZCxlKTtyZXR1cm4gYy5maW5kKCJsaSIpLmVhY2goZnVuY3Rpb24oYixjKXt2YXIgZT1hKGMpO2lmKCJudW1iZXIiPT10eXBlb2YgZS5kYXRhKCJ0aW1lIikpcmV0dXJuIGUuZGF0YSgidGltZSIpPT1kPyhmPWUsITEpOnZvaWQgMH0pLGZ9ZnVuY3Rpb24gaihhLGIpe2IuZmluZCgibGkiKS5yZW1vdmVDbGFzcygidWktdGltZXBpY2tlci1zZWxlY3RlZCIpO3ZhciBjPXQobChhKSxhLmRhdGEoInRpbWVwaWNrZXItc2V0dGluZ3MiKSk7aWYobnVsbCE9PWMpe3ZhciBkPWkoYSxiLGMpO2lmKGQpe3ZhciBlPWQub2Zmc2V0KCkudG9wLWIub2Zmc2V0KCkudG9wOyhlK2Qub3V0ZXJIZWlnaHQoKT5iLm91dGVySGVpZ2h0KCl8fDA+ZSkmJmIuc2Nyb2xsVG9wKGIuc2Nyb2xsVG9wKCkrZC5wb3NpdGlvbigpLnRvcC1kLm91dGVySGVpZ2h0KCkpLGQuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKX19fWZ1bmN0aW9uIGsoYixjKXtpZigiIiE9PXRoaXMudmFsdWUmJiJ0aW1lcGlja2VyIiE9Yyl7dmFyIGQ9YSh0aGlzKTtpZighZC5pcygiOmZvY3VzIil8fGImJiJjaGFuZ2UiPT1iLnR5cGUpe3ZhciBlPWQuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpLGY9dCh0aGlzLnZhbHVlLGUpO2lmKG51bGw9PT1mKXJldHVybiB2b2lkIGQudHJpZ2dlcigidGltZUZvcm1hdEVycm9yIik7dmFyIGc9ITE7bnVsbCE9PWUubWluVGltZSYmZjxlLm1pblRpbWUmJm51bGwhPT1lLm1heFRpbWUmJmY+ZS5tYXhUaW1lJiYoZz0hMCksYS5lYWNoKGUuZGlzYWJsZVRpbWVSYW5nZXMsZnVuY3Rpb24oKXtyZXR1cm4gZj49dGhpc1swXSYmZjx0aGlzWzFdPyhnPSEwLCExKTp2b2lkIDB9KSxlLmZvcmNlUm91bmRUaW1lJiYoZj1lLnJvdW5kaW5nRnVuY3Rpb24oZixlKSk7dmFyIGg9cyhmLGUpO2c/bShkLGgsImVycm9yIikmJmQudHJpZ2dlcigidGltZVJhbmdlRXJyb3IiKTptKGQsaCl9fX1mdW5jdGlvbiBsKGEpe3JldHVybiBhLmlzKCJpbnB1dCIpP2EudmFsKCk6YS5kYXRhKCJ1aS10aW1lcGlja2VyLXZhbHVlIil9ZnVuY3Rpb24gbShhLGIsYyl7aWYoYS5pcygiaW5wdXQiKSl7YS52YWwoYik7dmFyIGQ9YS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIik7ZC51c2VTZWxlY3QmJiJzZWxlY3QiIT1jJiYiaW5pdGlhbCIhPWMmJmEuZGF0YSgidGltZXBpY2tlci1saXN0IikudmFsKGYodChiKSxkKSl9cmV0dXJuIGEuZGF0YSgidWktdGltZXBpY2tlci12YWx1ZSIpIT1iPyhhLmRhdGEoInVpLXRpbWVwaWNrZXItdmFsdWUiLGIpLCJzZWxlY3QiPT1jP2EudHJpZ2dlcigic2VsZWN0VGltZSIpLnRyaWdnZXIoImNoYW5nZVRpbWUiKS50cmlnZ2VyKCJjaGFuZ2UiLCJ0aW1lcGlja2VyIik6ImVycm9yIiE9YyYmYS50cmlnZ2VyKCJjaGFuZ2VUaW1lIiksITApOihhLnRyaWdnZXIoInNlbGVjdFRpbWUiKSwhMSl9ZnVuY3Rpb24gbihhKXtzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIDEzOmNhc2UgOTpyZXR1cm47ZGVmYXVsdDphLnByZXZlbnREZWZhdWx0KCl9fWZ1bmN0aW9uIG8oYyl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgidGltZXBpY2tlci1saXN0Iik7aWYoIWV8fCFiKGUpKXtpZig0MCE9Yy5rZXlDb2RlKXJldHVybiEwO3cuc2hvdy5jYWxsKGQuZ2V0KDApKSxlPWQuZGF0YSgidGltZXBpY2tlci1saXN0IiksaChkKXx8ZC5mb2N1cygpfXN3aXRjaChjLmtleUNvZGUpe2Nhc2UgMTM6cmV0dXJuIHEoZCkmJncuaGlkZS5hcHBseSh0aGlzKSxjLnByZXZlbnREZWZhdWx0KCksITE7Y2FzZSAzODp2YXIgZj1lLmZpbmQoIi51aS10aW1lcGlja2VyLXNlbGVjdGVkIik7cmV0dXJuIGYubGVuZ3RoP2YuaXMoIjpmaXJzdC1jaGlsZCIpfHwoZi5yZW1vdmVDbGFzcygidWktdGltZXBpY2tlci1zZWxlY3RlZCIpLGYucHJldigpLmFkZENsYXNzKCJ1aS10aW1lcGlja2VyLXNlbGVjdGVkIiksZi5wcmV2KCkucG9zaXRpb24oKS50b3A8Zi5vdXRlckhlaWdodCgpJiZlLnNjcm9sbFRvcChlLnNjcm9sbFRvcCgpLWYub3V0ZXJIZWlnaHQoKSkpOihlLmZpbmQoImxpIikuZWFjaChmdW5jdGlvbihiLGMpe3JldHVybiBhKGMpLnBvc2l0aW9uKCkudG9wPjA/KGY9YShjKSwhMSk6dm9pZCAwfSksZi5hZGRDbGFzcygidWktdGltZXBpY2tlci1zZWxlY3RlZCIpKSwhMTtjYXNlIDQwOnJldHVybiBmPWUuZmluZCgiLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKSwwPT09Zi5sZW5ndGg/KGUuZmluZCgibGkiKS5lYWNoKGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEoYykucG9zaXRpb24oKS50b3A+MD8oZj1hKGMpLCExKTp2b2lkIDB9KSxmLmFkZENsYXNzKCJ1aS10aW1lcGlja2VyLXNlbGVjdGVkIikpOmYuaXMoIjpsYXN0LWNoaWxkIil8fChmLnJlbW92ZUNsYXNzKCJ1aS10aW1lcGlja2VyLXNlbGVjdGVkIiksZi5uZXh0KCkuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKSxmLm5leHQoKS5wb3NpdGlvbigpLnRvcCsyKmYub3V0ZXJIZWlnaHQoKT5lLm91dGVySGVpZ2h0KCkmJmUuc2Nyb2xsVG9wKGUuc2Nyb2xsVG9wKCkrZi5vdXRlckhlaWdodCgpKSksITE7Y2FzZSAyNzplLmZpbmQoImxpIikucmVtb3ZlQ2xhc3MoInVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKSx3LmhpZGUoKTticmVhaztjYXNlIDk6dy5oaWRlKCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4hMH19ZnVuY3Rpb24gcChjKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJ0aW1lcGlja2VyLWxpc3QiKSxmPWQuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpO2lmKCFlfHwhYihlKXx8Zi5kaXNhYmxlVGV4dElucHV0KXJldHVybiEwO3N3aXRjaChjLmtleUNvZGUpe2Nhc2UgOTY6Y2FzZSA5NzpjYXNlIDk4OmNhc2UgOTk6Y2FzZSAxMDA6Y2FzZSAxMDE6Y2FzZSAxMDI6Y2FzZSAxMDM6Y2FzZSAxMDQ6Y2FzZSAxMDU6Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpjYXNlIDY1OmNhc2UgNzc6Y2FzZSA4MDpjYXNlIDE4NjpjYXNlIDg6Y2FzZSA0NjpmLnR5cGVhaGVhZEhpZ2hsaWdodD9qKGQsZSk6ZS5oaWRlKCl9fWZ1bmN0aW9uIHEoYSl7dmFyIGI9YS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIiksYz1hLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpLGQ9bnVsbCxlPWMuZmluZCgiLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKTtyZXR1cm4gZS5oYXNDbGFzcygidWktdGltZXBpY2tlci1kaXNhYmxlZCIpPyExOihlLmxlbmd0aCYmKGQ9ZS5kYXRhKCJ0aW1lIikpLG51bGwhPT1kJiYoInN0cmluZyIhPXR5cGVvZiBkJiYoZD1zKGQsYikpLG0oYSxkLCJzZWxlY3QiKSksITApfWZ1bmN0aW9uIHIoYSxiKXthPU1hdGguYWJzKGEpO3ZhciBjLGQsZT1NYXRoLnJvdW5kKGEvNjApLGY9W107cmV0dXJuIDYwPmU/Zj1bZSx2Lm1pbnNdOihjPU1hdGguZmxvb3IoZS82MCksZD1lJTYwLDMwPT1iJiYzMD09ZCYmKGMrPXYuZGVjaW1hbCs1KSxmLnB1c2goYyksZi5wdXNoKDE9PWM/di5ocjp2LmhycyksMzAhPWImJmQmJihmLnB1c2goZCksZi5wdXNoKHYubWlucykpKSxmLmpvaW4oIiAiKX1mdW5jdGlvbiBzKGIsYyl7aWYoIm51bWJlciIhPXR5cGVvZiBiKXJldHVybiBudWxsO3ZhciBkPXBhcnNlSW50KGIlNjApLGU9cGFyc2VJbnQoYi82MCU2MCksZj1wYXJzZUludChiLzM2MDAlMjQpLGc9bmV3IERhdGUoMTk3MCwwLDIsZixlLGQsMCk7aWYoaXNOYU4oZy5nZXRUaW1lKCkpKXJldHVybiBudWxsO2lmKCJmdW5jdGlvbiI9PT1hLnR5cGUoYy50aW1lRm9ybWF0KSlyZXR1cm4gYy50aW1lRm9ybWF0KGcpO2Zvcih2YXIgaCxpLGo9IiIsaz0wO2s8Yy50aW1lRm9ybWF0Lmxlbmd0aDtrKyspc3dpdGNoKGk9Yy50aW1lRm9ybWF0LmNoYXJBdChrKSl7Y2FzZSJhIjpqKz1nLmdldEhvdXJzKCk+MTE/di5wbTp2LmFtO2JyZWFrO2Nhc2UiQSI6ais9Zy5nZXRIb3VycygpPjExP3YuUE06di5BTTticmVhaztjYXNlImciOmg9Zy5nZXRIb3VycygpJTEyLGorPTA9PT1oPyIxMiI6aDticmVhaztjYXNlIkciOmg9Zy5nZXRIb3VycygpLGI9PT11JiYoaD1jLnNob3cyNDAwPzI0OjApLGorPWg7YnJlYWs7Y2FzZSJoIjpoPWcuZ2V0SG91cnMoKSUxMiwwIT09aCYmMTA+aCYmKGg9IjAiK2gpLGorPTA9PT1oPyIxMiI6aDticmVhaztjYXNlIkgiOmg9Zy5nZXRIb3VycygpLGI9PT11JiYoaD1jLnNob3cyNDAwPzI0OjApLGorPWg+OT9oOiIwIitoO2JyZWFrO2Nhc2UiaSI6dmFyIGU9Zy5nZXRNaW51dGVzKCk7ais9ZT45P2U6IjAiK2U7YnJlYWs7Y2FzZSJzIjpkPWcuZ2V0U2Vjb25kcygpLGorPWQ+OT9kOiIwIitkO2JyZWFrO2Nhc2UiXFwiOmsrKyxqKz1jLnRpbWVGb3JtYXQuY2hhckF0KGspO2JyZWFrO2RlZmF1bHQ6ais9aX1yZXR1cm4gan1mdW5jdGlvbiB0KGEsYil7aWYoIiI9PT1hfHxudWxsPT09YSlyZXR1cm4gbnVsbDtpZigib2JqZWN0Ij09dHlwZW9mIGEpcmV0dXJuIDM2MDAqYS5nZXRIb3VycygpKzYwKmEuZ2V0TWludXRlcygpK2EuZ2V0U2Vjb25kcygpO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gYTthPWEudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXHNcLl0vZywiIiksKCJhIj09YS5zbGljZSgtMSl8fCJwIj09YS5zbGljZSgtMSkpJiYoYSs9Im0iKTt2YXIgYz0iKCIrdi5hbS5yZXBsYWNlKCIuIiwiIikrInwiK3YucG0ucmVwbGFjZSgiLiIsIiIpKyJ8Iit2LkFNLnJlcGxhY2UoIi4iLCIiKSsifCIrdi5QTS5yZXBsYWNlKCIuIiwiIikrIik/IixkPW5ldyBSZWdFeHAoIl4iK2MrIihbMC05XT9bMC05XSlcXFc/KFswLTVdWzAtOV0pP1xcVz8oWzAtNV1bMC05XSk/IitjKyIkIiksZT1hLm1hdGNoKGQpO2lmKCFlKXJldHVybiBudWxsO3ZhciBmPXBhcnNlSW50KDEqZVsyXSwxMCk7aWYoZj4yNCl7aWYoYiYmYi53cmFwSG91cnM9PT0hMSlyZXR1cm4gbnVsbDtmJT0yNH12YXIgZz1lWzFdfHxlWzVdLGg9ZjtpZigxMj49ZiYmZyl7dmFyIGk9Zz09di5wbXx8Zz09di5QTTtoPTEyPT1mP2k/MTI6MDpmKyhpPzEyOjApfXZhciBqPTEqZVszXXx8MCxrPTEqZVs0XXx8MCxsPTM2MDAqaCs2MCpqK2s7aWYoMTI+ZiYmIWcmJmImJmIuX3R3ZWx2ZUhvdXJUaW1lJiZiLnNjcm9sbERlZmF1bHQpe3ZhciBtPWwtYi5zY3JvbGxEZWZhdWx0KCk7MD5tJiZtPj11Ly0yJiYobD0obCt1LzIpJXUpfXJldHVybiBsfXZhciB1PTg2NDAwLHY9e2FtOiJhbSIscG06InBtIixBTToiQU0iLFBNOiJQTSIsZGVjaW1hbDoiLiIsbWluczoibWlucyIsaHI6ImhyIixocnM6ImhycyJ9LHc9e2luaXQ6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPWEodGhpcyksZj1bXTtmb3IodmFyIGcgaW4gYS5mbi50aW1lcGlja2VyLmRlZmF1bHRzKWUuZGF0YShnKSYmKGZbZ109ZS5kYXRhKGcpKTt2YXIgaD1hLmV4dGVuZCh7fSxhLmZuLnRpbWVwaWNrZXIuZGVmYXVsdHMsZixiKTtpZihoLmxhbmcmJih2PWEuZXh0ZW5kKHYsaC5sYW5nKSksaD1jKGgpLGUuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIsaCksZS5hZGRDbGFzcygidWktdGltZXBpY2tlci1pbnB1dCIpLGgudXNlU2VsZWN0KWQoZSk7ZWxzZXtpZihlLnByb3AoImF1dG9jb21wbGV0ZSIsIm9mZiIpLGguc2hvd09uKWZvcih2YXIgaSBpbiBoLnNob3dPbillLm9uKGguc2hvd09uW2ldKyIudGltZXBpY2tlciIsdy5zaG93KTtlLm9uKCJjaGFuZ2UudGltZXBpY2tlciIsayksZS5vbigia2V5ZG93bi50aW1lcGlja2VyIixvKSxlLm9uKCJrZXl1cC50aW1lcGlja2VyIixwKSxoLmRpc2FibGVUZXh0SW5wdXQmJmUub24oImtleWRvd24udGltZXBpY2tlciIsbiksay5jYWxsKGUuZ2V0KDApKX19KX0sc2hvdzpmdW5jdGlvbihjKXt2YXIgZT1hKHRoaXMpLGY9ZS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIik7aWYoYyYmYy5wcmV2ZW50RGVmYXVsdCgpLGYudXNlU2VsZWN0KXJldHVybiB2b2lkIGUuZGF0YSgidGltZXBpY2tlci1saXN0IikuZm9jdXMoKTtoKGUpJiZlLmJsdXIoKTt2YXIgaz1lLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpO2lmKCFlLnByb3AoInJlYWRvbmx5IikmJihrJiYwIT09ay5sZW5ndGgmJiJmdW5jdGlvbiIhPXR5cGVvZiBmLmR1cmF0aW9uVGltZXx8KGQoZSksaz1lLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpKSwhYihrKSkpe2UuZGF0YSgidWktdGltZXBpY2tlci12YWx1ZSIsZS52YWwoKSksaihlLGspLHcuaGlkZSgpLGsuc2hvdygpO3ZhciBtPXt9O2Yub3JpZW50YXRpb24ubWF0Y2goL3IvKT9tLmxlZnQ9ZS5vZmZzZXQoKS5sZWZ0K2Uub3V0ZXJXaWR0aCgpLWsub3V0ZXJXaWR0aCgpK3BhcnNlSW50KGsuY3NzKCJtYXJnaW5MZWZ0IikucmVwbGFjZSgicHgiLCIiKSwxMCk6bS5sZWZ0PWUub2Zmc2V0KCkubGVmdCtwYXJzZUludChrLmNzcygibWFyZ2luTGVmdCIpLnJlcGxhY2UoInB4IiwiIiksMTApO3ZhciBuO249Zi5vcmllbnRhdGlvbi5tYXRjaCgvdC8pPyJ0IjpmLm9yaWVudGF0aW9uLm1hdGNoKC9iLyk/ImIiOmUub2Zmc2V0KCkudG9wK2Uub3V0ZXJIZWlnaHQoITApK2sub3V0ZXJIZWlnaHQoKT5hKHdpbmRvdykuaGVpZ2h0KCkrYSh3aW5kb3cpLnNjcm9sbFRvcCgpPyJ0IjoiYiIsInQiPT1uPyhrLmFkZENsYXNzKCJ1aS10aW1lcGlja2VyLXBvc2l0aW9uZWQtdG9wIiksbS50b3A9ZS5vZmZzZXQoKS50b3Atay5vdXRlckhlaWdodCgpK3BhcnNlSW50KGsuY3NzKCJtYXJnaW5Ub3AiKS5yZXBsYWNlKCJweCIsIiIpLDEwKSk6KGsucmVtb3ZlQ2xhc3MoInVpLXRpbWVwaWNrZXItcG9zaXRpb25lZC10b3AiKSxtLnRvcD1lLm9mZnNldCgpLnRvcCtlLm91dGVySGVpZ2h0KCkrcGFyc2VJbnQoay5jc3MoIm1hcmdpblRvcCIpLnJlcGxhY2UoInB4IiwiIiksMTApKSxrLm9mZnNldChtKTt2YXIgbz1rLmZpbmQoIi51aS10aW1lcGlja2VyLXNlbGVjdGVkIik7aWYoIW8ubGVuZ3RoKXt2YXIgcD10KGwoZSkpO251bGwhPT1wP289aShlLGsscCk6Zi5zY3JvbGxEZWZhdWx0JiYobz1pKGUsayxmLnNjcm9sbERlZmF1bHQoKSkpfWlmKG8mJm8ubGVuZ3RoKXt2YXIgcT1rLnNjcm9sbFRvcCgpK28ucG9zaXRpb24oKS50b3Atby5vdXRlckhlaWdodCgpO2suc2Nyb2xsVG9wKHEpfWVsc2Ugay5zY3JvbGxUb3AoMCk7cmV0dXJuIGYuc3RvcFNjcm9sbFByb3BhZ2F0aW9uJiZhKGRvY3VtZW50KS5vbigid2hlZWwudWktdGltZXBpY2tlciIsIi51aS10aW1lcGlja2VyLXdyYXBwZXIiLGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKTt2YXIgYz1hKHRoaXMpLnNjcm9sbFRvcCgpO2EodGhpcykuc2Nyb2xsVG9wKGMrYi5vcmlnaW5hbEV2ZW50LmRlbHRhWSl9KSxhKGRvY3VtZW50KS5vbigidG91Y2hzdGFydC51aS10aW1lcGlja2VyIG1vdXNlZG93bi51aS10aW1lcGlja2VyIixnKSxhKHdpbmRvdykub24oInJlc2l6ZS51aS10aW1lcGlja2VyIixnKSxmLmNsb3NlT25XaW5kb3dTY3JvbGwmJmEoZG9jdW1lbnQpLm9uKCJzY3JvbGwudWktdGltZXBpY2tlciIsZyksZS50cmlnZ2VyKCJzaG93VGltZXBpY2tlciIpLHRoaXN9fSxoaWRlOmZ1bmN0aW9uKGMpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoInRpbWVwaWNrZXItc2V0dGluZ3MiKTtyZXR1cm4gZSYmZS51c2VTZWxlY3QmJmQuYmx1cigpLGEoIi51aS10aW1lcGlja2VyLXdyYXBwZXIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKTtpZihiKGMpKXt2YXIgZD1jLmRhdGEoInRpbWVwaWNrZXItaW5wdXQiKSxlPWQuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpO2UmJmUuc2VsZWN0T25CbHVyJiZxKGQpLGMuaGlkZSgpLGQudHJpZ2dlcigiaGlkZVRpbWVwaWNrZXIiKX19KSx0aGlzfSxvcHRpb246ZnVuY3Rpb24oYixlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJiJ1bmRlZmluZWQiPT10eXBlb2YgZT9hKHRoaXMpLmRhdGEoInRpbWVwaWNrZXItc2V0dGluZ3MiKVtiXTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZj1hKHRoaXMpLGc9Zi5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIiksaD1mLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpOyJvYmplY3QiPT10eXBlb2YgYj9nPWEuZXh0ZW5kKGcsYik6InN0cmluZyI9PXR5cGVvZiBiJiYoZ1tiXT1lKSxnPWMoZyksZi5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIixnKSxoJiYoaC5yZW1vdmUoKSxmLmRhdGEoInRpbWVwaWNrZXItbGlzdCIsITEpKSxnLnVzZVNlbGVjdCYmZChmKX0pfSxnZXRTZWNvbmRzRnJvbU1pZG5pZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHQobCh0aGlzKSl9LGdldFRpbWU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPWwoYik7aWYoIWMpcmV0dXJuIG51bGw7dmFyIGQ9dChjKTtpZihudWxsPT09ZClyZXR1cm4gbnVsbDthfHwoYT1uZXcgRGF0ZSk7dmFyIGU9bmV3IERhdGUoYSk7cmV0dXJuIGUuc2V0SG91cnMoZC8zNjAwKSxlLnNldE1pbnV0ZXMoZCUzNjAwLzYwKSxlLnNldFNlY29uZHMoZCU2MCksZS5zZXRNaWxsaXNlY29uZHMoMCksZX0saXNWaXNpYmxlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxjPWEuZGF0YSgidGltZXBpY2tlci1saXN0Iik7cmV0dXJuISghY3x8IWIoYykpfSxzZXRUaW1lOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1iLmRhdGEoInRpbWVwaWNrZXItc2V0dGluZ3MiKTtpZihjLmZvcmNlUm91bmRUaW1lKXZhciBkPWYodChhKSxjKTtlbHNlIHZhciBkPXModChhKSxjKTtyZXR1cm4gYSYmbnVsbD09PWQmJmMubm9uZU9wdGlvbiYmKGQ9YSksbShiLGQpLGIuZGF0YSgidGltZXBpY2tlci1saXN0IikmJmooYixiLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKGEuaGFzQ2xhc3MoInVpLXRpbWVwaWNrZXItaW5wdXQiKSl7dmFyIGI9YS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIik7cmV0dXJuIGEucmVtb3ZlQXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIiksYS5yZW1vdmVDbGFzcygidWktdGltZXBpY2tlci1pbnB1dCIpLGEucmVtb3ZlRGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpLGEub2ZmKCIudGltZXBpY2tlciIpLGEuZGF0YSgidGltZXBpY2tlci1saXN0IikmJmEuZGF0YSgidGltZXBpY2tlci1saXN0IikucmVtb3ZlKCksYi51c2VTZWxlY3QmJmEuc2hvdygpLGEucmVtb3ZlRGF0YSgidGltZXBpY2tlci1saXN0IiksdGhpc319fTthLmZuLnRpbWVwaWNrZXI9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMubGVuZ3RoP3dbYl0/dGhpcy5oYXNDbGFzcygidWktdGltZXBpY2tlci1pbnB1dCIpP3dbYl0uYXBwbHkodGhpcyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpOnRoaXM6Im9iamVjdCIhPXR5cGVvZiBiJiZiP3ZvaWQgYS5lcnJvcigiTWV0aG9kICIrYisiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS50aW1lcGlja2VyIik6dy5pbml0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzfSxhLmZuLnRpbWVwaWNrZXIuZGVmYXVsdHM9e2FwcGVuZFRvOiJib2R5IixjbGFzc05hbWU6bnVsbCxjbG9zZU9uV2luZG93U2Nyb2xsOiExLGRpc2FibGVUZXh0SW5wdXQ6ITEsZGlzYWJsZVRpbWVSYW5nZXM6W10sZGlzYWJsZVRvdWNoS2V5Ym9hcmQ6ITEsZHVyYXRpb25UaW1lOm51bGwsZm9yY2VSb3VuZFRpbWU6ITEsbWF4VGltZTpudWxsLG1pblRpbWU6bnVsbCxub25lT3B0aW9uOiExLG9yaWVudGF0aW9uOiJsIixyb3VuZGluZ0Z1bmN0aW9uOmZ1bmN0aW9uKGEsYil7aWYobnVsbD09PWEpcmV0dXJuIG51bGw7aWYoIm51bWJlciIhPXR5cGVvZiBiLnN0ZXApcmV0dXJuIGE7dmFyIGM9YSUoNjAqYi5zdGVwKTtyZXR1cm4gYz49MzAqYi5zdGVwP2ErPTYwKmIuc3RlcC1jOmEtPWMsYT09dSYmYi5zaG93MjQwMD9hOmEldX0sc2Nyb2xsRGVmYXVsdDpudWxsLHNlbGVjdE9uQmx1cjohMSxzaG93MjQwMDohMSxzaG93RHVyYXRpb246ITEsc2hvd09uOlsiY2xpY2siLCJmb2N1cyJdLHNob3dPbkZvY3VzOiEwLHN0ZXA6MzAsc3RvcFNjcm9sbFByb3BhZ2F0aW9uOiExLHRpbWVGb3JtYXQ6Imc6aWEiLHR5cGVhaGVhZEhpZ2hsaWdodDohMCx1c2VTZWxlY3Q6ITEsd3JhcEhvdXJzOiEwfX0pOw0KDQoNCi8qISB2ZXJzaW9uIDogNC4xNy4zNw0KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIGJvb3RzdHJhcC1kYXRldGltZWpzDQogaHR0cHM6Ly9naXRodWIuY29tL0VvbmFzZGFuL2Jvb3RzdHJhcC1kYXRldGltZXBpY2tlcg0KIENvcHlyaWdodCAoYykgMjAxNSBKb25hdGhhbiBQZXRlcnNvbg0KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFsianF1ZXJ5IiwibW9tZW50Il0sYSk7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMpYShyZXF1aXJlKCJqcXVlcnkiKSxyZXF1aXJlKCJtb21lbnQiKSk7ZWxzZXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyJib290c3RyYXAtZGF0ZXRpbWVwaWNrZXIgcmVxdWlyZXMgalF1ZXJ5IHRvIGJlIGxvYWRlZCBmaXJzdCI7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBtb21lbnQpdGhyb3ciYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyIHJlcXVpcmVzIE1vbWVudC5qcyB0byBiZSBsb2FkZWQgZmlyc3QiO2EoalF1ZXJ5LG1vbWVudCl9fShmdW5jdGlvbihhLGIpeyJ1c2Ugc3RyaWN0IjtpZighYil0aHJvdyBuZXcgRXJyb3IoImJvb3RzdHJhcC1kYXRldGltZXBpY2tlciByZXF1aXJlcyBNb21lbnQuanMgdG8gYmUgbG9hZGVkIGZpcnN0Iik7dmFyIGM9ZnVuY3Rpb24oYyxkKXt2YXIgZSxmLGcsaCxpLGosayxsPXt9LG09ITAsbj0hMSxvPSExLHA9MCxxPVt7Y2xzTmFtZToiZGF5cyIsbmF2Rm5jOiJNIixuYXZTdGVwOjF9LHtjbHNOYW1lOiJtb250aHMiLG5hdkZuYzoieSIsbmF2U3RlcDoxfSx7Y2xzTmFtZToieWVhcnMiLG5hdkZuYzoieSIsbmF2U3RlcDoxMH0se2Nsc05hbWU6ImRlY2FkZXMiLG5hdkZuYzoieSIsbmF2U3RlcDoxMDB9XSxyPVsiZGF5cyIsIm1vbnRocyIsInllYXJzIiwiZGVjYWRlcyJdLHM9WyJ0b3AiLCJib3R0b20iLCJhdXRvIl0sdD1bImxlZnQiLCJyaWdodCIsImF1dG8iXSx1PVsiZGVmYXVsdCIsInRvcCIsImJvdHRvbSJdLHY9e3VwOjM4LDM4OiJ1cCIsZG93bjo0MCw0MDoiZG93biIsbGVmdDozNywzNzoibGVmdCIscmlnaHQ6MzksMzk6InJpZ2h0Iix0YWI6OSw5OiJ0YWIiLGVzY2FwZToyNywyNzoiZXNjYXBlIixlbnRlcjoxMywxMzoiZW50ZXIiLHBhZ2VVcDozMywzMzoicGFnZVVwIixwYWdlRG93bjozNCwzNDoicGFnZURvd24iLHNoaWZ0OjE2LDE2OiJzaGlmdCIsY29udHJvbDoxNywxNzoiY29udHJvbCIsc3BhY2U6MzIsMzI6InNwYWNlIix0Ojg0LDg0OiJ0IiwiZGVsZXRlIjo0Niw0NjoiZGVsZXRlIn0sdz17fSx4PWZ1bmN0aW9uKGEpe3ZhciBjLGUsZixnLGgsaT0hMTtyZXR1cm4gdm9pZCAwIT09Yi50eiYmdm9pZCAwIT09ZC50aW1lWm9uZSYmbnVsbCE9PWQudGltZVpvbmUmJiIiIT09ZC50aW1lWm9uZSYmKGk9ITApLHZvaWQgMD09PWF8fG51bGw9PT1hP2M9aT9iKCkudHooZC50aW1lWm9uZSkuc3RhcnRPZigiZCIpOmIoKS5zdGFydE9mKCJkIik6aT8oZT1iKCkudHooZC50aW1lWm9uZSkudXRjT2Zmc2V0KCksZj1iKGEsaixkLnVzZVN0cmljdCkudXRjT2Zmc2V0KCksZiE9PWU/KGc9YigpLnR6KGQudGltZVpvbmUpLmZvcm1hdCgiWiIpLGg9YihhLGosZC51c2VTdHJpY3QpLmZvcm1hdCgiWVlZWS1NTS1ERFtUXUhIOm1tOnNzIikrZyxjPWIoaCxqLGQudXNlU3RyaWN0KS50eihkLnRpbWVab25lKSk6Yz1iKGEsaixkLnVzZVN0cmljdCkudHooZC50aW1lWm9uZSkpOmM9YihhLGosZC51c2VTdHJpY3QpLGN9LHk9ZnVuY3Rpb24oYSl7aWYoInN0cmluZyIhPXR5cGVvZiBhfHxhLmxlbmd0aD4xKXRocm93IG5ldyBUeXBlRXJyb3IoImlzRW5hYmxlZCBleHBlY3RzIGEgc2luZ2xlIGNoYXJhY3RlciBzdHJpbmcgcGFyYW1ldGVyIik7c3dpdGNoKGEpe2Nhc2UieSI6cmV0dXJuLTEhPT1pLmluZGV4T2YoIlkiKTtjYXNlIk0iOnJldHVybi0xIT09aS5pbmRleE9mKCJNIik7Y2FzZSJkIjpyZXR1cm4tMSE9PWkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJkIik7Y2FzZSJoIjpjYXNlIkgiOnJldHVybi0xIT09aS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImgiKTtjYXNlIm0iOnJldHVybi0xIT09aS5pbmRleE9mKCJtIik7Y2FzZSJzIjpyZXR1cm4tMSE9PWkuaW5kZXhPZigicyIpO2RlZmF1bHQ6cmV0dXJuITF9fSx6PWZ1bmN0aW9uKCl7cmV0dXJuIHkoImgiKXx8eSgibSIpfHx5KCJzIil9LEE9ZnVuY3Rpb24oKXtyZXR1cm4geSgieSIpfHx5KCJNIil8fHkoImQiKX0sQj1mdW5jdGlvbigpe3ZhciBiPWEoIjx0aGVhZD4iKS5hcHBlbmQoYSgiPHRyPiIpLmFwcGVuZChhKCI8dGg+IikuYWRkQ2xhc3MoInByZXYiKS5hdHRyKCJkYXRhLWFjdGlvbiIsInByZXZpb3VzIikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMucHJldmlvdXMpKSkuYXBwZW5kKGEoIjx0aD4iKS5hZGRDbGFzcygicGlja2VyLXN3aXRjaCIpLmF0dHIoImRhdGEtYWN0aW9uIiwicGlja2VyU3dpdGNoIikuYXR0cigiY29sc3BhbiIsZC5jYWxlbmRhcldlZWtzPyI2IjoiNSIpKS5hcHBlbmQoYSgiPHRoPiIpLmFkZENsYXNzKCJuZXh0IikuYXR0cigiZGF0YS1hY3Rpb24iLCJuZXh0IikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMubmV4dCkpKSksYz1hKCI8dGJvZHk+IikuYXBwZW5kKGEoIjx0cj4iKS5hcHBlbmQoYSgiPHRkPiIpLmF0dHIoImNvbHNwYW4iLGQuY2FsZW5kYXJXZWVrcz8iOCI6IjciKSkpO3JldHVyblthKCI8ZGl2PiIpLmFkZENsYXNzKCJkYXRlcGlja2VyLWRheXMiKS5hcHBlbmQoYSgiPHRhYmxlPiIpLmFkZENsYXNzKCJ0YWJsZS1jb25kZW5zZWQiKS5hcHBlbmQoYikuYXBwZW5kKGEoIjx0Ym9keT4iKSkpLGEoIjxkaXY+IikuYWRkQ2xhc3MoImRhdGVwaWNrZXItbW9udGhzIikuYXBwZW5kKGEoIjx0YWJsZT4iKS5hZGRDbGFzcygidGFibGUtY29uZGVuc2VkIikuYXBwZW5kKGIuY2xvbmUoKSkuYXBwZW5kKGMuY2xvbmUoKSkpLGEoIjxkaXY+IikuYWRkQ2xhc3MoImRhdGVwaWNrZXIteWVhcnMiKS5hcHBlbmQoYSgiPHRhYmxlPiIpLmFkZENsYXNzKCJ0YWJsZS1jb25kZW5zZWQiKS5hcHBlbmQoYi5jbG9uZSgpKS5hcHBlbmQoYy5jbG9uZSgpKSksYSgiPGRpdj4iKS5hZGRDbGFzcygiZGF0ZXBpY2tlci1kZWNhZGVzIikuYXBwZW5kKGEoIjx0YWJsZT4iKS5hZGRDbGFzcygidGFibGUtY29uZGVuc2VkIikuYXBwZW5kKGIuY2xvbmUoKSkuYXBwZW5kKGMuY2xvbmUoKSkpXX0sQz1mdW5jdGlvbigpe3ZhciBiPWEoIjx0cj4iKSxjPWEoIjx0cj4iKSxlPWEoIjx0cj4iKTtyZXR1cm4geSgiaCIpJiYoYi5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHtocmVmOiIjIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMuaW5jcmVtZW50SG91cn0pLmFkZENsYXNzKCJidG4iKS5hdHRyKCJkYXRhLWFjdGlvbiIsImluY3JlbWVudEhvdXJzIikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMudXApKSkpLGMuYXBwZW5kKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoInRpbWVwaWNrZXItaG91ciIpLmF0dHIoeyJkYXRhLXRpbWUtY29tcG9uZW50IjoiaG91cnMiLHRpdGxlOmQudG9vbHRpcHMucGlja0hvdXJ9KS5hdHRyKCJkYXRhLWFjdGlvbiIsInNob3dIb3VycyIpKSksZS5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHtocmVmOiIjIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMuZGVjcmVtZW50SG91cn0pLmFkZENsYXNzKCJidG4iKS5hdHRyKCJkYXRhLWFjdGlvbiIsImRlY3JlbWVudEhvdXJzIikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMuZG93bikpKSkpLHkoIm0iKSYmKHkoImgiKSYmKGIuYXBwZW5kKGEoIjx0ZD4iKS5hZGRDbGFzcygic2VwYXJhdG9yIikpLGMuYXBwZW5kKGEoIjx0ZD4iKS5hZGRDbGFzcygic2VwYXJhdG9yIikuaHRtbCgiOiIpKSxlLmFwcGVuZChhKCI8dGQ+IikuYWRkQ2xhc3MoInNlcGFyYXRvciIpKSksYi5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHtocmVmOiIjIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMuaW5jcmVtZW50TWludXRlfSkuYWRkQ2xhc3MoImJ0biIpLmF0dHIoImRhdGEtYWN0aW9uIiwiaW5jcmVtZW50TWludXRlcyIpLmFwcGVuZChhKCI8c3Bhbj4iKS5hZGRDbGFzcyhkLmljb25zLnVwKSkpKSxjLmFwcGVuZChhKCI8dGQ+IikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKCJ0aW1lcGlja2VyLW1pbnV0ZSIpLmF0dHIoeyJkYXRhLXRpbWUtY29tcG9uZW50IjoibWludXRlcyIsdGl0bGU6ZC50b29sdGlwcy5waWNrTWludXRlfSkuYXR0cigiZGF0YS1hY3Rpb24iLCJzaG93TWludXRlcyIpKSksZS5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHtocmVmOiIjIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMuZGVjcmVtZW50TWludXRlfSkuYWRkQ2xhc3MoImJ0biIpLmF0dHIoImRhdGEtYWN0aW9uIiwiZGVjcmVtZW50TWludXRlcyIpLmFwcGVuZChhKCI8c3Bhbj4iKS5hZGRDbGFzcyhkLmljb25zLmRvd24pKSkpKSx5KCJzIikmJih5KCJtIikmJihiLmFwcGVuZChhKCI8dGQ+IikuYWRkQ2xhc3MoInNlcGFyYXRvciIpKSxjLmFwcGVuZChhKCI8dGQ+IikuYWRkQ2xhc3MoInNlcGFyYXRvciIpLmh0bWwoIjoiKSksZS5hcHBlbmQoYSgiPHRkPiIpLmFkZENsYXNzKCJzZXBhcmF0b3IiKSkpLGIuYXBwZW5kKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGE+IikuYXR0cih7aHJlZjoiIyIsdGFiaW5kZXg6Ii0xIix0aXRsZTpkLnRvb2x0aXBzLmluY3JlbWVudFNlY29uZH0pLmFkZENsYXNzKCJidG4iKS5hdHRyKCJkYXRhLWFjdGlvbiIsImluY3JlbWVudFNlY29uZHMiKS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoZC5pY29ucy51cCkpKSksYy5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8c3Bhbj4iKS5hZGRDbGFzcygidGltZXBpY2tlci1zZWNvbmQiKS5hdHRyKHsiZGF0YS10aW1lLWNvbXBvbmVudCI6InNlY29uZHMiLHRpdGxlOmQudG9vbHRpcHMucGlja1NlY29uZH0pLmF0dHIoImRhdGEtYWN0aW9uIiwic2hvd1NlY29uZHMiKSkpLGUuYXBwZW5kKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGE+IikuYXR0cih7aHJlZjoiIyIsdGFiaW5kZXg6Ii0xIix0aXRsZTpkLnRvb2x0aXBzLmRlY3JlbWVudFNlY29uZH0pLmFkZENsYXNzKCJidG4iKS5hdHRyKCJkYXRhLWFjdGlvbiIsImRlY3JlbWVudFNlY29uZHMiKS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoZC5pY29ucy5kb3duKSkpKSksaHx8KGIuYXBwZW5kKGEoIjx0ZD4iKS5hZGRDbGFzcygic2VwYXJhdG9yIikpLGMuYXBwZW5kKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGJ1dHRvbj4iKS5hZGRDbGFzcygiYnRuIGJ0bi1wcmltYXJ5IikuYXR0cih7ImRhdGEtYWN0aW9uIjoidG9nZ2xlUGVyaW9kIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMudG9nZ2xlUGVyaW9kfSkpKSxlLmFwcGVuZChhKCI8dGQ+IikuYWRkQ2xhc3MoInNlcGFyYXRvciIpKSksYSgiPGRpdj4iKS5hZGRDbGFzcygidGltZXBpY2tlci1waWNrZXIiKS5hcHBlbmQoYSgiPHRhYmxlPiIpLmFkZENsYXNzKCJ0YWJsZS1jb25kZW5zZWQiKS5hcHBlbmQoW2IsYyxlXSkpfSxEPWZ1bmN0aW9uKCl7dmFyIGI9YSgiPGRpdj4iKS5hZGRDbGFzcygidGltZXBpY2tlci1ob3VycyIpLmFwcGVuZChhKCI8dGFibGU+IikuYWRkQ2xhc3MoInRhYmxlLWNvbmRlbnNlZCIpKSxjPWEoIjxkaXY+IikuYWRkQ2xhc3MoInRpbWVwaWNrZXItbWludXRlcyIpLmFwcGVuZChhKCI8dGFibGU+IikuYWRkQ2xhc3MoInRhYmxlLWNvbmRlbnNlZCIpKSxkPWEoIjxkaXY+IikuYWRkQ2xhc3MoInRpbWVwaWNrZXItc2Vjb25kcyIpLmFwcGVuZChhKCI8dGFibGU+IikuYWRkQ2xhc3MoInRhYmxlLWNvbmRlbnNlZCIpKSxlPVtDKCldO3JldHVybiB5KCJoIikmJmUucHVzaChiKSx5KCJtIikmJmUucHVzaChjKSx5KCJzIikmJmUucHVzaChkKSxlfSxFPWZ1bmN0aW9uKCl7dmFyIGI9W107cmV0dXJuIGQuc2hvd1RvZGF5QnV0dG9uJiZiLnB1c2goYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHsiZGF0YS1hY3Rpb24iOiJ0b2RheSIsdGl0bGU6ZC50b29sdGlwcy50b2RheX0pLmFwcGVuZChhKCI8c3Bhbj4iKS5hZGRDbGFzcyhkLmljb25zLnRvZGF5KSkpKSwhZC5zaWRlQnlTaWRlJiZBKCkmJnooKSYmYi5wdXNoKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGE+IikuYXR0cih7ImRhdGEtYWN0aW9uIjoidG9nZ2xlUGlja2VyIix0aXRsZTpkLnRvb2x0aXBzLnNlbGVjdFRpbWV9KS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoZC5pY29ucy50aW1lKSkpKSxkLnNob3dDbGVhciYmYi5wdXNoKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGE+IikuYXR0cih7ImRhdGEtYWN0aW9uIjoiY2xlYXIiLHRpdGxlOmQudG9vbHRpcHMuY2xlYXJ9KS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoZC5pY29ucy5jbGVhcikpKSksZC5zaG93Q2xvc2UmJmIucHVzaChhKCI8dGQ+IikuYXBwZW5kKGEoIjxhPiIpLmF0dHIoeyJkYXRhLWFjdGlvbiI6ImNsb3NlIix0aXRsZTpkLnRvb2x0aXBzLmNsb3NlfSkuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMuY2xvc2UpKSkpLGEoIjx0YWJsZT4iKS5hZGRDbGFzcygidGFibGUtY29uZGVuc2VkIikuYXBwZW5kKGEoIjx0Ym9keT4iKS5hcHBlbmQoYSgiPHRyPiIpLmFwcGVuZChiKSkpfSxGPWZ1bmN0aW9uKCl7dmFyIGI9YSgiPGRpdj4iKS5hZGRDbGFzcygiYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCBkcm9wZG93bi1tZW51IiksYz1hKCI8ZGl2PiIpLmFkZENsYXNzKCJkYXRlcGlja2VyIikuYXBwZW5kKEIoKSksZT1hKCI8ZGl2PiIpLmFkZENsYXNzKCJ0aW1lcGlja2VyIikuYXBwZW5kKEQoKSksZj1hKCI8dWw+IikuYWRkQ2xhc3MoImxpc3QtdW5zdHlsZWQiKSxnPWEoIjxsaT4iKS5hZGRDbGFzcygicGlja2VyLXN3aXRjaCIrKGQuY29sbGFwc2U/IiBhY2NvcmRpb24tdG9nZ2xlIjoiIikpLmFwcGVuZChFKCkpO3JldHVybiBkLmlubGluZSYmYi5yZW1vdmVDbGFzcygiZHJvcGRvd24tbWVudSIpLGgmJmIuYWRkQ2xhc3MoInVzZXR3ZW50eWZvdXIiKSx5KCJzIikmJiFoJiZiLmFkZENsYXNzKCJ3aWRlciIpLGQuc2lkZUJ5U2lkZSYmQSgpJiZ6KCk/KGIuYWRkQ2xhc3MoInRpbWVwaWNrZXItc2JzIiksInRvcCI9PT1kLnRvb2xiYXJQbGFjZW1lbnQmJmIuYXBwZW5kKGcpLGIuYXBwZW5kKGEoIjxkaXY+IikuYWRkQ2xhc3MoInJvdyIpLmFwcGVuZChjLmFkZENsYXNzKCJjb2wtbWQtNiIpKS5hcHBlbmQoZS5hZGRDbGFzcygiY29sLW1kLTYiKSkpLCJib3R0b20iPT09ZC50b29sYmFyUGxhY2VtZW50JiZiLmFwcGVuZChnKSxiKTooInRvcCI9PT1kLnRvb2xiYXJQbGFjZW1lbnQmJmYuYXBwZW5kKGcpLEEoKSYmZi5hcHBlbmQoYSgiPGxpPiIpLmFkZENsYXNzKGQuY29sbGFwc2UmJnooKT8iY29sbGFwc2UgaW4iOiIiKS5hcHBlbmQoYykpLCJkZWZhdWx0Ij09PWQudG9vbGJhclBsYWNlbWVudCYmZi5hcHBlbmQoZykseigpJiZmLmFwcGVuZChhKCI8bGk+IikuYWRkQ2xhc3MoZC5jb2xsYXBzZSYmQSgpPyJjb2xsYXBzZSI6IiIpLmFwcGVuZChlKSksImJvdHRvbSI9PT1kLnRvb2xiYXJQbGFjZW1lbnQmJmYuYXBwZW5kKGcpLGIuYXBwZW5kKGYpKX0sRz1mdW5jdGlvbigpe3ZhciBiLGU9e307cmV0dXJuIGI9Yy5pcygiaW5wdXQiKXx8ZC5pbmxpbmU/Yy5kYXRhKCk6Yy5maW5kKCJpbnB1dCIpLmRhdGEoKSxiLmRhdGVPcHRpb25zJiZiLmRhdGVPcHRpb25zIGluc3RhbmNlb2YgT2JqZWN0JiYoZT1hLmV4dGVuZCghMCxlLGIuZGF0ZU9wdGlvbnMpKSxhLmVhY2goZCxmdW5jdGlvbihhKXt2YXIgYz0iZGF0ZSIrYS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSthLnNsaWNlKDEpO3ZvaWQgMCE9PWJbY10mJihlW2FdPWJbY10pfSksZX0sSD1mdW5jdGlvbigpe3ZhciBiLGU9KG58fGMpLnBvc2l0aW9uKCksZj0obnx8Yykub2Zmc2V0KCksZz1kLndpZGdldFBvc2l0aW9uaW5nLnZlcnRpY2FsLGg9ZC53aWRnZXRQb3NpdGlvbmluZy5ob3Jpem9udGFsO2lmKGQud2lkZ2V0UGFyZW50KWI9ZC53aWRnZXRQYXJlbnQuYXBwZW5kKG8pO2Vsc2UgaWYoYy5pcygiaW5wdXQiKSliPWMuYWZ0ZXIobykucGFyZW50KCk7ZWxzZXtpZihkLmlubGluZSlyZXR1cm4gdm9pZChiPWMuYXBwZW5kKG8pKTtiPWMsYy5jaGlsZHJlbigpLmZpcnN0KCkuYWZ0ZXIobyl9aWYoImF1dG8iPT09ZyYmKGc9Zi50b3ArMS41Km8uaGVpZ2h0KCk+PWEod2luZG93KS5oZWlnaHQoKSthKHdpbmRvdykuc2Nyb2xsVG9wKCkmJm8uaGVpZ2h0KCkrYy5vdXRlckhlaWdodCgpPGYudG9wPyJ0b3AiOiJib3R0b20iKSwiYXV0byI9PT1oJiYoaD1iLndpZHRoKCk8Zi5sZWZ0K28ub3V0ZXJXaWR0aCgpLzImJmYubGVmdCtvLm91dGVyV2lkdGgoKT5hKHdpbmRvdykud2lkdGgoKT8icmlnaHQiOiJsZWZ0IiksInRvcCI9PT1nP28uYWRkQ2xhc3MoInRvcCIpLnJlbW92ZUNsYXNzKCJib3R0b20iKTpvLmFkZENsYXNzKCJib3R0b20iKS5yZW1vdmVDbGFzcygidG9wIiksInJpZ2h0Ij09PWg/by5hZGRDbGFzcygicHVsbC1yaWdodCIpOm8ucmVtb3ZlQ2xhc3MoInB1bGwtcmlnaHQiKSwicmVsYXRpdmUiIT09Yi5jc3MoInBvc2l0aW9uIikmJihiPWIucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiJyZWxhdGl2ZSI9PT1hKHRoaXMpLmNzcygicG9zaXRpb24iKX0pLmZpcnN0KCkpLDA9PT1iLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImRhdGV0aW1lcGlja2VyIGNvbXBvbmVudCBzaG91bGQgYmUgcGxhY2VkIHdpdGhpbiBhIHJlbGF0aXZlIHBvc2l0aW9uZWQgY29udGFpbmVyIik7by5jc3Moe3RvcDoidG9wIj09PWc/ImF1dG8iOmUudG9wK2Mub3V0ZXJIZWlnaHQoKSxib3R0b206InRvcCI9PT1nP2UudG9wK2Mub3V0ZXJIZWlnaHQoKToiYXV0byIsbGVmdDoibGVmdCI9PT1oP2I9PT1jPzA6ZS5sZWZ0OiJhdXRvIixyaWdodDoibGVmdCI9PT1oPyJhdXRvIjpiLm91dGVyV2lkdGgoKS1jLm91dGVyV2lkdGgoKS0oYj09PWM/MDplLmxlZnQpfSl9LEk9ZnVuY3Rpb24oYSl7ImRwLmNoYW5nZSI9PT1hLnR5cGUmJihhLmRhdGUmJmEuZGF0ZS5pc1NhbWUoYS5vbGREYXRlKXx8IWEuZGF0ZSYmIWEub2xkRGF0ZSl8fGMudHJpZ2dlcihhKX0sSj1mdW5jdGlvbihhKXsieSI9PT1hJiYoYT0iWVlZWSIpLEkoe3R5cGU6ImRwLnVwZGF0ZSIsY2hhbmdlOmEsdmlld0RhdGU6Zi5jbG9uZSgpfSl9LEs9ZnVuY3Rpb24oYSl7byYmKGEmJihrPU1hdGgubWF4KHAsTWF0aC5taW4oMyxrK2EpKSksby5maW5kKCIuZGF0ZXBpY2tlciA+IGRpdiIpLmhpZGUoKS5maWx0ZXIoIi5kYXRlcGlja2VyLSIrcVtrXS5jbHNOYW1lKS5zaG93KCkpfSxMPWZ1bmN0aW9uKCl7dmFyIGI9YSgiPHRyPiIpLGM9Zi5jbG9uZSgpLnN0YXJ0T2YoInciKS5zdGFydE9mKCJkIik7Zm9yKGQuY2FsZW5kYXJXZWVrcz09PSEwJiZiLmFwcGVuZChhKCI8dGg+IikuYWRkQ2xhc3MoImN3IikudGV4dCgiIyIpKTtjLmlzQmVmb3JlKGYuY2xvbmUoKS5lbmRPZigidyIpKTspYi5hcHBlbmQoYSgiPHRoPiIpLmFkZENsYXNzKCJkb3ciKS50ZXh0KGMuZm9ybWF0KCJkZCIpKSksYy5hZGQoMSwiZCIpO28uZmluZCgiLmRhdGVwaWNrZXItZGF5cyB0aGVhZCIpLmFwcGVuZChiKX0sTT1mdW5jdGlvbihhKXtyZXR1cm4gZC5kaXNhYmxlZERhdGVzW2EuZm9ybWF0KCJZWVlZLU1NLUREIildPT09ITB9LE49ZnVuY3Rpb24oYSl7cmV0dXJuIGQuZW5hYmxlZERhdGVzW2EuZm9ybWF0KCJZWVlZLU1NLUREIildPT09ITB9LE89ZnVuY3Rpb24oYSl7cmV0dXJuIGQuZGlzYWJsZWRIb3Vyc1thLmZvcm1hdCgiSCIpXT09PSEwfSxQPWZ1bmN0aW9uKGEpe3JldHVybiBkLmVuYWJsZWRIb3Vyc1thLmZvcm1hdCgiSCIpXT09PSEwfSxRPWZ1bmN0aW9uKGIsYyl7aWYoIWIuaXNWYWxpZCgpKXJldHVybiExO2lmKGQuZGlzYWJsZWREYXRlcyYmImQiPT09YyYmTShiKSlyZXR1cm4hMTtpZihkLmVuYWJsZWREYXRlcyYmImQiPT09YyYmIU4oYikpcmV0dXJuITE7aWYoZC5taW5EYXRlJiZiLmlzQmVmb3JlKGQubWluRGF0ZSxjKSlyZXR1cm4hMTtpZihkLm1heERhdGUmJmIuaXNBZnRlcihkLm1heERhdGUsYykpcmV0dXJuITE7aWYoZC5kYXlzT2ZXZWVrRGlzYWJsZWQmJiJkIj09PWMmJi0xIT09ZC5kYXlzT2ZXZWVrRGlzYWJsZWQuaW5kZXhPZihiLmRheSgpKSlyZXR1cm4hMTtpZihkLmRpc2FibGVkSG91cnMmJigiaCI9PT1jfHwibSI9PT1jfHwicyI9PT1jKSYmTyhiKSlyZXR1cm4hMTtpZihkLmVuYWJsZWRIb3VycyYmKCJoIj09PWN8fCJtIj09PWN8fCJzIj09PWMpJiYhUChiKSlyZXR1cm4hMTtpZihkLmRpc2FibGVkVGltZUludGVydmFscyYmKCJoIj09PWN8fCJtIj09PWN8fCJzIj09PWMpKXt2YXIgZT0hMTtpZihhLmVhY2goZC5kaXNhYmxlZFRpbWVJbnRlcnZhbHMsZnVuY3Rpb24oKXtyZXR1cm4gYi5pc0JldHdlZW4odGhpc1swXSx0aGlzWzFdKT8oZT0hMCwhMSk6dm9pZCAwfSksZSlyZXR1cm4hMX1yZXR1cm4hMH0sUj1mdW5jdGlvbigpe2Zvcih2YXIgYj1bXSxjPWYuY2xvbmUoKS5zdGFydE9mKCJ5Iikuc3RhcnRPZigiZCIpO2MuaXNTYW1lKGYsInkiKTspYi5wdXNoKGEoIjxzcGFuPiIpLmF0dHIoImRhdGEtYWN0aW9uIiwic2VsZWN0TW9udGgiKS5hZGRDbGFzcygibW9udGgiKS50ZXh0KGMuZm9ybWF0KCJNTU0iKSkpLGMuYWRkKDEsIk0iKTtvLmZpbmQoIi5kYXRlcGlja2VyLW1vbnRocyB0ZCIpLmVtcHR5KCkuYXBwZW5kKGIpfSxTPWZ1bmN0aW9uKCl7dmFyIGI9by5maW5kKCIuZGF0ZXBpY2tlci1tb250aHMiKSxjPWIuZmluZCgidGgiKSxnPWIuZmluZCgidGJvZHkiKS5maW5kKCJzcGFuIik7Yy5lcSgwKS5maW5kKCJzcGFuIikuYXR0cigidGl0bGUiLGQudG9vbHRpcHMucHJldlllYXIpLGMuZXEoMSkuYXR0cigidGl0bGUiLGQudG9vbHRpcHMuc2VsZWN0WWVhciksYy5lcSgyKS5maW5kKCJzcGFuIikuYXR0cigidGl0bGUiLGQudG9vbHRpcHMubmV4dFllYXIpLGIuZmluZCgiLmRpc2FibGVkIikucmVtb3ZlQ2xhc3MoImRpc2FibGVkIiksUShmLmNsb25lKCkuc3VidHJhY3QoMSwieSIpLCJ5Iil8fGMuZXEoMCkuYWRkQ2xhc3MoImRpc2FibGVkIiksYy5lcSgxKS50ZXh0KGYueWVhcigpKSxRKGYuY2xvbmUoKS5hZGQoMSwieSIpLCJ5Iil8fGMuZXEoMikuYWRkQ2xhc3MoImRpc2FibGVkIiksZy5yZW1vdmVDbGFzcygiYWN0aXZlIiksZS5pc1NhbWUoZiwieSIpJiYhbSYmZy5lcShlLm1vbnRoKCkpLmFkZENsYXNzKCJhY3RpdmUiKSxnLmVhY2goZnVuY3Rpb24oYil7UShmLmNsb25lKCkubW9udGgoYiksIk0iKXx8YSh0aGlzKS5hZGRDbGFzcygiZGlzYWJsZWQiKX0pfSxUPWZ1bmN0aW9uKCl7dmFyIGE9by5maW5kKCIuZGF0ZXBpY2tlci15ZWFycyIpLGI9YS5maW5kKCJ0aCIpLGM9Zi5jbG9uZSgpLnN1YnRyYWN0KDUsInkiKSxnPWYuY2xvbmUoKS5hZGQoNiwieSIpLGg9IiI7Zm9yKGIuZXEoMCkuZmluZCgic3BhbiIpLmF0dHIoInRpdGxlIixkLnRvb2x0aXBzLnByZXZEZWNhZGUpLGIuZXEoMSkuYXR0cigidGl0bGUiLGQudG9vbHRpcHMuc2VsZWN0RGVjYWRlKSxiLmVxKDIpLmZpbmQoInNwYW4iKS5hdHRyKCJ0aXRsZSIsZC50b29sdGlwcy5uZXh0RGVjYWRlKSxhLmZpbmQoIi5kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpLGQubWluRGF0ZSYmZC5taW5EYXRlLmlzQWZ0ZXIoYywieSIpJiZiLmVxKDApLmFkZENsYXNzKCJkaXNhYmxlZCIpLGIuZXEoMSkudGV4dChjLnllYXIoKSsiLSIrZy55ZWFyKCkpLGQubWF4RGF0ZSYmZC5tYXhEYXRlLmlzQmVmb3JlKGcsInkiKSYmYi5lcSgyKS5hZGRDbGFzcygiZGlzYWJsZWQiKTshYy5pc0FmdGVyKGcsInkiKTspaCs9JzxzcGFuIGRhdGEtYWN0aW9uPSJzZWxlY3RZZWFyIiBjbGFzcz0ieWVhcicrKGMuaXNTYW1lKGUsInkiKSYmIW0/IiBhY3RpdmUiOiIiKSsoUShjLCJ5Iik/IiI6IiBkaXNhYmxlZCIpKyciPicrYy55ZWFyKCkrIjwvc3Bhbj4iLGMuYWRkKDEsInkiKTthLmZpbmQoInRkIikuaHRtbChoKX0sVT1mdW5jdGlvbigpe3ZhciBhPW8uZmluZCgiLmRhdGVwaWNrZXItZGVjYWRlcyIpLGM9YS5maW5kKCJ0aCIpLGc9Yih7eTpmLnllYXIoKS1mLnllYXIoKSUxMDAtMX0pLGg9Zy5jbG9uZSgpLmFkZCgxMDAsInkiKSxpPWcuY2xvbmUoKSxqPSIiO2ZvcihjLmVxKDApLmZpbmQoInNwYW4iKS5hdHRyKCJ0aXRsZSIsZC50b29sdGlwcy5wcmV2Q2VudHVyeSksYy5lcSgyKS5maW5kKCJzcGFuIikuYXR0cigidGl0bGUiLGQudG9vbHRpcHMubmV4dENlbnR1cnkpLGEuZmluZCgiLmRpc2FibGVkIikucmVtb3ZlQ2xhc3MoImRpc2FibGVkIiksKGcuaXNTYW1lKGIoe3k6MTkwMH0pKXx8ZC5taW5EYXRlJiZkLm1pbkRhdGUuaXNBZnRlcihnLCJ5IikpJiZjLmVxKDApLmFkZENsYXNzKCJkaXNhYmxlZCIpLGMuZXEoMSkudGV4dChnLnllYXIoKSsiLSIraC55ZWFyKCkpLChnLmlzU2FtZShiKHt5OjJlM30pKXx8ZC5tYXhEYXRlJiZkLm1heERhdGUuaXNCZWZvcmUoaCwieSIpKSYmYy5lcSgyKS5hZGRDbGFzcygiZGlzYWJsZWQiKTshZy5pc0FmdGVyKGgsInkiKTspais9JzxzcGFuIGRhdGEtYWN0aW9uPSJzZWxlY3REZWNhZGUiIGNsYXNzPSJkZWNhZGUnKyhnLmlzU2FtZShlLCJ5Iik/IiBhY3RpdmUiOiIiKSsoUShnLCJ5Iik/IiI6IiBkaXNhYmxlZCIpKyciIGRhdGEtc2VsZWN0aW9uPSInKyhnLnllYXIoKSs2KSsnIj4nKyhnLnllYXIoKSsxKSsiIC0gIisoZy55ZWFyKCkrMTIpKyI8L3NwYW4+IixnLmFkZCgxMiwieSIpO2orPSI8c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj4iLGEuZmluZCgidGQiKS5odG1sKGopLGMuZXEoMSkudGV4dChpLnllYXIoKSsxKyItIitnLnllYXIoKSl9LFY9ZnVuY3Rpb24oKXt2YXIgYixjLGcsaCxpPW8uZmluZCgiLmRhdGVwaWNrZXItZGF5cyIpLGo9aS5maW5kKCJ0aCIpLGs9W107aWYoQSgpKXtmb3Ioai5lcSgwKS5maW5kKCJzcGFuIikuYXR0cigidGl0bGUiLGQudG9vbHRpcHMucHJldk1vbnRoKSxqLmVxKDEpLmF0dHIoInRpdGxlIixkLnRvb2x0aXBzLnNlbGVjdE1vbnRoKSxqLmVxKDIpLmZpbmQoInNwYW4iKS5hdHRyKCJ0aXRsZSIsZC50b29sdGlwcy5uZXh0TW9udGgpLGkuZmluZCgiLmRpc2FibGVkIikucmVtb3ZlQ2xhc3MoImRpc2FibGVkIiksai5lcSgxKS50ZXh0KGYuZm9ybWF0KGQuZGF5Vmlld0hlYWRlckZvcm1hdCkpLFEoZi5jbG9uZSgpLnN1YnRyYWN0KDEsIk0iKSwiTSIpfHxqLmVxKDApLmFkZENsYXNzKCJkaXNhYmxlZCIpLFEoZi5jbG9uZSgpLmFkZCgxLCJNIiksIk0iKXx8ai5lcSgyKS5hZGRDbGFzcygiZGlzYWJsZWQiKSxiPWYuY2xvbmUoKS5zdGFydE9mKCJNIikuc3RhcnRPZigidyIpLnN0YXJ0T2YoImQiKSxoPTA7NDI+aDtoKyspMD09PWIud2Vla2RheSgpJiYoYz1hKCI8dHI+IiksZC5jYWxlbmRhcldlZWtzJiZjLmFwcGVuZCgnPHRkIGNsYXNzPSJjdyI+JytiLndlZWsoKSsiPC90ZD4iKSxrLnB1c2goYykpLGc9IiIsYi5pc0JlZm9yZShmLCJNIikmJihnKz0iIG9sZCIpLGIuaXNBZnRlcihmLCJNIikmJihnKz0iIG5ldyIpLGIuaXNTYW1lKGUsImQiKSYmIW0mJihnKz0iIGFjdGl2ZSIpLFEoYiwiZCIpfHwoZys9IiBkaXNhYmxlZCIpLGIuaXNTYW1lKHgoKSwiZCIpJiYoZys9IiB0b2RheSIpLCgwPT09Yi5kYXkoKXx8Nj09PWIuZGF5KCkpJiYoZys9IiB3ZWVrZW5kIiksYy5hcHBlbmQoJzx0ZCBkYXRhLWFjdGlvbj0ic2VsZWN0RGF5IiBkYXRhLWRheT0iJytiLmZvcm1hdCgiTCIpKyciIGNsYXNzPSJkYXknK2crJyI+JytiLmRhdGUoKSsiPC90ZD4iKSxiLmFkZCgxLCJkIik7aS5maW5kKCJ0Ym9keSIpLmVtcHR5KCkuYXBwZW5kKGspLFMoKSxUKCksVSgpfX0sVz1mdW5jdGlvbigpe3ZhciBiPW8uZmluZCgiLnRpbWVwaWNrZXItaG91cnMgdGFibGUiKSxjPWYuY2xvbmUoKS5zdGFydE9mKCJkIiksZD1bXSxlPWEoIjx0cj4iKTtmb3IoZi5ob3VyKCk+MTEmJiFoJiZjLmhvdXIoMTIpO2MuaXNTYW1lKGYsImQiKSYmKGh8fGYuaG91cigpPDEyJiZjLmhvdXIoKTwxMnx8Zi5ob3VyKCk+MTEpOyljLmhvdXIoKSU0PT09MCYmKGU9YSgiPHRyPiIpLGQucHVzaChlKSksZS5hcHBlbmQoJzx0ZCBkYXRhLWFjdGlvbj0ic2VsZWN0SG91ciIgY2xhc3M9ImhvdXInKyhRKGMsImgiKT8iIjoiIGRpc2FibGVkIikrJyI+JytjLmZvcm1hdChoPyJISCI6ImhoIikrIjwvdGQ+IiksYy5hZGQoMSwiaCIpO2IuZW1wdHkoKS5hcHBlbmQoZCl9LFg9ZnVuY3Rpb24oKXtmb3IodmFyIGI9by5maW5kKCIudGltZXBpY2tlci1taW51dGVzIHRhYmxlIiksYz1mLmNsb25lKCkuc3RhcnRPZigiaCIpLGU9W10sZz1hKCI8dHI+IiksaD0xPT09ZC5zdGVwcGluZz81OmQuc3RlcHBpbmc7Zi5pc1NhbWUoYywiaCIpOyljLm1pbnV0ZSgpJSg0KmgpPT09MCYmKGc9YSgiPHRyPiIpLGUucHVzaChnKSksZy5hcHBlbmQoJzx0ZCBkYXRhLWFjdGlvbj0ic2VsZWN0TWludXRlIiBjbGFzcz0ibWludXRlJysoUShjLCJtIik/IiI6IiBkaXNhYmxlZCIpKyciPicrYy5mb3JtYXQoIm1tIikrIjwvdGQ+IiksYy5hZGQoaCwibSIpO2IuZW1wdHkoKS5hcHBlbmQoZSl9LFk9ZnVuY3Rpb24oKXtmb3IodmFyIGI9by5maW5kKCIudGltZXBpY2tlci1zZWNvbmRzIHRhYmxlIiksYz1mLmNsb25lKCkuc3RhcnRPZigibSIpLGQ9W10sZT1hKCI8dHI+Iik7Zi5pc1NhbWUoYywibSIpOyljLnNlY29uZCgpJTIwPT09MCYmKGU9YSgiPHRyPiIpLGQucHVzaChlKSksZS5hcHBlbmQoJzx0ZCBkYXRhLWFjdGlvbj0ic2VsZWN0U2Vjb25kIiBjbGFzcz0ic2Vjb25kJysoUShjLCJzIik/IiI6IiBkaXNhYmxlZCIpKyciPicrYy5mb3JtYXQoInNzIikrIjwvdGQ+IiksYy5hZGQoNSwicyIpO2IuZW1wdHkoKS5hcHBlbmQoZCl9LFo9ZnVuY3Rpb24oKXt2YXIgYSxiLGM9by5maW5kKCIudGltZXBpY2tlciBzcGFuW2RhdGEtdGltZS1jb21wb25lbnRdIik7aHx8KGE9by5maW5kKCIudGltZXBpY2tlciBbZGF0YS1hY3Rpb249dG9nZ2xlUGVyaW9kXSIpLGI9ZS5jbG9uZSgpLmFkZChlLmhvdXJzKCk+PTEyPy0xMjoxMiwiaCIpLGEudGV4dChlLmZvcm1hdCgiQSIpKSxRKGIsImgiKT9hLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpOmEuYWRkQ2xhc3MoImRpc2FibGVkIikpLGMuZmlsdGVyKCJbZGF0YS10aW1lLWNvbXBvbmVudD1ob3Vyc10iKS50ZXh0KGUuZm9ybWF0KGg/IkhIIjoiaGgiKSksYy5maWx0ZXIoIltkYXRhLXRpbWUtY29tcG9uZW50PW1pbnV0ZXNdIikudGV4dChlLmZvcm1hdCgibW0iKSksYy5maWx0ZXIoIltkYXRhLXRpbWUtY29tcG9uZW50PXNlY29uZHNdIikudGV4dChlLmZvcm1hdCgic3MiKSksVygpLFgoKSxZKCl9LCQ9ZnVuY3Rpb24oKXtvJiYoVigpLFooKSl9LF89ZnVuY3Rpb24oYSl7dmFyIGI9bT9udWxsOmU7cmV0dXJuIGE/KGE9YS5jbG9uZSgpLmxvY2FsZShkLmxvY2FsZSksMSE9PWQuc3RlcHBpbmcmJmEubWludXRlcyhNYXRoLnJvdW5kKGEubWludXRlcygpL2Quc3RlcHBpbmcpKmQuc3RlcHBpbmclNjApLnNlY29uZHMoMCksdm9pZChRKGEpPyhlPWEsZj1lLmNsb25lKCksZy52YWwoZS5mb3JtYXQoaSkpLGMuZGF0YSgiZGF0ZSIsZS5mb3JtYXQoaSkpLG09ITEsJCgpLEkoe3R5cGU6ImRwLmNoYW5nZSIsZGF0ZTplLmNsb25lKCksb2xkRGF0ZTpifSkpOihkLmtlZXBJbnZhbGlkfHxnLnZhbChtPyIiOmUuZm9ybWF0KGkpKSxJKHt0eXBlOiJkcC5lcnJvciIsZGF0ZTphfSkpKSk6KG09ITAsZy52YWwoIiIpLGMuZGF0YSgiZGF0ZSIsIiIpLEkoe3R5cGU6ImRwLmNoYW5nZSIsZGF0ZTohMSxvbGREYXRlOmJ9KSx2b2lkICQoKSl9LGFhPWZ1bmN0aW9uKCl7dmFyIGI9ITE7cmV0dXJuIG8/KG8uZmluZCgiLmNvbGxhcHNlIikuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcykuZGF0YSgiY29sbGFwc2UiKTtyZXR1cm4gYyYmYy50cmFuc2l0aW9uaW5nPyhiPSEwLCExKTohMH0pLGI/bDoobiYmbi5oYXNDbGFzcygiYnRuIikmJm4udG9nZ2xlQ2xhc3MoImFjdGl2ZSIpLG8uaGlkZSgpLGEod2luZG93KS5vZmYoInJlc2l6ZSIsSCksby5vZmYoImNsaWNrIiwiW2RhdGEtYWN0aW9uXSIpLG8ub2ZmKCJtb3VzZWRvd24iLCExKSxvLnJlbW92ZSgpLG89ITEsSSh7dHlwZToiZHAuaGlkZSIsZGF0ZTplLmNsb25lKCl9KSxnLmJsdXIoKSxsKSk6bH0sYmE9ZnVuY3Rpb24oKXtfKG51bGwpfSxjYT17bmV4dDpmdW5jdGlvbigpe3ZhciBhPXFba10ubmF2Rm5jO2YuYWRkKHFba10ubmF2U3RlcCxhKSxWKCksSihhKX0scHJldmlvdXM6ZnVuY3Rpb24oKXt2YXIgYT1xW2tdLm5hdkZuYztmLnN1YnRyYWN0KHFba10ubmF2U3RlcCxhKSxWKCksSihhKX0scGlja2VyU3dpdGNoOmZ1bmN0aW9uKCl7SygxKX0sc2VsZWN0TW9udGg6ZnVuY3Rpb24oYil7dmFyIGM9YShiLnRhcmdldCkuY2xvc2VzdCgidGJvZHkiKS5maW5kKCJzcGFuIikuaW5kZXgoYShiLnRhcmdldCkpO2YubW9udGgoYyksaz09PXA/KF8oZS5jbG9uZSgpLnllYXIoZi55ZWFyKCkpLm1vbnRoKGYubW9udGgoKSkpLGQuaW5saW5lfHxhYSgpKTooSygtMSksVigpKSxKKCJNIil9LHNlbGVjdFllYXI6ZnVuY3Rpb24oYil7dmFyIGM9cGFyc2VJbnQoYShiLnRhcmdldCkudGV4dCgpLDEwKXx8MDtmLnllYXIoYyksaz09PXA/KF8oZS5jbG9uZSgpLnllYXIoZi55ZWFyKCkpKSxkLmlubGluZXx8YWEoKSk6KEsoLTEpLFYoKSksSigiWVlZWSIpfSxzZWxlY3REZWNhZGU6ZnVuY3Rpb24oYil7dmFyIGM9cGFyc2VJbnQoYShiLnRhcmdldCkuZGF0YSgic2VsZWN0aW9uIiksMTApfHwwO2YueWVhcihjKSxrPT09cD8oXyhlLmNsb25lKCkueWVhcihmLnllYXIoKSkpLGQuaW5saW5lfHxhYSgpKTooSygtMSksVigpKSxKKCJZWVlZIil9LHNlbGVjdERheTpmdW5jdGlvbihiKXt2YXIgYz1mLmNsb25lKCk7YShiLnRhcmdldCkuaXMoIi5vbGQiKSYmYy5zdWJ0cmFjdCgxLCJNIiksYShiLnRhcmdldCkuaXMoIi5uZXciKSYmYy5hZGQoMSwiTSIpLF8oYy5kYXRlKHBhcnNlSW50KGEoYi50YXJnZXQpLnRleHQoKSwxMCkpKSx6KCl8fGQua2VlcE9wZW58fGQuaW5saW5lfHxhYSgpfSxpbmNyZW1lbnRIb3VyczpmdW5jdGlvbigpe3ZhciBhPWUuY2xvbmUoKS5hZGQoMSwiaCIpO1EoYSwiaCIpJiZfKGEpfSxpbmNyZW1lbnRNaW51dGVzOmZ1bmN0aW9uKCl7dmFyIGE9ZS5jbG9uZSgpLmFkZChkLnN0ZXBwaW5nLCJtIik7UShhLCJtIikmJl8oYSl9LGluY3JlbWVudFNlY29uZHM6ZnVuY3Rpb24oKXt2YXIgYT1lLmNsb25lKCkuYWRkKDEsInMiKTtRKGEsInMiKSYmXyhhKX0sZGVjcmVtZW50SG91cnM6ZnVuY3Rpb24oKXt2YXIgYT1lLmNsb25lKCkuc3VidHJhY3QoMSwiaCIpO1EoYSwiaCIpJiZfKGEpfSxkZWNyZW1lbnRNaW51dGVzOmZ1bmN0aW9uKCl7dmFyIGE9ZS5jbG9uZSgpLnN1YnRyYWN0KGQuc3RlcHBpbmcsIm0iKTtRKGEsIm0iKSYmXyhhKX0sZGVjcmVtZW50U2Vjb25kczpmdW5jdGlvbigpe3ZhciBhPWUuY2xvbmUoKS5zdWJ0cmFjdCgxLCJzIik7UShhLCJzIikmJl8oYSl9LHRvZ2dsZVBlcmlvZDpmdW5jdGlvbigpe18oZS5jbG9uZSgpLmFkZChlLmhvdXJzKCk+PTEyPy0xMjoxMiwiaCIpKX0sdG9nZ2xlUGlja2VyOmZ1bmN0aW9uKGIpe3ZhciBjLGU9YShiLnRhcmdldCksZj1lLmNsb3Nlc3QoInVsIiksZz1mLmZpbmQoIi5pbiIpLGg9Zi5maW5kKCIuY29sbGFwc2U6bm90KC5pbikiKTtpZihnJiZnLmxlbmd0aCl7aWYoYz1nLmRhdGEoImNvbGxhcHNlIiksYyYmYy50cmFuc2l0aW9uaW5nKXJldHVybjtnLmNvbGxhcHNlPyhnLmNvbGxhcHNlKCJoaWRlIiksaC5jb2xsYXBzZSgic2hvdyIpKTooZy5yZW1vdmVDbGFzcygiaW4iKSxoLmFkZENsYXNzKCJpbiIpKSxlLmlzKCJzcGFuIik/ZS50b2dnbGVDbGFzcyhkLmljb25zLnRpbWUrIiAiK2QuaWNvbnMuZGF0ZSk6ZS5maW5kKCJzcGFuIikudG9nZ2xlQ2xhc3MoZC5pY29ucy50aW1lKyIgIitkLmljb25zLmRhdGUpfX0sc2hvd1BpY2tlcjpmdW5jdGlvbigpe28uZmluZCgiLnRpbWVwaWNrZXIgPiBkaXY6bm90KC50aW1lcGlja2VyLXBpY2tlcikiKS5oaWRlKCksby5maW5kKCIudGltZXBpY2tlciAudGltZXBpY2tlci1waWNrZXIiKS5zaG93KCl9LHNob3dIb3VyczpmdW5jdGlvbigpe28uZmluZCgiLnRpbWVwaWNrZXIgLnRpbWVwaWNrZXItcGlja2VyIikuaGlkZSgpLG8uZmluZCgiLnRpbWVwaWNrZXIgLnRpbWVwaWNrZXItaG91cnMiKS5zaG93KCl9LHNob3dNaW51dGVzOmZ1bmN0aW9uKCl7by5maW5kKCIudGltZXBpY2tlciAudGltZXBpY2tlci1waWNrZXIiKS5oaWRlKCksby5maW5kKCIudGltZXBpY2tlciAudGltZXBpY2tlci1taW51dGVzIikuc2hvdygpfSxzaG93U2Vjb25kczpmdW5jdGlvbigpe28uZmluZCgiLnRpbWVwaWNrZXIgLnRpbWVwaWNrZXItcGlja2VyIikuaGlkZSgpLG8uZmluZCgiLnRpbWVwaWNrZXIgLnRpbWVwaWNrZXItc2Vjb25kcyIpLnNob3coKX0sc2VsZWN0SG91cjpmdW5jdGlvbihiKXt2YXIgYz1wYXJzZUludChhKGIudGFyZ2V0KS50ZXh0KCksMTApO2h8fChlLmhvdXJzKCk+PTEyPzEyIT09YyYmKGMrPTEyKToxMj09PWMmJihjPTApKSxfKGUuY2xvbmUoKS5ob3VycyhjKSksY2Euc2hvd1BpY2tlci5jYWxsKGwpfSxzZWxlY3RNaW51dGU6ZnVuY3Rpb24oYil7XyhlLmNsb25lKCkubWludXRlcyhwYXJzZUludChhKGIudGFyZ2V0KS50ZXh0KCksMTApKSksY2Euc2hvd1BpY2tlci5jYWxsKGwpfSxzZWxlY3RTZWNvbmQ6ZnVuY3Rpb24oYil7XyhlLmNsb25lKCkuc2Vjb25kcyhwYXJzZUludChhKGIudGFyZ2V0KS50ZXh0KCksMTApKSksY2Euc2hvd1BpY2tlci5jYWxsKGwpfSxjbGVhcjpiYSx0b2RheTpmdW5jdGlvbigpe3ZhciBhPXgoKTtRKGEsImQiKSYmXyhhKX0sY2xvc2U6YWF9LGRhPWZ1bmN0aW9uKGIpe3JldHVybiBhKGIuY3VycmVudFRhcmdldCkuaXMoIi5kaXNhYmxlZCIpPyExOihjYVthKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYWN0aW9uIildLmFwcGx5KGwsYXJndW1lbnRzKSwhMSl9LGVhPWZ1bmN0aW9uKCl7dmFyIGIsYz17eWVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYS5tb250aCgwKS5kYXRlKDEpLmhvdXJzKDApLnNlY29uZHMoMCkubWludXRlcygwKX0sbW9udGg6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGF0ZSgxKS5ob3VycygwKS5zZWNvbmRzKDApLm1pbnV0ZXMoMCl9LGRheTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ob3VycygwKS5zZWNvbmRzKDApLm1pbnV0ZXMoMCl9LGhvdXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2Vjb25kcygwKS5taW51dGVzKDApfSxtaW51dGU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2Vjb25kcygwKX19O3JldHVybiBnLnByb3AoImRpc2FibGVkIil8fCFkLmlnbm9yZVJlYWRvbmx5JiZnLnByb3AoInJlYWRvbmx5Iil8fG8/bDoodm9pZCAwIT09Zy52YWwoKSYmMCE9PWcudmFsKCkudHJpbSgpLmxlbmd0aD9fKGdhKGcudmFsKCkudHJpbSgpKSk6ZC51c2VDdXJyZW50JiZtJiYoZy5pcygiaW5wdXQiKSYmMD09PWcudmFsKCkudHJpbSgpLmxlbmd0aHx8ZC5pbmxpbmUpJiYoYj14KCksInN0cmluZyI9PXR5cGVvZiBkLnVzZUN1cnJlbnQmJihiPWNbZC51c2VDdXJyZW50XShiKSksXyhiKSksbz1GKCksTCgpLFIoKSxvLmZpbmQoIi50aW1lcGlja2VyLWhvdXJzIikuaGlkZSgpLG8uZmluZCgiLnRpbWVwaWNrZXItbWludXRlcyIpLmhpZGUoKSxvLmZpbmQoIi50aW1lcGlja2VyLXNlY29uZHMiKS5oaWRlKCksJCgpLEsoKSxhKHdpbmRvdykub24oInJlc2l6ZSIsSCksby5vbigiY2xpY2siLCJbZGF0YS1hY3Rpb25dIixkYSksby5vbigibW91c2Vkb3duIiwhMSksbiYmbi5oYXNDbGFzcygiYnRuIikmJm4udG9nZ2xlQ2xhc3MoImFjdGl2ZSIpLG8uc2hvdygpLEgoKSxkLmZvY3VzT25TaG93JiYhZy5pcygiOmZvY3VzIikmJmcuZm9jdXMoKSxJKHt0eXBlOiJkcC5zaG93In0pLGwpfSxmYT1mdW5jdGlvbigpe3JldHVybiBvP2FhKCk6ZWEoKX0sZ2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9dm9pZCAwPT09ZC5wYXJzZUlucHV0RGF0ZT9iLmlzTW9tZW50KGEpfHxhIGluc3RhbmNlb2YgRGF0ZT9iKGEpOngoYSk6ZC5wYXJzZUlucHV0RGF0ZShhKSxhLmxvY2FsZShkLmxvY2FsZSksYX0saGE9ZnVuY3Rpb24oYSl7dmFyIGIsYyxlLGYsZz1udWxsLGg9W10saT17fSxqPWEud2hpY2gsaz0icCI7d1tqXT1rO2ZvcihiIGluIHcpdy5oYXNPd25Qcm9wZXJ0eShiKSYmd1tiXT09PWsmJihoLnB1c2goYikscGFyc2VJbnQoYiwxMCkhPT1qJiYoaVtiXT0hMCkpO2ZvcihiIGluIGQua2V5QmluZHMpaWYoZC5rZXlCaW5kcy5oYXNPd25Qcm9wZXJ0eShiKSYmImZ1bmN0aW9uIj09dHlwZW9mIGQua2V5QmluZHNbYl0mJihlPWIuc3BsaXQoIiAiKSxlLmxlbmd0aD09PWgubGVuZ3RoJiZ2W2pdPT09ZVtlLmxlbmd0aC0xXSkpe2ZvcihmPSEwLGM9ZS5sZW5ndGgtMjtjPj0wO2MtLSlpZighKHZbZVtjXV1pbiBpKSl7Zj0hMTticmVha31pZihmKXtnPWQua2V5QmluZHNbYl07YnJlYWt9fWcmJihnLmNhbGwobCxvKSxhLnN0b3BQcm9wYWdhdGlvbigpLGEucHJldmVudERlZmF1bHQoKSl9LGlhPWZ1bmN0aW9uKGEpe3dbYS53aGljaF09InIiLGEuc3RvcFByb3BhZ2F0aW9uKCksYS5wcmV2ZW50RGVmYXVsdCgpfSxqYT1mdW5jdGlvbihiKXt2YXIgYz1hKGIudGFyZ2V0KS52YWwoKS50cmltKCksZD1jP2dhKGMpOm51bGw7cmV0dXJuIF8oZCksYi5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSwhMX0sa2E9ZnVuY3Rpb24oKXtnLm9uKHtjaGFuZ2U6amEsYmx1cjpkLmRlYnVnPyIiOmFhLGtleWRvd246aGEsa2V5dXA6aWEsZm9jdXM6ZC5hbGxvd0lucHV0VG9nZ2xlP2VhOiIifSksYy5pcygiaW5wdXQiKT9nLm9uKHtmb2N1czplYX0pOm4mJihuLm9uKCJjbGljayIsZmEpLG4ub24oIm1vdXNlZG93biIsITEpKX0sbGE9ZnVuY3Rpb24oKXtnLm9mZih7Y2hhbmdlOmphLGJsdXI6Ymx1cixrZXlkb3duOmhhLGtleXVwOmlhLGZvY3VzOmQuYWxsb3dJbnB1dFRvZ2dsZT9hYToiIn0pLGMuaXMoImlucHV0Iik/Zy5vZmYoe2ZvY3VzOmVhfSk6biYmKG4ub2ZmKCJjbGljayIsZmEpLG4ub2ZmKCJtb3VzZWRvd24iLCExKSl9LG1hPWZ1bmN0aW9uKGIpe3ZhciBjPXt9O3JldHVybiBhLmVhY2goYixmdW5jdGlvbigpe3ZhciBhPWdhKHRoaXMpO2EuaXNWYWxpZCgpJiYoY1thLmZvcm1hdCgiWVlZWS1NTS1ERCIpXT0hMCl9KSxPYmplY3Qua2V5cyhjKS5sZW5ndGg/YzohMX0sbmE9ZnVuY3Rpb24oYil7dmFyIGM9e307cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKCl7Y1t0aGlzXT0hMH0pLE9iamVjdC5rZXlzKGMpLmxlbmd0aD9jOiExfSxvYT1mdW5jdGlvbigpe3ZhciBhPWQuZm9ybWF0fHwiTCBMVCI7aT1hLnJlcGxhY2UoLyhcW1teXFtdKlxdKXwoXFwpPyhMVFN8TFR8TEw/TD9MP3xsezEsNH0pL2csZnVuY3Rpb24oYSl7dmFyIGI9ZS5sb2NhbGVEYXRhKCkubG9uZ0RhdGVGb3JtYXQoYSl8fGE7cmV0dXJuIGIucmVwbGFjZSgvKFxbW15cW10qXF0pfChcXCk/KExUU3xMVHxMTD9MP0w/fGx7MSw0fSkvZyxmdW5jdGlvbihhKXtyZXR1cm4gZS5sb2NhbGVEYXRhKCkubG9uZ0RhdGVGb3JtYXQoYSl8fGF9KX0pLGo9ZC5leHRyYUZvcm1hdHM/ZC5leHRyYUZvcm1hdHMuc2xpY2UoKTpbXSxqLmluZGV4T2YoYSk8MCYmai5pbmRleE9mKGkpPDAmJmoucHVzaChpKSxoPWkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJhIik8MSYmaS5yZXBsYWNlKC9cWy4qP1xdL2csIiIpLmluZGV4T2YoImgiKTwxLHkoInkiKSYmKHA9MikseSgiTSIpJiYocD0xKSx5KCJkIikmJihwPTApLGs9TWF0aC5tYXgocCxrKSxtfHxfKGUpfTtpZihsLmRlc3Ryb3k9ZnVuY3Rpb24oKXthYSgpLGxhKCksYy5yZW1vdmVEYXRhKCJEYXRlVGltZVBpY2tlciIpLGMucmVtb3ZlRGF0YSgiZGF0ZSIpfSxsLnRvZ2dsZT1mYSxsLnNob3c9ZWEsbC5oaWRlPWFhLGwuZGlzYWJsZT1mdW5jdGlvbigpe3JldHVybiBhYSgpLG4mJm4uaGFzQ2xhc3MoImJ0biIpJiZuLmFkZENsYXNzKCJkaXNhYmxlZCIpLGcucHJvcCgiZGlzYWJsZWQiLCEwKSxsfSxsLmVuYWJsZT1mdW5jdGlvbigpe3JldHVybiBuJiZuLmhhc0NsYXNzKCJidG4iKSYmbi5yZW1vdmVDbGFzcygiZGlzYWJsZWQiKSxnLnByb3AoImRpc2FibGVkIiwhMSksbH0sbC5pZ25vcmVSZWFkb25seT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5pZ25vcmVSZWFkb25seTtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImlnbm9yZVJlYWRvbmx5ICgpIGV4cGVjdHMgYSBib29sZWFuIHBhcmFtZXRlciIpO3JldHVybiBkLmlnbm9yZVJlYWRvbmx5PWEsbH0sbC5vcHRpb25zPWZ1bmN0aW9uKGIpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBhLmV4dGVuZCghMCx7fSxkKTtpZighKGIgaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMoKSBvcHRpb25zIHBhcmFtZXRlciBzaG91bGQgYmUgYW4gb2JqZWN0Iik7cmV0dXJuIGEuZXh0ZW5kKCEwLGQsYiksYS5lYWNoKGQsZnVuY3Rpb24oYSxiKXtpZih2b2lkIDA9PT1sW2FdKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbiAiK2ErIiBpcyBub3QgcmVjb2duaXplZCEiKTtsW2FdKGIpfSksbH0sbC5kYXRlPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBtP251bGw6ZS5jbG9uZSgpO2lmKCEobnVsbD09PWF8fCJzdHJpbmciPT10eXBlb2YgYXx8Yi5pc01vbWVudChhKXx8YSBpbnN0YW5jZW9mIERhdGUpKXRocm93IG5ldyBUeXBlRXJyb3IoImRhdGUoKSBwYXJhbWV0ZXIgbXVzdCBiZSBvbmUgb2YgW251bGwsIHN0cmluZywgbW9tZW50IG9yIERhdGVdIik7cmV0dXJuIF8obnVsbD09PWE/bnVsbDpnYShhKSksbH0sbC5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZm9ybWF0O2lmKCJzdHJpbmciIT10eXBlb2YgYSYmKCJib29sZWFuIiE9dHlwZW9mIGF8fGEhPT0hMSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZm9ybWF0KCkgZXhwZWN0cyBhIHN0aW5nIG9yIGJvb2xlYW46ZmFsc2UgcGFyYW1ldGVyICIrYSk7cmV0dXJuIGQuZm9ybWF0PWEsaSYmb2EoKSxsfSxsLnRpbWVab25lPWZ1bmN0aW9uKGEpe3JldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD9kLnRpbWVab25lOihkLnRpbWVab25lPWEsbCl9LGwuZGF5Vmlld0hlYWRlckZvcm1hdD1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5kYXlWaWV3SGVhZGVyRm9ybWF0O2lmKCJzdHJpbmciIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJkYXlWaWV3SGVhZGVyRm9ybWF0KCkgZXhwZWN0cyBhIHN0cmluZyBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5kYXlWaWV3SGVhZGVyRm9ybWF0PWEsbH0sbC5leHRyYUZvcm1hdHM9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZXh0cmFGb3JtYXRzO2lmKGEhPT0hMSYmIShhIGluc3RhbmNlb2YgQXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoImV4dHJhRm9ybWF0cygpIGV4cGVjdHMgYW4gYXJyYXkgb3IgZmFsc2UgcGFyYW1ldGVyIik7cmV0dXJuIGQuZXh0cmFGb3JtYXRzPWEsaiYmb2EoKSxsfSxsLmRpc2FibGVkRGF0ZXM9ZnVuY3Rpb24oYil7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZGlzYWJsZWREYXRlcz9hLmV4dGVuZCh7fSxkLmRpc2FibGVkRGF0ZXMpOmQuZGlzYWJsZWREYXRlcztpZighYilyZXR1cm4gZC5kaXNhYmxlZERhdGVzPSExLCQoKSxsO2lmKCEoYiBpbnN0YW5jZW9mIEFycmF5KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJkaXNhYmxlZERhdGVzKCkgZXhwZWN0cyBhbiBhcnJheSBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5kaXNhYmxlZERhdGVzPW1hKGIpLGQuZW5hYmxlZERhdGVzPSExLCQoKSxsfSxsLmVuYWJsZWREYXRlcz1mdW5jdGlvbihiKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5lbmFibGVkRGF0ZXM/YS5leHRlbmQoe30sZC5lbmFibGVkRGF0ZXMpOmQuZW5hYmxlZERhdGVzO2lmKCFiKXJldHVybiBkLmVuYWJsZWREYXRlcz0hMSwkKCksbDtpZighKGIgaW5zdGFuY2VvZiBBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5hYmxlZERhdGVzKCkgZXhwZWN0cyBhbiBhcnJheSBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5lbmFibGVkRGF0ZXM9bWEoYiksZC5kaXNhYmxlZERhdGVzPSExLCQoKSxsfSxsLmRheXNPZldlZWtEaXNhYmxlZD1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5kYXlzT2ZXZWVrRGlzYWJsZWQuc3BsaWNlKDApO2lmKCJib29sZWFuIj09dHlwZW9mIGEmJiFhKXJldHVybiBkLmRheXNPZldlZWtEaXNhYmxlZD0hMSwkKCksbDtpZighKGEgaW5zdGFuY2VvZiBBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZGF5c09mV2Vla0Rpc2FibGVkKCkgZXhwZWN0cyBhbiBhcnJheSBwYXJhbWV0ZXIiKTtpZihkLmRheXNPZldlZWtEaXNhYmxlZD1hLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBiPXBhcnNlSW50KGIsMTApLGI+Nnx8MD5ifHxpc05hTihiKT9hOigtMT09PWEuaW5kZXhPZihiKSYmYS5wdXNoKGIpLGEpfSxbXSkuc29ydCgpLGQudXNlQ3VycmVudCYmIWQua2VlcEludmFsaWQpe2Zvcih2YXIgYj0wOyFRKGUsImQiKTspe2lmKGUuYWRkKDEsImQiKSw3PT09Yil0aHJvdyJUcmllZCA3IHRpbWVzIHRvIGZpbmQgYSB2YWxpZCBkYXRlIjtiKyt9XyhlKX1yZXR1cm4gJCgpLGx9LGwubWF4RGF0ZT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5tYXhEYXRlP2QubWF4RGF0ZS5jbG9uZSgpOmQubWF4RGF0ZTtpZigiYm9vbGVhbiI9PXR5cGVvZiBhJiZhPT09ITEpcmV0dXJuIGQubWF4RGF0ZT0hMSwkKCksbDsic3RyaW5nIj09dHlwZW9mIGEmJigibm93Ij09PWF8fCJtb21lbnQiPT09YSkmJihhPXgoKSk7dmFyIGI9Z2EoYSk7aWYoIWIuaXNWYWxpZCgpKXRocm93IG5ldyBUeXBlRXJyb3IoIm1heERhdGUoKSBDb3VsZCBub3QgcGFyc2UgZGF0ZSBwYXJhbWV0ZXI6ICIrYSk7aWYoZC5taW5EYXRlJiZiLmlzQmVmb3JlKGQubWluRGF0ZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigibWF4RGF0ZSgpIGRhdGUgcGFyYW1ldGVyIGlzIGJlZm9yZSBvcHRpb25zLm1pbkRhdGU6ICIrYi5mb3JtYXQoaSkpO3JldHVybiBkLm1heERhdGU9YixkLnVzZUN1cnJlbnQmJiFkLmtlZXBJbnZhbGlkJiZlLmlzQWZ0ZXIoYSkmJl8oZC5tYXhEYXRlKSxmLmlzQWZ0ZXIoYikmJihmPWIuY2xvbmUoKS5zdWJ0cmFjdChkLnN0ZXBwaW5nLCJtIikpLCQoKSxsfSxsLm1pbkRhdGU9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQubWluRGF0ZT9kLm1pbkRhdGUuY2xvbmUoKTpkLm1pbkRhdGU7aWYoImJvb2xlYW4iPT10eXBlb2YgYSYmYT09PSExKXJldHVybiBkLm1pbkRhdGU9ITEsJCgpLGw7InN0cmluZyI9PXR5cGVvZiBhJiYoIm5vdyI9PT1hfHwibW9tZW50Ij09PWEpJiYoYT14KCkpO3ZhciBiPWdhKGEpO2lmKCFiLmlzVmFsaWQoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtaW5EYXRlKCkgQ291bGQgbm90IHBhcnNlIGRhdGUgcGFyYW1ldGVyOiAiK2EpO2lmKGQubWF4RGF0ZSYmYi5pc0FmdGVyKGQubWF4RGF0ZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigibWluRGF0ZSgpIGRhdGUgcGFyYW1ldGVyIGlzIGFmdGVyIG9wdGlvbnMubWF4RGF0ZTogIitiLmZvcm1hdChpKSk7cmV0dXJuIGQubWluRGF0ZT1iLGQudXNlQ3VycmVudCYmIWQua2VlcEludmFsaWQmJmUuaXNCZWZvcmUoYSkmJl8oZC5taW5EYXRlKSxmLmlzQmVmb3JlKGIpJiYoZj1iLmNsb25lKCkuYWRkKGQuc3RlcHBpbmcsIm0iKSksJCgpLGx9LGwuZGVmYXVsdERhdGU9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZGVmYXVsdERhdGU/ZC5kZWZhdWx0RGF0ZS5jbG9uZSgpOmQuZGVmYXVsdERhdGU7aWYoIWEpcmV0dXJuIGQuZGVmYXVsdERhdGU9ITEsbDsic3RyaW5nIj09dHlwZW9mIGEmJigibm93Ij09PWF8fCJtb21lbnQiPT09YSkmJihhPXgoKSk7dmFyIGI9Z2EoYSk7aWYoIWIuaXNWYWxpZCgpKXRocm93IG5ldyBUeXBlRXJyb3IoImRlZmF1bHREYXRlKCkgQ291bGQgbm90IHBhcnNlIGRhdGUgcGFyYW1ldGVyOiAiK2EpO2lmKCFRKGIpKXRocm93IG5ldyBUeXBlRXJyb3IoImRlZmF1bHREYXRlKCkgZGF0ZSBwYXNzZWQgaXMgaW52YWxpZCBhY2NvcmRpbmcgdG8gY29tcG9uZW50IHNldHVwIHZhbGlkYXRpb25zIik7cmV0dXJuIGQuZGVmYXVsdERhdGU9YiwoZC5kZWZhdWx0RGF0ZSYmZC5pbmxpbmV8fCIiPT09Zy52YWwoKS50cmltKCkpJiZfKGQuZGVmYXVsdERhdGUpLGx9LGwubG9jYWxlPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmxvY2FsZTtpZighYi5sb2NhbGVEYXRhKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoImxvY2FsZSgpIGxvY2FsZSAiK2ErIiBpcyBub3QgbG9hZGVkIGZyb20gbW9tZW50IGxvY2FsZXMhIik7cmV0dXJuIGQubG9jYWxlPWEsZS5sb2NhbGUoZC5sb2NhbGUpLGYubG9jYWxlKGQubG9jYWxlKSxpJiZvYSgpLG8mJihhYSgpLGVhKCkpLGx9LGwuc3RlcHBpbmc9ZnVuY3Rpb24oYSl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP2Quc3RlcHBpbmc6KGE9cGFyc2VJbnQoYSwxMCksKGlzTmFOKGEpfHwxPmEpJiYoYT0xKSxkLnN0ZXBwaW5nPWEsbCl9LGwudXNlQ3VycmVudD1mdW5jdGlvbihhKXt2YXIgYj1bInllYXIiLCJtb250aCIsImRheSIsImhvdXIiLCJtaW51dGUiXTtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC51c2VDdXJyZW50O2lmKCJib29sZWFuIiE9dHlwZW9mIGEmJiJzdHJpbmciIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ1c2VDdXJyZW50KCkgZXhwZWN0cyBhIGJvb2xlYW4gb3Igc3RyaW5nIHBhcmFtZXRlciIpO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmLTE9PT1iLmluZGV4T2YoYS50b0xvd2VyQ2FzZSgpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ1c2VDdXJyZW50KCkgZXhwZWN0cyBhIHN0cmluZyBwYXJhbWV0ZXIgb2YgIitiLmpvaW4oIiwgIikpO3JldHVybiBkLnVzZUN1cnJlbnQ9YSxsfSxsLmNvbGxhcHNlPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmNvbGxhcHNlO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigiY29sbGFwc2UoKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5jb2xsYXBzZT09PWE/bDooZC5jb2xsYXBzZT1hLG8mJihhYSgpLGVhKCkpLGwpfSxsLmljb25zPWZ1bmN0aW9uKGIpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBhLmV4dGVuZCh7fSxkLmljb25zKTtpZighKGIgaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoImljb25zKCkgZXhwZWN0cyBwYXJhbWV0ZXIgdG8gYmUgYW4gT2JqZWN0Iik7cmV0dXJuIGEuZXh0ZW5kKGQuaWNvbnMsYiksbyYmKGFhKCksZWEoKSksbH0sbC50b29sdGlwcz1mdW5jdGlvbihiKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gYS5leHRlbmQoe30sZC50b29sdGlwcyk7aWYoIShiIGluc3RhbmNlb2YgT2JqZWN0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ0b29sdGlwcygpIGV4cGVjdHMgcGFyYW1ldGVyIHRvIGJlIGFuIE9iamVjdCIpO3JldHVybiBhLmV4dGVuZChkLnRvb2x0aXBzLGIpLG8mJihhYSgpLGVhKCkpLGx9LGwudXNlU3RyaWN0PWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLnVzZVN0cmljdDtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoInVzZVN0cmljdCgpIGV4cGVjdHMgYSBib29sZWFuIHBhcmFtZXRlciIpO3JldHVybiBkLnVzZVN0cmljdD1hLGx9LGwuc2lkZUJ5U2lkZT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5zaWRlQnlTaWRlO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigic2lkZUJ5U2lkZSgpIGV4cGVjdHMgYSBib29sZWFuIHBhcmFtZXRlciIpO3JldHVybiBkLnNpZGVCeVNpZGU9YSxvJiYoYWEoKSxlYSgpKSxsfSxsLnZpZXdNb2RlPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLnZpZXdNb2RlO2lmKCJzdHJpbmciIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ2aWV3TW9kZSgpIGV4cGVjdHMgYSBzdHJpbmcgcGFyYW1ldGVyIik7aWYoLTE9PT1yLmluZGV4T2YoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigidmlld01vZGUoKSBwYXJhbWV0ZXIgbXVzdCBiZSBvbmUgb2YgKCIrci5qb2luKCIsICIpKyIpIHZhbHVlIik7cmV0dXJuIGQudmlld01vZGU9YSxrPU1hdGgubWF4KHIuaW5kZXhPZihhKSxwKSxLKCksbH0sbC50b29sYmFyUGxhY2VtZW50PWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLnRvb2xiYXJQbGFjZW1lbnQ7aWYoInN0cmluZyIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoInRvb2xiYXJQbGFjZW1lbnQoKSBleHBlY3RzIGEgc3RyaW5nIHBhcmFtZXRlciIpO2lmKC0xPT09dS5pbmRleE9mKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoInRvb2xiYXJQbGFjZW1lbnQoKSBwYXJhbWV0ZXIgbXVzdCBiZSBvbmUgb2YgKCIrdS5qb2luKCIsICIpKyIpIHZhbHVlIik7cmV0dXJuIGQudG9vbGJhclBsYWNlbWVudD1hLG8mJihhYSgpLGVhKCkpLGx9LGwud2lkZ2V0UG9zaXRpb25pbmc9ZnVuY3Rpb24oYil7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGEuZXh0ZW5kKHt9LGQud2lkZ2V0UG9zaXRpb25pbmcpO2lmKCJbb2JqZWN0IE9iamVjdF0iIT09e30udG9TdHJpbmcuY2FsbChiKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ3aWRnZXRQb3NpdGlvbmluZygpIGV4cGVjdHMgYW4gb2JqZWN0IHZhcmlhYmxlIik7aWYoYi5ob3Jpem9udGFsKXtpZigic3RyaW5nIiE9dHlwZW9mIGIuaG9yaXpvbnRhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJ3aWRnZXRQb3NpdGlvbmluZygpIGhvcml6b250YWwgdmFyaWFibGUgbXVzdCBiZSBhIHN0cmluZyIpO2lmKGIuaG9yaXpvbnRhbD1iLmhvcml6b250YWwudG9Mb3dlckNhc2UoKSwtMT09PXQuaW5kZXhPZihiLmhvcml6b250YWwpKXRocm93IG5ldyBUeXBlRXJyb3IoIndpZGdldFBvc2l0aW9uaW5nKCkgZXhwZWN0cyBob3Jpem9udGFsIHBhcmFtZXRlciB0byBiZSBvbmUgb2YgKCIrdC5qb2luKCIsICIpKyIpIik7ZC53aWRnZXRQb3NpdGlvbmluZy5ob3Jpem9udGFsPWIuaG9yaXpvbnRhbH1pZihiLnZlcnRpY2FsKXtpZigic3RyaW5nIiE9dHlwZW9mIGIudmVydGljYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigid2lkZ2V0UG9zaXRpb25pbmcoKSB2ZXJ0aWNhbCB2YXJpYWJsZSBtdXN0IGJlIGEgc3RyaW5nIik7aWYoYi52ZXJ0aWNhbD1iLnZlcnRpY2FsLnRvTG93ZXJDYXNlKCksLTE9PT1zLmluZGV4T2YoYi52ZXJ0aWNhbCkpdGhyb3cgbmV3IFR5cGVFcnJvcigid2lkZ2V0UG9zaXRpb25pbmcoKSBleHBlY3RzIHZlcnRpY2FsIHBhcmFtZXRlciB0byBiZSBvbmUgb2YgKCIrcy5qb2luKCIsICIpKyIpIik7ZC53aWRnZXRQb3NpdGlvbmluZy52ZXJ0aWNhbD1iLnZlcnRpY2FsfXJldHVybiAkKCksbH0sbC5jYWxlbmRhcldlZWtzPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmNhbGVuZGFyV2Vla3M7aWYoImJvb2xlYW4iIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxlbmRhcldlZWtzKCkgZXhwZWN0cyBwYXJhbWV0ZXIgdG8gYmUgYSBib29sZWFuIHZhbHVlIik7cmV0dXJuIGQuY2FsZW5kYXJXZWVrcz1hLCQoKSxsfSxsLnNob3dUb2RheUJ1dHRvbj1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5zaG93VG9kYXlCdXR0b247aWYoImJvb2xlYW4iIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJzaG93VG9kYXlCdXR0b24oKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5zaG93VG9kYXlCdXR0b249YSxvJiYoYWEoKSxlYSgpKSxsfSxsLnNob3dDbGVhcj1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5zaG93Q2xlYXI7aWYoImJvb2xlYW4iIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJzaG93Q2xlYXIoKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5zaG93Q2xlYXI9YSxvJiYoYWEoKSxlYSgpKSxsfSxsLndpZGdldFBhcmVudD1mdW5jdGlvbihiKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC53aWRnZXRQYXJlbnQ7aWYoInN0cmluZyI9PXR5cGVvZiBiJiYoYj1hKGIpKSxudWxsIT09YiYmInN0cmluZyIhPXR5cGVvZiBiJiYhKGIgaW5zdGFuY2VvZiBhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ3aWRnZXRQYXJlbnQoKSBleHBlY3RzIGEgc3RyaW5nIG9yIGEgalF1ZXJ5IG9iamVjdCBwYXJhbWV0ZXIiKTtyZXR1cm4gZC53aWRnZXRQYXJlbnQ9YixvJiYoYWEoKSxlYSgpKSxsfSxsLmtlZXBPcGVuPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmtlZXBPcGVuO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigia2VlcE9wZW4oKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5rZWVwT3Blbj1hLGx9LGwuZm9jdXNPblNob3c9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZm9jdXNPblNob3c7aWYoImJvb2xlYW4iIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJmb2N1c09uU2hvdygpIGV4cGVjdHMgYSBib29sZWFuIHBhcmFtZXRlciIpO3JldHVybiBkLmZvY3VzT25TaG93PWEsbH0sbC5pbmxpbmU9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuaW5saW5lO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW5saW5lKCkgZXhwZWN0cyBhIGJvb2xlYW4gcGFyYW1ldGVyIik7cmV0dXJuIGQuaW5saW5lPWEsbH0sbC5jbGVhcj1mdW5jdGlvbigpe3JldHVybiBiYSgpLGx9LGwua2V5QmluZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIGQua2V5QmluZHM9YSxsfSxsLmdldE1vbWVudD1mdW5jdGlvbihhKXtyZXR1cm4geChhKX0sbC5kZWJ1Zz1mdW5jdGlvbihhKXtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImRlYnVnKCkgZXhwZWN0cyBhIGJvb2xlYW4gcGFyYW1ldGVyIik7cmV0dXJuIGQuZGVidWc9YSxsfSxsLmFsbG93SW5wdXRUb2dnbGU9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuYWxsb3dJbnB1dFRvZ2dsZTtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImFsbG93SW5wdXRUb2dnbGUoKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5hbGxvd0lucHV0VG9nZ2xlPWEsbH0sbC5zaG93Q2xvc2U9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuc2hvd0Nsb3NlO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigic2hvd0Nsb3NlKCkgZXhwZWN0cyBhIGJvb2xlYW4gcGFyYW1ldGVyIik7cmV0dXJuIGQuc2hvd0Nsb3NlPWEsbH0sbC5rZWVwSW52YWxpZD1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5rZWVwSW52YWxpZDtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImtlZXBJbnZhbGlkKCkgZXhwZWN0cyBhIGJvb2xlYW4gcGFyYW1ldGVyIik7cmV0dXJuIGQua2VlcEludmFsaWQ9YSxsfSxsLmRhdGVwaWNrZXJJbnB1dD1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5kYXRlcGlja2VySW5wdXQ7aWYoInN0cmluZyIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImRhdGVwaWNrZXJJbnB1dCgpIGV4cGVjdHMgYSBzdHJpbmcgcGFyYW1ldGVyIik7cmV0dXJuIGQuZGF0ZXBpY2tlcklucHV0PWEsbH0sbC5wYXJzZUlucHV0RGF0ZT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5wYXJzZUlucHV0RGF0ZTsNCmlmKCJmdW5jdGlvbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoInBhcnNlSW5wdXREYXRlKCkgc2hvbHVkIGJlIGFzIGZ1bmN0aW9uIik7cmV0dXJuIGQucGFyc2VJbnB1dERhdGU9YSxsfSxsLmRpc2FibGVkVGltZUludGVydmFscz1mdW5jdGlvbihiKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5kaXNhYmxlZFRpbWVJbnRlcnZhbHM/YS5leHRlbmQoe30sZC5kaXNhYmxlZFRpbWVJbnRlcnZhbHMpOmQuZGlzYWJsZWRUaW1lSW50ZXJ2YWxzO2lmKCFiKXJldHVybiBkLmRpc2FibGVkVGltZUludGVydmFscz0hMSwkKCksbDtpZighKGIgaW5zdGFuY2VvZiBBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZGlzYWJsZWRUaW1lSW50ZXJ2YWxzKCkgZXhwZWN0cyBhbiBhcnJheSBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5kaXNhYmxlZFRpbWVJbnRlcnZhbHM9YiwkKCksbH0sbC5kaXNhYmxlZEhvdXJzPWZ1bmN0aW9uKGIpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmRpc2FibGVkSG91cnM/YS5leHRlbmQoe30sZC5kaXNhYmxlZEhvdXJzKTpkLmRpc2FibGVkSG91cnM7aWYoIWIpcmV0dXJuIGQuZGlzYWJsZWRIb3Vycz0hMSwkKCksbDtpZighKGIgaW5zdGFuY2VvZiBBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZGlzYWJsZWRIb3VycygpIGV4cGVjdHMgYW4gYXJyYXkgcGFyYW1ldGVyIik7aWYoZC5kaXNhYmxlZEhvdXJzPW5hKGIpLGQuZW5hYmxlZEhvdXJzPSExLGQudXNlQ3VycmVudCYmIWQua2VlcEludmFsaWQpe2Zvcih2YXIgYz0wOyFRKGUsImgiKTspe2lmKGUuYWRkKDEsImgiKSwyND09PWMpdGhyb3ciVHJpZWQgMjQgdGltZXMgdG8gZmluZCBhIHZhbGlkIGRhdGUiO2MrK31fKGUpfXJldHVybiAkKCksbH0sbC5lbmFibGVkSG91cnM9ZnVuY3Rpb24oYil7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZW5hYmxlZEhvdXJzP2EuZXh0ZW5kKHt9LGQuZW5hYmxlZEhvdXJzKTpkLmVuYWJsZWRIb3VycztpZighYilyZXR1cm4gZC5lbmFibGVkSG91cnM9ITEsJCgpLGw7aWYoIShiIGluc3RhbmNlb2YgQXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoImVuYWJsZWRIb3VycygpIGV4cGVjdHMgYW4gYXJyYXkgcGFyYW1ldGVyIik7aWYoZC5lbmFibGVkSG91cnM9bmEoYiksZC5kaXNhYmxlZEhvdXJzPSExLGQudXNlQ3VycmVudCYmIWQua2VlcEludmFsaWQpe2Zvcih2YXIgYz0wOyFRKGUsImgiKTspe2lmKGUuYWRkKDEsImgiKSwyND09PWMpdGhyb3ciVHJpZWQgMjQgdGltZXMgdG8gZmluZCBhIHZhbGlkIGRhdGUiO2MrK31fKGUpfXJldHVybiAkKCksbH0sbC52aWV3RGF0ZT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZi5jbG9uZSgpO2lmKCFhKXJldHVybiBmPWUuY2xvbmUoKSxsO2lmKCEoInN0cmluZyI9PXR5cGVvZiBhfHxiLmlzTW9tZW50KGEpfHxhIGluc3RhbmNlb2YgRGF0ZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigidmlld0RhdGUoKSBwYXJhbWV0ZXIgbXVzdCBiZSBvbmUgb2YgW3N0cmluZywgbW9tZW50IG9yIERhdGVdIik7cmV0dXJuIGY9Z2EoYSksSigpLGx9LGMuaXMoImlucHV0IikpZz1jO2Vsc2UgaWYoZz1jLmZpbmQoZC5kYXRlcGlja2VySW5wdXQpLDA9PT1nLnNpemUoKSlnPWMuZmluZCgiaW5wdXQiKTtlbHNlIGlmKCFnLmlzKCJpbnB1dCIpKXRocm93IG5ldyBFcnJvcignQ1NTIGNsYXNzICInK2QuZGF0ZXBpY2tlcklucHV0KyciIGNhbm5vdCBiZSBhcHBsaWVkIHRvIG5vbiBpbnB1dCBlbGVtZW50Jyk7aWYoYy5oYXNDbGFzcygiaW5wdXQtZ3JvdXAiKSYmKG49MD09PWMuZmluZCgiLmRhdGVwaWNrZXJidXR0b24iKS5zaXplKCk/Yy5maW5kKCIuaW5wdXQtZ3JvdXAtYWRkb24iKTpjLmZpbmQoIi5kYXRlcGlja2VyYnV0dG9uIikpLCFkLmlubGluZSYmIWcuaXMoImlucHV0IikpdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgaW5pdGlhbGl6ZSBEYXRlVGltZVBpY2tlciB3aXRob3V0IGFuIGlucHV0IGVsZW1lbnQiKTtyZXR1cm4gZT14KCksZj1lLmNsb25lKCksYS5leHRlbmQoITAsZCxHKCkpLGwub3B0aW9ucyhkKSxvYSgpLGthKCksZy5wcm9wKCJkaXNhYmxlZCIpJiZsLmRpc2FibGUoKSxnLmlzKCJpbnB1dCIpJiYwIT09Zy52YWwoKS50cmltKCkubGVuZ3RoP18oZ2EoZy52YWwoKS50cmltKCkpKTpkLmRlZmF1bHREYXRlJiZ2b2lkIDA9PT1nLmF0dHIoInBsYWNlaG9sZGVyIikmJl8oZC5kZWZhdWx0RGF0ZSksZC5pbmxpbmUmJmVhKCksbH07YS5mbi5kYXRldGltZXBpY2tlcj1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKTtkLmRhdGEoIkRhdGVUaW1lUGlja2VyIil8fChiPWEuZXh0ZW5kKCEwLHt9LGEuZm4uZGF0ZXRpbWVwaWNrZXIuZGVmYXVsdHMsYiksZC5kYXRhKCJEYXRlVGltZVBpY2tlciIsYyhkLGIpKSl9KX0sYS5mbi5kYXRldGltZXBpY2tlci5kZWZhdWx0cz17dGltZVpvbmU6IkV0Yy9VVEMiLGZvcm1hdDohMSxkYXlWaWV3SGVhZGVyRm9ybWF0OiJNTU1NIFlZWVkiLGV4dHJhRm9ybWF0czohMSxzdGVwcGluZzoxLG1pbkRhdGU6ITEsbWF4RGF0ZTohMSx1c2VDdXJyZW50OiEwLGNvbGxhcHNlOiEwLGxvY2FsZTpiLmxvY2FsZSgpLGRlZmF1bHREYXRlOiExLGRpc2FibGVkRGF0ZXM6ITEsZW5hYmxlZERhdGVzOiExLGljb25zOnt0aW1lOiJnbHlwaGljb24gZ2x5cGhpY29uLXRpbWUiLGRhdGU6ImdseXBoaWNvbiBnbHlwaGljb24tY2FsZW5kYXIiLHVwOiJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tdXAiLGRvd246ImdseXBoaWNvbiBnbHlwaGljb24tY2hldnJvbi1kb3duIixwcmV2aW91czoiZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLWxlZnQiLG5leHQ6ImdseXBoaWNvbiBnbHlwaGljb24tY2hldnJvbi1yaWdodCIsdG9kYXk6ImdseXBoaWNvbiBnbHlwaGljb24tc2NyZWVuc2hvdCIsY2xlYXI6ImdseXBoaWNvbiBnbHlwaGljb24tdHJhc2giLGNsb3NlOiJnbHlwaGljb24gZ2x5cGhpY29uLXJlbW92ZSJ9LHRvb2x0aXBzOnt0b2RheToiR28gdG8gdG9kYXkiLGNsZWFyOiJDbGVhciBzZWxlY3Rpb24iLGNsb3NlOiJDbG9zZSB0aGUgcGlja2VyIixzZWxlY3RNb250aDoiU2VsZWN0IE1vbnRoIixwcmV2TW9udGg6IlByZXZpb3VzIE1vbnRoIixuZXh0TW9udGg6Ik5leHQgTW9udGgiLHNlbGVjdFllYXI6IlNlbGVjdCBZZWFyIixwcmV2WWVhcjoiUHJldmlvdXMgWWVhciIsbmV4dFllYXI6Ik5leHQgWWVhciIsc2VsZWN0RGVjYWRlOiJTZWxlY3QgRGVjYWRlIixwcmV2RGVjYWRlOiJQcmV2aW91cyBEZWNhZGUiLG5leHREZWNhZGU6Ik5leHQgRGVjYWRlIixwcmV2Q2VudHVyeToiUHJldmlvdXMgQ2VudHVyeSIsbmV4dENlbnR1cnk6Ik5leHQgQ2VudHVyeSIscGlja0hvdXI6IlBpY2sgSG91ciIsaW5jcmVtZW50SG91cjoiSW5jcmVtZW50IEhvdXIiLGRlY3JlbWVudEhvdXI6IkRlY3JlbWVudCBIb3VyIixwaWNrTWludXRlOiJQaWNrIE1pbnV0ZSIsaW5jcmVtZW50TWludXRlOiJJbmNyZW1lbnQgTWludXRlIixkZWNyZW1lbnRNaW51dGU6IkRlY3JlbWVudCBNaW51dGUiLHBpY2tTZWNvbmQ6IlBpY2sgU2Vjb25kIixpbmNyZW1lbnRTZWNvbmQ6IkluY3JlbWVudCBTZWNvbmQiLGRlY3JlbWVudFNlY29uZDoiRGVjcmVtZW50IFNlY29uZCIsdG9nZ2xlUGVyaW9kOiJUb2dnbGUgUGVyaW9kIixzZWxlY3RUaW1lOiJTZWxlY3QgVGltZSJ9LHVzZVN0cmljdDohMSxzaWRlQnlTaWRlOiExLGRheXNPZldlZWtEaXNhYmxlZDohMSxjYWxlbmRhcldlZWtzOiExLHZpZXdNb2RlOiJkYXlzIix0b29sYmFyUGxhY2VtZW50OiJkZWZhdWx0IixzaG93VG9kYXlCdXR0b246ITEsc2hvd0NsZWFyOiExLHNob3dDbG9zZTohMSx3aWRnZXRQb3NpdGlvbmluZzp7aG9yaXpvbnRhbDoiYXV0byIsdmVydGljYWw6ImF1dG8ifSx3aWRnZXRQYXJlbnQ6bnVsbCxpZ25vcmVSZWFkb25seTohMSxrZWVwT3BlbjohMSxmb2N1c09uU2hvdzohMCxpbmxpbmU6ITEsa2VlcEludmFsaWQ6ITEsZGF0ZXBpY2tlcklucHV0OiIuZGF0ZXBpY2tlcmlucHV0IixrZXlCaW5kczp7dXA6ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9dGhpcy5kYXRlKCl8fHRoaXMuZ2V0TW9tZW50KCk7YS5maW5kKCIuZGF0ZXBpY2tlciIpLmlzKCI6dmlzaWJsZSIpP3RoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QoNywiZCIpKTp0aGlzLmRhdGUoYi5jbG9uZSgpLmFkZCh0aGlzLnN0ZXBwaW5nKCksIm0iKSl9fSxkb3duOmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiB2b2lkIHRoaXMuc2hvdygpO3ZhciBiPXRoaXMuZGF0ZSgpfHx0aGlzLmdldE1vbWVudCgpO2EuZmluZCgiLmRhdGVwaWNrZXIiKS5pcygiOnZpc2libGUiKT90aGlzLmRhdGUoYi5jbG9uZSgpLmFkZCg3LCJkIikpOnRoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QodGhpcy5zdGVwcGluZygpLCJtIikpfSwiY29udHJvbCB1cCI6ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9dGhpcy5kYXRlKCl8fHRoaXMuZ2V0TW9tZW50KCk7YS5maW5kKCIuZGF0ZXBpY2tlciIpLmlzKCI6dmlzaWJsZSIpP3RoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QoMSwieSIpKTp0aGlzLmRhdGUoYi5jbG9uZSgpLmFkZCgxLCJoIikpfX0sImNvbnRyb2wgZG93biI6ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9dGhpcy5kYXRlKCl8fHRoaXMuZ2V0TW9tZW50KCk7YS5maW5kKCIuZGF0ZXBpY2tlciIpLmlzKCI6dmlzaWJsZSIpP3RoaXMuZGF0ZShiLmNsb25lKCkuYWRkKDEsInkiKSk6dGhpcy5kYXRlKGIuY2xvbmUoKS5zdWJ0cmFjdCgxLCJoIikpfX0sbGVmdDpmdW5jdGlvbihhKXtpZihhKXt2YXIgYj10aGlzLmRhdGUoKXx8dGhpcy5nZXRNb21lbnQoKTthLmZpbmQoIi5kYXRlcGlja2VyIikuaXMoIjp2aXNpYmxlIikmJnRoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QoMSwiZCIpKX19LHJpZ2h0OmZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPXRoaXMuZGF0ZSgpfHx0aGlzLmdldE1vbWVudCgpO2EuZmluZCgiLmRhdGVwaWNrZXIiKS5pcygiOnZpc2libGUiKSYmdGhpcy5kYXRlKGIuY2xvbmUoKS5hZGQoMSwiZCIpKX19LHBhZ2VVcDpmdW5jdGlvbihhKXtpZihhKXt2YXIgYj10aGlzLmRhdGUoKXx8dGhpcy5nZXRNb21lbnQoKTthLmZpbmQoIi5kYXRlcGlja2VyIikuaXMoIjp2aXNpYmxlIikmJnRoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QoMSwiTSIpKX19LHBhZ2VEb3duOmZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPXRoaXMuZGF0ZSgpfHx0aGlzLmdldE1vbWVudCgpO2EuZmluZCgiLmRhdGVwaWNrZXIiKS5pcygiOnZpc2libGUiKSYmdGhpcy5kYXRlKGIuY2xvbmUoKS5hZGQoMSwiTSIpKX19LGVudGVyOmZ1bmN0aW9uKCl7dGhpcy5oaWRlKCl9LGVzY2FwZTpmdW5jdGlvbigpe3RoaXMuaGlkZSgpfSwiY29udHJvbCBzcGFjZSI6ZnVuY3Rpb24oYSl7YS5maW5kKCIudGltZXBpY2tlciIpLmlzKCI6dmlzaWJsZSIpJiZhLmZpbmQoJy5idG5bZGF0YS1hY3Rpb249InRvZ2dsZVBlcmlvZCJdJykuY2xpY2soKX0sdDpmdW5jdGlvbigpe3RoaXMuZGF0ZSh0aGlzLmdldE1vbWVudCgpKX0sImRlbGV0ZSI6ZnVuY3Rpb24oKXt0aGlzLmNsZWFyKCl9fSxkZWJ1ZzohMSxhbGxvd0lucHV0VG9nZ2xlOiExLGRpc2FibGVkVGltZUludGVydmFsczohMSxkaXNhYmxlZEhvdXJzOiExLGVuYWJsZWRIb3VyczohMSx2aWV3RGF0ZTohMX19KTsNCg0KDQovKiENCiAqIGRhdGVwYWlyLmpzIHYwLjQuMTQgLSBBIGphdmFzY3JpcHQgcGx1Z2luIGZvciBpbnRlbGxpZ2VudGx5IHNlbGVjdGluZyBkYXRlIGFuZCB0aW1lIHJhbmdlcyBpbnNwaXJlZCBieSBHb29nbGUgQ2FsZW5kYXIuDQogKiBDb3B5cmlnaHQgKGMpIDIwMTUgSm9uIFRob3JudG9uIC0gaHR0cDovL2pvbnRob3JudG9uLmdpdGh1Yi5jb20vRGF0ZXBhaXIuanMNCiAqIExpY2Vuc2U6IE1JVA0KICovDQohZnVuY3Rpb24oYSxiKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYyhhLGIpe3ZhciBjPWJ8fHt9O2Zvcih2YXIgZCBpbiBhKWQgaW4gY3x8KGNbZF09YVtkXSk7cmV0dXJuIGN9ZnVuY3Rpb24gZChhLGMpe2lmKGgpaChhKS50cmlnZ2VyKGMpO2Vsc2V7dmFyIGQ9Yi5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTtkLmluaXRDdXN0b21FdmVudChjLCEwLCEwLHt9KSxhLmRpc3BhdGNoRXZlbnQoZCl9fWZ1bmN0aW9uIGUoYSxiKXtyZXR1cm4gaD9oKGEpLmhhc0NsYXNzKGIpOmEuY2xhc3NMaXN0LmNvbnRhaW5zKGIpfWZ1bmN0aW9uIGYoYSxiKXt0aGlzLmRhdGVEZWx0YT1udWxsLHRoaXMudGltZURlbHRhPW51bGwsdGhpcy5fZGVmYXVsdHM9e3N0YXJ0Q2xhc3M6InN0YXJ0IixlbmRDbGFzczoiZW5kIix0aW1lQ2xhc3M6InRpbWUiLGRhdGVDbGFzczoiZGF0ZSIsZGVmYXVsdERhdGVEZWx0YTowLGRlZmF1bHRUaW1lRGVsdGE6MzZlNSxhbmNob3I6InN0YXJ0IixwYXJzZVRpbWU6ZnVuY3Rpb24oYSl7cmV0dXJuIGgoYSkudGltZXBpY2tlcigiZ2V0VGltZSIpfSx1cGRhdGVUaW1lOmZ1bmN0aW9uKGEsYil7aChhKS50aW1lcGlja2VyKCJzZXRUaW1lIixiKX0sc2V0TWluVGltZTpmdW5jdGlvbihhLGIpe2goYSkudGltZXBpY2tlcigib3B0aW9uIiwibWluVGltZSIsYil9LHBhcnNlRGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gYS52YWx1ZSYmaChhKS5kYXRlcGlja2VyKCJnZXREYXRlIil9LHVwZGF0ZURhdGU6ZnVuY3Rpb24oYSxiKXtoKGEpLmRhdGVwaWNrZXIoInVwZGF0ZSIsYil9fSx0aGlzLmNvbnRhaW5lcj1hLHRoaXMuc2V0dGluZ3M9Yyh0aGlzLl9kZWZhdWx0cyxiKSx0aGlzLnN0YXJ0RGF0ZUlucHV0PXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi4iK3RoaXMuc2V0dGluZ3Muc3RhcnRDbGFzcysiLiIrdGhpcy5zZXR0aW5ncy5kYXRlQ2xhc3MpLHRoaXMuZW5kRGF0ZUlucHV0PXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi4iK3RoaXMuc2V0dGluZ3MuZW5kQ2xhc3MrIi4iK3RoaXMuc2V0dGluZ3MuZGF0ZUNsYXNzKSx0aGlzLnN0YXJ0VGltZUlucHV0PXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi4iK3RoaXMuc2V0dGluZ3Muc3RhcnRDbGFzcysiLiIrdGhpcy5zZXR0aW5ncy50aW1lQ2xhc3MpLHRoaXMuZW5kVGltZUlucHV0PXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi4iK3RoaXMuc2V0dGluZ3MuZW5kQ2xhc3MrIi4iK3RoaXMuc2V0dGluZ3MudGltZUNsYXNzKSx0aGlzLnJlZnJlc2goKSx0aGlzLl9iaW5kQ2hhbmdlSGFuZGxlcigpfXZhciBnPTg2NGU1LGg9YS5aZXB0b3x8YS5qUXVlcnk7Zi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmYsb3B0aW9uOmZ1bmN0aW9uKGEsYil7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXRoaXMuc2V0dGluZ3M9Yyh0aGlzLnNldHRpbmdzLGEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBhJiYidW5kZWZpbmVkIiE9dHlwZW9mIGIpdGhpcy5zZXR0aW5nc1thXT1iO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBhKXJldHVybiB0aGlzLnNldHRpbmdzW2FdO3RoaXMuX3VwZGF0ZUVuZE1pbnRpbWUoKX0sZ2V0VGltZURpZmY6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmRhdGVEZWx0YSt0aGlzLnRpbWVEZWx0YTtyZXR1cm4hKDA+YSl8fHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuZW5kRGF0ZUlucHV0fHwoYSs9ZyksYX0scmVmcmVzaDpmdW5jdGlvbigpe2lmKHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuc3RhcnREYXRlSW5wdXQudmFsdWUmJnRoaXMuZW5kRGF0ZUlucHV0JiZ0aGlzLmVuZERhdGVJbnB1dC52YWx1ZSl7dmFyIGE9dGhpcy5zZXR0aW5ncy5wYXJzZURhdGUodGhpcy5zdGFydERhdGVJbnB1dCksYj10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLmVuZERhdGVJbnB1dCk7YSYmYiYmKHRoaXMuZGF0ZURlbHRhPWIuZ2V0VGltZSgpLWEuZ2V0VGltZSgpKX1pZih0aGlzLnN0YXJ0VGltZUlucHV0JiZ0aGlzLnN0YXJ0VGltZUlucHV0LnZhbHVlJiZ0aGlzLmVuZFRpbWVJbnB1dCYmdGhpcy5lbmRUaW1lSW5wdXQudmFsdWUpe3ZhciBjPXRoaXMuc2V0dGluZ3MucGFyc2VUaW1lKHRoaXMuc3RhcnRUaW1lSW5wdXQpLGQ9dGhpcy5zZXR0aW5ncy5wYXJzZVRpbWUodGhpcy5lbmRUaW1lSW5wdXQpO2MmJmQmJih0aGlzLnRpbWVEZWx0YT1kLmdldFRpbWUoKS1jLmdldFRpbWUoKSx0aGlzLl91cGRhdGVFbmRNaW50aW1lKCkpfX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fdW5iaW5kQ2hhbmdlSGFuZGxlcigpfSxfYmluZENoYW5nZUhhbmRsZXI6ZnVuY3Rpb24oKXtoP2godGhpcy5jb250YWluZXIpLm9uKCJjaGFuZ2UuZGF0ZXBhaXIiLGgucHJveHkodGhpcy5oYW5kbGVFdmVudCx0aGlzKSk6dGhpcy5jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLCExKX0sX3VuYmluZENoYW5nZUhhbmRsZXI6ZnVuY3Rpb24oKXtoP2godGhpcy5jb250YWluZXIpLm9mZigiY2hhbmdlLmRhdGVwYWlyIik6dGhpcy5jb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLCExKX0saGFuZGxlRXZlbnQ6ZnVuY3Rpb24oYSl7dGhpcy5fdW5iaW5kQ2hhbmdlSGFuZGxlcigpLGUoYS50YXJnZXQsdGhpcy5zZXR0aW5ncy5kYXRlQ2xhc3MpPyIiIT1hLnRhcmdldC52YWx1ZT8odGhpcy5fZGF0ZUNoYW5nZWQoYS50YXJnZXQpLHRoaXMuX3RpbWVDaGFuZ2VkKGEudGFyZ2V0KSk6dGhpcy5kYXRlRGVsdGE9bnVsbDplKGEudGFyZ2V0LHRoaXMuc2V0dGluZ3MudGltZUNsYXNzKSYmKCIiIT1hLnRhcmdldC52YWx1ZT90aGlzLl90aW1lQ2hhbmdlZChhLnRhcmdldCk6dGhpcy50aW1lRGVsdGE9bnVsbCksdGhpcy5fdmFsaWRhdGVSYW5nZXMoKSx0aGlzLl91cGRhdGVFbmRNaW50aW1lKCksdGhpcy5fYmluZENoYW5nZUhhbmRsZXIoKX0sX2RhdGVDaGFuZ2VkOmZ1bmN0aW9uKGEpe2lmKHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuZW5kRGF0ZUlucHV0KXt2YXIgYj10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLnN0YXJ0RGF0ZUlucHV0KSxjPXRoaXMuc2V0dGluZ3MucGFyc2VEYXRlKHRoaXMuZW5kRGF0ZUlucHV0KTtpZihiJiZjKWlmKCJzdGFydCI9PXRoaXMuc2V0dGluZ3MuYW5jaG9yJiZlKGEsdGhpcy5zZXR0aW5ncy5zdGFydENsYXNzKSl7dmFyIGQ9bmV3IERhdGUoYi5nZXRUaW1lKCkrdGhpcy5kYXRlRGVsdGEpO3RoaXMuc2V0dGluZ3MudXBkYXRlRGF0ZSh0aGlzLmVuZERhdGVJbnB1dCxkKX1lbHNlIGlmKCJlbmQiPT10aGlzLnNldHRpbmdzLmFuY2hvciYmZShhLHRoaXMuc2V0dGluZ3MuZW5kQ2xhc3MpKXt2YXIgZD1uZXcgRGF0ZShjLmdldFRpbWUoKS10aGlzLmRhdGVEZWx0YSk7dGhpcy5zZXR0aW5ncy51cGRhdGVEYXRlKHRoaXMuc3RhcnREYXRlSW5wdXQsZCl9ZWxzZSBpZihiPmMpe3ZhciBmPWUoYSx0aGlzLnNldHRpbmdzLnN0YXJ0Q2xhc3MpP3RoaXMuZW5kRGF0ZUlucHV0OnRoaXMuc3RhcnREYXRlSW5wdXQsaD10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZShhKTt0aGlzLmRhdGVEZWx0YT0wLHRoaXMuc2V0dGluZ3MudXBkYXRlRGF0ZShmLGgpfWVsc2UgdGhpcy5kYXRlRGVsdGE9Yy5nZXRUaW1lKCktYi5nZXRUaW1lKCk7ZWxzZSBpZihudWxsIT09dGhpcy5zZXR0aW5ncy5kZWZhdWx0RGF0ZURlbHRhKXtpZihiKXt2YXIgaT1uZXcgRGF0ZShiLmdldFRpbWUoKSt0aGlzLnNldHRpbmdzLmRlZmF1bHREYXRlRGVsdGEqZyk7dGhpcy5zZXR0aW5ncy51cGRhdGVEYXRlKHRoaXMuZW5kRGF0ZUlucHV0LGkpfWVsc2UgaWYoYyl7dmFyIGo9bmV3IERhdGUoYy5nZXRUaW1lKCktdGhpcy5zZXR0aW5ncy5kZWZhdWx0RGF0ZURlbHRhKmcpO3RoaXMuc2V0dGluZ3MudXBkYXRlRGF0ZSh0aGlzLnN0YXJ0RGF0ZUlucHV0LGopfXRoaXMuZGF0ZURlbHRhPXRoaXMuc2V0dGluZ3MuZGVmYXVsdERhdGVEZWx0YSpnfWVsc2UgdGhpcy5kYXRlRGVsdGE9bnVsbH19LF90aW1lQ2hhbmdlZDpmdW5jdGlvbihhKXtpZih0aGlzLnN0YXJ0VGltZUlucHV0JiZ0aGlzLmVuZFRpbWVJbnB1dCl7dmFyIGI9dGhpcy5zZXR0aW5ncy5wYXJzZVRpbWUodGhpcy5zdGFydFRpbWVJbnB1dCksYz10aGlzLnNldHRpbmdzLnBhcnNlVGltZSh0aGlzLmVuZFRpbWVJbnB1dCk7aWYoYiYmYylpZigic3RhcnQiPT10aGlzLnNldHRpbmdzLmFuY2hvciYmZShhLHRoaXMuc2V0dGluZ3Muc3RhcnRDbGFzcykpe3ZhciBkPW5ldyBEYXRlKGIuZ2V0VGltZSgpK3RoaXMudGltZURlbHRhKTt0aGlzLnNldHRpbmdzLnVwZGF0ZVRpbWUodGhpcy5lbmRUaW1lSW5wdXQsZCksYz10aGlzLnNldHRpbmdzLnBhcnNlVGltZSh0aGlzLmVuZFRpbWVJbnB1dCksdGhpcy5fZG9NaWRuaWdodFJvbGxvdmVyKGIsYyl9ZWxzZSBpZigiZW5kIj09dGhpcy5zZXR0aW5ncy5hbmNob3ImJmUoYSx0aGlzLnNldHRpbmdzLmVuZENsYXNzKSl7dmFyIGQ9bmV3IERhdGUoYy5nZXRUaW1lKCktdGhpcy50aW1lRGVsdGEpO3RoaXMuc2V0dGluZ3MudXBkYXRlVGltZSh0aGlzLnN0YXJ0VGltZUlucHV0LGQpLGI9dGhpcy5zZXR0aW5ncy5wYXJzZVRpbWUodGhpcy5zdGFydFRpbWVJbnB1dCksdGhpcy5fZG9NaWRuaWdodFJvbGxvdmVyKGIsYyl9ZWxzZXt0aGlzLl9kb01pZG5pZ2h0Um9sbG92ZXIoYixjKTt2YXIgZixnO2lmKHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuZW5kRGF0ZUlucHV0JiYoZj10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLnN0YXJ0RGF0ZUlucHV0KSxnPXRoaXMuc2V0dGluZ3MucGFyc2VEYXRlKHRoaXMuZW5kRGF0ZUlucHV0KSksK2Y9PStnJiZiPmMpe3ZhciBoPWUoYSx0aGlzLnNldHRpbmdzLmVuZENsYXNzKT90aGlzLmVuZFRpbWVJbnB1dDp0aGlzLnN0YXJ0VGltZUlucHV0LGk9ZShhLHRoaXMuc2V0dGluZ3Muc3RhcnRDbGFzcyk/dGhpcy5lbmRUaW1lSW5wdXQ6dGhpcy5zdGFydFRpbWVJbnB1dCxqPXRoaXMuc2V0dGluZ3MucGFyc2VUaW1lKGgpO3RoaXMudGltZURlbHRhPTAsdGhpcy5zZXR0aW5ncy51cGRhdGVUaW1lKGksail9ZWxzZSB0aGlzLnRpbWVEZWx0YT1jLmdldFRpbWUoKS1iLmdldFRpbWUoKX1lbHNlIGlmKG51bGwhPT10aGlzLnNldHRpbmdzLmRlZmF1bHRUaW1lRGVsdGEpe2lmKGIpe3ZhciBrPW5ldyBEYXRlKGIuZ2V0VGltZSgpK3RoaXMuc2V0dGluZ3MuZGVmYXVsdFRpbWVEZWx0YSk7dGhpcy5zZXR0aW5ncy51cGRhdGVUaW1lKHRoaXMuZW5kVGltZUlucHV0LGspfWVsc2UgaWYoYyl7dmFyIGw9bmV3IERhdGUoYy5nZXRUaW1lKCktdGhpcy5zZXR0aW5ncy5kZWZhdWx0VGltZURlbHRhKTt0aGlzLnNldHRpbmdzLnVwZGF0ZVRpbWUodGhpcy5zdGFydFRpbWVJbnB1dCxsKX10aGlzLnRpbWVEZWx0YT10aGlzLnNldHRpbmdzLmRlZmF1bHRUaW1lRGVsdGF9ZWxzZSB0aGlzLnRpbWVEZWx0YT1udWxsfX0sX2RvTWlkbmlnaHRSb2xsb3ZlcjpmdW5jdGlvbihhLGIpe2lmKHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuZW5kRGF0ZUlucHV0KXt2YXIgYz10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLmVuZERhdGVJbnB1dCksZD10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLnN0YXJ0RGF0ZUlucHV0KSxlPWIuZ2V0VGltZSgpLWEuZ2V0VGltZSgpLGY9YT5iP2c6LTEqZztudWxsIT09dGhpcy5kYXRlRGVsdGEmJnRoaXMuZGF0ZURlbHRhK3RoaXMudGltZURlbHRhPD1nJiZ0aGlzLmRhdGVEZWx0YStlIT0wJiYoZj4wfHwwIT10aGlzLmRhdGVEZWx0YSkmJihlPj0wJiZ0aGlzLnRpbWVEZWx0YTwwfHwwPmUmJnRoaXMudGltZURlbHRhPj0wKSYmKCJzdGFydCI9PXRoaXMuc2V0dGluZ3MuYW5jaG9yPyh0aGlzLnNldHRpbmdzLnVwZGF0ZURhdGUodGhpcy5lbmREYXRlSW5wdXQsbmV3IERhdGUoYy5nZXRUaW1lKCkrZikpLHRoaXMuX2RhdGVDaGFuZ2VkKHRoaXMuZW5kRGF0ZUlucHV0KSk6ImVuZCI9PXRoaXMuc2V0dGluZ3MuYW5jaG9yJiYodGhpcy5zZXR0aW5ncy51cGRhdGVEYXRlKHRoaXMuc3RhcnREYXRlSW5wdXQsbmV3IERhdGUoZC5nZXRUaW1lKCktZikpLHRoaXMuX2RhdGVDaGFuZ2VkKHRoaXMuc3RhcnREYXRlSW5wdXQpKSksdGhpcy50aW1lRGVsdGE9ZX19LF91cGRhdGVFbmRNaW50aW1lOmZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuc2V0dGluZ3Muc2V0TWluVGltZSl7dmFyIGE9bnVsbDsic3RhcnQiPT10aGlzLnNldHRpbmdzLmFuY2hvciYmKCF0aGlzLmRhdGVEZWx0YXx8dGhpcy5kYXRlRGVsdGE8Z3x8dGhpcy50aW1lRGVsdGEmJnRoaXMuZGF0ZURlbHRhK3RoaXMudGltZURlbHRhPGcpJiYoYT10aGlzLnNldHRpbmdzLnBhcnNlVGltZSh0aGlzLnN0YXJ0VGltZUlucHV0KSksdGhpcy5zZXR0aW5ncy5zZXRNaW5UaW1lKHRoaXMuZW5kVGltZUlucHV0LGEpfX0sX3ZhbGlkYXRlUmFuZ2VzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnRUaW1lSW5wdXQmJnRoaXMuZW5kVGltZUlucHV0JiZudWxsPT09dGhpcy50aW1lRGVsdGE/dm9pZCBkKHRoaXMuY29udGFpbmVyLCJyYW5nZUluY29tcGxldGUiKTp0aGlzLnN0YXJ0RGF0ZUlucHV0JiZ0aGlzLmVuZERhdGVJbnB1dCYmbnVsbD09PXRoaXMuZGF0ZURlbHRhP3ZvaWQgZCh0aGlzLmNvbnRhaW5lciwicmFuZ2VJbmNvbXBsZXRlIik6dm9pZCghdGhpcy5zdGFydERhdGVJbnB1dHx8IXRoaXMuZW5kRGF0ZUlucHV0fHx0aGlzLmRhdGVEZWx0YSt0aGlzLnRpbWVEZWx0YT49MD9kKHRoaXMuY29udGFpbmVyLCJyYW5nZVNlbGVjdGVkIik6ZCh0aGlzLmNvbnRhaW5lciwicmFuZ2VFcnJvciIpKX19LGEuRGF0ZXBhaXI9Zn0od2luZG93LGRvY3VtZW50KSxmdW5jdGlvbihhKXthJiYoYS5mbi5kYXRlcGFpcj1mdW5jdGlvbihiKXt2YXIgYztyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiZGF0ZXBhaXIiKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjtlfHwoZT1uZXcgRGF0ZXBhaXIodGhpcyxmKSxkLmRhdGEoImRhdGVwYWlyIixlKSksInN0cmluZyI9PXR5cGVvZiBiJiYoYz1lW2JdKCkpfSksY3x8dGhpc30sYSgiW2RhdGEtZGF0ZXBhaXJdIikuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcyk7Yi5kYXRlcGFpcihiLmRhdGEoKSl9KSl9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSk7DQoNCg0KLyoqIQ0KICogZWFzeS1waWUtY2hhcnQNCiAqIExpZ2h0d2VpZ2h0IHBsdWdpbiB0byByZW5kZXIgc2ltcGxlLCBhbmltYXRlZCBhbmQgcmV0aW5hIG9wdGltaXplZCBwaWUgY2hhcnRzDQogKg0KICogQGxpY2Vuc2UgDQogKiBAYXV0aG9yIFJvYmVydCBGbGVpc2NobWFubiA8cmVuZHJvODdAZ21haWwuY29tPiAoaHR0cDovL3JvYmVydC1mbGVpc2NobWFubi5kZSkNCiAqIEB2ZXJzaW9uIDIuMS43DQogKiovDQohZnVuY3Rpb24oYSxiKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGZ1bmN0aW9uKGEpe3JldHVybiBiKGEpfSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWIocmVxdWlyZSgianF1ZXJ5IikpOmIoalF1ZXJ5KX0odGhpcyxmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7YS5hcHBlbmRDaGlsZChkKSwib2JqZWN0Ij09dHlwZW9mIEdfdm1sQ2FudmFzTWFuYWdlciYmR192bWxDYW52YXNNYW5hZ2VyLmluaXRFbGVtZW50KGQpO3ZhciBlPWQuZ2V0Q29udGV4dCgiMmQiKTtkLndpZHRoPWQuaGVpZ2h0PWIuc2l6ZTt2YXIgZj0xO3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjEmJihmPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvLGQuc3R5bGUud2lkdGg9ZC5zdHlsZS5oZWlnaHQ9W2Iuc2l6ZSwicHgiXS5qb2luKCIiKSxkLndpZHRoPWQuaGVpZ2h0PWIuc2l6ZSpmLGUuc2NhbGUoZixmKSksZS50cmFuc2xhdGUoYi5zaXplLzIsYi5zaXplLzIpLGUucm90YXRlKCgtMC41K2Iucm90YXRlLzE4MCkqTWF0aC5QSSk7dmFyIGc9KGIuc2l6ZS1iLmxpbmVXaWR0aCkvMjtiLnNjYWxlQ29sb3ImJmIuc2NhbGVMZW5ndGgmJihnLT1iLnNjYWxlTGVuZ3RoKzIpLERhdGUubm93PURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX07dmFyIGg9ZnVuY3Rpb24oYSxiLGMpe2M9TWF0aC5taW4oTWF0aC5tYXgoLTEsY3x8MCksMSk7dmFyIGQ9MD49Yz8hMDohMTtlLmJlZ2luUGF0aCgpLGUuYXJjKDAsMCxnLDAsMipNYXRoLlBJKmMsZCksZS5zdHJva2VTdHlsZT1hLGUubGluZVdpZHRoPWIsZS5zdHJva2UoKX0saT1mdW5jdGlvbigpe3ZhciBhLGM7ZS5saW5lV2lkdGg9MSxlLmZpbGxTdHlsZT1iLnNjYWxlQ29sb3IsZS5zYXZlKCk7Zm9yKHZhciBkPTI0O2Q+MDstLWQpZCU2PT09MD8oYz1iLnNjYWxlTGVuZ3RoLGE9MCk6KGM9LjYqYi5zY2FsZUxlbmd0aCxhPWIuc2NhbGVMZW5ndGgtYyksZS5maWxsUmVjdCgtYi5zaXplLzIrYSwwLGMsMSksZS5yb3RhdGUoTWF0aC5QSS8xMik7ZS5yZXN0b3JlKCl9LGo9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZXx8ZnVuY3Rpb24oYSl7d2luZG93LnNldFRpbWVvdXQoYSwxZTMvNjApfX0oKSxrPWZ1bmN0aW9uKCl7Yi5zY2FsZUNvbG9yJiZpKCksYi50cmFja0NvbG9yJiZoKGIudHJhY2tDb2xvcixiLnRyYWNrV2lkdGh8fGIubGluZVdpZHRoLDEpfTt0aGlzLmdldENhbnZhcz1mdW5jdGlvbigpe3JldHVybiBkfSx0aGlzLmdldEN0eD1mdW5jdGlvbigpe3JldHVybiBlfSx0aGlzLmNsZWFyPWZ1bmN0aW9uKCl7ZS5jbGVhclJlY3QoYi5zaXplLy0yLGIuc2l6ZS8tMixiLnNpemUsYi5zaXplKX0sdGhpcy5kcmF3PWZ1bmN0aW9uKGEpe2Iuc2NhbGVDb2xvcnx8Yi50cmFja0NvbG9yP2UuZ2V0SW1hZ2VEYXRhJiZlLnB1dEltYWdlRGF0YT9jP2UucHV0SW1hZ2VEYXRhKGMsMCwwKTooaygpLGM9ZS5nZXRJbWFnZURhdGEoMCwwLGIuc2l6ZSpmLGIuc2l6ZSpmKSk6KHRoaXMuY2xlYXIoKSxrKCkpOnRoaXMuY2xlYXIoKSxlLmxpbmVDYXA9Yi5saW5lQ2FwO3ZhciBkO2Q9ImZ1bmN0aW9uIj09dHlwZW9mIGIuYmFyQ29sb3I/Yi5iYXJDb2xvcihhKTpiLmJhckNvbG9yLGgoZCxiLmxpbmVXaWR0aCxhLzEwMCl9LmJpbmQodGhpcyksdGhpcy5hbmltYXRlPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9RGF0ZS5ub3coKTtiLm9uU3RhcnQoYSxjKTt2YXIgZT1mdW5jdGlvbigpe3ZhciBmPU1hdGgubWluKERhdGUubm93KCktZCxiLmFuaW1hdGUuZHVyYXRpb24pLGc9Yi5lYXNpbmcodGhpcyxmLGEsYy1hLGIuYW5pbWF0ZS5kdXJhdGlvbik7dGhpcy5kcmF3KGcpLGIub25TdGVwKGEsYyxnKSxmPj1iLmFuaW1hdGUuZHVyYXRpb24/Yi5vblN0b3AoYSxjKTpqKGUpfS5iaW5kKHRoaXMpO2ooZSl9LmJpbmQodGhpcyl9LGM9ZnVuY3Rpb24oYSxjKXt2YXIgZD17YmFyQ29sb3I6IiNlZjFlMjUiLHRyYWNrQ29sb3I6IiNmOWY5ZjkiLHNjYWxlQ29sb3I6IiNkZmUwZTAiLHNjYWxlTGVuZ3RoOjUsbGluZUNhcDoicm91bmQiLGxpbmVXaWR0aDozLHRyYWNrV2lkdGg6dm9pZCAwLHNpemU6MTEwLHJvdGF0ZTowLGFuaW1hdGU6e2R1cmF0aW9uOjFlMyxlbmFibGVkOiEwfSxlYXNpbmc6ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYi89ZS8yLDE+Yj9kLzIqYipiK2M6LWQvMiooLS1iKihiLTIpLTEpK2N9LG9uU3RhcnQ6ZnVuY3Rpb24oYSxiKXt9LG9uU3RlcDpmdW5jdGlvbihhLGIsYyl7fSxvblN0b3A6ZnVuY3Rpb24oYSxiKXt9fTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIpZC5yZW5kZXJlcj1iO2Vsc2V7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBTVkdSZW5kZXJlcil0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSBsb2FkIGVpdGhlciB0aGUgU1ZHLSBvciB0aGUgQ2FudmFzUmVuZGVyZXIiKTtkLnJlbmRlcmVyPVNWR1JlbmRlcmVyfXZhciBlPXt9LGY9MCxnPWZ1bmN0aW9uKCl7dGhpcy5lbD1hLHRoaXMub3B0aW9ucz1lO2Zvcih2YXIgYiBpbiBkKWQuaGFzT3duUHJvcGVydHkoYikmJihlW2JdPWMmJiJ1bmRlZmluZWQiIT10eXBlb2YgY1tiXT9jW2JdOmRbYl0sImZ1bmN0aW9uIj09dHlwZW9mIGVbYl0mJihlW2JdPWVbYl0uYmluZCh0aGlzKSkpOyJzdHJpbmciPT10eXBlb2YgZS5lYXNpbmcmJiJ1bmRlZmluZWQiIT10eXBlb2YgalF1ZXJ5JiZqUXVlcnkuaXNGdW5jdGlvbihqUXVlcnkuZWFzaW5nW2UuZWFzaW5nXSk/ZS5lYXNpbmc9alF1ZXJ5LmVhc2luZ1tlLmVhc2luZ106ZS5lYXNpbmc9ZC5lYXNpbmcsIm51bWJlciI9PXR5cGVvZiBlLmFuaW1hdGUmJihlLmFuaW1hdGU9e2R1cmF0aW9uOmUuYW5pbWF0ZSxlbmFibGVkOiEwfSksImJvb2xlYW4iIT10eXBlb2YgZS5hbmltYXRlfHxlLmFuaW1hdGV8fChlLmFuaW1hdGU9e2R1cmF0aW9uOjFlMyxlbmFibGVkOmUuYW5pbWF0ZX0pLHRoaXMucmVuZGVyZXI9bmV3IGUucmVuZGVyZXIoYSxlKSx0aGlzLnJlbmRlcmVyLmRyYXcoZiksYS5kYXRhc2V0JiZhLmRhdGFzZXQucGVyY2VudD90aGlzLnVwZGF0ZShwYXJzZUZsb2F0KGEuZGF0YXNldC5wZXJjZW50KSk6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJkYXRhLXBlcmNlbnQiKSYmdGhpcy51cGRhdGUocGFyc2VGbG9hdChhLmdldEF0dHJpYnV0ZSgiZGF0YS1wZXJjZW50IikpKX0uYmluZCh0aGlzKTt0aGlzLnVwZGF0ZT1mdW5jdGlvbihhKXtyZXR1cm4gYT1wYXJzZUZsb2F0KGEpLGUuYW5pbWF0ZS5lbmFibGVkP3RoaXMucmVuZGVyZXIuYW5pbWF0ZShmLGEpOnRoaXMucmVuZGVyZXIuZHJhdyhhKSxmPWEsdGhpc30uYmluZCh0aGlzKSx0aGlzLmRpc2FibGVBbmltYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gZS5hbmltYXRlLmVuYWJsZWQ9ITEsdGhpc30sdGhpcy5lbmFibGVBbmltYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gZS5hbmltYXRlLmVuYWJsZWQ9ITAsdGhpc30sZygpfTthLmZuLmVhc3lQaWVDaGFydD1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ7YS5kYXRhKHRoaXMsImVhc3lQaWVDaGFydCIpfHwoZD1hLmV4dGVuZCh7fSxiLGEodGhpcykuZGF0YSgpKSxhLmRhdGEodGhpcywiZWFzeVBpZUNoYXJ0IixuZXcgYyh0aGlzLGQpKSl9KX19KTsNCg0KDQovKiENCiAJanF1ZXJ5LmRkc2xpY2subWluLmpzDQogKi8NCihmdW5jdGlvbihlKXtlLmZuLmRkc2xpY2s9ZnVuY3Rpb24obCl7aWYoY1tsXSl7cmV0dXJuIGNbbF0uYXBwbHkodGhpcyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpfWVsc2V7aWYodHlwZW9mIGw9PT0ib2JqZWN0Inx8IWwpe3JldHVybiBjLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfWVsc2V7ZS5lcnJvcigiTWV0aG9kICIrbCsiIGRvZXMgbm90IGV4aXN0cy4iKX19fTt2YXIgYz17fSxkPXtkYXRhOltdLGtlZXBKU09OSXRlbXNPblRvcDpmYWxzZSx3aWR0aDoyNjAsaGVpZ2h0Om51bGwsYmFja2dyb3VuZDoiI2VlZSIsc2VsZWN0VGV4dDoiIixkZWZhdWx0U2VsZWN0ZWRJbmRleDpudWxsLHRydW5jYXRlRGVzY3JpcHRpb246dHJ1ZSxpbWFnZVBvc2l0aW9uOiJsZWZ0IixzaG93U2VsZWN0ZWRIVE1MOnRydWUsY2xpY2tPZmZUb0Nsb3NlOnRydWUsZW1iZWRDU1M6dHJ1ZSxvblNlbGVjdGVkOmZ1bmN0aW9uKCl7fX0saT0nPGRpdiBjbGFzcz0iZGQtc2VsZWN0Ij48aW5wdXQgY2xhc3M9ImRkLXNlbGVjdGVkLXZhbHVlIiB0eXBlPSJoaWRkZW4iIC8+PGEgY2xhc3M9ImRkLXNlbGVjdGVkIj48L2E+PHNwYW4gY2xhc3M9ImRkLXBvaW50ZXIgZGQtcG9pbnRlci1kb3duIj48L3NwYW4+PC9kaXY+JyxhPSc8dWwgY2xhc3M9ImRkLW9wdGlvbnMiPjwvdWw+JyxiPSc8c3R5bGUgaWQ9ImNzcy1kZHNsaWNrIiB0eXBlPSJ0ZXh0L2NzcyI+LmRkLXNlbGVjdHsgYm9yZGVyLXJhZGl1czoycHg7IGJvcmRlcjpzb2xpZCAxcHggI2NjYzsgcG9zaXRpb246cmVsYXRpdmU7IGN1cnNvcjpwb2ludGVyO30uZGQtZGVzYyB7IGNvbG9yOiNhYWE7IGRpc3BsYXk6YmxvY2s7IG92ZXJmbG93OiBoaWRkZW47IGZvbnQtd2VpZ2h0Om5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNGVtOyB9LmRkLXNlbGVjdGVkeyBvdmVyZmxvdzpoaWRkZW47IGRpc3BsYXk6YmxvY2s7IHBhZGRpbmc6MTBweDsgZm9udC13ZWlnaHQ6Ym9sZDt9LmRkLXBvaW50ZXJ7IHdpZHRoOjA7IGhlaWdodDowOyBwb3NpdGlvbjphYnNvbHV0ZTsgcmlnaHQ6MTBweDsgdG9wOjUwJTsgbWFyZ2luLXRvcDotM3B4O30uZGQtcG9pbnRlci1kb3dueyBib3JkZXI6c29saWQgNXB4IHRyYW5zcGFyZW50OyBib3JkZXItdG9wOnNvbGlkIDVweCAjMDAwOyB9LmRkLXBvaW50ZXItdXB7Ym9yZGVyOnNvbGlkIDVweCB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tOnNvbGlkIDVweCAjMDAwICFpbXBvcnRhbnQ7IG1hcmdpbi10b3A6LThweDt9LmRkLW9wdGlvbnN7IGJvcmRlcjpzb2xpZCAxcHggI2NjYzsgYm9yZGVyLXRvcDpub25lOyBsaXN0LXN0eWxlOm5vbmU7IGJveC1zaGFkb3c6MHB4IDFweCA1cHggI2RkZDsgZGlzcGxheTpub25lOyBwb3NpdGlvbjphYnNvbHV0ZTsgei1pbmRleDoyMDAwOyBtYXJnaW46MDsgcGFkZGluZzowO2JhY2tncm91bmQ6I2ZmZjsgb3ZlcmZsb3c6YXV0bzt9LmRkLW9wdGlvbnsgcGFkZGluZzoxMHB4OyBkaXNwbGF5OmJsb2NrOyBib3JkZXItYm90dG9tOnNvbGlkIDFweCAjZGRkOyBvdmVyZmxvdzpoaWRkZW47IHRleHQtZGVjb3JhdGlvbjpub25lOyBjb2xvcjojMzMzOyBjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IH0uZGQtb3B0aW9ucyA+IGxpOmxhc3QtY2hpbGQgPiAuZGQtb3B0aW9ueyBib3JkZXItYm90dG9tOm5vbmU7fS5kZC1vcHRpb246aG92ZXJ7IGJhY2tncm91bmQ6I2YzZjNmMzsgY29sb3I6IzAwMDt9LmRkLXNlbGVjdGVkLWRlc2NyaXB0aW9uLXRydW5jYXRlZCB7IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTpub3dyYXA7IH0uZGQtb3B0aW9uLXNlbGVjdGVkIHsgYmFja2dyb3VuZDojZjZmNmY2OyB9LmRkLW9wdGlvbi1pbWFnZSwgLmRkLXNlbGVjdGVkLWltYWdlIHsgdmVydGljYWwtYWxpZ246bWlkZGxlOyBmbG9hdDpsZWZ0OyBtYXJnaW4tcmlnaHQ6NXB4OyBtYXgtd2lkdGg6NjRweDt9LmRkLWltYWdlLXJpZ2h0IHsgZmxvYXQ6cmlnaHQ7IG1hcmdpbi1yaWdodDoxNXB4OyBtYXJnaW4tbGVmdDo1cHg7fS5kZC1jb250YWluZXJ7IHBvc2l0aW9uOnJlbGF0aXZlO33DouKCrOKAuSAuZGQtc2VsZWN0ZWQtdGV4dCB7IGZvbnQtd2VpZ2h0OmJvbGR9w6LigqzigLk8L3N0eWxlPic7Yy5pbml0PWZ1bmN0aW9uKGwpe3ZhciBsPWUuZXh0ZW5kKHt9LGQsbCk7aWYoZSgiI2Nzcy1kZHNsaWNrIikubGVuZ3RoPD0wJiZsLmVtYmVkQ1NTKXtlKGIpLmFwcGVuZFRvKCJoZWFkIil9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBwPWUodGhpcykscT1wLmRhdGEoImRkc2xpY2siKTtpZighcSl7dmFyIG49W10sbz1sLmRhdGE7cC5maW5kKCJvcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHc9ZSh0aGlzKSx2PXcuZGF0YSgpO24ucHVzaCh7dGV4dDplLnRyaW0ody50ZXh0KCkpLHZhbHVlOncudmFsKCksc2VsZWN0ZWQ6dy5pcygiOnNlbGVjdGVkIiksZGVzY3JpcHRpb246di5kZXNjcmlwdGlvbixpbWFnZVNyYzp2LmltYWdlc3JjfSl9KTtpZihsLmtlZXBKU09OSXRlbXNPblRvcCl7ZS5tZXJnZShsLmRhdGEsbil9ZWxzZXtsLmRhdGE9ZS5tZXJnZShuLGwuZGF0YSl9dmFyIG09cCxzPWUoJzxkaXYgaWQ9IicrcC5hdHRyKCJpZCIpKyciPjwvZGl2PicpO3AucmVwbGFjZVdpdGgocyk7cD1zO3AuYWRkQ2xhc3MoImRkLWNvbnRhaW5lciIpLmFwcGVuZChpKS5hcHBlbmQoYSk7dmFyIG49cC5maW5kKCIuZGQtc2VsZWN0IiksdT1wLmZpbmQoIi5kZC1vcHRpb25zIik7dS5jc3Moe3dpZHRoOmwud2lkdGh9KTtuLmNzcyh7d2lkdGg6bC53aWR0aCxiYWNrZ3JvdW5kOmwuYmFja2dyb3VuZH0pO3AuY3NzKHt3aWR0aDpsLndpZHRofSk7aWYobC5oZWlnaHQhPW51bGwpe3UuY3NzKHtoZWlnaHQ6bC5oZWlnaHQsb3ZlcmZsb3c6ImF1dG8ifSl9ZS5lYWNoKGwuZGF0YSxmdW5jdGlvbih2LHcpe2lmKHcuc2VsZWN0ZWQpe2wuZGVmYXVsdFNlbGVjdGVkSW5kZXg9dn11LmFwcGVuZCgnPGxpPjxhIGNsYXNzPSJkZC1vcHRpb24iPicrKHcudmFsdWU/JyA8aW5wdXQgY2xhc3M9ImRkLW9wdGlvbi12YWx1ZSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iJyt3LnZhbHVlKyciIC8+JzoiIikrKHcuaW1hZ2VTcmM/JyA8aW1nIGNsYXNzPSJkZC1vcHRpb24taW1hZ2UnKyhsLmltYWdlUG9zaXRpb249PSJyaWdodCI/IiBkZC1pbWFnZS1yaWdodCI6IiIpKyciIHNyYz0iJyt3LmltYWdlU3JjKyciIC8+JzoiIikrKHcudGV4dD8nIDxsYWJlbCBjbGFzcz0iZGQtb3B0aW9uLXRleHQiPicrdy50ZXh0KyI8L2xhYmVsPiI6IiIpKyh3LmRlc2NyaXB0aW9uPycgPHNtYWxsIGNsYXNzPSJkZC1vcHRpb24tZGVzY3JpcHRpb24gZGQtZGVzYyI+Jyt3LmRlc2NyaXB0aW9uKyI8L3NtYWxsPiI6IiIpKyI8L2E+PC9saT4iKX0pO3ZhciB0PXtzZXR0aW5nczpsLG9yaWdpbmFsOm0sc2VsZWN0ZWRJbmRleDotMSxzZWxlY3RlZEl0ZW06bnVsbCxzZWxlY3RlZERhdGE6bnVsbH07cC5kYXRhKCJkZHNsaWNrIix0KTtpZihsLnNlbGVjdFRleHQubGVuZ3RoPjAmJmwuZGVmYXVsdFNlbGVjdGVkSW5kZXg9PW51bGwpe3AuZmluZCgiLmRkLXNlbGVjdGVkIikuaHRtbChsLnNlbGVjdFRleHQpfWVsc2V7dmFyIHI9KGwuZGVmYXVsdFNlbGVjdGVkSW5kZXghPW51bGwmJmwuZGVmYXVsdFNlbGVjdGVkSW5kZXg+PTAmJmwuZGVmYXVsdFNlbGVjdGVkSW5kZXg8bC5kYXRhLmxlbmd0aCk/bC5kZWZhdWx0U2VsZWN0ZWRJbmRleDowO2oocCxyKX1wLmZpbmQoIi5kZC1zZWxlY3QiKS5vbigiY2xpY2suZGRzbGljayIsZnVuY3Rpb24oKXtmKHApfSk7cC5maW5kKCIuZGQtb3B0aW9uIikub24oImNsaWNrLmRkc2xpY2siLGZ1bmN0aW9uKCl7aihwLGUodGhpcykuY2xvc2VzdCgibGkiKS5pbmRleCgpKX0pO2lmKGwuY2xpY2tPZmZUb0Nsb3NlKXt1LmFkZENsYXNzKCJkZC1jbGljay1vZmYtY2xvc2UiKTtwLm9uKCJjbGljay5kZHNsaWNrIixmdW5jdGlvbih2KXt2LnN0b3BQcm9wYWdhdGlvbigpfSk7ZSgiYm9keSIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtlKCIuZGQtY2xpY2stb2ZmLWNsb3NlIikuc2xpZGVVcCg1MCkuc2libGluZ3MoIi5kZC1zZWxlY3QiKS5maW5kKCIuZGQtcG9pbnRlciIpLnJlbW92ZUNsYXNzKCJkZC1wb2ludGVyLXVwIil9KX19fSl9O2Muc2VsZWN0PWZ1bmN0aW9uKGwpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihsLmluZGV4IT09dW5kZWZpbmVkKXtqKGUodGhpcyksbC5pbmRleCl9fSl9O2Mub3Blbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbT1lKHRoaXMpLGw9bS5kYXRhKCJkZHNsaWNrIik7aWYobCl7ZihtKX19KX07Yy5jbG9zZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbT1lKHRoaXMpLGw9bS5kYXRhKCJkZHNsaWNrIik7aWYobCl7ayhtKX19KX07Yy5kZXN0cm95PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuPWUodGhpcyksbT1uLmRhdGEoImRkc2xpY2siKTtpZihtKXt2YXIgbD1tLm9yaWdpbmFsO24ucmVtb3ZlRGF0YSgiZGRzbGljayIpLnVuYmluZCgiLmRkc2xpY2siKS5yZXBsYWNlV2l0aChsKX19KX07ZnVuY3Rpb24gaihxLHMpe3ZhciB1PXEuZGF0YSgiZGRzbGljayIpO3ZhciByPXEuZmluZCgiLmRkLXNlbGVjdGVkIiksbj1yLnNpYmxpbmdzKCIuZGQtc2VsZWN0ZWQtdmFsdWUiKSx2PXEuZmluZCgiLmRkLW9wdGlvbnMiKSxsPXIuc2libGluZ3MoIi5kZC1wb2ludGVyIikscD1xLmZpbmQoIi5kZC1vcHRpb24iKS5lcShzKSxtPXAuY2xvc2VzdCgibGkiKSxvPXUuc2V0dGluZ3MsdD11LnNldHRpbmdzLmRhdGFbc107cS5maW5kKCIuZGQtb3B0aW9uIikucmVtb3ZlQ2xhc3MoImRkLW9wdGlvbi1zZWxlY3RlZCIpO3AuYWRkQ2xhc3MoImRkLW9wdGlvbi1zZWxlY3RlZCIpO3Uuc2VsZWN0ZWRJbmRleD1zO3Uuc2VsZWN0ZWRJdGVtPW07dS5zZWxlY3RlZERhdGE9dDtpZihvLnNob3dTZWxlY3RlZEhUTUwpe3IuaHRtbCgodC5pbWFnZVNyYz8nPGltZyBjbGFzcz0iZGQtc2VsZWN0ZWQtaW1hZ2UnKyhvLmltYWdlUG9zaXRpb249PSJyaWdodCI/IiBkZC1pbWFnZS1yaWdodCI6IiIpKyciIHNyYz0iJyt0LmltYWdlU3JjKyciIC8+JzoiIikrKHQudGV4dD8nPGxhYmVsIGNsYXNzPSJkZC1zZWxlY3RlZC10ZXh0Ij4nK3QudGV4dCsiPC9sYWJlbD4iOiIiKSsodC5kZXNjcmlwdGlvbj8nPHNtYWxsIGNsYXNzPSJkZC1zZWxlY3RlZC1kZXNjcmlwdGlvbiBkZC1kZXNjJysoby50cnVuY2F0ZURlc2NyaXB0aW9uPyIgZGQtc2VsZWN0ZWQtZGVzY3JpcHRpb24tdHJ1bmNhdGVkIjoiIikrJyIgPicrdC5kZXNjcmlwdGlvbisiPC9zbWFsbD4iOiIiKSl9ZWxzZXtyLmh0bWwodC50ZXh0KX1uLnZhbCh0LnZhbHVlKTt1Lm9yaWdpbmFsLnZhbCh0LnZhbHVlKTtxLmRhdGEoImRkc2xpY2siLHUpO2socSk7ZyhxKTtpZih0eXBlb2Ygby5vblNlbGVjdGVkPT0iZnVuY3Rpb24iKXtvLm9uU2VsZWN0ZWQuY2FsbCh0aGlzLHUpfX1mdW5jdGlvbiBmKHApe3ZhciBvPXAuZmluZCgiLmRkLXNlbGVjdCIpLG09by5zaWJsaW5ncygiLmRkLW9wdGlvbnMiKSxsPW8uZmluZCgiLmRkLXBvaW50ZXIiKSxuPW0uaXMoIjp2aXNpYmxlIik7ZSgiLmRkLWNsaWNrLW9mZi1jbG9zZSIpLm5vdChtKS5zbGlkZVVwKDUwKTtlKCIuZGQtcG9pbnRlciIpLnJlbW92ZUNsYXNzKCJkZC1wb2ludGVyLXVwIik7aWYobil7bS5zbGlkZVVwKCJmYXN0Iik7bC5yZW1vdmVDbGFzcygiZGQtcG9pbnRlci11cCIpfWVsc2V7bS5zbGlkZURvd24oImZhc3QiKTtsLmFkZENsYXNzKCJkZC1wb2ludGVyLXVwIil9aChwKX1mdW5jdGlvbiBrKGwpe2wuZmluZCgiLmRkLW9wdGlvbnMiKS5zbGlkZVVwKDUwKTtsLmZpbmQoIi5kZC1wb2ludGVyIikucmVtb3ZlQ2xhc3MoImRkLXBvaW50ZXItdXAiKS5yZW1vdmVDbGFzcygiZGQtcG9pbnRlci11cCIpfWZ1bmN0aW9uIGcobyl7dmFyIG49by5maW5kKCIuZGQtc2VsZWN0IikuY3NzKCJoZWlnaHQiKTt2YXIgbT1vLmZpbmQoIi5kZC1zZWxlY3RlZC1kZXNjcmlwdGlvbiIpO3ZhciBsPW8uZmluZCgiLmRkLXNlbGVjdGVkLWltYWdlIik7aWYobS5sZW5ndGg8PTAmJmwubGVuZ3RoPjApe28uZmluZCgiLmRkLXNlbGVjdGVkLXRleHQiKS5jc3MoImxpbmVIZWlnaHQiLG4pfX1mdW5jdGlvbiBoKGwpe2wuZmluZCgiLmRkLW9wdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgcD1lKHRoaXMpO3ZhciBuPXAuY3NzKCJoZWlnaHQiKTt2YXIgbz1wLmZpbmQoIi5kZC1vcHRpb24tZGVzY3JpcHRpb24iKTt2YXIgbT1sLmZpbmQoIi5kZC1vcHRpb24taW1hZ2UiKTtpZihvLmxlbmd0aDw9MCYmbS5sZW5ndGg+MCl7cC5maW5kKCIuZGQtb3B0aW9uLXRleHQiKS5jc3MoImxpbmVIZWlnaHQiLG4pfX0pfX0pKGpRdWVyeSk7DQoNCg0KLyohDQogKiBGdWxsQ2FsZW5kYXIgdjIuNi4wDQogKiBEb2NzICYgTGljZW5zZTogaHR0cDovL2Z1bGxjYWxlbmRhci5pby8NCiAqIChjKSAyMDE1IEFkYW0gU2hhdw0KICovDQohZnVuY3Rpb24oYSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiLCJtb21lbnQiXSxhKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YShyZXF1aXJlKCJqcXVlcnkiKSxyZXF1aXJlKCJtb21lbnQiKSk6YShqUXVlcnksbW9tZW50KX0oZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBRKGEsUmEpfWZ1bmN0aW9uIGQoYil7dmFyIGMsZD17dmlld3M6Yi52aWV3c3x8e319O3JldHVybiBhLmVhY2goYixmdW5jdGlvbihiLGUpeyJ2aWV3cyIhPWImJihhLmlzUGxhaW5PYmplY3QoZSkmJiEvKHRpbWV8ZHVyYXRpb258aW50ZXJ2YWwpJC9pLnRlc3QoYikmJi0xPT1hLmluQXJyYXkoYixSYSk/KGM9bnVsbCxhLmVhY2goZSxmdW5jdGlvbihhLGUpey9eKG1vbnRofHdlZWt8ZGF5fGRlZmF1bHR8YmFzaWMoV2Vla3xEYXkpP3xhZ2VuZGEoV2Vla3xEYXkpPykkLy50ZXN0KGEpPyhkLnZpZXdzW2FdfHwoZC52aWV3c1thXT17fSksZC52aWV3c1thXVtiXT1lKTooY3x8KGM9e30pLGNbYV09ZSl9KSxjJiYoZFtiXT1jKSk6ZFtiXT1lKX0pLGR9ZnVuY3Rpb24gZShhLGIpe2IubGVmdCYmYS5jc3MoeyJib3JkZXItbGVmdC13aWR0aCI6MSwibWFyZ2luLWxlZnQiOmIubGVmdC0xfSksYi5yaWdodCYmYS5jc3MoeyJib3JkZXItcmlnaHQtd2lkdGgiOjEsIm1hcmdpbi1yaWdodCI6Yi5yaWdodC0xfSl9ZnVuY3Rpb24gZihhKXthLmNzcyh7Im1hcmdpbi1sZWZ0IjoiIiwibWFyZ2luLXJpZ2h0IjoiIiwiYm9yZGVyLWxlZnQtd2lkdGgiOiIiLCJib3JkZXItcmlnaHQtd2lkdGgiOiIifSl9ZnVuY3Rpb24gZygpe2EoImJvZHkiKS5hZGRDbGFzcygiZmMtbm90LWFsbG93ZWQiKX1mdW5jdGlvbiBoKCl7YSgiYm9keSIpLnJlbW92ZUNsYXNzKCJmYy1ub3QtYWxsb3dlZCIpfWZ1bmN0aW9uIGkoYixjLGQpe3ZhciBlPU1hdGguZmxvb3IoYy9iLmxlbmd0aCksZj1NYXRoLmZsb29yKGMtZSooYi5sZW5ndGgtMSkpLGc9W10saD1bXSxpPVtdLGs9MDtqKGIpLGIuZWFjaChmdW5jdGlvbihjLGQpe3ZhciBqPWM9PT1iLmxlbmd0aC0xP2Y6ZSxsPWEoZCkub3V0ZXJIZWlnaHQoITApO2o+bD8oZy5wdXNoKGQpLGgucHVzaChsKSxpLnB1c2goYShkKS5oZWlnaHQoKSkpOmsrPWx9KSxkJiYoYy09ayxlPU1hdGguZmxvb3IoYy9nLmxlbmd0aCksZj1NYXRoLmZsb29yKGMtZSooZy5sZW5ndGgtMSkpKSxhKGcpLmVhY2goZnVuY3Rpb24oYixjKXt2YXIgZD1iPT09Zy5sZW5ndGgtMT9mOmUsaj1oW2JdLGs9aVtiXSxsPWQtKGotayk7ZD5qJiZhKGMpLmhlaWdodChsKX0pfWZ1bmN0aW9uIGooYSl7YS5oZWlnaHQoIiIpfWZ1bmN0aW9uIGsoYil7dmFyIGM9MDtyZXR1cm4gYi5maW5kKCI+IHNwYW4iKS5lYWNoKGZ1bmN0aW9uKGIsZCl7dmFyIGU9YShkKS5vdXRlcldpZHRoKCk7ZT5jJiYoYz1lKX0pLGMrKyxiLndpZHRoKGMpLGN9ZnVuY3Rpb24gbChhLGIpe3JldHVybiBhLmhlaWdodChiKS5hZGRDbGFzcygiZmMtc2Nyb2xsZXIiKSxhWzBdLnNjcm9sbEhlaWdodC0xPmFbMF0uY2xpZW50SGVpZ2h0PyEwOihtKGEpLCExKX1mdW5jdGlvbiBtKGEpe2EuaGVpZ2h0KCIiKS5yZW1vdmVDbGFzcygiZmMtc2Nyb2xsZXIiKX1mdW5jdGlvbiBuKGIpe3ZhciBjPWIuY3NzKCJwb3NpdGlvbiIpLGQ9Yi5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKTtyZXR1cm4vKGF1dG98c2Nyb2xsKS8udGVzdChiLmNzcygib3ZlcmZsb3ciKStiLmNzcygib3ZlcmZsb3cteSIpK2IuY3NzKCJvdmVyZmxvdy14IikpfSkuZXEoMCk7cmV0dXJuImZpeGVkIiE9PWMmJmQubGVuZ3RoP2Q6YShiWzBdLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50KX1mdW5jdGlvbiBvKGEpe3ZhciBiPWEub2Zmc2V0KCk7cmV0dXJue2xlZnQ6Yi5sZWZ0LHJpZ2h0OmIubGVmdCthLm91dGVyV2lkdGgoKSx0b3A6Yi50b3AsYm90dG9tOmIudG9wK2Eub3V0ZXJIZWlnaHQoKX19ZnVuY3Rpb24gcChhKXt2YXIgYj1hLm9mZnNldCgpLGM9cihhKSxkPWIubGVmdCt1KGEsImJvcmRlci1sZWZ0LXdpZHRoIikrYy5sZWZ0LGU9Yi50b3ArdShhLCJib3JkZXItdG9wLXdpZHRoIikrYy50b3A7cmV0dXJue2xlZnQ6ZCxyaWdodDpkK2FbMF0uY2xpZW50V2lkdGgsdG9wOmUsYm90dG9tOmUrYVswXS5jbGllbnRIZWlnaHR9fWZ1bmN0aW9uIHEoYSl7dmFyIGI9YS5vZmZzZXQoKSxjPWIubGVmdCt1KGEsImJvcmRlci1sZWZ0LXdpZHRoIikrdShhLCJwYWRkaW5nLWxlZnQiKSxkPWIudG9wK3UoYSwiYm9yZGVyLXRvcC13aWR0aCIpK3UoYSwicGFkZGluZy10b3AiKTtyZXR1cm57bGVmdDpjLHJpZ2h0OmMrYS53aWR0aCgpLHRvcDpkLGJvdHRvbTpkK2EuaGVpZ2h0KCl9fWZ1bmN0aW9uIHIoYSl7dmFyIGI9YS5pbm5lcldpZHRoKCktYVswXS5jbGllbnRXaWR0aCxjPXtsZWZ0OjAscmlnaHQ6MCx0b3A6MCxib3R0b206YS5pbm5lckhlaWdodCgpLWFbMF0uY2xpZW50SGVpZ2h0fTtyZXR1cm4gcygpJiYicnRsIj09YS5jc3MoImRpcmVjdGlvbiIpP2MubGVmdD1iOmMucmlnaHQ9YixjfWZ1bmN0aW9uIHMoKXtyZXR1cm4gbnVsbD09PVNhJiYoU2E9dCgpKSxTYX1mdW5jdGlvbiB0KCl7dmFyIGI9YSgiPGRpdj48ZGl2Lz48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOi0xZTMsbGVmdDowLGJvcmRlcjowLHBhZGRpbmc6MCxvdmVyZmxvdzoic2Nyb2xsIixkaXJlY3Rpb246InJ0bCJ9KS5hcHBlbmRUbygiYm9keSIpLGM9Yi5jaGlsZHJlbigpLGQ9Yy5vZmZzZXQoKS5sZWZ0PmIub2Zmc2V0KCkubGVmdDtyZXR1cm4gYi5yZW1vdmUoKSxkfWZ1bmN0aW9uIHUoYSxiKXtyZXR1cm4gcGFyc2VGbG9hdChhLmNzcyhiKSl8fDB9ZnVuY3Rpb24gdihhKXtyZXR1cm4gMT09YS53aGljaCYmIWEuY3RybEtleX1mdW5jdGlvbiB3KGEsYil7dmFyIGM9e2xlZnQ6TWF0aC5tYXgoYS5sZWZ0LGIubGVmdCkscmlnaHQ6TWF0aC5taW4oYS5yaWdodCxiLnJpZ2h0KSx0b3A6TWF0aC5tYXgoYS50b3AsYi50b3ApLGJvdHRvbTpNYXRoLm1pbihhLmJvdHRvbSxiLmJvdHRvbSl9O3JldHVybiBjLmxlZnQ8Yy5yaWdodCYmYy50b3A8Yy5ib3R0b20/YzohMX1mdW5jdGlvbiB4KGEsYil7cmV0dXJue2xlZnQ6TWF0aC5taW4oTWF0aC5tYXgoYS5sZWZ0LGIubGVmdCksYi5yaWdodCksdG9wOk1hdGgubWluKE1hdGgubWF4KGEudG9wLGIudG9wKSxiLmJvdHRvbSl9fWZ1bmN0aW9uIHkoYSl7cmV0dXJue2xlZnQ6KGEubGVmdCthLnJpZ2h0KS8yLHRvcDooYS50b3ArYS5ib3R0b20pLzJ9fWZ1bmN0aW9uIHooYSxiKXtyZXR1cm57bGVmdDphLmxlZnQtYi5sZWZ0LHRvcDphLnRvcC1iLnRvcH19ZnVuY3Rpb24gQShiKXt2YXIgYyxkLGU9W10sZj1bXTtmb3IoInN0cmluZyI9PXR5cGVvZiBiP2Y9Yi5zcGxpdCgvXHMqLFxzKi8pOiJmdW5jdGlvbiI9PXR5cGVvZiBiP2Y9W2JdOmEuaXNBcnJheShiKSYmKGY9YiksYz0wO2M8Zi5sZW5ndGg7YysrKWQ9ZltjXSwic3RyaW5nIj09dHlwZW9mIGQ/ZS5wdXNoKCItIj09ZC5jaGFyQXQoMCk/e2ZpZWxkOmQuc3Vic3RyaW5nKDEpLG9yZGVyOi0xfTp7ZmllbGQ6ZCxvcmRlcjoxfSk6ImZ1bmN0aW9uIj09dHlwZW9mIGQmJmUucHVzaCh7ZnVuYzpkfSk7cmV0dXJuIGV9ZnVuY3Rpb24gQihhLGIsYyl7dmFyIGQsZTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGU9QyhhLGIsY1tkXSkpcmV0dXJuIGU7cmV0dXJuIDB9ZnVuY3Rpb24gQyhhLGIsYyl7cmV0dXJuIGMuZnVuYz9jLmZ1bmMoYSxiKTpEKGFbYy5maWVsZF0sYltjLmZpZWxkXSkqKGMub3JkZXJ8fDEpfWZ1bmN0aW9uIEQoYixjKXtyZXR1cm4gYnx8Yz9udWxsPT1jPy0xOm51bGw9PWI/MToic3RyaW5nIj09PWEudHlwZShiKXx8InN0cmluZyI9PT1hLnR5cGUoYyk/U3RyaW5nKGIpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKGMpKTpiLWM6MH1mdW5jdGlvbiBFKGEsYil7dmFyIGMsZCxlLGYsZz1hLnN0YXJ0LGg9YS5lbmQsaT1iLnN0YXJ0LGo9Yi5lbmQ7cmV0dXJuIGg+aSYmaj5nPyhnPj1pPyhjPWcuY2xvbmUoKSxlPSEwKTooYz1pLmNsb25lKCksZT0hMSksaj49aD8oZD1oLmNsb25lKCksZj0hMCk6KGQ9ai5jbG9uZSgpLGY9ITEpLHtzdGFydDpjLGVuZDpkLGlzU3RhcnQ6ZSxpc0VuZDpmfSk6dm9pZCAwfWZ1bmN0aW9uIEYoYSxjKXtyZXR1cm4gYi5kdXJhdGlvbih7ZGF5czphLmNsb25lKCkuc3RyaXBUaW1lKCkuZGlmZihjLmNsb25lKCkuc3RyaXBUaW1lKCksImRheXMiKSxtczphLnRpbWUoKS1jLnRpbWUoKX0pfWZ1bmN0aW9uIEcoYSxjKXtyZXR1cm4gYi5kdXJhdGlvbih7ZGF5czphLmNsb25lKCkuc3RyaXBUaW1lKCkuZGlmZihjLmNsb25lKCkuc3RyaXBUaW1lKCksImRheXMiKX0pfWZ1bmN0aW9uIEgoYSxjLGQpe3JldHVybiBiLmR1cmF0aW9uKE1hdGgucm91bmQoYS5kaWZmKGMsZCwhMCkpLGQpfWZ1bmN0aW9uIEkoYSxiKXt2YXIgYyxkLGU7Zm9yKGM9MDtjPFVhLmxlbmd0aCYmKGQ9VWFbY10sZT1KKGQsYSxiKSwhKGU+PTEmJmJhKGUpKSk7YysrKTtyZXR1cm4gZH1mdW5jdGlvbiBKKGEsYyxkKXtyZXR1cm4gbnVsbCE9ZD9kLmRpZmYoYyxhLCEwKTpiLmlzRHVyYXRpb24oYyk/Yy5hcyhhKTpjLmVuZC5kaWZmKGMuc3RhcnQsYSwhMCl9ZnVuY3Rpb24gSyhhLGIsYyl7dmFyIGQ7cmV0dXJuIE4oYyk/KGItYSkvYzooZD1jLmFzTW9udGhzKCksTWF0aC5hYnMoZCk+PTEmJmJhKGQpP2IuZGlmZihhLCJtb250aHMiLCEwKS9kOmIuZGlmZihhLCJkYXlzIiwhMCkvYy5hc0RheXMoKSl9ZnVuY3Rpb24gTChhLGIpe3ZhciBjLGQ7cmV0dXJuIE4oYSl8fE4oYik/YS9iOihjPWEuYXNNb250aHMoKSxkPWIuYXNNb250aHMoKSxNYXRoLmFicyhjKT49MSYmYmEoYykmJk1hdGguYWJzKGQpPj0xJiZiYShkKT9jL2Q6YS5hc0RheXMoKS9iLmFzRGF5cygpKX1mdW5jdGlvbiBNKGEsYyl7dmFyIGQ7cmV0dXJuIE4oYSk/Yi5kdXJhdGlvbihhKmMpOihkPWEuYXNNb250aHMoKSxNYXRoLmFicyhkKT49MSYmYmEoZCk/Yi5kdXJhdGlvbih7bW9udGhzOmQqY30pOmIuZHVyYXRpb24oe2RheXM6YS5hc0RheXMoKSpjfSkpfWZ1bmN0aW9uIE4oYSl7cmV0dXJuIEJvb2xlYW4oYS5ob3VycygpfHxhLm1pbnV0ZXMoKXx8YS5zZWNvbmRzKCl8fGEubWlsbGlzZWNvbmRzKCkpfWZ1bmN0aW9uIE8oYSl7cmV0dXJuIltvYmplY3QgRGF0ZV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpfHxhIGluc3RhbmNlb2YgRGF0ZX1mdW5jdGlvbiBQKGEpe3JldHVybi9eXGQrXDpcZCsoPzpcOlxkK1wuPyg/OlxkezN9KT8pPyQvLnRlc3QoYSl9ZnVuY3Rpb24gUShhLGIpe3ZhciBjLGQsZSxmLGcsaCxpPXt9O2lmKGIpZm9yKGM9MDtjPGIubGVuZ3RoO2MrKyl7Zm9yKGQ9YltjXSxlPVtdLGY9YS5sZW5ndGgtMTtmPj0wO2YtLSlpZihnPWFbZl1bZF0sIm9iamVjdCI9PXR5cGVvZiBnKWUudW5zaGlmdChnKTtlbHNlIGlmKHZvaWQgMCE9PWcpe2lbZF09ZzticmVha31lLmxlbmd0aCYmKGlbZF09UShlKSl9Zm9yKGM9YS5sZW5ndGgtMTtjPj0wO2MtLSl7aD1hW2NdO2ZvcihkIGluIGgpZCBpbiBpfHwoaVtkXT1oW2RdKX1yZXR1cm4gaX1mdW5jdGlvbiBSKGEpe3ZhciBiPWZ1bmN0aW9uKCl7fTtyZXR1cm4gYi5wcm90b3R5cGU9YSxuZXcgYn1mdW5jdGlvbiBTKGEsYil7Zm9yKHZhciBjIGluIGEpVShhLGMpJiYoYltjXT1hW2NdKX1mdW5jdGlvbiBUKGEsYil7dmFyIGMsZCxlPVsiY29uc3RydWN0b3IiLCJ0b1N0cmluZyIsInZhbHVlT2YiXTtmb3IoYz0wO2M8ZS5sZW5ndGg7YysrKWQ9ZVtjXSxhW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXSYmKGJbZF09YVtkXSl9ZnVuY3Rpb24gVShhLGIpe3JldHVybiBZYS5jYWxsKGEsYil9ZnVuY3Rpb24gVihiKXtyZXR1cm4vdW5kZWZpbmVkfG51bGx8Ym9vbGVhbnxudW1iZXJ8c3RyaW5nLy50ZXN0KGEudHlwZShiKSl9ZnVuY3Rpb24gVyhiLGMsZCl7aWYoYS5pc0Z1bmN0aW9uKGIpJiYoYj1bYl0pLGIpe3ZhciBlLGY7Zm9yKGU9MDtlPGIubGVuZ3RoO2UrKylmPWJbZV0uYXBwbHkoYyxkKXx8ZjtyZXR1cm4gZn19ZnVuY3Rpb24gWCgpe2Zvcih2YXIgYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKyspaWYodm9pZCAwIT09YXJndW1lbnRzW2FdKXJldHVybiBhcmd1bWVudHNbYV19ZnVuY3Rpb24gWShhKXtyZXR1cm4oYSsiIikucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLycvZywiJiMwMzk7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC9cbi9nLCI8YnIgLz4iKX1mdW5jdGlvbiBaKGEpe3JldHVybiBhLnJlcGxhY2UoLyYuKj87L2csIiIpfWZ1bmN0aW9uICQoYil7dmFyIGM9W107cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKGEsYil7bnVsbCE9YiYmYy5wdXNoKGErIjoiK2IpfSksYy5qb2luKCI7Iil9ZnVuY3Rpb24gXyhhKXtyZXR1cm4gYS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSthLnNsaWNlKDEpfWZ1bmN0aW9uIGFhKGEsYil7cmV0dXJuIGEtYn1mdW5jdGlvbiBiYShhKXtyZXR1cm4gYSUxPT09MH1mdW5jdGlvbiBjYShhLGIpe3ZhciBjPWFbYl07cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGMuYXBwbHkoYSxhcmd1bWVudHMpfX1mdW5jdGlvbiBkYShhLGIpe3ZhciBjLGQsZSxmLGc9ZnVuY3Rpb24oKXt2YXIgaD0rbmV3IERhdGUtZjtiPmgmJmg+MD9jPXNldFRpbWVvdXQoZyxiLWgpOihjPW51bGwsYS5hcHBseShlLGQpLGN8fChlPWQ9bnVsbCkpfTtyZXR1cm4gZnVuY3Rpb24oKXtlPXRoaXMsZD1hcmd1bWVudHMsZj0rbmV3IERhdGUsY3x8KGM9c2V0VGltZW91dChnLGIpKX19ZnVuY3Rpb24gZWEoYyxkLGUpe3ZhciBmLGcsaCxpLGo9Y1swXSxrPTE9PWMubGVuZ3RoJiYic3RyaW5nIj09dHlwZW9mIGo7cmV0dXJuIGIuaXNNb21lbnQoaik/KGk9Yi5hcHBseShudWxsLGMpLGdhKGosaSkpOk8oail8fHZvaWQgMD09PWo/aT1iLmFwcGx5KG51bGwsYyk6KGY9ITEsZz0hMSxrP1phLnRlc3Qoaik/KGorPSItMDEiLGM9W2pdLGY9ITAsZz0hMCk6KGg9JGEuZXhlYyhqKSkmJihmPSFoWzVdLGc9ITApOmEuaXNBcnJheShqKSYmKGc9ITApLGk9ZHx8Zj9iLnV0Yy5hcHBseShiLGMpOmIuYXBwbHkobnVsbCxjKSxmPyhpLl9hbWJpZ1RpbWU9ITAsaS5fYW1iaWdab25lPSEwKTplJiYoZz9pLl9hbWJpZ1pvbmU9ITA6ayYmKGkudXRjT2Zmc2V0P2kudXRjT2Zmc2V0KGopOmkuem9uZShqKSkpKSxpLl9mdWxsQ2FsZW5kYXI9ITAsaX1mdW5jdGlvbiBmYShhLGMpe3ZhciBkLGUsZj0hMSxnPSExLGg9YS5sZW5ndGgsaT1bXTtmb3IoZD0wO2g+ZDtkKyspZT1hW2RdLGIuaXNNb21lbnQoZSl8fChlPVBhLm1vbWVudC5wYXJzZVpvbmUoZSkpLGY9Znx8ZS5fYW1iaWdUaW1lLGc9Z3x8ZS5fYW1iaWdab25lLGkucHVzaChlKTtmb3IoZD0wO2g+ZDtkKyspZT1pW2RdLGN8fCFmfHxlLl9hbWJpZ1RpbWU/ZyYmIWUuX2FtYmlnWm9uZSYmKGlbZF09ZS5jbG9uZSgpLnN0cmlwWm9uZSgpKTppW2RdPWUuY2xvbmUoKS5zdHJpcFRpbWUoKTtyZXR1cm4gaX1mdW5jdGlvbiBnYShhLGIpe2EuX2FtYmlnVGltZT9iLl9hbWJpZ1RpbWU9ITA6Yi5fYW1iaWdUaW1lJiYoYi5fYW1iaWdUaW1lPSExKSxhLl9hbWJpZ1pvbmU/Yi5fYW1iaWdab25lPSEwOmIuX2FtYmlnWm9uZSYmKGIuX2FtYmlnWm9uZT0hMSl9ZnVuY3Rpb24gaGEoYSxiKXthLnllYXIoYlswXXx8MCkubW9udGgoYlsxXXx8MCkuZGF0ZShiWzJdfHwwKS5ob3VycyhiWzNdfHwwKS5taW51dGVzKGJbNF18fDApLnNlY29uZHMoYls1XXx8MCkubWlsbGlzZWNvbmRzKGJbNl18fDApfWZ1bmN0aW9uIGlhKGEsYil7cmV0dXJuIGFiLmZvcm1hdC5jYWxsKGEsYil9ZnVuY3Rpb24gamEoYSxiKXtyZXR1cm4ga2EoYSxwYShiKSl9ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYyxkPSIiO2ZvcihjPTA7YzxiLmxlbmd0aDtjKyspZCs9bGEoYSxiW2NdKTtyZXR1cm4gZH1mdW5jdGlvbiBsYShhLGIpe3ZhciBjLGQ7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiP2I6KGM9Yi50b2tlbik/YmJbY10/YmJbY10oYSk6aWEoYSxjKTpiLm1heWJlJiYoZD1rYShhLGIubWF5YmUpLGQubWF0Y2goL1sxLTldLykpP2Q6IiJ9ZnVuY3Rpb24gbWEoYSxiLGMsZCxlKXt2YXIgZjtyZXR1cm4gYT1QYS5tb21lbnQucGFyc2Vab25lKGEpLGI9UGEubW9tZW50LnBhcnNlWm9uZShiKSxmPShhLmxvY2FsZURhdGF8fGEubGFuZykuY2FsbChhKSxjPWYubG9uZ0RhdGVGb3JtYXQoYyl8fGMsZD1kfHwiIC0gIixuYShhLGIscGEoYyksZCxlKX1mdW5jdGlvbiBuYShhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGo9YS5jbG9uZSgpLnN0cmlwWm9uZSgpLGs9Yi5jbG9uZSgpLnN0cmlwWm9uZSgpLGw9IiIsbT0iIixuPSIiLG89IiIscD0iIjtmb3IoZz0wO2c8Yy5sZW5ndGgmJihmPW9hKGEsYixqLGssY1tnXSksZiE9PSExKTtnKyspbCs9Zjtmb3IoaD1jLmxlbmd0aC0xO2g+ZyYmKGY9b2EoYSxiLGosayxjW2hdKSxmIT09ITEpO2gtLSltPWYrbTtmb3IoaT1nO2g+PWk7aSsrKW4rPWxhKGEsY1tpXSksbys9bGEoYixjW2ldKTtyZXR1cm4obnx8bykmJihwPWU/bytkK246bitkK28pLGwrcCttfWZ1bmN0aW9uIG9hKGEsYixjLGQsZSl7dmFyIGYsZztyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZTooZj1lLnRva2VuKSYmKGc9Y2JbZi5jaGFyQXQoMCldLGcmJmMuaXNTYW1lKGQsZykpP2lhKGEsZik6ITF9ZnVuY3Rpb24gcGEoYSl7cmV0dXJuIGEgaW4gZGI/ZGJbYV06ZGJbYV09cWEoYSl9ZnVuY3Rpb24gcWEoYSl7Zm9yKHZhciBiLGM9W10sZD0vXFsoW15cXV0qKVxdfFwoKFteXCldKilcKXwoTFRTfExUfChcdylcNCpvPyl8KFteXHdcW1woXSspL2c7Yj1kLmV4ZWMoYSk7KWJbMV0/Yy5wdXNoKGJbMV0pOmJbMl0/Yy5wdXNoKHttYXliZTpxYShiWzJdKX0pOmJbM10/Yy5wdXNoKHt0b2tlbjpiWzNdfSk6Yls1XSYmYy5wdXNoKGJbNV0pO3JldHVybiBjfWZ1bmN0aW9uIHJhKCl7fWZ1bmN0aW9uIHNhKGEsYil7dmFyIGM7cmV0dXJuIFUoYiwiY29uc3RydWN0b3IiKSYmKGM9Yi5jb25zdHJ1Y3RvciksImZ1bmN0aW9uIiE9dHlwZW9mIGMmJihjPWIuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXthLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLGMucHJvdG90eXBlPVIoYS5wcm90b3R5cGUpLFMoYixjLnByb3RvdHlwZSksVChiLGMucHJvdG90eXBlKSxTKGEsYyksY31mdW5jdGlvbiB0YShhLGIpe1MoYi5wcm90b3R5cGV8fGIsYS5wcm90b3R5cGUpfWZ1bmN0aW9uIHVhKGEsYil7cmV0dXJuIGF8fGI/YSYmYj9hLmNvbXBvbmVudD09PWIuY29tcG9uZW50JiZ2YShhLGIpJiZ2YShiLGEpOiExOiEwfWZ1bmN0aW9uIHZhKGEsYil7Zm9yKHZhciBjIGluIGEpaWYoIS9eKGNvbXBvbmVudHxsZWZ0fHJpZ2h0fHRvcHxib3R0b20pJC8udGVzdChjKSYmYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gd2EoYSl7dmFyIGI9eWEoYSk7cmV0dXJuImJhY2tncm91bmQiPT09Ynx8ImludmVyc2UtYmFja2dyb3VuZCI9PT1ifWZ1bmN0aW9uIHhhKGEpe3JldHVybiJpbnZlcnNlLWJhY2tncm91bmQiPT09eWEoYSl9ZnVuY3Rpb24geWEoYSl7cmV0dXJuIFgoKGEuc291cmNlfHx7fSkucmVuZGVyaW5nLGEucmVuZGVyaW5nKX1mdW5jdGlvbiB6YShhKXt2YXIgYixjLGQ9e307Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKyljPWFbYl0sKGRbYy5faWRdfHwoZFtjLl9pZF09W10pKS5wdXNoKGMpO3JldHVybiBkfWZ1bmN0aW9uIEFhKGEsYil7cmV0dXJuIGEuc3RhcnQtYi5zdGFydH1mdW5jdGlvbiBCYShjKXt2YXIgZCxlLGYsZyxoPVBhLmRhdGFBdHRyUHJlZml4O3JldHVybiBoJiYoaCs9Ii0iKSxkPWMuZGF0YShoKyJldmVudCIpfHxudWxsLGQmJihkPSJvYmplY3QiPT10eXBlb2YgZD9hLmV4dGVuZCh7fSxkKTp7fSxlPWQuc3RhcnQsbnVsbD09ZSYmKGU9ZC50aW1lKSxmPWQuZHVyYXRpb24sZz1kLnN0aWNrLGRlbGV0ZSBkLnN0YXJ0LGRlbGV0ZSBkLnRpbWUsZGVsZXRlIGQuZHVyYXRpb24sZGVsZXRlIGQuc3RpY2spLG51bGw9PWUmJihlPWMuZGF0YShoKyJzdGFydCIpKSxudWxsPT1lJiYoZT1jLmRhdGEoaCsidGltZSIpKSxudWxsPT1mJiYoZj1jLmRhdGEoaCsiZHVyYXRpb24iKSksbnVsbD09ZyYmKGc9Yy5kYXRhKGgrInN0aWNrIikpLGU9bnVsbCE9ZT9iLmR1cmF0aW9uKGUpOm51bGwsZj1udWxsIT1mP2IuZHVyYXRpb24oZik6bnVsbCxnPUJvb2xlYW4oZykse2V2ZW50UHJvcHM6ZCxzdGFydFRpbWU6ZSxkdXJhdGlvbjpmLHN0aWNrOmd9fWZ1bmN0aW9uIENhKGEsYil7dmFyIGMsZDtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKWlmKGQ9YltjXSxkLmxlZnRDb2w8PWEucmlnaHRDb2wmJmQucmlnaHRDb2w+PWEubGVmdENvbClyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBEYShhLGIpe3JldHVybiBhLmxlZnRDb2wtYi5sZWZ0Q29sfWZ1bmN0aW9uIEVhKGEpe3ZhciBiLGMsZCxlPVtdO2ZvcihiPTA7YjxhLmxlbmd0aDtiKyspe2ZvcihjPWFbYl0sZD0wO2Q8ZS5sZW5ndGgmJkhhKGMsZVtkXSkubGVuZ3RoO2QrKyk7Yy5sZXZlbD1kLChlW2RdfHwoZVtkXT1bXSkpLnB1c2goYyl9cmV0dXJuIGV9ZnVuY3Rpb24gRmEoYSl7dmFyIGIsYyxkLGUsZjtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWZvcihjPWFbYl0sZD0wO2Q8Yy5sZW5ndGg7ZCsrKWZvcihlPWNbZF0sZS5mb3J3YXJkU2Vncz1bXSxmPWIrMTtmPGEubGVuZ3RoO2YrKylIYShlLGFbZl0sZS5mb3J3YXJkU2Vncyl9ZnVuY3Rpb24gR2EoYSl7dmFyIGIsYyxkPWEuZm9yd2FyZFNlZ3MsZT0wO2lmKHZvaWQgMD09PWEuZm9yd2FyZFByZXNzdXJlKXtmb3IoYj0wO2I8ZC5sZW5ndGg7YisrKWM9ZFtiXSxHYShjKSxlPU1hdGgubWF4KGUsMStjLmZvcndhcmRQcmVzc3VyZSk7YS5mb3J3YXJkUHJlc3N1cmU9ZX19ZnVuY3Rpb24gSGEoYSxiLGMpe2M9Y3x8W107Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspSWEoYSxiW2RdKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfWZ1bmN0aW9uIElhKGEsYil7cmV0dXJuIGEuYm90dG9tPmIudG9wJiZhLnRvcDxiLmJvdHRvbX1mdW5jdGlvbiBKYShjLGQpe2Z1bmN0aW9uIGUoKXtVP2goKSYmKGsoKSxpKCkpOmYoKX1mdW5jdGlvbiBmKCl7Vj1PLnRoZW1lPyJ1aSI6ImZjIixjLmFkZENsYXNzKCJmYyIpLE8uaXNSVEw/Yy5hZGRDbGFzcygiZmMtcnRsIik6Yy5hZGRDbGFzcygiZmMtbHRyIiksTy50aGVtZT9jLmFkZENsYXNzKCJ1aS13aWRnZXQiKTpjLmFkZENsYXNzKCJmYy11bnRoZW1lZCIpLFU9YSgiPGRpdiBjbGFzcz0nZmMtdmlldy1jb250YWluZXInLz4iKS5wcmVwZW5kVG8oYyksUz1OLmhlYWRlcj1uZXcgTWEoTixPKSxUPVMucmVuZGVyKCksVCYmYy5wcmVwZW5kKFQpLGkoTy5kZWZhdWx0VmlldyksTy5oYW5kbGVXaW5kb3dSZXNpemUmJihZPWRhKG0sTy53aW5kb3dSZXNpemVEZWxheSksYSh3aW5kb3cpLnJlc2l6ZShZKSl9ZnVuY3Rpb24gZygpe1cmJlcucmVtb3ZlRWxlbWVudCgpLFMucmVtb3ZlRWxlbWVudCgpLFUucmVtb3ZlKCksYy5yZW1vdmVDbGFzcygiZmMgZmMtbHRyIGZjLXJ0bCBmYy11bnRoZW1lZCB1aS13aWRnZXQiKSxZJiZhKHdpbmRvdykudW5iaW5kKCJyZXNpemUiLFkpfWZ1bmN0aW9uIGgoKXtyZXR1cm4gYy5pcygiOnZpc2libGUiKX1mdW5jdGlvbiBpKGIpe2NhKyssVyYmYiYmVy50eXBlIT09YiYmKFMuZGVhY3RpdmF0ZUJ1dHRvbihXLnR5cGUpLEgoKSxXLnJlbW92ZUVsZW1lbnQoKSxXPU4udmlldz1udWxsKSwhVyYmYiYmKFc9Ti52aWV3PWJhW2JdfHwoYmFbYl09Ti5pbnN0YW50aWF0ZVZpZXcoYikpLFcuc2V0RWxlbWVudChhKCI8ZGl2IGNsYXNzPSdmYy12aWV3IGZjLSIrYisiLXZpZXcnIC8+IikuYXBwZW5kVG8oVSkpLFMuYWN0aXZhdGVCdXR0b24oYikpLFcmJihaPVcubWFzc2FnZUN1cnJlbnREYXRlKFopLFcuZGlzcGxheWluZyYmWi5pc1dpdGhpbihXLmludGVydmFsU3RhcnQsVy5pbnRlcnZhbEVuZCl8fGgoKSYmKFcuZGlzcGxheShaKSxJKCksdSgpLHYoKSxxKCkpKSxJKCksY2EtLX1mdW5jdGlvbiBqKGEpe3JldHVybiBoKCk/KGEmJmwoKSxjYSsrLFcudXBkYXRlU2l6ZSghMCksY2EtLSwhMCk6dm9pZCAwfWZ1bmN0aW9uIGsoKXtoKCkmJmwoKX1mdW5jdGlvbiBsKCl7WD0ibnVtYmVyIj09dHlwZW9mIE8uY29udGVudEhlaWdodD9PLmNvbnRlbnRIZWlnaHQ6Im51bWJlciI9PXR5cGVvZiBPLmhlaWdodD9PLmhlaWdodC0oVD9ULm91dGVySGVpZ2h0KCEwKTowKTpNYXRoLnJvdW5kKFUud2lkdGgoKS9NYXRoLm1heChPLmFzcGVjdFJhdGlvLC41KSl9ZnVuY3Rpb24gbShhKXshY2EmJmEudGFyZ2V0PT09d2luZG93JiZXLnN0YXJ0JiZqKCEwKSYmVy50cmlnZ2VyKCJ3aW5kb3dSZXNpemUiLGFhKX1mdW5jdGlvbiBuKCl7cCgpLHIoKX1mdW5jdGlvbiBvKCl7aCgpJiYoSCgpLFcuZGlzcGxheUV2ZW50cyhlYSksSSgpKX1mdW5jdGlvbiBwKCl7SCgpLFcuY2xlYXJFdmVudHMoKSxJKCl9ZnVuY3Rpb24gcSgpeyFPLmxhenlGZXRjaGluZ3x8JChXLnN0YXJ0LFcuZW5kKT9yKCk6bygpfWZ1bmN0aW9uIHIoKXtfKFcuc3RhcnQsVy5lbmQpfWZ1bmN0aW9uIHMoYSl7ZWE9YSxvKCl9ZnVuY3Rpb24gdCgpe28oKX1mdW5jdGlvbiB1KCl7Uy51cGRhdGVUaXRsZShXLnRpdGxlKX1mdW5jdGlvbiB2KCl7dmFyIGE9Ti5nZXROb3coKTthLmlzV2l0aGluKFcuaW50ZXJ2YWxTdGFydCxXLmludGVydmFsRW5kKT9TLmRpc2FibGVCdXR0b24oInRvZGF5Iik6Uy5lbmFibGVCdXR0b24oInRvZGF5Iil9ZnVuY3Rpb24gdyhhLGIpe1cuc2VsZWN0KE4uYnVpbGRTZWxlY3RTcGFuLmFwcGx5KE4sYXJndW1lbnRzKSl9ZnVuY3Rpb24geCgpe1cmJlcudW5zZWxlY3QoKX1mdW5jdGlvbiB5KCl7Wj1XLmNvbXB1dGVQcmV2RGF0ZShaKSxpKCl9ZnVuY3Rpb24geigpe1o9Vy5jb21wdXRlTmV4dERhdGUoWiksaSgpfWZ1bmN0aW9uIEEoKXtaLmFkZCgtMSwieWVhcnMiKSxpKCl9ZnVuY3Rpb24gQigpe1ouYWRkKDEsInllYXJzIiksaSgpfWZ1bmN0aW9uIEMoKXtaPU4uZ2V0Tm93KCksaSgpfWZ1bmN0aW9uIEQoYSl7Wj1OLm1vbWVudChhKS5zdHJpcFpvbmUoKSxpKCl9ZnVuY3Rpb24gRShhKXtaLmFkZChiLmR1cmF0aW9uKGEpKSxpKCl9ZnVuY3Rpb24gRihhLGIpe3ZhciBjO2I9Ynx8ImRheSIsYz1OLmdldFZpZXdTcGVjKGIpfHxOLmdldFVuaXRWaWV3U3BlYyhiKSxaPWEuY2xvbmUoKSxpKGM/Yy50eXBlOm51bGwpfWZ1bmN0aW9uIEcoKXtyZXR1cm4gTi5hcHBseVRpbWV6b25lKFopfWZ1bmN0aW9uIEgoKXtVLmNzcyh7d2lkdGg6IjEwMCUiLGhlaWdodDpVLmhlaWdodCgpLG92ZXJmbG93OiJoaWRkZW4ifSl9ZnVuY3Rpb24gSSgpe1UuY3NzKHt3aWR0aDoiIixoZWlnaHQ6IiIsb3ZlcmZsb3c6IiJ9KX1mdW5jdGlvbiBKKCl7cmV0dXJuIE59ZnVuY3Rpb24gSygpe3JldHVybiBXfWZ1bmN0aW9uIEwoYSxiKXtyZXR1cm4gdm9pZCAwPT09Yj9PW2FdOnZvaWQoKCJoZWlnaHQiPT1hfHwiY29udGVudEhlaWdodCI9PWF8fCJhc3BlY3RSYXRpbyI9PWEpJiYoT1thXT1iLGooITApKSl9ZnVuY3Rpb24gTShhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gYj1ifHxhYSx0aGlzLnRyaWdnZXJXaXRoKGEsYixjKSxPW2FdP09bYV0uYXBwbHkoYixjKTp2b2lkIDB9dmFyIE49dGhpcztOLmluaXRPcHRpb25zKGR8fHt9KTt2YXIgTz10aGlzLm9wdGlvbnM7Ti5yZW5kZXI9ZSxOLmRlc3Ryb3k9ZyxOLnJlZmV0Y2hFdmVudHM9bixOLnJlcG9ydEV2ZW50cz1zLE4ucmVwb3J0RXZlbnRDaGFuZ2U9dCxOLnJlcmVuZGVyRXZlbnRzPW8sTi5jaGFuZ2VWaWV3PWksTi5zZWxlY3Q9dyxOLnVuc2VsZWN0PXgsTi5wcmV2PXksTi5uZXh0PXosTi5wcmV2WWVhcj1BLE4ubmV4dFllYXI9QixOLnRvZGF5PUMsTi5nb3RvRGF0ZT1ELE4uaW5jcmVtZW50RGF0ZT1FLE4uem9vbVRvPUYsTi5nZXREYXRlPUcsTi5nZXRDYWxlbmRhcj1KLE4uZ2V0Vmlldz1LLE4ub3B0aW9uPUwsTi50cmlnZ2VyPU07dmFyIFA9UihMYShPLmxhbmcpKTtpZihPLm1vbnRoTmFtZXMmJihQLl9tb250aHM9Ty5tb250aE5hbWVzKSxPLm1vbnRoTmFtZXNTaG9ydCYmKFAuX21vbnRoc1Nob3J0PU8ubW9udGhOYW1lc1Nob3J0KSxPLmRheU5hbWVzJiYoUC5fd2Vla2RheXM9Ty5kYXlOYW1lcyksTy5kYXlOYW1lc1Nob3J0JiYoUC5fd2Vla2RheXNTaG9ydD1PLmRheU5hbWVzU2hvcnQpLG51bGwhPU8uZmlyc3REYXkpe3ZhciBRPVIoUC5fd2Vlayk7US5kb3c9Ty5maXJzdERheSxQLl93ZWVrPVF9UC5fZnVsbENhbGVuZGFyX3dlZWtDYWxjPWZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhP2E6ImxvY2FsIj09PWE/YToiaXNvIj09PWF8fCJJU08iPT09YT8iSVNPIjp2b2lkIDB9KE8ud2Vla051bWJlckNhbGN1bGF0aW9uKSxOLmRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uPWIuZHVyYXRpb24oTy5kZWZhdWx0QWxsRGF5RXZlbnREdXJhdGlvbiksTi5kZWZhdWx0VGltZWRFdmVudER1cmF0aW9uPWIuZHVyYXRpb24oTy5kZWZhdWx0VGltZWRFdmVudER1cmF0aW9uKSxOLm1vbWVudD1mdW5jdGlvbigpe3ZhciBhO3JldHVybiJsb2NhbCI9PT1PLnRpbWV6b25lPyhhPVBhLm1vbWVudC5hcHBseShudWxsLGFyZ3VtZW50cyksYS5oYXNUaW1lKCkmJmEubG9jYWwoKSk6YT0iVVRDIj09PU8udGltZXpvbmU/UGEubW9tZW50LnV0Yy5hcHBseShudWxsLGFyZ3VtZW50cyk6UGEubW9tZW50LnBhcnNlWm9uZS5hcHBseShudWxsLGFyZ3VtZW50cyksIl9sb2NhbGUiaW4gYT9hLl9sb2NhbGU9UDphLl9sYW5nPVAsYX0sTi5nZXRJc0FtYmlnVGltZXpvbmU9ZnVuY3Rpb24oKXtyZXR1cm4ibG9jYWwiIT09Ty50aW1lem9uZSYmIlVUQyIhPT1PLnRpbWV6b25lfSxOLmFwcGx5VGltZXpvbmU9ZnVuY3Rpb24oYSl7aWYoIWEuaGFzVGltZSgpKXJldHVybiBhLmNsb25lKCk7dmFyIGIsYz1OLm1vbWVudChhLnRvQXJyYXkoKSksZD1hLnRpbWUoKS1jLnRpbWUoKTtyZXR1cm4gZCYmKGI9Yy5jbG9uZSgpLmFkZChkKSxhLnRpbWUoKS1iLnRpbWUoKT09PTAmJihjPWIpKSxjfSxOLmdldE5vdz1mdW5jdGlvbigpe3ZhciBhPU8ubm93O3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoYT1hKCkpLE4ubW9tZW50KGEpLnN0cmlwWm9uZSgpfSxOLmdldEV2ZW50RW5kPWZ1bmN0aW9uKGEpe3JldHVybiBhLmVuZD9hLmVuZC5jbG9uZSgpOk4uZ2V0RGVmYXVsdEV2ZW50RW5kKGEuYWxsRGF5LGEuc3RhcnQpfSxOLmdldERlZmF1bHRFdmVudEVuZD1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY2xvbmUoKTtyZXR1cm4gYT9jLnN0cmlwVGltZSgpLmFkZChOLmRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uKTpjLmFkZChOLmRlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb24pLE4uZ2V0SXNBbWJpZ1RpbWV6b25lKCkmJmMuc3RyaXBab25lKCksY30sTi5odW1hbml6ZUR1cmF0aW9uPWZ1bmN0aW9uKGEpe3JldHVybihhLmxvY2FsZXx8YS5sYW5nKS5jYWxsKGEsTy5sYW5nKS5odW1hbml6ZSgpfSxOYS5jYWxsKE4sTyk7dmFyIFMsVCxVLFYsVyxYLFksWiwkPU4uaXNGZXRjaE5lZWRlZCxfPU4uZmV0Y2hFdmVudHMsYWE9Y1swXSxiYT17fSxjYT0wLGVhPVtdO1o9bnVsbCE9Ty5kZWZhdWx0RGF0ZT9OLm1vbWVudChPLmRlZmF1bHREYXRlKS5zdHJpcFpvbmUoKTpOLmdldE5vdygpLE4uZ2V0U3VnZ2VzdGVkVmlld0hlaWdodD1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1YJiZrKCksWH0sTi5pc0hlaWdodEF1dG89ZnVuY3Rpb24oKXtyZXR1cm4iYXV0byI9PT1PLmNvbnRlbnRIZWlnaHR8fCJhdXRvIj09PU8uaGVpZ2h0fSxOLmZyZWV6ZUNvbnRlbnRIZWlnaHQ9SCxOLnVuZnJlZXplQ29udGVudEhlaWdodD1JLE4uaW5pdGlhbGl6ZSgpfWZ1bmN0aW9uIEthKGIpe2EuZWFjaCh0YixmdW5jdGlvbihhLGMpe251bGw9PWJbYV0mJihiW2FdPWMoYikpfSl9ZnVuY3Rpb24gTGEoYSl7dmFyIGM9Yi5sb2NhbGVEYXRhfHxiLmxhbmdEYXRhO3JldHVybiBjLmNhbGwoYixhKXx8Yy5jYWxsKGIsImVuIil9ZnVuY3Rpb24gTWEoYixjKXtmdW5jdGlvbiBkKCl7dmFyIGI9Yy5oZWFkZXI7cmV0dXJuIG49Yy50aGVtZT8idWkiOiJmYyIsYj9vPWEoIjxkaXYgY2xhc3M9J2ZjLXRvb2xiYXInLz4iKS5hcHBlbmQoZigibGVmdCIpKS5hcHBlbmQoZigicmlnaHQiKSkuYXBwZW5kKGYoImNlbnRlciIpKS5hcHBlbmQoJzxkaXYgY2xhc3M9ImZjLWNsZWFyIi8+Jyk6dm9pZCAwfWZ1bmN0aW9uIGUoKXtvLnJlbW92ZSgpLG89YSgpfWZ1bmN0aW9uIGYoZCl7dmFyIGU9YSgnPGRpdiBjbGFzcz0iZmMtJytkKyciLz4nKSxmPWMuaGVhZGVyW2RdO3JldHVybiBmJiZhLmVhY2goZi5zcGxpdCgiICIpLGZ1bmN0aW9uKGQpe3ZhciBmLGc9YSgpLGg9ITA7YS5lYWNoKHRoaXMuc3BsaXQoIiwiKSxmdW5jdGlvbihkLGUpe3ZhciBmLGksaixrLGwsbSxvLHEscixzOyJ0aXRsZSI9PWU/KGc9Zy5hZGQoYSgiPGgyPiZuYnNwOzwvaDI+IikpLGg9ITEpOigoZj0oYi5vcHRpb25zLmN1c3RvbUJ1dHRvbnN8fHt9KVtlXSk/KGo9ZnVuY3Rpb24oYSl7Zi5jbGljayYmZi5jbGljay5jYWxsKHNbMF0sYSl9LGs9IiIsbD1mLnRleHQpOihpPWIuZ2V0Vmlld1NwZWMoZSkpPyhqPWZ1bmN0aW9uKCl7Yi5jaGFuZ2VWaWV3KGUpfSxwLnB1c2goZSksaz1pLmJ1dHRvblRleHRPdmVycmlkZSxsPWkuYnV0dG9uVGV4dERlZmF1bHQpOmJbZV0mJihqPWZ1bmN0aW9uKCl7YltlXSgpfSxrPShiLm92ZXJyaWRlcy5idXR0b25UZXh0fHx7fSlbZV0sbD1jLmJ1dHRvblRleHRbZV0pLGomJihtPWY/Zi50aGVtZUljb246Yy50aGVtZUJ1dHRvbkljb25zW2VdLG89Zj9mLmljb246Yy5idXR0b25JY29uc1tlXSxxPWs/WShrKTptJiZjLnRoZW1lPyI8c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLSIrbSsiJz48L3NwYW4+IjpvJiYhYy50aGVtZT8iPHNwYW4gY2xhc3M9J2ZjLWljb24gZmMtaWNvbi0iK28rIic+PC9zcGFuPiI6WShsKSxyPVsiZmMtIitlKyItYnV0dG9uIixuKyItYnV0dG9uIixuKyItc3RhdGUtZGVmYXVsdCJdLHM9YSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSInK3Iuam9pbigiICIpKyciPicrcSsiPC9idXR0b24+IikuY2xpY2soZnVuY3Rpb24oYSl7cy5oYXNDbGFzcyhuKyItc3RhdGUtZGlzYWJsZWQiKXx8KGooYSksKHMuaGFzQ2xhc3MobisiLXN0YXRlLWFjdGl2ZSIpfHxzLmhhc0NsYXNzKG4rIi1zdGF0ZS1kaXNhYmxlZCIpKSYmcy5yZW1vdmVDbGFzcyhuKyItc3RhdGUtaG92ZXIiKSl9KS5tb3VzZWRvd24oZnVuY3Rpb24oKXtzLm5vdCgiLiIrbisiLXN0YXRlLWFjdGl2ZSIpLm5vdCgiLiIrbisiLXN0YXRlLWRpc2FibGVkIikuYWRkQ2xhc3MobisiLXN0YXRlLWRvd24iKX0pLm1vdXNldXAoZnVuY3Rpb24oKXtzLnJlbW92ZUNsYXNzKG4rIi1zdGF0ZS1kb3duIil9KS5ob3ZlcihmdW5jdGlvbigpe3Mubm90KCIuIituKyItc3RhdGUtYWN0aXZlIikubm90KCIuIituKyItc3RhdGUtZGlzYWJsZWQiKS5hZGRDbGFzcyhuKyItc3RhdGUtaG92ZXIiKX0sZnVuY3Rpb24oKXtzLnJlbW92ZUNsYXNzKG4rIi1zdGF0ZS1ob3ZlciIpLnJlbW92ZUNsYXNzKG4rIi1zdGF0ZS1kb3duIil9KSxnPWcuYWRkKHMpKSl9KSxoJiZnLmZpcnN0KCkuYWRkQ2xhc3MobisiLWNvcm5lci1sZWZ0IikuZW5kKCkubGFzdCgpLmFkZENsYXNzKG4rIi1jb3JuZXItcmlnaHQiKS5lbmQoKSxnLmxlbmd0aD4xPyhmPWEoIjxkaXYvPiIpLGgmJmYuYWRkQ2xhc3MoImZjLWJ1dHRvbi1ncm91cCIpLGYuYXBwZW5kKGcpLGUuYXBwZW5kKGYpKTplLmFwcGVuZChnKX0pLGV9ZnVuY3Rpb24gZyhhKXtvLmZpbmQoImgyIikudGV4dChhKX1mdW5jdGlvbiBoKGEpe28uZmluZCgiLmZjLSIrYSsiLWJ1dHRvbiIpLmFkZENsYXNzKG4rIi1zdGF0ZS1hY3RpdmUiKX1mdW5jdGlvbiBpKGEpe28uZmluZCgiLmZjLSIrYSsiLWJ1dHRvbiIpLnJlbW92ZUNsYXNzKG4rIi1zdGF0ZS1hY3RpdmUiKX1mdW5jdGlvbiBqKGEpe28uZmluZCgiLmZjLSIrYSsiLWJ1dHRvbiIpLmF0dHIoImRpc2FibGVkIiwiZGlzYWJsZWQiKS5hZGRDbGFzcyhuKyItc3RhdGUtZGlzYWJsZWQiKX1mdW5jdGlvbiBrKGEpe28uZmluZCgiLmZjLSIrYSsiLWJ1dHRvbiIpLnJlbW92ZUF0dHIoImRpc2FibGVkIikucmVtb3ZlQ2xhc3MobisiLXN0YXRlLWRpc2FibGVkIil9ZnVuY3Rpb24gbCgpe3JldHVybiBwfXZhciBtPXRoaXM7bS5yZW5kZXI9ZCxtLnJlbW92ZUVsZW1lbnQ9ZSxtLnVwZGF0ZVRpdGxlPWcsbS5hY3RpdmF0ZUJ1dHRvbj1oLG0uZGVhY3RpdmF0ZUJ1dHRvbj1pLG0uZGlzYWJsZUJ1dHRvbj1qLG0uZW5hYmxlQnV0dG9uPWssbS5nZXRWaWV3c1dpdGhCdXR0b25zPWw7dmFyIG4sbz1hKCkscD1bXX1mdW5jdGlvbiBOYShjKXtmdW5jdGlvbiBkKGEsYil7cmV0dXJuIUx8fEw+YXx8Yj5NfWZ1bmN0aW9uIGUoYSxiKXtMPWEsTT1iLFQ9W107dmFyIGM9KytSLGQ9US5sZW5ndGg7Uz1kO2Zvcih2YXIgZT0wO2Q+ZTtlKyspZihRW2VdLGMpfWZ1bmN0aW9uIGYoYixjKXtnKGIsZnVuY3Rpb24oZCl7dmFyIGUsZixnLGg9YS5pc0FycmF5KGIuZXZlbnRzKTtpZihjPT1SKXtpZihkKWZvcihlPTA7ZTxkLmxlbmd0aDtlKyspZj1kW2VdLGc9aD9mOnMoZixiKSxnJiZULnB1c2guYXBwbHkoVCx3KGcpKTtTLS0sU3x8TihUKX19KX1mdW5jdGlvbiBnKGIsZCl7dmFyIGUsZixoPVBhLnNvdXJjZUZldGNoZXJzO2ZvcihlPTA7ZTxoLmxlbmd0aDtlKyspe2lmKGY9aFtlXS5jYWxsKEssYixMLmNsb25lKCksTS5jbG9uZSgpLGMudGltZXpvbmUsZCksZj09PSEwKXJldHVybjtpZigib2JqZWN0Ij09dHlwZW9mIGYpcmV0dXJuIHZvaWQgZyhmLGQpfXZhciBpPWIuZXZlbnRzO2lmKGkpYS5pc0Z1bmN0aW9uKGkpPyhLLnB1c2hMb2FkaW5nKCksaS5jYWxsKEssTC5jbG9uZSgpLE0uY2xvbmUoKSxjLnRpbWV6b25lLGZ1bmN0aW9uKGEpe2QoYSksSy5wb3BMb2FkaW5nKCl9KSk6YS5pc0FycmF5KGkpP2QoaSk6ZCgpO2Vsc2V7dmFyIGo9Yi51cmw7aWYoail7dmFyIGssbD1iLnN1Y2Nlc3MsbT1iLmVycm9yLG49Yi5jb21wbGV0ZTtrPWEuaXNGdW5jdGlvbihiLmRhdGEpP2IuZGF0YSgpOmIuZGF0YTt2YXIgbz1hLmV4dGVuZCh7fSxrfHx7fSkscD1YKGIuc3RhcnRQYXJhbSxjLnN0YXJ0UGFyYW0pLHE9WChiLmVuZFBhcmFtLGMuZW5kUGFyYW0pLHI9WChiLnRpbWV6b25lUGFyYW0sYy50aW1lem9uZVBhcmFtKTtwJiYob1twXT1MLmZvcm1hdCgpKSxxJiYob1txXT1NLmZvcm1hdCgpKSxjLnRpbWV6b25lJiYibG9jYWwiIT1jLnRpbWV6b25lJiYob1tyXT1jLnRpbWV6b25lKSxLLnB1c2hMb2FkaW5nKCksYS5hamF4KGEuZXh0ZW5kKHt9LHViLGIse2RhdGE6byxzdWNjZXNzOmZ1bmN0aW9uKGIpe2I9Ynx8W107dmFyIGM9VyhsLHRoaXMsYXJndW1lbnRzKTthLmlzQXJyYXkoYykmJihiPWMpLGQoYil9LGVycm9yOmZ1bmN0aW9uKCl7VyhtLHRoaXMsYXJndW1lbnRzKSxkKCl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7VyhuLHRoaXMsYXJndW1lbnRzKSxLLnBvcExvYWRpbmcoKX19KSl9ZWxzZSBkKCl9fWZ1bmN0aW9uIGgoYSl7dmFyIGI9aShhKTtiJiYoUS5wdXNoKGIpLFMrKyxmKGIsUikpfWZ1bmN0aW9uIGkoYil7dmFyIGMsZCxlPVBhLnNvdXJjZU5vcm1hbGl6ZXJzO2lmKGEuaXNGdW5jdGlvbihiKXx8YS5pc0FycmF5KGIpP2M9e2V2ZW50czpifToic3RyaW5nIj09dHlwZW9mIGI/Yz17dXJsOmJ9OiJvYmplY3QiPT10eXBlb2YgYiYmKGM9YS5leHRlbmQoe30sYikpLGMpe2ZvcihjLmNsYXNzTmFtZT8ic3RyaW5nIj09dHlwZW9mIGMuY2xhc3NOYW1lJiYoYy5jbGFzc05hbWU9Yy5jbGFzc05hbWUuc3BsaXQoL1xzKy8pKTpjLmNsYXNzTmFtZT1bXSxhLmlzQXJyYXkoYy5ldmVudHMpJiYoYy5vcmlnQXJyYXk9Yy5ldmVudHMsYy5ldmVudHM9YS5tYXAoYy5ldmVudHMsZnVuY3Rpb24oYSl7cmV0dXJuIHMoYSxjKX0pKSxkPTA7ZDxlLmxlbmd0aDtkKyspZVtkXS5jYWxsKEssYyk7cmV0dXJuIGN9fWZ1bmN0aW9uIGooYil7UT1hLmdyZXAoUSxmdW5jdGlvbihhKXtyZXR1cm4hayhhLGIpfSksVD1hLmdyZXAoVCxmdW5jdGlvbihhKXtyZXR1cm4hayhhLnNvdXJjZSxiKX0pLE4oVCl9ZnVuY3Rpb24gayhhLGIpe3JldHVybiBhJiZiJiZsKGEpPT1sKGIpfWZ1bmN0aW9uIGwoYSl7cmV0dXJuKCJvYmplY3QiPT10eXBlb2YgYT9hLm9yaWdBcnJheXx8YS5nb29nbGVDYWxlbmRhcklkfHxhLnVybHx8YS5ldmVudHM6bnVsbCl8fGF9ZnVuY3Rpb24gbShhKXthLnN0YXJ0PUsubW9tZW50KGEuc3RhcnQpLGEuZW5kP2EuZW5kPUsubW9tZW50KGEuZW5kKTphLmVuZD1udWxsLHgoYSxuKGEpKSxOKFQpfWZ1bmN0aW9uIG4oYil7dmFyIGM9e307cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKGEsYil7byhhKSYmdm9pZCAwIT09YiYmVihiKSYmKGNbYV09Yil9KSxjfWZ1bmN0aW9uIG8oYSl7cmV0dXJuIS9eX3xeKGlkfGFsbERheXxzdGFydHxlbmQpJC8udGVzdChhKX1mdW5jdGlvbiBwKGEsYil7dmFyIGMsZCxlLGY9cyhhKTtpZihmKXtmb3IoYz13KGYpLGQ9MDtkPGMubGVuZ3RoO2QrKyllPWNbZF0sZS5zb3VyY2V8fChiJiYoTy5ldmVudHMucHVzaChlKSxlLnNvdXJjZT1PKSxULnB1c2goZSkpO3JldHVybiBOKFQpLGN9cmV0dXJuW119ZnVuY3Rpb24gcShiKXt2YXIgYyxkO2ZvcihudWxsPT1iP2I9ZnVuY3Rpb24oKXtyZXR1cm4hMH06YS5pc0Z1bmN0aW9uKGIpfHwoYz1iKyIiLGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuX2lkPT1jfSksVD1hLmdyZXAoVCxiLCEwKSxkPTA7ZDxRLmxlbmd0aDtkKyspYS5pc0FycmF5KFFbZF0uZXZlbnRzKSYmKFFbZF0uZXZlbnRzPWEuZ3JlcChRW2RdLmV2ZW50cyxiLCEwKSk7TihUKX1mdW5jdGlvbiByKGIpe3JldHVybiBhLmlzRnVuY3Rpb24oYik/YS5ncmVwKFQsYik6bnVsbCE9Yj8oYis9IiIsYS5ncmVwKFQsZnVuY3Rpb24oYSl7cmV0dXJuIGEuX2lkPT1ifSkpOlR9ZnVuY3Rpb24gcyhkLGUpe3ZhciBmLGcsaCxpPXt9O2lmKGMuZXZlbnREYXRhVHJhbnNmb3JtJiYoZD1jLmV2ZW50RGF0YVRyYW5zZm9ybShkKSksZSYmZS5ldmVudERhdGFUcmFuc2Zvcm0mJihkPWUuZXZlbnREYXRhVHJhbnNmb3JtKGQpKSxhLmV4dGVuZChpLGQpLGUmJihpLnNvdXJjZT1lKSxpLl9pZD1kLl9pZHx8KHZvaWQgMD09PWQuaWQ/Il9mYyIrdmIrKzpkLmlkKyIiKSxkLmNsYXNzTmFtZT8ic3RyaW5nIj09dHlwZW9mIGQuY2xhc3NOYW1lP2kuY2xhc3NOYW1lPWQuY2xhc3NOYW1lLnNwbGl0KC9ccysvKTppLmNsYXNzTmFtZT1kLmNsYXNzTmFtZTppLmNsYXNzTmFtZT1bXSxmPWQuc3RhcnR8fGQuZGF0ZSxnPWQuZW5kLFAoZikmJihmPWIuZHVyYXRpb24oZikpLFAoZykmJihnPWIuZHVyYXRpb24oZykpLGQuZG93fHxiLmlzRHVyYXRpb24oZil8fGIuaXNEdXJhdGlvbihnKSlpLnN0YXJ0PWY/Yi5kdXJhdGlvbihmKTpudWxsLGkuZW5kPWc/Yi5kdXJhdGlvbihnKTpudWxsLGkuX3JlY3VycmluZz0hMDtlbHNle2lmKGYmJihmPUsubW9tZW50KGYpLCFmLmlzVmFsaWQoKSkpcmV0dXJuITE7ZyYmKGc9Sy5tb21lbnQoZyksZy5pc1ZhbGlkKCl8fChnPW51bGwpKSxoPWQuYWxsRGF5LHZvaWQgMD09PWgmJihoPVgoZT9lLmFsbERheURlZmF1bHQ6dm9pZCAwLGMuYWxsRGF5RGVmYXVsdCkpLHQoZixnLGgsaSl9cmV0dXJuIGl9ZnVuY3Rpb24gdChhLGIsYyxkKXtkLnN0YXJ0PWEsZC5lbmQ9YixkLmFsbERheT1jLHUoZCksT2EoZCl9ZnVuY3Rpb24gdShhKXt2KGEpLGEuZW5kJiYhYS5lbmQuaXNBZnRlcihhLnN0YXJ0KSYmKGEuZW5kPW51bGwpLGEuZW5kfHwoYy5mb3JjZUV2ZW50RHVyYXRpb24/YS5lbmQ9Sy5nZXREZWZhdWx0RXZlbnRFbmQoYS5hbGxEYXksYS5zdGFydCk6YS5lbmQ9bnVsbCl9ZnVuY3Rpb24gdihhKXtudWxsPT1hLmFsbERheSYmKGEuYWxsRGF5PSEoYS5zdGFydC5oYXNUaW1lKCl8fGEuZW5kJiZhLmVuZC5oYXNUaW1lKCkpKSxhLmFsbERheT8oYS5zdGFydC5zdHJpcFRpbWUoKSxhLmVuZCYmYS5lbmQuc3RyaXBUaW1lKCkpOihhLnN0YXJ0Lmhhc1RpbWUoKXx8KGEuc3RhcnQ9Sy5hcHBseVRpbWV6b25lKGEuc3RhcnQudGltZSgwKSkpLGEuZW5kJiYhYS5lbmQuaGFzVGltZSgpJiYoYS5lbmQ9Sy5hcHBseVRpbWV6b25lKGEuZW5kLnRpbWUoMCkpKSl9ZnVuY3Rpb24gdyhiLGMsZCl7dmFyIGUsZixnLGgsaSxqLGssbCxtLG49W107aWYoYz1jfHxMLGQ9ZHx8TSxiKWlmKGIuX3JlY3VycmluZyl7aWYoZj1iLmRvdylmb3IoZT17fSxnPTA7ZzxmLmxlbmd0aDtnKyspZVtmW2ddXT0hMDtmb3IoaD1jLmNsb25lKCkuc3RyaXBUaW1lKCk7aC5pc0JlZm9yZShkKTspKCFlfHxlW2guZGF5KCldKSYmKGk9Yi5zdGFydCxqPWIuZW5kLGs9aC5jbG9uZSgpLGw9bnVsbCxpJiYoaz1rLnRpbWUoaSkpLGomJihsPWguY2xvbmUoKS50aW1lKGopKSxtPWEuZXh0ZW5kKHt9LGIpLHQoayxsLCFpJiYhaixtKSxuLnB1c2gobSkpLGguYWRkKDEsImRheXMiKX1lbHNlIG4ucHVzaChiKTtyZXR1cm4gbn1mdW5jdGlvbiB4KGIsYyxkKXtmdW5jdGlvbiBlKGEsYil7cmV0dXJuIGQ/SChhLGIsZCk6Yy5hbGxEYXk/RyhhLGIpOkYoYSxiKX12YXIgZixnLGgsaSxqLGssbD17fTtyZXR1cm4gYz1jfHx7fSxjLnN0YXJ0fHwoYy5zdGFydD1iLnN0YXJ0LmNsb25lKCkpLHZvaWQgMD09PWMuZW5kJiYoYy5lbmQ9Yi5lbmQ/Yi5lbmQuY2xvbmUoKTpudWxsKSxudWxsPT1jLmFsbERheSYmKGMuYWxsRGF5PWIuYWxsRGF5KSx1KGMpLGY9e3N0YXJ0OmIuX3N0YXJ0LmNsb25lKCksZW5kOmIuX2VuZD9iLl9lbmQuY2xvbmUoKTpLLmdldERlZmF1bHRFdmVudEVuZChiLl9hbGxEYXksYi5fc3RhcnQpLGFsbERheTpjLmFsbERheX0sdShmKSxnPW51bGwhPT1iLl9lbmQmJm51bGw9PT1jLmVuZCxoPWUoYy5zdGFydCxmLnN0YXJ0KSxjLmVuZD8oaT1lKGMuZW5kLGYuZW5kKSxqPWkuc3VidHJhY3QoaCkpOmo9bnVsbCxhLmVhY2goYyxmdW5jdGlvbihhLGIpe28oYSkmJnZvaWQgMCE9PWImJihsW2FdPWIpfSksaz15KHIoYi5faWQpLGcsYy5hbGxEYXksaCxqLGwpLHtkYXRlRGVsdGE6aCxkdXJhdGlvbkRlbHRhOmosdW5kbzprfX1mdW5jdGlvbiB5KGIsYyxkLGUsZixnKXt2YXIgaD1LLmdldElzQW1iaWdUaW1lem9uZSgpLGk9W107cmV0dXJuIGUmJiFlLnZhbHVlT2YoKSYmKGU9bnVsbCksZiYmIWYudmFsdWVPZigpJiYoZj1udWxsKSxhLmVhY2goYixmdW5jdGlvbihiLGope3ZhciBrLGw7az17c3RhcnQ6ai5zdGFydC5jbG9uZSgpLGVuZDpqLmVuZD9qLmVuZC5jbG9uZSgpOm51bGwsYWxsRGF5OmouYWxsRGF5fSxhLmVhY2goZyxmdW5jdGlvbihhKXtrW2FdPWpbYV19KSxsPXtzdGFydDpqLl9zdGFydCxlbmQ6ai5fZW5kLGFsbERheTpkfSx1KGwpLGM/bC5lbmQ9bnVsbDpmJiYhbC5lbmQmJihsLmVuZD1LLmdldERlZmF1bHRFdmVudEVuZChsLmFsbERheSxsLnN0YXJ0KSksZSYmKGwuc3RhcnQuYWRkKGUpLGwuZW5kJiZsLmVuZC5hZGQoZSkpLGYmJmwuZW5kLmFkZChmKSxoJiYhbC5hbGxEYXkmJihlfHxmKSYmKGwuc3RhcnQuc3RyaXBab25lKCksbC5lbmQmJmwuZW5kLnN0cmlwWm9uZSgpKSxhLmV4dGVuZChqLGcsbCksT2EoaiksaS5wdXNoKGZ1bmN0aW9uKCl7YS5leHRlbmQoaixrKSxPYShqKX0pfSksZnVuY3Rpb24oKXtmb3IodmFyIGE9MDthPGkubGVuZ3RoO2ErKylpW2FdKCl9fWZ1bmN0aW9uIHooYil7dmFyIGQsZT1jLmJ1c2luZXNzSG91cnMsZj17Y2xhc3NOYW1lOiJmYy1ub25idXNpbmVzcyIsc3RhcnQ6IjA5OjAwIixlbmQ6IjE3OjAwIixkb3c6WzEsMiwzLDQsNV0scmVuZGVyaW5nOiJpbnZlcnNlLWJhY2tncm91bmQifSxnPUsuZ2V0VmlldygpO3JldHVybiBlJiYoZD1hLmV4dGVuZCh7fSxmLCJvYmplY3QiPT10eXBlb2YgZT9lOnt9KSksZD8oYiYmKGQuc3RhcnQ9bnVsbCxkLmVuZD1udWxsKSx3KHMoZCksZy5zdGFydCxnLmVuZCkpOltdfWZ1bmN0aW9uIEEoYSxiKXt2YXIgZD1iLnNvdXJjZXx8e30sZT1YKGIuY29uc3RyYWludCxkLmNvbnN0cmFpbnQsYy5ldmVudENvbnN0cmFpbnQpLGY9WChiLm92ZXJsYXAsZC5vdmVybGFwLGMuZXZlbnRPdmVybGFwKTtyZXR1cm4gRChhLGUsZixiKX1mdW5jdGlvbiBCKGIsYyxkKXt2YXIgZSxmO3JldHVybiBkJiYoZT1hLmV4dGVuZCh7fSxkLGMpLGY9dyhzKGUpKVswXSksZj9BKGIsZik6QyhiKX1mdW5jdGlvbiBDKGEpe3JldHVybiBEKGEsYy5zZWxlY3RDb25zdHJhaW50LGMuc2VsZWN0T3ZlcmxhcCl9ZnVuY3Rpb24gRChhLGIsYyxkKXt2YXIgZSxmLGcsaCxpLGo7aWYobnVsbCE9Yil7Zm9yKGU9RShiKSxmPSExLGg9MDtoPGUubGVuZ3RoO2grKylpZihJKGVbaF0sYSkpe2Y9ITA7YnJlYWt9aWYoIWYpcmV0dXJuITF9Zm9yKGc9Sy5nZXRQZWVyRXZlbnRzKGEsZCksaD0wO2g8Zy5sZW5ndGg7aCsrKWlmKGk9Z1toXSxKKGksYSkpe2lmKGM9PT0hMSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYyYmIWMoaSxkKSlyZXR1cm4hMTtpZihkKXtpZihqPVgoaS5vdmVybGFwLChpLnNvdXJjZXx8e30pLm92ZXJsYXApLGo9PT0hMSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaiYmIWooZCxpKSlyZXR1cm4hMX19cmV0dXJuITB9ZnVuY3Rpb24gRShhKXtyZXR1cm4iYnVzaW5lc3NIb3VycyI9PT1hP3ooKToib2JqZWN0Ij09dHlwZW9mIGE/dyhzKGEpKTpyKGEpfWZ1bmN0aW9uIEkoYSxiKXt2YXIgYz1hLnN0YXJ0LmNsb25lKCkuc3RyaXBab25lKCksZD1LLmdldEV2ZW50RW5kKGEpLnN0cmlwWm9uZSgpO3JldHVybiBiLnN0YXJ0Pj1jJiZiLmVuZDw9ZH1mdW5jdGlvbiBKKGEsYil7dmFyIGM9YS5zdGFydC5jbG9uZSgpLnN0cmlwWm9uZSgpLGQ9Sy5nZXRFdmVudEVuZChhKS5zdHJpcFpvbmUoKTtyZXR1cm4gYi5zdGFydDxkJiZiLmVuZD5jfXZhciBLPXRoaXM7Sy5pc0ZldGNoTmVlZGVkPWQsSy5mZXRjaEV2ZW50cz1lLEsuYWRkRXZlbnRTb3VyY2U9aCxLLnJlbW92ZUV2ZW50U291cmNlPWosSy51cGRhdGVFdmVudD1tLEsucmVuZGVyRXZlbnQ9cCxLLnJlbW92ZUV2ZW50cz1xLEsuY2xpZW50RXZlbnRzPXIsSy5tdXRhdGVFdmVudD14LEsubm9ybWFsaXplRXZlbnREYXRlcz11LEsubm9ybWFsaXplRXZlbnRUaW1lcz12O3ZhciBMLE0sTj1LLnJlcG9ydEV2ZW50cyxPPXtldmVudHM6W119LFE9W09dLFI9MCxTPTAsVD1bXTthLmVhY2goKGMuZXZlbnRzP1tjLmV2ZW50c106W10pLmNvbmNhdChjLmV2ZW50U291cmNlc3x8W10pLGZ1bmN0aW9uKGEsYil7dmFyIGM9aShiKTtjJiZRLnB1c2goYyl9KSxLLmdldEJ1c2luZXNzSG91cnNFdmVudHM9eixLLmlzRXZlbnRTcGFuQWxsb3dlZD1BLEsuaXNFeHRlcm5hbFNwYW5BbGxvd2VkPUIsSy5pc1NlbGVjdGlvblNwYW5BbGxvd2VkPUMsSy5nZXRFdmVudENhY2hlPWZ1bmN0aW9uKCl7cmV0dXJuIFR9fWZ1bmN0aW9uIE9hKGEpe2EuX2FsbERheT1hLmFsbERheSxhLl9zdGFydD1hLnN0YXJ0LmNsb25lKCksYS5fZW5kPWEuZW5kP2EuZW5kLmNsb25lKCk6bnVsbH12YXIgUGE9YS5mdWxsQ2FsZW5kYXI9e3ZlcnNpb246IjIuNi4wIixpbnRlcm5hbEFwaVZlcnNpb246Mn0sUWE9UGEudmlld3M9e307YS5mbi5mdWxsQ2FsZW5kYXI9ZnVuY3Rpb24oYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGQ9dGhpcztyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUsZil7dmFyIGcsaD1hKGYpLGk9aC5kYXRhKCJmdWxsQ2FsZW5kYXIiKTsic3RyaW5nIj09dHlwZW9mIGI/aSYmYS5pc0Z1bmN0aW9uKGlbYl0pJiYoZz1pW2JdLmFwcGx5KGksYyksZXx8KGQ9ZyksImRlc3Ryb3kiPT09YiYmaC5yZW1vdmVEYXRhKCJmdWxsQ2FsZW5kYXIiKSk6aXx8KGk9bmV3IHBiKGgsYiksaC5kYXRhKCJmdWxsQ2FsZW5kYXIiLGkpLGkucmVuZGVyKCkpfSksZH07dmFyIFJhPVsiaGVhZGVyIiwiYnV0dG9uVGV4dCIsImJ1dHRvbkljb25zIiwidGhlbWVCdXR0b25JY29ucyJdO1BhLmludGVyc2VjdFJhbmdlcz1FLFBhLmFwcGx5QWxsPVcsUGEuZGVib3VuY2U9ZGEsUGEuaXNJbnQ9YmEsUGEuaHRtbEVzY2FwZT1ZLFBhLmNzc1RvU3RyPSQsUGEucHJveHk9Y2EsUGEuY2FwaXRhbGlzZUZpcnN0TGV0dGVyPV8sUGEuZ2V0T3V0ZXJSZWN0PW8sUGEuZ2V0Q2xpZW50UmVjdD1wLFBhLmdldENvbnRlbnRSZWN0PXEsUGEuZ2V0U2Nyb2xsYmFyV2lkdGhzPXI7dmFyIFNhPW51bGw7UGEuaW50ZXJzZWN0UmVjdHM9dyxQYS5wYXJzZUZpZWxkU3BlY3M9QSxQYS5jb21wYXJlQnlGaWVsZFNwZWNzPUIsUGEuY29tcGFyZUJ5RmllbGRTcGVjPUMsUGEuZmxleGlibGVDb21wYXJlPUQsUGEuY29tcHV0ZUludGVydmFsVW5pdD1JLFBhLmRpdmlkZVJhbmdlQnlEdXJhdGlvbj1LLFBhLmRpdmlkZUR1cmF0aW9uQnlEdXJhdGlvbj1MLFBhLm11bHRpcGx5RHVyYXRpb249TSxQYS5kdXJhdGlvbkhhc1RpbWU9Tjt2YXIgVGE9WyJzdW4iLCJtb24iLCJ0dWUiLCJ3ZWQiLCJ0aHUiLCJmcmkiLCJzYXQiXSxVYT1bInllYXIiLCJtb250aCIsIndlZWsiLCJkYXkiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwibWlsbGlzZWNvbmQiXTtQYS5sb2c9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuY29uc29sZTtyZXR1cm4gYSYmYS5sb2c/YS5sb2cuYXBwbHkoYSxhcmd1bWVudHMpOnZvaWQgMH0sUGEud2Fybj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5jb25zb2xlO3JldHVybiBhJiZhLndhcm4/YS53YXJuLmFwcGx5KGEsYXJndW1lbnRzKTpQYS5sb2cuYXBwbHkoUGEsYXJndW1lbnRzKX07dmFyIFZhLFdhLFhhLFlhPXt9Lmhhc093blByb3BlcnR5LFphPS9eXHMqXGR7NH0tXGRcZCQvLCRhPS9eXHMqXGR7NH0tKD86KFxkXGQtXGRcZCl8KFdcZFxkJCl8KFdcZFxkLVxkKXwoXGRcZFxkKSkoKFR8ICkoXGRcZCg6XGRcZCg6XGRcZChcLlxkKyk/KT8pPyk/KT8kLyxfYT1iLmZuLGFiPWEuZXh0ZW5kKHt9LF9hKTtQYS5tb21lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gZWEoYXJndW1lbnRzKX0sUGEubW9tZW50LnV0Yz1mdW5jdGlvbigpe3ZhciBhPWVhKGFyZ3VtZW50cywhMCk7cmV0dXJuIGEuaGFzVGltZSgpJiZhLnV0YygpLGF9LFBhLm1vbWVudC5wYXJzZVpvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gZWEoYXJndW1lbnRzLCEwLCEwKX0sX2EuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT1hYi5jbG9uZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGdhKHRoaXMsYSksdGhpcy5fZnVsbENhbGVuZGFyJiYoYS5fZnVsbENhbGVuZGFyPSEwKSxhfSxfYS53ZWVrPV9hLndlZWtzPWZ1bmN0aW9uKGEpe3ZhciBiPSh0aGlzLl9sb2NhbGV8fHRoaXMuX2xhbmcpLl9mdWxsQ2FsZW5kYXJfd2Vla0NhbGM7cmV0dXJuIG51bGw9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBiP2IodGhpcyk6IklTTyI9PT1iP2FiLmlzb1dlZWsuYXBwbHkodGhpcyxhcmd1bWVudHMpOmFiLndlZWsuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfYS50aW1lPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLl9mdWxsQ2FsZW5kYXIpcmV0dXJuIGFiLnRpbWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKG51bGw9PWEpcmV0dXJuIGIuZHVyYXRpb24oe2hvdXJzOnRoaXMuaG91cnMoKSxtaW51dGVzOnRoaXMubWludXRlcygpLHNlY29uZHM6dGhpcy5zZWNvbmRzKCksbWlsbGlzZWNvbmRzOnRoaXMubWlsbGlzZWNvbmRzKCl9KTt0aGlzLl9hbWJpZ1RpbWU9ITEsYi5pc0R1cmF0aW9uKGEpfHxiLmlzTW9tZW50KGEpfHwoYT1iLmR1cmF0aW9uKGEpKTt2YXIgYz0wO3JldHVybiBiLmlzRHVyYXRpb24oYSkmJihjPTI0Kk1hdGguZmxvb3IoYS5hc0RheXMoKSkpLHRoaXMuaG91cnMoYythLmhvdXJzKCkpLm1pbnV0ZXMoYS5taW51dGVzKCkpLnNlY29uZHMoYS5zZWNvbmRzKCkpLm1pbGxpc2Vjb25kcyhhLm1pbGxpc2Vjb25kcygpKX0sX2Euc3RyaXBUaW1lPWZ1bmN0aW9uKCl7dmFyIGE7cmV0dXJuIHRoaXMuX2FtYmlnVGltZXx8KGE9dGhpcy50b0FycmF5KCksdGhpcy51dGMoKSxXYSh0aGlzLGEuc2xpY2UoMCwzKSksdGhpcy5fYW1iaWdUaW1lPSEwLHRoaXMuX2FtYmlnWm9uZT0hMCksdGhpc30sX2EuaGFzVGltZT1mdW5jdGlvbigpe3JldHVybiF0aGlzLl9hbWJpZ1RpbWV9LF9hLnN0cmlwWm9uZT1mdW5jdGlvbigpe3ZhciBhLGI7cmV0dXJuIHRoaXMuX2FtYmlnWm9uZXx8KGE9dGhpcy50b0FycmF5KCksYj10aGlzLl9hbWJpZ1RpbWUsdGhpcy51dGMoKSxXYSh0aGlzLGEpLHRoaXMuX2FtYmlnVGltZT1ifHwhMSx0aGlzLl9hbWJpZ1pvbmU9ITApLHRoaXN9LF9hLmhhc1pvbmU9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5fYW1iaWdab25lfSxfYS5sb2NhbD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudG9BcnJheSgpLGI9dGhpcy5fYW1iaWdab25lO3JldHVybiBhYi5sb2NhbC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fYW1iaWdUaW1lPSExLHRoaXMuX2FtYmlnWm9uZT0hMSxiJiZYYSh0aGlzLGEpLHRoaXN9LF9hLnV0Yz1mdW5jdGlvbigpe3JldHVybiBhYi51dGMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2FtYmlnVGltZT0hMSx0aGlzLl9hbWJpZ1pvbmU9ITEsdGhpc30sYS5lYWNoKFsiem9uZSIsInV0Y09mZnNldCJdLGZ1bmN0aW9uKGEsYil7YWJbYl0mJihfYVtiXT1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmKHRoaXMuX2FtYmlnVGltZT0hMSx0aGlzLl9hbWJpZ1pvbmU9ITEpLGFiW2JdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSksX2EuZm9ybWF0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Z1bGxDYWxlbmRhciYmYXJndW1lbnRzWzBdP2phKHRoaXMsYXJndW1lbnRzWzBdKTp0aGlzLl9hbWJpZ1RpbWU/aWEodGhpcywiWVlZWS1NTS1ERCIpOnRoaXMuX2FtYmlnWm9uZT9pYSh0aGlzLCJZWVlZLU1NLUREW1RdSEg6bW06c3MiKTphYi5mb3JtYXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfYS50b0lTT1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hbWJpZ1RpbWU/aWEodGhpcywiWVlZWS1NTS1ERCIpOnRoaXMuX2FtYmlnWm9uZT9pYSh0aGlzLCJZWVlZLU1NLUREW1RdSEg6bW06c3MiKTphYi50b0lTT1N0cmluZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9hLmlzV2l0aGluPWZ1bmN0aW9uKGEsYil7dmFyIGM9ZmEoW3RoaXMsYSxiXSk7cmV0dXJuIGNbMF0+PWNbMV0mJmNbMF08Y1syXX0sX2EuaXNTYW1lPWZ1bmN0aW9uKGEsYil7dmFyIGM7cmV0dXJuIHRoaXMuX2Z1bGxDYWxlbmRhcj9iPyhjPWZhKFt0aGlzLGFdLCEwKSxhYi5pc1NhbWUuY2FsbChjWzBdLGNbMV0sYikpOihhPVBhLm1vbWVudC5wYXJzZVpvbmUoYSksYWIuaXNTYW1lLmNhbGwodGhpcyxhKSYmQm9vbGVhbih0aGlzLl9hbWJpZ1RpbWUpPT09Qm9vbGVhbihhLl9hbWJpZ1RpbWUpJiZCb29sZWFuKHRoaXMuX2FtYmlnWm9uZSk9PT1Cb29sZWFuKGEuX2FtYmlnWm9uZSkpOmFiLmlzU2FtZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGEuZWFjaChbImlzQmVmb3JlIiwiaXNBZnRlciJdLGZ1bmN0aW9uKGEsYil7X2FbYl09ZnVuY3Rpb24oYSxjKXt2YXIgZDtyZXR1cm4gdGhpcy5fZnVsbENhbGVuZGFyPyhkPWZhKFt0aGlzLGFdKSxhYltiXS5jYWxsKGRbMF0sZFsxXSxjKSk6YWJbYl0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pLFZhPSJfZCJpbiBiKCkmJiJ1cGRhdGVPZmZzZXQiaW4gYixXYT1WYT9mdW5jdGlvbihhLGMpe2EuX2Quc2V0VGltZShEYXRlLlVUQy5hcHBseShEYXRlLGMpKSxiLnVwZGF0ZU9mZnNldChhLCExKX06aGEsWGE9VmE/ZnVuY3Rpb24oYSxjKXthLl9kLnNldFRpbWUoK25ldyBEYXRlKGNbMF18fDAsY1sxXXx8MCxjWzJdfHwwLGNbM118fDAsY1s0XXx8MCxjWzVdfHwwLGNbNl18fDApKSxiLnVwZGF0ZU9mZnNldChhLCExKX06aGE7dmFyIGJiPXt0OmZ1bmN0aW9uKGEpe3JldHVybiBpYShhLCJhIikuY2hhckF0KDApfSxUOmZ1bmN0aW9uKGEpe3JldHVybiBpYShhLCJBIikuY2hhckF0KDApfX07UGEuZm9ybWF0UmFuZ2U9bWE7dmFyIGNiPXtZOiJ5ZWFyIixNOiJtb250aCIsRDoiZGF5IixkOiJkYXkiLEE6InNlY29uZCIsYToic2Vjb25kIixUOiJzZWNvbmQiLHQ6InNlY29uZCIsSDoic2Vjb25kIixoOiJzZWNvbmQiLG06InNlY29uZCIsczoic2Vjb25kIn0sZGI9e307UGEuQ2xhc3M9cmEscmEuZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjPWFyZ3VtZW50cy5sZW5ndGg7Zm9yKGE9MDtjPmE7YSsrKWI9YXJndW1lbnRzW2FdLGMtMT5hJiZ0YSh0aGlzLGIpO3JldHVybiBzYSh0aGlzLGJ8fHt9KX0scmEubWl4aW49ZnVuY3Rpb24oYSl7dGEodGhpcyxhKX07dmFyIGViPVBhLkVtaXR0ZXI9cmEuZXh0ZW5kKHtjYWxsYmFja0hhc2g6bnVsbCxvbjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmdldENhbGxiYWNrcyhhKS5hZGQoYiksdGhpc30sb2ZmOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZ2V0Q2FsbGJhY2tzKGEpLnJlbW92ZShiKSx0aGlzfSx0cmlnZ2VyOmZ1bmN0aW9uKGEpe3ZhciBiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gdGhpcy50cmlnZ2VyV2l0aChhLHRoaXMsYiksdGhpc30sdHJpZ2dlcldpdGg6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuZ2V0Q2FsbGJhY2tzKGEpO3JldHVybiBkLmZpcmVXaXRoKGIsYyksdGhpc30sZ2V0Q2FsbGJhY2tzOmZ1bmN0aW9uKGIpe3ZhciBjO3JldHVybiB0aGlzLmNhbGxiYWNrSGFzaHx8KHRoaXMuY2FsbGJhY2tIYXNoPXt9KSxjPXRoaXMuY2FsbGJhY2tIYXNoW2JdLGN8fChjPXRoaXMuY2FsbGJhY2tIYXNoW2JdPWEuQ2FsbGJhY2tzKCkpLGN9fSksZmI9cmEuZXh0ZW5kKHtpc0hpZGRlbjohMCxvcHRpb25zOm51bGwsZWw6bnVsbCxkb2N1bWVudE1vdXNlZG93blByb3h5Om51bGwsbWFyZ2luOjEwLGNvbnN0cnVjdG9yOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9ucz1hfHx7fX0sc2hvdzpmdW5jdGlvbigpe3RoaXMuaXNIaWRkZW4mJih0aGlzLmVsfHx0aGlzLnJlbmRlcigpLHRoaXMuZWwuc2hvdygpLHRoaXMucG9zaXRpb24oKSx0aGlzLmlzSGlkZGVuPSExLHRoaXMudHJpZ2dlcigic2hvdyIpKX0saGlkZTpmdW5jdGlvbigpe3RoaXMuaXNIaWRkZW58fCh0aGlzLmVsLmhpZGUoKSx0aGlzLmlzSGlkZGVuPSEwLHRoaXMudHJpZ2dlcigiaGlkZSIpKX0scmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPXRoaXMub3B0aW9uczt0aGlzLmVsPWEoJzxkaXYgY2xhc3M9ImZjLXBvcG92ZXIiLz4nKS5hZGRDbGFzcyhjLmNsYXNzTmFtZXx8IiIpLmNzcyh7dG9wOjAsbGVmdDowfSkuYXBwZW5kKGMuY29udGVudCkuYXBwZW5kVG8oYy5wYXJlbnRFbCksdGhpcy5lbC5vbigiY2xpY2siLCIuZmMtY2xvc2UiLGZ1bmN0aW9uKCl7Yi5oaWRlKCl9KSxjLmF1dG9IaWRlJiZhKGRvY3VtZW50KS5vbigibW91c2Vkb3duIix0aGlzLmRvY3VtZW50TW91c2Vkb3duUHJveHk9Y2EodGhpcywiZG9jdW1lbnRNb3VzZWRvd24iKSl9LGRvY3VtZW50TW91c2Vkb3duOmZ1bmN0aW9uKGIpe3RoaXMuZWwmJiFhKGIudGFyZ2V0KS5jbG9zZXN0KHRoaXMuZWwpLmxlbmd0aCYmdGhpcy5oaWRlKCl9LHJlbW92ZUVsZW1lbnQ6ZnVuY3Rpb24oKXt0aGlzLmhpZGUoKSx0aGlzLmVsJiYodGhpcy5lbC5yZW1vdmUoKSx0aGlzLmVsPW51bGwpLGEoZG9jdW1lbnQpLm9mZigibW91c2Vkb3duIix0aGlzLmRvY3VtZW50TW91c2Vkb3duUHJveHkpfSxwb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBiLGMsZCxlLGYsZz10aGlzLm9wdGlvbnMsaD10aGlzLmVsLm9mZnNldFBhcmVudCgpLm9mZnNldCgpLGk9dGhpcy5lbC5vdXRlcldpZHRoKCksaj10aGlzLmVsLm91dGVySGVpZ2h0KCksaz1hKHdpbmRvdyksbD1uKHRoaXMuZWwpO2U9Zy50b3B8fDAsZj12b2lkIDAhPT1nLmxlZnQ/Zy5sZWZ0OnZvaWQgMCE9PWcucmlnaHQ/Zy5yaWdodC1pOjAsbC5pcyh3aW5kb3cpfHxsLmlzKGRvY3VtZW50KT8obD1rLGI9MCxjPTApOihkPWwub2Zmc2V0KCksYj1kLnRvcCxjPWQubGVmdCksYis9ay5zY3JvbGxUb3AoKSxjKz1rLnNjcm9sbExlZnQoKSxnLnZpZXdwb3J0Q29uc3RyYWluIT09ITEmJihlPU1hdGgubWluKGUsYitsLm91dGVySGVpZ2h0KCktai10aGlzLm1hcmdpbiksZT1NYXRoLm1heChlLGIrdGhpcy5tYXJnaW4pLGY9TWF0aC5taW4oZixjK2wub3V0ZXJXaWR0aCgpLWktdGhpcy5tYXJnaW4pLA0KZj1NYXRoLm1heChmLGMrdGhpcy5tYXJnaW4pKSx0aGlzLmVsLmNzcyh7dG9wOmUtaC50b3AsbGVmdDpmLWgubGVmdH0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9uc1thXSYmdGhpcy5vcHRpb25zW2FdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX19KSxnYj1QYS5Db29yZENhY2hlPXJhLmV4dGVuZCh7ZWxzOm51bGwsZm9yY2VkT2Zmc2V0UGFyZW50RWw6bnVsbCxvcmlnaW46bnVsbCxib3VuZGluZ1JlY3Q6bnVsbCxpc0hvcml6b250YWw6ITEsaXNWZXJ0aWNhbDohMSxsZWZ0czpudWxsLHJpZ2h0czpudWxsLHRvcHM6bnVsbCxib3R0b21zOm51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oYil7dGhpcy5lbHM9YShiLmVscyksdGhpcy5pc0hvcml6b250YWw9Yi5pc0hvcml6b250YWwsdGhpcy5pc1ZlcnRpY2FsPWIuaXNWZXJ0aWNhbCx0aGlzLmZvcmNlZE9mZnNldFBhcmVudEVsPWIub2Zmc2V0UGFyZW50P2EoYi5vZmZzZXRQYXJlbnQpOm51bGx9LGJ1aWxkOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5mb3JjZWRPZmZzZXRQYXJlbnRFbHx8dGhpcy5lbHMuZXEoMCkub2Zmc2V0UGFyZW50KCk7dGhpcy5vcmlnaW49YS5vZmZzZXQoKSx0aGlzLmJvdW5kaW5nUmVjdD10aGlzLnF1ZXJ5Qm91bmRpbmdSZWN0KCksdGhpcy5pc0hvcml6b250YWwmJnRoaXMuYnVpbGRFbEhvcml6b250YWxzKCksdGhpcy5pc1ZlcnRpY2FsJiZ0aGlzLmJ1aWxkRWxWZXJ0aWNhbHMoKX0sY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbj1udWxsLHRoaXMuYm91bmRpbmdSZWN0PW51bGwsdGhpcy5sZWZ0cz1udWxsLHRoaXMucmlnaHRzPW51bGwsdGhpcy50b3BzPW51bGwsdGhpcy5ib3R0b21zPW51bGx9LHF1ZXJ5Qm91bmRpbmdSZWN0OmZ1bmN0aW9uKCl7dmFyIGE9bih0aGlzLmVscy5lcSgwKSk7cmV0dXJuIGEuaXMoZG9jdW1lbnQpP3ZvaWQgMDpwKGEpfSxidWlsZEVsSG9yaXpvbnRhbHM6ZnVuY3Rpb24oKXt2YXIgYj1bXSxjPVtdO3RoaXMuZWxzLmVhY2goZnVuY3Rpb24oZCxlKXt2YXIgZj1hKGUpLGc9Zi5vZmZzZXQoKS5sZWZ0LGg9Zi5vdXRlcldpZHRoKCk7Yi5wdXNoKGcpLGMucHVzaChnK2gpfSksdGhpcy5sZWZ0cz1iLHRoaXMucmlnaHRzPWN9LGJ1aWxkRWxWZXJ0aWNhbHM6ZnVuY3Rpb24oKXt2YXIgYj1bXSxjPVtdO3RoaXMuZWxzLmVhY2goZnVuY3Rpb24oZCxlKXt2YXIgZj1hKGUpLGc9Zi5vZmZzZXQoKS50b3AsaD1mLm91dGVySGVpZ2h0KCk7Yi5wdXNoKGcpLGMucHVzaChnK2gpfSksdGhpcy50b3BzPWIsdGhpcy5ib3R0b21zPWN9LGdldEhvcml6b250YWxJbmRleDpmdW5jdGlvbihhKXt2YXIgYixjPXRoaXMuYm91bmRpbmdSZWN0LGQ9dGhpcy5sZWZ0cyxlPXRoaXMucmlnaHRzLGY9ZC5sZW5ndGg7aWYoIWN8fGE+PWMubGVmdCYmYTxjLnJpZ2h0KWZvcihiPTA7Zj5iO2IrKylpZihhPj1kW2JdJiZhPGVbYl0pcmV0dXJuIGJ9LGdldFZlcnRpY2FsSW5kZXg6ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmJvdW5kaW5nUmVjdCxkPXRoaXMudG9wcyxlPXRoaXMuYm90dG9tcyxmPWQubGVuZ3RoO2lmKCFjfHxhPj1jLnRvcCYmYTxjLmJvdHRvbSlmb3IoYj0wO2Y+YjtiKyspaWYoYT49ZFtiXSYmYTxlW2JdKXJldHVybiBifSxnZXRMZWZ0T2Zmc2V0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxlZnRzW2FdfSxnZXRMZWZ0UG9zaXRpb246ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGVmdHNbYV0tdGhpcy5vcmlnaW4ubGVmdH0sZ2V0UmlnaHRPZmZzZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucmlnaHRzW2FdfSxnZXRSaWdodFBvc2l0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJpZ2h0c1thXS10aGlzLm9yaWdpbi5sZWZ0fSxnZXRXaWR0aDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yaWdodHNbYV0tdGhpcy5sZWZ0c1thXX0sZ2V0VG9wT2Zmc2V0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRvcHNbYV19LGdldFRvcFBvc2l0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRvcHNbYV0tdGhpcy5vcmlnaW4udG9wfSxnZXRCb3R0b21PZmZzZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYm90dG9tc1thXX0sZ2V0Qm90dG9tUG9zaXRpb246ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYm90dG9tc1thXS10aGlzLm9yaWdpbi50b3B9LGdldEhlaWdodDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ib3R0b21zW2FdLXRoaXMudG9wc1thXX19KSxoYj1QYS5EcmFnTGlzdGVuZXI9cmEuZXh0ZW5kKHtvcHRpb25zOm51bGwsaXNMaXN0ZW5pbmc6ITEsaXNEcmFnZ2luZzohMSxvcmlnaW5YOm51bGwsb3JpZ2luWTpudWxsLG1vdXNlbW92ZVByb3h5Om51bGwsbW91c2V1cFByb3h5Om51bGwsc3ViamVjdEVsOm51bGwsc3ViamVjdEhyZWY6bnVsbCxzY3JvbGxFbDpudWxsLHNjcm9sbEJvdW5kczpudWxsLHNjcm9sbFRvcFZlbDpudWxsLHNjcm9sbExlZnRWZWw6bnVsbCxzY3JvbGxJbnRlcnZhbElkOm51bGwsc2Nyb2xsSGFuZGxlclByb3h5Om51bGwsc2Nyb2xsU2Vuc2l0aXZpdHk6MzAsc2Nyb2xsU3BlZWQ6MjAwLHNjcm9sbEludGVydmFsTXM6NTAsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSl7YT1hfHx7fSx0aGlzLm9wdGlvbnM9YSx0aGlzLnN1YmplY3RFbD1hLnN1YmplY3RFbH0sbW91c2Vkb3duOmZ1bmN0aW9uKGEpe3YoYSkmJihhLnByZXZlbnREZWZhdWx0KCksdGhpcy5zdGFydExpc3RlbmluZyhhKSx0aGlzLm9wdGlvbnMuZGlzdGFuY2V8fHRoaXMuc3RhcnREcmFnKGEpKX0sc3RhcnRMaXN0ZW5pbmc6ZnVuY3Rpb24oYil7dmFyIGM7dGhpcy5pc0xpc3RlbmluZ3x8KGImJnRoaXMub3B0aW9ucy5zY3JvbGwmJihjPW4oYShiLnRhcmdldCkpLGMuaXMod2luZG93KXx8Yy5pcyhkb2N1bWVudCl8fCh0aGlzLnNjcm9sbEVsPWMsdGhpcy5zY3JvbGxIYW5kbGVyUHJveHk9ZGEoY2EodGhpcywic2Nyb2xsSGFuZGxlciIpLDEwMCksdGhpcy5zY3JvbGxFbC5vbigic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXJQcm94eSkpKSxhKGRvY3VtZW50KS5vbigibW91c2Vtb3ZlIix0aGlzLm1vdXNlbW92ZVByb3h5PWNhKHRoaXMsIm1vdXNlbW92ZSIpKS5vbigibW91c2V1cCIsdGhpcy5tb3VzZXVwUHJveHk9Y2EodGhpcywibW91c2V1cCIpKS5vbigic2VsZWN0c3RhcnQiLHRoaXMucHJldmVudERlZmF1bHQpLGI/KHRoaXMub3JpZ2luWD1iLnBhZ2VYLHRoaXMub3JpZ2luWT1iLnBhZ2VZKToodGhpcy5vcmlnaW5YPTAsdGhpcy5vcmlnaW5ZPTApLHRoaXMuaXNMaXN0ZW5pbmc9ITAsdGhpcy5saXN0ZW5TdGFydChiKSl9LGxpc3RlblN0YXJ0OmZ1bmN0aW9uKGEpe3RoaXMudHJpZ2dlcigibGlzdGVuU3RhcnQiLGEpfSxtb3VzZW1vdmU6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEucGFnZVgtdGhpcy5vcmlnaW5YLGU9YS5wYWdlWS10aGlzLm9yaWdpblk7dGhpcy5pc0RyYWdnaW5nfHwoYj10aGlzLm9wdGlvbnMuZGlzdGFuY2V8fDEsYz1kKmQrZSplLGM+PWIqYiYmdGhpcy5zdGFydERyYWcoYSkpLHRoaXMuaXNEcmFnZ2luZyYmdGhpcy5kcmFnKGQsZSxhKX0sc3RhcnREcmFnOmZ1bmN0aW9uKGEpe3RoaXMuaXNMaXN0ZW5pbmd8fHRoaXMuc3RhcnRMaXN0ZW5pbmcoKSx0aGlzLmlzRHJhZ2dpbmd8fCh0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5kcmFnU3RhcnQoYSkpfSxkcmFnU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5zdWJqZWN0RWw7dGhpcy50cmlnZ2VyKCJkcmFnU3RhcnQiLGEpLCh0aGlzLnN1YmplY3RIcmVmPWI/Yi5hdHRyKCJocmVmIik6bnVsbCkmJmIucmVtb3ZlQXR0cigiaHJlZiIpfSxkcmFnOmZ1bmN0aW9uKGEsYixjKXt0aGlzLnRyaWdnZXIoImRyYWciLGEsYixjKSx0aGlzLnVwZGF0ZVNjcm9sbChjKX0sbW91c2V1cDpmdW5jdGlvbihhKXt0aGlzLnN0b3BMaXN0ZW5pbmcoYSl9LHN0b3BEcmFnOmZ1bmN0aW9uKGEpe3RoaXMuaXNEcmFnZ2luZyYmKHRoaXMuc3RvcFNjcm9sbGluZygpLHRoaXMuZHJhZ1N0b3AoYSksdGhpcy5pc0RyYWdnaW5nPSExKX0sZHJhZ1N0b3A6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLnRyaWdnZXIoImRyYWdTdG9wIixhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5zdWJqZWN0SHJlZiYmYi5zdWJqZWN0RWwuYXR0cigiaHJlZiIsYi5zdWJqZWN0SHJlZil9LDApfSxzdG9wTGlzdGVuaW5nOmZ1bmN0aW9uKGIpe3RoaXMuc3RvcERyYWcoYiksdGhpcy5pc0xpc3RlbmluZyYmKHRoaXMuc2Nyb2xsRWwmJih0aGlzLnNjcm9sbEVsLm9mZigic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXJQcm94eSksdGhpcy5zY3JvbGxIYW5kbGVyUHJveHk9bnVsbCksYShkb2N1bWVudCkub2ZmKCJtb3VzZW1vdmUiLHRoaXMubW91c2Vtb3ZlUHJveHkpLm9mZigibW91c2V1cCIsdGhpcy5tb3VzZXVwUHJveHkpLm9mZigic2VsZWN0c3RhcnQiLHRoaXMucHJldmVudERlZmF1bHQpLHRoaXMubW91c2Vtb3ZlUHJveHk9bnVsbCx0aGlzLm1vdXNldXBQcm94eT1udWxsLHRoaXMuaXNMaXN0ZW5pbmc9ITEsdGhpcy5saXN0ZW5TdG9wKGIpKX0sbGlzdGVuU3RvcDpmdW5jdGlvbihhKXt0aGlzLnRyaWdnZXIoImxpc3RlblN0b3AiLGEpfSx0cmlnZ2VyOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9uc1thXSYmdGhpcy5vcHRpb25zW2FdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX0scHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpfSxjb21wdXRlU2Nyb2xsQm91bmRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zY3JvbGxFbDt0aGlzLnNjcm9sbEJvdW5kcz1hP28oYSk6bnVsbH0sdXBkYXRlU2Nyb2xsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY9dGhpcy5zY3JvbGxTZW5zaXRpdml0eSxnPXRoaXMuc2Nyb2xsQm91bmRzLGg9MCxpPTA7ZyYmKGI9KGYtKGEucGFnZVktZy50b3ApKS9mLGM9KGYtKGcuYm90dG9tLWEucGFnZVkpKS9mLGQ9KGYtKGEucGFnZVgtZy5sZWZ0KSkvZixlPShmLShnLnJpZ2h0LWEucGFnZVgpKS9mLGI+PTAmJjE+PWI/aD1iKnRoaXMuc2Nyb2xsU3BlZWQqLTE6Yz49MCYmMT49YyYmKGg9Yyp0aGlzLnNjcm9sbFNwZWVkKSxkPj0wJiYxPj1kP2k9ZCp0aGlzLnNjcm9sbFNwZWVkKi0xOmU+PTAmJjE+PWUmJihpPWUqdGhpcy5zY3JvbGxTcGVlZCkpLHRoaXMuc2V0U2Nyb2xsVmVsKGgsaSl9LHNldFNjcm9sbFZlbDpmdW5jdGlvbihhLGIpe3RoaXMuc2Nyb2xsVG9wVmVsPWEsdGhpcy5zY3JvbGxMZWZ0VmVsPWIsdGhpcy5jb25zdHJhaW5TY3JvbGxWZWwoKSwhdGhpcy5zY3JvbGxUb3BWZWwmJiF0aGlzLnNjcm9sbExlZnRWZWx8fHRoaXMuc2Nyb2xsSW50ZXJ2YWxJZHx8KHRoaXMuc2Nyb2xsSW50ZXJ2YWxJZD1zZXRJbnRlcnZhbChjYSh0aGlzLCJzY3JvbGxJbnRlcnZhbEZ1bmMiKSx0aGlzLnNjcm9sbEludGVydmFsTXMpKX0sY29uc3RyYWluU2Nyb2xsVmVsOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zY3JvbGxFbDt0aGlzLnNjcm9sbFRvcFZlbDwwP2Euc2Nyb2xsVG9wKCk8PTAmJih0aGlzLnNjcm9sbFRvcFZlbD0wKTp0aGlzLnNjcm9sbFRvcFZlbD4wJiZhLnNjcm9sbFRvcCgpK2FbMF0uY2xpZW50SGVpZ2h0Pj1hWzBdLnNjcm9sbEhlaWdodCYmKHRoaXMuc2Nyb2xsVG9wVmVsPTApLHRoaXMuc2Nyb2xsTGVmdFZlbDwwP2Euc2Nyb2xsTGVmdCgpPD0wJiYodGhpcy5zY3JvbGxMZWZ0VmVsPTApOnRoaXMuc2Nyb2xsTGVmdFZlbD4wJiZhLnNjcm9sbExlZnQoKSthWzBdLmNsaWVudFdpZHRoPj1hWzBdLnNjcm9sbFdpZHRoJiYodGhpcy5zY3JvbGxMZWZ0VmVsPTApfSxzY3JvbGxJbnRlcnZhbEZ1bmM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnNjcm9sbEVsLGI9dGhpcy5zY3JvbGxJbnRlcnZhbE1zLzFlMzt0aGlzLnNjcm9sbFRvcFZlbCYmYS5zY3JvbGxUb3AoYS5zY3JvbGxUb3AoKSt0aGlzLnNjcm9sbFRvcFZlbCpiKSx0aGlzLnNjcm9sbExlZnRWZWwmJmEuc2Nyb2xsTGVmdChhLnNjcm9sbExlZnQoKSt0aGlzLnNjcm9sbExlZnRWZWwqYiksdGhpcy5jb25zdHJhaW5TY3JvbGxWZWwoKSx0aGlzLnNjcm9sbFRvcFZlbHx8dGhpcy5zY3JvbGxMZWZ0VmVsfHx0aGlzLnN0b3BTY3JvbGxpbmcoKX0sc3RvcFNjcm9sbGluZzpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsSW50ZXJ2YWxJZCYmKGNsZWFySW50ZXJ2YWwodGhpcy5zY3JvbGxJbnRlcnZhbElkKSx0aGlzLnNjcm9sbEludGVydmFsSWQ9bnVsbCx0aGlzLnNjcm9sbFN0b3AoKSl9LHNjcm9sbEhhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbEludGVydmFsSWR8fHRoaXMuc2Nyb2xsU3RvcCgpfSxzY3JvbGxTdG9wOmZ1bmN0aW9uKCl7fX0pLGliPWhiLmV4dGVuZCh7Y29tcG9uZW50Om51bGwsb3JpZ0hpdDpudWxsLGhpdDpudWxsLGNvb3JkQWRqdXN0Om51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSxiKXtoYi5jYWxsKHRoaXMsYiksdGhpcy5jb21wb25lbnQ9YX0sbGlzdGVuU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9dGhpcy5zdWJqZWN0RWw7aGIucHJvdG90eXBlLmxpc3RlblN0YXJ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLmNvbXB1dGVDb29yZHMoKSxhPyhjPXtsZWZ0OmEucGFnZVgsdG9wOmEucGFnZVl9LGQ9YyxlJiYoYj1vKGUpLGQ9eChkLGIpKSx0aGlzLm9yaWdIaXQ9dGhpcy5xdWVyeUhpdChkLmxlZnQsZC50b3ApLGUmJnRoaXMub3B0aW9ucy5zdWJqZWN0Q2VudGVyJiYodGhpcy5vcmlnSGl0JiYoYj13KHRoaXMub3JpZ0hpdCxiKXx8YiksZD15KGIpKSx0aGlzLmNvb3JkQWRqdXN0PXooZCxjKSk6KHRoaXMub3JpZ0hpdD1udWxsLHRoaXMuY29vcmRBZGp1c3Q9bnVsbCl9LGNvbXB1dGVDb29yZHM6ZnVuY3Rpb24oKXt0aGlzLmNvbXBvbmVudC5wcmVwYXJlSGl0cygpLHRoaXMuY29tcHV0ZVNjcm9sbEJvdW5kcygpfSxkcmFnU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI7aGIucHJvdG90eXBlLmRyYWdTdGFydC5hcHBseSh0aGlzLGFyZ3VtZW50cyksYj10aGlzLnF1ZXJ5SGl0KGEucGFnZVgsYS5wYWdlWSksYiYmdGhpcy5oaXRPdmVyKGIpfSxkcmFnOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtoYi5wcm90b3R5cGUuZHJhZy5hcHBseSh0aGlzLGFyZ3VtZW50cyksZD10aGlzLnF1ZXJ5SGl0KGMucGFnZVgsYy5wYWdlWSksdWEoZCx0aGlzLmhpdCl8fCh0aGlzLmhpdCYmdGhpcy5oaXRPdXQoKSxkJiZ0aGlzLmhpdE92ZXIoZCkpfSxkcmFnU3RvcDpmdW5jdGlvbigpe3RoaXMuaGl0RG9uZSgpLGhiLnByb3RvdHlwZS5kcmFnU3RvcC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGhpdE92ZXI6ZnVuY3Rpb24oYSl7dmFyIGI9dWEoYSx0aGlzLm9yaWdIaXQpO3RoaXMuaGl0PWEsdGhpcy50cmlnZ2VyKCJoaXRPdmVyIix0aGlzLmhpdCxiLHRoaXMub3JpZ0hpdCl9LGhpdE91dDpmdW5jdGlvbigpe3RoaXMuaGl0JiYodGhpcy50cmlnZ2VyKCJoaXRPdXQiLHRoaXMuaGl0KSx0aGlzLmhpdERvbmUoKSx0aGlzLmhpdD1udWxsKX0saGl0RG9uZTpmdW5jdGlvbigpe3RoaXMuaGl0JiZ0aGlzLnRyaWdnZXIoImhpdERvbmUiLHRoaXMuaGl0KX0sbGlzdGVuU3RvcDpmdW5jdGlvbigpe2hiLnByb3RvdHlwZS5saXN0ZW5TdG9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLm9yaWdIaXQ9bnVsbCx0aGlzLmhpdD1udWxsLHRoaXMuY29tcG9uZW50LnJlbGVhc2VIaXRzKCl9LHNjcm9sbFN0b3A6ZnVuY3Rpb24oKXtoYi5wcm90b3R5cGUuc2Nyb2xsU3RvcC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5jb21wdXRlQ29vcmRzKCl9LHF1ZXJ5SGl0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuY29vcmRBZGp1c3QmJihhKz10aGlzLmNvb3JkQWRqdXN0LmxlZnQsYis9dGhpcy5jb29yZEFkanVzdC50b3ApLHRoaXMuY29tcG9uZW50LnF1ZXJ5SGl0KGEsYil9fSksamI9cmEuZXh0ZW5kKHtvcHRpb25zOm51bGwsc291cmNlRWw6bnVsbCxlbDpudWxsLHBhcmVudEVsOm51bGwsdG9wMDpudWxsLGxlZnQwOm51bGwsbW91c2VZMDpudWxsLG1vdXNlWDA6bnVsbCx0b3BEZWx0YTpudWxsLGxlZnREZWx0YTpudWxsLG1vdXNlbW92ZVByb3h5Om51bGwsaXNGb2xsb3dpbmc6ITEsaXNIaWRkZW46ITEsaXNBbmltYXRpbmc6ITEsY29uc3RydWN0b3I6ZnVuY3Rpb24oYixjKXt0aGlzLm9wdGlvbnM9Yz1jfHx7fSx0aGlzLnNvdXJjZUVsPWIsdGhpcy5wYXJlbnRFbD1jLnBhcmVudEVsP2EoYy5wYXJlbnRFbCk6Yi5wYXJlbnQoKX0sc3RhcnQ6ZnVuY3Rpb24oYil7dGhpcy5pc0ZvbGxvd2luZ3x8KHRoaXMuaXNGb2xsb3dpbmc9ITAsdGhpcy5tb3VzZVkwPWIucGFnZVksdGhpcy5tb3VzZVgwPWIucGFnZVgsdGhpcy50b3BEZWx0YT0wLHRoaXMubGVmdERlbHRhPTAsdGhpcy5pc0hpZGRlbnx8dGhpcy51cGRhdGVQb3NpdGlvbigpLGEoZG9jdW1lbnQpLm9uKCJtb3VzZW1vdmUiLHRoaXMubW91c2Vtb3ZlUHJveHk9Y2EodGhpcywibW91c2Vtb3ZlIikpKX0sc3RvcDpmdW5jdGlvbihiLGMpe2Z1bmN0aW9uIGQoKXt0aGlzLmlzQW5pbWF0aW5nPSExLGUucmVtb3ZlRWxlbWVudCgpLHRoaXMudG9wMD10aGlzLmxlZnQwPW51bGwsYyYmYygpfXZhciBlPXRoaXMsZj10aGlzLm9wdGlvbnMucmV2ZXJ0RHVyYXRpb247dGhpcy5pc0ZvbGxvd2luZyYmIXRoaXMuaXNBbmltYXRpbmcmJih0aGlzLmlzRm9sbG93aW5nPSExLGEoZG9jdW1lbnQpLm9mZigibW91c2Vtb3ZlIix0aGlzLm1vdXNlbW92ZVByb3h5KSxiJiZmJiYhdGhpcy5pc0hpZGRlbj8odGhpcy5pc0FuaW1hdGluZz0hMCx0aGlzLmVsLmFuaW1hdGUoe3RvcDp0aGlzLnRvcDAsbGVmdDp0aGlzLmxlZnQwfSx7ZHVyYXRpb246Zixjb21wbGV0ZTpkfSkpOmQoKSl9LGdldEVsOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbDtyZXR1cm4gYXx8KHRoaXMuc291cmNlRWwud2lkdGgoKSxhPXRoaXMuZWw9dGhpcy5zb3VyY2VFbC5jbG9uZSgpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiIiLGRpc3BsYXk6dGhpcy5pc0hpZGRlbj8ibm9uZSI6IiIsbWFyZ2luOjAscmlnaHQ6ImF1dG8iLGJvdHRvbToiYXV0byIsd2lkdGg6dGhpcy5zb3VyY2VFbC53aWR0aCgpLGhlaWdodDp0aGlzLnNvdXJjZUVsLmhlaWdodCgpLG9wYWNpdHk6dGhpcy5vcHRpb25zLm9wYWNpdHl8fCIiLHpJbmRleDp0aGlzLm9wdGlvbnMuekluZGV4fSkuYXBwZW5kVG8odGhpcy5wYXJlbnRFbCkpLGF9LHJlbW92ZUVsZW1lbnQ6ZnVuY3Rpb24oKXt0aGlzLmVsJiYodGhpcy5lbC5yZW1vdmUoKSx0aGlzLmVsPW51bGwpfSx1cGRhdGVQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBhLGI7dGhpcy5nZXRFbCgpLG51bGw9PT10aGlzLnRvcDAmJih0aGlzLnNvdXJjZUVsLndpZHRoKCksYT10aGlzLnNvdXJjZUVsLm9mZnNldCgpLGI9dGhpcy5lbC5vZmZzZXRQYXJlbnQoKS5vZmZzZXQoKSx0aGlzLnRvcDA9YS50b3AtYi50b3AsdGhpcy5sZWZ0MD1hLmxlZnQtYi5sZWZ0KSx0aGlzLmVsLmNzcyh7dG9wOnRoaXMudG9wMCt0aGlzLnRvcERlbHRhLGxlZnQ6dGhpcy5sZWZ0MCt0aGlzLmxlZnREZWx0YX0pfSxtb3VzZW1vdmU6ZnVuY3Rpb24oYSl7dGhpcy50b3BEZWx0YT1hLnBhZ2VZLXRoaXMubW91c2VZMCx0aGlzLmxlZnREZWx0YT1hLnBhZ2VYLXRoaXMubW91c2VYMCx0aGlzLmlzSGlkZGVufHx0aGlzLnVwZGF0ZVBvc2l0aW9uKCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLmlzSGlkZGVufHwodGhpcy5pc0hpZGRlbj0hMCx0aGlzLmVsJiZ0aGlzLmVsLmhpZGUoKSl9LHNob3c6ZnVuY3Rpb24oKXt0aGlzLmlzSGlkZGVuJiYodGhpcy5pc0hpZGRlbj0hMSx0aGlzLnVwZGF0ZVBvc2l0aW9uKCksdGhpcy5nZXRFbCgpLnNob3coKSl9fSksa2I9UGEuR3JpZD1yYS5leHRlbmQoe3ZpZXc6bnVsbCxpc1JUTDpudWxsLHN0YXJ0Om51bGwsZW5kOm51bGwsZWw6bnVsbCxlbHNCeUZpbGw6bnVsbCxleHRlcm5hbERyYWdTdGFydFByb3h5Om51bGwsZXZlbnRUaW1lRm9ybWF0Om51bGwsZGlzcGxheUV2ZW50VGltZTpudWxsLGRpc3BsYXlFdmVudEVuZDpudWxsLG1pblJlc2l6ZUR1cmF0aW9uOm51bGwsbGFyZ2VVbml0Om51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSl7dGhpcy52aWV3PWEsdGhpcy5pc1JUTD1hLm9wdCgiaXNSVEwiKSx0aGlzLmVsc0J5RmlsbD17fSx0aGlzLmV4dGVybmFsRHJhZ1N0YXJ0UHJveHk9Y2EodGhpcywiZXh0ZXJuYWxEcmFnU3RhcnQiKX0sY29tcHV0ZUV2ZW50VGltZUZvcm1hdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZpZXcub3B0KCJzbWFsbFRpbWVGb3JtYXQiKX0sY29tcHV0ZURpc3BsYXlFdmVudFRpbWU6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sY29tcHV0ZURpc3BsYXlFdmVudEVuZDpmdW5jdGlvbigpe3JldHVybiEwfSxzZXRSYW5nZTpmdW5jdGlvbihhKXt0aGlzLnN0YXJ0PWEuc3RhcnQuY2xvbmUoKSx0aGlzLmVuZD1hLmVuZC5jbG9uZSgpLHRoaXMucmFuZ2VVcGRhdGVkKCksdGhpcy5wcm9jZXNzUmFuZ2VPcHRpb25zKCl9LHJhbmdlVXBkYXRlZDpmdW5jdGlvbigpe30scHJvY2Vzc1JhbmdlT3B0aW9uczpmdW5jdGlvbigpe3ZhciBhLGIsYz10aGlzLnZpZXc7dGhpcy5ldmVudFRpbWVGb3JtYXQ9Yy5vcHQoImV2ZW50VGltZUZvcm1hdCIpfHxjLm9wdCgidGltZUZvcm1hdCIpfHx0aGlzLmNvbXB1dGVFdmVudFRpbWVGb3JtYXQoKSxhPWMub3B0KCJkaXNwbGF5RXZlbnRUaW1lIiksbnVsbD09YSYmKGE9dGhpcy5jb21wdXRlRGlzcGxheUV2ZW50VGltZSgpKSxiPWMub3B0KCJkaXNwbGF5RXZlbnRFbmQiKSxudWxsPT1iJiYoYj10aGlzLmNvbXB1dGVEaXNwbGF5RXZlbnRFbmQoKSksdGhpcy5kaXNwbGF5RXZlbnRUaW1lPWEsdGhpcy5kaXNwbGF5RXZlbnRFbmQ9Yn0sc3BhblRvU2VnczpmdW5jdGlvbihhKXt9LGRpZmZEYXRlczpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmxhcmdlVW5pdD9IKGEsYix0aGlzLmxhcmdlVW5pdCk6RihhLGIpfSxwcmVwYXJlSGl0czpmdW5jdGlvbigpe30scmVsZWFzZUhpdHM6ZnVuY3Rpb24oKXt9LHF1ZXJ5SGl0OmZ1bmN0aW9uKGEsYil7fSxnZXRIaXRTcGFuOmZ1bmN0aW9uKGEpe30sZ2V0SGl0RWw6ZnVuY3Rpb24oYSl7fSxzZXRFbGVtZW50OmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXM7dGhpcy5lbD1iLGIub24oIm1vdXNlZG93biIsZnVuY3Rpb24oYil7YShiLnRhcmdldCkuaXMoIi5mYy1ldmVudC1jb250YWluZXIgKiwgLmZjLW1vcmUiKXx8YShiLnRhcmdldCkuY2xvc2VzdCgiLmZjLXBvcG92ZXIiKS5sZW5ndGh8fGMuZGF5TW91c2Vkb3duKGIpfSksdGhpcy5iaW5kU2VnSGFuZGxlcnMoKSx0aGlzLmJpbmRHbG9iYWxIYW5kbGVycygpfSxyZW1vdmVFbGVtZW50OmZ1bmN0aW9uKCl7dGhpcy51bmJpbmRHbG9iYWxIYW5kbGVycygpLHRoaXMuZWwucmVtb3ZlKCl9LHJlbmRlclNrZWxldG9uOmZ1bmN0aW9uKCl7fSxyZW5kZXJEYXRlczpmdW5jdGlvbigpe30sdW5yZW5kZXJEYXRlczpmdW5jdGlvbigpe30sYmluZEdsb2JhbEhhbmRsZXJzOmZ1bmN0aW9uKCl7YShkb2N1bWVudCkub24oImRyYWdzdGFydCBzb3J0c3RhcnQiLHRoaXMuZXh0ZXJuYWxEcmFnU3RhcnRQcm94eSl9LHVuYmluZEdsb2JhbEhhbmRsZXJzOmZ1bmN0aW9uKCl7YShkb2N1bWVudCkub2ZmKCJkcmFnc3RhcnQgc29ydHN0YXJ0Iix0aGlzLmV4dGVybmFsRHJhZ1N0YXJ0UHJveHkpfSxkYXlNb3VzZWRvd246ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMsZT10aGlzLnZpZXcsZj1lLm9wdCgic2VsZWN0YWJsZSIpLGk9bmV3IGliKHRoaXMse3Njcm9sbDplLm9wdCgiZHJhZ1Njcm9sbCIpLGRyYWdTdGFydDpmdW5jdGlvbigpe2UudW5zZWxlY3QoKX0saGl0T3ZlcjpmdW5jdGlvbihhLGUsaCl7aCYmKGI9ZT9hOm51bGwsZiYmKGM9ZC5jb21wdXRlU2VsZWN0aW9uKGQuZ2V0SGl0U3BhbihoKSxkLmdldEhpdFNwYW4oYSkpLGM/ZC5yZW5kZXJTZWxlY3Rpb24oYyk6Yz09PSExJiZnKCkpKX0saGl0T3V0OmZ1bmN0aW9uKCl7Yj1udWxsLGM9bnVsbCxkLnVucmVuZGVyU2VsZWN0aW9uKCksaCgpfSxsaXN0ZW5TdG9wOmZ1bmN0aW9uKGEpe2ImJmUudHJpZ2dlckRheUNsaWNrKGQuZ2V0SGl0U3BhbihiKSxkLmdldEhpdEVsKGIpLGEpLGMmJmUucmVwb3J0U2VsZWN0aW9uKGMsYSksaCgpfX0pO2kubW91c2Vkb3duKGEpfSxyZW5kZXJFdmVudExvY2F0aW9uSGVscGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5mYWJyaWNhdGVIZWxwZXJFdmVudChhLGIpO3RoaXMucmVuZGVySGVscGVyKGMsYil9LGZhYnJpY2F0ZUhlbHBlckV2ZW50OmZ1bmN0aW9uKGEsYil7dmFyIGM9Yj9SKGIuZXZlbnQpOnt9O3JldHVybiBjLnN0YXJ0PWEuc3RhcnQuY2xvbmUoKSxjLmVuZD1hLmVuZD9hLmVuZC5jbG9uZSgpOm51bGwsYy5hbGxEYXk9bnVsbCx0aGlzLnZpZXcuY2FsZW5kYXIubm9ybWFsaXplRXZlbnREYXRlcyhjKSxjLmNsYXNzTmFtZT0oYy5jbGFzc05hbWV8fFtdKS5jb25jYXQoImZjLWhlbHBlciIpLGJ8fChjLmVkaXRhYmxlPSExKSxjfSxyZW5kZXJIZWxwZXI6ZnVuY3Rpb24oYSxiKXt9LHVucmVuZGVySGVscGVyOmZ1bmN0aW9uKCl7fSxyZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oYSl7dGhpcy5yZW5kZXJIaWdobGlnaHQoYSl9LHVucmVuZGVyU2VsZWN0aW9uOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckhpZ2hsaWdodCgpfSxjb21wdXRlU2VsZWN0aW9uOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jb21wdXRlU2VsZWN0aW9uU3BhbihhLGIpO3JldHVybiBjJiYhdGhpcy52aWV3LmNhbGVuZGFyLmlzU2VsZWN0aW9uU3BhbkFsbG93ZWQoYyk/ITE6Y30sY29tcHV0ZVNlbGVjdGlvblNwYW46ZnVuY3Rpb24oYSxiKXt2YXIgYz1bYS5zdGFydCxhLmVuZCxiLnN0YXJ0LGIuZW5kXTtyZXR1cm4gYy5zb3J0KGFhKSx7c3RhcnQ6Y1swXS5jbG9uZSgpLGVuZDpjWzNdLmNsb25lKCl9fSxyZW5kZXJIaWdobGlnaHQ6ZnVuY3Rpb24oYSl7dGhpcy5yZW5kZXJGaWxsKCJoaWdobGlnaHQiLHRoaXMuc3BhblRvU2VncyhhKSl9LHVucmVuZGVySGlnaGxpZ2h0OmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckZpbGwoImhpZ2hsaWdodCIpfSxoaWdobGlnaHRTZWdDbGFzc2VzOmZ1bmN0aW9uKCl7cmV0dXJuWyJmYy1oaWdobGlnaHQiXX0scmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe30sdW5yZW5kZXJCdXNpbmVzc0hvdXJzOmZ1bmN0aW9uKCl7fSxnZXROb3dJbmRpY2F0b3JVbml0OmZ1bmN0aW9uKCl7fSxyZW5kZXJOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oYSl7fSx1bnJlbmRlck5vd0luZGljYXRvcjpmdW5jdGlvbigpe30scmVuZGVyRmlsbDpmdW5jdGlvbihhLGIpe30sdW5yZW5kZXJGaWxsOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZWxzQnlGaWxsW2FdO2ImJihiLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLmVsc0J5RmlsbFthXSl9LHJlbmRlckZpbGxTZWdFbHM6ZnVuY3Rpb24oYixjKXt2YXIgZCxlPXRoaXMsZj10aGlzW2IrIlNlZ0VsIl0sZz0iIixoPVtdO2lmKGMubGVuZ3RoKXtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWcrPXRoaXMuZmlsbFNlZ0h0bWwoYixjW2RdKTthKGcpLmVhY2goZnVuY3Rpb24oYixkKXt2YXIgZz1jW2JdLGk9YShkKTtmJiYoaT1mLmNhbGwoZSxnLGkpKSxpJiYoaT1hKGkpLGkuaXMoZS5maWxsU2VnVGFnKSYmKGcuZWw9aSxoLnB1c2goZykpKX0pfXJldHVybiBofSxmaWxsU2VnVGFnOiJkaXYiLGZpbGxTZWdIdG1sOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpc1thKyJTZWdDbGFzc2VzIl0sZD10aGlzW2ErIlNlZ0NzcyJdLGU9Yz9jLmNhbGwodGhpcyxiKTpbXSxmPSQoZD9kLmNhbGwodGhpcyxiKTp7fSk7cmV0dXJuIjwiK3RoaXMuZmlsbFNlZ1RhZysoZS5sZW5ndGg/JyBjbGFzcz0iJytlLmpvaW4oIiAiKSsnIic6IiIpKyhmPycgc3R5bGU9IicrZisnIic6IiIpKyIgLz4ifSxnZXREYXlDbGFzc2VzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldyxjPWIuY2FsZW5kYXIuZ2V0Tm93KCksZD1bImZjLSIrVGFbYS5kYXkoKV1dO3JldHVybiAxPT1iLmludGVydmFsRHVyYXRpb24uYXMoIm1vbnRocyIpJiZhLm1vbnRoKCkhPWIuaW50ZXJ2YWxTdGFydC5tb250aCgpJiZkLnB1c2goImZjLW90aGVyLW1vbnRoIiksYS5pc1NhbWUoYywiZGF5Iik/ZC5wdXNoKCJmYy10b2RheSIsYi5oaWdobGlnaHRTdGF0ZUNsYXNzKTpjPmE/ZC5wdXNoKCJmYy1wYXN0Iik6ZC5wdXNoKCJmYy1mdXR1cmUiKSxkfX0pO2tiLm1peGluKHttb3VzZWRPdmVyU2VnOm51bGwsaXNEcmFnZ2luZ1NlZzohMSxpc1Jlc2l6aW5nU2VnOiExLGlzRHJhZ2dpbmdFeHRlcm5hbDohMSxzZWdzOm51bGwscmVuZGVyRXZlbnRzOmZ1bmN0aW9uKGEpe3ZhciBiLGM9W10sZD1bXTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKSh3YShhW2JdKT9jOmQpLnB1c2goYVtiXSk7dGhpcy5zZWdzPVtdLmNvbmNhdCh0aGlzLnJlbmRlckJnRXZlbnRzKGMpLHRoaXMucmVuZGVyRmdFdmVudHMoZCkpfSxyZW5kZXJCZ0V2ZW50czpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmV2ZW50c1RvU2VncyhhKTtyZXR1cm4gdGhpcy5yZW5kZXJCZ1NlZ3MoYil8fGJ9LHJlbmRlckZnRXZlbnRzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZXZlbnRzVG9TZWdzKGEpO3JldHVybiB0aGlzLnJlbmRlckZnU2VncyhiKXx8Yn0sdW5yZW5kZXJFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLnRyaWdnZXJTZWdNb3VzZW91dCgpLHRoaXMudW5yZW5kZXJGZ1NlZ3MoKSx0aGlzLnVucmVuZGVyQmdTZWdzKCksdGhpcy5zZWdzPW51bGx9LGdldEV2ZW50U2VnczpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNlZ3N8fFtdfSxyZW5kZXJGZ1NlZ3M6ZnVuY3Rpb24oYSl7fSx1bnJlbmRlckZnU2VnczpmdW5jdGlvbigpe30scmVuZGVyRmdTZWdFbHM6ZnVuY3Rpb24oYixjKXt2YXIgZCxlPXRoaXMudmlldyxmPSIiLGc9W107aWYoYi5sZW5ndGgpe2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspZis9dGhpcy5mZ1NlZ0h0bWwoYltkXSxjKTthKGYpLmVhY2goZnVuY3Rpb24oYyxkKXt2YXIgZj1iW2NdLGg9ZS5yZXNvbHZlRXZlbnRFbChmLmV2ZW50LGEoZCkpO2gmJihoLmRhdGEoImZjLXNlZyIsZiksZi5lbD1oLGcucHVzaChmKSl9KX1yZXR1cm4gZ30sZmdTZWdIdG1sOmZ1bmN0aW9uKGEsYil7fSxyZW5kZXJCZ1NlZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucmVuZGVyRmlsbCgiYmdFdmVudCIsYSl9LHVucmVuZGVyQmdTZWdzOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckZpbGwoImJnRXZlbnQiKX0sYmdFdmVudFNlZ0VsOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMudmlldy5yZXNvbHZlRXZlbnRFbChhLmV2ZW50LGIpfSxiZ0V2ZW50U2VnQ2xhc3NlczpmdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50LGM9Yi5zb3VyY2V8fHt9O3JldHVyblsiZmMtYmdldmVudCJdLmNvbmNhdChiLmNsYXNzTmFtZSxjLmNsYXNzTmFtZXx8W10pfSxiZ0V2ZW50U2VnQ3NzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldyxjPWEuZXZlbnQsZD1jLnNvdXJjZXx8e307cmV0dXJueyJiYWNrZ3JvdW5kLWNvbG9yIjpjLmJhY2tncm91bmRDb2xvcnx8Yy5jb2xvcnx8ZC5iYWNrZ3JvdW5kQ29sb3J8fGQuY29sb3J8fGIub3B0KCJldmVudEJhY2tncm91bmRDb2xvciIpfHxiLm9wdCgiZXZlbnRDb2xvciIpfX0sYnVzaW5lc3NIb3Vyc1NlZ0NsYXNzZXM6ZnVuY3Rpb24oYSl7cmV0dXJuWyJmYy1ub25idXNpbmVzcyIsImZjLWJnZXZlbnQiXX0sYmluZFNlZ0hhbmRsZXJzOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPXRoaXMudmlldzthLmVhY2goe21vdXNlZW50ZXI6ZnVuY3Rpb24oYSxjKXtiLnRyaWdnZXJTZWdNb3VzZW92ZXIoYSxjKX0sbW91c2VsZWF2ZTpmdW5jdGlvbihhLGMpe2IudHJpZ2dlclNlZ01vdXNlb3V0KGEsYyl9LGNsaWNrOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGMudHJpZ2dlcigiZXZlbnRDbGljayIsdGhpcyxhLmV2ZW50LGIpfSxtb3VzZWRvd246ZnVuY3Rpb24oZCxlKXthKGUudGFyZ2V0KS5pcygiLmZjLXJlc2l6ZXIiKSYmYy5pc0V2ZW50UmVzaXphYmxlKGQuZXZlbnQpP2Iuc2VnUmVzaXplTW91c2Vkb3duKGQsZSxhKGUudGFyZ2V0KS5pcygiLmZjLXN0YXJ0LXJlc2l6ZXIiKSk6Yy5pc0V2ZW50RHJhZ2dhYmxlKGQuZXZlbnQpJiZiLnNlZ0RyYWdNb3VzZWRvd24oZCxlKX19LGZ1bmN0aW9uKGMsZCl7Yi5lbC5vbihjLCIuZmMtZXZlbnQtY29udGFpbmVyID4gKiIsZnVuY3Rpb24oYyl7dmFyIGU9YSh0aGlzKS5kYXRhKCJmYy1zZWciKTtyZXR1cm4hZXx8Yi5pc0RyYWdnaW5nU2VnfHxiLmlzUmVzaXppbmdTZWc/dm9pZCAwOmQuY2FsbCh0aGlzLGUsYyl9KX0pfSx0cmlnZ2VyU2VnTW91c2VvdmVyOmZ1bmN0aW9uKGEsYil7dGhpcy5tb3VzZWRPdmVyU2VnfHwodGhpcy5tb3VzZWRPdmVyU2VnPWEsdGhpcy52aWV3LnRyaWdnZXIoImV2ZW50TW91c2VvdmVyIixhLmVsWzBdLGEuZXZlbnQsYikpfSx0cmlnZ2VyU2VnTW91c2VvdXQ6ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9LHRoaXMubW91c2VkT3ZlclNlZyYmKGE9YXx8dGhpcy5tb3VzZWRPdmVyU2VnLHRoaXMubW91c2VkT3ZlclNlZz1udWxsLHRoaXMudmlldy50cmlnZ2VyKCJldmVudE1vdXNlb3V0IixhLmVsWzBdLGEuZXZlbnQsYikpfSxzZWdEcmFnTW91c2Vkb3duOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD10aGlzLGU9dGhpcy52aWV3LGY9ZS5jYWxlbmRhcixpPWEuZWwsaj1hLmV2ZW50LGs9bmV3IGpiKGEuZWwse3BhcmVudEVsOmUuZWwsb3BhY2l0eTplLm9wdCgiZHJhZ09wYWNpdHkiKSxyZXZlcnREdXJhdGlvbjplLm9wdCgiZHJhZ1JldmVydER1cmF0aW9uIiksekluZGV4OjJ9KSxsPW5ldyBpYihlLHtkaXN0YW5jZTo1LHNjcm9sbDplLm9wdCgiZHJhZ1Njcm9sbCIpLHN1YmplY3RFbDppLHN1YmplY3RDZW50ZXI6ITAsbGlzdGVuU3RhcnQ6ZnVuY3Rpb24oYSl7ay5oaWRlKCksay5zdGFydChhKX0sZHJhZ1N0YXJ0OmZ1bmN0aW9uKGIpe2QudHJpZ2dlclNlZ01vdXNlb3V0KGEsYiksZC5zZWdEcmFnU3RhcnQoYSxiKSxlLmhpZGVFdmVudChqKX0saGl0T3ZlcjpmdW5jdGlvbihiLGgsaSl7YS5oaXQmJihpPWEuaGl0KSxjPWQuY29tcHV0ZUV2ZW50RHJvcChpLmNvbXBvbmVudC5nZXRIaXRTcGFuKGkpLGIuY29tcG9uZW50LmdldEhpdFNwYW4oYiksaiksYyYmIWYuaXNFdmVudFNwYW5BbGxvd2VkKGQuZXZlbnRUb1NwYW4oYyksaikmJihnKCksYz1udWxsKSxjJiZlLnJlbmRlckRyYWcoYyxhKT9rLmhpZGUoKTprLnNob3coKSxoJiYoYz1udWxsKX0saGl0T3V0OmZ1bmN0aW9uKCl7ZS51bnJlbmRlckRyYWcoKSxrLnNob3coKSxjPW51bGx9LGhpdERvbmU6ZnVuY3Rpb24oKXtoKCl9LGRyYWdTdG9wOmZ1bmN0aW9uKGIpe2suc3RvcCghYyxmdW5jdGlvbigpe2UudW5yZW5kZXJEcmFnKCksZS5zaG93RXZlbnQoaiksZC5zZWdEcmFnU3RvcChhLGIpLGMmJmUucmVwb3J0RXZlbnREcm9wKGosYyx0aGlzLmxhcmdlVW5pdCxpLGIpfSl9LGxpc3RlblN0b3A6ZnVuY3Rpb24oKXtrLnN0b3AoKX19KTtsLm1vdXNlZG93bihiKX0sc2VnRHJhZ1N0YXJ0OmZ1bmN0aW9uKGEsYil7dGhpcy5pc0RyYWdnaW5nU2VnPSEwLHRoaXMudmlldy50cmlnZ2VyKCJldmVudERyYWdTdGFydCIsYS5lbFswXSxhLmV2ZW50LGIse30pfSxzZWdEcmFnU3RvcDpmdW5jdGlvbihhLGIpe3RoaXMuaXNEcmFnZ2luZ1NlZz0hMSx0aGlzLnZpZXcudHJpZ2dlcigiZXZlbnREcmFnU3RvcCIsYS5lbFswXSxhLmV2ZW50LGIse30pfSxjb21wdXRlRXZlbnREcm9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9dGhpcy52aWV3LmNhbGVuZGFyLGc9YS5zdGFydCxoPWIuc3RhcnQ7cmV0dXJuIGcuaGFzVGltZSgpPT09aC5oYXNUaW1lKCk/KGQ9dGhpcy5kaWZmRGF0ZXMoaCxnKSxjLmFsbERheSYmTihkKT8oZT17c3RhcnQ6Yy5zdGFydC5jbG9uZSgpLGVuZDpmLmdldEV2ZW50RW5kKGMpLGFsbERheTohMX0sZi5ub3JtYWxpemVFdmVudFRpbWVzKGUpKTplPXtzdGFydDpjLnN0YXJ0LmNsb25lKCksZW5kOmMuZW5kP2MuZW5kLmNsb25lKCk6bnVsbCxhbGxEYXk6Yy5hbGxEYXl9LGUuc3RhcnQuYWRkKGQpLGUuZW5kJiZlLmVuZC5hZGQoZCkpOmU9e3N0YXJ0OmguY2xvbmUoKSxlbmQ6bnVsbCxhbGxEYXk6IWguaGFzVGltZSgpfSxlfSxhcHBseURyYWdPcGFjaXR5OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldy5vcHQoImRyYWdPcGFjaXR5Iik7bnVsbCE9YiYmYS5lYWNoKGZ1bmN0aW9uKGEsYyl7Yy5zdHlsZS5vcGFjaXR5PWJ9KX0sZXh0ZXJuYWxEcmFnU3RhcnQ6ZnVuY3Rpb24oYixjKXt2YXIgZCxlLGY9dGhpcy52aWV3O2Yub3B0KCJkcm9wcGFibGUiKSYmKGQ9YSgoYz9jLml0ZW06bnVsbCl8fGIudGFyZ2V0KSxlPWYub3B0KCJkcm9wQWNjZXB0IiksKGEuaXNGdW5jdGlvbihlKT9lLmNhbGwoZFswXSxkKTpkLmlzKGUpKSYmKHRoaXMuaXNEcmFnZ2luZ0V4dGVybmFsfHx0aGlzLmxpc3RlblRvRXh0ZXJuYWxEcmFnKGQsYixjKSkpfSxsaXN0ZW5Ub0V4dGVybmFsRHJhZzpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZT10aGlzLGY9dGhpcy52aWV3LmNhbGVuZGFyLGk9QmEoYSksaj1uZXcgaWIodGhpcyx7bGlzdGVuU3RhcnQ6ZnVuY3Rpb24oKXtlLmlzRHJhZ2dpbmdFeHRlcm5hbD0hMH0saGl0T3ZlcjpmdW5jdGlvbihhKXtkPWUuY29tcHV0ZUV4dGVybmFsRHJvcChhLmNvbXBvbmVudC5nZXRIaXRTcGFuKGEpLGkpLGQmJiFmLmlzRXh0ZXJuYWxTcGFuQWxsb3dlZChlLmV2ZW50VG9TcGFuKGQpLGQsaS5ldmVudFByb3BzKSYmKGcoKSxkPW51bGwpLGQmJmUucmVuZGVyRHJhZyhkKX0saGl0T3V0OmZ1bmN0aW9uKCl7ZD1udWxsfSxoaXREb25lOmZ1bmN0aW9uKCl7aCgpLGUudW5yZW5kZXJEcmFnKCl9LGRyYWdTdG9wOmZ1bmN0aW9uKCl7ZCYmZS52aWV3LnJlcG9ydEV4dGVybmFsRHJvcChpLGQsYSxiLGMpfSxsaXN0ZW5TdG9wOmZ1bmN0aW9uKCl7ZS5pc0RyYWdnaW5nRXh0ZXJuYWw9ITF9fSk7ai5zdGFydERyYWcoYil9LGNvbXB1dGVFeHRlcm5hbERyb3A6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnZpZXcuY2FsZW5kYXIsZD17c3RhcnQ6Yy5hcHBseVRpbWV6b25lKGEuc3RhcnQpLGVuZDpudWxsfTtyZXR1cm4gYi5zdGFydFRpbWUmJiFkLnN0YXJ0Lmhhc1RpbWUoKSYmZC5zdGFydC50aW1lKGIuc3RhcnRUaW1lKSxiLmR1cmF0aW9uJiYoZC5lbmQ9ZC5zdGFydC5jbG9uZSgpLmFkZChiLmR1cmF0aW9uKSksZH0scmVuZGVyRHJhZzpmdW5jdGlvbihhLGIpe30sdW5yZW5kZXJEcmFnOmZ1bmN0aW9uKCl7fSxzZWdSZXNpemVNb3VzZWRvd246ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9dGhpcyxmPXRoaXMudmlldyxpPWYuY2FsZW5kYXIsaj1hLmVsLGs9YS5ldmVudCxsPWkuZ2V0RXZlbnRFbmQoayksbT1uZXcgaWIodGhpcyx7ZGlzdGFuY2U6NSxzY3JvbGw6Zi5vcHQoImRyYWdTY3JvbGwiKSxzdWJqZWN0RWw6aixkcmFnU3RhcnQ6ZnVuY3Rpb24oYil7ZS50cmlnZ2VyU2VnTW91c2VvdXQoYSxiKSxlLnNlZ1Jlc2l6ZVN0YXJ0KGEsYil9LGhpdE92ZXI6ZnVuY3Rpb24oYixoLGope3ZhciBtPWUuZ2V0SGl0U3BhbihqKSxuPWUuZ2V0SGl0U3BhbihiKTtkPWM/ZS5jb21wdXRlRXZlbnRTdGFydFJlc2l6ZShtLG4sayk6ZS5jb21wdXRlRXZlbnRFbmRSZXNpemUobSxuLGspLGQmJihpLmlzRXZlbnRTcGFuQWxsb3dlZChlLmV2ZW50VG9TcGFuKGQpLGspP2Quc3RhcnQuaXNTYW1lKGsuc3RhcnQpJiZkLmVuZC5pc1NhbWUobCkmJihkPW51bGwpOihnKCksZD1udWxsKSksZCYmKGYuaGlkZUV2ZW50KGspLGUucmVuZGVyRXZlbnRSZXNpemUoZCxhKSl9LGhpdE91dDpmdW5jdGlvbigpe2Q9bnVsbH0saGl0RG9uZTpmdW5jdGlvbigpe2UudW5yZW5kZXJFdmVudFJlc2l6ZSgpLGYuc2hvd0V2ZW50KGspLGgoKX0sZHJhZ1N0b3A6ZnVuY3Rpb24oYil7ZS5zZWdSZXNpemVTdG9wKGEsYiksZCYmZi5yZXBvcnRFdmVudFJlc2l6ZShrLGQsdGhpcy5sYXJnZVVuaXQsaixiKX19KTttLm1vdXNlZG93bihiKX0sc2VnUmVzaXplU3RhcnQ6ZnVuY3Rpb24oYSxiKXt0aGlzLmlzUmVzaXppbmdTZWc9ITAsdGhpcy52aWV3LnRyaWdnZXIoImV2ZW50UmVzaXplU3RhcnQiLGEuZWxbMF0sYS5ldmVudCxiLHt9KX0sc2VnUmVzaXplU3RvcDpmdW5jdGlvbihhLGIpe3RoaXMuaXNSZXNpemluZ1NlZz0hMSx0aGlzLnZpZXcudHJpZ2dlcigiZXZlbnRSZXNpemVTdG9wIixhLmVsWzBdLGEuZXZlbnQsYix7fSl9LGNvbXB1dGVFdmVudFN0YXJ0UmVzaXplOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5jb21wdXRlRXZlbnRSZXNpemUoInN0YXJ0IixhLGIsYyl9LGNvbXB1dGVFdmVudEVuZFJlc2l6ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMuY29tcHV0ZUV2ZW50UmVzaXplKCJlbmQiLGEsYixjKX0sY29tcHV0ZUV2ZW50UmVzaXplOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz10aGlzLnZpZXcuY2FsZW5kYXIsaD10aGlzLmRpZmZEYXRlcyhjW2FdLGJbYV0pO3JldHVybiBlPXtzdGFydDpkLnN0YXJ0LmNsb25lKCksZW5kOmcuZ2V0RXZlbnRFbmQoZCksYWxsRGF5OmQuYWxsRGF5fSxlLmFsbERheSYmTihoKSYmKGUuYWxsRGF5PSExLGcubm9ybWFsaXplRXZlbnRUaW1lcyhlKSksZVthXS5hZGQoaCksZS5zdGFydC5pc0JlZm9yZShlLmVuZCl8fChmPXRoaXMubWluUmVzaXplRHVyYXRpb258fChkLmFsbERheT9nLmRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uOmcuZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbiksInN0YXJ0Ij09YT9lLnN0YXJ0PWUuZW5kLmNsb25lKCkuc3VidHJhY3QoZik6ZS5lbmQ9ZS5zdGFydC5jbG9uZSgpLmFkZChmKSksZX0scmVuZGVyRXZlbnRSZXNpemU6ZnVuY3Rpb24oYSxiKXt9LHVucmVuZGVyRXZlbnRSZXNpemU6ZnVuY3Rpb24oKXt9LGdldEV2ZW50VGltZVRleHQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsPT1iJiYoYj10aGlzLmV2ZW50VGltZUZvcm1hdCksbnVsbD09YyYmKGM9dGhpcy5kaXNwbGF5RXZlbnRFbmQpLHRoaXMuZGlzcGxheUV2ZW50VGltZSYmYS5zdGFydC5oYXNUaW1lKCk/YyYmYS5lbmQ/dGhpcy52aWV3LmZvcm1hdFJhbmdlKGEsYik6YS5zdGFydC5mb3JtYXQoYik6IiJ9LGdldFNlZ0NsYXNzZXM6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZXZlbnQsZT1bImZjLWV2ZW50IixhLmlzU3RhcnQ/ImZjLXN0YXJ0IjoiZmMtbm90LXN0YXJ0IixhLmlzRW5kPyJmYy1lbmQiOiJmYy1ub3QtZW5kIl0uY29uY2F0KGQuY2xhc3NOYW1lLGQuc291cmNlP2Quc291cmNlLmNsYXNzTmFtZTpbXSk7cmV0dXJuIGImJmUucHVzaCgiZmMtZHJhZ2dhYmxlIiksYyYmZS5wdXNoKCJmYy1yZXNpemFibGUiKSxlfSxnZXRFdmVudFNraW5Dc3M6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy52aWV3LGM9YS5zb3VyY2V8fHt9LGQ9YS5jb2xvcixlPWMuY29sb3IsZj1iLm9wdCgiZXZlbnRDb2xvciIpO3JldHVybnsiYmFja2dyb3VuZC1jb2xvciI6YS5iYWNrZ3JvdW5kQ29sb3J8fGR8fGMuYmFja2dyb3VuZENvbG9yfHxlfHxiLm9wdCgiZXZlbnRCYWNrZ3JvdW5kQ29sb3IiKXx8ZiwiYm9yZGVyLWNvbG9yIjphLmJvcmRlckNvbG9yfHxkfHxjLmJvcmRlckNvbG9yfHxlfHxiLm9wdCgiZXZlbnRCb3JkZXJDb2xvciIpfHxmLGNvbG9yOmEudGV4dENvbG9yfHxjLnRleHRDb2xvcnx8Yi5vcHQoImV2ZW50VGV4dENvbG9yIil9fSxldmVudFRvU2VnczpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ldmVudHNUb1NlZ3MoW2FdKX0sZXZlbnRUb1NwYW46ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZXZlbnRUb1NwYW5zKGEpWzBdfSxldmVudFRvU3BhbnM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5ldmVudFRvUmFuZ2UoYSk7cmV0dXJuIHRoaXMuZXZlbnRSYW5nZVRvU3BhbnMoYixhKX0sZXZlbnRzVG9TZWdzOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcyxlPXphKGIpLGY9W107cmV0dXJuIGEuZWFjaChlLGZ1bmN0aW9uKGEsYil7dmFyIGUsZz1bXTtmb3IoZT0wO2U8Yi5sZW5ndGg7ZSsrKWcucHVzaChkLmV2ZW50VG9SYW5nZShiW2VdKSk7aWYoeGEoYlswXSkpZm9yKGc9ZC5pbnZlcnRSYW5nZXMoZyksZT0wO2U8Zy5sZW5ndGg7ZSsrKWYucHVzaC5hcHBseShmLGQuZXZlbnRSYW5nZVRvU2VncyhnW2VdLGJbMF0sYykpO2Vsc2UgZm9yKGU9MDtlPGcubGVuZ3RoO2UrKylmLnB1c2guYXBwbHkoZixkLmV2ZW50UmFuZ2VUb1NlZ3MoZ1tlXSxiW2VdLGMpKX0pLGZ9LGV2ZW50VG9SYW5nZTpmdW5jdGlvbihhKXtyZXR1cm57c3RhcnQ6YS5zdGFydC5jbG9uZSgpLnN0cmlwWm9uZSgpLGVuZDooYS5lbmQ/YS5lbmQuY2xvbmUoKTp0aGlzLnZpZXcuY2FsZW5kYXIuZ2V0RGVmYXVsdEV2ZW50RW5kKG51bGwhPWEuYWxsRGF5P2EuYWxsRGF5OiFhLnN0YXJ0Lmhhc1RpbWUoKSxhLnN0YXJ0KSkuc3RyaXBab25lKCl9fSxldmVudFJhbmdlVG9TZWdzOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPXRoaXMuZXZlbnRSYW5nZVRvU3BhbnMoYSxiKSxmPVtdO2ZvcihkPTA7ZDxlLmxlbmd0aDtkKyspZi5wdXNoLmFwcGx5KGYsdGhpcy5ldmVudFNwYW5Ub1NlZ3MoZVtkXSxiLGMpKTtyZXR1cm4gZn0sZXZlbnRSYW5nZVRvU3BhbnM6ZnVuY3Rpb24oYixjKXtyZXR1cm5bYS5leHRlbmQoe30sYildfSxldmVudFNwYW5Ub1NlZ3M6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1jP2MoYSk6dGhpcy5zcGFuVG9TZWdzKGEpO2ZvcihkPTA7ZDxmLmxlbmd0aDtkKyspZT1mW2RdLGUuZXZlbnQ9YixlLmV2ZW50U3RhcnRNUz0rYS5zdGFydCxlLmV2ZW50RHVyYXRpb25NUz1hLmVuZC1hLnN0YXJ0O3JldHVybiBmfSxpbnZlcnRSYW5nZXM6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMudmlldyxlPWQuc3RhcnQuY2xvbmUoKSxmPWQuZW5kLmNsb25lKCksZz1bXSxoPWU7Zm9yKGEuc29ydChBYSksYj0wO2I8YS5sZW5ndGg7YisrKWM9YVtiXSxjLnN0YXJ0PmgmJmcucHVzaCh7c3RhcnQ6aCxlbmQ6Yy5zdGFydH0pLGg9Yy5lbmQ7cmV0dXJuIGY+aCYmZy5wdXNoKHtzdGFydDpoLGVuZDpmfSksZ30sc29ydEV2ZW50U2VnczpmdW5jdGlvbihhKXthLnNvcnQoY2EodGhpcywiY29tcGFyZUV2ZW50U2VncyIpKX0sY29tcGFyZUV2ZW50U2VnczpmdW5jdGlvbihhLGIpe3JldHVybiBhLmV2ZW50U3RhcnRNUy1iLmV2ZW50U3RhcnRNU3x8Yi5ldmVudER1cmF0aW9uTVMtYS5ldmVudER1cmF0aW9uTVN8fGIuZXZlbnQuYWxsRGF5LWEuZXZlbnQuYWxsRGF5fHxCKGEuZXZlbnQsYi5ldmVudCx0aGlzLnZpZXcuZXZlbnRPcmRlclNwZWNzKX19KSxQYS5pc0JnRXZlbnQ9d2EsUGEuZGF0YUF0dHJQcmVmaXg9IiI7dmFyIGxiPVBhLkRheVRhYmxlTWl4aW49e2JyZWFrT25XZWVrczohMSxkYXlEYXRlczpudWxsLGRheUluZGljZXM6bnVsbCxkYXlzUGVyUm93Om51bGwscm93Q250Om51bGwsY29sQ250Om51bGwsY29sSGVhZEZvcm1hdDpudWxsLHVwZGF0ZURheVRhYmxlOmZ1bmN0aW9uKCl7Zm9yKHZhciBhLGIsYyxkPXRoaXMudmlldyxlPXRoaXMuc3RhcnQuY2xvbmUoKSxmPS0xLGc9W10saD1bXTtlLmlzQmVmb3JlKHRoaXMuZW5kKTspZC5pc0hpZGRlbkRheShlKT9nLnB1c2goZisuNSk6KGYrKyxnLnB1c2goZiksaC5wdXNoKGUuY2xvbmUoKSkpLGUuYWRkKDEsImRheXMiKTtpZih0aGlzLmJyZWFrT25XZWVrcyl7Zm9yKGI9aFswXS5kYXkoKSxhPTE7YTxoLmxlbmd0aCYmaFthXS5kYXkoKSE9YjthKyspO2M9TWF0aC5jZWlsKGgubGVuZ3RoL2EpfWVsc2UgYz0xLGE9aC5sZW5ndGg7dGhpcy5kYXlEYXRlcz1oLHRoaXMuZGF5SW5kaWNlcz1nLHRoaXMuZGF5c1BlclJvdz1hLHRoaXMucm93Q250PWMsdGhpcy51cGRhdGVEYXlUYWJsZUNvbHMoKX0sdXBkYXRlRGF5VGFibGVDb2xzOmZ1bmN0aW9uKCl7dGhpcy5jb2xDbnQ9dGhpcy5jb21wdXRlQ29sQ250KCksdGhpcy5jb2xIZWFkRm9ybWF0PXRoaXMudmlldy5vcHQoImNvbHVtbkZvcm1hdCIpfHx0aGlzLmNvbXB1dGVDb2xIZWFkRm9ybWF0KCl9LGNvbXB1dGVDb2xDbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXlzUGVyUm93fSxnZXRDZWxsRGF0ZTpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmRheURhdGVzW3RoaXMuZ2V0Q2VsbERheUluZGV4KGEsYildLmNsb25lKCl9LGdldENlbGxSYW5nZTpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZ2V0Q2VsbERhdGUoYSxiKSxkPWMuY2xvbmUoKS5hZGQoMSwiZGF5cyIpO3JldHVybntzdGFydDpjLGVuZDpkfX0sZ2V0Q2VsbERheUluZGV4OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEqdGhpcy5kYXlzUGVyUm93K3RoaXMuZ2V0Q29sRGF5SW5kZXgoYil9LGdldENvbERheUluZGV4OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlzUlRMP3RoaXMuY29sQ250LTEtYTphfSxnZXREYXRlRGF5SW5kZXg6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5kYXlJbmRpY2VzLGM9YS5kaWZmKHRoaXMuc3RhcnQsImRheXMiKTtyZXR1cm4gMD5jP2JbMF0tMTpjPj1iLmxlbmd0aD9iW2IubGVuZ3RoLTFdKzE6YltjXX0sY29tcHV0ZUNvbEhlYWRGb3JtYXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb3dDbnQ+MXx8dGhpcy5jb2xDbnQ+MTA/ImRkZCI6dGhpcy5jb2xDbnQ+MT90aGlzLnZpZXcub3B0KCJkYXlPZk1vbnRoRm9ybWF0Iik6ImRkZGQifSxzbGljZVJhbmdlQnlSb3c6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnPXRoaXMuZGF5c1BlclJvdyxoPXRoaXMudmlldy5jb21wdXRlRGF5UmFuZ2UoYSksaT10aGlzLmdldERhdGVEYXlJbmRleChoLnN0YXJ0KSxqPXRoaXMuZ2V0RGF0ZURheUluZGV4KGguZW5kLmNsb25lKCkuc3VidHJhY3QoMSwiZGF5cyIpKSxrPVtdO2ZvcihiPTA7Yjx0aGlzLnJvd0NudDtiKyspYz1iKmcsZD1jK2ctMSxlPU1hdGgubWF4KGksYyksZj1NYXRoLm1pbihqLGQpLGU9TWF0aC5jZWlsKGUpLGY9TWF0aC5mbG9vcihmKSxmPj1lJiZrLnB1c2goe3JvdzpiLGZpcnN0Um93RGF5SW5kZXg6ZS1jLGxhc3RSb3dEYXlJbmRleDpmLWMsaXNTdGFydDplPT09aSxpc0VuZDpmPT09an0pO3JldHVybiBrfSxzbGljZVJhbmdlQnlEYXk6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9dGhpcy5kYXlzUGVyUm93LGk9dGhpcy52aWV3LmNvbXB1dGVEYXlSYW5nZShhKSxqPXRoaXMuZ2V0RGF0ZURheUluZGV4KGkuc3RhcnQpLGs9dGhpcy5nZXREYXRlRGF5SW5kZXgoaS5lbmQuY2xvbmUoKS5zdWJ0cmFjdCgxLCJkYXlzIikpLGw9W107Zm9yKGI9MDtiPHRoaXMucm93Q250O2IrKylmb3IoYz1iKmgsZD1jK2gtMSxlPWM7ZD49ZTtlKyspZj1NYXRoLm1heChqLGUpLGc9TWF0aC5taW4oayxlKSxmPU1hdGguY2VpbChmKSxnPU1hdGguZmxvb3IoZyksZz49ZiYmbC5wdXNoKHtyb3c6YixmaXJzdFJvd0RheUluZGV4OmYtYyxsYXN0Um93RGF5SW5kZXg6Zy1jLGlzU3RhcnQ6Zj09PWosaXNFbmQ6Zz09PWt9KTtyZXR1cm4gbH0scmVuZGVySGVhZEh0bWw6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZpZXc7cmV0dXJuJzxkaXYgY2xhc3M9ImZjLXJvdyAnK2Eud2lkZ2V0SGVhZGVyQ2xhc3MrJyI+PHRhYmxlPjx0aGVhZD4nK3RoaXMucmVuZGVySGVhZFRySHRtbCgpKyI8L3RoZWFkPjwvdGFibGU+PC9kaXY+In0scmVuZGVySGVhZEludHJvSHRtbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJlbmRlckludHJvSHRtbCgpfSxyZW5kZXJIZWFkVHJIdG1sOmZ1bmN0aW9uKCl7cmV0dXJuIjx0cj4iKyh0aGlzLmlzUlRMPyIiOnRoaXMucmVuZGVySGVhZEludHJvSHRtbCgpKSt0aGlzLnJlbmRlckhlYWREYXRlQ2VsbHNIdG1sKCkrKHRoaXMuaXNSVEw/dGhpcy5yZW5kZXJIZWFkSW50cm9IdG1sKCk6IiIpKyI8L3RyPiJ9LHJlbmRlckhlYWREYXRlQ2VsbHNIdG1sOmZ1bmN0aW9uKCl7dmFyIGEsYixjPVtdO2ZvcihhPTA7YTx0aGlzLmNvbENudDthKyspYj10aGlzLmdldENlbGxEYXRlKDAsYSksYy5wdXNoKHRoaXMucmVuZGVySGVhZERhdGVDZWxsSHRtbChiKSk7cmV0dXJuIGMuam9pbigiIil9LHJlbmRlckhlYWREYXRlQ2VsbEh0bWw6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMudmlldztyZXR1cm4nPHRoIGNsYXNzPSJmYy1kYXktaGVhZGVyICcrZC53aWRnZXRIZWFkZXJDbGFzcysiIGZjLSIrVGFbYS5kYXkoKV0rJyInKygxPT10aGlzLnJvd0NudD8nIGRhdGEtZGF0ZT0iJythLmZvcm1hdCgiWVlZWS1NTS1ERCIpKyciJzoiIikrKGI+MT8nIGNvbHNwYW49IicrYisnIic6IiIpKyhjPyIgIitjOiIiKSsiPiIrWShhLmZvcm1hdCh0aGlzLmNvbEhlYWRGb3JtYXQpKSsiPC90aD4ifSxyZW5kZXJCZ1RySHRtbDpmdW5jdGlvbihhKXtyZXR1cm4iPHRyPiIrKHRoaXMuaXNSVEw/IiI6dGhpcy5yZW5kZXJCZ0ludHJvSHRtbChhKSkrdGhpcy5yZW5kZXJCZ0NlbGxzSHRtbChhKSsodGhpcy5pc1JUTD90aGlzLnJlbmRlckJnSW50cm9IdG1sKGEpOiIiKSsiPC90cj4ifSxyZW5kZXJCZ0ludHJvSHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW5kZXJJbnRyb0h0bWwoKX0scmVuZGVyQmdDZWxsc0h0bWw6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPVtdO2ZvcihiPTA7Yjx0aGlzLmNvbENudDtiKyspYz10aGlzLmdldENlbGxEYXRlKGEsYiksZC5wdXNoKHRoaXMucmVuZGVyQmdDZWxsSHRtbChjKSk7cmV0dXJuIGQuam9pbigiIil9LHJlbmRlckJnQ2VsbEh0bWw6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnZpZXcsZD10aGlzLmdldERheUNsYXNzZXMoYSk7cmV0dXJuIGQudW5zaGlmdCgiZmMtZGF5IixjLndpZGdldENvbnRlbnRDbGFzcyksJzx0ZCBjbGFzcz0iJytkLmpvaW4oIiAiKSsnIiBkYXRhLWRhdGU9IicrYS5mb3JtYXQoIllZWVktTU0tREQiKSsnIicrKGI/IiAiK2I6IiIpKyI+PC90ZD4ifSxyZW5kZXJJbnRyb0h0bWw6ZnVuY3Rpb24oKXt9LGJvb2tlbmRDZWxsczpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnJlbmRlckludHJvSHRtbCgpO2ImJih0aGlzLmlzUlRMP2EuYXBwZW5kKGIpOmEucHJlcGVuZChiKSl9fSxtYj1QYS5EYXlHcmlkPWtiLmV4dGVuZChsYix7bnVtYmVyc1Zpc2libGU6ITEsYm90dG9tQ29vcmRQYWRkaW5nOjAscm93RWxzOm51bGwsY2VsbEVsczpudWxsLGhlbHBlckVsczpudWxsLHJvd0Nvb3JkQ2FjaGU6bnVsbCxjb2xDb29yZENhY2hlOm51bGwscmVuZGVyRGF0ZXM6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMudmlldyxlPXRoaXMucm93Q250LGY9dGhpcy5jb2xDbnQsZz0iIjtmb3IoYj0wO2U+YjtiKyspZys9dGhpcy5yZW5kZXJEYXlSb3dIdG1sKGIsYSk7Zm9yKHRoaXMuZWwuaHRtbChnKSx0aGlzLnJvd0Vscz10aGlzLmVsLmZpbmQoIi5mYy1yb3ciKSx0aGlzLmNlbGxFbHM9dGhpcy5lbC5maW5kKCIuZmMtZGF5IiksdGhpcy5yb3dDb29yZENhY2hlPW5ldyBnYih7ZWxzOnRoaXMucm93RWxzLGlzVmVydGljYWw6ITB9KSx0aGlzLmNvbENvb3JkQ2FjaGU9bmV3IGdiKHtlbHM6dGhpcy5jZWxsRWxzLnNsaWNlKDAsdGhpcy5jb2xDbnQpLGlzSG9yaXpvbnRhbDohMH0pLGI9MDtlPmI7YisrKWZvcihjPTA7Zj5jO2MrKylkLnRyaWdnZXIoImRheVJlbmRlciIsbnVsbCx0aGlzLmdldENlbGxEYXRlKGIsYyksdGhpcy5nZXRDZWxsRWwoYixjKSl9LHVucmVuZGVyRGF0ZXM6ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZVNlZ1BvcG92ZXIoKX0scmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe3ZhciBhPXRoaXMudmlldy5jYWxlbmRhci5nZXRCdXNpbmVzc0hvdXJzRXZlbnRzKCEwKSxiPXRoaXMuZXZlbnRzVG9TZWdzKGEpO3RoaXMucmVuZGVyRmlsbCgiYnVzaW5lc3NIb3VycyIsYiwiYmdldmVudCIpfSxyZW5kZXJEYXlSb3dIdG1sOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy52aWV3LGQ9WyJmYy1yb3ciLCJmYy13ZWVrIixjLndpZGdldENvbnRlbnRDbGFzc107cmV0dXJuIGImJmQucHVzaCgiZmMtcmlnaWQiKSwnPGRpdiBjbGFzcz0iJytkLmpvaW4oIiAiKSsnIj48ZGl2IGNsYXNzPSJmYy1iZyI+PHRhYmxlPicrdGhpcy5yZW5kZXJCZ1RySHRtbChhKSsnPC90YWJsZT48L2Rpdj48ZGl2IGNsYXNzPSJmYy1jb250ZW50LXNrZWxldG9uIj48dGFibGU+JysodGhpcy5udW1iZXJzVmlzaWJsZT8iPHRoZWFkPiIrdGhpcy5yZW5kZXJOdW1iZXJUckh0bWwoYSkrIjwvdGhlYWQ+IjoiIikrIjwvdGFibGU+PC9kaXY+PC9kaXY+In0scmVuZGVyTnVtYmVyVHJIdG1sOmZ1bmN0aW9uKGEpe3JldHVybiI8dHI+IisodGhpcy5pc1JUTD8iIjp0aGlzLnJlbmRlck51bWJlckludHJvSHRtbChhKSkrdGhpcy5yZW5kZXJOdW1iZXJDZWxsc0h0bWwoYSkrKHRoaXMuaXNSVEw/dGhpcy5yZW5kZXJOdW1iZXJJbnRyb0h0bWwoYSk6IiIpKyI8L3RyPiJ9LHJlbmRlck51bWJlckludHJvSHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW5kZXJJbnRyb0h0bWwoKX0scmVuZGVyTnVtYmVyQ2VsbHNIdG1sOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1bXTtmb3IoYj0wO2I8dGhpcy5jb2xDbnQ7YisrKWM9dGhpcy5nZXRDZWxsRGF0ZShhLGIpLGQucHVzaCh0aGlzLnJlbmRlck51bWJlckNlbGxIdG1sKGMpKTtyZXR1cm4gZC5qb2luKCIiKX0scmVuZGVyTnVtYmVyQ2VsbEh0bWw6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIHRoaXMudmlldy5kYXlOdW1iZXJzVmlzaWJsZT8oYj10aGlzLmdldERheUNsYXNzZXMoYSksYi51bnNoaWZ0KCJmYy1kYXktbnVtYmVyIiksJzx0ZCBjbGFzcz0iJytiLmpvaW4oIiAiKSsnIiBkYXRhLWRhdGU9IicrYS5mb3JtYXQoKSsnIj4nK2EuZGF0ZSgpKyI8L3RkPiIpOiI8dGQvPiJ9LGNvbXB1dGVFdmVudFRpbWVGb3JtYXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52aWV3Lm9wdCgiZXh0cmFTbWFsbFRpbWVGb3JtYXQiKX0sY29tcHV0ZURpc3BsYXlFdmVudEVuZDpmdW5jdGlvbigpe3JldHVybiAxPT10aGlzLmNvbENudH0scmFuZ2VVcGRhdGVkOmZ1bmN0aW9uKCl7dGhpcy51cGRhdGVEYXlUYWJsZSgpfSxzcGFuVG9TZWdzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD10aGlzLnNsaWNlUmFuZ2VCeVJvdyhhKTtmb3IoYj0wO2I8ZC5sZW5ndGg7YisrKWM9ZFtiXSx0aGlzLmlzUlRMPyhjLmxlZnRDb2w9dGhpcy5kYXlzUGVyUm93LTEtYy5sYXN0Um93RGF5SW5kZXgsYy5yaWdodENvbD10aGlzLmRheXNQZXJSb3ctMS1jLmZpcnN0Um93RGF5SW5kZXgpOihjLmxlZnRDb2w9Yy5maXJzdFJvd0RheUluZGV4LGMucmlnaHRDb2w9Yy5sYXN0Um93RGF5SW5kZXgpO3JldHVybiBkfSxwcmVwYXJlSGl0czpmdW5jdGlvbigpe3RoaXMuY29sQ29vcmRDYWNoZS5idWlsZCgpLHRoaXMucm93Q29vcmRDYWNoZS5idWlsZCgpLHRoaXMucm93Q29vcmRDYWNoZS5ib3R0b21zW3RoaXMucm93Q250LTFdKz10aGlzLmJvdHRvbUNvb3JkUGFkZGluZ30scmVsZWFzZUhpdHM6ZnVuY3Rpb24oKXt0aGlzLmNvbENvb3JkQ2FjaGUuY2xlYXIoKSx0aGlzLnJvd0Nvb3JkQ2FjaGUuY2xlYXIoKX0scXVlcnlIaXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmNvbENvb3JkQ2FjaGUuZ2V0SG9yaXpvbnRhbEluZGV4KGEpLGQ9dGhpcy5yb3dDb29yZENhY2hlLmdldFZlcnRpY2FsSW5kZXgoYik7cmV0dXJuIG51bGwhPWQmJm51bGwhPWM/dGhpcy5nZXRDZWxsSGl0KGQsYyk6dm9pZCAwfSxnZXRIaXRTcGFuOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmdldENlbGxSYW5nZShhLnJvdyxhLmNvbCl9LGdldEhpdEVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmdldENlbGxFbChhLnJvdyxhLmNvbCl9LGdldENlbGxIaXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm57cm93OmEsY29sOmIsY29tcG9uZW50OnRoaXMsbGVmdDp0aGlzLmNvbENvb3JkQ2FjaGUuZ2V0TGVmdE9mZnNldChiKSxyaWdodDp0aGlzLmNvbENvb3JkQ2FjaGUuZ2V0UmlnaHRPZmZzZXQoYiksdG9wOnRoaXMucm93Q29vcmRDYWNoZS5nZXRUb3BPZmZzZXQoYSksYm90dG9tOnRoaXMucm93Q29vcmRDYWNoZS5nZXRCb3R0b21PZmZzZXQoYSl9fSxnZXRDZWxsRWw6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5jZWxsRWxzLmVxKGEqdGhpcy5jb2xDbnQrYil9LHJlbmRlckRyYWc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5yZW5kZXJIaWdobGlnaHQodGhpcy5ldmVudFRvU3BhbihhKSksYiYmIWIuZWwuY2xvc2VzdCh0aGlzLmVsKS5sZW5ndGg/KHRoaXMucmVuZGVyRXZlbnRMb2NhdGlvbkhlbHBlcihhLGIpLHRoaXMuYXBwbHlEcmFnT3BhY2l0eSh0aGlzLmhlbHBlckVscyksITApOnZvaWQgMH0sdW5yZW5kZXJEcmFnOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckhpZ2hsaWdodCgpLHRoaXMudW5yZW5kZXJIZWxwZXIoKX0scmVuZGVyRXZlbnRSZXNpemU6ZnVuY3Rpb24oYSxiKXt0aGlzLnJlbmRlckhpZ2hsaWdodCh0aGlzLmV2ZW50VG9TcGFuKGEpKSx0aGlzLnJlbmRlckV2ZW50TG9jYXRpb25IZWxwZXIoYSxiKX0sdW5yZW5kZXJFdmVudFJlc2l6ZTpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJIaWdobGlnaHQoKSx0aGlzLnVucmVuZGVySGVscGVyKCl9LHJlbmRlckhlbHBlcjpmdW5jdGlvbihiLGMpe3ZhciBkLGU9W10sZj10aGlzLmV2ZW50VG9TZWdzKGIpO2Y9dGhpcy5yZW5kZXJGZ1NlZ0VscyhmKSxkPXRoaXMucmVuZGVyU2VnUm93cyhmKSx0aGlzLnJvd0Vscy5lYWNoKGZ1bmN0aW9uKGIsZil7dmFyIGcsaD1hKGYpLGk9YSgnPGRpdiBjbGFzcz0iZmMtaGVscGVyLXNrZWxldG9uIj48dGFibGUvPjwvZGl2PicpO2c9YyYmYy5yb3c9PT1iP2MuZWwucG9zaXRpb24oKS50b3A6aC5maW5kKCIuZmMtY29udGVudC1za2VsZXRvbiB0Ym9keSIpLnBvc2l0aW9uKCkudG9wLGkuY3NzKCJ0b3AiLGcpLmZpbmQoInRhYmxlIikuYXBwZW5kKGRbYl0udGJvZHlFbCksaC5hcHBlbmQoaSksZS5wdXNoKGlbMF0pfSksdGhpcy5oZWxwZXJFbHM9YShlKX0sdW5yZW5kZXJIZWxwZXI6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlckVscyYmKHRoaXMuaGVscGVyRWxzLnJlbW92ZSgpLHRoaXMuaGVscGVyRWxzPW51bGwpfSxmaWxsU2VnVGFnOiJ0ZCIscmVuZGVyRmlsbDpmdW5jdGlvbihiLGMsZCl7dmFyIGUsZixnLGg9W107Zm9yKGM9dGhpcy5yZW5kZXJGaWxsU2VnRWxzKGIsYyksZT0wO2U8Yy5sZW5ndGg7ZSsrKWY9Y1tlXSxnPXRoaXMucmVuZGVyRmlsbFJvdyhiLGYsZCksdGhpcy5yb3dFbHMuZXEoZi5yb3cpLmFwcGVuZChnKSxoLnB1c2goZ1swXSk7cmV0dXJuIHRoaXMuZWxzQnlGaWxsW2JdPWEoaCksY30scmVuZGVyRmlsbFJvdzpmdW5jdGlvbihiLGMsZCl7dmFyIGUsZixnPXRoaXMuY29sQ250LGg9Yy5sZWZ0Q29sLGk9Yy5yaWdodENvbCsxO3JldHVybiBkPWR8fGIudG9Mb3dlckNhc2UoKSxlPWEoJzxkaXYgY2xhc3M9ImZjLScrZCsnLXNrZWxldG9uIj48dGFibGU+PHRyLz48L3RhYmxlPjwvZGl2PicpLGY9ZS5maW5kKCJ0ciIpLGg+MCYmZi5hcHBlbmQoJzx0ZCBjb2xzcGFuPSInK2grJyIvPicpLGYuYXBwZW5kKGMuZWwuYXR0cigiY29sc3BhbiIsaS1oKSksZz5pJiZmLmFwcGVuZCgnPHRkIGNvbHNwYW49IicrKGctaSkrJyIvPicpLHRoaXMuYm9va2VuZENlbGxzKGYpLGV9fSk7bWIubWl4aW4oe3Jvd1N0cnVjdHM6bnVsbCx1bnJlbmRlckV2ZW50czpmdW5jdGlvbigpe3RoaXMucmVtb3ZlU2VnUG9wb3ZlcigpLGtiLnByb3RvdHlwZS51bnJlbmRlckV2ZW50cy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGdldEV2ZW50U2VnczpmdW5jdGlvbigpe3JldHVybiBrYi5wcm90b3R5cGUuZ2V0RXZlbnRTZWdzLmNhbGwodGhpcykuY29uY2F0KHRoaXMucG9wb3ZlclNlZ3N8fFtdKX0scmVuZGVyQmdTZWdzOmZ1bmN0aW9uKGIpe3ZhciBjPWEuZ3JlcChiLGZ1bmN0aW9uKGEpe3JldHVybiBhLmV2ZW50LmFsbERheX0pO3JldHVybiBrYi5wcm90b3R5cGUucmVuZGVyQmdTZWdzLmNhbGwodGhpcyxjKX0scmVuZGVyRmdTZWdzOmZ1bmN0aW9uKGIpe3ZhciBjO3JldHVybiBiPXRoaXMucmVuZGVyRmdTZWdFbHMoYiksYz10aGlzLnJvd1N0cnVjdHM9dGhpcy5yZW5kZXJTZWdSb3dzKGIpLHRoaXMucm93RWxzLmVhY2goZnVuY3Rpb24oYixkKXthKGQpLmZpbmQoIi5mYy1jb250ZW50LXNrZWxldG9uID4gdGFibGUiKS5hcHBlbmQoY1tiXS50Ym9keUVsKX0pLGJ9LHVucmVuZGVyRmdTZWdzOmZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9dGhpcy5yb3dTdHJ1Y3RzfHxbXTthPWIucG9wKCk7KWEudGJvZHlFbC5yZW1vdmUoKTt0aGlzLnJvd1N0cnVjdHM9bnVsbH0scmVuZGVyU2VnUm93czpmdW5jdGlvbihhKXt2YXIgYixjLGQ9W107Zm9yKGI9dGhpcy5ncm91cFNlZ1Jvd3MoYSksYz0wO2M8Yi5sZW5ndGg7YysrKWQucHVzaCh0aGlzLnJlbmRlclNlZ1JvdyhjLGJbY10pKTsNCnJldHVybiBkfSxmZ1NlZ0h0bWw6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9dGhpcy52aWV3LGY9YS5ldmVudCxnPWUuaXNFdmVudERyYWdnYWJsZShmKSxoPSFiJiZmLmFsbERheSYmYS5pc1N0YXJ0JiZlLmlzRXZlbnRSZXNpemFibGVGcm9tU3RhcnQoZiksaT0hYiYmZi5hbGxEYXkmJmEuaXNFbmQmJmUuaXNFdmVudFJlc2l6YWJsZUZyb21FbmQoZiksaj10aGlzLmdldFNlZ0NsYXNzZXMoYSxnLGh8fGkpLGs9JCh0aGlzLmdldEV2ZW50U2tpbkNzcyhmKSksbD0iIjtyZXR1cm4gai51bnNoaWZ0KCJmYy1kYXktZ3JpZC1ldmVudCIsImZjLWgtZXZlbnQiKSxhLmlzU3RhcnQmJihjPXRoaXMuZ2V0RXZlbnRUaW1lVGV4dChmKSxjJiYobD0nPHNwYW4gY2xhc3M9ImZjLXRpbWUiPicrWShjKSsiPC9zcGFuPiIpKSxkPSc8c3BhbiBjbGFzcz0iZmMtdGl0bGUiPicrKFkoZi50aXRsZXx8IiIpfHwiJm5ic3A7IikrIjwvc3Bhbj4iLCc8YSBjbGFzcz0iJytqLmpvaW4oIiAiKSsnIicrKGYudXJsPycgaHJlZj0iJytZKGYudXJsKSsnIic6IiIpKyhrPycgc3R5bGU9IicraysnIic6IiIpKyc+PGRpdiBjbGFzcz0iZmMtY29udGVudCI+JysodGhpcy5pc1JUTD9kKyIgIitsOmwrIiAiK2QpKyI8L2Rpdj4iKyhoPyc8ZGl2IGNsYXNzPSJmYy1yZXNpemVyIGZjLXN0YXJ0LXJlc2l6ZXIiIC8+JzoiIikrKGk/JzxkaXYgY2xhc3M9ImZjLXJlc2l6ZXIgZmMtZW5kLXJlc2l6ZXIiIC8+JzoiIikrIjwvYT4ifSxyZW5kZXJTZWdSb3c6ZnVuY3Rpb24oYixjKXtmdW5jdGlvbiBkKGIpe2Zvcig7Yj5nOylrPShyW2UtMV18fFtdKVtnXSxrP2suYXR0cigicm93c3BhbiIscGFyc2VJbnQoay5hdHRyKCJyb3dzcGFuIil8fDEsMTApKzEpOihrPWEoIjx0ZC8+IiksaC5hcHBlbmQoaykpLHFbZV1bZ109ayxyW2VdW2ddPWssZysrfXZhciBlLGYsZyxoLGksaixrLGw9dGhpcy5jb2xDbnQsbT10aGlzLmJ1aWxkU2VnTGV2ZWxzKGMpLG49TWF0aC5tYXgoMSxtLmxlbmd0aCksbz1hKCI8dGJvZHkvPiIpLHA9W10scT1bXSxyPVtdO2ZvcihlPTA7bj5lO2UrKyl7aWYoZj1tW2VdLGc9MCxoPWEoIjx0ci8+IikscC5wdXNoKFtdKSxxLnB1c2goW10pLHIucHVzaChbXSksZilmb3IoaT0wO2k8Zi5sZW5ndGg7aSsrKXtmb3Ioaj1mW2ldLGQoai5sZWZ0Q29sKSxrPWEoJzx0ZCBjbGFzcz0iZmMtZXZlbnQtY29udGFpbmVyIi8+JykuYXBwZW5kKGouZWwpLGoubGVmdENvbCE9ai5yaWdodENvbD9rLmF0dHIoImNvbHNwYW4iLGoucmlnaHRDb2wtai5sZWZ0Q29sKzEpOnJbZV1bZ109aztnPD1qLnJpZ2h0Q29sOylxW2VdW2ddPWsscFtlXVtnXT1qLGcrKztoLmFwcGVuZChrKX1kKGwpLHRoaXMuYm9va2VuZENlbGxzKGgpLG8uYXBwZW5kKGgpfXJldHVybntyb3c6Yix0Ym9keUVsOm8sY2VsbE1hdHJpeDpxLHNlZ01hdHJpeDpwLHNlZ0xldmVsczptLHNlZ3M6Y319LGJ1aWxkU2VnTGV2ZWxzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPVtdO2Zvcih0aGlzLnNvcnRFdmVudFNlZ3MoYSksYj0wO2I8YS5sZW5ndGg7YisrKXtmb3IoYz1hW2JdLGQ9MDtkPGUubGVuZ3RoJiZDYShjLGVbZF0pO2QrKyk7Yy5sZXZlbD1kLChlW2RdfHwoZVtkXT1bXSkpLnB1c2goYyl9Zm9yKGQ9MDtkPGUubGVuZ3RoO2QrKyllW2RdLnNvcnQoRGEpO3JldHVybiBlfSxncm91cFNlZ1Jvd3M6ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXTtmb3IoYj0wO2I8dGhpcy5yb3dDbnQ7YisrKWMucHVzaChbXSk7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKyljW2FbYl0ucm93XS5wdXNoKGFbYl0pO3JldHVybiBjfX0pLG1iLm1peGluKHtzZWdQb3BvdmVyOm51bGwscG9wb3ZlclNlZ3M6bnVsbCxyZW1vdmVTZWdQb3BvdmVyOmZ1bmN0aW9uKCl7dGhpcy5zZWdQb3BvdmVyJiZ0aGlzLnNlZ1BvcG92ZXIuaGlkZSgpfSxsaW1pdFJvd3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMucm93U3RydWN0c3x8W107Zm9yKGI9MDtiPGQubGVuZ3RoO2IrKyl0aGlzLnVubGltaXRSb3coYiksYz1hPyJudW1iZXIiPT10eXBlb2YgYT9hOnRoaXMuY29tcHV0ZVJvd0xldmVsTGltaXQoYik6ITEsYyE9PSExJiZ0aGlzLmxpbWl0Um93KGIsYyl9LGNvbXB1dGVSb3dMZXZlbExpbWl0OmZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoYixjKXtmPU1hdGgubWF4KGYsYShjKS5vdXRlckhlaWdodCgpKX12YXIgZCxlLGYsZz10aGlzLnJvd0Vscy5lcShiKSxoPWcuaGVpZ2h0KCksaT10aGlzLnJvd1N0cnVjdHNbYl0udGJvZHlFbC5jaGlsZHJlbigpO2ZvcihkPTA7ZDxpLmxlbmd0aDtkKyspaWYoZT1pLmVxKGQpLnJlbW92ZUNsYXNzKCJmYy1saW1pdGVkIiksZj0wLGUuZmluZCgiPiB0ZCA+IDpmaXJzdC1jaGlsZCIpLmVhY2goYyksZS5wb3NpdGlvbigpLnRvcCtmPmgpcmV0dXJuIGQ7cmV0dXJuITF9LGxpbWl0Um93OmZ1bmN0aW9uKGIsYyl7ZnVuY3Rpb24gZChkKXtmb3IoO2Q+dzspaj10LmdldENlbGxTZWdzKGIsdyxjKSxqLmxlbmd0aCYmKG09ZltjLTFdW3ddLHM9dC5yZW5kZXJNb3JlTGluayhiLHcsaikscj1hKCI8ZGl2Lz4iKS5hcHBlbmQocyksbS5hcHBlbmQociksdi5wdXNoKHJbMF0pKSx3Kyt9dmFyIGUsZixnLGgsaSxqLGssbCxtLG4sbyxwLHEscixzLHQ9dGhpcyx1PXRoaXMucm93U3RydWN0c1tiXSx2PVtdLHc9MDtpZihjJiZjPHUuc2VnTGV2ZWxzLmxlbmd0aCl7Zm9yKGU9dS5zZWdMZXZlbHNbYy0xXSxmPXUuY2VsbE1hdHJpeCxnPXUudGJvZHlFbC5jaGlsZHJlbigpLnNsaWNlKGMpLmFkZENsYXNzKCJmYy1saW1pdGVkIikuZ2V0KCksaD0wO2g8ZS5sZW5ndGg7aCsrKXtmb3IoaT1lW2hdLGQoaS5sZWZ0Q29sKSxsPVtdLGs9MDt3PD1pLnJpZ2h0Q29sOylqPXRoaXMuZ2V0Q2VsbFNlZ3MoYix3LGMpLGwucHVzaChqKSxrKz1qLmxlbmd0aCx3Kys7aWYoayl7Zm9yKG09ZltjLTFdW2kubGVmdENvbF0sbj1tLmF0dHIoInJvd3NwYW4iKXx8MSxvPVtdLHA9MDtwPGwubGVuZ3RoO3ArKylxPWEoJzx0ZCBjbGFzcz0iZmMtbW9yZS1jZWxsIi8+JykuYXR0cigicm93c3BhbiIsbiksaj1sW3BdLHM9dGhpcy5yZW5kZXJNb3JlTGluayhiLGkubGVmdENvbCtwLFtpXS5jb25jYXQoaikpLHI9YSgiPGRpdi8+IikuYXBwZW5kKHMpLHEuYXBwZW5kKHIpLG8ucHVzaChxWzBdKSx2LnB1c2gocVswXSk7bS5hZGRDbGFzcygiZmMtbGltaXRlZCIpLmFmdGVyKGEobykpLGcucHVzaChtWzBdKX19ZCh0aGlzLmNvbENudCksdS5tb3JlRWxzPWEodiksdS5saW1pdGVkRWxzPWEoZyl9fSx1bmxpbWl0Um93OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucm93U3RydWN0c1thXTtiLm1vcmVFbHMmJihiLm1vcmVFbHMucmVtb3ZlKCksYi5tb3JlRWxzPW51bGwpLGIubGltaXRlZEVscyYmKGIubGltaXRlZEVscy5yZW1vdmVDbGFzcygiZmMtbGltaXRlZCIpLGIubGltaXRlZEVscz1udWxsKX0scmVuZGVyTW9yZUxpbms6ZnVuY3Rpb24oYixjLGQpe3ZhciBlPXRoaXMsZj10aGlzLnZpZXc7cmV0dXJuIGEoJzxhIGNsYXNzPSJmYy1tb3JlIi8+JykudGV4dCh0aGlzLmdldE1vcmVMaW5rVGV4dChkLmxlbmd0aCkpLm9uKCJjbGljayIsZnVuY3Rpb24oZyl7dmFyIGg9Zi5vcHQoImV2ZW50TGltaXRDbGljayIpLGk9ZS5nZXRDZWxsRGF0ZShiLGMpLGo9YSh0aGlzKSxrPWUuZ2V0Q2VsbEVsKGIsYyksbD1lLmdldENlbGxTZWdzKGIsYyksbT1lLnJlc2xpY2VEYXlTZWdzKGwsaSksbj1lLnJlc2xpY2VEYXlTZWdzKGQsaSk7ImZ1bmN0aW9uIj09dHlwZW9mIGgmJihoPWYudHJpZ2dlcigiZXZlbnRMaW1pdENsaWNrIixudWxsLHtkYXRlOmksZGF5RWw6ayxtb3JlRWw6aixzZWdzOm0saGlkZGVuU2VnczpufSxnKSksInBvcG92ZXIiPT09aD9lLnNob3dTZWdQb3BvdmVyKGIsYyxqLG0pOiJzdHJpbmciPT10eXBlb2YgaCYmZi5jYWxlbmRhci56b29tVG8oaSxoKX0pfSxzaG93U2VnUG9wb3ZlcjpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc9dGhpcyxoPXRoaXMudmlldyxpPWMucGFyZW50KCk7ZT0xPT10aGlzLnJvd0NudD9oLmVsOnRoaXMucm93RWxzLmVxKGEpLGY9e2NsYXNzTmFtZToiZmMtbW9yZS1wb3BvdmVyIixjb250ZW50OnRoaXMucmVuZGVyU2VnUG9wb3ZlckNvbnRlbnQoYSxiLGQpLHBhcmVudEVsOnRoaXMuZWwsdG9wOmUub2Zmc2V0KCkudG9wLGF1dG9IaWRlOiEwLHZpZXdwb3J0Q29uc3RyYWluOmgub3B0KCJwb3BvdmVyVmlld3BvcnRDb25zdHJhaW4iKSxoaWRlOmZ1bmN0aW9uKCl7Zy5zZWdQb3BvdmVyLnJlbW92ZUVsZW1lbnQoKSxnLnNlZ1BvcG92ZXI9bnVsbCxnLnBvcG92ZXJTZWdzPW51bGx9fSx0aGlzLmlzUlRMP2YucmlnaHQ9aS5vZmZzZXQoKS5sZWZ0K2kub3V0ZXJXaWR0aCgpKzE6Zi5sZWZ0PWkub2Zmc2V0KCkubGVmdC0xLHRoaXMuc2VnUG9wb3Zlcj1uZXcgZmIoZiksdGhpcy5zZWdQb3BvdmVyLnNob3coKX0scmVuZGVyU2VnUG9wb3ZlckNvbnRlbnQ6ZnVuY3Rpb24oYixjLGQpe3ZhciBlLGY9dGhpcy52aWV3LGc9Zi5vcHQoInRoZW1lIiksaD10aGlzLmdldENlbGxEYXRlKGIsYykuZm9ybWF0KGYub3B0KCJkYXlQb3BvdmVyRm9ybWF0IikpLGk9YSgnPGRpdiBjbGFzcz0iZmMtaGVhZGVyICcrZi53aWRnZXRIZWFkZXJDbGFzcysnIj48c3BhbiBjbGFzcz0iZmMtY2xvc2UgJysoZz8idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siOiJmYy1pY29uIGZjLWljb24teCIpKyciPjwvc3Bhbj48c3BhbiBjbGFzcz0iZmMtdGl0bGUiPicrWShoKSsnPC9zcGFuPjxkaXYgY2xhc3M9ImZjLWNsZWFyIi8+PC9kaXY+PGRpdiBjbGFzcz0iZmMtYm9keSAnK2Yud2lkZ2V0Q29udGVudENsYXNzKyciPjxkaXYgY2xhc3M9ImZjLWV2ZW50LWNvbnRhaW5lciI+PC9kaXY+PC9kaXY+Jyksaj1pLmZpbmQoIi5mYy1ldmVudC1jb250YWluZXIiKTtmb3IoZD10aGlzLnJlbmRlckZnU2VnRWxzKGQsITApLHRoaXMucG9wb3ZlclNlZ3M9ZCxlPTA7ZTxkLmxlbmd0aDtlKyspdGhpcy5wcmVwYXJlSGl0cygpLGRbZV0uaGl0PXRoaXMuZ2V0Q2VsbEhpdChiLGMpLHRoaXMucmVsZWFzZUhpdHMoKSxqLmFwcGVuZChkW2VdLmVsKTtyZXR1cm4gaX0scmVzbGljZURheVNlZ3M6ZnVuY3Rpb24oYixjKXt2YXIgZD1hLm1hcChiLGZ1bmN0aW9uKGEpe3JldHVybiBhLmV2ZW50fSksZT1jLmNsb25lKCksZj1lLmNsb25lKCkuYWRkKDEsImRheXMiKSxnPXtzdGFydDplLGVuZDpmfTtyZXR1cm4gYj10aGlzLmV2ZW50c1RvU2VncyhkLGZ1bmN0aW9uKGEpe3ZhciBiPUUoYSxnKTtyZXR1cm4gYj9bYl06W119KSx0aGlzLnNvcnRFdmVudFNlZ3MoYiksYn0sZ2V0TW9yZUxpbmtUZXh0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldy5vcHQoImV2ZW50TGltaXRUZXh0Iik7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGI/YihhKToiKyIrYSsiICIrYn0sZ2V0Q2VsbFNlZ3M6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPXRoaXMucm93U3RydWN0c1thXS5zZWdNYXRyaXgsZj1jfHwwLGc9W107ZjxlLmxlbmd0aDspZD1lW2ZdW2JdLGQmJmcucHVzaChkKSxmKys7cmV0dXJuIGd9fSk7dmFyIG5iPVBhLlRpbWVHcmlkPWtiLmV4dGVuZChsYix7c2xvdER1cmF0aW9uOm51bGwsc25hcER1cmF0aW9uOm51bGwsc25hcHNQZXJTbG90Om51bGwsbWluVGltZTpudWxsLG1heFRpbWU6bnVsbCxsYWJlbEZvcm1hdDpudWxsLGxhYmVsSW50ZXJ2YWw6bnVsbCxjb2xFbHM6bnVsbCxzbGF0RWxzOm51bGwsbm93SW5kaWNhdG9yRWxzOm51bGwsY29sQ29vcmRDYWNoZTpudWxsLHNsYXRDb29yZENhY2hlOm51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oKXtrYi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5wcm9jZXNzT3B0aW9ucygpfSxyZW5kZXJEYXRlczpmdW5jdGlvbigpe3RoaXMuZWwuaHRtbCh0aGlzLnJlbmRlckh0bWwoKSksdGhpcy5jb2xFbHM9dGhpcy5lbC5maW5kKCIuZmMtZGF5IiksdGhpcy5zbGF0RWxzPXRoaXMuZWwuZmluZCgiLmZjLXNsYXRzIHRyIiksdGhpcy5jb2xDb29yZENhY2hlPW5ldyBnYih7ZWxzOnRoaXMuY29sRWxzLGlzSG9yaXpvbnRhbDohMH0pLHRoaXMuc2xhdENvb3JkQ2FjaGU9bmV3IGdiKHtlbHM6dGhpcy5zbGF0RWxzLGlzVmVydGljYWw6ITB9KSx0aGlzLnJlbmRlckNvbnRlbnRTa2VsZXRvbigpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7cmV0dXJuJzxkaXYgY2xhc3M9ImZjLWJnIj48dGFibGU+Jyt0aGlzLnJlbmRlckJnVHJIdG1sKDApKyc8L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9ImZjLXNsYXRzIj48dGFibGU+Jyt0aGlzLnJlbmRlclNsYXRSb3dIdG1sKCkrIjwvdGFibGU+PC9kaXY+In0scmVuZGVyU2xhdFJvd0h0bWw6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYyxkLGU9dGhpcy52aWV3LGY9dGhpcy5pc1JUTCxnPSIiLGg9Yi5kdXJhdGlvbigrdGhpcy5taW5UaW1lKTtoPHRoaXMubWF4VGltZTspYT10aGlzLnN0YXJ0LmNsb25lKCkudGltZShoKSxjPWJhKEwoaCx0aGlzLmxhYmVsSW50ZXJ2YWwpKSxkPSc8dGQgY2xhc3M9ImZjLWF4aXMgZmMtdGltZSAnK2Uud2lkZ2V0Q29udGVudENsYXNzKyciICcrZS5heGlzU3R5bGVBdHRyKCkrIj4iKyhjPyI8c3Bhbj4iK1koYS5mb3JtYXQodGhpcy5sYWJlbEZvcm1hdCkpKyI8L3NwYW4+IjoiIikrIjwvdGQ+IixnKz0nPHRyIGRhdGEtdGltZT0iJythLmZvcm1hdCgiSEg6bW06c3MiKSsnIicrKGM/IiI6JyBjbGFzcz0iZmMtbWlub3IiJykrIj4iKyhmPyIiOmQpKyc8dGQgY2xhc3M9IicrZS53aWRnZXRDb250ZW50Q2xhc3MrJyIvPicrKGY/ZDoiIikrIjwvdHI+IixoLmFkZCh0aGlzLnNsb3REdXJhdGlvbik7cmV0dXJuIGd9LHByb2Nlc3NPcHRpb25zOmZ1bmN0aW9uKCl7dmFyIGMsZD10aGlzLnZpZXcsZT1kLm9wdCgic2xvdER1cmF0aW9uIiksZj1kLm9wdCgic25hcER1cmF0aW9uIik7ZT1iLmR1cmF0aW9uKGUpLGY9Zj9iLmR1cmF0aW9uKGYpOmUsdGhpcy5zbG90RHVyYXRpb249ZSx0aGlzLnNuYXBEdXJhdGlvbj1mLHRoaXMuc25hcHNQZXJTbG90PWUvZix0aGlzLm1pblJlc2l6ZUR1cmF0aW9uPWYsdGhpcy5taW5UaW1lPWIuZHVyYXRpb24oZC5vcHQoIm1pblRpbWUiKSksdGhpcy5tYXhUaW1lPWIuZHVyYXRpb24oZC5vcHQoIm1heFRpbWUiKSksYz1kLm9wdCgic2xvdExhYmVsRm9ybWF0IiksYS5pc0FycmF5KGMpJiYoYz1jW2MubGVuZ3RoLTFdKSx0aGlzLmxhYmVsRm9ybWF0PWN8fGQub3B0KCJheGlzRm9ybWF0Iil8fGQub3B0KCJzbWFsbFRpbWVGb3JtYXQiKSxjPWQub3B0KCJzbG90TGFiZWxJbnRlcnZhbCIpLHRoaXMubGFiZWxJbnRlcnZhbD1jP2IuZHVyYXRpb24oYyk6dGhpcy5jb21wdXRlTGFiZWxJbnRlcnZhbChlKX0sY29tcHV0ZUxhYmVsSW50ZXJ2YWw6ZnVuY3Rpb24oYSl7dmFyIGMsZCxlO2ZvcihjPURiLmxlbmd0aC0xO2M+PTA7Yy0tKWlmKGQ9Yi5kdXJhdGlvbihEYltjXSksZT1MKGQsYSksYmEoZSkmJmU+MSlyZXR1cm4gZDtyZXR1cm4gYi5kdXJhdGlvbihhKX0sY29tcHV0ZUV2ZW50VGltZUZvcm1hdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZpZXcub3B0KCJub01lcmlkaWVtVGltZUZvcm1hdCIpfSxjb21wdXRlRGlzcGxheUV2ZW50RW5kOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHByZXBhcmVIaXRzOmZ1bmN0aW9uKCl7dGhpcy5jb2xDb29yZENhY2hlLmJ1aWxkKCksdGhpcy5zbGF0Q29vcmRDYWNoZS5idWlsZCgpfSxyZWxlYXNlSGl0czpmdW5jdGlvbigpe3RoaXMuY29sQ29vcmRDYWNoZS5jbGVhcigpfSxxdWVyeUhpdDpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuc25hcHNQZXJTbG90LGQ9dGhpcy5jb2xDb29yZENhY2hlLGU9dGhpcy5zbGF0Q29vcmRDYWNoZSxmPWQuZ2V0SG9yaXpvbnRhbEluZGV4KGEpLGc9ZS5nZXRWZXJ0aWNhbEluZGV4KGIpO2lmKG51bGwhPWYmJm51bGwhPWcpe3ZhciBoPWUuZ2V0VG9wT2Zmc2V0KGcpLGk9ZS5nZXRIZWlnaHQoZyksaj0oYi1oKS9pLGs9TWF0aC5mbG9vcihqKmMpLGw9ZypjK2ssbT1oK2svYyppLG49aCsoaysxKS9jKmk7cmV0dXJue2NvbDpmLHNuYXA6bCxjb21wb25lbnQ6dGhpcyxsZWZ0OmQuZ2V0TGVmdE9mZnNldChmKSxyaWdodDpkLmdldFJpZ2h0T2Zmc2V0KGYpLHRvcDptLGJvdHRvbTpufX19LGdldEhpdFNwYW46ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmdldENlbGxEYXRlKDAsYS5jb2wpLGQ9dGhpcy5jb21wdXRlU25hcFRpbWUoYS5zbmFwKTtyZXR1cm4gYy50aW1lKGQpLGI9Yy5jbG9uZSgpLmFkZCh0aGlzLnNuYXBEdXJhdGlvbikse3N0YXJ0OmMsZW5kOmJ9fSxnZXRIaXRFbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5jb2xFbHMuZXEoYS5jb2wpfSxyYW5nZVVwZGF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLnVwZGF0ZURheVRhYmxlKCl9LGNvbXB1dGVTbmFwVGltZTpmdW5jdGlvbihhKXtyZXR1cm4gYi5kdXJhdGlvbih0aGlzLm1pblRpbWUrdGhpcy5zbmFwRHVyYXRpb24qYSl9LHNwYW5Ub1NlZ3M6ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLnNsaWNlUmFuZ2VCeVRpbWVzKGEpO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspdGhpcy5pc1JUTD9jW2JdLmNvbD10aGlzLmRheXNQZXJSb3ctMS1jW2JdLmRheUluZGV4OmNbYl0uY29sPWNbYl0uZGF5SW5kZXg7cmV0dXJuIGN9LHNsaWNlUmFuZ2VCeVRpbWVzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY9W107Zm9yKGM9MDtjPHRoaXMuZGF5c1BlclJvdztjKyspZD10aGlzLmRheURhdGVzW2NdLmNsb25lKCksZT17c3RhcnQ6ZC5jbG9uZSgpLnRpbWUodGhpcy5taW5UaW1lKSxlbmQ6ZC5jbG9uZSgpLnRpbWUodGhpcy5tYXhUaW1lKX0sYj1FKGEsZSksYiYmKGIuZGF5SW5kZXg9YyxmLnB1c2goYikpO3JldHVybiBmfSx1cGRhdGVTaXplOmZ1bmN0aW9uKGEpe3RoaXMuc2xhdENvb3JkQ2FjaGUuYnVpbGQoKSxhJiZ0aGlzLnVwZGF0ZVNlZ1ZlcnRpY2FscyhbXS5jb25jYXQodGhpcy5mZ1NlZ3N8fFtdLHRoaXMuYmdTZWdzfHxbXSx0aGlzLmJ1c2luZXNzU2Vnc3x8W10pKX0sY29tcHV0ZURhdGVUb3A6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gdGhpcy5jb21wdXRlVGltZVRvcChiLmR1cmF0aW9uKGEtYy5jbG9uZSgpLnN0cmlwVGltZSgpKSl9LGNvbXB1dGVUaW1lVG9wOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD10aGlzLnNsYXRFbHMubGVuZ3RoLGU9KGEtdGhpcy5taW5UaW1lKS90aGlzLnNsb3REdXJhdGlvbjtyZXR1cm4gZT1NYXRoLm1heCgwLGUpLGU9TWF0aC5taW4oZCxlKSxiPU1hdGguZmxvb3IoZSksYj1NYXRoLm1pbihiLGQtMSksYz1lLWIsdGhpcy5zbGF0Q29vcmRDYWNoZS5nZXRUb3BQb3NpdGlvbihiKSt0aGlzLnNsYXRDb29yZENhY2hlLmdldEhlaWdodChiKSpjfSxyZW5kZXJEcmFnOmZ1bmN0aW9uKGEsYil7aWYoYil7dGhpcy5yZW5kZXJFdmVudExvY2F0aW9uSGVscGVyKGEsYik7Zm9yKHZhciBjPTA7Yzx0aGlzLmhlbHBlclNlZ3MubGVuZ3RoO2MrKyl0aGlzLmFwcGx5RHJhZ09wYWNpdHkodGhpcy5oZWxwZXJTZWdzW2NdLmVsKTtyZXR1cm4hMH10aGlzLnJlbmRlckhpZ2hsaWdodCh0aGlzLmV2ZW50VG9TcGFuKGEpKX0sdW5yZW5kZXJEcmFnOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckhlbHBlcigpLHRoaXMudW5yZW5kZXJIaWdobGlnaHQoKX0scmVuZGVyRXZlbnRSZXNpemU6ZnVuY3Rpb24oYSxiKXt0aGlzLnJlbmRlckV2ZW50TG9jYXRpb25IZWxwZXIoYSxiKX0sdW5yZW5kZXJFdmVudFJlc2l6ZTpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJIZWxwZXIoKX0scmVuZGVySGVscGVyOmZ1bmN0aW9uKGEsYil7dGhpcy5yZW5kZXJIZWxwZXJTZWdzKHRoaXMuZXZlbnRUb1NlZ3MoYSksYil9LHVucmVuZGVySGVscGVyOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckhlbHBlclNlZ3MoKX0scmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe3ZhciBhPXRoaXMudmlldy5jYWxlbmRhci5nZXRCdXNpbmVzc0hvdXJzRXZlbnRzKCksYj10aGlzLmV2ZW50c1RvU2VncyhhKTt0aGlzLnJlbmRlckJ1c2luZXNzU2VncyhiKX0sdW5yZW5kZXJCdXNpbmVzc0hvdXJzOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckJ1c2luZXNzU2VncygpfSxnZXROb3dJbmRpY2F0b3JVbml0OmZ1bmN0aW9uKCl7cmV0dXJuIm1pbnV0ZSJ9LHJlbmRlck5vd0luZGljYXRvcjpmdW5jdGlvbihiKXt2YXIgYyxkPXRoaXMuc3BhblRvU2Vncyh7c3RhcnQ6YixlbmQ6Yn0pLGU9dGhpcy5jb21wdXRlRGF0ZVRvcChiLGIpLGY9W107Zm9yKGM9MDtjPGQubGVuZ3RoO2MrKylmLnB1c2goYSgnPGRpdiBjbGFzcz0iZmMtbm93LWluZGljYXRvciBmYy1ub3ctaW5kaWNhdG9yLWxpbmUiPjwvZGl2PicpLmNzcygidG9wIixlKS5hcHBlbmRUbyh0aGlzLmNvbENvbnRhaW5lckVscy5lcShkW2NdLmNvbCkpWzBdKTtkLmxlbmd0aD4wJiZmLnB1c2goYSgnPGRpdiBjbGFzcz0iZmMtbm93LWluZGljYXRvciBmYy1ub3ctaW5kaWNhdG9yLWFycm93Ij48L2Rpdj4nKS5jc3MoInRvcCIsZSkuYXBwZW5kVG8odGhpcy5lbC5maW5kKCIuZmMtY29udGVudC1za2VsZXRvbiIpKVswXSksdGhpcy5ub3dJbmRpY2F0b3JFbHM9YShmKX0sdW5yZW5kZXJOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oKXt0aGlzLm5vd0luZGljYXRvckVscyYmKHRoaXMubm93SW5kaWNhdG9yRWxzLnJlbW92ZSgpLHRoaXMubm93SW5kaWNhdG9yRWxzPW51bGwpfSxyZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oYSl7dGhpcy52aWV3Lm9wdCgic2VsZWN0SGVscGVyIik/dGhpcy5yZW5kZXJFdmVudExvY2F0aW9uSGVscGVyKGEpOnRoaXMucmVuZGVySGlnaGxpZ2h0KGEpfSx1bnJlbmRlclNlbGVjdGlvbjpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJIZWxwZXIoKSx0aGlzLnVucmVuZGVySGlnaGxpZ2h0KCl9LHJlbmRlckhpZ2hsaWdodDpmdW5jdGlvbihhKXt0aGlzLnJlbmRlckhpZ2hsaWdodFNlZ3ModGhpcy5zcGFuVG9TZWdzKGEpKX0sdW5yZW5kZXJIaWdobGlnaHQ6ZnVuY3Rpb24oKXt0aGlzLnVucmVuZGVySGlnaGxpZ2h0U2VncygpfX0pO25iLm1peGluKHtjb2xDb250YWluZXJFbHM6bnVsbCxmZ0NvbnRhaW5lckVsczpudWxsLGJnQ29udGFpbmVyRWxzOm51bGwsaGVscGVyQ29udGFpbmVyRWxzOm51bGwsaGlnaGxpZ2h0Q29udGFpbmVyRWxzOm51bGwsYnVzaW5lc3NDb250YWluZXJFbHM6bnVsbCxmZ1NlZ3M6bnVsbCxiZ1NlZ3M6bnVsbCxoZWxwZXJTZWdzOm51bGwsaGlnaGxpZ2h0U2VnczpudWxsLGJ1c2luZXNzU2VnczpudWxsLHJlbmRlckNvbnRlbnRTa2VsZXRvbjpmdW5jdGlvbigpe3ZhciBiLGMsZD0iIjtmb3IoYj0wO2I8dGhpcy5jb2xDbnQ7YisrKWQrPSc8dGQ+PGRpdiBjbGFzcz0iZmMtY29udGVudC1jb2wiPjxkaXYgY2xhc3M9ImZjLWV2ZW50LWNvbnRhaW5lciBmYy1oZWxwZXItY29udGFpbmVyIj48L2Rpdj48ZGl2IGNsYXNzPSJmYy1ldmVudC1jb250YWluZXIiPjwvZGl2PjxkaXYgY2xhc3M9ImZjLWhpZ2hsaWdodC1jb250YWluZXIiPjwvZGl2PjxkaXYgY2xhc3M9ImZjLWJnZXZlbnQtY29udGFpbmVyIj48L2Rpdj48ZGl2IGNsYXNzPSJmYy1idXNpbmVzcy1jb250YWluZXIiPjwvZGl2PjwvZGl2PjwvdGQ+JztjPWEoJzxkaXYgY2xhc3M9ImZjLWNvbnRlbnQtc2tlbGV0b24iPjx0YWJsZT48dHI+JytkKyI8L3RyPjwvdGFibGU+PC9kaXY+IiksdGhpcy5jb2xDb250YWluZXJFbHM9Yy5maW5kKCIuZmMtY29udGVudC1jb2wiKSx0aGlzLmhlbHBlckNvbnRhaW5lckVscz1jLmZpbmQoIi5mYy1oZWxwZXItY29udGFpbmVyIiksdGhpcy5mZ0NvbnRhaW5lckVscz1jLmZpbmQoIi5mYy1ldmVudC1jb250YWluZXI6bm90KC5mYy1oZWxwZXItY29udGFpbmVyKSIpLHRoaXMuYmdDb250YWluZXJFbHM9Yy5maW5kKCIuZmMtYmdldmVudC1jb250YWluZXIiKSx0aGlzLmhpZ2hsaWdodENvbnRhaW5lckVscz1jLmZpbmQoIi5mYy1oaWdobGlnaHQtY29udGFpbmVyIiksdGhpcy5idXNpbmVzc0NvbnRhaW5lckVscz1jLmZpbmQoIi5mYy1idXNpbmVzcy1jb250YWluZXIiKSx0aGlzLmJvb2tlbmRDZWxscyhjLmZpbmQoInRyIikpLHRoaXMuZWwuYXBwZW5kKGMpfSxyZW5kZXJGZ1NlZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9dGhpcy5yZW5kZXJGZ1NlZ3NJbnRvQ29udGFpbmVycyhhLHRoaXMuZmdDb250YWluZXJFbHMpLHRoaXMuZmdTZWdzPWEsYX0sdW5yZW5kZXJGZ1NlZ3M6ZnVuY3Rpb24oKXt0aGlzLnVucmVuZGVyTmFtZWRTZWdzKCJmZ1NlZ3MiKX0scmVuZGVySGVscGVyU2VnczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZTtmb3IoYT10aGlzLnJlbmRlckZnU2Vnc0ludG9Db250YWluZXJzKGEsdGhpcy5oZWxwZXJDb250YWluZXJFbHMpLGM9MDtjPGEubGVuZ3RoO2MrKylkPWFbY10sYiYmYi5jb2w9PT1kLmNvbCYmKGU9Yi5lbCxkLmVsLmNzcyh7bGVmdDplLmNzcygibGVmdCIpLHJpZ2h0OmUuY3NzKCJyaWdodCIpLCJtYXJnaW4tbGVmdCI6ZS5jc3MoIm1hcmdpbi1sZWZ0IiksIm1hcmdpbi1yaWdodCI6ZS5jc3MoIm1hcmdpbi1yaWdodCIpfSkpO3RoaXMuaGVscGVyU2Vncz1hfSx1bnJlbmRlckhlbHBlclNlZ3M6ZnVuY3Rpb24oKXt0aGlzLnVucmVuZGVyTmFtZWRTZWdzKCJoZWxwZXJTZWdzIil9LHJlbmRlckJnU2VnczpmdW5jdGlvbihhKXtyZXR1cm4gYT10aGlzLnJlbmRlckZpbGxTZWdFbHMoImJnRXZlbnQiLGEpLHRoaXMudXBkYXRlU2VnVmVydGljYWxzKGEpLHRoaXMuYXR0YWNoU2Vnc0J5Q29sKHRoaXMuZ3JvdXBTZWdzQnlDb2woYSksdGhpcy5iZ0NvbnRhaW5lckVscyksdGhpcy5iZ1NlZ3M9YSxhfSx1bnJlbmRlckJnU2VnczpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJOYW1lZFNlZ3MoImJnU2VncyIpfSxyZW5kZXJIaWdobGlnaHRTZWdzOmZ1bmN0aW9uKGEpe2E9dGhpcy5yZW5kZXJGaWxsU2VnRWxzKCJoaWdobGlnaHQiLGEpLHRoaXMudXBkYXRlU2VnVmVydGljYWxzKGEpLHRoaXMuYXR0YWNoU2Vnc0J5Q29sKHRoaXMuZ3JvdXBTZWdzQnlDb2woYSksdGhpcy5oaWdobGlnaHRDb250YWluZXJFbHMpLHRoaXMuaGlnaGxpZ2h0U2Vncz1hfSx1bnJlbmRlckhpZ2hsaWdodFNlZ3M6ZnVuY3Rpb24oKXt0aGlzLnVucmVuZGVyTmFtZWRTZWdzKCJoaWdobGlnaHRTZWdzIil9LHJlbmRlckJ1c2luZXNzU2VnczpmdW5jdGlvbihhKXthPXRoaXMucmVuZGVyRmlsbFNlZ0VscygiYnVzaW5lc3NIb3VycyIsYSksdGhpcy51cGRhdGVTZWdWZXJ0aWNhbHMoYSksdGhpcy5hdHRhY2hTZWdzQnlDb2wodGhpcy5ncm91cFNlZ3NCeUNvbChhKSx0aGlzLmJ1c2luZXNzQ29udGFpbmVyRWxzKSx0aGlzLmJ1c2luZXNzU2Vncz1hfSx1bnJlbmRlckJ1c2luZXNzU2VnczpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJOYW1lZFNlZ3MoImJ1c2luZXNzU2VncyIpfSxncm91cFNlZ3NCeUNvbDpmdW5jdGlvbihhKXt2YXIgYixjPVtdO2ZvcihiPTA7Yjx0aGlzLmNvbENudDtiKyspYy5wdXNoKFtdKTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWNbYVtiXS5jb2xdLnB1c2goYVtiXSk7cmV0dXJuIGN9LGF0dGFjaFNlZ3NCeUNvbDpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZTtmb3IoYz0wO2M8dGhpcy5jb2xDbnQ7YysrKWZvcihkPWFbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWIuZXEoYykuYXBwZW5kKGRbZV0uZWwpfSx1bnJlbmRlck5hbWVkU2VnczpmdW5jdGlvbihhKXt2YXIgYixjPXRoaXNbYV07aWYoYyl7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKyljW2JdLmVsLnJlbW92ZSgpO3RoaXNbYV09bnVsbH19LHJlbmRlckZnU2Vnc0ludG9Db250YWluZXJzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZDtmb3IoYT10aGlzLnJlbmRlckZnU2VnRWxzKGEpLGM9dGhpcy5ncm91cFNlZ3NCeUNvbChhKSxkPTA7ZDx0aGlzLmNvbENudDtkKyspdGhpcy51cGRhdGVGZ1NlZ0Nvb3JkcyhjW2RdKTtyZXR1cm4gdGhpcy5hdHRhY2hTZWdzQnlDb2woYyxiKSxhfSxmZ1NlZ0h0bWw6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzLnZpZXcsZz1hLmV2ZW50LGg9Zi5pc0V2ZW50RHJhZ2dhYmxlKGcpLGk9IWImJmEuaXNTdGFydCYmZi5pc0V2ZW50UmVzaXphYmxlRnJvbVN0YXJ0KGcpLGo9IWImJmEuaXNFbmQmJmYuaXNFdmVudFJlc2l6YWJsZUZyb21FbmQoZyksaz10aGlzLmdldFNlZ0NsYXNzZXMoYSxoLGl8fGopLGw9JCh0aGlzLmdldEV2ZW50U2tpbkNzcyhnKSk7cmV0dXJuIGsudW5zaGlmdCgiZmMtdGltZS1ncmlkLWV2ZW50IiwiZmMtdi1ldmVudCIpLGYuaXNNdWx0aURheUV2ZW50KGcpPyhhLmlzU3RhcnR8fGEuaXNFbmQpJiYoYz10aGlzLmdldEV2ZW50VGltZVRleHQoYSksZD10aGlzLmdldEV2ZW50VGltZVRleHQoYSwiTFQiKSxlPXRoaXMuZ2V0RXZlbnRUaW1lVGV4dChhLG51bGwsITEpKTooYz10aGlzLmdldEV2ZW50VGltZVRleHQoZyksZD10aGlzLmdldEV2ZW50VGltZVRleHQoZywiTFQiKSxlPXRoaXMuZ2V0RXZlbnRUaW1lVGV4dChnLG51bGwsITEpKSwnPGEgY2xhc3M9Iicray5qb2luKCIgIikrJyInKyhnLnVybD8nIGhyZWY9IicrWShnLnVybCkrJyInOiIiKSsobD8nIHN0eWxlPSInK2wrJyInOiIiKSsnPjxkaXYgY2xhc3M9ImZjLWNvbnRlbnQiPicrKGM/JzxkaXYgY2xhc3M9ImZjLXRpbWUiIGRhdGEtc3RhcnQ9IicrWShlKSsnIiBkYXRhLWZ1bGw9IicrWShkKSsnIj48c3Bhbj4nK1koYykrIjwvc3Bhbj48L2Rpdj4iOiIiKSsoZy50aXRsZT8nPGRpdiBjbGFzcz0iZmMtdGl0bGUiPicrWShnLnRpdGxlKSsiPC9kaXY+IjoiIikrJzwvZGl2PjxkaXYgY2xhc3M9ImZjLWJnIi8+Jysoaj8nPGRpdiBjbGFzcz0iZmMtcmVzaXplciBmYy1lbmQtcmVzaXplciIgLz4nOiIiKSsiPC9hPiJ9LHVwZGF0ZVNlZ1ZlcnRpY2FsczpmdW5jdGlvbihhKXt0aGlzLmNvbXB1dGVTZWdWZXJ0aWNhbHMoYSksdGhpcy5hc3NpZ25TZWdWZXJ0aWNhbHMoYSl9LGNvbXB1dGVTZWdWZXJ0aWNhbHM6ZnVuY3Rpb24oYSl7dmFyIGIsYztmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWM9YVtiXSxjLnRvcD10aGlzLmNvbXB1dGVEYXRlVG9wKGMuc3RhcnQsYy5zdGFydCksYy5ib3R0b209dGhpcy5jb21wdXRlRGF0ZVRvcChjLmVuZCxjLnN0YXJ0KX0sYXNzaWduU2VnVmVydGljYWxzOmZ1bmN0aW9uKGEpe3ZhciBiLGM7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKyljPWFbYl0sYy5lbC5jc3ModGhpcy5nZW5lcmF0ZVNlZ1ZlcnRpY2FsQ3NzKGMpKX0sZ2VuZXJhdGVTZWdWZXJ0aWNhbENzczpmdW5jdGlvbihhKXtyZXR1cm57dG9wOmEudG9wLGJvdHRvbTotYS5ib3R0b219fSx1cGRhdGVGZ1NlZ0Nvb3JkczpmdW5jdGlvbihhKXt0aGlzLmNvbXB1dGVTZWdWZXJ0aWNhbHMoYSksdGhpcy5jb21wdXRlRmdTZWdIb3Jpem9udGFscyhhKSx0aGlzLmFzc2lnblNlZ1ZlcnRpY2FscyhhKSx0aGlzLmFzc2lnbkZnU2VnSG9yaXpvbnRhbHMoYSl9LGNvbXB1dGVGZ1NlZ0hvcml6b250YWxzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZDtpZih0aGlzLnNvcnRFdmVudFNlZ3MoYSksYj1FYShhKSxGYShiKSxjPWJbMF0pe2ZvcihkPTA7ZDxjLmxlbmd0aDtkKyspR2EoY1tkXSk7Zm9yKGQ9MDtkPGMubGVuZ3RoO2QrKyl0aGlzLmNvbXB1dGVGZ1NlZ0ZvcndhcmRCYWNrKGNbZF0sMCwwKX19LGNvbXB1dGVGZ1NlZ0ZvcndhcmRCYWNrOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPWEuZm9yd2FyZFNlZ3M7aWYodm9pZCAwPT09YS5mb3J3YXJkQ29vcmQpZm9yKGUubGVuZ3RoPyh0aGlzLnNvcnRGb3J3YXJkU2VncyhlKSx0aGlzLmNvbXB1dGVGZ1NlZ0ZvcndhcmRCYWNrKGVbMF0sYisxLGMpLGEuZm9yd2FyZENvb3JkPWVbMF0uYmFja3dhcmRDb29yZCk6YS5mb3J3YXJkQ29vcmQ9MSxhLmJhY2t3YXJkQ29vcmQ9YS5mb3J3YXJkQ29vcmQtKGEuZm9yd2FyZENvb3JkLWMpLyhiKzEpLGQ9MDtkPGUubGVuZ3RoO2QrKyl0aGlzLmNvbXB1dGVGZ1NlZ0ZvcndhcmRCYWNrKGVbZF0sMCxhLmZvcndhcmRDb29yZCl9LHNvcnRGb3J3YXJkU2VnczpmdW5jdGlvbihhKXthLnNvcnQoY2EodGhpcywiY29tcGFyZUZvcndhcmRTZWdzIikpfSxjb21wYXJlRm9yd2FyZFNlZ3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5mb3J3YXJkUHJlc3N1cmUtYS5mb3J3YXJkUHJlc3N1cmV8fChhLmJhY2t3YXJkQ29vcmR8fDApLShiLmJhY2t3YXJkQ29vcmR8fDApfHx0aGlzLmNvbXBhcmVFdmVudFNlZ3MoYSxiKX0sYXNzaWduRmdTZWdIb3Jpem9udGFsczpmdW5jdGlvbihhKXt2YXIgYixjO2ZvcihiPTA7YjxhLmxlbmd0aDtiKyspYz1hW2JdLGMuZWwuY3NzKHRoaXMuZ2VuZXJhdGVGZ1NlZ0hvcml6b250YWxDc3MoYykpLGMuYm90dG9tLWMudG9wPDMwJiZjLmVsLmFkZENsYXNzKCJmYy1zaG9ydCIpfSxnZW5lcmF0ZUZnU2VnSG9yaXpvbnRhbENzczpmdW5jdGlvbihhKXt2YXIgYixjLGQ9dGhpcy52aWV3Lm9wdCgic2xvdEV2ZW50T3ZlcmxhcCIpLGU9YS5iYWNrd2FyZENvb3JkLGY9YS5mb3J3YXJkQ29vcmQsZz10aGlzLmdlbmVyYXRlU2VnVmVydGljYWxDc3MoYSk7cmV0dXJuIGQmJihmPU1hdGgubWluKDEsZSsyKihmLWUpKSksdGhpcy5pc1JUTD8oYj0xLWYsYz1lKTooYj1lLGM9MS1mKSxnLnpJbmRleD1hLmxldmVsKzEsZy5sZWZ0PTEwMCpiKyIlIixnLnJpZ2h0PTEwMCpjKyIlIixkJiZhLmZvcndhcmRQcmVzc3VyZSYmKGdbdGhpcy5pc1JUTD8ibWFyZ2luTGVmdCI6Im1hcmdpblJpZ2h0Il09MjApLGd9fSk7dmFyIG9iPVBhLlZpZXc9cmEuZXh0ZW5kKHt0eXBlOm51bGwsbmFtZTpudWxsLHRpdGxlOm51bGwsY2FsZW5kYXI6bnVsbCxvcHRpb25zOm51bGwsZWw6bnVsbCxkaXNwbGF5aW5nOm51bGwsaXNTa2VsZXRvblJlbmRlcmVkOiExLGlzRXZlbnRzUmVuZGVyZWQ6ITEsc3RhcnQ6bnVsbCxlbmQ6bnVsbCxpbnRlcnZhbFN0YXJ0Om51bGwsaW50ZXJ2YWxFbmQ6bnVsbCxpbnRlcnZhbER1cmF0aW9uOm51bGwsaW50ZXJ2YWxVbml0Om51bGwsaXNSVEw6ITEsaXNTZWxlY3RlZDohMSxldmVudE9yZGVyU3BlY3M6bnVsbCxzY3JvbGxlckVsOm51bGwsc2Nyb2xsVG9wOm51bGwsd2lkZ2V0SGVhZGVyQ2xhc3M6bnVsbCx3aWRnZXRDb250ZW50Q2xhc3M6bnVsbCxoaWdobGlnaHRTdGF0ZUNsYXNzOm51bGwsbmV4dERheVRocmVzaG9sZDpudWxsLGlzSGlkZGVuRGF5SGFzaDpudWxsLGRvY3VtZW50TW91c2Vkb3duUHJveHk6bnVsbCxub3dJbmRpY2F0b3JUaW1lb3V0SUQ6bnVsbCxub3dJbmRpY2F0b3JJbnRlcnZhbElEOm51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSxjLGQsZSl7dGhpcy5jYWxlbmRhcj1hLHRoaXMudHlwZT10aGlzLm5hbWU9Yyx0aGlzLm9wdGlvbnM9ZCx0aGlzLmludGVydmFsRHVyYXRpb249ZXx8Yi5kdXJhdGlvbigxLCJkYXkiKSx0aGlzLm5leHREYXlUaHJlc2hvbGQ9Yi5kdXJhdGlvbih0aGlzLm9wdCgibmV4dERheVRocmVzaG9sZCIpKSx0aGlzLmluaXRUaGVtaW5nUHJvcHMoKSx0aGlzLmluaXRIaWRkZW5EYXlzKCksdGhpcy5pc1JUTD10aGlzLm9wdCgiaXNSVEwiKSx0aGlzLmV2ZW50T3JkZXJTcGVjcz1BKHRoaXMub3B0KCJldmVudE9yZGVyIikpLHRoaXMuZG9jdW1lbnRNb3VzZWRvd25Qcm94eT1jYSh0aGlzLCJkb2N1bWVudE1vdXNlZG93biIpLHRoaXMuaW5pdGlhbGl6ZSgpfSxpbml0aWFsaXplOmZ1bmN0aW9uKCl7fSxvcHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub3B0aW9uc1thXX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY2FsZW5kYXI7cmV0dXJuIGMudHJpZ2dlci5hcHBseShjLFthLGJ8fHRoaXNdLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMiksW3RoaXNdKSl9LHNldERhdGU6ZnVuY3Rpb24oYSl7dGhpcy5zZXRSYW5nZSh0aGlzLmNvbXB1dGVSYW5nZShhKSl9LHNldFJhbmdlOmZ1bmN0aW9uKGIpe2EuZXh0ZW5kKHRoaXMsYiksdGhpcy51cGRhdGVUaXRsZSgpfSxjb21wdXRlUmFuZ2U6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPUkodGhpcy5pbnRlcnZhbER1cmF0aW9uKSxlPWEuY2xvbmUoKS5zdGFydE9mKGQpLGY9ZS5jbG9uZSgpLmFkZCh0aGlzLmludGVydmFsRHVyYXRpb24pO3JldHVybi95ZWFyfG1vbnRofHdlZWt8ZGF5Ly50ZXN0KGQpPyhlLnN0cmlwVGltZSgpLGYuc3RyaXBUaW1lKCkpOihlLmhhc1RpbWUoKXx8KGU9dGhpcy5jYWxlbmRhci50aW1lKDApKSxmLmhhc1RpbWUoKXx8KGY9dGhpcy5jYWxlbmRhci50aW1lKDApKSksYj1lLmNsb25lKCksYj10aGlzLnNraXBIaWRkZW5EYXlzKGIpLGM9Zi5jbG9uZSgpLGM9dGhpcy5za2lwSGlkZGVuRGF5cyhjLC0xLCEwKSx7aW50ZXJ2YWxVbml0OmQsaW50ZXJ2YWxTdGFydDplLGludGVydmFsRW5kOmYsc3RhcnQ6YixlbmQ6Y319LGNvbXB1dGVQcmV2RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5tYXNzYWdlQ3VycmVudERhdGUoYS5jbG9uZSgpLnN0YXJ0T2YodGhpcy5pbnRlcnZhbFVuaXQpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiksLTEpfSxjb21wdXRlTmV4dERhdGU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubWFzc2FnZUN1cnJlbnREYXRlKGEuY2xvbmUoKS5zdGFydE9mKHRoaXMuaW50ZXJ2YWxVbml0KS5hZGQodGhpcy5pbnRlcnZhbER1cmF0aW9uKSl9LG1hc3NhZ2VDdXJyZW50RGF0ZTpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmludGVydmFsRHVyYXRpb24uYXMoImRheXMiKTw9MSYmdGhpcy5pc0hpZGRlbkRheShhKSYmKGE9dGhpcy5za2lwSGlkZGVuRGF5cyhhLGIpLGEuc3RhcnRPZigiZGF5IikpLGF9LHVwZGF0ZVRpdGxlOmZ1bmN0aW9uKCl7dGhpcy50aXRsZT10aGlzLmNvbXB1dGVUaXRsZSgpfSxjb21wdXRlVGl0bGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mb3JtYXRSYW5nZSh7c3RhcnQ6dGhpcy5jYWxlbmRhci5hcHBseVRpbWV6b25lKHRoaXMuaW50ZXJ2YWxTdGFydCksZW5kOnRoaXMuY2FsZW5kYXIuYXBwbHlUaW1lem9uZSh0aGlzLmludGVydmFsRW5kKX0sdGhpcy5vcHQoInRpdGxlRm9ybWF0Iil8fHRoaXMuY29tcHV0ZVRpdGxlRm9ybWF0KCksdGhpcy5vcHQoInRpdGxlUmFuZ2VTZXBhcmF0b3IiKSl9LGNvbXB1dGVUaXRsZUZvcm1hdDpmdW5jdGlvbigpe3JldHVybiJ5ZWFyIj09dGhpcy5pbnRlcnZhbFVuaXQ/IllZWVkiOiJtb250aCI9PXRoaXMuaW50ZXJ2YWxVbml0P3RoaXMub3B0KCJtb250aFllYXJGb3JtYXQiKTp0aGlzLmludGVydmFsRHVyYXRpb24uYXMoImRheXMiKT4xPyJsbCI6IkxMIn0sZm9ybWF0UmFuZ2U6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZW5kO3JldHVybiBkLmhhc1RpbWUoKXx8KGQ9ZC5jbG9uZSgpLnN1YnRyYWN0KDEpKSxtYShhLnN0YXJ0LGQsYixjLHRoaXMub3B0KCJpc1JUTCIpKX0sc2V0RWxlbWVudDpmdW5jdGlvbihhKXt0aGlzLmVsPWEsdGhpcy5iaW5kR2xvYmFsSGFuZGxlcnMoKX0scmVtb3ZlRWxlbWVudDpmdW5jdGlvbigpe3RoaXMuY2xlYXIoKSx0aGlzLmlzU2tlbGV0b25SZW5kZXJlZCYmKHRoaXMudW5yZW5kZXJTa2VsZXRvbigpLHRoaXMuaXNTa2VsZXRvblJlbmRlcmVkPSExKSx0aGlzLnVuYmluZEdsb2JhbEhhbmRsZXJzKCksdGhpcy5lbC5yZW1vdmUoKX0sZGlzcGxheTpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGQ9bnVsbDtyZXR1cm4gdGhpcy5kaXNwbGF5aW5nJiYoZD10aGlzLnF1ZXJ5U2Nyb2xsKCkpLHRoaXMuY2FsZW5kYXIuZnJlZXplQ29udGVudEhlaWdodCgpLHRoaXMuY2xlYXIoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGMuZGlzcGxheWluZz1hLndoZW4oYy5kaXNwbGF5VmlldyhiKSkudGhlbihmdW5jdGlvbigpe2MuZm9yY2VTY3JvbGwoYy5jb21wdXRlSW5pdGlhbFNjcm9sbChkKSksYy5jYWxlbmRhci51bmZyZWV6ZUNvbnRlbnRIZWlnaHQoKSxjLnRyaWdnZXJSZW5kZXIoKX0pfSl9LGNsZWFyOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPXRoaXMuZGlzcGxheWluZztyZXR1cm4gYz9jLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gYi5kaXNwbGF5aW5nPW51bGwsYi5jbGVhckV2ZW50cygpLGIuY2xlYXJWaWV3KCl9KTphLndoZW4oKX0scmVkaXNwbGF5OmZ1bmN0aW9uKCl7aWYodGhpcy5pc1NrZWxldG9uUmVuZGVyZWQpe3ZhciBhPXRoaXMuaXNFdmVudHNSZW5kZXJlZDt0aGlzLmNsZWFyRXZlbnRzKCksdGhpcy5jbGVhclZpZXcoKSx0aGlzLmRpc3BsYXlWaWV3KCksYSYmdGhpcy5kaXNwbGF5RXZlbnRzKHRoaXMuY2FsZW5kYXIuZ2V0RXZlbnRDYWNoZSgpKX19LGRpc3BsYXlWaWV3OmZ1bmN0aW9uKGEpe3RoaXMuaXNTa2VsZXRvblJlbmRlcmVkfHwodGhpcy5yZW5kZXJTa2VsZXRvbigpLHRoaXMuaXNTa2VsZXRvblJlbmRlcmVkPSEwKSxhJiZ0aGlzLnNldERhdGUoYSksdGhpcy5yZW5kZXImJnRoaXMucmVuZGVyKCksdGhpcy5yZW5kZXJEYXRlcygpLHRoaXMudXBkYXRlU2l6ZSgpLHRoaXMucmVuZGVyQnVzaW5lc3NIb3VycygpLHRoaXMub3B0KCJub3dJbmRpY2F0b3IiKSYmdGhpcy5zdGFydE5vd0luZGljYXRvcigpfSxjbGVhclZpZXc6ZnVuY3Rpb24oKXt0aGlzLnVuc2VsZWN0KCksdGhpcy5zdG9wTm93SW5kaWNhdG9yKCksdGhpcy50cmlnZ2VyVW5yZW5kZXIoKSx0aGlzLnVucmVuZGVyQnVzaW5lc3NIb3VycygpLHRoaXMudW5yZW5kZXJEYXRlcygpLHRoaXMuZGVzdHJveSYmdGhpcy5kZXN0cm95KCl9LHJlbmRlclNrZWxldG9uOmZ1bmN0aW9uKCl7fSx1bnJlbmRlclNrZWxldG9uOmZ1bmN0aW9uKCl7fSxyZW5kZXJEYXRlczpmdW5jdGlvbigpe30sdW5yZW5kZXJEYXRlczpmdW5jdGlvbigpe30sdHJpZ2dlclJlbmRlcjpmdW5jdGlvbigpe3RoaXMudHJpZ2dlcigidmlld1JlbmRlciIsdGhpcyx0aGlzLHRoaXMuZWwpfSx0cmlnZ2VyVW5yZW5kZXI6ZnVuY3Rpb24oKXt0aGlzLnRyaWdnZXIoInZpZXdEZXN0cm95Iix0aGlzLHRoaXMsdGhpcy5lbCl9LGJpbmRHbG9iYWxIYW5kbGVyczpmdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9uKCJtb3VzZWRvd24iLHRoaXMuZG9jdW1lbnRNb3VzZWRvd25Qcm94eSl9LHVuYmluZEdsb2JhbEhhbmRsZXJzOmZ1bmN0aW9uKCl7YShkb2N1bWVudCkub2ZmKCJtb3VzZWRvd24iLHRoaXMuZG9jdW1lbnRNb3VzZWRvd25Qcm94eSl9LGluaXRUaGVtaW5nUHJvcHM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdCgidGhlbWUiKT8idWkiOiJmYyI7dGhpcy53aWRnZXRIZWFkZXJDbGFzcz1hKyItd2lkZ2V0LWhlYWRlciIsdGhpcy53aWRnZXRDb250ZW50Q2xhc3M9YSsiLXdpZGdldC1jb250ZW50Iix0aGlzLmhpZ2hsaWdodFN0YXRlQ2xhc3M9YSsiLXN0YXRlLWhpZ2hsaWdodCJ9LHJlbmRlckJ1c2luZXNzSG91cnM6ZnVuY3Rpb24oKXt9LHVucmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe30sc3RhcnROb3dJbmRpY2F0b3I6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Zi51bnJlbmRlck5vd0luZGljYXRvcigpLGYucmVuZGVyTm93SW5kaWNhdG9yKGMuY2xvbmUoKS5hZGQobmV3IERhdGUtZCkpfXZhciBjLGQsZSxmPXRoaXMsZz10aGlzLmdldE5vd0luZGljYXRvclVuaXQoKTtnJiYoYz10aGlzLmNhbGVuZGFyLmdldE5vdygpLGQ9K25ldyBEYXRlLHRoaXMucmVuZGVyTm93SW5kaWNhdG9yKGMpLGU9Yy5jbG9uZSgpLnN0YXJ0T2YoZykuYWRkKDEsZyktYyx0aGlzLm5vd0luZGljYXRvclRpbWVvdXRJRD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5ub3dJbmRpY2F0b3JUaW1lb3V0SUQ9bnVsbCxhKCksZT0rYi5kdXJhdGlvbigxLGcpLGU9TWF0aC5tYXgoMTAwLGUpLHRoaXMubm93SW5kaWNhdG9ySW50ZXJ2YWxJRD1zZXRJbnRlcnZhbChhLGUpfSxlKSl9LHN0b3BOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oKXt2YXIgYT0hMTt0aGlzLm5vd0luZGljYXRvclRpbWVvdXRJRCYmKGNsZWFyVGltZW91dCh0aGlzLm5vd0luZGljYXRvclRpbWVvdXRJRCksYT0hMCksdGhpcy5ub3dJbmRpY2F0b3JJbnRlcnZhbElEJiYoY2xlYXJUaW1lb3V0KHRoaXMubm93SW5kaWNhdG9ySW50ZXJ2YWxJRCksYT0hMCksYSYmdGhpcy51bnJlbmRlck5vd0luZGljYXRvcigpfSxnZXROb3dJbmRpY2F0b3JVbml0OmZ1bmN0aW9uKCl7fSxyZW5kZXJOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oYSl7fSx1bnJlbmRlck5vd0luZGljYXRvcjpmdW5jdGlvbigpe30sdXBkYXRlU2l6ZTpmdW5jdGlvbihhKXt2YXIgYjthJiYoYj10aGlzLnF1ZXJ5U2Nyb2xsKCkpLHRoaXMudXBkYXRlSGVpZ2h0KGEpLHRoaXMudXBkYXRlV2lkdGgoYSksYSYmdGhpcy5zZXRTY3JvbGwoYil9LHVwZGF0ZVdpZHRoOmZ1bmN0aW9uKGEpe30sdXBkYXRlSGVpZ2h0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY2FsZW5kYXI7dGhpcy5zZXRIZWlnaHQoYi5nZXRTdWdnZXN0ZWRWaWV3SGVpZ2h0KCksYi5pc0hlaWdodEF1dG8oKSl9LHNldEhlaWdodDpmdW5jdGlvbihhLGIpe30sY29tcHV0ZVNjcm9sbGVySGVpZ2h0OmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD10aGlzLnNjcm9sbGVyRWw7cmV0dXJuIGI9dGhpcy5lbC5hZGQoZCksYi5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsbGVmdDotMX0pLGM9dGhpcy5lbC5vdXRlckhlaWdodCgpLWQuaGVpZ2h0KCksYi5jc3Moe3Bvc2l0aW9uOiIiLGxlZnQ6IiJ9KSxhLWN9LGNvbXB1dGVJbml0aWFsU2Nyb2xsOmZ1bmN0aW9uKGEpe3JldHVybiAwfSxxdWVyeVNjcm9sbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNjcm9sbGVyRWw/dGhpcy5zY3JvbGxlckVsLnNjcm9sbFRvcCgpOnZvaWQgMH0sc2V0U2Nyb2xsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNjcm9sbGVyRWw/dGhpcy5zY3JvbGxlckVsLnNjcm9sbFRvcChhKTp2b2lkIDB9LGZvcmNlU2Nyb2xsOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dGhpcy5zZXRTY3JvbGwoYSksc2V0VGltZW91dChmdW5jdGlvbigpe2Iuc2V0U2Nyb2xsKGEpfSwwKX0sZGlzcGxheUV2ZW50czpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnF1ZXJ5U2Nyb2xsKCk7dGhpcy5jbGVhckV2ZW50cygpLHRoaXMucmVuZGVyRXZlbnRzKGEpLHRoaXMuaXNFdmVudHNSZW5kZXJlZD0hMCx0aGlzLnNldFNjcm9sbChiKSx0aGlzLnRyaWdnZXJFdmVudFJlbmRlcigpfSxjbGVhckV2ZW50czpmdW5jdGlvbigpe3ZhciBhO3RoaXMuaXNFdmVudHNSZW5kZXJlZCYmKGE9dGhpcy5xdWVyeVNjcm9sbCgpLHRoaXMudHJpZ2dlckV2ZW50VW5yZW5kZXIoKSx0aGlzLmRlc3Ryb3lFdmVudHMmJnRoaXMuZGVzdHJveUV2ZW50cygpLHRoaXMudW5yZW5kZXJFdmVudHMoKSx0aGlzLnNldFNjcm9sbChhKSx0aGlzLmlzRXZlbnRzUmVuZGVyZWQ9ITEpfSxyZW5kZXJFdmVudHM6ZnVuY3Rpb24oYSl7fSx1bnJlbmRlckV2ZW50czpmdW5jdGlvbigpe30sdHJpZ2dlckV2ZW50UmVuZGVyOmZ1bmN0aW9uKCl7dGhpcy5yZW5kZXJlZEV2ZW50U2VnRWFjaChmdW5jdGlvbihhKXt0aGlzLnRyaWdnZXIoImV2ZW50QWZ0ZXJSZW5kZXIiLGEuZXZlbnQsYS5ldmVudCxhLmVsKX0pLHRoaXMudHJpZ2dlcigiZXZlbnRBZnRlckFsbFJlbmRlciIpfSx0cmlnZ2VyRXZlbnRVbnJlbmRlcjpmdW5jdGlvbigpe3RoaXMucmVuZGVyZWRFdmVudFNlZ0VhY2goZnVuY3Rpb24oYSl7dGhpcy50cmlnZ2VyKCJldmVudERlc3Ryb3kiLGEuZXZlbnQsYS5ldmVudCxhLmVsKX0pfSxyZXNvbHZlRXZlbnRFbDpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMudHJpZ2dlcigiZXZlbnRSZW5kZXIiLGIsYixjKTtyZXR1cm4gZD09PSExP2M9bnVsbDpkJiZkIT09ITAmJihjPWEoZCkpLGN9LHNob3dFdmVudDpmdW5jdGlvbihhKXt0aGlzLnJlbmRlcmVkRXZlbnRTZWdFYWNoKGZ1bmN0aW9uKGEpe2EuZWwuY3NzKCJ2aXNpYmlsaXR5IiwiIil9LGEpfSxoaWRlRXZlbnQ6ZnVuY3Rpb24oYSl7dGhpcy5yZW5kZXJlZEV2ZW50U2VnRWFjaChmdW5jdGlvbihhKXthLmVsLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpfSxhKX0scmVuZGVyZWRFdmVudFNlZ0VhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPXRoaXMuZ2V0RXZlbnRTZWdzKCk7Zm9yKGM9MDtjPGQubGVuZ3RoO2MrKyliJiZkW2NdLmV2ZW50Ll9pZCE9PWIuX2lkfHxkW2NdLmVsJiZhLmNhbGwodGhpcyxkW2NdKX0sZ2V0RXZlbnRTZWdzOmZ1bmN0aW9uKCl7cmV0dXJuW119LGlzRXZlbnREcmFnZ2FibGU6ZnVuY3Rpb24oYSl7dmFyIGI9YS5zb3VyY2V8fHt9O3JldHVybiBYKGEuc3RhcnRFZGl0YWJsZSxiLnN0YXJ0RWRpdGFibGUsdGhpcy5vcHQoImV2ZW50U3RhcnRFZGl0YWJsZSIpLGEuZWRpdGFibGUsYi5lZGl0YWJsZSx0aGlzLm9wdCgiZWRpdGFibGUiKSl9LHJlcG9ydEV2ZW50RHJvcDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPXRoaXMuY2FsZW5kYXIsZz1mLm11dGF0ZUV2ZW50KGEsYixjKSxoPWZ1bmN0aW9uKCl7Zy51bmRvKCksZi5yZXBvcnRFdmVudENoYW5nZSgpfTt0aGlzLnRyaWdnZXJFdmVudERyb3AoYSxnLmRhdGVEZWx0YSxoLGQsZSksZi5yZXBvcnRFdmVudENoYW5nZSgpfSx0cmlnZ2VyRXZlbnREcm9wOmZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50cmlnZ2VyKCJldmVudERyb3AiLGRbMF0sYSxiLGMsZSx7fSl9LHJlcG9ydEV4dGVybmFsRHJvcDpmdW5jdGlvbihiLGMsZCxlLGYpe3ZhciBnLGgsaT1iLmV2ZW50UHJvcHM7aSYmKGc9YS5leHRlbmQoe30saSxjKSxoPXRoaXMuY2FsZW5kYXIucmVuZGVyRXZlbnQoZyxiLnN0aWNrKVswXSksdGhpcy50cmlnZ2VyRXh0ZXJuYWxEcm9wKGgsYyxkLGUsZil9LHRyaWdnZXJFeHRlcm5hbERyb3A6ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLnRyaWdnZXIoImRyb3AiLGNbMF0sYi5zdGFydCxkLGUpLGEmJnRoaXMudHJpZ2dlcigiZXZlbnRSZWNlaXZlIixudWxsLGEpfSxyZW5kZXJEcmFnOmZ1bmN0aW9uKGEsYil7fSx1bnJlbmRlckRyYWc6ZnVuY3Rpb24oKXt9LGlzRXZlbnRSZXNpemFibGVGcm9tU3RhcnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub3B0KCJldmVudFJlc2l6YWJsZUZyb21TdGFydCIpJiZ0aGlzLmlzRXZlbnRSZXNpemFibGUoYSl9LGlzRXZlbnRSZXNpemFibGVGcm9tRW5kOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlzRXZlbnRSZXNpemFibGUoYSl9LGlzRXZlbnRSZXNpemFibGU6ZnVuY3Rpb24oYSl7dmFyIGI9YS5zb3VyY2V8fHt9O3JldHVybiBYKGEuZHVyYXRpb25FZGl0YWJsZSxiLmR1cmF0aW9uRWRpdGFibGUsdGhpcy5vcHQoImV2ZW50RHVyYXRpb25FZGl0YWJsZSIpLGEuZWRpdGFibGUsYi5lZGl0YWJsZSx0aGlzLm9wdCgiZWRpdGFibGUiKSl9LHJlcG9ydEV2ZW50UmVzaXplOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9dGhpcy5jYWxlbmRhcixnPWYubXV0YXRlRXZlbnQoYSxiLGMpLGg9ZnVuY3Rpb24oKXtnLnVuZG8oKSxmLnJlcG9ydEV2ZW50Q2hhbmdlKCl9O3RoaXMudHJpZ2dlckV2ZW50UmVzaXplKGEsZy5kdXJhdGlvbkRlbHRhLGgsZCxlKSxmLnJlcG9ydEV2ZW50Q2hhbmdlKCl9LHRyaWdnZXJFdmVudFJlc2l6ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudHJpZ2dlcigiZXZlbnRSZXNpemUiLGRbMF0sYSxiLGMsZSx7fSl9LHNlbGVjdDpmdW5jdGlvbihhLGIpe3RoaXMudW5zZWxlY3QoYiksdGhpcy5yZW5kZXJTZWxlY3Rpb24oYSksdGhpcy5yZXBvcnRTZWxlY3Rpb24oYSxiKX0scmVuZGVyU2VsZWN0aW9uOmZ1bmN0aW9uKGEpe30scmVwb3J0U2VsZWN0aW9uOmZ1bmN0aW9uKGEsYil7dGhpcy5pc1NlbGVjdGVkPSEwLHRoaXMudHJpZ2dlclNlbGVjdChhLGIpfSx0cmlnZ2VyU2VsZWN0OmZ1bmN0aW9uKGEsYil7dGhpcy50cmlnZ2VyKCJzZWxlY3QiLG51bGwsdGhpcy5jYWxlbmRhci5hcHBseVRpbWV6b25lKGEuc3RhcnQpLHRoaXMuY2FsZW5kYXIuYXBwbHlUaW1lem9uZShhLmVuZCksYil9LHVuc2VsZWN0OmZ1bmN0aW9uKGEpe3RoaXMuaXNTZWxlY3RlZCYmKHRoaXMuaXNTZWxlY3RlZD0hMSx0aGlzLmRlc3Ryb3lTZWxlY3Rpb24mJnRoaXMuZGVzdHJveVNlbGVjdGlvbigpLHRoaXMudW5yZW5kZXJTZWxlY3Rpb24oKSx0aGlzLnRyaWdnZXIoInVuc2VsZWN0IixudWxsLGEpKX0sdW5yZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oKXt9LGRvY3VtZW50TW91c2Vkb3duOmZ1bmN0aW9uKGIpe3ZhciBjO3RoaXMuaXNTZWxlY3RlZCYmdGhpcy5vcHQoInVuc2VsZWN0QXV0byIpJiZ2KGIpJiYoYz10aGlzLm9wdCgidW5zZWxlY3RDYW5jZWwiKSxjJiZhKGIudGFyZ2V0KS5jbG9zZXN0KGMpLmxlbmd0aHx8dGhpcy51bnNlbGVjdChiKSl9LHRyaWdnZXJEYXlDbGljazpmdW5jdGlvbihhLGIsYyl7dGhpcy50cmlnZ2VyKCJkYXlDbGljayIsYix0aGlzLmNhbGVuZGFyLmFwcGx5VGltZXpvbmUoYS5zdGFydCksYyl9LGluaXRIaWRkZW5EYXlzOmZ1bmN0aW9uKCl7dmFyIGIsYz10aGlzLm9wdCgiaGlkZGVuRGF5cyIpfHxbXSxkPVtdLGU9MDtmb3IodGhpcy5vcHQoIndlZWtlbmRzIik9PT0hMSYmYy5wdXNoKDAsNiksYj0wOzc+YjtiKyspKGRbYl09LTEhPT1hLmluQXJyYXkoYixjKSl8fGUrKztpZighZSl0aHJvdyJpbnZhbGlkIGhpZGRlbkRheXMiO3RoaXMuaXNIaWRkZW5EYXlIYXNoPWR9LGlzSGlkZGVuRGF5OmZ1bmN0aW9uKGEpe3JldHVybiBiLmlzTW9tZW50KGEpJiYoYT1hLmRheSgpKSx0aGlzLmlzSGlkZGVuRGF5SGFzaFthXX0sc2tpcEhpZGRlbkRheXM6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuY2xvbmUoKTtmb3IoYj1ifHwxO3RoaXMuaXNIaWRkZW5EYXlIYXNoWyhkLmRheSgpKyhjP2I6MCkrNyklN107KWQuYWRkKGIsImRheXMiKTtyZXR1cm4gZH0sY29tcHV0ZURheVJhbmdlOmZ1bmN0aW9uKGEpe3ZhciBiLGM9YS5zdGFydC5jbG9uZSgpLnN0cmlwVGltZSgpLGQ9YS5lbmQsZT1udWxsO3JldHVybiBkJiYoZT1kLmNsb25lKCkuc3RyaXBUaW1lKCksYj0rZC50aW1lKCksYiYmYj49dGhpcy5uZXh0RGF5VGhyZXNob2xkJiZlLmFkZCgxLCJkYXlzIikpLCghZHx8Yz49ZSkmJihlPWMuY2xvbmUoKS5hZGQoMSwiZGF5cyIpKSx7c3RhcnQ6YyxlbmQ6ZX19LGlzTXVsdGlEYXlFdmVudDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbXB1dGVEYXlSYW5nZShhKTtyZXR1cm4gYi5lbmQuZGlmZihiLnN0YXJ0LCJkYXlzIik+MX19KSxwYj1QYS5DYWxlbmRhcj1yYS5leHRlbmQoe2RpckRlZmF1bHRzOm51bGwsbGFuZ0RlZmF1bHRzOm51bGwsb3ZlcnJpZGVzOm51bGwsb3B0aW9uczpudWxsLHZpZXdTcGVjQ2FjaGU6bnVsbCx2aWV3Om51bGwsaGVhZGVyOm51bGwsbG9hZGluZ0xldmVsOjAsY29uc3RydWN0b3I6SmEsaW5pdGlhbGl6ZTpmdW5jdGlvbigpe30saW5pdE9wdGlvbnM6ZnVuY3Rpb24oYSl7dmFyIGIsZSxmLGc7YT1kKGEpLGI9YS5sYW5nLGU9cWJbYl0sZXx8KGI9cGIuZGVmYXVsdHMubGFuZyxlPXFiW2JdfHx7fSksZj1YKGEuaXNSVEwsZS5pc1JUTCxwYi5kZWZhdWx0cy5pc1JUTCksZz1mP3BiLnJ0bERlZmF1bHRzOnt9LHRoaXMuZGlyRGVmYXVsdHM9Zyx0aGlzLmxhbmdEZWZhdWx0cz1lLHRoaXMub3ZlcnJpZGVzPWEsdGhpcy5vcHRpb25zPWMoW3BiLmRlZmF1bHRzLGcsZSxhXSksS2EodGhpcy5vcHRpb25zKSx0aGlzLnZpZXdTcGVjQ2FjaGU9e319LGdldFZpZXdTcGVjOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlld1NwZWNDYWNoZTtyZXR1cm4gYlthXXx8KGJbYV09dGhpcy5idWlsZFZpZXdTcGVjKGEpKX0sZ2V0VW5pdFZpZXdTcGVjOmZ1bmN0aW9uKGIpe3ZhciBjLGQsZTtpZigtMSE9YS5pbkFycmF5KGIsVWEpKWZvcihjPXRoaXMuaGVhZGVyLmdldFZpZXdzV2l0aEJ1dHRvbnMoKSxhLmVhY2goUGEudmlld3MsZnVuY3Rpb24oYSl7Yy5wdXNoKGEpfSksZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGU9dGhpcy5nZXRWaWV3U3BlYyhjW2RdKSxlJiZlLnNpbmdsZVVuaXQ9PWIpcmV0dXJuIGV9LGJ1aWxkVmlld1NwZWM6ZnVuY3Rpb24oYSl7Zm9yKHZhciBkLGUsZixnLGg9dGhpcy5vdmVycmlkZXMudmlld3N8fHt9LGk9W10saj1bXSxrPVtdLGw9YTtsOylkPVFhW2xdLGU9aFtsXSxsPW51bGwsImZ1bmN0aW9uIj09dHlwZW9mIGQmJihkPXsiY2xhc3MiOmR9KSxkJiYoaS51bnNoaWZ0KGQpLGoudW5zaGlmdChkLmRlZmF1bHRzfHx7fSksZj1mfHxkLmR1cmF0aW9uLGw9bHx8ZC50eXBlKSxlJiYoay51bnNoaWZ0KGUpLGY9Znx8ZS5kdXJhdGlvbixsPWx8fGUudHlwZSk7cmV0dXJuIGQ9UShpKSxkLnR5cGU9YSxkWyJjbGFzcyJdPyhmJiYoZj1iLmR1cmF0aW9uKGYpLGYudmFsdWVPZigpJiYoZC5kdXJhdGlvbj1mLGc9SShmKSwxPT09Zi5hcyhnKSYmKGQuc2luZ2xlVW5pdD1nLGsudW5zaGlmdChoW2ddfHx7fSkpKSksZC5kZWZhdWx0cz1jKGopLGQub3ZlcnJpZGVzPWMoayksdGhpcy5idWlsZFZpZXdTcGVjT3B0aW9ucyhkKSx0aGlzLmJ1aWxkVmlld1NwZWNCdXR0b25UZXh0KGQsYSksZCk6ITF9LGJ1aWxkVmlld1NwZWNPcHRpb25zOmZ1bmN0aW9uKGEpe2Eub3B0aW9ucz1jKFtwYi5kZWZhdWx0cyxhLmRlZmF1bHRzLHRoaXMuZGlyRGVmYXVsdHMsdGhpcy5sYW5nRGVmYXVsdHMsdGhpcy5vdmVycmlkZXMsYS5vdmVycmlkZXNdKSxLYShhLm9wdGlvbnMpfSxidWlsZFZpZXdTcGVjQnV0dG9uVGV4dDpmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYyl7dmFyIGQ9Yy5idXR0b25UZXh0fHx7fTtyZXR1cm4gZFtiXXx8KGEuc2luZ2xlVW5pdD9kW2Euc2luZ2xlVW5pdF06bnVsbCl9YS5idXR0b25UZXh0T3ZlcnJpZGU9Yyh0aGlzLm92ZXJyaWRlcyl8fGEub3ZlcnJpZGVzLmJ1dHRvblRleHQsYS5idXR0b25UZXh0RGVmYXVsdD1jKHRoaXMubGFuZ0RlZmF1bHRzKXx8Yyh0aGlzLmRpckRlZmF1bHRzKXx8YS5kZWZhdWx0cy5idXR0b25UZXh0fHxjKHBiLmRlZmF1bHRzKXx8KGEuZHVyYXRpb24/dGhpcy5odW1hbml6ZUR1cmF0aW9uKGEuZHVyYXRpb24pOm51bGwpfHxifSxpbnN0YW50aWF0ZVZpZXc6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXRWaWV3U3BlYyhhKTtyZXR1cm4gbmV3IGJbImNsYXNzIl0odGhpcyxhLGIub3B0aW9ucyxiLmR1cmF0aW9uKX0saXNWYWxpZFZpZXdUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiBCb29sZWFuKHRoaXMuZ2V0Vmlld1NwZWMoYSkpfSxwdXNoTG9hZGluZzpmdW5jdGlvbigpe3RoaXMubG9hZGluZ0xldmVsKyt8fHRoaXMudHJpZ2dlcigibG9hZGluZyIsbnVsbCwhMCx0aGlzLnZpZXcpfSxwb3BMb2FkaW5nOmZ1bmN0aW9uKCl7LS10aGlzLmxvYWRpbmdMZXZlbHx8dGhpcy50cmlnZ2VyKCJsb2FkaW5nIixudWxsLCExLHRoaXMudmlldyl9LGJ1aWxkU2VsZWN0U3BhbjpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9dGhpcy5tb21lbnQoYSkuc3RyaXBab25lKCk7cmV0dXJuIGM9Yj90aGlzLm1vbWVudChiKS5zdHJpcFpvbmUoKTpkLmhhc1RpbWUoKT9kLmNsb25lKCkuYWRkKHRoaXMuZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbik6ZC5jbG9uZSgpLmFkZCh0aGlzLmRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uKSx7c3RhcnQ6ZCxlbmQ6Y319fSk7cGIubWl4aW4oZWIpLHBiLmRlZmF1bHRzPXt0aXRsZVJhbmdlU2VwYXJhdG9yOiIg4oCUICIsbW9udGhZZWFyRm9ybWF0OiJNTU1NIFlZWVkiLGRlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb246IjAyOjAwOjAwIixkZWZhdWx0QWxsRGF5RXZlbnREdXJhdGlvbjp7ZGF5czoxfSxmb3JjZUV2ZW50RHVyYXRpb246ITEsbmV4dERheVRocmVzaG9sZDoiMDk6MDA6MDAiLGRlZmF1bHRWaWV3OiJtb250aCIsYXNwZWN0UmF0aW86MS4zNSxoZWFkZXI6e2xlZnQ6InRpdGxlIixjZW50ZXI6IiIscmlnaHQ6InRvZGF5IHByZXYsbmV4dCJ9LHdlZWtlbmRzOiEwLHdlZWtOdW1iZXJzOiExLHdlZWtOdW1iZXJUaXRsZToiVyIsd2Vla051bWJlckNhbGN1bGF0aW9uOiJsb2NhbCIsc2Nyb2xsVGltZToiMDY6MDA6MDAiLGxhenlGZXRjaGluZzohMCxzdGFydFBhcmFtOiJzdGFydCIsZW5kUGFyYW06ImVuZCIsdGltZXpvbmVQYXJhbToidGltZXpvbmUiLHRpbWV6b25lOiExLGlzUlRMOiExLGJ1dHRvblRleHQ6e3ByZXY6InByZXYiLG5leHQ6Im5leHQiLHByZXZZZWFyOiJwcmV2IHllYXIiLG5leHRZZWFyOiJuZXh0IHllYXIiLHllYXI6InllYXIiLHRvZGF5OiJ0b2RheSIsbW9udGg6Im1vbnRoIix3ZWVrOiJ3ZWVrIixkYXk6ImRheSJ9LGJ1dHRvbkljb25zOntwcmV2OiJsZWZ0LXNpbmdsZS1hcnJvdyIsbmV4dDoicmlnaHQtc2luZ2xlLWFycm93IixwcmV2WWVhcjoibGVmdC1kb3VibGUtYXJyb3ciLG5leHRZZWFyOiJyaWdodC1kb3VibGUtYXJyb3cifSx0aGVtZTohMSx0aGVtZUJ1dHRvbkljb25zOntwcmV2OiJjaXJjbGUtdHJpYW5nbGUtdyIsbmV4dDoiY2lyY2xlLXRyaWFuZ2xlLWUiLHByZXZZZWFyOiJzZWVrLXByZXYiLG5leHRZZWFyOiJzZWVrLW5leHQifSxkcmFnT3BhY2l0eTouNzUsZHJhZ1JldmVydER1cmF0aW9uOjUwMCxkcmFnU2Nyb2xsOiEwLHVuc2VsZWN0QXV0bzohMCxkcm9wQWNjZXB0OiIqIixldmVudE9yZGVyOiJ0aXRsZSIsZXZlbnRMaW1pdDohMSxldmVudExpbWl0VGV4dDoibW9yZSIsZXZlbnRMaW1pdENsaWNrOiJwb3BvdmVyIixkYXlQb3BvdmVyRm9ybWF0OiJMTCIsaGFuZGxlV2luZG93UmVzaXplOiEwLHdpbmRvd1Jlc2l6ZURlbGF5OjIwMH0scGIuZW5nbGlzaERlZmF1bHRzPXtkYXlQb3BvdmVyRm9ybWF0OiJkZGRkLCBNTU1NIEQifSxwYi5ydGxEZWZhdWx0cz17aGVhZGVyOntsZWZ0OiJuZXh0LHByZXYgdG9kYXkiLGNlbnRlcjoiIixyaWdodDoidGl0bGUifSxidXR0b25JY29uczp7cHJldjoicmlnaHQtc2luZ2xlLWFycm93IixuZXh0OiJsZWZ0LXNpbmdsZS1hcnJvdyIscHJldlllYXI6InJpZ2h0LWRvdWJsZS1hcnJvdyIsbmV4dFllYXI6ImxlZnQtZG91YmxlLWFycm93In0sdGhlbWVCdXR0b25JY29uczp7cHJldjoiY2lyY2xlLXRyaWFuZ2xlLWUiLG5leHQ6ImNpcmNsZS10cmlhbmdsZS13IixuZXh0WWVhcjoic2Vlay1wcmV2IixwcmV2WWVhcjoic2Vlay1uZXh0In19O3ZhciBxYj1QYS5sYW5ncz17fTtQYS5kYXRlcGlja2VyTGFuZz1mdW5jdGlvbihiLGMsZCl7dmFyIGU9cWJbYl18fChxYltiXT17fSk7ZS5pc1JUTD1kLmlzUlRMLGUud2Vla051bWJlclRpdGxlPWQud2Vla0hlYWRlcixhLmVhY2gocmIsZnVuY3Rpb24oYSxiKXtlW2FdPWIoZCl9KSxhLmRhdGVwaWNrZXImJihhLmRhdGVwaWNrZXIucmVnaW9uYWxbY109YS5kYXRlcGlja2VyLnJlZ2lvbmFsW2JdPWQsYS5kYXRlcGlja2VyLnJlZ2lvbmFsLmVuPWEuZGF0ZXBpY2tlci5yZWdpb25hbFsiIl0sYS5kYXRlcGlja2VyLnNldERlZmF1bHRzKGQpKX0sUGEubGFuZz1mdW5jdGlvbihiLGQpe3ZhciBlLGY7ZT1xYltiXXx8KHFiW2JdPXt9KSxkJiYoZT1xYltiXT1jKFtlLGRdKSksZj1MYShiKSxhLmVhY2goc2IsZnVuY3Rpb24oYSxiKXtudWxsPT1lW2FdJiYoZVthXT1iKGYsZSkpfSkscGIuZGVmYXVsdHMubGFuZz1ifTt2YXIgcmI9e2J1dHRvblRleHQ6ZnVuY3Rpb24oYSl7cmV0dXJue3ByZXY6WihhLnByZXZUZXh0KSxuZXh0OlooYS5uZXh0VGV4dCksdG9kYXk6WihhLmN1cnJlbnRUZXh0KX19LG1vbnRoWWVhckZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5zaG93TW9udGhBZnRlclllYXI/IllZWVlbIithLnllYXJTdWZmaXgrIl0gTU1NTSI6Ik1NTU0gWVlZWVsiK2EueWVhclN1ZmZpeCsiXSJ9fSxzYj17ZGF5T2ZNb250aEZvcm1hdDpmdW5jdGlvbihhLGIpe3ZhciBjPWEubG9uZ0RhdGVGb3JtYXQoImwiKTtyZXR1cm4gYz1jLnJlcGxhY2UoL15ZK1teXHdcc10qfFteXHdcc10qWSskL2csIiIpLGIuaXNSVEw/Yys9IiBkZGQiOmM9ImRkZCAiK2MsY30sbWVkaXVtVGltZUZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5sb25nRGF0ZUZvcm1hdCgiTFQiKS5yZXBsYWNlKC9ccyphJC9pLCJhIil9LHNtYWxsVGltZUZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5sb25nRGF0ZUZvcm1hdCgiTFQiKS5yZXBsYWNlKCI6bW0iLCIoOm1tKSIpLnJlcGxhY2UoLyhcV21tKSQvLCIoJDEpIikucmVwbGFjZSgvXHMqYSQvaSwiYSIpfSxleHRyYVNtYWxsVGltZUZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5sb25nRGF0ZUZvcm1hdCgiTFQiKS5yZXBsYWNlKCI6bW0iLCIoOm1tKSIpLnJlcGxhY2UoLyhcV21tKSQvLCIoJDEpIikucmVwbGFjZSgvXHMqYSQvaSwidCIpfSxob3VyRm9ybWF0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmxvbmdEYXRlRm9ybWF0KCJMVCIpLnJlcGxhY2UoIjptbSIsIiIpLnJlcGxhY2UoLyhcV21tKSQvLCIiKS5yZXBsYWNlKC9ccyphJC9pLCJhIil9LG5vTWVyaWRpZW1UaW1lRm9ybWF0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmxvbmdEYXRlRm9ybWF0KCJMVCIpLnJlcGxhY2UoL1xzKmEkL2ksIiIpfX0sdGI9e3NtYWxsRGF5RGF0ZUZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5pc1JUTD8iRCBkZCI6ImRkIEQiOw0KfSx3ZWVrRm9ybWF0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmlzUlRMPyJ3WyAiK2Eud2Vla051bWJlclRpdGxlKyJdIjoiWyIrYS53ZWVrTnVtYmVyVGl0bGUrIiBddyJ9LHNtYWxsV2Vla0Zvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5pc1JUTD8id1siK2Eud2Vla051bWJlclRpdGxlKyJdIjoiWyIrYS53ZWVrTnVtYmVyVGl0bGUrIl13In19O1BhLmxhbmcoImVuIixwYi5lbmdsaXNoRGVmYXVsdHMpLFBhLnNvdXJjZU5vcm1hbGl6ZXJzPVtdLFBhLnNvdXJjZUZldGNoZXJzPVtdO3ZhciB1Yj17ZGF0YVR5cGU6Impzb24iLGNhY2hlOiExfSx2Yj0xO3BiLnByb3RvdHlwZS5nZXRQZWVyRXZlbnRzPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPXRoaXMuZ2V0RXZlbnRDYWNoZSgpLGY9W107Zm9yKGM9MDtjPGUubGVuZ3RoO2MrKylkPWVbY10sYiYmYi5faWQ9PT1kLl9pZHx8Zi5wdXNoKGQpO3JldHVybiBmfTt2YXIgd2I9UGEuQmFzaWNWaWV3PW9iLmV4dGVuZCh7ZGF5R3JpZENsYXNzOm1iLGRheUdyaWQ6bnVsbCxkYXlOdW1iZXJzVmlzaWJsZTohMSx3ZWVrTnVtYmVyc1Zpc2libGU6ITEsd2Vla051bWJlcldpZHRoOm51bGwsaGVhZENvbnRhaW5lckVsOm51bGwsaGVhZFJvd0VsOm51bGwsaW5pdGlhbGl6ZTpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZD10aGlzLmluc3RhbnRpYXRlRGF5R3JpZCgpfSxpbnN0YW50aWF0ZURheUdyaWQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmRheUdyaWRDbGFzcy5leHRlbmQoeGIpO3JldHVybiBuZXcgYSh0aGlzKX0sc2V0UmFuZ2U6ZnVuY3Rpb24oYSl7b2IucHJvdG90eXBlLnNldFJhbmdlLmNhbGwodGhpcyxhKSx0aGlzLmRheUdyaWQuYnJlYWtPbldlZWtzPS95ZWFyfG1vbnRofHdlZWsvLnRlc3QodGhpcy5pbnRlcnZhbFVuaXQpLHRoaXMuZGF5R3JpZC5zZXRSYW5nZShhKX0sY29tcHV0ZVJhbmdlOmZ1bmN0aW9uKGEpe3ZhciBiPW9iLnByb3RvdHlwZS5jb21wdXRlUmFuZ2UuY2FsbCh0aGlzLGEpO3JldHVybi95ZWFyfG1vbnRoLy50ZXN0KGIuaW50ZXJ2YWxVbml0KSYmKGIuc3RhcnQuc3RhcnRPZigid2VlayIpLGIuc3RhcnQ9dGhpcy5za2lwSGlkZGVuRGF5cyhiLnN0YXJ0KSxiLmVuZC53ZWVrZGF5KCkmJihiLmVuZC5hZGQoMSwid2VlayIpLnN0YXJ0T2YoIndlZWsiKSxiLmVuZD10aGlzLnNraXBIaWRkZW5EYXlzKGIuZW5kLC0xLCEwKSkpLGJ9LHJlbmRlckRhdGVzOmZ1bmN0aW9uKCl7dGhpcy5kYXlOdW1iZXJzVmlzaWJsZT10aGlzLmRheUdyaWQucm93Q250PjEsdGhpcy53ZWVrTnVtYmVyc1Zpc2libGU9dGhpcy5vcHQoIndlZWtOdW1iZXJzIiksdGhpcy5kYXlHcmlkLm51bWJlcnNWaXNpYmxlPXRoaXMuZGF5TnVtYmVyc1Zpc2libGV8fHRoaXMud2Vla051bWJlcnNWaXNpYmxlLHRoaXMuZWwuYWRkQ2xhc3MoImZjLWJhc2ljLXZpZXciKS5odG1sKHRoaXMucmVuZGVyU2tlbGV0b25IdG1sKCkpLHRoaXMucmVuZGVySGVhZCgpLHRoaXMuc2Nyb2xsZXJFbD10aGlzLmVsLmZpbmQoIi5mYy1kYXktZ3JpZC1jb250YWluZXIiKSx0aGlzLmRheUdyaWQuc2V0RWxlbWVudCh0aGlzLmVsLmZpbmQoIi5mYy1kYXktZ3JpZCIpKSx0aGlzLmRheUdyaWQucmVuZGVyRGF0ZXModGhpcy5oYXNSaWdpZFJvd3MoKSl9LHJlbmRlckhlYWQ6ZnVuY3Rpb24oKXt0aGlzLmhlYWRDb250YWluZXJFbD10aGlzLmVsLmZpbmQoIi5mYy1oZWFkLWNvbnRhaW5lciIpLmh0bWwodGhpcy5kYXlHcmlkLnJlbmRlckhlYWRIdG1sKCkpLHRoaXMuaGVhZFJvd0VsPXRoaXMuaGVhZENvbnRhaW5lckVsLmZpbmQoIi5mYy1yb3ciKX0sdW5yZW5kZXJEYXRlczpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZC51bnJlbmRlckRhdGVzKCksdGhpcy5kYXlHcmlkLnJlbW92ZUVsZW1lbnQoKX0scmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZC5yZW5kZXJCdXNpbmVzc0hvdXJzKCl9LHJlbmRlclNrZWxldG9uSHRtbDpmdW5jdGlvbigpe3JldHVybic8dGFibGU+PHRoZWFkIGNsYXNzPSJmYy1oZWFkIj48dHI+PHRkIGNsYXNzPSJmYy1oZWFkLWNvbnRhaW5lciAnK3RoaXMud2lkZ2V0SGVhZGVyQ2xhc3MrJyI+PC90ZD48L3RyPjwvdGhlYWQ+PHRib2R5IGNsYXNzPSJmYy1ib2R5Ij48dHI+PHRkIGNsYXNzPSInK3RoaXMud2lkZ2V0Q29udGVudENsYXNzKyciPjxkaXYgY2xhc3M9ImZjLWRheS1ncmlkLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0iZmMtZGF5LWdyaWQiLz48L2Rpdj48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPid9LHdlZWtOdW1iZXJTdHlsZUF0dHI6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9PXRoaXMud2Vla051bWJlcldpZHRoPydzdHlsZT0id2lkdGg6Jyt0aGlzLndlZWtOdW1iZXJXaWR0aCsncHgiJzoiIn0saGFzUmlnaWRSb3dzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHQoImV2ZW50TGltaXQiKTtyZXR1cm4gYSYmIm51bWJlciIhPXR5cGVvZiBhfSx1cGRhdGVXaWR0aDpmdW5jdGlvbigpe3RoaXMud2Vla051bWJlcnNWaXNpYmxlJiYodGhpcy53ZWVrTnVtYmVyV2lkdGg9ayh0aGlzLmVsLmZpbmQoIi5mYy13ZWVrLW51bWJlciIpKSl9LHNldEhlaWdodDpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9dGhpcy5vcHQoImV2ZW50TGltaXQiKTttKHRoaXMuc2Nyb2xsZXJFbCksZih0aGlzLmhlYWRSb3dFbCksdGhpcy5kYXlHcmlkLnJlbW92ZVNlZ1BvcG92ZXIoKSxkJiYibnVtYmVyIj09dHlwZW9mIGQmJnRoaXMuZGF5R3JpZC5saW1pdFJvd3MoZCksYz10aGlzLmNvbXB1dGVTY3JvbGxlckhlaWdodChhKSx0aGlzLnNldEdyaWRIZWlnaHQoYyxiKSxkJiYibnVtYmVyIiE9dHlwZW9mIGQmJnRoaXMuZGF5R3JpZC5saW1pdFJvd3MoZCksIWImJmwodGhpcy5zY3JvbGxlckVsLGMpJiYoZSh0aGlzLmhlYWRSb3dFbCxyKHRoaXMuc2Nyb2xsZXJFbCkpLGM9dGhpcy5jb21wdXRlU2Nyb2xsZXJIZWlnaHQoYSksdGhpcy5zY3JvbGxlckVsLmhlaWdodChjKSl9LHNldEdyaWRIZWlnaHQ6ZnVuY3Rpb24oYSxiKXtiP2oodGhpcy5kYXlHcmlkLnJvd0Vscyk6aSh0aGlzLmRheUdyaWQucm93RWxzLGEsITApfSxwcmVwYXJlSGl0czpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZC5wcmVwYXJlSGl0cygpfSxyZWxlYXNlSGl0czpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZC5yZWxlYXNlSGl0cygpfSxxdWVyeUhpdDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmRheUdyaWQucXVlcnlIaXQoYSxiKX0sZ2V0SGl0U3BhbjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kYXlHcmlkLmdldEhpdFNwYW4oYSl9LGdldEhpdEVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRheUdyaWQuZ2V0SGl0RWwoYSl9LHJlbmRlckV2ZW50czpmdW5jdGlvbihhKXt0aGlzLmRheUdyaWQucmVuZGVyRXZlbnRzKGEpLHRoaXMudXBkYXRlSGVpZ2h0KCl9LGdldEV2ZW50U2VnczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRheUdyaWQuZ2V0RXZlbnRTZWdzKCl9LHVucmVuZGVyRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5kYXlHcmlkLnVucmVuZGVyRXZlbnRzKCl9LHJlbmRlckRyYWc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5kYXlHcmlkLnJlbmRlckRyYWcoYSxiKX0sdW5yZW5kZXJEcmFnOmZ1bmN0aW9uKCl7dGhpcy5kYXlHcmlkLnVucmVuZGVyRHJhZygpfSxyZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oYSl7dGhpcy5kYXlHcmlkLnJlbmRlclNlbGVjdGlvbihhKX0sdW5yZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oKXt0aGlzLmRheUdyaWQudW5yZW5kZXJTZWxlY3Rpb24oKX19KSx4Yj17cmVuZGVySGVhZEludHJvSHRtbDpmdW5jdGlvbigpe3ZhciBhPXRoaXMudmlldztyZXR1cm4gYS53ZWVrTnVtYmVyc1Zpc2libGU/Jzx0aCBjbGFzcz0iZmMtd2Vlay1udW1iZXIgJythLndpZGdldEhlYWRlckNsYXNzKyciICcrYS53ZWVrTnVtYmVyU3R5bGVBdHRyKCkrIj48c3Bhbj4iK1koYS5vcHQoIndlZWtOdW1iZXJUaXRsZSIpKSsiPC9zcGFuPjwvdGg+IjoiIn0scmVuZGVyTnVtYmVySW50cm9IdG1sOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldztyZXR1cm4gYi53ZWVrTnVtYmVyc1Zpc2libGU/Jzx0ZCBjbGFzcz0iZmMtd2Vlay1udW1iZXIiICcrYi53ZWVrTnVtYmVyU3R5bGVBdHRyKCkrIj48c3Bhbj4iK3RoaXMuZ2V0Q2VsbERhdGUoYSwwKS5mb3JtYXQoInciKSsiPC9zcGFuPjwvdGQ+IjoiIn0scmVuZGVyQmdJbnRyb0h0bWw6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZpZXc7cmV0dXJuIGEud2Vla051bWJlcnNWaXNpYmxlPyc8dGQgY2xhc3M9ImZjLXdlZWstbnVtYmVyICcrYS53aWRnZXRDb250ZW50Q2xhc3MrJyIgJythLndlZWtOdW1iZXJTdHlsZUF0dHIoKSsiPjwvdGQ+IjoiIn0scmVuZGVySW50cm9IdG1sOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy52aWV3O3JldHVybiBhLndlZWtOdW1iZXJzVmlzaWJsZT8nPHRkIGNsYXNzPSJmYy13ZWVrLW51bWJlciIgJythLndlZWtOdW1iZXJTdHlsZUF0dHIoKSsiPjwvdGQ+IjoiIn19LHliPVBhLk1vbnRoVmlldz13Yi5leHRlbmQoe2NvbXB1dGVSYW5nZTpmdW5jdGlvbihhKXt2YXIgYixjPXdiLnByb3RvdHlwZS5jb21wdXRlUmFuZ2UuY2FsbCh0aGlzLGEpO3JldHVybiB0aGlzLmlzRml4ZWRXZWVrcygpJiYoYj1NYXRoLmNlaWwoYy5lbmQuZGlmZihjLnN0YXJ0LCJ3ZWVrcyIsITApKSxjLmVuZC5hZGQoNi1iLCJ3ZWVrcyIpKSxjfSxzZXRHcmlkSGVpZ2h0OmZ1bmN0aW9uKGEsYil7Yj1ifHwidmFyaWFibGUiPT09dGhpcy5vcHQoIndlZWtNb2RlIiksYiYmKGEqPXRoaXMucm93Q250LzYpLGkodGhpcy5kYXlHcmlkLnJvd0VscyxhLCFiKX0saXNGaXhlZFdlZWtzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHQoIndlZWtNb2RlIik7cmV0dXJuIGE/ImZpeGVkIj09PWE6dGhpcy5vcHQoImZpeGVkV2Vla0NvdW50Iil9fSk7UWEuYmFzaWM9eyJjbGFzcyI6d2J9LFFhLmJhc2ljRGF5PXt0eXBlOiJiYXNpYyIsZHVyYXRpb246e2RheXM6MX19LFFhLmJhc2ljV2Vlaz17dHlwZToiYmFzaWMiLGR1cmF0aW9uOnt3ZWVrczoxfX0sUWEubW9udGg9eyJjbGFzcyI6eWIsZHVyYXRpb246e21vbnRoczoxfSxkZWZhdWx0czp7Zml4ZWRXZWVrQ291bnQ6ITB9fTt2YXIgemI9UGEuQWdlbmRhVmlldz1vYi5leHRlbmQoe3RpbWVHcmlkQ2xhc3M6bmIsdGltZUdyaWQ6bnVsbCxkYXlHcmlkQ2xhc3M6bWIsZGF5R3JpZDpudWxsLGF4aXNXaWR0aDpudWxsLGhlYWRDb250YWluZXJFbDpudWxsLG5vU2Nyb2xsUm93RWxzOm51bGwsYm90dG9tUnVsZUVsOm51bGwsYm90dG9tUnVsZUhlaWdodDpudWxsLGluaXRpYWxpemU6ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkPXRoaXMuaW5zdGFudGlhdGVUaW1lR3JpZCgpLHRoaXMub3B0KCJhbGxEYXlTbG90IikmJih0aGlzLmRheUdyaWQ9dGhpcy5pbnN0YW50aWF0ZURheUdyaWQoKSl9LGluc3RhbnRpYXRlVGltZUdyaWQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnRpbWVHcmlkQ2xhc3MuZXh0ZW5kKEFiKTtyZXR1cm4gbmV3IGEodGhpcyl9LGluc3RhbnRpYXRlRGF5R3JpZDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZGF5R3JpZENsYXNzLmV4dGVuZChCYik7cmV0dXJuIG5ldyBhKHRoaXMpfSxzZXRSYW5nZTpmdW5jdGlvbihhKXtvYi5wcm90b3R5cGUuc2V0UmFuZ2UuY2FsbCh0aGlzLGEpLHRoaXMudGltZUdyaWQuc2V0UmFuZ2UoYSksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQuc2V0UmFuZ2UoYSl9LHJlbmRlckRhdGVzOmZ1bmN0aW9uKCl7dGhpcy5lbC5hZGRDbGFzcygiZmMtYWdlbmRhLXZpZXciKS5odG1sKHRoaXMucmVuZGVyU2tlbGV0b25IdG1sKCkpLHRoaXMucmVuZGVySGVhZCgpLHRoaXMuc2Nyb2xsZXJFbD10aGlzLmVsLmZpbmQoIi5mYy10aW1lLWdyaWQtY29udGFpbmVyIiksdGhpcy50aW1lR3JpZC5zZXRFbGVtZW50KHRoaXMuZWwuZmluZCgiLmZjLXRpbWUtZ3JpZCIpKSx0aGlzLnRpbWVHcmlkLnJlbmRlckRhdGVzKCksdGhpcy5ib3R0b21SdWxlRWw9YSgnPGhyIGNsYXNzPSJmYy1kaXZpZGVyICcrdGhpcy53aWRnZXRIZWFkZXJDbGFzcysnIi8+JykuYXBwZW5kVG8odGhpcy50aW1lR3JpZC5lbCksdGhpcy5kYXlHcmlkJiYodGhpcy5kYXlHcmlkLnNldEVsZW1lbnQodGhpcy5lbC5maW5kKCIuZmMtZGF5LWdyaWQiKSksdGhpcy5kYXlHcmlkLnJlbmRlckRhdGVzKCksdGhpcy5kYXlHcmlkLmJvdHRvbUNvb3JkUGFkZGluZz10aGlzLmRheUdyaWQuZWwubmV4dCgiaHIiKS5vdXRlckhlaWdodCgpKSx0aGlzLm5vU2Nyb2xsUm93RWxzPXRoaXMuZWwuZmluZCgiLmZjLXJvdzpub3QoLmZjLXNjcm9sbGVyICopIil9LHJlbmRlckhlYWQ6ZnVuY3Rpb24oKXt0aGlzLmhlYWRDb250YWluZXJFbD10aGlzLmVsLmZpbmQoIi5mYy1oZWFkLWNvbnRhaW5lciIpLmh0bWwodGhpcy50aW1lR3JpZC5yZW5kZXJIZWFkSHRtbCgpKX0sdW5yZW5kZXJEYXRlczpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQudW5yZW5kZXJEYXRlcygpLHRoaXMudGltZUdyaWQucmVtb3ZlRWxlbWVudCgpLHRoaXMuZGF5R3JpZCYmKHRoaXMuZGF5R3JpZC51bnJlbmRlckRhdGVzKCksdGhpcy5kYXlHcmlkLnJlbW92ZUVsZW1lbnQoKSl9LHJlbmRlclNrZWxldG9uSHRtbDpmdW5jdGlvbigpe3JldHVybic8dGFibGU+PHRoZWFkIGNsYXNzPSJmYy1oZWFkIj48dHI+PHRkIGNsYXNzPSJmYy1oZWFkLWNvbnRhaW5lciAnK3RoaXMud2lkZ2V0SGVhZGVyQ2xhc3MrJyI+PC90ZD48L3RyPjwvdGhlYWQ+PHRib2R5IGNsYXNzPSJmYy1ib2R5Ij48dHI+PHRkIGNsYXNzPSInK3RoaXMud2lkZ2V0Q29udGVudENsYXNzKyciPicrKHRoaXMuZGF5R3JpZD8nPGRpdiBjbGFzcz0iZmMtZGF5LWdyaWQiLz48aHIgY2xhc3M9ImZjLWRpdmlkZXIgJyt0aGlzLndpZGdldEhlYWRlckNsYXNzKyciLz4nOiIiKSsnPGRpdiBjbGFzcz0iZmMtdGltZS1ncmlkLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0iZmMtdGltZS1ncmlkIi8+PC9kaXY+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT4nfSxheGlzU3R5bGVBdHRyOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGwhPT10aGlzLmF4aXNXaWR0aD8nc3R5bGU9IndpZHRoOicrdGhpcy5heGlzV2lkdGgrJ3B4Iic6IiJ9LHJlbmRlckJ1c2luZXNzSG91cnM6ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkLnJlbmRlckJ1c2luZXNzSG91cnMoKSx0aGlzLmRheUdyaWQmJnRoaXMuZGF5R3JpZC5yZW5kZXJCdXNpbmVzc0hvdXJzKCl9LHVucmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQudW5yZW5kZXJCdXNpbmVzc0hvdXJzKCksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQudW5yZW5kZXJCdXNpbmVzc0hvdXJzKCl9LGdldE5vd0luZGljYXRvclVuaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aW1lR3JpZC5nZXROb3dJbmRpY2F0b3JVbml0KCl9LHJlbmRlck5vd0luZGljYXRvcjpmdW5jdGlvbihhKXt0aGlzLnRpbWVHcmlkLnJlbmRlck5vd0luZGljYXRvcihhKX0sdW5yZW5kZXJOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkLnVucmVuZGVyTm93SW5kaWNhdG9yKCl9LHVwZGF0ZVNpemU6ZnVuY3Rpb24oYSl7dGhpcy50aW1lR3JpZC51cGRhdGVTaXplKGEpLG9iLnByb3RvdHlwZS51cGRhdGVTaXplLmNhbGwodGhpcyxhKX0sdXBkYXRlV2lkdGg6ZnVuY3Rpb24oKXt0aGlzLmF4aXNXaWR0aD1rKHRoaXMuZWwuZmluZCgiLmZjLWF4aXMiKSl9LHNldEhlaWdodDpmdW5jdGlvbihhLGIpe3ZhciBjLGQ7bnVsbD09PXRoaXMuYm90dG9tUnVsZUhlaWdodCYmKHRoaXMuYm90dG9tUnVsZUhlaWdodD10aGlzLmJvdHRvbVJ1bGVFbC5vdXRlckhlaWdodCgpKSx0aGlzLmJvdHRvbVJ1bGVFbC5oaWRlKCksdGhpcy5zY3JvbGxlckVsLmNzcygib3ZlcmZsb3ciLCIiKSxtKHRoaXMuc2Nyb2xsZXJFbCksZih0aGlzLm5vU2Nyb2xsUm93RWxzKSx0aGlzLmRheUdyaWQmJih0aGlzLmRheUdyaWQucmVtb3ZlU2VnUG9wb3ZlcigpLGM9dGhpcy5vcHQoImV2ZW50TGltaXQiKSxjJiYibnVtYmVyIiE9dHlwZW9mIGMmJihjPUNiKSxjJiZ0aGlzLmRheUdyaWQubGltaXRSb3dzKGMpKSxifHwoZD10aGlzLmNvbXB1dGVTY3JvbGxlckhlaWdodChhKSxsKHRoaXMuc2Nyb2xsZXJFbCxkKT8oZSh0aGlzLm5vU2Nyb2xsUm93RWxzLHIodGhpcy5zY3JvbGxlckVsKSksZD10aGlzLmNvbXB1dGVTY3JvbGxlckhlaWdodChhKSx0aGlzLnNjcm9sbGVyRWwuaGVpZ2h0KGQpKToodGhpcy5zY3JvbGxlckVsLmhlaWdodChkKS5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIiksdGhpcy5ib3R0b21SdWxlRWwuc2hvdygpKSl9LGNvbXB1dGVJbml0aWFsU2Nyb2xsOmZ1bmN0aW9uKCl7dmFyIGE9Yi5kdXJhdGlvbih0aGlzLm9wdCgic2Nyb2xsVGltZSIpKSxjPXRoaXMudGltZUdyaWQuY29tcHV0ZVRpbWVUb3AoYSk7cmV0dXJuIGM9TWF0aC5jZWlsKGMpLGMmJmMrKyxjfSxwcmVwYXJlSGl0czpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQucHJlcGFyZUhpdHMoKSx0aGlzLmRheUdyaWQmJnRoaXMuZGF5R3JpZC5wcmVwYXJlSGl0cygpfSxyZWxlYXNlSGl0czpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQucmVsZWFzZUhpdHMoKSx0aGlzLmRheUdyaWQmJnRoaXMuZGF5R3JpZC5yZWxlYXNlSGl0cygpfSxxdWVyeUhpdDpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMudGltZUdyaWQucXVlcnlIaXQoYSxiKTtyZXR1cm4hYyYmdGhpcy5kYXlHcmlkJiYoYz10aGlzLmRheUdyaWQucXVlcnlIaXQoYSxiKSksY30sZ2V0SGl0U3BhbjpmdW5jdGlvbihhKXtyZXR1cm4gYS5jb21wb25lbnQuZ2V0SGl0U3BhbihhKX0sZ2V0SGl0RWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcG9uZW50LmdldEhpdEVsKGEpfSxyZW5kZXJFdmVudHM6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPVtdLGU9W10sZj1bXTtmb3IoYz0wO2M8YS5sZW5ndGg7YysrKWFbY10uYWxsRGF5P2QucHVzaChhW2NdKTplLnB1c2goYVtjXSk7Yj10aGlzLnRpbWVHcmlkLnJlbmRlckV2ZW50cyhlKSx0aGlzLmRheUdyaWQmJihmPXRoaXMuZGF5R3JpZC5yZW5kZXJFdmVudHMoZCkpLHRoaXMudXBkYXRlSGVpZ2h0KCl9LGdldEV2ZW50U2VnczpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRpbWVHcmlkLmdldEV2ZW50U2VncygpLmNvbmNhdCh0aGlzLmRheUdyaWQ/dGhpcy5kYXlHcmlkLmdldEV2ZW50U2VncygpOltdKX0sdW5yZW5kZXJFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkLnVucmVuZGVyRXZlbnRzKCksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQudW5yZW5kZXJFdmVudHMoKX0scmVuZGVyRHJhZzpmdW5jdGlvbihhLGIpe3JldHVybiBhLnN0YXJ0Lmhhc1RpbWUoKT90aGlzLnRpbWVHcmlkLnJlbmRlckRyYWcoYSxiKTp0aGlzLmRheUdyaWQ/dGhpcy5kYXlHcmlkLnJlbmRlckRyYWcoYSxiKTp2b2lkIDB9LHVucmVuZGVyRHJhZzpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQudW5yZW5kZXJEcmFnKCksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQudW5yZW5kZXJEcmFnKCl9LHJlbmRlclNlbGVjdGlvbjpmdW5jdGlvbihhKXthLnN0YXJ0Lmhhc1RpbWUoKXx8YS5lbmQuaGFzVGltZSgpP3RoaXMudGltZUdyaWQucmVuZGVyU2VsZWN0aW9uKGEpOnRoaXMuZGF5R3JpZCYmdGhpcy5kYXlHcmlkLnJlbmRlclNlbGVjdGlvbihhKX0sdW5yZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkLnVucmVuZGVyU2VsZWN0aW9uKCksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQudW5yZW5kZXJTZWxlY3Rpb24oKX19KSxBYj17cmVuZGVySGVhZEludHJvSHRtbDpmdW5jdGlvbigpe3ZhciBhLGI9dGhpcy52aWV3O3JldHVybiBiLm9wdCgid2Vla051bWJlcnMiKT8oYT10aGlzLnN0YXJ0LmZvcm1hdChiLm9wdCgic21hbGxXZWVrRm9ybWF0IikpLCc8dGggY2xhc3M9ImZjLWF4aXMgZmMtd2Vlay1udW1iZXIgJytiLndpZGdldEhlYWRlckNsYXNzKyciICcrYi5heGlzU3R5bGVBdHRyKCkrIj48c3Bhbj4iK1koYSkrIjwvc3Bhbj48L3RoPiIpOic8dGggY2xhc3M9ImZjLWF4aXMgJytiLndpZGdldEhlYWRlckNsYXNzKyciICcrYi5heGlzU3R5bGVBdHRyKCkrIj48L3RoPiJ9LHJlbmRlckJnSW50cm9IdG1sOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy52aWV3O3JldHVybic8dGQgY2xhc3M9ImZjLWF4aXMgJythLndpZGdldENvbnRlbnRDbGFzcysnIiAnK2EuYXhpc1N0eWxlQXR0cigpKyI+PC90ZD4ifSxyZW5kZXJJbnRyb0h0bWw6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZpZXc7cmV0dXJuJzx0ZCBjbGFzcz0iZmMtYXhpcyIgJythLmF4aXNTdHlsZUF0dHIoKSsiPjwvdGQ+In19LEJiPXtyZW5kZXJCZ0ludHJvSHRtbDpmdW5jdGlvbigpe3ZhciBhPXRoaXMudmlldztyZXR1cm4nPHRkIGNsYXNzPSJmYy1heGlzICcrYS53aWRnZXRDb250ZW50Q2xhc3MrJyIgJythLmF4aXNTdHlsZUF0dHIoKSsiPjxzcGFuPiIrKGEub3B0KCJhbGxEYXlIdG1sIil8fFkoYS5vcHQoImFsbERheVRleHQiKSkpKyI8L3NwYW4+PC90ZD4ifSxyZW5kZXJJbnRyb0h0bWw6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZpZXc7cmV0dXJuJzx0ZCBjbGFzcz0iZmMtYXhpcyIgJythLmF4aXNTdHlsZUF0dHIoKSsiPjwvdGQ+In19LENiPTUsRGI9W3tob3VyczoxfSx7bWludXRlczozMH0se21pbnV0ZXM6MTV9LHtzZWNvbmRzOjMwfSx7c2Vjb25kczoxNX1dO3JldHVybiBRYS5hZ2VuZGE9eyJjbGFzcyI6emIsZGVmYXVsdHM6e2FsbERheVNsb3Q6ITAsYWxsRGF5VGV4dDoiYWxsLWRheSIsc2xvdER1cmF0aW9uOiIwMDozMDowMCIsbWluVGltZToiMDA6MDA6MDAiLG1heFRpbWU6IjI0OjAwOjAwIixzbG90RXZlbnRPdmVybGFwOiEwfX0sUWEuYWdlbmRhRGF5PXt0eXBlOiJhZ2VuZGEiLGR1cmF0aW9uOntkYXlzOjF9fSxRYS5hZ2VuZGFXZWVrPXt0eXBlOiJhZ2VuZGEiLGR1cmF0aW9uOnt3ZWVrczoxfX0sUGF9KTsNCg0KDQovKiENCiAJb2RvbWV0ZXIgMC40LjgNCiAqLw0KKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1LHYsdyx4LHkseixBLEIsQyxELEUsRixHPVtdLnNsaWNlO3E9JzxzcGFuIGNsYXNzPSJvZG9tZXRlci12YWx1ZSI+PC9zcGFuPicsbj0nPHNwYW4gY2xhc3M9Im9kb21ldGVyLXJpYmJvbiI+PHNwYW4gY2xhc3M9Im9kb21ldGVyLXJpYmJvbi1pbm5lciI+JytxKyI8L3NwYW4+PC9zcGFuPiIsZD0nPHNwYW4gY2xhc3M9Im9kb21ldGVyLWRpZ2l0Ij48c3BhbiBjbGFzcz0ib2RvbWV0ZXItZGlnaXQtc3BhY2VyIj44PC9zcGFuPjxzcGFuIGNsYXNzPSJvZG9tZXRlci1kaWdpdC1pbm5lciI+JytuKyI8L3NwYW4+PC9zcGFuPiIsZz0nPHNwYW4gY2xhc3M9Im9kb21ldGVyLWZvcm1hdHRpbmctbWFyayI+PC9zcGFuPicsYz0iKCxkZGQpLmRkIixoPS9eXCg/KFteKV0qKVwpPyg/OiguKShkKykpPyQvLGk9MzAsZj0yZTMsYT0yMCxqPTIsZT0uNSxrPTFlMy9pLGI9MWUzL2Esbz0idHJhbnNpdGlvbmVuZCB3ZWJraXRUcmFuc2l0aW9uRW5kIG9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIE1TVHJhbnNpdGlvbkVuZCIseT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSxwPW51bGwhPXkudHJhbnNpdGlvbnx8bnVsbCE9eS53ZWJraXRUcmFuc2l0aW9ufHxudWxsIT15Lm1velRyYW5zaXRpb258fG51bGwhPXkub1RyYW5zaXRpb24sdz13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWUsbD13aW5kb3cuTXV0YXRpb25PYnNlcnZlcnx8d2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXJ8fHdpbmRvdy5Nb3pNdXRhdGlvbk9ic2VydmVyLHM9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9YSxiLmNoaWxkcmVuWzBdfSx2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuY2xhc3NOYW1lPWEuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgiKF58ICkiK2Iuc3BsaXQoIiAiKS5qb2luKCJ8IikrIiggfCQpIiwiZ2kiKSwiICIpfSxyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHYoYSxiKSxhLmNsYXNzTmFtZSs9IiAiK2J9LHo9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4gbnVsbCE9ZG9jdW1lbnQuY3JlYXRlRXZlbnQ/KGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkhUTUxFdmVudHMiKSxjLmluaXRFdmVudChiLCEwLCEwKSxhLmRpc3BhdGNoRXZlbnQoYykpOnZvaWQgMH0sdT1mdW5jdGlvbigpe3ZhciBhLGI7cmV0dXJuIG51bGwhPShhPW51bGwhPShiPXdpbmRvdy5wZXJmb3JtYW5jZSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBiLm5vdz9iLm5vdygpOnZvaWQgMCk/YTorbmV3IERhdGV9LHg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YiYmKGI9MCksYj8oYSo9TWF0aC5wb3coMTAsYiksYSs9LjUsYT1NYXRoLmZsb29yKGEpLGEvPU1hdGgucG93KDEwLGIpKTpNYXRoLnJvdW5kKGEpfSxBPWZ1bmN0aW9uKGEpe3JldHVybiAwPmE/TWF0aC5jZWlsKGEpOk1hdGguZmxvb3IoYSl9LHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEteChhKX0sQz0hMSwoQj1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGU7aWYoIUMmJm51bGwhPXdpbmRvdy5qUXVlcnkpe2ZvcihDPSEwLGQ9WyJodG1sIiwidGV4dCJdLGU9W10sYj0wLGM9ZC5sZW5ndGg7Yz5iO2IrKylhPWRbYl0sZS5wdXNoKGZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBiPXdpbmRvdy5qUXVlcnkuZm5bYV0sd2luZG93LmpRdWVyeS5mblthXT1mdW5jdGlvbihhKXt2YXIgYztyZXR1cm4gbnVsbD09YXx8bnVsbD09KG51bGwhPShjPXRoaXNbMF0pP2Mub2RvbWV0ZXI6dm9pZCAwKT9iLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzWzBdLm9kb21ldGVyLnVwZGF0ZShhKX19KGEpKTtyZXR1cm4gZX19KSgpLHNldFRpbWVvdXQoQiwwKSxtPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShiKXt2YXIgYyxkLGUsZyxoLGksbCxtLG4sbyxwPXRoaXM7aWYodGhpcy5vcHRpb25zPWIsdGhpcy5lbD10aGlzLm9wdGlvbnMuZWwsbnVsbCE9dGhpcy5lbC5vZG9tZXRlcilyZXR1cm4gdGhpcy5lbC5vZG9tZXRlcjt0aGlzLmVsLm9kb21ldGVyPXRoaXMsbT1hLm9wdGlvbnM7Zm9yKGQgaW4gbSlnPW1bZF0sbnVsbD09dGhpcy5vcHRpb25zW2RdJiYodGhpcy5vcHRpb25zW2RdPWcpO251bGw9PShoPXRoaXMub3B0aW9ucykuZHVyYXRpb24mJihoLmR1cmF0aW9uPWYpLHRoaXMuTUFYX1ZBTFVFUz10aGlzLm9wdGlvbnMuZHVyYXRpb24vay9qfDAsdGhpcy5yZXNldEZvcm1hdCgpLHRoaXMudmFsdWU9dGhpcy5jbGVhblZhbHVlKG51bGwhPShuPXRoaXMub3B0aW9ucy52YWx1ZSk/bjoiIiksdGhpcy5yZW5kZXJJbnNpZGUoKSx0aGlzLnJlbmRlcigpO3RyeXtmb3Iobz1bImlubmVySFRNTCIsImlubmVyVGV4dCIsInRleHRDb250ZW50Il0saT0wLGw9by5sZW5ndGg7bD5pO2krKyllPW9baV0sbnVsbCE9dGhpcy5lbFtlXSYmIWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocC5lbCxhLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYjtyZXR1cm4iaW5uZXJIVE1MIj09PWE/cC5pbnNpZGUub3V0ZXJIVE1MOm51bGwhPShiPXAuaW5zaWRlLmlubmVyVGV4dCk/YjpwLmluc2lkZS50ZXh0Q29udGVudH0sc2V0OmZ1bmN0aW9uKGEpe3JldHVybiBwLnVwZGF0ZShhKX19KX0oZSl9Y2F0Y2gocSl7Yz1xLHRoaXMud2F0Y2hGb3JNdXRhdGlvbnMoKX19cmV0dXJuIGEucHJvdG90eXBlLnJlbmRlckluc2lkZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluc2lkZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLmluc2lkZS5jbGFzc05hbWU9Im9kb21ldGVyLWluc2lkZSIsdGhpcy5lbC5pbm5lckhUTUw9IiIsdGhpcy5lbC5hcHBlbmRDaGlsZCh0aGlzLmluc2lkZSl9LGEucHJvdG90eXBlLndhdGNoRm9yTXV0YXRpb25zPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzO2lmKG51bGwhPWwpdHJ5e3JldHVybiBudWxsPT10aGlzLm9ic2VydmVyJiYodGhpcy5vYnNlcnZlcj1uZXcgbChmdW5jdGlvbihhKXt2YXIgYztyZXR1cm4gYz1iLmVsLmlubmVyVGV4dCxiLnJlbmRlckluc2lkZSgpLGIucmVuZGVyKGIudmFsdWUpLGIudXBkYXRlKGMpfSkpLHRoaXMud2F0Y2hNdXRhdGlvbnM9ITAsdGhpcy5zdGFydFdhdGNoaW5nTXV0YXRpb25zKCl9Y2F0Y2goYyl7YT1jfX0sYS5wcm90b3R5cGUuc3RhcnRXYXRjaGluZ011dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndhdGNoTXV0YXRpb25zP3RoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLHtjaGlsZExpc3Q6ITB9KTp2b2lkIDB9LGEucHJvdG90eXBlLnN0b3BXYXRjaGluZ011dGF0aW9ucz1mdW5jdGlvbigpe3ZhciBhO3JldHVybiBudWxsIT0oYT10aGlzLm9ic2VydmVyKT9hLmRpc2Nvbm5lY3QoKTp2b2lkIDB9LGEucHJvdG90eXBlLmNsZWFuVmFsdWU9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBhJiYoYT1hLnJlcGxhY2UobnVsbCE9KGI9dGhpcy5mb3JtYXQucmFkaXgpP2I6Ii4iLCI8cmFkaXg+IiksYT1hLnJlcGxhY2UoL1suLF0vZywiIiksYT1hLnJlcGxhY2UoIjxyYWRpeD4iLCIuIiksYT1wYXJzZUZsb2F0KGEsMTApfHwwKSx4KGEsdGhpcy5mb3JtYXQucHJlY2lzaW9uKX0sYS5wcm90b3R5cGUuYmluZFRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz10aGlzO2lmKCF0aGlzLnRyYW5zaXRpb25FbmRCb3VuZCl7Zm9yKHRoaXMudHJhbnNpdGlvbkVuZEJvdW5kPSEwLGI9ITEsZT1vLnNwbGl0KCIgIiksZj1bXSxjPTAsZD1lLmxlbmd0aDtkPmM7YysrKWE9ZVtjXSxmLnB1c2godGhpcy5lbC5hZGRFdmVudExpc3RlbmVyKGEsZnVuY3Rpb24oKXtyZXR1cm4gYj8hMDooYj0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIGcucmVuZGVyKCksYj0hMSx6KGcuZWwsIm9kb21ldGVyZG9uZSIpfSwwKSwhMCl9LCExKSk7cmV0dXJuIGZ9fSxhLnByb3RvdHlwZS5yZXNldEZvcm1hdD1mdW5jdGlvbigpe3ZhciBhLGIsZCxlLGYsZyxpLGo7aWYoYT1udWxsIT0oaT10aGlzLm9wdGlvbnMuZm9ybWF0KT9pOmMsYXx8KGE9ImQiKSxkPWguZXhlYyhhKSwhZCl0aHJvdyBuZXcgRXJyb3IoIk9kb21ldGVyOiBVbnBhcnNhYmxlIGRpZ2l0IGZvcm1hdCIpO3JldHVybiBqPWQuc2xpY2UoMSw0KSxnPWpbMF0sZj1qWzFdLGI9alsyXSxlPShudWxsIT1iP2IubGVuZ3RoOnZvaWQgMCl8fDAsdGhpcy5mb3JtYXQ9e3JlcGVhdGluZzpnLHJhZGl4OmYscHJlY2lzaW9uOmV9fSxhLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg7Zm9yKG51bGw9PWEmJihhPXRoaXMudmFsdWUpLHRoaXMuc3RvcFdhdGNoaW5nTXV0YXRpb25zKCksdGhpcy5yZXNldEZvcm1hdCgpLHRoaXMuaW5zaWRlLmlubmVySFRNTD0iIixmPXRoaXMub3B0aW9ucy50aGVtZSxiPXRoaXMuZWwuY2xhc3NOYW1lLnNwbGl0KCIgIiksZT1bXSxnPTAsaD1iLmxlbmd0aDtoPmc7ZysrKWM9YltnXSxjLmxlbmd0aCYmKChkPS9eb2RvbWV0ZXItdGhlbWUtKC4rKSQvLmV4ZWMoYykpP2Y9ZFsxXTovXm9kb21ldGVyKC18JCkvLnRlc3QoYyl8fGUucHVzaChjKSk7cmV0dXJuIGUucHVzaCgib2RvbWV0ZXIiKSxwfHxlLnB1c2goIm9kb21ldGVyLW5vLXRyYW5zaXRpb25zIiksZj9lLnB1c2goIm9kb21ldGVyLXRoZW1lLSIrZik6ZS5wdXNoKCJvZG9tZXRlci1hdXRvLXRoZW1lIiksdGhpcy5lbC5jbGFzc05hbWU9ZS5qb2luKCIgIiksdGhpcy5yaWJib25zPXt9LHRoaXMuZm9ybWF0RGlnaXRzKGEpLHRoaXMuc3RhcnRXYXRjaGluZ011dGF0aW9ucygpfSxhLnByb3RvdHlwZS5mb3JtYXREaWdpdHM9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaSxqLGs7aWYodGhpcy5kaWdpdHM9W10sdGhpcy5vcHRpb25zLmZvcm1hdEZ1bmN0aW9uKWZvcihkPXRoaXMub3B0aW9ucy5mb3JtYXRGdW5jdGlvbihhKSxqPWQuc3BsaXQoIiIpLnJldmVyc2UoKSxmPTAsaD1qLmxlbmd0aDtoPmY7ZisrKWM9altmXSxjLm1hdGNoKC8wLTkvKT8oYj10aGlzLnJlbmRlckRpZ2l0KCksYi5xdWVyeVNlbGVjdG9yKCIub2RvbWV0ZXItdmFsdWUiKS5pbm5lckhUTUw9Yyx0aGlzLmRpZ2l0cy5wdXNoKGIpLHRoaXMuaW5zZXJ0RGlnaXQoYikpOnRoaXMuYWRkU3BhY2VyKGMpO2Vsc2UgZm9yKGU9IXRoaXMuZm9ybWF0LnByZWNpc2lvbnx8IXQoYSl8fCExLGs9YS50b1N0cmluZygpLnNwbGl0KCIiKS5yZXZlcnNlKCksZz0wLGk9ay5sZW5ndGg7aT5nO2crKyliPWtbZ10sIi4iPT09YiYmKGU9ITApLHRoaXMuYWRkRGlnaXQoYixlKX0sYS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGEpe3ZhciBiLGM9dGhpcztyZXR1cm4gYT10aGlzLmNsZWFuVmFsdWUoYSksKGI9YS10aGlzLnZhbHVlKT8odih0aGlzLmVsLCJvZG9tZXRlci1hbmltYXRpbmctdXAgb2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gb2RvbWV0ZXItYW5pbWF0aW5nIiksYj4wP3IodGhpcy5lbCwib2RvbWV0ZXItYW5pbWF0aW5nLXVwIik6cih0aGlzLmVsLCJvZG9tZXRlci1hbmltYXRpbmctZG93biIpLHRoaXMuc3RvcFdhdGNoaW5nTXV0YXRpb25zKCksdGhpcy5hbmltYXRlKGEpLHRoaXMuc3RhcnRXYXRjaGluZ011dGF0aW9ucygpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gYy5lbC5vZmZzZXRIZWlnaHQscihjLmVsLCJvZG9tZXRlci1hbmltYXRpbmciKX0sMCksdGhpcy52YWx1ZT1hKTp2b2lkIDB9LGEucHJvdG90eXBlLnJlbmRlckRpZ2l0PWZ1bmN0aW9uKCl7cmV0dXJuIHMoZCl9LGEucHJvdG90eXBlLmluc2VydERpZ2l0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWI/dGhpcy5pbnNpZGUuaW5zZXJ0QmVmb3JlKGEsYik6dGhpcy5pbnNpZGUuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuaW5zaWRlLmluc2VydEJlZm9yZShhLHRoaXMuaW5zaWRlLmNoaWxkcmVuWzBdKTp0aGlzLmluc2lkZS5hcHBlbmRDaGlsZChhKX0sYS5wcm90b3R5cGUuYWRkU3BhY2VyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gZD1zKGcpLGQuaW5uZXJIVE1MPWEsYyYmcihkLGMpLHRoaXMuaW5zZXJ0RGlnaXQoZCxiKX0sYS5wcm90b3R5cGUuYWRkRGlnaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZjtpZihudWxsPT1iJiYoYj0hMCksIi0iPT09YSlyZXR1cm4gdGhpcy5hZGRTcGFjZXIoYSxudWxsLCJvZG9tZXRlci1uZWdhdGlvbi1tYXJrIik7aWYoIi4iPT09YSlyZXR1cm4gdGhpcy5hZGRTcGFjZXIobnVsbCE9KGY9dGhpcy5mb3JtYXQucmFkaXgpP2Y6Ii4iLG51bGwsIm9kb21ldGVyLXJhZGl4LW1hcmsiKTtpZihiKWZvcihlPSExOzspe2lmKCF0aGlzLmZvcm1hdC5yZXBlYXRpbmcubGVuZ3RoKXtpZihlKXRocm93IG5ldyBFcnJvcigiQmFkIG9kb21ldGVyIGZvcm1hdCB3aXRob3V0IGRpZ2l0cyIpO3RoaXMucmVzZXRGb3JtYXQoKSxlPSEwfWlmKGM9dGhpcy5mb3JtYXQucmVwZWF0aW5nW3RoaXMuZm9ybWF0LnJlcGVhdGluZy5sZW5ndGgtMV0sdGhpcy5mb3JtYXQucmVwZWF0aW5nPXRoaXMuZm9ybWF0LnJlcGVhdGluZy5zdWJzdHJpbmcoMCx0aGlzLmZvcm1hdC5yZXBlYXRpbmcubGVuZ3RoLTEpLCJkIj09PWMpYnJlYWs7dGhpcy5hZGRTcGFjZXIoYyl9cmV0dXJuIGQ9dGhpcy5yZW5kZXJEaWdpdCgpLGQucXVlcnlTZWxlY3RvcigiLm9kb21ldGVyLXZhbHVlIikuaW5uZXJIVE1MPWEsdGhpcy5kaWdpdHMucHVzaChkKSx0aGlzLmluc2VydERpZ2l0KGQpfSxhLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGEpe3JldHVybiBwJiYiY291bnQiIT09dGhpcy5vcHRpb25zLmFuaW1hdGlvbj90aGlzLmFuaW1hdGVTbGlkZShhKTp0aGlzLmFuaW1hdGVDb3VudChhKX0sYS5wcm90b3R5cGUuYW5pbWF0ZUNvdW50PWZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxmLGcsaD10aGlzO2lmKGQ9K2EtdGhpcy52YWx1ZSlyZXR1cm4gZj1lPXUoKSxjPXRoaXMudmFsdWUsKGc9ZnVuY3Rpb24oKXt2YXIgaSxqLGs7cmV0dXJuIHUoKS1mPmgub3B0aW9ucy5kdXJhdGlvbj8oaC52YWx1ZT1hLGgucmVuZGVyKCksdm9pZCB6KGguZWwsIm9kb21ldGVyZG9uZSIpKTooaT11KCktZSxpPmImJihlPXUoKSxrPWkvaC5vcHRpb25zLmR1cmF0aW9uLGo9ZCprLGMrPWosaC5yZW5kZXIoTWF0aC5yb3VuZChjKSkpLG51bGwhPXc/dyhnKTpzZXRUaW1lb3V0KGcsYikpfSkoKX0sYS5wcm90b3R5cGUuZ2V0RGlnaXRDb3VudD1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGUsZjtmb3IoZD0xPD1hcmd1bWVudHMubGVuZ3RoP0cuY2FsbChhcmd1bWVudHMsMCk6W10sYT1lPTAsZj1kLmxlbmd0aDtmPmU7YT0rK2UpYz1kW2FdLGRbYV09TWF0aC5hYnMoYyk7cmV0dXJuIGI9TWF0aC5tYXguYXBwbHkoTWF0aCxkKSxNYXRoLmNlaWwoTWF0aC5sb2coYisxKS9NYXRoLmxvZygxMCkpfSxhLnByb3RvdHlwZS5nZXRGcmFjdGlvbmFsRGlnaXRDb3VudD1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGUsZixnO2ZvcihlPTE8PWFyZ3VtZW50cy5sZW5ndGg/Ry5jYWxsKGFyZ3VtZW50cywwKTpbXSxiPS9eXC0/XGQqXC4oXGQqPykwKiQvLGE9Zj0wLGc9ZS5sZW5ndGg7Zz5mO2E9KytmKWQ9ZVthXSxlW2FdPWQudG9TdHJpbmcoKSxjPWIuZXhlYyhlW2FdKSxudWxsPT1jP2VbYV09MDplW2FdPWNbMV0ubGVuZ3RoO3JldHVybiBNYXRoLm1heC5hcHBseShNYXRoLGUpfSxhLnByb3RvdHlwZS5yZXNldERpZ2l0cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRpZ2l0cz1bXSx0aGlzLnJpYmJvbnM9W10sdGhpcy5pbnNpZGUuaW5uZXJIVE1MPSIiLHRoaXMucmVzZXRGb3JtYXQoKX0sYS5wcm90b3R5cGUuYW5pbWF0ZVNsaWRlPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxmLGcsaCxpLGosayxsLG0sbixvLHAscSxzLHQsdSx2LHcseCx5LHosQixDLEQsRTtpZihzPXRoaXMudmFsdWUsaj10aGlzLmdldEZyYWN0aW9uYWxEaWdpdENvdW50KHMsYSksaiYmKGEqPU1hdGgucG93KDEwLGopLHMqPU1hdGgucG93KDEwLGopKSxkPWEtcyl7Zm9yKHRoaXMuYmluZFRyYW5zaXRpb25FbmQoKSxmPXRoaXMuZ2V0RGlnaXRDb3VudChzLGEpLGc9W10sYj0wLG09dj0wO2Y+PTA/Zj52OnY+ZjttPWY+PTA/Kyt2Oi0tdil7aWYodD1BKHMvTWF0aC5wb3coMTAsZi1tLTEpKSxpPUEoYS9NYXRoLnBvdygxMCxmLW0tMSkpLGg9aS10LE1hdGguYWJzKGgpPnRoaXMuTUFYX1ZBTFVFUyl7Zm9yKGw9W10sbj1oLyh0aGlzLk1BWF9WQUxVRVMrdGhpcy5NQVhfVkFMVUVTKmIqZSksYz10O2g+MCYmaT5jfHwwPmgmJmM+aTspbC5wdXNoKE1hdGgucm91bmQoYykpLGMrPW47bFtsLmxlbmd0aC0xXSE9PWkmJmwucHVzaChpKSxiKyt9ZWxzZSBsPWZ1bmN0aW9uKCl7RT1bXTtmb3IodmFyIGE9dDtpPj10P2k+PWE6YT49aTtpPj10P2ErKzphLS0pRS5wdXNoKGEpO3JldHVybiBFfS5hcHBseSh0aGlzKTtmb3IobT13PTAseT1sLmxlbmd0aDt5Pnc7bT0rK3cpaz1sW21dLGxbbV09TWF0aC5hYnMoayUxMCk7Zy5wdXNoKGwpfWZvcih0aGlzLnJlc2V0RGlnaXRzKCksRD1nLnJldmVyc2UoKSxtPXg9MCx6PUQubGVuZ3RoO3o+eDttPSsreClmb3IobD1EW21dLHRoaXMuZGlnaXRzW21dfHx0aGlzLmFkZERpZ2l0KCIgIixtPj1qKSxudWxsPT0odT10aGlzLnJpYmJvbnMpW21dJiYodVttXT10aGlzLmRpZ2l0c1ttXS5xdWVyeVNlbGVjdG9yKCIub2RvbWV0ZXItcmliYm9uLWlubmVyIikpLHRoaXMucmliYm9uc1ttXS5pbm5lckhUTUw9IiIsMD5kJiYobD1sLnJldmVyc2UoKSksbz1DPTAsQj1sLmxlbmd0aDtCPkM7bz0rK0Mpaz1sW29dLHE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikscS5jbGFzc05hbWU9Im9kb21ldGVyLXZhbHVlIixxLmlubmVySFRNTD1rLHRoaXMucmliYm9uc1ttXS5hcHBlbmRDaGlsZChxKSxvPT09bC5sZW5ndGgtMSYmcihxLCJvZG9tZXRlci1sYXN0LXZhbHVlIiksMD09PW8mJnIocSwib2RvbWV0ZXItZmlyc3QtdmFsdWUiKTtyZXR1cm4gMD50JiZ0aGlzLmFkZERpZ2l0KCItIikscD10aGlzLmluc2lkZS5xdWVyeVNlbGVjdG9yKCIub2RvbWV0ZXItcmFkaXgtbWFyayIpLG51bGwhPXAmJnAucGFyZW50LnJlbW92ZUNoaWxkKHApLGo/dGhpcy5hZGRTcGFjZXIodGhpcy5mb3JtYXQucmFkaXgsdGhpcy5kaWdpdHNbai0xXSwib2RvbWV0ZXItcmFkaXgtbWFyayIpOnZvaWQgMH19LGF9KCksbS5vcHRpb25zPW51bGwhPShFPXdpbmRvdy5vZG9tZXRlck9wdGlvbnMpP0U6e30sc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBhLGIsYyxkLGU7aWYod2luZG93Lm9kb21ldGVyT3B0aW9ucyl7ZD13aW5kb3cub2RvbWV0ZXJPcHRpb25zLGU9W107Zm9yKGEgaW4gZCliPWRbYV0sZS5wdXNoKG51bGwhPShjPW0ub3B0aW9ucylbYV0/KGM9bS5vcHRpb25zKVthXTpjW2FdPWIpO3JldHVybiBlfX0sMCksbS5pbml0PWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmO2lmKG51bGwhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwpe2ZvcihiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwobS5vcHRpb25zLnNlbGVjdG9yfHwiLm9kb21ldGVyIiksZj1bXSxjPTAsZD1iLmxlbmd0aDtkPmM7YysrKWE9YltjXSxmLnB1c2goYS5vZG9tZXRlcj1uZXcgbSh7ZWw6YSx2YWx1ZTpudWxsIT0oZT1hLmlubmVyVGV4dCk/ZTphLnRleHRDb250ZW50fSkpO3JldHVybiBmfX0sbnVsbCE9KG51bGwhPShGPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk/Ri5kb1Njcm9sbDp2b2lkIDApJiZudWxsIT1kb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdD8oRD1kb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UsZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGUmJm0ub3B0aW9ucy5hdXRvIT09ITEmJm0uaW5pdCgpLG51bGwhPUQ/RC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtyZXR1cm4gbS5vcHRpb25zLmF1dG8hPT0hMT9tLmluaXQoKTp2b2lkIDB9LCExKSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxmdW5jdGlvbigpe3JldHVybiBtfSk6InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzJiZudWxsIT09ZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1tOndpbmRvdy5PZG9tZXRlcj1tfSkuY2FsbCh0aGlzKTsNCg0KDQovKiENCiBzbGljayBzbGlkZXINCiBWZXJzaW9uOiAxLjguMA0KICBBdXRob3I6IEtlbiBXaGVlbGVyDQogICAgUmVwbzogaHR0cDovL2dpdGh1Yi5jb20va2Vud2hlZWxlci9zbGljaw0KICovDQohZnVuY3Rpb24oaSl7InVzZSBzdHJpY3QiOyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0saSk6InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWkocmVxdWlyZSgianF1ZXJ5IikpOmkoalF1ZXJ5KX0oZnVuY3Rpb24oaSl7InVzZSBzdHJpY3QiO3ZhciBlPXdpbmRvdy5TbGlja3x8e307KGU9ZnVuY3Rpb24oKXt2YXIgZT0wO3JldHVybiBmdW5jdGlvbih0LG8pe3ZhciBzLG49dGhpcztuLmRlZmF1bHRzPXthY2Nlc3NpYmlsaXR5OiEwLGFkYXB0aXZlSGVpZ2h0OiExLGFwcGVuZEFycm93czppKHQpLGFwcGVuZERvdHM6aSh0KSxhcnJvd3M6ITAsYXNOYXZGb3I6bnVsbCxwcmV2QXJyb3c6JzxidXR0b24gY2xhc3M9InNsaWNrLXByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIiB0eXBlPSJidXR0b24iPlByZXZpb3VzPC9idXR0b24+JyxuZXh0QXJyb3c6JzxidXR0b24gY2xhc3M9InNsaWNrLW5leHQiIGFyaWEtbGFiZWw9Ik5leHQiIHR5cGU9ImJ1dHRvbiI+TmV4dDwvYnV0dG9uPicsYXV0b3BsYXk6ITEsYXV0b3BsYXlTcGVlZDozZTMsY2VudGVyTW9kZTohMSxjZW50ZXJQYWRkaW5nOiI1MHB4Iixjc3NFYXNlOiJlYXNlIixjdXN0b21QYWdpbmc6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iIC8+JykudGV4dCh0KzEpfSxkb3RzOiExLGRvdHNDbGFzczoic2xpY2stZG90cyIsZHJhZ2dhYmxlOiEwLGVhc2luZzoibGluZWFyIixlZGdlRnJpY3Rpb246LjM1LGZhZGU6ITEsZm9jdXNPblNlbGVjdDohMSxmb2N1c09uQ2hhbmdlOiExLGluZmluaXRlOiEwLGluaXRpYWxTbGlkZTowLGxhenlMb2FkOiJvbmRlbWFuZCIsbW9iaWxlRmlyc3Q6ITEscGF1c2VPbkhvdmVyOiEwLHBhdXNlT25Gb2N1czohMCxwYXVzZU9uRG90c0hvdmVyOiExLHJlc3BvbmRUbzoid2luZG93IixyZXNwb25zaXZlOm51bGwscm93czoxLHJ0bDohMSxzbGlkZToiIixzbGlkZXNQZXJSb3c6MSxzbGlkZXNUb1Nob3c6MSxzbGlkZXNUb1Njcm9sbDoxLHNwZWVkOjUwMCxzd2lwZTohMCxzd2lwZVRvU2xpZGU6ITEsdG91Y2hNb3ZlOiEwLHRvdWNoVGhyZXNob2xkOjUsdXNlQ1NTOiEwLHVzZVRyYW5zZm9ybTohMCx2YXJpYWJsZVdpZHRoOiExLHZlcnRpY2FsOiExLHZlcnRpY2FsU3dpcGluZzohMSx3YWl0Rm9yQW5pbWF0ZTohMCx6SW5kZXg6MWUzfSxuLmluaXRpYWxzPXthbmltYXRpbmc6ITEsZHJhZ2dpbmc6ITEsYXV0b1BsYXlUaW1lcjpudWxsLGN1cnJlbnREaXJlY3Rpb246MCxjdXJyZW50TGVmdDpudWxsLGN1cnJlbnRTbGlkZTowLGRpcmVjdGlvbjoxLCRkb3RzOm51bGwsbGlzdFdpZHRoOm51bGwsbGlzdEhlaWdodDpudWxsLGxvYWRJbmRleDowLCRuZXh0QXJyb3c6bnVsbCwkcHJldkFycm93Om51bGwsc2Nyb2xsaW5nOiExLHNsaWRlQ291bnQ6bnVsbCxzbGlkZVdpZHRoOm51bGwsJHNsaWRlVHJhY2s6bnVsbCwkc2xpZGVzOm51bGwsc2xpZGluZzohMSxzbGlkZU9mZnNldDowLHN3aXBlTGVmdDpudWxsLHN3aXBpbmc6ITEsJGxpc3Q6bnVsbCx0b3VjaE9iamVjdDp7fSx0cmFuc2Zvcm1zRW5hYmxlZDohMSx1bnNsaWNrZWQ6ITF9LGkuZXh0ZW5kKG4sbi5pbml0aWFscyksbi5hY3RpdmVCcmVha3BvaW50PW51bGwsbi5hbmltVHlwZT1udWxsLG4uYW5pbVByb3A9bnVsbCxuLmJyZWFrcG9pbnRzPVtdLG4uYnJlYWtwb2ludFNldHRpbmdzPVtdLG4uY3NzVHJhbnNpdGlvbnM9ITEsbi5mb2N1c3NlZD0hMSxuLmludGVycnVwdGVkPSExLG4uaGlkZGVuPSJoaWRkZW4iLG4ucGF1c2VkPSEwLG4ucG9zaXRpb25Qcm9wPW51bGwsbi5yZXNwb25kVG89bnVsbCxuLnJvd0NvdW50PTEsbi5zaG91bGRDbGljaz0hMCxuLiRzbGlkZXI9aSh0KSxuLiRzbGlkZXNDYWNoZT1udWxsLG4udHJhbnNmb3JtVHlwZT1udWxsLG4udHJhbnNpdGlvblR5cGU9bnVsbCxuLnZpc2liaWxpdHlDaGFuZ2U9InZpc2liaWxpdHljaGFuZ2UiLG4ud2luZG93V2lkdGg9MCxuLndpbmRvd1RpbWVyPW51bGwscz1pKHQpLmRhdGEoInNsaWNrIil8fHt9LG4ub3B0aW9ucz1pLmV4dGVuZCh7fSxuLmRlZmF1bHRzLG8scyksbi5jdXJyZW50U2xpZGU9bi5vcHRpb25zLmluaXRpYWxTbGlkZSxuLm9yaWdpbmFsU2V0dGluZ3M9bi5vcHRpb25zLHZvaWQgMCE9PWRvY3VtZW50Lm1vekhpZGRlbj8obi5oaWRkZW49Im1vekhpZGRlbiIsbi52aXNpYmlsaXR5Q2hhbmdlPSJtb3p2aXNpYmlsaXR5Y2hhbmdlIik6dm9pZCAwIT09ZG9jdW1lbnQud2Via2l0SGlkZGVuJiYobi5oaWRkZW49IndlYmtpdEhpZGRlbiIsbi52aXNpYmlsaXR5Q2hhbmdlPSJ3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlIiksbi5hdXRvUGxheT1pLnByb3h5KG4uYXV0b1BsYXksbiksbi5hdXRvUGxheUNsZWFyPWkucHJveHkobi5hdXRvUGxheUNsZWFyLG4pLG4uYXV0b1BsYXlJdGVyYXRvcj1pLnByb3h5KG4uYXV0b1BsYXlJdGVyYXRvcixuKSxuLmNoYW5nZVNsaWRlPWkucHJveHkobi5jaGFuZ2VTbGlkZSxuKSxuLmNsaWNrSGFuZGxlcj1pLnByb3h5KG4uY2xpY2tIYW5kbGVyLG4pLG4uc2VsZWN0SGFuZGxlcj1pLnByb3h5KG4uc2VsZWN0SGFuZGxlcixuKSxuLnNldFBvc2l0aW9uPWkucHJveHkobi5zZXRQb3NpdGlvbixuKSxuLnN3aXBlSGFuZGxlcj1pLnByb3h5KG4uc3dpcGVIYW5kbGVyLG4pLG4uZHJhZ0hhbmRsZXI9aS5wcm94eShuLmRyYWdIYW5kbGVyLG4pLG4ua2V5SGFuZGxlcj1pLnByb3h5KG4ua2V5SGFuZGxlcixuKSxuLmluc3RhbmNlVWlkPWUrKyxuLmh0bWxFeHByPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKikkLyxuLnJlZ2lzdGVyQnJlYWtwb2ludHMoKSxuLmluaXQoITApfX0oKSkucHJvdG90eXBlLmFjdGl2YXRlQURBPWZ1bmN0aW9uKCl7dGhpcy4kc2xpZGVUcmFjay5maW5kKCIuc2xpY2stYWN0aXZlIikuYXR0cih7ImFyaWEtaGlkZGVuIjoiZmFsc2UifSkuZmluZCgiYSwgaW5wdXQsIGJ1dHRvbiwgc2VsZWN0IikuYXR0cih7dGFiaW5kZXg6IjAifSl9LGUucHJvdG90eXBlLmFkZFNsaWRlPWUucHJvdG90eXBlLnNsaWNrQWRkPWZ1bmN0aW9uKGUsdCxvKXt2YXIgcz10aGlzO2lmKCJib29sZWFuIj09dHlwZW9mIHQpbz10LHQ9bnVsbDtlbHNlIGlmKHQ8MHx8dD49cy5zbGlkZUNvdW50KXJldHVybiExO3MudW5sb2FkKCksIm51bWJlciI9PXR5cGVvZiB0PzA9PT10JiYwPT09cy4kc2xpZGVzLmxlbmd0aD9pKGUpLmFwcGVuZFRvKHMuJHNsaWRlVHJhY2spOm8/aShlKS5pbnNlcnRCZWZvcmUocy4kc2xpZGVzLmVxKHQpKTppKGUpLmluc2VydEFmdGVyKHMuJHNsaWRlcy5lcSh0KSk6ITA9PT1vP2koZSkucHJlcGVuZFRvKHMuJHNsaWRlVHJhY2spOmkoZSkuYXBwZW5kVG8ocy4kc2xpZGVUcmFjaykscy4kc2xpZGVzPXMuJHNsaWRlVHJhY2suY2hpbGRyZW4odGhpcy5vcHRpb25zLnNsaWRlKSxzLiRzbGlkZVRyYWNrLmNoaWxkcmVuKHRoaXMub3B0aW9ucy5zbGlkZSkuZGV0YWNoKCkscy4kc2xpZGVUcmFjay5hcHBlbmQocy4kc2xpZGVzKSxzLiRzbGlkZXMuZWFjaChmdW5jdGlvbihlLHQpe2kodCkuYXR0cigiZGF0YS1zbGljay1pbmRleCIsZSl9KSxzLiRzbGlkZXNDYWNoZT1zLiRzbGlkZXMscy5yZWluaXQoKX0sZS5wcm90b3R5cGUuYW5pbWF0ZUhlaWdodD1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aWYoMT09PWkub3B0aW9ucy5zbGlkZXNUb1Nob3cmJiEwPT09aS5vcHRpb25zLmFkYXB0aXZlSGVpZ2h0JiYhMT09PWkub3B0aW9ucy52ZXJ0aWNhbCl7dmFyIGU9aS4kc2xpZGVzLmVxKGkuY3VycmVudFNsaWRlKS5vdXRlckhlaWdodCghMCk7aS4kbGlzdC5hbmltYXRlKHtoZWlnaHQ6ZX0saS5vcHRpb25zLnNwZWVkKX19LGUucHJvdG90eXBlLmFuaW1hdGVTbGlkZT1mdW5jdGlvbihlLHQpe3ZhciBvPXt9LHM9dGhpcztzLmFuaW1hdGVIZWlnaHQoKSwhMD09PXMub3B0aW9ucy5ydGwmJiExPT09cy5vcHRpb25zLnZlcnRpY2FsJiYoZT0tZSksITE9PT1zLnRyYW5zZm9ybXNFbmFibGVkPyExPT09cy5vcHRpb25zLnZlcnRpY2FsP3MuJHNsaWRlVHJhY2suYW5pbWF0ZSh7bGVmdDplfSxzLm9wdGlvbnMuc3BlZWQscy5vcHRpb25zLmVhc2luZyx0KTpzLiRzbGlkZVRyYWNrLmFuaW1hdGUoe3RvcDplfSxzLm9wdGlvbnMuc3BlZWQscy5vcHRpb25zLmVhc2luZyx0KTohMT09PXMuY3NzVHJhbnNpdGlvbnM/KCEwPT09cy5vcHRpb25zLnJ0bCYmKHMuY3VycmVudExlZnQ9LXMuY3VycmVudExlZnQpLGkoe2FuaW1TdGFydDpzLmN1cnJlbnRMZWZ0fSkuYW5pbWF0ZSh7YW5pbVN0YXJ0OmV9LHtkdXJhdGlvbjpzLm9wdGlvbnMuc3BlZWQsZWFzaW5nOnMub3B0aW9ucy5lYXNpbmcsc3RlcDpmdW5jdGlvbihpKXtpPU1hdGguY2VpbChpKSwhMT09PXMub3B0aW9ucy52ZXJ0aWNhbD8ob1tzLmFuaW1UeXBlXT0idHJhbnNsYXRlKCIraSsicHgsIDBweCkiLHMuJHNsaWRlVHJhY2suY3NzKG8pKToob1tzLmFuaW1UeXBlXT0idHJhbnNsYXRlKDBweCwiK2krInB4KSIscy4kc2xpZGVUcmFjay5jc3MobykpfSxjb21wbGV0ZTpmdW5jdGlvbigpe3QmJnQuY2FsbCgpfX0pKToocy5hcHBseVRyYW5zaXRpb24oKSxlPU1hdGguY2VpbChlKSwhMT09PXMub3B0aW9ucy52ZXJ0aWNhbD9vW3MuYW5pbVR5cGVdPSJ0cmFuc2xhdGUzZCgiK2UrInB4LCAwcHgsIDBweCkiOm9bcy5hbmltVHlwZV09InRyYW5zbGF0ZTNkKDBweCwiK2UrInB4LCAwcHgpIixzLiRzbGlkZVRyYWNrLmNzcyhvKSx0JiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cy5kaXNhYmxlVHJhbnNpdGlvbigpLHQuY2FsbCgpfSxzLm9wdGlvbnMuc3BlZWQpKX0sZS5wcm90b3R5cGUuZ2V0TmF2VGFyZ2V0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUub3B0aW9ucy5hc05hdkZvcjtyZXR1cm4gdCYmbnVsbCE9PXQmJih0PWkodCkubm90KGUuJHNsaWRlcikpLHR9LGUucHJvdG90eXBlLmFzTmF2Rm9yPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0TmF2VGFyZ2V0KCk7bnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9aSh0aGlzKS5zbGljaygiZ2V0U2xpY2siKTt0LnVuc2xpY2tlZHx8dC5zbGlkZUhhbmRsZXIoZSwhMCl9KX0sZS5wcm90b3R5cGUuYXBwbHlUcmFuc2l0aW9uPWZ1bmN0aW9uKGkpe3ZhciBlPXRoaXMsdD17fTshMT09PWUub3B0aW9ucy5mYWRlP3RbZS50cmFuc2l0aW9uVHlwZV09ZS50cmFuc2Zvcm1UeXBlKyIgIitlLm9wdGlvbnMuc3BlZWQrIm1zICIrZS5vcHRpb25zLmNzc0Vhc2U6dFtlLnRyYW5zaXRpb25UeXBlXT0ib3BhY2l0eSAiK2Uub3B0aW9ucy5zcGVlZCsibXMgIitlLm9wdGlvbnMuY3NzRWFzZSwhMT09PWUub3B0aW9ucy5mYWRlP2UuJHNsaWRlVHJhY2suY3NzKHQpOmUuJHNsaWRlcy5lcShpKS5jc3ModCl9LGUucHJvdG90eXBlLmF1dG9QbGF5PWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLmF1dG9QbGF5Q2xlYXIoKSxpLnNsaWRlQ291bnQ+aS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGkuYXV0b1BsYXlUaW1lcj1zZXRJbnRlcnZhbChpLmF1dG9QbGF5SXRlcmF0b3IsaS5vcHRpb25zLmF1dG9wbGF5U3BlZWQpKX0sZS5wcm90b3R5cGUuYXV0b1BsYXlDbGVhcj1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aS5hdXRvUGxheVRpbWVyJiZjbGVhckludGVydmFsKGkuYXV0b1BsYXlUaW1lcil9LGUucHJvdG90eXBlLmF1dG9QbGF5SXRlcmF0b3I9ZnVuY3Rpb24oKXt2YXIgaT10aGlzLGU9aS5jdXJyZW50U2xpZGUraS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsO2kucGF1c2VkfHxpLmludGVycnVwdGVkfHxpLmZvY3Vzc2VkfHwoITE9PT1pLm9wdGlvbnMuaW5maW5pdGUmJigxPT09aS5kaXJlY3Rpb24mJmkuY3VycmVudFNsaWRlKzE9PT1pLnNsaWRlQ291bnQtMT9pLmRpcmVjdGlvbj0wOjA9PT1pLmRpcmVjdGlvbiYmKGU9aS5jdXJyZW50U2xpZGUtaS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsLGkuY3VycmVudFNsaWRlLTE9PTAmJihpLmRpcmVjdGlvbj0xKSkpLGkuc2xpZGVIYW5kbGVyKGUpKX0sZS5wcm90b3R5cGUuYnVpbGRBcnJvd3M9ZnVuY3Rpb24oKXt2YXIgZT10aGlzOyEwPT09ZS5vcHRpb25zLmFycm93cyYmKGUuJHByZXZBcnJvdz1pKGUub3B0aW9ucy5wcmV2QXJyb3cpLmFkZENsYXNzKCJzbGljay1hcnJvdyIpLGUuJG5leHRBcnJvdz1pKGUub3B0aW9ucy5uZXh0QXJyb3cpLmFkZENsYXNzKCJzbGljay1hcnJvdyIpLGUuc2xpZGVDb3VudD5lLm9wdGlvbnMuc2xpZGVzVG9TaG93PyhlLiRwcmV2QXJyb3cucmVtb3ZlQ2xhc3MoInNsaWNrLWhpZGRlbiIpLnJlbW92ZUF0dHIoImFyaWEtaGlkZGVuIHRhYmluZGV4IiksZS4kbmV4dEFycm93LnJlbW92ZUNsYXNzKCJzbGljay1oaWRkZW4iKS5yZW1vdmVBdHRyKCJhcmlhLWhpZGRlbiB0YWJpbmRleCIpLGUuaHRtbEV4cHIudGVzdChlLm9wdGlvbnMucHJldkFycm93KSYmZS4kcHJldkFycm93LnByZXBlbmRUbyhlLm9wdGlvbnMuYXBwZW5kQXJyb3dzKSxlLmh0bWxFeHByLnRlc3QoZS5vcHRpb25zLm5leHRBcnJvdykmJmUuJG5leHRBcnJvdy5hcHBlbmRUbyhlLm9wdGlvbnMuYXBwZW5kQXJyb3dzKSwhMCE9PWUub3B0aW9ucy5pbmZpbml0ZSYmZS4kcHJldkFycm93LmFkZENsYXNzKCJzbGljay1kaXNhYmxlZCIpLmF0dHIoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIikpOmUuJHByZXZBcnJvdy5hZGQoZS4kbmV4dEFycm93KS5hZGRDbGFzcygic2xpY2staGlkZGVuIikuYXR0cih7ImFyaWEtZGlzYWJsZWQiOiJ0cnVlIix0YWJpbmRleDoiLTEifSkpfSxlLnByb3RvdHlwZS5idWlsZERvdHM9ZnVuY3Rpb24oKXt2YXIgZSx0LG89dGhpcztpZighMD09PW8ub3B0aW9ucy5kb3RzKXtmb3Ioby4kc2xpZGVyLmFkZENsYXNzKCJzbGljay1kb3R0ZWQiKSx0PWkoIjx1bCAvPiIpLmFkZENsYXNzKG8ub3B0aW9ucy5kb3RzQ2xhc3MpLGU9MDtlPD1vLmdldERvdENvdW50KCk7ZSs9MSl0LmFwcGVuZChpKCI8bGkgLz4iKS5hcHBlbmQoby5vcHRpb25zLmN1c3RvbVBhZ2luZy5jYWxsKHRoaXMsbyxlKSkpO28uJGRvdHM9dC5hcHBlbmRUbyhvLm9wdGlvbnMuYXBwZW5kRG90cyksby4kZG90cy5maW5kKCJsaSIpLmZpcnN0KCkuYWRkQ2xhc3MoInNsaWNrLWFjdGl2ZSIpfX0sZS5wcm90b3R5cGUuYnVpbGRPdXQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2UuJHNsaWRlcz1lLiRzbGlkZXIuY2hpbGRyZW4oZS5vcHRpb25zLnNsaWRlKyI6bm90KC5zbGljay1jbG9uZWQpIikuYWRkQ2xhc3MoInNsaWNrLXNsaWRlIiksZS5zbGlkZUNvdW50PWUuJHNsaWRlcy5sZW5ndGgsZS4kc2xpZGVzLmVhY2goZnVuY3Rpb24oZSx0KXtpKHQpLmF0dHIoImRhdGEtc2xpY2staW5kZXgiLGUpLmRhdGEoIm9yaWdpbmFsU3R5bGluZyIsaSh0KS5hdHRyKCJzdHlsZSIpfHwiIil9KSxlLiRzbGlkZXIuYWRkQ2xhc3MoInNsaWNrLXNsaWRlciIpLGUuJHNsaWRlVHJhY2s9MD09PWUuc2xpZGVDb3VudD9pKCc8ZGl2IGNsYXNzPSJzbGljay10cmFjayIvPicpLmFwcGVuZFRvKGUuJHNsaWRlcik6ZS4kc2xpZGVzLndyYXBBbGwoJzxkaXYgY2xhc3M9InNsaWNrLXRyYWNrIi8+JykucGFyZW50KCksZS4kbGlzdD1lLiRzbGlkZVRyYWNrLndyYXAoJzxkaXYgY2xhc3M9InNsaWNrLWxpc3QiLz4nKS5wYXJlbnQoKSxlLiRzbGlkZVRyYWNrLmNzcygib3BhY2l0eSIsMCksITAhPT1lLm9wdGlvbnMuY2VudGVyTW9kZSYmITAhPT1lLm9wdGlvbnMuc3dpcGVUb1NsaWRlfHwoZS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsPTEpLGkoImltZ1tkYXRhLWxhenldIixlLiRzbGlkZXIpLm5vdCgiW3NyY10iKS5hZGRDbGFzcygic2xpY2stbG9hZGluZyIpLGUuc2V0dXBJbmZpbml0ZSgpLGUuYnVpbGRBcnJvd3MoKSxlLmJ1aWxkRG90cygpLGUudXBkYXRlRG90cygpLGUuc2V0U2xpZGVDbGFzc2VzKCJudW1iZXIiPT10eXBlb2YgZS5jdXJyZW50U2xpZGU/ZS5jdXJyZW50U2xpZGU6MCksITA9PT1lLm9wdGlvbnMuZHJhZ2dhYmxlJiZlLiRsaXN0LmFkZENsYXNzKCJkcmFnZ2FibGUiKX0sZS5wcm90b3R5cGUuYnVpbGRSb3dzPWZ1bmN0aW9uKCl7dmFyIGksZSx0LG8scyxuLHIsbD10aGlzO2lmKG89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLG49bC4kc2xpZGVyLmNoaWxkcmVuKCksbC5vcHRpb25zLnJvd3M+MSl7Zm9yKHI9bC5vcHRpb25zLnNsaWRlc1BlclJvdypsLm9wdGlvbnMucm93cyxzPU1hdGguY2VpbChuLmxlbmd0aC9yKSxpPTA7aTxzO2krKyl7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKGU9MDtlPGwub3B0aW9ucy5yb3dzO2UrKyl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKHQ9MDt0PGwub3B0aW9ucy5zbGlkZXNQZXJSb3c7dCsrKXt2YXIgYz1pKnIrKGUqbC5vcHRpb25zLnNsaWRlc1BlclJvdyt0KTtuLmdldChjKSYmYS5hcHBlbmRDaGlsZChuLmdldChjKSl9ZC5hcHBlbmRDaGlsZChhKX1vLmFwcGVuZENoaWxkKGQpfWwuJHNsaWRlci5lbXB0eSgpLmFwcGVuZChvKSxsLiRzbGlkZXIuY2hpbGRyZW4oKS5jaGlsZHJlbigpLmNoaWxkcmVuKCkuY3NzKHt3aWR0aDoxMDAvbC5vcHRpb25zLnNsaWRlc1BlclJvdysiJSIsZGlzcGxheToiaW5saW5lLWJsb2NrIn0pfX0sZS5wcm90b3R5cGUuY2hlY2tSZXNwb25zaXZlPWZ1bmN0aW9uKGUsdCl7dmFyIG8scyxuLHI9dGhpcyxsPSExLGQ9ci4kc2xpZGVyLndpZHRoKCksYT13aW5kb3cuaW5uZXJXaWR0aHx8aSh3aW5kb3cpLndpZHRoKCk7aWYoIndpbmRvdyI9PT1yLnJlc3BvbmRUbz9uPWE6InNsaWRlciI9PT1yLnJlc3BvbmRUbz9uPWQ6Im1pbiI9PT1yLnJlc3BvbmRUbyYmKG49TWF0aC5taW4oYSxkKSksci5vcHRpb25zLnJlc3BvbnNpdmUmJnIub3B0aW9ucy5yZXNwb25zaXZlLmxlbmd0aCYmbnVsbCE9PXIub3B0aW9ucy5yZXNwb25zaXZlKXtzPW51bGw7Zm9yKG8gaW4gci5icmVha3BvaW50cylyLmJyZWFrcG9pbnRzLmhhc093blByb3BlcnR5KG8pJiYoITE9PT1yLm9yaWdpbmFsU2V0dGluZ3MubW9iaWxlRmlyc3Q/bjxyLmJyZWFrcG9pbnRzW29dJiYocz1yLmJyZWFrcG9pbnRzW29dKTpuPnIuYnJlYWtwb2ludHNbb10mJihzPXIuYnJlYWtwb2ludHNbb10pKTtudWxsIT09cz9udWxsIT09ci5hY3RpdmVCcmVha3BvaW50PyhzIT09ci5hY3RpdmVCcmVha3BvaW50fHx0KSYmKHIuYWN0aXZlQnJlYWtwb2ludD1zLCJ1bnNsaWNrIj09PXIuYnJlYWtwb2ludFNldHRpbmdzW3NdP3IudW5zbGljayhzKTooci5vcHRpb25zPWkuZXh0ZW5kKHt9LHIub3JpZ2luYWxTZXR0aW5ncyxyLmJyZWFrcG9pbnRTZXR0aW5nc1tzXSksITA9PT1lJiYoci5jdXJyZW50U2xpZGU9ci5vcHRpb25zLmluaXRpYWxTbGlkZSksci5yZWZyZXNoKGUpKSxsPXMpOihyLmFjdGl2ZUJyZWFrcG9pbnQ9cywidW5zbGljayI9PT1yLmJyZWFrcG9pbnRTZXR0aW5nc1tzXT9yLnVuc2xpY2socyk6KHIub3B0aW9ucz1pLmV4dGVuZCh7fSxyLm9yaWdpbmFsU2V0dGluZ3Msci5icmVha3BvaW50U2V0dGluZ3Nbc10pLCEwPT09ZSYmKHIuY3VycmVudFNsaWRlPXIub3B0aW9ucy5pbml0aWFsU2xpZGUpLHIucmVmcmVzaChlKSksbD1zKTpudWxsIT09ci5hY3RpdmVCcmVha3BvaW50JiYoci5hY3RpdmVCcmVha3BvaW50PW51bGwsci5vcHRpb25zPXIub3JpZ2luYWxTZXR0aW5ncywhMD09PWUmJihyLmN1cnJlbnRTbGlkZT1yLm9wdGlvbnMuaW5pdGlhbFNsaWRlKSxyLnJlZnJlc2goZSksbD1zKSxlfHwhMT09PWx8fHIuJHNsaWRlci50cmlnZ2VyKCJicmVha3BvaW50IixbcixsXSl9fSxlLnByb3RvdHlwZS5jaGFuZ2VTbGlkZT1mdW5jdGlvbihlLHQpe3ZhciBvLHMsbixyPXRoaXMsbD1pKGUuY3VycmVudFRhcmdldCk7c3dpdGNoKGwuaXMoImEiKSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwuaXMoImxpIil8fChsPWwuY2xvc2VzdCgibGkiKSksbj1yLnNsaWRlQ291bnQlci5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsIT0wLG89bj8wOihyLnNsaWRlQ291bnQtci5jdXJyZW50U2xpZGUpJXIub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCxlLmRhdGEubWVzc2FnZSl7Y2FzZSJwcmV2aW91cyI6cz0wPT09bz9yLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGw6ci5vcHRpb25zLnNsaWRlc1RvU2hvdy1vLHIuc2xpZGVDb3VudD5yLm9wdGlvbnMuc2xpZGVzVG9TaG93JiZyLnNsaWRlSGFuZGxlcihyLmN1cnJlbnRTbGlkZS1zLCExLHQpO2JyZWFrO2Nhc2UibmV4dCI6cz0wPT09bz9yLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGw6byxyLnNsaWRlQ291bnQ+ci5vcHRpb25zLnNsaWRlc1RvU2hvdyYmci5zbGlkZUhhbmRsZXIoci5jdXJyZW50U2xpZGUrcywhMSx0KTticmVhaztjYXNlImluZGV4Ijp2YXIgZD0wPT09ZS5kYXRhLmluZGV4PzA6ZS5kYXRhLmluZGV4fHxsLmluZGV4KCkqci5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsO3Iuc2xpZGVIYW5kbGVyKHIuY2hlY2tOYXZpZ2FibGUoZCksITEsdCksbC5jaGlsZHJlbigpLnRyaWdnZXIoImZvY3VzIik7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fSxlLnByb3RvdHlwZS5jaGVja05hdmlnYWJsZT1mdW5jdGlvbihpKXt2YXIgZSx0O2lmKGU9dGhpcy5nZXROYXZpZ2FibGVJbmRleGVzKCksdD0wLGk+ZVtlLmxlbmd0aC0xXSlpPWVbZS5sZW5ndGgtMV07ZWxzZSBmb3IodmFyIG8gaW4gZSl7aWYoaTxlW29dKXtpPXQ7YnJlYWt9dD1lW29dfXJldHVybiBpfSxlLnByb3RvdHlwZS5jbGVhblVwRXZlbnRzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLm9wdGlvbnMuZG90cyYmbnVsbCE9PWUuJGRvdHMmJihpKCJsaSIsZS4kZG90cykub2ZmKCJjbGljay5zbGljayIsZS5jaGFuZ2VTbGlkZSkub2ZmKCJtb3VzZWVudGVyLnNsaWNrIixpLnByb3h5KGUuaW50ZXJydXB0LGUsITApKS5vZmYoIm1vdXNlbGVhdmUuc2xpY2siLGkucHJveHkoZS5pbnRlcnJ1cHQsZSwhMSkpLCEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHkmJmUuJGRvdHMub2ZmKCJrZXlkb3duLnNsaWNrIixlLmtleUhhbmRsZXIpKSxlLiRzbGlkZXIub2ZmKCJmb2N1cy5zbGljayBibHVyLnNsaWNrIiksITA9PT1lLm9wdGlvbnMuYXJyb3dzJiZlLnNsaWRlQ291bnQ+ZS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGUuJHByZXZBcnJvdyYmZS4kcHJldkFycm93Lm9mZigiY2xpY2suc2xpY2siLGUuY2hhbmdlU2xpZGUpLGUuJG5leHRBcnJvdyYmZS4kbmV4dEFycm93Lm9mZigiY2xpY2suc2xpY2siLGUuY2hhbmdlU2xpZGUpLCEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHkmJihlLiRwcmV2QXJyb3cmJmUuJHByZXZBcnJvdy5vZmYoImtleWRvd24uc2xpY2siLGUua2V5SGFuZGxlciksZS4kbmV4dEFycm93JiZlLiRuZXh0QXJyb3cub2ZmKCJrZXlkb3duLnNsaWNrIixlLmtleUhhbmRsZXIpKSksZS4kbGlzdC5vZmYoInRvdWNoc3RhcnQuc2xpY2sgbW91c2Vkb3duLnNsaWNrIixlLnN3aXBlSGFuZGxlciksZS4kbGlzdC5vZmYoInRvdWNobW92ZS5zbGljayBtb3VzZW1vdmUuc2xpY2siLGUuc3dpcGVIYW5kbGVyKSxlLiRsaXN0Lm9mZigidG91Y2hlbmQuc2xpY2sgbW91c2V1cC5zbGljayIsZS5zd2lwZUhhbmRsZXIpLGUuJGxpc3Qub2ZmKCJ0b3VjaGNhbmNlbC5zbGljayBtb3VzZWxlYXZlLnNsaWNrIixlLnN3aXBlSGFuZGxlciksZS4kbGlzdC5vZmYoImNsaWNrLnNsaWNrIixlLmNsaWNrSGFuZGxlciksaShkb2N1bWVudCkub2ZmKGUudmlzaWJpbGl0eUNoYW5nZSxlLnZpc2liaWxpdHkpLGUuY2xlYW5VcFNsaWRlRXZlbnRzKCksITA9PT1lLm9wdGlvbnMuYWNjZXNzaWJpbGl0eSYmZS4kbGlzdC5vZmYoImtleWRvd24uc2xpY2siLGUua2V5SGFuZGxlciksITA9PT1lLm9wdGlvbnMuZm9jdXNPblNlbGVjdCYmaShlLiRzbGlkZVRyYWNrKS5jaGlsZHJlbigpLm9mZigiY2xpY2suc2xpY2siLGUuc2VsZWN0SGFuZGxlciksaSh3aW5kb3cpLm9mZigib3JpZW50YXRpb25jaGFuZ2Uuc2xpY2suc2xpY2stIitlLmluc3RhbmNlVWlkLGUub3JpZW50YXRpb25DaGFuZ2UpLGkod2luZG93KS5vZmYoInJlc2l6ZS5zbGljay5zbGljay0iK2UuaW5zdGFuY2VVaWQsZS5yZXNpemUpLGkoIltkcmFnZ2FibGUhPXRydWVdIixlLiRzbGlkZVRyYWNrKS5vZmYoImRyYWdzdGFydCIsZS5wcmV2ZW50RGVmYXVsdCksaSh3aW5kb3cpLm9mZigibG9hZC5zbGljay5zbGljay0iK2UuaW5zdGFuY2VVaWQsZS5zZXRQb3NpdGlvbil9LGUucHJvdG90eXBlLmNsZWFuVXBTbGlkZUV2ZW50cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS4kbGlzdC5vZmYoIm1vdXNlZW50ZXIuc2xpY2siLGkucHJveHkoZS5pbnRlcnJ1cHQsZSwhMCkpLGUuJGxpc3Qub2ZmKCJtb3VzZWxlYXZlLnNsaWNrIixpLnByb3h5KGUuaW50ZXJydXB0LGUsITEpKX0sZS5wcm90b3R5cGUuY2xlYW5VcFJvd3M9ZnVuY3Rpb24oKXt2YXIgaSxlPXRoaXM7ZS5vcHRpb25zLnJvd3M+MSYmKChpPWUuJHNsaWRlcy5jaGlsZHJlbigpLmNoaWxkcmVuKCkpLnJlbW92ZUF0dHIoInN0eWxlIiksZS4kc2xpZGVyLmVtcHR5KCkuYXBwZW5kKGkpKX0sZS5wcm90b3R5cGUuY2xpY2tIYW5kbGVyPWZ1bmN0aW9uKGkpeyExPT09dGhpcy5zaG91bGRDbGljayYmKGkuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksaS5zdG9wUHJvcGFnYXRpb24oKSxpLnByZXZlbnREZWZhdWx0KCkpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5hdXRvUGxheUNsZWFyKCksdC50b3VjaE9iamVjdD17fSx0LmNsZWFuVXBFdmVudHMoKSxpKCIuc2xpY2stY2xvbmVkIix0LiRzbGlkZXIpLmRldGFjaCgpLHQuJGRvdHMmJnQuJGRvdHMucmVtb3ZlKCksdC4kcHJldkFycm93JiZ0LiRwcmV2QXJyb3cubGVuZ3RoJiYodC4kcHJldkFycm93LnJlbW92ZUNsYXNzKCJzbGljay1kaXNhYmxlZCBzbGljay1hcnJvdyBzbGljay1oaWRkZW4iKS5yZW1vdmVBdHRyKCJhcmlhLWhpZGRlbiBhcmlhLWRpc2FibGVkIHRhYmluZGV4IikuY3NzKCJkaXNwbGF5IiwiIiksdC5odG1sRXhwci50ZXN0KHQub3B0aW9ucy5wcmV2QXJyb3cpJiZ0LiRwcmV2QXJyb3cucmVtb3ZlKCkpLHQuJG5leHRBcnJvdyYmdC4kbmV4dEFycm93Lmxlbmd0aCYmKHQuJG5leHRBcnJvdy5yZW1vdmVDbGFzcygic2xpY2stZGlzYWJsZWQgc2xpY2stYXJyb3cgc2xpY2staGlkZGVuIikucmVtb3ZlQXR0cigiYXJpYS1oaWRkZW4gYXJpYS1kaXNhYmxlZCB0YWJpbmRleCIpLmNzcygiZGlzcGxheSIsIiIpLHQuaHRtbEV4cHIudGVzdCh0Lm9wdGlvbnMubmV4dEFycm93KSYmdC4kbmV4dEFycm93LnJlbW92ZSgpKSx0LiRzbGlkZXMmJih0LiRzbGlkZXMucmVtb3ZlQ2xhc3MoInNsaWNrLXNsaWRlIHNsaWNrLWFjdGl2ZSBzbGljay1jZW50ZXIgc2xpY2stdmlzaWJsZSBzbGljay1jdXJyZW50IikucmVtb3ZlQXR0cigiYXJpYS1oaWRkZW4iKS5yZW1vdmVBdHRyKCJkYXRhLXNsaWNrLWluZGV4IikuZWFjaChmdW5jdGlvbigpe2kodGhpcykuYXR0cigic3R5bGUiLGkodGhpcykuZGF0YSgib3JpZ2luYWxTdHlsaW5nIikpfSksdC4kc2xpZGVUcmFjay5jaGlsZHJlbih0aGlzLm9wdGlvbnMuc2xpZGUpLmRldGFjaCgpLHQuJHNsaWRlVHJhY2suZGV0YWNoKCksdC4kbGlzdC5kZXRhY2goKSx0LiRzbGlkZXIuYXBwZW5kKHQuJHNsaWRlcykpLHQuY2xlYW5VcFJvd3MoKSx0LiRzbGlkZXIucmVtb3ZlQ2xhc3MoInNsaWNrLXNsaWRlciIpLHQuJHNsaWRlci5yZW1vdmVDbGFzcygic2xpY2staW5pdGlhbGl6ZWQiKSx0LiRzbGlkZXIucmVtb3ZlQ2xhc3MoInNsaWNrLWRvdHRlZCIpLHQudW5zbGlja2VkPSEwLGV8fHQuJHNsaWRlci50cmlnZ2VyKCJkZXN0cm95IixbdF0pfSxlLnByb3RvdHlwZS5kaXNhYmxlVHJhbnNpdGlvbj1mdW5jdGlvbihpKXt2YXIgZT10aGlzLHQ9e307dFtlLnRyYW5zaXRpb25UeXBlXT0iIiwhMT09PWUub3B0aW9ucy5mYWRlP2UuJHNsaWRlVHJhY2suY3NzKHQpOmUuJHNsaWRlcy5lcShpKS5jc3ModCl9LGUucHJvdG90eXBlLmZhZGVTbGlkZT1mdW5jdGlvbihpLGUpe3ZhciB0PXRoaXM7ITE9PT10LmNzc1RyYW5zaXRpb25zPyh0LiRzbGlkZXMuZXEoaSkuY3NzKHt6SW5kZXg6dC5vcHRpb25zLnpJbmRleH0pLHQuJHNsaWRlcy5lcShpKS5hbmltYXRlKHtvcGFjaXR5OjF9LHQub3B0aW9ucy5zcGVlZCx0Lm9wdGlvbnMuZWFzaW5nLGUpKToodC5hcHBseVRyYW5zaXRpb24oaSksdC4kc2xpZGVzLmVxKGkpLmNzcyh7b3BhY2l0eToxLHpJbmRleDp0Lm9wdGlvbnMuekluZGV4fSksZSYmc2V0VGltZW91dChmdW5jdGlvbigpe3QuZGlzYWJsZVRyYW5zaXRpb24oaSksZS5jYWxsKCl9LHQub3B0aW9ucy5zcGVlZCkpfSxlLnByb3RvdHlwZS5mYWRlU2xpZGVPdXQ9ZnVuY3Rpb24oaSl7dmFyIGU9dGhpczshMT09PWUuY3NzVHJhbnNpdGlvbnM/ZS4kc2xpZGVzLmVxKGkpLmFuaW1hdGUoe29wYWNpdHk6MCx6SW5kZXg6ZS5vcHRpb25zLnpJbmRleC0yfSxlLm9wdGlvbnMuc3BlZWQsZS5vcHRpb25zLmVhc2luZyk6KGUuYXBwbHlUcmFuc2l0aW9uKGkpLGUuJHNsaWRlcy5lcShpKS5jc3Moe29wYWNpdHk6MCx6SW5kZXg6ZS5vcHRpb25zLnpJbmRleC0yfSkpfSxlLnByb3RvdHlwZS5maWx0ZXJTbGlkZXM9ZS5wcm90b3R5cGUuc2xpY2tGaWx0ZXI9ZnVuY3Rpb24oaSl7dmFyIGU9dGhpcztudWxsIT09aSYmKGUuJHNsaWRlc0NhY2hlPWUuJHNsaWRlcyxlLnVubG9hZCgpLGUuJHNsaWRlVHJhY2suY2hpbGRyZW4odGhpcy5vcHRpb25zLnNsaWRlKS5kZXRhY2goKSxlLiRzbGlkZXNDYWNoZS5maWx0ZXIoaSkuYXBwZW5kVG8oZS4kc2xpZGVUcmFjayksZS5yZWluaXQoKSl9LGUucHJvdG90eXBlLmZvY3VzSGFuZGxlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS4kc2xpZGVyLm9mZigiZm9jdXMuc2xpY2sgYmx1ci5zbGljayIpLm9uKCJmb2N1cy5zbGljayBibHVyLnNsaWNrIiwiKiIsZnVuY3Rpb24odCl7dC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTt2YXIgbz1pKHRoaXMpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtlLm9wdGlvbnMucGF1c2VPbkZvY3VzJiYoZS5mb2N1c3NlZD1vLmlzKCI6Zm9jdXMiKSxlLmF1dG9QbGF5KCkpfSwwKX0pfSxlLnByb3RvdHlwZS5nZXRDdXJyZW50PWUucHJvdG90eXBlLnNsaWNrQ3VycmVudFNsaWRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VycmVudFNsaWRlfSxlLnByb3RvdHlwZS5nZXREb3RDb3VudD1mdW5jdGlvbigpe3ZhciBpPXRoaXMsZT0wLHQ9MCxvPTA7aWYoITA9PT1pLm9wdGlvbnMuaW5maW5pdGUpaWYoaS5zbGlkZUNvdW50PD1pLm9wdGlvbnMuc2xpZGVzVG9TaG93KSsrbztlbHNlIGZvcig7ZTxpLnNsaWRlQ291bnQ7KSsrbyxlPXQraS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsLHQrPWkub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDw9aS5vcHRpb25zLnNsaWRlc1RvU2hvdz9pLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGw6aS5vcHRpb25zLnNsaWRlc1RvU2hvdztlbHNlIGlmKCEwPT09aS5vcHRpb25zLmNlbnRlck1vZGUpbz1pLnNsaWRlQ291bnQ7ZWxzZSBpZihpLm9wdGlvbnMuYXNOYXZGb3IpZm9yKDtlPGkuc2xpZGVDb3VudDspKytvLGU9dCtpLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwsdCs9aS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsPD1pLm9wdGlvbnMuc2xpZGVzVG9TaG93P2kub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDppLm9wdGlvbnMuc2xpZGVzVG9TaG93O2Vsc2Ugbz0xK01hdGguY2VpbCgoaS5zbGlkZUNvdW50LWkub3B0aW9ucy5zbGlkZXNUb1Nob3cpL2kub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCk7cmV0dXJuIG8tMX0sZS5wcm90b3R5cGUuZ2V0TGVmdD1mdW5jdGlvbihpKXt2YXIgZSx0LG8scyxuPXRoaXMscj0wO3JldHVybiBuLnNsaWRlT2Zmc2V0PTAsdD1uLiRzbGlkZXMuZmlyc3QoKS5vdXRlckhlaWdodCghMCksITA9PT1uLm9wdGlvbnMuaW5maW5pdGU/KG4uc2xpZGVDb3VudD5uLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYobi5zbGlkZU9mZnNldD1uLnNsaWRlV2lkdGgqbi5vcHRpb25zLnNsaWRlc1RvU2hvdyotMSxzPS0xLCEwPT09bi5vcHRpb25zLnZlcnRpY2FsJiYhMD09PW4ub3B0aW9ucy5jZW50ZXJNb2RlJiYoMj09PW4ub3B0aW9ucy5zbGlkZXNUb1Nob3c/cz0tMS41OjE9PT1uLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYocz0tMikpLHI9dCpuLm9wdGlvbnMuc2xpZGVzVG9TaG93KnMpLG4uc2xpZGVDb3VudCVuLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwhPTAmJmkrbi5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsPm4uc2xpZGVDb3VudCYmbi5zbGlkZUNvdW50Pm4ub3B0aW9ucy5zbGlkZXNUb1Nob3cmJihpPm4uc2xpZGVDb3VudD8obi5zbGlkZU9mZnNldD0obi5vcHRpb25zLnNsaWRlc1RvU2hvdy0oaS1uLnNsaWRlQ291bnQpKSpuLnNsaWRlV2lkdGgqLTEscj0obi5vcHRpb25zLnNsaWRlc1RvU2hvdy0oaS1uLnNsaWRlQ291bnQpKSp0Ki0xKToobi5zbGlkZU9mZnNldD1uLnNsaWRlQ291bnQlbi5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsKm4uc2xpZGVXaWR0aCotMSxyPW4uc2xpZGVDb3VudCVuLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwqdCotMSkpKTppK24ub3B0aW9ucy5zbGlkZXNUb1Nob3c+bi5zbGlkZUNvdW50JiYobi5zbGlkZU9mZnNldD0oaStuLm9wdGlvbnMuc2xpZGVzVG9TaG93LW4uc2xpZGVDb3VudCkqbi5zbGlkZVdpZHRoLHI9KGkrbi5vcHRpb25zLnNsaWRlc1RvU2hvdy1uLnNsaWRlQ291bnQpKnQpLG4uc2xpZGVDb3VudDw9bi5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKG4uc2xpZGVPZmZzZXQ9MCxyPTApLCEwPT09bi5vcHRpb25zLmNlbnRlck1vZGUmJm4uc2xpZGVDb3VudDw9bi5vcHRpb25zLnNsaWRlc1RvU2hvdz9uLnNsaWRlT2Zmc2V0PW4uc2xpZGVXaWR0aCpNYXRoLmZsb29yKG4ub3B0aW9ucy5zbGlkZXNUb1Nob3cpLzItbi5zbGlkZVdpZHRoKm4uc2xpZGVDb3VudC8yOiEwPT09bi5vcHRpb25zLmNlbnRlck1vZGUmJiEwPT09bi5vcHRpb25zLmluZmluaXRlP24uc2xpZGVPZmZzZXQrPW4uc2xpZGVXaWR0aCpNYXRoLmZsb29yKG4ub3B0aW9ucy5zbGlkZXNUb1Nob3cvMiktbi5zbGlkZVdpZHRoOiEwPT09bi5vcHRpb25zLmNlbnRlck1vZGUmJihuLnNsaWRlT2Zmc2V0PTAsbi5zbGlkZU9mZnNldCs9bi5zbGlkZVdpZHRoKk1hdGguZmxvb3Iobi5vcHRpb25zLnNsaWRlc1RvU2hvdy8yKSksZT0hMT09PW4ub3B0aW9ucy52ZXJ0aWNhbD9pKm4uc2xpZGVXaWR0aCotMStuLnNsaWRlT2Zmc2V0OmkqdCotMStyLCEwPT09bi5vcHRpb25zLnZhcmlhYmxlV2lkdGgmJihvPW4uc2xpZGVDb3VudDw9bi5vcHRpb25zLnNsaWRlc1RvU2hvd3x8ITE9PT1uLm9wdGlvbnMuaW5maW5pdGU/bi4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikuZXEoaSk6bi4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikuZXEoaStuLm9wdGlvbnMuc2xpZGVzVG9TaG93KSxlPSEwPT09bi5vcHRpb25zLnJ0bD9vWzBdPy0xKihuLiRzbGlkZVRyYWNrLndpZHRoKCktb1swXS5vZmZzZXRMZWZ0LW8ud2lkdGgoKSk6MDpvWzBdPy0xKm9bMF0ub2Zmc2V0TGVmdDowLCEwPT09bi5vcHRpb25zLmNlbnRlck1vZGUmJihvPW4uc2xpZGVDb3VudDw9bi5vcHRpb25zLnNsaWRlc1RvU2hvd3x8ITE9PT1uLm9wdGlvbnMuaW5maW5pdGU/bi4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikuZXEoaSk6bi4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikuZXEoaStuLm9wdGlvbnMuc2xpZGVzVG9TaG93KzEpLGU9ITA9PT1uLm9wdGlvbnMucnRsP29bMF0/LTEqKG4uJHNsaWRlVHJhY2sud2lkdGgoKS1vWzBdLm9mZnNldExlZnQtby53aWR0aCgpKTowOm9bMF0/LTEqb1swXS5vZmZzZXRMZWZ0OjAsZSs9KG4uJGxpc3Qud2lkdGgoKS1vLm91dGVyV2lkdGgoKSkvMikpLGV9LGUucHJvdG90eXBlLmdldE9wdGlvbj1lLnByb3RvdHlwZS5zbGlja0dldE9wdGlvbj1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5vcHRpb25zW2ldfSxlLnByb3RvdHlwZS5nZXROYXZpZ2FibGVJbmRleGVzPWZ1bmN0aW9uKCl7dmFyIGksZT10aGlzLHQ9MCxvPTAscz1bXTtmb3IoITE9PT1lLm9wdGlvbnMuaW5maW5pdGU/aT1lLnNsaWRlQ291bnQ6KHQ9LTEqZS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsLG89LTEqZS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsLGk9MiplLnNsaWRlQ291bnQpO3Q8aTspcy5wdXNoKHQpLHQ9bytlLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwsbys9ZS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsPD1lLm9wdGlvbnMuc2xpZGVzVG9TaG93P2Uub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDplLm9wdGlvbnMuc2xpZGVzVG9TaG93O3JldHVybiBzfSxlLnByb3RvdHlwZS5nZXRTbGljaz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5nZXRTbGlkZUNvdW50PWZ1bmN0aW9uKCl7dmFyIGUsdCxvPXRoaXM7cmV0dXJuIHQ9ITA9PT1vLm9wdGlvbnMuY2VudGVyTW9kZT9vLnNsaWRlV2lkdGgqTWF0aC5mbG9vcihvLm9wdGlvbnMuc2xpZGVzVG9TaG93LzIpOjAsITA9PT1vLm9wdGlvbnMuc3dpcGVUb1NsaWRlPyhvLiRzbGlkZVRyYWNrLmZpbmQoIi5zbGljay1zbGlkZSIpLmVhY2goZnVuY3Rpb24ocyxuKXtpZihuLm9mZnNldExlZnQtdCtpKG4pLm91dGVyV2lkdGgoKS8yPi0xKm8uc3dpcGVMZWZ0KXJldHVybiBlPW4sITF9KSxNYXRoLmFicyhpKGUpLmF0dHIoImRhdGEtc2xpY2staW5kZXgiKS1vLmN1cnJlbnRTbGlkZSl8fDEpOm8ub3B0aW9ucy5zbGlkZXNUb1Njcm9sbH0sZS5wcm90b3R5cGUuZ29Ubz1lLnByb3RvdHlwZS5zbGlja0dvVG89ZnVuY3Rpb24oaSxlKXt0aGlzLmNoYW5nZVNsaWRlKHtkYXRhOnttZXNzYWdlOiJpbmRleCIsaW5kZXg6cGFyc2VJbnQoaSl9fSxlKX0sZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2kodC4kc2xpZGVyKS5oYXNDbGFzcygic2xpY2staW5pdGlhbGl6ZWQiKXx8KGkodC4kc2xpZGVyKS5hZGRDbGFzcygic2xpY2staW5pdGlhbGl6ZWQiKSx0LmJ1aWxkUm93cygpLHQuYnVpbGRPdXQoKSx0LnNldFByb3BzKCksdC5zdGFydExvYWQoKSx0LmxvYWRTbGlkZXIoKSx0LmluaXRpYWxpemVFdmVudHMoKSx0LnVwZGF0ZUFycm93cygpLHQudXBkYXRlRG90cygpLHQuY2hlY2tSZXNwb25zaXZlKCEwKSx0LmZvY3VzSGFuZGxlcigpKSxlJiZ0LiRzbGlkZXIudHJpZ2dlcigiaW5pdCIsW3RdKSwhMD09PXQub3B0aW9ucy5hY2Nlc3NpYmlsaXR5JiZ0LmluaXRBREEoKSx0Lm9wdGlvbnMuYXV0b3BsYXkmJih0LnBhdXNlZD0hMSx0LmF1dG9QbGF5KCkpfSxlLnByb3RvdHlwZS5pbml0QURBPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PU1hdGguY2VpbChlLnNsaWRlQ291bnQvZS5vcHRpb25zLnNsaWRlc1RvU2hvdyksbz1lLmdldE5hdmlnYWJsZUluZGV4ZXMoKS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGk+PTAmJmk8ZS5zbGlkZUNvdW50fSk7ZS4kc2xpZGVzLmFkZChlLiRzbGlkZVRyYWNrLmZpbmQoIi5zbGljay1jbG9uZWQiKSkuYXR0cih7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsdGFiaW5kZXg6Ii0xIn0pLmZpbmQoImEsIGlucHV0LCBidXR0b24sIHNlbGVjdCIpLmF0dHIoe3RhYmluZGV4OiItMSJ9KSxudWxsIT09ZS4kZG90cyYmKGUuJHNsaWRlcy5ub3QoZS4kc2xpZGVUcmFjay5maW5kKCIuc2xpY2stY2xvbmVkIikpLmVhY2goZnVuY3Rpb24odCl7dmFyIHM9by5pbmRleE9mKHQpO2kodGhpcykuYXR0cih7cm9sZToidGFicGFuZWwiLGlkOiJzbGljay1zbGlkZSIrZS5pbnN0YW5jZVVpZCt0LHRhYmluZGV4Oi0xfSksLTEhPT1zJiZpKHRoaXMpLmF0dHIoeyJhcmlhLWRlc2NyaWJlZGJ5Ijoic2xpY2stc2xpZGUtY29udHJvbCIrZS5pbnN0YW5jZVVpZCtzfSl9KSxlLiRkb3RzLmF0dHIoInJvbGUiLCJ0YWJsaXN0IikuZmluZCgibGkiKS5lYWNoKGZ1bmN0aW9uKHMpe3ZhciBuPW9bc107aSh0aGlzKS5hdHRyKHtyb2xlOiJwcmVzZW50YXRpb24ifSksaSh0aGlzKS5maW5kKCJidXR0b24iKS5maXJzdCgpLmF0dHIoe3JvbGU6InRhYiIsaWQ6InNsaWNrLXNsaWRlLWNvbnRyb2wiK2UuaW5zdGFuY2VVaWQrcywiYXJpYS1jb250cm9scyI6InNsaWNrLXNsaWRlIitlLmluc3RhbmNlVWlkK24sImFyaWEtbGFiZWwiOnMrMSsiIG9mICIrdCwiYXJpYS1zZWxlY3RlZCI6bnVsbCx0YWJpbmRleDoiLTEifSl9KS5lcShlLmN1cnJlbnRTbGlkZSkuZmluZCgiYnV0dG9uIikuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIix0YWJpbmRleDoiMCJ9KS5lbmQoKSk7Zm9yKHZhciBzPWUuY3VycmVudFNsaWRlLG49cytlLm9wdGlvbnMuc2xpZGVzVG9TaG93O3M8bjtzKyspZS4kc2xpZGVzLmVxKHMpLmF0dHIoInRhYmluZGV4IiwwKTtlLmFjdGl2YXRlQURBKCl9LGUucHJvdG90eXBlLmluaXRBcnJvd0V2ZW50cz1mdW5jdGlvbigpe3ZhciBpPXRoaXM7ITA9PT1pLm9wdGlvbnMuYXJyb3dzJiZpLnNsaWRlQ291bnQ+aS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGkuJHByZXZBcnJvdy5vZmYoImNsaWNrLnNsaWNrIikub24oImNsaWNrLnNsaWNrIix7bWVzc2FnZToicHJldmlvdXMifSxpLmNoYW5nZVNsaWRlKSxpLiRuZXh0QXJyb3cub2ZmKCJjbGljay5zbGljayIpLm9uKCJjbGljay5zbGljayIse21lc3NhZ2U6Im5leHQifSxpLmNoYW5nZVNsaWRlKSwhMD09PWkub3B0aW9ucy5hY2Nlc3NpYmlsaXR5JiYoaS4kcHJldkFycm93Lm9uKCJrZXlkb3duLnNsaWNrIixpLmtleUhhbmRsZXIpLGkuJG5leHRBcnJvdy5vbigia2V5ZG93bi5zbGljayIsaS5rZXlIYW5kbGVyKSkpfSxlLnByb3RvdHlwZS5pbml0RG90RXZlbnRzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczshMD09PWUub3B0aW9ucy5kb3RzJiYoaSgibGkiLGUuJGRvdHMpLm9uKCJjbGljay5zbGljayIse21lc3NhZ2U6ImluZGV4In0sZS5jaGFuZ2VTbGlkZSksITA9PT1lLm9wdGlvbnMuYWNjZXNzaWJpbGl0eSYmZS4kZG90cy5vbigia2V5ZG93bi5zbGljayIsZS5rZXlIYW5kbGVyKSksITA9PT1lLm9wdGlvbnMuZG90cyYmITA9PT1lLm9wdGlvbnMucGF1c2VPbkRvdHNIb3ZlciYmaSgibGkiLGUuJGRvdHMpLm9uKCJtb3VzZWVudGVyLnNsaWNrIixpLnByb3h5KGUuaW50ZXJydXB0LGUsITApKS5vbigibW91c2VsZWF2ZS5zbGljayIsaS5wcm94eShlLmludGVycnVwdCxlLCExKSl9LGUucHJvdG90eXBlLmluaXRTbGlkZUV2ZW50cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5vcHRpb25zLnBhdXNlT25Ib3ZlciYmKGUuJGxpc3Qub24oIm1vdXNlZW50ZXIuc2xpY2siLGkucHJveHkoZS5pbnRlcnJ1cHQsZSwhMCkpLGUuJGxpc3Qub24oIm1vdXNlbGVhdmUuc2xpY2siLGkucHJveHkoZS5pbnRlcnJ1cHQsZSwhMSkpKX0sZS5wcm90b3R5cGUuaW5pdGlhbGl6ZUV2ZW50cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5pbml0QXJyb3dFdmVudHMoKSxlLmluaXREb3RFdmVudHMoKSxlLmluaXRTbGlkZUV2ZW50cygpLGUuJGxpc3Qub24oInRvdWNoc3RhcnQuc2xpY2sgbW91c2Vkb3duLnNsaWNrIix7YWN0aW9uOiJzdGFydCJ9LGUuc3dpcGVIYW5kbGVyKSxlLiRsaXN0Lm9uKCJ0b3VjaG1vdmUuc2xpY2sgbW91c2Vtb3ZlLnNsaWNrIix7YWN0aW9uOiJtb3ZlIn0sZS5zd2lwZUhhbmRsZXIpLGUuJGxpc3Qub24oInRvdWNoZW5kLnNsaWNrIG1vdXNldXAuc2xpY2siLHthY3Rpb246ImVuZCJ9LGUuc3dpcGVIYW5kbGVyKSxlLiRsaXN0Lm9uKCJ0b3VjaGNhbmNlbC5zbGljayBtb3VzZWxlYXZlLnNsaWNrIix7YWN0aW9uOiJlbmQifSxlLnN3aXBlSGFuZGxlciksZS4kbGlzdC5vbigiY2xpY2suc2xpY2siLGUuY2xpY2tIYW5kbGVyKSxpKGRvY3VtZW50KS5vbihlLnZpc2liaWxpdHlDaGFuZ2UsaS5wcm94eShlLnZpc2liaWxpdHksZSkpLCEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHkmJmUuJGxpc3Qub24oImtleWRvd24uc2xpY2siLGUua2V5SGFuZGxlciksITA9PT1lLm9wdGlvbnMuZm9jdXNPblNlbGVjdCYmaShlLiRzbGlkZVRyYWNrKS5jaGlsZHJlbigpLm9uKCJjbGljay5zbGljayIsZS5zZWxlY3RIYW5kbGVyKSxpKHdpbmRvdykub24oIm9yaWVudGF0aW9uY2hhbmdlLnNsaWNrLnNsaWNrLSIrZS5pbnN0YW5jZVVpZCxpLnByb3h5KGUub3JpZW50YXRpb25DaGFuZ2UsZSkpLGkod2luZG93KS5vbigicmVzaXplLnNsaWNrLnNsaWNrLSIrZS5pbnN0YW5jZVVpZCxpLnByb3h5KGUucmVzaXplLGUpKSxpKCJbZHJhZ2dhYmxlIT10cnVlXSIsZS4kc2xpZGVUcmFjaykub24oImRyYWdzdGFydCIsZS5wcmV2ZW50RGVmYXVsdCksaSh3aW5kb3cpLm9uKCJsb2FkLnNsaWNrLnNsaWNrLSIrZS5pbnN0YW5jZVVpZCxlLnNldFBvc2l0aW9uKSxpKGUuc2V0UG9zaXRpb24pfSxlLnByb3RvdHlwZS5pbml0VUk9ZnVuY3Rpb24oKXt2YXIgaT10aGlzOyEwPT09aS5vcHRpb25zLmFycm93cyYmaS5zbGlkZUNvdW50Pmkub3B0aW9ucy5zbGlkZXNUb1Nob3cmJihpLiRwcmV2QXJyb3cuc2hvdygpLGkuJG5leHRBcnJvdy5zaG93KCkpLCEwPT09aS5vcHRpb25zLmRvdHMmJmkuc2xpZGVDb3VudD5pLm9wdGlvbnMuc2xpZGVzVG9TaG93JiZpLiRkb3RzLnNob3coKX0sZS5wcm90b3R5cGUua2V5SGFuZGxlcj1mdW5jdGlvbihpKXt2YXIgZT10aGlzO2kudGFyZ2V0LnRhZ05hbWUubWF0Y2goIlRFWFRBUkVBfElOUFVUfFNFTEVDVCIpfHwoMzc9PT1pLmtleUNvZGUmJiEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHk/ZS5jaGFuZ2VTbGlkZSh7ZGF0YTp7bWVzc2FnZTohMD09PWUub3B0aW9ucy5ydGw/Im5leHQiOiJwcmV2aW91cyJ9fSk6Mzk9PT1pLmtleUNvZGUmJiEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHkmJmUuY2hhbmdlU2xpZGUoe2RhdGE6e21lc3NhZ2U6ITA9PT1lLm9wdGlvbnMucnRsPyJwcmV2aW91cyI6Im5leHQifX0pKX0sZS5wcm90b3R5cGUubGF6eUxvYWQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe2koImltZ1tkYXRhLWxhenldIixlKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9aSh0aGlzKSx0PWkodGhpcykuYXR0cigiZGF0YS1sYXp5Iiksbz1pKHRoaXMpLmF0dHIoImRhdGEtc3Jjc2V0Iikscz1pKHRoaXMpLmF0dHIoImRhdGEtc2l6ZXMiKXx8bi4kc2xpZGVyLmF0dHIoImRhdGEtc2l6ZXMiKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO3Iub25sb2FkPWZ1bmN0aW9uKCl7ZS5hbmltYXRlKHtvcGFjaXR5OjB9LDEwMCxmdW5jdGlvbigpe28mJihlLmF0dHIoInNyY3NldCIsbykscyYmZS5hdHRyKCJzaXplcyIscykpLGUuYXR0cigic3JjIix0KS5hbmltYXRlKHtvcGFjaXR5OjF9LDIwMCxmdW5jdGlvbigpe2UucmVtb3ZlQXR0cigiZGF0YS1sYXp5IGRhdGEtc3Jjc2V0IGRhdGEtc2l6ZXMiKS5yZW1vdmVDbGFzcygic2xpY2stbG9hZGluZyIpfSksbi4kc2xpZGVyLnRyaWdnZXIoImxhenlMb2FkZWQiLFtuLGUsdF0pfSl9LHIub25lcnJvcj1mdW5jdGlvbigpe2UucmVtb3ZlQXR0cigiZGF0YS1sYXp5IikucmVtb3ZlQ2xhc3MoInNsaWNrLWxvYWRpbmciKS5hZGRDbGFzcygic2xpY2stbGF6eWxvYWQtZXJyb3IiKSxuLiRzbGlkZXIudHJpZ2dlcigibGF6eUxvYWRFcnJvciIsW24sZSx0XSl9LHIuc3JjPXR9KX12YXIgdCxvLHMsbj10aGlzO2lmKCEwPT09bi5vcHRpb25zLmNlbnRlck1vZGU/ITA9PT1uLm9wdGlvbnMuaW5maW5pdGU/cz0obz1uLmN1cnJlbnRTbGlkZSsobi5vcHRpb25zLnNsaWRlc1RvU2hvdy8yKzEpKStuLm9wdGlvbnMuc2xpZGVzVG9TaG93KzI6KG89TWF0aC5tYXgoMCxuLmN1cnJlbnRTbGlkZS0obi5vcHRpb25zLnNsaWRlc1RvU2hvdy8yKzEpKSxzPW4ub3B0aW9ucy5zbGlkZXNUb1Nob3cvMisxKzIrbi5jdXJyZW50U2xpZGUpOihvPW4ub3B0aW9ucy5pbmZpbml0ZT9uLm9wdGlvbnMuc2xpZGVzVG9TaG93K24uY3VycmVudFNsaWRlOm4uY3VycmVudFNsaWRlLHM9TWF0aC5jZWlsKG8rbi5vcHRpb25zLnNsaWRlc1RvU2hvdyksITA9PT1uLm9wdGlvbnMuZmFkZSYmKG8+MCYmby0tLHM8PW4uc2xpZGVDb3VudCYmcysrKSksdD1uLiRzbGlkZXIuZmluZCgiLnNsaWNrLXNsaWRlIikuc2xpY2UobyxzKSwiYW50aWNpcGF0ZWQiPT09bi5vcHRpb25zLmxhenlMb2FkKWZvcih2YXIgcj1vLTEsbD1zLGQ9bi4kc2xpZGVyLmZpbmQoIi5zbGljay1zbGlkZSIpLGE9MDthPG4ub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDthKyspcjwwJiYocj1uLnNsaWRlQ291bnQtMSksdD0odD10LmFkZChkLmVxKHIpKSkuYWRkKGQuZXEobCkpLHItLSxsKys7ZSh0KSxuLnNsaWRlQ291bnQ8PW4ub3B0aW9ucy5zbGlkZXNUb1Nob3c/ZShuLiRzbGlkZXIuZmluZCgiLnNsaWNrLXNsaWRlIikpOm4uY3VycmVudFNsaWRlPj1uLnNsaWRlQ291bnQtbi5vcHRpb25zLnNsaWRlc1RvU2hvdz9lKG4uJHNsaWRlci5maW5kKCIuc2xpY2stY2xvbmVkIikuc2xpY2UoMCxuLm9wdGlvbnMuc2xpZGVzVG9TaG93KSk6MD09PW4uY3VycmVudFNsaWRlJiZlKG4uJHNsaWRlci5maW5kKCIuc2xpY2stY2xvbmVkIikuc2xpY2UoLTEqbi5vcHRpb25zLnNsaWRlc1RvU2hvdykpfSxlLnByb3RvdHlwZS5sb2FkU2xpZGVyPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLnNldFBvc2l0aW9uKCksaS4kc2xpZGVUcmFjay5jc3Moe29wYWNpdHk6MX0pLGkuJHNsaWRlci5yZW1vdmVDbGFzcygic2xpY2stbG9hZGluZyIpLGkuaW5pdFVJKCksInByb2dyZXNzaXZlIj09PWkub3B0aW9ucy5sYXp5TG9hZCYmaS5wcm9ncmVzc2l2ZUxhenlMb2FkKCl9LGUucHJvdG90eXBlLm5leHQ9ZS5wcm90b3R5cGUuc2xpY2tOZXh0PWZ1bmN0aW9uKCl7dGhpcy5jaGFuZ2VTbGlkZSh7ZGF0YTp7bWVzc2FnZToibmV4dCJ9fSl9LGUucHJvdG90eXBlLm9yaWVudGF0aW9uQ2hhbmdlPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLmNoZWNrUmVzcG9uc2l2ZSgpLGkuc2V0UG9zaXRpb24oKX0sZS5wcm90b3R5cGUucGF1c2U9ZS5wcm90b3R5cGUuc2xpY2tQYXVzZT1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aS5hdXRvUGxheUNsZWFyKCksaS5wYXVzZWQ9ITB9LGUucHJvdG90eXBlLnBsYXk9ZS5wcm90b3R5cGUuc2xpY2tQbGF5PWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLmF1dG9QbGF5KCksaS5vcHRpb25zLmF1dG9wbGF5PSEwLGkucGF1c2VkPSExLGkuZm9jdXNzZWQ9ITEsaS5pbnRlcnJ1cHRlZD0hMX0sZS5wcm90b3R5cGUucG9zdFNsaWRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC51bnNsaWNrZWR8fCh0LiRzbGlkZXIudHJpZ2dlcigiYWZ0ZXJDaGFuZ2UiLFt0LGVdKSx0LmFuaW1hdGluZz0hMSx0LnNsaWRlQ291bnQ+dC5vcHRpb25zLnNsaWRlc1RvU2hvdyYmdC5zZXRQb3NpdGlvbigpLHQuc3dpcGVMZWZ0PW51bGwsdC5vcHRpb25zLmF1dG9wbGF5JiZ0LmF1dG9QbGF5KCksITA9PT10Lm9wdGlvbnMuYWNjZXNzaWJpbGl0eSYmKHQuaW5pdEFEQSgpLHQub3B0aW9ucy5mb2N1c09uQ2hhbmdlJiZpKHQuJHNsaWRlcy5nZXQodC5jdXJyZW50U2xpZGUpKS5hdHRyKCJ0YWJpbmRleCIsMCkuZm9jdXMoKSkpfSxlLnByb3RvdHlwZS5wcmV2PWUucHJvdG90eXBlLnNsaWNrUHJldj1mdW5jdGlvbigpe3RoaXMuY2hhbmdlU2xpZGUoe2RhdGE6e21lc3NhZ2U6InByZXZpb3VzIn19KX0sZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oaSl7aS5wcmV2ZW50RGVmYXVsdCgpfSxlLnByb3RvdHlwZS5wcm9ncmVzc2l2ZUxhenlMb2FkPWZ1bmN0aW9uKGUpe2U9ZXx8MTt2YXIgdCxvLHMsbixyLGw9dGhpcyxkPWkoImltZ1tkYXRhLWxhenldIixsLiRzbGlkZXIpO2QubGVuZ3RoPyh0PWQuZmlyc3QoKSxvPXQuYXR0cigiZGF0YS1sYXp5Iikscz10LmF0dHIoImRhdGEtc3Jjc2V0Iiksbj10LmF0dHIoImRhdGEtc2l6ZXMiKXx8bC4kc2xpZGVyLmF0dHIoImRhdGEtc2l6ZXMiKSwocj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSkub25sb2FkPWZ1bmN0aW9uKCl7cyYmKHQuYXR0cigic3Jjc2V0IixzKSxuJiZ0LmF0dHIoInNpemVzIixuKSksdC5hdHRyKCJzcmMiLG8pLnJlbW92ZUF0dHIoImRhdGEtbGF6eSBkYXRhLXNyY3NldCBkYXRhLXNpemVzIikucmVtb3ZlQ2xhc3MoInNsaWNrLWxvYWRpbmciKSwhMD09PWwub3B0aW9ucy5hZGFwdGl2ZUhlaWdodCYmbC5zZXRQb3NpdGlvbigpLGwuJHNsaWRlci50cmlnZ2VyKCJsYXp5TG9hZGVkIixbbCx0LG9dKSxsLnByb2dyZXNzaXZlTGF6eUxvYWQoKX0sci5vbmVycm9yPWZ1bmN0aW9uKCl7ZTwzP3NldFRpbWVvdXQoZnVuY3Rpb24oKXtsLnByb2dyZXNzaXZlTGF6eUxvYWQoZSsxKX0sNTAwKToodC5yZW1vdmVBdHRyKCJkYXRhLWxhenkiKS5yZW1vdmVDbGFzcygic2xpY2stbG9hZGluZyIpLmFkZENsYXNzKCJzbGljay1sYXp5bG9hZC1lcnJvciIpLGwuJHNsaWRlci50cmlnZ2VyKCJsYXp5TG9hZEVycm9yIixbbCx0LG9dKSxsLnByb2dyZXNzaXZlTGF6eUxvYWQoKSl9LHIuc3JjPW8pOmwuJHNsaWRlci50cmlnZ2VyKCJhbGxJbWFnZXNMb2FkZWQiLFtsXSl9LGUucHJvdG90eXBlLnJlZnJlc2g9ZnVuY3Rpb24oZSl7dmFyIHQsbyxzPXRoaXM7bz1zLnNsaWRlQ291bnQtcy5vcHRpb25zLnNsaWRlc1RvU2hvdywhcy5vcHRpb25zLmluZmluaXRlJiZzLmN1cnJlbnRTbGlkZT5vJiYocy5jdXJyZW50U2xpZGU9bykscy5zbGlkZUNvdW50PD1zLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYocy5jdXJyZW50U2xpZGU9MCksdD1zLmN1cnJlbnRTbGlkZSxzLmRlc3Ryb3koITApLGkuZXh0ZW5kKHMscy5pbml0aWFscyx7Y3VycmVudFNsaWRlOnR9KSxzLmluaXQoKSxlfHxzLmNoYW5nZVNsaWRlKHtkYXRhOnttZXNzYWdlOiJpbmRleCIsaW5kZXg6dH19LCExKX0sZS5wcm90b3R5cGUucmVnaXN0ZXJCcmVha3BvaW50cz1mdW5jdGlvbigpe3ZhciBlLHQsbyxzPXRoaXMsbj1zLm9wdGlvbnMucmVzcG9uc2l2ZXx8bnVsbDtpZigiYXJyYXkiPT09aS50eXBlKG4pJiZuLmxlbmd0aCl7cy5yZXNwb25kVG89cy5vcHRpb25zLnJlc3BvbmRUb3x8IndpbmRvdyI7Zm9yKGUgaW4gbilpZihvPXMuYnJlYWtwb2ludHMubGVuZ3RoLTEsbi5oYXNPd25Qcm9wZXJ0eShlKSl7Zm9yKHQ9bltlXS5icmVha3BvaW50O28+PTA7KXMuYnJlYWtwb2ludHNbb10mJnMuYnJlYWtwb2ludHNbb109PT10JiZzLmJyZWFrcG9pbnRzLnNwbGljZShvLDEpLG8tLTtzLmJyZWFrcG9pbnRzLnB1c2godCkscy5icmVha3BvaW50U2V0dGluZ3NbdF09bltlXS5zZXR0aW5nc31zLmJyZWFrcG9pbnRzLnNvcnQoZnVuY3Rpb24oaSxlKXtyZXR1cm4gcy5vcHRpb25zLm1vYmlsZUZpcnN0P2ktZTplLWl9KX19LGUucHJvdG90eXBlLnJlaW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS4kc2xpZGVzPWUuJHNsaWRlVHJhY2suY2hpbGRyZW4oZS5vcHRpb25zLnNsaWRlKS5hZGRDbGFzcygic2xpY2stc2xpZGUiKSxlLnNsaWRlQ291bnQ9ZS4kc2xpZGVzLmxlbmd0aCxlLmN1cnJlbnRTbGlkZT49ZS5zbGlkZUNvdW50JiYwIT09ZS5jdXJyZW50U2xpZGUmJihlLmN1cnJlbnRTbGlkZT1lLmN1cnJlbnRTbGlkZS1lLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwpLGUuc2xpZGVDb3VudDw9ZS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGUuY3VycmVudFNsaWRlPTApLGUucmVnaXN0ZXJCcmVha3BvaW50cygpLGUuc2V0UHJvcHMoKSxlLnNldHVwSW5maW5pdGUoKSxlLmJ1aWxkQXJyb3dzKCksZS51cGRhdGVBcnJvd3MoKSxlLmluaXRBcnJvd0V2ZW50cygpLGUuYnVpbGREb3RzKCksZS51cGRhdGVEb3RzKCksZS5pbml0RG90RXZlbnRzKCksZS5jbGVhblVwU2xpZGVFdmVudHMoKSxlLmluaXRTbGlkZUV2ZW50cygpLGUuY2hlY2tSZXNwb25zaXZlKCExLCEwKSwhMD09PWUub3B0aW9ucy5mb2N1c09uU2VsZWN0JiZpKGUuJHNsaWRlVHJhY2spLmNoaWxkcmVuKCkub24oImNsaWNrLnNsaWNrIixlLnNlbGVjdEhhbmRsZXIpLGUuc2V0U2xpZGVDbGFzc2VzKCJudW1iZXIiPT10eXBlb2YgZS5jdXJyZW50U2xpZGU/ZS5jdXJyZW50U2xpZGU6MCksZS5zZXRQb3NpdGlvbigpLGUuZm9jdXNIYW5kbGVyKCksZS5wYXVzZWQ9IWUub3B0aW9ucy5hdXRvcGxheSxlLmF1dG9QbGF5KCksZS4kc2xpZGVyLnRyaWdnZXIoInJlSW5pdCIsW2VdKX0sZS5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpKHdpbmRvdykud2lkdGgoKSE9PWUud2luZG93V2lkdGgmJihjbGVhclRpbWVvdXQoZS53aW5kb3dEZWxheSksZS53aW5kb3dEZWxheT13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe2Uud2luZG93V2lkdGg9aSh3aW5kb3cpLndpZHRoKCksZS5jaGVja1Jlc3BvbnNpdmUoKSxlLnVuc2xpY2tlZHx8ZS5zZXRQb3NpdGlvbigpfSw1MCkpfSxlLnByb3RvdHlwZS5yZW1vdmVTbGlkZT1lLnByb3RvdHlwZS5zbGlja1JlbW92ZT1mdW5jdGlvbihpLGUsdCl7dmFyIG89dGhpcztpZihpPSJib29sZWFuIj09dHlwZW9mIGk/ITA9PT0oZT1pKT8wOm8uc2xpZGVDb3VudC0xOiEwPT09ZT8tLWk6aSxvLnNsaWRlQ291bnQ8MXx8aTwwfHxpPm8uc2xpZGVDb3VudC0xKXJldHVybiExO28udW5sb2FkKCksITA9PT10P28uJHNsaWRlVHJhY2suY2hpbGRyZW4oKS5yZW1vdmUoKTpvLiRzbGlkZVRyYWNrLmNoaWxkcmVuKHRoaXMub3B0aW9ucy5zbGlkZSkuZXEoaSkucmVtb3ZlKCksby4kc2xpZGVzPW8uJHNsaWRlVHJhY2suY2hpbGRyZW4odGhpcy5vcHRpb25zLnNsaWRlKSxvLiRzbGlkZVRyYWNrLmNoaWxkcmVuKHRoaXMub3B0aW9ucy5zbGlkZSkuZGV0YWNoKCksby4kc2xpZGVUcmFjay5hcHBlbmQoby4kc2xpZGVzKSxvLiRzbGlkZXNDYWNoZT1vLiRzbGlkZXMsby5yZWluaXQoKX0sZS5wcm90b3R5cGUuc2V0Q1NTPWZ1bmN0aW9uKGkpe3ZhciBlLHQsbz10aGlzLHM9e307ITA9PT1vLm9wdGlvbnMucnRsJiYoaT0taSksZT0ibGVmdCI9PW8ucG9zaXRpb25Qcm9wP01hdGguY2VpbChpKSsicHgiOiIwcHgiLHQ9InRvcCI9PW8ucG9zaXRpb25Qcm9wP01hdGguY2VpbChpKSsicHgiOiIwcHgiLHNbby5wb3NpdGlvblByb3BdPWksITE9PT1vLnRyYW5zZm9ybXNFbmFibGVkP28uJHNsaWRlVHJhY2suY3NzKHMpOihzPXt9LCExPT09by5jc3NUcmFuc2l0aW9ucz8oc1tvLmFuaW1UeXBlXT0idHJhbnNsYXRlKCIrZSsiLCAiK3QrIikiLG8uJHNsaWRlVHJhY2suY3NzKHMpKTooc1tvLmFuaW1UeXBlXT0idHJhbnNsYXRlM2QoIitlKyIsICIrdCsiLCAwcHgpIixvLiRzbGlkZVRyYWNrLmNzcyhzKSkpfSxlLnByb3RvdHlwZS5zZXREaW1lbnNpb25zPWZ1bmN0aW9uKCl7dmFyIGk9dGhpczshMT09PWkub3B0aW9ucy52ZXJ0aWNhbD8hMD09PWkub3B0aW9ucy5jZW50ZXJNb2RlJiZpLiRsaXN0LmNzcyh7cGFkZGluZzoiMHB4ICIraS5vcHRpb25zLmNlbnRlclBhZGRpbmd9KTooaS4kbGlzdC5oZWlnaHQoaS4kc2xpZGVzLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApKmkub3B0aW9ucy5zbGlkZXNUb1Nob3cpLCEwPT09aS5vcHRpb25zLmNlbnRlck1vZGUmJmkuJGxpc3QuY3NzKHtwYWRkaW5nOmkub3B0aW9ucy5jZW50ZXJQYWRkaW5nKyIgMHB4In0pKSxpLmxpc3RXaWR0aD1pLiRsaXN0LndpZHRoKCksaS5saXN0SGVpZ2h0PWkuJGxpc3QuaGVpZ2h0KCksITE9PT1pLm9wdGlvbnMudmVydGljYWwmJiExPT09aS5vcHRpb25zLnZhcmlhYmxlV2lkdGg/KGkuc2xpZGVXaWR0aD1NYXRoLmNlaWwoaS5saXN0V2lkdGgvaS5vcHRpb25zLnNsaWRlc1RvU2hvdyksaS4kc2xpZGVUcmFjay53aWR0aChNYXRoLmNlaWwoaS5zbGlkZVdpZHRoKmkuJHNsaWRlVHJhY2suY2hpbGRyZW4oIi5zbGljay1zbGlkZSIpLmxlbmd0aCkpKTohMD09PWkub3B0aW9ucy52YXJpYWJsZVdpZHRoP2kuJHNsaWRlVHJhY2sud2lkdGgoNWUzKmkuc2xpZGVDb3VudCk6KGkuc2xpZGVXaWR0aD1NYXRoLmNlaWwoaS5saXN0V2lkdGgpLGkuJHNsaWRlVHJhY2suaGVpZ2h0KE1hdGguY2VpbChpLiRzbGlkZXMuZmlyc3QoKS5vdXRlckhlaWdodCghMCkqaS4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikubGVuZ3RoKSkpO3ZhciBlPWkuJHNsaWRlcy5maXJzdCgpLm91dGVyV2lkdGgoITApLWkuJHNsaWRlcy5maXJzdCgpLndpZHRoKCk7ITE9PT1pLm9wdGlvbnMudmFyaWFibGVXaWR0aCYmaS4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikud2lkdGgoaS5zbGlkZVdpZHRoLWUpfSxlLnByb3RvdHlwZS5zZXRGYWRlPWZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzO3QuJHNsaWRlcy5lYWNoKGZ1bmN0aW9uKG8scyl7ZT10LnNsaWRlV2lkdGgqbyotMSwhMD09PXQub3B0aW9ucy5ydGw/aShzKS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIscmlnaHQ6ZSx0b3A6MCx6SW5kZXg6dC5vcHRpb25zLnpJbmRleC0yLG9wYWNpdHk6MH0pOmkocykuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGxlZnQ6ZSx0b3A6MCx6SW5kZXg6dC5vcHRpb25zLnpJbmRleC0yLG9wYWNpdHk6MH0pfSksdC4kc2xpZGVzLmVxKHQuY3VycmVudFNsaWRlKS5jc3Moe3pJbmRleDp0Lm9wdGlvbnMuekluZGV4LTEsb3BhY2l0eToxfSl9LGUucHJvdG90eXBlLnNldEhlaWdodD1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aWYoMT09PWkub3B0aW9ucy5zbGlkZXNUb1Nob3cmJiEwPT09aS5vcHRpb25zLmFkYXB0aXZlSGVpZ2h0JiYhMT09PWkub3B0aW9ucy52ZXJ0aWNhbCl7dmFyIGU9aS4kc2xpZGVzLmVxKGkuY3VycmVudFNsaWRlKS5vdXRlckhlaWdodCghMCk7aS4kbGlzdC5jc3MoImhlaWdodCIsZSl9fSxlLnByb3RvdHlwZS5zZXRPcHRpb249ZS5wcm90b3R5cGUuc2xpY2tTZXRPcHRpb249ZnVuY3Rpb24oKXt2YXIgZSx0LG8scyxuLHI9dGhpcyxsPSExO2lmKCJvYmplY3QiPT09aS50eXBlKGFyZ3VtZW50c1swXSk/KG89YXJndW1lbnRzWzBdLGw9YXJndW1lbnRzWzFdLG49Im11bHRpcGxlIik6InN0cmluZyI9PT1pLnR5cGUoYXJndW1lbnRzWzBdKSYmKG89YXJndW1lbnRzWzBdLHM9YXJndW1lbnRzWzFdLGw9YXJndW1lbnRzWzJdLCJyZXNwb25zaXZlIj09PWFyZ3VtZW50c1swXSYmImFycmF5Ij09PWkudHlwZShhcmd1bWVudHNbMV0pP249InJlc3BvbnNpdmUiOnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmKG49InNpbmdsZSIpKSwic2luZ2xlIj09PW4pci5vcHRpb25zW29dPXM7ZWxzZSBpZigibXVsdGlwbGUiPT09bilpLmVhY2gobyxmdW5jdGlvbihpLGUpe3Iub3B0aW9uc1tpXT1lfSk7ZWxzZSBpZigicmVzcG9uc2l2ZSI9PT1uKWZvcih0IGluIHMpaWYoImFycmF5IiE9PWkudHlwZShyLm9wdGlvbnMucmVzcG9uc2l2ZSkpci5vcHRpb25zLnJlc3BvbnNpdmU9W3NbdF1dO2Vsc2V7Zm9yKGU9ci5vcHRpb25zLnJlc3BvbnNpdmUubGVuZ3RoLTE7ZT49MDspci5vcHRpb25zLnJlc3BvbnNpdmVbZV0uYnJlYWtwb2ludD09PXNbdF0uYnJlYWtwb2ludCYmci5vcHRpb25zLnJlc3BvbnNpdmUuc3BsaWNlKGUsMSksZS0tO3Iub3B0aW9ucy5yZXNwb25zaXZlLnB1c2goc1t0XSl9bCYmKHIudW5sb2FkKCksci5yZWluaXQoKSl9LGUucHJvdG90eXBlLnNldFBvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLnNldERpbWVuc2lvbnMoKSxpLnNldEhlaWdodCgpLCExPT09aS5vcHRpb25zLmZhZGU/aS5zZXRDU1MoaS5nZXRMZWZ0KGkuY3VycmVudFNsaWRlKSk6aS5zZXRGYWRlKCksaS4kc2xpZGVyLnRyaWdnZXIoInNldFBvc2l0aW9uIixbaV0pfSxlLnByb3RvdHlwZS5zZXRQcm9wcz1mdW5jdGlvbigpe3ZhciBpPXRoaXMsZT1kb2N1bWVudC5ib2R5LnN0eWxlO2kucG9zaXRpb25Qcm9wPSEwPT09aS5vcHRpb25zLnZlcnRpY2FsPyJ0b3AiOiJsZWZ0IiwidG9wIj09PWkucG9zaXRpb25Qcm9wP2kuJHNsaWRlci5hZGRDbGFzcygic2xpY2stdmVydGljYWwiKTppLiRzbGlkZXIucmVtb3ZlQ2xhc3MoInNsaWNrLXZlcnRpY2FsIiksdm9pZCAwPT09ZS5XZWJraXRUcmFuc2l0aW9uJiZ2b2lkIDA9PT1lLk1velRyYW5zaXRpb24mJnZvaWQgMD09PWUubXNUcmFuc2l0aW9ufHwhMD09PWkub3B0aW9ucy51c2VDU1MmJihpLmNzc1RyYW5zaXRpb25zPSEwKSxpLm9wdGlvbnMuZmFkZSYmKCJudW1iZXIiPT10eXBlb2YgaS5vcHRpb25zLnpJbmRleD9pLm9wdGlvbnMuekluZGV4PDMmJihpLm9wdGlvbnMuekluZGV4PTMpOmkub3B0aW9ucy56SW5kZXg9aS5kZWZhdWx0cy56SW5kZXgpLHZvaWQgMCE9PWUuT1RyYW5zZm9ybSYmKGkuYW5pbVR5cGU9Ik9UcmFuc2Zvcm0iLGkudHJhbnNmb3JtVHlwZT0iLW8tdHJhbnNmb3JtIixpLnRyYW5zaXRpb25UeXBlPSJPVHJhbnNpdGlvbiIsdm9pZCAwPT09ZS5wZXJzcGVjdGl2ZVByb3BlcnR5JiZ2b2lkIDA9PT1lLndlYmtpdFBlcnNwZWN0aXZlJiYoaS5hbmltVHlwZT0hMSkpLHZvaWQgMCE9PWUuTW96VHJhbnNmb3JtJiYoaS5hbmltVHlwZT0iTW96VHJhbnNmb3JtIixpLnRyYW5zZm9ybVR5cGU9Ii1tb3otdHJhbnNmb3JtIixpLnRyYW5zaXRpb25UeXBlPSJNb3pUcmFuc2l0aW9uIix2b2lkIDA9PT1lLnBlcnNwZWN0aXZlUHJvcGVydHkmJnZvaWQgMD09PWUuTW96UGVyc3BlY3RpdmUmJihpLmFuaW1UeXBlPSExKSksdm9pZCAwIT09ZS53ZWJraXRUcmFuc2Zvcm0mJihpLmFuaW1UeXBlPSJ3ZWJraXRUcmFuc2Zvcm0iLGkudHJhbnNmb3JtVHlwZT0iLXdlYmtpdC10cmFuc2Zvcm0iLGkudHJhbnNpdGlvblR5cGU9IndlYmtpdFRyYW5zaXRpb24iLHZvaWQgMD09PWUucGVyc3BlY3RpdmVQcm9wZXJ0eSYmdm9pZCAwPT09ZS53ZWJraXRQZXJzcGVjdGl2ZSYmKGkuYW5pbVR5cGU9ITEpKSx2b2lkIDAhPT1lLm1zVHJhbnNmb3JtJiYoaS5hbmltVHlwZT0ibXNUcmFuc2Zvcm0iLGkudHJhbnNmb3JtVHlwZT0iLW1zLXRyYW5zZm9ybSIsaS50cmFuc2l0aW9uVHlwZT0ibXNUcmFuc2l0aW9uIix2b2lkIDA9PT1lLm1zVHJhbnNmb3JtJiYoaS5hbmltVHlwZT0hMSkpLHZvaWQgMCE9PWUudHJhbnNmb3JtJiYhMSE9PWkuYW5pbVR5cGUmJihpLmFuaW1UeXBlPSJ0cmFuc2Zvcm0iLGkudHJhbnNmb3JtVHlwZT0idHJhbnNmb3JtIixpLnRyYW5zaXRpb25UeXBlPSJ0cmFuc2l0aW9uIiksaS50cmFuc2Zvcm1zRW5hYmxlZD1pLm9wdGlvbnMudXNlVHJhbnNmb3JtJiZudWxsIT09aS5hbmltVHlwZSYmITEhPT1pLmFuaW1UeXBlfSxlLnByb3RvdHlwZS5zZXRTbGlkZUNsYXNzZXM9ZnVuY3Rpb24oaSl7dmFyIGUsdCxvLHMsbj10aGlzO2lmKHQ9bi4kc2xpZGVyLmZpbmQoIi5zbGljay1zbGlkZSIpLnJlbW92ZUNsYXNzKCJzbGljay1hY3RpdmUgc2xpY2stY2VudGVyIHNsaWNrLWN1cnJlbnQiKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSxuLiRzbGlkZXMuZXEoaSkuYWRkQ2xhc3MoInNsaWNrLWN1cnJlbnQiKSwhMD09PW4ub3B0aW9ucy5jZW50ZXJNb2RlKXt2YXIgcj1uLm9wdGlvbnMuc2xpZGVzVG9TaG93JTI9PTA/MTowO2U9TWF0aC5mbG9vcihuLm9wdGlvbnMuc2xpZGVzVG9TaG93LzIpLCEwPT09bi5vcHRpb25zLmluZmluaXRlJiYoaT49ZSYmaTw9bi5zbGlkZUNvdW50LTEtZT9uLiRzbGlkZXMuc2xpY2UoaS1lK3IsaStlKzEpLmFkZENsYXNzKCJzbGljay1hY3RpdmUiKS5hdHRyKCJhcmlhLWhpZGRlbiIsImZhbHNlIik6KG89bi5vcHRpb25zLnNsaWRlc1RvU2hvdytpLHQuc2xpY2Uoby1lKzErcixvK2UrMikuYWRkQ2xhc3MoInNsaWNrLWFjdGl2ZSIpLmF0dHIoImFyaWEtaGlkZGVuIiwiZmFsc2UiKSksMD09PWk/dC5lcSh0Lmxlbmd0aC0xLW4ub3B0aW9ucy5zbGlkZXNUb1Nob3cpLmFkZENsYXNzKCJzbGljay1jZW50ZXIiKTppPT09bi5zbGlkZUNvdW50LTEmJnQuZXEobi5vcHRpb25zLnNsaWRlc1RvU2hvdykuYWRkQ2xhc3MoInNsaWNrLWNlbnRlciIpKSxuLiRzbGlkZXMuZXEoaSkuYWRkQ2xhc3MoInNsaWNrLWNlbnRlciIpfWVsc2UgaT49MCYmaTw9bi5zbGlkZUNvdW50LW4ub3B0aW9ucy5zbGlkZXNUb1Nob3c/bi4kc2xpZGVzLnNsaWNlKGksaStuLm9wdGlvbnMuc2xpZGVzVG9TaG93KS5hZGRDbGFzcygic2xpY2stYWN0aXZlIikuYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpOnQubGVuZ3RoPD1uLm9wdGlvbnMuc2xpZGVzVG9TaG93P3QuYWRkQ2xhc3MoInNsaWNrLWFjdGl2ZSIpLmF0dHIoImFyaWEtaGlkZGVuIiwiZmFsc2UiKToocz1uLnNsaWRlQ291bnQlbi5vcHRpb25zLnNsaWRlc1RvU2hvdyxvPSEwPT09bi5vcHRpb25zLmluZmluaXRlP24ub3B0aW9ucy5zbGlkZXNUb1Nob3craTppLG4ub3B0aW9ucy5zbGlkZXNUb1Nob3c9PW4ub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCYmbi5zbGlkZUNvdW50LWk8bi5vcHRpb25zLnNsaWRlc1RvU2hvdz90LnNsaWNlKG8tKG4ub3B0aW9ucy5zbGlkZXNUb1Nob3ctcyksbytzKS5hZGRDbGFzcygic2xpY2stYWN0aXZlIikuYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpOnQuc2xpY2UobyxvK24ub3B0aW9ucy5zbGlkZXNUb1Nob3cpLmFkZENsYXNzKCJzbGljay1hY3RpdmUiKS5hdHRyKCJhcmlhLWhpZGRlbiIsImZhbHNlIikpOyJvbmRlbWFuZCIhPT1uLm9wdGlvbnMubGF6eUxvYWQmJiJhbnRpY2lwYXRlZCIhPT1uLm9wdGlvbnMubGF6eUxvYWR8fG4ubGF6eUxvYWQoKX0sZS5wcm90b3R5cGUuc2V0dXBJbmZpbml0ZT1mdW5jdGlvbigpe3ZhciBlLHQsbyxzPXRoaXM7aWYoITA9PT1zLm9wdGlvbnMuZmFkZSYmKHMub3B0aW9ucy5jZW50ZXJNb2RlPSExKSwhMD09PXMub3B0aW9ucy5pbmZpbml0ZSYmITE9PT1zLm9wdGlvbnMuZmFkZSYmKHQ9bnVsbCxzLnNsaWRlQ291bnQ+cy5vcHRpb25zLnNsaWRlc1RvU2hvdykpe2ZvcihvPSEwPT09cy5vcHRpb25zLmNlbnRlck1vZGU/cy5vcHRpb25zLnNsaWRlc1RvU2hvdysxOnMub3B0aW9ucy5zbGlkZXNUb1Nob3csZT1zLnNsaWRlQ291bnQ7ZT5zLnNsaWRlQ291bnQtbztlLT0xKXQ9ZS0xLGkocy4kc2xpZGVzW3RdKS5jbG9uZSghMCkuYXR0cigiaWQiLCIiKS5hdHRyKCJkYXRhLXNsaWNrLWluZGV4Iix0LXMuc2xpZGVDb3VudCkucHJlcGVuZFRvKHMuJHNsaWRlVHJhY2spLmFkZENsYXNzKCJzbGljay1jbG9uZWQiKTtmb3IoZT0wO2U8bytzLnNsaWRlQ291bnQ7ZSs9MSl0PWUsaShzLiRzbGlkZXNbdF0pLmNsb25lKCEwKS5hdHRyKCJpZCIsIiIpLmF0dHIoImRhdGEtc2xpY2staW5kZXgiLHQrcy5zbGlkZUNvdW50KS5hcHBlbmRUbyhzLiRzbGlkZVRyYWNrKS5hZGRDbGFzcygic2xpY2stY2xvbmVkIik7cy4kc2xpZGVUcmFjay5maW5kKCIuc2xpY2stY2xvbmVkIikuZmluZCgiW2lkXSIpLmVhY2goZnVuY3Rpb24oKXtpKHRoaXMpLmF0dHIoImlkIiwiIil9KX19LGUucHJvdG90eXBlLmludGVycnVwdD1mdW5jdGlvbihpKXt2YXIgZT10aGlzO2l8fGUuYXV0b1BsYXkoKSxlLmludGVycnVwdGVkPWl9LGUucHJvdG90eXBlLnNlbGVjdEhhbmRsZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxvPWkoZS50YXJnZXQpLmlzKCIuc2xpY2stc2xpZGUiKT9pKGUudGFyZ2V0KTppKGUudGFyZ2V0KS5wYXJlbnRzKCIuc2xpY2stc2xpZGUiKSxzPXBhcnNlSW50KG8uYXR0cigiZGF0YS1zbGljay1pbmRleCIpKTtzfHwocz0wKSx0LnNsaWRlQ291bnQ8PXQub3B0aW9ucy5zbGlkZXNUb1Nob3c/dC5zbGlkZUhhbmRsZXIocywhMSwhMCk6dC5zbGlkZUhhbmRsZXIocyl9LGUucHJvdG90eXBlLnNsaWRlSGFuZGxlcj1mdW5jdGlvbihpLGUsdCl7dmFyIG8scyxuLHIsbCxkPW51bGwsYT10aGlzO2lmKGU9ZXx8ITEsISghMD09PWEuYW5pbWF0aW5nJiYhMD09PWEub3B0aW9ucy53YWl0Rm9yQW5pbWF0ZXx8ITA9PT1hLm9wdGlvbnMuZmFkZSYmYS5jdXJyZW50U2xpZGU9PT1pKSlpZighMT09PWUmJmEuYXNOYXZGb3IoaSksbz1pLGQ9YS5nZXRMZWZ0KG8pLHI9YS5nZXRMZWZ0KGEuY3VycmVudFNsaWRlKSxhLmN1cnJlbnRMZWZ0PW51bGw9PT1hLnN3aXBlTGVmdD9yOmEuc3dpcGVMZWZ0LCExPT09YS5vcHRpb25zLmluZmluaXRlJiYhMT09PWEub3B0aW9ucy5jZW50ZXJNb2RlJiYoaTwwfHxpPmEuZ2V0RG90Q291bnQoKSphLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwpKSExPT09YS5vcHRpb25zLmZhZGUmJihvPWEuY3VycmVudFNsaWRlLCEwIT09dD9hLmFuaW1hdGVTbGlkZShyLGZ1bmN0aW9uKCl7YS5wb3N0U2xpZGUobyl9KTphLnBvc3RTbGlkZShvKSk7ZWxzZSBpZighMT09PWEub3B0aW9ucy5pbmZpbml0ZSYmITA9PT1hLm9wdGlvbnMuY2VudGVyTW9kZSYmKGk8MHx8aT5hLnNsaWRlQ291bnQtYS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsKSkhMT09PWEub3B0aW9ucy5mYWRlJiYobz1hLmN1cnJlbnRTbGlkZSwhMCE9PXQ/YS5hbmltYXRlU2xpZGUocixmdW5jdGlvbigpe2EucG9zdFNsaWRlKG8pfSk6YS5wb3N0U2xpZGUobykpO2Vsc2V7aWYoYS5vcHRpb25zLmF1dG9wbGF5JiZjbGVhckludGVydmFsKGEuYXV0b1BsYXlUaW1lcikscz1vPDA/YS5zbGlkZUNvdW50JWEub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCE9MD9hLnNsaWRlQ291bnQtYS5zbGlkZUNvdW50JWEub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDphLnNsaWRlQ291bnQrbzpvPj1hLnNsaWRlQ291bnQ/YS5zbGlkZUNvdW50JWEub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCE9MD8wOm8tYS5zbGlkZUNvdW50Om8sYS5hbmltYXRpbmc9ITAsYS4kc2xpZGVyLnRyaWdnZXIoImJlZm9yZUNoYW5nZSIsW2EsYS5jdXJyZW50U2xpZGUsc10pLG49YS5jdXJyZW50U2xpZGUsYS5jdXJyZW50U2xpZGU9cyxhLnNldFNsaWRlQ2xhc3NlcyhhLmN1cnJlbnRTbGlkZSksYS5vcHRpb25zLmFzTmF2Rm9yJiYobD0obD1hLmdldE5hdlRhcmdldCgpKS5zbGljaygiZ2V0U2xpY2siKSkuc2xpZGVDb3VudDw9bC5vcHRpb25zLnNsaWRlc1RvU2hvdyYmbC5zZXRTbGlkZUNsYXNzZXMoYS5jdXJyZW50U2xpZGUpLGEudXBkYXRlRG90cygpLGEudXBkYXRlQXJyb3dzKCksITA9PT1hLm9wdGlvbnMuZmFkZSlyZXR1cm4hMCE9PXQ/KGEuZmFkZVNsaWRlT3V0KG4pLGEuZmFkZVNsaWRlKHMsZnVuY3Rpb24oKXthLnBvc3RTbGlkZShzKX0pKTphLnBvc3RTbGlkZShzKSx2b2lkIGEuYW5pbWF0ZUhlaWdodCgpOyEwIT09dD9hLmFuaW1hdGVTbGlkZShkLGZ1bmN0aW9uKCl7YS5wb3N0U2xpZGUocyl9KTphLnBvc3RTbGlkZShzKX19LGUucHJvdG90eXBlLnN0YXJ0TG9hZD1mdW5jdGlvbigpe3ZhciBpPXRoaXM7ITA9PT1pLm9wdGlvbnMuYXJyb3dzJiZpLnNsaWRlQ291bnQ+aS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGkuJHByZXZBcnJvdy5oaWRlKCksaS4kbmV4dEFycm93LmhpZGUoKSksITA9PT1pLm9wdGlvbnMuZG90cyYmaS5zbGlkZUNvdW50Pmkub3B0aW9ucy5zbGlkZXNUb1Nob3cmJmkuJGRvdHMuaGlkZSgpLGkuJHNsaWRlci5hZGRDbGFzcygic2xpY2stbG9hZGluZyIpfSxlLnByb3RvdHlwZS5zd2lwZURpcmVjdGlvbj1mdW5jdGlvbigpe3ZhciBpLGUsdCxvLHM9dGhpcztyZXR1cm4gaT1zLnRvdWNoT2JqZWN0LnN0YXJ0WC1zLnRvdWNoT2JqZWN0LmN1clgsZT1zLnRvdWNoT2JqZWN0LnN0YXJ0WS1zLnRvdWNoT2JqZWN0LmN1clksdD1NYXRoLmF0YW4yKGUsaSksKG89TWF0aC5yb3VuZCgxODAqdC9NYXRoLlBJKSk8MCYmKG89MzYwLU1hdGguYWJzKG8pKSxvPD00NSYmbz49MD8hMT09PXMub3B0aW9ucy5ydGw/ImxlZnQiOiJyaWdodCI6bzw9MzYwJiZvPj0zMTU/ITE9PT1zLm9wdGlvbnMucnRsPyJsZWZ0IjoicmlnaHQiOm8+PTEzNSYmbzw9MjI1PyExPT09cy5vcHRpb25zLnJ0bD8icmlnaHQiOiJsZWZ0IjohMD09PXMub3B0aW9ucy52ZXJ0aWNhbFN3aXBpbmc/bz49MzUmJm88PTEzNT8iZG93biI6InVwIjoidmVydGljYWwifSxlLnByb3RvdHlwZS5zd2lwZUVuZD1mdW5jdGlvbihpKXt2YXIgZSx0LG89dGhpcztpZihvLmRyYWdnaW5nPSExLG8uc3dpcGluZz0hMSxvLnNjcm9sbGluZylyZXR1cm4gby5zY3JvbGxpbmc9ITEsITE7aWYoby5pbnRlcnJ1cHRlZD0hMSxvLnNob3VsZENsaWNrPSEoby50b3VjaE9iamVjdC5zd2lwZUxlbmd0aD4xMCksdm9pZCAwPT09by50b3VjaE9iamVjdC5jdXJYKXJldHVybiExO2lmKCEwPT09by50b3VjaE9iamVjdC5lZGdlSGl0JiZvLiRzbGlkZXIudHJpZ2dlcigiZWRnZSIsW28sby5zd2lwZURpcmVjdGlvbigpXSksby50b3VjaE9iamVjdC5zd2lwZUxlbmd0aD49by50b3VjaE9iamVjdC5taW5Td2lwZSl7c3dpdGNoKHQ9by5zd2lwZURpcmVjdGlvbigpKXtjYXNlImxlZnQiOmNhc2UiZG93biI6ZT1vLm9wdGlvbnMuc3dpcGVUb1NsaWRlP28uY2hlY2tOYXZpZ2FibGUoby5jdXJyZW50U2xpZGUrby5nZXRTbGlkZUNvdW50KCkpOm8uY3VycmVudFNsaWRlK28uZ2V0U2xpZGVDb3VudCgpLG8uY3VycmVudERpcmVjdGlvbj0wO2JyZWFrO2Nhc2UicmlnaHQiOmNhc2UidXAiOmU9by5vcHRpb25zLnN3aXBlVG9TbGlkZT9vLmNoZWNrTmF2aWdhYmxlKG8uY3VycmVudFNsaWRlLW8uZ2V0U2xpZGVDb3VudCgpKTpvLmN1cnJlbnRTbGlkZS1vLmdldFNsaWRlQ291bnQoKSxvLmN1cnJlbnREaXJlY3Rpb249MX0idmVydGljYWwiIT10JiYoby5zbGlkZUhhbmRsZXIoZSksby50b3VjaE9iamVjdD17fSxvLiRzbGlkZXIudHJpZ2dlcigic3dpcGUiLFtvLHRdKSl9ZWxzZSBvLnRvdWNoT2JqZWN0LnN0YXJ0WCE9PW8udG91Y2hPYmplY3QuY3VyWCYmKG8uc2xpZGVIYW5kbGVyKG8uY3VycmVudFNsaWRlKSxvLnRvdWNoT2JqZWN0PXt9KX0sZS5wcm90b3R5cGUuc3dpcGVIYW5kbGVyPWZ1bmN0aW9uKGkpe3ZhciBlPXRoaXM7aWYoISghMT09PWUub3B0aW9ucy5zd2lwZXx8Im9udG91Y2hlbmQiaW4gZG9jdW1lbnQmJiExPT09ZS5vcHRpb25zLnN3aXBlfHwhMT09PWUub3B0aW9ucy5kcmFnZ2FibGUmJi0xIT09aS50eXBlLmluZGV4T2YoIm1vdXNlIikpKXN3aXRjaChlLnRvdWNoT2JqZWN0LmZpbmdlckNvdW50PWkub3JpZ2luYWxFdmVudCYmdm9pZCAwIT09aS5vcmlnaW5hbEV2ZW50LnRvdWNoZXM/aS5vcmlnaW5hbEV2ZW50LnRvdWNoZXMubGVuZ3RoOjEsZS50b3VjaE9iamVjdC5taW5Td2lwZT1lLmxpc3RXaWR0aC9lLm9wdGlvbnMudG91Y2hUaHJlc2hvbGQsITA9PT1lLm9wdGlvbnMudmVydGljYWxTd2lwaW5nJiYoZS50b3VjaE9iamVjdC5taW5Td2lwZT1lLmxpc3RIZWlnaHQvZS5vcHRpb25zLnRvdWNoVGhyZXNob2xkKSxpLmRhdGEuYWN0aW9uKXtjYXNlInN0YXJ0IjplLnN3aXBlU3RhcnQoaSk7YnJlYWs7Y2FzZSJtb3ZlIjplLnN3aXBlTW92ZShpKTticmVhaztjYXNlImVuZCI6ZS5zd2lwZUVuZChpKX19LGUucHJvdG90eXBlLnN3aXBlTW92ZT1mdW5jdGlvbihpKXt2YXIgZSx0LG8scyxuLHIsbD10aGlzO3JldHVybiBuPXZvaWQgMCE9PWkub3JpZ2luYWxFdmVudD9pLm9yaWdpbmFsRXZlbnQudG91Y2hlczpudWxsLCEoIWwuZHJhZ2dpbmd8fGwuc2Nyb2xsaW5nfHxuJiYxIT09bi5sZW5ndGgpJiYoZT1sLmdldExlZnQobC5jdXJyZW50U2xpZGUpLGwudG91Y2hPYmplY3QuY3VyWD12b2lkIDAhPT1uP25bMF0ucGFnZVg6aS5jbGllbnRYLGwudG91Y2hPYmplY3QuY3VyWT12b2lkIDAhPT1uP25bMF0ucGFnZVk6aS5jbGllbnRZLGwudG91Y2hPYmplY3Quc3dpcGVMZW5ndGg9TWF0aC5yb3VuZChNYXRoLnNxcnQoTWF0aC5wb3cobC50b3VjaE9iamVjdC5jdXJYLWwudG91Y2hPYmplY3Quc3RhcnRYLDIpKSkscj1NYXRoLnJvdW5kKE1hdGguc3FydChNYXRoLnBvdyhsLnRvdWNoT2JqZWN0LmN1clktbC50b3VjaE9iamVjdC5zdGFydFksMikpKSwhbC5vcHRpb25zLnZlcnRpY2FsU3dpcGluZyYmIWwuc3dpcGluZyYmcj40PyhsLnNjcm9sbGluZz0hMCwhMSk6KCEwPT09bC5vcHRpb25zLnZlcnRpY2FsU3dpcGluZyYmKGwudG91Y2hPYmplY3Quc3dpcGVMZW5ndGg9ciksdD1sLnN3aXBlRGlyZWN0aW9uKCksdm9pZCAwIT09aS5vcmlnaW5hbEV2ZW50JiZsLnRvdWNoT2JqZWN0LnN3aXBlTGVuZ3RoPjQmJihsLnN3aXBpbmc9ITAsaS5wcmV2ZW50RGVmYXVsdCgpKSxzPSghMT09PWwub3B0aW9ucy5ydGw/MTotMSkqKGwudG91Y2hPYmplY3QuY3VyWD5sLnRvdWNoT2JqZWN0LnN0YXJ0WD8xOi0xKSwhMD09PWwub3B0aW9ucy52ZXJ0aWNhbFN3aXBpbmcmJihzPWwudG91Y2hPYmplY3QuY3VyWT5sLnRvdWNoT2JqZWN0LnN0YXJ0WT8xOi0xKSxvPWwudG91Y2hPYmplY3Quc3dpcGVMZW5ndGgsbC50b3VjaE9iamVjdC5lZGdlSGl0PSExLCExPT09bC5vcHRpb25zLmluZmluaXRlJiYoMD09PWwuY3VycmVudFNsaWRlJiYicmlnaHQiPT09dHx8bC5jdXJyZW50U2xpZGU+PWwuZ2V0RG90Q291bnQoKSYmImxlZnQiPT09dCkmJihvPWwudG91Y2hPYmplY3Quc3dpcGVMZW5ndGgqbC5vcHRpb25zLmVkZ2VGcmljdGlvbixsLnRvdWNoT2JqZWN0LmVkZ2VIaXQ9ITApLCExPT09bC5vcHRpb25zLnZlcnRpY2FsP2wuc3dpcGVMZWZ0PWUrbypzOmwuc3dpcGVMZWZ0PWUrbyoobC4kbGlzdC5oZWlnaHQoKS9sLmxpc3RXaWR0aCkqcywhMD09PWwub3B0aW9ucy52ZXJ0aWNhbFN3aXBpbmcmJihsLnN3aXBlTGVmdD1lK28qcyksITAhPT1sLm9wdGlvbnMuZmFkZSYmITEhPT1sLm9wdGlvbnMudG91Y2hNb3ZlJiYoITA9PT1sLmFuaW1hdGluZz8obC5zd2lwZUxlZnQ9bnVsbCwhMSk6dm9pZCBsLnNldENTUyhsLnN3aXBlTGVmdCkpKSl9LGUucHJvdG90eXBlLnN3aXBlU3RhcnQ9ZnVuY3Rpb24oaSl7dmFyIGUsdD10aGlzO2lmKHQuaW50ZXJydXB0ZWQ9ITAsMSE9PXQudG91Y2hPYmplY3QuZmluZ2VyQ291bnR8fHQuc2xpZGVDb3VudDw9dC5vcHRpb25zLnNsaWRlc1RvU2hvdylyZXR1cm4gdC50b3VjaE9iamVjdD17fSwhMTt2b2lkIDAhPT1pLm9yaWdpbmFsRXZlbnQmJnZvaWQgMCE9PWkub3JpZ2luYWxFdmVudC50b3VjaGVzJiYoZT1pLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXSksdC50b3VjaE9iamVjdC5zdGFydFg9dC50b3VjaE9iamVjdC5jdXJYPXZvaWQgMCE9PWU/ZS5wYWdlWDppLmNsaWVudFgsdC50b3VjaE9iamVjdC5zdGFydFk9dC50b3VjaE9iamVjdC5jdXJZPXZvaWQgMCE9PWU/ZS5wYWdlWTppLmNsaWVudFksdC5kcmFnZ2luZz0hMH0sZS5wcm90b3R5cGUudW5maWx0ZXJTbGlkZXM9ZS5wcm90b3R5cGUuc2xpY2tVbmZpbHRlcj1mdW5jdGlvbigpe3ZhciBpPXRoaXM7bnVsbCE9PWkuJHNsaWRlc0NhY2hlJiYoaS51bmxvYWQoKSxpLiRzbGlkZVRyYWNrLmNoaWxkcmVuKHRoaXMub3B0aW9ucy5zbGlkZSkuZGV0YWNoKCksaS4kc2xpZGVzQ2FjaGUuYXBwZW5kVG8oaS4kc2xpZGVUcmFjayksaS5yZWluaXQoKSl9LGUucHJvdG90eXBlLnVubG9hZD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aSgiLnNsaWNrLWNsb25lZCIsZS4kc2xpZGVyKS5yZW1vdmUoKSxlLiRkb3RzJiZlLiRkb3RzLnJlbW92ZSgpLGUuJHByZXZBcnJvdyYmZS5odG1sRXhwci50ZXN0KGUub3B0aW9ucy5wcmV2QXJyb3cpJiZlLiRwcmV2QXJyb3cucmVtb3ZlKCksZS4kbmV4dEFycm93JiZlLmh0bWxFeHByLnRlc3QoZS5vcHRpb25zLm5leHRBcnJvdykmJmUuJG5leHRBcnJvdy5yZW1vdmUoKSxlLiRzbGlkZXMucmVtb3ZlQ2xhc3MoInNsaWNrLXNsaWRlIHNsaWNrLWFjdGl2ZSBzbGljay12aXNpYmxlIHNsaWNrLWN1cnJlbnQiKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKS5jc3MoIndpZHRoIiwiIil9LGUucHJvdG90eXBlLnVuc2xpY2s9ZnVuY3Rpb24oaSl7dmFyIGU9dGhpcztlLiRzbGlkZXIudHJpZ2dlcigidW5zbGljayIsW2UsaV0pLGUuZGVzdHJveSgpfSxlLnByb3RvdHlwZS51cGRhdGVBcnJvd3M9ZnVuY3Rpb24oKXt2YXIgaT10aGlzO01hdGguZmxvb3IoaS5vcHRpb25zLnNsaWRlc1RvU2hvdy8yKSwhMD09PWkub3B0aW9ucy5hcnJvd3MmJmkuc2xpZGVDb3VudD5pLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYhaS5vcHRpb25zLmluZmluaXRlJiYoaS4kcHJldkFycm93LnJlbW92ZUNsYXNzKCJzbGljay1kaXNhYmxlZCIpLmF0dHIoImFyaWEtZGlzYWJsZWQiLCJmYWxzZSIpLGkuJG5leHRBcnJvdy5yZW1vdmVDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwiZmFsc2UiKSwwPT09aS5jdXJyZW50U2xpZGU/KGkuJHByZXZBcnJvdy5hZGRDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpLGkuJG5leHRBcnJvdy5yZW1vdmVDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwiZmFsc2UiKSk6aS5jdXJyZW50U2xpZGU+PWkuc2xpZGVDb3VudC1pLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYhMT09PWkub3B0aW9ucy5jZW50ZXJNb2RlPyhpLiRuZXh0QXJyb3cuYWRkQ2xhc3MoInNsaWNrLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNhYmxlZCIsInRydWUiKSxpLiRwcmV2QXJyb3cucmVtb3ZlQ2xhc3MoInNsaWNrLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNhYmxlZCIsImZhbHNlIikpOmkuY3VycmVudFNsaWRlPj1pLnNsaWRlQ291bnQtMSYmITA9PT1pLm9wdGlvbnMuY2VudGVyTW9kZSYmKGkuJG5leHRBcnJvdy5hZGRDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpLGkuJHByZXZBcnJvdy5yZW1vdmVDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwiZmFsc2UiKSkpfSxlLnByb3RvdHlwZS51cGRhdGVEb3RzPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztudWxsIT09aS4kZG90cyYmKGkuJGRvdHMuZmluZCgibGkiKS5yZW1vdmVDbGFzcygic2xpY2stYWN0aXZlIikuZW5kKCksaS4kZG90cy5maW5kKCJsaSIpLmVxKE1hdGguZmxvb3IoaS5jdXJyZW50U2xpZGUvaS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsKSkuYWRkQ2xhc3MoInNsaWNrLWFjdGl2ZSIpKX0sZS5wcm90b3R5cGUudmlzaWJpbGl0eT1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aS5vcHRpb25zLmF1dG9wbGF5JiYoZG9jdW1lbnRbaS5oaWRkZW5dP2kuaW50ZXJydXB0ZWQ9ITA6aS5pbnRlcnJ1cHRlZD0hMSl9LGkuZm4uc2xpY2s9ZnVuY3Rpb24oKXt2YXIgaSx0LG89dGhpcyxzPWFyZ3VtZW50c1swXSxuPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxyPW8ubGVuZ3RoO2ZvcihpPTA7aTxyO2krKylpZigib2JqZWN0Ij09dHlwZW9mIHN8fHZvaWQgMD09PXM/b1tpXS5zbGljaz1uZXcgZShvW2ldLHMpOnQ9b1tpXS5zbGlja1tzXS5hcHBseShvW2ldLnNsaWNrLG4pLHZvaWQgMCE9PXQpcmV0dXJuIHQ7cmV0dXJuIG99fSk7DQoNCg0KDQoNCi8qDQogKiAganF1ZXJ5IFR3ZW50eVR3ZW50eSBCZWZvcmUgQWZ0ZXIgU2xpZGVyDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiFmdW5jdGlvbihlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxlKToidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbnVsbCE9PW1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZTplKCl9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gbmV3IEN1c3RvbUV2ZW50KGUsTil9ZnVuY3Rpb24gdChlKXtyZXR1cm4gZVt6XXx8KGVbel09e30pfWZ1bmN0aW9uIG4oZSxuLG8saSxhKXtmdW5jdGlvbiB1KGUpe28oZSxpKX1uPW4uc3BsaXQoRCk7Zm9yKHZhciBjLHI9dChlKSxkPW4ubGVuZ3RoO2QtLTspKHJbYz1uW2RdXXx8KHJbY109W10pKS5wdXNoKFtvLHVdKSxlLmFkZEV2ZW50TGlzdGVuZXIoYyx1KX1mdW5jdGlvbiBvKGUsbixvLGkpe249bi5zcGxpdChEKTt2YXIgYSx1LGMscj10KGUpLGQ9bi5sZW5ndGg7aWYocilmb3IoO2QtLTspaWYoYT1uW2RdLHU9clthXSlmb3IoYz11Lmxlbmd0aDtjLS07KXVbY11bMF09PT1vJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyKGEsdVtjXVsxXSksdS5zcGxpY2UoYywxKSl9ZnVuY3Rpb24gaSh0LG4sbyl7dmFyIGk9ZShuKTtvJiZBKGksbyksdC5kaXNwYXRjaEV2ZW50KGkpfWZ1bmN0aW9uIGEoZSl7ZnVuY3Rpb24gdChlKXtvPyhuKCksTSh0KSxpPSEwLG89ITEpOmk9ITF9dmFyIG49ZSxvPSExLGk9ITE7dGhpcy5raWNrPWZ1bmN0aW9uKGUpe289ITAsaXx8dCgpfSx0aGlzLmVuZD1mdW5jdGlvbihlKXt2YXIgdD1uO2UmJihpPyhuPW8/ZnVuY3Rpb24oKXt0KCksZSgpfTplLG89ITApOmUoKSl9fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gYyhlKXtlLnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gcihlKXtyZXR1cm4hIXhbZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpXX1mdW5jdGlvbiBkKGUpe3JldHVybiAxPT09ZS53aGljaCYmIWUuY3RybEtleSYmIWUuYWx0S2V5fWZ1bmN0aW9uIG0oZSx0KXt2YXIgbixvO2lmKGUuaWRlbnRpZmllZFRvdWNoKXJldHVybiBlLmlkZW50aWZpZWRUb3VjaCh0KTtmb3Iobj0tMSxvPWUubGVuZ3RoOysrbjxvOylpZihlW25dLmlkZW50aWZpZXI9PT10KXJldHVybiBlW25dfWZ1bmN0aW9uIGYoZSx0KXt2YXIgbj1tKGUuY2hhbmdlZFRvdWNoZXMsdC5pZGVudGlmaWVyKTtpZihuJiYobi5wYWdlWCE9PXQucGFnZVh8fG4ucGFnZVkhPT10LnBhZ2VZKSlyZXR1cm4gbn1mdW5jdGlvbiB2KGUsdCl7WChlLHQsZSxsKX1mdW5jdGlvbiBzKGUsdCl7bCgpfWZ1bmN0aW9uIGwoKXtvKGRvY3VtZW50LEwubW92ZSx2KSxvKGRvY3VtZW50LEwuY2FuY2VsLHMpfWZ1bmN0aW9uIHAoZSx0KXt2YXIgbj1mKGUsdCk7biYmWChlLHQsbixoKX1mdW5jdGlvbiBnKGUsdCl7bShlLmNoYW5nZWRUb3VjaGVzLHQuaWRlbnRpZmllcikmJmgodCl9ZnVuY3Rpb24gaChlKXtvKGRvY3VtZW50LFIubW92ZSxlLnRvdWNobW92ZSksbyhkb2N1bWVudCxSLmNhbmNlbCxlLnRvdWNoZW5kKX1mdW5jdGlvbiBYKGUsdCxuLG8pe3ZhciBpPW4ucGFnZVgtdC5wYWdlWCxhPW4ucGFnZVktdC5wYWdlWTtpKmkrYSphPEYqRnx8WShlLHQsbixpLGEsbyl9ZnVuY3Rpb24gWShlLHQsbixvLGEsYyl7dmFyIHI9ZS50YXJnZXRUb3VjaGVzLGQ9ZS50aW1lU3RhbXAtdC50aW1lU3RhbXAsbT17YWx0S2V5OmUuYWx0S2V5LGN0cmxLZXk6ZS5jdHJsS2V5LHNoaWZ0S2V5OmUuc2hpZnRLZXksc3RhcnRYOnQucGFnZVgsc3RhcnRZOnQucGFnZVksZGlzdFg6byxkaXN0WTphLGRlbHRhWDpvLGRlbHRhWTphLHBhZ2VYOm4ucGFnZVgscGFnZVk6bi5wYWdlWSx2ZWxvY2l0eVg6by9kLHZlbG9jaXR5WTphL2QsaWRlbnRpZmllcjp0LmlkZW50aWZpZXIsdGFyZ2V0VG91Y2hlczpyLGZpbmdlcjpyP3IubGVuZ3RoOjEsZW5hYmxlTW92ZTpmdW5jdGlvbigpe3RoaXMubW92ZUVuYWJsZWQ9ITAsdGhpcy5lbmFibGVNb3ZlPXUsZS5wcmV2ZW50RGVmYXVsdCgpfX07aSh0LnRhcmdldCwibW92ZXN0YXJ0IixtKSxjKHQpfWZ1bmN0aW9uIHkoZSx0KXt2YXIgbj10LnRpbWVyO3QudG91Y2g9ZSx0LnRpbWVTdGFtcD1lLnRpbWVTdGFtcCxuLmtpY2soKX1mdW5jdGlvbiB3KGUsdCl7dmFyIG49dC50YXJnZXQsaT10LmV2ZW50LGE9dC50aW1lcjtiKCksSyhuLGksYSxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtvKG4sImNsaWNrIixjKX0sMCl9KX1mdW5jdGlvbiBiKCl7byhkb2N1bWVudCxMLm1vdmUseSksbyhkb2N1bWVudCxMLmVuZCx3KX1mdW5jdGlvbiBUKGUsdCl7dmFyIG49dC5ldmVudCxvPXQudGltZXIsaT1mKGUsbik7aSYmKGUucHJldmVudERlZmF1bHQoKSxuLnRhcmdldFRvdWNoZXM9ZS50YXJnZXRUb3VjaGVzLHQudG91Y2g9aSx0LnRpbWVTdGFtcD1lLnRpbWVTdGFtcCxvLmtpY2soKSl9ZnVuY3Rpb24gRShlLHQpe3ZhciBuPXQudGFyZ2V0LG89dC5ldmVudCxpPXQudGltZXI7bShlLmNoYW5nZWRUb3VjaGVzLG8uaWRlbnRpZmllcikmJihTKHQpLEsobixvLGkpKX1mdW5jdGlvbiBTKGUpe28oZG9jdW1lbnQsUi5tb3ZlLGUuYWN0aXZlVG91Y2htb3ZlKSxvKGRvY3VtZW50LFIuZW5kLGUuYWN0aXZlVG91Y2hlbmQpfWZ1bmN0aW9uIGsoZSx0LG4pe3ZhciBvPW4tZS50aW1lU3RhbXA7ZS5kaXN0WD10LnBhZ2VYLWUuc3RhcnRYLGUuZGlzdFk9dC5wYWdlWS1lLnN0YXJ0WSxlLmRlbHRhWD10LnBhZ2VYLWUucGFnZVgsZS5kZWx0YVk9dC5wYWdlWS1lLnBhZ2VZLGUudmVsb2NpdHlYPS4zKmUudmVsb2NpdHlYKy43KmUuZGVsdGFYL28sZS52ZWxvY2l0eVk9LjMqZS52ZWxvY2l0eVkrLjcqZS5kZWx0YVkvbyxlLnBhZ2VYPXQucGFnZVgsZS5wYWdlWT10LnBhZ2VZfWZ1bmN0aW9uIEsoZSx0LG4sbyl7bi5lbmQoZnVuY3Rpb24oKXtyZXR1cm4gaShlLCJtb3ZlZW5kIix0KSxvJiZvKCl9KX1mdW5jdGlvbiBqKGUpe2UuZW5hYmxlTW92ZSgpfWZ1bmN0aW9uIEMoZSl7ZS5lbmFibGVNb3ZlKCl9ZnVuY3Rpb24gUShlKXtlLmVuYWJsZU1vdmUoKX1mdW5jdGlvbiBxKGUpe3ZhciB0PWUuaGFuZGxlcjtlLmhhbmRsZXI9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLG89Ty5sZW5ndGg7by0tOyllW249T1tvXV09ZS5vcmlnaW5hbEV2ZW50W25dO3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfX12YXIgQT1PYmplY3QuYXNzaWdufHx3aW5kb3cualF1ZXJ5JiZqUXVlcnkuZXh0ZW5kLEY9OCxNPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5vUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZSgpfSwyNSl9OyFmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXt0PXR8fHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnZvaWQgMH07dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iik7cmV0dXJuIG4uaW5pdEN1c3RvbUV2ZW50KGUsdC5idWJibGVzLHQuY2FuY2VsYWJsZSx0LmRldGFpbCksbn1pZigiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50KXJldHVybiExO2UucHJvdG90eXBlPXdpbmRvdy5FdmVudC5wcm90b3R5cGUsd2luZG93LkN1c3RvbUV2ZW50PWV9KCk7dmFyIHg9e3RleHRhcmVhOiEwLGlucHV0OiEwLHNlbGVjdDohMCxidXR0b246ITB9LEw9e21vdmU6Im1vdXNlbW92ZSIsY2FuY2VsOiJtb3VzZXVwIGRyYWdzdGFydCIsZW5kOiJtb3VzZXVwIn0sUj17bW92ZToidG91Y2htb3ZlIixjYW5jZWw6InRvdWNoZW5kIixlbmQ6InRvdWNoZW5kIn0sRD0vXHMrLyxOPXtidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9LHo9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbD9TeW1ib2woImV2ZW50cyIpOnt9O2lmKG4oZG9jdW1lbnQsIm1vdXNlZG93biIsZnVuY3Rpb24oZSl7ZChlKSYmKHIoZSl8fChuKGRvY3VtZW50LEwubW92ZSx2LGUpLG4oZG9jdW1lbnQsTC5jYW5jZWwscyxlKSkpfSksbihkb2N1bWVudCwidG91Y2hzdGFydCIsZnVuY3Rpb24oZSl7aWYoIXhbZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpXSl7dmFyIHQ9ZS5jaGFuZ2VkVG91Y2hlc1swXSxvPXt0YXJnZXQ6dC50YXJnZXQscGFnZVg6dC5wYWdlWCxwYWdlWTp0LnBhZ2VZLGlkZW50aWZpZXI6dC5pZGVudGlmaWVyLHRvdWNobW92ZTpmdW5jdGlvbihlLHQpe3AoZSx0KX0sdG91Y2hlbmQ6ZnVuY3Rpb24oZSx0KXtnKGUsdCl9fTtuKGRvY3VtZW50LFIubW92ZSxvLnRvdWNobW92ZSxvKSxuKGRvY3VtZW50LFIuY2FuY2VsLG8udG91Y2hlbmQsbyl9fSksbihkb2N1bWVudCwibW92ZXN0YXJ0IixmdW5jdGlvbihlKXtpZighZS5kZWZhdWx0UHJldmVudGVkJiZlLm1vdmVFbmFibGVkKXt2YXIgdD17c3RhcnRYOmUuc3RhcnRYLHN0YXJ0WTplLnN0YXJ0WSxwYWdlWDplLnBhZ2VYLHBhZ2VZOmUucGFnZVksZGlzdFg6ZS5kaXN0WCxkaXN0WTplLmRpc3RZLGRlbHRhWDplLmRlbHRhWCxkZWx0YVk6ZS5kZWx0YVksdmVsb2NpdHlYOmUudmVsb2NpdHlYLHZlbG9jaXR5WTplLnZlbG9jaXR5WSxpZGVudGlmaWVyOmUuaWRlbnRpZmllcix0YXJnZXRUb3VjaGVzOmUudGFyZ2V0VG91Y2hlcyxmaW5nZXI6ZS5maW5nZXJ9LG89e3RhcmdldDplLnRhcmdldCxldmVudDp0LHRpbWVyOm5ldyBhKGZ1bmN0aW9uKGUpe2sodCxvLnRvdWNoLG8udGltZVN0YW1wKSxpKG8udGFyZ2V0LCJtb3ZlIix0KX0pLHRvdWNoOnZvaWQgMCx0aW1lU3RhbXA6ZS50aW1lU3RhbXB9O3ZvaWQgMD09PWUuaWRlbnRpZmllcj8obihlLnRhcmdldCwiY2xpY2siLGMpLG4oZG9jdW1lbnQsTC5tb3ZlLHksbyksbihkb2N1bWVudCxMLmVuZCx3LG8pKTooby5hY3RpdmVUb3VjaG1vdmU9ZnVuY3Rpb24oZSx0KXtUKGUsdCl9LG8uYWN0aXZlVG91Y2hlbmQ9ZnVuY3Rpb24oZSx0KXtFKGUsdCl9LG4oZG9jdW1lbnQsUi5tb3ZlLG8uYWN0aXZlVG91Y2htb3ZlLG8pLG4oZG9jdW1lbnQsUi5lbmQsby5hY3RpdmVUb3VjaGVuZCxvKSl9fSksd2luZG93LmpRdWVyeSl7dmFyIE89InN0YXJ0WCBzdGFydFkgcGFnZVggcGFnZVkgZGlzdFggZGlzdFkgZGVsdGFYIGRlbHRhWSB2ZWxvY2l0eVggdmVsb2NpdHlZIi5zcGxpdCgiICIpO2pRdWVyeS5ldmVudC5zcGVjaWFsLm1vdmVzdGFydD17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLCJtb3Zlc3RhcnQiLGopLCExfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBvKHRoaXMsIm1vdmVzdGFydCIsaiksITF9LGFkZDpxfSxqUXVlcnkuZXZlbnQuc3BlY2lhbC5tb3ZlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBuKHRoaXMsIm1vdmVzdGFydCIsQyksITF9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcywibW92ZXN0YXJ0IixDKSwhMX0sYWRkOnF9LGpRdWVyeS5ldmVudC5zcGVjaWFsLm1vdmVlbmQ9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcywibW92ZXN0YXJ0IixRKSwhMX0sdGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4gbyh0aGlzLCJtb3Zlc3RhcnQiLFEpLCExfSxhZGQ6cX19fSk7DQoNCiFmdW5jdGlvbih0KXt0LmZuLnR3ZW50eXR3ZW50eT1mdW5jdGlvbihlKXt2YXIgZT10LmV4dGVuZCh7ZGVmYXVsdF9vZmZzZXRfcGN0Oi41LG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixiZWZvcmVfbGFiZWw6IkJlZm9yZSIsYWZ0ZXJfbGFiZWw6IkFmdGVyIixub19vdmVybGF5OiExfSxlKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49ZS5kZWZhdWx0X29mZnNldF9wY3QsYT10KHRoaXMpLGk9ZS5vcmllbnRhdGlvbixzPSJ2ZXJ0aWNhbCI9PT1pPyJkb3duIjoibGVmdCIscj0idmVydGljYWwiPT09aT8idXAiOiJyaWdodCI7YS53cmFwKCI8ZGl2IGNsYXNzPSd0d2VudHl0d2VudHktd3JhcHBlciB0d2VudHl0d2VudHktIitpKyInPjwvZGl2PiIpLGUubm9fb3ZlcmxheXx8YS5hcHBlbmQoIjxkaXYgY2xhc3M9J3R3ZW50eXR3ZW50eS1vdmVybGF5Jz48L2Rpdj4iKTt2YXIgZD1hLmZpbmQoImltZzpmaXJzdCIpLGM9YS5maW5kKCJpbWc6bGFzdCIpO2EuYXBwZW5kKCI8ZGl2IGNsYXNzPSd0d2VudHl0d2VudHktaGFuZGxlJz48L2Rpdj4iKTt2YXIgbD1hLmZpbmQoIi50d2VudHl0d2VudHktaGFuZGxlIik7bC5hcHBlbmQoIjxzcGFuIGNsYXNzPSd0d2VudHl0d2VudHktIitzKyItYXJyb3cnPjwvc3Bhbj4iKSxsLmFwcGVuZCgiPHNwYW4gY2xhc3M9J3R3ZW50eXR3ZW50eS0iK3IrIi1hcnJvdyc+PC9zcGFuPiIpLGEuYWRkQ2xhc3MoInR3ZW50eXR3ZW50eS1jb250YWluZXIiKSxkLmFkZENsYXNzKCJ0d2VudHl0d2VudHktYmVmb3JlIiksYy5hZGRDbGFzcygidHdlbnR5dHdlbnR5LWFmdGVyIik7dmFyIG89YS5maW5kKCIudHdlbnR5dHdlbnR5LW92ZXJsYXkiKTtvLmFwcGVuZCgiPGRpdiBjbGFzcz0ndHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbCcgZGF0YS1jb250ZW50PSciK2UuYmVmb3JlX2xhYmVsKyInPjwvZGl2PiIpLG8uYXBwZW5kKCI8ZGl2IGNsYXNzPSd0d2VudHl0d2VudHktYWZ0ZXItbGFiZWwnIGRhdGEtY29udGVudD0nIitlLmFmdGVyX2xhYmVsKyInPjwvZGl2PiIpO3ZhciB3PWZ1bmN0aW9uKHQpe3ZhciBlPWQud2lkdGgoKSxuPWQuaGVpZ2h0KCk7cmV0dXJue3c6ZSsicHgiLGg6bisicHgiLGN3OnQqZSsicHgiLGNoOnQqbisicHgifX0sZj1mdW5jdGlvbih0KXsidmVydGljYWwiPT09aT8oZC5jc3MoImNsaXAiLCJyZWN0KDAsIit0LncrIiwiK3QuY2grIiwwKSIpLGMuY3NzKCJjbGlwIiwicmVjdCgiK3QuY2grIiwiK3QudysiLCIrdC5oKyIsMCkiKSk6KGQuY3NzKCJjbGlwIiwicmVjdCgwLCIrdC5jdysiLCIrdC5oKyIsMCkiKSxjLmNzcygiY2xpcCIsInJlY3QoMCwiK3QudysiLCIrdC5oKyIsIit0LmN3KyIpIikpLGEuY3NzKCJoZWlnaHQiLHQuaCl9LHY9ZnVuY3Rpb24odCl7dmFyIGU9dyh0KTtsLmNzcygidmVydGljYWwiPT09aT8idG9wIjoibGVmdCIsInZlcnRpY2FsIj09PWk/ZS5jaDplLmN3KSxmKGUpfTt0KHdpbmRvdykub24oInJlc2l6ZS50d2VudHl0d2VudHkiLGZ1bmN0aW9uKHQpe3Yobil9KTt2YXIgcD0wLHk9MCxoPTAsdT0wO2wub24oIm1vdmVzdGFydCIsZnVuY3Rpb24odCl7KHQuZGlzdFg+dC5kaXN0WSYmdC5kaXN0WDwtdC5kaXN0WXx8dC5kaXN0WDx0LmRpc3RZJiZ0LmRpc3RYPi10LmRpc3RZKSYmInZlcnRpY2FsIiE9PWk/dC5wcmV2ZW50RGVmYXVsdCgpOih0LmRpc3RYPHQuZGlzdFkmJnQuZGlzdFg8LXQuZGlzdFl8fHQuZGlzdFg+dC5kaXN0WSYmdC5kaXN0WD4tdC5kaXN0WSkmJiJ2ZXJ0aWNhbCI9PT1pJiZ0LnByZXZlbnREZWZhdWx0KCksYS5hZGRDbGFzcygiYWN0aXZlIikscD1hLm9mZnNldCgpLmxlZnQseT1hLm9mZnNldCgpLnRvcCxoPWQud2lkdGgoKSx1PWQuaGVpZ2h0KCl9KSxsLm9uKCJtb3ZlZW5kIixmdW5jdGlvbih0KXthLnJlbW92ZUNsYXNzKCJhY3RpdmUiKX0pLGwub24oIm1vdmUiLGZ1bmN0aW9uKHQpe2EuaGFzQ2xhc3MoImFjdGl2ZSIpJiYoKG49InZlcnRpY2FsIj09PWk/KHQucGFnZVkteSkvdToodC5wYWdlWC1wKS9oKTwwJiYobj0wKSxuPjEmJihuPTEpLHYobikpfSksYS5maW5kKCJpbWciKS5vbigibW91c2Vkb3duIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9KSx0KHdpbmRvdykudHJpZ2dlcigicmVzaXplLnR3ZW50eXR3ZW50eSIpfSl9fShqUXVlcnkpOw0KDQo="}},"time_used":474,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":369,"receive":105,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/jquery.themepunch.revolution.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.025Z","timestamp":1785123385025,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/jquery.themepunch.revolution.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"fd80-65fd8520-9911f206bf33aefb;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 17141\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":64896,"size_decoded":17598,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (64561), with CRLF line terminators","md5":"edd0a8f07cc892d86518ad62642dcab0","sha1":"e8ddc925c3ebaa77f120932e1acf3b680e84df51","sha256":"5bf19de4a1e69b7b3cce947da22702f074c0963192bf9eb3ea9210ac07c52f67","sha512":"e980a77cc13ada7ac28eaaa1db1a4c738aaf959cb7bfcaa68390e7e7500fd1218ef7bb4368102b69a8cb7bf4968d01207cd58ba6e5770599388d022fb656c1aa","ssdeep":"1536:gCnzw4tqc78qdVSrk8cheMxtWd9YidEQ8Mv3xVgnufnQuh2VLc7iKiFn2+9arAI+:gCnzXF7TdVSrk8VMmNsLciKB+9qOd","tlshash":"51530b64be10347694bb2265e03f8615b2b15c37eb02c4a0e5d7587c6be8d89236ff8c","first_seen":"2023-03-07T12:05:18Z","last_seen":"2026-07-30T05:52:29.043419Z","times_seen":2112,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLmpzIC0galF1ZXJ5IFBsdWdpbiBmb3IgUmV2b2x1dGlvbiBTbGlkZXINCiAqIEB2ZXJzaW9uOiA1LjQuNSAoMTcuMDUuMjAxNykNCiAqIEByZXF1aXJlcyBqUXVlcnkgdjEuNyBvciBsYXRlciAodGVzdGVkIG9uIDEuOSkNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oalF1ZXJ5LHVuZGVmaW5lZCl7InVzZSBzdHJpY3QiO3ZhciB2ZXJzaW9uPXtjb3JlOiI1LjQuNSIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5hY3Rpb25zLm1pbi5qcyI6IjIuMS4wIiwicmV2b2x1dGlvbi5leHRlbnNpb25zLmNhcm91c2VsLm1pbi5qcyI6IjEuMi4xIiwicmV2b2x1dGlvbi5leHRlbnNpb25zLmtlbmJ1cm4ubWluLmpzIjoiMS4zLjEiLCJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubGF5ZXJhbmltYXRpb24ubWluLmpzIjoiMy42LjEiLCJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubmF2aWdhdGlvbi5taW4uanMiOiIxLjMuMyIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5wYXJhbGxheC5taW4uanMiOiIyLjIuMCIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5zbGlkZWFuaW1zLm1pbi5qcyI6IjEuNyIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy52aWRlby5taW4uanMiOiIyLjEuMSJ9O2pRdWVyeS5mbi5leHRlbmQoe3Jldm9sdXRpb246ZnVuY3Rpb24oYSl7dmFyIGI9e2RlbGF5OjllMyxyZXNwb25zaXZlTGV2ZWxzOjQwNjQsdmlzaWJpbGl0eUxldmVsczpbMjA0OCwxMDI0LDc3OCw0ODBdLGdyaWR3aWR0aDo5NjAsZ3JpZGhlaWdodDo1MDAsbWluSGVpZ2h0OjAsYXV0b0hlaWdodDoib2ZmIixzbGlkZXJUeXBlOiJzdGFuZGFyZCIsc2xpZGVyTGF5b3V0OiJhdXRvIixmdWxsU2NyZWVuQXV0b1dpZHRoOiJvZmYiLGZ1bGxTY3JlZW5BbGlnbkZvcmNlOiJvZmYiLGZ1bGxTY3JlZW5PZmZzZXRDb250YWluZXI6IiIsZnVsbFNjcmVlbk9mZnNldDoiMCIsaGlkZUNhcHRpb25BdExpbWl0OjAsaGlkZUFsbENhcHRpb25BdExpbWl0OjAsaGlkZVNsaWRlckF0TGltaXQ6MCxkaXNhYmxlUHJvZ3Jlc3NCYXI6Im9mZiIsc3RvcEF0U2xpZGU6LTEsc3RvcEFmdGVyTG9vcHM6LTEsc2hhZG93OjAsZG90dGVkT3ZlcmxheToibm9uZSIsc3RhcnREZWxheTowLGxhenlUeXBlOiJzbWFydCIsc3Bpbm5lcjoic3Bpbm5lcjAiLHNodWZmbGU6Im9mZiIsdmlld1BvcnQ6e2VuYWJsZTohMSxvdXRvZjoid2FpdCIsdmlzaWJsZV9hcmVhOiI2MCUiLHByZXNpemU6ITF9LGZhbGxiYWNrczp7aXNKb29tbGE6ITEscGFuWm9vbURpc2FibGVPbk1vYmlsZToib2ZmIixzaW1wbGlmeUFsbDoib24iLG5leHRTbGlkZU9uV2luZG93Rm9jdXM6Im9mZiIsZGlzYWJsZUZvY3VzTGlzdGVuZXI6ITAsaWdub3JlSGVpZ2h0Q2hhbmdlczoib2ZmIixpZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZTowLGFsbG93SFRNTDVBdXRvUGxheU9uQW5kcm9pZDohMH0scGFyYWxsYXg6e3R5cGU6Im9mZiIsbGV2ZWxzOlsxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MCw1NSw2MCw2NSw3MCw3NSw4MCw4NV0sb3JpZ286ImVudGVycG9pbnQiLHNwZWVkOjQwMCxiZ3BhcmFsbGF4OiJvZmYiLG9wYWNpdHk6Im9uIixkaXNhYmxlX29ubW9iaWxlOiJvZmYiLGRkZF9zaGFkb3c6Im9uIixkZGRfYmdmcmVlemU6Im9mZiIsZGRkX292ZXJmbG93OiJ2aXNpYmxlIixkZGRfbGF5ZXJfb3ZlcmZsb3c6InZpc2libGUiLGRkZF96X2NvcnJlY3Rpb246NjUsZGRkX3BhdGg6Im1vdXNlIn0sc2Nyb2xsZWZmZWN0OntmYWRlOiJvZmYiLGJsdXI6Im9mZiIsc2NhbGU6Im9mZiIsZ3JheXNjYWxlOiJvZmYiLG1heGJsdXI6MTAsb25fbGF5ZXJzOiJvZmYiLG9uX3NsaWRlYmc6Im9mZiIsb25fc3RhdGljX2xheWVyczoib2ZmIixvbl9wYXJhbGxheF9sYXllcnM6Im9mZiIsb25fcGFyYWxsYXhfc3RhdGljX2xheWVyczoib2ZmIixkaXJlY3Rpb246ImJvdGgiLG11bHRpcGxpY2F0b3I6MS4zNSxtdWx0aXBsaWNhdG9yX2xheWVyczouNSx0aWx0OjMwLGRpc2FibGVfb25fbW9iaWxlOiJvbiJ9LGNhcm91c2VsOntlYXNpbmc6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0LHNwZWVkOjgwMCxzaG93TGF5ZXJzQWxsVGltZToib2ZmIixob3Jpem9udGFsX2FsaWduOiJjZW50ZXIiLHZlcnRpY2FsX2FsaWduOiJjZW50ZXIiLGluZmluaXR5OiJvbiIsc3BhY2U6MCxtYXhWaXNpYmxlSXRlbXM6MyxzdHJldGNoOiJvZmYiLGZhZGVvdXQ6Im9uIixtYXhSb3RhdGlvbjowLG1pblNjYWxlOjAsdmFyeV9mYWRlOiJvZmYiLHZhcnlfcm90YXRpb246Im9uIix2YXJ5X3NjYWxlOiJvZmYiLGJvcmRlcl9yYWRpdXM6IjBweCIscGFkZGluZ190b3A6MCxwYWRkaW5nX2JvdHRvbTowfSxuYXZpZ2F0aW9uOntrZXlib2FyZE5hdmlnYXRpb246Im9mZiIsa2V5Ym9hcmRfZGlyZWN0aW9uOiJob3Jpem9udGFsIixtb3VzZVNjcm9sbE5hdmlnYXRpb246Im9mZiIsb25Ib3ZlclN0b3A6Im9uIix0b3VjaDp7dG91Y2hlbmFibGVkOiJvZmYiLHRvdWNoT25EZXNrdG9wOiJvZmYiLHN3aXBlX3RyZXNob2xkOjc1LHN3aXBlX21pbl90b3VjaGVzOjEsZHJhZ19ibG9ja192ZXJ0aWNhbDohMSxzd2lwZV9kaXJlY3Rpb246Imhvcml6b250YWwifSxhcnJvd3M6e3N0eWxlOiIiLGVuYWJsZTohMSxoaWRlX29ubW9iaWxlOiExLGhpZGVfb25sZWF2ZTohMCxoaWRlX2RlbGF5OjIwMCxoaWRlX2RlbGF5X21vYmlsZToxMjAwLGhpZGVfdW5kZXI6MCxoaWRlX292ZXI6OTk5OSx0bXA6IiIscnRsOiExLGxlZnQ6e2hfYWxpZ246ImxlZnQiLHZfYWxpZ246ImNlbnRlciIsaF9vZmZzZXQ6MjAsdl9vZmZzZXQ6MCxjb250YWluZXI6InNsaWRlciJ9LHJpZ2h0OntoX2FsaWduOiJyaWdodCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowLGNvbnRhaW5lcjoic2xpZGVyIn19LGJ1bGxldHM6e2NvbnRhaW5lcjoic2xpZGVyIixydGw6ITEsc3R5bGU6IiIsZW5hYmxlOiExLGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixzcGFjZTowLGhfb2Zmc2V0OjIwLHZfb2Zmc2V0OjAsdG1wOic8c3BhbiBjbGFzcz0idHAtYnVsbGV0LWltYWdlIj48L3NwYW4+PHNwYW4gY2xhc3M9InRwLWJ1bGxldC10aXRsZSI+PC9zcGFuPid9LHRodW1ibmFpbHM6e2NvbnRhaW5lcjoic2xpZGVyIixydGw6ITEsc3R5bGU6IiIsZW5hYmxlOiExLHdpZHRoOjEwMCxoZWlnaHQ6NTAsbWluX3dpZHRoOjEwMCx3cmFwcGVyX3BhZGRpbmc6Mix3cmFwcGVyX2NvbG9yOiIjZjVmNWY1Iix3cmFwcGVyX29wYWNpdHk6MSx0bXA6JzxzcGFuIGNsYXNzPSJ0cC10aHVtYi1pbWFnZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0cC10aHVtYi10aXRsZSI+PC9zcGFuPicsdmlzaWJsZUFtb3VudDo1LGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsc3BhbjohMSxwb3NpdGlvbjoiaW5uZXIiLHNwYWNlOjIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowfSx0YWJzOntjb250YWluZXI6InNsaWRlciIscnRsOiExLHN0eWxlOiIiLGVuYWJsZTohMSx3aWR0aDoxMDAsbWluX3dpZHRoOjEwMCxoZWlnaHQ6NTAsd3JhcHBlcl9wYWRkaW5nOjEwLHdyYXBwZXJfY29sb3I6IiNmNWY1ZjUiLHdyYXBwZXJfb3BhY2l0eToxLHRtcDonPHNwYW4gY2xhc3M9InRwLXRhYi1pbWFnZSI+PC9zcGFuPicsdmlzaWJsZUFtb3VudDo1LGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsc3BhbjohMSxzcGFjZTowLHBvc2l0aW9uOiJpbm5lciIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowfX0sZXh0ZW5zaW9uczoiZXh0ZW5zaW9ucy8iLGV4dGVuc2lvbnNfc3VmZml4OiIubWluLmpzIixkZWJ1Z01vZGU6ITF9O3JldHVybiBhPWpRdWVyeS5leHRlbmQoITAse30sYixhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7YS5taW5IZWlnaHQ9YS5taW5IZWlnaHQhPXVuZGVmaW5lZD9wYXJzZUludChhLm1pbkhlaWdodCwwKTphLm1pbkhlaWdodCxhLnNjcm9sbGVmZmVjdC5vbj0ib24iPT09YS5zY3JvbGxlZmZlY3QuZmFkZXx8Im9uIj09PWEuc2Nyb2xsZWZmZWN0LnNjYWxlfHwib24iPT09YS5zY3JvbGxlZmZlY3QuYmx1cnx8Im9uIj09PWEuc2Nyb2xsZWZmZWN0LmdyYXlzY2FsZSwiaGVybyI9PWEuc2xpZGVyVHlwZSYmYi5maW5kKCI+dWw+bGkiKS5lYWNoKGZ1bmN0aW9uKGEpe2E+MCYmalF1ZXJ5KHRoaXMpLnJlbW92ZSgpfSksYS5qc0ZpbGVMb2NhdGlvbj1hLmpzRmlsZUxvY2F0aW9ufHxnZXRTY3JpcHRMb2NhdGlvbigidGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcyIpLGEuanNGaWxlTG9jYXRpb249YS5qc0ZpbGVMb2NhdGlvbithLmV4dGVuc2lvbnMsYS5zY3JpcHRzbmVlZGVkPWdldE5lZWRlZFNjcmlwdHMoYSxiKSxhLmN1cldpblJhbmdlPTAsYS5ydGw9ITAsYS5uYXZpZ2F0aW9uIT11bmRlZmluZWQmJmEubmF2aWdhdGlvbi50b3VjaCE9dW5kZWZpbmVkJiYoYS5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX21pbl90b3VjaGVzPWEubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcz41PzE6YS5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX21pbl90b3VjaGVzKSxqUXVlcnkodGhpcykub24oInNjcmlwdHNsb2FkZWQiLGZ1bmN0aW9uKCl7aWYoYS5tb2R1bGVzZmFpbGluZylyZXR1cm4gYi5odG1sKCc8ZGl2IHN0eWxlPSJtYXJnaW46YXV0bztsaW5lLWhlaWdodDo0MHB4O2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiNmZmY7cGFkZGluZzoxNXB4O2JhY2tncm91bmQ6I2U3NGMzYzttYXJnaW46MjBweCAwcHg7Ij4hISBFcnJvciBhdCBsb2FkaW5nIFNsaWRlciBSZXZvbHV0aW9uIDUuMCBFeHRyZW5zaW9ucy4nK2EuZXJyb3JtKyI8L2Rpdj4iKS5zaG93KCksITE7X1IubWlncmF0aW9uIT11bmRlZmluZWQmJihhPV9SLm1pZ3JhdGlvbihiLGEpKSxwdW5jaGdzLmZvcmNlM0Q9ITAsIm9uIiE9PWEuc2ltcGxpZnlBbGwmJnB1bmNoZ3MuVHdlZW5MaXRlLmxhZ1Ntb290aGluZygxZTMsMTYpLHByZXBhcmVPcHRpb25zKGIsYSksaW5pdFNsaWRlcihiLGEpfSksYlswXS5vcHQ9YSx3YWl0Rm9yU2NyaXB0cyhiLGEpfSl9LGdldFJTVmVyc2lvbjpmdW5jdGlvbihhKXtpZighMD09PWEpcmV0dXJuIGpRdWVyeSgiYm9keSIpLmRhdGEoInRwX3JzX3ZlcnNpb24iKTt2YXIgYj1qUXVlcnkoImJvZHkiKS5kYXRhKCJ0cF9yc192ZXJzaW9uIiksYz0iIjtjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iLGMrPSIgICAgQ3VycmVudGx5IExvYWRlZCBTbGlkZXIgUmV2b2x1dGlvbiAmIFNSIE1vZHVsZXMgOlxuIixjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iO2Zvcih2YXIgZCBpbiBiKWMrPWJbZF0uYWxpYXMrIjogIitiW2RdLnZlcisiXG4iO3JldHVybiBjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ifSxyZXZyZW1vdmVzbGlkZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9YlswXS5vcHQ7aWYoIShhPDB8fGE+Yy5zbGlkZWFtb3VudCkmJmIhPXVuZGVmaW5lZCYmYi5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYi5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmYyYmYy5saS5sZW5ndGg+MCYmKGE+MHx8YTw9Yy5saS5sZW5ndGgpKXt2YXIgZD1qUXVlcnkoYy5saVthXSksZT1kLmRhdGEoImluZGV4IiksZj0hMTtjLnNsaWRlYW1vdW50PWMuc2xpZGVhbW91bnQtMSxjLnJlYWxzbGlkZWFtb3VudD1jLnJlYWxzbGlkZWFtb3VudC0xLHJlbW92ZU5hdldpdGhMaXJlZigiLnRwLWJ1bGxldCIsZSxjKSxyZW1vdmVOYXZXaXRoTGlyZWYoIi50cC10YWIiLGUsYykscmVtb3ZlTmF2V2l0aExpcmVmKCIudHAtdGh1bWIiLGUsYyksZC5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIikmJihmPSEwKSxkLnJlbW92ZSgpLGMubGk9cmVtb3ZlQXJyYXkoYy5saSxhKSxjLmNhcm91c2VsJiZjLmNhcm91c2VsLnNsaWRlcyYmKGMuY2Fyb3VzZWwuc2xpZGVzPXJlbW92ZUFycmF5KGMuY2Fyb3VzZWwuc2xpZGVzLGEpKSxjLnRodW1icz1yZW1vdmVBcnJheShjLnRodW1icyxhKSxfUi51cGRhdGVOYXZJbmRleGVzJiZfUi51cGRhdGVOYXZJbmRleGVzKGMpLGYmJmIucmV2bmV4dCgpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLmxpLHttaW5XaWR0aDoiOTklIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLmxpLHttaW5XaWR0aDoiMTAwJSJ9KX19KX0scmV2YWRkY2FsbGJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3RoaXMub3B0JiYodGhpcy5vcHQuY2FsbEJhY2tBcnJheT09PXVuZGVmaW5lZCYmKHRoaXMub3B0LmNhbGxCYWNrQXJyYXk9bmV3IEFycmF5KSx0aGlzLm9wdC5jYWxsQmFja0FycmF5LnB1c2goYSkpfSl9LHJldmdldHBhcmFsbGF4cHJvYzpmdW5jdGlvbigpe3JldHVybiBqUXVlcnkodGhpcylbMF0ub3B0LnNjcm9sbHByb2N9LHJldmRlYnVnbW9kZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YVswXS5vcHQuZGVidWdNb2RlPSEwLGNvbnRhaW5lclJlc2l6ZWQoYSxhWzBdLm9wdCl9KX0scmV2c2Nyb2xsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7alF1ZXJ5KCJib2R5LGh0bWwiKS5hbmltYXRlKHtzY3JvbGxUb3A6Yi5vZmZzZXQoKS50b3ArYi5oZWlnaHQoKS1hKyJweCJ9LHtkdXJhdGlvbjo0MDB9KX0pfSxyZXZyZWRyYXc6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtjb250YWluZXJSZXNpemVkKGEsYVswXS5vcHQpfSl9LHJldmtpbGw6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPWpRdWVyeSh0aGlzKTtpZihwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsRGVsYXllZENhbGxzVG8oX1Iuc2hvd0hpZGVOYXZFbGVtZW50cyksYyE9dW5kZWZpbmVkJiZjLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIitjLmF0dHIoImlkIikpLmxlbmd0aD4wKXtjLmRhdGEoImNvbnRob3ZlciIsMSksYy5kYXRhKCJjb250aG92ZXItY2hhbmdlZCIsMSksYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9ucGF1c2UiKTt2YXIgZD1jLnBhcmVudCgpLmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpLGU9Y1swXS5vcHQ7ZS50b25wYXVzZT0hMCxjLnRyaWdnZXIoInN0b3B0aW1lciIpO3ZhciBmPSJyZXNpemUucmV2c2xpZGVyLSIrYy5hdHRyKCJpZCIpO2pRdWVyeSh3aW5kb3cpLnVuYmluZChmKSxwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsVHdlZW5zT2YoYy5maW5kKCIqIiksITEpLHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxUd2VlbnNPZihjLCExKSxjLnVuYmluZCgiaG92ZXIsIG1vdXNlb3ZlciwgbW91c2VlbnRlcixtb3VzZWxlYXZlLCByZXNpemUiKTt2YXIgZj0icmVzaXplLnJldnNsaWRlci0iK2MuYXR0cigiaWQiKTtqUXVlcnkod2luZG93KS5vZmYoZiksYy5maW5kKCIqIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLnVuYmluZCgib24sIGhvdmVyLCBtb3VzZWVudGVyLG1vdXNlbGVhdmUsbW91c2VvdmVyLCByZXNpemUscmVzdGFydHRpbWVyLCBzdG9wdGltZXIiKSxhLm9mZigib24sIGhvdmVyLCBtb3VzZWVudGVyLG1vdXNlbGVhdmUsbW91c2VvdmVyLCByZXNpemUiKSxhLmRhdGEoIm15U3BsaXRUZXh0IixudWxsKSxhLmRhdGEoImN0bCIsbnVsbCksYS5kYXRhKCJ0d2VlbiIpIT11bmRlZmluZWQmJmEuZGF0YSgidHdlZW4iKS5raWxsKCksYS5kYXRhKCJrZW5idXJuIikhPXVuZGVmaW5lZCYmYS5kYXRhKCJrZW5idXJuIikua2lsbCgpLGEuZGF0YSgidGltZWxpbmVfb3V0IikhPXVuZGVmaW5lZCYmYS5kYXRhKCJ0aW1lbGluZV9vdXQiKS5raWxsKCksYS5kYXRhKCJ0aW1lbGluZSIpIT11bmRlZmluZWQmJmEuZGF0YSgidGltZWxpbmUiKS5raWxsKCksYS5yZW1vdmUoKSxhLmVtcHR5KCksYT1udWxsfSkscHVuY2hncy5Ud2VlbkxpdGUua2lsbFR3ZWVuc09mKGMuZmluZCgiKiIpLCExKSxwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsVHdlZW5zT2YoYywhMSksZC5yZW1vdmUoKTt0cnl7Yy5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5yZW1vdmUoKX1jYXRjaChhKXt9dHJ5e2MuY2xvc2VzdCgiLnJldl9zbGlkZXJfd3JhcHBlciIpLnJlbW92ZSgpfWNhdGNoKGEpe310cnl7Yy5yZW1vdmUoKX1jYXRjaChhKXt9cmV0dXJuIGMuZW1wdHkoKSxjLmh0bWwoKSxjPW51bGwsZT1udWxsLGRlbGV0ZSBiLmMsZGVsZXRlIGIub3B0LGRlbGV0ZSBiLmNvbnRhaW5lciwhMH1yZXR1cm4hMX0scmV2cGF1c2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYS5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmKGEuZGF0YSgiY29udGhvdmVyIiwxKSxhLmRhdGEoImNvbnRob3Zlci1jaGFuZ2VkIiwxKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25wYXVzZSIpLGFbMF0ub3B0LnRvbnBhdXNlPSEwLGEudHJpZ2dlcigic3RvcHRpbWVyIikpfSl9LHJldnJlc3VtZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YSE9dW5kZWZpbmVkJiZhLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIithLmF0dHIoImlkIikpLmxlbmd0aD4wJiYoYS5kYXRhKCJjb250aG92ZXIiLDApLGEuZGF0YSgiY29udGhvdmVyLWNoYW5nZWQiLDEpLGEudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnJlc3VtZSIpLGFbMF0ub3B0LnRvbnBhdXNlPSExLGEudHJpZ2dlcigic3RhcnR0aW1lciIpKX0pfSxyZXZzdGFydDpmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtpZihhIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjAmJmFbMF0ub3B0IT09dW5kZWZpbmVkKXJldHVybiBhWzBdLm9wdC5zbGlkZXJpc3J1bm5pbmc/KGNvbnNvbGUubG9nKCJTbGlkZXIgSXMgUnVubmluZyBBbHJlYWR5IiksITEpOihydW5TbGlkZXIoYSxhWzBdLm9wdCksITApfSxyZXZuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjAmJl9SLmNhbGxpbmdOZXdTbGlkZShhLDEpfSl9LHJldnByZXY6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYS5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmX1IuY2FsbGluZ05ld1NsaWRlKGEsLTEpfSl9LHJldm1heHNsaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeSh0aGlzKS5maW5kKCIudHAtcmV2c2xpZGVyLW1haW51bCA+bGkiKS5sZW5ndGh9LHJldmN1cnJlbnRzbGlkZTpmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtpZihhIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjApcmV0dXJuIHBhcnNlSW50KGFbMF0ub3B0LmFjdCwwKSsxfSxyZXZsYXN0c2xpZGU6ZnVuY3Rpb24oKXtyZXR1cm4galF1ZXJ5KHRoaXMpLmZpbmQoIi50cC1yZXZzbGlkZXItbWFpbnVsID5saSIpLmxlbmd0aH0scmV2c2hvd3NsaWRlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7YiE9dW5kZWZpbmVkJiZiLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIitiLmF0dHIoImlkIikpLmxlbmd0aD4wJiZfUi5jYWxsaW5nTmV3U2xpZGUoYiwidG8iKyhhLTEpKX0pfSxyZXZjYWxsc2xpZGV3aXRoaWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWpRdWVyeSh0aGlzKTtiIT11bmRlZmluZWQmJmIubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2IuYXR0cigiaWQiKSkubGVuZ3RoPjAmJl9SLmNhbGxpbmdOZXdTbGlkZShiLGEpfSl9fSk7dmFyIF9SPWpRdWVyeS5mbi5yZXZvbHV0aW9uO2pRdWVyeS5leHRlbmQoITAsX1Ise2dldHZlcnNpb246ZnVuY3Rpb24oKXtyZXR1cm4gdmVyc2lvbn0sY29tcGFyZV92ZXJzaW9uOmZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSgiYm9keSIpLmRhdGEoInRwX3JzX3ZlcnNpb24iKTtyZXR1cm4gYj1iPT09dW5kZWZpbmVkP25ldyBPYmplY3Q6YixiLkNvcmU9PT11bmRlZmluZWQmJihiLkNvcmU9bmV3IE9iamVjdCxiLkNvcmUuYWxpYXM9IlNsaWRlciBSZXZvbHV0aW9uIENvcmUiLGIuQ29yZS5uYW1lPSJqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcyIsYi5Db3JlLnZlcj1fUi5nZXR2ZXJzaW9uKCkuY29yZSksInN0b3AiIT1hLmNoZWNrJiYoX1IuZ2V0dmVyc2lvbigpLmNvcmU8YS5taW5fY29yZT8oYS5jaGVjaz09PXVuZGVmaW5lZCYmKGNvbnNvbGUubG9nKCIlY1NsaWRlciBSZXZvbHV0aW9uIFdhcm5pbmcgKENvcmU6IitfUi5nZXR2ZXJzaW9uKCkuY29yZSsiKSIsImNvbG9yOiNjMDM5MmI7Zm9udC13ZWlnaHQ6Ym9sZDsiKSxjb25zb2xlLmxvZygiJWMgICAgIENvcmUgaXMgb2xkZXIgdGhhbiBleHBlY3RlZCAoIithLm1pbl9jb3JlKyIpIGZyb20gIithLmFsaWFzLCJjb2xvcjojMzMzIiksY29uc29sZS5sb2coIiVjICAgICBQbGVhc2UgdXBkYXRlIFNsaWRlciBSZXZvbHV0aW9uIHRvIHRoZSBsYXRlc3QgdmVyc2lvbi4iLCJjb2xvcjojMzMzIiksY29uc29sZS5sb2coIiVjICAgICBJdCBtaWdodCBiZSByZXF1aXJlZCB0byBwdXJnZSBhbmQgY2xlYXIgU2VydmVyL0NsaWVudCBzaWRlIENhY2hlcy4iLCJjb2xvcjojMzMzIikpLGEuY2hlY2s9InN0b3AiKTpfUi5nZXR2ZXJzaW9uKClbYS5uYW1lXSE9dW5kZWZpbmVkJiZhLnZlcnNpb248X1IuZ2V0dmVyc2lvbigpW2EubmFtZV0mJihhLmNoZWNrPT09dW5kZWZpbmVkJiYoY29uc29sZS5sb2coIiVjU2xpZGVyIFJldm9sdXRpb24gV2FybmluZyAoQ29yZToiK19SLmdldHZlcnNpb24oKS5jb3JlKyIpIiwiY29sb3I6I2MwMzkyYjtmb250LXdlaWdodDpib2xkOyIpLGNvbnNvbGUubG9nKCIlYyAgICAgIithLmFsaWFzKyIgKCIrYS52ZXJzaW9uKyIpIGlzIG9sZGVyIHRoYW4gcmVxdWllcmVkICgiK19SLmdldHZlcnNpb24oKVthLm5hbWVdKyIpIiwiY29sb3I6IzMzMyIpLGNvbnNvbGUubG9nKCIlYyAgICAgUGxlYXNlIHVwZGF0ZSBTbGlkZXIgUmV2b2x1dGlvbiB0byB0aGUgbGF0ZXN0IHZlcnNpb24uIiwiY29sb3I6IzMzMyIpLGNvbnNvbGUubG9nKCIlYyAgICAgSXQgbWlnaHQgYmUgcmVxdWlyZWQgdG8gcHVyZ2UgYW5kIGNsZWFyIFNlcnZlci9DbGllbnQgc2lkZSBDYWNoZXMuIiwiY29sb3I6IzMzMyIpKSxhLmNoZWNrPSJzdG9wIikpLGJbYS5hbGlhc109PT11bmRlZmluZWQmJihiW2EuYWxpYXNdPW5ldyBPYmplY3QsYlthLmFsaWFzXS5hbGlhcz1hLmFsaWFzLGJbYS5hbGlhc10udmVyPWEudmVyc2lvbixiW2EuYWxpYXNdLm5hbWU9YS5uYW1lKSxqUXVlcnkoImJvZHkiKS5kYXRhKCJ0cF9yc192ZXJzaW9uIixiKSxhfSxjdXJyZW50U2xpZGVJbmRleDpmdW5jdGlvbihhKXt2YXIgYj1hLmMuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmluZGV4KCk7cmV0dXJuIGI9LTE9PWI/MDpifSxzaW1wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NYXRoLmFicyhhKS1NYXRoLmZsb29yKE1hdGguYWJzKGEvYikpKmI7cmV0dXJuIGM/ZDphPDA/LTEqZDpkfSxpT1NWZXJzaW9uOmZ1bmN0aW9uKCl7dmFyIGE9ITE7cmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQaG9uZS9pKXx8bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBvZC9pKXx8bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBhZC9pKT9uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PUyA0X1xkIGxpa2UgTWFjIE9TIFgvaSkmJihhPSEwKTphPSExLGF9LGlzSUU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1qUXVlcnkoJzxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiLz4nKS5hcHBlbmRUbyhqUXVlcnkoImJvZHkiKSk7Yy5odG1sKCJceDNjIS0tW2lmICIrKGJ8fCIiKSsiIElFICIrKGF8fCIiKSsiXT48YT4mbmJzcDs8L2E+PCFbZW5kaWZdLS1ceDNlIik7dmFyIGQ9Yy5maW5kKCJhIikubGVuZ3RoO3JldHVybiBjLnJlbW92ZSgpLGR9LGlzX21vYmlsZTpmdW5jdGlvbigpe3ZhciBhPVsiYW5kcm9pZCIsIndlYm9zIiwiaXBob25lIiwiaXBhZCIsImJsYWNrYmVycnkiLCJBbmRyb2lkIiwid2Vib3MiLCwiaVBvZCIsImlQaG9uZSIsImlQYWQiLCJCbGFja2JlcnJ5IiwiQmxhY2tCZXJyeSJdLGI9ITE7Zm9yKHZhciBjIGluIGEpbmF2aWdhdG9yLnVzZXJBZ2VudC5zcGxpdChhW2NdKS5sZW5ndGg+MSYmKGI9ITApO3JldHVybiBifSxpc19hbmRyb2lkOmZ1bmN0aW9uKCl7dmFyIGE9WyJhbmRyb2lkIiwiQW5kcm9pZCJdLGI9ITE7Zm9yKHZhciBjIGluIGEpbmF2aWdhdG9yLnVzZXJBZ2VudC5zcGxpdChhW2NdKS5sZW5ndGg+MSYmKGI9ITApO3JldHVybiBifSxjYWxsQmFja0hhbmRsaW5nOmZ1bmN0aW9uKGEsYixjKXt0cnl7YS5jYWxsQmFja0FycmF5JiZqUXVlcnkuZWFjaChhLmNhbGxCYWNrQXJyYXksZnVuY3Rpb24oYSxkKXtkJiZkLmlubW9kdWxlJiZkLmlubW9kdWxlPT09YiYmZC5hdHBvc2l0aW9uJiZkLmF0cG9zaXRpb249PT1jJiZkLmNhbGxiYWNrJiZkLmNhbGxiYWNrLmNhbGwoKX0pfWNhdGNoKGEpe2NvbnNvbGUubG9nKCJDYWxsIEJhY2sgRmFpbGVkIil9fSxnZXRfYnJvd3NlcjpmdW5jdGlvbigpe3ZhciBjLGE9bmF2aWdhdG9yLmFwcE5hbWUsYj1uYXZpZ2F0b3IudXNlckFnZW50LGQ9Yi5tYXRjaCgvKG9wZXJhfGNocm9tZXxzYWZhcml8ZmlyZWZveHxtc2llKVwvP1xzKihcLj9cZCsoXC5cZCspKikvaSk7cmV0dXJuIGQmJm51bGwhPShjPWIubWF0Y2goL3ZlcnNpb25cLyhbXC5cZF0rKS9pKSkmJihkWzJdPWNbMV0pLGQ9ZD9bZFsxXSxkWzJdXTpbYSxuYXZpZ2F0b3IuYXBwVmVyc2lvbiwiLT8iXSxkWzBdfSxnZXRfYnJvd3Nlcl92ZXJzaW9uOmZ1bmN0aW9uKCl7dmFyIGMsYT1uYXZpZ2F0b3IuYXBwTmFtZSxiPW5hdmlnYXRvci51c2VyQWdlbnQsZD1iLm1hdGNoKC8ob3BlcmF8Y2hyb21lfHNhZmFyaXxmaXJlZm94fG1zaWUpXC8/XHMqKFwuP1xkKyhcLlxkKykqKS9pKTtyZXR1cm4gZCYmbnVsbCE9KGM9Yi5tYXRjaCgvdmVyc2lvblwvKFtcLlxkXSspL2kpKSYmKGRbMl09Y1sxXSksZD1kP1tkWzFdLGRbMl1dOlthLG5hdmlnYXRvci5hcHBWZXJzaW9uLCItPyJdLGRbMV19LGdldEhvcml6b250YWxPZmZzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1nV2lkZXJPdXQoYSwiLm91dGVyLWxlZnQiKSxkPWdXaWRlck91dChhLCIub3V0ZXItcmlnaHQiKTtzd2l0Y2goYil7Y2FzZSJsZWZ0IjpyZXR1cm4gYztjYXNlInJpZ2h0IjpyZXR1cm4gZDtjYXNlImJvdGgiOnJldHVybiBjK2R9fSxjYWxsaW5nTmV3U2xpZGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmZpbmQoIi5uZXh0LXJldnNsaWRlIikubGVuZ3RoPjA/YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLmluZGV4KCk6YS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aD4wP2EuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUiKS5pbmRleCgpOmEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmluZGV4KCksZD0wLGU9YVswXS5vcHQ7YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIiksYS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuaGFzQ2xhc3MoInRwLWludmlzaWJsZS1zbGlkZSIpJiYoYz1lLmxhc3Rfc2hvd25fc2xpZGUpLGImJmpRdWVyeS5pc051bWVyaWMoYil8fGIubWF0Y2goL3RvL2cpPygxPT09Ynx8LTE9PT1iPyhkPWMrYixkPWQ8MD9lLnNsaWRlYW1vdW50LTE6ZD49ZS5zbGlkZWFtb3VudD8wOmQpOihiPWpRdWVyeS5pc051bWVyaWMoYik/YjpwYXJzZUludChiLnNwbGl0KCJ0byIpWzFdLDApLGQ9YjwwPzA6Yj5lLnNsaWRlYW1vdW50LTE/ZS5zbGlkZWFtb3VudC0xOmIpLGEuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaTplcSgiK2QrIikiKS5hZGRDbGFzcygibmV4dC1yZXZzbGlkZSIpKTpiJiZhLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgiaW5kZXgiKT09PWImJmEuYWRkQ2xhc3MoIm5leHQtcmV2c2xpZGUiKX0pLGQ9YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLmluZGV4KCksYS50cmlnZ2VyKCJyZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIiksYz09PWQmJmM9PT1lLmxhc3Rfc2hvd25fc2xpZGV8fGQhPT1jJiYtMSE9ZD9zd2FwU2xpZGUoYSk6YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIil9LHNsb3RTaXplOmZ1bmN0aW9uKGEsYil7Yi5zbG90dz1NYXRoLmNlaWwoYi53aWR0aC9iLnNsb3RzKSwiZnVsbHNjcmVlbiI9PWIuc2xpZGVyTGF5b3V0P2Iuc2xvdGg9TWF0aC5jZWlsKGpRdWVyeSh3aW5kb3cpLmhlaWdodCgpL2Iuc2xvdHMpOmIuc2xvdGg9TWF0aC5jZWlsKGIuaGVpZ2h0L2Iuc2xvdHMpLCJvbiI9PWIuYXV0b0hlaWdodCYmYSE9PXVuZGVmaW5lZCYmIiIhPT1hJiYoYi5zbG90aD1NYXRoLmNlaWwoYS5oZWlnaHQoKS9iLnNsb3RzKSl9LHNldFNpemU6ZnVuY3Rpb24oYSl7dmFyIGI9KGEudG9wX291dGVyfHwwKSsoYS5ib3R0b21fb3V0ZXJ8fDApLGM9cGFyc2VJbnQoYS5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxkPXBhcnNlSW50KGEuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksZT1hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0sZj0wLGc9LTE9PT1hLm5leHRTbGlkZXx8YS5uZXh0U2xpZGU9PT11bmRlZmluZWQ/MDphLm5leHRTbGlkZTtpZihhLnBhZGRpbmdzPWEucGFkZGluZ3M9PT11bmRlZmluZWQ/e3RvcDpwYXJzZUludChhLmMucGFyZW50KCkuY3NzKCJwYWRkaW5nVG9wIiksMCl8fDAsYm90dG9tOnBhcnNlSW50KGEuYy5wYXJlbnQoKS5jc3MoInBhZGRpbmdCb3R0b20iKSwwKXx8MH06YS5wYWRkaW5ncyxhLnJvd3pvbmVzJiZhLnJvd3pvbmVzLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8YS5yb3d6b25lc1tnXS5sZW5ndGg7aCsrKWYrPWEucm93em9uZXNbZ11baF1bMF0ub2Zmc2V0SGVpZ2h0O2lmKGU9ZTxhLm1pbkhlaWdodD9hLm1pbkhlaWdodDplLGU9ZTxmP2Y6ZSwiZnVsbHdpZHRoIj09YS5zbGlkZXJMYXlvdXQmJiJvZmYiPT1hLmF1dG9IZWlnaHQmJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLmMse21heEhlaWdodDplKyJweCJ9KSxhLmMuY3NzKHttYXJnaW5Ub3A6YyxtYXJnaW5Cb3R0b206ZH0pLGEud2lkdGg9YS51bC53aWR0aCgpLGEuaGVpZ2h0PWEudWwuaGVpZ2h0KCksc2V0U2NhbGUoYSksYS5oZWlnaHQ9TWF0aC5yb3VuZChhLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0qKGEud2lkdGgvYS5ncmlkd2lkdGhbYS5jdXJXaW5SYW5nZV0pKSxhLmhlaWdodD5hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0mJiJvbiIhPWEuYXV0b0hlaWdodCYmKGEuaGVpZ2h0PWEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXSksImZ1bGxzY3JlZW4iPT1hLnNsaWRlckxheW91dHx8YS5pbmZ1bGxzY3JlZW5tb2RlKXthLmhlaWdodD1hLmJ3KmEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXTt2YXIgaj0oYS5jLnBhcmVudCgpLndpZHRoKCksalF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkpO2lmKGEuZnVsbFNjcmVlbk9mZnNldENvbnRhaW5lciE9dW5kZWZpbmVkKXt0cnl7dmFyIGs9YS5mdWxsU2NyZWVuT2Zmc2V0Q29udGFpbmVyLnNwbGl0KCIsIik7ayYmalF1ZXJ5LmVhY2goayxmdW5jdGlvbihhLGIpe2o9alF1ZXJ5KGIpLmxlbmd0aD4wP2otalF1ZXJ5KGIpLm91dGVySGVpZ2h0KCEwKTpqfSl9Y2F0Y2goYSl7fXRyeXthLmZ1bGxTY3JlZW5PZmZzZXQuc3BsaXQoIiUiKS5sZW5ndGg+MSYmYS5mdWxsU2NyZWVuT2Zmc2V0IT11bmRlZmluZWQmJmEuZnVsbFNjcmVlbk9mZnNldC5sZW5ndGg+MD9qLT1qUXVlcnkod2luZG93KS5oZWlnaHQoKSpwYXJzZUludChhLmZ1bGxTY3JlZW5PZmZzZXQsMCkvMTAwOmEuZnVsbFNjcmVlbk9mZnNldCE9dW5kZWZpbmVkJiZhLmZ1bGxTY3JlZW5PZmZzZXQubGVuZ3RoPjAmJihqLT1wYXJzZUludChhLmZ1bGxTY3JlZW5PZmZzZXQsMCkpfWNhdGNoKGEpe319aj1qPGEubWluSGVpZ2h0P2EubWluSGVpZ2h0Omosai09YixhLmMucGFyZW50KCkuaGVpZ2h0KGopLGEuYy5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikuaGVpZ2h0KGopLGEuYy5jc3Moe2hlaWdodDoiMTAwJSJ9KSxhLmhlaWdodD1qLGEubWluSGVpZ2h0IT11bmRlZmluZWQmJmEuaGVpZ2h0PGEubWluSGVpZ2h0JiYoYS5oZWlnaHQ9YS5taW5IZWlnaHQpLGEuaGVpZ2h0PXBhcnNlSW50KGYsMCk+cGFyc2VJbnQoYS5oZWlnaHQsMCk/ZjphLmhlaWdodH1lbHNlIGEubWluSGVpZ2h0IT11bmRlZmluZWQmJmEuaGVpZ2h0PGEubWluSGVpZ2h0JiYoYS5oZWlnaHQ9YS5taW5IZWlnaHQpLGEuaGVpZ2h0PXBhcnNlSW50KGYsMCk+cGFyc2VJbnQoYS5oZWlnaHQsMCk/ZjphLmhlaWdodCxhLmMuaGVpZ2h0KGEuaGVpZ2h0KTt2YXIgbD17aGVpZ2h0OmMrZCtiK2EuaGVpZ2h0K2EucGFkZGluZ3MudG9wK2EucGFkZGluZ3MuYm90dG9tfTthLmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikuZmluZCgiLnRwLWZ1bGx3aWR0aC1mb3JjZXIiKS5jc3MobCksYS5jLmNsb3Nlc3QoIi5yZXZfc2xpZGVyX3dyYXBwZXIiKS5jc3MobCksc2V0U2NhbGUoYSl9LGVudGVySW5WaWV3UG9ydDpmdW5jdGlvbihhKXthLndhaXRGb3JDb3VudERvd24mJihjb3VudERvd24oYS5jLGEpLGEud2FpdEZvckNvdW50RG93bj0hMSksYS53YWl0Rm9yRmlyc3RTbGlkZSYmKHN3YXBTbGlkZShhLmMpLGEud2FpdEZvckZpcnN0U2xpZGU9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe2EuYy5yZW1vdmVDbGFzcygidHAtd2FpdGZvcmZpcnN0c3RhcnQiKX0sNTAwKSksInBsYXlpbmciIT1hLnNsaWRlcmxhc3RzdGF0dXMmJmEuc2xpZGVybGFzdHN0YXR1cyE9dW5kZWZpbmVkfHxhLmMudHJpZ2dlcigic3RhcnR0aW1lciIpLGEubGFzdHBsYXllZHZpZGVvcyE9dW5kZWZpbmVkJiZhLmxhc3RwbGF5ZWR2aWRlb3MubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGEubGFzdHBsYXllZHZpZGVvcyxmdW5jdGlvbihiLGMpe19SLnBsYXlWaWRlbyhjLGEpfSl9LGxlYXZlVmlld1BvcnQ6ZnVuY3Rpb24oYSl7YS5zbGlkZXJsYXN0c3RhdHVzPWEuc2xpZGVyc3RhdHVzLGEuYy50cmlnZ2VyKCJzdG9wdGltZXIiKSxhLnBsYXlpbmd2aWRlb3MhPXVuZGVmaW5lZCYmYS5wbGF5aW5ndmlkZW9zLmxlbmd0aD4wJiYoYS5sYXN0cGxheWVkdmlkZW9zPWpRdWVyeS5leHRlbmQoITAsW10sYS5wbGF5aW5ndmlkZW9zKSxhLnBsYXlpbmd2aWRlb3MmJmpRdWVyeS5lYWNoKGEucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihiLGMpe2EubGVhdmVWaWV3UG9ydEJhc2VkU3RvcD0hMCxfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyhjLGEpfSkpfSx1blRvZ2dsZVN0YXRlOmZ1bmN0aW9uKGEpe2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYSxmdW5jdGlvbihhLGIpe2IucmVtb3ZlQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpfSl9LHRvZ2dsZVN0YXRlOmZ1bmN0aW9uKGEpe2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYSxmdW5jdGlvbihhLGIpe2IuYWRkQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpfSl9LHN3YXB0b2dnbGVTdGF0ZTpmdW5jdGlvbihhKXthIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oYSxiKXtqUXVlcnkoYikuaGFzQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpP2pRdWVyeShiKS5yZW1vdmVDbGFzcygicnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlIik6alF1ZXJ5KGIpLmFkZENsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKX0pfSxsYXN0VG9nZ2xlU3RhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gYSE9dW5kZWZpbmVkJiZhLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChhLGZ1bmN0aW9uKGEsYyl7Yj1jLmhhc0NsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKX0pLGJ9fSk7dmFyIF9JU009X1IuaXNfbW9iaWxlKCksX0FORFJPSUQ9X1IuaXNfYW5kcm9pZCgpLGNoZWNrSURTPWZ1bmN0aW9uKGEsYil7aWYoYS5hbnlpZD1hLmFueWlkPT09dW5kZWZpbmVkP1tdOmEuYW55aWQsLTEhPWpRdWVyeS5pbkFycmF5KGIuYXR0cigiaWQiKSxhLmFueWlkKSl7dmFyIGQ9Yi5hdHRyKCJpZCIpKyJfIitNYXRoLnJvdW5kKDk5OTkqTWF0aC5yYW5kb20oKSk7Yi5hdHRyKCJpZCIsZCl9YS5hbnlpZC5wdXNoKGIuYXR0cigiaWQiKSl9LHJlbW92ZUFycmF5PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107cmV0dXJuIGpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oYSxkKXthIT1iJiZjLnB1c2goZCl9KSxjfSxyZW1vdmVOYXZXaXRoTGlyZWY9ZnVuY3Rpb24oYSxiLGMpe2MuYy5maW5kKGEpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5kYXRhKCJsaXJlZiIpPT09YiYmYS5yZW1vdmUoKX0pfSxsQWpheD1mdW5jdGlvbihhLGIpe3JldHVybiFqUXVlcnkoImJvZHkiKS5kYXRhKGEpJiYoYi5maWxlc3lzdGVtPyhiLmVycm9ybT09PXVuZGVmaW5lZCYmKGIuZXJyb3JtPSI8YnI+TG9jYWwgRmlsZXN5c3RlbSBEZXRlY3RlZCAhPGJyPlB1dCB0aGlzIHRvIHlvdXIgaGVhZGVyOiIpLGNvbnNvbGUud2FybigiTG9jYWwgRmlsZXN5c3RlbSBkZXRlY3RlZCAhIiksYi5lcnJvcm09Yi5lcnJvcm0rJzxicj4mbHQ7c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInK2IuanNGaWxlTG9jYXRpb24rYStiLmV4dGVuc2lvbnNfc3VmZml4KyciJmd0OyZsdDsvc2NyaXB0Jmd0OycsY29uc29sZS53YXJuKGIuanNGaWxlTG9jYXRpb24rYStiLmV4dGVuc2lvbnNfc3VmZml4KyIgY291bGQgbm90IGJlIGxvYWRlZCAhIiksY29uc29sZS53YXJuKCJQbGVhc2UgdXNlIGEgbG9jYWwgU2VydmVyIG9yIHdvcmsgb25saW5lIG9yIG1ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGFsbCBuZWVkZWQgTGlicmFyaWVzIG1hbnVhbGx5IGluIHlvdXIgRG9jdW1lbnQuIiksY29uc29sZS5sb2coIiAiKSxiLm1vZHVsZXNmYWlsaW5nPSEwLCExKTooalF1ZXJ5LmFqYXgoe3VybDpiLmpzRmlsZUxvY2F0aW9uK2ErYi5leHRlbnNpb25zX3N1ZmZpeCsiP3ZlcnNpb249Iit2ZXJzaW9uLmNvcmUsZGF0YVR5cGU6InNjcmlwdCIsY2FjaGU6ITAsZXJyb3I6ZnVuY3Rpb24oYyl7Y29uc29sZS53YXJuKCJTbGlkZXIgUmV2b2x1dGlvbiA1LjAgRXJyb3IgISIpLGNvbnNvbGUuZXJyb3IoIkZhaWx1cmUgYXQgTG9hZGluZzoiK2ErYi5leHRlbnNpb25zX3N1ZmZpeCsiIG9uIFBhdGg6IitiLmpzRmlsZUxvY2F0aW9uKSxjb25zb2xlLmluZm8oYyl9fSksdm9pZCBqUXVlcnkoImJvZHkiKS5kYXRhKGEsITApKSl9LGdldE5lZWRlZFNjcmlwdHM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgT2JqZWN0LGQ9YS5uYXZpZ2F0aW9uO3JldHVybiBjLmtlbmJ1cm5zPSExLGMucGFyYWxsYXg9ITEsYy5jYXJvdXNlbD0hMSxjLm5hdmlnYXRpb249ITEsYy52aWRlb3M9ITEsYy5hY3Rpb25zPSExLGMubGF5ZXJhbmltPSExLGMubWlncmF0aW9uPSExLGIuZGF0YSgidmVyc2lvbiIpJiZiLmRhdGEoInZlcnNpb24iKS50b1N0cmluZygpLm1hdGNoKC81Li9naSk/KGIuZmluZCgiaW1nIikuZWFjaChmdW5jdGlvbigpeyJvbiI9PWpRdWVyeSh0aGlzKS5kYXRhKCJrZW5idXJucyIpJiYoYy5rZW5idXJucz0hMCl9KSwoImNhcm91c2VsIj09YS5zbGlkZXJUeXBlfHwib24iPT1kLmtleWJvYXJkTmF2aWdhdGlvbnx8Im9uIj09ZC5tb3VzZVNjcm9sbE5hdmlnYXRpb258fCJvbiI9PWQudG91Y2gudG91Y2hlbmFibGVkfHxkLmFycm93cy5lbmFibGV8fGQuYnVsbGV0cy5lbmFibGV8fGQudGh1bWJuYWlscy5lbmFibGV8fGQudGFicy5lbmFibGUpJiYoYy5uYXZpZ2F0aW9uPSEwKSxiLmZpbmQoIi50cC1jYXB0aW9uLCAudHAtc3RhdGljLWxheWVyLCAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7KGEuZGF0YSgieXRpZCIpIT11bmRlZmluZWR8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ5b3V0dWJlIik+MCkmJihjLnZpZGVvcz0hMCksKGEuZGF0YSgidmltZW9pZCIpIT11bmRlZmluZWR8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ2aW1lbyIpPjApJiYoYy52aWRlb3M9ITApLGEuZGF0YSgiYWN0aW9ucyIpIT09dW5kZWZpbmVkJiYoYy5hY3Rpb25zPSEwKSxjLmxheWVyYW5pbT0hMH0pLGIuZmluZCgibGkiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRhdGEoImxpbmsiKSYmalF1ZXJ5KHRoaXMpLmRhdGEoImxpbmsiKSE9dW5kZWZpbmVkJiYoYy5sYXllcmFuaW09ITAsYy5hY3Rpb25zPSEwKX0pLCFjLnZpZGVvcyYmKGIuZmluZCgiLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5sZW5ndGg+MHx8Yi5maW5kKCIudHAtdmlkZW9sYXllciIpLmxlbmd0aD4wfHxiLmZpbmQoIi50cC1hdWRpb2xheWVyIikubGVuZ3RoPjB8fGIuZmluZCgiaWZyYW1lIikubGVuZ3RoPjB8fGIuZmluZCgidmlkZW8iKS5sZW5ndGg+MCkmJihjLnZpZGVvcz0hMCksImNhcm91c2VsIj09YS5zbGlkZXJUeXBlJiYoYy5jYXJvdXNlbD0hMCksKCJvZmYiIT09YS5wYXJhbGxheC50eXBlfHxhLnZpZXdQb3J0LmVuYWJsZXx8InRydWUiPT1hLnZpZXdQb3J0LmVuYWJsZXx8InRydWUiPT09YS5zY3JvbGxlZmZlY3Qub258fGEuc2Nyb2xsZWZmZWN0Lm9uKSYmKGMucGFyYWxsYXg9ITApKTooYy5rZW5idXJucz0hMCxjLnBhcmFsbGF4PSEwLGMuY2Fyb3VzZWw9ITEsYy5uYXZpZ2F0aW9uPSEwLGMudmlkZW9zPSEwLGMuYWN0aW9ucz0hMCxjLmxheWVyYW5pbT0hMCxjLm1pZ3JhdGlvbj0hMCksImhlcm8iPT1hLnNsaWRlclR5cGUmJihjLmNhcm91c2VsPSExLGMubmF2aWdhdGlvbj0hMSksd2luZG93LmxvY2F0aW9uLmhyZWYubWF0Y2goL2ZpbGU6L2dpKSYmKGMuZmlsZXN5c3RlbT0hMCxhLmZpbGVzeXN0ZW09ITApLGMudmlkZW9zJiZ2b2lkIDA9PT1fUi5pc1ZpZGVvUGxheWluZyYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLnZpZGVvIixhKSxjLmNhcm91c2VsJiZ2b2lkIDA9PT1fUi5wcmVwYXJlQ2Fyb3VzZWwmJmxBamF4KCJyZXZvbHV0aW9uLmV4dGVuc2lvbi5jYXJvdXNlbCIsYSksYy5jYXJvdXNlbHx8dm9pZCAwIT09X1IuYW5pbWF0ZVNsaWRlfHxsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24uc2xpZGVhbmltcyIsYSksYy5hY3Rpb25zJiZ2b2lkIDA9PT1fUi5jaGVja0FjdGlvbnMmJmxBamF4KCJyZXZvbHV0aW9uLmV4dGVuc2lvbi5hY3Rpb25zIixhKSxjLmxheWVyYW5pbSYmdm9pZCAwPT09X1IuaGFuZGxlU3RhdGljTGF5ZXJzJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ubGF5ZXJhbmltYXRpb24iLGEpLGMua2VuYnVybnMmJnZvaWQgMD09PV9SLnN0b3BLZW5CdXJuJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ua2VuYnVybiIsYSksYy5uYXZpZ2F0aW9uJiZ2b2lkIDA9PT1fUi5jcmVhdGVOYXZpZ2F0aW9uJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ubmF2aWdhdGlvbiIsYSksYy5taWdyYXRpb24mJnZvaWQgMD09PV9SLm1pZ3JhdGlvbiYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLm1pZ3JhdGlvbiIsYSksYy5wYXJhbGxheCYmdm9pZCAwPT09X1IuY2hlY2tGb3JQYXJhbGxheCYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLnBhcmFsbGF4IixhKSxhLmFkZG9ucyE9dW5kZWZpbmVkJiZhLmFkZG9ucy5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYS5hZGRvbnMsZnVuY3Rpb24oYixjKXsib2JqZWN0Ij09dHlwZW9mIGMmJmMuZmlsZXByZWZpeCE9dW5kZWZpbmVkJiZsQWpheChjLmZpbGVwcmVmaXgsYSl9KSxjfSx3YWl0Rm9yU2NyaXB0cz1mdW5jdGlvbihhLGIpe3ZhciBjPSEwLGQ9Yi5zY3JpcHRzbmVlZGVkO2IuYWRkb25zIT11bmRlZmluZWQmJmIuYWRkb25zLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChiLmFkZG9ucyxmdW5jdGlvbihhLGIpeyJvYmplY3QiPT10eXBlb2YgYiYmYi5pbml0IT11bmRlZmluZWQmJl9SW2IuaW5pdF09PT11bmRlZmluZWQmJihjPSExKX0pLGQuZmlsZXN5c3RlbXx8InVuZGVmaW5lZCIhPXR5cGVvZiBwdW5jaGdzJiZjJiYoIWQua2VuYnVybnN8fGQua2VuYnVybnMmJnZvaWQgMCE9PV9SLnN0b3BLZW5CdXJuKSYmKCFkLm5hdmlnYXRpb258fGQubmF2aWdhdGlvbiYmdm9pZCAwIT09X1IuY3JlYXRlTmF2aWdhdGlvbikmJighZC5jYXJvdXNlbHx8ZC5jYXJvdXNlbCYmdm9pZCAwIT09X1IucHJlcGFyZUNhcm91c2VsKSYmKCFkLnZpZGVvc3x8ZC52aWRlb3MmJnZvaWQgMCE9PV9SLnJlc2V0VmlkZW8pJiYoIWQuYWN0aW9uc3x8ZC5hY3Rpb25zJiZ2b2lkIDAhPT1fUi5jaGVja0FjdGlvbnMpJiYoIWQubGF5ZXJhbmltfHxkLmxheWVyYW5pbSYmdm9pZCAwIT09X1IuaGFuZGxlU3RhdGljTGF5ZXJzKSYmKCFkLm1pZ3JhdGlvbnx8ZC5taWdyYXRpb24mJnZvaWQgMCE9PV9SLm1pZ3JhdGlvbikmJighZC5wYXJhbGxheHx8ZC5wYXJhbGxheCYmdm9pZCAwIT09X1IuY2hlY2tGb3JQYXJhbGxheCkmJihkLmNhcm91c2VsfHwhZC5jYXJvdXNlbCYmdm9pZCAwIT09X1IuYW5pbWF0ZVNsaWRlKT9hLnRyaWdnZXIoInNjcmlwdHNsb2FkZWQiKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2FpdEZvclNjcmlwdHMoYSxiKX0sNTApfSxnZXRTY3JpcHRMb2NhdGlvbj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgUmVnRXhwKCJ0aGVtZXB1bmNoLnJldm9sdXRpb24ubWluLmpzIiwiZ2kiKSxjPSIiO3JldHVybiBqUXVlcnkoInNjcmlwdCIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcykuYXR0cigic3JjIik7YSYmYS5tYXRjaChiKSYmKGM9YSl9KSxjPWMucmVwbGFjZSgianF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5taW4uanMiLCIiKSxjPWMucmVwbGFjZSgianF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcyIsIiIpLGM9Yy5zcGxpdCgiPyIpWzBdfSxzZXRDdXJXaW5SYW5nZT1mdW5jdGlvbihhLGIpe3ZhciBkPTk5OTksZT0wLGY9MCxnPTAsaD1qUXVlcnkod2luZG93KS53aWR0aCgpLGk9YiYmOTk5OT09YS5yZXNwb25zaXZlTGV2ZWxzP2EudmlzaWJpbGl0eUxldmVsczphLnJlc3BvbnNpdmVMZXZlbHM7aSYmaS5sZW5ndGgmJmpRdWVyeS5lYWNoKGksZnVuY3Rpb24oYSxiKXtoPGImJigwPT1lfHxlPmIpJiYoZD1iLGc9YSxlPWIpLGg+YiYmZTxiJiYoZT1iLGY9YSl9KSxlPGQmJihnPWYpLGI/YS5mb3JjZWRXaW5SYW5nZT1nOmEuY3VyV2luUmFuZ2U9Z30scHJlcGFyZU9wdGlvbnM9ZnVuY3Rpb24oYSxiKXtiLmNhcm91c2VsLm1heFZpc2libGVJdGVtcz1iLmNhcm91c2VsLm1heFZpc2libGVJdGVtczwxPzk5OTpiLmNhcm91c2VsLm1heFZpc2libGVJdGVtcyxiLmNhcm91c2VsLnZlcnRpY2FsX2FsaWduPSJ0b3AiPT09Yi5jYXJvdXNlbC52ZXJ0aWNhbF9hbGlnbj8iMCUiOiJib3R0b20iPT09Yi5jYXJvdXNlbC52ZXJ0aWNhbF9hbGlnbj8iMTAwJSI6IjUwJSJ9LGdXaWRlck91dD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7cmV0dXJuIGEuZmluZChiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpOyFhLmhhc0NsYXNzKCJ0cC1mb3JjZW5vdHZpc2libGUiKSYmYzxhLm91dGVyV2lkdGgoKSYmKGM9YS5vdXRlcldpZHRoKCkpfSksY30saW5pdFNsaWRlcj1mdW5jdGlvbihjb250YWluZXIsb3B0KXtpZihjb250YWluZXI9PXVuZGVmaW5lZClyZXR1cm4hMTtjb250YWluZXIuZGF0YSgiYWltZyIpIT11bmRlZmluZWQmJigiZW5hYmxlZCI9PWNvbnRhaW5lci5kYXRhKCJhaWU4IikmJl9SLmlzSUUoOCl8fCJlbmFibGVkIj09Y29udGFpbmVyLmRhdGEoImFtb2JpbGUiKSYmX0lTTSkmJmNvbnRhaW5lci5odG1sKCc8aW1nIGNsYXNzPSJ0cC1zbGlkZXItYWx0ZXJuYXRpdmUtaW1hZ2UiIHNyYz0iJytjb250YWluZXIuZGF0YSgiYWltZyIpKyciPicpLGNvbnRhaW5lci5maW5kKCI+dWwiKS5hZGRDbGFzcygidHAtcmV2c2xpZGVyLW1haW51bCIpLG9wdC5jPWNvbnRhaW5lcixvcHQudWw9Y29udGFpbmVyLmZpbmQoIi50cC1yZXZzbGlkZXItbWFpbnVsIiksb3B0LnVsLmZpbmQoIj5saSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpOyJvbiI9PWIuZGF0YSgiaGlkZXNsaWRlb25tb2JpbGUiKSYmX0lTTSYmYi5yZW1vdmUoKSwoYi5kYXRhKCJpbnZpc2libGUiKXx8ITA9PT1iLmRhdGEoImludmlzaWJsZSIpKSYmKGIuYWRkQ2xhc3MoInRwLWludmlzaWJsZS1zbGlkZSIpLGIuYXBwZW5kVG8ob3B0LnVsKSl9KSxvcHQuYWRkb25zIT11bmRlZmluZWQmJm9wdC5hZGRvbnMubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKG9wdC5hZGRvbnMsZnVuY3Rpb24oaSxvYmopeyJvYmplY3QiPT10eXBlb2Ygb2JqJiZvYmouaW5pdCE9dW5kZWZpbmVkJiZfUltvYmouaW5pdF0oZXZhbChvYmoucGFyYW1zKSl9KSxvcHQuY2lkPWNvbnRhaW5lci5hdHRyKCJpZCIpLG9wdC51bC5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSksb3B0LnNsaWRlYW1vdW50PW9wdC51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKS5sZW5ndGgsb3B0LnJlYWxzbGlkZWFtb3VudD1vcHQudWwuZmluZCgiPmxpIikubGVuZ3RoLG9wdC5zbGF5ZXJzPWNvbnRhaW5lci5maW5kKCIudHAtc3RhdGljLWxheWVycyIpLG9wdC5zbGF5ZXJzLmRhdGEoImluZGV4Iiwic3RhdGljbGF5ZXJzIiksMSE9b3B0LndhaXRGb3JJbml0JiYoY29udGFpbmVyWzBdLm9wdD1vcHQscnVuU2xpZGVyKGNvbnRhaW5lcixvcHQpKX0sb25GdWxsU2NyZWVuQ2hhbmdlPWZ1bmN0aW9uKCl7alF1ZXJ5KCJib2R5IikuZGF0YSgicnMtZnVsbFNjcmVlbk1vZGUiLCFqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIpKSxqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KHdpbmRvdykudHJpZ2dlcigicmVzaXplIil9LDIwMCl9LHJ1blNsaWRlcj1mdW5jdGlvbihhLGIpe2lmKGIuc2xpZGVyaXNydW5uaW5nPSEwLGIudWwuZmluZCgiPmxpIikuZWFjaChmdW5jdGlvbihhKXtqUXVlcnkodGhpcykuZGF0YSgib3JpZ2luYWxpbmRleCIsYSl9KSxiLmFsbGxpPWIudWwuZmluZCgiPmxpIiksalF1ZXJ5LmVhY2goYi5hbGxsaSxmdW5jdGlvbihhLGIpe3ZhciBiPWpRdWVyeShiKTtiLmRhdGEoIm9yaWdpbmRleCIsYi5pbmRleCgpKX0pLGIubGk9Yi51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKSwib24iPT1iLnNodWZmbGUpe3ZhciBjPW5ldyBPYmplY3QsZD1iLnVsLmZpbmQoIj5saTpmaXJzdC1jaGlsZCIpO2MuZnN0cmFuc2l0aW9uPWQuZGF0YSgiZnN0cmFuc2l0aW9uIiksYy5mc21hc3RlcnNwZWVkPWQuZGF0YSgiZnNtYXN0ZXJzcGVlZCIpLGMuZnNzbG90YW1vdW50PWQuZGF0YSgiZnNzbG90YW1vdW50Iik7Zm9yKHZhciBlPTA7ZTxiLnNsaWRlYW1vdW50O2UrKyl7dmFyIGY9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKmIuc2xpZGVhbW91bnQpO2IudWwuZmluZCgiPmxpOmVxKCIrZisiKSIpLnByZXBlbmRUbyhiLnVsKX12YXIgZz1iLnVsLmZpbmQoIj5saTpmaXJzdC1jaGlsZCIpO2cuZGF0YSgiZnN0cmFuc2l0aW9uIixjLmZzdHJhbnNpdGlvbiksZy5kYXRhKCJmc21hc3RlcnNwZWVkIixjLmZzbWFzdGVyc3BlZWQpLGcuZGF0YSgiZnNzbG90YW1vdW50IixjLmZzc2xvdGFtb3VudCksYi5hbGxsaT1iLnVsLmZpbmQoIj5saSIpLGIubGk9Yi51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKX1pZihiLmlubGk9Yi51bC5maW5kKCI+bGkudHAtaW52aXNpYmxlLXNsaWRlIiksYi50aHVtYnM9bmV3IEFycmF5LGIuc2xvdHM9NCxiLmFjdD0tMSxiLmZpcnN0c3RhcnQ9MSxiLmxvYWRxdWV1ZT1uZXcgQXJyYXksYi5zeW5jbG9hZD0wLGIuY29udz1hLndpZHRoKCksYi5jb25oPWEuaGVpZ2h0KCksYi5yZXNwb25zaXZlTGV2ZWxzLmxlbmd0aD4xP2IucmVzcG9uc2l2ZUxldmVsc1swXT05OTk5OmIucmVzcG9uc2l2ZUxldmVscz05OTk5LGpRdWVyeS5lYWNoKGIuYWxsbGksZnVuY3Rpb24oYSxjKXt2YXIgYz1qUXVlcnkoYyksZD1jLmZpbmQoIi5yZXYtc2xpZGViZyIpfHxjLmZpbmQoImltZyIpLmZpcnN0KCksZT0wO2MuYWRkQ2xhc3MoInRwLXJldnNsaWRlci1zbGlkZXNsaSIpLGMuZGF0YSgiaW5kZXgiKT09PXVuZGVmaW5lZCYmYy5kYXRhKCJpbmRleCIsInJzLSIrTWF0aC5yb3VuZCg5OTk5OTkqTWF0aC5yYW5kb20oKSkpO3ZhciBmPW5ldyBPYmplY3Q7Zi5wYXJhbXM9bmV3IEFycmF5LGYuaWQ9Yy5kYXRhKCJpbmRleCIpLGYuc3JjPWMuZGF0YSgidGh1bWIiKSE9PXVuZGVmaW5lZD9jLmRhdGEoInRodW1iIik6ZC5kYXRhKCJsYXp5bG9hZCIpIT09dW5kZWZpbmVkP2QuZGF0YSgibGF6eWxvYWQiKTpkLmF0dHIoInNyYyIpLGMuZGF0YSgidGl0bGUiKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce3RpdGxlXFx9XFx9IiwiZyIpLHRvOmMuZGF0YSgidGl0bGUiKX0pLGMuZGF0YSgiZGVzY3JpcHRpb24iKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce2Rlc2NyaXB0aW9uXFx9XFx9IiwiZyIpLHRvOmMuZGF0YSgiZGVzY3JpcHRpb24iKX0pO2Zvcih2YXIgZT0xO2U8PTEwO2UrKyljLmRhdGEoInBhcmFtIitlKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce3BhcmFtIitlKyJcXH1cXH0iLCJnIiksdG86Yy5kYXRhKCJwYXJhbSIrZSl9KTtpZihiLnRodW1icy5wdXNoKGYpLGMuZGF0YSgibGluayIpIT11bmRlZmluZWQpe3ZhciBnPWMuZGF0YSgibGluayIpLGg9Yy5kYXRhKCJ0YXJnZXQiKXx8Il9zZWxmIixpPSJiYWNrIj09PWMuZGF0YSgic2xpZGVpbmRleCIpPzA6NjAsaj1jLmRhdGEoImxpbmt0b3NsaWRlIiksaz1qO2ohPXVuZGVmaW5lZCYmIm5leHQiIT1qJiYicHJldiIhPWomJmIuYWxsbGkuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLmRhdGEoIm9yaWdpbmRleCIpKzE9PWsmJihqPWEuZGF0YSgiaW5kZXgiKSl9KSwic2xpZGUiIT1nJiYoaj0ibm8iKTt2YXIgbD0nPGRpdiBjbGFzcz0idHAtY2FwdGlvbiBzbGlkZWxpbmsiIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6JytpKyc7IiBkYXRhLXg9ImNlbnRlciIgZGF0YS15PSJjZW50ZXIiIGRhdGEtYmFzZWFsaWduPSJzbGlkZSIgJyxtPSJzY3JvbGxfdW5kZXIiPT09aj8nW3siZXZlbnQiOiJjbGljayIsImFjdGlvbiI6InNjcm9sbGJlbG93Iiwib2Zmc2V0IjoiMTAwcHgiLCJkZWxheSI6IjAifV0nOiJwcmV2Ij09PWo/J1t7ImV2ZW50IjoiY2xpY2siLCJhY3Rpb24iOiJqdW1wdG9zbGlkZSIsInNsaWRlIjoicHJldiIsImRlbGF5IjoiMC4yIn1dJzoibmV4dCI9PT1qPydbeyJldmVudCI6ImNsaWNrIiwiYWN0aW9uIjoianVtcHRvc2xpZGUiLCJzbGlkZSI6Im5leHQiLCJkZWxheSI6IjAuMiJ9XSc6J1t7ImV2ZW50IjoiY2xpY2siLCJhY3Rpb24iOiJqdW1wdG9zbGlkZSIsInNsaWRlIjoiJytqKyciLCJkZWxheSI6IjAuMiJ9XScsbj0nIGRhdGEtZnJhbWVzPVwnW3siZGVsYXkiOjAsInNwZWVkIjoxMDAsImZyYW1lIjoiMCIsImZyb20iOiJvcGFjaXR5OjA7IiwidG8iOiJvOjE7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjozMDAsImZyYW1lIjoiOTk5IiwidG8iOiJvcGFjaXR5OjA7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV1cJyc7bD0ibm8iPT1qP2wrbisiID4iOmwrImRhdGEtYWN0aW9ucz0nIittKyInIituKyIgPiIsbCs9JzxhIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2siJyxsPSJzbGlkZSIhPWc/bCsnIHRhcmdldD0iJytoKyciIGhyZWY9IicrZysnIic6bCxsKz0nPjxzcGFuIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2siPjwvc3Bhbj48L2E+PC9kaXY+JyxjLmFwcGVuZChsKX19KSxiLnJsZT1iLnJlc3BvbnNpdmVMZXZlbHMubGVuZ3RofHwxLGIuZ3JpZHdpZHRoPWNBcnJheShiLmdyaWR3aWR0aCxiLnJsZSksYi5ncmlkaGVpZ2h0PWNBcnJheShiLmdyaWRoZWlnaHQsYi5ybGUpLCJvbiI9PWIuc2ltcGxpZnlBbGwmJihfUi5pc0lFKDgpfHxfUi5pT1NWZXJzaW9uKCkpJiYoYS5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5yZW1vdmVDbGFzcygiY3VzdG9taW4gY3VzdG9tb3V0IikuYWRkQ2xhc3MoImZhZGVpbiBmYWRlb3V0IiksYS5kYXRhKCJzcGxpdGluIiwiIiksYS5kYXRhKCJzcGVlZCIsNDAwKX0pLGIuYWxsbGkuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLmRhdGEoInRyYW5zaXRpb24iLCJmYWRlIiksYS5kYXRhKCJtYXN0ZXJzcGVlZCIsNTAwKSxhLmRhdGEoInNsb3RhbW91bnQiLDEpLChhLmZpbmQoIi5yZXYtc2xpZGViZyIpfHxhLmZpbmQoIj5pbWciKS5maXJzdCgpKS5kYXRhKCJrZW5idXJucyIsIm9mZiIpfSkpLGIuZGVza3RvcD0hbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvKGlQaG9uZXxpUG9kfGlQYWR8QW5kcm9pZHxCbGFja0JlcnJ5fEJCMTB8bW9iaXx0YWJsZXR8b3BlcmEgbWluaXxuZXh1cyA3KS9pKSxiLmF1dG9IZWlnaHQ9ImZ1bGxzY3JlZW4iPT1iLnNsaWRlckxheW91dD8ib24iOmIuYXV0b0hlaWdodCwiZnVsbHdpZHRoIj09Yi5zbGlkZXJMYXlvdXQmJiJvZmYiPT1iLmF1dG9IZWlnaHQmJmEuY3NzKHttYXhIZWlnaHQ6Yi5ncmlkaGVpZ2h0W2IuY3VyV2luUmFuZ2VdKyJweCJ9KSwiYXV0byIhPWIuc2xpZGVyTGF5b3V0JiYwPT1hLmNsb3Nlc3QoIi5mb3JjZWZ1bGx3aWR0aF93cmFwcGVyX3RwX2Jhbm5lciIpLmxlbmd0aCYmKCJmdWxsc2NyZWVuIiE9PWIuc2xpZGVyTGF5b3V0fHwib24iIT1iLmZ1bGxTY3JlZW5BdXRvV2lkdGgpKXt2YXIgaD1hLnBhcmVudCgpLGk9aC5jc3MoIm1hcmdpbkJvdHRvbSIpLGo9aC5jc3MoIm1hcmdpblRvcCIpLGs9YS5hdHRyKCJpZCIpKyJfZm9yY2VmdWxsd2lkdGgiO2k9aT09PXVuZGVmaW5lZD8wOmksaj1qPT09dW5kZWZpbmVkPzA6aixoLndyYXAoJzxkaXYgY2xhc3M9ImZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIiBpZD0iJytrKyciIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDphdXRvO21hcmdpbi10b3A6JytqKyI7bWFyZ2luLWJvdHRvbToiK2krJyI+PC9kaXY+JyksYS5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLWZ1bGx3aWR0aC1mb3JjZXIiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDonK2EuaGVpZ2h0KCkrJ3B4Ij48L2Rpdj4nKSxhLnBhcmVudCgpLmNzcyh7bWFyZ2luVG9wOiIwcHgiLG1hcmdpbkJvdHRvbToiMHB4In0pLGEucGFyZW50KCkuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUifSl9aWYoYi5zaGFkb3chPT11bmRlZmluZWQmJmIuc2hhZG93PjAmJihhLnBhcmVudCgpLmFkZENsYXNzKCJ0cC1zaGFkb3ciK2Iuc2hhZG93KSxhLnBhcmVudCgpLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtc2hhZG93Y292ZXIiPjwvZGl2PicpLGEucGFyZW50KCkuZmluZCgiLnRwLXNoYWRvd2NvdmVyIikuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6YS5wYXJlbnQoKS5jc3MoImJhY2tncm91bmRDb2xvciIpLGJhY2tncm91bmRJbWFnZTphLnBhcmVudCgpLmNzcygiYmFja2dyb3VuZEltYWdlIil9KSksc2V0Q3VyV2luUmFuZ2UoYiksc2V0Q3VyV2luUmFuZ2UoYiwhMCksIWEuaGFzQ2xhc3MoInJldnNsaWRlci1pbml0aWFsaXNlZCIpKXthLmFkZENsYXNzKCJyZXZzbGlkZXItaW5pdGlhbGlzZWQiKSxhLmFkZENsYXNzKCJ0cC1zaW1wbGVyZXNwb25zaXZlIiksYS5hdHRyKCJpZCIpPT11bmRlZmluZWQmJmEuYXR0cigiaWQiLCJyZXZzbGlkZXItIitNYXRoLnJvdW5kKDFlMypNYXRoLnJhbmRvbSgpKzUpKSxjaGVja0lEUyhiLGEpLGIuZmlyZWZveDEzPSExLGIuaWU9IWpRdWVyeS5zdXBwb3J0Lm9wYWNpdHksYi5pZTk9OT09ZG9jdW1lbnQuZG9jdW1lbnRNb2RlLGIub3JpZ2NkPWIuZGVsYXk7dmFyIGw9alF1ZXJ5LmZuLmpxdWVyeS5zcGxpdCgiLiIpLG09cGFyc2VGbG9hdChsWzBdKSxuPXBhcnNlRmxvYXQobFsxXSk7cGFyc2VGbG9hdChsWzJdfHwiMCIpOzE9PW0mJm48NyYmYS5odG1sKCc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzo0MHB4IDBweDsgZm9udC1zaXplOjIwcHg7IGNvbG9yOiM5OTIyMjI7Ij4gVGhlIEN1cnJlbnQgVmVyc2lvbiBvZiBqUXVlcnk6JytsKyIgPGJyPlBsZWFzZSB1cGRhdGUgeW91ciBqUXVlcnkgVmVyc2lvbiB0byBtaW4uIDEuNyBpbiBDYXNlIHlvdSB3aXNoIHRvIHVzZSB0aGUgUmV2b2x1dGlvbiBTbGlkZXIgUGx1Z2luPC9kaXY+IiksbT4xJiYoYi5pZT0hMSk7dmFyIHA9bmV3IE9iamVjdDtwLmFkZGVkeXQ9MCxwLmFkZGVkdmltPTAscC5hZGRlZHZpZD0wLGIuc2Nyb2xsZWZmZWN0Lm9uJiYoYi5zY3JvbGxlZmZlY3QubGF5ZXJzPW5ldyBBcnJheSksYS5maW5kKCIudHAtY2FwdGlvbiwgLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBjPWpRdWVyeSh0aGlzKSxkPWMuZGF0YSgpLGU9ZC5hdXRvcGxheW9ubHlmaXJzdHRpbWUsZj1kLmF1dG9wbGF5LGc9ZC52aWRlb21wNCE9PXVuZGVmaW5lZHx8ZC52aWRlb3dlYm0hPT11bmRlZmluZWR8fGQudmlkZW9vZ3YhPT11bmRlZmluZWQsaD1jLmhhc0NsYXNzKCJ0cC1hdWRpb2xheWVyIiksaT1kLnZpZGVvbG9vcCxqPSEwLGs9ITE7ZC5zdGFydGNsYXNzZXM9Yy5hdHRyKCJjbGFzcyIpLGQuaXNwYXJhbGxheGxheWVyPWQuc3RhcnRjbGFzc2VzLmluZGV4T2YoInJzLXBhcmFsbGF4Iik+PTAsYy5oYXNDbGFzcygidHAtc3RhdGljLWxheWVyIikmJl9SLmhhbmRsZVN0YXRpY0xheWVycyYmKF9SLmhhbmRsZVN0YXRpY0xheWVycyhjLGIpLGIuc2Nyb2xsZWZmZWN0Lm9uJiYoIm9uIj09PWIuc2Nyb2xsZWZmZWN0Lm9uX3BhcmFsbGF4X3N0YXRpY19sYXllcnMmJmQuaXNwYXJhbGxheGxheWVyfHwib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fc3RhdGljX2xheWVycyYmIWQuaXNwYXJhbGxheGxheWVyKSYmKGs9ITApLGo9ITEpO3ZhciBsPWMuZGF0YSgibm9wb3N0ZXJvbm1vYmlsZSIpfHxjLmRhdGEoIm5vUG9zdGVyT25Nb2JpbGUiKXx8Yy5kYXRhKCJwb3N0ZXJvbm1vYmlsZSIpfHxjLmRhdGEoInBvc3Rlck9uTW9iaWxlIil8fGMuZGF0YSgicG9zdGVyT25NT2JpbGUiKTtjLmRhdGEoIm5vcG9zdGVyb25tb2JpbGUiLGwpO3ZhciBtPTA7aWYoYy5maW5kKCJpZnJhbWUiKS5lYWNoKGZ1bmN0aW9uKCl7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGpRdWVyeSh0aGlzKSx7YXV0b0FscGhhOjB9KSxtKyt9KSxtPjAmJmMuZGF0YSgiaWZyYW1lcyIsITApLGMuaGFzQ2xhc3MoInRwLWNhcHRpb24iKSl7dmFyIG49Yy5oYXNDbGFzcygic2xpZGVsaW5rIik/IndpZHRoOjEwMCUgIWltcG9ydGFudDtoZWlnaHQ6MTAwJSAhaW1wb3J0YW50OyI6IiIsbz1jLmRhdGEoKSxxPSIiLHI9by50eXBlLHM9InJvdyI9PT1yfHwiY29sdW1uIj09PXI/InJlbGF0aXZlIjoiYWJzb2x1dGUiLHQ9IiI7InJvdyI9PT1yPyhjLmFkZENsYXNzKCJyZXZfcm93IikucmVtb3ZlQ2xhc3MoInRwLXJlc2l6ZW1lIiksdD0icmV2X3Jvd193cmFwIik6ImNvbHVtbiI9PT1yPyhxPW8udmVydGljYWxhbGlnbj09PXVuZGVmaW5lZD8iIHZlcnRpY2FsLWFsaWduOmJvdHRvbTsiOiIgdmVydGljYWwtYWxpZ246IitvLnZlcnRpY2FsYWxpZ24rIjsiLHQ9InJldl9jb2x1bW4iLGMuYWRkQ2xhc3MoInJldl9jb2x1bW5faW5uZXIiKS5yZW1vdmVDbGFzcygidHAtcmVzaXplbWUiKSxjLmRhdGEoIndpZHRoIiwiYXV0byIpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt3aWR0aDoiYXV0byJ9KSk6Imdyb3VwIj09PXImJmMucmVtb3ZlQ2xhc3MoInRwLXJlc2l6ZW1lIik7dmFyIHU9IiIsdj0iIjsicm93IiE9PXImJiJncm91cCIhPT1yJiYiY29sdW1uIiE9PXI/KHU9ImRpc3BsYXk6IitjLmNzcygiZGlzcGxheSIpKyI7IixjLmNsb3Nlc3QoIi5yZXZfY29sdW1uIikubGVuZ3RoPjA/KGMuYWRkQ2xhc3MoInJldl9sYXllcl9pbl9jb2x1bW4iKSxqPSExKTpjLmNsb3Nlc3QoIi5yZXZfZ3JvdXAiKS5sZW5ndGg+MCYmKGMuYWRkQ2xhc3MoInJldl9sYXllcl9pbl9ncm91cCIpLGo9ITEpKToiY29sdW1uIj09PXImJihqPSExKSxvLndyYXBwZXJfY2xhc3MhPT11bmRlZmluZWQmJih0PXQrIiAiK28ud3JhcHBlcl9jbGFzcyksby53cmFwcGVyX2lkIT09dW5kZWZpbmVkJiYodj0naWQ9Iicrby53cmFwcGVyX2lkKyciJyksYy53cmFwKCI8ZGl2ICIrdisnIGNsYXNzPSJ0cC1wYXJhbGxheC13cmFwICcrdCsnIiBzdHlsZT0iJytxKyIgIituKyJwb3NpdGlvbjoiK3MrIjsiK3UrJzt2aXNpYmlsaXR5OmhpZGRlbiI+PGRpdiBjbGFzcz0idHAtbG9vcC13cmFwIiBzdHlsZT0iJytuKyJwb3NpdGlvbjoiK3MrIjsiK3UrJzsiPjxkaXYgY2xhc3M9InRwLW1hc2std3JhcCIgc3R5bGU9IicrbisicG9zaXRpb246IitzKyI7Iit1Kyc7IiA+PC9kaXY+PC9kaXY+PC9kaXY+JyksaiYmYi5zY3JvbGxlZmZlY3Qub24mJigib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fcGFyYWxsYXhfbGF5ZXJzJiZkLmlzcGFyYWxsYXhsYXllcnx8Im9uIj09PWIuc2Nyb2xsZWZmZWN0Lm9uX2xheWVycyYmIWQuaXNwYXJhbGxheGxheWVyKSYmYi5zY3JvbGxlZmZlY3QubGF5ZXJzLnB1c2goYy5wYXJlbnQoKSksayYmYi5zY3JvbGxlZmZlY3QubGF5ZXJzLnB1c2goYy5wYXJlbnQoKSksImNvbHVtbiI9PT1yJiYoYy5hcHBlbmQoJzxkaXYgY2xhc3M9InJldl9jb2x1bW5fYmcgcmV2X2NvbHVtbl9iZ19tYW5fc2l6ZWQiIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+PC9kaXY+JyksYy5jbG9zZXN0KCIudHAtcGFyYWxsYXgtd3JhcCIpLmFwcGVuZCgnPGRpdiBjbGFzcz0icmV2X2NvbHVtbl9iZyByZXZfY29sdW1uX2JnX2F1dG9fc2l6ZWQiPjwvZGl2PicpKTt2YXIgdz1bInBlbmR1bHVtIiwicm90YXRlIiwic2xpZGVsb29wIiwicHVsc2UiLCJ3YXZlIl0seD1jLmNsb3Nlc3QoIi50cC1sb29wLXdyYXAiKTtqUXVlcnkuZWFjaCh3LGZ1bmN0aW9uKGEsYil7dmFyIGQ9Yy5maW5kKCIucnMtIitiKSxlPWQuZGF0YSgpfHwiIjsiIiE9ZSYmKHguZGF0YShlKSx4LmFkZENsYXNzKCJycy0iK2IpLGQuY2hpbGRyZW4oMCkudW53cmFwKCksYy5kYXRhKCJsb29wYW5pbWF0aW9uIiwib24iKSl9KSxjLmF0dHIoImlkIik9PT11bmRlZmluZWQmJmMuYXR0cigiaWQiLCJsYXllci0iK01hdGgucm91bmQoOTk5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKSxjaGVja0lEUyhiLGMpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt2aXNpYmlsaXR5OiJoaWRkZW4ifSl9dmFyIHk9Yy5kYXRhKCJhY3Rpb25zIik7eSE9PXVuZGVmaW5lZCYmX1IuY2hlY2tBY3Rpb25zKGMsYix5KSxjaGVja0hvdmVyRGVwZW5kZW5jaWVzKGMsYiksX1IuY2hlY2tWaWRlb0FwaXMmJihwPV9SLmNoZWNrVmlkZW9BcGlzKGMsYixwKSksIV9JU018fGIuZmFsbGJhY2tzLmFsbG93SFRNTDVBdXRvUGxheU9uQW5kcm9pZCYmZ3x8KDEhPWUmJiJ0cnVlIiE9ZXx8KGQuYXV0b3BsYXlvbmx5Zmlyc3R0aW1lPSExLGU9ITEpLDEhPWYmJiJ0cnVlIiE9ZiYmIm9uIiE9ZiYmIjFzdHRpbWUiIT1mfHwoZC5hdXRvcGxheT0ib2ZmIixmPSJvZmYiKSksaHx8MSE9ZSYmInRydWUiIT1lJiYiMXN0dGltZSIhPWZ8fCJsb29wYW5kbm9zbGlkZXN0b3AiPT1pfHxjLmNsb3Nlc3QoImxpLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLmFkZENsYXNzKCJycy1wYXVzZS10aW1lci1vbmNlIiksaHx8MSE9ZiYmInRydWUiIT1mJiYib24iIT1mJiYibm8xc3R0aW1lIiE9Znx8Imxvb3BhbmRub3NsaWRlc3RvcCI9PWl8fGMuY2xvc2VzdCgibGkudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuYWRkQ2xhc3MoInJzLXBhdXNlLXRpbWVyLWFsd2F5cyIpfSksYVswXS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixmdW5jdGlvbigpe2EudHJpZ2dlcigidHAtbW91c2VlbnRlciIpLGIub3ZlcmNvbnRhaW5lcj0hMH0se3Bhc3NpdmU6ITB9KSxhWzBdLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXthLnRyaWdnZXIoInRwLW1vdXNlb3ZlciIpLGIub3ZlcmNvbnRhaW5lcj0hMH0se3Bhc3NpdmU6ITB9KSxhWzBdLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7YS50cmlnZ2VyKCJ0cC1tb3VzZWxlZnQiKSxiLm92ZXJjb250YWluZXI9ITF9LHtwYXNzaXZlOiEwfSksYS5maW5kKCIudHAtY2FwdGlvbiB2aWRlbyIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2IucmVtb3ZlQ2xhc3MoInZpZGVvLWpzIHZqcy1kZWZhdWx0LXNraW4iKSxiLmF0dHIoInByZWxvYWQiLCIiKSxiLmNzcyh7ZGlzcGxheToibm9uZSJ9KX0pLCJzdGFuZGFyZCIhPT1iLnNsaWRlclR5cGUmJihiLmxhenlUeXBlPSJhbGwiKSxsb2FkSW1hZ2VzKGEuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSxiLDAsITApLHdhaXRGb3JDdXJyZW50SW1hZ2VzKGEuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSxiLGZ1bmN0aW9uKCl7YS5maW5kKCIudHAtc3RhdGljLWxheWVycyBpbWciKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9YS5kYXRhKCJsYXp5bG9hZCIpIT11bmRlZmluZWQ/YS5kYXRhKCJsYXp5bG9hZCIpOmEuYXR0cigic3JjIiksZD1nZXRMb2FkT2JqKGIsYyk7YS5hdHRyKCJzcmMiLGQuc3JjKX0pfSksYi5yb3d6b25lcz1bXSxiLmFsbGxpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGM9alF1ZXJ5KHRoaXMpO2Iucm93em9uZXNbYV09W10sYy5maW5kKCIucmV2X3Jvd196b25lIikuZWFjaChmdW5jdGlvbigpe2Iucm93em9uZXNbYV0ucHVzaChqUXVlcnkodGhpcykpfSksImFsbCIhPWIubGF6eVR5cGUmJigic21hcnQiIT1iLmxhenlUeXBlfHwwIT1hJiYxIT1hJiZhIT1iLnNsaWRlYW1vdW50JiZhIT1iLnNsaWRlYW1vdW50LTEpfHwobG9hZEltYWdlcyhjLGIsYSksd2FpdEZvckN1cnJlbnRJbWFnZXMoYyxiLGZ1bmN0aW9uKCl7fSkpfSk7dmFyIHE9Z2V0VXJsVmFycygiIyIpWzBdO2lmKHEubGVuZ3RoPDkmJnEuc3BsaXQoInNsaWRlIikubGVuZ3RoPjEpe3ZhciByPXBhcnNlSW50KHEuc3BsaXQoInNsaWRlIilbMV0sMCk7cjwxJiYocj0xKSxyPmIuc2xpZGVhbW91bnQmJihyPWIuc2xpZGVhbW91bnQpLGIuc3RhcnRXaXRoU2xpZGU9ci0xfWEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sb2FkZXIgJytiLnNwaW5uZXIrJyI+PGRpdiBjbGFzcz0iZG90MSI+PC9kaXY+PGRpdiBjbGFzcz0iZG90MiI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMSI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMiI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMyI+PC9kaXY+PC9kaXY+JyksYi5sb2FkZXI9YS5maW5kKCIudHAtbG9hZGVyIiksMD09PWEuZmluZCgiLnRwLWJhbm5lcnRpbWVyIikubGVuZ3RoJiZhLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtYmFubmVydGltZXIiIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+PC9kaXY+JyksYS5maW5kKCIudHAtYmFubmVydGltZXIiKS5jc3Moe3dpZHRoOiIwJSJ9KSxiLnVsLmNzcyh7ZGlzcGxheToiYmxvY2sifSkscHJlcGFyZVNsaWRlcyhhLGIpLCgib2ZmIiE9PWIucGFyYWxsYXgudHlwZXx8Yi5zY3JvbGxlZmZlY3Qub24pJiZfUi5jaGVja0ZvclBhcmFsbGF4JiZfUi5jaGVja0ZvclBhcmFsbGF4KGEsYiksX1Iuc2V0U2l6ZShiKSwiaGVybyIhPT1iLnNsaWRlclR5cGUmJl9SLmNyZWF0ZU5hdmlnYXRpb24mJl9SLmNyZWF0ZU5hdmlnYXRpb24oYSxiKSxfUi5yZXNpemVUaHVtYnNUYWJzJiZfUi5yZXNpemVUaHVtYnNUYWJzJiZfUi5yZXNpemVUaHVtYnNUYWJzKGIpLGNvbnRXaWR0aE1hbmFnZXIoYik7dmFyIHM9Yi52aWV3UG9ydDtiLmludmlld3BvcnQ9ITEscyE9dW5kZWZpbmVkJiZzLmVuYWJsZSYmKGpRdWVyeS5pc051bWVyaWMocy52aXNpYmxlX2FyZWEpfHwtMSE9PXMudmlzaWJsZV9hcmVhLmluZGV4T2YoIiUiKSYmKHMudmlzaWJsZV9hcmVhPXBhcnNlSW50KHMudmlzaWJsZV9hcmVhKS8xMDApLF9SLnNjcm9sbFRpY2tlciYmX1Iuc2Nyb2xsVGlja2VyKGIsYSkpLCJjYXJvdXNlbCI9PT1iLnNsaWRlclR5cGUmJl9SLnByZXBhcmVDYXJvdXNlbCYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChiLnVsLHtvcGFjaXR5OjB9KSxfUi5wcmVwYXJlQ2Fyb3VzZWwoYixuZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsdW5kZWZpbmVkLDApLGIub25seVByZXBhcmVkU2xpZGU9ITApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZighcy5lbmFibGV8fHMuZW5hYmxlJiZiLmludmlld3BvcnR8fHMuZW5hYmxlJiYhYi5pbnZpZXdwb3J0JiYid2FpdCI9PSFzLm91dG9mKXN3YXBTbGlkZShhKTtlbHNlIGlmKGIuYy5hZGRDbGFzcygidHAtd2FpdGZvcmZpcnN0c3RhcnQiKSxiLndhaXRGb3JGaXJzdFNsaWRlPSEwLHMucHJlc2l6ZSl7dmFyIGM9alF1ZXJ5KGIubGlbMF0pO2xvYWRJbWFnZXMoYyxiLDAsITApLHdhaXRGb3JDdXJyZW50SW1hZ2VzKGMuZmluZCgiLnRwLWxheWVycyIpLGIsZnVuY3Rpb24oKXtfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmMsb3B0OmIscHJlc2V0OiEwfSl9KX1fUi5tYW5hZ2VOYXZpZ2F0aW9uJiZfUi5tYW5hZ2VOYXZpZ2F0aW9uKGIpLGIuc2xpZGVhbW91bnQ+MSYmKCFzLmVuYWJsZXx8cy5lbmFibGUmJmIuaW52aWV3cG9ydD9jb3VudERvd24oYSxiKTpiLndhaXRGb3JDb3VudERvd249ITApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXthLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25sb2FkZWQiKX0sMTAwKX0sYi5zdGFydERlbGF5KSxiLnN0YXJ0RGVsYXk9MCxqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIsITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuY2hhbmdlIixvbkZ1bGxTY3JlZW5DaGFuZ2Use3Bhc3NpdmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW96ZnVsbHNjcmVlbmNoYW5nZSIsb25GdWxsU2NyZWVuQ2hhbmdlLHtwYXNzaXZlOiEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLG9uRnVsbFNjcmVlbkNoYW5nZSx7cGFzc2l2ZTohMH0pO3ZhciB0PSJyZXNpemUucmV2c2xpZGVyLSIrYS5hdHRyKCJpZCIpO2pRdWVyeSh3aW5kb3cpLm9uKHQsZnVuY3Rpb24oKXtpZihhPT11bmRlZmluZWQpcmV0dXJuITE7MCE9alF1ZXJ5KCJib2R5IikuZmluZChhKSYmY29udFdpZHRoTWFuYWdlcihiKTt2YXIgYz0hMTtpZigiZnVsbHNjcmVlbiI9PWIuc2xpZGVyTGF5b3V0KXt2YXIgZD1qUXVlcnkod2luZG93KS5oZWlnaHQoKTsibW9iaWxlIj09Yi5mYWxsYmFja3MuaWdub3JlSGVpZ2h0Q2hhbmdlcyYmX0lTTXx8ImFsd2F5cyI9PWIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXM/KGIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplPWIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplPT11bmRlZmluZWQ/MDpiLmZhbGxiYWNrcy5pZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZSxjPWQhPWIubGFzdHdpbmRvd2hlaWdodCYmTWF0aC5hYnMoZC1iLmxhc3R3aW5kb3doZWlnaHQpPmIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplKTpjPWQhPWIubGFzdHdpbmRvd2hlaWdodH0oYS5vdXRlcldpZHRoKCEwKSE9Yi53aWR0aHx8YS5pcygiOmhpZGRlbiIpfHxjKSYmKGIubGFzdHdpbmRvd2hlaWdodD1qUXVlcnkod2luZG93KS5oZWlnaHQoKSxjb250YWluZXJSZXNpemVkKGEsYikpfSksaGlkZVNsaWRlclVuZGVyKGEsYiksY29udFdpZHRoTWFuYWdlcihiKSxiLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8InRydWUiPT1iLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8ITA9PT1iLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8KGEuYWRkQ2xhc3MoInJldl9yZWRyYXdfb25fYmx1cmZvY3VzIiksdGFiQmx1cnJpbmdDaGVjaygpKX19LGNBcnJheT1mdW5jdGlvbihhLGIpe2lmKCFqUXVlcnkuaXNBcnJheShhKSl7dmFyIGM9YTthPW5ldyBBcnJheSxhLnB1c2goYyl9aWYoYS5sZW5ndGg8Yilmb3IodmFyIGM9YVthLmxlbmd0aC0xXSxkPTA7ZDxiLWEubGVuZ3RoKzI7ZCsrKWEucHVzaChjKTtyZXR1cm4gYX0sY2hlY2tIb3ZlckRlcGVuZGVuY2llcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZGF0YSgpOygic2xpZGVyZW50ZXIiPT09Yy5zdGFydHx8Yy5mcmFtZXMhPT11bmRlZmluZWQmJmMuZnJhbWVzWzBdIT11bmRlZmluZWQmJiJzbGlkZXJlbnRlciI9PT1jLmZyYW1lc1swXS5kZWxheSkmJihiLmxheWVyc29uaG92ZXI9PT11bmRlZmluZWQmJihiLmMub24oInRwLW1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7Yi5sYXllcnNvbmhvdmVyJiZqUXVlcnkuZWFjaChiLmxheWVyc29uaG92ZXIsZnVuY3Rpb24oYSxjKXt2YXIgZD1jLmRhdGEoImNsb3Nlc3RsaSIpfHxjLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKSxlPWMuZGF0YSgic3RhdGljbGkiKXx8Yy5jbG9zZXN0KCIudHAtc3RhdGljLWxheWVycyIpO2MuZGF0YSgiY2xvc2VzdGxpIik9PT11bmRlZmluZWQmJihjLmRhdGEoImNsb3Nlc3RsaSIsZCksYy5kYXRhKCJzdGF0aWNsaSIsZSkpLChkLmxlbmd0aD4wJiZkLmhhc0NsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKXx8ZC5oYXNDbGFzcygicHJvY2Vzc2luZy1yZXZzbGlkZSIpfHxlLmxlbmd0aD4wKSYmKGMuZGF0YSgiYW5pbWRpcmVjdGlvbiIsImluIiksX1IucGxheUFuaW1hdGlvbkZyYW1lJiZfUi5wbGF5QW5pbWF0aW9uRnJhbWUoe2NhcHRpb246YyxvcHQ6YixmcmFtZToiZnJhbWVfMCIsdHJpZ2dlcmRpcmVjdGlvbjoiaW4iLHRyaWdnZXJmcmFtZWluOiJmcmFtZV8wIix0cmlnZ2VyZnJhbWVvdXQ6ImZyYW1lXzk5OSJ9KSxjLmRhdGEoInRyaWdnZXJzdGF0ZSIsIm9uIikpfSl9KSxiLmMub24oInRwLW1vdXNlbGVmdCIsZnVuY3Rpb24oKXtiLmxheWVyc29uaG92ZXImJmpRdWVyeS5lYWNoKGIubGF5ZXJzb25ob3ZlcixmdW5jdGlvbihhLGMpe2MuZGF0YSgiYW5pbWRpcmVjdGlvbiIsIm91dCIpLGMuZGF0YSgidHJpZ2dlcmVkIiwhMCksYy5kYXRhKCJ0cmlnZ2Vyc3RhdGUiLCJvZmYiKSxfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyhjLGIpLF9SLnBsYXlBbmltYXRpb25GcmFtZSYmX1IucGxheUFuaW1hdGlvbkZyYW1lKHtjYXB0aW9uOmMsb3B0OmIsZnJhbWU6ImZyYW1lXzk5OSIsdHJpZ2dlcmRpcmVjdGlvbjoib3V0Iix0cmlnZ2VyZnJhbWVpbjoiZnJhbWVfMCIsdHJpZ2dlcmZyYW1lb3V0OiJmcmFtZV85OTkifSl9KX0pLGIubGF5ZXJzb25ob3Zlcj1uZXcgQXJyYXkpLGIubGF5ZXJzb25ob3Zlci5wdXNoKGEpKX0sY29udFdpZHRoTWFuYWdlcj1mdW5jdGlvbihhKXt2YXIgYj1fUi5nZXRIb3Jpem9udGFsT2Zmc2V0KGEuYywibGVmdCIpO2lmKCJhdXRvIj09YS5zbGlkZXJMYXlvdXR8fCJmdWxsc2NyZWVuIj09PWEuc2xpZGVyTGF5b3V0JiYib24iPT1hLmZ1bGxTY3JlZW5BdXRvV2lkdGgpImZ1bGxzY3JlZW4iPT1hLnNsaWRlckxheW91dCYmIm9uIj09YS5mdWxsU2NyZWVuQXV0b1dpZHRoP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChhLnVsLHtsZWZ0OjAsd2lkdGg6YS5jLndpZHRoKCl9KTpwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS51bCx7bGVmdDpiLHdpZHRoOmEuYy53aWR0aCgpLV9SLmdldEhvcml6b250YWxPZmZzZXQoYS5jLCJib3RoIil9KTtlbHNle3ZhciBjPU1hdGguY2VpbChhLmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikub2Zmc2V0KCkubGVmdC1iKTtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5jLnBhcmVudCgpLHtsZWZ0OjAtYysicHgiLHdpZHRoOmpRdWVyeSh3aW5kb3cpLndpZHRoKCktX1IuZ2V0SG9yaXpvbnRhbE9mZnNldChhLmMsImJvdGgiKX0pfWEuc2xheWVycyYmImZ1bGx3aWR0aCIhPWEuc2xpZGVyTGF5b3V0JiYiZnVsbHNjcmVlbiIhPWEuc2xpZGVyTGF5b3V0JiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5zbGF5ZXJzLHtsZWZ0OmJ9KX0sY3Y9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PXVuZGVmaW5lZD9iOmF9LGhpZGVTbGlkZXJVbmRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5wYXJlbnQoKTtqUXVlcnkod2luZG93KS53aWR0aCgpPGIuaGlkZVNsaWRlckF0TGltaXQ/KGEudHJpZ2dlcigic3RvcHRpbWVyIiksIm5vbmUiIT1kLmNzcygiZGlzcGxheSIpJiZkLmRhdGEoIm9sZGRpc3BsYXkiLGQuY3NzKCJkaXNwbGF5IikpLGQuY3NzKHtkaXNwbGF5OiJub25lIn0pKTphLmlzKCI6aGlkZGVuIikmJmMmJihkLmRhdGEoIm9sZGRpc3BsYXkiKSE9dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9ZC5kYXRhKCJvbGRkaXNwbGF5IikmJiJub25lIiE9ZC5kYXRhKCJvbGRkaXNwbGF5Iik/ZC5jc3Moe2Rpc3BsYXk6ZC5kYXRhKCJvbGRkaXNwbGF5Iil9KTpkLmNzcyh7ZGlzcGxheToiYmxvY2sifSksYS50cmlnZ2VyKCJyZXN0YXJ0dGltZXIiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Y29udGFpbmVyUmVzaXplZChhLGIpfSwxNTApKSxfUi5oaWRlVW5IaWRlTmF2JiZfUi5oaWRlVW5IaWRlTmF2KGIpfSxjb250YWluZXJSZXNpemVkPWZ1bmN0aW9uKGEsYil7aWYoYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLmJlZm9yZXJlZHJhdyIpLDE9PWIuaW5mdWxsc2NyZWVubW9kZSYmKGIubWluSGVpZ2h0PWpRdWVyeSh3aW5kb3cpLmhlaWdodCgpKSxzZXRDdXJXaW5SYW5nZShiKSxzZXRDdXJXaW5SYW5nZShiLCEwKSwhX1IucmVzaXplVGh1bWJzVGFic3x8ITA9PT1fUi5yZXNpemVUaHVtYnNUYWJzKGIpKXtpZihoaWRlU2xpZGVyVW5kZXIoYSxiLCEwKSxjb250V2lkdGhNYW5hZ2VyKGIpLCJjYXJvdXNlbCI9PWIuc2xpZGVyVHlwZSYmX1IucHJlcGFyZUNhcm91c2VsKGIsITApLGE9PT11bmRlZmluZWQpcmV0dXJuITE7X1Iuc2V0U2l6ZShiKSxiLmNvbnc9Yi5jLndpZHRoKCksYi5jb25oPWIuaW5mdWxsc2NyZWVubW9kZT9iLm1pbkhlaWdodDpiLmMuaGVpZ2h0KCk7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIC5zbG90aG9sZGVyIiksZD1hLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIC5zbG90aG9sZGVyIik7cmVtb3ZlU2xvdHMoYSxiLGEsMiksInN0YW5kYXJkIj09PWIuc2xpZGVyVHlwZSYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLmZpbmQoIi5kZWZhdWx0aW1nIikse29wYWNpdHk6MH0pLGMuZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MX0pKSwiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlJiZiLmxhc3Rjb253IT1iLmNvbncmJihjbGVhclRpbWVvdXQoYi5wY2FydGltZXIpLGIucGNhcnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtfUi5wcmVwYXJlQ2Fyb3VzZWwoYiwhMCksImNhcm91c2VsIj09Yi5zbGlkZXJUeXBlJiYib24iPT09Yi5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSYmalF1ZXJ5LmVhY2goYi5saSxmdW5jdGlvbihhKXtfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmpRdWVyeShiLmxpW2FdKSxvcHQ6YixyZWNhbGw6ITB9KX0pfSwxMDApLGIubGFzdGNvbnc9Yi5jb253KSxfUi5tYW5hZ2VOYXZpZ2F0aW9uJiZfUi5tYW5hZ2VOYXZpZ2F0aW9uKGIpLF9SLmFuaW1hdGVUaGVDYXB0aW9ucyYmYS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikubGVuZ3RoPjAmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksb3B0OmIscmVjYWxsOiEwfSksIm9uIj09ZC5kYXRhKCJrZW5idXJucyIpJiZfUi5zdGFydEtlbkJ1cm4oZCxiLGQuZGF0YSgia2J0bCIpIT09dW5kZWZpbmVkP2QuZGF0YSgia2J0bCIpLnByb2dyZXNzKCk6MCksIm9uIj09Yy5kYXRhKCJrZW5idXJucyIpJiZfUi5zdGFydEtlbkJ1cm4oYyxiLGMuZGF0YSgia2J0bCIpIT09dW5kZWZpbmVkP2MuZGF0YSgia2J0bCIpLnByb2dyZXNzKCk6MCksX1IuYW5pbWF0ZVRoZUNhcHRpb25zJiZhLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIikubGVuZ3RoPjAmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6YS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLG9wdDpiLHJlY2FsbDohMH0pLF9SLm1hbmFnZU5hdmlnYXRpb24mJl9SLm1hbmFnZU5hdmlnYXRpb24oYil9YS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLmFmdGVyZHJhdyIpfSxzZXRTY2FsZT1mdW5jdGlvbihhKXthLmJ3PWEud2lkdGgvYS5ncmlkd2lkdGhbYS5jdXJXaW5SYW5nZV0sYS5iaD1hLmhlaWdodC9hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0sYS5iaD5hLmJ3P2EuYmg9YS5idzphLmJ3PWEuYmgsKGEuYmg+MXx8YS5idz4xKSYmKGEuYnc9MSxhLmJoPTEpfSxwcmVwYXJlU2xpZGVzPWZ1bmN0aW9uKGEsYil7aWYoYS5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5kYXRhKCJ0cmFuc2l0aW9uIikhPT11bmRlZmluZWQmJmEuYWRkQ2xhc3MoYS5kYXRhKCJ0cmFuc2l0aW9uIikpfSksYi51bC5jc3Moe292ZXJmbG93OiJoaWRkZW4iLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG1heEhlaWdodDphLnBhcmVudCgpLmNzcygibWF4SGVpZ2h0Iil9KSwib24iPT1iLmF1dG9IZWlnaHQmJihiLnVsLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsbWF4SGVpZ2h0OiJub25lIn0pLGEuY3NzKHttYXhIZWlnaHQ6Im5vbmUifSksYS5wYXJlbnQoKS5jc3Moe21heEhlaWdodDoibm9uZSJ9KSksYi5hbGxsaS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBjPWpRdWVyeSh0aGlzKSxkPWMuZGF0YSgib3JpZ2luYWxpbmRleCIpOyhiLnN0YXJ0V2l0aFNsaWRlIT11bmRlZmluZWQmJmQ9PWIuc3RhcnRXaXRoU2xpZGV8fGIuc3RhcnRXaXRoU2xpZGU9PT11bmRlZmluZWQmJjA9PWEpJiZjLmFkZENsYXNzKCJuZXh0LXJldnNsaWRlIiksYy5jc3Moe3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4ifSl9KSwiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlKXtiLnVsLmNzcyh7b3ZlcmZsb3c6InZpc2libGUifSkud3JhcCgnPGRpdiBjbGFzcz0idHAtY2Fyb3VzZWwtd3JhcHBlciIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDtvdmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKTt2YXIgYz0nPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjFweDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOi0xcHgiPjwvZGl2Pic7Yi5jLnBhcmVudCgpLnByZXBlbmQoYyksYi5jLnBhcmVudCgpLmFwcGVuZChjKSxfUi5wcmVwYXJlQ2Fyb3VzZWwoYil9YS5wYXJlbnQoKS5jc3Moe292ZXJmbG93OiJ2aXNpYmxlIn0pLGIuYWxsbGkuZmluZCgiPmltZyIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGM9alF1ZXJ5KHRoaXMpLGQ9Yy5jbG9zZXN0KCJsaSIpLGU9ZC5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpO2UuYWRkQ2xhc3MoImRlZmF1bHR2aWQiKS5jc3Moe3pJbmRleDozMH0pLGMuYWRkQ2xhc3MoImRlZmF1bHRpbWciKSwib24iPT1iLmZhbGxiYWNrcy5wYW5ab29tRGlzYWJsZU9uTW9iaWxlJiZfSVNNJiYoYy5kYXRhKCJrZW5idXJucyIsIm9mZiIpLGMuZGF0YSgiYmdmaXQiLCJjb3ZlciIpKTt2YXIgZj1kLmRhdGEoIm1lZGlhZmlsdGVyIik7Zj0ibm9uZSI9PT1mfHxmPT09dW5kZWZpbmVkPyIiOmYsYy53cmFwKCc8ZGl2IGNsYXNzPSJzbG90aG9sZGVyIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDowcHg7IGxlZnQ6MHB4OyB6LWluZGV4OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsiPjwvZGl2PicpLGUuYXBwZW5kVG8oZC5maW5kKCIuc2xvdGhvbGRlciIpKTt2YXIgZz1jLmRhdGEoKTtjLmNsb3Nlc3QoIi5zbG90aG9sZGVyIikuZGF0YShnKSxlLmxlbmd0aD4wJiZnLmJncGFyYWxsYXghPXVuZGVmaW5lZCYmKGUuZGF0YSgiYmdwYXJhbGxheCIsZy5iZ3BhcmFsbGF4KSxlLmRhdGEoInNob3djb3Zlcm9ucGF1c2UiLCJvbiIpKSwibm9uZSIhPWIuZG90dGVkT3ZlcmxheSYmYi5kb3R0ZWRPdmVybGF5IT11bmRlZmluZWQmJmMuY2xvc2VzdCgiLnNsb3Rob2xkZXIiKS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLWRvdHRlZG92ZXJsYXkgJytiLmRvdHRlZE92ZXJsYXkrJyI+PC9kaXY+Jyk7dmFyIGg9Yy5hdHRyKCJzcmMiKTtnLnNyYz1oLGcuYmdmaXQ9Zy5iZ2ZpdHx8ImNvdmVyIixnLmJncmVwZWF0PWcuYmdyZXBlYXR8fCJuby1yZXBlYXQiLGcuYmdwb3NpdGlvbj1nLmJncG9zaXRpb258fCJjZW50ZXIgY2VudGVyIjt2YXIgaj0oYy5jbG9zZXN0KCIuc2xvdGhvbGRlciIpLGMuZGF0YSgiYmdjb2xvciIpKSxrPSIiO2s9aiE9PXVuZGVmaW5lZCYmai5pbmRleE9mKCJncmFkaWVudCIpPj0wPyciYmFja2dyb3VuZDonK2orJzt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyInOiciYmFja2dyb3VuZC1jb2xvcjonK2orIjtiYWNrZ3JvdW5kLXJlcGVhdDoiK2cuYmdyZXBlYXQrIjtiYWNrZ3JvdW5kLWltYWdlOnVybCgiK2grIik7YmFja2dyb3VuZC1zaXplOiIrZy5iZ2ZpdCsiO2JhY2tncm91bmQtcG9zaXRpb246IitnLmJncG9zaXRpb24rJzt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyInLGMuZGF0YSgibWVkaWFmaWx0ZXIiLGYpLGY9Im9uIj09PWMuZGF0YSgia2VuYnVybnMiKT8iIjpmO3ZhciBsPWpRdWVyeSgnPGRpdiBjbGFzcz0idHAtYmdpbWcgZGVmYXVsdGltZyAnK2YrJyIgZGF0YS1iZ2NvbG9yPSInK2orJyIgc3R5bGU9JytrKyI+PC9kaXY+Iik7Yy5wYXJlbnQoKS5hcHBlbmQobCk7dmFyIG09ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiUnVudGltZSBNb2RpZmljYXRpb24gLSBJbWcgdGFnIGlzIFN0aWxsIEF2YWlsYWJsZSBmb3IgU0VPIEdvYWxzIGluIFNvdXJjZSAtICIrYy5nZXQoMCkub3V0ZXJIVE1MKTtjLnJlcGxhY2VXaXRoKG0pLGwuZGF0YShnKSxsLmF0dHIoInNyYyIsaCksInN0YW5kYXJkIiE9PWIuc2xpZGVyVHlwZSYmInVuZGVmaW5lZCIhPT1iLnNsaWRlclR5cGV8fGwuY3NzKHtvcGFjaXR5OjB9KX0pLGIuc2Nyb2xsZWZmZWN0Lm9uJiYib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fc2xpZGViZyYmKGIuYWxsc2xvdGhvbGRlcj1uZXcgQXJyYXksYi5hbGxsaS5maW5kKCIuc2xvdGhvbGRlciIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykud3JhcCgnPGRpdiBzdHlsZT0iZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiIGNsYXNzPSJzbG90aG9sZGVyX2ZhZGVvdXR3cmFwIj48L2Rpdj4nKX0pLGIuYWxsc2xvdGhvbGRlcj1iLmMuZmluZCgiLnNsb3Rob2xkZXJfZmFkZW91dHdyYXAiKSl9LHJlbW92ZVNsb3RzPWZ1bmN0aW9uKGEsYixjLGQpe2IucmVtb3ZlUHJlcGFyZT1iLnJlbW92ZVByZXBhcmUrZCxjLmZpbmQoIi5zbG90LCAuc2xvdC1jaXJjbGUtd3JhcHBlciIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVtb3ZlKCl9KSxiLnRyYW5zaXRpb249MCxiLnJlbW92ZVByZXBhcmU9MH0sY3V0UGFyYW1zPWZ1bmN0aW9uKGEpe3ZhciBiPWE7cmV0dXJuIGEhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmKGI9YS5zcGxpdCgiPyIpWzBdKSxifSxyZWxhdGl2ZVJlZGlyPWZ1bmN0aW9uKGEpe3JldHVybiBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC8oLiopXC9bXlwvXSovLCIkMS8iK2EpfSxhYnN0b3JlbD1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc3BsaXQoIi8iKSxkPWIuc3BsaXQoIi8iKTtjLnBvcCgpO2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKSIuIiE9ZFtlXSYmKCIuLiI9PWRbZV0/Yy5wb3AoKTpjLnB1c2goZFtlXSkpO3JldHVybiBjLmpvaW4oIi8iKX0saW1nTG9hZGVkPWZ1bmN0aW9uKGEsYixjKXtiLnN5bmNsb2FkLS0sYi5sb2FkcXVldWUmJmpRdWVyeS5lYWNoKGIubG9hZHF1ZXVlLGZ1bmN0aW9uKGIsZCl7dmFyIGU9ZC5zcmMucmVwbGFjZSgvXC5cLlwvXC5cLlwvL2dpLCIiKSxmPXNlbGYubG9jYXRpb24uaHJlZixnPWRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbixoPWYuc3Vic3RyaW5nKDAsZi5sZW5ndGgtMSkrIi8iK2UsaT1nKyIvIitlLGo9YWJzdG9yZWwoc2VsZi5sb2NhdGlvbi5ocmVmLGQuc3JjKTtmPWYuc3Vic3RyaW5nKDAsZi5sZW5ndGgtMSkrZSxnKz1lLChjdXRQYXJhbXMoZyk9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSl8fGN1dFBhcmFtcyhmKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGopPT09Y3V0UGFyYW1zKGRlY29kZVVSSUNvbXBvbmVudChhLnNyYykpfHxjdXRQYXJhbXMoaSk9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSl8fGN1dFBhcmFtcyhoKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGQuc3JjKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGQuc3JjKS5yZXBsYWNlKC9eLipcL1wvW15cL10rLywiIik9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSkucmVwbGFjZSgvXi4qXC9cL1teXC9dKy8sIiIpfHwiZmlsZTovLyI9PT13aW5kb3cubG9jYXRpb24ub3JpZ2luJiZjdXRQYXJhbXMoYS5zcmMpLm1hdGNoKG5ldyBSZWdFeHAoZSkpKSYmKGQucHJvZ3Jlc3M9YyxkLndpZHRoPWEud2lkdGgsZC5oZWlnaHQ9YS5oZWlnaHQpfSkscHJvZ3Jlc3NJbWFnZUxvYWQoYil9LHByb2dyZXNzSW1hZ2VMb2FkPWZ1bmN0aW9uKGEpezMhPWEuc3luY2xvYWQmJmEubG9hZHF1ZXVlJiZqUXVlcnkuZWFjaChhLmxvYWRxdWV1ZSxmdW5jdGlvbihiLGMpe2lmKGMucHJvZ3Jlc3MubWF0Y2goL3ByZXBhcmVkL2cpJiZhLnN5bmNsb2FkPD0zKXtpZihhLnN5bmNsb2FkKyssImltZyI9PWMudHlwZSl7dmFyIGQ9bmV3IEltYWdlO2Qub25sb2FkPWZ1bmN0aW9uKCl7aW1nTG9hZGVkKHRoaXMsYSwibG9hZGVkIiksYy5lcnJvcj0hMX0sZC5vbmVycm9yPWZ1bmN0aW9uKCl7aW1nTG9hZGVkKHRoaXMsYSwiZmFpbGVkIiksYy5lcnJvcj0hMH0sZC5zcmM9Yy5zcmN9ZWxzZSBqUXVlcnkuZ2V0KGMuc3JjLGZ1bmN0aW9uKGIpe2MuaW5uZXJIVE1MPShuZXcgWE1MU2VyaWFsaXplcikuc2VyaWFsaXplVG9TdHJpbmcoYi5kb2N1bWVudEVsZW1lbnQpLGMucHJvZ3Jlc3M9ImxvYWRlZCIsYS5zeW5jbG9hZC0tLHByb2dyZXNzSW1hZ2VMb2FkKGEpfSkuZmFpbChmdW5jdGlvbigpe2MucHJvZ3Jlc3M9ImZhaWxlZCIsYS5zeW5jbG9hZC0tLHByb2dyZXNzSW1hZ2VMb2FkKGEpfSk7Yy5wcm9ncmVzcz0iaW5sb2FkIn19KX0sYWRkVG9Mb2FkUXVldWU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtpZihiLmxvYWRxdWV1ZSYmalF1ZXJ5LmVhY2goYi5sb2FkcXVldWUsZnVuY3Rpb24oYixjKXtjLnNyYz09PWEmJihmPSEwKX0pLCFmKXt2YXIgZz1uZXcgT2JqZWN0O2cuc3JjPWEsZy5zdGFydHRvbG9hZD1qUXVlcnkubm93KCksZy50eXBlPWR8fCJpbWciLGcucHJpbz1jLGcucHJvZ3Jlc3M9InByZXBhcmVkIixnLnN0YXRpYz1lLGIubG9hZHF1ZXVlLnB1c2goZyl9fSxsb2FkSW1hZ2VzPWZ1bmN0aW9uKGEsYixjLGQpe2EuZmluZCgiaW1nLC5kZWZhdWx0aW1nLCAudHAtc3ZnLWxheWVyIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxlPWEuZGF0YSgibGF6eWxvYWQiKSE9PXVuZGVmaW5lZCYmInVuZGVmaW5lZCIhPT1hLmRhdGEoImxhenlsb2FkIik/YS5kYXRhKCJsYXp5bG9hZCIpOmEuZGF0YSgic3ZnX3NyYyIpIT11bmRlZmluZWQ/YS5kYXRhKCJzdmdfc3JjIik6YS5hdHRyKCJzcmMiKSxmPWEuZGF0YSgic3ZnX3NyYyIpIT11bmRlZmluZWQ/InN2ZyI6ImltZyI7YS5kYXRhKCJzdGFydC10by1sb2FkIixqUXVlcnkubm93KCkpLGFkZFRvTG9hZFF1ZXVlKGUsYixjLGYsZCl9KSxwcm9ncmVzc0ltYWdlTG9hZChiKX0sZ2V0TG9hZE9iaj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBPYmplY3Q7cmV0dXJuIGEubG9hZHF1ZXVlJiZqUXVlcnkuZWFjaChhLmxvYWRxdWV1ZSxmdW5jdGlvbihhLGQpe2Quc3JjPT1iJiYoYz1kKX0pLGN9LHdhaXRGb3JDdXJyZW50SW1hZ2VzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTthLmZpbmQoImltZywuZGVmYXVsdGltZywgLnRwLXN2Zy1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1qUXVlcnkodGhpcyksZT1jLmRhdGEoImxhenlsb2FkIikhPXVuZGVmaW5lZD9jLmRhdGEoImxhenlsb2FkIik6Yy5kYXRhKCJzdmdfc3JjIikhPXVuZGVmaW5lZD9jLmRhdGEoInN2Z19zcmMiKTpjLmF0dHIoInNyYyIpLGY9Z2V0TG9hZE9iaihiLGUpO2lmKGMuZGF0YSgibG9hZGVkIik9PT11bmRlZmluZWQmJmYhPT11bmRlZmluZWQmJmYucHJvZ3Jlc3MmJmYucHJvZ3Jlc3MubWF0Y2goL2xvYWRlZC9nKSl7aWYoYy5hdHRyKCJzcmMiLGYuc3JjKSwiaW1nIj09Zi50eXBlKWlmKGMuaGFzQ2xhc3MoImRlZmF1bHRpbWciKSlfUi5pc0lFKDgpP2RlZmltZy5hdHRyKCJzcmMiLGYuc3JjKTotMT09Zi5zcmMuaW5kZXhPZigiaW1hZ2VzL3RyYW5zcGFyZW50LnBuZyIpJiYtMT09Zi5zcmMuaW5kZXhPZigiYXNzZXRzL3RyYW5zcGFyZW50LnBuZyIpfHxjLmRhdGEoImJnY29sb3IiKT09PXVuZGVmaW5lZD9jLmNzcyh7YmFja2dyb3VuZEltYWdlOid1cmwoIicrZi5zcmMrJyIpJ30pOmMuZGF0YSgiYmdjb2xvciIpIT09dW5kZWZpbmVkJiZjLmNzcyh7YmFja2dyb3VuZDpjLmRhdGEoImJnY29sb3IiKX0pLGEuZGF0YSgib3dpZHRoIixmLndpZHRoKSxhLmRhdGEoIm9oZWlnaHQiLGYuaGVpZ2h0KSxhLmZpbmQoIi5zbG90aG9sZGVyIikuZGF0YSgib3dpZHRoIixmLndpZHRoKSxhLmZpbmQoIi5zbG90aG9sZGVyIikuZGF0YSgib2hlaWdodCIsZi5oZWlnaHQpO2Vsc2V7dmFyIGc9Yy5kYXRhKCJ3dyIpLGg9Yy5kYXRhKCJoaCIpO2MuZGF0YSgib3dpZHRoIixmLndpZHRoKSxjLmRhdGEoIm9oZWlnaHQiLGYuaGVpZ2h0KSxnPWc9PXVuZGVmaW5lZHx8ImF1dG8iPT1nfHwiIj09Zz9mLndpZHRoOmcsaD1oPT11bmRlZmluZWR8fCJhdXRvIj09aHx8IiI9PWg/Zi5oZWlnaHQ6aCwhalF1ZXJ5LmlzTnVtZXJpYyhnKSYmZy5pbmRleE9mKCIlIik+MCYmKGg9ZyksYy5kYXRhKCJ3dyIsZyksYy5kYXRhKCJoaCIsaCl9ZWxzZSJzdmciPT1mLnR5cGUmJiJsb2FkZWQiPT1mLnByb2dyZXNzJiYoYy5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLXN2Zy1pbm5lcmNvbnRhaW5lciI+PC9kaXY+JyksYy5maW5kKCIudHAtc3ZnLWlubmVyY29udGFpbmVyIikuYXBwZW5kKGYuaW5uZXJIVE1MKSk7Yy5kYXRhKCJsb2FkZWQiLCEwKX1pZihmJiZmLnByb2dyZXNzJiZmLnByb2dyZXNzLm1hdGNoKC9pbnByb2dyZXNzfGlubG9hZHxwcmVwYXJlZC9nKSYmKCFmLmVycm9yJiZqUXVlcnkubm93KCktYy5kYXRhKCJzdGFydC10by1sb2FkIik8NWUzP2Q9ITA6KGYucHJvZ3Jlc3M9ImZhaWxlZCIsZi5yZXBvcnRlZF9pbWd8fChmLnJlcG9ydGVkX2ltZz0hMCxjb25zb2xlLndhcm4oZSsiICBDb3VsZCBub3QgYmUgbG9hZGVkICEiKSkpKSwxPT1iLnlvdXR1YmVhcGluZWVkZWQmJighd2luZG93LllUfHxZVC5QbGF5ZXI9PXVuZGVmaW5lZCkmJihkPSEwLGpRdWVyeS5ub3coKS1iLnlvdXR1YmVzdGFydHRpbWU+NWUzJiYxIT1iLnlvdXR1YmV3YXJuaW5nKSl7Yi55b3V0dWJld2FybmluZz0hMDt2YXIgaT0iWW91VHViZSBBcGkgQ291bGQgbm90IGJlIGxvYWRlZCAhIjsiaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sJiYoaSs9IiBQbGVhc2UgQ2hlY2sgYW5kIFJlbmV3IFNTTCBDZXJ0aWZpY2F0ZSAhIiksY29uc29sZS5lcnJvcihpKSxiLmMuYXBwZW5kKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7Y29sb3I6I2U3NGMzYzsgIGZvbnQtc2l6ZToxNnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxNXB4O2JhY2tncm91bmQ6IzAwMDsgZGlzcGxheTpibG9jazsiPjxzdHJvbmc+JytpKyI8L3N0cm9uZz48L2Rpdj4iKX1pZigxPT1iLnZpbWVvYXBpbmVlZGVkJiYhd2luZG93LkZyb29nYWxvb3AmJihkPSEwLGpRdWVyeS5ub3coKS1iLnZpbWVvc3RhcnR0aW1lPjVlMyYmMSE9Yi52aW1lb3dhcm5pbmcpKXtiLnZpbWVvd2FybmluZz0hMDt2YXIgaT0iVmltZW8gRnJvb2dhbG9vcCBBcGkgQ291bGQgbm90IGJlIGxvYWRlZCAhIjsiaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sJiYoaSs9IiBQbGVhc2UgQ2hlY2sgYW5kIFJlbmV3IFNTTCBDZXJ0aWZpY2F0ZSAhIiksY29uc29sZS5lcnJvcihpKSxiLmMuYXBwZW5kKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7Y29sb3I6I2U3NGMzYzsgIGZvbnQtc2l6ZToxNnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxNXB4O2JhY2tncm91bmQ6IzAwMDsgZGlzcGxheTpibG9jazsiPjxzdHJvbmc+JytpKyI8L3N0cm9uZz48L2Rpdj4iKX19KSwhX0lTTSYmYi5hdWRpb3F1ZXVlJiZiLmF1ZGlvcXVldWUubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGIuYXVkaW9xdWV1ZSxmdW5jdGlvbihhLGIpe2Iuc3RhdHVzJiYicHJlcGFyZWQiPT09Yi5zdGF0dXMmJmpRdWVyeS5ub3coKS1iLnN0YXJ0PGIud2FpdHRpbWUmJihkPSEwKX0pLGpRdWVyeS5lYWNoKGIubG9hZHF1ZXVlLGZ1bmN0aW9uKGEsYil7ITAhPT1iLnN0YXRpY3x8ImxvYWRlZCI9PWIucHJvZ3Jlc3MmJiJmYWlsZWQiIT09Yi5wcm9ncmVzc3x8KCJmYWlsZWQiPT1iLnByb2dyZXNzP2IucmVwb3J0ZWR8fChiLnJlcG9ydGVkPSEwLGNvbnNvbGUud2FybigiU3RhdGljIEltYWdlICIrYi5zcmMrIiAgQ291bGQgbm90IGJlIGxvYWRlZCBpbiB0aW1lLiBFcnJvciBFeGlzdHM6IitiLmVycm9yKSk6IWIuZXJyb3ImJmpRdWVyeS5ub3coKS1iLnN0YXJ0dG9sb2FkPDVlMz9kPSEwOmIucmVwb3J0ZWR8fChiLnJlcG9ydGVkPSEwLGNvbnNvbGUud2FybigiU3RhdGljIEltYWdlICIrYi5zcmMrIiAgQ291bGQgbm90IGJlIGxvYWRlZCB3aXRoaW4gNXMhIEVycm9yIEV4aXN0czoiK2IuZXJyb3IpKSl9KSxkP3B1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKC4xOCx3YWl0Rm9yQ3VycmVudEltYWdlcyxbYSxiLGNdKTpwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbCguMTgsYyl9LHN3YXBTbGlkZT1mdW5jdGlvbihhKXt2YXIgYj1hWzBdLm9wdDtpZihjbGVhclRpbWVvdXQoYi53YWl0V2l0aFN3YXBTbGlkZSksYS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aD4wKXJldHVybiBiLndhaXRXaXRoU3dhcFNsaWRlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtzd2FwU2xpZGUoYSl9LDE1MCksITE7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksZD1hLmZpbmQoIi5uZXh0LXJldnNsaWRlIiksZT1kLmZpbmQoIi5kZWZhdWx0aW1nIik7aWYoImNhcm91c2VsIiE9PWIuc2xpZGVyVHlwZXx8Yi5jYXJvdXNlbC5mYWRlaW58fChwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLnVsLDEse29wYWNpdHk6MX0pLGIuY2Fyb3VzZWwuZmFkZWluPSEwKSxkLmluZGV4KCk9PT1jLmluZGV4KCkmJiEwIT09Yi5vbmx5UHJlcGFyZWRTbGlkZSlyZXR1cm4gZC5yZW1vdmVDbGFzcygibmV4dC1yZXZzbGlkZSIpLCExOyEwPT09Yi5vbmx5UHJlcGFyZWRTbGlkZSYmKGIub25seVByZXBhcmVkU2xpZGU9ITEsalF1ZXJ5KGIubGlbMF0pLmFkZENsYXNzKCJwcm9jZXNzaW5nLXJldnNsaWRlIikpLGQucmVtb3ZlQ2xhc3MoIm5leHQtcmV2c2xpZGUiKS5hZGRDbGFzcygicHJvY2Vzc2luZy1yZXZzbGlkZSIpLC0xPT09ZC5pbmRleCgpJiYiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlJiYoZD1qUXVlcnkoYi5saVswXSkpLGQuZGF0YSgic2xpZGVfb25fZm9jdXNfYW1vdW50IixkLmRhdGEoInNsaWRlX29uX2ZvY3VzX2Ftb3VudCIpKzF8fDEpLCJvbiI9PWIuc3RvcExvb3AmJmQuaW5kZXgoKT09Yi5sYXN0c2xpZGV0b3Nob3ctMSYmKGEuZmluZCgiLnRwLWJhbm5lcnRpbWVyIikuY3NzKHt2aXNpYmlsaXR5OiJoaWRkZW4ifSksYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9uc3RvcCIpLGIubm9sb29wYW55bW9yZT0xKSxkLmluZGV4KCk9PT1iLnNsaWRlYW1vdW50LTEmJihiLmxvb3B0b2dvPWIubG9vcHRvZ28tMSxiLmxvb3B0b2dvPD0wJiYoYi5zdG9wTG9vcD0ib24iKSksYi50b25wYXVzZT0hMCxhLnRyaWdnZXIoInN0b3B0aW1lciIpLGIuY2Q9MCwib2ZmIj09PWIuc3Bpbm5lciYmKGIubG9hZGVyIT09dW5kZWZpbmVkP2IubG9hZGVyLmNzcyh7ZGlzcGxheToibm9uZSJ9KTpiLmxvYWRlcnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmxvYWRlciE9PXVuZGVmaW5lZCYmYi5sb2FkZXIuY3NzKHtkaXNwbGF5OiJibG9jayJ9KX0sNTApKSxsb2FkSW1hZ2VzKGQsYiwxKSxfUi5wcmVMb2FkQXVkaW8mJl9SLnByZUxvYWRBdWRpbyhkLGIsMSksd2FpdEZvckN1cnJlbnRJbWFnZXMoZCxiLGZ1bmN0aW9uKCl7ZC5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5oYXNDbGFzcygiSGFzTGlzdGVuZXIiKXx8KGEuZGF0YSgiYmd2aWRlbyIsMSksX1IubWFuYWdlVmlkZW9MYXllciYmX1IubWFuYWdlVmlkZW9MYXllcihhLGIpKSwwPT1hLmZpbmQoIi5ycy1mdWxsdmlkZW8tY292ZXIiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJycy1mdWxsdmlkZW8tY292ZXIiPjwvZGl2PicpfSksc3dhcFNsaWRlUHJvZ3Jlc3MoZSxhKX0pfSxzd2FwU2xpZGVQcm9ncmVzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLGQ9Yi5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLGU9Yy5maW5kKCIuc2xvdGhvbGRlciIpLGY9ZC5maW5kKCIuc2xvdGhvbGRlciIpLGc9YlswXS5vcHQ7Zy50b25wYXVzZT0hMSxnLmNkPTAsY2xlYXJUaW1lb3V0KGcubG9hZGVydGltZXIpLGcubG9hZGVyIT09dW5kZWZpbmVkJiZnLmxvYWRlci5jc3Moe2Rpc3BsYXk6Im5vbmUifSksX1Iuc2V0U2l6ZShnKSxfUi5zbG90U2l6ZShhLGcpLF9SLm1hbmFnZU5hdmlnYXRpb24mJl9SLm1hbmFnZU5hdmlnYXRpb24oZyk7dmFyIGg9e307aC5uZXh0c2xpZGU9ZCxoLmN1cnJlbnRzbGlkZT1jLGIudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbmJlZm9yZXN3YXAiLGgpLGcudHJhbnNpdGlvbj0xLGcudmlkZW9wbGF5aW5nPSExLGQuZGF0YSgiZGVsYXkiKSE9dW5kZWZpbmVkPyhnLmNkPTAsZy5kZWxheT1kLmRhdGEoImRlbGF5IikpOmcuZGVsYXk9Zy5vcmlnY2QsInRydWUiPT1kLmRhdGEoInNzb3AiKXx8ITA9PT1kLmRhdGEoInNzb3AiKT9nLnNzb3A9ITA6Zy5zc29wPSExLGIudHJpZ2dlcigibnVsbHRpbWVyIik7dmFyIGk9Yy5pbmRleCgpLGo9ZC5pbmRleCgpO2cuc2Rpcj1qPGk/MTowLCJhcnJvdyI9PWcuc2NfaW5kaWNhdG9yJiYoMD09aSYmaj09Zy5zbGlkZWFtb3VudC0xJiYoZy5zZGlyPTEpLGk9PWcuc2xpZGVhbW91bnQtMSYmMD09aiYmKGcuc2Rpcj0wKSksZy5sc2Rpcj1nLmxzZGlyPT09dW5kZWZpbmVkP2cuc2RpcjpnLmxzZGlyLGcuZGlyYz1nLmxzZGlyIT1nLnNkaXIsZy5sc2Rpcj1nLnNkaXIsYy5pbmRleCgpIT1kLmluZGV4KCkmJjEhPWcuZmlyc3RzdGFydCYmX1IucmVtb3ZlVGhlQ2FwdGlvbnMmJl9SLnJlbW92ZVRoZUNhcHRpb25zKGMsZyksZC5oYXNDbGFzcygicnMtcGF1c2UtdGltZXItb25jZSIpfHxkLmhhc0NsYXNzKCJycy1wYXVzZS10aW1lci1hbHdheXMiKT9nLnZpZGVvcGxheWluZz0hMDpiLnRyaWdnZXIoInJlc3RhcnR0aW1lciIpLGQucmVtb3ZlQ2xhc3MoInJzLXBhdXNlLXRpbWVyLW9uY2UiKTt2YXIgayxtO2lmKGcuY3VycmVudFNsaWRlPWMuaW5kZXgoKSxnLm5leHRTbGlkZT1kLmluZGV4KCksImNhcm91c2VsIj09Zy5zbGlkZXJUeXBlKW09bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLF9SLnByZXBhcmVDYXJvdXNlbChnLG0pLGxldEl0RnJlZShiLGYsZSxkLGMsbSksZy50cmFuc2l0aW9uPTAsZy5maXJzdHN0YXJ0PTA7ZWxzZXttPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7b25Db21wbGV0ZTpmdW5jdGlvbigpe2xldEl0RnJlZShiLGYsZSxkLGMsbSl9fSksbS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGYuZmluZCgiLmRlZmF1bHRpbWciKSx7b3BhY2l0eTowfSkpLG0ucGF1c2UoKSxfUi5hbmltYXRlVGhlQ2FwdGlvbnMmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6ZCxvcHQ6ZyxwcmVzZXQ6ITB9KSwxPT1nLmZpcnN0c3RhcnQmJihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7YXV0b0FscGhhOjB9KSxnLmZpcnN0c3RhcnQ9MCkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3pJbmRleDoxOH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLHthdXRvQWxwaGE6MCx6SW5kZXg6MjB9KSwicHJlcGFyZWQiPT1kLmRhdGEoImRpZmZlcmVudGlzc3BsYXllZCIpJiYoZC5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiLCJkb25lIiksZC5kYXRhKCJ0cmFuc2l0aW9uIixkLmRhdGEoInNhdmVkdHJhbnNpdGlvbiIpKSxkLmRhdGEoInNsb3RhbW91bnQiLGQuZGF0YSgic2F2ZWRzbG90YW1vdW50IikpLGQuZGF0YSgibWFzdGVyc3BlZWQiLGQuZGF0YSgic2F2ZWRtYXN0ZXJzcGVlZCIpKSksZC5kYXRhKCJmc3RyYW5zaXRpb24iKSE9dW5kZWZpbmVkJiYiZG9uZSIhPWQuZGF0YSgiZGlmZmVyZW50aXNzcGxheWVkIikmJihkLmRhdGEoInNhdmVkdHJhbnNpdGlvbiIsZC5kYXRhKCJ0cmFuc2l0aW9uIikpLGQuZGF0YSgic2F2ZWRzbG90YW1vdW50IixkLmRhdGEoInNsb3RhbW91bnQiKSksZC5kYXRhKCJzYXZlZG1hc3RlcnNwZWVkIixkLmRhdGEoIm1hc3RlcnNwZWVkIikpLGQuZGF0YSgidHJhbnNpdGlvbiIsZC5kYXRhKCJmc3RyYW5zaXRpb24iKSksZC5kYXRhKCJzbG90YW1vdW50IixkLmRhdGEoImZzc2xvdGFtb3VudCIpKSxkLmRhdGEoIm1hc3RlcnNwZWVkIixkLmRhdGEoImZzbWFzdGVyc3BlZWQiKSksZC5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiLCJwcmVwYXJlZCIpKSxkLmRhdGEoInRyYW5zaXRpb24iKT09dW5kZWZpbmVkJiZkLmRhdGEoInRyYW5zaXRpb24iLCJyYW5kb20iKSxrPTA7dmFyIG49ZC5kYXRhKCJ0cmFuc2l0aW9uIikhPT11bmRlZmluZWQ/ZC5kYXRhKCJ0cmFuc2l0aW9uIikuc3BsaXQoIiwiKToiZmFkZSIsbz1kLmRhdGEoIm5leHR0cmFuc2lkIik9PXVuZGVmaW5lZD8tMTpkLmRhdGEoIm5leHR0cmFuc2lkIik7Im9uIj09ZC5kYXRhKCJyYW5kb210cmFuc2l0aW9uIik/bz1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqbi5sZW5ndGgpOm8rPTEsbz09bi5sZW5ndGgmJihvPTApLGQuZGF0YSgibmV4dHRyYW5zaWQiLG8pO3ZhciBwPW5bb107Zy5pZSYmKCJib3hmYWRlIj09cCYmKHA9ImJveHNsaWRlIiksInNsb3RmYWRlLXZlcnRpY2FsIj09cCYmKHA9InNsb3R6b29tLXZlcnRpY2FsIiksInNsb3RmYWRlLWhvcml6b250YWwiPT1wJiYocD0ic2xvdHpvb20taG9yaXpvbnRhbCIpKSxfUi5pc0lFKDgpJiYocD0xMSksbT1fUi5hbmltYXRlU2xpZGUoayxwLGIsZCxjLGYsZSxtKSwib24iPT1mLmRhdGEoImtlbmJ1cm5zIikmJihfUi5zdGFydEtlbkJ1cm4oZixnKSxtLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZix7YXV0b0FscGhhOjB9KSkpLG0ucGF1c2UoKX1fUi5zY3JvbGxIYW5kbGluZyYmKF9SLnNjcm9sbEhhbmRsaW5nKGcsITAsMCksbS5ldmVudENhbGxiYWNrKCJvblVwZGF0ZSIsZnVuY3Rpb24oKXtfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSkpLCJvZmYiIT1nLnBhcmFsbGF4LnR5cGUmJmcucGFyYWxsYXguZmlyc3Rnbz09dW5kZWZpbmVkJiZfUi5zY3JvbGxIYW5kbGluZyYmKGcucGFyYWxsYXguZmlyc3Rnbz0hMCxnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSwyMTApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSw0MjApKSxfUi5hbmltYXRlVGhlQ2FwdGlvbnM/ImNhcm91c2VsIj09PWcuc2xpZGVyVHlwZSYmIm9uIj09PWcuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWU/KGpRdWVyeS5lYWNoKGcubGksZnVuY3Rpb24oYSl7Zy5jYXJvdXNlbC5hbGxMYXllcnNTdGFydGVkP19SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG9wdDpnLHJlY2FsbDohMH0pOmcubGlbYV09PT1kP19SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG1haW50aW1lbGluZTptLG9wdDpnLHN0YXJ0c2xpZGVhbmltYXQ6MH0pOl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG9wdDpnLHN0YXJ0c2xpZGVhbmltYXQ6MH0pfSksZy5jYXJvdXNlbC5hbGxMYXllcnNTdGFydGVkPSEwKTpfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmQsb3B0OmcsbWFpbnRpbWVsaW5lOm0sc3RhcnRzbGlkZWFuaW1hdDowfSk6bSE9dW5kZWZpbmVkJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bS5yZXN1bWUoKX0sMzApLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGQsLjAwMSx7YXV0b0FscGhhOjF9KX0sbGV0SXRGcmVlPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1hWzBdLm9wdDsiY2Fyb3VzZWwiPT09Zy5zbGlkZXJUeXBlfHwoZy5yZW1vdmVQcmVwYXJlPTAscHVuY2hncy5Ud2VlbkxpdGUudG8oYi5maW5kKCIuZGVmYXVsdGltZyIpLC4wMDEse3pJbmRleDoyMCxhdXRvQWxwaGE6MSxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7cmVtb3ZlU2xvdHMoYSxnLGQsMSl9fSksZC5pbmRleCgpIT1lLmluZGV4KCkmJnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsLjIse3pJbmRleDoxOCxhdXRvQWxwaGE6MCxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7cmVtb3ZlU2xvdHMoYSxnLGUsMSl9fSkpLGEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKSxhLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIikucmVtb3ZlQ2xhc3MoInByb2Nlc3NpbmctcmV2c2xpZGUiKS5hZGRDbGFzcygiYWN0aXZlLXJldnNsaWRlIiksZy5hY3Q9ZC5pbmRleCgpLGcuYy5hdHRyKCJkYXRhLXNsaWRlYWN0aXZlIixhLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKS5kYXRhKCJpbmRleCIpKSwic2Nyb2xsIiE9Zy5wYXJhbGxheC50eXBlJiYic2Nyb2xsK21vdXNlIiE9Zy5wYXJhbGxheC50eXBlJiYibW91c2Urc2Nyb2xsIiE9Zy5wYXJhbGxheC50eXBlfHwoZy5sYXN0c2Nyb2xsdG9wPS05OTksX1Iuc2Nyb2xsSGFuZGxpbmcoZykpLGYuY2xlYXIoKSxjLmRhdGEoImtidGwiKSE9dW5kZWZpbmVkJiYoYy5kYXRhKCJrYnRsIikucmV2ZXJzZSgpLGMuZGF0YSgia2J0bCIpLnRpbWVTY2FsZSgyNSkpLCJvbiI9PWIuZGF0YSgia2VuYnVybnMiKSYmKGIuZGF0YSgia2J0bCIpIT11bmRlZmluZWQ/KGIuZGF0YSgia2J0bCIpLnRpbWVTY2FsZSgxKSxiLmRhdGEoImtidGwiKS5wbGF5KCkpOl9SLnN0YXJ0S2VuQnVybihiLGcpKSxkLmZpbmQoIi5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIikuZWFjaChmdW5jdGlvbihhKXtpZihfSVNNJiYhZy5mYWxsYmFja3MuYWxsb3dIVE1MNUF1dG9QbGF5T25BbmRyb2lkKXJldHVybiExO3ZhciBiPWpRdWVyeSh0aGlzKTtfUi5yZXNldFZpZGVvKGIsZykscHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsMSx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dCxkZWxheTouMixvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7X1IuYW5pbWNvbXBsZXRlZCYmX1IuYW5pbWNvbXBsZXRlZChiLGcpfX0pfSksZS5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oYSl7aWYoX0lTTSlyZXR1cm4hMTt2YXIgYj1qUXVlcnkodGhpcyk7X1Iuc3RvcFZpZGVvJiYoX1IucmVzZXRWaWRlbyhiLGcpLF9SLnN0b3BWaWRlbyhiLGcpKSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLDEse2F1dG9BbHBoYTowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0LGRlbGF5Oi4yfSl9KTt2YXIgaD17fTtpZihoLnNsaWRlSW5kZXg9ZC5pbmRleCgpKzEsaC5zbGlkZUxJSW5kZXg9ZC5pbmRleCgpLGguc2xpZGU9ZCxoLmN1cnJlbnRzbGlkZT1kLGgucHJldnNsaWRlPWUsZy5sYXN0X3Nob3duX3NsaWRlPWUuaW5kZXgoKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25jaGFuZ2UiLGgpLGEudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCIsaCksZy5zdGFydFdpdGhTbGlkZSE9PXVuZGVmaW5lZCYmImRvbmUiIT09Zy5zdGFydFdpdGhTbGlkZSYmImNhcm91c2VsIj09PWcuc2xpZGVyVHlwZSl7Zm9yKHZhciBpPWcuc3RhcnRXaXRoU2xpZGUsaj0wO2o8PWcubGkubGVuZ3RoLTE7aisrKXtqUXVlcnkoZy5saVtqXSkuZGF0YSgib3JpZ2luYWxpbmRleCIpPT09Zy5zdGFydFdpdGhTbGlkZSYmKGk9ail9MCE9PWkmJl9SLmNhbGxpbmdOZXdTbGlkZShnLmMsaSksZy5zdGFydFdpdGhTbGlkZT0iZG9uZSJ9Zy5kdXJpbmdzbGlkZWNoYW5nZT0hMTt2YXIgbD1lLmRhdGEoInNsaWRlX29uX2ZvY3VzX2Ftb3VudCIpLG09ZS5kYXRhKCJoaWRlYWZ0ZXJsb29wIik7MCE9bSYmbTw9bCYmZy5jLnJldnJlbW92ZXNsaWRlKGUuaW5kZXgoKSk7dmFyIG49LTE9PT1nLm5leHRTbGlkZXx8Zy5uZXh0U2xpZGU9PT11bmRlZmluZWQ/MDpnLm5leHRTbGlkZTtnLnJvd3pvbmVzIT11bmRlZmluZWQmJihuPW4+Zy5yb3d6b25lcy5sZW5ndGg/Zy5yb3d6b25lcy5sZW5ndGg6biksZy5yb3d6b25lcyE9dW5kZWZpbmVkJiZnLnJvd3pvbmVzLmxlbmd0aD4wJiZnLnJvd3pvbmVzW25dIT11bmRlZmluZWQmJm4+PTAmJm48PWcucm93em9uZXMubGVuZ3RoJiZnLnJvd3pvbmVzW25dLmxlbmd0aD4wJiZfUi5zZXRTaXplKGcpfSxyZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oYSxiKXthLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpe3RyeXtqUXVlcnkodGhpcykuZGllKCJjbGljayIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLmRpZSgibW91c2VlbnRlciIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLmRpZSgibW91c2VsZWF2ZSIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLnVuYmluZCgiaG92ZXIiKX1jYXRjaChhKXt9fSk7dHJ5e2EuZGllKCJjbGljayIsIm1vdXNlZW50ZXIiLCJtb3VzZWxlYXZlIil9Y2F0Y2goYSl7fWNsZWFySW50ZXJ2YWwoYi5jZGludCksYT1udWxsfSxjb3VudERvd249ZnVuY3Rpb24oYSxiKXtiLmNkPTAsYi5sb29wPTAsYi5zdG9wQWZ0ZXJMb29wcyE9dW5kZWZpbmVkJiZiLnN0b3BBZnRlckxvb3BzPi0xP2IubG9vcHRvZ289Yi5zdG9wQWZ0ZXJMb29wczpiLmxvb3B0b2dvPTk5OTk5OTksYi5zdG9wQXRTbGlkZSE9dW5kZWZpbmVkJiZiLnN0b3BBdFNsaWRlPi0xP2IubGFzdHNsaWRldG9zaG93PWIuc3RvcEF0U2xpZGU6Yi5sYXN0c2xpZGV0b3Nob3c9OTk5LGIuc3RvcExvb3A9Im9mZiIsMD09Yi5sb29wdG9nbyYmKGIuc3RvcExvb3A9Im9uIik7dmFyIGM9YS5maW5kKCIudHAtYmFubmVydGltZXIiKTthLm9uKCJzdG9wdGltZXIiLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpO2FbMF0udHdlZW4ucGF1c2UoKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYS5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxiLnNsaWRlcnN0YXR1cz0icGF1c2VkIixfUi51blRvZ2dsZVN0YXRlKGIuc2xpZGVydG9nZ2xlZGJ5KX0pLGEub24oInN0YXJ0dGltZXIiLGZ1bmN0aW9uKCl7Yi5mb3JjZXBhdXNlX3ZpYXRvZ2dsZXx8KDEhPWIuY29udGhvdmVyJiYxIT1iLnZpZGVvcGxheWluZyYmYi53aWR0aD5iLmhpZGVTbGlkZXJBdExpbWl0JiYxIT1iLnRvbnBhdXNlJiYxIT1iLm92ZXJuYXYmJjEhPWIuc3NvcCYmKDE9PT1iLm5vbG9vcGFueW1vcmV8fGIudmlld1BvcnQuZW5hYmxlJiYhYi5pbnZpZXdwb3J0fHwoYy5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSksY1swXS50d2Vlbi5yZXN1bWUoKSxiLnNsaWRlcnN0YXR1cz0icGxheWluZyIpKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYy5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxfUi50b2dnbGVTdGF0ZShiLnNsaWRlcnRvZ2dsZWRieSkpfSksYS5vbigicmVzdGFydHRpbWVyIixmdW5jdGlvbigpe2lmKCFiLmZvcmNlcGF1c2VfdmlhdG9nZ2xlKXt2YXIgYT1qUXVlcnkodGhpcykuZmluZCgiLnRwLWJhbm5lcnRpbWVyIik7aWYoYi5tb3VzZW9uY29udGFpbmVyJiYib24iPT1iLm5hdmlnYXRpb24ub25Ib3ZlclN0b3AmJiFfSVNNKXJldHVybiExOzE9PT1iLm5vbG9vcGFueW1vcmV8fGIudmlld1BvcnQuZW5hYmxlJiYhYi5pbnZpZXdwb3J0fHwxPT1iLnNzb3B8fChhLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSxhWzBdLnR3ZWVuLmtpbGwoKSxhWzBdLnR3ZWVuPXB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGIuZGVsYXkvMWUzLHt3aWR0aDoiMCUifSx7Zm9yY2UzRDoiYXV0byIsd2lkdGg6IjEwMCUiLGVhc2U6cHVuY2hncy5MaW5lYXIuZWFzZU5vbmUsb25Db21wbGV0ZTpkLGRlbGF5OjF9KSxiLnNsaWRlcnN0YXR1cz0icGxheWluZyIpLCJvbiI9PWIuZGlzYWJsZVByb2dyZXNzQmFyJiZhLmNzcyh7dmlzaWJpbGl0eToiaGlkZGVuIn0pLF9SLnRvZ2dsZVN0YXRlKGIuc2xpZGVydG9nZ2xlZGJ5KX19KSxhLm9uKCJudWxsdGltZXIiLGZ1bmN0aW9uKCl7Y1swXS50d2Vlbi5raWxsKCksY1swXS50d2Vlbj1wdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYyxiLmRlbGF5LzFlMyx7d2lkdGg6IjAlIn0se2ZvcmNlM0Q6ImF1dG8iLHdpZHRoOiIxMDAlIixlYXNlOnB1bmNoZ3MuTGluZWFyLmVhc2VOb25lLG9uQ29tcGxldGU6ZCxkZWxheToxfSksY1swXS50d2Vlbi5wYXVzZSgwKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYy5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxiLnNsaWRlcnN0YXR1cz0icGF1c2VkIn0pO3ZhciBkPWZ1bmN0aW9uKCl7MD09alF1ZXJ5KCJib2R5IikuZmluZChhKS5sZW5ndGgmJihyZW1vdmVBbGxMaXN0ZW5lcnMoYSxiKSxjbGVhckludGVydmFsKGIuY2RpbnQpKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUuc2xpZGVhdGVuZCIpLDE9PWEuZGF0YSgiY29udGhvdmVyLWNoYW5nZWQiKSYmKGIuY29udGhvdmVyPWEuZGF0YSgiY29udGhvdmVyIiksYS5kYXRhKCJjb250aG92ZXItY2hhbmdlZCIsMCkpLF9SLmNhbGxpbmdOZXdTbGlkZShhLDEpfTtjWzBdLnR3ZWVuPXB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLGIuZGVsYXkvMWUzLHt3aWR0aDoiMCUifSx7Zm9yY2UzRDoiYXV0byIsd2lkdGg6IjEwMCUiLGVhc2U6cHVuY2hncy5MaW5lYXIuZWFzZU5vbmUsb25Db21wbGV0ZTpkLGRlbGF5OjF9KSxiLnNsaWRlYW1vdW50PjEmJigwIT1iLnN0b3BBZnRlckxvb3BzfHwxIT1iLnN0b3BBdFNsaWRlKT9hLnRyaWdnZXIoInN0YXJ0dGltZXIiKTooYi5ub2xvb3Bhbnltb3JlPTEsYS50cmlnZ2VyKCJudWxsdGltZXIiKSksYS5vbigidHAtbW91c2VlbnRlciIsZnVuY3Rpb24oKXtiLm1vdXNlb25jb250YWluZXI9ITAsIm9uIiE9Yi5uYXZpZ2F0aW9uLm9uSG92ZXJTdG9wfHxfSVNNfHwoYS50cmlnZ2VyKCJzdG9wdGltZXIiKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25wYXVzZSIpKX0pLGEub24oInRwLW1vdXNlbGVmdCIsZnVuY3Rpb24oKXtiLm1vdXNlb25jb250YWluZXI9ITEsMSE9YS5kYXRhKCJjb250aG92ZXIiKSYmIm9uIj09Yi5uYXZpZ2F0aW9uLm9uSG92ZXJTdG9wJiYoMT09Yi52aWV3UG9ydC5lbmFibGUmJmIuaW52aWV3cG9ydHx8MD09Yi52aWV3UG9ydC5lbmFibGUpJiYoYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9ucmVzdW1lIiksYS50cmlnZ2VyKCJzdGFydHRpbWVyIikpfSl9LHZpcz1mdW5jdGlvbigpe3ZhciBhLGIsYz17aGlkZGVuOiJ2aXNpYmlsaXR5Y2hhbmdlIix3ZWJraXRIaWRkZW46IndlYmtpdHZpc2liaWxpdHljaGFuZ2UiLG1vekhpZGRlbjoibW96dmlzaWJpbGl0eWNoYW5nZSIsbXNIaWRkZW46Im1zdmlzaWJpbGl0eWNoYW5nZSJ9O2ZvcihhIGluIGMpaWYoYSBpbiBkb2N1bWVudCl7Yj1jW2FdO2JyZWFrfXJldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gYyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihiLGMse3Bhc2l2ZTohMH0pLCFkb2N1bWVudFthXX19KCkscmVzdGFydE9uRm9jdXM9ZnVuY3Rpb24oKXtqUXVlcnkoIi5yZXZfcmVkcmF3X29uX2JsdXJmb2N1cyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcylbMF0ub3B0O2lmKGE9PXVuZGVmaW5lZHx8YS5jPT11bmRlZmluZWR8fDA9PT1hLmMubGVuZ3RoKXJldHVybiExOzEhPWEud2luZG93Zm9jdXNlZCYmKGEud2luZG93Zm9jdXNlZD0hMCxwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbCguMyxmdW5jdGlvbigpeyJvbiI9PWEuZmFsbGJhY2tzLm5leHRTbGlkZU9uV2luZG93Rm9jdXMmJmEuYy5yZXZuZXh0KCksYS5jLnJldnJlZHJhdygpLCJwbGF5aW5nIj09YS5sYXN0c2xpZGVyc3RhdHVzJiZhLmMucmV2cmVzdW1lKCl9KSl9KX0sbGFzdFN0YXRCbHVyPWZ1bmN0aW9uKCl7alF1ZXJ5KCIucmV2X3JlZHJhd19vbl9ibHVyZm9jdXMiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpWzBdLm9wdDthLndpbmRvd2ZvY3VzZWQ9ITEsYS5sYXN0c2xpZGVyc3RhdHVzPWEuc2xpZGVyc3RhdHVzLGEuYy5yZXZwYXVzZSgpO3ZhciBiPWEuYy5maW5kKCIuYWN0aXZlLXJldnNsaWRlIC5zbG90aG9sZGVyIiksYz1hLmMuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUgLnNsb3Rob2xkZXIiKTsib24iPT1jLmRhdGEoImtlbmJ1cm5zIikmJl9SLnN0b3BLZW5CdXJuKGMsYSksIm9uIj09Yi5kYXRhKCJrZW5idXJucyIpJiZfUi5zdG9wS2VuQnVybihiLGEpfSl9LHRhYkJsdXJyaW5nQ2hlY2s9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5kb2N1bWVudE1vZGU9PT11bmRlZmluZWQsYj13aW5kb3cuY2hyb21lOzEhPT1qUXVlcnkoImJvZHkiKS5kYXRhKCJyZXZzbGlkZXJfZm9jdXNfYmx1cl9saXN0ZW5lciIpJiYoalF1ZXJ5KCJib2R5IikuZGF0YSgicmV2c2xpZGVyX2ZvY3VzX2JsdXJfbGlzdGVuZXIiLDEpLGEmJiFiP2pRdWVyeSh3aW5kb3cpLm9uKCJmb2N1c2luIixmdW5jdGlvbigpe3Jlc3RhcnRPbkZvY3VzKCl9KS5vbigiZm9jdXNvdXQiLGZ1bmN0aW9uKCl7bGFzdFN0YXRCbHVyKCl9KTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8od2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbihhKXtyZXN0YXJ0T25Gb2N1cygpfSx7Y2FwdHVyZTohMSxwYXNzaXZlOiEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGZ1bmN0aW9uKGEpe2xhc3RTdGF0Qmx1cigpfSx7Y2FwdHVyZTohMSxwYXNzaXZlOiEwfSkpOih3aW5kb3cuYXR0YWNoRXZlbnQoImZvY3VzIixmdW5jdGlvbihhKXtyZXN0YXJ0T25Gb2N1cygpfSksd2luZG93LmF0dGFjaEV2ZW50KCJibHVyIixmdW5jdGlvbihhKXtsYXN0U3RhdEJsdXIoKX0pKSl9LGdldFVybFZhcnM9ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGI9W10sZD13aW5kb3cubG9jYXRpb24uaHJlZi5zbGljZSh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKGEpKzEpLnNwbGl0KCJfIiksZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV09ZFtlXS5yZXBsYWNlKCIlM0QiLCI9IiksYz1kW2VdLnNwbGl0KCI9IiksYi5wdXNoKGNbMF0pLGJbY1swXV09Y1sxXTtyZXR1cm4gYn19KGpRdWVyeSk7"}},"time_used":485,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":480,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/icons.png","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.252Z","timestamp":1785123385252,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/icons.png HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: image/png\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"2a53f-65fd8520-b7847434a1ba6e18;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 173375\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":173375,"size_decoded":173774,"mime_type":"image/png","magic":"PNG image data, 1012 x 1024, 8-bit/color RGBA, non-interlaced","md5":"20faf111ee300fe443933195257f708b","sha1":"5a56565ebe57cdcc08ace60996ba0e6b0df3c91a","sha256":"1cd6a88e1e774ae9f3678dd8df13fda6b61e3567c4bf6f3a433eb8034be2e1af","sha512":"54ea103d663ef42bdd8d2945b5a9c8464dc50283a0462c1da526061d3658995feb4aaccd1302cca643505b4ce2f69ebb2d2bf45bcee33e401e285d42941b851e","ssdeep":"3072:IoJZdkaJBYUmHvAcxrQn+V9VUwoRLD9zZd9/8zWQq7WfqD3PKJ:/JZWAmHvJ1w+VHUwodD9zZdDF7Wfq7SJ","tlshash":"7a041240d4f7ee4bf1f1807fcc4a49665edc667dc62a6a094e6a25ca32b77b4c302127","first_seen":"2023-05-17T19:56:00Z","last_seen":"2026-07-27T03:38:03.749195Z","times_seen":39,"resource_available":false,"data":"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"}},"time_used":404,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":386,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:29.538Z","timestamp":1785123389538,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1087630013.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 03 Jun 2026 14:33:02 GMT","end":"Tue, 01 Sep 2026 14:33:01 GMT"},"fingerprint":{"sha1":"CE:B9:32:81:E9:D2:46:C8:31:53:55:D3:41:19:F7:94:91:30:D1:93","sha256":"54:C9:41:2F:97:E8:14:28:D7:2C:4F:FA:E0:C3:3A:BC:85:F8:14:22:1C:98:23:82:53:4D:5D:58:C9:0B:C9:68"}}},"request":{"raw":"GET /api/v1/widget/translations/lang/en/defaults HTTP/1.1\r\nHost: translations.smartsuppcdn.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://alpha-achieveer.co/\r\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\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\ndate: Mon, 27 Jul 2026 03:36:29 GMT\r\ncontent-type: application/json; charset=utf-8\r\naccess-control-allow-origin: *\r\ncache-control: max-age=600\r\nx-response-time: 0ms\r\nx-version: 0dd3c95f86cdb6b59a0dad25ffcd406aa7c7723b\r\nx-77-nzt: k8rAEQpzEB/p6NTTLuANHASKW/XfVkrBdf9+b9pcElWMvZOQlwQ2sYqS0OW03lcZAFSubCw\r\nx-77-nzt-ray: e2f754209515103c3dd2666a062da123\r\nx-77-cache: HIT\r\nx-77-age: 215\r\nvary: Origin, Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":7216,"size_decoded":3346,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"05d7604a60456ab25eb809557b353edc","sha1":"e32135b721636e7994e42748da35341e03dfd123","sha256":"5892aca834fe3f9f8fb66f68c8a3eb2295708a3b428cf355d7f3e3c1a0b7b62e","sha512":"db4124c008e22597192e1f07b44575ff191a03322f763bffb1efd129152e0f6f1546d98f5016967b32cc71a8252fefc0546aef0be258e8343fbba4ae2afe00da","ssdeep":"192:Ccdft/hc4l6WKHSY8pZcqq+jT0UHAfoW/Ymz8:CgF/hcbWbYKZcF+jhqoWQmw","tlshash":"48e1b54f9a144ea987c6438276cfb84675bc80734250993afd8cc8b842697cda3e3b94","first_seen":"2026-04-01T12:23:41.393805Z","last_seen":"2026-07-27T13:21:25.866734Z","times_seen":5254,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":64,"timings":{"blocked":0,"dns":33,"connect":8,"send":0,"wait":8,"receive":0,"ssl":15},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T03:36:24.088Z","timestamp":1785123384088,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: alpha-achieveer.co\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/2 200 \r\nx-powered-by: PHP/5.6.40\r\nset-cookie: CameFrom=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; secure\nPHPSESSID=ug8tb0q0s437a237sn8as0epg0; path=/; domain=alpha-achieveer.co; HttpOnly; secure\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\npragma: no-cache\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 03:36:24 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"jQuery UI","description":"jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.","website":"https://jqueryui.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery_ui:*:*:*:*:*:*:*:*","icon":"jQuery UI.svg","categories":["JavaScript libraries"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"jQuery:2.2.4","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]},{"name":"parallax.js","description":"Simple parallax scrolling effect.","website":"https://github.com/pixelcog/parallax.js","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"PHP:5.6.40","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]}],"data":{"size":52499,"size_decoded":13052,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (512)","md5":"aad6e2721564610bd107a4e3efc1a1fe","sha1":"1e4cbc83fbe8da3c9f87ae329247091627140ace","sha256":"eae67b27f675aac08d76d146fa8bf4ae90f9706364585cbe2c104d14b08a1328","sha512":"88c18d85da4b84b19d5aedef93d957ba4ec2cd96eb7c9fe8ac425cd97ec6c68c890e29c5289b849e0266444b9438bac60c7fcfadf7a2dcf5dfa6a380be4aee89","ssdeep":"768:+BWl6czEZxDaLWLdwLd1jQlJeSn9jODGVhfOObdhfcfT/m+rPyIljG4kJ:dl6rZJaLWJwLd1UlJeSnYbXPyIljG4kJ","tlshash":"9b339620b9f81112501355daeb744f1a5fe0f307da0b995076ac0af6afcaee2d50b35e","first_seen":"2026-07-27T03:09:07.678999Z","last_seen":"2026-07-27T03:38:03.741412Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGRpcj0ibHRyIiBsYW5nPSJlbiI+CjxoZWFkPgoKPCEtLSBNZXRhIFRhZ3MgLS0+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLjAiLz4KPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KCgo8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9ImFscGhhLWFjaGlldmVlci5jbyIgLz4KCjwhLS0gUGFnZSBUaXRsZSAtLT4KPHRpdGxlPmFscGhhLWFjaGlldmVlci5jbyA8L3RpdGxlPgoKPCEtLSBGYXZpY29uIGFuZCBUb3VjaCBJY29ucyAtLT4KPGxpbmsgaHJlZj0iaW1hZ2VzL2xvZ28ucG5nIiByZWw9InNob3J0Y3V0IGljb24iIHR5cGU9ImltYWdlL3BuZyI+CjxsaW5rIGhyZWY9ImltYWdlcy9sb2dvLnBuZyIgcmVsPSJhcHBsZS10b3VjaC1pY29uIj4KPGxpbmsgaHJlZj0iaW1hZ2VzL2xvZ28ucG5nIiByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSI3Mng3MiI+CjxsaW5rIGhyZWY9ImltYWdlcy9sb2dvLnBuZyIgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTE0eDExNCI+CjxsaW5rIGhyZWY9ImltYWdlcy9sb2dvLnBuZyIgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTQ0eDE0NCI+Cgo8IS0tIFN0eWxlc2hlZXQgLS0+CjxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CjxsaW5rIGhyZWY9ImNzcy9qcXVlcnktdWkubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CjxsaW5rIGhyZWY9ImNzcy9hbmltYXRlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CjxsaW5rIGhyZWY9ImNzcy9jc3MtcGx1Z2luLWNvbGxlY3Rpb25zLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CjwhLS0gQ1NTIHwgbWVudXpvcmQgbWVnYW1lbnUgc2tpbnMgLS0+CjxsaW5rIGhyZWY9ImNzcy9tZW51em9yZC1tZWdhbWVudS5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgo8bGluayBpZD0ibWVudXpvcmQtbWVudS1za2lucyIgaHJlZj0iY3NzL21lbnV6b3JkLXNraW5zL21lbnV6b3JkLWJveGVkLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CjwhLS0gQ1NTIHwgTWFpbiBzdHlsZSBmaWxlIC0tPgo8bGluayBocmVmPSJjc3Mvc3R5bGUtbWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgo8IS0tIENTUyB8IFByZWxvYWRlciBTdHlsZXMgLS0+CjxsaW5rIGhyZWY9ImNzcy9wcmVsb2FkZXIuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KPCEtLSBDU1MgfCBDdXN0b20gTWFyZ2luIFBhZGRpbmcgQ29sbGVjdGlvbiAtLT4KPGxpbmsgaHJlZj0iY3NzL2N1c3RvbS1ib290c3RyYXAtbWFyZ2luLXBhZGRpbmcuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KPCEtLSBDU1MgfCBSZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgLS0+CjxsaW5rIGhyZWY9ImNzcy9yZXNwb25zaXZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CjwhLS0gQ1NTIHwgU3R5bGUgY3NzLiBUaGlzIGlzIHRoZSBmaWxlIHdoZXJlIHlvdSBjYW4gcGxhY2UgeW91ciBvd24gY3VzdG9tIGNzcyBjb2RlLiBKdXN0IHVuY29tbWVudCBpdCBhbmQgdXNlIGl0LiAtLT4KPCEtLSA8bGluayBocmVmPSJjc3Mvc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4gLS0+Cgo8IS0tIFJldm9sdXRpb24gU2xpZGVyIDUueCBDU1Mgc2V0dGluZ3MgLS0+CjxsaW5rICBocmVmPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9jc3Mvc2V0dGluZ3MuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rICBocmVmPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9jc3MvbGF5ZXJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayAgaHJlZj0ianMvcmV2b2x1dGlvbi1zbGlkZXIvY3NzL25hdmlnYXRpb24uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgo8IS0tIENTUyB8IFRoZW1lIENvbG9yIC0tPgo8bGluayBocmVmPSJjc3MvY29sb3JzL3RoZW1lLXNraW4tY29sb3Itc2V0Mi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgoKPCEtLSBleHRlcm5hbCBqYXZhc2NyaXB0cyAtLT4KPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS0yLjIuNC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LXVpLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJqcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KPCEtLSBKUyB8IGpxdWVyeSBwbHVnaW4gY29sbGVjdGlvbiBmb3IgdGhpcyB0aGVtZSAtLT4KPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS1wbHVnaW4tY29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+Cgo8IS0tIFJldm9sdXRpb24gU2xpZGVyIDUueCBTQ1JJUFRTIC0tPgo8c2NyaXB0IHNyYz0ianMvcmV2b2x1dGlvbi1zbGlkZXIvanMvanF1ZXJ5LnRoZW1lcHVuY2gudG9vbHMubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9ImpzL3Jldm9sdXRpb24tc2xpZGVyL2pzL2pxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24ubWluLmpzIj48L3NjcmlwdD4KCgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSIiPgogICAgCjxkaXYgaWQ9IndyYXBwZXIiIGNsYXNzPSJjbGVhcmZpeCI+CiAgICA8ZGl2IGlkPSJwcmVsb2FkZXIiPgogICAgPGRpdiBpZD0ic3Bpbm5lciI+CiAgICAgIDxkaXYgY2xhc3M9InByZWxvYWRlci1kb3QtbG9hZGluZyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY3NzbG9hZC1sb2FkaW5nIj48aT48L2k+PGk+PC9pPjxpPjwvaT48aT48L2k+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJkaXNhYmxlLXByZWxvYWRlciIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBidG4tc20iPkRpc2FibGUgUHJlbG9hZGVyPC9kaXY+CiAgPC9kaXY+IAogIAogIAogIDwhLS0gSGVhZGVyIC0tPgogIDxoZWFkZXIgaWQ9ImhlYWRlciIgY2xhc3M9ImhlYWRlciBtb2Rlcm4taGVhZGVyIG1vZGVybi1oZWFkZXItdGhlbWUtY29sb3JlZCI+CiAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdG9wIGJnLXRoZW1lLWNvbG9yZWQgc20tdGV4dC1jZW50ZXIiPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTgiPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IHRleHQtd2hpdGUiPgogICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1tYXAtbWFya2VyIHRleHQtdGhlbWUtY29sb3JlZDIiPjwvaT4g4oCiIFVuaXRlZCBLaW5nZG9tCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LWlubGluZSAgdGV4dC1yaWdodCBmbGlwIHNtLXRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibS0wIHBsLTEwIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvP2E9bG9naW4iIHN0eWxlPSJjb2xvcjojRkZGOyI+PGkgY2xhc3M9ImZhIGZhLXVzZXItbyBtci01IHRleHQtdGhlbWUtY29sb3JlZDIiPjwvaT4gTG9naW4gLzwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im0tMCBwbC0wIHByLTEwIj4gCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8/YT1zaWdudXAiIHN0eWxlPSJjb2xvcjojRkZGOyI+PGkgY2xhc3M9ImZhIGZhLWVkaXQgbXItNSB0ZXh0LXRoZW1lLWNvbG9yZWQyIj48L2k+UmVnaXN0ZXI8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImhlYWRlci1taWRkbGUgcC0wIGJnLWxpZ2h0ZXN0IHhzLXRleHQtY2VudGVyIHBiLTMwIj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHB0LTIwIHBiLTIwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS0xMiBjb2wtbWQtMyI+CiAgICAgICAgICAgIAogICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvbG9nby5wbmciIGFsdD0iTG9nbyI+CgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTEyIGNvbC1tZC05Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IHNtLXRleHQtY2VudGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSBlbGVtZW50IGNvbnRhY3QtaW5mbyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWVudmVsb3BlIHRleHQtdGhlbWUtY29sb3JlZDIgZm9udC1pY29uIHNtLWRpc3BsYXktYmxvY2siPjwvaT4KICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5Ij4KICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InRpdGxlIj5NYWlsIFVzIFRvZGF5PC9hPgogICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im1lZGlhLWhlYWRpbmcgc3VidGl0bGUiPiA8L2g1PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIGVsZW1lbnQgY29udGFjdC1pbmZvIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWxlZnQiPgogICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtcGhvbmUtc3F1YXJlIHRleHQtdGhlbWUtY29sb3JlZDIgZm9udC1pY29uIHNtLWRpc3BsYXktYmxvY2siPjwvaT4KICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5Ij4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJ0aXRsZSI+V2hhdHNBcHAgTGl2ZSBDaGF0OjwvYT4KICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJtZWRpYS1oZWFkaW5nIHN1YnRpdGxlIj48L2g1PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhIGVsZW1lbnQgY29udGFjdC1pbmZvIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWxlZnQiPgogICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtYnVpbGRpbmctbyB0ZXh0LXRoZW1lLWNvbG9yZWQyIGZvbnQtaWNvbiBzbS1kaXNwbGF5LWJsb2NrIj48L2k+CiAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImhlYWRlci1uYXYiPgogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbmF2LXdyYXBwZXIgbmF2YmFyLXNjcm9sbHRvZml4ZWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICA8bmF2IGlkPSJtZW51em9yZCIgY2xhc3M9Im1lbnV6b3JkIHllbGxvdyI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ibWVudXpvcmQtbWVudSI+CiAgICAgICAgICAgICAgPGxpIGNsYXNzPSIxYWN0aXZlIj48YSBocmVmPSIvP2E9aG9tZSI+SE9NRTwvYT48L2xpPgogICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1hYm91dCI+QUJPVVQgVVM8L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLyNwbGFucyI+UGxhbnM8L2E+PC9saT4KICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXJ1bGVzIj5SdWxlczwvYT48L2xpPgogICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWZhcSI+RkFRczwvYT48L2xpPgogICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zdXBwb3J0Ij5DT05UQUNUIFVTPC9hPgogICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAKICAgICAgICAgICAgIAogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8dWwgY2xhc3M9InB1bGwtcmlnaHQgc20tcHVsbC1ub25lbGlzdC1pbmxpbmUgbmF2LXNpZGUtaWNvbi1saXN0Ij4KICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQiPjwvZGl2PgogICAgICAgICAKICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9uYXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9oZWFkZXI+CiAgCiAgPGRpdiBjbGFzcz0ibWFpbi1jb250ZW50Ij4KCgoKICAgIDxzZWN0aW9uIGlkPSJob21lIiBjbGFzcz0iZGl2aWRlciI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBwLTAiPgoKCiAgICAgICAgPGRpdiBpZD0icmV2X3NsaWRlcl9ob21lX3dyYXBwZXIiIGNsYXNzPSJyZXZfc2xpZGVyX3dyYXBwZXIgZnVsbHdpZHRoYmFubmVyLWNvbnRhaW5lciIgZGF0YS1hbGlhcz0ibmV3cy1nYWxsZXJ5MzQiIHN0eWxlPSJtYXJnaW46MHB4IGF1dG87YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO3BhZGRpbmc6MHB4O21hcmdpbi10b3A6MHB4O21hcmdpbi1ib3R0b206MHB4OyI+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgaWQ9InJldl9zbGlkZXJfaG9tZSIgY2xhc3M9InJldl9zbGlkZXIgZnVsbHdpZHRoYWJhbm5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIGRhdGEtdmVyc2lvbj0iNS4wLjciPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPGxpIGRhdGEtaW5kZXg9InJzLTEiIGRhdGEtdHJhbnNpdGlvbj0ic2xpZGluZ292ZXJsYXlob3Jpem9udGFsIiBkYXRhLXNsb3RhbW91bnQ9ImRlZmF1bHQiIGRhdGEtZWFzZWluPSJkZWZhdWx0IiBkYXRhLWVhc2VvdXQ9ImRlZmF1bHQiIGRhdGEtbWFzdGVyc3BlZWQ9ImRlZmF1bHQiIGRhdGEtdGh1bWI9ImltYWdlcy9iZy9iZzE3LmpwZyIgZGF0YS1yb3RhdGU9IjAiICBkYXRhLWZzdHJhbnNpdGlvbj0iZmFkZSIgZGF0YS1mc21hc3RlcnNwZWVkPSIxNTAwIiBkYXRhLWZzc2xvdGFtb3VudD0iNyIgZGF0YS1zYXZlcGVyZm9ybWFuY2U9Im9mZiIgZGF0YS10aXRsZT0iTWFrZSBhbiBJbXBhY3QiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JnL2JnMTcuanBnIiBhbHQ9IiIgZGF0YS1iZ3Bvc2l0aW9uPSJjZW50ZXIgY2VudGVyIiBkYXRhLWJnZml0PSJjb3ZlciIgZGF0YS1iZ3JlcGVhdD0ibm8tcmVwZWF0IiBkYXRhLWJncGFyYWxsYXg9IjEwIiBjbGFzcz0icmV2LXNsaWRlYmciIGRhdGEtbm8tcmV0aW5hPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1zaGFwZSB0cC1zaGFwZXdyYXBwZXIgdHAtcmVzaXplbWUgcnMtcGFyYWxsYXhsZXZlbC0wIiAKICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTEtbGF5ZXItMSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteD0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIgZGF0YS1ob2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWydtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnXSIgZGF0YS12b2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9ImZ1bGwiCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJmdWxsIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Im9wYWNpdHk6MDtzOjE1MDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX291dD0ib3BhY2l0eTowO3M6MTAwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXN0YXJ0PSIxMDAwIiAKICAgICAgICAgICAgICAgICAgZGF0YS1iYXNlYWxpZ249InNsaWRlIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogNTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwgMCwgMCwgMC4zNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwgMCwgMCwgMS4wMCk7Ij4gCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSB0ZXh0LXdoaXRlIHJzLXBhcmFsbGF4bGV2ZWwtMCIgCiAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS0xLWxheWVyLTIiIAogICAgICAgICAgICAgICAgICBkYXRhLXg9IlsnbGVmdCcsJ2xlZnQnLCdsZWZ0JywnbGVmdCddIiBkYXRhLWhvZmZzZXQ9IlsnNTAnLCc1MCcsJzUwJywnMzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzEyMCcsJzEwMCcsJzcwJywnOTAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHNpemU9IlsnNTYnLCc0NicsJzQwJywnMzYnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1saW5laGVpZ2h0PSJbJzcwJywnNjAnLCc1MCcsJzQ1J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHdlaWdodD0iWyc4MDAnLCc3MDAnLCc3MDAnLCc3MDAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWyc3MDAnLCc2NTAnLCc2MDAnLCc0MjAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA2OyBtaW4td2lkdGg6IDgwMHB4OyBtYXgtd2lkdGg6IDgwMHB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyI+WW91ciAgSW52ZXN0bWVudCB3YXkgdG8gICAgPHNwYW4gY2xhc3M9InRleHQtdGhlbWUtY29sb3JlZDIiPjxicj4gb3ZlciAzMDAwJSBpbiA2IG1vbnRocy4KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtcmVzaXplbWUgdGV4dC13aGl0ZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMS1sYXllci0zIiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2xlZnQnLCdsZWZ0JywnbGVmdCcsJ2xlZnQnXSIgZGF0YS1ob2Zmc2V0PSJbJzUwJywnNTAnLCc1MCcsJzMwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLXk9IlsndG9wJywndG9wJywndG9wJywndG9wJ10iIGRhdGEtdm9mZnNldD0iWycyODAnLCcyMjAnLCcxODAnLCcxODAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHNpemU9IlsnMTgnLCcxOCcsJzE2JywnMTMnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1saW5laGVpZ2h0PSJbJzMwJywnMzAnLCcyOCcsJzI1J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHdlaWdodD0iWyc2MDAnLCc2MDAnLCc2MDAnLCc2MDAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWyc3MDAnLCc2NTAnLCc2MDAnLCc0MjAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm93cmFwIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA3OyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+QXQgYWxwaGEtYWNoaWV2ZWVyLmNvcywgT3VyIHRhY3RpY3MgYXJlIGNhbGN1bGF0ZWQgdG8gZW5zdXJlIHByb2ZpdGFibGUgdHJhZGVzCgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiA0IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSB0ZXh0LXdoaXRlIHJzLXBhcmFsbGF4bGV2ZWwtMCIgCiAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS0xLWxheWVyLTQiIAogICAgICAgICAgICAgICAgICBkYXRhLXg9IlsnbGVmdCcsJ2xlZnQnLCdsZWZ0JywnbGVmdCddIiBkYXRhLWhvZmZzZXQ9IlsnNTMnLCc1MycsJzUzJywnMzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzM2MCcsJzI5MCcsJzI2MCcsJzI2MCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS1mb250c2l6ZT0iWycxOCcsJzE4JywnMTYnLCcxNiddIgogICAgICAgICAgICAgICAgICBkYXRhLWxpbmVoZWlnaHQ9IlsnMzAnLCczMCcsJzMwJywnMzAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1mb250d2VpZ2h0PSJbJzYwMCcsJzYwMCcsJzYwMCcsJzYwMCddIgogICAgICAgICAgICAgICAgICBkYXRhLXdpZHRoPSJbJzcwMCcsJzY1MCcsJzYwMCcsJzQyMCddIgogICAgICAgICAgICAgICAgICBkYXRhLWhlaWdodD0ibm9uZSIKICAgICAgICAgICAgICAgICAgZGF0YS13aGl0ZXNwYWNlPSJub3dyYXAiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2lkbGU9Im86MTsiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2luPSJ5OlstMTAwJV07ejowO3JYOjBkZWc7clk6MDtyWjowO3NYOjE7c1k6MTtza1g6MDtza1k6MDtzOjE1MDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX291dD0iYXV0bzphdXRvO3M6MTAwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX2luPSJ4OjBweDt5OjBweDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19vdXQ9Ing6MDt5OjA7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXN0YXJ0PSIxMDAwIiAKICAgICAgICAgICAgICAgICAgZGF0YS1zcGxpdGluPSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1zcGxpdG91dD0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiAKICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA3OyB3aGl0ZS1zcGFjZTogbm93cmFwOyBib3JkZXI6MHB4OyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIvP2E9c2lnbnVwIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGJ0bi10aGVtZS1jb2xvcmVkMiBidG4teGwiPlJlZ2lzdGVyIDwvYT4KICAgICAgICAgICAgICAgICZuYnNwOyAmbmJzcDsgJm5ic3A7CiAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1sb2dpbiIgY2xhc3M9ImJ0biBidG4tZGFyayBidG4tdGhlbWUtY29sb3JlZCBidG4teGwiPkxvZ2luPC9hPgogICAgICAgICAgICAgICAgPCEtLTwvZGl2Pi0tPgogICAgICAgICAgICAgIDwvbGk+CgogICAgICAgICAgICAgIDwhLS0gU0xJREUgMiAtLT4KICAgICAgICAgICAgICA8bGkgZGF0YS1pbmRleD0icnMtMiIgZGF0YS10cmFuc2l0aW9uPSJzbGlkaW5nb3ZlcmxheWhvcml6b250YWwiIGRhdGEtc2xvdGFtb3VudD0iZGVmYXVsdCIgZGF0YS1lYXNlaW49ImRlZmF1bHQiIGRhdGEtZWFzZW91dD0iZGVmYXVsdCIgZGF0YS1tYXN0ZXJzcGVlZD0iZGVmYXVsdCIgZGF0YS10aHVtYj0iaW1hZ2VzL2JnL2JnMTYuanBnIiBkYXRhLXJvdGF0ZT0iMCIgIGRhdGEtZnN0cmFuc2l0aW9uPSJmYWRlIiBkYXRhLWZzbWFzdGVyc3BlZWQ9IjE1MDAiIGRhdGEtZnNzbG90YW1vdW50PSI3IiBkYXRhLXNhdmVwZXJmb3JtYW5jZT0ib2ZmIiBkYXRhLXRpdGxlPSJNYWtlIGFuIEltcGFjdCI+CiAgICAgICAgICAgICAgICA8IS0tIE1BSU4gSU1BR0UgLS0+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JnL2JnMTYuanBnIiBhbHQ9IiIgZGF0YS1iZ3Bvc2l0aW9uPSJjZW50ZXIgY2VudGVyIiBkYXRhLWJnZml0PSJjb3ZlciIgZGF0YS1iZ3JlcGVhdD0ibm8tcmVwZWF0IiBkYXRhLWJncGFyYWxsYXg9IjEwIiBjbGFzcz0icmV2LXNsaWRlYmciIGRhdGEtbm8tcmV0aW5hPgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUlMgLS0+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiAxIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1zaGFwZSB0cC1zaGFwZXdyYXBwZXIgdHAtcmVzaXplbWUgcnMtcGFyYWxsYXhsZXZlbC0wIiAKICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTItbGF5ZXItMSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteD0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIgZGF0YS1ob2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWydtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnXSIgZGF0YS12b2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9ImZ1bGwiCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJmdWxsIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Im9wYWNpdHk6MDtzOjE1MDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX291dD0ib3BhY2l0eTowO3M6MTAwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXN0YXJ0PSIxMDAwIiAKICAgICAgICAgICAgICAgICAgZGF0YS1iYXNlYWxpZ249InNsaWRlIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogNTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwgMCwgMCwgMC4zNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwgMCwgMCwgMS4wMCk7Ij4gCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDIgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHRwLXJlc2l6ZW1lIHRleHQtd2hpdGUgcnMtcGFyYWxsYXhsZXZlbC0wIiAKICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTItbGF5ZXItMiIgCiAgICAgICAgICAgICAgICAgIGRhdGEteD0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIgZGF0YS1ob2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzEyMCcsJzEwMCcsJzcwJywnOTAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHNpemU9IlsnMjgnLCcyNCcsJzI0JywnMjQnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1saW5laGVpZ2h0PSJbJzMzJywnMzAnLCczMCcsJzMwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHdlaWdodD0iWyc2MDAnLCc2MDAnLCc2MDAnLCc2MDAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS10ZXh0YWxpZ249IlsnY2VudGVyJywnY2VudGVyJywnY2VudGVyJywnY2VudGVyJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJub25lIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vd3JhcCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Ink6Wy0xMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJhdXRvOmF1dG87czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfaW49Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX291dD0ieDowO3k6MDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3RhcnQ9IjEwMDAiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0aW49Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0b3V0PSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA3OyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDMgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHRwLXJlc2l6ZW1lIHRleHQtd2hpdGUgcnMtcGFyYWxsYXhsZXZlbC0wIiAKICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTItbGF5ZXItMyIgCiAgICAgICAgICAgICAgICAgIGRhdGEteD0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIgZGF0YS1ob2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzE2NScsJzEzNScsJzEwNScsJzEzMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS1mb250c2l6ZT0iWyc1NicsJzQ2JywnNDAnLCczNiddIgogICAgICAgICAgICAgICAgICBkYXRhLWxpbmVoZWlnaHQ9IlsnNzAnLCc2MCcsJzUwJywnNDUnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1mb250d2VpZ2h0PSJbJzgwMCcsJzcwMCcsJzcwMCcsJzcwMCddIgogICAgICAgICAgICAgICAgICBkYXRhLXRleHRhbGlnbj0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWyc3MDAnLCc2NTAnLCc2MDAnLCc0MjAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA2OyBtaW4td2lkdGg6IDgwMHB4OyBtYXgtd2lkdGg6IDgwMHB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsO3RleHQtYWxpZ246bGVmdDsiPjxzcGFuIGNsYXNzPSJ0ZXh0LXRoZW1lLWNvbG9yZWQyIj5XZSBhcmUgdHJ1c3RlZCBleHBlcnRzIG9uIGRpZ2l0YWwgY3VycmVuY3kgdHJhZGluZy4KICAgICAgICAgICAgICAgICAgPC9zcGFuPjxicj4gCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gNSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtcmVzaXplbWUgdGV4dC13aGl0ZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMi1sYXllci01IiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIiBkYXRhLWhvZmZzZXQ9IlsnMCcsJzAnLCcwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS15PSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLXZvZmZzZXQ9IlsnNDAwJywnMzQwJywnMzAwJywnMzAwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLWZvbnRzaXplPSJbJzE4JywnMTgnLCcxNicsJzE2J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtbGluZWhlaWdodD0iWyczMCcsJzMwJywnMzAnLCczMCddIgogICAgICAgICAgICAgICAgICBkYXRhLWZvbnR3ZWlnaHQ9IlsnNjAwJywnNjAwJywnNjAwJywnNjAwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJub25lIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vd3JhcCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Ink6Wy0xMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJhdXRvOmF1dG87czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfaW49Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX291dD0ieDowO3k6MDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3RhcnQ9IjEwMDAiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0aW49Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0b3V0PSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogNzsgd2hpdGUtc3BhY2U6IG5vd3JhcDsiPjxhIGhyZWY9Ii8/YT1zaWdudXAiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLXRoZW1lLWNvbG9yZWQgYnRuLXhsIj5SZWdpc3RlcjwvYT4mbmJzcDsgJm5ic3A7ICZuYnNwOzxhIGhyZWY9Ij9hPWxvZ2luIiBjbGFzcz0iYnRuIGJ0bi1vcmFuZ2UgYnRuLXRoZW1lLWNvbG9yZWQgYnRuLXhsIj5Mb2dpbjwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvbGk+CgoKICAgICAgICAgICAgICAgPCEtLSBTTElERSAzIC0tPgogICAgICAgICAgICAgIDxsaSBkYXRhLWluZGV4PSJycy0zIiBkYXRhLXRyYW5zaXRpb249InNsaWRpbmdvdmVybGF5aG9yaXpvbnRhbCIgZGF0YS1zbG90YW1vdW50PSJkZWZhdWx0IiBkYXRhLWVhc2Vpbj0iZGVmYXVsdCIgZGF0YS1lYXNlb3V0PSJkZWZhdWx0IiBkYXRhLW1hc3RlcnNwZWVkPSJkZWZhdWx0IiBkYXRhLXRodW1iPSJpbWFnZXMvYmcvYmcxNi5qcGciIGRhdGEtcm90YXRlPSIwIiAgZGF0YS1mc3RyYW5zaXRpb249ImZhZGUiIGRhdGEtZnNtYXN0ZXJzcGVlZD0iMTUwMCIgZGF0YS1mc3Nsb3RhbW91bnQ9IjciIGRhdGEtc2F2ZXBlcmZvcm1hbmNlPSJvZmYiIGRhdGEtdGl0bGU9Ik1ha2UgYW4gSW1wYWN0Ij4KICAgICAgICAgICAgICAgIDwhLS0gTUFJTiBJTUFHRSAtLT4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvYmcvYmcxNi5qcGciIGFsdD0iIiBkYXRhLWJncG9zaXRpb249ImNlbnRlciBjZW50ZXIiIGRhdGEtYmdmaXQ9ImNvdmVyIiBkYXRhLWJncmVwZWF0PSJuby1yZXBlYXQiIGRhdGEtYmdwYXJhbGxheD0iMTAiIGNsYXNzPSJyZXYtc2xpZGViZyIgZGF0YS1uby1yZXRpbmE+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSUyAtLT4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDEgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHRwLXNoYXBlIHRwLXNoYXBld3JhcHBlciB0cC1yZXNpemVtZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMy1sYXllci0xIiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIiBkYXRhLWhvZmZzZXQ9IlsnMCcsJzAnLCcwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS15PSJbJ21pZGRsZScsJ21pZGRsZScsJ21pZGRsZScsJ21pZGRsZSddIiBkYXRhLXZvZmZzZXQ9IlsnMCcsJzAnLCcwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iZnVsbCIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9ImZ1bGwiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ib3BhY2l0eTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJvcGFjaXR5OjA7czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDtzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3RhcnQ9IjEwMDAiIAogICAgICAgICAgICAgICAgICBkYXRhLWJhc2VhbGlnbj0ic2xpZGUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA1O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLCAwLCAwLCAwLjM1KTtib3JkZXItY29sb3I6cmdiYSgwLCAwLCAwLCAxLjAwKTsiPiAKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gMiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtcmVzaXplbWUgdGV4dC13aGl0ZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMy1sYXllci0yIiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIiBkYXRhLWhvZmZzZXQ9IlsnMCcsJzAnLCcwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS15PSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLXZvZmZzZXQ9IlsnMTIwJywnMTAwJywnNzAnLCc5MCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS1mb250c2l6ZT0iWycyOCcsJzI0JywnMjQnLCcyNCddIgogICAgICAgICAgICAgICAgICBkYXRhLWxpbmVoZWlnaHQ9IlsnMzMnLCczMCcsJzMwJywnMzAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1mb250d2VpZ2h0PSJbJzYwMCcsJzYwMCcsJzYwMCcsJzYwMCddIgogICAgICAgICAgICAgICAgICBkYXRhLXRleHRhbGlnbj0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0ibm9uZSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm93cmFwIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDc7IHdoaXRlLXNwYWNlOiBub3dyYXA7Ij4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gMyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtcmVzaXplbWUgdGV4dC13aGl0ZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMy1sYXllci0zIiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIiBkYXRhLWhvZmZzZXQ9IlsnMCcsJzAnLCcwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS15PSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLXZvZmZzZXQ9IlsnMTY1JywnMTM1JywnMTA1JywnMTMwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLWZvbnRzaXplPSJbJzU2JywnNDYnLCc0MCcsJzM2J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtbGluZWhlaWdodD0iWyc3MCcsJzYwJywnNTAnLCc0NSddIgogICAgICAgICAgICAgICAgICBkYXRhLWZvbnR3ZWlnaHQ9IlsnODAwJywnNzAwJywnNzAwJywnNzAwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtdGV4dGFsaWduPSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIgogICAgICAgICAgICAgICAgICBkYXRhLXdpZHRoPSJbJzcwMCcsJzY1MCcsJzYwMCcsJzQyMCddIgogICAgICAgICAgICAgICAgICBkYXRhLWhlaWdodD0ibm9uZSIKICAgICAgICAgICAgICAgICAgZGF0YS13aGl0ZXNwYWNlPSJub3JtYWwiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2lkbGU9Im86MTsiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2luPSJ5OlstMTAwJV07ejowO3JYOjBkZWc7clk6MDtyWjowO3NYOjE7c1k6MTtza1g6MDtza1k6MDtzOjE1MDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX291dD0iYXV0bzphdXRvO3M6MTAwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX2luPSJ4OjBweDt5OjBweDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19vdXQ9Ing6MDt5OjA7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXN0YXJ0PSIxMDAwIiAKICAgICAgICAgICAgICAgICAgZGF0YS1zcGxpdGluPSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1zcGxpdG91dD0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiAKICAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDY7IG1pbi13aWR0aDogNjAwcHg7IG1heC13aWR0aDogNjAwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7Ij48c3BhbiBjbGFzcz0idGV4dC10aGVtZS1jb2xvcmVkMiI+IEFtYXppbmcgUk9JICAKICAgICAgICAgICAgICAgICAgPC9zcGFuPiBDcmVkaXRlZCBvbiB5b3VyIEFjY291bnQ8YnI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDQgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHRwLXJlc2l6ZW1lIHRleHQtd2hpdGUgcnMtcGFyYWxsYXhsZXZlbC0wIiAKICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTItbGF5ZXItNCIgCiAgICAgICAgICAgICAgICAgIGRhdGEteD0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIgZGF0YS1ob2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzMyMCcsJzI2MCcsJzIyMCcsJzIyMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS1mb250c2l6ZT0iWycxOCcsJzE4JywnMTYnLCcxMyddIgogICAgICAgICAgICAgICAgICBkYXRhLWxpbmVoZWlnaHQ9IlsnMzAnLCczMCcsJzI4JywnMjUnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1mb250d2VpZ2h0PSJbJzYwMCcsJzYwMCcsJzYwMCcsJzYwMCddIgogICAgICAgICAgICAgICAgICBkYXRhLXRleHRhbGlnbj0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWyc3MDAnLCc2NTAnLCc2MDAnLCc0MjAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm93cmFwIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA3OyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+IFdlIHByb3ZpZGUgeW91IHdpdGggY29uc2lzdGVudCByZXR1cm5zIG9uIGEgZGFpbHksIHdlZWtseSwgbW9udGhseSwgYW5kIGFubnVhbCBiYXNpcy4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gNSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtcmVzaXplbWUgdGV4dC13aGl0ZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMy1sYXllci01IiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIiBkYXRhLWhvZmZzZXQ9IlsnMCcsJzAnLCcwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS15PSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLXZvZmZzZXQ9IlsnNDAwJywnMzQwJywnMzAwJywnMzAwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLWZvbnRzaXplPSJbJzE4JywnMTgnLCcxNicsJzE2J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtbGluZWhlaWdodD0iWyczMCcsJzMwJywnMzAnLCczMCddIgogICAgICAgICAgICAgICAgICBkYXRhLWZvbnR3ZWlnaHQ9IlsnNjAwJywnNjAwJywnNjAwJywnNjAwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJub25lIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vd3JhcCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Ink6Wy0xMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJhdXRvOmF1dG87czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfaW49Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX291dD0ieDowO3k6MDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3RhcnQ9IjEwMDAiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0aW49Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0b3V0PSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogNzsgd2hpdGUtc3BhY2U6IG5vd3JhcDsiPjxhIGhyZWY9Ii8/YT1zaWdudXAiIGNsYXNzPSJidG4gYnRuLW9yYW5nZSBidG4tdGhlbWUtY29sb3JlZCBidG4teGwiPlJlZ2lzdGVyPC9hPiZuYnNwOyAmbmJzcDsgJm5ic3A7PGEgaHJlZj0iP2E9bG9naW4iIGNsYXNzPSJidG4gYnRuLXRoZW1lLWNvbG9yZWQgYnRuLXhsIj5Mb2dpbjwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvbGk+CgoKICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtYmFubmVydGltZXIgdHAtYm90dG9tIiBzdHlsZT0iaGVpZ2h0OiA1cHg7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTY2LCAyMTYsIDIzNiwgMS4wMCk7Ij48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgIHZhciB0cGo9alF1ZXJ5OyAgICAgICAgIAogICAgICAgICAgdmFyIHJldmFwaTM0OwogICAgICAgICAgdHBqKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYodHBqKCIjcmV2X3NsaWRlcl9ob21lIikucmV2b2x1dGlvbiA9PSB1bmRlZmluZWQpewogICAgICAgICAgICAgIHJldnNsaWRlcl9zaG93RG91YmxlSnF1ZXJ5RXJyb3IoIiNyZXZfc2xpZGVyX2hvbWUiKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgcmV2YXBpMzQgPSB0cGooIiNyZXZfc2xpZGVyX2hvbWUiKS5zaG93KCkucmV2b2x1dGlvbih7CiAgICAgICAgICAgICAgICBzbGlkZXJUeXBlOiJzdGFuZGFyZCIsCiAgICAgICAgICAgICAgICBqc0ZpbGVMb2NhdGlvbjoianMvcmV2b2x1dGlvbi1zbGlkZXIvanMvIiwKICAgICAgICAgICAgICAgIHNsaWRlckxheW91dDoiZnVsbHdpZHRoIiwKICAgICAgICAgICAgICAgIGRvdHRlZE92ZXJsYXk6Im5vbmUiLAogICAgICAgICAgICAgICAgZGVsYXk6OTAwMCwKICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAgICAgICAgICAga2V5Ym9hcmROYXZpZ2F0aW9uOiJvbiIsCiAgICAgICAgICAgICAgICAgIGtleWJvYXJkX2RpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICBtb3VzZVNjcm9sbE5hdmlnYXRpb246Im9mZiIsCiAgICAgICAgICAgICAgICAgIG9uSG92ZXJTdG9wOiJvbiIsCiAgICAgICAgICAgICAgICAgIHRvdWNoOnsKICAgICAgICAgICAgICAgICAgICB0b3VjaGVuYWJsZWQ6Im9uIiwKICAgICAgICAgICAgICAgICAgICBzd2lwZV90aHJlc2hvbGQ6IDc1LAogICAgICAgICAgICAgICAgICAgIHN3aXBlX21pbl90b3VjaGVzOiAxLAogICAgICAgICAgICAgICAgICAgIHN3aXBlX2RpcmVjdGlvbjogImhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgIGRyYWdfYmxvY2tfdmVydGljYWw6IGZhbHNlCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgLAogICAgICAgICAgICAgICAgICBhcnJvd3M6IHsKICAgICAgICAgICAgICAgICAgICBzdHlsZToiemV1cyIsCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlOnRydWUsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9vbm1vYmlsZTp0cnVlLAogICAgICAgICAgICAgICAgICAgIGhpZGVfdW5kZXI6NjAwLAogICAgICAgICAgICAgICAgICAgIGhpZGVfb25sZWF2ZTp0cnVlLAogICAgICAgICAgICAgICAgICAgIGhpZGVfZGVsYXk6MjAwLAogICAgICAgICAgICAgICAgICAgIGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsCiAgICAgICAgICAgICAgICAgICAgdG1wOic8ZGl2IGNsYXNzPSJ0cC10aXRsZS13cmFwIj4gICAgPGRpdiBjbGFzcz0idHAtYXJyLWltZ2hvbGRlciI+PC9kaXY+IDwvZGl2PicsCiAgICAgICAgICAgICAgICAgICAgbGVmdDogewogICAgICAgICAgICAgICAgICAgICAgaF9hbGlnbjoibGVmdCIsCiAgICAgICAgICAgICAgICAgICAgICB2X2FsaWduOiJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgaF9vZmZzZXQ6MzAsCiAgICAgICAgICAgICAgICAgICAgICB2X29mZnNldDowCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICByaWdodDogewogICAgICAgICAgICAgICAgICAgICAgaF9hbGlnbjoicmlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgdl9hbGlnbjoiY2VudGVyIiwKICAgICAgICAgICAgICAgICAgICAgIGhfb2Zmc2V0OjMwLAogICAgICAgICAgICAgICAgICAgICAgdl9vZmZzZXQ6MAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgYnVsbGV0czogewogICAgICAgICAgICAgICAgICAgIGVuYWJsZTp0cnVlLAogICAgICAgICAgICAgICAgICAgIGhpZGVfb25tb2JpbGU6dHJ1ZSwKICAgICAgICAgICAgICAgICAgICBoaWRlX3VuZGVyOjYwMCwKICAgICAgICAgICAgICAgICAgICBzdHlsZToibWV0aXMiLAogICAgICAgICAgICAgICAgICAgIGhpZGVfb25sZWF2ZTp0cnVlLAogICAgICAgICAgICAgICAgICAgIGhpZGVfZGVsYXk6MjAwLAogICAgICAgICAgICAgICAgICAgIGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsCiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiJob3Jpem9udGFsIiwKICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgIHZfYWxpZ246ImJvdHRvbSIsCiAgICAgICAgICAgICAgICAgICAgaF9vZmZzZXQ6MCwKICAgICAgICAgICAgICAgICAgICB2X29mZnNldDozMCwKICAgICAgICAgICAgICAgICAgICBzcGFjZTo1LAogICAgICAgICAgICAgICAgICAgIHRtcDonPHNwYW4gY2xhc3M9InRwLWJ1bGxldC1pbWctd3JhcCI+PHNwYW4gY2xhc3M9InRwLWJ1bGxldC1pbWFnZSI+PC9zcGFuPjwvc3Bhbj4nCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB2aWV3UG9ydDogewogICAgICAgICAgICAgICAgICBlbmFibGU6dHJ1ZSwKICAgICAgICAgICAgICAgICAgb3V0b2Y6InBhdXNlIiwKICAgICAgICAgICAgICAgICAgdmlzaWJsZV9hcmVhOiI4MCUiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcmVzcG9uc2l2ZUxldmVsczpbMTI0MCwxMDI0LDc3OCw0ODBdLAogICAgICAgICAgICAgICAgZ3JpZHdpZHRoOlsxMjQwLDEwMjQsNzc4LDQ4MF0sCiAgICAgICAgICAgICAgICBncmlkaGVpZ2h0Ols2MDAsNTUwLDUwMCw0NTBdLAogICAgICAgICAgICAgICAgbGF6eVR5cGU6Im5vbmUiLAogICAgICAgICAgICAgICAgcGFyYWxsYXg6IHsKICAgICAgICAgICAgICAgICAgdHlwZToic2Nyb2xsIiwKICAgICAgICAgICAgICAgICAgb3JpZ286ImVudGVycG9pbnQiLAogICAgICAgICAgICAgICAgICBzcGVlZDo0MDAsCiAgICAgICAgICAgICAgICAgIGxldmVsczpbNSwxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MF0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc2hhZG93OjAsCiAgICAgICAgICAgICAgICBzcGlubmVyOiJvZmYiLAogICAgICAgICAgICAgICAgc3RvcExvb3A6Im9mZiIsCiAgICAgICAgICAgICAgICBzdG9wQWZ0ZXJMb29wczotMSwKICAgICAgICAgICAgICAgIHN0b3BBdFNsaWRlOi0xLAogICAgICAgICAgICAgICAgc2h1ZmZsZToib2ZmIiwKICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6Im9mZiIsCiAgICAgICAgICAgICAgICBoaWRlVGh1bWJzT25Nb2JpbGU6Im9mZiIsCiAgICAgICAgICAgICAgICBoaWRlU2xpZGVyQXRMaW1pdDowLAogICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OjAsCiAgICAgICAgICAgICAgICBoaWRlQWxsQ2FwdGlvbkF0TGlsbWl0OjAsCiAgICAgICAgICAgICAgICBkZWJ1Z01vZGU6ZmFsc2UsCiAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgc2ltcGxpZnlBbGw6Im9mZiIsCiAgICAgICAgICAgICAgICAgIG5leHRTbGlkZU9uV2luZG93Rm9jdXM6Im9mZiIsCiAgICAgICAgICAgICAgICAgIGRpc2FibGVGb2N1c0xpc3RlbmVyOmZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsgLypyZWFkeSovCiAgICAgICAgPC9zY3JpcHQ+CiAgICAgIDwhLS0gRU5EIFJFVk9MVVRJT04gU0xJREVSIC0tPgogICAgICAKICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPCEtLSBTZWN0aW9uOiBBYm91dCAtLT4KICAgIDxzZWN0aW9uPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgPGlmcmFtZSB3aWR0aD0iMjUwIiBoZWlnaHQ9IjI1MCIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8xakU0ekhYYk5VTSIgIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlIiByZWZlcnJlcnBvbGljeT0ic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPjxpbWcgY2xhc3M9ImltZy1mdWxsd2lkdGgiIHNyYz0iaW1hZ2VzL2Fib3V0LmpwZWciIGFsdD0iIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFib3V0LWRldGFpbHMgbWItc20tMzAiPgogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJtdC0wIHRleHQtdGhlbWUtY29sb3JlZCI+QWJvdXQgYWxwaGEtYWNoaWV2ZWVyLmNvIDwvaDI+CiAgICAgICAgICAgICAgICA8cD5hbHBoYS1hY2hpZXZlZXIuY28gYW5kIEludmVzdG1lbnQgaXMgYSBwcml2YXRlbHktaGVsZCBpbnZlc3RtZW50IG1hbmFnZW1lbnQgZmlybSwgdGhlIERpZ2l0YWwgQ3VycmVuY3kgR3JvdXAuIEFzIGEgbXV0dWFsIGZ1bmQgY29tcGFueSwgYWxwaGEtYWNoaWV2ZWVyLmNvIGFuZCBJbnZlc3RtZW50IGlzIGEgdHJ1c3RlZCBleHBlcnQgb24gZGlnaXRhbCBjdXJyZW5jeSBpbnZlc3RpbmcuIGFscGhhLWFjaGlldmVlci5jbyBhbmQgSW52ZXN0bWVudCBwcm92aWRlcyBhIHZhcmlldHkgb2Ygc2VydmljZXMsIGluY2x1ZGluZyBtb25leSBkaXN0cmlidXRpb24gYW5kIGludmVzdG1lbnQgY29uc3VsdGluZywgYXMgd2VsbCBhcyB3ZWFsdGggYW5kIG1hbmFnZW1lbnQuCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIFdlJ3ZlIGRldmVsb3BlZCBhIGNyeXB0byBtYXJrZXQgdHJhZGluZyBtZXRob2QgdGhhdCB3b3JrcyB3ZWxsIHdpdGgganVzdCB0aHJlZSBtYWpvciBjcnlwdG9jdXJyZW5jaWVzOiBCaXRjb2luLCBFdGhlcmV1bSwgYW5kIExpdGVjb2luLiBXZSBzcGVjaWFsaXplIGluIHRoZXNlIGNyeXB0b3MgdG8gcmVkdWNlIGludmVzdG1lbnQgcmlzayBhbmQgYWxsb3cgb3VyIHVzZXJzIGFuZC9vciBjdXN0b21lcnMgdG8gYmVuZWZpdCBhcyBtdWNoIGFzIHBvc3NpYmxlIGJ5IHVzaW5nIG91ciBleHBlcmllbmNlIGFuZCBzZXJ2aWNlcy4KICAgICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9YWJvdXQiIGNsYXNzPSJidG4gYnRuLWZsYXQgYnRuLWNvbG9yZWQgYnRuLXRoZW1lLWNvbG9yZWQyIG10LTE1IG1yLTE1Ij5Lbm93IE1vcmU8L2E+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIAogCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgoKICAgIDwhLS0gU2VjdGlvbjogSG93IEl0J3MgV29yayAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJiZy1zaWx2ZXItbGlnaHQiIGlkPSJwbGFucyI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSB0ZXh0LWNlbnRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTAgY29sLW1kLW9mZnNldC0xIj4KICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtdXBwZXJjYXNlIG10LTAiPklOVkVTVE1FTlQgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC10aGVtZS1jb2xvcmVkMiI+UExBTlM8L3NwYW4+PC9oMj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDIiPjwvZGl2PgogICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KIAoKIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiBjb2wtbWQtNCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zdCBpY29uLWJveCBwLTMwIGJnLXdoaXRlIGJnLWhvdmVyLXRoZW1lLWNvbG9yZWQgYm9yZGVyLTFweCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5Ij4KCiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL21lcmN1cnkuanBlZyIgaGVpZ2h0ID0iMjEwcHgiPgogICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im10LTAiPklUVU5FUyBQTEFOPC9oMz4KICAgICAgICAgICAgICAgICAgPHA+TWluaW11bSBJbnZlc3RtZW50OiAkNTAKICAgICAgICAgICAgICAgICAgPFA+IAogICAgICAgICAgICAgICAgICAgIE1heGltdW0gSW52ZXN0bWVudDogJDQ5OQogICAgICAgICAgICAgICAgICAgIDxQPiAKICAgICAgICAgICAgICAgICAgICBQcm9maXQgUmV0dXJuOiAxNSUgQUZURVIKICAgICAgICAgICAgICAgICAgICA8L1A+CiAgICAgICAgICAgICAgICAgICAgRHVyYXRpb246IDI0IEhPVVJTCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICA8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIvP2E9c2lnbnVwIiBjbGFzcz0iYnRuIGJ0bi1mbGF0IGJ0bi1jb2xvcmVkIGJ0bi10aGVtZS1jb2xvcmVkMiBtdC0xNSBtci0xNSI+SU5WRVNUIE5PVyA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiBjb2wtbWQtNCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zdCBpY29uLWJveCBwLTMwIGJnLXdoaXRlIGJnLWhvdmVyLXRoZW1lLWNvbG9yZWQgYm9yZGVyLTFweCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL3ByZW1pdW0uanBlZyIgaGVpZ2h0PSIyMTBweCI+CiAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibXQtMCI+UEFZUEFMIFBMQU48L2gzPgogICAgICAgICAgICAgICAgIDxwPk1pbmltdW0gSW52ZXN0bWVudDogJDUwMAogICAgICAgICAgICAgICAgICA8UD4gCiAgICAgICAgICAgICAgICAgICAgTWF4aW11bSBJbnZlc3RtZW50OiAkOTk5CiAgICAgICAgICAgICAgICAgICAgPFA+IAogICAgICAgICAgICAgICAgICAgIFByb2ZpdCBSZXR1cm46IDIwJSBBRlRFUgogICAgICAgICAgICAgICAgICAgIDwvUD4KICAgICAgICAgICAgICAgICAgICBEdXJhdGlvbjogMjQgSE9VUlMKICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLz9hPXNpZ251cCIgY2xhc3M9ImJ0biBidG4tZmxhdCBidG4tY29sb3JlZCBidG4tdGhlbWUtY29sb3JlZDIgbXQtMTUgbXItMTUiPklOVkVTVCBOT1cgPC9hPgoKICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02IGNvbC1tZC00Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0IGljb24tYm94IHAtMzAgYmctd2hpdGUgYmctaG92ZXItdGhlbWUtY29sb3JlZCBib3JkZXItMXB4IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvZGlhbW9uZC5qcGVnIiBoZWlnaHQ9IjIxMHB4Ij4KICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibXQtMCI+QU1BWk9OIFBMQU48L2gzPgogICAgICAgICAgICAgICAgICA8cD5NaW5pbXVtIEludmVzdG1lbnQ6ICQxMDAwCiAgICAgICAgICAgICAgICAgIDxQPiAKICAgICAgICAgICAgICAgICAgICBNYXhpbXVtIEludmVzdG1lbnQ6ICQ0OTk5CiAgICAgICAgICAgICAgICAgICAgPFA+IAogICAgICAgICAgICAgICAgICAgIFByb2ZpdCBSZXR1cm46IDMwJSBBRlRFUgogICAgICAgICAgICAgICAgICAgIDwvUD4KICAgICAgICAgICAgICAgICAgICBEdXJhdGlvbjogNDggSE9VUlMKICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIvP2E9c2lnbnVwIiBjbGFzcz0iYnRuIGJ0bi1mbGF0IGJ0bi1jb2xvcmVkIGJ0bi10aGVtZS1jb2xvcmVkMiBtdC0xNSBtci0xNSI+SU5WRVNUIE5PVyA8L2E+CgogICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBvc3QgaWNvbi1ib3ggcC0zMCBiZy13aGl0ZSBiZy1ob3Zlci10aGVtZS1jb2xvcmVkIGJvcmRlci0xcHggdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtYm9keSI+CiAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9zdGFuZGFyZC5qcGVnIiBoZWlnaHQ9IjIxMHB4Ij4KICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtdC0wIj5HT09HTEUgUExBWSBQTEFOPC9oMz4KICAgICAgICAgICAgICAgICA8cD5NaW5pbXVtIEludmVzdG1lbnQ6ICQ1MDAwCiAgICAgICAgICAgICAgICAgIDxQPiAKICAgICAgICAgICAgICAgICAgICBNYXhpbXVtIEludmVzdG1lbnQ6ICRVTkxJTUlURUQKICAgICAgICAgICAgICAgICAgICA8UD4gCiAgICAgICAgICAgICAgICAgICAgUHJvZml0IFJldHVybjogNTAlIEFGVEVSCiAgICAgICAgICAgICAgICAgICAgPC9QPgogICAgICAgICAgICAgICAgICAgIER1cmF0aW9uOiAxMiBIT1VSUwogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIvP2E9c2lnbnVwIiBjbGFzcz0iYnRuIGJ0bi1mbGF0IGJ0bi1jb2xvcmVkIGJ0bi10aGVtZS1jb2xvcmVkMiBtdC0xNSBtci0xNSI+SU5WRVNUIE5PVyA8L2E+CgogICAgICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50IiBzdHlsZT0ibWFyZ2luOjUwcHggMHB4OyI+CiAgICA8aDMgY2xhc3M9InRleHQtdXBwZXJjYXNlIG10LTAiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjIwcHg7Ij5IT1cgSVQgV09SS1MgQVQKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXRoZW1lLWNvbG9yZWQyIj4gYWxwaGEtYWNoaWV2ZWVyLmNvIDwvc3Bhbj48L2gzPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMiPjEuPHN0cm9uZz5DUkVBVEUgRlJFRSBBQ0NPVU5UOjwvc3Ryb25nPiBZb3UgY2FuIGVhc2lseSBjcmVhdGUgeW91ciBmcmVlIHBlcnNvbmFsIGFjY291bnQgYnkgcmVnaXN0ZXJpbmcgd2l0aCB1cy48L2Rpdj4KICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMiPjIuPHN0cm9uZz5GVU5EIFlPVVIgQUNDT1VOVDo8L3N0cm9uZz4gVG8gY2hvb3NlIGFueSBvZiB0aGUgaW52ZXN0aW5nIHBsYW5zIHRoYXQgZml0cyB5b3VyIGJ1ZGdldCBhbmQgdGhlIHR5cGUgb2YgcHJvZml0IHlvdSB3YW50IHRvIG1ha2U7IHlvdSBtdXN0IGhhdmUgZnVuZHMgaW4geW91ciBhY2NvdW50LjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMiPjMuPHN0cm9uZz5DT05HUkFUVUxBVElPTlM6PC9zdHJvbmc+IEFmdGVyIHlvdSd2ZSBmdW5kZWQgeW91ciBhY2NvdW50LCBjaG9vc2UgYSBzdWl0YWJsZSBpbnZlc3RtZW50IHBsYW4sIHN0YXJ0IGludmVzdGluZywgYW5kIHN0YXJ0IGVhcm5pbmdzLiBLZWVwIGFuIGV5ZSBvbiB5b3VyIHByb2ZpdHMgYXMgdGhleSBhY2N1bXVsYXRlIGFjY29yZGluZyB0byB0aGUgcGxhbidzIGVhcm5pbmcgc2NoZWR1bGUuPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMiPjQuIDxzdHJvbmc+T1VSIElOU1RBTlQgUEFZT1VUOjwvc3Ryb25nPk9uY2UgYSBwYXltZW50IHJlcXVlc3QgaXMgc3VibWl0dGVkLCBhbGwgY3VzdG9tZXJzIGhhdmUgYWNjZXNzIHRvIHRoZSBwYXlvdXQgc2VydmljZTsgd2l0aGRyYXdhbHMgYXJlIHByb2Nlc3NlZCBpbW1lZGlhdGVseS48L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICAKPC9kaXY+CiAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiIHN0eWxlPSJtYXJnaW46NTBweCAwcHg7Ij4KICAgIDxoMyBjbGFzcz0idGV4dC11cHBlcmNhc2UgbXQtMCIgYWxpZ249ImNlbnRlciIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjBweDsiPlJFQ0VOVCAgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC10aGVtZS1jb2xvcmVkMiI+REVQT1NJVCBUUkFOU0FDVElPTlMgPC9zcGFuPjwvaDM+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUiPgogICAgICAgICA8dHIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiNmZmY7Ij4KICAgICAgICAgIDx0aCBzY29wZT0iY29sIj5TTjwvdGg+CiAgICAgICAgICA8dGggc2NvcGU9ImNvbCI+VXNlcm5hbWU8L3RoPgogICAgICAgICAgPHRoIHNjb3BlPSJjb2wiPkFtb3VudDwvdGg+CiAgICAgICAgICA8dGggc2NvcGU9ImNvbCI+VHJhbnNhY3Rpb24gVHlwZTwvdGg+CiAgICAgICAgICA8dGggc2NvcGU9ImNvbCI+U3RhdHVzPC90aD4KICAgICAgIDwvdHI+CiAgCiAgICAgICAgPC90YWJsZT4KICAgICAgICA8bWFycXVlZSBiZWhhdmlvcj0ic2Nyb2xsIiBkaXJlY3Rpb249InVwIiBjcm9sbGFtb3VudD0iMTAwIj4gCiAgICAgICAgCiAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgIAogICAgPHN0eWxlPgogICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7YmFja2dyb3VuZC1jb2xvcjogIzAwMDsgY29sb3I6I2ZmZjt9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtZGFyayI+CiAgCiAgPHRib2R5PgogICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+MTwvdGg+CiAgICAgIDx0ZD5qb2huMzQ8L3RkPgogICAgICA8dGQ+JDUwMDwvdGQ+CiAgICAgIDx0ZD5EZXBvc2l0PC90ZD4KICAgICAgPHRkPkFwcHJvdmVkPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij4yPC90aD4KICAgICAgPHRkPkNyYXdmb3JkPC90ZD4KICAgICAgPHRkPiQxNTAwPC90ZD4KICAgICAgPHRkPkRlcG9zaXQ8L3RkPgogICAgICAgPHRkPkFwcHJvdmVkPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij4zPC90aD4KICAgICAgPHRkPkxld2lzPC90ZD4KICAgICAgPHRkPiQyMDAwPC90ZD4KICAgICAgPHRkPkRlcG9zaXQ8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij40PC90aD4KICAgICAgPHRkPktpbmcyNjU8L3RkPgogICAgICA8dGQ+JDgwMDwvdGQ+CiAgICAgIDx0ZD5EZXBvc2l0PC90ZD4KICAgICAgPHRkPkFwcHJvdmVkPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij41PC90aD4KICAgICAgPHRkPnJlYXMyPC90ZD4KICAgICAgPHRkPiQ1MDAwPC90ZD4KICAgICAgPHRkPkRlcG9zaXQ8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjY8L3RoPgogICAgICA8dGQ+YWxleDAwOTwvdGQ+CiAgICAgIDx0ZD4kMTAwMDA8L3RkPgogICAgICA8dGQ+RGVwb3NpdDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NzwvdGg+CiAgICAgIDx0ZD5NamFkZTwvdGQ+CiAgICAgIDx0ZD4kNDMwMDwvdGQ+CiAgICAgIDx0ZD5EZXBvc2l0PC90ZD4KICAgICAgPHRkPkFwcHJvdmVkPC90ZD4KICAgIDwvdHI+CiAgICAKICAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij43PC90aD4KICAgICAgPHRkPmthcmE1MzwvdGQ+CiAgICAgIDx0ZD4kNjAwPC90ZD4KICAgICAgPHRkPkRlcG9zaXQ8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij43PC90aD4KICAgICAgPHRkPmRha2F0PC90ZD4KICAgICAgPHRkPiQ0MDAwPC90ZD4KICAgICAgPHRkPkRlcG9zaXQ8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij43PC90aD4KICAgICAgPHRkPnRlc2Z5ODk8L3RkPgogICAgICA8dGQ+JDQ1MDA8L3RkPgogICAgICA8dGQ+RGVwb3NpdDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjc8L3RoPgogICAgICA8dGQ+a2F0ZXBlcnk5PC90ZD4KICAgICAgPHRkPiQ2MDAwPC90ZD4KICAgICAgPHRkPkRlcG9zaXQ8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij43PC90aD4KICAgICAgPHRkPmRhYmVzYWdlPC90ZD4KICAgICAgPHRkPiQ5NTAwPC90ZD4KICAgICAgPHRkPkRlcG9zaXQ8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij43PC90aD4KICAgICAgPHRkPnNlZ2d6eTwvdGQ+CiAgICAgIDx0ZD4kNTAwMDwvdGQ+CiAgICAgIDx0ZD5EZXBvc2l0PC90ZD4KICAgICAgPHRkPkFwcHJvdmVkPC90ZD4KICAgIDwvdHI+CiAgICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NzwvdGg+CiAgICAgIDx0ZD5raW5nc2E8L3RkPgogICAgICA8dGQ+JDgwMDwvdGQ+CiAgICAgIDx0ZD5EZXBvc2l0PC90ZD4KICAgICAgPHRkPkFwcHJvdmVkPC90ZD4KICAgIDwvdHI+CiAgICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NzwvdGg+CiAgICAgIDx0ZD5kb2FxazwvdGQ+CiAgICAgIDx0ZD4kNjAwPC90ZD4KICAgICAgPHRkPkRlcG9zaXQ8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4gPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NzwvdGg+CiAgICAgIDx0ZD5rYXJlYml0NDQ8L3RkPgogICAgICA8dGQ+JDEyMDA8L3RkPgogICAgICA8dGQ+RGVwb3NpdDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgCiAgIAogIDwvdGJvZHk+CjwvdGFibGU+CiAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8L21hcnF1ZWU+CiAgICA8L2Rpdj4KICAgIAogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiIHN0eWxlPSJtYXJnaW46NTBweCAwcHg7Ij4KICAgIDxoMyBjbGFzcz0idGV4dC11cHBlcmNhc2UgbXQtMCIgYWxpZ249ImNlbnRlciIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjBweDsiPlJFQ0VOVCAgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC10aGVtZS1jb2xvcmVkMiI+V0lUSERSQVdBTCBISVNUT1JZIDwvc3Bhbj48L2gzPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIj4KICAgICAgICAgPHRyIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyBjb2xvcjojZmZmOyI+CiAgICAgICAgICA8dGggc2NvcGU9ImNvbCI+U048L3RoPgogICAgICAgICAgPHRoIHNjb3BlPSJjb2wiPlVzZXJuYW1lPC90aD4KICAgICAgICAgIDx0aCBzY29wZT0iY29sIj5BbW91bnQ8L3RoPgogICAgICAgICAgPHRoIHNjb3BlPSJjb2wiPlRyYW5zYWN0aW9uIFR5cGU8L3RoPgogICAgICAgICAgPHRoIHNjb3BlPSJjb2wiPlN0YXR1czwvdGg+CiAgICAgICA8L3RyPgogIAogICAgICAgIDwvdGFibGU+CiAgICAgICAgPG1hcnF1ZWUgYmVoYXZpb3I9InNjcm9sbCIgZGlyZWN0aW9uPSJ1cCIgY3JvbGxhbW91bnQ9IjEwMCI+IAogICAgICAgIAogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAKICAgIDxzdHlsZT4KICAgICAgICB0cjpudGgtY2hpbGQoZXZlbikge2JhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiNmZmY7fQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWRhcmsiPgogIAogIDx0Ym9keT4KICAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjE8L3RoPgogICAgICA8dGQ+a2xlZjQ4NTwvdGQ+CiAgICAgIDx0ZD4kMjAwPC90ZD4KICAgICAgPHRkPldpdGhkcmF3YWw8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjI8L3RoPgogICAgICA8dGQ+amFtZXM0NTwvdGQ+CiAgICAgIDx0ZD4kMTUwMDwvdGQ+CiAgICAgIDx0ZD5XaXRoZHJhd2FsPC90ZD4KICAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+MzwvdGg+CiAgICAgIDx0ZD5kcmF3ajwvdGQ+CiAgICAgIDx0ZD4kNjUwPC90ZD4KICAgICAgPHRkPldpdGhkcmF3YWw8L3RkPgogICAgICA8dGQ+UGVuZGluZzwvdGQ+CiAgICAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjQ8L3RoPgogICAgICA8dGQ+SG9tZXI8L3RkPgogICAgICA8dGQ+JDI0MzA8L3RkPgogICAgICA8dGQ+V2l0aGRyYXdhbDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NTwvdGg+CiAgICAgIDx0ZD5Zb3VuY2UxPC90ZD4KICAgICAgPHRkPiQ2NTAwPC90ZD4KICAgICAgPHRkPldpdGhkcmF3YWw8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjY8L3RoPgogICAgICA8dGQ+YWxleDAwOTwvdGQ+CiAgICAgIDx0ZD4kMTAwMDA8L3RkPgogICAgICA8dGQ+RGVwb3NpdDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NzwvdGg+CiAgICAgIDx0ZD5rYWluZTI8L3RkPgogICAgICA8dGQ+JDgwMDA8L3RkPgogICAgICA8dGQ+V2l0aGRyYXdhbDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NzwvdGg+CiAgICAgIDx0ZD5Mb3JldHRhPC90ZD4KICAgICAgPHRkPiQ4NTAwPC90ZD4KICAgICAgPHRkPldpdGhkcmF3YWw8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgIAogICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NzwvdGg+CiAgICAgIDx0ZD5ncmFjZTI8L3RkPgogICAgICA8dGQ+JDU1MDA8L3RkPgogICAgICA8dGQ+V2l0aGRyYXdhbDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgCiAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij43PC90aD4KICAgICAgPHRkPmx1aXM8L3RkPgogICAgICA8dGQ+JDM1MDA8L3RkPgogICAgICA8dGQ+V2l0aGRyYXdhbDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgCiAgICA8dHI+CiAgICAgIDx0aCBzY29wZT0icm93Ij43PC90aD4KICAgICAgPHRkPmthbmUyMzwvdGQ+CiAgICAgIDx0ZD4kODUwMDwvdGQ+CiAgICAgIDx0ZD5XaXRoZHJhd2FsPC90ZD4KICAgICAgPHRkPkFwcHJvdmVkPC90ZD4KICAgIDwvdHI+CiAgICAKICAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjc8L3RoPgogICAgICA8dGQ+ZHJha2UyMzA8L3RkPgogICAgICA8dGQ+JDExMDA8L3RkPgogICAgICA8dGQ+V2l0aGRyYXdhbDwvdGQ+CiAgICAgIDx0ZD5BcHByb3ZlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGggc2NvcGU9InJvdyI+NzwvdGg+CiAgICAgIDx0ZD5rZWV5MDIwPC90ZD4KICAgICAgPHRkPiQxMTAwPC90ZD4KICAgICAgPHRkPldpdGhkcmF3YWw8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgCiAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjc8L3RoPgogICAgICA8dGQ+Z3JhdGVrZTA3PC90ZD4KICAgICAgPHRkPiQxMTAwPC90ZD4KICAgICAgPHRkPldpdGhkcmF3YWw8L3RkPgogICAgICA8dGQ+QXBwcm92ZWQ8L3RkPgogICAgPC90cj4KICAgCiAgIDx0cj4KICAgICAgPHRoIHNjb3BlPSJyb3ciPjc8L3RoPgogICAgICA8dGQ+bWlnaHR5NTA8L3RkPgogICAgICA8dGQ+JDEwMDwvdGQ+CiAgICAgIDx0ZD5XaXRoZHJhd2FsPC90ZD4KICAgICAgPHRkPkFwcHJvdmVkPC90ZD4KICAgIDwvdHI+CiAgIAogICAKICA8L3Rib2R5Pgo8L3RhYmxlPgo8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8L21hcnF1ZWU+CiAgICA8L2Rpdj4KICAgIAo8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgICAgCjxmb290ZXIgaWQ9ImZvb3RlciIgY2xhc3M9ImZvb3RlciIgZGF0YS1iZy1pbWc9ImltYWdlcy9mb290ZXItYmcucG5nIiBkYXRhLWJnLWNvbG9yPSIjMTUyMDI5Ij4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBwdC03MCBwYi00MCI+CiAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTMiPgogICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IGRhcmsiPgogICAgICAgICAgPGg1IGNsYXNzPSJ3aWRnZXQtdGl0bGUgbWItMTAiPk9mZmljZSBBZGRyZXNzPC9oNT4KICAgICAgICAgICAgPHA+VW5pdGVkIEtpbmdkb208L3A+CiAgICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTMiPgogICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IGRhcmsiPgogICAgICAgICAgICA8aDQgY2xhc3M9IndpZGdldC10aXRsZSI+VXNlZnVsIExpbmtzPC9oND4KICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0IGFuZ2xlLWRvdWJsZS1yaWdodCBsaXN0LWJvcmRlciI+CiAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWFib3V0Ij5BYm91dCBVczwvYT48L2xpPgogICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1ydWxlcyI+UnVsZXM8L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9ZmFxIj5GQVFzPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXN1cHBvcnQiPkNvbnRhY3QgVXM8L2E+PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiBjb2wtbWQtMyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgZGFyayI+CiAgICAgICAgICAgIDxoNSBjbGFzcz0id2lkZ2V0LXRpdGxlIG1iLTEwIj5Db25uZWN0IFdpdGggVXM8L2g1PgogICAgICAgICAgICA8dWwgY2xhc3M9InN0eWxlZC1pY29ucyBpY29uLWJvcmRlcmVkIGljb24tc20iPgogICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtZmFjZWJvb2siPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLXNreXBlIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS15b3V0dWJlIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS1pbnN0YWdyYW0iPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldCBkYXJrIj4KICAgICAgICAgICAgPGg1IGNsYXNzPSJ3aWRnZXQtdGl0bGUgbWItMTAiPkNhbGwgIFVzPC9oNT4KICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC1pbmxpbmUgbXQtNSI+CiAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtLTAgcGwtMTAgcHItMTAiPiA8aSBjbGFzcz0iZmEgZmEtcGhvbmUgdGV4dC10aGVtZS1jb2xvcmVkMiBtci01Ij48L2k+IDxhIGNsYXNzPSJ0ZXh0LWdyYXkiIGhyZWY9IiMiPlVLIDogPC9hPiA8L2xpPgoKCiAgICAgICAgICAgICAgPC9hPiA8L2xpPgogICAgICAgICAgICAgIAogICAgICAgICAgICA8L3VsPiAKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgIAogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiBjb2wtbWQtMyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgZGFyayI+CiAgICAgICAgICAgIDxoNCBjbGFzcz0id2lkZ2V0LXRpdGxlIGxpbmUtYm90dG9tLXRoZW1lLWNvbG9yZWQtMiI+T3BlbmluZyBIb3VyczwvaDQ+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5pbmctaG91cnMiPgogICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC1ib3JkZXIiPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjbGVhcmZpeCI+IDxzcGFuPiBNb24gLSBUdWVzIDogIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmFsdWUgcHVsbC1yaWdodCI+IDYuMDAgYW0gLSAxMC4wMCBwbSA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsZWFyZml4Ij4gPHNwYW4+IFdlZG5lcyAtIFRodXJzIDo8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZhbHVlIHB1bGwtcmlnaHQiPiA4LjAwIGFtIC0gNi4wMCBwbSA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNsZWFyZml4Ij4gPHNwYW4+IEZyaSA6IDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmFsdWUgcHVsbC1yaWdodCI+IDMuMDAgcG0gLSA4LjAwIHBtIDwvZGl2PgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY2xlYXJmaXgiPiA8c3Bhbj4gU3VuIDogPC9zcGFuPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWx1ZSBwdWxsLXJpZ2h0Ij4gQ2xvc2VkIDwvZGl2PgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibS0wIHBsLTEwIHByLTEwIj4gPGkgY2xhc3M9ImZhIGZhLWVudmVsb3BlLW8gdGV4dC10aGVtZS1jb2xvcmVkMiBtci01Ij48L2k+IDxhIGNsYXNzPSJ0ZXh0LWdyYXkiIGhyZWY9Im1haWx0bzoiPjwvYT4gPC9saT4KCiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ib3R0b20gYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC01Ij4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHB0LTIwIHBiLTIwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICA8cCBjbGFzcz0iZm9udC0xMSB0ZXh0LWJsYWNrLTc3NyBtLTAiPiAmY29weTsyMDIyIDxhIGhyZWY9Ii8/YT1ob21lIiBjbGFzcz0idGV4dC13aGl0ZSI+IGFscGhhLWFjaGlldmVlci5jby48L2E+IEFsbCBSaWdodHMgUmVzZXJ2ZWQ8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IHRleHQtcmlnaHQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgbm8tYm9yZGVyIG0tMCI+CiAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LWlubGluZSBzbS10ZXh0LWNlbnRlciBtdC01IGZvbnQtMTIiPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWZhcSI+RkFRPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICA8bGk+fDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgPjxhIGhyZWY9Ij9hPXJ1bGVzIj5SdWxlczwvYT48L2xpPgogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaT58PC9saT4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zdXBwb3J0Ij5Db250YWN0IFVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIAogICAgCgogICAgPHN0eWxlPgogICAgICAgIC53aGF0c2FwcHsKICAgICAgICAgICAgei1pbmRleDo0NDQ0OwogICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICAgICAgIGJvdHRvbTogMDsKICAgICAgICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0KICAgICAgICAgICAgLndoYXRzYXBwIGltZ3sKICAgICAgICAgICAgICAgIHdpZHRoOjUwcHg7CiAgICAgICAgICAgICAgICBoZWlnaHQ6NTBweDsKICAgICAgICAgICAgICAgIG1hcmdpbjoyMHB4OwogICAgICAgICAgICB9CiAgICAgICAgPC9zdHlsZT4KCiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd2EubWUvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ3aGF0c2FwcCI+CiAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2ljb25zLnBuZyI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPC9hPgoKICA8L2Zvb3Rlcj4KCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCQkJLm1nbSB7CgkJCQlib3JkZXItcmFkaXVzOiA3cHg7CgkJCQlwb3NpdGlvbjogZml4ZWQ7CgkJCQl6LWluZGV4OiA5MDA7CgkJCQlib3R0b206IDMwJTsKCQkJCXJpZ2h0OiA1MHB4OwoJCQkJYmFja2dyb3VuZDogI2ZmZjsKCQkJCXBhZGRpbmc6IDEwcHggMjdweDsKCQkJCWJveC1zaGFkb3c6IDBweCA1cHggMTNweCAwcHggcmdiYSgwLCAwLCAwLCAuMyk7CgkJCX0KCgkJCS5tZ20gYSB7CgkJCQlmb250LXdlaWdodDo3MDA7CgkJCQlkaXNwbGF5OiBibG9jazsKCQkJCWNvbG9yOiAjMWM4ZTUxOwoJCQl9CgoJCQkubWdtIGEsCgkJCS5tZ20gYTphY3RpdmUgewoJCQkJdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOwoJCQkJY29sb3I6ICMxYzhlNTE7CgkJCX0KCQkJLnR4dCB7Zm9udC1zaXplOiAxNnB4O30KCQk8L3N0eWxlPgogIAoKCTxkaXYgY2xhc3M9Im1nbSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KCQk8ZGl2IGNsYXNzPSJ0eHQiIHN0eWxlPSJjb2xvcjpibGFjazsiPlNvbWVvbmUgZnJvbSA8Yj5HZXJtYW55PC9iPiBpcyA8Yj50cmFkaW5nIHdpdGg8L2I+IDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImphdmFzY3JpcHQ6dm9pZCgwKTsiPiQ1MDA8L2E+PC9kaXY+Cgk8L2Rpdj4KCiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICB2YXIgbGlzdENvdW50cmllcyA9IFsnU291dGggQWZyaWNhJywgJ1VTQScsICdHZXJtYW55JywgJ0ZyYW5jZScsICdJdGFseScsICdTb3V0aCBBZnJpY2EnLCAnQXVzdHJhbGlhJywgJ1NvdXRoIEFmcmljYScsICdDYW5hZGEnLCAnQXJnZW50aW5hJywgJ1NhdWRpIEFyYWJpYScsICdNZXhpY28nLCAnU291dGggQWZyaWNhJywgJ1NvdXRoIEFmcmljYScsICdWZW5lenVlbGEnLCAnU291dGggQWZyaWNhJywgJ1N3ZWRlbicsICdTb3V0aCBBZnJpY2EnLCAnU291dGggQWZyaWNhJywgJ0l0YWx5JywgJ1NvdXRoIEFmcmljYScsICdVbml0ZWQgS2luZ2RvbScsICdTb3V0aCBBZnJpY2EnLCAnR3JlZWNlJywgJ0N1YmEnLCAnU291dGggQWZyaWNhJywgJ1BvcnR1Z2FsJywgJ0F1c3RyaWEnLCAnU291dGggQWZyaWNhJywgJ1BhbmFtYScsICdTb3V0aCBBZnJpY2EnLCAnU291dGggQWZyaWNhJywgJ05ldGhlcmxhbmRzJywgJ1N3aXR6ZXJsYW5kJywgJ0JlbGdpdW0nLCAnSXNyYWVsJywgJ0N5cHJ1cyddOwogICAgICB2YXIgbGlzdFBsYW5zID0gWyckNTAwJywgJyQxLDUwMCcsICckMSwwMDAnLCAnJDEwLDAwMCcsICckMiwwMDAnLCAnJDMsMDAwJywgJyQ0LDAwMCcsICckNjAwJywgJyQ4MDAnLCAnJDIsNTAwJywgJyQ2LDkwMCcsICckNSwwMDAnLCAnJDIzLDAwMCcsICckMTUsMDAwJywgJyQ5LDAwMCcsICckNiwyMDAnLCAnJDEyLDAwMCcsICckNywwMDAnXTsKICAgICAgdmFyIHRyYW5zYXJyYXkgPSBbJ2p1c3QgPGI+aW52ZXN0ZWQ8L2I+JywgJ2hhcyA8Yj53aXRoZHJhd248L2I+JywgJ2lzIDxiPnRyYWRpbmcgd2l0aCddOwogICAgICBsZXQgaW50ZXJ2YWwgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoMjAwMDAgLSA4MDAwICsgMSkgKyA0MDAwKTsKICAgICAgdmFyIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKCiAgICAgIGZ1bmN0aW9uIHJlcXVlc3QoKSB7CiAgICAgICAgY2xlYXJJbnRlcnZhbChydW4pOwogICAgICAgbGV0IGludGVydmFsID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDIwMDAwIC0gODAwMCArIDEpICsgNDAwMCk7CiAgICAgICAgdmFyIGNvdW50cnkgPSBsaXN0Q291bnRyaWVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGxpc3RDb3VudHJpZXMubGVuZ3RoKV07CiAgICAgICAgdmFyIHRyYW5zdHlwZSA9IHRyYW5zYXJyYXlbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogdHJhbnNhcnJheS5sZW5ndGgpXTsKICAgICAgICB2YXIgcGxhbiA9IGxpc3RQbGFuc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsaXN0UGxhbnMubGVuZ3RoKV07CiAgICAgICAgdmFyIG1zZyA9ICdTb21lb25lIGZyb20gPGI+JyArIGNvdW50cnkgKyAnPC9iPiAnICsgdHJhbnN0eXBlICsgJyA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJqYXZhc2NyaXB0OnZvaWQoMCk7Ij4nICsgcGxhbiArICc8L2E+JzsKICAgICAgICAkKCIubWdtIC50eHQiKS5odG1sKG1zZyk7CiAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZUluKDMwMCk7CiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZU91dCgzMDApOwogICAgICAgIH0sIDgwMDApOwogICAgICAgIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKICAgICAgfQogICAgPC9zY3JpcHQ+CgoKCgogIDxhIGNsYXNzPSJzY3JvbGxUb1RvcCIgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLXVwIj48L2k+PC9hPgogIAoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vIDwhW0NEQVRBWwpmdW5jdGlvbiBnb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCgpIHsKbmV3IGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCh7cGFnZUxhbmd1YWdlOiAnZW4nLCBsYXlvdXQ6IGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudC5JbmxpbmVMYXlvdXQuU0lNUExFfSwgJ2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCcpOwp9Ci8vIF1dPjwvc2NyaXB0PgoKPHNjcmlwdCBzcmM9Imh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20vdHJhbnNsYXRlX2EvZWxlbWVudC5qcz9jYj1nb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KCjwvZGl2PgoKCjxzY3JpcHQgc3JjPSJqcy9jdXN0b20uanMiPjwvc2NyaXB0PgoKCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3Jldm9sdXRpb24tc2xpZGVyL2pzL2V4dGVuc2lvbnMvcmV2b2x1dGlvbi5leHRlbnNpb24uYWN0aW9ucy5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLmNhcm91c2VsLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3Jldm9sdXRpb24tc2xpZGVyL2pzL2V4dGVuc2lvbnMvcmV2b2x1dGlvbi5leHRlbnNpb24ua2VuYnVybi5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLmxheWVyYW5pbWF0aW9uLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3Jldm9sdXRpb24tc2xpZGVyL2pzL2V4dGVuc2lvbnMvcmV2b2x1dGlvbi5leHRlbnNpb24ubWlncmF0aW9uLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3Jldm9sdXRpb24tc2xpZGVyL2pzL2V4dGVuc2lvbnMvcmV2b2x1dGlvbi5leHRlbnNpb24ubmF2aWdhdGlvbi5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLnBhcmFsbGF4Lm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3Jldm9sdXRpb24tc2xpZGVyL2pzL2V4dGVuc2lvbnMvcmV2b2x1dGlvbi5leHRlbnNpb24uc2xpZGVhbmltcy5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLnZpZGVvLm1pbi5qcyI+PC9zY3JpcHQ+CgoKCgoKPC9ib2R5PgoKPCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307Cl9zbWFydHN1cHAua2V5ID0gJ2ZhMTA4ODc3YmFiOGRhNmU3MTJjNjJkNWYxMzkyZTlmZDUzNzMwNDUnOwp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PiBQb3dlcmVkIGJ5IDxhIGhyZWY94oCcaHR0cHM6Ly93d3cuc21hcnRzdXBwLmNvbeKAnSB0YXJnZXQ94oCcX2JsYW5r4oCdPlNtYXJ0c3VwcDwvYT48L25vc2NyaXB0Pgo8L2h0bWw+Cgo="}},"time_used":682,"timings":{"blocked":-1,"dns":120,"connect":98,"send":0,"wait":258,"receive":0,"ssl":205},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/about.jpeg","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.811Z","timestamp":1785123385811,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/about.jpeg HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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 404 \r\ncontent-type: text/html\r\nlast-modified: Tue, 22 Apr 2025 07:41:12 GMT\r\netag: \"119f-68074818-50a8cf69a1493aef;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1626\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4511,"size_decoded":1936,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-07-31T13:43:18.980552Z","times_seen":38021,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":99,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":99,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/fonts/fontawesome-webfont3e6e.woff","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.860Z","timestamp":1785123385860,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /fonts/fontawesome-webfont3e6e.woff HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/css/font-awesome.min.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncontent-type: application/font-woff\r\nlast-modified: Fri, 22 Mar 2024 13:18:25 GMT\r\netag: \"12d68-65fd8521-a6a76a868d813dd7;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 77160\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":77160,"size_decoded":77491,"mime_type":"application/font-woff","magic":"Web Open Font Format (Version 2), TrueType, length 77160, version 4.459","md5":"af7ae505a9eed503f8b8e6982036873e","sha1":"d6f48cba7d076fb6f2fd6ba993a75b9dc1ecbf0c","sha256":"2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe","sha512":"838fefdbc14901f41edf995a78fdac55764cd4912ccb734b8bea4909194582904d8f2afdf2b6c428667912ce4d65681a1044d045d1bc6de2b14113f0315fc892","ssdeep":"1536:/MkbAPfd1vyBKwHz4kco36ZvIaBfRPlajyXUA2jVTc:L0nXnHdfRVEAS2","tlshash":"7d7302e63b6c4943e03d6460708abe9f104b3ab42fe057e5c876db7f2722992b71552c","first_seen":"2023-04-05T03:30:47Z","last_seen":"2026-07-31T13:42:11.509154Z","times_seen":525353,"resource_available":false,"data":"d09GMgABAAAAAS1oAA0AAAAChpgAAS0OAAQBywAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGiAGYACFchEIComZKIe2WAE2AiQDlXALlhAABCAFiQYHtHVbUglyR2H3kYQqug2BJ+096zq1GibTzT1ytyoKAhnlGvH2XQR0B9xFqm6jsv/////kpDFG2w7cQODV9Pt8rYoUCGaTbZJgmyTYkaFAZFtCUREkKFtVPCsorbhAUNA1HuRggbAO2j72UBAaO+EokdExs/1s2/5o1Kiiwimf3Fl5lPJKaenrF62Fznwl24G3XqwUR4KiM7gSbp6V6LraldwKxM2QRIqecFxZciCUTN9Q9A6NG4N0pSnLEZjvE6c2UsJeIlMLTH7xWVLXQ1hSFQmKNIGO5kb6eVxbv+g3bqHirnwdc+C7jHEeo027jiVLyf8XLtu6DiwL+oT3+EzQdP8n9hCQyU0dLBEVY/eIK2L6xNeH50/9c/le2CSFhtd6Lgf1bcWgDPxoJmdi3vDhdu2H8wEOySeKDzajOrC7w/Nz622jYowx2KhtMCLHghqwvypWjKiNHqNjoyQsMEFUUFS0MRID+/SsPAvtO+3z0mAQ5rYn8UgOP/Fzzqk6kQ9ORJ+o/KkQSRGkJIwEVBSLW4GCYjSKEc38f+rs7yyvzrzX772jYmw2kboLSUzpaX3bjCbgNOOUbSwnyxbL8yO916Wzf1J3AaJidcC2LEuWC8YGm+J2iwPbCG1fLcDA5lxIi537jkhI/qrzk+oHxsI/mJbTbfMLOVCIrdgpOedKqIYkxr2InOex9Dj46Mfazs5+uTvEchWNbr89JBEatR+UTmRkbhshJ66m8OM7s/SsOJm8J9lOpu0eIX8tGAZKGcq20y7g2PqR7livPQwsEgQOkJseImA6GKL/Gw8JCSB7je+e3OC8EstLISefAKEtRkiUnAmJIyR+m1pfhLmdEBK1A041VlU4RsivHKKOJRRQ1Pvdq9rb+wYIDIZDcAgCJARRGaK0u9oQnXKs7KLKvZvuumu7a9obpzPZtxPROlIRJR4QtoEye/SH3qn1kh1oJbspOMkR9gD48QEPGApJTEuQNnb0I+37s+7+Biw70KY2h6BOmjLOaHa3Dw4I/u9/zf7rDE9Pkad0IxaFBuJ4VInvqkJmAp2ehHFeFiOcrp+WP3v+NWKKSeLgJS1XWpDruWKkQaMTDF7kMc3ZbjUZ+a7pitemTlGdWSf65t3NEpYE/JFTBNwYH6YhdCIgBmBiM+n3JZMH9O8zNbsCFNFmdjurndXObM6s7jmcOmpnZj9ncpv1cP94nyCAD3wS/CAkCCBlEpQcEpRaFCjFFCR3KFpyU5DodiubWtkcz9Zx9k2i7B6b7s3q3ZltPyZzW/bldJlTklNqjqc5nK/j9z+tfNrqDfHwxT5HDswGLBBiRNW3Xqn0ql6px90bOmyKM469TkGaYKs1C5wyNrMBTPlwU/IJQd+nL1XrCsLWmLS8s7QnOVy0p9WGdLiFEK8h3/b2+rca/RuBbAAGhSBQTVK0mpA5boAKzWAVEhMoyhBA0iBIeSlN0mRNyg2QHDXp1KQTSCfSkZoc8m1TPPro23Ema7wpXM97O+4xxcNt+QebONt74YvVWIQx3S0zx5qQkSmCQiiEkSz7JfWTELC2to0ExAsFBd3923efb36+mHTt8EhXOGyQ1FoRCXKk47//PWWzGuzfMSvmBwUvyY4xVz/WsHLuEg44OVBMxtIBPnVvOSDFGDEgdMOYq8N1Y6edke7EQLP5XUsUEFLvf2JO/7uSdvuTtNQaqqgouCKKg3nrvbt7HAxjrv+P5vNzY3qmGSaucDWn5QShLGqzbiCia07EIYMug25e9/hVdR8AQHz8GD92tT73B7kdudwckXIYVWHcSFIgCxqPEPq51/jVkQCT80kNRInfy4tRv71+cOkKgNyNOzu4bvn5jUwYFyShdPkJOgloRkNZoe3eVE+gRk4dTn59F/ExImCzqPyf2GHPB8sozT9IIBGXlocfxFyWzeV1yjATTNS19fEnte26vb7NlFBibm1Pv5jrtt39jb8CGEpsiz8CAQie5XOr5wWIMCwOOIx4yULy+va+QhnH5ZFGiRAUn1/fG1JpWh34/7fUfmUjFWqwEbF3/WhPYyomRjYMrFlxwZIFe4l9P8nzPvd1Hvu2LvM0Ds5oJQVnlGAEpybX5yC4yxIpqaxSNRjlSIx9saf/y6Swa9yp2xyQJ0qZ3k+/AEmI2xO2nV/vs38FkXFPYifWSMefAEJZRU2jAxw2yHaEgTWqEE5KDeUVAU+ITgcaRgtOeCgxkjoBXLrfq0Pga45joGI4BVH0CRNk4RhbTBQoZWwcKzJ1Le7QYdaYZKKONTuiTiTU9iKiSKqPEKtTRrpv6zJpqCKK2VyzaAQ3SYz2oDxTQ08CrRm4lsiQSKAe4kV3IQEuH9fp/SFCUxJDqmcexJ2JY+MOueRzKtWnc4koNW2UPXHGyoplovvxWZELJOtcPhBmTjiAcZeMeOojdgqlNnVt7wngGZ2wYNtOTS1KAFz0EEa3x3LpRAKAHrVa0zCTByMn6qWIbuwR0kdqTILahlgUG8qMokGqnfFnWXOZKrJZytwHx17ZtZg7ItgdJGhifz25FhnPmxOYMN52SDyXVnZ/gWObXwBcWYoD7KPodztkQhYCg4sDToOEMxshJM7n57Tn4t5JfFCYIH4TJhPkA2TFLsgDG9Sw6QItYQfz+mEZCSsrwhOSOboubVL46TTjY3mvnrkji1XVwkZX7gh1vQ3cCRdpL/Ccr5RmfoA03fBsg+sOWFP0OcOEG/cxRZ3wvTNAkP3aaxOI3BVAFycjo7y2Y6y92W7qqSC68RXvU187rCX77kmK0MEru/gu80wa2EMCeLHr7h4evvrqhrF3CdrNVtuCgIG6qOGkwMP5RXhmfkhgvekwH7whZJToQFF7T2gxiRcXsUjBtkbDq9V6cxqNN/Pdibazxpx0D3J2zOip0mudu4ZoZVMzt9uHdpk5hHF8q0+C75dLKZVVXPKWQdIlo7m7AsRvHntsPIbbS7j/up3NjqKkjmmzj/FI60eASYV6nT02mldXbzDr2Qt8Fd4lQfcaamREKSENgKlwd67I7l+Cs+s7uPGm22OXRCPp/8uBTZDA3k56nPIFtwRwsF6PQ0R43sJ4aimENU/IOfsNoWDR0kVEWO548Y0g3ZJHVcjA7cuvDsSZqgSp79baiZwuJQ23v7bOiLF+DOPx+j3/CBoWQxNvpikNRoQ388rnJFqk/Si3Z8Hrb0Ktpw3bxpzAQN7lJvLD2mXuewbq4uWOo6AIbKCwZopfxlJ4mU5bp10MrpsHOGAtM5lztKbBknt/UGoB3hm4V3VjOe+FuK6phBtbPh3qLZ8uRKLcjln6H/ebFQ+AHmSHDM/C2AeisisYXnuTrrlD7veJsW3gxNnwLKaxQE48spAd2tnQ+PKJrx9/Di6NlFbx5k3w2hFT7CvTXESeK6LaUqJ80Ta1C+IncVxU4N0CppXzHB45h0SEBlg8fyTtcImA3gciu+mFppL8JJvStwveLPlwH7tz+aVU084a3f6vYrv/1E5rSZEeX+ahYNXmCkboiB/qV5OfVv+UJdnRdwitfqmkxETUkNnCy90q87N4afIeuHlbclqqhwCZW1MltEeb3BhzYEY844WjhbOsIKLBVosr/vMhK62W9/WKuNiNizl5n2vFwWZikTgy3gZz3n1sO1spZSTE+IlUnYaWa62DkuApmnaPtqk5rAGE4xune9N1E/J1j3SPyN6zQEXj9D58Q/baPFw0JQiXUnbhDKW26eXE6Kra9EDXukPMOFyR+H4pFCNrfL65LmHrb6q62gO6MDBHlHEwHRQl8fzwE6GZaHCLqboNTP+c3iKMKz6O7Oa1JaoLXk3LiphOmnPTyAZxjrQ9lRKwD77u5eSmhrBLETRy5y0q7+cl6NpoI9clO3BQ6aaUaNZDPffO+traDZca5SYUKaliYYTGS0z4QL/5nuR0uiGifjLtU11yWWy6WjbQM9GeSt5vtJhPo1b1O7loJmdPNZJSVIgvffnB0sZ7rqXyFxdBWtImhxlT8+LZdNjK+ZzPAwvNrwHpolDq60OhpBSiMBMItLZELPtwYnDQt9R6KacgXYBJ9z4aAA5RXEJswSK6l14zUj5y/Sr7uwRDPsAeHoOn4Rd4UFW6eh6tfVkRPQIP9cyVFrx99dC2xxCaGQrnDRw2LWAvIkgLCm+FJpJEl0kw/0UyWGGJlS0fqXsONcCBmTwNLH2U0RNgYDb6x+0YkGppounYaW08VXVqWala+moOQlxAjGfLM0VqZnCW+JifOrra7eoQV9vHrp+62d+zjpyUznClxLMzYW+v+xGBMYhkYYv4IJwDt92rpf2ImUqC17I/IGrOcTeuvk3D5s5mZplZtWbLHNRzAh6wGySbnAmElUj9kRTmrGyllvW5v8CIlyglLptyBuPSdz8D8r5tPX4LgnmyY1mRYmcpPMtXhCAvVngW2muptJIk5/OPDELwcn7xhgGn0/A5E942jTDRJv6ZX3ZNAFnCJYST0p175kV/iTY8w+mVx8Lt2yWLJas0rYuO36BP3kDv807h+QihgqoiWrcY309Ee3UzUw+Mx1eLTbCVUqftM3M8w/UZp5HYsw2jgKbxsFxJDjCNqy6gxS0y3a3sz+OErTuvCeyDMNUOtn1Oqy9i9fYajk57hEmZs3xiX3LEZfidX3BTaYPjyhQPPhIn3HesNfzb+lJGLNGHiCUeU1mWhLvGV2ijNkxfaeyDoz2am75pMfEz/llJN064Q3CNScnwxJS+wxIoD6hyr769MKvde2qJGfe6hXKLS7yemeXQom8pbNnE9IczbmG/VDF/XKfDSRlFKOltvfeyvd+Dm5PCRPRs+qx/ZbOzx+Ykw4Xfd1ieiMxVrPwoQJWErvdN9WEibqwOLOQqdkezHZYcicyoE3i5iq4+lUfZDFOCEYOA7r1nwMyJIpRRy3akYhQwKnrbyFBF9HnByYmMPzevJBMLwY7Y8CWeHYlHh9LR5HDJZFnIJmbiByHt+8dhNpSOfKgIKb8OO3U3I8IzyTSQbUrEs9v4Cm/39olP+HCtyIGidjhqoOqZ/HgoS8svWtxkuwOKj3jJxYP9bTdW0V9cp2bXTOU3DHCbWPN6Fh7shUg3vi2rDpa1LCgxS0hirWWQqCxyLRkco6ARcKFMy+/G7aAzPeZUmALGMql0kTLZvFiWazqptLX/CFqANcDPcwWJDnAOiNJTc1SruAUa1es6Ll21t0QilECw9S22RbfMkQYhEJQTQY3wkTK6ybYt8EYZfbHLkoAyQseDko1RGpnVF+AFKXTFw6d82iM0hHzcXPfjqIDwyGC3ZmMQLLafI9QHZ4npMTrZLdYWq6G5dHkXINtd+4eY4OQyr1p+ArGEAC4p4+mu8/Sz1wLHjODWHrWh3CVSpUuNmKu/KHmQAmCROJa2QxrXx9aN+rfL93qTuh2KSy1OjgyE8wEO9WBeK6b1i55uCKKoizO528+0GP4C5fSAnRaVVIHyM4J0UeHYo6kGCDQ8PjpKMMOIJeXdkVphYmDovQPqds2s/IZh9lQvWgEC+hScYd6dx9CTSWkJm1cxkBb88f2DX6mQED4pw/qXvkgilIr54+lwkusLg3w3bRRGtV5az81+ZosRFzBK8epeAMlJkRfcM1a5IekYpdx70zxlzC89znBg2tcM3nGtngA4XvbU2dPBSzjM60/NOfZ3MNPqWpC0fB6K3AR2P5FuwxQJ4Awzl4FmgSH9y9+30X6V/FSKIB+n5B37wcryIErTm6X7hAcRHN811wvBcKaPFLpWCbzfM4fLq7jF1/MPLj3G8czugS19p9xbzmflUuE1q/Od827so0I44ZH3g5kzLrsI0jgUCVlnoSMw3ya4va9ThC8uZmdcChpF4mbnfQ6QyCxrh6KU6ZNn/AYU+yQDuT9YWZMHKo/6lKm6Ebwxr5BwrZdFKL/X6/JSU5KkUbqYdJ7uAzYsoFHjalwI8OM8CC9dTq5z+80dpTvNJwwYSFhdjkWYMh45kIdkpmtZ/Q3ZapCOwlI20dTt9wNREiGYygDq7vcgVoa7mQolIggVXtBgl04zT/KMog/6hoOsW/EddjrgyoQ62ehe2pxy17/nEUDq0uwKjUbFX67XEeUBCE5jzELSF/H9wzhwo1xpr6K11zfP7otn5a0DKu6P0c39LINDq50awg7hW4c2tFSSP7q6tRaFJfJ6+8VAAQYYakFwQk418J4iNFSepeD0IpZ9MHVK9IePnpbInH4z9h7ZDtF7fQJ1V/aM4O5Nkx5q+jnILYJdE/WrnRGZJ2xTsiAv8FI+PKUr50+fldvYH2VCI5VCY9Ia2cAC6GpMXBESo8QtvlpolVvX+kk8jar8D/GEGHGodt5+lmtdm0fDztVURL8/U6nL2dYvGsYt1Ncl3ZKJlNnoNwyI/nemaXxDFstJocRx8XdjqIBXAZsUeAyasSDPDC83BIF4rIJITy+u5bUd8G9dkZ4PlEddinmP34Pr/If7I4WHHzepj2LN4ySTdMccqlLbJCAGvpjpf13jtGE3G81Go9Gur7KPLG4hcsvfSXwywBC847g46pJ4/zbnmWdTpmixCbKTUl5ek0Qu+HiKTdFNUz/mvJ4nR/oj/H7hK52susTsCHY0imQhRnlU3DnxLbJmVmE3aPtCrssXNP6rn5boFyypMrzGicT9FSZ2VEhNcXDwNBQ/AlJctL2yqr5YYTyR2DQQ7pYcQE1prEjURF++6AmbRRFnqs9SiXmxTZrT0WxU/tigSt2uDauWeQ9jys4imUhK9CwgNop19i/atJviDq2dBMAPi5TpiXmOAJdWy9nmbkpu259IXFDFUqNCZHzTFDS5X+iOJGvunMvGwMYuuZp3EuqWyhvCmRQBSaBwU739JOT8HJZ8fWrO1vQ5yNrkpOkTw/4RoW2HfIMx0d+Ynre3/G6+OTODOb4fAevurJDUNXECU/p8hpufeFftORPa3OzN6kKyllZaIbqZuMttp0sv+0xuO2mr7nWz7STmFSrOdDMQ1s22E4zXQH0AFLCktEJ79Vnv4rjkn9SRlBR6qzJK53VA32H3FlwZTfuJhw5SN2+z8xhkeuigFaigm2Wz8jfeLyQ0XV6Vwb8ya4ocaCSMEz0cJQCJ5THuSedC0tiDIIPPSHwIAvhOLlvJTVwLTJeM+2La7drpMU1n5vIaOp1OVi5fMLEALJ4rFuEsuKRo3XQ3tGw4jXN+SVZeDU7ly7xN8rLDf/jYkWrk3NmDLaIJb9yuxa9R5MFvEFttf4igauk9cgOc/G0+8X56NCRNmuEXG316INXvm4BzAItoIiKeh+x1N7dWe1LDu92mALhPES2ehUQ5VtbZpWeGScqOS+xMZ9u2QhD/VA+o81C1J4dLF8/KzKbvCg5xVwWE1pLzM2W2s6USBP9w5IYmkJaI25KJ5kyLGGhws6qn1U6DYVOuowx3+aEKJpjU4oU7ZSiHLC0CN3bKeKMtv9t3JFepF89uWPNVn56HhbiJ6vfGdDiJmxG1kZkDWecRiro/S02fY3S7WdiDvnAq1YeO+okFi+It7YQc7svQkWZMrHzCW25MiuecDX00iXs12RjpoKCjM+GnjB0VC4huirCUJCQsK6NETgfUhC1I7VY+mNdIpo6Y2vlPc1wItwX/lS3RO8BXNgBO+JVNid04sp1GaZWR1Du+jaU3GWvzMrE2JQLWkswPHGFdLDohjcqy2r1FLB2f3ntVhP4BC25hd7ux+YVOZ6GGLq3ySQc5cjpqoIQV/5KMGrA8SRNFtTHwYCRgTGJyx5KEgded6s5dEeV44h05PVIZdiYqUTXogAQwen8e88v4eTyI4AHqg2BNfPbUmZpkT4bZpWlaruMZxSSu7hm7KyMeS0jIRgqNw+nE6u2+gwCnjgnuyBj4iR+njyktCb4GOk0ky3ljoK5FwCVBaZWSBTJdlpgIzGzltqiQiRyaGc04hkkavHmy0gVaF0dKs4MaogauXNUeMhrWmVhiGL9Mvvbwn0nCQS39R3JSACHNMKAToNtMK8BRaKpT81nU0hPX8lO/Nf1fHtgopQYOcG9GmqdUiYcRryNrHE7bvupsfHKHbgazZNdIoAceltx5E9uK5vnu5Mgm24YXeONwsMH34eVb6RY4RxqG/tlkdKyirKOxeuywg9mmBgk4tLRCva5LUCJAMmWMZQPmlAuseeYeeOenHtpqvbicBpVKS8KIaMFYxaxC7H3qEaY2CPnDov+1YD+1aRCRKrxbOWUrYtFWTO9hTM2ZE7Omn+lkDAJCWXAus8+ICsZuXDTs57OFxqSK3B6NZOwRPHeg31ciBgXP0z8gnye5TyUSj2EBMhlO/zkfi60sud+fobYP6iGbxeJ/LtN5f5da+a8l8jT2VcT1XvrLdaDPhuJnoCkCTSWWAOdD9c4aVumpB5qeyk0hetQmkJ287dl8FkTCLKZp9X5SLCWx+nxPIr772Qzkzx1oXDMrf6Py/GGrvRqc4ucEgIOeBYjQaTiTgh5cFCQDITGZTIrlYTZztg16EitNwlKtYufSF18Ka+C1dstqxN3pjRtV+K/oo5ItgsNqWPpHdB+VC5i/wKaVYph+iMuawJMb6pa6d3TR+a2KzZ2nUxJrUNYy/4ygKD1jdnTzoiKeWzOZyRcmtq1o6kROBYgIPbfyiI6LUMmb9EG0RxSS+cInE1/oUiOoxk06LtfsEZ8zgAnF7tZ0Sn4XnOQzend4IMCU2DuYN7rpAk+kHAs4nMlZKQrJRFNF+K6E3y+ApBPUzDeXaQ/gDI0hd3nKNsDqtCSgE404RTDqVGHejPt8QAjG/w1n+urXD/EuO23JHQe07zngOcFz3UhyTB43JqqkB5KRjjMbQnME4I58W28QASYSb3XaU2f31a0Yrit7oUFFv9/la1riCaQiTuKKZOoZNYOiOpqYSVa1otqKlT6rRu1irEuFx86oZikqY5amRzU888xDoJgAn5UuZ/QVXQSo669rlpIKGbalgRcgQTDjvi2+09mjFqapdn8EhlQguAUGD2Q0SyioFsVZcWCyqpsodd3leyy9OjAqJHwy7A6DmosvBEm6yyyTYEW8hujYFPF4UBuusyNxhLCvz8xgAJvgL+s66oDI0tPWJzuN2YlWBocRRCnLtAzOC3LJ/OOP9jg5vneifVsB+oZGrIjLCOui+d6cF863Dpy+oR0r5dLCmmieS0jeXODHmlWKjh2o5KyCSsBWJHBVapl8YzDL7tx7r97HTPPrQavaP+hW5j2nNI3y71O6GcW0dGD1xcZkmf+Jb/zZZKViBlVQBpQXzALwSqV4E9FnpK5KUvhynU+Fuc9zCfMdxsGRodoYNE13mKncHg0P6CIi9jQUMvfh6OBgTcQa8US6L04hidV2gjPVubfygeEujBVmK5NAeE+XVshx6ptqXtdD36qpS22u958RLOKxOEgEOYxaqKw8JrhvtoUfKNFA/7BrqfEe39ZNNZvzH42hXbFNhbhVMgw9EHZwQjZEWGpgqXKq8jz1d5XGMeaZWdA61SDnb5E8vwA5ojuMAZ34jkbA1fqTJBw7Mtac12q0sRD63rrseCwWEssayoGdQwTFUsSJdBgWuLASJIMcVkpmHsFmiMU5xykAr2GZOVCJqybg+NHFNk9vvtYDF2ypPJ3U8+ICGfIZ72RzPSMBM8VzFo+1UC3QYkSg1PwijQ/sWzqwd8m6Xmr5idOBu9BRZWpgjIuXVHGSBT2i+rGUSCajb48boRtrxIlMRN5XoU/7hsL5lOvKKkozc1sZzjadajHwQNnYbnI8rs6+24eGI4nN0kAJiDC/m2MGCaKdHwWZP++1nTwyikTV06YJv+h9r7BUc83ZU8790CLiC1LNCq6VpC59329a3s0Y44f5Rm8qmJWn3ZeHtv+3lrU63fTWG8GTvME3ye33SMLy5I2aDqV4obRdxdvHYRk2HnY17RJS/aDMvmUxh+0kWEyFm7rDCkqJYWGaERPdhizG8+yEkMwaIjMtz0fkIRzLpTizt/I4CnzgVDpT3lCTjAIfuLb18XAcTVKuWd5i9Oale+8ru0/9ZdubMvby12cFp6nTda7n91Y9+lU+LcUBa2I2VZ8SkpLQqXBa4k290E+oYP+y3CRX6ETBeRuOEbnxQd+7o1vANAWN/GGR/Ep/P65mRD89l++RiWSwryhLROS0sTrinEQeky9b5SOif/UkQQzF+yNLSC4ROpWeeD8l5ttW9HK3FUABW0IkzH2eY/FvGOGT21M2YExQZk0myZSAm0E8OooHrnaQnsOaClHSflDfGxB3oZLvW+vtKwj3nhStkYaP+wFgK2qjIFbfxyuPnlIq4wG2tXWjbH8hFA6j/up8/isnr0tZ/jabNrbNXwbrlnVk0n1fA4es3Fv/eXXbmJVqjqUAsLtvJMbjWT2geWpSnBFpKYsWmQZikNSLTGFEKL1Y/VXKd0kIq9q7WoAWJPQ3Atq77jkaufomf5nWNFrD3dYnjJNERp/13RBbTl3FfuZkGEQ/VvD2F1GVV6HNzbKBfXZTPsFODgNt98nDKwNT3nHwuA5IsP9h//rKVSH3zpKv5oYaF4naV2JfK6WrjZnoVfT+T12KXhu/7Aj8bDUHOQlAxeQx5id/6+DZQZ9e/oNt7KoS/ckRsm+xEjqbwTm416OjcxkOmy0T3QBOOhq7EZiAdEQBLcZ6a1O36mq1YTTtn3JjtH96D0b727sg3r/hhHj/2naI9zdbALzDpEM4liM3tnA13yuzhrMgHOJ+HSqFYkpKWdx61rN3K/y1zdkC7xAtyOpwmS9MzExbY2fY99HNbvRsY7iTYf9QiYbUy0irRue/Aru+myR90jlgf6Ohy9YYsJFcCoL0Dzgz5hJZbfAxYj6/fsa9Sq752IKvz4/J/HlCcz0ikobozMNm7Sh6S4kFHPdNf8UijRoISGDlxncItWO9RWSF6jpiOK42KAI5sBiJPO8QyWP/bI3dmB4vhb0W/BBrnZtn6gxHpLS9jAGRsMna4F4CRVNFKTXWR+tfXr2Pa9+HC/J2ib/VzJrTEX1UM/87NvEMIFd2FVRDUF+g9tBr88LqjC5fZbzg0ZROStNMAHtUySGzijaTaj5o+Jww3Qy6I+eG3dlbr+rjl5qpwIbMS8MBsXqTLP4h2hMziKbSMpjnBoG2OjZkPh2lBWhpbUXWXMw98EgMutQcWit7NpysQFfKyq8mEWxDJxLCLJIQEdByWCAUEgchFRo4nyhc48ytMpgtwVA4Dmjo70AOkhRDNAuajTx+s6EG2e5aN2olKQxl/rTF62VGy/xwWuonMTWxC9NeNhpCg80FyDO4bmOZbyMUfrqIwsKycZivUttAIdWh99AgesNe3UtzXVTeQINUTrNUIIUsUypAATfQE9kXQ76vicSr28mFmA/2k5JMDp2oaVGGTpUcLITECSM65c5S0aq7iKVq+JIXFzmXBRXiMYAtglmZl1DHTsK/AIpcJrl5TDiv07nN94kmMMtjksF2CBTwxolcjsCKofJKtUHKzTuk8lE7HJVdhYn9SbRNOAnZc68CqtgUTWb0P9SwBxyhSRIYmrJyG7tyIdJLhjnRjzhw2X1Rv+y9jYvnZ/sthCoPc221fsVYBtdQGjBk+E1eCLXwP0TFGGRJgm08hqhwO6F/BnmOBiwi26amNq3kdspwB1RcXspu9Nv3vn8FM22kPjikZUOu8dxOfRCtzertY8Og5tmtJHM327wT+pwj1bU8U0YtQbqnoBTkhvl6rNLiibETzwqAQoEJKnu4BjZjZx2Jh7FUeq1HB1gfMiuTgs322Rn/YQe2nDCbARuGpP8HO+YcIJ1FRWFHmGTxzpgABte/wFvvqk0AvKsG4QquafAbntMPZ/TSOkKIW8QJVfq5rRIzvRlKOd0NMAjKD5pJBr4yJwlvq/2T0BYSXGWgJTReNX2jhrYeAuY1gtQLHf0g0jA9B/MTDZ7BSsd9bX8f5BN5sBImqaipzyKR/i5j1oIJVrvxfWXnSt/a6zo0MnFgR8xP9KabLRMUlfKcr8HjLUKUi+6ZSpdGuOlZw9u+ojN8/8V8KcnkDorg8wasuur2SUfuzMFhvukPnqIIK+8qve90dFARYu/2gu9B3R0YRG8/BEMQjqFntHTztPXQO/K4xEnLXUcdhZgyUkU8XpVtSzOUrPcUpyvhE6w73w2aW4uqFsszy9r5jxlbMbC8wb15hHa4hY8KFyN/D6rccN88atRpQ9NhZuZ+XOcbR6QDQ6U0G+7C3mR1YnQgQqBLl8L10LFRbb0TPc5hm6abVHE8rfZeeufYofGvKMveuZZHflHbvFpvTxj41mPnhuCUD3I+UqV7Yrq5NKb3y3ZNnXGEsxGDbCk8i1aUe8Sb5pmQsTJQmQD6VBmAJx1E2AwKVnS7ApC8zvIVnYdvUK1hVZLJ4zZgiKAB/yLCgYFRZe9dawRhLd9ePHhqnzzkRy7b2dV+raW21+vF6fQ127m9269d01b6Hb5gOM+mvo4Rl/glub27ctceeaN20fQOAhgCm/OSnDvj23Bj/xn3heq1HP3om/zK091gAJvZmL110pnB7RY5cbnvcRCbRanEf6kZ0rnmzexCxRnS5xUUpwfbNtjHkQNht2XcwbZF9dirT+JZlPqtx5EjOnnrEnAcAoAQxukvIS8cpb81c5GnllUnISDgf+sifIeNpULjoaqoCuMPdFwbj1QjGeLz0tKdTY4kKzJuX8Xk3iCRur5i09ocHOJepyb1sZCSqpmPyGUXw+kUaZkbpmPgSeo9FRWE+gV1JUUWpqOMyK3z1pMfCs3K02ZqsGHYuNaQoJPOzUXA053gE+KrX9FlAvac4ChyffKebW85Gbr7VVA2ekgkZ7A0BPHZujapUPP3QEDiWA0oMc3OmM0Af+F4XwlKeb17lTPa5hMDrScsvoPx403rMW6b2BWFPnbwT+r0htWzhv34xGr+3xKY1rByzTHjZjRjc7pfJXYlbJPjS99aTmmSK1b47jPfJ7ekxNTgfueU606bTeBHQEjv5B1C7mIr0/3K7qd23VZGcUAYm92xdUtanWiqcEDs7UUw9/iBv+R1YYGXzvJTWGSE7oVVuJOYS33Ur9I4R4FYx0sCGWlJBKyC7aMlmgvH+4MABxl1UimxRZ7gkkktqNqWOJzGfA4xB9YSy0cSgM6e4OZmNuvIgO49IRZLwEY2klFmHltYsRXS2n7AEPSXX4/gaqJcXurNi14Ua4WUmp1gk4j++UT4tXP1BQUGR11+luOkm3kTB28QAgGKfY5/0TsraSWLCBpOfYdRvJwwv+X+1KXtVb/JdSlNtt1bxlpgIp83DbniGg4/L1tD5HvMbPGCKfIkGE1yifXAmnxeugSRCWGZu+K3EAP+pzqIoM0i6daKndthCcJsAvI+G95oAMfheaJ/gBRh0c57njI+r/5DUK6JkLBMxQ8QIJpqP9FuCHRn5Z7Y010DphbhU4i4+Ph74bVV04cFkSgns7Vi56MnZo/mZzDTg93qGJXETFBBpU10ZBUHzCnjszLDuuNZIdZ2AI4mYG+Fr/4yElBbCxudYd6UhLs1+8AMU4d8IyuAsgE3SgWkigojG8i4zF+r1WRVqaQ2I1YZRK6GwJtCIkuD99Z8ohq4wMEZFoApAm+Q0BCqdGv9bAOa5sgsrhT7bBHooesP81Uf7CnduWWYNYE8QboIsB5cMJzrnl/sN9jZ9u1efnvYJA1xUoLOsGaTEwH761AKEGEaIWaXtPkWWFWDsrNoWBvyomzbvV7B8ToonwNtoD+SxUA9Ymhnmd1PzZZ7LZNp0DqSJ7RBFYs4P2fC8HpIRnowERD3Ww9EI+OQQYwZLvbguiUntoB3rT0yDzMapMm4t51aJ/KhSHiGk6q77psmB0mdkjTQMUnvnUpppK2/m2XoepTaG8zTzY+X/W/i2bSbj3uDqYH+sGnnw584HQkwW8tLuC/uAx9uKu2oYTXzEdLt4bCJEOosYwKQmKzo+5gYsRLXK5rVQb63B0JEcmxEb7ifEfEiJB9UaNpUF7WZiqI55q4kxuWyo+n+J/fy9rz44RAwVognfOMizwWSmOLrgPShHArAkddTlkEPSiGU1Y/fkdI2xkY2UlyKNhRcv7s5tAgXLfhfPabBUbMiOUlXLlwuDnpta3rLRs21VfR4Dzw539DJkaokxjdp/EZT6e/P4f7Kp2LfgkD+26jqlH36z3XlAfRv9qH+z768Ed7Rqg8HEGq9ND2k7v6646VvZVVLC+Z4ZOlXmOu7uDFuRKVYzfWY5XmWIo2u6TXlgJjAyoKC1xSV1UsBlewX0fukvxQtpG83QiK04BLEmykemKV1Vwzi0R9FwWg5rBABwGIpGlDkJS6WJIRHnMEoQCgWkRHxdaPWUo0b7GZMVCAGz6obSjYN6c7qKQ9IKnnT3/EL6J89ztLMUQsvq93S2HVJLr0IujyP2++QwRgslrByI4J5BHy+AwZsyTxg+sZR+QfqPcT71PnrqUYkG+ir0kGSdOmYjTLa7JRkNgFjzPOCV8el5IejNH72Je92G2IZ/GH/0JVfQ9Wu41nebIfMqM52GnGkGoBzECRtOrBH3/TjXLxXW/azqbNDCRnlbPH0fQ/TUsVenzJKqUk23lj8bDmh6K898f/7gxGMYHQH/dOR7xUv9ReUGYNQrNlqZXMinKlfrA1MGY3Ed6dtq8t+wKZYFLrizU77Fk3vMXi/1RZ/qtmbIwK46k5telMP740lYreWHyzv8uOgxb2bfrJCne4JYP857/VWdTZVqn3Wukemfx0MrHXxbot3T761A68csOccZnNDl1wcgbIIvRzP/tvPZ/0atBOHuP65s1aX686mro9Am7b94qw6ql9gYyt98f3+TJU80Vu0kCNVq9YqH3zQ5q26W5PbW+Wnmeu61KdvuMrJvAK5v1w9R1L4SywhWzyLvkjjP46FO4U54fjGBYE6kdRJzaMrvsxh/pj5Ib+37SqPyD8jkidH0AfjPZ/txFE2FZssGuNny20mO7aHiNTz187rudlY5pWFMPL14Qr5wB+Akw6d7AuPO3FXqXHNJ6s0jK5JC/AMQ7Vn7dzxzoNZrWDGE34dYDZpeBEwDk9HuhlnYM7u3lt+k+A/TkPgUUDq+MiENuaQTs6BhKqeQX1qwI5CYfPBHDPtxaUp6hXDz8u0OnG6SasA7a+ewR1nWr4IMs92GmxmLN8Q0KOizn9Zv/OH0a7s3WLUqeoc+Z4Z2Vhvw0kSxJfLnN1YqIGiDl8nAcQS8sM19ccVXRpKhLj8MlDSCDkysKhDzYn61P8M/UDxmaZDpaCG+ZsYNhRFn2XRAEJAiwsG6KzfQZE5lN+HwwLn5se06HkGXQD1BUjxCQeJAy0c4CDbYraoOQ3R8E8e9RkwDHV3p6xJ4sjxpgI3SqZ4lcWrMq/zXMoZVmY9blaRVoCrpNAiIzmTrNZ2OHgK+7ZtFQ8UcEFo9tMT6HnikTOCu3BRCQ4l5NB0Xq+R2CB8g8KCXZ1ZQjhqQ9esbsQjBybLyYcL7vy98Mq0dqzLklChPhWWTwN/oamnBJOTrwOJebVVQXQy0F+34P3u8dHuAwvybjUzZSqDgzG7k5N29BWwtN4oS19ItXZWy8qJM30SByzVxkG0Q+BVxo3YghKUQ3UImavJdA6s+WnOLV25YOYFztbp+RvMN4RdUuYPDSF6c7JO+5Z0owSKkSa+xcyJzIRrKbzOU0ylzfSbD4TMua55ETeCqiS0sM+lREquTh/KZOXsIonU+X85HOkK5jMxIEnNF5daKF4oDWx3Ng0v9UCOWYpCjl7e2Nl9sE9UfjljvmPC8o5d+ZqVe+Ipy9197rlEOO0kE3sT+/DeE8d5Y5YsEsqkgHv2dEG6VzN6EEhJuqttw/BExjTcpFUE/dpUM2SmD0nSDp3zRJIpDRKM4EnbrI0uAWTrfulbDC37S5ZeMoBaYwyT2grdOP2Ddb4sWem0XlzZX6as1IHBX/gr2hdjSqXaHCSjXDI6WlfmDNVi1EKg7Xc919pbMSdOA59ZVno0kx47s/wol2Z6TqfEf+BVgfNmKH9w1pngIXjXI4OX4LbPTKk9IxbFi1TlaG4F02KL5GHLsyLWxSzMVOJcb9QhgvBAQHNOJabWGHwKlcfndOjkWGq7CWobs9MJv1FvNbr9ip0amLmz7W+PZUYDKRlvEPn0gZAg6znLt8864WgqJ2NK5fXlrY+YvFvO2XsSyIQGTmalbnqZXThGEb8v6qcbfJK6Mcp27Qz/Z0DUSjqxWczv1bZOddo6omTq5mhIrKLw9m8Kofi/u3S8TZDGYISEUsyNv1L092nBOnxO219QIqCi/YhCQLC5tMggbWBhnvWLojpN/QuL0AISCWMyy8WoPMgVpv3Yk7SWVQiPT41TApJcnYEAJWFcQQW6cOf0DOT46oSv8rG9ZcZc5shBkqypqZsuzLB7p9brrHeGx79+PGRYSWjB/VJOvWdrGnbg5m/ce26m1JyifY3X7h5IfGWsaVaVV6mh2BzHP6HMHCPNKEs6tLkHbR1gEe8m5kz+eF5GrpIBKyel3QOZ6x7G2Jxa5oWJspTFjxoeMT9e6wdFDgSmKKDdnR74ROCpyHXkiRbyNq/hVMKY7/uQE+3BoUxTjrs2T7Fhbe/aZOsHypkOeccy+ND6mXySXthTEt5L8KS9fSqMMkwvxZgEKRnPAGgIfvebwvJcMe3JIA1EucyFjPfoJKYY1TGTRy/OlW+pgDADXgzq2/qH+198cSzBrQx8q/xg/ty3BwYqevB8lKbGJ+x1HHN2FYNqKB9x4KtSq4l6TD7RzTb/jrqZv4gJ+Bw7CHMygxTFi2D4sYVXi2D9VHlQ92eoAWVlMBaH9wwR7fQwMOp9L8eUvI07aFt0R/lEuzXWXkW/xiPjaPfIjTpmPwn7BXUzejDv2o7vJOpUqKieXlTPQWh6BRKXCZd4CuhJew+B3TUbpujO3cCMi/gn5HLC/BmlSwqAm3qObyBs1qI8up7VTmyyjJ0QZqinTX8qzH7QVcqPh1fz2l+fBD8HlnYeOyhBgBmFqM262lLDXv8gM7c9NtI2PTLmbut+fWOvvRUHkE83k1gMhpXgZLqsAUoZ1nyP3kxQnN6dfg/Nhan68TiaK1FE7PTgXK/U5tKtC8OtU8MXXKc991XZdswNTeSFmh5jImH7q0s7z0GuHBY91KjEmqmUudZrgQFKhE6AcJvoTSVBUmDR2Yg72PkoE/u9hzXDEFeavds9tQiLhlkgnWct5F4IdjSB0Fh/rtmJ+oVK2EDu1z34Y8czxer87H3KKikSCHWS1sr/Yhu8VLkTRpobJ9N8uU4zl8G55kXf3gCyzjmJu9qqKTGQ0CESR9savfdrOJKtNpRE7wp+SK+4vUdwwAQlqEZ6M+4ywcRNGt9KomFa3tY/q2ON4G4wnik/i2jhBE4XgMB1ns8fmgWyHf4LbTMfSI5+ssEf28oxckT8J72s1tcx+57gx9V/kUtynXSbcwFK1EoPc76j2fazpn++1rhV1wXMz831BRCeMrT1FHJeoCtoTnpnlrFsMCdcHC9lkdt0WNSQ03adbCDJaudjbX0hUdYdz7yO43Qj1OZ6iLYjXRbb1dofoR/PldfeT5zR14dqReE6kyMJ9zaBbjo8kU7nEM3RdcdpsaaN4RjJe4V63hgPtdcxyp6k6v7jo+tVVsnybP0MK9Fhwk7wwler5I3JaLvLKU+nMnltRWzZpK9B1tU3H6Slq1lRcPAV9gaxZkKsijw4ip+FuzsCxh8Fj+X0lvgnZ0tSNW6Z9swG5r0LwVRACa5uvCq2F4MhPRZhNX+JnqyioYOIsFp+Q1eX0VBeRFgtWGanauj8ToDFsRC9cTT/TxIGwUlAFfnoU9IS+sD7ffJYaC/tPtwsYpbj5/M4ObXJ9O4tOkd8BVcFkZIp3d5i3x/7Qcfq+DVHk948KtmV29o6xJ+jBiEUXWdqfqtPB98m/4tVh07rork419sgrviU5YcTZ/EMXQctVxpXfyhX7IdOSbwzusMaTtLGDmdy454zfLeSbQ3ybY2gJz1bbpTtnqxNLD/mjCSwCNFIRK6TRLItrttPGD81dQhYrV3Lk+wU0zP6Eh83+T6rFyrmh3eAAWc/mqiVKiGS6fj6SnlUokALVbNnztN6xdFJ8bqVz18XpAaFN9Im8lx0jBB/8EguH1nxWuYoNFkn62TCDNdUhw2RRrjSc7wt7HF5umGtEjcb0w1bjYQ2N0smw0qILyTgsWMvw9R4jBD3vVsXxAGhgOG2jw47f/fEqqJ6MRpGdvinXUeEJ9qP6lGvQlNPwgP7iQ6V5bvt6f3QhiTQARN5mSjeE/BUU5P8LRgeO5ZoxbF6vswRVJrIJUTho9d0cwSgiCKJiT3qZ3dVEoF1RD9ioRgkGh5aFnL8Oej3R7zO6zyZjCb8w5FhPMV2NZ+TMNFdGWYlUxfyiQieYR9/birx1+vYip2dHbNv0Lxi2s79gjhwSjmfwYLY4qCawieYLXPOQIZy0PDrhIW8qVSwuqVBWIGkBkkM0Vw4bV17g09mC5VgIxzK1hNYs1ReZroZNffUJycb2ezE7NAYFvhXyjLPtyB2xXNF4lx/nu2IURhztZ4omcuQQEHoFGpSFB4qWuj8GbDlYZGIzLPoHFNsAdGWolKMW8vcnGS8Kimdyam7nMAMUOTCosS9SHQYo2/9vDWc9DiJyS6Ewl3AaMtcc+DQhtiL4QvaAxDm1z8Y9VZz8djoaC1VgyeJI0X2Z/KJum1d9MQyTmpXbBn2cm2pWs3jEpejw8MjMuf2QkUYNzVeXoekA2E0B9oExXdVqe1LyydnP2dlk3/I3xMyMTPO5ue4zMe4m29g1NdsS3pQNl6XIIgk9yQ5ToqQFItXdmcy+UgCz4+Tr+ZDUu/fnGE3Rg6hL+O58TPxXDit+61GhFy5L3oMUMzvLz/9vewe6Afup+n1e3jW49O8912vD7O+uwD5iesXL7QXXjn6QDdjo3/epQ4aRxs8SBdvfpdGivIhzDaUOoZqmSqar05i2mxOebqJ18NDxGNHodxkMltkN4ZXNF3TCtE1wDRpzTKppsEqGoDdaNHv+3C5HCqCHR45287W+W1Zbdi3ih63a2giEsmLxYqjV94LIfmoQfCKYW762UqufOtW1064Y3yHdarbH+9qK60n+h3T0Bk3tBgVjsgUC7jk0igndGNuVoTjZBOqG1VjngyM6vcpkEnilbXA4xs4KCn1S98PGc6WOdtVJ9ccGLSP1brBGmqE5j9W16RAQpIdT89F4BBHDRks4GNDpCJRW2K4JN/1FTkZdGTShok9lORYpiDgZEyDkOoXTf/l6c2LCLKCaN3ps36IyfjKbKNjji4U5s/Qtpx06HHVDD9ZJ3sSJ96I6kHkY1Px/VaBTRj2JalrRJgNrHvGpu0YWOQ93jrrxip8pM28ZSLu7tHa5uV+wORPdgk7r0dfUhrPnv30XLzU3EeRJDQ8FKuJaWXFZjN/vdLGUGi0SLb7YjDS6DbEjlW6vpIYt3P7wbK0TNOonxqXqFEe83xfUObRyufcM8Uwnn+Zucv2G0QerebiQ77TBEjvoaEcounGLH9BMV4n3000i5Ibi+jkAttdJe1FSjUzzuiVgg0rzapCUB/JXiRSusZSCkRCK8lNLe2yCbFzAtrgYoxSDIhWRmVQBZ87N4u6gq5J+ROrb5fbbbXCXqzUTaWK/Ypr3wzFKytfm5WioMBbOUuekhHGEthXpINSugN2CxB/26etFxQ/ZshxMsoFc6rhnn2/WAS5QHmaZquzqrrCydoWxUjKLz33mJsb+8rWr4xBfiD+rDAG1cycCPUZeHJhoSBHRL92q2y/AFGsrulaXFyRRCxolWm/SuIUGV0mKEEvjSJGYtwXE4Bh0caavggNDIjpbTKjbF2C5Yl4JOz7kuhFNXjNw5AxeLWTe5mQ1wUBueFBhTE+XjKf4OZflsbCQmWaO2KWon7z1oMpx86MMrNqgIvQIA6VcvE4XSeHN9rzsA31i4nJIGKMQ99ox/pU5sVkl4fumLUM/SkEpisLkonFB21EKbL11S41hzHRLRQArvwbznxZefXxkuAqEgGxum+N2qQc8kwTIKQG3/I0QeWluT0CCsTx9lSDmLhAfMxYJKYVaRpuLkvcSXzuUoQCoPdA31CChv7mQIWR3FCP470cKrGWG4phspfD9QS2a0AMztufjA+Vf6+jlJftPUmahAngPZtsF5vBAbuOW7ypvNeSIsRo7Fgwj1HSnAhmAaf7y5Lc4u2Olvdj3B48HSM5YHxjT30kbwE+ZalYPIxgLPpvvpARqV+x6EuJMwvnDIyNjoMVcJZ7WRKxBYeV4R5BblvtGTmrTdsIDalUKCEivqgGP1qwXQODaQVFxG2yC8Sewj7VJ5aGmeV7R8h0nRqvIKrXKhF+pvzrmnm5letgiSerQfs/2ZgjAfzUKQK3EG/GKCTi9ePIiduVTJ+N1Px2WU8xbx28nPNfPOwvx5C4AU3KKLmAtBRXf+iv6JeRUZEnXuobIzD6TXyXM314N3SRyTyIzmH+1kC+zLsAy0idbI8xxz6BwB6fJiAuE9Rt83aimiEq4PQpJPN6n9xtcsfYdL2FtBUoiDoesLeDR4gcR4diZVamd6JpJEO+TzH0+BAgkNDbY+da3FrsPEdjPHqs/kCxOgOrSi3A1cTfX2DoqQM4gKGZfg6A2oaIDORNFooJp6kD6CkNdUWNtLORAnNZMfKNjEK1ozcW1zR33zDrR5fTNYnBeo3CBUEwH+980KCWn1un5ECcxFb3z9yf7P2fUc0WcV5AVwGcci2O/dJVjJ5P7bcD2f7FJDkn58hJQmpmYDUNmyIU0aYOWXjI+Frv9CCBVe5PLyY4M9/cLMg4zg5rrDLi+h4mp74gJ5k/mmVFdockzhnVTGCPQhCJJbY9s1SHvWZ0RjXlr744kS7Fzxu/PDE9Po4wy0fGIAg3AgF6QEp5lq9+wuVwKWcf1Cxn7dlZG0wuJLksH6sF9yCXxi3ePKB/axfO+dL5e85/efxjKjCuMsYvcTGntc7h8rvBq6KTEr9nwg/ruhaBg+DkSxa+lfFNJsBSPOgO5cc3eEPmnnlbTfSWypsNI826+QCOo+dEGHlhuf6pM1yup3dmnndyyBFGPEeaVz7ZxLi/t00Ts10LXLOoTvjYHrBzsVfdjWSdPNOh+9IAg1flALydCKowNjTf/nQH1ci079B28Mi7MD7UrwzMBIjv0DsgBAi9kylmryOvKgmiMjwC+w5o/c0g9x9+J0IYwnesC5IPum2iSC/iGZy90+y3A5Cv4XdxTbAdD/AUydj2b+5nDBMQG0MpzLU2N9sj5YhCxlOQ+D5fLRVbzcRMfFK+Us/xkMvRbBRRg33uHFxUvkgpCp85RmGxuyJe4GKmQTqR3bNRNLG7JyDKPb1zTwkPoQMQw/EngxsZQAIumujZWSY4egqKLGk3FRqytaPq/TN52ME7jYHrVX1wL99JnwwB6/8LeFb5eNbeaWz4Rr1axepmm//L+WhY2mOHmNTsHi5iDOjqQiqsfCa/4o98Z6u3ZS/Ka8h1u/52XF9Ih7aenmKCoAwH+mTZcOFHm74v60GaffPACOOsrCfs93jInK7Vi+G5O9ZF8N3Y6QrLIVe43N/oBAeAaszMe6rtnNlaSSTfer57T94UcK8eO+d4phKwPde6mHHee/3T9aD1yTX6bDK4M0+ODOU9ARn5QO0TaoZqIwwT+EdZv1STbqE++SberA6vzSODz0NCz6n/ekwedXm1+d1sf1MfAu9hvWGXpe4wx0xUdoLAM5biLIwyCuVzZFQBcudVfUXdA5Wc3WwAMeC3eqJgWA9hKmh7H5pxGml1VeNc3hoWqiJM/rrQtED5VJXWWNlSVYe+RgNn9l1z5cTdF0XBzhSzNatWMN/LWKzSFi/G73XrtcZrunqFnUL1vCcH2YPASrp4GRuizOffHAnmSXrz7gGA0jf6ipH1jZLSWf6GzpXtMXS0v7Z5r4i3zppffYGhfLR4beNbBMB4Akp9evxs88j+RJvXVpf7hnLz12NzZHNxunblW5HjtyYRjo5gn29Vtn+4vmzrPwc8HGrbQ/QhCU9lEnFCDpO2PZlK3FycHmCexExyseWtiOFkMU1oHfdvq3fR0blLaQbqxKPqZIqVKjteGNKLyxi/JLW1eEix7xjHVbizVWBdR7VrQ63qhoLm7PezAwaasf1PmO1RU4VDleJ3k2+PFgtnfuEfeUc4UO+Ze3tIrr8uJPX7F98VNsUhFhF9CBxkNCxxHz7kYBaABGxstVVNQlKTuVBlAoYy5kGNMVKEueJI/HG84WwIQpBRv6amJNJXoyWJx2Lit2hCibL5DsOaVhxAKD/8HR22f0b3CJ5BmFF9PEdE9DIcwho6rA9lQJBm1CQiA40XOOK998iNRvqXpplm8+u3NWC86nupFcCCDEv09XV23Fymz1jntSuYn/IMdghqE4XgtgJeND3ezzAzT5ODKODp+r7aMC1Jh41mS9H1UqARyMdvsJuCT6i8zWnjMhMGwinYhgcUs0fyx54KWDzREseYZcds5+oabaPFU81coOf2h1DM3CEh+m947iTDKwwXiQiDBD5kbO3F4CuM551iipsQ4U5JTQMWw2RUIisYDoLGjLmwGG8w7cVgxBg4OcH+18/8XHw1IN6j9LvYpijH+pOgi5LYeQvxaqVxlBltKLLs94Dm0zxcR5EJFd4y1wfp8WRUnhjzUJyXMK/06CSIp7Zuz+UfQKEKAsSSIQHXWAy/47qVn5aWHI3TTumDxhlr1bOteGlraZD23vOcf92dzajRmyIwP85eMuW2WEbnjSx7c8Dmcl9lEEBWrvoVksHxknmfZ4iSFP4aEwzOTspf52n0CI6X+3cCcb07WNrIHEVEg6Bcoa1iMRoeR6OSKLakEI2KUnPXwJKqVMXL3fQ8G1zaiVH++ZECMnRUCYM7l58LYJLV3FsbB9kssOpBa76jS6PqYkRsI+NiOM0sXZlpXKybsf58a0OJ2eXQeExxfnIW3QrUzoY+fIt6zIy7D0KK3MPJYZ/oYsT3P2HfEPCAh2EOZzO8MKDoDtLjKAlq6twiRrVBKu1736PLZLRdxZkrWEjmlHrAc//Z1vcL5QtaqQJT6eJMHQ/gDnU6p5nLheEp0tKywN1uuEocjkVCD25TvvbsD7Q+xKbxAhOT+sLNCW39aCzyUs37593SVIp+fek5LAmQL4Klp77i+7WvLu6EAuH9qkiAfoUhxeCFy2DS1wJF+bsPvBh4GfsU+BRP+duWINsbbQR3AUmwbOqntNGRVXqdevZrKr0qfG3lmcoCKgsuP/31937l/L4NyOVj6/i5wAJocNfTP2XNWZdduSpIfMybMc/0kfnIZT+pVjsJ2KcJDjIRmlBRVoi8kmxXNm0cNU8RpDMbJwPbXv2iqxx4ExLgLKjSuRuzYSlU7JnzpWVV+65zMTCr29kWhGZ0ORcTgPyAw/4c/FS7rnvSIbCKTMCn0UDvT0yOl9V0x70hyQ76uV7jTCF0reZpIPakll64+TpDEvjMUu7WCYK9mfBLnP0NEj8yVMnqWXj/26lGcSMdMIWKsAo88r0Wr2jRrc76mvXDKZkG9a4ba2VzuWG9VJNs1fENeIO1qsn/ATm08b3SZI/JJSv+s2I4WP1ayiDryDtnnQN2OAxuFzeTz7vU2GGTgCa9XhyKwdRvnGJ7dwlPT+ED+xU3v2rPr7fYss6ewAXDLOl+ovNXWRa+8Ni7ccOOep0bsI6zVm/Ou+lnxic1wo33KKvqItWlDMMK/kGW04MGW506lNNQv/F8udOSKz6k8iPRBjI/JE1uZL116sCoZdFTn0oln4yt/hJl2J5+nf1Vn3GX1fEYmgq83rPZ0oh62QVSbuDQvyw3hAWLy7Ho9xK199HFxT5gF8UVBgrNL+t1RhJnh4cTT2cpUOeVSvSFXClYG78EayBWRiLx6ANcdPbX2Mpy0gIj8th3RV2zcxqsOlmgI26HmjjBgAtMbSI2RBuL2gqOHFYAG8ShrkhgUSDgr6Kq4KjSr+6tURdrRwzT/10B8jwykk6IP52RpOBVDefQJuQZ8nyGYZW5vQJfR9yPsX2bZGmfIZA6YMi+BeWF0cEbofj1WwTtXCxZqcRdSrO6/hnpz7nfkIisxMOsfru2l08QEZOeHN5BJT6dC7bxmQRd1eQTMlCZbDVwuOBPk8PRkAj2gVvKgDRPQJ/CoREsAMcA0qyKh4MtgywZmTS9HexYN58tIz+QM5K4BH97Hh+L/akWTc6H30O/jTHOOKMVYb2vHlkps02/ImvqE61h5l89NKdKcU2F5T+izG5oNo5rih3JnJgQnVD/GiAQCZoyoDuJMwyzZ4I0AR7VjVrQptOpp0da7GsobY0McLZ2q+umDHJpWhFGzX2KuItpOskv6/uaEB2MY3pQn8V1VsVROUWN0iYnzC/sC4eRduWc8q35BDyAMobf9NuK3vaMFoXpWVEpgmouGs34SE6s+6LaFzExmXPN1cqXremS59iL4HvmDZ2lJ3yta4OqbFSrJe8x8uqqix1Dpc/dZ/ZRVUpb7ifyxFX62JT7zJ2X1rZ7vzgx6SAfio1ypW6a7+Ka0rmFEs19HbrOCgU6ExEALMTQudz3NhpYN6Sfru+sZqzBGmWbJwUNB05NGaEVMnB8gjTZ9HA2BZC2AlZu65OBcCZTPchbLSDfnvHgv36dTmrGSZ6wnFn1L2NgWUFxNpot/YtZrjMwI1Z+GmgHc4b+RVBUO6F1HZfwYjbW+IZXRCPFB04xbz7BGeopzpip/0MbeDSMJLUvaghsMfcKeZcu2C+brfIsl+7yjVJy1/njltD3W1lFKkcQ0JXiS20v/Xw3/cfu/Avv/N9TSbjqglPGl7hxpkbV1+ONufiMqDb9zBUFOgVj5vpWcwfCC0DY6neagCvaa/8xgcRjzRzP9WHDreLpyf6k4XceMAs6WTXNUbQiCsCK6p8rFmciEiUqHqMyGgHpdMv1mmCNR6WQ3bSlDcBmOmhOM+wWM8YWXgWGfjxQEANN+r9aAMsEKneC+cbP1tKQ8kkwoBZwISJggVBT5gILTOgDFTYLCjasT9zUE3sDJri8rWAoiQLbhZITBb+5TXELtGFQyAbM2Nk9UJvrWl9do95wdvVXkX97ba9oOg31VQx1BiwKQemHajn0XverKu+l1QQ3I+3AQ69mpQWcXbcRjBAUZ3KLe05ZvLK0IDWsjxTEHiSgT4AIZf4NR27FxnOY4SSKjFwG72n7YONE1tjZ0e0/tN++BTvyAOrod9zM6zVVgnhqfu60zKbW3LWGqqf01p2fPod506nf9uApHNJvKWwq3u6RSPAtHZY7+8j0AwMr2XyRGNIrW6WKLdnYFVpHrhNY+WZ+PEaJhsRfzvTMneEc9/2Of3IdvWZeBRBSzAW+Dd+CizQvKSuO2DFMYTFQFUV2fhqSOitMPo4STcZllWI3DzWkt9NbCd5IbxZ9cBADaTh/8TsdYH+UJJA3vZh+71l3ojT35VJ5cAZKknOIoqoDgr3gwYeGAn3YISpZZtd+kbDxsOqmV/mBXbRUS1YY4DBGefnabIMbiSQimc9c1vnCQRq7g0U//qLUBFcNLN1bYvISHjBx+eYQ0y77fJfMeLVaHo0vysuBBMGV/12S8NVQKjQaA5QkKiiTlMGJCBlSN9EBtEygJr6i4BLlYGdvEFTckS4ZoiScVsyHiWgWtVXuTPBIbqhlvvppX60igZPYA2/fgQD9FrdlKm1i7p3kRDKao5Z1e/T0Ht250YgN37ZcG5+oie/Yv+ip7ITZ7VqnRMfcmsb0Cnboev4OMVVshxDgUmwtd2syVvl42dWRO53YgDT9MDCFPdSReI9+3r3aqwMD0dcMbzICUtttf9SUuNc9f970X3+d0XLXH/uWWiaW158vfxvfuKedr6GrKOfNW83hQ3voJWJbZgOFLuHMPE5jMEcyuNq8aqv3fkiS5WlEUJzCY2Xef3w6UNw3acUvcRiX1dct2o+nG81/+lzsYtE3UvQ+r1xsJH3tVhG1+ILL99qGH1X2n8gdKkIz/WyUDhRSUGbrCdFkA68nDr76zTxqxsEOFEWt7MLLH3j8C/ezfcQ2Zq1z0BcoxLBTyMsb7mV+ATSeBFXY4OgpEdNDMeVpi3MlQ/WscqMaSCL3M9jmDtrYgx4pCZSLTFvY6NOpKcxtagwUpQHmA1XthhsD29mcIvz+xdlJiadSC/C3xjbNVzOulm5QpdfRSI2HtdXfmzVRN3Nc6kC/jhNTd5WvrlJoFMaE+GVx6tyNRzA/3r1+/NiRWhs+1Q7e1gJHTO7u5dvRxWMBW8Nk/U4KjSVDOYtYpTz6Ue3tXmn5u9rvi3AsVSDIkRQXCx9Uw4n2fpHtVa4yFygnd3zWL5qrQjMUAMLqsdfo50oILLt0Cuoe3PGsV2dMTiTyIFvIVuP8Dnzevpl2wGgwWJ1Y/gzp7JrP0Dzbao5o5/mcthmJajDQzntyTE5ts63mW1tMHvYzU7EkWQiDEfel8cqIE34N34elf5KRS56wuq3xGN0h1VFFKNiLmpOLw9lQOiZ/l/l7r8a806w0c8WTiYVXTDNBjDaFUg0RaXYtFTcFUxA6n0yxM62wZQaa8e65PV6qi4mvGaLFpjTLs780BsJPQ9/pUn7ckIyFTkswK2MkJjOWTbH81ul1PDqlIhVak5ToACydisduMk6WxtTORUeWEOvRJVfVqSFgEN0DNNmJwof6Gw+6X9rOHGDV6oB9tC7xS3Hf9MV+m0rHa6andLnKa832U8N5KssNs8r7KfdJjPlrJFHuhoze9oZy1XEziVSUtX8pQQpSc/7IPVtEuApqORxxqu/idh5/z0Pcbm8D4p1LUh4yhnbfKcbN1DFknGN9RJkyazw5P8BdDjvEOP2hf/q6QlIpePbLoztI02m0fXvNNzSezcoXNM+PWxbECwzeOmeaVgctfUC4IN2hGl/XgEpQehels4/6h42VWDuXKWFESs0/pY+cXBUjWJLB7HLpmud38G2+yc3+QfPQjjJcqQ3dPRHmNjlqiVLwC0xtiqGLAi5JwmVH47X8oFKwJ5yIdvckmAlQ0Bk+NWgMXwqAqgFj1dKgV64/vIYr+sLgAPX/vPfjYN6Dz4eyI0O9gJfLCBjFQuqb6VcnQqvDfrOrgs39Y+FiDQAT0v7v2jV+fWDw1UHWRSgSKHKiG3sybWU1+xQKdD5gdrPDAwPvZAIsDHAqPa7Plca8ARgn2OG5ByBvjiTdpao7ZvJgosyi2Px0sbnJn0qvJN/746pIH/7lWuUABBJLlcPUioOxHM9rA8ArEEwBbe2tFN7f71IyHqTlrjH0LLBx4cfD9YiVh0Ye7wvBo3CSzLktl71KJWLH6x+glc89Z/VW9aONXol5gZC9fs8Xw9e89RUwfi1Qx8/Xqnv8xptCovjGMliyWto/6whvRyF4zW4uytt9Ja59TxtvCV++P2K4G0rcEuGJ506++XYbsiRibDt66c5ghiZLq4d4Xl0iEZLlFcNkmA8rEeRnCwFlSTKA+a+LBPYg8oEUQiPwKGlqTk4+U3dGwQxXANMMoXyXA2K4GAn+AojAV/lvV15ccRMajz+/pjE+BEIATNAvPdFpUv/bLL7r+ODIY3lrV74YWinHQlW8oI7Wa2p51Rs0WP71x0vD5iwNM/EK7kYAAvvlvDkY4nBL63WOr7DVt4MLl4zZcZBA95yYT0F2/nlHNPD6kMve3i4sbbmjI0QiXszRo4cBOGykUVr1pTH184Kr0EOUrp/oXKs0b0rcqIzo7Z6KD5WmoIUdk/1kRDbnaFumvHwamddM0Rxd1Vb4foEuhtc6tukOjMYSzNQweioFGBz6GRWaSFjXLIDPv883n5F6rvZV9FFOvGUuNyQ6uobFLs3KMNajTb3larkT6zn/F2eqC3sy2qxDjRv+G6tPGb2i5aK40/v/kE7ZmH/DQC6L1FfUMQVEsQd6HFsQwbDiW7BNJVbmNexyITQmVZlyqw1z4qA3JXl/AOdO2UooP6VuWW2JHiJUE/pDjU1tcvsuBO6Y3bR7YlNOVIwd7F0qGX3okht2YKqkmPuilTHqXkid5e6L03aTTm/uVduGQVM2V5lP2YllC1so2s5CEQPlos2dHoV0bzFiz6sVWkiC57x70cD1pH7LToB9Vh3Li9m5AG+ykhU8iz4jx/2ib6rw7r5URkQi7xslN+8zrqzXLvUoPxW+ZreSg4rl5l3f0vVgIfWcwLH8wL+8MSVV7/RxTDronKeoz7h8kgT7QDgn8xcrrvVWqLZXHnXboIKdMH+LC8t9ICtUL4nuUW7pE6DibBDqnn6GY7vye5dwq/5h7T2m6KNWOiN2bfjpfpDiyDHugc/tkPZ0CTCNU1BIgV22L8hq4mcvIbuSiBt7LxujYyDlap3Q98lokYXiW+M9khBV1fpAyo1xi0lnNs5Nlq3/+h+XlW1x6fslWTjsvmRjf9VgIheN2liRdK6k5QGznROkrz6dFwciA7f7e+KFxXJpuMUU6VCdTz/7rDA9hi+/ObPSRgHtE24eVn2mT1lbEtWcDxu9ta8iSe7ZCul7R0V6CWAp04dyyhLswR22T29L8f9ZAuq6p/5T7+nHApU0AzugpbuUvuu31B5MJ/SxuaI+4bBj6MThkk5AGZW94KrxOCDhF8qLinvsgpV6FGL2BDgFX3gIVuLU8NPc2igeWCJdzpSsxJtNNnf+LKRm6GdmlNMrzZwpVKrVShtVCHQ+DS3oXXp9AxuGb6MqkW1HB8W2H5YxiVPNHYw8u7G6u9u15Yf8tyaqhRU6F5eZUYN68Ujt4Wq6vWwapmr+uUwB7hwN2EYs+//B8PiPYehZqiInTMushsm0pbJiSnB79ryXNq3Vq+akDmiT5tFdE7+NEG2qDf1F0j2uC9J+kupmobvaBEZ2HIrf6odFu2BFV2luFnV44DghR1ZZ5z8/N0te9hUrm1syt5bdJV+sbXfkunPDWrXq6U1aP9x24myes5M5o7lmpIhPygzPexz5sqossyc5qy8bfRUADVR95cwb68rnNtneVut6w7T/dlUSuVvi0WRUHixfdepWyu2j5EXNK0IWOoF44uFhj1kuTDSNct1QyzHyIhGtoW6v72pbKVhz1hE1NI31AdsgyTRz5VPKNt3Bq6LyDHuZKAUsiWtXqocQ+wqrOhpEbaoz/Iiwji8K8FTFKt0f1wWpeiepMR62b/EnM/8Y+G+Kd3zQixSlqT3KWYc8EAoEYZ5EqG2CHj9GX6NZM+dmAl63TBKVZutmJxoVQNQYJk03t0Ywe4KM55USR6eKsVTIQsTRztMvrx9muNV6cWP4XS5MLkkRsm5eHr2k2dJXoWuU1ijtEGgait1jpCHInPrrrnziiiXYPyXA0Fz9hDbdFVHGwLRuKrmZMMAC5LMnGKsZJ4qNjtNXrmjEqeOfPfsA7sWdTJYa3ENnCFIE8ZuZjImmOVbulOrnjqvYm0GlENOaVL9R9a55zAXEjSZp/dmjaPWc41FKLCP2fGTpqboFes3K8aJ8eVlItMjn7tF7qkZJEiWZrE/YEegUghZSRJIm1mvqJ84JF/WRKKis/fFr1c23X9x14VhUBYGwNINK3RRvrYHddMeggPUdYBJYs3/oC+zziGwE2i+E3i3d1KmqrK7BGQoUVEJJaqLUmy8DnQqC+ErAbjAspsSnWELE991Vup5I1Wgd1xdGZagCJQzWNo4lDNQvEsbBtcYCFDomekxssRlkS1S19AqxXrxHds2KosoPU0E0ijrkRMEESYEG+d4Dr8qvkfDoPLgLliEulDE/Hm5U5Z7gGch6HQdo1JPlsLUMn1qIQuQYqvKpF5bO74evQ24W0u6XtR/57kmdngD4j7OJfgMr2+9zAm2mOLlUf7DFPWYhY7comksbSPeK6oNTrcvoSDchTPBTvy5ExAI054sk/tl+Xcva2bRhvEfpAppzr2kISzeQwOAif2TPuH2/rIm1mnyfe52p2NywUZI33nItD8odeaf7x+CIzIJ6qxVSYVbOXQh2NHS8lp6gj4u/sAUy+gjt5AT6wi3mx+iuqFlEjtuMGe1T2ECqJV/RQihG1hPj3UhrZX8lJgQ1+9U9J7wbakYsp/f7mLpH9fRvV/gQOeg7/Cjv2qSQwfdY0DN6YPdmnU2D1Dy1ft8x6sv5YlL0NnSm6BQwbL111kaaqb5JahHLr/vjyx5Kb6uIScxxqLm2xLQQKIUbrmN/A8eYx1XvyED0uqvb0R3RoiMCZc0mm7FWlbP3qczzeSgY+gnye8ynS3Wkz+GYV0sTZQGUkFoKXj4od0RJphmS2xIV37l9eMjeCv7axrriNbxnWYBHMqYcMg/I0/smi/P7ngzTc8+DIXEZgMpcCaHBnrysjI4ZQ91QJVWLDWZi6xP1BfdTta/l2ie1SIVMYmnMLJxzteRGA8C59DbkBKauN9+8ROQK5qZnHcyjb0dhKWroUy0mnT43lNJ5xs/nFR5DQ86WCGniXQBNUhyToLsMQfEajzCZ8AwNS2aTtEY9eguMxmcEZ4oDr3RmmzcXS3ggkFvQEuWrHwxMXi5bs6bUrT7zWtEBY/sZN+QWEweNhTM2/hZjHs2XmddxzAeyd6y5KkND+VY8t/wOXSlFjR3DOZqfKajPm8owbJRTTesfLiT0YkFTmOqWSGliEyV67LJx3ZNWEAPdzxvet8qAGDfk9is44Pp7ClziSKZB4VoeACNblzjEBaQwnirGDNFyH1stnHN3G27beFAr7pSoSEVs+xmH5VkuL91rNncZS2KuP/s41jhH9kkHAS7fC3WhAZa3ct68mWw5jw9Fad6c+AESooaZYIYigsaDnpGPyIefy7rz9iZ2ocxJzNsE1aJ1KkpcW9VeA2VuBvRRBSVqCT97625XK5sQszELgrJagNjcQ6vyCRbSJK/XM/evIdvuNur3laP+L6VTR8cgQKk0zowdGUW4IcNSGmSeHjhoZz+D00p+EY8QorJ1PwtaaaG/RBiDhzSj7Ut7aiUYKYgnGbcFeJrpTWH+/1l2a0V0gixs1gTFAf0TYzrJw3fhhVhrfHwy85yFEuskwi5FeYY9HwZ4kscqLUxNmrlfFr6273hDg9PTewXAdNPniDQCLp+mPBmgBFDwcvHNmZnhEXO5Mbm8L5wW1U4dOLB1daK9LtO/U6pfcoRqq124XK2lmmF2XpXkG6Kp4XP281ERiJ4MWsWc9S3F1ESMAHW1U90PGI1nizaDhA+Gsnske+YWcg+mMtrP8AD+NfM+tvgbhSwJk4doD2OmGxZisUrWis8/JHtvdZVvPs2o/qR2Q2yhkii2wjzcLzDnePsoDkQnf2HUp9hSmTDc3yLgb0CahqikPk4ImznfllG5XbbiqBp9uLcAM4EoiyB6Hl4pKNKuZbQIfUUxF1wEAt9wGp1CgCh5+5VmzLcTxUjw8c/IWYTEL0hJ/o0AOyz/p5QIccKrPZWn/ARk1sZ/PHpssGhpIGZ8QZfRZsBnXXlcxegPOmXU5P3OfY8fi8fVrxPnRq7ZTbEuTRelLUzaQ6PkRYhm6bqsv6x17eJcUSgUS43bhKBSaq2ruVL7EseP0e8vtfBbzQS3dQ5UT2IOpItEOxND2LdjAo1Fu5a9RcZUU3HD3fxoM2SU2y17BfxmWHAWxMPwNqetaA9dornbVqNIYTM8rdXcAHaZ1EpAWKbi6b7n9s1NxHpkUspMYgWjM6KRL5gC9AiYh7hkeqgil/jzP9SAAx9n2jpEX6Ud0cJQqL43va3CX9mgy1NjFX2+FaGWwv/fqPTKlfwwkCT5nTACpaBz+7vgm01HJV77lljiyQM1093+VG47m73APiYCEVSmBDzljRaZKTMIU2ZWMfPl2pMnrP3UdmiSyspE5vSk/AvuboYkNG6rtbcn3HJ9YhIw7+RE23hv/FbqC8ED0PxVnUpnSR8YTv6JnKd9BrLWNIO7LxLBG+6KfN+lXJTsJE2VjHmBuyKZaqZ9BWqPuQDokcNpCH9i0/kh1A9O070QU0K2dvNDOa53cJ03ferKNbH9+KyEHnEy6NGq4MbStAD3VcONuyzr1em8gRtJnRb1ff877d1ZzZzInZRESm1b8Pbl0E+srXPepSRGbOVYio5+pj0vXxi74VPpTOyx7BdKxNPdJqjHXigNcXd2I+vjvwke7+qSjvv/LtFQ39nlFjpiQvixZhpWiDJxy2duidmZC6+LBWw4VtOFuLRi0eW0MBeDYUctT1RsTz1BjGaTsVfsT9etT0qf/h17m9XMkc2yuWfG8CBrGTqH4fntSf7nM+TPKnoQFeabQSQR/4fzlb3Mimu+UA3JYObms271Rkd4KetH/1JQRSW9NcRc/X23rtoSwLypM9u1UnV1m94IV+ctzOjxH5n+mN/6MtQU1Ob7ufr0pUeJohL+qw+dkov0Gg4lds1vTf/dzWsgeAeG70L4dUaO6U4314JrVikxMvBkQiEINA354K4uCpKKTpEDOE8sZr36pxKcfzJUaVYNdYux5MRk20zyru16eaf5G8p1mGfR8MKSzDumGUtz3ycPXqSnEqB5K4MaN1VVT52o+0KZ+NC26iutJLQlT7s5ZWzVpSqR2mNAqokFRokE9WM2FGdnBfRNVX9f2X4xZoSmdr1WuzUNiRDzLVYNm9wwHY8YwSAXKV9E8Xu989SzYjEbGZYjUXzmg2ueOT2tP4f35FBvmcGeY9Zzux8fgyQm8RadfdNCb1dUh+IiTcIMp7w9oER5JCxJnNcITgEs2oaxCXeZA0nNePtFjY8RpzaQvXjgbqFD1EMfLaH4HJksnc+V0trMslkNOt15pX6xzMqdyxfYjKiOPVmiB8PinmPPLFR4ZaFxVaJr5+DdKk/r5lRx9FyxRRzYB6yAKoTiLwDYki+Jqk5T5H9VHmY67PWJlmKN/D/VxKunSNJ0AyTZtlVmdYeGZEgihRqkJLYya1EMzC+Lrc9XF2lY+/7NGk4b7rbOeA0csHI2/Zy6X3l7PzLCF9q9zfNDfnuT7tp11TjlmRt8hg7cgRy5U2aV6Svjou97BpbqMxeYMGC7dxdiY0Pz1Q+RUdj0K3rGqlxUn38tDxzpH3v4Xd4Co86+NtXRrsJjkT/COJZafnyCJsRlE/McrkSdljlxV5MyUixZK5a9E7h5PGBPd+9BmmJ6Nny2Xdw6cafkWt9PF/dW1mdN8dLMpWljzGtKyzAFwD0snvqJ8szSNNosYW0i0x2IGqb0UkMj+NssY+EMZqKsGspaHjZSY0e9xaI6uikRH2WMCQn9msJlSRe9Fhvdcg82LuoQ9Fo7l81QsCtP0ymI0yQWXMF3SaJW7MIoaO/2YHq0eyXPZnC6+3hsCX3opRpvn9FuG3INsZU3miXTp/8cuHueH68NmxPheAOqbaEdpwa9MW/QkrP0aYPxcROw5CASStbK3E+arydWIYmZIrcSsD2JJBUKDdGXNITC+EtTuivqkcLKJlra25mDkSek5oalWY4O4NBe2xa3BWW+BQLM5n7///d94pYshcJ4JyJzo2/frmSxx/2xH6PfvX17Lgjna+jIyFRKWTtmZuqW74WO12qnS1aSuBy8Qu8r0fZqxdwBHXFNrldMryKbG2X1L53Xtrvfu1lmmf2M9Hh3okn18jpr65FJ6+hxLoaHx7IInGRMV2lt7vy4s10eAMmX9cLH+10NZs/iuCmCQuHqe2yy1ru3wR1g7oyxymrWfqPeht7przvEgTt+rTexxS16QcHv2NdYwSeszg50Yp+N2ByDV0/VLpjLHyQA9AZHUzBSyeQTEWGhESPlUbje/gj9UModT8l82lBbqpsMhuP5JWBDEilj/5rFwCIX1s29ZEQxyn94cF9zKjXFYWM8m3Yf+shQCx/b7GObcWB7RDiGU2h2EJLskGkg+/rOVwPZCafzd/pwa+7g5lISfBj2vRpPmjIvbtBAkjZN4bIAzVLo1atCfKkQmFwVVW6hpAtew2yvc93CBbQ9EFt7rJcepUEDrgU/svEMekpfEFI2AgSt/lNBg+W/4wm/jPqPoLX8b5io/3dutpb7fuHhnkdLDyv3KHVoS7k32QMB+uEULLkHBg/OFudIgQz/4rqUx/nIEYdRuNsvsJosv6e/Wov0eZIoTlro/Yz2eQqIi/u6yae1s+b2ZSt1zmitQ748xi/vLHMJd3movyPxatfYSefwwKbor7Wfe/HSjhL+tPrJLNm/8iXupYPOYAVTIls7tN39X35gGyE+7F363I4TKs7adF04Spl1G9e3D811T8ENidUO1aFIPoiKCGjvTGtxN2fiErhSMhb2LMqqkboYWl3GfKCQJKxDWqWs5G0Nttbu9K3D8nGiFwNYAaeBCZxMclP5j99LYh+fzO2Znv6XEtMlSL6JhS+6zswad40+D0ebOcIofPJ27XYP86BObk52WA1OCtCAYHC70scOwxnRKwPJeyiku3UDXB+cIHMEjLtRyPqzcAuHDt2oM7mZccVckvbNn5zoJBIZ0e+1p4o7UdhTxZl6wQ6JW2psCYo2bpggBjiFRFTkG3216bnjlKj2UIpFAgklgbpCV/D+r9itFhSOWasadxeFty7A7R3R4rTliSGhnL2nLxResm1kU1p+aj24KlFnZP3iqI7RMHTDxhyxXYafBQWigcNxFsEt7i5Qp0pCcJbqMQng2KvgxGF0/2yJL/qD8XnycNf5ccZ7fsfR+FRPSNMFjKY29wTX+7QdCXWFTqL/o3dZuXzD9gpBmFZyz+x3RAhoNEtrlhai8cErDeEvvkANQNXGTx6c+wf9GZS+SvzsAVpCMVuHP2x7+UrVivyjrRtxpDlQdq1vAFk2x0NKsIK6uIP3qf3MDtLJ5yS1t5RIYDcGRWmNr6gpKmVLwaPYglkIOH+pl3tWu6KrKWKn0AxwTnYvQdkl5YI73XUdaIcod8yDvGx9oirRNMt5fHVWOgcm4CpQO0zxGFHumfPzZyp9T77NVzsTeFS/Ibi62PZGglsMpfmtb+kNbJWIvir6GrCntMBLBgGVhEuH4lV2tty8xozZq05ZNJskR2QrhDOVJEvAVlrRGL4OuEYmEUZ1Uvalai5HTpus25bKNca0yghyZRkTdnYWnxl2pfz6BcisMk366kNbzCnPGHzI3wFlR3liEBine/gp2rsDjr2QLhVJe2zaMaem/KBDwAaXZYVzWuh0EY3DaNHGybuRUsOmAUdwxsMVNz+9uCinZLHGV4RePbcNCAqgxNkm9WbwVgO78c2eB7dpz58SXBu0h5FHF871mjYk3gWwJJK4dVA9B2/ndTg3v9QeveydW54lPmA8FQ6eLvfLJMdNdNOXtkIpR6pqU65R4+bGVWT8YI7oU7YiuKcfM7eZHcm9hX1N17GzVAt0aD/0FzefsQbtXZvh0PeE8pdpokVI5RWJn3rFn/3lfBWnLZ/BGRTVdGSGp7/bkSz9OstEzweaG5KpFtBqN2zB3QREADbZpxct/IaPArfUwSunfVpVNJ9erud4T7XdvJ2fZsX82FEeSPgbFBALjcLqVTsiSXv3KZHcMYUEjVrAsPgaLvXYF8UH4ZQSQPOImzLzhJapYgMrcbp681bwmwuBc17GPp8fHq8EAlZbxbWl78UtHxg1zna+gKG08V3omq6Wl9pjpvsi/I0iZoj5xFyl36yv45w8jNuLY3kerZgjtsVRap82ZHJ/IwGnyJGzgt4USu3LNGwSGvJPFgbu38YoeQ6HFu9O9c19JG2ODFuaBC3LfPOT1Igq/REdlFPxilz30ZyN/uiHiUAS/wvLQArd4KQIqGllJ5ptgp8ncSSdtBJzJ0IDmn+BxuCpu0GpuWTzKfbwLgaIKgn5X3m2jiN6XxcZ0Ktf7g/P8fR7vRPqX2GsXz0r5IqS04zPnidQ9Ny6dw1H1Eru1mwui7r9cqhx+1rIdh9EKJ1EQxkYR48m40Pp2LHDIRGh8pOvPZLHo3o0hYKKdiijJDsDvHsGiBsyGhQUIECPaceY/HXf7gdwY9JFwxTsChoJaGgACXPkzz4NE4HWTLZe66Jm79q7d74NVFfen7b/B1LZDcwvX7lJHqrEpsRNJ0J/Lp602CxQmi3o+kjKain9/iVQf/m9vvREcDLbyF7tXneNYEvWq4FL6ANQYT7Ovu+rpWrPqGfq+Cn9S1P809m8Eu5kR0ZZR8wkkxWqlRX4WGCIDDclktKAY7JLkdpRFk+5G8GPgSJC1aEbQpUnq+i2XhAu62Ai8IY7ykd/ogbT/4DIbGXUkq1PXmyJgzqZURmhPuw0NWUbFvgaPVs3JHq9pwWDtH8M4Wm/5UbwXCpC9A4UJ8edxkGWDAVrb94CuJDnTUZjvMDdEL6EhacCFzN8gNOsJXbxoj4h0hy0r13YwoCln9j2iSchCfAe7306eGmJFy/qeGNSsV4BV6WLSav2hrbf4UP675um33rk819gfmP+oppWpu9GdmaPXTVPbhT7rEOC8j/F3dK3ujesOaGfJ12mL2d9oeeC1oNpBIHeVUnIg6muT5J0Ftrwvq3MkgbCP83Va4zn5xcCOtLI1dBb+dw+VFNpw/ShEKAEmJucHEU8N/caRS3vTgnYkHc7521ECI2vddbH5FvFHerKxdMGesQrOarJZ19QGk8kH97LVVlOlIFbuyNqraLc+w9JJvXD0zOWXGU0boXP1xGFKR1SdmN46y/0VtJDxD/dS/WHnYmbZ3sfR7n6WPmSsrYiYhes4yjjNs4LvMqbvXy6qfbyCVLwctFJnMngJsAtTtWx3M/5Kqc/joYyQnBFWVAL0RdbAKTdLv+ghXI//WdPowFokr8vJWzkr/1ST7gTRbwNumYdIE49ZCb+dV9xYsA/DFjCsILcE2YEOtjMSi+sC5N9Pyh1iza+i6PPUJgi+LNMftdpVi3fZzHt6FlCHGeCBgkUmBzcGBT8DP7spH0XSKRLMqA0Bem1lnIpCKnbocgjfHRpCOtAQKMdhkrmUhhbxRnEaw14ppPJD9hjAgNFXvHg7A7ySTLfuLBkVm+VcVDNH4e5a1phMtvXSIIvjhs9KLhjW2xXJWnWG7gfo7djWACCY4gPwaNoUMZxt9PpNokSGWP8TfI/vgt9H2lTaIdSbdDoXR750BU2O/Son5aN2j8nr6zyBINCfWfF2U2rbfTux57r7MtDaix2tJzP1LGvoD6J+qcPl0fwwBZ/kit6WWw/R+jcpip7grESLuxtN+RBx1SqXjFE5SKlO1KOVXLwoBCEImJo+KYObHF3JJKx1C9neb5Sv21acIclFIswQs4Vz50jNP9iwejoXHEwbu0ICe5OXU2JPL5x64jOTpfU9XvUiIbNaMxA/vwxP7vbfot0+fLA6sI2zZzY2sFUnbhrp47VzIYPHtKZGQ/Sh/tcTQgA5XzAdCAQ0zVPPDQ+IEoO532+3hks/1EdclEqza/2m0FcFSf1KXkFetQnhh0TS2TYrgZEjfZXZGm8QGd6dScxXBV9u15xwefPSTwGPmVe1mgpyFEqHrn0FGx6rX9CgGw/C2fc+bIB1PeKi8oDzUfW7lqbGhqCvjBgErMH5X773QfqkzmjPCE6BJWIziuSqXjboyIicKpbhVfFffePFSLiWXzKkpGqPvcvaWUrVbZyrx9Xl+nRV3M2CpRn7SqdRH3seoF5bivhiIV3VdOL1onrzWapFA9HvwMlIam7iExbI/6DItFoMplmbWj/0nxGcWJ9KpVIiAipI3qctLEfblbLtICZXfZ4QSCYMY2uoqVtAbepH2uxCgnXglYSEHw9CMRAuz2FwU9CB7B6xlC8ZPPAyTVWcmwkAL2h0VrVhDiQu4O0OF7Pj5hxcCg6QTZKNVBZMgkJw6hWHpm1DidHlInOzHBl5uGdrVy2qmhqkxYfHQ6i0nChMWGEjsp3xcqTU7lBAwgkE9N8vUjB9UUjN9GH1dLgtNx8/tBwst4cKurKxAqbB2DlRF1a85SMQi2SgFw2yxNpVw94zIhHjQT6kPr+7w5HR5IQoNeufo1ZukqpvlQ3TXFewui6I4Iwgafk2MO1cYe+BBrz18vqYoswmktWb3TxWw2KGdWWbREOXudrIBdrtLotZMtw2t2ff/+vXgxK9N1k9jOix92VRhoTj0bPVObPutuXnTlvk1xT4wI45wMZ0XFrEOoigQLPg3hMXzqv+BxQnIpMaMClMCHc3mnLjA7UF3vo6DgbtTq5nvN6RQ0EIBiuT3n6q4sv0JjgbA0sKfO0R76G8ueNxXHO8lG2FJgbUhnzDmCBsFwVC0r5PluLGwCUpqFpcCbVgEChrPGtGq6xDa6pACSviQU6wRBROLKioEJ0OkBgez68p4UWJ/th596ddTkH5+n+9zkQ8J4noAEIqUweEvlj0LjKxJFIaJH0ZM2e8ofr4VlHj2aZqQEEtqvBEtbfL58JTuYCPfD4U2a7MFSrO1dKJsMgxkmcCzK4tPL6AuwzMZEA22vDiXJgyNR9spJBzLau/Jm+qxOBg9T862QIhLyUQB0MXHEtEJ45KNZC7KwsdhHRo60SQUxYwnGqSFupIclm5IUtdHz475/ZBIluuVDOpFIDXrBiwuzV+MNHT59mhQA9K6WMpOVo/rSwV/BEO0tm3ngxgsheFwtVq12SM6BAavxLOHtW2y4gIms1AoEPHRGw0f5opUfCvrVwQ+m5krMq+TYEBmmq01Mr0L+4dTQ0OTXqZGqQKwyGnUtrudJOcelCpRkCBZRN8IgTDisrP3sHxjITTYObTkp/VvF1EPw5MNEkI2RWnC/VLCmRzw1BazCUxoJeG4yHgflGHJTfm80FwNzcbrECi/f7upQ8JaIRnEqtwJz3jHZxACScm+oen8nor2QJQOR3d/W4P50E5VLA/RhzkApEMatGEy2gX/FFMX39emPjkRbGnVqMGWjQ9FvcER4HlMbPJMP9nSYFAERXeBgmZmXFJentIH4pCX6OEoNYTLd0y5vd0oWWjkoGS90vLyiXRlsMmEtZPTvKH8rYlWL/+peDfiRWZLhdmqI42tx81PcaAoFiStMWKTp2IP/6oxgzUoZSl1G0jwR9y7rkf0/tDNYJawbFVVDEwYt9s59TVpWv/QzMf3h/cwBRynJvr7GfMx6j/3rnkDKJRhCkjNL6J9avo9jdbk4/8B7XeyJd9TEWQisfxNW1pQ3jsDsqqwqK7dFlT13C3dYtztJOfrW/+DL1zJzyo3UlbMUoWr6tu6OdYn+hOU2ZaF1aHw4zJymiFDmgI4c+zCrXAzxjjDvaHNSafWw+4qf7Jfspt1ZgEGxlWRfuLjUq0A/ZD6VEfuotDIn2B2Q1SuHGWvUhUQO1udOmp15mAVCAoy9mar4LgVTKWJESogRYJihmIQiIw51eE/KYZy9qPAmzL9rH66WDUydK1pM14VZeCf6V+t+fv55exBltvHugjwYyvqw7oqUNMGk3BCQB4A8HFibiqbX+07WOjY2rj1hFT1PoH8B4xjUOHsexvdmKdCKOFWiqEYh2569fQ9oWg+VTlZu9fkEkujyGQAvRAbzlHmaKXDtTzGGMKZqmNkPR0V+d3t/OigxnMCg0aS1rwhM8BQojNXSLXENDo6sZaPU+DDuPIWC2CJCpqAsgM6rzLdcABTaVaHQPiURdG+lTsGVOh6jq6w2NfYN9jY2LqOYird7OzxMjUW6Tt7IWumBGOp/DGRAEPhWhNzkkbFbazGV+zMvHzIgWShBh+iWTiXF+1tyjs8u0r6deD2yHQ7H0swMNZisvDq4Luf7htGVCYbvoEzztuie0IFwqAEbzmUPbO62NfByEYw23htqAmE66f/ZmviHg//lMMml+gTxbDcXYxe1w64QIJprRlUG+a27ubrqQcr7ti6f97Okbbia7Zhd/dhxuam6ULc3oMh/cNSgh7NHyovTV3cRyQ36H5IpEBLKXzSJgXFSfJ2oJvsxQYJIwaRrcT82a551G7GtyZu11yZn3otqpalwnrx4zgyFCuklFbN9RP6bzbTEyPFS/p/MSUuekpXzAWH3f9ecL73aFq2bpKrc/X4hLfElZ9d7E+6OShXu9JW1gKhA13ES7pNFgjIdOgZ85JCOTY72HpAzYFKAFGHrhS4vKzxeEdLHYgB8LZIK6a9iB3TfzB+xbgzOoA3qiGdyQLJ6mwb1iPPcafFM8l37Yui1WRYlsD8ykqgLtaUFAT1u22C41PsRwUfWlpeJliz6W4VLHd+fYqkTnLtuL0N7kDVhOI7EnTqKkympqAaKR0L40F9UhBpmxdEtfveKTy2alUoDAIUDmo7xDEpRKLagSamHJHkgq9s0M4/uNgZ1O7stwtEB3l1a0Wzu73Q3d6uKehHPsccLl0UiKpGyBttqcQbs/1P55rQkiumr9IYDkhNY8f9xVtD/daL3lwOV/pmvhpzGxpm9h3rv429Zl6f04U4CcMffQneSLhLYEjCHT87riOZNohdhJDRiH1kKO6woHETlLq29fKABbAWYZMLe4iG8h/AuFkvkzMR2eQ7e+wTtYDpZJaCSlyYDnprlAhMVAMFdsDR/dEV2GJilzNvDgqDR38aRZkDNjLvzjTQJnC168FMgx0sfpuU+zcXMjTXPxgjNaTkxNafZ98PDGDaE5jX9Vgn6H6LN4fnsWriQ2ugicqANG1cmsUa9Fae4yV3aGWRRGpgxB2+eeVhBsqAsUuAbt1uQEVkRYZXLiKLTAsFq6ZZ6S682wkBYzKdvKXHQAGor5NVxe4SJy8hnQqOdzswrcd+4dUOQ1jqpmN6FO30skZrPIXnF7sCJMjZ3cXa+IGXpgQPiVRFFol8wE5jZmsp0WlRx+aKtHqTXGdVUEN0fk8O3ruMQVfvcKwbjj9S6IIzPxUBMLjvpUVsohvB9uf6yv79qYBVBmNqDViT5s2zYJOUDd0pb3ppkej6UC4DXPmjYy8vl0QDcKnuFMjs4yCR321xcgdPz17SfUr8BiSMrk79S8AYh3EsvmV2by8bfJijc9zNv8Lj1ieA0lBWQ/Dbp/we6NYbPKyyCSOeBl/3CQp4u9SI/SqQxLyOX3XPCQxduP+52EnoSMJKCwmOObQyWWMKiWHMHmDcnGygXmgwGd3W50dqO8OoC1Tchg4bORQoSN22FzcJMmCykCIi0ScWODo6oJm5NAqUnix+jzYmvc2RS5nanMBTNlUJwWRjjdAYlabVVMKNkRKHFQMDW/GW4ZJ7ylwUP4x8JWibWKacC1qpvaEpOhjmqV0PDJvwRYP3HpZ14605vAW1tQsFY4qZwZsguhnzakANo9ScmJKAi1YwbNR5aaFdtAqRUXveBMYiFst2wF3MY436xNdtr5+p12VmL1cd9+FdzSEi+k2s0lx0lpH4iFwLbSgs+h1qNU8509+iFCs4MEUAZTBjqmbZ11rHaL0AQFUASfyHPPz6XvO6e/F6bPWgR8cywWR4UPyzrgxnBI9oqvZ9npVhV1gKMXWghSPmbmzECd4gBlFOKLrkBGwzw2482y4C4dBZO6TIEN1hAvgSmTWJQLBDMiTE4+lF6CbQvUFJh3J9bB5RWVqT7b+tQbXONDPOvxhUP9S2Jgnigu9u511sHWsJqBpdZUnhgnyCCCb+/VBvNNR/SYex14uCQKdgasG/o57wqrfOieRrCNyXjKyoBhEEBRSdvWp/Mn7X89z3p8Uflv2PxeQuxm0/+iLLNaZvpX+gE05qkjnQgHNJPOeYFJrAeVmDkj2/Q1DA5a2q0ORQyn2ebAMh0H4rdwkyfG2xZCh6R+u6X2VbhqfRUa26MQV3dF/WDuCQ0RbfcnP+gWIaxAIACAg0MgMkPZHvnRAHBjrcQIbBPdu0/Fodgfeyi+QzIOyeBrQ4mD8dFrgfYnjFWYIq4W6UM/CL8MVPJRXpDuDNqduKRrS/HmbcUzzult7OokutudFoEAjh/NrrC0XeA8aSgAUSZ3bGRtWd0xnyAPc7voM+yVaE8BSqal//E6nE6JSaKVN07B2CSpehbauLr0CyMjHARvdDR6z4q5cOPk6amanDCPpGv+eOUMyKxVqre2GM/DnEZ+Oih8tkK5jvyUy27p6W3GCWBOCy2rlY9kzf5snZ05oy8ZXFTMJjGJzMIDvhcBOZtWPHZuHwYDtzp9O0Ir14cOZN5TjlxIoBHaCAzJbDUU7SBqi6imZmVfiIzW6eZOzIFhxDi/gnx8Z/WAwHjM1FdGjGnwyCURQ89GASPt9k1rp4wxl+j0sREGnndKJSKDEVzTvjfF28MXpFINGBnr3Da9O5R7PLFVS5E5YNw7JOrRvrU84bt7YvFhKk13ZtSxurOoT1/uZ6gyww8O+UUXBmqJXVYRFgHk1zTyWJUMKo/pZ+9TMIxL97yIY/7rjkGkgVQa7VD53Y+4YH6PZT+hFkb6W766brpqWMxu2LHbVZSVNVogGxq8IqCSDnCIc3OZtNY0MdhAt4TPAQaU1hBHacA8StvEPHumyXrT5QGfDgveok3WfaAMYZvPIUJlOuHcjW+5YC2TQ1zYLnlrrBr+JAP27IJleMezgE7wSJUBHtLokCiBy8hfjKO9nQEhy0tGs6vXCG90dlfV2Hct5cRztEwA0j6JzF05YvOwCYhKbhKZKXNunHRf8vIZ618PeEVLrZRElAYgpbxCCZkkZ1mYQb9WPh9nJJUlTNAwTCPu43sbJs6dmJZGdA9k61zApVCUEz2c0hthNOLKDY8fDzginDzcnYqLc/xMXl5O39zyRWOcx3a5rO1ILV8+6Zfyp/HWi9ja+AI7fCuHY6nIIYupBL+2v97qCzi+H08v0i7op4TB90puxji8Jqgs7BGBliXrc/N0kF02KAtrB5ZINvEMiUZxIyjbiVuWeZeMj6Z7+8EwKJNe4MoL1r/BYtb469ejrMWsDgODkoDkFxQA3NoLnZ39tJEmZobOekNxSYnPEhAV3TzOnCSSqygoaFzSRUTpQ9H0HwEdFa3dHNzz6WNf6Hj2L8GDRYIuOuQc/fxpXvjGK4rOn54xfxjXpsnz0oJKaTRAYGyHeBBO70wk5pCYNsPSVJeqxRIunZY/0OqP5A80B10MjVikMWh8fWc4PDHIpDwL7kBLAo2aLxbH9aIvC+Ol0TXtcAHIf9ecym/r6JF0kq5whxBhIGrppXTgYkWREpwLRal59rcm0KY0YNivEYm9tSTSTIcEnfkiq4V/reeDSnZpvgzBbO4AaqNaJT0nKb6WOJYYZeaIFMjhYDj8VMrhx+wqj03nOPWbuy6sgIe7jdZ3uH4PyeL1XChIlHSkdgtyqyJqRG+9RxBHDeaYaQP+soRsA0hljIYlaWEmObNkibbPHGQ+8/wOLWkNt2xNEu6+3LDZFqFUQe+UJLacVkhHfOez7AqIFyTHDwsL6vk6HccSMVIMFXNc8FogFCSRUGrX24e9j13Zi8Zn2Dhg57CGIBb7et+S8qTLVtRYjxkVo92VeLpydFgvoEHRcNcytA8IXlsxflJ77wjrmqyXGbK8yYeiOmsOQxFVEic1bpiQHCWhJ9dDWAJQMDZHg9uukftsW+k8lhtOg3NjT0ZlUfrKLZJnaSTzGFJO6BOy/W8ZN9JXepoNX3S6uSI/6no8UdXrbCa1kUIsNeylIvp9ElzZEdtpXpN8fcPwsaJSn5y92BnotGwPO38kiYzRu/knZHh34fJBKsbNujEPX3fwZiRvcpd3plalFSQKyOlUHdtIBmn58wP68tNMFtviFvzkbFYHY1ygp7y+N08L7IqaDrf0xblShkQp113u+LyMQu7RAdPktj0zlejpcUbJTU3J6MiThkLK/Ge3ydjbCq1PTVv61LBgEhD0rVdbcELOiXQMu98Cacpc9vFg3nsZWOrR8S8p08apY0S7Uqf/UHZ67ot4n+6mNDlIE4Zfn8HZh4Uj6boxovkm0+tQwi/W1dahp9Umrn9VnKh1jqjgKZbvbDn20K32OiHlfcmRvD1b8hIqspk7p62yAYR1e7C0sQPrLhqklnARveIi6iHq4gYs/rx8HHYOqw9uThmbSwwT7TYzdQBkPoP2NoyXBLvPeS9IFqJ93BMekvHRkYMCe3FMgR2c8SSS8g0K55zgLcTE9GGhj1uO/vlzdAvdblOMbjKOxJ/gQKF/ku4a0beKjQ+/Dg+PjHhITnDBoonH47XeEB7SMvHQ4wgmBOHpCzMDCafxhPORzcDGZoz3eOMPKef6DBEBV1AnaII3ZvI+kdoglgJzIag7FfxwgdUmUf2xt85jDk4fBD5PZ2RI90XeMXUJEHuEzF7L2q/8VuR98ejjMttA50rKSAWVU+EWHvYUPiF+9RabTOleZBsQCZjmcsDSNS/nHZBHeU4PV/4ILfVgBaSxG+LkyZpMSgOeiz2p1ChSpVYyw8iP7E07vjqLLc/sQQgwPBnIpAlMwwcxTDxGKNJK7q30FEwOhu5DbKhZ9/bDTo/8A1837QA6KpVcOM2P3ncIoOoLDWQ1J0yy38/lpu71SPdzNU0gnjJJRI4lnrZXUFxweXKifoWD0o3pKXFOMAfFRfd8KYko9UAB/NYoIjuRSkdakCGjo5dVpdssV0yKI0XXrNJFtq2EhxwYmU81Lkv6wZGxkab5mVNsc28CjMV6iWSSEzfj6dOzOyUFbjyPDzX/Ko8UD/fZaXW4jrY/b4yTbUmWlyJtkPcuHecUWEzz3vfGRqWRtbWRjhly4sf1cwzqlgu9n/m0jg04syGiyMt7TpNjxnnZl6PtBIr5TmaA5zLj/SH8bhsiNWhVxEb4hkon0GSEQgDEMuXyc3Y1Ed4J1tfli/DKQ6FyEz5+GC6BrBy13KQQiWtnx89MaW5O8WSbkI/zvXUnrfLS42ZdoR7xtUL7cxRMt7dByQE1U4do1Uujduacdm4tyl9lvDkQZfVWByJtk68HiUISOu9HA86rvnjWY/VaWAquvslvGhvp2nn+5fkA8sJIEEtnVJwcfmNOB8K4F+3iAIdPWks63GLcQQeAJTlDCV2dw2/yFcqXF5i5yNV32zGN3SkbKKN0uJhesj+xgXWAxqaYAy0UQQGduoo5rxmLowCn6TlO1tmEHUyt9sG9I9pBMll12unh4b01x8YvXx4fPWYScWwUysdq9sbl3oeIvxG+y6E/dfb9QXKpWpmaFs0C0V3TQetYIBRf1XbvTQ+8jzFWHJa/JhlQXO/qHcU2WKOTMuvrnW035KWxW2zSjye7HkGpyVE2UrsLUwvtUX3r65StU4fsZX+V7O9THFxELXdMclRDXbnTjm9ybHm93YJYpc3bSl5mb+6jDC2K6Qvwy7CHlSiVWDPTUj5c1iPqlgk54haJVlDppZhR1ZDbkR4sHmH5ZaTP5KZYmyO/KoXf52dW7FRucfmPzUdMlyiYwlop02+ETfPBaY7lISNa0RgEykgFLoPQJPGJyYBX+vW0oK9csHCpuBXQKsi29Y0LFy8PlJUuZ77SeSA5k+9MMpeBGnCnKNEjWi0paY7BuPO13WrrtNJq1K0ZPR8avDBik/PyG2BuozDgYV2cazKTSSm6WO1F2zhmlm5Esc63uyU4kkNTLt5v2hWLxJsY9k5n3yd/ZN1wrS2d2UqTPWG6ir1ZPGzc7MegDKNPGllkYslIbF9MAUMKBl4bXcfK0h3Rbw6q8cfgjz6rybnYqKj8TmuxWQmlkdS1PYGa1MPj9RdmhedOpazsA0jOXpW5A5/OGZ9m46g8lpcfiSh84kXT5ChTTLXXXPmfij6cdcI0D3ZkTpfpvvV+tEhO8gCrW7FuRMTMymVoL9qIKDKpMaJoZV/KlFFuVj2RQ+T28JKo+Uj/HBt/RY3vZxtpfqclqkKl4zE1/sbgY3rFlQt2DYE+YetZgPElsWW+JmMhoIkVcElCDcs40LNdfkEtbKE2NMMxpZiSLxWwW1wSXFoIDEn1ClQ00BxXufnwYWE4J2z6iHhSWazfTpJl+wDGajM63O0tBjpHkNs2F+UZdtPhYWQkJGCDTSzclEP09r4EevAztyFxhjGTmPeP4F3Ti9kX324jeI61Qg6NyufGwGxduL5Lw163D3QOlfS51sITX0BZ0PwXdeycZ1P6tWuu513QAk/GpJcmdjr1mB9Og9th+kwZ2BFld8mLnvUtaFl9Oh6owXhpIE+5BSCVinh8K16Lw7GyQ3EBJYR/A+a4XXtbWxse2HEimgnceEBMB9Z1cNWUHdXDarvqgwsL3NYtAd3oo1s9yX+LwPWT2KayXAzxZYmLanFb/iXvHLNeV6WHlBoZJ+JIatN5wmPq9CVKOIoYSW14lcLlPehDL/pdLibBdzTNRN7DLMaYF84Tyhwz+bnqlCK2epYUn4NgxVWpkBbqwQ18TTofM1FjIZNfx6Pl8VcoARhXaoeQ0/lx69ZT8iNmKEc0R96XST60p9TgheRu1dqERZIGDvzZqf/3jfJehJuSgOaXy5eL2jxEJD5u8UhHW8cWTYknyUPUJpLHuCdv+HJVbQgFgByKxhH7zU7Lz92+f3dKAT+JEuU2l1xBPIiPTsG29w5aSzUSokTBKZj8he8dSGk9F4Jp2XFsUwXO1TqcQhoytiZ5WZHtXhvZBhdi2K51feYQWStsf2P8vlrbbUzH1SU5pBXjpnPBxsyqWe9P8jHp37pZRDIOTLYKv/2/yqIl+KL1YxUrN50HVpRfLnJzSXENcBvXqfC55bogPhAEyWJH7E56lcW9MrJxlliT/UT5Sa7WYYr2ltonSP8QVoNUoq3snLyZnx+VRcl0j3z62ke1M5YoDW9PdHJKbA+XEnMCPOU71fLcMylZUfnogWBnd4c4BSJvvSbv3zc+F+5j0a2CiF6i9UAmC+bRdOpUkwcSfWe7HLEkgn2I7LAwaLpovRMpiEdU+gG+AMdzlON5NHLsxwANIBQAf2/qDU3ySDsLzqZ36n58qiAhKOvv8vfP+Qv2htngthn3YWTYByIJuZEL2y1zUWcj4iwxTbAWnHyvrS+pdc1o9lKUsdMtxy5rJEf4SyzdhTFhFT1hq/yMWVDHQcYscZQlIRHW/wpPTgUVenZONtdepcYDPvDuxqxB6XbcSodG8NO9zSmwyQovnZmK3qpszJKpQjNHTRmcrydbGJAaLG5cFr7njFwda97Row1tMQWlaG20b7U+IdMa9Lvw1WpNMEMgPKbp5//zB+WftYC5345cvby7u5G+YEt/fAdfeE70ERFgx4CcuJ5wVx0dSgzoDGpITPZND6k8lOpflJKJPQf5f5+qkEMFFKiKBk1AB1fehc4l6om3Frj9x4aC9OGTZhSXf6OOJeSnTW7YcOahC1oA1DP9QD4n9k288GQN/lm6LEIEVLOXdbHCSvU6+QMbg+bYbz6vtWJeHdW54ciRkt6LR3iOul9X62DPBEgMBI+SIj20z5+j/gF6Jj3eBQgcQP4l04xI2fPYcWmTeBewREi6WHjPauqEr0sBIBZ8QAAEUVQWsMZQqOQrBxjjOnUe7rJj3X3Qnr1UspvLC6HwhUI1jNqoygI4MYLWaMipqqqcp2G3mUZ19lhMY1uhbk7XqHh0Tt9Em1jYxSoRTjgEAv3wxtzhw3M3HgIWiRV8+PYYhs0yDX+QBVJ7Pn03OPjYLsfhuUeOnQTVeRHVgrCfT2fBI/hRDpaRmnHzJ6BnEgrPZpKquBLCBxhL+FmItGCyOY9o8zLqwoTJNtr9JH2THq4OHiCXgyjDVD+777IYfUGtYPcPNxvUBTiU6IAYTBlIRlISA4lHigoLRf1GSghYdyFTw0vScoYdjgAE3kBFS2H63DLL9ie+6bHKjJQldlvYn1s3voIfU65Gs2q8AehqhhSHWzXoaKFNBnQsobnhXv+h0mkj2uFDb6+0znHCp/tap2Xo5vOavXSsv2XjGVdp/pW3h+5wX9d0qP9eKj6yuLH5Vmxo8fkXWppRo2pYB6fPHELf46iqgjmpcQI31kD5GbGLgq+4J7QS0O0WHuOe4fodq1s9ZR4cicRIK17Rl7rF3uphL/VHhRM2jHrVPPA2KXnQtoflREjkd0bLz/PjE3bl+voybka9KSXDZPjz7wO57i6dKeEIFMbblVA2XsO3cgmN4wR7qmj3yDyKTMo/s0loLqe3mI60ZGh0WySd5R7jFl0J7OKyZsWYsDkmNC7aOwDmczuPQoyvlf32ChKaa/b1Gdzm9fWVfs8+qGopz7B5IlTL4528ar1NVRuBAulkzoJNvN2xrbRb/4RE8Wc0D3saK+HdnR+pjAKhFzqqPIM5cakCtwH+Qc9/FAIFf6EVdwcJTH27xUE9wqM2Exuv26BldvjdQXURlCtV+l//H/ZR3jNm3j+f5OKVG1K3XJcIMAVSxgAYfw2kUl4g8yz3mOtW0XeF3FeiGx0Vgn+y7jLiYEEJH+V2qUepPDkLD5PKNG5YO6E/uwuJP/KnGyp1VjD7q+S00+0De1sBNCKuEMPOgiy2F8TughUacdO8sec87OeSUkuaK4IIB98dhms1yFd4Y0bshPAYUAhP/H8fPSrC8KU7RRL7gwWZ1RhEg36/zzoX1AmSbVxBtr5w+LLa/cvrGVxYWKcIZLf/q/Urv0gOazb7/1pi3uzfV3NYDOSsL9TNAyRfuq1RhBMS8YRaX5epvWhokEz1dXzXxhA4+Q0JwtbkWpSmwtR98UlIwjrGi29LfbuMCsxhLy3Va6PzeFZxMMQCwnLKzn9MQ5Bf4IQIFEQQNmgm6LuTU6VxfXDfqPI9mhi4fjM4vhCh8V54jlPfoWO+qNU4VW0RsfdlfjewuLYe9JlWVVrHOvR2xq8L5Ftt6T6FvxOAP9MN0QjgcBt99F8G4fkQZ0sGQt30ofrDXwol61+kZz33SWh8Lt2lxIXy/lYOXjHkk7owCSJ7k5Y3hoNthnPQOcgP6pums/TRQuD17E6elEnBE3CHzGl7Cl1KrCDqEPY6TbiqpdJ55CWJxXWG59UGAL/6R+YEzf9W1oGhArUL5tIBawJrPG8pGs57PB1P8UdK16WheENOajMty6obqu/xEFctNxczOYofQsaSKFQKYNpQDB6qr4hYH+m+aYqRC3cIUeU65Z3XwdvwgDbjuCkSIlMRICMTFrct6I8MCI8sriJ2CQj1hFzuGupkfm4VsJEycnIyT2K7NoJbllSB1tIKUhgPq0tjy1nz54qL+K80Y12RPrQUpI0GjHB54KfmgWoGcDoaBEddr1rQ6NjIJBIwCov0+l/qTitNN/pZMhhsFQpAB3iH6jYHcZ3hCbedNJ/V3zU5T9TQopx9EVSTkHL8ZjX6nzL/axYgdAGq37K6fbtwxFVc0nVyupu3sXNWbLjXqoVhh/W83rKODX1Wbdrxx34z/2dtho3NLBhcN219lS2OwYQq45oQLEVIm3ED5yRZeLg9DkUVmPz+X1YnnvZD6hmyUplph05Etfo59QOdkS8AC0MZYrKzwdj4eJ2hQDhgwTJJzKosIfHRwgNm3YSybkXx8zjeYvH6KxJRkJQy7KqY671DWl4/R/f4Vmbi7PbnoLGyBPsXKELr4Ell8/wrFIk5rRbuOg1BDA4Lw/Wc7wr/vHaopdTQNNRSQrdIINd659Gzeex8/3gbvq6c1qPbVz+ARRv7Ehp0tNBGTw7P3JThk2Me+5Q99ZoxReUkVihU85Ka18F9C+arclkYDqMhSBxoUSEuRi8NZBCe9vTVq0e0g54w/+/U0TtqFwc4NnQd/sDE6qrFFq7s0Ak43NV55PgL31FHtP0vWrWQYTMGPQYKy8/0T4Gqh8Jf1dikSpqZUNeSokmxUnOjWj2OkHzavEEjkYysrIzwDiORc3Xr7uabuzsu6+ndGga7+i50itepOupLFklUJxeBNpgalcptN5jSIvI67xrs4r5zBwPFYhLHcdd5TOJAWixZrwliZ5iO3cUswf6/bp8G+4mYew5PuDtdk8mqIV/jIj1jF/jTugKGmoJkaWqbMqRH7EK/WLUkgOO14Hypqxd/adshsaGCKm5U7gElmwIT+zvPFSrqxfbkXjPOL2PtrrlFwJ8Tc58INPa6QwN3TGp9KRmx+eI8KIaeWXBId+Ld81eLXpL9SEyMLQt2y9twhPnEkUABd97E0J9wxcy5nVX6S7iXwKE+Meu3gPHETMu+qWbiBDBwidDOjpcbPdRf64zxnyELCTn+ccZburrBxq2u+XSELWNcDdUJQNVx8V2ykuBDQUq0r3DNUGFvfB55qWxO3uqRew9GhvMqM7NG0PjLeEx/VHaitNAw1JtWLJGQu+Te+/PUakj1QShcyfTUeOIH+vufvgd4dFC9DfWvqlKlXqnX5eUAU7/vaCKRSLDG/UpuI19wvy7CJK2yAhmNczLwaajx+0LM5ubxe1TRdVpLC3Rc1EwaSYcZJb7t8SqaC4y/UPg9Fnv5YuAiVbhRhyJW01J9CT5agtbxitIMpYHFik6xs1bdrgLpLftKyexoAgzPg+HNDcNeqdnVwQwRjDuSpkZRw9QsKivorSL1ItUwMCm2Ojs6VpSnElA4KmUoN9JKbJe9joubMG9IZV7GiuLleSWBYLyTHTSnx1nSW2VYFn2yNkv8SgXLqYSREswAAF4jPMmdyQjPSd9fL+6uMjMtQLFsszSWy/tgyuxQ4j0B5ksmPS4p6c3VnFh2TKqIxWaxb9kLnYtCR13ero0W0isC8ovm2IJQebjQSY5uqVZg5mstflOMxWTQ7RFk/QLYY1W3ly7aZ8aXJ90gMU6K/fWtMFAh9AAIoc6vgodIle2oXUhmsBKeD1u0WsJ4yx3ixQVcLsIgkeCAvSuiXF8WNBNimKZPdq8a/4KKkiO7rvaxiMV2IYJszAQs1Hg87BpEE3hJTgItRhOC7GUsL4lcbYLe02S0UHmYEsRJcoaDx5AmJIoRRxu8S/FLthaE1ocxxHESl3pHnyGvo7K1QQXtu8ARuTM4rRHMjc0EOTdVO8i0VmXmZyCw6d2MHr9Mu/jOkG+cdHCSUjxzmuVrMARV4C0LgqLAgrDmnD1DmMsBvkOxnp7R9hxXakGcsrUM2k9pw+2fjKWSaWwwBxhHdGM9B1SjCax1NZ082YTxhfonTYo+IwWOqw3uQadEiBaiw+S2hRCiKehtgyLHm/EZWCEQDi3ql86cYb5SHpWqgrmZX630kX0pO807NhPF79CfsiiOjm861pT8cUNe/fnHle2p+63btemtQT2OevkaT+8HYsoJhWSEfvjKxdvb+7aN1+5oepduL0p+mMeqxaR6U+gsSoKmSiMyxa3D8xBpC+H/Wn5fontju4weXW8HlmJSOvR2Ouuj4vY/ZT8JdFpd1rjf1aDfZ9WqTWsO6hYUJo56ep9xsx/lJcNVQ1dcWd7au2Vz9baGN2l2ouQHuaxal2TvCBoUEZ9UqRZW5qxRzEOOHCRtBMSMa8BpDN13tMa/BRIj8+avOw/N+MyLyQklectHH604QDU6eXEptKisfOKMrE7d5z39tMbsxd1C1oHFXlz+qVP5OF0HAuv1ql2aP3u8oHJX+bXy0lt/Ley5K1cPGKRx2SleMtX43/3HLcjMG0tLoBQwZzSJTNK87iZP+bJTULxk7eACncWeLW2yFYAFxz73uN3zgIdu7HgbylF5WeW0jgBi4RziiXmmQxJRmgibzsf6QQDPGZMpCJiPQsvrRGA8YJKI7JnB1xizsbLwBem//jeeyQeRuyVmIqVZiRaTFY37PraS2dCoR13cVH3qX/Pi+p3D6shUGMQsYX/S7N9eJnjUoKuR5yx2pTSYRXBX8MK2n/JThEEU/U7v4oWtCGdq3ineyeziJqqKZJkADLo1C7g0rX/k/ijaBAjn5CTB/eNzROJC3aZ4nfBPn2gRqlhRn8xM4rJ3mAWKYO0fcY5uHVDuiHNUoRdz29UnQMdUesC9LO0yH8zoSrUqbmreiPs0X5h9M7m4F52cu9eZx2rF0qstqyVp+ajypb3pCoDytwG9wlCST/OkRj+PrWtqU9sj7QcER/on68pwG/Yx5o4dvUrDGG3qYgba9s3VYVvvMu+x5T9rS3EBHKeyIYyIQC1eWTk39yqdlm8w8IGRacVN0mzkPfXfuvy2tO2qv6WS9r4o6Tdnqby/X6vfx5nHBFfl2KOk0y4u+40KjA5wzdse6GukjAOfrgvuIw+s8/j4wWNdBkDg+QPul5KNcQOLb5pzFl2sdkuOwGld00MVKx2aSzbWCy3tLydTosvoe1aq4UYjcAXGpnVPJuHlZx70eompdfLgdJKqeGVMlC6KqHbec9xNZu/Rn0Av484p9nWVsO/IG0HjKRswIdu9+AApL1m4CKLGXyRtVT9Tf14V3glHcdEB2ssTyFbEi2oudt3W8VVIofMwwcptx5XW2CozEqi8h9BiB3QzgKPaySjhzyRGI7HEUINoelqYsrJvEbYU2lyiyGT55rKgcG0cTJF+9kwMag4TYhDLbRBtS+XQxwmocXNO8bYiUV9RaDnRCS2RG9vjs59DVc8DAdGf/Y9P6j3ehvZ51DXxhNEMWWvI7dQfisNOLmUcdZtprSN1ueXakuCgoLmtknDVDCqT2CGh9ENf37szjNVR2nCDYXoEbaZnGuctloyZCbkt5Ynz9AcAAmsKCziJq1oHxMPojqcWlllQlGTMH02qnLHxYFRHvLXQHGjRpF06q2T41NBWTs12AmOqVzp3mRPrjXxr0oEuOtOrHo1P3dqRc4B3HCBwAFQSytIfDIC2JXrOgdmHwSrsMCnYDOoeQQcmM6+SE1BQUV9pLt4tWukh4Y3R9r0l0VR09qj4ZjPra9e03iu08LT/ZoPQ3TaLneO1B6ULq9U2bVDQ0Y9INLHXhxiFwzL+1fwKsXVtTUPNpQbnoXBtKlnLrauL0jkOAcJfu53y4hVKEVvE8/O6Ljm01ybz4SxygEi4ad+DOMmFoO9hws3WyN8Zl1u/Th6YbrP+PI5DcnhMte9y+Uoy4nZjGBT+5D54zQn8nO7WEeRKHoIjdeOkB7c6blmTFp2YfRps9HrC06606V5ZO5625LF6tOqzF9OJrDHAYDd6g3Yvmphf55yTsMoOe5DPGz0nVIcgYErZvF0YAvjIh1XLAilLe3b7W6WEFLDVnXmsYNctMC3TP52awV6Cmv/HW8ltAw9TxpAewj35A08jX0StrZ1xyHEajm1SHzAOzRrC0ymVCmmiYhFKnbF9587t+Dzdd/hv4mGBARk2ulue9oG7XkSF3hyEWnpgr6uc4My2LkTmS8/yp3/NGj1isQUJm8bi7mKIAOSdbK3esnftl4JN4hia0wY3ZBjWhqWjCIWAFYDtI3dRXSGw9tjLmJgU82cxfUJK2jmJhvrEwtSO8Umu8z1DVlKNuSXOTNVNVaJdQyj1KyNP9zFRrmRqyjK+uX4SJsdCJ9mpcL7ZY/BR3hw0zBsxI7CWmnEdyrhMj8nMrq5Mm+KekhYIm4YZDkdadCpqGJYeSbZg6BbbUbWijS/QAkhKZX/WbLnoh9If6LGOlZuUeFswlESj1owxwsBTVEuJYWbUO6IM+NkzYBdMmLB95I172KdKESY1s4CxxNnqSoRet/z1tEe9j4ahhusm9faeeK3usiVuhnEjI+lHs6E3lqT/cCgvOPmEndfKtkobR3nRG772ONE/lqT/sMgrPkkItKWu+I8Q5YWLV+K7VNxtCkFqmPcvYogHpoizWUZOR/91F2P+BPe1jlyuwYuIzzrraSW6luFmVSxwF+aCSeyNcCD/ll55tuuVHwj3QsBjeMIyitDsG/fKFg1WYuCnNk4Bv2QL1tmN05lUgOTmnWwUxleGe3TEiFR78JboUxEeL6VRlVn+pUv9jhXVN7fkIxKuu3AWUWNHb5He8Gf7UaCARz9lPIDztOgFdBmG/edKoPjprDi3M9dZtbXeqPxGXjqezIrjfO6Oypo4YHJ94FHnwWhG6TTV66K6aiKzOmuiMjtro84uLO8m/tZ621RJRrdUefg9nUuZwjvCcHICJNzRsoA4Zl+bk1RJH1ZbhYpbAbLFumD2wuYuTg8wzlW4qeM4SQBZnpcNx0Q1D5U39m8tChwh8212OamPHFwvtUtSmZ2x4iH9Hoz/Nv+IDIFi6R7JXLUrJ0nnZS+xnWH2ykZ6G823EPu1e+2L8/BQfPO1d43DNGVqLaWgdMLboF7CXN9TS9crJ7xK5vtSm4JT9I4AHWaZ8A7I5oIDNL6W1JYrxmX50Mci04PWahpckfPKjOBFzS4CxT5wtubtlyHNXOy+9UL14LjDfXbahk4hByJmxeu641KLMHLWR8Dfu8AqudD9HyCtxvaVjS9KleTz4jYbmE2a/vFu/+vKfourfX0YPPHtjh1vE+Gw4JjnbM+4+3Dv/L1mJe3e/xBuft3YV9VY7lXhvGwRQSG5y40h06vC/f0462lEKrl6EjPJ2UC4hUVZb8oFStJO8UM4ZqQEt5IsA+NSHRIJnMaPg23Wd/CsRRsOwfEoyWn9d0yMBd9l7uM363jQrLvy0zLt50x6AKwgQqIIwSzkJxpcbkBP3qRsC+/3/xhvPGmRveNZVcjXyqOWOoc4lt5w7IB1o4ha5RM487kmPuZzNFBjWKFZ+xOWxd/P7wvlEY99dPKscI8ttAmJjnlDHCbqH4N6pbHKCg5aYDehKao8aZ8dqaI2T2dndH94vApoVEm6H3cxYe5yzMzeMztlrhceu5nlMHT+0Ov8Hv1Zc212y1lF9o3ewxp7Ka5LHpKS9lkbaAH0ox0mjduRx7aF9xtYnu7W4bE+VCmrMP9qSqL52NevjyQ3CqC/k6KA27dvEsFVY2uXsXfx1Fk7OKC2PszrgPErZ9E2dyYkHdE+3oJ1y+u27vo+G8IK3VZa68GISrQFo5EatLhngsu/5T2K/oM+T4sB5Wnptl1AnMkB/+VRWdb3hvmn99hP2uba8r/Sxr0MQUmuTiVGKJ3gmgRZ/jnMOaPeStVDCDTOUUBK/bi2OaDhda4zcD0FgjBBo4oxCrjkLF4Z9T4FhCi12khSqdRCeI21TNSHiGotGPDt72HacDOt//s3dWID8E5WNHwHEXWHoOegi2FsZQyNmnoIovaoSkDq1TX6q+J5uEMXB41RQFJScYJP+aewPC8d5CbxHUlHJgItcEBfUy+7bW6m9b/YwgNjppBaNTv1PHkECRjjyxgv6aqeUJbIZX8g4J22+oGtAvCiBJTTB5ZQLldr9FmJRDTOATztH0GK+qXTF6aQTseslZppxUSV9g5OJH/CNyDt9y6GINIry8BnHEmcZ6HGOrUjP+G4pFB1R5cXcSs1PCiTGc/ari1Iu0pEnxuvuOBVMSZn7LvOviNZuQIYI33Eg5CJBy2Uc6MVPEmayrmNYM57NsKBcNhTpPuadUHrnG1tFotHg3A8EO2Z3Ppz+E9pYzACyraCdb8Y+AWdlJxmHsI1byMPrJKckh/a1S7vb12FbK48KH9J69WWK9AgWxRELZax0xJkofEEv3Ed6p274SkZyzxVUHF5b1FeNDlLHJsSIwkqwb/xJV7+5vaPIlYfdoQcKi3C5upz2XkxIk6kIcM0xgjwXFUk0Z/Ki1utzMBNfYHfkU++f3ICPZn1Sy2RBwqJvzgySeWt/t4rkQjKKLEdWWRtaK+mxZCInAVMYaC8JFWZVJeuCvaUQ/coBg8Evtrlih2OHScgSCgEeA4IGcsVtQr2AwPKPZ6qPFhVl65RlKTKA4nCBUwOKUZNi4deqz6GwryFcMXeGIXvMQPMQriParAqvQ4IGU/ygO18T7EODBQsgu4Civ2R7jDJ37CvyrkC0L3ziCwcde6JgMPohPzAwgq0SHP+EjW93sSy2cpSpdXqKKWH8/WNK6TQRrtMxx8/RmgjfkoX9PK9MQ/1lJaWAhwLlLShEHApTyLNLUrIEv1xEA2bAsmDN8d1NpXXKNuEor/3q+z/7pYhUECB6gg+GsOBMZQKAKQmFBknjnMzrdmHhlgs6zlZgxd8v3Maq9NByENFdnDGfMy6JRSYswQzuDcff5RfKnhD6+Y4zwo8oyKMHxsnIkfBtfHn0iEH3cKjxBCk51b167Op4HPAJjw2RC1tno/Bm6GLDoF0rnSeeuhxNf63Im33jK+8Suvc7H1f/CheDr1t7SdWoLObm3MS3gLbtEb3PhIPfSpz1lbJFdOHAxYisKagzPdt/Le3rQbv/Pyo1Rb0qTlvcai5p7rR+XvBlG+skCEMPA6if113B79AYQ7wI2GMxOm5WddZfWnBopTEfCPScu/SXPYG8omXSQwClF/fmYlXK9vLIu2Rjv/cTtyegjCXfJfnpzmnOOjWvQouxXlmkKS4CO9u7P5zy6EA6GKYv85+HXAqNUUjAfIFcwrLdk7eOT7QY8nk6LNRR9Uh64DDmscPgTj+/NCKkXmzNiaqygy9LTKzflH7lssAgVv0YeG5lpjr0L4pNdUf4+PZ6V9bl5F6719pHu90quXzYijfrR4aT6SNPehDL/rJ4JwM7Q6wGVA0PwwPOeZUyywC7jEAoq/VrNIUhjnRzSL1Zr3gyVDurKZdU7v12x/UnH8oHzB2NPtzz0oHc2K1mW5Rt3vp7PwGfc0MI8FApP3y9+7Jj6DxnxmYVdnB+xO9pl6+nFIrGIEvNvcnChKkl5AZi4sRyEtop/ct7d9G+HOBNZNY/rTellj8eVhR9zOI1f4H0ukNgLid7VdL/YrUYiKNqCbLw6LRe9Zb7W0TlnDb2hpaor7i1rYvyrKWw1pby9taLWwk3k6KZZRXSFcGz03IXxjRClbTp+R45nOT5ICxWA0p5NYcH5lvwUMmqTbZbJhrdElwiaFdAC5AP3caU7mehmiXcy3ihiThOezobrFQWwO2n/j1sI5wg1mP07JH5vUfOvWlr/X1mUXrdNHX5+4DYia4PA2YRehf6/HRcNEwSnR6H8BYDKetQrSy9awuUvbt+vUKLkXC4sSOoJR1LTBPU0LDvhhtCeLb1ceinKDx4pPsGgdddpQW32SdYLd/y8OdWBn/UP/gnOL6m1sNF4zqVu5D0zRPEJGMkbWQv/cwJnrNzXWgwDTGJtEQ1EWhypkndNlB7vbNQsG1Jdorh0TLjkccf35B7XjWHvC8Q1BLWqoAl24WrJ/nvlJnvLx4wivO9BtpfBu4b/HKnOLxkjist2+cF3FKs2ADnBTr/EcU3OF+DIaJyZVvIFAK5zgQsHkPdXGC66K12cIIzPrW8JCgtfqZp42Nn5nVjD3Gtp8Tm1TcwrduMnCtErm/YUEdL+FGWw1dK3BetrVGtRebxCjK8/3CP8msM2dnAfOz9dkOBOxRKbQBw8TEirUORExtNPeYRzu/Pzgx11vRq9RU2D4gPbFROBrjE6opypLeNcGoY2srZ2RSvvYAhogdwxJBfIZ25Oz9Yequa0Jjev/t5VuV6clDOJReJ7PVpIbUz08HgFMwt4MqICmbNXKP63yfgMikipNezD/4en23W/CiwIFTVwdV970e9huxBOxUfRqBjT9M18D2+Q5VzV67wIzNfRhMCdI2aLg42w3uYuKNx45F2rACbrwvhE0B0dlBhQ4E7DbK4uv7tpM2TWsUPOnMdTmNbzUpP3GpCSPGMDE5daNBLsptWAIWqWnIqvJmZ8ZRfxqTt7pXb/H+Z61AxusYdaw7wwnJbxcjCJalzPUmj280jhFPkTpvbtP0TV6pnaI7Pp7ncoIwti4nmn0XvClY9eQMIqI5mbpP5wywiot+qS43QDO8tPLxmr9ffkkq+o+VYPqFDuvWo8GxEnGtFMHKXgxRKFSGlc8D2ATfoDH3YGAGwvN3Mo2+3sZ1raTgr9WTBa/XBdijCMvaxTAGEoxG77UoemM8uchtTKloY/L1LXATFIY6knxtA+neLseiuVZmaEri6k34fpog7VvQtbR9/PRyisoyiwS4fvzooHd6SgWQOtWNe+lzCRCeMxH293jUutcsR7cgnU1LZLyasHYXJWLtsW++g38H1nwC4Pyt2mw2pXoJXmFDRzt6Vmy4DiB8X/XDD6b9beCvt0WpWlFsnO5aHOvuPme36RBzU2+YrL9sB5sDh/NQj+SuGzj/Q+g0PkAVmo/ygGUxYhTPgh/cHZzgCSAO/sx60Nf34EYIXbU1tgNRxoOML1kN4XZBZkfbVxJKO/+oPd55dxZAvFK/2+X+cboZXAMSa0swezJ0du0wBj0idw0wf8RO3heUA/W8cg2vRO5u2gaDSmAzxDf5JS8twyqdUp7ugC5VK/xbbK9RnYY3SMIWf8HX8zB4G/gve8eGAXGwkME4PjZGsr4OJzAqCEdc8lHbYdckOwOeaIlmFABFQtf8p5lDErqWhLctYBkwgd0BKfCPg3mUW2jKkZH2E7/EVuqVCkgynnBDihm0eFG1UMKl8Og5mhI+Jnpn4YCtjyqVK2vJvIQnxRS/yldfpH5J+bWOwVBnX/cQQ097YvHizsyWiaOqYdW387ZOycgg8ND0Cqf7fkEnDpUvAknZ5e2Mn2+ymfXqHyKnDNrcrBoqMHcCp8G587CB645LGqNPTHiL+4lpMcBNKn/LgHrcl7F7mSCbbc1lSrohLE8n9qhaMk6KbQ7CDwbiOqi0jtyiKkfHYOD0eF1z0rYjZkRcmBD9AfK6FaPERkmCnUh38+1dEquqAJJJC/uikT+4NyMVyIJViS7xNXc1ya7OUj83+9YXkA+u5DAckTq9M6m/bhMBcCY5JudWdXCwHbSkQUZzkBSbjBtVYztJfbshXI8YrlV2whu05X2ohAFigr8PmXo6zc3OOXke3CEgUtnU2NfOvpPuk978qcoKTkApiTDfl0RkOyhBsFhytFtC+RJO/mEdHyuW43vHzT9YgYcT/t8vp6pK2r3VnHbW3bbDNvZs0qRnjLSHTyW6pcFQCijFL1arzSDqag6E/j5NVI3yYzc0YsmkXux+XuwoKXnHFEm9isfY0IRlN2EneIxVJHU4lZHmL6Gc4pz0TvLOqCcWbrrgzmjotJGeNTHb6Bk7vl5uNIs4677fllPNcc9GO+IgSngOiaTcyvBd8F3m5v5ZIO4d1k1HLVdNqMbVX8kJSw/jpsfpVqRnR2cXx+Tj0z6Eld1XJvrCGRlpvSYN+wzJmdujzro1y1iYbrwT1hdGPmdsYdHip7KPMMPmEcJ4KXuT5RviONzcfT47fM7EOQlpuCA3P8TJa07BvBvOwVe2vabm/xbis/wg+dVB8vJQ+UVq9odw5aZZ0nLSitIT8h2SShbhEnAYN8N+VqG72sC3OOC0y2+fP5ej2u+7y9f+6yCHq9rnrfwzI0pGCTtTbDYQUUGAaRLdf6sEpPEFQ98P7GZ/VDBZ8nceAsJJ+/e0K37UHrRbl7BrQh2xBeKTNNExTPmoW6Eq88Y7L2rT+kwBQU0wWOV9Pv0QsbmksvUu5HTYunUVyMN0H2qNssRpWo246jbE7KEp4xCxpHUR7B5k+Jr4buOu/ATAuZWrv55/P5S02crKFe4Kg3xuNG9au/M4SNsvo9Bo1SGr3QQGfYNJPqnXFh/e/N9k/uQJ5H9f4xUIWfYzo3JEkHdjNtNa+bXPS+UF2Kz498ZBHr87+J9UyfidBQEgR1gZS2I07nAAOkk56Ottjcp7Iz97/8dYJfalQ7CHS0074YzrwgBFjSh7dlQSNgtMYZtZfcZq40+TjNGtVPbQsr9gEHUgsbkAhJXtu8sfSsTa24P1MmaEMfbfRJrp464vn00a/OhSjTGzQ2KHFiBAIw/EXiR5SCK2YwPhJRvfgBvkwJDiLhNNdL7YQpvJbDcg6pTVXoSnyF1dXb0qlwK/CBAYEmXCZ14xOo6zCXYidKq8xTLt5T1NQGZd5026zJ9EX5zxd2B00Zj87wKGwf+mbZ2sqpXIdR5Kd6UiQmibloW0TzuTGxv81r0ELoSFd4kzLMNlSvtWS20ExEMyTEMUedOdT9gHEUz9gVWVe8ovXCKI5vHvS7EJaIGekKoJv2J4GlqIv+tMUhK+mrppvU/HKD3utnzS7aT8x1Z9iLop8LXXvp3gW1sB6R/aUPZbz/Pu8W4dzPPkMuw2WRedS6qVCb9VGEwTmn0DklcZMCR/2oNSOqCnDKVPAP0zSWq6KM6SH1LWhUqNgAvwkSmnndQW+e23prGxBfsGSJtJ+4PZbpxTtyjLZ5hL6nALpajvMptcn4+mDm9O3e+BHXlh6Lua9q/BnjiUJ+SQ2nC2DrElG3/XAUurRUWpZ08YxVs6KszXuBAAzw9wupjis4cEV94f3vr8GcfIRsvkdPi1IQNX5W/j9tqngiKyy7IiQ9aAb4jFb77lQq1K5mSGlzsnS82S4F9f9vqeaKF26ivb85MXDAyBZMCBA7bkyN6NiosgJwF/l6ych5KGVpSv4bhtrBmzDqpJLl7Fy4UJwbweON/wQp/jr3N/rWaJRzDY/jjj1bwasirKriC8mRTqqZCtEVTSlYSjY74bszaIc374B6DuAkppbbAXFumxFqR4WX6t6lbTKYlJurfGmxWvwCsI1OEeaBf884HKzpzFO131nkWexNAcQgFB0JAFUZmJbCKUVdXaf4bwtSzeQ+wp/hDkJ2abQ3vcS0SGXdpwIygcBV7xzt8eFbrlefcOcz28mRg9Vbncam8Wbv4Q8GxWZRT2dcn4aUorJM/aZMVV3SO6O/W2BU/r7ZwKCT85rzKcC5U81zuycT5vCVSvcqQeeCbWClu1uyct0nimcKgwaqdb8DszDpxJd+mKDry1gDZOPzubsTxtJyqMeETX/T8kQeDKgvEaOA+JZiIiMMbvu8paSfk7jKMgX9+iVRJjR2uoIskMBiOYKwtRRQn6oHAPm1hkC3zErcynxiF4M6NmMvb5W9D0RoOH18lL4BHBb2EAneYMrUt+ttu3Uqk2CdxZw2Nq/NM8hJdMXegXgyWh0hHSVFPLtlLnT42eV8O2YmO7wqPHZdBQhH2OUwwCFr2uvBBcFvXcCh7e4ftUhB/d9tF14aQgaMGMudCra6a7LngIBvt/ewfI6AjfE3paCUoOVG+MO8c45s1IyxCviQ6Ay1AfXkVzVAoSJ0ucQMHkBu7PBPcMCoR09oFC8yVGauRkQ9N/g9fXqgYWDW+xHaOuhkBYViuuF+PqsHouBZMHVK0UBPMiISKmxhuN1MNCw56y4AK6zEbziy5+i1+HHJlhY6hhCxs7odgADRD0OyUjCU82kEyb9z1CDR5kWJiZ4W/awAoI9N+hvHPq7+VMniEuiEEynVL3IA8gmzQKoxmpmII6HWe1X40qW3QEl4j0Uypdjr82FewsgRtPObszA6ak47bfNf632JYjXqGebIMb6YFtvBcEk1vKZaKF0J++qAVXqAoHPeg2OHXHULwb3aTkX5fnDdnHTe7UcIIiB0uOfXEUndxmGW6OVn0UW+BboCFxqGWLrqMqYGcgaWbN8qB8FlTsEdsvXAt3hEcz6wmVuXpD6lVsco65s+K6zs0TUUjkJHH+fXJglpP6b2ceqtWaZ8lPM8sZPemqxPq6K+V/G7wb3Pke9sa7gd97AATfTp9iAdzzLXCpZ1ty7zqm9I+Dva/r7JbwfkRmGiywFSGzPqERqUsGmqOaOVlSMrrwdvFy+UQz78Qn+grD+JkPS7Zn1YI/aD/Lcl/61PhLJgxgdM2h8Z+eiajO7Xk3hdQmLp8+/XT1AfR15zSY35vNFEe3Crnu3TroXhZNinB2hO932rTcWXp+HNqH1bH3Tdmq5SHBUlebZMU7syP03wleg3oc18qIg7TwxQZRFanbDHRco1d5ArtcFE9KFzE0vsc6NdJcsv4M8JdTWFSFt90g3ZMSHJr5Z+d2tx5WOY9Va1gsbbZpTbJc6ui2/g/G7ihujp4+RZ1JD6EgYbu370nnaYVfFB+TvSyDmNrix+ofKPcNFTsuc54psD01nkGeSZ7pKNzLd1ihZ6d9NFmTlLGRRHDENJesexrqanEoUQrMt1pKslWNWmaxS7H1KsV4AEN+cCLSEjKvrHKDI+skIQ6MSh6GHeR6WgVZ0S4OoF58EmjQ/X2gnch6jsAbslhh444VSaeLqEWqWGfQdF40q1J7/rNmFBqKTMkRedN/cAjR4ZqayQYAMd6ofLBPBw3eFDLb4DXeIgwM8nTJVeOSQenel/KVQPb/EXX7G1Lkof1QGgROtljGMaJaTgaB/v8vqNyov3im9v2qlUlRr8OXBwaWw18DBI55NpBFS/iqoaUgL7y6oRG198cgY3VElm+/uoA31aSvCdD8B9Yd23wy/NBW5vxD5QvOZitIjL0KtTpgvnef+QFp8sR52/9+d2u45ZPWdEDLNE9FXSz7PLv6/8nNpj8Pc+YSoWIYMS2rhA3ySr+S38NBnLSnqIzS8f5BMuDSLT2GyXTt7LmZQ8LDtcyN4H868MAPCumdQmGzOwX1VxfpkkNFos6eFnL/5XvnYMkmicQsHyf023T/3ewVjopbOMEXceGJde74Ci0ox0rsXbuYNA2o2vOZsuvKuTWr5/Bhefy3Cmho+lmx/Zm4Lu/+yzSdB2omsLYakzTf8oK2YfYcovYLg3HLJyiaC4U14JcVEx2E8rgUcxqKWMNH9GpXQpnsht5+rZKFyWNtCNu2GIwv/ZkuATYdymH/XxtBNbz9+ys9ZLzc4ww+xLlfLhnuqmjPz8joOHRC4XO46DDED0hKxh+KbJzhoWxbVUg09nYuCbvKPl3GKAprjDkuoCBVlEE6LEEtFay/xnfmhXnKsJDSicvxVuBqVlUMnF6+mIF9sHx3f1RIwdOYLB8DQXHIMDss81pEKq7cI3ufvK1szEg34NViHlJY7zBDgcdkzXVC0aL1NdJkqD3NVrBcVD2bUTMAE4s3bwvtcRNBzJBB+4zrT/z8Bmzu3L+in+ch+617X3VEDEdfk63Ocmv2r9+YVJRemJCifVfQbykYLjgamJispXxnVw9QlUNl7kqfvfaceO42TrLT/v8H3x8ow352B/xfmTuizp4Oqv7gUz8Ii5mLVyMYTfzLv9/XXorbf1PpyBahz21H/w0bzrhKf5/tUTUwBwYg5ZlpujylJiuuyDsXHoXxVj30S65yVYS8CpwfZQ+TtoOg5sQj9gKnLMsQdKyeRqRqw6uqws6TGphVsgTJfE4ndUyk4sMcodF4pYcmiikKqTZ3cnJvR+agNAEXDbG+3kzbUre6CWdulIhaYZ+jucCUI3QrFTLkPmlmIQh/Es+lvRwRKce++T4wJCbbywRxpMC82O1xSllckqfaSQLWUyily6Q3uF4cKw+tJ9XA1hmDxHeU2ZrqemUMAo0h+GWVhi3L4c/dmXuYhWG6BY53HAPPhMT8GCCk7b1LHCKrSmQNweYdTHkiRonN1bsP41CMABxuiCkPh9C289z1DHeXLVlVuP82TPo4Irgh0aH/Gd58zkYV/Go9Y/ToyKDswIDs4IFFne32yM5S+tDDeiH5PKtuVRc8pFFjquaM5/Da8Pf3byvx/C1gKHzJjSCHyO6hTyzwinQcCxZjUtKHE5/Thq6eBYovauRu7UA8l1GgZ9gamxir+fc09Pw2n6GfVz1ajdqSkjmZrp00Y0uottYme57b3n3uOCNa81jzHu1XVRdVK+n8UUfO0flR89zG3+QzLOTrL+AlikVvnKMCjt/D3ocOFNW86A7n9JVkzTd6fQQNIx1Pt3R7eUQiM+GsC7vC9EuezmSulfAge0N1N/2QJ9INGkMpboQwex7PNKxrpq2QKHwJdSg1/ZV1KSLrfLYUViD+lFdyFJ6c8GWuFPFu3X9uk97rWFeETx6ke4+EkkJ1mVdVhwYfqZIsMkwhjSiLS324ouSK9j3v86OGCbJb/01QKeJzMvHbbKI2JeAYag0jXEp/ZzFhXhw5UewaHx4XLpn92EbOLwr2Cnl8eKTk+CaOPnrUfCUlTqmIe5AGObS1Y9eJUydJ5iPm+sDcsyaRUUa+5YxutuC5lZISGaEMIRpKxoRlA5llkW8cfSzd0FjWTTBj7H8Cczld6ZjDZQMwOHX4eKzk48Hevv1C5KaCwOJAaH5UJMUlCj/uzy0m7Lk9pd3ERXObAqZuz6jb7GYnJIL20IRgOeXPd6ej3+X7dsiSnN+W09LiJHNOebE3etSv6TMuyYlBuz6F8mO+n/KxLHaZ/EHo4sU/cC0/2vUj/kfOdsunpmhtLN0UUXaWpkeiPUvUvgmG/268a0BwKoM7cvTeUfv8s3ecWroq2pP4x6TN5vQg+jPOvZPVpXdS8gEthWBRelzv06eNdukAgWP0jzyAcwgAibjQKil/4sbfJW3nv2dO3Kbuuq1JebJ+I+flK1Vg7re5foJVj87t8q/njatsJ+N/LQdxEvQnEomE1qOi1QGP22gmyZoCLNhCv0wTpAfAPK9n5E1JTX8JANmnAOX7jhIYCOHOwkBuZuAAhlyg+H3BtGQeHG+YwoeJjO2MWxc2W65CJKy6OS23nlJd1YKT4gYGVM197XUSQSSbK8Fl0qIUNMZrAPq7jnYn7+rp/J+WXksIzuzSyhwYNg1hOzhkLXgrtdXhSgdfhnUVXzIMzqJHrwEHynIDZT0dnT/A3PvbKLb9/QOBihN3h5QbLy+UKMcCX2C9Nfp3zi+eLys6WH23WvxY1sIucnXIkFGWgJeBVybtA9xlVXM/f4F68H9Og9J8amoEGl/ITXczMYfkxxEfDyNxFkpbdf9XRvB4+dSOsH0IB9p5fU2Fcr0uKXLovjEriRu1FykJ86VRbrUifEQfwlUXKV44czbc/u0M/WOrxCP7kg+oQew7fZcvC98Ko8IJzxu50j/vG9ZLf+TwgM64xLvsR5+f+k1n3Wm9oA85XiMw88872I6XEkpiGIuP6piZ2Nr2I7I8n+jrTet6fR50dW3+uGv7jnCHlmFTFqyYrp7TFiAy83AYLkFeUzGeXy53Rx9hbyU3rixTVVeplNWVCjfnbWS0JUX2PSzbUIXe6qlb0rDT5YqaqvXtbIrt5/FLkD0zuj5oOnBaN3/Xnx+7Z37/3iPvitQ7HHhEr3Tb30+7pv582d500rp91NUmWTn95+cUusaucGJ1VVtdkInxmFS6otjOuSPC4apV1kZvf375FnnO1aWqpWrYzGBh7rLq5YXLfqouOxUmXFVCwUSuyAgZvZM84aIS8ANqwJrBNXmk0YNv5Slduo3vsSy9hLYr6F3HKtFEjKw4ObvFvOKa9hWmoG1Tit1UpUnM9jniurkD4+zbIqr+rcRfS0tnaMXwJsNcXmE9pAsSWIanHhDG/SiJHHVg7rMdpW1nTxssi9OJhgJofYH7kt55qAYkmQPbkhKkJAzfRcb7W9PpYpLH5gyzXB3aish4bH5bxfC+ANHTbDqyDumIvPYstRKz3c1nA59caoEbEa1nWRPqCY6IJwe0HOUmZinhi0dMfJ/GrSrhhxxR29xwcqWjg37uGjvOWvG0kn/DSV2s3Q0hPPlhUH9Ct0nu8w5iuENVeNCPHA72/UVn/8ZDf/8opjwVf2e3ZO/b19Cgck17TFfSrkcHaBI3/DmzV/dGyZwsc1IGhcvflXpIN9J6z5nMRnJjSEv8//ga328ZU67h40ZhMBnDFq16soGVaMdDqhzO1zorBi+hna/V0q39Wy1XmMAgcAKUBMDQMxR26O1cdXHHR0cr1JtEWCnd4J4DJ9YG47cmTet1GcaX08ObfkWtvN6IjFd/F3Cn9ts1AkrZcEfVoNPS9LQwzOqMX9XUjaqOAN9xV//EmJSYCn9dNZh4DJIAyfagnhbg+THLeXXSJuanDq84SMiPJxOf/juk0kC7PFHudvU4uYSMrb51Vqw8Hua3yaZFWSkWK5nvdG65sXzO37LVS7X0lQzUH93ptdUzKonLFqjqItv8tgL23qsjIxv6HvC42w2S0I5O2WkiTUOjRphawXVUCArdwYOmN/TtEOp5XD330Ya+0ZFjBJUPWFkkKuZe2klO62jucRwFwYdoyTyHsOyHotLqHFu3AOethpG1JcGJxVVZ9s5B7kf0OJxtG16O0HMfrbJ1F9bCtpOTJDYJecA3WVZQs9++1MDQAwL2dEbzKGp/kTqor8HauOcVJGoaGsHC76CFltF7dyVwaBHsQrZMkd0e8Vw9QJIiMB24i+E0KVUWEKoMd/EEJyCqT6p3HjQHysr1Ix/imfBOPnGiptmY7O4Lrz7E6jBTfNtfQWWRZ648Msw4EP1ArSvpsTWUCTP7Z0twOtbp8KxFB+pM3v9Cdv9Lr66LiWr7OuK97iomeoWU3eCp+jDiDlYgCz4Ooc1HtFgd/kNKo+pJ8k+y90VysgOy8OMQE1ff7cYC7WKVJJ9XK8JeapLJkqz7+/b1z5b2nhCIhTbgHUjTWCMxOAuNy4w1mJEV1gMUl9SLovSW2WCi1qmOd0euVRfKAyzwt5/+MDMJj6Cr7Kv02ufMtTELwdBRmSbIHqKcZzshj9BddppY5ut+MJxh9rkLuZvB1QmP+Fy9TYG4/KGGRjRDJmjimSCNVtTTvtOXfI6sruaAmXc56qN9wZw5jS+17UiGFFm8tKWaMermlcuatVcFhSjUdTJpZxZv1H05qH4hVjcb1judOkipCfN4x5fXE34I47K/p4oPdgVX3Niy+2qhyw37d48kGeLEa8qqZZq+iDFaXp1XJFPXK8S80ZosqS2rM63WByHsY23umWgW/Lo5lY6boSUGIFEqOyWBX5YP7gCoOIhGViiz1fiGm3P437dmzDgUZPWbnRefEJzYtGdtNUBAN1bWibXJISmR3sJeYKzWI22ME9yKpbu+h0exa4IhvQbjBnnDdeiophmz5NQoK8tx/tE63sKt0UTdiTUvgMtijbN3Ge2e6/DyifnUyGIrGe1iDxaf+OGOgZrtu9c2zn3rSK/Qm4dtJJyadGXWMS0exJsK7vy1vLsIR11pudyY8KiZ4Lkku7pROm4acHnr/nOGx6mJ6ULZ4HE4+aZ/SK9yLTuhLWP/Tr8q75qNpRJys0pdFWPE8vPo/UfWG1n5zu11Y3lVa9t1DNTKGL9EUaAaKY2fOjRenJ6tSzx851hFld6aLhRIeKNy5LqeqWrJ+M6axqHxhgX74y2bXf3JZVU2pf+jeKxia64XE+QeoF9sb58Y0+Kwr3V2prhvTA6UekEr1CRe0pVcd+oCJT7qW6FQoI9HPKqamakyGpXT4vaPPL1Vx+Tlju53sJWcmK4rPdynVPMyYnfdoHd4tr2f8grIYXmZI0fl5cGo53TGcyvHc6rkisrK8Q+WW/KrVdFZMYvNbh4spiwopzSc92MkoVXMU5nrOZORnULnjCXFWv1Iq1xS6LcV1671whlt6FlahCxd4UtIklvaRbcQw7/H5C9sO99mvesSCuifJIA2qMIhW2FChXLv69ZkB7da9QyMzFbPem/ZkogEgW7QSO+l9qUdS7BWFlWFJbbOD9LDKUeSjkKZJL5FN1xm/FnWtVTkru24xwr1Bktn3t/JtzuiNxvvIHevqUJo/in5a4XNzTSyjZf/6Vzzs3I8wnp1wat0q1Plb9f5PygYI60IIqQqR4SZDLYdugc8Sz++JwM8aevz+JxUP/qZmu9abQ1syxUVlNex/n9rpsawQ9LrZLUJQNJQtkrqixoe+vWUrHVVuSA3IkMIKokAqKbJbM5lvNUQgPFBtUkY5pDgyBHlzK5CWnxH1X4Q25nnB9ngUba+AqzvZWMpWEio3yMPu8CV+pVrhrqe6eYzpJNLVsMgPVsS3fTy41jAX8bH35Dm/e/pVx/WQ2+nmP/YRqt4tiMpyIF0OOatNutdm+VIr853MywRa3mrlNGheK28woHKLEGG17cJZeKpyyOGhS/U6P1023N1rJ0j+pzCOImz5+bL4fk7Z8yXDJ3aXcf+HFuHf2RgFMZvs65BgQhsiPsYZyO3IG/9QN5eHvPRdkkOo0O1uYYS4c8X4GvP4xFyAoj8a4hNcAsW1dSA4fNLnY3ObW4OSvg2pNHNIcQJe4V6UUlWTp5ygXJFzlqWunDktdJXpXcoW3ka+R35q7INKgpO+UP5U8UOgyF/IX/D2KNj1O6QhKP+wsItca290B5Vd0r7PWoswhvwBZ3Q2Ou90GwAHu2xW15zTe4c5HXnizvXm86nvzp94b3SnPUJ8QlxZ/vhuQa2+84X4mNOaJv7lP1Uwn921ylXm+NkwskZ7V3HXccdKknZHccdxhKcbr6kD8HlTfM6xTKx0rGBdXjkdoc+6w+nqhmLRqGsbuNEIeokAVOreDiQoDutisTPO8UoupMApX4bDapXb3W6XBjLHQdIdNoqR8SeDnbKOqrTW+O+TNdymN4toKupefxH0G0Ka4MtNksXvz2COQHYRD65R2v2vuIOm2FEGO5sOeA8at0bVZgUcq+dADcLjKzg9Gq0uSrtBk5spbvAFI+TFyk4wRFqkDKU0GLi6VPLwB4tYYqbc/Pv6DRkICwZpgFgBII4BgEbHmowX0ZDKrgSNqUUp4kqv1skX1wgcSc7GEMybETWSdL5Ez0j4hfxOt5WcC0oX5vpSGHMuSSkJD13vyMWbQZDKkHhMUqLGdVQuSWac+BkKqc61OElCX3ouuvRNKpBUjjuvMQFBoWZk/h6H8O4p8HHwD2BP0V1LHEtEReutdijgYLDzMO3pa71LCGWcI/iTtD+mTq+C9rFkDXZ7LlWgEk0qpSihj8+qypLMoPNFIvtSjhPc/zTHr+PsvVQIuWBmRPzYk7bJa4NvhYEcO4GeGPIzE6SJmEIeY17f02LbMaqBzMeI0yNbU7MlSbVPhjs9LM0dxLNENjVmd6owxeGlhh8M5Hg5JbafSutZdX/fYfo/qbhjfj6X4PIENcsvixBy0zo43W0W5manPkdz7JRSjXaJ3qZlQ+aQE7Unc9azImnRUTOQKMoUFZkbJOsXDhO6SYsnLApSV22ZKvmpE7z/s/eWRY4K7vKnupfuwZ3oATO++z/deKliuw41yP75CvzMQJk7ThzNoGSA/Wex6wbfeWjrwyf4tH0VXmL8mZjkMGZuCvK1PshKY3IprPeMZu3Fb5b57JO67D06td9M8euSUes23Vdjtt4ft5ehcqUmDQKnZmbcWTp5pgDuFsePpQse+yuMSPxXjOq70lE75vrPetxBySxJfKgyaXC8zpBKoHeQ2cKC1LJwcRADJVClIZI/Y6YQOQhHlRu/ZsV2ne2bOLNy63wFdhhCBSxXe7N88msssMR9AN6NRObC7XSGPEIe3rfFsXxMdIEUiaAj2yeXFfRn5T7Z4LwmACSRUnZkXQphx6iCIQ4kFKoVHAqA1lNm9qLm0ZmUr44VpdZwmJKaXIWNUbEjQlONGWsZ0glpzyQ2bylDYS8CG6KasxjKnaEnTzhp7wVIC/vq+PiVfbbamFvLmxHBYvlknZBs3ZQwAKy8gTYoIRaq2qqifvqObdJZEHg53bqxok8n48Lak/v6zO1r2oaD4k1z0to9GkDTXR8sgaoB2Vu3yo9LUEAQorzmAVR9fiV8B7XjS58pyI/qePDj3O57p3YXFre5fsbJdL+G2eS83QyXkyQIztLnjA+O7Ifw84hkJMS+VNTSdXH/AQhIa/VB0iHPqBT1RTOfLxCvs+1xbUeUU6vCCwkqxYsSu/LLAGtn3nzYY4+QaLwAvciVAfgU+iDTZ3P1g5Llr7+0e0HIsNJ7KuInCupOzul07zopVvv6eE1kK0qXuWeMSGJ3TsAbcktLT93Yl5lmaJDaehPFXvlKoKdA9lO+EMv+o3vLk1/43Mn+M4LH7UMtvTQZit2mlP4J+vMmIgMgQIKVOtrT/RIjEyWxFTacFKkj3MZhyMyBByUWd/WFECwMrzmgU73Nl5Umr8pdVvMFT40KG4j4xEqd5/CskpintLd/64kyKSV1kYP+lR4TTMEEywiJg303LR5ts9XbRvCAQLHwIHODOeq/mshb78gqoQJ5Rb6LAsSy5LSZb6qjaw2mUeMR1xyXVUyJbboOMxXSO+F5bAKQ/3ZHKLEUW/lqKOWKbOfwCrpW3piwzLlbqOu/LXNtKguQ0w/m9xn+p9s0zLbXPWUI6cuV5iq8llg6R0eV0eBwT5yOPSOphPuZTEbirrP+u5qrslC883j/fMN/9VVlZi/cTilYHsfbF9kPEPJaB1qrGiwu3zRdvtvHePQTDmmocDf+xdnigat8eSHhKhiyCW8JreyaMgg3njA1kygrSl7CxcoZm/2m3/sUJtIGZbrnsd+bBeWkx3x2DiiIC1z6rQzuyghzd/dQ2sZYquFw2VykQpBx0XSSNXz0Iptx3G12KDMrpB4ghm2wCs5JlaeHMtITGHEAsoOsvXn4GpLIyMwY5Vlo8VbYWJozUD2Lzna8+Tx3Ep5HDGeTUv8uzrkNWKcb06+S8JUkr9oHnfa59hRHpfGF38JurAp5Z2B3SgKvWmYx7YXJnA5kZyQmJzdHkajZPdJgMD2U/CferHV1KKl5wLWdXGbFxVn3t206VZE0Vr0JmD/V546Ou0qwv5e6yHdVsYA/3B9nYWZn/lhExmB55XrLD8Mt/DnOJDQEBYH5pmb/EuGnl+Vr7U3zGfiPwTQcpsRVy5V5VvW5BzFY+o+mOc5KVy+PK26/rFywS4tlQ8HXogNoEJ0UkDku82TxmadBDjxd/HRBQE8X0nI7oLArRgFYc7At8LGnxAYzKIE+LMowYERQ5tVggPcLymrXFLWDn773h+CP37bqArDv7dkWgzr7ata25VHxpCD3hgRkYD7cmfCD9nxt0pwX/0ifftJZc/1Z6asuq69zJIWNi0XBEfuO5vRy+IOSwvGPqkBJG7fHN7W7fgMyiv/skzBW4CRb90ioE6fPvSJjfG2r2Xr0FmRZhqCm0Mtm70CXFF6hPQlgexzZewdHWe0p4OsQJ+5Je2p8PP5ByAWSfPF/rZe2IStvM/8i9jzuSrN06yIlRzl7B5E54AGmDySrcP1iuUhqtgw6U8hDfR3IfWVhqnennv7f8EbwLxE61Oa4+zTci6g+n6n//5Ctnrj5iuFH0Ia6m1B6ir2K3m9rwv7HdkoawDDyBP49XfrX+0zZNwf3uIWVq67ef7U+TQv3LrC31mtgJloc5J2hHpK3gUw72HhFHA2Gzefmli93jaknq/FCZ7pecVuAc5vFaP/m31sp4ZrAfKDjm6ecjcKeXloEN1EpWJLpfRT609SNXClOB/spy5UrGFbDKuRWbtoS0hDSl1jQLkv5YlzAS0dYM+8uKKLRbaOYaRHa6ZZcpoByoeFSzzzRcPBCGWOm1fwVgOQUlCthfx0rEcrJO+N0LT3ILSK8eVSsJNioM3Nhx5Q4MdURVtq0oWPDd4O9Oi9EBgqsYW1TlW2plqa8nsBplY8ytX3jvS2DK0cUfHmyv7grdh3/CqTP5vTgzdO6pUMc/tPo4IUCWqTJIAwYNux+8GXLxwOkU6cSx2fXc+rkl0NaVo/Oxo6d4iB2f4fPILG9Ien9dP6N9KGw9KHlR+836a02agfblbud2znfUTFyUGEJfx5do+YBIgrhHckLMbIWGwbDz7dL2r9HTHDJw8kWacQRp2XD/Vc/IMoCP34yEHQg+pdeO/BafFaa5Cw4yQ1oOwFVdyIiD8DWqq1Tv4DOjXcWr+/AQJD5gUnWurcpMp9HxR3oafafkhF494BrVZOJ/NPOqlSxf0YqHxKJawSFNihGALM1EMuXuC5x9qO5WDL2mfNkCgzIbaPYQ2MWzDJmA4QwrsAI6CoY11qodsbKZiBYBIb79Jyc0ohpSpqtgUSE2P1CGZgFJS9b8sr5g2u7+0dGRkbO214qLy4eP+BILUcMjxzxhU11fqOQINIVMJ9ia9ejeBQgcg6FXV7/R6sUCe11+3Z+C+1uq0+PQ19CEpLb6ublRkNYQrlqepYTua6LeEEvku6AzsUeExAQB3BtomUYR2L8CwE4onIEaiqzHVdHc+6qZ1VLFn2O0ntYdjLr6wlFnnLwlwJiBzAI7kyIqBkucERiWFF3rU+UJV+rz9uxaB2XXdaxO/MWdesAs7vjrGw8IC3YSmI5t4znTN0MtDx4+8P961U/v3bt01O7/g2Pe2cP0PdudPekIEHZP99MfAZeSI59WdW4BUOysuaIVoxA7FxeibfV7qxd5WNLWajUpwIhEN8Sw/CPh0Owf6oJ99jdwBBP2A2JCzYfEPDa9md7eQw6S0+XPcjqMu9yPfC1e+f9DVLHO+wTGnSVG9t8cxcW9qpTkpYdY596pW1B9uhGJJ4/cbDW0A0q3WrCatnhvf38vuhAOJAwB2L/Cv6IoAFk1IuE0FTkFSbK64HOFMHgJmxM3IKUCxx3ZVWXoRmBboA3dNimfbanV1kfGuwChp4dFEL3MOkPaITOuIIBHFDL9G+30v6NuQ5QM4RzKa0/zjbg40pr+M2Bm3Va4/Pix+FEnp7iXb9tbXFQxIL6+1HE636H9Z228ygZPi8hQ1sQxGIyIfnYJdoFpaVcoCxpK78AC66U6ceRttt7tilPjLtkYi6lW78mVyPeQqWvNkzw2vYGpA0M2KRP++C7HPNTmqXhuTph/pUhYgSmeYl0mG/KbT59jKfELJ9HjcK/brqIEmUnewKfUE2bYUibyeCaUxJjB2eSQ81+bx54JfjPwCBhIeBfK/WVWUth9KizGhi6+c9z6oGE9uxX9ICKieAe52IEGidHjNyvOrQB7N5IjqWVUA+53HC23xK2f8h7Pm1gJX2146675jtp7Q3MhBazp28zQldgnAfGyV9BY4ZgCxyCeRUD4OW5cSBZbN12jEndA6EzJZY+23k2alYJDpEbD6AT8Xy6uoFHvP+7YVLWB1bkju29OGENEXLaCHIQkGty99qF68TWsk8fDpmsRuhogOsXgOLT5vvaDWtgAFhlSD18PyAhK/5S7KTqb3lhHUbkIWdpC9iA3qsdJqAd36bOGkk+ahvb6PvdLJeBDNRP3LV7UzListmrPdvy80ISQ9uz/VI2BWZzR1p2XFVZ2fqjeUp04emFGke9S0aYav9dWnMyzQsYXueIG6+WSSwuJv5SO1rShlj1M5KCAE4QIl0MUGSeY/q+6U4o1JRziko5w3BcXL+PLXC6asnVMT/lDJRVUW+81SIqIcUvxeiDNSrCp7p0ipEPCEElBLipZhg8pSrBbldkjBe36IrPcer9apJfAlevhJP/WF4o7snl+OJRNBUUxJSPD2eTysSXy7Fy+OoirEHowi4u2T1lyfy5Ql0bPw5ibqnZTWm5CzGmRJPdicHegV6uHvEU8Jd8heqpnjjC70IqttqCkRdgR3DoktxbyIKqY+nTX6rEBOK/jf38LsqADXXrwjl/O0WU4VwuUWNy/FCPldWLUoo8vS4WVdafl3PXtUFzG8fUOU2ewqeW6XE6T08b3oRUQ8lHq/BCGeEZngLGfcQjwc+kgXyAN/KpMMFxpTal4vyiT76ohn5gh3hIcH+iEMFsC/hORegmYZree55mXKtTCs+O6OaypKxmK+1W+Mv8LH4CQXPZvdu65AD2j7RTzwLgzHoIxRyycp5F+p3hQAZNzAiAaKQE9hhwRpZTYC4MH9JYr44SF4tcuRprQ1hDAWb3rRCjOKQADeRTjmzIbX4Z0kgMuuDBGlPQh+5rAu6KnvIqiG9JrpG3BBzqMFToZ/v4ehtdNMqVsbqkWNofLWSyqKMJhBFPaOtRQSWK4LTQkqgJlEiL3HCZJHlIos4WW7Z/aO2hIAknjoQ7+8ZpIpXBrt8DqY4nYuaYcElCeNGjoLlqOvW7n69XNfa2Opc4yDKBLAFgQc9D/bpoXfAjhbluJnkIqrkaao04Mh9QpWpVzOZ36zu4+5bbzRZZrnMIosd/tLSMzEDRH9v2pS9wHLBXUODqoRwz7xBeWywomvJN1MgTK7NasGqDfVA2T79+XP6Jf/x6jDbKXURtUG6IN05/YgtXnsaI3j4L6HepkxbFmDiMC+tliiJ3D/CqFnNKYbYm2EKjHdJe+KtZM1kQwgxr5W22d347dqQ2kfwjGSFEmqJvDyW44DxGvKkUq/rMPAqZVlDsU5zSSh+LuS4EUQ8gZ9vdQ93z6ov259FUJtxAtz3e4IL22PbiVgkNgLj4usfE9Bp3eCLRQYA8+z3mII8qC22jYC1b+VtcO9W8xcFdFjX+2LRS73Nu/kOkaUXL9Vtamj16KhvqecyLDtXnsyBzHi/SZZnxq3YjDkwc9n0UfCmThNP8gz3IKFIHlAEsjHomP4nvAFnS6QsLcjezCL4ejLx89eY2m2ltIRxEgpaiShFepJRTmWWc0SkEhEcq6M91YY77AcsY6tQmF8iYnB5sR4HSQxrPMaJdJIsX4LwQqWmjuot93GSmJcgoOzckC6YX7YVBtPW/69oiyJ72Bj5Z/JH2xFqrt3nFOF5EAbhwhWthzshWIw7isYbg/wWQwpIqJIqZ/ZyLZD+OzJJO7KB8GTj+lSS11jqxCUSXN1mF1Ss9weVm8eaUnOg3235EMct7i8sjh3LwjtVsL1Vstvf+bEQxHYte4Wnkz2Vbk8JOYIAnfJrgB8RVa7rlZCdqu7ikxIeBO6LEuH/KPpuF2R6tklp/hMM/sNQX+2tDaZrrZBhihW3NmQ+Kjuf7wIJ2rvre5VW2uDV/nHQzVOCB/0b6ocCW5hC7k/vbF15V57pTVJawSQuqd0lmJKb+K+ncWoitsyZsd0u7905Ku23q6cHFKudSCruOpxIqMlmY6FFcN/mUrWWb6W+uVEjImjV4nRMwslcl1aXCbCowU9m9dri2s/AlH0FPVFdr5pMvaXxvkivl3ybPGznmCWKy0PTNgdo/yVgdDSoNXvbKc9EvBck70Odgr1XMk2FsuqgRpeYy0SFq5dwjpeY/lZJNGVAlCC0DImsRyL5wZ3GwgVTs119s6fbhfONgviWTchi5EbcKb1LdN24z3+VGpqymU1xOSVxG2Mrj4+iObqxusBzZvgK0baynPmmYhiSIRPzdIpPZa0NyV43dXzPUK3c44H6kF5nLWoS0YooQpQJcQ0FAjf/fsbUxhA/Vlx4XaJvRoZvZyaedzVPp9Zv6ywzlduqbExU/Z/Ww7XcGYZObgX5VWB6p1xU5OzD5GQaka1T9OnpXPqva8be+ytdKFBYnNHxmPR4JTKKul/K5Z6Y5zJnQP5FwJ+XyWeGpEhqu8t06U3t+w6JTRHqNvZGTr4N22NeusoF8NmyvO2t8mOR1eusfy1K4ETUX8cFLivxoUxRbIFPkQMIwmTlAGB1k7unH7w7qeHWplX9Yu1omCvoEX1PkF3m5rPx7sHwEw7aicO1IcwZf2JomAnF/OIf0wYSjsd5Mi/2JH0tNAO+rZAtAoH3Eqii2xx9luAZfJB+XMfPL23p2ojPscAEIF6EJDIDns2U4jUj3Oe+wFwPgVBcgmtYs7QOjL90eE2sKcaVFE9sBsApXvhWOWYr+xR0c41qvBHayMuXIyPz867CgXj16tU/Z+FCG+X/mFB8wUN2Dd62sRNx0z8vuSbttdX7yuiS7Ah5dLtnIrlnJ10Rq09JafBX6XZkFewWjS+/H5r2zW7fELDy8SnQ+TCk++tQI1gyP/lCx4azEakpizUL45NzYvJie3SqY4Z6Y843+1XrFEEZH/3UkjEpIaLYKL2Nk5FT+c7xLIQXNJDyH+RI+EOOJG5wPyTBPYLHAmlbnu5+xdeJq50PtaPBWViWhQPEQSOTXzCCFpKoipZqhSUdFyNKyfM4X6W8mWYu5+/EyOEtzopexi7g1icKjGR1wf7s4oPQeAgsPXL/7pyyI5FlsZO2pYHyKkFazcrdhcUTW1Mqawyh9bXE7LSA9OhITr0EF1SysiX5RZ2EHZUW+XaMQYLmyGOKUt9ZlDaA4gBk68y7q1ncsgGlABsUhw4C/PTK74Efio1HJgf/GWMDiDzj9G+el5Am4mzzd3WMvT9MSFqUs5RunI2rTSlEL/NVnHHWsju/G/a8O+oPBQ2P7I+M7gy8xvZnHo23sxGbuN0pAcrR3aKqn6WM/7m3eQ53fF5+ZN9sA68WJsm+QOPjwVMKCP1s1ocHFxwGxs6NcrhTHu9aHrYuYn6I6wrFEH6OlGV5+XllveK/xWb6H2n9tokIUwff1cDUkURUupUXnpWVTRXiGMkAgU8l5SwlEWQsf+5M9D3OQv2pLYOCMeo7LIKPe+p9F4Qs0pzcPa2/c4/eboyJPce6T0k79iR/qu7ScPLtwidpJmuMH9w3rtn6vUcu7vaxEub9jboP3fbNdPQAFDDqG3IFtegNJx2t/GJcOYOqcn+R2+4NbGdqT9zaLXIM3P6SbPEDYxLF7IvDN2ljbSvTIRWrRJdd1fSJzmExPdGkNXGBi2wGf44PrQ5s79sG1aOjJRGVkbQa0pH9asQJR/dkVArCD3YCL6P0+Qn1iCP27I8fqb1O3r7VXsEMeJOc7EKuOsbB3FcYqdq8yY8ImBukRdF2UjRxzwNVPXpqVWRBUksW1l3kldDUFO+5aGwh1VeZn9h1Qujrog1tDyhjD9rnJwpIAmWOqHTt3BVve1KWfSRvRRRi+7E/mcPZFYHLrO6jQaEPeRWzZtv+mrFDL86fnHvd1rN1N3rkko8djxqT0FhHtnahstX+2tstVz6/ua1ffplrz6OUyPGPiJSU7r+qdu5yyJtpgiYhryopgbMIHXJJ9ezSYkDl7KqWJU010J1zkyFOm73rPdUzaMQlYIEdVTMGso6P9XlWfAyOjeRwiA8I02ssNq7W1a2KXSt7E/b0xkXOl1zAE9Re2dMEytYDeW7blC4qHVF6lU1Ps/PVv//pEETvEe7dJ+xUlf9TXKIwmFdVJzX7lL46mSPhaM6FQRUlykVat8qcNWK10pyrFDZNLvtecefV7dO22ljX2yiSpgIxhafYXWyH7tQoNBccoqdB1OaY4o3Sou3bi8DCAhOtVlhrdile25rcbjbjq2WlCFGifu6AcWDrYTRFpJuVrdTbbBHZWnshnrPO3mWn2bkQCAzCUruWZm2lhHfFoRd8tfjaTvZ3AGRheyVR9Aljn3nY0WeR/VKznqCcxUE5eu+gWLUHQk6efDX52ZGzEYdPnPs0OV937JzOOaW1kKCvuxAcLgeZ6OWi/2btb/qxKPsbRN/mmVwTAxxFUGydnH6LULyEy6JBqyel98ePbZ2ypMMgEHzF1inMXcuNg9oxj988fGApe9nt+Hk/y0o7fMaT5RU97djIBH9KN7axTeXl/U1Bvr3vfndl+4KkjUj4rWJezb4r5s402PeW9VQbs+KJMRrnurLRs+onWk5XUqhmEMMdWqZ4qZINUrfNHq99HpMIzPfUzR6rRdfaonVewPetfdsNmaywF/891rwz5LFDQexsQ1zjoydFDs6pKdcui2IuLfrH90dC/LTunNiE8u5IQXxaRYd5jMut03nxSOfcOv8M+ySNhhMniliF9nYfyTMmu3nzAlZRSi+5uf+aSV7p08XbCeonNFrv/1lbGX0+/MSTbhafnNjrxNGt5hnFo3boq/5Ub+R3KPJreMeC1SDP8tS/rV5nV3rbvLhyxjFrDX1QY/AuZvrFnen2EvtMQOS3XoMt3dA38HBqhG+psbuccs2k8PpE4ra0C3BwS3TygcIDchT6j1V9yiRnbUp0kEFQg7TDdq3dywwcaBMq2bLlzZst97X9WtB2JsVkSKtqfDS3UMYOOaDz+7HeP11df3oFdxsY2+4CIBEAgAgad/j/o0yb4Q8HmMDaes0gesCF6R64oNCpIdX4LgUrJyx6nGI4++4Ig6cPKt+uJIve6obOas6GLIK1N+piQ+aFARXj65Jvni/a913BRaxoKx66ErcjUE6qGcg6DR/SxzyfROJTEF9TNBA7Ds7WTEcfrK6Z3e+z7FZf/SFHs6k4l4jKnCWw9wIdrWdxXbB3WLncwhsYElx6C12IQpdXsPsMh86713r97FRT+Xag9GzTyvDwyhCFhla4KyP6iuGhnKq1p6UGtwLmFfofDPJMIPSUvhW+V/+n/rrPmz3ddTUO0mYehl3qWTrdNXRncThoxKIpo6qhqCup2zweNWSstFCvOjnbP3R1biThrntgHOf7HlmsEKu0PyHFJl3cs5LfcKNhgYa7UrIcPNTSsaVua33LRHB6YXdZgdYk1noV+jqh35OJSBl67ObVERuD769kWZwQR2qxYe9yzT7x7/dxzbhFQMrYR+OsNI3eE5u/2ivugPzU2+2TArfzNXyo2SLDRUCfn+Lgz+I4H/14j3k+18FYA3FJp6YzJeU0Jo2VxVVl0aN4jN6cKx/WG1ZbCle4Dj/SJP5VjKSLmTepiuxInZXskDKx3JjubQqHJhrnrnt9tDMD8X2dvfeM1/WiHZZgUgdVBc7VPX1paSr2oyJROrPrLCAhOKnzoDaL3KRQpSfgVJRzpOvWcnZ3pqyDTRIAREtPeO/byWluTYInXFenrQltRpOI2WaKUIKqT8QcVqYNCbvmXISz08pgvg6V45ETJX7ySsL5SnZDbaI4j2sddjm9BUWKt2fdZnaeR9mhzncy77Ew8STbLadc5rTGSZhNRDecTxbbutLjrXJV+gzKFDpR2oObMTw70gktq5jrOhjheuuv+l4l8XGQvEK+WkuKUUTr6MZ7BdKXlnjHb2UltCpwDNcOFjd8tS10PF7deNij0GJU/u0qbgyV5X3O25lv0MrLntco890B77Syg6cE19pctp+nXijvHlpuxNEzoGaC8bFapCwyy+2HOoOnr6oiuhfQbrtAe/O21Tgspi2iXriddxJRs7eDUh7rk+Dt0EV+p3/q6wsFwCc+0RVAXlW2Pv+S3Vc1C4DAJTMjWIk19AYi37bnuLXobXd/DK636CMs6H8ssUP1OOmWhZ1Xjs9PPcS74oYY3Ej3Gzfr4z3OtsXMGjor0Q3hk54oTuWsPM3CbiJdO9ms4UQKCgorh019BLVZYNbnKkwQl+d2bCAAi3HBqoeeWmaj/LZ1Jq3KLX+Yo0E4s02y+9TugMAQHLfm6tbKNnUKdBMQMml75jXwleL+BMZrEL4c9/kNCcF2QL6+5dlKZx12OzFwaLcCBFACddoyW+twjAe/Q5GVVW2jlwqpXkiFv26qfDrMfeXq9EoIdKAeON3hMkWepLCebD3rVS2706196NXbEJMwFRPkxHOpCS4+Uf0WoKYaz3inoFSu5hkWYTck7m0S+n0ciTthw7//bWsuxDTTHtznN6rxtgO4S3Tdi5RC+3v8EN7PH/OeuVo9o5F/+yv4SaEX+qbh5Jf3d/T96ZNvTqkur5BS8SJrrk81aLK8FWG5vUOVS5AwG0+viv0fUKskhC+7e3HLdVvBEtbAX2brXyIukHfkeSTsOCkib1iIOzPANFon5PKTokcmnqz0b9nsNRug8mfIrAlb5O2RgnCueKMkflZsWXnSP0E6p08wTy4/SXbCewWx134MbJZ6XSXyvuB4gfnVpK4xn0cy9bINza8e9zRgCzF3+aGzuQ9e+A6xIkL2ftnOPNeOa9Vo+jql+78m9TlEg8mXH/zZQAnxuoFJuMjiNDzsbJxDIu1gv8g25/ylwd43FtCLley9gHvvlYXtpz1WnyuvlQ1gl+FUA/h/D1UQMOuUjqCxcypPyo8bEu28sHRqjeHUeegyls+gisJ8KgUoVHfYbKlktsVi4m5RL8jLN1pbm2l9D5pow61tXombV6NMtm2nP+QBLC9va2sCWMVGdAa7FQKHthO7sSudLc/ke1aaqrpYN4xORmQM9xT9F84zOcTIkYVWvdF7B1yPFKhvzBSsbx/9yv2XNyoPHzrEXssuZp3iPWf2o60KOzp1UFuwdZ0rz1rq5QdQBMnuz7jldX4oe5y5tLfLzcr9nghSpPzuypHQsyWkP85M2OEnbaNPI43IABs4tHgKgPQPJBpOPsB8kt+WXh65qh95fnIH2xaJj9eu25l81ix5La5u+79REemg35ZC007PIm4P9/wGjSU7VHPTA5URQtatZuwgPTPoRVhYmTekVxcN+cZzFAnslP8SmGkqKCorIkFDLsLV2qUY7bgrnTqPgp/TV1JebZFTUU3DwJ8YeiuDDC6lIO5zU9rmECHaRl3++2JaeEy3fU7I4k6PCoEBJOvQcGd2nYdFngzpbUF+RK+MglBoI+OiLuQwa7PDD8jjsqfEb+K3bo1/8z/vzdatbP8PjYkvFU94v/kkXZMM10yiYBouXCimUACCKzpyanvUeH1jT/ru6/0jViCiBvsdzKUpnToMz+5moJ6oKMO98lEe6vAgHPTHgN4qqcpbw9W1n5Ks4X7ELWBo+MAxKTq/iMMFhtKZnBi3wm4PQC3Izt2B2ic+YxMosp/x788+LKapsZFVMI4uUZ/ur3/u2y+MpHNVKrZrot6RUjEmJjt7nD08pB4JUQGlFrWQZMOFUhUYJaSVHaWxUq8JwKS9xeKnRkAiEonO+HqGhkVHMeNN6308KjpR3xU1CYPVeleawaML1Z+okPhEFosO10tqfh/cB1++8P8fDB7zz/8MgcJbI6nXx8zhELxaBrfu2i/AhBA5WE1Gnajbh3sS4MHcN/L+HgLImZCxnNqp5PTP4hu3K4oFaIazw8P/c0RmISEv18XaecbZC3vcuPTQPfXuZzA8iRXM7ynlOKA0sAdU7E3Kpnpqt15LIhnDfwPiJEyfK8rcj78hXqWGXCqS/GQlXMH/JR6gik65GMxzu+TGJITNy/haG5aUOsu8GASNhiaFLBPAdAwnVdx9lH60I87O4gq9XBHosumA9MmduIwvIS3sbVnCVvNCLUVpOMm3OazQyTI8x8hTfk4JS9upxHDTJ4fDgqCHB4AqkRXWnNZ3Y1dG3/Zjpx6onks/wlpBShDZxrqlcDfUt7zzYiDRaYf49stLTNJgXcfrZ8mOcCRsKYdx/Au5osGx0o1WsUIfpkOPKmPvgPxLr2lyen8hkTPo2oe2HLazfDDj30azig1g9Adam0IEmVFenvZ6fSIh1alNj674ciILv1veGVKyjBrvkcBNP+3H8A+GuCATvR83luwL4QmHZExkHEgrWNPp91Rwnbu29ZcfO52M37tXtc/P2zOPhms+avqnV12gW/cFAfrRgpdRVH74Bzc5tUWdPJtyBZWjo2pPAj7CM69T0aeKQjCPbiv5D1xxxFxYaB3AO2VkkYfgSeZ49uU25T7xpyChoVhDp/2gVh1yAZNwTqZGrxOVS+98OTlRUOeY9hpiYS39fgokFQKRRxZuWJCAPzphLnABZi4fHgILIcKuQ+FmiACE34RaDyT53O+A+r4XCurh1t2eXNiJara0q41ydtJimzH65MBGNAsKJUIgEAgfuUINayK9crIsHSSn9CTsyf1ciTdLla013nP3825fxAy+0Sv19bGjFXa1vacgivJQJJLPqTPML6GlGHi+HT5KgoZhdy/L8lTOabtY6oZGkU6thylAH9fMHh7UhUH8oQL1pEskcj76R9duYwlR7lJdDaG/XWVcFUMgEHcQXurKus0A8JGer1c23qp9TEJ8+ejSsZmoszYx851SDA200XBuPZKHDB0MYhCUHT5Aawaz/hZEtlLX18aMQgzAPGTrFkTMT0ud595nekrrMoVtbwW/3XpNbgVF531FS0fAV5Tkt5RIoUODCWmnovMzs7UFPAVJPu1NGVH7gZuCboVo4O6pHjXrMK0WcWI5agtDX8B+UOpv1vXwYa2ZyoDAMfCUPmLXqYqR09xp1naG/5s2Mxl1XwicyTtmah4DuC8xJ3mwGTm3RDibYdEgBa26bisWLlrA8hhmcf+5PsFaDszD81SQmhbOn86sBPVzNqfq6csaDdfuH+2gd6NWDB+sQCn4weoIgfbgdxcxqBH+u7Ng0mjvCQOmfFp3spCLqob3VbP/afO3Dx5hrn97+F3nsv4iqpcQNQuIWPcgr033oURYZmx8Ns9ipskzz9JaHz1joWT4x4YvwOJiV0/80MXi2mcWxEwgFQsM2MOBXrAMftCHb5Q7THif1DBlt18IylqakiyZkLtDw7XdtyX3IpjECIe5ESgbe8EWmsw+1O05gjYHP8LBgwSlA5i8Bfz774XpQ4eOYAYZGS+HoMZ9vUfXKBABBj8EpAARlAyaWmm0Fwm5Nv1t/fK5CXZ7TK/HM+xaq1tho5B4t8rZ+iewOTYSIae0MbYysRcn6XC9wMjNpeZbpMuUxh4pzSmxTEDGmVZ+K3KYnq4yn9XKkQdra4O1OfIDWu3mCTBOR7uFhssygzVy2WFRShYLDsMjzv1/K44WWsEsqk+o6c9o7U8N6Dr6GtZYFQc9YKdPv+YwiMEMjhTfixwcjLxXPPJOHcw7wMp7W7O+Hpz8HNNlMMVet0fnyM7drMAteww6viYc3Jb1VqEWGU8ePXRdhvO8tcfR9jTGj0tGfTFRrFcBUMp54hNAT6V+a/fxplvvK4G5Y58RDATAFESZxsr3t95A+Y1rLL8VVULUI8WxJtZyQ4y4ZdYs5C9hdFsQWE9k69Saey3+QPJhC6QUGWlgIFHuvC+wDaIGqUKCWO4YSfVIVYgsfaPIpF20C095qiyuqt7t9LkbdEdkCBS3ip8uQOeH676EjKwA9n3v24D57hrHDzlTrVUSr1cAgSFPyhqi0pWk6WBowLo/my+YPZ+k8wog8G/H+SL3mRoGjzo4gvhBNgJWS8YjppFYrh+2iKCJSXH0cY9LhY7t3Hks0biDOl5QQXUQft/d8luwAbk1oIDfPItgZJGZbDJ12Nod/3YNNp01YtL9C5nHra2wgUvT93br/O3RFo9vC4iAiq7LDZ1vE6OZCknRkKU4EIroEDCK6MhNjPz57Ql/U3/J2BcSTh/2/AWW1CZR/SXCwtn4trZ4Wx4iuqU6hnbLRQhiDkrak/UwkJRLIpBg5Ed/Xrqk4CHx3L71FDMjR7LMx/2LV1SgYvhBw70nmvL47zQUSc7DSW++oTX1S0CzZCnGu6JIOWVXGplgnKNwklvL8Sc67fFxzlx93gGOxzQ97rBARDd/4FrA8xOZd7YWWTXl5p7e6RswFDaT/77TmM3q0JKBILQqKQOz6OyA83q3RxbqUzwBLkY5IufgQ2HOIXqErqOKW75+xVA+mpLdtGMDkdhaQv+PYsw0bB4QwpLZn+Pdc5+d65vUs9y7WYkWp4FqKEqVtNWcG7I6iHFabyU5IiCMFZ/J4oVdYyw6t1pyFfSgUEE80wVAcBHEL44i+5zG1A2fj2fLXb9bdRGzb8VXnCi+Qce4M2FJg0wcL7EIjyleasGLXxPZ7nMTk8c7kV8TIv6ArdUUS5VZtQkJbRHEhJoiuG9q6c09MUj2nmbGzqQ7RiDP2Q1VXFY+s/Afe8DFOVljNkqcP3jezIBX8zBNLaulN9IaH9iZnqLuSHJWqDIKt5EUHUnqtO48++AI6+LmKLfc5rkVBu0PnA01dXl3akJ0hcv/5RyKBkGRsK/Wj28XD4b1XGUbM1nhjvq1TFzuyrprbCNz/3PQy3+UDsuvzBsURxMO6GL/L2vm0MRCWjCW8nIVzkS5aIVE2BpxOeH+V+vzn9J6s0MdjB04IECsyRMA00MX6gU0kYS24pzxFYouN6PCVZt7X6dc0RCAj199IyF8epQoMTK4T4ePna8EurFk2UD6Qz/5eDfuC04uP3mTanZHQ/T9AuXSjIq5IgX7ypoUWbxsQ6pgvYbIMusnJRLG9+yAYltp3Ks2h4npaExGkgqtGUhPXb3+hIbe56MNjU0VneHuItvcVe3SMZ9Q4NUKD1sQ8h65jTmvsqTIEwb7/ZbSwlisnQ0UuXxV7q+16sNC2PG5HInpIFN+enwuwjT80+9UUL6Dey71pWI5jnDeecwtvn4AXnqsswr6XPrWQBVKqMpYYG7uYhBEV3BrDjlfYywaOrEy41lhARGIykbOvNKm160UYtQxuvr2RExj9mH1dSLSnVTpVAyTNytvdv0EeqAf04DGoww8jm7Lc2lEdx7ZoS+zxaMHw/qbsfDVEzNtVy7JezIrB9inrO7LdJIXYvCAlcVKnYIElmPXCwQi6r3LBTkLxc7D5MqTGZui8wu50zjjbMmtQLWc0aTMpCWuPmnw6xb6jgWnTxfg9AECx8CB3tnfFPZ+l9l9JLno+mZ9Zabz512m1LcOu+85k6Q5eTKpNldM4rr/+Ld15VMLTXb6icbacaHSOXTZKWlH14nj6DCmzu+HNvjypadHCS0wSeUAI8gXGXXgyRMxl419xa1bY7QCwZN6qZShNhJXxYEhLXBpPxZLoaSknDj+J2C4UENycrvx7BnTE8fPcFz8jZtCO/lrFskDaf6FfjjU369JiId7J9FEBYnxg9HyyqrxnErgEyJhbUAhr0KVtlPSgrGx/CCPPx8fe77jHQHmxYIaa33upE1xuleFxc5X3iwvv/UboFIrT9jsQ/1bEsb8kVl3M3xjf/jNwvzkaz19C1G+/7bbYztZqTTA5eIZ+/bOzBWHB/tlZDZuqn+R7ZP72q9sY2Dj1yy9yanfpEAVBw83aU2PkT2Zy+JHc56tNGcD6ueFJdZyR44Gpt1w9EjqqkMcAwg1cL4js4JTL9qdKpGm5AnPk10FNvIPgx8cfRf8TuB4/py87buhy/e9vI2Ly0VyrlA/U3LK7mK3/Y9P1hx7FlGArXCJydhoKky1/tQWD2LO/e+OzPxZDFPrbssNL/tCWvw7C33WbX45Ybk0spkdrKItwmisW4cLstf06c2OH8+tlkokxTGzBZgATscmzXwnu2PH5KylL8q66ef8JuGnpbMspxq5L545NOydCuKzZ4eRKRleRAYUgg4Ixy+tFVAiuNyIRWTTvQsfJh0IUyOW1QJwS6DI74BEHpjbAUT8pAr7yJoL/PDqGk2IOULWxTRH4R7zZUDxZo5+3rs7A2F+t1dPawrXQ0wB6PGOIFSG55V8oDuW3XboKeKQs2FIFpK3DJbAufB6rj1seU76FKJTXvrrBt94R4fprzAYqgVm38Z4IWW4A8a4Lpo5labA4lwoCgf/KG5vQWlP+UB1dDopk1PYUNZVNr8mKr3f9kLydvXd7XAMRn6zW8XDwRq6o0AOiwiH4RxdHNzP7UqBFRiYYTDIyGRUpXjNilqt0KELjZjkcRwwLo5XMnbhzffCMWhkjS1DWvGkv1bVQUC1R4TDsXxnO+7lPRlF1hg0yidLPPxArbp8CIuYNF6AcQl85Vzlf/uGVhUf4u0bnzFwoA8lW8YjU9Tv4CPsRumL+uL3z9gjsqgtpkOkSfHazO3Mpb4rXBYpLO1XeXnyOiPs33Pt91GlvKiY5VBePPHy30X+L+tQmJ6slE55h4S684j/356SPymB6GXA/VP9kn9iOglqHnelbmGmjdLuXLhUx/ddbj4ssuZKeqO7jUYgIuepvKLGuTAtvMnhaIsAh5b6y3HztLMoQj/W6eZaCHspsrHLNnuzb6uNm92U7pjaMldDwQbddMuLgt1ngjXzVDi+w/aOsL4sK0/NZTAbSFXg3LoHt3ZSckHWRI8Nmac2kYYS28WZqf8hFugCBIZEKW46qZ9uYwmlYYvqtT0ytt2r7+odd3M59E/dWdhWQF6N41hJ+wN7K4sS6vsL1SOW52Kfrp6J7beqV/UWG6B5FSsCQCUNsaowLrl7uid+e2SEetJy7dMvEd3bjmzzf56/5Z1Mjf4YKmLb2WTSXwe9v6ASnA5FY71m/9fu4RVhkyLDc9i14i0J+512BRTnJJUOOTWGXdwmLKfMi99QF6zLTK5Z4d8kOPDAoD720g/RPfjCW8fWd9w8BioJQxh+ziQCXJilnlnJWTf/m1ckWeGTf7GsXpCcceJGJUWF1tnXQdMUVxOyUakUN8p71fDordFFSDKHQwbmKUPaG451zZS85/oSLnc5QcVZFMiTkkuasRLW/4GcuGPq65nryeflZArRScyjlzzlGwzxjtfjHXeClBpUUE7lkP0Id2Kyj7vUobyisiJ+SKfQNsg2yl8CEN4wd25ES0FBTo6R3mU5uL7O0hip02lGVmcEtD/8+KwPwiPA0d58n8/n2uDWvF4OMqV8iMWae+iEQSbwWBCEfLTjrFtRaFmIXqGQy29HfL6d4SNXKoOKZmVgLcbeo6xcBgcWAIU2xmn1hcu6ry50dS9e7bLRHnn8+eC1a0GolPXtyQUCHp+vL+HLmYLUNZnsbtFu1556110x59raWlvPnW9tFVY5NQ/LhQhf4TbjnAllXuVewc8hTeXqGxkGzU2x/elIoQjRh1Z4XW0k79rVj5FLSk3PDzRGLauXGG9R60Mbnaq22jLRx+2zBrozcS+DVJ9dvSnxHRY8Ni5qeG+/L3xDQV6mW2NC6jKp43xBCbl7b3/QMa2VS3vxBjJBFWBPrfEMG0Y4u8I7p9UnIL6LORIEEsaAQGJSw13ulKPKt9FxLFbabxefPCrwkvr4bL0RXpTcq7UYUWNUpIpfFJEUNT8ks1XYEDBfOdeKIGbJ0SkW/AMchhJDwsUF16WVtCmnjAvz15nohFCmWyJxLDaZF8YKFrqo3TxzHlqNbU52Lg2DsoEuJ6Drug0f1JyWEbnf1fx9OYm1UMyCvCQN/LnIaD/69+rLgxsyPffzgisLLsUjRz13T5OZHEc+hCPMYcgA5uqbAGNkJKBcHsfZgIfunfi17927+orhZ+O1ebRaumeL63aMYp+899S3YXoCOBape8ibfQ5CaNJBt3ttRAP+hq6FhS6DHPQnKku4208baWs7op1EIJYjmROBgJ0cri8AaJCGkLo7k0Aa/+DCsQ0h9Nsr/9qrDswtshZjnGtuLvrL73YZliQ/OovviaaB79yX38XA/mLHe98TzWF6A8BLwMPq3qNkmUdreVbWtrzBhada+a/NpTq3zCdajhVzZ5suArsBT1wXLyvfafsuhKU1aso+KKGOCz2C/z7yCMt2Hgrb9Hc9N1yDNL4f2eDfiHnx+n4p2MlxGU5LAQIXAnOpc37yOX88otgLaw2c4Ld7ZAGGpt/Wb/nDnjuftcda6I2EsATmQcRSiTSndnLDrU3NgZbRsvkSyoCel4sm8l8+tXA8YVwmEN1SFvNfcZ+/zW8NQFgiUF1UVd4web/ovnYZ4Ha0C3fW6v2ldMpd5VXVlxbtad8LhzwVQ9Pi8WmueD1jMXY3OYooZvkK7E3qa/PahDqTJ9qqCrtJ6ooMlQb3YHx5zgg5RO28pvE1km6O8FUOOrpDKy8+OVXHRigjZUmUfJVLIbra4dCSk2wwqKQzNrHZbsdMR5dlKjZOZQ0vy4wa7dSO18WqamrVmuN3+rSt82X1xTdyfNGCkOCElOTWlJTW5OQEmajorp7s3Q2DQeqaWs1TqkNyCtaUQuNJm7JudIfa1n61Lc0jWuNWu3+72sh2+tYdG0yyrEIBG3L5pyI5xZc1ntjDOeAegDhWBr7quHisB2jqX2ReyzqTfHhtVwEon7d+q98N+k3qeYErpSkjEiXKgrWZH3X9qoWdgn7er74W+4fRiYsqt/Skt8VLE6OUWI6Dr+88+M/RZ6v7NwB8YBCAzdrWehKwxkgwlRy0z2lrWZg9MscWFuTh7/vlbg1f+9d1/1i//kdXVtK5jo6zgVldL0s8Su5UZG4Wnbi4WbPt5vVKTTZA4Ody3Y2cG/NO+2Jqvu/TRB04tXwgzcIn5CteDrdqjYt0fYzzB/vOgbRiRkFHxIqQpL3Mg/npoi+vnWOWRKc7J2a0e3OIKXmxwBgn+gn5SzE3tPqTReXTbfromLfSlNN/G2vhPCP6BOv9r+HqqI9T1PhJuMBWkDrgCcdl8PgbOB5amSh0IGm790A+BvY4W4TmwOs0WEzv/fD7h3uiwEou/hfKFC4KNXxFvM9eXXPSnWOdQxF+6eEbB9gSTED+IT3hSaUUF3V/euptDprKkF6920lVOpQQgOmYZP+Nw92MEmEOP2EyaAIvkLDEae55xTvY124GUbqJ+OdvINjvkJMoi/6B+dEbJgufPVg7Ldk/j3ZrQ8op/J+dCxtmbTnZ3NKfRfOV7GZeHRqi8IUtTdeWSsvnPe40byxxl8uSoWlegVhcbFjes9zbk4aRl5cPey06f66dsuXD++3951Z7FOIP2j8/9SbcDvMqX2n48K+SXaLFokC3kMHjVH4R3DkZe8zsHVW0cK38Tf3ZWB3XkKEFavrEyVPpm6lXOjrv0UBWFJNW2b6vqj0tvb19X2X7m+N5DgN7isSOnV6/Zx7UaWbnaOhqonIPltSuDJ3y1zAoicd3FDkws46ke+ZU1ixPVOE8fg2KisgMERKOPs+3WBhWWBXQF50YsDi8s150zqqs8byZxC+tmKSnhnkKt0YeJsCRJFpMxO0DpOTIjyFECOLmxgfKSG7LgzjhbbHJHhK31uhMupD5tzqPZO1KBCeqIQZjXD/TPMa2fcQcv45AfeHfHc4A3snazubR3YEKIgIn4Xx8yzL5X32w+FcJMzqY5OupB6B9NilYtC646YKIl0mTAp+rZYxtBsWbzQBb0DrenRe35nKIbayMTCNoZCCYlmNeb6WAEaYAoDvRNuHA4Yph1Pghbaz3GLXTTNpTiYUd4wo+lm7Eyk4tuubwAGon3DkYQlD5Qt/fIjfVJRwipszPSp889IuT4Q4FFFqnr98pjAp9pwZCCeJbAVP9hIr59GfUk2QlgZGjHDcN2U+yC02gEBRtZvGbWo1kUT/B8qc4a5Se0OcNsLM4VuKAGtBqV7u7e3raAAqTNRu5etWEkZTx/39mZjIhD4Nd80rFGDe6/Jft5TPG3wECQ8aFMlAHt+/01iyoTXeIj8e5n9fWKimpqTVI2On58xigwCUBIHOCOdKPdO5J8VQLSObJJwUIiQ5+HKMGaWOH3UsBFtscIrp+WLDrPX5LSKBe6SFP/AAEGXEm/grkIooaXq748n9TOWMqbGB0yeqBMTK6MspRhWQW+QxAGsC/2Vox0E6W/6NbCjr+qJCsSFzBzHTchtAC4xrog0Nll1OsU/BSfEQWyw4V4pBYRUN5ZOmDaHDhOUAGADwo+Sv589/43cgkzJk0psDFOy4ZOeuMiyk1mfdkp2UZpXPXt3okAb+y3/5Vm9dmH+rd0NJ7f/7lPCbddgjSJJQIouli8ilLv4ELV/OJ5FT/sczy3xISUro4WcFqk6X5J6m8P39LXkdXgdh7mG8OJTju84z51WR3tQejssN/tc1K6wcGZ9xN/HoJMy6cijdTzVv9Xqhuhz/B1KMD0AGKbL7ezUM5oFhkvxPSQz8cBJLLNXsv9sLtlczsey/u29V7wiDDFjJEe0QNded3b4zpr8Xq/8ynD+AbgpAN9IH8f0McaptjhuuU+dhU3CPImgzbEwa9rut5K0yR80B3Mcjw/enR9Z1jwEDPXd3pP+ylfP6dw0sM9os5r4NkzFixg4nb22Uscoz3ujc1NYXnz+u8vNDZkJjR11xcNUGz1OsJ3jeKCYFb881C/n64tcHRYukFjXMcz153+UUeKWBzT3LRjyll3qYFbENa3EBLZ/6xnt+dnb96juYvbWmxTSkbunwZRBHfUp3Rv5OvPaWoyi/sDvx8ugTHcHpXpFBDPMH8eNl1Hz0oOZYWbTht2Iq3LUxXrrAubjqxWn135p2gNroKd+CCJCKdBdlPNabwdIg1/77pjMDlTtaB9DsmzKLtpQMgJ3xeMN/86gzV9VKrLvJUKHwkcIL5yLKbGKfLIb6FTTrADXRvVMSmS/6ZlE1IJ4LSHZO6lelPiot8MrU2Tq8174lrIDFKLdkxEepZWXP1uh1WaVXbOG8Y+QTCZllwyXMbsCqVbAnJL9ZFdnMySqriL4A/HXywt8W4g0akYi3RVkFjRu/rOqLUwcxs6mzN73vnsbsT+xUuS/T5vk0oGDZNWRdXv9UsM7oeq3cMl5eXRWPCqRlRneHBi+wbPAqRqdhDVD/fbPw3VVq23xz3rYoq0RrMewRFjfJpcENUtDS+Yylm2SgxLwb2CFoRLPFPoKIQLAu8yFSaZUXW+8YWQ5X60GvYlhIc980SS/ws8Q5LSDqnJsjwIxtI97EA6UQ1bXJIr/HB4z8zsVHfRiKtv7xE09CJj6TCNtjxisW3UM8+uN/iCSG8FVVxhnXyLu/dZtxj517ktHTd78CAWKxcWlrjSrOwOQBWXa3QsdmIKw9882bv5HGBLMTn0o/x5UGuXy/lhJjlKCPrIDqUzpOJlWuAUdxuz8t+Q6EKmZubmhY8r8+zTfdmjYHJpaYkBDw7E4Xl65QOZY+i5M7apDEYHSWJiWnL89FFVQ5n8XEqO/OPUubmMT1YjsNoV2CHVlXYcje3784uWRIiznH3pgJ5zVezKJ8DTazuJp/+cbT+z4j3lwdi8r7+FSn/Yw+AtvLW1UFuat5J21c0eaUamXQH0p3XMaja7FHKFgLcg4p/7Gr2CTYDyxyM91chaO5kNxcXN/KLIk64vK/LtPj0jjruQ/FNXAB0hLtpMXKxqFseP9CDb8x7441URXq9crIJ4zarF+NrP1q6/KxRW7vr3zfPL4yIwIoZyFb/ey7XCD3VrtwishUrm6r20zk96yBL00xlLGBT6Qyyd805b1fNocmT/GzG2goduBlf1NJHl9eGYVKSMLqYZcPiydIaX8eBH3X2ibYDNQWTy1gyhexrnj4WCKaZ01u3On+CBRL+a+HRly83OvNZw5KU9PQrVy4xQWTWD2U7wWbt85009riJrY1ZLpTK2+ZIOqboAV6ew8rKzrhgIho8nUjkp/xXn932RyGXdbhNxywZHeqmWkBMFFQ33WNDg8LdEq/ejobAkgq5Ht4+0Rw3JTG1sCRFNZSaOkSWa1CpvOCNhYwycqITQIimg9j7NX+FE7b9qpLdlSuKWoX6mBKrZn2kykfGDQs3m5rijFIdPbk0R09i+udUy7eyCn+548+OkwcjX/t3qwxUYdKzpmr6pqN0vcNbmsz9jMn6SL8JgS0EeXOJ7uJHsGQYyBNomUF1LlqRNTROXr4Dsvrr67NS4dOyE0fbMlHRkfX6XEkWh5gfvd4+GfOOXXocUM/F4Nc96D4nO7S9cpvL6pg/vjhExXhbazVqkzRJCLpUp1UJs1frMLAqq6OnqhZo2qzYRmel/UxSZ/pYLM3H3GNBjCGK7+zmKvzsfSWT5AtzFfdZfPp7BMhGu93r5yuR/M51Xfgk2F9vSaxyEisHc8W6Gf12OL2Y7rmoc7vnf4+WUoKo3D8sJRhfirknTiwXgzgrIMvZBLFrxKfxRt9nZC8kW4Y1lw4nnK5azsehHimVm7QaQeJ7UJOg6A17rTJk/tZm3KXpt0MoqIO/UVWZZzHOcvlcO+JI+YsIYr7NFWLXCwfPhPSF/x+u4B6Uo2UrbEmPItwi99OcpJUNrH8uvD8Ik6k+aWvt59HlVjJZ1nIULo/CNunRi888GtxPRn1L3+VsY8YrJKcjy6cIe8mYCjZTsDnSkHW00+bhZITp0WD77ukqtBLZlQRYz+y51TXcPfr8Zefo9L8Sb3U3fv801C3SeP3IZrnLJp9827xj5a3/o7c7wrylLLta7Zxf3aXDJmvjr6nC/entC1wm9a9jd0bwCJFjFuugrjfqHofYlP78zldLxfeLXdp9UYFZpzrS3EgMEkE9ci9LdVdU0hY3/bLMVm9ppQGwnvngrcztO+QH1Y2MvRwYK6wZ3ZZPP2WTvo+/6sptiyvXOVeWp/8qhjOti9UGTaqTdT0CF5u7LfhaUinCx+fAhohRiXYhRRCgUWG4KDmXFVArQnbHe0DUBUUcEjWWKhNxrV0/rNMf/8nPdlOS2A6JIVfjkLjENxkUZyHaToyC58KjSXK4hldPsOa8xwTUh2QWbWKDrpJX0EK7lL5NxCHjuP31KkmYsD4FdNMzPFobq/FvxtkzMFjguf6fhoMWBn+9mNynAP4/i3mcpQtJPbg1YNW8pTTcav1NLIqPQ3mqPfBv3YmvVHBHWMrORm/8tM1+Vf5vjLQGmitabUfR7P56LfVWGC2Sloo7H3rtaY+mm8qBQKU1GX5jOHvut5n28u5u1lBM41See5D+oCvTPB35VDTqjuxC4+Yt3L5bpUBBptJkL3lAZbbzQfcqbcVoyZuWiDAz6A5OPuc5oSDzM/foRKDWy5O1f5geHIbKrAjv3+oGHqOD0eB5AuwqH3srDO5JGfRmRCQCNXe/CBiUoKJbRQaLRxOmZZOGTN9lvnVygEjy4LoPyecCMYydEbQblR+8VP9+zqcddFd5d7MkdnNqGBKsZjIo/WTo2+9G12dda1N6IX6gJ10eOjQFYASJbHlpMZ9ZyriAwDd58witVOGjxCkSSUrR8pt1i80glrKlvl7EwgPVsxKDxLeYJ15EoR/ndtLU0NH3g9NJd057KyQ+x3wM8tTYv/N67EZk+RfeGZzeYQztHrqRzOaiBE+832JETB/Re8ys97VvwL6dPDV8/8qQloAtREmfoN+aa/mt13nrtUJvV8Ur92+Vy8le6MQnXk4/8cHoIBY9OFx8N3JwMOJ+SXHAC4dYvPaKmuyq+rOjyjOtCliUntpkeXrArGyZyckwrUUYmAtwKfXbSxWMZK0eykLElCyLROVLhKELzp5rg7n9bf/x7j9eJIcMZlJkOU0iUajIJfjrp8ao0aNm9Eiqx8Onh13pOV9S3PlVm7BBcfN9PNzY+YTWPYBe8cZGLdqL1Faau/K8BuyavVZxvirEnaovf3PcAHKUmuf83QcPpLDrzRl1IWBE69ze8ltJ63f4PSkJRWuKdt4aq9ZryL9nb3X9U5QsYPnn69EqDuezozqIC2c8hE63o4mRz74ke9ap2pdtmL7flZ3Luzo3bcpMzJ1WUKgJifkPhFpvnXjjhvRc2WInQ/jaTH16cSE9FUV3ogpoOKqYk3SKklvBRjNYY4TV4VhydfAuvSQES3zYM4pik9M4pfWZcgWl0our/ds/TRx6Yt6oqkEf49SnP8prK1GzGeoQPYpKWjtU+Gdy+b9dTRoTe0PUfUJLxNQVJjCfjEZ+fqJZ6+M6jVBdmlzI5ApCtoySVKQqJrH9LEYfn3UE9FW3eZem42BIgf1usw1uHrGaDQtG/uPAfMpLj2xuhtF4wIoZXC7ljfCY3kh8rsPSSW2OLMVpXbMmGqcBK0OKuTnz+KcbRA5aiYbogTeDK+b7Z/2PkMdEc8HuPpyphfABngSGiuSz1gxtYph/fHvshntxgE91eWXih9qsKCs3BN/kb8qIejAn8CMysVZRB7Ke2MeXFE2GRbOvfZ4KHB+rh0xL7zTUCNZ+9kmJOp3WsseMNSdK0GU5d3NlPntoUJmKZ42LFpQsq4hmIaZr5cvY5ZyfXtjCxoaM6Gx8wHf8dXzDkd+sujxl1PISzZvU+AbUnXx3WkBP4mkaUMnyrgmAbPQGbnPRHZ5TDI/WlLmhpEzOyRZ8kvvGQnLK4CVJlNCgo3XWoTtF28xSLI77xU1qN6ubl2x9vi1bwc4SgGAU5HD24frB/MmuvBgw2YEudZ8Pw0kWInURQ0MRNqdMAJmZFblOf+XmLZJKHaVizDtChCHBIJrpfimLmIrmNGRukmROajdzmie2RQlvjjlK448LCW4wiJKQcNwzngM7k76168yd0TAVNypdFPhS3Ye1xonoBUPXHPsg3Jk8P9zBf5A0+qShPxi2e3SacauesqqzosD4G57GYtdY4bAf0N2wH3+88/GBEGUPEOHCbfU3t5YJlwl35L92uUOof7Js5Pz1V4Zq3G0MJ+Z8W2S2HPY+yRumpkSRUZN4BTNDa99wFim7nPNlDq+ejUM+qOXUniQe2jJmPeHk/ObxOkjK+mg12qIIEqH6aEbs/JzhTLYsQJi+OpyQn6OyGEWYsn43geZCVj9RI5GYvDNRQeYu0ZjarJDueFftdWrNVAOCYTccYE66IqMqjGtLYlnAy0pEHLU6Cp6JFCxU+rO/zjNzccglzYMhTI5vDAQSb1CMTbxafjhfHkJV655ovTJ8pfVIFECVh4TzvfJt4q1Fal08FK/WbR/IGO67CXdGyYe7fOohW6PKJKwF5lGLpSPPevWWmOsAVN4a1p5O6Mo2EoQJCe/oro6hSA8dTmIhG2InFnLIVuHKxSFSBZVuHq8mPne+id13/qy72h6YuKoppHJSGWDyPjxcuud88aZhAJEgCcEQkCuPjlF/27lvo+7wvj1/AmIkSmiTmdySIkHkuISjdXU/+QQEXB7vnsRoRyHuNxXKy70mSz6qrnA1MKtFmasq5dTafiM+xKRSlD5wOCXfHXH8m3v/zX3LIwu78nCHidPEcZPNv8ZmT0dbcFZhoOZyEU7gdsj/CkBgSJRy6nK3nVVIa5rOrXx6rJhnLHT/8FGy8ODsza3oTmL8Bw60KeXtWRjEMEfffXdzPZd/PxEx/V0G+M6fHi4659Pm0VgMAYnv07sko8wcVrfejdqBc3fXBS+M4kCtQAEF6u7ee1csfXbinKUi1Lh60AP01NZFSR8HSUuQHVXtAIHFj0llm1AAkWCJm2ZxmDTqkoA8RXS0XHwPNDpDKHoPHW2oO24JlGloHTA3mLkVMSiLWFj/Yj7ZeV0lXfC6IJoILRwi1ZM5EeFzh+Z6EBhSaRGVIA3Zqh/TjeufpDETjCGkU2rxMw33x16spy1TYFk5AASEnB+xBIAlzKXKkoE+ojKXLr4tfbdw0bfp8zf3uV4W5i1SuNUy6VXvs1vi8vcOS1aPH161to+7avHQXRLuTueJhR6BYY7GIn36trot6ex89rL6srogax/dMmH6Al6moJ6UIWIpLUS00hUqNQ/PN2hv2dGg++iCSv7y0j9czrZuPBr0b//xUZv+tDBepjA2niUGZ/IVPinAZt7HVcwqNwXdwsdV6P2c/ye5f4hNJCvrz/3GNl83CdSkoPofWdUHfGr19POMwWlw+v9Vese1QZDbE6rI+8/W8o+0DlvSDAyTki4QYAj0ewxmuyJb6qiDo/ac30gxN9Ywg651IGVlybJIuWsukr7CYTA80WJHUdBKaZkluZFfyish19PofVf3atuRdShHa2bi3EVzRpgvo3LZAXl5xSOKWH812kaZzxNI4sauNRD7nxpZy2WZ6jg88jEeZ+2cqBqYfWZQq33VLC2mXl+KStrGHs+3Jn0k8ds2x3bGuNvupAKx/2XX/tbEb5Ewr4seP+sfCgF71GTCluEiAOL2KwaVFD2Z+JK+KqfaY4wUearieHnLWiWtPXZTI0PG6TkKcCI4KuxeHVp4xN03U9bNijvP2cX6c7y5uF8ilcyvab/XIyfJKyrHcTIaE0kF0h6UeWwlC5eKRY64pKNeW8aJ+IU3sDhBrC0C0xY0HPPji7L8Lqv4QdN1HkbqjUVPWpph3hg7UjNHBdVG5+TGGBjpfhQDI5HCnhjoiVS6XVx7amehV/SMD1gHswh+9jwMm3BEbbFFyt2t4vTtUYYajke9DEMEGw/y8Ij45z1wiSRzQ6tUIruRjFkftHVHP9zWMXrLoHir/GkBtXaRNTroaKxg0giH5LqfI58qHZCQkZqMLPe6oxjrkmYGEPgjFT4zZbNUde2T1HUrKO+BbIU608sqb9h3xuTQ/gP6UZP75cqRj9NHd0W/Aq04+IXxsHeum6+/VZWy1Zv8buunD0uMLbcg2wvNjkuhTe2y43KGOb9drWF5+rYr9NAytrbecCvSue4frLqoeKSXP+RfUXv4jCjHtg47fwrdLRchmOQxRlIbOW7/FGaLDPchrdCa2scPmqoR65E/buv4COaMCgAgYwNEJD1LjrZuLFCJWWf+yxp4cc/NqdEnQ/HQBiAK3n3WR+ElM0NnrVH505xjDiTWbvclbGNm6KxVy4ygTuq3Dl723qQeugijTYYt7idLVrzPms05uHmR82XyerFiUQOmvsi1oRCzxo94VONS0FGml6Y1fg1enY11OWcR5vAz/xxmIMx7ia4mI1SKiHXTSJ1/BDglFfim3TJ08ik69U4j44dzmj8/JZLrqD8wNaUSp7bS0Zm0VCqtA1K7A6xn0ylT15B5GiLSh1NB3LvK6Yyqrxcpcf73pVLTSz1XEJdIxBKQnT2wvC4oPL/Uyz5Mff8szhk38Oaxq83GjhqXuFCnnp8gf3PtKx7mZkkCvdBYXGiWj547c8ZiKfS9LlYA4a/TxKYs7NV8cFX3/JnpWVm1GA21rn3SMNOQVKR6FvutcdpNnmVScAz8CxHAzxYtTgJTXCDgwC7jXfALk+35SIdkj3YHx2nfZEs5fe9kcXqBD+LiS8oQNfNuWCBlh+cQ/DViRr+gwTapyo1th0PK1EA75T+3e++IrlIsbLA93vqahnDE/WWZ8Igo7xavRk0t39djFsQ8uzoLR8jQnRtuyNHllooF3uYU29wmGFLGYVJWztV6FCovg9K0VJkj85xINgisgPGh7HbZ9K202yPKD0ndKNfh2+lWIVHSoITNGEfn8H/p34SdBBcreMRtMmszqKYDGLvhelXmMzXVsKcDhfeyMm8amX5HcYjrcpR2IA8EwbO+gvMPKuMNpbVb1ZLhQ+qsW346620mld0k3gc0aWql70I4rzR8l7r62I1wSNzmcp8b19UrxrpRKana+9iCmUneCvI8RG0eaN3OCWyzuUge4zdJeQyqQ47lF2qz+c/8vfxBR6FAG7DEyl7kclUEZTWQ9sO0Y/pHGyNbIUPJIkoD6VTcu3I3K0wDVcq7+pB8Je8jToBNtzbVdD8SJrKD+EL98K1EvW/6hTvlBjw+ydBnskilUwfL6q5iYS11aS2BH8Zs/6Hb9Pgv0L7QMKZcTct9S/g/5EZkRJOWez3IezwH1I0ff+XvCIpe0aCS74w78IoV93x4u92LCZca8vldHTk0avvM3BsRRhFh+qFm33wSxmxcFhu8UbMhjnI1ufQzTN0fYxs2mj9h42H2ucM132ONzUd8ry34AcfAh9lsc17X86vEOJolyxc2deCbT4bnOeNRuL7HnwuXjm5YSXiv/Y3yNHBh3L0aZr3Ott32S37KPxwrMnlJBWIporE75ij5GuVK/JGOzpXQRki66pH48c7YK+CEKjEmIsmw4eHJjayw3VACxmHOJSdvBpFmP70clYRjT8pPwUsL5Owd38I4nFZ66uxNlYzDqZFjZ4jO1qcT9Rw2WV999wnbDm/8lG288/8remdUfO6FVlE/J6n1EY7pmSKReKYYF+RSjztnT17UTNvEODvU3nHG3N5hsIffmGytTGKMTFz6V3fIPmuw+YZ+W2d3a+PxBTrb0T4EMn1ai0Kfe52jVxMKLPKRd70m2lOuIGvXyxYXYUCW1LjzP7k2PjOjobaRbj0pP3vAMvjcAaWEyu7w9IaaxkgyHSwLKXGTwkgIYAz6vt6VujNqa1TEnkIZHvqYyD+SEt5RbSQl3Cn6kJT04X1iVdpxX+WxY75xWQkthBvX1MsTCF/MMdOBvilq1j8VqKeHRT03PqfjLTnkNuVsn5AEky6qmyBz8ZaCeCLhaOCWgo1jvre4W8DPeZ67N4c/rE4NLf4WsYDVErQYoiBU5PEQS8340sUFgvT3N/cEOeV8sdGweBh6lGrSZ21oHORJ9263SN9vkmcp64h2h6rZftoW9e+zG+sNQ/87EEyaSnHtnRp1C/Ob0nCvBf1tV+c8Ffe2s8uXPRdsKyiEbENQ/PEZnm0tl1tJs0j3SEsohZN8TFFr4GcPgcKqP0P4RRFCeLi/fVFO4CLN8Tu2sEZOVbGKY0UP7KlcazVF4UcK0L3IEl5Kdtg8hCuXp0RrvQuFz3KuS+xDrU4Nf713wrkqrnuM8cF/wva4q8+a8ak+6AYWjWqh42j4/8OJvVd+f3uvfPRrm8O/q88kBmH/Pbmx/sjjZ/Ux2WkPeufdwINm0oZNrItts6UGIAHrDPDRH3pg0vusMBpYEP8qtMsrR+N/qG4a0dEgP0oPHQzrPgPIBgBbU3SBZLA+KReNEgNgemRNH5G4tCvIOYLBrixaJywgxK8+GRBjdX1uwKptxJDYTumQPZl6OAEkEVIC1aPMM/JjDLGoFzEBTUUQrMRLpFm9JLe2jYuj0/CG2ASh1A016grkXRxZPHqIKLCNs7upOh7PT2LqTqi9QZtFjAM12KUsu44vngHQDgcALaSx3kQM2cqw5gGyAROtc1WEMgpizEM9h4eVKLBGyXNVAdc7y48oLvMV5CaJ70DDtxE/S5YqFwHYlcoxpPy4RTyHCg+JfGfXPLQlDnUiCpOwmgRrQ/BEGSXKq5HNcIB6Rald72g/pCpks1BnyFz7HhFSCkTbxIcA6lW6JEbAoybRaajmqYfxr1o+Xj0VeNyg5ohLSFVOeRiPnKqIeFW0wfYEcZrmWckCyPhkKtVnZ+ttAm5MFbglroNyFuSwvCHaQJTUWiITxvKcWx4iKPLNmHBm6s9rrpYbInaHguAbJA6+z4E5Jn9Mm0m0URyhke/gVvw6vr2yV0la1GuKN+YC41RUviHMWJs1MlGpqNxJwenBZSiLWoQFpoZQm/gEFQpip8V9TEzdz7DfOtYuJ6/PAoEYVBIvDIlriFMWLYs+qsGcbKyRVBLREsc10X1UBNdyAwWK6iPEZeQop/xTnEePnDoWridXEW2aUCAAOPnhn29WlVbH9b/QHRrujjdTfyqqigIXNuKLq4OSLYL/qDdrw0ngNVB8Led30Q+YheBTnFiq0cntvegtEmek1fILYCgI2lSsj3pJfygTahLbYVqSY16Udy6ZljivmhRnLclmVpnC9qxdaGz2My55T4V1HOIyJvba2/euF7qlBzhFQUR8THxa2jO4yaGl0NEy1l3p25H1NexLcU+fW6HYtNy1LAQf1YQ+3WsqmdXEatYetA5zzq2aCSqN3tGufFztD0FbCpbHVO+uywULialPzN09Na5AJ/0P4dLWepzmAj1dWihDG0cGRenfZhFNtu04HZRH8oNXh8lQK3GxTkWAt23vRjA24zhaOhJiN7nPxS2MGtCsm7Qlf8Z7mM1DaMcZsKPvhDGd9150xd5tLFKsqR9cjwXoSOIMVAGjWiN4sOOuvYmXyGDf7FmzJ+7c97J9P7G89p4YfQGj7GlvdTjMS9jWUDHrwvIIu73jpZnlpIZDsrnKAJoev+3i2+uwwJJakSKzOAaNs6yn1thAeNcKGMK1Lc9gYJxQaox9Nkxsl1Ka+fv0VVzu+4M2WwzN0UNarbefu4hO3CId9MgqWbPRG/U9Hh0zQ5PIvjPF8/SW2qOB3Xh+r9AS+yxjH2UbvUcHip4UCzuXLDXOUj5Vs3fmiDbUvLRTQVI3fARhcffpdQSH8F7Y2oEYO1ayYNu8PK6uVpH2vfGS76BW00jJqkUt6jPiEo90OcmFaJYRhkfrO8bhmn4ZE1bobjxyAS3LpdbmyO5/E4iGVsTWP8AligNhc1L9MbeUPjqXmISZe9h+25R4/Qg5OtY3Ttv7K20x3d7W42Y3NWQZRxdyz8d62e+XWkbdrCg6298lt1CfFgo58ruoR6yGYZx4TEngA3JsMn2J0do+Fk2sbj/Wz0v7d0Uv2ROSOlTjQNcCv1lft8fvk2Hu7u9eTwD6BU1FXjOgCb+Ij5hPp5BcELjQA4GTnMCBl3MKDV/mDF6cyTkcJC0X8JGRUeYOrck1jKV5uQ4nrcttsNMPcwcS6cnnutGBDQLDY9x24VYg5QRJqIm0wt+HnCETP+YcSYTmAtkkN8rcoepcw7NkW64jha7LbUig4dyBzvSz/+5Gf8beJjgc7yQQKrWksAD2cMrWdyzmhI/saGkbaMyndN8tBiw2EcMAaTCyqg5JHOleryxgj8WaBjek8Ht+qjVR/FILPD9PyIpjJVOHkIoomqBEPBEb00PJk86s4sfu1yqZBgKichqc9/xXL748NfOZSVSYh64s/XmLH1Do/wn58vU0nU1ev1bLv7fXj6+rZT8x5E0c9/xCT8NQuq08cUJUfavXGDZaCXwHLjx/o5sMHDNwyEfLMnGvWm/duZhwfFVOYlVxa+jEd35trBW5OWDGTJZF1UVAS2F9lsohDCwFtIwvipABcLegmTeKlfVii60gXd4Q4UcTtXvgyO2xkLOwTzG+GFIx3NkNO8SNjORB0dz2Jpq9pHUdwrNGqpwAP4dtCcL+xhrCnV2A6xwxm+v30gzPmxS+R2cf/drD2euPvvz/SVmkleW4xoMR+yNKsqJqumFatuN6ACJMKONCen4QRnGitLFplhdlVTdt1w/jNC/rth/ndT/v5wBAEBgChcERSBQag8XhCUQSmUKl0RlMFpvD5fEFwjB9Kr5YIpXJFUqVWqPV6Q1Gk9litdkdTpfbx+PrBUAIRlAMJ0iKZliOF0RJVlRNN0zLdlzPD8IoTtIsL8qqbtquH8ZpXtZtP87rft7f3w/CKE7SLC/Kqm7argcQYUIZF1JpY90wTvOybvtxXvfzfj+xqHlk9ew9IxQ/pKJquhHK37Rsx/V8AIRgBMVwguTxBUKRWELRDCuVyRVKlVqj1ekNRpPZYrXZHU6X2+P1cQAgCAyBwuAIJAqNweLwBCIpAKBQaXQGk8XmcHl8gVAklkhlcoVSpdZodXqD0WS2WG12h9Pl9vH4egFAEBgChcERSBQag8XhCUQSmUKlWZ7OYLLYHC6PLxCKxBKpTK5QqtQarU5vMJrMFqvN7nC63B6vnz9fIBSJJVKZXKFUqTVanR4AIRhBMZwgKZphOYPRZLZYbXaH0+X2eH1+hAllXEiljXUemxUD07Jdbsfj9Sm/FgARJpRxIT0/CKM4UdrYNMuLsqqbtuuHcZqXdduP87qf93MACMEIiuEESdEMy/GCKMmKqumGadmO6/lBGMVJmuVFWdVN2/XDOM3Luu3Hed2f5/sCIAQjKIYTJEUzLMcLoiQrqqYbpmU7rucHYRQnaZYXZVU3bdcfzi8hmNVtKWhyWXpimv4zGu0z3lOOSGBdQcJNeDFBsq6APl2BiPo1nWqBnV4dRuVptVRcPzhFfNOVibFfk2XV729Ie1WOj8Sg/adU6SZMoS0z4FFXzW69ktSkAhF1Bf7rtQerjk21/pGIv/oqCtult6Oq7qK2q0Tc1iseiCW7ajvoYuDNrqAHJyBZD7I+DSjYn5Y0ju4LF3fzXXwX9B/4rC+ZwvuGSlcjyKQAxvVaY2E3xMGeiJK7Qic4OnvefSCR2k4d7PUkgjilb5KYE1F8V4G/nvwg0G1Pbky3FCn4jFFeIR1XnLBDTTiHfTpOj2jbkWMmNNmdcbZvkH+/pl/u1kCWeN6JGwH7yZC7xTUFsu+GyNoNUbcrFJYGdO8qXNoBwV0Di3cJ1PpDIcNX0cNeIoB5d8bebv7Q8geFwuaXEWXsqy/r+NxSqj2YYL8atu4qpeKGNWL9Sq4E0feSnXqvA013WqqB+B5OCWjdwQz+UAgOUZk3f960FNbhFoQtveKQnKFF0t9n9ryPnAHZQ6UyOcryKljf3X8TxvfuWUu4VWvEJgVE8g8Dje0IXMw0nqqA/F3NB2F/d48tng41xCZfa0TwiUDGO4ONr0kxZrXNq7N7zkOKW8WPWX1FqQOBeBVk9VPPOcmHiNz9QPR+srokHu+XYINL/NxQuKPzBZhLfcj0kso9BZJ3dheN1f5aUgo/ULqpaHunJbCev1pkz5nmJx+2YmmmEQGDeXMtS2hPlMO8nvYaANUXLvzmIFt/NC8lMHmVXdR8FOEfKIWU54+rRJ33zgVCy4AonkSN0xXrurnyHSLxY8Xln2Z3hog4sbVOZ6JQF5Rt+5Ech3pk7m8MKsSiajZo6YluzmlbAdB912lZCkzo2bHxRY5m/Dnd8xplRro446Nk/cejk9dP86Jrn0CXcJTC7esjHUJc+xmp5CcCTW8G/j20KQWnDXXEkEW9Qj466s36NlFsb4WbqswVlDa19JBdp1oqIKQp5A3LuGvJARHWv/iQ9cHpIN0vhmQ/NhzuDVHXG9LIN0SQf9Z4qvbj4ydleTrzyh9L/e+6FUNhTYHbvdVUJv11Zs/rVIHJBOPMeF+Br76aF7pX/kTFKXs16lBKN5tBtgWGzO+3DIMyg7p3V5ZxlPtvLUO072cqk9Lf1Nl0G2X/DfSXitfEagteIt1+7zToeztmby29V/I/g5Mqd6NX5DG4e8XLEvN81cT28WupLlG4WiLG/ApY8i30kuhKyP6SL36tGebPDJj9D9zbtY9kcLiRO/EAPFeusQLF8TTVTdRTvPUPL9zyK6lFbpPrtdbYtOYw7TuYjj23606q9dEde5gzjf2rpCG/USk5XT0kfZOa6N61ydXMMuMPl8UXm0scvaJQEx1nKNurUFmRKWvn5o+aoGYTCJMsrn36ZUsC/NRmaNQYwA8jD+m1KoMzV+CLqq1BK/y4hOrbCHh2/KBmZRa3mCsR+yvcLJixZlRy7n5q67jxKQnyh7pbVBZuks3h6Crj7Y80cMjvhV2n97pXMceznyUMtma0pzUqef7wxufv91cbCeOK9AlAWdg5fpn86arqw4v34djJhJhUFzXYWM/Zs2lfjhdxIyD+Gjud/N0P64XKSygdrTU2rTlM+w5GUcwAL/x/Usby70wDsKFFRSZSC3qnxE/8RRtLvtAtnVF9WZcOawV23eDlDQiF7aSbsM7xpgHhcXNPG0xj90cZpA8yye6jvxBo0sncBbtu4qq7pyA6YAgIoNalo+Eki5rykX/Yx5g3VdGschyUsMtfSv9RIXdKhZeiqYeqOjb11c5t0Oe6j2gZ9SWw62KftjS0ErDP3wmSVIdN1P6uXwKjM1xqwnqZ6kZzMWf2LhH8YwWOYp2MR5tkPzJSWWABb+3SO8TU9reGqzJ1o5gluXuZuF5yf7kpYCvwducdFbXbs52L4AX50d0390ZzPYkfoNlDdUPwvXveQy7VPRtaOGtWwFllBIaSGdhg9tSuX1mJ6pOjVXVA0GnAhFIbfDqRgAUUXtB5r9Qlq5iL9YJ9LtOAH1Q0T4e9wgMuXXFxpVotdi4bd+muZYj1ab3aw38bkb+0wOZv+465OsL6G+ZmLx4xSXxG3WLithPj2UTSWP+P4uUHQ0WszT97nv+LVfstTnj+5PO5MIt3ipaNNtt+VRy9fn0uePiokJ7v+WPZ02bsniEBFbE293i9PuJ9ngMAAAALV0FEPGnb6zP88rbXtCmPPvR8UcS3jeZ+2vqKlIYOhYpYm7G7QwLe7fz43s7vfcLz3zxBjz4UoKLlA9fvzxmFNmMOAFTE2sw7a63d9psjNy57N2Ou6qI4nARUxNr83dP9X5vj/Mw0gIpYm7E7QgIqYm3G7ozpIyIiIiqllFJKKUVERERExMzMzMybPzmqpzfN1sd0M1prrWeBExERERER0YGoaHr2ir8c/beM/nQm3q93Lo7D4VmbTvnLi9W+GbtnSEBFrM3YHSEBFbE2j4329RZ+GWKVct20wZ/IetvJXURERERERERmZmZmZmZmVlVVVVVVVVWzabq6e3r7ppOcf4Q2vU5krQEA"}},"time_used":102,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":98,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.353Z","timestamp":1785123386353,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 397542\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":20284,"size_decoded":4799,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-07-31T12:14:51.355902Z","times_seen":18946,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.114.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:27.144Z","timestamp":1785123387144,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"POST /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.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\nX-Goog-Api-Key: AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw\r\nContent-Type: application/json+protobuf\r\nContent-Length: 1799\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.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":"POST","post_data":{"size":1799,"data":"[\"O43z0dpjhgX20SCx4KAo\",\"$sC85L0tRAAYuiqQtDore6va43YAyIXenAEABEArZ1E6YiSeoapLZ44U7EWgcFj_7s2o-6gA1DwucQcRrGEOyp3kxkN8YsRoQReOzvUSBUJL0HZPbYGo3u32QngAAANrOAAAADvQBB-IAUlXHKYlnZhZaXCTJyfrooecoNcqu3wdFNWCqeDSt2vExuw51DUl1M4yz0EAwxENjwlKKWsRPJhU_2kgxJ82Qnx-FZouKPQT46g8Mdg-n7JOqcqkFBHGwNkCAbmrfqyX1-RhnGKxdNGOVwUp4L2XrkrDaccNE_CuPJ_GwIpaSv1jk_bzkXRH1YVE3AJGUjJulcrODMmG4yBsCOHosTLn58EoP43EjzspgmC2PrR7EhzEGwfvEJ0D-vBbGKR2SoPD0j2qrt-jPROhECwQv6ta3NVR4pmpyZPiAOp2R635BTzrF997mmXQEppBcakMcWG4zU-dCFpPD1j2qaZf4rSQhTAMdyxbX5SHEyJExCYBs5__p7U26LEYodcy_SzErQVdu5O4E1583qTUbzUCFO-0CasjueH3ZKLiywXnyhOLMojIFsdRauz2WeCxmUUVj7KlnAKufLgwvMX6B73o_b7zUjJUNHGtNQdiGNu8DZGcx67SV8S__JNVpUycDrlKBo0iatAy6Vqsgbz2xbCUAMZ78ugdJyvxZd5vyxNOSOJFjknIZHQb9ZLNwnYRkLmfWpFdkDpLBA5sCK8KmSyXuJZSGmJckqRv0CDP4Z_ejq26JfjsJJ_ny_3OZSkJEXaV0WAEcmduZ2IQ82gNOZbSGTzHuh_wiOuIAvEuc3diYPtBzkfODiNBEEvmNyCc_Zk1ttpsNjOYfvJZxcyzCKyXErsLIunEkekIt3o5bz02_PoFhvs3t7h7UpiSa-39JclbUiuG6uM6kCVxeGXdPqZBi2Gx5Y7hNTrYsCXb7HbsTY9E8r7Zqc3MdMqEDSVNsaTUW7iJ5RFjcerPyjvcxyJVr9hgfn_sR5hYHt6-96VKJidX5HaW-PAcethyR9_zF09OAkFzmA7EIdmk0ii_tuyWLrp-Dexxjv1ERKNvuRT1-VqE6PQXxKPmraQGgOuFHw-tPs5JIa4SnLwmTjLBp4wUqWtzk42kcdQrzQGiR2TrJ8LIYQhOeFaecez2bcfDoyz-sOakc5Y3ouJEH6PhrS_BDztW4X_c9uNLitn2WAXqwuRvoKvdgWNJOoyf-OvCcwewcqZdiUy-JHLS3EdcyqcJ82OLJWWMIZeX0YdxY8vHTh6OKoGwGGUStB06NC0hko98evfksemEdkunVYwQLU0krKrSP0YErHyO-VqXUWppyC1BAuDAjUtyM-b3Zm77DWznDAnN2A1sN1osWegbNEEgoK6rzpI3n_WDlJJLjOaEgPqM4IndKWh1cTwgyh2UODOoGaWvUEkG7oWi0EhF97oRsVyteOx9vO4vQ0Q7BZ7R_bT7dQ8Wd4rpTVFvGD2SNHUkUZS78XTy7pib8Uaxp9F7t09RetLtnIiclQQ1rNUhER-oGK7jVSZAa5ILn-yhq5jifN9WZTHr43dS_RjuABe8HZWrDbgNnQYkJkcP3bcoo8JD8aVC6JL7-GvMDhDyihJT5axi59g6ZtMsliT5EXRwnwPaLAtvwPQayr_zAKw2OWUreyKenmJVo_LRwD9hD3BxiMZsUq4GQUojZg8Yy_Sx5z6e8FaRoI5fJhYQ_aVbS5LdKT0RD-rq5m-rtU1yIi89BXjILAsflQL_LBcJoVjgV4OB9wbIreEc7Sco\"]"}},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/json+protobuf; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 03:36:27 GMT\r\nserver: ESF\r\ncontent-length: 118\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://www.youtube.com\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: vary,vary,vary,content-encoding,date,server,content-length\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":98,"size_decoded":662,"mime_type":"application/json+protobuf; charset=UTF-8","magic":"JSON text data","md5":"1ab65b922fde29e37460287a352c5ac2","sha1":"b4494f0360b7f4d7cc0c04578390a3bb5fc55acf","sha256":"726cfd47e40a1dcbd728db6eb2a007cc71909dbd14fcf244b5dc3f32e76d7cc4","sha512":"c437a1812aceaac9397f4635db68675b77cd31886a8242c36df8401171492bf717415350dd08dae20162a5b5923cf26b2dc58cf9464ce714e121a3705760714c","ssdeep":"","tlshash":"0cb012385bc23446732892451a09361103bc44f1fe59235e59fd70e7124acf0d99372d","first_seen":"2026-07-27T03:37:09.828239Z","last_seen":"2026-07-27T03:37:09.828239Z","times_seen":1,"resource_available":false,"data":"WyJRODREenR4Y1JSZzVtQUt6T3pGRlZ4UHdOcDEzSmNuNGpROWh2Q0pXTFMyV00rV0pDZ25VYlNvZXY3SDR4MXVpQTRWVWR0SEk5RUYwckdHU1dSZz0iLDQzMjAwLDEwMF0="}},"time_used":22,"timings":{"blocked":0,"dns":0,"connect":0,"send":1,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/css/settings.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.014Z","timestamp":1785123385014,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/css/settings.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"7557-65fd8520-7922e7d65cb15c1e;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6788\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":30039,"size_decoded":7228,"mime_type":"text/css","magic":"ASCII text, with very long lines (29668), with CRLF line terminators","md5":"7744413e4ceabb7e63e5f0144cf541e6","sha1":"a8e8e43b40d4110882dbd1f91acacfdb064487ca","sha256":"ab98e7a8fefa376f1a9b7ee98bd906f290b63c7b52b8ce2dec09f1ba7a713de2","sha512":"d86efcef84f58ab598dd6675b226c56ba3dfe6aa4acb1fe9b44896b1b121235e24c14ac456110330733c29d9f231e6912e8091165e6fe1ead92ba4e76cb1b62a","ssdeep":"384:bTzr/MLw4rLT4ILX8sSeUiOWC7G7C5+TU1Zz80id48f/:bzMTLTPX8sSeFOWCy7wmU1h8D283","tlshash":"abd2da70f98975fc77a7c22563c0b7adb02ed122e6520d6ef02f72f986d3086446e658","first_seen":"2023-10-27T16:38:39Z","last_seen":"2026-07-27T14:34:25.232003Z","times_seen":32,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotCVJldm9sdXRpb24gU2xpZGVyIDUuMCBEZWZhdWx0IFN0eWxlIFNldHRpbmdzIC0NCg0KU2NyZWVuIFN0eWxlc2hlZXQNCg0KdmVyc2lvbjogICAJNS40LjUNCmRhdGU6ICAgICAgCTE1LzA1LzE3DQphdXRob3I6CQl0aGVtZXB1bmNoDQplbWFpbDogICAgIAlpbmZvQHRoZW1lcHVuY2guY29tDQp3ZWJzaXRlOiAgIAlodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQojZGVidW5nY29udHJvbGxzLC5kZWJ1Z3RpbWVsaW5le3dpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94fS5yZXZfY29sdW1uLC5yZXZfY29sdW1uIC50cC1wYXJhbGxheC13cmFwLC50cC1zdmctbGF5ZXIgc3Zne3ZlcnRpY2FsLWFsaWduOnRvcH0jZGVidW5nY29udHJvbGxze3otaW5kZXg6MTAwMDAwO3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2hlaWdodDphdXRvO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7cGFkZGluZzoxMHB4fS5kZWJ1Z3RpbWVsaW5le2hlaWdodDoxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1ib3R0b206M3B4O2Rpc3BsYXk6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmRlYnVndGltZWxpbmU6aG92ZXJ7aGVpZ2h0OjE1cHh9LnRoZV90aW1lbGluZV90ZXN0ZXJ7YmFja2dyb3VuZDojZTc0YzNjO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDowfS5ycy1nby1mdWxsc2NyZWVue3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnQ7dG9wOjAhaW1wb3J0YW50O2xlZnQ6MCFpbXBvcnRhbnQ7ei1pbmRleDo5OTk5OTk5IWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmZmYhaW1wb3J0YW50fS5kZWJ1Z3RpbWVsaW5lLnRsX3NsaWRlIC50aGVfdGltZWxpbmVfdGVzdGVye2JhY2tncm91bmQ6I2YzOWMxMn0uZGVidWd0aW1lbGluZS50bF9mcmFtZSAudGhlX3RpbWVsaW5lX3Rlc3RlcntiYWNrZ3JvdW5kOiMzNDk4ZGJ9LmRlYnVndGltbGluZV90eHR7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjdweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjA7d2hpdGUtc3BhY2U6bm93cmFwO2xpbmUtaGVpZ2h0OjEwcHh9LnJ0bHtkaXJlY3Rpb246cnRsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6cmV2aWNvbnM7c3JjOnVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzYuZW90KTtzcmM6dXJsKC4uL2ZvbnRzL3Jldmljb25zL3Jldmljb25zOTBjNi5lb3QpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoLi4vZm9udHMvcmV2aWNvbnMvcmV2aWNvbnM5MGM2LndvZmYpIGZvcm1hdCgnd29mZicpLHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzYudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKC4uL2ZvbnRzL3Jldmljb25zL3Jldmljb25zOTBjNi5zdmcpIGZvcm1hdCgnc3ZnJyk7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfVtjbGFzcyo9IiByZXZpY29uLSJdOmJlZm9yZSxbY2xhc3NePXJldmljb24tXTpiZWZvcmV7Zm9udC1mYW1pbHk6cmV2aWNvbnM7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NwZWFrOm5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7d2lkdGg6MWVtO21hcmdpbi1yaWdodDouMmVtO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtsaW5lLWhlaWdodDoxZW07bWFyZ2luLWxlZnQ6LjJlbX0ucmV2aWNvbi1zZWFyY2gtMTpiZWZvcmV7Y29udGVudDonXGU4MDInfS5yZXZpY29uLXBlbmNpbC0xOmJlZm9yZXtjb250ZW50OidcZTgzMSd9LnJldmljb24tcGljdHVyZS0xOmJlZm9yZXtjb250ZW50OidcZTgwMyd9LnJldmljb24tY2FuY2VsOmJlZm9yZXtjb250ZW50OidcZTgwYSd9LnJldmljb24taW5mby1jaXJjbGVkOmJlZm9yZXtjb250ZW50OidcZTgwZid9LnJldmljb24tdHJhc2g6YmVmb3Jle2NvbnRlbnQ6J1xlODAxJ30ucmV2aWNvbi1sZWZ0LWRpcjpiZWZvcmV7Y29udGVudDonXGU4MTcnfS5yZXZpY29uLXJpZ2h0LWRpcjpiZWZvcmV7Y29udGVudDonXGU4MTgnfS5yZXZpY29uLWRvd24tb3BlbjpiZWZvcmV7Y29udGVudDonXGU4M2InfS5yZXZpY29uLWxlZnQtb3BlbjpiZWZvcmV7Y29udGVudDonXGU4MTknfS5yZXZpY29uLXJpZ2h0LW9wZW46YmVmb3Jle2NvbnRlbnQ6J1xlODFhJ30ucmV2aWNvbi1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OidcZTgyMCd9LnJldmljb24tYW5nbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6J1xlODFkJ30ucmV2aWNvbi1sZWZ0LWJpZzpiZWZvcmV7Y29udGVudDonXGU4MWYnfS5yZXZpY29uLXJpZ2h0LWJpZzpiZWZvcmV7Y29udGVudDonXGU4MWUnfS5yZXZpY29uLW1hZ2ljOmJlZm9yZXtjb250ZW50OidcZTgwNyd9LnJldmljb24tcGljdHVyZTpiZWZvcmV7Y29udGVudDonXGU4MDAnfS5yZXZpY29uLWV4cG9ydDpiZWZvcmV7Y29udGVudDonXGU4MGInfS5yZXZpY29uLWNvZzpiZWZvcmV7Y29udGVudDonXGU4MzInfS5yZXZpY29uLWxvZ2luOmJlZm9yZXtjb250ZW50OidcZTgzMyd9LnJldmljb24tbG9nb3V0OmJlZm9yZXtjb250ZW50OidcZTgzNCd9LnJldmljb24tdmlkZW86YmVmb3Jle2NvbnRlbnQ6J1xlODA1J30ucmV2aWNvbi1hcnJvdy1jb21ibzpiZWZvcmV7Y29udGVudDonXGU4MjcnfS5yZXZpY29uLWxlZnQtb3Blbi0xOmJlZm9yZXtjb250ZW50OidcZTgyYSd9LnJldmljb24tcmlnaHQtb3Blbi0xOmJlZm9yZXtjb250ZW50OidcZTgyYid9LnJldmljb24tbGVmdC1vcGVuLW1pbmk6YmVmb3Jle2NvbnRlbnQ6J1xlODIyJ30ucmV2aWNvbi1yaWdodC1vcGVuLW1pbmk6YmVmb3Jle2NvbnRlbnQ6J1xlODIzJ30ucmV2aWNvbi1sZWZ0LW9wZW4tYmlnOmJlZm9yZXtjb250ZW50OidcZTgyNCd9LnJldmljb24tcmlnaHQtb3Blbi1iaWc6YmVmb3Jle2NvbnRlbnQ6J1xlODI1J30ucmV2aWNvbi1sZWZ0OmJlZm9yZXtjb250ZW50OidcZTgzNid9LnJldmljb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6J1xlODI2J30ucmV2aWNvbi1jY3c6YmVmb3Jle2NvbnRlbnQ6J1xlODA4J30ucmV2aWNvbi1hcnJvd3MtY2N3OmJlZm9yZXtjb250ZW50OidcZTgwNid9LnJldmljb24tcGFsZXR0ZTpiZWZvcmV7Y29udGVudDonXGU4MjknfS5yZXZpY29uLWxpc3QtYWRkOmJlZm9yZXtjb250ZW50OidcZTgwYyd9LnJldmljb24tZG9jOmJlZm9yZXtjb250ZW50OidcZTgwOSd9LnJldmljb24tbGVmdC1vcGVuLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6J1xlODJlJ30ucmV2aWNvbi1sZWZ0LW9wZW4tMjpiZWZvcmV7Y29udGVudDonXGU4MmMnfS5yZXZpY29uLXJpZ2h0LW9wZW4tb3V0bGluZTpiZWZvcmV7Y29udGVudDonXGU4MmYnfS5yZXZpY29uLXJpZ2h0LW9wZW4tMjpiZWZvcmV7Y29udGVudDonXGU4MmQnfS5yZXZpY29uLWVxdWFsaXplcjpiZWZvcmV7Y29udGVudDonXGU4M2EnfS5yZXZpY29uLWxheWVycy1hbHQ6YmVmb3Jle2NvbnRlbnQ6J1xlODA0J30ucmV2aWNvbi1wb3B1cDpiZWZvcmV7Y29udGVudDonXGU4MjgnfS5yZXZfc2xpZGVyX3dyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowO3dpZHRoOjEwMCV9LnJldl9zbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6dmlzaWJsZX0uZW50cnktY29udGVudCAucmV2X3NsaWRlciBhLC5yZXZfc2xpZGVyIGF7Ym94LXNoYWRvdzpub25lfS50cC1vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVuIWltcG9ydGFudH0uZ3JvdXBfb3ZfaGlkZGVue292ZXJmbG93OmhpZGRlbn0ucmV2X3NsaWRlciBpbWcsLnRwLXNpbXBsZXJlc3BvbnNpdmUgaW1ne21heC13aWR0aDpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjpub25lfS5yZXZfc2xpZGVyIC5uby1zbGlkZXMtdGV4dHtmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6ODBweH0ucmV2X3NsaWRlcj51bCwucmV2X3NsaWRlcj51bD5saSwucmV2X3NsaWRlcj51bD5saTpiZWZvcmUsLnJldl9zbGlkZXJfd3JhcHBlcj51bCwudHAtcmV2c2xpZGVyLW1haW51bD5saSwudHAtcmV2c2xpZGVyLW1haW51bD5saTpiZWZvcmUsLnRwLXNpbXBsZXJlc3BvbnNpdmU+dWwsLnRwLXNpbXBsZXJlc3BvbnNpdmU+dWw+bGksLnRwLXNpbXBsZXJlc3BvbnNpdmU+dWw+bGk6YmVmb3Jle2xpc3Qtc3R5bGU6bm9uZSFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7b3ZlcmZsb3cteDp2aXNpYmxlO292ZXJmbG93LXk6dmlzaWJsZTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7dGV4dC1pbmRlbnQ6MDt0b3A6MDtsZWZ0OjB9LnJldl9zbGlkZXI+dWw+bGksLnJldl9zbGlkZXI+dWw+bGk6YmVmb3JlLC50cC1yZXZzbGlkZXItbWFpbnVsPmxpLC50cC1yZXZzbGlkZXItbWFpbnVsPmxpOmJlZm9yZSwudHAtc2ltcGxlcmVzcG9uc2l2ZT51bD5saSwudHAtc2ltcGxlcmVzcG9uc2l2ZT51bD5saTpiZWZvcmV7dmlzaWJpbGl0eTpoaWRkZW59LnRwLXJldnNsaWRlci1tYWludWwsLnRwLXJldnNsaWRlci1zbGlkZXNsaXtwYWRkaW5nOjAhaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudDtsaXN0LXN0eWxlOm5vbmUhaW1wb3J0YW50fS5mdWxsc2NyZWVuLWNvbnRhaW5lciwuZnVsbHdpZHRoYmFubmVyLWNvbnRhaW5lcntwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnJldl9zbGlkZXIgbGkudHAtcmV2c2xpZGVyLXNsaWRlc2xpe3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0udHAtY2FwdGlvbiAucnMtdW50b2dnbGVkLWNvbnRlbnR7ZGlzcGxheTpibG9ja30udHAtY2FwdGlvbiAucnMtdG9nZ2xlZC1jb250ZW50e2Rpc3BsYXk6bm9uZX0ucnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlLnRwLWNhcHRpb24gLnJzLXRvZ2dsZWQtY29udGVudHtkaXNwbGF5OmJsb2NrfS5ycy10b2dnbGUtY29udGVudC1hY3RpdmUudHAtY2FwdGlvbiAucnMtdW50b2dnbGVkLWNvbnRlbnR7ZGlzcGxheTpub25lfS5yZXZfc2xpZGVyIC5jYXB0aW9uLC5yZXZfc2xpZGVyIC50cC1jYXB0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlO3Zpc2liaWxpdHk6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5OmJsb2NrOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQhaW1wb3J0YW50O3otaW5kZXg6MX0ucmV2X3NsaWRlciAuY2FwdGlvbiwucmV2X3NsaWRlciAudHAtY2FwdGlvbiwudHAtc2ltcGxlcmVzcG9uc2l2ZSBpbWd7LW1vei11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lfS5yZXZfc2xpZGVyIC50cC1tYXNrLXdyYXAgLnRwLWNhcHRpb24sLnJldl9zbGlkZXIgLnRwLW1hc2std3JhcCA6bGFzdC1jaGlsZCwud3BiX3RleHRfY29sdW1uIC5yZXZfc2xpZGVyIC50cC1tYXNrLXdyYXAgLnRwLWNhcHRpb24sLndwYl90ZXh0X2NvbHVtbiAucmV2X3NsaWRlciAudHAtbWFzay13cmFwIDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0udHAtc3ZnLWxheWVyIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS50cC1jYXJvdXNlbC13cmFwcGVye2N1cnNvcjp1cmwob3BlbmhhbmQuaHRtbCksbW92ZX0udHAtY2Fyb3VzZWwtd3JhcHBlci5kcmFnZ2Vke2N1cnNvcjp1cmwoY2xvc2VkaGFuZC5odG1sKSxtb3ZlfS50cF9pbm5lcl9wYWRkaW5ne2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXgtaGVpZ2h0Om5vbmUhaW1wb3J0YW50fS50cC1jYXB0aW9uLnRwLWxheWVyLXNlbGVjdGFibGV7LW1vei11c2VyLXNlbGVjdDphbGw7LWtodG1sLXVzZXItc2VsZWN0OmFsbDstd2Via2l0LXVzZXItc2VsZWN0OmFsbDstby11c2VyLXNlbGVjdDphbGx9LnRwLWNhcHRpb24udHAtaGlkZGVuLWNhcHRpb24sLnRwLWZvcmNlbm90dmlzaWJsZSwudHAtaGlkZS1yZXZzbGlkZXIsLnRwLXBhcmFsbGF4LXdyYXAudHAtaGlkZGVuLWNhcHRpb257dmlzaWJpbGl0eTpoaWRkZW4haW1wb3J0YW50O2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnJldl9zbGlkZXIgYXVkaW8sLnJldl9zbGlkZXIgZW1iZWQsLnJldl9zbGlkZXIgaWZyYW1lLC5yZXZfc2xpZGVyIG9iamVjdCwucmV2X3NsaWRlciB2aWRlb3ttYXgtd2lkdGg6bm9uZSFpbXBvcnRhbnR9LnRwLWVsZW1lbnQtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjB9LnRwLWJsb2NrbWFzaywudHAtYmxvY2ttYXNrX2luLC50cC1ibG9ja21hc2tfb3V0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6I2ZmZjt6LWluZGV4OjEwMDA7dHJhbnNmb3JtOnNjYWxlWCgwKSBzY2FsZVkoMCl9LnRwLXBhcmFsbGF4LXdyYXB7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5yZXZfcm93X3pvbmV7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtsZWZ0OjA7Ym94LXNpemluZzpib3JkZXItYm94O21pbi1oZWlnaHQ6NTBweDtmb250LXNpemU6MH0ucmV2X2NvbHVtbl9pbm5lciwucmV2X3NsaWRlciAudHAtY2FwdGlvbi5yZXZfcm93e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCUhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucmV2X3Jvd196b25lX3RvcHt0b3A6MH0ucmV2X3Jvd196b25lX21pZGRsZXt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5yZXZfcm93X3pvbmVfYm90dG9te2JvdHRvbTowfS5yZXZfc2xpZGVyIC50cC1jYXB0aW9uLnJldl9yb3d7ZGlzcGxheTp0YWJsZTt0YWJsZS1sYXlvdXQ6Zml4ZWQ7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDphdXRvIWltcG9ydGFudDtmb250LXNpemU6MH0ucmV2X2NvbHVtbntkaXNwbGF5OnRhYmxlLWNlbGw7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTowfS5yZXZfY29sdW1uX2lubmVye2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmF1dG8haW1wb3J0YW50O3doaXRlLXNwYWNlOm5vcm1hbCFpbXBvcnRhbnR9LnJldl9jb2x1bW5fYmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ei1pbmRleDowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7Ym9yZGVyOjAgc29saWQgdHJhbnNwYXJlbnR9LnRwLWNhcHRpb24gLmJhY2tjb3JuZXIsLnRwLWNhcHRpb24gLmJhY2tjb3JuZXJ0b3AsLnRwLWNhcHRpb24gLmZyb250Y29ybmVyLC50cC1jYXB0aW9uIC5mcm9udGNvcm5lcnRvcHtoZWlnaHQ6MDt0b3A6MDt3aWR0aDowO3Bvc2l0aW9uOmFic29sdXRlfS5yZXZfY29sdW1uX2lubmVyIC50cC1sb29wLXdyYXAsLnJldl9jb2x1bW5faW5uZXIgLnRwLW1hc2std3JhcCwucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcHt0ZXh0LWFsaWduOmluaGVyaXR9LnJldl9jb2x1bW5faW5uZXIgLnRwLW1hc2std3JhcHtkaXNwbGF5OmlubGluZS1ibG9ja30ucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcCwucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcCAudHAtbG9vcC13cmFwLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwIC50cC1tYXNrLXdyYXB7cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50O2xlZnQ6YXV0byFpbXBvcnRhbnQ7dG9wOmF1dG8haW1wb3J0YW50O2xpbmUtaGVpZ2h0OjB9LnRwLXZpZGVvLXBsYXktYnV0dG9uLC50cC12aWRlby1wbGF5LWJ1dHRvbiBpe2xpbmUtaGVpZ2h0OjUwcHghaW1wb3J0YW50O3ZlcnRpY2FsLWFsaWduOnRvcDt0ZXh0LWFsaWduOmNlbnRlcn0ucmV2X2NvbHVtbl9pbm5lciAucmV2X2xheWVyX2luX2NvbHVtbiwucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcCwucmV2X2NvbHVtbl9pbm5lciAudHAtcGFyYWxsYXgtd3JhcCAudHAtbG9vcC13cmFwLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwIC50cC1tYXNrLXdyYXB7dmVydGljYWwtYWxpZ246dG9wfS5yZXZfYnJlYWtfY29sdW1uc3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0ucmV2X2JyZWFrX2NvbHVtbnMgLnRwLXBhcmFsbGF4LXdyYXAucmV2X2NvbHVtbntkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudH0uZnVsbHdpZHRoYmFubmVyLWNvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW59LmZ1bGx3aWR0aGJhbm5lci1jb250YWluZXIgLmZ1bGx3aWR0aGFiYW5uZXJ7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0udHAtc3RhdGljLWxheWVyc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMTt0b3A6MDtsZWZ0OjB9LnRwLWNhcHRpb24gLmZyb250Y29ybmVye2JvcmRlci1sZWZ0OjQwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjAgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDo0MHB4IHNvbGlkICMwMEE4RkY7bGVmdDotNDBweH0udHAtY2FwdGlvbiAuYmFja2Nvcm5lcntib3JkZXItbGVmdDowIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0MHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NDBweCBzb2xpZCAjMDBBOEZGO3JpZ2h0OjB9LnRwLWNhcHRpb24gLmZyb250Y29ybmVydG9we2JvcmRlci1sZWZ0OjQwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjAgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo0MHB4IHNvbGlkICMwMEE4RkY7bGVmdDotNDBweH0udHAtY2FwdGlvbiAuYmFja2Nvcm5lcnRvcHtib3JkZXItbGVmdDowIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0MHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NDBweCBzb2xpZCAjMDBBOEZGO3JpZ2h0OjB9LnRwLWxheWVyLWlubmVyLXJvdGF0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlIWltcG9ydGFudH1pbWcudHAtc2xpZGVyLWFsdGVybmF0aXZlLWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG99LmNhcHRpb24uZnVsbHNjcmVlbnZpZGVvLC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyLC50cC1jYXB0aW9uLmNvdmVyc2NyZWVudmlkZW8sLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVve3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlfS5ub0ZpbHRlckNsYXNze2ZpbHRlcjpub25lIWltcG9ydGFudH0ucnMtYmFja2dyb3VuZC12aWRlby1sYXllcnt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjB9LmNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGF1ZGlvLC5jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyBpZnJhbWUsLmNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIHZpZGVvLC50cC1jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyBpZnJhbWUsLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSBhdWRpbywudHAtY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gaWZyYW1lIHZpZGVve3dpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDoxMDAlIWltcG9ydGFudDtkaXNwbGF5Om5vbmV9LmZ1bGxjb3ZlcmVkdmlkZW8gYXVkaW8sLmZ1bGxzY3JlZW52aWRlbyBhdWRpbyAuZnVsbGNvdmVyZWR2aWRlbyB2aWRlbywuZnVsbHNjcmVlbnZpZGVvIHZpZGVve2JhY2tncm91bmQ6IzAwMH0uZnVsbGNvdmVyZWR2aWRlbyAudHAtcG9zdGVye2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtsZWZ0OjB9LnZpZGVvaXNwbGF5aW5nIC5odG1sNXZpZCAudHAtcG9zdGVye2Rpc3BsYXk6bm9uZX0udHAtdmlkZW8tcGxheS1idXR0b257YmFja2dyb3VuZDojMDAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMyk7Ym9yZGVyLXJhZGl1czo1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTtjb2xvcjojRkZGO21hcmdpbi10b3A6LTI1cHg7bWFyZ2luLWxlZnQ6LTI1cHg7Y3Vyc29yOnBvaW50ZXI7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtYmxvY2s7ei1pbmRleDo0O29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2Utb3V0IWltcG9ydGFudH0udHAtYXVkaW8taHRtbDUgLnRwLXZpZGVvLXBsYXktYnV0dG9uLC50cC1oaWRkZW5hdWRpb3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS50cC1jYXB0aW9uIC5odG1sNXZpZHt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LnRwLXZpZGVvLXBsYXktYnV0dG9uIGl7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6NDBweCFpbXBvcnRhbnR9LnJzLWZ1bGx2aWRlby1jb3ZlciwudHAtZG90dGVkb3ZlcmxheSwudHAtc2hhZG93Y292ZXJ7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlfS50cC1jYXB0aW9uOmhvdmVyIC50cC12aWRlby1wbGF5LWJ1dHRvbntvcGFjaXR5OjE7ZGlzcGxheTpibG9ja30udHAtY2FwdGlvbiAudHAtcmV2c3RvcHtkaXNwbGF5Om5vbmU7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICNmZmYhaW1wb3J0YW50O2JvcmRlci1yaWdodDo1cHggc29saWQgI2ZmZiFpbXBvcnRhbnQ7bWFyZ2luLXRvcDoxNXB4IWltcG9ydGFudDtsaW5lLWhlaWdodDoyMHB4IWltcG9ydGFudDt2ZXJ0aWNhbC1hbGlnbjp0b3A7Zm9udC1zaXplOjI1cHghaW1wb3J0YW50fS50cC1zZWVrLWJhciwudHAtdmlkZW8tYnV0dG9uLC50cC12b2x1bWUtYmFye291dGxpbmU6MDtsaW5lLWhlaWdodDoxMnB4O21hcmdpbjowO2N1cnNvcjpwb2ludGVyfS52aWRlb2lzcGxheWluZyAucmV2aWNvbi1yaWdodC1kaXJ7ZGlzcGxheTpub25lfS52aWRlb2lzcGxheWluZyAudHAtcmV2c3RvcHtkaXNwbGF5OmlubGluZS1ibG9ja30udmlkZW9pc3BsYXlpbmcgLnRwLXZpZGVvLXBsYXktYnV0dG9ue2Rpc3BsYXk6bm9uZX0uZnVsbGNvdmVyZWR2aWRlbyAudHAtdmlkZW8tcGxheS1idXR0b257ZGlzcGxheTpub25lIWltcG9ydGFudH0uZnVsbHNjcmVlbnZpZGVvIC5mdWxsc2NyZWVudmlkZW8gYXVkaW8sLmZ1bGxzY3JlZW52aWRlbyAuZnVsbHNjcmVlbnZpZGVvIHZpZGVve29iamVjdC1maXQ6Y29udGFpbiFpbXBvcnRhbnR9LmZ1bGxzY3JlZW52aWRlbyAuZnVsbGNvdmVyZWR2aWRlbyBhdWRpbywuZnVsbHNjcmVlbnZpZGVvIC5mdWxsY292ZXJlZHZpZGVvIHZpZGVve29iamVjdC1maXQ6Y292ZXIhaW1wb3J0YW50fS50cC12aWRlby1jb250cm9sc3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwYWRkaW5nOjVweDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcztiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzAwMCAxMyUsIzMyMzIzMiAxMDAlKTtkaXNwbGF5OnRhYmxlO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnJldi1idG4ucmV2LWhpZGRlbmljb24gaSwucmV2LWJ0bi5yZXYtd2l0aGljb24gaXt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1vdXQhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNXB4fS50cC1jYXB0aW9uOmhvdmVyIC50cC12aWRlby1jb250cm9sc3tvcGFjaXR5Oi45fS50cC12aWRlby1idXR0b257YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41KTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjNweDtmb250LXNpemU6MTJweDtjb2xvcjojZmZmO3BhZGRpbmc6MH0udHAtdmlkZW8tYnV0dG9uOmhvdmVye2N1cnNvcjpwb2ludGVyfS50cC12aWRlby1idXR0b24td3JhcCwudHAtdmlkZW8tc2Vlay1iYXItd3JhcCwudHAtdmlkZW8tdm9sLWJhci13cmFwe3BhZGRpbmc6MCA1cHg7ZGlzcGxheTp0YWJsZS1jZWxsO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHAtdmlkZW8tc2Vlay1iYXItd3JhcHt3aWR0aDo4MCV9LnRwLXZpZGVvLXZvbC1iYXItd3JhcHt3aWR0aDoyMCV9LnRwLXNlZWstYmFyLC50cC12b2x1bWUtYmFye3dpZHRoOjEwMCU7cGFkZGluZzowfS5ycy1mdWxsdmlkZW8tY292ZXJ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOjAgMDt6LWluZGV4OjV9LmRpc2FibGVkX2xjIC50cC12aWRlby1wbGF5LWJ1dHRvbiwucnMtYmFja2dyb3VuZC12aWRlby1sYXllciBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scywucnMtYmFja2dyb3VuZC12aWRlby1sYXllciB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scywucnMtYmFja2dyb3VuZC12aWRlby1sYXllciB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHAtYXVkaW8taHRtbDUgLnRwLXZpZGVvLWNvbnRyb2xze29wYWNpdHk6MSFpbXBvcnRhbnQ7dmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudH0udHAtZG90dGVkb3ZlcmxheXtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQ7d2lkdGg6MTAwJTt6LWluZGV4OjN9LnRwLWRvdHRlZG92ZXJsYXkudHdveHR3b3tiYWNrZ3JvdW5kOnVybCguLi9hc3NldHMvZ3JpZHRpbGUucG5nKX0udHAtZG90dGVkb3ZlcmxheS50d294dHdvd2hpdGV7YmFja2dyb3VuZDp1cmwoLi4vYXNzZXRzL2dyaWR0aWxlX3doaXRlLnBuZyl9LnRwLWRvdHRlZG92ZXJsYXkudGhyZWV4dGhyZWV7YmFja2dyb3VuZDp1cmwoLi4vYXNzZXRzL2dyaWR0aWxlXzN4My5wbmcpfS50cC1kb3R0ZWRvdmVybGF5LnRocmVleHRocmVld2hpdGV7YmFja2dyb3VuZDp1cmwoLi4vYXNzZXRzL2dyaWR0aWxlXzN4M193aGl0ZS5wbmcpfS50cC1zaGFkb3djb3Zlcnt3aWR0aDoxMDAlO2JhY2tncm91bmQ6I2ZmZjt6LWluZGV4Oi0xfS50cC1zaGFkb3cxe2JveC1zaGFkb3c6MCAxMHB4IDZweCAtNnB4IHJnYmEoMCwwLDAsLjgpfS50cC1zaGFkb3cyOmFmdGVyLC50cC1zaGFkb3cyOmJlZm9yZSwudHAtc2hhZG93MzpiZWZvcmUsLnRwLXNoYWRvdzQ6YWZ0ZXJ7ei1pbmRleDotMjtwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO2JvdHRvbToxMHB4O2xlZnQ6MTBweDt3aWR0aDo1MCU7dG9wOjg1JTttYXgtd2lkdGg6MzAwcHg7YmFja2dyb3VuZDowIDA7Ym94LXNoYWRvdzowIDE1cHggMTBweCByZ2JhKDAsMCwwLC44KTt0cmFuc2Zvcm06cm90YXRlKC0zZGVnKX0udHAtc2hhZG93MjphZnRlciwudHAtc2hhZG93NDphZnRlcnt0cmFuc2Zvcm06cm90YXRlKDNkZWcpO3JpZ2h0OjEwcHg7bGVmdDphdXRvfS50cC1zaGFkb3c1e3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaGFkb3c6MCAxcHggNHB4IHJnYmEoMCwwLDAsLjMpLDAgMCA0MHB4IHJnYmEoMCwwLDAsLjEpIGluc2V0fS50cC1zaGFkb3c1OmFmdGVyLC50cC1zaGFkb3c1OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTI7Ym94LXNoYWRvdzowIDAgMjVweCAwIHJnYmEoMCwwLDAsLjYpO3RvcDozMCU7Ym90dG9tOjA7bGVmdDoyMHB4O3JpZ2h0OjIwcHg7Ym9yZGVyLXJhZGl1czoxMDBweC8yMHB4fS50cC1idXR0b257cGFkZGluZzo2cHggMTNweCA1cHg7Ym9yZGVyLXJhZGl1czozcHg7aGVpZ2h0OjMwcHg7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7dGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjYpIWltcG9ydGFudDtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDo0NXB4IWltcG9ydGFudDtmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzotMXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS50cC1idXR0b24uYmlne2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjYpO2ZvbnQtd2VpZ2h0OjcwMDtwYWRkaW5nOjlweCAyMHB4O2ZvbnQtc2l6ZToxOXB4O2xpbmUtaGVpZ2h0OjU3cHghaW1wb3J0YW50fS5wdXJjaGFzZTpob3ZlciwudHAtYnV0dG9uLmJpZzpob3ZlciwudHAtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246Ym90dG9tLDE1cHggMTFweH0ucHVyY2hhc2UuZ3JlZW4sLnB1cmNoYXNlOmhvdmVyLmdyZWVuLC50cC1idXR0b24uZ3JlZW4sLnRwLWJ1dHRvbjpob3Zlci5ncmVlbntiYWNrZ3JvdW5kLWNvbG9yOiMyMWExMTc7Ym94LXNoYWRvdzowIDNweCAwIDAgIzEwNGQwYn0ucHVyY2hhc2UuYmx1ZSwucHVyY2hhc2U6aG92ZXIuYmx1ZSwudHAtYnV0dG9uLmJsdWUsLnRwLWJ1dHRvbjpob3Zlci5ibHVle2JhY2tncm91bmQtY29sb3I6IzFkNzhjYjtib3gtc2hhZG93OjAgM3B4IDAgMCAjMGYzZTY4fS5wdXJjaGFzZS5yZWQsLnB1cmNoYXNlOmhvdmVyLnJlZCwudHAtYnV0dG9uLnJlZCwudHAtYnV0dG9uOmhvdmVyLnJlZHtiYWNrZ3JvdW5kLWNvbG9yOiNjYjFkMWQ7Ym94LXNoYWRvdzowIDNweCAwIDAgIzdjMTIxMn0ucHVyY2hhc2Uub3JhbmdlLC5wdXJjaGFzZTpob3Zlci5vcmFuZ2UsLnRwLWJ1dHRvbi5vcmFuZ2UsLnRwLWJ1dHRvbjpob3Zlci5vcmFuZ2V7YmFja2dyb3VuZC1jb2xvcjojZjcwO2JveC1zaGFkb3c6MCAzcHggMCAwICNhMzRjMDB9LnB1cmNoYXNlLmRhcmtncmV5LC5wdXJjaGFzZTpob3Zlci5kYXJrZ3JleSwudHAtYnV0dG9uLmRhcmtncmV5LC50cC1idXR0b24uZ3JleSwudHAtYnV0dG9uOmhvdmVyLmRhcmtncmV5LC50cC1idXR0b246aG92ZXIuZ3JleXtiYWNrZ3JvdW5kLWNvbG9yOiM1NTU7Ym94LXNoYWRvdzowIDNweCAwIDAgIzIyMn0ucHVyY2hhc2UubGlnaHRncmV5LC5wdXJjaGFzZTpob3Zlci5saWdodGdyZXksLnRwLWJ1dHRvbi5saWdodGdyZXksLnRwLWJ1dHRvbjpob3Zlci5saWdodGdyZXl7YmFja2dyb3VuZC1jb2xvcjojODg4O2JveC1zaGFkb3c6MCAzcHggMCAwICM1NTV9LnJldi1idG4sLnJldi1idG46dmlzaXRlZHtvdXRsaW5lOjAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmc6MTJweCAzNXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpSb2JvdG8sc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcn0ucmV2LWJ0bi5yZXYtdXBwZXJjYXNlLC5yZXYtYnRuLnJldi11cHBlcmNhc2U6dmlzaXRlZHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MXB4O2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjkwMH0ucmV2LWJ0bi5yZXYtd2l0aGljb24gaXtmb250LXdlaWdodDo0MDA7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7bWFyZ2luLWxlZnQ6MTBweCFpbXBvcnRhbnR9LnJldi1idG4ucmV2LWhpZGRlbmljb24gaXtmb250LXdlaWdodDo0MDA7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7b3BhY2l0eTowO21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50O3dpZHRoOjAhaW1wb3J0YW50fS5yZXYtYnRuLnJldi1oaWRkZW5pY29uOmhvdmVyIGl7b3BhY2l0eToxIWltcG9ydGFudDttYXJnaW4tbGVmdDoxMHB4IWltcG9ydGFudDt3aWR0aDphdXRvIWltcG9ydGFudH0ucmV2LWJ0bi5yZXYtbWVkaXVtLC5yZXYtYnRuLnJldi1tZWRpdW06dmlzaXRlZHtsaW5lLWhlaWdodDozNnB4O2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MTBweCAzMHB4fS5yZXYtYnRuLnJldi1tZWRpdW0ucmV2LWhpZGRlbmljb24gaSwucmV2LWJ0bi5yZXYtbWVkaXVtLnJldi13aXRoaWNvbiBpe2ZvbnQtc2l6ZToxNHB4O3RvcDowfS5yZXYtYnRuLnJldi1zbWFsbCwucmV2LWJ0bi5yZXYtc21hbGw6dmlzaXRlZHtsaW5lLWhlaWdodDoyOHB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6N3B4IDIwcHh9LnJldi1idG4ucmV2LXNtYWxsLnJldi1oaWRkZW5pY29uIGksLnJldi1idG4ucmV2LXNtYWxsLnJldi13aXRoaWNvbiBpe2ZvbnQtc2l6ZToxMnB4O3RvcDowfS5yZXYtbWF4cm91bmR7Ym9yZGVyLXJhZGl1czozMHB4fS5yZXYtbWlucm91bmR7Ym9yZGVyLXJhZGl1czozcHh9LnJldi1idXJnZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoyMnB4IDAgMCAxNHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoxcHggc29saWQgcmdiYSg1MSw1MSw1MSwuMjUpOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ucmV2LWJ1cmdlciBzcGFue2Rpc3BsYXk6YmxvY2s7d2lkdGg6MzBweDtoZWlnaHQ6M3B4O2JhY2tncm91bmQ6IzMzMzt0cmFuc2l0aW9uOi43cztwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybS1zdHlsZTpmbGF0IWltcG9ydGFudH0ucmV2LWJ1cmdlci5yZXZiLXdoaXRlIHNwYW4sLnJldi1idXJnZXIucmV2Yi13aGl0ZW5vYm9yZGVyIHNwYW57YmFja2dyb3VuZDojZmZmfS5yZXYtYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDIpe21hcmdpbjozcHggMH0jZGlhbG9nX2FkZGJ1dHRvbiAucmV2LWJ1cmdlcjpob3ZlciA6Zmlyc3QtY2hpbGQsLm9wZW4gLnJldi1idXJnZXIgOmZpcnN0LWNoaWxkLC5vcGVuLnJldi1idXJnZXIgOmZpcnN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCkgcm90YXRlKC00NWRlZyl9I2RpYWxvZ19hZGRidXR0b24gLnJldi1idXJnZXI6aG92ZXIgOm50aC1jaGlsZCgyKSwub3BlbiAucmV2LWJ1cmdlciA6bnRoLWNoaWxkKDIpLC5vcGVuLnJldi1idXJnZXIgOm50aC1jaGlsZCgyKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7b3BhY2l0eTowfSNkaWFsb2dfYWRkYnV0dG9uIC5yZXYtYnVyZ2VyOmhvdmVyIDpsYXN0LWNoaWxkLC5vcGVuIC5yZXYtYnVyZ2VyIDpsYXN0LWNoaWxkLC5vcGVuLnJldi1idXJnZXIgOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCkgcm90YXRlKC0xMzVkZWcpfS5yZXYtYnVyZ2VyLnJldmItd2hpdGV7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yKX0ucmV2LWJ1cmdlci5yZXZiLWRhcmtub2JvcmRlciwucmV2LWJ1cmdlci5yZXZiLXdoaXRlbm9ib3JkZXJ7Ym9yZGVyOjB9LnJldi1idXJnZXIucmV2Yi1kYXJrbm9ib3JkZXIgc3BhbntiYWNrZ3JvdW5kOiMzMzN9LnJldi1idXJnZXIucmV2Yi13aGl0ZWZ1bGx7YmFja2dyb3VuZDojZmZmO2JvcmRlcjpub25lfS5yZXYtYnVyZ2VyLnJldmItd2hpdGVmdWxsIHNwYW57YmFja2dyb3VuZDojMzMzfS5yZXYtYnVyZ2VyLnJldmItZGFya2Z1bGx7YmFja2dyb3VuZDojMzMzO2JvcmRlcjpub25lfS5yZXYtYnVyZ2VyLnJldmItZGFya2Z1bGwgc3BhbiwucmV2LXNjcm9sbC1idG4ucmV2cy1mdWxsd2hpdGV7YmFja2dyb3VuZDojZmZmfUBrZXlmcmFtZXMgcmV2LWFuaS1tb3VzZXswJXtvcGFjaXR5OjE7dG9wOjI5JX0xNSV7b3BhY2l0eToxO3RvcDo1MCV9NTAle29wYWNpdHk6MDt0b3A6NTAlfTEwMCV7b3BhY2l0eTowO3RvcDoyOSV9fS5yZXYtc2Nyb2xsLWJ0bntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7cmlnaHQ6MDt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt3aWR0aDozNXB4O2hlaWdodDo1NXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6M3B4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czoyM3B4fS5yZXYtc2Nyb2xsLWJ0bj4qe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjE4cHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6cHJveGltYS1ub3ZhLCJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6MnB4fS5yZXYtc2Nyb2xsLWJ0bj4uYWN0aXZlLC5yZXYtc2Nyb2xsLWJ0bj46Zm9jdXMsLnJldi1zY3JvbGwtYnRuPjpob3Zlcntjb2xvcjojZmZmfS5yZXYtc2Nyb2xsLWJ0bj4uYWN0aXZlLC5yZXYtc2Nyb2xsLWJ0bj46YWN0aXZlLC5yZXYtc2Nyb2xsLWJ0bj46Zm9jdXMsLnJldi1zY3JvbGwtYnRuPjpob3ZlcntvcGFjaXR5Oi44fS5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWZ1bGx3aGl0ZSBzcGFue2JhY2tncm91bmQ6IzMzM30ucmV2LXNjcm9sbC1idG4ucmV2cy1mdWxsZGFya3tiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyOm5vbmV9LnJldi1zY3JvbGwtYnRuLnJldnMtZnVsbGRhcmsgc3BhbiwudHAtYnVsbGV0e2JhY2tncm91bmQ6I2ZmZn0ucmV2LXNjcm9sbC1idG4gc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDoyOSU7bGVmdDo1MCU7d2lkdGg6OHB4O2hlaWdodDo4cHg7bWFyZ2luOi00cHggMCAwIC00cHg7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6NTAlO2FuaW1hdGlvbjpyZXYtYW5pLW1vdXNlIDIuNXMgbGluZWFyIGluZmluaXRlfS5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWRhcmt7Ym9yZGVyLWNvbG9yOiMzMzN9LnJldi1zY3JvbGwtYnRuLnJldnMtZGFyayBzcGFue2JhY2tncm91bmQ6IzMzM30ucmV2LWNvbnRyb2wtYnRue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3otaW5kZXg6NTtjb2xvcjojRkZGO2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjYwcHg7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtZmFtaWx5OlJhbGV3YXk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlci1yYWRpdXM6NTBweDt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXJ9LnJldi1jYnV0dG9uLWRhcmstc3IsLnJldi1jYnV0dG9uLWxpZ2h0LXNye2JvcmRlci1yYWRpdXM6M3B4fS5yZXYtY2J1dHRvbi1saWdodCwucmV2LWNidXR0b24tbGlnaHQtc3J7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjc1KX0ucmV2LXNidXR0b257bGluZS1oZWlnaHQ6MzdweDt3aWR0aDozN3B4O2hlaWdodDozN3B4fS5yZXYtc2J1dHRvbi1ibHVle2JhY2tncm91bmQtY29sb3I6IzNCNTk5OH0ucmV2LXNidXR0b24tbGlnaHRibHVle2JhY2tncm91bmQtY29sb3I6IzAwQTBEMX0ucmV2LXNidXR0b24tcmVke2JhY2tncm91bmQtY29sb3I6I0RENEIzOX0udHAtYmFubmVydGltZXJ7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2JhY2tncm91bmQ6IzAwMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjE1KTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjIwMDt0b3A6MH0udHAtYmFubmVydGltZXIudHAtYm90dG9te3RvcDphdXRvO2JvdHRvbTowIWltcG9ydGFudDtoZWlnaHQ6NXB4fS50cC1jYXB0aW9uIGltZ3tiYWNrZ3JvdW5kOjAgMDstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jMDBGRkZGRkYsZW5kQ29sb3JzdHI9IzAwRkZGRkZGKSI7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMwMEZGRkZGRiwgZW5kQ29sb3JzdHI9IzAwRkZGRkZGKTt6b29tOjF9LmNhcHRpb24uc2xpZGVsaW5rIGEgZGl2LC50cC1jYXB0aW9uLnNsaWRlbGluayBhIGRpdnt3aWR0aDozMDAwcHg7aGVpZ2h0OjE1MDBweDtiYWNrZ3JvdW5kOnVybCguLi9hc3NldHMvY29sb3JlZGJnLnBuZyl9LnRwLWNhcHRpb24uc2xpZGVsaW5rIGEgc3BhbntiYWNrZ3JvdW5kOnVybCguLi9hc3NldHMvY29sb3JlZGJnLnBuZyl9LnRwLWxvYWRlci5zcGlubmVyMCwudHAtbG9hZGVyLnNwaW5uZXI1e2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2Fzc2V0cy9sb2FkZXIuZ2lmKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnRwLXNoYXBle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5ne2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50cC1jYXB0aW9uIC5ycy1zdGFycmluZyAuc3Rhci1yYXRpbmd7ZmxvYXQ6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7Y29sb3I6I0ZGQzMyMSFpbXBvcnRhbnR9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIC5zdGFyLXJhdGluZywudHAtY2FwdGlvbiAucnMtc3RhcnJpbmctcGFnZSAuc3Rhci1yYXRpbmd7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjFlbTt3aWR0aDo1LjRlbTtmb250LWZhbWlseTpzdGFyO2ZvbnQtc2l6ZToxZW0haW1wb3J0YW50fS50cC1sb2FkZXIuc3Bpbm5lcjAsLnRwLWxvYWRlci5zcGlubmVyMXt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbi10b3A6LTIwcHg7bWFyZ2luLWxlZnQ6LTIwcHg7YW5pbWF0aW9uOnRwLXJvdGF0ZXBsYW5lIDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAwIDIwcHggMCByZ2JhKDAsMCwwLC4xNSl9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIC5zdGFyLXJhdGluZzpiZWZvcmUsLnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nLXBhZ2UgLnN0YXItcmF0aW5nOmJlZm9yZXtjb250ZW50OiJcNzNcNzNcNzNcNzNcNzMiO2NvbG9yOiNFMERBREY7ZmxvYXQ6bGVmdDt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGV9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIC5zdGFyLXJhdGluZyBzcGFue292ZXJmbG93OmhpZGRlbjtmbG9hdDpsZWZ0O3RvcDowO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLXRvcDoxLjVlbTtmb250LXNpemU6MWVtIWltcG9ydGFudH0udHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nIHNwYW46YmVmb3Jle2NvbnRlbnQ6Ilw1M1w1M1w1M1w1M1w1MyI7dG9wOjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowfS50cC1sb2FkZXJ7dG9wOjUwJTtsZWZ0OjUwJTt6LWluZGV4OjEwMDAwO3Bvc2l0aW9uOmFic29sdXRlfS50cC1sb2FkZXIuc3Bpbm5lcjB7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyfS50cC1sb2FkZXIuc3Bpbm5lcjV7YmFja2dyb3VuZC1wb3NpdGlvbjoxMHB4IDEwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjotMjJweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6M3B4fUBrZXlmcmFtZXMgdHAtcm90YXRlcGxhbmV7MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKDApIHJvdGF0ZVkoMCl9NTAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgtMTgwLjFkZWcpIHJvdGF0ZVkoMCl9MTAwJXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTc5LjlkZWcpfX0udHAtbG9hZGVyLnNwaW5uZXIye3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luLXRvcDotMjBweDttYXJnaW4tbGVmdDotMjBweDtiYWNrZ3JvdW5kLWNvbG9yOnJlZDtib3gtc2hhZG93OjAgMCAyMHB4IDAgcmdiYSgwLDAsMCwuMTUpO2JvcmRlci1yYWRpdXM6MTAwJTthbmltYXRpb246dHAtc2NhbGVvdXQgMXMgaW5maW5pdGUgZWFzZS1pbi1vdXR9QGtleWZyYW1lcyB0cC1zY2FsZW91dHswJXt0cmFuc2Zvcm06c2NhbGUoMCl9MTAwJXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eTowfX0udHAtbG9hZGVyLnNwaW5uZXIze21hcmdpbjotOXB4IDAgMCAtMzVweDt3aWR0aDo3MHB4O3RleHQtYWxpZ246Y2VudGVyfS50cC1sb2FkZXIuc3Bpbm5lcjMgLmJvdW5jZTEsLnRwLWxvYWRlci5zcGlubmVyMyAuYm91bmNlMiwudHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2Uze3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JveC1zaGFkb3c6MCAwIDIwcHggMCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2FuaW1hdGlvbjp0cC1ib3VuY2VkZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aH0udHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2Uxe2FuaW1hdGlvbi1kZWxheTotLjMyc30udHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2Uye2FuaW1hdGlvbi1kZWxheTotLjE2c31Aa2V5ZnJhbWVzIHRwLWJvdW5jZWRlbGF5ezAlLDEwMCUsODAle3RyYW5zZm9ybTpzY2FsZSgwKX00MCV7dHJhbnNmb3JtOnNjYWxlKDEpfX0udHAtbG9hZGVyLnNwaW5uZXI0e21hcmdpbjotMjBweCAwIDAgLTIwcHg7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDt0ZXh0LWFsaWduOmNlbnRlcjthbmltYXRpb246dHAtcm90YXRlIDJzIGluZmluaXRlIGxpbmVhcn0udHAtbG9hZGVyLnNwaW5uZXI0IC5kb3QxLC50cC1sb2FkZXIuc3Bpbm5lcjQgLmRvdDJ7d2lkdGg6NjAlO2hlaWdodDo2MCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MTAwJTthbmltYXRpb246dHAtYm91bmNlIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0O2JveC1zaGFkb3c6MCAwIDIwcHggMCByZ2JhKDAsMCwwLC4xNSl9LnRwLWxvYWRlci5zcGlubmVyNCAuZG90Mnt0b3A6YXV0bztib3R0b206MDthbmltYXRpb24tZGVsYXk6LTFzfUBrZXlmcmFtZXMgdHAtcm90YXRlezEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHRwLWJvdW5jZXswJSwxMDAle3RyYW5zZm9ybTpzY2FsZSgwKX01MCV7dHJhbnNmb3JtOnNjYWxlKDEpfX0udHAtYnVsbGV0cy5uYXZiYXIsLnRwLXRhYnMubmF2YmFyLC50cC10aHVtYnMubmF2YmFye2JvcmRlcjpub25lO21pbi1oZWlnaHQ6MDttYXJnaW46MDtib3JkZXItcmFkaXVzOjB9LnRwLWJ1bGxldHMsLnRwLXRhYnMsLnRwLXRodW1ic3twb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6MTAwMDt0b3A6MDtsZWZ0OjB9LnRwLXRhYiwudHAtdGh1bWJ7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouNTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnRwLWFyci1pbWdob2xkZXIsLnRwLXRhYi1pbWFnZSwudHAtdGh1bWItaW1hZ2UsLnRwLXZpZGVvcG9zdGVye2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0udHAtdGFiLnNlbGVjdGVkLC50cC10YWI6aG92ZXIsLnRwLXRodW1iLnNlbGVjdGVkLC50cC10aHVtYjpob3ZlcntvcGFjaXR5OjF9LnRwLXRhYi1tYXNrLC50cC10aHVtYi1tYXNre2JveC1zaXppbmc6Ym9yZGVyLWJveCFpbXBvcnRhbnR9LnRwLXRhYnMsLnRwLXRodW1ic3tib3gtc2l6aW5nOmNvbnRlbnQtYm94IWltcG9ydGFudH0udHAtYnVsbGV0e3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjdXJzb3I6cG9pbnRlcn0udHAtYnVsbGV0LnNlbGVjdGVkLC50cC1idWxsZXQ6aG92ZXJ7YmFja2dyb3VuZDojZmZmfS50cGFycm93c3tjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOiMwMDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41KTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7ei1pbmRleDoxMDAwfS50cGFycm93czpob3ZlcntiYWNrZ3JvdW5kOiMwMDB9LnRwYXJyb3dzOmJlZm9yZXtmb250LWZhbWlseTpyZXZpY29ucztmb250LXNpemU6MTVweDtjb2xvcjojZmZmO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6NDBweDt0ZXh0LWFsaWduOmNlbnRlcn0uaGdpbmZvLC5oZ2xheWVyaW5mb3tmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDB9LnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmV7Y29udGVudDonXGU4MjQnfS50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZXtjb250ZW50OidcZTgyNSd9Ym9keS5ydGwgLnRwLWtiaW1ne2xlZnQ6MCFpbXBvcnRhbnR9LmRkZHdyYXBwZXJzaGFkb3d7Ym94LXNoYWRvdzowIDQ1cHggMTAwcHggcmdiYSgwLDAsMCwuNCl9LmhnbGF5ZXJpbmZve3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6MDtjb2xvcjojRkZGO2xpbmUtaGVpZ2h0OjIwcHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC43NSk7cGFkZGluZzo1cHggMTBweDt6LWluZGV4OjIwMDA7d2hpdGUtc3BhY2U6bm9ybWFsfS5oZWxwZ3JpZCwuaGdpbmZve3Bvc2l0aW9uOmFic29sdXRlfS5oZ2luZm97dG9wOi0ycHg7bGVmdDotMnB4O2NvbG9yOiNlNzRjM2M7YmFja2dyb3VuZDojMDAwO3BhZGRpbmc6MnB4IDVweH0uaW5kZWJ1Z21vZGUgLnRwLWNhcHRpb246aG92ZXJ7Ym9yZGVyOjFweCBkYXNoZWQgI2MwMzkyYiFpbXBvcnRhbnR9LmhlbHBncmlke2JvcmRlcjoycHggZGFzaGVkICNjMDM5MmI7dG9wOjA7bGVmdDowO3otaW5kZXg6MH0jcmV2c2xpZGVybG9nbG9nbG9ne3BhZGRpbmc6MTVweDtjb2xvcjojZmZmO3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoyMDBweDtoZWlnaHQ6MTUwcHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC43KTt6LWluZGV4OjEwMDAwMDtmb250LXNpemU6MTBweDtvdmVyZmxvdzpzY3JvbGx9LmFkZW57ZmlsdGVyOmh1ZS1yb3RhdGUoLTIwZGVnKSBjb250cmFzdCguOSkgc2F0dXJhdGUoLjg1KSBicmlnaHRuZXNzKDEuMil9LmFkZW46OmFmdGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoNjYsMTAsMTQsLjIpLHRyYW5zcGFyZW50KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59LnBlcnBldHVhOjphZnRlciwucmV5ZXM6OmFmdGVye21peC1ibGVuZC1tb2RlOnNvZnQtbGlnaHQ7b3BhY2l0eTouNX0uaW5rd2VsbHtmaWx0ZXI6c2VwaWEoLjMpIGNvbnRyYXN0KDEuMSkgYnJpZ2h0bmVzcygxLjEpIGdyYXlzY2FsZSgxKX0ucGVycGV0dWE6OmFmdGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDA1YjlhLCNlNmMxM2QpfS5yZXllc3tmaWx0ZXI6c2VwaWEoLjIyKSBicmlnaHRuZXNzKDEuMSkgY29udHJhc3QoLjg1KSBzYXR1cmF0ZSguNzUpfS5yZXllczo6YWZ0ZXJ7YmFja2dyb3VuZDojZWZjZGFkfS5naW5naGFte2ZpbHRlcjpicmlnaHRuZXNzKDEuMDUpIGh1ZS1yb3RhdGUoLTEwZGVnKX0uZ2luZ2hhbTo6YWZ0ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSg2NiwxMCwxNCwuMiksdHJhbnNwYXJlbnQpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0udG9hc3RlcntmaWx0ZXI6Y29udHJhc3QoMS41KSBicmlnaHRuZXNzKC45KX0udG9hc3Rlcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCM4MDRlMGYsIzNiMDAzYik7bWl4LWJsZW5kLW1vZGU6c2NyZWVufS53YWxkZW57ZmlsdGVyOmJyaWdodG5lc3MoMS4xKSBodWUtcm90YXRlKC0xMGRlZykgc2VwaWEoLjMpIHNhdHVyYXRlKDEuNil9LndhbGRlbjo6YWZ0ZXJ7YmFja2dyb3VuZDojMDRjO21peC1ibGVuZC1tb2RlOnNjcmVlbjtvcGFjaXR5Oi4zfS5odWRzb257ZmlsdGVyOmJyaWdodG5lc3MoMS4yKSBjb250cmFzdCguOSkgc2F0dXJhdGUoMS4xKX0uaHVkc29uOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsI2E2YjFmZiA1MCUsIzM0MjEzNCk7bWl4LWJsZW5kLW1vZGU6bXVsdGlwbHk7b3BhY2l0eTouNX0uZWFybHliaXJke2ZpbHRlcjpjb250cmFzdCguOSkgc2VwaWEoLjIpfS5lYXJseWJpcmQ6OmFmdGVye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjZDBiYThlIDIwJSwjMzYwMzA5IDg1JSwjMWQwMjEwIDEwMCUpO21peC1ibGVuZC1tb2RlOm92ZXJsYXl9Lm1heWZhaXJ7ZmlsdGVyOmNvbnRyYXN0KDEuMSkgc2F0dXJhdGUoMS4xKX0ubWF5ZmFpcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDQwJSA0MCUscmdiYSgyNTUsMjU1LDI1NSwuOCkscmdiYSgyNTUsMjAwLDIwMCwuNiksIzExMSA2MCUpO21peC1ibGVuZC1tb2RlOm92ZXJsYXk7b3BhY2l0eTouNH0ubG9maXtmaWx0ZXI6c2F0dXJhdGUoMS4xKSBjb250cmFzdCgxLjUpfS5sb2ZpOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsdHJhbnNwYXJlbnQgNzAlLCMyMjIgMTUwJSk7bWl4LWJsZW5kLW1vZGU6bXVsdGlwbHl9Ll8xOTc3e2ZpbHRlcjpjb250cmFzdCgxLjEpIGJyaWdodG5lc3MoMS4xKSBzYXR1cmF0ZSgxLjMpfS5fMTk3NzphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMjQzLDEwNiwxODgsLjMpO21peC1ibGVuZC1tb2RlOnNjcmVlbn0uYnJvb2tseW57ZmlsdGVyOmNvbnRyYXN0KC45KSBicmlnaHRuZXNzKDEuMSl9LmJyb29rbHluOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgxNjgsMjIzLDE5MywuNCkgNzAlLCNjNGI3YzgpO21peC1ibGVuZC1tb2RlOm92ZXJsYXl9Lnhwcm8ye2ZpbHRlcjpzZXBpYSguMyl9Lnhwcm8yOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsI2U2ZTdlMCA0MCUscmdiYSg0Myw0MiwxNjEsLjYpIDExMCUpO21peC1ibGVuZC1tb2RlOmNvbG9yLWJ1cm59Lm5hc2h2aWxsZXtmaWx0ZXI6c2VwaWEoLjIpIGNvbnRyYXN0KDEuMikgYnJpZ2h0bmVzcygxLjA1KSBzYXR1cmF0ZSgxLjIpfS5uYXNodmlsbGU6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgwLDcwLDE1MCwuNCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn0ubmFzaHZpbGxlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDI0NywxNzYsMTUzLC41Nik7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5sYXJre2ZpbHRlcjpjb250cmFzdCguOSl9Lmxhcms6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgyNDIsMjQyLDI0MiwuOCk7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5sYXJrOjpiZWZvcmV7YmFja2dyb3VuZDojMjIyNTNmO21peC1ibGVuZC1tb2RlOmNvbG9yLWRvZGdlfS5tb29ue2ZpbHRlcjpncmF5c2NhbGUoMSkgY29udHJhc3QoMS4xKSBicmlnaHRuZXNzKDEuMSl9Lm1vb246OmJlZm9yZXtiYWNrZ3JvdW5kOiNhMGEwYTA7bWl4LWJsZW5kLW1vZGU6c29mdC1saWdodH0ubW9vbjo6YWZ0ZXJ7YmFja2dyb3VuZDojMzgzODM4O21peC1ibGVuZC1tb2RlOmxpZ2h0ZW59LmNsYXJlbmRvbntmaWx0ZXI6Y29udHJhc3QoMS4yKSBzYXR1cmF0ZSgxLjM1KX0uY2xhcmVuZG9uOmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMTI3LDE4NywyMjcsLjIpO21peC1ibGVuZC1tb2RlOm92ZXJsYXl9LndpbGxvd3tmaWx0ZXI6Z3JheXNjYWxlKC41KSBjb250cmFzdCguOTUpIGJyaWdodG5lc3MoLjkpfS53aWxsb3c6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJhZGlhbC1ncmFkaWVudCg0MCUsY2lyY2xlLCNkNGE5YWYgNTUlLCMwMDAgMTUwJSk7bWl4LWJsZW5kLW1vZGU6b3ZlcmxheX0ud2lsbG93OjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOGNkY2I7bWl4LWJsZW5kLW1vZGU6Y29sb3J9LnJpc2V7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNSkgc2VwaWEoLjIpIGNvbnRyYXN0KC45KSBzYXR1cmF0ZSguOSl9LnJpc2U6OmFmdGVye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSxyZ2JhKDIzMiwxOTcsMTUyLC44KSx0cmFuc3BhcmVudCA5MCUpO21peC1ibGVuZC1tb2RlOm92ZXJsYXk7b3BhY2l0eTouNn0ucmlzZTo6YmVmb3Jle2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSxyZ2JhKDIzNiwyMDUsMTY5LC4xNSkgNTUlLHJnYmEoNTAsMzAsNywuNCkpO21peC1ibGVuZC1tb2RlOm11bHRpcGx5fS5fMTk3NzphZnRlciwuXzE5Nzc6YmVmb3JlLC5hZGVuOmFmdGVyLC5hZGVuOmJlZm9yZSwuYnJvb2tseW46YWZ0ZXIsLmJyb29rbHluOmJlZm9yZSwuY2xhcmVuZG9uOmFmdGVyLC5jbGFyZW5kb246YmVmb3JlLC5lYXJseWJpcmQ6YWZ0ZXIsLmVhcmx5YmlyZDpiZWZvcmUsLmdpbmdoYW06YWZ0ZXIsLmdpbmdoYW06YmVmb3JlLC5odWRzb246YWZ0ZXIsLmh1ZHNvbjpiZWZvcmUsLmlua3dlbGw6YWZ0ZXIsLmlua3dlbGw6YmVmb3JlLC5sYXJrOmFmdGVyLC5sYXJrOmJlZm9yZSwubG9maTphZnRlciwubG9maTpiZWZvcmUsLm1heWZhaXI6YWZ0ZXIsLm1heWZhaXI6YmVmb3JlLC5tb29uOmFmdGVyLC5tb29uOmJlZm9yZSwubmFzaHZpbGxlOmFmdGVyLC5uYXNodmlsbGU6YmVmb3JlLC5wZXJwZXR1YTphZnRlciwucGVycGV0dWE6YmVmb3JlLC5yZXllczphZnRlciwucmV5ZXM6YmVmb3JlLC5yaXNlOmFmdGVyLC5yaXNlOmJlZm9yZSwuc2x1bWJlcjphZnRlciwuc2x1bWJlcjpiZWZvcmUsLnRvYXN0ZXI6YWZ0ZXIsLnRvYXN0ZXI6YmVmb3JlLC53YWxkZW46YWZ0ZXIsLndhbGRlbjpiZWZvcmUsLndpbGxvdzphZnRlciwud2lsbG93OmJlZm9yZSwueHBybzI6YWZ0ZXIsLnhwcm8yOmJlZm9yZXtjb250ZW50OicnO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZX0uXzE5NzcsLmFkZW4sLmJyb29rbHluLC5jbGFyZW5kb24sLmVhcmx5YmlyZCwuZ2luZ2hhbSwuaHVkc29uLC5pbmt3ZWxsLC5sYXJrLC5sb2ZpLC5tYXlmYWlyLC5tb29uLC5uYXNodmlsbGUsLnBlcnBldHVhLC5yZXllcywucmlzZSwuc2x1bWJlciwudG9hc3Rlciwud2FsZGVuLC53aWxsb3csLnhwcm8ye3Bvc2l0aW9uOnJlbGF0aXZlfS5fMTk3NyBpbWcsLmFkZW4gaW1nLC5icm9va2x5biBpbWcsLmNsYXJlbmRvbiBpbWcsLmVhcmx5YmlyZCBpbWcsLmdpbmdoYW0gaW1nLC5odWRzb24gaW1nLC5pbmt3ZWxsIGltZywubGFyayBpbWcsLmxvZmkgaW1nLC5tYXlmYWlyIGltZywubW9vbiBpbWcsLm5hc2h2aWxsZSBpbWcsLnBlcnBldHVhIGltZywucmV5ZXMgaW1nLC5yaXNlIGltZywuc2x1bWJlciBpbWcsLnRvYXN0ZXIgaW1nLC53YWxkZW4gaW1nLC53aWxsb3cgaW1nLC54cHJvMiBpbWd7d2lkdGg6MTAwJTt6LWluZGV4OjF9Ll8xOTc3OmJlZm9yZSwuYWRlbjpiZWZvcmUsLmJyb29rbHluOmJlZm9yZSwuY2xhcmVuZG9uOmJlZm9yZSwuZWFybHliaXJkOmJlZm9yZSwuZ2luZ2hhbTpiZWZvcmUsLmh1ZHNvbjpiZWZvcmUsLmlua3dlbGw6YmVmb3JlLC5sYXJrOmJlZm9yZSwubG9maTpiZWZvcmUsLm1heWZhaXI6YmVmb3JlLC5tb29uOmJlZm9yZSwubmFzaHZpbGxlOmJlZm9yZSwucGVycGV0dWE6YmVmb3JlLC5yZXllczpiZWZvcmUsLnJpc2U6YmVmb3JlLC5zbHVtYmVyOmJlZm9yZSwudG9hc3RlcjpiZWZvcmUsLndhbGRlbjpiZWZvcmUsLndpbGxvdzpiZWZvcmUsLnhwcm8yOmJlZm9yZXt6LWluZGV4OjJ9Ll8xOTc3OmFmdGVyLC5hZGVuOmFmdGVyLC5icm9va2x5bjphZnRlciwuY2xhcmVuZG9uOmFmdGVyLC5lYXJseWJpcmQ6YWZ0ZXIsLmdpbmdoYW06YWZ0ZXIsLmh1ZHNvbjphZnRlciwuaW5rd2VsbDphZnRlciwubGFyazphZnRlciwubG9maTphZnRlciwubWF5ZmFpcjphZnRlciwubW9vbjphZnRlciwubmFzaHZpbGxlOmFmdGVyLC5wZXJwZXR1YTphZnRlciwucmV5ZXM6YWZ0ZXIsLnJpc2U6YWZ0ZXIsLnNsdW1iZXI6YWZ0ZXIsLnRvYXN0ZXI6YWZ0ZXIsLndhbGRlbjphZnRlciwud2lsbG93OmFmdGVyLC54cHJvMjphZnRlcnt6LWluZGV4OjN9LnNsdW1iZXJ7ZmlsdGVyOnNhdHVyYXRlKC42NikgYnJpZ2h0bmVzcygxLjA1KX0uc2x1bWJlcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDEyNSwxMDUsMjQsLjUpO21peC1ibGVuZC1tb2RlOnNvZnQtbGlnaHR9LnNsdW1iZXI6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoNjksNDEsMTIsLjQpO21peC1ibGVuZC1tb2RlOmxpZ2h0ZW59LnRwLWtiaW1nLXdyYXA6YWZ0ZXIsLnRwLWtiaW1nLXdyYXA6YmVmb3Jle2hlaWdodDo1MDAlO3dpZHRoOjUwMCV9"}},"time_used":248,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":191,"receive":57,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.017Z","timestamp":1785123386017,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/1jE4zHXbNUM\r\nCookie: __Secure-YNID=20.YT=ACUFOM3MDkNlMvNE5tDAPRZqHyc8HUq6iYvUgEF1js7uVm3Y31bhiIf3sVy4Hyrvgc1OCcHOSp3vsPk12xuHnAhC1Cf-xEwH-8JAvj7gSksWox0nkC6On-8HrUpiNpbDsON7P2d2WEPcvLJM09w4iFsjyc_8T-qrQ0o1v2sJWKWT_Z3Uow-3_y6UiAY8Vbe7BIDaKFErBOC2kWOBSpXwq3nYab8hNVEUPvsfWuKC-MRJZnr7wGh8LavkHs5oAOt2osUNkzgjw-nnLgGDpE17OFrXWJtGeCijcF2DuDXuyJlEZANCnD74xKNqRr8pDJRMH9psiz0sP7MpCDXOwn8F6w; YSC=b0pYTBtcjuk; __Secure-ROLLOUT_TOKEN=CJ3oqsnxxYqOfxD6qa3q9vGVAxj6qa3q9vGVAw%3D%3D; VISITOR_INFO1_LIVE=l_LgHcz9JSg; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaA%3D%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\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 150031\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:07 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:07 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 225619\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":442344,"size_decoded":150945,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (534)","md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXNfZGVmYXVsdF9iYXNlPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4MCwgMHgyLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwp2YXIgZWEsZmEsZGEsbmEscWEsdWEsdmEsQmEsSWEsSmEsS2EsUGEsUmEsVmEsJGEsaGIsbWIsd2IsemIsQWIsRWIsQ2IsRmIsR2IsTmIsVGIsZmMsaGMsaWMsamMsa2MsbWMsbmMsb2MsdGMscWMsR2MsSWMsTGMsTmMsVWMsUWMsV2MsY2QsZmQsaGQsamQsa2QsbWQsb2Qsc2QsQWQsQmQsRWQsdWQsR2QsSGQsSmQsSWQsS2QsTGQsTWQsT2QsU2QsWWQsYmUsY2UsZWUsZmUsZ2UsaGUsaWUsamUsa2UscWUsbGUscmUsb2UscGUsdmUsdGUsc2UsdWUsd2UseGUseWUsemUsQ2UsRGUsRWUsRmUsSGUsS2UsTWUsTmUsT2UsUGUsUWUsVmUsWWUsUmUsWmUsYWYsV2UsVGUsaGYsbGYsbWYsbmYsb2YscmYsdGYseGYsemYsQ2YsS2YsTGYsUWYsRmYsU2YsT2YsTWYsTmYsVGYsUmYsV2YsVmYsWGYsWWYsWmYsYmcsZGcsZWcsZmcsY2csa2csbGcsaGcsZ2csaWcsamcscmcsc2csdGcsdmcseGcsemcsQWcsdWcsRWcsd2csRmcsRGcsSGcsSWcsSmcsT2csUmcsTmcsVGcsU2csVWcsWWcsWGcsYmgsJGcsClpnLGFoLFBnLGNoLGZoLGloLGpoLGtoLGxoLGdoLGhoLG5oLHVoLHZoLHdoLHhoLHloLEFoLEJoLENoLERoLEVoLEZoLEloLEpoLEtoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLGNpLGRpLGVpLGZpLGdpLGhpLGppLGtpLGxpLHBpLHFpLHJpLHNpLHZpLHdpLHhpLHlpLHppLEFpLEJpLERpLEVpLE1pLFRpLFlpLGFqLGRqLGNqLFhpLG9qLHhqLHdqLEFqLEJqLENqLEVqLEpqLEZqLEhqLElqLHZqLFFqLFpqLGJrLGNrLGFrLGVrLGhrLGlrLGZrLGtrLG1rLGxrLG9rLHBrLHFrLHNrLHJrLHZrLHlrLHhrLHprLEFrLEVrLEprLEtrLExrLFJrLFNrLFRrLFVrLFhrLFlrLFdrLFprLCRrLGJsLGNsLGRsLGhsLG5sLHFsLHNsLHRsLGdsLHVsLHZsLHBsLHJsLHlsLHpsLEJsLEVsLEhsLExsLE5sLE9sLFFsLFJsLFNsLFRsLFVsLFZsLFdsLFhsLFpsLGJtLGNtLGRtLGVtLGZtLGdtLGhtLGttLGxtLG1tLG9tLHRtLEFtLEJtLERtLENtLEdtLEhtLEVtLEZtLEltLEptLExtLE1tLApPbSxQbSxRbSxSbSxTbSxUbSxVbSxObSxXbSxYbSxZbSxabSxmbixnbixqbixsbixtbixvbixxbixybix2bix4bixBbix3bix6bixFbixLbixKbixNbixRbixSbixTbixUbixWbixabixXbixYbixZbiwkbixjbyxhbyxxbyx2byx3byxEbyxIbyxGbyxHbyxLbyxKbyxJbyxMbyxPbyxRbywkbyxZbyxXbyxTbyxpcCxlcCxmcCx0cCxycCxxcCxSbyx1cCxkcCxocCxzcCxhcCxUbyxWbyxabyxwcCxGcCxKcCxScCxTcCxVcCxZcCxUcCxhcSxjcSxkcSxlcSxmcSxocSxqcSxxcSxrYSxqYSxpYSxjYTtlYT1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxjYS5sZW5ndGg7YysrKWRhKGNhW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfTtmYT1mdW5jdGlvbihhLGIpe2ImJmRhKGEsYil9OwpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWlhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmamEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTtuYT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWthKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2xhKGEsYik7YS56Yj1iLnByb3RvdHlwZX07cWE9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpfHwwO2E8MCYmKGErPXRoaXMubGVuZ3RoKTtpZighKGE8MHx8YT49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2FdfTsKXy5yYT1mdW5jdGlvbihhLGIsYyl7YT1hLnNwbGl0KCIuIik7Yz1jfHxfLnU7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnNhKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07dmE9ZnVuY3Rpb24oKXt9O18uc2E9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy53YT1mdW5jdGlvbihhKXthLlNsPXZvaWQgMDthLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuU2w/YS5TbDphLlNsPW5ldyBhfX07Cl8ueGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54YShhKTtyZXR1cm4gYj09ImFycmF5Inx8Yj09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciJ9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTtCYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Xy5DYT1mdW5jdGlvbihhLGIsYyl7Xy5DYT1CYTtyZXR1cm4gXy5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkVhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uRmE9ZnVuY3Rpb24oYSxiKXtfLnJhKGEsYil9O18uR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuemI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmJhc2U9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGs9MjtrPGFyZ3VtZW50cy5sZW5ndGg7aysrKWhbay0yXT1hcmd1bWVudHNba107cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsaCl9fTsKSWE9ZnVuY3Rpb24oYSwuLi5iKXtiPWIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighYilyZXR1cm4gYTt2YXIgYz1hLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIGM/YS5zbGljZSgwLGMuaW5kZXgrMSkrYisiJiIrYS5zbGljZShjLmluZGV4KzEpOmErKGEuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYn07SmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iJiIrYSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIifTsKS2E9ZnVuY3Rpb24oYSl7YT1hLkI7aWYoIWEpcmV0dXJuIiI7dmFyIGI9SmEoInVhcCIsYS5wbGF0Zm9ybSkrSmEoInVhcHYiLGEucGxhdGZvcm1WZXJzaW9uKStKYSgidWFmdiIsYS51YUZ1bGxWZXJzaW9uKStKYSgidWFhIixhLmFyY2hpdGVjdHVyZSkrSmEoInVhbSIsYS5tb2RlbCkrSmEoInVhYiIsYS5iaXRuZXNzKTthLmZ1bGxWZXJzaW9uTGlzdCYmKGIrPSImdWFmdmw9IitlbmNvZGVVUklDb21wb25lbnQoYS5mdWxsVmVyc2lvbkxpc3QubWFwKGM9PmVuY29kZVVSSUNvbXBvbmVudChjLmJyYW5kKSsiOyIrZW5jb2RlVVJJQ29tcG9uZW50KGMudmVyc2lvbikpLmpvaW4oInwiKSkpO2Eud293NjQhPW51bGwmJihiKz0iJnVhdz0iK051bWJlcihhLndvdzY0KSk7cmV0dXJuIGIuc2xpY2UoMSl9OwpfLkxhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLkxhKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLk1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtQYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIU5hKXJldHVybiBhO3RyeXtsZXQgYj1jPT5jO2E9TmEuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O1JhPWZ1bmN0aW9uKCl7UWE9PT12b2lkIDAmJihRYT1QYSgpKTtyZXR1cm4gUWF9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLlNhKGEpfTtfLlVhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlNhKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O1ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZigiYCIpPT09LTF9O18uWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldhfTtfLllhPWZ1bmN0aW9uKGEpe2lmKF8uWGEoYSkpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307JGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBaYShiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uYmI9ZnVuY3Rpb24oYSxiPV8uYWIpe2lmKF8uWGEoYSkpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIFphJiZkLmZiKGEpKXJldHVybiBuZXcgXy5XYShhKX19OwpfLmRiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLldhP2E9Xy5ZYShhKTphPWNiLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O18uZWI9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLmdiPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5mYihhKX07Xy5pYj1mdW5jdGlvbihhKXtyZXR1cm4gaGIoInNjcmlwdCIsYSl9O2hiPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18ua2I9ZnVuY3Rpb24oYSl7dmFyIGI9UmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtyZXR1cm4gbmV3IF8uamIoYSl9OwpfLmxiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmpiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O21iPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaWIoYS5vd25lckRvY3VtZW50KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpfTtfLm5iPWZ1bmN0aW9uKGEsYil7YS50ZXh0Q29udGVudD1fLmxiKGIpO21iKGEpfTtfLm9iPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5VYShiKTttYihhKX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uU2EpYS5ocmVmPV8uVWEoYikudG9TdHJpbmcoKSxhLnJlbD1jO2Vsc2V7aWYocGIuaW5kZXhPZihjKT09PS0xKXRocm93IEVycm9yKCJqYCIrYyk7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTtfLnViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9O18udmI9ZnVuY3Rpb24oYSxiKXthOntsZXQgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpe2I9ZTticmVhayBhfWI9LTF9cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09InN0cmluZyI/YS5jaGFyQXQoYik6YVtiXX07d2I9ZnVuY3Rpb24oYSxiKXtfLnNiKGEsYik+PTB8fGEucHVzaChiKX07Xy54Yj1mdW5jdGlvbihhLGIpe2I9Xy5zYihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTsKXy55Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt6Yj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2xldCBkPWFyZ3VtZW50c1tjXTtpZihfLnlhKGQpKXtsZXQgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IobGV0IGg9MDtoPGY7aCsrKWFbZStoXT1kW2hdfWVsc2UgYS5wdXNoKGQpfX07QWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0wLGQ9bmV3IFNldDtjPGEubGVuZ3RoOyl7bGV0IGU9YVtjKytdO2QuaGFzKGUpfHwoZC5hZGQoZSksYVtiKytdPWUpfWEubGVuZ3RoPWJ9OwpfLkJiPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07CkViPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2EoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7YT09bnVsbCYmKGE9J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTphLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOmIsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgYz0hMTt0cnl7dmFyIGQ9YS5saW5lTnVtYmVyfHxhLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChmKXtkPSJOb3QgYXZhaWxhYmxlIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy51LiRnb29nRGVidWdGbmFtZXx8Yn1jYXRjaChmKXtlPSJOb3QgYXZhaWxhYmxlIixjPSEwfWI9Q2IoYSk7aWYoISghYyYmYS5saW5lTnVtYmVyJiZhLmZpbGVOYW1lJiZhLnN0YWNrJiZhLm1lc3NhZ2UmJmEubmFtZSkpe2M9YS5tZXNzYWdlOwppZihjPT1udWxsKXtpZihhLmNvbnN0cnVjdG9yJiZhLmNvbnN0cnVjdG9yIGluc3RhbmNlb2YgRnVuY3Rpb24pe2lmKGEuY29uc3RydWN0b3IubmFtZSljPWEuY29uc3RydWN0b3IubmFtZTtlbHNlIGlmKGM9YS5jb25zdHJ1Y3RvcixEYltjXSljPURiW2NdO2Vsc2V7Yz1TdHJpbmcoYyk7aWYoIURiW2NdKXtsZXQgZj0vZnVuY3Rpb25ccysoW15cKF0rKS9tLmV4ZWMoYyk7RGJbY109Zj9mWzFdOiJbQW5vbnltb3VzXSJ9Yz1EYltjXX1jPSdVbmtub3duIEVycm9yIG9mIHR5cGUgIicrYysnIid9ZWxzZSBjPSJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZSI7dHlwZW9mIGEudG9TdHJpbmc9PT0iZnVuY3Rpb24iJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPSI6ICIrYS50b1N0cmluZygpKX1yZXR1cm57bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHwiVW5rbm93bkVycm9yIixsaW5lTnVtYmVyOmQsZmlsZU5hbWU6ZSxzdGFjazpifHwiTm90IGF2YWlsYWJsZSJ9fXJldHVybnttZXNzYWdlOmEubWVzc2FnZSwKbmFtZTphLm5hbWUsbGluZU51bWJlcjphLmxpbmVOdW1iZXIsZmlsZU5hbWU6YS5maWxlTmFtZSxzdGFjazpifX07CkNiPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbRmIoYSldPSEwO3ZhciBjPWEuc3RhY2t8fCIiLGQ9YS5jYXVzZTtkJiYhYltGYihkKV0mJihjKz0iXG5DYXVzZWQgYnk6ICIsZC5zdGFjayYmZC5zdGFjay5pbmRleE9mKGQudG9TdHJpbmcoKSk9PTB8fChjKz10eXBlb2YgZD09PSJzdHJpbmciP2Q6ZC5tZXNzYWdlKyJcbiIpLGMrPUNiKGQsYikpO2E9YS5lcnJvcnM7aWYoQXJyYXkuaXNBcnJheShhKSl7ZD0xO2xldCBlO2ZvcihlPTA7ZTxhLmxlbmd0aCYmIShkPjQpO2UrKyliW0ZiKGFbZV0pXXx8KGMrPSJcbklubmVyIGVycm9yICIrZCsrICsiOiAiLGFbZV0uc3RhY2smJmFbZV0uc3RhY2suaW5kZXhPZihhW2VdLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGFbZV09PT0ic3RyaW5nIj9hW2VdOmFbZV0ubWVzc2FnZSsiXG4iKSxjKz1DYihhW2VdLGIpKTtlPGEubGVuZ3RoJiYoYys9IlxuLi4uICIrKGEubGVuZ3RoLWUpKyIgbW9yZSBpbm5lciBlcnJvcnMiKX1yZXR1cm4gY307CkZiPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO3R5cGVvZiBhLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmKGI9IiIrYSk7cmV0dXJuIGIrYS5zdGFja307R2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoYSl9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhLnJlcGxhY2UoL1wrL2csIiAiKSl9O18uSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9IiI7YSYmKGsrPWErIjoiKTtjJiYoays9Ii8vIixiJiYoays9YisiQCIpLGsrPWMsZCYmKGsrPSI6IitkKSk7ZSYmKGsrPWUpO2YmJihrKz0iPyIrZik7aCYmKGsrPSIjIitoKTtyZXR1cm4ga307Xy5NYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChLYil9O05iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5PYj1mdW5jdGlvbihhKXthPV8uTWIoYSlbMV18fG51bGw7IWEmJl8udS5zZWxmJiZfLnUuc2VsZi5sb2NhdGlvbiYmKGE9Xy51LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKToiIn07Xy5QYj1mdW5jdGlvbihhKXtyZXR1cm4gTmIoXy5NYihhKVszXXx8bnVsbCl9O18uUWI9ZnVuY3Rpb24oYSl7cmV0dXJuIE5iKF8uTWIoYSlbNV18fG51bGwpfTtfLlJiPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY10uaW5kZXhPZigiPSIpLGUsZj1udWxsO2Q+PTA/KGU9YVtjXS5zdWJzdHJpbmcoMCxkKSxmPWFbY10uc3Vic3RyaW5nKGQrMSkpOmU9YVtjXTtiKGUsZj9fLkhiKGYpOiIiKX19fTsKXy5TYj1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBhO3ZhciBjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO3ZhciBkPWEuaW5kZXhPZigiPyIpO2lmKGQ8MHx8ZD5jKXtkPWM7dmFyIGU9IiJ9ZWxzZSBlPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7cmV0dXJuIGFbMF0rKGFbMV0/Ij8iK2FbMV06IiIpK2FbMl19O1RiPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRiKGEsU3RyaW5nKGJbZF0pLGMpO2Vsc2UgYiE9bnVsbCYmYy5wdXNoKGErKGI9PT0iIj8iIjoiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSkpKX07Xy5VYj1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IGMgaW4gYSlUYihjLGFbY10sYik7cmV0dXJuIGIuam9pbigiJiIpfTsKXy5XYj1mdW5jdGlvbihhLGIpe2I9Xy5VYihiKTtyZXR1cm4gXy5TYihhLGIpfTtfLlhiPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5aYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VhcmNoKF8uWWIpLGQ9Xy5YYihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy5IYihhLnNsaWNlKGQsZSE9PS0xP2U6MCkpfTtfLiRiPWZ1bmN0aW9uKGEpe18udS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTsKXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT01NTI5NiYmZCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGQrMSkmNjQ1MTIpPT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gYn07Xy5iYz1mdW5jdGlvbigpe3ZhciBhPV8udS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTsKZmM9ZnVuY3Rpb24oYSl7aWYoIWRjfHwhZWMpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxlYy5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1lYy5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07aGM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmMoKS5pbmRleE9mKGEpIT0tMX07aWM9ZnVuY3Rpb24oKXtyZXR1cm4gZGM/ISFlYyYmZWMuYnJhbmRzLmxlbmd0aD4wOiExfTtqYz1mdW5jdGlvbigpe3JldHVybiBpYygpPyExOmhjKCJPcGVyYSIpfTtrYz1mdW5jdGlvbigpe3JldHVybiBoYygiRmlyZWZveCIpfHxoYygiRnhpT1MiKX07bWM9ZnVuY3Rpb24oKXtyZXR1cm4gaWMoKT9mYygiQ2hyb21pdW0iKTooaGMoIkNocm9tZSIpfHxoYygiQ3JpT1MiKSkmJiEoaWMoKT8wOmhjKCJFZGdlIikpfHxoYygiU2lsayIpfTtuYz1mdW5jdGlvbigpe3JldHVybiBkYz8hIWVjJiYhIWVjLnBsYXRmb3JtOiExfTsKb2M9ZnVuY3Rpb24oKXtyZXR1cm4gaGMoImlQaG9uZSIpJiYhaGMoImlQb2QiKSYmIWhjKCJpUGFkIil9O18ucGM9ZnVuY3Rpb24oYSl7Xy5wY1siICJdKGEpO3JldHVybiBhfTtfLnNjPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7cWMoKTtiPXJjW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgaD1hW2VdLGs9YVtlKzFdLGw9YVtlKzJdLG09YltoPj4yXTtoPWJbKGgmMyk8PDR8az4+NF07az1iWyhrJjE1KTw8MnxsPj42XTtsPWJbbCY2M107Y1tmKytdPW0raCtrK2x9bT0wO2w9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOm09YVtlKzFdLGw9YlsobSYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT1iW2E+PjJdK2JbKGEmMyk8PDR8bT4+NF0rbCtkfXJldHVybiBjLmpvaW4oIiIpfTsKXy51Yz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6Ij0uIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz0iPS4iLmluZGV4T2YoYVtiLTJdKSE9LTE/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO3RjKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9O3RjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGg9dmNbZl07aWYoaCE9bnVsbClyZXR1cm4gaDtpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJtYCIrZik7fXJldHVybiBlfXFjKCk7Zm9yKHZhciBkPTA7Oyl7bGV0IGU9YygtMSksZj1jKDApLGg9Yyg2NCksaz1jKDY0KTtpZihrPT09NjQmJmU9PT0tMSlicmVhaztiKGU8PDJ8Zj4+NCk7aCE9NjQmJihiKGY8PDQmMjQwfGg+PjIpLGshPTY0JiZiKGg8PDYmMTkyfGspKX19OwpxYz1mdW5jdGlvbigpe2lmKCF2Yyl7dmM9e307dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksYj1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXTtmb3IobGV0IGM9MDtjPDU7YysrKXtsZXQgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7cmNbY109ZDtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKyl7bGV0IGY9ZFtlXTt2Y1tmXT09PXZvaWQgMCYmKHZjW2ZdPWUpfX19fTtfLnhjPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9d2M/Pyh3Yz17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsYT1FcnJvcigpLF8uQmIoYSwiaW5jaWRlbnQiKSxfLiRiKGEpKX19O18ueWM9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTsKXy5CYz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuaiE9PV8uemMmJiEhKDImKGEuRGFbXy5BY118MCkpOiEhKDImYikmJmEuaiE9PV8uemN9O18uQ2M9ZnVuY3Rpb24oYSl7YS51Sj0hMDtyZXR1cm4gYX07Xy5GYz1mdW5jdGlvbihhKXtpZihEYyhhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoRWMoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O0djPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtJYz1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhjKEhjLDEpfTsKTGM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLkdhKF8uSmMpLGg7IWUmJmYmJihoPWFbZl0pJiZoLmN3KEljKTtmPVtdO3ZhciBrPWEubGVuZ3RoO2g9NDI5NDk2NzI5NTt2YXIgbD0hMSxtPSEhKGImNjQpLG49bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBwPWsmJmFbay0xXTtwIT1udWxsJiZ0eXBlb2YgcD09PSJvYmplY3QiJiZwLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhrLS0saD1rKTpwPXZvaWQgMDshbXx8YiYxMjh8fGV8fChsPSEwLGg9KEtjPz9HYykoaC1uLG4sYSxwLHZvaWQgMCkrbil9Yj12b2lkIDA7Zm9yKGU9MDtlPGs7ZSsrKXtsZXQgcj1hW2VdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobSYmZT49aCl7bGV0IHQ9ZS1uOyhiPz8oYj17fSkpW3RdPXJ9ZWxzZSBmW2VdPXJ9aWYocClmb3IobGV0IHIgaW4gcCl7YT1wW3JdO2lmKGE9PW51bGx8fChhPWMoYSxkKSk9PW51bGwpY29udGludWU7az0rcjsKbGV0IHQ7bSYmIU51bWJlci5pc05hTihrKSYmKHQ9aytuKTxoP2ZbdF09YTooYj8/KGI9e30pKVtyXT1hfWImJihsP2YucHVzaChiKTpmW2hdPWIpO3JldHVybiBmfTtOYz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLk1jKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQWNdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpMYyhhLGIsTmMpfWlmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBRYyhhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5SYyYmYSBpbnN0YW5jZW9mIF8uUmMpcmV0dXJuIGEubygpO3JldHVybn1yZXR1cm4gYX07ClVjPWZ1bmN0aW9uKGEsYil7aWYoYil7S2M9Yj09bnVsbHx8Yj09PUdjfHxiW1NjXSE9PVRjP0djOmI7dHJ5e3JldHVybiBRYyhhKX1maW5hbGx5e0tjPXZvaWQgMH19cmV0dXJuIFFjKGEpfTtRYz1mdW5jdGlvbihhKXthPWEuRGE7cmV0dXJuIExjKGEsYVtfLkFjXXwwLE5jKX07Cl8uWGM9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJzIik7ZT1hW18uQWNdfDA7aWYoVmMmJjEmZSl0aHJvdyBFcnJvcigidCIpOzIwNDgmZSYmISgyJmUpJiZXYygpO2lmKGUmMjU2KXRocm93IEVycm9yKCJ1Iik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQWNdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigidiIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgaD1mLTE7bGV0IGw9Y1toXTtpZihsIT1udWxsJiZ0eXBlb2YgbD09PSJvYmplY3QiJiZsLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtiPWUmMTI4PzA6LTE7aC09YjtpZihoPj0xMDI0KXRocm93IEVycm9yKCJ4Iik7Zm9yKHZhciBrIGluIGwpaWYoZj0rayxmPGgpY1tmKwpiXT1sW2tdLGRlbGV0ZSBsW2tdO2Vsc2UgYnJlYWs7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoInkiKTtlPWUmLTE2NzYwODMzfChrJjEwMjMpPDwxNH19fWFbXy5BY109ZXw2NHxkO3JldHVybiBhfTtXYz1mdW5jdGlvbigpe2lmKFZjKXRocm93IEVycm9yKCJ3Iik7Xy54YyhZYyw1KX07CmNkPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQWNdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uWmMoYSxjLCExLGImJiEoYyYxNikpOihhW18uQWNdfD0zNCxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZhW18uT2NdPT09Xy5QYylyZXR1cm4gYj1hLkRhLGM9YltfLkFjXXwwLF8uQmMoYSxjKT9hOl8uJGMoYSxiLGMpP18uYmQoYSxiKTpfLlpjKGIsYyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uUmMmJmEgaW5zdGFuY2VvZiBfLlJjKXJldHVybiBhfTtfLmJkPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmo9Xy56Yyk7YS5vPV8uemM7cmV0dXJuIGF9OwpfLlpjPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPUxjKGEsYixjZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQWNdPWI7cmV0dXJuIGF9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJjI/ITA6YyYzMiYmIShjJjQwOTYpPyhiW18uQWNdPWN8MixhLmo9Xy56YywhMCk6ITF9O18uZWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uZGQoYS5EYSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEubyE9PV8uemMpcmV0dXJuIGJ9OwpfLmRkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBoPWFbZl07aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1oW2JdO3ZhciBrPSEwfWVsc2UgaWYoZT09PWYpYz1oO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaz9oW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtmZD1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O18uZ2Q9ZnVuY3Rpb24oKXt9OwpoZD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O2pkPWZ1bmN0aW9uKGEpe3ZhciBiPWlkO2lmKGIpZm9yKGxldCBjIGluIGIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYykmJmEoYltjXSxjLGIpfTtrZD1mdW5jdGlvbigpe3ZhciBhPVtdO2pkKGI9PnthLnB1c2goYil9KTtyZXR1cm4gYX07bWQ9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxiPXt9O18udGIobGQoKSxjPT57YS5zYW5kYm94JiZhLnNhbmRib3guc3VwcG9ydHMmJmEuc2FuZGJveC5zdXBwb3J0cyhjKSYmKGJbY109ITApfSk7cmV0dXJuIGJ9O18ubmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07b2Q9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgaW4gYSliLmNhbGwodm9pZCAwLGFbY10sYyxhKX07Cl8ucGQ9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9OwpfLnFkPWZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QiKXJldHVybiBhO2lmKHR5cGVvZiBhLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChhKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQoYSk7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTt2YXIgYj1BcnJheS5pc0FycmF5KGEpP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KGEpfHxhIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO2ZvcihsZXQgYyBpbiBhKWJbY109Xy5xZChhW2NdKTtyZXR1cm4gYn07CnNkPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8cmQubGVuZ3RoO2YrKyl7dmFyIGQ9cmRbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19O18ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHVkKF8udmQoYSkpOndkfHwod2Q9bmV3IHVkKX07Xy55ZD1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm5kKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLnpkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKQWQ9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7ZSYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZT09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZSk6ZSl9Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV07IV8ueWEoZil8fF8uQWEoZikmJmYubm9kZVR5cGU+MD9kKGYpOl8udGIoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLnliKGYpOmYsZCl9fTtfLkNkPWZ1bmN0aW9uKGEpe3JldHVybiBCZChkb2N1bWVudCxhKX07QmQ9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5EZD1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTsKXy52ZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5GZD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT0iQSImJmEuaGFzQXR0cmlidXRlKCJocmVmIil8fGEudGFnTmFtZT09IklOUFVUInx8YS50YWdOYW1lPT0iVEVYVEFSRUEifHxhLnRhZ05hbWU9PSJTRUxFQ1QifHxhLnRhZ05hbWU9PSJCVVRUT04iPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHxFZChhKSk6YS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJkVkKGEpfTtFZD1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciImJmE+PTAmJmE8MzI3Njh9O3VkPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfHxfLnUuZG9jdW1lbnR8fGRvY3VtZW50fTsKR2Q9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigiQmAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09ImNocm9tZS1leHRlbnNpb24iJiZjIT09Im1vei1leHRlbnNpb24iJiYKYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiQ2AiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoZCE9LTEpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKGM9PT0iaHR0cCImJmUhPT0iODAifHxjPT09Imh0dHBzIiYmZSE9PSI0NDMiKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTsKSGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7ZVswXT0xNzMyNTg0MTkzO2VbMV09NDAyMzIzMzQxNztlWzJdPTI1NjIzODMxMDI7ZVszXT0yNzE3MzM4Nzg7ZVs0XT0zMjg1Mzc3NTIwO249bT0wfWZ1bmN0aW9uIGIocCl7Zm9yKHZhciByPWgsdD0wO3Q8NjQ7dCs9NClyW3QvNF09cFt0XTw8MjR8cFt0KzFdPDwxNnxwW3QrMl08PDh8cFt0KzNdO2Zvcih0PTE2O3Q8ODA7dCsrKXA9clt0LTNdXnJbdC04XV5yW3QtMTRdXnJbdC0xNl0sclt0XT0ocDw8MXxwPj4+MzEpJjQyOTQ5NjcyOTU7cD1lWzBdO3ZhciB2PWVbMV0sej1lWzJdLEU9ZVszXSxBPWVbNF07Zm9yKHQ9MDt0PDgwO3QrKyl7aWYodDw0MClpZih0PDIwKXt2YXIgRj1FXnYmKHpeRSk7dmFyIEM9MTUxODUwMDI0OX1lbHNlIEY9dl56XkUsQz0xODU5Nzc1MzkzO2Vsc2UgdDw2MD8oRj12Jnp8RSYodnx6KSxDPTI0MDA5NTk3MDgpOihGPXZeel5FLEM9MzM5NTQ2OTc4Mik7Rj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStGKwpBK0Mrclt0XSY0Mjk0OTY3Mjk1O0E9RTtFPXo7ej0odjw8MzB8dj4+PjIpJjQyOTQ5NjcyOTU7dj1wO3A9Rn1lWzBdPWVbMF0rcCY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt2JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK3omNDI5NDk2NzI5NTtlWzNdPWVbM10rRSY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStBJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhwLHIpe2lmKHR5cGVvZiBwPT09InN0cmluZyIpe3A9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHApKTtmb3IodmFyIHQ9W10sdj0wLHo9cC5sZW5ndGg7djx6Oysrdil0LnB1c2gocC5jaGFyQ29kZUF0KHYpKTtwPXR9cnx8KHI9cC5sZW5ndGgpO3Q9MDtpZihtPT0wKWZvcig7dCs2NDxyOyliKHAuc2xpY2UodCx0KzY0KSksdCs9NjQsbis9NjQ7Zm9yKDt0PHI7KWlmKGZbbSsrXT1wW3QrK10sbisrLG09PTY0KWZvcihtPTAsYihmKTt0KzY0PHI7KWIocC5zbGljZSh0LHQrNjQpKSx0Kz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHA9W10scj0Kbio4O208NTY/YyhrLDU2LW0pOmMoayw2NC0obS01NikpO2Zvcih2YXIgdD02Mzt0Pj01Njt0LS0pZlt0XT1yJjI1NSxyPj4+PTg7YihmKTtmb3IodD1yPTA7dDw1O3QrKylmb3IodmFyIHY9MjQ7dj49MDt2LT04KXBbcisrXT1lW3RdPj52JjI1NTtyZXR1cm4gcH1mb3IodmFyIGU9W10sZj1bXSxoPVtdLGs9WzEyOF0sbD0xO2w8NjQ7KytsKWtbbF09MDt2YXIgbSxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxrdjpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj0iIix0PTA7dDxwLmxlbmd0aDt0Kyspcis9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHBbdF0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHBbdF0lMTYpO3JldHVybiByfX19O0pkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy51LmxvY2F0aW9uLmhyZWYpO3JldHVybiBkJiZhJiZiP1tiLElkKEdkKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfTsKSWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnRiKGQsZnVuY3Rpb24oayl7ZS5wdXNoKGspfSksS2QoZS5qb2luKCIgIikpO3ZhciBmPVtdLGg9W107Xy50YihjLGZ1bmN0aW9uKGspe2gucHVzaChrLmtleSk7Zi5wdXNoKGsudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy50YihkLGZ1bmN0aW9uKGspe2UucHVzaChrKX0pO2E9S2QoZS5qb2luKCIgIikpO2E9W2MsYV07aC5sZW5ndGg9PTB8fGEucHVzaChoLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9O0tkPWZ1bmN0aW9uKGEpe3ZhciBiPUhkKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIua3YoKS50b0xvd2VyQ2FzZSgpfTtMZD1mdW5jdGlvbihhKXt0aGlzLmo9YXx8e2Nvb2tpZToiIn19OwpNZD1mdW5jdGlvbihhKXthPShhLmouY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1hW2ZdLnRyaW0oKTt2YXIgZT1kLmluZGV4T2YoIj0iKTtlPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZCkpOihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy5OZD1mdW5jdGlvbigpe3ZhciBhPV8udS5fX1NBUElTSUR8fF8udS5fX0FQSVNJRHx8Xy51Ll9fM1BTQVBJU0lEfHxfLnUuX18xUFNBUElTSUR8fF8udS5fX09WRVJSSURFX1NJRDtpZihhKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoYT1uZXcgTGQoZG9jdW1lbnQpLGE9YS5nZXQoIlNBUElTSUQiKXx8YS5nZXQoIkFQSVNJRCIpfHxhLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8YS5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhYX07Ck9kPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udVthXSl8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoYT0obmV3IExkKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9KZChhLGMsZCk6bnVsbH07Cl8uUGQ9ZnVuY3Rpb24oYSl7dmFyIGI9R2QoXy51Py5sb2NhdGlvbi5ocmVmKSxjPVtdO2lmKF8uTmQoKSl7Yj1iLmluZGV4T2YoImh0dHBzOiIpPT0wfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTA7dmFyIGQsZT0oZD1iKT9fLnUuX19TQVBJU0lEOl8udS5fX0FQSVNJRDtlfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGU9bmV3IExkKGRvY3VtZW50KSxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/SmQoZSxkPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLGEpOm51bGwpJiZjLnB1c2goZCk7YiYmKChiPU9kKCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsYSkpJiZjLnB1c2goYiksKGE9T2QoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpfXJldHVybiBjLmxlbmd0aD09MD9udWxsOmMuam9pbigiICIpfTtTZD1mdW5jdGlvbihhKXtfLlFkP2EoXy5RZCk6KFJkPz8oUmQ9W10pKS5wdXNoKGEpfTtfLlZkPWZ1bmN0aW9uKCl7IV8uUWQmJl8uVGQmJl8uVWQoXy5UZCgpKTtyZXR1cm4gXy5RZH07Xy5VZD1mdW5jdGlvbihhKXtfLlFkPWE7UmQ/LmZvckVhY2goU2QpO1JkPXZvaWQgMH07Xy5XZD1mdW5jdGlvbihhKXtfLlFkJiZfLlFkLlJvKGEpfTtfLlhkPWZ1bmN0aW9uKCl7Xy5RZCYmXy5RZC55ZSgpfTsKWWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxfLnhkKCk7Yj1jLmo7dmFyIGQ9Yy5jcmVhdGVFbGVtZW50KCJTVFlMRSIpLGU9aGIoInN0eWxlIixiKTtlJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpO2QudHlwZT0idGV4dC9jc3MiO2M9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdO2Quc3R5bGVTaGVldD9kLnN0eWxlU2hlZXQuY3NzVGV4dD1hOmQuYXBwZW5kQ2hpbGQoYi5jcmVhdGVUZXh0Tm9kZShhKSk7Yy5hcHBlbmRDaGlsZChkKTtyZXR1cm4gZH07Xy5aZD1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy4kZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YjxjOysrYil7bGV0IGQ9YXJndW1lbnRzW2JdO18ueWEoZCk/Xy4kZC5hcHBseShudWxsLGQpOl8uWmQoZCl9fTtfLmFlPWZ1bmN0aW9uKCl7dGhpcy5ZPXRoaXMuWTt0aGlzLks9dGhpcy5LfTtiZT1mdW5jdGlvbigpe18uYWUuY2FsbCh0aGlzKX07CmNlPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9O2VlPWZ1bmN0aW9uKGEsYil7Xy5hZS5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuRD1iO3RoaXMuQj1kZT9udWxsOltdO3RoaXMudj1kZT9udWxsOltdO3RoaXMubz1kZT9udWxsOltdO3RoaXMuST0hMX07ZmU9ZnVuY3Rpb24oYSxiKXthLm98fChhLm89W10pO2Euby5wdXNoKG5ldyB2YS53ayhiLHZvaWQgMCkpfTtnZT1mdW5jdGlvbihhLGIsYyl7YS5CfHwoYS5CPVtdKTthLkIucHVzaChuZXcgdmEud2soYixjKSl9O2hlPWZ1bmN0aW9uKGEsYil7YS52fHwoYS52PVtdKTthLnYucHVzaChuZXcgdmEud2soYix2b2lkIDApKX07aWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uJGIoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07amU9ZnVuY3Rpb24oKXt0aGlzLlk9bnVsbH07CmtlPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LGM9Yi5zdHlsZVNoZWV0cy5sZW5ndGgsZD1ZZChhLG5ldyB1ZChiKSk7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtbGF0ZS1jc3MiLCIiKTtiLnN0eWxlU2hlZXRzLmxlbmd0aD09YysxJiZfLnZiKGIuc3R5bGVTaGVldHMsZT0+KGUub3duZXJOb2RlfHxlLm93bmluZ0VsZW1lbnQpPT1kKX07cWU9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz1sZShhKSxkPW5ldyBtZSxlPV8uTWIoYylbNV07b2QobmUsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaCgiLyIraCsiPShbXi9dKykiKTtrJiZvZShkLGgsa1sxXSl9KTt2YXIgZj0iIjtmPWEuaW5kZXhPZigiXy9zcy8iKSE9LTE/Il8vc3MvIjoiXy9qcy8iO3BlKGQsYS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpKTtpZighYilyZXR1cm4gZDsoYT1fLk1iKGMpWzZdfHxudWxsKSYmXy5SYihhLChoLGspPT57ZC52W2hdPWt9KTtyZXR1cm4gZH07CmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoImh0dHBzOi8vdWJlcnByb3h5LXBlbi1yZWRpcmVjdC5jb3JwLmdvb2dsZS5jb20vdWJlcnByb3h5L3Blbj91cmw9Iik/YS5zdWJzdHIoNjUpOmF9O3JlPWZ1bmN0aW9uKGEpe2E9Xy5RYihsZShhKSk7cmV0dXJuIGE9PT1udWxsPyExOlJlZ0V4cCgiKC9fL2pzLyl8KC9fL3NzLykiLCJnIikudGVzdChhKT8vXC9rPS8udGVzdChhKTohMX07b2U9ZnVuY3Rpb24oYSxiLGMpe2M/YS5qW2JdPWM6ZGVsZXRlIGEualtiXX07cGU9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnZlPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9ZD0+e2EualtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EualtkXSl9O3NlKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5qfHxvZShhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuai5leGNtfHxhLmouZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksdGUoYSwiYnIiKSE9IjEiJiZ0ZShhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLHRlKGEsInJiIik9PSIxIiYmYygicmIiKSx0ZShhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLHVlKGEpIT09IiImJmMoInd0IiksYygiZ3NzbW9kdWxlc2V0cHJvdG8iKSxjKCJ1amciKSxjKCJzcCIpLGMoImljaGMiKSwKYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9O3RlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEualtiXT9hLmpbYl06bnVsbH07c2U9ZnVuY3Rpb24oYSl7YT10ZShhLCJtZCIpO3JldHVybiEhYSYmYSE9PSIwIn07dWU9ZnVuY3Rpb24oYSl7c3dpdGNoKHRlKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTt3ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4bSIsYi5qb2luKCIsIikpKTpvZShhLCJleG0iLG51bGwpfTt4ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4Y20iLGIuam9pbigiLCIpKSk6b2UoYSwiZXhjbSIsbnVsbCl9Owp5ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10ZShhLCJtIikpP2Euc3BsaXQoIiwiKTpbXX07emU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIGluc3RhbmNlb2YgTWFwP0FycmF5LmZyb20oYi5lbnRyaWVzKCkpLmZpbHRlcigoWyxkXSk9PmQmJmQuc2l6ZT4wKS5tYXAoKFtkLGVdKT0+e2U9QXJyYXkuZnJvbShlKTtlLmxlbmd0aD4xJiZlLnNvcnQoKTtyZXR1cm4gZCsiOiIrZS5qb2luKCIsIil9KTpPYmplY3Qua2V5cyhiKS5maWx0ZXIoZD0+ISFPYmplY3Qua2V5cyhiW2RdKS5sZW5ndGgpLm1hcChkPT57dmFyIGU9T2JqZWN0LmtleXMoYltkXSk7ZS5sZW5ndGg+MSYmZS5zb3J0KCk7cmV0dXJuIGQrIjoiK2Uuam9pbigiLCIpfSk7Yy5zb3J0KCk7b2UoYSwiZWUiLGMuam9pbigiOyIpKX07CkNlPWZ1bmN0aW9uKGEpe2E9dGUoYSwiZWUiKTtpZihBZSl7aWYoIWEpcmV0dXJuIG5ldyBNYXA7dmFyIGI9bmV3IE1hcCxjPWEuc3BsaXQoIjsiKTtmb3IodmFyIGQgb2YgYyl7bGV0IFtmLGhdPWQuc3BsaXQoIjoiKTtjPW5ldyBTZXQ7Yi5zZXQoZixjKTtmb3IodmFyIGUgb2YgaC5zcGxpdCgiLCIpKWMuYWRkKGUpfXJldHVybiBifWlmKCFhKXJldHVybnt9O2Q9e307ZT1hLnNwbGl0KCI7Iik7Zm9yKGIgb2YgZSl7bGV0IFtmLGhdPWIuc3BsaXQoIjoiKTtkW2ZdPXt9O2ZvcihjIG9mIGguc3BsaXQoIiwiKSlkW2ZdW2NdPSEwfXJldHVybiBkfTtEZT1mdW5jdGlvbihhKXtkZWxldGUgYS5qLm07ZGVsZXRlIGEuai5leG07ZGVsZXRlIGEuai5lZH07CkVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJihhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSl7bGV0IGI9YS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7aWYoYj09IlNDUklQVCJ8fGI9PSJMSU5LIilyZXR1cm4gYX1yZXR1cm4gbnVsbH07RmU9ZnVuY3Rpb24oYT0iIixiKXtpZihhJiZiKXRocm93IEVycm9yKCJMIik7dmFyIGM9IiI7dmFyIGQ9Xy51Ll9GX2pzVXJsOyhhPWJ8fEVlKGEpKSYmKGM9YS5zcmM/YS5zcmM6YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYoZCYmYyl7aWYoZCE9Yyl0aHJvdyBFcnJvcigiTWAiK2QrImAiK2MpO2M9ZH1lbHNlIGM9ZHx8YztpZighcmUoYykpdGhyb3cgRXJyb3IoIk4iKTtyZXR1cm4gY307CkhlPWZ1bmN0aW9uKCl7aWYoIUdlKXtHZT0hMDt0cnl7dmFyIGE9RmUoXy51Ll9GX2pzVXJsPyIiOiJiYXNlLWpzIil9Y2F0Y2goYyl7cmV0dXJufXZhciBiPUNlKHFlKGEpKTtpZihiIGluc3RhbmNlb2YgTWFwKWIuc2l6ZSE9PTAmJlNkKGM9Pntmb3IobGV0IFtkLGVdb2YgYi5lbnRyaWVzKCkpe2xldCBmPWQsaD1lO2ZvcihsZXQgayBvZiBoKWMubmkoZixrKX19KTtlbHNle2xldCBjPU9iamVjdC5rZXlzKGIpO2MubGVuZ3RoIT09MCYmU2QoZD0+e2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1iW2VdO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhmKSlkLm5pKGUsaCl9fSl9fX07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5JZSYmYSBpbnN0YW5jZW9mIF8uSWU/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMubz0hMX07CktlPWZ1bmN0aW9uKGEsYil7Xy5KZS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmo9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Ck1lPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5oYW5kbGVyPWU7dGhpcy5rZXk9KytMZTt0aGlzLk5oPXRoaXMuemk9ITF9O05lPWZ1bmN0aW9uKGEpe2EuTmg9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTtPZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuaj0wfTtQZT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEubGlzdGVuZXJzJiZfLnhiKGEubGlzdGVuZXJzW2NdLGIpJiYoTmUoYiksYS5saXN0ZW5lcnNbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEubGlzdGVuZXJzW2NdLGEuai0tKSl9OwpRZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5OaCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuaGFuZGxlcj09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy5TZT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gUmUoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLlNlKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1UZShjKTtyZXR1cm4gYSYmYVtVZV0/YS5saXN0ZW4oYixjLF8uQWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlZlKGEsYixjLCExLGQsZSl9OwpWZT1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoIk8iKTt2YXIgaD1fLkFhKGUpPyEhZS5jYXB0dXJlOiEhZSxrPVdlKGEpO2t8fChhW1hlXT1rPW5ldyBPZShhKSk7Yz1rLmFkZChiLGMsZCxoLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1ZZSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChaZShiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIlAiKTskZSsrO3JldHVybiBjfTtZZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGIuY2FsbChhLnNyYyxhLmxpc3RlbmVyLGMpfXZhciBiPWFmO3JldHVybiBhfTsKUmU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylSZShhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9VGUoYyk7cmV0dXJuIGEmJmFbVWVdP18uYmYoYSxiLGMsXy5BYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6VmUoYSxiLGMsITAsZCxlKX07Xy5jZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5jZihhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLkFhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPVRlKGMpLGEmJmFbVWVdKT9hLm8ucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9V2UoYSkpJiYoYj1hLmxpc3RlbmVyc1tiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9UWUoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5kZihjKSl9OwpfLmRmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLk5oKXt2YXIgYj1hLnNyYztpZihiJiZiW1VlXSlQZShiLm8sYSk7ZWxzZXt2YXIgYz1hLnR5cGUsZD1hLnByb3h5O2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxkLGEuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudD9iLmRldGFjaEV2ZW50KFplKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7JGUtLTsoYz1XZShiKSk/KFBlKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW1hlXT1udWxsKSk6TmUoYSl9fX07WmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gZWY/ZWZbYV06ZWZbYV09Im9uIithfTthZj1mdW5jdGlvbihhLGIpe2lmKGEuTmgpYT0hMDtlbHNle2I9bmV3IEtlKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEuaGFuZGxlcnx8YS5zcmM7YS56aSYmXy5kZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTsKV2U9ZnVuY3Rpb24oYSl7YT1hW1hlXTtyZXR1cm4gYSBpbnN0YW5jZW9mIE9lP2E6bnVsbH07VGU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbZmZdfHwoYVtmZl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtmZl19O18uZ2Y9ZnVuY3Rpb24oKXtfLmFlLmNhbGwodGhpcyk7dGhpcy5vPW5ldyBPZSh0aGlzKTt0aGlzLkZhPXRoaXM7dGhpcy5NPW51bGx9O18uYmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5vLmFkZChTdHJpbmcoYiksYywhMCxkLGUpfTsKaGY9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLm8ubGlzdGVuZXJzW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgaD1iW2ZdO2lmKGgmJiFoLk5oJiZoLmNhcHR1cmU9PWMpe2xldCBrPWgubGlzdGVuZXIsbD1oLmhhbmRsZXJ8fGguc3JjO2guemkmJlBlKGEubyxoKTtlPWsuY2FsbChsLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtsZj1mdW5jdGlvbigpe3ZhciBhPV8uamY7a2YuaW5zdGFuY2V8fChrZi5pbnN0YW5jZT1uZXcga2YoYSkpO3JldHVybiBrZi5pbnN0YW5jZX07Cm1mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQj9hLkI6YS5CPW5ldyBQcm9taXNlKGFzeW5jIGM9Pnt2YXIgZD13aW5kb3cuQWJvcnRDb250cm9sbGVyP25ldyB3aW5kb3cuQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/LnNpZ25hbCxmPSExO3RyeXtkJiYoYS5qPWEuRGMucGIoKCk9PntkLmFib3J0KCl9LGJ8fDJFNCkpLGF3YWl0IGZldGNoKCIvZ2VuZXJhdGVfMjA0Iix7bWV0aG9kOiJIRUFEIixzaWduYWw6ZX0pLGY9ITB9Y2F0Y2h7Zj0hMX1maW5hbGx5e2EuQj12b2lkIDAsYS5qJiYoYS5EYy5BYShhLmopLGEuaj0wKSxmIT09YS5pc09ubGluZSYmKGEuaXNPbmxpbmU9ZixhLmlzT25saW5lP2EuZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTphLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxjKGYpfX0pfTsKbmY9ZnVuY3Rpb24oYSl7YS5EPWEuRGMucGIoYXN5bmMoKT0+e2EuaXNPbmxpbmU/d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHxhd2FpdCBtZihhKTphd2FpdCBtZihhKTtuZihhKX0sM0U0KX07b2Y9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChjLGQpPT57YT1jO2I9ZH0pLHJlc29sdmU6YSxyZWplY3Q6Yn19O3JmPWZ1bmN0aW9uKGEpe3ZhciB7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH09b2YoKTtwZi5zZXQoYSx7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH0pO3FmfHwocWY9W10scXVldWVNaWNyb3Rhc2soKCk9Pnt2YXIgZT1bLi4ucWZdO3FmPW51bGw7dmFyIGY9Xy5WZCgpLmFmKGUpO2ZvcihsZXQgaCBvZiBlKWZbaF0udGhlbihwZi5nZXQoaCkucmVzb2x2ZSxwZi5nZXQoaCkucmVqZWN0KX0pKTtxZi5wdXNoKGEpO3JldHVybiBifTsKXy5zZj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTt0Zj1mdW5jdGlvbihhLGIpe2EuQihiKTthLm88MTAwJiYoYS5vKyssYi5uZXh0PWEuaixhLmo9Yil9O3hmPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9dWYucmVtb3ZlKCk7KXt0cnl7YS5mbi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uJGIoYil9dGYodmYsYSl9d2Y9ITF9O18ueWY9ZnVuY3Rpb24oYSl7YS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITB9O3pmPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5CZj1mdW5jdGlvbihhLGIpe3RoaXMuaj0wO3RoaXMuST12b2lkIDA7dGhpcy5CPXRoaXMubz10aGlzLnY9bnVsbDt0aGlzLkQ9dGhpcy5LPSExO2lmKGEhPV8uZ2QpdHJ5e2xldCBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5BZihjLDIsZCl9LGZ1bmN0aW9uKGQpe18uQWYoYywzLGQpfSl9Y2F0Y2goYyl7Xy5BZih0aGlzLDMsYyl9fTtDZj1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5qPXRoaXMubz10aGlzLmNoaWxkPW51bGw7dGhpcy52PSExfTtfLkVmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1EZi5nZXQoKTtkLm89YTtkLmo9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07Xy5IZj1mdW5jdGlvbihhLGIsYyl7RmYoYSxiLGMsbnVsbCl8fEdmKF8uRGEoYixhKSl9OwpfLklmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZCl7dmFyIGY9ZnVuY3Rpb24obCxtKXtkLS07ZVtsXT1tO2Q9PTAmJmIoZSl9LGg9ZnVuY3Rpb24obCl7YyhsKX07Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBrPWFbbF07Xy5IZihrLF8uRGEoZixsKSxoKX19ZWxzZSBiKGUpfSl9O0tmPWZ1bmN0aW9uKGEsYixjLGQpe18uSmYoYSxfLkVmKGJ8fF8uZ2QsY3x8bnVsbCxkKSl9OwpMZj1mdW5jdGlvbihhLGIpe2lmKGEuaj09MClpZihhLnYpe3ZhciBjPWEudjtpZihjLm8pe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGg9Yy5vO2gmJihoLnZ8fChkKyssaC5jaGlsZD09YSYmKGU9aCksIShlJiZkPjEpKSk7aD1oLm5leHQpZXx8KGY9aCk7ZSYmKGMuaj09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkImJihjLkI9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEudj1udWxsfWVsc2UgXy5BZihhLDMsYil9O18uSmY9ZnVuY3Rpb24oYSxiKXthLm98fGEuaiE9MiYmYS5qIT0zfHxPZihhKTthLkI/YS5CLm5leHQ9YjphLm89YjthLkI9Yn07ClFmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uRWYobnVsbCxudWxsLG51bGwpO2UuY2hpbGQ9bmV3IF8uQmYoZnVuY3Rpb24oZixoKXtlLm89Yj9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChsKXtoKGwpfX06ZjtlLmo9Yz9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8uUGY/aChrKTpmKGwpfWNhdGNoKGwpe2gobCl9fTpofSk7ZS5jaGlsZC52PWE7Xy5KZihhLGUpO3JldHVybiBlLmNoaWxkfTtfLkFmPWZ1bmN0aW9uKGEsYixjKXthLmo9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIlEiKSksYS5qPTEsRmYoYyxhLm5CLGEub0IsYSl8fChhLkk9YyxhLmo9YixhLnY9bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5QZnx8UmYoYSxjKSkpfTsKRmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSBpbnN0YW5jZW9mIF8uQmYpcmV0dXJuIEtmKGEsYixjLGQpLCEwO2lmKHpmKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uQWEoYSkpdHJ5e2xldCBlPWEudGhlbjtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIFNmKGEsZSxiLGMsZCksITB9Y2F0Y2goZSl7cmV0dXJuIGMuY2FsbChkLGUpLCEwfXJldHVybiExfTtTZj1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYobCl7a3x8KGs9ITAsZC5jYWxsKGUsbCkpfWZ1bmN0aW9uIGgobCl7a3x8KGs9ITAsYy5jYWxsKGUsbCkpfXZhciBrPSExO3RyeXtiLmNhbGwoYSxoLGYpfWNhdGNoKGwpe2YobCl9fTtPZj1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsR2YoYS50dCxhKSl9O01mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5vJiYoYj1hLm8sYS5vPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5vfHwoYS5CPW51bGwpO3JldHVybiBifTsKTmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5qJiYhYi52KWZvcig7YSYmYS5EO2E9YS52KWEuRD0hMTtpZihiLmNoaWxkKWIuY2hpbGQudj1udWxsLFRmKGIsYyxkKTtlbHNlIHRyeXtiLnY/Yi5vLmNhbGwoYi5jb250ZXh0KTpUZihiLGMsZCl9Y2F0Y2goZSl7Xy5VZi5jYWxsKG51bGwsZSl9dGYoRGYsYil9O1RmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euby5jYWxsKGEuY29udGV4dCxjKTphLmomJmEuai5jYWxsKGEuY29udGV4dCxjKX07UmY9ZnVuY3Rpb24oYSxiKXthLkQ9ITA7R2YoZnVuY3Rpb24oKXthLkQmJl8uVWYuY2FsbChudWxsLGIpfSl9O18uUGY9ZnVuY3Rpb24oYSl7Xy5MYS5jYWxsKHRoaXMsYSl9O1dmPWZ1bmN0aW9uKGEpe3JldHVybiBWZihhKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBKU09OLnBhcnNlKGIucmVzcG9uc2VUZXh0KX0pfTsKVmY9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuKG5ldyBfLkJmKGZ1bmN0aW9uKGQsZSl7dmFyIGY7dHJ5e2Mub3BlbigiR0VUIixhLCEwKX1jYXRjaChoKXtlKG5ldyBYZigiRXJyb3Igb3BlbmluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfWMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYy5yZWFkeVN0YXRlPT00KXtfLnUuY2xlYXJUaW1lb3V0KGYpO3ZhciBoOyEoaD1fLnNmKGMuc3RhdHVzKSkmJihoPWMuc3RhdHVzPT09MCkmJihoPV8uT2IoYSksaD0hKGg9PSJodHRwInx8aD09Imh0dHBzInx8aD09IiIpKTtoP2QoYyk6ZShuZXcgWWYoYy5zdGF0dXMsYSxjKSl9fTtjLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG5ldyBYZigiTmV0d29yayBlcnJvciIsYSxjKSl9O2lmKGIuaGVhZGVycylmb3IobGV0IGggaW4gYi5oZWFkZXJzKXtsZXQgaz1iLmhlYWRlcnNbaF07ayE9bnVsbCYmYy5zZXRSZXF1ZXN0SGVhZGVyKGgsayl9Yi53aXRoQ3JlZGVudGlhbHMmJgooYy53aXRoQ3JlZGVudGlhbHM9Yi53aXRoQ3JlZGVudGlhbHMpO2IucmVzcG9uc2VUeXBlJiYoYy5yZXNwb25zZVR5cGU9Yi5yZXNwb25zZVR5cGUpO2IubWltZVR5cGUmJmMub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKTtiLnRpbWVvdXRNcz4wJiYoZj1fLnUuc2V0VGltZW91dChmdW5jdGlvbigpe2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57fTtjLmFib3J0KCk7ZShuZXcgWmYoYSxjKSl9LGIudGltZW91dE1zKSk7dHJ5e2Muc2VuZChudWxsKX1jYXRjaChoKXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e30sXy51LmNsZWFyVGltZW91dChmKSxlKG5ldyBYZigiRXJyb3Igc2VuZGluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfX0pKS5LZyhmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5QZiYmYy5hYm9ydCgpO3Rocm93IGQ7fSl9O1hmPWZ1bmN0aW9uKGEsYil7Xy5MYS5jYWxsKHRoaXMsYSsiLCB1cmw9IitiKTt0aGlzLnVybD1ifTsKWWY9ZnVuY3Rpb24oYSxiLGMpe1hmLmNhbGwodGhpcywiUmVxdWVzdCBGYWlsZWQsIHN0YXR1cz0iK2EsYixjKTt0aGlzLnN0YXR1cz1hfTtaZj1mdW5jdGlvbihhLGIpe1hmLmNhbGwodGhpcywiUmVxdWVzdCB0aW1lZCBvdXQiLGEsYil9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlPWIpe3ZhciBmPWIubGVuZ3RoLGg9KCk9PntmPTA7YS5vbmxvYWQ9bnVsbDthLm9uZXJyb3I9bnVsbDtrPSgpPT57fX0saz0oKT0+e2goKTt2YXIgbT1lLmZpbHRlcihuPT4hXy5WZCgpLkxhKG4pLmlzTG9hZGVkKCkpO20ubGVuZ3RoIT09MD9kKG0sYFJlc3BvbnNlIHdhcyBzdWNjZXNzZnVsIGJ1dCB3YXMgbWlzc2luZyBtb2R1bGUocykgJHttfS5gKTpjKCl9LGw9KCk9PntmLS07Zj09MCYmaygpfTtiLmZvckVhY2gobT0+e209Xy5WZCgpLkxhKG0pO20uaXNMb2FkZWQoKT9sKCk6KGZlKG0sbCksaGUobSxsKSl9KTthLm9ubG9hZD0oKT0+aygpO2Eub25lcnJvcj0oKT0+e2goKTtkKGIpfX07Cl8uYWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPVtdO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7KytlKXtsZXQgZj1iW2VdO2EuQltmXXx8KGEuQltmXT0hMCxhLloucHVzaChmKSxjPSEwLGQucHVzaChmKSl9YyYmKGEub2E9ITEpfTtiZz1mdW5jdGlvbihhLGIpe2lmKGIuaHJlZnx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKWlmKGI9Yi5ocmVmfHxiLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikscmUoYikmJiFxZShiKS5vLmVuZHNXaXRoKCJfL2pzLyIpKXtiPXllKHFlKGIpKTtmb3IobGV0IGMgb2YgYilhLmhhLmluY2x1ZGVzKGMpfHxhLmhhLnB1c2goYyl9fTtkZz1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPSgpPT57fSxmPSExKXtjZyhhLGIsKGgsayxsPWspPT57YS5NYSYmZj9hLlFhKGgsayxkLGUsbCk6YS5sb2FkKGgsayxkLGUsbCxjKX0sYyl8fGQoLTEpfTtlZz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbHRlcihjPT4hYS5CW2NdKX07CmZnPWZ1bmN0aW9uKGEsYixjLHtZZDpkLG9uRXJyb3I6ZSxvblN1Y2Nlc3M6Zixmb3JjZVJlbG9hZDpofT17fSl7YS5NPWM7aWYoIWIpdGhyb3cgRXJyb3IoIlMiKTtpZihhLlZkKXtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIikpYmcoYSxrKTtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSliZyhhLGspfWRnKGEsZWcoYSxiKSxkLGUsZixoKX07CmNnPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEudilyZXR1cm4gYS52LnRoZW4oKCk9PntjZyhhLGIsYyxkKX0pLCEwO2lmKCFhLkQpe2xldCBmPVtdO3ZhciBlPU9iamVjdC5hc3NpZ24oe30sYS5CKTtnZyhhLGIsaD0+e2YucHVzaChoLmdldElkKCkpfSxkLGg9PiFoLmlzTG9hZGVkKCksZSk7Yj1mfWZvcihlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWIubGVuZ3RoLWUsaD1lPT0wP2I6Yi5zbGljZShlLGIubGVuZ3RoKSxrPWhnKGEsaCxkKSxsPV8uVWEoaykudG9TdHJpbmcoKTtmb3IoO2wubGVuZ3RoPmEuZGk7KWlmKGY+MSlmLT1NYXRoLmNlaWwoKGwubGVuZ3RoLWEuZGkpLzYpLGY9TWF0aC5tYXgoZiwxKSxoPWIuc2xpY2UoZSxlK2YpLGs9aGcoYSxoLGQpLGw9Xy5VYShrKS50b1N0cmluZygpO2Vsc2UgcmV0dXJuIGEuRD8oYS5EPSExLGEudj1pZyhhKS50aGVuKG09PntqZyhhLG0sZCl9KSxjZyhhLGIuc2xpY2UoZSksYyxkKSk6ITE7ZSs9ZjthLkQ/YyhrLGgpOmMoayxoLGU9PT1iLmxlbmd0aD8KYjpbXSl9cmV0dXJuITB9O2tnPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPSEwLGEuWi5zb3J0KCkpO3JldHVybiBhLlp9O2xnPWZ1bmN0aW9uKGEpe2E9YS5oYTthLnNvcnQoKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLkQ/bWcoYS5ZLGIse2Nzc1Jvd0tleTphLkZhLEtlOmEueWEsWWQ6YyxtbjprZyhhKSxsbjpsZyhhKX0pOm5nKGEuWSxiLHtjc3NSb3dLZXk6YS5GYSxLZTphLnlhLG1uOmtnKGEpLGxuOmxnKGEpfSl9O18ub2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoOysrZCl7bGV0IGU9YltkXTthLkJbZV0mJihkZWxldGUgYS5CW2VdLF8ueGIoYS5aLGUpLGMucHVzaChlKSl9fTsKXy5wZz1mdW5jdGlvbihhLGIsYyxkLGUsZixoPWQpe2EuST1jO2EuZ2EuaW5zZXJ0QmVmb3JlKGMsYS5nYS5maXJzdENoaWxkKTtfLiRmKGMsZCwoKT0+e2MucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjKTthLkk9PWMmJihhLkk9bnVsbCk7ZigpfSxrPT57Yy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGMpO2EuST09YyYmKGEuST1udWxsKTtfLm9nKGEsayk7YS52P2Eudi50aGVuKCgpPT57ZSgtMSxiKX0pOmUoLTEsYil9LGgpfTtnZz1mdW5jdGlvbihhLGIsYyxkLGUsZj17fSl7dmFyIGg9Xy5WZCgpO2ZvcihsZXQgayBvZiBiKXtiPWguTGEoayk7aWYoZltrXXx8ZSYmIWUoYikpY29udGludWU7ZltrXT0hMDtsZXQgbD1iLmp8fFtdO2lmKGQpe2xldCBtPVtdO2lmKGQgaW5zdGFuY2VvZiBNYXApe2xldCBuPWQuZ2V0KGspO24mJihtPUFycmF5LmZyb20obikpfWVsc2UgZFtrXSYmKG09T2JqZWN0LmtleXMoZFtrXSkpO2w9bC5jb25jYXQobSl9Z2coYSxsLGMsZCxlLGYpO2MoYil9fTsKaWc9ZnVuY3Rpb24oYSl7YT1hLlkuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwibWQiLCIxIik7cmV0dXJuIFdmKGEudG9TdHJpbmcoKSl9O2pnPWZ1bmN0aW9uKGEsYixjKXtfLlZkKCkuVGgoKGJ8fHt9KS5tb2R1bGVHcmFwaCk7Z2coYSxrZyhhKSxkPT57Xy5hZyhhLFtkLmdldElkKCldKX0sYyk7YS52PW51bGx9O3JnPWZ1bmN0aW9uKGEpe2E9YS5idWYuY2hhckNvZGVBdChhLnBvcysrKTtyZXR1cm4gcWdbYV19O3NnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz0wO2Rve3ZhciBkPXJnKGEpO2J8PShkJjMxKTw8YztjKz01fXdoaWxlKGQmMzIpO3JldHVybiBiPDA/Yis0Mjk0OTY3Mjk2OmJ9O3RnPWZ1bmN0aW9uKGEsYil7dGhpcy5EPVtdO3RoaXMuWj1hO3RoaXMuVT1ifHxudWxsO3RoaXMuQj10aGlzLmo9ITE7dGhpcy52PXZvaWQgMDt0aGlzLk09dGhpcy5nYT10aGlzLkk9ITE7dGhpcy5LPTA7dGhpcy5vPW51bGw7dGhpcy5ZPTB9Owp2Zz1mdW5jdGlvbihhLGIsYyl7YS5qPSEwO2Eudj1jO2EuQj0hYjt1ZyhhKX07eGc9ZnVuY3Rpb24oYSl7aWYoYS5qKXtpZighYS5NKXRocm93IG5ldyB3ZyhhKTthLk09ITF9fTt6Zz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmo7ZXx8KGI9PT1jP2I9Yz0oMCxfLnlnKShiKTooYj0oMCxfLnlnKShiKSxjPSgwLF8ueWcpKGMpKSk7YS5ELnB1c2goW2IsYyxkXSk7ZSYmdWcoYSl9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBfLnViKGEuRCxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9Owp1Zz1mdW5jdGlvbihhKXtpZihhLksmJmEuaiYmQWcoYSkpe3ZhciBiPWEuSyxjPUJnW2JdO2MmJihfLnUuY2xlYXJUaW1lb3V0KGMuaiksZGVsZXRlIEJnW2JdKTthLks9MH1hLm8mJihhLm8uWS0tLGRlbGV0ZSBhLm8pO2I9YS52O2Zvcih2YXIgZD1jPSExO2EuRC5sZW5ndGgmJiFhLkk7KXt2YXIgZT1hLkQuc2hpZnQoKSxmPWVbMF07bGV0IGs9ZVsxXTtlPWVbMl07aWYoZj1hLkI/azpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5VLGIpO2g9PT1DZyYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5CPWEuQiYmKGg9PWJ8fGEuaXNFcnJvcihoKSksYS52PWI9aCk7aWYoemYoYil8fHR5cGVvZiBfLnUuUHJvbWlzZT09PSJmdW5jdGlvbiImJmIgaW5zdGFuY2VvZiBfLnUuUHJvbWlzZSlkPSEwLGEuST0hMH1jYXRjaChsKXtiPWwsYS5CPSEwLEFnKGEpfHwoYz0hMCl9fWEudj1iO2QmJihoPSgwLF8uQ2EpKGEuc3AsYSwhMCksZD0oMCxfLkNhKShhLnNwLGEsITEpLGIgaW5zdGFuY2VvZiB0Zz8KKHpnKGIsaCxkKSxiLmdhPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IERnKGIpLEJnW2Iual09YixhLks9Yi5qKX07RWc9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRnO2EudGhlbihmdW5jdGlvbihjKXtiLmNhbGxiYWNrKGMpfSxmdW5jdGlvbihjKXt4ZyhiKTt2ZyhiLCExLGMpfSk7cmV0dXJuIGJ9O3dnPWZ1bmN0aW9uKCl7Xy5MYS5jYWxsKHRoaXMpfTtGZz1mdW5jdGlvbigpe18uTGEuY2FsbCh0aGlzKX07RGc9ZnVuY3Rpb24oYSl7dGhpcy5qPV8udS5zZXRUaW1lb3V0KCgwLF8uQ2EpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLm89YX07CkhnPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgR2cuVHlwZS5wbzpyZXR1cm4iVW5hdXRob3JpemVkIjtjYXNlIEdnLlR5cGUucGs6cmV0dXJuIkNvbnNlY3V0aXZlIGxvYWQgZmFpbHVyZXMiO2Nhc2UgR2cuVHlwZS5USU1FT1VUOnJldHVybiJUaW1lZCBvdXQiO2Nhc2UgR2cuVHlwZS5obzpyZXR1cm4iT3V0IG9mIGRhdGUgbW9kdWxlIGlkIjtjYXNlIEdnLlR5cGUudWs6cmV0dXJuIkluaXQgZXJyb3IiO2RlZmF1bHQ6cmV0dXJuYFVua25vd24gZmFpbHVyZSB0eXBlICR7YS50eXBlfWB9fTsKSWc9ZnVuY3Rpb24oKXt0aGlzLmhhPXRoaXMuWT1udWxsO3RoaXMuRD1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMuSz1bXTt0aGlzLlU9bmV3IFNldDt0aGlzLnY9W107dGhpcy5JPW5ldyBTZXQ7dGhpcy5qPUFlP25ldyBNYXA6e307dGhpcy5NPW5ldyBNYXA7dGhpcy5vPXRoaXMuWj1uZXcgdmEuT2coW10sIiIpO3RoaXMueWE9bnVsbDt0aGlzLmdhPW5ldyB0Zzt0aGlzLkZhPXRoaXMuUWE9dGhpcy5NYT10aGlzLm9hPSExfTtKZz1mdW5jdGlvbihhLGIpe18uTGEuY2FsbCh0aGlzLGBFcnJvciBsb2FkaW5nICR7YX06ICR7Yn1gKX07Ck9nPWZ1bmN0aW9uKGEsYil7aWYoIUtnKXtmb3IodmFyIGM9MDtjPDY0O2MrKylxZ1siQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckNvZGVBdChjKV09YztLZz0hMH1iPXtidWY6Yixwb3M6Mn07c2coYik7Yz1zZyhiKTt2YXIgZD1zZyhiKSsxLGU9QXJyYXkoYyksZj1BcnJheShjKSxoPUFycmF5KGMpO2Q9QXJyYXkoZCk7dmFyIGs9MCxsPTAsbT1iLmJ1ZixuPWIucG9zLHA9Yi5idWYuaW5kZXhPZigifCIsYi5wb3MpO2IucG9zPXArMTtmb3IocD0wO3A8YztwKyspe3ZhciByPXNnKGIpLHQ9ciYyLHY9ciYxO3I+Pj49Mjt2PyhrKz1yPj4+MV4tKHImMSkscj0ic3kiK2sudG9TdHJpbmcoMzYpKToodj1uLG4rPXIscj1tLnN1YnN0cmluZyh2LG4pKTtlW3BdPXI7dCYmKGRbbCsrXT1yKX1kW2xdPSIiO2IucG9zKys7bD1jJi0yO2s9YyYxO2ZvcihtPTA7bTxsO20rPTIpbj1yZyhiKSxoW21dPW4mNyxoW20rMV09Cm4+Pj4zJjc7ayYmKGs9cmcoYiksaFtsXT1rJjcpO2IucG9zKys7Zm9yKGw9MDtsPGM7bCsrKWhbbF09PT03JiYoaFtsXT1zZyhiKSk7Yi5wb3MrKztsPTA7Zm9yKGs9MDtrPGM7aysrKXttPWhba107bj1tPT09MD9MZzpBcnJheShtKTtmW2tdPW47cD1sO2Zvcih0PTA7dDxtO3QrKylwLT1zZyhiKSxuW3RdPWRbcF07ZFtsXT09PWVba10mJmwrK312YXIge2lkczp6LGRlcGVuZGVuY2llczpFfT17aWRzOmUsZGVwZW5kZW5jaWVzOmZ9O2ZvcihiPTA7Yjx6Lmxlbmd0aDtiKyspTmcoYSx6W2JdLEVbYl0pO2EuaGE9en07Umc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NYSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoUGcoYSxjP1FnLk1zOlFnLklETEUpLGEuTWE9Yyk7Yj1hLkZxKCk7YiE9YS5RYSYmKFBnKGEsYj9RZy5odTpRZy5pdSksYS5RYT1iKX07Tmc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRC5nZXQoYik7ZD9kLmo9YzphLkQuc2V0KGIsbmV3IHZhLk9nKGMsYikpfTsKVGc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoYik7Yj1bXTt2YXIgZT17fTtmb3IobGV0IGYgb2YgZCl7ZD1hLkxhKGYpO2lmKCFkKXRocm93IEVycm9yKCJVYCIrZik7bGV0IGg9bmV3IHRnO2VbZl09aDtkLmlzTG9hZGVkKCk/aC5jYWxsYmFjayhudWxsKTooU2coYSxmLGQsISFjLGgpLGEudWgoZil8fGIucHVzaChmKSl9Yi5sZW5ndGg+MCYmKGEuQi5zaXplPT09MD9hLnNqKGIpOihhLnYucHVzaChiKSxSZyhhKSkpO3JldHVybiBlfTtTZz1mdW5jdGlvbihhLGIsYyxkLGUpe2dlKGMsZS5jYWxsYmFjayxlKTtoZShjLGZ1bmN0aW9uKGYpe2Y9bmV3IEpnKGIsZik7eGcoZSk7dmcoZSwhMSxmKX0pO2EudWgoYik/ZCYmKGEuSS5hZGQoYiksUmcoYSkpOmQmJmEuSS5hZGQoYil9OwpVZz1mdW5jdGlvbihhLGIpe2lmKCFhLm8uaGFzKGIpJiYoYS5vLmFkZChiKSwhYS5qLlUuaGFzKGIpKSl7dmFyIGM9YS5qLkxhKGIpO2lmKGMmJiFjLmlzTG9hZGVkKCkpe2M9Yy5qO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKVVnKGEsY1tkXSk7YS5yZXN1bHQucHVzaChiKX19fTtZZz1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZT0+YS5ELmdldChlKS5pc0xvYWRlZCgpPyhfLnUuc2V0VGltZW91dCgoKT0+RXJyb3IoIlhgIitlKSwwKSwhMSk6ITApO2lmKFZnKXt2YXIgYz1uZXcgV2coYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspVWcoYyxiW2RdKTtjPWMucmVzdWx0fWVsc2V7Yz1bXTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoWGcoYSxiW2RdKSk7QWIoYyl9cmV0dXJuIWEub2EmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEudj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS52KSxbYl0pOmN9OwpYZz1mdW5jdGlvbihhLGIpe2lmKFZnKXJldHVybiBhPW5ldyBXZyhhKSxVZyhhLGIpLGEucmVzdWx0O3ZhciBjPVtdO2EuVS5oYXMoYil8fGMucHVzaChiKTtiPVtiXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YS5MYShiW2RdKS5qO2ZvcihsZXQgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKXtsZXQgaD1lW2ZdO2EuTGEoaCkuaXNMb2FkZWQoKXx8YS5VLmhhcyhoKXx8KGMucHVzaChoKSxiLnB1c2goaCkpfX1jLnJldmVyc2UoKTtBYihjKTtyZXR1cm4gY307CmJoPWZ1bmN0aW9uKGEsYixjLGQsZSxmPTAsaD0hMSl7dmFyIGs9aD8wOmYrMTtmPV8ueWIoYyk7YS5LPWI7Zm9yKGxldCBsIG9mIGMpYS5VLmRlbGV0ZShsKTtpZihkPT00MDEpWmcoYSxuZXcgdmEub2IodmEub2IuVHlwZS5wbyxkKSksYS52Lmxlbmd0aD0wO2Vsc2UgaWYoZD09NDEwKSRnKGEsbmV3IHZhLm9iKHZhLm9iLlR5cGUuaG8sZCkpLGFoKGEpO2Vsc2UgaWYoaz49MylbLi4uYS5CXSwkZyhhLG5ldyB2YS5vYih2YS5vYi5UeXBlLnBrLGQsZixlKSksYWgoYSk7ZWxzZXtbLi4uYS5CXTtsZXQgbD1kPT04MDAxfHwhMTsoYz1NYXRoLnBvdyhrLDIpKjVFMyk/Xy51LnNldFRpbWVvdXQoKCk9PnthLnNqKGIsayxsKX0sYyk6YS5zaihiLGssbCl9fTskZz1mdW5jdGlvbihhLGIpe2EuSy5sZW5ndGg+MT9hLnY9YS5LLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS52KTpaZyhhLGIpfTsKWmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLks7YS5CLmNsZWFyKCk7dmFyIGQ9W107Zm9yKHZhciBlPTA7ZTxhLnYubGVuZ3RoO2UrKyl7dmFyIGY9YS52W2VdLmZpbHRlcihmdW5jdGlvbihoKXt2YXIgaz1YZyh0aGlzLGgpO3JldHVybiBfLnViKGMsZnVuY3Rpb24obCl7cmV0dXJuIF8uc2IoayxsKT49MH0pfSxhKTt6YihkLGYpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspd2IoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS52Lmxlbmd0aDtmKyspXy54YihhLnZbZl0sZFtlXSk7YS5JLmRlbGV0ZShkW2VdKX1pZihlPWEuTS5nZXQoUWcuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspe2xldCBoPWVbZl07Zm9yKGxldCBrPTA7azxkLmxlbmd0aDtrKyspaChRZy5FUlJPUixkW2tdLGIpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspaWYoZT1hLkQuZ2V0KGNbZF0pKWUub25FcnJvcihiKTthLksubGVuZ3RoPTA7UmcoYSl9OwphaD1mdW5jdGlvbihhKXtmb3IoO2Eudi5sZW5ndGg7KXtsZXQgYj1hLnYuc2hpZnQoKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIXRoaXMuTGEoYykuaXNMb2FkZWQoKX0sYSk7aWYoYi5sZW5ndGg+MCl7YS5zaihiKTtyZXR1cm59fVJnKGEpfTtQZz1mdW5jdGlvbihhLGIpe2E9YS5NLmdldChiKTtmb3IobGV0IGM9MDthJiZjPGEubGVuZ3RoO2MrKylhW2NdKGIpfTtjaD1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgZiBvZiBiKWI9YS5MYShmKSwhZS5oYXMoZikmJmQoYikmJihlLmFkZChmKSxjaChhLGIuanx8W10sYyxkLGUpLGMoYikpfTsKZmg9ZnVuY3Rpb24oKXt2YXIgYT17RXU6IkJBVENIIn0sYj1hLmNzc1Jvd0tleXx8IiIsYz1hLktlfHwiIjshYS54SSYmIWImJndpbmRvdyYmd2luZG93Ll9GX2Nzc1Jvd0tleSYmKGI9d2luZG93Ll9GX2Nzc1Jvd0tleSwhYyYmd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoYz13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZighYS5jc3NSb3dLZXkmJmImJnR5cGVvZiB3aW5kb3cuX0ZfaW5zdGFsbENzcyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIloiKTt2YXIgZD1hLk5KfHxfLmRoLGU9RWUoImJhc2UtanMiKTtiPW5ldyBkKEdiKEZlKCIiLGUpKSxiLGMsITAsITEpO2M9YS5wTHx8ZSYmZS5oYXNBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik7ZT1hLmxJfHxlJiZlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKTtjJiYoYi5maT1jKTtlJiYoYi5XZz1lKTthLmRpJiYoYi5kaT1hLmRpKTthLmZldGNoUHJpb3JpdHkmJihiLmZldGNoUHJpb3JpdHk9YS5mZXRjaFByaW9yaXR5KTsKdmFyIGY9Xy5WZCgpO2YuWT1iO2YuUnIoITApO18uZWg9YS5FdT09PSJCQVRDSCI/cmY6aD0+UHJvbWlzZS5yZXNvbHZlKGYubG9hZChoKSl9O2loPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT4hYS51aChjKSYmIWEuTGEoYykuaXNMb2FkZWQoKSk7Yi5sZW5ndGg+MCYmKGdoKGEsLi4uYiksYS5LLnB1c2goYiksaGgoYSkpfTtqaD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5CZigoYyxkKT0+e3ZhciBlPWEuTGEoYik7ZS5pc0xvYWRlZCgpP2MobnVsbCk6KGdlKGUsKCk9PntjKG51bGwpfSksaGUoZSxmPT57dmFyIGg9YEVycm9yIGxvYWRpbmcgJHtifTogJHtmfWA7ZiBpbnN0YW5jZW9mIHZhLm9iJiZmLnVybCYmKGg9YCR7aH0sIHJlcXVlc3RlZCB1cmw6ICR7Zi51cmwudG9TdHJpbmcoKX1gKTtkKEVycm9yKGgpKX0pKX0pfTsKa2g9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ITAsZT17fSl7Zm9yKGxldCBmIG9mIGIpYj1hLkxhKGYpLCFlW2ZdJiZkKGIpJiYoZVtmXT0hMCxraChhLGIuanx8W10sYyxkLGUpLGMoYikpfTtsaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57ZGVsZXRlIGEuRFtjXX0pfTtnaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57YS5EW2NdPSEwfSl9OwpoaD1mdW5jdGlvbihhKXtmb3IoO2EuQjxJbmZpbml0eSYmYS5LLmxlbmd0aD4wOyl7bGV0IGI9YS5LLnNoaWZ0KCkuZmlsdGVyKGM9PiFhLkxhKGMpLmlzTG9hZGVkKCkpO2lmKGIubGVuZ3RoPjApe2EuQisrO2xldCBjPSgpPT57YS5CLS07aGgoYSk7Yz0oKT0+e319O18uSWYoYi5tYXAoZj0+amgoYSxmKSkpLnRoZW4oKCk9PntjKCl9KTtsZXQgZD0wLGU9KCk9PntpZigoYS5qIGluc3RhbmNlb2YgTWFwP2Euai5zaXplPjA6T2JqZWN0LmtleXMoYS5qKS5sZW5ndGg+MCkmJiFhLlkuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLlksYixhLnYse1lkOmEuaixvbkVycm9yOihmLGgpPT57dmFyIGs9bWhbZCsrXTtrIT09dm9pZCAwP3NldFRpbWVvdXQoKCk9PntlKCl9LGspOihsaChhLC4uLmIpLGMoKSxiLmZvckVhY2gobD0+e2w9YS5MYShsKTtpZighbC5pc0xvYWRlZCgpKWwub25FcnJvcihuZXcgdmEub2IodmEub2IuVHlwZS5wayxmLGIsaCkpfSkpfX0pfTtlKCl9fX07Cm5oPWZ1bmN0aW9uKGEpe2Euaj09PS0xJiYoYS5qPWEuZGF0YS5yZWR1Y2UoKGIsYyxkKT0+YisoYz8yKipkOjApLDApKTtyZXR1cm4gYS5qfTtfLm9oPWZ1bmN0aW9uKCl7fTtfLnNoPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBwaHx8YSBpbnN0YW5jZW9mIHFofHxhIGluc3RhbmNlb2YgcmgpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgcGgoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS5iZD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hLmJkKCkpO3Rocm93IEVycm9yKCIkIik7fTtfLnRoPWZ1bmN0aW9uKGEpe18uYWUuY2FsbCh0aGlzKTt0aGlzLkQ9MTt0aGlzLnY9W107dGhpcy5CPTA7dGhpcy5qPVtdO3RoaXMubz17fTt0aGlzLkk9ISFhfTsKdWg9ZnVuY3Rpb24oYSxiLGMpe0dmKGZ1bmN0aW9uKCl7YS5hcHBseShiLGMpfSl9O3ZoPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTt3aD1mdW5jdGlvbihhKXt0aGlzLmo9YX07eGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWF9O3loPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dm9pZCAwfHxhIGluc3RhbmNlb2YgeGg/YTpuZXcgeGgoYSl9O18uemg9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O0FoPWZ1bmN0aW9uKCl7fTtCaD1mdW5jdGlvbigpe307Q2g9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5vPW51bGx9O0RoPWZ1bmN0aW9uKGEpe2lmKGEuaj09bnVsbCl0aHJvdyBFcnJvcigiYWEiKTthLmlzQXZhaWxhYmxlKCl8fF8uJGIoRXJyb3IoImFhIikpfTtFaD1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy51LmxvY2FsU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9Q2guY2FsbCh0aGlzLGEpfTtGaD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMuaj1iKyI6OiJ9OwpfLkdoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBFaDtyZXR1cm4gYi5pc0F2YWlsYWJsZSgpP2E/bmV3IEZoKGIsYSk6YjpudWxsfTsKSWg9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEubGVuZ3RoLGU9MDtmb3IoYj0wO2I8ZDtiKyspe3ZhciBmPWEuY2hhckNvZGVBdChiKTtpZigoZiY2NDUxMik9PT01NTI5NiYmYisxPGQpe3ZhciBoPWEuY2hhckNvZGVBdChiKzEpOyhoJjY0NTEyKT09PTU2MzIwJiYoZj02NTUzNisoZi01NTI5Njw8MTApKyhoLTU2MzIwKSxiKyspfWUrPWY8MTI4PzE6ZjwyMDQ4PzI6Zjw2NTUzNj8zOjR9dmFyIGs9bmV3IEhoLnRmKGUpO2ZvcihiPWM9MDtjPGU7YisrKWY9YS5jaGFyQ29kZUF0KGIpLChmJjY0NTEyKT09PTU1Mjk2JiZiKzE8ZCYmKGg9YS5jaGFyQ29kZUF0KGIrMSksKGgmNjQ1MTIpPT09NTYzMjAmJihmPTY1NTM2KyhmLTU1Mjk2PDwxMCkrKGgtNTYzMjApLGIrKykpLGY8MTI4P2tbYysrXT1mOihmPDIwNDg/a1tjKytdPTE5MnxmPj4+NjooZjw2NTUzNj9rW2MrK109MjI0fGY+Pj4xMjooa1tjKytdPTI0MHxmPj4+MTgsa1tjKytdPTEyOHxmPj4+MTImNjMpLGtbYysrXT0xMjh8Zj4+Pgo2JjYzKSxrW2MrK109MTI4fGYmNjMpO3JldHVybiBrfTtKaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7LS1iPj0wOylhW2JdPTB9O0toPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5Zcj1hO3RoaXMuVXY9Yjt0aGlzLlR2PWM7dGhpcy54dj1kO3RoaXMuRnk9ZTt0aGlzLmVxPWEmJmEubGVuZ3RofTtMaD1mdW5jdGlvbihhLGIpe3RoaXMuRXA9YTt0aGlzLmxnPTA7dGhpcy56ZT1ifTtNaD1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWImMjU1O2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NX07Tmg9ZnVuY3Rpb24oYSxiLGMpe2EuaGI+MTYtYz8oYS5GYnw9Yjw8YS5oYiY2NTUzNSxNaChhLGEuRmIpLGEuRmI9Yj4+MTYtYS5oYixhLmhiKz1jLTE2KTooYS5GYnw9Yjw8YS5oYiY2NTUzNSxhLmhiKz1jKX07T2g9ZnVuY3Rpb24oYSxiLGMpe05oKGEsY1tiKjJdLGNbYioyKzFdKX07ClBoPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtkbyBjfD1hJjEsYT4+Pj0xLGM8PD0xO3doaWxlKC0tYj4wKTtyZXR1cm4gYz4+PjF9O1FoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheSgxNiksZT0wLGY7Zm9yKGY9MTtmPD0xNTtmKyspZFtmXT1lPWUrY1tmLTFdPDwxO2ZvcihjPTA7Yzw9YjtjKyspZT1hW2MqMisxXSxlIT09MCYmKGFbYyoyXT1QaChkW2VdKyssZSkpfTtSaD1mdW5jdGlvbihhKXt2YXIgYjtmb3IoYj0wO2I8Mjg2O2IrKylhLlFiW2IqMl09MDtmb3IoYj0wO2I8MzA7YisrKWEuUGVbYioyXT0wO2ZvcihiPTA7YjwxOTtiKyspYS5xYltiKjJdPTA7YS5RYls1MTJdPTE7YS5DZD1hLkhnPTA7YS5rYz1hLm1hdGNoZXM9MH07U2g9ZnVuY3Rpb24oYSl7YS5oYj44P01oKGEsYS5GYik6YS5oYj4wJiYoYS5PYVthLnBlbmRpbmcrK109YS5GYik7YS5GYj0wO2EuaGI9MH07ClRoPWZ1bmN0aW9uKGEsYixjKXtTaChhKTtNaChhLGMpO01oKGEsfmMpO0hoLndmKGEuT2EsYS53aW5kb3csYixjLGEucGVuZGluZyk7YS5wZW5kaW5nKz1jfTtVaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iKjIsZj1jKjI7cmV0dXJuIGFbZV08YVtmXXx8YVtlXT09PWFbZl0mJmRbYl08PWRbY119O1ZoPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5oZWFwW2NdLGU9Yzw8MTtlPD1hLnhkOyl7ZTxhLnhkJiZVaChiLGEuaGVhcFtlKzFdLGEuaGVhcFtlXSxhLmRlcHRoKSYmZSsrO2lmKFVoKGIsZCxhLmhlYXBbZV0sYS5kZXB0aCkpYnJlYWs7YS5oZWFwW2NdPWEuaGVhcFtlXTtjPWU7ZTw8PTF9YS5oZWFwW2NdPWR9OwpjaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MDtpZihhLmtjIT09MCl7ZG97dmFyIGU9YS5PYVthLllnK2QqMl08PDh8YS5PYVthLllnK2QqMisxXTt2YXIgZj1hLk9hW2Eua20rZF07ZCsrO2lmKGU9PT0wKU9oKGEsZixiKTtlbHNle3ZhciBoPVdoW2ZdO09oKGEsaCsyNTYrMSxiKTt2YXIgaz1YaFtoXTtrIT09MCYmKGYtPVloW2hdLE5oKGEsZixrKSk7ZS0tO2g9ZTwyNTY/WmhbZV06WmhbMjU2KyhlPj4+NyldO09oKGEsaCxjKTtrPSRoW2hdO2shPT0wJiYoZS09YmlbaF0sTmgoYSxlLGspKX19d2hpbGUoZDxhLmtjKX1PaChhLDI1NixiKX07CmRpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5FcCxkPWIuemUuWXIsZT1iLnplLmVxLGY9Yi56ZS54dixoLGs9LTE7YS54ZD0wO2EuWGY9NTczO2ZvcihoPTA7aDxmO2grKyljW2gqMl0hPT0wPyhhLmhlYXBbKythLnhkXT1rPWgsYS5kZXB0aFtoXT0wKTpjW2gqMisxXT0wO2Zvcig7YS54ZDwyOyl7dmFyIGw9YS5oZWFwWysrYS54ZF09azwyPysrazowO2NbbCoyXT0xO2EuZGVwdGhbbF09MDthLkNkLS07ZSYmKGEuSGctPWRbbCoyKzFdKX1iLmxnPWs7Zm9yKGg9YS54ZD4+MTtoPj0xO2gtLSlWaChhLGMsaCk7bD1mO2RvIGg9YS5oZWFwWzFdLGEuaGVhcFsxXT1hLmhlYXBbYS54ZC0tXSxWaChhLGMsMSksZD1hLmhlYXBbMV0sYS5oZWFwWy0tYS5YZl09aCxhLmhlYXBbLS1hLlhmXT1kLGNbbCoyXT1jW2gqMl0rY1tkKjJdLGEuZGVwdGhbbF09KGEuZGVwdGhbaF0+PWEuZGVwdGhbZF0/YS5kZXB0aFtoXTphLmRlcHRoW2RdKSsxLGNbaCoyKzFdPWNbZCoyKzFdPWwsYS5oZWFwWzFdPWwrKywKVmgoYSxjLDEpO3doaWxlKGEueGQ+PTIpO2EuaGVhcFstLWEuWGZdPWEuaGVhcFsxXTtoPWIuRXA7bD1iLmxnO2Q9Yi56ZS5ZcjtlPWIuemUuZXE7Zj1iLnplLlV2O3ZhciBtPWIuemUuVHYsbj1iLnplLkZ5LHAscj0wO2ZvcihwPTA7cDw9MTU7cCsrKWEua2RbcF09MDtoW2EuaGVhcFthLlhmXSoyKzFdPTA7Zm9yKGI9YS5YZisxO2I8NTczO2IrKyl7dmFyIHQ9YS5oZWFwW2JdO3A9aFtoW3QqMisxXSoyKzFdKzE7cD5uJiYocD1uLHIrKyk7aFt0KjIrMV09cDtpZighKHQ+bCkpe2Eua2RbcF0rKzt2YXIgdj0wO3Q+PW0mJih2PWZbdC1tXSk7dmFyIHo9aFt0KjJdO2EuQ2QrPXoqKHArdik7ZSYmKGEuSGcrPXoqKGRbdCoyKzFdK3YpKX19aWYociE9PTApe2Rve2ZvcihwPW4tMTthLmtkW3BdPT09MDspcC0tO2Eua2RbcF0tLTthLmtkW3ArMV0rPTI7YS5rZFtuXS0tO3ItPTJ9d2hpbGUocj4wKTtmb3IocD1uO3AhPT0wO3AtLSlmb3IodD1hLmtkW3BdO3QhPT0wOylkPWEuaGVhcFstLWJdLApkPmx8fChoW2QqMisxXSE9PXAmJihhLkNkKz0ocC1oW2QqMisxXSkqaFtkKjJdLGhbZCoyKzFdPXApLHQtLSl9UWgoYyxrLGEua2QpfTtlaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2JbKGMrMSkqMisxXT02NTUzNTtmb3IoZD0wO2Q8PWM7ZCsrKXt2YXIgbT1mO2Y9YlsoZCsxKSoyKzFdOysraDxrJiZtPT09Znx8KGg8bD9hLnFiW20qMl0rPWg6bSE9PTA/KG0hPT1lJiZhLnFiW20qMl0rKyxhLnFiWzMyXSsrKTpoPD0xMD9hLnFiWzM0XSsrOmEucWJbMzZdKyssaD0wLGU9bSxmPT09MD8oaz0xMzgsbD0zKTptPT09Zj8oaz02LGw9Myk6KGs9NyxsPTQpKX19OwpmaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2ZvcihkPTA7ZDw9YztkKyspe3ZhciBtPWY7Zj1iWyhkKzEpKjIrMV07aWYoISgrK2g8ayYmbT09PWYpKXtpZihoPGwpe2RvIE9oKGEsbSxhLnFiKTt3aGlsZSgtLWghPT0wKX1lbHNlIG0hPT0wPyhtIT09ZSYmKE9oKGEsbSxhLnFiKSxoLS0pLE9oKGEsMTYsYS5xYiksTmgoYSxoLTMsMikpOmg8PTEwPyhPaChhLDE3LGEucWIpLE5oKGEsaC0zLDMpKTooT2goYSwxOCxhLnFiKSxOaChhLGgtMTEsNykpO2g9MDtlPW07Zj09PTA/KGs9MTM4LGw9Myk6bT09PWY/KGs9NixsPTMpOihrPTcsbD00KX19fTsKZ2k9ZnVuY3Rpb24oYSl7dmFyIGI9NDA5MzYyNDQ0NyxjO2ZvcihjPTA7Yzw9MzE7YysrLGI+Pj49MSlpZihiJjEmJmEuUWJbYyoyXSE9PTApcmV0dXJuIDA7aWYoYS5RYlsxOF0hPT0wfHxhLlFiWzIwXSE9PTB8fGEuUWJbMjZdIT09MClyZXR1cm4gMTtmb3IoYz0zMjtjPDI1NjtjKyspaWYoYS5RYltjKjJdIT09MClyZXR1cm4gMTtyZXR1cm4gMH07aGk9ZnVuY3Rpb24oYSxiLGMpe2EuT2FbYS5ZZythLmtjKjJdPWI+Pj44JjI1NTthLk9hW2EuWWcrYS5rYyoyKzFdPWImMjU1O2EuT2FbYS5rbSthLmtjXT1jJjI1NTthLmtjKys7Yj09PTA/YS5RYltjKjJdKys6KGEubWF0Y2hlcysrLGItLSxhLlFiWyhXaFtjXSsyNTYrMSkqMl0rKyxhLlBlWyhiPDI1Nj9aaFtiXTpaaFsyNTYrKGI+Pj43KV0pKjJdKyspO3JldHVybiBhLmtjPT09YS5BaC0xfTtqaT1mdW5jdGlvbihhLGIpe2EubXNnPWlpW2JdO3JldHVybiBifTsKa2k9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj49MDspYVtiXT0wfTtsaT1mdW5jdGlvbihhKXt2YXIgYj1hLnN0YXRlLGM9Yi5wZW5kaW5nO2M+YS56YSYmKGM9YS56YSk7YyE9PTAmJihIaC53ZihhLm91dHB1dCxiLk9hLGIuSmgsYyxhLnFnKSxhLnFnKz1jLGIuSmgrPWMsYS5Fbis9YyxhLnphLT1jLGIucGVuZGluZy09YyxiLnBlbmRpbmc9PT0wJiYoYi5KaD0wKSl9OwpwaT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWI+PTA/YS5VYjotMSxkPWEuVi1hLlViLGU9MDtpZihhLmxldmVsPjApe2Eud2EuaWw9PT0yJiYoYS53YS5pbD1naShhKSk7ZGkoYSxhLnBqKTtkaShhLGEuSWkpO2VpKGEsYS5RYixhLnBqLmxnKTtlaShhLGEuUGUsYS5JaS5sZyk7ZGkoYSxhLlRvKTtmb3IoZT0xODtlPj0zJiZhLnFiW21pW2VdKjIrMV09PT0wO2UtLSk7YS5DZCs9MyooZSsxKSs1KzUrNDt2YXIgZj1hLkNkKzMrNz4+PjM7dmFyIGg9YS5IZyszKzc+Pj4zO2g8PWYmJihmPWgpfWVsc2UgZj1oPWQrNTtpZihkKzQ8PWYmJmMhPT0tMSlOaChhLGI/MTowLDMpLFRoKGEsYyxkKTtlbHNlIGlmKGEuc3RyYXRlZ3k9PT00fHxoPT09ZilOaChhLDIrKGI/MTowKSwzKSxjaShhLG5pLG9pKTtlbHNle05oKGEsNCsoYj8xOjApLDMpO2M9YS5wai5sZysxO2Q9YS5JaS5sZysxO2UrPTE7TmgoYSxjLTI1Nyw1KTtOaChhLGQtMSw1KTtOaChhLGUtNCw0KTtmb3IoZj0wO2Y8ZTtmKyspTmgoYSwKYS5xYlttaVtmXSoyKzFdLDMpO2ZpKGEsYS5RYixjLTEpO2ZpKGEsYS5QZSxkLTEpO2NpKGEsYS5RYixhLlBlKX1SaChhKTtiJiZTaChhKTthLlViPWEuVjtsaShhLndhKX07cWk9ZnVuY3Rpb24oYSxiKXthLk9hW2EucGVuZGluZysrXT1ifTtyaT1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NTthLk9hW2EucGVuZGluZysrXT1iJjI1NX07CnNpPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5OcSxkPWEuVixlPWEuWWIsZj1hLlNxLGg9YS5WPmEuQmItMjYyP2EuVi0oYS5CYi0yNjIpOjAsaz1hLndpbmRvdyxsPWEuQmUsbT1hLlVhLG49YS5WKzI1OCxwPWtbZCtlLTFdLHI9a1tkK2VdO2EuWWI+PWEuWXAmJihjPj49Mik7Zj5hLmRhJiYoZj1hLmRhKTtkb3t2YXIgdD1iO2lmKGtbdCtlXT09PXImJmtbdCtlLTFdPT09cCYma1t0XT09PWtbZF0mJmtbKyt0XT09PWtbZCsxXSl7ZCs9Mjtmb3IodCsrO2tbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZkPG47KTt0PTI1OC0obi1kKTtkPW4tMjU4O2lmKHQ+ZSl7YS5rZz1iO2U9dDtpZih0Pj1mKWJyZWFrO3A9a1tkK2UtMV07cj1rW2QrZV19fX13aGlsZSgoYj1tW2ImbF0pPmgmJi0tYyE9PTApOwpyZXR1cm4gZTw9YS5kYT9lOmEuZGF9Owp2aT1mdW5jdGlvbihhKXt2YXIgYj1hLkJiLGM7ZG97dmFyIGQ9YS5Lcy1hLmRhLWEuVjtpZihhLlY+PWIrKGItMjYyKSl7SGgud2YoYS53aW5kb3csYS53aW5kb3csYixiLDApO2Eua2ctPWI7YS5WLT1iO2EuVWItPWI7dmFyIGU9Yz1hLmFqO2Rve3ZhciBmPWEuaGVhZFstLWVdO2EuaGVhZFtlXT1mPj1iP2YtYjowfXdoaWxlKC0tYyk7ZT1jPWI7ZG8gZj1hLlVhWy0tZV0sYS5VYVtlXT1mPj1iP2YtYjowO3doaWxlKC0tYyk7ZCs9Yn1pZihhLndhLkRiPT09MClicmVhaztlPWEud2E7Yz1hLndpbmRvdztmPWEuVithLmRhO3ZhciBoPWUuRGI7aD5kJiYoaD1kKTtoPT09MD9jPTA6KGUuRGItPWgsSGgud2YoYyxlLmlucHV0LGUuZmYsaCxmKSxlLnN0YXRlLndyYXA9PT0xP2Uuc2E9dGkoZS5zYSxjLGgsZik6ZS5zdGF0ZS53cmFwPT09MiYmKGUuc2E9dWkoZS5zYSxjLGgsZikpLGUuZmYrPWgsZS5xZis9aCxjPWgpO2EuZGErPWM7aWYoYS5kYSthLnJiPj0zKWZvcihkPWEuVi1hLnJiLGEueGE9CmEud2luZG93W2RdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCsxXSkmYS52ZDthLnJiJiYhKGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCszLTFdKSZhLnZkLGEuVWFbZCZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWQsZCsrLGEucmItLSxhLmRhK2EucmI8Myk7KTt9d2hpbGUoYS5kYTwyNjImJmEud2EuRGIhPT0wKX07CndpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjOzspe2lmKGEuZGE8MjYyKXt2aShhKTtpZihhLmRhPDI2MiYmYj09PTApcmV0dXJuIDE7aWYoYS5kYT09PTApYnJlYWt9Yz0wO2EuZGE+PTMmJihhLnhhPShhLnhhPDxhLndkXmEud2luZG93W2EuViszLTFdKSZhLnZkLGM9YS5VYVthLlYmYS5CZV09YS5oZWFkW2EueGFdLGEuaGVhZFthLnhhXT1hLlYpO2MhPT0wJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYykpO2lmKGEuQmE+PTMpaWYoYz1oaShhLGEuVi1hLmtnLGEuQmEtMyksYS5kYS09YS5CYSxhLkJhPD1hLm9tJiZhLmRhPj0zKXthLkJhLS07ZG8gYS5WKyssYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWEuVjt3aGlsZSgtLWEuQmEhPT0wKTthLlYrK31lbHNlIGEuVis9YS5CYSxhLkJhPTAsYS54YT1hLndpbmRvd1thLlZdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbYS5WKwoxXSkmYS52ZDtlbHNlIGM9aGkoYSwwLGEud2luZG93W2EuVl0pLGEuZGEtLSxhLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9YS5WPDI/YS5WOjI7cmV0dXJuIGI9PT00PyhwaShhLCEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTsKeGk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZDs7KXtpZihhLmRhPDI2Mil7dmkoYSk7aWYoYS5kYTwyNjImJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWM9MDthLmRhPj0zJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxjPWEuVWFbYS5WJmEuQmVdPWEuaGVhZFthLnhhXSxhLmhlYWRbYS54YV09YS5WKTthLlliPWEuQmE7YS5Bcj1hLmtnO2EuQmE9MjtjIT09MCYmYS5ZYjxhLm9tJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYyksYS5CYTw9NSYmKGEuc3RyYXRlZ3k9PT0xfHxhLkJhPT09MyYmYS5WLWEua2c+NDA5NikmJihhLkJhPTIpKTtpZihhLlliPj0zJiZhLkJhPD1hLlliKXtkPWEuVithLmRhLTM7Yz1oaShhLGEuVi0xLWEuQXIsYS5ZYi0zKTthLmRhLT1hLlliLTE7YS5ZYi09MjtkbysrYS5WPD1kJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sCmEuaGVhZFthLnhhXT1hLlYpO3doaWxlKC0tYS5ZYiE9PTApO2EuY2Y9MDthLkJhPTI7YS5WKys7aWYoYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1lbHNlIGlmKGEuY2Ype2lmKChjPWhpKGEsMCxhLndpbmRvd1thLlYtMV0pKSYmcGkoYSwhMSksYS5WKyssYS5kYS0tLGEud2EuemE9PT0wKXJldHVybiAxfWVsc2UgYS5jZj0xLGEuVisrLGEuZGEtLX1hLmNmJiYoaGkoYSwwLGEud2luZG93W2EuVi0xXSksYS5jZj0wKTthLnJiPWEuVjwyP2EuVjoyO3JldHVybiBiPT09ND8ocGkoYSwhMCksYS53YS56YT09PTA/Mzo0KTphLmtjJiYocGkoYSwhMSksYS53YS56YT09PTApPzE6Mn07CnlpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZSxmPWEud2luZG93Ozspe2lmKGEuZGE8PTI1OCl7dmkoYSk7aWYoYS5kYTw9MjU4JiZiPT09MClyZXR1cm4gMTtpZihhLmRhPT09MClicmVha31hLkJhPTA7aWYoYS5kYT49MyYmYS5WPjAmJihkPWEuVi0xLGM9ZltkXSxjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdKSl7Zm9yKGU9YS5WKzI1ODtjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZkPGU7KTthLkJhPTI1OC0oZS1kKTthLkJhPmEuZGEmJihhLkJhPWEuZGEpfWEuQmE+PTM/KGM9aGkoYSwxLGEuQmEtMyksYS5kYS09YS5CYSxhLlYrPWEuQmEsYS5CYT0wKTooYz1oaShhLDAsYS53aW5kb3dbYS5WXSksYS5kYS0tLGEuVisrKTtpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsCiEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTt6aT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYzs7KXtpZihhLmRhPT09MCYmKHZpKGEpLGEuZGE9PT0wKSl7aWYoYj09PTApcmV0dXJuIDE7YnJlYWt9YS5CYT0wO2M9aGkoYSwwLGEud2luZG93W2EuVl0pO2EuZGEtLTthLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsITApLGEud2EuemE9PT0wPzM6NCk6YS5rYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKT8xOjJ9O0FpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50dz1hO3RoaXMuRXk9Yjt0aGlzLld5PWM7dGhpcy5EeT1kO3RoaXMua3c9ZX07CkJpPWZ1bmN0aW9uKCl7dGhpcy53YT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5PYT1udWxsO3RoaXMud3JhcD10aGlzLnBlbmRpbmc9dGhpcy5KaD10aGlzLm5jPTA7dGhpcy5xYT1udWxsO3RoaXMuemM9MDt0aGlzLm1ldGhvZD04O3RoaXMuaWc9LTE7dGhpcy5CZT10aGlzLk5uPXRoaXMuQmI9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuS3M9MDt0aGlzLmhlYWQ9dGhpcy5VYT1udWxsO3RoaXMuU3E9dGhpcy5ZcD10aGlzLnN0cmF0ZWd5PXRoaXMubGV2ZWw9dGhpcy5vbT10aGlzLk5xPXRoaXMuWWI9dGhpcy5kYT10aGlzLmtnPXRoaXMuVj10aGlzLmNmPXRoaXMuQXI9dGhpcy5CYT10aGlzLlViPXRoaXMud2Q9dGhpcy52ZD10aGlzLkxsPXRoaXMuYWo9dGhpcy54YT0wO3RoaXMuUWI9bmV3IEhoLlljKDExNDYpO3RoaXMuUGU9bmV3IEhoLlljKDEyMik7dGhpcy5xYj1uZXcgSGguWWMoNzgpO2tpKHRoaXMuUWIpO2tpKHRoaXMuUGUpO2tpKHRoaXMucWIpO3RoaXMuVG89dGhpcy5JaT0KdGhpcy5waj1udWxsO3RoaXMua2Q9bmV3IEhoLlljKDE2KTt0aGlzLmhlYXA9bmV3IEhoLlljKDU3Myk7a2kodGhpcy5oZWFwKTt0aGlzLlhmPXRoaXMueGQ9MDt0aGlzLmRlcHRoPW5ldyBIaC5ZYyg1NzMpO2tpKHRoaXMuZGVwdGgpO3RoaXMuaGI9dGhpcy5GYj10aGlzLnJiPXRoaXMubWF0Y2hlcz10aGlzLkhnPXRoaXMuQ2Q9dGhpcy5ZZz10aGlzLmtjPXRoaXMuQWg9dGhpcy5rbT0wfTsKRGk9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWEuc3RhdGV8fGI+NXx8YjwwKXJldHVybiBhP2ppKGEsLTIpOi0yO3ZhciBjPWEuc3RhdGU7aWYoIWEub3V0cHV0fHwhYS5pbnB1dCYmYS5EYiE9PTB8fGMuc3RhdHVzPT09NjY2JiZiIT09NClyZXR1cm4gamkoYSxhLnphPT09MD8tNTotMik7Yy53YT1hO3ZhciBkPWMuaWc7Yy5pZz1iO2lmKGMuc3RhdHVzPT09NDIpaWYoYy53cmFwPT09MilhLnNhPTAscWkoYywzMSkscWkoYywxMzkpLHFpKGMsOCksYy5xYT8ocWkoYywoYy5xYS50ZXh0PzE6MCkrKGMucWEuYmU/MjowKSsoYy5xYS5leHRyYT80OjApKyhjLnFhLm5hbWU/ODowKSsoYy5xYS5jb21tZW50PzE2OjApKSxxaShjLGMucWEudGltZSYyNTUpLHFpKGMsYy5xYS50aW1lPj44JjI1NSkscWkoYyxjLnFhLnRpbWU+PjE2JjI1NSkscWkoYyxjLnFhLnRpbWU+PjI0JjI1NSkscWkoYyxjLmxldmVsPT09OT8yOmMuc3RyYXRlZ3k+PTJ8fGMubGV2ZWw8Mj80OjApLHFpKGMsYy5xYS5vcyYyNTUpLApjLnFhLmV4dHJhJiZjLnFhLmV4dHJhLmxlbmd0aCYmKHFpKGMsYy5xYS5leHRyYS5sZW5ndGgmMjU1KSxxaShjLGMucWEuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGMucWEuYmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmcsMCkpLGMuemM9MCxjLnN0YXR1cz02OSk6KHFpKGMsMCkscWkoYywwKSxxaShjLDApLHFpKGMsMCkscWkoYywwKSxxaShjLGMubGV2ZWw9PT05PzI6Yy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzQ6MCkscWkoYywzKSxjLnN0YXR1cz0xMTMpO2Vsc2V7dmFyIGU9OCsoYy5Obi04PDw0KTw8ODtlfD0oYy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzA6Yy5sZXZlbDw2PzE6Yy5sZXZlbD09PTY/MjozKTw8NjtjLlYhPT0wJiYoZXw9MzIpO2Muc3RhdHVzPTExMztyaShjLGUrKDMxLWUlMzEpKTtjLlYhPT0wJiYocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2Euc2E9MX1pZihjLnN0YXR1cz09PTY5KWlmKGMucWEuZXh0cmEpe2ZvcihlPWMucGVuZGluZztjLnpjPAooYy5xYS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoYy5wZW5kaW5nIT09Yy5uY3x8KGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZyE9PWMubmMpKTspcWkoYyxjLnFhLmV4dHJhW2MuemNdJjI1NSksYy56YysrO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2MuemM9PT1jLnFhLmV4dHJhLmxlbmd0aCYmKGMuemM9MCxjLnN0YXR1cz03Myl9ZWxzZSBjLnN0YXR1cz03MztpZihjLnN0YXR1cz09PTczKWlmKGMucWEubmFtZSl7ZT1jLnBlbmRpbmc7ZG97aWYoYy5wZW5kaW5nPT09Yy5uYyYmKGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZz09PWMubmMpKXt2YXIgZj0xO2JyZWFrfWY9Yy56YzxjLnFhLm5hbWUubGVuZ3RoP2MucWEubmFtZS5jaGFyQ29kZUF0KGMuemMrKykmCjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy56Yz0wLGMuc3RhdHVzPTkxKX1lbHNlIGMuc3RhdHVzPTkxO2lmKGMuc3RhdHVzPT09OTEpaWYoYy5xYS5jb21tZW50KXtlPWMucGVuZGluZztkb3tpZihjLnBlbmRpbmc9PT1jLm5jJiYoYy5xYS5iZSYmYy5wZW5kaW5nPmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmctZSxlKSksbGkoYSksZT1jLnBlbmRpbmcsYy5wZW5kaW5nPT09Yy5uYykpe2Y9MTticmVha31mPWMuemM8Yy5xYS5jb21tZW50Lmxlbmd0aD9jLnFhLmNvbW1lbnQuY2hhckNvZGVBdChjLnpjKyspJjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy5zdGF0dXM9MTAzKX1lbHNlIGMuc3RhdHVzPTEwMztjLnN0YXR1cz09PTEwMyYmCihjLnFhLmJlPyhjLnBlbmRpbmcrMj5jLm5jJiZsaShhKSxjLnBlbmRpbmcrMjw9Yy5uYyYmKHFpKGMsYS5zYSYyNTUpLHFpKGMsYS5zYT4+OCYyNTUpLGEuc2E9MCxjLnN0YXR1cz0xMTMpKTpjLnN0YXR1cz0xMTMpO2lmKGMucGVuZGluZyE9PTApe2lmKGxpKGEpLGEuemE9PT0wKXJldHVybiBjLmlnPS0xLDB9ZWxzZSBpZihhLkRiPT09MCYmKGI8PDEpLShiPjQ/OTowKTw9KGQ8PDEpLShkPjQ/OTowKSYmYiE9PTQpcmV0dXJuIGppKGEsLTUpO2lmKGMuc3RhdHVzPT09NjY2JiZhLkRiIT09MClyZXR1cm4gamkoYSwtNSk7aWYoYS5EYiE9PTB8fGMuZGEhPT0wfHxiIT09MCYmYy5zdGF0dXMhPT02NjYpe2Q9Yy5zdHJhdGVneT09PTI/emkoYyxiKTpjLnN0cmF0ZWd5PT09Mz95aShjLGIpOkNpW2MubGV2ZWxdLmt3KGMsYik7aWYoZD09PTN8fGQ9PT00KWMuc3RhdHVzPTY2NjtpZihkPT09MXx8ZD09PTMpcmV0dXJuIGEuemE9PT0wJiYoYy5pZz0tMSksMDtpZihkPT09MiYmKGI9PT0xPwooTmgoYywyLDMpLE9oKGMsMjU2LG5pKSxjLmhiPT09MTY/KE1oKGMsYy5GYiksYy5GYj0wLGMuaGI9MCk6Yy5oYj49OCYmKGMuT2FbYy5wZW5kaW5nKytdPWMuRmImMjU1LGMuRmI+Pj04LGMuaGItPTgpKTpiIT09NSYmKE5oKGMsMCwzKSxUaChjLDAsMCksYj09PTMmJihraShjLmhlYWQpLGMuZGE9PT0wJiYoYy5WPTAsYy5VYj0wLGMucmI9MCkpKSxsaShhKSxhLnphPT09MCkpcmV0dXJuIGMuaWc9LTEsMH1pZihiIT09NClyZXR1cm4gMDtpZihjLndyYXA8PTApcmV0dXJuIDE7Yy53cmFwPT09Mj8ocWkoYyxhLnNhJjI1NSkscWkoYyxhLnNhPj44JjI1NSkscWkoYyxhLnNhPj4xNiYyNTUpLHFpKGMsYS5zYT4+MjQmMjU1KSxxaShjLGEucWYmMjU1KSxxaShjLGEucWY+PjgmMjU1KSxxaShjLGEucWY+PjE2JjI1NSkscWkoYyxhLnFmPj4yNCYyNTUpKToocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2xpKGEpO2Mud3JhcD4wJiYoYy53cmFwPS1jLndyYXApO3JldHVybiBjLnBlbmRpbmchPT0KMD8wOjF9OwpFaT1mdW5jdGlvbihhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFaSkpcmV0dXJuIG5ldyBFaShhKTthPXRoaXMub3B0aW9ucz1IaC5hc3NpZ24oe2xldmVsOi0xLG1ldGhvZDo4LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6MCx0bzoiIn0sYXx8e30pO2EucmF3JiZhLndpbmRvd0JpdHM+MD9hLndpbmRvd0JpdHM9LWEud2luZG93Qml0czphLmd6aXAmJmEud2luZG93Qml0cz4wJiZhLndpbmRvd0JpdHM8MTYmJihhLndpbmRvd0JpdHMrPTE2KTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ITE7dGhpcy5jaHVua3M9W107dGhpcy53YT1uZXcgRmk7dGhpcy53YS56YT0wO3ZhciBiPXRoaXMud2E7dmFyIGM9YS5sZXZlbCxkPWEubWV0aG9kLGU9YS53aW5kb3dCaXRzLGY9YS5tZW1MZXZlbCxoPWEuc3RyYXRlZ3k7aWYoYil7dmFyIGs9MTtjPT09LTEmJihjPTYpO2U8MD8oaz0wLGU9LWUpOmU+MTUmJihrPTIsZS09MTYpO2lmKGY8CjF8fGY+OXx8ZCE9PTh8fGU8OHx8ZT4xNXx8YzwwfHxjPjl8fGg8MHx8aD40KWI9amkoYiwtMik7ZWxzZXtlPT09OCYmKGU9OSk7dmFyIGw9bmV3IEJpO2Iuc3RhdGU9bDtsLndhPWI7bC53cmFwPWs7bC5xYT1udWxsO2wuTm49ZTtsLkJiPTE8PGwuTm47bC5CZT1sLkJiLTE7bC5MbD1mKzc7bC5haj0xPDxsLkxsO2wudmQ9bC5hai0xO2wud2Q9fn4oKGwuTGwrMy0xKS8zKTtsLndpbmRvdz1uZXcgSGgudGYobC5CYioyKTtsLmhlYWQ9bmV3IEhoLlljKGwuYWopO2wuVWE9bmV3IEhoLlljKGwuQmIpO2wuQWg9MTw8Zis2O2wubmM9bC5BaCo0O2wuT2E9bmV3IEhoLnRmKGwubmMpO2wuWWc9bC5BaDtsLmttPTMqbC5BaDtsLmxldmVsPWM7bC5zdHJhdGVneT1oO2wubWV0aG9kPWQ7aWYoYiYmYi5zdGF0ZSl7Yi5xZj1iLkVuPTA7Yi5pbD0yO2M9Yi5zdGF0ZTtjLnBlbmRpbmc9MDtjLkpoPTA7Yy53cmFwPDAmJihjLndyYXA9LWMud3JhcCk7Yy5zdGF0dXM9Yy53cmFwPzQyOjExMztiLnNhPQpjLndyYXA9PT0yPzA6MTtjLmlnPTA7aWYoIUdpKXtkPUFycmF5KDE2KTtmb3IoZj1oPTA7ZjwyODtmKyspZm9yKFloW2ZdPWgsZT0wO2U8MTw8WGhbZl07ZSsrKVdoW2grK109ZjtXaFtoLTFdPWY7Zm9yKGY9aD0wO2Y8MTY7ZisrKWZvcihiaVtmXT1oLGU9MDtlPDE8PCRoW2ZdO2UrKylaaFtoKytdPWY7Zm9yKGg+Pj03O2Y8MzA7ZisrKWZvcihiaVtmXT1oPDw3LGU9MDtlPDE8PCRoW2ZdLTc7ZSsrKVpoWzI1NitoKytdPWY7Zm9yKGU9MDtlPD0xNTtlKyspZFtlXT0wO2ZvcihlPTA7ZTw9MTQzOyluaVtlKjIrMV09OCxlKyssZFs4XSsrO2Zvcig7ZTw9MjU1OyluaVtlKjIrMV09OSxlKyssZFs5XSsrO2Zvcig7ZTw9Mjc5OyluaVtlKjIrMV09NyxlKyssZFs3XSsrO2Zvcig7ZTw9Mjg3OyluaVtlKjIrMV09OCxlKyssZFs4XSsrO1FoKG5pLDI4NyxkKTtmb3IoZT0wO2U8MzA7ZSsrKW9pW2UqMisxXT01LG9pW2UqMl09UGgoZSw1KTtIaT1uZXcgS2gobmksWGgsMjU3LDI4NiwxNSk7SWk9Cm5ldyBLaChvaSwkaCwwLDMwLDE1KTtKaT1uZXcgS2goW10sS2ksMCwxOSw3KTtHaT0hMH1jLnBqPW5ldyBMaChjLlFiLEhpKTtjLklpPW5ldyBMaChjLlBlLElpKTtjLlRvPW5ldyBMaChjLnFiLEppKTtjLkZiPTA7Yy5oYj0wO1JoKGMpO2M9MH1lbHNlIGM9amkoYiwtMik7Yz09PTAmJihiPWIuc3RhdGUsYi5Lcz0yKmIuQmIsa2koYi5oZWFkKSxiLm9tPUNpW2IubGV2ZWxdLkV5LGIuWXA9Q2lbYi5sZXZlbF0udHcsYi5TcT1DaVtiLmxldmVsXS5XeSxiLk5xPUNpW2IubGV2ZWxdLkR5LGIuVj0wLGIuVWI9MCxiLmRhPTAsYi5yYj0wLGIuQmE9Yi5ZYj0yLGIuY2Y9MCxiLnhhPTApO2I9Y319ZWxzZSBiPS0yO2lmKGIhPT0wKXRocm93IEVycm9yKGlpW2JdKTthLmhlYWRlciYmKGI9dGhpcy53YSkmJmIuc3RhdGUmJmIuc3RhdGUud3JhcD09PTImJihiLnN0YXRlLnFhPWEuaGVhZGVyKTtpZihhLmRpY3Rpb25hcnkpe3ZhciBtO3R5cGVvZiBhLmRpY3Rpb25hcnk9PT0ic3RyaW5nIj9tPQpJaChhLmRpY3Rpb25hcnkpOkxpLmNhbGwoYS5kaWN0aW9uYXJ5KT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/bT1uZXcgVWludDhBcnJheShhLmRpY3Rpb25hcnkpOm09YS5kaWN0aW9uYXJ5O2E9dGhpcy53YTtmPW07aD1mLmxlbmd0aDtpZihhJiZhLnN0YXRlKWlmKG09YS5zdGF0ZSxiPW0ud3JhcCxiPT09Mnx8Yj09PTEmJm0uc3RhdHVzIT09NDJ8fG0uZGEpYj0tMjtlbHNle2I9PT0xJiYoYS5zYT10aShhLnNhLGYsaCwwKSk7bS53cmFwPTA7aD49bS5CYiYmKGI9PT0wJiYoa2kobS5oZWFkKSxtLlY9MCxtLlViPTAsbS5yYj0wKSxjPW5ldyBIaC50ZihtLkJiKSxIaC53ZihjLGYsaC1tLkJiLG0uQmIsMCksZj1jLGg9bS5CYik7Yz1hLkRiO2Q9YS5mZjtlPWEuaW5wdXQ7YS5EYj1oO2EuZmY9MDthLmlucHV0PWY7Zm9yKHZpKG0pO20uZGE+PTM7KXtmPW0uVjtoPW0uZGEtMjtkbyBtLnhhPShtLnhhPDxtLndkXm0ud2luZG93W2YrMy0xXSkmbS52ZCxtLlVhW2YmbS5CZV09bS5oZWFkW20ueGFdLAptLmhlYWRbbS54YV09ZixmKys7d2hpbGUoLS1oKTttLlY9ZjttLmRhPTI7dmkobSl9bS5WKz1tLmRhO20uVWI9bS5WO20ucmI9bS5kYTttLmRhPTA7bS5CYT1tLlliPTI7bS5jZj0wO2EuZmY9ZDthLmlucHV0PWU7YS5EYj1jO20ud3JhcD1iO2I9MH1lbHNlIGI9LTI7aWYoYiE9PTApdGhyb3cgRXJyb3IoaWlbYl0pO3RoaXMuTUg9ITB9fTtNaT1mdW5jdGlvbihhLGIpe2I9PT0wJiYoYS5yZXN1bHQ9YS5vcHRpb25zLnRvPT09InN0cmluZyI/YS5jaHVua3Muam9pbigiIik6SGguTXAoYS5jaHVua3MpKTthLmNodW5rcz1bXTthLmVycj1iO2EubXNnPWEud2EubXNnfTtfLk5pPWZ1bmN0aW9uKGEpe3ZhciBiPWJ8fHt9O2IuZ3ppcD0hMDtiPW5ldyBFaShiKTtiLnB1c2goYSwhMCk7aWYoYi5lcnIpdGhyb3cgYi5tc2d8fGlpW2IuZXJyXTtyZXR1cm4gYi5yZXN1bHR9OwpfLk9pPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg+MT9hW2JbMF1dPWJbMV06Yi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKGEsYlswXSl9O18uUWk9ZnVuY3Rpb24oLi4uYSl7Xy5PaShfLlBpLGFyZ3VtZW50cyl9O18udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluIF8uUGk/Xy5QaVthXTpifTtfLlJpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUGkuRVhQRVJJTUVOVF9GTEFHUztyZXR1cm4gYj9iW2FdOnZvaWQgMH07VGk9ZnVuY3Rpb24oYSl7U2kuZm9yRWFjaChiPT5iKGEpKX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmd2luZG93Lnl0ZXJyP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChiKXtfLlVpKGIpfX06YX07Cl8uVWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7Yj9iKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwKTooYj1fLncoIkVSUk9SUyIsW10pLGIucHVzaChbYSwiRVJST1IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDBdKSxfLlFpKCJFUlJPUlMiLGIpKTtUaShhKX07Xy5XaT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uc2EoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO2Y/ZihhLCJXQVJOSU5HIixiLGMsZCx2b2lkIDAsZSk6KGY9Xy53KCJFUlJPUlMiLFtdKSxmLnB1c2goW2EsIldBUk5JTkciLGIsYyxkLHZvaWQgMCxlXSksXy5RaSgiRVJST1JTIixmKSl9OwpZaT1mdW5jdGlvbihhLGIpe2I9YS5zcGxpdChiKTt2YXIgYz17fTtmb3IobGV0IGY9MCxoPWIubGVuZ3RoO2Y8aDtmKyspe2xldCBrPWJbZl0uc3BsaXQoIj0iKTtpZihrLmxlbmd0aD09PTEmJmtbMF18fGsubGVuZ3RoPT09Mil0cnl7bGV0IGw9WGkoa1swXXx8IiIpLG09WGkoa1sxXXx8IiIpO2lmKGwgaW4gYyl7bGV0IG49Y1tsXTtBcnJheS5pc0FycmF5KG4pP3piKG4sbSk6Y1tsXT1bbixtXX1lbHNlIGNbbF09bX1jYXRjaChsKXt2YXIgZD1sLGU9a1swXTtsZXQgbT1TdHJpbmcoWWkpO2QuYXJncz1be2tleTplLHZhbHVlOmtbMV0scXVlcnk6YSxtZXRob2Q6Wmk9PT1tPyJ1bmNoYW5nZWQiOm19XTskaS5oYXNPd25Qcm9wZXJ0eShlKXx8Xy5XaShkKX19cmV0dXJuIGN9Owphaj1mdW5jdGlvbihhKXt2YXIgYj1bXTtvZChhLChjLGQpPT57dmFyIGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO18udGIoYyxmPT57Zj09IiI/Yi5wdXNoKGUpOmIucHVzaChgJHtlfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZikpfWApfSl9KTtyZXR1cm4gYi5qb2luKCImIil9O18uYmo9ZnVuY3Rpb24oYSl7YS5jaGFyQXQoMCk9PT0iPyImJihhPWEuc3Vic3RyaW5nKDEpKTtyZXR1cm4gWWkoYSwiJiIpfTtkaj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCEwKX07Xy5laj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCExKX07CmNqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIjIiwyKTthPWRbMF07ZD1kLmxlbmd0aD4xPyIjIitkWzFdOiIiO3ZhciBlPWEuc3BsaXQoIj8iLDIpO2E9ZVswXTtlPV8uYmooZVsxXXx8IiIpO2ZvcihsZXQgZiBpbiBiKSFjJiZlIT09bnVsbCYmZiBpbiBlfHwoZVtmXT1iW2ZdKTtyZXR1cm4gXy5XYihhLGUpK2R9O18uZmo9ZnVuY3Rpb24oYSl7aWYoIWIpdmFyIGI9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGM9Xy5NYihhKVsxXXx8bnVsbCxkPV8uUGIoYSk7YyYmZD8oYT1fLk1iKGEpLGI9Xy5NYihiKSxhPWFbM109PWJbM10mJmFbMV09PWJbMV0mJmFbNF09PWJbNF0pOmE9ZD9fLlBiKGIpPT09ZCYmKE51bWJlcihfLk1iKGIpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKF8uTWIoYSlbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gYX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEubWF0Y2goZ2opP2E6Xy5IYihhKX07Cl8ubGo9ZnVuY3Rpb24oYT1fLnNhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIil7dmFyIGI9aGosYz1PYmplY3QsZD1jLmFzc2lnbjthOnt0cnl7dmFyIGU9Yi5qLnRvcC5sb2NhdGlvbi5ocmVmfWNhdGNoKEEpe2U9MjticmVhayBhfWU9ZT9lPT09Yi5vLmxvY2F0aW9uLmhyZWY/MDoxOjJ9ZT17ZHQ6aWosZmxhc2g6IjAiLGZybTplfTt0cnl7ZS51X3R6PS0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dHJ5e3ZhciBmPWpqLmhpc3RvcnkubGVuZ3RofWNhdGNoKEEpe2Y9MH1lLnVfaGlzPWY7ZS51X2g9amouc2NyZWVuPy5oZWlnaHQ7ZS51X3c9amouc2NyZWVuPy53aWR0aDtlLnVfYWg9amouc2NyZWVuPy5hdmFpbEhlaWdodDtlLnVfYXc9amouc2NyZWVuPy5hdmFpbFdpZHRoO2UudV9jZD1qai5zY3JlZW4/LmNvbG9yRGVwdGh9Y2F0Y2goQSl7fWY9Yi5qO3RyeXt2YXIgaD1mLnNjcmVlblg7dmFyIGs9Zi5zY3JlZW5ZfWNhdGNoKEEpe310cnl7dmFyIGw9Zi5vdXRlcldpZHRoOwp2YXIgbT1mLm91dGVySGVpZ2h0fWNhdGNoKEEpe310cnl7dmFyIG49Zi5pbm5lcldpZHRoO3ZhciBwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgcj1mLnNjcmVlbkxlZnQ7dmFyIHQ9Zi5zY3JlZW5Ub3B9Y2F0Y2goQSl7fXRyeXtuPWYuaW5uZXJXaWR0aCxwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgdj1mLnNjcmVlbi5hdmFpbFdpZHRoO3ZhciB6PWYuc2NyZWVuLmF2YWlsVG9wfWNhdGNoKEEpe31oPVtyLHQsaCxrLHYseixsLG0sbixwXTt0cnl7dmFyIEU9Xy55ZChiLmoudG9wfHx3aW5kb3cpLnJvdW5kKCl9Y2F0Y2goQSl7RT1uZXcgXy5uZCgtMTIyNDU5MzMsLTEyMjQ1OTMzKX1sPUU7RT1uZXcga2o7IlNWR0VsZW1lbnQiaW4gXy51JiYiY3JlYXRlRWxlbWVudE5TImluIF8udS5kb2N1bWVudCYmRS5zZXQoMCk7az1tZCgpO2tbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZFLnNldCgxKTtrWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmCkUuc2V0KDIpO18udS5jcnlwdG8mJl8udS5jcnlwdG8uc3VidGxlJiZFLnNldCgzKTsiVGV4dERlY29kZXIiaW4gXy51JiYiVGV4dEVuY29kZXIiaW4gXy51JiZFLnNldCg0KTtFPW5oKEUpO2s9bC5oZWlnaHQ7bD1sLndpZHRoO2g9aC5qb2luKCk7Yj1iLm87Yz1kLmNhbGwoYyxlLHtiYzpFLGJpaDprLGJpdzpsLGJyZGltOmgsdmlzOmIucHJlcmVuZGVyaW5nPzM6e3Zpc2libGU6MSxoaWRkZW46MixwcmVyZW5kZXI6MyxwcmV2aWV3OjQsdW5sb2FkZWQ6NSwiIjowfVtiLnZpc2liaWxpdHlTdGF0ZXx8Yi53ZWJraXRWaXNpYmlsaXR5U3RhdGV8fGIubW96VmlzaWJpbGl0eVN0YXRlfHwiIl0/PzAsd2dsOiEhamouV2ViR0xSZW5kZXJpbmdDb250ZXh0fSk7Yy5jYV90eXBlPSJpbWFnZSI7YSYmKGMuYmlkPWEpO3JldHVybiBjfTtfLm1qPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGE9PT0iZnVuY3Rpb24iJiYoYT1fLlZpKGEpKTtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoYSxiKX07Cm9qPWZ1bmN0aW9uKCl7aWYoIW5qKXJldHVybiBudWxsO3ZhciBhPW5qKCk7cmV0dXJuIm9wZW4iaW4gYT9hOm51bGx9O18ucWo9ZnVuY3Rpb24oYSl7c3dpdGNoKF8ucGooYSkpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA0OmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMzA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLnBqPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RhdHVzImluIGE/YS5zdGF0dXM6LTF9O18ueD1mdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciJiZhPT09ImZhbHNlIj8hMTohIWF9O18uc2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTnVtYmVyKF8ucmooYSxiKXx8MCl9O18udGo9ZnVuY3Rpb24oYSl7YT1fLnJqKGEpO3JldHVybiBhIT09dm9pZCAwP1N0cmluZyhhKToiIn07Cl8ucmo9ZnVuY3Rpb24oYSxiKXthPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pW2FdO3JldHVybiBhIT09dm9pZCAwP2E6Yn07Xy51aj1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy53KCJFWFBFUklNRU5UU19GT1JDRURfRkxBR1MiLHt9KTtmb3IodmFyIGMgb2YgT2JqZWN0LmtleXMoYikpYS5wdXNoKHtrZXk6Yyx2YWx1ZTpTdHJpbmcoYltjXSl9KTtjPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhjKSlkLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZiW2RdPT09dm9pZCAwJiZhLnB1c2goe2tleTpkLHZhbHVlOlN0cmluZyhjW2RdKX0pO3JldHVybiBhfTsKeGo9ZnVuY3Rpb24oYSxiLGM9IkdFVCIsZD0iIixlLGYsaCxrPSExLGwpe3ZhciBtPW9qKCk7aWYoIW0pcmV0dXJuIG51bGw7dmFyIG49KCk9PnsobSYmInJlYWR5U3RhdGUiaW4gbT9tLnJlYWR5U3RhdGU6MCk9PT00JiZiJiZfLlZpKGIpKG0pfTsib25sb2FkZW5kImluIG0/bS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixuLCExKTptLm9ucmVhZHlzdGF0ZWNoYW5nZT1uO18ueCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYoYT12aihhKSk7bS5vcGVuKGMsYSwhMCk7ZiYmKG0ucmVzcG9uc2VUeXBlPWYpO2gmJihtLndpdGhDcmVkZW50aWFscz0hMCk7Yz1jPT09IlBPU1QiJiYod2luZG93LkZvcm1EYXRhPT09dm9pZCAwfHwhKGQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpO2lmKGU9d2ooYSxlKSlmb3IobGV0IHAgaW4gZSltLnNldFJlcXVlc3RIZWFkZXIocCxlW3BdKSwiY29udGVudC10eXBlIj09PXAudG9Mb3dlckNhc2UoKSYmKGM9ITEpO2MmJm0uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwKImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2wmJiJvbnByb2dyZXNzImluIG0mJihtLm9ucHJvZ3Jlc3M9KCk9PntsKG0ucmVzcG9uc2VUZXh0KX0pO2lmKGsmJiJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUpe2E9e2V2ZW50U291cmNlRWxpZ2libGU6ITAsdHJpZ2dlckVsaWdpYmxlOiExfTt0cnl7bS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZyhhKX1jYXRjaChwKXtfLldpKHApfX1tLnNlbmQoZCk7cmV0dXJuIG19Owp3aj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uZmooYSksZD1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpLGU9Xy54KCJ3ZWJfYWpheF9pZ25vcmVfZ2xvYmFsX2hlYWRlcnNfaWZfc2V0Iik7Zm9yKGxldCBrIGluIHlqKXtsZXQgbD1fLncoeWpba10pLG09az09PSJYLUdvb2ctQXV0aFVzZXIifHxrPT09IlgtR29vZy1QYWdlSWQiO2shPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxsfHwobD1fLncoIlZJU0lUT1JfREFUQSIpKTt2YXIgZjtpZighKGY9IWwpKXtpZighKGY9Y3x8KF8uUGIoYSk/ITE6ITApKSl7Zj1hO3ZhciBoO2lmKGg9Xy54KCJhZGRfYXV0aF9oZWFkZXJzX3RvX3JlbWFya2V0aW5nX2dvb2dsZV9kb3RfY29tX3BpbmciKSYmaz09PSJBdXRob3JpemF0aW9uIiYmKGQ9PT0iVFZIVE1MNSJ8fGQ9PT0iVFZIVE1MNV9VTlBMVUdHRUQifHxkPT09IlRWSFRNTDVfU0lNUExZIikpaD1fLlBiKGYpLGg9aCE9PW51bGw/aC5zcGxpdCgiLiIpLnJldmVyc2UoKTpudWxsLGg9aD09PQpudWxsPyExOmhbMV09PT0iZ29vZ2xlIj8hMDpoWzJdPT09Imdvb2dsZSI/aFswXT09PSJhdSImJmhbMV09PT0iY29tIj8hMDpoWzBdPT09InVrIiYmaFsxXT09PSJjbyI/ITA6ITE6ITE7aCYmKGY9Xy5RYihmKXx8IiIsZj1mLnNwbGl0KCIvIiksZj0iLyIrKGYubGVuZ3RoPjE/ZlsxXToiIiksaD1mPT09Ii9wYWdlYWQiKTtmPWg/ITA6ITF9Zj0hZn1mfHxlJiZiW2tdIT09dm9pZCAwfHxkPT09IlRWSFRNTDVfVU5QTFVHR0VEIiYmbXx8KGJba109bCl9IlgtR29vZy1FT00tVmlzaXRvci1JZCJpbiBiJiYiWC1Hb29nLVZpc2l0b3ItSWQiaW4gYiYmZGVsZXRlIGJbIlgtR29vZy1WaXNpdG9yLUlkIl07aWYoY3x8IV8uUGIoYSkpYlsiWC1Zb3VUdWJlLVV0Yy1PZmZzZXQiXT1TdHJpbmcoLShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSk7aWYoY3x8IV8uUGIoYSkpe2xldCBrO3RyeXtrPShuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Y2F0Y2h7fWsmJgooYlsiWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPWspfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhYyYmXy5QYihhKXx8KGJbIlgtWW91VHViZS1BZC1TaWduYWxzIl09YWooXy5saigpKSk7cmV0dXJuIGJ9O0FqPWZ1bmN0aW9uKGEsYil7Yi5tZXRob2Q9IlBPU1QiO2IucG9zdFBhcmFtc3x8KGIucG9zdFBhcmFtcz17fSk7cmV0dXJuIF8uemooYSxiKX07Cl8uemo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZvcm1hdHx8IkpTT04iO2E9QmooYSxiKTt2YXIgZD1DaihhLGIpLGU9ITEsZj1EaihhLGs9PntpZighZSl7ZT0hMDtoJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KGgpO3ZhciBsPV8ucWooayksbT1udWxsLG49NDAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NTAwLHA9NTAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NjAwO2lmKGx8fG58fHApbT1FaihhLGMsayxiLmNvbnZlcnRUb1NhZmVIdG1sKTtsJiYobD1GaihjLGssbSkpO209bXx8e307bj1iLmNvbnRleHR8fF8udTtsP2Iub25TdWNjZXNzJiZiLm9uU3VjY2Vzcy5jYWxsKG4sayxtKTpiLm9uRXJyb3ImJmIub25FcnJvci5jYWxsKG4sayxtKTtiLm9uRmluaXNoJiZiLm9uRmluaXNoLmNhbGwobixrLG0pfX0sYi5tZXRob2QsZCxiLmhlYWRlcnMsYi5yZXNwb25zZVR5cGUsYi53aXRoQ3JlZGVudGlhbHMsITEsYi5vblByb2dyZXNzKTtkPWIudGltZW91dHx8MDtpZihiLm9uVGltZW91dCYmZD4wKXtsZXQgaz0KYi5vblRpbWVvdXQ7dmFyIGg9Xy5taigoKT0+e2V8fChlPSEwLGYuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLGsuY2FsbChiLmNvbnRleHR8fF8udSxmKSl9LGQpfXJldHVybiBmfTtCaj1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZURvbWFpbiYmKGE9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSsoZG9jdW1lbnQubG9jYXRpb24ucG9ydD8iOiIrZG9jdW1lbnQubG9jYXRpb24ucG9ydDoiIikrYSk7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKTtpZihiPWIudXJsUGFyYW1zKWJbY10mJmRlbGV0ZSBiW2NdLGE9ZGooYSxiKTtyZXR1cm4gYX07CkNqPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKSxkPV8udygiWFNSRl9UT0tFTiIpLGU9Yi5wb3N0Qm9keXx8IiIsZj1iLnBvc3RQYXJhbXMsaD1fLncoIlhTUkZfRklFTERfTkFNRSIpLGs7Yi5oZWFkZXJzJiYoaz1iLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdKTtiLmV4Y2x1ZGVYc3JmfHxfLlBiKGEpJiYhYi53aXRoQ3JlZGVudGlhbHMmJl8uUGIoYSkhPT1kb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZXx8Yi5tZXRob2QhPT0iUE9TVCJ8fGsmJmshPT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkInx8Yi5wb3N0UGFyYW1zJiZiLnBvc3RQYXJhbXNbaF18fChmfHwoZj17fSksZltjXT1kKTtmJiZ0eXBlb2YgZT09PSJzdHJpbmciJiYoZT1fLmJqKGUpLHNkKGUsZiksZT1iLnBvc3RCb2R5Rm9ybWF0JiZiLnBvc3RCb2R5Rm9ybWF0PT09IkpTT04iP0pTT04uc3RyaW5naWZ5KGUpOl8uVWIoZSkpO2Y9ZXx8ZiYmIV8ucGQoZik7IUdqJiZmJiYKYi5tZXRob2QhPT0iUE9TVCImJihHaj0hMCxfLlVpKEVycm9yKCJjYSIpKSk7cmV0dXJuIGV9O0VqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW51bGw7c3dpdGNoKGIpe2Nhc2UgIkpTT04iOmxldCBmO3RyeXtmPWMucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGQ9RXJyb3IoImRhIiksZC5wYXJhbXM9YSxfLldpKGQpLGg7fWE9Yy5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIil8fCIiO2lmKGYmJmEuaW5kZXhPZigianNvbiIpPj0wKXtmLnN1YnN0cmluZygwLDUpPT09IildfSdcbiImJihmPWYuc3Vic3RyaW5nKDUpKTt0cnl7ZT1KU09OLnBhcnNlKGYpfWNhdGNoKGgpe319YnJlYWs7Y2FzZSAiWE1MIjppZihhPShhPWMucmVzcG9uc2VYTUwpP0hqKGEpOm51bGwpZT17fSxfLnRiKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxoPT57ZVtoLnRhZ05hbWVdPUlqKGgpfSl9ZCYmSmooZSk7cmV0dXJuIGV9OwpKaj1mdW5jdGlvbihhKXtpZihfLkFhKGEpKWZvcihsZXQgYiBpbiBhKWI9PT0iaHRtbF9jb250ZW50Inx8Xy5NYShiLCJfaHRtbCIpP2FbYl09Xy5nYihhW2JdKTpKaihhW2JdKX07Rmo9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmIuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChhKXtjYXNlICJKU09OIjpyZXR1cm4hIWM7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKGMmJmMucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFjfX07SGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/KGE9KCJyZXNwb25zZVhNTCJpbiBhP2EucmVzcG9uc2VYTUw6YSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInJvb3QiKSkmJmEubGVuZ3RoPjA/YVswXTpudWxsOm51bGx9O0lqPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18udGIoYS5jaGlsZE5vZGVzLGM9PntiKz1jLm5vZGVWYWx1ZX0pO3JldHVybiBifTsKdmo9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxjPV8uUGIoYSk7Xy54KCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IWMmJl8uZmooYSkmJihjPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgZD1fLlFiKGEpO2Q9KGM9YyYmKGMuZW5kc1dpdGgoInlvdXR1YmUuY29tIil8fGMuZW5kc1dpdGgoInlvdXR1YmUtbm9jb29raWUuY29tIikpKSYmZCYmZC5zdGFydHNXaXRoKCIvYXBpLyIpO2lmKCFjfHxkKXJldHVybiBhO3ZhciBlPV8uYmooYiksZj17fTtfLnRiKEtqLGg9PntlW2hdJiYoZltoXT1lW2hdKX0pO3JldHVybiBfLmVqKGEsZil9O18uTWo9ZnVuY3Rpb24oYSxiLGMsZD0ieW91dHViZS5jb20iLGU9ITEpe18uTGouc2V0KGEsYix7dmo6YyxwYXRoOiIvIixkb21haW46ZCxzZWN1cmU6ZX0pfTsKXy5Oaj1mdW5jdGlvbihhLGI9Ii8iLGM9InlvdXR1YmUuY29tIil7Xy5Mai5yZW1vdmUoYSxiLGMpfTtfLk9qPWZ1bmN0aW9uKCl7aWYoIV8udS5tYXRjaE1lZGlhKXJldHVybiJXRUJfRElTUExBWV9NT0RFX1VOS05PV04iO3RyeXtyZXR1cm4gXy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpfLnUubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkiKS5tYXRjaGVzPyJXRUJfRElTUExBWV9NT0RFX01JTklNQUxfVUkiOl8udS5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/IldFQl9ESVNQTEFZX01PREVfRlVMTFNDUkVFTiI6Xy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChhKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwpfLlBqPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9W107IlVTRVJfU0VTU0lPTl9JRCJpbiBfLlBpJiZjLnB1c2goe2tleToidSIsdmFsdWU6Xy53KCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKGM9Xy5QZChjKSliLkF1dGhvcml6YXRpb249YyxjPWE9YT8uc2Vzc2lvbkluZGV4LGM9PT12b2lkIDAmJihjPU51bWJlcihfLncoIlNFU1NJT05fSU5ERVgiLDApKSxjPWlzTmFOKGMpPzA6YyksXy54KCJ2b2ljZV9zZWFyY2hfYXV0aF9oZWFkZXJfcmVtb3ZhbCIpfHwoYlsiWC1Hb29nLUF1dGhVc2VyIl09Yy50b1N0cmluZygpKSwiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiaW4gXy5QaXx8KGJbIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIF8uUGkmJihiWyJYLUdvb2ctUGFnZUlkIl09Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpKTtyZXR1cm4gYn07ClFqPWZ1bmN0aW9uKCl7dmFyIGE9Xy51Lm5hdmlnYXRvcjtyZXR1cm4gYT9hLmNvbm5lY3Rpb246dm9pZCAwfTtfLlNqPWZ1bmN0aW9uKCl7dmFyIGE9UWooKTtpZihhKXt2YXIgYj1SalthLnR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO2E9UmpbYS5lZmZlY3RpdmVUeXBlfHwidW5rbm93biJdfHwiQ09OTl9VTktOT1dOIjtiPT09IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiImJmEhPT0iQ09OTl9VTktOT1dOIiYmKGI9YSk7aWYoYiE9PSJDT05OX1VOS05PV04iKXJldHVybiBiO2lmKGEhPT0iQ09OTl9VTktOT1dOIilyZXR1cm4gYX19O18uVWo9ZnVuY3Rpb24oKXt2YXIgYT1RaigpO2lmKGE/LmVmZmVjdGl2ZVR5cGUpcmV0dXJuIFRqLmhhc093blByb3BlcnR5KGEuZWZmZWN0aXZlVHlwZSk/VGpbYS5lZmZlY3RpdmVUeXBlXToiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9VTktOT1dOIn07Xy5Xaj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5WaigpLCEwfWNhdGNoKGEpe3JldHVybiExfX07Cl8uVmo9ZnVuY3Rpb24oYT0idW5rbm93biIpe2lmKF8udygiREFUQVNZTkNfSUQiKSE9PXZvaWQgMClyZXR1cm4gXy53KCJEQVRBU1lOQ19JRCIpO3Rocm93IG5ldyBfLlhqKCJEYXRhc3luYyBJRCBub3Qgc2V0IixhKTt9O18uWWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDAsYil9O1pqPWZ1bmN0aW9uKGEsYil7dHJ5e2IoKX1jYXRjaChjKXthLkpiKGMpfX07Yms9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54KCJlbmFibGVfc2NoZWR1bGVyX3NpbXVsYXRlX3JhZiIpO2lmKGEub1s4XS5sZW5ndGgpe2lmKGEuaGEpcmV0dXJuIDQ7aWYoYil7aWYoIWEuaXNIaWRkZW4oKSlyZXR1cm4gYS5aPzM6NX1lbHNlIGlmKGFrKGEpKXJldHVybiAzfWZvcihsZXQgYz01O2M+PWEuQjtjLS0paWYoYS5vW2NdLmxlbmd0aD4wKXJldHVybiBjPjA/Yj9hLmlzSGlkZGVuKCk/MjphLlo/Mzo1OmFrKGEpPzM6MjoxO3JldHVybiAwfTsKY2s9ZnVuY3Rpb24oYSl7YS5nYS5sZW5ndGg9MDtmb3IobGV0IGI9NTtiPj0wO2ItLSlhLm9bYl0ubGVuZ3RoPTA7YS5vWzhdLmxlbmd0aD0wO2Eudj17fTthLnN0b3AoKX07YWs9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuaXNIaWRkZW4oKSYmYS5afTtlaz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgZGspaWYoYS5vW2JdLmxlbmd0aClyZXR1cm4hMDtyZXR1cm4hMX07CmhrPWZ1bmN0aW9uKGEsYixjKXthLmhhJiZhLkk9PT00JiZhLmp8fGEuc3RvcCgpO2EuRD0hMDtiPV8uRWEoKSsoYnx8YS5NKTtmb3IodmFyIGQ9YS5vWzVdO2QubGVuZ3RoOyl7dmFyIGU9ZC5zaGlmdCgpLGY9YS52W2VdO2RlbGV0ZSBhLnZbZV07aWYoZil7ZT1hO3RyeXtmKGMpfWNhdGNoKGgpe2UuSmIoaCl9fX1mb3IoZD1hLm9bNF07ZC5sZW5ndGg7KWM9ZC5zaGlmdCgpLGY9YS52W2NdLGRlbGV0ZSBhLnZbY10sZiYmWmooYSxmKTtkPWEueWE/MDoxO2Q9YS5CPmQ/YS5COmQ7aWYoIShfLkVhKCk+PWIpKXtkb3thOntjPWE7Zj1kO2ZvcihlPTM7ZT49ZjtlLS0pe2xldCBoPWMub1tlXTtmb3IoO2gubGVuZ3RoOyl7bGV0IGs9aC5zaGlmdCgpLGw9Yy52W2tdO2RlbGV0ZSBjLnZba107aWYobCl7Yz1sO2JyZWFrIGF9fX1jPW51bGx9YyYmWmooYSxjKX13aGlsZShjJiZfLkVhKCk8Yil9YS5EPSExO2ZrKGEpO2EuTT1naztlayhhKSYmYS5zdGFydCgpfTsKaWs9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5EPSEwO2Zvcih2YXIgYj1fLkVhKCksYz1hLm9bOF07Yy5sZW5ndGg7KXtsZXQgZD1jLnNoaWZ0KCksZT1hLnZbZF07ZGVsZXRlIGEudltkXTtlJiZaaihhLGUpfWZrKGEpO2EuRD0hMTtlayhhKSYmYS5zdGFydCgpO2I9Xy5FYSgpLWI7YS5NLT1ifTtmaz1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWEuZ2EubGVuZ3RoO2I8YztiKyspe2xldCBkPWEuZ2FbYl07YS5vW2QucHJpb3JpdHldLnB1c2goZC5pZCl9YS5nYS5sZW5ndGg9MH07a2s9ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2lmKCFhfHxhLmlhKCkpYT1uZXcgamsoXy53KCJzY2hlZHVsZXIiKXx8e30pLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixhKTtyZXR1cm4gYX07Cm1rPWZ1bmN0aW9uKCl7bGsoKTt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2EmJihfLlpkKGEpLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixudWxsKSl9O2xrPWZ1bmN0aW9uKCl7Y2soa2soKSk7Zm9yKGxldCBhIGluIG5rKW5rLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgbmtbTnVtYmVyKGEpXX07b2s9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBjPWM9PT12b2lkIDAsLWtrKCkuR2EoYSxiLGMpO3ZhciBkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGU9a2soKS5HYShhLGIpO25rW2RdPWV9LGMpO3JldHVybiBkfTtwaz1mdW5jdGlvbihhKXtraygpLlUoYSl9O3FrPWZ1bmN0aW9uKGEpe3ZhciBiPWtrKCk7aWYoYTwwKWIuQWEoLWEpO2Vsc2V7dmFyIGM9bmtbYV07Yz8oYi5BYShjKSxkZWxldGUgbmtbYV0pOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9fTtzaz1mdW5jdGlvbigpe3JrKCl9Owpyaz1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGspO2trKCkuc3RhcnQoKX07dms9ZnVuY3Rpb24oKXtraygpLnBhdXNlKCk7d2luZG93LmNsZWFyVGltZW91dCh0ayk7dGs9d2luZG93LnNldFRpbWVvdXQoc2ssdWspfTt5az1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQod2spO3drPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eGsoMCl9LHVrKX07eGs9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj1hO2Iuc3RhcnQoKX07ems9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj5hJiYoYi5CPWEsYi5zdGFydCgpKX07QWs9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHdrKTt2YXIgYT1raygpO2EuQj0wO2Euc3RhcnQoKX07Xy5Daz1mdW5jdGlvbigpe0JrLmluc3RhbmNlfHwoQmsuaW5zdGFuY2U9bmV3IEJrKTtyZXR1cm4gQmsuaW5zdGFuY2V9OwpFaz1mdW5jdGlvbigpe3JldHVybiBEaygpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTtfLklrPWZ1bmN0aW9uKGEpe0ZrfHwoXy5Haz9fLkdrLkpiKGEpOihfLkhrLnB1c2goe3R5cGU6IkVSUk9SIixwYXlsb2FkOmF9KSxfLkhrLmxlbmd0aD4xMCYmXy5Iay5zaGlmdCgpKSl9O0prPWZ1bmN0aW9uKGEsYil7Rmt8fChfLkdrP18uR2subG0oYSxiKTooXy5Iay5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOmEscGF5bG9hZDpifSksXy5Iay5sZW5ndGg+MTAmJl8uSGsuc2hpZnQoKSkpfTtLaz1mdW5jdGlvbihhKXtpZihhLmluZGV4T2YoIjoiKT49MCl0aHJvdyBFcnJvcigiaGEiKTt9O0xrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN1YnN0cigwLGEuaW5kZXhPZigiOiIpKXx8YX07Xy5Naz1mdW5jdGlvbihhKXt2YXIgYj1fLmJjKCk7cmV0dXJuIGI/Yi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYSk+PTA6ITF9OwpSaz1mdW5jdGlvbihhLGIsYyxkKXtiPUxrKGIpO3ZhciBlPWEgaW5zdGFuY2VvZiBFcnJvcj9hOkVycm9yKCJpYWAiK2EpO2lmKGUgaW5zdGFuY2VvZiBOaylyZXR1cm4gZTthPXtvYmplY3RTdG9yZU5hbWVzOmMsZGJOYW1lOmIsZGJWZXJzaW9uOmR9O2lmKGUubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IiKXJldHVybiBuZXcgTmsoIlFVT1RBX0VYQ0VFREVEIixhKTtpZihfLk9rJiZlLm5hbWU9PT0iVW5rbm93bkVycm9yIilyZXR1cm4gbmV3IE5rKCJRVU9UQV9NQVlCRV9FWENFRURFRCIsYSk7aWYoZSBpbnN0YW5jZW9mIFBrKXJldHVybiBuZXcgTmsoIk1JU1NJTkdfSU5ERVgiLHsuLi5hLG9iamVjdFN0b3JlOmUub2JqZWN0U3RvcmUsaW5kZXg6ZS5pbmRleH0pO2lmKGUubmFtZT09PSJJbnZhbGlkU3RhdGVFcnJvciImJlFrLnNvbWUoZj0+ZS5tZXNzYWdlLmluY2x1ZGVzKGYpKSlyZXR1cm4gbmV3IE5rKCJFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQiIsYSk7aWYoZS5uYW1lPT09CiJBYm9ydEVycm9yIilyZXR1cm4gbmV3IE5rKCJVTktOT1dOX0FCT1JUIixhLGUubWVzc2FnZSk7ZS5hcmdzPVt7Li4uYSxuYW1lOiJJZGJFcnJvciIsTW06ZS5uYW1lfV07ZS5sZXZlbD0iV0FSTklORyI7cmV0dXJuIGV9O1NrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1FaygpO3JldHVybiBuZXcgTmsoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOmEscHVibGljTmFtZTpiLHZlcnNpb246YyxoYXNTdWNjZWVkZWRPbmNlOmQ/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9O1RrPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCk7dGhyb3cgYTt9O1VrPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtYaz1mdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtpZihhLnN0YXRlLnN0YXR1cyE9PSJGVUxGSUxMRUQiKXRocm93IEVycm9yKCJqYSIpO2xldCBmPWMoYS5zdGF0ZS52YWx1ZSk7ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfWNhdGNoKGYpe2UoZil9fTsKWWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7aWYoYS5zdGF0ZS5zdGF0dXMhPT0iUkVKRUNURUQiKXRocm93IEVycm9yKCJrYSIpO2xldCBmPWMoYS5zdGF0ZS5yZWFzb24pO2YgaW5zdGFuY2VvZiBfLlZrP1drKGEsYixmLGQsZSk6ZChmKX1jYXRjaChmKXtlKGYpfX07V2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPT09Yz9lKG5ldyBUeXBlRXJyb3IoImxhIikpOmMudGhlbihmPT57ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfSxmPT57ZShmKX0pfTtaaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9KCk9Pnt0cnl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixlKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixmKX1jYXRjaHt9fSxlPSgpPT57YihhLnJlc3VsdCk7ZCgpfSxmPSgpPT57YyhhLmVycm9yKTtkKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsZSk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZil9Owokaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoKGIsYyk9PntaayhhLGIsYyl9KX07Ymw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlZrKG5ldyBhbCgoYixjKT0+e1prKGEsYixjKX0pKX07Y2w9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChjLGQpPT57dmFyIGU9KCk9Pnt2YXIgZj1hP2IoYSk6bnVsbDtmP2YudGhlbihoPT57YT1oO2UoKX0sZCk6YygpfTtlKCl9KSl9O2RsPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaWRiX2ltbWVkaWF0ZV9jb21taXQiKX07Cl8uaWw9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e21vZGU6InJlYWRvbmx5IixrYjohMSx0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiJ9O3R5cGVvZiBjPT09InN0cmluZyI/ZS5tb2RlPWM6T2JqZWN0LmFzc2lnbihlLGMpO2EudHJhbnNhY3Rpb25Db3VudCsrO2M9ZS5rYj8zOjE7Zm9yKHZhciBmPTAsaDshaDspe2YrKztsZXQgbj1NYXRoLnJvdW5kKCgwLF8uZWwpKCkpO3RyeXt2YXIgaz1hLmoudHJhbnNhY3Rpb24oYixlLm1vZGUpLGw9ZCxtPSEhZS5jb21taXQ7bGV0IHA9bmV3IGZsKGspLHI9YXdhaXQgZ2wocCxsLG0pLHQ9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKTtobChhLG4sdCxmLHZvaWQgMCxiLmpvaW4oKSxlKTtyZXR1cm4gcn1jYXRjaChwKXtsPU1hdGgucm91bmQoKDAsXy5lbCkoKSk7bGV0IHI9UmsocCxhLmoubmFtZSxiLmpvaW4oKSxhLmoudmVyc2lvbik7aWYociBpbnN0YW5jZW9mIE5rJiYhci5qfHxmPj1jKWhsKGEsbixsLGYscixiLmpvaW4oKSwKZSksaD1yfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9O18ua2w9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLmNyZWF0ZU9iamVjdFN0b3JlKGIsYyk7cmV0dXJuIG5ldyBqbChhKX07Xy5tbD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaWwoYSxbYl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9Pl8ubGwoZC5vYmplY3RTdG9yZShiKSxjKSl9OwpobD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtiPWMtYjtlPyhlIGluc3RhbmNlb2YgTmsmJihlLnR5cGU9PT0iUVVPVEFfRVhDRUVERUQifHxlLnR5cGU9PT0iUVVPVEFfTUFZQkVfRVhDRUVERUQiKSYmSmsoIlFVT1RBX0VYQ0VFREVEIix7ZGJOYW1lOkxrKGEuai5uYW1lKSxvYmplY3RTdG9yZU5hbWVzOmYsdHJhbnNhY3Rpb25Db3VudDphLnRyYW5zYWN0aW9uQ291bnQsdHJhbnNhY3Rpb25Nb2RlOmgubW9kZX0pLGUgaW5zdGFuY2VvZiBOayYmZS50eXBlPT09IlVOS05PV05fQUJPUlQiJiYoYy09YS52LGM8MCYmYz49MjE0NzQ4MzY0OCYmKGM9MCksSmsoIlRSQU5TQUNUSU9OX1VORVhQRUNURURMWV9BQk9SVEVEIix7b2JqZWN0U3RvcmVOYW1lczpmLHRyYW5zYWN0aW9uRHVyYXRpb246Yix0cmFuc2FjdGlvbkNvdW50OmEudHJhbnNhY3Rpb25Db3VudCxkYkR1cmF0aW9uOmN9KSxhLm89ITApLG5sKGEsITEsZCxmLGIsaC50YWcpLF8uSWsoZSkpOm5sKGEsITAsZCxmLGIsaC50YWcpfTsKbmw9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiIpe0prKCJUUkFOU0FDVElPTl9FTkRFRCIse29iamVjdFN0b3JlTmFtZXM6ZCxjb25uZWN0aW9uSGFzVW5rbm93bkFib3J0ZWRUcmFuc2FjdGlvbjphLm8sZHVyYXRpb246ZSxpc1N1Y2Nlc3NmdWw6Yix0cnlDb3VudDpjLHRhZzpmfSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmwoYS5qLnB1dChiLHZvaWQgMCkpfTtfLm9sPWZ1bmN0aW9uKGEsYixjKXthLmouY3JlYXRlSW5kZXgoYixjLHt1bmlxdWU6ITF9KX07cWw9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLm9wZW5DdXJzb3IoYi5xdWVyeSxiLmRpcmVjdGlvbik7cmV0dXJuIHBsKGEpLnRoZW4oZD0+Y2woZCxjKSl9O3NsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGM9PmMuZGVsZXRlKCkudGhlbigoKT0+cmwoYykpKS50aGVuKCgpPT57fSl9Owp0bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtnbD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFByb21pc2UoKGUsZik9Pnt0cnl7bGV0IGg9YihhKTtjJiZhLmNvbW1pdCgpO2gudGhlbihrPT57ZShrKX0pLmNhdGNoKGYpfWNhdGNoKGgpe2YoaCksYS5hYm9ydCgpfX0pO3JldHVybiBQcm9taXNlLmFsbChbZCxhLmRvbmVdKS50aGVuKChbZV0pPT5lKX07dWw9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7cXVlcnk6ZD1udWxsLGRpcmVjdGlvbjplPSJuZXh0In09YjthPWEuai5vcGVuQ3Vyc29yKGQsZSk7cmV0dXJuIHBsKGEpLnRoZW4oZj0+Y2woZixjKSl9Owp2bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHVsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtwbD1mdW5jdGlvbihhKXtyZXR1cm4gYmwoYSkudGhlbihiPT5iP25ldyB3bChhLGIpOm51bGwpfTtybD1mdW5jdGlvbihhKXthLmN1cnNvci5jb250aW51ZSh2b2lkIDApO3JldHVybiBwbChhLnJlcXVlc3QpfTsKeWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgUHJvbWlzZSgoZCxlKT0+e3ZhciBmPWIhPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihhLGIpOnNlbGYuaW5kZXhlZERCLm9wZW4oYSk7dmFyIGg9Yy5ibG9ja2VkLGs9Yy5ibG9ja2luZyxsPWMuVEEsbT1jLnVwZ3JhZGUsbj1jLmNsb3NlZCxwLHI9KCk9PntwfHwocD1uZXcgeGwoZi5yZXN1bHQse2Nsb3NlZDpufSkpO3JldHVybiBwfTtmLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLHQ9Pnt0cnl7aWYodC5uZXdWZXJzaW9uPT09bnVsbCl0aHJvdyBFcnJvcigibmEiKTtpZihmLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigib2EiKTt0LmRhdGFMb3NzJiZ0LmRhdGFMb3NzIT09Im5vbmUiJiZKaygiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOnQuZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpMayhhKX0pO2xldCB2PXIoKSx6PW5ldyBmbChmLnRyYW5zYWN0aW9uKTttJiYKbSh2LEU9PnQub2xkVmVyc2lvbjxFJiZ0Lm5ld1ZlcnNpb24+PUUseik7ei5kb25lLmNhdGNoKEU9PntlKEUpfSl9Y2F0Y2godil7ZSh2KX19KTtmLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCgpPT57dmFyIHQ9Zi5yZXN1bHQ7ayYmdC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKT0+e2socigpKX0pO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57SmsoIklEQl9VTkVYUEVDVEVETFlfQ0xPU0VEIix7ZGJOYW1lOkxrKGEpLGRiVmVyc2lvbjp0LnZlcnNpb259KTtsJiZsKCl9KTtkKHIoKSl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2UoZi5lcnJvcil9KTtoJiZmLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgpPT57aCgpfSl9KX07emw9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiB5bChhLGIsYyl9OwpfLkFsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dHJ5e2xldCBjPXNlbGYuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGEpLGQ9Yi5ibG9ja2VkO2QmJmMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntkKCl9KTthd2FpdCAkayhjKX1jYXRjaChjKXt0aHJvdyBSayhjLGEsIiIsLTEpO319O0JsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBOaygiSU5DT01QQVRJQkxFX0RCX1ZFUlNJT04iLHtkYk5hbWU6YS5uYW1lLG9sZFZlcnNpb246YS5vcHRpb25zLnZlcnNpb24sbmV3VmVyc2lvbjpifSl9O18uQ2w9ZnVuY3Rpb24oYSxiKXtpZighYil0aHJvdyBTaygib3BlbldpdGhUb2tlbiIsTGsoYS5uYW1lKSk7cmV0dXJuIGEub3BlbigpfTsKRWw9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pbChhd2FpdCBfLkNsKERsLGIpLFsiZGF0YWJhc2VzIl0se2tiOiEwLG1vZGU6InJlYWR3cml0ZSJ9LGM9Pnt2YXIgZD1jLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKTtyZXR1cm4gZC5nZXQoYS5hY3R1YWxOYW1lKS50aGVuKGU9PntpZihlP2EuYWN0dWFsTmFtZSE9PWUuYWN0dWFsTmFtZXx8YS5wdWJsaWNOYW1lIT09ZS5wdWJsaWNOYW1lfHxhLnVzZXJJZGVudGlmaWVyIT09ZS51c2VySWRlbnRpZmllcjoxKXJldHVybiBfLmxsKGQsYSkudGhlbigoKT0+e30pfSl9KX07Xy5GbD1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBhPyhhd2FpdCBfLkNsKERsLGIpKS5kZWxldGUoImRhdGFiYXNlcyIsYSk6dm9pZCAwfTsKXy5HbD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9YXdhaXQgXy5DbChEbCxiKTthd2FpdCBfLmlsKGIsWyJkYXRhYmFzZXMiXSx7a2I6ITAsbW9kZToicmVhZG9ubHkifSxkPT57Yy5sZW5ndGg9MDtyZXR1cm4gcWwoZC5vYmplY3RTdG9yZSgiZGF0YWJhc2VzIikse30sZT0+e2EoZS5jdXJzb3IudmFsdWUpJiZjLnB1c2goZS5jdXJzb3IudmFsdWUpO3JldHVybiBybChlKX0pfSk7cmV0dXJuIGN9O0hsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdsKGI9PmIucHVibGljTmFtZT09PSJMb2dzRGF0YWJhc2VWMiImJmIudXNlcklkZW50aWZpZXIhPT12b2lkIDAsYSl9OwpMbD1hc3luYyBmdW5jdGlvbigpe2lmKEVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIGE7aWYoYT1fLklsKWE9L1dlYktpdFwvKFswLTldKykvLmV4ZWMoXy5iYygpKSxhPSEhKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDApO2EmJihhPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKF8uYmMoKSksYT0hKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDIpKTtpZighKGE9YXx8Xy5KbCkpe3RyeXthPXNlbGY7dmFyIGI9ISEoYS5pbmRleGVkREImJmEuSURCSW5kZXgmJmEuSURCS2V5UmFuZ2UmJmEuSURCT2JqZWN0U3RvcmUpfWNhdGNoKGMpe2I9ITF9YT0hYn1pZihhfHwhKCJJREJUcmFuc2FjdGlvbiJpbiBzZWxmJiYib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUpKXJldHVybiExO3RyeXtyZXR1cm4gYXdhaXQgRWwoe2FjdHVhbE5hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLHB1YmxpY05hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLAp1c2VySWRlbnRpZmllcjp2b2lkIDB9LEtsKSxhd2FpdCBfLkZsKCJ5dC1pZGItdGVzdC1kby1ub3QtdXNlIixLbCksITB9Y2F0Y2goYyl7cmV0dXJuITF9fTtObD1mdW5jdGlvbigpe2lmKE1sIT09dm9pZCAwKXJldHVybiBNbDtGaz0hMDtyZXR1cm4gTWw9TGwoKS50aGVuKGE9PntGaz0hMTtpZihEaygpPy5vKCkpe3ZhciBiPXtoYXNTdWNjZWVkZWRPbmNlOkVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2V8fGF9O0RrKCk/LnNldCgiTEFTVF9SRVNVTFRfRU5UUllfS0VZIixiLDI1OTJFMywhMCl9cmV0dXJuIGF9KX07T2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zYSgieXRnbG9iYWwuaWRiVG9rZW5fIil8fHZvaWQgMH07Xy5QbD1mdW5jdGlvbigpe3ZhciBhPU9sKCk7cmV0dXJuIGE/UHJvbWlzZS5yZXNvbHZlKGEpOk5sKCkudGhlbihiPT57Yj8oXy5yYSgieXRnbG9iYWwuaWRiVG9rZW5fIixLbCksYj1LbCk6Yj12b2lkIDA7cmV0dXJuIGJ9KX07ClFsPWZ1bmN0aW9uKGEpe2lmKCFfLldqKCkpdGhyb3cgYT1uZXcgTmsoIkFVVEhfSU5WQUxJRCIse2RiTmFtZTphfSksXy5JayhhKSxhO3ZhciBiPV8uVmooKTtyZXR1cm57YWN0dWFsTmFtZTpgJHthfToke2J9YCxwdWJsaWNOYW1lOmEsdXNlcklkZW50aWZpZXI6Yn19OwpSbD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1FcnJvcigpLnN0YWNrPz8iIixmPWF3YWl0IF8uUGwoKTtpZighZil0aHJvdyBiPVNrKCJvcGVuRGJJbXBsIixhLGIpLF8ueCgieXRpZGJfYXN5bmNfc3RhY2tfa2lsbHN3aXRjaCIpfHwoYi5zdGFjaz1gJHtiLnN0YWNrfVxuJHtlLnN1YnN0cmluZyhlLmluZGV4T2YoIlxuIikrMSl9YCksXy5JayhiKSxiO0trKGEpO2U9Yz97YWN0dWFsTmFtZTphLHB1YmxpY05hbWU6YSx1c2VySWRlbnRpZmllcjp2b2lkIDB9OlFsKGEpO3RyeXtyZXR1cm4gYXdhaXQgRWwoZSxmKSxhd2FpdCB6bChlLmFjdHVhbE5hbWUsYixkKX1jYXRjaChoKXt0cnl7YXdhaXQgXy5GbChlLmFjdHVhbE5hbWUsZil9Y2F0Y2h7fXRocm93IGg7fX07U2w9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBSbChhLGIsITEsYyl9O1RsPWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gUmwoYSxiLCEwLGMpfTsKVWw9YXN5bmMgZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1hd2FpdCBfLlBsKCk7YyYmKEtrKGEpLGE9UWwoYSksYXdhaXQgXy5BbChhLmFjdHVhbE5hbWUsYiksYXdhaXQgXy5GbChhLmFjdHVhbE5hbWUsYykpfTtWbD1mdW5jdGlvbihhLGIsYyl7YT1hLm1hcChhc3luYyBkPT57YXdhaXQgXy5BbChkLmFjdHVhbE5hbWUsYik7YXdhaXQgXy5GbChkLmFjdHVhbE5hbWUsYyl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e30pfTtXbD1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LGI9YXdhaXQgXy5QbCgpO2lmKGIpe0trKCJMb2dzRGF0YWJhc2VWMiIpO3ZhciBjPWF3YWl0IEhsKGIpO2F3YWl0IFZsKGMsYSxiKX19O1hsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9YXdhaXQgXy5QbCgpO2MmJihLayhhKSxhd2FpdCBfLkFsKGEsYiksYXdhaXQgXy5GbChhLGMpKX07Wmw9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oKT0+e2N8fChjPW5ldyBZbChhLGIpKTtyZXR1cm4gY319OwpfLiRsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFpsKGEsYil9O2JtPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKGFtKCksYSl9O2NtPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLHRpbWVzdGFtcDooMCxfLmVsKSgpfTtjPWF3YWl0IGJtKGMpO2F3YWl0IGMuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IF8ubWwoYywiaG90Q29uZmlnU3RvcmUiLGEpfTtkbT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLGNvbmZpZ0RhdGE6Yyx0aW1lc3RhbXA6KDAsXy5lbCkoKX07ZD1hd2FpdCBibShkKTthd2FpdCBkLmNsZWFyKCJjb2xkQ29uZmlnU3RvcmUiKTtyZXR1cm4gYXdhaXQgXy5tbChkLCJjb2xkQ29uZmlnU3RvcmUiLGEpfTsKZW09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBibShhKTt2YXIgYj12b2lkIDA7YXdhaXQgXy5pbChhLFsiY29sZENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImNvbGRDb25maWdTdG9yZSIpLmluZGV4KCJjb2xkVGltZXN0YW1wSW5kZXgiKSx7ZGlyZWN0aW9uOiJwcmV2In0sZD0+e2I9ZC5jdXJzb3IudmFsdWV9KSk7cmV0dXJuIGJ9O2ZtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgYm0oYSk7dmFyIGI9dm9pZCAwO2F3YWl0IF8uaWwoYSxbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGQ9PntiPWQuY3Vyc29yLnZhbHVlfSkpO3JldHVybiBifTsKZ209YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2lmKF8ueCgic3RhcnRfY2xpZW50X2djZiIpKXtjJiYoYS52PWMsXy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIsYS52fHxudWxsKSk7YS5CKGIpO2xldCBkPU9sKCk7ZCYmKGN8fChjPShhd2FpdCBmbShkKSk/LmNvbmZpZyksYXdhaXQgY20oYyxiLGQpKTtpZihjKXthPWEubztmb3IobGV0IGUgb2YgYS5qKWUoYyl9fX07aG09YXN5bmMgZnVuY3Rpb24oYSxiLGMpe18ueCgic3RhcnRfY2xpZW50X2djZiIpJiYoYS5jb2xkSGFzaERhdGE9YixfLnJhKCJ5dC5nY2YuY29uZmlnLmNvbGRIYXNoRGF0YSIsYS5jb2xkSGFzaERhdGF8fG51bGwpLGE9T2woKSkmJihjfHwoYz0oYXdhaXQgZW0oYSkpPy5jb25maWcpLGMmJmF3YWl0IGRtKGMsYixjLmNvbmZpZ0RhdGEsYSkpfTsKXy5qbT1mdW5jdGlvbigpe2lmKCFpbS5pbnN0YW5jZSl7dmFyIGE9bmV3IGltO2ltLmluc3RhbmNlPWF9YT1pbS5pbnN0YW5jZTt2YXIgYj0oMCxfLmVsKSgpLWEuajtpZighKGEuaiE9PTAmJmI8Xy5zaigic2VuZF9jb25maWdfaGFzaF90aW1lciIpKSl7Yj1fLnNhKCJ5dC5nY2YuY29uZmlnLmNvbGRDb25maWdEYXRhIik7dmFyIGM9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIpLGQ9Xy5zYSgieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiKTtiJiZjJiZkJiYoYS5qPSgwLF8uZWwpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpiLGhvdEhhc2hEYXRhOmMsY29sZEhhc2hEYXRhOmR9fX07a209ZnVuY3Rpb24oKXtyZXR1cm4iSU5ORVJUVUJFX0FQSV9LRVkiaW4gXy5QaSYmIklOTkVSVFVCRV9BUElfVkVSU0lPTiJpbiBfLlBpfTsKbG09ZnVuY3Rpb24oKXtyZXR1cm57aW5uZXJ0dWJlQXBpS2V5Ol8udygiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOl8udygiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIiksd3g6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfQ09ORklHX0lORk8iKSxtcTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIikscUo6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSksaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb246Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLHl4Ol8udygiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSx4eDpfLncoIklOTkVSVFVCRV9DT05URVhUX0dMIikseng6Xy53KCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSIpfHwiIixBeDohIV8udygiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSkscko6ISFfLncoIklOTkVSVFVCRV9PTUlUX0FQSV9LRVlfV0hFTl9BVVRIX0hFQURFUl9JU19QUkVTRU5UIiwKITEpLGFwcEluc3RhbGxEYXRhOl8udygiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiKX19OwptbT1mdW5jdGlvbihhKXt2YXIgYj17Y2xpZW50OntobDphLnl4LGdsOmEueHgsY2xpZW50TmFtZTphLm1xLGNsaWVudFZlcnNpb246YS5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbixjb25maWdJbmZvOmEud3h9fTtuYXZpZ2F0b3IudXNlckFnZW50JiYoYi5jbGllbnQudXNlckFnZW50PVN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KSk7dmFyIGM9Xy51LmRldmljZVBpeGVsUmF0aW87YyYmYyE9MSYmKGIuY2xpZW50LnNjcmVlbkRlbnNpdHlGbG9hdD1TdHJpbmcoYykpO2M9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpO2MhPT0iIiYmKGIuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49Yyk7Yz1fLnVqKCk7Yy5sZW5ndGg+MCYmKGIucmVxdWVzdD17aW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6Y30pO2M9YS5tcTtjIT09IldFQiImJmMhPT0iTVdFQiImJmMhPT0xJiZjIT09Mnx8IWJ8fChiLmNsaWVudC5tYWluQXBwV2ViSW5mbz1iLmNsaWVudC5tYWluQXBwV2ViSW5mbz8/e30sCmIuY2xpZW50Lm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSk7KGM9Xy5zYSgieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpKSYmYiYmKGIudGhpcmRQYXJ0eT17ZW1iZWRVcmw6Y30pO18ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGM9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5LGImJihiLmNsaWVudC5tZW1vcnlUb3RhbEtieXRlcz1gJHtjKjFFNn1gKSk7YS5hcHBJbnN0YWxsRGF0YSYmYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYi5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1hLmFwcEluc3RhbGxEYXRhKTsoYT1fLlNqKCkpJiZiJiYoYi5jbGllbnQuY29ubmVjdGlvblR5cGU9YSk7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGE9Xy5VaigpKSYmYiYmKGIuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPQphKTtpZihfLngoInN0YXJ0X2NsaWVudF9nY2YiKSl7dmFyIGQ9Xy5qbSgpO2QmJihhPWQuY29sZENvbmZpZ0RhdGEsYz1kLmNvbGRIYXNoRGF0YSxkPWQuaG90SGFzaERhdGEsYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYSYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YSksYyYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPWMpLGQmJihiLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWQpKSl9Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpJiYhXy54KCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoYi51c2VyPXtvbkJlaGFsZk9mVXNlcjpfLncoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIil9KTshXy54KCJmaWxsX2RlbGVnYXRlX2NvbnRleHRfaW5fZ2VsX2tpbGxzd2l0Y2giKSYmKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9TRVJJQUxJWkVEX0RFTEVHQVRJT05fQ09OVEVYVCIpKSYmKGIudXNlcj0Key4uLmIudXNlcixzZXJpYWxpemVkRGVsZWdhdGlvbkNvbnRleHQ6YX0pO2E9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO18ueCgiZW5hYmxlX3BlcnNpc3RlbnRfZGV2aWNlX3Rva2VuIikmJmE/LmNsaWVudD8ucm9sbG91dFRva2VuJiYoYi5jbGllbnQucm9sbG91dFRva2VuPWE/LmNsaWVudD8ucm9sbG91dFRva2VuKTthPU9iamVjdDtjPWEuYXNzaWduO2Q9Yi5jbGllbnQ7dmFyIGU9Xy53KCJERVZJQ0UiLCIiKSxmPXt9O2ZvcihsZXQgW2gsa11vZiBPYmplY3QuZW50cmllcyhfLmJqKGUpKSllPWgsZT09PSJjYnJhbmQiP2YuZGV2aWNlTWFrZT1rOmU9PT0iY21vZGVsIj9mLmRldmljZU1vZGVsPWs6ZT09PSJjYnIiP2YuYnJvd3Nlck5hbWU9azplPT09ImNicnZlciI/Zi5icm93c2VyVmVyc2lvbj1rOmU9PT0iY29zIj9mLm9zTmFtZT1rOmU9PT0iY29zdmVyIj9mLm9zVmVyc2lvbj1rOmU9PT0iY3BsYXRmb3JtIiYmKGYucGxhdGZvcm09ayk7Yi5jbGllbnQ9Yy5jYWxsKGEsZCxmKTsKXy54KCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoYi5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsYi5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGJ9OwpvbT1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9e307Xy53KCJFT01fVklTSVRPUl9EQVRBIik/ZD17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Xy53KCJFT01fVklTSVRPUl9EQVRBIil9OmQ9eyJYLUdvb2ctVmlzaXRvci1JZCI6Yy52aXNpdG9yRGF0YXx8Xy53KCJWSVNJVE9SX0RBVEEiLCIiKX07aWYoYiYmYi5pbmNsdWRlcygid3d3LnlvdXR1YmUtbm9jb29raWUuY29tIikpcmV0dXJuIGQ7Yj1jLmF1dGhvcml6YXRpb258fF8udygiQVVUSE9SSVpBVElPTiIpO2J8fChhP2I9YEJlYXJlciAke18uc2EoImdhcGkuYXV0aC5nZXRUb2tlbiIpKCkuT0h9YDooXy5ubS5pbnN0YW5jZXx8KF8ubm0uaW5zdGFuY2U9bmV3IF8ubm0pLGE9Xy5QaigpLF8ueCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIGFbIlgtR29vZy1QYWdlSWQiXSxkPXsuLi5kLC4uLmF9KSk7YiYmKGQuQXV0aG9yaXphdGlvbj1iKTtyZXR1cm4gZH07Cl8ucG09ZnVuY3Rpb24oYSl7dGhpcy52ZXJzaW9uPTE7dGhpcy5hcmdzPWF9O18ucW09ZnVuY3Rpb24oYSxiKXt0aGlzLnRvcGljPWE7dGhpcy5qPWJ9O18uc209ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnJtKCk7YyYmYy5wdWJsaXNoLmNhbGwoYyxhLnRvU3RyaW5nKCksYSxiKX07Xy5ybT1mdW5jdGlvbigpe3JldHVybiBfLnNhKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKX07dG09ZnVuY3Rpb24oYSxiLGM9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixjLnNhbXBsZVJhdGUvMTAwKSYmXy5zbSgibWV0YV9sb2dnaW5nX2NzaV9ldmVudCIse3RpbWVyTmFtZTphLHRpbWVsaW5lRGF0YTpifSl9OwpBbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17c3RhcnRUaW1lOigwLF8uZWwpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD1fLnVtKGIpO2lmKGg9PW51bGx8fCEoaD5fLndtfHxoPF8ueG0pKXt2YXIgZj1fLk5pKCgwLF8ueW0pKGIpKTtsZXQgaz0oMCxfLmVsKSgpO2UudGlja3MuZ2VsYz1rO3ptKys7Xy54KCJnZWxfY29tcHJlc3Npb25fY3NpX2tpbGxzd2l0Y2giKXx8IV8ueCgibG9nX2dlbF9jb21wcmVzc2lvbl9sYXRlbmN5IikmJiFfLngoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeV9sciIpfHx0bSgiZ2VsX2NvbXByZXNzaW9uIixlLHtzYW1wbGVSYXRlOi4xfSk7Yy5oZWFkZXJzfHwoYy5oZWFkZXJzPXt9KTtjLmhlYWRlcnNbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Yy5wb3N0Qm9keT1mO2MucG9zdFBhcmFtcz12b2lkIDB9ZChhLGMpfWNhdGNoKGgpe18uV2koaCksZChhLGMpfX07Cl8udW09ZnVuY3Rpb24oYSl7dHJ5e3JldHVybihuZXcgQmxvYihhLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksbnVsbH19O0JtPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5KYXx8YS54aX07RG09ZnVuY3Rpb24oYSl7Qm0oYSkmJiFhLmFoJiYoYS5PYz0hMCxhLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLmNiLk91KGEuSmEpLENtKGEpLGEuU2EuU2IoKSYmYS5vKCksYS5TYS5saXN0ZW4oYS5LbSxhLm8uYmluZChhKSksYS5TYS5saXN0ZW4oYS5GbSxhLnYuYmluZChhKSkpfTtDbT1mdW5jdGlvbihhKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInhhIik7YS5jYi5XcCgiUVVFVUVEIixhLkphKS50aGVuKGI9PntiJiYhRW0oYSxiLGEuQ3IpP2EuRGMucGIoYXN5bmMoKT0+e2IuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphKTtDbShhKX0pOmEuU2EuU2IoKSYmYS5vKCl9KX07CkdtPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoIUJtKGEpKXRocm93IEVycm9yKCJzYSIpO2IuaWQhPT12b2lkIDAmJihhd2FpdCBhLmNiLkF5KGIuaWQsYS5KYSl8fGEuVGYoRXJyb3IoInRhIikpKTtFbShhLGIsYS5Lcik/KGIuc2tpcFJldHJ5fHwoYj1GbShhLGIpKSxiJiYoYi5za2lwUmV0cnkmJmIuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSxhLkdkKGIudXJsLGIub3B0aW9ucywhIWIuc2tpcFJldHJ5KSkpOihhLlRmKEVycm9yKCJ1YSIpKSxiLmlkIT09dm9pZCAwJiZhd2FpdCBhLmNiLkZmKGIuaWQsYS5KYSkpfTtIbT1mdW5jdGlvbihhLGIpe2EuTHMmJiFhLlNhLlNiKCk/YS5McyhiKTphLmhhbmRsZUVycm9yKGIpfTtFbT1mdW5jdGlvbihhLGIsYyl7Yj1iLnRpbWVzdGFtcDtyZXR1cm4gYS5ub3coKS1iPj1jPyExOiEwfTsKRm09ZnVuY3Rpb24oYSxiKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInZhIik7dmFyIGM9Yi5vcHRpb25zLm9uRXJyb3I/Yi5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9O2Iub3B0aW9ucy5vbkVycm9yPWFzeW5jKGUsZik9Pnt2YXIgaD1JbShmKSxrPUptKGYpO2smJmEuS2EmJmEuS2EoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJmEuaGFuZGxlRXJyb3IoRXJyb3IoIndhIiksYi51cmwsZik7aWYoYS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmaHx8YS5LYSYmIWEuS2EoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmEucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPD1hLktqKWlmKGEuU2EuUWomJmF3YWl0IGEuU2EuUWooKSwhYS5TYS5TYigpKXtjKGUsZik7YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmYj8uaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCExKTtyZXR1cm59YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmCiFoJiZhLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5hLktqfHwoYS5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKyxiPy5pZCE9PXZvaWQgMCYmKGIuc2VuZENvdW50PGEuTXI/KGF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCEwLGs/ITE6dm9pZCAwKSxhLkRjLnBiKCgpPT57YS5TYS5TYigpJiZhLm8oKX0sYS5McikpOmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSksYyhlLGYpKX07dmFyIGQ9Yi5vcHRpb25zLm9uU3VjY2Vzcz9iLm9wdGlvbnMub25TdWNjZXNzOigpPT57fTtiLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKGUsZik9PntiPy5pZCE9PXZvaWQgMCYmYXdhaXQgYS5jYi5GZihiLmlkLGEuSmEpO2EuU2EuZWYmJmEuS2EmJmEuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmYS5TYS5lZighMCk7ZChlLGYpfTtyZXR1cm4gYn07SW09ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YT8uZXJyb3I/LmNvZGUpJiZhPj00MDAmJmE8PTU5OT8hMTohMH07CkptPWZ1bmN0aW9uKGEpe2E9YT8uZXJyb3I/LmNvZGU7cmV0dXJuIShhIT09NDAwJiZhIT09NDE1KX07CkxtPWZ1bmN0aW9uKCl7aWYoS20pcmV0dXJuIEttKCk7S209Xy4kbCgiTG9nc0RhdGFiYXNlVjIiLHtzZTp7TG9nc1JlcXVlc3RzU3RvcmU6e1BkOjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShhLGIsYyl7YigyKSYmXy5rbChhLCJMb2dzUmVxdWVzdHNTdG9yZSIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSk7YigzKTtiKDUpJiYoYz1jLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLGMuai5pbmRleE5hbWVzLmNvbnRhaW5zKCJuZXdSZXF1ZXN0IikmJmMuai5kZWxldGVJbmRleCgibmV3UmVxdWVzdCIpLF8ub2woYywibmV3UmVxdWVzdFYyIixbInN0YXR1cyIsImludGVyZmFjZSIsInRpbWVzdGFtcCJdKSk7Yig3KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInNhcGlzaWQiKSYmYS5qLmRlbGV0ZU9iamVjdFN0b3JlKCJzYXBpc2lkIik7Yig5KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoIlNXSGVhbHRoTG9nIikmJmEuai5kZWxldGVPYmplY3RTdG9yZSgiU1dIZWFsdGhMb2ciKX0sCnZlcnNpb246OX0pO3JldHVybiBLbSgpfTtNbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChMbSgpLGEpfTtPbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtiPWF3YWl0IE1tKGIpO2E9ey4uLmEsb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEub3B0aW9ucykpLGludGVyZmFjZTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwwKX07YT1hd2FpdCBfLm1sKGIsIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGF9OwpQbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9SRUFEIn0sdGlja3M6e319O2I9YXdhaXQgTW0oYik7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksZT1bYSxkLDBdO2Q9W2EsZCwoMCxfLmVsKSgpXTt2YXIgZj1JREJLZXlSYW5nZS5ib3VuZChlLGQpLGg9InByZXYiO18ueCgidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIikmJihoPSJuZXh0Iik7dmFyIGs9dm9pZCAwO2U9YT09PSJORVciPyJyZWFkd3JpdGUiOiJyZWFkb25seSI7Xy54KCJ1c2VfcmVhZG9ubHlfZm9yX2dldF9tb3N0X3JlY2VudF9ieV9zdGF0dXNfa2lsbHN3aXRjaCIpJiYoZT0icmVhZHdyaXRlIik7YXdhaXQgXy5pbChiLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTplLGtiOiEwfSxsPT51bChsLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmYsZGlyZWN0aW9uOmh9LG09PnttLmN1cnNvci52YWx1ZSYmKGs9bS5jdXJzb3IudmFsdWUsYT09PSJORVciJiYoay5zdGF0dXM9IlFVRVVFRCIsbS51cGRhdGUoaykpKX0pKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGt9O1FtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWwoYXdhaXQgTW0oYiksWyJMb2dzUmVxdWVzdHNTdG9yZSJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT57dmFyIGQ9Yy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKTtyZXR1cm4gZC5nZXQoYSkudGhlbihlPT57aWYoZSlyZXR1cm4gZS5zdGF0dXM9IlFVRVVFRCIsXy5sbChkLGUpLnRoZW4oKCk9PmUpfSl9KX07ClJtPWFzeW5jIGZ1bmN0aW9uKGEsYixjPSEwLGQpe3JldHVybiBfLmlsKGF3YWl0IE1tKGIpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sZT0+e3ZhciBmPWUub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGYuZ2V0KGEpLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsYyYmKGguc2VuZENvdW50Kz0xKSxkIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWQpLF8ubGwoZixoKS50aGVuKCgpPT5oKSk6Xy5Way5yZXNvbHZlKHZvaWQgMCkpfSl9O1NtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuKGF3YWl0IE1tKGIpKS5kZWxldGUoIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKX07ClRtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgTW0oYSk7dmFyIGI9KDAsXy5lbCkoKS0yNTkyRTY7YXdhaXQgXy5pbChhLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sYz0+cWwoYy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxkPT57aWYoZC5jdXJzb3IudmFsdWUudGltZXN0YW1wPD1iKXJldHVybiBkLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGQpKX0pKX07VW09YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBXbCgpfTtObT1mdW5jdGlvbihhKXtfLngoIm53bF9jc2lfa2lsbHN3aXRjaCIpfHx0bSgibmV0d29ya2xlc3NfcGVyZm9ybWFuY2UiLGEse3NhbXBsZVJhdGU6MX0pfTtXbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChWbSgpLGEpfTsKWG09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBXbShhKTt2YXIgYj0oMCxfLmVsKSgpLTI1OTJFNjthd2FpdCBfLmlsKGEsWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT5xbChjLm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGQ9PntpZihkLmN1cnNvci52YWx1ZS50aW1lc3RhbXA8PWIpcmV0dXJuIGQuZGVsZXRlKCkudGhlbigoKT0+cmwoZCkpfSkpfTtZbT1hc3luYyBmdW5jdGlvbihhKXthd2FpdCAoYXdhaXQgV20oYSkpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKXy5hbj1mdW5jdGlvbihhLGIsYyxkLGU9IiIsZj0hMSxoPSExKXtpZihhKWlmKGMmJiFfLk1rKCJjb2JhbHQiKSlfLldpKG5ldyBfLlhqKCJMZWdhY3kgcmVmZXJyZXItc2NydWJiZWQgcGluZyBkZXRlY3RlZCIpKSxhJiZabShhLHZvaWQgMCx7c2NydWJSZWZlcnJlcjohMH0pO2Vsc2UgaWYoZSl4aihhLGIsIlBPU1QiLGUsZCk7ZWxzZSBpZihfLncoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8ZHx8aCl4aihhLGIsIkdFVCIsIiIsZCx2b2lkIDAsZixoKTtlbHNle2I6e3RyeXtjOnt2YXIgaz1uZXcgJG0oe3VybDphfSk7aWYoay5qLmRzaD09PSIxIil2YXIgbD1udWxsO2Vsc2V7dmFyIG09ay5qLmFlO2lmKG09PT0iMSIpe2xldCByPWsuai5hZHVybDtpZihyKXRyeXtsPXt2ZXJzaW9uOjMsbXY6ZGVjb2RlVVJJQ29tcG9uZW50KHIpLHp1OklhKGsubywiYWN0PTEiLCJyaT0xIixLYShrKSl9O2JyZWFrIGN9Y2F0Y2godCl7fX1sPW09PT0iMiI/e3ZlcnNpb246NCwKbXY6SWEoay5vLCJkY3Q9MSIsInN1aWQ9IitrLnYsInJpPTEiKSx6dTpJYShrLm8sImFjdD0xIiwicmk9MSIsInN1aWQ9IitrLnYpfTpudWxsfX1pZihsKXtsZXQgcj1fLlFiKGEpO3ZhciBuPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxfLlpiKGEsInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31uPSExfWlmKG4pe2I6e3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihhLCIiKSl7dmFyIHA9ITA7YnJlYWsgYn19Y2F0Y2gocil7fXA9ITF9cD8oYiYmYigpLGM9ITApOmM9ITF9ZWxzZSBjPSExO2N8fFptKGEsYil9fTsKWm09ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPW5ldyBJbWFnZSxlPSIiK2JuKys7Y25bZV09ZDtkLm9ubG9hZD1kLm9uZXJyb3I9KCk9PntiJiZjbltlXSYmYigpO2RlbGV0ZSBjbltlXX07Yy5zY3J1YlJlZmVycmVyJiYoZC5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtkLnNyYz1hfTtmbj1mdW5jdGlvbigpe2RufHwoZG49bmV3IF8uZW4oInl0Lm9mZmxpbmUiKSk7cmV0dXJuIGRufTtnbj1mdW5jdGlvbihhKXtpZihfLngoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIGI9Zm4oKS5nZXQoImVycm9ycyIsITApfHx7fTtiW2EubWVzc2FnZV09e25hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9O2EubGV2ZWwmJihiW2EubWVzc2FnZV0ubGV2ZWw9YS5sZXZlbCk7Zm4oKS5zZXQoImVycm9ycyIsYiwyNTkyRTMsITApfX07CmpuPWZ1bmN0aW9uKCl7aWYoIWhuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrUmVxdWVzdE1vbml0b3IuaW5zdGFuY2UiKXx8bmV3IGhuO18ucmEoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIsYSk7aG4uaW5zdGFuY2U9YX1yZXR1cm4gaG4uaW5zdGFuY2V9O2xuPWZ1bmN0aW9uKCl7aWYoIWtuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcga247Xy5yYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLGEpO2tuLmluc3RhbmNlPWF9cmV0dXJuIGtuLmluc3RhbmNlfTsKbW49ZnVuY3Rpb24oYSxiKXthLnJhdGVMaW1pdD9hLmo/KF8uamYuQWEoYS5EKSxhLkQ9Xy5qZi5wYigoKT0+e2EuQiE9PWImJihhLmRpc3BhdGNoRXZlbnQoYiksYS5CPWIsYS5qPSgwLF8uZWwpKCkpfSxhLnJhdGVMaW1pdC0oKDAsXy5lbCkoKS1hLmopKSk6KGEuZGlzcGF0Y2hFdmVudChiKSxhLkI9YixhLmo9KDAsXy5lbCkoKSk6YS5kaXNwYXRjaEV2ZW50KGIpfTsKXy5wbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Lm5ldHdvcmtsZXNzUmVxdWVzdENvbnRyb2xsZXIuaW5zdGFuY2UiKTthfHwoYT1uZXcgbm4sXy5yYSgieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsYSksXy54KCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJl8uUGwoKS50aGVuKGI9PnthLkphPWI7RG0oYSk7YS5CLnJlc29sdmUoKTthLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLkphJiZYbShhLkphKTtfLngoIm5ldHdvcmtsZXNzX2ltbWVkaWF0ZWx5X2Ryb3Bfc3dfaGVhbHRoX3N0b3JlIikmJm9uKGEpfSkpO3JldHVybiBhfTtvbj1hc3luYyBmdW5jdGlvbihhKXtpZighYS5KYSl0aHJvdyBTaygiY2xlYXJTV0hlYWx0aExvZ3NEYiIpO1ltKGEuSmEpLmNhdGNoKGI9PnthLmhhbmRsZUVycm9yKGIpfSl9Owpxbj1mdW5jdGlvbihhLGIsYyl7Yj1fLngoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sYik6YjtfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Yi5oZWFkZXJzJiZfLmZqKGEpJiYoYi5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxfLmVsKSgpKSkpOmIucG9zdFBhcmFtcz8ucmVxdWVzdFRpbWVNcyYmKGIucG9zdFBhcmFtcy5yZXF1ZXN0VGltZU1zPU1hdGgucm91bmQoKDAsXy5lbCkoKSkpO2MmJk9iamVjdC5rZXlzKGIpLmxlbmd0aD09PTA/Xy5hbihhKTpiLmNvbXByZXNzP2IucG9zdEJvZHk/KHR5cGVvZiBiLnBvc3RCb2R5IT09InN0cmluZyImJihiLnBvc3RCb2R5PUpTT04uc3RyaW5naWZ5KGIucG9zdEJvZHkpKSxBbShhLGIucG9zdEJvZHksYixfLnpqKSk6QW0oYSxKU09OLnN0cmluZ2lmeShiLnBvc3RQYXJhbXMpLGIsQWopOl8uemooYSxiKX07CnJuPWZ1bmN0aW9uKGEsYil7Xy54KCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiKSYmXy5maihhKSYmKGIuaGVhZGVyc3x8KGIuaGVhZGVycz17fSksYi5oZWFkZXJzWyJYLUdvb2ctRXZlbnQtVGltZSJdPUpTT04uc3RyaW5naWZ5KE1hdGgucm91bmQoKDAsXy5lbCkoKSkpKTtyZXR1cm4gYn07Xy5zbj1mdW5jdGlvbigpe3JldHVybiBfLlBiKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpIT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSJ9Owp2bj1mdW5jdGlvbihhLGIsYyxkKXshXy53KCJWSVNJVE9SX0RBVEEiKSYmYiE9PSJ2aXNpdG9yX2lkIiYmTWF0aC5yYW5kb20oKTwuMDEmJl8uV2kobmV3IF8uWGooIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLGIsYyxkKSk7aWYoIWEuaXNSZWFkeSgpKXRocm93IGE9bmV3IF8uWGooImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixiLGMsZCksXy5VaShhKSxhO3ZhciBlPXtoZWFkZXJzOmQuaGVhZGVyc3x8e30sbWV0aG9kOiJQT1NUIixwb3N0UGFyYW1zOmMscG9zdEJvZHk6ZC5wb3N0Qm9keSxwb3N0Qm9keUZvcm1hdDpkLnBvc3RCb2R5Rm9ybWF0fHwiSlNPTiIsb25UaW1lb3V0OigpPT57ZC5vblRpbWVvdXQoKX0sb25GZXRjaFRpbWVvdXQ6ZC5vblRpbWVvdXQsb25TdWNjZXNzOihtLG4pPT57aWYoZC5vblN1Y2Nlc3MpZC5vblN1Y2Nlc3Mobil9LG9uRmV0Y2hTdWNjZXNzOm09PntpZihkLm9uU3VjY2VzcylkLm9uU3VjY2VzcyhtKX0sCm9uUHJvZ3Jlc3M6bT0+e2lmKGQub25Qcm9ncmVzcylkLm9uUHJvZ3Jlc3MobSl9LG9uRXJyb3I6KG0sbik9PntpZihkLm9uRXJyb3IpZC5vbkVycm9yKG4pfSxvbkZldGNoRXJyb3I6bT0+e2lmKGQub25FcnJvcilkLm9uRXJyb3IobSl9LHRpbWVvdXQ6ZC50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpkLmNvbXByZXNzfTtlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwoZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2M9IiI7dmFyIGY9YS5jb25maWdfLnp4O2YmJihjPWYpO2Y9YS5jb25maWdfLkF4fHwhMTt2YXIgaD1vbShmLGMsZCk7T2JqZWN0LmFzc2lnbihlLmhlYWRlcnMsaCk7ZS5oZWFkZXJzLkF1dGhvcml6YXRpb24mJiFjJiZmJiYoZS5oZWFkZXJzWyJ4LW9yaWdpbiJdPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO3ZhciBrPWRqKGAke2N9JHtgL3lvdXR1YmVpLyR7YS5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7Yn1gfWAsCnthbHQ6Impzb24ifSksbD0obT0hMSk9Pnt0cnl7aWYobSYmZC5yZXRyeSYmIWQubmV0d29ya2xlc3NPcHRpb25zLmJ5cGFzc05ldHdvcmtsZXNzKWUubWV0aG9kPSJQT1NUIixkLm5ldHdvcmtsZXNzT3B0aW9ucy53cml0ZVRoZW5TZW5kP18ucG4oKS53cml0ZVRoZW5TZW5kKGssZSk6Xy5wbigpLnNlbmRBbmRXcml0ZShrLGUpO2Vsc2UgaWYoZC5jb21wcmVzcylpZihlLnBvc3RCb2R5KXtsZXQgbj1lLnBvc3RCb2R5O3R5cGVvZiBuIT09InN0cmluZyImJihuPUpTT04uc3RyaW5naWZ5KGUucG9zdEJvZHkpKTtBbShrLG4sZSxfLnpqKX1lbHNlIEFtKGssSlNPTi5zdHJpbmdpZnkoZS5wb3N0UGFyYW1zKSxlLEFqKTtlbHNlIEFqKGssZSl9Y2F0Y2gobil7aWYobi5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpXy5XaShFcnJvcigieWEiKSk7ZWxzZSB0aHJvdyBuO319OyhfLnNhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIpP18udG4uaXNOd2xJbml0aWFsaXplZDoKXy51bik/TmwoKS50aGVuKG09PntsKG0pfSk6bCghMSl9O18ueW49ZnVuY3Rpb24oYSwuLi5iKXtpZighd24oYSl8fGIuc29tZShjPT4hd24oYykpKXRocm93IEVycm9yKCJ6YSIpO2ZvcihsZXQgYyBvZiBiKXhuKGEsYyl9O3huPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGIpaWYod24oYltjXSkpe2lmKGMgaW4gYSYmIXduKGFbY10pKXRocm93IEVycm9yKCJBYSIpO2MgaW4gYXx8KGFbY109e30pO3huKGFbY10sYltjXSl9ZWxzZSBpZih6bihiW2NdKSl7aWYoYyBpbiBhJiYhem4oYVtjXSkpdGhyb3cgRXJyb3IoIkJhIik7YyBpbiBhfHwoYVtjXT1bXSk7QW4oYVtjXSxiW2NdKX1lbHNlIGFbY109YltjXTtyZXR1cm4gYX07QW49ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYil3bihjKT9hLnB1c2goeG4oe30sYykpOnpuKGMpP2EucHVzaChBbihbXSxjKSk6YS5wdXNoKGMpO3JldHVybiBhfTt3bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSl9Owp6bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmQXJyYXkuaXNBcnJheShhKX07Xy5Cbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoIl9sYWN0Iix3aW5kb3cpO3JldHVybiBhPT1udWxsPy0xOk1hdGgubWF4KERhdGUubm93KCktYSwwKX07Cl8uRG49ZnVuY3Rpb24oKXtpZih3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGE9QXJyYXkoMTYpLGI9bmV3IFVpbnQ4QXJyYXkoMTYpO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109YltjXTtyZXR1cm4gYX1jYXRjaChkKXt9YT1BcnJheSgxNik7Zm9yKGI9MDtiPDE2O2IrKyl7Yz1EYXRlLm5vdygpO2ZvcihsZXQgZD0wO2Q8YyUyMztkKyspYVtiXT1NYXRoLnJhbmRvbSgpO2FbYl09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1Nil9aWYoQ24pZm9yKGI9MSxjPTA7YzxDbi5sZW5ndGg7YysrKWFbYiUxNl1ePWFbKGItMSklMTZdLzReQ24uY2hhckNvZGVBdChjKSxiKys7cmV0dXJuIGF9OwpFbj1mdW5jdGlvbigpe3ZhciBhPV8uRG4oKSxiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KGFbY10mNjMpKTtyZXR1cm4gYi5qb2luKCIiKX07Xy5Gbj1mdW5jdGlvbigpe3ZhciBhPV8udS55dExvZ2dpbmdEb2NEb2N1bWVudE5vbmNlXzthfHwoYT1FbigpLF8ucmEoInl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfIixhKSk7cmV0dXJuIGF9O18uR249ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliPWIqMzErYS5jaGFyQ29kZUF0KGMpLGM8YS5sZW5ndGgtMSYmKGIlPTB4ODAwMDAwMDAwMDAwKTtyZXR1cm4gYiUxRTV9O18uSW49ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIbihhKX07CktuPWZ1bmN0aW9uKGEsYil7Yj1iLmp2O2lmKGEuai5oYXMoYikpcmV0dXJuIGEuai5nZXQoYikucHJvbWlzZTt2YXIgYz1KbihhLGIsW10sITApO2lmKGMhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTt2YXIgZD17fTtkLnByb21pc2U9bmV3IFByb21pc2UoKGUsZik9PntkLlFoPWU7ZC5Rej1mfSk7YS5qLnNldChiLGQpO3JldHVybiBkLnByb21pc2V9OwpKbj1mdW5jdGlvbihhLGIsYyxkPSExKXtpZihjLmluZGV4T2YoYik+LTEpdGhyb3cgRXJyb3IoIkRhYCIrYik7aWYoYS5vLmhhcyhiKSlyZXR1cm4gYS5vLmdldChiKTtpZighYS52LmhhcyhiKSl7aWYoZClyZXR1cm47dGhyb3cgRXJyb3IoIkVhYCIrYik7fWQ9YS52LmdldChiKTtjLnB1c2goYik7aWYoZC5NYiE9PXZvaWQgMCl2YXIgZT1kLk1iO2Vsc2UgaWYoZC5XYyllPWRbXy5Mbl0/TW4oYSxkW18uTG5dLGMpOltdLGU9ZC5XYyguLi5lKTtlbHNlIGlmKGQuUGEpe2U9ZC5QYTtsZXQgZj1lW18uTG5dP01uKGEsZVtfLkxuXSxjKTpbXTtlPW5ldyBlKC4uLmYpfWVsc2UgdGhyb3cgRXJyb3IoIkZhYCIrYik7Yy5wb3AoKTtkLmdifHxhLm8uc2V0KGIsZSk7cmV0dXJuIGV9O01uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj9iLm1hcChkPT5kIGluc3RhbmNlb2YgSG4/Sm4oYSxkLmtleSxjLCEwKTpKbihhLGQsYykpOltdfTtfLnk9ZnVuY3Rpb24oKXtObnx8KE5uPW5ldyBPbik7cmV0dXJuIE5ufTsKUW49ZnVuY3Rpb24oKXtyZXR1cm4iaDV2Y2MiaW4gUG4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlQmVnaW4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlRW5kPzE6InBlcmZvcm1hbmNlImluIFBuJiZQbi5wZXJmb3JtYW5jZS5tYXJrJiZQbi5wZXJmb3JtYW5jZS5tZWFzdXJlPzI6MH07Um49ZnVuY3Rpb24oYSl7dmFyIGI9UW4oKTtzd2l0Y2goYil7Y2FzZSAxOlBuLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsYSk7YnJlYWs7Y2FzZSAyOlBuLnBlcmZvcm1hbmNlLm1hcmsoYCR7YX0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpfLmViKGIsInVua25vd24gdHJhY2UgdHlwZSIpfX07ClNuPWZ1bmN0aW9uKGEpe3ZhciBiPVFuKCk7c3dpdGNoKGIpe2Nhc2UgMTpQbi5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixhKTticmVhaztjYXNlIDI6Yj1gJHthfS1zdGFydGA7bGV0IGM9YCR7YX0tZW5kYDtQbi5wZXJmb3JtYW5jZS5tYXJrKGMpO1BuLnBlcmZvcm1hbmNlLm1lYXN1cmUoYSxiLGMpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uZWIoYiwidW5rbm93biB0cmFjZSB0eXBlIil9fTtUbj1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5mcm9tKGEuai5rZXlzKCkpLnNvcnQoKGMsZCk9PmEuZ2V0UHJpb3JpdHkoYS5qW2RdKS1hLmdldFByaW9yaXR5KGEualtjXSkpO2ZvcihsZXQgYyBvZiBiKWI9YS5qW2NdLGIuam9iSWQ9PT12b2lkIDB8fGIuTmp8fChhLnNjaGVkdWxlci5BYShiLmpvYklkKSxhLnNjaGVkdWxlci5HYShiLnhoLDEwKSl9OwpWbj1mdW5jdGlvbihhLGIsYyl7VW4mJmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQmJmNvbnNvbGUuZ3JvdXBFbmQmJihjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGBbJHthLmNvbnN0cnVjdG9yLm5hbWV9XSAnJHthLnN0YXRlfScgdG8gJyR7Yn0nYCksY29uc29sZS5sb2coIndpdGggbWVzc2FnZTogIixjKSxjb25zb2xlLmdyb3VwRW5kKCkpfTtabj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGU9PihhLnY/P2UucHJpb3JpdHk/PzApPT09MTApLGQ9Yi5maWx0ZXIoZT0+KGEudj8/ZS5wcmlvcml0eT8/MCkhPT0xMCk7cmV0dXJuIGEuQi5GZz9hc3luYyguLi5lKT0+e2F3YWl0IFduKGMsLi4uZSk7WG4oYSxkLC4uLmUpfTooLi4uZSk9PntZbihjLC4uLmUpO1huKGEsZCwuLi5lKX19OwpXbj1hc3luYyBmdW5jdGlvbihhLC4uLmIpe3ZhciBjPV8uQ2soKTtmb3IobGV0IGQgb2YgYSl7bGV0IGU7Yy5VKCgpPT57JG4oZC5uYW1lKTt2YXIgZj1hbygoKT0+ZC5jYWxsYmFjayguLi5iKSk7KDAsXy5ibykoZik/ZT1fLngoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpP2YudGhlbigoKT0+e2NvKGQubmFtZSl9KTpmLnRoZW4oKCk9PntjbyhkLm5hbWUpfSxoPT57d2luZG93Lm9uZXJyb3I/LihoLm1lc3NhZ2UsIiIsMCwwLGgpO2NvKGQubmFtZSl9KTpjbyhkLm5hbWUpfSk7ZSYmYXdhaXQgZX19O1huPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPWIubWFwKGQ9Pih7eGg6KCk9PnskbihkLm5hbWUpO2FvKCgpPT5kLmNhbGxiYWNrKC4uLmMpKTtjbyhkLm5hbWUpfSxwcmlvcml0eTphLnY/P2QucHJpb3JpdHk/PzB9KSk7Yi5sZW5ndGgmJihhLmo9bmV3IGVvKGIpKX07ClluPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9Xy5DaygpO2ZvcihsZXQgZCBvZiBhKWMuVSgoKT0+eyRuKGQubmFtZSk7YW8oKCk9PmQuY2FsbGJhY2soLi4uYikpO2NvKGQubmFtZSl9KX07JG49ZnVuY3Rpb24oYSl7Zm8mJmEmJlJuKGEpfTtjbz1mdW5jdGlvbihhKXtmbyYmYSYmU24oYSl9O2FvPWZ1bmN0aW9uKGEpe2lmKF8ueCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIikpcmV0dXJuIGEoKTt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXt3aW5kb3cub25lcnJvcj8uKGIubWVzc2FnZSwiIiwwLDAsYil9fTtfLmlvPWZ1bmN0aW9uKCl7Z298fChnbz1uZXcgaG8pO3JldHVybiBnb307Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zYSgieXRjc2kuIisoYXx8IiIpKyJkYXRhXyIpfHxfLmpvKGEpfTtfLmxvPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSk7cmV0dXJuIGEubWV0YWRhdGF9OwpfLm1vPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLnRpY2t8fChhLnRpY2s9e30pO3JldHVybiBhLnRpY2t9O18ubm89ZnVuY3Rpb24oYSl7YT1fLmtvKGEpO2lmKGEuZ2VsKXtsZXQgYj1hLmdlbDtiLmdlbEluZm9zfHwoYi5nZWxJbmZvcz17fSk7Yi5nZWxUaWNrc3x8KGIuZ2VsVGlja3M9e30pfWVsc2UgYS5nZWw9e2dlbFRpY2tzOnt9LGdlbEluZm9zOnt9fTtyZXR1cm4gYS5nZWx9O18ub289ZnVuY3Rpb24oYSl7YT1fLm5vKGEpO2EuZ2VsSW5mb3N8fChhLmdlbEluZm9zPXt9KTtyZXR1cm4gYS5nZWxJbmZvc307Xy5wbz1mdW5jdGlvbihhKXt2YXIgYj1fLmtvKGEpLm5vbmNlO2J8fChiPUVuKCksXy5rbyhhKS5ub25jZT1iKTtyZXR1cm4gYn07Xy5qbz1mdW5jdGlvbihhKXt2YXIgYj17dGljazp7fSxpbmZvOnt9fTtfLnJhKCJ5dGNzaS4iKyhhfHwiIikrImRhdGFfIixiKTtyZXR1cm4gYn07CnFvPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXRjc2kuZGVidWciKTthfHwoYT1bXSxfLnJhKCJ5dGNzaS5kZWJ1ZyIsYSksXy5yYSgieXRjc2kucmVmZXJlbmNlIix7fSkpO3JldHVybiBhfTtfLnNvPWZ1bmN0aW9uKGEpe3ZhciBiPXFvKCk7Yi5wdXNoKGEpO18ueCgibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSIpJiZiLmxlbmd0aD5ybyYmYi5zcGxpY2UoMCxiLmxlbmd0aC1ybyl9O18udW89ZnVuY3Rpb24oYSl7YT1hfHwiIjt2YXIgYj1fLnRvKCk7aWYoYlthXSlyZXR1cm4gYlthXTt2YXIgYz17dGltZXJOYW1lOmEsaW5mbzp7fSx0aWNrOnt9LHNwYW46e30sanNwYkluZm86W119O18uc28oYyk7cmV0dXJuIGJbYV09Y307Xy50bz1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Y3NpLnJlZmVyZW5jZSIpO2lmKGEpcmV0dXJuIGE7cW8oKTtyZXR1cm4gXy5zYSgieXRjc2kucmVmZXJlbmNlIil9Owp2bz1mdW5jdGlvbihhKXtpZihhLm5hbWU9PT0iSmF2YUV4Y2VwdGlvbiIpcmV0dXJuITA7YT1hLnN0YWNrO3JldHVybiBhLmluY2x1ZGVzKCJjaHJvbWU6Ly8iKXx8YS5pbmNsdWRlcygiLWV4dGVuc2lvbjovLyIpfHxhLmluY2x1ZGVzKCJ3ZWJraXQtbWFza2VkLXVybDovLyIpfTt3bz1mdW5jdGlvbihhKXtpZighYS5zdGFjaylyZXR1cm4hMDt2YXIgYj0hYS5zdGFjay5pbmNsdWRlcygiXG4iKTtyZXR1cm4gYiYmYS5zdGFjay5pbmNsdWRlcygiRXJyb3JUeXBlOiAiKXx8YiYmYS5zdGFjay5pbmNsdWRlcygiQW5vbnltb3VzIGZ1bmN0aW9uIChVbmtub3duIHNjcmlwdCIpfHxhLnN0YWNrLnRvTG93ZXJDYXNlKCk9PT0ibm90IGF2YWlsYWJsZSJ8fGEuZmlsZU5hbWU9PT0idXNlci1zY3JpcHQifHxhLmZpbGVOYW1lLnN0YXJ0c1dpdGgoInVzZXItc2NyaXB0OiIpPyEwOiExfTsKXy5Cbz1mdW5jdGlvbigpe2lmKCF4byl7dmFyIGE9eG89bmV3IHlvO2EubGUubGVuZ3RoPTA7YS5TZC5sZW5ndGg9MDtfLnpvKGEsQW8pfXJldHVybiB4b307Xy56bz1mdW5jdGlvbihhLGIpe2IubGUmJmEubGUudW5zaGlmdC5hcHBseShhLmxlLGIubGUpO2IuU2QmJmEuU2QudW5zaGlmdC5hcHBseShhLlNkLGIuU2QpfTtfLkNvPWZ1bmN0aW9uKGEpe3JldHVybiBhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpfTsKXy5Fbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MCxlPSgpPT5hLmNoYXJDb2RlQXQoZCsrKTtkb3t2YXIgZj1EbyhlKTtpZihmPT09SW5maW5pdHkpYnJlYWs7bGV0IGg9Zj4+Mztzd2l0Y2goZiY3KXtjYXNlIDA6Zj1EbyhlKTtpZihoPT09YilyZXR1cm4gZjticmVhaztjYXNlIDE6aWYoaD09PWIpcmV0dXJuO2QrPTg7YnJlYWs7Y2FzZSAyOmY9RG8oZSk7aWYoaD09PWIpcmV0dXJuIGEuc3Vic3RyKGQsZik7ZCs9ZjticmVhaztjYXNlIDU6aWYoaD09PWIpcmV0dXJuO2QrPTQ7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fXdoaWxlKGQ8Yyl9O0RvPWZ1bmN0aW9uKGEpe3ZhciBiPWEoKSxjPWImMTI3O2lmKGI8MTI4KXJldHVybiBjO2I9YSgpO2N8PShiJjEyNyk8PDc7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7Y3w9KGImMTI3KTw8MTQ7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7cmV0dXJuIGI8MTI4P2N8KGImMTI3KTw8MjE6SW5maW5pdHl9OwpIbz1mdW5jdGlvbihhLGIsYyxkKXtpZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBlPWQ7Zm9yKGQ9MDtkPGEubGVuZ3RoJiYhKGFbZF0mJihlKz1GbyhkLGFbZF0sYixjKSxlPjUwMCkpO2QrKyk7ZD1lfWVsc2UgaWYodHlwZW9mIGE9PT0ib2JqZWN0Iilmb3IoZSBpbiBhKXtpZihhW2VdKXthOnt2YXIgZj1lO3ZhciBoPWFbZV0saz1iLGw9YztpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxmIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZmIT09InRyYWNraW5nUGFyYW1zIil7Zj0wO2JyZWFrIGF9Zj0oaD1fLkVvKF8uQ28oaCksMikpP0ZvKGAke2Z9LnZlYCxoLGssbCk6MH1kKz1mO2QrPUZvKGUsYVtlXSxiLGMpO2lmKGQ+NTAwKWJyZWFrfX1lbHNlIGNbYl09R28oYSksZCs9Y1tiXS5sZW5ndGg7ZWxzZSBjW2JdPUdvKGEpLGQrPWNbYl0ubGVuZ3RoO3JldHVybiBkfTsKRm89ZnVuY3Rpb24oYSxiLGMsZCl7Yys9YC4ke2F9YDthPUdvKGIpO2RbY109YTtyZXR1cm4gYy5sZW5ndGgrYS5sZW5ndGh9O0dvPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4odHlwZW9mIGE9PT0ic3RyaW5nIj9hOlN0cmluZyhKU09OLnN0cmluZ2lmeShhKSkpLnN1YnN0cigwLDUwMCl9Y2F0Y2goYil7cmV0dXJuYHVuYWJsZSB0byBzZXJpYWxpemUgJHt0eXBlb2YgYX0gKCR7Yi5tZXNzYWdlfSlgfX07CktvPWZ1bmN0aW9uKGEsYil7dmFyIGM9SW8oYik7aWYoYS5qW2NdKXJldHVybiBhLmpbY107dmFyIGQ9T2JqZWN0LmtleXMoYS5zdG9yZSl8fFtdO2lmKGQubGVuZ3RoPD0xJiZJbyhiKT09PWRbMF0pcmV0dXJuIGQ7dmFyIGU9W107Zm9yKGxldCBoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWRbaF0uc3BsaXQoIi8iKTtpZihKbyhiLmF1dGgsa1swXSkpe3ZhciBmPWIuaXNKc3BiO0pvKGY9PT12b2lkIDA/InVuZGVmaW5lZCI6Zj8idHJ1ZSI6ImZhbHNlIixrWzFdKSYmSm8oYi5jdHRBdXRoSW5mbyxrWzJdKSYmKGY9Yi50aWVyLGY9Zj09PXZvaWQgMD8idW5kZWZpbmVkIjpKU09OLnN0cmluZ2lmeShmKSxKbyhmLGtbM10pJiZlLnB1c2goZFtoXSkpfX1yZXR1cm4gYS5qW2NdPWV9O0pvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT12b2lkIDB8fGE9PT0idW5kZWZpbmVkIj8hMDphPT09Yn07CklvPWZ1bmN0aW9uKGEpe3JldHVyblthLmF1dGg9PT12b2lkIDA/InVuZGVmaW5lZCI6YS5hdXRoLGEuaXNKc3BiPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEuaXNKc3BiLGEuY3R0QXV0aEluZm89PT12b2lkIDA/InVuZGVmaW5lZCI6YS5jdHRBdXRoSW5mbyxhLnRpZXI9PT12b2lkIDA/InVuZGVmaW5lZCI6YS50aWVyXS5qb2luKCIvIil9O18uQj1mdW5jdGlvbihhLGIpe2lmKGEpcmV0dXJuIGFbYi5uYW1lXX07TG89ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJodG1sNV9zZW5kX3FvZV9vbl9nZWwiKXx8Xy54KCJ3ZWJfc2VuZF92c3MzX2lzb2xhdGVkX3BheWxvYWQiKX07T289ZnVuY3Rpb24oYSl7TW89YTtMbygpJiYoXy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1hKTtObz1uZXcgYX07UW89ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dC5sb2dnaW5nLmltcyIpO2F8fChhPW5ldyBQbyxfLnJhKCJ5dC5sb2dnaW5nLmltcyIsYSkpO3JldHVybiBhfTsKJG89ZnVuY3Rpb24oYSxiKXtpZihhLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe1JvKGEpO3ZhciBjPVNvKGEpLGQ9VG8oYS5wYXlsb2FkKXx8IiI7YTp7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7dmFyIGU9VW9bZHx8IiJdO3ZhciBmPV8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5ldmVudExvZ2dpbmdDb25maWc/LnBheWxvYWRQb2xpY2llcztpZihmKWZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKWlmKGZbaF0ucGF5bG9hZE51bWJlcj09PWUpe2U9ZltoXTticmVhayBhfX1lPXZvaWQgMH1mPTIwMDtpZihlKXtpZihlLmVuYWJsZWQ9PT0hMSYmIV8ueCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47Zj1WbyhlLnRpZXIpO2lmKGY9PT00MDApe1dvKGEsYik7cmV0dXJufX1Yb1tjXT0hMDtjPXtjdHRBdXRoSW5mbzpjLGlzSnNwYjohMSx0aWVyOmZ9O1FvKCkuc3RvcmVQYXlsb2FkKGMsCmEucGF5bG9hZCk7WW8oYixjLFpvKGQpKX19O1lvPWZ1bmN0aW9uKGEsYixjPSExKXthJiZPbyhhKTthPV8uc2ooInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8Xy5zaigidHZodG1sNV9sb2dnaW5nX21heF9iYXRjaCIpfHxfLnNqKCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giKXx8MTAwO3ZhciBkPSgwLF8uZWwpKCksZT1hcCghMSxiLnRpZXIpLGY9ZS5CO2MmJihlLmo9ITApO2M9MDtiJiYoYz1RbygpLmdldFNlcXVlbmNlQ291bnQoYikpO3ZhciBoPSgpPT57Xy5icCh7d3JpdGVUaGVuU2VuZDohMH0sdm9pZCAwLCExLGIudGllcil9O2M+PTFFMz9oKCk6Yz49YT9jcHx8KGNwPWRwKCgpPT57aCgpO2NwPXZvaWQgMH0sMCkpOmQtZj49MTAmJihlcCghMSxiLnRpZXIpLGUuQj1kKX07CldvPWZ1bmN0aW9uKGEsYil7aWYoYS5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtfLngoIm1vcmVfYWNjdXJhdGVfZ2VsX3BhcnNlciIpJiZRbygpLnN0b3JlUGF5bG9hZCh7aXNKc3BiOiExfSxhLnBheWxvYWQpO1JvKGEpO3ZhciBjPVNvKGEpLGQ9bmV3IE1hcDtkLnNldChjLFthLnBheWxvYWRdKTt2YXIgZT1UbyhhLnBheWxvYWQpfHwiIjsoYT1iP2I6TG8oKT9Nb3x8Xy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yX3x8bnVsbDpudWxsKSYmT28oYSk7cmV0dXJuIG5ldyBfLkJmKChmLGgpPT57Tm8mJk5vLmlzUmVhZHkoKT9mcChkLE5vLGYsaCx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFpvKGUpKTpmKCl9KX19OwpTbz1mdW5jdGlvbihhKXt2YXIgYj0iIjtpZihhLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24pYj0idmlzaXRvck9ubHlBcHByb3ZlZEtleSI7ZWxzZSBpZihhLmN0dEF1dGhJbmZvKXtiPWEuY3R0QXV0aEluZm87bGV0IGM9e307Yi52aWRlb0lkP2MudmlkZW9JZD1iLnZpZGVvSWQ6Yi5wbGF5bGlzdElkJiYoYy5wbGF5bGlzdElkPWIucGxheWxpc3RJZCk7Z3BbYS5jdHRBdXRoSW5mby50b2tlbl09YztiPWEuY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIGJ9OwpfLmJwPWZ1bmN0aW9uKGE9e30sYixjPSExLGQpe25ldyBfLkJmKChlLGYpPT57dmFyIGg9YXAoYyxkKSxrPWguajtoLmo9ITE7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSYmXy54KCJ3ZWJfdnNzX3JvdXRpbmdfY2hlY2tfYWxsX3RpZXJfcG9saWNpZXMiKSl7bGV0IGw9YXAoYywzMDApLG09YXAoYywyMDApO2s9a3x8bC5qfHxtLmo7bC5qPSExO20uaj0hMX1ocChoLnYpO2hwKGgubyk7aC5vPTA7Tm8mJk5vLmlzUmVhZHkoKT9kPT09dm9pZCAwJiZfLngoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2lwKGUsZixhLGIsYywzMDAsayk6aXAoZSxmLGEsYixjLGQsayk6KGVwKGMsZCksZSgpKX0pfTsKaXA9ZnVuY3Rpb24oYSxiLGM9e30sZCxlPSExLGY9MjAwLGg9ITEpe3ZhciBrPU5vLGw9bmV3IE1hcCxtPXtpc0pzcGI6ZSxjdHRBdXRoSW5mbzpkLHRpZXI6Zn07ZT17aXNKc3BiOmUsY3R0QXV0aEluZm86ZH07aWYoZCE9PXZvaWQgMClmPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W20sZV0sc2l6ZUxpbWl0OjFFM30pOlFvKCkuZXh0cmFjdE1hdGNoaW5nRW50cmllcyhlKSxsLnNldChkLGYpO2Vsc2UgZm9yKGxldCBuIG9mIE9iamVjdC5rZXlzKFhvKSlkPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W3tpc0pzcGI6ITEsY3R0QXV0aEluZm86bix0aWVyOmZ9LHtpc0pzcGI6ITEsY3R0QXV0aEluZm86bn1dLHNpemVMaW1pdDoxRTN9KTpRbygpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMSxjdHRBdXRoSW5mbzpufSksCmQubGVuZ3RoPjAmJmwuc2V0KG4sZCksKF8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJmMud3JpdGVUaGVuU2VuZHx8IV8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgWG9bbl07ZnAobCxrLGEsYixjLCExLGgpfTsKZXA9ZnVuY3Rpb24oYT0hMSxiPTIwMCl7dmFyIGM9KCk9PntfLmJwKHt3cml0ZVRoZW5TZW5kOiEwfSx2b2lkIDAsYSxiKX0sZD1hcChhLGIpLGU9ZD09PWpwfHxkPT09a3A/NUUzOmxwO18ueCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhZC5vJiYoZT1kcCgoKT0+e2MoKX0sZSksZC5vPWUpO2hwKGQudik7ZT1fLncoIkxPR0dJTkdfQkFUQ0hfVElNRU9VVCIsXy5zaigid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Xy54KCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmbXAmJihlPW5wKTtlPWRwKCgpPT57Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIik+MD9RbygpLmdldFNlcXVlbmNlQ291bnQoe2N0dEF1dGhJbmZvOnZvaWQgMCxpc0pzcGI6YSx0aWVyOmJ9KT49b3AmJmMoKTpjKCl9LGUpO2Qudj1lfTsKZnA9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9LGYsaCl7dmFyIGs9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKSxsPWEuc2l6ZSxtPXBwKGgpO2ZvcihsZXQgW24scF1vZiBhKXthPW47aD1wO2xldCByPV8ucWQoe2NvbnRleHQ6bW0oYi5jb25maWdffHxsbSgpKX0pO2lmKCFfLnlhKGgpJiYhXy54KCJ0aHJvd19lcnJfd2hlbl9sb2dldmVudF9tYWxmb3JtZWRfa2lsbHN3aXRjaCIpKXtkKCk7YnJlYWt9ci5ldmVudHM9aDsoaD1ncFthXSkmJnFwKHIsYSxoKTtkZWxldGUgZ3BbYV07bGV0IHQ9YT09PSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtycChyLGssdCk7Xy54KCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiKSYmKGUud3JpdGVUaGVuU2VuZD0hMSk7bGV0IHY9QT0+e18ueCgic3RhcnRfY2xpZW50X2djZiIpJiZfLmpmLnBiKGFzeW5jKCk9Pnthd2FpdCBzcChBKX0pO2wtLTtsfHxjKCl9LHo9MCxFPSgpPT57eisrO2lmKGUuYnlwYXNzTmV0d29ya2xlc3MmJno9PT0xKXRyeXt2bihiLG0scix0cCh7d3JpdGVUaGVuU2VuZDohMH0sCnQsdixFLGYpKSxtcD0hMX1jYXRjaChBKXtfLlVpKEEpLGQoKX1sLS07bHx8YygpfTt0cnl7dm4oYixtLHIsdHAoZSx0LHYsRSxmKSksbXA9ITF9Y2F0Y2goQSl7Xy5VaShBKSxkKCl9fX07dHA9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPXtyZXRyeTohMCxvblN1Y2Nlc3M6YyxvbkVycm9yOmQsbmV0d29ya2xlc3NPcHRpb25zOmEsZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpiLGJJOiEhZSxoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOl8ueCgiY29tcHJlc3NfZ2VsIil8fF8ueCgiY29tcHJlc3NfZ2VsX2xyIil9O3VwKCkmJihhLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLF8uZWwpKCkpKSk7cmV0dXJuIGF9OwpycD1mdW5jdGlvbihhLGIsYyl7dXAoKXx8KGEucmVxdWVzdFRpbWVNcz1TdHJpbmcoYikpO18ueCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYoYS51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFjJiYoYj1fLncoIkVWRU5UX0lEIikpJiYoKGM9Xy53KCJCQVRDSF9DTElFTlRfQ09VTlRFUiIpfHwwKXx8KGM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKSxjKyssYz42NTUzNSYmKGM9MSksXy5RaSgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLGMpLGEuc2VyaWFsaXplZENsaWVudEV2ZW50SWQ9e3NlcmlhbGl6ZWRFdmVudElkOmIsY2xpZW50Q291bnRlcjpTdHJpbmcoYyl9KX07CnFwPWZ1bmN0aW9uKGEsYixjKXtpZihjLnZpZGVvSWQpdmFyIGQ9IlZJREVPIjtlbHNlIGlmKGMucGxheWxpc3RJZClkPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47YS5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPWM7YS5jb250ZXh0PWEuY29udGV4dHx8e307YS5jb250ZXh0LnVzZXI9YS5jb250ZXh0LnVzZXJ8fHt9O2EuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOmIsc2NvcGU6ZH1dfTsKUm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy50aigiaWxfcGF5bG9hZF9zY3JhcGluZyIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighXy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZW5hYmxlU2NyYXBpbmdGb3JUZXN0IikpaWYoYil2cD1bXSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiLCEwKSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIix2cCksXy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiwidmlzdWFsRWxlbWVudFNob3duIHZpc3VhbEVsZW1lbnRIaWRkZW4gdmlzdWFsRWxlbWVudEF0dGFjaGVkIHNjcmVlbkNyZWF0ZWQgdmlzdWFsRWxlbWVudEdlc3R1cmVkIHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLnNwbGl0KCIgIikpLF8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRQYXlsb2FkRnJvbUNsaWVudEV2ZW50c0Z1bmN0aW9uIiksCl8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZUNsaWVudEV2ZW50IiwhMCk7ZWxzZSByZXR1cm47Yj1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIik7dmFyIGM9Xy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiksZD1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGMmJmMubGVuZ3RoPj0xKWZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEmJmEucGF5bG9hZFtjW2VdXSYmKGQ/Yi5wdXNoKGEucGF5bG9hZCk6Yi5wdXNoKChhPy5wYXlsb2FkKVtjW2VdXSkpO18ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLGIpfTt1cD1mdW5jdGlvbigpe3JldHVybiBfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil8fF8ueCgibHJfdXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiKX07CmRwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT09PSExP18ubWooYSxiKTpfLngoImxvZ2dpbmdfYXZvaWRfYmxvY2tpbmdfZHVyaW5nX25hdmlnYXRpb24iKXx8Xy54KCJscl9sb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIik/Xy5ZaigoKT0+e18uaW8oKS5jdXJyZW50U3RhdGU9PT0ibm9uZSI/YSgpOl8uaW8oKS5pbnN0YWxsKHtub25lOntjYWxsYmFjazphfX0pfSxiKTpfLllqKGEsYil9O2hwPWZ1bmN0aW9uKGEpe18ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT9fLmpmLkFhKGEpOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9OwpzcD1hc3luYyBmdW5jdGlvbihhKXthPWE/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIGI9Xy5CKGEsd3ApLGM9YT8uaG90SGFzaERhdGEsZD1fLkIoYSx4cCksZT1hPy5jb2xkSGFzaERhdGEsZj1fLnkoKS5yZXNvbHZlKF8uSW4oaW0pKTtmJiYoYyYmKGI/YXdhaXQgZ20oZixjLGIpOmF3YWl0IGdtKGYsYykpLGUmJihkP2F3YWl0IGhtKGYsZSxkKTphd2FpdCBobShmLGUpKSk7Yj1hPy5yYXdGaW5jaFN0YXRpY0NvbmZpZ0dyb3VwOyhhPWE/LmZpbmNoU3RhdGljSGFzaERhdGEpPyhjPV8ueSgpLnJlc29sdmUoXy5Jbih5cCkpKT9hd2FpdCBjLndLKHtjb25maWc6Ynx8e30saUk6YXx8IiJ9KTooYnx8YSkmJl8uV2kobmV3IF8uWGooIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UgaXMgbm90IHByZXNlbnQsIGJ1dCBGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LiIpKTpiJiZfLldpKG5ldyBfLlhqKCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFwPWZ1bmN0aW9uKGEsYj0yMDApe3JldHVybiBhP2I9PT0zMDA/anA6enA6Yj09PTMwMD9rcDpBcH07VG89ZnVuY3Rpb24oYSl7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGIgb2YgYSlpZihVb1tiXSlyZXR1cm4gYn07Vm89ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07Wm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iZ2VsRGVidWdnaW5nRXZlbnQifHxhPT09IndhdGNoVGltZVNlZ21lbnQifTsKcHA9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuIGEmJl8ueCgidnNzX3Rocm91Z2hfZ2VsX3ZpZGVvX3N0YXRzIik/InZpZGVvX3N0YXRzIjoibG9nX2V2ZW50In07Cl8uQ3A9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9e30sZj1NYXRoLnJvdW5kKGQudGltZXN0YW1wfHwoMCxfLmVsKSgpKTtlLmV2ZW50VGltZU1zPWY8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/ZjowO2VbYV09YjthPV8uQm4oKTtlLmNvbnRleHQ9e2xhc3RBY3Rpdml0eU1zOlN0cmluZyhkLnRpbWVzdGFtcHx8IWlzRmluaXRlKGEpPy0xOmEpfTtkLnNlcXVlbmNlR3JvdXAmJiFfLngoIndlYl9nZWxfc2VxdWVuY2VfaW5mb19raWxsc3dpdGNoIikmJihhPWUuY29udGV4dCxiPWQuc2VxdWVuY2VHcm91cCxCcFtiXT1iIGluIEJwP0JwW2JdKzE6MCxhLnNlcXVlbmNlPXtpbmRleDpCcFtiXSxncm91cEtleTpifSxkLmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBCcFtkLnNlcXVlbmNlR3JvdXBdKTtfLngoIndlYl90YWdfYXV0b21hdGVkX2xvZ19ldmVudHMiKSYmKGUuY29udGV4dC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZT1kLmF1dG9tYXRlZExvZ0V2ZW50U291cmNlKTsoZC5zZW5kSXNvbGF0ZWRQYXlsb2FkPwpXbzokbykoe2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6ZSxjdHRBdXRoSW5mbzpkLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246ZC5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxjKX07Xy5FcD1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9RHA7Xy53KCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmRHA9PT1EcCYmKGQ9bnVsbCk7Xy5DcChhLGIsZCxjKX07CkZwPWZ1bmN0aW9uKGEsYj17fSl7aWYoYT1hLk5kKXtsZXQgYz1hLmZoLGQ9YS5BbDthPVtbImNvbXBvbmVudFN0YWNrIixhLmNvbXBvbmVudFN0YWNrXSxbIndpelRhZ05hbWUiLGEudGFnTmFtZV0sWyJ3aXpPd25lclRyYWNlIixhLnByPy5qb2luKCIgPiAiKV0sWyJlcnJvclNldmVyaXR5IixjPy50b1N0cmluZygpXSxbIndpekZlYXR1cmVGbGFncyIsZD9PYmplY3QuZW50cmllcyhkKS5qb2luKCJcbiIpOnZvaWQgMF1dO2ZvcihsZXQgW2UsZl1vZiBhKWE9ZixhIT09dm9pZCAwJiYoYltlXT1hKX1yZXR1cm4gYn07Xy5IcD1mdW5jdGlvbihhKXtfLkdwKGEpfTtfLklwPWZ1bmN0aW9uKGEpe18uR3AoYSwiV0FSTklORyIpfTsKXy5HcD1mdW5jdGlvbihhLGI9IkVSUk9SIixjLGQsZSxmPXt9LGg9ITEsayl7Zi5uYW1lPWN8fF8udygiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpO2YudmVyc2lvbj1kfHxfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7SnAoYSxmLGIsaCxrKX07CkpwPWZ1bmN0aW9uKGEsYixjPSJFUlJPUiIsZD0hMSxlKXtpZihhKXthLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZhLmxldmVsJiYoYz1hLmxldmVsKTtpZihfLngoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBmPWI7aWYoIWY/LmNvbXBvbmVudFN0YWNrKXt2YXIgaD1hLk5kPy5jb21wb25lbnRTdGFjaztoJiYoZnx8KGY9e30pLGYuY29tcG9uZW50U3RhY2s9aCl9Yj1mfHxifWVsc2UgYj1GcChhLGIpLGY9YS5OZD8uZmgsZiE9PXZvaWQgMCYmYyE9PSJJR05PUkVEIiYmKGM9Zj49Mz8iRVJST1IiOiJXQVJOSU5HIik7aWYoXy54KCJjb25zb2xlX2xvZ19qc19leGNlcHRpb25zIil8fFsidGVzdCIsImRldiIsImF1dG9wdXNoIiwic3RhZ2luZyJdLmluY2x1ZGVzKF8udygiU0VSVkVSX1ZFUlNJT04iKSkpZj1bXSxmLnB1c2goYE5hbWU6ICR7YS5uYW1lfWApLGYucHVzaChgTWVzc2FnZTogJHthLm1lc3NhZ2V9YCksYS5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJgpmLnB1c2goYEVycm9yIFBhcmFtczogJHtKU09OLnN0cmluZ2lmeShhLnBhcmFtcyl9YCksYS5oYXNPd25Qcm9wZXJ0eSgiYXJncyIpJiZmLnB1c2goYEVycm9yIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYS5hcmdzKX1gKSxmLnB1c2goYEZpbGUgbmFtZTogJHthLmZpbGVOYW1lfWApLGYucHVzaChgU3RhY2t0cmFjZTogJHthLnN0YWNrfWApLGY9Zi5qb2luKCJcbiIpLHdpbmRvdy5jb25zb2xlLmxvZyhmLGEpO2lmKCEoS3A+PTUpKXtmPVtdO2ZvcihrIG9mIExwKXRyeXtrKCkmJmYucHVzaChrKCkpfWNhdGNoKEUpe312YXIgaz1mO2s9Wy4uLk1wLC4uLmtdO3ZhciBsPUViKGEpO2Y9bC5tZXNzYWdlfHwiVW5rbm93biBFcnJvciI7aD1sLm5hbWV8fCJVbmtub3duRXJyb3IiO3ZhciBtPWwuc3RhY2t8fGEuWEt8fCJOb3QgYXZhaWxhYmxlIjtpZihtLnN0YXJ0c1dpdGgoYCR7aH06ICR7Zn1gKSl7dmFyIG49bS5zcGxpdCgiXG4iKTtuLnNoaWZ0KCk7bT1uLmpvaW4oIlxuIil9bj1sLmxpbmVOdW1iZXJ8fAoiTm90IGF2YWlsYWJsZSI7bD1sLmZpbGVOYW1lfHwiTm90IGF2YWlsYWJsZSI7bGV0IHo9MDtpZihhLmhhc093blByb3BlcnR5KCJhcmdzIikmJmEuYXJncyYmYS5hcmdzLmxlbmd0aClmb3IodmFyIHA9MDtwPGEuYXJncy5sZW5ndGgmJiEoej1IbyhhLmFyZ3NbcF0sYHBhcmFtcy4ke3B9YCxiLHopLHo+PTUwMCk7cCsrKTtlbHNlIGlmKGEuaGFzT3duUHJvcGVydHkoInBhcmFtcyIpJiZhLnBhcmFtcyl7bGV0IEU9YS5wYXJhbXM7aWYodHlwZW9mIGEucGFyYW1zPT09Im9iamVjdCIpZm9yKHAgaW4gRSl7aWYoIUVbcF0pY29udGludWU7bGV0IEE9YHBhcmFtcy4ke3B9YCxGPUdvKEVbcF0pO2JbQV09Rjt6Kz1BLmxlbmd0aCtGLmxlbmd0aDtpZih6PjUwMClicmVha31lbHNlIGIucGFyYW1zPUdvKEUpfWlmKGsubGVuZ3RoKWZvcihwPTA7cDxrLmxlbmd0aCYmISh6PUhvKGtbcF0sYHBhcmFtcy5jb250ZXh0LiR7cH1gLGIseiksej49NTAwKTtwKyspO25hdmlnYXRvci52ZW5kb3ImJiFiLmhhc093blByb3BlcnR5KCJ2ZW5kb3IiKSYmCihiWyJkZXZpY2UudmVuZG9yIl09bmF2aWdhdG9yLnZlbmRvcik7cD17bWVzc2FnZTpmLG5hbWU6aCxsaW5lTnVtYmVyOm4sZmlsZU5hbWU6bCxzdGFjazptLHBhcmFtczpiLHNhbXBsZVdlaWdodDoxfTtiPU51bWJlcihhLmNvbHVtbk51bWJlcik7aXNOYU4oYil8fChwLmxpbmVOdW1iZXI9YCR7cC5saW5lTnVtYmVyfToke2J9YCk7aWYoYS5sZXZlbD09PSJJR05PUkVEIil2YXIgcj0wO2Vsc2UgYTp7YT1fLkJvKCk7Zm9yKHIgb2YgYS5sZSlpZihwLm1lc3NhZ2UmJnAubWVzc2FnZS5tYXRjaChyLldKKSl7cj1yLndlaWdodDticmVhayBhfWZvcih2YXIgdCBvZiBhLlNkKWlmKHQuY2FsbGJhY2socCkpe3I9dC53ZWlnaHQ7YnJlYWsgYX1yPTF9cC5zYW1wbGVXZWlnaHQ9cjtyPXA7Zm9yKHZhciB2IG9mIE5wKXtpZighdi5KaltyLm5hbWVdKWNvbnRpbnVlO3Q9di5KaltyLm5hbWVdO2ZvcihsZXQgRSBvZiB0KXt0PXIubWVzc2FnZS5tYXRjaChFLnJlZ2V4cCk7aWYoIXQpY29udGludWU7CnIucGFyYW1zWyJwYXJhbXMuZXJyb3Iub3JpZ2luYWwiXT10WzBdO2E9RS5ncm91cHM7cD17fTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXBbYVtiXV09dFtiKzFdLHIucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHthW2JdfWBdPXRbYisxXTtyLm1lc3NhZ2U9di5wbShwKTticmVha319ci5wYXJhbXN8fChyLnBhcmFtcz17fSk7dj1fLkJvKCk7ci5wYXJhbXNbInBhcmFtcy5lcnJvclNlcnZpY2VTaWduYXR1cmUiXT1gbXNnPSR7di5sZS5sZW5ndGh9JmNiPSR7di5TZC5sZW5ndGh9YDtyLnBhcmFtc1sicGFyYW1zLnNlcnZpY2VXb3JrZXIiXT0iZmFsc2UiO18udS5kb2N1bWVudCYmXy51LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihyLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3IE9wKFBwLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT1PcCYmKHIucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09CiJ0cnVlIik7d2luZG93Lnl0ZXJyJiZ0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKHIpO3Iuc2FtcGxlV2VpZ2h0PT09MHx8UXAuaGFzKHIubWVzc2FnZSl8fChkP1JwKHIsYyk6U3AocixjLGUpKX19fTtScD1mdW5jdGlvbihhLGI9IkVSUk9SIil7VHAoYixhKTtVcChhKX07ClNwPWZ1bmN0aW9uKGEsYj0iRVJST1IiLGMpe2lmKGI9PT0iRVJST1IiKXtfLlZwLnB1Ymxpc2goImhhbmRsZUVycm9yIixhKTtpZihfLngoInJlY29yZF9hcHBfY3Jhc2hlZF93ZWIiKSYmV3A9PT0wJiZhLnNhbXBsZVdlaWdodD09PTEpe1dwKys7bGV0IGQ9e2FwcENyYXNoVHlwZToiQVBQX0NSQVNIX1RZUEVfQlJFQUtQQUQifTtfLngoInJlcG9ydF9jbGllbnRfZXJyb3Jfd2l0aF9hcHBfY3Jhc2hfa3MiKXx8KGQuc3lzdGVtSGVhbHRoPXtjcmFzaERhdGE6e2NsaWVudEVycm9yOntsb2dNZXNzYWdlOnttZXNzYWdlOmEubWVzc2FnZX19fX0pO18uRXAoImFwcENyYXNoZWQiLGQpfVhwKyt9ZWxzZSBiPT09IldBUk5JTkciJiZfLlZwLnB1Ymxpc2goImhhbmRsZVdhcm5pbmciLGEpO18ueCgia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIikmJihjPVlwKGIsYSxjKSkmJihfLkVwKCJjbGllbnRFcnJvciIsYyksKGI9PT0iRVJST1IifHxfLngoImVycm9yc19mbHVzaF9nZWxfYWx3YXlzX2tpbGxzd2l0Y2giKSkmJgpfLmJwKHZvaWQgMCx2b2lkIDAsITEpKTtfLngoInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIil8fFRwKGIsYSk7VXAoYSl9O1VwPWZ1bmN0aW9uKGEpe3RyeXtRcC5hZGQoYS5tZXNzYWdlKX1jYXRjaChiKXt9S3ArK307CllwPWZ1bmN0aW9uKGEsYixjPXt9KXthOntmb3IoZCBvZiBacClpZihfLk1rKGQudG9Mb3dlckNhc2UoKSkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1pZighZCl7dmFyIGU9e3N0YWNrVHJhY2U6Yi5zdGFja307Yi5maWxlTmFtZSYmKGUuZmlsZW5hbWU9Yi5maWxlTmFtZSk7ZD1iLmxpbmVOdW1iZXImJmIubGluZU51bWJlci5zcGxpdD9iLmxpbmVOdW1iZXIuc3BsaXQoIjoiKTpbXTtkLmxlbmd0aCE9PTAmJihkLmxlbmd0aCE9PTF8fGlzTmFOKE51bWJlcihkWzBdKSk/ZC5sZW5ndGghPT0yfHxpc05hTihOdW1iZXIoZFswXSkpfHxpc05hTihOdW1iZXIoZFsxXSkpfHwoZS5saW5lTnVtYmVyPU51bWJlcihkWzBdKSxlLmNvbHVtbk51bWJlcj1OdW1iZXIoZFsxXSkpOmUubGluZU51bWJlcj1OdW1iZXIoZFswXSkpO2Q9e2xldmVsOiJFUlJPUl9MRVZFTF9VTktOT1dOIixtZXNzYWdlOmIubWVzc2FnZSxlcnJvckNsYXNzTmFtZTpiLm5hbWUsc2FtcGxlV2VpZ2h0OmIuc2FtcGxlV2VpZ2h0fTsKYT09PSJFUlJPUiI/ZC5sZXZlbD0iRVJST1JfTEVWRUxfRVJST1IiOmE9PT0iV0FSTklORyImJihkLmxldmVsPSJFUlJPUl9MRVZFTF9XQVJOTklORyIpO2E9e2lzT2JmdXNjYXRlZDohMCxicm93c2VyU3RhY2tJbmZvOmV9O2MucGFnZVVybD13aW5kb3cubG9jYXRpb24uaHJlZjtjLmt2UGFpcnM9W107Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikmJihjLmV4cGVyaW1lbnRJZHM9Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikpO2U9Xy53KCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighXy5SaSgid2ViX2Rpc2FibGVfZ2VsX3N0cF9lY2F0Y2hlcl9raWxsc3dpdGNoIikmJmUpZm9yKHZhciBmIG9mIE9iamVjdC5rZXlzKGUpKWMua3ZQYWlycy5wdXNoKHtrZXk6Zix2YWx1ZTpTdHJpbmcoZVtmXSl9KTtpZihmPWIucGFyYW1zKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhmKSljLmt2UGFpcnMucHVzaCh7a2V5OmBjbGllbnQuJHtofWAsdmFsdWU6U3RyaW5nKGZbaF0pfSk7CmlmKGI9Yi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZCljLnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoYik7Yj1fLncoIlNFUlZFUl9OQU1FIik7aD1fLncoIlNFUlZFUl9WRVJTSU9OIik7YiYmaCYmKGMua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTpifSksYy5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJmMua3ZQYWlycy5wdXNoKHtrZXk6ImNsaWVudC5wbGF5ZXIudmVyc2lvbiIsdmFsdWU6Yn0pO3JldHVybntlcnJvck1ldGFkYXRhOmMsc3RhY2tUcmFjZTphLGxvZ01lc3NhZ2U6ZH19fTsKVHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmFtc3x8e307YT17dXJsUGFyYW1zOnthOiJsb2dlcnJvciIsdDoianNlcnJvciIsdHlwZTpiLm5hbWUsbXNnOmIubWVzc2FnZS5zdWJzdHIoMCwyNTApLGxpbmU6Yi5saW5lTnVtYmVyLGxldmVsOmEsImNsaWVudC5uYW1lIjpjLm5hbWV9LHBvc3RQYXJhbXM6e3VybDpfLncoIlBBR0VfTkFNRSIsd2luZG93LmxvY2F0aW9uLmhyZWYpLGZpbGU6Yi5maWxlTmFtZX0sbWV0aG9kOiJQT1NUIn07Yy52ZXJzaW9uJiYoYVsiY2xpZW50LnZlcnNpb24iXT1jLnZlcnNpb24pO2lmKGEucG9zdFBhcmFtcyl7Yi5zdGFjayYmKGEucG9zdFBhcmFtcy5zdGFjaz1iLnN0YWNrKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYykpYS5wb3N0UGFyYW1zW2BjbGllbnQuJHtlfWBdPWNbZV07aWYoYj1fLncoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgZCBvZiBPYmplY3Qua2V5cyhiKSlhLnBvc3RQYXJhbXNbZF09CmJbZF07KGQ9Xy53KCJMQVZBX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImxhdmEudmVyc2lvbiJdPWQpO2Q9Xy53KCJTRVJWRVJfTkFNRSIpO2I9Xy53KCJTRVJWRVJfVkVSU0lPTiIpO2QmJmImJihhLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09ZCxhLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09Yik7KGQ9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImNsaWVudC5wbGF5ZXIudmVyc2lvbiJdPWQpfV8uemooYCR7Xy53KCJFQ0FUQ0hFUl9SRVBPUlRfSE9TVCIsIiIpfS9lcnJvcl8yMDRgLGEpfTthcT1mdW5jdGlvbigpeyRwLmluc3RhbmNlfHwoJHAuaW5zdGFuY2U9bmV3ICRwKTtyZXR1cm4gJHAuaW5zdGFuY2V9OwpjcT1mdW5jdGlvbihhLGIpe2JxW2JdPWJxW2JdfHx7Y291bnQ6MH07dmFyIGM9YnFbYl07Yy5jb3VudCsrO2MudGltZT0oMCxfLmVsKSgpO2Euanx8KGEuaj1fLllqKCgpPT57dmFyIGQ9KDAsXy5lbCkoKTtmb3IobGV0IGUgaW4gYnEpYnFbZV0mJmQtYnFbZV0udGltZT42RTQmJmRlbGV0ZSBicVtlXTthJiYoYS5qPTApfSw1RTMpKTtyZXR1cm4gYy5jb3VudD41PyhjLmNvdW50PT09NiYmTWF0aC5yYW5kb20oKSoxRTU8MSYmKGM9bmV3IF8uWGooIkNTSSBkYXRhIGV4Y2VlZGVkIGxvZ2dpbmcgbGltaXQgd2l0aCBrZXkiLGIuc3BsaXQoIl8iKSksYi5pbmRleE9mKCJwbGV2Iik+PTB8fF8uSXAoYykpLCEwKTohMX07ZHE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gXy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSlbYV19OwplcT1mdW5jdGlvbihhLGI9MCl7dmFyIGM9Xy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7Y3x8KGM9e30sXy5RaSgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsYykpO2NbYl09YX07ZnE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gYT09PTA/IlJPT1RfVkVfVFlQRSI6YFJPT1RfVkVfVFlQRS4ke2F9YH07Xy5ncT1mdW5jdGlvbihhPTApe3JldHVybiBfLncoZnEoYSkpfTtocT1mdW5jdGlvbigpe3ZhciBhPV8udygiY3NuLXRvLWN0dC1hdXRoLWluZm8iKTthfHwoYT17fSxfLlFpKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIsYSkpO3JldHVybiBhfTtfLmlxPWZ1bmN0aW9uKGE9MCl7YT1kcShhKTtpZighYSYmIV8udygiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO2F8fChhPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIGE/YTpudWxsfTtqcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aHEoKTsoYz1fLmlxKGMpKSYmZGVsZXRlIGRbY107YiYmKGRbYV09Yil9OwpfLmtxPWZ1bmN0aW9uKGEpe3JldHVybiBocSgpW2FdfTtfLm1xPWZ1bmN0aW9uKGEsYixjPTAsZCl7aWYoYSE9PWRxKGMpfHxiIT09Xy53KGZxKGMpKSlpZihqcShhLGQsYyksZXEoYSxjKSxfLlFpKGZxKGMpLGIpLGI9KCk9PntzZXRUaW1lb3V0KCgpPT57YSYmXy5FcCgiZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQiLHtjbGllbnREb2N1bWVudE5vbmNlOmxxLGNsaWVudFNjcmVlbk5vbmNlOmF9KX0sMCl9LCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93KXRyeXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWNhdGNoKGUpe2IoKX1lbHNlIGIoKX07Xy5vcT1mdW5jdGlvbihhLGIpe18ubnEoIl9zdGFydCIsYSxiKX07Cl8ucHE9ZnVuY3Rpb24oYSxiKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGIpLmFjdGlvbkRpc2FibGVkKXt2YXIgYz1fLnVvKGJ8fCIiKTtfLnluKGMuaW5mbyxhKTthLmxvYWRUeXBlJiYoYz1hLmxvYWRUeXBlLF8ubG8oYikubG9hZFR5cGU9Yyk7Xy55bihfLm9vKGIpLGEpO2M9Xy5wbyhiKTtiPV8ua28oYikuY3R0QXV0aEluZm87YXEoKS5pbmZvKGEsYyxiKX19O3FxPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnVGlja3M/P1tdKS5tYXAoYT0+T2JqZWN0LnZhbHVlcyhhKVswXSl9OwpfLm5xPWZ1bmN0aW9uKGEsYixjKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGMpLmFjdGlvbkRpc2FibGVkKXt2YXIgZD1fLnBvKGMpLGU7aWYoZT1fLngoIndlYl9jc2lfZGVidWdfc2FtcGxlX2VuYWJsZWQiKSYmZCl7Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCkmJiFycSYmKHJxPSEwLF8ubnEoImdjZmwiLCgwLF8uZWwpKCksYykpO2U9Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCk/LmxvZ2dpbmdIb3RDb25maWc/LmNzaUNvbmZpZz8uZGVidWdTYW1wbGVXZWlnaHR8fDA7dmFyIGY7aWYoZj1lIT09MCliOntmPXFxKCk7aWYoZi5sZW5ndGg+MClmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylpZihhPT09ZltoXSl7Zj0hMDticmVhayBifWY9ITF9Zj8oZT1fLkduKGQpJWUhPT0wLF8ua28oYykuZGVidWdUaWNrc0V4Y2x1ZGVkTG9nZ2VkfHwoZj17fSxmLmRlYnVnVGlja3NFeGNsdWRlZD1lLF8ucHEoZixjKSksXy5rbyhjKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTplPSExfWlmKCFlKXtpZihhWzBdIT09Il8iJiYoZT1hLF8uc3EubWFyaykpe2Uuc3RhcnRzV2l0aCgibWFya18iKXx8KGU9Im1hcmtfIitlKTtjJiYoZSs9YCAoJHtjfSlgKTtmPWU7aD17fTtpZihiIT09dm9pZCAwJiYhXy54KCJ3ZWJfY3NpX2Rpc2FibGVfYWx0X3RpbWVfcGVyZm9ybWFuY2VfbWFyayIpKXtsZXQgbD1iO2w9Xy54KCJjc2lfdXNlX3BlcmZvcm1hbmNlX25hdmlnYXRpb25fdGltaW5nIik/bC1fLnNxLnRpbWVPcmlnaW46bC0oXy5zcS50aW1lT3JpZ2lufHxfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQpO2guc3RhcnRUaW1lPWx9Xy54KCJjc2lfZW5hYmxlX2Nocm9tZV9kZXZ0b29sc19wZXJmb3JtYW5jZV90aW1lbGluZV9pbnRlZ3JhdGlvbiIpJiYoaC5kZXRhaWw9e3ZJOntkYXRhVHlwZToibWFya2VyIixjb2xvcjoicHJpbWFyeSIsdG9vbHRpcFRleHQ6Zn19KTtmPU9iamVjdC5rZXlzKGgpLmxlbmd0aD4wP2g6dm9pZCAwO3RyeXtfLnNxLm1hcmsoZSxmKX1jYXRjaChsKXtfLnNxLm1hcmsoZSl9fWU9Cl8udW8oY3x8IiIpO2UudGlja1thXT1ifHwoMCxfLmVsKSgpO2lmKGUuY2FsbGJhY2smJmUuY2FsbGJhY2tbYV0pZm9yKHZhciBrIG9mIGUuY2FsbGJhY2tbYV0paygpO2s9Xy5ubyhjKTtrLmdlbFRpY2tzJiYoay5nZWxUaWNrc1thXT0hMCk7ZT1fLm1vKGMpO2s9Ynx8KDAsXy5lbCkoKTtlW2FdPWs7ZT1fLmtvKGMpLmN0dEF1dGhJbmZvO2E9PT0iX3N0YXJ0Ij8oYT1hcSgpLGNxKGEsYGJhc2VsaW5lXyR7ZH1gKXx8Xy5FcCgibGF0ZW5jeUFjdGlvbkJhc2VsaW5lZCIse2NsaWVudEFjdGlvbk5vbmNlOmR9LHt0aW1lc3RhbXA6YixjdHRBdXRoSW5mbzplfSkpOmFxKCkudGljayhhLGQsYixlKTtfLnRxKGMpO3JldHVybiBrfX19OwpfLnZxPWZ1bmN0aW9uKGEpe3ZhciBiPV8udXEoImFmdCIsYSk7aWYoYilyZXR1cm4gYjtiPV8udygoYXx8IiIpKyJUSU1JTkdfQUZUX0tFWVMiLFsib2wiXSk7dmFyIGM9Yi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7bGV0IGU9Xy51cShiW2RdLGEpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIE5hTn07Xy51cT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5tbyhiKVthXSlyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9hOmFbYS5sZW5ndGgtMV19O18udHE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51cSgiX3N0YXJ0IixhKSxjPV8udnEoYSksZD0hd3E7YiYmYyYmZCYmKF8uc20oeHEsbmV3IHlxKE1hdGgucm91bmQoYy1iKSxhKSksd3E9ITApfTtfLnpxPWZ1bmN0aW9uKGEsYixjPSExKXtfLlZpKF8ucHEpKGEsYixjKX07Xy5BcT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmkoXy5ucSkoYSxiLGMpfTsKXy5CcT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKCgpPT57dmFyIGM9Xy5tbyhiKTtyZXR1cm4gYSBpbiBjfSkoKX07a2E9T2JqZWN0LmNyZWF0ZTtqYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7aWE9Z2xvYmFsVGhpcztjYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGNhLnB1c2goIkJpZ0ludDY0IiksY2EucHVzaCgiQmlnVWludDY0IikpO3ZhciBsYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYSIpfSk7CmZhKCJTdXBwcmVzc2VkRXJyb3IiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkLGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihjLGQsZSk7ZT1FcnJvcihlKTsic3RhY2siaW4gZSYmKHRoaXMuc3RhY2s9ZS5zdGFjayk7dGhpcy5tZXNzYWdlPWUubWVzc2FnZTt0aGlzLmVycm9yPWM7dGhpcy5zdXBwcmVzc2VkPWR9aWYoYSlyZXR1cm4gYTtuYShiLEVycm9yKTtiLnByb3RvdHlwZS5uYW1lPSJTdXBwcmVzc2VkRXJyb3IiO3JldHVybiBifSk7CmZhKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtpZihiIGluc3RhbmNlb2YgUmVnRXhwJiYhYi5nbG9iYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigiYiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19KTtmYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0pOwpmYSgiT2JqZWN0Lmhhc093biIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixjKX19KTtmYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZWEoImF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cWF9KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy55dGNzaSYmd2luZG93Lnl0Y3NpLnRpY2smJndpbmRvdy55dGNzaS50aWNrKCJyc2VzX2RwaiIpO18uQ3E9Xy5DcXx8e307Xy51PXRoaXN8fHNlbGY7Xy5EcT1fLnUuX0ZfdG9nZ2xlc19kZWZhdWx0X2Jhc2V8fFtdO3ZhLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmVoPW51bGw7Xy5FcT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt2YXIgJG09Y2xhc3N7Y29uc3RydWN0b3Ioe3VybDphLGtMOmJ9KXt0aGlzLm89YTt0aGlzLkI9Yjt0aGlzLnY9KG5ldyBEYXRlKS5nZXRUaW1lKCktMTcwNDA2NzJFNTt0aGlzLmo9e307Zm9yKHZhciBjPS9bPyZdKFteJj1dKyk9KFteJl0qKS9nO2I9Yy5leGVjKGEpOyl0aGlzLmpbYlsxXV09YlsyXX19O18uSGEoXy5MYSxFcnJvcik7Xy5MYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciB3ZDt2YXIgTmE9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsUWE7Xy5TYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTtWYShhPT5hYGApfHxWYShhPT5hYFwwYCl8fFZhKGE9PmFgXG5gKXx8VmEoYT0+YWBcdTAwMDBgKTtfLldhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O18uRnE9bmV3IF8uV2EoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFphLGNiO1phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZmI9YX19O18uR3E9bmV3IFphKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpO18uSHE9JGEoInRlbCIpO18uSXE9JGEoImRhdGEiKTtfLkpxPSRhKCJodHRwIik7Xy5LcT0kYSgiaHR0cHMiKTtfLkxxPSRhKCJmdHAiKTtfLk1xPSRhKCJtYWlsdG8iKTtfLk5xPSRhKCJpbnRlbnQiKTtfLk9xPSRhKCJzbXMiKTtfLlBxPSRhKCJ2bmQueW91dHViZSIpO18uYWI9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxXTtjYj0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZmI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qKyIifX07Xy5qYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTt2YXIgcGI9ImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbW9kdWxlcHJlbG9hZCBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpO3ZhciBEYj17fTt2YXIgS2I7S2I9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtfLlliPS8jfCQvO3ZhciBRcT0hIShfLkRxWzBdPj4yNSYxKSxScT0hIShfLkRxWzBdPj4yMCYxKSxTcT0hIShfLkRxWzBdPj4yNyYxKSxUcT0hIShfLkRxWzBdJjgpLFVxPSEhKF8uRHFbMF0mODE5MiksVnE9ISEoXy5EcVswXT4+MTkmMSksV3E9ISEoXy5EcVswXT4+MTcmMSksWHE9ISEoXy5EcVswXT4+MTgmMSk7dmFyIGRjLFZjLGRlLEFlLFZnO2RjPVFxP1NxOnVhKDYxMDQwMTMwMSwhMSk7Xy5ZcT1RcT9UcTp1YSg1MTM2NTk1MjMsITEpO1ZjPVFxP1JxfHwhVXE6dWEoNzQ4NDAyMTQ3LCEwKTtkZT1RcT9WcTp1YSg5MTk0NDQ4MjQsITEpO0FlPVFxP1dxOnVhKDkyODg3NTM5OCwhMSk7Vmc9UXE/WHE6dWEoNjgzNzQ5MjAxLCExKTt2YXIgZWMsWnE9Xy51Lm5hdmlnYXRvcjtlYz1acT9acS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5wY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgJHEsYXIsYnI7JHE9amMoKTthcj1pYygpPyExOmhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIik7Xy5KbD1oYygiRWRnZSIpO2JyPWhjKCJHZWNrbyIpJiYhKF8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIikpJiYhKGhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIikpJiYhaGMoIkVkZ2UiKTtfLmNyPV8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIik7Xy5kcj1fLmNyJiZoYygiTW9iaWxlIik7bmMoKXx8aGMoIk1hY2ludG9zaCIpO25jKCl8fGhjKCJXaW5kb3dzIik7KG5jKCk/ZWMucGxhdGZvcm09PT0iTGludXgiOmhjKCJMaW51eCIpKXx8bmMoKXx8aGMoIkNyT1MiKTtfLmVyPW5jKCk/ZWMucGxhdGZvcm09PT0iQW5kcm9pZCI6aGMoIkFuZHJvaWQiKTtvYygpO2hjKCJpUGFkIik7aGMoImlQb2QiKTtfLmZyPW9jKCl8fGhjKCJpUGFkIil8fGhjKCJpUG9kIik7Cl8uZ3I9Xy5iYygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigia2Fpb3MiKSE9LTE7a2MoKTtfLmhyPW9jKCl8fGhjKCJpUG9kIik7Xy5pcj1oYygiaVBhZCIpOyFoYygiQW5kcm9pZCIpfHxtYygpfHxrYygpfHxqYygpfHxoYygiU2lsayIpO21jKCk7Xy5Paz1oYygiU2FmYXJpIikmJiEobWMoKXx8KGljKCk/MDpoYygiQ29hc3QiKSl8fGpjKCl8fChpYygpPzA6aGMoIkVkZ2UiKSl8fChpYygpP2ZjKCJNaWNyb3NvZnQgRWRnZSIpOmhjKCJFZGcvIikpfHwoaWMoKT9mYygiT3BlcmEiKTpoYygiT1BSIikpfHxrYygpfHxoYygiU2lsayIpfHxoYygiQW5kcm9pZCIpKSYmIShvYygpfHxoYygiaVBhZCIpfHxoYygiaVBvZCIpKTt2YXIgcmM9e30sdmM9bnVsbDt2YXIgd2M9dm9pZCAwO3ZhciBIYyxZYyxTYztfLkpjPV8ueWMoKTtfLmpyPV8ueWMoKTtIYz1fLnljKCk7Xy5rcj1fLnljKCk7WWM9Xy55YygpO18uT2M9Xy55YygibV9tIiwhMCk7U2M9Xy55YygpO18ubHI9Xy55YygpO3ZhciBucjtfLkFjPV8ueWMoImphcyIsITApO25yPVtdO25yW18uQWNdPTc7Xy5tcj1PYmplY3QuZnJlZXplKG5yKTtfLlBjPXt9O18uemM9e307Xy5vcj1PYmplY3QuZnJlZXplKHt9KTtfLnByPV8uQ2MoYT0+YSE9PW51bGwmJmEhPT12b2lkIDApO3ZhciBFYyxEYztFYz1fLkNjKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO0RjPV8uQ2MoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7Xy5ibz1fLkNjKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLnFyPV8uQ2MoYT0+ISFhJiYodHlwZW9mIGE9PT0ib2JqZWN0Inx8dHlwZW9mIGE9PT0iZnVuY3Rpb24iKSk7dmFyIHJyLHNyO18uTWM9Xy5DYyhhPT5hPj1yciYmYTw9c3IpO3JyPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7c3I9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtfLnRyPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18udXI9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18udnI9TnVtYmVyLmlzU2FmZUludGVnZXI7Xy53cj1OdW1iZXIuaXNGaW5pdGU7Xy54cj1NYXRoLnRydW5jO3ZhciBUYz17fTt2YXIgS2M7Xy55cj1fLkZjKDApO18uenI9ZmQoKTtfLkFyPWZkKCk7Xy5Ccj1mZCgpO18uQ3I9ZmQoKTtfLkRyPWZkKCk7Xy5Fcj1mZCgpO18uRnI9ZmQoKTtfLkdyPWZkKCk7Xy5Icj1mZCgpO18uSXI9ZmQoKTtfLkpyPWZkKCk7Xy5Lcj1mZCgpO18uTHI9ZmQoKTtfLk1yPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkRhPV8uWGMoYSxiLGMsMjA0OCl9dG9KU09OKCl7cmV0dXJuIFVjKHRoaXMpfXNlcmlhbGl6ZShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoVWModGhpcyxhKSl9Y2xvbmUoKXt2YXIgYT10aGlzLkRhLGI9YVtfLkFjXXwwO3JldHVybiBfLiRjKHRoaXMsYSxiKT9fLmJkKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5aYyhhLGIsITEpKX19O18uTXIucHJvdG90eXBlW18uT2NdPV8uUGM7dmFyIGpqPXdpbmRvdzsiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsCiJJTlBVVCJdKTt2YXIgaWQ9e1FCOiJhbGxvdy1mb3JtcyIsU0I6ImFsbG93LW1vZGFscyIsVEI6ImFsbG93LW9yaWVudGF0aW9uLWxvY2siLFVCOiJhbGxvdy1wb2ludGVyLWxvY2siLFZCOiJhbGxvdy1wb3B1cHMiLFdCOiJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giLFhCOiJhbGxvdy1wcmVzZW50YXRpb24iLFlCOiJhbGxvdy1zYW1lLW9yaWdpbiIsWkI6ImFsbG93LXNjcmlwdHMiLGFDOiJhbGxvdy10b3AtbmF2aWdhdGlvbiIsYkM6ImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJ9LGxkPWhkKCgpPT5rZCgpKTtfLmc9Xy5uZC5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLm5kKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTtfLmcuYXJlYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5hcmVhKCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcuc2NhbGU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoKj1hO3RoaXMuaGVpZ2h0Kj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTtyZXR1cm4gdGhpc307dmFyIHJkPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIE9wPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE9PT1QcCYmYnx8IiJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qfX0sUHA9e307bmV3IE9wKFBwLCIiKTtfLmc9dWQucHJvdG90eXBlO18uZy5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLmopLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBCZCh0aGlzLmosYSl9O18uZy5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uZy5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uZy5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtBZChfLnZkKGEpLGEsYXJndW1lbnRzKX07Xy5nLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uZy5yZW1vdmVOb2RlPV8uRGQ7Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5nLmlzRm9jdXNhYmxlPV8uRmQ7dmFyIGlqPShuZXcgRGF0ZSkuZ2V0VGltZSgpO18uZz1MZC5wcm90b3R5cGU7Xy5nLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnUubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIXRoaXMuaXNFbXB0eSgpKXJldHVybiEwO3RoaXMuc2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiLCIxIix7dmo6NjB9KTtpZih0aGlzLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPT0iMSIpcmV0dXJuITE7dGhpcy5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKXy5nLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBoPWMucGF0aHx8dm9pZCAwO3ZhciBrPWMudmp9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigiRGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJFYCIrYik7az09PXZvaWQgMCYmKGs9LTEpO2M9Zj8iO2RvbWFpbj0iK2Y6IiI7aD1oPyI7cGF0aD0iK2g6IiI7ZD1kPyI7c2VjdXJlIjoiIjtrPWs8MD8iIjprPT0wPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrayoxRTMpKS50b1VUQ1N0cmluZygpO3RoaXMuai5jb29raWU9YSsiPSIrYitjK2graytkKyhlIT1udWxsPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uZy5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hKyI9IixkPSh0aGlzLmouY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IobGV0IGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWRbZV0udHJpbSgpO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5nLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7dmo6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5nLnJkPWZ1bmN0aW9uKCl7cmV0dXJuIE1kKHRoaXMpLmtleXN9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiBNZCh0aGlzKS52YWx1ZXN9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuai5jb29raWV9O18uZy5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPU1kKHRoaXMpLmtleXM7Zm9yKGxldCBiPWEubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy5yZW1vdmUoYVtiXSl9OwpfLkxqPW5ldyBMZCh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBSZDtfLk5yPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dmFyIGM9Y3x8W107dGhpcy52PWE7dGhpcy5vPWJ8fG51bGw7dGhpcy5qPVtdO3RoaXMuaj10aGlzLmouY29uY2F0KGMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudn19O18uT3I9bmV3IF8uTnIoIm43M3F3ZiIsIm43M3F3ZiIpO18uYWUucHJvdG90eXBlLlk9ITE7Xy5hZS5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZfTtfLmFlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ZfHwodGhpcy5ZPSEwLHRoaXMubGEoKSl9O18uYWUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFlLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuWT9iIT09dm9pZCAwP2EuY2FsbChiKTphKCk6KHRoaXMuS3x8KHRoaXMuSz1bXSksYiYmKGE9YS5iaW5kKGIpKSx0aGlzLksucHVzaChhKSl9O18uYWUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7aWYodGhpcy5LKWZvcig7dGhpcy5LLmxlbmd0aDspdGhpcy5LLnNoaWZ0KCkoKX07dmE9dmF8fHt9O18uSGEoYmUsXy5hZSk7YmUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O2NlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuaiYmKHRoaXMuai5jYWxsKHRoaXMub3x8bnVsbCxhKSx0aGlzLmo9dGhpcy5vPW51bGwpfTtjZS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPW51bGx9O3ZhLndrPWNlO18uSGEoZWUsXy5hZSk7Xy5nPWVlLnByb3RvdHlwZTtfLmcuUGo9bnVsbDtfLmcuT3k9YmU7Xy5nLkFqPW51bGw7Xy5nLnN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRH07Xy5nLmlzTG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkFqfTtfLmcueWU9ZnVuY3Rpb24oKXt0aGlzLkFqPW5ldyBiZX07Xy5nLm9uTG9hZD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgdGhpcy5PeTtiLmluaXRpYWxpemUoYSgpKTt0aGlzLkFqPWI7aWYodGhpcy5vJiYoYj1pZSh0aGlzLm8sYSgpKSkpcmV0dXJuIGI7aWYodGhpcy5CJiYoYT1pZSh0aGlzLkIsYSgpKSkpcmV0dXJuIGE7dGhpcy52JiYodGhpcy52Lmxlbmd0aD0wKTtyZXR1cm4gbnVsbH07Cl8uZy5vbkVycm9yPWZ1bmN0aW9uKGEpe3RoaXMudiYmKGE9aWUodGhpcy52LGEpKSYmXy4kYihFcnJvcigiR2AiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuQiYmKHRoaXMuQi5sZW5ndGg9MCl9O18uZy5sYT1mdW5jdGlvbigpe2VlLnpiLmxhLmNhbGwodGhpcyk7Xy5aZCh0aGlzLkFqKTt0aGlzLlBqPW51bGx9O3ZhLk9nPWVlO3ZhciBRZz17RVJST1I6ImVycm9yIixJRExFOiJpZGxlIixNczoiYWN0aXZlIixpdToidXNlcklkbGUiLGh1OiJ1c2VyQWN0aXZlIn07Xy5nPWplLnByb3RvdHlwZTtfLmcuUnI9ZnVuY3Rpb24oKXt9O18uZy5UaD1mdW5jdGlvbigpe307Xy5nLm5pPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkgiKTt9O18uZy5BZz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJJIik7fTtfLmcuVnA9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiExfTtfLmcuZW49ZnVuY3Rpb24oKXt9O18uZy5abj1mdW5jdGlvbigpe307dmFyIFByPWNsYXNze2luaXQoKXtfLkZhKCJfRl9pbnN0YWxsQ3NzIixhPT57YSYma2UoYSl9KX19O3ZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLm89IiI7dGhpcy52PXt9fXRvU3RyaW5nKCl7dmFyIGE9dGhpcy5vK3ZlKHRoaXMpLGI9Xy5VYih0aGlzLnYpLGM9IiI7YiE9IiImJihjPSI/IitiKTtyZXR1cm4gYStjfWNsb25lKCl7dmFyIGE9bmV3IG1lO2Euaj17Li4udGhpcy5qfTthLm89dGhpcy5vO2Eudj17Li4udGhpcy52fTtyZXR1cm4gYX19LG5lPXt2RzoiayIsRUM6ImNrIix6RjoibSIsWUM6ImV4bSIsV0M6ImV4Y20iLExCOiJhbSIsUkI6ImFtYyIsbUY6Im1tIix0RzoicnQiLGJGOiJkIixYQzoiZWQiLGlIOiJzdiIsSkM6ImRlb2IiLHNDOiJjYiIsd0M6ImNjYiIsdEM6ImNiaSIsWUc6InJzIixCRzoic2RjaCIsY0Y6ImltIixLQzoiZGciLFVDOiJiciIsVEM6ImJyLWQiLFZDOiJyYiIsSUg6InpzIixFSDoid3QiLFpDOiJlZSIsaEg6InNtIix4RjoibWQiLFhFOiJnc3Ntb2R1bGVzZXRwcm90byIsQ0g6InVqZyIsQkg6InNwIixhRjoiaWNoYyIsWEc6InNsayIsCk1DOiJkdGkiLExDOiJkYndoIixlRjoiaWMifSxRcj1SZWdFeHAoIl4oZ2FwaVxcLik/bG9hZGVkKF9nfF9oKT8oX1swLTlhLXpdKykrJCIpLFJyPVJlZ0V4cCgiXlthLXpBLVowLTktXypdKyQiKTt2YXIgR2U9ITE7Xy55Zz10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Xy5KZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5vPSEwfTtfLkplLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5IYShLZSxfLkplKTsKS2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5jcnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCx0aGlzLm9mZnNldFk9Cl8uY3J8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmo9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJktlLnpiLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O0tlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtLZS56Yi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmouc3RvcFByb3BhZ2F0aW9uP3RoaXMuai5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmouY2FuY2VsQnViYmxlPSEwfTtLZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtLZS56Yi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuajthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgVWU9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgTGU9MDtPZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5saXN0ZW5lcnNbZl07YXx8KGE9dGhpcy5saXN0ZW5lcnNbZl09W10sdGhpcy5qKyspO3ZhciBoPVFlKGEsYixkLGUpO2g+LTE/KGI9YVtoXSxjfHwoYi56aT0hMSkpOihiPW5ldyBNZShiLHRoaXMuc3JjLGYsISFkLGUpLGIuemk9YyxhLnB1c2goYikpO3JldHVybiBifTtPZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmxpc3RlbmVycykpcmV0dXJuITE7dmFyIGU9dGhpcy5saXN0ZW5lcnNbYV07Yj1RZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oTmUoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1thXSx0aGlzLmotLSksITApOiExfTt2YXIgWGU9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksZWY9e30sJGU9MCxmZj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uSGEoXy5nZixfLmFlKTtfLmdmLnByb3RvdHlwZVtVZV09ITA7Xy5nPV8uZ2YucHJvdG90eXBlO18uZy5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uU2UodGhpcyxhLGIsYyxkKX07Xy5nLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5jZih0aGlzLGEsYixjLGQpfTsKXy5nLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLk07aWYoYylmb3IoYj1bXTtjO2M9Yy5NKWIucHVzaChjKTtjPXRoaXMuRmE7dmFyIGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5KZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uSmUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uSmUoZCxjKTtzZChhLGUpfWU9ITA7dmFyIGY7aWYoYilmb3IoZj1iLmxlbmd0aC0xOyFhLm8mJmY+PTA7Zi0tKXt2YXIgaD1hLmN1cnJlbnRUYXJnZXQ9YltmXTtlPWhmKGgsZCwhMCxhKSYmZX1hLm98fChoPWEuY3VycmVudFRhcmdldD1jLGU9aGYoaCxkLCEwLGEpJiZlLGEub3x8KGU9aGYoaCxkLCExLGEpJiZlKSk7aWYoYilmb3IoZj0wOyFhLm8mJmY8Yi5sZW5ndGg7ZisrKWg9YS5jdXJyZW50VGFyZ2V0PWJbZl0sZT1oZihoLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLmcubGE9ZnVuY3Rpb24oKXtfLmdmLnpiLmxhLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLk09bnVsbH07Xy5nLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLmcucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe2lmKHRoaXMubyl7dmFyIGI9dGhpcy5vO2E9YSYmYS50b1N0cmluZygpO2xldCBjPTA7Zm9yKGxldCBkIGluIGIubGlzdGVuZXJzKWlmKCFhfHxkPT1hKXtsZXQgZT1iLmxpc3RlbmVyc1tkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKykrK2MsTmUoZVtmXSk7ZGVsZXRlIGIubGlzdGVuZXJzW2RdO2Iuai0tfWI9Y31lbHNlIGI9MDtyZXR1cm4gYn07dmFyIGtmPWNsYXNzIGV4dGVuZHMgXy5nZntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuRD10aGlzLmo9MDt0aGlzLkRjPWE/P3twYjooYixjKT0+c2V0VGltZW91dChiLGMpLEFhOmI9PntjbGVhclRpbWVvdXQoYil9fTt0aGlzLmlzT25saW5lPXdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZT8/ITA7dGhpcy52PWFzeW5jKCk9Pnthd2FpdCBtZih0aGlzKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMudik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy52KTt0aGlzLkR8fG5mKHRoaXMpfWRpc3Bvc2UoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsdGhpcy52KTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLnYpO3RoaXMuRGMuQWEodGhpcy5EKTtkZWxldGUga2YuaW5zdGFuY2V9U2IoKXtyZXR1cm4gdGhpcy5pc09ubGluZX19O3ZhciBxZj1udWxsLHBmPW5ldyBNYXA7dmFyIFNyPWE9PnthPWEuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwiZCIsIjAiKTt3ZShhLG51bGwpO3hlKGEsbnVsbCk7cmV0dXJuIGF9LFRyPSEwLFVyPShhLGIse2Nzc1Jvd0tleTpjLEtlOmQsWWQ6ZSxjYWxsYmFjazpmfT17fSk9PntpZihiKWZvcihsZXQgaCBvZiBiKWlmKCFSci50ZXN0KGgpKXRocm93IEVycm9yKCJKYCIraCk7b2UoYSwibSIsYi5qb2luKCIsIikpO2UmJnplKGEsZSk7YyYmKG9lKGEsImNrIixjKSxkP29lKGEsInJzIixkKTpUciYmKFRyPSExKSk7aWYoZil7aWYoZiE9bnVsbCYmIVFyLnRlc3QoZikpdGhyb3cgRXJyb3IoIktgIitmKTtvZShhLCJjYiIsZil9YT1hLnRvU3RyaW5nKCk7YS5sYXN0SW5kZXhPZigiLyIsMCk9PTAmJihiPV8uTWIoZG9jdW1lbnQubG9jYXRpb24uaHJlZiksYT1fLkliKGJbMV0sYlsyXSxiWzNdLGJbNF0pK2EpO3JldHVybiBfLlRhKGEpfSxuZz0oYSxiLHtsbjpjPVtdLGNzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofT0Ke30pPT57YT1TcihhKTt4ZShhLGMpO3JldHVybiBVcihhLGIse2Nzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofSl9LG1nPShhLGIse21uOmM9W10sbG46ZD1bXSxjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a309e30pPT57YT1TcihhKTtvZShhLCJkIiwiMSIpO3dlKGEsYyk7eGUoYSxkKTtyZXR1cm4gVXIoYSxiLHtjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a30pfTt2YXIgVnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnY9YTt0aGlzLkI9Yjt0aGlzLm89MDt0aGlzLmo9bnVsbH1nZXQoKXtpZih0aGlzLm8+MCl7dGhpcy5vLS07dmFyIGE9dGhpcy5qO3RoaXMuaj1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMudigpO3JldHVybiBhfX07dmFyIFdyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPXRoaXMuaj1udWxsfWFkZChhLGIpe3ZhciBjPXZmLmdldCgpO2Muc2V0KGEsYik7dGhpcy5vP3RoaXMuby5uZXh0PWM6dGhpcy5qPWM7dGhpcy5vPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLmomJihhPXRoaXMuaix0aGlzLmo9dGhpcy5qLm5leHQsdGhpcy5qfHwodGhpcy5vPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LHZmPW5ldyBWcigoKT0+bmV3IFhyLGE9PmEucmVzZXQoKSksWHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLmZuPW51bGx9c2V0KGEsYil7dGhpcy5mbj1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZm49bnVsbH19O3ZhciBZcix3Zj0hMSx1Zj1uZXcgV3IsR2Y9KGEsYik9PntZcnx8WnIoKTt3Znx8KFlyKCksd2Y9ITApO3VmLmFkZChhLGIpfSxacj0oKT0+e3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO1lyPSgpPT57YS50aGVuKHhmKX19O0NmLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLmo9dGhpcy5vPXRoaXMuY2hpbGQ9bnVsbDt0aGlzLnY9ITF9O3ZhciBEZj1uZXcgVnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENmfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLkJmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUWYodGhpcywoMCxfLnlnKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLnlnKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy55ZihfLkJmKTtfLmc9Xy5CZi5wcm90b3R5cGU7Xy5nLmZpbmFsbHk9ZnVuY3Rpb24oYSl7YT0oMCxfLnlnKShhKTtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntLZih0aGlzLGQ9PnthKCk7YihkKX0sZD0+e2EoKTtjKGQpfSl9KX07Xy5nLktnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFFmKHRoaXMsbnVsbCwoMCxfLnlnKShhKSxiKX07Xy5nLmNhdGNoPV8uQmYucHJvdG90eXBlLktnOwpfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaj09MCl7bGV0IGI9bmV3IF8uUGYoYSk7R2YoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O18uZy5uQj1mdW5jdGlvbihhKXt0aGlzLmo9MDtfLkFmKHRoaXMsMixhKX07Xy5nLm9CPWZ1bmN0aW9uKGEpe3RoaXMuaj0wO18uQWYodGhpcywzLGEpfTtfLmcudHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1NZih0aGlzKTspTmYodGhpcyxhLHRoaXMuaix0aGlzLkkpO3RoaXMuSz0hMX07Xy5VZj1fLiRiO18uSGEoXy5QZixfLkxhKTtfLlBmLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiO18uSGEoWGYsXy5MYSk7WGYucHJvdG90eXBlLm5hbWU9IlhockVycm9yIjtfLkhhKFlmLFhmKTtZZi5wcm90b3R5cGUubmFtZT0iWGhySHR0cEVycm9yIjtfLkhhKFpmLFhmKTtaZi5wcm90b3R5cGUubmFtZT0iWGhyVGltZW91dEVycm9yIjtfLmRoPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9ITEsZT0hMSl7dGhpcy5ZPXFlKF8uVWEoYSkudG9TdHJpbmcoKSwhMCk7dGhpcy5GYT1iO3RoaXMueWE9Yzt0aGlzLkQ9ZDt0aGlzLkI9e307dGhpcy5NPW5ldyBNYXA7dGhpcy5aPVtdO3RoaXMub2E9ITA7dGhpcy5oYT0oYT10ZSh0aGlzLlksImV4Y20iKSk/YS5zcGxpdCgiLCIpOltdO3RoaXMuVmQ9ZTt0aGlzLmZpPSExO3RoaXMuV2c9ImFub255bW91cyI7dGhpcy5kaT00MDQzO3RoaXMuZ2E9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMudj10aGlzLkk9bnVsbDt0aGlzLkViPSEwO0hlKCk7dGhpcy5YPW51bGw7Xy5hZyh0aGlzLHllKHRoaXMuWSkpO3RoaXMuZmV0Y2hQcmlvcml0eT12b2lkIDA7dGhpcy5NYT0hMTt0aGlzLlUoKX1hc3luYyBRYSgpe3Rocm93IEVycm9yKCJUIik7fVUoKXt9bG9hZChhLGIsYyxkLGU9Yil7Xy5VYShhKTt2YXIgZj10aGlzLmZpLGg9dGhpcy5XZyxrPXRoaXMuZmV0Y2hQcmlvcml0eSwKbD1fLkNkKCJTQ1JJUFQiKTtfLm9iKGwsYSk7ZiYmKGwuY3Jvc3NPcmlnaW49aCk7bC5hc3luYz0hMTtrJiZsLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsayk7Xy5hZyh0aGlzLGIpO18ucGcodGhpcyxhLGwsYixjLGQsZSl9fTt2YXIgcWc9bmV3IFVpbnQ4QXJyYXkoMTIzKSxLZz0hMTt2YXIgTGc9W107Xy5nPXRnLnByb3RvdHlwZTtfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuail0aGlzLnYgaW5zdGFuY2VvZiB0ZyYmdGhpcy52LmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5vKXtsZXQgYj10aGlzLm87ZGVsZXRlIHRoaXMubzthP2IuY2FuY2VsKGEpOihiLlktLSxiLlk8PTAmJmIuY2FuY2VsKCkpfXRoaXMuWj90aGlzLlouY2FsbCh0aGlzLlUsdGhpcyk6dGhpcy5NPSEwO3RoaXMuanx8KGE9bmV3IEZnKHRoaXMpLHhnKHRoaXMpLHZnKHRoaXMsITEsYSkpfX07Xy5nLnNwPWZ1bmN0aW9uKGEsYil7dGhpcy5JPSExO3ZnKHRoaXMsYSxiKX07Xy5nLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe3hnKHRoaXMpO3ZnKHRoaXMsITAsYSl9O18uZy5maW5hbGx5PWZ1bmN0aW9uKGEpe3JldHVybiBFZyhuZXcgUHJvbWlzZSgoYixjKT0+e3pnKHRoaXMsZD0+e2EoKTtiKGQpfSxkPT57YSgpO2MoZCl9KX0pKX07Cl8uZy50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8uQmYoZnVuY3Rpb24oaCxrKXtlPWg7ZD1rfSk7emcodGhpcyxlLGZ1bmN0aW9uKGgpe2ggaW5zdGFuY2VvZiBGZz9mLmNhbmNlbCgpOmQoaCk7cmV0dXJuIENnfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07Xy55Zih0Zyk7dGcucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcn07dmFyIENnPXt9O18uSGEod2csXy5MYSk7d2cucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjt3Zy5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjtfLkhhKEZnLF8uTGEpO0ZnLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCB3YXMgY2FuY2VsZWQiO0ZnLnByb3RvdHlwZS5uYW1lPSJDYW5jZWxlZEVycm9yIjsKRGcucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgQmdbdGhpcy5qXTt0aHJvdyB0aGlzLm87fTt2YXIgQmc9e307dmFyIEdnPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcigpO3RoaXMubmFtZT0iTW9kdWxlTG9hZEZhaWx1cmUiO3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWI7dGhpcy5tbj1jO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9dG9TdHJpbmcoKXtyZXR1cm5gJHtIZyh0aGlzKX0gKCR7dGhpcy5zdGF0dXMhPXZvaWQgMD90aGlzLnN0YXR1czoiPyJ9KWB9fTt2YS5vYj1HZzt2YS5vYi5UeXBlPXtwbzowLHBrOjEsVElNRU9VVDoyLGhvOjMsdWs6NH07Xy5IYShJZyxqZSk7Xy5IYShKZyxfLkxhKTtfLmc9SWcucHJvdG90eXBlO18uZy5Scj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9OwpfLmcuVGg9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJZykpdGhpcy5UaChhLGIpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIil7aWYoYS5zdGFydHNXaXRoKCJkJCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoIi8iKSxmPTAsaD0hMSxrPTA7Oyl7dmFyIGw9aD9hLnN1YnN0cmluZyhmKTphLnN1YnN0cmluZyhmLGUpO2lmKGwubGVuZ3RoPT09MClkKyssZj0ic3kiK2QudG9TdHJpbmcoMzYpLGw9W107ZWxzZXt2YXIgbT1sLmluZGV4T2YoIjoiKTtpZihtPDApZj1sLGw9W107ZWxzZSBpZihtPT09bC5sZW5ndGgtMSlmPWwuc3Vic3RyaW5nKDAsbSksbD1BcnJheShjW2stMV0pO2Vsc2V7Zj1sLnN1YnN0cmluZygwLG0pO2w9bC5zdWJzdHJpbmcobSsxKS5zcGxpdCgiLCIpO209aztmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyltLT1sW25dLmxlbmd0aD09PTA/MTpOdW1iZXIobFtuXSksbFtuXT1jW21dfW09MDtpZihmLmxlbmd0aD09PQowKW09MTtlbHNlIGlmKGYuY2hhckF0KDApPT09IisifHxmLmNoYXJBdCgwKT09PSItIiltPU51bWJlcihmKTttIT09MCYmKGQrPW0sZj0ic3kiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7TmcodGhpcyxmLGwpO2lmKGgpYnJlYWs7Zj1lKzE7ZT1hLmluZGV4T2YoIi8iLGYpO2U9PT0tMSYmKGg9ITApO2srK310aGlzLmhhPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpT2codGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7az1hW2RdLnNwbGl0KCI6Iik7ZT1rWzBdO2g9W107aWYoa1sxXSlmb3IoaD1rWzFdLnNwbGl0KCIsIiksaz0wO2s8aC5sZW5ndGg7aysrKWhba109Y1twYXJzZUludChoW2tdLDM2KV07Yy5wdXNoKGUpO05nKHRoaXMsZSxoKX10aGlzLmhhPWN9aWYoYiYmYi5sZW5ndGgpe2ZvcihsZXQgbiBvZiBiKXRoaXMuQi5hZGQobik7dGhpcy55YT1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCk7Ck9iamVjdC5mcmVlemUodGhpcy5oYSk7dGhpcy5vPT10aGlzLlomJih0aGlzLm89bnVsbCwoYj10aGlzLloub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLFJnKHRoaXMpKX19O18uZy5MYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ELmdldChhKX07Xy5nLm5pPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5MYShhKTtjJiZjLmlzTG9hZGVkKCk/dGhpcy5sb2FkKGIpOnRoaXMuaiBpbnN0YW5jZW9mIE1hcD8oYz10aGlzLmouZ2V0KGEpLGN8fChjPW5ldyBTZXQsdGhpcy5qLnNldChhLGMpKSxjLmFkZChiKSk6KHRoaXMualthXXx8KHRoaXMualthXT17fSksdGhpcy5qW2FdW2JdPSEwKX07Cl8uZy5BZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaiBpbnN0YW5jZW9mIE1hcCl7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5kZWxldGUoYiksYy5zaXplPT09MCYmdGhpcy5qLmRlbGV0ZShhKSl9ZWxzZSBpZih0aGlzLmpbYV0pe2RlbGV0ZSB0aGlzLmpbYV1bYl07Zm9yKGMgaW4gdGhpcy5qW2FdKXJldHVybjtkZWxldGUgdGhpcy5qW2FdfX07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQi5zaXplPjB9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkkuc2l6ZT4wfTsKXy5nLnNqPWZ1bmN0aW9uKGEsYj0wLGMpe3ZhciBkPVlnKHRoaXMsYSk7dGhpcy5CPW5ldyBTZXQoZCk7dGhpcy5LPXRoaXMub2E/YTpfLnliKGQpO1JnKHRoaXMpO2lmKGQubGVuZ3RoIT09MCl7Zm9yKGxldCBlIG9mIGQpdGhpcy5VLmFkZChlKTthPXRoaXMuWTtpZighYSl0aHJvdyBFcnJvcigiViIpO2lmKCh0aGlzLmogaW5zdGFuY2VvZiBNYXA/dGhpcy5qLnNpemU+MDpPYmplY3Qua2V5cyh0aGlzLmopLmxlbmd0aD4wKSYmIWEuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLF8ueWIoZCksdGhpcy5ELHtZZDp0aGlzLmosb25FcnJvcjooZSxmLGgpPT5iaCh0aGlzLHRoaXMuSyxkLGUhPW51bGw/ZTp2b2lkIDAsZixiLCEhaCksb25UaW1lb3V0OigwLF8uQ2EpKHRoaXMud3csdGhpcyksZm9yY2VSZWxvYWQ6ISFjfSl9fTt2YXIgV2c9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5vPW5ldyBTZXQ7dGhpcy5yZXN1bHQ9W119fTtfLmc9SWcucHJvdG90eXBlOwpfLmcueWU9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPXRoaXMuby5nZXRJZCgpLGI9W107aWYodGhpcy5qIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmouZ2V0KGEpO2lmKGMpe2Zvcih2YXIgZCBvZiBBcnJheS5mcm9tKGMpKShjPXRoaXMuTGEoZCkpJiYhYy5pc0xvYWRlZCgpJiYodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpKGQ9dGhpcy5MYShjKSkmJiFkLmlzTG9hZGVkKCkmJih0aGlzLkFnKGEsYyksYi5wdXNoKGMpKTt0aGlzLmFmKGIpfXRoaXMuaWEoKXx8KChiPXRoaXMuRC5nZXQoYSkub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLHRoaXMuSS5kZWxldGUoYSksdGhpcy5CLmRlbGV0ZShhKSx0aGlzLkIuc2l6ZSE9PTB8fAphaCh0aGlzKSx0aGlzLnlhJiZhPT10aGlzLnlhJiYodGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCkpLFJnKHRoaXMpLHRoaXMubz1udWxsKX19O18uZy51aD1mdW5jdGlvbihhKXtpZih0aGlzLkIuaGFzKGEpKXJldHVybiEwO2ZvcihsZXQgYj0wO2I8dGhpcy52Lmxlbmd0aDtiKyspaWYoXy5zYih0aGlzLnZbYl0sYSk+PTApcmV0dXJuITA7cmV0dXJuITF9O18uZy5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRnKHRoaXMsW2FdLGIpW2FdfTtfLmcuYWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFRnKHRoaXMsYSl9OwpfLmcuUm89ZnVuY3Rpb24oYSl7dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIj8odGhpcy55ZSgpLHRoaXMuRC5kZWxldGUoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiKSk6dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKTt2YXIgYj10aGlzLkQuZ2V0KGEpO2ImJmNoKHRoaXMsYi5qfHxbXSxjPT57Yy55ZSgpO3RoaXMuQi5kZWxldGUoYy5nZXRJZCgpKX0sYz0+IWMuaXNMb2FkZWQoKSxuZXcgU2V0KTtpZih0aGlzLm89dGhpcy5MYShhKSl0aGlzLm8uST0hMH07Xy5nLmVuPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLm8pe2xldCBiPW5ldyB2YS5PZyhbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpO3RoaXMuRC5zZXQoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiLGIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX07Xy5nLnd3PWZ1bmN0aW9uKCl7Wy4uLnRoaXMuQl07JGcodGhpcyxuZXcgdmEub2IodmEub2IuVHlwZS5USU1FT1VUKSk7YWgodGhpcyl9OwpfLmcuWm49ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgYz1hW2VdLGQ9YjtsZXQgZj10aGlzLk0uZ2V0KGMpO2Y/Zi5wdXNoKGQpOnRoaXMuTS5zZXQoYyxbZF0pfX07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLiRkKEFycmF5LmZyb20odGhpcy5ELnZhbHVlcygpKSx0aGlzLlopO3RoaXMuRC5jbGVhcigpO3RoaXMuQi5jbGVhcigpO3RoaXMuSz1bXTt0aGlzLkkuY2xlYXIoKTt0aGlzLnY9W107dGhpcy5NLmNsZWFyKCk7dGhpcy5GYT0hMH07Xy5nLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmF9O18uVGQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IElnfTt2YXIgbWg9WzVFMywyRTRdLCRyPWNsYXNzIGV4dGVuZHMgamV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj1uZXcgTWFwO3RoaXMuRD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuQj0wO3RoaXMuSz1bXTt0aGlzLmo9QWU/bmV3IE1hcDpPYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubz10aGlzLkxhKCJ7YmFzZX0iKX1UaCgpe3RoaXMubyYmdGhpcy5vLmdldElkKCk9PSJ7YmFzZX0iJiZ0aGlzLnllKCl9TGEoYSl7dmFyIGI9dGhpcy52LmdldChhKTtifHwoYj1uZXcgdmEuT2coW10sYSksdGhpcy52LnNldChhLGIpKTtyZXR1cm4gYn1uaShhLGIpe2lmKHRoaXMuTGEoYSkuaXNMb2FkZWQoKSl0aGlzLmxvYWQoYik7ZWxzZSBpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe2xldCBjPXRoaXMuai5nZXQoYSk7Y3x8KGM9bmV3IFNldCx0aGlzLmouc2V0KGEsYykpO2MuYWRkKGIpfWVsc2UgdGhpcy5qW2FdfHwodGhpcy5qW2FdPXt9KSx0aGlzLmpbYV1bYl09ITB9QWcoYSxiKXtpZih0aGlzLmogaW5zdGFuY2VvZgpNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMuZGVsZXRlKGIpLGMuc2l6ZT09PTAmJnRoaXMuai5kZWxldGUoYSkpfWVsc2UgaWYodGhpcy5qW2FdKXtkZWxldGUgdGhpcy5qW2FdW2JdO2ZvcihjIGluIHRoaXMualthXSlyZXR1cm47ZGVsZXRlIHRoaXMualthXX19dWgoYSl7cmV0dXJuISF0aGlzLkRbYV19bG9hZChhKXtpaCh0aGlzLFthXSk7cmV0dXJuIGpoKHRoaXMsYSl9YWYoYSl7dmFyIGI9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2EuZm9yRWFjaChkPT57YltkXXx8KGJbZF09amgodGhpcyxkKSxjLnB1c2goZCkpfSk7aWgodGhpcyxjKTtyZXR1cm4gYn1SbyhhKXt0aGlzLm8/LmdldElkKCk9PT0ic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCImJnRoaXMueWUoKTt2YXIgYj10aGlzLnYuZ2V0KGEpO2toKHRoaXMsYj8uc3QoKT8/W10sYz0+Yy55ZSgpLGM9PiFjLmlzTG9hZGVkKCkpO3RoaXMubz10aGlzLkxhKGEpfXllKCl7aWYodGhpcy5vKXt2YXIgYT10aGlzLm8uZ2V0SWQoKSwKYj1bXTtpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7aWYoYyl7Zm9yKGxldCBkIG9mIEFycmF5LmZyb20oYykpdGhpcy5MYShkKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpdGhpcy5MYShjKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGMpLGIucHVzaChjKSk7dGhpcy5hZihiKX10aGlzLm8ub25Mb2FkKCgpPT5udWxsKTt0aGlzLm89bnVsbDsoIXRoaXMudWgoYSkmJi9ec3lbMC05YS16XXswLDR9JC8udGVzdChhKXx8YT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikmJnRoaXMudi5kZWxldGUoYSk7bGgodGhpcyxhKX19ZW4oYSl7aWYoIXRoaXMubyl7bGV0IGI9bmV3IHZhLk9nKFtdLCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIik7dGhpcy52LnNldCgic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIsCmIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX19O3ZhciBraj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLmo9LTF9c2V0KGEsYj0hMCl7MDw9YSYmYTw1MiYmTnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5kYXRhW2FdIT09YiYmKHRoaXMuZGF0YVthXT1iLHRoaXMuaj0tMSl9Z2V0KGEpe3JldHVybiEhdGhpcy5kYXRhW2FdfX07Xy5vaC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBfLmFzfTtfLmFzPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5vaC5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIHBoPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hfWJkKCl7cmV0dXJuIG5ldyBxaCh0aGlzLm8oKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubygpKX1qKCl7cmV0dXJuIG5ldyByaCh0aGlzLm8oKSl9fSxxaD1jbGFzcyBleHRlbmRzIF8ub2h7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm89YX1uZXh0KCl7cmV0dXJuIHRoaXMuby5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubyl9aigpe3JldHVybiBuZXcgcmgodGhpcy5vKX19LHJoPWNsYXNzIGV4dGVuZHMgcGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMudj1hfW5leHQoKXtyZXR1cm4gdGhpcy52Lm5leHQoKX19O3ZhciBicz1fLnUuSlNPTi5zdHJpbmdpZnk7Xy5jcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uSGEoXy50aCxfLmFlKTtfLmc9Xy50aC5wcm90b3R5cGU7Xy5nLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5vW2FdO2R8fChkPXRoaXMub1thXT1bXSk7dmFyIGU9dGhpcy5EO3RoaXMualtlXT1hO3RoaXMualtlKzFdPWI7dGhpcy5qW2UrMl09Yzt0aGlzLkQ9ZSszO2QucHVzaChlKTtyZXR1cm4gZX07Xy5nLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMub1thXSl7bGV0IGQ9dGhpcy5qO2lmKGE9YS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkW2UrMV09PWImJmRbZSsyXT09Y30pKXJldHVybiB0aGlzLmNpKGEpfXJldHVybiExfTtfLmcuY2k9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5qW2FdO2lmKGIpe2xldCBjPXRoaXMub1tiXTt0aGlzLkIhPTA/KHRoaXMudi5wdXNoKGEpLHRoaXMualthKzFdPSgpPT57fSk6KGMmJl8ueGIoYyxhKSxkZWxldGUgdGhpcy5qW2FdLGRlbGV0ZSB0aGlzLmpbYSsxXSxkZWxldGUgdGhpcy5qW2ErMl0pfXJldHVybiEhYn07Cl8uZy5wdWJsaXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5vW2FdO2lmKGMpe2xldCBlPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7dmFyIGQ9YXJndW1lbnRzLmxlbmd0aDtsZXQgZjtmb3IoZj0xO2Y8ZDtmKyspZVtmLTFdPWFyZ3VtZW50c1tmXTtpZih0aGlzLkkpZm9yKGY9MDtmPGMubGVuZ3RoO2YrKylkPWNbZl0sdWgodGhpcy5qW2QrMV0sdGhpcy5qW2QrMl0sZSk7ZWxzZXt0aGlzLkIrKzt0cnl7Zm9yKGY9MCxkPWMubGVuZ3RoO2Y8ZCYmIXRoaXMuaWEoKTtmKyspe2xldCBoPWNbZl07dGhpcy5qW2grMV0uYXBwbHkodGhpcy5qW2grMl0sZSl9fWZpbmFsbHl7aWYodGhpcy5CLS0sdGhpcy52Lmxlbmd0aD4wJiZ0aGlzLkI9PTApZm9yKDtjPXRoaXMudi5wb3AoKTspdGhpcy5jaShjKX19cmV0dXJuIGYhPTB9cmV0dXJuITF9OwpfLmcuY2xlYXI9ZnVuY3Rpb24oYSl7aWYoYSl7bGV0IGI9dGhpcy5vW2FdO2ImJihiLmZvckVhY2godGhpcy5jaSx0aGlzKSxkZWxldGUgdGhpcy5vW2FdKX1lbHNlIHRoaXMuai5sZW5ndGg9MCx0aGlzLm89e319O18uZy5sYT1mdW5jdGlvbigpe18udGguemIubGEuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy52Lmxlbmd0aD0wfTt2aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMD90aGlzLmoucmVtb3ZlKGEpOnRoaXMuai5zZXQoYSxicyhiKSl9O3ZoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPXRoaXMuai5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJufWlmKGIhPT1udWxsKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShiKX1jYXRjaChjKXt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fX07dmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmoucmVtb3ZlKGEpfTtfLkhhKHdoLHZoKTt3aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7d2guemIuc2V0LmNhbGwodGhpcyxhLHloKGIpKX07d2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7YT13aC56Yi5nZXQuY2FsbCh0aGlzLGEpO2lmKGE9PT12b2lkIDB8fGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGE7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO307d2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZihhPXRoaXMubyhhKSl7aWYoYT1hLmRhdGEsYT09PXZvaWQgMCl0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fWVsc2UgYT12b2lkIDA7cmV0dXJuIGF9O18uSGEoXy56aCx3aCk7Xy56aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXtpZihiPXloKGIpKXtpZihjKXtpZihjPF8uRWEoKSl7Xy56aC5wcm90b3R5cGUucmVtb3ZlLmNhbGwodGhpcyxhKTtyZXR1cm59Yi5leHBpcmF0aW9uPWN9Yi5jcmVhdGlvbj1fLkVhKCl9Xy56aC56Yi5zZXQuY2FsbCh0aGlzLGEsYil9O18uemgucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy56aC56Yi5vLmNhbGwodGhpcyxhKTtpZihiKXtsZXQgYz1iLmNyZWF0aW9uLGQ9Yi5leHBpcmF0aW9uO2lmKGQmJmQ8Xy5FYSgpfHxjJiZjPl8uRWEoKSlfLnpoLnByb3RvdHlwZS5yZW1vdmUuY2FsbCh0aGlzLGEpO2Vsc2UgcmV0dXJuIGJ9fTtfLkhhKEJoLEFoKTtCaC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITApKS5qKCl9O0JoLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBiIG9mIGEpdGhpcy5yZW1vdmUoYil9O18uSGEoQ2gsQmgpO18uZz1DaC5wcm90b3R5cGU7Xy5nLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5vPT09bnVsbCl7dmFyIGE9dGhpcy5qO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5vPWJ9cmV0dXJuIHRoaXMub307Cl8uZy5zZXQ9ZnVuY3Rpb24oYSxiKXtEaCh0aGlzKTt0cnl7dGhpcy5qLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLmoubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uZy5nZXQ9ZnVuY3Rpb24oYSl7RGgodGhpcyk7YT10aGlzLmouZ2V0SXRlbShhKTtpZih0eXBlb2YgYSE9PSJzdHJpbmciJiZhIT09bnVsbCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybiBhfTtfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3RoaXMuai5yZW1vdmVJdGVtKGEpfTsKXy5nLmJkPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3ZhciBiPTAsYz10aGlzLmosZD1uZXcgXy5vaDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJue3ZhbHVlOmUsZG9uZTohMX07ZT1jLmdldEl0ZW0oZSk7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybnt2YWx1ZTplLGRvbmU6ITF9fTtyZXR1cm4gZH07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7RGgodGhpcyk7dGhpcy5qLmNsZWFyKCl9O18uZy5rZXk9ZnVuY3Rpb24oYSl7RGgodGhpcyk7cmV0dXJuIHRoaXMuai5rZXkoYSl9O18uSGEoRWgsQ2gpO18uSGEoRmgsQmgpO0ZoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm8uc2V0KHRoaXMuaithLGIpfTtGaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm8uZ2V0KHRoaXMuaithKX07RmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLm8ucmVtb3ZlKHRoaXMuaithKX07RmgucHJvdG90eXBlLmJkPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub1tTeW1ib2wuaXRlcmF0b3JdKCksYz10aGlzLGQ9bmV3IF8ub2g7ZC5uZXh0PWZ1bmN0aW9uKCl7dmFyIGU9Yi5uZXh0KCk7aWYoZS5kb25lKXJldHVybiBlO2ZvcihlPWUudmFsdWU7ZS5zbGljZSgwLGMuai5sZW5ndGgpIT1jLmo7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJue3ZhbHVlOmE/ZS5zbGljZShjLmoubGVuZ3RoKTpjLm8uZ2V0KGUpLGRvbmU6ITF9fTtyZXR1cm4gZH07dmFyIEhoPXt9LGRzPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO0hoLmFzc2lnbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2IubGVuZ3RoOyl7dmFyIGM9Yi5zaGlmdCgpO2lmKGMpe2lmKHR5cGVvZiBjIT09Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYmFgIitjKTtmb3IodmFyIGQgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSYmKGFbZF09Y1tkXSl9fXJldHVybiBhfTtIaC53bj1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09YilyZXR1cm4gYTtpZihhLnN1YmFycmF5KXJldHVybiBhLnN1YmFycmF5KDAsYik7YS5sZW5ndGg9YjtyZXR1cm4gYX07CnZhciBlcz17d2Y6ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiLnN1YmFycmF5JiZhLnN1YmFycmF5KWEuc2V0KGIuc3ViYXJyYXkoYyxjK2QpLGUpO2Vsc2UgZm9yKHZhciBmPTA7ZjxkO2YrKylhW2UrZl09YltjK2ZdfSxNcDpmdW5jdGlvbihhKXt2YXIgYixjO3ZhciBkPWM9MDtmb3IoYj1hLmxlbmd0aDtkPGI7ZCsrKWMrPWFbZF0ubGVuZ3RoO3ZhciBlPW5ldyBVaW50OEFycmF5KGMpO2Q9Yz0wO2ZvcihiPWEubGVuZ3RoO2Q8YjtkKyspe3ZhciBmPWFbZF07ZS5zZXQoZixjKTtjKz1mLmxlbmd0aH1yZXR1cm4gZX19LGdzPXt3ZjpmdW5jdGlvbihhLGIsYyxkLGUpe2Zvcih2YXIgZj0wO2Y8ZDtmKyspYVtlK2ZdPWJbYytmXX0sTXA6ZnVuY3Rpb24oYSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGEpfX07CkhoLmpBPWZ1bmN0aW9uKCl7ZHM/KEhoLnRmPVVpbnQ4QXJyYXksSGguWWM9VWludDE2QXJyYXksSGguUXM9SW50MzJBcnJheSxIaC5hc3NpZ24oSGgsZXMpKTooSGgudGY9QXJyYXksSGguWWM9QXJyYXksSGguUXM9QXJyYXksSGguYXNzaWduKEhoLGdzKSl9O0hoLmpBKCk7dmFyIGhzPSEwO3RyeXtuZXcgVWludDhBcnJheSgxKX1jYXRjaChhKXtocz0hMX07dmFyIHRpPXt9O3RpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEmNjU1MzV8MDthPWE+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgZjtjIT09MDspe2Y9Yz4yRTM/MkUzOmM7Yy09ZjtkbyBlPWUrYltkKytdfDAsYT1hK2V8MDt3aGlsZSgtLWYpO2UlPTY1NTIxO2ElPTY1NTIxfXJldHVybiBlfGE8PDE2fDB9O2Zvcih2YXIgdWk9e30saXMsanM9W10sa3M9MDtrczwyNTY7a3MrKyl7aXM9a3M7Zm9yKHZhciBscz0wO2xzPDg7bHMrKylpcz1pcyYxPzM5ODgyOTIzODReaXM+Pj4xOmlzPj4+MTtqc1trc109aXN9dWk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kK2M7Zm9yKGFePS0xO2Q8YztkKyspYT1hPj4+OF5qc1soYV5iW2RdKSYyNTVdO3JldHVybiBhXi0xfTt2YXIgaWk9e307aWk9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgWGg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sJGg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLEtpPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XSxtaT1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sbmk9QXJyYXkoNTc2KTtKaChuaSk7dmFyIG9pPUFycmF5KDYwKTtKaChvaSk7dmFyIFpoPUFycmF5KDUxMik7SmgoWmgpO3ZhciBXaD1BcnJheSgyNTYpO0poKFdoKTt2YXIgWWg9QXJyYXkoMjkpO0poKFloKTt2YXIgYmk9QXJyYXkoMzApO0poKGJpKTt2YXIgSGksSWksSmksR2k9ITE7dmFyIENpOwpDaT1bbmV3IEFpKDAsMCwwLDAsZnVuY3Rpb24oYSxiKXt2YXIgYz02NTUzNTtmb3IoYz5hLm5jLTUmJihjPWEubmMtNSk7Oyl7aWYoYS5kYTw9MSl7dmkoYSk7aWYoYS5kYT09PTAmJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWEuVis9YS5kYTthLmRhPTA7dmFyIGQ9YS5VYitjO2lmKGEuVj09PTB8fGEuVj49ZClpZihhLmRhPWEuVi1kLGEuVj1kLHBpKGEsITEpLGEud2EuemE9PT0wKXJldHVybiAxO2lmKGEuVi1hLlViPj1hLkJiLTI2MiYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1hLnJiPTA7aWYoYj09PTQpcmV0dXJuIHBpKGEsITApLGEud2EuemE9PT0wPzM6NDthLlY+YS5VYiYmcGkoYSwhMSk7cmV0dXJuIDF9KSxuZXcgQWkoNCw0LDgsNCx3aSksbmV3IEFpKDQsNSwxNiw4LHdpKSxuZXcgQWkoNCw2LDMyLDMyLHdpKSxuZXcgQWkoNCw0LDE2LDE2LHhpKSxuZXcgQWkoOCwxNiwzMiwzMix4aSksbmV3IEFpKDgsMTYsMTI4LDEyOCx4aSksbmV3IEFpKDgsCjMyLDEyOCwyNTYseGkpLG5ldyBBaSgzMiwxMjgsMjU4LDEwMjQseGkpLG5ldyBBaSgzMiwyNTgsMjU4LDQwOTYseGkpXTt2YXIgRmk9e307Rmk9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5xZj10aGlzLkRiPXRoaXMuZmY9MDt0aGlzLm91dHB1dD1udWxsO3RoaXMuRW49dGhpcy56YT10aGlzLnFnPTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaWw9Mjt0aGlzLnNhPTB9O3ZhciBMaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwpFaS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMud2EsZD10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7dmFyIGU9Yj09PX5+Yj9iOmI9PT0hMD80OjA7dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmlucHV0PUloKGEpOkxpLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2MuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoYSk6Yy5pbnB1dD1hO2MuZmY9MDtjLkRiPWMuaW5wdXQubGVuZ3RoO2Rve2MuemE9PT0wJiYoYy5vdXRwdXQ9bmV3IEhoLnRmKGQpLGMucWc9MCxjLnphPWQpO2E9RGkoYyxlKTtpZihhIT09MSYmYSE9PTApcmV0dXJuIE1pKHRoaXMsYSksdGhpcy5lbmRlZD0hMCwhMTtpZihjLnphPT09MHx8Yy5EYj09PTAmJihlPT09NHx8ZT09PTIpKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXt2YXIgZj1IaC53bihjLm91dHB1dCxjLnFnKTtiPWY7Zj1mLmxlbmd0aDtpZihmPDY1NTM3JiYoYi5zdWJhcnJheSYmCmhzfHwhYi5zdWJhcnJheSkpYj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsSGgud24oYixmKSk7ZWxzZXtmb3IodmFyIGg9IiIsaz0wO2s8ZjtrKyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShiW2tdKTtiPWh9dGhpcy5jaHVua3MucHVzaChiKX1lbHNlIGI9SGgud24oYy5vdXRwdXQsYy5xZyksdGhpcy5jaHVua3MucHVzaChiKX13aGlsZSgoYy5EYj4wfHxjLnphPT09MCkmJmEhPT0xKTtpZihlPT09NClyZXR1cm4oYz10aGlzLndhKSYmYy5zdGF0ZT8oZD1jLnN0YXRlLnN0YXR1cyxkIT09NDImJmQhPT02OSYmZCE9PTczJiZkIT09OTEmJmQhPT0xMDMmJmQhPT0xMTMmJmQhPT02NjY/YT1qaShjLC0yKTooYy5zdGF0ZT1udWxsLGE9ZD09PTExMz9qaShjLC0zKTowKSk6YT0tMixNaSh0aGlzLGEpLHRoaXMuZW5kZWQ9ITAsYT09PTA7ZT09PTImJihNaSh0aGlzLDApLGMuemE9MCk7cmV0dXJuITB9O18uST1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX19O3ZhciB4cD1uZXcgXy5JKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgd3A9bmV3IF8uSSgicmF3SG90Q29uZmlnR3JvdXAiKTt2YXIgbXM7bXM9Xy51LndpbmRvdztfLlBpPW1zPy55dD8uY29uZmlnX3x8bXM/Lnl0Y2ZnPy5kYXRhX3x8e307Xy5yYSgieXQuY29uZmlnXyIsXy5QaSk7dmFyIFNpPVtdO3ZhciBnaj0vXltcdy5dKiQvLCRpPXtxOiEwLHNlYXJjaF9xdWVyeTohMH0sWmk9U3RyaW5nKFlpKTt2YXIgaGo9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtfLnJhKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24oYSl7cmV0dXJuIGFqKF8ubGooYSkpfSk7Xy5FYSgpO25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiIChDcktleSAiKTt2YXIgcXM7cXM9MDtfLnJzPV8uY3I/IndlYmtpdCI6YnI/Im1veiI6YXI/Im1zIjokcT8ibyI6IiI7Xy5yYSgieXREb21Eb21HZXROZXh0SWQiLF8uc2EoInl0RG9tRG9tR2V0TmV4dElkIil8fCgoKT0+KytxcykpO18uc3M9Xy51Lnl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzfHx7fTtfLnJhKCJ5dEV2ZW50c0V2ZW50c0xpc3RlbmVycyIsXy5zcyk7Xy50cz1fLnUueXRFdmVudHNFdmVudHNDb3VudGVyfHx7Y291bnQ6MH07Xy5yYSgieXRFdmVudHNFdmVudHNDb3VudGVyIixfLnRzKTtfLnVzPWhkKGZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e2xldCBiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiY2FwdHVyZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsYil9Y2F0Y2goYil7fXJldHVybiBhfSk7dmFyIHZzO3ZzPXdpbmRvdztfLmVsPXZzLnl0Y3NpJiZ2cy55dGNzaS5ub3c/dnMueXRjc2kubm93OnZzLnBlcmZvcm1hbmNlJiZ2cy5wZXJmb3JtYW5jZS50aW1pbmcmJnZzLnBlcmZvcm1hbmNlLm5vdyYmdnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD8oKT0+dnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt2cy5wZXJmb3JtYW5jZS5ub3coKTooKT0+KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIG5qPSJYTUxIdHRwUmVxdWVzdCJpbiBfLnU/KCk9Pm5ldyBYTUxIdHRwUmVxdWVzdDpudWxsO3ZhciB3cz0iYWJzb2x1dGVfZXhwZXJpbWVudHMgY2xpZW50X2Rldl9kb21haW4gY2xpZW50X2Rldl9leHBmbGFnIGNsaWVudF9kZXZfcmVnZXhfbWFwIGNsaWVudF9kZXZfcm9vdF91cmwgY2xpZW50X3JvbGxvdXRfb3ZlcnJpZGUgZXhwZmxhZyBmb3JjZWRDYXBhYmlsaXR5IGpzZmVhdCBqc21vZGUgbW9kcyB0aGVtZSIuc3BsaXQoIiAiKTtbLi4ud3NdO3ZhciB5aj17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxLaj1bImFwcCIsImRlYnVnY3NzIiwiZGVidWdqcyIsImV4cGZsYWciLCJmb3JjZV9hZF9wYXJhbXMiLCJmb3JjZV9hZF9lbmNyeXB0ZWQiLCJmb3JjZV92aXJhbF9hZF9yZXNwb25zZV9wYXJhbXMiLCJmb3JjZWRfZXhwZXJpbWVudHMiLCJpbm5lcnR1YmVfc25hcHNob3RzIiwiaW5uZXJ0dWJlX2dvbGRlbnMiLCJpbnRlcm5hbGNvdW50cnljb2RlIiwiaW50ZXJuYWxpcG92ZXJyaWRlIiwiYWJzb2x1dGVfZXhwZXJpbWVudHMiLCJjb25kaXRpb25hbF9leHBlcmltZW50cyIsInNiYiIsInNyX2Juc19hZGRyZXNzIiwuLi53c10sR2o9ITEsRGo9eGo7Xy5ubT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuem49ITB9fTtfLnhzPV8uc2EoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIil8fHt9O18ucmEoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIixfLnhzKTt2YXIgUmo9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LFRqPXsic2xvdy0yZyI6IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfU0xPV18yRyIsIjJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8yRyIsIjNnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRyIsIjRnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV80RyJ9O18uWGo9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEpO3RoaXMuYXJncz1bLi4uYl07T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX07dmFyIHlzPWNsYXNze3BiKGEsYil7cmV0dXJuIHRoaXMuR2EoYSwxLGIpfVUoYSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEltbWVkaWF0ZUpvYiIpO2I/YihhKTphKCl9fTt2YXIgenM9MUUzLzYwLEFzPV8uc2ooIndlYl9lbXVsYXRlZF9pZGxlX2NhbGxiYWNrX2RlbGF5IiwzMDApLGdrPXpzLTMsZGs9WzgsNSw0LDMsMiwxLDBdLGprPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLnY9e307dGhpcy5vYT10aGlzLmo9MDt0aGlzLnBhdXNlZD10aGlzLkQ9ITE7dGhpcy5nYT1bXTt0aGlzLmhhPXRoaXMueWE9ITE7Zm9yKGxldCBiIG9mIGRrKXRoaXMub1tiXT1bXTt0aGlzLkI9MDt0aGlzLmV5PWEudGltZW91dHx8MTt0aGlzLk09Z2s7dGhpcy5JPTA7dGhpcy5NYT10aGlzLml5LmJpbmQodGhpcyk7dGhpcy5neD10aGlzLnp5LmJpbmQodGhpcyk7dGhpcy5mYz10aGlzLkViLmJpbmQodGhpcyk7dGhpcy5WZD10aGlzLmh5LmJpbmQodGhpcyk7dGhpcy5GbD10aGlzLlFhLmJpbmQodGhpcyk7dGhpcy51dz0oKT0+e3RoaXMuUWEocGVyZm9ybWFuY2Uubm93KCkpfTt0aGlzLkZhPSEhd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2smJgohIXdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2smJiFfLngoImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siKTsoKHRoaXMuWj1hLnVzZVJhZiE9PSExJiYhIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKX1VKGEpe3ZhciBiPV8uRWEoKTtaaih0aGlzLGEpO2E9Xy5FYSgpLWI7dGhpcy5EfHwodGhpcy5NLT1hKX1HYShhLGIsYyl7Kyt0aGlzLm9hO2lmKGI9PT0xMClyZXR1cm4gdGhpcy5VKGEpLHRoaXMub2E7dmFyIGQ9dGhpcy5vYTt0aGlzLnZbZF09YTt0aGlzLkQmJiFjP3RoaXMuZ2EucHVzaCh7aWQ6ZCxwcmlvcml0eTpifSk6KHRoaXMub1tiXS5wdXNoKGQpLHRoaXMucGF1c2VkfHx0aGlzLkR8fCh0aGlzLmohPT0wJiZiayh0aGlzKSE9PXRoaXMuSSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSk7CnJldHVybiBkfUFhKGEpe2RlbGV0ZSB0aGlzLnZbYV19aXNIaWRkZW4oKXtyZXR1cm4hIWRvY3VtZW50LmhpZGRlbnx8ITF9SmIoYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhKX1oeShhKXt2YXIgYj12b2lkIDA7YSYmKGI9YS50aW1lUmVtYWluaW5nKCkpO3RoaXMueWE9ITA7aGsodGhpcyxiKTt0aGlzLnlhPSExfXp5KCl7aGsodGhpcyl9RWIoKXtpayh0aGlzKX1RYShhKXt0aGlzLmhhPSEwO3ZhciBiPWJrKHRoaXMpO2I9PT00JiZiIT09dGhpcy5JJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTtoayh0aGlzLHZvaWQgMCxhKTt0aGlzLmhhPSExfWl5KCl7dGhpcy5pc0hpZGRlbigpfHxpayh0aGlzKTt0aGlzLmomJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpfXJlcXVlc3RJZGxlQ2FsbGJhY2soYSl7cmV0dXJuIHRoaXMuRmE/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYSx7dGltZW91dDozRTN9KTp3aW5kb3cuc2V0VGltZW91dChhLApBcyl9Y2FuY2VsSWRsZUNhbGxiYWNrKGEpe3RoaXMuRmE/d2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfXN0YXJ0KCl7dGhpcy5wYXVzZWQ9ITE7aWYodGhpcy5qPT09MClzd2l0Y2godGhpcy5JPWJrKHRoaXMpLHRoaXMuSSl7Y2FzZSAxOnRoaXMuaj10aGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5WZCk7YnJlYWs7Y2FzZSAyOnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLmd4LHRoaXMuZXkpO2JyZWFrO2Nhc2UgMzp0aGlzLmo9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLkZsKTticmVhaztjYXNlIDQ6dGhpcy5qPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZmMsMCk7YnJlYWs7Y2FzZSA1OnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLnV3LHpzKX19cGF1c2UoKXt0aGlzLnN0b3AoKTt0aGlzLnBhdXNlZD0hMH1zdG9wKCl7aWYodGhpcy5qKXtzd2l0Y2godGhpcy5JKXtjYXNlIDE6dGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2sodGhpcy5qKTsKYnJlYWs7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmopO2JyZWFrO2Nhc2UgMzp3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5qKX10aGlzLmo9MH19bGEoKXtjayh0aGlzKTt0aGlzLnN0b3AoKTsodGhpcy5afHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKTtzdXBlci5sYSgpfX07dmFyIG5rPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS50aW1lcklkTWFwXyIpfHx7fSx1az1fLnNqKCJrZXZsYXJfdHVuZXJfc2NoZWR1bGVyX3NvZnRfc3RhdGVfdGltZXJfbXMiLDgwMCksdGs9MCx3az0wO3ZhciBCaztCaz1jbGFzcyBleHRlbmRzIHlze0dhKGEsYixjKXtjIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGMpKSYmKGM9dm9pZCAwKTt2YXIgZD1fLnNhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIik7cmV0dXJuIGQ/ZChhLGIsYyk6Yz09PXZvaWQgMD8oYSgpLE5hTik6Xy5taihhLGN8fDApfUFhKGEpe2lmKGE9PT12b2lkIDB8fCFOdW1iZXIuaXNOYU4oTnVtYmVyKGEpKSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEpvYiIpO2I/YihhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfX1zdGFydCgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zdGFydCIpO2EmJmEoKX1wYXVzZSgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5wYXVzZSIpO2EmJmEoKX19O18uamY9Xy5DaygpOwpfLnNhKCJ5dC5zY2hlZHVsZXIuaW5pdGlhbGl6ZWQiKXx8KF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5kaXNwb3NlIixtayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEpvYiIsb2spLF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5hZGRJbW1lZGlhdGVKb2IiLHBrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIixxayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEFsbEpvYnMiLGxrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc3RhcnQiLHJrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UucGF1c2UiLHZrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc2V0UHJpb3JpdHlUaHJlc2hvbGQiLHhrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuZW5hYmxlUHJpb3JpdHlUaHJlc2hvbGQiLHprKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2xlYXJQcmlvcml0eVRocmVzaG9sZCIsQWspLF8ucmEoInl0LnNjaGVkdWxlci5pbml0aWFsaXplZCIsCiEwKSk7Xy5lbj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9KGE9Xy5HaChhKSk/bmV3IF8uemgoYSk6bnVsbDt0aGlzLnY9ZG9jdW1lbnQuZG9tYWlufHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9bygpe3JldHVybiEhdGhpcy5qfXNldChhLGIsYyxkKXtjPWN8fDMxMTA0RTM7dGhpcy5yZW1vdmUoYSk7aWYodGhpcy5vKCkpdHJ5e3RoaXMuai5zZXQoYSxiLERhdGUubm93KCkrYyoxRTMpO3JldHVybn1jYXRjaChmKXt9dmFyIGU9IiI7aWYoZCl0cnl7ZT1lc2NhcGUoYnMoYikpfWNhdGNoKGYpe3JldHVybn1lbHNlIGU9ZXNjYXBlKGIpO18uTWooYSxlLGMsdGhpcy52KX1nZXQoYSxiKXt2YXIgYz12b2lkIDAsZD0hdGhpcy5vKCk7aWYoIWQpdHJ5e2M9dGhpcy5qLmdldChhKX1jYXRjaChlKXtkPSEwfWlmKGQmJihjPV8uTGouZ2V0KGEsdm9pZCAwKSkmJihjPXVuZXNjYXBlKGMpLGIpKXRyeXtjPUpTT04ucGFyc2UoYyl9Y2F0Y2goZSl7dGhpcy5yZW1vdmUoYSksYz12b2lkIDB9cmV0dXJuIGN9cmVtb3ZlKGEpe3RoaXMubygpJiYKdGhpcy5qLnJlbW92ZShhKTtfLk5qKGEsIi8iLHRoaXMudil9fTt2YXIgRGs9KCgpPT57dmFyIGE7cmV0dXJuKCk9PnthfHwoYT1uZXcgXy5lbigieXRpZGIiKSk7cmV0dXJuIGF9fSkoKTt2YXIgRms7Xy5Iaz1bXTtGaz0hMTtfLklsPV8uaHJ8fF8uaXI7dmFyIEJzPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LENzPXtBVVRIX0lOVkFMSUQ6IkVSUk9SIixFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQjoiV0FSTklORyIsRVhQTElDSVRfQUJPUlQ6IklHTk9SRUQiLElEQl9OT1RfU1VQUE9SVEVEOiJFUlJPUiIsTUlTU0lOR19JTkRFWDoiV0FSTklORyIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJFUlJPUiIsCkRCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IldBUk5JTkciLFFVT1RBX0VYQ0VFREVEOiJXQVJOSU5HIixRVU9UQV9NQVlCRV9FWENFRURFRDoiV0FSTklORyIsVU5LTk9XTl9BQk9SVDoiV0FSTklORyIsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046IldBUk5JTkcifSxEcz17QVVUSF9JTlZBTElEOiExLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiExLEVYUExJQ0lUX0FCT1JUOiExLElEQl9OT1RfU1VQUE9SVEVEOiExLE1JU1NJTkdfSU5ERVg6ITEsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX1JFT1BFTkVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzohMSxRVU9UQV9FWENFRURFRDohMSxRVU9UQV9NQVlCRV9FWENFRURFRDohMCxVTktOT1dOX0FCT1JUOiEwLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiExfSwKTms9Y2xhc3MgZXh0ZW5kcyBfLlhqe2NvbnN0cnVjdG9yKGEsYj17fSxjPUJzW2FdLGQ9Q3NbYV0sZT1Ec1thXSl7c3VwZXIoYyx7bmFtZToiWXRJZGJLbm93bkVycm9yIixpc1N3OnNlbGYuZG9jdW1lbnQ9PT12b2lkIDAsaXNJZnJhbWU6c2VsZiE9PXNlbGYudG9wLHR5cGU6YSwuLi5ifSk7dGhpcy50eXBlPWE7dGhpcy5tZXNzYWdlPWM7dGhpcy5sZXZlbD1kO3RoaXMuaj1lO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLE5rLnByb3RvdHlwZSl9fSxFcz1jbGFzcyBleHRlbmRzIE5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOmIsZm91bmRPYmplY3RTdG9yZXM6YX0sQnMuTUlTU0lOR19PQkpFQ1RfU1RPUkVTKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxFcy5wcm90b3R5cGUpfX0sUGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmRleD1hO3RoaXMub2JqZWN0U3RvcmU9CmI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUGsucHJvdG90eXBlKX19LFFrPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBhbDthbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwpfLlZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuaj1bXTt0aGlzLm89W107YT1hLmo7dmFyIGI9ZD0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6ZH07Zm9yKGxldCBlIG9mIHRoaXMuaillKCl9fSxjPWQ9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIscmVhc29uOmR9O2ZvcihsZXQgZSBvZiB0aGlzLm8pZSgpfX07dHJ5e2EoYixjKX1jYXRjaChkKXtjKGQpfX1zdGF0aWMgYWxsKGEpe3JldHVybiBuZXcgXy5WayhuZXcgYWwoKGIsYyk9Pnt2YXIgZD1bXSxlPWEubGVuZ3RoO2U9PT0wJiZiKGQpO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7KytmKV8uVmsucmVzb2x2ZShhW2ZdKS50aGVuKGg9PntkW2ZdPWg7ZS0tO2U9PT0wJiZiKGQpfSkuY2F0Y2goaD0+e2MoaCl9KX0pKX1zdGF0aWMgcmVzb2x2ZShhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLApjKT0+e2EgaW5zdGFuY2VvZiBfLlZrP2EudGhlbihiLGMpOmIoYSl9KSl9c3RhdGljIHJlamVjdChhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLGMpPT57YyhhKX0pKX10aGVuKGEsYil7dmFyIGM9YT8/VWssZD1iPz9UaztyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChlLGYpPT57dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUEVORElORyI/KHRoaXMuai5wdXNoKCgpPT57WGsodGhpcyx0aGlzLGMsZSxmKX0pLHRoaXMuby5wdXNoKCgpPT57WWsodGhpcyx0aGlzLGQsZSxmKX0pKTp0aGlzLnN0YXRlLnN0YXR1cz09PSJGVUxGSUxMRUQiP1hrKHRoaXMsdGhpcyxjLGUsZik6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUkVKRUNURUQiJiZZayh0aGlzLHRoaXMsZCxlLGYpfSkpfWNhdGNoKGEpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGEpfX07dmFyIHhsPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vcHRpb25zPWI7dGhpcy50cmFuc2FjdGlvbkNvdW50PTA7dGhpcy52PU1hdGgucm91bmQoKDAsXy5lbCkoKSk7dGhpcy5vPSExfWFkZChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9PmQub2JqZWN0U3RvcmUoYSkuYWRkKGIsYykpfWNsZWFyKGEpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxiPT5iLm9iamVjdFN0b3JlKGEpLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5qLmNsb3NlKCk7dGhpcy5vcHRpb25zPy5jbG9zZWQmJnRoaXMub3B0aW9ucy5jbG9zZWQoKX1jb3VudChhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkb25seSIsa2I6ITAsY29tbWl0OmRsKCl9LGM9PmMub2JqZWN0U3RvcmUoYSkuY291bnQoYikpfWRlbGV0ZShhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLAprYjohMCxjb21taXQ6ZGwoKSYmIShiIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxjPT5jLm9iamVjdFN0b3JlKGEpLmRlbGV0ZShiKSl9Z2V0KGEsYil7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMCxjb21taXQ6ZGwoKX0sYz0+Yy5vYmplY3RTdG9yZShhKS5nZXQoYikpfWdldEFsbChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMH0sZD0+ZC5vYmplY3RTdG9yZShhKS5nZXRBbGwoYixjKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuai5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuai5uYW1lfX0samw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YWRkKGEsYil7cmV0dXJuIGJsKHRoaXMuai5hZGQoYSxiKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLmouYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBibCh0aGlzLmouY2xlYXIoKSkudGhlbigoKT0+Cnt9KX1jb3VudChhKXtyZXR1cm4gYmwodGhpcy5qLmNvdW50KGEpKX1kZWxldGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJLZXlSYW5nZT9zbCh0aGlzLGEpOmJsKHRoaXMuai5kZWxldGUoYSkpfWdldChhKXtyZXR1cm4gYmwodGhpcy5qLmdldChhKSl9Z2V0QWxsKGEsYil7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/YmwodGhpcy5qLmdldEFsbChhLGIpKTp0bCh0aGlzLGEsYil9aW5kZXgoYSl7dHJ5e3JldHVybiBuZXcgRnModGhpcy5qLmluZGV4KGEpKX1jYXRjaChiKXtpZihiIGluc3RhbmNlb2YgRXJyb3ImJmIubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgUGsoYSx0aGlzLmoubmFtZSk7dGhyb3cgYjt9fWdldE5hbWUoKXtyZXR1cm4gdGhpcy5qLm5hbWV9a2V5UGF0aCgpe3JldHVybiB0aGlzLmoua2V5UGF0aH19LGZsPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubz1uZXcgTWFwO3RoaXMuYWJvcnRlZD0hMTsKdGhpcy5kb25lPW5ldyBQcm9taXNlKChiLGMpPT57dGhpcy5qLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e2IoKX0pO3RoaXMuai5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZD0+e2QuY3VycmVudFRhcmdldD09PWQudGFyZ2V0JiZjKHRoaXMuai5lcnJvcil9KTt0aGlzLmouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGQ9dGhpcy5qLmVycm9yO2lmKGQpYyhkKTtlbHNlIGlmKCF0aGlzLmFib3J0ZWQpe2Q9Tms7dmFyIGU9dGhpcy5qLm9iamVjdFN0b3JlTmFtZXM7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDtoKyspe2xldCBrPWUuaXRlbShoKTtpZihrPT09bnVsbCl0aHJvdyBFcnJvcigibWEiKTtmLnB1c2goayl9ZD1uZXcgZCgiVU5LTk9XTl9BQk9SVCIse29iamVjdFN0b3JlTmFtZXM6Zi5qb2luKCksZGJOYW1lOnRoaXMuai5kYi5uYW1lLG1vZGU6dGhpcy5qLm1vZGV9KTtjKGQpfX0pfSl9YWJvcnQoKXt0aGlzLmouYWJvcnQoKTt0aGlzLmFib3J0ZWQ9CiEwO3Rocm93IG5ldyBOaygiRVhQTElDSVRfQUJPUlQiKTt9Y29tbWl0KCl7dGhpcy5hYm9ydGVkfHx0aGlzLmouY29tbWl0Py4oKX1vYmplY3RTdG9yZShhKXthPXRoaXMuai5vYmplY3RTdG9yZShhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2J8fChiPW5ldyBqbChhKSx0aGlzLm8uc2V0KGEsYikpO3JldHVybiBifX0sRnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Y291bnQoYSl7cmV0dXJuIGJsKHRoaXMuai5jb3VudChhKSl9ZGVsZXRlKGEpe3JldHVybiB1bCh0aGlzLHtxdWVyeTphfSxiPT5iLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGIpKSl9Z2V0KGEpe3JldHVybiBibCh0aGlzLmouZ2V0KGEpKX1nZXRBbGwoYSxiKXtyZXR1cm4iZ2V0QWxsImluIElEQkluZGV4LnByb3RvdHlwZT9ibCh0aGlzLmouZ2V0QWxsKGEsYikpOnZsKHRoaXMsYSxiKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuai5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLmoudW5pcXVlfX0sd2w9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYil7dGhpcy5yZXF1ZXN0PWE7dGhpcy5jdXJzb3I9Yn1kZWxldGUoKXtyZXR1cm4gYmwodGhpcy5jdXJzb3IuZGVsZXRlKCkpLnRoZW4oKCk9Pnt9KX11cGRhdGUoYSl7cmV0dXJuIGJsKHRoaXMuY3Vyc29yLnVwZGF0ZShhKSl9fTt2YXIgR3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5hbWU9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLnY9ITA7dGhpcy5EPXRoaXMuQj0wfW8oYSxiLGM9e30pe3JldHVybiB6bChhLGIsYyl9ZGVsZXRlKGE9e30pe3JldHVybiBfLkFsKHRoaXMubmFtZSxhKX1vcGVuKCl7aWYoIXRoaXMudil0aHJvdyBCbCh0aGlzKTtpZih0aGlzLmopcmV0dXJuIHRoaXMuajt2YXIgYSxiPSgpPT57dGhpcy5qPT09YSYmKHRoaXMuaj12b2lkIDApfSxjPXtibG9ja2luZzplPT57ZS5jbG9zZSgpfSxjbG9zZWQ6YixUQTpiLHVwZ3JhZGU6dGhpcy5vcHRpb25zLnVwZ3JhZGV9LGQ9YXN5bmMoKT0+e3ZhciBlPUVycm9yKCkuc3RhY2s/PyIiO3RyeXtsZXQgaz1hd2FpdCB0aGlzLm8odGhpcy5uYW1lLHRoaXMub3B0aW9ucy52ZXJzaW9uLGMpO3ZhciBmPWssaD10aGlzLm9wdGlvbnM7bGV0IGw9W107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGguc2UpKXtsZXQge1BkOm4seks6cD1OdW1iZXIuTUFYX1ZBTFVFfT0KaC5zZVttXTshKGYuai52ZXJzaW9uPj1uKXx8Zi5qLnZlcnNpb24+PXB8fGYuai5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKG0pfHxsLnB1c2gobSl9aWYobC5sZW5ndGghPT0wKXtsZXQgbT1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuc2UpLG49ay5vYmplY3RTdG9yZU5hbWVzKCk7aWYodGhpcy5EPF8uc2ooInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIiwwKSlyZXR1cm4gdGhpcy5EKyssay5jbG9zZSgpLF8uSWsobmV3IE5rKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sZm91bmRPYmplY3RTdG9yZXM6bn0pKSxkKCk7aWYodGhpcy5CPF8uc2ooInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIiwxKSlyZXR1cm4gdGhpcy5CKyssYXdhaXQgdGhpcy5kZWxldGUoKSxfLklrKG5ldyBOaygiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sCmZvdW5kT2JqZWN0U3RvcmVzOm59KSksZCgpO3Rocm93IG5ldyBFcyhuLG0pO31yZXR1cm4ga31jYXRjaChrKXtpZihrIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP2submFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZrIGluc3RhbmNlb2YgRE9NRXJyb3I/ay5uYW1lPT09IlZlcnNpb25FcnJvciI6ayBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4gayYmay5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe2U9YXdhaXQgdGhpcy5vKHRoaXMubmFtZSx2b2lkIDAsey4uLmMsdXBncmFkZTp2b2lkIDB9KTtmPWUuai52ZXJzaW9uO2lmKHRoaXMub3B0aW9ucy52ZXJzaW9uIT09dm9pZCAwJiZmPnRoaXMub3B0aW9ucy52ZXJzaW9uKzEpdGhyb3cgZS5jbG9zZSgpLHRoaXMudj0hMSxCbCh0aGlzLGYpO3JldHVybiBlfWIoKTtrIGluc3RhbmNlb2YKRXJyb3ImJiFfLngoInl0aWRiX2FzeW5jX3N0YWNrX2tpbGxzd2l0Y2giKSYmKGsuc3RhY2s9YCR7ay5zdGFja31cbiR7ZS5zdWJzdHJpbmcoZS5pbmRleE9mKCJcbiIpKzEpfWApO3Rocm93IFJrKGssdGhpcy5uYW1lLCIiLHRoaXMub3B0aW9ucy52ZXJzaW9uPz8tMSk7fX07cmV0dXJuIHRoaXMuaj1hPWQoKX19O3ZhciBEbD1uZXcgR3MoIll0SWRiTWV0YSIse3NlOntkYXRhYmFzZXM6e1BkOjF9fSx1cGdyYWRlKGEsYil7YigxKSYmXy5rbChhLCJkYXRhYmFzZXMiLHtrZXlQYXRoOiJhY3R1YWxOYW1lIn0pfX0pO3ZhciBNbCxLbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fShuZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fSk7bmV3IF8uY3M7dmFyIFlsPWNsYXNzIGV4dGVuZHMgR3N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLGIpO3RoaXMub3B0aW9ucz1iO0trKGEpfW8oYSxiLGM9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP1RsOlNsKShhLGIsey4uLmN9KX1kZWxldGUoYT17fSl7cmV0dXJuKHRoaXMub3B0aW9ucy5zaGFyZWQ/WGw6VWwpKHRoaXMubmFtZSxhKX19O3ZhciBhbT1fLiRsKCJ5dEdjZkNvbmZpZyIse3NlOntjb2xkQ29uZmlnU3RvcmU6e1BkOjF9LGhvdENvbmZpZ1N0b3JlOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiYoXy5vbChfLmtsKGEsImhvdENvbmZpZ1N0b3JlIix7a2V5UGF0aDoia2V5IixhdXRvSW5jcmVtZW50OiEwfSksImhvdFRpbWVzdGFtcEluZGV4IiwidGltZXN0YW1wIiksXy5vbChfLmtsKGEsImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBIcz1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLmo9W107dmFyIGE9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RVcGRhdGVDYWxsYmFja3MiKTthPyh0aGlzLm89Wy4uLmFdLHRoaXMuaj1hKToodGhpcy5qPVtdLF8ucmEoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIix0aGlzLmopKX1sYSgpe2ZvcihsZXQgYiBvZiB0aGlzLm8pe3ZhciBhPXRoaXMuajtsZXQgYz1hLmluZGV4T2YoYik7Yz49MCYmYS5zcGxpY2UoYywxKX10aGlzLm8ubGVuZ3RoPTA7c3VwZXIubGEoKX19O3ZhciBpbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj0wO3RoaXMubz1uZXcgSHN9d2ooKXtyZXR1cm4gXy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpPz9fLncoIlJBV19IT1RfQ09ORklHX0dST1VQIil9QihhKXt0aGlzLmhvdEhhc2hEYXRhPWE7Xy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIsdGhpcy5ob3RIYXNoRGF0YXx8bnVsbCl9fTt2YXIgSXM7SXM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOm51bGw7Xy55bT1Jcz9hPT5Jcy5lbmNvZGUoYSk6YT0+e2E9Xy5hYyhhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYltjXT1hW2NdO3JldHVybiBifTtfLnBtLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtfLnFtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvcGljfTt2YXIgSnM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIil8fG5ldyBfLnRoO18udGgucHJvdG90eXBlLnN1YnNjcmliZT1fLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU7Xy50aC5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1fLnRoLnByb3RvdHlwZS5jaTtfLnRoLnByb3RvdHlwZS5wdWJsaXNoPV8udGgucHJvdG90eXBlLnB1Ymxpc2g7Xy50aC5wcm90b3R5cGUuY2xlYXI9Xy50aC5wcm90b3R5cGUuY2xlYXI7Xy5yYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixKcyk7Xy5Lcz1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Xy5yYSgieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixfLktzKTtfLkxzPV8uc2EoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLF8uTHMpO18uTXM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307Cl8ucmEoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixfLk1zKTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIsbnVsbCk7dmFyIHptO18ud209Xy5zaigibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KTtfLnhtPV8uc2ooIm1pbl9ib2R5X3NpemVfdG9fY29tcHJlc3MiLDUwMCk7em09MDt2YXIgTnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy54aT10aGlzLk9jPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuaj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9O3RoaXMuVGY9KCk9Pnt9O3RoaXMubm93PURhdGUubm93O3RoaXMuYWg9ITE7dGhpcy5ncz1hLmdzPz8xMDA7dGhpcy5Ncj1hLk1yPz8xO3RoaXMuS3I9YS5Lcj8/MjU5MkU2O3RoaXMuQ3I9YS5Dcj8/MTJFNDt0aGlzLkxyPWEuTHI/PzVFMzt0aGlzLkphPWEuSmE/P3ZvaWQgMDt0aGlzLk9pPSEhYS5PaTt0aGlzLkRpPWEuRGk/Py4xO3RoaXMuS2o9YS5Laj8/MTA7YS5oYW5kbGVFcnJvciYmKHRoaXMuaGFuZGxlRXJyb3I9YS5oYW5kbGVFcnJvcik7YS5UZiYmKHRoaXMuVGY9YS5UZik7YS5haCYmKHRoaXMuYWg9YS5haCk7YS54aSYmKHRoaXMueGk9YS54aSk7dGhpcy5LYT1hLkthO3RoaXMuRGM9YS5EYzt0aGlzLmNiPWEuY2I7dGhpcy5TYT1hLlNhO3RoaXMuR2Q9YS5HZDt0aGlzLkttPWEuS207CnRoaXMuRm09YS5GbTtCbSh0aGlzKSYmKCF0aGlzLkthfHx0aGlzLkthKCJuZXR3b3JrbGVzc19sb2dnaW5nIikpJiZEbSh0aGlzKX13cml0ZVRoZW5TZW5kKGEsYj17fSl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBjPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLmNiLnNldChjLHRoaXMuSmEpLnRoZW4oZD0+e2MuaWQ9ZDt0aGlzLlNhLlNiKCkmJkdtKHRoaXMsYyl9KS5jYXRjaChkPT57R20odGhpcyxjKTtIbSh0aGlzLGQpfSl9ZWxzZSB0aGlzLkdkKGEsYil9c2VuZFRoZW5Xcml0ZShhLGI9e30sYyl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBkPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiYoZC5za2lwUmV0cnk9Yyk7aWYodGhpcy5TYS5TYigpfHx0aGlzLkthJiYKdGhpcy5LYSgibndsX2FnZ3Jlc3NpdmVfc2VuZF90aGVuX3dyaXRlIikmJiFkLnNraXBSZXRyeSl7aWYoIWQuc2tpcFJldHJ5KXtsZXQgZT1iLm9uRXJyb3I/Yi5vbkVycm9yOigpPT57fTtiLm9uRXJyb3I9YXN5bmMoZixoKT0+e2F3YWl0IHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goaz0+e0htKHRoaXMsayl9KTtlKGYsaCl9fXRoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KX1lbHNlIHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goZT0+e3RoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KTtIbSh0aGlzLGUpfSl9ZWxzZSB0aGlzLkdkKGEsYix0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiZjKX1zZW5kQW5kV3JpdGUoYSxiPXt9KXtpZihCbSh0aGlzKSYmdGhpcy5PYyl7bGV0IGM9e3VybDphLG9wdGlvbnM6Yix0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9LGQ9ITEsZT1iLm9uU3VjY2Vzcz9iLm9uU3VjY2VzczooKT0+e307Yy5vcHRpb25zLm9uU3VjY2Vzcz0KKGYsaCk9PntjLmlkIT09dm9pZCAwP3RoaXMuY2IuRmYoYy5pZCx0aGlzLkphKTpkPSEwO3RoaXMuU2EuZWYmJnRoaXMuS2EmJnRoaXMuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmdGhpcy5TYS5lZighMCk7ZShmLGgpfTt0aGlzLkdkKGMudXJsLGMub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuY2Iuc2V0KGMsdGhpcy5KYSkudGhlbihmPT57Yy5pZD1mO2QmJnRoaXMuY2IuRmYoYy5pZCx0aGlzLkphKX0pLmNhdGNoKGY9PntIbSh0aGlzLGYpfSl9ZWxzZSB0aGlzLkdkKGEsYix2b2lkIDAsITApfW8oKXtpZighQm0odGhpcykpdGhyb3cgRXJyb3IoInJhIik7dGhpcy5qfHwodGhpcy5qPXRoaXMuRGMucGIoYXN5bmMoKT0+e3ZhciBhPWF3YWl0IHRoaXMuY2IuV3AoIk5FVyIsdGhpcy5KYSk7YT8oYXdhaXQgR20odGhpcyxhKSx0aGlzLmomJih0aGlzLmo9MCx0aGlzLm8oKSkpOnRoaXMudigpfSx0aGlzLmdzKSl9digpe3RoaXMuRGMuQWEodGhpcy5qKTt0aGlzLmo9MH19O3ZhciBLbTt2YXIgVW89e2FjY291bnRTdGF0ZUNoYW5nZVNpZ25lZEluOjIzLGFjY291bnRTdGF0ZUNoYW5nZVNpZ25lZE91dDoyNCxkZWxheWVkRXZlbnRNZXRyaWNDYXB0dXJlZDoxMSxsYXRlbmN5QWN0aW9uQmFzZWxpbmVkOjYsbGF0ZW5jeUFjdGlvbkluZm86NyxsYXRlbmN5QWN0aW9uVGlja2VkOjUsb2ZmbGluZVRyYW5zZmVyU3RhdHVzQ2hhbmdlZDoyLG9mZmxpbmVJbWFnZURvd25sb2FkOjMzNSxwbGF5YmFja1N0YXJ0U3RhdGVDaGFuZ2VkOjksc3lzdGVtSGVhbHRoQ2FwdHVyZWQ6MyxtYW5nb09uYm9hcmRpbmdDb21wbGV0ZWQ6MTAsbWFuZ29QdXNoTm90aWZpY2F0aW9uUmVjZWl2ZWQ6MjMwLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25FcnJvcjoxMjEsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN1bW1hcnk6MTIyLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QcmV1bmZvcmtEYlZlcnNpb25OdW1iZXI6MTMzLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QaG9uZU1ldGFkYXRhOjEzNCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVTdG9yYWdlOjEzNSwKbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN0ZXA6MTQyLG1hbmdvQXN5bmNBcGlNaWdyYXRpb25FdmVudDoyMjMsbWFuZ29Eb3dubG9hZFZpZGVvUmVzdWx0OjIyNCxtYW5nb0hvbWVwYWdlVmlkZW9Db3VudDoyNzksbWFuZ29Ib21lVjNTdGF0ZToyOTUsbWFuZ29JbWFnZUNsaWVudENhY2hlSGl0RXZlbnQ6MjczLHNkQ2FyZFN0YXR1c0NoYW5nZWQ6OTgsZnJhbWVzRHJvcHBlZDoxMix0aHVtYm5haWxIb3ZlcmVkOjEzLGRldmljZVJldGVudGlvbkluZm9DYXB0dXJlZDoxNCx0aHVtYm5haWxMb2FkZWQ6MTUsYmFja1RvQXBwRXZlbnQ6MzE4LHN0cmVhbWluZ1N0YXRzQ2FwdHVyZWQ6MTcsb2ZmbGluZVZpZGVvU2hhcmVkOjE5LGFwcENyYXNoZWQ6MjAseW91VGhlcmU6MjEsb2ZmbGluZVN0YXRlU25hcHNob3Q6MjIsbWR4U2Vzc2lvblN0YXJ0ZWQ6MjUsbWR4U2Vzc2lvbkNvbm5lY3RlZDoyNixtZHhTZXNzaW9uRGlzY29ubmVjdGVkOjI3LGJlZHJvY2tSZXNvdXJjZUNvbnN1bXB0aW9uU25hcHNob3Q6MjgsCm5leHRHZW5XYXRjaFdhdGNoU3dpcGVkOjI5LGtpZHNBY2NvdW50c1NuYXBzaG90OjMwLHplcm9TdGVwQ2hhbm5lbENyZWF0ZWQ6MzEsdHZodG1sNVNlYXJjaENvbXBsZXRlZDozMixvZmZsaW5lU2hhcmVQYWlyaW5nOjM0LG9mZmxpbmVTaGFyZVVubG9jazozNSxtZHhSb3V0ZURpc3RyaWJ1dGlvblNuYXBzaG90OjM2LGJlZHJvY2tSZXBldGl0aXZlQWN0aW9uVGltZWQ6MzcsdW5wbHVnZ2VkRGVncmFkYXRpb25JbmZvOjIyOSx1cGxvYWRNcDRIZWFkZXJNb3ZlZDozOCx1cGxvYWRWaWRlb1RyYW5zY29kZWQ6MzksdXBsb2FkUHJvY2Vzc29yU3RhcnRlZDo0Nix1cGxvYWRQcm9jZXNzb3JFbmRlZDo0Nyx1cGxvYWRQcm9jZXNzb3JSZWFkeTo5NCx1cGxvYWRQcm9jZXNzb3JSZXF1aXJlbWVudFBlbmRpbmc6OTUsdXBsb2FkUHJvY2Vzc29ySW50ZXJydXB0ZWQ6OTYsdXBsb2FkRnJvbnRlbmRFdmVudDoyNDEsYXNzZXRQYWNrRG93bmxvYWRTdGFydGVkOjQxLGFzc2V0UGFja0Rvd25sb2FkZWQ6NDIsCmFzc2V0UGFja0FwcGxpZWQ6NDMsYXNzZXRQYWNrRGVsZXRlZDo0NCxhcHBJbnN0YWxsQXR0cmlidXRpb25FdmVudDo0NTkscGxheWJhY2tTZXNzaW9uU3RvcHBlZDo0NSxhZEJsb2NrZXJNZXNzYWdpbmdTaG93bjo0OCxkaXN0cmlidXRpb25DaGFubmVsQ2FwdHVyZWQ6NDksZGF0YVBsYW5DcGlkUmVxdWVzdGVkOjUxLGRldGFpbGVkTmV0d29ya1R5cGVDYXB0dXJlZDo1MixzZW5kU3RhdGVVcGRhdGVkOjUzLHJlY2VpdmVTdGF0ZVVwZGF0ZWQ6NTQsc2VuZERlYnVnU3RhdGVVcGRhdGVkOjU1LHJlY2VpdmVEZWJ1Z1N0YXRlVXBkYXRlZDo1NixraWRzRXJyb3JlZDo1NyxtZHhNc25TZXNzaW9uU3RhdHNGaW5pc2hlZDo1OCxhcHBTZXR0aW5nc0NhcHR1cmVkOjU5LG1keFdlYlNvY2tldFNlcnZlckh0dHBFcnJvcjo2MCxtZHhXZWJTb2NrZXRTZXJ2ZXI6NjEsc3RhcnR1cENyYXNoZXNEZXRlY3RlZDo2Mixjb2xkU3RhcnRJbmZvOjQzNSxvZmZsaW5lUGxheWJhY2tTdGFydGVkOjYzLGxpdmVDaGF0TWVzc2FnZVNlbnQ6MjI1LApsaXZlQ2hhdFVzZXJQcmVzZW50OjQzNCxsaXZlQ2hhdEJlaW5nTW9kZXJhdGVkOjQ1NyxsaXZlQ2hhdEdpZnRCdXR0b25JbXByZXNzZWQ6NTU4LGxpdmVDcmVhdGlvbkNhbWVyYVVwZGF0ZWQ6NjQsbGl2ZUNyZWF0aW9uRW5jb2RpbmdDYXB0dXJlZDo2NSxsaXZlQ3JlYXRpb25FcnJvcjo2NixsaXZlQ3JlYXRpb25IZWFsdGhVcGRhdGVkOjY3LGxpdmVDcmVhdGlvblZpZGVvRWZmZWN0c0NhcHR1cmVkOjY4LGxpdmVDcmVhdGlvblN0YWdlT2NjdXJlZDo3NSxvZmZsaW5lU3lzdGVtRmFpbHVyZTo1NDYsbGl2ZUNyZWF0aW9uQnJvYWRjYXN0U2NoZWR1bGVkOjEyMyxsaXZlQ3JlYXRpb25BcmNoaXZlUmVwbGFjZW1lbnQ6MTQ5LGxpdmVDcmVhdGlvbkNvc3RyZWFtaW5nQ29ubmVjdGlvbjo0MjEsbGl2ZUNyZWF0aW9uUGxheWFibGVzTWV0cmljczo1MzMsbGl2ZUNyZWF0aW9uU3RyZWFtV2VicnRjU3RhdHM6Mjg4LGxpdmVDcmVhdGlvbldlYnJ0Y0Vycm9yOjUyNixtZHhTZXNzaW9uUmVjb3ZlcnlTdGFydGVkOjY5LAptZHhTZXNzaW9uUmVjb3ZlcnlDb21wbGV0ZWQ6NzAsbWR4U2Vzc2lvblJlY292ZXJ5U3RvcHBlZDo3MSx2aXN1YWxFbGVtZW50U2hvd246NzIsdmlzdWFsRWxlbWVudEhpZGRlbjo3Myx2aXN1YWxFbGVtZW50R2VzdHVyZWQ6NzgsdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZDoyMDgsc2NyZWVuQ3JlYXRlZDoxNTYscGxheWJhY2tBc3NvY2lhdGVkOjIwMix2aXN1YWxFbGVtZW50QXR0YWNoZWQ6MjE1LHBsYXliYWNrQ29udGV4dEV2ZW50OjIxNCxjbG91ZENhc3RpbmdQbGF5YmFja1N0YXJ0ZWQ6NzQsd2ViUGxheWVyQXBpQ2FsbGVkOjc2LHR2aHRtbDVBY2NvdW50RGlhbG9nT3BlbmVkOjc5LGZvcmVncm91bmRIZWFydGJlYXQ6ODAsZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQ6MTExLGtpZHNPZmZsaW5lU25hcHNob3Q6ODEsbWR4RW5jcnlwdGlvblNlc3Npb25TdGF0c0ZpbmlzaGVkOjgyLHBsYXllclJlcXVlc3RDb21wbGV0ZWQ6ODMsbGl0ZVNjaGVkdWxlclN0YXRpc3RpY3M6ODQsCm1keFNpZ25Jbjo4NSxzcGFjZWNhc3RNZXRhZGF0YUxvb2t1cFJlcXVlc3RlZDo4NixzcGFjZWNhc3RCYXRjaExvb2t1cFJlcXVlc3RlZDo4NyxzcGFjZWNhc3RTdW1tYXJ5UmVxdWVzdGVkOjg4LHNwYWNlY2FzdFBsYXliYWNrOjg5LHNwYWNlY2FzdERpc2NvdmVyeTo5MCx0dmh0bWw1TGF1bmNoVXJsQ29tcG9uZW50Q2hhbmdlZDo5MSxtZHhCYWNrZ3JvdW5kUGxheWJhY2tSZXF1ZXN0Q29tcGxldGVkOjkyLG1keEJyb2tlbkFkZGl0aW9uYWxEYXRhRGV2aWNlRGV0ZWN0ZWQ6OTMsdHZodG1sNUxvY2FsU3RvcmFnZTo5Nyx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXR1czoxNDcsYXV0b0NhcHRpb25zQXZhaWxhYmxlOjk5LHBsYXliYWNrU2NydWJiaW5nRXZlbnQ6MzM5LGZsZXh5U3RhdGU6MTAwLGludGVyZmFjZU9yaWVudGF0aW9uQ2FwdHVyZWQ6MTAxLG1haW5BcHBCcm93c2VGcmFnbWVudENhY2hlOjEwMixvZmZsaW5lQ2FjaGVWZXJpZmljYXRpb25GYWlsdXJlOjEwMyxvZmZsaW5lUGxheWJhY2tFeGNlcHRpb25EaWdlc3Q6MjE3LAp2ckNvcHJlc2VuY2VTdGF0czoxMDQsdnJDb3ByZXNlbmNlU3luY1N0YXRzOjEzMCx2ckNvcHJlc2VuY2VDb21tc1N0YXRzOjEzNyx2ckNvcHJlc2VuY2VQYXJ0eVN0YXRzOjE1Myx2ckNvcHJlc2VuY2VFbW9qaVN0YXRzOjIxMyx2ckNvcHJlc2VuY2VFdmVudDoxNDEsdnJDb3ByZXNlbmNlRmxvd1RyYW5zaXRFdmVudDoxNjAsdnJDb3dhdGNoUGFydHlFdmVudDo0OTIsdnJDb3dhdGNoVXNlclN0YXJ0T3JKb2luRXZlbnQ6NTA0LHZyUGxheWJhY2tFdmVudDozNDUsa2lkc0FnZUdhdGVUcmFja2luZzoxMDUsb2ZmbGluZURlbGF5QWxsb3dlZFRyYWNraW5nOjEwNixtYWluQXBwQXV0b09mZmxpbmVTdGF0ZToxMDcsdmlkZW9Bc1RodW1ibmFpbERvd25sb2FkOjEwOCx2aWRlb0FzVGh1bWJuYWlsUGxheWJhY2s6MTA5LGxpdGVTaG93TW9yZToxMTAscmVuZGVyaW5nRXJyb3I6MTE4LGtpZHNQcm9maWxlUGluR2F0ZVRyYWNraW5nOjExOSxhYnJUcmFqZWN0b3J5OjEyNCxzY3JvbGxFdmVudDoxMjUsCnN0cmVhbXpJbmNyZW1lbnRlZDoxMjYsa2lkc1Byb2ZpbGVTd2l0Y2hlclRyYWNraW5nOjEyNyxraWRzUHJvZmlsZUNyZWF0aW9uVHJhY2tpbmc6MTI5LGJ1eUZsb3dTdGFydGVkOjEzNixpbnRlZ3JhdGlvbkF0dHJpYnV0aW9uRXZlbnQ6NTU2LG1ic0Nvbm5lY3Rpb25Jbml0aWF0ZWQ6MTM4LG1ic1BsYXliYWNrSW5pdGlhdGVkOjEzOSxtYnNMb2FkQ2hpbGRyZW46MTQwLGxpdGVQcm9maWxlRmV0Y2hlcjoxNDQsbWR4UmVtb3RlVHJhbnNhY3Rpb246MTQ2LHJlZWxQbGF5YmFja0Vycm9yOjE0OCxyZWFjaGFiaWxpdHlEZXRlY3Rpb25FdmVudDoxNTAsbW9iaWxlUGxheWJhY2tFdmVudDoxNTEsY291cnRzaWRlUGxheWVyU3RhdGVDaGFuZ2VkOjE1MixtdXNpY1BlcnNpc3RlbnRDYWNoZUNoZWNrZWQ6MTU0LG11c2ljUGVyc2lzdGVudENhY2hlQ2xlYXJlZDoxNTUscGxheWJhY2tJbnRlcnJ1cHRlZDoxNTcscGxheWJhY2tJbnRlcnJ1cHRpb25SZXNvbHZlZDoxNTgsZml4Rm9wRmxvdzoxNTksCmFuckRldGVjdGlvbjoxNjEsYmFja3N0YWdlUG9zdENyZWF0aW9uRmxvd0VuZGVkOjE2MixjbGllbnRFcnJvcjoxNjMsZ2FtaW5nQWNjb3VudExpbmtTdGF0dXNDaGFuZ2VkOjE2NCxsaXRlSG91c2V3YXJtaW5nOjE2NSxidXlGbG93RXZlbnQ6MTY3LGtpZHNQYXJlbnRhbEdhdGVUcmFja2luZzoxNjgsa2lkc1NpZ25lZE91dFNldHRpbmdzU3RhdHVzOjQzNyxraWRzU2lnbmVkT3V0UGF1c2VIaXN0b3J5Rml4U3RhdHVzOjQzOCx0dmh0bWw1V2F0Y2hkb2dWaW9sYXRpb246NDQ0LHlwY1VwZ3JhZGVGbG93OjE2OSx5b25nbGVTdHVkeToxNzAseXBjVXBkYXRlRmxvd1N0YXJ0ZWQ6MTcxLHlwY1VwZGF0ZUZsb3dDYW5jZWxsZWQ6MTcyLHlwY1VwZGF0ZUZsb3dTdWNjZWVkZWQ6MTczLHlwY1VwZGF0ZUZsb3dGYWlsZWQ6MTc0LGxpdGVHcm93dGhraXRQcm9tbzoxNzUscGF5bWVudEZsb3dTdGFydGVkOjM0MSx0cmFuc2FjdGlvbkZsb3dTaG93UGF5bWVudERpYWxvZzo0MDUsdHJhbnNhY3Rpb25GbG93U3RhcnRlZDoxNzYsCnRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVN0YXJ0ZWQ6MjIyLHRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVNpZ25lZE91dFN0YXJ0ZWQ6MzgzLHRyYW5zYWN0aW9uRmxvd0NhbmNlbGxlZDoxNzcsdHJhbnNhY3Rpb25GbG93UGF5bWVudENhbGxCYWNrUmVjZWl2ZWQ6Mzg3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWJtaXR0ZWQ6NDYwLHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWNjZWVkZWQ6MzI5LHRyYW5zYWN0aW9uRmxvd1N1Y2NlZWRlZDoxNzgsdHJhbnNhY3Rpb25GbG93RmFpbGVkOjE3OSx0cmFuc2FjdGlvbkZsb3dQbGF5QmlsbGluZ0Nvbm5lY3Rpb25TdGFydEV2ZW50OjQyOCx0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdWNjZXNzOjQ1OCx0cmFuc2FjdGlvbkZsb3dFcnJvckV2ZW50OjQxMSxsaXRlVmlkZW9RdWFsaXR5Q2hhbmdlZDoxODAsd2F0Y2hCcmVha0VuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MTgxLHdhdGNoQnJlYWtGcmVxdWVuY3lTZXR0aW5nRXZlbnQ6MTgyLAp2aWRlb0VmZmVjdHNDYW1lcmFQZXJmb3JtYW5jZU1ldHJpY3M6MTgzLGFkTm90aWZ5OjE4NCxzdGFydHVwVGVsZW1ldHJ5OjE4NSxwbGF5YmFja09mZmxpbmVGYWxsYmFja1VzZWQ6MTg2LG91dE9mTWVtb3J5OjE4Nyx5cGNQYXVzZUZsb3dTdGFydGVkOjE4OCx5cGNQYXVzZUZsb3dDYW5jZWxsZWQ6MTg5LHlwY1BhdXNlRmxvd1N1Y2NlZWRlZDoxOTAseXBjUGF1c2VGbG93RmFpbGVkOjE5MSx1cGxvYWRGaWxlU2VsZWN0ZWQ6MTkyLHlwY1Jlc3VtZUZsb3dTdGFydGVkOjE5Myx5cGNSZXN1bWVGbG93Q2FuY2VsbGVkOjE5NCx5cGNSZXN1bWVGbG93U3VjY2VlZGVkOjE5NSx5cGNSZXN1bWVGbG93RmFpbGVkOjE5NixhZHNDbGllbnRTdGF0ZUNoYW5nZToxOTcseXBjQ2FuY2VsRmxvd1N0YXJ0ZWQ6MTk4LHlwY0NhbmNlbEZsb3dDYW5jZWxsZWQ6MTk5LHlwY0NhbmNlbEZsb3dTdWNjZWVkZWQ6MjAwLHlwY0NhbmNlbEZsb3dGYWlsZWQ6MjAxLHlwY0NhbmNlbEZsb3dHb1RvUGF5bWVudFByb2Nlc3Nvcjo0MDIsCnlwY0RlYWN0aXZhdGVGbG93U3RhcnRlZDozMjAseXBjUmVkZWVtRmxvd1N0YXJ0ZWQ6MjAzLHlwY1JlZGVlbUZsb3dDYW5jZWxsZWQ6MjA0LHlwY1JlZGVlbUZsb3dTdWNjZWVkZWQ6MjA1LHlwY1JlZGVlbUZsb3dGYWlsZWQ6MjA2LHlwY0ZhbWlseUNyZWF0ZUZsb3dTdGFydGVkOjI1OCx5cGNGYW1pbHlDcmVhdGVGbG93Q2FuY2VsbGVkOjI1OSx5cGNGYW1pbHlDcmVhdGVGbG93U3VjY2VlZGVkOjI2MCx5cGNGYW1pbHlDcmVhdGVGbG93RmFpbGVkOjI2MSx5cGNGYW1pbHlNYW5hZ2VGbG93U3RhcnRlZDoyNjIseXBjRmFtaWx5TWFuYWdlRmxvd0NhbmNlbGxlZDoyNjMseXBjRmFtaWx5TWFuYWdlRmxvd1N1Y2NlZWRlZDoyNjQseXBjRmFtaWx5TWFuYWdlRmxvd0ZhaWxlZDoyNjUscmVzdG9yZUNvbnRleHRFdmVudDoyMDcsZW1iZWRzQWRFdmVudDozMjcsYXV0b3BsYXlUcmlnZ2VyZWQ6MjA5LGNsaWVudERhdGFFcnJvckV2ZW50OjIxMCxleHBlcmltZW50YWxWc3NWYWxpZGF0aW9uOjIxMSwKdHZodG1sNVRyaWdnZXJlZEV2ZW50OjIxMix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxSZXN1bHQ6MjE2LHR2aHRtbDVGcmFtZXdvcmtzRmllbGRUcmlhbFN0YXJ0OjIyMCxtdXNpY09mZmxpbmVQcmVmZXJlbmNlczoyMTgsd2F0Y2hUaW1lU2VnbWVudDoyMTksYXBwV2lkdGhMYXlvdXRFcnJvcjoyMjEsYWNjb3VudFJlZ2lzdHJ5Q2hhbmdlOjIyNix1c2VyTWVudGlvbkF1dG9Db21wbGV0ZUJveEV2ZW50OjIyNyxkb3dubG9hZFJlY29tbWVuZGF0aW9uRW5hYmxlbWVudFNldHRpbmdFdmVudDoyMjgsbXVzaWNQbGF5YmFja0NvbnRlbnRNb2RlQ2hhbmdlRXZlbnQ6MjMxLG9mZmxpbmVEYk9wZW5Db21wbGV0ZWQ6MjMyLGtpZHNGbG93RXZlbnQ6MjMzLGtpZHNGbG93Q29ycHVzU2VsZWN0ZWRFdmVudDoyMzQsdmlkZW9FZmZlY3RzRXZlbnQ6MjM1LHVucGx1Z2dlZE9wc0VvZ0FuYWx5dGljc0V2ZW50OjIzNixwbGF5YmFja0F1ZGlvUm91dGVFdmVudDoyMzcsaW50ZXJhY3Rpb25Mb2dnaW5nRGVidWdNb2RlRXJyb3I6MjM4LApvZmZsaW5lWXRiUmVmcmVzaGVkOjIzOSxraWRzRmxvd0Vycm9yOjI0MCxtdXNpY0F1dG9wbGF5T25MYXVuY2hBdHRlbXB0ZWQ6MjQyLGRldmljZUNvbnRleHRBY3Rpdml0eUV2ZW50OjI0MyxkZXZpY2VDb250ZXh0RXZlbnQ6MjQ0LHRlbXBsYXRlUmVzb2x1dGlvbkV4Y2VwdGlvbjoyNDUsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RTZXJ2aWNlQ2FsbGVkOjI0NixlbWJlZHNTdG9yYWdlQWNjZXNzTm90Q2hlY2tlZDoyNDcsZW1iZWRzSGFzU3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNDgsZW1iZWRzSXRwUGxheWVkT25SZWxvYWQ6MjQ5LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0OjI1MCxlbWJlZHNTaG91bGRSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTEsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NTdGF0ZToyNTYsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NGYWlsZWRTdGF0ZToyNTcsZW1iZWRzSXRwV2F0Y2hMYXRlclJlc3VsdDoyNjYsc2VhcmNoU3VnZ2VzdERlY29kaW5nUGF5bG9hZEZhaWx1cmU6MjUyLApzaXJpU2hvcnRjdXRBY3RpdmF0ZWQ6MjUzLHR2aHRtbDVLZXlib2FyZFBlcmZvcm1hbmNlOjI1NCxsYXRlbmN5QWN0aW9uU3BhbjoyNTUsZWxlbWVudHNMb2c6MjY3LHl0YkZpbGVPcGVuZWQ6MjY4LHRmbGl0ZU1vZGVsRXJyb3I6MjY5LGFwaVRlc3Q6MjcwLHlvbmdsZVVzYlNldHVwOjI3MSx0b3VTdHJpa2VJbnRlcnN0aXRpYWxFdmVudDoyNzIsbGl0ZVN0cmVhbVRvU2F2ZToyNzQsYXBwQnVuZGxlQ2xpZW50RXZlbnQ6Mjc1LHl0YkZpbGVDcmVhdGlvbkZhaWxlZDoyNzYsYWROb3RpZnlGYWlsdXJlOjI3OCx5dGJUcmFuc2ZlckZhaWxlZDoyODAsYmxvY2tpbmdSZXF1ZXN0RmFpbGVkOjI4MSxsaXRlQWNjb3VudFNlbGVjdG9yOjI4MixsaXRlQWNjb3VudFVpQ2FsbGJhY2tzOjI4MyxkdW1teVBheWxvYWQ6Mjg0LGJyb3dzZVJlc3BvbnNlVmFsaWRhdGlvbkV2ZW50OjI4NSxlbnRpdGllc0Vycm9yOjI4NixtdXNpY0lvc0JhY2tncm91bmRGZXRjaDoyODcsbWR4Tm90aWZpY2F0aW9uRXZlbnQ6Mjg5LApsYXllcnNWYWxpZGF0aW9uRXJyb3I6MjkwLG11c2ljUHdhSW5zdGFsbGVkOjI5MSxsaXRlQWNjb3VudENsZWFudXA6MjkyLGh0bWw1UGxheWVySGVhbHRoRXZlbnQ6MjkzLHdhdGNoUmVzdG9yZUF0dGVtcHQ6Mjk0LGxpdGVBY2NvdW50U2lnbkluOjI5Nixub3RhaXJlRXZlbnQ6Mjk4LGtpZHNWb2ljZVNlYXJjaEV2ZW50OjI5OSxhZE5vdGlmeUZpbGxlZDozMDAsZGVsYXllZEV2ZW50RHJvcHBlZDozMDEsYW5hbHl0aWNzU2VhcmNoRXZlbnQ6MzAyLHN5c3RlbURhcmtUaGVtZU9wdE91dEV2ZW50OjMwMyxmbG93RXZlbnQ6MzA0LG5ldHdvcmtDb25uZWN0aXZpdHlCYXNlbGluZUV2ZW50OjMwNSx5dGJGaWxlSW1wb3J0ZWQ6MzA2LGRvd25sb2FkU3RyZWFtVXJsRXhwaXJlZDozMDcsZGlyZWN0U2lnbkluRXZlbnQ6MzA4LGx5cmljSW1wcmVzc2lvbkV2ZW50OjMwOSxhY2Nlc3NpYmlsaXR5U3RhdGVFdmVudDozMTAsdG9rZW5SZWZyZXNoRXZlbnQ6MzExLGdlbmVyaWNBdHRlc3RhdGlvbkV4ZWN1dGlvbjozMTIsCnR2aHRtbDVWaWRlb1NlZWs6MzEzLHVucGx1Z2dlZEF1dG9QYXVzZTozMTQsc2NydWJiaW5nRXZlbnQ6MzE1LGJlZHRpbWVSZW1pbmRlckV2ZW50OjMxNyx0dmh0bWw1VW5leHBlY3RlZFJlc3RhcnQ6MzE5LHR2aHRtbDVEZXZpY2VTdG9yYWdlU3RhdHM6NTM1LHR2aHRtbDVTdGFiaWxpdHlUcmFjZUV2ZW50OjQ3OCx0dmh0bWw1T3BlcmF0aW9uSGVhbHRoOjQ2Nyx0dmh0bWw1V2F0Y2hLZXlFdmVudDozMjEsdm9pY2VMYW5ndWFnZUNoYW5nZWQ6MzIyLHR2aHRtbDVMaXZlQ2hhdFN0YXR1czozMjMscGFyZW50VG9vbHNDb3JwdXNTZWxlY3RlZEV2ZW50OjMyNCxvZmZlckFkc0Vucm9sbG1lbnRJbml0aWF0ZWQ6MzI1LG5ldHdvcmtRdWFsaXR5SW50ZXJ2YWxFdmVudDozMjYsZGV2aWNlU3RhcnR1cE1ldHJpY3M6MzI4LGhlYXJ0YmVhdEFjdGlvblBsYXllclRyYW5zaXRpb25lZDozMzAsdHZodG1sNUxpZmVjeWNsZTozMzEsaGVhcnRiZWF0QWN0aW9uUGxheWVySGFsdGVkOjMzMixhZGFwdGl2ZUlubGluZU11dGVkU2V0dGluZ0V2ZW50OjMzMywKbWFpbkFwcExpYnJhcnlMb2FkaW5nU3RhdGU6MzM0LHRoaXJkUGFydHlMb2dNb25pdG9yaW5nRXZlbnQ6MzM2LGFwcFNoZWxsQXNzZXRMb2FkUmVwb3J0OjMzNyx0dmh0bWw1QW5kcm9pZEF0dGVzdGF0aW9uOjMzOCx0dmh0bWw1U3RhcnR1cFNvdW5kRXZlbnQ6MzQwLGlvc0JhY2tncm91bmRSZWZyZXNoVGFzazozNDIsaW9zQmFja2dyb3VuZFByb2Nlc3NpbmdUYXNrOjM0MyxzbGlFdmVudEJhdGNoOjM0NCxwb3N0SW1wcmVzc2lvbkV2ZW50OjM0NixtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdEV4cG9ydDozNDcsaWRiVW5leHBlY3RlZGx5Q2xvc2VkOjM0OCx2b2ljZVNlYXJjaEV2ZW50OjM0OSxtZHhTZXNzaW9uQ2FzdEV2ZW50OjM1MCxpZGJRdW90YUV4Y2VlZGVkOjM1MSxpZGJUcmFuc2FjdGlvbkVuZGVkOjM1MixpZGJUcmFuc2FjdGlvbkFib3J0ZWQ6MzUzLHR2aHRtbDVLZXlib2FyZExvZ2dpbmc6MzU0LGlkYklzU3VwcG9ydGVkQ29tcGxldGVkOjM1NSxjcmVhdG9yU3R1ZGlvTW9iaWxlRXZlbnQ6MzU2LAppZGJEYXRhQ29ycnVwdGVkOjM1NyxwYXJlbnRUb29sc0FwcENob3NlbkV2ZW50OjM1OCx3ZWJWaWV3Qm90dG9tU2hlZXRSZXNpemVkOjM1OSxhY3RpdmVTdGF0ZUNvbnRyb2xsZXJTY3JvbGxQZXJmb3JtYW5jZVN1bW1hcnk6MzYwLG5hdmlnYXRvclZhbGlkYXRpb246MzYxLG1keFNlc3Npb25IZWFydGJlYXQ6MzYyLGNsaWVudEhpbnRzUG9seWZpbGxEaWFnbm9zdGljczozNjMsY2xpZW50SGludHNQb2x5ZmlsbEV2ZW50OjM2NCxwcm9vZk9mT3JpZ2luVG9rZW5FcnJvcjozNjUsa2lkc0FkZGVkQWNjb3VudFN1bW1hcnk6MzY2LG11c2ljV2VhcmFibGVEZXZpY2U6MzY3LHlwY1JlZnVuZEZsb3dFdmVudDozNjgsdHZodG1sNVBsYXliYWNrTWVhc3VyZW1lbnRFdmVudDozNjksdHZodG1sNVdhdGVybWFya01lYXN1cmVtZW50RXZlbnQ6MzcwLGNsaWVudEV4cEdjZlByb3BhZ2F0aW9uRXZlbnQ6MzcxLG1haW5BcHBSZWZlcnJlckludGVudDozNzIsbGVhZGVyTG9ja0VuZGVkOjM3MyxsZWFkZXJMb2NrQWNxdWlyZWQ6Mzc0LApnb29nbGVIYXRzRXZlbnQ6Mzc1LHBlcnNpc3RlbnRMZW5zTGF1bmNoRXZlbnQ6Mzc2LHBhcmVudFRvb2xzQ2hpbGRXZWxjb21lQ2hvc2VuRXZlbnQ6Mzc4LGJyb3dzZVRodW1ibmFpbFByZWxvYWRFdmVudDozNzksZmluYWxQYXlsb2FkOjM4MCxtZHhEaWFsQWRkaXRpb25hbERhdGFVcGRhdGVFdmVudDozODEsd2ViT3JjaGVzdHJhdGlvblRhc2tMaWZlY3ljbGVSZWNvcmQ6MzgyLHN0YXJ0dXBTaWduYWxFdmVudDozODQsYWNjb3VudEVycm9yOjM4NSxnbXNEZXZpY2VDaGVja0V2ZW50OjM4NixhY2NvdW50U2VsZWN0b3JFdmVudDozODgsYWNjb3VudFVpQ2FsbGJhY2tzOjM4OSxtZHhEaWFsQWRkaXRpb25hbERhdGFQcm9iZUV2ZW50OjM5MCxkb3dubG9hZHNTZWFyY2hJY2luZ0FwaVN0YXRzOjM5MSxkb3dubG9hZHNTZWFyY2hJbmRleFVwZGF0ZWRFdmVudDozOTcsZG93bmxvYWRzU2VhcmNoSW5kZXhTbmFwc2hvdDozOTgsZGF0YVB1c2hDbGllbnRFdmVudDozOTIsa2lkc0NhdGVnb3J5U2VsZWN0ZWRFdmVudDozOTMsCm1keERldmljZU1hbmFnZW1lbnRTbmFwc2hvdEV2ZW50OjM5NCxwcmVmZXRjaFJlcXVlc3RlZDozOTUscHJlZmV0Y2hhYmxlQ29tbWFuZEV4ZWN1dGVkOjM5NixnZWxEZWJ1Z2dpbmdFdmVudDozOTksd2ViTGlua1R0c1BsYXlFbmQ6NDAwLGNsaXBWaWV3SW52YWxpZDo0MDEscGVyc2lzdGVudFN0b3JhZ2VTdGF0ZUNoZWNrZWQ6NDAzLGNhY2hlV2lwZW91dEV2ZW50OjQwNCxwbGF5ZXJFdmVudDo0MTAsc2Z2RWZmZWN0UGlwZWxpbmVTdGFydGVkRXZlbnQ6NDEyLHNmdkVmZmVjdFBpcGVsaW5lUGF1c2VkRXZlbnQ6NDI5LHNmdkVmZmVjdFBpcGVsaW5lRW5kZWRFdmVudDo0MTMsc2Z2RWZmZWN0Q2hvc2VuRXZlbnQ6NDE0LHNmdkVmZmVjdExvYWRlZEV2ZW50OjQxNSxzZnZFZmZlY3RVc2VySW50ZXJhY3Rpb25FdmVudDo0NjUsc2Z2RWZmZWN0Rmlyc3RGcmFtZVByb2Nlc3NlZExhdGVuY3lFdmVudDo0MTYsc2Z2RWZmZWN0QWdncmVnYXRlZEZyYW1lc1Byb2Nlc3NlZExhdGVuY3lFdmVudDo0MTcsCnNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNEcm9wcGVkRXZlbnQ6NDE4LHNmdkVmZmVjdFBpcGVsaW5lRXJyb3JFdmVudDo0MzAsc2Z2RWZmZWN0R3JhcGhGcm96ZW5FdmVudDo0MTksc2Z2RWZmZWN0R2xUaHJlYWRCbG9ja2VkRXZlbnQ6NDIwLG1kZVFvc0V2ZW50OjUxMCxtZGVWaWRlb0NoYW5nZWRFdmVudDo0NDIsbWRlUGxheWVyUGVyZm9ybWFuY2VNZXRyaWNzOjQ3MixtZGVFeHBvcnRlckV2ZW50OjQ5NyxnZW5lcmljQ2xpZW50RXhwZXJpbWVudEV2ZW50OjQyMyxob21lUHJlbG9hZFRhc2tTY2hlZHVsZWQ6NDI0LGhvbWVQcmVsb2FkVGFza0V4ZWN1dGVkOjQyNSxob21lUHJlbG9hZENhY2hlSGl0OjQyNixwb2x5bWVyUHJvcGVydHlDaGFuZ2VkSW5PYnNlcnZlcjo0MjcsYXBwbGljYXRpb25TdGFydGVkOjQzMSxuZXR3b3JrQ3JvbmV0UnR0QmF0Y2g6NDMyLG5ldHdvcmtDcm9uZXRSdHRTdW1tYXJ5OjQzMyxyZXBlYXRDaGFwdGVyTG9vcEV2ZW50OjQzNixzZWVrQ2FuY2VsbGF0aW9uRXZlbnQ6NDYyLApsb2NrTW9kZVRpbWVvdXRFdmVudDo0ODMsZXh0ZXJuYWxWaWRlb1NoYXJlVG9Zb3V0dWJlQXR0ZW1wdDo1MDEscGFyZW50Q29kZUV2ZW50OjUwMixvZmZsaW5lVHJhbnNmZXJTdGFydGVkOjQsbXVzaWNPZmZsaW5lTWl4dGFwZVByZWZlcmVuY2VzQ2hhbmdlZDoxNixtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uQXR0ZW1wdDo0MCxtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uRXJyb3I6NzcsZHR3c1BsYXliYWNrU3RhcnRlZDoxMTIsZHR3c1RpbGVGZXRjaFN0YXJ0ZWQ6MTEzLGR0d3NUaWxlRmV0Y2hDb21wbGV0ZWQ6MTE0LGR0d3NUaWxlRmV0Y2hTdGF0dXNDaGFuZ2VkOjE0NSxkdHdzS2V5ZnJhbWVEZWNvZGVyQnVmZmVyU2VudDoxMTUsZHR3c1RpbGVVbmRlcmZsb3dlZE9uTm9ua2V5ZnJhbWU6MTE2LGR0d3NCYWNrZmlsbEZldGNoU3RhdHVzQ2hhbmdlZDoxNDMsZHR3c0JhY2tmaWxsVW5kZXJmbG93ZWQ6MTE3LGR0d3NBZGFwdGl2ZUxldmVsQ2hhbmdlZDoxMjgsCmJsb2NraW5nVmlzaXRvcklkVGltZW91dDoyNzcsbGl0ZVNvY2lhbDoxOCxtb2JpbGVKc0ludm9jYXRpb246Mjk3LGJpc2NvdHRpQmFzZWREZXRlY3Rpb246NDM5LGNvV2F0Y2hTdGF0ZUNoYW5nZTo0NDAsZW1iZWRzVmlkZW9EYXRhRGlkQ2hhbmdlOjQ0MSxzaG9ydHNGaXJzdDo0NDMsY3J1aXNlQ29udHJvbEV2ZW50OjQ0NSxxb2VDbGllbnRMb2dnaW5nQ29udGV4dDo0NDYsYXR2UmVjb21tZW5kYXRpb25Kb2JFeGVjdXRlZDo0NDcsdHZodG1sNVVzZXJGZWVkYmFjazo0NDgscHJvZHVjZXJQcm9qZWN0Q3JlYXRlZDo0NDkscHJvZHVjZXJQcm9qZWN0T3BlbmVkOjQ1MCxwcm9kdWNlclByb2plY3REZWxldGVkOjQ1MSxwcm9kdWNlclByb2plY3RFbGVtZW50QWRkZWQ6NDUzLHByb2R1Y2VyUHJvamVjdEVsZW1lbnRSZW1vdmVkOjQ1NCxwcm9kdWNlckFwcFN0YXRlQ2hhbmdlOjUwOSxwcm9kdWNlclByb2plY3REaXNrSW5zdWZmaWNpZW50RXhwb3J0RmFpbHVyZTo1MTYscHJvZHVjZXJNZWRpYVNlcnZpY2VzUmVzZXREZXRhaWxzOjUyMiwKdHZodG1sNVNob3dDbG9ja0V2ZW50OjQ1NSxkZXZpY2VDYXBhYmlsaXR5Q2hlY2tNZXRyaWNzOjQ1Nix5b3V0dWJlQ2xlYXJjdXRFdmVudDo0NjEsb2ZmbGluZUJyb3dzZUZhbGxiYWNrRXZlbnQ6NDYzLGdldEN0dlRva2VuRXZlbnQ6NDY0LHN0YXJ0dXBEcm9wcGVkRnJhbWVzU3VtbWFyeTo0NjYsc2NyZWVuc2hvdEV2ZW50OjQ2OCxtaW5pQXBwUGxheUV2ZW50OjQ2OSxlbGVtZW50c0RlYnVnQ291bnRlcnM6NDcwLGZvbnRMb2FkRXZlbnQ6NDcxLHdlYktpbGxzd2l0Y2hSZWNlaXZlZDo0NzMsd2ViS2lsbHN3aXRjaEV4ZWN1dGVkOjQ3NCxjYW1lcmFPcGVuRXZlbnQ6NDc1LG1hbnVhbFNtb290aG5lc3NNZWFzdXJlbWVudDo0NzYsdHZodG1sNUFwcFF1YWxpdHlFdmVudDo0NzcscG9seW1lclByb3BlcnR5QWNjZXNzRXZlbnQ6NDc5LG1pbmlBcHBTZGtVc2FnZTo0ODAsY29iYWx0VGVsZW1ldHJ5RXZlbnQ6NDgxLGNyb3NzRGV2aWNlUGxheWJhY2s6NDgyLGNoYW5uZWxDcmVhdGVkV2l0aE9iYWtlSW1hZ2U6NDg0LApjaGFubmVsRWRpdGVkV2l0aE9iYWtlSW1hZ2U6NDg1LG9mZmxpbmVEZWxldGVFdmVudDo0ODYsY3Jvc3NEZXZpY2VOb3RpZmljYXRpb25UcmFuc2Zlcjo0ODcsYW5kcm9pZEludGVudEV2ZW50OjQ4OCx1bnBsdWdnZWRBbWJpZW50SW50ZXJsdWRlc0NvdW50ZXJmYWN0dWFsRXZlbnQ6NDg5LGtleVBsYXlzUGxheWJhY2s6NDkwLHNob3J0c0NyZWF0aW9uRmFsbGJhY2tFdmVudDo0OTMsdnNzRGF0YTo0OTEsY2FzdE1hdGNoOjQ5NCxtaW5pQXBwUGVyZm9ybWFuY2VNZXRyaWNzOjQ5NSx1c2VyRmVlZGJhY2tFdmVudDo0OTYsa2lkc0d1ZXN0U2Vzc2lvbk1pc21hdGNoOjQ5OCxtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdE1pZ3JhdGlvbkV2ZW50OjQ5OSxzbGVlcFRpbWVyU2Vzc2lvbkZpbmlzaEV2ZW50OjUwMCx3YXRjaEVwUHJvbW9Db25mbGljdDo1MDMsaW5uZXJ0dWJlUmVzcG9uc2VDYWNoZU1ldHJpY3M6NTA1LG1pbmlBcHBBZEV2ZW50OjUwNixkYXRhUGxhblVwc2VsbEV2ZW50OjUwNywKcHJvZHVjZXJQcm9qZWN0UmVuYW1lZDo1MDgscHJvZHVjZXJNZWRpYVNlbGVjdGlvbkV2ZW50OjUxMSxlbWJlZHNBdXRvcGxheVN0YXR1c0NoYW5nZWQ6NTEyLHJlbW90ZUNvbm5lY3RFdmVudDo1MTMsY29ubmVjdGVkU2Vzc2lvbk1pc2F0dHJpYnV0aW9uRXZlbnQ6NTE0LHByb2R1Y2VyUHJvamVjdEVsZW1lbnRNb2RpZmllZDo1MTUsYWRzU2VlbkNsaWVudExvZ2dpbmc6NTE3LHByb2R1Y2VyRXZlbnQ6NTE4LHR2aHRtbDVDbGVhblN0YXJ0OjUxOSxkZXZpY2VBY2NvdW50TWV0cmljc0V2ZW50OjUyMCxkZXJwTG9nRXZlbnQ6NTIxLHBsYXlhYmxlc1BvcnRhbEV2ZW50OjUyMyxpcFZhbGlkYXRpb25TdGFydGVkOjUyNCxpcFZhbGlkYXRpb25SZWNlaXZlZDo1MjUscmVlbHNTZXF1ZW5jZU11dGF0aW9uRXZlbnQ6NTI3LHdhdGNoWm9vbVN0YXRlQ2hhbmdlOjUyOCxtZXRhZGF0YUVkaXRvckV2ZW50OjUyOSxraWRzUHJpc21hRGVlcGxpbmtzRXZlbnQ6NTMwLGNyZWF0aW9uT3JjaGVzdHJhdGlvbkV2ZW50OjUzMSwKY29vcmRpbmF0ZWRTYW1wbGluZ1RyaWdnZXJlZDo1MzIscmVjYXBTY3JlZW5zaG90RXZlbnQ6NTM0LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXF1ZXN0RXZlbnQ6NTM2LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXNwb25zZUV2ZW50OjUzNyxzZXNzaW9uUmVwbGF5RXZlbnQ6NTM4LHNlc3Npb25SZXBsYXlTdGF0dXNFdmVudDo1MzksbG9nZ2luZ1JlbGlhYmlsaXR5UHJvYmU6NTQwLGtleVZhbHVlU3RvcmVTdGF0c0V2ZW50OjU0MSxkZXZpY2VMb2NhdGlvblBlcm1pc3Npb25FdmVudDo1NDIscmVtb3RlQ29udHJvbFN0YXJ0ZWQ6NTQzLHJlbW90ZUNvbnRyb2xDb21wbGV0ZWQ6NTQ0LHJlZWxzQWRzRXZlbnRzOjU0NSx5dGxyTG9hZGVyVGVzdEhhcm5lc3NFdmVudDo1NDcsYmlvbWV0cmljQXV0aGVudGljYXRpb25FdmVudDo1NDgsbWFpbkFwcExpZmVjeWNsZUV2ZW50OjU0OSxtdXNpY0Rvd25sb2FkQmFja2dyb3VuZENvbnRpbnVlZFByb2Nlc3NpbmdUYXNrOjU1MCxtdXNpY01ldGFkYXRhTWlzbWF0Y2hFdmVudDo1NTEsCnNjcm9sbFRvQ29tcG9uZW50Q29tcGxldGVkOjU1MixlbnRpdHlTdG9yZVRlbGVtZXRyeTo1NTMsc3RyZWFtaW5nRGFya0xhdW5jaEV2ZW50OjU1NCxjaGlsZEFjY291bnRzRGlzcGxheUV2ZW50OjU1NSx0dmZhc1BsYXliYWNrQ29udGV4dDo1NTcsbWRlQzJQYUV2ZW50OjU1OX07dmFyIFZtPV8uJGwoIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtzZTp7U1dIZWFsdGhMb2c6e1BkOjF9fSxzaGFyZWQ6ITAsdXBncmFkZTooYSxiKT0+e2IoMSkmJl8ub2woXy5rbChhLCJTV0hlYWx0aExvZyIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSksInN3SGVhbHRoTmV3UmVxdWVzdCIsWyJpbnRlcmZhY2UiLCJ0aW1lc3RhbXAiXSl9LHZlcnNpb246MX0pO3ZhciBjbj17fSxibj0wO3ZhciBkbjt2YXIgaG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9bmV3IE1hcDt0aGlzLm89ITF9cmVxdWVzdENvbXBsZXRlKGEsYil7YiYmKHRoaXMubz0hMCk7YT10aGlzLnJlbW92ZVBhcmFtcyhhKTt0aGlzLmouZ2V0KGEpfHx0aGlzLmouc2V0KGEsYil9aXNFbmRwb2ludENGUihhKXthPXRoaXMucmVtb3ZlUGFyYW1zKGEpO3JldHVybihhPXRoaXMuai5nZXQoYSkpPyExOmE9PT0hMSYmdGhpcy5vPyEwOm51bGx9cmVtb3ZlUGFyYW1zKGEpe3JldHVybiBhLnNwbGl0KCI/IilbMF19fTtobi5wcm90b3R5cGUucmVtb3ZlUGFyYW1zPWhuLnByb3RvdHlwZS5yZW1vdmVQYXJhbXM7aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI9aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI7aG4ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZT1obi5wcm90b3R5cGUucmVxdWVzdENvbXBsZXRlO2huLmdldEluc3RhbmNlPWpuO3ZhciBrbj1jbGFzcyBleHRlbmRzIF8uZ2Z7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj0hMTt0aGlzLmo9bGYoKTt0aGlzLmoubGlzdGVuKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PntpZih0aGlzLnYmJl8ueCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgYT1mbigpLmdldCgiZXJyb3JzIiwhMCk7aWYoYSl7Zm9yKGxldCBiIGluIGEpaWYoYVtiXSl7bGV0IGM9bmV3IF8uWGooYiwic2VudCB2aWEgb2ZmbGluZV9lcnJvcnMiKTtjLm5hbWU9YVtiXS5uYW1lO2Muc3RhY2s9YVtiXS5zdGFjaztjLmxldmVsPWFbYl0ubGV2ZWw7Xy5VaShjKX1mbigpLnNldCgiZXJyb3JzIix7fSwyNTkyRTMsITApfX19KX1TYigpe3JldHVybiB0aGlzLmouU2IoKX1lZihhKXt0aGlzLmouaXNPbmxpbmU9YX1xdygpe3ZhciBhPXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO3JldHVybiBhPT09dm9pZCAwPyEwOmF9Q3YoKXt0aGlzLnY9ITB9bGlzdGVuKGEsYil7cmV0dXJuIHRoaXMuai5saXN0ZW4oYSwKYil9UWooYSl7cmV0dXJuIG1mKHRoaXMuaixhKX19O2tuLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1rbi5wcm90b3R5cGUuUWo7a24ucHJvdG90eXBlLmxpc3Rlbj1rbi5wcm90b3R5cGUubGlzdGVuO2tuLnByb3RvdHlwZS5lbmFibGVFcnJvckZsdXNoaW5nPWtuLnByb3RvdHlwZS5Ddjtrbi5wcm90b3R5cGUuZ2V0V2luZG93U3RhdHVzPWtuLnByb3RvdHlwZS5xdztrbi5wcm90b3R5cGUubmV0d29ya1N0YXR1c0hpbnQ9a24ucHJvdG90eXBlLmVmO2tuLnByb3RvdHlwZS5pc05ldHdvcmtBdmFpbGFibGU9a24ucHJvdG90eXBlLlNiO2tuLmdldEluc3RhbmNlPWxuO18uT3M9Y2xhc3MgZXh0ZW5kcyBfLmdme2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5qPXRoaXMuRD0wO3RoaXMudj1sbigpO3ZhciBiPV8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy52KTtiJiYoYS5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PWEucmF0ZUxpbWl0LGIoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e21uKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnttbih0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihiKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVNiKCl7dmFyIGE9Cl8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpO3JldHVybiBhP2EuYmluZCh0aGlzLnYpKCk6ITB9ZWYoYSl7dmFyIGI9Xy5zYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UubmV0d29ya1N0YXR1c0hpbnQiKS5iaW5kKHRoaXMudik7YiYmYihhKX1hc3luYyBRaihhKXt2YXIgYj1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdCIpLmJpbmQodGhpcy52KTtyZXR1cm4gXy54KCJza2lwX25ldHdvcmtfY2hlY2tfaWZfY2ZyIikmJmpuKCkuaXNFbmRwb2ludENGUigiZ2VuZXJhdGVfMjA0Iik/bmV3IFByb21pc2UoYz0+e3RoaXMuZWYod2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHwhMCk7Yyh0aGlzLlNiKCkpfSk6Yj9iKGEpOiEwfX07dmFyIFBzLG5uPWNsYXNzIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtQc3x8KFBzPW5ldyBfLk9zKHtTSjohMCxKSTohMH0pKTtzdXBlcih7Y2I6e091OlRtLEZmOlNtLFdwOlBtLEF5OlFtLG5uOlJtLHNldDpPbX0sU2E6UHMsaGFuZGxlRXJyb3I6KGEsYixjKT0+e3ZhciBkPWM/LmVycm9yPy5jb2RlO2Q9PT00MDB8fGQ9PT00MTU/KGE9bmV3IF8uWGooYS5tZXNzYWdlLGIsYz8uZXJyb3I/LmNvZGUpLF8uV2koYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOl8uVWkoYSl9LFRmOl8uV2ksR2Q6cW4sbm93Ol8uZWwsTHM6Z24sRGM6Xy5DaygpLEttOiJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixGbToicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9mZmxpbmUiLE9pOiEwLERpOi4xLEtqOl8uc2ooInBvdGVudGlhbF9lc2ZfZXJyb3JfbGltaXQiLDEwKSxLYTpfLngsYWg6IShfLldqKCkmJl8uc24oKSl9KTt0aGlzLkI9bmV3IF8uY3M7Xy54KCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiYKVW0oKTtYbCgiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKGEsYil7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKGEsYil9c2VuZFRoZW5Xcml0ZShhLGIsYyl7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKGEsYixjKX1zZW5kQW5kV3JpdGUoYSxiKXtifHwoYj17fSk7Yj1ybihhLGIpO18uV2ooKXx8KHRoaXMuT2M9ITEpO3N1cGVyLnNlbmRBbmRXcml0ZShhLGIpfWF3YWl0SW5pdGlhbGl6YXRpb24oKXtyZXR1cm4gdGhpcy5CLnByb21pc2V9fTtfLnVuPSExO18udG49Xy51Lnl0TmV0d29ya2xlc3NMb2dnaW5nSW5pdGlhbGl6YXRpb25PcHRpb25zfHx7aXNOd2xJbml0aWFsaXplZDpfLnVufTtfLnJhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsXy50bik7dmFyIERwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29uZmlnXz1udWxsO2E/dGhpcy5jb25maWdfPWE6a20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKX1pc1JlYWR5KCl7IXRoaXMuY29uZmlnXyYma20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciBRcztRcz1fLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZXx8bmV3IF8udGg7Xy5Scz1fLnUueXRQdWJzdWJQdWJzdWJTdWJzY3JpYmVkS2V5c3x8e307Xy5Tcz1fLnUueXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5c3x8e307Xy5Ucz1fLnUueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtfLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU9Xy50aC5wcm90b3R5cGUuc3Vic2NyaWJlO18udGgucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9Xy50aC5wcm90b3R5cGUuY2k7Xy50aC5wcm90b3R5cGUucHVibGlzaD1fLnRoLnByb3RvdHlwZS5wdWJsaXNoO18udGgucHJvdG90eXBlLmNsZWFyPV8udGgucHJvdG90eXBlLmNsZWFyO18ucmEoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLFFzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YlRvcGljVG9LZXlzIixfLlNzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YklzU3luY2hyb25vdXMiLF8uVHMpOwpfLnJhKCJ5dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzIixfLlJzKTt2YXIgQ249RGF0ZS5ub3coKS50b1N0cmluZygpO0RhdGUubm93KCk7Xy5Mbj1TeW1ib2woIkNhIik7dmFyIEhuPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMua2V5PWF9fTt2YXIgT249Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IE1hcDt0aGlzLm89bmV3IE1hcH1yZXNvbHZlKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLlVzJiZhIGluc3RhbmNlb2YgXy5Vcz9Lbih0aGlzLGEpOmEgaW5zdGFuY2VvZiBIbj9Kbih0aGlzLGEua2V5LFtdLCEwKTpKbih0aGlzLGEsW10pfX07Xy5Wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbigke3RoaXMubmFtZX0pYH19O3ZhciBObjt2YXIgUG49d2luZG93O3ZhciBmbz1fLngoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKSYmUW4oKSE9PTAsVW49Xy54KCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIik7dmFyIGVvPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2NoZWR1bGVyPV8uQ2soKTt0aGlzLm89bmV3IF8uY3M7dGhpcy5qPWE7Zm9yKGxldCBjPTA7Yzx0aGlzLmoubGVuZ3RoO2MrKyl7bGV0IGQ9dGhpcy5qW2NdO2E9KCk9PntkLnhoKCk7dGhpcy5qW2NdLk5qPSEwO3RoaXMuai5ldmVyeShlPT5lLk5qPT09ITApJiZ0aGlzLm8ucmVzb2x2ZSgpfTt2YXIgYj10aGlzLmdldFByaW9yaXR5KGQpO2I9dGhpcy5zY2hlZHVsZXIuR2EoYSxiKTt0aGlzLmpbY109ey4uLmQseGg6YSxqb2JJZDpifX19Y2FuY2VsKCl7Zm9yKGxldCBhIG9mIHRoaXMuailhLmpvYklkPT09dm9pZCAwfHxhLk5qfHx0aGlzLnNjaGVkdWxlci5BYShhLmpvYklkKSxhLk5qPSEwO3RoaXMuby5yZXNvbHZlKCl9Z2V0UHJpb3JpdHkoYSl7cmV0dXJuIGEucHJpb3JpdHk/PzB9fTtfLldzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9YTt0aGlzLnBsdWdpbnM9W107dGhpcy52PXZvaWQgMDt0aGlzLkI9e307Zm8mJlJuKHRoaXMuc3RhdGUpfWdldCBjdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pbnN0YWxsKGEpe3RoaXMucGx1Z2lucy5wdXNoKGEpO3JldHVybiB0aGlzfXVuaW5zdGFsbCguLi5hKXthLmZvckVhY2goYj0+e2I9dGhpcy5wbHVnaW5zLmluZGV4T2YoYik7Yj4tMSYmdGhpcy5wbHVnaW5zLnNwbGljZShiLDEpfSl9dHJhbnNpdGlvbihhLGIpe2ZvJiZTbih0aGlzLnN0YXRlKTt2YXIgYz10aGlzLnRyYW5zaXRpb25zLmZpbmQoZD0+QXJyYXkuaXNBcnJheShkLmZyb20pP2QuZnJvbS5maW5kKGU9PmU9PT10aGlzLnN0YXRlJiZkLnRvPT09YSk6ZC5mcm9tPT09dGhpcy5zdGF0ZSYmZC50bz09PWEpO2lmKGMpe3RoaXMuaiYmKFRuKHRoaXMuaiksdGhpcy5qPXZvaWQgMCk7Vm4odGhpcyxhLGIpO3RoaXMuc3RhdGU9YTtmbyYmUm4odGhpcy5zdGF0ZSk7CmM9Yy5hY3Rpb24uYmluZCh0aGlzKTtsZXQgZD10aGlzLnBsdWdpbnMuZmlsdGVyKGU9PmVbYV0pLm1hcChlPT5lW2FdKTtjKFpuKHRoaXMsZCksYil9ZWxzZSB0aHJvdyBFcnJvcigiR2FgIit0aGlzLnN0YXRlKyJgIithKTt9fTt2YXIgaG89Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoIm5vbmUiKTt0aGlzLm89bnVsbDt0aGlzLnY9MTA7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206Im5vbmUiLHRvOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86Im5vbmUiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOigpPT57fX0se2Zyb206Im5vbmUiLHRvOiJub25lIixhY3Rpb246KCk9Pnt9fV19RChhLGIpe3RoaXMubz1fLllqKCgpPT57dGhpcy5jdXJyZW50U3RhdGU9PT0iYXBwbGljYXRpb25fbmF2aWdhdGluZyImJnRoaXMudHJhbnNpdGlvbigibm9uZSIpfSw1RTMpO2EoYj8uZXZlbnQpfUsoYSxiKXt0aGlzLm8mJihfLmpmLkFhKHRoaXMubyksdGhpcy5vPW51bGwpO2EoYj8uZXZlbnQpfX0sZ287dmFyIHJvPV8uc2ooInl0Y3NpX2RlYnVnX21heF9zaXplIiwxMDApO3ZhciBYcz0wO3ZhciB5cT1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhcmd1bWVudHMpO3RoaXMuaj1hO3RoaXMudGltZXI9Yn19LHhxPW5ldyBfLnFtKCJhZnQtcmVjb3JkZWQiLHlxKTt2YXIgTnA9W3twbTphPT5gQ2Fubm90IHJlYWQgcHJvcGVydHkgJyR7YS5rZXl9J2AsSmo6e0Vycm9yOlt7cmVnZXhwOi8oUGVybWlzc2lvbiBkZW5pZWQpIHRvIGFjY2VzcyBwcm9wZXJ0eSAiKFteJ10rKSIvLGdyb3VwczpbInJlYXNvbiIsImtleSJdfV0sVHlwZUVycm9yOlt7cmVnZXhwOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovXHU2NWUwXHU2Y2Q1XHU4M2I3XHU1M2Q2XHU2NzJhXHU1YjlhXHU0ZTQ5XHU2MjE2IChudWxsfHVuZGVmaW5lZCkgXHU1ZjE1XHU3NTI4XHU3Njg0XHU1YzVlXHU2MDI3XHUyMDFjKFteXHUyMDFkXSspXHUyMDFkLyxncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7cmVnZXhwOi9cdWM4MTVcdWM3NThcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzRjIFx1YjYxMFx1YjI5NCAobnVsbHx1bmRlZmluZWQpIFx1Y2MzOFx1Yzg3MFx1Yzc3OCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0Li8sCmdyb3VwczpbInZhbHVlIiwia2V5Il19LHtyZWdleHA6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHtyZWdleHA6L1VuYWJsZSB0byBnZXQgcHJvcGVydHkgJyhbXiddKyknIG9mICh1bmRlZmluZWQgb3IgbnVsbCkgcmVmZXJlbmNlLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7cmVnZXhwOi8obnVsbCkgaXMgbm90IGFuIG9iamVjdCBcKGV2YWx1YXRpbmcgJyg/OihbXi5dKylcLik/KFteJ10rKSdcKS8sZ3JvdXBzOlsidmFsdWUiLCJiYXNlIiwia2V5Il19XX19LHtwbTphPT5gQ2Fubm90IGNhbGwgJyR7YS5rZXl9J2AsSmo6e1R5cGVFcnJvcjpbe3JlZ2V4cDovKD86KFteIF0rKT9cLik/KFteIF0rKSBpcyBub3QgYSBmdW5jdGlvbi8sZ3JvdXBzOlsiYmFzZSIsImtleSJdfSx7cmVnZXhwOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLywKZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovT2JqZWN0ICguKikgaGFzIG5vIG1ldGhvZCAnKFteIF0rKScvLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3JlZ2V4cDovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovXHUzMGFhXHUzMGQ2XHUzMGI4XHUzMGE3XHUzMGFmXHUzMGM4XHUzMDZmICcoW14nXSspJyBcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTNcdTMwN2VcdTMwNWZcdTMwNmZcdTMwZTFcdTMwYmRcdTMwYzNcdTMwYzlcdTMwOTJcdTMwYjVcdTMwZGRcdTMwZmNcdTMwYzhcdTMwNTdcdTMwNjZcdTMwNDRcdTMwN2VcdTMwNWJcdTMwOTMvLGdyb3VwczpbImtleSJdfSx7cmVnZXhwOi9cdWFjMWNcdWNjYjRcdWFjMDAgJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc3NFx1YjA5OCBcdWJhNTRcdWMxMWNcdWI0ZGNcdWI5N2MgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJrZXkiXX1dfX0se3BtOmE9PmAke2Eua2V5fSBpcyBub3QgZGVmaW5lZGAsSmo6e1JlZmVyZW5jZUVycm9yOlt7cmVnZXhwOi8oLiopIGlzIG5vdCBkZWZpbmVkLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgQW89e2xlOltdLFNkOlt7Y2FsbGJhY2s6dm8sd2VpZ2h0OjUwMH0se2NhbGxiYWNrOndvLHdlaWdodDo1MDB9XX07dmFyIHlvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5TZD1bXTt0aGlzLmxlPVtdfX0seG87Xy5WcD1uZXcgXy50aDt2YXIgdnA9W107Xy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZEdlbFBheWxvYWRzIixmdW5jdGlvbigpe3JldHVybiB2cH0pO3ZhciBQbz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e307dGhpcy5qPXt9fXN0b3JlUGF5bG9hZChhLGIpe2E9SW8oYSk7dGhpcy5zdG9yZVthXT90aGlzLnN0b3JlW2FdLnB1c2goYik6KHRoaXMuaj17fSx0aGlzLnN0b3JlW2FdPVtiXSk7Xy54KCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmKGI9bmV3IEN1c3RvbUV2ZW50KCJUUkFOU1BPUlRJTkdfTkVXX0VWRU5UIiksd2luZG93LmRpc3BhdGNoRXZlbnQoYikpO3JldHVybiBhfXNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXtpZighYS5rZXlzLmxlbmd0aClyZXR1cm5bXTt2YXIgYj1Lbyh0aGlzLGEua2V5cy5zcGxpY2UoMCwxKVswXSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl0aGlzLnN0b3JlW2JbZF1dJiZhLnNpemVMaW1pdCYmKHRoaXMuc3RvcmVbYltkXV0ubGVuZ3RoPD1hLnNpemVMaW1pdD8oYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0pLGRlbGV0ZSB0aGlzLnN0b3JlW2JbZF1dKToKYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0uc3BsaWNlKDAsYS5zaXplTGltaXQpKSk7YT8uc2l6ZUxpbWl0JiZjLmxlbmd0aDxhPy5zaXplTGltaXQmJihhLnNpemVMaW1pdC09Yy5sZW5ndGgsYy5wdXNoKC4uLnRoaXMuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKGEpKSk7cmV0dXJuIGN9ZXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXthPUtvKHRoaXMsYSk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspdGhpcy5zdG9yZVthW2NdXSYmKGIucHVzaCguLi50aGlzLnN0b3JlW2FbY11dKSxkZWxldGUgdGhpcy5zdG9yZVthW2NdXSk7cmV0dXJuIGJ9Z2V0U2VxdWVuY2VDb3VudChhKXthPUtvKHRoaXMsYSk7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliKz10aGlzLnN0b3JlW2FbY11dPy5sZW5ndGh8fDA7cmV0dXJuIGJ9fTtQby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudD1Qby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudDsKUG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM9UG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM7UG8ucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcz1Qby5wcm90b3R5cGUuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzO1BvLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ9UG8ucHJvdG90eXBlLnN0b3JlUGF5bG9hZDt2YXIgeXA9bmV3IF8uVnMoIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UiKTt2YXIgbnA9Xy5zaigiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCIsMkUzKSxscD1fLnNqKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCksb3A9Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIiw1KSxObz12b2lkIDAsTW89bnVsbCxZcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj10aGlzLm89dGhpcy52PTA7dGhpcy5qPSExfX0sQXA9bmV3IFlzLHpwPW5ldyBZcyxrcD1uZXcgWXMsanA9bmV3IFlzLGNwLG1wPSEwLGdwPV8udS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O18ucmEoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZ3ApO3ZhciBYbz17fTt2YXIgQnA9Xy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsQnApO3ZhciBRcD1uZXcgU2V0LEtwPTAsWHA9MCxXcD0wLE1wPVtdLExwPVtdLFpwPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO3ZhciBacz17YV9iaWRfZjo0ODIsYV9iaWRfczo0ODEsYWE6MixhYWNpOjQzMyxhYWNyOjQzNCxhYl9yOjExLGFiX3M6MTAsYWJjOjU3OSxhYzoxOTMsYWNjOjUxMSxhY2k6NTEyLGFkXzBfZToxMyxhZF8wX3M6MTIsYWRfYmw6MTQsYWRfaToxNSxhZF9tYnM6MTYsYWRfcHI6NTYyLGFkX3ZpOjE3LGFkX3ZpcjoxOCxhZGE6MTk0LGFkYmNfZjo1NzYsYWRjOjE5NSxhZGZsX2Y6MTksYWRmbF9zOjIwLGFkbDoxOTYsYWRuczoxOTcsYWRzX2U6MjIsYWRzX3M6MjEsYWZiOjUxMyxhZmM6MTk4LGFmbDoxOTksYWZ0OjEsYWhiOjUxNCxhaToyMDAsYWlzX2E6NTAzLGFpc19yOjUwMixhaXNmOjIzLGFpc2k6MjQsYWlzcjoyNSxhaXNzOjI2LGFtbDoyMDEsYXBhX2E6MjAzLGFwYV9iOjIwMixhcGJzOjIwNCxhcHBfbDozLGFwcF9zaTo2MTIsYXBwX3NpZTo2NjEsYXBwZGVsX2k6MjcsYXBwaV9lOjYxNixhcHBpX3M6NjE1LGFwcjoyMDUsYXByZXM6NDM2LGFwc3VzOjQzNSxhcjoyMDYsYXI0MGs6MjgsCmFyYl9mOjUwNCxhcmM6MjA3LGFyZXE6MjA4LGFyZmI6MjksYXJpOjQsYXJyOjIwOSxhcnJoOjMwLGFzY2U6Nzg4LGFzY2Y6Nzg5LGFzY3M6Nzg3LGFzaXNmYjozMSxhc2lzcjozMixhc2lzcmg6MzMsYXNpc3M6MzQsYXNyOjIxMCxhc3luY19vcmNoX3RfYWN0OjcxMixhc3luY19vcmNoX3Rfbm90aWZ5OjcxMSxhdHJyOjUxNSxhdHJzOjUxNixhdHRfZToyMTEsYXR0X2Y6MjEyLGF0dF9mYzo3OTcsYXR0X2Zycjo3OTYsYXR0X2ZzOjc5MyxhdHRfZnNyOjc5NSxhdHRfcG5hOjc5NCxhdHRfczoyMTMsYXR0X3diOjIxNCxhd2ZsX2Y6NTU3LGF3Zmxfczo1NTgsYmFzZV9qc19yOjQ0MSxiY3A6MjE1LGJmOjIxNixiZ19lOjIxNyxiZ19pOjIxOCxiZ19sOjIyMCxiZ19zOjIyMSxiZ192OjIxOSxicGRfYzo0ODQsYnBkX3M6NDgzLGJwdDoyMjMsYnJfZTozNyxicl9sZDozOCxicl9scnByOjM5LGJyX2xycjo0MCxicl9sd206NTc3LGJyX3I6NDEsYnJfczo0MixicmVyOjM1LGJyZXM6MzYsYnJucjo0MywKYnJuczo0NCxicnBlOjQ1LGJycHM6NDYsYnJyX2U6NDcsYnJyX2k6NDgsYnJyX2l1czo0OSxiczoyMjIsY19jOjUwLGNfY3M6NTEsY19jc2ZzOjUyLGNfZDo1MyxjX2xhZjo1OSxjX2xhczo1OCxjX3JuZjo0MzgsY19ybnM6NDM3LGNjOjQ2NyxjY19jOjU0LGNjX2NmOjU2LGNjX2NzYWxhOjU1LGNjX2xhOjU3LGNmZzoyMjQsY2hsczoyMjUsY2hwczoyMjYsY2w6NDgwLGNtYzoyMjcsY21kX2g6NjI5LGNtaGw6MjI5LGNtaToyMjgsY21sOjIzMCxjbXA6Nzc5LGNtdjoyMzEsY3B0OjIzMixjcjozNjQsY3JfZXJyOjY2OSxjcl9yOjY3MCxjcl9zOjY2OCxjc2w6MjMzLGNzcl90OjYzMSxjdDo1LGN0X2xpOjYwLGRfbDo2MSxkX2xhZjo2MixkX2xhcjo2MyxkX2xhczo2NCxkX2xmOjY1LGRfbHM6NjYsZF9sdzo2NyxkX2x3Zjo2OCxkX2x3czo2OSxkYXNfYzozNjYsZGFzX3M6MzY1LGRjcDoyMzQsZGdfcGJfYzoyMzYsZGdfcGJfcjoyMzcsZGdfcGJfczoyMzUsZGhpYzoyMzgsZGw6MjM5LGRuc186MjQwLApkcm1fZ2tfZjozODgsZHJtX2drX3M6Mzg3LGRybV9rcl9yOjM5Mixkcm1fa3JfczozOTEsZHJtX25ldF9yOjM5MCxkcm1fbmV0X3M6Mzg5LGRybV9wYl9mOjM4Nixkcm1fcGJfczozODUsZHNfYWM6NzM2LGRzX2FzOjczNSxkc19jbGM6NzQwLGRzX2NzOjczNyxkc19kYzo3MzksZHNfZHM6NzM4LGVtcGE6NDMyLGVtcHU6NDMxLGVucF9lcnI6Njg1LGVucF9maTo2ODQsZW5wX3N0OjY4Myxlb3ByX3I6NjczLGVwX2FfcHJfcjo1MzIsZXBfYV9wcl9zOjUzMSxlcF9oYXZfZW5kOjUyNixlcF9oYXZfc3RhcnQ6NTI1LGVwX2luaXRfYXI6Njk5LGVwX2luaXRfY3VlOjYzNSxlcF9pbml0X2N1czo2MzQsZXBfaW5pdF9lcGU6NjM3LGVwX2luaXRfZXBzOjYzNixlcF9pbml0X2lqZTo2MzksZXBfaW5pdF9panM6NjM4LGVwX2luaXRfcHI6NTI3LGVwX2luaXRfcmU6NjQxLGVwX2luaXRfcnM6NjQwLGVwX2luaXRfd2VlOjY0MyxlcF9pbml0X3dlczo2NDIsZXBfbWFfcmVwcjo1NDMsZXBfbWFfcnI6NTMzLAplcF9tYV9zZXByOjU0MixlcF9tYV9zcHI6NTM0LGVwX3BfbDo1MzAsZXBfcHJfcjo1MjksZXBfcHJfczo1MjgsZXBfcl9wcmVfcjo1NDEsZXBfcl9ycjo1MzUsZXBfcl9zbWFyOjUzNixlcF9yZWNfZW5kOjUzOCxlcF9yZWNfc3RhcnQ6NTM3LGVwX3JlcHNfZW5kOjU0MCxlcF9yZXBzX3N0YXJ0OjUzOSxlcGU6NjE4LGVwczo2MTcsZXJfY2w6NjUzLGVyX25zOjY1Mixlcl9wZTo2NTAsZXJfcHM6NjQ5LGVyX3M6NjQ4LGVyX3NfbnI6NzkwLGVyX3NfbnM6Nzg0LGVyX3Q6NjUxLGZhYl9yOjI0NixmY2Jfcjo1MDYsZmlyZTo3MCxmaXJzOjcxLGZtdGg6MjQxLGZvb3RfanM6MjQyLGZwdDoyNDMsZnJfczo1NjEsZnM6MjQ0LGZzYzoyNDUsZnNzYjBfYTo3NSxmc3NiMF9mcjo3NCxmc3NiMF9ucjo3Myxmc3NiMF9uczo3MixmdF86NDM5LGZ0bDo3LGZ0cjo0NzUsZnZiX3I6MjQ3LGZ2ZjoyNDgsZnlkX2dmOjc2NyxmeWRfZ3M6NzY2LGdjYzoyNDksZ2NmbDoyNTAsZ2Nzcjo3NixnZXBfZXJyOjgwMCwKZ2VwX3JlcTo3OTgsZ2VwX3Jlczo3OTksZ2dzcjo3NyxnaXdhX2E6NjI3LGdpd2FfZDo2MjgsZ2xjOjU5MyxnbGU6MjUxLGdsczoyNTIsZ3BlOjI1MyxncmM6MjU0LGdyaXdfbnI6Nzg2LGdyaXdfbnM6Nzg1LGdzX3I6NzM0LGdzX3M6NzMzLGdzbWQ6NTg2LGd1X3I6NjIwLGd2OjQ4NSxnd19haWVyOjc3MSxnd19hcmY6NzcyLGd3X2FybmFmOjc3NSxnd19hcm5uYWY6Nzc2LGd3X2FybnM6Nzc3LGd3X2FybnN1Ojc3OCxnd19hcnM6Nzc0LGd3X2Fyc3U6NzczLGd3X21hYWY6NjMzLGd3X21hYXM6NjMyLGhiZmc6Njc3LGhnY3I6MjU1LGhyOjI1NixocmU6MzYzLGhyczozNjIsaHM6MzczLGh0bWxfZmJfcjo3NTUsaHRtbF9mZTo3NDgsaHRtbF9mczo3NDcsaHRtbF9md2U6NzUyLGh0bWxfZndzOjc1MSxodG1sX2pjZTo3NTQsaHRtbF9qY3M6NzUzLGh0bWxfbGJfcjo3NTYsaHRtbF9zZTo3NTAsaHRtbF9zczo3NDksaV9ycDo0NzcsaV9ycTo0NzYsaXBfczo2NDYsaXBjOjI1NyxpcHM6MjU4LAppc21wX2E6ODM2LGlzbXBfYzo4MzgsaXNtcF9kOjgzOSxpc21wX2k6ODM1LGlzbXBfcDo4NDAsaXNtcF9yYzo4MzcsaXRfZ3A6NzgsaXZfczo1MDUsanNwOjI1OSxqc3I6MjYwLGtZVExhdGVuY3lNREVQcm9kdWN0U3RpY2tlckVkaXRvckNhbmNlbGxlZDo4MDEsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yRmluaXNoZWQ6ODAyLGwyczoyNjEsbGNfZnJyOjY2MCxsY19zX3M6NjU5LGxjX3NfdTo2NTgsbGNwOjI2MixsZF9zOjQ0MCxsaW06MjYzLGxwY2Y6MjY0LGxwY3M6MjY1LGxwczoyNjYsbHNfYzozNjgsbHNfczozNjcsbHNzOjI2NyxsdjoyNjgsbWFfY2w6NTUxLG1hX2Zmcjo1NTIsbWFfZnVhOjU1NCxtYV9ncjo1NTMsbWFfaWw6NTczLG1haW46NzksbWFpbl9qc19yOjQ0MixtYWluX2pzX3JxOjQ0MyxtYl9zOjUwNyxtYmFwX2M6Mzg0LG1iY19hbGM6NzMyLG1iY19hc2w6NzMxLG1iY19jOjM3NSxtYmNfczozNzQsbWJnY2hpZF9ycjo3NDQsbWJnY2hpZF9yczo3NDYsCm1iZ3JfcmY6NjU3LG1iZ3JfcnI6Mzc5LG1iZ3JfcnM6Mzc4LG1ibGNfYzozNzcsbWJsY19zOjM3NixtYmxjaGlkX2M6NzQ1LG1ibGNoaWRfczo3NDMsbWJsY3JpZF9jOjc0MixtYmxjcmlkX3M6NzQxLG1ic19jOjM4MSxtYnNfcnI6MzgzLG1ic19yczozODIsbWJzX3M6MzgwLG1keF9jY3A6ODAsbWR4X2Njczo4MSxtZHhfY2NzdDo4MixtZHhfY3I6ODMsbWR4X2NzOjg0LG1keF9sczo4NSxtZHhfb2ZmOjg2LG1keF9zYzo4NyxtZV9iOjU1NSxtZV9jOjY4NyxtZV9mOjU1NixtZV9mYTo2ODgsbWVzdl9zOjUwOSxtbV9pZTo3MjAsbW1faXM6NzE5LG1yYzoyNjksbXJzOjI3MCxtc2E6MjcxLG1zdGk6ODgsbXN0cjo4OSxuX2N0OjcwMixuX3NyOjY5NyxuX3N3OjY5OCwibmNbMC05XSI6MjcyLG5jbDoyNzMsbmN0OjI3NCxuZDoyNzUsbmRuc2U6Mjc2LG5kbnNzOjI3NywibnBbMC05XSI6Mjc4LG5yOjI3OSxucmU6MjgwLG5yZXFzOjI4MSxucmVzZToyODIsbnJlc3M6MjgzLG5ycnBzOjkwLApucnM6Mjg0LG5zdGNwczoyODUsbnRjcGU6Mjg2LG50Y3BzOjI4Nyxud3A6Mjg4LG9hZDJzOjQyNSxvYWZzX3I6NDA3LG9hZnNfcnA6NDA5LG9haXNyOjQwNSxvYXIyczo0MTIsb2FycDJzOjQyNyxvY3NpX3o6OTEsb2N0azo2MjEsb2N0cDo2MjIsb2ZhcnA6NDIzLG9mZG86NDAwLG9mZG9zOjM5OCxvZnI6NDE3LG9mdnJwOjQyNCxvZ3NmX2M6Mzk1LG9nc2ZfczozOTQsb2hyX3I6NzY1LG9ocl9zOjc2NCxvbDo2LG9sX2k6OCxvbG9jX2U6ODMwLG9sb2Nfc2E6ODI5LG9sb2Nfc3M6ODI4LG9tZF9jOjQyMixvbWRfczo0MjEsb21wX2M6NDE5LG9tcF9yOjQxOCxvcGZjOjY4MCxvcHJfcjo0MTQsb3ByZF9zOjQxNSxvcHJnejJfZTo4NDIsb3ByZ3oyX2Y6ODQzLG9wcmd6Ml9zOjg0MSxvcHJnel9zOjY4OSxvcHJyOjQxNixvcjEwMGs6NDExLG9yX2ZlOjQyOSxvcl9mczo0MzAsb3JfaTozOTMsb3JfcDozOTcsb3JjaF9yX2Q6Njk0LG9yY2hfcl9zOjY5NSxvcmNoX3RfcG1kOjc3MCxvcmNoX3RfcG1zOjc2OSwKb3JjaF90X3RjZWQ6NzA4LG9yY2hfdF90Y2VzOjcwNSxvcmNoX3RfdGQ6NjkyLG9yY2hfdF90bWQ6ODA0LG9yY2hfdF90bXM6ODAzLG9yY2hfdF91ZDo2OTMsb3JjaF90X3VzOjY5NixvcmZiOjQwNCxvcmhfcjo0MDMsb3Jtazo0MjAsb3JxcGJfYTo4MzEsb3JxcGJfZTo4MzQsb3JxcGJfczo4MzIsb3JxcGJfdzo4MzMsb3Nkbzo0MDEsb3Nkb2Y6NDAyLG9zZG9zOjM5OSxvc29yOjM5NixvdmQyczo0MjYsb3Zmc19yOjQwOCxvdmZzX3JwOjQxMCxvdmlzcjo0MDYsb3ZyMnM6NDEzLG92cnAyczo0MjgscGFjOjI4OSxwYXJpOjUxNyxwYXQ6MjkwLHBiMF9zOjYxMSxwYl9ycV9hdXRoejo0NDYscGJfcnFfY3R0X2NmbTo0NDcscGJjX2U6NjYzLHBiY19zOjY2MixwYmZfYzo5MixwYnA6NDg2LHBicmVzdW1lOjI5MixwYnM6NDg3LHBidToyOTMscGM6NDg4LHBjYzo1NDYscGNlOjU0NyxwY3E6NTQ0LHBjcjo1NDUscGN1X2FwOjgwOSxwY3VfY2U6NTgxLHBjdV9jczo1ODAscGN1X3JlOjgwOCxwY3VfcnM6ODA3LApwY3Vfczo4MDUscGN1X3NlOjgwNixwZGE6Mjk0LHBkYzoyOTUscGRyOjI5NixwZToyOTcscGVtX3I6NDQ0LHBlbV9ycTo0NDUscGZqZTozMDkscGZycjozMDUscGZyczozMDYscGZzOjMwNyxwZnQ6MzA4LHBmdF9pOjkzLHBsX2M6MjkxLHBsX2k6NDg5LHBsX2ludDo0OTAscGxfcjo0OTEscGxfcmM6NzAzLHBsX3M6NDkyLHBsX3NzOjQ5MyxwbGV2OjMxMCxwbGpzX3I6NDQ4LHBsanNfcnE6NDQ5LHBsdnM6NzIzLHBvdF9hZjo5Nyxwb3RfYXM6OTYscG90X2NtZTo1NjkscG90X2NtZjoyOTkscG90X2NtczoyOTgscG90X2NzbWU6NTcwLHBvdF9jc21mOjMwMSxwb3RfY3NtczozMDAscG90X2lmOjMwNCxwb3RfaW5pdGY6OTUscG90X2lzYzozMDIscG90X2lzdDozMDMscG90X3NlOjU2NSxwb3Rfc2Y6NTY0LHBvdF9zczo1NjMscG90X3hlOjU2OCxwb3RfeGY6NTY3LHBvdF94czo1NjYscG90cGU6OTQscHB1Ojk4LHByb2Nfazo2MTMscHJvY19rX2w6NjE0LHBzOjMxMSxwc19iczo2NDcscHNfYzo0OTQsCnBzX2VzOjk5LHBzX3BhOjY4MSxwc19waWhmOjU5Nyxwc19waWhzOjU5Nixwc19yOjM2MCxwc19zOjM2MSxwc19zZ2Y6NTk1LHBzX3Nnczo1OTQscHNucjo0OTUscHNuczo0OTYscHNwZToxMDAscHNwczoxMDEscHRfbWU6ODE1LHB0X21mOjgxNCxwdF9tczo4MTMscHRfcGllOjgxMixwdF9waWY6ODExLHB0X3Bpczo4MTAscHRfcGlzaDo2MDYscHZyaTo1MTgscHdjOjMxMixxb2VzOjMxMyxyX2Nfc2xkOjQ1MCxyX2Nfc3JxOjQ1MSxyX2Nvbm5lY3RfYmFja2VuZDo0NTIscl9jb25uZWN0X2JhY2tlbmRfc3VjY2Vzczo0NTMscl9jb25uZWN0ZWQ6NDU0LHJfY29uc3RydWN0aW9uOjQ1NSxyX2Rpc2Nvbm5lY3RlZDo0NTYscl9lYmk6NjY0LHJfZW9kOjU4NSxyX2Y6NDU3LHJfb3I6NzEzLHJfcGw6MTA1LHJfcHM6MTA2LHJfcnFfcGx5OjQ1OCxyX3NfcGx5bHN0OjQ1OSxyX3NfdmlkOjQ2MCxyX3N0YXR1c191cGRhdGU6NDYxLHJfdHI6MTA3LHJfdnRjOjEwNCxyX3dpcGJjOjU4NCxyX3ducjo3OTIsCnJfd25zOjc5MSxyX3dycjoxMDMscl93cnM6MTAyLHJfd3NycDo2MDkscl93c3JyOjYwOCxyX3dzcnM6NjA3LHJjdl86MzE0LHJlbW92ZV9zcGxhc2g6NDYyLHJlcV86MzE1LHJmZzozMTYscmdyX25yZjo2MDAscmdyX3M6NTk5LHJwZTo4MTYscnBseV9ycWQ6NDYzLHJwczo4MTcscnNfczo1MDgscnNhZV9wYzozMzIscnNhZV9wZWo6MzM0LHJzYWVfcGo6MzMzLHJzYmVfcGM6MzIzLHJzYmVfcGVqOjMyNSxyc2JlX3BqOjMyNCxyc2VfcGM6MzIwLHJzZV9wZWo6MzIyLHJzZV9wajozMjEscnNlZl9wYzozMjkscnNlZl9wZWo6MzMxLHJzZWZfcGo6MzMwLHJzZXNfcGM6MzI2LHJzZXNfcGVqOjMyOCxyc2VzX3BqOjMyNyxyc2ZfcGM6MzE3LHJzZl9wZWo6MzE5LHJzZl9wajozMTgscnRpbWVfOjMzNSxydXJsX2U6MTA4LHJ1cmxfcjoxMDkscnVybF9zOjExMCxydXJscGU6MTExLHJ1cmxwczoxMTIsczN0X3I6NDcyLHNhX2Y6NjI0LHNhX2ZvOjYyNSxzYV9zOjYyMyxzYWZfZnA6NjY1LHNhZl9yOjY2NiwKc2FmX3JlOjY2NyxzYXNfaTo2MjYsc2NnYXRfZmZzOjU2MCxzY2dhdF9mczo1NTksc2RhX2Y6NjA1LHNkYV9pOjYwNCxzZGFfcmVjcDo2MDEsc2RhX3JzcHA6NjAzLHNkYV9yc3ByOjYwMixzZGxfZTo2NTUsc2RsX3M6NjU0LHNkbF90OjY1NixzZl9pOjExMyxzZ3NjX3I6NzgxLHNnc2Nfczo3ODAsc2hvd19jYWxsX3RvX2Nhc3Q6NDY0LHNocmJfYzoxNjUsc2hyb19jOjE3MCxzaHJvX3I6MTY3LHNocnBfYzoxNjksc2hycF9sZDoxNjYsc2hycF9wOjE2OCxzb19yOjExOSxzb19yZToxMTgsc29fcnE6MTIwLHNwYToxMTQsc3BkOjExNSxzcGY6MTE2LHNwbnJfaDo2NzIsc3Bucl9zOjY3MSxzcHI6Njc4LHNyX2U6MTE3LHNyX3A6MTIxLHNyX3BhOjEyMixzcl9yOjEyMyxzcl9yZToxMjQsc3JfczoxMjUsc3JfdWk6MTI2LHNydDozMzYsc3Nfcjo0Njksc3Nfczo0Njgsc3Nfc2Zfczo3MjQsc3Nfc2Zfdzo3MjUsc3NucjoxMjcsc3NuczoxMjgsc3RjcF86MzM3LHN0ZV9hbGY6NTg5LHN0ZV9jOjU5MiwKc3RlX2VsZjo1OTAsc3RlX2Y6NTkxLHN0ZV9mdGw6NTg4LHN0ZV9sOjU4NyxzdHRzX2I6NTgyLHN0dHNfZjo1ODMsc3R2c19mOjY5MSxzdHZzX3M6NjkwLHN2ZTo0NjYsc3ZzOjQ2NSxzd19mYjo1MTAsc3dfaTo3ODMsc3dfcjo0OTcsc3dfczo0OTgsc3dzbnI6ODE5LHN3c25zOjgxOCxzd3NwZTo4MjEsc3dzcHM6ODIwLHRjcF86MzM4LHRlbnhfbDo0NzEsdGVueF9yOjQ3MCx0aDBfaDo2MTAsdGgwX25jOjY3NSx0aDBfbmU6Njc2LHRoMF9ucjoxMjksdGgwX25zOjY3NCx0aF9jXzE6NzA5LHRoX2RfMTo3MTAsdGhfbF8xOjEzMCx0aF9zXzE6NTc4LHRoc2IwX2ZyOjEzNCx0aHNiMF9uZToxMzEsdGhzYjBfbnI6MTMyLHRoc2IwX25zOjEzMyx0dGM6MzM5LHR0Y3I6MzQwLHVpX2w6MTM1LHVpYmZfYzoxNDEsdWliZl9yOjE0Myx1aWJmX3M6MTQyLHVpc2ZfcjoxNDQsdWl3d2FfYmM6NjE5LHVpd3dhX2M6MTM2LHVpd3dhX2U6MTQwLHVpd3dhX3ByOjEzOSx1aXd3YV9yOjEzOCx1aXd3YV9zOjEzNywKdWxyc19jOjM3MCx1bHJzX3M6MzY5LHVua25vd246MCx1cjozNDEsdmM6NjgyLHZjYzo1MTksdmNpOjUyMCx2ZGE6MzQyLHZkZXVjOjM0Myx2ZGV1cjozNDQsdmRldXM6MzQ1LHZkbnM6MzQ2LHZmYjo1MjEsdmZwOjM0Nyx2aGI6NTIyLHZpcjozNDgsdmlyYzozNDksdmlzX2E6NTAwLHZpc19yOjQ5OSx2aXNmOjE0NSx2aXNpOjE0Nix2aXNyOjE0Nyx2aXNzOjE0OCx2b3pfY3g6MTc5LHZvel9lb3U6MTg3LHZvel9lcnI6MTg0LHZvel9lcnJfbXM6MTgwLHZvel9lcnJfbm1wOjE4MSx2b3pfZXJyX29mZjoxODMsdm96X2Vycl91YXI6MTgyLHZvel9mdHI6MTg4LHZvel9mdmM6MTg5LHZvel9scl9sc286MTg1LHZvel9scl9tZDoxODYsdm96X21mOjE3Mix2b3pfbXM6MTcxLHZvel9ycWY6MTc0LHZvel9ycXM6MTczLHZvel9zZjoxNzgsdm96X3NzOjE3Nyx2b3pfdnA6MTc1LHZvel92dDoxNzYsdnBsOjM1MCx2cjozNTEsdnIxMDBrOjE0OSx2cmJfZjo1MDEsdnJjOjM1Mix2cmVxOjM1Myx2cmZiOjE1MCwKdnJpOjksdnJyOjM1NCx2cnJfcjo0NzQsdnJyX3M6NDczLHZycmg6MTUxLHZzaXNmYjoxNTIsdnNpc3I6MTUzLHZzaXNyaDoxNTQsdnNpc3M6MTU1LHZ0YTozNTUsdnRycjo1MjMsdnRyczo1MjQsd19zdDoxNTYsd2FzbV9mYTo4MjYsd2FzbV9mZXJyOjgyNyx3YXNtX2Z3OjgyNSx3YXNtX3M6ODI0LHdjOjM3Mix3Y3I6MzU2LHdlYmZlX2U6NzI4LHdlYmZlX2dibV9yOjc1OCx3ZWJmZV9nYm1fczo3NTcsd2ViZmVfZ2xfcjo3NjIsd2ViZmVfZ2xfczo3NjEsd2ViZmVfZ3Nfcjo3NjAsd2ViZmVfZ3Nfczo3NTksd2ViZmVfZ3VzX3I6NzMwLHdlYmZlX2d1c19zOjcyOSx3ZWJmZV9ndm1fczo3NjMsd2ViZmVfczo3Mjcsd2ZmZTozNTcsd2ZmczozNTgsd2ZnOjM1OSx3bl9lOjE2Mix3bl9sOjM3MSx3bl9yOjE1OSx3bl9ycDo0Nzgsd25fczoxNjAsd25fc2w6MTYxLHdubDoxNTgsd25sX2Q6ODIzLHdubF9tcDo1NzEsd25sX3BkOjgyMix3bmxyOjU3Mix3bmxzOjE1Nyx3bnBlOjE2Myx3bnBzOjE2NCwKd3A6NDc5LHdzX2NlOjE5MCx3c19zczoxOTEsd3Nfc3NyOjE5Mix5Y2VjOjU0OSx5Y2VmOjU0OCx5Y2Z0cjo2NDUseWNpZjo1NTAseWNtc2Y6NjQ0LHljcmM6NzE4LHljcmY6NzE3LHljcnM6NzE0LHljcnNjOjcxNSx5Y3J1ZWE6NzE2fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsXy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fSk7dmFyIGJxPV8udS55dExvZ2dpbmdMYXRlbmN5VXNhZ2VTdGF0c198fHt9O18ucmEoInl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzXyIsYnEpOwp2YXIgJHA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9MH10aWNrKGEsYixjLGQpe2NxKHRoaXMsYHRpY2tfJHthfV8ke2J9YCl8fChjPXt0aW1lc3RhbXA6YyxjdHRBdXRoSW5mbzpkfSxiPXt0aWNrTmFtZTphLGNsaWVudEFjdGlvbk5vbmNlOmJ9LF8ueCgieW91dHViZV93ZWJfY3NpX3RpY2tzX21pZ3JhdGlvbiIpJiYoYT1ac1thXSxhIT09dm9pZCAwJiYoYi50aWNrPWEsZGVsZXRlIGIudGlja05hbWUpKSxfLkVwKCJsYXRlbmN5QWN0aW9uVGlja2VkIixiLGMpKX1pbmZvKGEsYixjKXt2YXIgZD1PYmplY3Qua2V5cyhhKS5qb2luKCIiKTtjcSh0aGlzLGBpbmZvXyR7ZH1fJHtifWApfHwoYT1PYmplY3QuYXNzaWduKHt9LGEpLGEuY2xpZW50QWN0aW9uTm9uY2U9YixfLkVwKCJsYXRlbmN5QWN0aW9uSW5mbyIsYSx7Y3R0QXV0aEluZm86Y30pKX1qc3BiSW5mbygpe31zcGFuKGEsYixjLGQpe3ZhciBlPU9iamVjdC5rZXlzKGEpLmpvaW4oIiIpO2lmKGR8fCFjcSh0aGlzLGBzcGFuXyR7ZX1fJHtifWApKWEuY2xpZW50QWN0aW9uTm9uY2U9CmIsXy5FcCgibGF0ZW5jeUFjdGlvblNwYW4iLGEse2N0dEF1dGhJbmZvOmN9KX19O3ZhciAkcyxhdDskcz13aW5kb3c7YXQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWluZz17fTt0aGlzLmNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1zQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9O3RoaXMub0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fX19O18uc3E9JHMucGVyZm9ybWFuY2V8fCRzLm1velBlcmZvcm1hbmNlfHwkcy5tc1BlcmZvcm1hbmNlfHwkcy53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IGF0O3ZhciBscT1fLkZuKCk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Um9vdFZlVHlwZSIsXy5ncSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3VycmVudENzbiIsXy5pcSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3R0QXV0aEluZm8iLF8ua3EpO18ucmEoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLF8ubXEpO3ZhciB3cSxycTt3cT0hMTtycT0hMTtfLmJ0PSgwLF8uQ2EpKF8uc3EuY2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3Eud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubW96Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubXNDbGVhclJlc291cmNlVGltaW5nc3x8Xy5zcS5vQ2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uZ2QsXy5zcSk7dmFyIGR0OwpfLmN0PV8uVmkoZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7aWYoIV8ueCgid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCIpfHwhXy5rbyhmKS5hY3Rpb25EaXNhYmxlZCl7dmFyIGs9aD8uc3BhblN0YXR1cyxsPWg/LnJvb3RTcGFuTm9uY2U7bGV0IG09Xy5ubyhmKTttLmdlbFNwYW5zP20uZ2VsU3BhbnNbYV09ITA6bS5nZWxTcGFucz17W2FdOiEwfTtYcysrO2E9e3NwYW5OYW1lOmEsc3Bhbkxlbmd0aFVzZWM6U3RyaW5nKE1hdGgucm91bmQoYioxRTMpKSxzcGFuTm9uY2U6WHMscm9vdFNwYW5Ob25jZTpsfHxYc307ayYmKGEuc3BhblN0YXR1cz1rKTtkJiYoYS5zcGFuSW5mbz1kKTtlJiYoYS5wYXJlbnRTcGFuTm9uY2U9ZSk7YyYmKGEuc3BhblN0YXJ0VGltZVVzZWM9U3RyaW5nKE1hdGgucm91bmQoYyoxRTMpKSk7Yz1hO18udW8oZnx8IiIpLnNwYW5bU3RyaW5nKGMuc3Bhbk5hbWUpXT1jO2Q9Xy5ubyhmKTtkLmdlbFNwYW5zfHwoZC5nZWxTcGFucz17fSk7Xy55bihkLmdlbFNwYW5zLGMpOwpkPV8ucG8oZik7Zj1fLmtvKGYpLmN0dEF1dGhJbmZvO2FxKCkuc3BhbihjLGQsZixoPy5xdSk7cmV0dXJuIGMuc3Bhbk5vbmNlfX0pO2R0PXdpbmRvdztkdC55dGNzaSYmKGR0Lnl0Y3NpLmluZm9HZWw9Xy56cSxkdC55dGNzaS50aWNrPV8uQXEpO3ZhciBldDtldD1uZXcgXy5jcztfLmZ0PWV0LnByb21pc2U7KGZ1bmN0aW9uKGEpe18uQXEoIm1tX2lzIik7dmFyIGI9bmV3ICRyO18uVWQoYik7Xy54KCJ3ZWJfZW5hYmxlX2xhenlfY3NzIikmJihuZXcgUHIpLmluaXQoKTtiLmVuKCgpPT57ZmgoKTtfLkFxKCJtbV9pZSIpO2E/LigpfSk7Yi5abihRZy5FUlJPUiwoYyxkLGUpPT57Xy5VaShFcnJvcigiSGFgIitkKyJgIitlKSl9KX0pKCgpPT57ZXQucmVzb2x2ZSgpfSk7Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZT1mdW5jdGlvbihhLGIpe2lmKCFfLlFkKXtpZighXy5UZClyZXR1cm47Xy5VZChfLlRkKCkpfV8uUWQuVGgoYSxiKX07Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZSgncm9vdC9zeTAvbjczcXdmOjEvc3kxL3N5MjozL2l1VDVPYzo0L3N5My9VVUpxVmU6MSw2L3N5NS9zeTQ6OC9NcEp3WmM6MSw2LDkvc3k2L3N5Nzo4L3N5ODpjL3N5Yy9zeWc6YixlL3N5aDpmL3N5YS9zeTFmL3N5M2M6aS9zeTNxOmkvc3k1YS9zeTU2L3N5NTgvc3k1YjpqLGssbCxtLG4vc3k1OTpqLG0sbi9zeTNkL3N5OTozLGMsZyxoL3N5ay9zeTU3L3N5YjpzL3N5ZDo4LGUvc3k1YzpqLGwsbSxuL3N5NWU6ayxxLHcvc3llL3N5Zi9zeWkvc3lqL3N5bC9zeW0vc3kxaC9zeTFlL3N5MWw6MTUvc3kzODoxNCwxNi9zeXA6MSw5LGMvc3l1OmMvc3lzOmQsMTgsMTkvc3kxaS9zeTJkL3N5Mms6MWEvc3kyajoxZC9zeTJ3OjFhL3N5MTkvc3kxcC9zeTIxL3N5Mm0vc3kybjoxai9zeTFiL3N5MXovc3kydS9zeTFrOmMsdiwxaCwxaSwxaywxbCwxbSwxbi9zeTJsL3N5MXU6MWcsMW4vc3kzMS9zeXY6Yy9zeTEwOjE4L3N5ejoxdC9zeXk6MWEvc3kzNjpjL3N5M2Y6Yy9zeTFtOmIsMWYsMXEsMXIsMXMsMXUsMXYsMXcsMXgvc3kyci9zeTNlL3N5M2E6aC9zeTEyOjFhL3N5M2c6MXUvc3kzaDoxOS9zeTFxOmcsaixxLDFvLDFwLDF5LDF6LDIwLDIxLDIyLDIzLDI0L3N5M2k6MXovc3kzbToxZS9zeTQzOjFlL3N5NDQ6MWUvc3k0ZjoxZS9zeTQ3OjFlL3N5NGc6MWUvc3k0aC9zeTRpOjE5L3N5eDoxYS9zeXQ6MWEvc3lyOjJnL3N5MTg6MWQsMXMsMmYsMmgvc3kyby9zeTMyL3N5M2I6MTksMW8sMXUvc3l3OjE4L3N5MTc6MjEsMm0vc3kzay9zeTFuOjFvLDFzLDJoLDJuLDJvL3N5M2o6MXcsMmssMmwsMnAvc3kxdi9zeTF5L3N5MnM6MTYvc3kyei9zeTFkL3N5M3Q6MTkvc3k0ajpqLGsscSwxZiwxdSwxdywxeCwyaywydi9zeTRkOmMsMWIvc3k0azoxOCwxcy9zeTQxOmMvc3k0MjoxOSwzMC9zeTJjOjExLDI1LDI2LDI3LDI4LDI5LDJhLDJiLDJjLDJkLDJlLDJpLDJqLDJxLDJyLDJzLDJ0LDJ1LDJ3LDJ4LDJ5LDJ6LDMxL3N5MWo6MTYvc3kyNDozMy9zeTRsOjE5LDMwL3N5MjM6MW8vc3kyNS9zeTJpOjE5LDM3L3N5NDYvc3k0cTozMiwzNiwzOCwzOS9zeW46MTcsMWMsMzQsMzUsM2Evc3kzMy9zeTJ2OjE4L3N5MWE6ayxtLHQsdSwyNSwyZiwybCwzYywzZC9zeTRuL3N5NG86M2Yvc3kzeC9zeTN6L3N5NHA6aixrLDFhLDFzLDF1LDF3LDF4LDNnLDNoLDNpL3N5Mjkvc3kzbDoxZS9zeTFvOjFtL3N5Mmg6M20vc3kxNDoxdCwyMi9zeTJmOmosayxxLDFzLDF3LDF4LDIzLDNvL3N5Mmcvc3kzcy9zeTQwOjFvL3N5M3Ivc3kzdS9zeTN2L3N5MWcvc3kzcC9zeTN3OmIsaiwxYSwxcywxdywxeCwyMywzaCwzdi9zeTN5OjFlL3N5M286MjUsMmksMmwsMncsM2ksM3AsM3IsM3QsM3UsM3csM3gsM3ksM3ovc3kxcjoyaywycywydCwzMSwzbiwzcSwzcyw0MC9zeTRzL3N5MnEvc3kyeS9zeTJ0OjFuLDNkL3N5NHUvc3k0dDoxZS9zeTI3OjFiLDF2LDF3LDNxLDQ2LDQ3L3N5MnA6MWUvc3kzbjoxZS9zeTQ1OjFlL3N5MjYvc3k0ODoxZS9zeTQ5OjFlL3N5NGEvc3k0Yjo0Zi9zeTRjOjNvLDRnL3N5Mjg6MjUsMjYsMjcsMmIsMmksMnAsMncsMnksNGMsNGQsNGUsNGgvc3k0ZToxZS9zeTJhOmssMjgsMnYsMzgsMzksNGEsNGIsNGksNGovc3kxdC9zeTRtOjE2L3N5MmI6MzIsMzUsMzgsMzksM28sNGwsNG0vc3kyZTozayw0MS9zeTIyL3N5MzAvc3k1MjoxOSwxcywyMy9zeTU0OjFhL3N5Mzcvc3kyMDoxaS9zeTM1OjFzLDF1LDF3LDJnL3N5MzQ6aywxbiwxeiwydCwzYyw0dCw0dSw0di9zeTE1OjF1L3N5cTp3LDEwLDNiLDNlLDNqLDNsLDQyLDQzLDQ0LDQ1LDQ4LDQ5LDRrLDRuLDRvLDRwLDRxLDRyLDRzLDR3LDR4L3N5NHcvc3lvOm8scCxyLDR5LDR6L3N5MTE6ZCwxOC9zeTEzOjF1LDIyLDUxL3N5MTY6Mm0vc3kxdy9zeTUxOjFmLDNwLDQ2LDRyLDR2L3N5Mngvc3kxeDo0eSw1NCw1NSw1Ni9zeTR2OmosayxxLDFhLDF3LDIzLDNyLDQ1LDR6L3N5Mzkvc3kxczo0cS9zeTR6OjFlL3N5NWQ6MWUvc3k1MDpqLHEsMXksMjgsMmEsMmIsMmksMmwsM28sNWEsNWIsNWMvc3k0cjoxZS9zeTR4OmssMW4sMXosNHYvc3k0eTpzLDJ1LDNjL3N5NTMvc3k1NToxOCwxcy9zeTFjOjQseCx5LDUwLDUyLDUzLDU3LDU4LDU5LDVkLDVlLDVmLDVnLDVoLDVpL3N5NWYvc3k1Zy9zeTVpL3N5NWsvc3k1bC9zeTVtL3N5NW4vc3k1bzoxOC9zeTVqL3N5NWg6NCx6LDUwLDU4LDVhLDVoLDVtLDVuLDVvLDVwLDVxLDVyLDVzL3N5NXA6NWosNXQvYmFzZTpkLHIsdSx2LHkseiwxMCwxMSwxMiwxMy9zeTVxL3N5NXIvc3k1czpjLGgvc3k1dDoybSwzbiwzbyw0eC9zeTdkL3N5NXU6MWwsMm8sNXIsNjAvc3k3cS9zeTZ0L3N5ODU6MTYvc3k4NDpqLDFyLDF3LDIzLDI4LDJpLDM1LDN0LDUzLDVpLDYzLDY0L3N5NXY6MTMsNTEsNjIsNjUvc3k2Yy9zeTZzOjQxL3N5ODY6MzUsNjQsNjgvc3k3bDpqLGsscSwxZSwxZiwxdSwxdywzbywzdSwzdi9zeTY3L3N5NXc6MzIsMzgsNDUsNXosNjYsNjcsNjksNmEsNmIvc3k1eC9zeTdlOjNkLDNtLDYwL3N5OHM6NmUvc3k5czoxZS9zeTV5OmYsaiwxaywxdywyMiwyMyw1YSw1biw2Ziw2Zy9zeTdyOjE0LDR0L3N5NmI6MnQsMzMvc3k1ejozNSwzZiwzayw0MSw0cCw2aSw2ai9zeTd6OjFlL3N5NjI6aC9zeThuOjFvLDFzL3N5NjA6MWIsMmQsMm4sNDEsNDYsNDcsNmwsNm0sNm4vc3k4bTpqLHEsMWcsMXcsMXgsMjMsNm4vc3k4bzoxNi9zeTc3L3N5Nnc6aiwxciwxdywyOCwyYSwyYywyaSwzayw1Yiw2ci9zeTdpL3N5OGwvc3k2MTp6LDEyLDJwLDJyLDM1LDNkLDQxLDR1LDU5LDVpLDV5LDV6LDYxLDZtLDZwLDZxLDZzLDZ0LDZ1L3N5NjM6MjUsMmksNGUvc3k2NDprLDI1LDI3LDJkLDJpLDJxLDRnL3N5NmQvc3k2OToxbiw0Ziw2Mi9zeTY4OjFlLDZ6L3N5N3Avc3k4YS9zeThjOjFlL3N5NjU6MWIsMjksMnAsM2csNmssNnUsNnksNzAsNzEsNzIsNzMvc3k2ei9zeTY2OjFjLDJrLDJyLDM1LDNzLDQwLDR3LDVmLDVnLDVuLDVvLDV6LDZmLDZqLDc1L3N5N286aixrLDFhLDFxLDF3LDF4LDF6LDNnL3N5Nmsvc3k2YTo1Nyw2eiw3MSw3Nyw3OC9zeThrOjFlL3N5OGY6MWUvc3k2ZToxNSwxdywyaSwzMCwzbyw0OSw0YSw0aiw0eiw3YSw3Yi9zeTZmOjFvLDFzLDF3LDI4LDJhLDJ1LDM1LDNrLDNyLDV6LDZlLDZxLDZyL3N5N2o6YywxaCwxaiwzNy9zeTdrOjFvLDM4LDM5LDZhL3N5Nmc6MWMsM2EsNDQsNGwsNW8sNXAsNjEsNjcsNzgsN2UsN2Yvc3k2aDozZSw0Miw0cSw2Myw2OC9zeTZpOmoscSwxNiwxOCwxdywzNS9zeTZyL3N5Nmo6MjUsMjcsMmksM28sN2UsN2ovc3k2bDoxNywyMywyOCwyaywydCwzMSwzayw1cS9zeThiOjJkL3N5ODA6MmQsN2ovc3k2eToxYiwyNSwyNywyaSwycCw0Yyw2MSw3Myw3bSw3bi9zeTZ4OjJiLDJlLDJ3LDRoLDVoLDcyLDdvL3N5Nm06MmEsNDEsN3Avc3k3eDoxZS9zeTd5OjJpLDdyL3N5OHI6MWIsMWcsMXUsMXcsMnAsM3MsNGMsNmwsN24sN3Mvc3k2bjoyYyw0MSw0dSw1OSw3NSw3byw3dC9zeThoOjFlL3N5Nm86MmksN2UsN3Yvc3k2cDoxaywxeiwzNSwzbyw0bSw0diw1bS9zeTZxOmssMjUsMjgsMmkvc3k2dS9zeTZ2OmosMTgsMXcvc3k3My9zeTcwOjFxLDFzLDF3LDJzLDJ0LDMxLDQ2LDQ3LDVnLDgxL3N5NzEvc3k4OToxZS9zeTcyOmosaywxeSwyaSwzMSwzZywzbyw1Niw1aSw2aSw3ciw4NC9zeTc0OjF3LDI4LDJpLDNyL3N5NzU6aixrLHEsMWEsMXcsM2csM3Qvc3k3NjoyNSwyaSw3My9zeTc4OmoscSwxNiwxbywxdSwxdywyYSwyaSwzNSwzbyw2ci9zeTc5OjJpLDdlLDdmL3N5ODI6MWUvc3k4MzoxZS9zeTdhOjFwLDF4LDIwLDJiLDJqLDJ3LDN4LDRhLDRiLDRkLDVoLDV3LDV5LDY2LDZ0LDcwLDcyLDdhLDd2LDhiLDhjL3N5N2I6NmYsN28sN3osOGMvc3k3YzpxLDFrLDF3LDF4LDJmLDMxLDZkLDZnLDZqL3N5N2Y6NDEsN2wvc3k3Zzo0MS9zeTdoOmosMXksMXovc3k3bToyNSwyNiwyaS9zeTduOmoscSwxOCwxdywxei9zeTdzL3N5N3U6MjAvc3k3dDoyNSwzbyw1aCw4bCw4bS9zeTd2OjFiLDFlLDI1LDJwLDhsL3N5N3c6MW8sNmwsN24sN3Mvc3k4MToyNSwyaSw0aCw4Yiw4Yy9zeTg3OmosMXksMXosMjAsNWgvc3k4ODo3Nyw4NS9zeThkOjExLDJyLDM0LDM1LDQxL3N5OGU6MmksMzgsN2IsN2Uvc3k4ZzoxZSwyNSwydy9zeThpOjFjLDMyLDNvLDdlL3N5OGo6MzgsNDEsN2Uvc3k4cToyNSwyYiwyaSwycCw4Yy9zeThwOjQxLDZ1LDZ6LDdwLDd0LDh5L3N5OHQ6NG8sN2Uvc3k4dToxYiwyNSwyNiw0Mi9zeTh2OjF5L3N5OHg6MWUvc3k4dzpqLHEsMXcsMmksM2csOTMvc3k4eTprLDFiLDI1LDJwLDYxLDgzL3N5OHo6aiwxdywyYSwyaSwzdCw4My9zeTkwOjF3LDJpLDNnLDgxLDkzL3N5OTE6aixxLDFiLDF5LDJlL3N5OTI6aywxYiwxeSwyMywyNiwycCw3ciw3eiw4NCw4Ni9zeTkzOjExLDJvLDJ0LDQwLDhkL3N5OTQ6aixrLHEsMWYsMXYsMXcsMXgsMjMsMnosNjEvc3k5NToyNSw0Miw4bS9zeTk2OmosayxxLDFlLDFvLDF5LDMxLDR1LDU5LDYxL3N5OTc6aixrLDF6LDNvLDR2LDVnL3N5OTg6MXcsMmEsMzUsNG0sNTQsNnIvc3k5OToxdywyNCwyYSwydywzNSwzdywzeCw0bSw1NCw2ci9zeTlhOmosaywxdSwxdywzNi9zeTliOmosayxxLDF5LDIzLDJ6LDN0LDQzLDZ5LDdtL3N5OWM6MjUsMjYsMjcsMmIsN3Qvc3k5ZDo3by9zeTllOjFvLDFzLDF3LDIzLDRzLDZiL3N5OWY6aywyNSw3dC9zeTlnOmssMjUsMzEsM2wsM3IsNHUsNTksNWQvc3k5aDoyNSwyNywyaS9zeTlpOmssMTEsMjUsMjgsMmksM3IsNGYsNXkvc3k5ajpqLGsscSwxeSwybCwyciwzMSw0dSw1OS9zeTlrOjI3LDQxL3N5OWw6MXcsMjgsMmksMzEsM3IsNHUsNTkvc3k5bTprLDI1LDJsLDMxLDR1LDU5L3N5OW46MjUvc3k5bzprLDI1LDJ0LDMxLDM1LDNpLDNvLDN6LDR1LDU5L3N5OXA6MjUsMm8sMzEsNHUsNTkvc3k5cToyNSwyNyw3dCw4Yy9zeTlyOmssMjUsMmYsMmwsM2wsNXMsNmcvc3k5dDoyaSw1Yy9zeTl1OnMsMXMsMXcsMjMsMnUsM2MsNTIsNmQvc3k5djozNSwzayw0MSw2ai9zeTl3OjQwL3N5OXg6aixxLDE4LDF3LDM1LDRtLDU0L2Jhc2Vfc3luY19tb2RfY2h1bms6NXYvcjlLTWpiOjhqL1ZjR1M4OjhrL3pDa0tCYzoyeC9pNlhvbWU6OHYvbk81ZFRkOjd4L090S1NKZTozai9udlg0VmI6M3kvRGx2RjFkOjQxLGFiL2Y5MHRDYjo3bC9WYlhyVWU6OGcsYWMsYWQvcEVTbERiOjhpL0ttQmZjYzo5NS9TVTN1aTo5aS9SYXE0Y2I6OHAvakJpc2FmOjU1L1B6VWRaYjo0OC9xVExkUTo4bi9XcWxjVmI6OG8vUUhBdGVmOjh0LGFjL1VBOEdTZTo4eCxhYy9MVmlNTTo3NixhYi9wZXZ0dmM6OWYvaXpqbVA6OWcvamd4OG1lOmExLGFjL3VobExHYjo2cy9GcUhjR2U6OWIvY3lDVmxkOjRpL29QcDVMZTo4Mi9BNG9BVmU6OTcvT3NtNDljOjg2L1BEdjZNZTo5OSxheS9vc1R0eGU6OHEvcVZEZ0JkOjhyL0hEbVUxZTo3dC9MSFA3SmQ6N28vVHUzTUI6N3AsYjMvRnNvWHpjOjdxLGFjLGI0L2lhaTJpYzo5Mi90UGdZemQ6ODcvYTY2TGZlOjk0L0lXcFVyZjo4OC9kSGNvSWY6OTYvb1hCV0hmOjk4L0lUdUNVYjo2cC9OcjBrZmU6ODUvYWNGdVZjOjhzLGJkL21tMk4wYzo5aC9oYjBXbWY6N2QvaE5lbHZkOmEzL3I1Q09IZjo3aS9aUUt4MToycS9wZTJvamI6MzIsYTcsYmovaGFvdU9lOjg5L2pKZkNvZDphMixhYi93U240YWM6NnYsYWMsYXQsYmMvaGExSWk6OHkvT003eG9iOjh6LGFjLGIyLGI0LGJvL0ZpTkdPYzo2ayxhYy9Xc2lNaWM6Nm8sYWMvVUFNNW06NzQsYnEvRDlXTWQ6NncveTlub09iOjZ4LGJqL1cwZ1NLYjo2OSxhYy9Id2xPaGQ6NjUvaGpyTm46ODAvdkRjazFkOjRuLGJrL0h4amxiYjozYixiay9uMERIZzo3eS9uQnZCeWQ6OWosYjIvZURVRG9jOjlrLGIzL1ZPVVA5ZDo4ZCxidy9iemowamQ6OWEsYWIsYzMvdVJJYUM6OW0sYjIvY2dTRW9iOjljL1hlUlhCZDo5ZC9zNjQ5ajo5cS91U3hkbmI6OXMvV2ZmNkJkOjd1LGFjLGIyLGIzL1UzbXpzZDo5dC95UDBKQmQ6OXUvUnFhSnNkOjl2L0UzSGViYzo5dy9wMXZFU2Q6YTAvQVQ4TFRlOjl5L3NET1RHZTo5bi9lY3VQQWM6NmgvTlFjMUlkOjhmL0ZRZElKZTo5ei9ibFpaWGU6OGgsYWMvZ0FPWXg6NmEvSU5jMUVmOjdnLGJrLGNtL2xQV2prYjo0byxhYy9vakdUNmQ6OHUvZDJMVHhiOjRrLGF2L0haNDFPZDo4dyxiay9lM1V0Vzo4ZSxiMy9hVTFHVGI6OTAsY28vSWJ4eE9lOjkxL3ZpVVdWOjU4L0R2WkM5OjlsL2ZBemRUOjZjLGJrLGJ2LGJ3LGNtL2ZnbEpOYjo4YSxjbS9pbFFTQWY6OW8vVWtadVdiOjlyLGFjL2w4YUtEYjo3ay9jbnE1UWI6OXgsYjIvbjlESkJmOjd3L2ZLRThxZDo3Yy9uN2VvMjo5cC9SWmVrSjo5ZS9RbWtNRTo3aCxhYy9OdWlsdWU6NzksYWEsYWosYWssYnksYnosY28sY3EvbWVIOUViOjUsNXQsYWEsYWssYnksYnosY28sY3EsY3YveUVmTkZiOjVqLGFqLGQ5L3I3OERyYjo1dSxhaixkOScsWydzeTEnLCdzeTUnLCdzeTYnLCdzeTcnLCdzeTgnLCdzeWMnLCdzeWcnLCdzeWgnLCdzeWEnLCdzeTknLCdzeWsnLCdzeWInLCdzeWQnLCdzeWUnLCdzeWYnLCdzeWknLCdzeWonLCdzeWwnLCdzeW0nLCdiYXNlJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUHQsUXQsVnQ7Xy5NdD1mdW5jdGlvbihhKXt2YXIgYj1fLmpmO2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliLkFhKGFbY10pfTtfLk50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamYuR2EoYSw0LGIpfTtfLk90PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe2MoYSl9KX07UHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn07UXQ9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9OwpfLlJ0PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpQdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPV8uc2IoYSxiKT49MCk7cmV0dXJuIGJ9O18uU3Q9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5SdChhLGIpKXtsZXQgYz1QdChhKTtRdChhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Xy5UdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LnJlbW92ZShiKTpfLlJ0KGEsYikmJlF0KGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OlB0KGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uVXQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLkNhKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIk9hIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udS5zZXRUaW1lb3V0KGEsYnx8MCl9O1Z0PWZ1bmN0aW9uKGEpe2Euaj1fLlV0KCgpPT57YS5qPW51bGw7YS5vJiYhYS5CJiYoYS5vPSExLFZ0KGEpKX0sYS5JKTt2YXIgYj1hLkQ7YS5EPW51bGw7YS5NLmFwcGx5KG51bGwsYil9O18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuTT1jIT1udWxsP2EuYmluZChjKTphO3RoaXMuST1iO3RoaXMuRD1udWxsO3RoaXMubz0hMTt0aGlzLkI9MDt0aGlzLmo9bnVsbH12KGEpe3RoaXMuRD1hcmd1bWVudHM7dGhpcy5qfHx0aGlzLkI/dGhpcy5vPSEwOlZ0KHRoaXMpfXN0b3AoKXt0aGlzLmomJihfLnUuY2xlYXJUaW1lb3V0KHRoaXMuaiksdGhpcy5qPW51bGwsdGhpcy5vPSExLHRoaXMuRD1udWxsKX1wYXVzZSgpe3RoaXMuQisrfXJlc3VtZSgpe3RoaXMuQi0tO3RoaXMuQnx8IXRoaXMub3x8dGhpcy5qfHwodGhpcy5vPSExLFZ0KHRoaXMpKX1sYSgpe3N1cGVyLmxhKCk7dGhpcy5zdG9wKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZQoqLwp2YXIgc3UscXUsb3UsdXUsbnUsenUsQXUsRHUsR3UsSHUsSXUsTnUsVHUsVnUsJHUsaXYsbXYscXYscnY7Xy5YdD1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5ZdD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLGQ9Yy5yZXNvbHZlKF8uSW4oYSkpO2Q/KGIoZCksUHJvbWlzZS5yZXNvbHZlKGQpKTpjLnJlc29sdmUobmV3IF8uVXMoYSkpLnRoZW4oZT0+e2IoZSk7cmV0dXJuIGV9KX07Xy4kdD1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O18uWnQ9YTtyZXR1cm4gYn07Xy5idT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uYXV8fGE/Lm5hbWU9PT0iXHUwMjc1Tm90Rm91bmQifTtfLmN1PWZ1bmN0aW9uKGEsYil7aWYoYT8uaWEpdGhyb3cgRXJyb3IoIlNhYCIrU3RyaW5nKGEuZGVidWdOYW1lKSk7Zm9yKDthIT09dm9pZCAwOyl7bGV0IGM9YTtpZihjLlJoKXJldHVybiBjLlJoKGIse29wdGlvbmFsOiEwfSk7YT1hLnBhcmVudH1yZXR1cm4gXy5hdX07Cl8uZHU9ZnVuY3Rpb24oYSl7cmV0dXJue2Rlc2NyaXB0aW9uOmEsQ2I6e016OiJyb290Iix0b2tlbjpTeW1ib2woYSksS3A6dm9pZCAwLHZhbHVlOnZvaWQgMH19fTtfLmV1PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYSYmYj9gJHthfV9fJHtifWA6YT8/Yj8/Y307Xy5ndT1mdW5jdGlvbihhLGIpe3JldHVybnsuLi5fLmR1KGI/PyIiKSxbXy5mdV06ITAsZGVidWdOYW1lOmI/PyJbY29udGV4dF0iLGRlZmF1bHRWYWx1ZTphPy5kZWZhdWx0VmFsdWUscmVxdWlyZWQ6IWF8fCFPYmplY3QuaGFzT3duKGEsImRlZmF1bHRWYWx1ZSIpLGlkOmIsT0s6dm9pZCAwfX07Xy5odT1mdW5jdGlvbihhLGIpe2I9Xy5jdShiLGEpO2lmKF8uYnUoYikpe2lmKGEucmVxdWlyZWQpdGhyb3cgRXJyb3IoImpiYCIrYS5kZWJ1Z05hbWUpO3JldHVybiBhLmRlZmF1bHRWYWx1ZX1yZXR1cm4gYn07Xy5pdT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QuaXMoYSxiKX07Cl8ua3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qdTtfLmp1PWE7cmV0dXJuIGJ9O18ucHU9ZnVuY3Rpb24oYSl7aWYobHUpdGhyb3cgRXJyb3IoImgiKTtpZihfLmp1IT09bnVsbCl7Xy5qdS5pcChhKTt2YXIgYj1fLmp1LmtmO2lmKGI9PT12b2lkIDB8fGIuTWghPT1hKXt2YXIgYz12b2lkIDAsZD1fLmp1LmNuO2lmKGQmJihjPWIhPT12b2lkIDA/Yi5yZTpfLmp1LnByb2R1Y2VycyxjIT09dm9pZCAwJiZjLk1oPT09YSkpe18uanUua2Y9YztjLkhxPWEudmVyc2lvbjtjLm9qPV8ubXU7cmV0dXJufXZhciBlPWEuVWc7aWYoZT09PXZvaWQgMHx8ZS5EZiE9PV8uanV8fGQmJmUub2ohPT1fLm11KWQ9bnUoXy5qdSksYz17TWg6YSxEZjpfLmp1LHJlOmMsTWo6dm9pZCAwLG9qOl8ubXUsSHE6YS52ZXJzaW9uLHFlOnZvaWQgMH0sXy5qdS5rZj1jLGIhPT12b2lkIDA/Yi5yZT1jOl8uanUucHJvZHVjZXJzPWMsZCYmb3UoYSxjKX19fTsKXy5ydT1mdW5jdGlvbihhKXtpZighbnUoYSl8fGEuUGIpaWYoYS5QYnx8YS5yaiE9PV8ubXUpKGEuWG0oYSl8fHF1KGEpKSYmYS5ZbShhKSxhLlBiPSExLGEucmo9Xy5tdX07c3U9ZnVuY3Rpb24oYSl7aWYoYS5jb25zdW1lcnMhPT12b2lkIDApe3ZhciBiPWx1O2x1PSEwO3RyeXtmb3IobGV0IGM9YS5jb25zdW1lcnM7YyE9PXZvaWQgMDtjPWMucWUpe2xldCBkPWMuRGY7ZC5QYnx8KGQuUGI9ITAsc3UoZCksZC5ocD8uKGQpKX19ZmluYWxseXtsdT1ifX19O18udHU9ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYS5rZj8ub2o9PT1fLm11KXtsZXQgYj1hLnByb2R1Y2Vycztmb3IoO2IhPT12b2lkIDA7KWIub2o9bnVsbCxiPWIucmV9YS5rZj12b2lkIDA7YS5jbj0hMH1yZXR1cm4gXy5rdShhKX07Cl8udnU9ZnVuY3Rpb24oYSl7YS5jbj0hMTt2YXIgYj1hLmtmLGM9YiE9PXZvaWQgMD9iLnJlOmEucHJvZHVjZXJzO2lmKGMhPT12b2lkIDApe2lmKG51KGEpKXtkbyBjPXV1KGMpO3doaWxlKGMhPT12b2lkIDApfWIhPT12b2lkIDA/Yi5yZT12b2lkIDA6YS5wcm9kdWNlcnM9dm9pZCAwfX07cXU9ZnVuY3Rpb24oYSl7Zm9yKGE9YS5wcm9kdWNlcnM7YSE9PXZvaWQgMDthPWEucmUpe2xldCBiPWEuTWgsYz1hLkhxO2lmKGMhPT1iLnZlcnNpb24pcmV0dXJuITA7Xy5ydShiKTtpZihjIT09Yi52ZXJzaW9uKXJldHVybiEwfXJldHVybiExfTtvdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWcsZD1udShhKTtjIT09dm9pZCAwPyhiLnFlPWMucWUsYy5xZT1iKTooYi5xZT12b2lkIDAsYS5jb25zdW1lcnM9Yik7Yi5Naj1jO2EuVWc9YjtpZighZClmb3IoYT1hLnByb2R1Y2VyczthIT09dm9pZCAwO2E9YS5yZSlvdShhLk1oLGEpfTsKdXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NaCxjPWEucmUsZD1hLnFlLGU9YS5NajthLnFlPXZvaWQgMDthLk1qPXZvaWQgMDtkIT09dm9pZCAwP2QuTWo9ZTpiLlVnPWU7aWYoZSE9PXZvaWQgMCllLnFlPWQ7ZWxzZSBpZihiLmNvbnN1bWVycz1kLCFudShiKSlmb3IoYT1iLnByb2R1Y2VyczthIT09dm9pZCAwOylhPXV1KGEpO3JldHVybiBjfTtudT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ncHx8YS5jb25zdW1lcnMhPT12b2lkIDB9O18ud3U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO307Xy55dT1mdW5jdGlvbihhLGIpe18uanU/LkxlIT09ITF8fF8ud3UoYSk7YS5lcXVhbChhLnZhbHVlLGIpfHwoYS52YWx1ZT1iLGEudmVyc2lvbisrLF8ubXUrKyxzdShhKSx4dT8uKGEpKX07enU9ZnVuY3Rpb24oYSxiKXtiLnptPXZvaWQgMDthLlpqP2EuWmouem09YjphLlVrPWI7YS5aaj1ifTtBdT1mdW5jdGlvbihhLGIpe3p1KGEse1tTeW1ib2wuZGlzcG9zZV06Yn0pfTsKXy5CdT1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O2ImJiFiLmlhJiYoenUoYixhKSxhLnBhcmVudD1iKX07RHU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuVWs7Yjspe2xldCBjPWIuem07Xy5DdShiKTtiPWN9YS5Vaz12b2lkIDA7YS5aaj12b2lkIDB9O18uQ3U9ZnVuY3Rpb24oYSl7YS5pYXx8KGEuaWE9ITAsYVtTeW1ib2wuZGlzcG9zZV0/LigpLGEucGFyZW50PXZvaWQgMCxEdShhKSl9O18uRnU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5xcikoYSkmJl8uRXUgaW4gYX07R3U9ZnVuY3Rpb24oYT1fLlp0KXtmb3IoO2E7KXtpZihfLkZ1KGEpKXJldHVybiBhO2E9YS5wYXJlbnQ/P251bGx9cmV0dXJuIG51bGx9O0h1PWZ1bmN0aW9uKGE9Xy5adCl7Zm9yKHZhciBiPVtdO2E7KV8uRnUoYSkmJmIucHVzaChhLmRlYnVnTmFtZSksYT1hLnBhcmVudD8/bnVsbDtyZXR1cm4gYn07Ckl1PWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiZhLm5hbWUhPT12b2lkIDAmJmEubGohPT12b2lkIDAmJmEucGFyZW50IT09dm9pZCAwfTtfLkx1PWZ1bmN0aW9uKCl7dmFyIGE9ey4uLkp1fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhKdSkuZm9yRWFjaChiPT57Xy5LdVtiXSE9PXZvaWQgMCYmKGFbYl09Xy5LdVtiXSl9KTtyZXR1cm4gYX07Xy5SdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NdTtiJiYoXy5NdT1iKTt0cnl7cmV0dXJuIGM9PW51bGw/YSgpOmEuY2FsbChjKX1jYXRjaChlKXtOdShlLF8uTXUpO2lmKGUhPT1PdSl7Xy5QdT1fLk11O2E9W107Zm9yKGI9Xy5adDtiOylhLnB1c2goYi5kZWJ1Z05hbWU/PyJbY29udGV4dF0iKSxiPWIucGFyZW50Pz9udWxsO18uUXU9YS5yZXZlcnNlKCl9T3U9ZTt0aHJvdyBlO31maW5hbGx5e18uTXU9ZH19OwpOdT1mdW5jdGlvbihhLGIpe3RyeXtsZXQgYz1fLlN1KGIpO2lmKGMmJiFhLk5kPy5jb21wb25lbnRTdGFjayYmKGEuTmQ/YS5OZC5jb21wb25lbnRTdGFja3x8KGEuTmQuY29tcG9uZW50U3RhY2s9Yyk6YS5OZD17Y29tcG9uZW50U3RhY2s6Y30sXy5LdS5Cdikpe2xldCBkPWAke2EubWVzc2FnZX1cblxuQ29tcG9uZW50IHN0YWNrOiAke2N9YDthLnN0YWNrJiYoYS5zdGFjaz1hLnN0YWNrLnJlcGxhY2UoYS5tZXNzYWdlLGQpKTthLm1lc3NhZ2U9ZH19Y2F0Y2h7fX07VHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNDpjYXNlIDM6cmV0dXJuInNldmVyZSI7Y2FzZSAyOnJldHVybiJ3YXJuaW5nIjtjYXNlIDE6Y2FzZSAwOnJldHVybiJpbmZvIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpfLlV1PWZ1bmN0aW9uKGEsYixjKXtpZihhLk5kKXJldHVybiBhO3RyeXtsZXQgZD0oYT09PU91P18uUHU6bnVsbCk/P18uTXU7TnUoYSxkKTthLk5kPXtjb21wb25lbnRTdGFjazpfLlN1KGQpLGZoOmIsQWw6Xy5MdSgpLHRhZ05hbWU6YyxwcjpfLlF1Py5zbGljZSgpPz9bXX07YS5yZXBvcnRTZXZlcml0eT1UdShiKX1jYXRjaHt9cmV0dXJuIGF9O1Z1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9IiI7YjwyMCYmYTspYys9YCR7YCQkWElEOiR7YS5uYW1lfSQkYH0gPiBgLGE9YS5wYXJlbnQsYisrO3JldHVybiBjLnNsaWNlKDAsLTMpfTtfLlN1PWZ1bmN0aW9uKGEpe3JldHVybiBJdShhKXx8YT09PW51bGw/VnUoYSk6Xy5LdS5GcD8oYT1HdShhKSxIdShhKS5zbGljZSgwLDIwKS5tYXAoYj0+YCQkWElEOiR7Yn0kJGApLmpvaW4oIiA+ICIpKToiIn07Cl8uWXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adDtpZihiKXt2YXIgYz1fLk11O0F1KGIsKCk9Pnt2YXIgZD1fLmt1KF8uV3U/PyhfLld1PU9iamVjdC5jcmVhdGUoey4uLl8uWHUsTGU6ITB9KSkpO3RyeXtfLlJ1KCgpPT52b2lkIGEoKSxjKX1jYXRjaChlKXt0aHJvdyBfLlV1KGUsNCksZTt9ZmluYWxseXtfLmt1KGQpfX0pfWVsc2UgXy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlhhIiksMik7fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIiRhIiksMik7fSl9OyR1PWZ1bmN0aW9uKGEpe3ZhciBiPSgpPT57Xy5wdShhKTtyZXR1cm4gYS52YWx1ZX07YltfLlp1XT1hO3JldHVybltiLGM9PntfLnl1KGEsYyl9LGM9PntfLmp1Py5MZSE9PSExfHxfLnd1KGEpO18ueXUoYSxjKGEudmFsdWUpKX1dfTsKXy5KPWZ1bmN0aW9uKGEsYixjPSIiKXt2YXIgZD1PYmplY3QuY3JlYXRlKGF2KTtkLnZhbHVlPWE7Yj8uZXF1YWxzIT09dm9pZCAwJiYoZC5lcXVhbD1iLmVxdWFscyk7ZC5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW3NpZ25hbF0iKTtyZXR1cm4gJHUoZCl9O18uZnY9ZnVuY3Rpb24oYSl7aWYoIWEuaWEpc3dpdGNoKGEuZWZmZWN0VHlwZSl7Y2FzZSBidjpfLmN2LnNjaGVkdWxlKGEpO2JyZWFrO2Nhc2UgXy5kdjpldi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5lZmZlY3RUeXBlLHZvaWQgMCl9fTtfLmp2PWZ1bmN0aW9uKCl7aWYoXy5ndj4wKV8uS3UuUmkmJl8uY3YuZmx1c2goKTtlbHNle2ZvcihsZXQgYSBvZiBodilhLmZsdXNoKCk7aXYoKX19O2l2PWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGxldCBhIG9mIGt2KWEuZmx1c2goKX07Cm12PWZ1bmN0aW9uKGEpe3ZhciBiPWEuaXNGbHVzaGluZzthLmlzRmx1c2hpbmc9ITA7dHJ5e2xldCBjPTA7Zm9yKDtjPGEuWmI7KXtsZXQgZD1hLkRkW2NdO2EuRGRbY109dm9pZCAwO2MrKztpZighZHx8IWQuUGIpY29udGludWU7bGV0IGU9W2RdLGY9ZDtmb3IoO2YucGFyZW50IT09dm9pZCAwOylmPWYucGFyZW50LCgwLF8ubHYpKGYpJiZmLlBiJiZlLnB1c2goZik7Zm9yKDtlLmxlbmd0aD4wOyllLnBvcCgpLnJ1bigpfWEuWmI9MH1maW5hbGx5e2EuaXNGbHVzaGluZz1ifX07Xy5vdj1mdW5jdGlvbihhLGI9Xy5adCl7aWYoYiYmIWIuaWEmJihiPV8uaHUobnYsYiksYj8ucmVwb3J0RXJyb3IpKXtiLnJlcG9ydEVycm9yKGEpO3JldHVybn10aHJvdyBhO307Cl8ucHY9ZnVuY3Rpb24oYSxiLGMpe2E9T2JqZWN0LmNyZWF0ZShhKTtiJiYoYS5mbj1iKTtjJiYoYS5kZWJ1Z05hbWU9Yyk7Xy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlRhIiksMik7fSk6Xy5adD09PW51bGw/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoImNiIiksMik7fSk6Xy5CdShhKTthLmNvbXBvbmVudFN0YWNrPV8uTXU7cmV0dXJuIGF9O3F2PWZ1bmN0aW9uKGEpe2lmKCFhLmlhKXtpZihsdSl0aHJvdyBfLlV1KEVycm9yKCJ4YiIpLDQpO3ZhciBiPV8uJHQoYSk7dHJ5e18uUnUoKCk9PnthLlBiPSExO2lmKCEoYS52ZXJzaW9uPjApfHxxdShhKSl7YS52ZXJzaW9uKys7dmFyIGM9Xy50dShhKTt0cnl7YS5WaygpLGEuZm4oKX1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX19fSxhLmNvbXBvbmVudFN0YWNrLGEpfWNhdGNoKGMpe18uVXUoYyw0KSxfLm92KGMpfWZpbmFsbHl7Xy4kdChiKX19fTsKcnY9ZnVuY3Rpb24oYSl7dmFyIGI9RXJyb3IoIlphYCIrYS5kZWJ1Z05hbWUpO18uVXUoYiw0KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgYjt9KX07Xy50dj1mdW5jdGlvbihhLGIpe2E9Xy5wdihzdixhLGIpO18uZnYoYSl9O18udXY9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz17cGFyZW50OnZvaWQgMCxpYTohMSxVazp2b2lkIDAsWmo6dm9pZCAwLHptOnZvaWQgMH07YiYmXy5CdShjKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18udnY9ZnVuY3Rpb24oKXt9O18ud3Y9ZnVuY3Rpb24oKXt9O18ueHY9ZnVuY3Rpb24oKXt9O18uQnY9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8ueXZ8fF8uanU9PT1fLnp2KXRocm93IF8uVXUoRXJyb3IoIllhIiksNCk7cmV0dXJuIHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hKCk6YT8uW0F2XT9hLmdldCgpOmF9O18uQ3Y9ZnVuY3Rpb24oKXt9O18uRHY9e307Cl8uVXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qdj1hfX07Xy5Fdj1fLnUuSlNPTi5wYXJzZTtuZXcgY2xhc3MgZXh0ZW5kcyBfLmFle2luaXQoKXt9fTtfLkVhKCk7Xy5adD12b2lkIDA7Xy5hdT1TeW1ib2woImRiIik7dmFyIEZ2LGJ2O0Z2PVN5bWJvbCgiZWIiKTtidj1TeW1ib2woImZiIik7Xy5kdj1TeW1ib2woImdiIik7Xy5sdj1fLkNjKGE9PigwLF8ucXIpKGEpJiZGdiBpbiBhKTtfLmZ1PVN5bWJvbCgiaGIiKTt2YXIgbHU7Xy5qdT1udWxsO2x1PSExO18ubXU9MTtfLlp1PVN5bWJvbCgia2IiKTtfLlh1PXt2ZXJzaW9uOjAscmo6MCxQYjohMSxwcm9kdWNlcnM6dm9pZCAwLGtmOnZvaWQgMCxjb25zdW1lcnM6dm9pZCAwLFVnOnZvaWQgMCxjbjohMSxMZTohMSxncDohMSxraW5kOiJ1bmtub3duIixYbTooKT0+ITEsWW06KCk9Pnt9LGhwOigpPT57fSxpcDooKT0+e319O18uR3Y9U3ltYm9sKCJsYiIpO18uSHY9U3ltYm9sKCJtYiIpO18uSXY9U3ltYm9sKCJuYiIpO3ZhciBKdj17Li4uXy5YdSxncDohMCxMZTohMCxQYjohMCxraW5kOiJlZmZlY3QifTt2YXIgeHU9bnVsbCxhdj17Li4uXy5YdSxlcXVhbDpfLml1LHZhbHVlOnZvaWQgMCxraW5kOiJzaWduYWwifTtfLkt2PVN5bWJvbCgib2IiKTtfLkx2PVN5bWJvbCgicGIiKTtfLk12PVN5bWJvbCgicWIiKTtfLkV1PVN5bWJvbCgicmIiKTt2YXIgSnU9e3l2OiEwLEJ2OiExLEZwOl8uWXEsR3A6Xy5ZcSxHdjohMSxyaTohMSxISTohMCxSaTohMSxKcTohMX07Xy5LdT17YXR0cmlidXRlczp7fSxoYW5kbGVFcnJvcihhKXt0aHJvdyBhO30sLi4uSnV9O3ZhciBPdTtfLk11PW51bGw7Xy5QdT1udWxsO18uTnY9bmV3IFNldDtfLk92PW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe319O3ZhciBQdixTdixUdixWdixXdixYdixldixodixrdixadjtfLmd2PTA7UHY9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzRmx1c2hpbmc9ITE7dGhpcy5EZD1bXTt0aGlzLlpiPTB9c2NoZWR1bGUoYSl7dGhpcy5EZFt0aGlzLlpiKytdPWF9Y2xlYXIoKXtmb3IobGV0IGE9MDthPHRoaXMuWmI7YSsrKXRoaXMuRGRbYV09dm9pZCAwO3RoaXMuWmI9MH19O18uUXY9U3ltYm9sKCJ3YiIpO1N2PWNsYXNzIGV4dGVuZHMgUHZ7Zmx1c2goKXtpZih0aGlzLlpiIT09MCl7Zm9yKHZhciBhPTA7YTx0aGlzLlpiOyl7bGV0IGI9dGhpcy5EZFthXTt0aGlzLkRkW2FdPXZvaWQgMDthKys7aWYoYil0cnl7Yi5ydW4oKX1jYXRjaChjKXtSdihjKX19dGhpcy5aYj0wfX19O1R2PWNsYXNzIGV4dGVuZHMgU3Z7fTtfLlV2PW5ldyBUdjtWdj1jbGFzcyBleHRlbmRzIFB2e2ZsdXNoKCl7dGhpcy5aYj09PTB8fHRoaXMuaXNGbHVzaGluZ3x8bXYodGhpcyl9fTsKV3Y9Y2xhc3MgZXh0ZW5kcyBWdntzY2hlZHVsZShhKXthLnZlcnNpb249PT0wP2EucnVuKCk6c3VwZXIuc2NoZWR1bGUoYSl9Zmx1c2goKXtpZih0aGlzLlpiIT09MClpZihfLkt1LlJpKXtsZXQgYT17RGQ6dGhpcy5EZCxaYjp0aGlzLlpiLGlzRmx1c2hpbmc6ITF9O3RoaXMuRGQ9W107dGhpcy5aYj0wO212KGEpfWVsc2UgdGhpcy5pc0ZsdXNoaW5nfHxtdih0aGlzKX19O18uY3Y9bmV3IFd2O1h2PWNsYXNzIGV4dGVuZHMgVnZ7fTtldj1uZXcgWHY7aHY9W18uY3ZdO2t2PVtfLlV2LGV2XTtfLll2PVsuLi5odiwuLi5rdl07WnY9W107eHU9KCk9PntfLmp2KCk7Zm9yKGxldCBhIG9mIFp2KWEoKX07dmFyIFJ2PV8uJGI7dmFyIG52PV8uZ3Uoe2RlZmF1bHRWYWx1ZTpudWxsfSwiaW0xTWtmIik7Xy4kdj17Li4uSnYsW0Z2XTohMCxlZmZlY3RUeXBlOmJ2LEVKOiEwLGhwOl8uZnYscnVuKCl7cXYodGhpcyl9LFZrKCl7RHUodGhpcyl9LGNvbXBvbmVudFN0YWNrOnZvaWQgMCxkZWJ1Z05hbWU6IltlZmZlY3RdIixkZXN0cm95KCl7aWYobnUodGhpcykpe2xldCBhPXRoaXMucHJvZHVjZXJzO2Zvcig7YSE9PXZvaWQgMDspYT11dShhKX10aGlzLlVnPXRoaXMuY29uc3VtZXJzPXRoaXMua2Y9dGhpcy5wcm9kdWNlcnM9dm9pZCAwO18uQ3UodGhpcyk7dGhpcy5QYj0hMX0sW1N5bWJvbC5kaXNwb3NlXSgpe3RoaXMuZGVzdHJveSgpfX07dmFyIGF3O2F3PXtpcDpydn07Xy55dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7Xy56dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7dmFyIHN2PXsuLi5fLiR2LGVmZmVjdFR5cGU6YnZ9O18uYnc9e1BIKCl7fSxlSygpe30sWUgoKXt9LFNvKCl7fSxRSCgpe30sSmkoKXt9LEdmKCl7fSxIZigpe30sS2koKXt9fTt2YXIgQXY9U3ltYm9sKCJLYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZXc7Xy5jdz1mdW5jdGlvbihhLC4uLmIpe2EuYXJnc3x8KGEuYXJncz1bXSk7QXJyYXkuaXNBcnJheShhLmFyZ3MpJiZhLmFyZ3MucHVzaCguLi5iKX07Xy5kdz1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSl7bGV0IGM9Xy5id1tiXSxkPWFbYl07Xy5id1tiXT0oLi4uZSk9PntjKC4uLmUpO2QoLi4uZSl9fX07Xy5mdz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5FcSkmJmFbXy5FcV18fChhW18uRXFdPSsrZXcpfTtfLmd3PWZ1bmN0aW9uKGEsYixjKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5odz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSk/Xy5UYShhKTpudWxsOm51bGx9OwpfLml3PWZ1bmN0aW9uKGEpe2lmKF8uWnQpdGhyb3cgXy5VdShFcnJvcigiYWIiKSw0KTtyZXR1cm4gXy51dihiPT57Xy5ZdSgoKT0+e30pO2EoYil9LCExKX07ZXc9MDt2YXIganc7anc9e25hbWU6IjxSb290PiIscHJvcHM6e30sS3o6e30sZWZmZWN0czpbXSxkSTpbXSxnSTooKT0+e30sW1N5bWJvbCgiSmIiKV06ITB9OyhuZXcgV2Vha01hcCkuc2V0KGp3Lkt6LHtuYW1lOmp3Lm5hbWUscHJvcHM6ancucHJvcHN9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHN3LHl3LHR3LHJ3O18ua3c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy5BY118MDtjPWR8YyYzMnxjJjI7YyE9PWQmJihhW18uQWNdPWMpO3JldHVybiBuZXcgYihhKX19O18ubHc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5EYSxjPWJbXy5BY118MDtyZXR1cm4gXy5CYyhhLGMpP18uJGMoYSxiLGMpP18uYmQoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLlpjKGIsYywhMSkpOmF9O18ubXc9ZnVuY3Rpb24oYSl7aWYoYS5qIT09Xy56YylyZXR1cm4hMTt2YXIgYj1hLkRhO2I9Xy5aYyhiLGJbXy5BY118MCk7YltfLkFjXXw9MjA0ODthLkRhPWI7YS5qPXZvaWQgMDthLm89dm9pZCAwO3JldHVybiEwfTtfLm53PWZ1bmN0aW9uKGEpe2lmKCFfLm13KGEpJiZfLkJjKGEsYS5EYVtfLkFjXXwwKSl0aHJvdyBFcnJvcigpO307Cl8ub3c9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQWNdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5BY109Ynw0MDk2KX07Xy5wdz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksaD1hLmxlbmd0aC0xO2lmKGg+PTErKGU/MDotMSkmJmY+PWgpe2xldCBrPWFbaF07aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4ga1tjXT1kLGJ9aWYoZjw9aClyZXR1cm4gYVtmXT1kLGI7ZCE9PXZvaWQgMCYmKGg9KGI/PyhiPWFbXy5BY118MCkpPj4xNCYxMDIzfHw1MzY4NzA5MTIsYz49aD9kIT1udWxsJiYoYVtoKyhlPzA6LTEpXT17W2NdOmR9KTphW2ZdPWQpO3JldHVybiBifTtfLnF3PWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7dmFyIGU9YS5EYTtfLnB3KGUsZVtfLkFjXXwwLGIsYyxkKTtyZXR1cm4gYX07c3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHJ3W2FdfHwiIn07Cl8udXc9ZnVuY3Rpb24oYSl7YT10dy50ZXN0KGEpP2EucmVwbGFjZSh0dyxzdyk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLnd3PWZ1bmN0aW9uKGEpe2lmKF8udnchPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dmFyIGI9YS5qO2I9PW51bGx8fGIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwodHlwZW9mIGI9PT0ic3RyaW5nIj9iPV8udXcoYik6KF8ueGEoYiksYj1udWxsKSk7cmV0dXJuIGI9PW51bGw/YjphLmo9Yn07Xy54dz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigicmAiK18ueGEoYSkrImAiK2EpO3JldHVybiBhfTsKeXc9ZnVuY3Rpb24oKXt2YXIgYT1fLkRuKCk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5jaGFyQXQoYVtjXSY2MykpO3JldHVybiBiLmpvaW4oIiIpfTt0dz0vWy1fLl0vZztydz17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLnZ3PXt9O18uenc9bmV3IF8uSSgid2ViQ29tbWFuZE1ldGFkYXRhIik7Xy5Bdz1uZXcgXy5JKCJ3YXRjaEVuZHBvaW50Iik7Xy5Cdz1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1hfX07Xy5Ddz1uZXcgXy5xbSgic2NyZWVuLWNyZWF0ZWQiLF8uQncpO18uRHc9eXc7Xy5Fdz1uZXcgTWFwO18uRnc9bmV3IE1hcDtfLkd3PW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRdyxSdyxhYWEsYmFhLFh3LFN3LGF4LEx3LGNhYSxZdyxadztfLkh3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGIsdm9pZCAwKX07Xy5Jdz1mdW5jdGlvbihhKXthPUVycm9yKGEpO18uQmIoYSwid2FybmluZyIpO3JldHVybiBhfTtfLkp3PWZ1bmN0aW9uKGEpe2E9PW51bGwmJihhPXZvaWQgMCk7cmV0dXJuIGF9O18uS3c9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1fLkp3KGMpO18ucXcoYSxiLGMsZCk7YyYmIV8uQmMoYykmJl8ub3coYS5EYSk7cmV0dXJuIGF9O18uTXc9ZnVuY3Rpb24oKXtyZXR1cm4gTHd8fChMdz1uZXcgXy5SYyhudWxsLF8udncpKX07Cl8uTnc9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLlJjKGEsXy52dyk6Xy5NdygpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uUmMpaWYoYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1hLmxlbmd0aD9uZXcgXy5SYyhuZXcgVWludDhBcnJheShhKSxfLnZ3KTpfLk13KCk7ZWxzZXtpZighYil0aHJvdyBFcnJvcigpO2E9dm9pZCAwfXJldHVybiBhfTtfLk93PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5JdygiaW50MzIiKTtpZighKDAsXy53cikoYSkpdGhyb3cgXy5JdygiaW50MzIiKTtyZXR1cm4gYXwwfTtfLlB3PWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5PdyhhKX07ClF3PWZ1bmN0aW9uKGEpe3ZhciBiPV8ucm0oKTtpZighYilyZXR1cm4gMDt2YXIgYz1iLnN1YnNjcmliZShfLkN3LnRvU3RyaW5nKCksKGQsZSk9Pnt2YXIgZj1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIpO2YmJmY9PWN8fChmPSgpPT57aWYoXy5Lc1tjXSl0cnl7aWYoZSYmXy5DdyBpbnN0YW5jZW9mIF8ucW0mJl8uQ3chPWQpdHJ5e3t2YXIgaD1fLkN3Lmosaz1lO2lmKCFrLmFyZ3N8fCFrLnZlcnNpb24pdGhyb3cgRXJyb3IoInBhIik7bGV0IGw7dHJ5e2lmKCFoLkFlKXtsZXQgbT1uZXcgaDtoLkFlPW0udmVyc2lvbn1sPWguQWV9Y2F0Y2gobSl7fWlmKCFsfHxrLnZlcnNpb24hPWwpdGhyb3cgRXJyb3IoInFhIik7dHJ5e2U9UmVmbGVjdC5jb25zdHJ1Y3QoaCxfLnliKGsuYXJncykpfWNhdGNoKG0pe3Rocm93IG0ubWVzc2FnZT0ieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6ICIrbS5tZXNzYWdlLG07fX19Y2F0Y2gobCl7dGhyb3cgbC5tZXNzYWdlPSJ5dC5wdWJzdWIyLnB1YnN1YjIgY3Jvc3MtYmluYXJ5IGNvbnZlcnNpb24gZXJyb3IgZm9yICIrCl8uQ3cudG9TdHJpbmcoKSsiOiAiK2wubWVzc2FnZSxsO31hLmNhbGwod2luZG93LGUpfWNhdGNoKGwpe18uVWkobCl9fSxfLk1zW18uQ3cudG9TdHJpbmcoKV0/Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/Xy5qZi5wYihmKTpfLm1qKGYsMCk6ZigpKX0pO18uS3NbY109ITA7Xy5Mc1tfLkN3LnRvU3RyaW5nKCldfHwoXy5Mc1tfLkN3LnRvU3RyaW5nKCldPVtdKTtfLkxzW18uQ3cudG9TdHJpbmcoKV0ucHVzaChjKTtyZXR1cm4gY307Unc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ybSgpO2ImJih0eXBlb2YgYT09PSJudW1iZXIiJiYoYT1bYV0pLF8udGIoYSxjPT57Yi51bnN1YnNjcmliZUJ5S2V5KGMpO2RlbGV0ZSBfLktzW2NdfSkpfTthYWE9ZnVuY3Rpb24oKXt2YXIgYT1TdyxiPVF3KGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7UncoYil9KTtyZXR1cm4gYn07Xy5Vdz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVHcoe3RyYWNraW5nUGFyYW1zOmF9KX07Cl8uVnc9ZnVuY3Rpb24oYT0wKXtyZXR1cm4oYT1fLmdxKGEpKT9uZXcgXy5Udyh7dmVUeXBlOmEseW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTtiYWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLncoImNsaWVudC1zY3JlZW4tbm9uY2Utc3RvcmUiLHt9KSkuZmlsdGVyKGE9PmEhPT12b2lkIDApfTtfLld3PWZ1bmN0aW9uKGEsYil7Xy54KCJsb2dfc2VxdWVuY2VfaW5mb19vbl9nZWxfd2ViIikmJihhLnNlcXVlbmNlR3JvdXA9Yik7cmV0dXJuIGF9O1h3PWZ1bmN0aW9uKGEsYil7cmV0dXJuYCR7YS5nZXRBc0pzb24oKS52ZVR5cGV9JHthLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke2J9YH07U3c9ZnVuY3Rpb24oYSl7aWYoWXcpe2ZvcihsZXQgYiBvZiBZdyliLnBheWxvYWQmJihiLnBheWxvYWQuY3NuPWEuY3NuLF8uRXAoYi5wYXlsb2FkTmFtZSxiLnBheWxvYWQsYi5vcHRpb25zKSk7WXcubGVuZ3RoPTB9Wnc9MH07Cl8uJHc9ZnVuY3Rpb24oYSxiLGMpe1l3LnB1c2goe3BheWxvYWROYW1lOmEscGF5bG9hZDpjLEpKOnZvaWQgMCxvcHRpb25zOmJ9KTtad3x8KFp3PWFhYSgpKX07Xy5ieD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7YXgoYSxiLGMsW2RdLGUsZil9OwpheD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7T2JqZWN0LmFzc2lnbihmLF8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMH0sYikpO2ZvcihsZXQgayBvZiBkKXt2YXIgaD1rLmdldEFzSnNvbigpOyhfLnBkKGgpfHwhaC50cmFja2luZ1BhcmFtcyYmIWgudmVUeXBlKSYmXy5JcChFcnJvcigiTGIiKSk7aWYoXy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXtsZXQgbD1YdyhrLGIpO2lmKGgudmVUeXBlJiYhXy5Gdy5oYXMobCkmJiFfLkd3LmhhcyhsKSYmIWUpe2lmKCFfLngoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxfLkV3LnNpemU8MUUzKXtfLkV3LnNldChsLFthLGIsYyxrXSk7cmV0dXJufV8ueCgiaWxfYXR0YWNoX2NhY2hlX2xpbWl0IikmJl8uRXcuc2l6ZT4xRTMmJl8uSXAobmV3IF8uWGooIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPVh3KGMsYik7Xy5Fdy5oYXMoaCk/Xy5jeChjLGIpOl8uR3cuc2V0KGgsITApfX1kPQpkLmZpbHRlcihrPT57ay5jc24hPT1iPyhrLmNzbj1iLGs9ITApOms9ITE7cmV0dXJuIGt9KTtjPXtjc246YixwYXJlbnRWZTpjLmdldEFzSnNvbigpLGNoaWxkVmVzOl8uSHcoZCxrPT5rLmdldEFzSnNvbigpKX07Yj09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGYsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsYSxmKTpfLkVwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsZil9O18uY3g9ZnVuY3Rpb24oYSxiKXthPVh3KGEsYik7Xy5Fdy5oYXMoYSkmJihiPV8uRXcuZ2V0KGEpfHxbXSxfLmJ4KGJbMF0sYlsxXSxiWzJdLGJbM10sITApLF8uRXcuZGVsZXRlKGEpKX07Xy5keD1mdW5jdGlvbihhLGIpe2lmKF8ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7dmFyIGM9WHcoYSxiKTtfLkZ3LnNldChjLCEwKTtfLmN4KGEsYil9fTsKXy5leD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLmR4KGMsYik7ZD1kfHwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyI7Zj1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6aH0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxnZXN0dXJlVHlwZTpkfTtlJiYoYy5jbGllbnREYXRhPWUpO2I9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudEdlc3R1cmVkIixmLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGEsZik6Xy5FcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGYpfTtfLmZ4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLmV4KGEsYixjLHZvaWQgMCxkLGUsZil9O18uaHg9ZnVuY3Rpb24oKXtneC5pbnN0YW5jZXx8KGd4Lmluc3RhbmNlPW5ldyBneCk7cmV0dXJuIGd4Lmluc3RhbmNlfTsKXy5qeD1mdW5jdGlvbihhLGIsYyxkPTAsZSl7YS5vLmhhcyhlKXx8YS5vLnNldChlLG5ldyBTZXQpO3ZhciBmPWN8fF8uVncoZCk7Zj1gJHtiLnRvU3RyaW5nKCl9fCR7Zj9mLnRvU3RyaW5nKCk6IiJ9YDthLm8uZ2V0KGUpLmhhcyhmKXx8KF8uaXgoYSxiLGMsZCksYS5vLmdldChlKS5hZGQoZikpfTtfLml4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9PntpZihhLmouaGFzKGQpKXJldHVybiBhLlkucHVzaChbYixjXSksITA7dmFyIGU9Xy5pcShkKSxmPWN8fF8uVncoZCk7aWYoZSYmZil7aWYoXy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpKXtsZXQgaD1hLnYuZ2V0KGYudG9TdHJpbmcoKSk7aD9oLnB1c2goYik6KGEuSS5zZXQoZi50b1N0cmluZygpLGYpLGEudi5zZXQoZi50b1N0cmluZygpLFtiXSkpO2EuWnx8KGEuWj1fLllqKCgpPT57Xy5reChhLGUpfSwxMjAwKSl9ZWxzZSBfLmJ4KGEuY2xpZW50LGUsZixiKTtyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpfLmx4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9Pnt2YXIgZT1fLlV3KGIpLGY9Xy5pcShkKTtmJiYhYS5qLmhhcyhkKT9fLmp4KGEsZSxjLGQsZik6Xy5peChhLGUsYyxkKTtyZXR1cm4gZX0pKCl9O18ua3g9ZnVuY3Rpb24oYSxiKXtpZihiPT09dm9pZCAwKXtsZXQgYz1iYWEoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdIT09dm9pZCAwJiZfLmt4KGEsY1tkXSl9ZWxzZSBhLnYuZm9yRWFjaCgoYyxkKT0+eyhkPWEuSS5nZXQoZCkpJiZheChhLmNsaWVudCxiLGQsYyl9KSxhLnYuY2xlYXIoKSxhLkkuY2xlYXIoKSxhLlo9dm9pZCAwfTsKXy5teD1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPV8uaXEoZCk7Yj1ifHxfLlZ3KGQpO2UmJmImJihhPWEuY2xpZW50LGQ9Xy5Xdyh7Y3R0QXV0aEluZm86Xy5rcShlKXx8dm9pZCAwfSxlKSxjPXtjc246ZSx2ZTpiLmdldEFzSnNvbigpLGNsaWVudERhdGE6Y30sZT09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixkLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIsYyxhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLGMsZCkpfTsKXy5SYz1jbGFzc3tvKCl7dmFyIGE9dGhpcy5qO2lmKGE9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBhIT09InN0cmluZyIpe2xldCBiPSIiLGM9MCxkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPXRoaXMuaj1idG9hKGIpfXJldHVybiBhfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5qPT1udWxsfXNpemVCeXRlcygpe3ZhciBhPV8ud3codGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH1jb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dGhpcy5qPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJuIik7fX07CmNhYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHJhY2tpbmdQYXJhbXMoYSl7cmV0dXJuIF8ucXcodGhpcywxLF8uTncoYSwhMSkpfX07Cl8uVHc9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Z2V0QXNKc29uKCl7dmFyIGE9e307dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09dm9pZCAwP2EudHJhY2tpbmdQYXJhbXM9dGhpcy5qLnRyYWNraW5nUGFyYW1zOihhLnZlVHlwZT10aGlzLmoudmVUeXBlLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJihhLnZlQ291bnRlcj10aGlzLmoudmVDb3VudGVyKSx0aGlzLmouZWxlbWVudEluZGV4IT09dm9pZCAwJiYoYS5lbGVtZW50SW5kZXg9dGhpcy5qLmVsZW1lbnRJbmRleCkpO3RoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCYmKGEuZGF0YUVsZW1lbnQ9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNvbigpKTt0aGlzLmoueW91dHViZURhdGEhPT12b2lkIDAmJihhLnlvdXR1YmVEYXRhPXRoaXMuai55b3V0dWJlRGF0YSk7dGhpcy5qLmlzQ291bnRlcmZhY3R1YWwmJihhLmlzQ291bnRlcmZhY3R1YWw9ITApO3JldHVybiBhfWdldEFzSnNwYigpe3ZhciBhPW5ldyBjYWE7dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09CnZvaWQgMD9hLnNldFRyYWNraW5nUGFyYW1zKHRoaXMuai50cmFja2luZ1BhcmFtcyk6KHRoaXMuai52ZVR5cGUhPT12b2lkIDAmJl8ucXcoYSwyLF8uUHcodGhpcy5qLnZlVHlwZSkpLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJl8ucXcoYSw2LF8uUHcodGhpcy5qLnZlQ291bnRlcikpLHRoaXMuai5lbGVtZW50SW5kZXghPT12b2lkIDAmJl8ucXcoYSwzLF8uUHcodGhpcy5qLmVsZW1lbnRJbmRleCkpLHRoaXMuai5pc0NvdW50ZXJmYWN0dWFsJiZfLnF3KGEsNSxfLnh3KCEwKSkpO2lmKHRoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIGI9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNwYigpO18uS3coYSw3LGIpfXRoaXMuai55b3V0dWJlRGF0YSE9PXZvaWQgMCYmXy5LdyhhLDgsdGhpcy5qLmpzcGJZb3V0dWJlRGF0YSk7cmV0dXJuIGF9dG9TdHJpbmcoKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRBc0pzb24oKSl9aXNDbGllbnRWZSgpe3JldHVybiF0aGlzLmoudHJhY2tpbmdQYXJhbXMmJgohIXRoaXMuai52ZVR5cGV9Z2V0TG9nZ2luZ0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5qLmxvZ2dpbmdEaXJlY3RpdmVzfX07WXc9W107Wnc9MDtfLm54PW5ldyBfLkkoImludGVyYWN0aW9uTG9nZ2luZ0NvbW1hbmRNZXRhZGF0YSIpO18uZGFhPW5ldyBfLkkoIndhdGNoUGxheWxpc3RFbmRwb2ludCIpO18uZWFhPW5ldyBfLkkoInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTtfLm94PVN5bWJvbCgiTWIiKTtfLnB4PW5ldyBXZWFrTWFwO3ZhciBneD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuWT1bXTt0aGlzLk09W107dGhpcy5LPW5ldyBNYXA7dGhpcy5nYT1uZXcgTWFwO3RoaXMuRD1bXTt0aGlzLlU9W107dGhpcy52PW5ldyBNYXA7dGhpcy5JPW5ldyBNYXA7dGhpcy5vPW5ldyBNYXA7dGhpcy5qPW5ldyBTZXQ7dGhpcy5oYT1uZXcgTWFwfUNmKGEsYixjPTApe2lmKCFhKXJldHVybiExO2M9Xy5pcShjKTtpZighYylyZXR1cm4hMTtfLmZ4KHRoaXMuY2xpZW50LGMsXy5VdyhhKSxiKTtyZXR1cm4hMH1jbGlja0NvbW1hbmQoYSxiLGM9MCl7cmV0dXJuIHRoaXMuQ2YoYS5jbGlja1RyYWNraW5nUGFyYW1zLGIsYyl9c3RhdGVDaGFuZ2VkKGEsYixjPTApe3RoaXMudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChfLlV3KGEpLGIsYyl9dmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChhLGIsYz0wKXtjPT09MCYmdGhpcy5qLmhhcyhjKT90aGlzLk0ucHVzaChbYSxiXSk6Xy5teCh0aGlzLGEsYixjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeXgsengsZ2FhLEh4LEl4LGZhYSxBeCxDeDtfLnF4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5HYShiLDMsYyl9O18ucng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDIsYil9O18uc3g9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hfDA6dm9pZCAwfTtfLnR4PWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnN4KF8uZWQoYSxiKSk/P2N9O18udXg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBoPWZhYSsrO3JldHVybiBuZXcgXy5Udyh7dmVUeXBlOmEsdmVDb3VudGVyOmgsZWxlbWVudEluZGV4OmMsZGF0YUVsZW1lbnQ6Yix5b3V0dWJlRGF0YTpkLGpzcGJZb3V0dWJlRGF0YTplLGxvZ2dpbmdEaXJlY3RpdmVzOmZ9KX07Cl8udng9ZnVuY3Rpb24oYSxiLGMsZD0hMSxlLGYpe3ZhciBoPWQ/MTY6ODtkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmQsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6Zn0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6aH07ZSYmKGMuY2xpZW50RGF0YT1lKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGQsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixjLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYyxkKX07Cl8ud3g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmR4KGMsYik7ZT1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6ZX0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6MX07ZCYmKGMuY2xpZW50RGF0YT1kKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRTaG93biIsZSxjKTphP18uQ3AoInZpc3VhbEVsZW1lbnRTaG93biIsYyxhLGUpOl8uRXAoInZpc3VhbEVsZW1lbnRTaG93biIsYyxlKX07Xy54eD1mdW5jdGlvbihhKXtpZihhPT09d2luZG93KXJldHVybiBudWxsO3ZhciBiPWEucGFyZW50RWxlbWVudDtyZXR1cm4gYj9iOnR5cGVvZiBTaGFkb3dSb290IT09InVuZGVmaW5lZCImJmEuZ2V0Um9vdE5vZGUhPW51bGwmJihhPWEuZ2V0Um9vdE5vZGUoKSxhIGluc3RhbmNlb2YgU2hhZG93Um9vdCk/YS5ob3N0OndpbmRvd307Cnl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmlxKGMpO3JldHVybiBhLmNzbj09PW51bGx8fGQ9PT1hLmNzbnx8Yz9kOihhPW5ldyBfLlhqKCJWaXNpYmlsaXR5TG9nZ2VyIGNhbGxlZCBiZWZvcmUgbmV3U2NyZWVuIix7Y2FsbGVyOmIudGFnTmFtZSxwcmV2aW91c19jc246YS5jc24sY3VycmVudF9jc246ZH0pLF8uSXAoYSksbnVsbCl9O3p4PWZ1bmN0aW9uKGEsYil7YT1hLmdldERhdGEoYik7cmV0dXJuIE1hdGguZmxvb3IoTnVtYmVyKGEmJmEubG9nZ2luZ0RpcmVjdGl2ZXMmJmEubG9nZ2luZ0RpcmVjdGl2ZXMudmlzaWJpbGl0eSYmYS5sb2dnaW5nRGlyZWN0aXZlcy52aXNpYmlsaXR5LnR5cGVzfHwiIikpfHwxfTtfLkJ4PWZ1bmN0aW9uKCl7QXguaW5zdGFuY2V8fChBeC5pbnN0YW5jZT1uZXcgQXgpO3JldHVybiBBeC5pbnN0YW5jZX07Xy5EeD1mdW5jdGlvbigpe0N4Lmluc3RhbmNlfHwoQ3guaW5zdGFuY2U9bmV3IEN4KX07Cl8uRXg9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uVmkoKCk9PntpZighYi52ZVR5cGUpcmV0dXJuIF8uSHAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihiLnZpc2liaWxpdHlUeXBlcyl7dmFyIGU9Yi52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChmLGgpPT5mfGgpO2U9e3Zpc2liaWxpdHk6e3R5cGVzOlN0cmluZyhlKX19fWU9Xy51eChiLnZlVHlwZSxiLnZpc3VhbEVsZW1lbnQsYi5lbGVtZW50SW5kZXgsYi5jbGllbnRZb3VUdWJlRGF0YSx2b2lkIDAsZSk7cmV0dXJuIF8uaXgoYSxlLGMsZCk/ZTpudWxsfSkoKX07Xy5GeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9OwpfLkd4PWZ1bmN0aW9uKGEsYil7YT1hLmpmPz9hO2ZvcihsZXQgYyBvZiBhLnZpc2liaWxpdHlNb25pdG9yS2V5c3x8W10pYi5yZihjKTthLnZpc2liaWxpdHlNb25pdG9yS2V5cz12b2lkIDB9O18uSng9ZnVuY3Rpb24oYSxiKXtpZihfLmlxKCkpe2lmKF8ueCgia2V2bGFyX3ZpbWlvX3VzZV9zaGFyZWRfbW9uaXRvciIpKUh4KGEsYi5kYXRhKTtlbHNlIGlmKCFIeChhLGIuZGF0YSkpcmV0dXJuO3ZhciBjPWIuZGF0YSxkPUl4KGMpO2lmKF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSlfLkd4KGEsYi5vYnNlcnZlcik7ZWxzZXt2YXIgZT1hLmpmPz9hO2UudHJhY2tlZFBhcmFtcyYmZS50cmFja2VkUGFyYW1zIT09ZCYmXy5HeChhLGIub2JzZXJ2ZXIpfWU9YS5qZj8/YTshY3x8ZS5kYXRhJiZlLmRhdGE9PT1jfHwoZS5kYXRhPWMpO2dhYShhLGIpO2UudHJhY2tlZFBhcmFtcz1kfX07CmdhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIub2JzZXJ2ZXI7aWYoIWMmJl8ueCgid2ViX3NraXBfbWlzc2luZ192aW1pb19vYnNlcnZlciIpKV8uSXAobmV3IF8uWGooIlZpc2liaWxpdHlPYnNlcnZlciBpcyBub3QgZGVmaW5lZC4iLGEudGFnTmFtZSxhLnRyYWNrZWRQYXJhbXMsYi5kYXRhPy50cmFja2luZ1BhcmFtcyxiLmRhdGE/LmxvZ2dpbmdEaXJlY3RpdmVzKSk7ZWxzZXt2YXIgZD1iLmxheWVyLGU9Yi5OYnx8KCgpPT57fSksZj1iLkxqLGg9YS5qZj8/YSxrPVtdO2IuZWImJmsucHVzaChjLm9ic2VydmUoYSwoKT0+e2IueEEmJmIueEEoKXx8KF8uRHgoKSxfLlZpKF8uQngoKS5ZKS5iaW5kKF8uQngoKSkoaCx2b2lkIDAsZCw3KSk7ZSghMCl9LGIuZWIpKTtiLk5jJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9PntfLkR4KCk7Xy5WaShfLkJ4KCkuSSkuYmluZChfLkJ4KCkpKGgsdm9pZCAwLGQsNyk7ZSghMSl9LGIuTmMpKTtiLkxoJiZmJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9Pgp7ZigpfSxiLkxoKSk7aC52aXNpYmlsaXR5TW9uaXRvcktleXM9a319OwpIeD1mdW5jdGlvbihhLGIpe2E9YS5qZj8/YTtpZihhLnZpc3VhbEVsZW1lbnQmJiFiKXJldHVybiEwO2lmKCFiKXJldHVybiExO3ZhciBjPSExO18ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmKGM9ISFiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSk7dmFyIGQ9SXgoYik7aWYoIWQmJiFjKXJldHVybiExO18ueCgibXdlYl9jb21wb25lbnRfdmlzaWJpbGl0eV9sb2dnaW5nIikmJihhLnZlQ29udGFpbmVyfHwoYS52ZUNvbnRhaW5lcj17fSksYS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtcz1kKTtpZihhLnRyYWNrZWRQYXJhbXMmJmEudHJhY2tlZFBhcmFtcz09PWR8fF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmYS52aXN1YWxFbGVtZW50Py5pc0NsaWVudFZlKCkmJihjPWEudmlzdWFsRWxlbWVudD8uZ2V0QXNKc3BiKCksXy50eChjLDIpPT09Yi5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGUmJgpfLnR4KGMsMywtMSk9PT1iLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LmVsZW1lbnRJbmRleCkpcmV0dXJuITE7Xy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWNfbG9nZ2luZyIpJiYhYS52aXN1YWxFbGVtZW50JiZiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSYmKGM9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlLGQ9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuZWxlbWVudEluZGV4LGI9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuY2xpZW50WW91dHViZURhdGEsYS52aXN1YWxFbGVtZW50PV8uRXgoXy5oeCgpLHt2ZVR5cGU6YyxlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTpifSkpO3JldHVybiEwfTsKSXg9ZnVuY3Rpb24oYSl7aWYoYT8ucmVuZGVyZXJDb250ZXh0KXtsZXQgYj1fLkIoYS5yZW5kZXJlckNvbnRleHQsXy5LeCk7aWYoYj8ubG9nZ2luZ0RpcmVjdGl2ZXMpcmV0dXJuIGIubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXN9cmV0dXJuIGE/LmxvZ2dpbmdEaXJlY3RpdmVzP2EubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXM6YT8udHJhY2tpbmdQYXJhbXN9O2ZhYT0xOwpBeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgU2V0O3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMuY2xpZW50PXZvaWQgMDt0aGlzLmNzbj1udWxsfUsoKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Xy5pcSgpfWNsZWFyKCl7dGhpcy5ELmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5jc249bnVsbH1ZKGEsYixjLGQpe3ZhciBlPXRoaXMuaihhKSxmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuRC5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkQuYWRkKGYpO3RoaXMuby5zZXQoZiwhMCk7YS5pbXByZXNzaW9uTG9nJiYhYiYmYS5pbXByZXNzaW9uTG9nKCk7aWYoZXx8YS52aXN1YWxFbGVtZW50KWlmKGM9eXgodGhpcyxhLGMpKXt2YXIgaz0hIXRoaXMuZ2V0RGF0YShhKT8ubG9nZ2luZ0RpcmVjdGl2ZXM7aWYoengodGhpcyxhKXx8aylmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Cl8uVXcoZSksYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhfHwoYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhPXt9KSxlPWEuaW50ZXJhY3Rpb25Mb2dnaW5nQ2xpZW50RGF0YSxrfHxiP3p4KHRoaXMsYSkmND9ofHwoYT10aGlzLmNsaWVudCxfLmR4KGYsYyksZD1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGMpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxjKSxiPXtjc246Yyx2ZTpmLmdldEFzSnNvbigpLGV2ZW50VHlwZTo0fSxlJiYoYi5jbGllbnREYXRhPWUpLGM9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudFNob3duIixkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFNob3duIixiLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudFNob3duIixiLGQpKTp6eCh0aGlzLGEpJjEmJiFiJiZfLnd4KHRoaXMuY2xpZW50LGMsZixlLGQpOl8ud3godGhpcy5jbGllbnQsYyxmLGUsZCl9fUkoYSxiLGMsZCl7dmFyIGU9dGhpcy5qKGEpLApmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuQi5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkIuYWRkKGYpO3RoaXMuby5zZXQoZiwhMSk7aWYoaD09PSExKXJldHVybiEwO2lmKCFlJiYhYS52aXN1YWxFbGVtZW50KXJldHVybiExO2M9eXgodGhpcyxhLGMpO2lmKCFjfHwhengodGhpcyxhKSYmdGhpcy5nZXREYXRhKGEpPy5sb2dnaW5nRGlyZWN0aXZlcylyZXR1cm4hMTtlPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Xy5VdyhlKTt6eCh0aGlzLGEpJjg/Xy52eCh0aGlzLmNsaWVudCxjLGUsdm9pZCAwLHZvaWQgMCxkKTp6eCh0aGlzLGEpJjImJiFiJiYoYT10aGlzLmNsaWVudCxkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpkfSxjKSxiPXtjc246Yyx2ZTplLmdldEFzSnNvbigpLGV2ZW50VHlwZToyfSxjPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLApkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYixhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGIsZCkpO3JldHVybiEwfWooYSl7dmFyIGI9dGhpcy5nZXREYXRhKGEpO3JldHVybiBfLngoImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCIpJiZiPy5jb250ZXh0Py5sb2dnaW5nQ29udGV4dD8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5jb250ZXh0LmxvZ2dpbmdDb250ZXh0LmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zfHwiIjpiPy5yZW5kZXJlckNvbnRleHQ/LmxvZ2dpbmdDb250ZXh0Py5sb2dnaW5nRGlyZWN0aXZlcz9iLnJlbmRlcmVyQ29udGV4dC5sb2dnaW5nQ29udGV4dC5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6YS52ZUNvbnRhaW5lcj8udHJhY2tpbmdQYXJhbXM/YS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtczoKYj8udHJhY2tpbmdQYXJhbXN8fCIifXYoYSl7aWYoXy54KCJ3aXpfbmV4dF9jbGllbnRfdmVfcGFyZW50X2ZpeCIpKXt2YXIgYj10aGlzLmooYSk7cmV0dXJuIGEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Yj9fLlV3KGIpOihhPV8ueHgoYSkpP3RoaXMudihhKTpudWxsfWI9dGhpcy5qKGEpO3JldHVybiBhLnZpc3VhbEVsZW1lbnQ/YS52aXN1YWxFbGVtZW50OmI/Xy5VdyhiKTphLnBhcmVudEVsZW1lbnQ/dGhpcy52KGEucGFyZW50RWxlbWVudCk6bnVsbH1nZXREYXRhKGEpe3ZhciBiPWEuZGF0YXx8YS5wcm9wcz8uZGF0YTtpZighYnx8YS5pc1dlYkNvbXBvbmVudFdyYXBwZXIpYj1fLnB4LmdldChhKT8uW18ub3hdO3JldHVybiBifX07Q3g9Y2xhc3N7Y2xlYXIoKXtfLlZpKF8uQngoKS5jbGVhcikuYmluZChfLkJ4KCkpKCl9fTtfLkt4PW5ldyBfLkkoImxvZ2dpbmdDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTHg9bmV3IF8uVnMoIlZJU0lCSUxJVFlfT0JTRVJWRVIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE94LFB4LFF4LFN4LFR4LFZ4LGhhYSxpYWEsamFhLCR4LGF5LGN5LGJ5LGthYSxkeSxsYWEsZXksZ3ksaHksaXksb3kscHkscXkscnksdHksdnksb2FhLHBhYSxreTtfLk14PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITE7ZD1fLmRkKGEsZCxlLGg9Pnt2YXIgaz1fLmt3KGgsYyxiKTtmPWshPT1oJiZrIT1udWxsO3JldHVybiBrfSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uQmMoZCkmJl8ub3coYSxiKSxkfTtfLk54PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuRGEsZj1lW18uQWNdfDA7Yj1fLk14KGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5BY118MDtpZighXy5CYyhhLGYpKXtsZXQgaD1fLmx3KGIpO2ghPT1iJiYoXy5tdyhhKSYmKGU9YS5EYSxmPWVbXy5BY118MCksYj1oLGY9Xy5wdyhlLGYsYyxiLGQpLF8ub3coZSxmKSl9cmV0dXJuIGJ9OwpPeD1mdW5jdGlvbihhKXthLlp8fChhLlo9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O1B4PWZ1bmN0aW9uKGEsYil7aWYoYS5yYSl7YS5EJiYoY2xlYXJUaW1lb3V0KGEuRCksYS5EPW51bGwpO2xldCBjPWEucmE7YS5yYT1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07UXg9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5yYSYmKGEudj0hMCxhLnJhLmFib3J0KCksYS52PSExKTthLkI9YjtPeChhKTtQeChhKX07Xy5SeD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEucmE/YS5yYS5yZWFkeVN0YXRlOjApPjI/YS5yYS5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTsKU3g9ZnVuY3Rpb24oYSl7aWYoYS5qJiZ0eXBlb2YgXy5DcSE9InVuZGVmaW5lZCIpaWYoYS5JJiYoYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk9PTQpc2V0VGltZW91dChhLmdyLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSxhLmlzQ29tcGxldGUoKSl7YS5qPSExO3RyeXtpZihhLmlzU3VjY2VzcygpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle3RyeXt2YXIgYj0oYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk+Mj9hLnJhLnN0YXR1c1RleHQ6IiJ9Y2F0Y2goYyl7Yj0iIn1hLkI9YisiIFsiK18uUngoYSkrIl0iO094KGEpfX1maW5hbGx5e1B4KGEpfX19OwpUeD1mdW5jdGlvbigpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLmo9ITE7dGhpcy5yYT1udWxsO3RoaXMuQj10aGlzLmhhPSIiO3RoaXMudj10aGlzLmdhPXRoaXMuST10aGlzLlo9ITE7dGhpcy5VPTA7dGhpcy5EPW51bGw7dGhpcy55YT0iIjt0aGlzLm9hPSExfTtfLlV4PWZ1bmN0aW9uKGEpe18uRHgoKTtyZXR1cm4gXy5WaShfLkJ4KCkudikuYmluZChfLkJ4KCkpKGEpfTtWeD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiKSYmYi5jbGllbnRWZVNwZWM/KGI9Xy51eChiLmNsaWVudFZlU3BlYy51aVR5cGUsdm9pZCAwLGIuY2xpZW50VmVTcGVjLmVsZW1lbnRJbmRleCxiLmNsaWVudFZlU3BlYy5jbGllbnRZb3V0dWJlRGF0YSx2b2lkIDAsYiksXy5peChhLGIsYyxkKT9iOm51bGwpOmIudHJhY2tpbmdQYXJhbXM/Xy5seChhLGIudHJhY2tpbmdQYXJhbXMsYyxkKTpudWxsfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkLGUpe18ubncoYSk7dmFyIGY9YS5EYTtfLnB3KGYsZltfLkFjXXwwLGIsKGQ9PT0iMCI/TnVtYmVyKGMpPT09MDpjPT09ZCk/dm9pZCAwOmMsZSk7cmV0dXJuIGF9O18uWHg9ZnVuY3Rpb24oYSxiKXtpZihiPT1udWxsfHxiPT0iIilyZXR1cm4gbmV3IGE7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJ6Iik7YltfLkFjXXw9MzI7cmV0dXJuIG5ldyBhKGIpfTtfLll4PWZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLlRhKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5UYShjKX07Xy5aeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9OwpoYWE9ZnVuY3Rpb24oYSl7aWYoYS5NYyYmdHlwZW9mIGEuTWM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuTWMoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLnlhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLlp4KGEpfTsKaWFhPWZ1bmN0aW9uKGEpe2lmKGEucmQmJnR5cGVvZiBhLnJkPT0iZnVuY3Rpb24iKXJldHVybiBhLnJkKCk7aWYoIWEuTWN8fHR5cGVvZiBhLk1jIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy55YShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9W107YT1hLmxlbmd0aDtmb3IobGV0IGM9MDtjPGE7YysrKWIucHVzaChjKTtyZXR1cm4gYn1yZXR1cm4gXy5GeChhKX19fTsKamFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJnR5cGVvZiBhLmZvckVhY2g9PSJmdW5jdGlvbiIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLnlhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2V7bGV0IGQ9aWFhKGEpLGU9aGFhKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxmO2grKyliLmNhbGwoYyxlW2hdLGQmJmRbaF0sYSl9fTskeD1mdW5jdGlvbihhLGIpe3RoaXMubz10aGlzLmo9bnVsbDt0aGlzLnY9YXx8bnVsbDt0aGlzLkI9ISFifTtheT1mdW5jdGlvbihhKXthLmp8fChhLmo9bmV3IE1hcCxhLm89MCxhLnYmJl8uUmIoYS52LGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5IYihiKSxjKX0pKX07Y3k9ZnVuY3Rpb24oYSxiKXtheShhKTtiPWJ5KGEsYik7cmV0dXJuIGEuai5oYXMoYil9O2J5PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5CJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTsKa2FhPWZ1bmN0aW9uKGEsYil7YiYmIWEuQiYmKGF5KGEpLGEudj1udWxsLGEuai5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSx0aGlzLnJlbW92ZShlKSxjLmxlbmd0aD4wJiYodGhpcy52PW51bGwsdGhpcy5qLnNldChieSh0aGlzLGUpLF8ueWIoYykpLHRoaXMubys9Yy5sZW5ndGgpKX0sYSkpO2EuQj1ifTtkeT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07bGFhPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9OwpleT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYixsYWEpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Cl8uZnk9ZnVuY3Rpb24oYSl7dGhpcy5vPXRoaXMuST10aGlzLkI9IiI7dGhpcy5ZPW51bGw7dGhpcy52PXRoaXMuaj0iIjt0aGlzLkQ9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uZnk/KHRoaXMuRD1hLkQsZ3kodGhpcyxhLkIpLHRoaXMuST1hLkksdGhpcy5vPWEubyxoeSh0aGlzLGEuWSksdGhpcy5qPWEuaixpeSh0aGlzLGEuSy5jbG9uZSgpKSx0aGlzLnY9YS52KTphJiYoYj1fLk1iKFN0cmluZyhhKSkpPyh0aGlzLkQ9ITEsZ3kodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5JPWR5KGJbMl18fCIiKSx0aGlzLm89ZHkoYlszXXx8IiIsITApLGh5KHRoaXMsYls0XSksdGhpcy5qPWR5KGJbNV18fCIiLCEwKSxpeSh0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnY9ZHkoYls3XXx8IiIpKToodGhpcy5EPSExLHRoaXMuSz1uZXcgJHgobnVsbCx0aGlzLkQpKX07Z3k9ZnVuY3Rpb24oYSxiLGMpe2EuQj1jP2R5KGIsITApOmI7YS5CJiYoYS5CPWEuQi5yZXBsYWNlKC86JC8sIiIpKX07Cmh5PWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiS2FgIitiKTthLlk9Yn1lbHNlIGEuWT1udWxsfTtpeT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mICR4PyhhLks9YixrYWEoYS5LLGEuRCkpOihjfHwoYj1leShiLG1hYSkpLGEuSz1uZXcgJHgoYixhLkQpKX07Xy5qeT1mdW5jdGlvbihhLGIpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLnY9YXx8MTt0aGlzLmo9Ynx8Xy51O3RoaXMuQj0oMCxfLkNhKSh0aGlzLmFCLHRoaXMpO3RoaXMuRD1fLkVhKCl9O18ubHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9bmV3IFR4O2t5LnB1c2goayk7YiYmay5saXN0ZW4oImNvbXBsZXRlIixiKTtfLmJmKGssInJlYWR5IixrLlB1KTtmJiYoay5VPU1hdGgubWF4KDAsZikpO2gmJihrLm9hPWgpO2suc2VuZChhLGMsZCxlKX07Xy5teT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYS5yZWdpc3Rlci52YWx1ZXMoKSliLnpnKCJBQk9SVEVEIil9OwpfLm55PWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYi50eXBlKXtjYXNlICJtYXBwaW5nIjpyZXR1cm4gYi52YWx1ZTtjYXNlICJmYWN0b3J5IjpyZXR1cm4gYj1iLnZhbHVlKCksYS5tYXBwaW5ncy5zZXQoYy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSksYjtkZWZhdWx0OnJldHVybiBfLmViKGIsdm9pZCAwKX19OwpveT1mdW5jdGlvbihhLGIsYyl7aWYoXy54KCJkZWJ1Z193ZWJfdmVfZGF0YSIpKXt2YXIgZD1fLkIoYz8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlczshZCYmYyYmKGQ9Yy5sb2dnaW5nRGlyZWN0aXZlcyk7YTp7aWYoZD1jPy50cmFja2luZ1BhcmFtcz8/ZD8udHJhY2tpbmdQYXJhbXMpdHJ5e3ZhciBlPV8uQ28oZCk7aWYoZSl7bGV0IGg9Xy5FbyhlLDEpLGs9Xy5FbyhlLDIpO2U9e307aCE9PXZvaWQgMCYmKGUuR3M9TnVtYmVyKGgpKTtrIT09dm9pZCAwJiYoZS52ZVR5cGU9TnVtYmVyKGspKTt2YXIgZj1lO2JyZWFrIGF9fWNhdGNoKGgpe31mPXZvaWQgMH1mPy52ZVR5cGUhPT12b2lkIDAmJihhLmRhdGFzZXQudmU9U3RyaW5nKGYudmVUeXBlKSk7Zj8uR3MhPT12b2lkIDAmJihhLmRhdGFzZXQudmVJbmRleD1TdHJpbmcoZi5HcykpOyhjPWM/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSl8fChjPWIudmVUeXBlfHxiLmxvZ2dpbmdDb25maWc/LnZlVHlwZSk7CmMmJihhLmRhdGFzZXQudmU9U3RyaW5nKGMpKX19O3B5PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxheWVyIT09dm9pZCAwP2EubGF5ZXI6YS5wYXJlbnQ/cHkoYS5wYXJlbnQpOmEubGF5ZXI9MH07cXk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnB4LmdldChhKXx8e1plOmJ9O2MuWmU9YjtfLnB4LnNldChhLGMpO2EuZ2V0U2NyZWVuTGF5ZXI9KCk9PnB5KGMuWmUpfTtyeT1mdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7YSYmIV8ucHguZ2V0KGEpPy5XeCYmIShhLmpmPz9hKS5ESjspYT1hLnBhcmVudE5vZGV8fGEuaG9zdDtpZihhKXJldHVybiBfLnB4LmdldChhKX07Xy5zeT1mdW5jdGlvbihhKXtpZihhKXtfLnB4LmRlbGV0ZShhKTtsZXQgYj1fLnkoKS5yZXNvbHZlKF8uTHgpO18uR3goYSxiKX19OwpfLnV5PWZ1bmN0aW9uKGEsYixjPSExKXtpZihjKXtpZihjPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpLGIuZGF0YSYmIWIuQkl8fGMpXy50digoKT0+e3ZhciBkPV8uQnYoYi5kYXRhKTt0eShhLGQpO295KGEsYixkKX0sImEiKSxfLll1KCgpPT52b2lkIF8uc3koYSkpfWVsc2UgdHlwZW9mIGIuZGF0YSE9PSJmdW5jdGlvbiImJihjPWIuZGF0YSx0eShhLGMpLG95KGEsYixjKSl9Owp0eT1mdW5jdGlvbihhLGIpe25hYSsrO3Z5KGEsYikmJl8uQ2soKS5HYSgoKT0+e18ucXgoXy5DaygpLCgpPT57aWYodnkoYSxiKSYmYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYSl7dmFyIGM7aWYoYS5nZXRBdHRyaWJ1dGUoImxheWVyIikpe3ZhciBkPWM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJsYXllciIpKSxlPV8ucHguZ2V0KGEpO2U/ZS5aZS5sYXllcj1kOnF5KGEsbmV3IHd5KGQpKTsoZD1yeShhKSkmJl8ucHguZ2V0KGEpPy5aZS5zZXRQYXJlbnQoZC5aZSl9ZWxzZShjPV8ucHguZ2V0KGEpKT9jPXB5KGMuWmUpOihjPXB5LGQ9bmV3IHd5LChlPXJ5KGEpKSYmZC5zZXRQYXJlbnQoZS5aZSkscXkoYSxkKSxjPWMoZCkpO2M/PyhjPTApO2Q9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC12ZS10eXBlIik7ZT1OdW1iZXIoZCk7dmFyIGY9ITE7ZD0hMTt2YXIgaD1fLnB4LmdldChhKTtoJiYoaFtfLm94XSE9PWJ8fGUmJl8ucHguZ2V0KGEpPy5VZD09PQp2b2lkIDApJiYoaFtfLm94XT1iLGY9ZD1oLld4PSEwKTtfLnB4LmhhcyhhKSYmKF8ucHguZ2V0KGEpLlVkPWUpO2EudmlzdWFsRWxlbWVudCYmKGQ9ITApO3ZhciBrO18ueCgid2l6X25leHRfbGRfZml4X2NsaWVudF92ZV9zcGVjIik/az1fLkIoYj8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM6az1iPy5sb2dnaW5nRGlyZWN0aXZlcztfLngoIndpel9uZXh0X2NsaWVudF92ZV9wYXJlbnRfZml4Iik/ayYmKGsuY2xpZW50VmVTcGVjfHxrLnRyYWNraW5nUGFyYW1zKSYmKGg9KGg9Xy54eChhKSk/Xy5VeChoKTpudWxsLGs9VngoXy5oeCgpLGssaHx8dm9pZCAwLGMpKSYmKGEudmlzdWFsRWxlbWVudD1rKTprJiZrLmNsaWVudFZlU3BlYyYmKGg9Xy5VeChhKSxrPVZ4KF8uaHgoKSxrLGh8fHZvaWQgMCxjKSkmJihhLnZpc3VhbEVsZW1lbnQ9ayk7IWEudmlzdWFsRWxlbWVudCYmZSYmZiYmKGEudmVUeXBlPWUsaz12b2lkIDAsCl8ueCgid2l6X25leHRfY2xpZW50X3ZlX3BhcmVudF9maXgiKSYmKGU9Xy54eChhKSkmJihrPV8uVXgoZSkpLGs9Xy5FeChfLmh4KCksYSxrLGMpLGEudmlzdWFsRWxlbWVudD1rKTtkJiYoaz1fLnkoKS5yZXNvbHZlKF8uTHgpLF8uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmssbGF5ZXI6YyxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifSxOYzp7VmI6ITEsc3RhdGU6ImhpZGRlbiJ9fSkpfX0sMCl9LDgpfTt2eT1mdW5jdGlvbihhLGIpe3JldHVybiBiPy50cmFja2luZ1BhcmFtc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXN8fF8uQihiPy5yZW5kZXJlckNvbnRleHQsXy5LeCl8fGEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpPyEwOiExfTtvYWE9L15odHRwcz8kL2k7cGFhPVsiUE9TVCIsIlBVVCJdO2t5PVtdO18uSGEoVHgsXy5nZik7Xy5nPVR4LnByb3RvdHlwZTtfLmcuUHU9ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKTtfLnhiKGt5LHRoaXMpfTsKXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5yYSl0aHJvdyBFcnJvcigiUGFgIit0aGlzLmhhKyJgIithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuaGE9YTt0aGlzLkI9IiI7dGhpcy5aPSExO3RoaXMuaj0hMDt0aGlzLnJhPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLnJhLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnlnKSgoMCxfLkNhKSh0aGlzLmdyLHRoaXMpKTt0cnl7dGhpcy5nYT0hMCx0aGlzLnJhLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuZ2E9ITF9Y2F0Y2goZil7UXgodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLApkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiUWFgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8udS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8udS5Gb3JtRGF0YTshKF8uc2IocGFhLGIpPj0wKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixoXW9mIGMpdGhpcy5yYS5zZXRSZXF1ZXN0SGVhZGVyKGYsaCk7dGhpcy55YSYmKHRoaXMucmEucmVzcG9uc2VUeXBlPXRoaXMueWEpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5yYSYmdGhpcy5yYS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLm9hJiYodGhpcy5yYS53aXRoQ3JlZGVudGlhbHM9dGhpcy5vYSk7dHJ5e3RoaXMuRCYmKGNsZWFyVGltZW91dCh0aGlzLkQpLHRoaXMuRD1udWxsKSx0aGlzLlU+MCYmKHRoaXMuRD1zZXRUaW1lb3V0KHRoaXMuZEIuYmluZCh0aGlzKSwKdGhpcy5VKSksdGhpcy5JPSEwLHRoaXMucmEuc2VuZChhKSx0aGlzLkk9ITF9Y2F0Y2goZil7UXgodGhpcyxmKX19O18uZy5kQj1mdW5jdGlvbigpe3R5cGVvZiBfLkNxIT0idW5kZWZpbmVkIiYmdGhpcy5yYSYmKHRoaXMuQj0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5VKyJtcywgYWJvcnRpbmciLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTtfLmcuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJhJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxQeCh0aGlzKSl9O18uZy5sYT1mdW5jdGlvbigpe3RoaXMucmEmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEpLFB4KHRoaXMsITApKTtUeC56Yi5sYS5jYWxsKHRoaXMpfTsKXy5nLmdyPWZ1bmN0aW9uKCl7dGhpcy5pYSgpfHwodGhpcy5nYXx8dGhpcy5JfHx0aGlzLnY/U3godGhpcyk6dGhpcy5seigpKX07Xy5nLmx6PWZ1bmN0aW9uKCl7U3godGhpcyl9O18uZy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5yYX07Xy5nLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yYT90aGlzLnJhLnJlYWR5U3RhdGU6MCk9PTR9O18uZy5pc1N1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYT1fLlJ4KHRoaXMpLGI7aWYoIShiPV8uc2YoYSkpKXtpZihhPWE9PT0wKWE9Xy5PYihTdHJpbmcodGhpcy5oYSkpLGE9IW9hYS50ZXN0KGEpO2I9YX1yZXR1cm4gYn07Xy5nLmdldExhc3RFcnJvcj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5CPT09InN0cmluZyI/dGhpcy5COlN0cmluZyh0aGlzLkIpfTtfLmc9JHgucHJvdG90eXBlOwpfLmcuYWRkPWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO3ZhciBjPXRoaXMuai5nZXQoYSk7Y3x8dGhpcy5qLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7YXkodGhpcyk7YT1ieSh0aGlzLGEpO3JldHVybiB0aGlzLmouaGFzKGEpPyh0aGlzLnY9bnVsbCx0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoLHRoaXMuai5kZWxldGUoYSkpOiExfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy52PW51bGw7dGhpcy5vPTB9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7YXkodGhpcyk7cmV0dXJuIHRoaXMubz09MH07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtheSh0aGlzKTt0aGlzLmouZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Cl8uZy5yZD1mdW5jdGlvbigpe2F5KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5qLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5qLmtleXMoKSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O18uZy5NYz1mdW5jdGlvbihhKXtheSh0aGlzKTt2YXIgYj1bXTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWN5KHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuai5nZXQoYnkodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmoudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpfLmcuc2V0PWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO2N5KHRoaXMsYSkmJih0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoKTt0aGlzLmouc2V0KGEsW2JdKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPXRoaXMuTWMoYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9OwpfLmcudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuIHRoaXMudjtpZighdGhpcy5qKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmoua2V5cygpKTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGM9YltkXTtsZXQgZT1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTtjPXRoaXMuTWMoYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBoPWU7Y1tmXSE9PSIiJiYoaCs9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoY1tmXSkpKTthLnB1c2goaCl9fXJldHVybiB0aGlzLnY9YS5qb2luKCImIil9O18uZy5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyAkeDthLnY9dGhpcy52O3RoaXMuaiYmKGEuaj1uZXcgTWFwKHRoaXMuaiksYS5vPXRoaXMubyk7cmV0dXJuIGF9OwpfLmcuZXh0ZW5kPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YXJndW1lbnRzLmxlbmd0aDtiKyspamFhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTt2YXIgeHk9L1sjXC9cP0BdL2cscWFhPS9bI1w/XS9nLHJhYT0vWyNcPzpdL2csc2FhPS8jL2csbWFhPS9bI1w/QF0vZzsKXy5meS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQjtiJiZhLnB1c2goZXkoYix4eSwhMCksIjoiKTt2YXIgYz10aGlzLm87aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkkpJiZhLnB1c2goZXkoYix4eSwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLlksYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5qKXRoaXMubyYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKGV5KGMsYy5jaGFyQXQoMCk9PSIvIj9xYWE6cmFhLCEwKSk7KGM9dGhpcy5LLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMudikmJmEucHVzaCgiIyIsZXkoYyxzYWEpKTtyZXR1cm4gYS5qb2luKCIiKX07Cl8uZnkucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jbG9uZSgpLGM9ISFhLkI7Yz9neShiLGEuQik6Yz0hIWEuSTtjP2IuST1hLkk6Yz0hIWEubztjP2Iubz1hLm86Yz1hLlkhPW51bGw7dmFyIGQ9YS5qO2lmKGMpaHkoYixhLlkpO2Vsc2UgaWYoYz0hIWEuail7aWYoZC5jaGFyQXQoMCkhPSIvIilpZih0aGlzLm8mJiF0aGlzLmopZD0iLyIrZDtlbHNle3ZhciBlPWIuai5sYXN0SW5kZXhPZigiLyIpO2UhPS0xJiYoZD1iLmouc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT0iLi4ifHxlPT0iLiIpZD0iIjtlbHNlIGlmKGUuaW5kZXhPZigiLi8iKSE9LTF8fGUuaW5kZXhPZigiLy4iKSE9LTEpe2Q9ZS5sYXN0SW5kZXhPZigiLyIsMCk9PTA7ZT1lLnNwbGl0KCIvIik7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDspe2xldCBrPWVbaCsrXTtrPT0iLiI/ZCYmaD09ZS5sZW5ndGgmJmYucHVzaCgiIik6az09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0KMSYmZlswXSE9IiIpJiZmLnBvcCgpLGQmJmg9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGspLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmo9ZDpjPWEuSy50b1N0cmluZygpIT09IiI7Yz9peShiLGEuSy5jbG9uZSgpKTpjPSEhYS52O2MmJihiLnY9YS52KTtyZXR1cm4gYn07Xy5meS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uZnkodGhpcyl9O18uZnkucHJvdG90eXBlLmFtPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uSGEoXy5qeSxfLmdmKTtfLmc9Xy5qeS5wcm90b3R5cGU7Xy5nLmVuYWJsZWQ9ITE7Xy5nLnNjPW51bGw7Xy5nLnNldEludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMudj1hO3RoaXMuc2MmJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnNjJiZ0aGlzLnN0b3AoKX07Cl8uZy5hQj1mdW5jdGlvbigpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9Xy5FYSgpLXRoaXMuRDthPjAmJmE8dGhpcy52Ki44P3RoaXMuc2M9dGhpcy5qLnNldFRpbWVvdXQodGhpcy5CLHRoaXMudi1hKToodGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18uZy5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnNjfHwodGhpcy5zYz10aGlzLmouc2V0VGltZW91dCh0aGlzLkIsdGhpcy52KSx0aGlzLkQ9Xy5FYSgpKX07Xy5nLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKX07Xy5nLmxhPWZ1bmN0aW9uKCl7Xy5qeS56Yi5sYS5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmp9O18uQXk9bmV3IF8uSSgiY29udGludWF0aW9uQ29tbWFuZCIpO18uQnk9bmV3IF8uSSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO18uQ3k9bmV3IF8uSSgidW5kb0ZlZWRiYWNrRW5kcG9pbnQiKTtfLkR5PW5ldyBfLkkoInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgdGFhO3RhYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXI9bmV3IE1hcH1jbGVhcigpe18ubXkodGhpcyk7dGhpcy5yZWdpc3Rlci5jbGVhcigpfX07Xy5FeT1uZXcgdGFhO3ZhciB1YWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e319Y29udGFpbnMoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmosYSl9Z2V0KGEpe2lmKHRoaXMuY29udGFpbnMoYSkpcmV0dXJuIHRoaXMualthXX1zZXQoYSxiKXt0aGlzLmpbYV09Yn1yZCgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmopfXJlbW92ZShhKXtkZWxldGUgdGhpcy5qW2FdfX07Xy5HeT1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcHBpbmdzPW5ldyB1YWE7dGhpcy5qPW5ldyBTZXR9Z2V0KGEpe3ZhciBiPXRoaXMubWFwcGluZ3MuZ2V0KGEudG9TdHJpbmcoKSk7cmV0dXJuIF8ubnkodGhpcyxiLGEpfW9uTG9hZEVycm9yKGEpe3RoaXMuai5hZGQoYSk7cmV0dXJuKCk9Pnt0aGlzLmouZGVsZXRlKGEpfX19O18uSHk9bmV3IF8uVnMoIkFTWU5DX0lOTkVSVFVCRV9UUkFOU1BPUlRfVE9LRU4iKTtfLkl5PW5ldyBfLlZzKCJJTk5FUlRVQkVfVFJBTlNQT1JUX1RPS0VOIik7Xy5KeT1uZXcgXy5WcygiUkVTUE9OU0VfUFJPQ0VTU09SX01BUF9UT0tFTiIpO3ZhciB3eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmxheWVyPWF9c2V0UGFyZW50KGEpe3RoaXMucGFyZW50PWF9fTt2YXIgbmFhPTA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udmFhPSJwbGF5ZXJfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB4YWEseWFhLHphYSxWeSwkeSxheixieixjeixBYWEsaHosQmFhLENhYSxpeixreixFYWEsdHosd2FhLFJ5LFN5LEhhYSxJYWEsRGFhLEZhYSxkeixqeixleixmejtfLkt5PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkJmKXJldHVybiBhO3ZhciBiPW5ldyBfLkJmKF8uZ2QpO18uQWYoYiwyLGEpO3JldHVybiBifTtfLkx5PWZ1bmN0aW9uKGEsYil7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18uTXk9ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5OeT1mdW5jdGlvbihhKXthPV8uTWIoYSk7cmV0dXJuIF8uSWIobnVsbCxudWxsLG51bGwsbnVsbCxhWzVdLGFbNl0sYVs3XSl9O18uT3k9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCIjIik7cmV0dXJuIGI8MD9hOmEuc2xpY2UoMCxiKX07Cl8uUHk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goXy5ZYiksZD0wLGUsZj1bXTsoZT1fLlhiKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKCImIixlKSsxfHxjLGMpO2YucHVzaChhLnNsaWNlKGQpKTtyZXR1cm4gZi5qb2luKCIiKS5yZXBsYWNlKHdhYSwiJDEiKX07eGFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGg9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxoO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IobGV0IGsgaW4gYSkhaXNOYU4oaykmJmMoK2ssYVtrXSl9fTtfLlF5PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTsKeWFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uR2EoXy5KYyk7cmV0dXJuIGI/YVtiXTp2b2lkIDB9O3phYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBSeXx8KFJ5PVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/U3l8fChTeT1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLlR5PWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Xy5VeT1mdW5jdGlvbihhLGIpe3JldHVybiBhPSgyJmI/YXwyOmEmLTMpJi0yNzN9O1Z5PWZ1bmN0aW9uKGEsYil7MiZiJiYoYXw9Mik7cmV0dXJuIGF8MX07Cl8uV3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCxrKXt2YXIgbD1fLkJjKGEsYyk7Zj1sPzE6ZjtoPSEhaHx8Zj09PTM7bD1rJiYhbDsoZj09PTJ8fGwpJiZfLm13KGEpJiYoYj1hLkRhLGM9YltfLkFjXXwwKTthPV8uZGQoYixlKTtrPUFycmF5LmlzQXJyYXkoYSk/YTpfLm1yO3ZhciBtPWs9PT1fLm1yPzc6a1tfLkFjXXwwLG49VnkobSxjKTtpZihhPSEoNCZuKSl7dmFyIHA9ayxyPWM7bGV0IHQ9ISEoMiZuKTt0JiYocnw9Mik7bGV0IHY9IXQsej0hMCxFPTAsQT0wO2Zvcig7RTxwLmxlbmd0aDtFKyspe2xldCBGPV8ua3cocFtFXSxkLHIpO2lmKEYgaW5zdGFuY2VvZiBkKXtpZighdCl7bGV0IEM9Xy5CYyhGKTt2JiYodj0hQyk7eiYmKHo9Qyl9cFtBKytdPUZ9fUE8RSYmKHAubGVuZ3RoPUEpO258PTQ7bj16P24mLTQwOTc6bnw0MDk2O249dj9ufDg6biYtOX1uIT09bSYmKGtbXy5BY109biwyJm4mJk9iamVjdC5mcmVlemUoaykpO2lmKGwmJiEoOCZufHwhay5sZW5ndGgmJihmPT09MXx8CihmIT09ND8wOjImbnx8ISgxNiZuKSYmMzImYykpKSl7Xy5UeShuKSYmKGs9Wy4uLmtdLG49Xy5VeShuLGMpLGM9Xy5wdyhiLGMsZSxrKSk7ZD1rO2w9bjtmb3IobT0wO208ZC5sZW5ndGg7bSsrKXA9ZFttXSxuPV8ubHcocCkscCE9PW4mJihkW21dPW4pO2x8PTg7bj1sPWQubGVuZ3RoP2x8NDA5NjpsJi00MDk3O2tbXy5BY109bn1kPWs7bD1rPW47Zj09PTF8fChmIT09ND8wOjIma3x8ISgxNiZrKSYmMzImYyk/Xy5UeShrKXx8KGt8PSFkLmxlbmd0aHx8YSYmISg0MDk2JmspfHwzMiZjJiYhKDQwOTYma3x8MTYmayk/MjoyNTYsayE9PWwmJihkW18uQWNdPWspLE9iamVjdC5mcmVlemUoZCkpOihmPT09MiYmXy5UeShrKSYmKGQ9Wy4uLmRdLGw9MCxrPV8uVXkoayxjKSxjPV8ucHcoYixjLGUsZCkpLF8uVHkoayl8fChofHwoa3w9MTYpLGshPT1sJiYoZFtfLkFjXT1rKSkpOzIma3x8ISg0MDk2Jmt8fDE2JmspfHxfLm93KGIsYyk7cmV0dXJuIGR9OwpfLlh5PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5qLnB1c2goYil9O18uWXk9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLnYucHVzaChiKSxhLm8rPWIubGVuZ3RoKX07Xy5aeT1mdW5jdGlvbihhLGIsYyl7Xy5YeShhLmosYio4K2MpfTskeT1mdW5jdGlvbihhLGIpe18uWnkoYSxiLDIpO2I9YS5qLmVuZCgpO18uWXkoYSxiKTtiLnB1c2goYS5vKTtyZXR1cm4gYn07YXo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEubythLmoubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEubysrO2IucHVzaChjKTthLm8rK307Yno9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5NcilyZXR1cm4gYS5EYTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLlhjKGEsYlswXSxiWzFdKX07CmN6PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtBYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSkmJiEhYS5sZW5ndGgmJnR5cGVvZiBhWzBdPT09Im51bWJlciImJmFbMF0+MH07Cmh6PWZ1bmN0aW9uKGEpe3ZhciBiPUJhYSxjPUNhYSxkPWFbZHpdO2lmKGQpcmV0dXJuIGQ7ZD17fTtkLlpIPWE7ZC5PcT16YWEoYVswXSk7dmFyIGU9YVsxXSxmPTE7ZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQuZXh0ZW5zaW9ucz1lLGU9YVsrK2ZdLHR5cGVvZiBlPT09ImZ1bmN0aW9uIiYmKGQuU3g9ITAsZXo/Pyhlej1lKSxmej8/KGZ6PWFbZisxXSksZT1hW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2UmJkFhYShlKTspe2Zvcih2YXIgaz0wO2s8ZS5sZW5ndGg7aysrKWhbZVtrXV09ZTtlPWFbKytmXX1mb3Ioaz0xO2UhPT12b2lkIDA7KXt0eXBlb2YgZT09PSJudW1iZXIiJiYoays9ZSxlPWFbKytmXSk7bGV0IG47dmFyIGw9dm9pZCAwO2UgaW5zdGFuY2VvZiBfLmd6P249ZToobj1EYWEsZi0tKTtpZihuPy5vKXtlPWFbKytmXTtsPWE7dmFyIG09Zjt0eXBlb2YgZT09PSJmdW5jdGlvbiImJihlPWUoKSxsW21dPWUpO2w9ZX1lPWFbKytmXTttPWsrMTt0eXBlb2YgZT09PSJudW1iZXIiJiYKZTwwJiYobS09ZSxlPWFbKytmXSk7Zm9yKDtrPG07aysrKXtsZXQgcD1oW2tdO2w/YyhkLGssbixsLHApOmIoZCxrLG4scCl9fXJldHVybiBhW2R6XT1kfTtCYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy5qfTtDYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixoPWMuajthW2JdPShrLGwsbSk9PmgoayxsLG0sZnx8KGY9aHooZCkuT3EpLGV8fChlPWl6KGQpKSl9O2l6PWZ1bmN0aW9uKGEpe3ZhciBiPWFbanpdO2lmKCFiKXtsZXQgYz1oeihhKTtiPShkLGUpPT5reihkLGUsYyk7YVtqel09Yn1yZXR1cm4gYn07a3o9ZnVuY3Rpb24oYSxiLGMpe3hhYShhLGFbXy5BY118MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUVhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGMoXy5rciwzKX19KTsoYT15YWEoYSkpJiZhLmN3KChkLGUsZik9PntfLll5KGIsYi5qLmVuZCgpKTtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKV8uWXkoYixfLnd3KGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07CkVhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9QXJyYXkuaXNBcnJheShjKT9jWzBdaW5zdGFuY2VvZiBfLmd6P2M6W0ZhYSxjXTpbYyx2b2lkIDBdO3ZhciBkPWNbMF0uajtpZihjPWNbMV0pe2xldCBlPWl6KGMpLGY9aHooYykuT3E7Yz1hLlN4P2Z6KGYsZSk6KGgsayxsKT0+ZChoLGssbCxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtfLmx6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9O18ubXo9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5ReShiKTtiIT1udWxsJiYoXy5aeShhLGMsMCksYS5qLmoucHVzaChiPzE6MCkpfTtfLm56PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtfLnB6PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLm96KHRoaXMsYSl9fTsKXy5xej1mdW5jdGlvbigpe2lmKCFfLkxqLmlzRW5hYmxlZCgpKXJldHVybiExO2lmKCFfLkxqLmlzRW1wdHkoKSlyZXR1cm4hMDtfLkxqLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse3ZqOjYwfSk7aWYoXy5Mai5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO18uTGoucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Xy5yej1mdW5jdGlvbigpe3JldHVybihfLmhyfHxfLmlyKSYmXy5NaygiYXBwbGV3ZWJraXQiKSYmIV8uTWsoInZlcnNpb24iKSYmKCFfLk1rKCJzYWZhcmkiKXx8Xy5NaygiZ3NhLyIpKX07Xy5zej1mdW5jdGlvbigpe3JldHVybiBfLk5kKCl8fF8ucnooKXx8Xy5lciYmXy5NaygidmVyc2lvbi8iKT8hMDpfLncoIkVPTV9WSVNJVE9SX0RBVEEiKT8hMTohMH07Cl8udXo9ZnVuY3Rpb24oYSxiLGMsZD0hMCl7dmFyIGU9Xy53KCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiLFtdKSxmPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2YmJmUucHVzaChmKTtmPV8uUGIoYSk7aWYoXy5zYihlLGYpPj0wfHwhZiYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTApaWYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksXy5MeShlLGEpLGE9ZS5ocmVmKWlmKGE9Xy5OeShhKSxhPV8uT3koYSkpZCYmIWIuY3NuJiYoYi5pdGN0fHxiLnZlZCkmJihiPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl9LGIpKSxjPyhjPXBhcnNlSW50KGMsMTApLGlzRmluaXRlKGMpJiZjPjAmJnR6KGEsYixjKSk6dHooYSxiKX07dHo9ZnVuY3Rpb24oYSxiLGMpe2E9Xy52eihhKTtiPWI/Xy5VYihiKToiIjtjPWN8fDU7Xy5zeigpJiZfLk1qKGEsYixjKX07Xy52ej1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgR2FhKWE9Xy5QeShhLGIpO3JldHVybiJTVC0iK18uTXkoYSkudG9TdHJpbmcoMzYpfTsKXy53ej17fTt3YWE9L1s/Jl0oJHwjKS87SGFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmoubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMuajt0aGlzLmo9W107cmV0dXJuIGF9d3JpdGVVaW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfXdyaXRlSW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfX07SWFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PVtdO3RoaXMubz0wO3RoaXMuaj1uZXcgSGFhfX07Xy5nej1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO2E9Xy5HYShfLnpyKTt0aGlzLm89ISFhJiZiPT09YXx8ITF9fTtEYWE9bmV3IF8uZ3ooY3osXy56cik7RmFhPW5ldyBfLmd6KGN6LF8uenIpO2R6PVN5bWJvbCgpO2p6PVN5bWJvbCgpOwpfLm96PShhLGIpPT57dmFyIGM9bmV3IElhYTtreihhLkRhLGMsaHooYikpO18uWXkoYyxjLmouZW5kKCkpO2E9bmV3IFVpbnQ4QXJyYXkoYy5vKTtiPWMudjt2YXIgZD1iLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGg9YltmXTthLnNldChoLGUpO2UrPWgubGVuZ3RofWMudj1bYV07cmV0dXJuIGF9O18ueHo9Xy5seihfLm16LF8uQXIpOwpfLnl6PWZ1bmN0aW9uKGEsYixjPV8uenIpe3JldHVybiBuZXcgXy5neihiLGMpfShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaigpIT09MilyZXR1cm4hMTt2YXIgZj1hLm87ZD1fLlhjKHZvaWQgMCxkWzBdLGRbMV0pO3ZhciBoPWJbXy5BY118MDtpZihoJjIpdGhyb3cgRXJyb3IoKTt2YXIgaz1oJjEyOD9fLnd6OnZvaWQgMCxsPV8uZGQoYixjLGspO2w9QXJyYXkuaXNBcnJheShsKT9sOl8ubXI7dmFyIG09bD09PV8ubXI/NzpsW18uQWNdfDAsbj1WeShtLGgpO2lmKDImbnx8Xy5UeShuKXx8MTYmbiluPT09bXx8Xy5UeShuKXx8KGxbXy5BY109biksbD1bLi4ubF0sbT0wLG49Xy5VeShuLGgpLF8ucHcoYixoLGMsbCxrKTtuJj0tMTM7biE9PW0mJihsW18uQWNdPW4pO2wucHVzaChkKTtmLmNhbGwoYSxkLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubnooYSxiW2ZdLGMsZCxlKTsKYT1iW18uQWNdfDA7YSYxfHwoYltfLkFjXT1hfDEpfX0pO18ueno9bmV3IF8uSSgic2lnbmFsU2VydmljZUVuZHBvaW50Iik7Xy5Bej1uZXcgXy5JKCJwbGF5bGlzdEVkaXRFbmRwb2ludCIpO3ZhciBHYWE9ImFic29sdXRlX2V4cGVyaW1lbnRzIGFwcCBjb25kaXRpb25hbF9leHBlcmltZW50cyBkZWJ1Z2NzcyBkZWJ1Z2pzIGV4cGZsYWcgZm9yY2VkX2V4cGVyaW1lbnRzIHBiaiBwYmpyZWxvYWQgc2JiIHNwZiBzcGZyZWxvYWQgc3JfYm5zX2FkZHJlc3Mgc3R0aWNrIi5zcGxpdCgiICIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRXosRnosQnosR3osSmFhO18uQ3o9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKEJ6KGBmJHtNYXRoLmZsb29yKGEvMzEpKzF9YCl8fDApJjE8PGElMzEpfTtfLkR6PWZ1bmN0aW9uKGEsYil7dmFyIGM9YGYke01hdGguZmxvb3IoYS8zMSkrMX1gO2E9MTw8YSUzMTt2YXIgZD1CeihjKXx8MDtkPWI/ZHxhOmQmfmE7ZD09PTA/ZGVsZXRlIF8ueHNbY106Xy54c1tjXT1kLnRvU3RyaW5nKDE2KS50b1N0cmluZygpfTtFej1mdW5jdGlvbihhKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChhKSl0aHJvdyBFcnJvcigiZmFgIithKTt9O0Z6PWZ1bmN0aW9uKGEpe2lmKCEvXlx3KyQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoImdhYCIrYSk7fTtCej1mdW5jdGlvbihhKXthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChhKT9wYXJzZUludChhLDE2KTpudWxsfTsKXy5Iej1mdW5jdGlvbigpe0d6fHwoR3o9bmV3IEphYSk7cmV0dXJuIEd6fTtfLkl6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT57aWYoXy5CcShhKSlyZXR1cm4hMTtfLkFxKGEsdm9pZCAwLHZvaWQgMCk7cmV0dXJuITB9KSgpfTsKSmFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPV8udygiQUxUX1BSRUZfQ09PS0lFX05BTUUiLCJQUkVGIik7dGhpcy5vPV8udygiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIGE9Xy5Mai5nZXQodGhpcy5qLHZvaWQgMCk7YSYmdGhpcy5wYXJzZShhKX1nZXQoYSxiKXtGeihhKTtFeihhKTthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGw/YTpiP2I6IiJ9c2V0KGEsYil7RnooYSk7RXooYSk7aWYoYj09bnVsbCl0aHJvdyBFcnJvcigiZWEiKTtfLnhzW2FdPWIudG9TdHJpbmcoKX1yZW1vdmUoYSl7RnooYSk7RXooYSk7ZGVsZXRlIF8ueHNbYV19c2F2ZSgpe18uTWoodGhpcy5qLHRoaXMuZHVtcCgpLDYzMDcyRTMsdGhpcy5vLCEwKX1jbGVhcigpe2ZvcihsZXQgYSBpbiBfLnhzKWRlbGV0ZSBfLnhzW2FdfWR1bXAoKXt2YXIgYT1bXTtmb3IobGV0IGIgaW4gXy54cylfLnhzLmhhc093blByb3BlcnR5KGIpJiYKYS5wdXNoKGAke2J9PWArZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhfLnhzW2JdKSkpO3JldHVybiBhLmpvaW4oIiYiKX1wYXJzZShhKXthPWRlY29kZVVSSUNvbXBvbmVudChhKS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgYj1hW2NdLnNwbGl0KCI9Iik7bGV0IGQ9YlswXTsoYj1iWzFdKSYmKF8ueHNbZF09Yi50b1N0cmluZygpKX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExhYSxLYWE7Xy5Kej1mdW5jdGlvbihhLGIpe2Eudi5zZXQoYi5qYSxiKTt2YXIgYz1hLmouZ2V0KGIuamEpO2lmKGMpdHJ5e2MuUWgoYS5yZXNvbHZlKGIuamEpKX1jYXRjaChkKXtjLlF6KGQpfX07Xy5Lej1mdW5jdGlvbihhLGI9Xy5hYil7cmV0dXJuIF8uYmIoYSxiKXx8Xy5GcX07Xy5Mej1mdW5jdGlvbigpe3JldHVybiBfLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07Xy5Nej1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTHooKTtpZihjJiZiKXtsZXQgZD1jLnN1YnNjcmliZShhLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLGY9KCk9PntfLlJzW2RdJiZiLmFwcGx5JiZ0eXBlb2YgYi5hcHBseT09ImZ1bmN0aW9uIiYmYi5hcHBseSh3aW5kb3csZSl9O3RyeXtfLlRzW2FdP2YoKTpfLm1qKGYsMCl9Y2F0Y2goaCl7Xy5VaShoKX19LHZvaWQgMCk7Xy5Sc1tkXT0hMDtfLlNzW2FdfHwoXy5Tc1thXT1bXSk7Xy5Tc1thXS5wdXNoKGQpO3JldHVybiBkfXJldHVybiAwfTsKXy5Oej1mdW5jdGlvbihhKXt2YXIgYj1fLkx6KCk7YiYmKHR5cGVvZiBhPT09Im51bWJlciI/YT1bYV06dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9W3BhcnNlSW50KGEsMTApXSksXy50YihhLGM9PntiLnVuc3Vic2NyaWJlQnlLZXkoYyk7ZGVsZXRlIF8uUnNbY119KSl9O18uT3o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkx6KCk7cmV0dXJuIGM/Yy5wdWJsaXNoLmFwcGx5KGMsYXJndW1lbnRzKTohMX07Xy5Qej1mdW5jdGlvbihhKXtyZXR1cm4gS2FhW2FdfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9O0xhYT1mdW5jdGlvbigpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZT8uKCJtYXJrIik7YSYmYS5mb3JFYWNoKGI9PntiLm5hbWUuc3RhcnRzV2l0aCgibWFya18iKSYmXy5zcS5jbGVhck1hcmtzPy4oYi5uYW1lKX0pfTtfLlF6PWZ1bmN0aW9uKGEpe18ucmEoInl0Z2xvYmFsLnRpbWluZyIrKGF8fCIiKSsicmVhZHlfIiwhMCl9OwpfLlJ6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT5fLkJxKCJfc3RhcnQiLGEpKSgpfTtfLlN6PWZ1bmN0aW9uKGEpe18uVmkoKCk9PntfLlJ6KGEpJiZfLkFxKCJhYSIsdm9pZCAwLGEpO3ZhciBiPWF8fCIiLGM9Xy50bygpO2NbYl0mJmRlbGV0ZSBjW2JdO3ZhciBkPXt0aW1lck5hbWU6YixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07Xy5zbyhkKTtjW2JdPWQ7Xy5qbyhhKTsoMCxfLmJ0KSgpO0xhYSgpO2F8fChfLncoIlRJTUlOR19BQ1RJT04iKSYmXy5RaSgiUFJFVklPVVNfQUNUSU9OIixfLncoIlRJTUlOR19BQ1RJT04iKSksXy5RaSgiVElNSU5HX0FDVElPTiIsIiIpKX0pKCl9OwpfLlR6PWZ1bmN0aW9uKGEsYj17fSxjLGQpe18uVmkoKCk9Pnt2YXIgZT1jP2M6YTtfLlN6KGUpO3ZhciBmPWIuc2FtcGxlUmF0ZTtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fGY9PT12b2lkIDB8fGY8PTEpZj0hMTtlbHNle3ZhciBoPV8ucG8oZSk7Zj1fLkduKGgpJWYhPT0wfWYmJihfLmtvKGUpLmFjdGlvbkRpc2FibGVkPSEwKTtfLnVvKGV8fCIiKS5pbmZvLmFjdGlvblR5cGU9YTtiLmN0dEF1dGhJbmZvJiYoXy5rbyhlKS5jdHRBdXRoSW5mbz1iLmN0dEF1dGhJbmZvKTtfLlFpKGUrIlRJTUlOR19BQ1RJT04iLGEpO18uVmkoXy5vcSkoYi5zdGFydFRpbWUsZSk7Zj17YWN0aW9uVHlwZTpkfHxfLlB6KGEpfTtiLlRKJiYoZi5wcmV2aW91c0FjdGlvbj1fLlB6KF8udygiVElNSU5HX0FDVElPTiIpKSk7KGg9Xy5pcSgpKSYmaCE9PSJVTkRFRklORURfQ1NOIiYmKGYuY2xpZW50U2NyZWVuTm9uY2U9aCk7Xy56cShmLGUpO18uUXooZSl9KSgpfTsKS2FhPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9O18uVXo9bmV3IF8uSSgiZmVlZGJhY2tFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZ6PWZ1bmN0aW9uKGEsYil7aWYoYiE9PW51bGwmJmIhPT12b2lkIDApe2lmKHR5cGVvZiBiIT09Im9iamVjdCImJnR5cGVvZiBiIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7aWYoYz09PXZvaWQgMCl7aWYoIVN5bWJvbC5kaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTt2YXIgYz1iW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgYyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZyIpO2Euc3RhY2sucHVzaCh7dmFsdWU6YixkaXNwb3NlOmMsYXN5bmM6ITF9KX1yZXR1cm4gYn07Cl8uV3o9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXthLmVycm9yPWEuaGFzRXJyb3I/bmV3IFN1cHByZXNzZWRFcnJvcihmLGEuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpmO2EuaGFzRXJyb3I9ITB9ZnVuY3Rpb24gYygpe2Zvcig7ZD1hLnN0YWNrLnBvcCgpOyl0cnl7aWYoIWQuYXN5bmMmJmU9PT0xKXJldHVybiBlPTAsYS5zdGFjay5wdXNoKGQpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYyk7aWYoZC5kaXNwb3NlKXt2YXIgZj1kLmRpc3Bvc2UuY2FsbChkLnZhbHVlKTtpZihkLmFzeW5jKXJldHVybiBlfD0yLFByb21pc2UucmVzb2x2ZShmKS50aGVuKGMsZnVuY3Rpb24oaCl7YihoKTtyZXR1cm4gYygpfSl9ZWxzZSBlfD0xfWNhdGNoKGgpe2IoaCl9aWYoZT09PTEpcmV0dXJuIGEuaGFzRXJyb3I/UHJvbWlzZS5yZWplY3QoYS5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKCk7aWYoYS5oYXNFcnJvcil0aHJvdyBhLmVycm9yO312YXIgZCwKZT0wO2MoKX07Xy5Yej1mdW5jdGlvbigpe3RyeXtyZXR1cm4hIXNlbGYubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybiExfX07Xy5Zej1uZXcgXy5JKCJzaGFyZUVuZHBvaW50Iik7Xy5aej1uZXcgXy5JKCJzaGFyZUVudGl0eUVuZHBvaW50Iik7Xy5NYWE9bmV3IF8uSSgic2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtfLk5hYT1uZXcgXy5JKCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFBPWZ1bmN0aW9uKGEsYj17fSxjKXthPShhPWEgaW4gXy4kej9fLiR6W2FdOmMpfHwiIjtmb3IobGV0IGQgaW4gYiljPSgpPT5TdHJpbmcoYltkXSksYT1hLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFwkXFx7IitkKyJcXH0iLCJnaSIpLGMpLGE9YS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrZCwiZ2kiKSxjKTtyZXR1cm4gYX07Xy4kej13aW5kb3cueXQmJndpbmRvdy55dC5tc2dzX3x8d2luZG93Lnl0Y2ZnJiZ3aW5kb3cueXRjZmcubXNnc3x8e307Xy5yYSgieXQubXNnc18iLF8uJHopOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY0E7Xy5iQT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm4gYj09PS0xP3tNbTphfTp7TW06YS5zdWJzdHJpbmcoMCxiKSxkYXRhc3luY0lkOmEuc3Vic3RyaW5nKGIrMSl9fTtfLmVBPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGNBIT09dm9pZCAwP2NBOmNBPW5ldyBQcm9taXNlKGFzeW5jIGE9Pnt0cnl7YXdhaXQgXy5kQS5vcGVuKCJ0ZXN0LW9ubHkiKSxhd2FpdCBfLmRBLmRlbGV0ZSgidGVzdC1vbmx5Iil9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIEVycm9yJiZiLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2EoITEpO3JldHVybn19YSgiY2FjaGVzImluIHdpbmRvdyl9KX07Xy5kQT1fLnUuY2FjaGVzOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdBPW5ldyBXZWFrTWFwO18uaEE9bmV3IFNldDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiYmFzZSIpOwp2YXIgQVosQlosQ1osY3JhLERaLGVyYSxFWixGWixIWixLWixMWixNWixmcmEsUFosUVosU1osZ3JhLFZaLGNfLGRfLGVfLGZfLGdfLGhfLGlfLGpfLGtfLGlyYSxqcmEsa3JhLGxyYSxucmEsbV8sbl8sb18scF8scV8scl8sc18sdF8sdV8sdl8sd18seF8scHJhLHlfLHpfLHFyYSxBXyxycmEsc3JhLHRyYSxCXyxDXyxEXyxGXyxHXyxIXyxJXyxKXyxLXyxMXyxNXyxPXyxQXyxRXyxSXyxTXyxocmEsdXJhLHZyYSxUXyxVXyxWXyxXXyxYXyxZXyx3cmEsJF8sYTAsYjAseHJhLGQwLHlyYSxlMCx6cmEsQnJhLENyYSxEcmEsZzAsRXJhLEZyYSxHcmEsaDAsaTAsbDAsSHJhLGswLGowLG4wLElyYSxKcmEsbzAsS3JhLHAwLHEwLHIwLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLHQwLHYwLHcwLHgwLFNyYSxUcmEseTAsQTAsQjAsQzAsRDAsRTAsRzAsVXJhLFZyYSxIMCxXcmEsWHJhLFlyYSxJMCxKMCxTMCxUMCxQMCxVMCxMMCxRMCxLMCxPMCxNMCxOMCxacmEsUjAsJHJhLFYwLGFzYSxjc2EsClgwLFkwLFowLCQwLGExLGRzYSxiMSxjMSxlc2EsZnNhLGdzYSxkMSxmMSxoc2EsZzEsanNhLGtzYSxqMSxsc2EsazEsbDEsbTEsbXNhLHIxLHNzYSx1c2EsdjEseTEsdzEsdnNhLHhzYSxCMSxDMSxEMSx5c2EsRTEsRjEsQXNhLEJzYSx6c2EsQ3NhLEVzYSxGc2EsR3NhLHFzYSxvMSxuc2EsSTEsSHNhLEcxLElzYSxKc2EsSzEsTTEsTjEsS3NhLE8xLFAxLExzYSxSMSxPc2EsUHNhLFJzYSxRMSxVMSxXMSxUc2EsJDEsWDEsVXNhLFZzYSxXc2EsWHNhLGF0YSxidGEsZjIsJHNhLFpzYSxhMixlMixiMixjdGEsZzIsaDIsaTIsazIsbDIsZXRhLGZ0YSxndGEsbjIscDIsbzIsdDIsanRhLHIyLGl0YSx3Mix2MixtdGEsbnRhLG90YSxwdGEseDIseTIsejIsQTIsQzIsdXRhLHZ0YSxFMixGMix3dGEsRzIseXRhLFpfLEkyLEoyLEwyLHp0YSxOMixPMixQMixCdGEsUTIsRHRhLFMyLFQyLFUyLEV0YSxWMixXMixGdGEsR3RhLGEzLGIzLEl0YSxlMyxKdGEsZDMsZjMsS3RhLEx0YSxNdGEsYzMsSHRhLApoMyxOdGEsazMsT3RhLFB0YSxRdGEsbTMsbjMsbDMsUnRhLG8zLHAzLFN0YSxxMyxUdGEscjMsczMsdzMsVXRhLHgzLHkzLFZ0YSxZdGEsWnRhLEMzLEQzLEUzLCR0YSxidWEsY3VhLEczLGR1YSxldWEsWHRhLEgzLEkzLGZ1YSxndWEsYzQsZDQsZTQsaHVhLGY0LGl1YSxqdWEsWXNhLGh0YSxrdWEsbnVhLGc0LGk0LHB1YSxoNCxrNCxzdWEsdHVhLGw0LG00LHZ1YSx3dWEsbzQseHVhLHl1YSxxNCx6dWEsQXVhLEJ1YSxEdWEsR3VhLHY0LEp1YSx3NCxJdWEsSHVhLEt1YSx4NCx5NCx6NCxBNCxENCxDNCxCNCxFNCxNdWEsRjQsT3VhLFB1YSxRdWEsUnVhLFN1YSxUdWEsVXVhLEk0LEs0LFp1YSwkdWEsUTQsTTQsVnVhLFI0LFM0LGF2YSxidmEsY3ZhLGR2YSxkcmEsQTMsR1osSVosSlosTl8sTlosT1osUlosVFosVVosJFosYV8sYl8sWlosWVosV1osWFosbF8sRV8sb3JhLFY0LGV2YSxXNCxYNCxmdmEsWTQsWjQsZ3ZhLGh2YSxpdmEsanZhLGt2YSwkNCxsdmEsbXZhLGE1LG52YSxiNSwKYzUsb3ZhLHB2YTtBWj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0JaPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5xdyhhLGIsQVooYykpfTtDWj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCl7aWYoISgwLF8ud3IpKGMpKXRocm93IF8uSXcoImVudW0iKTtjfD0wfXJldHVybiBfLnF3KGEsYixjKX07Y3JhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaChhLmNoYXJDb2RlQXQoYykpO3JldHVybiBifTtEWj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2JdKyhhW2IrMV08PDgpKyhhW2IrMl08PDE2KSsoYVtiKzNdPDwyNCl9OwplcmE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MtPWQ7Yy09ZTtjXj1lPj4+MTM7ZC09ZTtkLT1jO2RePWM8PDg7ZS09YztlLT1kO2VePWQ+Pj4xMztjLT1kO2MtPWU7Y149ZT4+PjEyO2QtPWU7ZC09YztkXj1jPDwxNjtlLT1jO2UtPWQ7ZV49ZD4+PjU7Yy09ZDtjLT1lO2NePWU+Pj4zO2QtPWU7ZC09YztkXj1jPDwxMDtlLT1jO2UtPWQ7ZV49ZD4+PjE1fWE9Y3JhKGEpO2Zvcih2YXIgYz0yNjU0NDM1NzY5LGQ9MjY1NDQzNTc2OSxlPTMxNDE1OTI2NSxmPWEubGVuZ3RoLGg9ZixrPTA7aD49MTI7aC09MTIsays9MTIpYys9RFooYSxrKSxkKz1EWihhLGsrNCksZSs9RFooYSxrKzgpLGIoKTtlKz1mO3N3aXRjaChoKXtjYXNlIDExOmUrPWFbaysxMF08PDI0O2Nhc2UgMTA6ZSs9YVtrKzldPDwxNjtjYXNlIDk6ZSs9YVtrKzhdPDw4O2Nhc2UgODpkKz1hW2srN108PDI0O2Nhc2UgNzpkKz1hW2srNl08PDE2O2Nhc2UgNjpkKz1hW2srNV08PDg7Y2FzZSA1OmQrPWFbays0XTtjYXNlIDQ6Yys9CmFbayszXTw8MjQ7Y2FzZSAzOmMrPWFbaysyXTw8MTY7Y2FzZSAyOmMrPWFbaysxXTw8ODtjYXNlIDE6Yys9YVtrXX1iKCk7cmV0dXJuIGRyYS50b1N0cmluZyhlKX07RVo9ZnVuY3Rpb24oYSxiKXthLmFkZE9uRGlzcG9zZUNhbGxiYWNrKF8uRGEoXy5aZCxiKSl9O0ZaPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnd3KGEpfHwwKX07SFo9ZnVuY3Rpb24oYSl7cmV0dXJuKEdafHwoR1o9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtLWj1mdW5jdGlvbihhKXt2YXIgYj1hPj4+MDtJWj1iO0paPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtMWj1mdW5jdGlvbihhKXtpZihhPDApe0taKC1hKTthPUlaO3ZhciBiPUpaO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07SVo9Yz4+PjA7Slo9ZD4+PjB9ZWxzZSBLWihhKX07Ck1aPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPDE2P0xaKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLElaPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLEpaPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSkpfTsKZnJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIG5ldyBOWihfLnV3KGEpLCEwKTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBuZXcgTloobmV3IFVpbnQ4QXJyYXkoYSksITApO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgTlooYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBOWihhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5SYyl7bGV0IGI9Xy53dyhhKXx8bmV3IFVpbnQ4QXJyYXkoMCk7cmV0dXJuIG5ldyBOWihiLCEwLGEpfWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IE5aKGEsITEpO3Rocm93IEVycm9yKCk7fTsKUFo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubz09PTA/bmV3IE9aKDAsMSt+YS5qKTpuZXcgT1oofmEubysxLH5hLmopfTtRWj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IE9aKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTtTWj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gUlp8fChSWj1uZXcgT1ooMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtNWihhKTtyZXR1cm4gbmV3IE9aKElaLEpaKX07Z3JhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVFooYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9O1ZaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBVWnx8KFVaPW5ldyBUWigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7TVooYSk7cmV0dXJuIG5ldyBUWihJWixKWil9OwpjXz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gV1p8fChXWj1uZXcgQmlnSW50NjRBcnJheSgxKSxYWj1uZXcgVWludDMyQXJyYXkoV1ouYnVmZmVyKSxXWlswXT1CaWdJbnQoMSksWVo9WFpbMF09PT0xKSxXWlswXT1hLGE9WVo/MDoxLG5ldyBiKFhaW2FdLFhaWzEtYV0pO1pafHwoJFo9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxhXz1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLGJfPUJpZ0ludCg0Mjk0OTY3Mjk1KSxaWj1CaWdJbnQoMzIpKTtpZihhPj0kWiYmYTw9YV8pcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZiXyksTnVtYmVyKGE+PlpaKSl9O2RfPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuai5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5qLnB1c2goYil9OwplXz1mdW5jdGlvbihhLGIpe2Euai5wdXNoKGI+Pj4wJjI1NSk7YS5qLnB1c2goYj4+PjgmMjU1KTthLmoucHVzaChiPj4+MTYmMjU1KTthLmoucHVzaChiPj4+MjQmMjU1KX07Zl89ZnVuY3Rpb24oYSxiKXtpZihiPj0wKV8uWHkoYSxiKTtlbHNle2ZvcihsZXQgYz0wO2M8OTtjKyspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmoucHVzaCgxKX19O2dfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpTWihhKX19O2hfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9TWihhLnN1YnN0cmluZygxKSk6U1ooYSl9fTsKaV89ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKGdfKGMpLF8uWnkoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5qO0taKGMpO2VfKGEsSVopO2VfKGEsSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhjLE9aLFFaKTthPWEuajtiPWMuajtlXyhhLGMubyk7ZV8oYSxiKTticmVhaztkZWZhdWx0OmM9U1ooYyksYT1hLmosYj1jLmosZV8oYSxjLm8pLGVfKGEsYil9fTtqXz1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5aeShhLGIsMCksZl8oYS5qLGMpKX07a189ZnVuY3Rpb24oYSxiLGMpe18uWnkoYSxiLDIpO18uWHkoYS5qLGMubGVuZ3RoKTtfLll5KGEsYS5qLmVuZCgpKTtfLll5KGEsYyl9OwppcmE9ZnVuY3Rpb24oYSl7dmFyIGI9InRydWUiLnRvU3RyaW5nKCksYz1baHJhYGRhdGEtYF07aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7aWYoYy5tYXAoZD0+e2lmKGQgaW5zdGFuY2VvZiBsXylkPWQuajtlbHNlIHRocm93IEVycm9yKCJoIik7cmV0dXJuIGR9KS5ldmVyeShkPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoZCkhPT0wKSl0aHJvdyBFcnJvcigiaWBkYXRhLWxvYWRlZCIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIsYil9O2pyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLHZvaWQgMCl9O2tyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLHtkdXJhdGlvbjowfSl9O2xyYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPmI/MTphPGI/LTE6MH07Cm5yYT1mdW5jdGlvbigpe3ZhciBhPW1yYTtyZXR1cm4gXy5DYyhiPT57Zm9yKGxldCBjIGluIGEpaWYoYj09PWFbY10mJiEvXlswLTldKyQvLnRlc3QoYykpcmV0dXJuITA7cmV0dXJuITF9KX07bV89ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtuXz1mdW5jdGlvbihhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOm1fKGEsYil9O29fPWZ1bmN0aW9uKCl7dmFyIGE9SVosYj1KWixjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPW1fKGEsYik7cmV0dXJuIGN9OwpwXz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJxYCIrdHlwZW9mIGErImAiK2EpO3JldHVybiBhfTtxXz1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBhO2lmKGE9PT0iTmFOInx8YT09PSJJbmZpbml0eSJ8fGE9PT0iLUluZmluaXR5IilyZXR1cm4gTnVtYmVyKGEpfTtyXz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4oMCxfLndyKShhKTtjYXNlICJzdHJpbmciOnJldHVybiBvcmEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07c189ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hPj4+MDp2b2lkIDB9Owp0Xz1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLnhyKShOdW1iZXIoYSkpO2lmKCgwLF8udnIpKGIpKXJldHVybiBfLkZjKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxCaWdJbnQoYSkpKX07dV89ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy54cikoTnVtYmVyKGEpKTtpZigoMCxfLnZyKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChNWihhKSxhPW9fKCkpO3JldHVybiBhfTsKdl89ZnVuY3Rpb24oYSl7YT0oMCxfLnhyKShhKTtpZighKDAsXy52cikoYSkpe0xaKGEpO3ZhciBiPUlaLGM9Slo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW5fKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O3dfPWZ1bmN0aW9uKGEpe2E9KDAsXy54cikoYSk7KDAsXy52cikoYSk/YT1TdHJpbmcoYSk6KExaKGEpLGE9b18oKSk7cmV0dXJuIGF9O3hfPWZ1bmN0aW9uKGEpe3JldHVybigwLF8udnIpKGEpP18uRmModl8oYSkpOl8uRmMod18oYSkpfTsKcHJhPWZ1bmN0aW9uKGEpe3ZhciBiPXZvaWQgMDtiPTEwMjQ7aWYoIXJfKGEpKXRocm93IF8uSXcoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIHdfKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gdF8oYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4geF8oYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLkZjKCgwLF8udHIpKDY0LGEpKTtkZWZhdWx0OnJldHVybiB2XyhhKX1kZWZhdWx0OnJldHVybiBfLmViKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07CnlfPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6cHJhKGEpfTt6Xz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7aWYocl8oYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj90XyhhKTp4XyhhKX07cXJhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2lmKHJfKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIHVfKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gdl8oYSl9fTsKQV89ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLnVyKSg2NCxhKSk7aWYocl8oYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gYj0oMCxfLnhyKShOdW1iZXIoYSkpLCgwLF8udnIpKGIpJiZiPj0wP2E9U3RyaW5nKGIpOihiPWEuaW5kZXhPZigiLiIpLGIhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSksYVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpLGJ8fChNWihhKSxhPW1fKElaLEpaKSkpLGE7aWYoYj09PSJudW1iZXIiKXJldHVybiBhPSgwLF8ueHIpKGEpLGE+PTAmJigwLF8udnIpKGEpfHwoTFooYSksYT1uXyhJWixKWikpLGF9fTtycmE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5SYylyZXR1cm4gYX07CnNyYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O3RyYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5OdyhhLCEwKX07Ql89ZnVuY3Rpb24oYSl7YT1fLmVkKGEsMSx2b2lkIDAsdm9pZCAwLHRyYSk7cmV0dXJuIGE9PW51bGw/Xy5NdygpOmF9OwpDXz1mdW5jdGlvbihhLGIsYyl7Xy5udyhhKTt2YXIgZD1hLkRhLGU9ZFtfLkFjXXwwO2lmKGI9PW51bGwpcmV0dXJuIF8ucHcoZCxlLDMpLGE7dmFyIGY9Yj09PV8ubXI/NzpiW18uQWNdfDAsaD1mLGs9Xy5UeShmKSxsPWt8fE9iamVjdC5pc0Zyb3plbihiKTtrfHwoZj0wKTtsfHwoYj1bLi4uYl0saD0wLGY9Xy5VeShmLGUpLGw9ITEpO2Z8PTU7az0oNCZmPzUxMiZmPzUxMjoxMDI0JmY/MTAyNDowOnZvaWQgMCk/PzEwMjQ7Znw9aztmb3IobGV0IG09MDttPGIubGVuZ3RoO20rKyl7bGV0IG49YlttXSxwPWMobixrKTtPYmplY3QuaXMobixwKXx8KGwmJihiPVsuLi5iXSxoPTAsZj1fLlV5KGYsZSksbD0hMSksYlttXT1wKX1mIT09aCYmKGwmJihiPVsuLi5iXSxmPV8uVXkoZixlKSksYltfLkFjXT1mKTtfLnB3KGQsZSwzLGIpO3JldHVybiBhfTsKRF89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5nZXQoZCk7aWYoZSE9bnVsbClyZXR1cm4gZTtlPTA7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspe2xldCBoPWRbZl07Xy5kZChiLGgpIT1udWxsJiYoZSE9PTAmJihjPV8ucHcoYixjLGUpKSxlPWgpfWEuc2V0KGQsZSk7cmV0dXJuIGV9O0ZfPWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7YT1hLkRhO3ZhciBlPWFbXy5BY118MDtpZihkPT1udWxsKXt2YXIgZj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2lmKERfKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2V7Zj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2xldCBoPURfKGYsYSxlLGMpO2ghPT1iJiYoaCYmKGU9Xy5wdyhhLGUsaCkpLGYuc2V0KGMsYikpfV8ucHcoYSxlLGIsZCl9O0dfPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkRhO3JldHVybiBfLld5KGEsZCxkW18uQWNdfDAsYixjLHZvaWQgMD09PV8ub3I/Mjo0LCExLCEwKX07CkhfPWZ1bmN0aW9uKGEsYixjKXtfLm53KGEpO3ZhciBkPWEuRGEsZT1kW18uQWNdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5wdyhkLGUsYiksYTt2YXIgZj1jPT09Xy5tcj83OmNbXy5BY118MCxoPWYsaz1fLlR5KGYpLGw9a3x8T2JqZWN0LmlzRnJvemVuKGMpLG09ITAsbj0hMDtmb3IobGV0IHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIHA9Y1tyXTtrfHwocD1fLkJjKHApLG0mJihtPSFwKSxuJiYobj1wKSl9a3x8KGY9bT8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7bCYmZj09PWh8fChjPVsuLi5jXSxoPTAsZj1fLlV5KGYsZSkpO2YhPT1oJiYoY1tfLkFjXT1mKTtlPV8ucHcoZCxlLGIsYyk7MiZmfHwhKDQwOTYmZnx8MTYmZil8fF8ub3coZCxlKTtyZXR1cm4gYX07SV89ZnVuY3Rpb24oYSxiLGM9Xy55cil7cmV0dXJuIF8uZWQoYSxiLHZvaWQgMCx2b2lkIDAsel8pPz9jfTtKXz1mdW5jdGlvbihhLGIsYz0iIixkKXtyZXR1cm4gXy5YdChfLmVkKGEsYixkKSk/P2N9OwpLXz1mdW5jdGlvbihhKXthPV8uZWQoYSwxKTtyZXR1cm4oYT09bnVsbD9hOigwLF8ud3IpKGEpP2F8MDp2b2lkIDApPz8wfTtMXz1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkFjXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBoPWEoYltlXSk7aCE9bnVsbCYmKGJbZisrXT1oKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQWNdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O01fPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9OwpPXz1mdW5jdGlvbihhLGIsYyl7Yj1xXyhiKTtiIT1udWxsJiYoXy5aeShhLGMsMSksYT1hLmosYz1OX3x8KE5fPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksSVo9Yy5nZXRVaW50MzIoMCwhMCksSlo9Yy5nZXRVaW50MzIoNCwhMCksZV8oYSxJWiksZV8oYSxKWikpfTtQXz1mdW5jdGlvbihhLGIsYyl7Yj1xcmEoYik7aWYoYiE9bnVsbCl7c3dpdGNoKHR5cGVvZiBiKXtjYXNlICJzdHJpbmciOlZaKGIpfWlmKGIhPW51bGwpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLFRaLGdyYSk7ZF8oYS5qLGMubyxjLmopO2JyZWFrO2RlZmF1bHQ6Yz1WWihiKSxkXyhhLmosYy5vLGMuail9fX07UV89ZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksZl8oYS5qLGIpKX07ClJfPWZ1bmN0aW9uKGEsYixjKXtiPV8uWHQoYik7YiE9bnVsbCYma18oYSxjLEhaKGIpKX07U189ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pl8uWHgoYSxiKX07aHJhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbF8oYVswXS50b0xvd2VyQ2FzZSgpKX07Xy5lVj1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O3VyYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gXy5zcylpZihhLmNhbGwodm9pZCAwLF8uc3NbYl0sYixfLnNzKSlyZXR1cm4gYn07dnJhPWZ1bmN0aW9uKGEsYil7aWYoYSE9PW51bGwmJmIgaW4gYSl0aHJvdyBFcnJvcigiQWAiK2IpO2FbYl09ITB9O1RfPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmInByaXZlbWJlZCJpbiBhP2EucHJpdmVtYmVkOiExfTtVXz1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9OwpWXz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O1dfPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07WF89ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PSJudW1iZXIiJiYoYT1NYXRoLnJvdW5kKGEpKyJweCIpO3JldHVybiBhfTtZXz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVNhZmVTY3JpcHRXcmFwcGVkVmFsdWUpP18ua2IoYSk6bnVsbDpudWxsfTt3cmE9ZnVuY3Rpb24oKXt2YXIgYT1aXztfLnNhKCJ5dC5hZHMuYmlzY290dGkuZ2V0SWRfIil8fF8ucmEoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iLGEpfTskXz1mdW5jdGlvbihhKXtfLnJhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIsYSl9OwphMD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCI/IikhPT0tMT8oYT0oYXx8IiIpLnNwbGl0KCIjIilbMF0sYT1hLnNwbGl0KCI/IiwyKSxfLmJqKGEubGVuZ3RoPjE/YVsxXTphWzBdKSk6e319O2IwPWZ1bmN0aW9uKGEpe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IGI9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDthLmo9YS5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO2Eubz1hLmNsaWVudFkrYn19Owp4cmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5hZGRFdmVudExpc3RlbmVyJiYoYiE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P2IhPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9iPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoYj0iTW96TW91c2VQaXhlbFNjcm9sbCIpOmI9Im1vdXNlb3V0IjpiPSJtb3VzZW92ZXIiKTtyZXR1cm4gdXJhKGU9Pnt2YXIgZj10eXBlb2YgZVs0XT09PSJib29sZWFuIiYmZVs0XT09ISFkLGg7aWYoaD1fLkFhKGVbNF0pJiZfLkFhKGQpKWE6e2g9ZVs0XTtmb3IobGV0IGsgaW4gaClpZighKGsgaW4gZCl8fGhba10hPT1kW2tdKXtoPSExO2JyZWFrIGF9Zm9yKGxldCBrIGluIGQpaWYoIShrIGluIGgpKXtoPSExO2JyZWFrIGF9aD0hMH1yZXR1cm4hIWUubGVuZ3RoJiZlWzBdPT1hJiZlWzFdPT1iJiZlWzJdPT1jJiYoZnx8aCl9KX07CmQwPWZ1bmN0aW9uKGEsYixjLGQ9e30pe2lmKCFhfHwhYS5hZGRFdmVudExpc3RlbmVyJiYhYS5hdHRhY2hFdmVudClyZXR1cm4iIjt2YXIgZT14cmEoYSxiLGMsZCk7aWYoZSlyZXR1cm4gZTtlPSsrXy50cy5jb3VudCsiIjt2YXIgZj0hKGIhPSJtb3VzZWVudGVyIiYmYiE9Im1vdXNlbGVhdmUifHwhYS5hZGRFdmVudExpc3RlbmVyfHwib25tb3VzZWVudGVyImluIGRvY3VtZW50KTt2YXIgaD1mP2s9PntrPW5ldyBjMChrKTtpZighXy5ndyhrLnJlbGF0ZWRUYXJnZXQsbD0+bD09YSwhMCkpcmV0dXJuIGsuY3VycmVudFRhcmdldD1hLGsudHlwZT1iLGMuY2FsbChhLGspfTprPT57az1uZXcgYzAoayk7ay5jdXJyZW50VGFyZ2V0PWE7cmV0dXJuIGMuY2FsbChhLGspfTtoPV8uVmkoaCk7YS5hZGRFdmVudExpc3RlbmVyPyhiPT0ibW91c2VlbnRlciImJmY/Yj0ibW91c2VvdmVyIjpiPT0ibW91c2VsZWF2ZSImJmY/Yj0ibW91c2VvdXQiOmI9PSJtb3VzZXdoZWVsIiYmIk1vekJveFNpemluZyJpbgpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJihiPSJNb3pNb3VzZVBpeGVsU2Nyb2xsIiksKDAsXy51cykoKXx8dHlwZW9mIGQ9PT0iYm9vbGVhbiI/YS5hZGRFdmVudExpc3RlbmVyKGIsaCxkKTphLmFkZEV2ZW50TGlzdGVuZXIoYixoLCEhZC5jYXB0dXJlKSk6YS5hdHRhY2hFdmVudChgb24ke2J9YCxoKTtfLnNzW2VdPVthLGIsYyxoLGRdO3JldHVybiBlfTt5cmE9ZnVuY3Rpb24oYSl7YSYmKHR5cGVvZiBhPT0ic3RyaW5nIiYmKGE9W2FdKSxfLnRiKGEsYj0+e2lmKGIgaW4gXy5zcyl7dmFyIGM9Xy5zc1tiXTtsZXQgZD1jWzBdLGU9Y1sxXSxmPWNbM107Yz1jWzRdO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oMCxfLnVzKSgpfHx0eXBlb2YgYz09PSJib29sZWFuIj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGMpOmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGYsISFjLmNhcHR1cmUpOmQuZGV0YWNoRXZlbnQmJmQuZGV0YWNoRXZlbnQoYG9uJHtlfWAsZik7ZGVsZXRlIF8uc3NbYl19fSkpfTsKZTA9ZnVuY3Rpb24oYSl7dGhpcy5NPWE7dGhpcy5qPW51bGw7dGhpcy5CPTA7dGhpcy5JPW51bGw7dGhpcy5EPTA7dGhpcy5vPVtdO2ZvcihhPTA7YTw0O2ErKyl0aGlzLm8ucHVzaCgwKTt0aGlzLnY9MDt0aGlzLlo9ZDAod2luZG93LCJtb3VzZW1vdmUiLCgwLF8uQ2EpKHRoaXMuZ2EsdGhpcykpO2E9KDAsXy5DYSkodGhpcy5VLHRoaXMpO3R5cGVvZiBhPT09ImZ1bmN0aW9uIiYmKGE9Xy5WaShhKSk7dGhpcy5oYT13aW5kb3cuc2V0SW50ZXJ2YWwoYSwyNSl9O3pyYT1mdW5jdGlvbigpe3ZhciBhPV8ucmooImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxiPT5OdW1iZXIoYnx8MCkpOltOdW1iZXIoYXx8MCldfTsKQnJhPWZ1bmN0aW9uKCl7KHtoYW5kbGVFcnJvcjphPV8uSHAsbG06Yj1fLkVwfT17fSk7dmFyIGE7Zm9yKF8uR2s9bmV3IEFyYShhLGIpO18uSGsubGVuZ3RoPjA7KXt2YXIgYj1fLkhrLnNoaWZ0KCk7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRVJST1IiOl8uR2suSmIoYi5wYXlsb2FkKTticmVhaztjYXNlICJFVkVOVCI6Xy5Hay5sbShiLmV2ZW50VHlwZSxiLnBheWxvYWQpfX19O0NyYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2woZD0+Yz9kLnVzZXJJZGVudGlmaWVyIT09dm9pZCAwJiYhYS5pbmNsdWRlcyhkLnVzZXJJZGVudGlmaWVyKSYmYy5pbmNsdWRlcyhkLnB1YmxpY05hbWUpOmQudXNlcklkZW50aWZpZXIhPT12b2lkIDAmJiFhLmluY2x1ZGVzKGQudXNlcklkZW50aWZpZXIpLGIpfTsKRHJhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVmooIll0SWRiTWV0YSBoYXNBbnlNZXRhIG90aGVyIik7cmV0dXJuKGF3YWl0IF8uR2woYz0+Yy51c2VySWRlbnRpZmllciE9PXZvaWQgMCYmYy51c2VySWRlbnRpZmllciE9PWIsYSkpLmxlbmd0aD4wfTtnMD1mdW5jdGlvbihhLGIpe2YwfHwoZjA9Xy5qZi5wYihhc3luYygpPT57dmFyIGM9YXdhaXQgXy5QbCgpO2lmKGMpe3ZhciBkPSEwO3RyeXtsZXQgZT1hd2FpdCBDcmEoYSxjLGIpO2lmKGUubGVuZ3RoKXtsZXQgZj1lWzBdO2F3YWl0IF8uQWwoZi5hY3R1YWxOYW1lKTthd2FpdCBfLkZsKGYuYWN0dWFsTmFtZSxjKX1lbHNlIGQ9ITF9Y2F0Y2goZSl7Xy5JayhlKSxkPSExfV8uamYuQWEoZjApO2YwPTA7ZCYmZzAoYSxiKX19KSl9O0VyYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPWF3YWl0IF8uUGwoKTtyZXR1cm4gYT9EcmEoYSk6ITF9OwpGcmE9ZnVuY3Rpb24oYSl7KDAsXy5lbCkoKTtpZighYS5ib2R5KXJldHVybiBhO3RyeXtsZXQgYj10eXBlb2YgYS5ib2R5PT09InN0cmluZyI/YS5ib2R5OkpTT04uc3RyaW5naWZ5KGEuYm9keSksYz1iO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe2xldCBkPV8udW0oYik7aWYoZCE9bnVsbCYmKGQ+Xy53bXx8ZDxfLnhtKSlyZXR1cm4gYTtjPV8uTmkoKDAsXy55bSkoYikpOygwLF8uZWwpKCl9YS5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihhLmhlYWRlcnN8fHt9KX07YS5ib2R5PWM7cmV0dXJuIGF9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksYX19O0dyYT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8uUGwoKSYmKF8uV2ooKXx8Xy54KCJud2xfaW5pdF9yZXF1aXJlX2RhdGFzeW5jX2lkX2tpbGxzd2l0Y2giKSkmJl8uc24oKSYmKF8udW49ITAsXy50bi5pc053bEluaXRpYWxpemVkPV8udW4sYXdhaXQgXy5wbigpLmF3YWl0SW5pdGlhbGl6YXRpb24oKSl9OwpoMD1mdW5jdGlvbihhKXtfLlNzW2FdJiYoYT1fLlNzW2FdLF8udGIoYSxiPT57Xy5Sc1tiXSYmZGVsZXRlIF8uUnNbYl19KSxhLmxlbmd0aD0wKX07aTA9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MeigpO2lmKGIpaWYoYi5jbGVhcihhKSxhKWgwKGEpO2Vsc2UgZm9yKGxldCBjIGluIF8uU3MpaDAoYyl9O2wwPWZ1bmN0aW9uKHt1SzphPSExLE1JOmI9ITB9PXt9KXtpZihfLnNhKCJfbGFjdCIsd2luZG93KT09bnVsbCl7dmFyIGM9cGFyc2VJbnQoXy53KCJMQUNUIiksMTApO2M9aXNGaW5pdGUoYyk/RGF0ZS5ub3coKS1NYXRoLm1heChjLDApOi0xO18ucmEoIl9sYWN0IixjLHdpbmRvdyk7Xy5yYSgiX2ZhY3QiLGMsd2luZG93KTtjPT0tMSYmajAoKTtIcmEoYSxiKTtuZXcgZTAoKCk9PntrMCgibW91c2UiLDEwMCl9KX19OwpIcmE9ZnVuY3Rpb24oYT0hMSxiPSEwKXt2YXIgYz13aW5kb3c7ZDAoYy5kb2N1bWVudCwia2V5ZG93biIsajApO2QwKGMuZG9jdW1lbnQsImtleXVwIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2Vkb3duIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2V1cCIsajApO2E/ZDAoYywidG91Y2htb3ZlIiwoKT0+e2swKCJ0b3VjaG1vdmUiLDIwMCl9LHtwYXNzaXZlOiEwfSk6KGQwKGMsInJlc2l6ZSIsKCk9PntrMCgicmVzaXplIiwyMDApfSksYiYmZDAoYywic2Nyb2xsIiwoKT0+e2swKCJzY3JvbGwiLDIwMCl9KSk7ZDAoYy5kb2N1bWVudCwidG91Y2hzdGFydCIsajAse3Bhc3NpdmU6ITB9KTtkMChjLmRvY3VtZW50LCJ0b3VjaGVuZCIsajAse3Bhc3NpdmU6ITB9KX07azA9ZnVuY3Rpb24oYSxiKXttMFthXXx8KG0wW2FdPSEwLF8uamYucGIoKCk9PntqMCgpO20wW2FdPSExfSxiKSl9OwpqMD1mdW5jdGlvbigpe18uc2EoIl9sYWN0Iix3aW5kb3cpPT1udWxsJiZsMCgpO3ZhciBhPURhdGUubm93KCk7Xy5yYSgiX2xhY3QiLGEsd2luZG93KTtfLnNhKCJfZmFjdCIsd2luZG93KT09LTEmJl8ucmEoIl9mYWN0IixhLHdpbmRvdyk7KGE9Xy5zYSgieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJmEoKX07bjA9ZnVuY3Rpb24oKXt2YXIgYT1fLmtvKCk7YS5pbmZvfHwoYS5pbmZvPXt9KTtyZXR1cm4gYS5pbmZvfTtJcmE9ZnVuY3Rpb24oKXt2YXIgYT1fLm5vKCk7YS5wcmVMb2dnZWRHZWxJbmZvc3x8KGEucHJlTG9nZ2VkR2VsSW5mb3M9W10pO3JldHVybiBhLnByZUxvZ2dlZEdlbEluZm9zfTsKSnJhPWZ1bmN0aW9uKGEsYj0iVW5rbm93biBmaWxlIixjPTAsZCxlLGYpe3ZhciBoPSExLGs9Xy5SaSgibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIik7aWYoayYmTWF0aC5yYW5kb20oKTxrKWg9ITA7ZWxzZXtrPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IobGV0IGw9MCxtPWsubGVuZ3RoO2w8bTtsKyspaWYoa1tsXS5zcmMuaW5kZXhPZigiL2RlYnVnLSIpPjApe2g9ITA7YnJlYWt9fWgmJihoPSExLGU/aD0hMDoodHlwZW9mIGE9PT0ic3RyaW5nIj9rPWE6RXJyb3JFdmVudCYmYSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/KGg9ITAsaz1hLm1lc3NhZ2UsYj1hLmZpbGVuYW1lLGM9YS5saW5lbm8sZD1hLmNvbG5vKTooaz0iVW5rbm93biBlcnJvciIsYj0iVW5rbm93biBmaWxlIixjPTApLGU9bmV3IF8uWGooayksZS5uYW1lPSJVbmhhbmRsZWRXaW5kb3dFcnJvciIsZS5tZXNzYWdlPWssZS5maWxlTmFtZT1iLGUubGluZU51bWJlcj1jLGlzTmFOKGQpPwpkZWxldGUgZS5jb2x1bW5OdW1iZXI6ZS5jb2x1bW5OdW1iZXI9ZCksZiYmXy5jdyhlLGYpLGg/Xy5HcChlKTpfLklwKGUpKX07bzA9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIEVycm9yP18uR3AoYSk6KGE9Xy5BYShhKT9KU09OLnN0cmluZ2lmeShhKTpTdHJpbmcoYSksYT1uZXcgXy5YaihhKSxhLm5hbWU9IlJlamVjdGVkUHJvbWlzZUVycm9yIixfLklwKGEpKX07S3JhPWZ1bmN0aW9uKCl7Xy50YihfLncoIkVSUk9SUyIpfHxbXSxhPT57Xy5HcC5hcHBseShudWxsLGEpfSk7Xy5RaSgiRVJST1JTIixbXSl9O3AwPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueCgiY3NpX3VzZV90aW1lX29yaWdpbiIpfHxfLngoImNzaV91c2VfdGltZV9vcmlnaW5fdHZodG1sNSIpKSYmXy5zcS50aW1lT3JpZ2luP01hdGguZmxvb3IoXy5zcS50aW1lT3JpZ2luKTpfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9O3EwPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJvdW5kKHAwKCkrYSl9OwpyMD1mdW5jdGlvbigpe3ZhciBhO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpPyhhPV8uc3E/LmdldEVudHJpZXNCeVR5cGU/LigibmF2aWdhdGlvbiIpPy5bMF0/LnRvSlNPTj8uKCkpPyhhLnJlcXVlc3RTdGFydD1xMChhLnJlcXVlc3RTdGFydCksYS5yZXNwb25zZUVuZD1xMChhLnJlc3BvbnNlRW5kKSxhLnJlZGlyZWN0U3RhcnQ9cTAoYS5yZWRpcmVjdFN0YXJ0KSxhLnJlZGlyZWN0RW5kPXEwKGEucmVkaXJlY3RFbmQpLGEuZG9tYWluTG9va3VwRW5kPXEwKGEuZG9tYWluTG9va3VwRW5kKSxhLmNvbm5lY3RTdGFydD1xMChhLmNvbm5lY3RTdGFydCksYS5jb25uZWN0RW5kPXEwKGEuY29ubmVjdEVuZCksYS5yZXNwb25zZVN0YXJ0PXEwKGEucmVzcG9uc2VTdGFydCksYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQ9cTAoYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQpLGEuZG9tYWluTG9va3VwU3RhcnQ9cTAoYS5kb21haW5Mb29rdXBTdGFydCksYS5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz0KITApOmE9Xy5zcS50aW1pbmc6YT1fLngoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfLnNxLnRpbWluZykpOl8uc3EudGltaW5nO3JldHVybiBhfTtMcmE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtpZigidmlzaWJpbGl0eVN0YXRlImluIGEpYT1hLnZpc2liaWxpdHlTdGF0ZTtlbHNle3ZhciBiPV8ucnMrIlZpc2liaWxpdHlTdGF0ZSI7YT1iIGluIGE/YVtiXTp2b2lkIDB9c3dpdGNoKGEpe2Nhc2UgImhpZGRlbiI6cmV0dXJuIDA7Y2FzZSAidmlzaWJsZSI6cmV0dXJuIDE7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4gMjtjYXNlICJ1bmxvYWRlZCI6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4tMX19OwpNcmE9ZnVuY3Rpb24oKXtpZihfLnNxLmdldEVudHJpZXNCeVR5cGUpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKTtpZihhPV8udmIoYSxjPT5jLm5hbWU9PT0iZmlyc3QtcGFpbnQiKSlyZXR1cm4gcTAoYS5zdGFydFRpbWUpfXZhciBiO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP2I9Xy5zcS5nZXRFbnRyaWVzQnlUeXBlKCJmaXJzdC1wYWludCIpWzBdLnN0YXJ0VGltZTpiPV8uc3EudGltaW5nLmFLO3JldHVybiBiP01hdGgubWF4KDAsYik6MH07Ck5yYT1mdW5jdGlvbigpe3ZhciBhPV8udygiVElNSU5HX0lORk8iLHt9KSxiPXt9LGM9KGQsZSxmKT0+e2U9ZS5tYXRjaCgiX3JpZCIpP2Uuc3BsaXQoIl9yaWQiKVswXTplO3R5cGVvZiBmPT09Im51bWJlciImJihmPUpTT04uc3RyaW5naWZ5KGYpKTtkLnJlcXVlc3RJZHM/ZC5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OmUsaWQ6Zn0pOmQucmVxdWVzdElkcz1be2VuZHBvaW50OmUsaWQ6Zn1dfTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2E9ZDtsZXQgZj1lO3N3aXRjaChhKXtjYXNlICJHZXRCcm93c2VfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRHdWlkZV9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldEhvbWVfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRQbGF5ZXJfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZWFyY2hfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZXR0aW5nc19yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldFRyZW5kaW5nX3JpZCI6YyhiLAphLGYpO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgInl0X3JlZCI6Yi5pc1JlZFN1YnNjcmliZXI9ISFmO2JyZWFrO2Nhc2UgInl0X2FkIjpiLmlzTW9uZXRpemVkPSEhZn19cmV0dXJuIGJ9O09yYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxiPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTtiPWpyYShiLGM9PmMubmFtZS5pbmRleE9mKGAke2F9Ly9mb250cy5nc3RhdGljLmNvbS9zL2ApPT09MCk7KGI9a3JhKGIsKGMsZCk9PmQuZHVyYXRpb24+Yy5kdXJhdGlvbj9kOmMpKSYmYi5zdGFydFRpbWU+MCYmYi5yZXNwb25zZUVuZD4wJiYoXy5ucSgid2ZmcyIscTAoYi5zdGFydFRpbWUpKSxfLm5xKCJ3ZmZlIixxMChiLnJlc3BvbnNlRW5kKSkpfTsKUHJhPWZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCFhKXJldHVybiExO3ZhciBjPSIiLGQ9YS5ub2RlTmFtZTtkPT09IlNDUklQVCI/KGM9YS5zcmMsY3x8KGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGltaW5nLWhyZWYiKSkmJihjPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtjKSk6ZD09PSJMSU5LIiYmKGM9YS5ocmVmKTtfLmliKGRvY3VtZW50KSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixfLmliKGRvY3VtZW50KSk7cmV0dXJuIGM/KGE9Xy5zcS5nZXRFbnRyaWVzQnlOYW1lKGMpKSYmYVswXSYmKGE9YVswXSxjPXAwKCksXy5ucSgicnNmXyIrYixjK01hdGgucm91bmQoYS5mZXRjaFN0YXJ0KSksXy5ucSgicnNlXyIrYixjK01hdGgucm91bmQoYS5yZXNwb25zZUVuZCkpLGEudHJhbnNmZXJTaXplIT09dm9pZCAwJiZhLnRyYW5zZmVyU2l6ZT09PTApPyEwOiExOiExfTsKUXJhPWZ1bmN0aW9uKCl7dmFyIGE9SXJhKCksYj1fLm9vKCksYz12b2lkIDA7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBrPWFbZF07aWYoay5sb2FkVHlwZSl7Yz1rLmxvYWRUeXBlO2JyZWFrfX1pZihfLmxvKCkubG9hZFR5cGU9PT0iY29sZCImJihiLmxvYWRUeXBlPT09ImNvbGQifHxjPT09ImNvbGQiKSl7Yz1fLm1vKCk7ZD1fLm5vKCk7ZD1kLmdlbFRpY2tzP2QuZ2VsVGlja3M6ZC5nZWxUaWNrcz17fTtmb3IodmFyIGUgaW4gYyllIGluIGR8fHR5cGVvZiBjW2VdPT09Im51bWJlciImJl8ubnEoZSxfLnVxKGUpKTt2YXIgZj17fSxoPSExO2U9az0+e18ueW4oYixrKTtfLnluKGYsayk7aD0hMH07Zm9yKGxldCBrIG9mIGEpZShrKTtoJiZfLnBxKGYpfX07CnQwPWZ1bmN0aW9uKGEsYil7Xy5WaSgoKT0+e18udW8oIiIpLmluZm8uYWN0aW9uVHlwZT1hO2ImJl8uUWkoIlRJTUlOR19BRlRfS0VZUyIsYik7Xy5RaSgiVElNSU5HX0FDVElPTiIsYSk7dmFyIGM9TnJhKCk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJl8ucHEoYyk7Yz17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6Xy5QeihfLncoIlRJTUlOR19BQ1RJT04iKSl9O3ZhciBkPV8udygiUFJFVklPVVNfQUNUSU9OIik7ZCYmKGMucHJldmlvdXNBY3Rpb249Xy5QeihkKSk7aWYoZD1fLncoIkNMSUVOVF9QUk9UT0NPTCIpKWMuaHR0cFByb3RvY29sPWQ7aWYoZD1fLncoIkNMSUVOVF9UUkFOU1BPUlQiKSljLnRyYW5zcG9ydFByb3RvY29sPWQ7KGQ9Xy5pcSgpKSYmZCE9PSJVTkRFRklORURfQ1NOIiYmKGMuY2xpZW50U2NyZWVuTm9uY2U9ZCk7ZD1McmEoKTtpZihkPT09MXx8ZD09PS0xKWMuaXNWaXNpYmxlPSEwO18ubG8oKTtuMCgpO2MubG9hZFR5cGU9ImNvbGQiO2Q9bjAoKTt2YXIgZT0KcjAoKSxmPXAwKCksaD1fLncoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtoPjAmJiFfLngoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJihmPWgpO2YmJihfLm5xKCJzcnQiLGUucmVzcG9uc2VTdGFydCksZC5wcmVyZW5kZXIhPT0xJiZfLm9xKGYpKTtkPU1yYSgpO2Q+MCYmXy5ucSgiZnB0IixkKTtkPXIwKCk7ZC5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmXy5wcSh7cGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOiEwfSx2b2lkIDApO18ubnEoIm5yZXFzIixkLnJlcXVlc3RTdGFydCx2b2lkIDApO18ubnEoIm5yZXNzIixkLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTtfLm5xKCJucmVzZSIsZC5yZXNwb25zZUVuZCx2b2lkIDApO2QucmVkaXJlY3RFbmQtZC5yZWRpcmVjdFN0YXJ0PjAmJihfLm5xKCJucnMiLGQucmVkaXJlY3RTdGFydCx2b2lkIDApLF8ubnEoIm5yZSIsZC5yZWRpcmVjdEVuZCx2b2lkIDApKTtkLmRvbWFpbkxvb2t1cEVuZC0KZC5kb21haW5Mb29rdXBTdGFydD4wJiYoXy5ucSgibmRuc3MiLGQuZG9tYWluTG9va3VwU3RhcnQsdm9pZCAwKSxfLm5xKCJuZG5zZSIsZC5kb21haW5Mb29rdXBFbmQsdm9pZCAwKSk7ZC5jb25uZWN0RW5kLWQuY29ubmVjdFN0YXJ0PjAmJihfLm5xKCJudGNwcyIsZC5jb25uZWN0U3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO2Quc2VjdXJlQ29ubmVjdGlvblN0YXJ0Pj1wMCgpJiZkLmNvbm5lY3RFbmQtZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQ+MCYmKF8ubnEoIm5zdGNwcyIsZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO18uc3EmJiJnZXRFbnRyaWVzQnlUeXBlImluIF8uc3EmJk9yYSgpO2Q9W107aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmXy5zcSYmXy5zcS5nZXRFbnRyaWVzQnlOYW1lKWZvcih2YXIgayBpbiBzMClzMC5oYXNPd25Qcm9wZXJ0eShrKSYmKGU9CnMwW2tdLFByYShrLGUpJiZkLnB1c2goZSkpO2lmKGQubGVuZ3RoPjApe2MucmVzb3VyY2VJbmZvPVtdO2ZvcihsZXQgbCBvZiBkKWMucmVzb3VyY2VJbmZvLnB1c2goe3Jlc291cmNlQ2FjaGU6bH0pfV8ucHEoYyk7UXJhKCk7Xy5ReigpO2s9Xy53KCJUSU1JTkdfQUNUSU9OIik7Xy5zYSgieXRnbG9iYWwudGltaW5ncmVhZHlfIikmJmsmJl8uUnooKSYmXy52cSgpJiZfLnRxKCl9KSgpfTt2MD1mdW5jdGlvbihhKXtpZighXy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4iIjthPV8uUWIoYSl8fCIiO3ZhciBiPU9iamVjdC5rZXlzKHUwKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyl7bGV0IGQ9YltjXTtpZihhLmluY2x1ZGVzKGQpKXJldHVybiBkfXJldHVybiIifTsKdzA9ZnVuY3Rpb24oYSl7aWYoIV8ueCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXUwW2FdO3JldHVybiBiPyhfLkl6KGIpLCgpPT57dmFyIGM9Xy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oYz1ScmFbYV0pP18uSXooYyk6ITE6ITE7cmV0dXJuIGN9KTooKT0+e319O3gwPWZ1bmN0aW9uKGEpe18uVmkoKCk9PntpZighXy5SeigiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIil8fF8uQnEoYSwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIikpcmV0dXJuITE7Xy5BcShhLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7cmV0dXJuITB9KSgpfTtTcmE9ZnVuY3Rpb24oKXtfLlZpKCgpPT57dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthPT09Xy5wbygpJiZfLkFxKCJvbCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9KSgpfTsKVHJhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsNCx2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uVGEoYSl9O3kwPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRhKGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEpfTtBMD1mdW5jdGlvbigpe3JldHVybiB6MC5sb2FkZWR8fCh6MC5sb2FkZWQ9ImxvYWRlZCIucmVwbGFjZSgvXC0oW2Etel0pL2csKGEsYik9PmIudG9VcHBlckNhc2UoKSkpfTtCMD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldOmEuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIpOm51bGx9O0MwPWZ1bmN0aW9uKGEpe2EmJihhLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldPSJ0cnVlIjppcmEoYSkpfTsKRDA9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uTHkoYixhKTtyZXR1cm5ganMtJHtfLk15KGIuaHJlZi5yZXBsYWNlKC9eW2EtekEtWl0rOlwvXC8vLCIvLyIpKX1gfTtFMD1mdW5jdGlvbihhKXthPUQwKGEpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpO2ImJihpMChhKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpfTtHMD1mdW5jdGlvbihhLGIpe2EmJmImJihhPWAke18uZncoYil9YCwoYT1GMFthXSkmJl8uTnooYSkpfTsKVXJhPWZ1bmN0aW9uKGEsYixjLGQ9bnVsbCl7dmFyIGU9Xy5DZCgiU0NSSVBUIik7ZS5pZD1iO2Uub25sb2FkPSgpPT57YyYmc2V0VGltZW91dChjLDApfTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e3N3aXRjaChlLnJlYWR5U3RhdGUpe2Nhc2UgImxvYWRlZCI6Y2FzZSAiY29tcGxldGUiOmUub25sb2FkKCl9fTtkJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO18ub2IoZSx0eXBlb2YgYT09PSJzdHJpbmciP3kwKGEpOmEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShlLGEuZmlyc3RDaGlsZCk7cmV0dXJuIGV9OwpWcmE9ZnVuY3Rpb24oYSxiLGM9bnVsbCl7dmFyIGQ9RDAodHlwZW9mIGE9PT0ic3RyaW5nIj9hOmEudG9TdHJpbmcoKSksZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSxmPWUmJkIwKGUpLGg9ZSYmIWY7Zj9iJiZiKCk6KGImJihmPV8uTXooZCxiKSxiPWAke18uZncoYil9YCxGMFtiXT1mKSxofHwoZT1VcmEoYSxkLCgpPT57QjAoZSl8fChDMChlKSxfLk96KGQpLF8ubWooKCk9PntpMChkKX0sMCkpfSxjKSkpfTtIMD1mdW5jdGlvbihhLGIsYz1udWxsKXtWcmEoYSxiLGMpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DZCgiQSIpO18uTHkoYixuZXcgXy5XYShhKSk7cmV0dXJuYGNzcy0ke18uTXkoYi5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIikpfWB9OwpYcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtkLmlkPWI7ZC5vbmxvYWQ9KCk9PntjJiZzZXRUaW1lb3V0KGMsMCl9O2E9eTAoYSk7Xy5xYihkLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9O1lyYT1mdW5jdGlvbihhKXt2YXIgYj1XcmEoYSksYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxkPWMmJkIwKGMpO2R8fGMmJiFkfHwoYz1YcmEoYSxiLCgpPT57aWYoIUIwKGMpKXtDMChjKTtfLk96KGIpO2xldCBlPV8uRGEoaTAsYik7Xy5taihlLDApfX0pKX07CkkwPWZ1bmN0aW9uKGEpe2EuRmE9ITE7aWYoYS5oYSlmb3IodmFyIGIgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShiKSYmYS5oYShiLGEualtiXSk7Zm9yKGxldCBjIGluIGEuSSlhLkkuaGFzT3duUHJvcGVydHkoYykmJmNsZWFyVGltZW91dChOdW1iZXIoYykpO2EuST17fTthLkI9bnVsbDthLmhhPW51bGw7Yj1hLmFwaTtmb3IobGV0IGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYltjXT1udWxsKTtiLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoYyxkKX07Yi5yZW1vdmVFdmVudExpc3RlbmVyPShjLGQpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCl9O2IuZGVzdHJveT0oKT0+e2EuZGlzcG9zZSgpfTtiLmdldExhc3RFcnJvcj0oKT0+YS5nZXRMYXN0RXJyb3IoKTtiLmdldFBsYXllclR5cGU9KCk9PmEuZ2V0UGxheWVyVHlwZSgpO2IuZ2V0Q3VycmVudFZpZGVvQ29uZmlnPSgpPT5hLk1hO2IubG9hZE5ld1ZpZGVvQ29uZmlnPWM9Pgp7YS5sb2FkTmV3VmlkZW9Db25maWcoYyl9O2IuaXNSZWFkeT0oKT0+YS5pc1JlYWR5KCl9O0owPWZ1bmN0aW9uKGEpe3ZhciBiO2Eud2ViUGxheWVyQ29udGV4dENvbmZpZz9iPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkOmI9YS5jb25maWcuYXR0cnMuaWQ7YS5lbGVtZW50SWQ9Ynx8YS5lbGVtZW50SWQ7YS5lbGVtZW50SWQ9PT0idmlkZW8tcGxheWVyIiYmKGEuZWxlbWVudElkPWEucGxheWVySWQsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEucGxheWVySWQ6YS5jb25maWcuYXR0cnMuaWQ9YS5wbGF5ZXJJZCk7YS5vPy5pZD09PWEuZWxlbWVudElkJiYoYS5lbGVtZW50SWQ9YCR7YS5lbGVtZW50SWR9LXBsYXllcmAsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEuZWxlbWVudElkOmEuY29uZmlnLmF0dHJzLmlkPWEuZWxlbWVudElkKX07ClMwPWZ1bmN0aW9uKGEpe2lmKCFhLmlhKCkmJiFhLlUpe3ZhciBiPUswKGEpO2lmKGImJihMMChhKT8iaHRtbDUiOm51bGwpPT09Imh0bWw1IilhLlo9Imh0bWw1IixhLmlzUmVhZHkoKXx8TTAoYSk7ZWxzZSBpZihOMChhKSxhLlo9Imh0bWw1IixiJiZhLnYmJmEudGFyZ2V0RWxlbWVudClhLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoYS52KSxNMChhKTtlbHNle2EuY29uZmlnJiYoYS5jb25maWcubG9hZGVkPSEwKTtsZXQgYz0hMTthLkQ9KCk9PntjPSEwO3ZhciBkPU8wKGEsInBsYXllcl9ib290c3RyYXBfbWV0aG9kIik/Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZUFsdGVybmF0ZSIpfHxfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIik6Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3ZhciBlPWEuY29uZmlnP1AwKGEuY29uZmlnKTp2b2lkIDA7ZCYmZChhLnRhcmdldEVsZW1lbnQsZSxhLndlYlBsYXllckNvbnRleHRDb25maWcsCmEuRWIpO00wKGEpfTthLlU9ITA7Yj9hLkQoKTooSDAoUTAoYSksYS5EKSwoYj1acmEoYSkpJiZZcmEoYnx8IiIpLFIwKGEpJiYhYyYmXy5yYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIsbnVsbCkpfX19O1QwPWZ1bmN0aW9uKGEpe2EuY29uZmlnJiZhLmNvbmZpZy5sb2FkZWQhPT0hMCYmKGEuY29uZmlnLmxvYWRlZD0hMCwhYS5jb25maWcuYXJnc3x8YS5jb25maWcuYXJncy5hdXRvcGxheSE9PSIwIiYmYS5jb25maWcuYXJncy5hdXRvcGxheSE9PTAmJmEuY29uZmlnLmFyZ3MuYXV0b3BsYXkhPT0hMT9hLmFwaS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncz8/bnVsbCk6YS5hcGkuY3VlVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncykpfTtQMD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpe2xldCBkPWFbY107YltjXT10eXBlb2YgZD09PSJvYmplY3QiP1VfKGQpOmR9cmV0dXJuIGJ9OwpVMD1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7aWYoYS55YVtiXSlyZXR1cm4gYS55YVtiXTtjPSguLi5kKT0+e3ZhciBlPV8uc2EoYik7aWYoZSl0cnl7ZS5hcHBseShfLnUsZCl9Y2F0Y2goZil7dGhyb3cgZD1uZXcgXy5YaigiUGxheWVyUHJveHkgZXJyb3Igd2hlbiBleGVjdXRpbmcgY2FsbGJhY2siLHtlcnJvcjpmfSksZC5sZXZlbD0iRVJST1IiLGQ7fX07YS55YVtiXT1jfXJldHVybiBjP2M6bnVsbH07TDA9ZnVuY3Rpb24oYSl7dmFyIGI9Vl8oYS5lbGVtZW50SWQpOyFiJiZhLm8mJmEuby5xdWVyeVNlbGVjdG9yJiYoYj1hLm8ucXVlcnlTZWxlY3RvcihgIyR7YS5lbGVtZW50SWR9YCkpO3JldHVybiBifTtRMD1mdW5jdGlvbihhKXtyZXR1cm4gYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5qc1VybDooYT1hLmNvbmZpZy5hc3NldHMpP2EuanM6IiJ9OwpLMD1mdW5jdGlvbihhKXt2YXIgYj0hMCxjPUwwKGEpO2MmJmEuY29uZmlnJiYoYj1jLmRhdGFzZXQudmVyc2lvbj09PVEwKGEpKTtyZXR1cm4gYiYmISFfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIil9O08wPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnKXZhciBjPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5zZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzO2Vsc2UgYS5jb25maWc/LmFyZ3MmJihjPWEuY29uZmlnLmFyZ3MuZmZsYWdzKTtyZXR1cm4oY3x8IiIpLnNwbGl0KCImIikuaW5jbHVkZXMoYCR7Yn09dHJ1ZWApfTsKTTA9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7bGV0IGI9TDAoYSksYz0hMTtiJiZiLmdldEFwaUludGVyZmFjZSYmYi5nZXRBcGlJbnRlcmZhY2UoKSYmKGM9ITApO2M/KGEuVT0hMSwhTzAoYSwiaHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoIikmJmI/LmlzTm90U2VydmFibGUmJmEuY29uZmlnJiZiPy5pc05vdFNlcnZhYmxlKGEuY29uZmlnLmFyZ3M/LnZpZGVvX2lkKXx8JHJhKGEpKTphLlFhPXNldFRpbWVvdXQoKCk9PntNMChhKX0sNTApfX07TjA9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKTtJMChhKTthLlo9bnVsbDthLmNvbmZpZyYmKGEuY29uZmlnLmxvYWRlZD0hMSk7dmFyIGI9TDAoYSk7YiYmKEswKGEpfHwhUjAoYSk/YS52PWI6KGImJmIuZGVzdHJveSYmYi5kZXN0cm95KCksYS52PW51bGwpKTthLnRhcmdldEVsZW1lbnQmJldfKGEudGFyZ2V0RWxlbWVudCl9OwpacmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEud2ViUGxheWVyQ29udGV4dENvbmZpZz9hLndlYlBsYXllckNvbnRleHRDb25maWcuY3NzVXJsOihhPWEuY29uZmlnLmFzc2V0cyk/YS5jc3M6IiJ9O1IwPWZ1bmN0aW9uKGEpe2E9YS5jb25maWc/LmFyZ3M/LmZmbGFncztyZXR1cm4hIWEmJmEuaW5kZXhPZigicGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb249dHJ1ZSIpIT09LTF9OwokcmE9ZnVuY3Rpb24oYSl7STAoYSk7YS5GYT0hMDt2YXIgYj1MMChhKTtpZihiKXthLkI9VjAoYSxiLCJhZGRFdmVudExpc3RlbmVyIik7YS5oYT1WMChhLGIsInJlbW92ZUV2ZW50TGlzdGVuZXIiKTtsZXQgYz1iLmdldEFwaUludGVyZmFjZSgpO2M9Yy5jb25jYXQoYi5nZXRJbnRlcm5hbEFwaUludGVyZmFjZSgpKTtsZXQgZD1hLmFwaTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXTtkW2ZdfHwoZFtmXT1WMChhLGIsZikpfX1mb3IobGV0IGMgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShjKSYmYS5CJiZhLkIoYyxhLmpbY10pO1QwKGEpO2Eub2EmJmEub2EoYS5hcGkpO2EuTS5wdWJsaXNoKCJvblJlYWR5IixhLmFwaSl9OwpWMD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YltjXTtyZXR1cm4oLi4uZSk9Pnt0cnl7cmV0dXJuIGEubGFzdEVycm9yPW51bGwsZC5hcHBseShiLGUpfWNhdGNoKGYpe2lmKGMhPT0ic2VuZEFiYW5kb25tZW50UGluZyIpdGhyb3cgZi5wYXJhbXM9YyxhLmxhc3RFcnJvcj1mLGU9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIGluIG1ldGhvZCBjYWxsIix7ZXJyb3I6ZixtZXRob2Q6YyxwbGF5ZXJJZDphLnBsYXllcklkfSksZS5sZXZlbD0iV0FSTklORyIsZTt9fX07CmFzYT1mdW5jdGlvbihhLGIpe3ZhciBjPWQ9Pnt2YXIgZT0oKT0+e2EuaWEoKTtpZighYS5pYSgpKXRyeXthLk0ucHVibGlzaChiLGQ/P3ZvaWQgMCl9Y2F0Y2goaCl7dmFyIGY9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIHdoZW4gY3JlYXRpbmcgZ2xvYmFsIGNhbGxiYWNrIix7ZXJyb3I6aC5tZXNzYWdlLGV2ZW50OmIscGxheWVySWQ6YS5wbGF5ZXJJZCxkYXRhOmQsb3JpZ2luYWxTdGFjazpoLnN0YWNrLGNvbXBvbmVudFN0YWNrOmguY29tcG9uZW50U3RhY2t9KTtmLmxldmVsPSJXQVJOSU5HIjt0aHJvdyBmO319O2lmKE8wKGEsIndlYl9wbGF5ZXJfcHVibGlzaF9ldmVudHNfaW1tZWRpYXRlbHkiKSllKCk7ZWxzZXtsZXQgZj1zZXRUaW1lb3V0KCgpPT57ZSgpO3ZhciBoPWEuSSxrPVN0cmluZyhmKTtrIGluIGgmJmRlbGV0ZSBoW2tdfSwwKTt2cmEoYS5JLFN0cmluZyhmKSl9fTtyZXR1cm4gYS5qW2JdPWN9Owpjc2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz0icGxheWVyIjtjPXR5cGVvZiBjPT09InN0cmluZyI/Vl8oYyk6Yzt2YXIgZD1gJHtfLnZhYX1fJHtfLmZ3KGMpfWAsZT1XMFtkXTtlPW5ldyBic2EoYyxkLGEsYik7VzBbZF09ZTtlLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57ZGVsZXRlIFcwW2UuZ2V0SWQoKV19KTtyZXR1cm4gZS5hcGl9O1gwPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O18ueCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKGIucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIGE9Xy5laihhLGIpfTtZMD1mdW5jdGlvbihhKXt2YXIgYj1fLncoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIik7YiYmKGE9U3RyaW5nKGIpK1N0cmluZyhfLk55KGEpKSk7cmV0dXJuIGF9OwpaMD1mdW5jdGlvbihhLGI9IlBPU1QiKXthPXttZXRob2Q6Yixtb2RlOl8uZmooYSk/InNhbWUtb3JpZ2luIjoiY29ycyIsY3JlZGVudGlhbHM6Xy5maihhKT8ic2FtZS1vcmlnaW4iOiJpbmNsdWRlIn07Yj17fTt2YXIgYz17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpYltkXSYmKGNbZF09YltkXSk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJihhLmhlYWRlcnM9Yyk7cmV0dXJuIGF9OyQwPWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19O2ExPWZ1bmN0aW9uKGEpe2lmKF8uWHooKSl7dmFyIGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpYj0kMChjKSxiPT09dm9pZCAwfHxhLmluY2x1ZGVzKGIpfHxzZWxmLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07CmRzYT1mdW5jdGlvbigpe2lmKCFfLlh6KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpaWYoYj0kMChjKSxiIT09dm9pZCAwJiZiIT09YSlyZXR1cm4hMDtyZXR1cm4hMX07YjE9ZnVuY3Rpb24oYSl7Xy5PaShfLiR6LGFyZ3VtZW50cyl9O2MxPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGF3YWl0IF8uZUEoKSl7dmFyIGI9W10sYz1hd2FpdCBfLmRBLmtleXMoKTtmb3IobGV0IGQgb2YgYykoe2RhdGFzeW5jSWQ6Y309Xy5iQShkKSksIWN8fGEuaW5jbHVkZXMoYyl8fGIucHVzaChfLmRBLmRlbGV0ZShkKSk7UHJvbWlzZS5hbGwoYikudGhlbihkPT5kLnNvbWUoZT0+ZSkpfX07CmVzYT1hc3luYyBmdW5jdGlvbigpe2lmKCFhd2FpdCBfLmVBKCkpcmV0dXJuITE7dmFyIGE9Xy5WaigiY2FjaGUgY29udGFpbnMgb3RoZXIiKSxiPWF3YWl0IF8uZEEua2V5cygpO2ZvcihsZXQgYyBvZiBiKWlmKHtkYXRhc3luY0lkOmJ9PV8uYkEoYyksYiYmYiE9PWEpcmV0dXJuITA7cmV0dXJuITF9O2ZzYT1mdW5jdGlvbihhKXtpZihfLmhBLmhhcyhhKSYmXy5mQSYmKF8uZkE/LnRhZ05hbWUudG9Mb3dlckNhc2UoKT8/IiIpPT09YSl7bGV0IGI7KGI9Xy5mQSkubWk/PyhiLm1pPTApO18uZkEubWkrKztpZihfLmZBLm1pPjEpdGhyb3cgRXJyb3IoIlBiIik7cmV0dXJuIF8uZkF9fTtnc2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPz8iIjtfLmZBIT09YSYmYi5pbmNsdWRlcygiLSIpJiZfLmdBLnNldChhLCEwKX07ZDE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2goYSl7cmV0dXJuITB9fTsKZjE9ZnVuY3Rpb24oYT0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPXdpbmRvdz09PXdpbmRvdy50b3A/d2luZG93OmQxKCk/d2luZG93OndpbmRvdy50b3AsZD1jW2FdO2Q/LmJldmFzcnM/YihuZXcgZTEoZC5iZXZhc3JzKSk6KGR8fChkPXtucWZiZWw6W119LGNbYV09ZCksZC5ucWZiZWwucHVzaChlPT57YihuZXcgZTEoZSkpfSkpfSl9O2hzYT1mdW5jdGlvbihhKXthLmohPT12b2lkIDAmJihhLm8uZm9yRWFjaChiPT57YS5qPy5yZW1vdmVFdmVudExpc3RlbmVyKGIsYS52KX0pLGEuaj12b2lkIDApfTtnMT1mdW5jdGlvbihhKXt2YXIgYj17S2M6YS5jLHNsOmEuZSxMeTphLm1jPz8hMSxNeTphLm1lPz8hMX07YS5jbyYmKGIueWk9e1hvOmEuY28uYyxBdTphLmNvLmEsSkE6YS5jby5zfSk7cmV0dXJuIGJ9Owpqc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFzeW5jKCk9Pnt2YXIgYj1hd2FpdCBhKCk7cmV0dXJue2Y6KCk9PmIueWcucHJvbWlzZSxjOmM9PntpZihjPjE1MCl2YXIgZD0hMTtlbHNlIHRyeXtiLmNhY2hlPW5ldyBpc2EoYyxiLlgpLGQ9ITB9Y2F0Y2goZSl7Yi5yZXBvcnRFcnJvcihuZXcgaDEoMjIsIkdCSjppbml0IixlKSksZD0hMX1yZXR1cm4gZH0sbTpjPT5iLm9lKGcxKGMpKSxtd3M6Yz0+Yi56aihnMShjKSl9fX07CmtzYT1mdW5jdGlvbihhLGIsYz0iYmV2YXNyc2ciKXtiPXtzOmY9PmEuc25hcHNob3Qoey4uLihmLmMmJntLYzpmLmN9KSwuLi4oZi5zJiZ7WWo6Zi5zfSksVUs6Zi5wPz8hMH0pLGU6Zj0+dm9pZCBhLkloPy4oZiksYzooZixoKT0+YS5CaShmLGgpLHA6YS5DZyxsOigpPT5hLlZoKCksd3BjOmI/anNhKGIpOnZvaWQgMH07dmFyIGQ9d2luZG93PT09d2luZG93LnRvcD93aW5kb3c6ZDEoKT93aW5kb3c6d2luZG93LnRvcCxlPWRbY107aWYoZSl7ZS5iZXZhc3JzPWI7aWYoZS5ucWZiZWwhPT12b2lkIDApZm9yKGxldCBmIG9mIGUubnFmYmVsKWYoYik7ZS5ucWZiZWw9dm9pZCAwfWVsc2UgZT17YmV2YXNyczpiLG5xZmJlbDp2b2lkIDB9LGRbY109ZX07ajE9ZnVuY3Rpb24oYSl7dmFyIGI9W107R18oYSxpMSw2KS5mb3JFYWNoKGM9PntfLnR4KGMsMik8PTUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTsKbHNhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0dfKGEsaTEsNikuZm9yRWFjaChjPT57Xy50eChjLDIpPjUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTtrMT1mdW5jdGlvbihhKXthLnRoZW4oKCk9Pnt9LCgpPT57fSl9O2wxPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6YX19O20xPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MyxmaWVsZE5hbWU6YX19O21zYT1mdW5jdGlvbihhLGIpe3JldHVybiBDXyhhLGIsXy5Pdyl9OwpyMT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbjE7Yj1CWihiLDEsYS5vKTt2YXIgYz1uc2EoYSk7Yj1DXyhiLGMsc3JhKTtjPVtdO3ZhciBkPVtdO2Zvcih2YXIgZSBvZiBhLmoua2V5cygpKWQucHVzaChlLnNwbGl0KCIsIikpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBwPWRbZV07dmFyIGY9YS52LGg9bzEoYSwuLi5wKXx8W107bGV0IHI9W107Zm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sJiZsLmo7bD1uZXcgb3NhO3N3aXRjaChmKXtjYXNlIDM6bT1OdW1iZXIobSk7TnVtYmVyLmlzRmluaXRlKG0pJiZGXyhsLDEscDEseV8obSkpO2JyZWFrO2Nhc2UgMjpGXyhsLDIscDEscF8oTnVtYmVyKG0pKSl9ci5wdXNoKGwpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2s9cltmXTtoPW5ldyBwc2E7aD1fLkt3KGgsMixrKTtrPVtdO2w9cXNhKGEpO2ZvcihtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBuPWxbbV07bGV0IHQ9cFttXSx2PW5ldyByc2E7c3dpdGNoKG4pe2Nhc2UgMzpGXyh2LAoxLHExLEFaKFN0cmluZyh0KSkpO2JyZWFrO2Nhc2UgMjpuPU51bWJlcih0KTtOdW1iZXIuaXNGaW5pdGUobikmJkZfKHYsMixxMSxfLlB3KG4pKTticmVhaztjYXNlIDE6Rl8odiwzLHExLF8ueHcodD09PSJ0cnVlIikpfWsucHVzaCh2KX1IXyhoLDEsayk7Yy5wdXNoKGgpfX1IXyhiLDQsYyk7cmV0dXJuIGJ9O3NzYT1mdW5jdGlvbihhKXtIXyhzMSwxLGEpfTsKdXNhPWZ1bmN0aW9uKGEsYj10MSl7aWYoIXUxKXthPWEubmF2aWdhdG9yPy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoImtlIikpO3NzYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+e3ZhciBlPW5ldyB0c2E7ZT1CWihlLDEsZC5icmFuZCk7cmV0dXJuIEJaKGUsMixkLnZlcnNpb24pfSkpO3R5cGVvZiBhLm1vYmlsZT09PSJib29sZWFuIiYmXy5xdyhzMSwyLF8ueHcoYS5tb2JpbGUpKTt1MT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBjPW5ldyBTZXQoYik7cmV0dXJuIHUxLnRoZW4oZD0+e3ZhciBlPXMxLmNsb25lKCk7Yy5oYXMoInBsYXRmb3JtIikmJkJaKGUsMyxkLnBsYXRmb3JtKTtjLmhhcygicGxhdGZvcm1WZXJzaW9uIikmJkJaKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7CmMuaGFzKCJhcmNoaXRlY3R1cmUiKSYmQlooZSw1LGQuYXJjaGl0ZWN0dXJlKTtjLmhhcygibW9kZWwiKSYmQlooZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJkJaKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlLnNlcmlhbGl6ZSgpfSkuY2F0Y2goKCk9PnMxLnNlcmlhbGl6ZSgpKX07djE9ZnVuY3Rpb24oYSl7cmV0dXJuIENaKGEsMSwxKX07eTE9ZnVuY3Rpb24oYSxiKXtfLkt3KGEuaiwxLGIpO0tfKGIpfHx2MShiKTthLnlkfHwoYj13MShhKSxKXyhiLDUpfHxCWihiLDUsYS5sb2NhbGUpKTthLnYmJihiPXcxKGEpLF8uTngoYix4MSw5KXx8Xy5LdyhiLDksYS52KSl9O3cxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTngoYS5qLHoxLDEpO2J8fChiPW5ldyB6MSx5MShhLGIpKTthPWI7Yj1fLk54KGEsQTEsMTEpO2J8fChiPW5ldyBBMSxfLkt3KGEsMTEsYikpO3JldHVybiBifTt2c2E9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnhzYT1mdW5jdGlvbihhKXt2YXIgYj1hLnlkP3ZvaWQgMDpfLnpkKCk7Yj91c2EoYix0MSkudGhlbihjPT57YS52PXdzYShjPz8iW10iKTtjPXcxKGEpO18uS3coYyw5LGEudik7cmV0dXJuITB9KS5jYXRjaCgoKT0+ITEpOlByb21pc2UucmVzb2x2ZSghMSl9O0IxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQj1hO3RoaXMuRD1iO3RoaXMubz10aGlzLmo9YTt0aGlzLks9Y3x8MDt0aGlzLkk9ZHx8Mn07QzE9ZnVuY3Rpb24oYSl7YS5vPU1hdGgubWluKGEuRCxhLm8qYS5JKTthLmo9TWF0aC5taW4oYS5ELGEubysoYS5LP01hdGgucm91bmQoYS5LKihNYXRoLnJhbmRvbSgpLS41KSoyKmEubyk6MCkpO2EudisrfTtEMT1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn07CnlzYT1mdW5jdGlvbihhLGIpe2lmKCFhLk1hKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06Y307RTE9ZnVuY3Rpb24oYSl7YS52LmlzRmluYWw9ITA7YS5mbHVzaCgpO2Eudi5pc0ZpbmFsPSExfTtGMT1mdW5jdGlvbihhKXthLlV8fChhLlU9RDEoKSk7dHJ5e3JldHVybihuZXcgVVJMKGEuVSkpLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuKG5ldyBVUkwoYS5VLF8uemQoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07QXNhPWZ1bmN0aW9uKGEpe3pzYShhLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8uemQoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5zZXJpYWxpemUoKSl9Y2F0Y2h7fWR8fChhLlo9ITEpO3JldHVybiBkfSl9OwpCc2E9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPWEud2l0aENyZWRlbnRpYWxzKXt2YXIgZT17fSxmPW5ldyBVUkwoRjEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5zZXNzaW9uSW5kZXgmJihlWyJYLUdvb2ctQXV0aFVzZXIiXT1hLnNlc3Npb25JbmRleCxmLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixhLnNlc3Npb25JbmRleCkpO2EucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTphLnBhZ2VJZH0pLGYuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixhLnBhZ2VJZCkpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixHdToxLE9qOmUscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHRpbWVvdXRNaWxsaXM6YS50aW1lb3V0TWlsbGlzfX07CnpzYT1mdW5jdGlvbihhLGIpe2lmKGEuai5sZW5ndGghPT0wKXt2YXIgYz1uZXcgVVJMKEYxKGEpKTtjLnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBkPWEuU2YoKTtkJiZjLnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGQpO2Muc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEuc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihkPTA7ZDwxMCYmYS5qLmxlbmd0aDsrK2Qpe2xldCBlPWEuai5zbGljZSgwLDMyKSxmPWEudi5idWlsZChlLGEuQixhLkksYS5sZixhLmhhLGEuZ2EpO2lmKCFiKGMudG9TdHJpbmcoKSxmKSl7KythLkk7YnJlYWt9YS5CPTA7YS5JPTA7YS5oYT0wO2EuZ2E9MDthLmo9YS5qLnNsaWNlKGUubGVuZ3RoKX1hLm8uZW5hYmxlZCYmYS5vLnN0b3AoKX19O0NzYT1mdW5jdGlvbihhLGIpe2EuYnVpbGRMYWJlbD1iO3JldHVybiBhfTtFc2E9ZnVuY3Rpb24oYSl7YS5uZXR3b3JrPW5ldyBEc2E7cmV0dXJuIGF9O0ZzYT1mdW5jdGlvbihhLGIpe2Euaj1ifTsKR3NhPWZ1bmN0aW9uKGEpe2Eubz0hMDtyZXR1cm4gYX07cXNhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZpZWxkcy5tYXAoYj0+Yi5maWVsZFR5cGUpfTtvMT1mdW5jdGlvbihhLC4uLmIpe2I9RzEoLi4uYik7cmV0dXJuIGEuai5oYXMoYik/YS5qLmdldChiKTp2b2lkIDB9O25zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5maWVsZHMubWFwKGI9PmIuZmllbGROYW1lKX07STE9ZnVuY3Rpb24oYSxiLC4uLmMpe2M9RzEoLi4uYyk7YS5qLnNldChjLFtuZXcgSDEoYildKX07SHNhPWZ1bmN0aW9uKGEsYiwuLi5jKXt2YXIgZD1vMShhLC4uLmMpO2Q/ZC5wdXNoKG5ldyBIMShiKSk6STEoYSxiLC4uLmMpfTtHMT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYT9hLmpvaW4oIiwiKToia2V5In07SXNhPWZ1bmN0aW9uKGEsLi4uYil7cmV0dXJuKGE9bzEoYSwuLi5iKSkmJmEubGVuZ3RoP2FbMF06dm9pZCAwfTsKSnNhPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9MCxkPUlzYShhLC4uLmIpO2QmJihjPWQuaik7STEoYSxjKzEsLi4uYil9O0sxPWZ1bmN0aW9uKGEsYiwuLi5jKXthLnYuaGFzKGIpfHxhLnYuc2V0KGIsbmV3IEoxKGIsYykpfTtNMT1mdW5jdGlvbihhLGIsLi4uYyl7YS52LmhhcyhiKXx8YS52LnNldChiLG5ldyBMMShiLGMpKX07TjE9ZnVuY3Rpb24oYSl7YS5vLmVuYWJsZWR8fGEuby5zdGFydCgpO2EuSSsrO2EuST49YS5CJiZhLkQoKX07S3NhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07TzE9ZnVuY3Rpb24oYSxiLC4uLmMpeyhiPWEuaihiKSkmJmIgaW5zdGFuY2VvZiBMMSYmKEpzYShiLC4uLmMpLE4xKGEpKX07ClAxPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwpMc2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTtSMT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UTEoKTtiPWIoKTthLnYoYyxRMSgpLWQpO3JldHVybiBifTtPc2E9ZnVuY3Rpb24oYSxiLGMsZCl7YT1Hc2EoRXNhKENzYShuZXcgUzEsYSkpKS5ubCgpO2IubGVuZ3RoJiZGc2EoYSxtc2EobmV3IE1zYSxiKSk7ZCE9PXZvaWQgMCYmKGEuTmU9ZCk7dmFyIGU9bmV3IE5zYShhLmJ1aWxkKCkpO0VaKGUsYSk7dmFyIGY9bmV3IFQxKHtmbHVzaChoKXt0cnl7ZS5mbHVzaChoKX1jYXRjaChrKXtjKGspfX19KTtmLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtmLkQoKX1maW5hbGx5e2UuZGlzcG9zZSgpfX0pfSk7Zi5CPTFFNTtmLmZsdXNoSW50ZXJ2YWw9M0U0O2Yuby5zZXRJbnRlcnZhbCgzRTQpO3JldHVybiBmfTsKUHNhPWZ1bmN0aW9uKGEpe2lmKGEudGltZXI9PT12b2lkIDApe2xldCBiPU1hdGgubWF4KDAsYS5qK2Euby1RMSgpKTthLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0cnl7YS5jYWxsYmFjaygpfWZpbmFsbHl7YS5qPVExKCksYS50aW1lcj12b2lkIDB9fSxiKX19O1JzYT1mdW5jdGlvbihhLGI9W10pe3JldHVybiBuZXcgUXNhKGEsYil9O1ExPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9O1UxPWZ1bmN0aW9uKGEsYil7aWYoYS5kaXNhYmxlKXJldHVybiBuZXcgU3NhO2I9Yj9qMShiKTpbXTtyZXR1cm4gUnNhKHttYjphLm1iLHpsOmEuU3Ysbm06YS5LeSxOZTphLk5lLEZqOmEuRmosSWc6YS5JZ30sYil9O1cxPWZ1bmN0aW9uKCl7VjEuaW5zdGFuY2V8fChWMS5pbnN0YW5jZT1uZXcgVjEpO3JldHVybiBWMS5pbnN0YW5jZX07ClRzYT1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFkKXJldHVybiBYMShiLGMpO3ZhciBlOyhlPWEucHJvbWlzZXMpW2RdfHwoZVtkXT1uZXcgUHJvbWlzZSgoZixoKT0+e1gxKGIsYykudGhlbigoKT0+e2Euaj1kO2YoKX0saz0+e2RlbGV0ZSBhLnByb21pc2VzW2RdO2goayl9KX0pKTtyZXR1cm4gYS5wcm9taXNlc1tkXX07JDE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVHNhKGEsXy5OeChiLFkxLDEsXy53eiksXy5OeChiLFoxLDIsXy53eiksSl8oYiwzLHZvaWQgMCxfLnd6KSl9O1gxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/VXNhKGIpOmE/VnNhKGEpOlByb21pc2UucmVzb2x2ZSgpfTsKVXNhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3ZhciBkPV8uQ2QoIlNDUklQVCIpLGU9VHJhKGEpO18ub2IoZCxlKTtkLm9ubG9hZD0oKT0+e18uRGQoZCk7YigpfTtkLm9uZXJyb3I9KCk9PntfLkRkKGQpO2MoRXJyb3IoInFlIikpfTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChkKX0pfTtWc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1fLkNkKCJTQ1JJUFQiKTtpZihhKXt2YXIgZD1fLlh0KF8uZWQoYSw2LHZvaWQgMCxfLkR2KSk7ZD1kPT09bnVsbHx8ZD09PXZvaWQgMD9udWxsOl8ua2IoZCl9ZWxzZSBkPW51bGw7Xy5uYihjLGQpOyhkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGMpO18uRGQoYyk7YigpfSl9OwpXc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDEsQVooYiksIiIpfTtYc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDIsQVooYiksIiIpfTsKYXRhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQ9VzEoKSxlPVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGYpe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCBrPW51bGw7aWYoaCl7YTIoYSw3KTt0cnl7az1hd2FpdCBiMihoLnNuYXBzaG90KHt9KSxmLmF2LCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKG4pe2s9IkU6VUNFIn19bGV0IGwsbT1uZXcgQjEoaD9mLkp2OmYuS3YsZi5MdixmLk12LGYuSXYpO2ZvcihsZXQgbj0xO248PWYubWF4QXR0ZW1wdHM7bisrKXtpZihuIT09MSl7YTIoYSwwKTthLmo9bmV3IGMyKG0uaixmLmVrLGYubHMpO2xldCBwPWF3YWl0IGEuai5wcm9taXNlO2Euaj12b2lkIDA7cD09PTE/KG49MSxtLnJlc2V0KCkpOkMxKG0pfXRyeXtsZXQgcDtjP3A9YzooYTIoYSw1KSxwPWF3YWl0IGIyKFlzYShiLGQuaixrKSxmLlZ2LCgpPT5Qcm9taXNlLnJlamVjdChFcnJvcigic2UiKSkpKTthMihhLDMpO2F3YWl0IGIyKCQxKGQscCksZi5xeSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInRlIikpKTsKYTIoYSw4KTthd2FpdCBlO2xldCByPW5ldyBkMih7Y2hhbGxlbmdlOnAsbmc6YS5vcHRpb25zLm5nLEZzOmEub3B0aW9ucy5Gc30pO2F3YWl0IGIyKHIuQ2csZi5tQSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInVlIikpKTtsPXI7YnJlYWt9Y2F0Y2gocCl7YS5oYW5kbGVFcnJvcihwKSxlMihhKX19aWYoYS5pYSgpKWJyZWFrO2wmJihjPXZvaWQgMCxac2EoYSxoKSxoPWwsJHNhKGEsbCksZTIoYSkpO2EyKGEsMik7YS5qPW5ldyBjMihmLkZyLGYuZWssZi5scyk7YS5pc1BhdXNlZCYmYS5qLnBhdXNlKCk7YXdhaXQgYS5qLnByb21pc2U7YS5qPXZvaWQgMDtpZihhLmlhKCkpYnJlYWt9aD8uZGlzcG9zZSgpfTsKYnRhPWZ1bmN0aW9uKGEpe2EuTT1FcnJvcigicmUiKTthLkQucmVzb2x2ZSgpO2sxKGEuSS5wcm9taXNlKTthLkkucmVqZWN0KEVycm9yKCJyZSIpKTthLlguZGlzcG9zZSgpO1Byb21pc2UuYWxsKGEuQikudGhlbihhc3luYygpPT57YS5vPy5kaXNwb3NlKCk7YS5vPXZvaWQgMH0pO2EuQj1bXTthLmo/Lm8oKTtrMShhLnYucHJvbWlzZSk7YS52LnJlamVjdChFcnJvcigicmUiKSl9O2YyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HajthLkdqPSgpPT57YygpO2IoKX19OyRzYT1mdW5jdGlvbihhLGIpe2EuaWEoKXx8KGEubz1iLGEuWC51cGRhdGUoYi5WaCgpKSxhLkQucmVzb2x2ZSgpLGEuSS5yZXNvbHZlKHZvaWQgMCksYS5HaigpKX07WnNhPWZ1bmN0aW9uKGEsYil7YiYmKFByb21pc2UuYWxsKGEuQikudGhlbigoKT0+dm9pZCBiLmRpc3Bvc2UoKSksYS5CPVtdKX07YTI9ZnVuY3Rpb24oYSxiKXthLlo9YjthLm9wdGlvbnMuaks/LihiKX07CmUyPWZ1bmN0aW9uKGEpe2EuaWEoKXx8KGEudi5yZXNvbHZlKCksYS52PW5ldyBfLmNzKX07YjI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2M9KG5ldyBQcm9taXNlKGU9PntkPXNldFRpbWVvdXQoZSxiKX0pKS50aGVuKGMpO2sxKGMpO3JldHVybiBQcm9taXNlLnJhY2UoW2EuZmluYWxseSgoKT0+dm9pZCBjbGVhclRpbWVvdXQoZCkpLGNdKX07Y3RhPWZ1bmN0aW9uKGEsYil7YS5lbmRUaW1lTXM9RGF0ZS5ub3coKStiO2EudGljaygpfTtnMj1mdW5jdGlvbihhKXthLmomJihjbGVhclRpbWVvdXQoYS5qKSxhLmo9bnVsbCl9O2gyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oYSxiKSwhMH1jYXRjaChjKXtyZXR1cm4hMX19OwppMj1mdW5jdGlvbihhLGI9MCxjPWEubGVuZ3RoLGQpe3ZhciBlPTA7Zm9yKGQmJihlPWkyKGQpKTtiPGM7YisrKWU9ZHRhKDMxLGUpKyh0eXBlb2YgYT09PSJzdHJpbmciP2EuY2hhckNvZGVBdChiKTphW2JdKXwwO3JldHVybiBlfTtrMj1mdW5jdGlvbihhKXt2YXIgW2IsY109W2kyKGEsMCxhLmxlbmd0aD4+MSxqMiksaTIoYSxhLmxlbmd0aD4+MSldO3JldHVybiBiLnRvU3RyaW5nKDE2KStjLnRvU3RyaW5nKDE2KX07CmwyPWZ1bmN0aW9uKGEsYil7dmFyIGM9W2kyKGIsMCxiLmxlbmd0aD4+MSx2b2lkIDApLGkyKGIsYi5sZW5ndGg+PjEpXTthPW5ldyBVaW50MzJBcnJheShhLmJ1ZmZlcik7Yj1hWzBdO3ZhciBbZCxlXT1jO2ZvcihjPTE7YzxhLmxlbmd0aDtjKz0yKXt2YXIgZj1iLGg9YyxrPWQsbD1lO2ZvcihsZXQgbT0wO208MjI7bSsrKWg9aD4+Pjh8aDw8MjQsaCs9ZnwwLGhePWsrMzgyOTMsZj1mPDwzfGY+Pj4yOSxmXj1oLGw9bD4+Pjh8bDw8MjQsbCs9a3wwLGxePW0rMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1sO2Y9W2YsaF07YVtjXV49ZlswXTtjKzE8YS5sZW5ndGgmJihhW2MrMV1ePWZbMV0pfX07CmV0YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSg0LShqMi5sZW5ndGgrYy5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2YrajIubGVuZ3RoKzQrYy5sZW5ndGgpLGs9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxsPTA7ay5zZXRVaW50MzIobCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO2w9bCs0K2Y7aC5zZXQoajIsbCk7bCs9ajIubGVuZ3RoO2suc2V0VWludDMyKGwsZSk7aC5zZXQoYyxsKzQpO2wyKGgsZCk7cmV0dXJuIGEucmIoYixtPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShtKSk/aDIoYixfLnNjKGgpKT8icyI6InQiOiJpIn07CmZ0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShhKTtpZighYylyZXR1cm5bIm0iXTt0cnl7dmFyIGQ9Xy51YyhjKTtsMihkLGIpfWNhdGNoKGUpe3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJjIl19Zm9yKGI9NDtiPDcmJmRbYl09PT0wOyliKys7Zm9yKGM9MDtjPGoyLmxlbmd0aDtjKyspaWYoZFtiKytdIT09ajJbY10pcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShhKSxbImQiXTtjPShuZXcgRGF0YVZpZXcoZC5idWZmZXIpKS5nZXRVaW50MzIoYik7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpPj1jPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJlIl0pOlsiYSIsbmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsYis0KV19OwpndGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpVTVxLSFPOUAkIik7aWYoIWIpcmV0dXJuIG5ldyBtMihhKTt2YXIgYz1iLnNwbGl0KCIsIik7aWYoYy5sZW5ndGg8MilyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IG0yKGEpO2I9Yy5zbGljZSgxKTtiLmxlbmd0aD09PTEmJmJbMF09PT0iIiYmKGI9W10pO2M9TnVtYmVyKGNbMF0pO3JldHVybiBpc05hTihjKXx8YzwwfHxjPmIubGVuZ3RoPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlVNXEtIU85QCQiKSxuZXcgbTIoYSkpOm5ldyBtMihhLGMsYil9O24yPWZ1bmN0aW9uKGEsYil7dmFyIGM9c2V0VGltZW91dCgoKT0+e2Eudi5yZXNvbHZlKCl9LGIpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGMpKX07CnAyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YCR7YihhLmVycm9yLm1lc3NhZ2UpfToke2IoYS5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtiPWMubGVuZ3RoKzE7Yz1vMihjKTt2YXIgZD1uZXcgVWludDhBcnJheSg0K2MubGVuZ3RoKTtkLnNldChbNDIsYiYxMjd8MTI4LGI+PjcsYS5lcnJvci5jb2RlXSk7ZC5zZXQoYyw0KTtyZXR1cm4gZH07bzI9ZnVuY3Rpb24oYSl7cmV0dXJuIGdsb2JhbFRoaXMuVGV4dEVuY29kZXI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpOl8uYWMoYSl9Owp0Mj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YS52Kys7dmFyIGM9bmV3IF8uY3M7YS52bSBpbnN0YW5jZW9mIHEyJiZhLnZtLkIucHVzaChjLnByb21pc2UpO2lmKGEuUW4pe2xldCBmPW5ldyBfLmNzO3NldFRpbWVvdXQoKCk9PnZvaWQgZi5yZXNvbHZlKCkpO2F3YWl0IGYucHJvbWlzZX12YXIgZD1hLlguc2hhcmUoKTt0cnl7YS5zdGF0ZT01O2xldCBmPVtdLGg9YXdhaXQgYjIoYS52bS5zbmFwc2hvdCh7S2M6e30sSXM6Zn0pLGEuTGcuQkEsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxNSwiTURBOlRpbWVvdXQiKSkpO3IyKGEsIk1EQTpEaXNwb3NlZCIpO2xldCBrPWZbMF07YS5zdGF0ZT02O2xldCBsPWF3YWl0IGIyKGh0YShhLm9kLGgpLGEuTGcuV3YsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxMCwiQldCOlRpbWVvdXQiKSkpO3IyKGEsIkJXQjpEaXNwb3NlZCIpO2Euc3RhdGU9NztiPVIxKGQsKCk9Pnt2YXIgbT1pdGEoYSxsLGMsayk7bS52LnByb21pc2UudGhlbigoKT0+CnZvaWQgYS5CKCkpO3JldHVybiBtfSwiaSIpfWNhdGNoKGYpe2I/LmRpc3Bvc2UoKTtpZighYS5vKXtsZXQgaD1qdGEoYSxmKTtjLnJlc29sdmUoKTt2YXIgZTtpZihlPWEudm0gaW5zdGFuY2VvZiBxMiYmYS52PDIpYTppZihmIGluc3RhbmNlb2YgaDEpZT1mLmNvZGUhPT0zMiYmZi5jb2RlIT09MjAmJmYuY29kZSE9PTEwO2Vsc2V7aWYoZiBpbnN0YW5jZW9mIHMyKXN3aXRjaChmLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6ZT0hMTticmVhayBhfWU9ITB9aWYoZSl7bGV0IGs9c2V0VGltZW91dCgoKT0+dm9pZCBhLkIoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKGEuaj82RTQ6MUUzKSk7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQoaykpO3JldHVybn1hLm89aH1kLkpiKGEuaj8xMzoxNCk7YS55Zy5yZWplY3QoYS5vKTtyZXR1cm59ZmluYWxseXtkLmRpc3Bvc2UoKX1hLnN0YXRlPTg7YS52PTA7YS5qPy5kaXNwb3NlKCk7CmEuaj1iO2EueWcucmVzb2x2ZSgpfTtqdGE9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBoMSkpaWYoYiBpbnN0YW5jZW9mIHMyKXtsZXQgYz1FcnJvcihiLnRvU3RyaW5nKCkpO2Muc3RhY2s9Yi5zdGFjaztiPW5ldyBoMSgxMSwiRUJIOkVycm9yIixjKX1lbHNlIGI9bmV3IGgxKDEyLCJCU086VW5rbm93biIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O3IyPWZ1bmN0aW9uKGEsYil7aWYoYS5pYSgpKXRocm93IG5ldyBoMShhLmo/MjA6MzIsYik7fTsKaXRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPShzXyhfLmVkKGIsMikpPz8wKSoxRTM7aWYoZTw9MCl0aHJvdyBuZXcgaDEoMzEsIlRUTTpJbnZhbGlkIik7aWYoSl8oYiw0KSlyZXR1cm4gbmV3IGt0YShhLlgsSl8oYiw0KSxlKTtpZighKHNfKF8uZWQoYiwzKSk/PzApKXJldHVybiBuZXcgbHRhKGEuWCxGWihCXyhiKSksZSk7aWYoIWQpdGhyb3cgbmV3IGgxKDQsIlBNRDpVbmRlZmluZWQiKTtkPWQoRlooQl8oYikpKTtpZih0eXBlb2YgZCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IGgxKDE2LCJBUEY6RmFpbGVkIik7YS5EPU1hdGguZmxvb3IoKERhdGUubm93KCkrZSkvMUUzKTthPW5ldyB1MihhLlgsZCxzXyhfLmVkKGIsMykpPz8wLGUpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgYy5yZXNvbHZlKCkpO3JldHVybiBhfTsKdzI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmlhKCkpdGhyb3cgbmV3IGgxKDIxLCJCTlQ6ZGlzcG9zZWQiKTtpZighYS5qJiZhLm8pdGhyb3cgYS5vO3JldHVybiBtdGEoYSxiLGMpPz9udGEoYSxiLGMpPz9vdGEoYSxiLGMpfWNhdGNoKGQpe2lmKCFiLk15KXRocm93IHYyKGEsZCk7cmV0dXJuIHB0YShhLGMsZCl9fTt2Mj1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIGgxP2I6bmV3IGgxKDUsIlRWRDplcnJvciIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O210YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuaj8uc20oKCk9PngyKGEsYiksYyxkPT57aWYoYS5qIGluc3RhbmNlb2YgdTImJmIueWk/LkpBKXRyeXthLmNhY2hlPy5qKHgyKGEsYiksZCxiLnlpLlhvLGEuRC0xMjApfWNhdGNoKGUpe2EucmVwb3J0RXJyb3IobmV3IGgxKDI0LCJFTFg6d3JpdGUiLGUpKX19KX07Cm50YT1mdW5jdGlvbihhLGIsYyl7aWYoYi55aT8uQXUpdHJ5e2xldCBkPWEuY2FjaGU/Lm8oeDIoYSxiKSxiLnlpLlhvKTtyZXR1cm4gZD9jP1IxKGEuWCwoKT0+Xy5zYyhkLDIpLCJhIik6ZDp2b2lkIDB9Y2F0Y2goZCl7YS5yZXBvcnRFcnJvcihuZXcgaDEoMjMsIlJYTzpyZWFkIixkKSl9fTtvdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZighYi5MeSl0aHJvdyBuZXcgaDEoMjksIlNERjpub3RyZWFkeSIpO3JldHVybiBfLlZ6KGQsbmV3IHF0YShhLlgsYS5zdGF0ZSkpLnNtKCgpPT54MihhLGIpLGMpfWNhdGNoKGUpe2QuZXJyb3I9ZSxkLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihkKX19OwpwdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZT12MihhLGMpO3JldHVybiBfLlZ6KGQsbmV3IHJ0YShhLlgsZSkpLnNtKCgpPT5bXSxiKX1jYXRjaChlKXtkLmVycm9yPWUsZC5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooZCl9fTt4Mj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnNsP2Iuc2w6Yi5LYz9SMShhLlgsKCk9PmIuc2w9bzIoYi5LYyksImMiKTpbXX07eTI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07ejI9ZnVuY3Rpb24oKXt0aGlzLk09bnVsbDt0aGlzLlk9W107dGhpcy5JPSIiO3RoaXMuVT1bXTt0aGlzLnY9dGhpcy5vPTA7dGhpcy5EPSExO3RoaXMuSz0wO3RoaXMuWj0vW1xcIl0vZzt0aGlzLmo9dGhpcy5CPTB9OwpBMj1mdW5jdGlvbihhLGIsYyl7YS5CPTM7YS5NPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnYrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLk0pO307QzI9ZnVuY3Rpb24oKXt2YXIgYT1VXyhzdGEpLGI7cmV0dXJuKG5ldyBfLkJmKChjLGQpPT57YS5vblN1Y2Nlc3M9ZT0+e18ucWooZSk/YyhuZXcgdHRhKGUpKTpkKG5ldyBCMihgUmVxdWVzdCBmYWlsZWQsIHN0YXR1cz0ke18ucGooZSl9YCwibmV0LmJhZHN0YXR1cyIpKX07YS5vbkVycm9yPSgpPT57ZChuZXcgQjIoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIikpfTthLm9uVGltZW91dD0oKT0+e2QobmV3IEIyKCJSZXF1ZXN0IHRpbWVkIG91dCIsIm5ldC50aW1lb3V0IikpfTtiPV8uemooIi8vZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9pZCIsYSl9KSkuS2coYz0+e2MgaW5zdGFuY2VvZiBfLlBmJiZiPy5hYm9ydCgpO3JldHVybiBfLk90KGMpfSl9Owp1dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0yO2Eubz1ifTt2dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0xO2Eubz1ifTtFMj1mdW5jdGlvbihhPW51bGwpe3ZhciBiPW5ldyBEMjt1dGEoYixhKTtyZXR1cm4gYn07RjI9ZnVuY3Rpb24oYT1udWxsKXt2YXIgYj1uZXcgRDI7dnRhKGIsYSk7cmV0dXJuIGJ9O3d0YT1mdW5jdGlvbihhKXt2YXIgYj1hLmRvY2lkfHxhLnZpZGVvX2lkfHxhLnZpZGVvSWR8fGEuaWQ7aWYoYilyZXR1cm4gYjtiPWEucmF3X3BsYXllcl9yZXNwb25zZTtifHwoYT1hLnBsYXllcl9yZXNwb25zZSkmJihiPUpTT04ucGFyc2UoYSkpO3JldHVybiBiJiZiLnZpZGVvRGV0YWlscyYmYi52aWRlb0RldGFpbHMudmlkZW9JZHx8bnVsbH07CkcyPWZ1bmN0aW9uKGEpe3ZhciBiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIjt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoInlvdXR1YmVlZHVjYXRpb24uY29tIikmJihiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKTt2YXIgYz1hLnJhd19lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7aWYoIWMmJihhPWEuZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlKSl0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe3JldHVybiBifWlmKGMpYTp7YT14dGE7Zm9yKGxldCBkIGluIGEpaWYoYVtkXT09Yy5lbWJlZGRlZFBsYXllck1vZGUpe2I9YVtkXTticmVhayBhfX1yZXR1cm4gYn07Cnl0YT1mdW5jdGlvbigpe2lmKF8ueCgiZGlzYWJsZV9iaXNjb3R0aV9mZXRjaF9lbnRpcmVseV9mb3JfYWxsX3dlYl9jbGllbnRzIikpcmV0dXJuIEVycm9yKCJ2ZSIpO2lmKCFfLnN6KCkpcmV0dXJuIEVycm9yKCJ3ZSIpO3ZhciBhPV8udygiUExBWUVSX1ZBUlMiLHt9KTtpZihUXyhhKT09IjEiKXJldHVybiBFcnJvcigieGUiKTtpZihHMihhKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKXJldHVybiBFcnJvcigieWUiKX07Wl89ZnVuY3Rpb24oKXt2YXIgYT15dGEoKTtpZihhIT09dm9pZCAwKXJldHVybiBfLk90KGEpO0gyfHwoSDI9QzIoKS50aGVuKEkyKS5LZyhiPT5KMigyLGIpKSk7cmV0dXJuIEgyfTsKSTI9ZnVuY3Rpb24oYSl7YT1hLmoucmVzcG9uc2VUZXh0O2lmKGEubGFzdEluZGV4T2YoIildfSciLDApIT0wKXRocm93IG5ldyBLMjthPUpTT04ucGFyc2UoYS5zdWJzdHIoNCkpO2lmKChhLnR5cGV8fDEpPjEpdGhyb3cgbmV3IEsyO2E9YS5pZDskXyhhKTtIMj1GMihhKTtMMigxOEU1LDIpO3JldHVybiBhfTtKMj1mdW5jdGlvbihhLGIpe2I9bmV3IE0yKGIpOyRfKCIiKTtIMj1FMihiKTthPjAmJkwyKDEyRTQsYS0xKTt0aHJvdyBiO307TDI9ZnVuY3Rpb24oYSxiKXtfLm1qKGZ1bmN0aW9uKCl7QzIoKS50aGVuKEkyLGM9PkoyKGIsYykpLktnKF8uZ2QpfSxhKX07enRhPWZ1bmN0aW9uKCl7dHJ5e2xldCBhPV8uc2EoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iKTtyZXR1cm4gYT9hKCk6Wl8oKX1jYXRjaChhKXtyZXR1cm4gXy5PdChhKX19OwpOMj1mdW5jdGlvbigpe3ZhciBhPSExO3RyeXthPSEhd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInNlc3Npb25fbG9naW5pbmZvIil9Y2F0Y2h7YT0hMH1yZXR1cm4oXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIikmJmF9OwpPMj1mdW5jdGlvbigpe3RyeXt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic3RpY2tpbmVzc19yZWxvYWQiKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKTtfLlFpKCJMT0dJTl9JTkZPIiwiIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImZyb21fc3dpdGNoX2FjY291bnQiLCIxIik7dmFyIGE7bGV0IGM9QXRhO2N8fChjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwZXJzaXN0X2lkZW50aXR5IikpO2lmKGE9Yyl7dmFyIGI9YS5zcmM/KG5ldyBVUkwoYS5zcmMpKS5vcmlnaW46IioiO2EuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiY2xlYXIifSxiKX19Y2F0Y2h7fX07ClAyPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5zdGFydHNXaXRoKCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vQWRkU2Vzc2lvbiIpKU8yKCk7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKSlPMigpO2Vsc2V7dmFyIGI7aWYoYj1hLnN0YXJ0c1dpdGgoImh0dHBzOi8vbXlhY2NvdW50Lmdvb2dsZS5jb20iKSliPShhIGluc3RhbmNlb2YgXy5meT9hLmNsb25lKCk6bmV3IF8uZnkoYSkpLmouZW5kc1dpdGgoIi95b3V0dWJlb3B0aW9ucyIpO2ImJk8yKCl9aWYoXy53KCJMT0dHRURfSU4iLCEwKSYmTjIoKSl7Yj1fLncoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBjPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2MmJmIucHVzaChjKTtjPV8uUGIoYSk7Xy5zYihiLGMpPj0wfHwhYyYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTA/KGI9Xy5OeShhKSwoYj1fLk95KGIpKT8oYj1fLnZ6KGIpLApiPShiPV8uTGouZ2V0KGIsdm9pZCAwKXx8bnVsbCk/Xy5iaihiKTp7fSk6Yj1udWxsKTpiPW51bGw7Yj09bnVsbCYmKGI9e30pO2M9Yjt2YXIgZD12b2lkIDA7TjIoKT8oZHx8KGQ9Xy53KCJMT0dJTl9JTkZPIikpLGQ/KGMuc2Vzc2lvbl9sb2dpbmluZm89ZCxjPSEwKTpjPSExKTpjPSExO2MmJl8udXooYSxiKX19O0J0YT1mdW5jdGlvbihhLGI9e30sYz0hMSl7dmFyIGQ9Xy53KCJFVkVOVF9JRCIpO2QmJihiLmVpfHwoYi5laT1kKSk7YiYmXy51eihhLGIpO2lmKGMpcmV0dXJuITE7UDIoYSk7Yj13aW5kb3c7YT1fLldiKGEse30pO1AyKGEpO2E9Xy5LeihhKTtiPWIubG9jYXRpb247YT1fLmRiKGEpO2EhPT12b2lkIDAmJihiLmhyZWY9YSk7cmV0dXJuITB9O1EyPWZ1bmN0aW9uKGEpe2lmKFRfKF8udygiUExBWUVSX1ZBUlMiLHt9KSkhPSIxIil7YSYmd3JhKCk7dHJ5e3p0YSgpLnRoZW4oKCk9Pnt9LCgpPT57fSksXy5taihRMiwxOEU1KX1jYXRjaChiKXtfLlVpKGIpfX19OwpEdGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjtpZihfLngoImtldmxhcl9kaXNhYmxlX3RoZW1lX3BhcmFtIikpcmV0dXJuIG51bGw7Xy5RYihhKTt0cnl7bGV0IGI9YTAoYSkudGhlbWU7cmV0dXJuIEN0YS5nZXQoYil8fG51bGx9Y2F0Y2goYil7fXJldHVybiBudWxsfTsKUzI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFIyO2lmKGEuaW50ZXJwcmV0ZXJKYXZhc2NyaXB0KXt2YXIgYz1ZXyhhLmludGVycHJldGVySmF2YXNjcmlwdCk7Yz1fLmxiKGMpLnRvU3RyaW5nKCk7dmFyIGQ9bmV3IFkxO0JaKGQsNixjKTtfLkt3KGIsMSxkLF8ud3opfWVsc2UgYS5pbnRlcnByZXRlclVybCYmKGM9Xy5odyhhLmludGVycHJldGVyVXJsKSxjPV8uVWEoYykudG9TdHJpbmcoKSxkPW5ldyBaMSxCWihkLDQsYyksXy5LdyhiLDIsZCxfLnd6KSk7YS5pbnRlcnByZXRlckhhc2gmJl8uV3goYiwzLEFaKGEuaW50ZXJwcmV0ZXJIYXNoKSwiIixfLnd6KTthLnByb2dyYW0mJl8uV3goYiw0LEFaKGEucHJvZ3JhbSksIiIsXy53eik7YS5nbG9iYWxOYW1lJiZfLld4KGIsNSxBWihhLmdsb2JhbE5hbWUpLCIiLF8ud3opO2EuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2ImJl8uV3goYiw3LEFaKGEuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2IpLCIiLF8ud3opO3JldHVybiBifTsKVDI9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjIG9mIGEpYT1jLnNwbGl0KCI9IiksYS5sZW5ndGg9PT0yJiYoYlthWzBdXT1hWzFdKTtyZXR1cm4gYn07VTI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhLnQpfHw3MjAwfTtFdGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT13aW5kb3c7YXdhaXQgZjEoVjIoKSk7dmFyIGI9YS5iZ2V2bWM7aWYoIWIpdGhyb3cgRXJyb3IoInplIik7cmV0dXJue3BhdXNlOigpPT57Yi5wKCl9LHJlc3VtZTooKT0+e2IucigpfSxjaGVja0ZvclJlZnJlc2g6KCk9PmIuY3IoKX19O1YyPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiYmdfc3RfaHIiKT8iaGF2dW9rbWhocy0wIjpgaGF2dW9rbWhocy0ke01hdGguZmxvb3IoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZT8udGltZU9yaWdpbnx8MCl9YH07VzI9ZnVuY3Rpb24oYSl7d2luZG93LmJnZW5zPWF9OwpGdGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPXdpbmRvdztiLm50cGV2YXNycyE9PXZvaWQgMD9hKG5ldyBYMihiLm50cGV2YXNycykpOihiLm50cHFmYmVsPT09dm9pZCAwJiYoYi5udHBxZmJlbD1bXSksYi5udHBxZmJlbC5wdXNoKGM9PnthKG5ldyBYMihjKSl9KSl9KX07Ckd0YT1mdW5jdGlvbigpe2lmKF8uc3ooKSl7dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIse30pO2lmKFRfKGEpIT0iMSImJkcyKGEpIT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCIpe3ZhciBiPSgpPT57WTI9ITA7Imdvb2dsZV9hZF9zdGF0dXMiaW4gd2luZG93P18uUWkoIkRDTEtTVEFUIiwxKTpfLlFpKCJEQ0xLU1RBVCIsMil9O3RyeXtsZXQgYz1fLmliKGRvY3VtZW50KTtIMChaMixiLGMpfWNhdGNoKGMpe30kMi5wdXNoKF8uamYucGIoKCk9PntpZighKFkyfHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7RzAoWjIudG9TdHJpbmcoKSxiKX1jYXRjaChjKXt9WTI9ITA7Xy5RaSgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07YTM9ZnVuY3Rpb24oKXt2YXIgYT1OdW1iZXIoXy53KCJEQ0xLU1RBVCIsMCkpO3JldHVybiBpc05hTihhKT8wOmF9O2IzPWZ1bmN0aW9uKGEsYil7YS5qPWJ9OwpJdGE9YXN5bmMgZnVuY3Rpb24oYSl7aWYoXy51Lnl0QXRQJiYhXy54KCJ5dGF0cF9rcyIpKXt2YXIgYj1hd2FpdCBfLnUueXRBdFA7ZGVsZXRlIF8udS55dEF0UDt2YXIgYz1iPy5SO3ZhciBkPWI/LlQ7Yj1IdGEoYyk7bGV0IGY9ISFkO2Euby5vKGM/Yj9mPzc6MTA6Zj8xOjg6Zj8yOjksYS52KyspO2lmKCFjfHxiKWM9YXdhaXQgYS5SZihjMyhkLG51bGwpKSxjPUpTT04uc3RyaW5naWZ5KGMpO18udS55dEF0UkM/Xy51Lnl0QXRSQyhjKTpfLklwKEVycm9yKCJBZSIpKX1lbHNlIF8udS55dEF0UkM/Xy5yeChhc3luYygpPT57ZD1fLnUueXRBdFQ7ZGVsZXRlIF8udS55dEF0VDtpZihfLnUueXRBdFJDKXthLm8ubygyLGEudisrKTt2YXIgZj1hd2FpdCBhLlJmKGMzKGQsbnVsbCkpO18udS55dEF0UkMmJl8udS55dEF0UkMoSlNPTi5zdHJpbmdpZnkoZikpfWVsc2UgYS5vLm8oNixhLnYrKyl9LF8uc2ooImF0dF9pbml0X2RlbGF5IiwwKSk6KGQ9Xy51Lnl0QXRULGRlbGV0ZSBfLnUueXRBdFQsCmEuby5vKDEsYS52KyspKTtjPWF3YWl0IEZ0YSgpO2MuYmluZElubmVydHViZUNoYWxsZW5nZUZldGNoZXIoZj0+e2Euby5vKDMsYS52KyspO3JldHVybiBhLlJmKGMzKGQsZikpfSk7Yy5yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhmPT57Zj1mLmNoYWxsZW5nZTtpZighZil0aHJvdyBFcnJvcigiQmUiKTtmPXtjaGFsbGVuZ2U6ZixCZjpUMihmKSx2bTplLGJnQ2hhbGxlbmdlOm5ldyBSMn07Zj1Qcm9taXNlLnJlc29sdmUoZik7YS5qPWZ9KTt2YXIgZT1hd2FpdCBmMShWMigpKTtjPWMuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKS5jaGFsbGVuZ2U7aWYoIWMpdGhyb3cgRXJyb3IoIkNlIik7cmV0dXJue2NoYWxsZW5nZTpjLEJmOlQyKGMpLHZtOmUsYmdDaGFsbGVuZ2U6bmV3IFIyfX07CmUzPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWMzKHZvaWQgMCxXMSgpLmopO3RyeXt2YXIgYz1hd2FpdCBKdGEoYSxiKX1jYXRjaChmKXtyZXR1cm4gXy5JcChFcnJvcigiRGUiKSksZDMoYSw4NjRFNSkse2NoYWxsZW5nZToiIixCZjp7fSx2bTp2b2lkIDAsYmdDaGFsbGVuZ2U6dm9pZCAwfX1iPWMueXo7dmFyIGQ9Yy56ejtkMyhhLFUyKGQpKjFFMyk7YT12b2lkIDA7aWYoImMxYSJpbiBkJiZjLmJnQ2hhbGxlbmdlKXt2YXIgZT1TMihjLmJnQ2hhbGxlbmdlKTt0cnl7YXdhaXQgJDEoVzEoKSxlKX1jYXRjaChmKXtyZXR1cm4gXy5JcChmKSx7Y2hhbGxlbmdlOmIsQmY6ZCx2bTphLGJnQ2hhbGxlbmdlOmV9fXRyeXthPW5ldyBkMih7Y2hhbGxlbmdlOmUsbmc6e21iOiJhR0lmIn19KSxhd2FpdCBhLkNnfWNhdGNoKGYpe18uSXAoZiksYT12b2lkIDB9fXJldHVybntjaGFsbGVuZ2U6YixCZjpkLHZtOmEsYmdDaGFsbGVuZ2U6ZX19OwpKdGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dm9pZCAwLGQ9MDtkPDU7KXtpZihkPjApe2xldCBlPTFFMypNYXRoLnBvdygyLGQtMSkrTWF0aC5yYW5kb20oKSoxRTM7YXdhaXQgbmV3IFByb21pc2UoZj0+e18uWWooKCk9PntmKHZvaWQgMCl9LGUpfSl9dHJ5e2Euby5vKDQsYS52KyspO2xldCBlPWF3YWl0IGEuUmYoYik7cmV0dXJuIEt0YShlKX1jYXRjaChlKXtjPWUsZSBpbnN0YW5jZW9mIEVycm9yJiZfLklwKGUpfWQrK310aHJvdyBjO307ZDM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpK2IsZD1hc3luYygpPT57dmFyIGU9Yy1EYXRlLm5vdygpO2U8MUUzP2F3YWl0IEx0YShhKTpfLllqKGQsTWF0aC5taW4oZSw2RTQpKX07ZCgpfTtmMz1hc3luYyBmdW5jdGlvbihhLGIpe1cyKDIpO3RyeXtsZXQgYz1hd2FpdCBhLm5ldHdvcmsuUmYoYik7Yz9jLmNoYWxsZW5nZSYmIWMuYmdDaGFsbGVuZ2U/VzIoMSk6VzIoNCk6VzIoMyk7cmV0dXJuIGN9Y2F0Y2goYyl7VzIoMyl9fTsKS3RhPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCJFZSIpO2lmKCFhLmNoYWxsZW5nZSl0aHJvdyBFcnJvcigiRmUiKTt2YXIgYj1hLmNoYWxsZW5nZSxjPVQyKGIpO2lmKCJjMWEiaW4gYyYmKCFhLmJnQ2hhbGxlbmdlfHwhYS5iZ0NoYWxsZW5nZS5wcm9ncmFtKSl0aHJvdyBFcnJvcigiR2UiKTtyZXR1cm57Li4uYSx5ejpiLHp6OmN9fTtMdGE9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmosbnVsbF0pLGM9ZTMoYSk7YS5qPWM7Yj8udm0/LmRpc3Bvc2UoKX07TXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLllqKCgpPT57YyhiKCkpfSxhKX0pfTtjMz1mdW5jdGlvbihhLGIpe3ZhciBjPXtlbmdhZ2VtZW50VHlwZToiRU5HQUdFTUVOVF9UWVBFX1VOQk9VTkQifTthJiYoYy5lYWNyVG9rZW49YSk7YiYmKGMuaW50ZXJwcmV0ZXJIYXNoPWIpO3JldHVybiBjfTsKSHRhPWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy54KCJyb3NjYXMiKSlyZXR1cm4hMTt0cnl7dmFyIGI9SlNPTi5wYXJzZShhKX1jYXRjaChjKXtyZXR1cm4hMX1hPWIuY2hhbGxlbmdlO2lmKCFhKXJldHVybiExO2I9VDIoYSk7YT1OdW1iZXIoYi5jKXx8dm9pZCAwO2I9VTIoYik7cmV0dXJuISFhJiZEYXRlLm5vdygpPihhK2IpKjFFM307aDM9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPWczLlVOS05PV05fSU5URVJGQUNFO2lmKGIpe2I9bmV3IFJlZ0V4cChiKTtmb3IodmFyIGMgb2YgYSlpZihiLmV4ZWMoYykpcmV0dXJuIGN9dmFyIGQ9W107T2JqZWN0LmVudHJpZXMoZzMpLmZvckVhY2goKFtlLGZdKT0+eyJVTktOT1dOX0lOVEVSRkFDRSIhPT1lJiZkLnB1c2goZil9KTtjPW5ldyBSZWdFeHAoZC5qb2luKCJ8IikpO2Euc29ydCgoZSxmKT0+ZS5sZW5ndGgtZi5sZW5ndGgpO2ZvcihsZXQgZSBvZiBhKWlmKCFjLmV4ZWMoZSkpcmV0dXJuIGU7cmV0dXJuIGFbMF19OwpOdGE9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntFbDpuZXcgaTMoKGMsZCk9PnthPWM7Yj1kfSkscmVzb2x2ZTphLHJlamVjdDpifX07azM9ZnVuY3Rpb24oYSl7cmV0dXJuIGozKGEpP2E6KDAsXy5ibykoYSk/bmV3IGkzKChiLGMpPT57YS50aGVuKGIsYyl9KTpuZXcgaTMoYj0+e2IoYSl9KX07T3RhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaTMoKGIsYyk9PntjKGEpfSl9O1B0YT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGszKGEoKSl9Y2F0Y2goYil7cmV0dXJuIE90YShiKX19O1F0YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntsMyhhLGIsYyl9KX07bTM9ZnVuY3Rpb24oYSl7cmV0dXJuIFF0YShhKX07bjM9ZnVuY3Rpb24oYSl7aWYoYS5qPT09ImZ1bGZpbGxlZCIpe3ZhciBiPWEubzthLm89W107YS52PVtdO2Zvcih2YXIgYyBvZiBiKWMoYS5yZXN1bHQpfWVsc2UgaWYoYS5qPT09InJlamVjdGVkIil7Yz1hLnY7YS5vPVtdO2Eudj1bXTtmb3IoYiBvZiBjKWIoYS5lcnJvcil9fTsKbDM9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7RWw6ZCxyZXNvbHZlOmUscmVqZWN0OmZ9PU50YSgpO2Euby5wdXNoKGg9PntpZihiKXRyeXtsZXQgaz1iKGgpO2Uoayl9Y2F0Y2goayl7ZihrKX1lbHNlIGUoaCl9KTthLnYucHVzaChoPT57aWYoYyl0cnl7bGV0IGs9YyhoKTtlKGspfWNhdGNoKGspe2Yoayl9ZWxzZSBmKGgpfSk7bjMoYSk7cmV0dXJuIGR9O1J0YT1mdW5jdGlvbihhLGIpe3JldHVybiBsMyhhLHZvaWQgMCxiKX07bzM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gU3RhKGIuY2FsbChhKSl9O3AzPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiooKXtyZXR1cm4geWllbGR7RWw6azMoYSl9fSgpfTtTdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFB0YSgoKT0+cTMoYSxhLm5leHQoKSkpfTtxMz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmRvbmU/azMoYi52YWx1ZSk6UnRhKGwzKGIudmFsdWUuRWwsYz0+cTMoYSxhLm5leHQoYykpKSxjPT5xMyhhLGEudGhyb3coYykpKX07ClR0YT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPV8ueSgpLnJlc29sdmUoXy5JeSk7aWYoYSl7aWYoYT1hd2FpdCBhLlFpKHtzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiR0VUX0RBVEFTWU5DX0lEUyJ9fSkpe2lmKGEuZXJyb3JNZXRhZGF0YSl7Xy5JcChFcnJvcigiSGVgIithLmVycm9yTWV0YWRhdGEuc3RhdHVzKyJgIithLmVycm9yKSk7cmV0dXJufXJldHVybiBhLnRJfV8uSXAoRXJyb3IoIkllIikpfWVsc2UgXy5JcChFcnJvcigiSmUiKSl9OwpyMz1mdW5jdGlvbihhLGIpe2lmKGIuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPWIsdHlwZW9mIGIuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBjPU51bWJlcihiLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxjKjFFMyk7YS5vJiZfLk1qKCJDT05TSVNURU5DWSIsYi5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzLGMsdm9pZCAwLCEwKX19O3MzPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgXy5lbigieXQtY2xpZW50LWxvY2F0aW9uIik6YS5sb2NhbFN0b3JhZ2V9Owp3Mz1mdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO2lmKCFkKXJldHVybiBfLkdwKEVycm9yKCJNZSIpKSx7fTtkPV8ucWQoZCk7Xy54KCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGQuY2xpY2tUcmFja2luZztkLmNsaWVudHx8KGQuY2xpZW50PXt9KTt2YXIgZT1kLmNsaWVudDtlLmNsaWVudE5hbWU9PT0iTVdFQiImJmUuY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGUuY2xpZW50Rm9ybUZhY3Rvcj1fLncoIklTX1RBQkxFVCIpPyJMQVJHRV9GT1JNX0ZBQ1RPUiI6IlNNQUxMX0ZPUk1fRkFDVE9SIik7ZS5zY3JlZW5XaWR0aFBvaW50cz13aW5kb3cuaW5uZXJXaWR0aDtlLnNjcmVlbkhlaWdodFBvaW50cz13aW5kb3cuaW5uZXJIZWlnaHQ7ZS5zY3JlZW5QaXhlbERlbnNpdHk9TWF0aC5yb3VuZCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk7ZS5zY3JlZW5EZW5zaXR5RmxvYXQ9CndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO2UudXRjT2Zmc2V0TWludXRlcz0tTWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO18uSHooKTt2YXIgZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO18uQ3ooMTY1KT9mPSJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjpfLkN6KDE3NCk/Zj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiOiFfLngoImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiKSYmd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWUpIikubWF0Y2hlcyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzJiYoZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyIpO2Y9RHRhKCl8fGY7ZS51c2VySW50ZXJmYWNlVGhlbWU9ZjtfLngoIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSIpJiZfLnUuZG9jdW1lbnQmJgooZS5hcHBsaWNhdGlvblN0YXRlPV8udS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFiKXtpZihmPV8uU2ooKSllLmNvbm5lY3Rpb25UeXBlPWY7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGY9Xy5VaigpKSYmKGQuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPWYpfV8ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGQuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke18udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSoxRTZ9YCk7aWYoXy54KCJ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmUiKSl7dmFyIGg9Xy5qbSgpO2lmKGgpe2Y9aC5jb2xkQ29uZmlnRGF0YTtsZXQgbj1oLmNvbGRIYXNoRGF0YTtoPWguaG90SGFzaERhdGE7ZC5jbGllbnQuY29uZmlnSW5mbz1kLmNsaWVudC5jb25maWdJbmZvfHx7fTtmJiYKKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9Zik7biYmKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPW4pO2gmJihkLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWgpfX1mPWEwKF8udS5sb2NhdGlvbi5ocmVmKTshXy54KCJ3ZWJfcG9wdWxhdGVfaW50ZXJuYWxfZ2VvX2tpbGxzd2l0Y2giKSYmZi5pbnRlcm5hbGNvdW50cnljb2RlJiYoZS5pbnRlcm5hbEdlbz1mLmludGVybmFsY291bnRyeWNvZGUpO2UuY2xpZW50TmFtZT09PSJNV0VCInx8ZS5jbGllbnROYW1lPT09IldFQiI/KGUubWFpbkFwcFdlYkluZm98fChlLm1haW5BcHBXZWJJbmZvPXt9KSxlLm1haW5BcHBXZWJJbmZvLmdyYWZ0VXJsPV8udS5sb2NhdGlvbi5ocmVmLF8ueCgia2V2bGFyX3dvZmZsZSIpJiZ0My5pbnN0YW5jZSYmKGY9dDMuaW5zdGFuY2UsZS5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hZi5qJiZmLm8/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6CiJQV0FfSU5TVEFMTEFCSUxJVFlfU1RBVFVTX1VOS05PV04iKSxlLm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSxlLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmUuY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFfLngoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJihmPV8udygiTElWSU5HX1JPT01fQVBQX1FVQUxJVFkiKSkmJihlLnR2QXBwSW5mbz1PYmplY3QuYXNzaWduKGUudHZBcHBJbmZvfHx7fSx7YXBwUXVhbGl0eTpmfSkpLGY9Xy53KCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoZS50dkFwcEluZm89T2JqZWN0LmFzc2lnbihlLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpmfSkpO2lmKCFfLngoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIGs9CihuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7YnJlYWsgYX1jYXRjaHt9az12b2lkIDB9ayYmKGUudGltZVpvbmU9ayl9KGs9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpKT9lLmV4cGVyaW1lbnRzVG9rZW49azpkZWxldGUgZS5leHBlcmltZW50c1Rva2VuO2U9Xy51aigpO3UzLmluc3RhbmNlfHwodTMuaW5zdGFuY2U9bmV3IHUzKTtrPV8uWngodTMuaW5zdGFuY2Uuaik7ZC5yZXF1ZXN0PXsuLi5kLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6ZSxjb25zaXN0ZW5jeVRva2VuSmFyczprfTshXy54KCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihlPV8udygiSU5ORVJUVUJFX0NPTlRFWFRfUFJFUVVFU1RfQ09OVEVYVCIpKSYmKGQucmVxdWVzdC5leHRlcm5hbFByZXF1ZXN0Q29udGV4dD1lKTtrPV8uSHooKTtlPV8uQ3ooNTgpO2s9ay5nZXQoImdzbWwiLCIiKTtkLnVzZXI9ey4uLmQudXNlcn07ZSYmKGQudXNlci5lbmFibGVTYWZldHlNb2RlPQplKTtrJiYoZC51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO18ueCgid2FybV9vcF9jc25fY2xlYW51cCIpP2MmJihiPV8uaXEoKSkmJihkLmNsaWVudFNjcmVlbk5vbmNlPWIpOiFiJiYoYj1fLmlxKCkpJiYoZC5jbGllbnRTY3JlZW5Ob25jZT1iKTthJiYoZC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmF9KTtpZihhPV8uc2EoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWQucmVtb3RlQ2xpZW50PWE7djMuamMoKS5zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChkKTt0cnl7dmFyIGw9Xy5saigpLG09bC5iaWQ7ZGVsZXRlIGwuYmlkO2QuYWRTaWduYWxzSW5mbz17cGFyYW1zOltdLGJpZDptfTtmb3IobGV0IFtuLHBdb2YgT2JqZWN0LmVudHJpZXMobCkpbD1uLG09cCxkLmFkU2lnbmFsc0luZm8ucGFyYW1zPy5wdXNoKHtrZXk6bCx2YWx1ZTpgJHttfWB9KTtpZihkLmNsaWVudD8uY2xpZW50TmFtZT09PSJUVkhUTUw1Inx8ZC5jbGllbnQ/LmNsaWVudE5hbWU9PT0KIlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IG49Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO24uYWRTaWduYWxzSW5mbyYmKGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkPW4uYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkLGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkU2lnbmFsVHlwZT0iREVWSUNFX0lEX1RZUEVfQ09OTkVDVEVEX1RWX0lGQSIsZC5hZFNpZ25hbHNJbmZvLmxpbWl0QWRUcmFja2luZz1uLmFkU2lnbmFsc0luZm8ubGltaXRBZFRyYWNraW5nLG4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMhPT12b2lkIDAmJihkLmFkU2lnbmFsc0luZm8uYXRUcmFja2luZ01hbmFnZXJBdXRob3JpemF0aW9uU3RhdHVzPW4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMpKX19Y2F0Y2gobil7Xy5HcChuKX1yZXR1cm4gZH07ClV0YT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPV8uQihhLF8uenopPy5zaWduYWw7aWYoYyYmYi5IZClyZXR1cm4hIWIuSGRbY107aWYoKGM9Xy5CKGEsXy5BeSk/LnJlcXVlc3QpJiZiLlZnKXJldHVybiEhYi5WZ1tjXTtmb3IobGV0IGQgaW4gYSlpZihiLkZpW2RdKXJldHVybiEwO3JldHVybiExfTsKeDM9ZnVuY3Rpb24oYSl7dmFyIGI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Xy53KCJFT01fVklTSVRPUl9EQVRBIik/YlsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09Xy53KCJFT01fVklTSVRPUl9EQVRBIik6Xy53KCJWSVNJVE9SX0RBVEEiKSYmKGJbIlgtR29vZy1WaXNpdG9yLUlkIl09Xy53KCJWSVNJVE9SX0RBVEEiKSk7YlsiWC1Zb3V0dWJlLUJvb3RzdHJhcC1Mb2dnZWQtSW4iXT1fLncoIkxPR0dFRF9JTiIsITEpO18udygiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKGJbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1fLncoIkRFQlVHX1NFVFRJTkdTX01FVEFEQVRBIikpO2EhPT0iY29ycyImJigoYT1fLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpJiYoYlsiWC1Zb3V0dWJlLUNsaWVudC1OYW1lIl09YSksKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKGJbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQphKSwoYT1fLncoIkNIUk9NRV9DT05ORUNURURfSEVBREVSIikpJiYoYlsiWC1Zb3V0dWJlLUNocm9tZS1Db25uZWN0ZWQiXT1hKSwoYT1fLncoIkRPTUFJTl9BRE1JTl9TVEFURSIpKSYmKGJbIlgtWW91dHViZS1Eb21haW4tQWRtaW4tU3RhdGUiXT1hKSwoYT12My5qYygpLmdldFhHZW9IZWFkZXI/LigpKSYmKGJbIlgtR2VvIl09YSkpOyhhPV8udygiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoYlsiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1hKTtyZXR1cm4gYn07eTM9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pm5ldyBhfTsKVnRhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHozLmluc3RhbmNlIT09dm9pZCAwKXtpZihkPXozLmluc3RhbmNlLGE9W2EhPT1kLnYsYiE9PWQuU2EsYyE9PWQubywhMSwhMSwhMSwhMV0sYS5zb21lKGU9PmUpKXRocm93IG5ldyBfLlhqKCJJbm5lclR1YmVUcmFuc3BvcnRTZXJ2aWNlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQiLGEpO31lbHNlIHozLmluc3RhbmNlPW5ldyB6MyhhLGIsYyxkKX07Cll0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWAveW91dHViZWkvdjEvJHtoMyhXdGEpfWAsZD17UmQ6e2lkZW50aXR5OkEzfX07aWYoXy54KCJtYXdfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0Iil8fF8ueCgiYWxsX3dlYl9uZXR3b3JrX21hY2hpbmVfcmF3X3JlcXVlc3QiKSl7bGV0IGY9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGYpcmV0dXJuIG0zKFh0YShmLHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6dm9pZCAwLGNvbmZpZzpkLGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbihoPT5oLCgpPT57fSl9dmFyIGU9KCk9Pnt9O2U9dzAodjAoYykpO2IuY29udGV4dHx8KGIuY29udGV4dD13Myh2b2lkIDAsITApKTtyZXR1cm4gbmV3IF8uQmYoYXN5bmMgZj0+e3ZhciBoPVkwKGMpO2g9Xy5maihoKT8ic2FtZS1vcmlnaW4iOiJjb3JzIjtoPWEuby56bj9DMyhkLGgpOmF3YWl0IEQzKGQsaCk7dmFyIGs9WDAoWTAoYykpOwprPXtpbnB1dDprLHdiOlowKGspLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6ZH07ZihFMyhhLGssaCxlKSl9KX07WnRhPWZ1bmN0aW9uKGEsYil7YTp7YT1hLnY7dmFyIGM9Xy5CKGIsXy56eik/LnNpZ25hbDtpZihjJiZhLkhkJiYoYz1hLkhkW2NdKSl7dmFyIGQ9YygpO2JyZWFrIGF9aWYoKGM9Xy5CKGIsXy5BeSk/LnJlcXVlc3QpJiZhLlZnJiYoYz1hLlZnW2NdKSl7ZD1jKCk7YnJlYWsgYX1mb3IoZCBpbiBiKWlmKGEuRmlbZF0mJihiPWEuRmlbZF0pKXtkPWIoKTticmVhayBhfWQ9dm9pZCAwfWlmKGQhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShkKX07QzM9ZnVuY3Rpb24oYSxiKXthPV8uUGooe3Nlc3Npb25JbmRleDphPy5SZD8uc2Vzc2lvbkluZGV4fSk7cmV0dXJuey4uLngzKGIpLC4uLmF9fTsKRDM9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWF3YWl0IF8uS3koXy5Qaih7c2Vzc2lvbkluZGV4OmE/LlJkPy5zZXNzaW9uSW5kZXh9KSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Li4ueDMoYiksLi4uYX0pfTsKRTM9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe2F3YWl0ICR0YShiKTt2YXIgZT1iLmNvbmZpZz8ucmVxdWVzdEtleTtpZihlJiZhLmouaGFzKGUpKXZhciBmPWEuai5nZXQoZSk7ZWxzZSBmPUpTT04uc3RyaW5naWZ5KGIuaW5uZXJUdWJlUmVxdWVzdCksYi53Yj17Li4uYi53YixoZWFkZXJzOnsuLi4oYi53Yj8uaGVhZGVycz8/e30pLC4uLmN9fSxjPXsuLi5iLndifSxiLndiLm1ldGhvZD09PSJQT1NUIiYmKGM9ey4uLmMsYm9keTpmfSksYi5jb25maWc/LmtuJiZfLkFxKGIuY29uZmlnLmtuKSxmPWEuU2EuZmV0Y2goYi5pbnB1dCxjLGIuY29uZmlnKSxlJiZhLmouc2V0KGUsZik7aWYoKGY9YXdhaXQgZikmJiJlcnJvciJpbiBmJiZmPy5lcnJvcj8uZGV0YWlscyl7Yz1mLmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGMpKGM9aFsiQHR5cGUiXSkmJmF1YS5pbmRleE9mKGMpPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sZj1oKX1lJiZhLmouaGFzKGUpJiZhLmouZGVsZXRlKGUpOwpiLmNvbmZpZz8ucG4mJl8uQXEoYi5jb25maWcucG4pO2J1YShhLGYsYik7Yi5jb25maWc/Lkl6JiZfLkFxKGIuY29uZmlnLkl6KTtkKCk7cmV0dXJuIGZ8fHZvaWQgMH07JHRhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGE/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe2E9YS5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBiIG9mW10pYXdhaXQgYi5CcihhKX19O2J1YT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWI/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZhLkIpZm9yKGxldCBkIG9mIEYzKWEuQltkXSYmYS5CW2RdLmhhbmRsZVJlc3BvbnNlKGIsYyl9O2N1YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8zKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Xy5LeShfLlBqKHtzZXNzaW9uSW5kZXg6Yj8uUmQ/LnNlc3Npb25JbmRleH0pKTtkPXlpZWxkKnAzKGszKGQpKTtyZXR1cm57Li4ueDMoYyksLi4uZH19KCl9KX07CkczPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09MXx8YT09PTJ9O2R1YT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQsZT1fLkIoYixfLkF5KT8ucmVxdWVzdDtlJiZhLmouVmcmJihkPWEuai5WZ1tlXSk7ZHx8Y3x8KGU9Xy5CKGIsXy56eik/LnNpZ25hbCkmJmEuai5IZCYmKGQ9YS5qLkhkW2VdKTtpZighZCYmKGE9Yz9hLmouYUw6YS5qLkZpKSlmb3IobGV0IGYgaW4gYilpZihhW2ZdKXtkPWFbZl07YnJlYWt9aWYoIWQpe2lmKGMpdGhyb3cgRXJyb3IoIlFlIik7dGhyb3cgRXJyb3IoIlJlIik7fWI9ZCgpO3JldHVybiBrMyhiKX07ZXVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJDT01NQU5EX0lOSVQiLGIpfTtYdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ydW4oIlJFUVVFU1RfSU5JVCIsYil9O0gzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJQUk9DRVNTX1JFU1BPTlNFIixiLCJSZXNwb25zZU1hY2hpbmUgKENhY2hlKSIpfTsKSTM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJ1bigiSU5JVCIsYixjIT09dm9pZCAwP2BSZXNwb25zZU1hY2hpbmUgKENodW5rICR7Y30pYDoiUmVzcG9uc2VNYWNoaW5lIil9OwpmdWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKTtfLkp6KGEse2phOkozLFdjOigpPT5uZXcgTWFwfSk7Xy5KeihhLHtqYTpLMyxQYTpLMyxnYjohMH0pO18uSnooYSx7amE6TDMsUGE6TDMsZ2I6ITB9KTtfLkp6KGEse2phOk0zLFBhOk0zLGdiOiEwfSk7Xy5KeihhLHtqYTpOMyxQYTpOMyxnYjohMH0pO18uSnooYSx7amE6TzMsUGE6TzMsZ2I6ITB9KTtfLkp6KGEse2phOlAzLFBhOlAzLGdiOiEwfSk7Xy5KeihhLHtqYTpRMyxQYTpRMyxnYjohMH0pO18uSnooYSx7amE6UjMsUGE6UjMsZ2I6ITB9KTtfLkp6KGEse2phOlMzLFBhOlMzLGdiOiEwfSk7Xy5KeihhLHtqYTpUMyxQYTpUMyxnYjohMH0pO18uSnooYSx7amE6VTMsV2M6KGIsYyxkLGUsZixoLGssbCxtLG4pPT4oe0NPTU1BTkRfSU5JVDpsLFJFUVVFU1RfSU5JVDptLENBQ0hFOmMsTE9DQUxfUk9VVEVSOmssQ09OVEVYVDpkLEFVVEg6YixERURVUEU6ZSxGRVRDSDpoLFJFVFJZOm4sRkFMTEJBQ0s6Zn0pLFtfLkxuXTpbSzMsTDMsCk0zLE4zLE8zLFAzLFEzLFIzLFMzLFQzXSxnYjohMH0pO18uSnooYSx7amE6QjMsV2M6Yj0+KCk9Pm5ldyBWMyhiKSxbXy5Mbl06W1UzXSxnYjohMH0pO18uSnooYSx7amE6VzMsUGE6VzMsZ2I6ITB9KTtfLkp6KGEse2phOlgzLFBhOlgzLGdiOiEwfSk7Xy5KeihhLHtqYTpZMyxQYTpZMyxnYjohMH0pO18uSnooYSx7amE6WjMsUGE6WjMsZ2I6ITB9KTtfLkp6KGEse2phOiQzLFdjOihiLGMsZCxlKT0+KHtJTklUOmUsRVJST1JfVU5QQUNLRVI6YyxQUk9DRVNTX1JFU1BPTlNFOmQsQ0FMTEJBQ0tfRElTUEFUQ0hFUjpifSksW18uTG5dOltXMyxYMyxZMyxaM10sZ2I6ITB9KTtfLkp6KGEse2phOmE0LFdjOmI9PigpPT5uZXcgYjQoYiksW18uTG5dOlskM10sZ2I6ITB9KX07Cmd1YT1mdW5jdGlvbigpe18ucmEoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIsXy5HcCk7S3JhKCk7Xy56byhfLkJvKCkse30pO3dpbmRvdy5vbmVycm9yPUpyYTtfLlVmPW8wO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGE9PntpZihhLnJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKXtsZXQgYj1hLnJlYXNvbjtfLmN3KGIse3NvdXJjZToidW5oYW5kbGVkcmVqZWN0aW9uIn0pO2IubmFtZT09PSJBYm9ydEVycm9yIiYmKGIubGV2ZWw9IldBUk5JTkciKX1vMChhLnJlYXNvbik7YS5wcmV2ZW50RGVmYXVsdCgpfSl9O2M0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiEhc2VsZi5zZXNzaW9uU3RvcmFnZX1jYXRjaHtyZXR1cm4hMX19O2Q0PWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19OwplND1mdW5jdGlvbihhKXtpZihjNCgpKXt2YXIgYj1PYmplY3Qua2V5cyh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpO2ZvcihsZXQgYyBvZiBiKWI9ZDQoYyksYj09PXZvaWQgMHx8YS5pbmNsdWRlcyhiKXx8c2VsZi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07aHVhPWZ1bmN0aW9uKCl7aWYoIWM0KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LnNlc3Npb25TdG9yYWdlKTtmb3IobGV0IGMgb2YgYilpZihiPWQ0KGMpLGIhPT12b2lkIDAmJmIhPT1hKXJldHVybiEwO3JldHVybiExfTtmND1mdW5jdGlvbigpe1R0YSgpLnRoZW4oYT0+e2EmJihnMChhKSxjMShhKSxhMShhKSxlNChhKSl9KX07Cml1YT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLk9zO18uamYucGIoYXN5bmMoKT0+e2lmKCFfLngoInl0aWRiX2NsZWFyX29wdGltaXphdGlvbnNfa2lsbHN3aXRjaCIpKXt2YXIgYj1fLlZqKCJjbGVhciIpO2lmKGIuc3RhcnRzV2l0aCgiViIpJiZiLmVuZHNXaXRoKCJ8fCIpKXtiPVtiXTtnMChiKTtjMShiKTthMShiKTtlNChiKTtyZXR1cm59Yj1kc2EoKTtsZXQgYz1odWEoKSxkPWF3YWl0IGVzYSgpLGU9YXdhaXQgRXJhKCk7aWYoIShifHxjfHxkfHxlKSlyZXR1cm59YS5TYigpP2Y0KCk6Xy5iZihhLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixmNCl9KX07anVhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57d2luZG93LnNldFRpbWVvdXQoYixhKX0pfTsKWXNhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtfLlR6KCJhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2giKTtfLkFxKCJhdHRfZnMiLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7aWYoIWEuail0aHJvdyBuZXcgczIoOSwiTWlzc2luZyBmZXRjaGVyIik7dmFyIGQ9YXdhaXQgYS5qKGIsYyk7Yj1kPy5iZ0NoYWxsZW5nZTtpZighYil0aHJvdyBuZXcgczIoMTUsIk1pc3NpbmcgZmllbGQiKTthLm89ZDthLnYuZm9yRWFjaChlPT57ZShkKX0pO2E9UzIoYik7Xy5BcSgiYXR0X2ZjIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO18uU3ooImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBhfTsKaHRhPWFzeW5jIGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBCMSgxMDAsM0U1LC4yNSwyKSxkPXZvaWQgMDtjLnY8MTA7KXRyeXtyZXR1cm4gYy52PjAmJmF3YWl0IGp1YShjLmopLGF3YWl0IGt1YShhLGIpfWNhdGNoKGUpe2Q9ZSBpbnN0YW5jZW9mIHMyP2U6bmV3IHMyKDksZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToiVW5rbm93biIpLEMxKGMpfWlmKGQpdGhyb3cgZDt0aHJvdyBuZXcgczIoOSwiVW5rbm93biBlcnJvciIpO307Cmt1YT1mdW5jdGlvbihhLGIpe2I9V3NhKFhzYShuZXcgbHVhLGIpLGEucmVxdWVzdEtleSk7dmFyIGM9bmV3IF8uY3MsZD1hLkQoKTtkLm9wZW4oIlBPU1QiLGEuQik7ZC5zZXRSZXF1ZXN0SGVhZGVyKCJYLUdvb2ctQXBpLUtleSIsIkFJemFTeUR5VDVXMEpoNDlGMzBQcXF0eWZkZjdwRExGS0xKb0FudyIpO2Quc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiIpO2Qub25sb2FkPSgpPT57aWYoXy5xaihkKSl7bGV0IGU9bXVhKGQucmVzcG9uc2VUZXh0KTtjLnJlc29sdmUoZSl9ZWxzZSBjLnJlamVjdChuZXcgczIoUDEoXy5waihkKSksZC5zdGF0dXNUZXh0KSl9O2Qub25lcnJvcj0oKT0+e2MucmVqZWN0KG5ldyBzMihQMShfLnBqKGQpKSxkLnN0YXR1c1RleHQpKX07ZC5zZW5kKGIuc2VyaWFsaXplKCkpO3JldHVybiBjLnByb21pc2V9OwpudWE9ZnVuY3Rpb24oYSl7dmFyIGI9e2JpY2Y6ZD0+e2Euaj1kfSxibGM6KCk9PmEuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKSxiY3I6ZD0+e2Eudi5wdXNoKGQpfX0sYz13aW5kb3c7Yy5udHBldmFzcnM9YjtpZihjLm50cHFmYmVsIT09dm9pZCAwKWZvcihsZXQgZCBvZiBjLm50cHFmYmVsKWQoYik7Yy5udHBxZmJlbD12b2lkIDB9O2c0PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhLCJXQVJOSU5HIil9fTtpND1mdW5jdGlvbihhLGIpe2E9bmV3IG91YShhLGIpO3B1YShhKTtiPy5DSXx8aDQoYSl9OwpwdWE9ZnVuY3Rpb24oYSl7aWYoIWEudm0pe3ZhciBiPXttYXhBdHRlbXB0czo1LEZyOmEudHRsU2Vjb25kcyoxRTN9O2EuWGcueXRjc2k/LnRpY2s/LigicG90X2lzdCIpO2Eudm09YS5Icyh7b2Q6YS5vZCxuZzp7ZGlzYWJsZTpfLngoImh0bWw1X3dlYl9wb19kaXNhYmxlX3JlbW90ZV9sb2dnaW5nIiksbWI6ImFHSWYiLFN2OnpyYSgpLEt5Ol8ueCgid3BvX2Rpc19sZmRtcyIpPzA6MUUzLElnOmQ9Pnt2YXIgZT1qNC5nZXQoZCk7ZXx8KGU9bmV3IHF1YShkKSxlPW5ldyBUMShlKSxqNC5zZXQoZCxlKSk7cmV0dXJuIGV9fSxMZzpiLHN4OmEuYmdDaGFsbGVuZ2UsRWo6ZzR9KTthLmo9RGF0ZS5ub3coKTtmMihhLnZtLCgpPT57YS5qPURhdGUubm93KCl9KTthLlhnLmJnZXZtYz17cDooKT0+e2Eudm0/LnBhdXNlKCl9LHI6KCk9PnthLnZtPy5yZXN1bWUoKX0sY3I6KCk9PmEudm0/LmNoZWNrRm9yUmVmcmVzaCgpPz9Qcm9taXNlLnJlc29sdmUoKX07a3NhKGEudm0sYXN5bmMoKT0+aDQoYSksClYyKCkpO3ZhciBjPWEudi5iaW5kKGEpO2EueW0mJmEudHRsU2Vjb25kcz4wJiZhLnltLnRoZW4oZD0+e2QubGlzdGVuKCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixjKX0pO2EuR3IoYyl9fTtoND1mdW5jdGlvbihhKXtpZihhLm8pcmV0dXJuIGEubztpZighYS52bSl0aHJvdyBFcnJvcigiVGUiKTthLm89bmV3IHJ1YSh7dm06YS52bSxvZDphLm9kLFFuOiEwLG9uRXJyb3I6ZzQsTGc6YS5Kc30pO3JldHVybiBhLm99O2s0PWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1KU09OLnBhcnNlKGEpO2lmKGIuYmdDaGFsbGVuZ2UpcmV0dXJuIGJ9Y2F0Y2goYil7fX07CnN1YT1mdW5jdGlvbihhPXdpbmRvdyl7dmFyIGI9e30sYz1hLnl0QXRSO2I/LmtxPy5EcigpO2lmKGMpe2lmKGM9azQoYykpYj8ua3E/LnpnKCJTVUNDRVNTIiksaTQoYyxiKTthLnl0QXRSPXZvaWQgMH1lbHNlIGEueXRBdFJDPWQ9PntpZihkPWs0KGQpKWI/LmtxPy56ZygiU1VDQ0VTUyIpLGk0KGQsYiksYS55dEF0UkM9dm9pZCAwfX07CnR1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz8oYS5TKDIpLEgwKHkwKGMpLCgpPT57d2luZG93LnRyYXlyaWRlP2w0KGEsZCxlKTooYS5TKDMpLEUwKGMpLF8uSXAobmV3IF8uWGooIkJMOlVMQiIsYCR7Y31gKSkpfSxmKSk6Yj8oZj1fLkNkKCJTQ1JJUFQiKSxiIGluc3RhbmNlb2YgXy5qYj9fLm5iKGYsYik6Zi50ZXh0Q29udGVudD1iLGYubm9uY2U9Xy5pYihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGYpLHdpbmRvdy50cmF5cmlkZT9sNChhLGQsZSk6KGEuUyg0KSxfLklwKG5ldyBfLlhqKCJCTDpVTEJKIikpKSk6Xy5JcChuZXcgXy5YaigiQkw6VUxWIikpfTsKbDQ9ZnVuY3Rpb24oYSxiLGMpe2EuUyg1KTt2YXIgZD0hIWEuaiYmdXVhLmluY2x1ZGVzKF8uUGIoYS5qKXx8IiIpO3RyeXtsZXQgZT1uZXcgZDIoe3Byb2dyYW06YixnbG9iYWxOYW1lOiJ0cmF5cmlkZSIsbmc6e2Rpc2FibGU6IV8ueCgiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyIpfHwhXy54KCJhdHRfc2tpcF9tZXRyaWNzX2Zvcl9jb29raWVsZXNzX2RvbWFpbnNfa3MiKSYmZCxtYjoiYUdJZiJ9fSk7ZS5DZy50aGVuKCgpPT57YS5TKDYpO2MmJmMoYil9KTthLm8oZSl9Y2F0Y2goZSl7YS5TKDcpLGUgaW5zdGFuY2VvZiBFcnJvciYmXy5JcChlKX19O200PWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXQuYWJ1c2UucGxheWVyQXR0TG9hZGVyIik7cmV0dXJuIGEmJlsiYmd2bWEiLCJiZ3ZtYiIsImJndm1jIl0uZXZlcnkoYj0+YiBpbiBhKT9hOm51bGx9Owp2dWE9ZnVuY3Rpb24oKXt2YXIgYT1fLncoIkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UUyIpO2lmKGEpe3ZhciBiPW5yYSgpO2ZvcihsZXQgYyBvZiBhKWIoYykmJl8uRXAoImdlbmVyaWNDbGllbnRFeHBlcmltZW50RXZlbnQiLHtldmVudFR5cGU6Y30pO2RlbGV0ZSBfLlBpLkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UU319O3d1YT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXtsZXQgZD1fLlFiKF8uUHkoYiwia2V5IikpfHwiL1VOS05PV05fUEFUSCI7YS5qLnN0YXJ0KGQpfWE9YztfLngoInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCIpJiYoYT1GcmEoYykpO3JldHVybiBuZXcgd2luZG93LlJlcXVlc3QoYixhKX07Cm80PWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihmPy5hYm9ydGVkKXJldHVybiBiLmNhbmNlbCgpLGQ7dmFyIHt2YWx1ZTpoLGRvbmU6a309YXdhaXQgYi5yZWFkKCk7aWYoaylyZXR1cm4gYS5qPy5zdWNjZXNzKCksZDt0cnl7dmFyIGw9Yy5wYXJzZShoKX1jYXRjaChtKXt0aHJvdyBuZXcgbjQoIkZhaWxlZCB0byBwYXJzZSBzdHJlYW1pbmcgcmVzcG9uc2UiLGgpO31pZihsIT1udWxsKWZvcihsZXQgbSBvZiBsKWQucHVzaChtKSxlPy4obSk7cmV0dXJuIG80KGEsYixjLGQsZSxmKX07eHVhPWZ1bmN0aW9uKCl7dmFyIGE9bmF2aWdhdG9yO3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZT8ucXVlcnlVc2FnZUFuZFF1b3RhP2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZS5xdWVyeVVzYWdlQW5kUXVvdGEoKGQsZSk9PntiKHt1c2FnZTpkLHF1b3RhOmV9KX0sZD0+e2MoZCl9KTpjKEVycm9yKCJWZSIpKX0pfTsKeXVhPWZ1bmN0aW9uKGEsYil7cDQuamMoKS5lc3RpbWF0ZSgpLnRoZW4oYz0+e2EuaigiaWRiUXVvdGFFeGNlZWRlZCIsey4uLmIsaXNTdzpzZWxmLmRvY3VtZW50PT09dm9pZCAwLGlzSWZyYW1lOnNlbGYhPT1zZWxmLnRvcCxkZXZpY2VTdG9yYWdlVXNhZ2VNYnl0ZXM6cTQoYz8udXNhZ2UpLGRldmljZVN0b3JhZ2VRdW90YU1ieXRlczpxNChjPy5xdW90YSl9KX0pfTtxND1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0idW5kZWZpbmVkIj8iLTEiOlN0cmluZyhNYXRoLmNlaWwoYS8xMDQ4NTc2KSl9Owp6dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17ZXJyb3JTZXZlcml0eTpiLmZoLnRvU3RyaW5nKCksd2l6RmVhdHVyZUZsYWdzOk9iamVjdC5lbnRyaWVzKGIuQWwpLmpvaW4oIlxuIil9O2I9Yi5maDtiPT09Mz9fLkdwKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTpiPT09MiYmXy5HcChhLCJXQVJOSU5HIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTtfLngoImNvd19pZl9lcnJvcnNfaW5fcG9wdXAiKSYmYj09PTMmJmEubWVzc2FnZS5pbmRleE9mKCI8SWY+IikhPT0tMSYmd2luZG93LmFsZXJ0KGEubWVzc2FnZSl9OwpBdWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW51bGw7YyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P2Q9YzohXy54KCJsb2dnaW5nX25lc3RlZF9jb21wb25lbnRfa3MiKSYmQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KGNbMF0pJiZjWzBdLmxlbmd0aD09PTEmJmNbMF1bMF1pbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZD1jWzBdWzBdKTthLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZkJiZiJiYhXy54KCJjb3dfbG9nZ2luZ19pbl9jb21wb25lbnRfd3JhcHBlciIpJiZfLnV5KGQsYiwhMCl9O0J1YT1mdW5jdGlvbigpe18ueCgiY293X2xvZ2dpbmdfaW5fY29tcG9uZW50X3dyYXBwZXIiKT8oXy5Ddj0oYSxiKT0+e2IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmXy51eShiLGEsITApfSxfLnZ2PSgpPT57fSk6KF8uQ3Y9KCk9Pnt9LF8udnY9QXVhKX07CkR1YT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpO18uSnooYSx7amE6cjQsUGE6czR9KTtfLkp6KGEse2phOnQ0LFBhOl8ubm19KTt2YXIgYj12My5qYygpLGM9YS5yZXNvbHZlKHQ0KSxkPWEucmVzb2x2ZShyNCksZT17fTtiJiYoZS5jbGllbnRfbG9jYXRpb249Yik7Xy5KeihhLHtqYTp1NCxNYjpDdWF9KTtfLkp6KGEse2phOl8uSnksTWI6ZX0pO18ueCgibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmZnVhKCk7VnRhKGEucmVzb2x2ZSh1NCksZCxjLGEucmVzb2x2ZShfLkp5KSk7Xy5KeihhLHtqYTpfLkl5LE1iOnozLmluc3RhbmNlfSl9O0d1YT1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPW51bGwpe2I9bmV3IEV1YShhLGIsYyxkLGUpO0Z1YS5zZXQoYSxiKX07CnY0PWZ1bmN0aW9uKGEpe2lmKCFhLm9uUmVhZHlQYXRjaEFwcGxpZWQpe3ZhciBiPWEuYWRkRXZlbnRMaXN0ZW5lcjthLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PntjPT09Im9uUmVhZHkiP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntkKGEpfSk6Yi5jYWxsKGEsYyxkKX07YS5vblJlYWR5UGF0Y2hBcHBsaWVkPSEwfX07SnVhPWZ1bmN0aW9uKGEpe2lmKF8uc2EoInl0LnBsYXllci5BcHBsaWNhdGlvbi5jcmVhdGUiKSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dzQoYSl9KTtlbHNle0h1YShfLmh3KGEud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmwpLCgpPT57dzQoYSl9LCgpPT57YS5pYSgpfHxhLkVqKCl9KTtsZXQgYj1hLndlYlBsYXllckNvbnRleHRDb25maWcudHJ1c3RlZENzc1VybDtiJiZJdWEoXy5odyhiKSl9fTsKdzQ9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7dmFyIGI9Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3RyeXthLmFwaT1iKGEuY29udGFpbmVyLHthcmdzOmEucGxheWVyVmFyc30sYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnLHZvaWQgMCkuZ2V0SW50ZXJuYWxBcGkoKSx2NChhLmFwaSksYS5hcGkuaXNSZWFkeT0oKT0+ITAsYS5qKGEuYXBpKX1jYXRjaChjKXt0aHJvdyBhLkVqKCksYzt9fX07SXVhPWZ1bmN0aW9uKGEpe3ZhciBiPWB5dHAtJHthLnRvU3RyaW5nKCl9YDtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYikpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmlkPWI7Xy5xYihjLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYyl9fTsKSHVhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1geXRwLSR7YS50b1N0cmluZygpfWAsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKTtpZihlKWUuZGF0YXNldC5mYWlsZWQ/YygpOmUuZGF0YXNldC5sb2FkZWQ/YigpOihlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2MoKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9PntiKCl9KSk7ZWxzZXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmLmlkPWQ7Zi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntmLmRhdGFzZXQuZmFpbGVkPSJ0cnVlIjtjKCl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Zi5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7YigpfSk7Xy5vYihmLGEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShmLGEuZmlyc3RDaGlsZCl9fTsKS3VhPWZ1bmN0aW9uKGEpe18udygiRU5BQkxFX1dFQlZJRVdfQVBJIikmJndpbmRvdy55dHdlYnZpZXdwbGF5ZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+e3RyeXtsZXQgZD1KU09OLnBhcnNlKGIuZGF0YSksZT1kLm1ldGhvZE5hbWUsZj1kLmFyZ3N8fFtdO2E6e2ZvcihsZXQgaCBvZiBmKWlmKFN0cmluZyhoKS5pbmNsdWRlcygiamF2YXNjcmlwdDoiKSl7dmFyIGM9ITA7YnJlYWsgYX1jPSExfWlmKGMpdGhyb3cgRXJyb3IoIldlYCIrZSsiYCIrZik7aWYoZSYmdHlwZW9mIGFbZV09PT0iZnVuY3Rpb24iKWFbZV0oLi4uZik7ZWxzZSB0aHJvdyBFcnJvcigiWGVgIitlKTt9Y2F0Y2goZCl7Xy5HcChkKX19KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25QbGF5ZXJSZWFkeSJ9KSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApiPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25TdGF0ZUNoYW5nZSIsc3RhdGU6Yn0pKX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYj0+e3dpbmRvdy55dHdlYnZpZXdwbGF5ZXIucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6Im9uRXJyb3IiLGVycm9yQ29kZTpifSkpfSkpfTt4ND1mdW5jdGlvbihhKXtyZXR1cm4oYS5zZWFyY2goImN1ZSIpPT09MHx8YS5zZWFyY2goImxvYWQiKT09PTApJiZhIT09ImxvYWRNb2R1bGUifTsKeTQ9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJue3ZpZGVvSWQ6YSxzdGFydFNlY29uZHM6YixzdWdnZXN0ZWRRdWFsaXR5OmN9O2I9e307Zm9yKGxldCBlIG9mIEx1YSlhW2VdJiYoYltlXT1hW2VdKTtpZihhPWEuZW1iZWRDb25maWd8fGEuZW1iZWRfY29uZmlnKXthOmlmKHR5cGVvZiBhPT09InN0cmluZyIpdmFyIGQ9YTtlbHNle2lmKF8uQWEoYSkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoYSk7YnJlYWsgYX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLGUpfWQ9dm9pZCAwfWIuZW1iZWRfY29uZmlnPWR9cmV0dXJuIGJ9Owp6ND1mdW5jdGlvbihhLGIsYyxkKXtpZihfLkFhKGEpJiYhQXJyYXkuaXNBcnJheShhKSl7Yj0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtjPXt9O2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF07YVtlXSYmKGNbZV09YVtlXSl9cmV0dXJuIGN9Yj17aW5kZXg6YixzdGFydFNlY29uZHM6YyxzdWdnZXN0ZWRRdWFsaXR5OmR9O3R5cGVvZiBhPT09InN0cmluZyImJmEubGVuZ3RoPT09MTY/Yi5saXN0PSJQTCIrYTpiLnBsYXlsaXN0PWE7cmV0dXJuIGJ9O0E0PWZ1bmN0aW9uKGEsYixjKXthLkIucHVzaCh7ZXZlbnRUeXBlOmIsbGlzdGVuZXI6Y30pO2EuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixjKX07CkQ0PWZ1bmN0aW9uKGEpe2lmKGEuailpZihhLnYpYS5zZW5kTWVzc2FnZSgiYWxyZWFkeUluaXRpYWxpemVkIik7ZWxzZSBpZihhLk0pe2Eudj0hMDthLk09ITE7YS5zZW5kTWVzc2FnZSgiaW5pdGlhbERlbGl2ZXJ5IixCNChhKSk7YS5zZW5kTWVzc2FnZSgib25SZWFkeSIpO18uQXEoImVwX2luaXRfYXIiKTtmb3IobGV0IGIgb2YgYS5VKUM0KGEsYik7YS5VPVtdfX07QzQ9ZnVuY3Rpb24oYSxiLGM9YS5qKXtpZihjKXtiLmNoYW5uZWw9IndpZGdldCI7YS5zZXNzaW9uSWQmJihiLmlkPWEuc2Vzc2lvbklkKTt0cnl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkoYik7Yy5wb3N0TWVzc2FnZShkLGEudGFyZ2V0T3JpZ2luKX1jYXRjaChkKXtfLklwKGQpfX19OwpCND1mdW5jdGlvbihhKXtpZighYS5hcGkpcmV0dXJuIG51bGw7dmFyIGI9YS5hcGkuZ2V0QXBpSW50ZXJmYWNlKCk7Xy54YihiLCJnZXRWaWRlb0RhdGEiKTt2YXIgYz17YXBpSW50ZXJmYWNlOmJ9O2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKyl7bGV0IGg9YltlXTtpZihoLnNlYXJjaCgiZ2V0Iik9PT0wfHxoLnNlYXJjaCgiaXMiKT09PTApe3ZhciBkPTA7aC5zZWFyY2goImdldCIpPT09MD9kPTM6aC5zZWFyY2goImlzIik9PT0wJiYoZD0yKTtkPWguY2hhckF0KGQpLnRvTG93ZXJDYXNlKCkraC5zdWJzdHJpbmcoZCsxKTt0cnl7bGV0IGs9YS5hcGlbaF0oKTtjW2RdPWt9Y2F0Y2goayl7fX19Yy52aWRlb0RhdGE9YS5hcGkuZ2V0VmlkZW9EYXRhKCk7Yy5jdXJyZW50VGltZUxhc3RVcGRhdGVkXz1EYXRlLm5vdygpLzFFMztyZXR1cm4gY307RTQ9ZnVuY3Rpb24oYSxiKXthLnNlbmRNZXNzYWdlKCJpbmZvRGVsaXZlcnkiLGIpfTsKTXVhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2I9PT0ib25FcnJvciI/YS5hcGkubG9nQXBpQ2FsbChgJHtifSBpbnZvY2F0aW9uYCxjLGQpOmEuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk7YS5zZW5kTWVzc2FnZShiLGQpfX07RjQ9ZnVuY3Rpb24oYSxiLGMpe2EuaWEoKXx8KGI9e2lkOmEuaWQsY29tbWFuZDpifSxjJiYoYi5kYXRhPWMpLE51YS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShiKSxhLm9yaWdpbikpfTtPdWE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAib25SZWFkeSI6cmV0dXJuO2Nhc2UgIm9uU3RhdGVDaGFuZ2UiOnJldHVybntwbGF5ZXJTdGF0ZTpifTtjYXNlICJvblBsYXliYWNrUXVhbGl0eUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUXVhbGl0eTpifTtjYXNlICJvblBsYXliYWNrUmF0ZUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJvbkVycm9yIjpyZXR1cm57ZXJyb3JDb2RlOmJ9fWlmKGIhPW51bGwpcmV0dXJue3ZhbHVlOmJ9fTsKUHVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgImxvYWRWaWRlb0J5SWQiOnJldHVyblt5NChiKV07Y2FzZSAiY3VlVmlkZW9CeUlkIjpyZXR1cm5beTQoYildO2Nhc2UgImxvYWRWaWRlb0J5UGxheWVyVmFycyI6cmV0dXJuW2JdO2Nhc2UgImN1ZVZpZGVvQnlQbGF5ZXJWYXJzIjpyZXR1cm5bYl07Y2FzZSAibG9hZFBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgImN1ZVBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgInNlZWtUbyI6cmV0dXJuW2Iuc2Vjb25kcyxiLmFsbG93U2Vla0FoZWFkXTtjYXNlICJwbGF5VmlkZW9BdCI6cmV0dXJuW2IuaW5kZXhdO2Nhc2UgInNldFZvbHVtZSI6cmV0dXJuW2Iudm9sdW1lXTtjYXNlICJzZXRQbGF5YmFja1F1YWxpdHkiOnJldHVybltiLnN1Z2dlc3RlZFF1YWxpdHldO2Nhc2UgInNldFBsYXliYWNrUmF0ZSI6cmV0dXJuW2Iuc3VnZ2VzdGVkUmF0ZV07Y2FzZSAic2V0TG9vcCI6cmV0dXJuW2IubG9vcFBsYXlsaXN0c107Y2FzZSAic2V0U2h1ZmZsZSI6cmV0dXJuW2Iuc2h1ZmZsZVBsYXlsaXN0XTsKY2FzZSAiZ2V0T3B0aW9ucyI6cmV0dXJuW2IubW9kdWxlXTtjYXNlICJnZXRPcHRpb24iOnJldHVybltiLm1vZHVsZSxiLm9wdGlvbl07Y2FzZSAic2V0T3B0aW9uIjpyZXR1cm5bYi5tb2R1bGUsYi5vcHRpb24sYi52YWx1ZV07Y2FzZSAiaGFuZGxlR2xvYmFsS2V5RG93biI6cmV0dXJuW2Iua2V5Q29kZSxiLnNoaWZ0S2V5LGIuY3RybEtleSxiLmFsdEtleSxiLm1ldGFLZXksYi5rZXksYi5jb2RlXX1yZXR1cm5bXX07ClF1YT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJpc011dGVkIjpyZXR1cm57bXV0ZWQ6Yn07Y2FzZSAiZ2V0Vm9sdW1lIjpyZXR1cm57dm9sdW1lOmJ9O2Nhc2UgImdldFBsYXliYWNrUmF0ZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJnZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzIjpyZXR1cm57YXZhaWxhYmxlUGxheWJhY2tSYXRlczpifTtjYXNlICJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIjpyZXR1cm57dmlkZW9Mb2FkZWRGcmFjdGlvbjpifTtjYXNlICJnZXRQbGF5ZXJTdGF0ZSI6cmV0dXJue3BsYXllclN0YXRlOmJ9O2Nhc2UgImdldEN1cnJlbnRUaW1lIjpyZXR1cm57Y3VycmVudFRpbWU6Yn07Y2FzZSAiZ2V0UGxheWJhY2tRdWFsaXR5IjpyZXR1cm57cGxheWJhY2tRdWFsaXR5OmJ9O2Nhc2UgImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiOnJldHVybnthdmFpbGFibGVRdWFsaXR5TGV2ZWxzOmJ9O2Nhc2UgImdldER1cmF0aW9uIjpyZXR1cm57ZHVyYXRpb246Yn07CmNhc2UgImdldFZpZGVvVXJsIjpyZXR1cm57dmlkZW9Vcmw6Yn07Y2FzZSAiZ2V0VmlkZW9FbWJlZENvZGUiOnJldHVybnt2aWRlb0VtYmVkQ29kZTpifTtjYXNlICJnZXRQbGF5bGlzdCI6cmV0dXJue3BsYXlsaXN0OmJ9O2Nhc2UgImdldFBsYXlsaXN0SW5kZXgiOnJldHVybntwbGF5bGlzdEluZGV4OmJ9O2Nhc2UgImdldE9wdGlvbnMiOnJldHVybntvcHRpb25zOmJ9O2Nhc2UgImdldE9wdGlvbiI6cmV0dXJue29wdGlvbjpifX19O1J1YT1mdW5jdGlvbigpe3JldHVybiBHNC5pc0luaXRpYWxpemVkKCl9O1N1YT1mdW5jdGlvbihhPXt9KXtyZXR1cm4gRzQuaW52b2tlKGEpfTtUdWE9ZnVuY3Rpb24oKXtpZihfLncoIkVOQUJMRV9KU19BUEkiKSl7dmFyIGE9Yj0+e0g0PWI7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9fTsKVXVhPWZ1bmN0aW9uKCl7Xy5BcSgiZXBfaW5pdF93ZXMiKTt2YXIgYT1fLncoIlBMQVlFUl9DT05GSUciKTtpZighYSl7dmFyIGI9Xy53KCJQTEFZRVJfVkFSUyIpO2ImJihhPXthcmdzOmJ9KX1RMighMCk7YS5hcmdzLnBzPT09Imd2biImJihkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiKTthLmF0dHJzfHwoYS5hdHRycz17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsaWQ6InZpZGVvLXBsYXllciJ9KTtiPWRvY3VtZW50LnJlZmVycmVyO3dpbmRvdyE9PXdpbmRvdy50b3AmJmImJmIhPT1kb2N1bWVudC5VUkwmJihhLmFyZ3MubG9hZGVyVXJsPWIpO2I9Xy53KCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyIpPy5XRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUjtpZighYi5zZXJpYWxpemVkRm9yY2VkRXhwZXJpbWVudElkcyl7bGV0IGM9YTAod2luZG93LmxvY2F0aW9uLmhyZWYpO2MuZm9yY2VkX2V4cGVyaW1lbnRzJiYKKGIuc2VyaWFsaXplZEZvcmNlZEV4cGVyaW1lbnRJZHM9Yy5mb3JjZWRfZXhwZXJpbWVudHMpfWEuYXJncz8uYXV0b3BsYXk/dDAoIndhdGNoIixbInBicyIsInBidSIsInBicCJdKTphLmFyZ3MmJnd0YShhLmFyZ3MpP3QwKCJ2aWRlb19wcmV2aWV3IixbIm9sIl0pOnQwKCJlbWJlZF9ub192aWRlbyIsWyJlcF9pbml0X2FyIl0pO18ueCgiZW1iZWRzX3VzZV9wbGF5ZXJfaW5zdGFuY2VzX2xpYnJhcnkiKXx8Xy53KCJFTkFCTEVfV0VCVklFV19BUEkiKT8oR3VhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKSxiLGM9PntfLncoIkVOQUJMRV9XRUJWSUVXX0FQSSIpPyhjPWMuZ2V0VHJ1c3RlZEFwaSgpLHY0KGMpLEt1YShjKSk6KEk0KGMpLEo0KGMpKX0sKCk9Pnt0aHJvdyBFcnJvcigiWWUiKTt9LGEuYXJncyksXy53KCJFTkFCTEVfV0VCVklFV19BUEkiKXx8SzQoKSxfLkFxKCJlcF9pbml0X3dlZSIpKTooYT1jc2EoYSxiKSxJNChhKSxLNCgpLF8uQXEoImVwX2luaXRfd2VlIiksCko0KGEpKX07STQ9ZnVuY3Rpb24oYSl7TDQ9YTtMNC5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpO0w0LmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLFZ1YSk7YT1fLncoIlBPU1RfTUVTU0FHRV9JRCIsInBsYXllciIpO3ZhciBiPV8udygiUE9TVF9NRVNTQUdFX09SSUdJTiIpO18udygiRU5BQkxFX0pTX0FQSSIpP040PW5ldyBXdWE6Xy53KCJFTkFCTEVfUE9TVF9BUEkiKSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmKE40PW5ldyBYdWEoYSxiKSk7SDQ9dm9pZCAwfTsKSzQ9ZnVuY3Rpb24oKXtHdGEoKTtfLngoInl0aWRiX2NyZWF0ZV9sb2dnZXJfZW1iZWRfa2lsbHN3aXRjaCIpfHxCcmEoKTtPNC5qfHwoTzQuaj1uZXcgTzQpO080LmouaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6KCk9PntfLmJwKCl9fX0pO18uSWx8fEdyYSgpO0R1YSgpO18uamYucGIoKCk9PntfLnkoKS5yZXNvbHZlKF8uSXkpO2l1YSgpfSk7c2V0VGltZW91dCgoKT0+e18ueCgiYXR0bXVzaSIpJiZzdWEod2luZG93KTt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5JeSkpO2lmKGEpe2E9bmV3IFl1YShhKTt2YXIgYj17cHJlbG9hZDohXy54KCJlbmFibGVfcnRhX25waSIpLHpzOl8ueCgiYXR0bXVzaSIpfTtiPU9iamVjdC5hc3NpZ24oe3ByZWxvYWQ6ITB9LGIpO2xldCBkPWIuQUk/dm9pZCAwOm5ldyBfLk9zO1A0Lmluc3RhbmNlPW5ldyBQNChhLGIsZCk7YT1QNC5pbnN0YW5jZTtpZigoXy54KCJhdHRtdXNpIil8fF8ueCgiYXR0bXVzaXciKSkmJl8ueCgiYXR0bXVzaV91ZSIpKXthPQp7czphLkIuYmluZChhKSxpcjphLkQuYmluZChhKX07Yj13aW5kb3c7Yi5hdHRtcD1hO2lmKGIuYXR0bXEhPT12b2lkIDApZm9yKHZhciBjIG9mIGIuYXR0bXEpYyhhKTtiLmF0dG1xPXZvaWQgMH1lbHNlIGM9YS5CLmJpbmQoYSksXy5yYSgieXQuYWJhLmF0dCIsYyksYz1hLkQuYmluZChhKSxfLnJhKCJ5dC5hYmEuYXR0MiIsYyl9fSxfLnNqKCJhdHRfaW5pdF9kZWxheSIsMjAwKSk7Xy5ZaigoKT0+e2lmKF8ueCgiZW5hYmxlX3p3X3BpbmciKSl7dmFyIGE9Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiLCJVTktOT1dOX0lOVEVSRkFDRSIpLGI9Ii9lc3RhYmxpc2hfenciO2lmKGE9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiIpYj0iL2VtYmVkL2VzdGFibGlzaF96dyI7ZWxzZSBpZihhPT09IlRWSFRNTDUifHxhPT09IlRWSFRNTDVfU0lNUExZIiliPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS90di9lc3RhYmxpc2hfenciO18udygiQ09PS0lFTEVTUyIsITEpJiZhPT09IldFQl9FTUJFRERFRF9QTEFZRVIiPwooYT1uZXcgSGVhZGVycyxhLnNldCgiWC1Hb29nLVZpc2l0b3ItSWQiLF8udygiVklTSVRPUl9EQVRBIikpLGZldGNoKGIse21ldGhvZDoiR0VUIixtb2RlOiJuby1jb3JzIixoZWFkZXJzOmF9KSk6ZmV0Y2goYix7bWV0aG9kOiJHRVQiLG1vZGU6Im5vLWNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfX0pfTtadWE9ZnVuY3Rpb24oKXtRNCgpfTskdWE9ZnVuY3Rpb24oYSl7YS5wZXJzaXN0ZWR8fFE0KCl9OwpRND1mdW5jdGlvbigpe1NyYSgpO3ZhciBhPV8uSHooKSxiPV8uQ3ooMTE5KSxjPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjE7ZG9jdW1lbnQuYm9keSYmXy5SdChkb2N1bWVudC5ib2R5LCJleHAtaW52ZXJ0LWxvZ28iKSYmKGMmJiFfLlJ0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKT9fLlN0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKTohYyYmXy5SdChkb2N1bWVudC5ib2R5LCJpbnZlcnRlZC1oZHBpIikmJl8uVHQoZG9jdW1lbnQuYm9keSwiaW52ZXJ0ZWQtaGRwaSIpKTtiIT1jJiYoXy5EeigxMTksYyksYS5zYXZlKCkpfTtNND1mdW5jdGlvbigpe1I0KCl9O1Z1YT1mdW5jdGlvbigpe18uQXEoImVwX2luaXRfcHIiKTtSNCgpfTtSND1mdW5jdGlvbigpe3ZhciBhPUw0LmdldFZpZGVvRGF0YSgxKTthPWEudGl0bGU/YS50aXRsZSsiIC0gWW91VHViZSI6IllvdVR1YmUiO2RvY3VtZW50LnRpdGxlIT09YSYmKGRvY3VtZW50LnRpdGxlPWEpfTsKUzQ9ZnVuY3Rpb24oKXtMNCYmTDQuc2VuZEFiYW5kb25tZW50UGluZyYmTDQuc2VuZEFiYW5kb25tZW50UGluZygpO18udygiUExfQVRUIikmJkc0LmRpc3Bvc2UoKTtfLk10KCQyKTskMi5sZW5ndGg9MDtFMChaMi50b1N0cmluZygpKTtZMj0hMTtfLlFpKCJEQ0xLU1RBVCIsMCk7Xy4kZChONCk7TDQmJihMNC5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpLEw0LmRlc3Ryb3koKSxMND1udWxsKX07YXZhPWZ1bmN0aW9uKGEpe18ueCgiZW1iZWRzX3dlYl9lbmFibGVfZGlzcG9zZV9wbGF5ZXJfaWZfcGFnZV9ub3RfY2FjaGVkX2tpbGxzd2l0Y2giKT9TNCgpOmEucGVyc2lzdGVkfHxTNCgpfTsKYnZhPWZ1bmN0aW9uKCl7VDR8fChfLmR3KHtKaShhKXthLnByb3BzLmRhdGEmJihhLmVsLmRhdGE9YS5wcm9wcy5kYXRhKX0sS2koYSxiLGMpe2EuZWw/Yi5kYXRhIT09Yy5kYXRhJiYoYS5lbC5kYXRhPWMuZGF0YSk6Xy5JcChuZXcgXy5YaigiSURPTSBjb21wb25lbnQgZWwgaXMgbnVsbCIsYS5qPy5aYykpfX0pLFQ0PSEwKX07Y3ZhPXtFSzohMH07ZHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPVU0O3RoaXMuaj0xNzUyMzczNzU7dGhpcy5jdG9yPWE7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5vPV8uTng7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMudj1iLm1lc3NhZ2VJZCE9bnVsbD9fLnd6OnZvaWQgMH1yZWdpc3Rlcigpe18ucGModGhpcyl9fTsKZHJhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIi5jaGFyQXQoYSU1Mik7Zm9yKGE9TWF0aC5mbG9vcihhLzUyKTthPjA7KWJbYysrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkiLmNoYXJBdChhJTYyKSxhPU1hdGguZmxvb3IoYS82Mik7cmV0dXJuIGIuam9pbigiIil9fTtBMz17aWRlbnRpdHlUeXBlOiJVTkFVVEhFTlRJQ0FURURfSURFTlRJVFlfVFlQRV9VTktOT1dOIn07SVo9MDtKWj0wO05aPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmJ1ZmZlcj1hO2lmKGMmJiFiKXRocm93IEVycm9yKCk7fX07T1o9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YT4+PjA7dGhpcy5qPWI+Pj4wfX07ClRaPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE+Pj4wO3RoaXMuaj1iPj4+MH19O2xfPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O0VfPV8ueWMoKTtvcmE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87VjQ9Xy5seihPXyxfLkpyKTtldmE9Xy5seihPXyxfLkpyKTtXND1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPXFfKGIpO2IhPW51bGwmJihfLlp5KGEsYyw1KSxhPWEuaixjPU5ffHwoTl89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxKWj0wLElaPWMuZ2V0VWludDMyKDAsITApLGVfKGEsSVopKX0sXy5Jcik7WDQ9Xy5seihQXyxfLkZyKTtmdmE9Xy5seihQXyxfLkZyKTsKWTQ9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1BXyhiKTtpZihiIT1udWxsJiYoZ18oYiksYiE9bnVsbCkpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLE9aLFFaKTtkXyhhLmosYy5vLGMuaik7YnJlYWs7ZGVmYXVsdDpjPVNaKGIpLGRfKGEuaixjLm8sYy5qKX19LF8uR3IpO1o0PV8ubHooUV8sXy5Dcik7Z3ZhPV8ubHooUV8sXy5Dcik7Cmh2YT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPUFfKGIpO2lmKGIhPW51bGwpc3dpdGNoKGhfKGIpLF8uWnkoYSxjLDEpLGE9YS5qLGhfKGIpLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmI8MD8oYj1QWihRWigtYikpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpKTooS1ooYiksZV8oYSxJWiksZV8oYSxKWikpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yj1iPEJpZ0ludCgwKT9QWihjXygtYixPWixRWikpOmNfKGIsT1osUVopO2M9Yi5qO2VfKGEsYi5vKTtlXyhhLGMpO2JyZWFrO2RlZmF1bHQ6Yj1iLmxlbmd0aCYmYlswXT09PSItIj9QWihTWihiLnN1YnN0cmluZygxKSkpOlNaKGIpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpfX0sXy5Icik7aXZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2lfKGEsYyxBXyhiKSl9LF8uSHIpO2p2YT1NXyhmdW5jdGlvbihhLGIsYyl7Yj1MXyhBXyxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlfKGEsYyxiW2RdKX0sXy5Icik7Cmt2YT1fLmx6KF8ubXosXy5Bcik7JDQ9Xy5seihSXyxfLkJyKTtsdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5YdCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLEhaKGYpKX19LF8uQnIpO212YT1fLmx6KFJfLF8uQnIpO2E1PW5ldyBfLmd6KF8ubnosXy56cik7bnZhPU1fKGZ1bmN0aW9uKGEsYixjKXtiPUxfKHJyYSxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLGZyYShmKS5idWZmZXIpfX0sXy5Lcik7YjU9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1zXyhiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksXy5YeShhLmosYikpfSxfLkRyKTtjNT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtqXyhhLGMsXy5zeChiKSl9LF8uTHIpOwpvdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5zeCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWpfKGEsYyxiW2RdKX0sXy5Mcik7cHZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiYoXy5aeShhLGMsNSksYT1hLmosYS5qLnB1c2goYj4+PjAmMjU1KSxhLmoucHVzaChiPj4+OCYyNTUpLGEuai5wdXNoKGI+Pj4xNiYyNTUpLGEuai5wdXNoKGI+Pj4yNCYyNTUpKX0sXy5Fcik7Xy5nPV8uZVYucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5lVih0aGlzLngsdGhpcy55KX07Xy5nLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZVYmJih0aGlzPT1hPyEwOnRoaXMmJmE/dGhpcy54PT1hLngmJnRoaXMueT09YS55OiExKX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uZy50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5lVj8odGhpcy54Kz1hLngsdGhpcy55Kz1hLnkpOih0aGlzLngrPU51bWJlcihhKSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTsKdmFyIHF2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxydmE9e3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjoxLHN0b3BQcm9wYWdhdGlvbjoxLHByZXZlbnRNb3VzZUV2ZW50OjEscHJldmVudE1hbmlwdWxhdGlvbjoxLHByZXZlbnREZWZhdWx0OjEsbGF5ZXJYOjEsbGF5ZXJZOjEsc2NyZWVuWDoxLHNjcmVlblk6MSxzY2FsZToxLHJvdGF0aW9uOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjF9LGMwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudHlwZT0iIjt0aGlzLnN0YXRlPXRoaXMuc291cmNlPXRoaXMuZGF0YT10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmN0cmxLZXk9dGhpcy5hbHRLZXk9ITE7dGhpcy5yb3RhdGlvbj10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPQowO3RoaXMuc2NhbGU9MTt0aGlzLmNoYW5nZWRUb3VjaGVzPXRoaXMudG91Y2hlcz1udWxsO3RyeXtpZihhPWF8fHdpbmRvdy5ldmVudCl7dGhpcy5ldmVudD1hO2ZvcihsZXQgZCBpbiBhKWQgaW4gcnZhfHwodGhpc1tkXT1hW2RdKTt0aGlzLnNjYWxlPWEuc2NhbGU7dGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9uO3ZhciBiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YiYmYi5ub2RlVHlwZT09MyYmKGI9Yi5wYXJlbnROb2RlKTt0aGlzLnRhcmdldD1iO3ZhciBjPWEucmVsYXRlZFRhcmdldDtpZihjKXRyeXtjPWMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGQpe2M9bnVsbH1lbHNlIHRoaXMudHlwZT09Im1vdXNlb3ZlciI/Yz1hLmZyb21FbGVtZW50OnRoaXMudHlwZT09Im1vdXNlb3V0IiYmKGM9YS50b0VsZW1lbnQpO3RoaXMucmVsYXRlZFRhcmdldD1jO3RoaXMuY2xpZW50WD1hLmNsaWVudFghPXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWDt0aGlzLmNsaWVudFk9YS5jbGllbnRZIT12b2lkIDA/CmEuY2xpZW50WTphLnBhZ2VZO3RoaXMua2V5Q29kZT1hLmtleUNvZGU/YS5rZXlDb2RlOmEud2hpY2g7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwodGhpcy50eXBlPT0ia2V5cHJlc3MiP3RoaXMua2V5Q29kZTowKTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1hLnBhZ2VYO3RoaXMubz1hLnBhZ2VZfX1jYXRjaChkKXt9fXByZXZlbnREZWZhdWx0KCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITEsdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCYmdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKX1zdG9wUHJvcGFnYXRpb24oKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpfXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJgoodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX07Xy5IYShlMCxfLmFlKTtlMC5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oYSl7YS5qPT09dm9pZCAwJiZiMChhKTt2YXIgYj1hLmo7YS5vPT09dm9pZCAwJiZiMChhKTt0aGlzLmo9bmV3IF8uZVYoYixhLm8pfTsKZTAucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXtpZih0aGlzLmope3ZhciBhPSgwLF8uZWwpKCk7aWYodGhpcy5CIT0wKXt2YXIgYj10aGlzLkksYz10aGlzLmosZD1iLngtYy54O2I9Yi55LWMueTtkPU1hdGguc3FydChkKmQrYipiKS8oYS10aGlzLkIpO3RoaXMub1t0aGlzLnZdPU1hdGguYWJzKChkLXRoaXMuRCkvdGhpcy5EKT4uNT8xOjA7Yj0wO2ZvcihjPTA7Yzw0O2MrKyliKz10aGlzLm9bY118fDA7Yj49MyYmdGhpcy5NKCk7dGhpcy5EPWR9dGhpcy5CPWE7dGhpcy5JPXRoaXMuajt0aGlzLnY9KHRoaXMudisxKSU0fX07ZTAucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5oYSk7eXJhKHRoaXMuWil9Owp2YXIgdDM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPXZvaWQgMDt0aGlzLmo9ITE7YS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixiPT57Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1ifSk7YS5hZGRFdmVudExpc3RlbmVyKCJhcHBpbnN0YWxsZWQiLCgpPT57dGhpcy5qPSEwfSx7b25jZTohMH0pfX0sZjA9MCx1MD17bmV4dDoid25fcyIsYnJvd3NlOiJicl9zIixzZWFyY2g6InNyX3MiLHJlZWw6InJfd3JzIixwbGF5ZXI6InBzX3MifSxScmE9e25leHQ6InduX3IiLGJyb3dzZToiYnJfciIsc2VhcmNoOiJzcl9yIixyZWVsOiJyX3dyciIscGxheWVyOiJwc19yIn0sbTA9e30sczA9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLAonbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciJdJzoicGMiLCdzY3JpcHRbbmFtZT0iZGVza3RvcF9wb2x5bWVyL2Rlc2t0b3BfcG9seW1lciJdJzoiZHBqIiwnbGlua1tyZWw9ImltcG9ydCJdW25hbWU9ImRlc2t0b3BfcG9seW1lciJdJzoiZHBoIiwnc2NyaXB0W25hbWU9Im1vYmlsZS1jMyJdJzoibWNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGUtYzMiXSc6Im1jYyIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy1waG9uZS9iYXNlIl0nOiJtY3BwaiIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy10YWJsZXQvYmFzZSJdJzoibWNwdGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwKJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0ibW9iaWxlX2JsYXplcl9jc3MiXSc6Im1iYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9pbl91c2Vyc19tb2QiXSc6Im1ibGl1aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9vdXRfdXNlcnNfbW9kIl0nOiJtYmxvdWoiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl9ub25jb3JlX21vZCJdJzoibWJuaiIsIiNwbGF5ZXJfY3NzIjoibWJwYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2Rlc2t0b3BwbGF5ZXJfbW9kIl0nOiJtYnBqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX3RhYmxldF9jc3MiXSc6Im1idGMiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSwKWTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWjE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sejA9e30sZDU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YT1hfHx7fTt2YXIgYj17fSxjPXt9O3RoaXMudXJsPWEudXJsfHwiIjt0aGlzLmFyZ3M9YS5hcmdzfHxVXyhiKTt0aGlzLmFzc2V0cz1hLmFzc2V0c3x8e307dGhpcy5hdHRycz1hLmF0dHJzfHxVXyhjKTt0aGlzLmZhbGxiYWNrPWEuZmFsbGJhY2t8fG51bGw7dGhpcy5mYWxsYmFja01lc3NhZ2U9YS5mYWxsYmFja01lc3NhZ2V8fG51bGw7dGhpcy5odG1sNT0hIWEuaHRtbDU7dGhpcy5kaXNhYmxlPWEuZGlzYWJsZXx8e307dGhpcy5sb2FkZWQ9ISFhLmxvYWRlZDt0aGlzLm1lc3NhZ2VzPWEubWVzc2FnZXN8fHt9fWNsb25lKCl7dmFyIGE9bmV3IGQ1O2ZvcihsZXQgYiBpbiB0aGlzKWlmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2xldCBjPXRoaXNbYl07Xy54YShjKT09CiJvYmplY3QiP2FbYl09VV8oYyk6YVtiXT1jfXJldHVybiBhfX0sRjA9e30sYnNhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMucGxheWVySWQ9Yjt0aGlzLndlYlBsYXllckNvbnRleHRDb25maWc9ZDt0aGlzLkViPXZvaWQgMDt0aGlzLkZhPSExO3RoaXMuYXBpPXt9O3RoaXMuaGE9dGhpcy5CPW51bGw7dGhpcy5NPW5ldyBfLnRoO3RoaXMuaj17fTt0aGlzLlo9dGhpcy5vYT10aGlzLmVsZW1lbnRJZD10aGlzLk1hPXRoaXMuY29uZmlnPW51bGw7dGhpcy5VPSExO3RoaXMudj10aGlzLkQ9bnVsbDt0aGlzLnlhPXt9O3RoaXMuZmM9WyJvblJlYWR5Il07dGhpcy5sYXN0RXJyb3I9bnVsbDt0aGlzLlFhPU5hTjt0aGlzLkk9e307dGhpcy5nYT0wO3RoaXMubz10aGlzLnRhcmdldEVsZW1lbnQ9YTtFWih0aGlzLHRoaXMuTSk7STAodGhpcyk7Yz90aGlzLmdhPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWROZXdWaWRlb0NvbmZpZyhjKX0sMCk6CmQmJihKMCh0aGlzKSxTMCh0aGlzKSl9Z2V0SWQoKXtyZXR1cm4gdGhpcy5wbGF5ZXJJZH1sb2FkTmV3VmlkZW9Db25maWcoYSl7aWYoIXRoaXMuaWEoKSl7dGhpcy5nYSYmKGNsZWFyVGltZW91dCh0aGlzLmdhKSx0aGlzLmdhPTApO3ZhciBiPWF8fHt9O2IgaW5zdGFuY2VvZiBkNXx8KGI9bmV3IGQ1KGIpKTt0aGlzLmNvbmZpZz1iO3RoaXMuc2V0Q29uZmlnKGEpO1MwKHRoaXMpO3RoaXMuaXNSZWFkeSgpJiZUMCh0aGlzKX19c2V0Q29uZmlnKGEpe3RoaXMuTWE9YTt0aGlzLmNvbmZpZz1QMChhKTtKMCh0aGlzKTt0aGlzLm9hfHwodGhpcy5vYT1VMCh0aGlzLHRoaXMuY29uZmlnLmFyZ3M/LmpzYXBpY2FsbGJhY2t8fCJvbllvdVR1YmVQbGF5ZXJSZWFkeSIpKTt0aGlzLmNvbmZpZy5hcmdzP3RoaXMuY29uZmlnLmFyZ3MuanNhcGljYWxsYmFjaz1udWxsOnRoaXMuY29uZmlnLmFyZ3M9e2pzYXBpY2FsbGJhY2s6bnVsbH07aWYodGhpcy5jb25maWc/LmF0dHJzKXthPXRoaXMuY29uZmlnLmF0dHJzOwpsZXQgYj1hLndpZHRoO2ImJnRoaXMubyYmKHRoaXMuby5zdHlsZS53aWR0aD1YXyhOdW1iZXIoYil8fGIpKTsoYT1hLmhlaWdodCkmJnRoaXMubyYmKHRoaXMuby5zdHlsZS5oZWlnaHQ9WF8oTnVtYmVyKGEpfHxhKSl9fWlzUmVhZHkoKXtyZXR1cm4gdGhpcy5GYX1hZGRFdmVudExpc3RlbmVyKGEsYil7dGhpcy5pYSgpO3ZhciBjPVUwKHRoaXMsYik7YyYmKF8uc2IodGhpcy5mYyxhKT49MHx8dGhpcy5qW2FdfHwoYj1hc2EodGhpcyxhKSx0aGlzLkImJnRoaXMuQihhLGIpKSx0aGlzLk0uc3Vic2NyaWJlKGEsYyksYT09PSJvblJlYWR5IiYmdGhpcy5pc1JlYWR5KCkmJnNldFRpbWVvdXQoKCk9PntjKHRoaXMuYXBpKX0sMCkpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKXt0aGlzLmlhKCl8fChiPVUwKHRoaXMsYikpJiZ0aGlzLk0udW5zdWJzY3JpYmUoYSxiKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIHRoaXMuWnx8KEwwKHRoaXMpPyJodG1sNSI6bnVsbCl9Z2V0TGFzdEVycm9yKCl7cmV0dXJuIHRoaXMubGFzdEVycm9yfWNhbmNlbCgpe3RoaXMuRCYmCkcwKFEwKHRoaXMpLHRoaXMuRCk7Y2xlYXJUaW1lb3V0KHRoaXMuUWEpO3RoaXMuVT0hMX1sYSgpe04wKHRoaXMpO2lmKHRoaXMudiYmdGhpcy5jb25maWcmJnRoaXMudi5kZXN0cm95KXRyeXt0aGlzLnYuZGVzdHJveSgpfWNhdGNoKGIpe3ZhciBhPW5ldyBfLlhqKCJQbGF5ZXJQcm94eSBlcnJvciBkdXJpbmcgZGlzcG9zYWwiLHtlcnJvcjpifSk7YS5sZXZlbD0iRVJST1IiO3Rocm93IGE7fXRoaXMueWE9bnVsbDtmb3IoYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5qW2FdO3RoaXMuTWE9dGhpcy5jb25maWc9dGhpcy5hcGk9bnVsbDtkZWxldGUgdGhpcy50YXJnZXRFbGVtZW50O2RlbGV0ZSB0aGlzLm87c3VwZXIubGEoKX19LFcwPXt9LHh0YT17U0M6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1VOS05PV04iLFBDOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIixSQzoiRU1CRURERURfUExBWUVSX01PREVfUEZQIixRQzoiRU1CRURERURfUExBWUVSX01PREVfUEZMIn07dmFyIGgxPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9RXJyb3IoKSl7c3VwZXIoKTt0aGlzLmNvZGU9YTtiKz0iOiI7YyBpbnN0YW5jZW9mIEVycm9yPyh0aGlzLm1lc3NhZ2U9YitjLm1lc3NhZ2UsdGhpcy5zdGFjaz1jLnN0YWNrfHwiIik6KHRoaXMubWVzc2FnZT1iK1N0cmluZyhjKSx0aGlzLnN0YWNrPSIiKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgZTE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy52bT1hO3RoaXMubz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTt0aGlzLmo9dm9pZCAwO3RoaXMuQ2c9dGhpcy52bS5wO3RoaXMudj10aGlzLkloLmJpbmQodGhpcyk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBoc2EodGhpcykpfXNuYXBzaG90KGEpe3JldHVybiB0aGlzLnZtLnMoey4uLihhLktjJiZ7YzphLktjfSksCi4uLihhLllqJiZ7czphLllqfSksLi4uKGEueG4hPT12b2lkIDAmJntwOmEueG59KX0pfUloKGEpe3RoaXMudm0uZShhKX1CaShhLGIpe3JldHVybiB0aGlzLnZtLmMoYSxiLCExKX1WaCgpe3JldHVybiB0aGlzLnZtLmwoKX19O3ZhciBzdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhhPTF9c2hhcmUoKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoImplIik7dGhpcy5oYSsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuaGF8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciB0dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWE7SzEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsbTEoIm1rIikpfXJlY29yZChhLGIpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIpfX0sdXZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLG0xKCJtbiIpLGwxKCJhYyIpLGwxKCJzYyIpLG0xKCJyayIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMsZCxlLGYpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLGEsYixjLGQsZSxmKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIil9fSx2dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52PWE7TTEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2VjIixtMSgiZW4iKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwKIi9jbGllbnRfc3RyZWFtei9iZy9lYyIsYSxiKX1qKCl7cmV0dXJuIHRoaXMudi5qKCIvY2xpZW50X3N0cmVhbXovYmcvZWMiKX19LHd2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvZWwiLG0xKCJlbiIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYSxiLGMpfWooKXtyZXR1cm4gdGhpcy5vLmooIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0seHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLGwxKCJlYyIpLG0xKCJtayIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LHl2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIiwKbDEoImNzIiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0senZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixtMSgiYXYiKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LEF2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsbTEoInN1IiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxCdmE9CmNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixtMSgibWsiKSl9cmVjb3JkKGEsYil7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiKX19LEN2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbTEoImV0IiksbTEoIm1rIikpfXJlY29yZChhLGIsYyl7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGEsYixjKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIpfX07dmFyIE1zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgcnNhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHExPVsxLDIsM107dmFyIG9zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxwMT1bMSwyLDNdO3ZhciBwc2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIER2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRXZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGU1PVsxLDIsM107dmFyIG4xPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O24xLnByb3RvdHlwZS52PV8ucHooWzAsJDQsWzAsZTUsYTUsWzAsJDQsLTEsXy54el0sYTUsWzAsJDQsLTEsWjQsXy54el0sYTUsWzAsJDRdXSxsdmEsXy55eixbMCxfLnl6LFswLHExLG12YSxndmEsa3ZhXSxbMCxwMSxmdmEsZXZhLGE1LFswLF8ueXosWzAsVjQsWDRdXV1dLGl2YSxqdmFdKTt2YXIgRnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBHdmE9Y2xhc3N7YXN5bmMgY29tcHJlc3MoYSl7dmFyIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX1pc1N1cHBvcnRlZChhKXtyZXR1cm4gYTwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIGY1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLmo9KCk9Pl8uRWEoKTt0aGlzLm89dGhpcy5qKCl9c2V0SW50ZXJ2YWwoYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfXN0YXJ0KCl7dGhpcy5lbmFibGVkPSEwO3RoaXMudGltZXJ8fCh0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zKSx0aGlzLm89dGhpcy5qKCkpfXN0b3AoKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9dGljaygpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9TWF0aC5tYXgodGhpcy5qKCktdGhpcy5vLDApO2E8dGhpcy5pbnRlcnZhbE1zKi44P3RoaXMudGltZXI9CnNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWEpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBIdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIEl2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1XaSgpe3JldHVybiBLXyh0aGlzKX19O3ZhciB0c2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHgxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdzYT1TXyh4MSk7dmFyIEExPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB0MT1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sczE9bmV3IHgxLHUxPW51bGw7dmFyIHoxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBLdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNCl9fTt2YXIgZzU9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMzcpfX07dmFyIEx2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9VWgoYSl7cmV0dXJuIENaKHRoaXMsMixhKX19O3ZhciBNdmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLnlkPWI7dGhpcy52PXRoaXMubG9jYWxlPW51bGw7dGhpcy5vPTA7dGhpcy5pc0ZpbmFsPSExO3RoaXMuaj1uZXcgTHZhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuai5VaChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt5MSh0aGlzLG5ldyB6MSl9VWgoYSl7dGhpcy5qLlVoKGEpO3JldHVybiB0aGlzfWJ1aWxkKGEsYj0wLGM9MCxkPW51bGwsZT0wLGY9MCl7aWYoIXRoaXMueWQpe3ZhciBoPXcxKHRoaXMpO3ZhciBrPW5ldyBKdmE7az1DWihrLDEsdGhpcy5vKTtrPV8ucXcoaywyLF8ueHcodGhpcy5pc0ZpbmFsKSk7Yz1fLnF3KGssMyxfLlB3KGM+MD9jOnZvaWQgMCkpO2U9Xy5xdyhjLDQsXy5QdyhlPjA/ZTp2b2lkIDApKTtmPV8ucXcoZSw1LF8uUHcoZj4wP2Y6dm9pZCAwKSk7ZT1mLkRhO2M9ZVtfLkFjXXwwO2Y9Xy5CYyhmLGMpP2Y6Xy4kYyhmLAplLGMpP18uYmQoZixlKTpuZXcgZi5jb25zdHJ1Y3RvcihfLlpjKGUsYywhMCkpO18uS3coaCwxMCxmKX1oPXRoaXMuai5jbG9uZSgpO2Y9RGF0ZS5ub3coKS50b1N0cmluZygpO2g9Xy5xdyhoLDQseV8oZikpO2E9YS5zbGljZSgpO2E9SF8oaCwzLGEpO2QmJihoPW5ldyBIdmEsZD1fLnF3KGgsMTMsXy5QdyhkKSksaD1uZXcgSXZhLGQ9Xy5LdyhoLDIsZCksaD1uZXcgS3ZhLGQ9Xy5LdyhoLDEsZCksZD1DWihkLDIsOSksXy5LdyhhLDE4LGQpKTtiJiZfLnF3KGEsMTQseV8oYikpO3JldHVybiBhfX07QjEucHJvdG90eXBlLnY9MDtCMS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMuQjt0aGlzLnY9MH07dmFyIFU0PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDgpfX0sTnZhPVNfKFU0KTt2YXIgaDU7aDU9bmV3IGR2YShjbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE92YT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmNvbXBvbmVudElkPSIiO3RoaXMuaj1bXTt0aGlzLlFhPSIiO3RoaXMucGFnZUlkPW51bGw7dGhpcy5FYj10aGlzLm9hPS0xO3RoaXMuTT10aGlzLmV4cGVyaW1lbnRJZHM9bnVsbDt0aGlzLmdhPXRoaXMuaGE9dGhpcy5JPXRoaXMuQj0wO3RoaXMuZmM9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLnlhPSExO3RoaXMubG9nU291cmNlPWEubG9nU291cmNlO3RoaXMuU2Y9YS5TZnx8KCgpPT57fSk7dGhpcy52PW5ldyBNdmEoYS5sb2dTb3VyY2UsYS55ZCk7dGhpcy5uZXR3b3JrPWEubmV0d29ya3x8bnVsbDt0aGlzLmxmPWEubGZ8fG51bGw7dGhpcy5idWZmZXJTaXplPTFFMzt0aGlzLlU9YS50Qnx8bnVsbDt0aGlzLnNlc3Npb25JbmRleD1hLnNlc3Npb25JbmRleHx8bnVsbDt0aGlzLlpnPWEuWmd8fCExO3RoaXMuWD1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLm5sO3RoaXMueWQ9CmEueWR8fCExO3RoaXMuWj0hdGhpcy55ZCYmISFfLnpkKCkmJiEhXy56ZCgpLm5hdmlnYXRvciYmXy56ZCgpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuTWE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKEQxKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoRDEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGI9djEobmV3IHoxKTt5MSh0aGlzLnYsYik7dGhpcy5EPW5ldyBCMSgxRTQsM0U1LC4xKTthPXlzYSh0aGlzLGEuTm8pO3RoaXMubz1uZXcgZjUodGhpcy5ELmosYSk7dGhpcy5GYT1uZXcgZjUoNkU1LGEpO3RoaXMuWmd8fHRoaXMuRmEuc3RhcnQoKTt0aGlzLnlkfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmRTEodGhpcyl9KSxfLnpkKCk/LmFkZEV2ZW50TGlzdGVuZXI/LigicGFnZWhpZGUiLCgpPT4Ke0UxKHRoaXMpfSkpfWxhKCl7RTEodGhpcyk7dGhpcy5vLnN0b3AoKTt0aGlzLkZhLnN0b3AoKTtzdXBlci5sYSgpfWRpc3BhdGNoKGEpe2lmKGEgaW5zdGFuY2VvZiBnNSl0aGlzLmxvZyhhKTtlbHNlIHRyeXt2YXIgYj1uZXcgZzUsYz1hLnNlcmlhbGl6ZSgpO3ZhciBkPUJaKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLk1hKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLmZjKys7YT1fLnF3KGEsMjEseV8oYikpO3RoaXMuY29tcG9uZW50SWQmJkJaKGEsMjYsdGhpcy5jb21wb25lbnRJZCk7Yj1hO3t2YXIgYz1fLmVkKGIsMSk7bGV0IGQ9dHlwZW9mIGM7Yz1jPT1udWxsP2M6ZD09PSJiaWdpbnQiP1N0cmluZygoMCxfLnRyKSg2NCxjKSk6cl8oYyk/ZD09PSJzdHJpbmciP3VfKGMpOnZfKGMpOnZvaWQgMH1jPT1udWxsJiYoYz1EYXRlLm5vdygpLGM9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCIsXy5xdyhiLDEseV8oYykpKTtjPV8uZWQoYiwKMTUsdm9pZCAwLHZvaWQgMCx6Xyk7YyE9bnVsbCYmKHR5cGVvZiBjPT09ImJpZ2ludCI/KDAsXy5NYykoYyk/Yz1OdW1iZXIoYyk6KGM9KDAsXy50cikoNjQsYyksYz0oMCxfLk1jKShjKT9OdW1iZXIoYyk6U3RyaW5nKGMpKTpjPXJfKGMpP3R5cGVvZiBjPT09Im51bWJlciI/dl8oYyk6dV8oYyk6dm9pZCAwKTtjPT1udWxsJiZfLnF3KGIsMTUseV8oKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYz10aGlzLmV4cGVyaW1lbnRJZHMuY2xvbmUoKSxfLkt3KGIsMTYsYykpO2I9dGhpcy5qLmxlbmd0aC10aGlzLmJ1ZmZlclNpemUrMTtiPjAmJih0aGlzLmouc3BsaWNlKDAsYiksdGhpcy5CKz1iKTt0aGlzLmoucHVzaChhKTt0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCl9fWZsdXNoKGEsYil7aWYodGhpcy5qLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy55YSYmdGhpcy5aKXRoaXMudi5vPTMsQXNhKHRoaXMpOwplbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5FYj5jJiZ0aGlzLm9hPGMpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLldpPT09ImZ1bmN0aW9uIj92c2EodGhpcy52LHRoaXMubmV0d29yay5XaSgpKTp0aGlzLnYubz0wKTt2YXIgZD10aGlzLnYuYnVpbGQodGhpcy5qLHRoaXMuQix0aGlzLkksdGhpcy5sZix0aGlzLmhhLHRoaXMuZ2EpLGU9dGhpcy5TZigpO2lmKGUmJnRoaXMuUWE9PT1lKWImJmIoInN0YWxlLWF1dGgtdG9rZW4iKTtlbHNle3RoaXMuaj1bXTt0aGlzLm8uZW5hYmxlZCYmdGhpcy5vLnN0b3AoKTt0aGlzLkI9MDtjPWQuc2VyaWFsaXplKCk7bGV0IGY7dGhpcy5NJiZ0aGlzLk0uaXNTdXBwb3J0ZWQoYy5sZW5ndGgpJiYoZj10aGlzLk0uY29tcHJlc3MoYykpO2xldCBoPUJzYSh0aGlzLGMsZSksaz1uPT57dGhpcy5ELnJlc2V0KCk7dGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKTtpZihuKXt2YXIgcD0KbnVsbDt0cnl7dmFyIHI9SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShuLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cD1OdmEocil9Y2F0Y2godil7fWlmKHApe249TnVtYmVyKElfKHAsMSxfLkZjKCItMSIpKSk7bj4wJiYodGhpcy5vYT1EYXRlLm5vdygpLHRoaXMuRWI9dGhpcy5vYStuKTtuPWg1Lmo7KHI9Xy5HYShfLkpjKSkmJnAuRGFbcl0/LltuXSE9bnVsbCYmXy54YyhfLmpyLDMpO249aDUuajtpZihfLkdhKF8ubHIpJiZfLkdhKF8uSmMpJiZ2b2lkIDA9PT1fLmxyKXtyPXAuRGE7dmFyIHQ9cltfLkpjXTtpZih0JiYodD10LkZLKSl0cnl7dChyLG4sY3ZhKX1jYXRjaCh2KXtfLiRiKHYpfX1wPWg1LmN0b3I/aDUubyhwLGg1LmN0b3IsaDUuaixoNS52KTpoNS5vKHAsaDUuaixudWxsLGg1LnYpO2lmKHA9cD09PW51bGw/dm9pZCAwOnApcD1fLnR4KHAsMSwtMSkscCE9PS0xJiYodGhpcy5EPW5ldyBCMShwPDE/MTpwLDNFNSwuMSksdGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKSl9fWEmJgphKCk7dGhpcy5JPTB9LGw9KG4scCk9Pnt2YXIgcj1HXyhkLGc1LDMpO3ZhciB0PU51bWJlcihJXyhkLDE0KSk7QzEodGhpcy5EKTt0aGlzLm8uc2V0SW50ZXJ2YWwodGhpcy5ELmopO249PT00MDEmJmUmJih0aGlzLlFhPWUpO3QmJih0aGlzLkIrPXQpO3A9PT12b2lkIDAmJihwPXRoaXMuaXNSZXRyeWFibGUobikpO3AmJih0aGlzLmo9ci5jb25jYXQodGhpcy5qKSx0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIsbik7Kyt0aGlzLkl9LG09KCk9Pnt0aGlzLm5ldHdvcmsmJnRoaXMubmV0d29yay5zZW5kKGgsayxsKX07Zj9mLnRoZW4obj0+e2guT2pbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5PalsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PW47aC5HdT0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19aXNSZXRyeWFibGUoYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fAphPT09MH19O3ZhciBQdmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnB1PXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT0idW5kZWZpbmVkIn1hc3luYyBzZW5kKGEsYixjKXt2YXIgZD10aGlzLnB1P25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwLGU9ZCYmYS50aW1lb3V0TWlsbGlzPjA/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS50aW1lb3V0TWlsbGlzKTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5hLk9qfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZkP2Quc2lnbmFsOm51bGx9KTtmLnN0YXR1cz09PTIwMD9iPy4oYXdhaXQgZi50ZXh0KCkpOmM/LihmLnN0YXR1cyl9Y2F0Y2goZil7c3dpdGNoKGY/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOmM/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6Yz8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGUpfX1XaSgpe3JldHVybiA0fX07dmFyIFMxPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5OZT0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5qPXRoaXMubGY9bnVsbDt0aGlzLm89ITE7dGhpcy5wYWdlSWQ9bnVsbDt0aGlzLmJ1ZmZlclNpemU9dm9pZCAwO3RoaXMuWD1udWxsfW5sKCl7dGhpcy52PSEwO3JldHVybiB0aGlzfWJ1aWxkKCl7dGhpcy5uZXR3b3JrfHwodGhpcy5uZXR3b3JrPW5ldyBQdmEpO3ZhciBhPW5ldyBPdmEoe2xvZ1NvdXJjZTp0aGlzLmxvZ1NvdXJjZSxTZjp0aGlzLlNmP3RoaXMuU2Y6Xy5QZCxzZXNzaW9uSW5kZXg6dGhpcy5zZXNzaW9uSW5kZXgsdEI6dGhpcy5OZSx5ZDohMSxaZzohMSxubDp0aGlzLnYsTm86dGhpcy5ObyxuZXR3b3JrOnRoaXMubmV0d29ya30pOwpFWih0aGlzLGEpO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIGI9dGhpcy5idWlsZExhYmVsLGM9dzEoYS52KTtCWihjLDcsYil9YS5NPW5ldyBHdmE7dGhpcy5jb21wb25lbnRJZCYmKGEuY29tcG9uZW50SWQ9dGhpcy5jb21wb25lbnRJZCk7dGhpcy5sZiYmKGEubGY9dGhpcy5sZik7dGhpcy5wYWdlSWQmJihhLnBhZ2VJZD10aGlzLnBhZ2VJZCk7dGhpcy5qJiYoKGM9dGhpcy5qKT8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBxdmEpLGI9YS5leHBlcmltZW50SWRzLGM9Yy5zZXJpYWxpemUoKSxCWihiLDQsYykpOmEuZXhwZXJpbWVudElkcyYmXy5xdyhhLmV4cGVyaW1lbnRJZHMsNCkpO3RoaXMubyYmKGEueWE9YS5aKTt4c2EoYS52KTt0aGlzLmJ1ZmZlclNpemUmJihhLmJ1ZmZlclNpemU9dGhpcy5idWZmZXJTaXplKTt0aGlzLm5ldHdvcmsuVWgmJnRoaXMubmV0d29yay5VaCh0aGlzLmxvZ1NvdXJjZSk7dGhpcy5uZXR3b3JrLmlBJiZ0aGlzLm5ldHdvcmsuaUEoYSk7CnJldHVybiBhfX07dmFyIE5zYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7YXx8KGE9bmV3IFMxLGEuY29tcG9uZW50SWQ9IiIsRVoodGhpcyxhKSxhPWEuYnVpbGQoKSk7dGhpcy5qPWF9Zmx1c2goYSl7YT1hfHxbXTtpZihhLmxlbmd0aCl7bGV0IGI9bmV3IEZ2YSxjPVtdO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdLGY9cjEoZSk7Yy5wdXNoKGYpO2UuY2xlYXIoKX1IXyhiLDEsYyk7dGhpcy5qLmRpc3BhdGNoKGIpO3RoaXMuai5mbHVzaCgpfX19O3ZhciBIMT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBpNT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5maWVsZHM9Y3x8W107dGhpcy5qPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmouY2xlYXIoKX19O3ZhciBMMT1jbGFzcyBleHRlbmRzIGk1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSwzLGIpfX07dmFyIEoxPWNsYXNzIGV4dGVuZHMgaTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLDIsYil9cmVjb3JkKGEsLi4uYil7SHNhKHRoaXMsYSwuLi5iKX19O3ZhciBUMT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlo9YTt0aGlzLkk9MDt0aGlzLkI9MTAwO3RoaXMuTT0hMTt0aGlzLnY9bmV3IE1hcDt0aGlzLlU9bmV3IFNldDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMubz1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuby5saXN0ZW4oInRpY2siLHRoaXMuRCwhMSx0aGlzKTtFWih0aGlzLHRoaXMubyl9c2VuZElzb2xhdGVkUGF5bG9hZChhKXt0aGlzLk09YTt0aGlzLkI9MX1EKCl7dmFyIGE9Wy4uLnRoaXMudi52YWx1ZXMoKV0uZmlsdGVyKGI9PmIuai5zaXplKTthLmxlbmd0aCYmdGhpcy5aLmZsdXNoKGEsdGhpcy5NKTtLc2EoYSk7dGhpcy5JPTA7dGhpcy5vLmVuYWJsZWQmJnRoaXMuby5zdG9wKCl9aihhKXtyZXR1cm4gdGhpcy5VLmhhcyhhKT92b2lkIDA6dGhpcy52LmdldChhKX1yZWNvcmQoYSxiLC4uLmMpeyhhPXRoaXMuaihhKSkmJmEgaW5zdGFuY2VvZiBKMSYmKGEucmVjb3JkKGIsCi4uLmMpLE4xKHRoaXMpKX19O3ZhciBzMj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5jb2RlPWE7dGhpcy5tZXRhZGF0YT17fTt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtMc2EodGhpcy5jb2RlKXx8U3RyaW5nKHRoaXMuY29kZSl9KWA7dGhpcy5tZXNzYWdlJiYoYSs9IjogIit0aGlzLm1lc3NhZ2UpO3JldHVybiBhfX07dmFyIERzYT1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18ubHkoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7aWYoZC5pc1N1Y2Nlc3MoKSl7dHJ5e3ZhciBlPWQucmE/ZC5yYS5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goZil7ZT0iIn1iKGUpfWVsc2UgYyhfLlJ4KGQpKX0sYS5yZXF1ZXN0VHlwZSxhLmJvZHksYS5PaixhLnRpbWVvdXRNaWxsaXMsYS53aXRoQ3JlZGVudGlhbHMpfVdpKCl7cmV0dXJuIDF9fTt2YXIgajU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9YTt0aGlzLmV2ZW50PWI7dGhpcy5zdGFydFRpbWU9UTEoKX1kb25lKCl7dGhpcy5YLnYodGhpcy5ldmVudCxRMSgpLXRoaXMuc3RhcnRUaW1lKX19LGs1PWNsYXNzIGV4dGVuZHMgc3Zhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKX19LFNzYT1jbGFzcyBleHRlbmRzIGs1e0IoKXt9aigpe312KCl7fUpiKCl7fU0oKXt9SSgpe31vKCl7fVooKXt9RCgpe31VKCl7fX0sUXZhPWNsYXNzIGV4dGVuZHMgazV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHRoaXMuWC5kaXNwb3NlKCkpfXVwZGF0ZShhKXt0aGlzLlguZGlzcG9zZSgpO3RoaXMuWD1hfWooYSl7dGhpcy5YLmooYSl9dihhLGIpe3RoaXMuWC52KGEsYil9SmIoYSl7dGhpcy5YLkpiKGEpfU0oYSl7dGhpcy5YLk0oYSl9SShhLGIpe3RoaXMuWC5JKGEsYil9bygpe3RoaXMuWC5vKCl9WihhKXt0aGlzLlguWihhKX1EKGEpe3RoaXMuWC5EKGEpfVUoYSl7dGhpcy5YLlUoYSl9QihhKXt0aGlzLlguQihhKX19LApSdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNhbGxiYWNrPWE7dGhpcy5vPWI7dGhpcy5qPS1iO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKX19LFN2YT1jbGFzcyBleHRlbmRzIGs1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLm1ldHJpY3M9YTt0aGlzLm1iPWJ9QihhKXt0aGlzLm1ldHJpY3MuQUEucmVjb3JkKGEsdGhpcy5tYil9aihhKXt0aGlzLm1ldHJpY3MuZXZlbnRDb3VudC5vKGEsdGhpcy5tYil9dihhLGIpe3RoaXMubWV0cmljcy5Odi5yZWNvcmQoYixhLHRoaXMubWIpfUpiKGEpe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lm8oYSx0aGlzLm1iKX1aKGEpe3RoaXMubWV0cmljcy5KQi5vKGEsdGhpcy5tYil9RChhKXt0aGlzLm1ldHJpY3MuSnUubyhhLHRoaXMubWIpfVUoYSl7dGhpcy5tZXRyaWNzLklCLm8oYSx0aGlzLm1iKX1NKGEpe3RoaXMubWV0cmljcy5wYXlsb2FkU2l6ZS5yZWNvcmQoYSwKdGhpcy5tYil9SShhLGIpe3RoaXMubWV0cmljcy5YeS5yZWNvcmQoYixhLHRoaXMubWIpfX0sUXNhPWNsYXNzIGV4dGVuZHMgU3Zhe2NvbnN0cnVjdG9yKGEsYj1bXSl7dmFyIGM9e21iOmEubWJ8fCJfIix6bDphLnpsfHxbXSxubTphLm5tfDAsTmU6YS5OZSxGajphLkZqfHwoKCk9Pnt9KSxJZzphLklnfHwoKGUsZik9Pk9zYShlLGYsYy5GaixjLk5lKSl9LGQ9Yy5JZygiNTMiLGMuemwuY29uY2F0KGIpKTtzdXBlcih7QUE6bmV3IHR2YShkKSxlcnJvckNvdW50Om5ldyB4dmEoZCksZXZlbnRDb3VudDpuZXcgdnZhKGQpLE52Om5ldyB3dmEoZCkseUw6bmV3IHV2YShkKSxKQjpuZXcgeXZhKGQpLEp1Om5ldyB6dmEoZCksSUI6bmV3IEF2YShkKSxwYXlsb2FkU2l6ZTpuZXcgQnZhKGQpLFh5Om5ldyBDdmEoZCl9LGMubWIpO3RoaXMub3B0aW9ucz1jO3RoaXMuc2VydmljZT1kO3RoaXMub2E9IWEuSWc7dGhpcy5nYT1uZXcgUnZhKCgpPT52b2lkIHRoaXMuc2VydmljZS5EKCksYy5ubSk7CnRoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9Pnt0aGlzLmdhLmRpc3Bvc2UoKTt0aGlzLm9hJiZ0aGlzLnNlcnZpY2UuZGlzcG9zZSgpfSk7Yi5zbGljZSgpLnNvcnQobHJhKX1vKCl7UHNhKHRoaXMuZ2EpfX07dmFyIFIyPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDAsUjIubWVzc2FnZUlkKX19LFR2YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSYmIV8uQmMoYikpfShSMik7UjIubWVzc2FnZUlkPSJiZmtqIjt2YXIgaTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGw1PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFV2YT1TXyhsNSk7dmFyIGQyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMudj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKTt0aGlzLmo9bmV3IGw1O2lmKCJjaGFsbGVuZ2UiaW4gYSYmVHZhKGEuY2hhbGxlbmdlKSl7dmFyIGI9Sl8oYS5jaGFsbGVuZ2UsNCx2b2lkIDAsXy53eik7dmFyIGM9Sl8oYS5jaGFsbGVuZ2UsNSx2b2lkIDAsXy53eik7Sl8oYS5jaGFsbGVuZ2UsNyx2b2lkIDAsXy53eikmJih0aGlzLmo9VXZhKEpfKGEuY2hhbGxlbmdlLDcsdm9pZCAwLF8ud3opKSl9ZWxzZSh7cHJvZ3JhbTpiLGdsb2JhbE5hbWU6Y309YSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjayhhc3luYygpPT57dmFyIHt1QTpufT1hd2FpdCB0aGlzLm87bj8uKCl9KTt0aGlzLlg9VTEoYS5uZ3x8e30sdGhpcy5qKTtFWih0aGlzLHRoaXMuWCk7dmFyIGQ9bmV3IF8uY3M7dGhpcy5vPWQucHJvbWlzZTt0aGlzLlguaigidCIpO3ZhciBlPXRoaXMuWC5zaGFyZSgpLGY9bmV3IGo1KGUsCiJ0IiksaD0obixwLHIsdCk9PntpZighdGhpcy5YLmlhKCkpe3ZhciB2PSJrIjtwP3Y9ImgiOnImJih2PSJ1Iik7diE9PSJrIj90IT09MCYmKHRoaXMuWC5qKHYpLHRoaXMuWC52KHYsbikpOnRoaXMudjw9MD8odGhpcy5YLmoodiksdGhpcy5YLnYodixuKSx0aGlzLnY9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIwMCkpOnRoaXMudi0tfX0saz0obixwLHIsdCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Zi5kb25lKCk7ZS5vKCk7ZS5kaXNwb3NlKCk7ZC5yZXNvbHZlKHt5dTpuLHVBOnAsQXo6cixOdTp0fSl9KX0sbD1bKG4scCk9Pnt0aGlzLlgudihuLHApfSxuPT57dGhpcy5YLkpiKG4pfSxuPT57dGhpcy5YLk0obil9LChuLHApPT57dGhpcy5YLkkobixwKX1dO2lmKCFfLnVbY10pdGhyb3cgdGhpcy5YLkpiKDI1KSxFcnJvcigibmUiKTtpZighXy51W2NdLmEpdGhyb3cgdGhpcy5YLkpiKDI2KSxFcnJvcigib2UiKTt0cnl7bGV0IG49Xy51W2NdLmE7Yz1bXTtsZXQgcD0KW107dmFyIG09ajEodGhpcy5qKTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyljLnB1c2gobVt2XSkscC5wdXNoKDEpO2xldCByPWxzYSh0aGlzLmopO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspYy5wdXNoKHJbbV0pLHAucHVzaCgyKTtsZXQgW3RdPW4oYixrLCEwLGEuRnMsaCxbYyxwXSxKXyh0aGlzLmosNSksITEsbCk7dGhpcy5CPXQ7dGhpcy5DZz1kLnByb21pc2UudGhlbigoKT0+e30pfWNhdGNoKG4pe3Rocm93IHRoaXMuWC5KYigyOCksbjt9fXNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLlguaigibiIpO3ZhciBiPXRoaXMuWC5zaGFyZSgpO3JldHVybiB0aGlzLm8udGhlbigoe3l1OmN9KT0+bmV3IFByb21pc2UoZD0+e3ZhciBlPW5ldyBqNShiLCJuIik7YyhmPT57ZS5kb25lKCk7Yi5CKGYubGVuZ3RoKTtiLm8oKTtiLmRpc3Bvc2UoKTtkKGYpfSxbYS5LYyxhLllqLGEuSXMsYS54bl0pfSkpfVhyKGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTsKdGhpcy5YLmooIm4iKTt2YXIgYj1SMSh0aGlzLlgsKCk9PnRoaXMuQihbYS5LYyxhLllqLGEuSXMsYS54bl0pLCJuIik7dGhpcy5YLkIoYi5sZW5ndGgpO3RoaXMuWC5vKCk7cmV0dXJuIGJ9SWgoYSl7dGhpcy5vLnRoZW4oKHtBejpifSk9PntiPy4oYSl9KX1CaShhLGIpe3JldHVybiB0aGlzLm8udGhlbigoe051OmN9KT0+Yz8uKGEsYiwhMSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX07dmFyIFYxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5wcm9taXNlcz17fTt0aGlzLmo9bnVsbH19O3ZhciBsdWE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHEyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuST1uZXcgXy5jczt0aGlzLkNnPXRoaXMuSS5wcm9taXNlO3RoaXMuRD1uZXcgXy5jczt0aGlzLlo9MTt0aGlzLnY9bmV3IF8uY3M7dGhpcy5CPVtdO3RoaXMuaXNQYXVzZWQ9ITE7dGhpcy5Haj1hLkdqfHwoKCk9Pnt9KTt0aGlzLlg9bmV3IFF2YShVMShhLm5nfHx7fSkpO2F0YSh0aGlzLGEub2QsYS5zeCxhLkhLLGEuTkssey4uLlZ2YSwuLi4oYS5MZ3x8e30pfSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBidGEodGhpcykpfWFzeW5jIHNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLm98fHRoaXMuTXx8YXdhaXQgdGhpcy5ELnByb21pc2U7aWYodGhpcy5vKXJldHVybiBhd2FpdCB0aGlzLm8uc25hcHNob3QoYSk7dGhyb3cgdGhpcy5NO31wYXVzZSgpe3RoaXMuaWEoKXx8dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9CiEwLHRoaXMuaiYmdGhpcy5qLnBhdXNlKCkpfXJlc3VtZSgpeyF0aGlzLmlhKCkmJnRoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMuaiYmdGhpcy5qLnJlc3VtZSgpKX1hc3luYyBjaGVja0ZvclJlZnJlc2goKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoInBlIik7aWYodGhpcy5qKXt2YXIgYT10aGlzLmo7YS5pc0V4cGlyZWQoKT8oZzIoYSksYS5RaCgwKSxhPSEwKTphPSExO2EmJmF3YWl0IHRoaXMudi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy52LnByb21pc2V9YXN5bmMgVSgpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLmo/Lm8oKTthd2FpdCB0aGlzLnYucHJvbWlzZX1JaChhKXt0aGlzLm8/LkloPy4oYSl9QmkoYSxiKXtyZXR1cm4gdGhpcy5vPy5CaT8uKGEsYik/P1Byb21pc2UucmVzb2x2ZSgpfWhhbmRsZUVycm9yKGEpe3RoaXMuaWEoKXx8KHRoaXMuTT1hLHRoaXMuRC5yZXNvbHZlKCksdGhpcy5vcHRpb25zLkVqPy4oYSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX0sClZ2YT17RnI6NDMyRTUsZWs6M0U1LGxzOjEwLGF2OjFFNCxWdjozRTQscXk6M0U0LG1BOjZFNCxLdjoxRTMsSnY6NkU0LEx2OjZFNSxNdjouMjUsSXY6MixtYXhBdHRlbXB0czoxMH0sYzI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuZW5kVGltZU1zPTA7dGhpcy5qPW51bGw7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnRpY2s9KCk9PntpZighdGhpcy5pc1BhdXNlZCl7dmFyIGQ9dGhpcy5lbmRUaW1lTXMtRGF0ZS5ub3coKTtkPD10aGlzLnY/KHRoaXMuaj1udWxsLHRoaXMuUWgoMCkpOnRoaXMuaj1zZXRUaW1lb3V0KHRoaXMudGljayxNYXRoLm1pbihkLHRoaXMuZWspKX19O3RoaXMuZWs9Yjt0aGlzLnY9Yzt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZD0+e3RoaXMuUWg9ZH0pO2N0YSh0aGlzLGEpfXBhdXNlKCl7dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9ITAsZzIodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMudGljaygpKX1vKCl7ZzIodGhpcyk7CnRoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlFoKDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIGR0YT1NYXRoLmltdWw/PygoYSxiKT0+YSpifDApLGoyPVsxOTYsMjAwLDIyNCwxOF0sbTI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPTAsYz1bXSl7dGhpcy5tYXhJdGVtcz1hO3RoaXMuaj1iO3RoaXMubz1jfXNlcmlhbGl6ZSgpe3JldHVybiBTdHJpbmcodGhpcy5qKSsiLCIrdGhpcy5vLmpvaW4oKX1yYihhLGIpe3ZhciBjPXZvaWQgMDtpZih0aGlzLm9bdGhpcy5qXSE9PWEpe2xldCBkPXRoaXMuby5pbmRleE9mKGEpO2QhPT0tMT8odGhpcy5vLnNwbGljZShkLDEpLGQ8dGhpcy5qJiZ0aGlzLmotLSx0aGlzLm8uc3BsaWNlKHRoaXMuaiwwLGEpKTooYz10aGlzLm9bdGhpcy5qXSx0aGlzLm9bdGhpcy5qXT1hKX10aGlzLmo9KHRoaXMuaisxKSV0aGlzLm1heEl0ZW1zO2E9aDIoImlVNXEtIU85QCQiLHRoaXMuc2VyaWFsaXplKCkpO2MmJmEmJmIoYyk7cmV0dXJuIGF9fSxpc2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9Yjt0cnl7dmFyIGM9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmISFnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW19Y2F0Y2goZCl7Yz0hMX1jJiYodGhpcy5pbmRleD1ndGEoYSkpfWooYSxiLGMsZCl7dmFyIGU9dGhpcy5pbmRleD9SMSh0aGlzLlgsKCk9PmV0YSh0aGlzLmluZGV4LGsyKGEpLGIsYyxkKSwiVyIpOiJ1Ijt0aGlzLlguVShlKX1vKGEsYil7dmFyIFtjLGRdPXRoaXMuaW5kZXg/UjEodGhpcy5YLCgpPT5mdGEoazIoYSksYiksIlIiKTpbInUiXTt0aGlzLlguRChjKTtyZXR1cm4gZH19O3ZhciBtNT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLnY9bmV3IF8uY3N9emooYSxiKXt2YXIgYz10aGlzLm9lKGEpO2I/LihjKTtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnNjKGMsMiksdGhpcy5vKX1zbShhLGIsYyl7cmV0dXJuIFIxKHRoaXMuWCwoKT0+Yj90aGlzLnpqKGEsYyk6dGhpcy5vZShhLGMpLHRoaXMuail9fSx1Mj1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGEpO3RoaXMuQj1iO3RoaXMuST1jO3RoaXMuaj0ibSI7dGhpcy5vPSJ4Ijt0aGlzLkQ9MDtuMih0aGlzLGQpfW9lKGEsYil7dGhpcy5YLmoodGhpcy5qKTsrK3RoaXMuRD49dGhpcy5JJiZ0aGlzLnYucmVzb2x2ZSgpO3ZhciBjPWEoKTthPVIxKHRoaXMuWCwoKT0+dGhpcy5CKGMpLCJDIik7aWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgaDEoMTcsIllOSjpVbmRlZmluZWQiKTtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaDEoMTgsCiJPRE06SW52YWxpZCIpO2I/LihhKTtyZXR1cm4gYX19LGx0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhKTt0aGlzLkI9Yjt0aGlzLmo9ImYiO3RoaXMubz0ieiI7bjIodGhpcyxjKX1vZSgpe3JldHVybiB0aGlzLkJ9fSxrdGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSk7dGhpcy5CPWI7dGhpcy5qPSJ3Ijt0aGlzLm89InoiO24yKHRoaXMsYyl9b2UoKXtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnVjKHRoaXMuQiksImQiKX16aigpe3JldHVybiB0aGlzLkJ9fSxydGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEpO3RoaXMuZXJyb3I9Yjt0aGlzLmo9ImUiO3RoaXMubz0ieSJ9b2UoKXtpZih0aGlzLkIpcmV0dXJuIHRoaXMuQjt0aGlzLkI9cDIodGhpcyxhPT4iXyIrZXJhKGEpKTtyZXR1cm4gcDIodGhpcyxhPT5hKX19LHF0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7CnRoaXMuY2xpZW50U3RhdGU9Yjt0aGlzLmo9IlMiO3RoaXMubz0icSJ9b2UoKXt2YXIgYT1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxiPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sYz1iLmNvbmNhdChbMCx0aGlzLmNsaWVudFN0YXRlXSxbYT4+MjQmMjU1LGE+PjE2JjI1NSxhPj44JjI1NSxhJjI1NV0pO2E9bmV3IFVpbnQ4QXJyYXkoMitjLmxlbmd0aCk7YVswXT0zNDthWzFdPWMubGVuZ3RoO2Euc2V0KGMsMik7Yz1hLnN1YmFycmF5KDIpO2I9Yi5sZW5ndGg7Zm9yKGxldCBkPWI7ZDxjLmxlbmd0aDsrK2QpY1tkXV49Y1tkJWJdO3RoaXMuWC5aKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBhfX07dmFyIFd2YT17V3Y6M0U0LEJBOjJFNH0scnVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueWc9bmV3IF8uY3M7dGhpcy52PTA7dGhpcy5vPXZvaWQgMDt0aGlzLnN0YXRlPTI7dGhpcy52bT1hLnZtO3RoaXMub2Q9YS5vZDt0aGlzLkxnPXsuLi5XdmEsLi4uKGEuTGd8fHt9KX07dGhpcy5YPWEudm0uVmgoKTt0aGlzLm9uRXJyb3I9YS5vbkVycm9yPz8oKCk9Pnt9KTt0aGlzLlFuPWEuUW58fCExO2lmKFh2YShhKSl7bGV0IGQ9dGhpcy52bTt0aGlzLkI9KCk9PmQuVSgpLmNhdGNoKGU9Pnt0aGlzLm89ZT10aGlzLnJlcG9ydEVycm9yKG5ldyBoMSh0aGlzLmo/MjA6MzIsIlRSRzpEaXNwb3NlZCIsZSkpO3RoaXMuaj8uZGlzcG9zZSgpO3RoaXMuaj12b2lkIDA7dGhpcy55Zy5yZWplY3QoZSl9KTtmMihkLCgpPT52b2lkIHQyKHRoaXMpKTtkLlo9PT0yJiZ0Mih0aGlzKX1lbHNlIHRoaXMuQj1hLmlLLHQyKHRoaXMpO3ZhciBiPXRoaXMuWC5zaGFyZSgpOwpiLmooIm8iKTt2YXIgYz1uZXcgajUoYiwibyIpO3RoaXMueWcucHJvbWlzZS50aGVuKCgpPT57Yy5kb25lKCk7Yi5vKCk7Yi5kaXNwb3NlKCl9LCgpPT52b2lkIGIuZGlzcG9zZSgpKTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5qPyh0aGlzLmouZGlzcG9zZSgpLHRoaXMuaj12b2lkIDApOnRoaXMubz90aGlzLlgubygpOih0aGlzLm89dGhpcy5yZXBvcnRFcnJvcihuZXcgaDEoMzIsIlROUDpEaXNwb3NlZCIpKSx0aGlzLlgubygpLHRoaXMueWcucmVqZWN0KHRoaXMubykpfSk7RVoodGhpcyx0aGlzLlgpfW9lKGEpe3JldHVybiB3Mih0aGlzLHsuLi5hfSwhMSl9emooYSl7cmV0dXJuIHcyKHRoaXMsey4uLmF9LCEwKX1yZXBvcnRFcnJvcihhKXt0aGlzLlguSmIoYS5jb2RlKTt0aGlzLm9uRXJyb3IoYSk7cmV0dXJuIGF9fSxYdmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+e2lmKCEoMCxfLnFyKShiKSlyZXR1cm4hMTtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBlPQpjLGY9ZDtpZighKGUgaW4gYikpe2lmKGYuQko9PT0hMCljb250aW51ZTtyZXR1cm4hMX1pZighZihiW2VdKSlyZXR1cm4hMX1yZXR1cm4hMH0pfSh7dm06ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfShxMil9LCIiKTt2YXIgWnZhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoIW41KXtuNT1uZXcgVDEobmV3IFl2YSk7dmFyIGE9Xy5zaigiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2NvdW50IiwtMSk7YSE9PS0xJiYobjUuQj1hKX10aGlzLnY9YT1uNTtNMShhLCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixsMSgidHlwZSIpLGwxKCJzZXF1ZW5jZSIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiKX19O3ZhciBtdWE9U18oY2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0pO3ZhciAkdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG81PVswLHB2YSwtMV07dmFyIHA1PVswLGh2YSwtMV07dmFyIGF3YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgYndhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1oYXNBdHRyaWJ1dGVzKCl7dmFyIGE9dGhpcy5EYTtyZXR1cm4gXy5NeChhLGFbXy5BY118MCxhd2EsMTkpIT09dm9pZCAwfX07dmFyIGN3YT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Xy5veihiLGEpfShbMCxjNSwtMSxYNCwkNCxvNSwtMSxXNCxaNCxjNSxwNSwkNCxjNSwtMSxbMCxvNSwtMV0sWjQsWTQscDUsVzQsWzAsMSxaNCwtNCxWNCxbMCxXNCwtMSxaNF0sJDQsVzQsXy55eixbMCxjNSxaNF0sWjQsLTEsYzUsLTIsVzQsLTEsYzUsVzQsYzUsWjQsWzAsMyxaNCwtMSw0LG52YV0sVjQsYjUsWzAsYzUsLTEsJDRdLF8ueHpdLCQ0LG92YSxfLnl6LFswLHA1LF8ueXosWzAsJDQsYzVdLFc0LGM1LC0xXSwxLF8ueXosWzAsWTQsLTEsYjVdLGM1LHA1XSk7ejIucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIhPTN9O3oyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PTJ9Owp6Mi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2Zvcig7cDxhLmxlbmd0aDspaWYoeTIoYVtwXSkpcCsrLGYudisrO2Vsc2UgYnJlYWs7cmV0dXJuIHA8bH1mdW5jdGlvbiBjKCl7Zm9yKHZhciB0Ozspe3Q9YVtwKytdO2lmKCF0KWJyZWFrO2YudisrO3N3aXRjaChmLmope2Nhc2UgMDp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6eTIodCl8fEEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKHkyKHQpKWNvbnRpbnVlO2lmKGYuaj09PTcpaC5wdXNoKDgpO2Vsc2UgaWYodD09PSJ9Iil7ZSgie30iKTtmLmo9ZCgpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDMpO3Q9PT0nIic/Zi5qPTY6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoeTIodCkpY29udGludWU7dD09PSI6Ij8oZi5qPT09MyYmKGgucHVzaCgzKSxmLm8rKyksZi5qPTEpOnQ9PT0ifSI/KGYuby0tLGUoKSxmLmo9ZCgpKTp0PT09IiwiPyhmLmo9PT0zJiZoLnB1c2goMyksCmYuaj03KTpBMihmLGEscCk7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZih5Mih0KSljb250aW51ZTtpZihmLmo9PT00KWlmKGYubysrLGYuaj0xLHQ9PT0iXSIpe2Yuby0tO2lmKGYubz09PTApe2Yuaj01O3JldHVybn1lKCJbXSIpO2Yuaj1kKCk7Y29udGludWV9ZWxzZSBoLnB1c2goNSk7dD09PSciJz9mLmo9Njp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6dD09PSJ0Ij9mLmo9OTp0PT09ImYiP2Yuaj0xMjp0PT09Im4iP2Yuaj0xNjp0IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YodCkhPT0tMT9mLmo9MjA6QTIoZixhLHApKTtjb250aW51ZTtjYXNlIDU6aWYodD09PSIsIiloLnB1c2goNSksZi5qPTEsZi5vPT09MSYmKG49cCk7ZWxzZSBpZih0PT09Il0iKXtmLm8tLTtpZihmLm89PT0wKXJldHVybjtlKCk7Zi5qPWQoKX1lbHNlIGlmKHkyKHQpKWNvbnRpbnVlO2Vsc2UgQTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgNjpsZXQgdj1wO2E6Zm9yKDs7KXtmb3IoO2YuSz4wOylpZih0PQphW3ArK10sZi5LPT09ND9mLks9MDpmLksrKywhdClicmVhayBhO2lmKHQ9PT0nIicmJiFmLkQpe2Yuaj1kKCk7YnJlYWt9aWYodD09PSJcXCImJiFmLkQmJihmLkQ9ITAsdD1hW3ArK10sIXQpKWJyZWFrO2lmKGYuRClpZihmLkQ9ITEsdD09PSJ1IiYmKGYuSz0xKSx0PWFbcCsrXSljb250aW51ZTtlbHNlIGJyZWFrO2subGFzdEluZGV4PXA7dD1rLmV4ZWMoYSk7aWYoIXQpe3A9YS5sZW5ndGgrMTticmVha31wPXQuaW5kZXgrMTt0PWFbdC5pbmRleF07aWYoIXQpYnJlYWt9Zi52Kz1wLXY7Y29udGludWU7Y2FzZSA5OmlmKCF0KWNvbnRpbnVlO3Q9PT0iciI/Zi5qPTEwOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDEwOmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTExOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDExOmlmKCF0KWNvbnRpbnVlO3Q9PT0iZSI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxMjppZighdCljb250aW51ZTt0PT09ImEiP2Yuaj0xMzpBMihmLGEsCnApO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXQpY29udGludWU7dD09PSJsIj9mLmo9MTQ6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIXQpY29udGludWU7dD09PSJzIj9mLmo9MTU6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXQpY29udGludWU7dD09PSJlIj9mLmo9ZCgpOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE2OmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTE3OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE3OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPTE4OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE4OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxOTp0PT09Ii4iP2Yuaj0yMDpBMihmLGEscCk7Y29udGludWU7Y2FzZSAyMDppZigiMDEyMzQ1Njc4OS5lRSstIi5pbmRleE9mKHQpIT09LTEpY29udGludWU7ZWxzZSBwLS0sZi52LS0sZi5qPWQoKTtjb250aW51ZTtkZWZhdWx0OkEyKGYsYSxwKX19fQpmdW5jdGlvbiBkKCl7dmFyIHQ9aC5wb3AoKTtyZXR1cm4gdCE9bnVsbD90OjF9ZnVuY3Rpb24gZSh0KXtmLm8+MXx8KHR8fCh0PW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSxwKTphLnN1YnN0cmluZyhuLHApKSxmLlkucHVzaChKU09OLnBhcnNlKHQpKSxuPXApfWZvcih2YXIgZj10aGlzLGg9Zi5VLGs9Zi5aLGw9YS5sZW5ndGgsbT0wLG49LTEscD0wO3A8bDspc3dpdGNoKGYuQil7Y2FzZSAzOnJldHVybiBBMihmLGEscCksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmQTIoZixhLHApLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHI9YVtwKytdO2YudisrO2lmKHI9PT0iWyIpe2YuQj0xO209cDtmLmo9NDtjb250aW51ZX1lbHNlIEEyKGYsYSxwKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLm89PT0wJiZmLmo9PTU/KGYuQj0yLGYuST1hLnN1YnN0cmluZyhwKSk6Zi5JPW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSk6YS5zdWJzdHJpbmcobiksZi5ZLmxlbmd0aD4wPyhyPWYuWSwKZi5ZPVtdLHIpOm51bGx9cmV0dXJuIG51bGx9O3ZhciBtcmE9e0dFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfVU5LTk9XTiIsQUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9GT1JfVEVTVElORyIsa0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fSE9NRV9UVEwiLHdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU1RBUlRfVE9fU0hPUlRTX0FOQUxZU0lTX1NMSUNFIixvRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RFVklDRV9MQVlFUl9TTElDRSIsRkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VTklGSUVEX0xBWUVSX1NMSUNFIixKRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1ZJU0lUT1JfTEFZRVJfU0xJQ0UiLHVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0hPV19TSEVFVF9DT01NQU5EX0hBTkRMRVJfQkxPQ0siLApNRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dJWl9ORVhUX01JR1JBVEVEX0NPTVBPTkVOVCIsTEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XSVpfTkVYVF9DSEFOTkVMX05BTUVfVE9PTFRJUCIscEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVElPTl9MT0NLX1NVUFBPUlRFRCIsekU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9USEVBVEVSX01PREVfRU5BQkxFRCIsU0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9TSE9XX1BJTl9TVUdHRVNUSU9OIixSRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfTE9OR19QUkVTU19FRFVfVE9BU1QiLFFFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfU0hPV19BTUJJRU5UIixBRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RJTUVfV0FUQ0hFRF9QQU5FTCIsCnJFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0VBUkNIX0ZST01fU0VBUkNIX0JBUl9PVkVSTEFZIixURToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfVk9JQ0VfU0VBUkNIX0VEVV9UT0FTVCIseUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVUdHRVNURURfTEFOR1VBR0VfU0VMRUNURUQiLFVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfVFJJR0dFUl9TSE9SVFNfUElQIixKRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lOX1pQX1ZPSUNFX0NSQVNIWV9TRVQiLGdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX1NVUFBSRVNTRUQiLGZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX0FMTE9XRUQiLGlFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9QVUxMX1RPX1JFRlJFU0hfQVRURU1QVCIsCk5FOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfQkxPQ0tfS0FCVUtJIixqRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1JFRUxfVEFMTF9TQ1JFRU4iLGhFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9OT1JNQUxfU0NSRUVOIixoRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9FTkFCTEVEIixnRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9ESVNBQkxFRCIsaUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9BVVRPUExBWV9FTkFCTEVEIixqRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0NBU1RfTUFUQ0hfT0NDVVJSRUQiLHREOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRU1DM0RTX0VMSUdJQkxFIix3RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VORFNDUkVFTl9UUklHR0VSRUQiLApkRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BPU1RQTEFZX1RSSUdHRVJFRCIsY0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9QT1NUUExBWV9MQUNUX1RIUkVTSE9MRF9FWENFRURFRCIsQ0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1NUQVRFX01BVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT04iLEVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hBQkxFX09OX1JFTU9URV9DT05ORUNUSU9OIixERDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfTUlTQVRUUklCVVRFRF9PTl9SRU1PVEVfQ09OTkVDVElPTiIsSEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1RWX0lTX1NJR05FRF9JTl9PTl9SRU1PVEVfQ09OTkVDVElPTiIsREU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9UVl9TVEFSVF9UWVBFX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLApFRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWX1NUQVJUX1RZUEVfTk9OX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLFlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfT05fUkVNT1RFX0NPTk5FQ1RJT04iLG5EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9WQUxJRCIsbEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9DT0JBTFRfUEVSU0lTVEVOVF9TRVRUSU5HU19URVNUX0lOVkFMSUQiLG1EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9VTkRFRklORUQiLGtEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9ERUZJTkVEIixNRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xBQ1RfVEhSRVNIT0xEX0VYQ0VFREVEIiwKcUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1VORF9UUklQX0hBTkRMSU5HX09OX1JFTU9URV9DT05ORUNUSU9OIixHRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfU1dJVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT05fQkVGT1JFX0FQUF9SRUxPQUQiLEZEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hFRF9PTl9SRU1PVEVfQ09OTkVDVElPTl9BRlRFUl9BUFBfUkVMT0FEIix1RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19JTkVMSUdJQkxFIixCRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfTUlEX1JPTExfVEhSRVNIT0xEX1JFQUNIRUQiLHlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfUEVORElORyIsCnhEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfQUNUSVZBVEVEIix2RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19NMl9FTElHSUJMRSIsbkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX0xBTkRTQ0FQRSIsb0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX1BPUlRSQUlUIixzRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQkVEU19GQUNFT0ZGX1VJX0VWRU5UIix6RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VYUF9DT0JBTFRfSFRUUDNfQ09ORklHX1JFQ0VJVkVEIixyRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VMSUdJQkxFX1RPX1NVUFBSRVNTX1RSQU5TUE9SVF9DT05UUk9MU19CVVRUT05TIiwKSEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VU0VSX0hBU19USEVBVEVSX01PREVfQ09PS0lFX0VOQUJMRUQiLHFEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRE9DVU1FTlRfUElDVFVSRV9JTl9QSUNUVVJFX1NVUFBPUlRFRCIsdEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSE9SVFNfTk9OX0RFRkFVTFRfQVNQRUNUX1JBVElPIixiRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BMQVlFUl9JTl9TUVVFRVpFQkFDSyIsTkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9MSVZFX0NSRUFUT1JfQVJfR0lGVF9SRUNFSVZFRCIsbUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVRVUk5FRF9UT19WSURFT19BRlRFUl9GQUlMRURfQVRURU1QVF9UT19CQUNLR1JPVU5EIixPRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX0VOVEVSX0FVVE9fWk9PTSIsClpEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUEFTU0lWRV9JTl9DT05UUk9MIixhRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BBU1NJVkVfSU5fVFJFQVRNRU5UIixwRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RJU0FCTEVfUExBWUVSX09QRU5fT05fRlVMTFNDUkVFTiIsVEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfUkVDT05ORUNUX1dJVEhfUkVUUlkiLHZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0lOR0xFX0NPTFVNTl9HUklEX1RSSUdHRVJFRCIsUEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfQ09OTkVDVElPTl9USU1FT1VUIixPRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xJVkVfR0hPU1RfTE9BRElOR19FTElHSUJMRSIseEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVFJFQU1FRF9HRVRfV0FUQ0hfU1VQUE9SVEVEIiwKS0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XRUJWSUVXX0NPTlRBSU5FUiIsUEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9FTlRFUl9QSVAiLGVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTF9FTElHSUJMRSIsVkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX0JST0FEIixYRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX09GRkxJTkVfUkVDT1ZFUllfVU5QTEFZQUJMRSIsV0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX1NUUklDVCIsS0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JT1NfU0hPUlRfT1JJRU5UQVRJT05fQ0hBTkdFIixDRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfUExBWUVSX0VSUk9SX09WRVJMQVlfVFJJR0dFUkVEIiwKc0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSEFERVJfTElHSFRfRU5BQkxFRCIsSUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUWV9NSVNNQVRDSF9ERVRFQ1RFRCIsbEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fU0hPUlRTX1RSSUdHRVJFRCIsQkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9HUldTX0NVU1RPTV9SRVRSWV9DQUxMRUQiLFNEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfVE9LRU5fTUlTTUFUQ0giLFJEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfUEFZTE9BRF9UT0tFTl9NSVNTSU5HIixRRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX01EWF9NT0JJTEVfVU5MT0NLX0dBVEVfVE9LRU5fTUlTU0lORyIsClVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTVVTSUNfT0ZGTElORV9IT01FX1NNQVJUX0RPV05MT0FEU19QUk9NT19DSEVDSyIsTEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JUEFEX0RFU0tUT1BfTUFUQ0gifTt2YXIgZHdhPW5ldyBfLkkoInN1YnNjcmliZUVuZHBvaW50Iik7dmFyIEIyPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGAke2F9LCBlcnJvckNvZGU9JHtifWApO3RoaXMuZXJyb3JDb2RlPWI7dGhpcy5uYW1lPSJQcm9taXNlQWpheEVycm9yIn19LHR0YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBEMj1jbGFzc3tjb25zdHJ1Y3RvcihhPW51bGwpe3RoaXMudj1hO3RoaXMuaj0wO3RoaXMubz1udWxsfXRoZW4oYSxiLGMpe3JldHVybiB0aGlzLnY/dGhpcy52LnRoZW4oYSxiLGMpOnRoaXMuaj09PTEmJmE/KGE9YS5jYWxsKGMsdGhpcy5vKSkmJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iP2E6RjIoYSk6dGhpcy5qPT09MiYmYj8oYT1iLmNhbGwoYyx0aGlzLm8pKSYmdHlwZW9mIGEudGhlbj09PSJmdW5jdGlvbiI/YTpFMihhKTp0aGlzfWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT0yfX07Xy55ZihEMik7dmFyIE0yPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLm1lc3NhZ2V8fGEuZGVzY3JpcHRpb258fGEubmFtZSk7dGhpcy5pc01pc3Npbmc9YSBpbnN0YW5jZW9mIEsyO3RoaXMuaXNUaW1lb3V0PWEgaW5zdGFuY2VvZiBCMiYmYS5lcnJvckNvZGU9PSJuZXQudGltZW91dCI7dGhpcy5pc0NhbmNlbGVkPWEgaW5zdGFuY2VvZiBfLlBmfX07TTIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpRXJyb3IiO3ZhciBLMj1jbGFzcyBleHRlbmRzIF8uTGF7Y29uc3RydWN0b3IoKXtzdXBlcigiQmlzY290dGkgSUQgaXMgbWlzc2luZyBmcm9tIHNlcnZlciIpfX07SzIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpTWlzc2luZ0Vycm9yIjt2YXIgc3RhPXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHRpbWVvdXQ6NUUzLHdpdGhDcmVkZW50aWFsczohMH0sSDI9bnVsbDt2YXIgV3RhPVsiYXR0L2dldCJdLGV3YT1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLGZ3YT1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0scTU9WyJmZWVkYmFjayJdLGd3YT1bIm5vdGlmaWNhdGlvbi9tb2RpZnlfY2hhbm5lbF9wcmVmZXJlbmNlIl0saHdhPVsiYnJvd3NlL2VkaXRfcGxheWxpc3QiXSxpd2E9WyJzdWJzY3JpcHRpb24vc3Vic2NyaWJlIl0sandhPVsic3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlIl07dmFyIHI1PWNsYXNze2ZsdXNoKGE9W10sYj0hMSl7aWYoXy54KCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBjIG9mIGEpYT1yMShjKSx0aGlzLmomJl8uS3coYSwyLHRoaXMuaiksYT17c2VyaWFsaXplZEluY3JlbWVudEJhdGNoOl8uc2MoYS52KCkpfSxfLkVwKCJzdHJlYW16SW5jcmVtZW50ZWQiLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6Yn0pfX0sWXZhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0scXVhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1uZXcgRXZhO3ZhciBjPW5ldyBEdmE7Yz1CWihjLDEsImJvdGd1YXJkIik7YT1CWihjLDIsYSk7YT1fLkp3KGEpO0ZfKGIsMSxlNSxhKTthJiYhXy5CYyhhKSYmXy5vdyhiLkRhKTt0aGlzLmo9Yn19O3ZhciBuNSxqND1uZXcgTWFwO3ZhciBBdGE9bnVsbDt2YXIgQ3RhPW5ldyBNYXAoW1siZGFyayIsIlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiXSxbImxpZ2h0IiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiXV0pO3ZhciBYMj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihhKXt0aGlzLmouYmljZihhKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhhKXt0aGlzLmouYmNyKGEpfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuai5ibGMoKX19O3ZhciAkMj1bXSxaMj0oMCxfLll4KWBodHRwczovL3N0YXRpYy5kb3VibGVjbGljay5uZXQvaW5zdHJlYW0vYWRfc3RhdHVzLmpzYCxZMj0hMTt2YXIgczU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9fTtbbmV3IHM1KCJiLmZfIiksbmV3IHM1KCJqLnNfIiksbmV3IHM1KCJyLnNfIiksbmV3IHM1KCJlLmhfIiksbmV3IHM1KCJpLnNfIiksbmV3IHM1KCJzLnRfIiksbmV3IHM1KCJwLmhfIiksbmV3IHM1KCJzLmlfIiksbmV3IHM1KCJmLmlfIiksbmV3IHM1KCJhLmJfIiksbmV3IHM1KCJhLm9fIiksbmV3IHM1KCJnLm9fIiksbmV3IHM1KCJwLmlfIiksbmV3IHM1KCJwLm1fIiksbmV3IHM1KCJuLmtfIiksbmV3IHM1KCJpLmZfIiksbmV3IHM1KCJhLnNfIiksbmV3IHM1KCJtLmNfIiksbmV3IHM1KCJuLmhfIiksbmV3IHM1KCJvLnBfIiksbmV3IHM1KCJtLnBfIiksbmV3IHM1KCJvLmFfIiksbmV3IHM1KCJkLnBfIiksbmV3IHM1KCJlLmlfIildLnJlZHVjZSgoYSxiKT0+e2FbYi5qXT1iO3JldHVybiBhfSx7fSk7dmFyIFA0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm5ldHdvcms9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLks9Yzt0aGlzLnY9MDt0aGlzLmo9bnVsbDt0aGlzLm89bmV3IFp2YTtiLnpzP2IzKHRoaXMsSXRhKHRoaXMpKTpiLnByZWxvYWQmJmIzKHRoaXMsbmV3IFByb21pc2UoZD0+e18uWWooKCk9PntkKGUzKHRoaXMpKX0sMCl9KSl9YXN5bmMgRCgpe3JldHVybiEhYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmosbnVsbF0pfWFzeW5jIEIoYSxiLGMpe3RoaXMuaj09PW51bGwmJmIzKHRoaXMsZTModGhpcykpO3ZhciBkPSExLGU9e307cmV0dXJuIFByb21pc2UucmFjZShbKGFzeW5jKCk9Pnt0aGlzLm9wdGlvbnMuUUkmJnRoaXMub3B0aW9ucy56cyYmYXdhaXQgKGF3YWl0IEV0YSgpKT8uY2hlY2tGb3JSZWZyZXNoKCk7dmFyIGY9YXdhaXQgdGhpcy5qO2UuY2hhbGxlbmdlPWYuY2hhbGxlbmdlO2lmKGYudm0pe3ZhciBoPXtjOmYuY2hhbGxlbmdlLGU6YSwuLi5ifTt0cnl7ZD0KITA7bGV0IGs7KGs9YXdhaXQgZi52bS5zbmFwc2hvdCh7S2M6aH0pKT9lLndlYlJlc3BvbnNlPWs6ZS5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe2UuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gZi5CZiYmKGUuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO2E9PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmKGY9Zi5CZixoPXt9LGYuYzZhJiYoaC5yZXBvcnRpbmdTdGF0dXM9U3RyaW5nKE51bWJlcihmLmMpXmEzKCkpKSxmLmM2YiYmKGguYnJvYWRTcGVjdHJ1bURldGVjdGlvblJlc3VsdD1TdHJpbmcoTnVtYmVyKGYuYyleTnVtYmVyKF8udygiQ0FUU1RBVCIsMCkpKSksZS5hZGJsb2NrUmVwb3J0aW5nPWgpO3JldHVybiBlfSkoKSxNdGEoYywoKT0+e3ZhciBmPU9iamVjdC5hc3NpZ24oe30sZSk7ZCYmKGYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTsKcmV0dXJuIGZ9KV0pfWFzeW5jIFJmKGEpe3ZhciBiPXRoaXMuSztpZighYnx8Yi5TYigpKXJldHVybiBmMyh0aGlzLGEpO3gwKCJhdHRfcG5hIik7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLmJmKGIsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57ZjModGhpcyxhKS50aGVuKGMpfSl9KX19O3ZhciBnMz17V0VCX1VOUExVR0dFRDoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT05CT0FSRElORzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT1BTOiJedW5wbHVnZ2VkLyIsV0VCX1VOUExVR0dFRF9QVUJMSUM6Il51bnBsdWdnZWQvIixXRUJfQ1JFQVRPUjoiXmNyZWF0b3IvIixXRUJfS0lEUzoiXmtpZHMvIixXRUJfRVhQRVJJTUVOVFM6Il5leHBlcmltZW50cy8iLFdFQl9NVVNJQzoiXm11c2ljLyIsV0VCX1JFTUlYOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebWFpbl9hcHAvfF5zZnYvIn07dmFyIFl1YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1hc3luYyBSZihhKXt4MCgiYXR0X2ZzciIpO2E9YXdhaXQgWXRhKHRoaXMuaixhKTt4MCgiYXR0X2ZyciIpO3JldHVybiBhfX07dmFyIGkzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj0icGVuZGluZyI7dGhpcy5vPVtdO3RoaXMudj1bXTt0cnl7YSh0aGlzLkIuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKX1jYXRjaChiKXt0aGlzLnJlamVjdChiKX19c3RhdGUoKXtyZXR1cm4gdGhpcy5pc0Z1bGZpbGxlZCgpP3tzdGF0ZToiZnVsZmlsbGVkIix2YWx1ZTp0aGlzLnJlc3VsdH06dGhpcy5pc1JlamVjdGVkKCk/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fWlzRnVsZmlsbGVkKCl7cmV0dXJuIHRoaXMuaj09PSJmdWxmaWxsZWQifWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT09InJlamVjdGVkIn1pc1BlbmRpbmcoKXtyZXR1cm4gdGhpcy5qPT09InBlbmRpbmcifUIoYSl7KDAsXy5ibykoYSl8fGozKGEpP2wzKGszKGEpLHRoaXMuQi5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLmo9ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9CmEsbjModGhpcykpfXJlamVjdChhKXt0aGlzLmo9InJlamVjdGVkIjt0aGlzLmVycm9yPWE7bjModGhpcyl9fSxqMz1fLkNjKGE9PigwLF8ucXIpKGEpP2EgaW5zdGFuY2VvZiBpMzohMSk7dmFyIHQ1PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXJ1bihhLGIpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBkPWEsZT1iLGY9W107Oyl7Zi5wdXNoKFN0cmluZyhkKSk7ZT15aWVsZCpwMyhjLmpbZF0uZXhlY3V0ZShlKSk7aWYoZS5uZXh0U3RhdGU9PT0iRE9ORSIpcmV0dXJuIGYucHVzaCgiRE9ORSIpLGUudmFsdWU7aWYoZS5uZXh0U3RhdGU9PT0iRkFJTEVEIil0aHJvdyBmLnB1c2goYEZBSUxFRCgke2UuZXJyb3IubWVzc2FnZXx8ImVycm9yIn0pYCksZS5lcnJvcjtkPWUubmV4dFN0YXRlO2U9ZS5wYXJhbXN9fSgpfSl9fTt2YXIgdTU9Y2xhc3N7fTt2YXIgdTM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e307aWYodGhpcy5vPV8ucXooKSl7bGV0IGE9Xy5Mai5nZXQoIkNPTlNJU1RFTkNZIix2b2lkIDApO2EmJnIzKHRoaXMse2VuY3J5cHRlZFRva2VuSmFyQ29udGVudHM6YX0pfX1oYW5kbGVSZXNwb25zZShhLGIpe2lmKCFiKXRocm93IEVycm9yKCJLZSIpO2I9Yi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ/LnJlcXVlc3Q/LmNvbnNpc3RlbmN5VG9rZW5KYXJzfHxbXTsoYT1hLnJlc3BvbnNlQ29udGV4dD8uY29uc2lzdGVuY3lUb2tlbkphcikmJnRoaXMucmVwbGFjZShiLGEpfXJlcGxhY2UoYSxiKXtmb3IobGV0IGMgb2YgYSlkZWxldGUgdGhpcy5qW2MuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50c107cjModGhpcyxiKX19O3ZhciBrd2E9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLmpvaW4oIi4iKSx2Mz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudj0tMTt2YXIgYT1fLncoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1IiYmKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmKGE9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIpKTthJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49YSx0aGlzLm89dGhpcy5qPXZvaWQgMCl9c3RhdGljIGpjKCl7djU9Xy5zYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIik7djV8fCh2NT1uZXcgdjMsXy5yYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIix2NSkpO3JldHVybiB2NX1zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChhKXthLmNsaWVudHx8KGEuY2xpZW50PQp7fSk7aWYodGhpcy5qKWEuY2xpZW50LmxvY2F0aW9uSW5mb3x8KGEuY2xpZW50LmxvY2F0aW9uSW5mbz17fSksYS5jbGllbnQubG9jYXRpb25JbmZvLmxhdGl0dWRlRTc9TWF0aC5mbG9vcih0aGlzLmouY29vcmRzLmxhdGl0dWRlKjFFNyksYS5jbGllbnQubG9jYXRpb25JbmZvLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5qLmNvb3Jkcy5sb25naXR1ZGUqMUU3KSxhLmNsaWVudC5sb2NhdGlvbkluZm8uaG9yaXpvbnRhbEFjY3VyYWN5TWV0ZXJzPU1hdGgucm91bmQodGhpcy5qLmNvb3Jkcy5hY2N1cmFjeSksYS5jbGllbnQubG9jYXRpb25JbmZvLmZvcmNlTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuUmVmcmVzaD0hMDtlbHNlIGlmKHRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4pYS5jbGllbnQubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPXRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW59Z2V0WEdlb0hlYWRlcigpe2lmKHRoaXMubyl7dmFyIGE9CnRoaXMubzt2YXIgYj1NYXRoLmZsb29yKGEuY29vcmRzLmxvbmdpdHVkZSoxRTcpO3ZhciBjPU1hdGguZmxvb3IoYS5jb29yZHMubGF0aXR1ZGUqMUU3KTt2YXIgZD1uZXcgJHZhO2M9Xy5xdyhkLDEsXy5QdyhjKSk7Yj1fLnF3KGMsMixfLlB3KGIpKTtjPW5ldyBid2E7Yz1DWihjLDEsMSk7Yz1DWihjLDIsMTIpO2M9Q1ooYyw5LDgpO2M9Xy5xdyhjLDMseV8oYS50aW1lc3RhbXAqMUUzKSk7YT1fLnF3KGMsNyxwXyhhLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTthPUNaKGEsMjUsMik7YT1fLkt3KGEsNSxiKTthPWB3ICR7Xy5zYyhjd2EoYSksNCl9YH1lbHNlIGE9bnVsbDtyZXR1cm4gYX1oYW5kbGVSZXNwb25zZShhKXthPWEucmVzcG9uc2VDb250ZXh0Py5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW47YSE9PXZvaWQgMCYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPWEsdGhpcy5vPXRoaXMuaj12b2lkIDAsXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8KKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsYSwxNTU1MkUzKTpfLk1qKCJZVF9DTCIsSlNPTi5zdHJpbmdpZnkoe2xvY3RvazphfSksMTU1NTJFMyxrd2EsITApKX1jbGVhckxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbihhKXthPT09IlRWSFRNTDUiPyh0aGlzLmxvY2FsU3RvcmFnZT1zMyh0aGlzKSkmJnRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZSgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKTpfLk5qKCJZVF9DTCIpO3RoaXMuQj12b2lkIDA7dGhpcy52IT09LTEmJihjbGVhclRpbWVvdXQodGhpcy52KSx0aGlzLnY9LTEpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7dGhpcy5vPXRoaXMuaj12b2lkIDB9Z2V0Q3VycmVudFBvc2l0aW9uRnJvbUdlb2xvY2F0aW9uKGEpe2lmKCEobmF2aWdhdG9yJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24pKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiTGUiKSk7CnZhciBiPSExLGM9MUU0O18udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihiPSEwLGM9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChkLGUpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmPT57dGhpcy5vPWE/LmFkZFRvSGVhZGVycz9mOnZvaWQgMDt0aGlzLmo9ZjtkKGYpfSxmPT57ZShmKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpiLG1heGltdW1BZ2U6MCx0aW1lb3V0OmN9KX0pfWNyZWF0ZVVucGx1Z2dlZExvY2F0aW9uSW5mbyhhKXt2YXIgYj17fTthPWEuY29vcmRzO2E/LmxhdGl0dWRlJiYoYi5sYXRpdHVkZUU3PU1hdGguZmxvb3IoYS5sYXRpdHVkZSoxRTcpKTthPy5sb25naXR1ZGUmJihiLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IoYS5sb25naXR1ZGUqMUU3KSk7YT8uYWNjdXJhY3kmJihiLmxvY2F0aW9uUmFkaXVzTWV0ZXJzPU1hdGgucm91bmQoYS5hY2N1cmFjeSkpO3JldHVybiBifWNyZWF0ZUxvY2F0aW9uSW5mbyhhKXt2YXIgYj0Ke307YT1hLmNvb3JkczthPy5sYXRpdHVkZSYmKGIubGF0aXR1ZGVFNz1NYXRoLmZsb29yKGEubGF0aXR1ZGUqMUU3KSk7YT8ubG9uZ2l0dWRlJiYoYi5sb25naXR1ZGVFNz1NYXRoLmZsb29yKGEubG9uZ2l0dWRlKjFFNykpO3JldHVybiBifX0sdjU7dmFyIEYzPSJ0b2tlbnMgY29uc2lzdGVuY3kgc2VydmljZV9wYXJhbXMgbXNzIGNsaWVudF9sb2NhdGlvbiBlbnRpdGllcyBhZGJsb2NrX2RldGVjdGlvbiByZXNwb25zZV9yZWNlaXZlZF9jb21tYW5kcyBzdG9yZSBtYW5pZmVzdCBwbGF5ZXJfcHJlbG9hZCBzaG9ydHNfcHJlZmV0Y2ggcmVzb2x2ZV91cmxfcHJlZmV0Y2giLnNwbGl0KCIgIik7dmFyIGx3YT1jbGFzc3tEKGEsYj17fSxjPUEzKXt2YXIgZD17Y29udGV4dDp3MyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMsITEsdGhpcy5CKX07dmFyIGU9dGhpcy5vKGEpO2lmKGUpe3RoaXMuaihkLGUsYik7ZT1gL3lvdXR1YmVpL3YxLyR7aDModGhpcy52KCkpfWA7dmFyIGY9Xy5CKGEuY29tbWFuZE1ldGFkYXRhLF8uencpPy5hcGlVcmw7ZiYmKGU9Zik7ZT1YMChZMChlKSk7Zj17Y29tbWFuZDphLC4uLih2b2lkIDApfTtkPXtpbnB1dDplLHdiOlowKGUpLGlubmVyVHViZVJlcXVlc3Q6ZCxjb25maWc6Zn07ZC5jb25maWcuUmQ/ZC5jb25maWcuUmQuaWRlbnRpdHk9YzpkLmNvbmZpZy5SZD17aWRlbnRpdHk6Y307KGE9dGhpcy5LKGEpKSYmIWQuY29uZmlnLnJlcXVlc3RLZXkmJihkLmNvbmZpZy5yZXF1ZXN0S2V5PWEpO2IuYWJvcnRTaWduYWwmJihkLndiLnNpZ25hbD1iLmFib3J0U2lnbmFsKTtyZXR1cm4gZH1iPW5ldyBfLlhqKCJFcnJvcjogRmFpbGVkIHRvIGNyZWF0ZSBSZXF1ZXN0IGZyb20gQ29tbWFuZC4iLAphKTtfLkdwKGIpfWdldCBCKCl7cmV0dXJuITF9Sygpe319LHc1PWNsYXNzIGV4dGVuZHMgbHdhe0soYSl7cmV0dXJuIF8uQihhLmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucmVxdWVzdEtleT8/dm9pZCAwfX07dmFyIG13YT17R0VUX0RBVEFTWU5DX0lEUzp5MyhjbGFzcyBleHRlbmRzIHc1e0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50Iix3YjpaMCgiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX12KCl7cmV0dXJuW119bygpe31qKCl7fX0pfTt2YXIgVTM9bmV3IF8uVnMoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLEIzPW5ldyBfLlZzKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLEozPW5ldyBfLlZzKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBhdWE9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLHozPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudj1hO3RoaXMuU2E9Yjt0aGlzLm89Yzt0aGlzLkI9ZDt0aGlzLmo9bmV3IE1hcDthLkhkfHwoYS5IZD17fSk7YS5IZD17Li4ubXdhLC4uLmEuSGR9fVFpKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGMpcmV0dXJuIG0zKGV1YShjLHtjb21tYW5kOmEsZm9ybTpiLGlkZW50aXR5OkEzfSkpLnRoZW4oZT0+ZSwoKT0+e30pO3ZhciBkPVp0YSh0aGlzLAphKTtyZXR1cm4gZD9uZXcgXy5CZihhc3luYyhlLGYpPT57dmFyIGg9KGF3YWl0IGQpLkQoYSxiLEEzKTtoPyhQMihoLmlucHV0KSxmPWgud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMCxmPXRoaXMuby56bj9DMyhoLmNvbmZpZyxmKTphd2FpdCBEMyhoLmNvbmZpZyxmKSxlKEUzKHRoaXMsaCxmKSkpOmYobmV3IF8uWGooIkVycm9yOiBGYWlsZWQgdG8gYnVpbGQgcmVxdWVzdCBmb3IgY29tbWFuZCIsYSkpfSk6Xy5PdChuZXcgXy5YaigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZCIsYSkpfUp3KGEpe3JldHVybiBVdGEoYSx0aGlzLnYpfX07dmFyIHg1PW5ldyBfLlZzKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIHU0PW5ldyBfLlZzKCJFTkRQT0lOVF9NQVAiKTt2YXIgdDQ9bmV3IF8uVnMoIkFVVEhfU0VSVklDRV9UT0tFTiIpO3ZhciBLMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWEueXRSZXF1ZXN0O1AyKGMuaW5wdXQpO3ZhciBkPWMud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMDtpZihiLmouem4pe2xldCBlPV8uUGooe3Nlc3Npb25JbmRleDpjLmNvbmZpZz8uUmQ/LnNlc3Npb25JbmRleH0pO2Q9ey4uLngzKGQpLC4uLmV9fWVsc2UgZD15aWVsZCpwMyhjdWEoYixjLmNvbmZpZyxkKSk7Yy53Yj17Li4uYy53YixoZWFkZXJzOnsuLi4oYy53Yj8uaGVhZGVycz8/e30pLC4uLmR9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczphfX0oKX0pfX07SzNbXy5Mbl09W3Q0XTt2YXIgJDM9bmV3IF8uVnMoIlJFU1BPTlNFX01BQ0hJTkVfUkVHSVNUUllfVE9LRU4iKSxhND1uZXcgXy5WcygiUkVTUE9OU0VfTUFDSElORV9GQUNUT1JZX1RPS0VOIik7dmFyIEwzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuaj1hO3RoaXMubz1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWEueXRSZXF1ZXN0LGU9ZC5jb25maWc/LktBPy5aSztpZihlJiZiJiZiLmhhcyhlKSYmIWQuY29uZmlnPy5LQT8uZGlzYWJsZUNhY2hlKXt2YXIgZj15aWVsZCpwMyhrMyhiLmdldChlKSkpO2lmKGYmJiFmLmlzRXhwaXJlZCgpKXJldHVybiBkPWYuaigpLF8ueCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFmLmlzUHJvY2Vzc2VkKCk/KGY9YygpLGQ9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOmQseXRSZXF1ZXN0OmEueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6YS5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmR9KSksCnlpZWxkKnAzKGszKGIuaihlKSkpLHtuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmR9KTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpkfX1yZXR1cm57bmV4dFN0YXRlOiJMT0NBTF9ST1VURVIiLHBhcmFtczphfX0oKX0pfX07TDNbXy5Mbl09W2E0LF8uSW4obmV3IF8uVnMoIkVQSEVNRVJBTF9TVE9SRV9UT0tFTiIpKV07dmFyIE0zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qLGQ9YS55dFJlcXVlc3QsZT1kPy5pbm5lclR1YmVSZXF1ZXN0Py5jb250ZXh0O2lmKCFlKXJldHVybiBrMyh7bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6YX0pO3ZhciBmPVtdO2lmKGMmJmMubGVuZ3RoPjApZm9yKGxldCBoIG9mIGMpYz1oLkJyKGQpLGMudiYmZi5wdXNoKGMudik7Zm9yKGxldCBoIG9mIGJ8fFtdKWguQnIoZSk7cmV0dXJuIGYubGVuZ3RoPjA/bzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt5aWVsZCpwMyhrMyhQcm9taXNlLmFsbChmKSkpO3JldHVybntuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfX0oKX0pOmszKHtuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfSl9fTtNM1tfLkxuXT1bXy5JbihuZXcgXy5WcygiQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpLF8uSW4obmV3IF8uVnMoIkFTWU5DX0NPTlRFWFRfUFJPQ0VTU09SX01BUCIpKV07dmFyIE4zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLnl0UmVxdWVzdC5jb25maWc/LnJlcXVlc3RLZXk7cmV0dXJuIGMmJmIuaGFzKGMpJiYoYz1iLmdldChjKSxjPXlpZWxkKnAzKGszKGMpKSk/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Y306e25leHRTdGF0ZToiRkVUQ0giLHBhcmFtczphfX0oKX0pfX07TjNbXy5Mbl09W0ozXTt2YXIgTzM9Y2xhc3MgZXh0ZW5kcyB1NXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5qPWJ9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLmosYz10aGlzLm87cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9YS55dFJlcXVlc3QsZT1hLmNodW5rQ2FsbGJhY2ssZj17dHlwZToiUEFHRV9DT05UUkFDVCJ9O2lmKGI/LmNJKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KSl7bGV0IGs9eWllbGQqcDMoazMoYi5PSihkLmlucHV0LGQuaW5uZXJUdWJlUmVxdWVzdCkpKTtpZihrKXtsZXQgbD0hMTt2YXIgaD1mdW5jdGlvbihtLG4pe3JldHVybiBmdW5jdGlvbiooKXt2YXIgcD1jKCk7eWllbGQqcDMoSDMocCx7d2lyZVJlc3BvbnNlOm4seXRSZXF1ZXN0OmQsY2h1bmtDYWxsYmFjazplLHJlc3BvbnNlUGF5bG9hZDpmfSkpO2w9ITB9KCl9O2sucGxheWVyUmVzcG9uc2UmJih5aWVsZCpoKGsucGxheWVyUmVzcG9uc2Use3BsYXllclJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2V9KSk7Cmsud2F0Y2hOZXh0UmVzcG9uc2UmJih5aWVsZCpoKGsud2F0Y2hOZXh0UmVzcG9uc2Use3dhdGNoTmV4dFJlc3BvbnNlOmsud2F0Y2hOZXh0UmVzcG9uc2V9KSk7bHx8KGg9YygpLHlpZWxkKnAzKEgzKGgse3dpcmVSZXNwb25zZTprLHl0UmVxdWVzdDpkLGNodW5rQ2FsbGJhY2s6ZSxyZXNwb25zZVBheWxvYWQ6Zn0pKSk7aWYoZSlyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTpmfTtoPWYuY29udGVudHx8Zi5wbGF5ZXJ8fGYuZG47cmV0dXJuIGYudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmaD97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpofTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTprfX19cmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiTmUiKX19KCl9KX19O08zW18uTG5dPVthNCxfLkluKHg1KV07dmFyIHk1PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYix7c3RhdHVzOmMsLi4uW119KTt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1jO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciByND1uZXcgXy5WcygiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFAzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLlNhPWE7dGhpcy5qPWI7dGhpcy52PWM7dGhpcy5vPWR9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLlNhLGM9dGhpcy5qLGQ9dGhpcy52LGU9dGhpcy5vO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBmPWEueXRSZXF1ZXN0LGg9YS5jaHVua0NhbGxiYWNrLGs9Zi5jb25maWc/LnJlcXVlc3RLZXksbD1KU09OLnN0cmluZ2lmeShmLmlubmVyVHViZVJlcXVlc3QpLG09ey4uLmYud2IsYm9keTpmLndiLm1ldGhvZD09PSJQT1NUIj9sOnZvaWQgMH07Zi5jb25maWc/LmtuJiZfLkFxKGYuY29uZmlnLmtuKTt2YXIgbj17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHA9MCxyPXo9PntJMyhkKCkse3dpcmVSZXNwb25zZTp6LHl0UmVxdWVzdDpmLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6bn0scCsrKX07bD0oKT0+aD9iLmZldGNoKGYuaW5wdXQsCm0sZi5jb25maWcscik6Yi5mZXRjaChmLmlucHV0LG0sZi5jb25maWcpO3RyeXt2YXIgdD1lP2UuSksoZixsKTpsKCl9Y2F0Y2goeil7dD1Qcm9taXNlLnJlamVjdCh6KX1rJiZjJiZjLnNldChrLHQpO3RyeXt2YXIgdj15aWVsZCpwMyhrMyh0KSl9Y2F0Y2goeil7cmV0dXJuIF8ueCgid2ViX2VuYWJsZV9yZXRyaWVzIikmJih2PXogaW5zdGFuY2VvZiBUeXBlRXJyb3ImJnoubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giPzE6MCxHMyh2KSk/e25leHRTdGF0ZToiUkVUUlkiLHBhcmFtczp7Li4uYSxlcnJvcjpuZXcgeTUodix6Lm1lc3NhZ2UpLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fX1rJiZjJiZjLmRlbGV0ZShrKTt3MCh2MChmLmlucHV0KSkoKTtmLmNvbmZpZz8ucG4mJl8uQXEoZi5jb25maWcucG4pO2lmKCF2KXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fTtpZih2JiZ0eXBlb2Ygdj09PQoib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodikmJihrPXYsay5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJihrPWsuZXJyb3JNZXRhZGF0YS5zdGF0dXMsdD1rPT09NTAzfHxrPT09NTA0fHxrPT09NDI5PzI6az49NDAwJiZrPDUwMHx8az49NTAwPzM6MCxHMyh0KSYmXy54KCJ3ZWJfZW5hYmxlX3JldHJpZXMiKSkpKXJldHVybntuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLmEsZXJyb3I6bmV3IHk1KHQsYEhUVFAgU3RhdHVzICR7a31gLGspLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OyFoJiZ2JiYoaz1kKCksaz15aWVsZCpwMyhJMyhrLHt3aXJlUmVzcG9uc2U6dix5dFJlcXVlc3Q6ZixyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifX0pKSx0PWsuY29udGVudHx8ay5wbGF5ZXJ8fGsuZG4say50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZ0JiYodj10KSk7az12O2lmKEFycmF5LmlzQXJyYXkodikpaWYodj12LmZpbHRlcih6PT4hKHoucGxheWVyUmVzcG9uc2V8fAp6LndhdGNoTmV4dFJlc3BvbnNlfHx6KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLHYubGVuZ3RoPT09MSlrPXZbMF07ZWxzZSBpZih2Lmxlbmd0aD4xKWs9di5maW5kKHo9Pnoud2F0Y2hOZXh0UmVzcG9uc2UpfHx2WzBdO2Vsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiT2UiKX07cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aCYmIV8ueCgid2ViX25tX2ZldGNoX2NodW5rX2NhbGxiYWNrX2tzIik/bjprfX0oKX0pfX07UDNbXy5Mbl09W3I0LEozLGE0LF8uSW4obmV3IF8uVnMoIlJFUVVFU1RfU0VRVUVOQ0lORyIpKV07dmFyIFEzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5qLGM9dGhpcy5vLGQ9YS55dFJlcXVlc3Q7cmV0dXJuIGI/LlBLKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KT9vMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBlPXlpZWxkKnAzKGszKGIuUEooZC5pbnB1dCxkLmlubmVyVHViZVJlcXVlc3QpKSksZj1jKCk7aWYoZS5wbGF5ZXJSZXNwb25zZSYmZS53YXRjaE5leHRSZXNwb25zZSl7dmFyIGg9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTplLnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZS5wbGF5ZXJSZXNwb25zZX0pKTtoPXlpZWxkKnAzKEgzKGYsCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOmUud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDphLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTplLndhdGNoTmV4dFJlc3BvbnNlfSkpfWVsc2UgaD15aWVsZCpwMyhIMyhmLHt3aXJlUmVzcG9uc2U6ZSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZX0pKTtmPWguY29udGVudHx8aC5wbGF5ZXJ8fGguZG47aC50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZmJiYoZT1mKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTplfX0oKX0pOmszKHtuZXh0U3RhdGU6IkNPTlRFWFQiLHBhcmFtczphfSl9fTtRM1tfLkxuXT1bYTQsXy5Jbih4NSldO3ZhciBSMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3RyeXt2YXIgYz15aWVsZCpwMyhkdWEoYixhLmNvbW1hbmQsISFhLmNodW5rQ2FsbGJhY2spKX1jYXRjaChkKXtyZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOmR9fXJldHVybihjPWMuRChhLmNvbW1hbmQsYS5mb3JtLGEuaWRlbnRpdHkpKT97bmV4dFN0YXRlOiJDQUNIRSIscGFyYW1zOnt5dFJlcXVlc3Q6YyxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFja319OntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIlBlIil9fSgpfSl9fTtSM1tfLkxuXT1bdTRdO3ZhciBTMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6ZCxjb25maWc6ZT17UmQ6e2lkZW50aXR5OkEzfX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTpmPSEwLGNodW5rQ2FsbGJhY2s6aH09YTtiLmNvbnRleHR8fChiLmNvbnRleHQ9dzMoZCxmKSk7dmFyIGs9WDAoWTAoYykpO3JldHVybntuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDp7aW5wdXQ6ayx3YjpaMChrKSxpbm5lclR1YmVSZXF1ZXN0OmIsY29uZmlnOmV9LGNodW5rQ2FsbGJhY2s6aH19fSgpfSl9fTt2YXIgVjM9Y2xhc3MgZXh0ZW5kcyB0NXt9O1YzW18uTG5dPVtVM107dmFyIFQzPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLnl0UmVxdWVzdCxjPWEuZXJyb3IsZD1hLmF0dGVtcHQsZT1hLmNodW5rQ2FsbGJhY2ssZj1iLmNvbmZpZz8uREs7aWYoIShmJiZjIGluc3RhbmNlb2YgeTUmJkczKGMudHlwZSkpfHxkPihmLm1heFJldHJpZXM/PzApKXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZX19O3ZhciBoPShjPWYuWEgpP2MuY0ooZCk6LTE7aD09PS0xJiYoaD0xRTMpO2YuQ3khPT12b2lkIDAmJihoPU1hdGgubWluKGgsZi5DeSkpO3lpZWxkKnAzKGszKG5ldyBQcm9taXNlKGs9PntfLk50KGssaCl9KSkpO3JldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZSxhdHRlbXB0OmR9fX0oKX0pfX07dmFyIFczPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLmNodW5rQ2FsbGJhY2ssYz1hLnJlc3BvbnNlUGF5bG9hZCxkPWEud2lyZVJlc3BvbnNlO2ImJihiKGMpLCJwbGF5ZXJSZXNwb25zZSJpbiBkJiZkLnBsYXllclJlc3BvbnNlJiYoXy5DaygpLChiPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpKSYmYig0KSkpO3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmN9fSgpfSl9fTt2YXIgbndhPVsidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5Ccm93c2VSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGxheWVyUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBhbmVsUmVzcG9uc2UiXSxYMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9YS5vbmVQbGF0Zm9ybUVycm9yO2lmKGImJiJkZXRhaWxzImluIGImJmIuZGV0YWlscyl7Yj1iLmRldGFpbHM7Zm9yKGxldCBjIG9mIGIpaWYoKGI9Y1siQHR5cGUiXSkmJm53YS5pbmRleE9mKGIpPi0xKXJldHVybiBkZWxldGUgY1siQHR5cGUiXSx7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIiwKcGFyYW1zOnsuLi5hLGV4dHJhY3RlZFJlc3BvbnNlOmN9fX1yZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOkVycm9yKCJTZSIpfX0oKX0pfX07dmFyIFkzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLmV4dHJhY3RlZFJlc3BvbnNlLGQ9YS55dFJlcXVlc3QsZT1hLnJlc3BvbnNlUGF5bG9hZCxmPWEud2lyZVJlc3BvbnNlO2lmKGMmJiEoImNvZGUiaW4gY3x8ImVycm9yImluIGMpJiYhYy5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2YgRjMpYltoXSYmYltoXS5oYW5kbGVSZXNwb25zZShjLGQpO2Yud2F0Y2hOZXh0UmVzcG9uc2V8fGYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2Yud2F0Y2hOZXh0UmVzcG9uc2U/ZS5jb250ZW50PWYud2F0Y2hOZXh0UmVzcG9uc2U6ZS5jb250ZW50PWYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmYucGxheWVyUmVzcG9uc2U/ZS5wbGF5ZXI9Zi5wbGF5ZXJSZXNwb25zZTpmLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CmUuZG49Zi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmUuY29udGVudD1mO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczphfX0oKX0pfX07WTNbXy5Mbl09W18uSnldO3ZhciBiND1jbGFzcyBleHRlbmRzIHQ1e307YjRbXy5Mbl09WyQzXTt2YXIgWjM9Y2xhc3MgZXh0ZW5kcyB1NXtleGVjdXRlKGEpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPWEud2lyZVJlc3BvbnNlLGM7QXJyYXkuaXNBcnJheShiKT9jPWJbMF06dHlwZW9mIGI9PT0ib2JqZWN0IiYmYiE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gYnx8IndhdGNoTmV4dFJlc3BvbnNlImluIGJ8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gYnx8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gYik/Yz1iLnBsYXllclJlc3BvbnNlfHxiLndhdGNoTmV4dFJlc3BvbnNlfHxiLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Yi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmM9YjtyZXR1cm4gYyYmImVycm9yImluIGM/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4uYSxvbmVQbGF0Zm9ybUVycm9yOmMuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLmEsZXh0cmFjdGVkUmVzcG9uc2U6Y319fSgpfSl9fTt2YXIgb3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBpd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxkd2EpfHx2b2lkIDB9aihhLGIsYz17fSl7Yi5jaGFubmVsSWRzJiYoYS5jaGFubmVsSWRzPWIuY2hhbm5lbElkcyk7Yi5zaWxvTmFtZSYmKGEuc2lsb05hbWU9Yi5zaWxvTmFtZSk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yy5ib3RndWFyZFJlc3BvbnNlJiYoYS5ib3RndWFyZFJlc3BvbnNlPWMuYm90Z3VhcmRSZXNwb25zZSk7Yy5mZWF0dXJlJiYoYS5jbGllbnRGZWF0dXJlPWMuZmVhdHVyZSl9fTt2YXIgcHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBqd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLkR5KXx8dm9pZCAwfWooYSxiKXtiLmNoYW5uZWxJZHMmJihhLmNoYW5uZWxJZHM9Yi5jaGFubmVsSWRzKTtiLnNpbG9OYW1lJiYoYS5zaWxvTmFtZT1iLnNpbG9OYW1lKTtiLnBhcmFtcyYmKGEucGFyYW1zPWIucGFyYW1zKX19O3ZhciB6NT1jbGFzcyBleHRlbmRzIHc1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5JPWF9digpe3JldHVybiBld2F9byhhKXtyZXR1cm4gXy5CKGEsXy5aeil8fF8uQihhLF8uTWFhKXx8Xy5CKGEsXy5Zeil9aihhLGIpe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtiLmNsaWVudFBhcmFtSWRlbnRpZmllciYmdGhpcy5JPy5qKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKGEuY2xpZW50UGFyYW1zPXRoaXMuSS5vKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSl9fTt6NVtfLkxuXT1bbmV3IF8uVnMoIlNIQVJFX0NMSUVOVF9QQVJBTVNfUFJPVklERVJfVE9LRU4iKV07dmFyIHF3YT1jbGFzcyBleHRlbmRzIHc1e3YoKXtyZXR1cm4gcTV9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLlV6KXx8dm9pZCAwfWooYSxiLGMpe2EuZmVlZGJhY2tUb2tlbnM9W107Yi5mZWVkYmFja1Rva2VuJiZhLmZlZWRiYWNrVG9rZW5zLnB1c2goYi5mZWVkYmFja1Rva2VuKTtpZihiPWIuY3BufHxjLmNwbilhLmZlZWRiYWNrQ29udGV4dD17Y3BuOmJ9O2EuaXNGZWVkYmFja1Rva2VuVW5lbmNyeXB0ZWQ9ISFjLmlzX2ZlZWRiYWNrX3Rva2VuX3VuZW5jcnlwdGVkO2Euc2hvdWxkTWVyZ2U9ITE7Yy5leHRyYV9mZWVkYmFja190b2tlbnMmJihhLnNob3VsZE1lcmdlPSEwLGEuZmVlZGJhY2tUb2tlbnM9YS5mZWVkYmFja1Rva2Vucy5jb25jYXQoYy5leHRyYV9mZWVkYmFja190b2tlbnMpKX19O3ZhciByd2E9Y2xhc3MgZXh0ZW5kcyB3NXt2KCl7cmV0dXJuIHE1fW8oYSl7cmV0dXJuIF8uQihhLF8uQ3kpfWdldCBCKCl7cmV0dXJuITB9aihhLGIpe2IudW5kb1Rva2VuJiYoYS5mZWVkYmFja1Rva2Vucz1bYi51bmRvVG9rZW5dKTtiLmlzVW5kb1Rva2VuVW5lbmNyeXB0ZWQmJihhLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPWIuaXNVbmRvVG9rZW5VbmVuY3J5cHRlZCl9fTt2YXIgc3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBnd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5CeSl8fHZvaWQgMH1qKGEsYil7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5zZWNvbmRhcnlQYXJhbXMmJihhLnNlY29uZGFyeVBhcmFtcz1iLnNlY29uZGFyeVBhcmFtcyl9fTt2YXIgdHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBod2F9byhhKXtyZXR1cm4gXy5CKGEsXy5Beil8fHZvaWQgMH1qKGEsYil7Yi5hY3Rpb25zJiYoYS5hY3Rpb25zPWIuYWN0aW9ucyk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5wbGF5bGlzdElkJiYoYS5wbGF5bGlzdElkPWIucGxheWxpc3RJZCl9fTt2YXIgdXdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBmd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5OYWEpfWooYSxiLGM9e30pe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtjLmluY2x1ZGVMaXN0SWQmJihhLmluY2x1ZGVMaXN0SWQ9ITApfX07dmFyIHZ3YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5yZXF1ZXN0S2V5PWE7dGhpcy5CPWI7dGhpcy5vPWM7dGhpcy5EPSgpPT5uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5qPXZvaWQgMDt0aGlzLnY9W119Z2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKXtyZXR1cm4gdGhpcy5vfX07dmFyIG91YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj0wO3RoaXMuWGc9Yj8uWGc/P3dpbmRvdzt0aGlzLnltPWI/LnltO3RoaXMucmVxdWVzdEtleT1iPy5yZXF1ZXN0S2V5Pz8oXy50aigicGFyX2Jpcl9rZXkiKXx8Ik80M3owZHBqaGdYMjBTQ3g0S0FvIik7dGhpcy5Icz1iPy5Icz8/KGQ9Pm5ldyBxMihkKSk7dmFyIGM9Yj8uVkk/PygoZCxlLGYpPT5uZXcgdndhKGQsZSxmKSk7dGhpcy5iZ0NoYWxsZW5nZT1TMihhLmJnQ2hhbGxlbmdlKTt0aGlzLnR0bFNlY29uZHM9VTIoVDIoYS5jaGFsbGVuZ2V8fCIiKSk7dGhpcy5vZD1jKHRoaXMucmVxdWVzdEtleSxfLngoInBhcl9hdF9lcCIpP1sid3d3LnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSJdLmluY2x1ZGVzKF8udS5sb2NhdGlvbi5ob3N0bmFtZSk/Ii9hcGkvam5uL3YxL0dlbmVyYXRlSVQiOiJodHRwczovL2pubi1wYS5nb29nbGVhcGlzLmNvbS8kcnBjL2dvb2dsZS5pbnRlcm5hbC53YWEudjEuV2FhL0dlbmVyYXRlSVQiOgoiaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixhKTt0aGlzLkpzPWI/LkpzO251YSh0aGlzLm9kKTt0aGlzLkdyPWI/LkdyPz8oZD0+e18uU2UodGhpcy5YZy5kb2N1bWVudCwidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pnt0aGlzLlhnLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIiYmZCgpfSl9KX12KCl7RGF0ZS5ub3coKT50aGlzLmordGhpcy50dGxTZWNvbmRzKjFFMyYmdGhpcy52bT8uVSgpfX07dmFyIHV1YT1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSx3d2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy52bT1udWxsO3RoaXMuaj12b2lkIDB9aW5pdGlhbGl6ZShhLGIsYyxkKXt0aGlzLmo9ZDtpZihhLnByb2dyYW0pe3ZhciBlO2Q9YS5pbnRlcnByZXRlclVybD8/bnVsbDthLmludGVycHJldGVyU2FmZVNjcmlwdD9lPVlfKGEuaW50ZXJwcmV0ZXJTYWZlU2NyaXB0KTplPWEuaW50ZXJwcmV0ZXJTY3JpcHQ/P251bGw7YS5pbnRlcnByZXRlclNhZmVVcmwmJihkPV8uaHcoYS5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO3R1YSh0aGlzLGUsZCxhLnByb2dyYW0sYixjKX1lbHNlIF8uSXAoRXJyb3IoIlVlIikpfWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy52KCl9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PQoyfWludm9rZShhPXt9KXtyZXR1cm4gdGhpcy52KCk/dGhpcy5CKHtLYzphfSk6bnVsbH1kaXNwb3NlKCl7dGhpcy5vKG51bGwpO3RoaXMuUyg4KX12KCl7cmV0dXJuISF0aGlzLnZtfUIoYSl7cmV0dXJuIHRoaXMudm0uWHIoYSl9byhhKXtfLlpkKHRoaXMudm0pO3RoaXMudm09YX1TKGEpe3RoaXMuc3RhdGU9YX19O3ZhciB4d2E9Y2xhc3MgZXh0ZW5kcyB3d2F7byhhKXttNCgpPy5iZ3ZtYSgpO2lmKGEpe2xldCBiPXtiZ3ZtYTphLmRpc3Bvc2UuYmluZChhKSxiZ3ZtYjphLnNuYXBzaG90LmJpbmQoYSksYmd2bWM6YS5Yci5iaW5kKGEpfTtfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLGIpO18uRmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsYz0+YS5zbmFwc2hvdChjKSl9ZWxzZSBfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLF8ucmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9digpe3JldHVybiEhbTQoKX1CKGEpe3JldHVybiBtNCgpLmJndm1jKGEpfX07dmFyIHl3YT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoKXtzdXBlcigiZG9jdW1lbnRfYWN0aXZlIik7dGhpcy52PTEwO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF9hY3RpdmUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIsYWN0aW9uOnRoaXMuWX0se2Zyb206ImRvY3VtZW50X2FjdGl2ZSIsdG86ImRvY3VtZW50X2Rpc3Bvc2VkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZmx1c2hfbG9ncyIsYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJmbHVzaF9sb2dzIiwKYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOigpPT57fX0se2Zyb206ImZsdXNoX2xvZ3MiLHRvOiJkb2N1bWVudF9hY3RpdmUiLGFjdGlvbjp0aGlzLkR9XTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGE9Pnt0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIix7ZXZlbnQ6YX0pO2EucGVyc2lzdGVkPT09ITEmJih0aGlzLm89bmV3IE1hcCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIse2V2ZW50OmF9KX0pfVkoYSxiKXtpZighdGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiKSYmKGEoYj8uZXZlbnQpLGI/LmV2ZW50Py5kZWZhdWx0UHJldmVudGVkfHwKYj8uZXZlbnQ/LnJldHVyblZhbHVlKSl7Yi5ldmVudC5yZXR1cm5WYWx1ZXx8KGIuZXZlbnQucmV0dXJuVmFsdWU9ITApO2IuZXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8Yi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIik7cmV0dXJufXRoaXMuby5zZXQoImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIiwhMCk7dGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWQiKT90aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKTp0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIil9SyhhLGIpe3RoaXMuby5nZXQoImRvY3VtZW50X2Rpc3Bvc2VkIik/dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9hY3RpdmUiKTooYShiPy5ldmVudCksdGhpcy5vLnNldCgiZG9jdW1lbnRfZGlzcG9zZWQiLCEwKSx0aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKSl9SShhLGIpe2EoYj8uZXZlbnQpO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIil9RCgpe3RoaXMubz0KbmV3IE1hcH19O3ZhciB6d2E9Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoImRvY3VtZW50X3Zpc2liaWxpdHlfdW5rbm93biIpO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF92aXNpYmlsaXR5X3Vua25vd24iLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfYmFja2dyb3VuZGVkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X3Zpc2libGUiLHRvOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLAphY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X3Zpc2libGUiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfaGlkZGVuIix0bzoiZG9jdW1lbnRfdmlzaWJsZSIsYWN0aW9uOnRoaXMuRH0se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2JhY2tncm91bmRlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X2JhY2tncm91bmRlZCIsdG86ImRvY3VtZW50X2hpZGRlbiIsCmFjdGlvbjp0aGlzLm99LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfV07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj90aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X3Zpc2libGUiLHtldmVudDphfSk6dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9oaWRkZW4iLHtldmVudDphfSl9KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHtldmVudDphfSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLAphPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHtldmVudDphfSl9KSl9RChhLGIpe2EoYj8uZXZlbnQpO18ueCgidmlzaWJpbGl0eV9saWZlY3ljbGVzX2R5bmFtaWNfYmFja2dyb3VuZGluZyIpJiZ0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2ZvcmVncm91bmRlZCIpfW8oYSxiKXthKGI/LmV2ZW50KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmdGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiKX1LKGEsYil7YShiPy5ldmVudCl9SShhLGIpe2EoYj8uZXZlbnQpfX07dmFyIEF3YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj1uZXcgeXdhO3RoaXMuRD1uZXcgendhfWluc3RhbGwoLi4uYSl7YS5mb3JFYWNoKGI9Pnt0aGlzLkIuaW5zdGFsbChiKX0pO2EuZm9yRWFjaChiPT57dGhpcy5ELmluc3RhbGwoYil9KX19O3ZhciBPND1jbGFzcyBleHRlbmRzIEF3YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5qfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmdGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5vfX0pO3RoaXMuaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6dGhpcy52fX0pO18ueCgid2ViX2xvZ19jZmdfY2VlX2tzIil8fF8uWWoodnVhKX12KCl7Xy5FcCgiZmluYWxQYXlsb2FkIix7Y3NuOl8uaXEoKX0pfWooKXtfLm15KF8uRXkpO18uRnkhPW51bGwmJl8uRnkuZmx1c2goKX1vKCl7Xy5reChfLmh4KCkpfX07dmFyIG40PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEsYik7dGhpcy5lcnJvclR5cGU9MTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgczQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YXN5bmMgZmV0Y2goYSxiLGMsZCl7YT13dWEodGhpcyxhLGIpO3RyeXtsZXQgZT1hd2FpdCBmZXRjaChhKTtpZihkJiZlLm9rJiZlLmJvZHkmJnR5cGVvZiBlLmJvZHkuZ2V0UmVhZGVyPT09ImZ1bmN0aW9uIil7bGV0IGY9ZS5jbG9uZSgpLmJvZHkuZ2V0UmVhZGVyKCkse3ZhbHVlOmh9PWF3YWl0IGYucmVhZCgpO2YuY2FuY2VsKCkuY2F0Y2goKCk9Pnt9KTtpZihoJiZoWzBdPT09OTEpe2xldCBrPWUuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBvNCh0aGlzLGssbmV3IHoyLFtdLGQpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShlLGMpfWNhdGNoKGUpe2lmKF8uSXAoZSksYz8uUHYmJmUgaW5zdGFuY2VvZiBuNCYmZS5lcnJvclR5cGU9PT0xKXRocm93IGU7fX1oYW5kbGVSZXNwb25zZShhLGIpe3ZhciBjPWEudGV4dCgpLnRoZW4oZD0+e2lmKGI/Lmd5JiYKYS5vaylyZXR1cm4gXy5YeChiLmd5LGQpO2Q9ZC5yZXBsYWNlKCIpXX0nIiwiIik7aWYoYj8uUHYmJmQpdHJ5e3ZhciBlPUpTT04ucGFyc2UoZCl9Y2F0Y2goZil7dGhyb3cgbmV3IG40KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiBlPz9KU09OLnBhcnNlKGQpfSk7YS5yZWRpcmVjdGVkfHxhLm9rP3RoaXMuaiYmdGhpcy5qLnN1Y2Nlc3MoKToodGhpcy5qJiZ0aGlzLmouU0koKSxjPWMudGhlbihkPT57Xy5JcChuZXcgXy5YaigiRXJyb3I6IEFQSSBmZXRjaCBmYWlsZWQiLGEuc3RhdHVzLGEudXJsLGQpKTtyZXR1cm57Li4uZCxlcnJvck1ldGFkYXRhOntzdGF0dXM6YS5zdGF0dXN9fX0pKTtyZXR1cm4gY319O3M0W18uTG5dPVtfLkluKG5ldyBfLlZzKCJORVRXT1JLX1NMSV9UT0tFTiIpKV07dmFyIHA0PWNsYXNze3N0YXRpYyBqYygpe3ZhciBhPV8uc2EoInl0Z2xvYmFsLnN0b3JhZ2VfIik7YXx8KGE9bmV3IHA0LF8ucmEoInl0Z2xvYmFsLnN0b3JhZ2VfIixhKSk7cmV0dXJuIGF9YXN5bmMgZXN0aW1hdGUoKXt2YXIgYT1uYXZpZ2F0b3I7aWYoYS5zdG9yYWdlPy5lc3RpbWF0ZSlyZXR1cm4gYS5zdG9yYWdlLmVzdGltYXRlKCk7aWYoYS53ZWJraXRUZW1wb3JhcnlTdG9yYWdlPy5xdWVyeVVzYWdlQW5kUXVvdGEpcmV0dXJuIHh1YSgpfWFzeW5jIHBlcnNpc3QoKXt2YXIgYT1uYXZpZ2F0b3I7cmV0dXJuIGEuc3RvcmFnZT8ucGVyc2lzdD9hd2FpdCBhLnN0b3JhZ2U/LnBlcnNpc3QoKT8iUEVSU0lTVEVEX1NUQVRFX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX1NVUFBPUlRFRCJ9fTtfLnJhKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixwNCk7dmFyIEFyYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaGFuZGxlRXJyb3I9YTt0aGlzLmo9Yjt0aGlzLm89ITE7c2VsZi5kb2N1bWVudD09PXZvaWQgMHx8c2VsZi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgpPT57dGhpcy5vPSEwfSk7dGhpcy52PU1hdGgucmFuZG9tKCk8PS4yfUpiKGEpe3RoaXMuaGFuZGxlRXJyb3IoYSl9bG0oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiSURCX0RBVEFfQ09SUlVQVEVEIjpfLngoImlkYl9kYXRhX2NvcnJ1cHRlZF9raWxsc3dpdGNoIil8fHRoaXMuaigiaWRiRGF0YUNvcnJ1cHRlZCIsYik7YnJlYWs7Y2FzZSAiSURCX1VORVhQRUNURURMWV9DTE9TRUQiOnRoaXMuaigiaWRiVW5leHBlY3RlZGx5Q2xvc2VkIixiKTticmVhaztjYXNlICJJU19TVVBQT1JURURfQ09NUExFVEVEIjpfLngoImlkYl9pc19zdXBwb3J0ZWRfY29tcGxldGVkX2tpbGxzd2l0Y2giKXx8dGhpcy5qKCJpZGJJc1N1cHBvcnRlZENvbXBsZXRlZCIsYik7YnJlYWs7CmNhc2UgIlFVT1RBX0VYQ0VFREVEIjp5dWEodGhpcyxiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9FTkRFRCI6dGhpcy52JiZNYXRoLnJhbmRvbSgpPD0uMSYmdGhpcy5qKCJpZGJUcmFuc2FjdGlvbkVuZGVkIixiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCI6dGhpcy5qKCJpZGJUcmFuc2FjdGlvbkFib3J0ZWQiLHsuLi5iLGhhc1dpbmRvd1VubG9hZGVkOnRoaXMub30pfX19O3ZhciBBNT0hMTt2YXIgQ3VhPXtGaTp7ZmVlZGJhY2tFbmRwb2ludDp5Myhxd2EpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6eTMoc3dhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDp5Myh0d2EpLHNoYXJlRW50aXR5RW5kcG9pbnQ6eTMoejUpLHN1YnNjcmliZUVuZHBvaW50OnkzKG93YSksdW5kb0ZlZWRiYWNrRW5kcG9pbnQ6eTMocndhKSx1bnN1YnNjcmliZUVuZHBvaW50OnkzKHB3YSksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6eTModXdhKX19O3ZhciBGdWE9bmV3IE1hcCxFdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMud2ViUGxheWVyQ29udGV4dENvbmZpZz1iO3RoaXMuaj1jO3RoaXMuRWo9ZDt0aGlzLnBsYXllclZhcnM9ZTtKdWEodGhpcyl9bGEoKXt0aGlzLmFwaSYmdGhpcy5hcGkuZGVzdHJveSgpO1dfKHRoaXMuY29udGFpbmVyKTtzdXBlci5sYSgpfX07dmFyIEJ3YT17WyJhcGkuaW52YWxpZHBhcmFtIl06MixhdXRoOjE1MCxbImRybS5hdXRoIl06MTUwLFsiaGVhcnRiZWF0Lm5ldCJdOjE1MCxbImhlYXJ0YmVhdC5zZXJ2ZXJlcnJvciJdOjE1MCxbImhlYXJ0YmVhdC5zdG9wIl06MTUwLFsiaHRtbDUudW5zdXBwb3J0ZWRhZHMiXTo1LFsiZm10Lm5vbmVhdmFpbGFibGUiXTo1LFsiZm10LmRlY29kZSJdOjUsWyJmbXQudW5wbGF5YWJsZSJdOjUsWyJodG1sNS5taXNzaW5nYXBpIl06NSxbImh0bWw1LnVuc3VwcG9ydGVkbGl2ZSJdOjUsWyJkcm0udW5hdmFpbGFibGUiXTo1LFsibXJtLmJsb2NrZWQiXToxNTEsWyJlbWJlZGRlci5pZGVudGl0eS5kZW5pZWQiXToxNTIsWyJlbWJlZGRlci5pZGVudGl0eS5taXNzaW5nLnJlZmVycmVyIl06MTUzfTt2YXIgTHVhPW5ldyBTZXQoImVuZFNlY29uZHMgc3RhcnRTZWNvbmRzIG1lZGlhQ29udGVudFVybCBzdWdnZXN0ZWRRdWFsaXR5IHZpZGVvSWQgcmN0IHJjdG4gcGxheW11dGVkIG11dGVkX2F1dG9wbGF5X2R1cmF0aW9uX21vZGUiLnNwbGl0KCIgIikpO3ZhciBXdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7dmFyIGE9TDQsYj1INDtzdXBlcigpO3RoaXMuYXBpPWE7dGhpcy52PXRoaXMuTT0hMTt0aGlzLlU9W107dGhpcy5aPXt9O3RoaXMuQj1bXTt0aGlzLm89W107dGhpcy5oYT0hMTt0aGlzLnNlc3Npb25JZD10aGlzLmo9bnVsbDt0aGlzLnRhcmdldE9yaWdpbj0iKiI7dGhpcy5nYT1fLngoIndlYl9wbGF5ZXJfc3BsaXRfZXZlbnRfYnVzX2lmcmFtZSIpO3RoaXMuST1fLncoIlBPU1RfTUVTU0FHRV9PUklHSU4iKXx8YCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfWA7dGhpcy5EPWM9Pnt0aGlzLm9uTWVzc2FnZShjKX07QjUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5EKTtpZihhPV8udygiV0lER0VUX0lEIikpdGhpcy5zZXNzaW9uSWQ9YTtiJiZ0aGlzLkQoYik7QTQodGhpcywib25SZWFkeSIsKCk9Pnt0aGlzLk09ITA7dmFyIGM9dGhpcy5hcGkuZ2V0VmlkZW9EYXRhKCk7CmMuaXNQbGF5YWJsZXx8KHRoaXMuaGE9ITAsdGhpcy5lcnJvckNvZGU9KGM9Yy5lcnJvckNvZGUpP0J3YVtjXXx8NTo1LHRoaXMuc2VuZE1lc3NhZ2UoIm9uRXJyb3IiLE51bWJlcih0aGlzLmVycm9yQ29kZSkpKTtENCh0aGlzKTt0aGlzLmp8fHRoaXMudnx8d2luZG93LnBhcmVudD09PXdpbmRvd3x8IXRoaXMuc2Vzc2lvbklkfHxDNCh0aGlzLHtldmVudDoicmVhZHlUb0xpc3RlbiJ9LHdpbmRvdy5wYXJlbnQpfSk7QTQodGhpcywib25WaWRlb1Byb2dyZXNzIix0aGlzLmZjLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uVm9sdW1lQ2hhbmdlIix0aGlzLlZkLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uQXBpQ2hhbmdlIix0aGlzLm9hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlIix0aGlzLk1hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tSYXRlQ2hhbmdlIix0aGlzLlFhLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uU3RhdGVDaGFuZ2UiLHRoaXMuRWIuYmluZCh0aGlzKSk7CkE0KHRoaXMsIm9uV2ViZ2xTZXR0aW5nc0NoYW5nZWQiLHRoaXMuRmwuYmluZCh0aGlzKSk7QTQodGhpcywib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLHRoaXMueWEuYmluZCh0aGlzKSk7QTQodGhpcywiY2FwdGlvbnNzZXR0aW5nc2NoYW5nZWQiLHRoaXMuRmEuYmluZCh0aGlzKSl9c2VuZE1lc3NhZ2UoYSxiKXthPXtldmVudDphLGluZm86Yj09PXZvaWQgMD9udWxsOmJ9O3RoaXMudj9DNCh0aGlzLGEpOnRoaXMuVS5wdXNoKGEpfUViKGEpe2E9e3BsYXllclN0YXRlOmEsY3VycmVudFRpbWU6dGhpcy5hcGkuZ2V0Q3VycmVudFRpbWUoKSxkdXJhdGlvbjp0aGlzLmFwaS5nZXREdXJhdGlvbigpLHZpZGVvRGF0YTp0aGlzLmFwaS5nZXRWaWRlb0RhdGEoKSx2aWRlb1N0YXJ0Qnl0ZXM6MCx2aWRlb0J5dGVzVG90YWw6dGhpcy5hcGkuZ2V0VmlkZW9CeXRlc1RvdGFsKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCkscGxheWJhY2tRdWFsaXR5OnRoaXMuYXBpLmdldFBsYXliYWNrUXVhbGl0eSgpLAphdmFpbGFibGVRdWFsaXR5TGV2ZWxzOnRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSxjdXJyZW50VGltZUxhc3RVcGRhdGVkXzpEYXRlLm5vdygpLzFFMyxwbGF5YmFja1JhdGU6dGhpcy5hcGkuZ2V0UGxheWJhY2tSYXRlKCksbWVkaWFSZWZlcmVuY2VUaW1lOnRoaXMuYXBpLmdldE1lZGlhUmVmZXJlbmNlVGltZSgpfTt0aGlzLmFwaS5nZXRWaWRlb1VybCYmKGEudmlkZW9Vcmw9dGhpcy5hcGkuZ2V0VmlkZW9VcmwoKSk7dGhpcy5hcGkuZ2V0VmlkZW9Db250ZW50UmVjdCYmKGEudmlkZW9Db250ZW50UmVjdD10aGlzLmFwaS5nZXRWaWRlb0NvbnRlbnRSZWN0KCkpO3RoaXMuYXBpLmdldFByb2dyZXNzU3RhdGUmJihhLnByb2dyZXNzU3RhdGU9dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSgpKTt0aGlzLmFwaS5nZXRQbGF5bGlzdCYmKGEucGxheWxpc3Q9dGhpcy5hcGkuZ2V0UGxheWxpc3QoKSk7dGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCYmKGEucGxheWxpc3RJbmRleD0KdGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCgpKTtFNCh0aGlzLGEpfU1hKGEpe2E9e3BsYXliYWNrUXVhbGl0eTphfTt0aGlzLmFwaS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzJiYoYS5hdmFpbGFibGVRdWFsaXR5TGV2ZWxzPXRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSk7dGhpcy5hcGkuZ2V0UHJlZmVycmVkUXVhbGl0eSYmKGEucHJlZmVycmVkUXVhbGl0eT10aGlzLmFwaS5nZXRQcmVmZXJyZWRRdWFsaXR5KCkpO0U0KHRoaXMsYSl9UWEoYSl7RTQodGhpcyx7cGxheWJhY2tSYXRlOmF9KX1vYSgpe3ZhciBhPXRoaXMuYXBpLmdldE9wdGlvbnMoKSxiPXtuYW1lc3BhY2VzOmF9O2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyl7bGV0IGU9YVtjXSxmPXRoaXMuYXBpLmdldE9wdGlvbnMoZSk7YltlXT17b3B0aW9uczpmfTtmb3IobGV0IGg9MCxrPWYubGVuZ3RoO2g8aztoKyspe2xldCBsPWZbaF0sbT10aGlzLmFwaS5nZXRPcHRpb24oZSxsKTtiW2VdW2xdPQptfX10aGlzLnNlbmRNZXNzYWdlKCJhcGlJbmZvRGVsaXZlcnkiLGIpfVZkKCl7RTQodGhpcyx7bXV0ZWQ6dGhpcy5hcGkuaXNNdXRlZCgpLHZvbHVtZTp0aGlzLmFwaS5nZXRWb2x1bWUoKX0pfWZjKGEpe2E9e2N1cnJlbnRUaW1lOmEsdmlkZW9CeXRlc0xvYWRlZDp0aGlzLmFwaS5nZXRWaWRlb0J5dGVzTG9hZGVkKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksY3VycmVudFRpbWVMYXN0VXBkYXRlZF86RGF0ZS5ub3coKS8xRTMscGxheWJhY2tSYXRlOnRoaXMuYXBpLmdldFBsYXliYWNrUmF0ZSgpLG1lZGlhUmVmZXJlbmNlVGltZTp0aGlzLmFwaS5nZXRNZWRpYVJlZmVyZW5jZVRpbWUoKX07dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSYmKGEucHJvZ3Jlc3NTdGF0ZT10aGlzLmFwaS5nZXRQcm9ncmVzc1N0YXRlKCkpO0U0KHRoaXMsYSl9RmwoKXtFNCh0aGlzLHtzcGhlcmljYWxQcm9wZXJ0aWVzOnRoaXMuYXBpLmdldFNwaGVyaWNhbFByb3BlcnRpZXMoKX0pfXlhKCl7aWYodGhpcy5hcGkuZ2V0Q2FwdGlvblRyYWNrcyl7bGV0IGE9CntjYXB0aW9uVHJhY2tzOnRoaXMuYXBpLmdldENhcHRpb25UcmFja3MoKX07RTQodGhpcyxhKX19RmEoKXtpZih0aGlzLmFwaS5nZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3Mpe2xldCBhPXtzdWJ0aXRsZXNVc2VyU2V0dGluZ3M6dGhpcy5hcGkuZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKCl9O0U0KHRoaXMsYSl9fW9uTWVzc2FnZShhKXtpZighKHRoaXMuSSE9PSIqIiYmYS5vcmlnaW4hPT10aGlzLkl8fHRoaXMuaiYmYS5zb3VyY2UhPT10aGlzLmp8fHR5cGVvZiBhLmRhdGEhPT0ic3RyaW5nIikpe3RyeXt2YXIgYj1KU09OLnBhcnNlKGEuZGF0YSl9Y2F0Y2goZil7cmV0dXJufWlmKGIpc3dpdGNoKGIuZXZlbnQpe2Nhc2UgImxpc3RlbmluZyI6dmFyIGM9YS5zb3VyY2U7YT1hLm9yaWdpbjtiPWIuaWQ7YSE9PSJudWxsIiYmKHRoaXMuST10aGlzLnRhcmdldE9yaWdpbj1hKTt0aGlzLmo9Yzt0aGlzLnNlc3Npb25JZD1iO0Q0KHRoaXMpO2JyZWFrO2Nhc2UgImNvbW1hbmQiOmM9Yi5mdW5jOwp2YXIgZD1iLmFyZ3M7aWYoYz09PSJhZGRFdmVudExpc3RlbmVyIiYmZCliPWRbMF0sYz1hLm9yaWdpbixiPT09Im9uUmVhZHkiP3RoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk6Yj09PSJvbkVycm9yIiYmdGhpcy5oYSYmKHRoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyx0aGlzLmVycm9yQ29kZSksdGhpcy5lcnJvckNvZGU9dm9pZCAwKSx0aGlzLmFwaS5sb2dBcGlDYWxsKGAke2J9IHJlZ2lzdHJhdGlvbmAsYyksdGhpcy5aW2JdfHxiPT09Im9uUmVhZHkifHwoYT1NdWEodGhpcyxiLGMpLHRoaXMuby5wdXNoKHtldmVudFR5cGU6YixsaXN0ZW5lcjphLG9yaWdpbjpjfSksdGhpcy5nYT90aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoImFkZEV2ZW50TGlzdGVuZXIiLFtiLGFdLGMpOnRoaXMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixhKSx0aGlzLlpbYl09ITApO2Vsc2UgaWYoYj1jLGM9ZCxhPWEub3JpZ2luLHRoaXMuYXBpLmlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUoYiwKYSkpe2M9Y3x8W107aWYoYy5sZW5ndGg+MCYmeDQoYikpe3ZhciBlPWM7aWYoXy5BYShlWzBdKSYmIUFycmF5LmlzQXJyYXkoZVswXSkpZD1lWzBdO2Vsc2Ugc3dpdGNoKGQ9e30sYil7Y2FzZSAibG9hZFZpZGVvQnlJZCI6Y2FzZSAiY3VlVmlkZW9CeUlkIjpkPXk0KGVbMF0sZVsxXSE9PXZvaWQgMD9OdW1iZXIoZVsxXSk6dm9pZCAwLGVbMl0pO2JyZWFrO2Nhc2UgImxvYWRWaWRlb0J5VXJsIjpjYXNlICJjdWVWaWRlb0J5VXJsIjpkPWVbMF07dHlwZW9mIGQ9PT0ic3RyaW5nIiYmKGQ9e21lZGlhQ29udGVudFVybDpkLHN0YXJ0U2Vjb25kczplWzFdIT09dm9pZCAwP051bWJlcihlWzFdKTp2b2lkIDAsc3VnZ2VzdGVkUXVhbGl0eTplWzJdfSk7Yjp7aWYoKGU9ZC5tZWRpYUNvbnRlbnRVcmwpJiYoZT0vXC8oW3ZlXXxlbWJlZClcLyhbXiM/XSspLy5leGVjKGUpKSYmZVsyXSl7ZT1lWzJdO2JyZWFrIGJ9ZT1udWxsfWQudmlkZW9JZD1lO2Q9eTQoZCk7YnJlYWs7Y2FzZSAibG9hZFBsYXlsaXN0IjpjYXNlICJjdWVQbGF5bGlzdCI6ZD0KejQoZVswXSxlWzFdLGVbMl0sZVszXSl9Yy5sZW5ndGg9MTtjWzBdPWR9dGhpcy5hcGkuaGFuZGxlRXh0ZXJuYWxDYWxsKGIsYyxhKTt4NChiKSYmRTQodGhpcyxCNCh0aGlzKSl9fX19bGEoKXtzdXBlci5sYSgpO0I1LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuRCk7Zm9yKHZhciBhPTA7YTx0aGlzLkIubGVuZ3RoO2ErKyl7dmFyIGI9dGhpcy5CW2FdO3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5saXN0ZW5lcil9dGhpcy5CPVtdO2ZvcihhPTA7YTx0aGlzLm8ubGVuZ3RoO2ErKyliPXRoaXMub1thXSx0aGlzLmdhP3RoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgicmVtb3ZlRXZlbnRMaXN0ZW5lciIsW2IuZXZlbnRUeXBlLGIubGlzdGVuZXJdLGIub3JpZ2luKTp0aGlzLmFwaS5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnRUeXBlLGIubGlzdGVuZXIpO3RoaXMubz1bXX19LEI1PXdpbmRvdzt2YXIgWHVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPUw0O3N1cGVyKCk7dGhpcy5hcGk9Yzt0aGlzLmlkPWE7dGhpcy5vcmlnaW49Yjt0aGlzLmo9e307dGhpcy52PV8ueCgid2ViX3BsYXllcl9zcGxpdF9ldmVudF9idXNfaWZyYW1lIik7dGhpcy5vPWQ9Pnt0aGlzLm9uTWVzc2FnZShkKX07QzUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5vKTtGNCh0aGlzLCJSRUNFSVZJTkciKX1hZGRMaXN0ZW5lcihhLGIpe2lmKCEoYSBpbiB0aGlzLmopKXt2YXIgYz10aGlzLkIuYmluZCh0aGlzLGEpO3RoaXMualthXT1jO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsYil9fUIoYSxiKXt0aGlzLmlhKCl8fEY0KHRoaXMsYSxPdWEoYSxiKSl9cmVtb3ZlTGlzdGVuZXIoYSxiKXthIGluIHRoaXMuaiYmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLHRoaXMualthXSxiKSxkZWxldGUgdGhpcy5qW2FdKX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXt0aGlzLnY/CmE9PT0ib25SZWFkeSI/dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpOnRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgiYWRkRXZlbnRMaXN0ZW5lciIsW2EsYl0sY3x8bnVsbCk6dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3RoaXMudj9hPT09Im9uUmVhZHkiP3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKTp0aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoInJlbW92ZUV2ZW50TGlzdGVuZXIiLFthLGJdLGN8fG51bGwpOnRoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKX1vbk1lc3NhZ2UoYSl7aWYoYS5vcmlnaW49PT10aGlzLm9yaWdpbil7dmFyIGI9YS5kYXRhO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe3RyeXtiPUpTT04ucGFyc2UoYil9Y2F0Y2goZSl7cmV0dXJufWlmKGIuY29tbWFuZCl7dmFyIGM9Yi5jb21tYW5kO2I9Yi5kYXRhO2E9YS5vcmlnaW47aWYoIXRoaXMuaWEoKSl7dmFyIGQ9CmJ8fHt9O3N3aXRjaChjKXtjYXNlICJhZGRFdmVudExpc3RlbmVyIjp0eXBlb2YgZC5ldmVudD09PSJzdHJpbmciJiZ0aGlzLmFkZExpc3RlbmVyKGQuZXZlbnQsYSk7YnJlYWs7Y2FzZSAicmVtb3ZlRXZlbnRMaXN0ZW5lciI6dHlwZW9mIGQuZXZlbnQ9PT0ic3RyaW5nIiYmdGhpcy5yZW1vdmVMaXN0ZW5lcihkLmV2ZW50LGEpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hcGkuaXNSZWFkeSgpJiZ0aGlzLmFwaS5pc0V4dGVybmFsTWV0aG9kQXZhaWxhYmxlKGMsYXx8bnVsbCkmJihiPVB1YShjLGJ8fHt9KSxiPXRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbChjLGIsYXx8bnVsbCksKGI9UXVhKGMsYikpJiZGNCh0aGlzLGMsYikpfX19fX19bGEoKXtDNS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm8pO2ZvcihsZXQgYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGEpO3N1cGVyLmxhKCl9fSxDNT13aW5kb3csTnVhPQp3aW5kb3cucGFyZW50O3ZhciBHND1uZXcgeHdhO3ZhciBMND1udWxsLE40PW51bGwsSjQ9KCk9Pnt9LEg0O3ZhciBUND0hMTtfLmZ0LnRoZW4oKCk9PntfLkFxKCJlcF9pbml0X2N1cyIpO2lmKCFBNSl7QTU9ITA7dmFyIGE9Xy54KCJlbmFibGVfd2l6X2NvbnRleHRfcGVyX2NvbXBvbmVudCIpfHwhMTtPYmplY3QuYXNzaWduKF8uS3Use1JpOiEwLEdwOmEsRnA6YSxHdjpfLngoIndlYl9pbmNsdWRlX2Nvd190cmFjaW5nIiksaGFuZGxlRXJyb3I6enVhfSk7QnVhKCk7Xy53dj1mc2E7Xy54dj1nc2F9YnZhKCk7Xy5BcSgiZXBfaW5pdF9lcHMiKTtfLnJhKCJ5dC5zZXRDb25maWciLF8uUWkpO18ucmEoInl0LmNvbmZpZy5zZXQiLF8uUWkpO18ucmEoInl0LnNldE1zZyIsYjEpO18ucmEoInl0Lm1zZ3Muc2V0IixiMSk7Xy5yYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIixfLkdwKTtfLnJhKCJ3cml0ZUVtYmVkIixVdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5ib3RndWFyZEluaXRpYWxpemVkIixfLnNhKCJ5dC5hYnVzZS5wbGF5ZXIuYm90Z3VhcmRJbml0aWFsaXplZCIpfHxSdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIsCl8uc2EoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIpfHxTdWEpO18ucmEoInl0LmFidXNlLmRjbGtzdGF0dXMuY2hlY2tEY2xrU3RhdHVzIixfLnNhKCJ5dC5hYnVzZS5kY2xrc3RhdHVzLmNoZWNrRGNsa1N0YXR1cyIpfHxhMyk7Xy5yYSgieXQucGxheWVyLmV4cG9ydHMubmF2aWdhdGUiLF8uc2EoInl0LnBsYXllci5leHBvcnRzLm5hdmlnYXRlIil8fEJ0YSk7Xy5yYSgieXQudXRpbC5hY3Rpdml0eS5pbml0IixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmluaXQiKXx8bDApO18ucmEoInl0LnV0aWwuYWN0aXZpdHkuZ2V0VGltZVNpbmNlQWN0aXZlIixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmdldFRpbWVTaW5jZUFjdGl2ZSIpfHxfLkJuKTtfLnJhKCJ5dC51dGlsLmFjdGl2aXR5LnNldFRpbWVzdGFtcCIsXy5zYSgieXQudXRpbC5hY3Rpdml0eS5zZXRUaW1lc3RhbXAiKXx8ajApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixfLlZpKFp1YSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsCl8uVmkoJHVhKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfLlZpKGF2YSkpO2d1YSgpO1R1YSgpO18uQXEoImVwX2luaXRfZXBlIik7SjQ9Xy5ENTtfLkFxKCJlcF9pbml0X2N1ZSIpfSk7Xy5ENT0oKT0+e307Cl8uRDU9ZnVuY3Rpb24oYSl7KDAsXy5laCkoInI3OERyYiIpLnRoZW4oKCk9PnsoMCxfLnp5KShhKX0pfTsKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":36,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.859Z","timestamp":1785123386859,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js HTTP/1.1\r\nHost: www.google.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://www.youtube.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\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/botguard-scs\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"botguard-scs\"\r\nreport-to: {\"group\":\"botguard-scs\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/botguard-scs\"}]}\r\ncontent-length: 23758\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 17:04:08 GMT\r\nexpires: Wed, 21 Jul 2027 17:04:08 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 08:00:00 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding\r\nage: 469938\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62519,"size_decoded":24569,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (61258)","md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T07:00:44.845626Z","times_seen":542,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgZD1mdW5jdGlvbihSLGMsRyxCLG0sTixoLFAsayxEKXt7az05ODt3aGlsZShrIT1jKXtpZihrPT02OClyZXR1cm4gRDtpZihrPT04NylrPShHPDwyJjcpPDYmJigoR140MCkmNyk+PTQ/NDA6Njg7ZWxzZSBpZihrPT05OClrPTM3O2Vsc2UgaWYoaz09NDApe2E6e2lmKCEoUD0oaD1tLFopLnRydXN0ZWRUeXBlcyxQKXx8IVAuY3JlYXRlUG9saWN5KXtEPWg7YnJlYWsgYX10cnl7aD1QLmNyZWF0ZVBvbGljeShOLHtjcmVhdGVIVE1MOm4sY3JlYXRlU2NyaXB0Om4sY3JlYXRlU2NyaXB0VVJMOm59KX1jYXRjaChJKXtpZihaLmNvbnNvbGUpWi5jb25zb2xlW0JdKEkubWVzc2FnZSl9RD1ofWs9Njh9ZWxzZSBrPT01Nj8oRD1CLGs9ODcpOms9PTM3JiYoaz0oR14xMyk8MjQmJihHXlIpPj0xOD81Njo4Nyl9fX0sWj10aGlzfHxzZWxmLG49ZnVuY3Rpb24oUil7cmV0dXJuIGQuY2FsbCh0aGlzLDMwLDgwLDMsUil9OygwLGV2YWwpKGZ1bmN0aW9uKFIsYyl7cmV0dXJuKGM9ZCgzMCw4MCwxNCwiZXJyb3IiLG51bGwsImFkIikpJiZSLmV2YWwoYy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBjLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR319KFopKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgY3U9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD0oUD05OCwxNik7Oyl0cnl7aWYoUD09ODApYnJlYWs7ZWxzZSBpZihQPT0zNylQPSgoR3w2KSY3KT49MyYmKEc+PjImNik8Mz81Njo4NztlbHNlIGlmKFA9PTg3KVA9KEd8OCk9PUc/NDA6Njg7ZWxzZSBpZihQPT03NSlQPTk5O2Vsc2UgaWYoUD09MSlkPTE2LGUoODgsRCxaLFQpLFA9MzI7ZWxzZSBpZihQPT01NilrLnJhdz1SLE9iamVjdC5mcmVlemUmJihPYmplY3QuZnJlZXplKGspLE9iamVjdC5mcmVlemUoUikpLE49ayxQPTg3O2Vsc2UgaWYoUD09NDApUD05OTtlbHNlIGlmKFA9PTYpZD0yMSxuPWtuKEIsayxSLFopLFA9MzI7ZWxzZSBpZihQPT05OClQPTM3O2Vsc2UgaWYoUD09MzkpWi5TPWgsQj1aLlAucG9wKCksUD02O2Vsc2V7aWYoUD09NjgpcmV0dXJuIE47UD09NTE/UD1jJiZaLlM/MTY6NzU6UD09NTI/KE49bixQPTY4KTpQPT0zMj8oZD0xNixQPTUxKTpQPT0xNj8obT1aLlMsbShmdW5jdGlvbigpe1JCKDMxLGZhbHNlLFosUixSKX0pLFA9NTIpOlA9PTk5JiYoUD1aLlAubGVuZ3RoPzM5OjUyKX19Y2F0Y2goSSl7aWYoZD09MTYpdGhyb3cgSTtkPT0yMSYmKFQ9SSxQPTEpfX0sb0I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Zm9yKG09MTttIT01OTspaWYobT09MjYpbT1SPDwxJms/ODg6OTI7ZWxzZSBpZihtPT0zNyl7YTp7aWYodHlwZW9mIGM9PT0ic3RyaW5nIil7Qj10eXBlb2YgRCE9PSJzdHJpbmcifHxELmxlbmd0aCE9Rz8tMTpjLmluZGV4T2YoRCxoKTticmVhayBhfWZvcihaPWg7WjxjLmxlbmd0aDtaKyspaWYoWiBpbiBjJiZjW1pdPT09RCl7Qj1aO2JyZWFrIGF9Qj0tMX1tPTIzfWVsc2UgaWYobT09NzApdGhpcy5CPUcsbT0yNjtlbHNlIGlmKG09PTc0KVo9dHlwZW9mIGMsbj1aIT1oP1o6Yz9BcnJheS5pc0FycmF5KGMpPyJhcnJheSI6WjoibnVsbCIsQj1uPT1EfHxuPT1oJiZ0eXBlb2YgYy5sZW5ndGg9PUcsbT01NjtlbHNlIGlmKG09PTM2KW09KFJ8NDApPT1SPzc0OjU2O2Vsc2V7aWYobT09ODgpcmV0dXJuIEI7bT09NTY/bT0oUj4+MSZrKT09MT8zNzoyMzptPT02MT8oQj1jdShHLEcsMyksbT0zNik6bT09MjM/bT0oUi01JjMpPT0zPzcwOjI2Om09PTA/bT0oUiY1OSk9PVI/NjE6MzY6bT09OTI/KHRoaXMubisrLGg9Ry10aGlzLmgsdGhpcy5oKz1oL3RoaXMubix0aGlzLmh4Kz1oKihHLXRoaXMuaCksbT04OCk6bT09MSYmKG09MCl9fSxDbj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Zm9yKG49NDc7biE9MjE7KWlmKG49PTQ1KW49KFJeMjIpPj4zPzU3OjY3O2Vsc2UgaWYobj09Njgpbj1SLTQ+PjQ+PTEmJigoUl42OCkmMTYpPDI/MTI6OTI7ZWxzZSBpZihuPT1rKW49KFImOTApPT1SPzMzOjY4O2Vsc2UgaWYobj09NjcpbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRyxFUikmJkdbRVJdfHwoR1tFUl09KytIdSksbj01NztlbHNlIGlmKG49PTQ3KW49aztlbHNlIGlmKG49PTMzKW09YSgxOCxudWxsLDgxOTIsRyx0cnVlKSxuPTY4O2Vsc2V7aWYobj09NTcpcmV0dXJuIG07bj09OTI/bj0oUnw0OCk9PVI/ODE6NDU6bj09ODE/KHRoaXNbdGhpcysiIl09dGhpcyxuPTQ1KTpuPT0xMiYmKGM9aCxjXj1jPDwxMyxjPShaPWM+PjE3LChjfDApLShjJlopLSh+Y15aKSsofmN8WikpLChjPShjXmM8PDUpJkQpfHwoYz0xKSxtPShHfDApKyhjfDApLTIqKEcmYyksbj05Mil9fSxySj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtmb3IobT05NTttIT02NTspe2lmKG09PTg3KXJldHVybiBCO2lmKG09PTI4KWhXKDI0LHRydWUsRyksbT0zMTtlbHNlIGlmKG09PTQ2KXthOntmb3IoYyBpbiBoKWlmKEQuY2FsbCh2b2lkIDAsaFtjXSxjLGgpKXtCPVI7YnJlYWsgYX1CPUd9bT04N31lbHNlIGlmKG09PTMxKW09aC5aW0RdLmxlbmd0aD09Uj84OToxMztlbHNlIGlmKG09PTIxKUQ9Ry50eXBlLG09Nzg7ZWxzZSBpZihtPT03MSl0aGlzLmxYPXRoaXMubFgsdGhpcy5nPXRoaXMuZyxtPTU5O2Vsc2UgaWYobT09NiltPShrfDE2KT09az83NTo5NDtlbHNlIGlmKG09PTEzKW09KGs+PjImMTMpPT0xPzcxOjU5O2Vsc2UgaWYobT09NTkpbT0oaz4+MSY3KT09ND83OTo2O2Vsc2UgaWYobT09OTUpbT02MztlbHNlIGlmKG09PTk0KW09KChrXjUyKSYxMyk+PTgmJigoa141MCkmMTQpPDk/NDY6ODc7ZWxzZSBpZihtPT02MyltPWs+PjEmNj8xMzoyMTtlbHNlIGlmKG09PTc4KW09RCBpbiBoLlomJnRXKDcsUixHLGguWltEXSk/Mjg6MTM7ZWxzZSBpZihtPT03OSltPTY7ZWxzZSBpZihtPT03NSl7YTp7Zm9yKG49UjtuPEQubGVuZ3RoOysrbilpZihaPURbbl0sIVouZlgmJloubGlzdGVuZXI9PWMmJlouY2FwdHVyZT09ISFHJiZaLlZuPT1oKXtCPW47YnJlYWsgYX1CPS0xfW09OTR9ZWxzZSBtPT04OSYmKGRlbGV0ZSBoLlpbRF0saC5KeC0tLG09MTMpfX0sdFc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXt7UD05NDt3aGlsZShQIT05KWlmKFA9PTE2KUQ9b0IoMTMsNiwxLFIsRyxoKSwoYz1EPj1SKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGgsRCwxKSxkPWMsUD00NztlbHNle2lmKFA9PTQpcmV0dXJuIGQ7aWYoUD09NTcpbT1aW0JdLFA9NDA7ZWxzZSBpZihQPT01MilQPTM3O2Vsc2UgaWYoUD09NDApUD0hb0IoMTMsNDUsRywib2JqZWN0IiwiYXJyYXkiLG0pfHxOUCg0LCJvYmplY3QiLDE5LG0pJiZtLm5vZGVUeXBlPkQ/OTU6NzU7ZWxzZSBpZihQPT00NylQPShrJjI3KT09az82NTo3MjtlbHNlIGlmKFA9PTkzKUc9UltsOV0sZD1HIGluc3RhbmNlb2Ygak0/RzpudWxsLFA9NDtlbHNlIGlmKFA9PTYyKVA9KGsrOF4yNyk+PWsmJihrLTR8NzUpPGs/Mjk6MTg7ZWxzZSBpZihQPT03NSl7YTp7aWYobSYmdHlwZW9mIG0ubGVuZ3RoPT1HKXtpZihOUCg0LCJvYmplY3QiLDE4LG0pKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBtLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIG09PT0iZnVuY3Rpb24iKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19VD1SfVA9KFJCKDMzLEQsaCxUP2hXKDEyLEQsbSk6bSxOKSw2MCl9ZWxzZSBQPT02NT8oTj1mdW5jdGlvbihJKXtJJiZuLmFwcGVuZENoaWxkKHR5cGVvZiBJPT09InN0cmluZyI/Yy5jcmVhdGVUZXh0Tm9kZShJKTpJKX0sQj0xLFA9NTIpOlA9PTYwPyhCKyssUD0zNyk6UD09OTQ/UD0xMjpQPT05OT8oYUIuY2FsbCh0aGlzLFI/Ui50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5ZTj1udWxsLFImJnRoaXMuaW5pdChSLEcpLFA9NjIpOlA9PTcyP1A9KGs+PjEmMjMpPT0yPzkzOjQ6UD09MTI/UD1rKzYmMTM/NjI6OTk6UD09Mjk/KGQ9eWZbR10oeWYucHJvdG90eXBlLHtwYXJlbnQ6UixsZW5ndGg6UixzdGFjazpSLHBvcDpSLHByb3RvdHlwZTpSLHByb3BlcnR5SXNFbnVtZXJhYmxlOlIsZG9jdW1lbnQ6UixzcGxpY2U6UixjYWxsOlIscmVwbGFjZTpSLGNvbnNvbGU6UixmbG9vcjpSfSksUD0xOCk6UD09Mzc/UD1CPFoubGVuZ3RoPzU3OjcyOlA9PTk1PyhOKG0pLFA9NjApOlA9PTE4JiYoUD1rPj4xPDkmJihrXjgwKT4+Mz49Mj8xNjo0Nyl9fX0sTVA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7Qj00Nzt3aGlsZShCIT0zNCl7aWYoQj09OTIpdGhyb3cgbmV3IFNNKHR5cGVvZiBHLDEpO2lmKEI9PTk2KVIuc2FuZGJveC5zdXBwb3J0cyYmIVIuc2FuZGJveC5zdXBwb3J0cyhEW2NdKXx8Ui5zYW5kYm94LmFkZChEW2NdKSxCPTc5O2Vsc2UgaWYoQj09NTYpQj0oays4JjU5KTxrJiYoays2XjUpPj1rPzMyOjgzO2Vsc2UgaWYoQj09NSlCPW48Ui5sZW5ndGg/MTg6NDk7ZWxzZSBpZihCPT02NylCPUcgaW5zdGFuY2VvZiBYMT83NTo5MjtlbHNlIGlmKEI9PTMwKXtpZihHIGluc3RhbmNlb2YgWDEpaD1HLktqO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO1Iuc3JjPWgudG9TdHJpbmcoKSxCPTUxfWVsc2UgaWYoQj09MjUpQj02MjtlbHNlIGlmKEI9PTQ3KUI9NTY7ZWxzZSBpZihCPT00NSlUPSEhKGg9Ry5PMiwtMip+KGgmUikrfmgrKGheUikrKGh8flIpKSxCPTY7ZWxzZSBpZihCPT03OSljKyssQj02MjtlbHNlIGlmKEI9PTc1KUQ9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIiksUi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKSxjPTAsQj0yNTtlbHNlIGlmKEI9PTgzKUI9ay01PDE1JiYoa142OSk+PjQ+PTI/NDU6NjtlbHNlIGlmKEI9PTUzKUI9NzY7ZWxzZXtpZihCPT01MSlyZXR1cm4gVDtCPT01Mj9CPTE2OkI9PTcyP0I9NTpCPT02Mj9CPWM8RC5sZW5ndGg/OTY6MzA6Qj09Nzc/KFIucmVtb3ZlQXR0cmlidXRlKCJzcmNkb2MiKSxCPTY3KTpCPT00PyhuKyssQj01KTpCPT0xNj9CPWg+Nz8yNzo0OkI9PTE4PyhoKz1HLEQ9KG09RDw8RyxjPVJbbl0sMiooY3wwKSt+Yy0ofm18YykpLEI9NTIpOkI9PTQ5PyhUPVosQj04Myk6Qj09Nj9CPShrKzUmNyk9PTE/NTM6NzY6Qj09MTM/Qj0xNjpCPT0zMj8oaD1uPTAsWj1bXSxCPTcyKTpCPT0yNz8oaC09OCxaLnB1c2goRD4+aCYyNTUpLEI9MTMpOkI9PTc2JiYoQj0oaysxJjExKT09Mz83Nzo1MSl9fX19LGhXPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7Zm9yKFo9NTtaIT05NjspaWYoWj09OTEpe2E6e2lmKChEPUcubGVuZ3RoLEQpPlIpe2ZvcihjPShoPUFycmF5KEQpLFIpO2M8RDtjKyspaFtjXT1HW2NdO249aDticmVhayBhfW49W119Wj05OX1lbHNlIGlmKFo9PTQwKW49TWF0aC5mbG9vcih0aGlzLkooKSksWj01NztlbHNlIGlmKFo9PTEwKVo9ay00Pj4zPT0xPzkxOjk5O2Vsc2UgaWYoWj09NDIpUi5uWD1mdW5jdGlvbigpe3JldHVybiBSLlh6P1IuWHo6Ui5Yej1uZXcgUn0sUi5Yej12b2lkIDAsWj0xMDtlbHNlIGlmKFo9PTIpRy5mWD1SLEcubGlzdGVuZXI9bnVsbCxHLnByb3h5PW51bGwsRy5zcmM9bnVsbCxHLlZuPW51bGwsWj01OTtlbHNlIGlmKFo9PTg1KVo9KGt8NTYpPT1rPzQwOjU3O2Vsc2UgaWYoWj09NTcpWj0oaysxJjI4KT49ayYmKGstMV43KTxrPzI6NTk7ZWxzZSBpZihaPT01OSlaPShrfDcyKT09az80MjoxMDtlbHNlIGlmKFo9PTUpWj04NTtlbHNlIGlmKFo9PTk5KXJldHVybiBufSxUbz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e1Q9NTc7d2hpbGUoVCE9NTkpaWYoVD09aylEWi5jYWxsKHRoaXMpLFJ8fFpafHwoWlo9bmV3IG5uKSx0aGlzLlFuPXRoaXMuQT1udWxsLHRoaXMuWGk9dGhpcy5qbT1mYWxzZSx0aGlzLnMyPXZvaWQgMCx0aGlzLktYPXRoaXMuWjc9dGhpcy5jVj1udWxsLFQ9Njk7ZWxzZSBpZihUPT03NSlUPTQ7ZWxzZXtpZihUPT01MSlyZXR1cm4gTjtUPT00P1Q9QjxtLmxlbmd0aD81Mjo1MTpUPT04OT9UPShHLTVeMzIpPj1HJiYoRy00fDE2KTxHP2s6Njk6VD09MTM/KG49QnUoMyxuKSxaJiZaW2RKXT9aLkkuYWRkKFN0cmluZyhtKSxuLGgsTlAoNCxSLDE2LGMpPyEhYy5jYXB0dXJlOiEhYyxEKTpJQig2NCwib2JqZWN0IixmYWxzZSxuLGgsbSxaLGMsRCksVD01MSk6VD09OTA/KEI9MCxUPTc1KTpUPT01P1Q9QXJyYXkuaXNBcnJheShtKT85MDoxMzpUPT01Nz9UPTg5OlQ9PTE/KEIrKyxUPTQpOlQ9PTY5P1Q9Ry05Pj40PzUxOjU6VD09NTImJihUbyg1NCwib2JqZWN0Iiw5LHRydWUsRCxjLFosbixtW0JdKSxUPTEpfX19LGU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXt7bj0yMTt3aGlsZShuIT02NylpZihuPT0yMSluPTUwO2Vsc2UgaWYobj09MTkpbj0oKGteNTApJjI2KTw3JiYoa143OSk+PTI3Pzk2Ojg3O2Vsc2UgaWYobj09MjkpdHlwZW9mIGguY2xhc3NOYW1lPT1SP2guY2xhc3NOYW1lPUc6aC5zZXRBdHRyaWJ1dGUmJmguc2V0QXR0cmlidXRlKCJjbGFzcyIsRyksbj04OTtlbHNlIGlmKG49PTMpYz1HLHNSPT09dm9pZCAwJiYoc1I9UiksRD0oaD1zUik/aC5jcmVhdGVTY3JpcHRVUkwoYyk6YyxaPW5ldyBYMShEKSxuPTE5O2Vsc2UgaWYobj09NTApbj1rLTE+PjQ+PTEmJihrPj4xJjEyKTwyPzM6MTk7ZWxzZSBpZihuPT0yMClHLks9KChHLks/Ry5LKyJ+IjoiRToiKStoLm1lc3NhZ2UrUitoLnN0YWNrKS5zbGljZSgwLDIwNDgpLG49MTU7ZWxzZSBpZihuPT05NiluPTg3O2Vsc2UgaWYobj09OTIpWj1vQigxMyw3LDEsUixHLGgpPj1SLG49NjI7ZWxzZSBpZihuPT04NyluPShrfDMpPj40PDImJms+PjE+PS02Nj8yOTo4OTtlbHNlIGlmKG49PTYyKW49KGt8MjQpPT1rPzIwOjE1O2Vsc2UgaWYobj09ODkpbj0oays1JjgpPDgmJihrXjkzKT4+Mz49MT85Mjo2MjtlbHNlIGlmKG49PTE1KXJldHVybiBafX0sQVc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKGM9aztjIT00MDspe2lmKGM9PTM3KXJldHVybiBaO2lmKGM9PTY3KWM9Ry05PDwyPj1HJiYoRyszXjUpPEc/NTM6Mzc7ZWxzZSBpZihjPT04KXRoaXMudHlwZT1SLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1oLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLlB0PWZhbHNlLGM9MjM7ZWxzZSBpZihjPT01KWM9KEcrNSYxNCk9PTI/ODY6Njc7ZWxzZSBpZihjPT0xMyl7YTp7aWYoIShEPW51bGwsaD1ILnRydXN0ZWRUeXBlcyxoKXx8IWguY3JlYXRlUG9saWN5KXtaPUQ7YnJlYWsgYX10cnl7RD1oLmNyZWF0ZVBvbGljeShSLHtjcmVhdGVIVE1MOnBuLGNyZWF0ZVNjcmlwdDpwbixjcmVhdGVTY3JpcHRVUkw6cG59KX1jYXRjaChuKXtILmNvbnNvbGUmJkguY29uc29sZS5lcnJvcihuLm1lc3NhZ2UpfVo9RH1jPTV9ZWxzZSBjPT04Nj8oYjkuY2FsbCh0aGlzLFIsaHx8UWYublgoKSxEKSxjPTY3KTpjPT0zOT9jPShHJjc5KT09Rz84OjIzOmM9PWs/Yz0zOTpjPT01Mz8oWj10eXBlb2YgRC5jbGFzc05hbWU9PSJzdHJpbmciP0QuY2xhc3NOYW1lOkQuZ2V0QXR0cmlidXRlJiZELmdldEF0dHJpYnV0ZShSKXx8aCxjPTM3KTpjPT0yMyYmKGM9KEc8PDEmMTYpPDE2JiYoR141OSk+PjM+PTI/MTM6NSl9fSxLbj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7Zm9yKGM9Njc7YyE9Njk7KWlmKGM9PTU3KXRoaXMuc3JjPWgsdGhpcy5KeD1rLHRoaXMuWj17fSxjPTE3O2Vsc2V7aWYoYz09MTcpcmV0dXJuIEQ7Yz09Njc/Yz03NzpjPT0zMj9jPUc8PDImNT8xNzo1NzpjPT03Nz9jPShHPj4yJjMpPT1SPzM2OjMyOmM9PTM2JiYoV3UuY2FsbCh0aGlzKSx0aGlzLkk9bmV3IGpNKHRoaXMpLHRoaXMubHE9dGhpcyx0aGlzLk5vPW51bGwsYz0zMil9fSxJQj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSl7Zm9yKEk9MTc7SSE9NTE7KWlmKEk9PTY3KVouYWRkTGlzdGVuZXIoQiksST0wO2Vsc2UgaWYoST09MTcpST01MztlbHNlIGlmKEk9PTE5KUk9KGteNzQpPj40PzYxOjM3O2Vsc2UgaWYoST09MTEpST1aLmF0dGFjaEV2ZW50PzU0OjMyO2Vsc2V7aWYoST09Nyl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoST09NzQpZm58fChuPVQpLG49PT12b2lkIDAmJihuPUcpLFouYWRkRXZlbnRMaXN0ZW5lcihjLnRvU3RyaW5nKCksQixuKSxJPTA7ZWxzZSBpZihJPT00OSlJPShrJjQ2KT09az85MzoxOTtlbHNlIGlmKEk9PTYxKUk9KGt8MjQpPT1rPzgwOjg2O2Vsc2UgaWYoST09MzcpST1jPzU1Ojc7ZWxzZSBpZihJPT04MClkPVIsST04NjtlbHNlIGlmKEk9PTg5KUk9Wi5hZGRFdmVudExpc3RlbmVyPzc0OjExO2Vsc2UgaWYoST09OTMpZD0hIShHLnJiJkQpJiZNUCg4LEQsRykhPWgmJighKGM9Ry5pcSwtMS1+KGN8RCktKGNeRCkpfHxHLmRpc3BhdGNoRXZlbnQodnUoNTYsUixELDIsNjQsOCxoLDI0KSkpJiYhRy5nLEk9MTk7ZWxzZSBpZihJPT04NSlkPXFQKFZmLFIpLEk9NDk7ZWxzZSBpZihJPT01NSlUPU5QKDQsUiwyMSxuKT8hIW4uY2FwdHVyZTohIW4sKFA9dFcoMjAsWikpfHwoWltsOV09UD1uZXcgak0oWikpLE49UC5hZGQoYyxoLEQsVCxtKSxJPTk3O2Vsc2V7aWYoST09MzYpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihJPT0wKWk5KyssST02MTtlbHNlIGlmKEk9PTUzKUk9KGstOXw4NCk8ayYmKGsrNV4zKT49az8xMDozNDtlbHNlIGlmKEk9PTU0KVouYXR0YWNoRXZlbnQoTG4oMywib24iLGMudG9TdHJpbmcoKSw0OCksQiksST0wO2Vsc2V7aWYoST09ODYpcmV0dXJuIGQ7ST09MzI/ST1aLmFkZExpc3RlbmVyJiZaLnJlbW92ZUxpc3RlbmVyPzY3OjM2Okk9PTEwPyhSLlFuJiZSLlFuLmZvckVhY2goRyx2b2lkIDApLEk9MzQpOkk9PTU5PyhCPUYxKDk0LCJvbiIsMyksTi5wcm94eT1CLEIuc3JjPVosQi5saXN0ZW5lcj1OLEk9ODkpOkk9PTk3P0k9Ti5wcm94eT82MTo1OTpJPT0zNCYmKEk9KGs8PDImMTMpPT00Pzg1OjQ5KX19fX0sZj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7e0Q9MzA7d2hpbGUoRCE9NzkpaWYoRD09OTQpRD0oa3w3KT4+Mz84ODo1MTtlbHNlIGlmKEQ9PTUxKXRoaXMuTW89SC5kb2N1bWVudHx8ZG9jdW1lbnQsRD04ODtlbHNlIGlmKEQ9PTg4KUQ9ay0yPDwyPj1rJiYoays0XjI5KTxrPzYyOjYzO2Vsc2UgaWYoRD09MzApRD05NDtlbHNlIGlmKEQ9PTYyKUMoRyxSLGgpLFJbeG5dPTI3OTYsRD02MztlbHNlIGlmKEQ9PTYzKXJldHVybiBjfX0sT1I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7e1Q9NTI7d2hpbGUoVCE9OTYpaWYoVD09NTApVD1jPT09IiJ8fGM9PXZvaWQgMD83NTo2NjtlbHNlIGlmKFQ9PTgxKVQ9Ui0yPj0xMCYmUis2PDI2PzU6ODY7ZWxzZSBpZihUPT02MilUPShSJjcwKT09Uj8yNDo3NDtlbHNlIGlmKFQ9PTc0KVQ9KFImNDUpPT1SPzE0OjExO2Vsc2UgaWYoVD09MjQpUD1mdW5jdGlvbigpe30sRD12b2lkIDAsYz1nSihHLGZ1bmN0aW9uKGQsSSl7Zm9yKEk9MTU7SSE9NjQ7KUk9PTE1P0k9UD82Nzo2NDpJPT02NyYmKGgmJnU5KGgpLEQ9ZCxQKCksUD12b2lkIDAsST02NCl9LCEhaCksWj1jWzBdLG49Y1sxXSxOPXtob3Q6ZnVuY3Rpb24oZCxJLFMsWCxNLHIsbCl7Zm9yKHI9NDc7ciE9MjU7KXtpZihyPT0xMylyZXR1cm4gTT1aKFMpLGQmJmQoTSksTTtyPT01MD8obCgpLHI9MjUpOnI9PTg0P3I9ST8zOToxMzpyPT1rPyhYPVAsUD1mdW5jdGlvbigpe1goKSx1OShsKX0scj0yNSk6cj09Mzk/cj1EPzUwOms6cj09NDcmJihsPWZ1bmN0aW9uKCl7RChmdW5jdGlvbih3KXt1OShmdW5jdGlvbigpe2Qodyl9KX0sUyl9LHI9ODQpfX0scGU6ZnVuY3Rpb24oZCl7biYmbihkKX19LFQ9NzQ7ZWxzZSBpZihUPT02NilELnNldEF0dHJpYnV0ZShtLGMpLFQ9MTE7ZWxzZSBpZihUPT01MilUPTgxO2Vsc2V7aWYoVD09MTEpcmV0dXJuIE47VD09ODY/VD0oUnw3Mik9PVI/OTI6NjI6VD09MTQ/KEFycmF5LmlzQXJyYXkoYykmJihjPWMuam9pbigiICIpKSxtPSJhcmlhLSIrWixUPTUwKTpUPT01Pyh0aGlzW3RoaXMrIiJdPXRoaXMsTj1Qcm9taXNlLnJlc29sdmUoKSxUPTg2KTpUPT05Mj8oRD1HLE49ZnVuY3Rpb24oKXtyZXR1cm4gRDxoLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpoW0QrK119Ontkb25lOnRydWV9fSxUPTYyKTpUPT0yMj8oQj1VUixaIGluIEI/RC5zZXRBdHRyaWJ1dGUobSxCW1pdKTpELnJlbW92ZUF0dHJpYnV0ZShtKSxUPTExKTpUPT02Nz8obj17fSxVUj0obi5hdG9taWM9RyxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPUcsbi5saXZlPSJvZmYiLG4ubXVsdGlsaW5lPUcsbi5tdWx0aXNlbGVjdGFibGU9RyxuLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsbi5yZWFkb25seT1HLG4ucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixuLnJlcXVpcmVkPUcsbi5zb3J0PSJub25lIixuLmJ1c3k9RyxuLmRpc2FibGVkPUcsbltoXT1HLG4uaW52YWxpZD0iZmFsc2UiLG4pLFQ9MjIpOlQ9PTc1JiYoVD1VUj8yMjo2Nyl9fX0sem89ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7e2M9Mzt3aGlsZShjIT01NilpZihjPT02OCljPShHJjEwMyk9PUc/azpSO2Vsc2V7aWYoYz09UilyZXR1cm4gWjtjPT0zNj8oaC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChELGZ1bmN0aW9uKG4pe0pXKDM1LDcsImNsYXNzIiwyMCwiICIsInN0cmluZyIsMCxoLG4pfSk6ZSgzLCJzdHJpbmciLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChCdSgzNCwiY2xhc3MiLGgpLGZ1bmN0aW9uKG4pe3JldHVybiFlKDQ0LDAsbixEKX0pLmpvaW4oIiAiKSxoKSxjPTY4KTpjPT1rPyhaPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy5oeC90aGlzLm4pLGM9Uik6Yz09Mz9jPTY6Yz09NiYmKGM9KEd8MjQpPT1HPzM2OjY4KX19fSxxPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtKXt3aGlsZShrLTM+PjQ9PTQpe2E6e2ZvcigwO1IuVjswKXttPWtmKFIsUi5HKTticmVhayBhO2lmKDEpYnJlYWt9KGg9R04oOCxSLHRydWUpLGgmMTI4KSYmKGhePTEyOCxEPUdOKDIsUix0cnVlKSxoPShHPWg8PDIsKEcmRCktMS1+KEd8RCkpKSxtPWh9aWYoImoiKWJyZWFrfXdoaWxlKCgoa14yMSkmMjMpPT00KXthOntpZihSLlYpe209a2YoUixSLkcpO2JyZWFrIGF9aD1HTig4LFIsdHJ1ZSksaCYxMjgmJihoXj0xMjgsRz1HTigyLFIsdHJ1ZSksaD0oRD1oPDwyLChEJkcpLTEtfihEfEcpKSksbT1ofWlmKHRydWUpYnJlYWt9cmV0dXJuKCgoa14oKChrXjM4KSYxNSk+PTkmJmstNDwxOSYmKGg9UnYoRyksaCYxMjgmJihoPS1+KGgmMTI3KSsofmgmMTI3KSsoaHwtMTI4KXxSdihHKTw8UiksbT1oKSw3MCkpJjE1KT09MyYmKGg9eWZbRy5SXShHLnZWKSxoW0cuUl09ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gUjtpZih0cnVlIT1bXSlicmVha319LGguY29uY2F0PWZ1bmN0aW9uKEIpe1I9Qn0sbT1oKSwoKGteNTEpJjE1KT09MSkmJihtPShaPShjPWhbR108PDI0LEQ9aFsoR3wwKSsxXTw8MTYsKGN8MCkrKGNeRCkrKH5jXkQpLShjfH5EKSksbj1oWyhHfDApKzJdPDxSLC0obnwwKSsyKihaJm4pKyhaXm4pKyh+WiZuKSl8aFsoR3wwKSszXSksbX0sUkI9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7Zm9yKFA9Njk7UCE9MDspaWYoUD09NTMpbj1oLmxlbmd0aCxaPXR5cGVvZiBoPT09InN0cmluZyI/aC5zcGxpdChHKTpoLGM9UixQPTI7ZWxzZSBpZihQPT0xMilQPWstMT4+Mz09Mz85MDo1MTtlbHNlIGlmKFA9PTQ5KVA9NDc7ZWxzZSBpZihQPT0yKVA9OTQ7ZWxzZSBpZihQPT04MSlQPShrKzdeMjEpPj1rJiZrLTc8PDE8az80MTo3MjtlbHNlIGlmKFA9PTExKUQ9bj0wLFA9NDk7ZWxzZSBpZihQPT04MilEKyssUD00NztlbHNlIGlmKFA9PTk2KU49TWF0aC5mbG9vcih0aGlzLlRmKyh0aGlzLkooKS10aGlzLmtOKSksUD04MTtlbHNlIGlmKFA9PTY5KVA9NTc7ZWxzZSBpZihQPT00MiljIGluIFomJkQuY2FsbCh2b2lkIDAsWltjXSxjLGgpLFA9ODc7ZWxzZSBpZihQPT05NClQPWM8bj80MjoxMjtlbHNlIGlmKFA9PTkwKXthOmlmKEcuUC5sZW5ndGgpeyhHLm8mJiI6VFFSOlRRUjoiKCksRykuRTk9RCxHLm89dHJ1ZTt0cnl7Wj1HLkooKSxHLkUyPTAsRy5vbz0wLEcuY3Q9WixHLmtOPVosYz1jdSgyLHRydWUsMjQsbnVsbCwiOiIsRCxHKSxtPWg/MDoxMCxuPUcuSigpLUcua04sRy5UZis9bixHLkJWJiZHLkJWKG4tRy5YLEcudSxHLlcsRy5FMiksRy51PVIsRy5YPTAsRy5XPVIsbjxtfHxHLnM5LS08PTB8fChuPU1hdGguZmxvb3IobiksRy51WC5wdXNoKG48PTI1ND9uOjI1NCkpfWZpbmFsbHl7Ry5vPVJ9Tj1jO2JyZWFrIGF9UD01MX1lbHNlIGlmKFA9PTg3KWMrKyxQPTk0O2Vsc2UgaWYoUD09NTcpUD0oaysxJjYzKTxrJiYoay0yfDcwKT49az85Njo4MTtlbHNlIGlmKFA9PTU5KW4rPVIuY2hhckNvZGVBdChEKSxuKz1uPDwxMCxuPShjPW4+PjYsKG58YykrfmMtKG58fmMpKSxQPTgyO2Vsc2UgaWYoUD09NDEpe2E6e2lmKHRoaXMubj09PTApe049WzAsMF07YnJlYWsgYX1OPSh0aGlzLlQuc29ydChmdW5jdGlvbihkLEkpe3JldHVybiBkLUl9KSxbdGhpcy5uLHRoaXMuVFt0aGlzLlQubGVuZ3RoPj4xXV0pfVA9NzJ9ZWxzZSBpZihQPT03MilQPShrKzdeMTIpPGsmJmstNjw8MT49az8xMTo3MDtlbHNlIGlmKFA9PTIwKW4rPW48PDMsbl49bj4+MTEsWj1uKyhuPDwxNSk+Pj4wLG09bmV3IE51bWJlcigoQj0oVD0xPDxHLChUfDEpLShUJjEpLTIqKH5UJjEpKSwoWnwwKSsoQnwwKS0oWnxCKSkpLG1bMF09KFo+Pj5HKSVoLE49bSxQPTcwO2Vsc2V7aWYoUD09NTEpcmV0dXJuIE47UD09NDc/UD1EPFIubGVuZ3RoPzU5OjIwOlA9PTcwJiYoUD0oa3wzMik9PWs/NTM6MTIpfX0sYT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQpe2ZvcihCPTgzO0IhPTg2Oyl7aWYoQj09ODIpcmV0dXJuIFQ7aWYoQj09NjApQj0oayYxMTQpPT1rPzMyOjgyO2Vsc2V7aWYoQj09MTcpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0cpO2lmKEI9PTU2KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKEI9PTEwKUcuUC5zcGxpY2UoMCwwLFIpLEI9MzM7ZWxzZSBpZihCPT04MylCPTM7ZWxzZSBpZihCPT0xMilCPUc/NTA6MTc7ZWxzZSBpZihCPT0zKUI9KGt8NDApPT1rPzEwOjMzO2Vsc2UgaWYoQj09NTApQj10eXBlb2YgUiE9PSJmdW5jdGlvbiI/NTY6NjA7ZWxzZSBpZihCPT0zMil7YTppZihjPXdpbmRvdy5idG9hKXtmb3IoWj0wLG49IiI7WjxoLmxlbmd0aDtaKz1HKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoUixoLnNsaWNlKFosWitHKSk7VD0obT1jKG4pLEQmJihtPW0ucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIikpLG0pO2JyZWFrIGF9Qj04Mn1lbHNlIEI9PTMzJiYoQj0oaz4+MiY3KT09MT8xMjo2MCl9fX0sQlk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD02OTtkIT0yMjspaWYoZD09NTUpREQuY2FsbCh0aGlzLGgpLGQ9NjE7ZWxzZSBpZihkPT05OClQPShUPVpEW2suc3Vic3RyaW5nKDAsMykrIl8iXSk/VChrLnN1YnN0cmluZygzKSxHLGgsRCxjLFosbixtLEIpOkpXKDM1LDcsRyw1LGspLGQ9Mjc7ZWxzZSBpZihkPT0zMilkPWM/NzQ6MTY7ZWxzZSBpZihkPT02OSlkPTk7ZWxzZSBpZihkPT0xNiltPW4/dHlwZW9mIG4ublg9PT0iZnVuY3Rpb24iP24ublgoKTpuZXcgbjpudWxsLGQ9NTc7ZWxzZSBpZihkPT0yMClkPTMyO2Vsc2UgaWYoZD09NTcpdGhpcy5DPW0sZD00MTtlbHNlIGlmKGQ9PTk3KWQ9KG49bnJbWl0pPzcxOjI2O2Vsc2UgaWYoZD09NzUpYz10aGlzLmNvbnN0cnVjdG9yLGQ9MTE7ZWxzZSBpZihkPT04NylOPWZ1bmN0aW9uKCl7fSxOLnByb3RvdHlwZT1oLnByb3RvdHlwZSxHLk89aC5wcm90b3R5cGUsRy5wcm90b3R5cGU9bmV3IE4sRy5wcm90b3R5cGUuY29uc3RydWN0b3I9RyxHLmN3PWZ1bmN0aW9uKEksUyxYKXtmb3IodmFyIE09MTk7TSE9MjU7KWlmKE09PTE5KXZhciByPUFycmF5KChNPTEsYXJndW1lbnRzLmxlbmd0aC1rKSksbD1rO2Vsc2UgaWYoTT09MilyW2wta109YXJndW1lbnRzW2xdLE09NDE7ZWxzZXtpZihNPT01MilyZXR1cm4gaC5wcm90b3R5cGVbU10uYXBwbHkoSSxyKTtNPT00MT8obCsrLE09NTMpOk09PTUzP009bDxhcmd1bWVudHMubGVuZ3RoPzI6NTI6TT09MSYmKE09NTMpfX0sZD03O2Vsc2UgaWYoZD09MjYpYz0oRD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYy5wcm90b3R5cGUpKSYmRC5jb25zdHJ1Y3RvcixkPTIwO2Vsc2UgaWYoZD09MjcpZD0oUis1JjcpPj01JiZSPj4xPDE1PzU1OjQxO2Vsc2UgaWYoZD09NjEpZD0obT1HKT81Nzo3NTtlbHNlIGlmKGQ9PTQxKWQ9KFJ8NDApPT1SPzg3Ojc7ZWxzZSBpZihkPT05KWQ9Uis0Pj4zPT0yPzk4OjI3O2Vsc2UgaWYoZD09NylkPShSfDcyKT09Uj85OTo3MztlbHNlIGlmKGQ9PTk5KVA9YSgxNixudWxsLDgxOTIsayxmYWxzZSksZD03MztlbHNle2lmKGQ9PTczKXJldHVybiBQO2Q9PTc0PyhaPUNuKDY0LDE5LGMpLGQ9OTcpOmQ9PTcxP2Q9MTY6ZD09MTEmJihkPTMyKX19LFBZPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFAsZCl7e2Q9NTU7d2hpbGUoZCE9NSlpZihkPT04NylkPTQxO2Vsc2UgaWYoZD09NTUpZD01NztlbHNlIGlmKGQ9PTQ1KXthOntpZighKFo9Ry5JLlpbU3RyaW5nKGgpXSxaKSl7UD10cnVlO2JyZWFrIGF9Zm9yKG49KFo9Wi5jb25jYXQoKSxOPXRydWUsUik7bjxaLmxlbmd0aDsrK24pKFQ9WltuXSkmJiFULmZYJiZULmNhcHR1cmU9PUQmJihCPVQuVm58fFQuc3JjLG09VC5saXN0ZW5lcixULmFvJiZySigzLFIsVCxHLkkpLE49bS5jYWxsKEIsYykhPT1mYWxzZSYmTik7UD1OJiYhYy5kZWZhdWx0UHJldmVudGVkfWQ9Mzd9ZWxzZSBpZihkPT0zNylkPWs8PDE+PTI1JiYoa3wxKT4+NTwyPzg3OjQxO2Vsc2V7aWYoZD09NDEpcmV0dXJuIFA7ZD09NTcmJihkPShrKzJeMjQpPj1rJiZrKzM+PjI8az80NTozNyl9fX0sdnU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe2ZvcihUPTQ7VCE9Njc7KWlmKFQ9PTkzKVQ9KG58OSk+PjQ/NDc6aztlbHNlIGlmKFQ9PTU1KVRvKDU0LCJvYmplY3QiLDEwLGMsbSxoLEQsRyxaKSxUPTQ3O2Vsc2UgaWYoVD09ODEpe2E6e3N3aXRjaChHKXtjYXNlIDE6Tj1aPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgaDpOPVo/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgUjpOPVo/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIGM6Tj1aPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIDE2Ok49Wj8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgMzI6Tj1aPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBEOk49Wj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31UPTczfWVsc2UgaWYoVD09NTQpVD03NDtlbHNlIGlmKFQ9PTQ3KVQ9KChuXjEyKSY4KTw0JiYobnwyKT49LTMxPzgxOjczO2Vsc2V7aWYoVD09NzMpcmV0dXJuIE47VD09MD8oRz1CdSg2LEcpLEQmJkRbZEpdP0QuSS5hZGQoU3RyaW5nKFopLEcsUixOUCg0LCJvYmplY3QiLDIwLGgpPyEhaC5jYXB0dXJlOiEhaCxtKTpJQig2Niwib2JqZWN0IixmYWxzZSxHLFIsWixELGgsbSksVD00Nyk6VD09ND9UPTkzOlQ9PTc0P1Q9QjxaLmxlbmd0aD83Nzo0NzpUPT02OT8oQj0wLFQ9NTQpOlQ9PWs/VD1oJiZoLm9uY2U/NTU6NDg6VD09OTg/KEIrKyxUPTc0KTpUPT00OD9UPUFycmF5LmlzQXJyYXkoWik/Njk6MDpUPT03NyYmKHZ1KDU2LGZhbHNlLEcsaCxELHRydWUsWltCXSw1LG0pLFQ9OTgpfX0sRTU9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5oPXRoaXMuaHg9dGhpcy5uPTB9cmV0dXJuW2Z1bmN0aW9uKGgpeyhrLmdiKGgpLFIpLmdiKGgpfSwoUj0oaz1uZXcgKEcucHJvdG90eXBlLnJKPShHLnByb3RvdHlwZS5nYj1mdW5jdGlvbihoLEQpe3JldHVybiBvQi5jYWxsKHRoaXMsMTMsNjUsaCxEKX0sZnVuY3Rpb24oKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDMpfSksRyksbmV3IEcpLGZ1bmN0aW9uKGgsRCl7cmV0dXJuIEQ9W2suckooKSxSLnJKKCksay5oLFIuaF0sKGg9PT12b2lkIDB8fGgpJiYoUj1uZXcgRyksRH0pXX0sSlc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7VD05O3doaWxlKFQhPTgwKWlmKFQ9PTkpVD00ODtlbHNle2lmKFQ9PTI1KXJldHVybiBCO1Q9PTQ4P1Q9KChoXjEzKSY0KTwzJiYoaHw5KT4+Mz49Mj81NjoxNzpUPT04NT8oRyhmdW5jdGlvbihOKXtOKEQpfSksQj1bZnVuY3Rpb24oKXtyZXR1cm4gRH0sZnVuY3Rpb24oKXt9XSxUPTI1KTpUPT01Nj8obi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QucmVtb3ZlKG0pOihuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5jb250YWlucyhtKTplKDQ2LFosbSxCdShrLEcsbikpKSYmZShSLGMsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEJ1KDMzLEcsbiksZnVuY3Rpb24oTil7cmV0dXJuIE4hPW19KS5qb2luKEQpLG4pLFQ9MTcpOlQ9PTE3JiYoVD1oPj4yPDE2JiYoaCsxJjIpPj0xPzg1OjI1KX19fSxGMT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e049MjY7d2hpbGUoTiE9MTcpaWYoTj09NDIpYz10cnVlLE49NDY7ZWxzZSBpZihOPT04MylUPWZ1bmN0aW9uKFApe3JldHVybiBoLmNhbGwoVC5zcmMsVC5saXN0ZW5lcixQKX0saD10byxCPVQsTj0yMTtlbHNlIGlmKE49PTYwKW09bmV3IHJVKEQsdGhpcyksWj1oLlZufHxoLnNyYyxuPWgubGlzdGVuZXIsaC5hbyYmY1koMzMsbnVsbCwzLFIsaCksYz1uLmNhbGwoWixtKSxOPTQ2O2Vsc2UgaWYoTj09MjYpTj1rO2Vsc2V7aWYoTj09NTcpcmV0dXJuIEI7Tj09MjE/Tj0oR14yNCk8NyYmRy03Pj01PzMwOjU3Ok49PWs/Tj0oRz4+MSY3KT09MT84MzoyMTpOPT0zMD9OPWguZlg/NDI6NjA6Tj09NDYmJihCPWMsTj01Nyl9fX0sYXY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7d2hpbGUoIVIueW4mJihCPXZvaWQgMCxoJiZoWzBdPT09d1UmJihCPWhbMl0sRz1oWzFdLGg9dm9pZCAwKSxuPVYoayxSKSxuLmxlbmd0aD09MCYmKEQ9VigxNjgsUik+PjMsbi5wdXNoKEcsRD4+OCYyNTUsRCYyNTUpLEIhPXZvaWQgMCYmbi5wdXNoKEImMjU1KSksUD0iIixoJiYoaC5tZXNzYWdlJiYoUCs9aC5tZXNzYWdlKSxoLnN0YWNrJiYoUCs9IjoiK2guc3RhY2spKSxtPVcoUiwzMDIpLG1bMF0+MykpeyhUPShQPShtWzBdLT0oUD1QLnNsaWNlKDAsKG1bMF18MCktMyksWj1QLmxlbmd0aCwoWnwzKS1+Wisoflp8MykpLGVlKShQLDEyOCksUikuQixSKS5CPVI7dHJ5e1IuSHQ/KE49KE49Vig0NDYsUikpJiZOW04ubGVuZ3RoLTFdfHw5NSwoYz1XKFIsMTYzKSkmJmNbYy5sZW5ndGgtMV09PU58fGxOKDE2MyxbTiYyNTVdLDcsUikpOmplKDQ0NixbOTVdLFIpLGxOKDQyLEsoMixQLmxlbmd0aCkuY29uY2F0KFApLDcsUiwxNDQpfWZpbmFsbHl7Ui5CPVR9aWYoe30pYnJlYWt9fSxHTj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSxTKXtpZihoPVYoMTQyLFIpLGg+PVIuail0aHJvd1t3VSwzMV07Zm9yKGM9KEk9KG09KE49MCxoKSxSLkNqKS5sZW5ndGgsayk7Yz4wOylaPW0+PjMsUz1tJTgsUD1SLndiW1pdLG49OC0oU3wwKSxCPW48Yz9uOmMsRyYmKGQ9UixkLmwhPW0+PjYmJihkLmw9bT4+NixEPWIoZCwzNjMpLGQud0o9eWgoMTYsZC5sLDI1NSxkLk4sWzAsMCxEWzFdLERbMl1dKSksUF49Ui53SltaJkldKSxOfD0oUD4+OC0oU3wwKS0oQnwwKSYoMTw8QiktMSk8PChjfDApLShCfDApLG0rPUIsYy09QjtyZXR1cm4gQygxNDIsKGh8MCkrKGt8KFQ9TiwwKSksUiksVH0sWT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7KFIrNyY0NCk+PVImJlIrND4+MjxSJiYoaD1bLTc1LC0zMSw3MSwtMzUsNDYsLTEwMCxoLDk0LDUwLC03OF0sWj1jJjcsbT1TZSxCPXlmW0cuUl0oRy5KcyksQltHLlJdPWZ1bmN0aW9uKFApe249UDt3aGlsZShudWxsPT1mYWxzZT09MClpZighKForPTYrNypjLFtdKT09dHJ1ZT09IVtdKWJyZWFrO1o9MTYrfihafDcpK2sqKFomLTgpKyh+Wl43KX0sQi5jb25jYXQ9ZnVuY3Rpb24oUCxkLEkpe3JldHVybihkPShuPShQPShJPUQlMTYrMSwrKG0oKXwwKSpJLTc4KkQqRCpuKzM5Km4qbi0yMjYyKm4rWi0gLTEyMDkqRCpuK2hbWisxOSY3XSpEKkkpLUkqbitrKkQqRCpJLHZvaWQgMCksaFtQXSksaClbKForNjEmNykrKC0yLWsqfihjfGspK2sqKH5jXmspKyh+YyZrKSldPWQsaFtaKygtfihjJmspKyhjXmspLSh+YyZrKSsofmN8aykpXT0tMzEsZH0sTj1CKTtzd2l0Y2goISgoUl4xMyk8MjQmJihSXjkwKT49MTgpKXtjYXNlIHRydWU6TnVtYmVyKHRydWUudHJ1ZSk7YnJlYWs7Y2FzZSB0cnVlPT1bXTpzd2l0Y2goIShEPVhYKCJhcnJheSIsaCwibnVsbCIpPT09ImFycmF5Ij9oOltoXSx0aGlzLkspKXtjYXNlIHRydWU6dHJ5e2M9IXRoaXMuUC5sZW5ndGgmJiF0aGlzLm8sYSg1NyxbJGYsW10sRCxrLEddLHRoaXMpLEcmJiFjfHxSQigyNyxmYWxzZSx0aGlzLHRydWUsRyl9Y2F0Y2goUCl7ZSg1NiwiOiIsdGhpcyxQKSxrKHRoaXMuSyl9YnJlYWs7Y2FzZSB0cnVlPT1bXT09bnVsbDprKHRoaXMuSyk7YnJlYWt9YnJlYWt9KFIrM14xMik+PVImJihSKzJeMjcpPFImJihOPVQ9ZnVuY3Rpb24oKXt7dmFyIFA9NzE7d2hpbGUoUCE9OSlpZihQPT0xNil2YXIgZD1bTVQsKFA9OTcsYyksaCx2b2lkIDAsbixtLGFyZ3VtZW50c107ZWxzZSBpZihQPT01OSlQPVouWT8xNjo4ODtlbHNlIGlmKFA9PTk3KVA9RD09Rz83OTozNTtlbHNlIGlmKFA9PTM1KVA9RD09MT81NjoyNztlbHNlIGlmKFA9PTI3KXt2YXIgST1rbihkLDIsdHJ1ZSxaKTtQPTk5fWVsc2UgaWYoUD09NTYpe3ZhciBTPSFaLlAubGVuZ3RoJiYhWi5vO2EoNDMsZCxaKSxTJiZSQigyOCxmYWxzZSxaLGssayksUD05OX1lbHNlIGlmKFA9PTg4KW4mJm0mJm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihtLFQsb3YpLFA9OTtlbHNle2lmKFA9PTk5KXJldHVybiBJO1A9PTcxP1A9Wi5CPT1aPzU5Ojk6UD09NzkmJihhKDQyLGQsWiksST1SQigyOSxmYWxzZSxaLGssayksUD05OSl9fX0pO3N3aXRjaCghKChSfDcyKT09Uikpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgW109PShbXSE9KCFbXT09MCkpOmE6e2lmKGsuVil7Tj1rZihrLGsuRyk7YnJlYWsgYX0oRz1HTig4LGssdHJ1ZSksRyYxMjgpJiYoR149MTI4LGg9R04oMixrLHRydWUpLEc9KEQ9Rzw8MiwoRCZoKS0xLX4oRHxoKSkpLE49R31icmVha313aGlsZShSPj4yPj05JiYoKFJeMTkpJjI0KTwxOSl7RD1xKDE3LEcpO3tjPTA7d2hpbGUoaD4wKWM9Yzw8a3xSdihHKSxoLS19aWYoIVtdPT0oMCE9IShDKEQsYyxHKSxbXSkpKWJyZWFrfXJldHVybiBOfSxzNT1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDksayl9LENyPWZ1bmN0aW9uKGssUil7e3ZhciBHPTkzO3doaWxlKEchPTUxKWlmKEc9PTkzKXZhciBoPShHPTUwLDEpO2Vsc2UgaWYoRz09NjQpRz1oPGFyZ3VtZW50cy5sZW5ndGg/NzU6NTE7ZWxzZSBpZihHPT03NSl7dmFyIEQ9YXJndW1lbnRzW2hdO2ZvcihaIGluIEQpa1taXT1EW1pdO3ZhciBjPShHPTk2LDApfWVsc2UgaWYoRz09OTYpRz04NDtlbHNlIGlmKEc9PTUwKUc9NjQ7ZWxzZSBpZihHPT03MiljKyssRz04NDtlbHNlIGlmKEc9PTg0KUc9YzxIWS5sZW5ndGg/ODA6MjtlbHNlIGlmKEc9PTIpaCsrLEc9NjQ7ZWxzZSBpZihHPT04MCl7dmFyIFo9SFlbY107T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsWikmJihrW1pdPURbWl0pLEc9NzJ9fX0sTlQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEkpe2ZvcihkPTI0O2QhPTE5OylpZihkPT05NilBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEcsZnVuY3Rpb24oUyxYLE0pe2ZvcihNPTI0O00hPTI2OylNPT0yND9NPWsuY2xhc3NMaXN0PzYwOjQ5Ok09PTQ5P009KGsuY2xhc3NMaXN0P2suY2xhc3NMaXN0LmNvbnRhaW5zKFMpOmUoNDUsMCxTLEJ1KDMyLCJjbGFzcyIsaykpKT8yNjo1NTpNPT01NT8oWD1BVyg0MSwiY2xhc3MiLDI4LCIiLGspLGUoNiwic3RyaW5nIixYKyhYLmxlbmd0aD4wPyIgIitTOlMpLGspLE09MjYpOk09PTYwJiYoay5jbGFzc0xpc3QuYWRkKFMpLE09MjYpfSksZD0yNztlbHNlIGlmKGQ9PTkwKWQ9KFI8PDEmOSk+PTEmJihSPj4yJjEyKTw2Pzg2OjI3O2Vsc2UgaWYoZD09MjQpZD02MTtlbHNlIGlmKGQ9PTg2KWQ9ay5jbGFzc0xpc3Q/OTY6NztlbHNlIGlmKGQ9PTI3KWQ9KFJeMzQpPDI2JiYoUisxJjE1KT49OT81ODo5NztlbHNlIGlmKGQ9PTEwKWQ9YzxoLmxlbmd0aD8zMzo3NDtlbHNlIGlmKGQ9PTEzKWMrKyxkPTEwO2Vsc2V7aWYoZD09OTcpcmV0dXJuIEk7aWYoZD09Nyl7Zm9yKGMgaW4gaD0oKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKEQ9e30sQnUpKDM2LCJjbGFzcyIsayksZnVuY3Rpb24oUyl7RFtTXT10cnVlfSksQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoRyxmdW5jdGlvbihTKXtEW1NdPXRydWV9KSwiIiksRCloKz1oLmxlbmd0aD4wPyIgIitjOmM7ZD0oZSg1LCJzdHJpbmciLGgsayksMjcpfWVsc2UgaWYoZD09ODkpZD1EPms/Njo1NztlbHNlIGlmKGQ9PTYpWltuKytdPUQmayxEPj49OCxkPTU3O2Vsc2UgaWYoZD09MzMpRD1oLmNoYXJDb2RlQXQoYyksZD04OTtlbHNlIGlmKGQ9PTc0KUk9WixkPTk3O2Vsc2UgaWYoZD09OTQpZD0xMDtlbHNlIGlmKGQ9PTU3KVpbbisrXT1ELGQ9MTM7ZWxzZSBpZihkPT01OCluPWM9RyxaPVtdLGQ9OTQ7ZWxzZSBpZihkPT04KXthOntpZihELkI9KChELkgrPShaPShuPShjfHxELm9vKyssRC5xbz4wJiZELm8mJkQuRTkpJiZELkQ3PD0xJiYhRC5WJiYhRC5TJiYoIWN8fEQuZEotRz4xKSYmZG9jdW1lbnQuaGlkZGVuPT1rLChCPUQub289PTQpfHxuP0QuSigpOkQuY3QpLG09Wi1ELmN0LG0pPj4xND4wLEQpLk4mJihELk49KFQ9RC5OLE49KEQuSCsxPj4yKSoobTw8MiksLSh+VF5OKSsoflQmTikrKFR8fk4pKSksRC5IKzE+PjIhPTB8fEQuQiksQnx8bilELm9vPTAsRC5jdD1aO2lmKCFuKXtJPWs7YnJlYWsgYX1pZigoRC5xbz5ELkUyJiYoRC5FMj1ELnFvKSxaLUQua04pPEQucW8tKGg/MjU1OmM/NToyKSl7ST1rO2JyZWFrIGF9ST0oQygxNDIsKFA9VihjPzE2ODoxNDIsKEQuZEo9RyxEKSksRC5qKSxEKSxELlAucHVzaChbbWMsUCxjP0crMTpHLEQudSxELlddKSx0cnVlKSxELlM9dTl9ZD02NH1lbHNlIGQ9PTE3PyhJPWsmJmsucGFyZW50Tm9kZT9rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayk6bnVsbCxkPTkwKTpkPT02ND9kPShSKzReMTApPj1SJiYoUis0XjI1KTxSPzE3OjkwOmQ9PTYxJiYoZD1SPj4xJjE1PzY0OjgpfX0sTG49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2ZvcihuPTgwO24hPTk1Oyl7aWYobj09MTUpcmV0dXJuIG07bj09Nzg/bj0oaC1rJjcpPT0xPzU1OjgxOm49PTU1Pyh0aGlzLmxpc3RlbmVyPVosdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWMsdGhpcy50eXBlPUcsdGhpcy5jYXB0dXJlPSEhRCx0aGlzLlZuPVIsdGhpcy5rZXk9KytJdix0aGlzLmFvPXRoaXMuZlg9ZmFsc2Usbj04MSk6bj09NTY/KG09RyBpbiBUTj9UTltHXTpUTltHXT1SK0csbj0xNSk6bj09Mzg/bj0oaHw0OCk9PWg/NTY6MTU6bj09MTM/KEcucFgoZnVuY3Rpb24oQil7Yz1CfSxSLEQpLG09YyxuPTM4KTpuPT04MT9uPWgtNyY1PzM4OjEzOm49PTgwJiYobj03OCl9fSxCdT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQpe2ZvcihQPTI1O1AhPTU2OylpZihQPT00MCltPXRXKDY4LG4pLFA9NDc7ZWxzZSBpZihQPT0zMyluLkkucmVtb3ZlKFN0cmluZyhaKSxELEIsYyksUD05MztlbHNlIGlmKFA9PTQ3KVA9bT82Njo5MztlbHNlIGlmKFA9PTQ0KU49UixQPTE4O2Vsc2UgaWYoUD09NzMpUD0oa3wzMik9PWs/NTk6NDg7ZWxzZXtpZihQPT00OClyZXR1cm4gZDtpZihQPT01MilQPUFycmF5LmlzQXJyYXkoWik/NDQ6MzE7ZWxzZSBpZihQPT01OSlkPUcuY2xhc3NMaXN0P0cuY2xhc3NMaXN0OkFXKDQxLFIsMjYsIiIsRykubWF0Y2goL1xcUysvZyl8fFtdLFA9NDg7ZWxzZSBpZihQPT03MClQPWsrNj4+ND83Mzo5NDtlbHNlIGlmKFA9PTk0KXthOntpZih0eXBlb2YgUj09PSJmdW5jdGlvbiIpe2Q9UjticmVhayBhfWQ9KFJbZFVdfHwoUltkVV09ZnVuY3Rpb24oSSl7cmV0dXJuIFIuaGFuZGxlRXZlbnQoSSl9KSxSW2RVXSl9UD03M31lbHNlIGlmKFA9PTE4KVA9MzA7ZWxzZSBpZihQPT05MylQPShrLTdeMjMpPj1rJiYoays3JjI1KTxrPzc3OjcwO2Vsc2UgaWYoUD09MzcpUD0oa3w5KT4+Mz09Mz81Mjo5MztlbHNlIGlmKFA9PTI1KVA9Mzc7ZWxzZSBpZihQPT01MylQPW4mJm5bZEpdPzMzOjg5O2Vsc2UgaWYoUD09ODkpUD1uPzQwOjkzO2Vsc2UgaWYoUD09ODIpTisrLFA9MzA7ZWxzZSBpZihQPT0zMSlCPU5QKDQsRywxNyxoKT8hIWguY2FwdHVyZTohIWgsRD1CdSg1LEQpLFA9NTM7ZWxzZSBpZihQPT0yMSlCdSgxNywwLCJvYmplY3QiLGgsRCxjLFpbTl0sbiksUD04MjtlbHNlIGlmKFA9PTc3KXtmb3IoWiBpbihEPVIsaCkuWil7Zm9yKGM9KG49aC5aW1pdLFIpO2M8bi5sZW5ndGg7YysrKSsrRCxoVyg4LEcsbltjXSk7ZGVsZXRlIGguWltoLkp4LS0sWl19UD03MH1lbHNlIFA9PTY2PygoVD1tLkNYKFosRCxjLEIpKSYmY1koMzMsbnVsbCw1LCJvbiIsVCksUD05Myk6UD09MzAmJihQPU48Wi5sZW5ndGg/MjE6OTMpfX0sTlA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9OTY7WiE9NzM7KWlmKFo9PTU4KVo9KEd8MTYpPT1HPzQ3OjcwO2Vsc2V7aWYoWj09NzApcmV0dXJuIGM7Wj09NjY/Wj0oRysyXjIwKT49RyYmKEcrayY1Nyk8Rz82OTo1ODpaPT00Nz8oRD10eXBlb2YgaCxjPUQ9PVImJmghPW51bGx8fEQ9PSJmdW5jdGlvbiIsWj03MCk6Wj09Njk/KHRoaXMuS2o9UixaPTU4KTpaPT05NiYmKFo9NjYpfX0sY1k9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXtmb3IoQj05NTtCIT0wOylpZihCPT04KXRoaXMubisrLEI9ODE7ZWxzZSBpZihCPT05NylCPW0/ODA6Mzc7ZWxzZSBpZihCPT05NClCPXR5cGVvZiBEIT09Im51bWJlciImJkQmJiFELmZYPzE1OjMyO2Vsc2UgaWYoQj09MTUpYz1ELnNyYyxCPTEzO2Vsc2UgaWYoQj09ODApckooaywwLEQsbSksQj0yNjtlbHNlIGlmKEI9PTI2KUI9bS5KeD09MD82MzozMjtlbHNlIGlmKEI9PTY1KXRoaXMuVC5wdXNoKFIpLEI9MTg7ZWxzZSBpZihCPT0zNyloVyg3LHRydWUsRCksQj0zMjtlbHNlIGlmKEI9PTEzKUI9YyYmY1tkSl0/OTE6Mzk7ZWxzZSBpZihCPT02NyloPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLGg8NTAmJih0aGlzLlRbaF09UiksQj0xODtlbHNlIGlmKEI9PTM5KVo9RC50eXBlLG49RC5wcm94eSxjLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yy5yZW1vdmVFdmVudExpc3RlbmVyKFosbixELmNhcHR1cmUpOmMuZGV0YWNoRXZlbnQ/Yy5kZXRhY2hFdmVudChMbigzLGgsWiw1MCksbik6Yy5hZGRMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lcihuKSxpOS0tLG09dFcoMjEsYyksQj05NztlbHNlIGlmKEI9PTE5KUI9Ry04PDwyPj1HJiZHKzI+PjE8Rz84OjE4O2Vsc2UgaWYoQj09OTEpckooMzIsMCxELGMuSSksQj0zMjtlbHNlIGlmKEI9PTk1KUI9MTk7ZWxzZSBpZihCPT04MSlCPXRoaXMuVC5sZW5ndGg8NTA/NjU6Njc7ZWxzZSBpZihCPT02MyltLnNyYz1SLGNbbDldPVIsQj0zMjtlbHNle2lmKEI9PTMyKXJldHVybiBUO0I9PTE4JiYoQj0oR3wxKT4+Mz8zMjo5NCl9fSxLPWZ1bmN0aW9uKGssUixHLGgsRCl7Zm9yKGg9LX4oayYxKSsoRD1bXSwtMikrKGsmLTIpO2g+PTA7aC0tKURbfihrJjEpLTMqfmsrMip+KGt8MSkrKH5rJjEpLShofDApXT0oRz1SPj5oKjgsLTIqfihHJjI1NSktMSt+RysoRyYtMjU2KSk7aWYoe30pcmV0dXJuIER9LGZyPWZ1bmN0aW9uKCl7cmV0dXJuIFBZLmNhbGwodGhpcywxNCl9LFE9ZnVuY3Rpb24oayxSLEcpe3N3aXRjaCghKFI9PTE0Mnx8Uj09MTY4KSl7Y2FzZSB0cnVlOmlmKGsueW4mJlIhPTM2MylyZXR1cm47Uj09NDg4fHxSPT00Mnx8Uj09MjY0fHxSPT0xNHx8Uj09NTA2fHxSPT00NDZ8fFI9PTE2M3x8Uj09OTV8fFI9PTE5MXx8Uj09MzAyP2suWVtSXXx8KGsuWVtSXT1ZKDIsMzQsayxHLFIsMzgpKTprLllbUl09WSgyLDMzLGssRyxSLDEyOSk7YnJlYWs7Y2FzZSAhW106ay5ZW1JdP2suWVtSXS5jb25jYXQoRyk6ay5ZW1JdPXEoMjEsRyxrKTticmVha31SPT0zNjMmJihrLk49R04oMzIsayxmYWxzZSksay5sPXZvaWQgMCl9LER5PXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oayl7ZnVuY3Rpb24gUigpe31yZXR1cm4gUi5wcm90b3R5cGU9ayxuZXcgUn0sREQ9ZnVuY3Rpb24oayl7cmV0dXJuIFRvLmNhbGwodGhpcyw1NCxrLDI1KX0samU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe3N3aXRjaCghKEcuQj09Rykpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgISFudWxsOnttPWIoRyxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8oRD1mdW5jdGlvbihCLFQsTixQLGQsSSxTLFgpe2ZvcihJPShYPTE4LDg5KTs7KXRyeXtpZihYPT0zMylicmVhaztlbHNlIGlmKFg9PTU3KW0ucHVzaChtLkdmWy0oVHw3KS0yKn4oVHw3KSsoVHwtOCkrKH5UfDcpXV5CKSxYPTMzO2Vsc2V7aWYoWD09MzkpdGhyb3cgST04OSxTO1g9PTUwP1g9bS5tQiE9Tj81NDo1NzpYPT02OD8oST0zNixtLkdmPXloKDE2LHEoNTAsOCwtMS0yKn4oUHw0KSsoflBeNCksbSksMjU1LHEoMTgsOCxQLG0pLGQpLFg9NTcpOlg9PTU0PyhQPShOPDwzKS00LGQ9WzAsMCxjWzFdLGNbMl1dLG0ubUI9TixYPTY4KTpYPT0xOCYmKFQ9bS5sZW5ndGgsTj0oVHwwKS00Pj4zLFg9NTApfX1jYXRjaChNKXtpZihJPT04OSl0aHJvdyBNO0k9PTM2JiYoUz1NLFg9MzkpfX0sYz1WKDk1LEcpKTpEPWZ1bmN0aW9uKEIpe20ucHVzaChCKX0saCYmRCgoaHwwKS0gLTUxMisyKn4oaHwyNTUpKyhoJi0yNTYpKSxuPVIubGVuZ3RoLFo9MDt3aGlsZShaPG4pRChSW1pdKSxaKyt9YnJlYWt9fSxQZD1mdW5jdGlvbihrKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssMTYpfSxoMD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiw2LGssUixHLGgsRCxjKX0sYjk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssOCxSLEcsaCxELGMsWixuKX0sak09ZnVuY3Rpb24oayl7cmV0dXJuIEtuLmNhbGwodGhpcywwLDEsOCxrKX0sUnY9ZnVuY3Rpb24oayl7cmV0dXJuIGsuVj9rZihrLGsuRyk6R04oOCxrLHRydWUpfSx5aD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4pe1o9KGM9MCxEWzNdfDApO3tuPURbMl18MDt3aGlsZShjPGspUj1SPj4+OHxSPDwyNCxSKz1ofDAsWj1aPj4+OHxaPDwyNCxoPWg8PDN8aD4+PjI5LForPW58MCxSXj1uKzY1OSxuPW48PDN8bj4+PjI5LGhePVIsWl49Yys2NTksbl49WixjKyt9cmV0dXJuW2g+Pj4yNCZHLGg+Pj5rJkcsaD4+PjgmRyxoPj4+MCZHLFI+Pj4yNCZHLFI+Pj5rJkcsUj4+PjgmRyxSPj4+MCZHXX0sY2Q9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe0I9KGMuSnM9dFcoNzcsKGMuQ2o9Y1tBb10sYy5nSj14ZixjLllEPUpvLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19KSxjLlIpLGMudlY9eWZbYy5SXShjLkpzLHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e049W107d2hpbGUoQjwzODMpTltCXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLEIrK31pZihjLlJhPShjLmN0PShjLkI9KGMuRno9W10sYy5WVD1mdW5jdGlvbihQKXtyZXR1cm4gb0IuY2FsbCh0aGlzLDEzLDEyLFApfSwoYy5FMj0oYy5QPVtdLDApLGMuWT1bXSxjLlc9ZmFsc2UsYy53Yj1bXSxjKS5OPShjLks9KGMuRz12b2lkIDAsYy5Eaz1bXSx2b2lkIDApLFQ9d2luZG93LnBlcmZvcm1hbmNlfHx7fSx2b2lkIDApLGMpLDApLFQudGltZU9yaWdpbil8fChULnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCx0cnVlKWMud0o9dm9pZCAwO2MudT0oYy55VD0oKGMuVGU9RyxjLmRKPTMwMDAxLGMpLkQ3PTAsKGMuWD0wLGMpLnZ0PShjLm89ZmFsc2UsYy5CVj0oYy5PXz1ELG0pLFtdKSwwKSxmYWxzZSk7d2hpbGUoLTA9PT0wKWlmKChjLnM5PTI1LFtdKSE9dHJ1ZSlicmVhaztpZihjLnluPSEoYy5TbT0oKGMuVTk9W10sYy5sPXZvaWQgMCxjLlM9bnVsbCxjLnVYPShjLkJ3PTAsYy5xbz0wLGMuaj0wLFtdKSxjLlY9dm9pZCAwLGMuSHQ9IShjLkU5PWZhbHNlLGMub289dm9pZCAwLDEpLGMpLmtOPShjLlRmPTAsYy5IPTEsYy5XdD12b2lkIDAsMCksW10pLDEpLFomJloubGVuZ3RoPT0yJiYoYy5Eaz1aWzFdLGMuVTk9WlswXSksUil0cnl7Yy5XdD1KU09OLnBhcnNlKFIpfWNhdGNoKFApe2MuV3Q9e319ZigoZigyNixmdW5jdGlvbihQLGQsSSxTLFgpe3tYPTA7d2hpbGUoWCE9NjYpWD09ODg/KEk9cSgyNSxQKSxTPVkoUCw3MyksUShQLFMsZnVuY3Rpb24oTSl7cmV0dXJuIGV2YWwoTSl9KHpOKFYoSSxQLkIpKSkpLFg9NjYpOlg9PTAmJihYPU5UKGZhbHNlLDMyLGQsZmFsc2UsUCx0cnVlKT82Njo4OCl9fSwoKGYoKGYoMTYsZnVuY3Rpb24oUCl7a2ooMyxQKX0sKEMoMTQsKGYoKEEoMjY0LChmKDIzLChmKDIwLCgoZigxNywoZigyNywoZigxOCwoKGYoMjEsZnVuY3Rpb24oKXt9LDMyMywoZigyMCwoZigyMyxmdW5jdGlvbihQLGQsSSxTKXtBKChJPShTPShkPXEoNzEsUCksUnYpKFApLFkoUCw3NykpLEkpLFAsVyhQLGQpPj4+Uyl9LChDKDQyLChBKDE1NixjLChRKGMsKFEoYyw0ODgsKEEoMTkxLGMsKEMoOTUsKEMoNTUsKGYoMjUsKEMoNTA2LFtdLCgoQSgoZigxMyxmdW5jdGlvbihQLGQsSSxTLFgpe2ZvcihYPTU1O1ghPTQyOylYPT0zNz8oZC0tLFg9OTIpOlg9PTkyP1g9ZD4wPzkzOjk3Olg9PTU1PyhJPVAuRnoucG9wKCksWD0yOSk6WD09ODc/KFEoUCwxNDIsUC5qKSxYPTQyKTpYPT03MD9YPTkyOlg9PTk3PyhJWzUwNl09UC5ZWzUwNl0sSVszMDJdPVAuWVszMDJdLFAuWT1JLFg9NDIpOlg9PTI5P1g9ST82Nzo4NzpYPT05Mz8oUz1xKDI1LFApLElbU109UC5ZW1NdLFg9MzcpOlg9PTY3JiYoZD1SdihQKSxYPTcwKX0sKGMud049KChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtmb3IoTT03MTtNIT00MDspTT09NzE/TT1OVChmYWxzZSw2NCxkLGZhbHNlLFAsdHJ1ZSk/NDA6OTc6TT09NDg/TT1QLkI9PVB8fEk9PVAuVlQmJlM9PVA/MTk6NDA6TT09OTc/KFg9cVQoNzEsNzQsUCwwLDEpLFM9WC5rZSxJPVguUFYsTT00OCk6TT09MTkmJihBKFgucW0sUCxJLmFwcGx5KFMsWC5MKSksUC5jdD1QLkooKSxNPTQwKX0sKGYoKGYoKChBKDE1NyxjLChmKChmKDI1LChDKDE2OCwoQSgxNDIsYywoZigoZigxOCwoZigyMixmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9MjQ7dyE9ODY7KXc9PTQ/KFEoUCxyLEkpLHc9ODYpOnc9PTQ0PyhkPShNPXEoMTIsNyxQKSwtMip+KGR8TSkrKGR8fk0pKyh+ZHxNKSklbCxJLnB1c2goU1tkXSksdz0yOSk6dz09MjQ/KHI9WShQLDc3KSxYPXEoMTEsNyxQKSxJPVtdLFM9VyhQLDM5MyksZD0wLGw9Uy5sZW5ndGgsdz03MCk6dz09MjM/dz1YLS0/NDQ6NDp3PT0yOT93PTIzOnc9PTcwJiYodz0yMyl9LDMxMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9NjY7dyE9MzU7KXc9PTYwP3c9bDxkLmxlbmd0aD83MjoyODp3PT03Mj8oWCs9U3RyaW5nLmZyb21DaGFyQ29kZShkW2xdXjEyMSksdz00Myk6dz09NDM/KGwrKyx3PTYwKTp3PT04ND93PTYwOnc9PTY2PyhJPXEoODksUCkscj1xKDcyLFApLE09WShQLDc3KSxkPVcoUCxyKSxTPWIoUCxJKSxsPTAsWD0iIix3PTg0KTp3PT0yOCYmKEMoTSxTW1hdLFApLHc9MzUpfSksMTM2LGMpLDI3KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyxFKXt7RT04NDt3aGlsZShFIT0xNClFPT0yND8oTSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoUz1kW3ddLDMqfihTJjEyMSktMip+Uy0gLTI0NCt+KFN8MTIxKSkpLEU9OTMpOkU9PTkzPyh3KyssRT0xOSk6RT09ODQ/KFg9WShQLDc0KSxJPVkoUCw3NCkscj1ZKFAsNzIpLGw9VyhQLEkpLGQ9VyhQLFgpLE09IiIsdz0wLEU9NDIpOkU9PTM0PyhBKHIsUCxNIGluIGx8MCksRT0xNCk6RT09MTk/RT13PGQubGVuZ3RoPzI0OjM0OkU9PTQyJiYoRT0xOSl9fSwyMjEsYyksMCkpLDApLGMpLGZ1bmN0aW9uKFAsZCxJKXtkPVkoKEk9WShQLDc2KSxQKSw3NiksQShkLFAsIiIrVyhQLEkpKX0pLDEwNixjKSwyMiksZnVuY3Rpb24oUCxkLEksUyxYLE0pe3tNPTM4O3doaWxlKE0hPTk3KU09PTE5PyhYKyssTT02OCk6TT09OD8oQShTLFAsZCksTT05Nyk6TT09Njg/TT1YPEk/MjY6ODpNPT04NT9NPTY4Ok09PTM4PyhTPXEoNjcsUCksST1xKDksNyxQKSxYPTAsZD1bXSxNPTg1KTpNPT0yNiYmKGQucHVzaChSdihQKSksTT0xOSl9fSwzMzUsYykse30pKSxjKS54ZT0wLDE2KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyKXtmb3Iocj05NDtyIT04OTspaWYocj09NjEpcj1YPFAudnQubGVuZ3RoPzc0Ojk4O2Vsc2UgaWYocj09OTQpe2ZvcihJIGluIGRlbGV0ZSAoZD0oUz1SdihQKSxXKShQLDU1KSxkKVtTXSxkKWlmKEkhPT0idCImJk9iamVjdC5oYXNPd24oZCxJKSlyZXR1cm47cj0oWD0wLDQ0KX1lbHNlIHI9PTY5PyhYKysscj02MSk6cj09ODU/KEguY2xlYXJUaW1lb3V0KE0uSWEpLGEoNDYsTS5RVCxQKSxhKDQ1LE0uYWEsUCkscj02OSk6cj09Nzg/cj1NLk1tPzY5Ojg1OnI9PTk4PyhQLnZ0Lmxlbmd0aD0wLHI9ODkpOnI9PTc0PyhNPVAudnRbWF0scj03OCk6cj09NDQmJihyPTYxKX0sMzI5LGMpLDI0KSxmdW5jdGlvbihQLGQsSSl7KGQ9YigoST1ZKFAsNzUpLFAuQiksSSksZFswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihkWzFdLGRbMl0sb3YpfSwxMzcsYyksMzEwKSxjKSxuZXcgZ1UoIlN1Ym1pdCIpKS5kaXNwb3NlKCksMCksMzI3KSxjKSw0MSksYywxODMpLGYpKDE2LGZ1bmN0aW9uKFApe3VOKDQsUCl9LDEzNCxjKSxjKSksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGLCRuLEdvLEosdil7Zm9yKHY9MDt2IT0yNzspaWYodj09NjkpRT1yLmxlbmd0aCxGPUY+MD9GOjEsdz0wLHY9MTE7ZWxzZSBpZih2PT04NSl2PXc8RT83OjI3O2Vsc2UgaWYodj09NjYpbD1xKDczLFApLCRuPXEoNzYsUCksR289cSg0OSxQKSxJPXEoNTcsUCksUz1XKFAsJG4pLHI9VyhQLGwpLE09VihJLFApLEY9VihHbyxQKSx2PTM3O2Vsc2UgaWYodj09Mzcpdj1YWCgiYXJyYXkiLHIsIm51bGwiKT09Im9iamVjdCI/OTA6Nzk7ZWxzZSBpZih2PT0wKXY9TlQoZmFsc2UsMzIsZCx0cnVlLFAsdHJ1ZSk/Mjc6NjY7ZWxzZSBpZih2PT03KVMoci5zbGljZSh3LCh3fDApKyhGfDApKSxNKSx2PTU5O2Vsc2UgaWYodj09MTEpdj04NTtlbHNlIGlmKHY9PTkwKXtmb3IoWCBpbiBKPVtdLHIpSi5wdXNoKFgpO3Y9KHI9Siw3OSl9ZWxzZSB2PT03OT92PVAuQj09UD82OToyNzp2PT01OSYmKHcrPUYsdj04NSl9KSw3MyxjKSx7fSksYyksWzAsMCwwXSksYyksWWYoNCkpKSxbNTcsMCwwXSkpLDE2MyksW10pLEgpKSxZZig0KSksYyksNDU0KSxjKSxmdW5jdGlvbihQLGQsSSxTLFgpe0EoKGQ9WFgoImFycmF5IiwoST1iKFAsKFM9cSgxNywoWD1ZKFAsNzQpLFApKSxYKSksSSksIm51bGwiKSxTKSxQLGQpfSksNDQxLGMpLGMpKSxRKShjLDQ1OCwwKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwpe3tsPTY5O3doaWxlKGwhPTIyKWw9PTQ2PyhQLk49R04oMzIsUCxmYWxzZSksUC5sPXZvaWQgMCxsPTIyKTpsPT0xNz9sPVg9PTM2Mz80ODoyMjpsPT02ND9sPUk9PTI/NDY6MjI6bD09NDA/bD1QLkI9PVA/OTA6MjI6bD09NDg/KFAubD12b2lkIDAsbD02NCk6bD09OTA/KHI9YihQLFgpLFM9YihQLE0pLEk9VyhQLGQpLHJbSV09UyxsPTE3KTpsPT02OSYmKFg9WShQLDczKSxkPXEoODksUCksTT1xKDc4LFApLGw9NDApfX0pLDY3LGMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUpe2ZvcihFPTM7RSE9MTM7KUU9PTk3PyhYPXFUKDcxLDc0LFAuQiwwLDEpLE09WC5MLHc9WC5xbSxTPVguUFYsST1YLmtlLHI9TS5sZW5ndGgsbD1yPT0wP25ldyBJW1NdOnI9PTE/bmV3IElbU10oTVswXSk6cj09Mj9uZXcgSVtTXShNWzBdLE1bMV0pOnI9PTM/bmV3IElbU10oTVswXSxNWzFdLE1bMl0pOnI9PTQ/bmV3IElbU10oTVswXSxNWzFdLE1bMl0sTVszXSk6MigpLFEoUCx3LGwpLEU9MTMpOkU9PTMmJihFPU5UKGZhbHNlLDY1LGQsZmFsc2UsUCx0cnVlKT8xMzo5Nyl9KSwxMjcsYyksZnVuY3Rpb24oUCxkKXtwcigoZD1XKFAsWShQLDc2KSksNTA2KSwwLDE0MixkLDEwNCxQLkIpfSksMzEzLGMpLGYpKDE4LGZ1bmN0aW9uKFApe3VOKDEsUCl9LDEyMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSl7KEk9KGQ9KE09WShQLChYPXEoKFM9cSg3OSxQKSw2NyksUCksNzIpKSxiKShQLFgpLFYoUyxQKSksQykoTSxJW2RdLFApfSksMjEyLGMpLGYoMTUsZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGKXtmb3IoRj04MztGIT0yNDspRj09Nzg/KFg9WShmYWxzZSwxNiwyLE0sMSxyLFAsRSx3KSxFLmFkZEV2ZW50TGlzdGVuZXIodyxYLG92KSxWKDcxLFApLnB1c2goZnVuY3Rpb24oKXtFLnJlbW92ZUV2ZW50TGlzdGVuZXIodyxYLG92KX0pLEMoNDU4LFtFLHcsWF0sUCksRj0yNCk6Rj09ODM/KGw9cSg0OSxQKSxTPXEoNzQsUCksZD1xKDU3LFApLEk9cSg3MCxQKSx3PVcoUCxTKSxNPWIoUCxJKSxyPVYoZCxQKSxFPVYobCxQLkIpLEY9MzQpOkY9PTM0JiYoRj1FIT09MD83ODoyNCl9LDQ5MyxjKSxmdW5jdGlvbihQLGQsSSxTKXtRKFAsKGQ9cSg3NSwoST1xKDc3LChTPVkoUCw3MiksUCkpLFApKSxkKSxiKFAsUyl8fFcoUCxJKSl9KSwxMTEsYyksYyksW10pLDE5KSxmdW5jdGlvbihQKXtraig0LFApfSw1MDAsYyksWWYoNCkpLGMpLDM2NCksYyksMTMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtBKChkPShJPWIoUCwoTT1xKDQ5LChTPVkoUCwoWD1xKDE3LFApLDcyKSksUCkpLFgpKSxWKShTLFApLE0pLFAsKyhJPT1kKSl9LDQzMixjKSxjKS5aaj0wLDUwNCksYyksMTUpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCl7aWYoMD09IShJPShyPVcoKE09WShQLChYPVkoUCwobD1ZKChTPVkoUCw3NiksUCksNzMpLDcyKSksNzUpKSxQKSxsKSxXKFAsTSkpLFt0cnVlLnRydWVdKSlkPVYoWCxQKTtDKFMsWShmYWxzZSwxNywyLGQsSSxyLFApLFApfSw4MCxjKTt3aGlsZSghW10hPSh0cnVlPT1bXSE9bnVsbCkpaWYoZigyNixmdW5jdGlvbihQLGQsSSxTLFgsTSl7KFg9YihQLChkPShTPXEoKEk9cSg2OCwoTT1xKDgwLFApLFApKSw3MCksUCksYihQLEkpKSxNKSksQykoUyxYIGluIGR8MCxQKX0sMzcsYyksIWZhbHNlPT0hIiIpYnJlYWs7UkIoMjYsZmFsc2UsYywoYSg0NywoYSg0MSwoQSg3MSwoKEEoMzAyLGMsWyhmKDE1LGZ1bmN0aW9uKFAsZCxJLFMpe1YoKGQ9YihQLChJPXEoNjgsUCksUz1ZKFAsNzMpLFMpKSxJKSxQKSE9MCYmQygxNDIsZCxQKX0sKFEoYyw0NDYsKGYoMTMsZnVuY3Rpb24oUCl7WSg4LDU0LFAsNCl9LDc0LChRKChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKKXt7eT0xMzt3aGlsZSh5IT00MCl5PT0wP3k9ODp5PT0yMD8oZigyMSxmdW5jdGlvbih6LFB1LG03LGcsZU0sTCl7Zm9yKEw9NDI7TCE9NzU7KUw9PTIxPyhQdS5wdXNoKG03KSxMPTQ4KTpMPT0zOD8oZy5wdXNoKHEoMjUseikpLEw9OTgpOkw9PTUzP0w9bTc+PWcubGVuZ3RoPzM4OjI1Okw9PTI1PyhtNz1nW203XSxMPTIxKTpMPT02Nj8oei5WPXEoNTMsUy5zbGljZSgpLHopLHouRz1xKDUsUHUseiksTD03NSk6TD09MTE/KG03PU1bZU1dLEw9MTUpOkw9PTQ4PyhlTSsrLEw9NjApOkw9PTQyPyhlTT0wLFB1PVtdLGc9W10sTD05OSk6TD09MTU/TD1PW2VNXT8yMTo2ODpMPT05OD9MPTUzOkw9PTYwP0w9ZU08Sj8xMTo2NjpMPT05OT9MPTYwOkw9PTY4JiYoTD01Myl9LHIsUCkseT00MCk6eT09Mjc/KHc9MCx5PTE1KTp5PT01Mj8oT1tJXXx8KE1bSV09d0ooRikpLHk9NDYpOnk9PTI1PyhGPSgoR298MSkrfihHb3wxKS0ofkdvXjEpLTIqKH5HbyYxKSkudG9TdHJpbmcoMikubGVuZ3RoLE09W10sST0wLHk9Nik6eT09NDk/KFMucHVzaChWKFkoUCw3NSksUCkpLHk9MzMpOnk9PTQ2PyhJKysseT04Nik6eT09MTM/KHdKPWZ1bmN0aW9uKHosUHUpe2Zvcig7RTx6Oyl2fD1SdihQKTw8RSxFKz04O3JldHVybiB2Pj49KFB1PShFLT16LHYmKDE8PHopLTEpLHopLFB1fSxyPVkoUCw3NSksdj1FPTAsWD0od0ooMyl8MCkrMSxKPXdKKDUpLE89W10seT1Hbz1sPTApOnk9PTg2P3k9STxKPzUyOjI3Onk9PTY1Pyh3KysseT04Myk6eT09MzM/eT00Nzp5PT02P3k9ODY6eT09NTA/KE9bd10mJihNW3ddPVkoUCw3MikpLHk9NjUpOnk9PTcxPygkbj13SigxKSxPLnB1c2goJG4pLEdvKz0kbj8wOjEseT03Nik6eT09NDc/eT1kLS0/NDk6MjA6eT09OD95PWw8Sj83MToyNTp5PT04Mz95PXc8Sj81MDo2OTp5PT03Nj8obCsrLHk9OCk6eT09Njk/KGQ9WCxTPVtdLHk9NjYpOnk9PTE1P3k9ODM6eT09NjYmJih5PTQ3KX19LDMwMCwoZigoQygxMDMsMCxjKSwyNCksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcpe2Zvcih3PTkxO3chPTQ3Oyl3PT04MT8oZD0oTT1xKDgsNyxQKSwyKihkJk0pK34oZCZNKS1+KGR8TSkpJVMscis9TltsW2RdXSx3PTI1KTp3PT01MD93PTgzOnc9PTEyPyhBKFgsUCxyKSx3PTQ3KTp3PT05MT8oWD1ZKFAsNzUpLEk9cSgxMCw3LFApLHI9IiIsbD1XKFAsMzkzKSxTPWwubGVuZ3RoLGQ9MCx3PTUwKTp3PT04Mz93PUktLT84MToxMjp3PT0yNSYmKHc9ODMpfSw1MSxjKSxjKSksYyksMzksYyksYykpLFtdKSksMTcxKSxjKSwyMDQ4KV0pLGYpKDE5LGZ1bmN0aW9uKFAsZCxJLFMsWCl7USgoWD0oZD0oUz1xKDI1LChJPVkoUCw3NiksUCkpLGIpKFAsUyksVihJLFApKSxQKSxTLGQrWCl9LDEwNCxjKSxjKSxbXSksaHx8YSg1NixbeG5dLGMpLFtHdCxrXSksYyksW1JZLG5dKSxjKSx0cnVlKSx0cnVlKX0sVmg9ZnVuY3Rpb24oayxSKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDI0LGssUil9LGtmPWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz1SLmNyZWF0ZSgpLnNoaWZ0KCksay5WLmNyZWF0ZSgpLmxlbmd0aHx8ay5HLmNyZWF0ZSgpLmxlbmd0aCl8fChrLkc9dm9pZCAwLGsuVj12b2lkIDApLEd9LHFQPWZ1bmN0aW9uKGspe2Zvcih2YXIgUj04NztSIT0yOTspaWYoUj09MzIpRCs9ZW5jb2RlVVJJQ29tcG9uZW50KEdbaF0pK2tbaCsxXSxSPTM1O2Vsc2V7aWYoUj09MTgpcmV0dXJuIGUoMzYsbnVsbCxEKTtpZihSPT04Nyl2YXIgRz1Lci5hcHBseSgxLChSPTkzLGFyZ3VtZW50cykpO2Vsc2UgaWYoUj09MzUpaCsrLFI9NDY7ZWxzZSBpZihSPT04Myl2YXIgaD0oUj00LDApLEQ9a1swXTtlbHNlIGlmKFI9PTkzKVI9Ry5sZW5ndGg9PT0wPzUxOjgzO2Vsc2UgaWYoUj09NClSPTQ2O2Vsc2UgaWYoUj09NDYpUj1oPEcubGVuZ3RoPzMyOjE4O2Vsc2UgaWYoUj09NTEpcmV0dXJuIGUoMzUsbnVsbCxrWzBdKX19LFdZPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIE1QLmNhbGwodGhpcywyMixrLFIsRyxoLEQpfSxubj1mdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcywzKX0sYUI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gQVcuY2FsbCh0aGlzLDQxLGssOCxSKX0sWWY9ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTE5O0chPTY4OylpZihHPT03OSlSLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRz0xNTtlbHNlIGlmKEc9PTE5KVI9W10sRz05NztlbHNlIGlmKEc9PTk3KUc9MzA7ZWxzZSBpZihHPT0xNSlHPTMwO2Vsc2UgaWYoRz09MzApRz1rLS0/Nzk6NzE7ZWxzZSBpZihHPT03MSlyZXR1cm4gUn0sZWU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEksUyl7Zm9yKFo9KEI9KFQ9KEk9ay5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksW10pLDApLDApO1o8SS5sZW5ndGg7WisrKUQ9SS5jaGFyQ29kZUF0KFopLEQ8Uj9UW0IrK109RDooRDwyMDQ4P1RbQisrXT0oYz1EPj42LC1+KGMmMTkyKSsyKihjXjE5MiktKH5jJjE5MikrKH5jfDE5MikpOigoRCY2NDUxMik9PTU1Mjk2JiZaKzE8SS5sZW5ndGgmJihJLmNoYXJDb2RlQXQoWisxKSY2NDUxMik9PTU2MzIwPyhEPShtPShEJjEwMjMpPDwxMCwyKig2NTUzNiZtKSsoNjU1MzYmfm0pLSgtNjU1MzdebSkrKC02NTUzN3xtKSkrKGg9SS5jaGFyQ29kZUF0KCsrWiksKGh8MCktfihoJjEwMjMpK35oKSxUW0IrK109KGQ9RD4+MTgsMjQwKyhkJjI0MCkrLTI0MS0ofmReMjQwKSksVFtCKytdPShHPShQPUQ+PjEyLDYzLSh+UCY2MykpLDEyNy0ofkd8UikpKTpUW0IrK109KFM9RD4+MTIsMjIzLSh+U3wyMjQpKSxUW0IrK109KG49KE49RD4+Niwtfk4rKH5OXjYzKSsofk4mNjMpKSxSLSh+bl5SKSsobnwtMTI5KSkpLFRbQisrXT02My1+RCt+KER8NjMpfFIpO3JldHVybiBUfSxXPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTtmb3IoTmFOO0c9PT12b2lkIDA7ZmFsc2Upe3Rocm93W3dVLDMwLFJdO2lmKHRydWUpYnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoUioyKlIrLTMxKlIrNTgpLEcpLnByb3RvdHlwZX0sTHI9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssNSxSLEcsaCxEKX0sa2o9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7KCgoRz1iKFIsKFo9WShSLChjPVkoUiwoRD0oa3w0KS1+aysoaD1rJjMsfihrfDQpKS0oayYtNSksNzMpKSw3NykpLGMpKSxEKSYmKEc9ZWUoIiIrRywxMjgpKSxoKSYmamUoWixLKDIsRy5sZW5ndGgpLFIpLGplKShaLEcsUil9LGlOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXsoUi5wdXNoKChjPWtbMF08PDI0fGtbMV08PDE2LG49a1syXTw8OCwtfihjJm4pKy0yLSh+Y15uKSl8a1szXSksUi5wdXNoKChaPShoPWtbNF08PDI0fGtbNV08PDE2LE49a1s2XTw8OCwtMi1+Ti0ofmh8TikpLEQ9a1s3XSwyKihEfDApLTIqKFomRCktflorKFp8fkQpKSksUikucHVzaCgoVD0oQj1rWzhdPDwyNHxrWzldPDwxNixtPWtbMTBdPDw4LC1+KEImbSkrMiooQl5tKSsofkJebSkpLEc9a1sxMV0sLTEtflQrKH5UJkcpKSl9LGxOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3N3aXRjaCghKGguQj09aCkpe2Nhc2UgdHJ1ZTpmYWxzZTticmVhaztjYXNlICFbIiJdIT0wOntaPWIoaCxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8obT1mdW5jdGlvbihULE4sUCxkLEksUyxYLE0pe2ZvcihYPShTPTgsOTcpOzspdHJ5e2lmKFM9PTU1KWJyZWFrO2Vsc2UgaWYoUz09NzYpWD0zMyxaLkdmPXloKDE2LHEoMzQsOCwtMS0yKn4oSXw0KSsofkleNCksWiksMjU1LHEoNjYsOCxJLFopLGQpLFM9NzA7ZWxzZXtpZihTPT02Mil0aHJvdyBYPTk3LE07Uz09NzA/KFoucHVzaChaLkdmWy0oTnxHKS0yKn4oTnxHKSsoTnwtOCkrKH5OfEcpXV5UKSxTPTU1KTpTPT05MD9TPVoubUIhPVA/Mjk6NzA6Uz09OD8oTj1aLmxlbmd0aCxQPShOfDApLTQ+PjMsUz05MCk6Uz09MjkmJihJPShQPDwzKS00LGQ9WzAsMCxCWzFdLEJbMl1dLFoubUI9UCxTPTc2KX19Y2F0Y2gocil7aWYoWD09OTcpdGhyb3cgcjtYPT0zMyYmKE09cixTPTYyKX19LEI9Vig5NSxoKSk6bT1mdW5jdGlvbihUKXtaLnB1c2goVCl9LEQmJm0oKER8MCktIC01MTIrMip+KER8MjU1KSsoRCYtMjU2KSksYz1SLmxlbmd0aCxuPTA7d2hpbGUobjxjKW0oUltuXSksbisrfWJyZWFrfX0sQz1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKCEoaz09MTQyfHxrPT0xNjgpKXtjYXNlIHRydWU6d2hpbGUoRy55biYmayE9MzYzKXtyZXR1cm47aWYoZmFsc2U9PTApYnJlYWt9az09NDg4fHxrPT00Mnx8az09MjY0fHxrPT0xNHx8az09NTA2fHxrPT00NDZ8fGs9PTE2M3x8az09OTV8fGs9PTE5MXx8az09MzAyP0cuWVtrXXx8KEcuWVtrXT1ZKDIsMzIsRyxSLGssMzgpKTpHLllba109WSgyLDM1LEcsUixrLDEyOSk7YnJlYWs7Y2FzZSBmYWxzZTpHLllba10/Ry5ZW2tdLmNvbmNhdChSKTpHLllba109cSg4NSxSLEcpO2JyZWFrfWs9PTM2MyYmKEcuTj1HTigzMixHLGZhbHNlKSxHLmw9dm9pZCAwKX0scVQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Yz0oWj0oKG49cSgobT1HW3ZZXXx8e30sayksRyksbS5xbT1xKDE3LEcpLG0pLkw9W10sRykuQj09Rz8oUnYoRyl8aCktRDoxLFkoRyxSKSk7e0I9aDt3aGlsZShCPFopbS5MLnB1c2gocSg0OSxHKSksQisrfWZvcihtLlBWPWIoRyxuKTtaLS07KW0uTFtaXT1iKEcsbS5MW1pdKTtyZXR1cm4gbS5rZT1iKEcsYyksbX0sV3U9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDUpfSxRaD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIFcoRCwoQygxNDIsKGJOKDU3LGgsKChjPVcoRCwxNDIpLEQud2ImJmM8RC5qKT8oUShELDE0MixELmopLHByKDUwNixrLDE0MixSLDEwNCxEKSk6QygxNDIsUixEKSxEKSw0MSksYyksRCksRykpfSxGWD1mdW5jdGlvbigpe3JldHVybiBNUC5jYWxsKHRoaXMsMjApfSxYWD1mdW5jdGlvbihrLFIsRyxoLEQpe0Q9dHlwZW9mIFI7c3dpdGNoKCEoRD09Im9iamVjdCIpKXtjYXNlIE5hTiE9PU51bWJlcih1bmRlZmluZWQpOmZvcihbXSE9KCFbIiJdPT1OdW1iZXIoKSk7RD09ImZ1bmN0aW9uIiYmdHlwZW9mIFIuY2FsbD09InVuZGVmaW5lZCI7MCl7cmV0dXJuIm9iamVjdCI7aWYoIkYiKWJyZWFrfWJyZWFrO2Nhc2UgbnVsbD09KG51bGw9PWZhbHNlKTpzd2l0Y2goIVIpe2Nhc2UgIVtdPT0wOnJldHVybiBHO2JyZWFrO2Nhc2UgIVt1bmRlZmluZWRdIT0wOmlmKFIgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gaztzd2l0Y2goIShSIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSB0cnVlOltdIT0odHJ1ZSE9W10pO2JyZWFrO2Nhc2UgIVtdPT0oLTA9PT0wKTpyZXR1cm4gRDticmVha31oPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSKTtmb3IoZmFsc2U7aD09IltvYmplY3QgV2luZG93XSI7ZmFsc2Upe3JldHVybiJvYmplY3QiO2lmKFtdPT0oIWZhbHNlPT0hIiIpIT1udWxsKWJyZWFrfWZvcihOdW1iZXIoKTtoPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgUi5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgUi5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZSl7cmV0dXJuIGs7aWYoIlkiKWJyZWFrfXN3aXRjaCghKGg9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBSLmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpKXtjYXNlIFtdIT10cnVlOjE7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfWJyZWFrfXJldHVybiBEfSxyVT1mdW5jdGlvbihrLFIpe3JldHVybiB0Vy5jYWxsKHRoaXMsMjgsayxSKX0seD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7bT10aGlzO3RyeXtjZChSLG4sYyxaLGssdGhpcyxoLEQsRyl9Y2F0Y2goQil7ZSg4OSwiOiIsdGhpcyxCKSxEKGZ1bmN0aW9uKFQpe1QobS5LKX0pfX0sWnk9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5uPSh0aGlzLlQ9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGgpe2sueE4oaCksUi54TihoKX0sKFI9KGs9KEcucHJvdG90eXBlLnhOPShHLnByb3RvdHlwZS5POT1mdW5jdGlvbigpe3JldHVybiBSQi5jYWxsKHRoaXMsMyl9LGZ1bmN0aW9uKGgsRCl7cmV0dXJuIGNZLmNhbGwodGhpcywzMyxoLDExLEQpfSksbmV3IEcpLG5ldyBHKSxmdW5jdGlvbihoLEQpe3JldHVybiBEPShoPWg9PT12b2lkIDA/dHJ1ZTpoLGsuTzkoKS5jb25jYXQoUi5POSgpKSksaCYmKFI9bmV3IEcpLER9KV19LGtuPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFApe209a1swXTtzd2l0Y2goIShtPT0kZikpe2Nhc2UgZmFsc2U9PSFbXTppZihtPT1CZCloLlc9RyxoLnM5PTI1LGgueVQ9aC5SbygpLWtbUl0saC5pKGspO2Vsc2UgaWYobT09QW8pe0I9a1sxXVszXTt0cnl7Yz1oLkt8fGguaShrKX1jYXRjaChkKXtlKDU4LCI6IixoLGQpLGM9aC5LfShuPWguSigpLEIoYyksaCkuWCs9aC5KKCktbn1lbHNlIHN3aXRjaCghKG09PW1jKSl7Y2FzZSBOYU4hPT1OdW1iZXIodW5kZWZpbmVkKTpzd2l0Y2goIShtPT1HdCkpe2Nhc2UgMD09PS0wOnN3aXRjaCghKG09PVJZKSl7Y2FzZSBOdW1iZXIoKT09PS1OdW1iZXIoKTppZihtPT1NVClyZXR1cm4gRD1rW1JdLEEoNDUxLGgsa1s2XSksQygxNTcsRCxoKSxoLmkoayk7bT09ZHI/KGguaShrKSxoLlk9bnVsbCxoLnVYPVtdLGgud2I9W10pOm09PXhuJiZILmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihoLlM9ZnVuY3Rpb24oZCxJKXtmdW5jdGlvbiBTKFgpe2ZvcihYPTk3O1ghPTU2OylYPT05Nz9YPUk/NTY6ODY6WD09ODYmJihJPUcsSC5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLG92KSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpLGQoKSxYPTU2KX1ILmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChJPWZhbHNlLFMpLG92KSxILmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpfSk7YnJlYWs7Y2FzZSBmYWxzZTp0cnl7e1A9MDt3aGlsZShQPGguU20ubGVuZ3RoKXt0cnl7Wj1oLlNtW1BdLFpbMF1bWlsxXV0oWltSXSl9Y2F0Y2goZCl7fVArK319fWNhdGNoKGQpe30oMCxrWzFdKShmdW5jdGlvbihkLEkpe2gucFgoZCxHLEkpfSxmdW5jdGlvbihkKXthKDQ0LChkPSFoLlAubGVuZ3RoJiYhaC5vLFtkcl0pLGgpLGQmJlJCKDMwLGZhbHNlLGgsZmFsc2UsRyl9LChoLlNtPVtdLFQ9aC5KKCksZnVuY3Rpb24oZCl7cmV0dXJuIGgudHgoZCl9KSxmdW5jdGlvbihkLEksUyl7cmV0dXJuIGguZWkoZCxJLFMpfSksaC5YKz1oLkooKS1UO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6aC51PUcsaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgW109PShmYWxzZT09IVtdKTprWzNdJiYoaC51PUcpLGtbNF0mJihoLlc9RyksaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgTmFOPT09TmFOOmlmKE49aC5pKGspKU4uSWE9SC5zZXRUaW1lb3V0KGZ1bmN0aW9uKGQpeyhhKChhKDQwLE4uUVQsKGQ9KE4uTW09RywhaC5QLmxlbmd0aCYmIWgubyksaCkpLDU4KSxOLmFhLGgpLGQpJiZSQigyNSxmYWxzZSxoLEcsRyl9LE4udGltZW91dCksaC52dC5wdXNoKE4pO2JyZWFrfX0sU009ZnVuY3Rpb24oayxSLEcpeyJzdGFjayJpbih0aGlzLm1lc3NhZ2U9KEc9RXJyb3IuY2FsbCh0aGlzLGsrIiBjYW5ub3QgYmUgdXNlZCB3aXRoIGludGVudCAiK21EW1JdKSxHLm1lc3NhZ2UpLEcpJiYodGhpcy5zdGFjaz1HLnN0YWNrKSx0aGlzLnR5cGU9ayx0aGlzLm5hbWU9IlR5cGVDYW5ub3RCZVVzZWRXaXRoSWZyYW1lSW50ZW50RXJyb3IifSxnVT1mdW5jdGlvbihrLFIsRyl7cmV0dXJuIEFXLmNhbGwodGhpcyw0MSxrLDI5LFIsRyl9LEE9ZnVuY3Rpb24oayxSLEcpe2lmKGs9PTE0Mnx8az09MTY4KVIuWVtrXT9SLllba10uY29uY2F0KEcpOlIuWVtrXT1xKDM3LEcsUik7ZWxzZXtpZihSLnluJiZrIT0zNjMpcmV0dXJuO2s9PTQ4OHx8az09NDJ8fGs9PTI2NHx8az09MTR8fGs9PTUwNnx8az09NDQ2fHxrPT0xNjN8fGs9PTk1fHxrPT0xOTF8fGs9PTMwMj9SLllba118fChSLllba109WSgyLDQwLFIsRyxrLDM4KSk6Ui5ZW2tdPVkoMiwzMixSLEcsaywxMjkpfWs9PTM2MyYmKFIuTj1HTigzMixSLGZhbHNlKSxSLmw9dm9pZCAwKX0sbng9ZnVuY3Rpb24oayxSLEcsaCxEKXt3aGlsZShrLmxlbmd0aD09Myl7e2g9MDt3aGlsZShoPDMpUltoXSs9a1toXSxoKyt9RD1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3tHPTA7d2hpbGUoRzw5KVJbM10oUixHJTMsRFtHXSksRysrfWlmKHt9KWJyZWFrfX0sS3I9ZnVuY3Rpb24oKXt7dmFyIGs9OTM7d2hpbGUoayE9Mzkpe2lmKGs9PTkwKXJldHVybiBoO2lmKGs9PTc3KWs9Rzxhcmd1bWVudHMubGVuZ3RoPzE2OjkwO2Vsc2UgaWYoaz09OTMpdmFyIFI9KGs9MTEsTnVtYmVyKSh0aGlzKSxHPVIsaD1bXTtlbHNlIGs9PTExP2s9Nzc6az09OTI/KEcrKyxrPTc3KTprPT0xNiYmKGhbRy1SXT1hcmd1bWVudHNbR10saz05Mil9fX0scHI9ZnVuY3Rpb24oayxSLEcsaCxELGMpe3doaWxlKGZhbHNlPT0wKWlmKGMuRnoubGVuZ3RoPkQ/YXYoayxjLFIsW3dVLDM2XSk6KGMuRnoucHVzaChjLlkuc2xpY2UoKSksYy5ZW0ddPXZvaWQgMCxBKEcsYyxoKSksIVtdPT0wKWJyZWFrfSxiPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTt3aGlsZShHPT09dm9pZCAwKXt0aHJvd1t3VSwzMCxSXTtpZigwPT0hW3RydWUudHJ1ZV0pYnJlYWt9c3dpdGNoKCFHLnZhbHVlKXtjYXNlIDA9PSFbXTpbXSE9KHRydWUhPVtdKTticmVhaztjYXNlIG51bGw9PShmYWxzZT09bnVsbCk6cmV0dXJuIEcuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKEcuY3JlYXRlKFIqMipSKy0zMSpSKzU4KSxHKS5wcm90b3R5cGV9LE5ELHRvPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4gRjEuY2FsbCh0aGlzLDk0LCJvbiIsMjQsayxSLEcsaCxELGMpfSxUdD1mdW5jdGlvbihrLFIsRyxoLEQpe3JldHVybiBMbi5jYWxsKHRoaXMsMyxrLEcsMTIsRCxSLGgpfSxEWj1mdW5jdGlvbigpe3JldHVybiBLbi5jYWxsKHRoaXMsMCwxLDUpfSxnSj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssMTIsUixHLGgsRCxjLFosbixtLEIpfSxWPWZ1bmN0aW9uKGssUixHKXtHPVIuWVtrXTtzd2l0Y2goIShHPT09dm9pZCAwKSl7Y2FzZSAwPT0hWyIiXTowPT0hWyIiXTticmVhaztjYXNlIDAhPT0tTnVtYmVyKCk6dGhyb3dbd1UsMzAsa107YnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoayoyKmsrLTMxKmsrNTgpLEcpLnByb3RvdHlwZX0sUzg9ZnVuY3Rpb24oayxSLEcsaCl7dHJ5e2g9a1soKFJ8MCkrMiklM10sa1tSXT0oa1tSXXwwKS0oa1soLTIqfihSJjEpKy0yKyhSJi0yKSsoflImMSkpJTNdfDApLShofDApXihSPT0xP2g8PEc6aD4+PkcpfWNhdGNoKEQpe3Rocm93IEQ7fX0sSVk9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDgpfSxRZj1mdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyw1MSl9LFgxPWZ1bmN0aW9uKGspe3JldHVybiBOUC5jYWxsKHRoaXMsNCxrLDMpfSx1Tj1mdW5jdGlvbihrLFIsRyxoKXtoPXEoNTcsKEc9WShSLDczKSxSKSksamUoaCxLKGssVihHLFIpKSxSKX0sYk49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2lmKCFHLkspe0cuRDcrKzt0cnl7RD1HLmo7d2hpbGUoIW51bGwpaWYoYz12b2lkIDAsdHJ1ZSE9IVtdKWJyZWFrO2ZvcihaPTA7LS1SOyl0cnl7aWYobT12b2lkIDAsRy5WKWM9a2YoRyxHLlYpO2Vsc2V7aWYoKFo9VigxNDIsRyksWik+PUQpYnJlYWs7Yz1iKEcsKG09cSg4OSwoUShHLDE2OCxaKSxHKSksbSkpfU5UKGZhbHNlLDMzLChjJiYobj1jW2RyXSwobnwwKSsyMDQ4LShufDIwNDgpKT9jKEcsUik6YXYoNTA2LEcsMCxbd1UsMjEsbV0pLFIpLGZhbHNlLEcsZmFsc2UpfWNhdGNoKEIpe1coRyxoKT9hdig1MDYsRywyMixCKTpBKGgsRyxCKX1mb3IodHJ1ZSsobnVsbCE9KDAhPSFbXSkpOyFSOzEpe2Zvcih2b2lkIDA7Ry5ObTshW109PWZhbHNlKXtiTig1NywoRy5ENy0tLDYwMzE5ODAwNTkzMCksRyw0MSk7cmV0dXJuO2lmKDMpYnJlYWt9aWYoYXYoNTA2LEcsMCxbd1UsMzNdKSwxKWJyZWFrfX1jYXRjaChCKXt0cnl7YXYoNTA2LEcsMjIsQil9Y2F0Y2goVCl7ZShrLCI6IixHLFQpfX1HLkQ3LS19fSxwbj1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDI0LGspfSx1O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlICEiIj09IWZhbHNlOnZhciBYUTthOnt2YXIgTUQ9e30sb1k9e2E6dHJ1ZX07dHJ5e01ELl9fcHJvdG9fXz1vWTt3aGlsZShOdW1iZXIoKT09ZmFsc2UpaWYoWFE9TUQuYSx0cnVlIT1bXSlicmVhazticmVhayBhfWNhdGNoKGspe31YUT1mYWxzZX1ORD1YUT9mdW5jdGlvbihrLFIsRyl7Zm9yKEc9MTU7RyE9NTI7KXtpZihHPT02NilyZXR1cm4gaztpZihHPT0xNSlrLl9fcHJvdG9fXz1SLEc9Nzg7ZWxzZSBpZihHPT03OClHPWsuX19wcm90b19fIT09Uj80MTo2NjtlbHNlIGlmKEc9PTQxKXRocm93IG5ldyBUeXBlRXJyb3IoaysiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIDAhPSFbXTpORD1PYmplY3Quc2V0UHJvdG90eXBlT2Y7YnJlYWt9dmFyIEg9dGhpc3x8c2VsZix0MD1ORCxFUj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxIdT0wLFpaLGZuPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtEPTgxO3toPTU0O3doaWxlKFtdKXRyeXtpZihEPT0zNSlicmVhaztlbHNlIGlmKEQ9PTgwKVI9ZmFsc2UsRz1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtSPXRydWV9fSksRD01MDtlbHNlIGlmKEQ9PTMwKWg9NTQsRD0zMjtlbHNle2lmKEQ9PTMyKXJldHVybiBoPTU0LFI7aWYoRD09MzMpcmV0dXJuIGZhbHNlO0Q9PTUwPyhoPTM4LGs9ZnVuY3Rpb24oKXt9LEguYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsayxHKSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGssRyksRD0zMik6RD09ODEmJihEPUguYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzgwOjMzKX19Y2F0Y2goWil7aWYoaD09NTQpdGhyb3cgWjtoPT0zOCYmKGM9WixEPTMwKX19fSgpLGRKPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKCgoKEJZKDIsNDUsclUsKGFCLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD0oV3UucHJvdG90eXBlW1d1LnByb3RvdHlwZS5kaXNwb3NlPShXdS5wcm90b3R5cGUuZz1mYWxzZSxmdW5jdGlvbihrKXt7az05NTt3aGlsZShrIT0xMilrPT01Mj8odGhpcy5nPXRydWUsdGhpcy5VKCksaz0xMik6az09OTUmJihrPXRoaXMuZz8xMjo1Mil9fSksKGFCLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLlB0PXRydWV9LFN5bWJvbCkuZGlzcG9zZV09KFd1LnByb3RvdHlwZS5VPWZ1bmN0aW9uKGspe3trPTc2O3doaWxlKGshPTQ2KWs9PTU4P2s9ODA6az09MzY/KHRoaXMubFguc2hpZnQoKSgpLGs9NDEpOms9PTgwP2s9dGhpcy5sWC5sZW5ndGg/MzY6NDY6az09NDE/az04MDprPT03NiYmKGs9dGhpcy5sWD81ODo0Nil9fSxmdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSksZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0pLGFCKSksclUucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKGssUixHLGgsRCxjKXtmb3IoYz0zOTtjIT05NjspYz09MTY/Yz1EPT0ibW91c2VvdmVyIj8yMjoyMzpjPT0yMz9jPUQ9PSJtb3VzZW91dCI/MTI6ODQ6Yz09OTk/KHRoaXMub2Zmc2V0WD1rLm9mZnNldFgsdGhpcy5vZmZzZXRZPWsub2Zmc2V0WSx0aGlzLmNsaWVudFg9ay5jbGllbnRYIT09dm9pZCAwP2suY2xpZW50WDprLnBhZ2VYLHRoaXMuY2xpZW50WT1rLmNsaWVudFkhPT12b2lkIDA/ay5jbGllbnRZOmsucGFnZVksdGhpcy5zY3JlZW5YPWsuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ay5zY3JlZW5ZfHwwLGM9MjApOmM9PTg0Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9aCxjPTgxKTpjPT01ND8odGhpcy5jbGllbnRYPUcuY2xpZW50WCE9PXZvaWQgMD9HLmNsaWVudFg6Ry5wYWdlWCx0aGlzLmNsaWVudFk9Ry5jbGllbnRZIT09dm9pZCAwP0cuY2xpZW50WTpHLnBhZ2VZLHRoaXMuc2NyZWVuWD1HLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUcuc2NyZWVuWXx8MCxjPTIwKTpjPT0yMD8odGhpcy5idXR0b249ay5idXR0b24sdGhpcy5rZXlDb2RlPWsua2V5Q29kZXx8MCx0aGlzLmtleT1rLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1rLmNoYXJDb2RlfHwoRD09ImtleXByZXNzIj9rLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PWsuY3RybEtleSx0aGlzLmFsdEtleT1rLmFsdEtleSx0aGlzLnNoaWZ0S2V5PWsuc2hpZnRLZXksdGhpcy5tZXRhS2V5PWsubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1rLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPWsucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1rLnN0YXRlLHRoaXMudGltZVN0YW1wPWsudGltZVN0YW1wLHRoaXMuWU49ayxrLmRlZmF1bHRQcmV2ZW50ZWQmJnJVLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxjPTk2KTpjPT02OD9jPWg/ODQ6MTY6Yz09MjI/KGg9ay5mcm9tRWxlbWVudCxjPTg0KTpjPT04MT9jPUc/NTQ6OTk6Yz09MTI/KGg9ay50b0VsZW1lbnQsYz04NCk6Yz09MzkmJihEPXRoaXMudHlwZT1rLnR5cGUsRz1rLmNoYW5nZWRUb3VjaGVzJiZrLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9rLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9ay50YXJnZXR8fGsuc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9UixoPWsucmVsYXRlZFRhcmdldCxjPTY4KX0sclUpLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsoclUuTy5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLllOLnN0b3BQcm9wYWdhdGlvbik/dGhpcy5ZTi5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLllOLmNhbmNlbEJ1YmJsZT10cnVlfSxyVSkucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKGspeyhrPShyVS5PLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5ZTiksaykucHJldmVudERlZmF1bHQ/ay5wcmV2ZW50RGVmYXVsdCgpOmsucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkpKjFFNnwwKSxIWT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEl2PTAsbDk9KCgoak0ucHJvdG90eXBlLmFkZD0oak0ucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIHJKKDEwLHRydWUsZmFsc2UsKEc9KGg9KEQ9ayE9PXZvaWQgMCk/ay50b1N0cmluZygpOiIiLFIhPT12b2lkIDApLHRoaXMuWiksZnVuY3Rpb24oYyxaLG4pe2ZvcihuPTM4O24hPTgzOylpZihuPT04OCkrK1osbj0zMjtlbHNle2lmKG49PTE4KXJldHVybiBmYWxzZTtpZihuPT03NyluPTMyO2Vsc2UgaWYobj09ODkpbj1EJiZjW1pdLnR5cGUhPWh8fEcmJmNbWl0uY2FwdHVyZSE9Uj84ODoxNDtlbHNle2lmKG49PTE0KXJldHVybiB0cnVlO249PTMyP249WjxjLmxlbmd0aD84OToxODpuPT0zOCYmKFo9MCxuPTc3KX19fSl9LGZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3tCPTczO3doaWxlKEIhPTI5KWlmKEI9PTEwKW0uYW89ZmFsc2UsQj01MTtlbHNlIGlmKEI9PTIxKUI9Yz4tMT8wOjcxO2Vsc2UgaWYoQj09NDMpQj1HPzUxOjEwO2Vsc2V7aWYoQj09NTEpcmV0dXJuIG07Qj09MD8obT1uW2NdLEI9NDMpOkI9PTk0PyhuPXRoaXMuWltaXT1bXSx0aGlzLkp4KyssQj0zMik6Qj09NzE/KG09bmV3IFR0KEQsdGhpcy5zcmMsWixSLCEhaCksbS5hbz1HLG4ucHVzaChtKSxCPTUxKTpCPT0zMj8oYz1ySigyMSwwLGgsRCxuLFIpLEI9MjEpOkI9PTczPyhaPWsudG9TdHJpbmcoKSxuPXRoaXMuWltaXSxCPTQ4KTpCPT00OCYmKEI9bj8zMjo5NCl9fX0pLGpNKS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7e249MjI7d2hpbGUobiE9NDIpaWYobj09MzkpaFcoMjMsdHJ1ZSxEW2NdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRCxjLDEpLG49NzQ7ZWxzZSBpZihuPT05OSluPWM+LTE/Mzk6NTk7ZWxzZXtpZihuPT0yKXJldHVybiB0cnVlO2lmKG49PTUpZGVsZXRlIHRoaXMuWltaXSx0aGlzLkp4LS0sbj0yO2Vsc2UgaWYobj09NzQpbj1ELmxlbmd0aD09MD81OjI7ZWxzZSBpZihuPT04MyluPVogaW4gdGhpcy5aPzg0OjA7ZWxzZXtpZihuPT01OXx8bj09MClyZXR1cm4gZmFsc2U7bj09MjI/KFo9ay50b1N0cmluZygpLG49ODMpOm49PTg0JiYoRD10aGlzLlpbWl0sYz1ySigyMCwwLEcsaCxELFIpLG49OTkpfX19fSxqTSkucHJvdG90eXBlLkNYPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4oRD10aGlzLlpbay50b1N0cmluZygpXSxjPS0xLEQmJihjPXJKKDIyLDAsaCxHLEQsUikpLGMpPi0xP0RbY106bnVsbH0sImNsb3N1cmVfbG1fIikrKE1hdGgucmFuZG9tKCkqMUU2fDApLGk5PTAsVE49e30sZFU9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKCgoKEJZKDIsNDMsRFosV3UpLERaLnByb3RvdHlwZSlbZEpdPXRydWUsdT1EWi5wcm90b3R5cGUsdSkuemY9ZnVuY3Rpb24oayl7dGhpcy5Obz1rfSx1KS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe3Z1KDU2LGZhbHNlLFIsRyx0aGlzLHRydWUsaywzLGgpfSx1KS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe0J1KDE2LDAsIm9iamVjdCIsRyxSLGgsayx0aGlzKX0sdS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXtmb3IoTj03NDtOIT02MTspaWYoTj09ODYpQj1SLmN1cnJlbnRUYXJnZXQ9bixoPVBZKDUsMCxCLG0sdHJ1ZSxSKSYmaCxSLlB0fHwoaD1QWSgzLDAsQixtLGZhbHNlLFIpJiZoKSxOPTY0O2Vsc2UgaWYoTj09OTEpTj05O2Vsc2UgaWYoTj09NilOPVIuUHQ/NjQ6ODY7ZWxzZSBpZihOPT0yKUI9Ui5jdXJyZW50VGFyZ2V0PWNbWl0saD1QWSg3LDAsQixtLHRydWUsUikmJmgsTj0yNDtlbHNlIGlmKE49PTY4KUQ9W10sTj00O2Vsc2UgaWYoTj09NzMpRC5wdXNoKEcpLE49NzE7ZWxzZSBpZihOPT02NClOPWM/NDc6MjU7ZWxzZSBpZihOPT01MyloPXRydWUsTj0xMjtlbHNlIGlmKE49PTkpTj0hUi5QdCYmWj49MD8yOjY7ZWxzZSBpZihOPT0xNSlOPXR5cGVvZiBSPT09InN0cmluZyI/Mzc6ODtlbHNlIGlmKE49PTQ3KVo9MCxOPTk5O2Vsc2V7aWYoTj09MjUpcmV0dXJuIGg7Tj09OTk/Tj05NzpOPT00MD8oWisrLE49OTcpOk49PTY5PyhSLnRhcmdldD1SLnRhcmdldHx8bixOPTUzKTpOPT0zNz8oUj1uZXcgYUIoUixuKSxOPTUzKTpOPT0zMz9OPUc/Njg6NzU6Tj09MjQ/KFotLSxOPTkpOk49PTQ/Tj04OTpOPT03ND8oRz10aGlzLk5vLE49MzMpOk49PTg1PyhCPVIuY3VycmVudFRhcmdldD1jW1pdLGg9UFkoNiwwLEIsbSxmYWxzZSxSKSYmaCxOPTQwKTpOPT0xND8oVD1SLFI9bmV3IGFCKG0sbiksQ3IoUixUKSxOPTUzKTpOPT03NT8oUj1rLG09Ui50eXBlfHxSLG49dGhpcy5scSxjPUQsTj0xNSk6Tj09NDM/KFo9Yy5sZW5ndGgtMSxOPTkxKTpOPT04OT9OPUc/NzM6NzU6Tj09NzE/KEc9Ry5ObyxOPTg5KTpOPT04P049UiBpbnN0YW5jZW9mIGFCPzY5OjE0Ok49PTEyP049Yz80Mzo2Ok49PTk3JiYoTj0hUi5QdCYmWjxjLmxlbmd0aD84NToyNSl9fSx1KS5VPWZ1bmN0aW9uKCl7dGhpcy5Obz0oRFouTy5VLmNhbGwodGhpcyksdGhpcy5JJiZCdSg3MiwwLHRydWUsdGhpcy5JKSxudWxsKX0sdS5DWD1mdW5jdGlvbihrLFIsRyxoKXtyZXR1cm4gdGhpcy5JLkNYKFN0cmluZyhrKSxSLEcsaCl9LHUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gdGhpcy5JLmhhc0xpc3RlbmVyKGshPT12b2lkIDA/U3RyaW5nKGspOnZvaWQgMCxSKX07dmFyIHNSLFVSLHJyPShYMS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaisiIn0sRXJyb3IpLG1EPXtGaTowLEFzOjEsemU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtTTS5wcm90b3R5cGU9RHkocnIucHJvdG90eXBlKSxTTS5wcm90b3R5cGUuY29uc3RydWN0b3I9U007c3dpdGNoKCF0MCl7Y2FzZSAhW10hPShudWxsIT1mYWxzZSk6Zm9yKHZhciB3ciBpbiBycilpZih3ciE9InByb3RvdHlwZSIpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBlOD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJyLHdyKTtlOCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFNNLHdyLGU4KX1lbHNlIFNNW3dyXT1yclt3cl07YnJlYWs7Y2FzZSBmYWxzZTp0MChTTSxycik7YnJlYWt9aWYoTmFOIT09KCgodT0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoKFNNLk89cnIucHJvdG90eXBlLCIgIikpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLG5uKS5wcm90b3R5cGUsdSkuRj1mdW5jdGlvbihrKXtyZXR1cm4gdHlwZW9mIGs9PT0ic3RyaW5nIj90aGlzLk1vLmdldEVsZW1lbnRCeUlkKGspOmt9LHUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oayxSKXtyZXR1cm4oUnx8dGhpcy5NbykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGspKX0sdS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz0oUj10aGlzLk1vLFN0cmluZyhrKSksUi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoRz1HLnRvTG93ZXJDYXNlKCkpLFIpLmNyZWF0ZUVsZW1lbnQoRyl9LHUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMuTW8uY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGspKX0sdS5hcHBlbmRDaGlsZD1mdW5jdGlvbihrLFIpe2suYXBwZW5kQ2hpbGQoUil9LHUpLmFwcGVuZD1mdW5jdGlvbihrLFIpe3RXKDE4LGZhbHNlLCJudW1iZXIiLCIiLDAsay5ub2RlVHlwZT09OT9rOmsub3duZXJEb2N1bWVudHx8ay5kb2N1bWVudCxhcmd1bWVudHMsayl9LHUuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGssUil7e1I9MDt3aGlsZShSIT01NSlpZihSPT0wKVI9ay5ub2RlVHlwZSE9MT85ODoyODtlbHNle2lmKFI9PTI4KXtzd2l0Y2goay50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWlmKFI9PTk4KXJldHVybiBmYWxzZX19fSx1LnJlbW92ZU5vZGU9UGQsdS5jb250YWlucz1mdW5jdGlvbihrLFIsRyxoKXtmb3IoaD05OTtoIT0xODspe2lmKGg9PTUxKXJldHVybiBrPT1SfHxrLmNvbnRhaW5zKFIpO2lmKGg9PTg3KWg9ay5jb250YWlucyYmUi5ub2RlVHlwZT09MT81MToyNDtlbHNlIGlmKGg9PTI3KWg9MjA7ZWxzZSBpZihoPT00NylSPVIucGFyZW50Tm9kZSxoPTI3O2Vsc2UgaWYoaD09NjgpaD0yMDtlbHNle2lmKGg9PTYwKXJldHVybiBrPT1SfHwhIShHPWsuY29tcGFyZURvY3VtZW50UG9zaXRpb24oUiksLX4oRyYxNikrKEdeMTYpKyh+R14xNikpO2lmKGg9PTk5KWg9ayYmUj84Nzo1NztlbHNle2lmKGg9PTM3KXJldHVybiBSPT1rO2lmKGg9PTI0KWg9dHlwZW9mIGsuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzYwOjY4O2Vsc2UgaWYoaD09MjApaD1SJiZrIT1SPzQ3OjM3O2Vsc2UgaWYoaD09NTcpcmV0dXJuIGZhbHNlfX19fSxOdW1iZXIodW5kZWZpbmVkKSkpaFcoNzQsSVkpOygodT0oQlkoMiwoSVkucHJvdG90eXBlLmJxPShJWS5wcm90b3R5cGUuR2U9MCwiIiksNDEpLERELERaKSxERC5wcm90b3R5cGUpLHUub2E9SVkublgoKSx1LkY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfSx1LmdldFBhcmVudD1mdW5jdGlvbigpe2lmKCFbXSE9KCFbXT09MCkpcmV0dXJuIHRoaXMuWjd9LHUuQnQ9ZnVuY3Rpb24oKXsoSUIoMyx0aGlzLGZ1bmN0aW9uKGspe2suam0mJmsuQnQoKX0pLHRoaXMpLnMyJiZCdSg3MSwwLHRydWUsdGhpcy5zMiksdGhpcy5qbT1mYWxzZX0sdS5VPWZ1bmN0aW9uKGspe3trPTcxO3doaWxlKGshPTY1KWs9PTQzP2s9dGhpcy5zMj8xMDo5MTprPT0xMD8odGhpcy5zMi5kaXNwb3NlKCksZGVsZXRlIHRoaXMuczIsaz05MSk6az09NzE/KHRoaXMuam0mJnRoaXMuQnQoKSxrPTQzKTprPT05MSYmKElCKDcsdGhpcyxmdW5jdGlvbihSKXtSLmRpc3Bvc2UoKX0pLCF0aGlzLlhpJiZ0aGlzLkEmJlBkKHRoaXMuQSksdGhpcy5LWD10aGlzLlFuPXRoaXMuQT10aGlzLlo3PW51bGwsREQuTy5VLmNhbGwodGhpcyksaz02NSl9fSx1KS56Zj1mdW5jdGlvbihrLFIpe3tSPTM0O3doaWxlKFIhPTIpe2lmKFI9PTM2KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO1I9PTM0P1I9dGhpcy5aNyYmdGhpcy5aNyE9az8zNjo5NDpSPT05NCYmKERELk8uemYuY2FsbCh0aGlzLGspLFI9Mil9fX0sdSkucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe3tOPTMzO3doaWxlKE4hPTcxKXtpZihOPT01OSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09NDcpYz10aGlzLktYLEI9KGMhPT1udWxsJiZoIGluIGM/Y1toXTp2b2lkIDApfHxudWxsLE49Mzg7ZWxzZSBpZihOPT04MilaPXRoaXMuS1gsaCBpbiBaJiZkZWxldGUgWltoXSx0VygxMywwLGssdGhpcy5RbiksTj04NztlbHNlIGlmKE49PTkxKU49KEQ9ay5jVik/MDo3ODtlbHNle2lmKE49PTkpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09MCluPUQsTj04MDtlbHNlIGlmKE49PTc1KW09ayxOPTE2O2Vsc2UgaWYoTj09MTYpTj1tPT1udWxsPzU5Ojk4O2Vsc2UgaWYoTj09OTgpbS5aNz1udWxsLERELk8uemYuY2FsbChtLG51bGwpLE49NTQ7ZWxzZSBpZihOPT0zMSlOPXR5cGVvZiBrPT09InN0cmluZyI/ODE6OTE7ZWxzZSBpZihOPT00MylOPWgmJms/ODI6NTQ7ZWxzZSBpZihOPT03OClHPWsub2EsVD1HLmJxKyI6IisoRy5HZSsrKS50b1N0cmluZygzNiksRD1rLmNWPVQsTj0wO2Vsc2UgaWYoTj09NylOPXRoaXMuS1gmJmg/NDc6Mjk7ZWxzZSBpZihOPT0yOSlCPW51bGwsTj0zODtlbHNlIGlmKE49PTgxKW49ayxOPTgwO2Vsc2UgaWYoTj09NTYpay5CdCgpLGsuQSYmUGQoay5BKSxOPTc1O2Vsc2UgaWYoTj09ODcpTj1SPzU2Ojc1O2Vsc2V7aWYoTj09NDYpcmV0dXJuIGs7Tj09Mzg/KGs9QixOPTQzKTpOPT0zMz9OPWs/MzE6NTQ6Tj09ODA/KGg9bixOPTcpOk49PTU0JiYoTj1rPzQ2OjkpfX19fX07dmFyIGx6LGo4PSh1PShoVyg3NSxmciksZnIucHJvdG90eXBlKSx1LklvPWZ1bmN0aW9uKGssUixHLGgpeyhoPWsuRj9rLkYoKTprKSYmKEc/THI6VmgpKGgsW1JdKX0sdS5BeD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Wj03Mzt7bj0yNDt3aGlsZSgibyIpdHJ5e2lmKFo9PTQpYnJlYWs7ZWxzZSBaPT01Mj8oYy50YWJJbmRleD0wLFo9NCk6Wj09OD8obj0yNCxaPTIxKTpaPT0yMT8obj0yNCxaPTY3KTpaPT0yOD9aPUQhPVI/NjM6NDpaPT0yNT8oRz1oLnRhYkluZGV4LEQ9dHlwZW9mIEc9PT0ibnVtYmVyIiYmRz49MCYmRzwzMjc2OCxaPTI4KTpaPT05MD8oYy50YWJJbmRleD0tMSxjLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSxaPTQpOlo9PTI5P1o9KEQ9aC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzI1OjI4Olo9PTk4P1o9Uj81Mjo5MDpaPT0xMT9aPSFSJiZNUCg1LDMyLGspPzk5OjI5Olo9PTY3P1o9TVAoNywzMixrKT84MDoyOTpaPT04MD8oay5ZZSY0JiZrLnJiJjQmJmsuc2V0QWN0aXZlKGZhbHNlKSxrLlllJjMyJiZrLnJiJjMyJiZJQigxNCw0LGssZmFsc2UsMzIpJiZrLnYoZmFsc2UsMzIpLFo9MjkpOlo9PTk5PyhuPTEyLGguYmx1cigpLFo9MjEpOlo9PTYzPyhjPWgsWj05OCk6Wj09NzMmJihaPWsucmImMzImJihoPWsuaVgoKSk/MTE6NCl9Y2F0Y2goQil7aWYobj09MjQpdGhyb3cgQjtuPT0xMiYmKG09QixaPTgpfX19LHtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSk7dS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifTt3aGlsZSgwPT09LU51bWJlcigpKWlmKHUuYlg9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXsoKGg9KG49KGx6fHwobHo9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxseltSXSksay5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCkpPyhEPWo4W2hdfHxuLFo9bj09ImNoZWNrZWQifHxuPT0ic2VsZWN0ZWQiP0Q6bik6Wj1uLGM9WikmJk9SKDEyLDgsZmFsc2UsImhpZGRlbiIsayxHLGMpfSx0cnVlKWJyZWFrO2lmKHUuaVg9KHUudj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaKXt7Wj03OTt3aGlsZShaIT0xKVo9PTA/KGg9dGhpcy5maigpLGgucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLlprPXsxOmgrIi1kaXNhYmxlZCIsMjpoKyItaG92ZXIiLDQ6aCsiLWFjdGl2ZSIsODpoKyItc2VsZWN0ZWQiLDE2OmgrIi1jaGVja2VkIiwzMjpoKyItZm9jdXNlZCIsNjQ6aCsiLW9wZW4ifSxaPTU2KTpaPT03OT8oRD1SLkYoKSxaPTIwKTpaPT0yMD9aPUQ/MTM6MTpaPT01Nj8oKGM9dGhpcy5aa1trXSkmJnRoaXMuSW8oUixjLEcpLHRoaXMuYlgoRCxrLEcpLFo9MSk6Wj09MTMmJihaPXRoaXMuWms/NTY6MCl9fSxmdW5jdGlvbihrKXtyZXR1cm4gay5GKCl9KSxbXSlCWSgyLDQ0LEZYLGZyKTt2YXIgbnI9KChoVyg3MixGWCksRlgpLnByb3RvdHlwZS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LEZYLnByb3RvdHlwZS5iWD1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKFIpe2Nhc2UgODpjYXNlIDE2Ok9SKDEyLDUsZmFsc2UsImhpZGRlbiIsayxHLCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTpGWC5PLmJYLmNhbGwodGhpcyxrLFIsRyl9fSx7fSk7aWYoKCgoKCgoKCh1PShCWSgyLDQyLGI5LEREKSxiOSkucHJvdG90eXBlLHUpLmppPXRydWUsdSkuSW89ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTU2O0chPTI0OylHPT04Mj8odGhpcy5EP2UoNDMsMCxrLHRoaXMuRCl8fHRoaXMuRC5wdXNoKGspOnRoaXMuRD1ba10sdGhpcy5DLklvKHRoaXMsayx0cnVlKSxHPTI0KTpHPT03Mz8odGhpcy5DLklvKHRoaXMsayxmYWxzZSksRz0yNCk6Rz09MTk/Rz10aGlzLkQubGVuZ3RoPT0wPzQwOjczOkc9PTQwPyh0aGlzLkQ9bnVsbCxHPTczKTpHPT01Nj9HPVI/MTM6NzE6Rz09MTM/Rz1rPzgyOjI0Okc9PTcxJiYoRz1rJiZ0aGlzLkQmJnRXKDYsMCxrLHRoaXMuRCk/MTk6MjQpfSx1KS5pWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkMuaVgodGhpcyl9LHUucmI9MzksdSkuaXE9MCx1KS5ZZT0yNTUsdS5CdD1mdW5jdGlvbigpeygoYjkuTy5CdC5jYWxsKHRoaXMpLHRoaXMuVTIpJiZ0aGlzLlUyLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLkMuQXgodGhpcyxmYWxzZSl9LHUuVT1mdW5jdGlvbihrKXt7az03NTt3aGlsZShrIT02MilrPT03MD8oZGVsZXRlIHRoaXMuQyx0aGlzLkQ9bnVsbCxrPTYyKTprPT01Mz9rPXRoaXMuVTI/OTE6NzA6az09OTE/KHRoaXMuVTIuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLlUyLGs9NzApOms9PTc1JiYoYjkuTy5VLmNhbGwodGhpcyksaz01Myl9fSx1KS5EPW51bGwsdS5PMj0wLHUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaml9LHUpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiFNUCgxMCwxLHRoaXMpfSx1LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIE1QKDksNCx0aGlzKX0sdS5zZXRBY3RpdmU9ZnVuY3Rpb24oayl7SUIoMTAsNCx0aGlzLGssNCkmJnRoaXMudihrLDQpfSx1KS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk8yfSx1LnY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9Nzg7WiE9ODk7KVo9PTgzPyhEPSFrLGM9dGhpcy5nZXRQYXJlbnQoKSxaPTM1KTpaPT0xNj9aPUQ/MTQ6NzQ6Wj09NzQ/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxJQigxMiw0LHRoaXMsZmFsc2UsMikmJnRoaXMudihmYWxzZSwyKSxaPTE0KTpaPT0yNT8odGhpcy5DLnYoUix0aGlzLGspLHRoaXMuTzI9az8oaD10aGlzLk8yLC0xLX5oLShoJn5SKSsoaF5SKSk6dGhpcy5PMiZ+UixaPTg5KTpaPT00Mj9aPXRoaXMucmImUiYmayE9TVAoMyxSLHRoaXMpPzI1Ojg5Olo9PTM1P1o9YyYmdHlwZW9mIGMuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhYy5pc0VuYWJsZWQoKXx8IUlCKDMyLDQsdGhpcywhRCwxKT84OToxNjpaPT03OD9aPUd8fFIhPTE/NDI6ODM6Wj09MTQmJih0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkMuQXgodGhpcyxEKSx0aGlzLnYoIUQsMSx0cnVlKSxaPTg5KX0sdHlwZW9mIGI5IT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitiOSk7aWYodHlwZW9mIGZyIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2ZyKTt2YXIgYVk9Q24oNjQsMTcsYjkpOygoQlkoMiw0MCxnVSwoKEJZKDIsNDYsUWYsKGEoNixmdW5jdGlvbigpe3JldHVybiBuZXcgYjkobnVsbCl9LChuclthWV09ZnIsImdvb2ctY29udHJvbCIpKSxGWCkpLGhXKDczLFFmKSxRZi5wcm90b3R5cGUuQXg9ZnVuY3Rpb24oKXt9LFFmLnByb3RvdHlwZSkudj1mdW5jdGlvbihrLFIsRyxoLEQpe3tEPTkxO3doaWxlKEQhPTQyKUQ9PTkxPyhRZi5PLnYuY2FsbCh0aGlzLGssUixHKSxoPVIuRigpLEQ9NjEpOkQ9PTgzPyhoLmRpc2FibGVkPUcsRD00Mik6RD09NjEmJihEPWgmJms9PTE/ODM6NDIpfX0sUWYucHJvdG90eXBlLmJYPWZ1bmN0aW9uKCl7fSxiOSkpLGdVLnByb3RvdHlwZSkuVT1mdW5jdGlvbigpe2RlbGV0ZSAoZGVsZXRlIChnVS5PLlUuY2FsbCh0aGlzKSx0aGlzKS5KMyx0aGlzKS5kTn0sYSkoNSxmdW5jdGlvbigpe3JldHVybiBuZXcgZ1UobnVsbCl9LCJnb29nLWJ1dHRvbiIpO3ZhciBaRCx1OT1ILnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oayl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe2soKX0se3RpbWVvdXQ6NH0pfTpILnNldEltbWVkaWF0ZT9mdW5jdGlvbihrKXtzZXRJbW1lZGlhdGUoayl9OmZ1bmN0aW9uKGspe3NldFRpbWVvdXQoaywwKX0sb3Y9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LFZmPW9CKDEzLDEwLFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSksdlk9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksd1U9e30sJGY9W10sUlk9KHgucHJvdG90eXBlLlB3PXZvaWQgMCx4LnByb3RvdHlwZS5MWD0oeC5wcm90b3R5cGUuTm09ZmFsc2UsInRvU3RyaW5nIiksW10pLGRyPVtdLEFvPSh4LnByb3RvdHlwZS5mUT12b2lkIDAsW10pLEJkPVtdLG1jPVtdLEd0PVtdLE1UPVtdLHhuPVtdLHpOPWZ1bmN0aW9uKGssUil7d2hpbGUoIVtdPT1mYWxzZSl7cmV0dXJuKFI9QVcoNDEsImFkIiwxNykpJiZrLmV2YWwoUi5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBSLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR307aWYoImEiKWJyZWFrfX0oSCkseXI9ZnVuY3Rpb24oayl7cmV0dXJuKGs9QVcoNDEsImFkIiwxNikpP2Z1bmN0aW9uKFIpe3JldHVybiBrLmNyZWF0ZVNjcmlwdFVSTChSKX06ZnVuY3Rpb24oUil7cmV0dXJuIFJ9fSgpLEVlPWZ1bmN0aW9uKGspe3JldHVybihrPUFXKDQxLCJhZCIsMTkpKT9mdW5jdGlvbihSKXtyZXR1cm4gay5jcmVhdGVIVE1MKFIpfTpmdW5jdGlvbihSKXtyZXR1cm4gUn19KCkseWY9KCgoKChpTixZZixTOCxueCxaeSxmdW5jdGlvbigpe30pKEU1KSxmdW5jdGlvbigpe30pKFdZKSxmdW5jdGlvbigpe30pKHM1KSx5cixmdW5jdGlvbigpe30pKEVlKSx3VSkuY29uc3RydWN0b3IsU2U9KCgoKCgoKHgucHJvdG90eXBlLkxqPTAseC5wcm90b3R5cGUuUj0odT14LnByb3RvdHlwZSwiY3JlYXRlIiksdSkuSj0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmErd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sdSkuaHM9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gQ24uY2FsbCh0aGlzLDY0LDMyLGssUixHLGgsRCl9LHUpLlJvPWZ1bmN0aW9uKCl7cmV0dXJuIGhXLmNhbGwodGhpcyw1Nil9LHUpLnNfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7cmV0dXJuIE1QLmNhbGwodGhpcyw1NixrLFIsRyxoLEQsYyxaLG4pfSx1KS50cz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gUkIuY2FsbCh0aGlzLDIxLGssUixHLGgsRCxjLFosbixtLEIpfSx1LnBqPWZ1bmN0aW9uKCl7cmV0dXJuIFJCLmNhbGwodGhpcyw2NCl9LHUpLnBYPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIFkuY2FsbCh0aGlzLGssOSxSLEcsaCxEKX0sdS5IVj0wLHZvaWQgMCksSm89KHU9eC5wcm90b3R5cGUsdS5pPWZ1bmN0aW9uKGssUil7cmV0dXJuIFI9KGs9e30sU2U9ZnVuY3Rpb24oKXtyZXR1cm4gaz09Uj81ODoxMDZ9LHt9KSxmdW5jdGlvbihHLGgsRCxjLFosbixtLEIsVCxOLFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKLHosUHUsbTcsZyxlTSxMLFU1LHQsVSxPNSxZbixwLEN4KXtmb3IodD0zMixVPXVuZGVmaW5lZCxwPTIwLEN4PWZhbHNlOzspdHJ5e2lmKHQ9PTY1KWJyZWFrO2Vsc2UgaWYodD09NDQpdD1CPzc3OjEwO2Vsc2UgaWYodD09OTEpcD00NyxiTig1NywzMDAwMSx0aGlzLDQxKSx0PTM3O2Vsc2UgaWYodD09ODcpcD00Nyxhdig1MDYsdGhpcywxNyxPNSksVT02NSx0PTM3O2Vsc2UgaWYodD09MjcpVSE9PXVuZGVmaW5lZD8odD1VLFU9dW5kZWZpbmVkKTp0PTY1O2Vsc2UgaWYodD09MjkpcD00Nyx0PTk1O2Vsc2UgaWYodD09MTcpcD01NSxHbygpLHQ9OTU7ZWxzZSBpZih0PT00MSl0PVA9PW1jPzI0OjIxO2Vsc2UgaWYodD09NzApdD0zOTtlbHNlIGlmKHQ9PTU3KXQ9Zy5sZW5ndGg+ND81NjozNjtlbHNlIGlmKHQ9PTI4KU4ubGVuZ3RoPTAsdD0zNztlbHNlIGlmKHQ9PTYpcD03MCx0aGlzLndiPU5UKDI1NSw0MCwwLGF0b2IoJG4pKSx0aGlzLmo9dGhpcy53Yi5sZW5ndGg8PDMsQSgzNjMsdGhpcyxbMCwwLDBdKSx0PTkxO2Vsc2UgaWYodD09MjIpe2lmKEU9KE49Vyh0aGlzLDcxKSx0eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yKSYmTltTeW1ib2wuaXRlcmF0b3JdKXo9RS5jYWxsKE4pO2Vsc2UgaWYodHlwZW9mIE4ubGVuZ3RoPT0ibnVtYmVyIil6PXtuZXh0Ok9SKDEyLDcyLDAsTil9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKE4pKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3Q9KFQ9KHk9eix5Lm5leHQoKSksNDgpfWVsc2UgaWYodD09Nyl0PUdbNF0/NjQ6NTk7ZWxzZSBpZih0PT02NCl7Zm9yKFggaW4gQj1mYWxzZSxoKWlmKFghPT0idCImJk9iamVjdC5oYXNPd24oaCxYKSl7Qj10cnVlO2JyZWFrfXQ9NDR9ZWxzZSBpZih0PT01Myl0PVA9PUJkPzgyOjQzO2Vsc2UgaWYodD09MzgpSj0wLE89IiIsdD03MDtlbHNlIGlmKHQ9PTU2KXQ9Zy5sZW5ndGg+MUU2Pzg4Ojk3O2Vsc2UgaWYodD09MTUpWW49UWgoMCxHWzFdLDE1NywzMDAwMSx0aGlzKSxVPTk5LHQ9Mzc7ZWxzZSBpZih0PT00Myl0PVA9PUFvPzgxOjQxO2Vsc2UgaWYodD09MjUpdD1QPT1kcj8yMjozNztlbHNlIGlmKHQ9PTMyKWVNPWssaz1SLHQ9MztlbHNlIGlmKHQ9PTk2KWg9e30sdj0wLHQ9ODtlbHNlIGlmKHQ9PTg4KWc9Zy5zbGljZSgwLDFFNiksbE4oNDg4LFtdLDcsdGhpcywxMDIpLGplKDQ4OCxbXSx0aGlzLDEzNSksdD05NztlbHNlIGlmKHQ9PTY4KSRuPUdbMV0sdD02O2Vsc2UgaWYodD09NjYpSisrLHQ9Mzk7ZWxzZSBpZih0PT03NCl0PU8/Nzk6Mzg7ZWxzZSBpZih0PT04MSlyPUdbMV1bMV0sYz1LKDIsKG09Yih0aGlzLDQ4OCkubGVuZ3RoLC0yKn4obSYyKSstMisobV4yKSkpLHdKPXRoaXMuQix0aGlzLkI9dGhpcyx0PTExO2Vsc2UgaWYodD09MjQpUWgoMCxHWzFdLDE1NyxHWzJdLHRoaXMpLHQ9Mzc7ZWxzZSBpZih0PT0xOSl0PVUhPT11bmRlZmluZWQ/Mzc6NDtlbHNlIGlmKHQ9PTQpcD00NyxTPVlmKDIpLmNvbmNhdChiKHRoaXMsNDg4KSksU1sxXT0oTT1TWzBdLC0oTXwwKSsoTXwxNTkpKyhNJi0xNjApKSxTWzNdPVNbMV1eY1swXSxTWzRdPVNbMV1eY1sxXSxPPXRoaXMubmooUyksdD03NDtlbHNlIGlmKHQ9PTM2KXA9NDcsdGhpcy5CPXdKLHQ9MTk7ZWxzZSBpZih0PT05NSlUPXkubmV4dCgpLHQ9NDI7ZWxzZSBpZih0PT01MSl0PVA9PSRmPzk2OjUzO2Vsc2UgaWYodD09NTkpdGhpcy5QLnB1c2gobCksdGhpcy5QLnB1c2godyksVT02NSx0PTM3O2Vsc2UgaWYodD09MzkpdD1KPFMubGVuZ3RoPzYwOjYyO2Vsc2UgaWYodD09NzcpWW49e1FUOncsYWE6bCx0aW1lb3V0OnYsTW06ZmFsc2UsSWE6MH0sVT02Myx0PTM3O2Vsc2UgaWYodD09MzMpdD1QPT1HdD82ODo1MTtlbHNlIGlmKHQ9PTQyKXQ9VC5kb25lPzI4Ojk4O2Vsc2UgaWYodD09ODIpbj1HWzFdLG5bMV0ucHVzaChWKDE5MSx0aGlzKS5sZW5ndGgsVyh0aGlzLDE0KS5sZW5ndGgsVyh0aGlzLDQ4OCkubGVuZ3RoLGIodGhpcyw0NDYpLmxlbmd0aCxiKHRoaXMsMTYzKS5sZW5ndGgsYih0aGlzLDMwMilbMF0sVigyNjQsdGhpcykubGVuZ3RoLFcodGhpcyw0MikubGVuZ3RoKSxRKHRoaXMsMTU3LG5bMl0pLHRoaXMuWVs0NjldJiZRaCgwLFYoNDY5LHRoaXMpLDE1NywzMDAwMSx0aGlzKSx0PTM3O2Vsc2UgaWYodD09OTgpR289VC52YWx1ZSx0PTE3O2Vsc2UgaWYodD09NDApcD00Nyx3PVtCZCxHLHRoaXMuUm8oKV0sbD1bQW8sR10sdD03O2Vsc2UgaWYodD09MylwPTQ3LFA9R1swXSx0PTMzO2Vsc2UgaWYodD09MzcpcD0yMCxrPWVNLHQ9Mjc7ZWxzZXtpZih0PT00NylyZXR1cm4gWW47aWYodD09OClwPTc3LGg9Yih0aGlzLDU1KXx8e30sdj1oLnR8MCx0PTQwO2Vsc2UgaWYodD09NjApZD1TW0pdW3RoaXMuTFhdKDE2KSxkLmxlbmd0aD09MSYmKGQ9IjAiK2QpLE8rPWQsdD02NjtlbHNlIGlmKHQ9PTk3KWplKDQ4OCxLKDIsZy5sZW5ndGgpLmNvbmNhdChnKSx0aGlzLDUpLHQ9MzY7ZWxzZSBpZih0PT0xMSlwPTc2LG03PWIodGhpcyw1MDYpLG03Lmxlbmd0aD4wJiZsTig0ODgsSygyLG03Lmxlbmd0aCkuY29uY2F0KG03KSw3LHRoaXMsMTQ3KSxsTig0ODgsSygxLHRoaXMuSCsxPj4xKSw3LHRoaXMsMjQ0KSxqZSg0ODgsSygxLHRoaXNbQW9dLmxlbmd0aCksdGhpcyksUHU9dGhpcy5IdD9WKDE2Myx0aGlzKTpiKHRoaXMsNDQ2KSxQdS5sZW5ndGg+MCYmbE4oMTQsSygyLFB1Lmxlbmd0aCkuY29uY2F0KFB1KSw3LHRoaXMsMjI3KSxGPVYoMTQsdGhpcyksRi5sZW5ndGg+NCYmamUoNDg4LEsoMixGLmxlbmd0aCkuY29uY2F0KEYpLHRoaXMsMjI2KSxJPTAsSSs9Yih0aGlzLDEwMykmMjA0NyxJLT0oWj1WKDQ4OCx0aGlzKS5sZW5ndGgsLTItMip+KFp8NSktKFpeNSkpLGc9Vig0Mix0aGlzKSxnLmxlbmd0aD40JiYoSS09KGcubGVuZ3RofDApKzMpLEk+MCYmamUoNDg4LEsoMixJKS5jb25jYXQoWWYoSSkpLHRoaXMsMTUwKSx0PTU3O2Vsc2UgaWYodD09NzkpTz0iJCIrTyx0PTYyO2Vsc2V7aWYodD09OTkpcmV0dXJuIFluO2lmKHQ9PTEwKXRoaXMuUC5wdXNoKGwpLHRoaXMuUC5wdXNoKHcpLFU9NjUsdD0zNztlbHNlIGlmKHQ9PTIxKXQ9UD09TVQ/MTU6MjU7ZWxzZSBpZih0PT02MilEPU8sYih0aGlzLDE5MSkubGVuZ3RoPXIuc2hpZnQoKSxiKHRoaXMsMTQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQ4OCkubGVuZ3RoPXIuc2hpZnQoKSxXKHRoaXMsNDQ2KS5sZW5ndGg9ci5zaGlmdCgpLFYoMTYzLHRoaXMpLmxlbmd0aD1yLnNoaWZ0KCksVigzMDIsdGhpcylbMF09ci5zaGlmdCgpLFcodGhpcywyNjQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQyKS5sZW5ndGg9ci5zaGlmdCgpLFluPUQsVT00Nyx0PTM3O2Vsc2V7aWYodD09NjMpcmV0dXJuIFluO2lmKHQ9PTQ4KXQ9NDI7ZWxzZSBpZih0PT05MCl0aHJvdyBVNTt9fX19Y2F0Y2goaG8pe2lmKHA9PShVNT1obywyMCkpdGhyb3cgaG87cD09NDc/KFU9OTAsdD0zNyk6cD09NzA/KE81PWhvLHQ9ODcpOnA9PTc2PyhVPTkwLHQ9MzYpOnA9PTc3PyhVPTkwLHQ9NDApOnA9PTU1JiYoTD1obyx0PTI5KX19fSgpLHUudXE9ZnVuY3Rpb24oayl7cmV0dXJuIEJZLmNhbGwodGhpcyxrLDcyKX0sLy4vKTtpZih0cnVlKXUubmo9ZnVuY3Rpb24oayl7cmV0dXJuIENuLmNhbGwodGhpcyw2NCw4LGspfTt2YXIgeGY7aWYodS5TaT0odS50eD1mdW5jdGlvbigpe3JldHVybiBDbi5jYWxsKHRoaXMsNjQsNDgpfSwwKSx0cnVlKXUuck49MDt2YXIgSGQ9R3QucG9wLmJpbmQoeC5wcm90b3R5cGVbeC5wcm90b3R5cGVbUlldPSh1LmVpPWZ1bmN0aW9uKCl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiwxNCl9LFswLDAsMSwxLDAsMSwxXSksQmRdKTsoWkQ9KHhmPXRXKDkzLChKb1t4LnByb3RvdHlwZS5MWF09SGQse2dldDpIZH0pLHgucHJvdG90eXBlLlIpLHgucHJvdG90eXBlLldWPXZvaWQgMCxILnRyYXlyaWRlKXx8KEgudHJheXJpZGU9e30pLFpELm0+NDB8fChaRC5tPTQxLFpELmFkPWgwLFpELmE9Z0opLFpEKS5ScnZfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3JldHVybltmdW5jdGlvbihUKXtyZXR1cm4gTG4oMyxmYWxzZSxCLDcsVCl9LChCPW5ldyB4KGgsayxELGMsUixtLG4sWiksZnVuY3Rpb24oVCl7Qi50eChUKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs="}},"time_used":11,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":10,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:36.342Z","timestamp":1785123396342,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"OPTIONS /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.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\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-encoding,content-type,x-goog-authuser\r\nReferer: https://alpha-achieveer.co/\r\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://alpha-achieveer.co\r\naccess-control-allow-methods: GET, POST, OPTIONS\r\naccess-control-max-age: 86400\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web,authorization,content-encoding,content-type,x-goog-authuser,origin\r\ncontent-type: text/plain; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 03:36:36 GMT\r\nserver: Playlog\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":526,"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-07-31T13:42:13.00563Z","times_seen":17635411,"resource_available":true,"data":""}},"time_used":30,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/animate.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:24.993Z","timestamp":1785123384993,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/animate.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"15a15-65fd8520-47841f7229fff6c6;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 5587\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":88597,"size_decoded":6028,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"c4b37e111283629a2dbdfba400223bf5","sha1":"58b02f950c2f224412eef7320dce6cfd0742c1d5","sha256":"6dda1e6cbcadfa4a2b039f632b5bb835b53b96e4c1e7d24a2628c6a9a8359cee","sha512":"130e07e0ef237084452a4fba0707a4ff76ebe9e0309b106477c439b666eed48d3339ce32dcb23657cc29b481c197163df09cfece602c417694c63a83a122d452","ssdeep":"1536:tCJbcPY4HkpTgJtXMox3kroI9o9ro1z9XFdPbY+YxYuY3:MY+YxYuY3","tlshash":"95834b6a1880114447760b75e3de9f68ee3c55b318222dfe73d1198b8f71ba8238ee57","first_seen":"2023-04-06T17:05:23Z","last_seen":"2026-07-27T14:34:25.258364Z","times_seen":395,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsNCi8qIQ0KICogYW5pbWF0ZS5jc3MgLWh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGUNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQNCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTYgRGFuaWVsIEVkZW4NCiAqLw0KDQouYW5pbWF0aW9uLWRlbGF5MSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjNzOw0KICAgICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjNzOw0KICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyANCn0NCiAgDQouYW5pbWF0aW9uLWRlbGF5MiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAuNnM7DQogICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAuNnM7IA0KICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNnM7IA0KfQ0KICANCi5hbmltYXRpb24tZGVsYXkzIHsgIA0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjlzOw0KICAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjlzOyAgDQogICAgICBhbmltYXRpb24tZGVsYXk6IC45czsNCn0NCg0KLmFuaW1hdGlvbi1kZWxheTQgeyAgDQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjJzOw0KICAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4yczsgIA0KICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjJzOw0KfQ0KICANCi5hbmltYXRpb24tZGVsYXk1IHsgDQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjZzOw0KICAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS42czsgDQogICAgICBhbmltYXRpb24tZGVsYXk6IDEuNnM7IA0KfQ0KDQouYW5pbWF0aW9uLWRlbGF5NiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyczsNCiAgICAgLW1vei1hbmltYXRpb24tZGVsYXk6IDJzOyANCiAgICAgIGFuaW1hdGlvbi1kZWxheTogMnM7IA0KfSANCg0KLmFuaW1hdGlvbi1kZWxheTcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41czsNCiAgICAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7IA0KICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzOyANCn0NCg0KLmFuaW1hdGlvbi1kZWxheTggew0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogM3M7DQogICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzczsgDQogICAgICBhbmltYXRpb24tZGVsYXk6IDNzOyANCn0NCg0KLmFuaW1hdGVkIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogICAgICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQogICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCiAgICAgICAtby1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOw0KICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQp9DQoNCi5hbmltYXRlZC5oaW5nZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCiAgICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDJzOw0KICAgICAgIC1vLWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7DQogICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCn0NCg0KLmFuaW1hdGVkLmluZmluaXRlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAgLW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAgICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHsNCiAgMCUsIDUwJSwgMTAwJSB7b3BhY2l0eTogMTt9IA0KICAyNSUsIDc1JSB7b3BhY2l0eTogMDt9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmbGFzaCB7DQogIDAlLCA1MCUsIDEwMCUge29wYWNpdHk6IDE7fSANCiAgMjUlLCA3NSUge29wYWNpdHk6IDA7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZsYXNoIHsNCiAgMCUsIDUwJSwgMTAwJSB7b3BhY2l0eTogMTt9IA0KICAyNSUsIDc1JSB7b3BhY2l0eTogMDt9DQp9DQoNCkBrZXlmcmFtZXMgZmxhc2ggew0KICAwJSwgNTAlLCAxMDAlIHtvcGFjaXR5OiAxO30gDQogIDI1JSwgNzUlIHtvcGFjaXR5OiAwO30NCn0NCg0KLmFuaW1hdGVkLmZsYXNoIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsYXNoOw0KICAtby1hbmltYXRpb24tbmFtZTogZmxhc2g7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7DQogIDAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9DQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7fQ0KICAyMCUsIDQwJSwgNjAlLCA4MCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO30NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIHNoYWtlIHsNCiAgMCUsIDEwMCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO30NCiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTt9DQogIDIwJSwgNDAlLCA2MCUsIDgwJSB7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHNoYWtlIHsNCiAgMCUsIDEwMCUgey1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9DQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO30NCiAgMjAlLCA0MCUsIDYwJSwgODAlIHstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fQ0KfQ0KDQpAa2V5ZnJhbWVzIHNoYWtlIHsNCiAgMCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9DQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO30NCiAgMjAlLCA0MCUsIDYwJSwgODAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fQ0KfQ0KDQouYW5pbWF0ZWQuc2hha2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogc2hha2U7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBzaGFrZTsNCiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7DQogIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9DQogIDQwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO30NCiAgNjAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgYm91bmNlIHsNCiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO30NCiAgNDAlIHstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fQ0KICA2MCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTt9DQp9DQoNCkAtby1rZXlmcmFtZXMgYm91bmNlIHsNCiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgey1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9DQogIDQwJSB7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTt9DQogIDYwJSB7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTt9DQp9DQpAa2V5ZnJhbWVzIGJvdW5jZSB7DQogIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fQ0KICA0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fQ0KICA2MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7DQogIDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7fSANCiAgMTAlLCAyMCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7fQ0KICAzMCUsIDUwJSwgNzAlLCA5MCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTt9DQogIDQwJSwgNjAlLCA4MCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7fQ0KICAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO30NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIHRhZGEgew0KICAwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO30gIA0KICAxMCUsIDIwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTt9DQogIDMwJSwgNTAlLCA3MCUsIDkwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO30NCiAgNDAlLCA2MCUsIDgwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTt9DQogIDEwMCUgey1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHRhZGEgew0KICAwJSB7LW8tdHJhbnNmb3JtOiBzY2FsZSgxKTt9ICANCiAgMTAlLCAyMCUgey1vLXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO30NCiAgMzAlLCA1MCUsIDcwJSwgOTAlIHstby10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO30NCiAgNDAlLCA2MCUsIDgwJSB7LW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7fQ0KICAxMDAlIHstby10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTt9DQp9DQoNCkBrZXlmcmFtZXMgdGFkYSB7DQogIDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpO30gDQogIDEwJSwgMjAlIHt0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTt9DQogIDMwJSwgNTAlLCA3MCUsIDkwJSB7dHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTt9DQogIDQwJSwgNjAlLCA4MCUge3RyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO30NCiAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7fQ0KfQ0KDQouYW5pbWF0ZWQudGFkYSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHRhZGE7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiB0YWRhOw0KICBhbmltYXRpb24tbmFtZTogdGFkYTsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7DQogIDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgfQ0KICAyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfSANCiAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9DQogIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH0gIA0KICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfSANCiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIHN3aW5nIHsNCiAgMjAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH0gIA0KICA0MCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH0NCiAgNjAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfSANCiAgODAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH0gIA0KICAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHN3aW5nIHsNCiAgMjAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9ICANCiAgNDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfQ0KICA2MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfSANCiAgODAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9ICANCiAgMTAwJSB7IC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9DQp9DQoNCkBrZXlmcmFtZXMgc3dpbmcgew0KICAyMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH0gDQogIDQwJSB7IHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH0NCiAgNjAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH0gIA0KICA4MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH0gDQogIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQouYW5pbWF0ZWQuc3dpbmcgew0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7DQogIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHN3aW5nOw0KICAtby1hbmltYXRpb24tbmFtZTogc3dpbmc7DQogIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsNCn0NCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHsNCiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0NCiAgMTUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTsgfQ0KICAzMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfQ0KICA0NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9DQogIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOyB9DQogIDc1JSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfQ0KICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyB3b2JibGUgew0KICAwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfQ0KICAxNSUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9DQogIDMwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9DQogIDQ1JSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH0NCiAgNjAlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH0NCiAgNzUlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9DQogIDEwMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0NCn0NCg0KQC1vLWtleWZyYW1lcyB3b2JibGUgew0KICAwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0NCiAgMTUlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH0NCiAgMzAlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9DQogIDQ1JSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9DQogIDYwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfQ0KICA3NSUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9DQogIDEwMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9DQp9DQoNCkBrZXlmcmFtZXMgd29iYmxlIHsNCiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9DQogIDE1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9DQogIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfQ0KICA0NSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsgfQ0KICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH0NCiAgNzUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfQ0KICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfQ0KfQ0KDQouYW5pbWF0ZWQud29iYmxlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQogIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQp9DQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi8NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHsNCiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSANCiAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0NCiAgICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQpALW1vei1rZXlmcmFtZXMgcHVsc2Ugew0KICAgIDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB9ICANCiAgNTAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0NCiAgICAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQpALW8ta2V5ZnJhbWVzIHB1bHNlIHsNCiAgICAwJSB7IC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gIA0KICA1MCUgeyAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0NCiAgICAxMDAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQ0KfQ0KQGtleWZyYW1lcyBwdWxzZSB7DQogICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IA0KICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0NCiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQ0KfQ0KDQouYW5pbWF0ZWQucHVsc2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogcHVsc2U7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsNCiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCn0NCkAtbW96LWtleWZyYW1lcyBmbGlwIHsNCiAgMCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTsNCiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQogIDQwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA1MCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpOw0KICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KICA4MCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUoMSk7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQpALW8ta2V5ZnJhbWVzIGZsaXAgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA0MCUgew0KICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA1MCUgew0KICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQogIDgwJSB7DQogICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7DQogICAgLW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQpAa2V5ZnJhbWVzIGZsaXAgew0KICAwJSB7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA0MCUgew0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA1MCUgew0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQogIDgwJSB7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mbGlwIHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7DQogIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmbGlwOw0KICAtby1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmbGlwOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblggew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQogICAgDQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KfQ0KQC1tb3ota2V5ZnJhbWVzIGZsaXBJblggew0KICAgIDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQogICAgDQogICAgNDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KfQ0KQC1vLWtleWZyYW1lcyBmbGlwSW5YIHsNCiAgICAwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgIH0NCiAgICANCiAgICA0MCUgew0KICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOw0KICAgIH0NCiAgICANCiAgICAxMDAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQp9DQpAa2V5ZnJhbWVzIGZsaXBJblggew0KICAgIDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KICAgIA0KICAgIDQwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsNCiAgICB9DQogICAgDQogICAgNzAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCn0NCg0KLmFuaW1hdGVkLmZsaXBJblggew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDsNCiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7DQogIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFggew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCiAgMTAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmxpcE91dFggew0KICAgIDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCiAgMTAwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZsaXBPdXRYIHsNCiAgICAwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KICAxMDAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsaXBPdXRYIHsNCiAgICAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KICAxMDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmxpcE91dFggew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOw0KICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOw0KICAtby1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQogICAgDQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KfQ0KQC1tb3ota2V5ZnJhbWVzIGZsaXBJblkgew0KICAgIDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQogICAgDQogICAgNDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KfQ0KQC1vLWtleWZyYW1lcyBmbGlwSW5ZIHsNCiAgICAwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgIH0NCiAgICANCiAgICA0MCUgew0KICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOw0KICAgIH0NCiAgICANCiAgICAxMDAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQp9DQpAa2V5ZnJhbWVzIGZsaXBJblkgew0KICAgIDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KICAgIA0KICAgIDQwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsNCiAgICB9DQogICAgDQogICAgNzAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCn0NCg0KLmFuaW1hdGVkLmZsaXBJblkgew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTsNCiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQogIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCiAgMTAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KQC1tb3ota2V5ZnJhbWVzIGZsaXBPdXRZIHsNCiAgICAwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQogIDEwMCUgew0KICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgIH0NCn0NCkAtby1rZXlmcmFtZXMgZmxpcE91dFkgew0KICAgIDAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQogIDEwMCUgew0KICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQp9DQpAa2V5ZnJhbWVzIGZsaXBPdXRZIHsNCiAgICAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KICAxMDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmxpcE91dFkgew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7DQogIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsNCiAgLW8tYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtby1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7DQogIDAlIHtvcGFjaXR5OiAwO30gIA0KICAxMDAlIHtvcGFjaXR5OiAxO30NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVJbiB7DQogIDAlIHtvcGFjaXR5OiAwO30gIA0KICAxMDAlIHtvcGFjaXR5OiAxO30NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlSW4gew0KICAwJSB7b3BhY2l0eTogMDt9ICANCiAgMTAwJSB7b3BhY2l0eTogMTt9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluIHsNCiAgMCUge29wYWNpdHk6IDA7fSAgDQogIDEwMCUge29wYWNpdHk6IDE7fQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZUluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVJblVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZUluTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgZmFkZUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlSW5VcEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlSW5Eb3duQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KQC1tb3ota2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KQC1vLWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZUluTGVmdEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVJblJpZ2h0QmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHsNCiAgMCUge29wYWNpdHk6IDE7fQ0KICAxMDAlIHtvcGFjaXR5OiAwO30NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVPdXQgew0KICAwJSB7b3BhY2l0eTogMTt9DQogIDEwMCUge29wYWNpdHk6IDA7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVPdXQgew0KICAwJSB7b3BhY2l0eTogMTt9DQogIDEwMCUge29wYWNpdHk6IDA7fQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXQgew0KICAwJSB7b3BhY2l0eTogMTt9DQogIDEwMCUge29wYWNpdHk6IDA7fQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZU91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCkAtbW96LWtleWZyYW1lcyBmYWRlT3V0VXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCkAtby1rZXlmcmFtZXMgZmFkZU91dFVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCkBrZXlmcmFtZXMgZmFkZU91dFVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVPdXRVcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVPdXREb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlT3V0RG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0RG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZU91dExlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dExlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZU91dExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZU91dFVwQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlT3V0RG93bkJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZU91dExlZnRCaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCkAtbW96LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQpALW8ta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KfQ0KQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVPdXRSaWdodEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfQ0KICANCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsNCiAgfQ0KICANCiAgNzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjkpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfQ0KICANCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsNCiAgfQ0KICANCiAgNzAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoLjkpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VJbiB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoLjMpOw0KICB9DQogIA0KICA1MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsNCiAgfQ0KICANCiAgNzAlIHsNCiAgICAtby10cmFuc2Zvcm06IHNjYWxlKC45KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogIH0NCiAgDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOw0KICB9DQogIA0KICA3MCUgew0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5ib3VuY2VJbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOw0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQpALW1vei1rZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQogIA0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KICANCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmJvdW5jZUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOw0KICAtby1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBib3VuY2VJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KICANCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQogIA0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlSW5Eb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KICANCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQogIA0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlSW5MZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KICANCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQogIA0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQogIA0KICAyNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpOw0KICB9DQogIA0KICA1MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfSANCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCiAgDQogIDI1JSB7DQogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKC45NSk7DQogIH0NCiAgDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoLjMpOw0KICB9IA0KfQ0KDQpALW8ta2V5ZnJhbWVzIGJvdW5jZU91dCB7DQogIDAlIHsNCiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQogIA0KICAyNSUgew0KICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoLjk1KTsNCiAgfQ0KICANCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfSANCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgfQ0KICANCiAgMjUlIHsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSk7DQogIH0NCiAgDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogIH0gDQp9DQoNCi5hbmltYXRlZC5ib3VuY2VPdXQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgYm91bmNlT3V0VXAgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmJvdW5jZU91dFVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOw0KICAtby1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dERvd24gew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGJvdW5jZU91dERvd24gew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7DQogIDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5ib3VuY2VPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7DQogIDAlIHsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7DQogIDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5ib3VuY2VPdXRMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7DQogIDAlIHsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCkAtbW96LWtleWZyYW1lcyByb3RhdGVJbiB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQpALW8ta2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQpAa2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5hbmltYXRlZC5yb3RhdGVJbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOw0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZUluVXBMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsNCiAgMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7DQogIDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQucm90YXRlSW5Eb3duTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHsNCiAgMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZUluVXBSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZUluRG93blJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyByb3RhdGVPdXQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgcm90YXRlT3V0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQucm90YXRlT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQucm90YXRlT3V0VXBMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZU91dERvd25MZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZU91dFVwUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5hbmltYXRlZC5yb3RhdGVPdXREb3duUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7DQogIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSAgDQogIDIwJSwgNjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gIA0KICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgODAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTsgb3BhY2l0eTogMDsgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgaGluZ2Ugew0KICAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gDQogIDIwJSwgNjAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gDQogIDQwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOyAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9ICANCiAgODAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSAgDQogIDEwMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7IG9wYWNpdHk6IDA7IH0NCn0NCg0KQC1vLWtleWZyYW1lcyBoaW5nZSB7DQogIDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7IC1vLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgMjAlLCA2MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7IC1vLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgNDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOyAtby10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gIA0KICA4MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgLW8tdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9ICANCiAgMTAwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7IG9wYWNpdHk6IDA7IH0NCn0NCg0KQGtleWZyYW1lcyBoaW5nZSB7DQogIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMCk7IHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSAgDQogIDIwJSwgNjAlIHsgdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOyB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gIA0KICA0MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7IHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgODAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7IG9wYWNpdHk6IDA7IH0NCn0NCg0KLmFuaW1hdGVkLmhpbmdlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGhpbmdlOw0KICAtby1hbmltYXRpb24tbmFtZTogaGluZ2U7DQogIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTsNCn0NCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgeyBvcGFjaXR5OiAwOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9DQogIDEwMCUgeyBvcGFjaXR5OiAxOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgeyBvcGFjaXR5OiAwOyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9DQogIDEwMCUgeyBvcGFjaXR5OiAxOyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHJvbGxJbiB7DQogIDAlIHsgb3BhY2l0eTogMDsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7IH0NCiAgMTAwJSB7IG9wYWNpdHk6IDE7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvbGxJbiB7DQogIDAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7IH0NCiAgMTAwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQouYW5pbWF0ZWQucm9sbEluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQogIC1vLWFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQp9DQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi8NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQgew0KICAgIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOw0KICB9DQoNCiAgICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyByb2xsT3V0IHsNCiAgICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsNCiAgfQ0KDQogICAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHJvbGxPdXQgew0KICAgIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsNCiAgfQ0KDQogICAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb2xsT3V0IHsNCiAgICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7DQogIH0NCg0KICAgIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5yb2xsT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogcm9sbE91dDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0Ow0KfQ0KDQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IEFuZ2VsbyBSb2hpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmdlbG9yb2hpdCAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsNCiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9DQogIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTsgb3BhY2l0eTogMTsgfQ0KICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsgb3BhY2l0eTogMTsgfQ0KICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBsaWdodFNwZWVkSW4gew0KICAwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7IG9wYWNpdHk6IDA7IH0NCiAgNjAlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDgwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDEwMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH0NCn0NCg0KQC1vLWtleWZyYW1lcyBsaWdodFNwZWVkSW4gew0KICAwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9DQogIDYwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7IG9wYWNpdHk6IDE7IH0NCiAgODAlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDEwMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9DQp9DQoNCkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsNCiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsgb3BhY2l0eTogMDsgfQ0KICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsgb3BhY2l0eTogMTsgfQ0KICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfQ0KfQ0KDQouYW5pbWF0ZWQubGlnaHRTcGVlZEluIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47DQogICAgLW1vei1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluOw0KICAgIC1vLWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47DQogICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjsNCg0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCg0KLmFuaW1hdGVkLmxpZ2h0U3BlZWRJbiB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7DQogICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7DQogICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41czsNCn0NCg0KLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBBbmdlbG8gUm9oaXQgLSBodHRwczovL2dpdGh1Yi5jb20vYW5nZWxvcm9oaXQgKi8NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHsNCiAgMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH0NCiAgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7IG9wYWNpdHk6IDA7IH0NCn0NCg0KQC1vLWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHsNCiAgMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDEwMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsgb3BhY2l0eTogMDsgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH0NCiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9DQp9DQoNCi5hbmltYXRlZC5saWdodFNwZWVkT3V0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0Ow0KICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQogICAgLW8tYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQoNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCn0NCg0KLmFuaW1hdGVkLmxpZ2h0U3BlZWRPdXQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjI1czsNCiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4yNXM7DQogICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjI1czsNCiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMjVzOw0KfQ0KDQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IEFuZ2VsbyBSb2hpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmdlbG9yb2hpdCAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgd2lnZ2xlIHsNCiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTsgfQ0KICAgIDEwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0NCiAgICAyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goN2RlZyk7IH0NCiAgICAzMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTZkZWcpOyB9DQogICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9DQogICAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfQ0KICAgIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgzZGVnKTsgfQ0KICAgIDcwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0NCiAgICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMWRlZyk7IH0NCiAgICA5MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0NCiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgd2lnZ2xlIHsNCiAgICAwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTsgfQ0KICAgIDEwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0NCiAgICAyMCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goN2RlZyk7IH0NCiAgICAzMCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goLTZkZWcpOyB9DQogICAgNDAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9DQogICAgNTAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfQ0KICAgIDYwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgzZGVnKTsgfQ0KICAgIDcwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0NCiAgICA4MCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goMWRlZyk7IH0NCiAgICA5MCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0NCiAgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHdpZ2dsZSB7DQogICAgMCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9DQogICAgMTAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0NCiAgICAyMCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9DQogICAgMzAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH0NCiAgICA0MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9DQogICAgNTAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH0NCiAgICA2MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9DQogICAgNzAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0NCiAgICA4MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9DQogICAgOTAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KICAxMDAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHdpZ2dsZSB7DQogICAgMCUgeyB0cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9DQogICAgMTAlIHsgdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0NCiAgICAyMCUgeyB0cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9DQogICAgMzAlIHsgdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH0NCiAgICA0MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9DQogICAgNTAlIHsgdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH0NCiAgICA2MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9DQogICAgNzAlIHsgdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0NCiAgICA4MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9DQogICAgOTAlIHsgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KICAxMDAlIHsgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KfQ0KDQouYW5pbWF0ZWQud2lnZ2xlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7DQogICAgLW1vei1hbmltYXRpb24tbmFtZTogd2lnZ2xlOw0KICAgIC1vLWFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7DQogICAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTsNCg0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgLW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KfQ0KDQouYW5pbWF0ZWQud2lnZ2xlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7DQogICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzOw0KICAgIC1vLWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7DQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQp9DQoNCi5zbGlkZUluRG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOw0KICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQp9DQoNCi5zbGlkZUluTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVJblJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5VcCB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogIH0NCg0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KLnNsaWRlSW5VcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOw0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICB0byB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dExlZnQgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVPdXRMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlT3V0VXAgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVPdXRVcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7DQogIGZyb20gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluIHsNCiAgZnJvbSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCg0KICA1MCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnpvb21JbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24gew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluRG93biB7DQogIGZyb20gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KLnpvb21JbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duOw0KICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQgew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluTGVmdCB7DQogIGZyb20gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KLnpvb21JbkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHsNCiAgZnJvbSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHsNCiAgZnJvbSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQouem9vbUluUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAgew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluVXAgew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCi56b29tSW5VcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwOw0KICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHsNCiAgZnJvbSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDUwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXQgew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgfQ0KDQogIHRvIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi56b29tT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dERvd24gew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQouem9vbU91dERvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dExlZnQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICB9DQp9DQoNCi56b29tT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tT3V0UmlnaHQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogIH0NCn0NCg0KLnpvb21PdXRSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dFVwIHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KLnpvb21PdXRVcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQoNCiAgMzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsNCiAgfQ0KDQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOw0KICB9DQoNCiAgNjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpOw0KICB9DQoNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJ1YmJlckJhbmQgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICAzMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7DQogIH0NCg0KICA2NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogIH0NCg0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQp9DQoNCi5ydWJiZXJCYW5kIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8gew0KICBmcm9tLCAxMS4xJSwgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KDQogIDIyLjIlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7DQogIH0NCg0KICAzMy4zJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7DQogIH0NCg0KICA0NC40JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsNCiAgfQ0KDQogIDU1LjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOw0KICB9DQoNCiAgNjYuNiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsNCiAgfQ0KDQogIDc3LjclIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7DQogIH0NCg0KICA4OC44JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBqZWxsbyB7DQogIGZyb20sIDExLjElLCB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQoNCiAgMjIuMiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsNCiAgfQ0KDQogIDQ0LjQlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOw0KICB9DQoNCiAgNTUuNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOw0KICB9DQoNCiAgNzcuNyUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsNCiAgfQ0KDQogIDg4LjglIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTsNCiAgfQ0KfQ0KDQouamVsbG8gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbzsNCiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvOw0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KfQ=="}},"time_used":113,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":101,"receive":12,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/css-plugin-collections.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:24.995Z","timestamp":1785123384995,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/css-plugin-collections.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"462e4-65fd8520-9fb369eeffe0a02e;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 38055\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":287460,"size_decoded":38497,"mime_type":"text/css","magic":"ASCII text, with very long lines (26556)","md5":"8a0642f1adfd524398849c70cde0f6c0","sha1":"b842d23ff326f778e2b0a836211cb523a2a62e42","sha256":"faa25844d1105cd1b024f635ed794ae12eb21226565826c88ec9e72f6f5bd68e","sha512":"25a98d8a072b27e0075451495415c7502d7bb9691496bac1e6fb80c119f7a208c2aa70c5e000c08654c8bd37b4292260e94213df9524ea152e12179a5b15e8c0","ssdeep":"3072:d7NUBDX/w3PfrfjiClSjqbfaK8An5k/7M3cy:dNUBDX/6frfjiClSjqbfaa","tlshash":"c454b7654f4033499227c60297c8afa4df3dc167a6220ced7349650ecb47bae229fb57","first_seen":"2025-07-07T00:18:26.173584Z","last_seen":"2026-07-27T12:40:24.603618Z","times_seen":16,"resource_available":false,"data":"LyoKQEF1dGhvcjogVGhlbWVNYXNjb3QKQFVSTDogaHR0cDovL1RoZW1lTWFzY290LmNvbQoKTmVjZXNzYXJ5IENTUyBDb2xsZWN0aW9uCiovCgovKioKICogVGFibGUgb2YgQ29udGVudHM6CiAqCQogKiAgT3dsIGNhcm91c2VsCiAqICBGbGV4U2xpZGVyCiAqICBpc290b3BlCiAqICBNYWduaWZpYyBQb3B1cAogKiAgbGlnaHRib3gKICogIE5pdm8gTGlnaHRib3gKICogIHl0cGxheWVyCiAqICBIb3Zlci5jc3MKICogIE1lbnV6b3JkLVJlc3BvbnNpdmUtTWVnYW1lbnUKICogIG1vZGVybml6cgogKiAgTWF4aW1hZ2Ugc2xpZGVyCiAqICBCeFNsaWRlcgogKiAgRnVsbENhbGVuZGFyCiAqICBib290c3RyYXAgY29kZSBjb2xvcmluZwogKiAgY29kZSBoaWdobGlnaHQKICogIHByZXR0eVBob3RvCiAqICBDbG9jazEgLSBUaGUgRmluYWwgQ291bnRkb3duCiAqICBDbG9jazIgLSBmbGlwY2xvY2sKICoJRGF0ZXBpY2tlciBmb3IgQm9vdHN0cmFwCiAqICBqcXVlcnktdGltZXBpY2tlcgogKiAgYm9vdHN0cmFwLWRhdGV0aW1lanMKICoJanF1ZXJ5IFR3ZW50eVR3ZW50eSBCZWZvcmUgQWZ0ZXIgU2xpZGVyCiAqICBzbGljayBzbGlkZXIKICogIAogKiAgCiAqICAKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKi8KCi8qKgogKiBPd2wgQ2Fyb3VzZWwgdjIuMy4wCiAqIENvcHlyaWdodCAyMDEzLTIwMTcgRGF2aWQgRGV1dHNjaAogKiBMaWNlbnNlZCB1bmRlciAgKCkKICovCi5vd2wtY2Fyb3VzZWwsLm93bC1jYXJvdXNlbCAub3dsLWl0ZW17LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5vd2wtY2Fyb3VzZWx7ZGlzcGxheTpub25lO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZXtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtdG91Y2gtYWN0aW9uOnBhbi1ZO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXJ7Y29udGVudDoiLiI7ZGlzcGxheTpibG9jaztjbGVhcjpib3RoO3Zpc2liaWxpdHk6aGlkZGVuO2xpbmUtaGVpZ2h0OjA7aGVpZ2h0OjB9Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVye3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0sLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXJ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVte21pbi1oZWlnaHQ6MXB4O2Zsb2F0OmxlZnQ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkLC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWR7ZGlzcGxheTpub25lfS5uby1qcyAub3dsLWNhcm91c2VsLC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZHtkaXNwbGF5OmJsb2NrfS5vd2wtY2Fyb3VzZWwgLm93bC1kb3QsLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXZ7Y3Vyc29yOnBvaW50ZXI7Y3Vyc29yOmhhbmQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3R7YmFja2dyb3VuZDowIDA7Y29sb3I6aW5oZXJpdDtib3JkZXI6bm9uZTtwYWRkaW5nOjAhaW1wb3J0YW50O2ZvbnQ6aW5oZXJpdH0ub3dsLWNhcm91c2VsLm93bC1sb2FkaW5ne29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrfS5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbntvcGFjaXR5OjB9Lm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW17dmlzaWJpbGl0eTpoaWRkZW59Lm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW17LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ub3dsLWNhcm91c2VsLm93bC1ncmFie2N1cnNvcjptb3ZlO2N1cnNvcjpncmFifS5vd2wtY2Fyb3VzZWwub3dsLXJ0bHtkaXJlY3Rpb246cnRsfS5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW17ZmxvYXQ6cmlnaHR9Lm93bC1jYXJvdXNlbCAuYW5pbWF0ZWR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoO2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aH0ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW57ei1pbmRleDowfS5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXR7ei1pbmRleDoxfS5vd2wtY2Fyb3VzZWwgLmZhZGVPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXR7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZhZGVPdXR7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowfX0ub3dsLWhlaWdodHt0cmFuc2l0aW9uOmhlaWdodCAuNXMgZWFzZS1pbi1vdXR9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5ey13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiMwMDB9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6ODBweDt3aWR0aDo4MHB4O2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLWxlZnQ6LTQwcHg7bWFyZ2luLXRvcDotNDBweDtiYWNrZ3JvdW5kOnVybChvd2wudmlkZW8ucGxheS5odG1sKSBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgZWFzZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgZWFzZX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMywxLjMpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4zLDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMywxLjMpfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uLC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG57ZGlzcGxheTpub25lfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10bntvcGFjaXR5OjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1le3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfQoKCi8qCiAqIAlGbGV4U2xpZGVyCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qKiBqUXVlcnkgRmxleFNsaWRlciB2Mi42LjAqIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9mbGV4c2xpZGVyLyoqIENvcHlyaWdodCAyMDEyIFdvb1RoZW1lcyogRnJlZSB0byB1c2UgdW5kZXIgdGhlIEdQTHYyIGFuZCBsYXRlciBsaWNlbnNlLiogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbCoqIENvbnRyaWJ1dGluZyBhdXRob3I6IFR5bGVyIFNtaXRoIChAbWJtdWZmZmluKSoqLwovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSogRk9OVC1GQUNFKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCi8qCkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnZmxleHNsaWRlci1pY29uJztzcmM6IHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uLmh0bWwnKTtzcmM6IHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uZDQxZC5odG1sI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi0yLmh0bWwnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdmb250cy9mbGV4c2xpZGVyLWljb24tMy5odG1sJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi00Lmh0bWwjZmxleHNsaWRlci1pY29uJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDogbm9ybWFsO2ZvbnQtc3R5bGU6IG5vcm1hbDt9CiAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qIFJFU0VUUyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5mbGV4LWNvbnRhaW5lciBhOmhvdmVyLC5mbGV4LXNsaWRlciBhOmhvdmVyIHtvdXRsaW5lOiBub25lO30uc2xpZGVzLC5zbGlkZXMgPiBsaSwuZmxleC1jb250cm9sLW5hdiwuZmxleC1kaXJlY3Rpb24tbmF2IHttYXJnaW46IDA7cGFkZGluZzogMDtsaXN0LXN0eWxlOiBub25lO30uZmxleC1wYXVzZXBsYXkgc3BhbiB7dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7fS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KiBCQVNFIFNUWUxFUyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5mbGV4c2xpZGVyIHttYXJnaW46IDA7cGFkZGluZzogMDt9LmZsZXhzbGlkZXIgLnNsaWRlcyA+IGxpIHtkaXNwbGF5OiBub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO30uZmxleHNsaWRlciAuc2xpZGVzIGltZyB7d2lkdGg6IDEwMCU7ZGlzcGxheTogYmxvY2s7fS5mbGV4c2xpZGVyIC5zbGlkZXM6YWZ0ZXIge2NvbnRlbnQ6ICJcMDAyMCI7ZGlzcGxheTogYmxvY2s7Y2xlYXI6IGJvdGg7dmlzaWJpbGl0eTogaGlkZGVuO2xpbmUtaGVpZ2h0OiAwO2hlaWdodDogMDt9aHRtbFt4bWxuc10gLmZsZXhzbGlkZXIgLnNsaWRlcyB7ZGlzcGxheTogYmxvY2s7fSogaHRtbCAuZmxleHNsaWRlciAuc2xpZGVzIHtoZWlnaHQ6IDElO30ubm8tanMgLmZsZXhzbGlkZXIgLnNsaWRlcyA+IGxpOmZpcnN0LWNoaWxkIHtkaXNwbGF5OiBibG9jazt9LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qIERFRkFVTFQgVEhFTUUqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8uZmxleHNsaWRlciB7bWFyZ2luOiAwIDAgNjBweDtiYWNrZ3JvdW5kOiAjZmZmZmZmO2JvcmRlcjogNHB4IHNvbGlkICNmZmZmZmY7cG9zaXRpb246IHJlbGF0aXZlO3pvb206IDE7LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7Ym9yZGVyLXJhZGl1czogNHB4Oy13ZWJraXQtYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTstbW96LWJveC1zaGFkb3c6ICcnIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7LW8tYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtib3gtc2hhZG93OiAnJyAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO30uZmxleHNsaWRlciAuc2xpZGVzIHt6b29tOiAxO30uZmxleHNsaWRlciAuc2xpZGVzIGltZyB7aGVpZ2h0OiBhdXRvOy1tb3otdXNlci1zZWxlY3Q6IG5vbmU7fS5mbGV4LXZpZXdwb3J0IHttYXgtaGVpZ2h0OiAyMDAwcHg7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTstbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlOy1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTstby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTt0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTt9LmxvYWRpbmcgLmZsZXgtdmlld3BvcnQge21heC1oZWlnaHQ6IDMwMHB4O30uY2Fyb3VzZWwgbGkge21hcmdpbi1yaWdodDogNXB4O30uZmxleC1kaXJlY3Rpb24tbmF2IHsqaGVpZ2h0OiAwO30uZmxleC1kaXJlY3Rpb24tbmF2IGEge3RleHQtZGVjb3JhdGlvbjogbm9uZTtkaXNwbGF5OiBibG9jazt3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7bWFyZ2luOiAtMjBweCAwIDA7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO3otaW5kZXg6IDEwO292ZXJmbG93OiBoaWRkZW47b3BhY2l0eTogMDtjdXJzb3I6IHBvaW50ZXI7Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTt0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTstd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O30uZmxleC1kaXJlY3Rpb24tbmF2IGE6YmVmb3JlIHtmb250LWZhbWlseTogImZsZXhzbGlkZXItaWNvbiI7Zm9udC1zaXplOiA0MHB4O2Rpc3BsYXk6IGlubGluZS1ibG9jaztjb250ZW50OiAnXGYwMDEnO2NvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7dGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7fS5mbGV4LWRpcmVjdGlvbi1uYXYgYS5mbGV4LW5leHQ6YmVmb3JlIHtjb250ZW50OiAnXGYwMDInO30uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge2xlZnQ6IC01MHB4O30uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge3JpZ2h0OiAtNTBweDt0ZXh0LWFsaWduOiByaWdodDt9LmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtvcGFjaXR5OiAwLjc7bGVmdDogMTBweDt9LmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2OmhvdmVyIHtvcGFjaXR5OiAxO30uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge29wYWNpdHk6IDAuNztyaWdodDogMTBweDt9LmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0OmhvdmVyIHtvcGFjaXR5OiAxO30uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LWRpc2FibGVkIHtvcGFjaXR5OiAwIWltcG9ydGFudDtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7Y3Vyc29yOiBkZWZhdWx0O3otaW5kZXg6IC0xO30uZmxleC1wYXVzZXBsYXkgYSB7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDIwcHg7aGVpZ2h0OiAyMHB4O3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IDVweDtsZWZ0OiAxMHB4O29wYWNpdHk6IDAuODt6LWluZGV4OiAxMDtvdmVyZmxvdzogaGlkZGVuO2N1cnNvcjogcG9pbnRlcjtjb2xvcjogIzAwMDt9LmZsZXgtcGF1c2VwbGF5IGE6YmVmb3JlIHtmb250LWZhbWlseTogImZsZXhzbGlkZXItaWNvbiI7Zm9udC1zaXplOiAyMHB4O2Rpc3BsYXk6IGlubGluZS1ibG9jaztjb250ZW50OiAnXGYwMDQnO30uZmxleC1wYXVzZXBsYXkgYTpob3ZlciB7b3BhY2l0eTogMTt9LmZsZXgtcGF1c2VwbGF5IGEuZmxleC1wbGF5OmJlZm9yZSB7Y29udGVudDogJ1xmMDAzJzt9LmZsZXgtY29udHJvbC1uYXYge3dpZHRoOiAxMDAlO3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IC00MHB4O3RleHQtYWxpZ246IGNlbnRlcjt9LmZsZXgtY29udHJvbC1uYXYgbGkge21hcmdpbjogMCA2cHg7ZGlzcGxheTogaW5saW5lLWJsb2NrO3pvb206IDE7KmRpc3BsYXk6IGlubGluZTt9LmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYSB7d2lkdGg6IDExcHg7aGVpZ2h0OiAxMXB4O2Rpc3BsYXk6IGJsb2NrO2JhY2tncm91bmQ6ICM2NjY7YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO2N1cnNvcjogcG9pbnRlcjt0ZXh0LWluZGVudDogLTk5OTlweDstd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpOy1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7LW8tYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7Ym94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4Oy1tb3otYm9yZGVyLXJhZGl1czogMjBweDtib3JkZXItcmFkaXVzOiAyMHB4O30uZmxleC1jb250cm9sLXBhZ2luZyBsaSBhOmhvdmVyIHtiYWNrZ3JvdW5kOiAjMzMzO2JhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTt9LmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYS5mbGV4LWFjdGl2ZSB7YmFja2dyb3VuZDogIzAwMDtiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7Y3Vyc29yOiBkZWZhdWx0O30uZmxleC1jb250cm9sLXRodW1icyB7bWFyZ2luOiA1cHggMCAwO3Bvc2l0aW9uOiBzdGF0aWM7b3ZlcmZsb3c6IGhpZGRlbjt9LmZsZXgtY29udHJvbC10aHVtYnMgbGkge3dpZHRoOiAyNSU7ZmxvYXQ6IGxlZnQ7bWFyZ2luOiAwO30uZmxleC1jb250cm9sLXRodW1icyBpbWcge3dpZHRoOiAxMDAlO2hlaWdodDogYXV0bztkaXNwbGF5OiBibG9jaztvcGFjaXR5OiAuNztjdXJzb3I6IHBvaW50ZXI7LW1vei11c2VyLXNlbGVjdDogbm9uZTstd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlOy1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7LW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlOy1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO3RyYW5zaXRpb246IGFsbCAxcyBlYXNlO30uZmxleC1jb250cm9sLXRodW1icyBpbWc6aG92ZXIge29wYWNpdHk6IDE7fS5mbGV4LWNvbnRyb2wtdGh1bWJzIC5mbGV4LWFjdGl2ZSB7b3BhY2l0eTogMTtjdXJzb3I6IGRlZmF1bHQ7fS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KiBSRVNQT05TSVZFKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODYwcHgpIHsuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge29wYWNpdHk6IDE7bGVmdDogMTBweDt9LmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtvcGFjaXR5OiAxO3JpZ2h0OiAxMHB4O319CgoKLyoKICogCWlzb3RvcGUKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmlzb3RvcGUsLmlzb3RvcGUgLmlzb3RvcGUtaXRlbXstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjhzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouOHM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouOHM7dHJhbnNpdGlvbi1kdXJhdGlvbjouOHN9Lmlzb3RvcGV7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx3aWR0aDstbW96LXRyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHdpZHRoOy1vLXRyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHdpZHRoO3RyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHdpZHRofS5pc290b3BlIC5pc290b3BlLWl0ZW17LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Oi13ZWJraXQtdHJhbnNmb3JtLG9wYWNpdHk7LW1vei10cmFuc2l0aW9uLXByb3BlcnR5Oi1tb3otdHJhbnNmb3JtLG9wYWNpdHk7LW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTp0b3AsbGVmdCxvcGFjaXR5O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHl9Lmlzb3RvcGUgLmlzb3RvcGUtaXRlbS5uby10cmFuc2l0aW9uLC5pc290b3BlLm5vLXRyYW5zaXRpb24sLmlzb3RvcGUubm8tdHJhbnNpdGlvbiAuaXNvdG9wZS1pdGVtey13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjowczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246MHM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjowczt0cmFuc2l0aW9uLWR1cmF0aW9uOjBzfS5pc290b3BlLmluZmluaXRlLXNjcm9sbGluZ3std2Via2l0LXRyYW5zaXRpb246bm9uZTstbW96LXRyYW5zaXRpb246bm9uZTstby10cmFuc2l0aW9uOm5vbmU7dHJhbnNpdGlvbjpub25lfS5pc290b3BlLWl0ZW17ei1pbmRleDoyfS5pc290b3BlLWhpZGRlbi5pc290b3BlLWl0ZW17cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9CgovKgogKiAJTWFnbmlmaWMgUG9wdXAKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovLm1mcC1iZyB7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO3otaW5kZXg6IDEwNDI7b3ZlcmZsb3c6IGhpZGRlbjtwb3NpdGlvbjogZml4ZWQ7YmFja2dyb3VuZDogIzBiMGIwYjtvcGFjaXR5OiAwLjg7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTsgfS5tZnAtd3JhcCB7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO3otaW5kZXg6IDEwNDM7cG9zaXRpb246IGZpeGVkO291dGxpbmU6IG5vbmUgIWltcG9ydGFudDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfS5tZnAtY29udGFpbmVyIHt0ZXh0LWFsaWduOiBjZW50ZXI7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtsZWZ0OiAwO3RvcDogMDtwYWRkaW5nOiAwIDhweDstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7IH0ubWZwLWNvbnRhaW5lcjpiZWZvcmUge2NvbnRlbnQ6ICcnO2Rpc3BsYXk6IGlubGluZS1ibG9jaztoZWlnaHQ6IDEwMCU7dmVydGljYWwtYWxpZ246IG1pZGRsZTsgfS5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7ZGlzcGxheTogbm9uZTsgfS5tZnAtY29udGVudCB7cG9zaXRpb246IHJlbGF0aXZlO2Rpc3BsYXk6IGlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO21hcmdpbjogMCBhdXRvO3RleHQtYWxpZ246IGxlZnQ7ei1pbmRleDogMTA0NTsgfS5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge3dpZHRoOiAxMDAlO2N1cnNvcjogYXV0bzsgfS5tZnAtYWpheC1jdXIge2N1cnNvcjogcHJvZ3Jlc3M7IH0ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7Y3Vyc29yOiAtbW96LXpvb20tb3V0O2N1cnNvcjogLXdlYmtpdC16b29tLW91dDtjdXJzb3I6IHpvb20tb3V0OyB9Lm1mcC16b29tIHtjdXJzb3I6IHBvaW50ZXI7Y3Vyc29yOiAtd2Via2l0LXpvb20taW47Y3Vyc29yOiAtbW96LXpvb20taW47Y3Vyc29yOiB6b29tLWluOyB9Lm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge2N1cnNvcjogYXV0bzsgfS5tZnAtY2xvc2UsLm1mcC1hcnJvdywubWZwLXByZWxvYWRlciwubWZwLWNvdW50ZXIgey13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTt1c2VyLXNlbGVjdDogbm9uZTsgfS5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtkaXNwbGF5OiBub25lOyB9Lm1mcC1oaWRlIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0ubWZwLXByZWxvYWRlciB7Y29sb3I6ICNDQ0M7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO3dpZHRoOiBhdXRvO3RleHQtYWxpZ246IGNlbnRlcjttYXJnaW4tdG9wOiAtMC44ZW07bGVmdDogOHB4O3JpZ2h0OiA4cHg7ei1pbmRleDogMTA0NDsgfS5tZnAtcHJlbG9hZGVyIGEge2NvbG9yOiAjQ0NDOyB9Lm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7Y29sb3I6ICNGRkY7IH0ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge2Rpc3BsYXk6IG5vbmU7IH0ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtkaXNwbGF5OiBub25lOyB9YnV0dG9uLm1mcC1jbG9zZSxidXR0b24ubWZwLWFycm93IHtvdmVyZmxvdzogdmlzaWJsZTtjdXJzb3I6IHBvaW50ZXI7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Ym9yZGVyOiAwOy13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtkaXNwbGF5OiBibG9jaztvdXRsaW5lOiBub25lO3BhZGRpbmc6IDA7ei1pbmRleDogMTA0Njstd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7Ym94LXNoYWRvdzogbm9uZTsgfWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7cGFkZGluZzogMDtib3JkZXI6IDA7IH0ubWZwLWNsb3NlIHt3aWR0aDogNDRweDtoZWlnaHQ6IDQ0cHg7bGluZS1oZWlnaHQ6IDQ0cHg7cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiAwO3RvcDogMDt0ZXh0LWRlY29yYXRpb246IG5vbmU7dGV4dC1hbGlnbjogY2VudGVyO29wYWNpdHk6IDAuNjU7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtwYWRkaW5nOiAwIDAgMThweCAxMHB4O2NvbG9yOiAjRkZGO2ZvbnQtc3R5bGU6IG5vcm1hbDtmb250LXNpemU6IDI4cHg7Zm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9Lm1mcC1jbG9zZTpob3ZlciwubWZwLWNsb3NlOmZvY3VzIHtvcGFjaXR5OiAxO2ZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApOyB9Lm1mcC1jbG9zZTphY3RpdmUge3RvcDogMXB4OyB9Lm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7Y29sb3I6ICMzMzM7IH0ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtjb2xvcjogI0ZGRjtyaWdodDogLTZweDt0ZXh0LWFsaWduOiByaWdodDtwYWRkaW5nLXJpZ2h0OiA2cHg7d2lkdGg6IDEwMCU7IH0ubWZwLWNvdW50ZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7cmlnaHQ6IDA7Y29sb3I6ICNDQ0M7Zm9udC1zaXplOiAxMnB4O2xpbmUtaGVpZ2h0OiAxOHB4O3doaXRlLXNwYWNlOiBub3dyYXA7IH0ubWZwLWFycm93IHtwb3NpdGlvbjogYWJzb2x1dGU7b3BhY2l0eTogMC42NTtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO21hcmdpbjogMDt0b3A6IDUwJTttYXJnaW4tdG9wOiAtNTVweDtwYWRkaW5nOiAwO3dpZHRoOiA5MHB4O2hlaWdodDogMTEwcHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfS5tZnAtYXJyb3c6YWN0aXZlIHttYXJnaW4tdG9wOiAtNTRweDsgfS5tZnAtYXJyb3c6aG92ZXIsLm1mcC1hcnJvdzpmb2N1cyB7b3BhY2l0eTogMTtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfS5tZnAtYXJyb3c6YmVmb3JlLC5tZnAtYXJyb3c6YWZ0ZXIsLm1mcC1hcnJvdyAubWZwLWIsLm1mcC1hcnJvdyAubWZwLWEge2NvbnRlbnQ6ICcnO2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAwO2hlaWdodDogMDtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogMDt0b3A6IDA7bWFyZ2luLXRvcDogMzVweDttYXJnaW4tbGVmdDogMzVweDtib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfS5tZnAtYXJyb3c6YWZ0ZXIsLm1mcC1hcnJvdyAubWZwLWEge2JvcmRlci10b3Atd2lkdGg6IDEzcHg7Ym9yZGVyLWJvdHRvbS13aWR0aDogMTNweDt0b3A6IDhweDsgfS5tZnAtYXJyb3c6YmVmb3JlLC5tZnAtYXJyb3cgLm1mcC1iIHtib3JkZXItdG9wLXdpZHRoOiAyMXB4O2JvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7b3BhY2l0eTogMC43OyB9Lm1mcC1hcnJvdy1sZWZ0IHtsZWZ0OiAwOyB9Lm1mcC1hcnJvdy1sZWZ0OmFmdGVyLC5tZnAtYXJyb3ctbGVmdCAubWZwLWEge2JvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO21hcmdpbi1sZWZ0OiAzMXB4OyB9Lm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSwubWZwLWFycm93LWxlZnQgLm1mcC1iIHttYXJnaW4tbGVmdDogMjVweDtib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfS5tZnAtYXJyb3ctcmlnaHQge3JpZ2h0OiAwOyB9Lm1mcC1hcnJvdy1yaWdodDphZnRlciwubWZwLWFycm93LXJpZ2h0IC5tZnAtYSB7Ym9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjttYXJnaW4tbGVmdDogMzlweDsgfS5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlLC5tZnAtYXJyb3ctcmlnaHQgLm1mcC1iIHtib3JkZXItbGVmdDogMjdweCBzb2xpZCAjM0YzRjNGOyB9Lm1mcC1pZnJhbWUtaG9sZGVyIHtwYWRkaW5nLXRvcDogNDBweDtwYWRkaW5nLWJvdHRvbTogNDBweDsgfS5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge2xpbmUtaGVpZ2h0OiAwO3dpZHRoOiAxMDAlO21heC13aWR0aDogOTAwcHg7IH0ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7dG9wOiAtNDBweDsgfS5tZnAtaWZyYW1lLXNjYWxlciB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO292ZXJmbG93OiBoaWRkZW47cGFkZGluZy10b3A6IDU2LjI1JTsgfS5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge3Bvc2l0aW9uOiBhYnNvbHV0ZTtkaXNwbGF5OiBibG9jazt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7YmFja2dyb3VuZDogIzAwMDsgfS8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9pbWcubWZwLWltZyB7d2lkdGg6IGF1dG87bWF4LXdpZHRoOiAxMDAlO2hlaWdodDogYXV0bztkaXNwbGF5OiBibG9jaztsaW5lLWhlaWdodDogMDstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7cGFkZGluZzogNDBweCAwIDQwcHg7bWFyZ2luOiAwIGF1dG87IH0vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi8ubWZwLWZpZ3VyZSB7bGluZS1oZWlnaHQ6IDA7IH0ubWZwLWZpZ3VyZTphZnRlciB7Y29udGVudDogJyc7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7dG9wOiA0MHB4O2JvdHRvbTogNDBweDtkaXNwbGF5OiBibG9jaztyaWdodDogMDt3aWR0aDogYXV0bztoZWlnaHQ6IGF1dG87ei1pbmRleDogLTE7Ym94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7YmFja2dyb3VuZDogIzQ0NDsgfS5tZnAtZmlndXJlIHNtYWxsIHtjb2xvcjogI0JEQkRCRDtkaXNwbGF5OiBibG9jaztmb250LXNpemU6IDEycHg7bGluZS1oZWlnaHQ6IDE0cHg7IH0ubWZwLWZpZ3VyZSBmaWd1cmUge21hcmdpbjogMDsgfS5tZnAtYm90dG9tLWJhciB7bWFyZ2luLXRvcDogLTM2cHg7cG9zaXRpb246IGFic29sdXRlO3RvcDogMTAwJTtsZWZ0OiAwO3dpZHRoOiAxMDAlO2N1cnNvcjogYXV0bzsgfS5tZnAtdGl0bGUge3RleHQtYWxpZ246IGxlZnQ7bGluZS1oZWlnaHQ6IDE4cHg7Y29sb3I6ICNGM0YzRjM7d29yZC13cmFwOiBicmVhay13b3JkO3BhZGRpbmctcmlnaHQ6IDM2cHg7IH0ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge21heC13aWR0aDogMTAwJTsgfS5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7Y3Vyc29yOiBwb2ludGVyOyB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7LyoqKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuKi8ubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge3BhZGRpbmctbGVmdDogMDtwYWRkaW5nLXJpZ2h0OiAwOyB9Lm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtwYWRkaW5nOiAwOyB9Lm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHt0b3A6IDA7Ym90dG9tOiAwOyB9Lm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHtkaXNwbGF5OiBpbmxpbmU7bWFyZ2luLWxlZnQ6IDVweDsgfS5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge2JhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtib3R0b206IDA7bWFyZ2luOiAwO3RvcDogYXV0bztwYWRkaW5nOiAzcHggNXB4O3Bvc2l0aW9uOiBmaXhlZDstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7IH0ubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtwYWRkaW5nOiAwOyB9Lm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7cmlnaHQ6IDVweDt0b3A6IDNweDsgfS5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHt0b3A6IDA7cmlnaHQ6IDA7d2lkdGg6IDM1cHg7aGVpZ2h0OiAzNXB4O2xpbmUtaGVpZ2h0OiAzNXB4O2JhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtwb3NpdGlvbjogZml4ZWQ7dGV4dC1hbGlnbjogY2VudGVyO3BhZGRpbmc6IDA7IH0gfUBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7Lm1mcC1hcnJvdyB7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO3RyYW5zZm9ybTogc2NhbGUoMC43NSk7IH0ubWZwLWFycm93LWxlZnQgey13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDt0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9Lm1mcC1hcnJvdy1yaWdodCB7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO3RyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH0ubWZwLWNvbnRhaW5lciB7cGFkZGluZy1sZWZ0OiA2cHg7cGFkZGluZy1yaWdodDogNnB4OyB9IH0ubWZwLWllNyAubWZwLWltZyB7cGFkZGluZzogMDsgfS5tZnAtaWU3IC5tZnAtYm90dG9tLWJhciB7d2lkdGg6IDYwMHB4O2xlZnQ6IDUwJTttYXJnaW4tbGVmdDogLTMwMHB4O21hcmdpbi10b3A6IDVweDtwYWRkaW5nLWJvdHRvbTogNXB4OyB9Lm1mcC1pZTcgLm1mcC1jb250YWluZXIge3BhZGRpbmc6IDA7IH0ubWZwLWllNyAubWZwLWNvbnRlbnQge3BhZGRpbmctdG9wOiA0NHB4OyB9Lm1mcC1pZTcgLm1mcC1jbG9zZSB7dG9wOiAwO3JpZ2h0OiAwO3BhZGRpbmctdG9wOiAwOyB9CgovKgogKiAJbGlnaHRib3gKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogUHJlbG9hZCBpbWFnZXMgKi8KYm9keTphZnRlciB7Y29udGVudDogdXJsKGxpZ2h0Ym94L2Nsb3NlLnBuZykgdXJsKGxpZ2h0Ym94L2xvYWRpbmcuZ2lmKSB1cmwobGlnaHRib3gvcHJldi5wbmcpIHVybChsaWdodGJveC9uZXh0LnBuZyk7ZGlzcGxheTogbm9uZTt9LmxpZ2h0Ym94T3ZlcmxheSB7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3otaW5kZXg6IDk5OTk7YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT04MCk7b3BhY2l0eTogMC44O2Rpc3BsYXk6IG5vbmU7fS5saWdodGJveCB7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7d2lkdGg6IDEwMCU7ei1pbmRleDogMTAwMDA7dGV4dC1hbGlnbjogY2VudGVyO2xpbmUtaGVpZ2h0OiAwO2ZvbnQtd2VpZ2h0OiBub3JtYWw7fS5saWdodGJveCAubGItaW1hZ2Uge2Rpc3BsYXk6IGJsb2NrO2hlaWdodDogYXV0bzttYXgtd2lkdGg6IGluaGVyaXQ7LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7LW1vei1ib3JkZXItcmFkaXVzOiAzcHg7LW1zLWJvcmRlci1yYWRpdXM6IDNweDstby1ib3JkZXItcmFkaXVzOiAzcHg7Ym9yZGVyLXJhZGl1czogM3B4O30ubGlnaHRib3ggYSBpbWcge2JvcmRlcjogbm9uZTt9LmxiLW91dGVyQ29udGFpbmVyIHtwb3NpdGlvbjogcmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Knpvb206IDE7d2lkdGg6IDI1MHB4O2hlaWdodDogMjUwcHg7bWFyZ2luOiAwIGF1dG87LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7LW1zLWJvcmRlci1yYWRpdXM6IDRweDstby1ib3JkZXItcmFkaXVzOiA0cHg7Ym9yZGVyLXJhZGl1czogNHB4O30ubGItb3V0ZXJDb250YWluZXI6YWZ0ZXIge2NvbnRlbnQ6ICIiO2Rpc3BsYXk6IHRhYmxlO2NsZWFyOiBib3RoO30ubGItY29udGFpbmVyIHtwYWRkaW5nOiA0cHg7fS5sYi1sb2FkZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDQzJTtsZWZ0OiAwO2hlaWdodDogMjUlO3dpZHRoOiAxMDAlO3RleHQtYWxpZ246IGNlbnRlcjtsaW5lLWhlaWdodDogMDt9LmxiLWNhbmNlbCB7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDMycHg7aGVpZ2h0OiAzMnB4O21hcmdpbjogMCBhdXRvO2JhY2tncm91bmQ6IHVybChsaWdodGJveC9sb2FkaW5nLmdpZikgbm8tcmVwZWF0O30ubGItbmF2IHtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7aGVpZ2h0OiAxMDAlO3dpZHRoOiAxMDAlO3otaW5kZXg6IDEwO30ubGItY29udGFpbmVyID4gLm5hdiB7bGVmdDogMDt9LmxiLW5hdiBhIHtvdXRsaW5lOiBub25lO2JhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFQQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PScpO30ubGItcHJldiwgLmxiLW5leHQge2hlaWdodDogMTAwJTtjdXJzb3I6IHBvaW50ZXI7ZGlzcGxheTogYmxvY2s7fS5sYi1uYXYgYS5sYi1wcmV2IHt3aWR0aDogMzQlO2xlZnQ6IDA7ZmxvYXQ6IGxlZnQ7YmFja2dyb3VuZDogdXJsKGxpZ2h0Ym94L3ByZXYucG5nKSBsZWZ0IDQ4JSBuby1yZXBlYXQ7ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtvcGFjaXR5OiAwOy13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOy1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOy1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC42czt0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7fS5sYi1uYXYgYS5sYi1wcmV2OmhvdmVyIHtmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7b3BhY2l0eTogMTt9LmxiLW5hdiBhLmxiLW5leHQge3dpZHRoOiA2NCU7cmlnaHQ6IDA7ZmxvYXQ6IHJpZ2h0O2JhY2tncm91bmQ6IHVybChsaWdodGJveC9uZXh0LnBuZykgcmlnaHQgNDglIG5vLXJlcGVhdDtmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApO29wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7LW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO3RyYW5zaXRpb246IG9wYWNpdHkgMC42czt9LmxiLW5hdiBhLmxiLW5leHQ6aG92ZXIge2ZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtvcGFjaXR5OiAxO30ubGItZGF0YUNvbnRhaW5lciB7bWFyZ2luOiAwIGF1dG87cGFkZGluZy10b3A6IDVweDsqem9vbTogMTt3aWR0aDogMTAwJTstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4Oy13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDstd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDt9LmxiLWRhdGFDb250YWluZXI6YWZ0ZXIge2NvbnRlbnQ6ICIiO2Rpc3BsYXk6IHRhYmxlO2NsZWFyOiBib3RoO30ubGItZGF0YSB7cGFkZGluZzogMCA0cHg7Y29sb3I6ICNjY2M7fS5sYi1kYXRhIC5sYi1kZXRhaWxzIHt3aWR0aDogODUlO2Zsb2F0OiBsZWZ0O3RleHQtYWxpZ246IGxlZnQ7bGluZS1oZWlnaHQ6IDEuMWVtO30ubGItZGF0YSAubGItY2FwdGlvbiB7Zm9udC1zaXplOiAxM3B4O2ZvbnQtd2VpZ2h0OiBib2xkO2xpbmUtaGVpZ2h0OiAxZW07fS5sYi1kYXRhIC5sYi1udW1iZXIge2Rpc3BsYXk6IGJsb2NrO2NsZWFyOiBsZWZ0O3BhZGRpbmctYm90dG9tOiAxZW07Zm9udC1zaXplOiAxMnB4O2NvbG9yOiAjOTk5OTk5O30ubGItZGF0YSAubGItY2xvc2Uge2Rpc3BsYXk6IGJsb2NrO2Zsb2F0OiByaWdodDt3aWR0aDogMzBweDtoZWlnaHQ6IDMwcHg7YmFja2dyb3VuZDogdXJsKGxpZ2h0Ym94L2Nsb3NlLnBuZykgdG9wIHJpZ2h0IG5vLXJlcGVhdDt0ZXh0LWFsaWduOiByaWdodDtvdXRsaW5lOiBub25lO2ZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApO29wYWNpdHk6IDAuNzstd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yczstbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yczstby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO30ubGItZGF0YSAubGItY2xvc2U6aG92ZXIge2N1cnNvcjogcG9pbnRlcjtmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7b3BhY2l0eTogMTt9CgovKgogKiAJTml2byBMaWdodGJveAogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoKLyoqIE5pdm8gTGlnaHRib3ggdjEuMi4wKiBodHRwOi8vZGV2N3N0dWRpb3MuY29tL25pdm8tbGlnaHRib3gqKiBDb3B5cmlnaHQgMjAxMywgRGV2N3N0dWRpb3MqIEZyZWUgdG8gdXNlIGFuZCBhYnVzZSB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocCovLm5pdm8tbGlnaHRib3gtb3ZlcmxheSB7cG9zaXRpb246IGZpeGVkO3RvcDogMDtsZWZ0OiAwO3otaW5kZXg6IDk5OTk4O3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtvdmVyZmxvdzogaGlkZGVuO3Zpc2liaWxpdHk6IGhpZGRlbjtvcGFjaXR5OiAwOy13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDstbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7Ym94LXNpemluZzogYm9yZGVyLWJveDt9Lm5pdm8tbGlnaHRib3gtb3ZlcmxheS5uaXZvLWxpZ2h0Ym94LW9wZW4ge3Zpc2liaWxpdHk6IHZpc2libGU7b3BhY2l0eTogMTt9Lm5pdm8tbGlnaHRib3gtd3JhcCAge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDEwJTtib3R0b206IDEwJTtsZWZ0OiAxMCU7cmlnaHQ6IDEwJTt9Lm5pdm8tbGlnaHRib3gtY29udGVudCB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO30ubml2by1saWdodGJveC10aXRsZS13cmFwIHtwb3NpdGlvbjogYWJzb2x1dGU7Ym90dG9tOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7ei1pbmRleDogOTk5OTk7dGV4dC1hbGlnbjogY2VudGVyO30ubml2by1saWdodGJveC1uYXYgeyBkaXNwbGF5OiBub25lOyB9Lm5pdm8tbGlnaHRib3gtcHJldiB7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO2xlZnQ6IDA7fS5uaXZvLWxpZ2h0Ym94LW5leHQge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDUwJTtyaWdodDogMDt9Lm5pdm8tbGlnaHRib3gtY2xvc2Uge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDMlO3JpZ2h0OiAyJTt9Lm5pdm8tbGlnaHRib3gtaW1hZ2UgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0ubml2by1saWdodGJveC1pbWFnZSBpbWcge21heC13aWR0aDogMTAwJTttYXgtaGVpZ2h0OiAxMDAlO3dpZHRoOiBhdXRvO2hlaWdodDogYXV0bzt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO30ubml2by1saWdodGJveC1jb250ZW50IGlmcmFtZSB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO30ubml2by1saWdodGJveC1pbmxpbmUsLm5pdm8tbGlnaHRib3gtYWpheCB7bWF4LWhlaWdodDogMTAwJTtvdmVyZmxvdzogYXV0bzstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7LyogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA4ODAxICovfS5uaXZvLWxpZ2h0Ym94LWVycm9yIHtkaXNwbGF5OiB0YWJsZTt0ZXh0LWFsaWduOiBjZW50ZXI7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO2NvbG9yOiAjZmZmO3RleHQtc2hhZG93OiAwIDFweCAxcHggIzAwMDt9Lm5pdm8tbGlnaHRib3gtZXJyb3IgcCB7ZGlzcGxheTogdGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO30vKiBFZmZlY3RzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8ubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWRlLC5uaXZvLWxpZ2h0Ym94LW5vdG91Y2ggLm5pdm8tbGlnaHRib3gtZWZmZWN0LWZhZGVTY2FsZSwubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZUxlZnQsLm5pdm8tbGlnaHRib3gtbm90b3VjaCAubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVSaWdodCwubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZVVwLC5uaXZvLWxpZ2h0Ym94LW5vdG91Y2ggLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93biwubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWxsIHstd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O30vKiBmYWRlU2NhbGUgKi8ubml2by1saWdodGJveC1lZmZlY3QtZmFkZVNjYWxlIC5uaXZvLWxpZ2h0Ym94LXdyYXAgey13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7LW1vei10cmFuc2l0aW9uOiBhbGwgMC4zczstbXMtdHJhbnNpdGlvbjogYWxsIDAuM3M7LW8tdHJhbnNpdGlvbjogYWxsIDAuM3M7dHJhbnNpdGlvbjogYWxsIDAuM3M7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNyk7LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNyk7LW1zLXRyYW5zZm9ybTogc2NhbGUoMC43KTt0cmFuc2Zvcm06IHNjYWxlKDAuNyk7fS5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWRlU2NhbGUubml2by1saWdodGJveC1vcGVuIC5uaXZvLWxpZ2h0Ym94LXdyYXAgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTstbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7LW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7dHJhbnNmb3JtOiBzY2FsZSgxKTt9Lyogc2xpZGVMZWZ0IC8gc2xpZGVSaWdodCAvIHNsaWRlVXAgLyBzbGlkZURvd24gKi8ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVMZWZ0IC5uaXZvLWxpZ2h0Ym94LXdyYXAsLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlUmlnaHQgLm5pdm8tbGlnaHRib3gtd3JhcCwubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVVcCAubml2by1saWdodGJveC13cmFwLC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZURvd24gLm5pdm8tbGlnaHRib3gtd3JhcCB7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7LW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7LW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjUsIDAuNSwgMC45KTstby10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7dHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNSwgMC41LCAwLjkpO30ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVMZWZ0IC5uaXZvLWxpZ2h0Ym94LXdyYXAgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO30ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVSaWdodCAubml2by1saWdodGJveC13cmFwIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO30ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVMZWZ0Lm5pdm8tbGlnaHRib3gtb3BlbiAubml2by1saWdodGJveC13cmFwLC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZVJpZ2h0Lm5pdm8tbGlnaHRib3gtb3BlbiAubml2by1saWdodGJveC13cmFwIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9Lm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93biAubml2by1saWdodGJveC13cmFwIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTt9Lm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlVXAgLm5pdm8tbGlnaHRib3gtd3JhcCB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTt9Lm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlVXAubml2by1saWdodGJveC1vcGVuIC5uaXZvLWxpZ2h0Ym94LXdyYXAsLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93bi5uaXZvLWxpZ2h0Ym94LW9wZW4gLm5pdm8tbGlnaHRib3gtd3JhcCB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fS8qIGZhbGwgKi8ubml2by1saWdodGJveC1ib2R5LWVmZmVjdC1mYWxsIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWxsIHstd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7LW1vei1wZXJzcGVjdGl2ZTogMTAwMHB4O3BlcnNwZWN0aXZlOiAxMDAwcHg7fS5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWxsIC5uaXZvLWxpZ2h0Ym94LXdyYXAgey13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7LW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDstbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7LW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMzAwcHgpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDMwMHB4KTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDMwMHB4KTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMzAwcHgpO30ubml2by1saWdodGJveC1lZmZlY3QtZmFsbC5uaXZvLWxpZ2h0Ym94LW9wZW4gLm5pdm8tbGlnaHRib3gtd3JhcCB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7fQovKiogTml2byBMaWdodGJveCBEZWZhdWx0IFRoZW1lIHYxLjAqIGh0dHA6Ly9kZXY3c3R1ZGlvcy5jb20vbml2by1saWdodGJveCoqIENvcHlyaWdodCAyMDEzLCBEZXY3c3R1ZGlvcyogRnJlZSB0byB1c2UgYW5kIGFidXNlIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4qIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwKi8ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0Lm5pdm8tbGlnaHRib3gtb3ZlcmxheSB7IGJhY2tncm91bmQ6ICM2NjY7YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpOyB9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1jb250ZW50Lm5pdm8tbGlnaHRib3gtbG9hZGluZyB7IGJhY2tncm91bmQ6IHVybChuaXZvbGlnaHRib3gtdGhlbWVzL2RlZmF1bHQvbG9hZGluZy5naWYpIG5vLXJlcGVhdCA1MCUgNTAlOyB9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1uYXYge3RvcDogMTAlO3dpZHRoOiA4JTtoZWlnaHQ6IDgwJTt0ZXh0LWluZGVudDogLTk5OTlweDtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7b3BhY2l0eTogMC41O30ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LW5hdjpob3ZlciB7IG9wYWNpdHk6IDE7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC41KTt9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1wcmV2IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKG5pdm9saWdodGJveC10aGVtZXMvZGVmYXVsdC9wcmV2LnBuZyk7IGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO30ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LW5leHQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobml2b2xpZ2h0Ym94LXRoZW1lcy9kZWZhdWx0L25leHQucG5nKTsgYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7fS5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtY2xvc2Uge2Rpc3BsYXk6IGJsb2NrO2JhY2tncm91bmQ6IHVybChuaXZvbGlnaHRib3gtdGhlbWVzL2RlZmF1bHQvY2xvc2UucG5nKSBuby1yZXBlYXQgNXB4IDVweDt3aWR0aDogNDBweDtoZWlnaHQ6IDQ1cHg7dGV4dC1pbmRlbnQ6IC05OTk5cHg7cGFkZGluZzogNXB4O29wYWNpdHk6IDAuNTt9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1jbG9zZTpob3ZlciB7IG9wYWNpdHk6IDE7IH0ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LXRpdGxlLXdyYXAgeyBib3R0b206IC03JTsgfS5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtdGl0bGUge2ZvbnQ6IDE0cHgvMjBweCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO2ZvbnQtc3R5bGU6IG5vcm1hbDtmb250LXdlaWdodDogbm9ybWFsO2JhY2tncm91bmQ6ICMwMDA7Y29sb3I6ICNmZmY7cGFkZGluZzogN3B4IDE1cHg7Ym9yZGVyLXJhZGl1czogMzBweDt9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1pbWFnZSBpbWcge2JhY2tncm91bmQ6ICNmZmY7LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuNCk7LW1vei1ib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuNCk7Ym94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjQpO30ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LWFqYXgsLm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1pbmxpbmUge2JhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogNDBweDstd2Via2l0LWJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwwLDAsMC40KTstbW96LWJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwwLDAsMC40KTtib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuNCk7fUBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLCgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjYvMiksKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwobWluLXJlc29sdXRpb246IDEuM2RwcHgpIHsubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LWNvbnRlbnQubml2by1saWdodGJveC1sb2FkaW5nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKG5pdm9saWdodGJveC10aGVtZXMvZGVmYXVsdC9sb2FkaW5nXzJ4LmdpZik7IGJhY2tncm91bmQtc2l6ZTogMzJweCAzMnB4O30ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LXByZXYgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobml2b2xpZ2h0Ym94LXRoZW1lcy9kZWZhdWx0L3ByZXZfMngucG5nKTsgYmFja2dyb3VuZC1zaXplOiA0OHB4IDQ4cHg7fS5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtbmV4dCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChuaXZvbGlnaHRib3gtdGhlbWVzL2RlZmF1bHQvbmV4dF8yeC5wbmcpOyBiYWNrZ3JvdW5kLXNpemU6IDQ4cHggNDhweDt9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1jbG9zZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChuaXZvbGlnaHRib3gtdGhlbWVzL2RlZmF1bHQvY2xvc2VfMngucG5nKTsgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7fX0KLyoKICogCXl0cGxheWVyCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qanF1ZXJ5Lm1iLllUUGxheWVyIDExLTA1LTIwMTcKIF8ganF1ZXJ5Lm1iLmNvbXBvbmVudHMgCiBfIGVtYWlsOiBtYXR0ZW9Ab3Blbi1sYWIuY29tIAogXyBDb3B5cmlnaHQgKGMpIDIwMDEtMjAxNy4gTWF0dGVvIEJpY29jY2hpIChQdXB1bnppKTsgCiBfIGJsb2c6IGh0dHA6Ly9wdXB1bnppLm9wZW4tbGFiLmNvbSAKIF8gT3BlbiBMYWIgcy5yLmwuLCBGbG9yZW5jZSAtIEl0YWx5IAogKi8KQGNoYXJzZXQiVVRGLTgiOy5tYl9ZVFBCYXIsLm1iX1lUUEJhciBzcGFuLm1iX1lUUFVybCBhe2NvbG9yOiNmZmZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTp5dHByZWd1bGFyO3NyYzp1cmwoZm9udHMveXRwLXJlZ3VsYXIudHRmKX1AZm9udC1mYWNle2ZvbnQtZmFtaWx5Onl0cHJlZ3VsYXI7c3JjOnVybChkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGQwOUdSZ0FCQUFBQUFBNXNBQkVBQUFBQUZDQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFCZ0FBQUFCd0FBQUFjWjlpdU5VZEVSVVlBQUFHY0FBQUFIUUFBQUNBQWRBQUVUMU12TWdBQUFid0FBQUJKQUFBQVlIVU1VckZqYldGd0FBQUNDQUFBQUtrQUFBR0tuNVh5Y1dOMmRDQUFBQUswQUFBQU5nQUFBRFlOTFFvaFpuQm5iUUFBQXV3QUFBR3hBQUFDWlZPMEw2ZG5ZWE53QUFBRW9BQUFBQWdBQUFBSUFBQUFFR2RzZVdZQUFBU29BQUFHVlFBQUI0ano4NmRTYUdWaFpBQUFDd0FBQUFBekFBQUFOZ2JLT05wb2FHVmhBQUFMTkFBQUFDQUFBQUFrRVNRTFhHaHRkSGdBQUF0VUFBQUFWQUFBQVJ4T213VndiRzlqWVFBQUM2Z0FBQUFqQUFBQWtGb0VYUlJ0WVhod0FBQUx6QUFBQUNBQUFBQWdBV29CNjI1aGJXVUFBQXZzQUFBQSt3QUFBZW9rM0ViK2NHOXpkQUFBRE9nQUFBREFBQUFCTjk5dHYxbHdjbVZ3QUFBTnFBQUFBTGtBQUFGWTNJNmlrbmRsWW1ZQUFBNWtBQUFBQmdBQUFBYkhNbEduQUFBQUFRQUFBQURNUGFMUEFBQUFBTTNOazdRQUFBQUF6YzEzc1hqYVkyQmtZR0RnQTJJSkJoQmdZbUFFUWpjZ1pnSHpHQUFIVEFCNUFBQUFlTnBqWUdiWndEaUJnWldCaGRXWTVTd0RBOE1zQ00xMGxpR05LUTNJQjByQkFTTURFZ2oxRHZkamNHRGdmY0RBbHZZUHFKSlZsZEVacG9aVmt1VVprRkpnWUFRQVVVVUxld0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFhQUh5R01GOEZvWU1JQzNHSUFBVVlRT3llQmtVR0tJWXFoZ1dLSEFwNkN2RVAyRDQveCtzQXlUdXlKQUlGR2VBaXpQKy8vci84Zi9ELy9mK24vSEE4b0hvL1djS2JsRHpzUUJHb09rd1NVWW1JTUdFcmdEaVJMeUFoWldObllPVGk1dUhsNDlmUUZCSVdFUlVURnhDVWtwYVJoWWlMeWV2b0tpa3JLS3FwcTZocWFXdG82dW5iMkJvWkd4aWFtYk9RRjFnUVpZdUFJUW5INElBQUFBQUFBQUFBQUFCZWdFbkFIRUFzd0M5QU9BQTVRRCtBUmNCSXdCZEFISUJ0Z0JjQUdBQVpnQnlBSThBb2dFckFiSUFVd0JFQlJFQUFIamFYVkc3VGx0QkVOME5Ed09CeE5nZ09kb1VzNW1ReG51aEJRbkUxWTFpWkR1RjVRaHBOM0tSaTNFQkgwQ0JSQTNhcnhtZ29hUkltd1loRjBoOFFqNGhFak5yaUtJME96dXpjODZaTTB2S2thcDM2V3ZQVStja2tNTGRCczAyL1U1SXRiTUE5NlRyNjQyTXRJTUhXbXhtOU1wMSsvNExCcHZSbER0cUFPVTlieWtQR1UwN2dWcTBwLzdSL0FxRysvd2Y4enNZdERUVDlOUTZDZWtoQk9hYmNVdUQ3eG5OdXNzUCtvTFY0V0l3TUtTWXB1SXVQNlpTL3JjMDUyckxzTFdSMGJ5RE14SDV5VFJBVTJ0dEJKcisxQ0hWODNFVVM1RExwckUybUppeS9pUVR3WVhKZEZWVHRjejQyc0Zkc3JQb1lJTXF6WUVIMk1OV2VRd2VEZzhtRk5LM0pNb3NEUkgyWXF2RUNCR1RIQW81NWR6Si9xUkErVWdTeHJ4SlNqdmpoclVHeHBIWHdLQTJUN1AvUEp0TmJXOGR3dmhaSE1GM3Z4bExPdmpJaHRvWUVXSTdZaW1BQ1VSQ1JsWDVoaHJQdlN3RzVGTDd6MENVZ09YeGozK2RDTFR1MkVROGw3VjFEakZXQ0hwKzI5enl5NHE3VnJuT2kwSjNiNnBxcU5JcHpmdGV6cjdIQTU0ZUM4TkJZOEdiei92K1NvSDZQQ3l1TkdnT0JFTjZOM3Ivb3JYcWlLdThGejZ5SjlPL3NWb0FBQUFBQVFBQi8vOEFEM2phVFpWcmJCeFhGY2Z2dWZOZTcyTm1keDc3dG1mSE8yTjc2MTE3Nzg0T1RyMTU0WUFiUjdSUXVVUWh0dG9TdVhaS0ZRVktLWXFnaUZKQWdrcElrVkNsSW44b3BTb21qWFkzVkhIVEZsZEVJWXBheTFoUitJRDRCaGEyN0ZvSUVRR3BkOElkdTRsWTdjNmVPZmVlLy8yZjMremVpekFhUXdpZjRpWVJnd1JVYmdHcWpMWUZOdlZ4dGNWemZ4bHRNNWlHcU1VRWFTNUl0d1UrdlRQYWhpQlBGRk1wbW9vNWhudjhYbmpGbitVbTcveG1qRjFHQ0xIb1BmK2Znc1VWRVljU0tJY0drWWJhV1l4S0xaM2JnR2E1MHFwQUNRME5leVlvWUlMYURUcXB1clVLMkZaQlVZbEpZOHVrRWMwZWdMcGJvK2tZOE8vQlFjeDJkdndQMkZoNi9RK0dsMTlmeXJvdWJIbWVyN3JwakhsbFBaL05LQit0cDIvNC9UenhTeDB6by83NHVVWTI5dkpaT0VISWZuZzRseno3Y2p5WHpuL2pKd3FDd0NPTGRqMmlQU1AzRi9oVUFIRjN2K0N2aWVlNURJcWhKRExSQUNMb1BHcEhFQ3ExTTdTZDVpRFovVzZ6UVc4bXU5RWNxbDdTSTZ4WWFpT3BueEN5ZHdQTldxV0ovdFNTalkxbXF0cVU1WllOcFdhbDJwSmlHeTBYU2kxYlZ1S1gxRnloMUd1TW9KWWVVZUp2eS9HRVZiVHBmVE9qSEpSVnpVaW0wdGxjd2VrYktEMVFyZ1I1TTk3T1Y4bkl5TWpRc0tQVUVLV0dORVZGRkJ3cUVzL3lITUVWRk1NMVBJYzRGaGlXUVZ4SGN4akQwenpYRWtnYm1IZTVHMWVBOVQ5NTU0NTN4ZCtCOXRicGk2dmoxMCtmdmo2K2V2SDBGanU3dlBEVTVzelZZOGV1em13K3RYQUJ2N2tFb3YvdjMzV092K3YvQzhMRzlNMnhEMTkvRXF1ekN5dUhWdVk2UjI1T2J6MzUrb2R3NE5ES3d1eldIQUs4NnE5eDIxd0tZWVFrakZlWjNNNWYvVFVtdzZRbzEyUCszOFdmMHpFWnBWQUJsVkFOZlF1MW93SFhYTUQxQWRJeVFodk5nZW91MmIxTEF1aEFrVnd5RXhScHMvcHBBRTIzMHFyVFgxTXJFVlhpbDVXNHFsbTl0aE1BTXBSMk10VkhBYlhNbkJKdlo4b1ZHamRaNVhLNnU2Y3dORXhxZE5KOWRubTREKzhlSWVZZU03aEgwYjNIOWJjUXVjemRlSDc1ZWYrVHhUdmVPLzV0dURLMk1yczVkK0htelF0em03TXJiUDZacXhNcnJ6Mit2ZjM0YXlzVFY1KzVpTjlZaE1pNTFXOTNUaXo1L3dGcCt1ankvTW50R1h4K2RmcmpxZmxyTzc4OE9iOTg5TWFNUDcxNitOcjhGT3BDamJ2bncwMzJCVXJtODJnS2ZRYzEwU0phQXd3WkdJTkhFVXJrc2FFbmRJM1hDcHBCYXZXYVU3TnJkYS91N1FmUHNubUJGMVJlSzROakN4YmtnVlJKZFcvTWRtaXlqSGtoQ2dLdkdrck5xK3VHbmdQTFVEWFZpb0pUY0d4T05XZ3VFTk9JWW1rcTFsUXFhRHUycTFBcUtpNnFSaDZDTjB1cWhsa24xV0l3dDFaM0ZUcUg2bHQya1dMa3FacFEyRjFINEQzWDFDekZVa0NwMVI4RVZhZUtHcjNtZ1hweWQzT0taVGNnaW9NaTNxSW1xQTJGYUZTWXJrSGQ3QllFU25TTWRxQXgxSE5nZy82cEcwQm85NVJBR2VocW9OQXVhUkhSOTB3R2RYeUp0a0FKMUR4U0RWUUNmUzhvY3VpK0VvaHFhZ05qRnJvbml5TEFPWWJCZ3ZTUXh1WHhpVVNDR1FYUmVKQm5qYWZoYmY2eEJzOFA5WmNsTExKZFRKZmRMM2JMUnNnZDUwTmY1MlA3SklXakluWXFGdVpoVUdFcnVjRjBRai96Tkp0UEdBckR6N0VZRmkwY2h2U3B3OEMvbUpSZ1JWTGZnckVmN1J2b3doeWpKM0pQZlBsWC9oOE4vNmZacnlYN2JoL3BKc1BqNFFMWDlSYTg5TkwzUVFrbGptT3Fub2duVTZIY3hLa29JL0pzYUo4Y0RjZkNxWkFNQzJjZkZlU29IdStXRkVtV3pJUXF4OFBWbUNUaFNGcVBLcUxJc2d4SngwUVladDFpb2NqZ2ZyUGJqSW9pbHRrWHh6eFRsRTVGVlRMMXpiN1ltVE9TelhHaUVCVTBaZ0h6WGV4amQ5SGtsRHRUYzJQN2lSNC9XbXFrL2pHaGZaWGpaVzFiWUZWcDN5MDFHK29jcmgvSzlWU1QzKzA1T1VzYUVuQVlHS1pSZldJcERRYVhUMkVqMi92Q2wxUzVuTmU3akhxNWVDQWxNN3JPcEZ4OFBQMVpmL056Q1Vka3BYalVoSG1kZmRpL1h2MzFENldjY1BBSURqTk1tUG5CekMrRXJBaXBaelBmKytMa1F5R1JoVERFcENOa2JtTHB6ODg5MnptRTMrOHN3cTFZT0RJcWYyWjdsTzhSZEpIbjdSUzhrcFk2cjBxaEFnN3hYSUhuaFZpdSt6QkRiaGN4MTZVT2ZHVmdhR2tvWGU2TGh3UytoN05nU2ErdlI3RVNadlB5cTZWVXFOK1NDMFpTVFBtM29FVEdveEdJaC9wNjB3M25hSXlKL0d5d2Y5Q01ubkFlbVIzNTI0aFQ1REVyeE93QmhSNTVDT013M2UrdTBUMHRPRXNSMEpNeCtOQkhmdEQvQUorRC9mN3YvVFcrOXQrUCtCbzllLzd2Tll6K0J5NkZzS2tBQUFCNDJtTmdaR0JnWUdSd2JJOElXaHpQYi9PVlFaNkRBUVRPbmkzZkNLUC8rL3g3eXJPQk5SVEk1V0JnQW9rQ0FHM21EYkFBZU5wallHUmdZRlg5dDVlQmdlZnRmNS8vV1R3YkdJQWlLTUFkQUp5Y0JwaDQybU42dytEQ3djREFBTUlzWjhEMEhoQk5MSWFwNTJENDc4ZkJ3SFFSeXZiQnBaN25MWU10S2VaanQ1T0poeFQxVEtzWUdGaERFVFRqY1NBRzBneVBvUmdvemlnSXBMMGhORWlPQmNnRkFFQm9OQzE0Mm1OZ1lOQ0J3am9jY0FMREJFWTlSaHNnUElNTW1aY1JoSHRJaGtjQTlwUXNwQUFBQVFBQUFFY0JWQUFMQUFBQUFBQUNBQUVBQWdBV0FBQUJBQUNUQUFBQUFIamFsWkN4VGdKQkZFWFBBcEpvWVlnRjlWWlVTSUFGVGREQ25taUlnc1RLc0FTUXVHaUN1MFlhQ3I0T2ZvbUtPenNUQ0hSbU16UG4zYmx6MzhzQ0Z5eko0dVhPZ2JLV1pZKzhLc3NaTHFrN3prcDljSnlqU09UNGpEOVdqdlBTdDQ2dktIb0Z4MnR4eWZHR3FuZlBPMThreW9oU0dqQmpKUHFSRm1xUG1Xb2xXa1o5bzB1SFovRWtmVE5nVG8wS1ZYMDE3dWpScHMrVHlEcXZUN3hXOVUvVVYxVno5WnJ5clFuOG84UU9MMUpzZFZBLzVJd1pwdjdmL1lzS1RXNTBPMVBxcHpLTlp5dzFVbktvdjJjOWRia0Q3YzEvemRoWEZTck5kSXozSGJ1YUpGSDFLTTlDWnlETjNOM1NvaUZ1cGZQNjZtYk9ZQWQ4azBFR0FIamFiYzA1VHdKaEhJVHhaMEJCQmMvUDRJa0k3eTRzaDBkQnNvc0hLaXFIZUxVaWlURTBGSDU2WGRsLzZUUy9aSW9aVXN6ek0rYWQvM0lPU2lsTm1tMTIyR1dQZlE0b2NFaVJJMHFVY1hqNFZLZ1NVS05PZ3liSG5IREtHU0VSN1hqamdrdXU2SERORGJkMHVlT2VCM3IwR1REa2tSRlBQUFBDSzI5YTBLSXl5bXBKeTFwUlRubXRhazNyMnRDbXRqTGp6Ky9waDVlZGZVMmNjMkZpeS8zcHg0WHBtYjVaTWF0bVlOYk11dGt3bTJZcjBXOG5Cbk9qK09jWFZEazBQbmphUmM2N0RvSkFFQVZRRnVUOWZxc0pDU1oyK3cxMlFrTmpyQ0N4OXcrc2JTeTE5RHNHSy85T2IzUlp1amszazduelpwOGJzYnZTa1hYb1I4WWV3OWdhdk45UU5IU1VIVEZjaDRvTWZ1b1YwdXFHTkw0bnYyNWVtcTN5SHp6QUR3VmN3T3NGSE1DdEJXekFXUWxZZ0owSW1JQTFyUm1BZVJiUUFXTTZ2UUQwNEE5R2dYZ2xSQm80S2grMTlnSkdZRGd6QnFPblpBTEdPOGtVVExhU0daaFdram1ZclNVTE1BOGtTN0NZaTVaZ0tUbFF4ci9XMUY1YUFBQUFBQUZScDhjeEFBQT0pZm9ybWF0KCd3b2ZmJyksdXJsKGZvbnRzL3l0cC1yZWd1bGFyLnR0Zilmb3JtYXQoJ3RydWV0eXBlJyk7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfS5tYl9ZVFBsYXllcjpmb2N1c3tvdXRsaW5lOjB9LllUUFdyYXBwZXJ7ZGlzcGxheTpibG9jazt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKXRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7cGVyc3BlY3RpdmU6MTAwMDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWJfWVRQbGF5ZXIgLmxvYWRpbmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtmb250LXNpemU6MTJweDtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNTEpO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MnB4IDRweDtib3JkZXItcmFkaXVzOjVweDtmb250LWZhbWlseToiRHJvaWQgU2FucyIsc2Fucy1zZXJpZjstd2Via2l0LWFuaW1hdGlvbjpmYWRlIC4xcyBpbmZpbml0ZSBhbHRlcm5hdGU7YW5pbWF0aW9uOmZhZGUgLjFzIGluZmluaXRlIGFsdGVybmF0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZXswJXtvcGFjaXR5Oi41fTEwMCV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGZhZGV7MCV7b3BhY2l0eTouNX0xMDAle29wYWNpdHk6MX19LllUUEZ1bGxzY3JlZW57ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDoxMDAlIWltcG9ydGFudDt0b3A6MCFpbXBvcnRhbnQ7bGVmdDowIWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O29wYWNpdHk6MSFpbXBvcnRhbnQ7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tYllUUF93cmFwcGVyIGlmcmFtZXttYXgtd2lkdGg6NDAwMHB4IWltcG9ydGFudH0uaW5saW5lX1lUUGxheWVye21hcmdpbi1ib3R0b206MjBweDt2ZXJ0aWNhbC1hbGlnbjp0b3A7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO292ZXJmbG93OmhpZGRlbjtib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjAgMCA1cHggcmdiYSgwLDAsMCwuNyk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41KX0uaW5saW5lX1lUUGxheWVyIGltZ3tib3JkZXI6bm9uZSFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7dHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50fS5tYl9ZVFBCYXIsLm1iX1lUUEJhciAuYnV0dG9uQmFye2JveC1zaXppbmc6Ym9yZGVyLWJveDtsZWZ0OjA7cGFkZGluZzo1cHg7d2lkdGg6MTAwJX0ubWJfWVRQQmFyIC55dHBpY29ue2ZvbnQtc2l6ZToyMHB4O2ZvbnQtZmFtaWx5Onl0cHJlZ3VsYXJ9Lm1iX1lUUEJhciAubWJfWVRQVXJsLnl0cGljb257Zm9udC1zaXplOjMwcHh9Lm1iX1lUUEJhcnt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwcHg7YmFja2dyb3VuZDojMzMzO3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3RleHQtYWxpZ246bGVmdDt6LWluZGV4OjEwMDA7Zm9udDoxNHB4LzE2cHggc2Fucy1zZXJpZjtvcGFjaXR5Oi4xfS5tYl9ZVFBCYXIudmlzaWJsZSwubWJfWVRQQmFyOmhvdmVye29wYWNpdHk6MX0ubWJfWVRQQmFyIC5idXR0b25CYXJ7dHJhbnNpdGlvbjphbGwgLjVzO2JhY2tncm91bmQ6MCAwO2ZvbnQ6MTJweC8xNHB4IENhbGlicmk7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0zMHB4O2hlaWdodDo0MHB4fS5tYl9ZVFBCYXI6aG92ZXIgLmJ1dHRvbkJhcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS5tYl9ZVFBCYXIgc3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztmb250OjE2cHgvMjBweCBDYWxpYnJpLHNhbnMtc2VyaWY7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MzBweDtoZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1iX1lUUEJhciBzcGFuLm1iX1lUUFRpbWV7d2lkdGg6MTMwcHh9Lm1iX1lUUEJhciBzcGFuLm1iX09ubHlZVCwubWJfWVRQQmFyIHNwYW4ubWJfWVRQVXJse3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOmF1dG87ZGlzcGxheTpibG9jazt0b3A6NnB4O3JpZ2h0OjEwcHg7Y3Vyc29yOnBvaW50ZXJ9Lm1iX1lUUEJhciBzcGFuLm1iX1lUUFVybCBpbWd7d2lkdGg6NjBweH0ubWJfWVRQQmFyIHNwYW4ubWJfT25seVlUe2xlZnQ6MzAwcHg7cmlnaHQ6YXV0b30ubWJfWVRQQmFyIHNwYW4ubWJfT25seVlUIGltZ3t3aWR0aDoyNXB4fS5tYl9ZVFBCYXIgLm1iX1lUUE11dGVVbm11dGUsLm1iX1lUUEJhciAubWJfWVRQUGxheXBhdXNlLC5tYl9ZVFBsYXllciAubWJfWVRQQmFyIC5tYl9ZVFBQbGF5cGF1c2UgaW1ne2N1cnNvcjpwb2ludGVyfS5tYl9ZVFBCYXIgLm1iX1lUUFByb2dyZXNze2hlaWdodDoxMHB4O3dpZHRoOjEwMCU7YmFja2dyb3VuZDojMjIyO2JvdHRvbTowO2xlZnQ6MH0ubWJfWVRQQmFyIC5tYl9ZVFBMb2FkZWR7aGVpZ2h0OjEwcHg7d2lkdGg6MDtiYWNrZ3JvdW5kOiM0NDQ7bGVmdDowfS5tYl9ZVFBCYXIgLm1iX1lUUHNlZWtiYXJ7aGVpZ2h0OjEwcHg7d2lkdGg6MDtiYWNrZ3JvdW5kOiNiYjExMGU7Ym90dG9tOjA7bGVmdDowO2JveC1zaGFkb3c6cmdiYSg4Miw4Miw4MiwuNDcpMXB4IDFweCAzcHh9Lm1iX1lUUEJhciAuWVRQT3ZlcmxheXtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiJmbGF0Ijtib3gtc2l6aW5nOmJvcmRlci1ib3h9LllUUE92ZXJsYXkucmFzdGVye2JhY2tncm91bmQ6dXJsKGltYWdlcy9yYXN0ZXIucG5nKX0uWVRQT3ZlcmxheS5yYXN0ZXIucmV0aW5he2JhY2tncm91bmQ6dXJsKGltYWdlcy9yYXN0ZXJAMngucG5nKX0uWVRQT3ZlcmxheS5yYXN0ZXItZG90e2JhY2tncm91bmQ6dXJsKGltYWdlcy9yYXN0ZXJfZG90LnBuZyl9LllUUE92ZXJsYXkucmFzdGVyLWRvdC5yZXRpbmF7YmFja2dyb3VuZDp1cmwoaW1hZ2VzL3Jhc3Rlcl9kb3RAMngucG5nKX0ubWJfWVRQQmFyIC5zaW1wbGVTbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO292ZXJmbG93OmhpZGRlbjtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luLXJpZ2h0OjEwcHg7Y3Vyc29yOnBvaW50ZXIhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6M3B4fS5tYl9ZVFBCYXIuY29tcGFjdCAuc2ltcGxlU2xpZGVye3dpZHRoOjQwcHh9Lm1iX1lUUEJhciAuc2ltcGxlU2xpZGVyLm11dGVke29wYWNpdHk6LjN9Lm1iX1lUUEJhciAubGV2ZWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1iX1lUUEJhciAubGV2ZWwuaG9yaXpvbnRhbHtoZWlnaHQ6MTAwJTt3aWR0aDowfS5tYl9ZVFBCYXIgLmxldmVsLnZlcnRpY2Fse2hlaWdodDphdXRvO3dpZHRoOjEwMCV9CgoKLyoKICogCUhvdmVyLmNzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiEKICogSG92ZXIuY3NzIChodHRwOi8vaWFubHVubi5naXRodWIuaW8vSG92ZXIvKQogKiBWZXJzaW9uOiAyLjAuMQogKiBBdXRob3I6IElhbiBMdW5uIEBJYW5MdW5uCiAqIEF1dGhvciBVUkw6IGh0dHA6Ly9pYW5sdW5uLmNvLnVrLwogKiBHaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9JYW5MdW5uL0hvdmVyCgogKiBNYWRlIGF2YWlsYWJsZSB1bmRlciBhIE1JVCBMaWNlbnNlOgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAoKICogSG92ZXIuY3NzIENvcHlyaWdodCBJYW4gTHVubiAyMDE0LiBHZW5lcmF0ZWQgd2l0aCBTYXNzLgogKi8KCiAuaHZyLWdyb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5odnItZ3JvdzphY3RpdmUsLmh2ci1ncm93OmZvY3VzLC5odnItZ3Jvdzpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfS5odnItc2hyaW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLXNocmluazphY3RpdmUsLmh2ci1zaHJpbms6Zm9jdXMsLmh2ci1zaHJpbms6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC45KTt0cmFuc2Zvcm06c2NhbGUoMC45KX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXB1bHNlezI1JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjkpO3RyYW5zZm9ybTpzY2FsZSgwLjkpfX1Aa2V5ZnJhbWVzIGh2ci1wdWxzZXsyNSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTt0cmFuc2Zvcm06c2NhbGUoMS4xKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC45KTt0cmFuc2Zvcm06c2NhbGUoMC45KX19Lmh2ci1wdWxzZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uaHZyLXB1bHNlOmFjdGl2ZSwuaHZyLXB1bHNlOmZvY3VzLC5odnItcHVsc2U6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItcHVsc2U7YW5pbWF0aW9uLW5hbWU6aHZyLXB1bHNlOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItcHVsc2UtZ3Jvd3t0b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX1Aa2V5ZnJhbWVzIGh2ci1wdWxzZS1ncm93e3Rvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9fS5odnItcHVsc2UtZ3Jvd3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uaHZyLXB1bHNlLWdyb3c6YWN0aXZlLC5odnItcHVsc2UtZ3Jvdzpmb2N1cywuaHZyLXB1bHNlLWdyb3c6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItcHVsc2UtZ3JvdzthbmltYXRpb24tbmFtZTpodnItcHVsc2UtZ3Jvdzstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdWxzZS1zaHJpbmt7dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC45KTt0cmFuc2Zvcm06c2NhbGUoMC45KX19QGtleWZyYW1lcyBodnItcHVsc2Utc2hyaW5re3Rvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOSk7dHJhbnNmb3JtOnNjYWxlKDAuOSl9fS5odnItcHVsc2Utc2hyaW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5odnItcHVsc2Utc2hyaW5rOmFjdGl2ZSwuaHZyLXB1bHNlLXNocmluazpmb2N1cywuaHZyLXB1bHNlLXNocmluazpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1wdWxzZS1zaHJpbms7YW5pbWF0aW9uLW5hbWU6aHZyLXB1bHNlLXNocmluazstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdXNoezUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjgpO3RyYW5zZm9ybTpzY2FsZSgwLjgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGh2ci1wdXNoezUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjgpO3RyYW5zZm9ybTpzY2FsZSgwLjgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0uaHZyLXB1c2h7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci1wdXNoOmFjdGl2ZSwuaHZyLXB1c2g6Zm9jdXMsLmh2ci1wdXNoOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXB1c2g7YW5pbWF0aW9uLW5hbWU6aHZyLXB1c2g7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjNzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjF9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wb3B7NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMik7dHJhbnNmb3JtOnNjYWxlKDEuMil9fUBrZXlmcmFtZXMgaHZyLXBvcHs1MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4yKTt0cmFuc2Zvcm06c2NhbGUoMS4yKX19Lmh2ci1wb3B7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci1wb3A6YWN0aXZlLC5odnItcG9wOmZvY3VzLC5odnItcG9wOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXBvcDthbmltYXRpb24tbmFtZTpodnItcG9wOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4zczthbmltYXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfS5odnItYm91bmNlLWlue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9Lmh2ci1ib3VuY2UtaW46YWN0aXZlLC5odnItYm91bmNlLWluOmZvY3VzLC5odnItYm91bmNlLWluOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMik7dHJhbnNmb3JtOnNjYWxlKDEuMik7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC40NywyLjAyLC4zMSwtLjM2KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC40NywyLjAyLC4zMSwtLjM2KX0uaHZyLWJvdW5jZS1vdXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uaHZyLWJvdW5jZS1vdXQ6YWN0aXZlLC5odnItYm91bmNlLW91dDpmb2N1cywuaHZyLWJvdW5jZS1vdXQ6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjQ3LDIuMDIsLjMxLC0uMzYpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjQ3LDIuMDIsLjMxLC0uMzYpfS5odnItcm90YXRle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLXJvdGF0ZTphY3RpdmUsLmh2ci1yb3RhdGU6Zm9jdXMsLmh2ci1yb3RhdGU6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNGRlZyl9Lmh2ci1ncm93LXJvdGF0ZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1ncm93LXJvdGF0ZTphY3RpdmUsLmh2ci1ncm93LXJvdGF0ZTpmb2N1cywuaHZyLWdyb3ctcm90YXRlOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSkgcm90YXRlKDRkZWcpO3RyYW5zZm9ybTpzY2FsZSgxLjEpIHJvdGF0ZSg0ZGVnKX0uaHZyLWZsb2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItZmxvYXQ6YWN0aXZlLC5odnItZmxvYXQ6Zm9jdXMsLmh2ci1mbG9hdDpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfS5odnItc2lua3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXNpbms6YWN0aXZlLC5odnItc2luazpmb2N1cywuaHZyLXNpbms6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1ib2J7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCl9fUBrZXlmcmFtZXMgaHZyLWJvYnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KX19QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1ib2ItZmxvYXR7MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfX1Aa2V5ZnJhbWVzIGh2ci1ib2ItZmxvYXR7MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfX0uaHZyLWJvYntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uaHZyLWJvYjphY3RpdmUsLmh2ci1ib2I6Zm9jdXMsLmh2ci1ib2I6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItYm9iLWZsb2F0LGh2ci1ib2I7YW5pbWF0aW9uLW5hbWU6aHZyLWJvYi1mbG9hdCxodnItYm9iOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4zcywxLjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3MsMS41czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTowcywuM3M7YW5pbWF0aW9uLWRlbGF5OjBzLC4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQsZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dCxlYXNlLWluLW91dDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSxpbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjEsaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbCxhbHRlcm5hdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWwsYWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItaGFuZ3swJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KX19QGtleWZyYW1lcyBodnItaGFuZ3swJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KX19QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1oYW5nLXNpbmt7MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KX19QGtleWZyYW1lcyBodnItaGFuZy1zaW5rezEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9fS5odnItaGFuZ3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uaHZyLWhhbmc6YWN0aXZlLC5odnItaGFuZzpmb2N1cywuaHZyLWhhbmc6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaGFuZy1zaW5rLGh2ci1oYW5nO2FuaW1hdGlvbi1uYW1lOmh2ci1oYW5nLXNpbmssaHZyLWhhbmc7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjNzLDEuNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4zcywxLjVzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjBzLC4zczthbmltYXRpb24tZGVsYXk6MHMsLjNzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dCxlYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0LGVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxLGluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSxpbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsLGFsdGVybmF0ZTthbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbCxhbHRlcm5hdGV9Lmh2ci1za2V3e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLXNrZXc6YWN0aXZlLC5odnItc2tldzpmb2N1cywuaHZyLXNrZXc6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtMTBkZWcpO3RyYW5zZm9ybTpza2V3KC0xMGRlZyl9Lmh2ci1za2V3LWZvcndhcmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDEwMCU7dHJhbnNmb3JtLW9yaWdpbjowIDEwMCV9Lmh2ci1za2V3LWZvcndhcmQ6YWN0aXZlLC5odnItc2tldy1mb3J3YXJkOmZvY3VzLC5odnItc2tldy1mb3J3YXJkOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTEwZGVnKTt0cmFuc2Zvcm06c2tldygtMTBkZWcpfS5odnItc2tldy1iYWNrd2FyZHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjAgMTAwJX0uaHZyLXNrZXctYmFja3dhcmQ6YWN0aXZlLC5odnItc2tldy1iYWNrd2FyZDpmb2N1cywuaHZyLXNrZXctYmFja3dhcmQ6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2tldygxMGRlZyk7dHJhbnNmb3JtOnNrZXcoMTBkZWcpfUAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXZlcnRpY2FsezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgaHZyLXdvYmJsZS12ZXJ0aWNhbHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uaHZyLXdvYmJsZS12ZXJ0aWNhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uaHZyLXdvYmJsZS12ZXJ0aWNhbDphY3RpdmUsLmh2ci13b2JibGUtdmVydGljYWw6Zm9jdXMsLmh2ci13b2JibGUtdmVydGljYWw6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItd29iYmxlLXZlcnRpY2FsO2FuaW1hdGlvbi1uYW1lOmh2ci13b2JibGUtdmVydGljYWw7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoOHB4KX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC02cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUBrZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoOHB4KX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC02cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fS5odnItd29iYmxlLWhvcml6b250YWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci13b2JibGUtaG9yaXpvbnRhbDphY3RpdmUsLmh2ci13b2JibGUtaG9yaXpvbnRhbDpmb2N1cywuaHZyLXdvYmJsZS1ob3Jpem9udGFsOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS1ob3Jpem9udGFsO2FuaW1hdGlvbi1uYW1lOmh2ci13b2JibGUtaG9yaXpvbnRhbDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfUAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDhweCw4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoOHB4LDhweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LC02cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoNHB4LDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg0cHgsNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsLTJweCl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDFweCwxcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfX1Aa2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0ezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoOHB4LDhweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4cHgsOHB4KX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCwtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsLTZweCl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg0cHgsNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDRweCw0cHgpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LC0ycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwtMnB4KX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDFweCwxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fS5odnItd29iYmxlLXRvLWJvdHRvbS1yaWdodHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ6YWN0aXZlLC5odnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDpmb2N1cywuaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDthbmltYXRpb24tbmFtZTpodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfUAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXRvLXRvcC1yaWdodHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDhweCwtOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDhweCwtOHB4KX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCw2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCw2cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoNHB4LC00cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoNHB4LC00cHgpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LDJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LDJweCl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fUBrZXlmcmFtZXMgaHZyLXdvYmJsZS10by10b3AtcmlnaHR7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4cHgsLThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4cHgsLThweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsNnB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDRweCwtNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDRweCwtNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfX0uaHZyLXdvYmJsZS10by10b3AtcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0OmFjdGl2ZSwuaHZyLXdvYmJsZS10by10b3AtcmlnaHQ6Zm9jdXMsLmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0OmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS10by10b3AtcmlnaHQ7YW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS10by10b3AtcmlnaHQ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10b3B7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTEyZGVnKTt0cmFuc2Zvcm06c2tldygtMTJkZWcpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoMTBkZWcpO3RyYW5zZm9ybTpza2V3KDEwZGVnKX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtNmRlZyk7dHJhbnNmb3JtOnNrZXcoLTZkZWcpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoNGRlZyk7dHJhbnNmb3JtOnNrZXcoNGRlZyl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTJkZWcpO3RyYW5zZm9ybTpza2V3KC0yZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoMCk7dHJhbnNmb3JtOnNrZXcoMCl9fUBrZXlmcmFtZXMgaHZyLXdvYmJsZS10b3B7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTEyZGVnKTt0cmFuc2Zvcm06c2tldygtMTJkZWcpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoMTBkZWcpO3RyYW5zZm9ybTpza2V3KDEwZGVnKX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtNmRlZyk7dHJhbnNmb3JtOnNrZXcoLTZkZWcpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoNGRlZyk7dHJhbnNmb3JtOnNrZXcoNGRlZyl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTJkZWcpO3RyYW5zZm9ybTpza2V3KC0yZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoMCk7dHJhbnNmb3JtOnNrZXcoMCl9fS5odnItd29iYmxlLXRvcHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MCAxMDAlO3RyYW5zZm9ybS1vcmlnaW46MCAxMDAlfS5odnItd29iYmxlLXRvcDphY3RpdmUsLmh2ci13b2JibGUtdG9wOmZvY3VzLC5odnItd29iYmxlLXRvcDpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci13b2JibGUtdG9wO2FuaW1hdGlvbi1uYW1lOmh2ci13b2JibGUtdG9wOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjF9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtYm90dG9tezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0xMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTEyZGVnKX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDEwZGVnKTt0cmFuc2Zvcm06c2tldygxMGRlZyl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTZkZWcpO3RyYW5zZm9ybTpza2V3KC02ZGVnKX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDRkZWcpO3RyYW5zZm9ybTpza2V3KDRkZWcpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0yZGVnKTt0cmFuc2Zvcm06c2tldygtMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDApO3RyYW5zZm9ybTpza2V3KDApfX1Aa2V5ZnJhbWVzIGh2ci13b2JibGUtYm90dG9tezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0xMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTEyZGVnKX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDEwZGVnKTt0cmFuc2Zvcm06c2tldygxMGRlZyl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTZkZWcpO3RyYW5zZm9ybTpza2V3KC02ZGVnKX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDRkZWcpO3RyYW5zZm9ybTpza2V3KDRkZWcpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0yZGVnKTt0cmFuc2Zvcm06c2tldygtMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDApO3RyYW5zZm9ybTpza2V3KDApfX0uaHZyLXdvYmJsZS1ib3R0b217ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMDt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMH0uaHZyLXdvYmJsZS1ib3R0b206YWN0aXZlLC5odnItd29iYmxlLWJvdHRvbTpmb2N1cywuaHZyLXdvYmJsZS1ib3R0b206aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItd29iYmxlLWJvdHRvbTthbmltYXRpb24tbmFtZTpodnItd29iYmxlLWJvdHRvbTstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfUAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXNrZXd7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTEyZGVnKTt0cmFuc2Zvcm06c2tldygtMTJkZWcpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoMTBkZWcpO3RyYW5zZm9ybTpza2V3KDEwZGVnKX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtNmRlZyk7dHJhbnNmb3JtOnNrZXcoLTZkZWcpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoNGRlZyk7dHJhbnNmb3JtOnNrZXcoNGRlZyl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTJkZWcpO3RyYW5zZm9ybTpza2V3KC0yZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoMCk7dHJhbnNmb3JtOnNrZXcoMCl9fUBrZXlmcmFtZXMgaHZyLXdvYmJsZS1za2V3ezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0xMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTEyZGVnKX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDEwZGVnKTt0cmFuc2Zvcm06c2tldygxMGRlZyl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTZkZWcpO3RyYW5zZm9ybTpza2V3KC02ZGVnKX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDRkZWcpO3RyYW5zZm9ybTpza2V3KDRkZWcpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0yZGVnKTt0cmFuc2Zvcm06c2tldygtMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDApO3RyYW5zZm9ybTpza2V3KDApfX0uaHZyLXdvYmJsZS1za2V3e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5odnItd29iYmxlLXNrZXc6YWN0aXZlLC5odnItd29iYmxlLXNrZXc6Zm9jdXMsLmh2ci13b2JibGUtc2tldzpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci13b2JibGUtc2tldzthbmltYXRpb24tbmFtZTpodnItd29iYmxlLXNrZXc7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJ1enp7NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKX19QGtleWZyYW1lcyBodnItYnV6ens1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfX0uaHZyLWJ1enp7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci1idXp6OmFjdGl2ZSwuaHZyLWJ1eno6Zm9jdXMsLmh2ci1idXp6OmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWJ1eno7YW5pbWF0aW9uLW5hbWU6aHZyLWJ1eno7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjE1czthbmltYXRpb24tZHVyYXRpb246LjE1czstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItYnV6ei1vdXR7MTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfTMwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpfTQwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApfX1Aa2V5ZnJhbWVzIGh2ci1idXp6LW91dHsxMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyl9MzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9NDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpfTYwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKX03MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKX04MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCl9fS5odnItYnV6ei1vdXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci1idXp6LW91dDphY3RpdmUsLmh2ci1idXp6LW91dDpmb2N1cywuaHZyLWJ1enotb3V0OmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWJ1enotb3V0O2FuaW1hdGlvbi1uYW1lOmh2ci1idXp6LW91dDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfS5odnItZmFkZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3J9Lmh2ci1mYWRlOmFjdGl2ZSwuaHZyLWZhZGU6Zm9jdXMsLmh2ci1mYWRlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzIwOThkMTtjb2xvcjojZmZmfUAtd2Via2l0LWtleWZyYW1lcyBodnItYmFjay1wdWxzZXs1MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMyLDE1MiwyMDksLjc1KX19QGtleWZyYW1lcyBodnItYmFjay1wdWxzZXs1MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMyLDE1MiwyMDksLjc1KX19Lmh2ci1iYWNrLXB1bHNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcn0uaHZyLWJhY2stcHVsc2U6YWN0aXZlLC5odnItYmFjay1wdWxzZTpmb2N1cywuaHZyLWJhY2stcHVsc2U6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItYmFjay1wdWxzZTthbmltYXRpb24tbmFtZTpodnItYmFjay1wdWxzZTstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjVzO2FuaW1hdGlvbi1kZWxheTouNXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtiYWNrZ3JvdW5kLWNvbG9yOiMyMDk4ZDE7YmFja2dyb3VuZC1jb2xvcjojMjA5OGQxO2NvbG9yOiNmZmZ9Lmh2ci1zd2VlcC10by1yaWdodHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItc3dlZXAtdG8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApO3RyYW5zZm9ybTpzY2FsZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgNTAlO3RyYW5zZm9ybS1vcmlnaW46MCA1MCU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1zd2VlcC10by1yaWdodDphY3RpdmUsLmh2ci1zd2VlcC10by1yaWdodDpmb2N1cywuaHZyLXN3ZWVwLXRvLXJpZ2h0OmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1zd2VlcC10by1yaWdodDphY3RpdmU6YmVmb3JlLC5odnItc3dlZXAtdG8tcmlnaHQ6Zm9jdXM6YmVmb3JlLC5odnItc3dlZXAtdG8tcmlnaHQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfS5odnItc3dlZXAtdG8tbGVmdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItc3dlZXAtdG8tbGVmdDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMCk7dHJhbnNmb3JtOnNjYWxlWCgwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MTAwJSA1MCU7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXN3ZWVwLXRvLWxlZnQ6YWN0aXZlLC5odnItc3dlZXAtdG8tbGVmdDpmb2N1cywuaHZyLXN3ZWVwLXRvLWxlZnQ6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLXN3ZWVwLXRvLWxlZnQ6YWN0aXZlOmJlZm9yZSwuaHZyLXN3ZWVwLXRvLWxlZnQ6Zm9jdXM6YmVmb3JlLC5odnItc3dlZXAtdG8tbGVmdDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9Lmh2ci1zd2VlcC10by1ib3R0b217ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXN3ZWVwLXRvLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMCk7dHJhbnNmb3JtOnNjYWxlWSgwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46NTAlIDA7dHJhbnNmb3JtLW9yaWdpbjo1MCUgMDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXN3ZWVwLXRvLWJvdHRvbTphY3RpdmUsLmh2ci1zd2VlcC10by1ib3R0b206Zm9jdXMsLmh2ci1zd2VlcC10by1ib3R0b206aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLXN3ZWVwLXRvLWJvdHRvbTphY3RpdmU6YmVmb3JlLC5odnItc3dlZXAtdG8tYm90dG9tOmZvY3VzOmJlZm9yZSwuaHZyLXN3ZWVwLXRvLWJvdHRvbTpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEpO3RyYW5zZm9ybTpzY2FsZVkoMSl9Lmh2ci1zd2VlcC10by10b3B7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXN3ZWVwLXRvLXRvcDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMCk7dHJhbnNmb3JtOnNjYWxlWSgwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7dHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXN3ZWVwLXRvLXRvcDphY3RpdmUsLmh2ci1zd2VlcC10by10b3A6Zm9jdXMsLmh2ci1zd2VlcC10by10b3A6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLXN3ZWVwLXRvLXRvcDphY3RpdmU6YmVmb3JlLC5odnItc3dlZXAtdG8tdG9wOmZvY3VzOmJlZm9yZSwuaHZyLXN3ZWVwLXRvLXRvcDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEpO3RyYW5zZm9ybTpzY2FsZVkoMSl9Lmh2ci1ib3VuY2UtdG8tcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uaHZyLWJvdW5jZS10by1yaWdodDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMCk7dHJhbnNmb3JtOnNjYWxlWCgwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MCA1MCU7dHJhbnNmb3JtLW9yaWdpbjowIDUwJTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWJvdW5jZS10by1yaWdodDphY3RpdmUsLmh2ci1ib3VuY2UtdG8tcmlnaHQ6Zm9jdXMsLmh2ci1ib3VuY2UtdG8tcmlnaHQ6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLWJvdW5jZS10by1yaWdodDphY3RpdmU6YmVmb3JlLC5odnItYm91bmNlLXRvLXJpZ2h0OmZvY3VzOmJlZm9yZSwuaHZyLWJvdW5jZS10by1yaWdodDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41MiwxLjY0LC4zNywuNjYpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjUyLDEuNjQsLjM3LC42Nil9Lmh2ci1ib3VuY2UtdG8tbGVmdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzfS5odnItYm91bmNlLXRvLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApO3RyYW5zZm9ybTpzY2FsZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjEwMCUgNTAlO3RyYW5zZm9ybS1vcmlnaW46MTAwJSA1MCU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1ib3VuY2UtdG8tbGVmdDphY3RpdmUsLmh2ci1ib3VuY2UtdG8tbGVmdDpmb2N1cywuaHZyLWJvdW5jZS10by1sZWZ0OmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1ib3VuY2UtdG8tbGVmdDphY3RpdmU6YmVmb3JlLC5odnItYm91bmNlLXRvLWxlZnQ6Zm9jdXM6YmVmb3JlLC5odnItYm91bmNlLXRvLWxlZnQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTIsMS42NCwuMzcsLjY2KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41MiwxLjY0LC4zNywuNjYpfS5odnItYm91bmNlLXRvLWJvdHRvbXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzfS5odnItYm91bmNlLXRvLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMCk7dHJhbnNmb3JtOnNjYWxlWSgwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46NTAlIDA7dHJhbnNmb3JtLW9yaWdpbjo1MCUgMDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWJvdW5jZS10by1ib3R0b206YWN0aXZlLC5odnItYm91bmNlLXRvLWJvdHRvbTpmb2N1cywuaHZyLWJvdW5jZS10by1ib3R0b206aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLWJvdW5jZS10by1ib3R0b206YWN0aXZlOmJlZm9yZSwuaHZyLWJvdW5jZS10by1ib3R0b206Zm9jdXM6YmVmb3JlLC5odnItYm91bmNlLXRvLWJvdHRvbTpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEpO3RyYW5zZm9ybTpzY2FsZVkoMSk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41MiwxLjY0LC4zNywuNjYpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjUyLDEuNjQsLjM3LC42Nil9Lmh2ci1ib3VuY2UtdG8tdG9we2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9Lmh2ci1ib3VuY2UtdG8tdG9wOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZDojMjA5OGQxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgwKTt0cmFuc2Zvcm06c2NhbGVZKDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItYm91bmNlLXRvLXRvcDphY3RpdmUsLmh2ci1ib3VuY2UtdG8tdG9wOmZvY3VzLC5odnItYm91bmNlLXRvLXRvcDpob3Zlcntjb2xvcjojZmZmfS5odnItYm91bmNlLXRvLXRvcDphY3RpdmU6YmVmb3JlLC5odnItYm91bmNlLXRvLXRvcDpmb2N1czpiZWZvcmUsLmh2ci1ib3VuY2UtdG8tdG9wOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMSk7dHJhbnNmb3JtOnNjYWxlWSgxKTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjUyLDEuNjQsLjM3LC42Nik7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTIsMS42NCwuMzcsLjY2KX0uaHZyLXJhZGlhbC1vdXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2UxZTFlMTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItcmFkaWFsLW91dDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTtib3JkZXItcmFkaXVzOjEwMCU7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNmb3JtOnNjYWxlKDApOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItcmFkaWFsLW91dDphY3RpdmUsLmh2ci1yYWRpYWwtb3V0OmZvY3VzLC5odnItcmFkaWFsLW91dDpob3Zlcntjb2xvcjojZmZmfS5odnItcmFkaWFsLW91dDphY3RpdmU6YmVmb3JlLC5odnItcmFkaWFsLW91dDpmb2N1czpiZWZvcmUsLmh2ci1yYWRpYWwtb3V0OmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyKTt0cmFuc2Zvcm06c2NhbGUoMil9Lmh2ci1yYWRpYWwtaW57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItcmFkaWFsLWluOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZDojZTFlMWUxO2JvcmRlci1yYWRpdXM6MTAwJTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyKTt0cmFuc2Zvcm06c2NhbGUoMik7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1yYWRpYWwtaW46YWN0aXZlLC5odnItcmFkaWFsLWluOmZvY3VzLC5odnItcmFkaWFsLWluOmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1yYWRpYWwtaW46YWN0aXZlOmJlZm9yZSwuaHZyLXJhZGlhbC1pbjpmb2N1czpiZWZvcmUsLmh2ci1yYWRpYWwtaW46aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0uaHZyLXJlY3RhbmdsZS1pbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXJlY3RhbmdsZS1pbjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6I2UxZTFlMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1yZWN0YW5nbGUtaW46YWN0aXZlLC5odnItcmVjdGFuZ2xlLWluOmZvY3VzLC5odnItcmVjdGFuZ2xlLWluOmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1yZWN0YW5nbGUtaW46YWN0aXZlOmJlZm9yZSwuaHZyLXJlY3RhbmdsZS1pbjpmb2N1czpiZWZvcmUsLmh2ci1yZWN0YW5nbGUtaW46aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0uaHZyLXJlY3RhbmdsZS1vdXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDojZTFlMWUxOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1yZWN0YW5nbGUtb3V0OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZDojMjA5OGQxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXJlY3RhbmdsZS1vdXQ6YWN0aXZlLC5odnItcmVjdGFuZ2xlLW91dDpmb2N1cywuaHZyLXJlY3RhbmdsZS1vdXQ6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLXJlY3RhbmdsZS1vdXQ6YWN0aXZlOmJlZm9yZSwuaHZyLXJlY3RhbmdsZS1vdXQ6Zm9jdXM6YmVmb3JlLC5odnItcmVjdGFuZ2xlLW91dDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS5odnItc2h1dHRlci1pbi1ob3Jpem9udGFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDojZTFlMWUxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCU7dHJhbnNmb3JtLW9yaWdpbjo1MCU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6YWN0aXZlLC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmZvY3VzLC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6YWN0aXZlOmJlZm9yZSwuaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpmb2N1czpiZWZvcmUsLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApfS5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNlMWUxZTE7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApO3RyYW5zZm9ybTpzY2FsZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YWN0aXZlLC5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDpmb2N1cywuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YWN0aXZlOmJlZm9yZSwuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6Zm9jdXM6YmVmb3JlLC5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9Lmh2ci1zaHV0dGVyLWluLXZlcnRpY2Fse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6I2UxZTFlMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMSk7dHJhbnNmb3JtOnNjYWxlWSgxKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46NTAlO3RyYW5zZm9ybS1vcmlnaW46NTAlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDphY3RpdmUsLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmZvY3VzLC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpob3Zlcntjb2xvcjojZmZmfS5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDphY3RpdmU6YmVmb3JlLC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpmb2N1czpiZWZvcmUsLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMCk7dHJhbnNmb3JtOnNjYWxlWSgwKX0uaHZyLXNodXR0ZXItb3V0LXZlcnRpY2Fse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6I2UxZTFlMTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItc2h1dHRlci1vdXQtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDApO3RyYW5zZm9ybTpzY2FsZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmFjdGl2ZSwuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmZvY3VzLC5odnItc2h1dHRlci1vdXQtdmVydGljYWw6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmFjdGl2ZTpiZWZvcmUsLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDpmb2N1czpiZWZvcmUsLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEpO3RyYW5zZm9ybTpzY2FsZVkoMSl9Lmh2ci1ib3JkZXItZmFkZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93O3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdztib3gtc2hhZG93Omluc2V0IDAgMCAwIDRweCAjZTFlMWUxLDAgMCAxcHggcmdiYSgwLDAsMCwwKX0uaHZyLWJvcmRlci1mYWRlOmFjdGl2ZSwuaHZyLWJvcmRlci1mYWRlOmZvY3VzLC5odnItYm9yZGVyLWZhZGU6aG92ZXJ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA0cHggIzIwOThkMSwwIDAgMXB4IHJnYmEoMCwwLDAsMCl9Lmh2ci1ob2xsb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6YmFja2dyb3VuZDt0cmFuc2l0aW9uLXByb3BlcnR5OmJhY2tncm91bmQ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA0cHggI2UxZTFlMSwwIDAgMXB4IHJnYmEoMCwwLDAsMCl9Lmh2ci1ob2xsb3c6YWN0aXZlLC5odnItaG9sbG93OmZvY3VzLC5odnItaG9sbG93OmhvdmVye2JhY2tncm91bmQ6MCAwfS5odnItdHJpbXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLXRyaW06YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOiNmZmYgc29saWQgNHB4O3RvcDo0cHg7bGVmdDo0cHg7cmlnaHQ6NHB4O2JvdHRvbTo0cHg7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS5odnItdHJpbTphY3RpdmU6YmVmb3JlLC5odnItdHJpbTpmb2N1czpiZWZvcmUsLmh2ci10cmltOmhvdmVyOmJlZm9yZXtvcGFjaXR5OjF9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1yaXBwbGUtb3V0ezEwMCV7dG9wOi0xMnB4O3JpZ2h0Oi0xMnB4O2JvdHRvbTotMTJweDtsZWZ0Oi0xMnB4O29wYWNpdHk6MH19QGtleWZyYW1lcyBodnItcmlwcGxlLW91dHsxMDAle3RvcDotMTJweDtyaWdodDotMTJweDtib3R0b206LTEycHg7bGVmdDotMTJweDtvcGFjaXR5OjB9fS5odnItcmlwcGxlLW91dHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLXJpcHBsZS1vdXQ6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOiNlMWUxZTEgc29saWQgNnB4O3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxc30uaHZyLXJpcHBsZS1vdXQ6YWN0aXZlOmJlZm9yZSwuaHZyLXJpcHBsZS1vdXQ6Zm9jdXM6YmVmb3JlLC5odnItcmlwcGxlLW91dDpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItcmlwcGxlLW91dDthbmltYXRpb24tbmFtZTpodnItcmlwcGxlLW91dH1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXJpcHBsZS1pbnsxMDAle3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO29wYWNpdHk6MX19QGtleWZyYW1lcyBodnItcmlwcGxlLWluezEwMCV7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7b3BhY2l0eToxfX0uaHZyLXJpcHBsZS1pbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLXJpcHBsZS1pbjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6I2UxZTFlMSBzb2xpZCA0cHg7dG9wOi0xMnB4O3JpZ2h0Oi0xMnB4O2JvdHRvbTotMTJweDtsZWZ0Oi0xMnB4O29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXN9Lmh2ci1yaXBwbGUtaW46YWN0aXZlOmJlZm9yZSwuaHZyLXJpcHBsZS1pbjpmb2N1czpiZWZvcmUsLmh2ci1yaXBwbGUtaW46aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXJpcHBsZS1pbjthbmltYXRpb24tbmFtZTpodnItcmlwcGxlLWlufS5odnItb3V0bGluZS1vdXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1vdXRsaW5lLW91dDpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6I2UxZTFlMSBzb2xpZCA0cHg7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dG9wLHJpZ2h0LGJvdHRvbSxsZWZ0O3RyYW5zaXRpb24tcHJvcGVydHk6dG9wLHJpZ2h0LGJvdHRvbSxsZWZ0fS5odnItb3V0bGluZS1vdXQ6YWN0aXZlOmJlZm9yZSwuaHZyLW91dGxpbmUtb3V0OmZvY3VzOmJlZm9yZSwuaHZyLW91dGxpbmUtb3V0OmhvdmVyOmJlZm9yZXt0b3A6LThweDtyaWdodDotOHB4O2JvdHRvbTotOHB4O2xlZnQ6LThweH0uaHZyLW91dGxpbmUtaW57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1vdXRsaW5lLWluOmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOiNlMWUxZTEgc29saWQgNHB4O3RvcDotMTZweDtyaWdodDotMTZweDtib3R0b206LTE2cHg7bGVmdDotMTZweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dG9wLHJpZ2h0LGJvdHRvbSxsZWZ0O3RyYW5zaXRpb24tcHJvcGVydHk6dG9wLHJpZ2h0LGJvdHRvbSxsZWZ0fS5odnItb3V0bGluZS1pbjphY3RpdmU6YmVmb3JlLC5odnItb3V0bGluZS1pbjpmb2N1czpiZWZvcmUsLmh2ci1vdXRsaW5lLWluOmhvdmVyOmJlZm9yZXt0b3A6LThweDtyaWdodDotOHB4O2JvdHRvbTotOHB4O2xlZnQ6LThweDtvcGFjaXR5OjF9Lmh2ci1yb3VuZC1jb3JuZXJze2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmJvcmRlci1yYWRpdXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3JkZXItcmFkaXVzfS5odnItcm91bmQtY29ybmVyczphY3RpdmUsLmh2ci1yb3VuZC1jb3JuZXJzOmZvY3VzLC5odnItcm91bmQtY29ybmVyczpob3Zlcntib3JkZXItcmFkaXVzOjFlbX0uaHZyLXVuZGVybGluZS1mcm9tLWxlZnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5odnItdW5kZXJsaW5lLWZyb20tbGVmdDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2xlZnQ6MDtyaWdodDoxMDAlO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTtoZWlnaHQ6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpyaWdodDt0cmFuc2l0aW9uLXByb3BlcnR5OnJpZ2h0Oy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6YWN0aXZlOmJlZm9yZSwuaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6Zm9jdXM6YmVmb3JlLC5odnItdW5kZXJsaW5lLWZyb20tbGVmdDpob3ZlcjpiZWZvcmV7cmlnaHQ6MH0uaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjUwJTtyaWdodDo1MCU7Ym90dG9tOjA7YmFja2dyb3VuZDojMjA5OGQxO2hlaWdodDo0cHg7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmxlZnQscmlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTpsZWZ0LHJpZ2h0Oy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcjphY3RpdmU6YmVmb3JlLC5odnItdW5kZXJsaW5lLWZyb20tY2VudGVyOmZvY3VzOmJlZm9yZSwuaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcjpob3ZlcjpiZWZvcmV7bGVmdDowO3JpZ2h0OjB9Lmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2xlZnQ6MTAwJTtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTtoZWlnaHQ6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpsZWZ0O3RyYW5zaXRpb24tcHJvcGVydHk6bGVmdDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodDphY3RpdmU6YmVmb3JlLC5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6Zm9jdXM6YmVmb3JlLC5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6aG92ZXI6YmVmb3Jle2xlZnQ6MH0uaHZyLW92ZXJsaW5lLWZyb20tbGVmdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjA7cmlnaHQ6MTAwJTt0b3A6MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7aGVpZ2h0OjRweDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6cmlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTpyaWdodDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6YWN0aXZlOmJlZm9yZSwuaHZyLW92ZXJsaW5lLWZyb20tbGVmdDpmb2N1czpiZWZvcmUsLmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6aG92ZXI6YmVmb3Jle3JpZ2h0OjB9Lmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2xlZnQ6NTAlO3JpZ2h0OjUwJTt0b3A6MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7aGVpZ2h0OjRweDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6bGVmdCxyaWdodDt0cmFuc2l0aW9uLXByb3BlcnR5OmxlZnQscmlnaHQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSwuaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyOmZvY3VzOmJlZm9yZSwuaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyOmhvdmVyOmJlZm9yZXtsZWZ0OjA7cmlnaHQ6MH0uaHZyLW92ZXJsaW5lLWZyb20tcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2xlZnQ6MTAwJTtyaWdodDowO3RvcDowO2JhY2tncm91bmQ6IzIwOThkMTtoZWlnaHQ6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpsZWZ0O3RyYW5zaXRpb24tcHJvcGVydHk6bGVmdDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmFjdGl2ZTpiZWZvcmUsLmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmZvY3VzOmJlZm9yZSwuaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQ6aG92ZXI6YmVmb3Jle2xlZnQ6MH0uaHZyLXJldmVhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lmh2ci1yZXZlYWw6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtib3JkZXItY29sb3I6IzIwOThkMTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjA7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmJvcmRlci13aWR0aDt0cmFuc2l0aW9uLXByb3BlcnR5OmJvcmRlci13aWR0aDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjFzO3RyYW5zaXRpb24tZHVyYXRpb246LjFzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1yZXZlYWw6YWN0aXZlOmJlZm9yZSwuaHZyLXJldmVhbDpmb2N1czpiZWZvcmUsLmh2ci1yZXZlYWw6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7Ym9yZGVyLXdpZHRoOjRweH0uaHZyLXVuZGVybGluZS1yZXZlYWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5odnItdW5kZXJsaW5lLXJldmVhbDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTtoZWlnaHQ6NHB4Oy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItdW5kZXJsaW5lLXJldmVhbDphY3RpdmU6YmVmb3JlLC5odnItdW5kZXJsaW5lLXJldmVhbDpmb2N1czpiZWZvcmUsLmh2ci11bmRlcmxpbmUtcmV2ZWFsOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5odnItb3ZlcmxpbmUtcmV2ZWFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uaHZyLW92ZXJsaW5lLXJldmVhbDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2xlZnQ6MDtyaWdodDowO3RvcDowO2JhY2tncm91bmQ6IzIwOThkMTtoZWlnaHQ6NHB4Oy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1vdmVybGluZS1yZXZlYWw6YWN0aXZlOmJlZm9yZSwuaHZyLW92ZXJsaW5lLXJldmVhbDpmb2N1czpiZWZvcmUsLmh2ci1vdmVybGluZS1yZXZlYWw6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmh2ci1nbG93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmJveC1zaGFkb3c7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93fS5odnItZ2xvdzphY3RpdmUsLmh2ci1nbG93OmZvY3VzLC5odnItZ2xvdzpob3Zlcntib3gtc2hhZG93OjAgMCA4cHggcmdiYSgwLDAsMCwuNil9Lmh2ci1zaGFkb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXByb3BlcnR5OmJveC1zaGFkb3d9Lmh2ci1zaGFkb3c6YWN0aXZlLC5odnItc2hhZG93OmZvY3VzLC5odnItc2hhZG93OmhvdmVye2JveC1zaGFkb3c6MCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLDAsMCwuNSl9Lmh2ci1ncm93LXNoYWRvd3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93LHRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OmJveC1zaGFkb3csdHJhbnNmb3JtfS5odnItZ3Jvdy1zaGFkb3c6YWN0aXZlLC5odnItZ3Jvdy1zaGFkb3c6Zm9jdXMsLmh2ci1ncm93LXNoYWRvdzpob3Zlcntib3gtc2hhZG93OjAgMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwwLDAsLjUpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9Lmh2ci1ib3gtc2hhZG93LW91dHNldHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93O3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvd30uaHZyLWJveC1zaGFkb3ctb3V0c2V0OmFjdGl2ZSwuaHZyLWJveC1zaGFkb3ctb3V0c2V0OmZvY3VzLC5odnItYm94LXNoYWRvdy1vdXRzZXQ6aG92ZXJ7Ym94LXNoYWRvdzoycHggMnB4IDJweCByZ2JhKDAsMCwwLC42KX0uaHZyLWJveC1zaGFkb3ctaW5zZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXByb3BlcnR5OmJveC1zaGFkb3c7Ym94LXNoYWRvdzppbnNldCAwIDAgMCByZ2JhKDAsMCwwLC42KSwwIDAgMXB4IHJnYmEoMCwwLDAsMCl9Lmh2ci1ib3gtc2hhZG93LWluc2V0OmFjdGl2ZSwuaHZyLWJveC1zaGFkb3ctaW5zZXQ6Zm9jdXMsLmh2ci1ib3gtc2hhZG93LWluc2V0OmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAycHggcmdiYSgwLDAsMCwuNiksMCAwIDFweCByZ2JhKDAsMCwwLDApfS5odnItZmxvYXQtc2hhZG93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLWZsb2F0LXNoYWRvdzpiZWZvcmV7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2NvbnRlbnQ6Jyc7dG9wOjEwMCU7bGVmdDo1JTtoZWlnaHQ6MTBweDt3aWR0aDo5MCU7b3BhY2l0eTowO2JhY2tncm91bmQ6LXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLGVsbGlwc2UscmdiYSgwLDAsMCwuMzUpIDAscmdiYSgwLDAsMCwwKSA4MCUpO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLHJnYmEoMCwwLDAsLjM1KSAwLHJnYmEoMCwwLDAsMCkgODAlKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5fS5odnItZmxvYXQtc2hhZG93OmFjdGl2ZSwuaHZyLWZsb2F0LXNoYWRvdzpmb2N1cywuaHZyLWZsb2F0LXNoYWRvdzpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfS5odnItZmxvYXQtc2hhZG93OmFjdGl2ZTpiZWZvcmUsLmh2ci1mbG9hdC1zaGFkb3c6Zm9jdXM6YmVmb3JlLC5odnItZmxvYXQtc2hhZG93OmhvdmVyOmJlZm9yZXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9Lmh2ci1zaGFkb3ctcmFkaWFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5odnItc2hhZG93LXJhZGlhbDphZnRlciwuaHZyLXNoYWRvdy1yYWRpYWw6YmVmb3Jle3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDonJztsZWZ0OjA7d2lkdGg6MTAwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjVweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9Lmh2ci1zaGFkb3ctcmFkaWFsOmJlZm9yZXtib3R0b206MTAwJTtiYWNrZ3JvdW5kOi13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDUwJSAxNTAlLGVsbGlwc2UscmdiYSgwLDAsMCwuNikgMCxyZ2JhKDAsMCwwLDApIDgwJSk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgMTUwJSxyZ2JhKDAsMCwwLC42KSAwLHJnYmEoMCwwLDAsMCkgODAlKX0uaHZyLXNoYWRvdy1yYWRpYWw6YWZ0ZXJ7dG9wOjEwMCU7YmFja2dyb3VuZDotd2Via2l0LXJhZGlhbC1ncmFkaWVudCg1MCUgLTUwJSxlbGxpcHNlLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwwKSA4MCUpO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNTAlIC01MCUscmdiYSgwLDAsMCwuNikgMCxyZ2JhKDAsMCwwLDApIDgwJSl9Lmh2ci1zaGFkb3ctcmFkaWFsOmFjdGl2ZTphZnRlciwuaHZyLXNoYWRvdy1yYWRpYWw6YWN0aXZlOmJlZm9yZSwuaHZyLXNoYWRvdy1yYWRpYWw6Zm9jdXM6YWZ0ZXIsLmh2ci1zaGFkb3ctcmFkaWFsOmZvY3VzOmJlZm9yZSwuaHZyLXNoYWRvdy1yYWRpYWw6aG92ZXI6YWZ0ZXIsLmh2ci1zaGFkb3ctcmFkaWFsOmhvdmVyOmJlZm9yZXtvcGFjaXR5OjF9Lmh2ci1idWJibGUtdG9we2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5odnItYnViYmxlLXRvcDpiZWZvcmV7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2NvbnRlbnQ6Jyc7Ym9yZGVyLXN0eWxlOnNvbGlkOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTtsZWZ0OmNhbGMoNTAlIC0gMTBweCk7dG9wOjA7Ym9yZGVyLXdpZHRoOjAgMTBweCAxMHB4O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxfS5odnItYnViYmxlLXRvcDphY3RpdmU6YmVmb3JlLC5odnItYnViYmxlLXRvcDpmb2N1czpiZWZvcmUsLmh2ci1idWJibGUtdG9wOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9Lmh2ci1idWJibGUtcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1idWJibGUtcmlnaHQ6YmVmb3Jle3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtjb250ZW50OicnO2JvcmRlci1zdHlsZTpzb2xpZDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dG9wOmNhbGMoNTAlIC0gMTBweCk7cmlnaHQ6MDtib3JkZXItd2lkdGg6MTBweCAwIDEwcHggMTBweDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2UxZTFlMX0uaHZyLWJ1YmJsZS1yaWdodDphY3RpdmU6YmVmb3JlLC5odnItYnViYmxlLXJpZ2h0OmZvY3VzOmJlZm9yZSwuaHZyLWJ1YmJsZS1yaWdodDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX0uaHZyLWJ1YmJsZS1ib3R0b217ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1idWJibGUtYm90dG9tOmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7Y29udGVudDonJztib3JkZXItc3R5bGU6c29saWQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO2xlZnQ6Y2FsYyg1MCUgLSAxMHB4KTtib3R0b206MDtib3JkZXItd2lkdGg6MTBweCAxMHB4IDA7Ym9yZGVyLWNvbG9yOiNlMWUxZTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnR9Lmh2ci1idWJibGUtYm90dG9tOmFjdGl2ZTpiZWZvcmUsLmh2ci1idWJibGUtYm90dG9tOmZvY3VzOmJlZm9yZSwuaHZyLWJ1YmJsZS1ib3R0b206aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCl9Lmh2ci1idWJibGUtbGVmdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLWJ1YmJsZS1sZWZ0OmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7Y29udGVudDonJztib3JkZXItc3R5bGU6c29saWQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RvcDpjYWxjKDUwJSAtIDEwcHgpO2xlZnQ6MDtib3JkZXItd2lkdGg6MTBweCAxMHB4IDEwcHggMDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0uaHZyLWJ1YmJsZS1sZWZ0OmFjdGl2ZTpiZWZvcmUsLmh2ci1idWJibGUtbGVmdDpmb2N1czpiZWZvcmUsLmh2ci1idWJibGUtbGVmdDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfS5odnItYnViYmxlLWZsb2F0LXRvcHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1idWJibGUtZmxvYXQtdG9wOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2NvbnRlbnQ6Jyc7bGVmdDpjYWxjKDUwJSAtIDEwcHgpO3RvcDowO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MCAxMHB4IDEwcHg7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlMWUxZTE7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5odnItYnViYmxlLWZsb2F0LXRvcDphY3RpdmUsLmh2ci1idWJibGUtZmxvYXQtdG9wOmZvY3VzLC5odnItYnViYmxlLWZsb2F0LXRvcDpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpfS5odnItYnViYmxlLWZsb2F0LXRvcDphY3RpdmU6YmVmb3JlLC5odnItYnViYmxlLWZsb2F0LXRvcDpmb2N1czpiZWZvcmUsLmh2ci1idWJibGUtZmxvYXQtdG9wOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9Lmh2ci1idWJibGUtZmxvYXQtcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDpjYWxjKDUwJSAtIDEwcHgpO3JpZ2h0OjA7Y29udGVudDonJztib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjEwcHggMCAxMHB4IDEwcHg7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlMWUxZTE7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmFjdGl2ZSwuaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpmb2N1cywuaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9Lmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6YWN0aXZlOmJlZm9yZSwuaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpmb2N1czpiZWZvcmUsLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9Lmh2ci1idWJibGUtZmxvYXQtYm90dG9te2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7Y29udGVudDonJztsZWZ0OmNhbGMoNTAlIC0gMTBweCk7Ym90dG9tOjA7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxMHB4IDEwcHggMDtib3JkZXItY29sb3I6I2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmFjdGl2ZSwuaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206Zm9jdXMsLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMHB4KX0uaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206YWN0aXZlOmJlZm9yZSwuaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206Zm9jdXM6YmVmb3JlLC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KX0uaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2NvbnRlbnQ6Jyc7dG9wOmNhbGMoNTAlIC0gMTBweCk7bGVmdDowO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MTBweCAxMHB4IDEwcHggMDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1idWJibGUtZmxvYXQtbGVmdDphY3RpdmUsLmh2ci1idWJibGUtZmxvYXQtbGVmdDpmb2N1cywuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9Lmh2ci1idWJibGUtZmxvYXQtbGVmdDphY3RpdmU6YmVmb3JlLC5odnItYnViYmxlLWZsb2F0LWxlZnQ6Zm9jdXM6YmVmb3JlLC5odnItYnViYmxlLWZsb2F0LWxlZnQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX0uaHZyLWljb24tYmFja3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6Mi4yZW07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xc30uaHZyLWljb24tYmFjazpiZWZvcmV7Y29udGVudDoiXGYxMzciO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjFzO3RyYW5zaXRpb24tZHVyYXRpb246LjFzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tYmFjazphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1iYWNrOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tYmFjazpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0uaHZyLWljb24tZm9yd2FyZHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouMXN9Lmh2ci1pY29uLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouMXM7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1mb3J3YXJkOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWZvcndhcmQ6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1mb3J3YXJkOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNHB4KX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tZG93bnswJSwxMDAlLDUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTI1JSw3NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCl9fUBrZXlmcmFtZXMgaHZyLWljb24tZG93bnswJSwxMDAlLDUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTI1JSw3NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCl9fS5odnItaWNvbi1kb3due2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW19Lmh2ci1pY29uLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDFhIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5odnItaWNvbi1kb3duOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWRvd246Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1kb3duOmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWRvd247YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tZG93bjstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi11cHswJSwxMDAlLDUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTI1JSw3NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KX19QGtleWZyYW1lcyBodnItaWNvbi11cHswJSwxMDAlLDUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTI1JSw3NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KX19Lmh2ci1pY29uLXVwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW19Lmh2ci1pY29uLXVwOmJlZm9yZXtjb250ZW50OiJcZjAxYiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24tdXA6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tdXA6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi11cDpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi11cDthbmltYXRpb24tbmFtZTpodnItaWNvbi11cDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1zcGlue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW19Lmh2ci1pY29uLXNwaW46YmVmb3Jle2NvbnRlbnQ6IlxmMDIxIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246MXM7dHJhbnNpdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9Lmh2ci1pY29uLXNwaW46YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tc3Bpbjpmb2N1czpiZWZvcmUsLmh2ci1pY29uLXNwaW46aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tZHJvcHswJXtvcGFjaXR5OjB9NTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9MTAwJSw1MSV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLWRyb3B7MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfTEwMCUsNTEle29wYWNpdHk6MX19Lmh2ci1pY29uLWRyb3B7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbX0uaHZyLWljb24tZHJvcDpiZWZvcmV7Y29udGVudDoiXGYwNDEiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtvcGFjaXR5OjE7cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5odnItaWNvbi1kcm9wOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWRyb3A6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1kcm9wOmhvdmVyOmJlZm9yZXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWRyb3A7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tZHJvcDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouM3M7YW5pbWF0aW9uLWRlbGF5Oi4zczstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTIsMS42NCwuMzcsLjY2KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjUyLDEuNjQsLjM3LC42Nil9Lmh2ci1pY29uLWZhZGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbX0uaHZyLWljb24tZmFkZTpiZWZvcmV7Y29udGVudDoiXGYwMGMiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcn0uaHZyLWljb24tZmFkZTphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1mYWRlOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tZmFkZTpob3ZlcjpiZWZvcmV7Y29sb3I6IzBGOUU1RX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tZmxvYXQtYXdheXswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMWVtKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMWVtKX19QGtleWZyYW1lcyBodnItaWNvbi1mbG9hdC1hd2F5ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xZW0pO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xZW0pfX0uaHZyLWljb24tZmxvYXQtYXdheXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtfS5odnItaWNvbi1mbG9hdC1hd2F5OmFmdGVyLC5odnItaWNvbi1mbG9hdC1hd2F5OmJlZm9yZXtjb250ZW50OiJcZjA1NSI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWV9Lmh2ci1pY29uLWZsb2F0LWF3YXk6YWZ0ZXJ7b3BhY2l0eTowOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzOy13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzfS5odnItaWNvbi1mbG9hdC1hd2F5OmFjdGl2ZTphZnRlciwuaHZyLWljb24tZmxvYXQtYXdheTpmb2N1czphZnRlciwuaHZyLWljb24tZmxvYXQtYXdheTpob3ZlcjphZnRlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWZsb2F0LWF3YXk7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tZmxvYXQtYXdheTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tc2luay1hd2F5ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFlbSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMWVtKX19QGtleWZyYW1lcyBodnItaWNvbi1zaW5rLWF3YXl7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMWVtKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxZW0pfX0uaHZyLWljb24tc2luay1hd2F5e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW19Lmh2ci1pY29uLXNpbmstYXdheTphZnRlciwuaHZyLWljb24tc2luay1hd2F5OmJlZm9yZXtjb250ZW50OiJcZjA1NiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24tc2luay1hd2F5OmFmdGVye29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkc30uaHZyLWljb24tc2luay1hd2F5OmFjdGl2ZTphZnRlciwuaHZyLWljb24tc2luay1hd2F5OmZvY3VzOmFmdGVyLC5odnItaWNvbi1zaW5rLWF3YXk6aG92ZXI6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1zaW5rLWF3YXk7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tc2luay1hd2F5Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1ncm93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLWljb24tZ3JvdzpiZWZvcmV7Y29udGVudDoiXGYxMTgiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1pY29uLWdyb3c6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tZ3Jvdzpmb2N1czpiZWZvcmUsLmh2ci1pY29uLWdyb3c6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMykgdHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06c2NhbGUoMS4zKSB0cmFuc2xhdGVaKDApfS5odnItaWNvbi1zaHJpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi1zaHJpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMTE5Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1zaHJpbms6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tc2hyaW5rOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tc2hyaW5rOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjgpO3RyYW5zZm9ybTpzY2FsZSgwLjgpfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdWxzZXsyNSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX19QGtleWZyYW1lcyBodnItaWNvbi1wdWxzZXsyNSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX19Lmh2ci1pY29uLXB1bHNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW19Lmh2ci1pY29uLXB1bHNlOmJlZm9yZXtjb250ZW50OiJcZjAxNSI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1wdWxzZTphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1wdWxzZTpmb2N1czpiZWZvcmUsLmh2ci1pY29uLXB1bHNlOmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXB1bHNlO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXB1bHNlOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1ncm93e3Rvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9fUBrZXlmcmFtZXMgaHZyLWljb24tcHVsc2UtZ3Jvd3t0b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMpO3RyYW5zZm9ybTpzY2FsZSgxLjMpfX0uaHZyLWljb24tcHVsc2UtZ3Jvd3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtfS5odnItaWNvbi1wdWxzZS1ncm93OmJlZm9yZXtjb250ZW50OiJcZjAxNSI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1wdWxzZS1ncm93OmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXB1bHNlLWdyb3c6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1wdWxzZS1ncm93OmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXB1bHNlLWdyb3c7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tcHVsc2UtZ3Jvdzstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlLXNocmlua3t0b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjgpO3RyYW5zZm9ybTpzY2FsZSgwLjgpfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlLXNocmlua3t0b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjgpO3RyYW5zZm9ybTpzY2FsZSgwLjgpfX0uaHZyLWljb24tcHVsc2Utc2hyaW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW19Lmh2ci1pY29uLXB1bHNlLXNocmluazpiZWZvcmV7Y29udGVudDoiXGYwMTUiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tcHVsc2Utc2hyaW5rOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXB1bHNlLXNocmluazpmb2N1czpiZWZvcmUsLmh2ci1pY29uLXB1bHNlLXNocmluazpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1wdWxzZS1zaHJpbms7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tcHVsc2Utc2hyaW5rOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4zczthbmltYXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOmFsdGVybmF0ZTthbmltYXRpb24tZGlyZWN0aW9uOmFsdGVybmF0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcHVzaHs1MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC41KTt0cmFuc2Zvcm06c2NhbGUoMC41KX19QGtleWZyYW1lcyBodnItaWNvbi1wdXNoezUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjUpO3RyYW5zZm9ybTpzY2FsZSgwLjUpfX0uaHZyLWljb24tcHVzaHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLXB1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDA2Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1wdXNoOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXB1c2g6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1wdXNoOmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXB1c2g7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tcHVzaDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcG9wezUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zZm9ybTpzY2FsZSgxLjUpfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLXBvcHs1MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KX19Lmh2ci1pY29uLXBvcHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLXBvcDpiZWZvcmV7Y29udGVudDoiXGYwMDUiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1pY29uLXBvcDphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1wb3A6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1wb3A6aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWljb24tcG9wO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXBvcDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX0uaHZyLWljb24tYm91bmNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLWljb24tYm91bmNlOmJlZm9yZXtjb250ZW50OiJcZjA4NyI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tYm91bmNlOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWJvdW5jZTpmb2N1czpiZWZvcmUsLmh2ci1pY29uLWJvdW5jZTpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjQ3LDIuMDIsLjMxLC0uMzYpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjQ3LDIuMDIsLjMxLC0uMzYpfS5odnItaWNvbi1yb3RhdGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi1yb3RhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGM2Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1yb3RhdGU6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tcm90YXRlOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tcm90YXRlOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjBkZWcpfS5odnItaWNvbi1ncm93LXJvdGF0ZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLWdyb3ctcm90YXRlOmJlZm9yZXtjb250ZW50OiJcZjA5NSI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tZ3Jvdy1yb3RhdGU6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tZ3Jvdy1yb3RhdGU6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1ncm93LXJvdGF0ZTpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KSByb3RhdGUoMTJkZWcpO3RyYW5zZm9ybTpzY2FsZSgxLjUpIHJvdGF0ZSgxMmRlZyl9Lmh2ci1pY29uLWZsb2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLWljb24tZmxvYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDFiIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1mbG9hdDphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1mbG9hdDpmb2N1czpiZWZvcmUsLmh2ci1pY29uLWZsb2F0OmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpfS5odnItaWNvbi1zaW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLWljb24tc2luazpiZWZvcmV7Y29udGVudDoiXGYwMWEiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1pY29uLXNpbms6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tc2luazpmb2N1czpiZWZvcmUsLmh2ci1pY29uLXNpbms6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1ib2J7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9fUBrZXlmcmFtZXMgaHZyLWljb24tYm9iezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tYm9iLWZsb2F0ezEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KX19QGtleWZyYW1lcyBodnItaWNvbi1ib2ItZmxvYXR7MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uaHZyLWljb24tYm9ie2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLWljb24tYm9iOmJlZm9yZXtjb250ZW50OiJcZjA3NyI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24tYm9iOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWJvYjpmb2N1czpiZWZvcmUsLmh2ci1pY29uLWJvYjpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1ib2ItZmxvYXQsaHZyLWljb24tYm9iO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWJvYi1mbG9hdCxodnItaWNvbi1ib2I7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjNzLDEuNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4zcywxLjVzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjBzLC4zczthbmltYXRpb24tZGVsYXk6MHMsLjNzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dCxlYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0LGVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxLGluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSxpbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsLGFsdGVybmF0ZTthbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbCxhbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWhhbmd7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgycHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCl9fUBrZXlmcmFtZXMgaHZyLWljb24taGFuZ3swJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDJweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KX19QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWhhbmctc2lua3sxMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLWhhbmctc2lua3sxMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpfX0uaHZyLWljb24taGFuZ3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLWhhbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMDc4Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5odnItaWNvbi1oYW5nOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWhhbmc6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1oYW5nOmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWhhbmctc2luayxodnItaWNvbi1oYW5nO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWhhbmctc2luayxodnItaWNvbi1oYW5nOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4zcywxLjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3MsMS41czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTowcywuM3M7YW5pbWF0aW9uLWRlbGF5OjBzLC4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQsZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dCxlYXNlLWluLW91dDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSxpbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjEsaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbCxhbHRlcm5hdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWwsYWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi13b2JibGUtaG9yaXpvbnRhbHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDZweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNnB4KX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fS5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZjA2MSI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24td29iYmxlLWhvcml6b250YWw6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24td29iYmxlLWhvcml6b250YWw6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDthbmltYXRpb24tbmFtZTpodnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi13b2JibGUtdmVydGljYWx7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBodnItaWNvbi13b2JibGUtdmVydGljYWx7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19Lmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGYwNjIiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDphY3RpdmU6YmVmb3JlLC5odnItaWNvbi13b2JibGUtdmVydGljYWw6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi13b2JibGUtdmVydGljYWw6aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWljb24td29iYmxlLXZlcnRpY2FsO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1idXp6ezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyl9fUBrZXlmcmFtZXMgaHZyLWljb24tYnV6ens1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfX0uaHZyLWljb24tYnV6entkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLWJ1eno6YmVmb3Jle2NvbnRlbnQ6IlxmMDE3Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5odnItaWNvbi1idXp6OmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWJ1eno6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1idXp6OmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWJ1eno7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tYnV6ejstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouMTVzO2FuaW1hdGlvbi1kdXJhdGlvbjouMTVzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGV9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWJ1enotb3V0ezEwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpfTIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpfTcwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpfTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKX19QGtleWZyYW1lcyBodnItaWNvbi1idXp6LW91dHsxMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyl9MzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9NDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpfTYwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKX03MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKX04MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCl9fS5odnItaWNvbi1idXp6LW91dHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLWJ1enotb3V0OmJlZm9yZXtjb250ZW50OiJcZjAyMyI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24tYnV6ei1vdXQ6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tYnV6ei1vdXQ6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1idXp6LW91dDpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1idXp6LW91dDthbmltYXRpb24tbmFtZTpodnItaWNvbi1idXp6LW91dDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfS5odnItY3VybC10b3AtbGVmdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLWN1cmwtdG9wLWxlZnQ6YmVmb3Jle3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDonJztoZWlnaHQ6MDt3aWR0aDowO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmZmYgNDUlLCNhYWEgNTAlLCNjY2MgNTYlLCNmZmYgODAlKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLCBzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAnKTt6LWluZGV4OjEwMDA7Ym94LXNoYWRvdzoxcHggMXB4IDFweCByZ2JhKDAsMCwwLC40KTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHR9Lmh2ci1jdXJsLXRvcC1sZWZ0OmFjdGl2ZTpiZWZvcmUsLmh2ci1jdXJsLXRvcC1sZWZ0OmZvY3VzOmJlZm9yZSwuaHZyLWN1cmwtdG9wLWxlZnQ6aG92ZXI6YmVmb3Jle3dpZHRoOjI1cHg7aGVpZ2h0OjI1cHh9Lmh2ci1jdXJsLXRvcC1yaWdodHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLWN1cmwtdG9wLXJpZ2h0OmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6Jyc7aGVpZ2h0OjA7d2lkdGg6MDt0b3A6MDtyaWdodDowO2JhY2tncm91bmQ6I2ZmZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyMjVkZWcsI2ZmZiA0NSUsI2FhYSA1MCUsI2NjYyA1NiUsI2ZmZiA4MCUpO2JveC1zaGFkb3c6LTFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjQpOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OndpZHRoLGhlaWdodDt0cmFuc2l0aW9uLXByb3BlcnR5OndpZHRoLGhlaWdodH0uaHZyLWN1cmwtdG9wLXJpZ2h0OmFjdGl2ZTpiZWZvcmUsLmh2ci1jdXJsLXRvcC1yaWdodDpmb2N1czpiZWZvcmUsLmh2ci1jdXJsLXRvcC1yaWdodDpob3ZlcjpiZWZvcmV7d2lkdGg6MjVweDtoZWlnaHQ6MjVweH0uaHZyLWN1cmwtYm90dG9tLXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5odnItY3VybC1ib3R0b20tcmlnaHQ6YmVmb3Jle3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDonJztoZWlnaHQ6MDt3aWR0aDowO2JvdHRvbTowO3JpZ2h0OjA7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDMxNWRlZywjZmZmIDQ1JSwjYWFhIDUwJSwjY2NjIDU2JSwjZmZmIDgwJSk7Ym94LXNoYWRvdzotMXB4IC0xcHggMXB4IHJnYmEoMCwwLDAsLjQpOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OndpZHRoLGhlaWdodDt0cmFuc2l0aW9uLXByb3BlcnR5OndpZHRoLGhlaWdodH0uaHZyLWN1cmwtYm90dG9tLXJpZ2h0OmFjdGl2ZTpiZWZvcmUsLmh2ci1jdXJsLWJvdHRvbS1yaWdodDpmb2N1czpiZWZvcmUsLmh2ci1jdXJsLWJvdHRvbS1yaWdodDpob3ZlcjpiZWZvcmV7d2lkdGg6MjVweDtoZWlnaHQ6MjVweH0uaHZyLWN1cmwtYm90dG9tLWxlZnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6Jyc7aGVpZ2h0OjA7d2lkdGg6MDtib3R0b206MDtsZWZ0OjA7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNmZmYgNDUlLCNhYWEgNTAlLCNjY2MgNTYlLCNmZmYgODAlKTtib3gtc2hhZG93OjFweCAtMXB4IDFweCByZ2JhKDAsMCwwLC40KTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHR9Lmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmFjdGl2ZTpiZWZvcmUsLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmZvY3VzOmJlZm9yZSwuaHZyLWN1cmwtYm90dG9tLWxlZnQ6aG92ZXI6YmVmb3Jle3dpZHRoOjI1cHg7aGVpZ2h0OjI1cHh9CgoKLyoKICogCW1vZGVybml6cgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNb2R1bGVzIC0gcmV1c2FibGUgcGFydHMgb2Ygb3VyIGRlc2lnbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5jZC1jb250YWluZXIgey8qIHRoaXMgY2xhc3MgaXMgdXNlZCB0byBnaXZlIGEgbWF4LXdpZHRoIHRvIHRoZSBlbGVtZW50IGl0IGlzIGFwcGxpZWQgdG8sIGFuZCBjZW50ZXIgaXQgaG9yaXpvbnRhbGx5IHdoZW4gaXQgcmVhY2hlcyB0aGF0IG1heC13aWR0aCAqL3dpZHRoOiA5MCU7bWF4LXdpZHRoOiAxMTcwcHg7bWFyZ2luOiAwIGF1dG87fS5jZC1jb250YWluZXI6OmFmdGVyIHsvKiBjbGVhcmZpeCAqL2NvbnRlbnQ6ICcnO2Rpc3BsYXk6IHRhYmxlO2NsZWFyOiBib3RoO30vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNYWluIGNvbXBvbmVudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8jY2QtdGltZWxpbmUge3Bvc2l0aW9uOiByZWxhdGl2ZTtwYWRkaW5nOiAyZW0gMDttYXJnaW4tdG9wOiAyZW07bWFyZ2luLWJvdHRvbTogMmVtO30jY2QtdGltZWxpbmU6OmJlZm9yZSB7LyogdGhpcyBpcyB0aGUgdmVydGljYWwgbGluZSAqL2NvbnRlbnQ6ICcnO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMThweDtoZWlnaHQ6IDEwMCU7d2lkdGg6IDRweDtiYWNrZ3JvdW5kOiAjZDdlNGVkO31AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNzBweCkgeyNjZC10aW1lbGluZSB7bWFyZ2luLXRvcDogM2VtO21hcmdpbi1ib3R0b206IDNlbTt9I2NkLXRpbWVsaW5lOjpiZWZvcmUge2xlZnQ6IDUwJTttYXJnaW4tbGVmdDogLTJweDt9fS5jZC10aW1lbGluZS1ibG9jayB7cG9zaXRpb246IHJlbGF0aXZlO21hcmdpbjogMmVtIDA7fS5jZC10aW1lbGluZS1ibG9jazphZnRlciB7Y29udGVudDogIiI7ZGlzcGxheTogdGFibGU7Y2xlYXI6IGJvdGg7fS5jZC10aW1lbGluZS1ibG9jazpmaXJzdC1jaGlsZCB7bWFyZ2luLXRvcDogMDt9LmNkLXRpbWVsaW5lLWJsb2NrOmxhc3QtY2hpbGQge21hcmdpbi1ib3R0b206IDA7fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7LmNkLXRpbWVsaW5lLWJsb2NrIHttYXJnaW46IDRlbSAwO30uY2QtdGltZWxpbmUtYmxvY2s6Zmlyc3QtY2hpbGQge21hcmdpbi10b3A6IDA7fS5jZC10aW1lbGluZS1ibG9jazpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO319LmNkLXRpbWVsaW5lLWltZyB7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3dpZHRoOiA0MHB4O2hlaWdodDogNDBweDtib3JkZXItcmFkaXVzOiA1MCU7Ym94LXNoYWRvdzogMCAwIDAgNHB4IHdoaXRlLCBpbnNldCAwIDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7fS5jZC10aW1lbGluZS1pbWcgaW1nIHtkaXNwbGF5OiBibG9jazt3aWR0aDogMjRweDtoZWlnaHQ6IDI0cHg7cG9zaXRpb246IHJlbGF0aXZlO2xlZnQ6IDUwJTt0b3A6IDUwJTttYXJnaW4tbGVmdDogLTEycHg7bWFyZ2luLXRvcDogLTEycHg7fS5jZC10aW1lbGluZS1pbWcuY2QtcGljdHVyZSB7YmFja2dyb3VuZDogIzc1Y2U2Njt9LmNkLXRpbWVsaW5lLWltZy5jZC1tb3ZpZSB7YmFja2dyb3VuZDogI2MwM2I0NDt9LmNkLXRpbWVsaW5lLWltZy5jZC1sb2NhdGlvbiB7YmFja2dyb3VuZDogI2YwY2E0NTt9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTcwcHgpIHsuY2QtdGltZWxpbmUtaW1nIHt3aWR0aDogNjBweDtoZWlnaHQ6IDYwcHg7bGVmdDogNTAlO21hcmdpbi1sZWZ0OiAtMzBweDsvKiBGb3JjZSBIYXJkd2FyZSBBY2NlbGVyYXRpb24gaW4gV2ViS2l0ICovLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47fS5jc3NhbmltYXRpb25zIC5jZC10aW1lbGluZS1pbWcuaXMtaGlkZGVuIHt2aXNpYmlsaXR5OiBoaWRkZW47fS5jc3NhbmltYXRpb25zIC5jZC10aW1lbGluZS1pbWcuYm91bmNlLWluIHt2aXNpYmlsaXR5OiB2aXNpYmxlOy13ZWJraXQtYW5pbWF0aW9uOiBjZC1ib3VuY2UtMSAwLjZzOy1tb3otYW5pbWF0aW9uOiBjZC1ib3VuY2UtMSAwLjZzO2FuaW1hdGlvbjogY2QtYm91bmNlLTEgMC42czt9fUAtd2Via2l0LWtleWZyYW1lcyBjZC1ib3VuY2UtMSB7MCUge29wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7fTYwJSB7b3BhY2l0eTogMTstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTt9MTAwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO319QC1tb3ota2V5ZnJhbWVzIGNkLWJvdW5jZS0xIHswJSB7b3BhY2l0eTogMDstbW96LXRyYW5zZm9ybTogc2NhbGUoMC41KTt9NjAlIHtvcGFjaXR5OiAxOy1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjIpO30xMDAlIHstbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7fX1Aa2V5ZnJhbWVzIGNkLWJvdW5jZS0xIHswJSB7b3BhY2l0eTogMDstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTstbW96LXRyYW5zZm9ybTogc2NhbGUoMC41KTstbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjUpOy1vLXRyYW5zZm9ybTogc2NhbGUoMC41KTt0cmFuc2Zvcm06IHNjYWxlKDAuNSk7fTYwJSB7b3BhY2l0eTogMTstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTstbW96LXRyYW5zZm9ybTogc2NhbGUoMS4yKTstbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOy1vLXRyYW5zZm9ybTogc2NhbGUoMS4yKTt0cmFuc2Zvcm06IHNjYWxlKDEuMik7fTEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTstbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7LW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7LW8tdHJhbnNmb3JtOiBzY2FsZSgxKTt0cmFuc2Zvcm06IHNjYWxlKDEpO319LmNkLXRpbWVsaW5lLWNvbnRlbnQge3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW4tbGVmdDogNjBweDtiYWNrZ3JvdW5kOiB3aGl0ZTtib3JkZXItcmFkaXVzOiAwLjI1ZW07cGFkZGluZzogMWVtO2JveC1zaGFkb3c6IDAgM3B4IDAgI2Q3ZTRlZDt9LmNkLXRpbWVsaW5lLWNvbnRlbnQ6YWZ0ZXIge2NvbnRlbnQ6ICIiO2Rpc3BsYXk6IHRhYmxlO2NsZWFyOiBib3RoO30uY2QtdGltZWxpbmUtY29udGVudCBoMiB7Y29sb3I6ICMzMDNlNDk7fS5jZC10aW1lbGluZS1jb250ZW50IHAsIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC1yZWFkLW1vcmUsIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC1kYXRlIHtmb250LXNpemU6IDEzcHg7Zm9udC1zaXplOiAwLjgxMjVyZW07fS5jZC10aW1lbGluZS1jb250ZW50IC5jZC1yZWFkLW1vcmUsIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC1kYXRlIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fS5jZC10aW1lbGluZS1jb250ZW50IHAge21hcmdpbjogMWVtIDA7bGluZS1oZWlnaHQ6IDEuNjt9LmNkLXRpbWVsaW5lLWNvbnRlbnQgLmNkLXJlYWQtbW9yZSB7ZmxvYXQ6IHJpZ2h0O3BhZGRpbmc6IC44ZW0gMWVtO2JhY2tncm91bmQ6ICNhY2I3YzA7Y29sb3I6IHdoaXRlO2JvcmRlci1yYWRpdXM6IDAuMjVlbTt9Lm5vLXRvdWNoIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC1yZWFkLW1vcmU6aG92ZXIge2JhY2tncm91bmQtY29sb3I6ICNiYWM0Y2I7fS5jZC10aW1lbGluZS1jb250ZW50IC5jZC1kYXRlIHtmbG9hdDogbGVmdDtwYWRkaW5nOiAuOGVtIDA7b3BhY2l0eTogLjc7fS5jZC10aW1lbGluZS1jb250ZW50OjpiZWZvcmUge2NvbnRlbnQ6ICcnO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDE2cHg7cmlnaHQ6IDEwMCU7aGVpZ2h0OiAwO3dpZHRoOiAwO2JvcmRlcjogN3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDogN3B4IHNvbGlkIHdoaXRlO31AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7LmNkLXRpbWVsaW5lLWNvbnRlbnQgaDIge2ZvbnQtc2l6ZTogMjBweDtmb250LXNpemU6IDEuMjVyZW07fS5jZC10aW1lbGluZS1jb250ZW50IHAge2ZvbnQtc2l6ZTogMTZweDtmb250LXNpemU6IDFyZW07fS5jZC10aW1lbGluZS1jb250ZW50IC5jZC1yZWFkLW1vcmUsIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC1kYXRlIHtmb250LXNpemU6IDE0cHg7Zm9udC1zaXplOiAwLjg3NXJlbTt9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7LmNkLXRpbWVsaW5lLWNvbnRlbnQge21hcmdpbi1sZWZ0OiAwO3BhZGRpbmc6IDEuNmVtO3dpZHRoOiA0NSU7fS5jZC10aW1lbGluZS1jb250ZW50OjpiZWZvcmUge3RvcDogMjRweDtsZWZ0OiAxMDAlO2JvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQtY29sb3I6IHdoaXRlO30uY2QtdGltZWxpbmUtY29udGVudCAuY2QtcmVhZC1tb3JlIHtmbG9hdDogbGVmdDt9LmNkLXRpbWVsaW5lLWNvbnRlbnQgLmNkLWRhdGUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDogMTAwJTtsZWZ0OiAxMjIlO3RvcDogNnB4O2ZvbnQtc2l6ZTogMTZweDtmb250LXNpemU6IDFyZW07fS5jZC10aW1lbGluZS1ibG9jazpudGgtY2hpbGQoZXZlbikgLmNkLXRpbWVsaW5lLWNvbnRlbnQge2Zsb2F0OiByaWdodDt9LmNkLXRpbWVsaW5lLWJsb2NrOm50aC1jaGlsZChldmVuKSAuY2QtdGltZWxpbmUtY29udGVudDo6YmVmb3JlIHt0b3A6IDI0cHg7bGVmdDogYXV0bztyaWdodDogMTAwJTtib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjogd2hpdGU7fS5jZC10aW1lbGluZS1ibG9jazpudGgtY2hpbGQoZXZlbikgLmNkLXRpbWVsaW5lLWNvbnRlbnQgLmNkLXJlYWQtbW9yZSB7ZmxvYXQ6IHJpZ2h0O30uY2QtdGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC1kYXRlIHtsZWZ0OiBhdXRvO3JpZ2h0OiAxMjIlO3RleHQtYWxpZ246IHJpZ2h0O30uY3NzYW5pbWF0aW9ucyAuY2QtdGltZWxpbmUtY29udGVudC5pcy1oaWRkZW4ge3Zpc2liaWxpdHk6IGhpZGRlbjt9LmNzc2FuaW1hdGlvbnMgLmNkLXRpbWVsaW5lLWNvbnRlbnQuYm91bmNlLWluIHt2aXNpYmlsaXR5OiB2aXNpYmxlOy13ZWJraXQtYW5pbWF0aW9uOiBjZC1ib3VuY2UtMiAwLjZzOy1tb3otYW5pbWF0aW9uOiBjZC1ib3VuY2UtMiAwLjZzO2FuaW1hdGlvbjogY2QtYm91bmNlLTIgMC42czt9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7LyogaW52ZXJzZSBib3VuY2UgZWZmZWN0IG9uIGV2ZW4gY29udGVudCBibG9ja3MgKi8uY3NzYW5pbWF0aW9ucyAuY2QtdGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIC5jZC10aW1lbGluZS1jb250ZW50LmJvdW5jZS1pbiB7LXdlYmtpdC1hbmltYXRpb246IGNkLWJvdW5jZS0yLWludmVyc2UgMC42czstbW96LWFuaW1hdGlvbjogY2QtYm91bmNlLTItaW52ZXJzZSAwLjZzO2FuaW1hdGlvbjogY2QtYm91bmNlLTItaW52ZXJzZSAwLjZzO319QC13ZWJraXQta2V5ZnJhbWVzIGNkLWJvdW5jZS0yIHswJSB7b3BhY2l0eTogMDstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO302MCUge29wYWNpdHk6IDE7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7fTEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO319QC1tb3ota2V5ZnJhbWVzIGNkLWJvdW5jZS0yIHswJSB7b3BhY2l0eTogMDstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO302MCUge29wYWNpdHk6IDE7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7fTEwMCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO319QGtleWZyYW1lcyBjZC1ib3VuY2UtMiB7MCUge29wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTt9NjAlIHtvcGFjaXR5OiAxOy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTt9MTAwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO319QC13ZWJraXQta2V5ZnJhbWVzIGNkLWJvdW5jZS0yLWludmVyc2UgezAlIHtvcGFjaXR5OiAwOy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTt9NjAlIHtvcGFjaXR5OiAxOy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTt9MTAwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7fX1ALW1vei1rZXlmcmFtZXMgY2QtYm91bmNlLTItaW52ZXJzZSB7MCUge29wYWNpdHk6IDA7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO302MCUge29wYWNpdHk6IDE7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO30xMDAlIHstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9fUBrZXlmcmFtZXMgY2QtYm91bmNlLTItaW52ZXJzZSB7MCUge29wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7fTYwJSB7b3BhY2l0eTogMTstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOy1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTt9MTAwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO319CgovKgogKiAJTWF4aW1hZ2Ugc2xpZGVyCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qISBWZXJzaW9uOiAyLjAuNzMgKDEyLU9jdC0yMDEyKSAqLwoubWMtaGlkZS1zY3JvbGxzIHtvdmVyZmxvdzogaGlkZGVufWJvZHkgLm1jLWN5Y2xlIHtoZWlnaHQ6IDEwMCU7bGVmdDogMDtvdmVyZmxvdzogaGlkZGVuO3Bvc2l0aW9uOiBmaXhlZDt0b3A6IDA7d2lkdGg6IDEwMCU7ei1pbmRleDogLTF9ZGl2Lm1jLWltYWdlIHstd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLWluLW91dDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyOy1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7aGVpZ2h0OiAxMDAlO292ZXJmbG93OiBoaWRkZW47d2lkdGg6IDEwMCV9Lm1jLW9sZC1icm93c2VyIC5tYy1pbWFnZSB7b3ZlcmZsb3c6IGhpZGRlbn0ubWF4aW1hZ2Utc2xpZGVyICNtYXhpbWFnZSB7YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtkaXNwbGF5OiBibG9jaztoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtvdmVyZmxvdzogaGlkZGVuO3Bvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDogMTAwJSAhaW1wb3J0YW50O3otaW5kZXg6IDA7fS5tYXhpbWFnZS1zbGlkZXIgI21heGltYWdlIC5tYy1pbWFnZSB7aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7fS5tYXhpbWFnZS1zbGlkZXIuc3RhdGljICNtYXhpbWFnZSB7cG9zaXRpb246IGZpeGVkO30ubWF4aW1hZ2Utc2xpZGVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIHttYXJnaW4tdG9wOiAtNjRweDtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiA1MCU7d2lkdGg6IDEwMCU7ei1pbmRleDogNTt9Lm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLXByZXYsICAubWF4aW1hZ2Utc2xpZGVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIC5pbWctbmV4dCB7Y29sb3I6ICNmZmZmZmY7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO29wYWNpdHk6IDA7cG9zaXRpb246IGFic29sdXRlO30ubWF4aW1hZ2Utc2xpZGVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIC5pbWctcHJldiBpLCAgLm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLW5leHQgaSB7Zm9udC1zaXplOiA2NHB4O30ubWF4aW1hZ2Utc2xpZGVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIC5pbWctcHJldjpob3ZlciwgIC5tYXhpbWFnZS1zbGlkZXIgLmZ1bGxzY3JlZW4tY29udHJvbHMgLmltZy1uZXh0OmhvdmVyIHtjdXJzb3I6IHBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOiBub25lO30ubWF4aW1hZ2Utc2xpZGVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIC5pbWctcHJldiB7bGVmdDogMTVweDstd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgbGVmdCAwLjNzOy1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgbGVmdCAwLjNzO3RyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgbGVmdCAwLjNzO30ubWF4aW1hZ2Utc2xpZGVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIC5pbWctbmV4dCB7cmlnaHQ6IDE1cHg7LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHJpZ2h0IDAuM3M7LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCByaWdodCAwLjNzO3RyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgcmlnaHQgMC4zczt9Lm1heGltYWdlLXNsaWRlcjpob3ZlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLXByZXYsIC5tYXhpbWFnZS1zbGlkZXI6aG92ZXIgLmZ1bGxzY3JlZW4tY29udHJvbHMgLmltZy1uZXh0IHtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtvcGFjaXR5OiAxO30ubWF4aW1hZ2Utc2xpZGVyOmhvdmVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIC5pbWctcHJldiB7bGVmdDogMjVweDt9Lm1heGltYWdlLXNsaWRlcjpob3ZlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLW5leHQge3JpZ2h0OiAyNXB4O30KCi8qCiAqIAlCeFNsaWRlcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoKLyoqKiBCeFNsaWRlciB2NC4xLjIgLSBGdWxseSBsb2FkZWQsIHJlc3BvbnNpdmUgY29udGVudCBzbGlkZXIqIGh0dHA6Ly9ieHNsaWRlci5jb20qKiBXcml0dGVuIGJ5OiBTdGV2ZW4gV2FuZGVyc2tpLCAyMDE0KiBodHRwOi8vc3RldmVud2FuZGVyc2tpLmNvbSogKHdoaWxlIGRyaW5raW5nIEJlbGdpYW4gYWxlcyBhbmQgbGlzdGVuaW5nIHRvIGphenopKiogQ0VPIGFuZCBmb3VuZGVyIG9mIGJ4Q3JlYXRpdmUsIExURCogaHR0cDovL2J4Y3JlYXRpdmUuY29tKi8vKiogUkVTRVQgQU5EIExBWU9VVD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KLmJ4LXdyYXBwZXIge3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW46IDAgYXV0byA2MHB4O3BhZGRpbmc6IDA7Knpvb206IDE7fS5ieC13cmFwcGVyIGltZyB7bWF4LXdpZHRoOiAxMDAlO2Rpc3BsYXk6IGJsb2NrO30vKiogVEhFTUU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLmJ4LXdyYXBwZXIgLmJ4LXZpZXdwb3J0IHstbW96LWJveC1zaGFkb3c6IDAgMCA1cHggI2NjYzstd2Via2l0LWJveC1zaGFkb3c6IDAgMCA1cHggI2NjYztib3gtc2hhZG93OiAwIDAgNXB4ICNjY2M7Ym9yZGVyOiAgNXB4IHNvbGlkICNmZmY7bGVmdDogLTVweDtiYWNrZ3JvdW5kOiAjZmZmOy8qZml4IG90aGVyIGVsZW1lbnRzIG9uIHRoZSBwYWdlIG1vdmluZyAob24gQ2hyb21lKSovLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZXooMCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZXooMCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRleigwKTstby10cmFuc2Zvcm06IHRyYW5zbGF0ZXooMCk7dHJhbnNmb3JtOiB0cmFuc2xhdGV6KDApO30uYngtd3JhcHBlciAuYngtcGFnZXIsLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8ge3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IC0zMHB4O3dpZHRoOiAxMDAlO30vKiBMT0FERVIgKi8uYngtd3JhcHBlciAuYngtbG9hZGluZyB7bWluLWhlaWdodDogNTBweDtiYWNrZ3JvdW5kOiB1cmwoYnhzbGlkZXIvaW1hZ2VzL2J4X2xvYWRlci5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICNmZmY7aGVpZ2h0OiAxMDAlO3dpZHRoOiAxMDAlO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt6LWluZGV4OiAyMDAwO30vKiBQQUdFUiAqLy5ieC13cmFwcGVyIC5ieC1wYWdlciB7dGV4dC1hbGlnbjogY2VudGVyO2ZvbnQtc2l6ZTogLjg1ZW07Zm9udC1mYW1pbHk6IEFyaWFsO2ZvbnQtd2VpZ2h0OiBib2xkO2NvbG9yOiAjNjY2O3BhZGRpbmctdG9wOiAyMHB4O30uYngtd3JhcHBlciAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0sLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LWNvbnRyb2xzLWF1dG8taXRlbSB7ZGlzcGxheTogaW5saW5lLWJsb2NrOyp6b29tOiAxOypkaXNwbGF5OiBpbmxpbmU7fS5ieC13cmFwcGVyIC5ieC1wYWdlci5ieC1kZWZhdWx0LXBhZ2VyIGEge2JhY2tncm91bmQ6ICM2NjY7dGV4dC1pbmRlbnQ6IC05OTk5cHg7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDEwcHg7aGVpZ2h0OiAxMHB4O21hcmdpbjogMCA1cHg7b3V0bGluZTogMDstbW96LWJvcmRlci1yYWRpdXM6IDVweDstd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtib3JkZXItcmFkaXVzOiA1cHg7fS5ieC13cmFwcGVyIC5ieC1wYWdlci5ieC1kZWZhdWx0LXBhZ2VyIGE6aG92ZXIsLmJ4LXdyYXBwZXIgLmJ4LXBhZ2VyLmJ4LWRlZmF1bHQtcGFnZXIgYS5hY3RpdmUge2JhY2tncm91bmQ6ICMwMDA7fS8qIERJUkVDVElPTiBDT05UUk9MUyAoTkVYVCAvIFBSRVYpICovLmJ4LXdyYXBwZXIgLmJ4LXByZXYge2xlZnQ6IDEwcHg7YmFja2dyb3VuZDogdXJsKGJ4c2xpZGVyL2ltYWdlcy9hcnJvdy1sZWZ0Lmh0bWwpIG5vLXJlcGVhdCBzY3JvbGwgMCAwO30uYngtd3JhcHBlciAuYngtbmV4dCB7cmlnaHQ6IDEwcHg7YmFja2dyb3VuZDogdXJsKGJ4c2xpZGVyL2ltYWdlcy9hcnJvdy1yaWdodC5odG1sKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDt9LmJ4LXdyYXBwZXIgLmJ4LXByZXY6aG92ZXIge2JhY2tncm91bmQtcG9zaXRpb246IDAgMDt9LmJ4LXdyYXBwZXIgLmJ4LW5leHQ6aG92ZXIge2JhY2tncm91bmQtcG9zaXRpb246IC00M3B4IDA7fS5ieC13cmFwcGVyIC5ieC1jb250cm9scy1kaXJlY3Rpb24gYSB7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO21hcmdpbi10b3A6IC0xNnB4O291dGxpbmU6IDA7d2lkdGg6IDMycHg7aGVpZ2h0OiAzMnB4O3RleHQtaW5kZW50OiAtOTk5OXB4O3otaW5kZXg6IDk5OTk7fS5ieC13cmFwcGVyIC5ieC1jb250cm9scy1kaXJlY3Rpb24gYS5kaXNhYmxlZCB7ZGlzcGxheTogbm9uZTt9LyogQVVUTyBDT05UUk9MUyAoU1RBUlQgLyBTVE9QKSAqLy5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIHt0ZXh0LWFsaWduOiBjZW50ZXI7fS5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIC5ieC1zdGFydCB7ZGlzcGxheTogYmxvY2s7dGV4dC1pbmRlbnQ6IC05OTk5cHg7d2lkdGg6IDEwcHg7aGVpZ2h0OiAxMXB4O291dGxpbmU6IDA7YmFja2dyb3VuZDogdXJsKGJ4c2xpZGVyL2ltYWdlcy9hcnJvdy1sZWZ0Lmh0bWwpIG5vLXJlcGVhdCBzY3JvbGwgMCAwO21hcmdpbjogMCAzcHg7fS5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIC5ieC1zdGFydDpob3ZlciwuYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RhcnQuYWN0aXZlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODZweCAwO30uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RvcCB7ZGlzcGxheTogYmxvY2s7dGV4dC1pbmRlbnQ6IC05OTk5cHg7d2lkdGg6IDlweDtoZWlnaHQ6IDExcHg7b3V0bGluZTogMDtiYWNrZ3JvdW5kOiB1cmwoYnhzbGlkZXIvaW1hZ2VzL2Fycm93LXJpZ2h0Lmh0bWwpIG5vLXJlcGVhdCBzY3JvbGwgMCAwO21hcmdpbjogMCAzcHg7fS5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIC5ieC1zdG9wOmhvdmVyLC5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIC5ieC1zdG9wLmFjdGl2ZSB7YmFja2dyb3VuZC1wb3NpdGlvbjogLTg2cHggLTMzcHg7fS8qIFBBR0VSIFdJVEggQVVUTy1DT05UUk9MUyBIWUJSSUQgTEFZT1VUICovLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLmJ4LWhhcy1jb250cm9scy1hdXRvLmJ4LWhhcy1wYWdlciAuYngtcGFnZXIge3RleHQtYWxpZ246IGxlZnQ7d2lkdGg6IDgwJTt9LmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLmJ4LWhhcy1jb250cm9scy1hdXRvLmJ4LWhhcy1wYWdlciAuYngtY29udHJvbHMtYXV0byB7cmlnaHQ6IDA7d2lkdGg6IDM1cHg7fS8qIElNQUdFIENBUFRJT05TICovLmJ4LXdyYXBwZXIgLmJ4LWNhcHRpb24ge3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IDA7bGVmdDogMDtiYWNrZ3JvdW5kOiAjNjY2XDk7YmFja2dyb3VuZDogcmdiYSg4MCwgODAsIDgwLCAwLjc1KTt3aWR0aDogMTAwJTt9LmJ4LXdyYXBwZXIgLmJ4LWNhcHRpb24gc3BhbiB7Y29sb3I6ICNmZmY7Zm9udC1mYW1pbHk6IEFyaWFsO2Rpc3BsYXk6IGJsb2NrO2ZvbnQtc2l6ZTogLjg1ZW07cGFkZGluZzogMTBweDt9CgovKgogKiAJRnVsbENhbGVuZGFyCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qISogRnVsbENhbGVuZGFyIHYyLjYuMCBTdHlsZXNoZWV0KiBEb2NzICYgTGljZW5zZTogaHR0cDovL2Z1bGxjYWxlbmRhci5pby8qIChjKSAyMDE1IEFkYW0gU2hhdyovLmZjIHtkaXJlY3Rpb246IGx0cjt0ZXh0LWFsaWduOiBsZWZ0O30uZmMtcnRsIHt0ZXh0LWFsaWduOiByaWdodDt9Ym9keSAuZmMgeyAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJjb21lIGpxdWkgKi9mb250LXNpemU6IDFlbTt9LyogQ29sb3JzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy11bnRoZW1lZCB0aCwuZmMtdW50aGVtZWQgdGQsLmZjLXVudGhlbWVkIHRoZWFkLC5mYy11bnRoZW1lZCB0Ym9keSwuZmMtdW50aGVtZWQgLmZjLWRpdmlkZXIsLmZjLXVudGhlbWVkIC5mYy1yb3csLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIHtib3JkZXItY29sb3I6ICNkZGQ7fS5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7YmFja2dyb3VuZC1jb2xvcjogI2ZmZjt9LmZjLXVudGhlbWVkIC5mYy1kaXZpZGVyLC5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIHtiYWNrZ3JvdW5kOiAjZWVlO30uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge2NvbG9yOiAjNjY2O30uZmMtdW50aGVtZWQgLmZjLXRvZGF5IHtiYWNrZ3JvdW5kOiAjZmNmOGUzO30uZmMtaGlnaGxpZ2h0IHsgLyogd2hlbiB1c2VyIGlzIHNlbGVjdGluZyBjZWxscyAqL2JhY2tncm91bmQ6ICNiY2U4ZjE7b3BhY2l0eTogLjM7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsgLyogZm9yIElFICovfS5mYy1iZ2V2ZW50IHsgLyogZGVmYXVsdCBsb29rIGZvciBiYWNrZ3JvdW5kIGV2ZW50cyAqL2JhY2tncm91bmQ6IHJnYigxNDMsIDIyMywgMTMwKTtvcGFjaXR5OiAuMztmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOyAvKiBmb3IgSUUgKi99LmZjLW5vbmJ1c2luZXNzIHsgLyogZGVmYXVsdCBsb29rIGZvciBub24tYnVzaW5lc3MtaG91cnMgYXJlYXMgKi8vKiB3aWxsIGluaGVyaXQgLmZjLWJnZXZlbnQncyBzdHlsZXMgKi9iYWNrZ3JvdW5kOiAjZDdkN2Q3O30vKiBJY29ucyAoaW5saW5lIGVsZW1lbnRzIHdpdGggc3R5bGVkIHRleHQgdGhhdCBtb2NrIGFycm93IGljb25zKS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtaWNvbiB7ZGlzcGxheTogaW5saW5lLWJsb2NrO3dpZHRoOiAxZW07aGVpZ2h0OiAxZW07bGluZS1oZWlnaHQ6IDFlbTtmb250LXNpemU6IDFlbTt0ZXh0LWFsaWduOiBjZW50ZXI7b3ZlcmZsb3c6IGhpZGRlbjtmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlOy8qIGRvbid0IGFsbG93IGJyb3dzZXIgdGV4dC1zZWxlY3Rpb24gKi8td2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTstbXMtdXNlci1zZWxlY3Q6IG5vbmU7dXNlci1zZWxlY3Q6IG5vbmU7fS8qQWNjZXB0YWJsZSBmb250LWZhbWlseSBvdmVycmlkZXMgZm9yIGluZGl2aWR1YWwgaWNvbnM6IkFyaWFsIiwgc2Fucy1zZXJpZiJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZk5PVEU6IHVzZSBwZXJjZW50YWdlIGZvbnQgc2l6ZXMgb3IgZWxzZSBvbGQgSUUgY2hva2VzKi8uZmMtaWNvbjphZnRlciB7cG9zaXRpb246IHJlbGF0aXZlO21hcmdpbjogMCAtMWVtOyAvKiBlbnN1cmVzIGNoYXJhY3RlciB3aWxsIGJlIGNlbnRlcmVkLCByZWdhcmRsZXNzIG9mIHdpZHRoICovfS5mYy1pY29uLWxlZnQtc2luZ2xlLWFycm93OmFmdGVyIHtjb250ZW50OiAiXDAyMDM5Ijtmb250LXdlaWdodDogYm9sZDtmb250LXNpemU6IDIwMCU7dG9wOiAtNyU7bGVmdDogMyU7fS5mYy1pY29uLXJpZ2h0LXNpbmdsZS1hcnJvdzphZnRlciB7Y29udGVudDogIlwwMjAzQSI7Zm9udC13ZWlnaHQ6IGJvbGQ7Zm9udC1zaXplOiAyMDAlO3RvcDogLTclO2xlZnQ6IC0zJTt9LmZjLWljb24tbGVmdC1kb3VibGUtYXJyb3c6YWZ0ZXIge2NvbnRlbnQ6ICJcMDAwQUIiO2ZvbnQtc2l6ZTogMTYwJTt0b3A6IC03JTt9LmZjLWljb24tcmlnaHQtZG91YmxlLWFycm93OmFmdGVyIHtjb250ZW50OiAiXDAwMEJCIjtmb250LXNpemU6IDE2MCU7dG9wOiAtNyU7fS5mYy1pY29uLWxlZnQtdHJpYW5nbGU6YWZ0ZXIge2NvbnRlbnQ6ICJcMjVDNCI7Zm9udC1zaXplOiAxMjUlO3RvcDogMyU7bGVmdDogLTIlO30uZmMtaWNvbi1yaWdodC10cmlhbmdsZTphZnRlciB7Y29udGVudDogIlwyNUJBIjtmb250LXNpemU6IDEyNSU7dG9wOiAzJTtsZWZ0OiAyJTt9LmZjLWljb24tZG93bi10cmlhbmdsZTphZnRlciB7Y29udGVudDogIlwyNUJDIjtmb250LXNpemU6IDEyNSU7dG9wOiAyJTt9LmZjLWljb24teDphZnRlciB7Y29udGVudDogIlwwMDBENyI7Zm9udC1zaXplOiAyMDAlO3RvcDogNiU7fS8qIEJ1dHRvbnMgKHN0eWxlZCA8YnV0dG9uPiB0YWdzLCBub3JtYWxpemVkIHRvIHdvcmsgY3Jvc3MtYnJvd3NlciktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjIGJ1dHRvbiB7LyogZm9yY2UgaGVpZ2h0IHRvIGluY2x1ZGUgdGhlIGJvcmRlciBhbmQgcGFkZGluZyAqLy1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7Ym94LXNpemluZzogYm9yZGVyLWJveDsvKiBkaW1lbnNpb25zICovbWFyZ2luOiAwO2hlaWdodDogMi4xZW07cGFkZGluZzogMCAuNmVtOy8qIHRleHQgJiBjdXJzb3IgKi9mb250LXNpemU6IDFlbTsgLyogbm9ybWFsaXplICovd2hpdGUtc3BhY2U6IG5vd3JhcDtjdXJzb3I6IHBvaW50ZXI7fS8qIEZpcmVmb3ggaGFzIGFuIGFubm95aW5nIGlubmVyIGJvcmRlciAqLy5mYyBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0uZmMtc3RhdGUtZGVmYXVsdCB7IC8qIG5vbi10aGVtZSAqL2JvcmRlcjogMXB4IHNvbGlkO30uZmMtc3RhdGUtZGVmYXVsdC5mYy1jb3JuZXItbGVmdCB7IC8qIG5vbi10aGVtZSAqL2JvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7fS5mYy1zdGF0ZS1kZWZhdWx0LmZjLWNvcm5lci1yaWdodCB7IC8qIG5vbi10aGVtZSAqL2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDt9LyogaWNvbnMgaW4gYnV0dG9ucyAqLy5mYyBidXR0b24gLmZjLWljb24geyAvKiBub24tdGhlbWUgKi9wb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMC4wNWVtOyAvKiBzZWVtcyB0byBiZSBhIGdvb2QgYWRqdXN0bWVudCBhY3Jvc3MgYnJvd3NlcnMgKi9tYXJnaW46IDAgLjJlbTt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO30vKmJ1dHRvbiBzdGF0ZXNib3Jyb3dlZCBmcm9tIHR3aXR0ZXIgYm9vdHN0cmFwIChodHRwOi8vdHdpdHRlci5naXRodWIuY29tL2Jvb3RzdHJhcC8pKi8uZmMtc3RhdGUtZGVmYXVsdCB7YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO2JhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbSgjZmZmZmZmKSwgdG8oI2U2ZTZlNikpO2JhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiwgI2U2ZTZlNik7YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiwgI2U2ZTZlNik7YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZmZmZiwgI2U2ZTZlNik7YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O2JvcmRlci1jb2xvcjogI2U2ZTZlNiAjZTZlNmU2ICNiZmJmYmY7Ym9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7Y29sb3I6ICMzMzM7dGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO2JveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTt9LmZjLXN0YXRlLWhvdmVyLC5mYy1zdGF0ZS1kb3duLC5mYy1zdGF0ZS1hY3RpdmUsLmZjLXN0YXRlLWRpc2FibGVkIHtjb2xvcjogIzMzMzMzMztiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O30uZmMtc3RhdGUtaG92ZXIge2NvbG9yOiAjMzMzMzMzO3RleHQtZGVjb3JhdGlvbjogbm9uZTtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjstbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7LW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjt0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMXMgbGluZWFyO30uZmMtc3RhdGUtZG93biwuZmMtc3RhdGUtYWN0aXZlIHtiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO2JhY2tncm91bmQtaW1hZ2U6IG5vbmU7Ym94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO30uZmMtc3RhdGUtZGlzYWJsZWQge2N1cnNvcjogZGVmYXVsdDtiYWNrZ3JvdW5kLWltYWdlOiBub25lO29wYWNpdHk6IDAuNjU7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtib3gtc2hhZG93OiBub25lO30vKiBCdXR0b25zIEdyb3Vwcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtYnV0dG9uLWdyb3VwIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fS8qZXZlcnkgYnV0dG9uIHRoYXQgaXMgbm90IGZpcnN0IGluIGEgYnV0dG9uIGdyb3VwIHNob3VsZCBzY29vdGNoIG92ZXIgb25lIHBpeGVsIGFuZCBjb3ZlciB0aGVwcmV2aW91cyBidXR0b24ncyBib3JkZXIuLi4qLy5mYyAuZmMtYnV0dG9uLWdyb3VwID4gKiB7IC8qIGV4dHJhIHByZWNlZGVuY2UgYi9jIGJ1dHRvbnMgaGF2ZSBtYXJnaW4gc2V0IHRvIHplcm8gKi9mbG9hdDogbGVmdDttYXJnaW46IDAgMCAwIC0xcHg7fS5mYyAuZmMtYnV0dG9uLWdyb3VwID4gOmZpcnN0LWNoaWxkIHsgLyogc2FtZSAqL21hcmdpbi1sZWZ0OiAwO30vKiBQb3BvdmVyLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy1wb3BvdmVyIHtwb3NpdGlvbjogYWJzb2x1dGU7Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwwLDAsLjE1KTt9LmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7IC8qIFRPRE86IGJlIG1vcmUgY29uc2lzdGVudCB3aXRoIGZjLWhlYWQvZmMtYm9keSAqL3BhZGRpbmc6IDJweCA0cHg7fS5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlIHttYXJnaW46IDAgMnB4O30uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7Y3Vyc29yOiBwb2ludGVyO30uZmMtbHRyIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlLC5mYy1ydGwgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge2Zsb2F0OiBsZWZ0O30uZmMtcnRsIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLXRpdGxlLC5mYy1sdHIgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge2Zsb2F0OiByaWdodDt9LyogdW50aGVtZWQgKi8uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge2JvcmRlci13aWR0aDogMXB4O2JvcmRlci1zdHlsZTogc29saWQ7fS5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy1jbG9zZSB7Zm9udC1zaXplOiAuOWVtO21hcmdpbi10b3A6IDJweDt9LyoganF1aSB0aGVtZWQgKi8uZmMtcG9wb3ZlciA+IC51aS13aWRnZXQtaGVhZGVyICsgLnVpLXdpZGdldC1jb250ZW50IHtib3JkZXItdG9wOiAwOyAvKiB3aGVyZSB0aGV5IG1lZXQsIGxldCB0aGUgaGVhZGVyIGhhdmUgdGhlIGJvcmRlciAqL30vKiBNaXNjIFJldXNhYmxlIENvbXBvbmVudHMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLWRpdmlkZXIge2JvcmRlci1zdHlsZTogc29saWQ7Ym9yZGVyLXdpZHRoOiAxcHg7fWhyLmZjLWRpdmlkZXIge2hlaWdodDogMDttYXJnaW46IDA7cGFkZGluZzogMCAwIDJweDsgLyogaGVpZ2h0IGlzIHVucmVsaWFibGUgYWNyb3NzIGJyb3dzZXJzLCBzbyB1c2UgcGFkZGluZyAqL2JvcmRlci13aWR0aDogMXB4IDA7fS5mYy1jbGVhciB7Y2xlYXI6IGJvdGg7fS5mYy1iZywuZmMtYmdldmVudC1za2VsZXRvbiwuZmMtaGlnaGxpZ2h0LXNrZWxldG9uLC5mYy1oZWxwZXItc2tlbGV0b24gey8qIHRoZXNlIGVsZW1lbnQgc2hvdWxkIGFsd2F5cyBjbGluZyB0byB0b3AtbGVmdC9yaWdodCBjb3JuZXJzICovcG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3JpZ2h0OiAwO30uZmMtYmcge2JvdHRvbTogMDsgLyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovfS5mYy1iZyB0YWJsZSB7aGVpZ2h0OiAxMDAlOyAvKiBzdHJlY2ggYmcgdG8gYm90dG9tIGVkZ2UgKi99LyogVGFibGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYyB0YWJsZSB7d2lkdGg6IDEwMCU7dGFibGUtbGF5b3V0OiBmaXhlZDtib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOiAwO2ZvbnQtc2l6ZTogMWVtOyAvKiBub3JtYWxpemUgY3Jvc3MtYnJvd3NlciAqL30uZmMgdGgge3RleHQtYWxpZ246IGNlbnRlcjt9LmZjIHRoLC5mYyB0ZCB7Ym9yZGVyLXN0eWxlOiBzb2xpZDtib3JkZXItd2lkdGg6IDFweDtwYWRkaW5nOiAwO3ZlcnRpY2FsLWFsaWduOiB0b3A7fS5mYyB0ZC5mYy10b2RheSB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7IC8qIG92ZXJjb21lIG5laWdoYm9yaW5nIGJvcmRlcnMgKi99LyogRmFrZSBUYWJsZSBSb3dzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYyAuZmMtcm93IHsgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSB0aGVtZXMgdy8gLnVpLXdpZGdldC1jb250ZW50IGZvcmNpbmcgYSAxcHggYm9yZGVyICovLyogbm8gdmlzaWJsZSBib3JkZXIgYnkgZGVmYXVsdC4gYnV0IG1ha2UgYXZhaWxhYmxlIGlmIG5lZWQgYmUgKHNjcm9sbGJhciB3aWR0aCBjb21wZW5zYXRpb24pICovYm9yZGVyLXN0eWxlOiBzb2xpZDtib3JkZXItd2lkdGg6IDA7fS5mYy1yb3cgdGFibGUgey8qIGRvbid0IHB1dCBsZWZ0L3JpZ2h0IGJvcmRlciBvbiBhbnl0aGluZyB3aXRoaW4gYSBmYWtlIHJvdy50aGUgb3V0ZXIgdGJvZHkgd2lsbCB3b3JyeSBhYm91dCB0aGlzICovYm9yZGVyLWxlZnQ6IDAgaGlkZGVuIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7Lyogbm8gYm90dG9tIGJvcmRlcnMgb24gcm93cyAqL2JvcmRlci1ib3R0b206IDAgaGlkZGVuIHRyYW5zcGFyZW50OyB9LmZjLXJvdzpmaXJzdC1jaGlsZCB0YWJsZSB7Ym9yZGVyLXRvcDogMCBoaWRkZW4gdHJhbnNwYXJlbnQ7IC8qIG5vIHRvcCBib3JkZXIgb24gZmlyc3Qgcm93ICovfS8qIERheSBSb3cgKHVzZWQgd2l0aGluIHRoZSBoZWFkZXIgYW5kIHRoZSBEYXlHcmlkKS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtcm93IHtwb3NpdGlvbjogcmVsYXRpdmU7fS5mYy1yb3cgLmZjLWJnIHt6LWluZGV4OiAxO30vKiBoaWdobGlnaHRpbmcgY2VsbHMgJiBiYWNrZ3JvdW5kIGV2ZW50IHNrZWxldG9uICovLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiwuZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24ge2JvdHRvbTogMDsgLyogc3RyZXRjaCBza2VsZXRvbiB0byBib3R0b20gb2Ygcm93ICovfS5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24gdGFibGUsLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRhYmxlIHtoZWlnaHQ6IDEwMCU7IC8qIHN0cmV0Y2ggc2tlbGV0b24gdG8gYm90dG9tIG9mIHJvdyAqL30uZmMtcm93IC5mYy1oaWdobGlnaHQtc2tlbGV0b24gdGQsLmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB0ZCB7Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDt9LmZjLXJvdyAuZmMtYmdldmVudC1za2VsZXRvbiB7ei1pbmRleDogMjt9LmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHt6LWluZGV4OiAzO30vKnJvdyBjb250ZW50ICh3aGljaCBjb250YWlucyBkYXkvd2VlayBudW1iZXJzIGFuZCBldmVudHMpIGFzIHdlbGwgYXMgImhlbHBlciIgKHdoaWNoIGNvbnRhaW5zdGVtcG9yYXJ5IHJlbmRlcmVkIGV2ZW50cykuKi8uZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogNDtwYWRkaW5nLWJvdHRvbTogMnB4OyAvKiBtYXRjaGVzIHRoZSBzcGFjZSBhYm92ZSB0aGUgZXZlbnRzICovfS5mYy1yb3cgLmZjLWhlbHBlci1za2VsZXRvbiB7ei1pbmRleDogNTt9LmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0ZCwuZmMtcm93IC5mYy1oZWxwZXItc2tlbGV0b24gdGQgey8qIHNlZS10aHJvdWdoIHRvIHRoZSBiYWNrZ3JvdW5kIGJlbG93ICovYmFja2dyb3VuZDogbm9uZTsgLyogaW4gY2FzZSA8dGQ+cyBhcmUgZ2xvYmFsbHkgc3R5bGVkICovYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsvKiBkb24ndCBwdXQgYSBib3JkZXIgYmV0d2VlbiBldmVudHMgYW5kL29yIHRoZSBkYXkgbnVtYmVyICovYm9yZGVyLWJvdHRvbTogMDt9LmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB0Ym9keSB0ZCwgLyogY2VsbHMgd2l0aCBldmVudHMgaW5zaWRlIChzbyBOT1QgdGhlIGRheSBudW1iZXIgY2VsbCkgKi8uZmMtcm93IC5mYy1oZWxwZXItc2tlbGV0b24gdGJvZHkgdGQgey8qIGRvbid0IHB1dCBhIGJvcmRlciBiZXR3ZWVuIGV2ZW50IGNlbGxzICovYm9yZGVyLXRvcDogMDt9LyogU2Nyb2xsaW5nIENvbnRhaW5lci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtc2Nyb2xsZXIgeyAvKiB0aGlzIGNsYXNzIGdvZXMgb24gZWxlbWVudHMgZm9yIGd1YXJhbnRlZWQgdmVydGljYWwgc2Nyb2xsYmFycyAqL292ZXJmbG93LXk6IHNjcm9sbDtvdmVyZmxvdy14OiBoaWRkZW47fS5mYy1zY3JvbGxlciA+ICogeyAvKiB3ZSBleHBlY3QgYW4gaW1tZWRpYXRlIGlubmVyIGVsZW1lbnQgKi9wb3NpdGlvbjogcmVsYXRpdmU7IC8qIHJlLXNjb3BlIGFsbCBwb3NpdGlvbnMgKi93aWR0aDogMTAwJTsgLyogaGFjayB0byBmb3JjZSByZS1zaXppbmcgdGhpcyBpbm5lciBlbGVtZW50IHdoZW4gc2Nyb2xsYmFycyBhcHBlYXIvZGlzYXBwZWFyICovb3ZlcmZsb3c6IGhpZGRlbjsgLyogZG9uJ3QgbGV0IG5lZ2F0aXZlIG1hcmdpbnMgb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY3JlYXRlIGZ1cnRoZXIgc2Nyb2xsICovfS8qIEdsb2JhbCBFdmVudCBTdHlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLWV2ZW50IHtwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGZvciByZXNpemUgaGFuZGxlIGFuZCBvdGhlciBpbm5lciBwb3NpdGlvbmluZyAqL2Rpc3BsYXk6IGJsb2NrOyAvKiBtYWtlIHRoZSA8YT4gdGFnIGJsb2NrICovZm9udC1zaXplOiAuODVlbTtsaW5lLWhlaWdodDogMS4zO2JvcmRlci1yYWRpdXM6IDNweDtib3JkZXI6IDFweCBzb2xpZCAjM2E4N2FkOyAvKiBkZWZhdWx0IEJPUkRFUiBjb2xvciAqL2JhY2tncm91bmQtY29sb3I6ICMzYTg3YWQ7IC8qIGRlZmF1bHQgQkFDS0dST1VORCBjb2xvciAqL2ZvbnQtd2VpZ2h0OiBub3JtYWw7IC8qIHVuZG8ganF1aSdzIHVpLXdpZGdldC1oZWFkZXIgYm9sZCAqL30vKiBvdmVycG93ZXIgc29tZSBvZiBib290c3RyYXAncyBhbmQganF1aSdzIHN0eWxlcyBvbiA8YT4gdGFncyAqLy5mYy1ldmVudCwuZmMtZXZlbnQ6aG92ZXIsLnVpLXdpZGdldCAuZmMtZXZlbnQge2NvbG9yOiAjZmZmOyAvKiBkZWZhdWx0IFRFWFQgY29sb3IgKi90ZXh0LWRlY29yYXRpb246IG5vbmU7IC8qIGlmIDxhPiBoYXMgYW4gaHJlZiAqL30uZmMtZXZlbnRbaHJlZl0sLmZjLWV2ZW50LmZjLWRyYWdnYWJsZSB7Y3Vyc29yOiBwb2ludGVyOyAvKiBnaXZlIGV2ZW50cyB3aXRoIGxpbmtzIGFuZCBkcmFnZ2FibGUgZXZlbnRzIGEgaGFuZCBtb3VzZSBwb2ludGVyICovfS5mYy1ub3QtYWxsb3dlZCwgLyogY2F1c2VzIGEgIndhcm5pbmciIGN1cnNvci4gYXBwbGllZCBvbiBib2R5ICovLmZjLW5vdC1hbGxvd2VkIC5mYy1ldmVudCB7IC8qIHRvIG92ZXJyaWRlIGFuIGV2ZW50J3MgY3VzdG9tIGN1cnNvciAqL2N1cnNvcjogbm90LWFsbG93ZWQ7fS5mYy1ldmVudCAuZmMtYmcgeyAvKiB0aGUgZ2VuZXJpYyAuZmMtYmcgYWxyZWFkeSBkb2VzIHBvc2l0aW9uICovei1pbmRleDogMTtiYWNrZ3JvdW5kOiAjZmZmO29wYWNpdHk6IC4yNTtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MjUpOyAvKiBmb3IgSUUgKi99LmZjLWV2ZW50IC5mYy1jb250ZW50IHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMjt9LmZjLWV2ZW50IC5mYy1yZXNpemVyIHtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogMzt9LyogSG9yaXpvbnRhbCBFdmVudHMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLyogZXZlbnRzIHRoYXQgYXJlIGNvbnRpbnVpbmcgdG8vZnJvbSBhbm90aGVyIHdlZWsuIGtpbGwgcm91bmRlZCBjb3JuZXJzIGFuZCBidXR0IHVwIGFnYWluc3QgZWRnZSAqLy5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtbm90LXN0YXJ0LC5mYy1ydGwgLmZjLWgtZXZlbnQuZmMtbm90LWVuZCB7bWFyZ2luLWxlZnQ6IDA7Ym9yZGVyLWxlZnQtd2lkdGg6IDA7cGFkZGluZy1sZWZ0OiAxcHg7IC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7fS5mYy1sdHIgLmZjLWgtZXZlbnQuZmMtbm90LWVuZCwuZmMtcnRsIC5mYy1oLWV2ZW50LmZjLW5vdC1zdGFydCB7bWFyZ2luLXJpZ2h0OiAwO2JvcmRlci1yaWdodC13aWR0aDogMDtwYWRkaW5nLXJpZ2h0OiAxcHg7IC8qIHJlcGxhY2UgdGhlIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDt9LyogcmVzaXplciAqLy5mYy1oLWV2ZW50IC5mYy1yZXNpemVyIHsgLyogcG9zaXRpb25lZCBpdCB0byBvdmVyY29tZSB0aGUgZXZlbnQncyBib3JkZXJzICovdG9wOiAtMXB4O2JvdHRvbTogLTFweDtsZWZ0OiAtMXB4O3JpZ2h0OiAtMXB4O3dpZHRoOiA1cHg7fS8qIGxlZnQgcmVzaXplciAgKi8uZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyLC5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXI6YmVmb3JlLC5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXI6YWZ0ZXIsLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXIsLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXI6YmVmb3JlLC5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyOmFmdGVyIHtyaWdodDogYXV0bzsgLyogaWdub3JlIHRoZSByaWdodCBhbmQgb25seSB1c2UgdGhlIGxlZnQgKi9jdXJzb3I6IHctcmVzaXplO30vKiByaWdodCByZXNpemVyICovLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXIsLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtZW5kLXJlc2l6ZXI6YmVmb3JlLC5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyOmFmdGVyLC5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXIsLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcjpiZWZvcmUsLmZjLXJ0bCAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplcjphZnRlciB7bGVmdDogYXV0bzsgLyogaWdub3JlIHRoZSBsZWZ0IGFuZCBvbmx5IHVzZSB0aGUgcmlnaHQgKi9jdXJzb3I6IGUtcmVzaXplO30vKiBEYXlHcmlkIGV2ZW50cy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1XZSB1c2UgdGhlIGZ1bGwgImZjLWRheS1ncmlkLWV2ZW50IiBjbGFzcyBpbnN0ZWFkIG9mIHVzaW5nIGRlc2NlbmRhbnRzIGJlY2F1c2UgdGhlIGV2ZW50IHdvbid0YmUgYSBkZXNjZW5kYW50IG9mIHRoZSBncmlkIHdoZW4gaXQgaXMgYmVpbmcgZHJhZ2dlZC4qLy5mYy1kYXktZ3JpZC1ldmVudCB7bWFyZ2luOiAxcHggMnB4IDA7IC8qIHNwYWNpbmcgYmV0d2VlbiBldmVudHMgYW5kIGVkZ2VzICovcGFkZGluZzogMCAxcHg7fS5mYy1kYXktZ3JpZC1ldmVudCAuZmMtY29udGVudCB7IC8qIGZvcmNlIGV2ZW50cyB0byBiZSBvbmUtbGluZSB0YWxsICovd2hpdGUtc3BhY2U6IG5vd3JhcDtvdmVyZmxvdzogaGlkZGVuO30uZmMtZGF5LWdyaWQtZXZlbnQgLmZjLXRpbWUge2ZvbnQtd2VpZ2h0OiBib2xkO30uZmMtZGF5LWdyaWQtZXZlbnQgLmZjLXJlc2l6ZXIgeyAvKiBlbmxhcmdlIHRoZSBkZWZhdWx0IGhpdCBhcmVhICovbGVmdDogLTNweDtyaWdodDogLTNweDt3aWR0aDogN3B4O30vKiBFdmVudCBMaW1pdGluZy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8vKiAibW9yZSIgbGluayB0aGF0IHJlcHJlc2VudHMgaGlkZGVuIGV2ZW50cyAqL2EuZmMtbW9yZSB7bWFyZ2luOiAxcHggM3B4O2ZvbnQtc2l6ZTogLjg1ZW07Y3Vyc29yOiBwb2ludGVyO3RleHQtZGVjb3JhdGlvbjogbm9uZTt9YS5mYy1tb3JlOmhvdmVyIHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9LmZjLWxpbWl0ZWQgeyAvKiByb3dzIGFuZCBjZWxscyB0aGF0IGFyZSBoaWRkZW4gYmVjYXVzZSBvZiBhICJtb3JlIiBsaW5rICovZGlzcGxheTogbm9uZTt9LyogcG9wb3ZlciB0aGF0IGFwcGVhcnMgd2hlbiAibW9yZSIgbGluayBpcyBjbGlja2VkICovLmZjLWRheS1ncmlkIC5mYy1yb3cge3otaW5kZXg6IDE7IC8qIG1ha2UgdGhlICJtb3JlIiBwb3BvdmVyIG9uZSBoaWdoZXIgdGhhbiB0aGlzICovfS5mYy1tb3JlLXBvcG92ZXIge3otaW5kZXg6IDI7d2lkdGg6IDIyMHB4O30uZmMtbW9yZS1wb3BvdmVyIC5mYy1ldmVudC1jb250YWluZXIge3BhZGRpbmc6IDEwcHg7fS8qIE5vdyBJbmRpY2F0b3ItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLW5vdy1pbmRpY2F0b3Ige3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3JkZXI6IDAgc29saWQgcmVkO30vKiBUb29sYmFyLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy10b29sYmFyIHt0ZXh0LWFsaWduOiBjZW50ZXI7bWFyZ2luLWJvdHRvbTogMWVtO30uZmMtdG9vbGJhciAuZmMtbGVmdCB7ZmxvYXQ6IGxlZnQ7fS5mYy10b29sYmFyIC5mYy1yaWdodCB7ZmxvYXQ6IHJpZ2h0O30uZmMtdG9vbGJhciAuZmMtY2VudGVyIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fS8qIHRoZSB0aGluZ3Mgd2l0aGluIGVhY2ggbGVmdC9yaWdodC9jZW50ZXIgc2VjdGlvbiAqLy5mYyAuZmMtdG9vbGJhciA+ICogPiAqIHsgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVycmlkZSBidXR0b24gYm9yZGVyIG1hcmdpbnMgKi9mbG9hdDogbGVmdDttYXJnaW4tbGVmdDogLjc1ZW07fS8qIHRoZSBmaXJzdCB0aGluZyB3aXRoaW4gZWFjaCBsZWZ0L2NlbnRlci9yaWdodCBzZWN0aW9uICovLmZjIC5mYy10b29sYmFyID4gKiA+IDpmaXJzdC1jaGlsZCB7IC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcnJpZGUgYnV0dG9uIGJvcmRlciBtYXJnaW5zICovbWFyZ2luLWxlZnQ6IDA7fS8qIHRpdGxlIHRleHQgKi8uZmMtdG9vbGJhciBoMiB7bWFyZ2luOiAwO30vKiBidXR0b24gbGF5ZXJpbmcgKGZvciBib3JkZXIgcHJlY2VkZW5jZSkgKi8uZmMtdG9vbGJhciBidXR0b24ge3Bvc2l0aW9uOiByZWxhdGl2ZTt9LmZjLXRvb2xiYXIgLmZjLXN0YXRlLWhvdmVyLC5mYy10b29sYmFyIC51aS1zdGF0ZS1ob3ZlciB7ei1pbmRleDogMjt9LmZjLXRvb2xiYXIgLmZjLXN0YXRlLWRvd24ge3otaW5kZXg6IDM7fS5mYy10b29sYmFyIC5mYy1zdGF0ZS1hY3RpdmUsLmZjLXRvb2xiYXIgLnVpLXN0YXRlLWFjdGl2ZSB7ei1pbmRleDogNDt9LmZjLXRvb2xiYXIgYnV0dG9uOmZvY3VzIHt6LWluZGV4OiA1O30vKiBWaWV3IFN0cnVjdHVyZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8vKiB1bmRvIHR3aXR0ZXIgYm9vdHN0cmFwJ3MgYm94LXNpemluZyBydWxlcy4gbm9ybWFsaXplcyBwb3NpdGlvbmluZyB0ZWNobmlxdWVzICovLyogZG9uJ3QgZG8gdGhpcyBmb3IgdGhlIHRvb2xiYXIgYmVjYXVzZSB3ZSdsbCB3YW50IGJvb3RzdHJhcCB0byBzdHlsZSB0aG9zZSBidXR0b25zIGFzIHNvbWUgcHQgKi8uZmMtdmlldy1jb250YWluZXIgKiwuZmMtdmlldy1jb250YWluZXIgKjpiZWZvcmUsLmZjLXZpZXctY29udGFpbmVyICo6YWZ0ZXIgey13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtib3gtc2l6aW5nOiBjb250ZW50LWJveDt9LmZjLXZpZXcsIC8qIHNjb3BlIHBvc2l0aW9uaW5nIGFuZCB6LWluZGV4J3MgZm9yIGV2ZXJ5dGhpbmcgd2l0aGluIHRoZSB2aWV3ICovLmZjLXZpZXcgPiB0YWJsZSB7IC8qIHNvIGRyYWdnZWQgZWxlbWVudHMgY2FuIGJlIGFib3ZlIHRoZSB2aWV3J3MgbWFpbiBlbGVtZW50ICovcG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDE7fS8qIEJhc2ljVmlldy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8vKiBkYXkgcm93IHN0cnVjdHVyZSAqLy5mYy1iYXNpY1dlZWstdmlldyAuZmMtY29udGVudC1za2VsZXRvbiwuZmMtYmFzaWNEYXktdmlldyAuZmMtY29udGVudC1za2VsZXRvbiB7Lyogd2UgYXJlIHN1cmUgdGhlcmUgYXJlIG5vIGRheSBudW1iZXJzIGluIHRoZXNlIHZpZXdzLCBzby4uLiAqL3BhZGRpbmctdG9wOiAxcHg7IC8qIGFkZCBhIHBpeGVsIHRvIG1ha2Ugc3VyZSB0aGVyZSBhcmUgMnB4IHBhZGRpbmcgYWJvdmUgZXZlbnRzICovcGFkZGluZy1ib3R0b206IDFlbTsgLyogZW5zdXJlIGEgc3BhY2UgYXQgYm90dG9tIG9mIGNlbGwgZm9yIHVzZXIgc2VsZWN0aW5nL2NsaWNraW5nICovfS5mYy1iYXNpYy12aWV3IC5mYy1ib2R5IC5mYy1yb3cge21pbi1oZWlnaHQ6IDRlbTsgLyogZW5zdXJlIHRoYXQgYWxsIHJvd3MgYXJlIGF0IGxlYXN0IHRoaXMgdGFsbCAqL30vKiBhICJyaWdpZCIgcm93IHdpbGwgdGFrZSB1cCBhIGNvbnN0YW50IGFtb3VudCBvZiBoZWlnaHQgYmVjYXVzZSBjb250ZW50LXNrZWxldG9uIGlzIGFic29sdXRlICovLmZjLXJvdy5mYy1yaWdpZCB7b3ZlcmZsb3c6IGhpZGRlbjt9LmZjLXJvdy5mYy1yaWdpZCAuZmMtY29udGVudC1za2VsZXRvbiB7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3JpZ2h0OiAwO30vKiB3ZWVrIGFuZCBkYXkgbnVtYmVyIHN0eWxpbmcgKi8uZmMtYmFzaWMtdmlldyAuZmMtd2Vlay1udW1iZXIsLmZjLWJhc2ljLXZpZXcgLmZjLWRheS1udW1iZXIge3BhZGRpbmc6IDAgMnB4O30uZmMtYmFzaWMtdmlldyB0ZC5mYy13ZWVrLW51bWJlciBzcGFuLC5mYy1iYXNpYy12aWV3IHRkLmZjLWRheS1udW1iZXIge3BhZGRpbmctdG9wOiAycHg7cGFkZGluZy1ib3R0b206IDJweDt9LmZjLWJhc2ljLXZpZXcgLmZjLXdlZWstbnVtYmVyIHt0ZXh0LWFsaWduOiBjZW50ZXI7fS5mYy1iYXNpYy12aWV3IC5mYy13ZWVrLW51bWJlciBzcGFuIHsvKiB3b3JrIGFyb3VuZCB0aGUgd2F5IHdlIGRvIGNvbHVtbiByZXNpemluZyBhbmQgZW5zdXJlIGEgbWluaW11bSB3aWR0aCAqL2Rpc3BsYXk6IGlubGluZS1ibG9jazttaW4td2lkdGg6IDEuMjVlbTt9LmZjLWx0ciAuZmMtYmFzaWMtdmlldyAuZmMtZGF5LW51bWJlciB7dGV4dC1hbGlnbjogcmlnaHQ7fS5mYy1ydGwgLmZjLWJhc2ljLXZpZXcgLmZjLWRheS1udW1iZXIge3RleHQtYWxpZ246IGxlZnQ7fS5mYy1kYXktbnVtYmVyLmZjLW90aGVyLW1vbnRoIHtvcGFjaXR5OiAwLjM7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsgLyogZm9yIElFICovLyogb3BhY2l0eSB3aXRoIHNtYWxsIGZvbnQgY2FuIHNvbWV0aW1lcyBsb29rIHRvbyBmYWRlZG1pZ2h0IHdhbnQgdG8gc2V0IHRoZSAnY29sb3InIHByb3BlcnR5IGluc3RlYWRtYWtpbmcgZGF5LW51bWJlcnMgYm9sZCBhbHNvIGZpeGVzIHRoZSBwcm9ibGVtICovfS8qIEFnZW5kYVZpZXcgYWxsLWRheSBhcmVhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQge3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiAyOyAvKiBzbyB0aGUgIm1vcmUuLiIgcG9wb3ZlciB3aWxsIGJlIG92ZXIgdGhlIHRpbWUgZ3JpZCAqL30uZmMtYWdlbmRhLXZpZXcgLmZjLWRheS1ncmlkIC5mYy1yb3cge21pbi1oZWlnaHQ6IDNlbTsgLyogYWxsLWRheSBzZWN0aW9uIHdpbGwgbmV2ZXIgZ2V0IHNob3J0ZXIgdGhhbiB0aGlzICovfS5mYy1hZ2VuZGEtdmlldyAuZmMtZGF5LWdyaWQgLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7cGFkZGluZy10b3A6IDFweDsgLyogYWRkIGEgcGl4ZWwgdG8gbWFrZSBzdXJlIHRoZXJlIGFyZSAycHggcGFkZGluZyBhYm92ZSBldmVudHMgKi9wYWRkaW5nLWJvdHRvbTogMWVtOyAvKiBnaXZlIHNwYWNlIHVuZGVybmVhdGggZXZlbnRzIGZvciBjbGlja2luZy9zZWxlY3RpbmcgZGF5cyAqL30vKiBUaW1lR3JpZCBheGlzIHJ1bm5pbmcgZG93biB0aGUgc2lkZSAoZm9yIGJvdGggdGhlIGFsbC1kYXkgYXJlYSBhbmQgdGhlIHNsb3QgYXJlYSktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjIC5mYy1heGlzIHsgLyogLmZjIHRvIG92ZXJjb21lIGRlZmF1bHQgY2VsbCBzdHlsZXMgKi92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO3BhZGRpbmc6IDAgNHB4O3doaXRlLXNwYWNlOiBub3dyYXA7fS5mYy1sdHIgLmZjLWF4aXMge3RleHQtYWxpZ246IHJpZ2h0O30uZmMtcnRsIC5mYy1heGlzIHt0ZXh0LWFsaWduOiBsZWZ0O30udWktd2lkZ2V0IHRkLmZjLWF4aXMge2ZvbnQtd2VpZ2h0OiBub3JtYWw7IC8qIG92ZXJjb21lIGpxdWkgdGhlbWUgbWFraW5nIGl0IGJvbGQgKi99LyogVGltZUdyaWQgU3RydWN0dXJlLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy10aW1lLWdyaWQtY29udGFpbmVyLCAvKiBzbyBzY3JvbGwgY29udGFpbmVyJ3Mgei1pbmRleCBpcyBiZWxvdyBhbGwtZGF5ICovLmZjLXRpbWUtZ3JpZCB7IC8qIHNvIHNsYXRzL2JnL2NvbnRlbnQvZXRjIHBvc2l0aW9ucyBnZXQgc2NvcGVkIHdpdGhpbiBoZXJlICovcG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDE7fS5mYy10aW1lLWdyaWQge21pbi1oZWlnaHQ6IDEwMCU7IC8qIHNvIGlmIGhlaWdodCBzZXR0aW5nIGlzICdhdXRvJywgLmZjLWJnIHN0cmV0Y2hlcyB0byBmaWxsIGhlaWdodCAqL30uZmMtdGltZS1ncmlkIHRhYmxlIHsgLyogZG9uJ3QgcHV0IG91dGVyIGJvcmRlcnMgb24gc2xhdHMvYmcvY29udGVudC9ldGMgKi9ib3JkZXI6IDAgaGlkZGVuIHRyYW5zcGFyZW50O30uZmMtdGltZS1ncmlkID4gLmZjLWJnIHt6LWluZGV4OiAxO30uZmMtdGltZS1ncmlkIC5mYy1zbGF0cywuZmMtdGltZS1ncmlkID4gaHIgeyAvKiB0aGUgPGhyPiBBZ2VuZGFWaWV3IGluamVjdHMgd2hlbiBncmlkIGlzIHNob3J0ZXIgdGhhbiBzY3JvbGxlciAqL3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiAyO30uZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LWNvbCB7cG9zaXRpb246IHJlbGF0aXZlOyAvKiBiZWNhdXNlIG5vdy1pbmRpY2F0b3IgbGl2ZXMgZGlyZWN0bHkgaW5zaWRlICovfS5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24ge3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAzO3RvcDogMDtsZWZ0OiAwO3JpZ2h0OiAwO30vKiBkaXZzIHdpdGhpbiBhIGNlbGwgd2l0aGluIHRoZSBmYy1jb250ZW50LXNrZWxldG9uICovLmZjLXRpbWUtZ3JpZCAuZmMtYnVzaW5lc3MtY29udGFpbmVyIHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMTt9LmZjLXRpbWUtZ3JpZCAuZmMtYmdldmVudC1jb250YWluZXIge3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiAyO30uZmMtdGltZS1ncmlkIC5mYy1oaWdobGlnaHQtY29udGFpbmVyIHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMzt9LmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyIHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogNDt9LmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1saW5lIHt6LWluZGV4OiA1O30uZmMtdGltZS1ncmlkIC5mYy1oZWxwZXItY29udGFpbmVyIHsgLyogYWxzbyBpcyBmYy1ldmVudC1jb250YWluZXIgKi9wb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogNjt9LyogVGltZUdyaWQgU2xhdHMgKGxpbmVzIHRoYXQgcnVuIGhvcml6b250YWxseSktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgdGQge2hlaWdodDogMS41ZW07Ym9yZGVyLWJvdHRvbTogMDsgLyogZWFjaCBjZWxsIGlzIHJlc3BvbnNpYmxlIGZvciBpdHMgdG9wIGJvcmRlciAqL30uZmMtdGltZS1ncmlkIC5mYy1zbGF0cyAuZmMtbWlub3IgdGQge2JvcmRlci10b3Atc3R5bGU6IGRvdHRlZDt9LmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgLnVpLXdpZGdldC1jb250ZW50IHsgLyogZm9yIGpxdWkgdGhlbWUgKi9iYWNrZ3JvdW5kOiBub25lOyAvKiBzZWUgdGhyb3VnaCB0byBmYy1iZyAqL30vKiBUaW1lR3JpZCBIaWdobGlnaHRpbmcgU2xvdHMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0LWNvbnRhaW5lciB7IC8qIGEgZGl2IHdpdGhpbiBhIGNlbGwgd2l0aGluIHRoZSBmYy1oaWdobGlnaHQtc2tlbGV0b24gKi9wb3NpdGlvbjogcmVsYXRpdmU7IC8qIHNjb3BlcyB0aGUgbGVmdC9yaWdodCBvZiB0aGUgZmMtaGlnaGxpZ2h0IHRvIGJlIGluIHRoZSBjb2x1bW4gKi99LmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0IHtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogMDtyaWdodDogMDsvKiB0b3AgYW5kIGJvdHRvbSB3aWxsIGJlIGluIGJ5IEpTICovfS8qIFRpbWVHcmlkIEV2ZW50IENvbnRhaW5tZW50LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy1sdHIgLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQtY29udGFpbmVyIHsgLyogc3BhY2Ugb24gdGhlIHNpZGVzIG9mIGV2ZW50cyBmb3IgTFRSIChkZWZhdWx0KSAqL21hcmdpbjogMCAyLjUlIDAgMnB4O30uZmMtcnRsIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7IC8qIHNwYWNlIG9uIHRoZSBzaWRlcyBvZiBldmVudHMgZm9yIFJUTCAqL21hcmdpbjogMCAycHggMCAyLjUlO30uZmMtdGltZS1ncmlkIC5mYy1ldmVudCwuZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50IHtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogMTsgLyogc2NvcGUgaW5uZXIgei1pbmRleCdzICovfS5mYy10aW1lLWdyaWQgLmZjLWJnZXZlbnQgey8qIGJhY2tncm91bmQgZXZlbnRzIGFsd2F5cyBzcGFuIGZ1bGwgd2lkdGggKi9sZWZ0OiAwO3JpZ2h0OiAwO30vKiBHZW5lcmljIFZlcnRpY2FsIEV2ZW50LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy12LWV2ZW50LmZjLW5vdC1zdGFydCB7IC8qIGV2ZW50cyB0aGF0IGFyZSBjb250aW51aW5nIGZyb20gYW5vdGhlciBkYXkgKi8vKiByZXBsYWNlIHNwYWNlIG1hZGUgYnkgdGhlIHRvcCBib3JkZXIgd2l0aCBwYWRkaW5nICovYm9yZGVyLXRvcC13aWR0aDogMDtwYWRkaW5nLXRvcDogMXB4Oy8qIHJlbW92ZSB0b3Agcm91bmRlZCBjb3JuZXJzICovYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDt9LmZjLXYtZXZlbnQuZmMtbm90LWVuZCB7LyogcmVwbGFjZSBzcGFjZSBtYWRlIGJ5IHRoZSB0b3AgYm9yZGVyIHdpdGggcGFkZGluZyAqL2JvcmRlci1ib3R0b20td2lkdGg6IDA7cGFkZGluZy1ib3R0b206IDFweDsvKiByZW1vdmUgYm90dG9tIHJvdW5kZWQgY29ybmVycyAqL2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7fS8qIFRpbWVHcmlkIEV2ZW50IFN0eWxpbmctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV2UgdXNlIHRoZSBmdWxsICJmYy10aW1lLWdyaWQtZXZlbnQiIGNsYXNzIGluc3RlYWQgb2YgdXNpbmcgZGVzY2VuZGFudHMgYmVjYXVzZSB0aGUgZXZlbnQgd29uJ3RiZSBhIGRlc2NlbmRhbnQgb2YgdGhlIGdyaWQgd2hlbiBpdCBpcyBiZWluZyBkcmFnZ2VkLiovLmZjLXRpbWUtZ3JpZC1ldmVudCB7b3ZlcmZsb3c6IGhpZGRlbjsgLyogZG9uJ3QgbGV0IHRoZSBiZyBmbG93IG92ZXIgcm91bmRlZCBjb3JuZXJzICovfS5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXRpbWUsLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGl0bGUge3BhZGRpbmc6IDAgMXB4O30uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aW1lIHtmb250LXNpemU6IC44NWVtO3doaXRlLXNwYWNlOiBub3dyYXA7fS8qIHNob3J0IG1vZGUsIHdoZXJlIHRpbWUgYW5kIHRpdGxlIGFyZSBvbiB0aGUgc2FtZSBsaW5lICovLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtY29udGVudCB7LyogZG9uJ3Qgd3JhcCB0byBzZWNvbmQgbGluZSAobm93IHRoYXQgY29udGVudHMgd2lsbCBiZSBpbmxpbmUpICovd2hpdGUtc3BhY2U6IG5vd3JhcDt9LmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZSwuZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aXRsZSB7LyogcHV0IHRoZSB0aW1lIGFuZCB0aXRsZSBvbiB0aGUgc2FtZSBsaW5lICovZGlzcGxheTogaW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOiB0b3A7fS5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpbWUgc3BhbiB7ZGlzcGxheTogbm9uZTsgLyogZG9uJ3QgZGlzcGxheSB0aGUgZnVsbCB0aW1lIHRleHQuLi4gKi99LmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZTpiZWZvcmUge2NvbnRlbnQ6IGF0dHIoZGF0YS1zdGFydCk7IC8qIC4uLmluc3RlYWQsIGRpc3BsYXkgb25seSB0aGUgc3RhcnQgdGltZSAqL30uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lOmFmdGVyIHtjb250ZW50OiAiXDAwMEEwLVwwMDBBMCI7IC8qIHNlcGVyYXRlIHdpdGggYSBkYXNoLCB3cmFwcGVkIGluIG5ic3AncyAqL30uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aXRsZSB7Zm9udC1zaXplOiAuODVlbTsgLyogbWFrZSB0aGUgdGl0bGUgdGV4dCB0aGUgc2FtZSBzaXplIGFzIHRoZSB0aW1lICovcGFkZGluZzogMDsgLyogdW5kbyBwYWRkaW5nIGZyb20gYWJvdmUgKi99LyogcmVzaXplciAqLy5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXJlc2l6ZXIge2xlZnQ6IDA7cmlnaHQ6IDA7Ym90dG9tOiAwO2hlaWdodDogOHB4O292ZXJmbG93OiBoaWRkZW47bGluZS1oZWlnaHQ6IDhweDtmb250LXNpemU6IDExcHg7Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTt0ZXh0LWFsaWduOiBjZW50ZXI7Y3Vyc29yOiBzLXJlc2l6ZTt9LmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtcmVzaXplcjphZnRlciB7Y29udGVudDogIj0iO30vKiBOb3cgSW5kaWNhdG9yLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy10aW1lLWdyaWQgLmZjLW5vdy1pbmRpY2F0b3ItbGluZSB7Ym9yZGVyLXRvcC13aWR0aDogMXB4O2xlZnQ6IDA7cmlnaHQ6IDA7fS8qIGFycm93IG9uIGF4aXMgKi8uZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWFycm93IHttYXJnaW4tdG9wOiAtNXB4OyAvKiB2ZXJ0aWNhbGx5IGNlbnRlciBvbiB0b3AgY29vcmRpbmF0ZSAqL30uZmMtbHRyIC5mYy10aW1lLWdyaWQgLmZjLW5vdy1pbmRpY2F0b3ItYXJyb3cge2xlZnQ6IDA7LyogdHJpYW5nbGUgcG9pbnRpbmcgcmlnaHQuLi4gKi9ib3JkZXItd2lkdGg6IDVweCAwIDVweCA2cHg7Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7fS5mYy1ydGwgLmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1hcnJvdyB7cmlnaHQ6IDA7LyogdHJpYW5nbGUgcG9pbnRpbmcgbGVmdC4uLiAqL2JvcmRlci13aWR0aDogNXB4IDZweCA1cHggMDtib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDt9CgoKLyoKICogCWJvb3RzdHJhcCBjb2RlIGNvbG9yaW5nCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5obGx7YmFja2dyb3VuZC1jb2xvcjojZmZjfS5je2NvbG9yOiM5OTl9LmVycntjb2xvcjojQTAwO2JhY2tncm91bmQtY29sb3I6I0ZBQX0ua3tjb2xvcjojMDY5fS5ve2NvbG9yOiM1NTV9LmNte2NvbG9yOiM5OTl9LmNwe2NvbG9yOiMwOTl9LmMxe2NvbG9yOiM5OTl9LmNze2NvbG9yOiM5OTl9Lmdke2JhY2tncm91bmQtY29sb3I6I0ZDQztib3JkZXI6MXB4IHNvbGlkICNDMDB9Lmdle2ZvbnQtc3R5bGU6aXRhbGljfS5ncntjb2xvcjpyZWR9Lmdoe2NvbG9yOiMwMzB9Lmdpe2JhY2tncm91bmQtY29sb3I6I0NGQztib3JkZXI6MXB4IHNvbGlkICMwQzB9Lmdve2NvbG9yOiNBQUF9Lmdwe2NvbG9yOiMwMDl9Lmd1e2NvbG9yOiMwMzB9Lmd0e2NvbG9yOiM5QzZ9Lmtje2NvbG9yOiMwNjl9Lmtke2NvbG9yOiMwNjl9Lmtue2NvbG9yOiMwNjl9Lmtwe2NvbG9yOiMwNjl9Lmtye2NvbG9yOiMwNjl9Lmt0e2NvbG9yOiMwNzh9Lm17Y29sb3I6I0Y2MH0uc3tjb2xvcjojZDQ0OTUwfS5uYXtjb2xvcjojNGY5ZmNmfS5uYntjb2xvcjojMzY2fS5uY3tjb2xvcjojMEE4fS5ub3tjb2xvcjojMzYwfS5uZHtjb2xvcjojOTlGfS5uaXtjb2xvcjojOTk5fS5uZXtjb2xvcjojQzAwfS5uZntjb2xvcjojQzBGfS5ubHtjb2xvcjojOTlGfS5ubntjb2xvcjojMENGfS5udHtjb2xvcjojMmY2ZjlmfS5udntjb2xvcjojMDMzfS5vd3tjb2xvcjojMDAwfS53e2NvbG9yOiNiYmJ9Lm1me2NvbG9yOiNGNjB9Lm1oe2NvbG9yOiNGNjB9Lm1pe2NvbG9yOiNGNjB9Lm1ve2NvbG9yOiNGNjB9LnNie2NvbG9yOiNDMzB9LnNje2NvbG9yOiNDMzB9LnNke2NvbG9yOiNDMzA7Zm9udC1zdHlsZTppdGFsaWN9LnMye2NvbG9yOiNDMzB9LnNle2NvbG9yOiNDMzB9LnNoe2NvbG9yOiNDMzB9LnNpe2NvbG9yOiNBMDB9LnN4e2NvbG9yOiNDMzB9LnNye2NvbG9yOiMzQUF9LnMxe2NvbG9yOiNDMzB9LnNze2NvbG9yOiNGQzN9LmJwe2NvbG9yOiMzNjZ9LnZje2NvbG9yOiMwMzN9LnZne2NvbG9yOiMwMzN9LnZpe2NvbG9yOiMwMzN9Lmlse2NvbG9yOiNGNjB9LmNzcyAubnQrLm50LC5jc3MgLm8sLmNzcyAubysubnR7Y29sb3I6Izk5OX0KCgovKgogKiAJY29kZSBoaWdobGlnaHQKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KY29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSwgcHJlW2NsYXNzKj1sYW5ndWFnZS1dIHtjb2xvcjogIzAwMDt0ZXh0LXNoYWRvdzogMCAxcHggI2ZmZjtmb250LWZhbWlseTogQ29uc29sYXMsIE1vbmFjbywgQW5kYWxlIE1vbm8sIG1vbm9zcGFjZTtkaXJlY3Rpb246IGx0cjt0ZXh0LWFsaWduOiBsZWZ0O3doaXRlLXNwYWNlOiBwcmU7d29yZC1zcGFjaW5nOiBub3JtYWw7d29yZC1icmVhazogbm9ybWFsO2xpbmUtaGVpZ2h0OiAxLjU7LW1vei10YWItc2l6ZTogNDt0YWItc2l6ZTogNDstd2Via2l0LWh5cGhlbnM6IG5vbmU7LW1vei1oeXBoZW5zOiBub25lOy1tcy1oeXBoZW5zOiBub25lO2h5cGhlbnM6IG5vbmV9Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSA6Oi1tb3otc2VsZWN0aW9uLCBjb2RlW2NsYXNzKj1sYW5ndWFnZS1dOjotbW96LXNlbGVjdGlvbiwgcHJlW2NsYXNzKj1sYW5ndWFnZS1dIDo6LW1vei1zZWxlY3Rpb24sIHByZVtjbGFzcyo9bGFuZ3VhZ2UtXTo6LW1vei1zZWxlY3Rpb24ge3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZDojYjNkNGZjfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0gOjpzZWxlY3Rpb24sIGNvZGVbY2xhc3MqPWxhbmd1YWdlLV06OnNlbGVjdGlvbiwgcHJlW2NsYXNzKj1sYW5ndWFnZS1dIDo6c2VsZWN0aW9uLCBwcmVbY2xhc3MqPWxhbmd1YWdlLV06OnNlbGVjdGlvbiB7dGV4dC1zaGFkb3c6IG5vbmU7YmFja2dyb3VuZDogI2IzZDRmY31AbWVkaWEgcHJpbnQge2NvZGVbY2xhc3MqPWxhbmd1YWdlLV0sIHByZVtjbGFzcyo9bGFuZ3VhZ2UtXSB7dGV4dC1zaGFkb3c6IG5vbmV9fXByZVtjbGFzcyo9bGFuZ3VhZ2UtXSB7cGFkZGluZzogMWVtO21hcmdpbjogLjVlbSAwO292ZXJmbG93OiBhdXRvfTpub3QocHJlKT5jb2RlW2NsYXNzKj1sYW5ndWFnZS1dLCBwcmVbY2xhc3MqPWxhbmd1YWdlLV0ge2JhY2tncm91bmQ6ICNmNWYyZjB9Om5vdChwcmUpPmNvZGVbY2xhc3MqPWxhbmd1YWdlLV0ge3BhZGRpbmc6IC4xZW07Ym9yZGVyLXJhZGl1czogLjNlbX0udG9rZW4uY2RhdGEsIC50b2tlbi5jb21tZW50LCAudG9rZW4uZG9jdHlwZSwgLnRva2VuLnByb2xvZyB7Y29sb3I6ICM3MDgwOTB9LnRva2VuLnB1bmN0dWF0aW9uIHtjb2xvcjogIzk5OX0ubmFtZXNwYWNlIHtvcGFjaXR5OiAuN30udG9rZW4uYm9vbGVhbiwgLnRva2VuLmNvbnN0YW50LCAudG9rZW4uZGVsZXRlZCwgLnRva2VuLm51bWJlciwgLnRva2VuLnByb3BlcnR5LCAudG9rZW4uc3ltYm9sLCAudG9rZW4udGFnIHtjb2xvcjogIzkwNX0udG9rZW4uYXR0ci1uYW1lLCAudG9rZW4uYnVpbHRpbiwgLnRva2VuLmNoYXIsIC50b2tlbi5pbnNlcnRlZCwgLnRva2VuLnNlbGVjdG9yLCAudG9rZW4uc3RyaW5nIHtjb2xvcjogIzY5MH0ubGFuZ3VhZ2UtY3NzIC50b2tlbi5zdHJpbmcsIC5zdHlsZSAudG9rZW4uc3RyaW5nLCAudG9rZW4uZW50aXR5LCAudG9rZW4ub3BlcmF0b3IsIC50b2tlbi51cmwge2NvbG9yOiAjYTY3ZjU5O2JhY2tncm91bmQ6IGhzbGEoMCwwJSwxMDAlLC41KX0udG9rZW4uYXRydWxlLCAudG9rZW4uYXR0ci12YWx1ZSwgLnRva2VuLmtleXdvcmQge2NvbG9yOiAjMDdhfS50b2tlbi5mdW5jdGlvbiB7Y29sb3I6ICNkZDRhNjh9LnRva2VuLmltcG9ydGFudCwgLnRva2VuLnJlZ2V4LCAudG9rZW4udmFyaWFibGUge2NvbG9yOiAjZTkwfS50b2tlbi5ib2xkLCAudG9rZW4uaW1wb3J0YW50IHtmb250LXdlaWdodDogNzAwfS50b2tlbi5pdGFsaWMge2ZvbnQtc3R5bGU6IGl0YWxpY30udG9rZW4uZW50aXR5IHtjdXJzb3I6IGhlbHB9cHJlLmxpbmUtbnVtYmVycyB7cGFkZGluZy1sZWZ0OiAzLjhlbTtjb3VudGVyLXJlc2V0OiBhfXByZS5saW5lLW51bWJlcnMsIHByZS5saW5lLW51bWJlcnM+Y29kZSB7cG9zaXRpb246IHJlbGF0aXZlfS5saW5lLW51bWJlcnMgLmxpbmUtbnVtYmVycy1yb3dzIHtwb3NpdGlvbjogYWJzb2x1dGU7cG9pbnRlci1ldmVudHM6IG5vbmU7dG9wOiAwO2ZvbnQtc2l6ZTogMTAwJTtsZWZ0OiAtMy44ZW07d2lkdGg6IDNlbTtsZXR0ZXItc3BhY2luZzogLTFweDtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTk5Oy13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTstbXMtdXNlci1zZWxlY3Q6IG5vbmU7dXNlci1zZWxlY3Q6IG5vbmV9LmxpbmUtbnVtYmVycy1yb3dzPnNwYW4ge3BvaW50ZXItZXZlbnRzOiBub25lO2Rpc3BsYXk6IGJsb2NrO2NvdW50ZXItaW5jcmVtZW50OiBhfS5saW5lLW51bWJlcnMtcm93cz5zcGFuOmJlZm9yZSB7Y29udGVudDogY291bnRlcihhKTtjb2xvcjogIzk5OTtkaXNwbGF5OiBibG9jaztwYWRkaW5nLXJpZ2h0OiAuOGVtO3RleHQtYWxpZ246IHJpZ2h0fXByZVtjbGFzcyo9bGFuZ3VhZ2UtXSB7cG9zaXRpb246IHJlbGF0aXZlfXByZVtjbGFzcyo9bGFuZ3VhZ2UtXVtkYXRhLWxhbmd1YWdlXTpiZWZvcmUge2NvbnRlbnQ6IGF0dHIoZGF0YS1sYW5ndWFnZSk7Y29sb3I6ICMwMDA7YmFja2dyb3VuZC1jb2xvcjogI2NmY2ZjZjtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtyaWdodDogMDtmb250LXNpemU6IC45ZW07Ym9yZGVyLXJhZGl1czogMCAwIDAgNXB4O3BhZGRpbmc6IDAgLjVlbTt0ZXh0LXNoYWRvdzogbm9uZX0KCgovKgogKiAJcHJldHR5UGhvdG8KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KZGl2LnBwX2RlZmF1bHQgLnBwX3RvcCxkaXYucHBfZGVmYXVsdCAucHBfdG9wIC5wcF9taWRkbGUsZGl2LnBwX2RlZmF1bHQgLnBwX3RvcCAucHBfbGVmdCxkaXYucHBfZGVmYXVsdCAucHBfdG9wIC5wcF9yaWdodCxkaXYucHBfZGVmYXVsdCAucHBfYm90dG9tLGRpdi5wcF9kZWZhdWx0IC5wcF9ib3R0b20gLnBwX2xlZnQsZGl2LnBwX2RlZmF1bHQgLnBwX2JvdHRvbSAucHBfbWlkZGxlLGRpdi5wcF9kZWZhdWx0IC5wcF9ib3R0b20gLnBwX3JpZ2h0e2hlaWdodDoxM3B4fWRpdi5wcF9kZWZhdWx0IC5wcF90b3AgLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGUucG5nKSAtNzhweCAtOTNweCBuby1yZXBlYXR9ZGl2LnBwX2RlZmF1bHQgLnBwX3RvcCAucHBfbWlkZGxle2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlX3gucG5nKSB0b3AgbGVmdCByZXBlYXQteH1kaXYucHBfZGVmYXVsdCAucHBfdG9wIC5wcF9yaWdodHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZS5wbmcpIC0xMTJweCAtOTNweCBuby1yZXBlYXR9ZGl2LnBwX2RlZmF1bHQgLnBwX2NvbnRlbnQgLnBwdHtjb2xvcjojZjhmOGY4fWRpdi5wcF9kZWZhdWx0IC5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfbGVmdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZV95LnBuZykgLTdweCAwIHJlcGVhdC15O3BhZGRpbmctbGVmdDoxM3B4fWRpdi5wcF9kZWZhdWx0IC5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGVfeS5wbmcpIHRvcCByaWdodCByZXBlYXQteTtwYWRkaW5nLXJpZ2h0OjEzcHh9ZGl2LnBwX2RlZmF1bHQgLnBwX25leHQ6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGVfbmV4dC5wbmcpIGNlbnRlciByaWdodCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LnBwX2RlZmF1bHQgLnBwX3ByZXZpb3VzOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlX3ByZXYucG5nKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LnBwX2RlZmF1bHQgLnBwX2V4cGFuZHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZS5wbmcpIDAgLTI5cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9ZGl2LnBwX2RlZmF1bHQgLnBwX2V4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZS5wbmcpIDAgLTU2cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5wcF9kZWZhdWx0IC5wcF9jb250cmFjdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZS5wbmcpIDAgLTg0cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9ZGl2LnBwX2RlZmF1bHQgLnBwX2NvbnRyYWN0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlLnBuZykgMCAtMTEzcHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5wcF9kZWZhdWx0IC5wcF9jbG9zZXt3aWR0aDozMHB4O2hlaWdodDozMHB4O2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlLnBuZykgMnB4IDFweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LnBwX2RlZmF1bHQgLnBwX2dhbGxlcnkgdWwgbGkgYXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L2RlZmF1bHRfdGh1bWIucG5nKSBjZW50ZXIgY2VudGVyICNmOGY4Zjg7Ym9yZGVyOjFweCBzb2xpZCAjYWFhfWRpdi5wcF9kZWZhdWx0IC5wcF9zb2NpYWx7bWFyZ2luLXRvcDo3cHh9ZGl2LnBwX2RlZmF1bHQgLnBwX2dhbGxlcnkgYS5wcF9hcnJvd19wcmV2aW91cyxkaXYucHBfZGVmYXVsdCAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X25leHR7cG9zaXRpb246c3RhdGljO2xlZnQ6YXV0b31kaXYucHBfZGVmYXVsdCAucHBfbmF2IC5wcF9wbGF5LGRpdi5wcF9kZWZhdWx0IC5wcF9uYXYgLnBwX3BhdXNle2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlLnBuZykgLTUxcHggMXB4IG5vLXJlcGVhdDtoZWlnaHQ6MzBweDt3aWR0aDozMHB4fWRpdi5wcF9kZWZhdWx0IC5wcF9uYXYgLnBwX3BhdXNle2JhY2tncm91bmQtcG9zaXRpb246LTUxcHggLTI5cHh9ZGl2LnBwX2RlZmF1bHQgYS5wcF9hcnJvd19wcmV2aW91cyxkaXYucHBfZGVmYXVsdCBhLnBwX2Fycm93X25leHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGUucG5nKSAtMzFweCAtM3B4IG5vLXJlcGVhdDtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O21hcmdpbjo0cHggMCAwfWRpdi5wcF9kZWZhdWx0IGEucHBfYXJyb3dfbmV4dHtsZWZ0OjUycHg7YmFja2dyb3VuZC1wb3NpdGlvbjotODJweCAtM3B4fWRpdi5wcF9kZWZhdWx0IC5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfZGV0YWlsc3ttYXJnaW4tdG9wOjVweH1kaXYucHBfZGVmYXVsdCAucHBfbmF2e2NsZWFyOm5vbmU7aGVpZ2h0OjMwcHg7d2lkdGg6MTEwcHg7cG9zaXRpb246cmVsYXRpdmV9ZGl2LnBwX2RlZmF1bHQgLnBwX25hdiAuY3VycmVudFRleHRIb2xkZXJ7Zm9udC1mYW1pbHk6R2VvcmdpYTtmb250LXN0eWxlOml0YWxpYztjb2xvcjojOTk5O2ZvbnQtc2l6ZToxMXB4O2xlZnQ6NzVweDtsaW5lLWhlaWdodDoyNXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7bWFyZ2luOjA7cGFkZGluZzowIDAgMCAxMHB4fWRpdi5wcF9kZWZhdWx0IC5wcF9jbG9zZTpob3ZlcixkaXYucHBfZGVmYXVsdCAucHBfbmF2IC5wcF9wbGF5OmhvdmVyLGRpdi5wcF9kZWZhdWx0IC5wcF9uYXYgLnBwX3BhdXNlOmhvdmVyLGRpdi5wcF9kZWZhdWx0IC5wcF9hcnJvd19uZXh0OmhvdmVyLGRpdi5wcF9kZWZhdWx0IC5wcF9hcnJvd19wcmV2aW91czpob3ZlcntvcGFjaXR5OjAuN31kaXYucHBfZGVmYXVsdCAucHBfZGVzY3JpcHRpb257Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjVweCA1MHB4IDVweCAwfWRpdi5wcF9kZWZhdWx0IC5wcF9ib3R0b20gLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGUucG5nKSAtNzhweCAtMTI3cHggbm8tcmVwZWF0fWRpdi5wcF9kZWZhdWx0IC5wcF9ib3R0b20gLnBwX21pZGRsZXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZV94LnBuZykgYm90dG9tIGxlZnQgcmVwZWF0LXh9ZGl2LnBwX2RlZmF1bHQgLnBwX2JvdHRvbSAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGUucG5nKSAtMTEycHggLTEyN3B4IG5vLXJlcGVhdH1kaXYucHBfZGVmYXVsdCAucHBfbG9hZGVySWNvbntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L2xvYWRlci5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0fWRpdi5saWdodF9yb3VuZGVkIC5wcF90b3AgLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAtODhweCAtNTNweCBuby1yZXBlYXR9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX3RvcCAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAtMTEwcHggLTUzcHggbm8tcmVwZWF0fWRpdi5saWdodF9yb3VuZGVkIC5wcF9uZXh0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvYnRuTmV4dC5wbmcpIGNlbnRlciByaWdodCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX3ByZXZpb3VzOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvYnRuUHJldmlvdXMucG5nKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2V4cGFuZHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIC0zMXB4IC0yNnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYubGlnaHRfcm91bmRlZCAucHBfZXhwYW5kOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvc3ByaXRlLnBuZykgLTMxcHggLTQ3cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9yb3VuZGVkIC5wcF9jb250cmFjdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIDAgLTI2cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9yb3VuZGVkIC5wcF9jb250cmFjdDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIDAgLTQ3cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9yb3VuZGVkIC5wcF9jbG9zZXt3aWR0aDo3NXB4O2hlaWdodDoyMnB4O2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvc3ByaXRlLnBuZykgLTFweCAtMXB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYubGlnaHRfcm91bmRlZCAucHBfbmF2IC5wcF9wbGF5e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvc3ByaXRlLnBuZykgLTFweCAtMTAwcHggbm8tcmVwZWF0O2hlaWdodDoxNXB4O3dpZHRoOjE0cHh9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX25hdiAucHBfcGF1c2V7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAtMjRweCAtMTAwcHggbm8tcmVwZWF0O2hlaWdodDoxNXB4O3dpZHRoOjE0cHh9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2Fycm93X3ByZXZpb3Vze2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvc3ByaXRlLnBuZykgMCAtNzFweCBuby1yZXBlYXR9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2Fycm93X25leHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAtMjJweCAtNzFweCBuby1yZXBlYXR9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2JvdHRvbSAucHBfbGVmdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIC04OHB4IC04MHB4IG5vLXJlcGVhdH1kaXYubGlnaHRfcm91bmRlZCAucHBfYm90dG9tIC5wcF9yaWdodHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIC0xMTBweCAtODBweCBuby1yZXBlYXR9ZGl2LmRhcmtfcm91bmRlZCAucHBfdG9wIC5wcF9sZWZ0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9zcHJpdGUucG5nKSAtODhweCAtNTNweCBuby1yZXBlYXR9ZGl2LmRhcmtfcm91bmRlZCAucHBfdG9wIC5wcF9yaWdodHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvc3ByaXRlLnBuZykgLTExMHB4IC01M3B4IG5vLXJlcGVhdH1kaXYuZGFya19yb3VuZGVkIC5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfbGVmdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvY29udGVudFBhdHRlcm4ucG5nKSB0b3AgbGVmdCByZXBlYXQteX1kaXYuZGFya19yb3VuZGVkIC5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL2NvbnRlbnRQYXR0ZXJuLnBuZykgdG9wIHJpZ2h0IHJlcGVhdC15fWRpdi5kYXJrX3JvdW5kZWQgLnBwX25leHQ6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL2J0bk5leHQucG5nKSBjZW50ZXIgcmlnaHQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5kYXJrX3JvdW5kZWQgLnBwX3ByZXZpb3VzOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9idG5QcmV2aW91cy5wbmcpIGNlbnRlciBsZWZ0IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19yb3VuZGVkIC5wcF9leHBhbmR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC0zMXB4IC0yNnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19yb3VuZGVkIC5wcF9leHBhbmQ6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC0zMXB4IC00N3B4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19yb3VuZGVkIC5wcF9jb250cmFjdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvc3ByaXRlLnBuZykgMCAtMjZweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmRhcmtfcm91bmRlZCAucHBfY29udHJhY3Q6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIDAgLTQ3cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5kYXJrX3JvdW5kZWQgLnBwX2Nsb3Nle3dpZHRoOjc1cHg7aGVpZ2h0OjIycHg7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC0xcHggLTFweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmRhcmtfcm91bmRlZCAucHBfZGVzY3JpcHRpb257bWFyZ2luLXJpZ2h0Ojg1cHg7Y29sb3I6I2ZmZn1kaXYuZGFya19yb3VuZGVkIC5wcF9uYXYgLnBwX3BsYXl7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC0xcHggLTEwMHB4IG5vLXJlcGVhdDtoZWlnaHQ6MTVweDt3aWR0aDoxNHB4fWRpdi5kYXJrX3JvdW5kZWQgLnBwX25hdiAucHBfcGF1c2V7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC0yNHB4IC0xMDBweCBuby1yZXBlYXQ7aGVpZ2h0OjE1cHg7d2lkdGg6MTRweH1kaXYuZGFya19yb3VuZGVkIC5wcF9hcnJvd19wcmV2aW91c3tiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvc3ByaXRlLnBuZykgMCAtNzFweCBuby1yZXBlYXR9ZGl2LmRhcmtfcm91bmRlZCAucHBfYXJyb3dfbmV4dHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvc3ByaXRlLnBuZykgLTIycHggLTcxcHggbm8tcmVwZWF0fWRpdi5kYXJrX3JvdW5kZWQgLnBwX2JvdHRvbSAucHBfbGVmdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvc3ByaXRlLnBuZykgLTg4cHggLTgwcHggbm8tcmVwZWF0fWRpdi5kYXJrX3JvdW5kZWQgLnBwX2JvdHRvbSAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC0xMTBweCAtODBweCBuby1yZXBlYXR9ZGl2LmRhcmtfcm91bmRlZCAucHBfbG9hZGVySWNvbntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvbG9hZGVyLmdpZikgY2VudGVyIGNlbnRlciBuby1yZXBlYXR9ZGl2LmRhcmtfc3F1YXJlIC5wcF9sZWZ0LGRpdi5kYXJrX3NxdWFyZSAucHBfbWlkZGxlLGRpdi5kYXJrX3NxdWFyZSAucHBfcmlnaHQsZGl2LmRhcmtfc3F1YXJlIC5wcF9jb250ZW50e2JhY2tncm91bmQ6IzAwMH1kaXYuZGFya19zcXVhcmUgLnBwX2Rlc2NyaXB0aW9ue2NvbG9yOiNmZmY7bWFyZ2luOjAgODVweCAwIDB9ZGl2LmRhcmtfc3F1YXJlIC5wcF9sb2FkZXJJY29ue2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfc3F1YXJlL2xvYWRlci5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0fWRpdi5kYXJrX3NxdWFyZSAucHBfZXhwYW5ke2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfc3F1YXJlL3Nwcml0ZS5wbmcpIC0zMXB4IC0yNnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19zcXVhcmUgLnBwX2V4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9zcHJpdGUucG5nKSAtMzFweCAtNDdweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmRhcmtfc3F1YXJlIC5wcF9jb250cmFjdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9zcHJpdGUucG5nKSAwIC0yNnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19zcXVhcmUgLnBwX2NvbnRyYWN0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfc3F1YXJlL3Nwcml0ZS5wbmcpIDAgLTQ3cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5kYXJrX3NxdWFyZSAucHBfY2xvc2V7d2lkdGg6NzVweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9zcHJpdGUucG5nKSAtMXB4IC0xcHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5kYXJrX3NxdWFyZSAucHBfbmF2e2NsZWFyOm5vbmV9ZGl2LmRhcmtfc3F1YXJlIC5wcF9uYXYgLnBwX3BsYXl7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19zcXVhcmUvc3ByaXRlLnBuZykgLTFweCAtMTAwcHggbm8tcmVwZWF0O2hlaWdodDoxNXB4O3dpZHRoOjE0cHh9ZGl2LmRhcmtfc3F1YXJlIC5wcF9uYXYgLnBwX3BhdXNle2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfc3F1YXJlL3Nwcml0ZS5wbmcpIC0yNHB4IC0xMDBweCBuby1yZXBlYXQ7aGVpZ2h0OjE1cHg7d2lkdGg6MTRweH1kaXYuZGFya19zcXVhcmUgLnBwX2Fycm93X3ByZXZpb3Vze2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfc3F1YXJlL3Nwcml0ZS5wbmcpIDAgLTcxcHggbm8tcmVwZWF0fWRpdi5kYXJrX3NxdWFyZSAucHBfYXJyb3dfbmV4dHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9zcHJpdGUucG5nKSAtMjJweCAtNzFweCBuby1yZXBlYXR9ZGl2LmRhcmtfc3F1YXJlIC5wcF9uZXh0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfc3F1YXJlL2J0bk5leHQucG5nKSBjZW50ZXIgcmlnaHQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5kYXJrX3NxdWFyZSAucHBfcHJldmlvdXM6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19zcXVhcmUvYnRuUHJldmlvdXMucG5nKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3NxdWFyZSAucHBfZXhwYW5ke2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3NxdWFyZS9zcHJpdGUucG5nKSAtMzFweCAtMjZweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3NxdWFyZSAucHBfZXhwYW5kOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3NxdWFyZS9zcHJpdGUucG5nKSAtMzFweCAtNDdweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3NxdWFyZSAucHBfY29udHJhY3R7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfc3F1YXJlL3Nwcml0ZS5wbmcpIDAgLTI2cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9zcXVhcmUgLnBwX2NvbnRyYWN0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3NxdWFyZS9zcHJpdGUucG5nKSAwIC00N3B4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYubGlnaHRfc3F1YXJlIC5wcF9jbG9zZXt3aWR0aDo3NXB4O2hlaWdodDoyMnB4O2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3NxdWFyZS9zcHJpdGUucG5nKSAtMXB4IC0xcHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9zcXVhcmUgLnBwX25hdiAucHBfcGxheXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvc3ByaXRlLnBuZykgLTFweCAtMTAwcHggbm8tcmVwZWF0O2hlaWdodDoxNXB4O3dpZHRoOjE0cHh9ZGl2LmxpZ2h0X3NxdWFyZSAucHBfbmF2IC5wcF9wYXVzZXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvc3ByaXRlLnBuZykgLTI0cHggLTEwMHB4IG5vLXJlcGVhdDtoZWlnaHQ6MTVweDt3aWR0aDoxNHB4fWRpdi5saWdodF9zcXVhcmUgLnBwX2Fycm93X3ByZXZpb3Vze2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3NxdWFyZS9zcHJpdGUucG5nKSAwIC03MXB4IG5vLXJlcGVhdH1kaXYubGlnaHRfc3F1YXJlIC5wcF9hcnJvd19uZXh0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3NxdWFyZS9zcHJpdGUucG5nKSAtMjJweCAtNzFweCBuby1yZXBlYXR9ZGl2LmxpZ2h0X3NxdWFyZSAucHBfbmV4dDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvYnRuTmV4dC5wbmcpIGNlbnRlciByaWdodCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3NxdWFyZSAucHBfcHJldmlvdXM6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfc3F1YXJlL2J0blByZXZpb3VzLnBuZykgY2VudGVyIGxlZnQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5mYWNlYm9vayAucHBfdG9wIC5wcF9sZWZ0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIC04OHB4IC01M3B4IG5vLXJlcGVhdH1kaXYuZmFjZWJvb2sgLnBwX3RvcCAucHBfbWlkZGxle2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL2NvbnRlbnRQYXR0ZXJuVG9wLnBuZykgdG9wIGxlZnQgcmVwZWF0LXh9ZGl2LmZhY2Vib29rIC5wcF90b3AgLnBwX3JpZ2h0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIC0xMTBweCAtNTNweCBuby1yZXBlYXR9ZGl2LmZhY2Vib29rIC5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfbGVmdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9jb250ZW50UGF0dGVybkxlZnQucG5nKSB0b3AgbGVmdCByZXBlYXQteX1kaXYuZmFjZWJvb2sgLnBwX2NvbnRlbnRfY29udGFpbmVyIC5wcF9yaWdodHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9jb250ZW50UGF0dGVyblJpZ2h0LnBuZykgdG9wIHJpZ2h0IHJlcGVhdC15fWRpdi5mYWNlYm9vayAucHBfZXhwYW5ke2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIC0zMXB4IC0yNnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZmFjZWJvb2sgLnBwX2V4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAtMzFweCAtNDdweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmZhY2Vib29rIC5wcF9jb250cmFjdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAwIC0yNnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZmFjZWJvb2sgLnBwX2NvbnRyYWN0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIDAgLTQ3cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5mYWNlYm9vayAucHBfY2xvc2V7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAtMXB4IC0xcHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5mYWNlYm9vayAucHBfZGVzY3JpcHRpb257bWFyZ2luOjAgMzdweCAwIDB9ZGl2LmZhY2Vib29rIC5wcF9sb2FkZXJJY29ue2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL2xvYWRlci5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0fWRpdi5mYWNlYm9vayAucHBfYXJyb3dfcHJldmlvdXN7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svc3ByaXRlLnBuZykgMCAtNzFweCBuby1yZXBlYXQ7aGVpZ2h0OjIycHg7bWFyZ2luLXRvcDowO3dpZHRoOjIycHh9ZGl2LmZhY2Vib29rIC5wcF9hcnJvd19wcmV2aW91cy5kaXNhYmxlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTk2cHg7Y3Vyc29yOmRlZmF1bHR9ZGl2LmZhY2Vib29rIC5wcF9hcnJvd19uZXh0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIC0zMnB4IC03MXB4IG5vLXJlcGVhdDtoZWlnaHQ6MjJweDttYXJnaW4tdG9wOjA7d2lkdGg6MjJweH1kaXYuZmFjZWJvb2sgLnBwX2Fycm93X25leHQuZGlzYWJsZWR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtOTZweDtjdXJzb3I6ZGVmYXVsdH1kaXYuZmFjZWJvb2sgLnBwX25hdnttYXJnaW4tdG9wOjB9ZGl2LmZhY2Vib29rIC5wcF9uYXYgcHtmb250LXNpemU6MTVweDtwYWRkaW5nOjAgM3B4IDAgNHB4fWRpdi5mYWNlYm9vayAucHBfbmF2IC5wcF9wbGF5e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIC0xcHggLTEyM3B4IG5vLXJlcGVhdDtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fWRpdi5mYWNlYm9vayAucHBfbmF2IC5wcF9wYXVzZXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAtMzJweCAtMTIzcHggbm8tcmVwZWF0O2hlaWdodDoyMnB4O3dpZHRoOjIycHh9ZGl2LmZhY2Vib29rIC5wcF9uZXh0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL2J0bk5leHQucG5nKSBjZW50ZXIgcmlnaHQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5mYWNlYm9vayAucHBfcHJldmlvdXM6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svYnRuUHJldmlvdXMucG5nKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmZhY2Vib29rIC5wcF9ib3R0b20gLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svc3ByaXRlLnBuZykgLTg4cHggLTgwcHggbm8tcmVwZWF0fWRpdi5mYWNlYm9vayAucHBfYm90dG9tIC5wcF9taWRkbGV7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svY29udGVudFBhdHRlcm5Cb3R0b20ucG5nKSB0b3AgbGVmdCByZXBlYXQteH1kaXYuZmFjZWJvb2sgLnBwX2JvdHRvbSAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svc3ByaXRlLnBuZykgLTExMHB4IC04MHB4IG5vLXJlcGVhdH1kaXYucHBfcGljX2hvbGRlciBhOmZvY3Vze291dGxpbmU6bm9uZX1kaXYucHBfb3ZlcmxheXtiYWNrZ3JvdW5kOiMwMDA7ZGlzcGxheTpub25lO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6OTUwMH1kaXYucHBfcGljX2hvbGRlcntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwcHg7ei1pbmRleDoxMDAwMH0ucHBfY29udGVudHtoZWlnaHQ6NDBweDttaW4td2lkdGg6NDBweH0qIGh0bWwgLnBwX2NvbnRlbnR7d2lkdGg6NDBweH0ucHBfY29udGVudF9jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEwMCV9LnBwX2NvbnRlbnRfY29udGFpbmVyIC5wcF9sZWZ0e3BhZGRpbmctbGVmdDoyMHB4fS5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfcmlnaHR7cGFkZGluZy1yaWdodDoyMHB4fS5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfZGV0YWlsc3tmbG9hdDpsZWZ0O21hcmdpbjoxMHB4IDAgMnB4fS5wcF9kZXNjcmlwdGlvbntkaXNwbGF5Om5vbmU7bWFyZ2luOjB9LnBwX3NvY2lhbHtmbG9hdDpsZWZ0O21hcmdpbjowfS5wcF9zb2NpYWwgLmZhY2Vib29re2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6NXB4O3dpZHRoOjU1cHg7b3ZlcmZsb3c6aGlkZGVufS5wcF9zb2NpYWwgLnR3aXR0ZXJ7ZmxvYXQ6bGVmdH0ucHBfbmF2e2NsZWFyOnJpZ2h0O2Zsb2F0OmxlZnQ7bWFyZ2luOjNweCAxMHB4IDAgMH0ucHBfbmF2IHB7ZmxvYXQ6bGVmdDt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luOjJweCA0cHh9LnBwX25hdiAucHBfcGxheSwucHBfbmF2IC5wcF9wYXVzZXtmbG9hdDpsZWZ0O21hcmdpbi1yaWdodDo0cHg7dGV4dC1pbmRlbnQ6LTEwMDAwcHh9YS5wcF9hcnJvd19wcmV2aW91cyxhLnBwX2Fycm93X25leHR7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O2hlaWdodDoxNXB4O21hcmdpbi10b3A6M3B4O292ZXJmbG93OmhpZGRlbjt0ZXh0LWluZGVudDotMTAwMDBweDt3aWR0aDoxNHB4fS5wcF9ob3ZlckNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MjAwMH0ucHBfZ2FsbGVyeXtkaXNwbGF5Om5vbmU7bGVmdDo1MCU7bWFyZ2luLXRvcDotNTBweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDAwfS5wcF9nYWxsZXJ5IGRpdntmbG9hdDpsZWZ0O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ucHBfZ2FsbGVyeSB1bHtmbG9hdDpsZWZ0O2hlaWdodDozNXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW46MCAwIDAgNXB4O3BhZGRpbmc6MH0ucHBfZ2FsbGVyeSB1bCBhe2JvcmRlcjoxcHggcmdiYSgwLDAsMCwwLjUpIHNvbGlkO2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDtoZWlnaHQ6MzNweDtvdmVyZmxvdzpoaWRkZW59LnBwX2dhbGxlcnkgdWwgYSBpbWd7Ym9yZGVyOjB9LnBwX2dhbGxlcnkgbGl7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O21hcmdpbjowIDVweCAwIDA7cGFkZGluZzowfS5wcF9nYWxsZXJ5IGxpLmRlZmF1bHQgYXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9kZWZhdWx0X3RodW1ibmFpbC5naWYpIDAgMCBuby1yZXBlYXQ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MzNweDt3aWR0aDo1MHB4fS5wcF9nYWxsZXJ5IC5wcF9hcnJvd19wcmV2aW91cywucHBfZ2FsbGVyeSAucHBfYXJyb3dfbmV4dHttYXJnaW4tdG9wOjdweCFpbXBvcnRhbnR9YS5wcF9uZXh0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvYnRuTmV4dC5wbmcpIDEwMDAwcHggMTAwMDBweCBuby1yZXBlYXQ7ZGlzcGxheTpibG9jaztmbG9hdDpyaWdodDtoZWlnaHQ6MTAwJTt0ZXh0LWluZGVudDotMTAwMDBweDt3aWR0aDo0OSV9YS5wcF9wcmV2aW91c3tiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL2J0bk5leHQucG5nKSAxMDAwMHB4IDEwMDAwcHggbm8tcmVwZWF0O2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDtoZWlnaHQ6MTAwJTt0ZXh0LWluZGVudDotMTAwMDBweDt3aWR0aDo0OSV9YS5wcF9leHBhbmQsYS5wcF9jb250cmFjdHtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjIwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MzBweDt0ZXh0LWluZGVudDotMTAwMDBweDt0b3A6MTBweDt3aWR0aDoyMHB4O3otaW5kZXg6MjAwMDB9YS5wcF9jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MjJweDt0ZXh0LWluZGVudDotMTAwMDBweH0ucHBfbG9hZGVySWNvbntkaXNwbGF5OmJsb2NrO2hlaWdodDoyNHB4O2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MjRweDttYXJnaW46LTEycHggMCAwIC0xMnB4fSNwcF9mdWxsX3Jlc3tsaW5lLWhlaWdodDoxIWltcG9ydGFudH0jcHBfZnVsbF9yZXMgLnBwX2lubGluZXt0ZXh0LWFsaWduOmxlZnR9I3BwX2Z1bGxfcmVzIC5wcF9pbmxpbmUgcHttYXJnaW46MCAwIDE1cHh9ZGl2LnBwdHtjb2xvcjojZmZmO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTdweDt6LWluZGV4Ojk5OTk7bWFyZ2luOjAgMCA1cHggMTVweH1kaXYucHBfZGVmYXVsdCAucHBfY29udGVudCxkaXYubGlnaHRfcm91bmRlZCAucHBfY29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9ZGl2LnBwX2RlZmF1bHQgI3BwX2Z1bGxfcmVzIC5wcF9pbmxpbmUsZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2NvbnRlbnQgLnBwdCxkaXYubGlnaHRfcm91bmRlZCAjcHBfZnVsbF9yZXMgLnBwX2lubGluZSxkaXYubGlnaHRfc3F1YXJlIC5wcF9jb250ZW50IC5wcHQsZGl2LmxpZ2h0X3NxdWFyZSAjcHBfZnVsbF9yZXMgLnBwX2lubGluZSxkaXYuZmFjZWJvb2sgLnBwX2NvbnRlbnQgLnBwdCxkaXYuZmFjZWJvb2sgI3BwX2Z1bGxfcmVzIC5wcF9pbmxpbmV7Y29sb3I6IzAwMH1kaXYucHBfZGVmYXVsdCAucHBfZ2FsbGVyeSB1bCBsaSBhOmhvdmVyLGRpdi5wcF9kZWZhdWx0IC5wcF9nYWxsZXJ5IHVsIGxpLnNlbGVjdGVkIGEsLnBwX2dhbGxlcnkgdWwgYTpob3ZlciwucHBfZ2FsbGVyeSBsaS5zZWxlY3RlZCBhe2JvcmRlci1jb2xvcjojZmZmfWRpdi5wcF9kZWZhdWx0IC5wcF9kZXRhaWxzLGRpdi5saWdodF9yb3VuZGVkIC5wcF9kZXRhaWxzLGRpdi5kYXJrX3JvdW5kZWQgLnBwX2RldGFpbHMsZGl2LmRhcmtfc3F1YXJlIC5wcF9kZXRhaWxzLGRpdi5saWdodF9zcXVhcmUgLnBwX2RldGFpbHMsZGl2LmZhY2Vib29rIC5wcF9kZXRhaWxze3Bvc2l0aW9uOnJlbGF0aXZlfWRpdi5saWdodF9yb3VuZGVkIC5wcF90b3AgLnBwX21pZGRsZSxkaXYubGlnaHRfcm91bmRlZCAucHBfY29udGVudF9jb250YWluZXIgLnBwX2xlZnQsZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2NvbnRlbnRfY29udGFpbmVyIC5wcF9yaWdodCxkaXYubGlnaHRfcm91bmRlZCAucHBfYm90dG9tIC5wcF9taWRkbGUsZGl2LmxpZ2h0X3NxdWFyZSAucHBfbGVmdCxkaXYubGlnaHRfc3F1YXJlIC5wcF9taWRkbGUsZGl2LmxpZ2h0X3NxdWFyZSAucHBfcmlnaHQsZGl2LmxpZ2h0X3NxdWFyZSAucHBfY29udGVudCxkaXYuZmFjZWJvb2sgLnBwX2NvbnRlbnR7YmFja2dyb3VuZDojZmZmfWRpdi5saWdodF9yb3VuZGVkIC5wcF9kZXNjcmlwdGlvbixkaXYubGlnaHRfc3F1YXJlIC5wcF9kZXNjcmlwdGlvbnttYXJnaW4tcmlnaHQ6ODVweH1kaXYubGlnaHRfcm91bmRlZCAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X3ByZXZpb3VzLGRpdi5saWdodF9yb3VuZGVkIC5wcF9nYWxsZXJ5IGEucHBfYXJyb3dfbmV4dCxkaXYuZGFya19yb3VuZGVkIC5wcF9nYWxsZXJ5IGEucHBfYXJyb3dfcHJldmlvdXMsZGl2LmRhcmtfcm91bmRlZCAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X25leHQsZGl2LmRhcmtfc3F1YXJlIC5wcF9nYWxsZXJ5IGEucHBfYXJyb3dfcHJldmlvdXMsZGl2LmRhcmtfc3F1YXJlIC5wcF9nYWxsZXJ5IGEucHBfYXJyb3dfbmV4dCxkaXYubGlnaHRfc3F1YXJlIC5wcF9nYWxsZXJ5IGEucHBfYXJyb3dfcHJldmlvdXMsZGl2LmxpZ2h0X3NxdWFyZSAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X25leHR7bWFyZ2luLXRvcDoxMnB4IWltcG9ydGFudH1kaXYubGlnaHRfcm91bmRlZCAucHBfYXJyb3dfcHJldmlvdXMuZGlzYWJsZWQsZGl2LmRhcmtfcm91bmRlZCAucHBfYXJyb3dfcHJldmlvdXMuZGlzYWJsZWQsZGl2LmRhcmtfc3F1YXJlIC5wcF9hcnJvd19wcmV2aW91cy5kaXNhYmxlZCxkaXYubGlnaHRfc3F1YXJlIC5wcF9hcnJvd19wcmV2aW91cy5kaXNhYmxlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTg3cHg7Y3Vyc29yOmRlZmF1bHR9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2Fycm93X25leHQuZGlzYWJsZWQsZGl2LmRhcmtfcm91bmRlZCAucHBfYXJyb3dfbmV4dC5kaXNhYmxlZCxkaXYuZGFya19zcXVhcmUgLnBwX2Fycm93X25leHQuZGlzYWJsZWQsZGl2LmxpZ2h0X3NxdWFyZSAucHBfYXJyb3dfbmV4dC5kaXNhYmxlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMnB4IC04N3B4O2N1cnNvcjpkZWZhdWx0fWRpdi5saWdodF9yb3VuZGVkIC5wcF9sb2FkZXJJY29uLGRpdi5saWdodF9zcXVhcmUgLnBwX2xvYWRlckljb257YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9sb2FkZXIuZ2lmKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdH1kaXYuZGFya19yb3VuZGVkIC5wcF90b3AgLnBwX21pZGRsZSxkaXYuZGFya19yb3VuZGVkIC5wcF9jb250ZW50LGRpdi5kYXJrX3JvdW5kZWQgLnBwX2JvdHRvbSAucHBfbWlkZGxle2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9jb250ZW50UGF0dGVybi5wbmcpIHRvcCBsZWZ0IHJlcGVhdH1kaXYuZGFya19yb3VuZGVkIC5jdXJyZW50VGV4dEhvbGRlcixkaXYuZGFya19zcXVhcmUgLmN1cnJlbnRUZXh0SG9sZGVye2NvbG9yOiNjNGM0YzR9ZGl2LmRhcmtfcm91bmRlZCAjcHBfZnVsbF9yZXMgLnBwX2lubGluZSxkaXYuZGFya19zcXVhcmUgI3BwX2Z1bGxfcmVzIC5wcF9pbmxpbmV7Y29sb3I6I2ZmZn0ucHBfdG9wLC5wcF9ib3R0b217aGVpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmV9KiBodG1sIC5wcF90b3AsKiBodG1sIC5wcF9ib3R0b217cGFkZGluZzowIDIwcHh9LnBwX3RvcCAucHBfbGVmdCwucHBfYm90dG9tIC5wcF9sZWZ0e2hlaWdodDoyMHB4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyMHB4fS5wcF90b3AgLnBwX21pZGRsZSwucHBfYm90dG9tIC5wcF9taWRkbGV7aGVpZ2h0OjIwcHg7bGVmdDoyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHh9KiBodG1sIC5wcF90b3AgLnBwX21pZGRsZSwqIGh0bWwgLnBwX2JvdHRvbSAucHBfbWlkZGxle2xlZnQ6MDtwb3NpdGlvbjpzdGF0aWN9LnBwX3RvcCAucHBfcmlnaHQsLnBwX2JvdHRvbSAucHBfcmlnaHR7aGVpZ2h0OjIwcHg7bGVmdDphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjBweH0ucHBfZmFkZSwucHBfZ2FsbGVyeSBsaS5kZWZhdWx0IGEgaW1ne2Rpc3BsYXk6bm9uZX0KCi8qCiAqIAlDbG9jazEgLSBUaGUgRmluYWwgQ291bnRkb3duCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIG5vIGNzcyBuZWVkZWQgKi8KCi8qCiAqIAlDbG9jazIgLSBmbGlwY2xvY2sKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogR2V0IHRoZSBib3VyYm9uIG1peGluIGZyb20gaHR0cDovL2JvdXJib24uaW8gKi8vKiBSZXNldCAqLwouZmxpcC1jbG9jay13cmFwcGVyICogeyAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgICAgLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgIC1vLWJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgICAgLW8tYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47fS5mbGlwLWNsb2NrLXdyYXBwZXIgYSB7ICBjdXJzb3I6IHBvaW50ZXI7ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7ICBjb2xvcjogI2NjYzsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgYTpob3ZlciB7ICBjb2xvcjogI2ZmZjsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgeyAgbGlzdC1zdHlsZTogbm9uZTsgfS5mbGlwLWNsb2NrLXdyYXBwZXIuY2xlYXJmaXg6YmVmb3JlLC5mbGlwLWNsb2NrLXdyYXBwZXIuY2xlYXJmaXg6YWZ0ZXIgeyAgY29udGVudDogIiAiOyAgZGlzcGxheTogdGFibGU7IH0uZmxpcC1jbG9jay13cmFwcGVyLmNsZWFyZml4OmFmdGVyIHsgIGNsZWFyOiBib3RoOyB9LmZsaXAtY2xvY2std3JhcHBlci5jbGVhcmZpeCB7ICAqem9vbTogMTsgfS8qIE1haW4gKi8uZmxpcC1jbG9jay13cmFwcGVyIHsgIGZvbnQ6IG5vcm1hbCAxMXB4ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH0uZmxpcC1jbG9jay1tZXJpZGl1bSB7ICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7ICBib3gtc2hhZG93OiAwIDAgMCAhaW1wb3J0YW50OyAgZm9udC1zaXplOiAzNnB4ICFpbXBvcnRhbnQ7IH0uZmxpcC1jbG9jay1tZXJpZGl1bSBhIHsgY29sb3I6ICMzMTMzMzM7IH0uZmxpcC1jbG9jay13cmFwcGVyIHsgIHRleHQtYWxpZ246IGNlbnRlcjsgIHBvc2l0aW9uOiByZWxhdGl2ZTsgIHdpZHRoOiAxMDAlOyAgbWFyZ2luOiAxZW07fS5mbGlwLWNsb2NrLXdyYXBwZXI6YmVmb3JlLC5mbGlwLWNsb2NrLXdyYXBwZXI6YWZ0ZXIgeyAgICBjb250ZW50OiAiICI7IC8qIDEgKi8gICAgZGlzcGxheTogdGFibGU7IC8qIDIgKi99LmZsaXAtY2xvY2std3JhcHBlcjphZnRlciB7ICAgIGNsZWFyOiBib3RoO30vKiBTa2VsZXRvbiAqLy5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgeyAgcG9zaXRpb246IHJlbGF0aXZlOyAgZmxvYXQ6IGxlZnQ7ICBtYXJnaW46IDVweDsgIHdpZHRoOiA2MHB4OyAgaGVpZ2h0OiA5MHB4OyAgZm9udC1zaXplOiA4MHB4OyAgZm9udC13ZWlnaHQ6IGJvbGQ7ICBsaW5lLWhlaWdodDogODdweDsgIGJvcmRlci1yYWRpdXM6IDZweDsgIGJhY2tncm91bmQ6ICMwMDA7fS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgbGkgeyAgei1pbmRleDogMTsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIGxlZnQ6IDA7ICB0b3A6IDA7ICB3aWR0aDogMTAwJTsgIGhlaWdodDogMTAwJTsgIGxpbmUtaGVpZ2h0OiA4N3B4OyAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7fS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgbGk6Zmlyc3QtY2hpbGQgeyAgei1pbmRleDogMjsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgbGkgYSB7ICBkaXNwbGF5OiBibG9jazsgIGhlaWdodDogMTAwJTsgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDIwMHB4OyAgLW1vei1wZXJzcGVjdGl2ZTogMjAwcHg7ICBwZXJzcGVjdGl2ZTogMjAwcHg7ICBtYXJnaW46IDAgIWltcG9ydGFudDsgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7ICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgbGkgYSBkaXYgeyAgei1pbmRleDogMTsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIGxlZnQ6IDA7ICB3aWR0aDogMTAwJTsgIGhlaWdodDogNTAlOyAgZm9udC1zaXplOiA4MHB4OyAgb3ZlcmZsb3c6IGhpZGRlbjsgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIGEgZGl2IC5zaGFkb3cgeyAgcG9zaXRpb246IGFic29sdXRlOyAgd2lkdGg6IDEwMCU7ICBoZWlnaHQ6IDEwMCU7ICB6LWluZGV4OiAyOyB9LmZsaXAtY2xvY2std3JhcHBlciB1bCBsaSBhIGRpdi51cCB7ICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOyAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsgIC1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOyAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7ICB0b3A6IDA7IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIGEgZGl2LnVwOmFmdGVyIHsgIGNvbnRlbnQ6ICIiOyAgcG9zaXRpb246IGFic29sdXRlOyAgdG9wOiA0NHB4OyAgbGVmdDogMDsgIHotaW5kZXg6IDU7ICB3aWR0aDogMTAwJTsgIGhlaWdodDogM3B4OyAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgbGkgYSBkaXYuZG93biB7ICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOyAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgIC1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOyAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7ICBib3R0b206IDA7ICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7ICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O30uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIGEgZGl2IGRpdi5pbm4geyAgcG9zaXRpb246IGFic29sdXRlOyAgbGVmdDogMDsgIHotaW5kZXg6IDE7ICB3aWR0aDogMTAwJTsgIGhlaWdodDogMjAwJTsgIGNvbG9yOiAjY2NjOyAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCAjMDAwOyAgdGV4dC1hbGlnbjogY2VudGVyOyAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgIGJvcmRlci1yYWRpdXM6IDZweDsgIGZvbnQtc2l6ZTogNzBweDsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgbGkgYSBkaXYudXAgZGl2LmlubiB7ICB0b3A6IDA7IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIGEgZGl2LmRvd24gZGl2LmlubiB7ICBib3R0b206IDA7IH0vKiBQTEFZICovLmZsaXAtY2xvY2std3JhcHBlciB1bC5wbGF5IGxpLmZsaXAtY2xvY2stYmVmb3JlIHsgIHotaW5kZXg6IDM7IH0uZmxpcC1jbG9jay13cmFwcGVyIC5mbGlwIHsgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjcpOyB9LmZsaXAtY2xvY2std3JhcHBlciB1bC5wbGF5IGxpLmZsaXAtY2xvY2stYWN0aXZlIHsgIC13ZWJraXQtYW5pbWF0aW9uOiBhc2QgMC41cyAwLjVzIGxpbmVhciBib3RoOyAgLW1vei1hbmltYXRpb246IGFzZCAwLjVzIDAuNXMgbGluZWFyIGJvdGg7ICBhbmltYXRpb246IGFzZCAwLjVzIDAuNXMgbGluZWFyIGJvdGg7ICB6LWluZGV4OiA1OyB9LmZsaXAtY2xvY2stZGl2aWRlciB7ICBmbG9hdDogbGVmdDsgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgIHBvc2l0aW9uOiByZWxhdGl2ZTsgIHdpZHRoOiAyMHB4OyAgaGVpZ2h0OiAxMDBweDsgfS5mbGlwLWNsb2NrLWRpdmlkZXI6Zmlyc3QtY2hpbGQgeyAgd2lkdGg6IDA7IH0uZmxpcC1jbG9jay1kb3QgeyAgZGlzcGxheTogYmxvY2s7ICBiYWNrZ3JvdW5kOiAjMzIzNDM0OyAgd2lkdGg6IDEwcHg7ICBoZWlnaHQ6IDEwcHg7ICBwb3NpdGlvbjogYWJzb2x1dGU7ICBib3JkZXItcmFkaXVzOiA1MCU7ICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC41KTsgIGxlZnQ6IDVweDsgfS5mbGlwLWNsb2NrLWRpdmlkZXIgLmZsaXAtY2xvY2stbGFiZWwgeyAgcG9zaXRpb246IGFic29sdXRlOyAgdG9wOiAtMS41ZW07ICByaWdodDogLTg2cHg7ICBjb2xvcjogYmxhY2s7ICB0ZXh0LXNoYWRvdzogbm9uZTsgfS5mbGlwLWNsb2NrLWRpdmlkZXIubWludXRlcyAuZmxpcC1jbG9jay1sYWJlbCB7ICByaWdodDogLTg4cHg7IH0uZmxpcC1jbG9jay1kaXZpZGVyLnNlY29uZHMgLmZsaXAtY2xvY2stbGFiZWwgeyAgcmlnaHQ6IC05MXB4OyB9LmZsaXAtY2xvY2stZG90LnRvcCB7ICB0b3A6IDMwcHg7IH0uZmxpcC1jbG9jay1kb3QuYm90dG9tIHsgIGJvdHRvbTogMzBweDsgfUAtd2Via2l0LWtleWZyYW1lcyBhc2QgeyAgMCUgeyAgICB6LWluZGV4OiAyOyB9ICAyMCUgeyAgICB6LWluZGV4OiA0OyB9ICAxMDAlIHsgICAgei1pbmRleDogNDsgfSB9QC1tb3ota2V5ZnJhbWVzIGFzZCB7ICAwJSB7ICAgIHotaW5kZXg6IDI7IH0gIDIwJSB7ICAgIHotaW5kZXg6IDQ7IH0gIDEwMCUgeyAgICB6LWluZGV4OiA0OyB9IH1ALW8ta2V5ZnJhbWVzIGFzZCB7ICAwJSB7ICAgIHotaW5kZXg6IDI7IH0gIDIwJSB7ICAgIHotaW5kZXg6IDQ7IH0gIDEwMCUgeyAgICB6LWluZGV4OiA0OyB9IH1Aa2V5ZnJhbWVzIGFzZCB7ICAwJSB7ICAgIHotaW5kZXg6IDI7IH0gIDIwJSB7ICAgIHotaW5kZXg6IDQ7IH0gIDEwMCUgeyAgICB6LWluZGV4OiA0OyB9IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsLnBsYXkgbGkuZmxpcC1jbG9jay1hY3RpdmUgLmRvd24geyAgei1pbmRleDogMjsgIC13ZWJraXQtYW5pbWF0aW9uOiB0dXJuIDAuNXMgMC41cyBsaW5lYXIgYm90aDsgIC1tb3otYW5pbWF0aW9uOiB0dXJuIDAuNXMgMC41cyBsaW5lYXIgYm90aDsgIGFuaW1hdGlvbjogdHVybiAwLjVzIDAuNXMgbGluZWFyIGJvdGg7IH1ALXdlYmtpdC1rZXlmcmFtZXMgdHVybiB7ICAwJSB7ICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTsgfSAgMTAwJSB7ICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyB9IH1ALW1vei1rZXlmcmFtZXMgdHVybiB7ICAwJSB7ICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTsgfSAgMTAwJSB7ICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyB9IH1ALW8ta2V5ZnJhbWVzIHR1cm4geyAgMCUgeyAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpOyB9ICAxMDAlIHsgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyB9IH1Aa2V5ZnJhbWVzIHR1cm4geyAgMCUgeyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpOyB9ICAxMDAlIHsgICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyB9IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsLnBsYXkgbGkuZmxpcC1jbG9jay1iZWZvcmUgLnVwIHsgIHotaW5kZXg6IDI7ICAtd2Via2l0LWFuaW1hdGlvbjogdHVybjIgMC41cyBsaW5lYXIgYm90aDsgIC1tb3otYW5pbWF0aW9uOiB0dXJuMiAwLjVzIGxpbmVhciBib3RoOyAgYW5pbWF0aW9uOiB0dXJuMiAwLjVzIGxpbmVhciBib3RoOyB9QC13ZWJraXQta2V5ZnJhbWVzIHR1cm4yIHsgIDAlIHsgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH0gIDEwMCUgeyAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpOyB9IH1ALW1vei1rZXlmcmFtZXMgdHVybjIgeyAgMCUgeyAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsgfSAgMTAwJSB7ICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZyk7IH0gfUAtby1rZXlmcmFtZXMgdHVybjIgeyAgMCUgeyAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH0gIDEwMCUgeyAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKTsgfSB9QGtleWZyYW1lcyB0dXJuMiB7ICAwJSB7ICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsgfSAgMTAwJSB7ICAgIHRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpOyB9IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpLmZsaXAtY2xvY2stYWN0aXZlIHsgIHotaW5kZXg6IDM7IH0vKiBTSEFET1cgKi8uZmxpcC1jbG9jay13cmFwcGVyIHVsLnBsYXkgbGkuZmxpcC1jbG9jay1iZWZvcmUgLnVwIC5zaGFkb3cgeyAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMSkgMCUsIGJsYWNrIDEwMCUpOyAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgwLCAwLCAwLCAwLjEpKSwgY29sb3Itc3RvcCgxMDAlLCBibGFjaykpOyAgYmFja2dyb3VuZDogbGluZWFyLCB0b3AsIHJnYmEoMCwgMCwgMCwgMC4xKSAwJSwgYmxhY2sgMTAwJTsgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC4xKSAwJSwgYmxhY2sgMTAwJSk7ICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjEpIDAlLCBibGFjayAxMDAlKTsgIGJhY2tncm91bmQ6IGxpbmVhciwgdG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMSkgMCUsIGJsYWNrIDEwMCU7ICAtd2Via2l0LWFuaW1hdGlvbjogc2hvdyAwLjVzIGxpbmVhciBib3RoOyAgLW1vei1hbmltYXRpb246IHNob3cgMC41cyBsaW5lYXIgYm90aDsgIGFuaW1hdGlvbjogc2hvdyAwLjVzIGxpbmVhciBib3RoOyB9LmZsaXAtY2xvY2std3JhcHBlciB1bC5wbGF5IGxpLmZsaXAtY2xvY2stYWN0aXZlIC51cCAuc2hhZG93IHsgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjEpIDAlLCBibGFjayAxMDAlKTsgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSksIGNvbG9yLXN0b3AoMTAwJSwgYmxhY2spKTsgIGJhY2tncm91bmQ6IGxpbmVhciwgdG9wLCByZ2JhKDAsIDAsIDAsIDAuMSkgMCUsIGJsYWNrIDEwMCU7ICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMSkgMCUsIGJsYWNrIDEwMCUpOyAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC4xKSAwJSwgYmxhY2sgMTAwJSk7ICBiYWNrZ3JvdW5kOiBsaW5lYXIsIHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjEpIDAlLCBibGFjayAxMDAlOyAgLXdlYmtpdC1hbmltYXRpb246IGhpZGUgMC41cyAwLjNzIGxpbmVhciBib3RoOyAgLW1vei1hbmltYXRpb246IGhpZGUgMC41cyAwLjNzIGxpbmVhciBib3RoOyAgYW5pbWF0aW9uOiBoaWRlIDAuNXMgMC4zcyBsaW5lYXIgYm90aDsgfS8qRE9XTiovLmZsaXAtY2xvY2std3JhcHBlciB1bC5wbGF5IGxpLmZsaXAtY2xvY2stYmVmb3JlIC5kb3duIC5zaGFkb3cgeyAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwMCUpOyAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgYmxhY2spLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSkpOyAgYmFja2dyb3VuZDogbGluZWFyLCB0b3AsIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMTAwJTsgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMTAwJSk7ICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgYmxhY2sgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAxMDAlKTsgIGJhY2tncm91bmQ6IGxpbmVhciwgdG8gYm90dG9tLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwMCU7ICAtd2Via2l0LWFuaW1hdGlvbjogc2hvdyAwLjVzIGxpbmVhciBib3RoOyAgLW1vei1hbmltYXRpb246IHNob3cgMC41cyBsaW5lYXIgYm90aDsgIGFuaW1hdGlvbjogc2hvdyAwLjVzIGxpbmVhciBib3RoOyB9LmZsaXAtY2xvY2std3JhcHBlciB1bC5wbGF5IGxpLmZsaXAtY2xvY2stYWN0aXZlIC5kb3duIC5zaGFkb3cgeyAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwMCUpOyAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgYmxhY2spLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSkpOyAgYmFja2dyb3VuZDogbGluZWFyLCB0b3AsIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMTAwJTsgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMTAwJSk7ICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgYmxhY2sgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAxMDAlKTsgIGJhY2tncm91bmQ6IGxpbmVhciwgdG8gYm90dG9tLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwMCU7ICAtd2Via2l0LWFuaW1hdGlvbjogaGlkZSAwLjVzIDAuM3MgbGluZWFyIGJvdGg7ICAtbW96LWFuaW1hdGlvbjogaGlkZSAwLjVzIDAuM3MgbGluZWFyIGJvdGg7ICBhbmltYXRpb246IGhpZGUgMC41cyAwLjJzIGxpbmVhciBib3RoOyB9QC13ZWJraXQta2V5ZnJhbWVzIHNob3cgeyAgMCUgeyAgICBvcGFjaXR5OiAwOyB9ICAxMDAlIHsgICAgb3BhY2l0eTogMTsgfSB9QC1tb3ota2V5ZnJhbWVzIHNob3cgeyAgMCUgeyAgICBvcGFjaXR5OiAwOyB9ICAxMDAlIHsgICAgb3BhY2l0eTogMTsgfSB9QC1vLWtleWZyYW1lcyBzaG93IHsgIDAlIHsgICAgb3BhY2l0eTogMDsgfSAgMTAwJSB7ICAgIG9wYWNpdHk6IDE7IH0gfUBrZXlmcmFtZXMgc2hvdyB7ICAwJSB7ICAgIG9wYWNpdHk6IDA7IH0gIDEwMCUgeyAgICBvcGFjaXR5OiAxOyB9IH1ALXdlYmtpdC1rZXlmcmFtZXMgaGlkZSB7ICAwJSB7ICAgIG9wYWNpdHk6IDE7IH0gIDEwMCUgeyAgICBvcGFjaXR5OiAwOyB9IH1ALW1vei1rZXlmcmFtZXMgaGlkZSB7ICAwJSB7ICAgIG9wYWNpdHk6IDE7IH0gIDEwMCUgeyAgICBvcGFjaXR5OiAwOyB9IH1ALW8ta2V5ZnJhbWVzIGhpZGUgeyAgMCUgeyAgICBvcGFjaXR5OiAxOyB9ICAxMDAlIHsgICAgb3BhY2l0eTogMDsgfSB9QGtleWZyYW1lcyBoaWRlIHsgIDAlIHsgICAgb3BhY2l0eTogMTsgfSAgMTAwJSB7ICAgIG9wYWNpdHk6IDA7IH0gfQoKCgovKiEKICogRGF0ZXBpY2tlciBmb3IgQm9vdHN0cmFwIHYxLjcuMC1kZXYgKGh0dHBzOi8vZ2l0aHViLmNvbS9ldGVybmljb2RlL2Jvb3RzdHJhcC1kYXRlcGlja2VyKQogKgogKiBDb3B5cmlnaHQgMjAxMiBTdGVmYW4gUGV0cmUKICogSW1wcm92ZW1lbnRzIGJ5IEFuZHJldyBSb3dscwogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMCAoaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wKQogKi8KCi5kYXRlcGlja2Vye2JvcmRlci1yYWRpdXM6NHB4O2RpcmVjdGlvbjpsdHJ9LmRhdGVwaWNrZXItaW5saW5le3dpZHRoOjIyMHB4fS5kYXRlcGlja2VyLmRhdGVwaWNrZXItcnRse2RpcmVjdGlvbjpydGx9LmRhdGVwaWNrZXIuZGF0ZXBpY2tlci1ydGwgdGFibGUgdHIgdGQgc3BhbntmbG9hdDpyaWdodH0uZGF0ZXBpY2tlci1kcm9wZG93bnt0b3A6MDtsZWZ0OjA7cGFkZGluZzo0cHh9LmRhdGVwaWNrZXItZHJvcGRvd246YmVmb3Jle2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQgcmdiYSgwLDAsMCwuMTUpO2JvcmRlci10b3A6MDtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsLjIpO3Bvc2l0aW9uOmFic29sdXRlfS5kYXRlcGlja2VyLWRyb3Bkb3duOmFmdGVye2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLWxlZnQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgI2ZmZjtib3JkZXItdG9wOjA7cG9zaXRpb246YWJzb2x1dGV9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtbGVmdDpiZWZvcmV7bGVmdDo2cHh9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtbGVmdDphZnRlcntsZWZ0OjdweH0uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1yaWdodDpiZWZvcmV7cmlnaHQ6NnB4fS5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmFmdGVye3JpZ2h0OjdweH0uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YmVmb3Jle3RvcDotN3B4fS5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LWJvdHRvbTphZnRlcnt0b3A6LTZweH0uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC10b3A6YmVmb3Jle2JvdHRvbTotN3B4O2JvcmRlci1ib3R0b206MDtib3JkZXItdG9wOjdweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSl9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtdG9wOmFmdGVye2JvdHRvbTotNnB4O2JvcmRlci1ib3R0b206MDtib3JkZXItdG9wOjZweCBzb2xpZCAjZmZmfS5kYXRlcGlja2VyPmRpdntkaXNwbGF5Om5vbmV9LmRhdGVwaWNrZXIgdGFibGV7bWFyZ2luOjA7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRoe3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOm5vbmV9LnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQsLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGh7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5uZXcsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQub2xke2NvbG9yOiM3Nzd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuZGF5OmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmZvY3VzZWR7YmFja2dyb3VuZDojZWVlO2N1cnNvcjpwb2ludGVyfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiM3Nzc7Y3Vyc29yOmRlZmF1bHR9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWR7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjc7Ym9yZGVyLWNvbG9yOiM4NWM1ZTU7Ym9yZGVyLXJhZGl1czowfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkOmZvY3Vze2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojYWZkOWVlO2JvcmRlci1jb2xvcjojMjk4ZmMyfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkOmhvdmVye2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojYWZkOWVlO2JvcmRlci1jb2xvcjojNTJhZGRifS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZDphY3RpdmV7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNhZmQ5ZWU7Ym9yZGVyLWNvbG9yOiM1MmFkZGJ9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZC5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQ6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZDphY3RpdmU6aG92ZXJ7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiM5MWNiZTg7Ym9yZGVyLWNvbG9yOiMyOThmYzJ9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWRbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZFtkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZDpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojODVjNWU1fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmZvY3VzZWR7YmFja2dyb3VuZDojYWZkOWVlfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kOiNkOWVkZjc7Y29sb3I6Izc3N30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheXtjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2ZmZGI5OTtib3JkZXItY29sb3I6I2ZmYjczM30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpmb2N1c3tjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2ZmYzk2Njtib3JkZXItY29sb3I6I2IzNzQwMH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcntjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2ZmYzk2Njtib3JkZXItY29sb3I6I2Y1OWUwMH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6YWN0aXZle2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZmZjOTY2O2JvcmRlci1jb2xvcjojZjU5ZTAwfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6YWN0aXZlOmhvdmVye2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZmZiYzQyO2JvcmRlci1jb2xvcjojYjM3NDAwfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5W2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheVtkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXlbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZGI5OTtib3JkZXItY29sb3I6I2ZmYjczM30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5mb2N1c2Vke2JhY2tncm91bmQ6I2ZmYzk2Nn0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDphY3RpdmV7YmFja2dyb3VuZDojZmZkYjk5O2NvbG9yOiM3Nzd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2V7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyLWNvbG9yOiNiYmI7Ym9yZGVyLXJhZGl1czowfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlOmZvY3Vze2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZDVkNWQ1O2JvcmRlci1jb2xvcjojN2M3YzdjfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlOmhvdmVye2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZDVkNWQ1O2JvcmRlci1jb2xvcjojOWQ5ZDlkfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZTphY3RpdmV7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNkNWQ1ZDU7Ym9yZGVyLWNvbG9yOiM5ZDlkOWR9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2U6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZTphY3RpdmU6aG92ZXJ7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNjM2MzYzM7Ym9yZGVyLWNvbG9yOiM3YzdjN2N9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2VbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZVtkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZTpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2U6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlci1jb2xvcjojYmJifS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmZvY3VzZWR7YmFja2dyb3VuZDojZDVkNWQ1fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kOiNlZWU7Y29sb3I6Izc3N30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZHtjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2U0ZWVmMztib3JkZXItY29sb3I6IzlkYzFkM30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZDpmb2N1c3tjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2MxZDdlMztib3JkZXItY29sb3I6IzRiODhhNn0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZDpob3Zlcntjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2MxZDdlMztib3JkZXItY29sb3I6IzczYTZjMH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQ6YWN0aXZle2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojYzFkN2UzO2JvcmRlci1jb2xvcjojNzNhNmMwfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZDphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQ6YWN0aXZlOmhvdmVye2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojYThjOGQ4O2JvcmRlci1jb2xvcjojNGI4OGE2fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZFtkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWRbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U0ZWVmMztib3JkZXItY29sb3I6IzlkYzFkM30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5mb2N1c2Vke2JhY2tncm91bmQ6I2MxZDdlM30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5kaXNhYmxlZDphY3RpdmV7YmFja2dyb3VuZDojZTRlZWYzO2NvbG9yOiM3Nzd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXl7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2NhNzc7Ym9yZGVyLWNvbG9yOiNmMWE0MTd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6Zm9jdXN7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmNGI3NDc7Ym9yZGVyLWNvbG9yOiM4MTU2MDh9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXJ7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmNGI3NDc7Ym9yZGVyLWNvbG9yOiNiZjgwMGN9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmFjdGl2ZXtjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2Y0Yjc0Nztib3JkZXItY29sb3I6I2JmODAwY30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5hY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuYWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmFjdGl2ZTpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTphY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6YWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmFjdGl2ZTpob3Zlcntjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2YyYWEyNTtib3JkZXItY29sb3I6IzgxNTYwOH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheVtkaXNhYmxlZF0uZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXlbZGlzYWJsZWRdOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5W2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmN2NhNzc7Ym9yZGVyLWNvbG9yOiNmMWE0MTd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6YWN0aXZle2JhY2tncm91bmQ6I2Y3Y2E3Nztjb2xvcjojNzc3fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNzc3O2JvcmRlci1jb2xvcjojNTU1O3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZDpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzVlNWU1ZTtib3JkZXItY29sb3I6IzE2MTYxNn0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZDpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzVlNWU1ZTtib3JkZXItY29sb3I6IzM3MzczN30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDphY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1ZTVlNWU7Ym9yZGVyLWNvbG9yOiMzNzM3Mzd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZC5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQ6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZDphY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDphY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0YzRjNGM7Ym9yZGVyLWNvbG9yOiMxNjE2MTZ9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWRbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZFtkaXNhYmxlZF06aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWRbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZFtkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZC5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNzc3O2JvcmRlci1jb2xvcjojNTU1fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMyZTZkYTQ7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzEyMmI0MH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwO2JvcmRlci1jb2xvcjojMjA0ZDc0fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQ6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTA7Ym9yZGVyLWNvbG9yOiMyMDRkNzR9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuYWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQuYWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZC5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQ6YWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZDphY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6YWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMDRkNzQ7Ym9yZGVyLWNvbG9yOiMxMjJiNDB9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZC5kaXNhYmxlZDpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWRbZGlzYWJsZWRdOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZFtkaXNhYmxlZF06aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmVbZGlzYWJsZWRdOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZVtkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZDpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMmU2ZGE0fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW57ZGlzcGxheTpibG9jazt3aWR0aDoyMyU7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweDtmbG9hdDpsZWZ0O21hcmdpbjoxJTtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjRweH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmZvY3VzZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbjpob3ZlcntiYWNrZ3JvdW5kOiNlZWV9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiM3Nzc7Y3Vyc29yOmRlZmF1bHR9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMyZTZkYTQ7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwO2JvcmRlci1jb2xvcjojMTIyYjQwfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwO2JvcmRlci1jb2xvcjojMjA0ZDc0fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTA7Ym9yZGVyLWNvbG9yOiMyMDRkNzR9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTphY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMDRkNzQ7Ym9yZGVyLWNvbG9yOiMxMjJiNDB9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF06aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWRbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcltkaXNhYmxlZF06aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmVbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZVtkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcjpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcjpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMmU2ZGE0fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ubmV3LC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ub2xke2NvbG9yOiM3Nzd9LmRhdGVwaWNrZXIgLmRhdGVwaWNrZXItc3dpdGNoe3dpZHRoOjE0NXB4fS5kYXRlcGlja2VyIC5kYXRlcGlja2VyLXN3aXRjaCwuZGF0ZXBpY2tlciAubmV4dCwuZGF0ZXBpY2tlciAucHJldiwuZGF0ZXBpY2tlciB0Zm9vdCB0ciB0aHtjdXJzb3I6cG9pbnRlcn0uZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci1zd2l0Y2g6aG92ZXIsLmRhdGVwaWNrZXIgLm5leHQ6aG92ZXIsLmRhdGVwaWNrZXIgLnByZXY6aG92ZXIsLmRhdGVwaWNrZXIgdGZvb3QgdHIgdGg6aG92ZXJ7YmFja2dyb3VuZDojZWVlfS5kYXRlcGlja2VyIC5uZXh0LmRpc2FibGVkLC5kYXRlcGlja2VyIC5wcmV2LmRpc2FibGVke3Zpc2liaWxpdHk6aGlkZGVufS5kYXRlcGlja2VyIC5jd3tmb250LXNpemU6MTBweDt3aWR0aDoxMnB4O3BhZGRpbmc6MCAycHggMCA1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbnB1dC1ncm91cC5kYXRlIC5pbnB1dC1ncm91cC1hZGRvbntjdXJzb3I6cG9pbnRlcn0uaW5wdXQtZGF0ZXJhbmdle3dpZHRoOjEwMCV9LmlucHV0LWRhdGVyYW5nZSBpbnB1dHt0ZXh0LWFsaWduOmNlbnRlcn0uaW5wdXQtZGF0ZXJhbmdlIGlucHV0OmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6M3B4IDAgMCAzcHh9LmlucHV0LWRhdGVyYW5nZSBpbnB1dDpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAzcHggM3B4IDB9LmlucHV0LWRhdGVyYW5nZSAuaW5wdXQtZ3JvdXAtYWRkb257d2lkdGg6YXV0bzttaW4td2lkdGg6MTZweDtwYWRkaW5nOjRweCA1cHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7Ym9yZGVyLXdpZHRoOjFweCAwO21hcmdpbi1sZWZ0Oi01cHg7bWFyZ2luLXJpZ2h0Oi01cHh9CgoKCi8qIQogKiBqcXVlcnktdGltZXBpY2tlciB2MS4xMS4xIC0gQSBqUXVlcnkgdGltZXBpY2tlciBwbHVnaW4gaW5zcGlyZWQgYnkgR29vZ2xlIENhbGVuZGFyLiBJdCBzdXBwb3J0cyBib3RoIG1vdXNlIGFuZCBrZXlib2FyZCBuYXZpZ2F0aW9uLgogKiBDb3B5cmlnaHQgKGMpIDIwMTYgSm9uIFRob3JudG9uIC0gaHR0cDovL2pvbnRob3JudG9uLmdpdGh1Yi5jb20vanF1ZXJ5LXRpbWVwaWNrZXIvCiAqIExpY2Vuc2U6IE1JVAogKi8KLnVpLXRpbWVwaWNrZXItd3JhcHBlciB7CW92ZXJmbG93LXk6IGF1dG87CWhlaWdodDogMTUwcHg7CXdpZHRoOiA2LjVlbTsJYmFja2dyb3VuZDogI2ZmZjsJYm9yZGVyOiAxcHggc29saWQgI2RkZDsJLXdlYmtpdC1ib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwwLjIpOwktbW96LWJveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLDAuMik7CWJveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLDAuMik7CW91dGxpbmU6IG5vbmU7CXotaW5kZXg6IDEwMDAxOwltYXJnaW46IDA7fS51aS10aW1lcGlja2VyLXdyYXBwZXIudWktdGltZXBpY2tlci13aXRoLWR1cmF0aW9uIHsJd2lkdGg6IDEzZW07fS51aS10aW1lcGlja2VyLXdyYXBwZXIudWktdGltZXBpY2tlci13aXRoLWR1cmF0aW9uLnVpLXRpbWVwaWNrZXItc3RlcC0zMCwudWktdGltZXBpY2tlci13cmFwcGVyLnVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbi51aS10aW1lcGlja2VyLXN0ZXAtNjAgewl3aWR0aDogMTFlbTt9LnVpLXRpbWVwaWNrZXItbGlzdCB7CW1hcmdpbjogMDsJcGFkZGluZzogMDsJbGlzdC1zdHlsZTogbm9uZTt9LnVpLXRpbWVwaWNrZXItZHVyYXRpb24gewltYXJnaW4tbGVmdDogNXB4OyBjb2xvcjogIzg4ODt9LnVpLXRpbWVwaWNrZXItbGlzdDpob3ZlciAudWktdGltZXBpY2tlci1kdXJhdGlvbiB7CWNvbG9yOiAjODg4O30udWktdGltZXBpY2tlci1saXN0IGxpIHsJcGFkZGluZzogM3B4IDAgM3B4IDVweDsJY3Vyc29yOiBwb2ludGVyOwl3aGl0ZS1zcGFjZTogbm93cmFwOwljb2xvcjogIzAwMDsJbGlzdC1zdHlsZTogbm9uZTsJbWFyZ2luOiAwO30udWktdGltZXBpY2tlci1saXN0OmhvdmVyIC51aS10aW1lcGlja2VyLXNlbGVjdGVkIHsJYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6ICMwMDA7fWxpLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQsLnVpLXRpbWVwaWNrZXItbGlzdCBsaTpob3ZlciwudWktdGltZXBpY2tlci1saXN0IC51aS10aW1lcGlja2VyLXNlbGVjdGVkOmhvdmVyIHsJYmFja2dyb3VuZDogIzE5ODBFQzsgY29sb3I6ICNmZmY7fWxpLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQgLnVpLXRpbWVwaWNrZXItZHVyYXRpb24sLnVpLXRpbWVwaWNrZXItbGlzdCBsaTpob3ZlciAudWktdGltZXBpY2tlci1kdXJhdGlvbiB7CWNvbG9yOiAjY2NjO30udWktdGltZXBpY2tlci1saXN0IGxpLnVpLXRpbWVwaWNrZXItZGlzYWJsZWQsLnVpLXRpbWVwaWNrZXItbGlzdCBsaS51aS10aW1lcGlja2VyLWRpc2FibGVkOmhvdmVyLC51aS10aW1lcGlja2VyLWxpc3QgbGkudWktdGltZXBpY2tlci1zZWxlY3RlZC51aS10aW1lcGlja2VyLWRpc2FibGVkIHsJY29sb3I6ICM4ODg7CWN1cnNvcjogZGVmYXVsdDt9LnVpLXRpbWVwaWNrZXItbGlzdCBsaS51aS10aW1lcGlja2VyLWRpc2FibGVkOmhvdmVyLC51aS10aW1lcGlja2VyLWxpc3QgbGkudWktdGltZXBpY2tlci1zZWxlY3RlZC51aS10aW1lcGlja2VyLWRpc2FibGVkIHsJYmFja2dyb3VuZDogI2YyZjJmMjt9CgoKLyohCiAqIGJvb3RzdHJhcC1kYXRldGltZWpzCiAqIERhdGV0aW1lcGlja2VyIGZvciBCb290c3RyYXAgMwogKiB2ZXJzaW9uIDogNC4xNy4zNwogKiBodHRwczovL2dpdGh1Yi5jb20vRW9uYXNkYW4vYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLwogKi8uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldHtsaXN0LXN0eWxlOm5vbmV9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQuZHJvcGRvd24tbWVudXttYXJnaW46MnB4IDA7cGFkZGluZzo0cHg7d2lkdGg6MTllbX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQuZHJvcGRvd24tbWVudS50aW1lcGlja2VyLXNic3t3aWR0aDozOGVtfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQuZHJvcGRvd24tbWVudS50aW1lcGlja2VyLXNic3t3aWR0aDozOGVtfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnUudGltZXBpY2tlci1zYnN7d2lkdGg6MzhlbX19LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQuZHJvcGRvd24tbWVudTpiZWZvcmUsLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQuZHJvcGRvd24tbWVudTphZnRlcntjb250ZW50OicnO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnUuYm90dG9tOmJlZm9yZXtib3JkZXItbGVmdDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjdweCBzb2xpZCAjY2NjO2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwwLjIpO3RvcDotN3B4O2xlZnQ6N3B4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnUuYm90dG9tOmFmdGVye2JvcmRlci1sZWZ0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHdoaXRlO3RvcDotNnB4O2xlZnQ6OHB4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnUudG9wOmJlZm9yZXtib3JkZXItbGVmdDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjdweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwwLjIpO2JvdHRvbTotN3B4O2xlZnQ6NnB4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnUudG9wOmFmdGVye2JvcmRlci1sZWZ0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NnB4IHNvbGlkIHdoaXRlO2JvdHRvbTotNnB4O2xlZnQ6N3B4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodDpiZWZvcmV7bGVmdDphdXRvO3JpZ2h0OjZweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHQ6YWZ0ZXJ7bGVmdDphdXRvO3JpZ2h0OjdweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAubGlzdC11bnN0eWxlZHttYXJnaW46MH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCBhW2RhdGEtYWN0aW9uXXtwYWRkaW5nOjZweCAwfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IGFbZGF0YS1hY3Rpb25dOmFjdGl2ZXtib3gtc2hhZG93Om5vbmV9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLnRpbWVwaWNrZXItaG91ciwuYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAudGltZXBpY2tlci1taW51dGUsLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLnRpbWVwaWNrZXItc2Vjb25ke3dpZHRoOjU0cHg7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MS4yZW07bWFyZ2luOjB9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgYnV0dG9uW2RhdGEtYWN0aW9uXXtwYWRkaW5nOjZweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAuYnRuW2RhdGEtYWN0aW9uPSJpbmNyZW1lbnRIb3VycyJdOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MDtjb250ZW50OiJJbmNyZW1lbnQgSG91cnMifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5idG5bZGF0YS1hY3Rpb249ImluY3JlbWVudE1pbnV0ZXMiXTo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjA7Y29udGVudDoiSW5jcmVtZW50IE1pbnV0ZXMifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5idG5bZGF0YS1hY3Rpb249ImRlY3JlbWVudEhvdXJzIl06OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6IkRlY3JlbWVudCBIb3VycyJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLmJ0bltkYXRhLWFjdGlvbj0iZGVjcmVtZW50TWludXRlcyJdOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MDtjb250ZW50OiJEZWNyZW1lbnQgTWludXRlcyJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLmJ0bltkYXRhLWFjdGlvbj0ic2hvd0hvdXJzIl06OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6IlNob3cgSG91cnMifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5idG5bZGF0YS1hY3Rpb249InNob3dNaW51dGVzIl06OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6IlNob3cgTWludXRlcyJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLmJ0bltkYXRhLWFjdGlvbj0idG9nZ2xlUGVyaW9kIl06OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6IlRvZ2dsZSBBTS9QTSJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLmJ0bltkYXRhLWFjdGlvbj0iY2xlYXIiXTo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjA7Y29udGVudDoiQ2xlYXIgdGhlIHBpY2tlciJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLmJ0bltkYXRhLWFjdGlvbj0idG9kYXkiXTo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjA7Y29udGVudDoiU2V0IHRoZSBkYXRlIHRvIHRvZGF5In0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAucGlja2VyLXN3aXRjaHt0ZXh0LWFsaWduOmNlbnRlcn0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAucGlja2VyLXN3aXRjaDo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjA7Y29udGVudDoiVG9nZ2xlIERhdGUgYW5kIFRpbWUgU2NyZWVucyJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLnBpY2tlci1zd2l0Y2ggdGR7cGFkZGluZzowO21hcmdpbjowO2hlaWdodDphdXRvO3dpZHRoOmF1dG87bGluZS1oZWlnaHQ6aW5oZXJpdH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAucGlja2VyLXN3aXRjaCB0ZCBzcGFue2xpbmUtaGVpZ2h0OjIuNTtoZWlnaHQ6Mi41ZW07d2lkdGg6MTAwJX0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZXt3aWR0aDoxMDAlO21hcmdpbjowfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRoe3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRoe2hlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0aC5waWNrZXItc3dpdGNoe3dpZHRoOjE0NXB4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRoLmRpc2FibGVkLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRoLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6bm9uZTtjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0aC5wcmV2OjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MDtjb250ZW50OiJQcmV2aW91cyBNb250aCJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGgubmV4dDo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjA7Y29udGVudDoiTmV4dCBNb250aCJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGh7Y3Vyc29yOnBvaW50ZXJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6aG92ZXJ7YmFja2dyb3VuZDojZWVlfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRke2hlaWdodDo1NHB4O2xpbmUtaGVpZ2h0OjU0cHg7d2lkdGg6NTRweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZC5jd3tmb250LXNpemU6LjhlbTtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiM3Nzd9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQuZGF5e2hlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZC5kYXk6aG92ZXIsLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQuaG91cjpob3ZlciwuYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZC5taW51dGU6aG92ZXIsLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQuc2Vjb25kOmhvdmVye2JhY2tncm91bmQ6I2VlZTtjdXJzb3I6cG9pbnRlcn0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZC5vbGQsLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQubmV3e2NvbG9yOiM3Nzd9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQudG9kYXl7cG9zaXRpb246cmVsYXRpdmV9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQudG9kYXk6YmVmb3Jle2NvbnRlbnQ6Jyc7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOnNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci13aWR0aDowIDAgN3B4IDdweDtib3JkZXItYm90dG9tLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLDAuMik7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjRweDtyaWdodDo0cHh9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQuYWN0aXZlLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLDAuMjUpfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLmFjdGl2ZS50b2RheTpiZWZvcmV7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLmRpc2FibGVkLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6bm9uZTtjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZCBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweDttYXJnaW46MnB4IDEuNXB4O2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6NHB4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkIHNwYW46aG92ZXJ7YmFja2dyb3VuZDojZWVlfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkIHNwYW4uYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsMC4yNSl9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQgc3Bhbi5vbGR7Y29sb3I6Izc3N30uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZCBzcGFuLmRpc2FibGVkLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkIHNwYW4uZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZDpub25lO2NvbG9yOiM3Nzc7Y3Vyc29yOm5vdC1hbGxvd2VkfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LnVzZXR3ZW50eWZvdXIgdGQuaG91cntoZWlnaHQ6MjdweDtsaW5lLWhlaWdodDoyN3B4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LndpZGVye3dpZHRoOjIxZW19LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLmRhdGVwaWNrZXItZGVjYWRlcyAuZGVjYWRle2xpbmUtaGVpZ2h0OjEuOGVtICFpbXBvcnRhbnR9LmlucHV0LWdyb3VwLmRhdGUgLmlucHV0LWdyb3VwLWFkZG9ue2N1cnNvcjpwb2ludGVyfS5zci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowfQoKCgoKLyoKICogIGpxdWVyeSBUd2VudHlUd2VudHkgQmVmb3JlIEFmdGVyIFNsaWRlcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudHdlbnR5dHdlbnR5LWhvcml6b250YWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YmVmb3JlLCAudHdlbnR5dHdlbnR5LWhvcml6b250YWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YWZ0ZXIsIC50d2VudHl0d2VudHktdmVydGljYWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YmVmb3JlLCAudHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktaGFuZGxlOmFmdGVyIHsgIGNvbnRlbnQ6ICIgIjsgIGRpc3BsYXk6IGJsb2NrOyAgYmFja2dyb3VuZDogd2hpdGU7ICBwb3NpdGlvbjogYWJzb2x1dGU7ICB6LWluZGV4OiAzMDsgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIGJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7IH0udHdlbnR5dHdlbnR5LWhvcml6b250YWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YmVmb3JlLCAudHdlbnR5dHdlbnR5LWhvcml6b250YWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YWZ0ZXIgeyAgd2lkdGg6IDNweDsgIGhlaWdodDogOTk5OXB4OyAgbGVmdDogNTAlOyAgbWFyZ2luLWxlZnQ6IC0xLjVweDsgfS50d2VudHl0d2VudHktdmVydGljYWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YmVmb3JlLCAudHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktaGFuZGxlOmFmdGVyIHsgIHdpZHRoOiA5OTk5cHg7ICBoZWlnaHQ6IDNweDsgIHRvcDogNTAlOyAgbWFyZ2luLXRvcDogLTEuNXB4OyB9LnR3ZW50eXR3ZW50eS1iZWZvcmUtbGFiZWwsIC50d2VudHl0d2VudHktYWZ0ZXItbGFiZWwsIC50d2VudHl0d2VudHktb3ZlcmxheSB7ICBwb3NpdGlvbjogYWJzb2x1dGU7ICB0b3A6IDA7ICB3aWR0aDogMTAwJTsgIGhlaWdodDogMTAwJTsgfS50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsLCAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsLCAudHdlbnR5dHdlbnR5LW92ZXJsYXkgeyAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOyAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOyAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsgfS50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsLCAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsIHsgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH0udHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbDpiZWZvcmUsIC50d2VudHl0d2VudHktYWZ0ZXItbGFiZWw6YmVmb3JlIHsgIGNvbG9yOiB3aGl0ZTsgIGZvbnQtc2l6ZTogMTNweDsgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsgfS50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsOmJlZm9yZSwgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbDpiZWZvcmUgeyAgcG9zaXRpb246IGFic29sdXRlOyAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyAgbGluZS1oZWlnaHQ6IDM4cHg7ICBwYWRkaW5nOiAwIDIwcHg7ICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDsgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4OyAgYm9yZGVyLXJhZGl1czogMnB4OyB9LnR3ZW50eXR3ZW50eS1ob3Jpem9udGFsIC50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsOmJlZm9yZSwgLnR3ZW50eXR3ZW50eS1ob3Jpem9udGFsIC50d2VudHl0d2VudHktYWZ0ZXItbGFiZWw6YmVmb3JlIHsgIHRvcDogNTAlOyAgbWFyZ2luLXRvcDogLTE5cHg7IH0udHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsOmJlZm9yZSwgLnR3ZW50eXR3ZW50eS12ZXJ0aWNhbCAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsOmJlZm9yZSB7ICBsZWZ0OiA1MCU7ICBtYXJnaW4tbGVmdDogLTQ1cHg7ICB0ZXh0LWFsaWduOiBjZW50ZXI7ICB3aWR0aDogOTBweDsgfS50d2VudHl0d2VudHktbGVmdC1hcnJvdywgLnR3ZW50eXR3ZW50eS1yaWdodC1hcnJvdywgLnR3ZW50eXR3ZW50eS11cC1hcnJvdywgLnR3ZW50eXR3ZW50eS1kb3duLWFycm93IHsgIHdpZHRoOiAwOyAgaGVpZ2h0OiAwOyAgYm9yZGVyOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7ICBwb3NpdGlvbjogYWJzb2x1dGU7IH0udHdlbnR5dHdlbnR5LWxlZnQtYXJyb3csIC50d2VudHl0d2VudHktcmlnaHQtYXJyb3cgeyAgdG9wOiA1MCU7ICBtYXJnaW4tdG9wOiAtNnB4OyB9LnR3ZW50eXR3ZW50eS11cC1hcnJvdywgLnR3ZW50eXR3ZW50eS1kb3duLWFycm93IHsgIGxlZnQ6IDUwJTsgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9LnR3ZW50eXR3ZW50eS1jb250YWluZXIgeyAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7ICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgIHotaW5kZXg6IDA7ICBvdmVyZmxvdzogaGlkZGVuOyAgcG9zaXRpb246IHJlbGF0aXZlOyAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IH0gIC50d2VudHl0d2VudHktY29udGFpbmVyIGltZyB7ICAgIG1heC13aWR0aDogMTAwJTsgICAgcG9zaXRpb246IGFic29sdXRlOyAgICB0b3A6IDA7ICAgIGRpc3BsYXk6IGJsb2NrOyB9ICAudHdlbnR5dHdlbnR5LWNvbnRhaW5lci5hY3RpdmUgLnR3ZW50eXR3ZW50eS1vdmVybGF5LCAudHdlbnR5dHdlbnR5LWNvbnRhaW5lci5hY3RpdmUgOmhvdmVyLnR3ZW50eXR3ZW50eS1vdmVybGF5IHsgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTsgfSAgICAudHdlbnR5dHdlbnR5LWNvbnRhaW5lci5hY3RpdmUgLnR3ZW50eXR3ZW50eS1vdmVybGF5IC50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsLCAgICAudHdlbnR5dHdlbnR5LWNvbnRhaW5lci5hY3RpdmUgLnR3ZW50eXR3ZW50eS1vdmVybGF5IC50d2VudHl0d2VudHktYWZ0ZXItbGFiZWwsIC50d2VudHl0d2VudHktY29udGFpbmVyLmFjdGl2ZSA6aG92ZXIudHdlbnR5dHdlbnR5LW92ZXJsYXkgLnR3ZW50eXR3ZW50eS1iZWZvcmUtbGFiZWwsICAgIC50d2VudHl0d2VudHktY29udGFpbmVyLmFjdGl2ZSA6aG92ZXIudHdlbnR5dHdlbnR5LW92ZXJsYXkgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbCB7ICAgICAgb3BhY2l0eTogMDsgfSAgLnR3ZW50eXR3ZW50eS1jb250YWluZXIgKiB7ICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7ICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7ICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9LnR3ZW50eXR3ZW50eS1iZWZvcmUtbGFiZWwgeyAgb3BhY2l0eTogMDsgfSAgLnR3ZW50eXR3ZW50eS1iZWZvcmUtbGFiZWw6YmVmb3JlIHsgICAgY29udGVudDogYXR0cihkYXRhLWNvbnRlbnQpOyB9LnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbCB7ICBvcGFjaXR5OiAwOyB9ICAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsOmJlZm9yZSB7ICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb250ZW50KTsgfS50d2VudHl0d2VudHktaG9yaXpvbnRhbCAudHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbDpiZWZvcmUgeyAgbGVmdDogMTBweDsgfS50d2VudHl0d2VudHktaG9yaXpvbnRhbCAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsOmJlZm9yZSB7ICByaWdodDogMTBweDsgfS50d2VudHl0d2VudHktdmVydGljYWwgLnR3ZW50eXR3ZW50eS1iZWZvcmUtbGFiZWw6YmVmb3JlIHsgIHRvcDogMTBweDsgfS50d2VudHl0d2VudHktdmVydGljYWwgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbDpiZWZvcmUgeyAgYm90dG9tOiAxMHB4OyB9LnR3ZW50eXR3ZW50eS1vdmVybGF5IHsgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDsgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDsgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7ICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApOyAgei1pbmRleDogMjU7IH0gIC50d2VudHl0d2VudHktb3ZlcmxheTpob3ZlciB7ICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsgfSAgICAudHdlbnR5dHdlbnR5LW92ZXJsYXk6aG92ZXIgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbCB7ICAgICAgb3BhY2l0eTogMTsgfSAgICAudHdlbnR5dHdlbnR5LW92ZXJsYXk6aG92ZXIgLnR3ZW50eXR3ZW50eS1iZWZvcmUtbGFiZWwgeyAgICAgIG9wYWNpdHk6IDE7IH0udHdlbnR5dHdlbnR5LWJlZm9yZSB7ICB6LWluZGV4OiAyMDsgfS50d2VudHl0d2VudHktYWZ0ZXIgeyAgei1pbmRleDogMTA7IH0udHdlbnR5dHdlbnR5LWhhbmRsZSB7ICBoZWlnaHQ6IDM4cHg7ICB3aWR0aDogMzhweDsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIGxlZnQ6IDUwJTsgIHRvcDogNTAlOyAgbWFyZ2luLWxlZnQ6IC0yMnB4OyAgbWFyZ2luLXRvcDogLTIycHg7ICBib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTsgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTAwMHB4OyAgLW1vei1ib3JkZXItcmFkaXVzOiAxMDAwcHg7ICBib3JkZXItcmFkaXVzOiAxMDAwcHg7ICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICBib3gtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyAgei1pbmRleDogNDA7ICBjdXJzb3I6IHBvaW50ZXI7IH0udHdlbnR5dHdlbnR5LWhvcml6b250YWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YmVmb3JlIHsgIGJvdHRvbTogNTAlOyAgbWFyZ2luLWJvdHRvbTogMjJweDsgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMCB3aGl0ZSwgMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIC1tb3otYm94LXNoYWRvdzogMCAzcHggMCB3aGl0ZSwgMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIGJveC1zaGFkb3c6IDAgM3B4IDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7IH0udHdlbnR5dHdlbnR5LWhvcml6b250YWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YWZ0ZXIgeyAgdG9wOiA1MCU7ICBtYXJnaW4tdG9wOiAyMnB4OyAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIC0zcHggMCB3aGl0ZSwgMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIC1tb3otYm94LXNoYWRvdzogMCAtM3B4IDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICBib3gtc2hhZG93OiAwIC0zcHggMCB3aGl0ZSwgMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgfS50d2VudHl0d2VudHktdmVydGljYWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YmVmb3JlIHsgIGxlZnQ6IDUwJTsgIG1hcmdpbi1sZWZ0OiAyMnB4OyAgLXdlYmtpdC1ib3gtc2hhZG93OiAzcHggMCAwIHdoaXRlLCAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyAgLW1vei1ib3gtc2hhZG93OiAzcHggMCAwIHdoaXRlLCAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyAgYm94LXNoYWRvdzogM3B4IDAgMCB3aGl0ZSwgMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgfS50d2VudHl0d2VudHktdmVydGljYWwgLnR3ZW50eXR3ZW50eS1oYW5kbGU6YWZ0ZXIgeyAgcmlnaHQ6IDUwJTsgIG1hcmdpbi1yaWdodDogMjJweDsgIC13ZWJraXQtYm94LXNoYWRvdzogLTNweCAwIDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICAtbW96LWJveC1zaGFkb3c6IC0zcHggMCAwIHdoaXRlLCAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyAgYm94LXNoYWRvdzogLTNweCAwIDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7IH0udHdlbnR5dHdlbnR5LWxlZnQtYXJyb3cgeyAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgd2hpdGU7ICBsZWZ0OiA1MCU7ICBtYXJnaW4tbGVmdDogLTE3cHg7IH0udHdlbnR5dHdlbnR5LXJpZ2h0LWFycm93IHsgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgd2hpdGU7ICByaWdodDogNTAlOyAgbWFyZ2luLXJpZ2h0OiAtMTdweDsgfS50d2VudHl0d2VudHktdXAtYXJyb3cgeyAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHdoaXRlOyAgdG9wOiA1MCU7ICBtYXJnaW4tdG9wOiAtMTdweDsgfS50d2VudHl0d2VudHktZG93bi1hcnJvdyB7ICBib3JkZXItdG9wOiA2cHggc29saWQgd2hpdGU7ICBib3R0b206IDUwJTsgIG1hcmdpbi1ib3R0b206IC0xN3B4OyB9CgoKCgoKCi8qCiAqICBvZG9tZXRlciAwLjQuOAogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiBvZG9tZXRlci10aGVtZS1taW5pbWFsLmNzcyAqLwoub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtbWluaW1hbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0LC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsIC5vZG9tZXRlci1kaWdpdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLW1pbmltYWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Zpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLW1pbmltYWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lcnt0ZXh0LWFsaWduOmxlZnQ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvdmVyZmxvdzpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24sLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLW1pbmltYWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib257ZGlzcGxheTpibG9ja30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtbWluaW1hbCAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lcntkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtbWluaW1hbCAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVle2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLW1pbmltYWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVle3Bvc2l0aW9uOmFic29sdXRlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyc30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLW1pbmltYWwub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfQovKiBvZG9tZXRlci10aGVtZS1jYXIuY3NzICovCkBpbXBvcnQgdXJsKCIuLi8uLi8uLi8uLi8uLi8uLi9leHRlcm5hbC5odG1sP2xpbms9aHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9QXJpbW8iKTsub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2Fye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhciAub2RvbWV0ZXItZGlnaXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtc3BhY2VyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXIgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Zpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhciAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye3RleHQtYWxpZ246bGVmdDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbiwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9ue2Rpc3BsYXk6YmxvY2t9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhciAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lcntkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWV7ZGlzcGxheTpibG9jazstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZXtwb3NpdGlvbjphYnNvbHV0ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyc30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhci5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhci5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXJ7LW1vei1ib3JkZXItcmFkaXVzOi4zNGVtOy13ZWJraXQtYm9yZGVyLXJhZGl1czouMzRlbTtib3JkZXItcmFkaXVzOi4zNGVtO2ZvbnQtZmFtaWx5OiJBcmltbyIsbW9ub3NwYWNlO3BhZGRpbmc6LjE1ZW07YmFja2dyb3VuZDojMDAwO2NvbG9yOiNlZWUwZDN9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0LC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXIgLm9kb21ldGVyLWRpZ2l0ey1tb3otYm94LXNoYWRvdzppbnNldCAwIDAgLjNlbSByZ2JhKDAsMCwwLDAuOCk7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAuM2VtIHJnYmEoMCwwLDAsMC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAuM2VtIHJnYmEoMCwwLDAsMC44KTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRnUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEdSbFpuTStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKdlltcGxZM1JDYjNWdVpHbHVaMEp2ZUNJZ2VERTlJakF1TlNJZ2VURTlJakF1TUNJZ2VESTlJakF1TlNJZ2VUSTlJakV1TUNJK1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJek16TXpNek15SXZQanh6ZEc5d0lHOW1abk5sZEQwaU5EQWxJaUJ6ZEc5d0xXTnZiRzl5UFNJak16TXpNek16SWk4K1BITjBiM0FnYjJabWMyVjBQU0kyTUNVaUlITjBiM0F0WTI5c2IzSTlJaU14TURFd01UQWlMejQ4YzNSdmNDQnZabVp6WlhROUlqZ3dKU0lnYzNSdmNDMWpiMnh2Y2owaUl6TXpNek16TXlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTVRBd0pTSWdjM1J2Y0MxamIyeHZjajBpSXpNek16TXpNeUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEM5a1pXWnpQanh5WldOMElIZzlJakFpSUhrOUlqQWlJSGRwWkhSb1BTSXhNREFsSWlCb1pXbG5hSFE5SWpFd01DVWlJR1pwYkd3OUluVnliQ2dqWjNKaFpDa2lJQzgrUEM5emRtYytJQT09Jyk7YmFja2dyb3VuZC1zaXplOjEwMCU7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciw1MCUgMCw1MCUgMTAwJSxjb2xvci1zdG9wKDAlLCMzMzMpLGNvbG9yLXN0b3AoNDAlLCMzMzMpLGNvbG9yLXN0b3AoNjAlLCMxMDEwMTApLGNvbG9yLXN0b3AoODAlLCMzMzMpLGNvbG9yLXN0b3AoMTAwJSwjMzMzKSk7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIzMzMyAwLCMzMzMgNDAlLCMxMDEwMTAgNjAlLCMzMzMgODAlLCMzMzMgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIzMzMyAwLCMzMzMgNDAlLCMxMDEwMTAgNjAlLCMzMzMgODAlLCMzMzMgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCMzMzMgMCwjMzMzIDQwJSwjMTAxMDEwIDYwJSwjMzMzIDgwJSwjMzMzIDEwMCUpO3BhZGRpbmc6MCAuMTVlbX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQ6Zmlyc3QtY2hpbGQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhciAub2RvbWV0ZXItZGlnaXQ6Zmlyc3QtY2hpbGR7LW1vei1ib3JkZXItcmFkaXVzOi4yZW0gMCAwIC4yZW07LXdlYmtpdC1ib3JkZXItcmFkaXVzOi4yZW07Ym9yZGVyLXJhZGl1czouMmVtIDAgMCAuMmVtfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdDpsYXN0LWNoaWxkLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXIgLm9kb21ldGVyLWRpZ2l0Omxhc3QtY2hpbGR7LW1vei1ib3JkZXItcmFkaXVzOjAgLjJlbSAuMmVtIDA7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXJhZGl1czowIC4yZW0gLjJlbSAwO2JhY2tncm91bmQtaW1hZ2U6dXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NGdQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQR1JsWm5NK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0p2WW1wbFkzUkNiM1Z1WkdsdVowSnZlQ0lnZURFOUlqQXVOU0lnZVRFOUlqQXVNQ0lnZURJOUlqQXVOU0lnZVRJOUlqRXVNQ0krUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyVmxaVEJrTXlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTkRBbElpQnpkRzl3TFdOdmJHOXlQU0lqWldWbE1HUXpJaTgrUEhOMGIzQWdiMlptYzJWMFBTSTJNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTmlZbUZoT1dFaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpnd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJWbFpUQmtNeUl2UGp4emRHOXdJRzltWm5ObGREMGlNVEF3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlZsWlRCa015SXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQQzlrWldaelBqeHlaV04wSUhnOUlqQWlJSGs5SWpBaUlIZHBaSFJvUFNJeE1EQWxJaUJvWldsbmFIUTlJakV3TUNVaUlHWnBiR3c5SW5WeWJDZ2paM0poWkNraUlDOCtQQzl6ZG1jK0lBPT0nKTtiYWNrZ3JvdW5kLXNpemU6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLDUwJSAwLDUwJSAxMDAlLGNvbG9yLXN0b3AoMCUsI2VlZTBkMyksY29sb3Itc3RvcCg0MCUsI2VlZTBkMyksY29sb3Itc3RvcCg2MCUsI2JiYWE5YSksY29sb3Itc3RvcCg4MCUsI2VlZTBkMyksY29sb3Itc3RvcCgxMDAlLCNlZWUwZDMpKTtiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZWVlMGQzIDAsI2VlZTBkMyA0MCUsI2JiYWE5YSA2MCUsI2VlZTBkMyA4MCUsI2VlZTBkMyAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZWVlMGQzIDAsI2VlZTBkMyA0MCUsI2JiYWE5YSA2MCUsI2VlZTBkMyA4MCUsI2VlZTBkMyAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2VlZTBkMyAwLCNlZWUwZDMgNDAlLCNiYmFhOWEgNjAlLCNlZWUwZDMgODAlLCNlZWUwZDMgMTAwJSk7YmFja2dyb3VuZC1jb2xvcjojZWVlMGQzO2NvbG9yOiMwMDB9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXJ7bGVmdDouMTVlbX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXIub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfQovKiBvZG9tZXRlci10aGVtZS1kZWZhdWx0LmNzcyAqLwoub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGVmYXVsdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0LC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0IC5vZG9tZXRlci1kaWdpdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Zpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lcnt0ZXh0LWFsaWduOmxlZnQ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvdmVyZmxvdzpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24sLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib257ZGlzcGxheTpibG9ja30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGVmYXVsdCAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lcntkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGVmYXVsdCAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVle2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVle3Bvc2l0aW9uOmFic29sdXRlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0Lm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyc30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0Lm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0Lm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0e2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxLjFlbX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLXZhbHVle3RleHQtYWxpZ246Y2VudGVyfQovKiBvZG9tZXRlci10aGVtZS1kaWdpdGFsLmNzcyAqLwpAaW1wb3J0IHVybCgiLi4vLi4vLi4vLi4vLi4vLi4vZXh0ZXJuYWwuaHRtbD9saW5rPWh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVdhbGxwb2V0Iik7Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbCAub2RvbWV0ZXItZGlnaXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtc3BhY2VyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtc3BhY2Vye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTt2aXNpYmlsaXR5OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXJ7dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7b3ZlcmZsb3c6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9ue2Rpc3BsYXk6YmxvY2t9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXJ7ZGlzcGxheTpibG9jazstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZXtkaXNwbGF5OmJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVlLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZXtwb3NpdGlvbjphYnNvbHV0ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbC5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMnM7LW1vei10cmFuc2l0aW9uOi1tb3otdHJhbnNmb3JtIDJzOy1tcy10cmFuc2l0aW9uOi1tcy10cmFuc2Zvcm0gMnM7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMnN9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsLm9kb21ldGVyLWFuaW1hdGluZy11cC5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbC5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbC5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMnM7LW1vei10cmFuc2l0aW9uOi1tb3otdHJhbnNmb3JtIDJzOy1tcy10cmFuc2l0aW9uOi1tcy10cmFuc2Zvcm0gMnM7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMnM7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbHtiYWNrZ3JvdW5kLWltYWdlOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRnUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEdSbFpuTStQSEpoWkdsaGJFZHlZV1JwWlc1MElHbGtQU0puY21Ga0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnWTNnOUlqVXdKU0lnWTNrOUlqVXdKU0lnY2owaU1UQXdKU0krUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUl6aGlaalZoTlNJZ2MzUnZjQzF2Y0dGamFYUjVQU0l3TGpRaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlNd01EQXdNREFpTHo0OEwzSmhaR2xoYkVkeVlXUnBaVzUwUGp3dlpHVm1jejQ4Y21WamRDQjRQU0l3SWlCNVBTSXdJaUIzYVdSMGFEMGlNVEF3SlNJZ2FHVnBaMmgwUFNJeE1EQWxJaUJtYVd4c1BTSjFjbXdvSTJkeVlXUXBJaUF2UGp3dmMzWm5QaUE9Jyk7YmFja2dyb3VuZC1zaXplOjEwMCU7YmFja2dyb3VuZC1pbWFnZTotbW96LXJhZGlhbC1ncmFkaWVudChyZ2JhKDEzOSwyNDUsMTY1LDAuNCksIzAwMCk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LXJhZGlhbC1ncmFkaWVudChyZ2JhKDEzOSwyNDUsMTY1LDAuNCksIzAwMCk7YmFja2dyb3VuZC1pbWFnZTpyYWRpYWwtZ3JhZGllbnQocmdiYSgxMzksMjQ1LDE2NSwwLjQpLCMwMDApO2JhY2tncm91bmQtY29sb3I6IzAwMDtmb250LWZhbWlseToiV2FsbHBvZXQiLG1vbm9zcGFjZTtwYWRkaW5nOjAgLjJlbTtsaW5lLWhlaWdodDoxLjFlbTtjb2xvcjojOGJmNWE1fS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCsub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWwgLm9kb21ldGVyLWRpZ2l0Ky5vZG9tZXRlci1kaWdpdHttYXJnaW4tbGVmdDouMWVtfQovKiBvZG9tZXRlci10aGVtZS1wbGF6YS5jc3MgKi8KLm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphIC5vZG9tZXRlci1kaWdpdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtc3BhY2Vye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTt2aXNpYmlsaXR5OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye3RleHQtYWxpZ246bGVmdDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbiwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib257ZGlzcGxheTpibG9ja30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXJ7ZGlzcGxheTpibG9jazstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWV7ZGlzcGxheTpibG9jazstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVle3Bvc2l0aW9uOmFic29sdXRlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMnM7LW1vei10cmFuc2l0aW9uOi1tb3otdHJhbnNmb3JtIDJzOy1tcy10cmFuc2l0aW9uOi1tcy10cmFuc2Zvcm0gMnM7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMnN9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMnM7LW1vei10cmFuc2l0aW9uOi1tb3otdHJhbnNmb3JtIDJzOy1tcy10cmFuc2l0aW9uOi1tcy10cmFuc2Zvcm0gMnM7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMnM7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemF7LW1vei1ib3JkZXItcmFkaXVzOi4xNWVtOy13ZWJraXQtYm9yZGVyLXJhZGl1czouMTVlbTtib3JkZXItcmFkaXVzOi4xNWVtO2JhY2tncm91bmQtY29sb3I6I2YwZjhmZjtmb250LWZhbWlseToiSGVsdmV0aWNhIE5ldWUiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6MTAwO3BhZGRpbmc6MCAuMTJlbTtsaW5lLWhlaWdodDoxLjJlbTtmb250LXNpemU6MS4yZW07YmFja2dyb3VuZC1zaXplOjE2cHggMTZweH0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphIC5vZG9tZXRlci1kaWdpdHstbW96LWJvcmRlci1yYWRpdXM6LjFlbTstd2Via2l0LWJvcmRlci1yYWRpdXM6LjFlbTtib3JkZXItcmFkaXVzOi4xZW07cGFkZGluZzowIC4wM2VtO2NvbG9yOiM2NDhiYWZ9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lcntsZWZ0Oi4wM2VtfQovKiBvZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUuY3NzICovCkBpbXBvcnQgdXJsKCIuLi8uLi8uLi8uLi8uLi8uLi9leHRlcm5hbC5odG1sP2xpbms9aHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UnllIik7Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0LC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LXNwYWNlciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtc3BhY2Vye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTt2aXNpYmlsaXR5OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lcnt0ZXh0LWFsaWduOmxlZnQ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvdmVyZmxvdzpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24sLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbntkaXNwbGF5OmJsb2NrfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXJ7ZGlzcGxheTpibG9jazstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVle2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWV7cG9zaXRpb246YWJzb2x1dGV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLXVwIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMnM7LW1vei10cmFuc2l0aW9uOi1tb3otdHJhbnNmb3JtIDJzOy1tcy10cmFuc2l0aW9uOi1tcy10cmFuc2Zvcm0gMnM7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMnN9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMnM7LW1vei10cmFuc2l0aW9uOi1tb3otdHJhbnNmb3JtIDJzOy1tcy10cmFuc2l0aW9uOi1tcy10cmFuc2Zvcm0gMnM7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMnM7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5ley1tb3otYm9yZGVyLXJhZGl1czouMzRlbTstd2Via2l0LWJvcmRlci1yYWRpdXM6LjM0ZW07Ym9yZGVyLXJhZGl1czouMzRlbTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRnUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEdSbFpuTStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKdlltcGxZM1JDYjNWdVpHbHVaMEp2ZUNJZ2VERTlJakF1TlNJZ2VURTlJakF1TUNJZ2VESTlJakF1TlNJZ2VUSTlJakV1TUNJK1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlptWm1Zd01DSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1UQXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyWm1ZVFV3TUNJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BDOWtaV1p6UGp4eVpXTjBJSGc5SWpBaUlIazlJakFpSUhkcFpIUm9QU0l4TURBbElpQm9aV2xuYUhROUlqRXdNQ1VpSUdacGJHdzlJblZ5YkNnalozSmhaQ2tpSUM4K1BDOXpkbWMrSUE9PScpO2JhY2tncm91bmQtc2l6ZToxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsNTAlIDAsNTAlIDEwMCUsY29sb3Itc3RvcCgwJSwjZmYwKSxjb2xvci1zdG9wKDEwMCUsI2ZmYTUwMCkpO2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQoI2ZmMCwjZmZhNTAwKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KCNmZjAsI2ZmYTUwMCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoI2ZmMCwjZmZhNTAwKTtiYWNrZ3JvdW5kLWNvbG9yOiNmYzA7Zm9udC1mYW1pbHk6IlJ5ZSIsbW9ub3NwYWNlO3BhZGRpbmc6LjE1ZW07Y29sb3I6I2Y4MDAwMDtsaW5lLWhlaWdodDoxLjM1ZW07Ym9yZGVyOi4wM2VtIHNvbGlkICMwMDA7LXdlYmtpdC10ZXh0LXN0cm9rZTouMDVlbSAjMDAwfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdHstbW96LWJveC1zaGFkb3c6aW5zZXQgMCAwIC4xZW0gcmdiYSgwLDAsMCwwLjUpLDAgMCAwIC4wM2VtICNmZmYsMCAwIDAgLjA1ZW0gcmdiYSgwLDAsMCwwLjIpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgLjFlbSByZ2JhKDAsMCwwLDAuNSksMCAwIDAgLjAzZW0gI2ZmZiwwIDAgMCAuMDVlbSByZ2JhKDAsMCwwLDAuMik7Ym94LXNoYWRvdzppbnNldCAwIDAgLjFlbSByZ2JhKDAsMCwwLDAuNSksMCAwIDAgLjAzZW0gI2ZmZiwwIDAgMCAuMDVlbSByZ2JhKDAsMCwwLDAuMik7LW1vei1ib3JkZXItcmFkaXVzOi4yZW07LXdlYmtpdC1ib3JkZXItcmFkaXVzOi4yZW07Ym9yZGVyLXJhZGl1czouMmVtO2JhY2tncm91bmQtaW1hZ2U6dXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NGdQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQR1JsWm5NK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0p2WW1wbFkzUkNiM1Z1WkdsdVowSnZlQ0lnZURFOUlqQXVOU0lnZVRFOUlqQXVNQ0lnZURJOUlqQXVOU0lnZVRJOUlqRXVNQ0krUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyTmpZMk5qWXlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTWpBbElpQnpkRzl3TFdOdmJHOXlQU0lqWm1abVptWm1JaTgrUEhOMGIzQWdiMlptYzJWMFBTSTRNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTm1abVptWm1ZaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlOalkyTmpZMk1pTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp3dlpHVm1jejQ4Y21WamRDQjRQU0l3SWlCNVBTSXdJaUIzYVdSMGFEMGlNVEF3SlNJZ2FHVnBaMmgwUFNJeE1EQWxJaUJtYVd4c1BTSjFjbXdvSTJkeVlXUXBJaUF2UGp3dmMzWm5QaUE9Jyk7YmFja2dyb3VuZC1zaXplOjEwMCU7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciw1MCUgMCw1MCUgMTAwJSxjb2xvci1zdG9wKDAlLCNjY2MpLGNvbG9yLXN0b3AoMjAlLCNmZmYpLGNvbG9yLXN0b3AoODAlLCNmZmYpLGNvbG9yLXN0b3AoMTAwJSwjY2NjKSk7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2NjYyAwLCNmZmYgMjAlLCNmZmYgODAlLCNjY2MgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2NjYyAwLCNmZmYgMjAlLCNmZmYgODAlLCNjY2MgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNjY2MgMCwjZmZmIDIwJSwjZmZmIDgwJSwjY2NjIDEwMCUpO2JvcmRlcjouMDNlbSBzb2xpZCAjNDQ0O3BhZGRpbmc6LjFlbSAuMTVlbSAwfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdDpmaXJzdC1jaGlsZCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdDpmaXJzdC1jaGlsZHstbW96LWJveC1zaGFkb3c6aW5zZXQgLjA1ZW0gMCAuMWVtIHJnYmEoMCwwLDAsMC41KSwwIDAgMCAuMDNlbSAjZmZmLDAgMCAwIC4wNWVtIHJnYmEoMCwwLDAsMC4yKTstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLjA1ZW0gMCAuMWVtIHJnYmEoMCwwLDAsMC41KSwwIDAgMCAuMDNlbSAjZmZmLDAgMCAwIC4wNWVtIHJnYmEoMCwwLDAsMC4yKTtib3gtc2hhZG93Omluc2V0IC4wNWVtIDAgLjFlbSByZ2JhKDAsMCwwLDAuNSksMCAwIDAgLjAzZW0gI2ZmZiwwIDAgMCAuMDVlbSByZ2JhKDAsMCwwLDAuMil9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0Omxhc3QtY2hpbGQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQ6bGFzdC1jaGlsZHstbW96LWJveC1zaGFkb3c6aW5zZXQgLTAuMDVlbSAwIC4xZW0gcmdiYSgwLDAsMCwwLjUpLDAgMCAwIC4wM2VtICNmZmYsMCAwIDAgLjA1ZW0gcmdiYSgwLDAsMCwwLjIpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAtMC4wNWVtIDAgLjFlbSByZ2JhKDAsMCwwLDAuNSksMCAwIDAgLjAzZW0gI2ZmZiwwIDAgMCAuMDVlbSByZ2JhKDAsMCwwLDAuMik7Ym94LXNoYWRvdzppbnNldCAtMC4wNWVtIDAgLjFlbSByZ2JhKDAsMCwwLDAuNSksMCAwIDAgLjAzZW0gI2ZmZiwwIDAgMCAuMDVlbSByZ2JhKDAsMCwwLDAuMil9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0Ky5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdCsub2RvbWV0ZXItZGlnaXR7bWFyZ2luLWxlZnQ6LjE1ZW19Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXJ7cGFkZGluZy10b3A6LjA4ZW19Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVle2xlZnQ6MDtyaWdodDowO3RleHQtYWxpZ246Y2VudGVyfQovKiBvZG9tZXRlci10aGVtZS10cmFpbi1zdGF0aW9uLmNzcyAqLwpAaW1wb3J0IHVybCgiLi4vLi4vLi4vLi4vLi4vLi4vZXh0ZXJuYWwuaHRtbD9saW5rPWh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUVjb25vbWljYSIpOy5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS10cmFpbi1zdGF0aW9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24gLm9kb21ldGVyLWRpZ2l0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LXNwYWNlciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LXNwYWNlcntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7dmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye3RleHQtYWxpZ246bGVmdDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbiwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbntkaXNwbGF5OmJsb2NrfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS10cmFpbi1zdGF0aW9uIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLWlubmVye2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS10cmFpbi1zdGF0aW9uIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWV7ZGlzcGxheTpibG9jazstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWV7cG9zaXRpb246YWJzb2x1dGV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLXVwIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24ub2RvbWV0ZXItYW5pbWF0aW5nLXVwIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDJzOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAyczstbXMtdHJhbnNpdGlvbjotbXMtdHJhbnNmb3JtIDJzOy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIDJzO3RyYW5zaXRpb246dHJhbnNmb3JtIDJzfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cC5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbi5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24ub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24ub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDJzOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAyczstbXMtdHJhbnNpdGlvbjotbXMtdHJhbnNmb3JtIDJzOy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIDJzO3RyYW5zaXRpb246dHJhbnNmb3JtIDJzOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb257Zm9udC1mYW1pbHk6IkVjb25vbWljYSIsc2Fucy1zZXJpZn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24gLm9kb21ldGVyLWRpZ2l0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTstbW96LWJvcmRlci1yYWRpdXM6LjFlbTstd2Via2l0LWJvcmRlci1yYWRpdXM6LjFlbTtib3JkZXItcmFkaXVzOi4xZW07YmFja2dyb3VuZC1pbWFnZTp1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0Z1BITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK1BHUmxabk0rUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSnZZbXBsWTNSQ2IzVnVaR2x1WjBKdmVDSWdlREU5SWpBdU5TSWdlVEU5SWpBdU1DSWdlREk5SWpBdU5TSWdlVEk5SWpFdU1DSStQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSXpFeE1URXhNU0l2UGp4emRHOXdJRzltWm5ObGREMGlNelVsSWlCemRHOXdMV052Ykc5eVBTSWpNVEV4TVRFeElpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJMU5TVWlJSE4wYjNBdFkyOXNiM0k5SWlNek16TXpNek1pTHo0OGMzUnZjQ0J2Wm1aelpYUTlJalUxSlNJZ2MzUnZjQzFqYjJ4dmNqMGlJekV4TVRFeE1TSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1UQXdKU0lnYzNSdmNDMWpiMnh2Y2owaUl6RXhNVEV4TVNJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BDOWtaV1p6UGp4eVpXTjBJSGc5SWpBaUlIazlJakFpSUhkcFpIUm9QU0l4TURBbElpQm9aV2xuYUhROUlqRXdNQ1VpSUdacGJHdzlJblZ5YkNnalozSmhaQ2tpSUM4K1BDOXpkbWMrSUE9PScpO2JhY2tncm91bmQtc2l6ZToxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsNTAlIDAsNTAlIDEwMCUsY29sb3Itc3RvcCgwJSwjMTExKSxjb2xvci1zdG9wKDM1JSwjMTExKSxjb2xvci1zdG9wKDU1JSwjMzMzKSxjb2xvci1zdG9wKDU1JSwjMTExKSxjb2xvci1zdG9wKDEwMCUsIzExMSkpO2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCMxMTEgMCwjMTExIDM1JSwjMzMzIDU1JSwjMTExIDU1JSwjMTExIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCMxMTEgMCwjMTExIDM1JSwjMzMzIDU1JSwjMTExIDU1JSwjMTExIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMTExIDAsIzExMSAzNSUsIzMzMyA1NSUsIzExMSA1NSUsIzExMSAxMDAlKTtiYWNrZ3JvdW5kLWNvbG9yOiMyMjI7cGFkZGluZzowIC4xNWVtO2NvbG9yOiNmZmZ9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0Ky5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQrLm9kb21ldGVyLWRpZ2l0e21hcmdpbi1sZWZ0Oi4xZW19Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye2xlZnQ6LjE1ZW19CgoKCi8qIQogVmVyc2lvbjogMS44LjAKICBBdXRob3I6IEtlbiBXaGVlbGVyCiAgICBSZXBvOiBodHRwOi8vZ2l0aHViLmNvbS9rZW53aGVlbGVyL3NsaWNrCiovCi5zbGljay1zbGlkZXIge3Bvc2l0aW9uOiByZWxhdGl2ZTtkaXNwbGF5OiBibG9jaztib3gtc2l6aW5nOiBib3JkZXItYm94Oy13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTstbXMtdXNlci1zZWxlY3Q6IG5vbmU7dXNlci1zZWxlY3Q6IG5vbmU7LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOy1raHRtbC11c2VyLXNlbGVjdDogbm9uZTstbXMtdG91Y2gtYWN0aW9uOiBwYW4teTt0b3VjaC1hY3Rpb246IHBhbi15Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7fS5zbGljay1saXN0IHtwb3NpdGlvbjogcmVsYXRpdmU7ZGlzcGxheTogYmxvY2s7b3ZlcmZsb3c6IGhpZGRlbjttYXJnaW46IDA7cGFkZGluZzogMDt9LnNsaWNrLWxpc3Q6Zm9jdXMge291dGxpbmU6IG5vbmU7fS5zbGljay1saXN0LmRyYWdnaW5nIHtjdXJzb3I6IHBvaW50ZXI7Y3Vyc29yOiBoYW5kO30uc2xpY2stc2xpZGVyIC5zbGljay10cmFjaywgLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTstby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7fS5zbGljay10cmFjayB7cG9zaXRpb246IHJlbGF0aXZlO3RvcDogMDtsZWZ0OiAwO2Rpc3BsYXk6IGJsb2NrO21hcmdpbi1sZWZ0OiBhdXRvO21hcmdpbi1yaWdodDogYXV0bzt9LnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtkaXNwbGF5OiB0YWJsZTtjb250ZW50OiAnJzt9LnNsaWNrLXRyYWNrOmFmdGVyIHtjbGVhcjogYm90aDt9LnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHt2aXNpYmlsaXR5OiBoaWRkZW47fS5zbGljay1zbGlkZSB7ZGlzcGxheTogbm9uZTtmbG9hdDogbGVmdDtoZWlnaHQ6IDEwMCU7bWluLWhlaWdodDogMXB4O31bZGlyPSdydGwnXSAuc2xpY2stc2xpZGUge2Zsb2F0OiByaWdodDt9LnNsaWNrLXNsaWRlIGltZyB7ZGlzcGxheTogYmxvY2s7fS5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7ZGlzcGxheTogbm9uZTt9LnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7cG9pbnRlci1ldmVudHM6IG5vbmU7fS5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge2Rpc3BsYXk6IGJsb2NrO30uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge3Zpc2liaWxpdHk6IGhpZGRlbjt9LnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7ZGlzcGxheTogYmxvY2s7aGVpZ2h0OiBhdXRvO2JvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O30uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtkaXNwbGF5OiBub25lO30KLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge2JhY2tncm91bmQ6ICNmZmYgdXJsKCdzbGljay1zbGlkZXIvYWpheC1sb2FkZXIuZ2lmJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7fS8qIEljb25zICovQGZvbnQtZmFjZSB7CWZvbnQtZmFtaWx5OiAnc2xpY2snOwlmb250LXdlaWdodDogbm9ybWFsOwlmb250LXN0eWxlOiBub3JtYWw7CXNyYzogdXJsKCdzbGljay1zbGlkZXIvZm9udHMvc2xpY2suZW90Jyk7CXNyYzogdXJsKCdzbGljay1zbGlkZXIvZm9udHMvc2xpY2tkNDFkLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdzbGljay1zbGlkZXIvZm9udHMvc2xpY2sud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ3NsaWNrLXNsaWRlci9mb250cy9zbGljay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnc2xpY2stc2xpZGVyL2ZvbnRzL3NsaWNrLnN2ZycpIGZvcm1hdCgnc3ZnJyk7fS8qIEFycm93cyAqLy5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7CWZvbnQtc2l6ZTogMDsJbGluZS1oZWlnaHQ6IDA7CXBvc2l0aW9uOiBhYnNvbHV0ZTsJdG9wOiA1MCU7CWRpc3BsYXk6IGJsb2NrOwl3aWR0aDogMjBweDsJaGVpZ2h0OiAyMHB4OwlwYWRkaW5nOiAwOwktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7CXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwljdXJzb3I6IHBvaW50ZXI7CWNvbG9yOiB0cmFuc3BhcmVudDsJYm9yZGVyOiBub25lOwlvdXRsaW5lOiBub25lOwliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDt9LnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLCAuc2xpY2stbmV4dDpob3ZlciwgLnNsaWNrLW5leHQ6Zm9jdXMgewljb2xvcjogdHJhbnNwYXJlbnQ7CW91dGxpbmU6IG5vbmU7CWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O30uc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSwgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLCAuc2xpY2stbmV4dDpmb2N1czpiZWZvcmUgewlvcGFjaXR5OiAxO30uc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7CW9wYWNpdHk6IC4yNTt9LnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUgewlmb250LWZhbWlseTogJ3NsaWNrJzsJZm9udC1zaXplOiAyMHB4OwlsaW5lLWhlaWdodDogMTsJb3BhY2l0eTogLjc1Owljb2xvcjogd2hpdGU7CS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwktbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO30uc2xpY2stcHJldiB7CWxlZnQ6IC0yNXB4O31bZGlyPSdydGwnXSAuc2xpY2stcHJldiB7CXJpZ2h0OiAtMjVweDsJbGVmdDogYXV0bzt9LnNsaWNrLXByZXY6YmVmb3JlIHsJY29udGVudDogJ+KGkCc7fVtkaXI9J3J0bCddIC5zbGljay1wcmV2OmJlZm9yZSB7CWNvbnRlbnQ6ICfihpInO30uc2xpY2stbmV4dCB7CXJpZ2h0OiAtMjVweDt9W2Rpcj0ncnRsJ10gLnNsaWNrLW5leHQgewlyaWdodDogYXV0bzsJbGVmdDogLTI1cHg7fS5zbGljay1uZXh0OmJlZm9yZSB7CWNvbnRlbnQ6ICfihpInO31bZGlyPSdydGwnXSAuc2xpY2stbmV4dDpiZWZvcmUgewljb250ZW50OiAn4oaQJzt9LyogRG90cyAqLy5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHsJbWFyZ2luLWJvdHRvbTogMzBweDt9LnNsaWNrLWRvdHMgewlwb3NpdGlvbjogYWJzb2x1dGU7CWJvdHRvbTogLTI1cHg7CWRpc3BsYXk6IGJsb2NrOwl3aWR0aDogMTAwJTsJcGFkZGluZzogMDsJbWFyZ2luOiAwOwlsaXN0LXN0eWxlOiBub25lOwl0ZXh0LWFsaWduOiBjZW50ZXI7fS5zbGljay1kb3RzIGxpIHsJcG9zaXRpb246IHJlbGF0aXZlOwlkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CXdpZHRoOiAyMHB4OwloZWlnaHQ6IDIwcHg7CW1hcmdpbjogMCA1cHg7CXBhZGRpbmc6IDA7CWN1cnNvcjogcG9pbnRlcjt9LnNsaWNrLWRvdHMgbGkgYnV0dG9uIHsJZm9udC1zaXplOiAwOwlsaW5lLWhlaWdodDogMDsJZGlzcGxheTogYmxvY2s7CXdpZHRoOiAyMHB4OwloZWlnaHQ6IDIwcHg7CXBhZGRpbmc6IDVweDsJY3Vyc29yOiBwb2ludGVyOwljb2xvcjogdHJhbnNwYXJlbnQ7CWJvcmRlcjogMDsJb3V0bGluZTogbm9uZTsJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fS5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHsJb3V0bGluZTogbm9uZTt9LnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7CW9wYWNpdHk6IDE7fS5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUgewlmb250LWZhbWlseTogJ3NsaWNrJzsJZm9udC1zaXplOiA2cHg7CWxpbmUtaGVpZ2h0OiAyMHB4Owlwb3NpdGlvbjogYWJzb2x1dGU7CXRvcDogMDsJbGVmdDogMDsJd2lkdGg6IDIwcHg7CWhlaWdodDogMjBweDsJY29udGVudDogJ+KAoic7CXRleHQtYWxpZ246IGNlbnRlcjsJb3BhY2l0eTogLjI1Owljb2xvcjogYmxhY2s7CS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwktbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO30uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7CW9wYWNpdHk6IC43NTsJY29sb3I6IGJsYWNrO30K"}},"time_used":223,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":108,"receive":115,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/standard.jpeg","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.251Z","timestamp":1785123385251,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/standard.jpeg HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"18d0c-65fd8520-b191f68544027d46;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 101644\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":101644,"size_decoded":102044,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1080x811, components 3","md5":"c9107ace456ee4673302f1925cf39249","sha1":"42f1dfb951fe2f8ea401825a3661cd6f1d968597","sha256":"e7bd260e2d1f7d2a941972bb0cc47b0e705fc0898ee509231202e92ea0dfbc10","sha512":"583d05ce68dd3b7c00d403da9dcb31b98195816aa85bc4cd7cd546546dacebcfc62c3ae068f7d74fb08e5497478c4ed99b76dc3cefc4e4317af9209d69cc8053","ssdeep":"3072:N74IcJcsKJtd8C1SWoh+0Fe5lxWphs8MZk:N74IbRtd3wWW+0OxzBk","tlshash":"7ca302fdcf8df90ffe92b933020f95725ef41291d6f08a3810a921549a5e066aedc586","first_seen":"2026-07-20T01:17:14.315264Z","last_seen":"2026-07-27T04:20:53.419452Z","times_seen":8,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAcKCwoLCg8ODAwODxYQERAREBYiFRkVFRkVIh4kHhweJB42KiYmKjY+NDI0PkxERExfWl98fKcBBgYGBgcGBwgIBwoLCgsKDw4MDA4PFhAREBEQFiIVGRUVGRUiHiQeHB4kHjYqJiYqNj40MjQ+TERETF9aX3x8p//CABEIAysEOAMBIgACEQEDEQH/xAAyAAACAwEBAAAAAAAAAAAAAAAAAQIDBAUGAQADAQEBAQAAAAAAAAAAAAAAAQIDBAUG/9oADAMBAAIQAxAAAAIENsQDEBIiwYgJEQJkGEiLCTigkRAmQAmQYSSGgHSiplTWWtqqNxU0lpU1OauIkk4SauQCoGhwEgSTGkMcoBgAAAgEMYgGADItUxMbEFTnUTeyznGWpEitOlPKvO69tvLrDtQ5MgvhGaEW2BiXRYcpdKAYp6KwjZSBesMQ65zEjoV49DFVpzhVV1uMKR0rw5Ffo+UPBl3VIpjpsJyz6U5fJl05SuNf0xTyZdNJYZ6gWedpKjNCBoSABgADTQAAxnfuiQEVMCBNBFWIIKwCssArdkRQVoFRYDrJgQJARYACBNxbJKIEiIEyAEyDCZACZBikRAkh0hA1EsjSgrC4rLE1AmriI1UgK4bScNBSGm5GhjATYgsQTSjIx332teV6UqY8ys+jLNfeRGneGKPTqDnx70B+e1dGxLm4vQVBTqlmCrTG9KWexsqsuYUVbYhm5/Xzorhtxkqu9ws6uz5QxpJJoYmAgABAAME7oNwRoDOdKgeQLUq31baviF1MQAIkB37jTAAAEAwAQMBpANADQEosBAIAAQwENgkxkWwIkgIEwIKYEFYCrLAKyxhWpgQJoIyEASiIEMYgGkAwgDIDU0piirpNZzXIjEb5CwWakppLSTHZ0KNdrDRLh9Dk4PQ59uXXnY8C3OoL4VKC+lJKcYkp3V9G6nZx8W9+gn5asfpaPNsXcXGbOpThaNVEYhc89iL9PLsVdnLkecamjHIUojQAILAltsu115m2qYWLn9NvmdKqtJ6ed0h8XsU6QxYenz4mphnAAEkHfuxAMTAAAAAYgAAAQMAYIRJDBCYCJAJAMTAAAAEAAAAAAAwEAAAA2KKtklRK5pZjaxYnugllnalNRaKYSaSaEgBMAARKIBbIdDIhbqwyvTpx5+hOeaD2wAEOLlm4JrMEyWk0iOLZj3dckqq2V88pzO9SqVcBmz2UaaMrbe6eTblGaGvKyuUBm3RzbYNZTZCacQYgNPTw6tdTNs5oWbaJhbg6XIRp1Qpbvuy3N085xyzEOJRIAEd/QxAMAAGIZEAAAAYAgAABgmACcgUWAmACYANhEtmLOahLI9Ilmd7FnL5ChZNVnGQQOykHulys93315+pnpY+aiP0EeNUztrl6ZVxWZZWIJlIubuavvXHtz5kteWnoCnlnjQNOZg6pa2tOK0LiL3xloo60XKu+Ge3IhqzxkkKEJiI5dcQ5yup0ct3OrK6UebINsMrHKqRTglIHZjkzas4jVVHXKz59OSnbv5PShXyqllEwA6kDLenUyUaG9XMWeZ7tPPtb38mMYWrp8KQdrm0IBtQkIbYn27ADGSsSqLszJlL0VhWqVpS6m0qdKdueTWumccLnfbVnVtnOqF1jiQR3Dm7kSI5c89ayCjRXWCaAQKRSLYMUrVY3HXqqqelz8rjg31qefG2nStFmTTBKVVaRCMbouyoNU85M7bebBLqyoeav3U0XptnzLweym51kyaM8Zg4CqImmkXVZc6ZRs2x618J4dQnWnRzdeNYyiPOEmpoQkYFnq203ZWBVC1NwJJk41yCytiISAJkWmrqRl1JNKrpV2ZS5wlEylWwkIQwAGAAAMBDATJJgNA6iJeltlU/Xzu0YcnPfcfE3o32ebgzs823Voue4z6IVkemjItdmVZDTWjDCcEKThKv1c6/InHZDKcE9EWV7cMHezJKKnQVOIsM2kNF2PbVyx7sxVubVj0i/dj3WzLqxZ3QgjEy6oJ81KWl54aKaY4ILVBBbblEtlENKV2rJ1s0Y+nmdOyVbdHQ4+qZebdilEZVMrhZRrdejHv0i2yNuud/Q4+3LTTgtxIcQWYCzYhQwCHzsfczaVyX0WPmrpzFzpbkjE9gGN6xGWWkSodyRUTAjMaIjAGCCUWDaaBpgAwAaBpjJJoTGNMaeArNr7uC3N6maocCrCDtWKuqCVuQg6WfLJq3tcLrs1TKpcc9ldTXnsyxV1+LS46cNd2N8KG7PGaUYS6a7K7qyVCS0qDCnpYNaWvZg6EOnSZHWrJux6w92C7adOa2jOrFUQivRDN8/F16m+RLqRDAbkLI9QjKaoipubRGcWhyQkSjJAxobTG8urJdSzX5Naq6vL6m2U7IW6QnFIAEgRAIM6EzNoZDhXOCcW2iMJoIqSBKQhDAAkEbr6qbKAdtGqSWEZIAAAA2hDaYDTQMBtggY00xjFKkrAI2roZbsvqYijKqkBqiuxSZ3a4cZWycVWjpOUrBOi7JFRqlDG1rxbKz6V/PsmG4vEKrasaxQ3xqsctIikuQq7GIlbQ0tNMZBdZn0bp6c2ndUTruRJZnlUrSrN11305kYziERoAASjJAMATcUDAHKMkNqSZJNN4NuLW5YteLQu6GXf0YuLKhxBoAQJqWAZsAzYms3CMlNIkpIqUQSkkIaBDQGrLtbroelg8QGgtzIlRsxoAEANA0wYADGmSBMYwGNMY1Rj286qzgal9Lh6MKcJ7TIUtBIAA0SVyJEJzmlOBWyWe+mHQgx0r24d9Z3yhKsZSi8nKqceayFkYqA0lEGwAAakBJSRK+m3qmWnHp2VF0YIciEO+q2vKoVuOTIyjIk0JAgEMBiAAQNSAY021JNyUpujLoz7uOPStTZfB9HO2nUA0AgAAQAQwFmwDNwTWdMCXFSSIjSENAhoFtx3t1XvKxaoQRYragnkvoQNNADQAwGNMkCAJDGNUMaYySqPJ6vH0aEak0zvzhKMuiZdTl9xPnvRpzfK20aWWV2WQqXozC57H04mXVjxuMWs9K9+HdWd0oTvFyi5BM5rcJLCoppEWmAmgJJhKUZy5yi+2G4m8alnc1dKiMuRFZiAxYms3FNJpNApEQaGIABtNNyTTc4zmianOmCmb6lRCyvWd7jPp5mAJiYIaAAAAkAIZFxzpA82JkNJqGkxERpCABJpmqWKTemeWIXQgpAAAGgYAMaZIExqQDGqGSTTJKhjms/L3YtysDRTTj3ZqUJ9cy6HNaO8uUsnf0eHqpb5YoTGuOcqUpK5jl058NaoSjFvbh33lOeq8nnsKhEZZNgc1xWvJnUGaAznVxt5paKZRNWTQOPoZO3QN41sx3AAIBZsEY003lUYbsMtDihWnTp8yrr0DyV9Xlym1KRyUppyJzZIZfMbz9c5NGTobZaZRlvzjnum8C6ri+SaM+uSGhANBEJCMow0wzoGs2kyGlb01XGUlKSkkKMkCHY3A7ju+Gu7EOE+hgzkfSKrmMeckgTGNMYxjJKhkppNuaUgK5WeR1KwkVGaN1XbnCUZdkvbi7MHK6WLenRn16VOCW1kYXpz1KGOc1clz75gJpb8HTvPTS+g5wS1knPs0WJ4pabcqoybXlXO1Nys22M3VNWq1GKeqqKpshf6HPCg1UspugFFfQzy6DfJPmOe7M51m6nO6s+q6TmR6fMhXykm8vUy2t283pJPC+tlkyy3Y86c9WdWZ9OFVjg49UY+vy+r0887K+hcWYylN20l521ADJ6E8itqEh3J51rzw4A4BXWZ1lVqh3aK0a4oysyilaaAgpJJac3QqtXJ6PLdT047Jnr8nr8zTTfk3ctFTdmUVO6CcWTmoyYmSHNDbVJtzShbmb5MZ19c2ASrs2nJ6GUZRfZE+/5/o5t24Zi26Mpmt9dYiGe2vXJEoucrUuboxlkU4dDDr0y2uQi2pWjgEkEZ2Z1EhZnWLRXbnNJTpkttReo67k8OnHd3clT1wC2MLJ0xdDPY5qjZILMmjNm7rHGKlXOiXo5lteU7bFzqrfmq0wrVKyrjZVNVdmvkNZ2c+hzulyaKaNGTqzl0se3r5JdPm9KK5onrl0Xhtx20ZtNqoqwR0z7fI6WeLloOOHVfI7Uvi7YaxKHOUnXx6sM3ryb8Uk9C56e95tg+NDTnxyXW5fZu8mPsOq5G+7MieWjalp5XS5o99+JD3rDsby3uqDRh6GOahbHXBKmdFUmPms53R41lEJw6YsIFK/Jpyd+MnHb1TnWoSosssFCbsmISLCa5NJEZRRllF8/TVCyAR0Z9O2E5RlebACRFo2OiGOsZReI2jDQsjKKlbVZGs5Ou3kEer52ozNUtGca15UI305kqs6FFWd66JYoq/ZzDNasqeT3YGJrZlnL03YLqvXTXKaunGspAc2hxOzwuiZZtGPoz6d6fbwvp8y6blR1CL52+WUFu5PTDmPo2NTzVVp6ud28KMfZjiTsjXtT470aCLufuzRrpzyhL1VS5yLs95E5ouWcz6mLTrpzEjGAYC6nP6ul5Kp6yhU5U+jLDup1Z7acHuz3rYhaVS4IfHoMSa4Pa4W6kiWs0ETWdGe6vuxcq7OmLLy2HDRVJTO7OyL3VGVrzIckLKZecFj0RpnWOWii/bmslGVwwBDTGA5Y0c20pROfolOE87nZCzG3XbRrnnEev5rcWDQwTQAxDs1YSKnEIARjbE8dRpxTkpTRMnFE4ym7qmk2BFZ+P0ud15xotfTl0JxOvjbEJzg0OIMGgNNVYmANa7eeRd9ANG67DnpreDpRdFdVKnRTEldG3kk30sVRm0mQuhHG3dZIzSbAs6PMtu4b+fOXtriW7pZZjri3y3fZXPrhUM49QaigaRk5O7H1TXbTZpKLxzhjCXqc05Re5O/NYLbfhtiNU8spnVZkEW1g5K7ckXGBDHdVyrTvvov6OWcoyqBgOe3DOL15mZ6WJTw6KK9GbLpnZVPO77KrMonm05N+aoD1PPAAGgJAAgBjTQCM7ElhvJxeW0nFxc5RnDnKM822pQxpywAOZi0Ze3KN+Xo9XNaB0craY2mhADAAABAAAAMADbt4plr2MGZJtNGYBnQBnYBnQBNAyWwacWyWDapSHLGxUMc0Ww06opnUAxc+gwTE4hx6RdkQJU3PWNRzvzYHvcc2nsOyuwV1tV05TlGUTIBAxgcfrceaadcaxJKXsuqt255tNztnjsz20USjLmTeW2V2acunAtdka4J7cs3K3PbkrsWvF1cAB38IAAxANAa51Ry2vqTTjMM9K4aqM9o06cue8pQnF2SrlJbOuzNTcZRI05AIC41Yu7LP1+b0uzkYS1wEDCUQGCBgAAAAAAJgwEAmAIEKKYGdALPRiM7bi50bCWOLlzRKWmNMkOAY5oGJk4gMFLGCYABRfha5YR7Isya81T6ksOG/KwIfS8VxW9SyULRWWwunJyc5mDkSJMBcXsceLnVZVGjnXMeyyMteebTcjGmMjj0CRzdzlF59Mp1Cq5VsLLaLIV2W6nu8oBdPGSIhZfVsz1zK6SeMsm1RHVPPXnLfmy3hO5Rus83GkC2ubc4OS2yqcTbKEoiTREvPow2uWnDsyu3UaO7gEFwMQMABoAYgYAAABa5upbKk6FfIWcBCJxjRIWegIjRiM9HKJOkiLlycWnJpyTcZSNqUIknLGnIwEJgMAQAAcrq8PRV03VdMSde6p7gjg08g4y+o4WDsJwkK+2i2c7ZwsmZuppXTziJ8vdRlrlr1KbzTltCu3e7ywPZVUUyko0hGS5e5MeXYAKwAY00SnXImcHH0PGbI6840xAA5OBNWwhHPXTZgWHTtMcs9+iudNXqv58w0yyTFPPOuNbJ1TgunVPPOxxcS+Z0+PrGWErevHeJ93AmJoYAAAAASiA1JAA09pjsz1ueG0Lp57ZrLbGYXAZbBXZNVRUpuq2edaVCM9pODTk00ScXJOUJTM5QlKk4yhNoQNOQAAAQABXwuvxuiZRZtOft8H06WgRxX5KUZ/U8ABTGgVujVHJVTrm8mwSYNOiGiPP0Zo6KE6PQ8T0M1dOMoqQICFgGeraKudX1RacavuqdOEdqtXyH0a1WKV8FUG16PhpMvJAwAFQiOehEWPU0PHqGEbTgMpAJjQEnFonOuSm2ymyItlXOM3wu1w9slOrV2c2oDr40MAAAAACaektMN85YUqq9UwxQsheYt9cXjNE1eSGkz0zK6EaxsrUaX24xabI5ZTREFqNEuTiwk4tKbi5U5QlM2OMpluLhNoSYCBMQhgc7nac/XEHCek5/WeX9VkQEcunlZJ/U+eAMJbyK7Pn9mGFbZVbeEmmkSi04qFnN1VUW0ot7/ABO5NWyjKWAIZGkNADAAAAAAEAAMa467MN8OSupXWfPNddTRGyMaQi1h0pTjl1EyUaldtSsTFbQgYmIaYScWiyyqcxdOm3PKri9Lm9OC6XP6fXyJp9HMJoBpgCAYmDnWJ3WZSavtxiq9VwT0aebPPWzbgcabas103j14906R0VtKFhWVl0ZujOuGepOaKrb5rA9qHiN+Cbk42Q7a2EuUJZqwi5mTRKbTlAACdIcVRn2RVCzPcbfQ8jrc1RA578u0/qvOL6etNdkZwbLB0MFrj2V2dvJOUXMk4WxWPQ9PP08yroZEaexzenN2NNAAPNy93Pvm7dvF7GOzad0AAJoBiAkmAAAIExAFdqDNXtCufR13OnIh2K504y6tc68411LSkmlURoAATlFolOE1NsqpzGDDpydPLs20X9nAJmmQmIRdNPMaYDpAcsENoEwRFglGzSWerQRqARsSErbiTdsqADXkB7pc5kabcQPoT5zcbsU4KrFGM1NwcOcoSSnKEoiUoSmZCaTE5TwbuXawoj1wZtGap9Hsrnw2AZ15iSl9V5y7fD7+V9Bo49jznovK75zuz39PNY05VuuNGOua2rflpgslhVdzTGcVJpgABzMl9HXxx3YTztPQGbTruxDbQAAA2mAgAAEAAAAA2IAAAABA0BGu5Ks1O8V8yrsOdOG+zBXyzoVxeWUq5fLom+nj6cro9nnVqaqTVBRZU7wz3ToCzNfFlQACFFuIs9gRnqAo2GE6DTnUAVAAwENppA0wAEyUbWpQi3IRcVJxaJuElM5QlMzlCUzNwczJpqThdngay6bqd5K5XVHpYWV+dqxCfm0n9V5x3+B3Mq6YHHueV9Vwd4x3UW9XNdZVZE68W7l466efvyZ6Q2496fVuqtixpoE4Bx4NdnCozjyVPtcLVz79YDbUAYAAwAAAABADDPdyiOrLldWaAGwAAABNMAAAEADAEhoGV8fr8HPbL3uZ6e8wBzGq9Oa8vRjU5MfZg542joRa5VupNc1aaQrUo57JNZ7CbjVA1qmObQxUJooAQJgCYNDAUlaJwcHLiE0wBtppOUWiUoSUzlCUTNwmok4uZy8bo87eJVyjrFHT5fcF04tefqhiPMsf1XmnU5eiK9MRfDu+H2fLbwXUW9WF0oSmN/M0vDbPDVTneTsY9CrrShPOmADovx1POTXXxiZm1vhq8bvtsou2bA6oAAYAAAAAgAKOZv5nRzR34DiPQGXVp0ADYACAAAYAA4tAAAABj5W3Ar39nFtJABAAMjJkWwIyEAIBgghTpEYquk1fFr7rnTgHbrnTkHSpnXEaKlcFIKiSSaGgAAFKYpRIuUgVqSAGCBpobixSlCUqUoTUzlXKZm4Ezyc8o9WUIoqKfTea9bmgDi1BCXm2n9V5wmMnoxk10eaApW1WObpQlMSwdDmZa7aZZ8tI97z/AKeK1zjKKYAPn7+XpnmA6eUHXy9/Rv5/R8rrc42VhID0MhpgAAAAmDQCDm5LqeviUZLmb7XEu5tu0lLbZAMAAAAEAAAAAAIONlssV9+QEAIAAGgYAAAAAIAAE0DAAaAYgbAATEV1aRVio6bWnGh3Er4S7dSvmS20TWWGiudqySTQwYDBDSGAJyjIUnEmZyhKVOqzGZ81xfRjXCym4s9Z5z0fLUE1zUAJ+Znhs+k4NRTZrLGUCkhOcZJWSg5m7k9TlZa7smrJlb9X5n1Gd2tOWwAOP1+Ltih0rQau4/Wh2I6XxphrzgDBpgAAAAANCdQciMl28CUlJEDy9tnT4PT011ga6AAAIAAAAAACE8ocXp8n0iu8AgAAAAAYAAAIAGBnxTPVKbigBgAAAMaAYgGgAAQAANIG0A0AV1aRXip6ZOnHr7sVfEOxXOnKOhVN5i2E1FsTbi5Uub0OTeNScNsSm2qo6/Yw7uG0DxcQEeREfQcsSQh25yp22YJ6TrlRfcSlFubOX0efhpryac2em/0XF7eVSknNADK+V0uNcj1dLn7ce9mnMAOAAAABpgAAAAmIRm04rjEpHXxxUwKyyPBrBvRz6dCym7TocR7SgAAAAAAAOZ0+Kqz+m4vaEACAAAAAAAQMABOprk1Nbcc+vx5cO3cKbttwExiYAAwAAAAABoQAAAAAAADE0DAAAABA00nCu9qufn6+DLfJyOjzBuuyrTJIlWXpbnLzNVGxp0lgjxaS9/lk62KyQrRGRJCUoJ3W5hzfTFS5qJNeg6/l+/m9bTmhiZGnSJpgSAME0AAAADYAAAAgGho5vS5WmVZJ9HNEkwgp2c+pscvK74sE5iffiAWgAAAAADz/AHvOqu1uhMkAAAAEwBANADAYYdvKvPKxdXGNHm62dfi2Rr21CzbYAYAhsTAAAAAAAAAAQAAAhsAAAAQAAAAAAgovzD4WXSs9c1d1NxVpzdUnvorwqRE6JkQEvNZQ684ylBqM67g1QujLy1a8dInEpyTSGouQcVL29bz8Ee1v8Lth+uON05dwgGIBoiDdMwmRkEgATEAAAAEebuw9HOmzTJElGiG+L1dzpv5MwazkafZkAbyAMAAE0FHJ3tV0gCUwATQAANDBAAAAcPq8fo5wDfnE1hUhHm629fiW3fZIT22GDYAACBgAAAAACAYJDTQxpgJoAAAAAAAADm9LizWFxJdFFtVyu3w/SwakGiAAQwPHmrP2ZxkMSbTnTLI5ZRfnCTE6HFgCAdkEgJAokiHGcUjo9Pzbl+1s8Tvl+nOX0Jcq7gM1s2EhAAAAAAAZs11PTyjEqBvj9RBGbt24dk4MZpgAaSAAAMAAQCOR1OR3ygAkEADQAAAAAADQGDn30dnEAVAACYebsNPF3dXiaLvrEZbbDQ2AAAA0AACGCAAABjEAAAAAAAAAAAR893PPxcIuAVUWVXNnq/M+qyIAaoBACA40ap9ERhZa1zzdnuaGFSqLqorU805qENm+Hwp7sYVOZSZGzSYvdUnmJIUYW1Q5ODQ5RnFdDpedEezs8X6+XaAMAAAABNYEltkyL4/TnG7S88ui1XgAOAAAAAAABgmgE6kc7t87olCAkAAAAAAAAYgIyzUuUg7OEBCYIGgxptHm6tpj0dPjXXfVE9tQBsAAAAAAAQAwBAwAAAAAAAAAAEGDj78EaGa/M5qhKNLpeh4/XyINPVIBiAR5Uu09mWXTjkTvMdsPMM0iquyC0AdCnZQiRARNJihN2p7Kpzhxz2FKiN8soyS0KKrhKJUSaA9n4z1KrWAMAAAAjIFyJ77Z3y6GPMAcAAAAAAAAAAAIABhi2409ljQgAAAAAAABiAAA5vS4u2VaH0cqTBCAAGNNPzdG0YWSjJmnpcnoPa8DosAYAAAAAIaAAAY0AAAAAAAAAJ1J8TJZVNme6ioqanR6DbVZi00bSAAAI89bh1deVlWucnOW3JecVJUqIyitC+vUOWPpLOuUdCi5zyvpcjBqVlQjVkBGi2HRwMENGfFxjNSq42qqhIVV0Op5pj9ieV6Y+uV2AADE0AAAAAAAAIAAABAA0AAAFFyC9AAAAAAAAAAAAAFfF6XN6eZAa4tDBAAgYALFtq3zN4arrMeonF562Tqn0RIDsgAEAwEAAAAAwAAAAAAAAADDt5KrmxlGSmmdVqOjPuD0sJ15g0aoAAAR5d3T7cKtOdKduOSQo2QqcsnW9QGzoXcu/Or4VaUSydAS5Zvy6RU02nCwk09Hm68mYb6MGhKE0gGVSZKMwdbnGqOjzJ1XpdXjtCPUrmdEcgBgAAAAQFMptBpoAAAAAAI3V2AAAAAAAAAAACBsQLmZZw7eJAOQAHFsECAEufs1bOb0vJ7m08pcosJShNKbhLqhofXmAAAAAMAExNAwAAAAAEAHA7nnZuqLiTTTbVYdbk9+Dp1yiABaAAAA8+oaevnSBKJdFzXC7MymJOta92Pqw8MJ6g51uvHS1a+ZZM7ihxWIslrFcXCDWpIhJrHSirpzi+M+xzh53EFrdNuUMJAJJkY3xqq5xi31ur5VFeyPNdQfRExldiDNK+oTdUGayhBoK7EAATYAAAJgwAQAAAAmhlN2K4wJnXxRGgAsCsSjSUA4vVEGHY92Gcz1Gny8jaESaYpuEgk0eliwLQAAAAAMAAAAAAEADQZOF1OVNxqtocwrnXSn6XzvqMqnFrSQBgIAGB5qcJ9vLZbRKVNyrEsurG6rC29I7+dOXffi0SWF90HMOnC450p3OKZqhuCJZvQmVnEZk1GccLezBAuWa5N1wtAtnRZnG6q2VXgVt8zjjOqimdd+lRjpSk6nJiX6yzx/RT75l1DhG0CuvQgy3RiGhqYSAAAGACBA2IBoAAAOX0+NthEdm/PSSsTqsjTz9soByeohpWAIAYt+jl9Tm5pDksouyWsQkzeQDaRoYwQMTQCBsAAABAAAAEQ4mG6ibKLaqmqLVLZ6fgd/CqwNZBDAAAAPOWV3dvKSEpGALDtwulZXN6X1q9OkviTZoxyU9OWXTleem3NpmoyVzm0ZdmOkjYOMaacikuaoRsjjdakmOLAJKQbJg7rdtTMVVsScvQst1cIz1JcyHWwZmeNiCrZng69Bv8da69acfqDnGQBZXaMAAABAAAAAAAAABn5mzF08jlGwqCUeP01FmPWgAFK9rOulprHj6Os6yw65FYsBwADABADAAAAY2wiNAiaREAAAAADNp5qfJqnAcK5Qqamps7fVw7cKgmtZAGAAAAeZvpl2818qrFLJxJox6stajRVaZZdMD0qtKcLNCmktzCcW6mMLak8nR5/Szu2uVwsSthURAxFGcea4RnEItoBgD2YwelUaW8uujVT52jB29lO7Lqm8ktfPlZI6M8REaRFSTINjro9XzCdet0+L9QVsBMABgAAAAAAAAAcrPqopuDnz91cNugXKu67rLn6NJWUZIeY0MAEAAMTAAAAAAAAbGpiUSYIQCk4A1KKYAAABxO15wqiIhU120tK6rWHpCyrJia1QAAAAAHFp6fJ6sbJRleUrKopU0WK9axjZZCZN2vLohaalKCFkYtKN1TlUaMkVDbk1C1lU1V1RObz07q5jKtKweWN9MKBJMQxAxgDacr8mrW+Z1cG3oivfliHQ5urPm45ras0itJzjWmWCAZUm7pxSXU6/kx17Q8z1i+gJtgAAAAAAAKm8HCQIYDQAACAAAAAAQAAAMAEMAAAE02ycJBGaQoyEDHEJRlFAAMACjzna4hUIyrcxqupYbcO9Ho4Qnm0NaIAAAAADBy/S8ffPLOFm2BTdlCmUStbYRsBXK9J2FaiQpEW2Z3LaU3MMG7n5baL67dMkNNaJZZTWnRnMtXbnvyrBX082Sod0gwGzOpgyUik2VTCWXauusO3pxjfTVSm6CBRnHGtHN1aXrx49zCzDJCE5xZZKq2JYCQAF/W4Q69jPxvTK75n0DABgDE0ADQMABNA0AAAAMBAgAAAAAAAGwAAAAAmotg0glEEAAAAAIONzNWQoqtqcqmUWS2ZdSOxphMAAEAAAAAD893PO7xdZXZrzmPXiqkpwqy+jSiVlUUrmWLNMZIDEAIjzdOXLboTDXECQKLAV9F8vVB4ufffk0Z8S3PqQ7uZuqRmcjNDk1eLLqzdD0Wp9nIhpgBIAYUozWVR05VV9PnxsqsMN2cKmCTdcQ0ldkosNLeE15xQ6GK0PQ6/JhfrDk9McwGwBAADQwQAADAAABAAAAAAAAMAAaAYAAIGAAAAAAABVbhHxKrKmFU4NUgBfqo2I7IAAAIaAGAxAQ836jzm8Fldm3PHLfTVJEncJEQm65k3W1WTGlU2yk7IEgAc6tW57dCLnpjGIAAAF1SaGZMTOXS/NIitc4zqyjXBVmNWfGuXnvq642hPs5ILVQnBSTSAyY0YUicIquFsQrU4txjYm4Kwp12xlKvszzHXsg245deYTq2IMs4prq9bySd+2PM9hVuAQAAA2IAABAAAJjBUBoK7AGgGhgIAAAAAYgGIBgAAAcnrcAeKuUWq0JlbUg17skUegPPTDvHP1ha4sAIBYUAS85ZV15W21WVlVXNU1CUXQLQnnvh6CHy6785nY03nK/OwvpshJyNeXoxrdENcXZVZLto02Rdcssk4R0yisg44bSalkPZmnLuvyaadNN2fLTmRkd3Np6OHTvjC7AxKMlcoCGpCxaaWNELIpwjNBAkmIaBDQ9sc+iqsqja2oXUBZk25KIJlZpSU1BWCd3Y8+ivaS8Z2B9sovTABgIGgAACi2tsduKwNJXYgAAAAAAAAAAaAYAAAV+c7fAKhFqprrtpAnG0NOTVnSzrRazJotuCduCsL6s8Q1mUC0DuwnZXYlCLjQk0PR6TndPk25+bsxl+Xt0Z+rmnKMyGJgVW053l6EulF8wshtggAlOpzWh5dGO9Vl2bPa6hrLaFtdkO2UbMpmJw1k2c6ljnDR6PJboy7tccmvFcVVHfFPnvbhqEBmkNYWmKGoTiCTQIYyI2CZEC+gbsKwemm+nQqJlzE1zi+eXVSkNoUJJuPS56H6jZ4rW69Uub0U5ADAAKbgKoaYMzStpC6WS0LZ49AXJJEiq0AABpgAAAByuRu57qA63Ms91QS0Z9YnRbQDSrAscAlW5hCEqwC0C+E30Zsia5iaoSYn6PTVbw9AAjHx519fPYwrJskBj05cdu7srsw3jz+kVPEj1eftz1JxjUQY9Mt3PlG+3PLajnSvpi7LqbsYmwzk5HX4m0U7cez0uJtGuG9c8nTbkt0JwjdGLeKGwnCankY7I7c3z4yUqKlFgmADiCGMQAxMBMeyWzHrt2Rujlrny7qCKU1KiMCIwEAEbYDfZ63j269mee6yrWDGCAaYGenVBlMdtIBbnC2BENMqbESaAYAEZZh8PNbQwrnFqEJQFJ1gtdNtYRtjcMl0b08Oq/GjPVOxiOWC1QkmRbXTkJmsRGD9PbTdw9CovyB562q3u5rpwsnMQgWe5c/R6MDLUAAjJhzMXoMyvju6rLqUgWhKAPaY5kWX57si9xljlDidfj9GS2ZtPp8CYrzZJBGcEiWvFKblqWaL1Z7smb1AReBdKmJwqTmSHXz1fPUkoTAEwGhjENdEqSVroyyXY7PI6iUMlJMTQ0CGgQ0AAAEm9fV86FeyfkuqPsFdhTAABA4TAMuqIZlYMslj1ItEwOb0uIVz6rK3MRDVCASYxXwnIdfUh0FUo1YkdCFsA5/NnTSABapRY2I2zAOjNJoPQ6+J1+Peyq2ua8vZG3u5rHCyYYmijTk6fN09QazsAAagFgmCxbmr4cOzzsuzOAtBphO6i2FplXZjhk5m7n9XPfdGfpeem4uQACMgcUwE1YnourfP0RlSQWizQ4CtmXRqxt6YXjfOGRCGxxGNxTOzJJyaQJUpIzETjLSkoaUoppVtuwrYTRIRFQHYQkxgIn0uUB6vR43a79KYNxUhMAACEwKLxggAXnu554qmLi4jWVtAAi+u8c3fqTd1mUeXRdcDjKpHJ5/Z5jKBjnZGFo6yUQZF7QwXRmrIAen5OBZW5VWa53TrmoadcPH6bzHrubpsAi0DBc7o8m8tO7idrNyQOwAeLB3K434r0Z8+p2Vzl6Lc92ePMzWR6+PVJx7/ADxMBDTEwQRkDimIulnM7Q3m9csUcdI68u6Sq3Ah33Z7W8i3iMJJSokk3BN92BEAQ0MAgbi4pE4Q1GZLzNlMhu1OuOWVA0kydbAulTdEg0IAAvoB9zp+RsK9ecDqutLTGAA0MOfxehzBqhQqENCJEQXY5Hok9BPKVXdVtQRdYLO4hHPpiHIOgMxL0o586dQxXJOqM5R1Va5Z1t/RHnIelLfmrPQsXCn2xLiU+ijNeZ9bRfloyJNMQD43Yr0z4+/S8laIerIsGRAll0CrkLrxz6edbtFHmbe69+bknXN+bkHYQcc7AHIXaQcWzqtPm5+2lXEO0OeMdlZ1xl2jN8U7ZL4a7gjlz6ZVYI9CQ+XX1wOFHutLz0fRLpy88eiQ/OnogPOnohHnj0JB56XfJfnl6IT87D0uGTkv0ErfIh2pN+Xp9hWHkj1gHk7PUCXmX6YR5k9MI8y/SjXml6YDzL9KBx+rMK1zy2FXZp1M85m9SOfKnqgPKy9Qg8svVgeW9HdYnTXqkVS7ULNl6SHzZdEDnHQaOcdED//EAAL/2gAMAwEAAgADAAAAIQCPCMFCEAMHCl6gQkUoc1sJfZiQAEjWQSiVQSpDoIBqBGIILAhKjy46gRQg1zXyY4FKgBAEBhmihxwggon7YcACACckURkZgN4BwKpQwHVGxawIXA0YCyQAIAaTIREADOiRAjEgQEIADAODLDEDg8w4YYYHHaWy1pgyQWUrXUAQo2yTlgQzkB4nYN2T9PorJQINMijCapsoAHTSUVYQRQHgimDCAAwww0wghU58RjZ3QhA8SxIwgYGQwME2ig2X6ghQSMlBkDq45BIGcTDEMQfcPssookIEABA6goh4Tck9gBICWeu2a7i6EmVyjkJNZITqygB2gJAGA1BUar0wMOoB0gUuyY0wFAq44UASsUH2QwCgMpooBiNwiRQiM8MHg0AC+w02Q02oK4owXtoFRQi1DgwAICFgkIlAMCwwAUzjQgcQnwwDEDIKx4bA86SGMAegghAg1ixwRIyz2+Q64osAwCYefYhigAYYyS6gq114548Y2kgABMAAlTjWIA6swW17zDgS8EcDQ0TUww6VAyghBiY5H4+bzAWBEGA4KUBB6YCyVhUrceioQjQoACWaV9KSLQCwcXe1ACE4NJVxZaUUw5wOihfsIQQ0QzCwCEkDzUEGjpWELwfOAQT94QRggQg+Ag0HBkzKRcHPSBCRgAbZZYcUydSEnYg2QAyfcqdxaaGBajoKgKMkTQ1oSznJ4JEwyggmARBK+gB2lwJPABbC2AC462UzxtFhQgiQCWRwTAyDlwH8FICoexqbIspY85M4cozBp2oU1khmwaDy6BiQDnQZIWQ0U3wExYgIkghWWgrkMQ9txGiaiQamgT4QFNkBhDYgVkamrTv2IAzkCahmAAURQ8C20UQdpg2cJVAgAWJAUcczDAtohj8SIBYQg8LVs4w0CBmxKZLf0VsAyygSMAYAyi42YYAzmpTz2l68FocFEifIyATiz5UI0umZnwkUfMCh0xC4kDwQoxY0Ayg4jUanUKicMeIArS4ip0GhBGwfYUZE4ldQ+R1VzPE445Z8QxwN6AaAAgYQlT6/Z+bYDADAIRpwceBho0UkekgsT5gJQnMMmfohRPXzlN26QDwqQhxUofliqYhUugBx4/67eQIyTARVUGCgDgV0gwQRwwgX1gwSIBYS40JxDCQ5oEFCcNRCER0gmZUyFwAlQWYh3w41LZgSqB+VcgKBx5uwQTQQQQg4gTk5hwETwpIwgJRoHP14z5wECwfkgiylg8VLQUQQiR4Qi+YKoBUp5hJ0AgvZQEbQQRBUQ4kpQyG7dRG4Lw4DPIk0Az0MTiCQA9weh2sqgQAgbRKwAgTk7rSEXR1KkyJYQARQSAXUToE5/BDcVwZwwKlPPKAQgSQBYpc0CwYF1sk8U4a5I2+xj/GJnE5QwQCIlQcQQAk8MgwUFkt6GwLgEVschpUvMAQQTA30IQ4zSATC91gQwwvtbMQWCkT7khi8VICwEqVQTCYQoJSgjIZ/6mSoXA0MhxKUKMA2cjwgR9C45i6AdHBqQVJogjzxyEDmyQRFT9FOAkUs8lxmcwAgRoRi4T/kzCh8I6lC26ahQgJJOywgkUogQUGtTXPAnv8A/uH12OPZwqCYJYZCt6LnDVCMacr+kROkIDCtZnPA6ANaNYJ7lAAQGWIUAFI9GLbzh77vGMgbMNTyoSd0kGBdENosEEdMitNAJNJCIFfRGDgIylpOKTDBIFkSFIPihUVIIpPRz64MvIsIMP8A9EU8wFCDDI4oMEbK6SGtNCGCbDBlqqNryAMEaxgPoQQNGBwpKhVMITKhAAWOhVjagb9Il94AEADHzRwBDjTTnIADDQlRP2HCQOVgFyDzyiVCBgwFeTaJOdVJCuwBBESeRCRBPgcMl9AABSGqDAADBACDDAkMACLHDDhShAGBBO4CW0BPAgLKrwXEDiUFLhBBBqGyjrFZkYCZ5hAAQ/CiDDHDTSxKHJAAAALLDDCWABlEIdgmhPAxS5dZ4zVuPCABzJV99miGt7pBgjUjhBAADLDDLPfBJPjATBEIAABBDDGCCOw9zxKLyDAzJFrCBhBJs9WGNNJZgCm++EKfCEHjDBAABDjX/b//ADoVBQNoABAAATR1qlvqhAQQz54Q8wDpSpYKACAQoxgIwzjvvrgh+ZxkgwwQYwQz9+//AO9MMOKFPezzh38f/p77470nNoVMIP8ACVotrHiKcDoCRHOJD88+BiOXTDDDDBVjgf8A/wD/APniCHHaHA2zwQ99/wCzvvguoRXAt/4rPjRQgzimlAQBAWMSA1vPMCSXv6wwwwx4Ql//APf+f9CpN+qcKgMIDH1d/wCu+yDBCrDCIs8/OACADFoDvRpHDADWKDUlM0+qCTDD7DDbf/8A/wDsOMKoILpkBIOIINNvPLoIIMACMyQSjjIBMIOdumAeFpuFegQPOKAVHyAIMdMMMM//ALj7DOLAqDDKCSPo6IbDDBCWCCDdCTMIKIABrWBNjxvgZyKH6AXGVDEVQjGAAUDBBDDXjSDDDG9BhFbGfUhHAKnDDDCCCCO1ZSHgTJJxHvjehA6CYXBnAiBlgIMBmEwTQHJhXTTxADOOe6iNOCA0+5bSTN/tFLOCCe+97sVErMtBDTEbX8aDBIpEAUhiAHAjBIESWAEOB5AAA88888HKUjvabANBWr194q2y++/7MhAAX95BGiD29aw6eAwKKIFWNnBgJ4nmBFv5qAjF88884AMFuFDvt/8Ayww04M60cVvvwQEml1fQAIRB4eLSQShAg5XE1p4Fg0lRsg+KPICGQdPDDAAAXgQRfff/AP38MOgAOWVfsPlSDqLT2kBni0scpkHMvZMZ0QuJZDqAEviBdt0xFIAMBYMJC3VVV33l+uf/AOCCCAMCGHjzSCKAB95AICkEBB2BRXFiCypypFRNUyjmBDDeRjDnCA5xMf1//b/9xDDTT++uCGCCDDiBQiGBB1hMAxBUwRQG3LAWb/aDxZDQSwKEQJDMAHSQDSIfzAUo3vphDDKCauae++OODDjmoKiOyhxxQjXVIEeR4DSBCDXDIFChMDrPyCJHcAlHGUCDgZ0g4BrCGe+AAei+/wD/AK4Me8AACrQlFkIHSUyAKPsiMMIpsS2OkR6p5PxQKOYRh+nue34OZXuYzIAOZb4QQCB/v+seOCBAkGlRwbJ44EZzkNXBBR5PBmiETMQQRMgCgWIMoUcMExzhkM2KGkmMEbI4LiiAB6+MIUREIEQTKoM5JrKGrIWAd33kQaX20QKwDZJcJFOkzsJGGCEadPHFgAGUkiJ/YIYMYQIsaaGKdFpIOgMKkFdO3DoKLf8AvDJKLR6SnRDDaZ5YBSAEvDSA5bgzxVaSAZOAQHLyLHiy/AvUnIBQAPGzCCUMgHIcqBK6vQfu1tiJjDSFjQaDwC7AV3LlDDkXIkoDSyUaC1xwKJhAaColJiQLKT3CPRBmAO/O0REwEagwAB8gVvGvhnG989zPBKAb3G8/PGYDobTLfmOdHPOvBFBFBXIdogKC/8QAAv/aAAwDAQACAAMAAAAQMc8Y08I400d5Wp1l654z8zt+cr0xy991OrcDLsN2suq9d5p9m09Mfo750Mf/ADPzq8PvAHsshlnjhtuuuqv7feDOHO/cUpmdufNBXqLcwP18v6A7nqvsawGScl6f4XEODPfvY/mdDlYQTQfbbbVf389sIIMXX/vrl/h3eXUvv8A+OnU6XgRP0RLlJvHf/wDy6zXzj/ch/v7z37B13nX3HHVD64p64oKMMMNqMMZnfIW736OeHaoSbWvTz0f3/wAJrZ96QnjK32+bdp3+O8a9Mcw5F98+66y6QgUENMrNln8s/EG0r5a858ZvsMoW+W+uw+9/p/8AutHfv9mGUPdlfvvRsetDk4NuaqUYITncxXcTuFXupRT4sbarZC/1elSiMrVXC0JfOU9X09OqLsrz/tolFRuFfAEwxa34ekPccTfKrnLre696XAY/EnK7t5b/ADOt77Z/3OL3ah8l+5+159zyazqrlkzqXv8AAMILxvjwEz6ted618Zs92fUE/cAUM/ZqwiQHYc8P9iP/APObW2XU/wBm/Z3oBy6qmd6v+w6ZnfnqGPrS6X/H9zw9m7ngvHwxdyQ32xzZ0v3Q2Pt3/T//AMw39/P9uQ8X08+uN9+xrNY9M5aYabcc5QZ9nfa/++4KpM1oHmkNGb4C40fsYf8AL9v/AH6612j222WbfB/6h53zvgM3r3zjVRnlxOn2jsuXd605yJ993Tvb2/6aZoY6Wj7F7j/r7z86zpk5ue9954a1oW4Im5vh0s/Nm/sy2pfa6rmb/gXW6/D7vv8AlfE+4/wX8Pfx5cr9dY+9eVkm4Z9XfwZHn69Wk265ysazve/mZugK499zPuU1+au/sszeZ57uc+5igd1qoldHO6d7yoab0e+kFe731hzz6lv8zxvPX2if889hF3CG9uc/6a66fcU81v8AEVverPBvceMQ23+qXSAPfvfXu/8A7v7Dl9I36Mup/k2ZjFTri58tHC7413y73n54BGdTLremyM1P1/X7/X7uNPn+VzxD4a3vf/HHXbHbXjq1T8z3XP6Wb86+zd4PjuUqGr3+3+/z/M0q+iP3cTrnS+fD175uTyzf+3l/bZ33IbXz1/Tdm8J2T9NdRWf5YnuFRnw7Tff+v/legr6hXTvuhR3JVaMF3/8AqAcdVe+sc38ne+1+q9tmafMy8u+4fW6P8Yv/APn1Cm5HX89379n7+/v1cm6Z5NX8bDUffekIg1/f/wCjOxPyHrKY+Zz5/D6dTrjv7Jb4z3/P/wDJWksoH2LP8v5se+v30nQ+t9lU8tBxUWTLpW8+N982u7jsTge87bxwPY1t6J3U2m715/4BAyMsGrTIyPX/AC01vf5KMiZYQHbUWtPVfcvPdLjsdK5SiqHPvLtoAmXLaZ98vId11fbfXIrfeG+3P/Hp3M93RazeFQMQQVNu9BQ8vuf/ANrT8VVXTI65X7wjPrCz/wBx1rtctdJ//wDff+/NfNjWC3nbUhi8Vpz82qVaTGZgMPaXnL76KCJbFm2s3NK9bu8+Prc5ftb+tLfl/FZ+fvpogj39nfuuWAznbf8AzwhFf/J8Z7+Q5tb0++i99jD6fzKxx9ri4XyG6z4+KL9qqHnR38xzyh7/AP8A+fff71/7u89F91Lnp+eP3uJpbvPbFaUusblHMcjP/dIvQvKtCB1LefoKeHM6vvPPPv8A2Bh//wD19/s3dP2047C7MRi2bJ4yG6TSyle307i5S9p79ssw4Uf9M3Ub9t9k1sKy888+/wD/AO/f/f8A99U89eDDDZ45dF9I4/qvd02MYagk5rNq7qOkay4Pu5Q/9f44t99f+y5d8o8+9d9Y2Y9999889HjH/d8d/wD/APe84DJPIHVry86rbayfDX/fv37S3DR17yk733gezP8A88++xOVjs399194w0Q//AP8AlXsH0JvP6wxz/wDvvNePWIdKTO7f20o+L2r8u4U85u8FK09948++v5F9k8/Z99oBW+/nDDHDR9zKH9ww84v/AOw4tgxddq2frb3HvPPvHfP97H/tNP8A3X3xTb636rnmrz73mAEDsMOs98Fr2aBIEQgBhEEsMYII7z3vVmzkTL1w/hryZZ3/AM3UMdJb6sm++9Me8e22/wDQVdoo1/2//wBzn52X+AAQAEA09apb650FrY+ekPOO7zmyzgiqI+C9HQl47775fr66ZXutkHfIM/f/AP8A/wAQNPTlHezzx38f/p776723R59uMf8AS2ss9ek5/RpD9tONB+++9vP1V/8Ax/wVf4n/AP8A/wD58Shx3pUNt+FPff8As7757+kV4Ha2u38+7MPxp39Tp5BvF+dTzzz3P7//APnrDH9/3/8A/wD+f/G5N/r37y8BT339/wCu++DBC8DCts9+N7JdlUvU9Zva58x3s6/980+++/7D/wD+/wB//wD/AO080Oqgvvb9IZwA03/8vkigw6o7rn7PP8vI+d/aKpc2e8VrVhcJ6BlfPPMz1/8A8N//AP77jOLJqS4/8X9+7ObznBCSCSPdxVYbe9dx/fj8739uZ78t4ed9XiE+x1dxoUdlBDDf7SbnDW+5+FY9fV3E1O2LDDCCCD/3Ybltd99xMtzf5C+DZ9QlSzVlpYPAmswX59/vX7z/AAmzjHvtfvN3dPu2ndv/AO0Us4IN/wC98/VM/N99gd+7+9dI/Ptu/d1iY3UzQ9FW8hkdI5UgY8888+P5/wAPvmenn/v/AH3y7Tr/AO/9+w/63998dgA38509cw24q+vVPnn/AOPdt7jL3fftnfPPPPPH3ad8L7f/APvPd/TnrH17/wD8Wz/XV98Mrcs28tLndGIPseZ0kw05We88A6vd9tet+888884fFNt99/8A/f8Af+giLWXf7/Rfb3fX3z1rC+/8rhLL/wCZ2fGMq+S+1ep8jXc8/wCEdL0Hc5s7ddVffeX/AP8A/wDglvhjvv3/APh1Dr2n303qPRGyj9Ln9eUvjvzvR41XKexq9L1KZfxbnyX7/wB//b/99/8A/wD/AO+u2m+/3/8Ah8NrPbfdTR8yvOPcnty7dfvOdH/H+3eiH8PWDMV1WyHTvcy1Nt/+fX++uvrnnvvnv/8A+/eq3T3XnHFDZ1z3d5b314DKL1hycmF0Wh/Aqu5xu0/7+D/3nbLpfvLZ75xj777/AP8A7/8Au6zL+zahDj83fS33+nh7gzhz+/8A0/F+p9X+eMtk+cf59v8AvYPP/wDfz/T/AO++Gcope++r/wC/4Nz6PNnhv3T1XP8Aulbtr15bx3XofSc8dp3q2yLYqV+fG57jD0+Dv+/k3bs7L7ryz+/+4ZzYK/7/AL4zM37wkv8AdrFHfedLf/LtSPptm16kVvDfmn77qN9HP+HBZd7zeH985bjxs29Nfot//Oy7j+v6f+fO+vsd/wD75ootfxazL9Prnj4LdD2w1ijjvDfHbVG537D59zNv+rv9L9f+prQ28TN7567twx3qarr5d2z27oyXTPXF3sTgfi9TQ/RdvR56Xzfr5Z/zX36+jn9jqmf/ANULb3/8/wCwdC3+zOMA8/8ADPf6zDH7E32P1Pjb/DmTPFrsD7gOVwy/pyZOBLPvPOaPfPNNL/P/AH7z/8QAOREAAgEDAgUDAgMGBQUBAAAAAAIDAQQSIjIFEBETQhQgUiMwBjNiFSEkQFNyMUNhY/AWNEGBg4L/2gAIAQIBAT8A+3m3iLczLtcXiV0q45icXvF8ynGbjyQTjrLuQT8QqJx63ruE43at5icVt28xb6FvMpdRsd+PaotTP7Twxyb0H4TY5Zdgv1VYXVR6ajp5ezIyMmNR0ZjBjtHbXyKJGaVMlKSRruce7t6LvK38K+Z+0VG4i3ig1/Mw15cN5lbmZtzlWkbz59CvLqdTqZGRkZGRkZGXLL7HUzk+YtzMu1xL+6RssxeNXiicem8kE4+3wE4+onHoWE4xbt5lOIQt5iXkNfM78LeZ3FOqlXUd1OIPjC7KSXsmTlq8k24qimCjUUxU6qp3o/md6P5ndy2i1kbah0mMJjCRtOZWzkx/PJrGZdSuS0ZGxYb2KU1FUkVcmQVGdtI8EirkIrNtPR6cmcdcWxK/fyMjIyMjqdTIyMjIy56vEXI6svmeqZPMXibJ/nn7eZfM/wCppqbUK/ii+8RfxHxLuZM5Nxhbi31bxraZpH0FqmEOI9WUeZvEaeYrNM25yrs25yztu9qbYLGq7UMZDtM3mdpjFV3HSNRpFXzHnjx3l2veXJTy50pkQ28IiKiu4j92N2Yoqwwu5A7PG7MQQ4LkXeStlmdfvMZGRl79JmvzO5GepjUa5XxQa5k+A13MNczN5ndk+ZkzbhTV4mryMG3HXUUX4ndZSGL6KZEiDoOhVeXDaR+ndsx7nFdKEnFJtuB+0rga6unbeR5dvVyn7iyaSFmZdSGJLbSO2SDRSJuMeUC4W+RPXG3xIdFvqLurdlFKNhb5MI30ciZ8vAqY/cr7cxnVTvxqerjEuVdsR0xUfIt4e6wtsvwFgVTslYSW2VtxLCyCi0ybEVI9iissUeQn1ZtRO8lNPgJ+Ygm4SLKZBU0k/wC4YdB6FaEMvaYo/kS2sc2pT0EfzFtIUbnWinQrER0xL5FUbk8qrbop3oZY0yLi5VtKC3ULLrJ589K7CG6aLSTXOa8qL7I4ZJWxQThV43gJwG4bc5TgKrucTgtqu4fh1msemArZKyzsrmB2mGRh6SY6SR7hTuSN5nX9fKgyMupiziymQnXAkUglWKTUNNltJJbjwF9Y3mKzKuoZmG/UNaZK7KLkrGyN2YjmVsEEpizkzZNvIdUyFNxbLlMijaVHbx5Og6DoIis2JSFVXEVMeW46cq8sTqq7i5m7re1vZUyIU0UJeHWKQuyodlmXFR4Mf3MU4bdIucTlpecRiXGVMyCbux5F5ctBC7qNfXbf/sW4uG0vJsFr9N1UeNsdJM10jYlXuFbLMiv5F0uVyf8AsKpHidpssVGRk3EVV7Y6szfoLOmV8X35mJWmRKmIlZFYplkUY0n9oyZEjdqMiTJiZF3M50jVc1I5vqPl5k/by0Fn+dkJtLFPqZD5FzBlIjEcHkxJESIOg1MWyUS806j1inrV+A198UPXyDXkzFbub5nfm+Z3pCrs3nz68q8uvLqMxlqEp0UuUa3t8GOGxqyvkS2EbbR6TW400jNkJPirrmYM1m5RJmVGWPYV0W+oTaJTImmZZHViXs/2CpGzCqq7R4lbaIjKxfalEp9M1Iuo4Yjeqdy7iV4zt4rsJkHTHaJcsu49Z8UPVSHqpD1Mw8kj7jJiuXkNXxK8rPzYjLBNLsOYZDqSoSREiYjqYnX20pkKkaLkxnGMitqUY6+yp151Yi1SY8r985MThVPpu3KeNZVxY9BCVtIfgRKq6TurkXlcY8SmlS3J7VWkzUu4dQrMjZHq2PVSHfkGdm3GXiMzNuOAqzNOxN8STbiTR6SWmI+kyMuWXKpWoxlysvySLahbYpGLqYxxGUkQlQkQkQrQbn15QrqF1yahpl+A+K4MpNu9tSpkZDMWuqYoS1ykyOG0xhG5O6pqc37TPHSIhxBtiiluMuku48lJounu6nAF+i7Ey46itM9Sk0TEyEy6ivuqZHUdy2026CL9MhTE6cqjqSoSISIOg6+2FtRskyOqquKmOlFJW1eyvJuVRmyLBd7CU0jFlT+HQ4pLhb4nrbhFTHYTPM9ujvrwlO7MmeD4Ectw8kfVxficQfKTEUtiuLEyZKXkI9MefUYZj8PLjY//AFG1DQsu1x4pG3EyYkyD0x9tSrcncrVmbFRKYwopCuUiC7eXQoMo6EiEiEiDoPT2K2JSb5HcjXagzszZe1hmGK1Gcq+osV/hyvK2pjChNbrLqY/ZZNYx1WNfgUsY21CWkaSZKdS+fKR+UDaT1bLJiqZjrkXceRdxYjoybhaZNiNCy6iWjI2I9TglMOHoSXUzM/aTQhC7PHkxXUTxk0XQdMmxJkwbE6kcauuTEtsuOSOTRqio3zKjMPUhrlcIL4IWNM5MuU11HFp3uftJl8CORZVzUqMo6ksQ6EiDqLBmuQ3x5rqPR/7h6H/cJI2ibFhrbGHM6mQzFWK1HYqxTJmIKYqijL+8i1SIomlS/maKHSXE0nZjwk19oS8jihxlfWeutyKZZY81MiZ8mcZtRC30XY7i28aaD1TNqTYSzMy5KmguUyJY8m1CUZZkURGXPLzHiV2dmcmgajIvzIkaHh6L/tGcdtCh6yHt5KJct3MZUwJrlmbSmgmXIePUPDnI7M+BNH2m/QYt6XSQ0ZI3yJI2lZFUuLVlXJHzLmJomT9ZcwtCqM3mWK5XiEeq4Q4cmMbsXU3ah/WWltiub7xo43XFkEiWJcV2D3MKtqcVldclJXjRdRnG+1yRCRV8R0G0W5gzbUKpIu5DqW2q4QvJG7mJG7LIheLkqKXjY2+JRc9o8UirsNVdo+ncVcekmORVi2yeZFFpqGq3UtaZXSKKcRgmmwwHtpmw0f5RW2uO9qTQUtm/waMt1ZYUVhq4q7DsddRAucOItbhvoYHamVuxh/8AQ+pi9vgTUx0YEtG8RdMxG7PMmTi6ZNKELq7OzeEpKjNapj4YC3MLQ5NvFpgyOyby5r3ZNHgM8fo8czDVixJuxJlXHUTuzsisg8zQxoqndaWZMiRVaSd32DvH6OdkOz3vSytsQv7nvTOy7EOD0ymdiD84sUxt0L1vrQKxjkuKklpdJm7T6BZ5lt9+tyLh0bLr3lq7QzTr4IQwtdtm+wurZYcGUmdmwVRocVHUlTJcSrdpcVTWJky/VJPzHLJNWRLbRyyZZix28OpnFl9RcfoL98pEUpPGi6EIbjvaXQxjhvkX5nFoscHU4datNNk2xDi91Cq9hDqcNplcZCNpdiJKMlKnD9V1kO+C5C3MfkPNHliPNGVdfEzyJ2xhdh9qcrT8sVip0JbeZmdW2F3HiSUZWyHriPPIq7ywrlJaxL/nSlKYxlLS3yywHhjlXBkI4IYlxUWzhVsifsvJ+tBoslyJa4kz5tkTS5iS9ps2EvIcXWVNDl3exy2/aRMCadrfhqI29ytTgqaXYtKZs5EuK4l7A00eS+Al+yLg6FWmvWxVMEL6FolgZNiD8Sj7eKbxLST087tvcs7qGKHBx2a7mTDYT07VxqJpIcdJ0yKkzsu1CRbhly5W2iF2GdvmM2RYLqdhIluLh8vAnvuy2CIWk0ky5MhfT/xn9hfQtdWqYEskfD7PTvckkZ2dmNpwqml3G/LxFrhTocKT+IGpp1DVt23oP6VisUJgraSJMS+r/D4jrjytvyUKFeU20vCbcSEx+Ho+7xa1X/d5V9k1pC7ZMTIq6VJ0JUKqOO5R48tZe3XqZMl2Jy4UmFrkcMTNkKcmiVtyCqq7StMhYIVbJU5PZ27NlgUjjRdKDy29w2Dk8UMWlN52/p6h1xGcndmXFRis/wBHAblBeRww44ay2vO1I7eDkl3w9tTCcVt6LjsJnzmdizkws0aUv7xrmYyxOpw5MLNDpkyKXEuEtaHDEx1FBoY23ISwR+I8EZWBSi4riXv5ZJu5QU+mnLJS5SR20D1aJXyJnZtxNuJiah+EIc+JP+iLPm3Lqo20mJ2JRxyQep1NxAuFqinB49KMLt+zPw6N2yUSxjRsmJKEiktB1HUZSo5VirlajNkcLtFmkzfYcYv8m9OmwZuVKZNiR0xjRCOmV0jfAv7tvVOcOXSUKkg3ObUyKOqnRROU0Nx3HZRmmRXyLiZvIfV5nby8ySLFciSh+DofrXT/AO1z3cnjuGkKZI2omlbIkbImKsOSKOMQUzmRSlMY0OGRY2/2ajD0JSQkHHHK6RhxxxmxFnuFXFHGr5GXKzTu3CKUVWkINPflLmTOZ6limMaC7eTjc5fzBhF1CcnbFS8n0lxNkO51YZ2ZdQ65H4WhwtZ2+fKmouJJlkxQrcyKPcN20YluWZSSUdmG7jKMjfAdfkS0HQqpw1M7xDpkyKWiYQov2KzxrI6C3kLKd+HHLMq/kPIvzHdWJHHYcqMMOSlSpWuIw3LhEeUzsIu8kr2uHuxViFdPNx+T7R5PIzKTKjZMR39m3mUuYW2uXM6qpc3OQ75exjgkWHD4OdVHx+BNWNSeUabUNPpEmXHULLHliTa20jqSIOpwVP4h2LZM7hFFXH3sVtZsnb5j2mxVcmjwbFUJpl7eJVxmHqPpUqwww9CqjjldJXk3LhEWMLsL+WcYftWOJkR82vI3uHgTXgPTk+0aTS5mTvy6mbDJG24ezjbaNY/FxrOYrbTL4GDdzYWaYWsCHXk9SabSTzkkhVxuWJUZSRSRTgsX03Y4RHndO3tdsVcpNNtzGmk8XK3TIort2c3K3bY5MS3K4jzfEdx3YaVisnyK1y1DcmGUdR1UZRiox5YlmmFqiipqRT8Qy6Ui5Jye/t6s8SvrOGQqmbM/1nH5TfluNt5TNqK8mqq7uXXn+8XSxHxWPayCcRtW8z1ELf4SE02Kk0+RM7HXyH9jFaDrkSIcMiwt0OCRYxu/uqkbeA9vDjiPBGymrt4sSquKKo76cRnOuo0lf3bRFVpHKwKdqOrYqgtsrE8PaGjyJqLiOOMV5RplIiiLjgpHTKY45LldY8kL2btWrsZNll5lhWb1idoflcsqwuO300KEtcmOvK8s+7w3Nd6FtMsq6t/Lqdfdkwy5D2yuPaN4uVtrhfAZJF3IZY7jLlUZB18SCmMKHDkwtU5M2JWaMpMrHXLkzksuJLKSSErjOO4zsZtiK7ILcNlkd5tZSfEmdXGbFR6ZDqOoylaFVOHxZXSMJuxLbzY4g+d47HUU4zX+FFOAxK007knK8dmjfEl04LybVzhiVrVEYmo1peOojq8ea+yn2mjjbcg1nC20awVtrj8Pk8XHtLhfARG7yKxEmWgRo1VFz2cq1Z2xUasaeBpfSJVkbFh3JJCSYeYaUdyrm7nXmmphnUqYqOo9CqjKYnDIt7ifIf6Vq7E1cpHblQ43/wBny4FNhcPF8yXUo+0m/LxH3D7eaUybESmKop+JLbFkmUtbntNi/sp7GhZ7d3TwIZVdf1/amgVrhHEOrKLczU8yK9mRsiLiDLqdCt/C+ordwt5ktyrbSWYeYdxnGb3MUpkVqq6lG1ahhhh1HQZceXD48bfIiX6eRxSTDh781L+Lu2rqYsq6kOBQZ3Hd+BWgxdrhIikrL3CTbztaZXCKUOJwLcWbp/8AQv7tssFOB8U7q+nl386ezh0Ktbplscu0ksrx0ElV1yX7O6T7DG4aJWK2v6xrSb5j28y+Aysu6MyOvLqY5ajqNyryYZWGUdTD6iKQphCiiJjpPxC+FqifPmvKW0t5Y8GQggjt48Ihxi7XK4RR8WkcuNK8+F0yuMhTjPFcV7MD6y/iaK4c4RZ3Et4kqpo509lqmFqin4mtNKTqW03ab9Atcly+wnm33OnLFSsMbbkK2cLHoVyyzPQt4jQzJpwHyXcnLIZsuWPJlGUt485kFXUIuTH4kk+sic4eJfNCO4jlXJebMOT/APdHlIXLePPhKb2OL8UW3jwTeLlK2R+yoZWR5kEijiXFNHuiXKRFE0riXkHqLWeIkTCTD4FnOuxvexSmK/Ymm7OGabxHV1yXn1+x0GhhbwHsoW2j2C+LjWEniVtpl8Bkk+AxUsE+tkIuoi+Rxp+7eP8Ao5vbL4nakXaR3lwnmR8SVtLoLNG+x+Utf4hzxcnbVzpeR2lq+L63FhkuJHlcSNU2+ynsskzuk5ZHHLXs3Wa7HJplhXJjhvEY7mPFt/uf7ESZyIpxiw9Rw/TvQgn7LYsUdWXJfvNyaisPDC25C7scdSFkmnIj+Q2KR5F4+dw7FUmddMB25fgd9RJspCqKxWFfEZGQS5uolHmZtTHViSNsudUV2y91PZwpMpHcq3L8Rdv0OTb0J3aVtRDPJbTI8W8tbmO5hSVPbUb38NizuP7DHJcWON2LW147Lsctrnsti2wpVWXJf5GXa5EuKiULuqrauxw7g8f586aykEPwGt7frsEs8GGjx1ETs2eQrsrE2qNBU0jwRsPbMu0eP5FbaNh7Rl2jIy+zodCns4YuMLsdS8vI7aPJi6nku5MnLiPCZ1HOBwSRWuT+2u77HB4tLvy43Y+rtdO9Bi0u2ibFtgtclyX+QmrpEURTiTfRRPmRLjGi81kjYbExUa2jyyUmX6yKNLGvmLJGxmorxvoGgVh4pFK0Vh7ZWGtmUZGU6+6zTG3Qvb6O2jy8yaeS4kzcp+km4bJcSI2wtuF2sOrDN/dTd9iziwt0Xnxyy9JeZLsflaXbI2L7BWy1L9+b4iUEUvNd5AgvNYpEbUM7IwlzG2nl0yuiexkZskG7kTYsgkrOxBRlbIV1YSdX0nZjfaPpkxHdRnUZVYrTE6nXktMmxLy9jtIcfMmmkuGyYigZtwkKp9hffbRd24RRNvPjdmtzZv8ANDFsseVrc4aWFqral+8+qQSgpv4ll8IhebzYtsHhjdT0rLqKUxUhp9R25aXO3H4oNGJEyjaVxEpg2Kly7LI7KepybUZq23lX2UqyjwySyZyuJEq/yPCI8ps/h7eO2DW15kux+WRBxOGFsHco6suS/crtKahF5cO1zXT/AO77JIWpqFnkQjkV9pXbkQL9N2J2ZYyGdkVFO9H28hKq65cmjjdSiLFG6l3pJaYsK+Ilx8hXVitDpzX+S4VFjb5e3jditzZvjvQeva3k98zaUGbVkcK4v2m7UuwVlZcvtybSiiKTvhC7nDV/h8vZWX5DxRupDFgPtI1xVCuPkTWuWpRk7UOLkUzI2kiuI32iqXNcY8S8iyXJSZDFjowyMq5CzMokysYqx09nX7y6tJbJ2oUTnWuPLiPG7e20Ra3OJ5eozbzKlalGOEcVZG7Uuwpq+1IJQRTiT42rlmmFui+x6Mu40iP4laZaTEvX+nid5khTAjfux6kJrbLYdllmRTNcsS51TIo65E64sYRttMFHVccR0ZW5LJiJMvkUqrDKaufX7lmmd0i8upV8WxLu9t7Zc5XOIcbuLvQmhOV1D3YxtOlivJNW0sMvRwK+/wC02phFKHFfBPmIuKp7Kjpq0iUEXJh64ksMcy4sSQsu077JpUW8VtJV/iUTJh9V1iVLpNJIzI2kW7+R3o2EZW3D6ZNJ0UouW0t6/UxKJqHbEzjOhtOvs6nXn158Ji+o7jviNMqrkxf8eVNMW8nnmuJM5efQv4GSbJU3kPDryZtCEP4duG/NfAtuCWcLZNrFoq6V+yzC6hV5XmviEC/AXb7KlTqQr1Ydcl1Gpdosq7R4I21KPDg2og2oZYqQVzmdmGuo2kwJqZRl2mIzFGO6ymWTCq2WkbTHpIPzCOjM2kmUdBZWUWdW0sLj9rqcOTtWuXzL6/t7ZdW8vuKzXDfBDLVypEzbUEs5G3FLFV3OLBGvh9jp7a7SiijCfV4tO3w9tSpQi28njZdSjYt/eM7I2opi27lPJjC7FsuMLitCkaZ7DJW2uXsZKuLFG5MUdl2matHixZ6lLYmVlbUMPu5KzeIsjeQr/ZvOMMkccUKf8/SVeaZs/MWzmfU2gSxXyEghXan2qe9hVFH0qWa5STv7bZ5pWd22cqibeclFMWVtRirbSPLyL2v0cS0X6OoeKbZhoKKqLl5kzs2pvMkTKQbS3LqdTIsdpax/TyLmHNsx4sSVMm0naZhYZFMTtMZFGFb3VRW3feXlWh4+zyKUFJNr4llEyQ6vbw+6kdu03JKZMY8nfFdJuYZdOJWJcsl5X7akUhXGFF5Paw7ieGbHVsQuFUlix1CIuKZeY9GTcMxWpZaYULZJFhTEZZG0k0WIy4SZG7liuWRkSLqMuWR159f5DqdfbRdWRQoMN7eDoutxiNeUgi5auTc51zuBaYrjy6FzRmjfEmiy1YFzkqjdtVTJyb6qpiVyXcM5baY0IlxjRStMiVMieIq0itpEuV2sKyttfk2J2VYZWUWmnUf2i7uVG/lqUF5M3u4O+p0HI9vLpkdMSo3NNU2RTlWuIrq20vNRcrqHdmOqquZdxLi+JMrJMiFrTKRFGxRdQk0LtirjqXKEyahhWxYWZiknyO6rEjahH8GFXBRtpidlvIwOn8qpU6HQ6eyxs/TLqKibeTusWpi8vFhjyTzIKs0KM28YxJWxUttU2XKRWaPFSkkiaJSRFXUhczk9dQ5S5aFslIbnL1Vw+whdprxGY4bTK4Ri5XOZIvAezj/yt6C7dRMmRcxj05ZFGMjISq+RnmvJFymQdRjM0sdBv5Dy5KMUMjI6ZCodOTLz4pcyPcYK+ghvFXBXTYRSrLCjqVMS9fEtryNJMWFZXXJTqTVVl1Ez47SWRmJHyJakzEtzJ2e0uw4bTO6ODp5Fy2EiSlyrMvdScpeTMuKJrEl70eRPGTJz68lYyKNjtKO2WRaqrSZjrpHqVUqLXEo/y5N7OvOtPevJRhfb1LPiCyrg+8Xk2lcieuUzsKWMEkNqiuZGRxF9WI2LMQXkkP8AYLfQyqT3JNPkNJqGVXYlRlLgY4OuUk7nB4vo5FYldcWPQR5ZZlHW2uHy2OM7VZ8Njyk0bQtizk9MjtZM/LL2deXC00uxc0bHSdStCplyyYV2Oqt7ep196cl5LuGOvLqYG04ZKzw6uT7Sb8xy2/OQZdOJVeV231Hbn1x2kmTKSu3kM2RkNJpxYmppJVxY4OmNu7fM4amFqnN0V9LE0GceKDpcTNrTYYaSVccysLKvJofiMZGRkcNT+H1DrkuI8LKVRlHX2qLXE6+zpz686i6fazc6Lz4ZcqmhheV7bSJcO2Ggiy7iYmrFMuTtiT1yV29s0KvuJYZE5MSLpJqHDUxtYP1ykCYQovtmy7bspLiy5DpiO6q2wXVMSdxZCtF7jnU68ramNui8nRSVR0K0xNzYmCmHJVZhqYmRmK3v8vYzYnX2JXn1xLPiLLofYUdWXIdFdcWLbhaxTO7OdMRi5bGNyd9POzhWVnVv6RFlk6N4FCpNbfAfTuJCaLJjh0Wq1UVfEx5dectvDlkToSNiQ6ZClzIrFKs0buw0OnSV0kNc5kUWmKovJiWhIhLTHlkp0xGRW3HRRVxJlwbHn1xFb2VKLzYr7euJmvKvGrWjPTCX/n/sTjVrXPRL/wA/9kH4oitpMapKylv+JLObPpBLTD/nyP2in9I/asX9AbiK1/yy5vVaPpSMn1MdKnSpYvSPMuoqVvZGX91HMTpUwJLdZV1DcOan+Eg3CHq3XvlmixyJUW+X+meuX+meuX+mLf0qv74yS+pRf3Ri3z1/xHvVr4E0lXJYaOeib5non/qC2tKRInU9PSg9tSquWtmyTI+Z6n/Q9R/oeo/0Hl6/+B69Rl6jQdf/ACSN2F6/40Iq6evKn7+Tp1O1Q7FBYaUO1Qwqdv8A1MKlIzExMTErQ6VOlTpU6VMKmFT/xAA7EQACAQMDAwMCBQIFAwMFAAAAAgMBBBIQIjIFERMgQlIUIwYwM1NiFUAhJDFDcjRBg0RRomNzo9Lw/9oACAEDAQE/APyux2Kwxt7D6O3b2D9OtW9g3Srcfo0LDdBjYf8ADi/Ak/Dre0f8PSD9CmUbo9wpXptxjuHsZFK20ynjY7ehRRRCJ2X3kV9cKuOZZtlJkxTj6uyndTIzMjI+4NRiiZCpiSyR/M88K+8+qtVXmNfw/A/qC/Aa9k+BW7mY88ze8rLI3J/XiYmJiY6Mp21x/I2nb4nb5FYY25INawt7Bum2rewr0e39o/RIx+gRsSfhz3Kg/wCHm9qDdDmVto/SbhT+nzL7CltIvsFjZfYIjCIdPizmRSPo647jqFtHbLt5mTHcxYx+R2K+P5nlj+Z5I/aVmPNIZzDtM3vO0jbcxoJPmOjLy9VDBl9glGdsVGgkXcKrM2Kn0eK5M5WmLaYmOmJiYmJiYmJjr2Ox2OxiYmB2Ox2O2mJj6GUqsfuH+l9w1LMdLdvYVhh+B4o/gWUCpIjH9Ts0XHyHVr+N5s/Yf1Bfah9fJ7UPrJmGuZm95m37hAmfIVI1/wBDaZqeVTzRlZVYRlFLx1eNF9CrkxDBGv8AMRFRcxG8sLsxRFihyUgZnjyYtocdxdZZZZ/2/bWrr8xpo19413CpW8X2oNeN8Ct5MNczN7zyyfM7t7jtp/ieGTHIXcRseYmmaWTRVb4FKsZGRHP4tuBV5m3DSNkeVijM20Siqu4xUdWVtolZGUYwZuIy46wbbfIn2wkOy33FzthRRMUt9wlft7SZsm4HYx/sWZSska+8rd268nGv4T+or7UK3kzseaRuTkK5tix44/2z/AyGcZI3XcTRKjbShHTNsREt+ArrDDkJlNNuLmaRdnsE5C8hmxbIdt2RZwZyZNwKouJLGySbjLWOuI8KufSRiwxqV9DIJTEmoutZVS3TE8sMsaZE0+W1Cl1Gy7yafPavAguWRcWJZldccNEXuuvdRnVRriNT6xV4oNf/AMCt7IxS7mZsRbll2seRisjHkb5ivJxUmnuk5DXdw3vGdm9+i02jIy8h45KR5EEflkxJ4ViXaUdl3KJIz8h6Se0wmKKNkVqx4cs2OPEp9mF3bm5Fcq7ImBFRVZyeqtJtci5aTVVY3F3MR40VDv7i8lzm26ZC8jAX01MdK1xJXzb1U1oUURNot3cNImTj19xSp5V9w/hYcRc2xPFGMilV3ZE0jIuQrxuuI6SJxcSdlbeeaF1yUZY8TBhlZeRBi0JKszMm/YXvxOnqvjyLxlWMVhP4lMl2+ho8htqkEecm4njXLJnKeFfukEy+R8veTLHlsIqbshS7rjGRqWtyyxvkXl1tRV/aM8uRRhTIWb5HnPOec87HnY80h5WM2Gdjudzv6lU7CJpG6yzZDsZ4nfI8asVjNqyGca8nGbOTady8b7JHBG0OQ027ETFzsq7R0yERlJ9ykH6bqZeJdx1GjcvYWczRMTSqzZMI8YtF5KUmKzH1DHmY8khV2bkZDVbTsKpHQXiXrbkUTLEZ/adyjFGFY7lPX2VdzDOptrx9NNKUFUVSiiLu0s1xjHbSlcTysVlYd8jFiLlpf/pkV4yQ4CV+RG+LH1DHmkPKwzMx3biMzNyJ3bHEg3biLduYpMvwE2t/Abl6aFdaKIhRT2lyuUwzYqd8tKMUqUYoUqZelCm5jMrt3KP6MSlNFUooqiU0ROyj8vQ52KviQchS/wCKDV3CVEbWutC5IH9pwbBilVxxUVvad93rpoiiJkditCZ8mK7uWi6ZCuKxSvqTkNtY2qe0ry9ClKCqUoKpRDtiulB+RCuTGC+4xVWfEZVZsWHSFY3bArXItKaX/sGKNiwjitpXSgql9+oUyXcp5lbkhSaNV2iuzFG9VNEURBEMSZsI3YZivpVhTuUr6lf5GSmW7L1KgqCoIgiDmOj8hHxPOqizMu4kvGXiNcyMuLHcs6fby06jyQpZZLkz4OLyEqIxVGUSmbYlbZlPG1GxIkyL7/qiOzt0X7z7y5jWKTFXKMJUowm7aSRYNjpDDG6uzj20arkjjxYKhRREI4xUxUx25HUHxh/5nct7OSbd7D+lxsuOe8mjaKTBtMTuUYpUVhWIrfNchuWOq0yPov5n0S/MeNkbFj6ZfHmdilCiiqIgiCRCoOp2bWJVZtwqrkSxNVnxGs5mJUwkxYqQUxjQ7F2qtMisNC1xcT7xbKNNjvvEs48cWfeQ20eO9940KtyEiwuEQjSRG3HhyZ2IkxMVfqD5DxSXczn0E3mRWJrVfHlE+ZHYLjiz7yG2ZmfLYiFLZUZGV8xo85HZn2E0fiYVW+l2kKMkb5DpmyKNBjxEhxIqDrjGNtjOqvuRFLODzTfwLy8ybxRbEEkkRslceWSVsnfeJaXDrkqD0kibF0I4pJWxVDwTJzQp/ESCZlywFjk+BHstSiM3EZJF5JpbLlIhcu2WKkTyeRC5ptQuNseJSjFImEQVBFEQRDEYqo/HSF1XkNIqlZo8T6qNuLly6vcOylOSCaXz4XCDfTq31GZSWGX77P8A+Mbx5fUZ8CFVlkSdX/8AGUfLaon624iyeTcLTE7YkTqt47MVs7hbjFeH7hnms8SvvSIs1aGHf7zxyf1D+BPk1vs/dIaMiwKw1V8OTE0rP7MCrtFGiiu0siZGH3Miii7dpBH2Uuf00JOJfvldOdO/RnxNuW4hvLNsIlg3j20L3GPsT9Qm6lIrYxcELpFuLeBveTTLZR+KLmWV01yro5bWyrnK/BD+pN5NvAuXXwpj7yRfsohVvCuKpvEyrH90dcW2lmmTZEkEbtlmJFHFuzMvLNkT7mxEZVXagrZFKC0yGXEhTLkKo/Er8R6dmH/T0ZGHRsRkkKxFdrYkNMpkUpyfS/8A1BtO4lzbrHknNyERGYjiIosi4TGGdvgO7M2Sn1t148MyOeSJs1cluZpWyYr1C4aPFnIPqoo9qZo5Pdskyf8A2iC6ZVwYd2dsitcyGm7IoRx7hIs5ilC7Jq47iV85HYsLlYZMW95N0+OVs4nEit7FcmfNywnWWR1fm5TpcyyZNwJLyFbiCJOCF9ZTSyeWIiRbGF2fmQt9RYuqkNncM2LcCen3IEGdfqkUnkkRtqDfUOuRiW22PIyY5FsphnIcRRUE2sIjSsImOkxiN/qTVXHTdiPWZeI0sysNJIrZE0ufsLNcrhBdLyv3nG1ShZw5Fva5KJaiQqp1euHT5/T3Iby4RcVcVmZsmI1yI4chIRIRISkeK7SGHBdxQud0h1GRUjdtGKSSLxcq7NyMsdylbu4ZcWfRL+6Rccx5pJW3iR3VsuaFpNcTNk/Amu2+qzUrNI7ZkV82O4eZnU7Cy/bxMDAj2qUoYZHhYSmKjrlJtIo8F1l5aUHrloztRR55FGuJBblh65NkdP8A+oyEqrLpdNlI+nYtpY0XFhFjlZGIIPihZwZKNb7R4sT8RPh0/wD5+mlGYXkQpkW9uQ2xS0xPALEUTV90h1h8Y8TIpX1qxB1KSKPBt5N1KSVcVTAUQRREKRixFIykQqCIUQpQmfBcVLaHbmx21au4k/TIk2UG5aPxJOQza2jYs5G20arEvJ9Le5t/Gisf5eWRMS2to8tqEPki4oLeMjY4ENz5pMMCaI/Fj/ZgT0xzW6RofbdXxQtoVx4FtDu3FrDluPCNCNEMp2H2qe7I6xLlNiNp39SrpQpQjRhIiOFhISkB4RYTwlIhUKKeKNuR21rXFRiSvtE4jro9NpJ6LTi7CD7Vdh9EXJiwtGZiws+BBCqruQaGNuSFIY0bJUJU2n4wf/OQIvs0qWsMLR5OUtYXEtl8zoQ2eJaQYruIfp/cRUt4W2uK8Lf7gyq3EeIddJq4qVrirsXz53Dt6KeiltI0aOp9DN7T6a4yxwFTFhIW44EMLEUJFAJAUgPCeE8ZgYHb0ycRiq5SC/6Dto/EfVabiOFccVKJtJImlV1Uk6feL7CtpMvJC1tGZtx02wxLaDAVdGJKH4plz6tOo2ikVZPmQRyPuLW0zILBfHjmU6Wy7lcm6bM7ZqPY3XJfKWcLJb4sSISppd8S5fC3dh2yb1qUvIcUT4Ed4u9mQhlzXJnIofuZMIndiiEMO5FERnuMVEhPCeE8I0Q6Hb1SjciOmUxjqxPbYx5sNpTcwsXAqhCmnYxUiupouLkXXLxOXiIvxH84BOvWb8o5UE6rYvxnGuLdl7rJEdXl83ULpv8A6p2x0RS2gyLK0LS2UjjVVERl9D0JEHoXddx1WXxWePzO3oSmTIVgh5YFIIVbegllG/8AArGvmwQWzXLEitWyI4MeRDCvISCNuQtrC+BSwXHKJyKLamRShgVQqhWMdBlKmOr8h67S15adyjCwtyL7Jo0VR9I/1EKewYh461dVbH0d9ZukzZZI4/TbxfYfTTK25CC3yYsbUtLQWiquC8y2yxxb01oS0JaF433Dr0u6CL1LLJ7XEurhW5kU8ylKK0mSkeTNkwkOXESBtmweLCOPIajcl/5iY1Xc+/xZl480VnBjzca/uPI7LwSI+smjjRqyZ5knUmo0mCbC0ufqM1ZN6Erqu0Ski8kHQeg2jDDV9xLXFS2Xbp3IKZyIpjtxLmkfhfIlXdpbIzTIKv3DkRUxXW8nxvi2nzXdpX07tMVIp5ouLkHVZIuSEHW7deaEfWunv78BLm1fjPEUXLjrUckQnbKQ6rLnfPp7hYZGGgkU92JSgiEULMW9uQwENviQwiJiLCrchbS3yy8ZLaxz8x+lQ47P4f8AwFscvBnJngV6SzLiz7OZZwfTw4iJl/8A3MwxXFR0HQrQZTsO2KjcSRt2JCuK62f6ml/VljJORjkWiKrIRZb20XW7fK6dy2lxwdRHV1yUr+ZRseIlzcJxnlIusdQi95F+IrpecETifiS3bmgnWOmy+8maNoXZd6Ez45uTUkaR3ZDIRVSPNhfJL7ztIm5d6EiK65KLGRw5ENsQWxDARwkcZRCgvomr2Xah4WXibfaMPQdR0K0GJuI3xG3SCLt1sf1NL5MoSQpyLf8AUEYXlrJXGN2HbKR2LZ/aWkjLJh+ReXLRMiqQzLKv8/RXVTLSxuWWznRuBM5VFYe2t35ISdNt32kvSlZcUcTpc0TbXFsZkz2Edo3uILYhtiGAhhEixFXTH0TOyLtI0k4ipiurjoOo9CqkvIfkR0yk9ED4zIx3UvJMY8SWmOlpVXV2Il2i8jtpd1xt3bSFsZDpvT1RfNKm8vIcWyX19Vm/zGKltMy4Oojq65L6e2i6Lttf/KV5a11qdim0iupk4kPVsOUBH1u198ZD1Lp7+/ASWBuMkQuq7isqrgoiNliUXFdpUU7aVHUZBlxG5Dlsu70KUmkVsiWWSVtxKMWe2N2E4kPLXqb42un4W/Dfm/zd0mxP0y/haKbEuHVVdW9d8+d07Fo/tLWZkbcUbJcvXQl2xovpb8jaUdqcdgl7eRcZ5SHrfUIveJ+JJvfAU/Edv70wIuo9PmwxnwchlhZcUkicxNpt07GJWg6k+2MrxyJa7S0pty1az+I0TK2lR9x2Lf8ARE4kK69XrtRT8NdAkvpEllT7KDeG2h3bEQ6r1WOZsYUKszbmK+mVsY3YdsmdhGwZGKVyLSf2N60XJsS5b7mnf1Pdxo2Ijq65L6++vIVmXiR3t5FwnlIuudQT35ifiKX3wCfiGzblHKhH1axl/wBJxJY34yZlVHUv9sY/6ZNX2kFMYzuUbTuo8MbD2re0ljZeWkH6KC8UIl26MQ9Jm6heIv8Asp+pIP1Cz6Zb/T2+/Auby4uW+6+tfTfvhauxiYFs2UeJbQSXEmKE0DQ4emhBTKZCV8my0p6Za4RuxSdvqHZveQXGDbuAjq67f7ClWXi4l7dJxnOndVaVvFLzOoNlJipISchKYxm026VO+Jmym1x7WFxYVVcV0TWK5mijdEMvRX09Xf7aIYGJ0yzuLm47RJsLa2jto8V5klFdcWHRkbH0ULbk7HL19Tm8Vq/8z+RDLmpbTtFyFqrcf7GHbMjKTzs0m4eTJim5iaf2qZsZsdzuw57ROR3O5kZCuxSYoysd/Q3p6rXKRFMTpvTbi+mRE4Fh0+3sofEqf+QnpjJiVJ6qzeigm21dinr61LuSLSB2STS2nZGxbgKytuX09in5GOlsuUhI27SPke7WtB8sTNjzMQ/L0MZnco5SVlFkVuRkvrvq5XDnTOmTX9xgqbCxs7exh8USGSnUrq3VtkmbjzM/qm2W6L+RfyeW6dtPcQS5x6W1zg2LcClcly/PtqYq7DtonF2MtO5VlK0yUaJlO5DtXIo53U2jMrKdjBlM8Rdy5aZCuxSuXoZsVOndLuOo3T7NhBbW9jDguxELnqtvFw3uT391ccn2ev3E+5sfXPJ4oXcdspH1gfCTW2ucNrFK5fl46rthQYqcYdOOmJ5WVilyrbWGru2kX6aadsSptU8isd8h8RZmVsSkhSuiehqK3Ii6rb29ukVrATXM0zb3OP5CcsirZNl6+sSY2uHz9NtJnHopYw3DLk3D81eRPyx0Ym2qi+jyrkPFG5LGycinI9onIZMhkYl26K+I8ubEEPlkf4Drg2JniJP8hJVbiK7KZ/mr+R1iTK4RPh6YXwkIYZJmxiTMs+jxxYPLvcZVVdpNBluX8yBcpEHrkztp7iblj6HXLiLLIjE0yvgR7pNVfbiZq0hKmQ8TLpEWE2LYsTOrybTs2nZlXISdlFmVhXM9xl/ZXT+W4d9KHJinxOifhK8vt9x9mH/5kvS4en4JEmzRhiaHLcv5dttjdhtI1+4SbmFG0bFuIxKm3JSBcpNI6ZMdsmJNjCXOLbjzK0Ltou2F2F2lnLGvM7K3E7DptGRlMRXZRZvkK+RRxWX8+8l8Vu7HI7FEyXI6d0u8vpsLeDM6N+ErOxbzzp5pjHbiXcPlhG27WKjHb5EmOW314mWi7Lf/AJldIeWR7vQ9RXx5DvlxLX9QoK+IrjRK/IltmVRV9rFXxJdtq+WiVIpWUS4+R5lYUbbIVRWXJjw5NtIq7sR64LkJc/IWbIWTI5fmdYlxjw+YiZCQs8mKnRfwlNcb7rYn7ZZ2FvZR+KFMDHXqUHimz9jjzRqPdx+0edm9a+iZscEX2FdItsLtplq9CulnTc7CFcSRcSk7IxSbNdpO+Mgrbi82woh9HN481FIqmRkeRjkxSm7aNshfEh3MT0XHcRorrtKpgK7KJcN7hZlY75fk/wAjqkmd1j8DpfSLy+kRUTZ+57Do/wCG7Wy3c3/cKLjxO5Nd28PNybr9jFx3k34iuH/STAnv7q4/Vf8ANgXKRCWuUgzaf+nRfTIMNkWlMYzuZD1kXidldRvIgzZEC5zIpeVXzIpjcPM+D7x45E3MhGwvoSSROIsmUOLFtQu8W5Ft42jyUm5FeWnfEpMyiTiOrfkdK/DcNxN9RdPs/b//AGIks7SN4vtJCP1rp8K4q+ZN+JJm2xQE3U+oTc5zJm5flcfQult73GbJshhR+OldbyirGmIxRctoiYro5mx3VuJWrLyJcVbaWC/cyL5v8wJJDl5WcyaWTD2OPBGq7PYJEysisNy9FFIdql0+MmJaTLEuLEkzStiZbjBjBilDxMUZl4kdy3uEkVvVHNMnFxnkbk/51dVKaU2242rtkY6V0voV8eQ+1i33TJp2HUfaM24pM2OLGJ01drsXNcpnbSK7mVcMyGa3yyTm5D5GV8yaHFchI42jTLmPHIpRSiCpipcPG8z5HeFF2iTNkRuqtkx3V+J2O247j03apIyiTqxTdp2/s11m2qimWuXoxL6u3EkUtKY7tFYk4jldbWuFuM2TZFNLbFZkyHu1i2cyR8lyXgdo8UyJFzXaJGwke04k26R20VhKiNjxEnZeQrqx2GMFGXESLJSqNltO7KLP8ijq39qi5SIpcVym9Hb03q7UJCHjrLxH0bTLC10qUGjZeRGu4jT4jZMIu0VMiKPbkTbVdhcnbag8EyLkyaIU0oeRjP5CuvtHrkwjrjgwlMM2HrlGjHj25Ctu2iSlGVv7BdYNsjsct2i8tMjL0TzLLxHpuEKFKM3EihzbFi5VVkxUqdyJMpC8bGHEqRsqyZMVhjl3xEUuWxyG1VtykNptGtsRYTxe0ZMITqVcbdyzZYoXm94l/Jxl4ONizbRWxErkU9KiSRtyMs1xKtjgpcNipRjISQpMUlVvy6arqm23dtfbr/gdzud9GpuKFC2iVY8vePFlxLlGRtxXSwTKQvLOSWPJRskbFhSDLLaQQ5LuQtrZcSG2xYe1KwYsUhVdxNtjOrvjDiWm+N4lLR8W8DQDWcKtk77CaHxSY+wQRvWjsp5d2RcsrLkomTC223cVpg2OmTCyMok3yMvWp3O539E22NF177cTud/R2JoMOI21tE5EdMV0v3V5NpU7HTU2uwnEubKGZf5j2E0TFpZlpZi2KspjNbLuQR45VJo8TtiXnFFOtSfcRRHZGyU/qUjR44GLXNqmPNCkSqqeX2RHljuI3xTeglvNjkxDFly/Ik+JaMuW4xJ09xl6KSMolx8ij5flquTIXLfcx0ZtplpShiY+i8RVk2iiicYx+JMVNxZpjCmrLkWzxq24tY42XJRFxMFZcWFslWbNSZNo6l433MTqj53WqOyNkpb3OEmbivaw8HzzHlk+oRV4Df7h9MyrzN2WI9v8fR2JG3Yi1ZWyI51YlnV9orCmXoVmUSdl5CTKx/x0U7emCn3B65NkNtGbRRTLRtbqJm3LpTaQTK0Y/Em5OMLTJiBccF174nItL6a2bY+wsOpW9yuPB/29ZqbSZNxdv9xy5fO4nb0cSJVaRFYj8iyIrJsPNH/+UZ40bgJumJPJSTaVi3OzaKhiSbpMtKVbERtKFNxgY6Y6ZCTSIJOtV3C1VuPoXRNkbto7aKU9D+ia2VtyjUZeQrMvElu2dcSVfcPtIKZTIpCm7XqkuFuWU3lj3aZYlj1mRNk+9CGaOZconHpkpcriXj4xzsNX3GWvfSl1MseGewjEmk8eLIQLi2R52UXKsbsUg25KUQamKja0EFF5FGKUGQwxMSRdVqy8RJ29xR1bj6JX+3iM2sXL1YmR5DyEy0cpbUqfTUGs2r7xrFq/7hbWOEnfMir/AO5nQzoX8DzKlMy1gkibmZ0M6FZK0/0La9nt27o4v4hVo8q2+4uesxuv6BeStLA6DdOb9w/p7/ui9Ob9wbpclG/wnI+nVy/xkJOnU/7OfQt+4LZNT3iwUoKlaHioLTb207ktPtvSh9E37h9E37h9E37h9I3zFt+3/c8J4KCpWhTudhqC0GXueM8ZhUwqLStBXehltO9BmrX0L/gd6HehnQzoZ0M6H//EAEMQAAEDAQQHBAgEBgMBAAEFAAEAAgMRBBIhMRATICIyQVEUMGFxBSMzQEJSgZIVU2KRQ1CCoaKxJHLB0TREY+Hw8f/aAAgBAQABPwL3GqqqqqqqqqwVGq41XAriuFXXKjliFVXlUKo7unu9UJXjmm2yUc1299Mk41JKbmmuwWtou0+KE61jU6SNSXOSwVWBaxi1oWt8Ffk6L1p5LVTFdmlPNCxO6oWFq7HGEIWVVyIdFehHRG0RDmjbYkbeOiNud0RtciNok6oOldzRZIuzyUqrpBT9HD56GsJWpctWtVgrpqtQaZIWeX5ShZJei7E/5ghYhzeuyR/MV2eHomxxtyat3oF9FX3ivfVVaKujBUCuhXFc8VcKuuW8seiqqqoQodmnvAOKvYK8E51FfPRXpFdlchBKhZX9ULH4oWNi7NGFciCcYh0WviCNsiRt7Oi7eei7XL0T7VKU3XuWpnPNGyyAKOyuch6PX4ejZLrl2VtxStuvorHCKYqUMBQaLicyrypW40oULPMPgNULJN0QsUnzBMgDRmrjVq4+ioz5Vh0Cqq+400UVFRUVFdVFRXVRUVFdWWXdVVVXTl3NVVV04K6FdHJXKq54q6VQrFVVVXRh7m0Vcm2UIWdgWpYn6pvRa2ILtUQXbmdF2/wRt0nyrtUzletJWrtB5rVyF1EyxEo2HBGzuv0UNjbTFdnjVoszVZY23ESxqlmZdVmUs1xMlvKYgnBB+7RSWa++9VMdcFKIguNaIyOyVVVV7+u3dd0VKe6U6KioqKioqKioqKmjLz2qqqqq6K7NdOarsYKgV0K6rqoVisVeKqqqqw7qPjV80RcU91AnG+7xUdkvBdhCNl3lHY2AI2VibA1hQYxPLGpjGl1VJM2NRyh6e1t+qc8UzCaZa5p7ZX8io2SgUDE6yvfnRdgb4IWSnxLsrOZK1UA6LWWQdEbTAPhRtDXmlE4wwMvPGPILt07zSNn9lrLX8UFfom3XuDTEWOKls72aT3QFULPKfhT2ObmNEdne/wAl2RvVS2e5iNEURkKZAxvJbqmdV/v+WiioqKioqKioqKipsV01VVn3FVXReVVXRgqKmjFVKAkPwlaqX5UIXcyFqHciEUzPx02hyZxhRH1afO6tLpUVSakKWR3wqOQ/EpTfyNEyW6OqkIfmg8tyRdVVUcT5SmWaNviiWt5J85GTDVB01MWBGWUu9qwI2llCO0mq1wJxncjLZucrz9F2mzNBFwnzK7XDyhaPqjbh+WxC1Y5KS2a1wvBNntEIqx2BXaX/ADur5oWuUXbrjXnXFSWom5/krwcT3LIHv5JllY3PFTC9LdaFHE2MJszHGgKlZeYVDFff5JzgxqitBe+lE8VaVTep4qNgY2itMxG6FePX3/Lv6aKKioqK6qKlfNUVNsnTQ9EIpPlK1Ei7OfmC1DPmK1cfRUZ8oVVU7D7PHK0OyeeajsEudQhZnrsv6k6wRO4nlGz2Zh3W/urxV4nuWNvvAXaLNFu3laPSIvbr/wBk70jLyJRt1o+ZOtUrs3IuJQ1nQq5Meq1Ey7O75guz/rC1EfzrUs+ZalvVaprfjK1P60yIjmg7kUd04IZbcXGFr463RohFZHOVpfdjVm9oE7Iqzt3a9Va3YAKyj1idkVFCzPnoJg50Ut0uw9+y95z00Vw9FqndEIepC1I6rUR+K1UfyrAZNCqe8v0Df6f9qyy7j/AlF2IFc8kTRPfh3jnXWko7wK1PitVF4q7F8i3eUY/ZVd8q9arsnVat3zJzKc1VVVVHd+qMTU6MtV9yqgVE/lprs2cVkCfwlQezVsPCFYxvEqY7hUY3ArWd9WNvEVLwqKK5zRRihRz99y91oVcf8q1T1qT1C1PitU3xVxvyq5+hauT5Six45Hvbp6aGQvcpIbja10k739Q/soDSKQ+av/8AGiPQoHWa2P6j6pp3dihVK7b+E6C5MdjimkHalNUegRNMkd3z/wBKz8Svt6rWMTgNIcu0pswOiuxY24kq0OpGmCjGq1H1isjdxWh3COpQyU3tSrO27GrVJSgVlNRmpRVhRvKlPfMu/poomxdVq2eKuM+VYdAqpkbnoWZvMrURrVxDkFWEdEZYhzXaYuqktUlaNAT7XcwoXFa6vHAVSM8JPkUcNpkApvKSBtMFZ21cVuhTvGrOKhZecnyNYP8AxSzXgBTSTz8Xf2QwsrvJONLNEFE717/AAbEMV/Hkgxo5J7A4JwxptvZQooi8PFRSYq+1GRqMrfFa/wAEZSiaVWTfNDdx5oCpWsuuQlDuaqqotvCoQFTROTlE9NcqqugKy8CtbuEJh3B5KSzudJVABjPJSy3pK8gmOvNBRs7C68nvaxqe++6qs8oYUHA81RvgrTS/3h7+m3RXH9ChDL8hXZZvlXZJOdF2cc5AtVF86uw+K3PlRLflV7wTTjtNt2rF26pPSNUbc7xRt85RtUpWukV+Upr5hiK1Wtl5rtOVHFQ2x2GJoE6Zx5JrwdiBtX+SnkLaAIGrAfBWYYE+KlNXu0QNozzUsb3OJ0jNO4P6P9qQ0sylO7CFE7fkPjpDXUrRRCjAKaDVOiqHPWe0RVPZQ6JG80JDktYVfV5XkcU5FZN0NQcryjkoUSMwE9FDApuWkIqKeJsYFVaJQ92ChtNwUOS7YzopbQ5/lojnexG2P8E57nZnSHOGRV93U6ANDsvcMFUKMtriME6IUdd+HNXHYYZpsEjsmoWKXwTbCebkLEwfEU6CytoDzRsUXIkIWFnzo2ezMzK/4Y5LW2cZRrtLeUYXa39Au0S9VrH/ADIk7bNDRVGJwGmZtHnxV1i3K5JsVei1HktR4oQ+KlwcKFX3KrOYQc0DJB9E52KbN1Qe12Whr3NyK3nuCldcj/soRSNqF3lRSARyg0+iBqAU6SbHdw08neRUnP8ApCtPsmjxU3tI1F8Xnpjb6tuxOaR9xNKb9B9U26/wKd0TwjoqVeVbvn/pBxR6rE7NUx6JRTG3naQqqvL3DNSnd2RG8/CULPKfgKdDI34Si4Ba0ITeCvFXyq7IUUn/ACJf+is8lWvHTEJtvZ8qd6SoBdZmvxK0H4U63WgjNNtkzOVeleSFq3quZVMtjByXaWOY3dr1Rga4Vjd9EQQcR3HJaiTonsLDioobwxyV248jRA3Cuh2eh7A4J7C1HxTXFvkmWhOtdDkjanK/XNdfNE1eVe01UT7snmg5VVnZQXippL7vALWvpSuCsvE7yUj2skbXoq4fRPtF5pF3PS/2bvoE7/b/APStPFGPFSe2Vn4dDeIL5RpeQArTI12A7j//AFA80JUXV0UaVqyuHz2DTYcdHNX1cc7JMZd01019wnxw56IwC8AqaNsThjVNtkDco1+I9Il+JRZUou3QVu3wfFHsso3rhUvo0ZxP+hT4pIjR7aJp0sY5/CFFZnyVUcBdJc6KazXC26a1UkQaQBnzUR3rQVZx6uRxNMFV0RBzBQcwYgFQxRSHfkonejhm114LUMHJGFidZwq0TJHtdWqbaWPFJR9VLGbt6PeCbIa0OzDGH+SnHAPFSS3OSc/WPGCmfq2gNQJcSSohV4TWjRPk3SRVSQ9FiEW9E7x0XlfQ0VQc08X7p4/b/au74VVAy+7wCtEl1t0c0wVcB4qWFrWboxVmZRpPVTurJ5IYt+i7M7rhpk+D/t/pDOP6lTe2Z5Jx9Y7yUHBoAKhmuv3yVfF2qL9y8pJmyZgpxr3FoiLXeBR4NNdAJb5oXz8JK1JPwldlkpVdnk8P3XZn9QuzfqC7MPmXZmfMVqIvFauPorjPlCDGfKPc6bM53kB4JpopX3rvVaw1wC1nLkhZIpWbk9XdCpbO9hxCbXqVr33W72SZbLwuyNvBXGtebtQOiCorIWBn6qJ7yzUtbzxKl3BM7rQKM+pj81LXWYqz4tkPUlB4dHI1wpispWxuFRcWPLHRHaJY8im2uGUUkGPVOaK7rgdBaCiwjJVTZC3nRGiEgTpWgJtpY400McRh1Kl4ovNPjY/NRta2ah+imcwZjFNUHGhkjkp3A3abD+FYhoWsyTiCqKmiuiqqhJRMFd7RZxdjb4qjegVpIDW06pkzHDPFSWhoG6anRFPdFHJ1pZTDS8+sHg0lDjHg0Jx9f9ETjIovZtQzWK+JTSgBrQpJAIhdR7k5LVR/KtTF8q1TPlC1bPlCoG8hXuj73Ji8qR/q79KVRKrvHQHLnumi10gzKL2Fa2hQmrmEZKDqFfoopTfxyKsv8Q+ClFbTGPJWk1iP/ZT7sMLVV928ckKdmvNGPROe18HjVB3r/wClMyUdna9uIzUljc3Fpqiz6IOc3mtc7ojOnSvrmta9CfqryBUgcion1jamcQ81aTQsUT3mVtSqjX5ZhTyhuFOSbloZJ6uvRSPdTDmFq1cargTmEaJbOQ3/AEpRgsaIB/QoRS/KtTN8q7O/wXZj8wXZv/3P7LszPmKEDK8zpvO6nRl3EnFJ/wBQP3TeN/7I+1cV180MtDb3JChwVfhd3bu+AJyWo6lapnRapnRGDoURT3Z2AWZTpCcOSJq8+CLt3zOw7FFFVV53VB6ZxKB92CXHFGWG6JfiooJ47hbJ1qny3n1I3TkpyQ13RTHVxtuomrG+LlXek8lDwBQcDfJOyUlC4owjktU8I/qRurBUQwV/wWv8EXApmACiO+3zUhGvYtV62+nSf8i90KfEyShVKaGON0jxTnoydFfd1WsKDqp7eaJOineZdzWpd4yAfsmZOPigcXnxUWLmeehtc6I8O79VTcqqk92e9aLxomtDQnzUyWtf1Wtf1TZQc09gcPdpzRibocd1dNl4qri1fihD4rUjqgwNQQ0P3gCMlJK5sX1VoO6Kr8pcpFDwBWZ5rRTSG557D2XgnRO6LUvQgfXGi7PX4ghBT41qR8y1TRoa66QU+VzzUrtMt2ldDZXgUvaQME51Sms6rBEApzbqabwTxQ97l3TcmHxcU32a+AqzDe+iCbi0jmgSEXE94e9hGFVM+goo473kgGtWBT4uYUT/AIVMOfutqOCCmduU6o8l17gIaY2VxOSo13DgU0hod16K0ZRjxVo5I8TPJfAfNRcATTRVOwUdgobY0N4gjkm5hPdQaAaLiCj4lNmO8y7qTBjvJZN8o/8AadhF9F8CsjKhblbv91S67FHE+9M4R5KXjKbutTnFxQwTH3gni69S8HutpO+jwqU1f5BfEv8A6h3A0vc4UIyRu4OGaJqpfaxhT5hHjP8A1X8P6qLgCHdFDbGgZjQMHJ+IUfEpM0zhCb7RS5ju8u7tJ9UU/wCP+kKfgTuFWavZxT6qocMc1U96e+ZwDyUw3/NNN5n0VKHFScCg+JTcQUvs+7HdSmryn5KtST1K5bDWudkNiKCSThCLXA0Iy0RtBdirzHYFqxZUZjScbRToFL7RqPFJ5I8DVHwhDaojpKG2NLXVCkbzQeQtZ4LFxRN0KPmU41PdZd5afgH6k7Pzf/pT9PFSuawhtwFAXQHMyWffHvoXclIy8E1zmFa4fKnOL0xt0Ljk8ApnY07od0/BpRxcn5rJv0Ry2PR7eJx8l2Z8skl3kV2KS/cwyU9ndDSvNXnwwQ3OeaAbKySTqm2P1dS76Ls13Gv0UkETWFwxPPSEDWaQo4ygJ38RPyamZDaCOwdsIaQ6iDgUWNK1bVUNTnXkXYU7rLvZj65g6YpjS4x+RKtTQA0g80Hse9ge3GqOJ77Lv8k2UHzRaDmFqWINY1SSVwCa+6D7raDSNNzR4k7kuexZoXamPHnUp5Mcc9Ob05xbGXcwxTEmzwVzKssrsIZG4ckyMXKfrTXVlkHRYa1tTWjVJJFq33czsR/xD4r+OvgNeqkGLR4JqHuAQQ2bzuqvu695l3zt6d//AFTaMm8AKJ7W1b6wXeijN+etMAO+y9yDnDmtY/qqk8/d7YcgmBAb2K5/RHnpGYT7QO0No7dCL4Lm/kTUISxOje5/CTRWiZrpG3eFuS18F3WdUJWsY3nipJYhwfEhM3X3uWSnkYRdYMNJyKi4D5oe1cvgHmnYvAOgbBQ7wbGpk6IgjPui1wzGnLRqZfkK1MvynQ2J7hUN7nHl0RFdZIzqnUdrHD6p3GrIOI7N13RU28vdLp6K6eiunoqaQCeSuu6HYHe2o1ehWmCaL+67jGg7L5b7GD5UZSYhH410AX2NpmFS7HQ512pOAqP2YTeKRfCxfxU1QxtaLzl6qRpVMdprW6lx02doc/FaqDoFLDce3oVaGNaRRUQQR0RsbG285dpb0KnLHMr+3ctG81Wo4N0ZaIRWVnmnzMZxFNtETjQFWqIcf7qDds+0NJ4XDqoWFgq7qv4Z8SjmVZxSMaWRl6ZExqvN6hUa5TQ3MRl7hGKvaiG0OAR24m1e3z2CAeSmswpVv7aLMKR+atXB7gVMavKvXLqETibwy6qidsWey61tS6nREFriOibYA/8AiK0WXU03qobc/AUOEIZPXyoe0UYq4KZ+N3ohVeATo3tGIVKosc3MIAlFjxyX/wCnKuOPJUVk4z5J/G7zR3o4q9QrT7QeSAcOSogE5QtvPU76up02NW/5TopVFjhmDooSqEclD7QK1cTfJURGizD1qtZ9YPLRP7H9kd2zf06KHptUVqNIiq4N8Gkp2EbdDRQAaI2XzRbsbU+VztEcpYfBSSl58PcLMN9TmkZWaojs2Ues8k80aT4LWyfMVrJPmKgndeo7RK2khTBRrVanbzR7hIaMKIq5S5puSupyGmzt/wCM1x5FOa7XUdzKjaGWug5BOYHxuk/UhZo+fII2ZmsFDu0TrO2826d0qaJjaFp2J0UOErmE3jVn9oE/2hTRAaDBBrWOc6mSZLrbzSFGBG1zk2QTMcCFHSNhcVHLfBX8EeJTniKjaK0N4XdVZBi5dlNeJPI1kbByRumfHohIxxomNpeCAq5TcZVmycicSo4WubUrszPFQsHEU2dhdRWhlHYc0wNiZUpsjJAUY/WXfFbkLUCx+IQ//IKk3pqLciClaJI6jRZBvOU0cjpCQ0qKzOvVcKBWl3CwdVacIqKCFobedmg9juYU8YaQ4KVo1eSCYwBmK8VmrcdwBP8Ai8gFN/4ohV7fPTAyjfNTPvO8tpkT35BCyuHMKSFzNLYJHckbI/qE5jm5jS2F7uSNmf4LVvJpROY9uYVmG6SrUcGjQI3v4QuzS9E5rm5jYsjcHFWk0i89MTayN89B3p/ronNZHILVvdkFqJPlRa5uY0UVDsU2bTwIHGnJP418OiRDQ3iHmm3tcYyNy7ggb1s/q/0oz660O8CmtOphHVym4HeJAVWhpr0C1rQW7u7RWhgaRQ4HYnzHmnBU3FTeUY3lCaPap2EGvIqzsNb3II70T/NWcbxPgpfYjzVm+I+Cm9kxQZPPgm8ESkcxhrzT5HPVmwDyu0S9VBjIFcvSuJTdWTgq+tKaKOcn4uJVmycnYEoPeOaaXCEklS7sICbmE8VfH5q0u36dFZ/ahAevPgFM69IfBWbNyi9pIVHxyO8VqnPcS5OfHEKf20WTJ3mu0RdSn2ofCo96UV6q1HhCijkc3OgXZ6YhytHB9U3GH6KNtXKU4U02veexq/8AXqc5qzDf8hoGaO6w+A0iKOnCtVF8qMMVOFQxXzXknvZF/wDELY2uIRAc1SMuuIVns/xOT54o8E20xvwyUkd5iIxooIPicnyMZmmzsdotR4QohSNqtGMnkFFCM3fsi4NQmY7mnsDxQpwLSRpgFImq1BzroAWqf8pTYZHfCooRH5qaS43xVmFZKo5Kl4qOFrcTnoqqA8lLHdPgoOFOFW6Y21KoFIdi3OyCYmmrlLg3Q/Y7fKAMqpkxbLrKJkxAkw4lFarkYbdyRnrTDnVNtDauwwPJC0NLnXhgpZL7vAbD+NnmnZL4Avi+iiG9oitDaUepZ8LrFZ5Q3ddkVJKwNut5qF7aXHqWRjWXWKFzHx3HI3Wxuup7rrYk6NklHKa5ewUXspNFn4/omY3/ADUcd01X8RPyXNQOuu8CpYbxqEyzmu8p5BwhPbfiFFFEb1SFrAZx4K0MN6qgZd3ioX3pHqVpEhULLjSeqs+Tj4qzmrT5qWZ9SMldcBUjAqig3Ya+Z02YesUgvTNClkLKAKKR5dRT8lDwJjbtSnG86umY1tHkhvXfqVNmVZBgT46G8Q80/FjvLTrpPmUb5HPAqpnUZ5pgDGJ7i51dFl9kEW3rTRTyauPBHRHixteiay9aD0BUr7jKomuiM1Y1Tb0qCZ6yU9E911tVdkkKbZvmOi0Fpkw0AVKAwGkkdU+0tHDinOLjUqyjAlTG7GVXGqZO/pVFszuRVyVqjdeapeBQZ6HDEoBNFAnOoNm1OrIhwkpmaldhQpydp4fPQEEO4PtGJ/CvhaqbxUfghtmCrGlicNXDTmdAJ67Dd3FNc4Gq1jk3EqU6W2hwHVOtLiMMNEU9zA5J9pqN0KqbaGUxUs97BqjcWuqtbH1CL6xOd4Jj2thzxxUElw0ORRaw44KeUEXRodu2f+nTZhi5Xv8AkJ8YemNazBTcX0UHNSO5aSnH1kp8EM/JqkN7zULbsbdMbrzQVLEWmoy0NY52QUbAwKSS88J/AfLQAXGgTBq4vJWY3pHlWz4UUxpc4BH1cf0VlxvlWvJugCpTd1vkFEL0yeaMd5KzDdKIBzTpWN5p1pPIJz3HMrPRA2sg0FxJOKqeuxCKRhWo4AKGG9ickGtbkFfb1Qc3rom4Uzi0SZqNvPQTXYOSkNXlOwYo1Kd5PRQUTdzlVCEX/ouzH5go4gS6vJal61ZqEYyFdKDDSuw7Ir+J9E/h+i6InOiiQQ2o5nMCe8vOOyNITMFJwnu4I2Fp6rUPrkp92MM7lpIyK5oSv6oOdWtVniVGOacanTIdwr4XeJXJ6OLghlpikueSDg4YK6z5Qi5rVLNXAaIn32p1nY4qONjFaJ7263JWeS5J5qRgeF2M9VFC2MK1T3t1uSsj6Pp1Usd9q7NIoobnmpTSNyswxcVaTSNWY4EKRt5uCLHj4SmWdxzwCmgu4jLRmrK3ElSmkbtlox0T4yUTRQKd5y0MaSdE2ehpwTm10Pdy2ZjSMrmpOSZkuKX6p6K4fNMc4HBCV4fVdo/SmStvVpmteOiMgJBWtanOaQaFMIVQjok4UON3kn1TjoiQ7wbA0S8PdZKOQsKNpb0Kc4uNT3gCAqU40GxaTSIoZN80fZ+ZUQvTN2arWP8AmKrpDiMl2mROle7M6Y7U9mGa7d+hSWiR/PSy1YUd+6NpjUUheT0Vqdu0UMjGNU8gdSia4tNUyZjuaqnSsHNSSl/lps/ArSd0DZhFZBocd8nxTXVCc1rs1qGIADQ872iPLQ87VrdSNDNP41kxWNgfaWgpyOB8dEfGEcaHqjCHY1WoHVdnPVapwQjchH4qmxLkhm9SHkjoiQ7yugIaZuXc5d+NAwVa7FuO4j/pqk4GqyDfefDay72OCO7Wilic0pkbnHJMYGNopn3n91VZ7LXFuS1z+uhri1a7wWu8EHmtVrfDSwURNETtW12ICZms3KXgXottZ69ETd89IQccPBCaTqmzuQm3fFCXHFawKrcMVVvVSHe0y4lqrgf+yfxI6I8kNlgq4BXG72CuM+VMaC9aphWpb1Rbu3r300hBDRNn3GXfBDuLacWhO+L9lN/4rIPV18djNZd9Z7Rd3XZKrHDNOexozUs9cG5e9Mboca7dpNZCm8JTM1OeS9EM43LmNkIaRtTShr0Dug+Kc7FEqqZwobLTdKMrjRNl3iSrzQ9GbEdFrGO+PknCrGgOGGkIIaJePby74IdzaTWcLP6uU53ioW3Y2jw2Mln39fcM+7AqgnnbdwlSGrinezUamO8vRzbtmTc9kIIdxPjO5O+BHNxCxoEeJM4UNMDRc+qo2uS1bMTRRtDryMQw8StR481cvHPnRah9VdeCQrruh0BBDQ/iO1lpibuOPUJo9WMMLuac0UpdplipgwYUoQo2toXOyCELD8RxNAhDWm91/snRgAkOBohC4svVGwFVDuHmsrz4JmbfJcTwOp2MtOf8pCvHuJzSM6JOSZknGrvqoRds7PJDI7IQQ2aaZDWV3mn8TfJA8SONKL4k1DS2RzUJndEJ/BXw29Raxm6SckZWuyIUVKZ5OVajBM9o7yonmgzpkEAKqXjQQ0HZy2GzUoOVE594tpkOSMl6TeO7VSbwzrdGagHOuHxBOlDGso3lUeCGAyrSMYead7HhpV+XkpbgYxuN4N0jQENt53SifaHqUM3eAVnFZR4Y6cv5tbHbqGak4lkxRC9K3zWTWhSta2gQA6qioqIIIbOGgrN580/2i5OXMKlXVCCG2TpBKDnDmhM/qta7FOdeNUEEctnJMF5zR4rU8XnRanx5n+yMJrmOX90WOCDXnEBUV40p10iWQZOKE8tKVTZr1A+lNA2AhtWk0iK+FvmjwPVkbxO+mjL38Ku0PcbY7eTM18SlNGKwNvWlqdmpDV501KvlB/gmub0QLULvVXVcX0X00PO6fJMzTvaOXwrmo+PQNonugicNjLRCQH1PIK8MMeao4U6jMeaaAHf1f6U/H9MEPYt3qGqlNGu8wFq7wh8M06gD3asHeKa0GN5pzACfZ20dTk6i7O2p3+dAmRl7rqbE4tLuidDJ0V09NgIbNuPq6Lp4BO9mFZxSJqy7+Fl92OSkYNbdC1MV66HGqbCDeq6lCpIrtCDUIWZ3X6aTG8Ct0qh6fyCc1kKbwlMzU55L0Uz1rijmjnshBDQFedkFfetY7omvbXEK2NuMd5KOPJw6qlXuRG79VTFRDeQVNk92E7LTls3iOavu6ovqynP/AOLWcPgjMxzSHNOZKFpZ/cJxa6IUfjjh1qobpjbvDB9SmOBLR814oD2Z5VLirNxOesg1v6//AOU25rSQ7qUxoGrFa4kqat1t7irpCGzbji0J2blJ8LU0XWgeHd57LWhrAK0JRH/I+iMkTXOcM0ADDi6lU97RcaMaFP3vWMPJE1Kgu6wVT3vYXXsQVeMcLac1K29qsMSVda6elMgnSw1I1akY1sLTTEqCPWORjg+f3mQ0YU7NOwjUalNXL0U31bndw1BDRgqKh0Wx9YVZDuSI/C5O4iE3herJZr4vFdjb1XY3cnI2STojC8fCrlM0a94EdGXe56LzqZmnRCRwQndUHzRlG9RlKiiEw6ZNopXhxB8NIQQ2LSazr/0po/5Df/7l7hVF7iakrXuqT4U0PkvBopkonhjsUXxta4MxqpGXKeSiYx7XfNyT8IgwmpJU0xjIaOihcZJankoj7Z6Mhko26M1azi1vgrLuxueVKYvhr7zanUj0S8kzIo5qwtu2VvcNKCqh5LDRTRagS3BQCkL0RusR43eSbwOVnbSJvkm7GCMUZ+EI2WE8kbE3k5Gxu6hGyy9EYnj4SqKiptZd/n3QQ2HmsryhgW9VZsZJHd3KwCJuGOCdC0Mb1JWqaZboyQiDqkmgToTfDVq3bx6IscBWmih6aQaFOcXGpVVUomqbI5mRTLQ9goF2hxLSWjBG0Ndi6NNnj1d1zUGxSOF0eaeAHGneDvLa7IIcSk4kcI00VI80wXYmDw7iwWUP33DDkrURriAMAhsUQUmYUfs3eaOaKAxA8U0YBDu6DojDEfhRssSNjHJyNkf1CNnkHwrVu6FZe459yNA0SHcciaB3UpvF5BWUerr1PdRir2qo3j0KzkjHhVR/xXlMII1bx5JgoX1OQwUbKxivPFSvLnICpCle9uTcKI+yGGLirQGggAclHCwxXiFDDrK1yTYA6/vYBSRXBW+CmRufWnJBjnAkDJXXUrTRXQ1zm1oe9r3lqdWRMzWblJgwKzi/OxO5bbW3jRNuwweQRfeeT1KCGmiGafmmexauqKhFZWeaCHuJOCIxVNBHdMbUp92jSB3gQQ0Wl12Io5NXJ6YLrGjoO7vHqtY+9erinzPeKIWjKrcRzWt3HDmStc28zoAnsBvurgoBWQJ8zy4iuBR9pE3oKqepkOBQwAZ+lN3GH9IQuCz7xpeUgYHbpqEzcsrj1Td2y+LlI31F3oFIPVxM6pzo9YI7gUrbkhAUEDHsqUyO9JdT4KPa0HNGyn5gtS7HwQaTkFdPRY7F1tD3rjgpDVxQ4SmDqpnVcvRra2gJ2e1ZrA6YXnGgU9mdZnNIxapZJ7SNxhuq65poQm7FE3NS8LvJD2bEeaKsY9d5JuyTdFVFaGSGne/RGOM/CjZ4/ELsv6kbK9GF4+EohEabh0NZXngqFhB5KseePkj3gQQVtduJ3LyUYrdH6vci83Q3loqhI+9WuKdaJCKFdpdfvU5UWv8AVObTE806WB7QHVwT7t43ckA2WBrQ4BOu3ooxy/8AEHXrS5vhRHetA/SExpNoc4jAKV16RxUW4yMdVG26T1JQ3rQ49FK0bztYmsPZ6DMqKMxteSmG5CXc1xw1cNAFSrnQ1V5pzRNe8nNIyijhHim5p+a9Etxe5HPZs8etla1ABoACIDhigAFbobzL4zCGxRNU53fMp3CPJHhRVgG+4pqGxajSNB111VFIJG19yNDmEYYj8KNkj6ldjpk9dnk6YLUuvYtWHCRQLFmByVO9CGCCtp32hOzcrM3HyH+/fKlBzga1QmeDWuKdPI4UroNoBew0wCbaG6xzj9FE9lH72ZT4WjEPqrQ6jWNBTiezjqUXiMRtVoJFAn5qtymC4d5uSJxy722u3aKimOSGRRXoxtLOTsgL0a3ecemxbp7jLvMpqGiixTGEp8ALm1KfGzonQsopIXN8VYRuEobNsPCEVBLq3eCBqPdyGuzCMER+FGyM5Eo2M8nBGyyjlVGJwzaVdVO4y0zms/kjl5lQCjdmhKEXUrVMWrYjF099vO6ovccyjLI/BNocOaB+F3f2w76zcn8SdwaLM27Zm7AxR6L0YPVuPjsWuS/O7wwTUNFFGwuxOSwa1PnrO1rVJI/HFa9wzTXtfkomXWBDZtZ9Z9NNlm+A/T3U9wWsPwhGCE/CjZGcnFGxu5OCNll+VGN4+Eqiosthx35CvlTRRo2ALxQACdKBktY7qtY5NkBT2XvP30V6Inc3fqqblVeJ7+0OvSFMWblLyUYvPaPFUoxo8NIFUeg0ejvYfXSck/GR3mmoaKdEBRPNVZ4azXnfsn0CexrhknNdHIFDjG3y2pzWR2g6LPNfFOY/kNUWtObQtRF8q7Kz5ijZTycE5jm5hOwBXwHxKiF6ZoQiefhKLHdFRUUbcPNSHkmMqqAKgKfHTJRu5KUY198ZwuHNAlpReXd/K6jCnHEoYNKapTirE29aGJ+mvLT6O9h9dJUopK8eKCGiMb4TjunyT6jV+aY67inyyXL1cSU2Z7HMFcEG6z/xRI57LzVx89hjyx1Qo3h7QR7gZxepQ+aY9sgq33SYXoypX+pd5I5MVgsQjGtfxHLw0ljDm0I2eLotQKZp9mfUrVOaMk4O5rEJpvBUuvUo3fegKoiMG7/dXbrsU41cfcLW6kaKfwJqdmvRbazV6J2e16NPq3DY9IRXZb3IoIaI6h7UcQQp3XXwq6dW49AofhVpprh/1ViFdX9EzNHPYkNGO8tqzSlr6cj37zRpPgpHOwIyUUwYa8jmFWvucxpGU7GzlQRay0wt/fuOWhzGH4UIY+ikswJ4lJA+lE6CQfCi09PeG1uGmdVUOGOaqaU74aba7lol5LkUV6Jbuvdt+jXbzm7HpKSrw3oghoxTTeC9Ixm+0jorPM5sL644KS0Dco1XXSzOVlwUeVdm0H1TtqGK7jzTD307hqzXngsWYcjoss3wO+nududdhKdhAB1Xo1lZJH9BTaCOivhoC5o6TFEfgCNkhPgjYuj06xSciCjZ5R8BV09FRU783WYXVSm81ONTl3w2LS6shTc0876dw6LA27ZtuyyauZqvDqgap7gxpceSkffkc5BBBU8UxxaVM4Ofh0WqYYXePRGzx6wZpzmR3lYnF95yrs2s7g89mGKmJz0g97anNoMNizTXxQ8Q9y9InhapfgarAy7Zwfmx2wVRU0V7rBGKM5tCNmiKNjHJyNkejBIPhKLT0VFRU2gKlOYAMCrzTxBOPTYB7uulx3SnmrimLmnoZqIXYGDw7gyyEUvFWW1uhOOLVbLZrRdZlpCCwQzzVod/yHUK10gs4x+JGeQzZqtQ4+KsDfUBDZthxbsE081A68zS3PvbWd8Dw2GuLTUKKQSNr7jbDetDQnC/Nd+n7oC6AByHc4+5EAowxH4UbLEnWWuTkbJJ4IwSD4UWHorqpiuB6u/q3U41y74bM7qRlFZMTU9QNvSsHijkO8CCC+iZSoUp9c/zR9nF5oe1cvg+qszaQs8kNm0n1ukm756LO6j6ddAQHezmsrtmGUxu8OaBqK+4PN60vPRWFt+1V6Y/yLBatnyo2aM4hPsgdiHYo2R46IwSfKrjuioqbNO7tbsAEU/hQRXo9t60NTs9gPadojQENGKZW8jjIfNO/g+Sbm9NFbnmoxujalNZHaK3fPS3NMFQCqd3y0FHEnz2rLNd3HZHv5DRjk0+0d1K9FM9W9/X+UuijPwrssZRsfRyNkkRgkHwotOimmm3anby5qTNctHolu+4o57FCg8hCUIOGkFEUQ6qqGhnPyQ4lJxN8GJuTlZ21liCbsnIo5o7umOF78gorMxnie/mNI3dxZprwunPvrW67C5ZQ+asrLlnjb4d/PPqx4rtcvgopmyDx6e+0HRGKM/CjZo0bH0cuyvCdE8cldKpsymr0M07iR0ei20hcduixQkKEwVQUMBijsfC7yTOJS8bv+qbwOVhbWdvgENmU0jcv9oprXE4BRWPm/8AZAAe4Wo+r8z3AJBqFG++yve+kXerp1TI78kMfiPcJXX3uOhri01ChlEjfHp/IqDojEw8kbMxPgc3x0PNGlHNN0OQVkbdsze4oqaBhita5Mmbz2CfVP8AJRcQUxxkXwea9HN3nlDZtJpEUcVFZXPxdgmRsZkPcrUcWjuIoa4lDDvfSBrKxqsDL1oc75R38zrsbjsNe5rqhRSiQf8An8ltDLuKtDtxFfCgimCpCYKRtCoqKiptAcyjiqKia4ha17U2dpUkoIuhNcGovqqlejPZu80Nl7A9tCo7NGz3S0e0OxTRRRQ1xKpoHeTm9aT4L0eykN75j39sduhuyx5YahRSiRv8knFYypcaBXEUUVZW3pmDx03lVV2GoCgqdk4IH9ldoqKiposdr1DjUYFQ2uCXhf70/F5PjtRgF+OyO6caNKG9JJ5pjbrGt6Dv7W6svltRyFjqhRyNkbUfyO0upGU5NGKdxp5xWZXo9vrkdmsTq7idGriu0xKJKCNKUuoxYZ4q6VIggf2RwVdOGiK22iLJ9fBRel2YCRtD4KK0wS8Lx3JwQNe8caNJWe0EMu+tDrsLlYI78jPOp78micakuO3HI5hqEyQPbUfyK3OyCKbzXM6Ml6LZxOTtmqqUOpRqcdDRkmVJoUONyl5J+ekH9kRs8Pn/AK0DBRekLTH8VfNQ+l4z7RtFHPFJwvB2n5K+aoPCvKvczn1eimzRQHCnfW8+povRzd1zvp39oddiPcxyOYahMe14qP5DbHVl8kVlGVyRNB/6grA2kHea7wTi0Amueh3FsV2OHzVFRU0g0yNFF6QtMfO8PFRelojxi6mTRycLgdgsCc2i8UM29zaOW1lojNHd96RdvMarKy5Az9+/tr+FvdRSuY5MeHtqPfyaBSOq5x8UVJwgJxoEUwKEXYW7RgJF5FpCDSdv4tNditzzQOzTRVVTSRiCQovSNpZzveai9Kwu4xdTJY38LgdFNA7mfj2ctBITYpXfpCAp3s3rba1vuFodeld3ccpY5NcHCo9+tDrsTkVzUp3k7RA2sjfNZN2qOvDonkYtoosI8OqezC9slDNRltKJ0IOSdG4Kh0cPn/pEJu2WooKqcU2RzTVpIUPpO0MG9vBRelIH8YupsjHirXA908752MlX5cU2B7uI0TI2MyHfHAKxNv2uR/y9+83Wk+COPeQyFh8Oaa4OFR77b3bgCOaHEiauKdnosDL0oTtrtBqAFJIyh6qFrhToVTkjE1+SdE4aXZIaGvcFrQUy02YtbrIq0VyAvceH/wAT48UGn6IxluhlKiqewPDQApImgVaVdNK00OyRQVCrqDAMTpa5zeEkKC9qY7xqbo7g5InSKnhFSm2cnjP0Ca1reEU9wmdSJy9GspAX/O7v7W6kXn3gVVDMWHwQIIqPfLa6stETRDBpOkL0Y3ElO2ru9RGtcUyV7RRMkBWAajS7ny0vyQ2K3PNXyr/gryvdck4JgTsGnwCibWPzKvVcWcqLVbtStXeRhVyminMo6W8Q80Mu4dwlVTQ9/C1Ns/zGqAA9ytzqQqFmriY3oO/tjt8DuxpCiluHwQIIw96KmfV70U/CNHLQ1ejm0jJTtprTrCjq3R1cMdAVSjILmWOl+w6N0ba9doJoDXN6L2gfRNF261RDee5OdWMJuWiiuDNEHTTRZLQ2aJuOIz7nUxVrdx91mbrLRCzxqfp7hK69I490NlkZcom3BT3qZ12NyKKl5BP0MVlbdhajtMzkKaMGoQhydGWmmy/PTEzeAVo3mtATo3NzG0CgXMxBUcnrKuUj2Bt1nPQMk2MuV2maOiiurHQCQagqL0jOzi3gorfBJzofH3yIVnkd0FO/lddjce+AUcHzKiBVfebc6kdEUOJPxen56IRvBNwYPLbBIUcgJFUaAYIIxNxRGl2ejh81AWxsLyt12rIVdaHgjmpbMyhunJQQh9a5BTRXMstgFEaWjJMZdCn4tqiodMVpmi4X/RQ+lG5SNp4hMljfwuB95gFI/M17+2O3AOp7qulkTnJjA3LYCB94tzt8BFN5lc0c9FkbWRqOW3dQQcU2QHNDLSUc1w+eipVnk3ceSbq60Z5qhaJXFWajg5nVRsqbjvhT2Gpw2AUQimYUJQNQp8u5u6QS01aaKL0lM3B4vf7UVtgkwvUPQ+7O4ae4Wt1ZPIdwEdMDWn3+0OrK5FHCM6ea9Ht9YnbbCEYxyV3QHOpSuly4fPSBVVcBRQPDLxUk7pBRMivsYWckfiP0VQ0tZTMI2fAlOjc0YjSCqbzdET90KSS8USFeCvBXhoc9NdXYot4Kt3z0RWueLJ2HQqL0nG7jF1Ne14q0g9w80CDKUofPuuY9webziduldNdEb7rq7Y93kNGHyTjmnKXJoR4dDc16ObxFO29XXJbzUDVOYiKaZN0eK4tNlycaK0e0WqfStNDXvbkVHKA0gq6K6yvJHGRgUtbj65ctIomurL4IjTqg8Z4ose1VKNUC4KqjOOzw+awdmi0hV0Me+M1a4hRelHj2ja+SjtMEvA/6bTxgibxqAa81W7Qk5hNk6iiLxdvDbHfzuuxu7iqOzZ31bTp77bHUiTlzUvEn6GKwtpFVHbY4hXmkLVrFChTm0KyUujNUUe4AwZkKdlH05ppMcjG51Vp1R4RihoqUySsmKmF0YPzTGXypGBt2hrXRFxlBHRiMk2VlCHt+qY2B/E2qPowSYwv+hU1lmi4m0VCgEHlV0cPnpz0XeiqeejJQ+kZ48Cbw8VB6SgkzNw+KqNkxDFODs3Ilt6oyTJC4+aNSXuByTH3q+52s4NbtGOgOOI0V0HYjdddX323uxa1HNNzR4k/PREFALsLfJHbGhrihirhVf30S56c1FaGCl4bwXHafqm42hx6BUGrc7mSjZzyRbRUPTQGOdkmbjqO5q4MLzxdCfTFWf4tts0jDgUfSLaXiysnjki9krnOfz6K7oJTXYeKYKuFVJFG2MkLs5LAQnNLTjpcq0KzVwq4oZpoeB/0UPpQZStp4hMljkFWOrsPBOSbHhimNc3mmxgipV6gwOZqmyVVUM/cLQ6sh2S1zeSONaOGOadd5dxZ31bTptU92tTr0p8NAwa5BHPRZ21cFSjR3A0hX6Dx0ycWhrKtVEMf/AKmucwqOQAP6lNjLo46Jzrgw6rVhz7x5BPZR1EGVfRbpaWMOKrUXZOXPRJkrPwnuTjyVFcVy75pjaaHewapXmMNonu1jl2XDNUT0/iUWWiiuqia4tNWmhUPpOVvtBeChtcEuTseh2nRn4TyV3fu8qCuhvfk0FUcShnodmhdZmcVUtNDiE6lcO5jfdfVBUKuoNVB7s40aVI6pcfFFP4AuR02JtZGo9wBpy89h2ehj6IXXkp0ZCGOaoo5ns5rWB5YFfAFUJAeEKbBwe1PA42pxvGp0SKEbnd5KiA0T7rI0yZshu05KOMa0+CtDnh3hofmiCX4KKzvurs36kbOeqcxzcxoIV3RDbZ4/ivDoVF6RhfxbpVQdgNpXx0DLv7Q6kfnpv+AVKjDNcY8VeNKdw1jnZBNskp8E2xN+IprGtFB39FTurU+7E5ORUuYTuHQM16OGJR7hrlTosth2WlmaoWuwQlCY2oKLCFTRZ5AMCq3sBhQqU3JT00lPzTOEKOFt285SRNIqzvG5qQtMkfRNipPlgmFplf1Vor82GhsZe9BjW5LWsaF2j9KaRzwTmjzUsd3EZbFAsVFaJYuF1PBQ+lBlI2niEyRkgq11fc7W7EDQKc0dwYc+apQBwKcb2NNkNccgm2WV3KibYh8Tk2zxN+FUHuACqryvKqI7i3uwATs0M0/FxUnLQzNWBm4Sndw1DdQNVTTKd3SDRNdecnRHNNc5ibIHK4C5ObdUmTKDDqhL8wT3XjpK+JRjFoVodjdTJLiPeBC1buWKs7vW+anY4OJ5aGNuhWiXeuD6qKIuHgmWeK7lzRi6KSsawe3zThQ02qIOew1aaKH0o8e0FVFaoZeF30TpGNzPuFo9q5VQ9m7qmuphyTnClAMNFKptmld8KbYvmcm2WJvJUA9zCJ0XVdGgFHbtjqyopvNc0/i0QtqVA27A1HuBh5oaA5Z6JzsBMl6qjXIxlqiqStWHCoNVdow9EW02H5JvGo+Nqn9otQ1zd0rVPrSic0tOPehOnvMukJgq4I8/JRDWTDxKcQxqjmLqCqbIealZeCjPrHNVoG+PLuKKiD3jmVY7S2eIY7w4h39radZXqtX+rHomVvrUSOJo3BNsbubk2yxDlVBrRkPdxkjmhkqqpWeg7RyUrqvcUUeBBHNAKAVICGDB5I9xZrLfaXOThRyGiqDlPxbITDRaxqIANA3BXXRG83Iouqa0VA4IsppkUXGuakbfaHBQNcDUp77ja9VJvx3kIHkVppoiO6ZxhO4XeSsuE7VONz6qD2ikoHAdQhIKNTfbnzKtGbe7YTGbwNDyUPpSUe0F4f3UNrgm4X49O9IFMl2aImt1BrRy97GSOa5aKIJyOW1aHXYnJyKk5L4SgESrPgWoHDuXSsjs6rVDS40Cv1zRbsBRsvmiuRnBrsU2SguP5K9eRbVCqc6o0ylQZ6I5SxPtF4YBPF6NpUbfV48ynzFr6BTs3hTmnQPAqoB6xScbu6dgEHVZVaq7Le5FNmbSjkDCzELXOdJX6BcLVAKlzlK688olX1fReUJAq6Lyv0Q6qumH0hPFhW8PFQ+kYJMCbp8VXusvfWooFbqJQWZR2re7conLmpOJEbqJ0R4UUMgfGCO5fYcM0WlrqIaZjhoDqLB2SpojY5+SZ6t+KuMzvouLkE2TqjSlVn56XqDLYimuIz3ntUrDfw5qmI8AmTEyUOSoL7vJXSa4aIo776KSzvZ4jblyUctwUOSjoQjB0K7OeqbG1ilkvYDJXw2O63RdvFS2AXb0bvMFPY9ho4Kioqq+VVUpiUx1c9qK0zRcD1D6VYfaNp4hMkY8Va6u1j/IAqKhVESht251ZKI5pqpUqU5DQ3NZNVkbSBvdW1oElUNMpx2A+uDlqia3VFjGWjOqu1cXPwG3mn5Jyh4NnLzTLRQYhRSXpDXmmRO1q/MRcIgBRWhuThzVl4nHwTLQS665Og9ddTm3XEbMyfwqyvc1v1Wv8EZ/0p0jnc9iia+RmRTbXUFr28qYrsdnm4H3T0OSnsU0PEMOoyRaqICmf7I4pposNtj3sNWuIKh9KPb7RtVFaoZeF/0081j/ACGqveCr3BU7qyOOgcJOh+eiPNOyUYpG0eHcuNBVSyF8hTdL89hl1zbhw6FRO1Zcx3NXaHxRvcz3EuLfFOOKZwjYy89MTcC7oopb1cMgq0j+qklDKYKaa/yVmbuvQiffAov4vk1PxefPZnzUiiG4O5KyyKjtb2cQRbY7VyuO8FNY3QnHHp4p4eHG8DXYvIPGwYnDYs/pCaM0dvN8Uy2QupjT+WzOuxuTyqKQ7oCCOiEJorJGPHuc8Qp/ZO0N0HJFEaXexZT6p2MFXZ1V44Y5Jr+RV3pt2l2Sbvnx2MtiGS4fBPljaw3cyqlMdG9tHclNcvbqYbkFV2rDLFQuLtY8ptmc4VqnMLTjsS8akzTeEdydOAxKFolu04uh6LX33XpACedeaIYruOww6IhV4T3hpTrjmEhBhciwtUOT6Z0UNd5pyoorVPFwuw6KD0ox2EgoUx7HjdIP8qtz6R06opxxUi+HTEMFZhW0Dw7gZhY3lMKxu8lzQ0Py0AohUTXuZknSOfmmoJriEC1yLdm0nfUI9YFn56Mu6c8akN0R4WdyYyUMzUjbwaSnx3XaXe0KOLu680QqI6fpooroVFTHRBmU+K8qFrlws8k03wVi12aMsjhRU0MkfGatcQovSzhhK2viFDaYZhuO/lFuNXAJxqhmnZp2WmMYKxe0cVXuLx0Tga11ENEmluGf7J3XSEENDX9VdrlsSmryrMN7R/vZ1RVNsObqmjxUrnhwonndapm1c1SABoCOS5lNxkGhrC44Lsz+qcxzc9seP0Rz7iipouupVRON9SDfZ5qXJR4g0UnGU1oaFVh04oOPIqH0lPHxbwUPpCCXnQ+Pfk0WvHRMeHe62t16Q9EUND9AzTclHaTFeRt0qb6QeM1Hbo3JsrTzVdF4K+OqMrVPIGRkompqhofnopzKJQKI0QxPkNApIHRUqhpBQc12aLCncJRVmGBWWjPzUI3k+HoqFpxWtFE5rXKmOG3HLhiFK6tEMgfBOxcpcGOXVRe00CkUdV2l9UHNmbQpzbpps+KOgjuoTVlFHEQ+pX8RvgrQeEKHBibi52HNOGCLS07FFTRDbJ4uF2HQqH0rC72gulNex4q1wPeTfCEA1oVwXrw90kdRhTnYnxTgjwoJ2ehnEjknZaQCoxL1UcsowKdM4KS0Hqmzk5lPmwUkz35nQNBVOaOOmOCVwqG4J0bmlWSERRDqrXJel8kNlklFaOE6IRdZ47DXfumyVzzVy8qY4Jj6HFRjeKfFVOaW7AGgBOwbTRasI18KgHEoxvt81ajkNAcWnBHHZOnwRHctcWnBCfwTZPWBSxl1KI7jPooXY0T23ueKdWu3RUKjlkjNWuIUHpSg9c36hRWiKUVa4d1MMK9FVr2rhfgVrHnIYJj73uVsddiKcqqTkhpizT+FPTY6oQhBzEC2qklunBa68naK3sNI0eJR02WHWyjomtDRQK1w5PaFJbJdXQN+ugIbM7q0WVeqaKNGzn5pkhCZQXk9lSKLfYo5Ku3in4/UqQAOw0NGllAUTU6LU7ABPFGhQDdTMHDzVqHCVEWh+KdDG/EKSMsWrf07jwR7gBE6GzkDHFSSX1Ed9TVwPRcWOkCqLSOWzTqjigXNOBUHpOVmD94KG3QS/FQ+PcmFpQiABUbw0XSr1L5CuPpevJkgLalCRp5p7roTTUd7b3ZBOXNE4p2DdHJQhPxoE5tCgUJCCjW8muoaIhAIlE7AXJHY9HMowu0ljSMla7PqnYZFBDZk/urDZWv3nKSzNPCnMLTjskqqZKK4qRwuLVGmCbI5uaf16oaBs2w74TjgExtGN0NpLFTmnMc0qBr73giA+XyTp2tNFMxrmXx34CJ2mSg5p/Hgs1cN2qYBcwVFI3plppzKOOmioobdPFzqPFQekon8W6UHNdke4LGlOjBbQK+4Cl1FpAaOpUkbQ3BGt1oWsaMKoFOddFU2Vp7q1urKUUNDjhRDQzBqDrz/ACT3b2gYuTsCm8SdiVdNE5pGhkT38kW6GjmUTXZsjbsDdi2gapU2ck9WFtIG6HMa4YqSzluWSptXjSijexStbQ4Ixu/toCahsWk1lKkzTcAiEx5YUJonZp87GjdVmNb6IoTVQYxuqoYRxFepfhgpY7jtgROc2o2wET3QHqkWhUcFId3RTmUcduiinmiO65Q+lRlIEyVkgq1wPcyUJup9/AEqm/5BMr8tVCHCqmOSMbS1NkowphqNtxo0qV2LkVy0Pz0XkXuKgZVripBihWiDaea1ZPJNgNUyyIQtCtMbVFZeZUkjIxQKqoM9uH2bfLTWitM7pJPBNOxkinKIXYmjw2JLO12WaewtzG0EJCRT+6q0hOjrkrpCahsSYynzWcn1000wuuOqVJBfN4FGkUScaWdAqbeiDlFBeFSpLPQVbobuwfTaARPdtkrcGl/LzUrQCjj3bXPZwuoofScrfaCqitkEuTtt7A5NhxxKojG8HdTL1MU8X5KLVyfMnNoAFrGtwQIO1anXYinpydkgjnsNq2PReAUcd8pjE2MIkNUk2GCjq84qacMFAnuLiqc0duLgbptLrsL9ATSqLLz0OyTBemYPFDLZc0OGIUtlc3FuKpsAaGvLVHKMlOckENL+EocSixk2KLLQ2V7cinPc7MqLfiurUvvUopBRjW+KnfcaAFFKa0PNWjhHmpt2Gmzq3cwj3jXXTVB26HLPJfEPJTGrz3wHRRW6eLCt5Q+kYX57pQcDke5DRWuhx9b5KpdjRRnE0UbqhBwOxb3YAJy5p2aGSOwcmhc8FqlZ46BAURkCdvLViimlazAIuvHQa9xAaxN8tNt9g7QEFkiqJ+Ssbb1pb3EtnY/wKkhczMaAEdiqCahotBpE5Dn5KAYk7AwR2GvLTULtQ6J8pc+vRWgVaHJgq8KbF7ArRjdb4oRRtGKlhFLzdDW1KcWAAHJPs7Tw4ItIND3jpAYwAibkYKc4vN7n3+WmK0SxcLvoofSbf4gomSseKtPc3QtW4cJTGZq8RVqjZd2LY6snkigjmjg3YAqU7OiaxRRVKFApZKBROL3prVLwqYG9pr3FidWBumdt6JwRFCgsvPRVUUi9GCsj3dyQCKKSyc2/snDltBNQ0Ww+rXwOUA3dkIjZDS40Cjfd3HprYwcKLO0eQX8ceAUsTnnNRxllcVIyj3dFHjI3zVrPCo5HMOeCtLatDkyEOjr3Y6lFxPPRnt1VRs5bTHvYatNFD6SeMHiqitUMmTu5eaBRs+I7DslM6rnFFctD3bEY3qDNXEMXJgKop7zjQKzw3RocFa246adxYrSI6tdkmTRv4XaJXhjCU5155KG75oaQpjReim+qceu0+RrMyga7EkTHqWBzPLZCCGi2nhCPAo+Ad3G668FSxX95qgjLKkpsg1riUJPX15KcvbiDgr8nzFOdVWYb6nic41CuOrSimwhXDB9O6A5nZz2XZaQSr6zWWGi8qlA7INFFbpo/EKH0hE/PAoOB593O67GU9FONGou2MlZhvFBjnKKzUWDU95caBMiVND3KRt5SMpoulV012Y3ljgQopWvYHVVutN83G5Lh80ENLsAUSrEy7Z27VsO9RWSSou7Utlri1FpGY2AmoK1u9Z9E74B3NNiOZzE+0FwppjlBFHKR8VymiyjiK7QQ81yqtfH1UkmscByqrR7OioenceJ289hwwQ0HBUquHL91eRcqo6Gmu3HaZY8nKH0k3J6ZIx+IPc2527RORUhrsZaPR8dWElBgRwT5CTQKKOmlzkTokZVPZRNkIV8HNXQqHbD3jAErLz0BDTLwLN4CiF2No8Nq0GspUbrj6prrwqNp8bX5qWB7PEaQmoKY1kd5rOUd0dqiOmGgjR0RD1jVafhTJWXE5rJBgrprTZ8+5z2HNpoicyrbyfZYnt9Tn0/+J0Tm8tpufcAJsr2ndNFD6SeONRWqKTJ23bX1enPAReTpouHz02JtIG6JnYKGPnpc5E7EkdVRUQFcliidFdjh89IQ0y8vNQNvWhg8dt+L3Iqxy4Xe4kswdi1FpacdAVcFm76qIesJ2y0jTGKuRh3nXeSIppAR27ON76J7b81PBauLoE2O67DJOwmCmbjocvNVr3Wexq+irdw/dNc5vCULS2TCUfXmjZGvrq3XvBPic3ZvDaAROkEhQ26ZnOqh9IRPzwKDmnI6bRaGxNzUsrpHE89nh0gKLCNvkqq5eKGGhz0XbNF+HWP8s/cV+HWP8s/cV2SAHhP7ldmh6H7iuyQfKf3K7JB8p/crskHyn9yuyWf5f7lCx2evD/cr8Osf5Z+4r8Nsf5Z+4r8Nsf5Z+4r8Nsf5Z+4r8Osf5Z+4r8PsnyH7nLsFl+Q/c5dgsvyH7nI+jrIf4Z+4pvo6xtNRGQf+xXZ4/wBf3uXZ4/1/e5dnj/X97l2eP9f3uXZ4/wBf3uXZ4/1/e5dhs3yu+5y7BZfkP3OQsVnacGu+5y7PH+v73Ls8f6/vcuzx/r+9y7PH+v73LUR/r+9y7PH+v73Ls8f6/vctRH+v73I2WF2d773LsNm+U/c5dis/yu+5y7HZ+jvucvw6x/ln7nL8PstTuH7nLsNm+U/c5dhs3yn7nLsNm+U/c5dhs3yn7nLsFl+Q/c5dhs3yn7nLsdnNMHfc5dgsvyn7nLsFl+U/c5CxWcZNd9zl2SDHB33uXYrOfhd9zl2Cy/IfucuwWX5D9zl2GzfKfucuwWX5D9zl2Cy/IfucuwWX5D9zl2Cy/IfucuwWX5D9zl2Cy/IfucuwWX5D9zkLFZ25Nd9zl2Oz50d9zkbDZj8LvucuxwdHfe5dis5xuu+5y7FZjm133OXYLL8h+5y7BZT8B+5y/D7J8h+4r8Osf5Z+4r8Osf5Z+4r8Osf5Z+4r8Osf5Z+4r8Osf5Z+4r8Osf5Z+4r8Osf5Z+4r8Osf5Z+4r8Osf5Z+5y/DrH+WfuK/DrJ8h+5y/DrJ8h+5y/DrH+WfuK/DrH+WfuKnssDHbrTl1KHo+yFvsz9xX4ZYvy/8ivw2xfl/5FD0fZW4hhH9Tk6xWd2LmuP9Tl+GWL8r/Ir8LsP5X+RX4XYfyv8AIr8LsP5X+RX4XYfyv8ivwyxflf5Ffhli/L/yK/DbF+X/AJFfhli/L/yK/DbF+X/kV+G2P8s/cV+GWL8v/Ir8MsX5f+RX4ZYvy/8AIr8NsX5f+RX4bYvyz9xX4bY/yz9xTbHA3IO+9y1DOr/vctQzq/73J1gsz+JpP9Tl+GWL8r/Ir8MsX5X+RX4ZYvyv8ivwyxflf5Ffhli/K/yK/DLD+V/kV+F2H8r/ACK/C7D+V/kV+GWL8r/IrsVn6O+9y7JD+r73LssP6vvcuyxfr+9y7LF+r73LscB5O+9y7DZvld9zl2Kz/K77nLsVn6O+5y7HZ+jvucuxWfo77nLsdn6O+5y//8QAKhABAAIBAwMDBQADAQEAAAAAAQARITFBURAgYXGBkTChscHwQNHh8VD/2gAIAQEAAT8h+hcvpcuX0uGXEaYPnotL9enEz2l0Unnni9ep2mPTMVuT0dDySzmej0qV0qV1E6RaKPo39UpozT3OXesWYzfm80aigh5oKD3q5dqTcNRJtTPWocCNWsb8EU6KMBsQSGshGs7hiC2a1WITnexs6A0zNrDtIXEtwvhM3NwaBQsxJqzR/a6aP0hbyxaC0qOjVxekk6k9WCajAH4SFuUlZqfeJXCv+KYNAe0tL76ZnuvrcuXLlwzpEGD3ZcuXLly5cuXLly5fR8nRY7SntL+nV36Xl6FGWY9HTzQYTWKVRpKJUr6DTpfZv2nYxlUhpmPPB2ZlOkDaXOFFRWscsE1hsieH05ywg9GC0tFdJWL0xLLU2KzfKXBuK5nqSnHSXNoloI4ogmgg9MtQTRm8hNAb8InWvqzcDKk5wp5m/wDnAtksaB7RcvL/AMFXUp9DbeXgnSf9HmJufEz1uXLly+wXLl+78S5cuXLly5fYLmOJXGXsQKhGjX8xl55TMdSWrSeiUlnVUqVUCsvxF+ht2MriIC2ayFzd3lilg3ZOdENIeDmwgwiO5ZvFHUEOtWPZIESMIJZsQxYQQUmvVNCqVbYOz4hi3EBYMMuv4mvh4qYtF0uU9hFTH1hbCxsa6P0wuOw07gueZFLJ9SuyrjRg+ZUCm4mr+gf3l5aUyv4063Ll9oX0XLlwyxNUacy5cv3dFy5Z0XdCvMfLpMlS09DmNmZ6JSUl8pj6DLAYUszkR1zHr/8AUe1lGsdqaQBYRZoTNYwwELpqVIEOy1AplFQdQpsNPEBDF6T7vDFr9q4bn2QjQz0mW1e8NW/KbBftB8W9pj4G0rMXAq36Fo6hXk7wa2lmpZz0GymBGn6SKgWcYiVUHTMacoV5bHFlnSmmDmH7nlmHEJ60+uFxrQ7BpiYs76lSpXuldFJSV7vWlpTMwFcRoUS5fUv3fmXLly5cuXHoDRb7EUueikxK5SnM9Up563RH9CCa09WbJfeKa540ipRKRpGEC/8AibRZSVHfqTEd4ZhH0jvo9SVKqvrDmZ7Q9TGC1czQz8wysSO7cwVZZ4wbzUC3LNE+JBc7yI64feUAP6ly8KHBibYuQYmcra/vBJxHlM8W95kNTwS6vgo9ooobIwVzd1LYloUN3KW27aw2mN89L2Y2Me3SqHLM5mmNHEznXdiXOIUmIdNUszgNpelDaEN4l2rwgEe8St9Zlu31zLUXY7hpibn0Pu+rUqFmohodFZXsvF/1Ly0p47dC32Ii56i6J9ovSXOB7w3i9C/9QPV/QqBbn1YFpIrpR6RbeXLgsT794TxLAUNm5Qykz1he4M5lN1KihonIzLet9gbsbYmUADGxCVJIfqveKbuPrNTn3it0xLT4Jw4s/wDYPqEx1+KUap9o7CmTXA2LvTSLWyAlQynJiINUVh6DimJWvYBN0vMqORY4GD5uMgb4l5Yv4hD5JVel1uCOvSgXfGkuLYxJ2/W1i4o0+gNMQ1O77vrhbF2Po17vzKlTPaX6P4l/D1ZTmBVz9sN20B2vrA0j7TzMuX3X109fxLEOfugKVsmxTStcxNTV+ZVi6xet369j0Ddi2xQuI6CmYDdQDW3vAeUERDZr7VMtqlmolmscniN3Gka43g5pYv8ACI0wzJfeIFS0VczcdGUqn2eIiNPW56aip+CGrc5mX3ZbwJROgfEsJx0DJhqwVd24LEYcVqVvWn1TLFrB9IaiXk7Pu+uFtRcUdomhBtFPFXvOSFN/tgG6gulmC2+yP/EmQShjL8S7+lS7TDdq9Ogt6HLFwbtpzNPXppOA+FxeVtF39dWHc4PHSYFy+hlombRxB2vCc7xx1Ddi30Fj4hRNo1lNRnzArK7VouWaNDXyxt7m7Aw1RUzmVzLciTnKKFZfaIUMcRw1BqVUyw0s1GXKVTp+I4evpaWBziVDxLX4lCeZQRMARr6srL3mJuYr2liDNYFimK1HUMW6fRMsXY+oNRNzp931y0dKNIJ2ZeW08ED5QHZKOhe0vG8OOZuFgP8A1gS+l9PhzpLMBvzAFa2rMy5TQlNLlsfWxq0F0CoFU9j0rnXxEtNJ+oSkGiegSqht2Jq+hlgK/YQroI30NY125fwiveX3nnRub7GuX0VW0feGYEWCfzKGtT79K3Y57Gu2gzMzoIpR1ghdy1WYdoFEbP5isp6BKq4/LM3b6Jgt/wATMMMzaeYcM9XRgrJqRqkwwbbzOWYfmYugCU6fiImusF+kObsv4lB5ISpFaJTCxeBrMK1Me0ACXtLEuDQjo5QXRgVgY6tQlg9DS3SLefoBbMMH/v1jDGhZr+O6pbiDafFFafBBOE5B95Xo5Tq32lHKGePugsA9Z4D4jpl9oItDrMgLRijDc04JiInaxbeXsL8QeweO8r3V6TRUO9tfeWLNyZhNUabPEwl56MYV75S+dLlYymrefBnxEV5/ELWjWOylKhUMBjOnXSj/AC/KYrk/Mo8f8z+N0gy4ihVzKuWkzxMLpFUavNQwt1/MW+0AjoxqoNM2UoNpS5ZR3gJSKgTHTKfaDQi3eY5YN2Nu4iohsSbjcgst22I78Ros04MGOynTma60IitG0DugjVdw04SzD6cJcwI2cMSYBHbu66gHvFdW9+lmv/sW2On31cvYg7OkSu3TeXy6FOErHpcvDbVH13mBehNbY3WnvBaPxHsr9olYvQXrG/lbm4TEM/zK5E5x7SrTR2Q9ot/zF9VFarL6ZcS8UQdnSOJqfToroiBeq2NMolqTagdJI/8AzMNvxBMrfEwiLf4ljQ538xZK5XABHWXEoCV6zHWfmAW8S5aYrgjKqwEDik+8vmGqWekM+GtPEuYpc1ONcqibmnRabiT0hofBMeWCOy4qO7cvoQQk2Oroz3uLc19e1aLnirVFivkGCqVPEyzy6VQTLbpDbGUqmm5xL1JTLxUDQ95oKyzmLVPT5xBCGCoQ3naNvSAS0RH6oYt0i23Pu/MqXYC6TQvgmlQEyBzFqWeFhBTc/Ebp5ZfmWy+lRFkuF0wZaz/pRVlii/iM+3ZG9gRcYXF8jdyPEUoOanMUxQTZSmJR8J2JnW8tZVkHv1ZSYGOeYLNE1RLsNkTZ3X76Uc7GneCnxeOlTfZmvHvMsC4vzHJkgUwnxMt6go94bvRLI7QQrtekMlnxLlwi4XGD1HPTpMacBAansqNohgK/7Shb1Sufkg1KvJNhv9xitfLDv+SorPgmVvMIbHlhj+NOjpF9taSoW9+q369Hoxby6uUQW8FIEXPII6pTE3/8y89Bpsljg6jLAI4o6EXT8w0iGfLq9W3px1slfUDdmWVCOh/6SzmaWiyyaHb0mL0d4C/2R1ibvqTEuN9BDjPIJcdyNP8AZLiIFKuyJXo6MItVjMWxXMWvG6ZQl0TLuY+xT2mBAwv1ijYWHmI5jYdCNrm8Qpa9SOCu/MfoVKGg+SUojSbSuURbZ4ELd5eSHOi9msWbcNfMICwQbDK42lXiLgi6e01QGCR0gSgxKOCYn1AUlkwrp4mSX5wlrwqWmjBmpAxUKZubEdMrDDwg1WmxIED5/EI17kZyh9gSwtGkWq0YjBmLvjD4iD8w3OPQNRqE3uxn5X5GKz4jNcfpMTCBpsOLZYKMVExI3OStJWUK+8t6UGna9WSGLDx4mEGktmmXnzNmv8ZRpJ6TbH7RwlPi6Yb/AEjFv8U5vtgOqSrW3vPW+8D0lY6ldhD6RDC2OW+zQROUs3pUejUEspC1mjlLkdEEJpO0owFCmV7pblfZ1ixCdOEezpGr+IiAyS+0DRSvkjodfuJWz4ESeFGSZl/xSm5ajCwyIPE4dYJdaMUy1AFGB8A2qUk1AmTyJTfDEMLzJeZyO/Q2TLCuZ5YuMRajRkmZQpd7qKNcgKrqYml9YzN2JpRUmIhXR1uakFPmUwQKz0JO2IviJChLzrFmkvGxHHEqYVcCDhZFvvFm2zlgxW8/iAVJuHaMgE42lsxlYaVLACvQlaxjlNMbiXeiLGhoPErS9Jg1o/niYSYC5Vwjqw5lWqFdj2645IvYmnzKtD8wEl/4023sNJbzLefpg/wgotmr2OkUAKAWBU0jdfxM1vTFxbwX5eZQU5IJkilurPWDWlMvjICMUTVOOXCkwbXYhDNpX5npRFyP6Ru6asyVUG8SdZZR5lxSq/epmN6UzHulxJph3IJ7MypRLGpFMKG9hyQajVTriUMuwKmWjiWNLNFmpiUY5jMePxFfpo9NyTXIidXLBMhuurp3L3ThKkHIwG6s8H3i/JMkZJ6yiBYXbki5E0EuKcfFFGHHBWHlJbqD3JyD7zzHylG/7QdvkldCqvvQV1zPuh0IdDo8nHyEdObfhEIviZTzp94aBwQlojaPMr3odnmFCnTTxPH0ljokqaHmJKld6dC2H+kQPl7x/wDdMX2mIqSn/ADdl32u16JDzWSoGyaQ0+S5v03iTUwwxEtz0mCmUbEJCLUEPY2wno9PeX2zvCopJdKK8za7RqNZ1Rmp9EfQhBlBhxLjdVR0ExMMxvRmbiIjtiXC0xTO31MFLPTwQulfmUNKq0h+Cj4lzPuTInD0ZVxulwLgCLs6EPWmHp14m294YoY51r4iOCNypUqVKlQI9dHntOhCOpQHvCnqKBS5/GEoaWqO9shFAUx1m3a99gRidHpUrsWhKMQFQt+0V4e0Dch9SYzBnkWzEpR2+sG7NXpUqB0sJql4XjWZVb/e46jY/UGX11ZxUXesLQLPnTSOhdNzgZOJVx13x29lmw9/mXk5ejNxp+IgEX10qrNpfk45rSnrFLMH1CvSWf8AEGXr69GE1GG8CaVLPCq95cohVBwLr0qBPSCHV/CYcECyRFZpszVfeWJ0Y951+7odDoQ6u+VDjA0kutx+XRirX5RHDU1P4+pk9A6vZUrrT5olDVli3H5QTABKLZlR9mXZPpDEO+H6Z0DFsywOypUoBMBZVTuqLI9/iLn4Q7agZmEylZlTKBoX6wK0o25lhXbEW82Hpmj4nTy9PVCOYtQq12ZMEToTRNUewh0bHQ4KG5pj1jnVuO8e5EPViqnP6mq8dGPa9n3fjsOhCHRWuFApgVUOJZ0NWohwIwVeObisfqMehGMfoYf2zHfjgB8EtD7EahGmazqazQ/UlVvo9tdtdAxbLtvod19CYeuUJ/TNzxiOQObTR3GvQY6GsSfpxGrNbiIrcrM/fx2frPjQ6PMfY9Ay4Tbox+lE1nR03mORIqr2YdHbM8G0rT79BqVyxYuDox7Xr9347yEIEoHnHzMARVU8fmaRAD13dPM4EdHmWALgh9J0g9D0I/Sd/wAsSq0EHsZakZGEvftNXsh+GYU9D6J0FFscsroHQJUqaD0jWpD+GBBzec/M3PBDopVz4jjHW/bw3itA6oaTgQL+IMoBsm0z4U6ERa9TiFqeJroMfseohFxDWZQF46M1do6EOTrVvzNiesx2pKmmcD85ntOkFC/1SxejHo9hPu7CHQhCECP3h9pn6iHdW1B8QE8y/MH2o4i2uq6DUTc0+maPPfXczAt8k9bNJQPkYb2UWqvQJrurrDX/AIJYDtr3HWoKyxyw6hKlSoEdrxNRyzTImPinzBgea+JqsOhj6Z7wwBo/Mz7WLXHbhNxFcMZKpgMV38Q3DNXASF3tyuFtRgbZnr0GZ6TJHabVTxAl3mYD4/M+yh0JcdIbYtiPXVDsIdBz1Z2QvHxELqnxDzfMRcRVnTYjpGAj0er2fd2nQhAgQIEu8woTXmy+rEhNr7S7juHiIsCjiHW6iVk0+j90eh3V3CqzWYlxG/k9T5gOAPM8J5lSDLvM6vdUqVArLFVgQOgSulQJUtJlOTmVOW/iOjxmG0OgqQXS5jxg1XLj4v3hclkYZVhJAItH6yxmgYmLArKhRLbb2XfNGq8SxPdi8RhkaT06Dq5wQSqOj1e8O4Fulm6PR7WPX7vx3HQhCBCBwTQvCJQZso0FDnlmCQBh+8Idg16RKyad/wB3R/wNEc/uR1Se87ArLNYQh0DpXQlSkgitRBARj9sbkNYSuZxeZaWxkorZ7ekxAV/tPAV9kQFVRVeYtOWfrcNvVmviCdMyBmIysqVHT+JquZ1MfkhHg1PEBGnoMdAvEeKNOqox7iEE0OhboQYuWaCPa9XobkPWPT7oFvSEC5aS7JOeh0IECBAhW3URmDUicVGVITA9I7XiYX5D4hDrZoviKNRINekTc07fu6Pc9a+j5XxPKnlfEWaj10RPtEDJe3YMWxy3AlSuhCBKldcbxKOZ0mVQbnMM28s0e8NYdWMABpKbYMkIhlykwGytXHWujHU8PLmaiOhyxyIhAfZn5XxxlWTKhFxRpGHVSTJpHpTzZUdDJ6wqGWgGaxmcjToEFB03ATNtcwTe17V9l/kZguWMfl0oH9qUIhemIRorpipUAU3XlNZ4XoQgQIB9YFQIg0EBaAb+sHJ/DHlnrvPzDo1RpuzYbeWbEElUIw/5CDUTc066evV+hXtrzCNpHEyb6Vr20aKDYnx0GpDLw4qZyFpN2HQKLZlYHQ6VAgQlSoeZgMtfmAsdLlhRTeWkKHQQ6Clbp6pe7KqZoBZaesAuqdpccSuYSulSoqDxMD8TWx2zOa/5hO2CAuMcwt/m5fMEE6C2HZA5jtBbMIuGJmhTMGnWfAhW0ZrVDMIEu1Q3GkCrYs5lRehmY7p+XS5rMd9ASoMzS169BFArF1KIWl9Z/RzB7FsQadelweBlg8flDWK7u8HB/blQqu3xCBAgQz6wprLecSwa/tIqH9ic+WeJiEUR7svBwEV1o4Om7HcTi2w6DX+onGk09fx2P0Lk8H5lv5xPvhb0i2NJUrrffhPD0ZP2T/2pSNY79Kmc/mVrgmIbSrye5ArLNWV0IECBKgSpUqVMp0i+Bzc0DYjStsvDXQQlFiZzzcdQzo+svi/6ItrXEPWHvQAueZUdwWJ80PpCbof10qJNL7TQT7uM8304U/MByGYdDRKmwYiBM3RKgjUIVm8QH1SRLKARWfEPCVumS8S66KucgH4hTfSP7G4T2tT3npkWI2hySxndheyNOsHHTNPaaq+GCKMflN3LrCT7MYZ9HvCqLX5YaZqmfjIGn6PiWYsD7zDhTI+nS1OD8x7A/wBRgpHO8udRkz3JCGiFZPExQ3iD5QuSLaEauCWIHMaVpjiX7pRyWbPHzIgPSKP6viEJRu+USi8dz8wMEtZiVpZz1NsocsCakdpjoTNmPLBllvFwQDsgluT1018T143AV9N4Dl/3Gm6RSmHsq9rLY9HViHRp/wCVCW72mGYZKzypqgSoN2lWo9A6C4ldjpl6wkVgvkbTS3Tj1ERd6RpTQ+GJmqz9kX8GFUXqs2ERquwCBgYKacywLWD16syHxh01Dn1joeJk+suXDmVMeSOug70OK2jJSDV+kZVf1wpM0HLEry9oznTYnoY/EUxj7Syn1gdIE0QWaQ9wS+TEo7KBHwwyhgRxyunvHRb4n3UoD5fEZG0fmWPQli7j943sXxHg8TLzIb9M+JeuhdJTWfCOVYM3oiSn2JRxV5ZZuS2Zi9R+JTVrswbMomkRheZph0NZXDXo8pm/xHK3/wCEsYuv/DCGwcx2yFzVqV1haniwCaaTPjGDg+wjskOZs5E/M4MuYwtdCZ1l4I8MtDqd9PEQS1JhCzsTCL2iVWi8xC7AuZ/dlc8X8x49oUgvSDsoRqjOPQ9I5Nnr545l8SGZ/wCNFqsesIty9WGtOWkzjYipPiD0btwTdH8JdHBKOiRBSGZQ1RD6YaFSsyp6NMGhAuipXSrmhuJqWWA6XPl6R0jthCDmVuqdX0jGi22vWBVPOOkHYyvxXRTN/wASHGXp7TJBWA6syh1/eBN1Qiqg1g0/MqSybwWph3llCfqeRtGP2Ii3uJwAgL2EGg6ZiFkOA6azFpUOXiDQ7sKqc7Tn5ip+ZdWnwo+Jz26kyzK4mJpGvtGfqoSV1IOYg9sPmV5LE/Ee2LGJcedPaDtatnvGU1/Se7/hLH/bihYmIlyDw0ggPMqWF4JbWgZggC2Dlk3j0+8d04hBt2WHVVeFxFLrBfNPV1PiHSii56DDPIl+Nb+0uTfD5hMdi2Olv0a3bNTx7V9p5g4IlVdYNNxLvLB80THtdveIlW2GGIzkiw+hBg8EAvY3DV7aTL0rK28vBLAy1GS7xnpUEqLgl+ZcEZBC0yRIlsp9tBW74IMo1iCmyK2w1lJEsdd4bcVI6UlLGY7soLj9pcHEwgNwQNCLDFmEJ/HHUeghjJKHJ7wOrozL0lmp6M2pZA4iLTR+eg7Bsp9mJTTA186zM3J0EULpaCC07So1UalBOZa3cLHA+DoNM0nQ24lABG+ZQovZLAYvdlhu8x2yyk4jdgsZ8TDb70HaLVHpXDCDAE7i8zXmbvpBrWIwP/qVCZjx+ZTJ00+Y8K0nEwjV/UV+mMKSopv1VCz0XSY/0zLFPoZUkzq+/QxAiVgt/boxVk8v3YHCGoLE3jRhgLWFQujMvfcmlbQVk0ho3lVvQjX9X9xPudHINWAA/gmS8rL5xFT8v4hWA+sOpHoReKvWI2jPulSj+/xFoWPVss86Kur1+/Z7muWYCKoiGpitB0WjmOg9DU0ZRaLly+gR4I6bL75mh5gxcupFhmueEAWE3faNRd6mcMCDJ4QLaVE76Qa9ZjupQBJX/TrhIz6OmVdTiZjo/PeDpTjJwy2L0O0bs1gQRAVY8vUaYllnx32PnT6QWr7ogzf9dbeetvPQJq4S1s6wpUaoXLVqSgtLN60L4mrM7pfNTAQ4HGPiV0VU6pfEJLs/YhGUPE3YE3hhpYUks+RYPYe8pe8eZUK4wZQ3JM+MfSX7fdgvaavMFnAV/DG7aubg5rcWDxLNgFfMwHLPvqO4sxSn4I3ZhS+NKn3TNjQl88V89lS0XvtAoDxFRwgGG0Chx0P1NIrBxCWBmDNMSzDoEfHS++I590emGo2uYWk1ww/lQRqZZGt5JfhCNQOdU4NQXeoLZJTDGCC8XDlQ9umCmo4JAijiAYP/AGO80PQQ7jodBRbNWECCEf39goxBydv3S/6jqSli7z9H4QgQJgtlVMSdltmj5tHTYVLhv4hDOHXqI0Z/6EVu29W7VQLj4mLWuDqBbHzNGPumJaHB0FETWaZ9BKG77RtqhKDyfxK63a3pGy7CVtANjwyvJNV9pH604dTqdVlXMZUqVADLPvXpfMI06aAbVZggqEscItPHSko16Vc8bdcRzMzHdOI6nic2lx20R3fwhMVIQsl5eWpklPSBAGULcCKAxLeTEZL1RRipSS27muT3ix9YVp5IWjSKO80PQfRuGC2ZMHqHR4PZcGmVeTr930yEIEG70boilb2U15/cwr1PmYF4l/Bp8w6XeN5p0+76hDgWs1YjoU2lGFXMqb3ZZJoYO23ntEaL8y2tuTqG7HMavVLzoex8Q5w8IyrPQ1bhK1u8AWyxuBc8GnZdJuTVfMdR6ORf5x02iSBUOdE3FpTyEMG+6A2DBx1IMLZLtks6BpuDG94YJo/Ka00EdGb/AEHZ5YZQ2FRu0XWDmonKa49JWxZEQytLr0h1WTpAw7Y8Tx3DWkS8nxL93fcvsGHQN2GYd1/m/iPPth0hxFa5fhDrw3n3fj6wH2DKBBmILJK/vn6uuusqss1elQgSpXQ6Etb26XvBKvtZ6YmCw3GhFBDKENep1yHQdgXCZehDeclIS2DiOE0ug6V0Ww1hIdn5lAF3p4g2unjmAqqXyR2GrlJoy5ZTPOIQY4+p5d97dYllnufSvodB3YZh30LiaiFkeRqffs+6HLX6wXOBp9cKyzy1ldQ6HQJUqOqIKKlJUI8Gna6SWHzMPVDmXemVjyzJ+IQ6HZCEOoLtFKo0mY4Y0au0y2TUixaBtUxHQdEWSN+JcJp19o8kaCyGSLoTEVqC+0ulFhoqP/ZUg2GYV3i9IDxFHH0V+v3fd0GnEC2age0rJK2q5jWgApXmYndfJF3rQY8wLmV9JrtLE+CCOlMhzDFAc0vEuDCabdIWihDtcFzxpHw7RPTnqT7uvlr9QLYuxp9cKy/EW3pr68ys5h0qB1rok0hyzVnp39cvvHgw1foaohUYtzCHQ7MQ6id4uw4nvLDGn4hBZDR+46RQdB0AocTCsNRHDg6wpL5muha6gjSa38x2KNRlLMkx8Sr4ZBSLQVLREW6+CLLGd/WOOXi5kvb93ZTMoUfNwbRxD6IGQZEEDkPqlRU5UnEJQWyeTLO5/ULTcMg+FIk2BqtM9cC2CrfQoQh2VSsPARUnhlj8ur7vx264dZp9EL9Iuxp3b950MZYtwh0Gyn56H0Ajx31EmZiusW9lR5lPAErbeIg85fiC46t4Q6BbF0FzEQDPkRo+An5paUsA/uHUO3Qt+Ijl6g0WaAi4ErI/1Azy/csVi4o4s/Tt+6XpvFcraKpk4xqzxug0CGh5g22quviGW08RetJWp6xFhx+kWK7xnCvzxALRfHMVAq3riLault16wYt0i2wgxRQ7bbNrm0VJyz7V8Omjz3666zTHeZi3g0+jcXpcvpotjbqdcsM0h3Bc9NPoWVvSDXNX6yoOZSeI9E9IQhAtGHLM+Qy1mU+IIZaJLMSijCVzHtKn0jIz+XiOv1m30lszmAOT3Og7DBb8Sx6ncMUzez7ulwAslqQafxChKQXktKUaZ/CPZpT5ShqZIcz+naJQdG4ShC8WgR85fMQC2sIxOHG1SPQgn6mwFV6waXrwZhTdqupSYRIMGKKHZSOUdTDHzN/M9dZ+Z934+jrjfuHhMsBozH3i1IkhVKLigBNyJNAwiNPS2KIKYUbvuNLYtvaQhBvD8zTqdDP0XSW2YLBc5CLuCR5RW2HU7ASy4lRZRAt4bwYgFQ7k1DZ+0vMo1eIvD5ihKi+dYmZZMckyye5DqAZfiK2+td5FF1/d2EFWK4Fov/YNrgabQ2zMf7ywAQI8wlGT8QR0rImQhIam7EXmn5OPxEbTWk170+WJ5cXDTRKSzSUrnuG9R1a5H2hBi6Dst8yL2CpttaPvOQinx9P7o46hcpPyGWl4t8RIleIACvuDJpYsHLmRERdXMf2WUc2UtYz+0C1AS4k11lhdlwPT0gQboIe0dmhzUW2XLly4dBgwg3h7fTT6N58R2mfIglhKuUx1ubw7BmjpNy8UafmeqU2ehVasqDwEou4v4jxuusp5xHficQ7tBhtslWQhcgfSaspfIMs1iMqV9Aiix0+76CxephnI13IKZGmaF9Yl7W6PxAYjSvmUQG1QoZZT6sBWtR9oQYoooQ6VxxmOYghuZ9PqtdZowLmCVioTuJ+poAt6FUUBLqMJTFwVz8wkLtbMIFryTY2kFUY2/iJdN5o9o+xXqqYltANC/wConOa8333CEGDBvDNIZl7Gn0rI5jrMAzBo7UPzMxgQ7DoFWpQwafmKL4Sh0ZbmVDRFhiA+k10fIZVfDoOqLUH2mpS3gTcPvB6SFpea9BZqdSpXQjrK9z9Bi9ukAFvxzFt7ToawYooMItDPBWJiPV6Q+Ex8/S1YGA5PWBtYhccjA1hlSNDKJSksZiwUqYPdB6VF26oSakSJazCNl23EVrbLrFesxUTXTmOZAvECosPaI6wbcIC9I47yHQhMsPzL2h9C5W8zQzBFdZkS8OjgczAlYS4Q7bjEfhDjjgiveF7Ny+SAcy0BZfM+6lLjdT7M3S/lRUE0w+kvqGagYjkjdT4mzTohPWT8oOzpEruWLF7TDmKrc+7uIMGKD0EoTxLFvfFzUY1+bfj6VE5YuPpj9o5DayJvCgBpbajPZxKVLct5i69DAekqXLEwuOVkFsj9mE4KyiPKyntM+kHEURVatOJj1l2gzONVxwCaokE6d4FFpiXu4glmkECF69x0IdBg9A3hmkO+ulzwQZMW1mo6ccxAefxMAeOh2sI3lXdB8sZvknplHTDLd5Q7y0JSOk+GbTfPzHXpVf8AldOiH+BQvSIprWX4nh0ikrqxj2FW6Bb7QYUv9dij69p0GKKKGZ5vNFy3DX5xPCIdue0UbGmYatV3UCOaLQoPG8CkKWIqqvKWGPXAZSeBx5uZjtmBvMqob8kRM4L4mLa3lTnk9WABWV3XMoHnJ9pZlu5+YXM216Sull5hFJZrB0p/uKrtcRXOl/iDnX7IHRIUvFavaa/NQW6TKGonQhKBrIXcGDBg4ph0O6hsvfmYrN/lpzMRxLdxmPoNOy8jbmoF5YfDH7xaUJsz4MOHWWmGUOjLQG6Ol/lwUPiaJ2S0PBeg7DVaEQDCc7/T0hEEyJqg9o7SDwCeSF0p95q0KegyrwRHi+BzKlFUA3lM08iUOFtoVq8/SIMUUVesxDlmo8W+Zd5rfH1r7E7BLlhg8vyliBL44gVovQjdKtt9Up27JqJdrGOhrcTQs1QKWn4oae1sbIcniVBzj2n8drBfX6c8QNS8IfEf5B8wuS6x7Rt2Ny7wC6REadY1BFBYU1qUbuNZreCsFBpBgwYQ+h9Wsrdu0OZdsx2+mHa7VylXb7QysErhE4gFBRDpObyR/EHZ+YWYckC9GW4g15qaThJgPELoW+B3GM5YxDUh0e5x9HT6FpBpr7TUiemI3QPvLpqVMWVEGgOzxMe0Fje80xKuK1t0VK+gQhFF7opbC8vtLCv/AF+kH6N9Fl9oUW+xMl3TKkV8xucmsvDB4IanEsEP2xDNFUZcWj8UBo5fmbMRAAq/slBLvEeBofvNitCVx3syxLCZQGxSDBgwYfQoPKGhdNvMVrMX8TJnkpj0Doi0feAk0GvYFfOHo0eIYw6TLSV5Qpr5l02tym5aeYqpZMgYSvlP46Ts/IdCi7tSACOHv0+tmvE1LNeIBhXydLN0HRj9JM0se3UqVK6kIfL8QYM9gRWmF68v47RFBc/4k8Cx4k945lX4ZVOde+5cvvCi34ja5+gNMeTSXe8WAVjSKjoaSj4cSjfGxlF6f4luQcQhCDBh1O0HLQ25guaO/TFXrmrUqvJ+epAqiI0afmeqPw63H4X4Ioj2YOzPCa4RkrQRRWMZYbD7ZUwGKZZ4hqDXL79yynH5R06VtuHV9E+nZuYn2xw47rmqJ7ThPoxug+83Y+0By9Ga6Ht0Wge6VCXiX8OyBkyr+Ox6CC0RCsmX/wDED3H2mGcMAY93e/Rc/VzWWrMssQ+6VajI0+YgLdOoy4MJcHqdXArLTNSxyMWBPOEej+i5ciA2Pz2jUjs+cyiIcMGobogA2jjwOkDfrxCSsEyYescB9GL7pArEOz+lt01QacQr3+76B9N0ODWCk3t+paa2PaPhPiK6BA6j1xEakrXBFk0ptMsUekFqviL46KrsV4b6zVuCGnAiPQZUvRxxFcvaUVb9b6XL/wAbMLSlsNYMDg8dTqQYMGDBg9bP4liTJwWyya35moOtKpp+eq6mQxGDR9P2wdn5jRYfOqIgNWl9o1xrTFW2ozMQjIzQcxjR4g+zscEsfPQ9CmsTd6+3+AZlg1EKvBq/r6dnnZk9pkDw+YcHvKo3puD+5c11mqiMNR7zED7YxRGYm9BGNhhdZiZFM7x9m/ma3h6sv/GRUFyyLuMEVHMJho9DsIQYMGEIQxmXMBzF94qpzOcd2l7xRdZ1v4D2LVi9Okxh+ZYNr/MLzh+YwHzfvLA7n3gKKbLCatdUYW4+yHt9gh7Q2rYmv1h460He0QaNT0vMKLG7+tp22GG75v4l46a+g7hwR1ZdwtlJcPyJcaR7/wC5bymNyOqpvzxNWftmHco9okTpXSpUqV9d+6kxboaMWCcHcdhBhBmGWXfTKRqhFkzRpqnuqo6vU6Znr4vspdwM+/S4OzpAOjccWUSxqqIeIwg6JafmCN4ywivgogqya57KvJ++xgW0ShbV9psv1QtCFrULR5jYrPQrRsbuPH+HherF6Uly8P37uMF53g046C2/qCjMMyrfTprrn1ms/BNIH3QX9hAfkJqME9UdOMqV9V0VOLVjgfHHEC7Dqm5p9AhBmi2XcJfSGU3KOh5m8rHnPz3VL06OPmUloCALGyaZgjs7vVWKdIcI17jeUVDWU0xUM1tVasEbR4hNGNAhYCqCHZUH8rsq5o/w8dCXHYd9XvQRw6wpqbdNotx16Ze/YfT078fMkdfxpL+Mp/17mWaxErywAjaaDW8O8xvMtQmTi21J/tMPpT0mHqiW6GmsrpXVwCXOzNMqlym5AXCjjsof1E3NIdo9BhyyywYMoTxLxNSwy2PbxDYO9hXQi2DTMoNk24g5Y3PQjixe0L71CUhLUM7TAc0GY0MQikm73Specww7LA66zQn/ABKC9sQh2h3a34mERxc0bUfBLuJ+XR6G2pIJPucfR0+hwuZ+IhjehB6OoPbvqZN5fKa699/RuagDNQMZpZKX6IbS3vNZUDqj2lnQYNByz3Q1lE0ZX5hPCg07jH7ibmnfyZdwhDoBasux6FazyBBoeD6xyMPEs3hKol0unrX8YreflFV7i5HGOtD+V0zDSCC5VnsO28eJo8k000el/wCGvjq9Dbu0QCDY6d+n0FonhJU8Ob8P8J1/wEWoMvbDcWzDwT3BMTTre8Dq4g5ZHoVK6GI7jTsIcsW2EGDBlXSFRJgTXPRGY+xpD1260eTnqsQ8/MMMIx8Eaudr1R5vDMDzNA8EIddpcPMqNEXb0SBNYr2LgDT6RkDclVR56KhY7bvb56vW1Zkw8d2n0bB4l1kKU76PQ/8AhmvrARtxDpcQdQmpiOishxBwzentA4RIY/1HeaSpUNzpxHL0IQly6s1hYEYdWW8Mmt2VM3KKckRo9aMOk9QbMIFvY5lnLPD4lnklBV6Rn7oqKGv8T1uuCHY/il1vmKnmLbfRPY5lAvqP17V4/PVO3PuOnk+tYI/C/Mtozmnl66/UDFl6ELrbeKmN4Gv+Gr6NxXUM2bNhZ0h4zNWco1HorqtEuPXp5OPHTySzV89HGnS57RixvDxOuIaBuazIdCWu1w7whC+YKO1rmYnxJwaXryww7Lh4l0bSrZSmXxCKyQLQAd526y+tFf4JUrpTE3lSmH9QySurTufVqPpfM8m3ehl6n1XU5/EIfaknDhr/APCWaibFidFJnDDpe47TNCwcrF0V3dJU8bypXWo9Coa29jmZrczRaJjURHSGnQhdIyxQLzgIbeUu4YHSdlwiVATA/MNqrz9E66TXpr19MZ6VKmsqVKmCeOOY8Kl/U8P5+JxL99+v6Dfnow5YIakl/MO/Drf/AMI1XR1lFTebpourQuWeHzq5x67gjp0AKPQ5lldx6GB2eJgWibPM1IRl5bvWPWypV6ts08aaQ9KOukZaTHbq3l6a919Tv16K/FiNypUtE46Fw8bHTVesaYfqXrhLd63+xj69fKbfboFFvxLVz0PvmBk9zj/MfoFG2TKyCgIaZq6IHFEsJaX5mczFZeIssLkNDmKrbrKeOlXHaBo5UQtbHRjFOjMrF2tBCi+HDBHpp3a/Q2+gxvJQwJUoqYvEKU9ITTpUX0rjwTKGrQhn6AfH17c4VA3Yttxh0DNPnAcf/D1vMmWTmvWWOBgMwtOUMsdS+xBpLMmOkP2hzFN3M0jBWzWDmehKS0myaJRhytoHdY6PMOXTSXF1kaZXXDlmZBbjkEEzvH0VS2Hpvs0+h6XSqWSulSsaRL0ipE1I7Dz9a4+Itsx9lH6wBXQnJhuXevdYz1J82D/MruxTWZveJeaNr6wcwc7s1D0+Ire0RvHnmByaHMbWYjGumsTj0mV2gRDhp0jTpQU5W0q8jo9L63/P8volWKPJKYx+6Uo/mZIFfpD3aF6DMoKfMV/uBUDNygluun0al5xCyNqSVUrEcyuJh6y1raV0amv0t8odZSAxVPfP17nzj5i29j0vpez1OYZT/n/wbUhaxbHM30Wssg13g5le8x17a6KrbCUQwlTSGDuwuWZtqZdgVJt2aPP7dS3Qjq0XhmNZODdfJCrM8PVLiStPSUtcGhG7wol27NF/ReD0NcTeOen3dK64pWZamMSvps+TKDWUt7/XyF6/SuRpuQJ/n1y8TzZGiOudFpHWaJYkrHiOvatHxNSGX6FypUrscqU1cuUlkvo0f2pZ2J1EEK2jkYqCCRRCJ9yA36Y9EJSWSiqrEAN19FWDgm8NelYsn3dBNavBNd/dBAZfL9N6D1P8/wDkxtp9e5cY+PpEPOpuQ+lnS/8AMvHjpcgl1OI8hHWVSNE7HolTDCpprG3gd0vR3ldKlTQzWYi6plsIpEy6amYVrz+yMN3Y6PfqVTAuLEwqZJYCcjLEzYvWVgj+SVQHhhp9GxfM8xeg+6IdCuCZarwawWq/O/1lY8S7Nn1xW2tEpXf6YzDZBEsf82jlsu0JTDVNWXHzFGrMz2zNNdymnQtW2AozqSlC0lQ4EvHY66sOvTdbhlOGC1jSBrMpKch5ShU2bMPhLW0z2zoy6lqaN4EoJncDDKciuYRffFYzRBNotYJqGxzHLfR61PDALy0V8/QVJ8S5ti3HzGlP9omemC0Ho+svS6+K+ZcRlX2Pr2Abq+oLZ4aTItW0PJY/5lGdiZAa7sfoU5Y7zV0dr7lCGowby5QziV46xuA6bxYvYjrK6GjrVzgf9Z6Mz1htpiDCrPCUOMjoxFCfCMshhWrKU+IET1xADOkPZgdeZiBDY2OZZbldK0vCaAcfQN061Eus1SfLpDM3+NoBQAfXXrchvPRd+vhToX8xLye59A6C/BFvG3RR6nK2hpVn+K9qoZcPOs0TEOWKnNoMy1N4s9xc5ZFgjZKzBUAwMXR9bo9gIIZn7OwlQBhMOsYl9UMdZWUd0LZmWwzFk1zBj0o6zFb2OZdvWXydVJMRAqPp9FS8xpg/wL7OIj2WX+BxBdHtBpxEss+PoC/SXsadRiGNPMwBv6LD/AN3iPHq3NpHniIsBGC0lS8TV3O5cG+sDXRm/UqVKidTVqaEt3eAjeUUTUg6VAgSpVhyMQ0TvKbVm/vH+TcwJpQvEbcfbmJW2VEOseMw1hDyB5GVpXz6yuHxsZYljju0/wAC+2+eD7/X9APzNb6CmYllnx3BcXY06ooAqzJfwgAxpKGH+S9VM11MhHYxQy31ZQIVD3Yw0YB4FVNVYhxe/mMs6yhZUep/HEz2rio2BxrMcKKEA2UZIi3UBQu1p2UYSxlfk2et1ZseJmHo9iXoXzNYnmrlkiKV7whdmeH/ACFoWUi6s/f6Nd1P9w7BpiWWe52BfpHCjTqibHMCw94dVtNh/wAi/h5mpZ8aGbTNRlG8zAd2suDBAYvELR1BbzZzHWV0fen88X0wVtCcYBq4qGu8pnIXgljNOiPSHCYHgMrrRh0ZT6bM1HrALSbSoeYM/oUMeDGzUljL4UbjHSl50/6lAB6JD6d/SzQ1cfMCgOMfH0b7sD4O0aYllnudBcWxp0uoyrlNoaQ6EJUKl/4zpLvxiLDMhzDAsdYRaHjuaxY/XeJFiwXXQFGEDpoj/O3VFQWwa0jqQZnNYg14JomdUxd6soZxZGC3qblsQOtGHIxIjk28xbcyjNmMhtAavQS0zPPUuINEq+nYlleSUwf+ZVyjzjyErh1zqSqE5H6DYdXB7y2ls+U3m30AvxZ+jr3LQs8pPddTcPfxFvBp0eHSj2bwbIdlxS/q79uvZfYus7s0BFUmHQL6c1dms1xt0QLkMDDFMALIsBGLR/4hhS52eYmc9ChLMJo13mKbEpGpruDxLy1XWC4NYBPTOYXZGFSoN3xzGoc8JR5OYKaPXJ7SyN+lS9zN0jnbNPt2/wAcShrVsxbHxOKVMMtjPDK0r84MIEV5Ye5nHUye0IAhlekFfURSIqXQvXaEa2Q07jRfbWfoHSxeKPf6Dw0JSrPia9mSOe4awZcNLl/4GvW7OZsI5JFdeI8B0OZ6imvsv4nk6bhGqltSY6xhTrMAT7/xFjpYaddmWGkzpED9Tc1Mq194UcBkjuKC5ggQOstEpGpZUKmy2lx6Ro3ZeKA/HQ23EVYckFOGzoXWpcyroGqhSF5DSQhC+wx+n8pzRRs1hMJ7wDp00fyuogpw7MQdSPNKNEKdJlWNM9hB/vMP9ofMEBER4eyh1lCmtY8RBVQUIcSw3R9systIL9IEKbPaIsMFffsqivr+uMs37NWoSvMPXo8INNyjk+Oyn2bwbLNOp1uENP8AEtgcZt4itPmK6cRmSVCo1dNY/bpeZ6dBBSkItkaeeXHR6OogpwmjKS5guBkuxtPGJXOLwYc34zEdIjEi1HTTSxXggKmG80a1ZQVwbQWrtqaaS3PAHH6NnzL5xGysxysZpFvE/d1tDNoYAnowcWu0ogp7FqYqCpfSsrFcoe4i0+yUrRHh7BORzvBOVv7zUAhpRMoLW3MFcIpolRUqgfmASzSCx/geLGOlKYHpStGWIC7pS8GwzNWk+hkrnqOhBQP8bZdWK1NcdrpUeWAJwRmsft2adJCJHEsh/wCOrtdAR+IoaYqU4dosJhJf0qoY1Y6uppL7HFUFo6Z1nFfWU0QPzKvcOiK6AydzEjKCkStUYirxEbvVxKGGENHzUCztmOTWdJ7uNFOJs6A19KOseLFG0DvLcalEBzaMwtfoHt1ghwXSnxLNH+g6Df69xwIrHlgsHLFxvWcDVVK6feFCy58XF7KwF2s8/Rovl7xWCbwbaX3gQDb/ABrjwTyJGiKg5hhOm5NJdOs19O5BhAnj/wAdXSO30sA6S448TyxMFatmWGmUQYcQ4KcxbpZdYiTWUTfc3ii+uThi4DSJ00DuYkSPQa41/EoyiBbFS4z8QgpHJdWCWYsEctzQjICviVd0T+ag9CxjQ89BYo0mTWKn3LK499p8wBYiOj2BYaq3oa+sZdezrlqzzKOqzqSytaJ8xS/IfQ1bfaapUH1WAAwdT6YLtL8y/MpNvo+oo8BNRFg4Iq6NKFZWhM4u23fjzC3Kcd/x2Kmx1ehHIxKB0MRhKZomLczCDLbWdGUXlkp5lanMatooldDuDRwlnWW2027HokTt0b5grYwl5St/MIq9UrFop046UYwGrGUFeYkGrwQa4++JKKvmUM0GX9x9utRaIIhmHwja+Wj4lcQ8P+Hdx89KU2xlubAe/mYaMDv26iM256prkfBNOD6wAoK/wKddYgngT0QDNw+lsylWpoHQXNUaj35UEboc7wdWs0wOlXr6osTaI5pmYB+IVSVLANJYphoNBcEgMpuMS+q2JUqaWJYPMskagcEa29xWrz2sSJK6kSIm0Uo+vNUxSptnpjvdi2XwiCFx+U1i7uuDu+YidRvTZg+PCutu1I8cQglG41KIo86MPw3ywyhTCzfn/AdyaTWVcUlFraKx3QJUCviaFTy4mj9mc1fOYYgAeP8ADOblBAt8zyz0ET/cs1gp9e/H8EWrMB+IZh30ekmrKhVXNf0FpPdxFCMQDRrEpzMAdipuMPCV7maNJemKrLFQJNfExK+BE1dK6wsTGzmDdKZySxiySiCnsSJK70jZrG1xz6Sl+fxFQ+LRQrustFYNpo2eCAxkcwD+SV7Jz8SlOfw7GPVDLmkX/wCkdKVV6G/1xgaY+810CVYDXcmVeW8dpHpNVS8w3Af4+hFl4gqFOmko3hQmj6TTfc6bM9aswIqfma5kmWZ0N2UNgvEoE2jV9AsSNoShp0EKQnDNkj1JqlgdoNiUYWMvNxNSQ3qeIesxn1dQ2GDQeJq+apiiwCYMZUodckoqERp16CWgzKIncdVS+fzBYeiUsc18xkeMoTU7fMB3/wAJYrvprTeOtRj3BGDsYqB8hiNAvJh+qjMPrGk5blzKBvmv8vQmpDPsm0QFk1s1e3fWTxNHSsGaJLMuDmXYMHEzXmWF8R+gCBLqpkt6DoLsAvPeIZNOp0VNqN2CbnC9GNQPB4gKF44lHSpVgu+OZg9+jMzDk9PKkaiiONtrKSQEDKJa4ndaX5bEz9SJK610OlR5T+qYpvFIOT0Yz7nmJXFzSl4omLHYiK/1ywcY+JQWzxl4SI1xAOkuKXE5NJQBZvQilt6GMkql4+b8xY8L0fMAljj6KBqtzVyM9P8AM0VDuSj0mTcs9Id+Y6M1h3UnmzVNZV+iWcDdlmDAaEMpMC+l8GuncVPboOlFejeniV5nEUOYRx4arNHns+8Dwx2N4wK2kVM2IF+qf1z0dI8sOXZpXJMUMDM9lylC/We7Q1AXCqhWhMSmalqZj3CV0CVAlTCecX2hduJD4/DDdJM0a8s++jzE3Ipl4vo0B0iyq/VS20fSowwU0Zhl6qFB7BEDF9utgcakJC76gyvocj3INY5zdczxeOw+uw0+jo2RDpHjielDnNg1iq+Z5e6k4EWqalmUul5ZbQUHQ2Zqek9bn0qU36TpcTbro2QvyIHWQFy72slczGzxbtTFtaQ6i1V46ff+YqcekFDt/riYeyt4nFMQGZQN3NR84g3uutQxJRB9BFYBFqG1aOSeIIECVAmIE0iJqfQwe5+Yuw+ZinDg7G0yd/iGLN2UuVLFzkhvV9dFDxLwRY9IsrcyxBXf5XkMpijyYYXivlh6mIqgV7+savHadH/JuS0WfoKhelTpDlYJdoGhtMuk3ebfLX0iFnwI6LjbsK32b8rimNEvi7E3lrmfWBCHav4ZqaKYH47P6462mcwtTyGanmckvZrKIYhGat8QbFdysYKzFQIECLEmkJV9CqAdS4Xk4zVRPzArpz6H2mjXggQENRNOgnSxEPHWrQmc1iU56CjY0y/Pi1HvLy5tLmHJkZ4z/wDLuXiWW8xsa0bswbBx0q16bk8s/jNg+glNzcjpvEHM0dHSmTcryZOeudfA/KWLQUF4goVOyYtUjbORK7mKjBR5/MCiulT7vx2ajqmIMMFWwnTcDw4znVYEyvAEmCWdJRhAgSpnXpGh8fRESZIAaDtUAkFdbVm83SS0Q/Rq5jqxEpjKj6PT0RmCBvMxEU2hWCa0T7dS+g717VMa/lyQI8uMktAnh/8AlmC9cBrLAGhtFkOCaJ6bdJlOy/oUzRS3eKCEpjzNPR0+lGHJuSvJkdJah2Y4312lVfTaLoQsZ4FiHZtLacS6P9c9Pv8ApJE53lQWOdIe261KS70wKTSV4olTNPMxTzAo+iN49jEGmVC32JZbdYiRzrMGyJfWU4gKPShc5rEuXcaRwxCwPImltNYuBRGZw9aIo1KhLLnwypofe+JbBfG//wAjOmDWXqNCZXitx0TpuSiTfGKlJcuX01m/QE1jkYEuU0wj0IkZgsWPymTlY6PdiUlCyUNuJz0dJYfMzXiVxPTttZWtXFDkrtqVAWvKba5dYasQhuTc1BSfEvN6wdHRBbMWi47QrvoBK+rWJEiRJXSuyCBMcyiL11lsFq01nX0hF4F6fuZVzzHeZhZHVqMYA2g8kqT3evzKoz9oG/rAFdI7bSaP/ibeJazRibmaVmrNYQgswUZhhqxDtNIXMYtM0MSkuJYsvmIuRDGsVTmsSzW70kdyygfAcxltlGNR1JVkyOnSttypK76CHiMNjTMZi8wmTJHSpoTNvzM5WrPv6fxzBc+IXqlDTSC2ddKlEP2jnMpp2VAmEaW80uEUaRdHaZLxDRw2vBDLUN4Z3ilgA4jQMy5W3aFFvYitt1giU+zEGmJEiSpUqV1DK0xMOKNIllwWaRprLAxjC95e0uZdXKw9iGeLGzUlblHmlQJ8xKwjw/UavKzZITHSvTs0+vVy6+JmXItJUWaMx9c1xW4aw3GD9IaHVbgljCIlZbCqvO8KRh8uzMkXMDDEQ6RmawoW02OYlW9UiWKij4lhmRbDcGzDpOnrNJYp0hqpwwLs3lXy+3Yl2f8AUGkEBv5mbLtfqWO5mkwRYUx6k6EJf4Jrg0lqEdY1hxtMnzHDfMuVLA8Jn2tel0VJEq1t7AAt9iJW3rdlvZlDTEjKldtwURNvLLG2v8x9+hlPQhvuXDGKaqhFFuu9L4iHmWtsUP8AYe0sjeN/pKg6q4Va66zJDpvB940q8JqTT6+vT11Nswa1NyCimSY2xywhuVSgvHRBzANYlBWsel53YugyzNJgs07PVy8QA+wcxq2x6VBMMsGhQS8sUcnNTMMIG23V6h5nrMkWUBDGmU16XK3W3b/HMSp0Zay1hDGX9TLek8qaQYlRWAr1hLNdJrppAjuMunoQ4ws8Dc3KG8sdviMmzCTpgeEXci4OfSXFjqImsAC32IqtvbdlvZgRpj32em7LMGDpVBC4aHEIF74+YDXCUprudUWC5qSO0NWL4OYbXctyDyMeB+0xKjwMJcWW33OWWSnMrGmBGZ91vAKletTQJWsZoEzu8cXn6Rnrp8WZrNb43IBE0Ya9GC4aczEWVCbxiLLsNY1Ry6sO1ZnmWWPbwWfiK23oypehq9KGJBNcVMjFp6Kh5mmkvOkxce7iFpYHBAdjKoKiV2WNsENxodely8StKIuHJ1itDHDKqBg36QbwYOkJUrpgOCVC5KzOaXv69M10SpJpGFLBrMjyH8zG91rKRf8AYq537mK1Xfb6GrLMGDt0gFYvMRZ+yICzXcg9JiUAsxFZhFPUAHwHMVreqGWNGV5fgjD/AKkMsU8fQcyFyo1cTO1elxAQsOCRJba9GAlnSW70y/o+n5uZvZq3KvNNUrSGANTiFMm5qXBR6zZZd2Uy2icEvxJr50UxhGJvADY2OY2ro9aj47GXaxMKrSGCHQvaWnz+I9Weps/PSpCZ7KHqWL0DyYigpzvEYnrBAumV+sW8GDsB1qfGJnX2mAbVKMmm0KJDNI+ZTKL4mVdWWDVekafIjRGzaJYcvESrbbs1jeI91vg3ZZg0OldzBpswy01vqesTqTYNnmZoiPQAfAcxWt7/AAliY8R9U/JDoh4e3TsZ1h2ZTlBlmkLB+SIBKJp+ZeDDW0TkEQV36nZcPEsbljwzRwNJpEGi56YJV46QVwXWrZpD1MDWRrhCu0gGkRpVw2FGC4PeFF/Yl229jAgo+pAV2iovHQjD43JVZNHeE8OZScOeeJalZm1y/meMuwTeMP1V5j2qpZ+DeDFVWnxLtgG/xFOSLpOjpFc5/GJSdI1jaNM7PUdodoGN3A83r7sQ63PzEGx0n9bebIm0tkWtmImpNb/L6PSulvpuzYNOtSpXWupVLE/USyz46AUu/wCEDqbacxKt+kg7Ri2UrSrzvCCu+HWGZp2i5wm8ovZK8RkvDtKK65U8YhgwlUarmUBTKj3WGLE2EwJNczcc+nSuI9ZrFvyzSGu7KinEEKqEy6wqMqBd0TdRFCsCFvY5gVu5ddprPsuty8Qc300ejrPDJtOL7uJTtMI8wfjBQO2vXEuMLiKvpXSzwRbxtGrPiJ4f9gYj5j6ToqXxMr+rNTxnqNY1I0yaSqW+xHLbAqwRm0ZR3tib59YXKAiYiv6hSli/MIFWYwfQdGPRDKBzFsFH1EEbQthiUC4avfIOe1VfSy6h8SkqBrcrR+FhdgnffQb39E9iaMa4iaoJr+0fQcna95jmXomDZlKSXDMsZEbKat2CszHPEMQbVzBNOwl141j0Sbeld1j6gsjXrjp1d59nMtzHVJ6Sz9DKnqkT+9KlnoRXpp1Jdq3TpXVYPExv/L7ZYLcjoQb3Yx6l0hTl3Az0WCV1kP3HCcz3vcCi3g3Q9WLfwkZRm28qQNGZncnG0bBSfU1qtz0lLYcVM+YGQmr9UFaIoKNd3qlb1yyRVHqiV4p4+iq3UvrgjW0rxBB8yhnV7MPGtmq47UcMO8zLJWhrMaNd2VpMk7SrLd6MrMy9ggVfUVy+/wBCY6+jUsB1l1qH/biGYciNcjiLaeNivn6N6Fk1lxvDDYqtuwhFFH0ppyy8nMovy9TBb7EVW2KsbcTcMnbWC2VNOpcczHHByH8sB0Q4hwbjKEYDrDVDB+E0PqwRq3EEHXT5ll4f9dKldj2AD4DmUY2DSDWSJWzXc70mrBOylaItKNd3utBXiV9JzvBcXoyx+hfoZmyZexU2etk0MMLpY0dK4ha1UOnqGYNwUhCABMS2OmYmYYS4mxjr0LaQeSejL7bJ5aRGgeiD2JgDVm17vHVr6zDybwhd4ZRzXcANVwBZp2C5M8kTyXyidTocc2mf3JifLBQ+OlUWnoRy29Rr0ibmnZ4CZiJl+8EwV/ULu0C98sRoVaD5wGrGdtyxvBNdVFVLcy9KgxLnB8RMf9uVKlSulR6gHwHMW23qNNmsQFmu52qrQy30s64lNHEOGYtKa7ssCKXE80F7UVjT4mMX1pg160DsD3VcMTXrc/EdzT0C3ErzLd4ZcTSg27vEsWtCYQITtlB0QkZTMwx0xQg3L8rM3zMsakcst6Mdj9aMFA0mT8HMNl+XjrmfWWbyir2j4HI6jCo7l/PcieEvHqaQ7EEpLgWwvEZqhlQhHFiKXV4jP+NYFECi32Itue0a9OI7jJ2AVqeZVBQ69dsJvLIVTxKmH2JTRcBS8JUZB15GviDZE+0qVK7QA+A5iq29o02RKWa7nZc66KvEvGSjWW4LO4g9yE6QEWJmUvPe0X1wxVDTzDaaS+7XpSecVs1ektUadQVojRoy7sriGe1YKMHScIt1lYjKpdElKKuhU8JZoxBl8wO0iiHYj/24h1j7y+YqVRKL0njH8J+O30DGDSDmAOg9x+GeYpZ6sqEUUUunohh8QKLfYi257xqDFmnbULem8VlGh1aX1WZK89LvA/iLI94EXhMUS10vkiCpk6VHB0AC/YRVbe8UbIgLNdzsu3swzkmMBOEsZk+jhW5DKKIkrMrq6Pn6FmXBuwUsDSpgRZzBsHoyx07fMwN6T1maV1LNEWlHqevrTMWV1NZv9YFRlEsejEuUtIlmLH1MxThJY9dm3TVmMD/jodQlu5Hgx/WcQwQY9XRZkHS9Y7oCiWJumnfiXWB4lcFPTXGrXiL78ZHtoS1be4IUq+tObb+0vDT+0RImTrZ4N2LY061BTRSJ0z3j8p44ZRApg17z1IBPMIKFXAgogUX7DmKVv0RpsiAs13OqDhmrP2mN5wxftwIvun9ay5nTNBumKZPiInUw3BvEvtsy4DeWYNOOqljTMC0QAHA2wZfRKuUBfsvWLesrpVtG8XQZd3qilSpocY0FgpUuVEZYPZl6T+j/AHP6P9xVoM/3mLf0fef3X7n91+5/dfueb/XmMJf+vMqyfx+Z8t/eZ/d/uZf6/mf0f7n99+5/bfuf237iRf8AH5lKw3P988/8PM8n8PM8n8PM8n8PM8n8PMxuf4eZZrqf1mfw37gxI/1vPP8A08zz/wAPM8n8PM8/8PM838PM8n8PM8n8PMOb+Hmadf8AHM/hv3P5L9xYR/q8wxP8XrAUP7vM/vv3P779z++/c/vv3P4b9zP/AHfMcxi0/wDaP8d+Z/HfuJtDH9Zhduf41jav+LzP4b9zB/N8zHW//WZm/m+Z/Dfuf237n9t+5/bfuf237n9t+5o0/rmBOqTX/tELW/rmB0H9Hma5Zz/2iUsf1zDF/N7xdlf65iz/AF/M/o/3P6P9z+j/AHP6P9z+j/c/o/3P6P8Ac/o/3P6L9z+j/cBr+r3j/Nfmf0f7n9H+5WwH8tYctP55mTX/AH5ixr/vzM2odT/dG7B5/wB0s1X9+Y8n+/M8n+/M8/8AnzDn/wA+Zj1f35nk/wB+Z5v9+Z5P9+Z5v9+Y0nN/eZ5P9+Z5P9+Z5P8Afmeb/fmaX9fvP5v9zQr/ABzD+2/Mx/zfM5Jt/wDdKdF/fmLur+/M87+/M87+/MB3f35nmf35nkf35nkf35hbq/vzAKr+jzHh/p5ni/p5n8v9kw/0+8dd/R5n8F+5/ZfufxX7n9V+5/FfuNX9XzP/xAApEAEAAgICAgEEAgMBAQEAAAABABEhMUFREGFxIIGRobHBMNHw4fFA/9oACAEBAAE/EL8DUu4OJdS7g15Lhh5L8NaBFr77THUO5/M4BZfkufAl2HKJvEbGKmAHiAYFF+33EMiXEdJE2U36nsX+odtIDmkvOIOxZfCUfJKKzmekV1Az6jTXhkxLzUZqnywuD5e4sCyEHEdS8xaINTl/ucMNY3OZiCTTfMGD3LKhBmomSDE7NEyyehCBX2RN2dsaNtLuDXcdYp8MFhX3IgyfQxDJ/CyqifIlLC3BDinJCG/hgchPUOr74iFSpxiYdsbuqg2QJ+1+IZt2Vks6vcOV0wC9ECMCvc4iqarolyJgG+cBk1ZUfWErErVLv3LEwVeY2KNGOTPMAuxb/v3l2q3b2zLCUipiZ104IuWWVoruNumnBB7EeyriNWHIQy2PaswQ92f3ChCPQTBXu3JlON9qsU2z7tBV1HAIvzUWkuD9DEHErpKeZngZaGmWy08BuXPWCJ7EKQ94r1Ai+HRzK+Ost4bSkPCTcl7uX7l3mX6P8JTkGO0Ygl3iL6qOtWLqiEtWIhqKslyhlS4ZfuA5PGpqQcdnc/JZvcO2U+JTiKW8kRHmV1LbqpnmD4z7S68FYDLqXwl+OJnw4HwsWI6JULxC2UxNrKCCJRgrUBZC8s1u0dpShFQ9TepLDMxfCB5p+0CSE24eoHL+NUDwLN5RvKL8egZtYmsGo8rR5hu2+1jx3j3GQkiJm0w7YIZiYu0Yum5JX7F1C6szkNYNyyppLzDKqzqOq6GENP8AcQeajVHvnmaN9gIhKjmlYEEjkIdDdu4i2u+4Aop/M1DPQIrlivLFu1ivbPzLrUzM1dfSfQ6lShAsTAx6p8IjqUgTiOep2j08glW0twBjgi8rxyOIekbNkt+o4JSAfPU52/594Z5b+nc/AZplu5eFpR4Jdaw+JdsQxR9+pdKg28rMqqPB/wAzE9E/UeoxZgX4i4EqAYfKV7RZl+mX2IBW5lqNsExZywQa+O0dbdziUdQqD5MS7+EuMuMzKNdsREmURweo50D27goAnEctxxJi038svsdHDiIujX2ZswuJlnMNau7YOUdwVxcfo0uWY26GA4NFQmYBgYbqauKjUZHERmFcYmCspwLmX59lRsaG6lXW1WLQKBBuBFfQq1l4JMlDULc+ioJwFvRuNNm/XEUKq4eoLTfbzL8NRzNRly4t/Rfy0G2EgFDXvzea8PxGdArBjCfaHBh9+FqV9VeKlPFEorULqCIHXz2iVmCRlLHJ1EMRxKHBE9R6eDhvMZVcyiF9VcKb2uP+bmb5zLblpas+PtDwHho8+PrPnLkGffBCfdu0y5lxwzFY/wC5/uWLpfvLnMpc9BKXEeERV3UV1CGoRMMAMMzSgTYfjiV+EH9Qtyw4B95a5mINS5dS7ing7iFbuEso1rqIyuOFx+YqvVqMwKFvmBrF1DOK3gDVc+wS76XLYqLaS4IHpN3KuHy5l7KRmgheMmYdeVq4ZLwgFYPFDnODwa3VKlXOCia/WmBBZxhEPuZCSL+S1MmwMYtGlX2IMF7oEJ5W8r8R7UcYQ9w+I4N/6TIsgBY/MByrk6g//eoAa+HqItnrTKuPh8X4ZSbJbEOgIfah7alqoa9+5Wc77ho83PmHyjsItoPfESlOYUPsZggegHBuWaY1xGWtMFeKuD/kRURA4OXvw+GuIStfJ14qMq5RKOvJkyg1a/UbXcB1GSxqemVe5WIvEVLniolEfSVYa3fEK7xy9+Fh3MpYbmumuZ/zcfXxrzDp4vgsI0mI7Pye/iXJX8alepbipfXwssPWKdQ1NtQt0sFPnE/1CMHxR/mfpIL/AAIgCLk/2gu2gBHqWaFfiBw2/MwS3DmXNu20poWD8w8Q6T/Erjxu6P5hXTNWCXY70riVZzdXNvQxZr9R8XU2AiDxOoy/uVRF7IGy1wDuXAw2Xo+O4OP/AGOoXS4jRFjgoiNi5Die4hIjJfArm93J6KIWreSECbrgEX+YD8VQo/qVAxvJSwmpgBXDo8k4Pyy1YmeioaO7JszHxqG/luOnxSIfC9EApIxSnnGLampToRgEvo4eoKT+e/Jl+/AYv8FKp0+HUwMUAAqXGjs8sawKkyFj1O561H5AMaX6iUycJpAgqhtohS01l7mF5rIiqV77l5+h8X4vyeQ0N/xCDh5eWH0peQU4+Tryy/O5gd/xm/p9eEgRJUqMZzDK+XiFu+uXuU6lnE9cTePC4WOSO7D9P/UR5j65XFPU1FZaupRV3+x9xk7P2qWy5gbrpMBul7Kghtuz/UumO4SGwnoB/LNP84f4qaGfJf8ANxdYdAP4g2W/LF9y3cA4eYvw1JLMAvTRsh0GbDBO5TUa3mWGI+CXhToog/t2NvxKz0gxKVX+TuNzbFXbLjDGOYYcPXcdrSfg5jgl9F18spyBd2xBM8cqP4iYqbpZiCpO1Vsu5H4iBndihpV+2oFtAPdJ/LVcojA9RQVz1hN6tWkgZFvglCI9WE+3uJwLxZUolGs6hUbaWGRLmadlx1AcuuHqI6p6rkilxjH9DYZYVZWDBF8CK7NIIiOXlLHOC34jtNCuYWXZriMLS22JR1C53Ae7s3qWBXUahYzcUzR1Xi4y5fgZcuXc5mfAKo+/qAW/Z7l9y5cWEuXFuP8A7EFeOTqLf0XeJpxj+J8/SP8AhSo+8AOPl7+vE02RAsD/AK/cpwTPj9QWBb4zDacGwB2BKVS8BbL27xga+7BN2vkP4mjZ7LN+nYbjTn80Wt2y0tl5lxW5cpF8HOBaBpK4y/1CPqNXBuoLzGWj8yqxtFwY1QvcblrFuXEc6B+YvFPh35CFWODuNYwkrTCLVjT1N90/mZSD4C9txm/srRTR/ARX+wlqxfdjqn2IZziWuqjZqdnmaRXoQSXnMREnkP8Au4Sg9kRpr8I6ePtORbgJV4rMWx8Oo4IsVBOGfJHKQ/iX4sOMS4r2g6sRlBSrMYo6ynoJUw7biYuDCVzoSqw2ARqqsMcXA54hKKEyxn0hd3zH7tiX4C2XHEGXL83Lgajf8QRx8vcc/XcuK7IA4+TqXLl3xcqvD/CXLl/5Eqf/ACEaZy9+a9T8RelX0QG0nxUF2fkCFoC+Mwsy/aM0s+Qli/IK3OnfH+8s4+zSFUh1Ywexwtxat3LXyx14YvqMEUJeiItmNrpLlTh+UipZgA2Yvfl+o5jAzD7F/bZaLfBziLsikels2FytZVmIna3Gz4CWx1LUDKpo0zCKC7FfCZK8MAOLruMr/US5gQRojBgAI9132h60cUhMA8gESIHEWM1zPBHtlXKArGX2IIlfJmVuhgv/AJctL0WVW2JggbNxkqEqiF6eVzfqBRbGmWIjspIhkvhTcoxF8pAvOIN9mf8AmoWlx179y5eJY4sFXKu24IXrKMOBUu3blBbDEFBwENX0jLFOcbArWpxFu4bWXQ4YqOXtuqplcMfJ4qHhehy+L7l9S2Wy5fgNB93qCHD335uX/gR2Qk4+TqArMA5f6m1e/FSv8DAan2iOjnlliu9nuYIT4IIHHNGZbWJ7anKPy3CrhOoLbGq6KlAoG1xBmS5qgg9tsNIBtX/2WtlPQxmwiaafMBPTAIP4ISo6AffUorVzR2AepfAMaCyxMv8ARIpOklxWMVQbaNrUMEq+0+Yt4VgaekA2cxebj0faCWbUCwf4gEH/ALKjcW9bjD5YC25vcyAcsVw34YK/xHMMv9KNY5Wn5Y1pQ+7UQooam1wbme5+5Noj6mseDfT0jtAerhxABpODuO9srEYg2OmMiWuSGXrMJi8GuYavBg9wa6d4halvxF1Aa0Ttr2IcmAKzrYCW8fmCoY3QBhv9f/UTq8sOwKCmmo3Qj8CXYcBvI2MxSqxfzBAZe+JnTK2h7Dk5ivnNDcsI3YQtLh+jGB/BqbLgbZQUrAir3dkirWUjARrV4mCLIWJllwININnEuq2tp3F5gKB3N1jojp/b1CQh6Ye0D2kphIEogDT4HcRWxXHX1m4lB/8AJh4nbD5Ya8suGvoTYfHzA3XIjeXL39S/T/E2K+FP5UQbl/JCAFi+zG3Zem4hyHqE+H7wQYnfmAcLspub4P2QEXWcYjZZd+Ge4KVGBw0vdcfwx44EVQL47gzah4QlR6x20W+v/I5hppNP1MSuoFSZbaoNt0CKUBao+NBzKvgxFn83cP0iJVo6vdepV4Ojz8R78hksG3zxHWQIN11HFsC/E1bdHxlMz0KEAQKtBGZqYSmGPaCRhLvG4MpYmDMoPNr2ufxsK+UfKFHHwJvWwRZBRWmdggHPZsqXTFvlheMdWw66sQcXKBgDiGTeK468sYTdhmMrWVYxiXFRLMdlxLUPOYUbfNwyc/ALBcpqAmtDbi1l6NQ0h+77lhlay33Cys9O5qGufcEHUa+YEfkLuU87feiD2+mV0WNGZm4AY/uZdQKdEFGxjzdgyk8IXID8Ik4TQP7lWVFoFzGZUqGueYAoDitkOvVHELb+tz8+B/5TV8RqKVhidie+PjwagNfDIgdEe1N5cvc2NOCGsft6lmMIY83LbhDcE6Pz1EBxm3uDWz+ER5/JzLlY8VmKbCXyhiGzcV77I1guHONB6lFonDm4xl52lH7n8q/9INdv1avzL53pi0VjjyX4VKu0eEfylp+1ASkXemlx0HT5ZSr5SI49BpajP19pj8T0CP2+/c2a+W4L2xW4C0r/AFEGRXLyw9F/whvlM6mbdQtyh7cHMoOG5eYsUVxMQC1+zMDiV5EIRxtXmAMoh5C+P/Uq+vACC7orV42ZdU6WHQ4+8KCL0U3EDlnBuPbPhCYJch59/MqaINcpT62pORmURsciEZ24W8EboFokodNor7n+pQALzgyzcscGdpfAH2Er0I2KWoFfidQTUo/lHzUpKQ/FrYkPH8dFJcA/uY1m/wDzBzM0uFlbGmAGDRjxjyNVAY4qASxbg4DiXUOP7mbzuK+FgMuIBOc2znqC0p9gfiU0AFIijTD3LU0lo4/mJuH5iVXT0Ss2La5P/UTJHmy79Mtf84/8xvOIGCHVGgGA/mB6gsRKFghoKOiCzq4lovDipVX9Ji2zavBKgDAYixiZCaG2Y4FDRCFtcPT/AKlKftXJL+kh4PBCAfZjuLwPjiBXHy/5zAvfEuX7lkRwv1NxPhRaqHaVMThlo5jay9RDSMSHbWdu4PUp0mmWFYXLdv7Q5FflhT2THDAD6lIzli7oGfmoa9RENlshK1JebywXVFcmAUiTvuDHqCKAv2dWD3SKldq+45QwQpwcxISXnewdyp47Ww9RUYbEg3qa3Llz58A1H3iJbZoptNTT5YEMEXhlsrelrDFWDMDAXCyr9R7hVUkx02W7lkXNSaOImHxDTEO1TS7JYhU0nELTPZuVab3lsZaoFuaP9w3JsH7TOp2AjEGY19+/mDDOAWowrL55SwGUqXHcvuToOfcVxMncFQod+DuXy9Rz2xsXTZxOlKte7jXi4UXViKNcGD7XGpgFKw6uVDp5Oo0DZg/BKe24vsARgUpbX2QxuimT2TFPVIQgMMFwR1DmQG6/MFJA2rXR4YAt0xfcuKLmPFVuOW+1t5YOkI2S5KXycy4U+Jjmr+Zn5X02QI0vpzENh4Fn/bheytsx3K5M83pOmK4wbp4ZXqBTdRxc+4ILQ5agQEFQDVdSw0aioyjtOJXTP/yIQiAKoaEGDKFZDUGDDP0DjwHioYcfB3FW1/8APAZIN1t/z5l+hL8cBSBzDs2coTm0NC2JRX7STGwqvge4M40M976iqnS39kKYUED/AODDlzwph+GOEFdHD6jstvJDI1kl3hFtcTRZdL26mT0qfUUvsIDAsczLP2IqW7MnwY5Rxu7WZX9ijQloPsmCg82ACsx8DZzl+phuGxIkNpPgzTsNBTK6YguOZQkbsbzFKtcDU2vmhfyxU1Ss7GDL8Aug+fUxAKU7QfTgn2md8Lw1UZkKlRvmUOApJohZrotgn3a0iMJZoiRj8EqIBtx4dxIJMIkK6EFq39o6GTk4lPcc1ww4rBNtMwSrIFvIkEDbK4CApQ2zgNIbOIQTDeJ+8WKDGRavkm3zRU4jNiKXvP8ABAOoPRAFkoKvmNcgbu2rzG3FNWcQ6bYfltGM1j+KgXpGb5/E0pGVk0DmHQFho2Zj8kF3mf3LrW2MyC23MNzOL2KGNWhgW6hsukGHsAtTcJoq0MCKHAARZcWLUXi8mIt5UgYUGyuziFslkwb1Ack91Kop+yMiKjgv/wC5mOO3cxnM5Wj+GFIldWH4IQyHyJ2kfK/1F4B8Jhvf7f8AuAfggIHsfMP9QPaXtS0oLzl/uCuE/EqiuOonXgeBiih4PoCBOILYANfB3E3vxAz4CXnkHcU1Y1ddS5Lgs+YeuSb9Qvo1hvFe5lis5rdywSBoCUf3I5D8SuUxsHTAtG4GjEF8pxj8xko2mSMFNrG+e4wVkdjSQ7yq9GEXkDVi7cyjNOCYcMwLOt7HP2i2qWBwFY+G4ivg78NQwgBMU3tmEoMfaxIK1I4ow/3HZENmkgOwOLsYCKugxMKspcRwHDC6J98zNgHe5c4NmzUWWyUpQx2CMs5R9CJWGLyAe5WxH4D5gFHjs5h9YFDmHDyLuChTVTKuhft2MuzR2qwjzQQJVjNjhzCY0CsGCMleLjSJad0ylot1HnMBTN2DlqEcN7Jcyw44hXl7JRhGGRB2VV0xXRg28S7sLacM2BRRcYqVlsLvhL/lKotlKknCtRXwmcCpjbEOnyliqqravMr2bTYikMKLom22CMU7v8UQknYDlV/jMB+Sudq0h+amGq2YwuhF+I3EqLo/qyRbIAC9ajUUFDeI3QiAU67GESB4JfjiKLHzRBE2JZO/AAiNmoPaZ/VW5U49JSAcJdCHuRTl+Znl8ZlQ1AlSlVKgSrMTEqVAz4IQhLzDUDwbgQJULg+DuK3P2hAJUwV6qYzu6mH70OJUX7X2hVWAnoNv8wSuLbDCu4qGf0QvwFaiwoc7XKU/UTUeHF8xVtO0MTG2irbGOLnqV7TpTVeyClbCeyKTFqv43KmWNYsDVHuGKO4Jb1LWQcc6FkWOU8GPdEUvUVoqNXGl4YUFaD7gyoI/Exrm2TVwiYH3JlZhwXO2L9VGjrEQvFL7lav/AAgMO8F6lTQFpepafiVFWSFy7YquajFJ7/lI3MAonGSKqKw31UDXgjq6cxNLRCrE0QQ2NcYj1Ury3Gnq+IxCFudGICbfdQLHyDAPwm5QlZF5jK0GHyH41LPUg6r5im9aKjIRnfKXJJd5xAuStmB+WH7Lf1MH/lD/AFA8X4SCM8DBP7hJYOEVEYAACg6IYlFhhQCwTYle8yz2f6i7lvc08OIJqWkuyk4ckwyypjoEbymqemoNO2mI9XhDRHVWW1gQ1X/4Uy2QGzmLaQtLdf39C1N+alVKq9xljHGDdR6PUuY+BJWZUqB4tN6CMg5f+MwzL9lf+RekfCiZMv8AxmPHdDK+ghuG4TnweDfg1DDj4O4p2/YhvwSoKzwxbW7tuBkKsKyZi0Sqr4MWswecK7gYp1KuW6JcCpuvUN2sdx7Y6ZVRaYqFXUyxylXUJkyN1LaAJeUlA6K1yNVqOGsuyOekKpKBTTpArUh0RUkyS4l/IZhjYqxmfYaJY7uIRsszlqQHbF1sGZeqrpiF1a5HcJVWYBYHzG5YKcy85PxEyi+lhfEj1Eiw/qD0pOndMqfwRg9/yw7xSM9rE2ACgCs1VysCofs2gCNhhNkQatIFy5VdezyfUwRoioxQA7Ys3+AEYpB1pmKsclMCdVp/ct6rqGlBDxSoAwFdAQdt7zPlHwEPkBAhujcK7n+oZzzDcIeAWwQXLuYGHo2xDlZ5+WA2tlfuW/oV+LP9TYmsTNExUy4FcDctYBp9yqvaKJf0W4Y68V3KjM8QSxxB4kgleSjyJwqWvRAJ/LyxpWsK6RXA9AQlQdBHgrtPDKxQDIRyFKpJXk34PBqG4blXDECGHHwdxW5/ECEXZS+4EA15cSl3qYJwC06I4Dq+XlLn7RVf2MWQsRLmdcTGQFslEormoqekRpUB28aa57mFVrmIezqWW2I8XE60wcoiFiAFgepk8Qv8Rfbz+SF0dJ+Yvxzm5W+ICQA0X1B0S8RziMy3gVi4mg89MUFkHdpH4ZYU/CHKFYKVljepotClb90cwqFroFQOeJQGiS40wGlhUbIabAafMEtyjL0vURYtGWZaDbggG8Eug30e4gH7Is6v1ajqlOziBkW3wep7wYE6BHHxEmkESUQLlRMSoMRJWaI0e3+p2u/A3NIQQQJgL6YDAm1+H/csaG1f1O5lWZebn7qplGj1l10jVuGE/qVA8GgYh5XEvzWPKx6Yk5oxLgiXEieSvFvzf6hB6HPojNeLV9p8484/cHjHzzDUcc/6x6WsZ/1DM/scfQbnPgPFQ8KhnD4O4q2/jwBiBAhBB8mszfUA8NXym7Ytp+BM/wA0CZhDHx4WiOWNnUYEW3cG0ygvrHctdHyA58gbdIdscJ+5ZYy+5g6FlsLBsG1DH2kbsDkgoZoLLg2blYgEmHwVTzBHVZntxBPVQxB8FMoaHFEAhxdx2TYMIzq7f5lgwWCJVonay3Jog5K0smc6CJ7gfOUqHEEZWZrwqJUqiVeDMQPv/wA+8rN8+DwDwFwQOpmelZ+GVW8Ll4VCoNI2NH2RJzUk4JbxmLvMqqQSBzBHKFx9C1L+h8XMSYLEhxB9AkT6HUFM1SGJ0A/F/wBwL4sfxGz4v0ETNsuqmTGShN3oGQ6bV+YleCBnwqECBCkDEM4fB3FXH7QMwQMQIEJVEAGwEq+ailNWJ7i74QP946I2RoIOKl/EWycQIbg1UQim5qUwJce4sUNfDM/Y/C9xS9jLG4jFKfEz/csG9XxiKieVPxMPTGvgIWPcXKG8zWC4k1FdE5zfkMQu4IfyTbPT0DMYRjo6D6I/PtpzEVye1alDlXUFL+pkmgsJ+cQ8RHqJUWXFCPFRQUPz/wCb81AIHUDiaQQTNKO3UfdMF2U1+WM/phV8aL7RQbIpjnRiy8aDr6T5fCxUpZUWIPGngxlRIkqVK8Aw4BCNxFn8TM28LjuJbaBVbgVAVX3wN3FfnmAgGcP3EXNuKMIHcNzMqBDXgFwQ18HcTdCAPAGPAQQlp4JevdRD14Keb0uFCTNvySqDoJqMH1Ebd1ZQWUImEYeB+VCaI6kKDxBQGpVQqEHMOE7GEwqqjsHT7hcydzAWsdNq59TnGD43EPPKQgL2rMT9JoQafBamZBFsQ+WbQp7lQQQcMfoBmDJPzUuLj3C5QwPcW21ev9w3QOFpJUWr2Zvdr8AQHThQh8t59Qr/AC4+OINTLwfBI4PAvUsHfL1/7OfIvPgb8NoIJySz/m5RNQ4XXYKmKYQw7vAhl9IxlAB5Lp7grXbg1CEroTkhGS1qY+t8cgQKFexwRlSqIxPUTwSvDrwzSDsh9yCoUZnE4Eb6TH0o9hh7VfK/MJ8Njmr7Ptp+4bXGfy8kN+NpuBCBHHwd/wDkTYzKBA8BBB4H8toltrI7LoJg92AvuNDwiF2uLx4EPodfLFkiKre04cU8UiyY2aL6ijjF7XzS+4MHAUCxi5UcDknfvSFxZ5mD6TLTZr7zHuYMzlYCa+0F/inkVfxNDFqPq56flBr41R5GDfgQ4Ss+71ADPXLywYjEuC4NEfHPgYLcwIvM3N3B2QEovlbJfnuKmckXpjP6HRtlwsCAn0M+/A14JErwWOpS/PUKVbe3gmYeAzBDyc03LL2aYN+Ub3HEb9FxIogTQ6/Kv5IjwADVZ2ii/Vi4mJCEOqx2QRkV+vpfFRbMSvR/hM77iXNpUWMYkVEjvwkTMOvQbGF2nIOn4h+DhbB29eouYvZlNvOXaLm924I2yWrvuOobgQMwDwHCDHHwdyxP/wA8BHGZVvgICHgFJuuXBA2JqO4cMV7uZ8Q/gCo8W258BqMrNodIh96RszL/AADV7hrSKXlZfxPUPUTQqSuSHwcC4NYhjGINGNxzsKuluFBVv3ieyGG7cFzcM0fuFMTH+kG1WD/hqAxSCJD4pBqWhqFBuW/cYTh8vcTEETccTJuGonkg8Aq3xcuDTZd+moPRV7zEVP2sRK2t/MIqIziLiPkY5+8WtGXzBluDn6QQQQYmKGoiKjRbUOapMvuosSGycVmNyFNNlFBAqHwgz4cS4xb9tkqGRafqq8THsv1FaYvAZ8JGonhjE8MSJEzBsU6WyXFK+w/1Hcx7YFR3K8moIEqBiGK7ODuKu2CDwC/AEMoEHhS3MQBa4Ah2AtjFf20VHrAnRxFiyNjUqL1BnK42hOYiieHCqCpwpwMSteAHuwykw1hkpLfQ0cFcU51OUWzcSNshXFSp23sM1yjLdEzRpQuNnJKvXGHnjpEA9j/UJBVQrUwZG4Md0+71BNPk9zW5UY0mrHPmm4FOoIYkCFwJSK6CVR9ik9PoZfm4LjvxpLvEIIy1YrwbWiLXFd/UQwLV/MOD8EVKs21G0iUnEyQSqGLlIo7MeAQYmCYIzjx1TWhc0ahO6TvaUbdNs1dAsl5DQIjzg/st8Mpc/OYEtZ6UfynsSW02tkq5Fz/X03Tj+k27mAx8FrKj5JFRMsTEqJcSJKgXoglaPSmb+ln/AN9GsL5JTUqcNXSZYgO1EqBAgnD4O4m5v+PACGECCA8JSEBKxPSBDurjDu5ZCfi2JVvcEu582n5p8qhvxRFEj+ZSCLQ5hKLzCTGBWrPUUbNAHSE4nwlZzUAalt4pgTptaK18XAVjknGaqKHgxyH/AJMd/RoSusi5CkgkyA5eIR92e2K2akFqOoNtut1CAkrME5oUZbWKxWD/ADMuQgvh6gfbWA7zK0Z/2PmCy/Elo3qAqAWuKl5ARbfB6lVRJDYIyN+7ly6ZcXMYuWxbIgqEI/cIt7X9TJoLZQ4fd6jmYZsov3XG2A2C0dDgWVn5hRdCr9pS3i49qu3MGIceQMrXD3HWTMzRiIhQvcQFEqeiz2tG/lLfamW7s/u8CV9obTBBhDzlAWwPVlR2uGNMIvp7GLjizSMEpLXfjiFHhR+I78azjwRj6JSsqOyXQ/CbXg1TqJelC6iYg2wYPCYiRJg1pF11AVAHxMdfhLDgiYc9kCmKy8PtFZHjEMWZVi9RA7eDcy9wIfB8HcW19vAEECHkIhBBLwx/EN51V3MtXdCMGsCyOaJoy+UoQ6goCbzTM0XMy1+SMvCW9woXDUuvSWiLVCklApHsgrtK9rB34B4uHEUogeuEW05WYvVKIpN62iEy0gJw+/UZi0yvFQKXKsCmi5OIdcmgg9cfZAjk0EUL9LKJdqVbX7IClY8FxTAgaRNQZ+3MQBTOmJzZtc7VR/mWj3LGklpXf8IQFZwdxkizUNQvKiK3HXcWSyBmjRAUBv1OnN3UyYYUU9AhNgdiYnrjAXLwirpKiDsXYfhgUC0MPlTVblouonFOQlMdz2dZXOprgTYkdRyIDOqifpDKLCA7gEKXs9cAQfg9ylkkRJTan9QaBuBYJtzVv2RzgZohmaA8MFBvoO44dT1yseGzhP5i3mFm0YV2SyODl/b78c4sd9pTnJaffUK3qW/LonHjjyyqltk1GNOFiAxQOO4rbwNrxLDQeufBipU02xFmT6uYolO+oqiVp5FsZdlJBLgaR6NI1hrbUSU6SBnj4O//ACN3O4QEFv0AHgEEHgJz0fkihvJ6K7iAeeTuFyQ5ocRBzsIgbxiCz3E1E8wD4IHbSYWTKPfX4iupuS7qkSNueULcR5JRjygTAd51LJKVs0Q9/Dc3mAxnc08CQm9mYFwISw/av8y9XQ1Mx7ILt5YzuHa8Qr3A3tYEwHD3CLjLCF2QggQAt/7LriQPXqYOS2Rh9mfuL/QtNpcwRQ/c9iDLVxWQGYY1c0w8EBVerqJyKayY+EU4IwMDyIcnJ6gesFVKeXgjNrUf3HOu3prEAng7ILWRy4OUrwF4QwsqTC4NQLIMy230Q9jrJcQoctPhDsAdpslQyuFmT1AOAqoAxdEpXagnAq2KolprL55iZAH2+EQQrHqXKaQ+6Y1IBCG4LtNlL5WhS64CKnT8HA0BQ6EtHGm4wA4QWrlM6BR8TJDt4lr4I01LYEKBcUxN7YxP3BQHB/OxDB2TDdjd8ZTeaVCdOV6OI7CuoPffkj4TzV8RLoAapqJPULf5mpTC32AS+jK1mWeHDw+WeR8Ai606ZRLvedQUAWhZVRgUFeQfaXgaNuk1JXdpR7XBK16sufOqCJcqVbL0MrSVltEPggFaL8QOLlXGRJATHU4QBpDg89BzM7DyV/EpM/kI5+QIZVCrGnxDKEfEDwBKG0uGSBAgR6gGy8EMO2/d9zAqUZGmNNTRHV9xFPtFiDNKQL8wHpnDaKpWXLgJYgpnRBqcUcR+2oHUREVQjM6K9CLfwZGorqVBNKMjDNgCsxE2f3HT0URc0RxKBlwS+pyIzbKOoF3BPVt5g8YbMVSwtfzF0ArcVvVbaiplGH3gLWgYVNQ0z/5NIhcPEuLjR9jC3CeoCcralfU3Wf8AURASZBUevFUTIOBiMoFydTuOyKUpQg/XgGGnhbPwIyisV+LZa3TSq+YWaUqfCWoaDXuGCXSr+Kgqg/kYtBwqEPktUx95XYOF9ZqAhStb6jg6bdr11C74WCW/eIoKtupT3wPxHbYNO0GxVoKD7QtjZjzLHZtaLdX7FPjqJ5VukrEQ4Fpr8RBnOC/c5nF/CCWl7PUtVv29QLg64t6cJqeQMz+FkvmXpgVVT2UCaEW1+JZVc3Ao7NQA0xau2Db/ACv+5XYBO2WKrddvUopKKBllEeYLXUYJyQ5IXdCgw0EotOPfzE1qcUWx+CYLqmJDHK3K4gqZKYRctn4O4zgpoZZX6CgFXLe4FLWUjI8haj0mWz5hE1EX1Nee00+2F0/g1+oVPbQ4uB0WsuSC/SwxIfEpSUCpkphUXGn+9DI94UEfoArgPRCQq0HXuImSxv3Df4UdokynLBAR806+yVusDV4IX7zzTFwh7IfNmDqUFC1UoMFMNRqitMI2phm4CAxephOnNHgEL6NG2Ya7Zn2aHkaX2eyNqvAy7hAFzCncVEUQFbGyCfSnw8GDZEbhBFRFKdZZckWR4m6xXN71FvAF5DGMGgK1BDTVPqBicS1rLneUxX8Dhg+z+YKbmkrQbW3iDl1yazGZQKwsY+oBTpNLOwwMDcRUD3FXdtJKsFOXgS5Jd6t4jBFIKPMSwQip9S3zIad/MATY0yAveHJ8eGe7GA20iACdAS6WuBBq4YWnt+YNolGTlwxbMNxp9yoIDo2szcWjTXpC9sDd4pI9Am65MAbgb9sXzhDRpisuVA7rmB24fgqihf5iMbOZHgE3mb1gNsrWLckWLy/LGkW7eZVTktMOxtsmbtlYRYBhmBm1kfe4foF3wFxuRDY1Pmy4u27JUNnKfiKhy49ECoTCnDL1Mx8wb3ERcLSpQ84EaVMF4B/JBHtKhkiQRpGxmT/VLhW2HEVS5Q95Zn/nY2Yv6qxfBCxmaSIPiDyDQ/pL9wyHUVJU2vcYLZHFRHnRPuBdbGYZMU+UN2RtWJBHIxg7FZfHIJ/3KCMFEUoXl76nAow7YOlpu3RKiqMn+2V9FDlgFbDA5lRRzK1AL0BKmNppuW4g2rPSEvAyzkcw+1QTetgdwsiDT1FjKMJGSg5C6CCQuM2QgVDEFd4cS03eYUidk2dvEQAMrAM7TLA9jgiKqtrAlitHKxFUYEMxxJvtpuZb3cKpXlrh9Sq7qW+sIlsHBl4hXIWfh/uGb5WGiWBKPz4uxgSVa88P7iQGojMW9Q5PESpf+alV6BHo4teCGCSyq7XficENy46uFY4/B/5ErOZlKC1dXHr2134owHQyrgYrYHDCzLY0lHbLThb6lG8+AILtXNrMGOP2RbczPEqVRbOfuja6FWNsrZWu1j227TZLxAVIBuysfcFZkZou5WlTC7TohrOVI5ILnwXWSf8AsMNmy2miUhbmeb4jVK5OnuAuXWSmJKbDHj0JUaCOyUIEaGc3B6QZl3VBCTSuX4RBQKHpArWnK7YpySyjCWR8YMGC/HowuE+qX7BFg4A+8BeVZW59MahEUe1f8Q1FYTZmCJGyke9RunIEL+6VUHutzojIu2XOo0RDre4m9rX4jaCJWMxaCKAmnCxPfMDfwT4uFKi2pIQsta9QL1tmuCJCmGZlVmJDQrFrjAvVKCKzQfpMj0Lg2OE+8HA3T+EEUg30luBNZo0gLpyZZmHbF+P85YUdxOCG0Ew0Bcre2NX7n/2YjkfllPMDMys2YR0ztUi5kPXMrYBzF6ufNxGnQo1RfXMwRVrJ3G1U9x7TSStVniAjaI7rXHi19G2Irg/memiXPypiwO2Vxq2aKn8JKZ9xW0L4qWLQAC0f7ioQsBww3s9JGucDLmWoW5EeI2+B0u4OohawQJulOR2SuAvHMS2hSQNRJnzdQ02//eOmGbUvqKs5wHcMwSwvK/1DVvz/AD4aZhDUXPhdxcZxcHxMu1fAeCEIIBYdHcLVrNWJpmaRxPl2P3LzGJcQk189PI+O4WoBbEAZFW46SywL+MW3gfJkyoygq1dX5sKVXVyvBZZHdNTLSpu15hMhO0tIFZTbMk2de4bvSmPROkFxKldSzmtJbslH7ufJQPWJc/KoQl+zR7gQo4qBK2XsOpfQN/8AsE2Z+Eo5fHb7RgnynmDVvvKbfgg9zvEWnDF9ZMrcn3lot3w/8x4ior+Ib/1FXyecomxaWssRbYOUSWg4vuXrYrog2A7YUY7PprBMwVpK4KAPnK57ER9oalyNCOUC2U7meqvZhJXswvwS2VQZWyYFyg0tcXuejF7ncmD58KgTaDV3YDkxz9FP1ObqBNZwjMoS1OYWu1YQXDakCgGaKlT8JgjKe5ILdUG4AAaNSzwDmVEXGA29RFUKP58BZ1DbnNwVDMmkCm+BJYJxdtQoTmpUM3/1+Yp4DYVdxlcUNFY6iwVYPxiI86I6hVAu1wzqDupyMGhID63KcQaNKlh60wYCCshvPSGovlMydiimJ3ZePcENZz29x5ft/iB+CvHX6BqHgfQDgeDuDYrCM1eQJTVxeZcuWIgFeOTqX4uXbXMwMZXPUQk7FuDu7pSiOntcV0evqqBBBMkergdDg7jCeeuIY47x9oErx2g3/DKXdo52ojOVBF8BZaIPA09ykc7nEbFh7GpaUfkZgG1XlzRFt58A2o5IVSvFWwZknoPA5hUQTAsnwxBk37wltafUeGQQNjDLqw9j5h8VjgpF7qw3Kred+IUOLCrR1FlbKzDitj+SAmnYTDeP5hdgvCWyoMOr7+YkrPuG3g2uypnXOSoweATj4O4lqsP2S6u4zGQwiXGTMEAZNJMQBxBQQ/cpcuvuDNeMZZZplKby37gl65YuAafvzirnhBW43CfoiswhUmiQBk1VQaGdf+9zLK5YlVSO5e6FisG0eAWCgbPiWU0tqSiI2xtqLFpTuKKRYB5IupfNRp7HZAMme4gUM7EoPdw7Lht0EI1uBd7Zzucx7/LOnz4uB5NTTUpq6gUy6hlKC+ODuWuYU4TjDAlHuL4Jz4JcP/sQOPk6lzmquNWrbnqXr6rlkEZfEEBUOoXMEKMaPcLXP29Ra3TLo21U480d84fkSjfP5EPv2zLdNR+6W8G09B7jeCZNwzg3Hpvv1Lbtz/gvztrmEBVwl5hupbQWQccHKKCFkKD5GXYm3TqLfHi3hzHvV8y1jKnxiH0INUo1TOi3DEzSVEhhR8Hcs7fx1LXVSoKCM+pl3lW2X9454TGGX0xU1fLC7Lg6l0cI51ywcBE5bSK/sRHXM4OjbFx/9ErxUC3WiG3bATHKMAxdDQRR4MxdzaaL4f7gqq5bywcOpkRpj/bLV6iiql3k1F0XZRiJNCYBiodqurm9biJNGtQ0VTuAlI0BiXEoOY4fmOvcLM7DCseMR5JW35mHcsa78Rl+MVLRYdQo7SGeCoYmCqXiidyFLZekE28ql6q4+qoFMOXP2gatwm/A8xTj4GpZ0vLc14RWsyjTnmNgI/wm4HivOERcuDBvwLHgR0cHcVrYCGoPk3KuG0P4QlwrH9U6X/olmYb/ANCLwGbg0vjg9zSq/wCtf4L83nwMdb3vp6l02mUSYsoyWZltgp7H14dyvoqIyoFypUKNL0XmFYPwdxW53AhAmSEEAwQIIhMwjQW4Jgzo+YXYx7YpVGv5ledGbf0mW4mR93KwtBcJc9DKQWuVfcQ89wLhfgWh3iWQxOJ1MKinpLoqXbc+5EVFe3qBCuZraw+lK9ivZ6gITLZEAxiDzMk/v+OsNy1WC/BC+RINegYZSq1NkWH9B2l0Si1WTbEHwrUZW/4lQgoVDAygLRH7JlnxYJriuDEQ6A+h34MtBbDlXzevUCrqoAure8TPTGEYrFXcvMG/AY/AA4eDuWVsMIQD6Nl0b/cFtGbv3LRsCv2y0yg785MNwmdBbMDYr9RAr4HuIjTv6SPg3L+i50G2LOEfa4ttuXtnL4TMYETxfk8iPxnc6r0e4UUSk3KzA8AQSvAQYQCHzBM8QaO+YVejliK8iomJ6aGK63eDG1dplPqXQdCYtpkBLoYgt+8pcpuCWuF7zL8wZgPL7XFaPmwVB7NbiLBoA9YhfTX9p2mH0ez1M1W1bWNyP/hB8kmk1hE4nF+0W1FgWYuIdlVBC71ANwqSijxiVocJZd03CmwEOhmhuaTIFQGaRQ6lKLhYi1BNKv4lGJrlgQcy/EOoeQtAyzAoyt+pzEsVJH5gE6paxA+XM9Mwe0oUVpc4Nl6r3cHxipZ9oY2FFI+0Dlt6wiv2ymm2wW8IURCKDUCevA5X9J3EVvk6Qh5VvQuDZ4YuuagwPIyZ5uu3qyAcajqDrc6b/h5EFKuDEpR4+l6+q04Ay9SwMHTv6GHtx4uP1EAcfHaJc7hCiDjh29SwqUm4IEPACBDCBEbSfEpbMyzftYpVCj+fNeGWq8pUeLuKS75ly+oitXdIZZhxLr7VE4fMFmIaht3FmpsPExZjUq7hibjFUPfUwVuz3FQRwnQl8zJpgIiyItfmCapq+v2eo5R0BAGHBBia+MP3SaWg3jfUxuLCjxmY3MQTglqiUGb9wYviqYukpxiZKxSFH3ilRaoPT/2EZboV91TEtEEC73j4lmwCs0/+kIKgAK67eHXAiXAx2u36DYczAxlc9TK+TaFRKy5SpKDD+WISFmBeiMbX7AiiJaNiBRXcXt3LyM/iJcyjllc6jRIFVHCiBTYUjsbg5g5gA18HctT8RTJqOKKHmyjmsQiMiB+8AHFImOLB97UMEpdT8lG/PxBqaGmVZHD14PHP03N0NrLqwDUrP0O5k2w+boly8y8RZgkBQ7ODuK7XwXgCSk1AVhKYIBAgEDMCA3lx1KlnxyxYpo/fk87imuXMH3VwTHGInLVUwrdB+5RhoI63AuFdpZkDfuddoIqxClXLoYg+ycJ8YN8SgL+fUCX0Oe43zeeolU4Llibwn8zSuz+DFpL3/aLepC5uEsp49nqFxjGppNYMG4QgGj67RHk/iOYTLifTHVcyUdsT1IBSXpDnDdX5FRBQlaEoqZSU5eUVvzeQC1lgx8nqHeqIfjmXLEL2zTqsUa2RqhAPwQmYSOcrtRHIZhYqtpTBCPBxSt5VFtzFbNBX2i5epdbaG4aL2XYzymEwrptDguGeFiji1wCn6HcW5ftHQRuJ3blkcGGvKnuQafdQK5v41St+glF/NT+TK4lmDb9QVy/UIaXQe5lWMkPB4uXCroNsMf8A0eb8rTKLuXUbTgIMaSnctNQV+GRHa/8AkPmDMIMCKtmeH/cpVJTBAgQIFypoGjbFsr/0leNwK88SvejUsXQi3tw4rmMPCO2M8FR7bZgTSKnGIllIWrD8xsAnohQ7Dhj2LtGZD98QCzvvL1ffEW39nuOkMGpSuoJhMO8xFnVn4T8wkarvQI7VyYQlOk+x8QHcwxDcDMuiAq7OO0a5Yt+B5tgwZVUzyouYmfDbrcUFDp+JuEACS+WmGfDjvblGy8i8UJM4O9miyKm13R6H+4ROQZfGolZqhJ6FhhcTU3i4W+ibwLV/FkE5ehdK/wBR+yLLuzF/tgtkr26C5aUC11FIjWXlax95tzWAOeolB9gLz1Fto6Spm81ligwceK8wov8AMYGvbHVUtvySmU3NSKAhUPGb+kQia4PcRHJT4upd+KRo2/1DwWpAh8CF05IbJqzUV6tHZA6ulicx2VI0ylQNsqSdq0S0IOwZVREebJdHvqXLuNSyABr4O/8AyKywcwuDBi8pE2cf0gKphDwIVVo5YuKNH7h5r6FSeiXleFlWesTIe5j3BmE6Ylc03E5aYeFgUQ8Hk5juoqI1+ISFv4qfNEeWOYL8kDj5Yg+2UpqK+q3E5IZ5QAVtMhLuo8xYJp36hlsmmNam2WYlMKKafwQQIFwyv47RbDvjqLbKuq+oMGLUzEup78UuDculXfJ6+hVkaSVHew5hdCM/0Y4y2N4ZDPyxMGiADV7Zj3FEgHS4kQRsNEP5IQkshLK6mEA6A0YqMbtO9H9IHWBx0y1FelUHzI6Esvzyv1BKzGg8hKHhUlFH+2DaSVqzhdR5jeJYjg3DUuV65oP4uVpdAQbq2hD3hBIqh6APD45+g8iCnA09wKR3Ke4FRXi65ZZH5c5TqaaS+xYA4Doi+hmvzH9HANzKs/bM2BFn3AYQU5aviWY47vBKo1ryXGJMWdVmEDLjW2UQWkFFwY0y3cavJKQUCDa7RlvAgkhQfIKswyYHhmmncIQF9HLFHHgPFfTkuqhXnKxPDGcXi5jbpqC+ZqIiy7hlPcOPCeofiVZi7syjuiq2vESW6HMZ1f6wTR8Q7cfMxXkiWa1lfMA+lB6YwRrD8rhSNIwBvd6ShoqA2seH34uXbdOyrjHtQr/E0/Pi4DquitwNab6lqCvzr6SKpkjIIFtEMKMrb1Hf0Ecy68it5nMaCYTTEOAPueyZUdhB78daGBBgJFWWsR5DVqJbi3HMq4vG918QPpaam3L+Iuqi9KzCmeZDxYIovFAOqvzLNrdBNr8tq8V/niGvDqGJvx9voLXGZeINaweGJYOKl16Mr1L2tFZ89xOFKmKXPlA4gqq5tzNYBVdxxesFWkw0bQUEEOpBWoATkNIUGGwbouHRjKy6l9xWgGDgm1AXshheeOVSvUXV0y3QTWOSAQy8GkPBvwMGEKKZPAYE+HqFqncKsNHLKVRQ/cuuLhrxjzfi5nDMKwdx5XG6lG+DEZvKxmSmSVjLMIkJ+YklDTzMSUhavB3Ag6Fz2oH/AKlquHuBj986PwgDbcGYWzHqOIZcP4jvHd5ZoOFVzezdEw/SX/MGIJdTG6z1P2+RvM91Uskd6YlUPoEAtnyJM2A9NwdrB6m1BeEqLSwluRnSoLVQKqYpLII04zydS2PnicQxFMUWLeoHguiNMpFnp+8e5+PiXBlwx4DLw0WYYVR3LlwFx7ZWw/H/ALAV9vL/ALzLYzSr+U+1eG6xuVx548ggdym2oQZuMjaMP5lpALV51DpPv25qCdrWOO2IXEpDlnHea8yoiIR9M5rmLmUzWWWXOVkmWpl+0rMBzcvi7FuKXqaobmREVDsxxtEwtjlfWG9y4SFpqZG1WvEQJaiW18cwZcGDFFBimcr6n4Ro1KD9xTcPpyMcoK7TC6gxF1HPgFT1a3AH2ADb/wBTgYxmteA5gxOfFzmF2TUEwvKFOAEGFmIYfMOcRnV32izFHpgXI/eBsZdCUTcloWdRhyqFBofxGi3Ku4RJghr5hFlABBXgoMstW+ZQmJf1G184E5D9hU1J8bcyQn3AsnfKTmj7G4qUvsytgrgvUKsqueSKqedJzElSpUvwYfA5huHhAIs6mUKeK4mDYUNhz5uXBxFFPFZ4lHUry70i3t0FM5NfNRUswn5luzP2PA8cf4Ma3TGRNH2gA/Mbz++aUMQWFwoE3ajXG6vEEY5A+VzUVUfEMHwEp+Fawh6+ZDJaK+BwxfuOYWMHgSpjAHtLfGjcgwBUVtA6I2lUKWGRoh8rYpiLd+nv/wAmycuzj4n3RjqGCDVOpm1m/Jlig3FFcHw5oWACj5hCz4eoCqdxQZfi/FSkcEpo3gheobm4kt+0rQ5a5v8A1EfycHBwm96BHcOr81KK6Zs/VL1AOrEurVL1LTbiWM1SbKeDEAwfvDNKemBOyoS5FvUyJVLDTCsl7tGWdLE46WY5xVag5IMII58GMkUfrqcS5vqX1LpdomLlFl1EHZgIIqs/HuIVxwnMwJXqVFmKKOXwGZa1EVcwup2n5VL8CjZuG3rl7+gYoPio8g8AlvHI44mGbaQmqZQIZ39tWf3L83mLYrXMPosSDSMC2gK2F7mNEAt6gEb1oK+6YDXXagCV1BUVVM4KNVEz6GJiAWhWa47oYOHUEMakM8qAVa1PbjrviN2KtfYWxv10Fl/CI0GFMqHtUn8JY4qge7VDsFFk3BihK/ygHwhqFPEzNDIPXCdC0B1FBQIXohlCNrWkx7n4iRiRFcX4hkhCsOaaLqOO57KgxRqgOVqIm2+XfgyTBB9DTFn1D6B5B7guI7ypnrWMQLMw4f8AGo1xwKo1DaMFUurLzDQ/iBTz42+5YSIHxAtNK9Nam+rGI2EEDMyat/kjsprgk0GzuGRm6YNz+4C7ZB1PtZgjbCmIla92xNRd2owzDQQ8vGgXARdI4O5z6+t34+JpXMAFublMSdJP9N38Tb0+bJiTjAgkZaFxW01KrmmoqrT1ENwoQTAVWgNstC2NgR9vBtmKu5cxWLMJCuKMroZboFro4+u6IMPDJMERoMsD/rErt6j93FUuL7qfGXh+h3/g2SXNzUXSC2AVb7lhwp8RARyNjKVwqtnEwkQ5F8uJdfFQ0e5YATY2LMCwDVCq4gBXDNtxFZ6JWfxBYvGjYwhCuo72mH4CNQaRQ6S2FjT4RXkMn7LlrVqr4hg9UcoxsXdXPxuYqU7QDYtDBVLpLL5i7P7Ki+quMyQbuHny8vBzEHBLYgdohKDBXK7eCqWRRS8/QW+L/wBlS4drKLV6H/xHaxrgwHxDf7grzRQywe/AwlkNeSycEF6DCpfKNouHjhoCNym0EK8JfDGoVB4rHSIKeQgi7vWp2U+8MVdhUEqTUdluDqv6ZQvcSVEotAJbnyPFLfijTotjEPzruR8cfQ7m8TT3Dc4PpHjiDNsEr5oMzqHaYt19+IFLRLiGV9iqCcMvd3DJelKaOYn1ERw9ssVc+CdkU8eGxHGPqNeCjiYD4gDj48eFLrF3/U9cCn4iCv8AeTn6HxfmxSqh9NyyLnFxpF58CrqXmLAgZgf+2Qw6DkalBzejmXzRpJdxmM2FFxAjkNsypBZu6R4gXBcecUu9jiFUiSucorEbKZX3Et3lGMQxXxMptKBpxEYgNCHDuvzKWeutyxrG/IemKqxzV88+YsmKKDCD5PA3Rah2Nywvb/UZXg40T47CtZdhS0yb78ck4wTAztdA7YfLhHJe4OPD6iMALR4O4/eOfcQATLT1Emm+E5GMX5h9GEq2iHq3ix6hiWqm/wDaXZfsbhWp5DJ8y/sc/qBjO5hDXm9uxsTvGIrg9XcPMhYnJ4vzc2zA9+Atj9aV5c8xXstquLiaGxPmrAbmwq6EUmX+UpgNj5EhShHqY1XyCijp+GL6r5izj8EVLQhrwN4NxmOFxmmOX2WrP7iAfBPgK+2Hm/F2SY6DR6EA38hYrXwIsv2xGwBBsfpYtsaRhUWPzLe/GoQaOzjtFaXgKj4vxmPcfjuAT7oeIsFpfbFAzUuo+9XduJQzgXfSFpir7XpmGkyp/wCagFhlruKKLySg1BxF4IS4eGUY5L/UtKz/AB6mP4wl1WLVK2uZiem2NR3NZSQOVdBKHyl/nKmXdfhcaFxBvLQjT3GFP+iU48cMUZzPUT0mAeWC4gfx6gMQZ5L51LamzQgYC3xhg75D2QL4XE/aYkCHi4Z/fXAuHEzT5B09Sx14uDcdwa1528X/AIQHcokc/CtQUrSyyZtXb4uLxBrX8zSnM5XN2IBou0JlvRID+oVsP2MNtUehin5hQzq4EhWXXuU8ZfPUFuFlhTP2KT+ojv5up3mC/mVGjnwc+ZeiV1oOeWNAo54jYwPQJvye4ZD+ZsYyQAMdpSKJSYSX5W4tRRb5jjmLnzUq2GKiVa5lSot/Rcu/JuXmY/OQllSxMLZNIWsLQ/tC26lXy/MGHgPAcPAGD4EIjWgiP9oHRDm8ET7KV69FzC10n7mGYoJfgwB93o7ZSBLZXftBW1gCwbcvw6Tojrrl/wBxWrqEC9P6Y6K8cPUYi7ViWFUKisyoAczaFN4ArFxublOiWW8uAF/mM7ri59MICA0B7qX18RQ34cWxVdNRzDtGJVI2S5tBm+Hf+DTzxj60sYrc6R1CaErdMbVkX63xfi2AG5h/mRHFnyKVLj7wDNUnQVLnBddPww13Fj/P9RLVyX82zLxKD/MCvuCcIjR/lQG4t7mDsq/tHI+RfoR3oetsOx3cpKL7TbaMsDb7QtPJK6it/mLLjjFjDFy/F+oQLIECVfi/DF819BFW+WezqIkoYTv5lSIcaQlxQag5j8Vn0gQ3DBbr+ZebVKM22zIeSpuuUJYg4ME5ZC7GegVGMS+9LhXb/qEQgNLzfyKXZKDDgzFO2Icv/iFV+tQKtsu8fELeQp+I21Ux2C5yAGLx7hq2oU4jzVr/AFoe+1ius4mXTcVX7DDUPDsfUbsx8GyG47tJk7Oo9l0ydvrNH+E+B3qX0dxCtOhfyfMJN2lBAor6nX1uyDT3PmOvBl4beR0l7VX+RVPk6o/UE1lb61vumkXQCe5dfhsxEnw/9oGioMXb+Je2mjNVHOK1gu4vBLwJQQ2dRNWNBGJNWHxFnqMxwRiojaOY7+ggZgeDw7+h3DXkjuHnq+DUpSaZS7+IW7ssPJBGpMXz7gFeBqEGKL6IFiKKnc5Guotb/ibVtVTBFH2ENNtBctly3LKMTuUd+He4VcWmwgib+jFEWy6zu8ynWGOhV6igHgx6VO0UfhU9K+3Gkcp1+HdKgL8tpNNx7qCxO4Yb3MbPzFfwAhDfiweFM178OYmYalRHBRx7glHs+k3OPrvEVaUy/EUysONXzceKqXa6QAIAInMfqX62h7lx35clBK2X8/qMGuorpQzln+RY1o0fQ6ZcnqYl3khy6UqAQvRIdW9Yr+IISd4ha2gYs5YpVkapA5Z9iKU97pHLEuKPMTuPAlMcYUh4K+h3/h+8oro2puoKGHdO/TLYGg6lwbgw8IhBgxeBYlDMHF13FuHFzH8Vvwnwkg/HVGvxxKmm4O08PgejM6lV6lKsIj6Cv618oeSGZpzhgBysj1ER3LEYFbL36YhEjHwb3K2KNXTV6lD4DmgLepeE6cYRNqUB+ILYLgqVy3CHhzGxULbF48GsxiC1aAgGfzRhu1p+nmO/r6MgcOQbFqtipQ1l6ffpiF6D1N8i7naLOT/Jr5j9KuwBD+JUO6f3crNYfyu36lSvjJK1NIiP3DL3dL7i2O+BN8Lcs3uNxMLiLfvFpRB0LljfXaU/ibDvWH7m6z1/og6+jKP7hCkDkL/iY1jpJYu8VLcFvMv1GKjKqbfFXKr6S1A7iRLpsGEFgb/4zFJFqsO/DK6a1p/qEG4Qc4gtwYXFUXgocDruXdsUwLdE2dQaIJ0TgoikNK5uz3LvC7wW/CwlZw1LdwE9Jd6hJYDCtEpu7BuLwCFiIq3F8HEVNyzV5DcMo5aepeCVfNMzaz0uNqAANkancgbVzN7hNQqpTRwv2jWpcir+g134HgmU6vwMZYUFrohGorTpD5lxHmVV7m/FQWzn6OfALWNhgcOlIsf2InNh/tiLK1wXqYwKNjSaTiDWqc/zT5mmXL8exs7+npzNZ83LlWRU17597m9aLfsr+5ga+ztfUsFmyDjg/wAxGz7z/wChA7qvbEdGufct5hb6mni4vjcL7lkraJt3yXHlJdoU/qNYX6dRyq/ZMm/WMsrYOQuM0wdlQ6PxFdVEVCmNOJT1GElShu3l4hVu84gLAaOQif4879xPKdw4eCSgMi569PkMuDMkGUSocPBywslmLwE3oSy585WbHgiuMqsxFsEKZtYQew3HEvwFSslsouGO0fzARBQdJe/d2tXqBiTuxC9xlXU6NxCjPTmA7EumLFtnUKgAFqnUyFcKXcPq6BXEa0tivmNUVdgKDwPAwelFl+KVjLKIgrfpFtM5IZpHhOfO85+i+YDsoFrCy6Zj0ysnNEHwxcvyrm5mRjflWe5h5dd6DxHp8XDBRrzuX90uX9K1E3lu3EZZ34RUKyhEcAr6LzuWeKS9Ci+19iJyL8/Rb52qoMtlz3Ob83CAqM9k/gCVLNHxsaobNL/pODvqkCcPsLhNndqCaSsW0aIQ8IEOBs0vUa/rPD1DoI6XLK6iQuIwu7jU4scDuCFtpq+np8XLgwYMABr4O5ZWxR4ij5uype8ywGqsqZNpufKmIbsf5hG8BOPJllG+ZjuJ3qOdeKOpQpBSTvcybRN9pgzD2QLVb5hPq1RMcNatx6JWBpedsxXTVahxD6OmyRip9rgUiX5jeXLvMzBQfvw0Aubar6+jT6RCUtv4mbjJ+yIUVejuNA4mSLKP6eKuCmvG6uPgT/ZDtBtdkvhjjf0bnpuc/XcLwTlMIfi49jKP7aPoZfHm/wDEtIeA5ZdsfBr6LmGBSVFl3A6M9lxdF7BV/iGBE2pr3MYDgbDCrDHWUdPwcytJHZFOEZYjTwqNXFJSMIBrXez0+DfkQOPg7iWL4ZJimSUk5cs4e2F37cyHojv9pf0wWLqdTjyabveJY6zGq5I49GVolFx6tiaHPhZqChRpl0yp4ETwD3KawAXiWLMp/cuZLpInM7/tl7lI/cEsqk/UOPoLSZb3ebUZYSGFfqKsdzmaXyJCYQBR3CaH08TmVZ44gTMraPMU2FbB1KlmOAViZUtb5XEJiHm5uUyr5MuX+pWJ6Z658cx6bl9/XcF104a5S36u5R/J+rIwhuOvqPr+8WvNcsW/oHH0WR34C2VT4VIWqVcABQKfcBUGvDbL5LgKtXkKZfOVFmb4Sa+o6amdf2IrbPZAt5va0yjlUvBwsY+Habi/+Q48FFCk+P4mg6gozRHWG2O+Yl+Fk/3vCLxKuZYuuya+3phwqeyadSc1zPvAFdtydeyOsZPuE2pH/h6lkS2Jq8u1AGmyO5Mjn4iFctp/cArs/UaY9/7T7lH8wAPXgean5Eka7bAKuf4xGUC4SG7PRDx/pJVH0mZx4zdkcmJWIl73K5csuZLrMiqlW6lBklCJErcPFLjOT/xc1LxTHGJYHua3H6HcPfh1M6Uon6ZZhaf5FTHhR1srC+Zzfg+Ll+bl/QPAcxqjth7wL1EZaDNs9xw1A5Yt/VcuLf073KYliQ0vRxc1r6deLLlfc/awQluzsi3G7ZxLFftpGlwmgauLX844i3C+SWHUFcDM0S1fUv8AGV+IvWupoRFFJeAXNRro4e5TdVnqKlLPL4sMUTIgbGpxvwlOLYdzU/vmeIcQgCr9r7l2c0DqYuYsF/kjYoH0wvqGn4hcsFYnK6z4xNE2hMCYf7tTEQSvNe7wKiEtwV/58x2vFdwkxcRgCjNP7gU60BiV9QzLz5MZYux+JtTLjmV18gfbKPRih3MsSVTiAuEW6iVNR1KeyXW0MhzN6l0Z3w9TTncW/wDDXTln5Ix2ifeSaMBg14sxbaOP8agW6MvxHaw0PjCKnMtRm7hh/hD2eo79fRf+IFijifPlwS5fi/F/SKbiu5eKjvj5JvjewjOQgbjeTfgOoI6zm2ClcEs9yYH8QXiYkqwyyzZThllwpMx9I34AuSWa/EaZS4upRO0fOv8AUHunbH8RGJFseHuGowtDuK7am9n4mRWnPMIPkn2ikCgb7qVO0a8WmMEH0IdtQfRBdW5xRdy9X3GYNlVZRllfXc381sx5MMZIgLN+OJiSYKIluCUMIQo6itikiK1MXe5YvOJcpDpRcAo1RwQNWeL4Y4xz/gdSpEyt9kBHKa/DHGIZfUXqabiWfVf0HzhQ+YW3LMKSEA18HcuTjHXx8QriTM5X+pVeEEGH+Ay+o/qXNmZYR+uvLArLFtuXPf0ORHIwUdJQOGCiVaPD7YWo2lQUR4O1uOPsD9ykCqSoVKN8wns33MkU4jKG5tEHEz9fvf6iQrL+vUB2H4iOJs7zGx7PcGJH9h/uCST9AW0uc3wQlKW57eoI8EMimWDVfQO25ddTlNyhenwQsK46h+UcP0X4XfjXxVFsu9+brMSlkGri+qBBbVTJ5YNdw7MQSnKVGncUFBcu35gAAKrVcQemYV4HzfC/4VLyXfyyjCKL9vKt9Rbwa8jUS/q481c5+0f+mfaBwfHaLLT16gxKANnCdMeMHXOv9TUq/pvX0bnx4PDnDuax/jXnU9n0XDwWRriLgit2OI/52YI5jWvUU4uywBHYZiX3G7UJHmC/5iDhPkljcW0gEAB2Zf8AbUdvlMV2ruoShyB8SjvIynXyDp7IOrcdn/sNbMVFjMEYKqWHcNq1xse5mxzdR9mAWI3DdczT3/E2w19B23OY7+oYoC2Xbnxfm01KJf5iCbsqWri4oXeJf4gFmUsFEMLgPuYdY+3U9DMteJkXTEqnz6ft9Vwe5GWtT+z1MaH4ei3g19F1LzEv69Sg3BU9wArxwdxLn4ljJFCVek2Ok6YYTNZtqOK9/Q5J1OPBn4n8fUZKZpr/AAay6lq58O5YGZcuo5yS5cFRS8R5V1OHgBGiApGCNWWXAcxwKIPT0EvqbYpb8Opdanc0iJiV5cQXcGM95/tepdFn+PUCzlZv74SPWC30lFSHUoUia+oYT5HT2RsT/gHz6guIAdMbWTEUclQsFcCMWATGk+oHHvMgyK/akhkszDEG5cuXLuO4KaghrQJwleeagULjayqg19PrBRNMCZSF9yitQadwpABhiZ8iWQyeAzXcPc9VNOfo4p/MSmvpNli5ZDf4qRX+/C19N1EvP1YiwtZby7gdxTv/AOPFXiGFIPg3Y7NJ1DSH7B6lwfp5l/j/AAXe/F/U5b+hC3OY6hiJyTEpM7bZY/UYX8KFn6ywLot0gZM9fHolII4EKpx9FZmiRO1bicc8v/mIvsL/AB1FOSpUfgho6Js9RW+AjV9UjEF2k/dAhIbsDd9nuKxEyAMJNepaqW45IDdA/bNzHQ2tp/DwGnGkp/Mz7Pg6RdT6pDz6XWQ+02WJ5vwqXQL8TVdsH8RcEQrbVxPQWuuJhkKodxy34fqo5dsgZBhHYcJEJK3AGDUOl49QC0M/zM/Hv1ERWqy+pSAahBa1DMTX07KdRK39FCrS2eOIdaUdtZWP0PmsQxN/SLWzQ7hrX/j6ByQceRtNa6HUwNqpO0Poq31H/DUwlMrv6MBbL+m5XhKmo4L4lFtgqZHG53AmS8RRXMKhqwXHolwIVXlWx2voYoUdkMIy5NrDiWbI7nCVTah3QLQJZRVK1K4PiABRx4TEBdybSOnwFuCAcVH4/wC4hz/Mz1KJkYiVbhw0MKAnwLfyQ0f+YF37mAjp8AEQR7g6mHwj6bm/9ILs81V7gHZYT/Etlv1MWu7VSAJVVCtsElXZfmLho17jdhX4lATCuevFrGHDB2RK6lHl5gRty9v1MvwufAucIli0on+Jr6A5cRlrFXjv6SzHgc+ATr9mkdHCZLyS/FXL/H+eqLfxN/SuYb8vi59C5efJH+cYvGzMTWqkVAJReVCGeVjMl9F5immVYExM9QhMG6NQY0lJ4O3qVULszFwzIe4hgxNWWE9kRLHBtnUK/H/uJdW299+KhggPEeZETuIQbyQeMZwGcaet6jcTgmTdZp3F9o47gePTiIN1Vf8AgdQd5QV1K7YgpVFODUL3LzxxPSvbqUVbNurorWICxe8v7cQgKAGxYFebh9SpviXHJbKD6FT+owAFAoPX+C/pDl1FuULpV+o9wzCLMk4hpy49EtjmPibJliseL/yDcCty13/jxKrc4Edmdrc+75XcTUu4gR2DiVeW0lAfB9C8GixG61EyQWwjppYw4hj0FqfComPIq+KC5KNwWrZ4jISyGmS01ubVTcbjdDIf8XCyoL7f9MwG3cM6mpTQ013N68VX5mC1Y8xanNQ232Zscj+YoUebgMI5BAunyc/hI6heU/YQgkZsGfyf4FxLufSXRbRFQXEc4H7Qr69uiOVo9VpP3TuntldSdvK+WV/jq/iNM9TrlGLEz70R+v8AX0hyxb1+JpGaFKtVsfqGmpcNeLEuMFiqo9evcFnpJLPN+L/whRbLs+h14PLr6KZcyAyt6herI4D0Tq1VSxo34RcMHKUAPB4fFGanLAW1qOJgnOO6gBVlumKV+aAmWmyJUCyYRxJmtY9xTFR3GgQOHTAuBTGLu4pFhp36PmWy8dkATbFteyEDz94/9g8YtOWElAtarEzVinpjeujSFUlH8U+8oq32ymbJ3LUtQoTyH/MRZgevUCmCyrShLqxsZRf+D1UmAuC2UA1mZ2YcHuLNZtH7IiVQ56PuwkEOBuJtDEv6a+rfxLMGjwWvvJ+EwUXPlwEv/GFluoqwsZnVZI9S/Ny+ZcuPDLxLog2WT1QZWOAYjjuHBLutqG8BYkuX5N/4DBbHLb438/RUCpeZcX6EzDUe4Qben9JNRXhbBoWtXFaoLLGXmAoiuBuEvxWZZi0rJYU9jGF56HiFPrRWK14MiEel2cwWvmYEVU7gr75XjJjcEMis+v8A1AG23OSYgKuiXbKo0ve/7EQlbQc/+zuahUV2iyHzN6YhiyNOYT+LQhCC/siTMQ2jYl6GJWC/yH+o7T4DgjlkzKb7hWAG2ANYAPiv8DDFp0dx1cadXqPhwDiH3leoeGBB5xoCvPNziz8fVcvyZlmDB5Rtm4e3QQTyqke6L83ev8AcsW314SP2yQA/8zzUS5UqairE+Zp6NvUMUwNe/cGU11cMWZSOPZByIXZ9FfTXgxljlt+jf1DX0WKtCypndH+kVfOKk+aXPl1FYsh+aJZ9TKwCvTqKg5hHLKjDBbuYCfmDKKd3MzhKgPjwyQlB9pURaC10dzjVQ8H/AHG9u33czco6glXFS+Q6g69nuW1L2Em/wKvqDeFwrvMRwBZZT7AgXn5lQ+ojUdAR6TBk6dDgIq6QYA9RK2GYMHaMeKHa0iKv7/4GK202vF/GoAQDGsam4tJX0cz2ff8AwBb6jYrj6LNycf8AnlKi2+QDXkbz9AcsW3ytZuZ+tfYYRCdoDH89PLLYSp09TJzQ29RKUUOGXnwSZcwutOSMV6h2G2XqGvNsth5SGJpb+It/Vv58Mt+nLgnMHlHUu0UyeRn6kSjmTSuZXOVxL0Mtpk7+oGWxwMFCspRBjkZQg4WURo078Ayx+YuPXgEBduMbjJsm/wDqXA4XU9Q1pO0xDOsz9J+CWMwmQfKOvZ7g9ZoHMYkJhQ1PLZqZCa3qIU67ZbYK1/xqMoMalAu3UR8L9kQsBFnFBIrW3SpzS/NS4AAVkbu/v9PNR6bjv/B7PpYF8xDg19HEY8US+1n/ABGMsW2HhYOvph84RbLatygN56iANwG+/wBPoSGCX3NBt6grVQ/cKlk05gAlA+0f7hIIDQcTNOpqzY/4KAtlrv6+Zv5+reooYJi26o7HQhrXqLbYGpcDrxItLYxDg4B+orfqOUTYTDUZOolhtMIzHxabh11LXUI42DjwFTNwFaC31FDRl4X/ALuFJZpbMvxL7y4IClZgXMweJRT2WU//AGiBAxKlRdtHPySyI2aOYEdwG/NEIduBywYluqcaieCRlXMwYfUTyZJhokAGKSHAp5v0MtzHE0X89Cfaam44xzL7/wAOsz2fRv0dxbwa8vgkNBHJVantj/D2Yt/TknNz8eDGICMGr/o8vcuZwNvUJGIccsyZjxHBO1cynZHa2+G4fqZQE+E7+m4YLYvcuXL8EuO/O/oq8RawbhuIW6WjxOJjY6LcVzbtVjtQW1H4YMwGqAi3Ll+HUBXRzBQ1jdeEujyMRo6NJL82Sy0Nt2W5jjBVvUC45VQdvUStWKKU11fMV+85FejE7AgYK2qRAoZncO6xbzH9IMF3AuijRiYRJRM4b3HXsi5mV9yKh5QRusGx3M0/+IRru8RiRIkfA1HYId3V6ierDsgPcLI6ygkKRrofsMQku/cvodMQljc39D9WDjDFxYY8b3qLetfUXiiP0/uAToA9H1L8e2ZfVYXsD4O/DNyolw5hIf8ARLuO3gMqwXhHHfhAthq27FqoKAYDgiYMUpUKUxoyQxpnEuXAoti23Fv67z9G/nxtqLRR4VJ6jtuFSUN3FTVbqI9JEqlUEetutx6JrznuBlwG2WFGpfjL7RijVx4W7qU9RagXESJiYLG+pVJWWHP4/Mc7zKlm/oJeNgCYGKTNA3XMZEIziBnAUQgHIXeofaiq+YQcNKSswG4Rrdo/sm1tskvd9gaIgaNmy+JRrBg+AviPbCtvsl2Gzplauc4YLd4Pn5zH9U9kcQKPHMzsS3f/ADMdhWY8F+Jk49mnL+MkCvfY+u49vSjdKgjZhs3TnE1bUq7GuYt+vrfFw7/1+/qvx7Yqs+VouCORiwkGqLuX+3c34ZqX4E7NzG4w0YEUUNe/c5gFmSRy2tx7ZyoeoQJp8CEMO4N3AvwLx4Cssc+QuP0v0gtXMusErwD7VKM966JqbWUrvbHbxbHUqMSoXoIvCvANujbFwGkSBkB/mJUNT9X4K5JTYsidwLQFr+5dtF/8+8RqUpP0ffuMLRMJ4FXaBZCugIEHcFvAXg1MwEYam+CBksWUGOgbGbhbJoXOIvhMo4iHcKPUBa7Dh/aERE2OHsl0Rs1HCkVpeZnhEOgRNKQlCzpiQohlVSIpC/UQPNcHyFtGV4qLSimmX+HzKQwpS/w/7iId1tTBtKUN3fuZYtbgH5NMrX5pLoMWpS9IznzfhvUVC7VMyabZRZr3DlcRnNCVA70EcHSFIKjDzdS1LKeTqX7z9NwOfLLnJb4Ci2Xb6jjzVwVfipXL9xFBgiRPcrHmhaWjuUoY/s+YrPv9Irk0TibmkqWvGfk4hqEFuDAEsjgHGmGF9RjZPYxErnH+UzLAon7eaTc4xVL7uqYdwoiHrRxj1LteZfIpf0IW7o5Zilf+ohX5PUywYNb1LYC2KAuIUtFDmcujzNsI6jRQpZlIqJyvgCcDhefT/uKNQNiHhPaVg9iJyw/tBcaxKgKShiPdyx9TEmSw4jKgyepf6bq2KlFgFoaIGkkiw0DibqwuUkbdnUGsOBjGOg3NmIWBf3ADSSIpDvWS/wDtHB+KibQZYih1M030hZbfDKbqm7r/AMjVAi9v9fc3lj+5esDb/DMODHLaPmLa+5EOUwXBkTcTAH3L9tiZfaaeTB9wsbB8soJo79xN9MF3GVxgf5EFqzGzBa07ZdZBgb9XHsroDhpzCdBT+4vzfEKI4Iajr6A5Yt+D3qMv6MIdn4NRzacsSmMBAGXR3LLEBAwQ5PUycvbEAOfcAau/Ij2W1fCEaWiz4hqHgMC9bh2mGU+JfJ5hB4dRK1/kUDBDxdnvxUj7YC3dQWpZlOTrwm9XCq5eWtpDwZbRX4B2o5YrwFDxYsTdunXUOoEbuYNbJRCyncoRfVSiC9kEu4yOkNRhp/8AljGvjwCUVubeo7/OAn4JlnITBmVA4ZuUXjhg4A6UlYuJOM28Ed7Ar2e44Ixroe4mCotHqYF9HiokpjbcbdqmHzDkvcVKVLL4sCRYgQ+zqJUaPMcqYk3bvAcygNisL9J7j/U2W4ZNUqy4AuzdoicH7hMxGLCncW86uyUwtYKAK2RFcpfctHJE2/ZioV8qmKDW5E+TibLNd+Qqwaw07DECC5taKVLAKqNDKrlQ4XnqWoIhtjRn4IFfWnihCTWixlA9zefpDli35uDHzdCy3jdJr9xggqOwmGBZqcERuAG41Ficg+IwXUKW9sMfV9sS46B7INQ14BXMS6zHUpOVZVf536HTFWuBUxQNW8lQbvBcsUcxKPAEIcNr9wPgcsV4Chog+RtZvxFsKQAWu8VCyRW2/wBI9yrlQ4JcRN3qGZa/cAHox/U+pWegiRH9XEJ7gnScwbrALlJwE+rszKy8ckmN3Wj5I5m7K2MhCw8GcexcK4G48j0ynr5qKveVuxb4TPiokNsqYmViHuswSlSVyFPXMsgC8Iz8fmA2S5YcMzDlTbIDZCtWgAgUqiv2IzqKqsjcIsvgh3e3mVcdRcLmPU3bfZHwRhC/9mRSf/aYZUi5cTBu68PhKI8lSi6iw2RkrBn/AAhRor0TIwS/IcsW3xf0euPC1uCs4RY6fIwWnAEUFBG4A4Y5fcqXL0r4YPA2+IW1clbv2QS5gRP68JcrP0EYpouvhA5wCyF4UCBVQZktmRoRy2/Vfm/Ny5cuX9JstCMzRa0aV7hGmXmepVuLdsrB7gn4Nx0YgNs0G2LoYEcfSCEhjKAKuiNXKWwv8JUTEwTwEs5q4w2OMIRGKFS9TBnE26h9v0+pdDSQxZ74EGsl+4EG1hliaNAUvXIQmGBWOvTOTBvz3HqV4tQwVfuYnEeE9QMfccvhJUqDMsmaCpUG12zfT/c2XD3COJUHcWhLp+CEDFQrkmXfc3MDOFRTi4lE2rbFij1RVAtiq9vDlgqyL6/+oB+cKlOboMjOYnkzNws6ZaiETSOoKCDbYfDsl2lsI7t1BAwWDYnz44m9xti2B3DDKD3mOPOi2Kr/AILreoCMc2g/3BepddnxLaRzsL8nMulyH5+I6bML/KBVEYXZK+h3KmCIV8NFek/bn8RUfTmCAhAolUUalQAxzv8AwqG5osO2C7H2IkYEdrDsl2Y/wAy6RRGHbcx2T3Mb1DF3tnFTKVvXaLZgeDll2GBxL+qoBs75lcVlxKvXLMp+nzA9wK8Fx1R23b4Tl1MxGV5AiZjjfUIlMu4DGx6hZTEMilckItq2zj7wEQqt+SVWDjwDshTMi0XohhKBbxMVdiykN1AgA0GLQNMhuI3KfAiTJ4qlQ8ILWKL8QMpFPUYPCh4gT4mz9GABwZypVjAbbFep70ZbZa1qzoPvKBvef/MPqheMI9mhYyM2ot+USJHaZQsfUXxmbdy1ZX2ZbknH8pAl+LuyvnnyZQ7jjBxjyFFsW/8AFjmAW62+ZcSSS9KbnUwiNEsBLTHTAJgfcxKPNRyknouUSk7X9Q9emFEJLw5ylSQ6CoARYf5Fr5dEDLL9JuW/UU/2sEOX9mYkc9MrvabINl/XQfltIrrupi8gzK2LqKvTvwY3eIz1ZcPqXasCaTj6g7K9Hcwt1fifE0aoUJMyg1uepdFUxx4tEGRQQxcaLbqN0tdpUsmOno/cRU3mGdBoHLNFiai/McuiqN0eLJ/FPfUHQbTUU4B1EqYDU4MtdeWJBM3kVA9eCtUqyZTAUBxKFTdi5aUejsJW6PiANcp9yMoWf6D/AHF3asNW/DqGNiYJXBmQTQrl5AbPBj9MhSdM3POoxMRI7guy4GbWj9Kscv1Gxy2QnZT429f2d/ayKPwS8lVFRq8PgOWLb4zx/hY2G4o/UKhywCEo0nRPevjqB6o225Zmu5fGOBbMyp/5dxkVHYf7Y3eNy4KOmBRMTmOv8b9N6fGCVQbdRKDK2wHJ+6o6Sx+ZvcnFIwrYPzNHrT6nAy4tiWSTxOlllie25YeseHusMiTHagc7iukdfUwgMKM9HRO67nFIgGE6gtuukxgqKDpj4uJQUfTAwx7TNW70kwxdsJxFggWbgmOFFNwEOWUzm/UXKcQIQmIqVYuUerzEP0BKXwQiMhTJ7g2yMpEDPZ4oqVLIUeEqBnwQgZgpkDZUTZSseYJfWVflL55ItDLJ2cy3xSAOcYICC2URoWzdKSBQCnBKSxgHTtKj6n5iokSCCVHMApJYto/P9wYrJq1H7g2oXJH+BmKtjb8fVcuXL81cJLUGtdIktILYGKuV1LmVWHAmV7oFv5lW9gePxKNTdFT7QMx/wm5cuXKz9C14uoalcnwhg8uYrlX8oKwn0xeg4rqZP2/JDj0SP0m26Ll32sCKzO5dNKqUGvBFmOY5U07NSiNpp99sHAwTJxcfWgjthN8GhgYKYjKx8SlMb0sBeiiDyahhbyrZjpXDRknEzzC7BgPZ0xjsLLallcMZoY4YCxKhgPVz05mVRtYinaKBK/nd6ZTib2ZVwHyE1ObpjoqGyVMvy4iJERNj4qiWQKnMNwSoEJrGn4MUzavupj6el8hiCC5PhHDsIQCtDKDgguAAjW5dr1+EzKvIExKIxsYm0wZflhNt/DD/APJbkWcRAg7DGvw/4K+jMTZ5rCwmKQtgt9xQH5bGfaG2JcqV4f8A8LLjqIfhhqK0+n3nB1OZh+46PjEw/wCuYP4+XEuXK1ayCLntzEtEqP1cuz3qO1KMsUwadf2ZRHVIB2oyfrWppX0EGrCrcdQXAbjpMnMboOkOXCpWZRBDlY4tAtOCPqFwQXCaNl9PiJX0Zb4uMyXDiJ2gdLXwhHoNjKr5gKlhXc+H48NVVmyYvjtgc2jSMWrgY+xSJzGt5F0dy9wFWhsgWDc5jFGrV4GKJUICCBcId9xkgDcxv7wkUBw+RJS+sU0sh10yrU9EbE00PB3MpcXMEPah8q2VFrDAPoIlsI/LGjR9plxu+GYU2gNoYgyxgpA17g1btMB3QX3fPqMktZcShKTkww8IvUfEOgbBtP6EBWFkTIw+taInRl1xMoNfgMAtyrh5lQhh+h1L+lnH139DuVOYsuRGoK02Sjq1mLmPkzma5jlGBWFTQfEYh+ZXh8085kxJ1OIYKF6VKm2A5A/5CwIjuVbLBGpqWCnwmPrt7nIOSFDSqm/hs9ys79TfxF8Z5KGXQ7JXgwwcJWwoIl6QGHoSwLXIGDKKQoa38xrRpiDQvsIkFYWI6YB6beh/uVn3FS9EvThe5le/FZ8UE7c1KFWSjuAIqrga/wDYBM7DE9CqlagPhXD/ABaqEVB2QyaFKtaiqT0GoQHgMvAYT9mErU9j2jqh2ljHK5HBiOcd2FwhzUzIlbh9xHEMJHyfeBBR0k5q4rQcUgPp0kcA3aUd2t9MoMxuNFENL3GkMEqHanz+31LMWmviNvodREonPLGDa5IE/wDYr6eilWVlDOsyjqU4CTSi4yLDUs68dGJWI78OvpYFZZd/Roy6FMx35I7+i0thBbX26gLbj2wNi79cSm//ADQGt8PcLb2MdQW+foyrcmUuJVbohY1CAcaeD/fucQpFF9KVyqzeX6WOocpOZNYuGPuNY3SPgUEpNMogs6Sua+N6I6EIzVTGJx1+boVURsUtgeCHMDEwncFSjpDDv38Q2eP/AH7y31mkjWO4vt5leaVAFeAl0ofZ39nuODkKLTEgWPT1KqqSpiGF5IqOrBa4QqgclVmUS6VRg9RAtGpWorba6s58qTaRRsexUs/p7BDmc+qSniPu0B/SB4qVKu0lkgdmD4qwhV8XqA93FFj87IkpTIl33INDaiGqfUyWrs59vqNK2c3LDG+ppXPUqvL5PlGnDKZ+aYWWsy1P2ZZ3HZzeiOq3WPiXp0V6QBRWG335vHjaWaZt9VyihZatv0BX1EdwcfRWbGnshwh8B2kD0QAMfXdnBM2G6IwbKWKDKzjrVCt9Mu5W9IselQ5zDKKAFeX6jWaLIn9DQ6gxBmAviWc7j15QxLCRz0sutIF8Xw/EOoeZGB2REKLVpmzBTMiBA3A7l6q8aSYEq/6f2hZnJioSorDyFoBa8RoINrb/AA8q7X2BHiRgNzG7v3Gr7CsIlaReIjnOCD9Ithj8xKzuhiJ3lQw8FkpG56gE+wVExd2+NxM/RUcppsdMa1tw5IxTABRsF6RsYzC2t97UxEa4uzonZFGFTgr4l5piHLMXvEAdh3KNt7l34EBtQgdCkRAI+46hpQaRpISRXnIfZFfD36vq9XMN5k2OpnlTq/qIy+H6bhjLFzf1Pi/qv6L/AMDCAjWFECBau5sqDcB2A47e2XtXguI53cDD+IltIhBkX7ZQKoaPL5rE1TjGcwWCh9tjFbjJXGZgGDWaljzVRWdmURLdafmO/Bc7uUMnt95S6qaZYJsCiuoNA9kEXHoghpxA/MycH5hfUPTmU84lmw7xAO4o+D/uVHQqVLKAKujuYxEdVP0lSvAU57SYJsOCX2obq4qoo3iEYjCmjEPULgy4uBitLHgylfGJjxHeW4hqJ1MvqYzEMY7xxRFZPcEjpKiV4TMrykQrG+/Bgx+IWsbXl7TqUqpdywEGfWohblZnrSmtRsu6tn/wjZGwdnMxA2RriP5RGfHF+MhLFaDmgLZLcBN0yR44jlhV4nk1LV0vjTZzUDrmsG3SAmf2pb9mKg92sFPRd2S/r4piV4uGMsct3/hrxWL+kYtS/qr6bkbwjstyEo3Wr+0BJDdNXAzuP8ohbhmuqeHf0BbV08RKady4RwrzCRdnFGEgPQXC42fUoykMl8zDjLMUtOMRWhbhJgryn9PuINK0e49YdlkftGVh0BQfaBUeRgZVGzuGgxv7LgU5IF+pXqdNks7WCj1A4gN2cS+eP+/zKVoy6AmAgZ7evRPv9IOoQ1EZj/HCN5VBl1FTAWHL7QigfuCMHStqkbUFDRCpfEXz1hpuf7QAOiVGJnxUz5AjUfhlbqf5mC7v7vv4gWmUQax8TQi/mA9lndR9I5WzLebiHCGB3Kl7AwB5gveNUHEpkg4rmN69LHl9SnpDAP6idbBJFdQPQX5gNqPZO3UOjvNF/bUb4EcPyYNtuXg/Zl3r6rxTPTKotjmV/juonJC2OCvN+b+sa+IlF8Rq8DaZgCtR77n2hjv6anuSanBKPEGvzRmRzKumfLwcwa0tPDKcOeolNMowa4syQgnVSpSoeMvR2e5d2f1AveJs1GcWQv8AtQoWcAqvVcSsQvk/Ee8eZfMzW/ggpeORimDTKT3ECzU6zaEtr6VBNAjqkYUv/cxMtmYDc+SZWguXt2rDr1Ew0B9GktxCOLrS/cTLXCgMMTCqF9MEloAghBHqeqlLPPpyoPdzmXb8nqX3+F/7LK/biVKY6+hd0dv5+Ibr3278Vsy+FhJn69xXdwA6hEo20OIS/TEPMvoZaPxCW5hXEE6ULrVwcFeaILxpal1GrhIQQUXj4gXTUp2XA5I2JSMcWFhOD1Hq3Mdvp0wBY37IeXUKrMbvP0vi49dDbLVd0IM3ybH6C7xNXX3/AMZr6NJ4FpLJFlK76+YqKOJi/VQ5uWKwcEyuUhlEOCE5a2bjikRkDF1ZEaUMg74YNkYFrWZZfeH6lCA/MfNWuofzgRXmbGKg6jiINYgahQFj/wAPURJb/US6Pyibdyn9PuYZY3Ry9RwtHREVqe9kw2IbQEBD6B3D7YHzATP7Jjh4GhQi9px8Tm7zv4mC9P1/3GVLBYgcvskWi2rruFypYCWJBC62jUyBfxHLMu/BC0TBcBu3EQiWUaCZBRp1GhysCcxQGHpVLpAIDbD4rH3PUGWJsf3Kdldf2Rt8VR15dwakX8/z6iMiqEdf4JyI/nwF4GsYIYqBHTyuj1G2wYO2V60LPUz2w3Tt7YAViq3LIjGqwtsjG2ChgSmnIjxGcxm4Io/iZoUe4uV9YQN67Qjfh+QZeIAFstdz0z5ly4/QDnGaACgbXmC+0jl53gmlS0cRMWf4T6PwQtLSj7YLXOYBrb7ePUWvcZay5+4cDuDa8RXOCPmWZuNrQSiIPZD1e6uE+KblZasjj0SnCuZfA2O/TEuh7MX6hoZgkrRcwYrUd6oBZf8Ai+I42R+JcVi9jzKV1tWOepzwJdw+2CTuZS7p+0C9YYW8CF+xEDO8I8Q9WcRKgowBKRwZT9PnzrvEywBPx/3Cwq1qVZNfZFmAV3GKVwDyRBwOPmoSBtvuYcuk5g5mUMv3dG1mhgDgjGG3iXWyKlQuWotyxAMWS3SXP3Vz3N/PE3ykBZRawDxAxQpNrGJGGzu/ufPqIktfCWQJ6fuERtn8+ARhivCYlQZUTZ3FxShdmCOniwb/AGhBihs47gSWVVnuYaVV91wuVTg59kT3gofU15S5Uq9gxW6t6i3A4uATZ4cJ7J9kA8+zAoK8HD5Nksx7ly+OJSfUKt4T1K8MMLpGPK8C7ojwbyVuG+NCFmAivkYl6/H+A8h9kXg1KSOcajwPvFnWz7kvL6fXqYOkxGojlYML0S+alDreINA6NQFfHMowDW5ZdExqBoi9BFNzS/XohygarEu5VzE0YAqRh+unwOZiuNHniCANdn/KlqLXriDErGYqYr9mElBVBGrwk+EOt0U11394jIqWsf8A5LIXh7mWBnuWBBwZIF5MxT23VQt/lCfiPcewFdJUqVNNz1weT/mZbJcDcaBkgILQBWEYRtt7IyKVQtqCmqU949Ru1Nnh3MBtghAUNEulR3Go3C3iVL3mURtdVA0k9iTLH4H9x0WUJcrKoOUilMhCkkOmMvdLuozQRNjuCjvns9vqOkthqVGJA8T+COvAqMTjyy2t0PsSoXjo79s1mEqgwN0koq05y3LGVVt7jPXLNcS44Vl/J6iSoYEtjE08dsplRKlXAisf+3qLZdv4+IcNtVGCA/Gwde/egEEbInEMBJxLl+EEpIldXdMMbicsai0w8y4Vp0KCUKwuNbD5Sy4/MdzyoiDKRc3k+/1hfgfZFzRrxeq9suq8Qb64ic6lcDMoep6en3Bj6mkwhgjA42QoW2LapwixETVxNA2cBzLOXk9eiGQ3kuK24IAy5qob9Sq8KqlcLddv/Itxb/EVsguFHc3n1DKiBEseIteimicv5BrXqYW/Mpi9OoLTKDWQzOWR1LNAXxM/HDPD0PcfW1uO+5YcY13G70csRZJXguJzHL3BYURuDRQPQwL+WSXHCwCIQuB+D4gQiZU5qXrWhtmEFGiDBU1QghJ2u1qGTtwde/mFSwFkBRs3FdBwi9xC8eQYjJZFX+proJR7hyWFSNEAHULSv2iKswncrwngRgSoaieHfh8I3NZE0QAHTo79s19AqsaeH3Bx8DwYKnAcMOzoaP5ImJTuDHlS2s38RDMhMwHftBWmVElSFP8A7viOi2sTHjcFX1Ld+wiFM8yn2ZR3r3lQm6GFX4r6S+JdsZVhmNAIhdYBgjZoWMVluicx/abtjVQsKxxDTiPUNGWGyUBkcMA/QagW+ot614Wi2HQcFIrshysVXkqxaygckF26i0H5hmuOWHCUYXuI4HMeogAbdIgjNKHj0ShIoZY/4DKy63omAe2A8ENXezEd2dwNICDL/h6iFq3+Jrc0nqM9xB+hJtMjyQoVl6X+JiHHM0p+0MYckAd10BFIwoy/wILVk1c1/Jy8HRkeeZdn6jKRDGfvKpmvBZL9x7m2pIajcAP4l5WBYOJlTofQjCChwf7j15RKlVKy6RbvgCK3LoElES0ZRS/krZBdehkRnYCw0IzXdTGDrZS5zv4/mZFhQv4h5AUD/MctRxgk5BRaiVEiVEFQGnlBxEzEiZlRjNtoL6IQDTUPL2+5XhRKlRKhOUQko5gUeQem2yAlC96T7x1PqH9wHDxVln5MRCoTKx2Y+71FVBfWvtElSpXiiJ7HxApa83sfkloLvJ2TXFhsl35pcEXQ3DUdRBzWfiWJ7E4ZQORQHMaJdXH4hfLFyoopcgygtpV/aBhAtcPa2tCzC+i/IX4i2Uec9hSYzu0qUVJmb3czCPE0TNC74hnB1fEYiMNGiA1IowAEmAIJAtldHolJHzUcrLdkWJ7dXEPoWccwGnGwZoQMAQxzPcDsj6b/APIreP8AEt6jHBUpeD7yxodzvyn8eWKoCsAbtqzErTlfAxqsvVAxT9mGwFcVFKpexw9RDcx0C9FQYXD/AB5SxEscVHH2vTE7OHRmCxb8m4iEaTMH1js2kB3WFPUCzwjGqirMXke/ErrwqKl8QTteAIZXUWtkxQ3oZ8Sq3CaYa/2hYlNuLIW27KeWCHUQLgG4VZBeBZTCGymhuFQYt2MVpDqyoRXjNhILiYjCVEbkBlOICBodHftjKvyYeSGOo0NAXqDqMhkc+yUQFrMp3SBULsEqLQZjE8NJKiSvFQTMB78vDURFN1wCVpFzVCNEfiPDnzZLh56ASiYzVzLdBdtSlbtXEFkH0mVKBBcr2h8nBgkmwOIdSSBeeIt4Ia85QylS0DzmbWSpBlYLvWIzNoIzTSbczbJIBcDJqEqqzRDP6WBdeiWFkOUgMhfZMInSM1xRBw0VuKWaZzLtjSW9llFcf8viWfF1nPis3EuJKVn62V4rFRxKiLVqsWSJgl4RFtCs2P4YJf1EfpHkFRr27iFl0X90ADgCvpSETuZRbexCIRHkZSQp4zVaNrMYWHR/cNpjngygIFFTi4S3zWTMxFgmp4ybpRtyQeTl5VlFmyb5a0/79wAHf7PbLtkZej6OSXDBq3ETln/4TpRa6x+1cPhOAnBC8aRtuoKwVQazMLUsPPqMHh3KNBLWYqWhWNHL7foq/FRJVQ1KiZhND0eY5TVDl1FOq9ocnZAWRpfLbiPW6AlRIk0lRI+K81KxURO5wqn8wcPm38DM61jj+zADByMvwS/KCOsQWGUdRgaxYQarDDFFVC30xXVtTLa2yX5qI5W2XfGYhvJLPQRnJVDZFpW5WxT6JY2U9SirmHKGMEant46fRFBy4huUvdywLCQCxCi4Y4QVK1cKxHj2vuLmLlu+pVkTtJnw4iXpmsyo8lZx4oE4uO8GpqZgtDdtEO/qDr/2AKbtaX9xuEw9MsNoV4wVfVUqEpchgtlDwOjpjUuA1WsivEpAKGjv58tHGPiJxdSiLIy2o7PGeN0jzeJA9YC/oZU/kPuIteAf68kqVQEdcMR+M6giUB6Y1X6HUbNkw0fMNyrYllFd8kqxxlSxPUESxBILouIajA5YgS4mQby5gKRgRK81KiepWPKdR1nQo4hnyASbfcG1YGBjsjsVVlRJUSMZUTxUqOILC1aCKnvT+knFXEEpqBw7ZSz7RVZfMQ+vcq5YmJqXLm/FE5iBC3mNCLmao4tLJbalTN+w+Lly8vgRWkNqERu2XqiXiWl7SxxZLMMIKqdESHGro9EC05gDmNIjlajqNYwRI3ZconeG4pjiZa3fMqolzl7JR9MPmNS5xdXPU9cQsq62l+KB2uogpA0jKgZeCVFGxn+A9zBXJzDCgR2Tlt6evTHcuI6GQgp/hNhpsSWYTb/RPkJe/mJmV4UwZVKjwXKu/FMO8qWrOSVKgCMb+57+IiS1m2LW+0oyWaZUS/CXLu0NQUAAoXUeDSUptqYjiDHuR+8OAEwu4Q7QA1MNrB6EwrXK79oCj7j+JlJbleIK9il7BhltHKidRWXyVKleFRMR1KWX/wBr9Q5JFhcERiIkBDAaf5PFSokSMbwTTsryBha6IbOKwfPolSnzbBQ5yoqFqrBZtfAwBhHyOfIK+ovWuorgowy9aDWn0C06IwzuHVm4bGggW2kYmwcXEHYSxt+YB516lirop6PRN6YvcdDh2zjI5YpngtTDV+XmpnjiAt6qC2OBywpRJVxBauIFJiWV+SZY3Pjc+Y2OY6mLjIo8T9D4S0pMPMQrlASmJyMj9D3GtWED3STGzQ5lrllGHcoe2Er+4ju3/UdfTXgKiEXFFieAv4ijVamtx1uiJ9dlH0VmOVnExkG4tO3Cp3m7z8Buzs59vqNRLXzfbBWEeYZSKtevT7j6lXEqGzdZPjmKxkM/2gzgNdEWpU0E4iMwtPiDblTXDGcDkJZynty+2Ydc+T8QKoNjUDznZCcRBJeaJX7wYa8CGE8N5UdSgGHZj/4jutv/AGo78ISUOSIjw/8AqeWOpbdJa5LMsGn7DzC2lXfEuwunQQ2W1g/4PUbhqcEELeUVpQfJGAHBpVMbF9SbJRs6MCEBD0+CAueItlHhApB+Z0Y+JpZvz7zilrbc4+5QXm+oxRYdEWNkIFiCoyXqLmZ0/of7lY51azAbhbzKB2wV6qcfufcMrW7lKAgURBAmeJSC2O6DV9RpAZpepcqr7RX1glHOIB3iWtMpHGYlfeJbYuIv4yJeyUWjZ7IYWqHs9RApl2M/E9zNvuZNOuJQYcJc0Ke4g6wpXTk2IbprMd+D9FqsD8MsHa2vUCmYt448uwB4Y52xemLWBwkUOZhH3KH1MLxXUQoZuoqw0BAq9/c9sSxKx1KiVKjPVra5lQPZz18+HxTNdP8ASLxkyNyr/wByv1H9QG5iEXqYBlY2lCuwsSFNBwksOx4TMRiKAvbDIGr7BB6V2JijCI+SomI7jDQY/wDo+Jey3xROfCElJBY6Gf7SGokqMfJpxND9w/IqDBUXUNmqiNvr5nohsXeyEhaadyl05hRsck3em/BHUJZLRsW5iyvcTrRqwx6MYBMallQZfgxOxuEopq2YnxwXXiKQbHNzZx8McYpPjJAAqug5iQYuNdeiDHKvmXjGmJ4JYWZ0Zc1ABXtbKGGJQYIQZZuE7Ible6jPGPUqKccwqgvhj3vcaYZYwEl1JqajXFeGa0gs3FmCL3/B8x5gwTWnUzwUQ01z3Cv8qEfMFSk6OESErJtHxUcTHEdJYfZPU0eFn1PTWwNkVE8A2fPgJRDoLmCPy8AUeCMDd/s9xLMn6Hfh1HbyOzuCZavyR1OPG2ZajXzQ2eIRYtB38xrxZ0sqESjtLEslWTFkX9e0TCrMBceNRpP5jY4CEqZQ2s+Z91XY/wCpey3ykqcyoCSkiA6Gn+SViVEuIuTkHpmgNbgcWWrA6evniK1cgs7su+yV4hpK1OwqL0qo94+/CVtYPl19OelMNAFC/mUxyxTDB2S8lMAWhIdy/Lk7Q6tg1XuFKorggtICXnNkwuaihba4IFHfBdeibe/mBTd164lEawgCK21iUplWYBojrMzCy5dZieFNEhumUHugli5PTAcYNix/aOYhYqoCNjBGy5YrAwEgLXAHLFBS1hb/AAPcqUvG5xvmeyV8yzQ16YgbD4Yacq7U8xqpbC1ABDqU8WTSzIwzLqMGOAuZSoq/u18zRA0f2+5sCFh6lkuXLly5kIljuPZfvgxw8OzEMJV18R4wH1Uo4Pewa+6fN8xQsv4izPUbls3niMqBsajcfUdsVZPCQz4SvLrpKCiU/M+0z1LLbRwaguBBx37l+pUfT9QdLgpqUcP4lev0xF+pMhsFhDxNnLTBbEaTiEfjTj7QlwGaNssf/I1LhWsjBIt7d+3xGCZf+rzcuYnPlCSk6jIw2/sJuVDULHZBtLn3/uNHM7uH0S00rYarMP8AFtAB7dQA5kQhDDWnXCxOW+8j9a+82hUR6xEiTDdcRvLbp5h8Jf0ZqGU/6TDwHX9vHzLIuBGki5W+FLluW2OoYIOqzCxB+Kmv7wRFEWUaPUVZLEbltwqbdCCFxMDx6Ja7mHiGS21UYNqgOJdgwMgpg0Co0LWFvzE7cRcwSpUDOo0o45KahObOeNcZiTdRTT4Mmyw2aeaTikweicxvjDRhiDIzxMjilSVbbutx3/k1J4Gfwe+XAzujvJWhnVDYEG2ou+FtqrZLgZdonyj3y5HrnPvcuBnX8PLSJ0U+7w5A55ajEKrGIS38ncIYCuWXP7/F+/r5cZ3y7o0OOiB4KtLkPOS4J1TueEvQxn4CRLTPMr+NlXELnYfhUXGQv6qUlUzSub3Pi1UnIhdSiSeZFXqMblLIgsLSULhS7wTmXJQvM45lz18MZBbDZBZCf776HzJiyCcnyx20+jLyLF4Dsav59w73AbnRFTYgZurwyQuPwuYrTfJfXrYHyCHAFRbHZeedu7aiwQ3y7duyWyqJpuIMkMbxDT90d6GTbGeVzQoxoF8L9k9qYizi1vhmyGxFIssjPUINamEDWmHTiDascYWi78wv2JlBYW2dM/WS6Z2nJ3//2Q=="}},"time_used":387,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":114,"receive":273,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/mercury.jpeg","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.248Z","timestamp":1785123385248,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/mercury.jpeg HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"fb53-65fd8520-9f6450d70b528c65;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 64339\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":64339,"size_decoded":64737,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 860x661, components 3","md5":"c06ce8d1e8ebf413b2c4c6870e770c7a","sha1":"93e1234bd1fe7b914fc422a869a24ac391755454","sha256":"5c27f52fae0ef50576a83449e8c49401c4fb959874f350b9455ccc0ec5864069","sha512":"26c74de368033cde1d29aa971cbc59d972af4e3f3ff576416c2fb0caa4841d2cf9ae6ff30f64405515271c42525c06a47b8c7e670bf4ffef3e806a84933c8054","ssdeep":"1536:/8HojS4IDfcyhcqBgb/e5BkG9ou1kpl2TLAd2NYClyEa5:sflgje5BN22YwFlyEo","tlshash":"5253f15b6ec01193ee63437d2e92822c76160dad83b74807db1437484d2cab6d9b6eda","first_seen":"2026-07-20T01:17:14.334266Z","last_seen":"2026-07-27T04:20:53.416Z","times_seen":8,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAcKCwoLCg8ODAwODxYQERAREBYiFRkVFRkVIh4kHhweJB42KiYmKjY+NDI0PkxERExfWl98fKcBBgYGBgcGBwgIBwoLCgsKDw4MDA4PFhAREBEQFiIVGRUVGRUiHiQeHB4kHjYqJiYqNj40MjQ+TERETF9aX3x8p//CABEIApUDXAMBIgACEQEDEQH/xAAzAAEBAAMBAQEAAAAAAAAAAAAAAQIDBAUGBwEBAQADAQEAAAAAAAAAAAAAAAECAwQFBv/aAAwDAQACEAMQAAAC+nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPLwz9R4eerb7Lyrlj6jyujPHtc2dx3MM7iFAGvQnW87TXrvB0p9I+V02fYPie4+oS45gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWbHNqY9zy9Ne0+f0W/R+Bxedp6/X5vPZZ9GiOjW6+TGPTw81p0d+PEzw7XE2at+rFliAAAAB9r6XyXp8fd7Tydh6Th2XDqaNuWOQsAAAAAAAAAAAAAAAAAAAAAAAAAAAa8vkMtX0Wr51nz+7q8aWerp4JZ1adWDLPDHG7c8cDfYNwMx3pwO/gMvS9zg14eHq+5+JyvPlLlxxYgDon0+OXyPteP9pLx8Xn86z7HxumPU+Vy+il+MG3V3dnB3+V7oaekADLPUs6dnEyw9HZ5S4ezs8Jlj9D0/K55a/qmnd1ecFAAAAAAAAAAAAAAAAAAAAAa/jvtfitnKmvXsw6MOeOjdrxjfYNoKAe95uOO3P3MsMPE9bn4q9z5/V9JHX8D9r8tXveZn0nzMyw2asoNIF+j+b9DHLP2/kR9zwfK/ouGfzOzy/pj4/7j5H6U+LG3V0+j5np+Z7Qc/YAu30dmnyGfvHzz6Tx7jxr7GOfjPV4DSMNvv93H2el4IUAAAAAAAAAAAAAAAAAIV5/nXL6HX8jxZ5fVed4syz6eYyyiqgkiwFIsAPcx4+nXr8j734L62vN7fL+kxnxH3nj7zx/oPi+zLL6TwufkGndrzwBylEA+s+TuOX2vm/OSV7/gMsfrvnORKGWO31fI9bz/AFsocnoAZ+v5Hdu5uDFnq6Or0dvkdPDh6fnerL5ej3fn8NuOGerXv5fU8K+1839d6PwFxy/Q3xPp68/o3m+hhlkFAAAAAAAAAAANPAvqvmfPz2fV+f8APTLZ6HAmeclVARSRRipJKSKIJAIsAHs+Mk9vyNZO7ii0FAYZxjCuCSiEAUAAADL1vI9fh9PZjXF6UCgdHveJ3dPDzcHt8eOfnvZ6Fvkep4Nwmjfy6+jiL7XzsAAzwHp+l80xy+37fzvdhl98+T9LDL2mjfhkCgAAAAMcvLXl87nm7sisssVGKkxmQxUmKqiwixIpIEgEpIAJIAAAAAADGzJwSWMIyxWLFUSWFLAsHreT6nH375lOD1osUAABKAHH2cW/m5h7HgpRBHRq+p+fwz431aPlDbsw1AvVyD3/AKL8++j07PoRq2gAAAOTrL8Q26t/fFGKqkyiQElJiyGKjFZYlJJSSUkUQJFgEkWAAAAAEqOTKWOeFXFYsoSZQlBLFel5/dzdnWrzPZkqoFAAAAef6HndPHrmU9bw4Fm/Qj6fxNfPhl6vt8WnDPw/t/mvpEnj+ZorWNut9P8AN/aatnaNO0AAAAD5vzfofn9vbJlMtkWJBUWJFGKkxUYzOElWYqSSkijFSRYiUQsQIAlEUSgxyxas5l704vn573hLIysxWDHKCZFhC9nH16On0JXle5AsmUqKWAAAeZ6fl9nnpZ6fjwCUsLH2vyf0HzWrZr7vU4cp9R8N918JhcBu19n2nzP1XPuDDMAAAADR8l9p8ln086tnRioxUmKwSqxWIBJlEkoxVZFhFiJSQJF2Rqez5DHEWxZAIAA36B63qfO+vr4fCfZ/I5YaJkywxUsxyLjVMag6Ofq17vRvf2eb7HhPR8/XukrHOLKASliweT6vl9/l5Y5T0PLkogWKII9Pu+eY5dvEZYjafT+xy9XJ0AoAAAADwfe8+7PnJlN3dJlCBJMoRYkmUqLEiwjLoY8ixZMiYzf7Uw+ee55hv9Hd42OvR9TfKmPBxfX8NvzizZtBAIoiiCTZ7nz3djxfSfK44tUxzxyxVDFSoDHODfoY7PpvR8To832NWn2/F1bZKw3QLFlFgBr87u4vR8iyzu86SxYsAWACAHfwe/hl9Hkc+8AAAAABhmPjp18u70sVVJlDFlEkyxEobnozVfQ+d346/b8X0PnTZq+y+Oyy9zz+7CY/QfIfUfITH6rzMN6ep5fo+bMfP4/pPCz236XyfKmOhZs2yiJRFiAJYTbgnJmmTjxbta4zqkz5nXzpqVZjbFhlL9H2eJt8n3duk1b4GVxsLBUogrm5enR6nizHfp6uGC3FYJYJSwQBfsPlftdOzoGraAAAAAAB4vkfSfN7O2Ky3RYkmUqTKEWJPovnvex0+A7uDLP635D6v5rDT73kZ+6nzvua0mHn88z2a/a+fW3p5ZalLJVkZbpOfLtwmPPu9DjmPPo9Dnt5lZZQDq5c5r9PDjuPn9s5dR6OPm06tnAMVZYSZFko9Lfr6/I+h0N2OvZrmdXWyxlkyiywpYc30vy3vep4uHndvh7+XBlNuuTLFYsIFAiyPT+v8H6Dm3hjkAAAAAABPkvrvncujhmU2dcWCUYqSTKVO/gymHteB73hTD2dHmy2dnIuWeqyosEuxNU6OmY8OfXqmPF38uVvdr4sJj1Y8q3LBvt0T0OBIstlESjo1792Hl8s7szlw6tS6+f1OE51mWqKWLD0O3zu3yff6sNEw2dmPNK68dOWWOhs16d5YsKuvXq9f1/A9b4/0/J26ZMpswxUuMyhJaYrBZ0y/Vehp3cnSAAAAAAAA8r1eZn8ys3ejFElJARYkWVFhFiR1ZTDiz7sGPD0beRe3Xq0MfT4tC3dqxtsx7UnPOvFjjt0yTdjr5T1fO1S0MskpIoz2826ebTFzATHMuMyhiyiwp29vm+t5vtTHK6ejHX1K5cerTjnqVr2SWKVXmXHP3fmZMpljgylrGwixWNEBPX8j6jXs9qnPuAAAAAAAAA+V1+hwbfTkq5SUkl2ppbdjHldmUx4d2OduXTp1462XFcs9+vXuNWGzZXNv39M1+dr7acHpeftMs+GW9XJVuMyixRJlEgqKSAmzDKcW3HKPOkyixYsWEWLFi7PU8r1fM9os5O6VK2Y4ywsmSKSXGsGrP2/nNWnu6Mp5Dqzs4Zt12YzKVCrjKMvs/lfstG7YNWwAAAAAAAADzvD+o+Yz7ZMpn0SZQnqebZq6cJzp3cmOK54b8TDX1bU4c+mp5/dzrezRz62PRjpjKSrYokqpMokmUJKSLCKMVWQEWNW+WzxMVixYsWLFElK9XyvU8/185XD6MWKgAJZbNe3HPDgydXufN8+WOB0bvPky7tOvbMuOZTZhFhJS+z9P5PrcnQEyAAAAAAAAAfNfS+Nd/mDZ3RRLCdGrbWrDPTF3Z8utOrRguVwplAkmUrFSSZQkyhJlEiwirMVElEmUSTKEmUSLK2Z6t08OBrxZRZKXFYJSz0vN9Hh9TfK8/1YCLFSwBZzdXJv59mfI9jwOu82+ZzTs3L52PRozwmOUqSibNfdjl9R045cvSAAAAAAAAAA4e7Bl8us2+pFiJRcMoRVYrEiiSkkoixEokqsVJJRiokpJKqLEijFSYrmam/Js5ehi8nKZR58CyZRZBY2ZTPT3cvRy9/XMp5fsJVSUQKlE4u3h6eQPX8GY5LZZiuWulxmUrG2LPc8T6vVs9IaN4AAAAAAAAAAHzvN6vlbPSC7IpIsIsIqpKIsSLCLEAixJMpUmUJMokWEUmLZWWnLabMKTZliNgKs348mWXfjp4eXLoyx2aLvx15zOJnKmOV8/v4sW0cu5LFSykohFcHfwdnBlMp6niyUuMyxqBcVlslG37D5r6vn6KNewAAAAAAAAAADk+f+q+Xy7MVmfUABFJFhFhFVisRKJKSLCLBMxrZmcKySGwuK1KqWAKA2a0x9fPj6eTkVjGcwyxuViSwhx9nHGeNw5t2TGW5XUra0Vd80w3+d18nb5u2ZY9/jyWWyZS3FYYzKLJavue9w93J1goAAAAAAAAAADwfe8y7vHsbPQAAASiLESiSqkyyNc3ZRpbcFky1srGNyymWBbjFRkykolFJSWFAA6erzvW5uXBcdctxsXLGyZJZHL1c+LSxz598lwtIuVmWIkMpp26+/xtkrs8rGWWwGKy2SxZv0eljn9HtObqAAAAAAAAAAAAc/QX5S569vq0gUQAyMWdNWW2RjaVJFJjVkiwtYJVlhZljTGigEKCgAoD0PP6dWnrmGWjBlLIqRlZJM9WzCTkz1Zc27LC5LqytZYS421C67hl6Pj5xerzMSMJMsbWOUtksJ9D4P1Wrf2DTvAAAAAAAAAAAAA8Tg9rxM/QGeW7C5UxuJc7hYtkW45YVUhWFKxElxtlVcfXy9vDh+Z4PW8jLpsLullEsWywBQUAFdHPcdfblJz688sZjMssM4XCyZsbHn7tOzm2SxM4W3GWmK1eXPW9Tzql6deyMccNk1W6clNODPBp6PrPn/AKPR0BhsAAAAAAAAAAAAA1/L/WfOXq5s2rZ27GvI2QLKUwGWFhMpDZry1mWFlsygmWHbMfpsnnavJ8fird65cWUoqKEKACgoCUb93J06/Jz14ZMN80XDb0Xm6MN+VxuvbxbMLzZoTYlGNVWNhzXHL1/N26pduEzwtJYpYM8Nkx+g9Tm6eXmBQAAAAAAAAAAAAHl+pzYbPC5+6PR5L0adlwLnbnrxMoVLIMbKLgueGUJN3fMPN3ejqmHR53oexjz8fbWPM5erE+X49/Pu9clZiLUoSgKCgOjl3zxdjCXk246rMb1cnXr7rcbo9PnuLmtxrDZJlitWJCrxbdefs+XLLskCgAOzj9nDD3cjn0AAAAAAAAAAAAAAJUeG6NPl+jqbLnlx7M2+6Mdm3O+e6OfqrGzZbcciXETt5vrMdDaa/PAAAed6Pj3Z8/Y3euAsAAS1BQoE2Yx5G6JfIEtyyxmHV03G83vaTLluFNeyWCXHJZYOLZhs9zyZUtBSiAfT/O/WadO8atYAAAAAAAAAAAAAAHFx+l53mdjG46d1wzpri7rybLr67z4Xt6suKXDayQvr+/5Hr6fNCagAAHD3RfiHbxbvXC5gAABKsGWWG7W147MLy5pdvzaXFlsy1TDp2bdeOHo5I4e6xNO6UWwGGerLHRswy9vyquK2AIlYVh6H1Pie5zawxgAAAAAAAAAAAAAAE8j2PO49+iZY+d14rc2NsJo347LzbM+PqtnZrycWHZx9uXv+v839Jj5wTUAAABr8H6Jc/icfqPnsvR0M827S26sgZUAuUN02ckmGWuTXlr29vzUWXmEXPPVlq+lxuLm1Zjj9MQsVWnbo26Sz1/Fhb0YkctY1tq75l9J26tvLqAAAAAAAAAAAAAAAAcvVr1ZebK8PvkyxyuGWUyTDJkxtwythk0Y7s9zn+m+f9Ho5/RHTyAAAAAeZ4Ho8On07hnt17sePu5NjWO3IDLq4+3kjHLHnY475k5rs1dngWWbuBLLjJS5SOL6DYOH1CCwW8+/Rv5c4nq/OTEu6EZWWN71PJ+l14ewNFAAAAAAAAAAAAAAAAA8qb9Hh94mrKMplZhslYM8bZhs1ZqudTl6MNj3N/ge76PBkNmsAABq2eLr2cGcw4/TuVxxuMz07bzzq5u+wbTbqY3tYZebKIcfVx9nlbovV4kllsAlnN6O2Web9IWVYpOfo5ungzxuPp+CiMmOWF3Z22dc+u+c+r0asxrgAAAAAAAAAAAAAAAAHNxen5nl9QcW9KJhmtkqpLLZZalmNN2rXse9t+Y7fV4/acHmbMPT8jzGzs9Tr8D0+PPPA48zDOXXnhc7lp2VfP6d2W9xa+7Tvc6Y9U3dXn3nw69WvZfI1bMm/gC6pLFSSbbJly+ltlnD7wADl6uTr8zPE9Hxpjcbahs3McZ2+19F5np8uoJAAAAAAAAAAAAAAAAAHmenxcm7mHk9aKQLIuSSrYsCWpjljbPM9XR1XzB7NAdHPcL6azxWOWndmmltzmOTLLVhx+jn08/iZezq27fJz7deOGi77hp57vuvPndLV08zpmG3nu6TZrZxnisZJZaAA4uvk7vJzxs7/ACZiLcEZZb+f0cc/qOjHLl3AAAAAAAAAAAAAAAAAANG+YXyh4PoIolipZSWWpZQGNLZKryMMsfoshbI39U153s6vO0+Xt9fPbp87o6W3VjkUAA17Bx8vrGPgafpNeWr5ye3y5avNnXrY8+PVMcuSdWM280368duNxxm7a55jt6XLMdu3Rjn2ecxuO7ntwjKWEv0Hz/2OrZ6A0bgAAAAAAAAAAAAAAAAAAPN19fJ4ncGnNKJKtkomOUyoDGtuMbt/Rq8TL6Hd6Onxe7tNWraIAAAAAAAAABNHQPO5PcXX81p+o0ZavnMPa5M9fnTdozwYXG2QuUxq5Yy4LYgB0/Z/MfWc2+jDMAAAAAAAAAAAAAAAAAADT5/reV5vTBwdAElxzlN3Tr0Y+hv6dXmbvRdGrm35NmIAAAAAAAAAAAAAAAAAGvl7ieFwfWTLD4nV9txbMflJ7fn548eOWOeNlgszPpPb4u3j6gAAAAAAAAAAAAAAAAAAAHD3TXl5WPdnybvO2enenVw9O1uwlAAAAAAAAAAAAAAAAAAAAAAAABjkObz/AGSfK8P3GGzH4L0Pps0z2GvYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/8QAAv/aAAwDAQACAAMAAAAh888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888930w68418+7z08888888888888888888888888888888888888zy1X/ADrP4cYQAAAAMcc+PPPPPPPPPPPPPPPPPPPPPPPPPPPPKM5VVszv/tPJqbYAEWkAdgHb/wD9zw+g77zzzzzzzzzzzzzzzzzzzzzxscJd/wC6a2JXlZdIwVR5CmA6+/xiS/8A3v8Azzzzzzzzzzzzzzzzzzj6GYqA/bra6b0gPqeniAgqEGIA176pmiGTg93r/wA88888888888ztuwZMwg4dwvL2+uPs++9wQNMIEoAQZ++Y+4Cua+++8t91888888/HpgrSD9k8wN8Y8D+++++++8N00hMEk/x2++/f/wCSEPtM+PnS/PPPPKP++Fat8opAWWQCZC9vvvvvmRKAANbVMfnfvvvv+kQPhzk4vtPPPPPPM1hzLQI4sgcWcMBWCiw0soklGCBGSDE0SkcPvvunSUOskK/qfPPPPPLuYo/lKLn3qABMTdhQJq1wxO7eQWKPSUElpSUNsVMSMPjPeF/PPPPPKsNBlp9IYKRt990DSfDScMH8+cJMCcRnF0ThZRSzXZQPPvu3PPPPPPLMOUIVjuS/9yERdaC5LQBTVNnNQKuSMw7zXTsvdO6JTUPvj/PPPPPPPP8AKdxyGWXcEIykWJmpIyjDwh8VuP3ARCZQFE4YB7ES2gDbbzzzzzzzx8OJL9Q9ZzmTjhfrrKfpbS1iaZh60iT6+xn+Xp4HyDHmEXzzzzzzzzy6WpM4eQQGNH5cAkIU64+xnBSS2BVSlM/RDN6HULQ2RymDzzzzzzzzyyhh+gHNAaxKymHNRl7JMjEzdHSR2xQIbQ+Rvqa2mt2hEzzzzzzzzzzxNXSFkMuZ5Ry5/JBFJ+aLkjTXyzTkgF2Z+9T7ivdrSHAfzzzzzzzzzys+NNUzlAo9TlJJeanlpdbeVITAj1jti2ZerB+BCIh1ZTzzzzzzzzzzwDd/aDXt+pNsjlKpswWAv/jRMhB2YnZhkpM+tlWr2Q3zzzzzzzzzzzzwjMf/AIYFm/Kn001mH15bco0BYXgm/LGUZP7wK1ukZp888888888888/1sCznng9bXn2XiLZVMhwAGsxcka9aupZZQTfwh772888888888888ts88MSnfYUzPvldF6VgIAgA5y1hxT/xxs+GKMrhOXU8888888888888sEw8wM+WuM+R1Eb6vHKlIIxyzi2EHdeVa+NHXQFF88888888888888P4t8Lm085LBIhFW3SfPKzIWlHqbCYOQby9ZyYIHp88888888888888t87V0MaOfYg/HlDiTCTDCTw6FStHCMwSeoKp4oDV888888888888886J9IOD7lsX7qHRUorGLLCCCvMyJwMRWL/vxSCSAc88888888888888uCosqzeyGuBAAAEo8t9+PCDjbsRRDgF7j9tWgi98888888888888888mFzQJI1cKAAAAGLcgR9+vmJ4kSIiR6CCFEGjas88888888888888889Ys1YGzNLAAAAAxFeBR11qT63CcVrXaM2C++zc8888888888888888rTUmvgJZRAAAAAAwKBAAtslQCF4PjveKLbm/bc88888888888888888hHCx2f5PjAAAAbld0iBUuMUaQpXW0Yp9H8aS888888888888888888pBT6xEjP0BOqFS5lIqJBk5oCTJsU88r78hHU8888888888888888884Bbu54BJa+2uC4J7uCQ2uJMDpEGU887wZMsc8888888888888888887LbWVMFDq5U7k/Tfc88ceKAHHAWIRwMgJ9Z88888888888888888888iBRYbcJaypus8888888888cd6UoavAUF9u88888888888888888888jBBziVXM88888888888888888stvYud1p+888888888888888888888K1s88888888888888888888888888/IH88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/8QAAv/aAAwDAQACAAMAAAAQ8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899w+5388zw/0y88888888888888888888888888888888888880/83CcRShSDQnLLDD+45z0888888888888888888888888888nQ+IzJ5QgdFPbhSftVQKSLLQAACRxWW/8888888888888888888888BeRFfKUjJ9ivRMaePtBiP7T9AKWhBAlU8888888888888888884ynFn1r373QTwWso+ROanWqqhD5ZFZCkirXdp/wCvPPPPPPPPPPPM8tZyaq0saMc4ttIzYYCEjo59uz37+04QS6RDRsvvrfvOd/PPPPPPwYW7c6wEA5yyAbKjmtvjjIFx53u+sni2daQQMAEAkPifs9Dj/PPPPOpAoEhHc+vWEpoDPBt/vvvrh2z6sxoxoM++fRTQFswvRsCZuu/PPPPPPNK9Ne2a9kIt4vYUehjk84xJwrj20h6D59/rZbTcr0PjQL/rvPPPPPHIvex6E0ESuREn46vBWj4njpgWznu9kp4p3K0tWm24sPj/AD/Xzzzzzyn1alwtVa+i/wDRiZtVl9IxFDbzWK7OfIyDfL5R7eRmzK8++uU888888tC8FiFITsqhI+wVCZWifhAdsLAWKm2e/N8fMfsSdPiDS++Z888888889+nxSeKJfK/0WrupdUd3hMnR3t//AFu5ACy06AdHoV1jiNvfPPPPPPPCdTyogTVbJqd02ApDyzAZ+51qMVcn25lFu5gLNbZemqh2vPPPPPPPPP8AfEkPek6oJrPSmjygWf59bPMPvJ7PMKPs9lezNNBiZ9e7zzzzzzzzzx5ah9DteopRCWKd9V/pf3n7tYsqaOb+m1R2mx/z87NprnzzzzzzzzzyBhnvcpsAjRGL6MyaRy/qg3FO6Y6prDPR9MmCWwFOssNXzzzzzzzzzz/2psRsdlo+2OmTtfHYxDNdwkvZJ98407FwaNCd8BSq1Tzzzzzzzzzzr40LImexl+84SI3QbC6vGEWui4ZLan4H/UL69hbFTrNzzzzzzzzzzzyfa2XLXaL0QYd05YiOsjaNYvYhL2gMRI1MxgbrakkUDzzzzzzzzzzzz5ZOTkMZkdRla7zYhL+9c76xrysCVN7x/wCtA2Mpvnb3888888888888uvvP7clCNYgMqIdiUOirue+xtuvO/abwJQ128PeBdU8888888888886sHzzKgL8Sjo5Wik8Mt9f+2I8JNwN0rBu55suEdbE88888888888888DzUQju4560IoDnptNJx1M2ozXatImmYR9TNyvnOt88888888888888Mb4HAWAk80y6h4AvbbzEFkNfkbxKpM2YVLr8Geqf88888888888888txCQL8Sae03XSCGwqWmrBAVqBi40lOVxp0tt9t6088888888888888v/ZBGmkIgkgAAAHU5ENzvGBnH1HhlzfI2oD4Wdu8888888888888888ZgylrDhgBAAAAF209tBOuGnOPzQCCjTeI14cM38888888888888888+WfyoGp9LAAAAAjoh18JBNvPKLsogGavH5IPhc8888888888888888ubs9jq4YNAAAAAA+yTS1yQ2Q20esafe6KJ6iXc88888888888888888MtEUKS6qLAAAAA5JyEDwdvluN/Au146TCl+8888888888888888888n3RLZ/OZyOEwsrJ8uJpIV4DqpE3Ud9uaxR6m888888888888888888u99qmE2p2gKTY48FDOM8LBS5lYZV99IZbOyc888888888888888888u01MKQApOOKDOINMs88MetnUbrXa+3R/WvN88888888888888888888/97RzX3U6XNs8888888888cK4RGXm0GH+f88888888888888888888+9t9ZGM8c8888888888888888sffmWeWtW888888888888888888889YEt8888888888888888888888888s+kec8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/8QAQBEAAgEDAgIHBgUCBAUFAQAAAQIDAAQREiEFMQYQEyBBUWEiMDJxgZEUQEJSoSNDFWKx0XBygpLBJDNQY6KD/9oACAECAQE/AP8AgBe31vZRh5mOCcADcml6ScPPNZR81H/g1Hxvh0hAErZPIaGJ/gU99axkCSURk8g4Kf64pbu1f4biI/JgaBBGQQR1hWPIGhDMf7bfahazn9BoWc/kB9aazmAJ2PoP/hxHIeSN9qEEx/ttQtLg/o/kVxLo3PxCaFjcLGiKfDUcmrbohwmHBkEkx/zNgfxUFnaWwxBBHH/yqBXELC3v7cwzLtnII5j5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"}},"time_used":336,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":116,"receive":220,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/utility-classes.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.313Z","timestamp":1785123385313,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/utility-classes.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/css/style-main.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"4ac3-65fd8520-3e13644cc56af3a6;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2527\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":19139,"size_decoded":2967,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"b54ec3e017a42b1f5b274649a23fa561","sha1":"0387df1aa51d2333ac0ad57341150783a5b7ea8c","sha256":"754f31efd736c24405f7f87bc701e66e7749ff98917c0dd9d0e27347a17c0e9e","sha512":"fee9150a36273dd22c3068d176832648ff776b1992a4ed32f492618993aa639db92a61d2d7a54169576478b307564afdea82f2d8adcfb4e250997c59925c37c3","ssdeep":"192:puyZu02WWrMzNVq9qZz00JOMpUUe+d22Z0nI:FMR1cVMszV0nI","tlshash":"af826657fef349047036d56a34a6bbbcbb3d8001860e6e39679032746bc57eaca2d644","first_seen":"2023-05-18T23:45:03Z","last_seen":"2026-07-27T14:34:25.26476Z","times_seen":80,"resource_available":false,"data":"LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEF1dGhvcjogVGhlbWVNYXNjb3QKQFVSTDogaHR0cDovL3RoZW1lZm9yZXN0Lm5ldC91c2VyL1RoZW1lTWFzY290Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi8qCiAqIFV0aWxpdHkgQ2xhc3NlcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBUZXh0IENvbG9ycyAtLS0tLS0tLS0tICovCi8qIFRleHQgQmxhY2sgJiBHcmF5IENvbG9yKi8KLnRleHQtYmxhY2sgewogIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7Cn0KLnRleHQtYmxhY2stMTExIHsKICBjb2xvcjogIzExMTExMSAhaW1wb3J0YW50Owp9Ci50ZXh0LWJsYWNrLTIyMiB7CiAgY29sb3I6ICMyMjIyMjIgIWltcG9ydGFudDsKfQoudGV4dC1ibGFjay0zMzMgewogIGNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7Cn0KLnRleHQtYmxhY2stNDQ0IHsKICBjb2xvcjogIzQwNDA0MCAhaW1wb3J0YW50Owp9Ci50ZXh0LWJsYWNrLTU1NSB7CiAgY29sb3I6ICM1NTU1NTUgIWltcG9ydGFudDsKfQoudGV4dC1ibGFjay02NjYgewogIGNvbG9yOiAjNjY2NjY2ICFpbXBvcnRhbnQ7Cn0KLnRleHQtYmxhY2stNzc3IHsKICBjb2xvcjogIzc3Nzc3NyAhaW1wb3J0YW50Owp9Ci50ZXh0LWJsYWNrLTg4OCB7CiAgY29sb3I6ICM4MDgwODAgIWltcG9ydGFudDsKfQoudGV4dC1ibGFjay05OTkgewogIGNvbG9yOiAjOTk5OTk5ICFpbXBvcnRhbnQ7Cn0KLnRleHQtZ3JheS1kaW1ncmF5IHsKICBjb2xvcjogIzY2NjY2NiAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktbGlnaHQgewogIGNvbG9yOiAjNzc3Nzc3ICFpbXBvcnRhbnQ7Cn0KLnRleHQtZ3JheSB7CiAgY29sb3I6ICM4MDgwODAgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWRhcmtncmF5IHsKICBjb2xvcjogI2E5YTlhOSAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktc2lsdmVyIHsKICBjb2xvcjogI2MwYzBjMCAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktbGlnaHRncmF5IHsKICBjb2xvcjogI2QzZDNkMyAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktZ2FpbnNib3JvIHsKICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktbGlnaHRlciB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWFhYSB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWJiYiB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWNjYyB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWRkZCB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWVlZSB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQovKiBUZXh0IFdoaXRlIENvbG9yKi8KLnRleHQtd2hpdGUgewogIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjEgewogIGNvbG9yOiAjZjFmMWYxICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjIgewogIGNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjMgewogIGNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjQgewogIGNvbG9yOiAjZjRmNGY0ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjUgewogIGNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjYgewogIGNvbG9yOiAjZjZmNmY2ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjcgewogIGNvbG9yOiAjZjdmN2Y3ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjggewogIGNvbG9yOiAjZjhmOGY4ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjkgewogIGNvbG9yOiAjZjlmOWY5ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZmEgewogIGNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZmMgewogIGNvbG9yOiAjZmNmY2ZjICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZmQgewogIGNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZmUgewogIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gU29saWQgQ29sb3IgQmFja2dyb3VuZCAtLS0tLS0tLS0tICovCi5iZy1kZWVwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxICFpbXBvcnRhbnQ7Cn0KLmJnLWxpZ2h0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7Cn0KLmJnLWxpZ2h0ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3ZjcgIWltcG9ydGFudDsKfQouYmctbGlnaHRlc3QgewogIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmMgIWltcG9ydGFudDsKfQouYmctc2lsdmVyLWxpZ2h0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOEZBICFpbXBvcnRhbnQ7Cn0KLmJnLWJsYWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7Cn0KLmRpdmlkZXItZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNSAhaW1wb3J0YW50Owp9CmZvb3Rlci5iZy1kZWVwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkxOTE5ICFpbXBvcnRhbnQ7Cn0KLmJnLWJsYWNrLTExMSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMSAhaW1wb3J0YW50Owp9Ci5iZy1ibGFjay0yMjIgewogIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjIgIWltcG9ydGFudDsKfQouYmctYmxhY2stMzMzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7Cn0KLmJnLWJsYWNrLTQ0NCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDA0MCAhaW1wb3J0YW50Owp9Ci5iZy1ibGFjay01NTUgewogIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTUgIWltcG9ydGFudDsKfQouYmctZ3JheS1kaW1ncmF5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2ICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktbGlnaHQgewogIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3NzcgIWltcG9ydGFudDsKfQouYmctZ3JheSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MCAhaW1wb3J0YW50Owp9Ci5iZy1ncmF5LWRhcmtncmF5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTlhOWE5ICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktc2lsdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMGMwICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktbGlnaHRncmF5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktZ2FpbnNib3JvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktbGlnaHRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci8qIEJnIFdoaXRlIENvbG9yKi8KLmJnLXdoaXRlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWYxIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWYyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWYzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY1IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY2IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY3IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY4IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZiIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZjIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gVHJhbnNwYXJlbnQgQmFja2dyb3VuZCBDb2xvciAtLS0tLS0tLS0tICovCi5iZy13aGl0ZS10cmFuc3BhcmVudC05IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgIWltcG9ydGFudDsKfQouYmctd2hpdGUtdHJhbnNwYXJlbnQtOCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLXRyYW5zcGFyZW50LTcgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhaW1wb3J0YW50Owp9Ci5iZy13aGl0ZS10cmFuc3BhcmVudC02IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgIWltcG9ydGFudDsKfQouYmctd2hpdGUtdHJhbnNwYXJlbnQtNSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLXRyYW5zcGFyZW50LTQgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSAhaW1wb3J0YW50Owp9Ci5iZy13aGl0ZS10cmFuc3BhcmVudC0zIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgIWltcG9ydGFudDsKfQouYmctd2hpdGUtdHJhbnNwYXJlbnQtMiB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLXRyYW5zcGFyZW50LTEgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTkgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTggewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTcgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTYgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTQgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTMgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTIgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTEgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIEZvbnQgV2VpZ2h0IC0tLS0tLS0tLS0gKi8KLmZvbnQtd2VpZ2h0LTEwMCB7CiAgZm9udC13ZWlnaHQ6IDEwMCAhaW1wb3J0YW50Owp9Ci5mb250LXdlaWdodC0yMDAgewogIGZvbnQtd2VpZ2h0OiAyMDAgIWltcG9ydGFudDsKfQouZm9udC13ZWlnaHQtMzAwIHsKICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7Cn0KLmZvbnQtd2VpZ2h0LTQwMCB7CiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50Owp9Ci5mb250LXdlaWdodC01MDAgewogIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDsKfQouZm9udC13ZWlnaHQtNjAwIHsKICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7Cn0KLmZvbnQtd2VpZ2h0LTcwMCB7CiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50Owp9Ci5mb250LXdlaWdodC04MDAgewogIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKfQouZm9udC13ZWlnaHQtOTAwIHsKICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gRm9udCBTaXplIC0tLS0tLS0tLS0gKi8KLmZvbnQtOSB7CiAgZm9udC1zaXplOiA5cHggIWltcG9ydGFudDsKfQouZm9udC0xMCB7CiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMTEgewogIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50Owp9Ci5mb250LTEyIHsKICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsKfQouZm9udC0xMyB7CiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMTQgewogIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50Owp9Ci5mb250LTE1IHsKICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsKfQouZm9udC0xNiB7CiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMTcgewogIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50Owp9Ci5mb250LTE4IHsKICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsKfQouZm9udC0xOSB7CiAgZm9udC1zaXplOiAxOXB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjAgewogIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50Owp9Ci5mb250LTIxIHsKICBmb250LXNpemU6IDIxcHggIWltcG9ydGFudDsKfQouZm9udC0yMiB7CiAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjMgewogIGZvbnQtc2l6ZTogMjNweCAhaW1wb3J0YW50Owp9Ci5mb250LTI0IHsKICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDsKfQouZm9udC0yNSB7CiAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjYgewogIGZvbnQtc2l6ZTogMjZweCAhaW1wb3J0YW50Owp9Ci5mb250LTI3IHsKICBmb250LXNpemU6IDI3cHggIWltcG9ydGFudDsKfQouZm9udC0yOCB7CiAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjkgewogIGZvbnQtc2l6ZTogMjlweCAhaW1wb3J0YW50Owp9Ci5mb250LTMwIHsKICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDsKfQouZm9udC0zMiB7CiAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMzYgewogIGZvbnQtc2l6ZTogMzZweCAhaW1wb3J0YW50Owp9Ci5mb250LTM4IHsKICBmb250LXNpemU6IDM4cHggIWltcG9ydGFudDsKfQouZm9udC00MCB7CiAgZm9udC1zaXplOiA0MHB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtNDIgewogIGZvbnQtc2l6ZTogNDJweCAhaW1wb3J0YW50Owp9Ci5mb250LTQ0IHsKICBmb250LXNpemU6IDQ0cHggIWltcG9ydGFudDsKfQouZm9udC00NiB7CiAgZm9udC1zaXplOiA0NnB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtNDggewogIGZvbnQtc2l6ZTogNDhweCAhaW1wb3J0YW50Owp9Ci5mb250LTU0IHsKICBmb250LXNpemU6IDMuODU3MTQyODZyZW0gIWltcG9ydGFudDsKfQouZm9udC02MCB7CiAgZm9udC1zaXplOiA0LjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7Cn0KLmZvbnQtNjQgewogIGZvbnQtc2l6ZTogNC41NzE0Mjg1N3JlbSAhaW1wb3J0YW50Owp9Ci5mb250LTcyIHsKICBmb250LXNpemU6IDUuMTQyODU3MTRyZW0gIWltcG9ydGFudDsKfQouZm9udC03OCB7CiAgZm9udC1zaXplOiA1LjU3MTQyODU3cmVtICFpbXBvcnRhbnQ7Cn0KLmZvbnQtOTAgewogIGZvbnQtc2l6ZTogNi40Mjg1NzE0M3JlbSAhaW1wb3J0YW50Owp9Ci5mb250LTEwMCB7CiAgZm9udC1zaXplOiA3LjE0Mjg1NzE0cmVtICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMTUwIHsKICBmb250LXNpemU6IDEwLjcxNDI4NTcxcmVtICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjAwIHsKICBmb250LXNpemU6IDE0LjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gTGV0dGVyIFNwYWNpbmcgLS0tLS0tLS0tLSAqLwoubGV0dGVyLXNwYWNlLTAgewogIGxldHRlci1zcGFjaW5nOiAwcHg7Cn0KLmxldHRlci1zcGFjZS0xIHsKICBsZXR0ZXItc3BhY2luZzogMXB4Owp9Ci5sZXR0ZXItc3BhY2UtMiB7CiAgbGV0dGVyLXNwYWNpbmc6IDJweDsKfQoubGV0dGVyLXNwYWNlLTMgewogIGxldHRlci1zcGFjaW5nOiAzcHg7Cn0KLmxldHRlci1zcGFjZS00IHsKICBsZXR0ZXItc3BhY2luZzogNHB4Owp9Ci5sZXR0ZXItc3BhY2UtNSB7CiAgbGV0dGVyLXNwYWNpbmc6IDVweDsKfQoubGV0dGVyLXNwYWNlLTYgewogIGxldHRlci1zcGFjaW5nOiA2cHg7Cn0KLmxldHRlci1zcGFjZS03IHsKICBsZXR0ZXItc3BhY2luZzogN3B4Owp9Ci5sZXR0ZXItc3BhY2UtOCB7CiAgbGV0dGVyLXNwYWNpbmc6IDhweDsKfQoubGV0dGVyLXNwYWNlLTkgewogIGxldHRlci1zcGFjaW5nOiA5cHg7Cn0KLmxldHRlci1zcGFjZS0xMCB7CiAgbGV0dGVyLXNwYWNpbmc6IDEwcHg7Cn0KLyogLS0tLS0tLS0gei1pbmRleCAtLS0tLS0tLS0tICovCi56LWluZGV4LS0xIHsKICB6LWluZGV4OiAtMSAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTAgewogIHotaW5kZXg6IDAgIWltcG9ydGFudDsKfQouei1pbmRleC0xIHsKICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7Cn0KLnotaW5kZXgtMiB7CiAgei1pbmRleDogMiAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTMgewogIHotaW5kZXg6IDMgIWltcG9ydGFudDsKfQouei1pbmRleC00IHsKICB6LWluZGV4OiA0ICFpbXBvcnRhbnQ7Cn0KLnotaW5kZXgtNSB7CiAgei1pbmRleDogNSAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTk5IHsKICB6LWluZGV4OiA5OSAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTExMSB7CiAgei1pbmRleDogMTExICFpbXBvcnRhbnQ7Cn0KLnotaW5kZXgtMTExMSB7CiAgei1pbmRleDogMTExMSAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTk5OTkgewogIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBMaW5lIEhlaWdodCAtLS0tLS0tLS0tICovCi5saW5lLWhlaWdodC0wIHsKICBsaW5lLWhlaWdodDogMHB4Owp9Ci5saW5lLWhlaWdodC0xIHsKICBsaW5lLWhlaWdodDogMTsKfQoubGluZS1oZWlnaHQtMjAgewogIGxpbmUtaGVpZ2h0OiAyMHB4Owp9Ci5saW5lLWhlaWdodC01MCB7CiAgbGluZS1oZWlnaHQ6IDUwcHg7Cn0KLmxpbmUtaGVpZ2h0LTgwIHsKICBsaW5lLWhlaWdodDogODBweDsKfQoubGluZS1oZWlnaHQtMTAwIHsKICBsaW5lLWhlaWdodDogMTAwcHg7Cn0KLmxpbmUtaGVpZ2h0LTExMCB7CiAgbGluZS1oZWlnaHQ6IDExMHB4Owp9Ci5saW5lLWhlaWdodC0xMjAgewogIGxpbmUtaGVpZ2h0OiAxMjBweDsKfQoubGluZS1oZWlnaHQtMTMwIHsKICBsaW5lLWhlaWdodDogMTMwcHg7Cn0KLmxpbmUtaGVpZ2h0LTE1MCB7CiAgbGluZS1oZWlnaHQ6IDE1MHB4Owp9Ci5saW5lLWhlaWdodC0yMDAgewogIGxpbmUtaGVpZ2h0OiAyMDBweDsKfQoubGluZS1oZWlnaHQtMWVtIHsKICBsaW5lLWhlaWdodDogMWVtOwp9Ci5saW5lLWhlaWdodC0xIHsKICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIEN1c3RvbSBNYXJnaW4gUGFkZGluZyAtLS0tLS0tLS0tICovCi5tYi01IHsKICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDsKfQoubWwtNSB7CiAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50Owp9Ci5tci01IHsKICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50Owp9Ci5tdC01IHsKICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDsKfQoubXQtMTIgewogIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDsKfQoubWItMjUgewogIG1hcmdpbi1ib3R0b206IDI1cHggIWltcG9ydGFudDsKfQoucGItNSB7CiAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50Owp9Ci5wbC01IHsKICBwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50Owp9Ci5wci01IHsKICBwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudDsKfQoucHQtNSB7CiAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50Owp9Ci5wLTI1IHsKICBwYWRkaW5nOiAyNXB4ICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gQm9yZGVyIC0tLS0tLS0tLS0gKi8KLm5vLWJvcmRlciB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci0xcHggewogIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWUgIWltcG9ydGFudDsKfQouYm9yZGVyLTJweCB7CiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItM3B4IHsKICBib3JkZXI6IDNweCBzb2xpZCAjZWVlZWVlICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci00cHggewogIGJvcmRlcjogNHB4IHNvbGlkICNlZWVlZWUgIWltcG9ydGFudDsKfQouYm9yZGVyLTVweCB7CiAgYm9yZGVyOiA1cHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItNnB4IHsKICBib3JkZXI6IDZweCBzb2xpZCAjZWVlZWVlICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci03cHggewogIGJvcmRlcjogN3B4IHNvbGlkICNlZWVlZWUgIWltcG9ydGFudDsKfQouYm9yZGVyLThweCB7CiAgYm9yZGVyOiA4cHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItOXB4IHsKICBib3JkZXI6IDlweCBzb2xpZCAjZWVlZWVlICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci0xMHB4IHsKICBib3JkZXI6IDEwcHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItbGVmdCB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGNkY2RjICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci1yaWdodCB7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYyAhaW1wb3J0YW50Owp9Ci5ib3JkZXItdG9wIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYyAhaW1wb3J0YW50Owp9Ci5ib3JkZXItYm90dG9tIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItYm90dG9tLTJweCB7CiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWUgIWltcG9ydGFudDsKfQouYm9yZGVyLWJvdHRvbS1ncmF5IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMyAhaW1wb3J0YW50Owp9Ci5ib3JkZXItZ3JheSB7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gQm9yZGVyIFJhZGl1cyAtLS0tLS0tLS0tICovCi5ib3JkZXItcmFkaXVzLTVweCB7CiAgYm9yZGVyLXJhZGl1czogNXB4Owp9Ci5ib3JkZXItcmFkaXVzLTEwcHggewogIGJvcmRlci1yYWRpdXM6IDEwcHg7Cn0KLmJvcmRlci1yYWRpdXMtMTVweCB7CiAgYm9yZGVyLXJhZGl1czogMTVweDsKfQouYm9yZGVyLXJhZGl1cy0yMHB4IHsKICBib3JkZXItcmFkaXVzOiAyMHB4Owp9Ci5ib3JkZXItcmFkaXVzLTI1cHggewogIGJvcmRlci1yYWRpdXM6IDI1cHg7Cn0KLmJvcmRlci1yYWRpdXMtMzBweCB7CiAgYm9yZGVyLXJhZGl1czogMzBweDsKfQouYm9yZGVyLXJhZGl1cy0zNXB4IHsKICBib3JkZXItcmFkaXVzOiAzNXB4Owp9Ci5ib3JkZXItcmFkaXVzLTQwcHggewogIGJvcmRlci1yYWRpdXM6IDQwcHg7Cn0KLmJvcmRlci1yYWRpdXMtNDVweCB7CiAgYm9yZGVyLXJhZGl1czogNDVweDsKfQouYm9yZGVyLXJhZGl1cy01MHB4IHsKICBib3JkZXItcmFkaXVzOiA1MHB4Owp9Ci8qIC0tLS0tLS0tIFBvc2l0aW9uIC0tLS0tLS0tLS0gKi8KLnJlbGF0aXZlIHsKICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKfQouYWJzb2x1dGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Owp9Ci5hYnNvbHV0ZS1pbmhlcml0IHsKICBwb3NpdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50Owp9Ci5wb3NpdGlvbi1yZWxhdGl2ZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7Cn0KLnBvc2l0aW9uLWFic29sdXRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKfQoucG9zaXRpb24tc3RhdGljIHsKICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7Cn0KLnBvc2l0aW9uLWZpeGVkIHsKICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsKfQoucG9zaXRpb24taW5oZXJpdCB7CiAgcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDsKfQoucG9zaXRpb24tdW5zZXQgewogIHBvc2l0aW9uOiB1bnNldCAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIEJhY2tncm91bmQgSW1hZ2UgLS0tLS0tLS0tLSAqLwoubm8tYmcgewogIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKfQouYmctbm8tcmVwZWF0IHsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7Cn0KLmJnLWltZy1maXhlZCB7CiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZCAhaW1wb3J0YW50Owp9Ci5iZy1pbWctY292ZXIgewogIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDsKfQouYmctaW1nLWNlbnRlci10b3AgewogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AgIWltcG9ydGFudDsKfQouYmctaW1nLWNlbnRlci1ib3R0b20gewogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20gIWltcG9ydGFudDsKfQouYmctaW1nLWNlbnRlciB7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlciAhaW1wb3J0YW50Owp9Ci5iZy1pbWctbGVmdC10b3AgewogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7Cn0KLmJnLWltZy1sZWZ0LWJvdHRvbSB7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTsKfQouYmctaW1nLXJpZ2h0LXRvcCB7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7Cn0KLmltZy1mdWxsd2lkdGggewogIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gQWJzb2x1dGUgSW1hZ2UgUG9zaXRpb25pbmcgLS0tLS0tLS0tLSAqLwoub3ZlcmZsb3ctdmlzaWJsZSB7CiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsKfQoub3ZlcmZsb3ctaGlkZGVuIHsKICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KLm92ZXJmbG93LXgtaGlkZGVuIHsKICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDsKfQoub3ZlcmZsb3cteS1oaWRkZW4gewogIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50Owp9Ci5ib3gtYWJzb2x1dGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Owp9Ci5pbWctYWJzb2x1dGUtcGFyZW50IHsKICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKfQouaW1nLWFic29sdXRlLXBhcmVudCBpbWcuaW1nLWFic29sdXRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKfQouaW1nLWFic29sdXRlLXBhcmVudCBpbWcuaW1nLXBvcy1sZWZ0IHsKICBsZWZ0OiAwICFpbXBvcnRhbnQ7Cn0KLmltZy1hYnNvbHV0ZS1wYXJlbnQgaW1nLmltZy1wb3MtdG9wIHsKICB0b3A6IDAgIWltcG9ydGFudDsKfQouaW1nLWFic29sdXRlLXBhcmVudCBpbWcuaW1nLXBvcy1ib3R0b20gewogIGJvdHRvbTogMCAhaW1wb3J0YW50Owp9Ci5pbWctYWJzb2x1dGUtcGFyZW50IGltZy5pbWctcG9zLXJpZ2h0IHsKICByaWdodDogMCAhaW1wb3J0YW50Owp9Ci5pbWctYWJzb2x1dGUtcGFyZW50IGltZy5pbWctcG9zLWNlbnRlciB7CiAgbGVmdDogMCAhaW1wb3J0YW50OwogIHJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBSZXNwb25zaXZlIENsYXNzZXMgLS0tLS0tLS0tLSAqLwovKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKICAuc20tZGlzcGxheS1ibG9jayB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIH0KICAuc20tdGV4dC1jZW50ZXIgewogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5zbS10ZXh0LXJpZ2h0IHsKICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7CiAgfQogIC5zbS10ZXh0LWxlZnQgewogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OwogIH0KICAuc20tcHVsbC1ub25lLAogIC5wdWxsLWxlZnQuZmxpcC5zbS1wdWxsLW5vbmUsCiAgLnB1bGwtcmlnaHQuZmxpcC5zbS1wdWxsLW5vbmUgewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICB9CiAgLnNtLXB1bGwtbGVmdCB7CiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OwogIH0KICAuc20tcHVsbC1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLnNtLXB1bGwtY2VudGVyIHsKICAgIGRpc3BsYXk6IHRhYmxlOwogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLnNtLWZ1bGx3aWR0aCB7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnNtLWhlaWdodC1hdXRvIHsKICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLnNtLWhpZGUtYmctaW1nIHsKICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKICB9CiAgLm1heHdpZHRoNDAwIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgbWF4LXdpZHRoOiA0MDBweDsKICB9CiAgLm1heHdpZHRoNTAwIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgbWF4LXdpZHRoOiA1MDBweDsKICB9CiAgLm1heHdpZHRoNjAwIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9Cn0KLyogU21hbGwgRGV2aWNlcywgVGFibGV0cyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CiAgLnhzLWRpc3BsYXktYmxvY2sgewogICAgZGlzcGxheTogYmxvY2s7CiAgfQogIC54cy10ZXh0LWNlbnRlciB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLnhzLXRleHQtcmlnaHQgewogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLnhzLXRleHQtbGVmdCB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7CiAgfQogIC54cy1mdWxsd2lkdGggewogICAgd2lkdGg6IDEwMCU7CiAgfQogIC54cy1oZWlnaHQtYXV0byB7CiAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC54cy1oaWRlLWJnLWltZyB7CiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7CiAgfQogIC54cy1wdWxsLW5vbmUgewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICB9CiAgLnhzLXB1bGwtbGVmdCB7CiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OwogIH0KICAueHMtcHVsbC1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLnhzLXB1bGwtY2VudGVyIHsKICAgIGRpc3BsYXk6IHRhYmxlOwogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLnhzLWxpc3QtaW5saW5lLW5vbmUgbGkgewogICAgZGlzcGxheTogdGFibGU7CiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9Cn0KLyogRXh0cmEgU21hbGwgRGV2aWNlcywgUGhvbmVzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsKICAueHhzLXRleHQtY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAueHhzLWhlaWdodC1hdXRvIHsKICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9Cn0KLyogLS0tLS0tLS0gT3BlbmluZyBIb3Vyc2UgLS0tLS0tLS0tLSAqLwoub3BlbmluZy1ob3VycyB1bCBsaSB7CiAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBNdWx0aSBSb3cgQ2xlYXJmaXggLS0tLS0tLS0tLSAqLwoubXVsdGktcm93LWNsZWFyZml4IC5jb2wteHMtNjpudGgtY2hpbGQoMm4gKyAzKSB7CiAgY2xlYXI6IGxlZnQ7Cn0KLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXhzLTQ6bnRoLWNoaWxkKDNuICsgNCkgewogIGNsZWFyOiBsZWZ0Owp9Ci5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC14cy0zOm50aC1jaGlsZCg0biArIDUpIHsKICBjbGVhcjogbGVmdDsKfQoubXVsdGktcm93LWNsZWFyZml4IC5jb2wteHMtMjpudGgtY2hpbGQoNm4gKyA3KSB7CiAgY2xlYXI6IGxlZnQ7Cn0KLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXhzLTE6bnRoLWNoaWxkKDEybiArIDEzKSB7CiAgY2xlYXI6IGxlZnQ7Cn0KQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgLyogcmVzZXQgcHJldmlvdXMgZ3JpZCAqLwogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC14cy02Om50aC1jaGlsZCgybiArIDMpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wteHMtNDpudGgtY2hpbGQoM24gKyA0KSB7CiAgICBjbGVhcjogbm9uZTsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXhzLTM6bnRoLWNoaWxkKDRuICsgNSkgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC14cy0yOm50aC1jaGlsZCg2biArIDcpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wteHMtMTpudGgtY2hpbGQoMTJuICsgMTMpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAvKiBjbGVhciBmaXJzdCBpbiByb3cgZm9yIHNtYWxsIGNvbHVtbnMgKi8KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtc20tNjpudGgtY2hpbGQoMm4gKyAzKSB7CiAgICBjbGVhcjogbGVmdDsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXNtLTQ6bnRoLWNoaWxkKDNuICsgNCkgewogICAgY2xlYXI6IGxlZnQ7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1zbS0zOm50aC1jaGlsZCg0biArIDUpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtc20tMjpudGgtY2hpbGQoNm4gKyA3KSB7CiAgICBjbGVhcjogbGVmdDsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXNtLTE6bnRoLWNoaWxkKDEybiArIDEzKSB7CiAgICBjbGVhcjogbGVmdDsKICB9Cn0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLyogcmVzZXQgcHJldmlvdXMgZ3JpZCAqLwogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1zbS02Om50aC1jaGlsZCgybiArIDMpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtc20tNDpudGgtY2hpbGQoM24gKyA0KSB7CiAgICBjbGVhcjogbm9uZTsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXNtLTM6bnRoLWNoaWxkKDRuICsgNSkgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1zbS0yOm50aC1jaGlsZCg2biArIDcpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtc20tMTpudGgtY2hpbGQoMTJuICsgMTMpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAvKiBjbGVhciBmaXJzdCBpbiByb3cgZm9yIG1lZGl1bSBjb2x1bW5zICovCiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLW1kLTY6bnRoLWNoaWxkKDJuICsgMykgewogICAgY2xlYXI6IGxlZnQ7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1tZC00Om50aC1jaGlsZCgzbiArIDQpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtbWQtMzpudGgtY2hpbGQoNG4gKyA1KSB7CiAgICBjbGVhcjogbGVmdDsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLW1kLTI6bnRoLWNoaWxkKDZuICsgNykgewogICAgY2xlYXI6IGxlZnQ7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1tZC0xOm50aC1jaGlsZCgxMm4gKyAxMykgewogICAgY2xlYXI6IGxlZnQ7CiAgfQp9CkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsKICAvKiByZXNldCBwcmV2aW91cyBncmlkICovCiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLW1kLTY6bnRoLWNoaWxkKDJuICsgMykgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1tZC00Om50aC1jaGlsZCgzbiArIDQpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtbWQtMzpudGgtY2hpbGQoNG4gKyA1KSB7CiAgICBjbGVhcjogbm9uZTsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLW1kLTI6bnRoLWNoaWxkKDZuICsgNykgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1tZC0xOm50aC1jaGlsZCgxMm4gKyAxMykgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC8qIGNsZWFyIGZpcnN0IGluIHJvdyBmb3IgbGFyZ2UgY29sdW1ucyAqLwogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1sZy02Om50aC1jaGlsZCgybiArIDMpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtbGctNDpudGgtY2hpbGQoM24gKyA0KSB7CiAgICBjbGVhcjogbGVmdDsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLWxnLTM6bnRoLWNoaWxkKDRuICsgNSkgewogICAgY2xlYXI6IGxlZnQ7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1sZy0yOm50aC1jaGlsZCg2biArIDcpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtbGctMTpudGgtY2hpbGQoMTJuICsgMTMpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KfQo="}},"time_used":101,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":101,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/#","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.575Z","timestamp":1785123386575,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: alpha-achieveer.co\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\nReferer: https://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-31T13:42:13.00563Z","times_seen":17635411,"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":"translate.googleapis.com/translate_static/img/te_ctrl3.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.699Z","timestamp":1785123386699,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_ctrl3.gif HTTP/1.1\r\nHost: translate.googleapis.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1412\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:32:24 GMT\r\nexpires: Fri, 23 Jul 2027 02:32:24 GMT\r\ncache-control: public, max-age=31536000\r\nage: 349442\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1412,"size_decoded":2072,"mime_type":"image/gif","magic":"GIF image data, version 89a, 84 x 19","md5":"9afe50090c0bc612953d081295eab5b1","sha1":"71a4da2a622879c29176ecfa5afe1bbe3e8cfa40","sha256":"d228d0256370863119c043f1e5ca8f3930f6999bd9f250434b6d8935f45dc171","sha512":"d7290b951cec51994f3480c32b70de0faeca433b5d99209b044e1d4c12327768de8c344b6bded806d993251e0ee6f98f0dd64f4480e999fbc06abfe3dd8056fa","ssdeep":"","tlshash":"042182b5cc99114a5be1bd27a334899da8b12c56c38d74595436bdb43470f098422812","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-07-31T12:08:53.725938Z","times_seen":16471,"resource_available":false,"data":"R0lGODlhVAATAOePAAAAyxZBmhdFrBhHrhpMyB1Uxh1Vzh5X0R9ZzR9awSFf1SNk2CYW0SZq2yZs4Cka2yt45TB9ITJ11TODHjODIDWKGzdgrDmUGjuaRTybGT1svj6hGUClGEF1tEGnFkGpGUKrFUNnrkWjYUWoUkZtskdww0dxy0l/EkmP5EqlLUtLS0uxFFCmLlGY6lON3la4E1e0GFhYD1uxRlu5EVyyU1+vLGW8FGef5mmTx22p7W6PEW+d32+e4XKa2Hp6en6p5H9lE4eHh4i06YurxYyqyYyufoy8iI29ho7AhpCz55DEhJW55ZaT15jClqGm9afE2KgeFavK7LDN47rV7b7J4cTa9cXi0MjX8Mrd9c0lGs3l/9QmGtbW1tfq/9jl9djl+NmcANns0dnt4NonG9otM9yGft4pG9/x4OCrIuG3I+Hv/+Lfz+Px4eRWTOSaAeSyNuUpHOWIgOalAOby/+c5P+egD+exAefJcOhYXuqjAOq3Tuq9YOtqbuvHG+vz++xYTOy8AO2sAe6xAO7x9+/Ecu/SaPDYaPD2//D47/KzAPS7APfpy/ng3fzp7P347f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAABUABMAAAj+AP+pGEiw4MB//4goXMhQ4b8gECNKnIiwosWLGBE+2sjxkaNGIB115KjCB5eTKFP6UEEkypyXMGNGIRJkpM2NQSwO2bkzI8aRjOL8oUP0TxxGI1WkXIqSZcynMGnetJnz386OanpWxNGhKw6NHOMQHUs2jsiNSpkudQr1qVScI2vitLpRTZe7XdRoGYKQ65K/Hb5yxEO2MJ0/HdNyYQCgMQAGTYnAfOAYwIOociNy1Pwo55BHXZZ07XC3Ct9/HZZUFP1vo9ixfNYsWsOHDp6kKJlUZhIZppPKTjBvhtiZOM7PdlN34Xp3Ct/Uqzu0XjT2z5qRaxrhRsn4cUq2Lyn+W475FqfEjkE+4+0yhXkXKUNGy+/6yFAdotc7HrqpmItuALz15ltjwQmHnnGbqddcV3jBl9pfEIrmSB+KKILYVNtxB9l3ksX0wGXkyWUeZ8eBdheDDcY332iOVKiIIR0tgcKMNKKQwyP9+ReggL4VaGBxNZGYnl3r4TXFE/FFCGEHLVa4SEdR1EhjDofkqBZ4bb30lpDGeUYkiu89t2JXTb4Yo5Qz3mglU1hmWZ6IcM01hBZVrDeFFEiipiRgE1ZYREdzaCGoFi3MKASOJql10kotZfnSTHBiWNVOd0qBp1Zj0mdIGiOMYMVNVdAYxSMCGWQqQg2lSsRDGKKnE09jp/lU0SNhdDqCCJ929EWhKLTQBamyBuvTRMRKJKywGxlh6whGWOGsESLQeCiwx1Zr7bWyckTDstxi0MENHGEr7rjWdqQst7Ya0RG57LZ70UhWQGurCM2O5O697N6EyL773hQQADs="}},"time_used":15,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/jquery-2.2.4.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.019Z","timestamp":1785123385019,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/jquery-2.2.4.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"14e4a-65fd8520-5baec70d10af551e;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 28959\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":85578,"size_decoded":29417,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (32065)","md5":"2f6b11a7e914718e0290410e85366fe9","sha1":"69bb69e25ca7d5ef0935317584e6153f3fd9a88c","sha256":"05b85d96f41fff14d8f608dad03ab71e2c1017c2da0914d7c59291bad7a54f8e","sha512":"0d40bccaa59fedecf7243d63b33c42592541d0330fefc78ec81a4c6b9689922d5b211011ca4be23ae22621cce4c658f52a1552c92d7ac3615241eb640f8514db","ssdeep":"1536:EYE1JVoiB9JqZdXXe2pD3PgoIiulrUndZ6a4tfOR7WpfWBZ2BJda4w9W3qG9a986:v4J+OlfOhWppCW6G9a98Hr2","tlshash":"1e83c6d9b2d6706297b734b850bf410bb17a98dab44c8c60f059d4e47eb4a8e507bf2c","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-07-31T13:12:39.659785Z","times_seen":293343,"resource_available":true,"data":"LyohIGpRdWVyeSB2Mi4yLjQgfCAoYykgalF1ZXJ5IEZvdW5kYXRpb24gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9YS5kb2N1bWVudCxlPWMuc2xpY2UsZj1jLmNvbmNhdCxnPWMucHVzaCxoPWMuaW5kZXhPZixpPXt9LGo9aS50b1N0cmluZyxrPWkuaGFzT3duUHJvcGVydHksbD17fSxtPSIyLjIuNCIsbj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbi5mbi5pbml0KGEsYil9LG89L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLHA9L14tbXMtLyxxPS8tKFtcZGEtel0pL2dpLHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtuLmZuPW4ucHJvdG90eXBlPXtqcXVlcnk6bSxjb25zdHJ1Y3RvcjpuLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTplLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1uLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEpe3JldHVybiBuLmVhY2godGhpcyxhKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhuLm1hcCh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuY2FsbChiLGMsYil9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXE6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5sZW5ndGgsYz0rYSsoMD5hP2I6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGM+PTAmJmI+Yz9bdGhpc1tjXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6Zyxzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LG4uZXh0ZW5kPW4uZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGcmJihqPWcsZz1hcmd1bWVudHNbaF18fHt9LGgrKyksIm9iamVjdCI9PXR5cGVvZiBnfHxuLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2k+aDtoKyspaWYobnVsbCE9KGE9YXJndW1lbnRzW2hdKSlmb3IoYiBpbiBhKWM9Z1tiXSxkPWFbYl0sZyE9PWQmJihqJiZkJiYobi5pc1BsYWluT2JqZWN0KGQpfHwoZT1uLmlzQXJyYXkoZCkpKT8oZT8oZT0hMSxmPWMmJm4uaXNBcnJheShjKT9jOltdKTpmPWMmJm4uaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09bi5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LG4uZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhtK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1uLnR5cGUoYSl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7dmFyIGI9YSYmYS50b1N0cmluZygpO3JldHVybiFuLmlzQXJyYXkoYSkmJmItcGFyc2VGbG9hdChiKSsxPj0wfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCJvYmplY3QiIT09bi50eXBlKGEpfHxhLm5vZGVUeXBlfHxuLmlzV2luZG93KGEpKXJldHVybiExO2lmKGEuY29uc3RydWN0b3ImJiFrLmNhbGwoYSwiY29uc3RydWN0b3IiKSYmIWsuY2FsbChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZXx8e30sImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMTtmb3IoYiBpbiBhKTtyZXR1cm4gdm9pZCAwPT09Ynx8ay5jYWxsKGEsYil9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGI7Zm9yKGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aVtqLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXt2YXIgYixjPWV2YWw7YT1uLnRyaW0oYSksYSYmKDE9PT1hLmluZGV4T2YoInVzZSBzdHJpY3QiKT8oYj1kLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGIudGV4dD1hLGQuaGVhZC5hcHBlbmRDaGlsZChiKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpKTpjKGEpKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UocCwibXMtIikucmVwbGFjZShxLHIpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTA7aWYocyhhKSl7Zm9yKGM9YS5sZW5ndGg7Yz5kO2QrKylpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoZCBpbiBhKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShvLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihzKE9iamVjdChhKSk/bi5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zy5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsPT1iPy0xOmguY2FsbChiLGEsYyl9LG1lcmdlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPStiLmxlbmd0aCxkPTAsZT1hLmxlbmd0aDtjPmQ7ZCsrKWFbZSsrXT1iW2RdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGc9MCxoPVtdO2lmKHMoYSkpZm9yKGQ9YS5sZW5ndGg7ZD5nO2crKyllPWIoYVtnXSxnLGMpLG51bGwhPWUmJmgucHVzaChlKTtlbHNlIGZvcihnIGluIGEpZT1iKGFbZ10sZyxjKSxudWxsIT1lJiZoLnB1c2goZSk7cmV0dXJuIGYuYXBwbHkoW10saCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihjPWFbYl0sYj1hLGE9Yyksbi5pc0Z1bmN0aW9uKGEpPyhkPWUuY2FsbChhcmd1bWVudHMsMiksZj1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsZC5jb25jYXQoZS5jYWxsKGFyZ3VtZW50cykpKX0sZi5ndWlkPWEuZ3VpZD1hLmd1aWR8fG4uZ3VpZCsrLGYpOnZvaWQgMH0sbm93OkRhdGUubm93LHN1cHBvcnQ6bH0pLCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihuLmZuW1N5bWJvbC5pdGVyYXRvcl09Y1tTeW1ib2wuaXRlcmF0b3JdKSxuLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7aVsiW29iamVjdCAiK2IrIl0iXT1iLnRvTG93ZXJDYXNlKCl9KTtmdW5jdGlvbiBzKGEpe3ZhciBiPSEhYSYmImxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW4udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bi5pc1dpbmRvdyhhKT8hMToiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgdD1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1nYSgpLHo9Z2EoKSxBPWdhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj0iXFxbIitMKyIqKCIrTSsiKSg/OiIrTCsiKihbKl4kfCF+XT89KSIrTCsiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK00rIikpfCkiK0wrIipcXF0iLE89IjooIitNKyIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitOKyIpKil8LiopXFwpfCkiLFA9bmV3IFJlZ0V4cChMKyIrIiwiZyIpLFE9bmV3IFJlZ0V4cCgiXiIrTCsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitMKyIrJCIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIiosIitMKyIqIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqKFs+K35dfCIrTCsiKSIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiPSIrTCsiKihbXlxcXSdcIl0qPykiK0wrIipcXF0iLCJnIiksVT1uZXcgUmVnRXhwKE8pLFY9bmV3IFJlZ0V4cCgiXiIrTSsiJCIpLFc9e0lEOm5ldyBSZWdFeHAoIl4jKCIrTSsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitNKyIpIiksVEFHOm5ldyBSZWdFeHAoIl4oIitNKyJ8WypdKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTiksUFNFVURPOm5ldyBSZWdFeHAoIl4iK08pLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFg9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxZPS9eaFxkJC9pLFo9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLCQ9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxfPS9bK35dLyxhYT0vJ3xcXC9nLGJhPW5ldyBSZWdFeHAoIlxcXFwoW1xcZGEtZl17MSw2fSIrTCsiP3woIitMKyIpfC4pIiwiaWciKSxjYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IjB4IitiLTY1NTM2O3JldHVybiBkIT09ZHx8Yz9iOjA+ZD9TdHJpbmcuZnJvbUNoYXJDb2RlKGQrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoZD4+MTB8NTUyOTYsMTAyMyZkfDU2MzIwKX0sZGE9ZnVuY3Rpb24oKXttKCl9O3RyeXtILmFwcGx5KEU9SS5jYWxsKHYuY2hpbGROb2Rlcyksdi5jaGlsZE5vZGVzKSxFW3YuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGVhKXtIPXthcHBseTpFLmxlbmd0aD9mdW5jdGlvbihhLGIpe0cuYXBwbHkoYSxJLmNhbGwoYikpfTpmdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MDt3aGlsZShhW2MrK109YltkKytdKTthLmxlbmd0aD1jLTF9fX1mdW5jdGlvbiBmYShhLGIsZCxlKXt2YXIgZixoLGosayxsLG8scixzLHc9YiYmYi5vd25lckRvY3VtZW50LHg9Yj9iLm5vZGVUeXBlOjk7aWYoZD1kfHxbXSwic3RyaW5nIiE9dHlwZW9mIGF8fCFhfHwxIT09eCYmOSE9PXgmJjExIT09eClyZXR1cm4gZDtpZighZSYmKChiP2Iub3duZXJEb2N1bWVudHx8Yjp2KSE9PW4mJm0oYiksYj1ifHxuLHApKXtpZigxMSE9PXgmJihvPSQuZXhlYyhhKSkpaWYoZj1vWzFdKXtpZig5PT09eCl7aWYoIShqPWIuZ2V0RWxlbWVudEJ5SWQoZikpKXJldHVybiBkO2lmKGouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNlIGlmKHcmJihqPXcuZ2V0RWxlbWVudEJ5SWQoZikpJiZ0KGIsaikmJmouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNle2lmKG9bMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChmPW9bM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gSC5hcHBseShkLGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShmKSksZH1pZihjLnFzYSYmIUFbYSsiICJdJiYoIXF8fCFxLnRlc3QoYSkpKXtpZigxIT09eCl3PWIscz1hO2Vsc2UgaWYoIm9iamVjdCIhPT1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpeyhrPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9rPWsucmVwbGFjZShhYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIsaz11KSxyPWcoYSksaD1yLmxlbmd0aCxsPVYudGVzdChrKT8iIyIrazoiW2lkPSciK2srIiddIjt3aGlsZShoLS0pcltoXT1sKyIgIitxYShyW2hdKTtzPXIuam9pbigiLCIpLHc9Xy50ZXN0KGEpJiZvYShiLnBhcmVudE5vZGUpfHxifWlmKHMpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHMpKSxkfWNhdGNoKHkpe31maW5hbGx5e2s9PT11JiZiLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBpKGEucmVwbGFjZShRLCIkMSIpLGIsZCxlKX1mdW5jdGlvbiBnYSgpe3ZhciBhPVtdO2Z1bmN0aW9uIGIoYyxlKXtyZXR1cm4gYS5wdXNoKGMrIiAiKT5kLmNhY2hlTGVuZ3RoJiZkZWxldGUgYlthLnNoaWZ0KCldLGJbYysiICJdPWV9cmV0dXJuIGJ9ZnVuY3Rpb24gaGEoYSl7cmV0dXJuIGFbdV09ITAsYX1mdW5jdGlvbiBpYShhKXt2YXIgYj1uLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RyeXtyZXR1cm4hIWEoYil9Y2F0Y2goYyl7cmV0dXJuITF9ZmluYWxseXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxiPW51bGx9fWZ1bmN0aW9uIGphKGEsYil7dmFyIGM9YS5zcGxpdCgifCIpLGU9Yy5sZW5ndGg7d2hpbGUoZS0tKWQuYXR0ckhhbmRsZVtjW2VdXT1ifWZ1bmN0aW9uIGthKGEsYil7dmFyIGM9YiYmYSxkPWMmJjE9PT1hLm5vZGVUeXBlJiYxPT09Yi5ub2RlVHlwZSYmKH5iLnNvdXJjZUluZGV4fHxDKS0ofmEuc291cmNlSW5kZXh8fEMpO2lmKGQpcmV0dXJuIGQ7aWYoYyl3aGlsZShjPWMubmV4dFNpYmxpbmcpaWYoYz09PWIpcmV0dXJuLTE7cmV0dXJuIGE/MTotMX1mdW5jdGlvbiBsYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1jJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBtYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09Y3x8ImJ1dHRvbiI9PT1jKSYmYi50eXBlPT09YX19ZnVuY3Rpb24gbmEoYSl7cmV0dXJuIGhhKGZ1bmN0aW9uKGIpe3JldHVybiBiPStiLGhhKGZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hKFtdLGMubGVuZ3RoLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWNbZT1mW2ddXSYmKGNbZV09IShkW2VdPWNbZV0pKX0pfSl9ZnVuY3Rpb24gb2EoYSl7cmV0dXJuIGEmJiJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmYX1jPWZhLnN1cHBvcnQ9e30sZj1mYS5pc1hNTD1mdW5jdGlvbihhKXt2YXIgYj1hJiYoYS5vd25lckRvY3VtZW50fHxhKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/IkhUTUwiIT09Yi5ub2RlTmFtZTohMX0sbT1mYS5zZXREb2N1bWVudD1mdW5jdGlvbihhKXt2YXIgYixlLGc9YT9hLm93bmVyRG9jdW1lbnR8fGE6djtyZXR1cm4gZyE9PW4mJjk9PT1nLm5vZGVUeXBlJiZnLmRvY3VtZW50RWxlbWVudD8obj1nLG89bi5kb2N1bWVudEVsZW1lbnQscD0hZihuKSwoZT1uLmRlZmF1bHRWaWV3KSYmZS50b3AhPT1lJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixkYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGRhKSksYy5hdHRyaWJ1dGVzPWlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXNzTmFtZT0iaSIsIWEuZ2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKX0pLGMuZ2V0RWxlbWVudHNCeVRhZ05hbWU9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQobi5jcmVhdGVDb21tZW50KCIiKSksIWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGh9KSxjLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9Wi50ZXN0KG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksYy5nZXRCeUlkPWlhKGZ1bmN0aW9uKGEpe3JldHVybiBvLmFwcGVuZENoaWxkKGEpLmlkPXUsIW4uZ2V0RWxlbWVudHNCeU5hbWV8fCFuLmdldEVsZW1lbnRzQnlOYW1lKHUpLmxlbmd0aH0pLGMuZ2V0QnlJZD8oZC5maW5kLklEPWZ1bmN0aW9uKGEsYil7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRCeUlkJiZwKXt2YXIgYz1iLmdldEVsZW1lbnRCeUlkKGEpO3JldHVybiBjP1tjXTpbXX19LGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgiaWQiKT09PWJ9fSk6KGRlbGV0ZSBkLmZpbmQuSUQsZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKTtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZU5vZGUmJmEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gYyYmYy52YWx1ZT09PWJ9fSksZC5maW5kLlRBRz1jLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGEsYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lP2IuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk6Yy5xc2E/Yi5xdWVyeVNlbGVjdG9yQWxsKGEpOnZvaWQgMH06ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9MCxmPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk7aWYoIioiPT09YSl7d2hpbGUoYz1mW2UrK10pMT09PWMubm9kZVR5cGUmJmQucHVzaChjKTtyZXR1cm4gZH1yZXR1cm4gZn0sZC5maW5kLkNMQVNTPWMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oYSxiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmcD9iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSk6dm9pZCAwfSxyPVtdLHE9W10sKGMucXNhPVoudGVzdChuLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGlhKGZ1bmN0aW9uKGEpe28uYXBwZW5kQ2hpbGQoYSkuaW5uZXJIVE1MPSI8YSBpZD0nIit1KyInPjwvYT48c2VsZWN0IGlkPSciK3UrIi1cclxcJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksaWEoZnVuY3Rpb24oYSl7dmFyIGI9bi5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9Wi50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZpYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsTyl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPVoudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fFoudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PW58fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09bnx8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGc9W2FdLGg9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PW4/LTE6Yj09PW4/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4ga2EoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpZy51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSloLnVuc2hpZnQoYyk7d2hpbGUoZ1tkXT09PWhbZF0pZCsrO3JldHVybiBkP2thKGdbZF0saFtkXSk6Z1tkXT09PXY/LTE6aFtkXT09PXY/MTowfSxuKTpufSxmYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZhKGEsbnVsbCxudWxsLGIpfSxmYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVCwiPSckMSddIiksYy5tYXRjaGVzU2VsZWN0b3ImJnAmJiFBW2IrIiAiXSYmKCFyfHwhci50ZXN0KGIpKSYmKCFxfHwhcS50ZXN0KGIpKSl0cnl7dmFyIGQ9cy5jYWxsKGEsYik7aWYoZHx8Yy5kaXNjb25uZWN0ZWRNYXRjaHx8YS5kb2N1bWVudCYmMTEhPT1hLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBkfWNhdGNoKGUpe31yZXR1cm4gZmEoYixuLG51bGwsW2FdKS5sZW5ndGg+MH0sZmEuY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksdChhLGIpfSxmYS5hdHRyPWZ1bmN0aW9uKGEsYil7KGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpO3ZhciBlPWQuYXR0ckhhbmRsZVtiLnRvTG93ZXJDYXNlKCldLGY9ZSYmRC5jYWxsKGQuYXR0ckhhbmRsZSxiLnRvTG93ZXJDYXNlKCkpP2UoYSxiLCFwKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PWY/ZjpjLmF0dHJpYnV0ZXN8fCFwP2EuZ2V0QXR0cmlidXRlKGIpOihmPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmYuc3BlY2lmaWVkP2YudmFsdWU6bnVsbH0sZmEuZXJyb3I9ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiK2EpfSxmYS51bmlxdWVTb3J0PWZ1bmN0aW9uKGEpe3ZhciBiLGQ9W10sZT0wLGY9MDtpZihsPSFjLmRldGVjdER1cGxpY2F0ZXMsaz0hYy5zb3J0U3RhYmxlJiZhLnNsaWNlKDApLGEuc29ydChCKSxsKXt3aGlsZShiPWFbZisrXSliPT09YVtmXSYmKGU9ZC5wdXNoKGYpKTt3aGlsZShlLS0pYS5zcGxpY2UoZFtlXSwxKX1yZXR1cm4gaz1udWxsLGF9LGU9ZmEuZ2V0VGV4dD1mdW5jdGlvbihhKXt2YXIgYixjPSIiLGQ9MCxmPWEubm9kZVR5cGU7aWYoZil7aWYoMT09PWZ8fDk9PT1mfHwxMT09PWYpe2lmKCJzdHJpbmciPT10eXBlb2YgYS50ZXh0Q29udGVudClyZXR1cm4gYS50ZXh0Q29udGVudDtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpYys9ZShhKX1lbHNlIGlmKDM9PT1mfHw0PT09ZilyZXR1cm4gYS5ub2RlVmFsdWV9ZWxzZSB3aGlsZShiPWFbZCsrXSljKz1lKGIpO3JldHVybiBjfSxkPWZhLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmhhLG1hdGNoOlcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0ucmVwbGFjZShiYSxjYSksYVszXT0oYVszXXx8YVs0XXx8YVs1XXx8IiIpLnJlcGxhY2UoYmEsY2EpLCJ+PSI9PT1hWzJdJiYoYVszXT0iICIrYVszXSsiICIpLGEuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09YVsxXS5zbGljZSgwLDMpPyhhWzNdfHxmYS5lcnJvcihhWzBdKSxhWzRdPSsoYVs0XT9hWzVdKyhhWzZdfHwxKToyKigiZXZlbiI9PT1hWzNdfHwib2RkIj09PWFbM10pKSxhWzVdPSsoYVs3XSthWzhdfHwib2RkIj09PWFbM10pKTphWzNdJiZmYS5lcnJvcihhWzBdKSxhfSxQU0VVRE86ZnVuY3Rpb24oYSl7dmFyIGIsYz0hYVs2XSYmYVsyXTtyZXR1cm4gVy5DSElMRC50ZXN0KGFbMF0pP251bGw6KGFbM10/YVsyXT1hWzRdfHxhWzVdfHwiIjpjJiZVLnRlc3QoYykmJihiPWcoYywhMCkpJiYoYj1jLmluZGV4T2YoIikiLGMubGVuZ3RoLWIpLWMubGVuZ3RoKSYmKGFbMF09YVswXS5zbGljZSgwLGIpLGFbMl09Yy5zbGljZSgwLGIpKSxhLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWE/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJ9fSxDTEFTUzpmdW5jdGlvbihhKXt2YXIgYj15W2ErIiAiXTtyZXR1cm4gYnx8KGI9bmV3IFJlZ0V4cCgiKF58IitMKyIpIithKyIoIitMKyJ8JCkiKSkmJnkoYSxmdW5jdGlvbihhKXtyZXR1cm4gYi50ZXN0KCJzdHJpbmciPT10eXBlb2YgYS5jbGFzc05hbWUmJmEuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXt2YXIgZT1mYS5hdHRyKGQsYSk7cmV0dXJuIG51bGw9PWU/IiE9Ij09PWI6Yj8oZSs9IiIsIj0iPT09Yj9lPT09YzoiIT0iPT09Yj9lIT09YzoiXj0iPT09Yj9jJiYwPT09ZS5pbmRleE9mKGMpOiIqPSI9PT1iP2MmJmUuaW5kZXhPZihjKT4tMToiJD0iPT09Yj9jJiZlLnNsaWNlKC1jLmxlbmd0aCk9PT1jOiJ+PSI9PT1iPygiICIrZS5yZXBsYWNlKFAsIiAiKSsiICIpLmluZGV4T2YoYyk+LTE6Inw9Ij09PWI/ZT09PWN8fGUuc2xpY2UoMCxjLmxlbmd0aCsxKT09PWMrIi0iOiExKTohMH19LENISUxEOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Im50aCIhPT1hLnNsaWNlKDAsMyksZz0ibGFzdCIhPT1hLnNsaWNlKC00KSxoPSJvZi10eXBlIj09PWI7cmV0dXJuIDE9PT1kJiYwPT09ZT9mdW5jdGlvbihhKXtyZXR1cm4hIWEucGFyZW50Tm9kZX06ZnVuY3Rpb24oYixjLGkpe3ZhciBqLGssbCxtLG4sbyxwPWYhPT1nPyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyIscT1iLnBhcmVudE5vZGUscj1oJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkscz0haSYmIWgsdD0hMTtpZihxKXtpZihmKXt3aGlsZShwKXttPWI7d2hpbGUobT1tW3BdKWlmKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSlyZXR1cm4hMTtvPXA9Im9ubHkiPT09YSYmIW8mJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYobz1bZz9xLmZpcnN0Q2hpbGQ6cS5sYXN0Q2hpbGRdLGcmJnMpe209cSxsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxqPWtbYV18fFtdLG49alswXT09PXcmJmpbMV0sdD1uJiZqWzJdLG09biYmcS5jaGlsZE5vZGVzW25dO3doaWxlKG09KytuJiZtJiZtW3BdfHwodD1uPTApfHxvLnBvcCgpKWlmKDE9PT1tLm5vZGVUeXBlJiYrK3QmJm09PT1iKXtrW2FdPVt3LG4sdF07YnJlYWt9fWVsc2UgaWYocyYmKG09YixsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxqPWtbYV18fFtdLG49alswXT09PXcmJmpbMV0sdD1uKSx0PT09ITEpd2hpbGUobT0rK24mJm0mJm1bcF18fCh0PW49MCl8fG8ucG9wKCkpaWYoKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSkmJisrdCYmKHMmJihsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxrW2FdPVt3LHRdKSxtPT09YikpYnJlYWs7cmV0dXJuIHQtPWUsdD09PWR8fHQlZD09PTAmJnQvZD49MH19fSxQU0VVRE86ZnVuY3Rpb24oYSxiKXt2YXIgYyxlPWQucHNldWRvc1thXXx8ZC5zZXRGaWx0ZXJzW2EudG9Mb3dlckNhc2UoKV18fGZhLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrYSk7cmV0dXJuIGVbdV0/ZShiKTplLmxlbmd0aD4xPyhjPVthLGEsIiIsYl0sZC5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGEudG9Mb3dlckNhc2UoKSk/aGEoZnVuY3Rpb24oYSxjKXt2YXIgZCxmPWUoYSxiKSxnPWYubGVuZ3RoO3doaWxlKGctLSlkPUooYSxmW2ddKSxhW2RdPSEoY1tkXT1mW2ddKX0pOmZ1bmN0aW9uKGEpe3JldHVybiBlKGEsMCxjKX0pOmV9fSxwc2V1ZG9zOntub3Q6aGEoZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPWgoYS5yZXBsYWNlKFEsIiQxIikpO3JldHVybiBkW3VdP2hhKGZ1bmN0aW9uKGEsYixjLGUpe3ZhciBmLGc9ZChhLG51bGwsZSxbXSksaD1hLmxlbmd0aDt3aGlsZShoLS0pKGY9Z1toXSkmJihhW2hdPSEoYltoXT1mKSl9KTpmdW5jdGlvbihhLGUsZil7cmV0dXJuIGJbMF09YSxkKGIsbnVsbCxmLGMpLGJbMF09bnVsbCwhYy5wb3AoKX19KSxoYXM6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBmYShhLGIpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBhPWEucmVwbGFjZShiYSxjYSksZnVuY3Rpb24oYil7cmV0dXJuKGIudGV4dENvbnRlbnR8fGIuaW5uZXJUZXh0fHxlKGIpKS5pbmRleE9mKGEpPi0xfX0pLGxhbmc6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIFYudGVzdChhfHwiIil8fGZhLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK2EpLGE9YS5yZXBsYWNlKGJhLGNhKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGIpe3ZhciBjO2RvIGlmKGM9cD9iLmxhbmc6Yi5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fGIuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuIGM9Yy50b0xvd2VyQ2FzZSgpLGM9PT1hfHwwPT09Yy5pbmRleE9mKGErIi0iKTt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiYxPT09Yi5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGIpe3ZhciBjPWEubG9jYXRpb24mJmEubG9jYXRpb24uaGFzaDtyZXR1cm4gYyYmYy5zbGljZSgxKT09PWIuaWR9LHJvb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1vfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW4uYWN0aXZlRWxlbWVudCYmKCFuLmhhc0ZvY3VzfHxuLmhhc0ZvY3VzKCkpJiYhIShhLnR5cGV8fGEuaHJlZnx8fmEudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITF9LGRpc2FibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYhIWEuY2hlY2tlZHx8Im9wdGlvbiI9PT1iJiYhIWEuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGEuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oYSl7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWlmKGEubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiFkLnBzZXVkb3MuZW1wdHkoYSl9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4gWS50ZXN0KGEubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4gWC50ZXN0KGEubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYiYnV0dG9uIj09PWEudHlwZXx8ImJ1dHRvbiI9PT1ifSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiJpbnB1dCI9PT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJ0ZXh0Ij09PWEudHlwZSYmKG51bGw9PShiPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIikpfHwidGV4dCI9PT1iLnRvTG93ZXJDYXNlKCkpfSxmaXJzdDpuYShmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6bmEoZnVuY3Rpb24oYSxiKXtyZXR1cm5bYi0xXX0pLGVxOm5hKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm5bMD5jP2MrYjpjXX0pLGV2ZW46bmEoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxvZGQ6bmEoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MTtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxsdDpuYShmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA+Yz9jK2I6YzstLWQ+PTA7KWEucHVzaChkKTtyZXR1cm4gYX0pLGd0Om5hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOysrZDxiOylhLnB1c2goZCk7cmV0dXJuIGF9KX19LGQucHNldWRvcy5udGg9ZC5wc2V1ZG9zLmVxO2ZvcihiIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KWQucHNldWRvc1tiXT1sYShiKTtmb3IoYiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KWQucHNldWRvc1tiXT1tYShiKTtmdW5jdGlvbiBwYSgpe31wYS5wcm90b3R5cGU9ZC5maWx0ZXJzPWQucHNldWRvcyxkLnNldEZpbHRlcnM9bmV3IHBhLGc9ZmEudG9rZW5pemU9ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGksaixrPXpbYSsiICJdO2lmKGspcmV0dXJuIGI/MDprLnNsaWNlKDApO2g9YSxpPVtdLGo9ZC5wcmVGaWx0ZXI7d2hpbGUoaCl7YyYmIShlPVIuZXhlYyhoKSl8fChlJiYoaD1oLnNsaWNlKGVbMF0ubGVuZ3RoKXx8aCksaS5wdXNoKGY9W10pKSxjPSExLChlPVMuZXhlYyhoKSkmJihjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTplWzBdLnJlcGxhY2UoUSwiICIpfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7Zm9yKGcgaW4gZC5maWx0ZXIpIShlPVdbZ10uZXhlYyhoKSl8fGpbZ10mJiEoZT1qW2ddKGUpKXx8KGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmcsbWF0Y2hlczplfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7aWYoIWMpYnJlYWt9cmV0dXJuIGI/aC5sZW5ndGg6aD9mYS5lcnJvcihhKTp6KGEsaSkuc2xpY2UoMCl9O2Z1bmN0aW9uIHFhKGEpe2Zvcih2YXIgYj0wLGM9YS5sZW5ndGgsZD0iIjtjPmI7YisrKWQrPWFbYl0udmFsdWU7cmV0dXJuIGR9ZnVuY3Rpb24gcmEoYSxiLGMpe3ZhciBkPWIuZGlyLGU9YyYmInBhcmVudE5vZGUiPT09ZCxmPXgrKztyZXR1cm4gYi5maXJzdD9mdW5jdGlvbihiLGMsZil7d2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXJldHVybiBhKGIsYyxmKX06ZnVuY3Rpb24oYixjLGcpe3ZhciBoLGksaixrPVt3LGZdO2lmKGcpe3doaWxlKGI9YltkXSlpZigoMT09PWIubm9kZVR5cGV8fGUpJiZhKGIsYyxnKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSl7aWYoaj1iW3VdfHwoYlt1XT17fSksaT1qW2IudW5pcXVlSURdfHwoaltiLnVuaXF1ZUlEXT17fSksKGg9aVtkXSkmJmhbMF09PT13JiZoWzFdPT09ZilyZXR1cm4ga1syXT1oWzJdO2lmKGlbZF09ayxrWzJdPWEoYixjLGcpKXJldHVybiEwfX19ZnVuY3Rpb24gc2EoYSl7cmV0dXJuIGEubGVuZ3RoPjE/ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEubGVuZ3RoO3doaWxlKGUtLSlpZighYVtlXShiLGMsZCkpcmV0dXJuITE7cmV0dXJuITB9OmFbMF19ZnVuY3Rpb24gdGEoYSxiLGMpe2Zvcih2YXIgZD0wLGU9Yi5sZW5ndGg7ZT5kO2QrKylmYShhLGJbZF0sYyk7cmV0dXJuIGN9ZnVuY3Rpb24gdWEoYSxiLGMsZCxlKXtmb3IodmFyIGYsZz1bXSxoPTAsaT1hLmxlbmd0aCxqPW51bGwhPWI7aT5oO2grKykoZj1hW2hdKSYmKGMmJiFjKGYsZCxlKXx8KGcucHVzaChmKSxqJiZiLnB1c2goaCkpKTtyZXR1cm4gZ31mdW5jdGlvbiB2YShhLGIsYyxkLGUsZil7cmV0dXJuIGQmJiFkW3VdJiYoZD12YShkKSksZSYmIWVbdV0mJihlPXZhKGUsZikpLGhhKGZ1bmN0aW9uKGYsZyxoLGkpe3ZhciBqLGssbCxtPVtdLG49W10sbz1nLmxlbmd0aCxwPWZ8fHRhKGJ8fCIqIixoLm5vZGVUeXBlP1toXTpoLFtdKSxxPSFhfHwhZiYmYj9wOnVhKHAsbSxhLGgsaSkscj1jP2V8fChmP2E6b3x8ZCk/W106ZzpxO2lmKGMmJmMocSxyLGgsaSksZCl7aj11YShyLG4pLGQoaixbXSxoLGkpLGs9ai5sZW5ndGg7d2hpbGUoay0tKShsPWpba10pJiYocltuW2tdXT0hKHFbbltrXV09bCkpfWlmKGYpe2lmKGV8fGEpe2lmKGUpe2o9W10saz1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJmoucHVzaChxW2tdPWwpO2UobnVsbCxyPVtdLGosaSl9az1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJihqPWU/SihmLGwpOm1ba10pPi0xJiYoZltqXT0hKGdbal09bCkpfX1lbHNlIHI9dWEocj09PWc/ci5zcGxpY2UobyxyLmxlbmd0aCk6ciksZT9lKG51bGwsZyxyLGkpOkguYXBwbHkoZyxyKX0pfWZ1bmN0aW9uIHdhKGEpe2Zvcih2YXIgYixjLGUsZj1hLmxlbmd0aCxnPWQucmVsYXRpdmVbYVswXS50eXBlXSxoPWd8fGQucmVsYXRpdmVbIiAiXSxpPWc/MTowLGs9cmEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1ifSxoLCEwKSxsPXJhKGZ1bmN0aW9uKGEpe3JldHVybiBKKGIsYSk+LTF9LGgsITApLG09W2Z1bmN0aW9uKGEsYyxkKXt2YXIgZT0hZyYmKGR8fGMhPT1qKXx8KChiPWMpLm5vZGVUeXBlP2soYSxjLGQpOmwoYSxjLGQpKTtyZXR1cm4gYj1udWxsLGV9XTtmPmk7aSsrKWlmKGM9ZC5yZWxhdGl2ZVthW2ldLnR5cGVdKW09W3JhKHNhKG0pLGMpXTtlbHNle2lmKGM9ZC5maWx0ZXJbYVtpXS50eXBlXS5hcHBseShudWxsLGFbaV0ubWF0Y2hlcyksY1t1XSl7Zm9yKGU9KytpO2Y+ZTtlKyspaWYoZC5yZWxhdGl2ZVthW2VdLnR5cGVdKWJyZWFrO3JldHVybiB2YShpPjEmJnNhKG0pLGk+MSYmcWEoYS5zbGljZSgwLGktMSkuY29uY2F0KHt2YWx1ZToiICI9PT1hW2ktMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZShRLCIkMSIpLGMsZT5pJiZ3YShhLnNsaWNlKGksZSkpLGY+ZSYmd2EoYT1hLnNsaWNlKGUpKSxmPmUmJnFhKGEpKX1tLnB1c2goYyl9cmV0dXJuIHNhKG0pfWZ1bmN0aW9uIHhhKGEsYil7dmFyIGM9Yi5sZW5ndGg+MCxlPWEubGVuZ3RoPjAsZj1mdW5jdGlvbihmLGcsaCxpLGspe3ZhciBsLG8scSxyPTAscz0iMCIsdD1mJiZbXSx1PVtdLHY9aix4PWZ8fGUmJmQuZmluZC5UQUcoIioiLGspLHk9dys9bnVsbD09dj8xOk1hdGgucmFuZG9tKCl8fC4xLHo9eC5sZW5ndGg7Zm9yKGsmJihqPWc9PT1ufHxnfHxrKTtzIT09eiYmbnVsbCE9KGw9eFtzXSk7cysrKXtpZihlJiZsKXtvPTAsZ3x8bC5vd25lckRvY3VtZW50PT09bnx8KG0obCksaD0hcCk7d2hpbGUocT1hW28rK10paWYocShsLGd8fG4saCkpe2kucHVzaChsKTticmVha31rJiYodz15KX1jJiYoKGw9IXEmJmwpJiZyLS0sZiYmdC5wdXNoKGwpKX1pZihyKz1zLGMmJnMhPT1yKXtvPTA7d2hpbGUocT1iW28rK10pcSh0LHUsZyxoKTtpZihmKXtpZihyPjApd2hpbGUocy0tKXRbc118fHVbc118fCh1W3NdPUYuY2FsbChpKSk7dT11YSh1KX1ILmFwcGx5KGksdSksayYmIWYmJnUubGVuZ3RoPjAmJnIrYi5sZW5ndGg+MSYmZmEudW5pcXVlU29ydChpKX1yZXR1cm4gayYmKHc9eSxqPXYpLHR9O3JldHVybiBjP2hhKGYpOmZ9cmV0dXJuIGg9ZmEuY29tcGlsZT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1bXSxmPUFbYSsiICJdO2lmKCFmKXtifHwoYj1nKGEpKSxjPWIubGVuZ3RoO3doaWxlKGMtLSlmPXdhKGJbY10pLGZbdV0/ZC5wdXNoKGYpOmUucHVzaChmKTtmPUEoYSx4YShlLGQpKSxmLnNlbGVjdG9yPWF9cmV0dXJuIGZ9LGk9ZmEuc2VsZWN0PWZ1bmN0aW9uKGEsYixlLGYpe3ZhciBpLGosayxsLG0sbj0iZnVuY3Rpb24iPT10eXBlb2YgYSYmYSxvPSFmJiZnKGE9bi5zZWxlY3Rvcnx8YSk7aWYoZT1lfHxbXSwxPT09by5sZW5ndGgpe2lmKGo9b1swXT1vWzBdLnNsaWNlKDApLGoubGVuZ3RoPjImJiJJRCI9PT0oaz1qWzBdKS50eXBlJiZjLmdldEJ5SWQmJjk9PT1iLm5vZGVUeXBlJiZwJiZkLnJlbGF0aXZlW2pbMV0udHlwZV0pe2lmKGI9KGQuZmluZC5JRChrLm1hdGNoZXNbMF0ucmVwbGFjZShiYSxjYSksYil8fFtdKVswXSwhYilyZXR1cm4gZTtuJiYoYj1iLnBhcmVudE5vZGUpLGE9YS5zbGljZShqLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1pPVcubmVlZHNDb250ZXh0LnRlc3QoYSk/MDpqLmxlbmd0aDt3aGlsZShpLS0pe2lmKGs9altpXSxkLnJlbGF0aXZlW2w9ay50eXBlXSlicmVhaztpZigobT1kLmZpbmRbbF0pJiYoZj1tKGsubWF0Y2hlc1swXS5yZXBsYWNlKGJhLGNhKSxfLnRlc3QoalswXS50eXBlKSYmb2EoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnFhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLCFifHxfLnRlc3QoYSkmJm9hKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1pYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksaWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8amEoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmaWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8amEoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksaWEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGphKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGZhfShhKTtuLmZpbmQ9dCxuLmV4cHI9dC5zZWxlY3RvcnMsbi5leHByWyI6Il09bi5leHByLnBzZXVkb3Msbi51bmlxdWVTb3J0PW4udW5pcXVlPXQudW5pcXVlU29ydCxuLnRleHQ9dC5nZXRUZXh0LG4uaXNYTUxEb2M9dC5pc1hNTCxuLmNvbnRhaW5zPXQuY29udGFpbnM7dmFyIHU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9dm9pZCAwIT09Yzt3aGlsZSgoYT1hW2JdKSYmOSE9PWEubm9kZVR5cGUpaWYoMT09PWEubm9kZVR5cGUpe2lmKGUmJm4oYSkuaXMoYykpYnJlYWs7ZC5wdXNoKGEpfXJldHVybiBkfSx2PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdO2E7YT1hLm5leHRTaWJsaW5nKTE9PT1hLm5vZGVUeXBlJiZhIT09YiYmYy5wdXNoKGEpO3JldHVybiBjfSx3PW4uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQseD0vXjwoW1x3LV0rKVxzKlwvPz4oPzo8XC9cMT58KSQvLHk9L14uW146I1xbXC4sXSokLztmdW5jdGlvbiB6KGEsYixjKXtpZihuLmlzRnVuY3Rpb24oYikpcmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0dXJuISFiLmNhbGwoYSxkLGEpIT09Y30pO2lmKGIubm9kZVR5cGUpcmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBhPT09YiE9PWN9KTtpZigic3RyaW5nIj09dHlwZW9mIGIpe2lmKHkudGVzdChiKSlyZXR1cm4gbi5maWx0ZXIoYixhLGMpO2I9bi5maWx0ZXIoYixhKX1yZXR1cm4gbi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGguY2FsbChiLGEpPi0xIT09Y30pfW4uZmlsdGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iWzBdO3JldHVybiBjJiYoYT0iOm5vdCgiK2ErIikiKSwxPT09Yi5sZW5ndGgmJjE9PT1kLm5vZGVUeXBlP24uZmluZC5tYXRjaGVzU2VsZWN0b3IoZCxhKT9bZF06W106bi5maW5kLm1hdGNoZXMoYSxuLmdyZXAoYixmdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV9KSl9LG4uZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGEpe3ZhciBiLGM9dGhpcy5sZW5ndGgsZD1bXSxlPXRoaXM7aWYoInN0cmluZyIhPXR5cGVvZiBhKXJldHVybiB0aGlzLnB1c2hTdGFjayhuKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7Yz5iO2IrKylpZihuLmNvbnRhaW5zKGVbYl0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKGI9MDtjPmI7YisrKW4uZmluZChhLGVbYl0sZCk7cmV0dXJuIGQ9dGhpcy5wdXNoU3RhY2soYz4xP24udW5pcXVlKGQpOmQpLGQuc2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yKyIgIithOmEsZH0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayh6KHRoaXMsYXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayh6KHRoaXMsYXx8W10sITApKX0saXM6ZnVuY3Rpb24oYSl7cmV0dXJuISF6KHRoaXMsInN0cmluZyI9PXR5cGVvZiBhJiZ3LnRlc3QoYSk/bihhKTphfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBBLEI9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x3LV0qKSkkLyxDPW4uZm4uaW5pdD1mdW5jdGlvbihhLGIsYyl7dmFyIGUsZjtpZighYSlyZXR1cm4gdGhpcztpZihjPWN8fEEsInN0cmluZyI9PXR5cGVvZiBhKXtpZihlPSI8Ij09PWFbMF0mJiI+Ij09PWFbYS5sZW5ndGgtMV0mJmEubGVuZ3RoPj0zP1tudWxsLGEsbnVsbF06Qi5leGVjKGEpLCFlfHwhZVsxXSYmYilyZXR1cm4hYnx8Yi5qcXVlcnk/KGJ8fGMpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihiKS5maW5kKGEpO2lmKGVbMV0pe2lmKGI9YiBpbnN0YW5jZW9mIG4/YlswXTpiLG4ubWVyZ2UodGhpcyxuLnBhcnNlSFRNTChlWzFdLGImJmIubm9kZVR5cGU/Yi5vd25lckRvY3VtZW50fHxiOmQsITApKSx4LnRlc3QoZVsxXSkmJm4uaXNQbGFpbk9iamVjdChiKSlmb3IoZSBpbiBiKW4uaXNGdW5jdGlvbih0aGlzW2VdKT90aGlzW2VdKGJbZV0pOnRoaXMuYXR0cihlLGJbZV0pO3JldHVybiB0aGlzfXJldHVybiBmPWQuZ2V0RWxlbWVudEJ5SWQoZVsyXSksZiYmZi5wYXJlbnROb2RlJiYodGhpcy5sZW5ndGg9MSx0aGlzWzBdPWYpLHRoaXMuY29udGV4dD1kLHRoaXMuc2VsZWN0b3I9YSx0aGlzfXJldHVybiBhLm5vZGVUeXBlPyh0aGlzLmNvbnRleHQ9dGhpc1swXT1hLHRoaXMubGVuZ3RoPTEsdGhpcyk6bi5pc0Z1bmN0aW9uKGEpP3ZvaWQgMCE9PWMucmVhZHk/Yy5yZWFkeShhKTphKG4pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG4ubWFrZUFycmF5KGEsdGhpcykpfTtDLnByb3RvdHlwZT1uLmZuLEE9bihkKTt2YXIgRD0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxFPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O24uZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oYSl7dmFyIGI9bihhLHRoaXMpLGM9Yi5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7Yz5hO2ErKylpZihuLmNvbnRhaW5zKHRoaXMsYlthXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dy50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bihhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbi5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP24udW5pcXVlU29ydChmKTpmKX0saW5kZXg6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/InN0cmluZyI9PXR5cGVvZiBhP2guY2FsbChuKGEpLHRoaXNbMF0pOmguY2FsbCh0aGlzLGEuanF1ZXJ5P2FbMF06YSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobi51bmlxdWVTb3J0KG4ubWVyZ2UodGhpcy5nZXQoKSxuKGEsYikpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWE/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoYSkpfX0pO2Z1bmN0aW9uIEYoYSxiKXt3aGlsZSgoYT1hW2JdKSYmMSE9PWEubm9kZVR5cGUpO3JldHVybiBhfW4uZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmMTEhPT1iLm5vZGVUeXBlP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHUoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEYoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiB1KGEsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLCJwcmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gdigoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIHYoYS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29udGVudERvY3VtZW50fHxuLm1lcmdlKFtdLGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe24uZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1uLm1hcCh0aGlzLGIsYyk7cmV0dXJuIlVudGlsIiE9PWEuc2xpY2UoLTUpJiYoZD1jKSxkJiYic3RyaW5nIj09dHlwZW9mIGQmJihlPW4uZmlsdGVyKGQsZSkpLHRoaXMubGVuZ3RoPjEmJihFW2FdfHxuLnVuaXF1ZVNvcnQoZSksRC50ZXN0KGEpJiZlLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEc9L1xTKy9nO2Z1bmN0aW9uIEgoYSl7dmFyIGI9e307cmV0dXJuIG4uZWFjaChhLm1hdGNoKEcpfHxbXSxmdW5jdGlvbihhLGMpe2JbY109ITB9KSxifW4uQ2FsbGJhY2tzPWZ1bmN0aW9uKGEpe2E9InN0cmluZyI9PXR5cGVvZiBhP0goYSk6bi5leHRlbmQoe30sYSk7dmFyIGIsYyxkLGUsZj1bXSxnPVtdLGg9LTEsaT1mdW5jdGlvbigpe2ZvcihlPWEub25jZSxkPWI9ITA7Zy5sZW5ndGg7aD0tMSl7Yz1nLnNoaWZ0KCk7d2hpbGUoKytoPGYubGVuZ3RoKWZbaF0uYXBwbHkoY1swXSxjWzFdKT09PSExJiZhLnN0b3BPbkZhbHNlJiYoaD1mLmxlbmd0aCxjPSExKX1hLm1lbW9yeXx8KGM9ITEpLGI9ITEsZSYmKGY9Yz9bXToiIil9LGo9e2FkZDpmdW5jdGlvbigpe3JldHVybiBmJiYoYyYmIWImJihoPWYubGVuZ3RoLTEsZy5wdXNoKGMpKSxmdW5jdGlvbiBkKGIpe24uZWFjaChiLGZ1bmN0aW9uKGIsYyl7bi5pc0Z1bmN0aW9uKGMpP2EudW5pcXVlJiZqLmhhcyhjKXx8Zi5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PW4udHlwZShjKSYmZChjKX0pfShhcmd1bWVudHMpLGMmJiFiJiZpKCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBuLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYil7dmFyIGM7d2hpbGUoKGM9bi5pbkFycmF5KGIsZixjKSk+LTEpZi5zcGxpY2UoYywxKSxoPj1jJiZoLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bi5pbkFycmF5KGEsZik+LTE6Zi5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGY9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGY9Yz0iIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFmfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGU9Zz1bXSxjfHwoZj1jPSIiKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWV9LGZpcmVXaXRoOmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGV8fChjPWN8fFtdLGM9W2EsYy5zbGljZT9jLnNsaWNlKCk6Y10sZy5wdXNoKGMpLGJ8fGkoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBqLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhZH19O3JldHVybiBqfSxuLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9W1sicmVzb2x2ZSIsImRvbmUiLG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsbi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlamVjdGVkIl0sWyJub3RpZnkiLCJwcm9ncmVzcyIsbi5DYWxsYmFja3MoIm1lbW9yeSIpXV0sYz0icGVuZGluZyIsZD17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSx0aGVuOmZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzO3JldHVybiBuLkRlZmVycmVkKGZ1bmN0aW9uKGMpe24uZWFjaChiLGZ1bmN0aW9uKGIsZil7dmFyIGc9bi5pc0Z1bmN0aW9uKGFbYl0pJiZhW2JdO2VbZlsxXV0oZnVuY3Rpb24oKXt2YXIgYT1nJiZnLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9hLnByb21pc2UoKS5wcm9ncmVzcyhjLm5vdGlmeSkuZG9uZShjLnJlc29sdmUpLmZhaWwoYy5yZWplY3QpOmNbZlswXSsiV2l0aCJdKHRoaXM9PT1kP2MucHJvbWlzZSgpOnRoaXMsZz9bYV06YXJndW1lbnRzKX0pfSksYT1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hP24uZXh0ZW5kKGEsZCk6ZH19LGU9e307cmV0dXJuIGQucGlwZT1kLnRoZW4sbi5lYWNoKGIsZnVuY3Rpb24oYSxmKXt2YXIgZz1mWzJdLGg9ZlszXTtkW2ZbMV1dPWcuYWRkLGgmJmcuYWRkKGZ1bmN0aW9uKCl7Yz1ofSxiWzFeYV1bMl0uZGlzYWJsZSxiWzJdWzJdLmxvY2spLGVbZlswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZVtmWzBdKyJXaXRoIl0odGhpcz09PWU/ZDp0aGlzLGFyZ3VtZW50cyksdGhpc30sZVtmWzBdKyJXaXRoIl09Zy5maXJlV2l0aH0pLGQucHJvbWlzZShlKSxhJiZhLmNhbGwoZSxlKSxlfSx3aGVuOmZ1bmN0aW9uKGEpe3ZhciBiPTAsYz1lLmNhbGwoYXJndW1lbnRzKSxkPWMubGVuZ3RoLGY9MSE9PWR8fGEmJm4uaXNGdW5jdGlvbihhLnByb21pc2UpP2Q6MCxnPTE9PT1mP2E6bi5EZWZlcnJlZCgpLGg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXtiW2FdPXRoaXMsY1thXT1hcmd1bWVudHMubGVuZ3RoPjE/ZS5jYWxsKGFyZ3VtZW50cyk6ZCxjPT09aT9nLm5vdGlmeVdpdGgoYixjKTotLWZ8fGcucmVzb2x2ZVdpdGgoYixjKX19LGksaixrO2lmKGQ+MSlmb3IoaT1uZXcgQXJyYXkoZCksaj1uZXcgQXJyYXkoZCksaz1uZXcgQXJyYXkoZCk7ZD5iO2IrKyljW2JdJiZuLmlzRnVuY3Rpb24oY1tiXS5wcm9taXNlKT9jW2JdLnByb21pc2UoKS5wcm9ncmVzcyhoKGIsaixpKSkuZG9uZShoKGIsayxjKSkuZmFpbChnLnJlamVjdCk6LS1mO3JldHVybiBmfHxnLnJlc29sdmVXaXRoKGssYyksZy5wcm9taXNlKCl9fSk7dmFyIEk7bi5mbi5yZWFkeT1mdW5jdGlvbihhKXtyZXR1cm4gbi5yZWFkeS5wcm9taXNlKCkuZG9uZShhKSx0aGlzfSxuLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxob2xkUmVhZHk6ZnVuY3Rpb24oYSl7YT9uLnJlYWR5V2FpdCsrOm4ucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbihhKXsoYT09PSEwPy0tbi5yZWFkeVdhaXQ6bi5pc1JlYWR5KXx8KG4uaXNSZWFkeT0hMCxhIT09ITAmJi0tbi5yZWFkeVdhaXQ+MHx8KEkucmVzb2x2ZVdpdGgoZCxbbl0pLG4uZm4udHJpZ2dlckhhbmRsZXImJihuKGQpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG4oZCkub2ZmKCJyZWFkeSIpKSkpfX0pO2Z1bmN0aW9uIEooKXtkLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEopLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsSiksbi5yZWFkeSgpfW4ucmVhZHkucHJvbWlzZT1mdW5jdGlvbihiKXtyZXR1cm4gSXx8KEk9bi5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGV8fCJsb2FkaW5nIiE9PWQucmVhZHlTdGF0ZSYmIWQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsP2Euc2V0VGltZW91dChuLnJlYWR5KTooZC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixKKSxhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLEopKSksSS5wcm9taXNlKGIpfSxuLnJlYWR5LnByb21pc2UoKTt2YXIgSz1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0wLGk9YS5sZW5ndGgsaj1udWxsPT1jO2lmKCJvYmplY3QiPT09bi50eXBlKGMpKXtlPSEwO2ZvcihoIGluIGMpSyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxuLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobihhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxMPWZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZXx8OT09PWEubm9kZVR5cGV8fCErYS5ub2RlVHlwZX07ZnVuY3Rpb24gTSgpe3RoaXMuZXhwYW5kbz1uLmV4cGFuZG8rTS51aWQrK31NLnVpZD0xLE0ucHJvdG90eXBlPXtyZWdpc3RlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fHt9O3JldHVybiBhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT1jOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHRoaXMuZXhwYW5kbyx7dmFsdWU6Yyx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxhW3RoaXMuZXhwYW5kb119LGNhY2hlOmZ1bmN0aW9uKGEpe2lmKCFMKGEpKXJldHVybnt9O3ZhciBiPWFbdGhpcy5leHBhbmRvXTtyZXR1cm4gYnx8KGI9e30sTChhKSYmKGEubm9kZVR5cGU/YVt0aGlzLmV4cGFuZG9dPWI6T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsdGhpcy5leHBhbmRvLHt2YWx1ZTpiLGNvbmZpZ3VyYWJsZTohMH0pKSksYn0sc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPXRoaXMuY2FjaGUoYSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKWVbYl09YztlbHNlIGZvcihkIGluIGIpZVtkXT1iW2RdO3JldHVybiBlfSxnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT09Yj90aGlzLmNhY2hlKGEpOmFbdGhpcy5leHBhbmRvXSYmYVt0aGlzLmV4cGFuZG9dW2JdfSxhY2Nlc3M6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiB2b2lkIDA9PT1ifHxiJiYic3RyaW5nIj09dHlwZW9mIGImJnZvaWQgMD09PWM/KGQ9dGhpcy5nZXQoYSxiKSx2b2lkIDAhPT1kP2Q6dGhpcy5nZXQoYSxuLmNhbWVsQ2FzZShiKSkpOih0aGlzLnNldChhLGIsYyksdm9pZCAwIT09Yz9jOmIpfSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09Zil7aWYodm9pZCAwPT09Yil0aGlzLnJlZ2lzdGVyKGEpO2Vsc2V7bi5pc0FycmF5KGIpP2Q9Yi5jb25jYXQoYi5tYXAobi5jYW1lbENhc2UpKTooZT1uLmNhbWVsQ2FzZShiKSxiIGluIGY/ZD1bYixlXTooZD1lLGQ9ZCBpbiBmP1tkXTpkLm1hdGNoKEcpfHxbXSkpLGM9ZC5sZW5ndGg7d2hpbGUoYy0tKWRlbGV0ZSBmW2RbY11dfSh2b2lkIDA9PT1ifHxuLmlzRW1wdHlPYmplY3QoZikpJiYoYS5ub2RlVHlwZT9hW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBhW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihhKXt2YXIgYj1hW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PWImJiFuLmlzRW1wdHlPYmplY3QoYil9fTt2YXIgTj1uZXcgTSxPPW5ldyBNLFA9L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyxRPS9bQS1aXS9nO2Z1bmN0aW9uIFIoYSxiLGMpe3ZhciBkO2lmKHZvaWQgMD09PWMmJjE9PT1hLm5vZGVUeXBlKWlmKGQ9ImRhdGEtIitiLnJlcGxhY2UoUSwiLSQmIikudG9Mb3dlckNhc2UoKSxjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOlAudGVzdChjKT9uLnBhcnNlSlNPTihjKTpjOwp9Y2F0Y2goZSl7fU8uc2V0KGEsYixjKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfW4uZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiBPLmhhc0RhdGEoYSl8fE4uaGFzRGF0YShhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIE8uYWNjZXNzKGEsYixjKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe08ucmVtb3ZlKGEsYil9LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTi5hY2Nlc3MoYSxiLGMpfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe04ucmVtb3ZlKGEsYil9fSksbi5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzWzBdLGc9ZiYmZi5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWEpe2lmKHRoaXMubGVuZ3RoJiYoZT1PLmdldChmKSwxPT09Zi5ub2RlVHlwZSYmIU4uZ2V0KGYsImhhc0RhdGFBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW4uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLFIoZixkLGVbZF0pKSk7Ti5zZXQoZiwiaGFzRGF0YUF0dHJzIiwhMCl9cmV0dXJuIGV9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBhP3RoaXMuZWFjaChmdW5jdGlvbigpe08uc2V0KHRoaXMsYSl9KTpLKHRoaXMsZnVuY3Rpb24oYil7dmFyIGMsZDtpZihmJiZ2b2lkIDA9PT1iKXtpZihjPU8uZ2V0KGYsYSl8fE8uZ2V0KGYsYS5yZXBsYWNlKFEsIi0kJiIpLnRvTG93ZXJDYXNlKCkpLHZvaWQgMCE9PWMpcmV0dXJuIGM7aWYoZD1uLmNhbWVsQ2FzZShhKSxjPU8uZ2V0KGYsZCksdm9pZCAwIT09YylyZXR1cm4gYztpZihjPVIoZixkLHZvaWQgMCksdm9pZCAwIT09YylyZXR1cm4gY31lbHNlIGQ9bi5jYW1lbENhc2UoYSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9Ty5nZXQodGhpcyxkKTtPLnNldCh0aGlzLGQsYiksYS5pbmRleE9mKCItIik+LTEmJnZvaWQgMCE9PWMmJk8uc2V0KHRoaXMsYSxiKX0pfSxudWxsLGIsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtPLnJlbW92ZSh0aGlzLGEpfSl9fSksbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYT8oYj0oYnx8ImZ4IikrInF1ZXVlIixkPU4uZ2V0KGEsYiksYyYmKCFkfHxuLmlzQXJyYXkoYyk/ZD1OLmFjY2VzcyhhLGIsbi5tYWtlQXJyYXkoYykpOmQucHVzaChjKSksZHx8W10pOnZvaWQgMH0sZGVxdWV1ZTpmdW5jdGlvbihhLGIpe2I9Ynx8ImZ4Ijt2YXIgYz1uLnF1ZXVlKGEsYiksZD1jLmxlbmd0aCxlPWMuc2hpZnQoKSxmPW4uX3F1ZXVlSG9va3MoYSxiKSxnPWZ1bmN0aW9uKCl7bi5kZXF1ZXVlKGEsYil9OyJpbnByb2dyZXNzIj09PWUmJihlPWMuc2hpZnQoKSxkLS0pLGUmJigiZngiPT09YiYmYy51bnNoaWZ0KCJpbnByb2dyZXNzIiksZGVsZXRlIGYuc3RvcCxlLmNhbGwoYSxnLGYpKSwhZCYmZiYmZi5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGEsYil7dmFyIGM9YisicXVldWVIb29rcyI7cmV0dXJuIE4uZ2V0KGEsYyl8fE4uYWNjZXNzKGEsYyx7ZW1wdHk6bi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7Ti5yZW1vdmUoYSxbYisicXVldWUiLGNdKX0pfSl9fSksbi5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYil7dmFyIGM9MjtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGEmJihiPWEsYT0iZngiLGMtLSksYXJndW1lbnRzLmxlbmd0aDxjP24ucXVldWUodGhpc1swXSxhKTp2b2lkIDA9PT1iP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9bi5xdWV1ZSh0aGlzLGEsYik7bi5fcXVldWVIb29rcyh0aGlzLGEpLCJmeCI9PT1hJiYiaW5wcm9ncmVzcyIhPT1jWzBdJiZuLmRlcXVldWUodGhpcyxhKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmRlcXVldWUodGhpcyxhKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0xLGU9bi5EZWZlcnJlZCgpLGY9dGhpcyxnPXRoaXMubGVuZ3RoLGg9ZnVuY3Rpb24oKXstLWR8fGUucmVzb2x2ZVdpdGgoZixbZl0pfTsic3RyaW5nIiE9dHlwZW9mIGEmJihiPWEsYT12b2lkIDApLGE9YXx8ImZ4Ijt3aGlsZShnLS0pYz1OLmdldChmW2ddLGErInF1ZXVlSG9va3MiKSxjJiZjLmVtcHR5JiYoZCsrLGMuZW1wdHkuYWRkKGgpKTtyZXR1cm4gaCgpLGUucHJvbWlzZShiKX19KTt2YXIgUz0vWystXT8oPzpcZCpcLnwpXGQrKD86W2VFXVsrLV0/XGQrfCkvLnNvdXJjZSxUPW5ldyBSZWdFeHAoIl4oPzooWystXSk9fCkoIitTKyIpKFthLXolXSopJCIsImkiKSxVPVsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sVj1mdW5jdGlvbihhLGIpe3JldHVybiBhPWJ8fGEsIm5vbmUiPT09bi5jc3MoYSwiZGlzcGxheSIpfHwhbi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSl9O2Z1bmN0aW9uIFcoYSxiLGMsZCl7dmFyIGUsZj0xLGc9MjAsaD1kP2Z1bmN0aW9uKCl7cmV0dXJuIGQuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIG4uY3NzKGEsYiwiIil9LGk9aCgpLGo9YyYmY1szXXx8KG4uY3NzTnVtYmVyW2JdPyIiOiJweCIpLGs9KG4uY3NzTnVtYmVyW2JdfHwicHgiIT09aiYmK2kpJiZULmV4ZWMobi5jc3MoYSxiKSk7aWYoayYma1szXSE9PWope2o9anx8a1szXSxjPWN8fFtdLGs9K2l8fDE7ZG8gZj1mfHwiLjUiLGsvPWYsbi5zdHlsZShhLGIsaytqKTt3aGlsZShmIT09KGY9aCgpL2kpJiYxIT09ZiYmLS1nKX1yZXR1cm4gYyYmKGs9K2t8fCtpfHwwLGU9Y1sxXT9rKyhjWzFdKzEpKmNbMl06K2NbMl0sZCYmKGQudW5pdD1qLGQuc3RhcnQ9ayxkLmVuZD1lKSksZX12YXIgWD0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxZPS88KFtcdzotXSspLyxaPS9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSwkPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSx0aGVhZDpbMSwiPHRhYmxlPiIsIjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLF9kZWZhdWx0OlswLCIiLCIiXX07JC5vcHRncm91cD0kLm9wdGlvbiwkLnRib2R5PSQudGZvb3Q9JC5jb2xncm91cD0kLmNhcHRpb249JC50aGVhZCwkLnRoPSQudGQ7ZnVuY3Rpb24gXyhhLGIpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6InVuZGVmaW5lZCIhPXR5cGVvZiBhLnF1ZXJ5U2VsZWN0b3JBbGw/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6W107cmV0dXJuIHZvaWQgMD09PWJ8fGImJm4ubm9kZU5hbWUoYSxiKT9uLm1lcmdlKFthXSxjKTpjfWZ1bmN0aW9uIGFhKGEsYil7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtkPmM7YysrKU4uc2V0KGFbY10sImdsb2JhbEV2YWwiLCFifHxOLmdldChiW2NdLCJnbG9iYWxFdmFsIikpfXZhciBiYT0vPHwmIz9cdys7LztmdW5jdGlvbiBjYShhLGIsYyxkLGUpe2Zvcih2YXIgZixnLGgsaSxqLGssbD1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxtPVtdLG89MCxwPWEubGVuZ3RoO3A+bztvKyspaWYoZj1hW29dLGZ8fDA9PT1mKWlmKCJvYmplY3QiPT09bi50eXBlKGYpKW4ubWVyZ2UobSxmLm5vZGVUeXBlP1tmXTpmKTtlbHNlIGlmKGJhLnRlc3QoZikpe2c9Z3x8bC5hcHBlbmRDaGlsZChiLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxoPShZLmV4ZWMoZil8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksaT0kW2hdfHwkLl9kZWZhdWx0LGcuaW5uZXJIVE1MPWlbMV0rbi5odG1sUHJlZmlsdGVyKGYpK2lbMl0saz1pWzBdO3doaWxlKGstLSlnPWcubGFzdENoaWxkO24ubWVyZ2UobSxnLmNoaWxkTm9kZXMpLGc9bC5maXJzdENoaWxkLGcudGV4dENvbnRlbnQ9IiJ9ZWxzZSBtLnB1c2goYi5jcmVhdGVUZXh0Tm9kZShmKSk7bC50ZXh0Q29udGVudD0iIixvPTA7d2hpbGUoZj1tW28rK10paWYoZCYmbi5pbkFycmF5KGYsZCk+LTEpZSYmZS5wdXNoKGYpO2Vsc2UgaWYoaj1uLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxnPV8obC5hcHBlbmRDaGlsZChmKSwic2NyaXB0IiksaiYmYWEoZyksYyl7az0wO3doaWxlKGY9Z1trKytdKVoudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBsfSFmdW5jdGlvbigpe3ZhciBhPWQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGI9YS5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxjPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtjLnNldEF0dHJpYnV0ZSgidHlwZSIsInJhZGlvIiksYy5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIiksYy5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJ0IiksYi5hcHBlbmRDaGlsZChjKSxsLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsYi5pbm5lckhUTUw9Ijx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iLGwubm9DbG9uZUNoZWNrZWQ9ISFiLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZX0oKTt2YXIgZGE9L15rZXkvLGVhPS9eKD86bW91c2V8cG9pbnRlcnxjb250ZXh0bWVudXxkcmFnfGRyb3ApfGNsaWNrLyxmYT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gZ2EoKXtyZXR1cm4hMH1mdW5jdGlvbiBoYSgpe3JldHVybiExfWZ1bmN0aW9uIGlhKCl7dHJ5e3JldHVybiBkLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1mdW5jdGlvbiBqYShhLGIsYyxkLGUsZil7dmFyIGcsaDtpZigib2JqZWN0Ij09dHlwZW9mIGIpeyJzdHJpbmciIT10eXBlb2YgYyYmKGQ9ZHx8YyxjPXZvaWQgMCk7Zm9yKGggaW4gYilqYShhLGgsYyxkLGJbaF0sZik7cmV0dXJuIGF9aWYobnVsbD09ZCYmbnVsbD09ZT8oZT1jLGQ9Yz12b2lkIDApOm51bGw9PWUmJigic3RyaW5nIj09dHlwZW9mIGM/KGU9ZCxkPXZvaWQgMCk6KGU9ZCxkPWMsYz12b2lkIDApKSxlPT09ITEpZT1oYTtlbHNlIGlmKCFlKXJldHVybiBhO3JldHVybiAxPT09ZiYmKGc9ZSxlPWZ1bmN0aW9uKGEpe3JldHVybiBuKCkub2ZmKGEpLGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlLmd1aWQ9Zy5ndWlkfHwoZy5ndWlkPW4uZ3VpZCsrKSksYS5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5hZGQodGhpcyxiLGUsZCxjKX0pfW4uZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG8scCxxLHI9Ti5nZXQoYSk7aWYocil7Yy5oYW5kbGVyJiYoZj1jLGM9Zi5oYW5kbGVyLGU9Zi5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW4uZ3VpZCsrKSwoaT1yLmV2ZW50cyl8fChpPXIuZXZlbnRzPXt9KSwoZz1yLmhhbmRsZSl8fChnPXIuaGFuZGxlPWZ1bmN0aW9uKGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbiYmbi5ldmVudC50cmlnZ2VyZWQhPT1iLnR5cGU/bi5ldmVudC5kaXNwYXRjaC5hcHBseShhLGFyZ3VtZW50cyk6dm9pZCAwfSksYj0oYnx8IiIpLm1hdGNoKEcpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWg9ZmEuZXhlYyhiW2pdKXx8W10sbz1xPWhbMV0scD0oaFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLG8mJihsPW4uZXZlbnQuc3BlY2lhbFtvXXx8e30sbz0oZT9sLmRlbGVnYXRlVHlwZTpsLmJpbmRUeXBlKXx8byxsPW4uZXZlbnQuc3BlY2lhbFtvXXx8e30saz1uLmV4dGVuZCh7dHlwZTpvLG9yaWdUeXBlOnEsZGF0YTpkLGhhbmRsZXI6YyxndWlkOmMuZ3VpZCxzZWxlY3RvcjplLG5lZWRzQ29udGV4dDplJiZuLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoZSksbmFtZXNwYWNlOnAuam9pbigiLiIpfSxmKSwobT1pW29dKXx8KG09aVtvXT1bXSxtLmRlbGVnYXRlQ291bnQ9MCxsLnNldHVwJiZsLnNldHVwLmNhbGwoYSxkLHAsZykhPT0hMXx8YS5hZGRFdmVudExpc3RlbmVyJiZhLmFkZEV2ZW50TGlzdGVuZXIobyxnKSksbC5hZGQmJihsLmFkZC5jYWxsKGEsayksay5oYW5kbGVyLmd1aWR8fChrLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP20uc3BsaWNlKG0uZGVsZWdhdGVDb3VudCsrLDAsayk6bS5wdXNoKGspLG4uZXZlbnQuZ2xvYmFsW29dPSEwKX19LHJlbW92ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbyxwLHEscj1OLmhhc0RhdGEoYSkmJk4uZ2V0KGEpO2lmKHImJihpPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEcpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9ZmEuZXhlYyhiW2pdKXx8W10sbz1xPWhbMV0scD0oaFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLG8pe2w9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShkP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxvLG09aVtvXXx8W10saD1oWzJdJiZuZXcgUmVnRXhwKCIoXnxcXC4pIitwLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpLGc9Zj1tLmxlbmd0aDt3aGlsZShmLS0paz1tW2ZdLCFlJiZxIT09ay5vcmlnVHlwZXx8YyYmYy5ndWlkIT09ay5ndWlkfHxoJiYhaC50ZXN0KGsubmFtZXNwYWNlKXx8ZCYmZCE9PWsuc2VsZWN0b3ImJigiKioiIT09ZHx8IWsuc2VsZWN0b3IpfHwobS5zcGxpY2UoZiwxKSxrLnNlbGVjdG9yJiZtLmRlbGVnYXRlQ291bnQtLSxsLnJlbW92ZSYmbC5yZW1vdmUuY2FsbChhLGspKTtnJiYhbS5sZW5ndGgmJihsLnRlYXJkb3duJiZsLnRlYXJkb3duLmNhbGwoYSxwLHIuaGFuZGxlKSE9PSExfHxuLnJlbW92ZUV2ZW50KGEsbyxyLmhhbmRsZSksZGVsZXRlIGlbb10pfWVsc2UgZm9yKG8gaW4gaSluLmV2ZW50LnJlbW92ZShhLG8rYltqXSxjLGQsITApO24uaXNFbXB0eU9iamVjdChpKSYmTi5yZW1vdmUoYSwiaGFuZGxlIGV2ZW50cyIpfX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1uLmV2ZW50LmZpeChhKTt2YXIgYixjLGQsZixnLGg9W10saT1lLmNhbGwoYXJndW1lbnRzKSxqPShOLmdldCh0aGlzLCJldmVudHMiKXx8e30pW2EudHlwZV18fFtdLGs9bi5ldmVudC5zcGVjaWFsW2EudHlwZV18fHt9O2lmKGlbMF09YSxhLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWsucHJlRGlzcGF0Y2h8fGsucHJlRGlzcGF0Y2guY2FsbCh0aGlzLGEpIT09ITEpe2g9bi5ldmVudC5oYW5kbGVycy5jYWxsKHRoaXMsYSxqKSxiPTA7d2hpbGUoKGY9aFtiKytdKSYmIWEuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSl7YS5jdXJyZW50VGFyZ2V0PWYuZWxlbSxjPTA7d2hpbGUoKGc9Zi5oYW5kbGVyc1tjKytdKSYmIWEuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSlhLnJuYW1lc3BhY2UmJiFhLnJuYW1lc3BhY2UudGVzdChnLm5hbWVzcGFjZSl8fChhLmhhbmRsZU9iaj1nLGEuZGF0YT1nLmRhdGEsZD0oKG4uZXZlbnQuc3BlY2lhbFtnLm9yaWdUeXBlXXx8e30pLmhhbmRsZXx8Zy5oYW5kbGVyKS5hcHBseShmLmVsZW0saSksdm9pZCAwIT09ZCYmKGEucmVzdWx0PWQpPT09ITEmJihhLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSkpfXJldHVybiBrLnBvc3REaXNwYXRjaCYmay5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGEpLGEucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZixnPVtdLGg9Yi5kZWxlZ2F0ZUNvdW50LGk9YS50YXJnZXQ7aWYoaCYmaS5ub2RlVHlwZSYmKCJjbGljayIhPT1hLnR5cGV8fGlzTmFOKGEuYnV0dG9uKXx8YS5idXR0b248MSkpZm9yKDtpIT09dGhpcztpPWkucGFyZW50Tm9kZXx8dGhpcylpZigxPT09aS5ub2RlVHlwZSYmKGkuZGlzYWJsZWQhPT0hMHx8ImNsaWNrIiE9PWEudHlwZSkpe2ZvcihkPVtdLGM9MDtoPmM7YysrKWY9YltjXSxlPWYuc2VsZWN0b3IrIiAiLHZvaWQgMD09PWRbZV0mJihkW2VdPWYubmVlZHNDb250ZXh0P24oZSx0aGlzKS5pbmRleChpKT4tMTpuLmZpbmQoZSx0aGlzLG51bGwsW2ldKS5sZW5ndGgpLGRbZV0mJmQucHVzaChmKTtkLmxlbmd0aCYmZy5wdXNoKHtlbGVtOmksaGFuZGxlcnM6ZH0pfXJldHVybiBoPGIubGVuZ3RoJiZnLnB1c2goe2VsZW06dGhpcyxoYW5kbGVyczpiLnNsaWNlKGgpfSksZ30scHJvcHM6ImFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGRldGFpbCBldmVudFBoYXNlIG1ldGFLZXkgcmVsYXRlZFRhcmdldCBzaGlmdEtleSB0YXJnZXQgdGltZVN0YW1wIHZpZXcgd2hpY2giLnNwbGl0KCIgIiksZml4SG9va3M6e30sa2V5SG9va3M6e3Byb3BzOiJjaGFyIGNoYXJDb2RlIGtleSBrZXlDb2RlIi5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe3JldHVybiBudWxsPT1hLndoaWNoJiYoYS53aGljaD1udWxsIT1iLmNoYXJDb2RlP2IuY2hhckNvZGU6Yi5rZXlDb2RlKSxhfX0sbW91c2VIb29rczp7cHJvcHM6ImJ1dHRvbiBidXR0b25zIGNsaWVudFggY2xpZW50WSBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgc2NyZWVuWCBzY3JlZW5ZIHRvRWxlbWVudCIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZz1iLmJ1dHRvbjtyZXR1cm4gbnVsbD09YS5wYWdlWCYmbnVsbCE9Yi5jbGllbnRYJiYoYz1hLnRhcmdldC5vd25lckRvY3VtZW50fHxkLGU9Yy5kb2N1bWVudEVsZW1lbnQsZj1jLmJvZHksYS5wYWdlWD1iLmNsaWVudFgrKGUmJmUuc2Nyb2xsTGVmdHx8ZiYmZi5zY3JvbGxMZWZ0fHwwKS0oZSYmZS5jbGllbnRMZWZ0fHxmJiZmLmNsaWVudExlZnR8fDApLGEucGFnZVk9Yi5jbGllbnRZKyhlJiZlLnNjcm9sbFRvcHx8ZiYmZi5zY3JvbGxUb3B8fDApLShlJiZlLmNsaWVudFRvcHx8ZiYmZi5jbGllbnRUb3B8fDApKSxhLndoaWNofHx2b2lkIDA9PT1nfHwoYS53aGljaD0xJmc/MToyJmc/Mzo0Jmc/MjowKSxhfX0sZml4OmZ1bmN0aW9uKGEpe2lmKGFbbi5leHBhbmRvXSlyZXR1cm4gYTt2YXIgYixjLGUsZj1hLnR5cGUsZz1hLGg9dGhpcy5maXhIb29rc1tmXTtofHwodGhpcy5maXhIb29rc1tmXT1oPWVhLnRlc3QoZik/dGhpcy5tb3VzZUhvb2tzOmRhLnRlc3QoZik/dGhpcy5rZXlIb29rczp7fSksZT1oLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGgucHJvcHMpOnRoaXMucHJvcHMsYT1uZXcgbi5FdmVudChnKSxiPWUubGVuZ3RoO3doaWxlKGItLSljPWVbYl0sYVtjXT1nW2NdO3JldHVybiBhLnRhcmdldHx8KGEudGFyZ2V0PWQpLDM9PT1hLnRhcmdldC5ub2RlVHlwZSYmKGEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGUpLGguZmlsdGVyP2guZmlsdGVyKGEsZyk6YX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMhPT1pYSgpJiZ0aGlzLmZvY3VzPyh0aGlzLmZvY3VzKCksITEpOnZvaWQgMH0sZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzPT09aWEoKSYmdGhpcy5ibHVyPyh0aGlzLmJsdXIoKSwhMSk6dm9pZCAwfSxkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sY2xpY2s6e3RyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4iY2hlY2tib3giPT09dGhpcy50eXBlJiZ0aGlzLmNsaWNrJiZuLm5vZGVOYW1lKHRoaXMsImlucHV0Iik/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbi5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX19LG4ucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYyl9LG4uRXZlbnQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIG4uRXZlbnQ/KGEmJmEudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWEsdGhpcy50eXBlPWEudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1hLmRlZmF1bHRQcmV2ZW50ZWR8fHZvaWQgMD09PWEuZGVmYXVsdFByZXZlbnRlZCYmYS5yZXR1cm5WYWx1ZT09PSExP2dhOmhhKTp0aGlzLnR5cGU9YSxiJiZuLmV4dGVuZCh0aGlzLGIpLHRoaXMudGltZVN0YW1wPWEmJmEudGltZVN0YW1wfHxuLm5vdygpLHZvaWQodGhpc1tuLmV4cGFuZG9dPSEwKSk6bmV3IG4uRXZlbnQoYSxiKX0sbi5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOm4uRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOmhhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmhhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmhhLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWdhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWdhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1nYSxhJiYhdGhpcy5pc1NpbXVsYXRlZCYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sbi5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSxmdW5jdGlvbihhLGIpe24uZXZlbnQuc3BlY2lhbFthXT17ZGVsZWdhdGVUeXBlOmIsYmluZFR5cGU6YixoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGMsZD10aGlzLGU9YS5yZWxhdGVkVGFyZ2V0LGY9YS5oYW5kbGVPYmo7cmV0dXJuIGUmJihlPT09ZHx8bi5jb250YWlucyhkLGUpKXx8KGEudHlwZT1mLm9yaWdUeXBlLGM9Zi5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxhLnR5cGU9YiksY319fSksbi5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBqYSh0aGlzLGEsYixjLGQpfSxvbmU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGphKHRoaXMsYSxiLGMsZCwxKX0sb2ZmOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2lmKGEmJmEucHJldmVudERlZmF1bHQmJmEuaGFuZGxlT2JqKXJldHVybiBkPWEuaGFuZGxlT2JqLG4oYS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGQubmFtZXNwYWNlP2Qub3JpZ1R5cGUrIi4iK2QubmFtZXNwYWNlOmQub3JpZ1R5cGUsZC5zZWxlY3RvcixkLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXtmb3IoZSBpbiBhKXRoaXMub2ZmKGUsYixhW2VdKTtyZXR1cm4gdGhpc31yZXR1cm4gYiE9PSExJiYiZnVuY3Rpb24iIT10eXBlb2YgYnx8KGM9YixiPXZvaWQgMCksYz09PSExJiYoYz1oYSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5yZW1vdmUodGhpcyxhLGMsYil9KX19KTt2YXIga2E9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Oi1dKylbXj5dKilcLz4vZ2ksbGE9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksbWE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksbmE9L150cnVlXC8oLiopLyxvYT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7ZnVuY3Rpb24gcGEoYSxiKXtyZXR1cm4gbi5ub2RlTmFtZShhLCJ0YWJsZSIpJiZuLm5vZGVOYW1lKDExIT09Yi5ub2RlVHlwZT9iOmIuZmlyc3RDaGlsZCwidHIiKT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxhLmFwcGVuZENoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpKTphfWZ1bmN0aW9uIHFhKGEpe3JldHVybiBhLnR5cGU9KG51bGwhPT1hLmdldEF0dHJpYnV0ZSgidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24gcmEoYSl7dmFyIGI9bmEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiBzYShhLGIpe3ZhciBjLGQsZSxmLGcsaCxpLGo7aWYoMT09PWIubm9kZVR5cGUpe2lmKE4uaGFzRGF0YShhKSYmKGY9Ti5hY2Nlc3MoYSksZz1OLnNldChiLGYpLGo9Zi5ldmVudHMpKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGUgaW4gailmb3IoYz0wLGQ9altlXS5sZW5ndGg7ZD5jO2MrKyluLmV2ZW50LmFkZChiLGUsaltlXVtjXSl9Ty5oYXNEYXRhKGEpJiYoaD1PLmFjY2VzcyhhKSxpPW4uZXh0ZW5kKHt9LGgpLE8uc2V0KGIsaSkpfX1mdW5jdGlvbiB0YShhLGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsiaW5wdXQiPT09YyYmWC50ZXN0KGEudHlwZSk/Yi5jaGVja2VkPWEuY2hlY2tlZDoiaW5wdXQiIT09YyYmInRleHRhcmVhIiE9PWN8fChiLmRlZmF1bHRWYWx1ZT1hLmRlZmF1bHRWYWx1ZSl9ZnVuY3Rpb24gdWEoYSxiLGMsZCl7Yj1mLmFwcGx5KFtdLGIpO3ZhciBlLGcsaCxpLGosayxtPTAsbz1hLmxlbmd0aCxwPW8tMSxxPWJbMF0scj1uLmlzRnVuY3Rpb24ocSk7aWYocnx8bz4xJiYic3RyaW5nIj09dHlwZW9mIHEmJiFsLmNoZWNrQ2xvbmUmJm1hLnRlc3QocSkpcmV0dXJuIGEuZWFjaChmdW5jdGlvbihlKXt2YXIgZj1hLmVxKGUpO3ImJihiWzBdPXEuY2FsbCh0aGlzLGUsZi5odG1sKCkpKSx1YShmLGIsYyxkKX0pO2lmKG8mJihlPWNhKGIsYVswXS5vd25lckRvY3VtZW50LCExLGEsZCksZz1lLmZpcnN0Q2hpbGQsMT09PWUuY2hpbGROb2Rlcy5sZW5ndGgmJihlPWcpLGd8fGQpKXtmb3IoaD1uLm1hcChfKGUsInNjcmlwdCIpLHFhKSxpPWgubGVuZ3RoO28+bTttKyspaj1lLG0hPT1wJiYoaj1uLmNsb25lKGosITAsITApLGkmJm4ubWVyZ2UoaCxfKGosInNjcmlwdCIpKSksYy5jYWxsKGFbbV0saixtKTtpZihpKWZvcihrPWhbaC5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxuLm1hcChoLHJhKSxtPTA7aT5tO20rKylqPWhbbV0sWi50ZXN0KGoudHlwZXx8IiIpJiYhTi5hY2Nlc3MoaiwiZ2xvYmFsRXZhbCIpJiZuLmNvbnRhaW5zKGssaikmJihqLnNyYz9uLl9ldmFsVXJsJiZuLl9ldmFsVXJsKGouc3JjKTpuLmdsb2JhbEV2YWwoai50ZXh0Q29udGVudC5yZXBsYWNlKG9hLCIiKSkpfXJldHVybiBhfWZ1bmN0aW9uIHZhKGEsYixjKXtmb3IodmFyIGQsZT1iP24uZmlsdGVyKGIsYSk6YSxmPTA7bnVsbCE9KGQ9ZVtmXSk7ZisrKWN8fDEhPT1kLm5vZGVUeXBlfHxuLmNsZWFuRGF0YShfKGQpKSxkLnBhcmVudE5vZGUmJihjJiZuLmNvbnRhaW5zKGQub3duZXJEb2N1bWVudCxkKSYmYWEoXyhkLCJzY3JpcHQiKSksZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpKTtyZXR1cm4gYX1uLmV4dGVuZCh7aHRtbFByZWZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGthLCI8JDE+PC8kMj4iKX0sY2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jbG9uZU5vZGUoITApLGk9bi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSk7aWYoIShsLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxuLmlzWE1MRG9jKGEpKSlmb3IoZz1fKGgpLGY9XyhhKSxkPTAsZT1mLmxlbmd0aDtlPmQ7ZCsrKXRhKGZbZF0sZ1tkXSk7aWYoYilpZihjKWZvcihmPWZ8fF8oYSksZz1nfHxfKGgpLGQ9MCxlPWYubGVuZ3RoO2U+ZDtkKyspc2EoZltkXSxnW2RdKTtlbHNlIHNhKGEsaCk7cmV0dXJuIGc9XyhoLCJzY3JpcHQiKSxnLmxlbmd0aD4wJiZhYShnLCFpJiZfKGEsInNjcmlwdCIpKSxofSxjbGVhbkRhdGE6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZCxlPW4uZXZlbnQuc3BlY2lhbCxmPTA7dm9pZCAwIT09KGM9YVtmXSk7ZisrKWlmKEwoYykpe2lmKGI9Y1tOLmV4cGFuZG9dKXtpZihiLmV2ZW50cylmb3IoZCBpbiBiLmV2ZW50cyllW2RdP24uZXZlbnQucmVtb3ZlKGMsZCk6bi5yZW1vdmVFdmVudChjLGQsYi5oYW5kbGUpO2NbTi5leHBhbmRvXT12b2lkIDB9Y1tPLmV4cGFuZG9dJiYoY1tPLmV4cGFuZG9dPXZvaWQgMCl9fX0pLG4uZm4uZXh0ZW5kKHtkb21NYW5pcDp1YSxkZXRhY2g6ZnVuY3Rpb24oYSl7cmV0dXJuIHZhKHRoaXMsYSwhMCl9LHJlbW92ZTpmdW5jdGlvbihhKXtyZXR1cm4gdmEodGhpcyxhKX0sdGV4dDpmdW5jdGlvbihhKXtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGEpe3JldHVybiB2b2lkIDA9PT1hP24udGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuZWFjaChmdW5jdGlvbigpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHwodGhpcy50ZXh0Q29udGVudD1hKX0pfSxudWxsLGEsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIGI9cGEodGhpcyxhKTtiLmFwcGVuZENoaWxkKGEpfX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj1wYSh0aGlzLGEpO2IuaW5zZXJ0QmVmb3JlKGEsYi5maXJzdENoaWxkKX19KX0sYmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMpfSl9LGFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMubmV4dFNpYmxpbmcpfSl9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9MDtudWxsIT0oYT10aGlzW2JdKTtiKyspMT09PWEubm9kZVR5cGUmJihuLmNsZWFuRGF0YShfKGEsITEpKSxhLnRleHRDb250ZW50PSIiKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1udWxsPT1hPyExOmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBuLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSYmMT09PWIubm9kZVR5cGUpcmV0dXJuIGIuaW5uZXJIVE1MO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmIWxhLnRlc3QoYSkmJiEkWyhZLmV4ZWMoYSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXthPW4uaHRtbFByZWZpbHRlcihhKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihuLmNsZWFuRGF0YShfKGIsITEpKSxiLmlubmVySFRNTD1hKTtiPTB9Y2F0Y2goZSl7fX1iJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfSxudWxsLGEsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGE9W107cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucGFyZW50Tm9kZTtuLmluQXJyYXkodGhpcyxhKTwwJiYobi5jbGVhbkRhdGEoXyh0aGlzKSksYyYmYy5yZXBsYWNlQ2hpbGQoYix0aGlzKSl9LGEpfX0pLG4uZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhKXtmb3IodmFyIGMsZD1bXSxlPW4oYSksZj1lLmxlbmd0aC0xLGg9MDtmPj1oO2grKyljPWg9PT1mP3RoaXM6dGhpcy5jbG9uZSghMCksbihlW2hdKVtiXShjKSxnLmFwcGx5KGQsYy5nZXQoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGQpfX0pO3ZhciB3YSx4YT17SFRNTDoiYmxvY2siLEJPRFk6ImJsb2NrIn07ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1uKGIuY3JlYXRlRWxlbWVudChhKSkuYXBwZW5kVG8oYi5ib2R5KSxkPW4uY3NzKGNbMF0sImRpc3BsYXkiKTtyZXR1cm4gYy5kZXRhY2goKSxkfWZ1bmN0aW9uIHphKGEpe3ZhciBiPWQsYz14YVthXTtyZXR1cm4gY3x8KGM9eWEoYSxiKSwibm9uZSIhPT1jJiZjfHwod2E9KHdhfHxuKCI8aWZyYW1lIGZyYW1lYm9yZGVyPScwJyB3aWR0aD0nMCcgaGVpZ2h0PScwJy8+IikpLmFwcGVuZFRvKGIuZG9jdW1lbnRFbGVtZW50KSxiPXdhWzBdLmNvbnRlbnREb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9eWEoYSxiKSx3YS5kZXRhY2goKSkseGFbYV09YyksY312YXIgQWE9L15tYXJnaW4vLEJhPW5ldyBSZWdFeHAoIl4oIitTKyIpKD8hcHgpW2EteiVdKyQiLCJpIiksQ2E9ZnVuY3Rpb24oYil7dmFyIGM9Yi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybiBjJiZjLm9wZW5lcnx8KGM9YSksYy5nZXRDb21wdXRlZFN0eWxlKGIpfSxEYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc9e307Zm9yKGYgaW4gYilnW2ZdPWEuc3R5bGVbZl0sYS5zdHlsZVtmXT1iW2ZdO2U9Yy5hcHBseShhLGR8fFtdKTtmb3IoZiBpbiBiKWEuc3R5bGVbZl09Z1tmXTtyZXR1cm4gZX0sRWE9ZC5kb2N1bWVudEVsZW1lbnQ7IWZ1bmN0aW9uKCl7dmFyIGIsYyxlLGYsZz1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGg9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihoLnN0eWxlKXtoLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsaC5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLGwuY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1oLnN0eWxlLmJhY2tncm91bmRDbGlwLGcuc3R5bGUuY3NzVGV4dD0iYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxcHg7cG9zaXRpb246YWJzb2x1dGUiLGcuYXBwZW5kQ2hpbGQoaCk7ZnVuY3Rpb24gaSgpe2guc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt0b3A6MSU7d2lkdGg6NTAlIixoLmlubmVySFRNTD0iIixFYS5hcHBlbmRDaGlsZChnKTt2YXIgZD1hLmdldENvbXB1dGVkU3R5bGUoaCk7Yj0iMSUiIT09ZC50b3AsZj0iMnB4Ij09PWQubWFyZ2luTGVmdCxjPSI0cHgiPT09ZC53aWR0aCxoLnN0eWxlLm1hcmdpblJpZ2h0PSI1MCUiLGU9IjRweCI9PT1kLm1hcmdpblJpZ2h0LEVhLnJlbW92ZUNoaWxkKGcpfW4uZXh0ZW5kKGwse3BpeGVsUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gaSgpLGJ9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWMmJmkoKSxjfSxwaXhlbE1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWMmJmkoKSxlfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YyYmaSgpLGZ9LHJlbGlhYmxlTWFyZ2luUmlnaHQ6ZnVuY3Rpb24oKXt2YXIgYixjPWguYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmV0dXJuIGMuc3R5bGUuY3NzVGV4dD1oLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixjLnN0eWxlLm1hcmdpblJpZ2h0PWMuc3R5bGUud2lkdGg9IjAiLGguc3R5bGUud2lkdGg9IjFweCIsRWEuYXBwZW5kQ2hpbGQoZyksYj0hcGFyc2VGbG9hdChhLmdldENvbXB1dGVkU3R5bGUoYykubWFyZ2luUmlnaHQpLEVhLnJlbW92ZUNoaWxkKGcpLGgucmVtb3ZlQ2hpbGQoYyksYn19KX19KCk7ZnVuY3Rpb24gRmEoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxDYShhKSxnPWM/Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpfHxjW2JdOnZvaWQgMCwiIiE9PWcmJnZvaWQgMCE9PWd8fG4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1uLnN0eWxlKGEsYikpLGMmJiFsLnBpeGVsTWFyZ2luUmlnaHQoKSYmQmEudGVzdChnKSYmQWEudGVzdChiKSYmKGQ9aC53aWR0aCxlPWgubWluV2lkdGgsZj1oLm1heFdpZHRoLGgubWluV2lkdGg9aC5tYXhXaWR0aD1oLndpZHRoPWcsZz1jLndpZHRoLGgud2lkdGg9ZCxoLm1pbldpZHRoPWUsaC5tYXhXaWR0aD1mKSx2b2lkIDAhPT1nP2crIiI6Z31mdW5jdGlvbiBHYShhLGIpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYSgpP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX12YXIgSGE9L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLElhPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxKYT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn0sS2E9WyJXZWJraXQiLCJPIiwiTW96IiwibXMiXSxMYT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlO2Z1bmN0aW9uIE1hKGEpe2lmKGEgaW4gTGEpcmV0dXJuIGE7dmFyIGI9YVswXS50b1VwcGVyQ2FzZSgpK2Euc2xpY2UoMSksYz1LYS5sZW5ndGg7d2hpbGUoYy0tKWlmKGE9S2FbY10rYixhIGluIExhKXJldHVybiBhfWZ1bmN0aW9uIE5hKGEsYixjKXt2YXIgZD1ULmV4ZWMoYik7cmV0dXJuIGQ/TWF0aC5tYXgoMCxkWzJdLShjfHwwKSkrKGRbM118fCJweCIpOmJ9ZnVuY3Rpb24gT2EoYSxiLGMsZCxlKXtmb3IodmFyIGY9Yz09PShkPyJib3JkZXIiOiJjb250ZW50Iik/NDoid2lkdGgiPT09Yj8xOjAsZz0wOzQ+ZjtmKz0yKSJtYXJnaW4iPT09YyYmKGcrPW4uY3NzKGEsYytVW2ZdLCEwLGUpKSxkPygiY29udGVudCI9PT1jJiYoZy09bi5jc3MoYSwicGFkZGluZyIrVVtmXSwhMCxlKSksIm1hcmdpbiIhPT1jJiYoZy09bi5jc3MoYSwiYm9yZGVyIitVW2ZdKyJXaWR0aCIsITAsZSkpKTooZys9bi5jc3MoYSwicGFkZGluZyIrVVtmXSwhMCxlKSwicGFkZGluZyIhPT1jJiYoZys9bi5jc3MoYSwiYm9yZGVyIitVW2ZdKyJXaWR0aCIsITAsZSkpKTtyZXR1cm4gZ31mdW5jdGlvbiBQYShhLGIsYyl7dmFyIGQ9ITAsZT0id2lkdGgiPT09Yj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGY9Q2EoYSksZz0iYm9yZGVyLWJveCI9PT1uLmNzcyhhLCJib3hTaXppbmciLCExLGYpO2lmKDA+PWV8fG51bGw9PWUpe2lmKGU9RmEoYSxiLGYpLCgwPmV8fG51bGw9PWUpJiYoZT1hLnN0eWxlW2JdKSxCYS50ZXN0KGUpKXJldHVybiBlO2Q9ZyYmKGwuYm94U2l6aW5nUmVsaWFibGUoKXx8ZT09PWEuc3R5bGVbYl0pLGU9cGFyc2VGbG9hdChlKXx8MH1yZXR1cm4gZStPYShhLGIsY3x8KGc/ImJvcmRlciI6ImNvbnRlbnQiKSxkLGYpKyJweCJ9ZnVuY3Rpb24gUWEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109Ti5nZXQoZCwib2xkZGlzcGxheSIpLGM9ZC5zdHlsZS5kaXNwbGF5LGI/KGZbZ118fCJub25lIiE9PWN8fChkLnN0eWxlLmRpc3BsYXk9IiIpLCIiPT09ZC5zdHlsZS5kaXNwbGF5JiZWKGQpJiYoZltnXT1OLmFjY2VzcyhkLCJvbGRkaXNwbGF5Iix6YShkLm5vZGVOYW1lKSkpKTooZT1WKGQpLCJub25lIj09PWMmJmV8fE4uc2V0KGQsIm9sZGRpc3BsYXkiLGU/YzpuLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfW4uZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9RmEoYSwib3BhY2l0eSIpO3JldHVybiIiPT09Yz8iMSI6Y319fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjoiY3NzRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGIsYyxkKXtpZihhJiYzIT09YS5ub2RlVHlwZSYmOCE9PWEubm9kZVR5cGUmJmEuc3R5bGUpe3ZhciBlLGYsZyxoPW4uY2FtZWxDYXNlKGIpLGk9YS5zdHlsZTtyZXR1cm4gYj1uLmNzc1Byb3BzW2hdfHwobi5jc3NQcm9wc1toXT1NYShoKXx8aCksZz1uLmNzc0hvb2tzW2JdfHxuLmNzc0hvb2tzW2hdLHZvaWQgMD09PWM/ZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl06KGY9dHlwZW9mIGMsInN0cmluZyI9PT1mJiYoZT1ULmV4ZWMoYykpJiZlWzFdJiYoYz1XKGEsYixlKSxmPSJudW1iZXIiKSxudWxsIT1jJiZjPT09YyYmKCJudW1iZXIiPT09ZiYmKGMrPWUmJmVbM118fChuLmNzc051bWJlcltoXT8iIjoicHgiKSksbC5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLGcmJiJzZXQiaW4gZyYmdm9pZCAwPT09KGM9Zy5zZXQoYSxjLGQpKXx8KGlbYl09YykpLHZvaWQgMCl9fSxjc3M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGg9bi5jYW1lbENhc2UoYik7cmV0dXJuIGI9bi5jc3NQcm9wc1toXXx8KG4uY3NzUHJvcHNbaF09TWEoaCl8fGgpLGc9bi5jc3NIb29rc1tiXXx8bi5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihlPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWUmJihlPUZhKGEsYixkKSksIm5vcm1hbCI9PT1lJiZiIGluIEphJiYoZT1KYVtiXSksIiI9PT1jfHxjPyhmPXBhcnNlRmxvYXQoZSksYz09PSEwfHxpc0Zpbml0ZShmKT9mfHwwOmUpOmV9fSksbi5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/SGEudGVzdChuLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9EYShhLElhLGZ1bmN0aW9uKCl7cmV0dXJuIFBhKGEsYixkKX0pOlBhKGEsYixkKTp2b2lkIDB9LHNldDpmdW5jdGlvbihhLGMsZCl7dmFyIGUsZj1kJiZDYShhKSxnPWQmJk9hKGEsYixkLCJib3JkZXItYm94Ij09PW4uY3NzKGEsImJveFNpemluZyIsITEsZiksZik7cmV0dXJuIGcmJihlPVQuZXhlYyhjKSkmJiJweCIhPT0oZVszXXx8InB4IikmJihhLnN0eWxlW2JdPWMsYz1uLmNzcyhhLGIpKSxOYShhLGMsZyl9fX0pLG4uY3NzSG9va3MubWFyZ2luTGVmdD1HYShsLnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbihhLGIpe3JldHVybiBiPyhwYXJzZUZsb2F0KEZhKGEsIm1hcmdpbkxlZnQiKSl8fGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1EYShhLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKSsicHgiOnZvaWQgMH0pLG4uY3NzSG9va3MubWFyZ2luUmlnaHQ9R2EobC5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/RGEoYSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sRmEsW2EsIm1hcmdpblJpZ2h0Il0pOnZvaWQgMH0pLG4uZWFjaCh7bWFyZ2luOiIiLHBhZGRpbmc6IiIsYm9yZGVyOiJXaWR0aCJ9LGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1thK2JdPXtleHBhbmQ6ZnVuY3Rpb24oYyl7Zm9yKHZhciBkPTAsZT17fSxmPSJzdHJpbmciPT10eXBlb2YgYz9jLnNwbGl0KCIgIik6W2NdOzQ+ZDtkKyspZVthK1VbZF0rYl09ZltkXXx8ZltkLTJdfHxmWzBdO3JldHVybiBlfX0sQWEudGVzdChhKXx8KG4uY3NzSG9va3NbYStiXS5zZXQ9TmEpfSksbi5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihhLGIpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj17fSxnPTA7aWYobi5pc0FycmF5KGIpKXtmb3IoZD1DYShhKSxlPWIubGVuZ3RoO2U+ZztnKyspZltiW2ddXT1uLmNzcyhhLGJbZ10sITEsZCk7cmV0dXJuIGZ9cmV0dXJuIHZvaWQgMCE9PWM/bi5zdHlsZShhLGIsYyk6bi5jc3MoYSxiKX0sYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gUWEodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gUWEodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihhKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBhP2E/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Vih0aGlzKT9uKHRoaXMpLnNob3coKTpuKHRoaXMpLmhpZGUoKX0pfX0pO2Z1bmN0aW9uIFJhKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBSYS5wcm90b3R5cGUuaW5pdChhLGIsYyxkLGUpfW4uVHdlZW49UmEsUmEucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpSYSxpbml0OmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt0aGlzLmVsZW09YSx0aGlzLnByb3A9Yyx0aGlzLmVhc2luZz1lfHxuLmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9Yix0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9ZCx0aGlzLnVuaXQ9Znx8KG4uY3NzTnVtYmVyW2NdPyIiOiJweCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgYT1SYS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gYSYmYS5nZXQ/YS5nZXQodGhpcyk6UmEucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiLGM9UmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz1iPW4uZWFzaW5nW3RoaXMuZWFzaW5nXShhLHRoaXMub3B0aW9ucy5kdXJhdGlvbiphLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPWI9YSx0aGlzLm5vdz0odGhpcy5lbmQtdGhpcy5zdGFydCkqYit0aGlzLnN0YXJ0LHRoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSxjJiZjLnNldD9jLnNldCh0aGlzKTpSYS5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KHRoaXMpLHRoaXN9fSxSYS5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGU9UmEucHJvdG90eXBlLFJhLnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gMSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbCE9YS5lbGVtW2EucHJvcF0mJm51bGw9PWEuZWxlbS5zdHlsZVthLnByb3BdP2EuZWxlbVthLnByb3BdOihiPW4uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKX0sc2V0OmZ1bmN0aW9uKGEpe24uZnguc3RlcFthLnByb3BdP24uZnguc3RlcFthLnByb3BdKGEpOjEhPT1hLmVsZW0ubm9kZVR5cGV8fG51bGw9PWEuZWxlbS5zdHlsZVtuLmNzc1Byb3BzW2EucHJvcF1dJiYhbi5jc3NIb29rc1thLnByb3BdP2EuZWxlbVthLnByb3BdPWEubm93Om4uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpfX19LFJhLnByb3BIb29rcy5zY3JvbGxUb3A9UmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbi5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfSxfZGVmYXVsdDoic3dpbmcifSxuLmZ4PVJhLnByb3RvdHlwZS5pbml0LG4uZnguc3RlcD17fTt2YXIgU2EsVGEsVWE9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLFZhPS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gV2EoKXtyZXR1cm4gYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7U2E9dm9pZCAwfSksU2E9bi5ub3coKX1mdW5jdGlvbiBYYShhLGIpe3ZhciBjLGQ9MCxlPXtoZWlnaHQ6YX07Zm9yKGI9Yj8xOjA7ND5kO2QrPTItYiljPVVbZF0sZVsibWFyZ2luIitjXT1lWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZS5vcGFjaXR5PWUud2lkdGg9YSksZX1mdW5jdGlvbiBZYShhLGIsYyl7Zm9yKHZhciBkLGU9KF9hLnR3ZWVuZXJzW2JdfHxbXSkuY29uY2F0KF9hLnR3ZWVuZXJzWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIFphKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrLGw9dGhpcyxtPXt9LG89YS5zdHlsZSxwPWEubm9kZVR5cGUmJlYoYSkscT1OLmdldChhLCJmeHNob3ciKTtjLnF1ZXVlfHwoaD1uLl9xdWV1ZUhvb2tzKGEsImZ4IiksbnVsbD09aC51bnF1ZXVlZCYmKGgudW5xdWV1ZWQ9MCxpPWguZW1wdHkuZmlyZSxoLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXtoLnVucXVldWVkfHxpKCl9KSxoLnVucXVldWVkKyssbC5hbHdheXMoZnVuY3Rpb24oKXtsLmFsd2F5cyhmdW5jdGlvbigpe2gudW5xdWV1ZWQtLSxuLnF1ZXVlKGEsImZ4IikubGVuZ3RofHxoLmVtcHR5LmZpcmUoKX0pfSkpLDE9PT1hLm5vZGVUeXBlJiYoImhlaWdodCJpbiBifHwid2lkdGgiaW4gYikmJihjLm92ZXJmbG93PVtvLm92ZXJmbG93LG8ub3ZlcmZsb3dYLG8ub3ZlcmZsb3dZXSxqPW4uY3NzKGEsImRpc3BsYXkiKSxrPSJub25lIj09PWo/Ti5nZXQoYSwib2xkZGlzcGxheSIpfHx6YShhLm5vZGVOYW1lKTpqLCJpbmxpbmUiPT09ayYmIm5vbmUiPT09bi5jc3MoYSwiZmxvYXQiKSYmKG8uZGlzcGxheT0iaW5saW5lLWJsb2NrIikpLGMub3ZlcmZsb3cmJihvLm92ZXJmbG93PSJoaWRkZW4iLGwuYWx3YXlzKGZ1bmN0aW9uKCl7by5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLG8ub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0sby5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxVYS5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHA/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFxfHx2b2lkIDA9PT1xW2RdKWNvbnRpbnVlO3A9ITB9bVtkXT1xJiZxW2RdfHxuLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihuLmlzRW1wdHlPYmplY3QobSkpImlubGluZSI9PT0oIm5vbmUiPT09aj96YShhLm5vZGVOYW1lKTpqKSYmKG8uZGlzcGxheT1qKTtlbHNle3E/ImhpZGRlbiJpbiBxJiYocD1xLmhpZGRlbik6cT1OLmFjY2VzcyhhLCJmeHNob3ciLHt9KSxmJiYocS5oaWRkZW49IXApLHA/bihhKS5zaG93KCk6bC5kb25lKGZ1bmN0aW9uKCl7bihhKS5oaWRlKCl9KSxsLmRvbmUoZnVuY3Rpb24oKXt2YXIgYjtOLnJlbW92ZShhLCJmeHNob3ciKTtmb3IoYiBpbiBtKW4uc3R5bGUoYSxiLG1bYl0pfSk7Zm9yKGQgaW4gbSlnPVlhKHA/cVtkXTowLGQsbCksZCBpbiBxfHwocVtkXT1nLnN0YXJ0LHAmJihnLmVuZD1nLnN0YXJ0LGcuc3RhcnQ9IndpZHRoIj09PWR8fCJoZWlnaHQiPT09ZD8xOjApKX19ZnVuY3Rpb24gJGEoYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihjIGluIGEpaWYoZD1uLmNhbWVsQ2FzZShjKSxlPWJbZF0sZj1hW2NdLG4uaXNBcnJheShmKSYmKGU9ZlsxXSxmPWFbY109ZlswXSksYyE9PWQmJihhW2RdPWYsZGVsZXRlIGFbY10pLGc9bi5jc3NIb29rc1tkXSxnJiYiZXhwYW5kImluIGcpe2Y9Zy5leHBhbmQoZiksZGVsZXRlIGFbZF07Zm9yKGMgaW4gZiljIGluIGF8fChhW2NdPWZbY10sYltjXT1lKX1lbHNlIGJbZF09ZX1mdW5jdGlvbiBfYShhLGIsYyl7dmFyIGQsZSxmPTAsZz1fYS5wcmVmaWx0ZXJzLmxlbmd0aCxoPW4uRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgaS5lbGVtfSksaT1mdW5jdGlvbigpe2lmKGUpcmV0dXJuITE7Zm9yKHZhciBiPVNhfHxXYSgpLGM9TWF0aC5tYXgoMCxqLnN0YXJ0VGltZStqLmR1cmF0aW9uLWIpLGQ9Yy9qLmR1cmF0aW9ufHwwLGY9MS1kLGc9MCxpPWoudHdlZW5zLmxlbmd0aDtpPmc7ZysrKWoudHdlZW5zW2ddLnJ1bihmKTtyZXR1cm4gaC5ub3RpZnlXaXRoKGEsW2osZixjXSksMT5mJiZpP2M6KGgucmVzb2x2ZVdpdGgoYSxbal0pLCExKX0saj1oLnByb21pc2Uoe2VsZW06YSxwcm9wczpuLmV4dGVuZCh7fSxiKSxvcHRzOm4uZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpuLmVhc2luZy5fZGVmYXVsdH0sYyksb3JpZ2luYWxQcm9wZXJ0aWVzOmIsb3JpZ2luYWxPcHRpb25zOmMsc3RhcnRUaW1lOlNhfHxXYSgpLGR1cmF0aW9uOmMuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9bi5Ud2VlbihhLGoub3B0cyxiLGMsai5vcHRzLnNwZWNpYWxFYXNpbmdbYl18fGoub3B0cy5lYXNpbmcpO3JldHVybiBqLnR3ZWVucy5wdXNoKGQpLGR9LHN0b3A6ZnVuY3Rpb24oYil7dmFyIGM9MCxkPWI/ai50d2VlbnMubGVuZ3RoOjA7aWYoZSlyZXR1cm4gdGhpcztmb3IoZT0hMDtkPmM7YysrKWoudHdlZW5zW2NdLnJ1bigxKTtyZXR1cm4gYj8oaC5ub3RpZnlXaXRoKGEsW2osMSwwXSksaC5yZXNvbHZlV2l0aChhLFtqLGJdKSk6aC5yZWplY3RXaXRoKGEsW2osYl0pLHRoaXN9fSksaz1qLnByb3BzO2ZvcigkYShrLGoub3B0cy5zcGVjaWFsRWFzaW5nKTtnPmY7ZisrKWlmKGQ9X2EucHJlZmlsdGVyc1tmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIG4uaXNGdW5jdGlvbihkLnN0b3ApJiYobi5fcXVldWVIb29rcyhqLmVsZW0sai5vcHRzLnF1ZXVlKS5zdG9wPW4ucHJveHkoZC5zdG9wLGQpKSxkO3JldHVybiBuLm1hcChrLFlhLGopLG4uaXNGdW5jdGlvbihqLm9wdHMuc3RhcnQpJiZqLm9wdHMuc3RhcnQuY2FsbChhLGopLG4uZngudGltZXIobi5leHRlbmQoaSx7ZWxlbTphLGFuaW06aixxdWV1ZTpqLm9wdHMucXVldWV9KSksai5wcm9ncmVzcyhqLm9wdHMucHJvZ3Jlc3MpLmRvbmUoai5vcHRzLmRvbmUsai5vcHRzLmNvbXBsZXRlKS5mYWlsKGoub3B0cy5mYWlsKS5hbHdheXMoai5vcHRzLmFsd2F5cyl9bi5BbmltYXRpb249bi5leHRlbmQoX2Ese3R3ZWVuZXJzOnsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpO3JldHVybiBXKGMuZWxlbSxhLFQuZXhlYyhiKSxjKSxjfV19LHR3ZWVuZXI6ZnVuY3Rpb24oYSxiKXtuLmlzRnVuY3Rpb24oYSk/KGI9YSxhPVsiKiJdKTphPWEubWF0Y2goRyk7Zm9yKHZhciBjLGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYz1hW2RdLF9hLnR3ZWVuZXJzW2NdPV9hLnR3ZWVuZXJzW2NdfHxbXSxfYS50d2VlbmVyc1tjXS51bnNoaWZ0KGIpfSxwcmVmaWx0ZXJzOltaYV0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9fYS5wcmVmaWx0ZXJzLnVuc2hpZnQoYSk6X2EucHJlZmlsdGVycy5wdXNoKGEpfX0pLG4uc3BlZWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJiJvYmplY3QiPT10eXBlb2YgYT9uLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fG4uaXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhbi5pc0Z1bmN0aW9uKGIpJiZifTtyZXR1cm4gZC5kdXJhdGlvbj1uLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2YgZC5kdXJhdGlvbj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gbi5meC5zcGVlZHM/bi5meC5zcGVlZHNbZC5kdXJhdGlvbl06bi5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ZC5xdWV1ZSYmZC5xdWV1ZSE9PSEwfHwoZC5xdWV1ZT0iZngiKSxkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oKXtuLmlzRnVuY3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWUmJm4uZGVxdWV1ZSh0aGlzLGQucXVldWUpfSxkfSxuLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcihWKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uLmlzRW1wdHlPYmplY3QoYSksZj1uLnNwZWVkKGIsYyxkKSxnPWZ1bmN0aW9uKCl7dmFyIGI9X2EodGhpcyxuLmV4dGVuZCh7fSxhKSxmKTsoZXx8Ti5nZXQodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1uLnRpbWVycyxnPU4uZ2V0KHRoaXMpO2lmKGUpZ1tlXSYmZ1tlXS5zdG9wJiZkKGdbZV0pO2Vsc2UgZm9yKGUgaW4gZylnW2VdJiZnW2VdLnN0b3AmJlZhLnRlc3QoZSkmJmQoZ1tlXSk7Zm9yKGU9Zi5sZW5ndGg7ZS0tOylmW2VdLmVsZW0hPT10aGlzfHxudWxsIT1hJiZmW2VdLnF1ZXVlIT09YXx8KGZbZV0uYW5pbS5zdG9wKGMpLGI9ITEsZi5zcGxpY2UoZSwxKSk7IWImJmN8fG4uZGVxdWV1ZSh0aGlzLGEpfSl9LGZpbmlzaDpmdW5jdGlvbihhKXtyZXR1cm4gYSE9PSExJiYoYT1hfHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYixjPU4uZ2V0KHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1uLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbi5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxuLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bi5mbltiXTtuLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoWGEoYiwhMCksYSxkLGUpfX0pLG4uZWFjaCh7c2xpZGVEb3duOlhhKCJzaG93Iiksc2xpZGVVcDpYYSgiaGlkZSIpLHNsaWRlVG9nZ2xlOlhhKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxuLnRpbWVycz1bXSxuLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPTAsYz1uLnRpbWVycztmb3IoU2E9bi5ub3coKTtiPGMubGVuZ3RoO2IrKylhPWNbYl0sYSgpfHxjW2JdIT09YXx8Yy5zcGxpY2UoYi0tLDEpO2MubGVuZ3RofHxuLmZ4LnN0b3AoKSxTYT12b2lkIDB9LG4uZngudGltZXI9ZnVuY3Rpb24oYSl7bi50aW1lcnMucHVzaChhKSxhKCk/bi5meC5zdGFydCgpOm4udGltZXJzLnBvcCgpfSxuLmZ4LmludGVydmFsPTEzLG4uZnguc3RhcnQ9ZnVuY3Rpb24oKXtUYXx8KFRhPWEuc2V0SW50ZXJ2YWwobi5meC50aWNrLG4uZnguaW50ZXJ2YWwpKX0sbi5meC5zdG9wPWZ1bmN0aW9uKCl7YS5jbGVhckludGVydmFsKFRhKSxUYT1udWxsfSxuLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxuLmZuLmRlbGF5PWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9bi5meD9uLmZ4LnNwZWVkc1tiXXx8YjpiLGM9Y3x8ImZ4Iix0aGlzLnF1ZXVlKGMsZnVuY3Rpb24oYyxkKXt2YXIgZT1hLnNldFRpbWVvdXQoYyxiKTtkLnN0b3A9ZnVuY3Rpb24oKXthLmNsZWFyVGltZW91dChlKX19KX0sZnVuY3Rpb24oKXt2YXIgYT1kLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksYj1kLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGM9Yi5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTthLnR5cGU9ImNoZWNrYm94IixsLmNoZWNrT249IiIhPT1hLnZhbHVlLGwub3B0U2VsZWN0ZWQ9Yy5zZWxlY3RlZCxiLmRpc2FibGVkPSEwLGwub3B0RGlzYWJsZWQ9IWMuZGlzYWJsZWQsYT1kLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksYS52YWx1ZT0idCIsYS50eXBlPSJyYWRpbyIsbC5yYWRpb1ZhbHVlPSJ0Ij09PWEudmFsdWV9KCk7dmFyIGFiLGJiPW4uZXhwci5hdHRySGFuZGxlO24uZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEsodGhpcyxuLmF0dHIsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24ucmVtb3ZlQXR0cih0aGlzLGEpfSl9fSksbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBhLmdldEF0dHJpYnV0ZT9uLnByb3AoYSxiLGMpOigxPT09ZiYmbi5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGU9bi5hdHRySG9va3NbYl18fChuLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP2FiOnZvaWQgMCkpLHZvaWQgMCE9PWM/bnVsbD09PWM/dm9pZCBuLnJlbW92ZUF0dHIoYSxiKTplJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDooYS5zZXRBdHRyaWJ1dGUoYixjKyIiKSxjKTplJiYiZ2V0ImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOihkPW4uZmluZC5hdHRyKGEsYiksbnVsbD09ZD92b2lkIDA6ZCkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihhLGIpe2lmKCFsLnJhZGlvVmFsdWUmJiJyYWRpbyI9PT1iJiZuLm5vZGVOYW1lKGEsImlucHV0Iikpe3ZhciBjPWEudmFsdWU7cmV0dXJuIGEuc2V0QXR0cmlidXRlKCJ0eXBlIixiKSxjJiYoYS52YWx1ZT1jKSxifX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPTAsZj1iJiZiLm1hdGNoKEcpO2lmKGYmJjE9PT1hLm5vZGVUeXBlKXdoaWxlKGM9ZltlKytdKWQ9bi5wcm9wRml4W2NdfHxjLG4uZXhwci5tYXRjaC5ib29sLnRlc3QoYykmJihhW2RdPSExKSxhLnJlbW92ZUF0dHJpYnV0ZShjKX19KSxhYj17c2V0OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj09PSExP24ucmVtb3ZlQXR0cihhLGMpOmEuc2V0QXR0cmlidXRlKGMsYyksY319LG4uZWFjaChuLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihhLGIpe3ZhciBjPWJiW2JdfHxuLmZpbmQuYXR0cjtiYltiXT1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZjtyZXR1cm4gZHx8KGY9YmJbYl0sYmJbYl09ZSxlPW51bGwhPWMoYSxiLGQpP2IudG9Mb3dlckNhc2UoKTpudWxsLGJiW2JdPWYpLGV9fSk7dmFyIGNiPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksZGI9L14oPzphfGFyZWEpJC9pO24uZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEsodGhpcyxuLnByb3AsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW24ucHJvcEZpeFthXXx8YV19KX19KSxuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gMT09PWYmJm4uaXNYTUxEb2MoYSl8fChiPW4ucHJvcEZpeFtiXXx8YixlPW4ucHJvcEhvb2tzW2JdKSwKdm9pZCAwIT09Yz9lJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDphW2JdPWM6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDphW2JdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTpjYi50ZXN0KGEubm9kZU5hbWUpfHxkYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxsLm9wdFNlbGVjdGVkfHwobi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJmIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLG4uZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7bi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pO3ZhciBlYj0vW1x0XHJcblxmXS9nO2Z1bmN0aW9uIGZiKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifW4uZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYobi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS5hZGRDbGFzcyhhLmNhbGwodGhpcyxiLGZiKHRoaXMpKSl9KTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChHKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1mYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGViLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSlkLmluZGV4T2YoIiAiK2YrIiAiKTwwJiYoZCs9ZisiICIpO2g9bi50cmltKGQpLGUhPT1oJiZjLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGgpfX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaT0wO2lmKG4uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykucmVtb3ZlQ2xhc3MoYS5jYWxsKHRoaXMsYixmYih0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCIiKTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChHKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1mYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGViLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSl3aGlsZShkLmluZGV4T2YoIiAiK2YrIiAiKT4tMSlkPWQucmVwbGFjZSgiICIrZisiICIsIiAiKTtoPW4udHJpbShkKSxlIT09aCYmYy5zZXRBdHRyaWJ1dGUoImNsYXNzIixoKX19cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGE7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYiYmInN0cmluZyI9PT1jP2I/dGhpcy5hZGRDbGFzcyhhKTp0aGlzLnJlbW92ZUNsYXNzKGEpOm4uaXNGdW5jdGlvbihhKT90aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLGZiKHRoaXMpLGIpLGIpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsZCxlLGY7aWYoInN0cmluZyI9PT1jKXtkPTAsZT1uKHRoaXMpLGY9YS5tYXRjaChHKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZSB2b2lkIDAhPT1hJiYiYm9vbGVhbiIhPT1jfHwoYj1mYih0aGlzKSxiJiZOLnNldCh0aGlzLCJfX2NsYXNzTmFtZV9fIixiKSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixifHxhPT09ITE/IiI6Ti5nZXQodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD0wO2I9IiAiK2ErIiAiO3doaWxlKGM9dGhpc1tkKytdKWlmKDE9PT1jLm5vZGVUeXBlJiYoIiAiK2ZiKGMpKyIgIikucmVwbGFjZShlYiwiICIpLmluZGV4T2YoYik+LTEpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIGdiPS9cci9nLGhiPS9bXHgyMFx0XHJcblxmXSsvZztuLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bi5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG4odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjpuLmlzQXJyYXkoZSkmJihlPW4ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW4udmFsSG9va3NbdGhpcy50eXBlXXx8bi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW4udmFsSG9va3NbZS50eXBlXXx8bi52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UoZ2IsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG4uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm4udHJpbShuLnRleHQoYSkpLnJlcGxhY2UoaGIsIiAiKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQ9YS5vcHRpb25zLGU9YS5zZWxlY3RlZEluZGV4LGY9InNlbGVjdC1vbmUiPT09YS50eXBlfHwwPmUsZz1mP251bGw6W10saD1mP2UrMTpkLmxlbmd0aCxpPTA+ZT9oOmY/ZTowO2g+aTtpKyspaWYoYz1kW2ldLChjLnNlbGVjdGVkfHxpPT09ZSkmJihsLm9wdERpc2FibGVkPyFjLmRpc2FibGVkOm51bGw9PT1jLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKSkmJighYy5wYXJlbnROb2RlLmRpc2FibGVkfHwhbi5ub2RlTmFtZShjLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZihiPW4oYykudmFsKCksZilyZXR1cm4gYjtnLnB1c2goYil9cmV0dXJuIGd9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT1hLm9wdGlvbnMsZj1uLm1ha2VBcnJheShiKSxnPWUubGVuZ3RoO3doaWxlKGctLSlkPWVbZ10sKGQuc2VsZWN0ZWQ9bi5pbkFycmF5KG4udmFsSG9va3Mub3B0aW9uLmdldChkKSxmKT4tMSkmJihjPSEwKTtyZXR1cm4gY3x8KGEuc2VsZWN0ZWRJbmRleD0tMSksZn19fX0pLG4uZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe24udmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihhLGIpe3JldHVybiBuLmlzQXJyYXkoYik/YS5jaGVja2VkPW4uaW5BcnJheShuKGEpLnZhbCgpLGIpPi0xOnZvaWQgMH19LGwuY2hlY2tPbnx8KG4udmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/Im9uIjphLnZhbHVlfSl9KTt2YXIgaWI9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvO24uZXh0ZW5kKG4uZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24oYixjLGUsZil7dmFyIGcsaCxpLGosbCxtLG8scD1bZXx8ZF0scT1rLmNhbGwoYiwidHlwZSIpP2IudHlwZTpiLHI9ay5jYWxsKGIsIm5hbWVzcGFjZSIpP2IubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYoaD1pPWU9ZXx8ZCwzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJiFpYi50ZXN0KHErbi5ldmVudC50cmlnZ2VyZWQpJiYocS5pbmRleE9mKCIuIik+LTEmJihyPXEuc3BsaXQoIi4iKSxxPXIuc2hpZnQoKSxyLnNvcnQoKSksbD1xLmluZGV4T2YoIjoiKTwwJiYib24iK3EsYj1iW24uZXhwYW5kb10/YjpuZXcgbi5FdmVudChxLCJvYmplY3QiPT10eXBlb2YgYiYmYiksYi5pc1RyaWdnZXI9Zj8yOjMsYi5uYW1lc3BhY2U9ci5qb2luKCIuIiksYi5ybmFtZXNwYWNlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Iuam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1lKSxjPW51bGw9PWM/W2JdOm4ubWFrZUFycmF5KGMsW2JdKSxvPW4uZXZlbnQuc3BlY2lhbFtxXXx8e30sZnx8IW8udHJpZ2dlcnx8by50cmlnZ2VyLmFwcGx5KGUsYykhPT0hMSkpe2lmKCFmJiYhby5ub0J1YmJsZSYmIW4uaXNXaW5kb3coZSkpe2ZvcihqPW8uZGVsZWdhdGVUeXBlfHxxLGliLnRlc3QoaitxKXx8KGg9aC5wYXJlbnROb2RlKTtoO2g9aC5wYXJlbnROb2RlKXAucHVzaChoKSxpPWg7aT09PShlLm93bmVyRG9jdW1lbnR8fGQpJiZwLnB1c2goaS5kZWZhdWx0Vmlld3x8aS5wYXJlbnRXaW5kb3d8fGEpfWc9MDt3aGlsZSgoaD1wW2crK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWIudHlwZT1nPjE/ajpvLmJpbmRUeXBlfHxxLG09KE4uZ2V0KGgsImV2ZW50cyIpfHx7fSlbYi50eXBlXSYmTi5nZXQoaCwiaGFuZGxlIiksbSYmbS5hcHBseShoLGMpLG09bCYmaFtsXSxtJiZtLmFwcGx5JiZMKGgpJiYoYi5yZXN1bHQ9bS5hcHBseShoLGMpLGIucmVzdWx0PT09ITEmJmIucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIGIudHlwZT1xLGZ8fGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fG8uX2RlZmF1bHQmJm8uX2RlZmF1bHQuYXBwbHkocC5wb3AoKSxjKSE9PSExfHwhTChlKXx8bCYmbi5pc0Z1bmN0aW9uKGVbcV0pJiYhbi5pc1dpbmRvdyhlKSYmKGk9ZVtsXSxpJiYoZVtsXT1udWxsKSxuLmV2ZW50LnRyaWdnZXJlZD1xLGVbcV0oKSxuLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsaSYmKGVbbF09aSkpLGIucmVzdWx0fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW4uZXh0ZW5kKG5ldyBuLkV2ZW50LGMse3R5cGU6YSxpc1NpbXVsYXRlZDohMH0pO24uZXZlbnQudHJpZ2dlcihkLG51bGwsYil9fSksbi5mbi5leHRlbmQoe3RyaWdnZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC50cmlnZ2VyKGEsYix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXNbMF07cmV0dXJuIGM/bi5ldmVudC50cmlnZ2VyKGEsYixjLCEwKTp2b2lkIDB9fSksbi5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7bi5mbltiXT1mdW5jdGlvbihhLGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbihiLG51bGwsYSxjKTp0aGlzLnRyaWdnZXIoYil9fSksbi5mbi5leHRlbmQoe2hvdmVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8fGEpfX0pLGwuZm9jdXNpbj0ib25mb2N1c2luImluIGEsbC5mb2N1c2lufHxuLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSl7bi5ldmVudC5zaW11bGF0ZShiLGEudGFyZ2V0LG4uZXZlbnQuZml4KGEpKX07bi5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPU4uYWNjZXNzKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksTi5hY2Nlc3MoZCxiLChlfHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1OLmFjY2VzcyhkLGIpLTE7ZT9OLmFjY2VzcyhkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLE4ucmVtb3ZlKGQsYikpfX19KTt2YXIgamI9YS5sb2NhdGlvbixrYj1uLm5vdygpLGxiPS9cPy87bi5wYXJzZUpTT049ZnVuY3Rpb24oYSl7cmV0dXJuIEpTT04ucGFyc2UoYSsiIil9LG4ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGM7aWYoIWJ8fCJzdHJpbmciIT10eXBlb2YgYilyZXR1cm4gbnVsbDt0cnl7Yz0obmV3IGEuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKX1jYXRjaChkKXtjPXZvaWQgMH1yZXR1cm4gYyYmIWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxuLmVycm9yKCJJbnZhbGlkIFhNTDogIitiKSxjfTt2YXIgbWI9LyMuKiQvLG5iPS8oWz8mXSlfPVteJl0qLyxvYj0vXiguKj8pOlsgXHRdKihbXlxyXG5dKikkL2dtLHBiPS9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLHFiPS9eKD86R0VUfEhFQUQpJC8scmI9L15cL1wvLyxzYj17fSx0Yj17fSx1Yj0iKi8iLmNvbmNhdCgiKiIpLHZiPWQuY3JlYXRlRWxlbWVudCgiYSIpO3ZiLmhyZWY9amIuaHJlZjtmdW5jdGlvbiB3YihhKXtyZXR1cm4gZnVuY3Rpb24oYixjKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWIsYj0iKiIpO3ZhciBkLGU9MCxmPWIudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8W107aWYobi5pc0Z1bmN0aW9uKGMpKXdoaWxlKGQ9ZltlKytdKSIrIj09PWRbMF0/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24geGIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09dGI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxuLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiB5YihhLGIpe3ZhciBjLGQsZT1uLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGMgaW4gYil2b2lkIDAhPT1iW2NdJiYoKGVbY10/YTpkfHwoZD17fSkpW2NdPWJbY10pO3JldHVybiBkJiZuLmV4dGVuZCghMCxhLGQpLGF9ZnVuY3Rpb24gemIoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWQmJihkPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihkKWZvcihlIGluIGgpaWYoaFtlXSYmaFtlXS50ZXN0KGQpKXtpLnVuc2hpZnQoZSk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGUgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tlKyIgIitpWzBdXSl7Zj1lO2JyZWFrfWd8fChnPWUpfWY9Znx8Z31yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gQWIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1uLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6amIuaHJlZix0eXBlOiJHRVQiLGlzTG9jYWw6cGIudGVzdChqYi5wcm90b2NvbCksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjp1Yix0ZXh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDovXGJ4bWxcYi8saHRtbDovXGJodG1sLyxqc29uOi9cYmpzb25cYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpuLnBhcnNlSlNPTiwidGV4dCB4bWwiOm4ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP3liKHliKGEsbi5hamF4U2V0dGluZ3MpLGIpOnliKG4uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOndiKHNiKSxhamF4VHJhbnNwb3J0OndiKHRiKSxhamF4OmZ1bmN0aW9uKGIsYyl7Im9iamVjdCI9PXR5cGVvZiBiJiYoYz1iLGI9dm9pZCAwKSxjPWN8fHt9O3ZhciBlLGYsZyxoLGksaixrLGwsbT1uLmFqYXhTZXR1cCh7fSxjKSxvPW0uY29udGV4dHx8bSxwPW0uY29udGV4dCYmKG8ubm9kZVR5cGV8fG8uanF1ZXJ5KT9uKG8pOm4uZXZlbnQscT1uLkRlZmVycmVkKCkscj1uLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxzPW0uc3RhdHVzQ29kZXx8e30sdD17fSx1PXt9LHY9MCx3PSJjYW5jZWxlZCIseD17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT12KXtpZighaCl7aD17fTt3aGlsZShiPW9iLmV4ZWMoZykpaFtiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1oW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXY/ZzpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB2fHwoYT11W2NdPXVbY118fGEsdFthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB2fHwobS5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj52KWZvcihiIGluIGEpc1tiXT1bc1tiXSxhW2JdXTtlbHNlIHguYWx3YXlzKGFbeC5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dztyZXR1cm4gZSYmZS5hYm9ydChiKSx6KDAsYiksdGhpc319O2lmKHEucHJvbWlzZSh4KS5jb21wbGV0ZT1yLmFkZCx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLG0udXJsPSgoYnx8bS51cmx8fGpiLmhyZWYpKyIiKS5yZXBsYWNlKG1iLCIiKS5yZXBsYWNlKHJiLGpiLnByb3RvY29sKyIvLyIpLG0udHlwZT1jLm1ldGhvZHx8Yy50eXBlfHxtLm1ldGhvZHx8bS50eXBlLG0uZGF0YVR5cGVzPW4udHJpbShtLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkubWF0Y2goRyl8fFsiIl0sbnVsbD09bS5jcm9zc0RvbWFpbil7aj1kLmNyZWF0ZUVsZW1lbnQoImEiKTt0cnl7ai5ocmVmPW0udXJsLGouaHJlZj1qLmhyZWYsbS5jcm9zc0RvbWFpbj12Yi5wcm90b2NvbCsiLy8iK3ZiLmhvc3QhPWoucHJvdG9jb2wrIi8vIitqLmhvc3R9Y2F0Y2goeSl7bS5jcm9zc0RvbWFpbj0hMH19aWYobS5kYXRhJiZtLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIG0uZGF0YSYmKG0uZGF0YT1uLnBhcmFtKG0uZGF0YSxtLnRyYWRpdGlvbmFsKSkseGIoc2IsbSxjLHgpLDI9PT12KXJldHVybiB4O2s9bi5ldmVudCYmbS5nbG9iYWwsayYmMD09PW4uYWN0aXZlKysmJm4uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0IiksbS50eXBlPW0udHlwZS50b1VwcGVyQ2FzZSgpLG0uaGFzQ29udGVudD0hcWIudGVzdChtLnR5cGUpLGY9bS51cmwsbS5oYXNDb250ZW50fHwobS5kYXRhJiYoZj1tLnVybCs9KGxiLnRlc3QoZik/IiYiOiI/IikrbS5kYXRhLGRlbGV0ZSBtLmRhdGEpLG0uY2FjaGU9PT0hMSYmKG0udXJsPW5iLnRlc3QoZik/Zi5yZXBsYWNlKG5iLCIkMV89IitrYisrKTpmKyhsYi50ZXN0KGYpPyImIjoiPyIpKyJfPSIra2IrKykpLG0uaWZNb2RpZmllZCYmKG4ubGFzdE1vZGlmaWVkW2ZdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixuLmxhc3RNb2RpZmllZFtmXSksbi5ldGFnW2ZdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG4uZXRhZ1tmXSkpLChtLmRhdGEmJm0uaGFzQ29udGVudCYmbS5jb250ZW50VHlwZSE9PSExfHxjLmNvbnRlbnRUeXBlKSYmeC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLG0uY29udGVudFR5cGUpLHguc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixtLmRhdGFUeXBlc1swXSYmbS5hY2NlcHRzW20uZGF0YVR5cGVzWzBdXT9tLmFjY2VwdHNbbS5kYXRhVHlwZXNbMF1dKygiKiIhPT1tLmRhdGFUeXBlc1swXT8iLCAiK3ViKyI7IHE9MC4wMSI6IiIpOm0uYWNjZXB0c1siKiJdKTtmb3IobCBpbiBtLmhlYWRlcnMpeC5zZXRSZXF1ZXN0SGVhZGVyKGwsbS5oZWFkZXJzW2xdKTtpZihtLmJlZm9yZVNlbmQmJihtLmJlZm9yZVNlbmQuY2FsbChvLHgsbSk9PT0hMXx8Mj09PXYpKXJldHVybiB4LmFib3J0KCk7dz0iYWJvcnQiO2ZvcihsIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXhbbF0obVtsXSk7aWYoZT14Yih0YixtLGMseCkpe2lmKHgucmVhZHlTdGF0ZT0xLGsmJnAudHJpZ2dlcigiYWpheFNlbmQiLFt4LG1dKSwyPT09dilyZXR1cm4geDttLmFzeW5jJiZtLnRpbWVvdXQ+MCYmKGk9YS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eC5hYm9ydCgidGltZW91dCIpfSxtLnRpbWVvdXQpKTt0cnl7dj0xLGUuc2VuZCh0LHopfWNhdGNoKHkpe2lmKCEoMj52KSl0aHJvdyB5O3ooLTEseSl9fWVsc2UgeigtMSwiTm8gVHJhbnNwb3J0Iik7ZnVuY3Rpb24geihiLGMsZCxoKXt2YXIgaixsLHQsdSx3LHk9YzsyIT09diYmKHY9MixpJiZhLmNsZWFyVGltZW91dChpKSxlPXZvaWQgMCxnPWh8fCIiLHgucmVhZHlTdGF0ZT1iPjA/NDowLGo9Yj49MjAwJiYzMDA+Ynx8MzA0PT09YixkJiYodT16YihtLHgsZCkpLHU9QWIobSx1LHgsaiksaj8obS5pZk1vZGlmaWVkJiYodz14LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIiksdyYmKG4ubGFzdE1vZGlmaWVkW2ZdPXcpLHc9eC5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpLHcmJihuLmV0YWdbZl09dykpLDIwND09PWJ8fCJIRUFEIj09PW0udHlwZT95PSJub2NvbnRlbnQiOjMwND09PWI/eT0ibm90bW9kaWZpZWQiOih5PXUuc3RhdGUsbD11LmRhdGEsdD11LmVycm9yLGo9IXQpKToodD15LCFiJiZ5fHwoeT0iZXJyb3IiLDA+YiYmKGI9MCkpKSx4LnN0YXR1cz1iLHguc3RhdHVzVGV4dD0oY3x8eSkrIiIsaj9xLnJlc29sdmVXaXRoKG8sW2wseSx4XSk6cS5yZWplY3RXaXRoKG8sW3gseSx0XSkseC5zdGF0dXNDb2RlKHMpLHM9dm9pZCAwLGsmJnAudHJpZ2dlcihqPyJhamF4U3VjY2VzcyI6ImFqYXhFcnJvciIsW3gsbSxqP2w6dF0pLHIuZmlyZVdpdGgobyxbeCx5XSksayYmKHAudHJpZ2dlcigiYWpheENvbXBsZXRlIixbeCxtXSksLS1uLmFjdGl2ZXx8bi5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKSl9cmV0dXJuIHh9LGdldEpTT046ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuLmdldChhLGIsYywianNvbiIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5nZXQoYSx2b2lkIDAsYiwic2NyaXB0Iil9fSksbi5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKGEsYil7bltiXT1mdW5jdGlvbihhLGMsZCxlKXtyZXR1cm4gbi5pc0Z1bmN0aW9uKGMpJiYoZT1lfHxkLGQ9YyxjPXZvaWQgMCksbi5hamF4KG4uZXh0ZW5kKHt1cmw6YSx0eXBlOmIsZGF0YVR5cGU6ZSxkYXRhOmMsc3VjY2VzczpkfSxuLmlzUGxhaW5PYmplY3QoYSkmJmEpKX19KSxuLl9ldmFsVXJsPWZ1bmN0aW9uKGEpe3JldHVybiBuLmFqYXgoe3VybDphLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsYXN5bmM6ITEsZ2xvYmFsOiExLCJ0aHJvd3MiOiEwfSl9LG4uZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxiKSl9KToodGhpc1swXSYmKGI9bihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApLHRoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RFbGVtZW50Q2hpbGQpYT1hLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBhfSkuYXBwZW5kKHRoaXMpKSx0aGlzKX0sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPW4odGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9bi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe24ubm9kZU5hbWUodGhpcywiYm9keSIpfHxuKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX19KSxuLmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7cmV0dXJuIW4uZXhwci5maWx0ZXJzLnZpc2libGUoYSl9LG4uZXhwci5maWx0ZXJzLnZpc2libGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub2Zmc2V0V2lkdGg+MHx8YS5vZmZzZXRIZWlnaHQ+MHx8YS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD4wfTt2YXIgQmI9LyUyMC9nLENiPS9cW1xdJC8sRGI9L1xyP1xuL2csRWI9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLEZiPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBHYihhLGIsYyxkKXt2YXIgZTtpZihuLmlzQXJyYXkoYikpbi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxDYi50ZXN0KGEpP2QoYSxlKTpHYihhKyJbIisoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT1lP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKGN8fCJvYmplY3QiIT09bi50eXBlKGIpKWQoYSxiKTtlbHNlIGZvcihlIGluIGIpR2IoYSsiWyIrZSsiXSIsYltlXSxjLGQpfW4ucGFyYW09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPW4uaXNGdW5jdGlvbihiKT9iKCk6bnVsbD09Yj8iIjpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtpZih2b2lkIDA9PT1iJiYoYj1uLmFqYXhTZXR0aW5ncyYmbi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLG4uaXNBcnJheShhKXx8YS5qcXVlcnkmJiFuLmlzUGxhaW5PYmplY3QoYSkpbi5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSlHYihjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKCImIikucmVwbGFjZShCYiwiKyIpfSxuLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT1uLnByb3AodGhpcywiZWxlbWVudHMiKTtyZXR1cm4gYT9uLm1ha2VBcnJheShhKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFuKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmRmIudGVzdCh0aGlzLm5vZGVOYW1lKSYmIUViLnRlc3QoYSkmJih0aGlzLmNoZWNrZWR8fCFYLnRlc3QoYSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9bih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09Yz9udWxsOm4uaXNBcnJheShjKT9uLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoRGIsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKERiLCJcclxuIil9fSkuZ2V0KCl9fSksbi5hamF4U2V0dGluZ3MueGhyPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChiKXt9fTt2YXIgSGI9ezA6MjAwLDEyMjM6MjA0fSxJYj1uLmFqYXhTZXR0aW5ncy54aHIoKTtsLmNvcnM9ISFJYiYmIndpdGhDcmVkZW50aWFscyJpbiBJYixsLmFqYXg9SWI9ISFJYixuLmFqYXhUcmFuc3BvcnQoZnVuY3Rpb24oYil7dmFyIGMsZDtyZXR1cm4gbC5jb3JzfHxJYiYmIWIuY3Jvc3NEb21haW4/e3NlbmQ6ZnVuY3Rpb24oZSxmKXt2YXIgZyxoPWIueGhyKCk7aWYoaC5vcGVuKGIudHlwZSxiLnVybCxiLmFzeW5jLGIudXNlcm5hbWUsYi5wYXNzd29yZCksYi54aHJGaWVsZHMpZm9yKGcgaW4gYi54aHJGaWVsZHMpaFtnXT1iLnhockZpZWxkc1tnXTtiLm1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUmJmgub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKSxiLmNyb3NzRG9tYWlufHxlWyJYLVJlcXVlc3RlZC1XaXRoIl18fChlWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0Iik7Zm9yKGcgaW4gZSloLnNldFJlcXVlc3RIZWFkZXIoZyxlW2ddKTtjPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe2MmJihjPWQ9aC5vbmxvYWQ9aC5vbmVycm9yPWgub25hYm9ydD1oLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLCJhYm9ydCI9PT1hP2guYWJvcnQoKToiZXJyb3IiPT09YT8ibnVtYmVyIiE9dHlwZW9mIGguc3RhdHVzP2YoMCwiZXJyb3IiKTpmKGguc3RhdHVzLGguc3RhdHVzVGV4dCk6ZihIYltoLnN0YXR1c118fGguc3RhdHVzLGguc3RhdHVzVGV4dCwidGV4dCIhPT0oaC5yZXNwb25zZVR5cGV8fCJ0ZXh0Iil8fCJzdHJpbmciIT10eXBlb2YgaC5yZXNwb25zZVRleHQ/e2JpbmFyeTpoLnJlc3BvbnNlfTp7dGV4dDpoLnJlc3BvbnNlVGV4dH0saC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0saC5vbmxvYWQ9YygpLGQ9aC5vbmVycm9yPWMoImVycm9yIiksdm9pZCAwIT09aC5vbmFib3J0P2gub25hYm9ydD1kOmgub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWgucmVhZHlTdGF0ZSYmYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YyYmZCgpfSl9LGM9YygiYWJvcnQiKTt0cnl7aC5zZW5kKGIuaGFzQ29udGVudCYmYi5kYXRhfHxudWxsKX1jYXRjaChpKXtpZihjKXRocm93IGl9fSxhYm9ydDpmdW5jdGlvbigpe2MmJmMoKX19OnZvaWQgMH0pLG4uYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBuLmdsb2JhbEV2YWwoYSksYX19fSksbi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiKX0pLG4uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjO3JldHVybntzZW5kOmZ1bmN0aW9uKGUsZil7Yj1uKCI8c2NyaXB0PiIpLnByb3Aoe2NoYXJzZXQ6YS5zY3JpcHRDaGFyc2V0LHNyYzphLnVybH0pLm9uKCJsb2FkIGVycm9yIixjPWZ1bmN0aW9uKGEpe2IucmVtb3ZlKCksYz1udWxsLGEmJmYoImVycm9yIj09PWEudHlwZT80MDQ6MjAwLGEudHlwZSl9KSxkLmhlYWQuYXBwZW5kQ2hpbGQoYlswXSl9LGFib3J0OmZ1bmN0aW9uKCl7YyYmYygpfX19fSk7dmFyIEpiPVtdLEtiPS8oPSlcPyg/PSZ8JCl8XD9cPy87bi5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBhPUpiLnBvcCgpfHxuLmV4cGFuZG8rIl8iK2tiKys7cmV0dXJuIHRoaXNbYV09ITAsYX19KSxuLmFqYXhQcmVmaWx0ZXIoImpzb24ganNvbnAiLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZSxmLGcsaD1iLmpzb25wIT09ITEmJihLYi50ZXN0KGIudXJsKT8idXJsIjoic3RyaW5nIj09dHlwZW9mIGIuZGF0YSYmMD09PShiLmNvbnRlbnRUeXBlfHwiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikmJktiLnRlc3QoYi5kYXRhKSYmImRhdGEiKTtyZXR1cm4gaHx8Impzb25wIj09PWIuZGF0YVR5cGVzWzBdPyhlPWIuanNvbnBDYWxsYmFjaz1uLmlzRnVuY3Rpb24oYi5qc29ucENhbGxiYWNrKT9iLmpzb25wQ2FsbGJhY2soKTpiLmpzb25wQ2FsbGJhY2ssaD9iW2hdPWJbaF0ucmVwbGFjZShLYiwiJDEiK2UpOmIuanNvbnAhPT0hMSYmKGIudXJsKz0obGIudGVzdChiLnVybCk/IiYiOiI/IikrYi5qc29ucCsiPSIrZSksYi5jb252ZXJ0ZXJzWyJzY3JpcHQganNvbiJdPWZ1bmN0aW9uKCl7cmV0dXJuIGd8fG4uZXJyb3IoZSsiIHdhcyBub3QgY2FsbGVkIiksZ1swXX0sYi5kYXRhVHlwZXNbMF09Impzb24iLGY9YVtlXSxhW2VdPWZ1bmN0aW9uKCl7Zz1hcmd1bWVudHN9LGQuYWx3YXlzKGZ1bmN0aW9uKCl7dm9pZCAwPT09Zj9uKGEpLnJlbW92ZVByb3AoZSk6YVtlXT1mLGJbZV0mJihiLmpzb25wQ2FsbGJhY2s9Yy5qc29ucENhbGxiYWNrLEpiLnB1c2goZSkpLGcmJm4uaXNGdW5jdGlvbihmKSYmZihnWzBdKSxnPWY9dm9pZCAwfSksInNjcmlwdCIpOnZvaWQgMH0pLG4ucGFyc2VIVE1MPWZ1bmN0aW9uKGEsYixjKXtpZighYXx8InN0cmluZyIhPXR5cGVvZiBhKXJldHVybiBudWxsOyJib29sZWFuIj09dHlwZW9mIGImJihjPWIsYj0hMSksYj1ifHxkO3ZhciBlPXguZXhlYyhhKSxmPSFjJiZbXTtyZXR1cm4gZT9bYi5jcmVhdGVFbGVtZW50KGVbMV0pXTooZT1jYShbYV0sYixmKSxmJiZmLmxlbmd0aCYmbihmKS5yZW1vdmUoKSxuLm1lcmdlKFtdLGUuY2hpbGROb2RlcykpfTt2YXIgTGI9bi5mbi5sb2FkO24uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZMYilyZXR1cm4gTGIuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD4tMSYmKGQ9bi50cmltKGEuc2xpY2UoaCkpLGE9YS5zbGljZSgwLGgpKSxuLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZT0iUE9TVCIpLGcubGVuZ3RoPjAmJm4uYWpheCh7dXJsOmEsdHlwZTplfHwiR0VUIixkYXRhVHlwZToiaHRtbCIsZGF0YTpifSkuZG9uZShmdW5jdGlvbihhKXtmPWFyZ3VtZW50cyxnLmh0bWwoZD9uKCI8ZGl2PiIpLmFwcGVuZChuLnBhcnNlSFRNTChhKSkuZmluZChkKTphKX0pLmFsd2F5cyhjJiZmdW5jdGlvbihhLGIpe2cuZWFjaChmdW5jdGlvbigpe2MuYXBwbHkodGhpcyxmfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KX0pLHRoaXN9LG4uZWFjaChbImFqYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLCJhamF4U2VuZCJdLGZ1bmN0aW9uKGEsYil7bi5mbltiXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vbihiLGEpfX0pLG4uZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3JldHVybiBuLmdyZXAobi50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9O2Z1bmN0aW9uIE1iKGEpe3JldHVybiBuLmlzV2luZG93KGEpP2E6OT09PWEubm9kZVR5cGUmJmEuZGVmYXVsdFZpZXd9bi5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosaz1uLmNzcyhhLCJwb3NpdGlvbiIpLGw9bihhKSxtPXt9OyJzdGF0aWMiPT09ayYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksaD1sLm9mZnNldCgpLGY9bi5jc3MoYSwidG9wIiksaT1uLmNzcyhhLCJsZWZ0Iiksaj0oImFic29sdXRlIj09PWt8fCJmaXhlZCI9PT1rKSYmKGYraSkuaW5kZXhPZigiYXV0byIpPi0xLGo/KGQ9bC5wb3NpdGlvbigpLGc9ZC50b3AsZT1kLmxlZnQpOihnPXBhcnNlRmxvYXQoZil8fDAsZT1wYXJzZUZsb2F0KGkpfHwwKSxuLmlzRnVuY3Rpb24oYikmJihiPWIuY2FsbChhLGMsbi5leHRlbmQoe30saCkpKSxudWxsIT1iLnRvcCYmKG0udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG0ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG0pOmwuY3NzKG0pfX0sbi5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9dGhpc1swXSxlPXt0b3A6MCxsZWZ0OjB9LGY9ZCYmZC5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbi5jb250YWlucyhiLGQpPyhlPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYz1NYihmKSx7dG9wOmUudG9wK2MucGFnZVlPZmZzZXQtYi5jbGllbnRUb3AsbGVmdDplLmxlZnQrYy5wYWdlWE9mZnNldC1iLmNsaWVudExlZnR9KTplfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBhLGIsYz10aGlzWzBdLGQ9e3RvcDowLGxlZnQ6MH07cmV0dXJuImZpeGVkIj09PW4uY3NzKGMsInBvc2l0aW9uIik/Yj1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOihhPXRoaXMub2Zmc2V0UGFyZW50KCksYj10aGlzLm9mZnNldCgpLG4ubm9kZU5hbWUoYVswXSwiaHRtbCIpfHwoZD1hLm9mZnNldCgpKSxkLnRvcCs9bi5jc3MoYVswXSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxkLmxlZnQrPW4uY3NzKGFbMF0sImJvcmRlckxlZnRXaWR0aCIsITApKSx7dG9wOmIudG9wLWQudG9wLW4uY3NzKGMsIm1hcmdpblRvcCIsITApLGxlZnQ6Yi5sZWZ0LWQubGVmdC1uLmNzcyhjLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnQ7d2hpbGUoYSYmInN0YXRpYyI9PT1uLmNzcyhhLCJwb3NpdGlvbiIpKWE9YS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGF8fEVhfSl9fSksbi5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9InBhZ2VZT2Zmc2V0Ij09PWI7bi5mblthXT1mdW5jdGlvbihkKXtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGEsZCxlKXt2YXIgZj1NYihhKTtyZXR1cm4gdm9pZCAwPT09ZT9mP2ZbYl06YVtkXTp2b2lkKGY/Zi5zY3JvbGxUbyhjP2YucGFnZVhPZmZzZXQ6ZSxjP2U6Zi5wYWdlWU9mZnNldCk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgpfX0pLG4uZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09R2EobC5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKGEsYyl7cmV0dXJuIGM/KGM9RmEoYSxiKSxCYS50ZXN0KGMpP24oYSkucG9zaXRpb24oKVtiXSsicHgiOmMpOnZvaWQgMH0pfSksbi5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24oYSxiKXtuLmVhY2goe3BhZGRpbmc6ImlubmVyIithLGNvbnRlbnQ6YiwiIjoib3V0ZXIiK2F9LGZ1bmN0aW9uKGMsZCl7bi5mbltkXT1mdW5jdGlvbihkLGUpe3ZhciBmPWFyZ3VtZW50cy5sZW5ndGgmJihjfHwiYm9vbGVhbiIhPXR5cGVvZiBkKSxnPWN8fChkPT09ITB8fGU9PT0hMD8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihiLGMsZCl7dmFyIGU7cmV0dXJuIG4uaXNXaW5kb3coYik/Yi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYV06OT09PWIubm9kZVR5cGU/KGU9Yi5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoYi5ib2R5WyJzY3JvbGwiK2FdLGVbInNjcm9sbCIrYV0sYi5ib2R5WyJvZmZzZXQiK2FdLGVbIm9mZnNldCIrYV0sZVsiY2xpZW50IithXSkpOnZvaWQgMD09PWQ/bi5jc3MoYixjLGcpOm4uc3R5bGUoYixjLGQsZyl9LGIsZj9kOnZvaWQgMCxmLG51bGwpfX0pfSksbi5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9uKGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vZmYoYSxudWxsLGIpfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhfHwiKioiLGMpfSxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofX0pLG4uZm4uYW5kU2VsZj1uLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG59KTt2YXIgTmI9YS5qUXVlcnksT2I9YS4kO3JldHVybiBuLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW4mJihhLiQ9T2IpLGImJmEualF1ZXJ5PT09biYmKGEualF1ZXJ5PU5iKSxufSxifHwoYS5qUXVlcnk9YS4kPW4pLG59KTsK"}},"time_used":291,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":265,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.880Z","timestamp":1785123385880,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main HTTP/1.1\r\nHost: translate.googleapis.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://alpha-achieveer.co/\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\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 67956\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:00:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:00:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 20:35:41 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 380181\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":194344,"size_decoded":68796,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2519)","md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKdmFyIEdnLEhnLElnLFhnLGNoLGloLGpoLGxoLG1oLG9oLHNoLHVoLHRoLEFoLEJoLEZoLERoLEVoLERnO18uRWc9ZnVuY3Rpb24oYSl7aWYoRGcudGVzdChhKSlyZXR1cm4gYX07Xy5GZz1mdW5jdGlvbihhLGIpe2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoYS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pO2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PWJ9O0dnPWZ1bmN0aW9uKGEpe2lmKCFfLlVhfHwhXy5WYSlyZXR1cm4hMTtmb3IodmFyIGI9MDtiPF8uVmEuYnJhbmRzLmxlbmd0aDtiKyspe3ZhciBjPV8uVmEuYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9O0hnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiRmlyZWZveCIpfHxfLncoIkZ4aU9TIil9OwpJZz1mdW5jdGlvbigpe3JldHVybiBfLldhKCk/R2coIkNocm9taXVtIik6KF8udygiQ2hyb21lIil8fF8udygiQ3JpT1MiKSkmJiEoXy5XYSgpPzA6Xy53KCJFZGdlIikpfHxfLncoIlNpbGsiKX07Xy5KZz1mdW5jdGlvbigpe3JldHVybiBfLncoIlNhZmFyaSIpJiYhKElnKCl8fChfLldhKCk/MDpfLncoIkNvYXN0IikpfHxfLlhhKCl8fChfLldhKCk/MDpfLncoIkVkZ2UiKSl8fChfLldhKCk/R2coIk1pY3Jvc29mdCBFZGdlIik6Xy53KCJFZGcvIikpfHwoXy5XYSgpP0dnKCJPcGVyYSIpOl8udygiT1BSIikpfHxIZygpfHxfLncoIlNpbGsiKXx8Xy53KCJBbmRyb2lkIikpfTtfLktnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiQW5kcm9pZCIpJiYhKElnKCl8fEhnKCl8fF8uWGEoKXx8Xy53KCJTaWxrIikpfTsKXy5NZz1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpe3ZhciBjO3ZhciBkPShjPUxnKSE9bnVsbD9jOkxnPXt9O2M9ZFthXXx8MDtjPj1ifHwoZFthXT1jKzEsYT1FcnJvcigpLF8uRmcoYSwiaW5jaWRlbnQiKSxfLnJiKGEpKX19O18uTmc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgpPT09InN5bWJvbCI/KGM9PT12b2lkIDA/MDpjKSYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpOmJ9O18uUmc9ZnVuY3Rpb24oYSxiKXtfLk9nfHxfLkggaW4gYXx8UGcoYSxRZyk7YVtfLkhdfD1ifTtfLlNnPWZ1bmN0aW9uKGEsYil7Xy5PZ3x8Xy5IIGluIGF8fFBnKGEsUWcpO2FbXy5IXT1ifTtfLlRnPWZ1bmN0aW9uKGEpe18uUmcoYSwzNCk7cmV0dXJuIGF9O18uVWc9ZnVuY3Rpb24oYSl7Xy5SZyhhLDgxOTIpO3JldHVybiBhfTsKXy5XZz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuZyE9PV8uVmcmJiEhKDImKGEuSltfLkhdfDApKTohISgyJmIpJiZhLmchPT1fLlZnfTtYZz1mdW5jdGlvbihhKXthLlRsPSEwO3JldHVybiBhfTtfLmJoPWZ1bmN0aW9uKGEpe3ZhciBiPWE7aWYoWWcoYikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChiKSl0aHJvdyBFcnJvcihTdHJpbmcoYikpO31lbHNlIGlmKFpnKGIpJiYhTnVtYmVyLmlzU2FmZUludGVnZXIoYikpdGhyb3cgRXJyb3IoU3RyaW5nKGIpKTtyZXR1cm4gJGc/QmlnSW50KGEpOmE9YWgoYSk/YT8iMSI6IjAiOllnKGEpP2EudHJpbSgpfHwiMCI6U3RyaW5nKGEpfTsKY2g9ZnVuY3Rpb24oYSxiKXtpZihhLmxlbmd0aD5iLmxlbmd0aClyZXR1cm4hMTtpZihhLmxlbmd0aDxiLmxlbmd0aHx8YT09PWIpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1iW2NdO2lmKGQ+ZSlyZXR1cm4hMTtpZihkPGUpcmV0dXJuITB9fTtfLmhoPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEhPW51bGwmJmFbZGhdPT09ZWgpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP2JbXy5maF18fChiW18uZmhdPV8uZ2goYikpOm5ldyBiOnZvaWQgMDtjPWFbXy5IXXwwO2Q9Y3xkJjMyfGQmMjtkIT09YyYmXy5TZyhhLGQpO3JldHVybiBuZXcgYihhKX07Xy5naD1mdW5jdGlvbihhKXthPW5ldyBhO18uVGcoYS5KKTtyZXR1cm4gYX07aWg9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2poPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsKbGg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9Xy5oaChhLGQsYyxmKTtlJiYoYT1fLmtoKGEpKTtyZXR1cm4gYX07bWg9ZnVuY3Rpb24oYSl7cmV0dXJuW2EsdGhpcy5nZXQoYSldfTtvaD1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLk1nKG5oLDEpfTsKc2g9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLnBoKF8ucWgpLGc7IWUmJl8uT2cmJmYmJihnPWFbZl0pJiZnLlRrKG9oKTtmPVtdO3ZhciBoPWEubGVuZ3RoO2c9NDI5NDk2NzI5NTt2YXIgaz0hMSxsPSEhKGImNjQpLG49bD9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBxPWgmJmFbaC0xXTtxIT1udWxsJiZ0eXBlb2YgcT09PSJvYmplY3QiJiZxLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhoLS0sZz1oKTpxPXZvaWQgMDtpZihsJiYhKGImMTI4KSYmIWUpe2s9ITA7dmFyIHA7Zz0oKHA9cmgpIT1udWxsP3A6aWgpKGctbixuLGEscSx2b2lkIDApK259fWI9dm9pZCAwO2ZvcihlPTA7ZTxoO2UrKylpZihwPWFbZV0scCE9bnVsbCYmKHA9YyhwLGQpKSE9bnVsbClpZihsJiZlPj1nKXt2YXIgcj1lLW4sdD12b2lkIDA7KCh0PWIpIT1udWxsP3Q6Yj17fSlbcl09cH1lbHNlIGZbZV09cDtpZihxKWZvcih2YXIgQSBpbiBxKWE9cVtBXSxhIT0KbnVsbCYmKGE9YyhhLGQpKSE9bnVsbCYmKGg9K0EsZT12b2lkIDAsbCYmIU51bWJlci5pc05hTihoKSYmKGU9aCtuKTxnP2ZbZV09YTooaD12b2lkIDAsKChoPWIpIT1udWxsP2g6Yj17fSlbQV09YSkpO2ImJihrP2YucHVzaChiKTpmW2ddPWIpO3JldHVybiBmfTt1aD1mdW5jdGlvbihhKXthWzBdPXRoKGFbMF0pO2FbMV09dGgoYVsxXSk7cmV0dXJuIGF9Owp0aD1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLnZoKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYj1hW18uSF18MDtyZXR1cm4gYS5sZW5ndGg9PT0wJiZiJjE/dm9pZCAwOnNoKGEsYix0aCl9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gXy53aChhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGEuZygpO2lmKGEgaW5zdGFuY2VvZiBfLnloKXJldHVybiBhPWEuc2l6ZSE9PTA/Xy56aChhLHVoKTp2b2lkIDAsYTtyZXR1cm59cmV0dXJuIGF9O18ud2g9ZnVuY3Rpb24oYSl7YT1hLko7cmV0dXJuIHNoKGEsYVtfLkhdfDAsdGgpfTsKXy5JPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQWgoYSxiLGMsMjA0OCl9OwpBaD1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/MDpkO2lmKGE9PW51bGwpe3ZhciBlPTMyO2M/KGE9W2NdLGV8PTEyOCk6YT1bXTtiJiYoZT1lJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoImJhIik7ZT1hW18uSF18MDtpZihfLk1jJiYxJmUpdGhyb3cgRXJyb3IoImNhIik7MjA0OCZlJiYhKDImZSkmJkJoKCk7aWYoZSYyNTYpdGhyb3cgRXJyb3IoImRhIik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJl8uU2coYSxlfGQpLGE7aWYoYyYmKGV8PTEyOCxjIT09YVswXSkpdGhyb3cgRXJyb3IoImVhIik7YTp7Yz1hO2V8PTY0O3ZhciBmPWMubGVuZ3RoO2lmKGYpe3ZhciBnPWYtMSxoPWNbZ107aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yj1lJjEyOD8wOi0xO2ctPWI7aWYoZz49MTAyNCl0aHJvdyBFcnJvcigiZ2EiKTtmb3IodmFyIGsgaW4gaClmPStrLApmPGcmJihjW2YrYl09aFtrXSxkZWxldGUgaFtrXSk7ZT1lJi0xNjc2MDgzM3woZyYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoImhhIik7ZT1lJi0xNjc2MDgzM3woayYxMDIzKTw8MTR9fX1fLlNnKGEsZXw2NHxkKTtyZXR1cm4gYX07Qmg9ZnVuY3Rpb24oKXtpZihfLk1jKXRocm93IEVycm9yKCJmYSIpO18uTWcoQ2gsNSl9OwpGaD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtfLkhdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYyYxP3ZvaWQgMDpEaChhLGMsYil9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gRWgoYSk7aWYoYSBpbnN0YW5jZW9mIF8ueWgpe2I9YS5LYjtpZihiJjIpcmV0dXJuIGE7aWYoIWEuc2l6ZSlyZXR1cm47Yz1fLlRnKF8uemgoYSkpO2lmKGEuR2IpZm9yKGE9MDthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXSxlPWRbMV07ZT09bnVsbHx8dHlwZW9mIGUhPT0ib2JqZWN0Ij9lPXZvaWQgMDplIT1udWxsJiZlW2RoXT09PWVoP2U9RWgoZSk6QXJyYXkuaXNBcnJheShlKT9lPURoKGUsZVtfLkhdfDAsISEoYiYzMikpOmU9dm9pZCAwO2RbMV09ZX1yZXR1cm4gY31pZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGF9OwpEaD1mdW5jdGlvbihhLGIsYyl7aWYoYiYyKXJldHVybiBhOyFjfHw0MDk2JmJ8fDE2JmI/YT1fLkdoKGEsYiwhMSxjJiYhKGImMTYpKTooXy5SZyhhLDM0KSxiJjQmJk9iamVjdC5mcmVlemUoYSkpO3JldHVybiBhfTtfLkhoPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmc9Xy5WZyk7YS5oPV8uVmc7cmV0dXJuIGF9O0VoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/YTpfLkloKGEsYixjKT9fLkhoKGEsYik6Xy5HaChiLGMpfTtfLkdoPWZ1bmN0aW9uKGEsYixjLGQpe2QhPW51bGx8fChkPSEhKDM0JmIpKTthPXNoKGEsYixGaCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDtfLlNnKGEsYik7cmV0dXJuIGF9OwpfLmtoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/Xy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSk6YX07Xy5JaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMmMj8hMDpjJjMyJiYhKGMmNDA5Nik/KF8uU2coYixjfDIpLGEuZz1fLlZnLCEwKTohMX07Xy5waD1mdW5jdGlvbihhKXtyZXR1cm4gYX07RGc9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtfLkpoPUhnKCk7Xy5LaD1fLlphKCl8fF8udygiaVBvZCIpO18uTGg9Xy53KCJpUGFkIik7Xy5NaD1fLktnKCk7Xy5OaD1JZygpO18uT2g9Xy5KZygpJiYhXy4kYSgpO18uUGg9IV8uU2MmJnR5cGVvZiBidG9hPT09ImZ1bmN0aW9uIjt2YXIgTGc9dm9pZCAwO3ZhciBRaCxuaCxDaCxkaDtfLk9nPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCk9PT0ic3ltYm9sIjtRaD1fLk5nKCJqYXMiLHZvaWQgMCwhMCk7Xy5maD1fLk5nKHZvaWQgMCwiMGRpIik7Xy5xaD1fLk5nKHZvaWQgMCxTeW1ib2woKSk7Xy5SaD1fLk5nKHZvaWQgMCwiMHViIik7bmg9Xy5OZyh2b2lkIDAsIjB1YnMiKTtDaD1fLk5nKHZvaWQgMCwiMGFjdGsiKTtkaD1fLk5nKCJtX20iLCJYbCIsITApO18uU2g9Xy5OZygpO3ZhciBRZyxQZyxVaDtRZz17ZWk6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fTtQZz1PYmplY3QuZGVmaW5lUHJvcGVydGllcztfLkg9Xy5PZz9RaDoiZWkiO1VoPVtdO18uU2coVWgsNyk7Xy5UaD1PYmplY3QuZnJlZXplKFVoKTt2YXIgZWgsVmg7ZWg9e307Xy5WZz17fTtWaD1mdW5jdGlvbihhLGIsYyl7dGhpcy5nPWE7dGhpcy5oPWI7dGhpcy5qPWN9O1ZoLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nLm5leHQoKTthLmRvbmV8fChhLnZhbHVlPXRoaXMuaC5jYWxsKHRoaXMuaixhLnZhbHVlKSk7cmV0dXJuIGF9O1ZoLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O18uV2g9T2JqZWN0LmZyZWV6ZSh7fSk7Xy5YaD1PYmplY3QuZnJlZXplKHt9KTt2YXIgWmc9WGcoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSxZZz1YZyhmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLGFoPVhnKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO3ZhciAkZz10eXBlb2YgXy52LkJpZ0ludD09PSJmdW5jdGlvbiImJnR5cGVvZiBfLnYuQmlnSW50KDApPT09ImJpZ2ludCI7dmFyICRoLFloLGFpLFpoO18udmg9WGcoZnVuY3Rpb24oYSl7cmV0dXJuICRnP2E+PVloJiZhPD1aaDphWzBdPT09Ii0iP2NoKGEsJGgpOmNoKGEsYWkpfSk7JGg9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIudG9TdHJpbmcoKTtZaD0kZz9CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpOnZvaWQgMDthaT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUi50b1N0cmluZygpO1poPSRnP0JpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik6dm9pZCAwO18uYmk9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzSW50Tjp2b2lkIDA7Xy5jaT1OdW1iZXIuaXNTYWZlSW50ZWdlcjtfLmRpPU51bWJlci5pc0Zpbml0ZTtfLmVpPU1hdGgudHJ1bmM7dmFyIGZpPWZ1bmN0aW9uKCl7dHJ5e3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuKDAsXy5UYikoTWFwLFtdLHRoaXMuY29uc3RydWN0b3IpfTtfLkIoYSxNYXApO18uUWMobmV3IGEpO3JldHVybiExfWNhdGNoKGIpe3JldHVybiEwfX0oKSxnaT1mdW5jdGlvbigpe3RoaXMuZz1uZXcgTWFwfSxoaSxpaTtfLm09Z2kucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5nZXQoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmcuc2V0KGEsYik7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2E9dGhpcy5nLmRlbGV0ZShhKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGF9O18ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nLmhhcyhhKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Cl8ubS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5rZXlzKCl9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmcuZm9yRWFjaChhLGIpfTtnaS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVudHJpZXMoKX07aGk9ZnVuY3Rpb24oKXtpZihmaSlyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKGdpLnByb3RvdHlwZSxNYXAucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhnaS5wcm90b3R5cGUse3NpemU6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITB9fSksZ2k7dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLlRiKShNYXAsW10sdGhpcy5jb25zdHJ1Y3Rvcil9O18uQihhLE1hcCk7cmV0dXJuIGF9KCk7Cl8ueWg9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwP2poOmM7ZD1kPT09dm9pZCAwP2poOmQ7dmFyIGU9aGkuY2FsbCh0aGlzKXx8dGhpcztlLktiPWFbXy5IXXwwO2UuR2I9YjtlLmFkPWM7ZS5rZz1lLkdiP2xoOmQ7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspe3ZhciBnPWFbZl0saD1jKGdbMF0sITEsITApLGs9Z1sxXTtiP2s9PT12b2lkIDAmJihrPW51bGwpOms9ZChnWzFdLCExLCEwLHZvaWQgMCx2b2lkIDAsZS5LYik7aGkucHJvdG90eXBlLnNldC5jYWxsKGUsaCxrKX1yZXR1cm4gZX07Xy5CKF8ueWgsaGkpO2lpPWZ1bmN0aW9uKGEpe2lmKGEuS2ImMil0aHJvdyBFcnJvcigiYWEiKTt9O18uemg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5VZyhBcnJheS5mcm9tKGhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwoYSksYikpfTtfLm09Xy55aC5wcm90b3R5cGU7Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7aWkodGhpcyk7aGkucHJvdG90eXBlLmNsZWFyLmNhbGwodGhpcyl9OwpfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2lpKHRoaXMpO3JldHVybiBoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyx0aGlzLmFkKGEsITAsITEpKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsbWgsdGhpcyl9ZWxzZSBhPWhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsXy55aC5wcm90b3R5cGUuZ2V0LHRoaXMpfWVsc2UgYT1oaS5wcm90b3R5cGUudmFsdWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9OwpfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3RoaXMuR2I/aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGZ1bmN0aW9uKGMsZCxlKXthLmNhbGwoYixlLmdldChkKSxkLGUpfSk6aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGEsYil9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtpaSh0aGlzKTthPXRoaXMuYWQoYSwhMCwhMSk7cmV0dXJuIGE9PW51bGw/dGhpczpiPT1udWxsPyhoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyxhKSx0aGlzKTpoaS5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyxhLHRoaXMua2coYiwhMCwhMCx0aGlzLkdiLCExLHRoaXMuS2IpKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gaGkucHJvdG90eXBlLmhhcy5jYWxsKHRoaXMsdGhpcy5hZChhLCExLCExKSl9OwpfLm0uZ2V0PWZ1bmN0aW9uKGEpe2E9dGhpcy5hZChhLCExLCExKTt2YXIgYj1oaS5wcm90b3R5cGUuZ2V0LmNhbGwodGhpcyxhKTtpZihiIT09dm9pZCAwKXt2YXIgYz10aGlzLkdiO3JldHVybiBjPyhjPXRoaXMua2coYiwhMSwhMCxjLHRoaXMuTmssdGhpcy5LYiksYyE9PWImJmhpLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsYyksYyk6Yn19O18ueWgucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9O18ueWgucHJvdG90eXBlLnRvSlNPTj12b2lkIDA7dmFyIHJoO18uamk9Xy5iaCgwKTtfLko9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSj1fLkkoYSxiLGMpfTtfLkoucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBfLndoKHRoaXMpfTtfLkoucHJvdG90eXBlW2RoXT1laDtfLkoucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSi50b1N0cmluZygpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExpLE1pLE5pLE9pLFJpLFBpLFFpLFNpLFVpLFdpLFhpO18ua2k9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5lYy5hcHBseSgxLGFyZ3VtZW50cyk7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLk1hKGFbMF0pO2Zvcih2YXIgYz1hWzBdLGQ9MDtkPGIubGVuZ3RoO2QrKyljKz1lbmNvZGVVUklDb21wb25lbnQoYltkXSkrYVtkKzFdO3JldHVybiBfLk1hKGMpfTtfLmxpPWZ1bmN0aW9uKGEpe18uUmcoYSwzMik7cmV0dXJuIGF9O18ubWk9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfTtfLm5pPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09ImJvb2xlYW4iKXRocm93IEVycm9yKCIkYCIrXy5vYyhhKSsiYCIrYSk7cmV0dXJuIGF9O18ub2k9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PT0iYm9vbGVhbiIpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT0ibnVtYmVyIilyZXR1cm4hIWF9OwpfLnBpPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmciP2E6dm9pZCAwfTtfLnFpPWZ1bmN0aW9uKGEpe2lmKGEuZyE9PV8uVmcpcmV0dXJuITE7dmFyIGI9YS5KO2I9Xy5HaChiLGJbXy5IXXwwKTtfLlJnKGIsMjA0OCk7YS5KPWI7YS5nPXZvaWQgMDthLmg9dm9pZCAwO3JldHVybiEwfTtfLnJpPWZ1bmN0aW9uKGEpe2lmKCFfLnFpKGEpJiZfLldnKGEsYS5KW18uSF18MCkpdGhyb3cgRXJyb3IoKTt9O18uc2k9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uSF18MCk7YiYzMiYmIShiJjQwOTYpJiZfLlNnKGEsYnw0MDk2KX07Cl8udGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jKyhlPzA6LTEpLGc9YS5sZW5ndGgtMTtpZihnPj0xKyhlPzA6LTEpJiZmPj1nKXt2YXIgaD1hW2ddO2lmKGghPW51bGwmJnR5cGVvZiBoPT09Im9iamVjdCImJmguY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIGhbY109ZCxifWlmKGY8PWcpcmV0dXJuIGFbZl09ZCxiO2lmKGQhPT12b2lkIDApe3ZhciBrO2c9KChrPWIpIT1udWxsP2s6Yj1hW18uSF18MCk+PjE0JjEwMjN8fDUzNjg3MDkxMjtjPj1nP2QhPW51bGwmJihmPXt9LGFbZysoZT8wOi0xKV09KGZbY109ZCxmKSk6YVtmXT1kfXJldHVybiBifTtfLkJpPWZ1bmN0aW9uKGEsYil7YT1fLnVpKGEsYix2b2lkIDApO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6Xy5UaH07Xy5DaT1mdW5jdGlvbihhLGIpezImYiYmKGF8PTIpO3JldHVybiBhfDF9O18uRGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT0oMiZiP2F8MjphJi0zKSYtMjczfTsKXy5FaT1mdW5jdGlvbihhKXtyZXR1cm4hISgyJmEpJiYhISg0JmEpfHwhISgyNTYmYSl9O18uRmk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1iO2Y9PT0xfHwoZiE9PTQ/MDoyJmJ8fCEoMTYmYikmJjMyJmQpP18uRWkoYil8fChifD0hYS5sZW5ndGh8fGcmJiEoNDA5NiZiKXx8MzImZCYmISg0MDk2JmJ8fDE2JmIpPzI6MjU2LGIhPT1rJiZfLlNnKGEsYiksT2JqZWN0LmZyZWV6ZShhKSk6KGY9PT0yJiZfLkVpKGIpJiYoYT1fLm1pKGEpLGs9MCxiPV8uRGkoYixkKSxkPV8udGkoYyxkLGUsYSkpLF8uRWkoYil8fChofHwoYnw9MTYpLGIhPT1rJiZfLlNnKGEsYikpKTsyJmJ8fCEoNDA5NiZifHwxNiZiKXx8Xy5zaShjLGQpO3JldHVybiBhfTtfLkdpPWZ1bmN0aW9uKGEsYixjLGQpe18ucmkoYSk7dmFyIGU9YS5KO18udGkoZSxlW18uSF18MCxiLChkPT09IjAiP051bWJlcihjKT09PTA6Yz09PWQpP3ZvaWQgMDpjKTtyZXR1cm4gYX07Cl8uSGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtkPV8udWkoYSxkLGUsZnVuY3Rpb24oZyl7dmFyIGg9Xy5oaChnLGMsITEsYik7Zj1oIT09ZyYmaCE9bnVsbDtyZXR1cm4gaH0pO2lmKGQhPW51bGwpcmV0dXJuIGYmJiFfLldnKGQpJiZfLnNpKGEsYiksZH07Cl8uSWk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1fLldnKGEsYyk7Zj1rPzE6ZjtnPSEhZ3x8Zj09PTM7az1oJiYhazsoZj09PTJ8fGspJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7YT1fLkJpKGIsZSk7dmFyIGw9YT09PV8uVGg/NzphW18uSF18MCxuPV8uQ2kobCxjKTtpZihoPSEoNCZuKSl7dmFyIHE9YSxwPWMscj0hISgyJm4pO3ImJihwfD0yKTtmb3IodmFyIHQ9IXIsQT0hMCxEPTAsRT0wO0Q8cS5sZW5ndGg7RCsrKXt2YXIgYmE9Xy5oaChxW0RdLGQsITEscCk7aWYoYmEgaW5zdGFuY2VvZiBkKXtpZighcil7dmFyIFo9Xy5XZyhiYSk7dCYmKHQ9IVopO0EmJihBPVopfXFbRSsrXT1iYX19RTxEJiYocS5sZW5ndGg9RSk7bnw9NDtuPUE/biYtNDA5NzpufDQwOTY7bj10P258ODpuJi05fW4hPT1sJiYoXy5TZyhhLG4pLDImbiYmT2JqZWN0LmZyZWV6ZShhKSk7aWYoayYmISg4Jm58fCFhLmxlbmd0aCYmKGY9PT0xfHwoZiE9PTQ/MDoyJm58fCEoMTYmbikmJgozMiZjKSkpKXtfLkVpKG4pJiYoYT1fLm1pKGEpLG49Xy5EaShuLGMpLGM9Xy50aShiLGMsZSxhKSk7ZD1hO2s9bjtmb3IobD0wO2w8ZC5sZW5ndGg7bCsrKXE9ZFtsXSxuPV8ua2gocSkscSE9PW4mJihkW2xdPW4pO2t8PTg7bj1rPWQubGVuZ3RoP2t8NDA5NjprJi00MDk3O18uU2coYSxuKX1yZXR1cm4gYT1fLkZpKGEsbixiLGMsZSxmLGgsZyl9O18uSmk9ZnVuY3Rpb24oYSl7YT09bnVsbCYmKGE9dm9pZCAwKTtyZXR1cm4gYX07Xy5LaT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJpYWAiK18ub2MoYikrImAiK2IpO18uVGcoYik7cmV0dXJuIG5ldyBhKGIpfX07TGk9ZnVuY3Rpb24oYSl7aWYoYS5HKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTthLkc9ITB9O01pPWZ1bmN0aW9uKGEsYil7YS5sPXtiZjpiLENmOiEwfTthLmc9YS5DfHxhLm99OwpOaT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9O18uSz1mdW5jdGlvbihhKXtyZXR1cm4gTmkoYSxhKX07T2k9ZnVuY3Rpb24oYSl7dGhpcy5nPW5ldyBfLkY7dGhpcy5oPWF9O1JpPWZ1bmN0aW9uKGEsYil7TGkoYS5nKTt2YXIgYz1hLmcuQTtpZihjKXJldHVybiBQaShhLCJyZXR1cm4iaW4gYz9jWyJyZXR1cm4iXTpmdW5jdGlvbihkKXtyZXR1cm57dmFsdWU6ZCxkb25lOiEwfX0sYixhLmcucmV0dXJuKTthLmcucmV0dXJuKGIpO3JldHVybiBRaShhKX07UGk9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLmcuQSxjKTtfLmNjKGUpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy5HPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLkE9bnVsbCxNaShhLmcsZyksUWkoYSl9YS5nLkE9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBRaShhKX07ClFpPWZ1bmN0aW9uKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcuRz0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuaj12b2lkIDAsTWkoYS5nLGMpfWEuZy5HPSExO2lmKGEuZy5sKXtiPWEuZy5sO2EuZy5sPW51bGw7aWYoYi5DZil0aHJvdyBiLmJmO3JldHVybnt2YWx1ZTpiLnJldHVybixkb25lOiEwfX1yZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fTsKU2k9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BLm5leHQsYixhLmcuSSk6KGEuZy5JKGIpLGI9UWkoYSkpO3JldHVybiBifTt0aGlzLnRocm93PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BWyJ0aHJvdyJdLGIsYS5nLkkpOihNaShhLmcsYiksYj1RaShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBSaShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319O1VpPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZCl7cmV0dXJuIGEubmV4dChkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBhLnRocm93KGQpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2Z1bmN0aW9uIGYoZyl7Zy5kb25lP2QoZy52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGcudmFsdWUpLnRoZW4oYixjKS50aGVuKGYsZSl9ZihhLm5leHQoKSl9KX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gVWkobmV3IFNpKG5ldyBPaShhKSkpfTsKV2k9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC9cLShbYS16XSkvZyxmdW5jdGlvbihiLGMpe3JldHVybiBjLnRvVXBwZXJDYXNlKCl9KX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoIihefFtcXHNdKykoW2Etel0pIiwiZyIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5ZaT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5vZSlyZXR1cm4gYTt2YXIgYj1uZXcgXy5vZShfLmxlKTtfLm5lKGIsMixhKTtyZXR1cm4gYn07Cl8udWk9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYj09PS0xKXJldHVybiBudWxsO3ZhciBlPWIrKGM/MDotMSksZj1hLmxlbmd0aC0xO2lmKCEoZjwxKyhjPzA6LTEpKSl7aWYoZT49Zil7dmFyIGc9YVtmXTtpZihnIT1udWxsJiZ0eXBlb2YgZz09PSJvYmplY3QiJiZnLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtjPWdbYl07dmFyIGg9ITB9ZWxzZSBpZihlPT09ZiljPWc7ZWxzZSByZXR1cm59ZWxzZSBjPWFbZV07aWYoZCYmYyE9bnVsbCl7ZD1kKGMpO2lmKGQ9PW51bGwpcmV0dXJuIGQ7aWYoIU9iamVjdC5pcyhkLGMpKXJldHVybiBoP2dbYl09ZDphW2VdPWQsZH1yZXR1cm4gY319O18uWmk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8udWkoYS5KLGIsYyxlKTtpZihiIT09bnVsbHx8ZCYmYS5oIT09Xy5WZylyZXR1cm4gYn07Xy4kaT1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLko7Xy50aShkLGRbXy5IXXwwLGIsYyk7cmV0dXJuIGF9OwpfLmFqPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Xy5XaD8yOjR9O18uYmo9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5KLGY9ZVtfLkhdfDA7Yj1fLkhpKGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5IXXwwO2lmKCFfLldnKGEsZikpe3ZhciBnPV8ua2goYik7ZyE9PWImJihfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCksYj1nLGY9Xy50aShlLGYsYyxiLGQpLF8uc2koZSxmKSl9cmV0dXJuIGJ9O18uY2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuSjtyZXR1cm4gXy5JaShhLGQsZFtfLkhdfDAsYixjLF8uYWooKSwhMSwhMCl9O18uTD1mdW5jdGlvbihhLGIsYyl7Yz1fLkppKGMpO18uJGkoYSxiLGMpO2MmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9O18uTT1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/ITE6YzthPV8ub2koXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPyIiOmM7dmFyIGQ7cmV0dXJuKGQ9Xy5waShfLlppKGEsYikpKSE9bnVsbD9kOmN9O18uZGo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPzA6YzthPV8uWmkoYSxiKTthPWE9PW51bGw/YTooMCxfLmRpKShhKT9hfDA6dm9pZCAwO3JldHVybiBhIT1udWxsP2E6Y307Xy5laj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2koYSxiLGM9PW51bGw/YzpfLm5pKGMpLCExKX07Xy5maj1mdW5jdGlvbihhLGIpe2lmKGI9PW51bGx8fGI9PSIiKXJldHVybiBuZXcgYTtiPUpTT04ucGFyc2UoYik7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoImphIik7cmV0dXJuIG5ldyBhKF8ubGkoYikpfTt2YXIgaWosZ2osamo7Xy5oaj1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilnaihhLGMsYik7ZWxzZSBmb3IodmFyIGQgaW4gYilnaihhLGJbZF0sZCl9O2lqPS9eLS0uKy87Z2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWpqW2NdO2lmKCFkKXt2YXIgZT1XaShjKTtkPWU7YS5zdHlsZVtlXT09PXZvaWQgMCYmKGU9KF8uVmM/IldlYmtpdCI6Xy5VYz8iTW96IjpudWxsKStYaShlKSxhLnN0eWxlW2VdIT09dm9pZCAwJiYoZD1lKSk7ampbY109ZH0oYz1kKSYmKGlqLnRlc3QoYyk/YS5zdHlsZS5zZXRQcm9wZXJ0eShjLGIpOmEuc3R5bGVbY109Yil9O2pqPXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgbGosb2oscGoscWosdGosdWosdmosd2oseGoseWosQWosQ2osRGosRWosRmosR2osSGosSWosS2osTmosT2osWGosWWosYmssbmosbWosY2ssZWsscmosc2osemosbms7Xy5raj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5EYylyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTtsaj1mdW5jdGlvbihhKXt2YXIgYj1hLkosYz1iW18uSF18MDtyZXR1cm4gXy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSl9Owpvaj1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPTApO2lmKCFtail7bWo9e307Zm9yKHZhciBjPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGQ9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl0sZT0wO2U8NTtlKyspe3ZhciBmPWMuY29uY2F0KGRbZV0uc3BsaXQoIiIpKTtualtlXT1mO2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO21qW2hdPT09dm9pZCAwJiYobWpbaF09Zyl9fX1iPW5qW2JdO2M9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8zKSk7ZD1iWzY0XXx8IiI7Zm9yKGU9Zj0wO2Y8YS5sZW5ndGgtMjtmKz0zKXt2YXIgaz1hW2ZdLGw9YVtmKzFdO2g9YVtmKzJdO2c9YltrPj4yXTtrPWJbKGsmMyk8PDR8bD4+NF07bD1iWyhsJjE1KTw8MnxoPj42XTtoPWJbaCY2M107Y1tlKytdPWcraytsK2h9Zz0wO2g9ZDtzd2l0Y2goYS5sZW5ndGgtZil7Y2FzZSAyOmc9CmFbZisxXSxoPWJbKGcmMTUpPDwyXXx8ZDtjYXNlIDE6YT1hW2ZdLGNbZV09YlthPj4yXStiWyhhJjMpPDw0fGc+PjRdK2grZH1yZXR1cm4gYy5qb2luKCIiKX07cGo9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTtfLkZnKGEsIndhcm5pbmciKTtyZXR1cm4gYX07cWo9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiJ9O3RqPWZ1bmN0aW9uKGEpe3ZhciBiPWE+Pj4wO3JqPWI7c2o9KGEtYikvNDI5NDk2NzI5Nj4+PjB9O3VqPWZ1bmN0aW9uKGEsYil7Yj1+YjthP2E9fmErMTpiKz0xO3JldHVyblthLGJdfTt2aj1mdW5jdGlvbihhKXtpZihhPDApe3RqKC1hKTt2YXIgYj1fLkModWoocmosc2opKTthPWIubmV4dCgpLnZhbHVlO2I9Yi5uZXh0KCkudmFsdWU7cmo9YT4+PjA7c2o9Yj4+PjB9ZWxzZSB0aihhKX07d2o9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7cmV0dXJuIjAwMDAwMDAiLnNsaWNlKGEubGVuZ3RoKSthfTsKeGo9ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO2lmKGI8PTIwOTcxNTEpdmFyIGM9IiIrKDQyOTQ5NjcyOTYqYithKTtlbHNlIHFqKCk/Yz0iIisoQmlnSW50KGIpPDxCaWdJbnQoMzIpfEJpZ0ludChhKSk6KGM9KGE+Pj4yNHxiPDw4KSYxNjc3NzIxNSxiPWI+PjE2JjY1NTM1LGE9KGEmMTY3NzcyMTUpK2MqNjc3NzIxNitiKjY3MTA2NTYsYys9Yio4MTQ3NDk3LGIqPTIsYT49MUU3JiYoYys9YS8xRTc+Pj4wLGElPTFFNyksYz49MUU3JiYoYis9Yy8xRTc+Pj4wLGMlPTFFNyksYz1iK3dqKGMpK3dqKGEpKTtyZXR1cm4gY307eWo9ZnVuY3Rpb24oKXt2YXIgYT1yaixiPXNqO2ImMjE0NzQ4MzY0OD9xaigpP2E9IiIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOihiPV8uQyh1aihhLGIpKSxhPWIubmV4dCgpLnZhbHVlLGI9Yi5uZXh0KCkudmFsdWUsYT0iLSIreGooYSxiKSk6YT14aihhLGIpO3JldHVybiBhfTsKQWo9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJiaWdpbnQiOnJldHVybiEwO2Nhc2UgIm51bWJlciI6cmV0dXJuKDAsXy5kaSkoYSk7Y2FzZSAic3RyaW5nIjpyZXR1cm4gemoudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07Xy5Caj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IHBqKCJpbnQzMiIpO2lmKCEoMCxfLmRpKShhKSl0aHJvdyBwaigiaW50MzIiKTtyZXR1cm4gYXwwfTtDaj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09InN0cmluZyImJmEpYT0rYTtlbHNlIGlmKHR5cGVvZiBhIT09Im51bWJlciIpcmV0dXJuO3JldHVybigwLF8uZGkpKGEpP2F8MDp2b2lkIDB9OwpEaj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3IilyZXR1cm4gYTtpZihhLmxlbmd0aDwxNil2aihOdW1iZXIoYSkpO2Vsc2UgaWYocWooKSlhPUJpZ0ludChhKSxyaj1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxzaj1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7Yj0rKGFbMF09PT0iLSIpO3NqPXJqPTA7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9YixlPShjLWIpJTYrYjtlPD1jO2Q9ZSxlKz02KWQ9TnVtYmVyKGEuc2xpY2UoZCxlKSksc2oqPTFFNixyaj1yaioxRTYrZCxyaj49NDI5NDk2NzI5NiYmKHNqKz1NYXRoLnRydW5jKHJqLzQyOTQ5NjcyOTYpLHNqPj4+PTAscmo+Pj49MCk7YiYmKGI9Xy5DKHVqKHJqLHNqKSksYT1iLm5leHQoKS52YWx1ZSxiPWIubmV4dCgpLnZhbHVlLApyaj1hLHNqPWIpfXJldHVybiB5aigpfTtFaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBfLmJoKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gcWooKT9fLmJoKCgwLF8uYmkpKDY0LEJpZ0ludChhKSkpOl8uYmgoRGooYSkpfTtGaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoIi4iKTtiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpO3JldHVybiBEaihhKX07CkdqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7aWYoISgwLF8uY2kpKGEpKXt2aihhKTt2YXIgYj1yaixjPXNqO2lmKGE9YyYyMTQ3NDgzNjQ4KWI9fmIrMT4+PjAsYz1+Yz4+PjAsYj09MCYmKGM9YysxPj4+MCk7dmFyIGQ9Yyo0Mjk0OTY3Mjk2KyhiPj4+MCk7Yj1OdW1iZXIuaXNTYWZlSW50ZWdlcihkKT9kOnhqKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O0hqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7KDAsXy5jaSkoYSk/YT1TdHJpbmcoYSk6KHZqKGEpLGE9eWooKSk7cmV0dXJuIGF9O0lqPWZ1bmN0aW9uKGEpe3JldHVybigwLF8uY2kpKGEpP18uYmgoR2ooYSkpOl8uYmgoSGooYSkpfTsKXy5Kaj1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YiE9bnVsbHx8KGI9MTAyNCk7aWYoIUFqKGEpKXRocm93IHBqKCJpbnQ2NCIpO3ZhciBjPXR5cGVvZiBhO3N3aXRjaChiKXtjYXNlIDUxMjpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gU3RyaW5nKCgwLF8uYmkpKDY0LGEpKTtkZWZhdWx0OnJldHVybiBIaihhKX1jYXNlIDEwMjQ6c3dpdGNoKGMpe2Nhc2UgInN0cmluZyI6cmV0dXJuIEVqKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIF8uYmgoKDAsXy5iaSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIElqKGEpfWNhc2UgMDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5iaCgoMCxfLmJpKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gR2ooYSl9ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5rbm93biBmb3JtYXQgcmVxdWVzdGVkIHR5cGUgZm9yIGludDY0Iik7fX07CktqPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBfLmJoKCgwLF8uYmkpKDY0LGEpKTtpZihBaihhKSlyZXR1cm4gYj09PSJzdHJpbmciP0VqKGEpOklqKGEpfTtfLkxqPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5Naj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIF8uZmooYSxiKX19OwpOaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtlWzBdPTE3MzI1ODQxOTM7ZVsxXT00MDIzMjMzNDE3O2VbMl09MjU2MjM4MzEwMjtlWzNdPTI3MTczMzg3ODtlWzRdPTMyODUzNzc1MjA7bj1sPTB9ZnVuY3Rpb24gYihxKXtmb3IodmFyIHA9ZyxyPTA7cjw2NDtyKz00KXBbci80XT1xW3JdPDwyNHxxW3IrMV08PDE2fHFbcisyXTw8OHxxW3IrM107Zm9yKHI9MTY7cjw4MDtyKyspcT1wW3ItM11ecFtyLThdXnBbci0xNF1ecFtyLTE2XSxwW3JdPShxPDwxfHE+Pj4zMSkmNDI5NDk2NzI5NTtxPWVbMF07dmFyIHQ9ZVsxXSxBPWVbMl0sRD1lWzNdLEU9ZVs0XTtmb3Iocj0wO3I8ODA7cisrKXtpZihyPDQwKWlmKHI8MjApe3ZhciBiYT1EXnQmKEFeRCk7dmFyIFo9MTUxODUwMDI0OX1lbHNlIGJhPXReQV5ELFo9MTg1OTc3NTM5MztlbHNlIHI8NjA/KGJhPXQmQXxEJih0fEEpLFo9MjQwMDk1OTcwOCk6KGJhPXReQV5ELFo9MzM5NTQ2OTc4Mik7YmE9KChxPDw1fHE+Pj4yNykmNDI5NDk2NzI5NSkrCmJhK0UrWitwW3JdJjQyOTQ5NjcyOTU7RT1EO0Q9QTtBPSh0PDwzMHx0Pj4+MikmNDI5NDk2NzI5NTt0PXE7cT1iYX1lWzBdPWVbMF0rcSY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt0JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK0EmNDI5NDk2NzI5NTtlWzNdPWVbM10rRCY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStFJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhxLHApe2lmKHR5cGVvZiBxPT09InN0cmluZyIpe3E9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHEpKTtmb3IodmFyIHI9W10sdD0wLEE9cS5sZW5ndGg7dDxBOysrdClyLnB1c2gocS5jaGFyQ29kZUF0KHQpKTtxPXJ9cHx8KHA9cS5sZW5ndGgpO3I9MDtpZihsPT0wKWZvcig7cis2NDxwOyliKHEuc2xpY2UocixyKzY0KSkscis9NjQsbis9NjQ7Zm9yKDtyPHA7KWlmKGZbbCsrXT1xW3IrK10sbisrLGw9PTY0KWZvcihsPTAsYihmKTtyKzY0PHA7KWIocS5zbGljZShyLHIrNjQpKSxyKz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHE9W10sCnA9bio4O2w8NTY/YyhoLDU2LWwpOmMoaCw2NC0obC01NikpO2Zvcih2YXIgcj02MztyPj01NjtyLS0pZltyXT1wJjI1NSxwPj4+PTg7YihmKTtmb3Iocj1wPTA7cjw1O3IrKylmb3IodmFyIHQ9MjQ7dD49MDt0LT04KXFbcCsrXT1lW3JdPj50JjI1NTtyZXR1cm4gcX1mb3IodmFyIGU9W10sZj1bXSxnPVtdLGg9WzEyOF0saz0xO2s8NjQ7KytrKWhba109MDt2YXIgbCxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxmaDpmdW5jdGlvbigpe2Zvcih2YXIgcT1kKCkscD0iIixyPTA7cjxxLmxlbmd0aDtyKyspcCs9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHFbcl0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHFbcl0lMTYpO3JldHVybiBwfX19O09qPWZ1bmN0aW9uKCl7dGhpcy5nPWRvY3VtZW50fHx7Y29va2llOiIifX07ClhqPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP1BqOmI7aWYoIVFqKXt2YXIgYzthPShjPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6Yy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIm9hIikpO1JqKChhLmJyYW5kc3x8W10pLm1hcChmdW5jdGlvbihlKXt2YXIgZj1uZXcgU2o7Zj1fLlRqKGYsMSxlLmJyYW5kKTtyZXR1cm4gXy5UaihmLDIsZS52ZXJzaW9uKX0pKTt0eXBlb2YgYS5tb2JpbGU9PT0iYm9vbGVhbiImJl8uVWooVmosMixhLm1vYmlsZSk7UWo9YS5nZXRIaWdoRW50cm9weVZhbHVlcyhiKX12YXIgZD1uZXcgU2V0KGIpO3JldHVybiBRai50aGVuKGZ1bmN0aW9uKGUpe3ZhciBmPWxqKFZqKTtkLmhhcygicGxhdGZvcm0iKSYmXy5UaihmLDMsZS5wbGF0Zm9ybSk7ZC5oYXMoInBsYXRmb3JtVmVyc2lvbiIpJiYKXy5UaihmLDQsZS5wbGF0Zm9ybVZlcnNpb24pO2QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmXy5UaihmLDUsZS5hcmNoaXRlY3R1cmUpO2QuaGFzKCJtb2RlbCIpJiZfLlRqKGYsNixlLm1vZGVsKTtkLmhhcygidWFGdWxsVmVyc2lvbiIpJiZfLlRqKGYsNyxlLnVhRnVsbFZlcnNpb24pO3JldHVybiBfLldqKGYpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gXy5XaihWail9KX07WWo9ZnVuY3Rpb24oYSl7dGhpcy5nPXRoaXMuaD10aGlzLmo9YX07Xy5aaj1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1jLnNsaWNlKCk7ZC5wdXNoLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gYS5hcHBseSh0aGlzLGQpfX07Xy5haz1mdW5jdGlvbihhLGIpe2EucWE/YigpOihhLld8fChhLlc9W10pLGEuVy5wdXNoKGIpKX07Yms9e1psOiEwfTtfLldqPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnN0cmluZ2lmeShfLndoKGEpKX07Cm5qPXt9O21qPW51bGw7Y2s9e307Xy54aD1mdW5jdGlvbihhLGIpe2lmKGIhPT1jayl0aHJvdyBFcnJvcigiWiIpO3RoaXMubz1hO2lmKGEhPW51bGwmJmEubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiWSIpO307Xy54aC5wcm90b3R5cGUuZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMubztpZihhPT1udWxsKWE9IiI7ZWxzZSBpZih0eXBlb2YgYSE9PSJzdHJpbmciKXtpZihfLlBoKXtmb3IodmFyIGI9IiIsYz0wLGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPWJ0b2EoYil9ZWxzZSBhPW9qKGEpO2E9dGhpcy5vPWF9cmV0dXJuIGF9O18uZGs9Xy5OZyh2b2lkIDAsIjFvYSIpO2VrPXt9O3JqPTA7c2o9MDt6aj0vXi0/KFsxLTldWzAtOV0qfDApKFwuWzAtOV0rKT8kLzsKXy5maz1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLkosZT1kW18uSF18MDtpZihjPT1udWxsKXJldHVybiBfLnRpKGQsZSxiKSxhO2Zvcih2YXIgZj1jPT09Xy5UaD83OmNbXy5IXXwwLGc9ZixoPV8uRWkoZiksaz1ofHxPYmplY3QuaXNGcm96ZW4oYyksbD0hMCxuPSEwLHE9MDtxPGMubGVuZ3RoO3ErKyl7dmFyIHA9Y1txXTtofHwocD1fLldnKHApLGwmJihsPSFwKSxuJiYobj1wKSl9aHx8KGY9bD8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7ayYmZj09PWd8fChjPV8ubWkoYyksZz0wLGY9Xy5EaShmLGUpKTtmIT09ZyYmXy5TZyhjLGYpO2U9Xy50aShkLGUsYixjKTsyJmZ8fCEoNDA5NiZmfHwxNiZmKXx8Xy5zaShkLGUpO3JldHVybiBhfTtfLmdrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/MDpjO2E9Q2ooXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLmhrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/Xy5qaTpjO2E9Xy5aaShhLGIsdm9pZCAwLHZvaWQgMCxLaik7cmV0dXJuIGEhPW51bGw/YTpjfTtfLlVqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8ubmkoYykpfTtfLmlrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uQmooYykpfTtfLmprPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uSmooYykpfTtfLlRqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsXy5MaihjKSl9O18ua2s9ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpe2lmKCEoMCxfLmRpKShjKSl0aHJvdyBwaigiZW51bSIpO2N8PTB9cmV0dXJuIF8uJGkoYSxiLGMpfTsKbms9ZnVuY3Rpb24oKXt2YXIgYT1sayxiPW1rO3RoaXMuZz0xNzUyMzczNzU7dGhpcy5MYj1iO3RoaXMuaD1fLmJqO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLmo9YS5XbCE9bnVsbD9lazp2b2lkIDB9O25rLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbigpe18uUWModGhpcyl9O3ZhciBvaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIob2ssXy5KKTt2YXIgcGs9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigia2FgIithKTtpZihjIT09Imh0dHAiJiZjIT09Imh0dHBzIiYmYyE9PSJjaHJvbWUtZXh0ZW5zaW9uIiYmYyE9PSJtb3otZXh0ZW5zaW9uIiYmCmMhPT0iZmlsZSImJmMhPT0iYW5kcm9pZC1hcHAiJiZjIT09ImNocm9tZS1zZWFyY2giJiZjIT09ImNocm9tZS11bnRydXN0ZWQiJiZjIT09ImNocm9tZSImJmMhPT0iYXBwIiYmYyE9PSJkZXZ0b29scyIpdGhyb3cgRXJyb3IoImxhYCIrYyk7YT0iIjt2YXIgZD1iLmluZGV4T2YoIjoiKTtpZihkIT0tMSl7dmFyIGU9Yi5zdWJzdHJpbmcoZCsxKTtiPWIuc3Vic3RyaW5nKDAsZCk7aWYoYz09PSJodHRwIiYmZSE9PSI4MCJ8fGM9PT0iaHR0cHMiJiZlIT09IjQ0MyIpYT0iOiIrZX1yZXR1cm4gYysiOi8vIitiK2F9O3ZhciByaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9U3RyaW5nKF8udi5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYixxayhwayhkKSxhLGN8fG51bGwpXS5qb2luKCIgIik6bnVsbH0scWs9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnZjKGQsZnVuY3Rpb24oaCl7ZS5wdXNoKGgpfSksc2soZS5qb2luKCIgIikpO3ZhciBmPVtdLGc9W107Xy52YyhjLGZ1bmN0aW9uKGgpe2cucHVzaChoLmtleSk7Zi5wdXNoKGgudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy52YyhkLGZ1bmN0aW9uKGgpe2UucHVzaChoKX0pO2E9c2soZS5qb2luKCIgIikpO2E9W2MsYV07Zy5sZW5ndGg9PTB8fGEucHVzaChnLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9LHNrPWZ1bmN0aW9uKGEpe3ZhciBiPQpOaigpO2IudXBkYXRlKGEpO3JldHVybiBiLmZoKCkudG9Mb3dlckNhc2UoKX07Xy5tPU9qLnByb3RvdHlwZTtfLm0uc2V0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTtpZih0eXBlb2YgYz09PSJvYmplY3QiKXt2YXIgZT1jLnNhbWVTaXRlO2Q9Yy5zZWN1cmV8fCExO3ZhciBmPWMuZG9tYWlufHx2b2lkIDA7dmFyIGc9Yy5wYXRofHx2b2lkIDA7dmFyIGg9Yy5CaX1pZigvWzs9XHNdLy50ZXN0KGEpKXRocm93IEVycm9yKCJtYWAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJuYWAiK2IpO2g9PT12b2lkIDAmJihoPS0xKTt0aGlzLmcuY29va2llPWErIj0iK2IrKGY/Ijtkb21haW49IitmOiIiKSsoZz8iO3BhdGg9IitnOiIiKSsoaDwwPyIiOmg9PTA/IjtleHBpcmVzPSIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKToiO2V4cGlyZXM9IisobmV3IERhdGUoRGF0ZS5ub3coKStoKjFFMykpLnRvVVRDU3RyaW5nKCkpKyhkPyI7c2VjdXJlIjoiIikrKGUhPW51bGw/IjtzYW1lc2l0ZT0iK2U6IiIpfTsKXy5tLmdldD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hKyI9IixkPSh0aGlzLmcuY29va2llfHwiIikuc3BsaXQoIjsiKSxlPTAsZjtlPGQubGVuZ3RoO2UrKyl7Zj1fLkFjKGRbZV0pO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5tLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7Qmk6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5tLk9jPWZ1bmN0aW9uKCl7cmV0dXJuIHRrKHRoaXMpLmtleXN9O18ubS5pYj1mdW5jdGlvbigpe3JldHVybiB0ayh0aGlzKS52YWx1ZXN9O18ubS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT10ayh0aGlzKS5rZXlzLGI9YS5sZW5ndGgtMTtiPj0wO2ItLSl0aGlzLnJlbW92ZShhW2JdKX07CnZhciB0az1mdW5jdGlvbihhKXthPShhLmcuY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IodmFyIGI9W10sYz1bXSxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWU9Xy5BYyhhW2ZdKSxkPWUuaW5kZXhPZigiPSIpLGQ9PS0xPyhiLnB1c2goIiIpLGMucHVzaChlKSk6KGIucHVzaChlLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZS5zdWJzdHJpbmcoZCsxKSkpO3JldHVybntrZXlzOmIsdmFsdWVzOmN9fTt2YXIgdWs9ZnVuY3Rpb24oYSxiLGMsZCl7KGE9Xy52W2FdKXx8dHlwZW9mIGRvY3VtZW50PT09InVuZGVmaW5lZCJ8fChhPShuZXcgT2opLmdldChiKSk7cmV0dXJuIGE/cmsoYSxjLGQpOm51bGx9LHZrPWZ1bmN0aW9uKGEpe3ZhciBiPXBrKF8udj09bnVsbD92b2lkIDA6Xy52LmxvY2F0aW9uLmhyZWYpLGM9W10sZDsoZD1fLnYuX19TQVBJU0lEfHxfLnYuX19BUElTSUR8fF8udi5fXzNQU0FQSVNJRHx8Xy52Ll9fMVBTQVBJU0lEfHxfLnYuX19PVkVSUklERV9TSUQpP2Q9ITA6KHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoZD1uZXcgT2osZD1kLmdldCgiU0FQSVNJRCIpfHxkLmdldCgiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpfHxkLmdldCgiX19TZWN1cmUtMVBBUElTSUQiKSksZD0hIWQpO2QmJihkPShiPWIuaW5kZXhPZigiaHR0cHM6Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLWV4dGVuc2lvbjoiKT09MHx8Yi5pbmRleE9mKCJjaHJvbWUtdW50cnVzdGVkOi8vbmV3LXRhYi1wYWdlIik9PQowfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTApP18udi5fX1NBUElTSUQ6Xy52Ll9fQVBJU0lELGR8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoZD1uZXcgT2osZD1kLmdldChiPyJTQVBJU0lEIjoiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpKSwoZD1kP3JrKGQsYj8iU0FQSVNJREhBU0giOiJBUElTSURIQVNIIixhKTpudWxsKSYmYy5wdXNoKGQpLGImJigoYj11aygiX18xUFNBUElTSUQiLCJfX1NlY3VyZS0xUEFQSVNJRCIsIlNBUElTSUQxUEhBU0giLGEpKSYmYy5wdXNoKGIpLChhPXVrKCJfXzNQU0FQSVNJRCIsIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpKTtyZXR1cm4gYy5sZW5ndGg9PTA/bnVsbDpjLmpvaW4oIiAiKX07dmFyIHdrPWZ1bmN0aW9uKCl7fSx4az1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtyZXR1cm4gXy5WaShmdW5jdGlvbihmKXtzd2l0Y2goZi5nKXtjYXNlIDE6cmV0dXJuIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpLGQ9Yi53cml0YWJsZS5nZXRXcml0ZXIoKSxmLmgoZC53cml0ZSgobmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoYSkpLDIpO2Nhc2UgMjpyZXR1cm4gZi5oKGQuY2xvc2UoKSwzKTtjYXNlIDM6cmV0dXJuIGU9VWludDhBcnJheSxmLmgoYyw0KTtjYXNlIDQ6cmV0dXJuIGYucmV0dXJuKG5ldyBlKGYuaikpfX0pfTt3ay5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE8MTAyND8hMTp0eXBlb2YgQ29tcHJlc3Npb25TdHJlYW0hPT0idW5kZWZpbmVkIn07dmFyIHlrPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5vPWI7dGhpcy5nPSExO3RoaXMuaj1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt0aGlzLmw9dGhpcy5qKCl9LHprPWZ1bmN0aW9uKGEsYil7YS5oPWI7YS50aW1lciYmYS5nPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEudGltZXImJmEuc3RvcCgpfTt5ay5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZz0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaCksdGhpcy5sPXRoaXMuaigpKX07eWsucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmc9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9Owp5ay5wcm90b3R5cGUudGljaz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5nKXt2YXIgYj1NYXRoLm1heCh0aGlzLmooKS10aGlzLmwsMCk7Yjx0aGlzLmgqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaC1iKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5vKCksdGhpcy5nJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH07dmFyIEFrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihBayxfLkopO3ZhciBCaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQmssXy5KKTt2YXIgQ2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKENrLF8uSik7Q2sucHJvdG90eXBlLlBkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIFNqPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihTaixfLkopO3ZhciBEaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoRGssXy5KKTt2YXIgUmo9ZnVuY3Rpb24oYSl7Xy5mayhWaiwxLGEpfSxFaz1fLk1qKERrKTt2YXIgRms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEZrLF8uSik7dmFyIFBqPVsicGxhdGZvcm0iLCJwbGF0Zm9ybVZlcnNpb24iLCJhcmNoaXRlY3R1cmUiLCJtb2RlbCIsInVhRnVsbFZlcnNpb24iXSxWaj1uZXcgRGssUWo9bnVsbDt2YXIgR2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEdrLF8uSik7dmFyIEhrPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtrKGEsMSwxKX07dmFyIElrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihJayxfLkopO0lrLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07SWsucHJvdG90eXBlLmNiPWZ1bmN0aW9uKGEpe18uVGoodGhpcywyLGEpfTt2YXIgSms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhLDQpfTtfLkIoSmssXy5KKTtfLktrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwzNyl9O18uQihfLktrLF8uSik7Xy5Lay5wcm90b3R5cGUuY2I9ZnVuY3Rpb24oYSl7Xy5yaSh0aGlzKTt2YXIgYj10aGlzLkosYz1fLklpKHRoaXMsYixiW18uSF18MCxJaywzLDIsITApO2lmKHR5cGVvZiBhIT09Im51bWJlciJ8fGE8MHx8YT5jLmxlbmd0aCl0aHJvdyBFcnJvcigpO2EhPXZvaWQgMD9jLnNwbGljZShhLDEsdm9pZCAwKTpjLnB1c2godm9pZCAwKTt2YXIgZD1hPWM9PT1fLlRoPzc6Y1tfLkhdfDAsZT1fLldnKCk7ZT8oYSY9LTksYy5sZW5ndGg9PT0xJiYoYSY9LTQwOTcpKTphfD00MDk2O2EhPT1kJiZfLlNnKGMsYSk7ZXx8Xy5zaShiKX07Xy5Maz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlRqKGEsOCxiKX07dmFyIE1rPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwxOSl9O18uQihNayxfLkopO01rLnByb3RvdHlwZS52Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5rayh0aGlzLDIsYSl9O3ZhciBPaz1mdW5jdGlvbihhLGIpe3RoaXMuYWI9Yj1iPT09dm9pZCAwPyExOmI7dGhpcy5qPXRoaXMubG9jYWxlPW51bGw7dGhpcy5oPTA7dGhpcy5sPSExO3RoaXMuZz1uZXcgTWs7TnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5nLnZjKGEpO2J8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO05rKHRoaXMsbmV3IEdrKX07T2sucHJvdG90eXBlLnZjPWZ1bmN0aW9uKGEpe3RoaXMuZy52YyhhKTtyZXR1cm4gdGhpc307CnZhciBOaz1mdW5jdGlvbihhLGIpe18uTChhLmcsMSxiKTtfLmRqKGIsMSl8fEhrKGIpO2EuYWJ8fChiPVBrKGEpLF8uTihiLDUpfHxfLlRqKGIsNSxhLmxvY2FsZSkpO2EuaiYmKGI9UGsoYSksXy5iaihiLERrLDkpfHxfLkwoYiw5LGEuaikpfSxRaz1mdW5jdGlvbihhLGIpe2EuaD1ifSxSaz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP1BqOmI7dmFyIGM9YS5hYj92b2lkIDA6Xy5tYigpO2M/WGooYyxiKS50aGVuKGZ1bmN0aW9uKGQpe2Euaj1FayhkIT1udWxsP2Q6IltdIik7ZD1QayhhKTtfLkwoZCw5LGEuaik7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSk6UHJvbWlzZS5yZXNvbHZlKCExKX0sUGs9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5iaihhLmcsR2ssMSk7Ynx8KGI9bmV3IEdrLE5rKGEsYikpO2E9YjtiPV8uYmooYSxGaywxMSk7Ynx8KGI9bmV3IEZrLF8uTChhLDExLGIpKTtyZXR1cm4gYn0sU2s9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Yz1jPT09CnZvaWQgMD8wOmM7ZD1kPT09dm9pZCAwPzA6ZDtlPWU9PT12b2lkIDA/bnVsbDplO2Y9Zj09PXZvaWQgMD8wOmY7Zz1nPT09dm9pZCAwPzA6ZztpZighYS5hYil7dmFyIGg9UGsoYSk7dmFyIGs9bmV3IENrO2s9Xy5rayhrLDEsYS5oKTtrPV8uVWooaywyLGEubCk7ZD1fLmlrKGssMyxkPjA/ZDp2b2lkIDApO2Q9Xy5payhkLDQsZj4wP2Y6dm9pZCAwKTtkPV8uaWsoZCw1LGc+MD9nOnZvaWQgMCk7Zj1kLko7Zz1mW18uSF18MDtkPV8uV2coZCxnKT9kOl8uSWgoZCxmLGcpP18uSGgoZCxmKTpuZXcgZC5jb25zdHJ1Y3RvcihfLkdoKGYsZywhMCkpO18uTChoLDEwLGQpfWE9bGooYS5nKTtoPURhdGUubm93KCkudG9TdHJpbmcoKTthPV8uJGkoYSw0LGg9PW51bGw/aDpfLkpqKGgpKTtiPV8uZmsoYSwzLGIuc2xpY2UoKSk7ZSYmKGE9bmV3IEFrLGU9Xy5payhhLDEzLGUpLGE9bmV3IEJrLGU9Xy5MKGEsMixlKSxhPW5ldyBKayxlPV8uTChhLDEsZSksZT1fLmtrKGUsMiw5KSxfLkwoYiwxOCwKZSkpO2MmJl8uamsoYiwxNCxjKTtyZXR1cm4gYn07WWoucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5nPXRoaXMuaD10aGlzLmp9O1lqLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciBsaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEsOCl9O18uQihsayxfLkopO3ZhciBUaz1fLk1qKGxrKTt2YXIgbWs9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG1rLF8uSik7dmFyIFVrO1VrPW5ldyBuazt2YXIgWWs9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dmFyIGI9dGhpczt0aGlzLmc9W107dGhpcy5sYT0iIjt0aGlzLks9dGhpcy5MPSExO3RoaXMucmE9dGhpcy5JPS0xO3RoaXMuUj0hMTt0aGlzLkQ9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5BPXRoaXMubD0wO3RoaXMuQz1udWxsO3RoaXMuRj10aGlzLkc9MDt0aGlzLndhPTE7dGhpcy53Yz0wO3RoaXMuT2I9YS5PYjt0aGlzLnRiPWEudGJ8fGZ1bmN0aW9uKCl7fTt0aGlzLmo9bmV3IE9rKGEuT2IsYS5hYik7dGhpcy56YT1hLnphfHxudWxsO3RoaXMuQ2I9YS5DYnx8bnVsbDt0aGlzLkI9YS5hanx8bnVsbDt0aGlzLm1iPWEubWJ8fG51bGw7dGhpcy5jYz1hLmNjfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz0hYS5NYzt0aGlzLmFiPWEuYWJ8fCExO3RoaXMuVD0hdGhpcy5hYiYmISFfLm1iKCkmJiEhXy5tYigpLm5hdmlnYXRvciYmXy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUD10eXBlb2YgVVJMU2VhcmNoUGFyYW1zIT09CiJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKFZrKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoVmsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGM9SGsobmV3IEdrKTtOayh0aGlzLmosYyk7dGhpcy5vPW5ldyBZaigxRTQpO2E9V2sodGhpcyxhLk9lKTt0aGlzLmg9bmV3IHlrKHRoaXMuby5NYSgpLGEpO3RoaXMuTz1uZXcgeWsoNkU1LGEpO3RoaXMuY2N8fHRoaXMuTy5zdGFydCgpO2lmKCF0aGlzLmFiKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXtYayhiKTt2YXIgZjsoZj1iLkMpPT1udWxsfHxmLmZsdXNoKCl9fSk7dmFyIGQsZTsoZD1fLm1iKCkpPT1udWxsfHwoZT1kLmFkZEV2ZW50TGlzdGVuZXIpPT1udWxsfHxlLmNhbGwoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7WGsoYik7dmFyIGY7KGY9Yi5DKT09bnVsbHx8Zi5mbHVzaCgpfSl9fSxaayxibCwKJGs7Xy5CKFlrLF8udSk7dmFyIFdrPWZ1bmN0aW9uKGEsYil7aWYoIWEuUClyZXR1cm4gZnVuY3Rpb24oKXt9O3ZhciBjPWZ1bmN0aW9uKCl7YS5mbHVzaCgpfTtyZXR1cm4gYj9mdW5jdGlvbigpe2IoKS50aGVuKGMpfTpjfTtZay5wcm90b3R5cGUuTT1mdW5jdGlvbigpe1hrKHRoaXMpO3RoaXMuaC5zdG9wKCk7dGhpcy5PLnN0b3AoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Wms9ZnVuY3Rpb24oYSl7YS5CfHwoYS5CPVZrKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLkIpKS50b1N0cmluZygpfWNhdGNoKGIpe3JldHVybihuZXcgVVJMKGEuQixfLm1iKCkubG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX19O18uYWw9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2YgXy5LaylhLmxvZyhiKTtlbHNlIHRyeXt2YXIgYz1fLkxrKG5ldyBfLktrLF8uV2ooYikpO2EubG9nKGMpfWNhdGNoKGQpeyRrKGEsNCwxKX19OwpibD1mdW5jdGlvbihhLGIpe2Eubz1uZXcgWWooYjwxPzE6Yik7emsoYS5oLGEuby5NYSgpKX07JGs9ZnVuY3Rpb24oYSxiLGMpe2EuQyYmYS5DLlNsKGIsYyl9OwpZay5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEpeyRrKHRoaXMsMiwxKTtpZih0aGlzLlApe2E9bGooYSk7dmFyIGI9dGhpcy53YSsrO2I9YT1fLmprKGEsMjEsYik7dmFyIGM9Xy5aaShiLDEpO3ZhciBkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT10eXBlb2YgYztkPWM9PW51bGw/YzplPT09ImJpZ2ludCI/U3RyaW5nKCgwLF8uYmkpKDY0LGMpKTpBaihjKT9lPT09InN0cmluZyI/RmooYyk6ZD9IaihjKTpHaihjKTp2b2lkIDA7ZD09bnVsbCYmKGQ9RGF0ZS5ub3coKSxkPU51bWJlci5pc0Zpbml0ZShkKT9kLnRvU3RyaW5nKCk6IjAiLF8uJGkoYiwxLGQ9PW51bGw/ZDpfLkpqKGQpKSk7ZD1fLlppKGIsMTUsdm9pZCAwLHZvaWQgMCxLaik7ZCE9bnVsbCYmKHR5cGVvZiBkPT09ImJpZ2ludCI/KDAsXy52aCkoZCk/ZD1OdW1iZXIoZCk6KGQ9KDAsXy5iaSkoNjQsZCksZD0oMCxfLnZoKShkKT9OdW1iZXIoZCk6U3RyaW5nKGQpKTpkPUFqKGQpP3R5cGVvZiBkPT09Im51bWJlciI/R2ooZCk6CkZqKGQpOnZvaWQgMCk7ZCE9bnVsbHx8Xy5qayhiLDE1LChuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MCk7dGhpcy5leHBlcmltZW50SWRzJiYoZD1saih0aGlzLmV4cGVyaW1lbnRJZHMpLF8uTChiLDE2LGQpKTskayh0aGlzLDEsMSk7Yj10aGlzLmcubGVuZ3RoLTFFMysxO2I+MCYmKHRoaXMuZy5zcGxpY2UoMCxiKSx0aGlzLmwrPWIsJGsodGhpcywzLGIpKTt0aGlzLmcucHVzaChhKTt0aGlzLmNjfHx0aGlzLmguZ3x8dGhpcy5oLnN0YXJ0KCl9fTsKWWsucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztpZih0aGlzLmcubGVuZ3RoPT09MClhJiZhKCk7ZWxzZXt2YXIgZD1EYXRlLm5vdygpO2lmKHRoaXMucmE+ZCYmdGhpcy5JPGQpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLnphJiYodHlwZW9mIHRoaXMuemEuUGQ9PT0iZnVuY3Rpb24iP1FrKHRoaXMuaix0aGlzLnphLlBkKCkpOnRoaXMuai5oPTApO3ZhciBlPXRoaXMuZy5sZW5ndGgsZj1Tayh0aGlzLmosdGhpcy5nLHRoaXMubCx0aGlzLkEsdGhpcy5DYix0aGlzLkcsdGhpcy5GKSxnPXRoaXMudGIoKTtpZihnJiZ0aGlzLmxhPT09ZyliJiZiKCJzdGFsZS1hdXRoLXRva2VuIik7ZWxzZXt0aGlzLmc9W107dGhpcy5oLmcmJnRoaXMuaC5zdG9wKCk7dGhpcy5sPTA7ZD1fLldqKGYpO3ZhciBoO3RoaXMuRCYmdGhpcy5ELlRhKGQubGVuZ3RoKSYmKGg9eGsoZCkpO3ZhciBrPWNsKHRoaXMsZCxnKSxsPWZ1bmN0aW9uKHApe2Muby5yZXNldCgpO3prKGMuaCwKYy5vLk1hKCkpO2lmKHApe3ZhciByPW51bGw7dHJ5e3ZhciB0PUpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocC5yZXBsYWNlKCIpXX0nXG4iLCIiKSkpO3I9VGsodCl9Y2F0Y2goRSl7fWlmKHIpe3A9TnVtYmVyKF8uaGsociwxLF8uYmgoIi0xIikpKTtwPjAmJihjLkk9RGF0ZS5ub3coKSxjLnJhPWMuSStwKTtwPVVrLmc7dD1fLnBoKF8ucWgpO3ZhciBBO18uT2cmJnQmJigoQT1yLkpbdF0pPT1udWxsP3ZvaWQgMDpBW3BdKSE9bnVsbCYmXy5NZyhfLlJoLDMpO2E6e0E9VWsuZzt2YXIgRD1EPT09dm9pZCAwPyExOkQ7aWYoXy5waChfLlNoKSYmXy5waChfLnFoKSYmdm9pZCAwPT09Xy5TaCl7cD1yLko7dD1wW18ucWhdO2lmKCF0KWJyZWFrIGE7aWYodD10LmJtKXRyeXt0KHAsQSxiayk7YnJlYWsgYX1jYXRjaChFKXtfLnJiKEUpfX1EJiYoRD1yLkosKHA9Xy5waChfLnFoKSkmJnAgaW4gRCYmKEQ9RFtwXSkmJmRlbGV0ZSBEW0FdKX1EPVVrLkxiP1VrLmgocixVay5MYixVay5nLFVrLmopOgpVay5oKHIsVWsuZyxudWxsLFVrLmopO2lmKEQ9RD09PW51bGw/dm9pZCAwOkQpRD1fLmdrKEQsMSwtMSksRCE9PS0xJiYoYy5SfHxibChjLEQpKX19YSYmYSgpO2MuQT0wfSxuPWZ1bmN0aW9uKHAscil7dmFyIHQ9Xy5jaihmLF8uS2ssMyk7dmFyIEE9TnVtYmVyKF8uaGsoZiwxNCkpLEQ9Yy5vO0QuZz1NYXRoLm1pbigzRTUsRC5nKjIpO0QuaD1NYXRoLm1pbigzRTUsRC5nK01hdGgucm91bmQoLjEqKE1hdGgucmFuZG9tKCktLjUpKjIqRC5nKSk7emsoYy5oLGMuby5NYSgpKTtwPT09NDAxJiZnJiYoYy5sYT1nKTtBJiYoYy5sKz1BKTtyPT09dm9pZCAwJiYocj01MDA8PXAmJnA8NjAwfHxwPT09NDAxfHxwPT09MCk7ciYmKGMuZz10LmNvbmNhdChjLmcpLGMuY2N8fGMuaC5nfHxjLmguc3RhcnQoKSk7JGsoYyw3LDEpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIscCk7KytjLkF9LHE9ZnVuY3Rpb24oKXtjLnphJiZjLnphLnNlbmQoayxsLG4pfTtoP2gudGhlbihmdW5jdGlvbihwKXskayhjLAo1LGUpO2submVbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7ay5uZVsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7ay5ib2R5PXA7ay5aZz0yO3EoKX0sZnVuY3Rpb24oKXskayhjLDYsZSk7cSgpfSk6cSgpfX19fTsKdmFyIGNsPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/bnVsbDpjO3ZhciBkPWQ9PT12b2lkIDA/YS53aXRoQ3JlZGVudGlhbHM6ZDt2YXIgZT17fSxmPW5ldyBVUkwoWmsoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5tYiYmKGVbIlgtR29vZy1BdXRoVXNlciJdPWEubWIsZi5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5tYikpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixaZzoxLG5lOmUsTGk6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHdjOmEud2N9fSxYaz1mdW5jdGlvbihhKXthLmoubD0hMDthLkwmJihhLmouaD0zLGRsKGEpKTthLksmJihhLmouaD0yLGVsKGEpKTthLmZsdXNoKCk7YS5qLmw9ITF9LGRsPWZ1bmN0aW9uKGEpe2ZsKGEsMzIsMTAsZnVuY3Rpb24oYixjKXtiPW5ldyBVUkwoYik7Yi5zZWFyY2hQYXJhbXMuc2V0KCJmb3JtYXQiLCJqc29uIik7dmFyIGQ9ITE7dHJ5e2Q9Xy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uKGIudG9TdHJpbmcoKSwKXy5XaihjKSl9Y2F0Y2goZSl7fWR8fChhLlQ9ITEpO3JldHVybiBkfSl9LGVsPWZ1bmN0aW9uKGEpe2ZsKGEsNiw1LGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwiYmFzZTY0anNvbiIpO3ZhciBkPWIuc2VhcmNoUGFyYW1zLGU9ZC5zZXQ7Yz1fLldqKGMpO2Zvcih2YXIgZj1bXSxnPTAsaD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgaz1jLmNoYXJDb2RlQXQoaCk7az4yNTUmJihmW2crK109ayYyNTUsaz4+PTgpO2ZbZysrXT1rfWM9b2ooZiwzKTtlLmNhbGwoZCwicCIsYyk7Yj1iLnRvU3RyaW5nKCk7aWYoYi5sZW5ndGg+MTUzNjApcmV0dXJuITE7KG5ldyBJbWFnZSkuc3JjPWI7cmV0dXJuITB9KX0sZmw9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5nLmxlbmd0aCE9PTApe3ZhciBlPW5ldyBVUkwoWmsoYSkpO2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZm9ybWF0Iik7dmFyIGY9YS50YigpO2YmJmUuc2VhcmNoUGFyYW1zLnNldCgiYXV0aCIsCmYpO2Uuc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEubWJ8fCIwIik7Zm9yKGY9MDtmPGMmJmEuZy5sZW5ndGg7KytmKXt2YXIgZz1hLmcuc2xpY2UoMCxiKSxoPVNrKGEuaixnLGEubCxhLkEsYS5DYixhLkcsYS5GKTtpZighZChlLnRvU3RyaW5nKCksaCkpeysrYS5BO2JyZWFrfWEubD0wO2EuQT0wO2EuRz0wO2EuRj0wO2EuZz1hLmcuc2xpY2UoZy5sZW5ndGgpfWEuaC5nJiZhLmguc3RvcCgpfX0sVms9ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSJ9O3ZhciBnbD1mdW5jdGlvbigpe3RoaXMuVmc9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifTsKZ2wucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMsZSxmLGcsaCxrLGwsbixxLHAscjtyZXR1cm4gXy5WaShmdW5jdGlvbih0KXtzd2l0Y2godC5nKXtjYXNlIDE6cmV0dXJuIGY9KGU9ZC5WZz9uZXcgQWJvcnRDb250cm9sbGVyOnZvaWQgMCkmJmEud2M+MD9zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hYm9ydCgpfSxhLndjKTp2b2lkIDAsdC5GKDIsMyksZz1PYmplY3QuYXNzaWduKHt9LHttZXRob2Q6YS5MaSxoZWFkZXJzOk9iamVjdC5hc3NpZ24oe30sYS5uZSl9LGEuYm9keSYme2JvZHk6YS5ib2R5fSxhLndpdGhDcmVkZW50aWFscyYme2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0se3NpZ25hbDphLndjJiZlP2Uuc2lnbmFsOm51bGx9KSx0LmgoZmV0Y2goYS51cmwsZyksNSk7Y2FzZSA1Omg9dC5qO2lmKGguc3RhdHVzIT09MjAwKXsoaz1jKT09bnVsbHx8ayhoLnN0YXR1cyk7dC54YSgzKTticmVha31pZigobD1iKT09bnVsbCl7dC54YSg3KTticmVha31yZXR1cm4gdC5oKGgudGV4dCgpLAo4KTtjYXNlIDg6bCh0LmopO2Nhc2UgNzpjYXNlIDM6dC5MKCk7Y2xlYXJUaW1lb3V0KGYpO3QucWEoMCk7YnJlYWs7Y2FzZSAyOm49dC5EKCk7c3dpdGNoKChxPW4pPT1udWxsP3ZvaWQgMDpxLm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOihwPWMpPT1udWxsfHxwKDQwOCk7YnJlYWs7ZGVmYXVsdDoocj1jKT09bnVsbHx8cig0MDApfXQueGEoMyl9fSl9O2dsLnByb3RvdHlwZS5QZD1mdW5jdGlvbigpe3JldHVybiA0fTtfLmhsPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyIwIjpiO18udS5jYWxsKHRoaXMpO3RoaXMuT2I9YTt0aGlzLm1iPWI7dGhpcy5BPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjt0aGlzLmc9dGhpcy5DYj10aGlzLnphPXRoaXMuaD1udWxsO3RoaXMubD10aGlzLm89ITE7dGhpcy5qPW51bGx9O18uQihfLmhsLF8udSk7Xy5pbD1mdW5jdGlvbihhLGIpe2EudGI9YjtyZXR1cm4gYX07Xy5qbD1mdW5jdGlvbihhKXthLm89ITA7cmV0dXJuIGF9O18uaGwucHJvdG90eXBlLk1jPWZ1bmN0aW9uKCl7dGhpcy5CPSEwO3JldHVybiB0aGlzfTsKXy5rbD1mdW5jdGlvbihhKXthLnphfHwoYS56YT1uZXcgZ2wpO3ZhciBiPW5ldyBZayh7T2I6YS5PYix0YjphLnRiP2EudGI6dmssbWI6YS5tYixhajphLkEsYWI6ITEsY2M6ITEsTWM6YS5CLE9lOmEuT2UsemE6YS56YX0pO18uYWsoYSxfLlpqKF8ucGEsYikpO2lmKGEuaCl7dmFyIGM9YS5oLGQ9UGsoYi5qKTtfLlRqKGQsNyxjKX1iLkQ9bmV3IHdrO2EuQ2ImJihiLkNiPWEuQ2IpO2EuZyYmKChkPWEuZyk/KGIuZXhwZXJpbWVudElkc3x8KGIuZXhwZXJpbWVudElkcz1uZXcgb2spLGM9Yi5leHBlcmltZW50SWRzLGQ9Xy5XaihkKSxfLlRqKGMsNCxkKSk6Yi5leHBlcmltZW50SWRzJiZfLiRpKGIuZXhwZXJpbWVudElkcyw0KSk7YS5vJiYoYi5MPWEubyYmYi5UKTthLmwmJihiLks9YS5sKTthLmomJihjPWEuaixiLlI9ITAsYmwoYixjKSk7UmsoYi5qKTthLnphLnZjJiZhLnphLnZjKGEuT2IpO2EuemEuUWkmJmEuemEuUWkoYik7cmV0dXJuIGJ9O18ubGw9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKF8ubGwsXy5KKTtfLm09Xy5sbC5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDE2KX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMTYsYSl9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywxKX07Xy5tLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMSxhKX07Xy5tLk9kPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcyw1Myl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1sPWZ1bmN0aW9uKGEpe3ZhciBiPV8uS2EoKTthPWI/Yi5jcmVhdGVIVE1MKGEpOmE7cmV0dXJuIG5ldyBfLkRjKGEpfTtfLm5sPWZ1bmN0aW9uKGEsYil7Yj1fLkVnKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18ub2w9e307Xy5wbD1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5wbC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTtfLnFsPXt9O18uemY9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiSyIpO307Xy56Zi5wcm90b3R5cGUuSmQ9bnVsbDtfLnpmLnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnR9O18uemYucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Xy56Zi5wcm90b3R5cGUuVGI9ZnVuY3Rpb24oKXtpZih0aGlzLlpiIT09Xy5xbCl0aHJvdyBFcnJvcigiTCIpO3JldHVybiBfLm1sKHRoaXMudG9TdHJpbmcoKSl9O3ZhciBybD1mdW5jdGlvbigpe18uemYuY2FsbCh0aGlzKX07Cl8uRyhybCxfLnpmKTtybC5wcm90b3R5cGUuWmI9Xy5xbDt2YXIgc2w9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uRyhzbCxfLnpmKTtzbC5wcm90b3R5cGUuWmI9Xy5vbDtzbC5wcm90b3R5cGUuSmQ9MTtzbC5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5wbCh0aGlzLnRvU3RyaW5nKCkpfTtfLnRsPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyl7dGhpcy5jb250ZW50PWN9Yi5wcm90b3R5cGU9YS5wcm90b3R5cGU7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7Yz1uZXcgYihTdHJpbmcoYykpO2QhPT12b2lkIDAmJihjLkpkPWQpO3JldHVybiBjfX0ocmwpO18udWw9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmNvbnRlbnQ9Y31iLnByb3RvdHlwZT1hLnByb3RvdHlwZTtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBiKFN0cmluZyhjKSl9fShzbCk7Xy52bD1SZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTtfLndsPW5ldyBSZWdFeHAoKF8udmw/IiI6Il4iKSsiKD86IXwvPyhbYS16QS1aXVthLXpBLVowLTk6LV0qKSkiLF8udmw/Imd5IjoiZyIpO18ueGw9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uQihfLnhsLHJsKTsKXy54bC5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtpZih0aGlzLmNvbnRlbnQhPT12b2lkIDApcmV0dXJuIHRoaXMuY29udGVudDtmb3IodmFyIGE9IiIsYj1fLkModGhpcy5VKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlhKz1jLnZhbHVlO3JldHVybiBhfTtfLnhsLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hKCl9O18ueWw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dGhpcy5jb250ZW50PSIifWEucHJvdG90eXBlPV8ueGwucHJvdG90eXBlO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgYX19KCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW5fY3NzIik7CgpfLm1hKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW4iKTsKLyoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgemw9ZnVuY3Rpb24oYSxiKXt0aGlzLng9YSE9PXZvaWQgMD9hOjA7dGhpcy55PWIhPT12b2lkIDA/YjowfSxBbD1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ7Zm9yKGQgaW4gYSljW2RdPWIuY2FsbCh2b2lkIDAsYVtkXSxkLGEpO3JldHVybiBjfSxCbD1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY3JlYXRlUmFuZ2UoKTtjLnNlbGVjdE5vZGUoYi5ib2R5KTthPV8ubWwoYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8ua2ooYSkpfSxDbD1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YToiRk9STSJ9LERsPWZ1bmN0aW9uKGEpe2E9YS5ub2RlVHlwZTtyZXR1cm4gYT09PTF8fHR5cGVvZiBhIT09Im51bWJlciJ9LEVsPWZ1bmN0aW9uKGEsYixjKXthLnNldEF0dHJpYnV0ZShiLGMpfSxGbD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYShhKX0sR2w9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5yaShhKTt2YXIgZT1hLkosZj1lW18uSF18CjA7aWYoYz09bnVsbClyZXR1cm4gXy50aShlLGYsYiksYTt2YXIgZz1jPT09Xy5UaD83OmNbXy5IXXwwLGg9ZyxrPV8uRWkoZyksbD1rfHxPYmplY3QuaXNGcm96ZW4oYyk7a3x8KGc9MCk7bHx8KGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSk7Z3w9NTtrPTQmZz81MTImZz81MTI6MTAyNCZnPzEwMjQ6MDp2b2lkIDA7az1rIT1udWxsP2s6MTAyNDtnfD1rO2Zvcih2YXIgbj0wO248Yy5sZW5ndGg7bisrKXt2YXIgcT1jW25dLHA9ZChxLGspO09iamVjdC5pcyhxLHApfHwobCYmKGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSksY1tuXT1wKX1nIT09aCYmKGwmJihjPV8ubWkoYyksZz1fLkRpKGcsZikpLF8uU2coYyxnKSk7Xy50aShlLGYsYixjKTtyZXR1cm4gYX0sSGw9ZnVuY3Rpb24oYSl7aWYoXy5PZyl7dmFyIGI7cmV0dXJuKGI9YVtfLmRrXSkhPW51bGw/YjphW18uZGtdPW5ldyBNYXB9aWYoXy5kayBpbiBhKXJldHVybiBhW18uZGtdO2I9bmV3IE1hcDtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwKXy5kayx7dmFsdWU6Yn0pO3JldHVybiBifSxJbD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmdldChkKTtpZihlIT1udWxsKXJldHVybiBlO2Zvcih2YXIgZj1lPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPWRbZl07Xy51aShiLGcpIT1udWxsJiYoZSE9PTAmJihjPV8udGkoYixjLGUpKSxlPWcpfWEuc2V0KGQsZSk7cmV0dXJuIGV9LEpsPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM7Zm9yKGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9LEtsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfSxMbD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7YT0oMCxfLkFjKShTdHJpbmcoYSkpLnNwbGl0KCIuIik7Yj0oMCxfLkFjKShTdHJpbmcoYikpLnNwbGl0KCIuIik7Zm9yKHZhciBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKSxlPTA7Yz09MCYmZTxkO2UrKyl7dmFyIGY9YVtlXXx8IiIsZz1iW2VdfHwiIjtkb3tmPS8oXGQqKShcRCopKC4qKS8uZXhlYyhmKXx8WyIiLCIiLCIiLAoiIl07Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8fFsiIiwiIiwiIiwiIl07aWYoZlswXS5sZW5ndGg9PTAmJmdbMF0ubGVuZ3RoPT0wKWJyZWFrO2M9S2woZlsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChmWzFdLDEwKSxnWzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KGdbMV0sMTApKXx8S2woZlsyXS5sZW5ndGg9PTAsZ1syXS5sZW5ndGg9PTApfHxLbChmWzJdLGdbMl0pO2Y9ZlszXTtnPWdbM119d2hpbGUoYz09MCl9cmV0dXJuIGN9LE1sPWZ1bmN0aW9uKGEpe2lmKC9eKHNjcmlwdHxzdHlsZSkkL2kudGVzdChhLnRhZ05hbWUpKXRocm93IEVycm9yKCJ0Iik7fSxObD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5wbClyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fSxPbD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csCiImYXBvczsiKX0sUGw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkRjP2E6Xy5tbChPbChTdHJpbmcoYSkpKX0sUWw9ZnVuY3Rpb24oYSl7dmFyIGI9e25vbmNlOl8uT2EoInNjcmlwdCIsZG9jdW1lbnQpfTthPV8uUmEoYSkudG9TdHJpbmcoKTt2YXIgYz0iPHNjcmlwdCI7aWYoYj09bnVsbD8wOmIuaWQpYys9JyBpZD0iJytPbChiLmlkKSsnIic7aWYoYj09bnVsbD8wOmIubm9uY2UpYys9JyBub25jZT0iJytPbChiLm5vbmNlKSsnIic7aWYoYj09bnVsbD8wOmIudHlwZSljKz0nIHR5cGU9IicrT2woYi50eXBlKSsnIic7aWYoYj09bnVsbD8wOmIuZGVmZXIpYys9IiBkZWZlciI7cmV0dXJuIF8ubWwoYysoIj4iK2ErIlx4M2Mvc2NyaXB0PiIpKX0sUmw9ZnVuY3Rpb24oYSl7dmFyIGI9UGwoIiIpO3JldHVybiBfLm1sKGEubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBfLmtqKFBsKGMpKX0pLmpvaW4oXy5raihiKS50b1N0cmluZygpKSl9LFNsPWZ1bmN0aW9uKGEpe3JldHVybiBSbChhKX0sClZsPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPU9iamVjdC5rZXlzKGEpLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXSxmPWFbZV07aWYoIVRsLnRlc3QoZSkpdGhyb3cgRXJyb3IoInQiKTtpZihmIT09dm9pZCAwJiZmIT09bnVsbCl7aWYoL15vbi4vaS50ZXN0KGUpKXRocm93IEVycm9yKCJ0Iik7VWwuaW5kZXhPZihlLnRvTG93ZXJDYXNlKCkpIT09LTEmJihmPV8uRWcoU3RyaW5nKGYpKXx8ImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7Zj1lKyc9IicrUGwoU3RyaW5nKGYpKSsnIic7Yis9IiAiK2Z9fXJldHVybiBifSxZbD1mdW5jdGlvbihhKXt2YXIgYj17fTtpZighVGwudGVzdCgiYm9keSIpKXRocm93IEVycm9yKCJ0Iik7aWYoV2wuaW5kZXhPZigiQk9EWSIpIT09LTEpdGhyb3cgRXJyb3IoInQiKTt2YXIgYz0iPGJvZHkiO2ImJihjKz1WbChiKSk7QXJyYXkuaXNBcnJheShhKXx8KGE9YT09PXZvaWQgMD9bXTpbYV0pO1hsLmluZGV4T2YoIkJPRFkiKSE9PS0xPwpjKz0iPiI6KGE9U2woYS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQgaW5zdGFuY2VvZiBfLkRjP2Q6UGwoU3RyaW5nKGQpKX0pKSxjKz0iPiIrYS50b1N0cmluZygpKyI8L2JvZHk+Iik7cmV0dXJuIF8ubWwoYyl9LFpsPWZ1bmN0aW9uKGEpe3RoaXMuaD10aGlzLkI9dGhpcy5sPSIiO3RoaXMuQz1udWxsO3RoaXMuQT10aGlzLmo9IiI7dGhpcy5vPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBabD8odGhpcy5vPWEubywkbCh0aGlzLGEubCksdGhpcy5CPWEuQixhbSh0aGlzLGEuaCksYm0odGhpcyxhLkMpLGNtKHRoaXMsYS5qKSxkbSh0aGlzLGVtKGEuZykpLHRoaXMuQT1hLkEpOmEmJihiPVN0cmluZyhhKS5tYXRjaChfLnJmKSk/KHRoaXMubz0hMSwkbCh0aGlzLGJbMV18fCIiLCEwKSx0aGlzLkI9Zm0oYlsyXXx8IiIpLGFtKHRoaXMsYlszXXx8IiIsITApLGJtKHRoaXMsYls0XSksY20odGhpcyxiWzVdfHwiIiwhMCksZG0odGhpcyxiWzZdfHwiIiwhMCksdGhpcy5BPWZtKGJbN118fCIiKSk6Cih0aGlzLm89ITEsdGhpcy5nPW5ldyBnbShudWxsLHRoaXMubykpfSxobT1mdW5jdGlvbihhKXtyZXR1cm4gXy55YShhKT9hLlRiJiYoYT1hLlRiKCksYSBpbnN0YW5jZW9mIF8uRGMpP2E6UGwoInpTb3l6Iik6UGwoU3RyaW5nKGEpKX0saW09ZnVuY3Rpb24oYSxiKXtiJiZiLmg/Yi5oKGEpOihiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpfSxrbT1mdW5jdGlvbihhLGIpe2E6aWYoYj1hKGJ8fGptLHZvaWQgMCksYT1fLmxiKCksYiYmYi5nP2E9Yi5nKCk6KGE9YS5jcmVhdGVFbGVtZW50KCJESVYiKSxiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpLGEuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJihiPWEuZmlyc3RDaGlsZCxiLm5vZGVUeXBlPT0xKSl7YT1iO2JyZWFrIGF9cmV0dXJuIGF9LG1tPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIik7YT1sbShhLGIpO2I9Yi5ib2R5O2IuYXBwZW5kQ2hpbGQoYSk7Yj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGIpOwpiPWIuc2xpY2UoYi5pbmRleE9mKCI+IikrMSxiLmxhc3RJbmRleE9mKCI8LyIpKTtyZXR1cm4gXy5tbChiKX0sbm09ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfSxvbT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm4gbm0oYSk7dmFyIGQ7cmV0dXJuKGQ9Xy5waShhKSkhPW51bGw/ZDpjPyIiOnZvaWQgMH0scm09ZnVuY3Rpb24oKXtyZXR1cm4gcG18fChwbT1uZXcgXy55aChfLlRnKFtdKSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxxbSkpfSxzbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkosZj1lW18uSF18MDtjPV8uV2coYSxmKT8xOmM7ZD0hIWR8fGM9PT0zO2M9PT0yJiZfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCk7YT1fLkJpKGUsYik7dmFyIGc9YT09PV8uVGg/NzphW18uSF18MCxoPV8uQ2koZyxmKTt2YXIgaz00Jmg/ITE6ITA7aWYoayl7NCZoJiYoYT1fLm1pKGEpLGc9MCxoPV8uRGkoaCxmKSxmPV8udGkoZSwKZixiLGEpKTtmb3IodmFyIGw9MCxuPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBxPV8ucGkoYVtsXSk7cSE9bnVsbCYmKGFbbisrXT1xKX1uPGwmJihhLmxlbmd0aD1uKTtoPShofDQpJi01MTM7aCY9LTEwMjU7aCY9LTQwOTd9aCE9PWcmJihfLlNnKGEsaCksMiZoJiZPYmplY3QuZnJlZXplKGEpKTtyZXR1cm4gYT1fLkZpKGEsaCxlLGYsYixjLGssZCl9LHVtPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRtOyFkJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7dmFyIGY9Xy51aShiLDEpO2E9ITE7aWYoZj09bnVsbCl7aWYoZClyZXR1cm4gcm0oKTtmPVtdfWVsc2UgaWYoZi5jb25zdHJ1Y3Rvcj09PV8ueWgpaWYoZi5LYiYyJiYhZClmPV8uemgoZik7ZWxzZSByZXR1cm4gZjtlbHNlIEFycmF5LmlzQXJyYXkoZik/YT0hISgoZltfLkhdfDApJjIpOmY9W107aWYoZCl7aWYoIWYubGVuZ3RoKXJldHVybiBybSgpO2F8fChhPSEwLF8uVGcoZikpfWVsc2UgaWYoYSl7YT0hMTtfLlVnKGYpOwpkPV8ubWkoZik7Zm9yKGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGc9ZFtmXT1fLm1pKGRbZl0pO0FycmF5LmlzQXJyYXkoZ1sxXSkmJihnWzFdPV8uVGcoZ1sxXSkpfWY9Xy5VZyhkKX0hYSYmYyYzMiYmXy5saShmKTtlPW5ldyBfLnloKGYsZSxvbSx2b2lkIDApO2M9Xy50aShiLGMsMSxlKTthfHxfLnNpKGIsYyk7cmV0dXJuIGV9LHZtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMudG9wPWE7dGhpcy5yaWdodD1iO3RoaXMuYm90dG9tPWM7dGhpcy5sZWZ0PWR9LHdtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9LHhtPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9YS5sZW5ndGgsZT0wLGY9W10sZyxoLGs9MDtrPGQ7KXtzd2l0Y2goZSl7Y2FzZSAwOnZhciBsPWEuaW5kZXhPZigiPCIsayk7aWYobDwwKXtpZihjLmxlbmd0aD09PTApcmV0dXJuIGE7Yy5wdXNoKGEuc3Vic3RyaW5nKGspKTtrPWR9ZWxzZSBjLnB1c2goYS5zdWJzdHJpbmcoaywKbCkpLGg9bCxrPWwrMSxfLnZsPyhfLndsLmxhc3RJbmRleD1rLGw9Xy53bC5leGVjKGEpKTooXy53bC5sYXN0SW5kZXg9MCxsPV8ud2wuZXhlYyhhLnN1YnN0cmluZyhrKSkpLGw/KGY9WyI8IixsWzBdXSxnPWxbMV0sZT0xLGsrPWxbMF0ubGVuZ3RoKTpjLnB1c2goIjwiKTticmVhaztjYXNlIDE6bD1hLmNoYXJBdChrKyspO3N3aXRjaChsKXtjYXNlICInIjpjYXNlICciJzp2YXIgbj1hLmluZGV4T2YobCxrKTtuPDA/az1kOihmLnB1c2gobCxhLnN1YnN0cmluZyhrLG4rMSkpLGs9bisxKTticmVhaztjYXNlICI+IjpmLnB1c2gobCk7Yy5wdXNoKGIoZi5qb2luKCIiKSxnKSk7ZT0wO2Y9W107aD1nPW51bGw7YnJlYWs7ZGVmYXVsdDpmLnB1c2gobCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31lPT09MSYmaz49ZCYmKGs9aCsxLGMucHVzaCgiPCIpLGU9MCxmPVtdLGg9Zz1udWxsKX1yZXR1cm4gYy5qb2luKCIiKX0sRG09ZnVuY3Rpb24oKXt2YXIgYT15bShfLmpsKF8uaWwoem0oKSwKZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pLk1jKCkpKSxiPUFtKCkubWFwKGZ1bmN0aW9uKGMpe3ZhciBkO2E6e3ZhciBlPWMubztpZihlPT1udWxsKWM9bnVsbDtlbHNlIGlmKHR5cGVvZiBlPT09Im51bWJlciIpYz1lO2Vsc2V7aWYodHlwZW9mIGU9PT0ic3RyaW5nIil7dmFyIGY9TnVtYmVyKGUpO2lmKCFpc05hTihmKSYmKGYhPT0wfHxlLnRyaW0oKS5sZW5ndGghPT0wKSl7Yz1mO2JyZWFrIGF9fXRocm93IEJtKGMsIm51bWJlciIpO319cmV0dXJuKGQ9YykhPW51bGw/ZDowfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjPjB9KTtiLmxlbmd0aD4wJiYoYj1DbShiKSxhLmc9Yik7cmV0dXJuIF8ua2woYSl9LEVtPWZ1bmN0aW9uKGEpe3JldHVybiJ0cmFuc2xhdGU6IithfSxLbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRm07Yj1fLlRqKGIsMSxhLm5hbWUpO3ZhciBjPUdtKGEuc3RhcnRUaW1lKTtiPV8uTChiLDIsYyk7YT1IbShhLmR1cmF0aW9uKTthPV8uTChiLDMsYSk7Yj1uZXcgSW07CnJldHVybiBKbShhLDUsYil9LEdtPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBMbTtiLnNldFNlY29uZHMoTWF0aC5mbG9vcihhLzFFMykpO2E9TWF0aC5yb3VuZChhJTFFMyoxRTYpO18uR2koYiwyLGE9PW51bGw/YTpfLkJqKGEpLDApO3JldHVybiBifSxIbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTW07Yi5zZXRTZWNvbmRzKE1hdGguZmxvb3IoYS8xRTMpKTthPU1hdGgucm91bmQoYSUxRTMqMUU2KTtfLkdpKGIsMixhPT1udWxsP2E6Xy5CaihhKSwwKTtyZXR1cm4gYn0sTm09ZnVuY3Rpb24oYSl7cmV0dXJuIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiYoYT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGEsIm1hcmsiKSxhLmxlbmd0aD09MSk/YVswXTpudWxsfSxPbT1mdW5jdGlvbihhLGIpe3JldHVybiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UubWVhc3VyZT9wZXJmb3JtYW5jZS5tZWFzdXJlKGEsYil8fG51bGw6bnVsbH0sUm09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPQpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2Quc3BsaWNlKDAsMik7ZD0ibCIrYS50b1N0cmluZygxNikrImkiK2IudG9TdHJpbmcoMTYpKyhkLmxlbmd0aD8iLSIrZC5qb2luKCJfIik6IiIpO1BtP1BtLnB1c2goZCk6UW0oZCl9LFZtPWZ1bmN0aW9uKCl7dmFyIGE9U218fChTbT1UbSgnW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiKGZ1bmN0aW9uKCl7XCd1c2Ugc3RyaWN0XCc7dmFyIGZcXHUwMDNkdHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzXFx1MDAzZFxcdTAwM2RcXCJmdW5jdGlvblxcIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxjLGIpe2lmKGFcXHUwMDNkXFx1MDAzZEFycmF5LnByb3RvdHlwZXx8YVxcdTAwM2RcXHUwMDNkT2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2NdXFx1MDAzZGIudmFsdWU7cmV0dXJuIGF9O2Z1bmN0aW9uIGcoYSl7YVxcdTAwM2RbXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsVGhpc1xcdTAwMjZcXHUwMDI2Z2xvYmFsVGhpcyxhLFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHdpbmRvd1xcdTAwMjZcXHUwMDI2d2luZG93LFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHNlbGZcXHUwMDI2XFx1MDAyNnNlbGYsXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsXFx1MDAyNlxcdTAwMjZnbG9iYWxdO2Zvcih2YXIgY1xcdTAwM2QwO2NcXHUwMDNjYS5sZW5ndGg7KytjKXt2YXIgYlxcdTAwM2RhW2NdO2lmKGJcXHUwMDI2XFx1MDAyNmIuTWF0aFxcdTAwM2RcXHUwMDNkTWF0aClyZXR1cm4gYn10aHJvdyBFcnJvcihcXCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0XFwiKTt9dmFyIGhcXHUwMDNkZyh0aGlzKTtcXG5mdW5jdGlvbiBrKGEsYyl7aWYoYylhOnt2YXIgYlxcdTAwM2RoO2FcXHUwMDNkYS5zcGxpdChcXCIuXFwiKTtmb3IodmFyIGRcXHUwMDNkMDtkXFx1MDAzY2EubGVuZ3RoLTE7ZCsrKXt2YXIgZVxcdTAwM2RhW2RdO2lmKCEoZSBpbiBiKSlicmVhayBhO2JcXHUwMDNkYltlXX1hXFx1MDAzZGFbYS5sZW5ndGgtMV07ZFxcdTAwM2RiW2FdO2NcXHUwMDNkYyhkKTtjIVxcdTAwM2RkXFx1MDAyNlxcdTAwMjZjIVxcdTAwM2RudWxsXFx1MDAyNlxcdTAwMjZmKGIsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19ayhcXCJnbG9iYWxUaGlzXFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxofSk7LypcXG5cXG4gQ29weXJpZ2h0IEdvb2dsZSBMTENcXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcXG4qL1xcbnZhciBsXFx1MDAzZGdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLG07ZnVuY3Rpb24gbigpe3ZhciBhXFx1MDAzZG51bGw7aWYoIWwpcmV0dXJuIGE7dHJ5e3ZhciBjXFx1MDAzZGZ1bmN0aW9uKGIpe3JldHVybiBifTthXFx1MDAzZGwuY3JlYXRlUG9saWN5KFxcImdvb2cjaHRtbFxcIix7Y3JlYXRlSFRNTDpjLGNyZWF0ZVNjcmlwdDpjLGNyZWF0ZVNjcmlwdFVSTDpjfSl9Y2F0Y2goYil7fXJldHVybiBhfTtmdW5jdGlvbiBwKGEpe3RoaXMuZ1xcdTAwM2RhfXAucHJvdG90eXBlLnRvU3RyaW5nXFx1MDAzZGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZytcXCJcXCJ9O2Z1bmN0aW9uIHEoYSl7bVxcdTAwM2RcXHUwMDNkXFx1MDAzZHZvaWQgMFxcdTAwMjZcXHUwMDI2KG1cXHUwMDNkbigpKTthXFx1MDAzZG0/bS5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IHAoYSl9O2lmKCFmdW5jdGlvbigpe2lmKHNlbGYub3JpZ2luKXJldHVybiBzZWxmLm9yaWdpblxcdTAwM2RcXHUwMDNkXFx1MDAzZFxcIm51bGxcXCI7aWYobG9jYXRpb24uaG9zdCFcXHUwMDNkXFx1MDAzZFxcIlxcIilyZXR1cm4hMTt0cnl7cmV0dXJuIHdpbmRvdy5wYXJlbnQuZXNjYXBlKFxcIlxcIiksITF9Y2F0Y2goYSl7cmV0dXJuITB9fSgpKXRocm93IEVycm9yKFxcInNhbmRib3hpbmcgZXJyb3JcXCIpO1xcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxcIm1lc3NhZ2VcXCIsZnVuY3Rpb24oYSl7dmFyIGNcXHUwMDNkYS5wb3J0c1swXTthXFx1MDAzZGEuZGF0YTt2YXIgYlxcdTAwM2RhLmNhbGxiYWNrTmFtZS5zcGxpdChcXCIuXFwiKSxkXFx1MDAzZHdpbmRvdztiWzBdXFx1MDAzZFxcdTAwM2RcXHUwMDNkXFwid2luZG93XFwiXFx1MDAyNlxcdTAwMjZiLnNoaWZ0KCk7Zm9yKHZhciBlXFx1MDAzZDA7ZVxcdTAwM2NiLmxlbmd0aC0xO2UrKylkW2JbZV1dXFx1MDAzZHt9LGRcXHUwMDNkZFtiW2VdXTtkW2JbYi5sZW5ndGgtMV1dXFx1MDAzZGZ1bmN0aW9uKHIpe2MucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocikpfTtiXFx1MDAzZGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFwic2NyaXB0XFwiKTthXFx1MDAzZHEoYS51cmwpO2lmKGEgaW5zdGFuY2VvZiBwKWFcXHUwMDNkYS5nO2Vsc2UgdGhyb3cgRXJyb3IoXFwiXFwiKTtiLnNyY1xcdTAwM2RhO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYil9LCEwKTt9KS5jYWxsKHRoaXMpO1xcbiJdJykpOwppZighYSlyZXR1cm4gbnVsbDthPV8ucGkoXy5aaShhLDYsdm9pZCAwLFVtKSk7dmFyIGI7YT09PW51bGx8fGE9PT12b2lkIDA/Yj1udWxsOmI9Xy5RYShhKTtyZXR1cm4gYn0sV209ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSljPWMudmFsdWUsYltjLmxhbmd1YWdlXT1jLm5hbWU7cmV0dXJuIGJ9LFhtPWZ1bmN0aW9uKCl7fSxZbT1mdW5jdGlvbihhLGIpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmw9bmV3IF8uSGIodGhpcyk7dGhpcy5RYihhfHxudWxsKTtiJiYodGhpcy5VYj1iKX0sYm49ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLngodGhpcy5nLCJmb2N1cyIsdGhpcywhMCk7dGhpcy5qPV8ueCh0aGlzLmcsImJsdXIiLHRoaXMsITApfSxjbj1mdW5jdGlvbigpe30sZG49ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZWxlbWVudD1hO3RoaXMuaj1iO3RoaXMubD1jfSxlbj1mdW5jdGlvbihhLApiKXt0aGlzLmc9YSBpbnN0YW5jZW9mIHpsP2E6bmV3IHpsKGEsYil9LGZuPWZ1bmN0aW9uKGEsYil7dGhpcy5vPWJ8fHZvaWQgMDtZbS5jYWxsKHRoaXMsYSl9LE89ZnVuY3Rpb24oYSxiLGMpe3RoaXMuRz1jfHwoYT9fLmxiKGduKGEpKTpfLmxiKCkpO2ZuLmNhbGwodGhpcyx0aGlzLkcuUygiRElWIix7c3R5bGU6InBvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTsifSkpO3RoaXMucmE9bmV3IHpsKDEsMSk7dGhpcy5BPW5ldyBTZXQ7dGhpcy5DPW51bGw7YSYmdGhpcy5hdHRhY2goYSk7YiE9bnVsbCYmdGhpcy5LYShiKX0saG49ZnVuY3Rpb24oYSl7YT1hLmNsYXNzTmFtZTtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaCgvXFMrL2cpfHxbXX0sa249ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWMubGVuZ3RoK2QubGVuZ3RoO2puKGMsZCk7YS5jbGFzc05hbWU9Yy5qb2luKCIgIik7CnJldHVybiBjLmxlbmd0aD09ZX0sbW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWxuKGMsZCk7YS5jbGFzc05hbWU9ZS5qb2luKCIgIik7cmV0dXJuIGUubGVuZ3RoPT1jLmxlbmd0aC1kLmxlbmd0aH0sam49ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKylfLnRhKGEsYltjXSl8fGEucHVzaChiW2NdKX0sbG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIV8udGEoYixjKX0pfSxubj1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRhKGhuKGEpLGIpfSxvbj1mdW5jdGlvbihhLGIsYyl7Yz9rbihhLGIpOm1uKGEsYil9LHRuPWZ1bmN0aW9uKGEpe3JldHVybiBwbihuZXcgcW4sc20oYSwxLF8uYWooKSkubWFwKGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IHJuO2I9c24oZCwxLGIpO2lmKHNtKGEsMixfLmFqKCkpLmxlbmd0aD5jKXtkPXNtKGEsMiwKMywhMCk7aWYodHlwZW9mIGMhPT0ibnVtYmVyInx8YzwwfHxjPj1kLmxlbmd0aCl0aHJvdyBFcnJvcigpO3NuKGIsMyxkW2NdKX1yZXR1cm4gYn0pKX0sdW49ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHJuO2I9c24oYiwxLGFbMF0pO2EubGVuZ3RoPT09MyYmc24oYiwzLGFbMl0pO3JldHVybiBifSx2bj1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaihhLHJuLDEpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gXy5OKGIsMyk/W18uTihiLDEpLDIwMCxfLk4oYiwzKV06W18uTihiLDEpLDIwMF19KX0sd249ZnVuY3Rpb24oKXt9LHhuPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmg9YXx8Xy5sYigpO3RoaXMubGE9bnVsbDt0aGlzLmpiPSExO3RoaXMuQz1udWxsO3RoaXMuTz12b2lkIDA7dGhpcy5SPXRoaXMuRj10aGlzLks9bnVsbDt0aGlzLndhPSExfSx5bj1mdW5jdGlvbihhKXt2YXIgYj1fLmxiKCksYz1iLmcsZD1iLmNyZWF0ZUVsZW1lbnQoIlNUWUxFIiksZT1fLk9hKCJzdHlsZSIsCmMpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7ZC50eXBlPSJ0ZXh0L2NzcyI7Yj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJIRUFEIilbMF07ZC5zdHlsZVNoZWV0P2Quc3R5bGVTaGVldC5jc3NUZXh0PWE6ZC5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKGEpKTtiLmFwcGVuZENoaWxkKGQpO3JldHVybiBkfSxDbj1mdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBPYmplY3QucHJvdG90eXBlKXtfLnpjPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGcgaW4gZClkW2ddIT09T2JqZWN0LnByb3RvdHlwZVtnXSYmZS5jYWxsKGYsZFtnXSxnLGQpfTticmVha312YXIgYj1EYXRlLm5vdygpLGM9em4oQW4pO2MmJnR5cGVvZiBjPT0iZnVuY3Rpb24iJiYoQm49PTE/YygpOmZ1bmN0aW9uIGUoKXt2YXIgZj1kb2N1bWVudC5yZWFkeVN0YXRlO18ub2MoZik9PSJ1bmRlZmluZWQifHxmPT0iY29tcGxldGUifHxmPT0iaW50ZXJhY3RpdmUifHxEYXRlLm5vdygpLWI+PTJFND9jKCk6d2luZG93LnNldFRpbWVvdXQoZSwKNTAwKX0oKSl9O18ubT16bC5wcm90b3R5cGU7Xy5tLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsJiYodGhpcz09YT8hMDp0aGlzJiZhP3RoaXMueD09YS54JiZ0aGlzLnk9PWEueTohMSl9O18ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguY2VpbCh0aGlzLngpO3RoaXMueT1NYXRoLmNlaWwodGhpcy55KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLm0ucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLngrPWEueCx0aGlzLnkrPWEueSk6KHRoaXMueCs9TnVtYmVyKGEpLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnkrPWIpKTtyZXR1cm4gdGhpc307CnZhciBEbj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHpsKGEueCxhLnkpfSxFbj1bImRhdGE6IiwiaHR0cDoiLCJodHRwczoiLCJtYWlsdG86IiwiZnRwOiJdLEZuPWZ1bmN0aW9uKGEpe3ZhciBiPTE7YT1hLnNwbGl0KCI6Iik7Zm9yKHZhciBjPVtdO2I+MCYmYS5sZW5ndGg7KWMucHVzaChhLnNoaWZ0KCkpLGItLTthLmxlbmd0aCYmYy5wdXNoKGEuam9pbigiOiIpKTtyZXR1cm4gY30sR249ZnVuY3Rpb24oYSxiLGMpe2M9YS5nLmdldChjKTtyZXR1cm4oYz09bnVsbD8wOmMuaGFzKGIpKT9jLmdldChiKTphLmwuaGFzKGIpP3t1YToxfTooYz1hLm8uZ2V0KGIpKT9jOmEuaCYmW10uY29uY2F0KF8uJGIoYS5oKSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gYi5pbmRleE9mKGQpPT09MH0pP3t1YToxfTp7dWE6MH19LEhuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1DbChiKTtjPWMuY3JlYXRlRWxlbWVudChkKTtiPWIuYXR0cmlidXRlcztmb3IodmFyIGU9Xy5DKGIpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPQplLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtmPWcubmFtZTtnPWcudmFsdWU7dmFyIGg9R24oYS5nLGYsZCksazthOntpZihrPWguY29uZGl0aW9ucyl7az1fLkMoayk7Zm9yKHZhciBsPWsubmV4dCgpOyFsLmRvbmU7bD1rLm5leHQoKSl7dmFyIG49Xy5DKGwudmFsdWUpO2w9bi5uZXh0KCkudmFsdWU7bj1uLm5leHQoKS52YWx1ZTt2YXIgcT12b2lkIDA7aWYoKGw9KHE9Yi5nZXROYW1lZEl0ZW0obCkpPT1udWxsP3ZvaWQgMDpxLnZhbHVlKSYmIW4uaGFzKGwpKXtrPSExO2JyZWFrIGF9fX1rPSEwfWlmKGspc3dpdGNoKGgudWEpe2Nhc2UgMTpFbChjLGYsZyk7YnJlYWs7Y2FzZSAyOnRocm93IEVycm9yKCk7Y2FzZSAzOkVsKGMsZixnLnRvTG93ZXJDYXNlKCkpO2JyZWFrO2Nhc2UgNDpFbChjLGYsZyk7YnJlYWs7Y2FzZSA1OkVsKGMsZixnKTticmVhaztjYXNlIDY6RWwoYyxmLGcpO2JyZWFrO2Nhc2UgNzphOmlmKGg9dm9pZCAwLGs9ZyxfLkNjKXt0cnl7aD1uZXcgVVJMKGspfWNhdGNoKHApe2g9CiJodHRwczoiO2JyZWFrIGF9aD1oLnByb3RvY29sfWVsc2UgYjp7aD1rO2s9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtrLmhyZWY9aH1jYXRjaChwKXtoPXZvaWQgMDticmVhayBifWg9ay5wcm90b2NvbDtoPWg9PT0iOiJ8fGg9PT0iIj8iaHR0cHM6IjpofWc9aCE9PXZvaWQgMCYmRW4uaW5kZXhPZihoLnRvTG93ZXJDYXNlKCkpIT09LTE/ZzoiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiO0VsKGMsZixnKX19cmV0dXJuIGN9LGxtPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5xZDthPUJsKGEsYik7YT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGEsNSxmdW5jdGlvbihoKXtpZihoLm5vZGVUeXBlPT09MyloPTE7ZWxzZSBpZihEbChoKSlpZihoPUNsKGgpLGg9PT1udWxsKWg9MjtlbHNle3ZhciBrPWMuZztoPWghPT0iRk9STSImJihrLmouaGFzKGgpfHxrLmcuaGFzKGgpKT8xOjJ9ZWxzZSBoPTI7cmV0dXJuIGh9KTtmb3IodmFyIGQ9YS5uZXh0Tm9kZSgpLGU9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksCmY9ZTtkIT09bnVsbDspe3ZhciBnPXZvaWQgMDtpZihkLm5vZGVUeXBlPT09MylnPWMuY3JlYXRlVGV4dE5vZGUoZC5kYXRhKTtlbHNlIGlmKERsKGQpKWc9SG4oYyxkLGIpO2Vsc2UgdGhyb3cgRXJyb3IoInQiKTtmLmFwcGVuZENoaWxkKGcpO2lmKGQ9YS5maXJzdENoaWxkKCkpZj1nO2Vsc2UgZm9yKDshKGQ9YS5uZXh0U2libGluZygpKSYmKGQ9YS5wYXJlbnROb2RlKCkpOylmPWYucGFyZW50Tm9kZX1yZXR1cm4gZX0sSW49ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYj1iJiZiIT0iKiI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6IiIpP2EucXVlcnlTZWxlY3RvckFsbChiKTphLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil9LEpuPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uVmN8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnR9LEtuPWZ1bmN0aW9uKGEpe3ZhciBiPQpKbihhKTthPWEuZGVmYXVsdFZpZXc7cmV0dXJuIG5ldyB6bCgoYT09bnVsbD92b2lkIDA6YS5wYWdlWE9mZnNldCl8fGIuc2Nyb2xsTGVmdCwoYT09bnVsbD92b2lkIDA6YS5wYWdlWU9mZnNldCl8fGIuc2Nyb2xsVG9wKX0sTG49ZnVuY3Rpb24oYSl7dmFyIGI9e307YT0oYS5nJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPj0yP2EuZy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiI6IiIpLnNwbGl0KCJcclxuIik7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoIS9eW1xzXHhhMF0qJC8udGVzdChhW2NdKSl7dmFyIGQ9Rm4oYVtjXSksZT1kWzBdO2Q9ZFsxXTtpZih0eXBlb2YgZD09PSJzdHJpbmciKXtkPWQudHJpbSgpO3ZhciBmPWJbZV18fFtdO2JbZV09ZjtmLnB1c2goZCl9fXJldHVybiBBbChiLGZ1bmN0aW9uKGcpe3JldHVybiBnLmpvaW4oIiwgIil9KX0sTW49WzQsNSw2XSxKbT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9TW47Yz1fLkppKGMpO2E6e3ZhciBlPWM7Xy5yaShhKTsKdmFyIGY9YS5KLGc9ZltfLkhdfDA7aWYoZT09bnVsbCl7dmFyIGg9SGwoZik7aWYoSWwoaCxmLGcsZCk9PT1iKWguc2V0KGQsMCk7ZWxzZSBicmVhayBhfWVsc2V7aD1IbChmKTt2YXIgaz1JbChoLGYsZyxkKTtrIT09YiYmKGsmJihnPV8udGkoZixnLGspKSxoLnNldChkLGIpKX1fLnRpKGYsZyxiLGUpfWMmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9LExtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihMbSxfLkopO0xtLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGsodGhpcywxKX07TG0ucHJvdG90eXBlLnNldFNlY29uZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2kodGhpcywxLGE9PW51bGw/YTpfLkpqKGEpLCIwIil9O3ZhciBNbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoTW0sXy5KKTtNbS5wcm90b3R5cGUuZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBfLmhrKHRoaXMsMSl9OwpNbS5wcm90b3R5cGUuc2V0U2Vjb25kcz1mdW5jdGlvbihhKXtyZXR1cm4gXy5HaSh0aGlzLDEsYT09bnVsbD9hOl8uSmooYSksIjAiKX07dmFyIE5uPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLktrO3JldHVybiBfLmlrKGIsMTEsYSl9LHptPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uaGwoMTg3MSwiMCIpO2EuQT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vZWxlbWVudC9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjtyZXR1cm4gYX0seW09ZnVuY3Rpb24oYSl7YS5oPU9uO3JldHVybiBhfSxJbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoSW0sXy5KKTt2YXIgUG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFBuLF8uSik7dmFyIEZtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihGbSxfLkopO3ZhciBRbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoUW4sXy5KKTt2YXIgUm49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Cl8uQihSbixfLkopO3ZhciBTbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoU24sXy5KKTt2YXIgVG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFRuLF8uSik7CnZhciBVbj1mdW5jdGlvbihhKXtfLnJpKGEpO2E9YS5KO3ZhciBiPWFbXy5IXXwwLGM9Xy51aShhLDExMiksZD12b2lkIDA9PT1fLlhoLGU9Xy5oaChjLFRuLCFkLGIpOyFkfHxlPyhlPV8ua2goZSksYyE9PWUmJihiPV8udGkoYSxiLDExMixlKSxfLnNpKGEsYikpLGE9ZSk6YT12b2lkIDA7cmV0dXJuIGF9LFZuPWZ1bmN0aW9uKGEsYil7YS5VIT09dm9pZCAwP2EuVS5wdXNoKGIpOmEuY29udGVudCs9YjtyZXR1cm4gYX0sV249ZnVuY3Rpb24oYSxiKXthLlUhPT12b2lkIDA/YS5VLnB1c2goYik6YiBpbnN0YW5jZW9mIF8ueGw/Yi5jb250ZW50IT09dm9pZCAwP2EuY29udGVudCs9Yi5tYSgpOihhLlU9W2EuY29udGVudCxiXSxhLmNvbnRlbnQ9dm9pZCAwKTphLmNvbnRlbnQrPWI7cmV0dXJuIGF9LFhuPWZ1bmN0aW9uKGEpe3ZhciBiO2E9Xy5DKChiPWEuVSkhPW51bGw/YjpbXSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWlmKGI9Yi52YWx1ZSxiIGluc3RhbmNlb2YKXy54bCYmWG4oYikpcmV0dXJuITA7cmV0dXJuITF9LFpuPWZ1bmN0aW9uKGEsYil7Yj1ZbihifHx7fSxhLmg/YS5oLmdldERhdGEoKTp7fSk7YS5nKG51bGwsYi5aYik7cmV0dXJuIGIuaigpfSwkbj17fSxhbz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgemwoYS54LWIueCxhLnktYi55KX0sYm89LyYvZyxjbz0vPC9nLGVvPS8+L2csZm89LyIvZyxnbz0vJy9nLGhvPS9ceDAwL2csaW89L1tceDAwJjw+IiddLyxqbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9ceGEwfFsgXHRdKy9nLCIgIil9LGtvPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcc1x4YTBdKyQvLCIiKX0sbG89ZnVuY3Rpb24oYSl7aW8udGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKGJvLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShjbywiJmx0OyIpKSxhLmluZGV4T2YoIj4iKSE9LTEmJihhPWEucmVwbGFjZShlbywiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9Ci0xJiYoYT1hLnJlcGxhY2UoZm8sIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShnbywiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2UoaG8sIiYjMDsiKSkpO3JldHVybiBhfSxtbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mKFteO10rKTsvZyxmdW5jdGlvbihiLGMpe3N3aXRjaChjKXtjYXNlICJhbXAiOnJldHVybiImIjtjYXNlICJsdCI6cmV0dXJuIjwiO2Nhc2UgImd0IjpyZXR1cm4iPiI7Y2FzZSAicXVvdCI6cmV0dXJuJyInO2RlZmF1bHQ6cmV0dXJuIGMuY2hhckF0KDApIT0iIyJ8fChjPU51bWJlcigiMCIrYy5zbGljZSgxKSksaXNOYU4oYykpP2I6U3RyaW5nLmZyb21DaGFyQ29kZShjKX19KX0sbm89LyYoW147XHM8Jl0rKTs/L2csb289ZnVuY3Rpb24oYSl7dmFyIGI9eyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIid9O3ZhciBjPV8udi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKcmV0dXJuIGEucmVwbGFjZShubyxmdW5jdGlvbihkLGUpe3ZhciBmPWJbZF07aWYoZilyZXR1cm4gZjtlLmNoYXJBdCgwKT09IiMiJiYoZT1OdW1iZXIoIjAiK2Uuc2xpY2UoMSkpLGlzTmFOKGUpfHwoZj1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKSk7Znx8KGY9Xy5tbChkKyIgIiksYy5ub2RlVHlwZT09PTEmJk1sKGMpLGMuaW5uZXJIVE1MPV8ua2ooZiksZj1jLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsLTEpKTtyZXR1cm4gYltkXT1mfSl9LHBvPWZ1bmN0aW9uKGEpe3JldHVybiBhLmluZGV4T2YoIiYiKSE9LTE/ImRvY3VtZW50ImluIF8udj9vbyhhKTptbyhhKTphfSxybz1mdW5jdGlvbihhKXt2YXIgYj1xbztyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIjcuMCIpP2JbIjcuMCJdOmJbIjcuMCJdPWEoIjcuMCIpfSxxbz17fSxzbz1mdW5jdGlvbigpe3JldHVybiBybyhmdW5jdGlvbigpe3JldHVybiBMbChfLmpkLCI3LjAiKT49MH0pfSwKVGw9L15bYS16XVthLXpcZC1dKiQvaSxXbD0iQVBQTEVUIEJBU0UgRU1CRUQgSUZSQU1FIExJTksgTUFUSCBNRVRBIE9CSkVDVCBTQ1JJUFQgU1RZTEUgU1ZHIFRFTVBMQVRFIi5zcGxpdCgiICIpLFhsPSJBUkVBIEJSIENPTCBDT01NQU5EIEhSIElNRyBJTlBVVCBLRVlHRU4gUEFSQU0gU09VUkNFIFRSQUNLIFdCUiIuc3BsaXQoIiAiKSxVbD1bImFjdGlvbiIsImZvcm1hY3Rpb24iLCJocmVmIl0sdG89ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IE1hcH07CnRvLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPVBsKCJfc2FmZXZhbHVlc19mb3JtYXRfbWFya2VyXzoiKS50b1N0cmluZygpO2E9UGwoYSkudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxceyIrYysiW1xcdyYjO10rXFx9IiwiZyIpLGZ1bmN0aW9uKGQpe3ZhciBlO2lmKGU9Yi5nLmdldChkKSl7ZD0iIjtzd2l0Y2goZS50eXBlKXtjYXNlICJodG1sIjpkPWUueGY7YnJlYWs7Y2FzZSAic3RhcnRUYWciOmQ9IjwiK2UudGFnTmFtZStlLmF0dHJpYnV0ZXMrIj4iO2JyZWFrO2Nhc2UgImVuZFRhZyI6ZD0iPC8iK2UudGFnTmFtZSsiPiJ9ZT1kfWVsc2UgZT1kO3JldHVybiBlfSk7cmV0dXJuIF8ubWwoYSl9O3RvLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiB1byh0aGlzLHt0eXBlOiJodG1sIix4ZjpQbChhKS50b1N0cmluZygpfSl9Owp2YXIgdW89ZnVuY3Rpb24oYSxiKXt2YXIgYz0ie19zYWZldmFsdWVzX2Zvcm1hdF9tYXJrZXJfOiIrYS5nLnNpemUrIl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpKyJ9IjthLmcuc2V0KFBsKGMpLnRvU3RyaW5nKCksYik7cmV0dXJuIGN9LGduPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKGRvY3VtZW50LGEpfSx2bz1mdW5jdGlvbihhKXt2YXIgYj1hfHxkb2N1bWVudDtiLmdldEVsZW1lbnRzQnlDbGFzc05hbWU/YT1iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIilbMF06KGI9ZG9jdW1lbnQsYT0oYXx8YikucXVlcnlTZWxlY3RvcigiLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIikpO3JldHVybiBhfHxudWxsfSx3bz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ueWQoZG9jdW1lbnQsYXJndW1lbnRzKX0seG89ZnVuY3Rpb24oYSxiKXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwKYi5uZXh0U2libGluZyl9LHlvPWZ1bmN0aW9uKGEpe3JldHVybiBfLnlhKGEpJiZhLm5vZGVUeXBlPT0xfSx6bz1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudH0sQW89ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmNvbnRlbnRXaW5kb3d8fChhLmNvbnRlbnREb2N1bWVudD9fLm1iKGEuY29udGVudERvY3VtZW50KTpudWxsKX1jYXRjaChiKXt9cmV0dXJuIG51bGx9LEJvPXtTQ1JJUFQ6MSxTVFlMRToxLEhFQUQ6MSxJRlJBTUU6MSxPQkpFQ1Q6MX0sQ289e0lNRzoiICIsQlI6IlxuIn0sRG89ZnVuY3Rpb24oYSxiLGMpe2lmKCEoYS5ub2RlTmFtZSBpbiBCbykpaWYoYS5ub2RlVHlwZT09MyljP2IucHVzaChTdHJpbmcoYS5ub2RlVmFsdWUpLnJlcGxhY2UoLyhcclxufFxyfFxuKS9nLCIiKSk6Yi5wdXNoKGEubm9kZVZhbHVlKTtlbHNlIGlmKGEubm9kZU5hbWUgaW4gQ28pYi5wdXNoKENvW2Eubm9kZU5hbWVdKTtlbHNlIGZvcihhPQphLmZpcnN0Q2hpbGQ7YTspRG8oYSxiLGMpLGE9YS5uZXh0U2libGluZ30sRW89ZnVuY3Rpb24oYSl7dmFyIGI9W107RG8oYSxiLCEwKTthPWIuam9pbigiIik7YT1hLnJlcGxhY2UoLyBceEFEIC9nLCIgIikucmVwbGFjZSgvXHhBRC9nLCIiKTthPWEucmVwbGFjZSgvXHUyMDBCL2csIiIpO2E9YS5yZXBsYWNlKC8gKy9nLCIgIik7YSE9IiAiJiYoYT1hLnJlcGxhY2UoL15ccyovLCIiKSk7cmV0dXJuIGF9LEZvPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnByb21pc2U9YTt0aGlzLnJlc29sdmU9Yjt0aGlzLnJlamVjdD1jfSxHbz1mdW5jdGlvbigpe3ZhciBhLGIsYz1uZXcgXy5vZShmdW5jdGlvbihkLGUpe2E9ZDtiPWV9KTtyZXR1cm4gbmV3IEZvKGMsYSxiKX0sSG89ZnVuY3Rpb24oYSl7aWYoYS5pYiYmdHlwZW9mIGEuaWI9PSJmdW5jdGlvbiIpcmV0dXJuIGEuaWIoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmCmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20oYS52YWx1ZXMoKSk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gYS5zcGxpdCgiIik7aWYoXy5xYShhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifWI9W107Yz0wO2ZvcihkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9LElvPWZ1bmN0aW9uKGEpe2lmKGEuT2MmJnR5cGVvZiBhLk9jPT0iZnVuY3Rpb24iKXJldHVybiBhLk9jKCk7aWYoIWEuaWJ8fHR5cGVvZiBhLmliIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy5xYShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7dmFyIGI9W107YT1hLmxlbmd0aDtmb3IodmFyIGM9MDtjPGE7YysrKWIucHVzaChjKTsKcmV0dXJuIGJ9Yj1bXTtjPTA7Zm9yKHZhciBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9fX0sSm89ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZm9yRWFjaCYmdHlwZW9mIGEuZm9yRWFjaD09ImZ1bmN0aW9uIilhLmZvckVhY2goYixjKTtlbHNlIGlmKF8ucWEoYSl8fHR5cGVvZiBhPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyk7ZWxzZSBmb3IodmFyIGQ9SW8oYSksZT1IbyhhKSxmPWUubGVuZ3RoLGc9MDtnPGY7ZysrKWIuY2FsbChjLGVbZ10sZCYmZFtnXSxhKX0sZ209ZnVuY3Rpb24oYSxiKXt0aGlzLmg9dGhpcy5nPW51bGw7dGhpcy5qPWF8fG51bGw7dGhpcy5sPSEhYn0sS289ZnVuY3Rpb24oYSl7YS5nfHwoYS5nPW5ldyBNYXAsYS5oPTAsYS5qJiZfLkViKGEuaixmdW5jdGlvbihiLGMpe2EuYWRkKF8uRGIoYiksYyl9KSl9OwpnbS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7S28odGhpcyk7dGhpcy5qPW51bGw7YT1Mbyh0aGlzLGEpO3ZhciBjPXRoaXMuZy5nZXQoYSk7Y3x8dGhpcy5nLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLmgrPTE7cmV0dXJuIHRoaXN9O2dtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7S28odGhpcyk7YT1Mbyh0aGlzLGEpO3JldHVybiB0aGlzLmcuaGFzKGEpPyh0aGlzLmo9bnVsbCx0aGlzLmgtPXRoaXMuZy5nZXQoYSkubGVuZ3RoLHRoaXMuZy5kZWxldGUoYSkpOiExfTtnbS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmc9dGhpcy5qPW51bGw7dGhpcy5oPTB9O3ZhciBNbz1mdW5jdGlvbihhLGIpe0tvKGEpO2I9TG8oYSxiKTtyZXR1cm4gYS5nLmhhcyhiKX07Xy5tPWdtLnByb3RvdHlwZTsKXy5tLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Xy5tLk9jPWZ1bmN0aW9uKCl7S28odGhpcyk7Zm9yKHZhciBhPUFycmF5LmZyb20odGhpcy5nLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5nLmtleXMoKSksYz1bXSxkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWFbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWMucHVzaChiW2RdKTtyZXR1cm4gY307Xy5tLmliPWZ1bmN0aW9uKGEpe0tvKHRoaXMpO3ZhciBiPVtdO2lmKHR5cGVvZiBhPT09InN0cmluZyIpTW8odGhpcyxhKSYmKGI9Yi5jb25jYXQodGhpcy5nLmdldChMbyh0aGlzLGEpKSkpO2Vsc2V7YT1BcnJheS5mcm9tKHRoaXMuZy52YWx1ZXMoKSk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYj1iLmNvbmNhdChhW2NdKX1yZXR1cm4gYn07Cl8ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmo9bnVsbDthPUxvKHRoaXMsYSk7TW8odGhpcyxhKSYmKHRoaXMuaC09dGhpcy5nLmdldChhKS5sZW5ndGgpO3RoaXMuZy5zZXQoYSxbYl0pO3RoaXMuaCs9MTtyZXR1cm4gdGhpc307Xy5tLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5pYihhKTtyZXR1cm4gYS5sZW5ndGg+MD9TdHJpbmcoYVswXSk6Yn07dmFyIE5vPWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZShiKTtjLmxlbmd0aD4wJiYoYS5qPW51bGwsYS5nLnNldChMbyhhLGIpLF8ud2EoYykpLGEuaCs9Yy5sZW5ndGgpfTsKZ20ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5qKXJldHVybiB0aGlzLmo7aWYoIXRoaXMuZylyZXR1cm4iIjtmb3IodmFyIGE9W10sYj1BcnJheS5mcm9tKHRoaXMuZy5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPV8uR2IoZCk7ZD10aGlzLmliKGQpO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1lO2RbZl0hPT0iIiYmKGcrPSI9IitfLkdiKGRbZl0pKTthLnB1c2goZyl9fXJldHVybiB0aGlzLmo9YS5qb2luKCImIil9Owp2YXIgZW09ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IGdtO2Iuaj1hLmo7YS5nJiYoYi5nPW5ldyBNYXAoYS5nKSxiLmg9YS5oKTtyZXR1cm4gYn0sTG89ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmwmJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGJ9LE9vPWZ1bmN0aW9uKGEsYil7YiYmIWEubCYmKEtvKGEpLGEuaj1udWxsLGEuZy5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSxObyh0aGlzLGUsYykpfSxhKSk7YS5sPWJ9O2dtLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylKbyhhcmd1bWVudHNbYl0sZnVuY3Rpb24oYyxkKXt0aGlzLmFkZChkLGMpfSx0aGlzKX07CnZhciBQbz0vWyNcL1w/QF0vZyxRbz0vWyNcP10vZyxSbz0vWyNcPzpdL2csU289LyMvZyxmbT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn0sVG89L1sjXD9AXS9nLFVvPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9LFZvPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLFVvKSxjJiYoYT1hLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZywiJSQxIikpLGEpOm51bGx9OwpabC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMubDtiJiZhLnB1c2goVm8oYixQbywhMCksIjoiKTt2YXIgYz10aGlzLmg7aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkIpJiZhLnB1c2goVm8oYixQbywhMCksIkAiKSxhLnB1c2goXy5HYihjKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxjPXRoaXMuQyxjIT1udWxsJiZhLnB1c2goIjoiLFN0cmluZyhjKSk7aWYoYz10aGlzLmopdGhpcy5oJiZjLmNoYXJBdCgwKSE9Ii8iJiZhLnB1c2goIi8iKSxhLnB1c2goVm8oYyxjLmNoYXJBdCgwKT09Ii8iP1FvOlJvLCEwKSk7KGM9dGhpcy5nLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMuQSkmJmEucHVzaCgiIyIsVm8oYyxTbykpO3JldHVybiBhLmpvaW4oIiIpfTsKWmwucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFpsKHRoaXMpLGM9ISFhLmw7Yz8kbChiLGEubCk6Yz0hIWEuQjtjP2IuQj1hLkI6Yz0hIWEuaDtjP2FtKGIsYS5oKTpjPWEuQyE9bnVsbDt2YXIgZD1hLmo7aWYoYylibShiLGEuQyk7ZWxzZSBpZihjPSEhYS5qKXtpZihkLmNoYXJBdCgwKSE9Ii8iKWlmKHRoaXMuaCYmIXRoaXMuailkPSIvIitkO2Vsc2V7dmFyIGU9Yi5qLmxhc3RJbmRleE9mKCIvIik7ZSE9LTEmJihkPWIuai5zbGljZSgwLGUrMSkrZCl9ZT1kO2lmKGU9PSIuLiJ8fGU9PSIuIilkPSIiO2Vsc2UgaWYoZS5pbmRleE9mKCIuLyIpIT0tMXx8ZS5pbmRleE9mKCIvLiIpIT0tMSl7ZD1lLmxhc3RJbmRleE9mKCIvIiwwKT09MDtlPWUuc3BsaXQoIi8iKTtmb3IodmFyIGY9W10sZz0wO2c8ZS5sZW5ndGg7KXt2YXIgaD1lW2crK107aD09Ii4iP2QmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpOmg9PSIuLiI/KChmLmxlbmd0aD4xfHxmLmxlbmd0aD09CjEmJmZbMF0hPSIiKSYmZi5wb3AoKSxkJiZnPT1lLmxlbmd0aCYmZi5wdXNoKCIiKSk6KGYucHVzaChoKSxkPSEwKX1kPWYuam9pbigiLyIpfWVsc2UgZD1lfWM/Y20oYixkKTpjPWEuZy50b1N0cmluZygpIT09IiI7Yz9kbShiLGVtKGEuZykpOmM9ISFhLkE7YyYmKGIuQT1hLkEpO3JldHVybiBifTsKdmFyICRsPWZ1bmN0aW9uKGEsYixjKXthLmw9Yz9mbShiLCEwKTpiO2EubCYmKGEubD1hLmwucmVwbGFjZSgvOiQvLCIiKSk7cmV0dXJuIGF9LGFtPWZ1bmN0aW9uKGEsYixjKXthLmg9Yz9mbShiLCEwKTpiO3JldHVybiBhfSxibT1mdW5jdGlvbihhLGIpe2lmKGIpe2I9TnVtYmVyKGIpO2lmKGlzTmFOKGIpfHxiPDApdGhyb3cgRXJyb3IoIkhgIitiKTthLkM9Yn1lbHNlIGEuQz1udWxsfSxjbT1mdW5jdGlvbihhLGIsYyl7YS5qPWM/Zm0oYiwhMCk6YjtyZXR1cm4gYX0sZG09ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBnbT8oYS5nPWIsT28oYS5nLGEubykpOihjfHwoYj1WbyhiLFRvKSksYS5nPW5ldyBnbShiLGEubykpfSxXbz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFpsP25ldyBabChhKTpuZXcgWmwoYSl9LFhvPWZ1bmN0aW9uKGEpe3ZhciBiPUlvKGEpO2lmKHR5cGVvZiBiPT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiSiIpO3ZhciBjPW5ldyBnbShudWxsKTsKYT1IbyhhKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXSxmPWFbZF07QXJyYXkuaXNBcnJheShmKT9ObyhjLGUsZik6Yy5hZGQoZSxmKX1yZXR1cm4gY30sWW89e30sWm89e30sJG89e30sYXA9e30sam09e30scW09e30scG0sVW09e30sYnA9ZnVuY3Rpb24oYSxiLGMpe2E9YS5KO3JldHVybiBfLkhpKGEsYVtfLkhdfDAsYixjKXx8YltfLmZoXXx8KGJbXy5maF09Xy5naChiKSl9LHNuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5HaShhLGIsXy5MaihjKSwiIil9O18ubT12bS5wcm90b3R5cGU7Xy5tLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzJiZhP2EgaW5zdGFuY2VvZiB2bT9hLmxlZnQ+PXRoaXMubGVmdCYmYS5yaWdodDw9dGhpcy5yaWdodCYmYS50b3A+PXRoaXMudG9wJiZhLmJvdHRvbTw9dGhpcy5ib3R0b206YS54Pj10aGlzLmxlZnQmJmEueDw9dGhpcy5yaWdodCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLmJvdHRvbTohMX07Cl8ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguY2VpbCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLmNlaWwodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmNlaWwodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmZsb29yKHRoaXMucmlnaHQpO3RoaXMuYm90dG9tPU1hdGguZmxvb3IodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9O18ubS5yb3VuZD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMucmlnaHQ9TWF0aC5yb3VuZCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLnJvdW5kKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3JldHVybiB0aGlzfTsKXy5tLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiB6bD8odGhpcy5sZWZ0Kz1hLngsdGhpcy5yaWdodCs9YS54LHRoaXMudG9wKz1hLnksdGhpcy5ib3R0b20rPWEueSk6KHRoaXMubGVmdCs9YSx0aGlzLnJpZ2h0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9Yix0aGlzLmJvdHRvbSs9YikpO3JldHVybiB0aGlzfTtfLm09d20ucHJvdG90eXBlO18ubS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTsKXy5tLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLm0uZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5mbG9vcih0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguZmxvb3IodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5tLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGgucm91bmQodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLnJvdW5kKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKdmFyIGNwPWZ1bmN0aW9uKGEsYil7YTp7dmFyIGM9Xy5zZChhKTtpZihjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjPWMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKSl7Yz1jW2JdfHxjLmdldFByb3BlcnR5VmFsdWUoYil8fCIiO2JyZWFrIGF9Yz0iIn1yZXR1cm4gY3x8KGEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlW2JdOm51bGwpfHxhLnN0eWxlJiZhLnN0eWxlW2JdfSxkcD1mdW5jdGlvbihhKXt0eXBlb2YgYT09Im51bWJlciImJihhKz0icHgiKTtyZXR1cm4gYX0sZXA9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2Ygemwpe3ZhciBjPWIueDtiPWIueX1lbHNlIGM9YixiPXZvaWQgMDthLnN0eWxlLmxlZnQ9ZHAoYyk7YS5zdHlsZS50b3A9ZHAoYil9LGZwPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChiKXtyZXR1cm57bGVmdDowLHRvcDowLHJpZ2h0OjAsCmJvdHRvbTowfX19LGdwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1jcChhLCJwb3NpdGlvbiIpLGQ9Yz09ImZpeGVkInx8Yz09ImFic29sdXRlIjtmb3IoYT1hLnBhcmVudE5vZGU7YSYmYSE9YjthPWEucGFyZW50Tm9kZSlpZihhLm5vZGVUeXBlPT0xMSYmYS5ob3N0JiYoYT1hLmhvc3QpLGM9Y3AoYSwicG9zaXRpb24iKSxkPWQmJmM9PSJzdGF0aWMiJiZhIT1iLmRvY3VtZW50RWxlbWVudCYmYSE9Yi5ib2R5LCFkJiYoYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRofHxhLnNjcm9sbEhlaWdodD5hLmNsaWVudEhlaWdodHx8Yz09ImZpeGVkInx8Yz09ImFic29sdXRlInx8Yz09InJlbGF0aXZlIikpcmV0dXJuIGE7cmV0dXJuIG51bGx9LGhwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1uZXcgemwoMCwwKTtpZihhPT0oYj9fLnNkKGIpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIGM7YT1mcChhKTtiPV8ubGIoYik7Yj1LbihiLmcpO2MueD1hLmxlZnQrYi54OwpjLnk9YS50b3ArYi55O3JldHVybiBjfSxpcD1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IHZtKDAsSW5maW5pdHksSW5maW5pdHksMCksYz1fLmxiKGEpLGQ9Yy5nLmJvZHksZT1jLmcuZG9jdW1lbnRFbGVtZW50LGY9Sm4oYy5nKTthPWdwKGEpOylpZigoIV8uVmN8fGEuY2xpZW50SGVpZ2h0IT0wfHxhIT1kKSYmYSE9ZCYmYSE9ZSYmY3AoYSwib3ZlcmZsb3ciKSE9InZpc2libGUiKXt2YXIgZz1ocChhKSxoPW5ldyB6bChhLmNsaWVudExlZnQsYS5jbGllbnRUb3ApO2cueCs9aC54O2cueSs9aC55O2IudG9wPU1hdGgubWF4KGIudG9wLGcueSk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGcueCthLmNsaWVudFdpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxnLnkrYS5jbGllbnRIZWlnaHQpO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZy54KX1kPWYuc2Nyb2xsTGVmdDtmPWYuc2Nyb2xsVG9wO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZCk7Yi50b3A9TWF0aC5tYXgoYi50b3AsCmYpO2M9Xy5pYihjLmcuZGVmYXVsdFZpZXd8fHdpbmRvdyk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGQrYy53aWR0aCk7Yi5ib3R0b209TWF0aC5taW4oYi5ib3R0b20sZitjLmhlaWdodCk7cmV0dXJuIGIudG9wPj0wJiZiLmxlZnQ+PTAmJmIuYm90dG9tPmIudG9wJiZiLnJpZ2h0PmIubGVmdD9iOm51bGx9LGpwPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IHpsKDAsMCksZD1fLm1iKF8uc2QoYSkpO2E6e3RyeXtfLlFjKGQucGFyZW50KTt2YXIgZT0hMDticmVhayBhfWNhdGNoKGYpe31lPSExfWlmKCFlKXJldHVybiBjO2RvIGQ9PWI/ZT1ocChhKTooZT1mcChhKSxlPW5ldyB6bChlLmxlZnQsZS50b3ApKSxjLngrPWUueCxjLnkrPWUueTt3aGlsZShkJiZkIT1iJiZkIT1kLnBhcmVudCYmKGE9ZC5mcmFtZUVsZW1lbnQpJiYoZD1kLnBhcmVudCkpO3JldHVybiBjfSxscD1mdW5jdGlvbihhKXt2YXIgYj1rcDtpZihjcChhLCJkaXNwbGF5IikhPSJub25lIilyZXR1cm4gYihhKTt2YXIgYz0KYS5zdHlsZSxkPWMuZGlzcGxheSxlPWMudmlzaWJpbGl0eSxmPWMucG9zaXRpb247Yy52aXNpYmlsaXR5PSJoaWRkZW4iO2MucG9zaXRpb249ImFic29sdXRlIjtjLmRpc3BsYXk9ImlubGluZSI7YT1iKGEpO2MuZGlzcGxheT1kO2MucG9zaXRpb249ZjtjLnZpc2liaWxpdHk9ZTtyZXR1cm4gYX0sa3A9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0LGQ9Xy5WYyYmIWImJiFjO3JldHVybihiPT09dm9pZCAwfHxkKSYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/KGE9ZnAoYSksbmV3IF8uQ2EoYS5yaWdodC1hLmxlZnQsYS5ib3R0b20tYS50b3ApKTpuZXcgXy5DYShiLGMpfSxtcD1mdW5jdGlvbihhLGIpe2Euc3R5bGUuZGlzcGxheT1iPyIiOiJub25lIn0sbnA9ZnVuY3Rpb24oYSxiKXtiPV8ubGIoYik7dmFyIGM9SW4oYi5nLCJIRUFEIilbMF07aWYoIWMpe3ZhciBkPUluKGIuZywiQk9EWSIpWzBdO2M9Yi5TKCJIRUFEIik7ZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLApkKX1kPWIuUygiU1RZTEUiKTt2YXIgZT1fLk9hKCJzdHlsZSIsZG9jdW1lbnQpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7YT1ObChhKTtfLnYudHJ1c3RlZFR5cGVzP18uQ2QoZCxhKTpkLmlubmVySFRNTD1hO2IuYXBwZW5kQ2hpbGQoYyxkKX0sb3A9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkNhKGEub2Zmc2V0V2lkdGgsYS5vZmZzZXRIZWlnaHQpfSxwcD1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO18uVWM/YS5Nb3pCb3hTaXppbmc9YzpfLlZjP2EuV2Via2l0Qm94U2l6aW5nPWM6YS5ib3hTaXppbmc9YzthLndpZHRoPU1hdGgubWF4KGIud2lkdGgsMCkrInB4IjthLmhlaWdodD1NYXRoLm1heChiLmhlaWdodCwwKSsicHgifSxxcD1mdW5jdGlvbihhLGIpe3BwKGEsYiwiY29udGVudC1ib3giKX0scnA9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbClzd2l0Y2goYS5KZCl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgLTE6cmV0dXJuLTE7Y2FzZSAwOnJldHVybiAwfXJldHVybiBudWxsfSwKc3A9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLnhsP1huKGEpPyEwOiEhYS5tYSgpOmEgaW5zdGFuY2VvZiBfLnpmPyEhYS5tYSgpOiEhYX0sdHA9LzwvZyx1cD1mdW5jdGlvbihhLGIpe2E9YS5yZXBsYWNlKC88XC8vZywiPFxcLyIpLnJlcGxhY2UoL1xdXF0+L2csIl1dXFw+Iik7cmV0dXJuIGI/YS5yZXBsYWNlKC97L2csIiBcXHsiKS5yZXBsYWNlKC99L2csIiBcXH0iKS5yZXBsYWNlKC9cL1wqL2csIi8gKiIpLnJlcGxhY2UoL1xcJC8sIlxcICIpOmF9LHZwPWZ1bmN0aW9uKGEpe2E9U3RyaW5nKGEpO2Zvcih2YXIgYj1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpLGg9MDtoPGc7aCsrKXt2YXIgaz1lW2YraF07aWYoZFtoXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsCmEsYyl8fGIoIlx4M2MhLS0iLGEsYykpcmV0dXJuInpTb3l6IjtjKz0xfXJldHVybiBhfSx3cD1mdW5jdGlvbihhLGIpe3JldHVybiBhIT1udWxsJiZhLlpiPT09Yn0seHA9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsJG8pP2EubWEoKTphIGluc3RhbmNlb2YgXy5MYT9fLk5hKGEpLnRvU3RyaW5nKCk6ImFib3V0OmludmFsaWQjelNveXoifSx6cD1mdW5jdGlvbigpe3ZhciBhO3dwKCIiLGFwKT9hPSIiLm1hKCk6YT15cC50ZXN0KCIiKT8iIjoielNveXoiO3dwKGEsYXApJiYoYT1hLm1hKCkpO3JldHVybihhJiYhYS5zdGFydHNXaXRoKCIgIik/IiAiOiIiKSthfSxBcD1mdW5jdGlvbihhKXtyZXR1cm4gd3AoYSxfLm9sKT91cChhLm1hKCksITEpOmE9PW51bGw/IiI6YSBpbnN0YW5jZW9mIF8ucGw/dXAoTmwoYSksITEpOnVwKFN0cmluZyhhKSwhMCl9LEJwPXsiXHgwMCI6IiYjMDsiLCJcdCI6IiYjOTsiLCJcbiI6IiYjMTA7IiwiXHYiOiImIzExOyIsIlxmIjoiJiMxMjsiLCJcciI6IiYjMTM7IiwKIiAiOiImIzMyOyIsJyInOiImcXVvdDsiLCImIjoiJmFtcDsiLCInIjoiJiMzOTsiLCItIjoiJiM0NTsiLCIvIjoiJiM0NzsiLCI8IjoiJmx0OyIsIj0iOiImIzYxOyIsIj4iOiImZ3Q7IiwiYCI6IiYjOTY7IiwiXHUwMDg1IjoiJiMxMzM7IiwiXHUwMGEwIjoiJiMxNjA7IiwiXHUyMDI4IjoiJiM4MjMyOyIsIlx1MjAyOSI6IiYjODIzMzsifSxDcD1mdW5jdGlvbihhKXtyZXR1cm4gQnBbYV19LERwPXsiXHgwMCI6IlxceDAwIiwiXGIiOiJcXHgwOCIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcdiI6IlxceDBiIiwiXGYiOiJcXGYiLCJcciI6IlxcciIsJyInOiJcXHgyMiIsJDoiXFx4MjQiLCImIjoiXFx4MjYiLCInIjoiXFx4MjciLCIoIjoiXFx4MjgiLCIpIjoiXFx4MjkiLCIqIjoiXFx4MmEiLCIrIjoiXFx4MmIiLCIsIjoiXFx4MmMiLCItIjoiXFx4MmQiLCIuIjoiXFx4MmUiLCIvIjoiXFwvIiwiOiI6IlxceDNhIiwiPCI6IlxceDNjIiwiPSI6IlxceDNkIiwiPiI6IlxceDNlIiwiPyI6IlxceDNmIiwKIlsiOiJcXHg1YiIsIlxcIjoiXFxcXCIsIl0iOiJcXHg1ZCIsIl4iOiJcXHg1ZSIsInsiOiJcXHg3YiIsInwiOiJcXHg3YyIsIn0iOiJcXHg3ZCIsIlx1MDA4NSI6IlxceDg1IiwiXHUyMDI4IjoiXFx1MjAyOCIsIlx1MjAyOSI6IlxcdTIwMjkifSxFcD1mdW5jdGlvbihhKXtyZXR1cm4gRHBbYV19LEZwPXsiXHgwMCI6IlxcMCAiLCJcYiI6IlxcOCAiLCJcdCI6IlxcOSAiLCJcbiI6IlxcYSAiLCJcdiI6IlxcYiAiLCJcZiI6IlxcYyAiLCJcciI6IlxcZCAiLCciJzoiXFwyMiAiLCImIjoiXFwyNiAiLCInIjoiXFwyNyAiLCIoIjoiXFwyOCAiLCIpIjoiXFwyOSAiLCIqIjoiXFwyYSAiLCIvIjoiXFwyZiAiLCI6IjoiXFwzYSAiLCI7IjoiXFwzYiAiLCI8IjoiXFwzYyAiLCI9IjoiXFwzZCAiLCI+IjoiXFwzZSAiLCJAIjoiXFw0MCAiLCJcXCI6IlxcNWMgIiwieyI6IlxcN2IgIiwifSI6IlxcN2QgIiwiXHUwMDg1IjoiXFw4NSAiLCJcdTAwYTAiOiJcXGEwICIsIlx1MjAyOCI6IlxcMjAyOCAiLAoiXHUyMDI5IjoiXFwyMDI5ICJ9LEdwPWZ1bmN0aW9uKGEpe3JldHVybiBGcFthXX0sSHA9eyJceDAwIjoiJTAwIiwiXHUwMDAxIjoiJTAxIiwiXHUwMDAyIjoiJTAyIiwiXHUwMDAzIjoiJTAzIiwiXHUwMDA0IjoiJTA0IiwiXHUwMDA1IjoiJTA1IiwiXHUwMDA2IjoiJTA2IiwiXHUwMDA3IjoiJTA3IiwiXGIiOiIlMDgiLCJcdCI6IiUwOSIsIlxuIjoiJTBBIiwiXHYiOiIlMEIiLCJcZiI6IiUwQyIsIlxyIjoiJTBEIiwiXHUwMDBlIjoiJTBFIiwiXHUwMDBmIjoiJTBGIiwiXHUwMDEwIjoiJTEwIiwiXHUwMDExIjoiJTExIiwiXHUwMDEyIjoiJTEyIiwiXHUwMDEzIjoiJTEzIiwiXHUwMDE0IjoiJTE0IiwiXHUwMDE1IjoiJTE1IiwiXHUwMDE2IjoiJTE2IiwiXHUwMDE3IjoiJTE3IiwiXHUwMDE4IjoiJTE4IiwiXHUwMDE5IjoiJTE5IiwiXHUwMDFhIjoiJTFBIiwiXHUwMDFiIjoiJTFCIiwiXHUwMDFjIjoiJTFDIiwiXHUwMDFkIjoiJTFEIiwiXHUwMDFlIjoiJTFFIiwiXHUwMDFmIjoiJTFGIiwKIiAiOiIlMjAiLCciJzoiJTIyIiwiJyI6IiUyNyIsIigiOiIlMjgiLCIpIjoiJTI5IiwiPCI6IiUzQyIsIj4iOiIlM0UiLCJcXCI6IiU1QyIsInsiOiIlN0IiLCJ9IjoiJTdEIiwiXHUwMDdmIjoiJTdGIiwiXHUwMDg1IjoiJUMyJTg1IiwiXHUwMGEwIjoiJUMyJUEwIiwiXHUyMDI4IjoiJUUyJTgwJUE4IiwiXHUyMDI5IjoiJUUyJTgwJUE5IiwiXHVmZjAxIjoiJUVGJUJDJTgxIiwiXHVmZjAzIjoiJUVGJUJDJTgzIiwiXHVmZjA0IjoiJUVGJUJDJTg0IiwiXHVmZjA2IjoiJUVGJUJDJTg2IiwiXHVmZjA3IjoiJUVGJUJDJTg3IiwiXHVmZjA4IjoiJUVGJUJDJTg4IiwiXHVmZjA5IjoiJUVGJUJDJTg5IiwiXHVmZjBhIjoiJUVGJUJDJThBIiwiXHVmZjBiIjoiJUVGJUJDJThCIiwiXHVmZjBjIjoiJUVGJUJDJThDIiwiXHVmZjBmIjoiJUVGJUJDJThGIiwiXHVmZjFhIjoiJUVGJUJDJTlBIiwiXHVmZjFiIjoiJUVGJUJDJTlCIiwiXHVmZjFkIjoiJUVGJUJDJTlEIiwiXHVmZjFmIjoiJUVGJUJDJTlGIiwKIlx1ZmYyMCI6IiVFRiVCQyVBMCIsIlx1ZmYzYiI6IiVFRiVCQyVCQiIsIlx1ZmYzZCI6IiVFRiVCQyVCRCJ9LElwPWZ1bmN0aW9uKGEpe3JldHVybiBIcFthXX0sSnA9L1tceDAwXHgyMlx4MjZceDI3XHgzY1x4M2VdL2csS3A9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsXy5xbCk/YTphIGluc3RhbmNlb2YgXy5EYz8oMCxfLnRsKShfLmtqKGEpLnRvU3RyaW5nKCkpOigwLF8udGwpKFN0cmluZyhTdHJpbmcoYSkpLnJlcGxhY2UoSnAsQ3ApLHJwKGEpKX0sTHA9L1tceDAwXHgyMlx4MjdceDNjXHgzZV0vZyxNcD1mdW5jdGlvbihhKXtyZXR1cm4geG0oU3RyaW5nKGEpLGZ1bmN0aW9uKCl7cmV0dXJuIiJ9KS5yZXBsYWNlKHRwLCImbHQ7Iil9LFA9ZnVuY3Rpb24oYSl7d3AoYSxfLnFsKT8oYT1NcChhLm1hKCkpLGE9U3RyaW5nKGEpLnJlcGxhY2UoTHAsQ3ApKTphPVN0cmluZyhhKS5yZXBsYWNlKEpwLENwKTtyZXR1cm4gYX0sTnA9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI2XHgyN1x4MmRcL1x4M2MtXHgzZWBceDg1XHhhMFx1MjAyOFx1MjAyOV0vZywKT3A9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI3XHgyZFwvXHgzYy1ceDNlYFx4ODVceGEwXHUyMDI4XHUyMDI5XS9nLFBwPS9bXHgwMFx4MDgtXHgwZFx4MjJceDI2XHgyN1wvXHgzYy1ceDNlXHg1Yi1ceDVkXHg3Ylx4N2RceDg1XHUyMDI4XHUyMDI5XS9nLFFwPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIiBudWxsICI7aWYod3AoYSxZbykpcmV0dXJuIGEubWEoKTtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gXy5SYShhKS50b1N0cmluZygpO3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpyZXR1cm4iICIrYSsiICI7ZGVmYXVsdDpyZXR1cm4iJyIrU3RyaW5nKFN0cmluZyhhKSkucmVwbGFjZShQcCxFcCkrIicifX0sUnA9L1tceDAwXHgwOC1ceDBkXHgyMlx4MjYtXHgyYVwvXHgzYS1ceDNlQFxcXHg3Ylx4N2RceDg1XHhhMFx1MjAyOFx1MjAyOV0vZyxTcD0vW1x4MDAtIFx4MjJceDI3LVx4MjlceDNjXHgzZVxcXHg3Ylx4N2RceDdmXHg4NVx4YTBcdTIwMjhcdTIwMjlcdWZmMDFcdWZmMDNcdWZmMDRcdWZmMDYtXHVmZjBjXHVmZjBmXHVmZjFhXHVmZjFiXHVmZjFkXHVmZjFmXHVmZjIwXHVmZjNiXHVmZjNkXS9nLApUcD0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxVcD1mdW5jdGlvbihhKXt3cChhLFpvKXx8d3AoYSwkbyk/YT1TdHJpbmcoYSkucmVwbGFjZShTcCxJcCk6YSBpbnN0YW5jZW9mIF8uTGE/KGE9Xy5OYShhKS50b1N0cmluZygpLGE9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApKTooYT1TdHJpbmcoYSksYT1UcC50ZXN0KGEpP2EucmVwbGFjZShTcCxJcCk6ImFib3V0OmludmFsaWQjelNveXoiKTtyZXR1cm4gYX0sVnA9L15bXiY6XC8/I10qKD86W1wvPyNdfCQpfF5odHRwcz86fF5maWxlc3lzdGVtOmh0dHBzPzp8XmZ0cDp8XmRhdGE6aW1hZ2VcL1thLXowLTkrLV0rO2Jhc2U2NCxbYS16MC05K1wvXSs9KiR8XmJsb2I6L2ksV3A9ZnVuY3Rpb24oYSl7d3AoYSxabyl8fHdwKGEsJG8pP2E9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApOmEgaW5zdGFuY2VvZiBfLkxhPyhhPV8uTmEoYSkudG9TdHJpbmcoKSxhPVN0cmluZyhhKS5yZXBsYWNlKFNwLApJcCkpOihhPVN0cmluZyhhKSxhPVZwLnRlc3QoYSk/YS5yZXBsYWNlKFNwLElwKToiYWJvdXQ6aW52YWxpZCN6U295eiIpO3JldHVybiBhfSx5cD0vXig/IW9ufHNyY3woPzphY3Rpb258YXJjaGl2ZXxiYWNrZ3JvdW5kfGNpdGV8Y2xhc3NpZHxjb2RlYmFzZXxjb250ZW50fGRhdGF8ZHN5bmN8aHJlZnxodHRwLWVxdWl2fGxvbmdkZXNjfHN0eWxlfHVzZW1hcClccyokKSg/OlthLXowLTlfJDotXSopJC9pLFhwPS9eW2EtekEtWjAtOStcL18tXSs9ezAsMn0kLyxZcD1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm4gWHAudGVzdChhKT9hOiJ6U295eiJ9LFpwPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihacCxfLkopO3ZhciBDbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgWnA7cmV0dXJuIEdsKGIsMyxhLF8uQmopfTt2YXIgJHA9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKCRwLF8uSik7JHAucHJvdG90eXBlLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDIpfTskcC5wcm90b3R5cGUuTmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMixhKX07JHAucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDMpfTskcC5wcm90b3R5cGUubmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMyxhKX07dmFyIGFxPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihhcSxfLkopO3ZhciBicT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoYnEsXy5KKTt2YXIgY3E9Xy5NaihicSk7dmFyIGRxPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX0sZXE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoLTI7Yys9Myl7dmFyIGQ9Yi5jaGFyQXQoYysyKTtkPWQ+PSJhIj9kLmNoYXJDb2RlQXQoMCktODc6TnVtYmVyKGQpO2Q9Yi5jaGFyQXQoYysxKT09IisiP2E+Pj5kOmE8PGQ7YT1iLmNoYXJBdChjKT09IisiP2ErZCY0Mjk0OTY3Mjk1OmFeZH1yZXR1cm4gYX0sZ3E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWZxLnNwbGl0KCIuIiksYz1OdW1iZXIoYlswXSl8fDAsZD1bXSxlPTAsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZz1hLmNoYXJDb2RlQXQoZik7ZzwxMjg/ZFtlKytdPWc6KGc8MjA0OD9kW2UrK109Zz4+NnwxOTI6KChnJjY0NTEyKT09NTUyOTYmJmYrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChmKzEpJjY0NTEyKT09NTYzMjA/KGc9NjU1MzYrKChnJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2YpJjEwMjMpLGRbZSsrXT0KZz4+MTh8MjQwLGRbZSsrXT1nPj4xMiY2M3wxMjgpOmRbZSsrXT1nPj4xMnwyMjQsZFtlKytdPWc+PjYmNjN8MTI4KSxkW2UrK109ZyY2M3wxMjgpfWE9Yztmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKWErPWRbZV0sYT1lcShhLCIrLWFeKzYiKTthPWVxKGEsIistM14rYistZiIpO2FePU51bWJlcihiWzFdKXx8MDthPDAmJihhPShhJjIxNDc0ODM2NDcpKzIxNDc0ODM2NDgpO2I9YSUxRTY7cmV0dXJuIGIudG9TdHJpbmcoKSsiLiIrKGJeYyl9LGhxPWZ1bmN0aW9uKCl7dmFyIGE9ZHEoU3RyaW5nLmZyb21DaGFyQ29kZSgxMTYpKSxiPWRxKFN0cmluZy5mcm9tQ2hhckNvZGUoMTA3KSk7YT1bYSgpLGEoKV07YVsxXT1iKCk7cmV0dXJuIGEuam9pbigiIil9O3ZhciBpcT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoaXEsXy5KKTt2YXIganE9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKGpxLF8uSik7dmFyIGtxPV8uTWooanEpO3ZhciBscT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIobHEsXy5KKTt2YXIgT249IiIsbXE9InByb2QiLG5xPSIiLG9xPSJlbiIsQW49IiIscHE9bmV3IGpxLHFxPSExLHJxPW5ldyBEYXRlLHNxPXt9LEJuPTAsdHE9InRlIixmcT0iIix1cT0iIix2cT0iaHR0cHM6Ly8iLHdxPSIiLHhxPSIiLHlxPSIiLHpxPSIiLEFxPSIiLEJxPSIiLENxPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWYiLERxPSJodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby8xeC9nb29nbGVsb2dvX2NvbG9yXzY4eDI4ZHAucG5nIixFcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMXgvdHJhbnNsYXRlXzI0ZHAucG5nIixGcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl80MngxNmRwLnBuZyIsR3E9Imh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20iLEhxPSIiLElxPSIiLEpxPSIiLEtxPQpmdW5jdGlvbigpe0hxPSIvLyIrQnErIi90cmFuc2xhdGVfc3VnZ2VzdGlvbj9jbGllbnQ9Iit0cTtJcT0iLy8iK3VxKyIvdHJhbnNsYXRlX3ZvdGluZz9jbGllbnQ9Iit0cTtKcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zdXBwb3J0L3RyYW5zbGF0ZSIrKG9xPT0iZW4iPyIiOiIjZ29vZ3RyYW5zL2VuLyIrb3EpfSxMcT1mdW5jdGlvbihhKXtPbj13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUudnx8IiI7bXE9YS5fY2Vudnx8InByb2QiO25xPWEuVWd8fCIiO29xPWEuX2NsfHwiZW4iO0FuPWEuX2N1YztwcT1hLl9jZWY/a3EoYS5fY2VmKTpuZXcganE7cXE9YS5fY25hZDtycT1hLl9jZXN0fHxuZXcgRGF0ZTtzcT1hLl9jbmFsfHx7fTtCbj1hLl9jYW09PSJsaWIiPzE6MDt0cT0oYS5fY2FjfHwidGUiKSsoQm49PTE/Il9saWIiOiIiKTtmcT1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fQp2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNyksZD1iKFN0cmluZy5mcm9tQ2hhckNvZGUoMTE2KSk7Yz1iKGMpO2Q9W2QoKSxkKCldO2RbMV09YygpO3JldHVybiBhWyJfYyIrZC5qb2luKGMoKSldfHwiIn0oKTt1cT1hLl9wYWh8fCIiO3ZxPWEuX3Bhc3x8Imh0dHBzOi8vIjt3cT1hLl9wYml8fCIiO3hxPWEuX3BjaXx8IiI7eXE9YS5fcGxsYXx8IiI7enE9YS5fcGxpfHwiIjtBcT1hLl9wc3x8IiI7QnE9YS5fcHVofHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKX07d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlLl9jb25zdD9McSh3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpOkxxKHtfY2FjOiIiLF9jYW06IiIsX2NlZjoiIixfY2VzdDpuZXcgRGF0ZSxfY2VudjoiIixVZzoiIixfY2dhazoiIixfY2psYzoiIixfY2w6IiIsX2NsbDoiIixfY3VjOiIiLF9jbmFkOiExLF9jbmFsOnt9LENrOiIiLF9wYWg6IiIsX3BhczoiIixfcGJpOiIiLF9wY2k6IiIsX3BoZjoiIixfcGxpOiIiLF9wbGxhOiIiLF9wbWk6IiIsX3BzOiIiLF9wdGE6IiIsX3B1aDoiIn0pO3ZhciBNcT1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMubz1ifSxCbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgVHlwZUVycm9yKCJxYWAiK2IrImAiK2EuZysiYCIrYS5vKyJgIit0eXBlb2YgYS5vKX07TXEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vO2lmKGE9PW51bGwpYT1udWxsO2Vsc2UgaWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBCbSh0aGlzLCJzdHJpbmciKTtpZihhPT09bnVsbCl0aHJvdyBFcnJvcigicGFgIit0aGlzLmcpO3JldHVybiBhfTsKdmFyIEFtPWZ1bmN0aW9uKCl7dmFyIGE9YT09PXZvaWQgMD93aW5kb3c6YTthPWE9PT12b2lkIDA/d2luZG93OmE7YT1hPT09dm9pZCAwP3dpbmRvdzphO2E9YS5XSVpfZ2xvYmFsX2RhdGE7YT1uZXcgTXEoInhXdXVHYyIsYSYmInhXdXVHYyJpbiBhP2EueFd1dUdjOm51bGwpO3ZhciBiPVtdLGM9TnEoYSk7cmV0dXJuIGM9PT1udWxsP09xKGEsYik6Y30sTnE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vO2lmKGI9PW51bGwpcmV0dXJuIG51bGw7QXJyYXkuaXNBcnJheShiKXx8KHR5cGVvZiBiIT09InN0cmluZyI/Yj1bYl06KGI9Yi50cmltKCksYj1iPT0iIj9bXTpiLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnRyaW0oKX0pKSk7cmV0dXJuIE9xKGEsYil9LE9xPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nKyJbIjtyZXR1cm4gQXJyYXkuZnJvbShiLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIG5ldyBNcShjK2UrIl0iLGQpfSl9OwpNcS5wcm90b3R5cGUub2JqZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubztpZihiPT1udWxsKXtpZihhPT09dm9pZCAwKXRocm93IEVycm9yKCJwYWAiK3RoaXMuZyk7cmV0dXJuIGF9aWYodHlwZW9mIGI9PT0ib2JqZWN0IiYmYi5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7YT17fTt2YXIgYz10aGlzLmcrIi4iLGQ7Zm9yKGQgaW4gYilhW2RdPW5ldyBNcShjK2QsYltkXSk7cmV0dXJuIGF9dGhyb3cgQm0odGhpcywib2JqZWN0Iik7fTt2YXIgUHE9ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmc9YT1hPT09dm9pZCAwP0RtKCk6YX07UHEucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhKXtfLmFsKHRoaXMuZyxhKX07dmFyIFFxPW5ldyBQcTt2YXIgUnE9RW0oImluaXRpYWxpemVkIiksU3E9RW0oImluaXRpYXRlZCIpLFRxPUVtKCJyZXN0b3JlZCIpLFVxPUVtKCJwYWdlX2xvYWRfdG9faW5pdGlhbGl6ZWQiKSxWcT1FbSgiaW5pdGlhbGl6YXRpb25fdG9fdHJhbnNsYXRpb25fdHJpZ2dlcmVkIik7dmFyIFdxPWZ1bmN0aW9uKGEpe3ZhciBiPSJ4YiI7aWYoYS54YiYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS54YjtiPW5ldyBhO3JldHVybiBhLnhiPWJ9Oy8qCgpNYXRoLnV1aWQuanMgKHYxLjQpCmh0dHA6Ly93d3cuYnJvb2ZhLmNvbQptYWlsdG86cm9iZXJ0QGJyb29mYS5jb20KQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzLgoqLwp2YXIgWHE9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7Zm9yKHZhciBZcSxacT1BcnJheSgzNiksJHE9MCxhcixicj0wO2JyPDM2O2JyKyspYnI9PTh8fGJyPT0xM3x8YnI9PTE4fHxicj09MjM/WnFbYnJdPSItIjpicj09MTQ/WnFbYnJdPSI0IjooJHE8PTImJigkcT0zMzU1NDQzMitNYXRoLnJhbmRvbSgpKjE2Nzc3MjE2fDApLGFyPSRxJjE1LCRxPj49NCxacVticl09WHFbYnI9PTE5P2FyJjN8ODphcl0pO1lxPVpxLmpvaW4oIiIpOwp2YXIgY3I9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1hPWE9PT12b2lkIDA/WXE6YTt0aGlzLkViPWI9PT12b2lkIDA/IiI6Yjt0aGlzLkZiPWM9PT12b2lkIDA/IiI6Y30sZ3I9ZnVuY3Rpb24oYSl7dmFyIGI9ZHIoYSw3KTtlcihhLGIpO2ZyKGIsNyl9LGhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5sYj09PXZvaWQgMD8wOmIubGI7dmFyIGQ9Yi5NZj09PXZvaWQgMD8wOmIuTWY7dmFyIGU9Yi5nZz09PXZvaWQgMD8wOmIuZ2c7dmFyIGY9Yi5MZj09PXZvaWQgMD8wOmIuTGY7Yj1kcihhLDgpO2VyKGEsYik7YT1uZXcgUm47Yz1fLmlrKGEsMSxjKTtkPV8uaWsoYywzLGQpO2U9Xy5payhkLDIsZSk7ZT1fLmlrKGUsNCxmKTtmPVVuKGIpO18uTChmLDYsZSk7TWF0aC5yYW5kb20oKT49LjAwNXx8KGI9Xy5MayhObig4KSxfLldqKGIpKSxRcS5sb2coYikpfSxkcj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLmxsO2M9Xy5UaihjLDUwLG9xKTt2YXIgZD1uZXcgVG47Yj1fLmtrKGQsMSxiKTsKYj1fLlRqKGIsMix0cSk7YT1fLlRqKGIsMyxhLmcpO3JldHVybiBfLkwoYywxMTIsYSl9LGZyPWZ1bmN0aW9uKGEsYil7YT1fLkxrKE5uKGIpLF8uV2ooYSkpO1FxLmxvZyhhKX0sZXI9ZnVuY3Rpb24oYSxiKXtiLk5hKGEuRWIpO2IubmEoYS5GYil9O3ZhciBpcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7KytjKWJbYVtjXV09ITA7cmV0dXJuIGJ9LGpyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hP1thXTpbXTt0aGlzLmc9WzBdO3RoaXMuaj0hMX07anIucHJvdG90eXBlLnBhc3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmp9O2pyLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhKXtpZih0aGlzLmopcmV0dXJuIGF8fGZ1bmN0aW9uKCl7fTt0aGlzLmcucHVzaCgwKTt2YXIgYj10aGlzLmcubGVuZ3RoLTE7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe3RoaXMuZ1tiXSsrO2EmJmEuYXBwbHkobnVsbCxhcmd1bWVudHMpO2tyKHRoaXMpfSx0aGlzKX07CmpyLnByb3RvdHlwZS5kZWxheT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qP2E6KDAsXy55KShmdW5jdGlvbigpe2lmKHRoaXMuailhLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNle3ZhciBiPWFyZ3VtZW50czt0aGlzLmgucHVzaChmdW5jdGlvbigpe2EuYXBwbHkobnVsbCxiKX0pfX0sdGhpcyl9O2pyLnByb3RvdHlwZS5maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLmdbMF09MTtrcih0aGlzKX07CnZhciBrcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEuZy5sZW5ndGg7KytiKWlmKGEuZ1tiXT09MClyZXR1cm47YS5qPSEwO2ZvcihiPTA7YjxhLmgubGVuZ3RoOysrYil7dmFyIGM9YS5oW2JdO2EuaFtiXT1udWxsO2MuY2FsbCgpfWEuaD1bXTthLmc9W119LGxyPWZ1bmN0aW9uKGEpe3RoaXMuaj1hO3RoaXMuaD10aGlzLmc9ITF9LG1yPWZ1bmN0aW9uKGEsYil7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe2ImJmIuYXBwbHkobnVsbCxhcmd1bWVudHMpO3RoaXMuaD90aGlzLmd8fCh0aGlzLmouY2FsbCgpLHRoaXMuZz0hMCk6dGhpcy5nPSEwfSxhKX07bHIucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMuaHx8KHRoaXMuaD0hMCx0aGlzLmcmJnRoaXMuai5jYWxsKCkpfTt2YXIgbnI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuQj1hO3RoaXMuQT1jfHwwO3RoaXMuaj10aGlzLmg9ITF9LG9yPWZ1bmN0aW9uKGEpe2EuaHx8YS5vKCl9Owpuci5wcm90b3R5cGUubz1mdW5jdGlvbigpeyh0aGlzLmg9KHRoaXMuaj0hIXRoaXMuQi5jYWxsKCkpfHwtLXRoaXMuQTw9MCk/KHRoaXMuZy5jYWxsKG51bGwsdGhpcy5qKSx0aGlzLmw9MCk6dGhpcy5sPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8ueSkodGhpcy5vLHRoaXMpLDMwKX07bnIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe3RoaXMubCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmwpO3RoaXMuaD0hMDt0aGlzLmcuY2FsbChudWxsLHRoaXMuail9Owp2YXIgcHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXthLmRpc3BhdGNoRXZlbnQoYil9fSxxcj1mdW5jdGlvbihhKXthPV8uQWMoYSkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCJfIiwiLSIpO2lmKGE9PSJ6aC1jbiIpcmV0dXJuInpoLUNOIjtpZihhPT0iemgtdHciKXJldHVybiJ6aC1UVyI7dmFyIGI9YS5pbmRleE9mKCItIik7YT1iPj0wP2Euc3Vic3RyaW5nKDAsYik6YTtyZXR1cm4gYT09InpoIj8iemgtQ04iOmF9LHJyPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlpZihhW2NdIT09T2JqZWN0LnByb3RvdHlwZVtjXSl7dmFyIGQ9Xy5HYihjKTtpZihfLm9jKGFbY10pPT0iYXJyYXkiKWZvcih2YXIgZT0wO2U8YVtjXS5sZW5ndGg7KytlKWIucHVzaChkKyI9IitfLkdiKGFbY11bZV0pKTtlbHNlIGIucHVzaChkKyI9IitfLkdiKGFbY10pKX1yZXR1cm4gYi5qb2luKCImIil9LFFtPWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTtiLm5jYT1hO2IuY2xpZW50PXRxOwpPbiYmKGIubG9nbGQ9InYiK09uKTt2YXIgYz1uZXcgSW1hZ2U7Yy5zcmM9Ii8vIitCcSsiL2dlbjIwND8iK3JyKGIpO2Mub25sb2FkPWZ1bmN0aW9uKCl7Yy5vbmxvYWQ9bnVsbH19LHRyPWZ1bmN0aW9uKGEsYil7aWYoKF8uU2N8fF8uUmMpJiZ3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUhPWRvY3VtZW50LmRvbWFpbil7c3I9c3I/c3IrMToxO3ZhciBjPSJmIitzcisiXyIrRGF0ZS5ub3coKS50b1N0cmluZygzNik7d2luZG93W2NdPWZ1bmN0aW9uKCl7d2luZG93W2NdPXZvaWQgMDthLnNyYz0iIyI7YiYmd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LDApfTthLnNyYz0iamF2YXNjcmlwdDp2b2lkKGRvY3VtZW50LndyaXRlKFwiPHNjcmlwdD5kb2N1bWVudC5kb21haW49JyIrZG9jdW1lbnQuZG9tYWluKyInO3BhcmVudFsnIitjKyInXSgpO1x4M2Mvc2NyaXB0PlwiKSkifWVsc2UgYiYmYigpfSxzcix1cj1mdW5jdGlvbigpe3ZhciBhPXt9O3RyeXtmb3IodmFyIGIgaW4gT2JqZWN0LnByb3RvdHlwZSl7dmFyIGM9Ck9iamVjdC5wcm90b3R5cGVbYl07ZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbYl07YVtiXT1jfX1jYXRjaChkKXtyZXR1cm57fX1yZXR1cm4gYX0sdnI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpT2JqZWN0LnByb3RvdHlwZVtiXT1hW2JdfSx3cj1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSlyZXR1cm4hMTtyZXR1cm4hMH0seHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9ImF1dG8iJiZhIT0iemgtQ04iJiZhPT1ifSx5cj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5oYXNoLm1hdGNoKC9nb29nbGVcLnRyYW5zbGF0ZVwuZWxlbWVudFwuc3A9KFteJl0rKS8pO3JldHVybiBhJiZhWzFdP2FbMV06bnVsbH07dmFyIFBtPW51bGwsenI9bnVsbCxBcj1mdW5jdGlvbigpe307QXIucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkIGluIGMpY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0mJihiW2RdPXR5cGVvZiBjW2RdPT09ImZ1bmN0aW9uIj9jW2RdOl8uWmooUm0sYSxOdW1iZXIoY1tkXSkpKX07dmFyIENyPWZ1bmN0aW9uKCl7UG0mJkJyKCk7UG09W107enI9Xy54KHdpbmRvdywicGFnZWhpZGUiLGZ1bmN0aW9uKCl7QnIoKX0pfSxCcj1mdW5jdGlvbigpe3pyJiYoXy5WZCh6ciksenI9bnVsbCk7UG0mJlBtLmxlbmd0aCYmUW0oUG0uam9pbigiIikpO1BtPW51bGx9LERyPW5ldyBBcjt2YXIgRXI9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEVyLF8uSik7dmFyIFRtPV8uS2koRXIpO3ZhciBTbTt2YXIgRnI9ZnVuY3Rpb24oYSl7dGhpcy51cmw9YTt0aGlzLnRpbWVvdXQ9LTE7dGhpcy5qPXRoaXMuaD0iY2FsbGJhY2siO3RoaXMuZz10aGlzLndiPW51bGx9LEpyPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7YS5nPUdvKCk7dmFyIGM9bmV3IFpsKGEudXJsKSxkPW5ldyBNYXA7YS5qJiZkLnNldChhLmosYS5oKTtjLmcuZXh0ZW5kKFhvKGIpLGQpO0dyKGEpLnRoZW4oZnVuY3Rpb24oKXtIcihhLGMudG9TdHJpbmcoKSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZy5wcm9taXNlfSkudGhlbihmdW5jdGlvbigpe0lyKGEpfSxmdW5jdGlvbigpe0lyKGEpfSk7YS50aW1lb3V0PjAmJihhLmw9c2V0VGltZW91dChmdW5jdGlvbigpe2EuZy5yZWplY3QoRXJyb3IoInJhIikpfSxhLnRpbWVvdXQpKTtyZXR1cm4gYS5nLnByb21pc2V9LEhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1lc3NhZ2VDaGFubmVsO2Eud2IuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7dXJsOmIsCmNhbGxiYWNrTmFtZTphLmh9LCIqIixbYy5wb3J0Ml0pO2MucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKGQpe3ZhciBlPXt9O2EubCE9PXZvaWQgMCYmKGNsZWFyVGltZW91dChhLmwpLGEubD12b2lkIDApO2QuZGF0YT09PXZvaWQgMCYmYS5nLnJlamVjdChFcnJvcigic2EiKSk7dHlwZW9mIGQuZGF0YSE9PSJzdHJpbmciJiZhLmcucmVqZWN0KEVycm9yKCJ0YSIpKTt0cnl7ZT1KU09OLnBhcnNlKGQuZGF0YSl9Y2F0Y2goZil7YS5nLnJlamVjdChFcnJvcigidWFgIitmLm1lc3NhZ2UpKX1hLmcucmVzb2x2ZShlKX19LEdyPWZ1bmN0aW9uKGEpe3ZhciBiPUdvKCksYz1fLndkKGRvY3VtZW50LCJJRlJBTUUiKTtpZighYy5zYW5kYm94KXRocm93IEVycm9yKCJ2YSIpO2Muc2FuZGJveC52YWx1ZT0iYWxsb3ctc2NyaXB0cyI7Yy5zdHlsZS5kaXNwbGF5PSJub25lIjthLndiPWM7YT1WbSgpO2E9U2woW18ubWwoIjwhRE9DVFlQRSBodG1sPiIpLFlsKFFsKGEpKV0pO2Muc3JjZG9jPV8ua2ooYSk7CmE9RmwoImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9VVRGLTg7YmFzZTY0LCIrYnRvYShfLmtqKGEpLnRvU3RyaW5nKCkpKTtjLnNyYz1fLk5hKGEpLnRvU3RyaW5nKCk7Yy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3JldHVybiBiLnJlc29sdmUoYyl9LCExKTtjLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihkKXtiLnJlamVjdChkIGluc3RhbmNlb2YgRXJyb3I/ZDpFcnJvcihTdHJpbmcoZCkpKX0sITEpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChjKTtyZXR1cm4gYi5wcm9taXNlfSxJcj1mdW5jdGlvbihhKXthLndiIT09bnVsbCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChhLndiKSxhLndiPW51bGwpfTt2YXIgS3I9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9bmV3IFpsKGEpO2lmKGIpZm9yKHZhciBjIGluIGIpYltjXSE9PU9iamVjdC5wcm90b3R5cGVbY10mJnRoaXMuZy5nLnNldChjLGJbY10pfTtfLkIoS3IsXy51KTtLci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07S3IucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGEoKX07S3IucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ZaShudWxsKX07S3IucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe307dmFyIExyPWZ1bmN0aW9uKGEsYixjKXtLci5jYWxsKHRoaXMsYSxiKTthPXRoaXMuaD1uZXcgRnIodGhpcy5nKTthLmg9ImNhbGxiYWNrIjthLmo9Yz09PXZvaWQgMD8iY2FsbGJhY2siOmN9O18uQihMcixLcik7THIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuITB9OwpMci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhKXtyZXR1cm4gSnIodGhpcy5oLGEpfTtMci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2EuY2FuY2VsKCl9O3ZhciBNcj1mdW5jdGlvbihhLGIpe0tyLmNhbGwodGhpcyxhLGIpO3RoaXMuaD17fTt0aGlzLmo9MH07Xy5CKE1yLEtyKTtNci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Ck1yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz11cigpLGQ9Kyt0aGlzLmosZT17fSxmPXt9OyJxImluIGEmJihmLnE9YS5xLGRlbGV0ZSBhLnEpO2UuaGE9bmV3IF8uV2Y7dGhpcy5nLmguZW5kc1dpdGgoIi5jb3JwLmdvb2dsZS5jb20iKSYmKGUuaGEuQz0hMCk7dmFyIGc9bmV3IF8ub2UoZnVuY3Rpb24oaCxrKXtfLngoZS5oYSwiY29tcGxldGUiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpe2lmKF8uZ2coZS5oYSkpe3ZhciBsPV8uaWcoZS5oYSk7TnIoYixkKTtyZXR1cm4gaChsKX1iLnhpKCk7bD1fLmlnKGUuaGEpO05yKGIsZCk7cmV0dXJuIGsobCl9fSk7Xy54KGUuaGEsInRpbWVvdXQiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpcmV0dXJuIGIuemkoKSxOcihiLGQpLGsoKX0pfSk7ZS5oYS5zZW5kKHRoaXMuZy50b1N0cmluZygpKyImIitycihhKSwiUE9TVCIscnIoZikseyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSk7CnRoaXMuaFtkXT1lO3ZyKGMpO3JldHVybiBnfTtNci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaFthXTtiJiYoYi5SZT0hMCxOcih0aGlzLGEpKX07dmFyIE5yPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oW2JdO2MmJihjLmhhJiYoYy5oYS5kaXNwb3NlKCksYy5oYT1udWxsKSxkZWxldGUgYS5oW2JdKX07TXIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtLci5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO2Zvcih2YXIgYSBpbiB0aGlzLmgpdGhpcy5jYW5jZWwoYSl9O0RyLmF0dGFjaCgxNzE3MCxNci5wcm90b3R5cGUse3ppOjEseGk6Mn0pO3ZhciBPcj1mdW5jdGlvbihhLGIsYyl7S3IuY2FsbCh0aGlzLGEsYyk7dGhpcy5oPWIucHJveHlJc1N1cHBvcnRlZDt0aGlzLmo9ZnVuY3Rpb24oZCxlLGYpe3JldHVybiBfLllpKGIucHJveHlTZW5kKGQsZSxmKSl9O3RoaXMubD1iLnByb3h5Q2FuY2VsfTtfLkIoT3IsS3IpO09yLnByb3RvdHlwZS5UYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmgoKX07Ck9yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaih0aGlzLmcudG9TdHJpbmcoKSxhLGIpfTtPci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3RoaXMubChhKX07dmFyIFByPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPWI/YjpudWxsfTtfLkIoUHIsXy51KTtQci5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTt2YXIgUnI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy51LmNhbGwodGhpcyk7dmFyIGU7Yj9lPXtjbGllbnQ6Yn06ZT17YW5ubzozLGNsaWVudDp0cSxmb3JtYXQ6Imh0bWwiLHY6IjEuMCJ9O2MmJihlLnNwPWMpO2Uua2V5PWE7T24mJihlLmxvZ2xkPSJ2IitPbik7dGhpcy5nPW51bGw7dGhpcy5oPXtIZjozMDB9O2E9dGhpcy5BPW5ldyBQcihlLGQpO2I9dnEreXE7dGhpcy5vPWEuZz9uZXcgT3IoYixhLmcse2NsaWVudDp0cX0pOm5ldyBMcihiLHtjbGllbnQ6dHF9KTthPXRoaXMuQTtpZihhLmcpe2lmKCFhLmcpdGhyb3cgRXJyb3IoIndhIik7YT1be3ZhOm5ldyBPcih2cSt1cSsiL3RyYW5zbGF0ZV9hL3QiLGEuZyxhLmgpLGNlOjE5MDAsSWY6NDI5NDk2NzI5NSxHZjotMSxXZjowLEtkOiExfV19ZWxzZSBhPVt7dmE6bmV3IE1yKHZxK3VxKyIvdHJhbnNsYXRlX2EvdCIsYS5oKSxjZTozMDcyMCxJZjo0Mjk0OTY3Mjk1LEdmOi0xLFdmOjAsS2Q6ITF9XTt0aGlzLkI9bmV3IFFyKGEpO3RoaXMuaj0KITE7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil0aGlzLmo9dGhpcy5qfHxhW2JdLnZhLlRhKCk7dGhpcy5qfHx0aGlzLm5pKCl9O18uQihScixfLnUpO1JyLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe3RoaXMuQ3x8KHRoaXMuQz0hMCx0aGlzLkIuc3RhcnQoKDAsXy55KShmdW5jdGlvbihiKXtiJiYodGhpcy5nPWIsdGhpcy5oLnZhPWIudmEpO2EoKX0sdGhpcykpKX07UnIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07UnIucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZyE9PW51bGwmJnRoaXMuZy52YSE9PW51bGwmJnRoaXMuZy52YS5TYSgpfTsKdmFyIFNyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17cTpjLnN1YnN0cmluZygwLGEuaC5IZiksc2w6ImF1dG8iLHRsOiJlbiJ9O3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihlLGYpe2EuaC52YS5zZW5kKGQsYikudGhlbihmdW5jdGlvbihnKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShnKTtlKGgmJmhbMV18fG51bGwpfWNhdGNoKGspe2UobnVsbCl9fSxmdW5jdGlvbihnKXtyZXR1cm4gZihnfHxudWxsKX0pfSl9OwpSci5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9dGhpcyxsPXtxOmIsc2w6Yyx0bDpkfTtsLnRjPWU7ZiYmKGwuY3R0PTEpO2cmJihsLmRvbT0xKTtoJiYobC5zcj0xKTtsW2hxKCldPWdxKGIuam9pbigiIikpO3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihuLHEpe2suZy52YS5zZW5kKGwsYSkudGhlbihmdW5jdGlvbihwKXtpZihwKXtpZih0eXBlb2YgcCE9PSJvYmplY3QiKXRyeXtwPUpTT04ucGFyc2UocCl9Y2F0Y2goQSl7ay5taSgpO3EoKTtyZXR1cm59aWYoXy5vYyhwKSE9ImFycmF5Iil2YXIgcj1bW3AsMjAwXV07ZWxzZSBpZihwLmxlbmd0aD09MiYmXy5vYyhwWzBdKSE9ImFycmF5IiYmXy5vYyhwWzFdKSE9ImFycmF5IilyPVtbcFswXSwyMDAscFsxXV0sW3BbMV0sMjAwLHBbMV1dXTtlbHNle3I9W107Zm9yKHZhciB0PTA7dDxwLmxlbmd0aDsrK3Qpclt0XT1fLm9jKHBbdF0pIT0iYXJyYXkiP1twW3RdLDIwMF06W3BbdF1bMF0sCjIwMCxwW3RdWzFdXX1uKHIpfWVsc2UgcSgpfSl9KX07dmFyIFRyPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIF8ub2U/Yi50aGVuKGZ1bmN0aW9uKGMpe2EuZy52YS5jYW5jZWwoYyl9KTphLmcudmEuY2FuY2VsKGIpfTtSci5wcm90b3R5cGUubD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuS2Q/dGhpcy5nLmNlLShuZXcgWmwodGhpcy5nLnZhLmcpKS50b1N0cmluZygpLmxlbmd0aDp0aGlzLmcuY2V9O1JyLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nJiYodGhpcy5nLnZhLmRpc3Bvc2UoKSx0aGlzLmcudmE9bnVsbCk7dGhpcy5oLnZhPW51bGw7dGhpcy5vLmRpc3Bvc2UoKTt0aGlzLm89bnVsbH07RHIuYXR0YWNoKDczNjEsUnIucHJvdG90eXBlLHtuaTpmdW5jdGlvbigpe1FtKCJ0ZV9hdSIpfX0pO0RyLmF0dGFjaCg0NzUwNCxSci5wcm90b3R5cGUse21pOmZ1bmN0aW9uKCl7UW0oInRlX2FmYnIiKX19KTsKdmFyIFFyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtRci5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5qPTA7VXIodGhpcyl9O3ZhciBVcj1mdW5jdGlvbihhKXtpZihhLmo+PWEuaC5sZW5ndGgpYS5nKG51bGwpO2Vsc2V7dmFyIGI9YS5oW2EuaisrXTtiLklpP29yKG5ldyBucigoMCxfLnkpKGIudmEuU2EsYi52YSksKDAsXy55KShmdW5jdGlvbihjKXtjP3RoaXMuZyhiKTpVcih0aGlzKX0sYSksYi5JaSkpOmIudmEuU2EoKT9hLmcoYik6VXIoYSl9fTt2YXIgVnI9aXIoIkEgQUJCUiBBQ1JPTllNIEIgQkFTRUZPTlQgQkRPIEJJRyBDSVRFIERGTiBFTSBGT05UIEkgSU5QVVQgTk9CUiBMQUJFTCBRIFJUIFMgU01BTEwgU1BBTiBTVFJJS0UgU1RST05HIFNVQiBTVVAgVEVYVEFSRUEgVFQgVSBWQVIiLnNwbGl0KCIgIikpLFdyPWlyKCJBUFBMRVQgQVJFQSBCQVNFIEZSQU1FIEZSQU1FU0VUIEhSIExJTksgTUVUQSBOT0ZSQU1FUyBOT1NDUklQVCBJTlBVVCBURVhUQVJFQSBUSVRMRSIuc3BsaXQoIiAiKSksWHI9aXIoIkJSIENPREUgSU1HIEtCRCBNQVAgT0JKRUNUIFBBUkFNIFJQIFNDUklQVCBTVFlMRSBXQlIgc3ZnIi5zcGxpdCgiICIpKSxZcj1pcihbInN1Ym1pdCIsImJ1dHRvbiJdKTtYbS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBacn07dmFyIFpyPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07WG0ucHJvdG90eXBlLm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIGFzPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5oPSEhYjt0aGlzLm5vZGU9bnVsbDt0aGlzLmc9MDt0aGlzLmo9ITE7dGhpcy5sPSFjO2EmJiRyKHRoaXMsYSxkKTt0aGlzLmRlcHRoPWUhPXZvaWQgMD9lOnRoaXMuZ3x8MDt0aGlzLmgmJih0aGlzLmRlcHRoKj0tMSl9O18uRyhhcyxYbSk7dmFyICRyPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEubm9kZT1iKWEuZz10eXBlb2YgYz09PSJudW1iZXIiP2M6YS5ub2RlLm5vZGVUeXBlIT0xPzA6YS5oPy0xOjE7dHlwZW9mIGQ9PT0ibnVtYmVyIiYmKGEuZGVwdGg9ZCl9LGJzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaD8tMToxO2EuZz09YiYmKGEuZz1iKi0xLGEuZGVwdGgrPWEuZyooYS5oPy0xOjEpKX07CmFzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy5qKXtpZighdGhpcy5ub2RlfHx0aGlzLmwmJnRoaXMuZGVwdGg9PTApcmV0dXJuIFpyO3ZhciBhPXRoaXMubm9kZTt2YXIgYj10aGlzLmg/LTE6MTtpZih0aGlzLmc9PWIpe3ZhciBjPXRoaXMuaD9hLmxhc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yz8kcih0aGlzLGMpOiRyKHRoaXMsYSxiKi0xKX1lbHNlKGM9dGhpcy5oP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcpPyRyKHRoaXMsYyk6JHIodGhpcyxhLnBhcmVudE5vZGUsYiotMSk7dGhpcy5kZXB0aCs9dGhpcy5nKih0aGlzLmg/LTE6MSl9ZWxzZSB0aGlzLmo9ITA7cmV0dXJuKGE9dGhpcy5ub2RlKT97dmFsdWU6YSxkb25lOiExfTpacn07YXMucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlPT10aGlzLm5vZGUmJighdGhpcy5ub2RlfHxhLmc9PXRoaXMuZyl9Owphcy5wcm90b3R5cGUuc3BsaWNlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubm9kZSxjPXRoaXMuaD8xOi0xO3RoaXMuZz09YyYmKHRoaXMuZz1jKi0xLHRoaXMuZGVwdGgrPXRoaXMuZyoodGhpcy5oPy0xOjEpKTt0aGlzLmg9IXRoaXMuaDthcy5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMpO3RoaXMuaD0hdGhpcy5oO2M9Xy5xYShhcmd1bWVudHNbMF0pP2FyZ3VtZW50c1swXTphcmd1bWVudHM7Zm9yKHZhciBkPWMubGVuZ3RoLTE7ZD49MDtkLS0peG8oY1tkXSxiKTtfLkFkKGIpfTt2YXIgZHM9ZnVuY3Rpb24oYSxiKXt0aGlzLmw9ITE7dGhpcy5qPV8uU2M/W106bnVsbDt0aGlzLmg9W107dGhpcy5kb25lPSExO2Zvcih0aGlzLmc9bmV3IGFzKGEsITEsYixhLm5vZGVUeXBlPT09Mz8wOjEsMSk7YT1hLnBhcmVudE5vZGU7KWNzKHRoaXMsYSwhMCk7dGhpcy5oLnB1c2goITEpO3RoaXMuaC5yZXZlcnNlKCk7Zm9yKGE9MTthPHRoaXMuaC5sZW5ndGg7KythKXRoaXMuaFthXT09bnVsbCYmKHRoaXMuaFthXT10aGlzLmhbYS0xXSl9LGNzPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6Yzt2YXIgZD0oYi5zdHlsZSYmYi5zdHlsZS53aGl0ZVNwYWNlfHwiIikuc3Vic3RyaW5nKDAsMyk7ZD09PSJwcmUifHwhZCYmYi50YWdOYW1lPT09IlBSRSI/YS5oLnB1c2goITApOmQmJmQhPT0icHJlIj9hLmgucHVzaCghMSk6Yz9hLmgucHVzaChudWxsKTphLmgucHVzaChhLmhbYS5oLmxlbmd0aC0xXSl9LGVzPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5oW2EuaC5sZW5ndGgtCjFdfTtkcy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcubm9kZX07ZHMucHJvdG90eXBlLmRlcHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5kZXB0aH07CmRzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZz09PS0xJiZ0aGlzLmoubGVuZ3RoLS07dGhpcy5nLmc9PT0tMSYmdGhpcy5oLmxlbmd0aC0tO2lmKHRoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZyE9PTEmJiF0aGlzLmcubm9kZS5uZXh0U2libGluZykkcih0aGlzLmcsdGhpcy5qW3RoaXMuai5sZW5ndGgtMV0sLTEsdGhpcy5nLmRlcHRoLTEpO2Vsc2V7dmFyIGE9dGhpcy5nLm5leHQoKTt0aGlzLmw9ITA7aWYoYS5kb25lKXt0aGlzLmRvbmU9ITA7cmV0dXJufXRoaXMuaiYmdGhpcy5nLmc9PT0xJiZ0aGlzLmoucHVzaCh0aGlzLmcubm9kZSl9dGhpcy5nLmc9PT0xJiZ0aGlzLmwmJmNzKHRoaXMsdGhpcy5nLm5vZGUpfWNhdGNoKGIpe3RoaXMud2koYiksdGhpcy5kb25lPSEwfX07RHIuYXR0YWNoKDUyNzU0LGRzLnByb3RvdHlwZSx7d2k6MX0pO3ZhciBRPXt9LGZzPWZ1bmN0aW9uKCl7UVswXT0iT3ZlcnNldHQiO1FbMV09IkF2YnJ5dCI7UVsyXT0iTHVrayI7UVszXT1mdW5jdGlvbihhKXtyZXR1cm4iR29vZ2xlIGhhciBvdmVyc2F0dCBkZW5uZSBzaWRlbiB0aWwgIithKyIgYXV0b21hdGlzayJ9O1FbNF09ZnVuY3Rpb24oYSl7cmV0dXJuIk92ZXJzYXR0IHRpbDogIithfTtRWzVdPSJGZWlsOiBUamVuZXJlbiBrdW5uZSBpa2tlIGZ1bGxmXHUwMGY4cmUgZm9yZXNwXHUwMGY4cnNlbGVuLiBQclx1MDBmOHYgcFx1MDBlNSBueXR0IHNlbmVyZS4iO1FbNl09IkxlcyBtZXIiO1FbN109ZnVuY3Rpb24oYSl7cmV0dXJuIkRyZXZldCBhdiAiK2F9O1FbOF09Ik92ZXJzZXR0ZXIiO1FbOV09Ik92ZXJzZXR0ZWxzZSBwXHUwMGU1Z1x1MDBlNXIiO1FbMTBdPWZ1bmN0aW9uKGEpe3JldHVybiJWaWwgZHUgb3ZlcnNldHRlIGRlbm5lIHNpZGVuIHRpbCAiK2ErIiBtZWQgR29vZ2xlIE92ZXJzZXR0ZXI/In07UVsxMV09ZnVuY3Rpb24oYSl7cmV0dXJuIlZpcyBkZW5uZSBzaWRlbiBwXHUwMGU1OiAiKwphfTtRWzEyXT0iVmlzIG9yaWdpbmFsIjtRWzEzXT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgbG9rYWxlIGZpbGVuIHNlbmRlcyB0aWwgR29vZ2xlIHZpYSBlbiBzaWtrZXIgdGlsa29ibGluZyBmb3IgXHUwMGU1IGJsaSBvdmVyc2F0dC4iO1FbMTRdPSJJbm5ob2xkZXQgcFx1MDBlNSBkZW5uZSBzaWtyZSBzaWRlbiBzZW5kZXMgdGlsIEdvb2dsZSB2aWEgZW4gc2lra2VyIHRpbGtvYmxpbmcgZm9yIFx1MDBlNSBibGkgb3ZlcnNhdHQuIjtRWzE1XT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgaW50cmFuZXR0c2lkZW4gc2VuZGVzIHRpbCBHb29nbGUgdmlhIGVuIHNpa2tlciB0aWxrb2JsaW5nIGZvciBcdTAwZTUgYmxpIG92ZXJzYXR0LiI7UVsxNl09IlZlbGcgc3ByXHUwMGU1ayI7UVsxN109ZnVuY3Rpb24oYSl7cmV0dXJuIlNsXHUwMGU1IGF2IG92ZXJzZXR0ZWxzZSB0aWwgIithfTtRWzE4XT1mdW5jdGlvbihhKXtyZXR1cm4iRGVha3RpdmVyIGZvcjogIithfTtRWzE5XT0iU2tqdWwgYWxsdGlkIjsKUVsyMF09Ik9yaWdpbmFsdGVrc3Q6IjtRWzIxXT0iQmlkcmEgbWVkIGVuIGJlZHJlIG92ZXJzZXR0ZWxzZSI7UVsyMl09IkJpZHJhIjtRWzIzXT0iT3ZlcnNldHQgYWx0IjtRWzI0XT0iR2plbm9wcHJldHQgYWx0IjtRWzI1XT0iQXZicnl0IGFsdCI7UVsyNl09Ik92ZXJzZXR0IGRlbGVuZSB0aWwgbWl0dCBzcHJcdTAwZTVrIjtRWzI3XT1mdW5jdGlvbihhKXtyZXR1cm4iT3ZlcnNldHQgYWx0IHRpbCAiK2F9O1FbMjhdPSJWaXMgb3BwcmlubmVsaWdlIHNwclx1MDBlNWsiO1FbMjldPSJBbHRlcm5hdGl2ZXIiO1FbMzBdPSJTbFx1MDBlNSBhdiBvdmVyc2V0dGVsc2UgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbMzFdPW51bGw7UVszMl09IlZpcyBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzMzXT0iS2xpa2sgcFx1MDBlNSBvcmQgb3ZlbmZvciBmb3IgXHUwMGU1IGZcdTAwZTUgYWx0ZXJuYXRpdmUgb3ZlcnNldHRlbHNlciI7UVszNF09IkJydWsiO1FbMzVdPSJEcmEgbWVkIFNoaWZ0LXRhc3QgZm9yIFx1MDBlNSBlbmRyZSByZWtrZWZcdTAwZjhsZ2UiOwpRWzM2XT0iS2xpa2sgZm9yIFx1MDBlNSBzZSBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzM3XT0iSG9sZCBuZWRlIFNoaWZ0LXRhc3Rlbiwga2xpa2ssIG9nIGRyYSBkZXJldHRlciBvcmRlbmUgb3ZlbmZvciBmb3IgXHUwMGU1IGVuZHJlIHBcdTAwZTUgcmVra2VmXHUwMGY4bGdlbi4iO1FbMzhdPSJUYWtrIGZvciBhdCBkdSBiaWRyYXIgbWVkIG92ZXJzZXR0ZWxzZXNmb3JzbGFnZXQgZGl0dCB0aWwgR29vZ2xlIE92ZXJzZXR0ZXIuIjtRWzM5XT0iQWRtaW5pc3RyZXIgb3ZlcnNldHRpbmcgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbNDBdPSJLbGlrayBwXHUwMGU1IGV0IG9yZCBmb3IgXHUwMGU1IHNlIGFsdGVybmF0aXZlIG92ZXJzZXR0ZWxzZXIsIGVsbGVyIGRvYmJlbHRrbGlrayBmb3IgXHUwMGU1IHJlZGlnZXJlIGRpcmVrdGUiO1FbNDFdPSJPcHByaW5uZWxpZyB0ZWtzdCI7UVs0Ml09Ik92ZXJzZXR0ZXIiO1FbNDNdPSJPdmVyc2V0dCI7UVs0NF09IlJldHRpbmdlbiBkaW4gZXIgc2VuZHQgaW5uLiI7ClFbNDVdPSJGZWlsOiBTcHJcdTAwZTVrZXQgdGlsIG5ldHRzaWRlbiBzdFx1MDBmOHR0ZXMgaWtrZS4iO1FbNDZdPSJNb2R1bCBmb3Igc3ByXHUwMGU1a292ZXJzZXR0aW5nIjtRWzQ3XT0iR2kgZW4gdnVyZGVyaW5nIGF2IGRlbm5lIG92ZXJzZXR0ZWxzZW4iO1FbNDhdPSJUaWxiYWtlbWVsZGluZ2VuIGRpbiBicnVrZXMgZm9yIFx1MDBlNSBnalx1MDBmOHJlIEdvb2dsZSBPdmVyc2V0dGVyIGJlZHJlIjtRWzQ5XT0iR29kIG92ZXJzZXR0ZWxzZSI7UVs1MF09IkRcdTAwZTVybGlnIG92ZXJzZXR0ZWxzZSI7UVs1MV09Ik92ZXJzZXR0ZWxzZSJ9O3ZhciBncz1mdW5jdGlvbigpe3JldHVybiJbbXNnX3VuZGVmaW5lZF0ifSxSPXt9OwooZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihiKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYn19O1I9e0llOmEoMCksbWc6YSgxKSxBZTphKDIpLFdqOmEoMyksRGc6YSg0KSxDZTphKDUpLHdnOmEoNDUpLHhnOmEoNiksemc6YSg3KSx3ZDphKDgpLEVnOmEoOSksc2s6YSgxMCksSmc6YSgxMSksQWc6YSgxMiksbGs6YSgxMyksQ2c6YSgxNCksa2s6YSgxNSksQmc6YSgxNiksdms6YSgxNyksRmc6YSgxOCksamo6YSgxOSksVWo6YSgyMCksSWo6YSgyMSksbWs6YSgyMiksZWs6YSgyMyksZGs6YSgyNCksYms6YSgyNSksdGs6YSgyNikscms6YSgyNyksY2s6YSgyOCkseWc6YSgyOSksR2c6YSgzMCksaWo6YSgzMiksZ2o6YSgzMyksd2s6YSgzNCkseGo6YSgzNSkscGo6YSgzNiksd2o6YSgzNyksbms6YSgzOCksUWo6YSgzOSksaGo6YSg0MCksVmo6YSg0MSksRWU6YSg0NiksWGo6YSg0NyksSGo6YSg0OCksR2o6YSg0OSksRmo6YSg1MCksdWs6YSg1MSl9fSkoKTtSLkNsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMF19OwpSLlprPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMV19O1IuYmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVsyXX07Ui5ubD1mdW5jdGlvbigpe3JldHVybiBRWzNdfTtSLkRsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbNF19O1IuZmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1XX07Ui5obD1mdW5jdGlvbigpe3JldHVybiBRWzQ1XX07Ui5pbD1mdW5jdGlvbigpe3JldHVybiBRWzZdfTtSLm9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbN119O1IuR2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs4XX07Ui5JbD1mdW5jdGlvbigpe3JldHVybiBRWzldfTtSLkZsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTBdfTtSLk9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTFdfTtSLnBsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTJdfTtSLnlsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTNdfTtSLnpsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTRdfTtSLnhsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTVdfTtSLnFsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTZdfTsKUi5MbD1mdW5jdGlvbigpe3JldHVybiBRWzE3XX07Ui5LbD1mdW5jdGlvbigpe3JldHVybiBRWzE4XX07Ui5Zaz1mdW5jdGlvbigpe3JldHVybiBRWzE5XX07Ui5sbD1mdW5jdGlvbigpe3JldHVybiBRWzIwXX07Ui5zaD1mdW5jdGlvbigpe3JldHVybiBRWzQxXX07Ui5lbD1mdW5jdGlvbigpe3JldHVybiBRWzIxXX07Ui5BbD1mdW5jdGlvbigpe3JldHVybiBRWzIyXX07Ui53bD1mdW5jdGlvbigpe3JldHVybiBRWzIzXX07Ui52bD1mdW5jdGlvbigpe3JldHVybiBRWzI0XX07Ui5ybD1mdW5jdGlvbigpe3JldHVybiBRWzI1XX07Ui5IbD1mdW5jdGlvbigpe3JldHVybiBRWzI2XX07Ui5FbD1mdW5jdGlvbigpe3JldHVybiBRWzI3XX07Ui51bD1mdW5jdGlvbigpe3JldHVybiBRWzI4XX07Ui5rbD1mdW5jdGlvbigpe3JldHVybiBRWzI5XX07Ui5NbD1mdW5jdGlvbigpe3JldHVybiBRWzMwXX07Ui5qbD1mdW5jdGlvbigpe3JldHVybiBRWzM5XX07Ui5Yaz1mdW5jdGlvbigpe3JldHVybiBRWzMyXX07ClIuVms9ZnVuY3Rpb24oKXtyZXR1cm4gUVszM119O1IuV2s9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0MF19O1IuTmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNF19O1IuZGw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNV19O1IuYWw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNl19O1IuY2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVszN119O1IuQmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszOF19O1IuZ2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0Nl19O1IudGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0N119O1Iucmg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OF19O1IucWg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OV19O1IucGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MF19O1IuSmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MV19O3ZhciBocz1SO3ZhciBpcz1ocy5zaCxqcz1ocy50aCxrcz1ocy5yaCxscz1ocy5xaCxtcz1ocy5waDt2YXIgcHM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5kaXI7YT1hLmNqO3JldHVybiBWbihXbihWbihXbihWbihfLnlsKCksJzxkaXYgaWQ9Imdvb2ctZ3QtdHQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItTDdsYmtiIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsgYm9yZGVyLXJhZGl1czogMTJweDsgbWFyZ2luOiAwIDAgMCAtMjNweDsgcGFkZGluZzogMDsgZm9udC1mYW1pbHk6IFwnR29vZ2xlIFNhbnNcJywgQXJpYWwsIHNhbnMtc2VyaWY7IiBkYXRhLWlkPSIiPjxkaXYgaWQ9Imdvb2ctZ3QtdnQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kIikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VZDdmciIpKyciPjxpbWcgc3JjPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS9wcm9kdWN0bG9nb3MvdHJhbnNsYXRlL3YxNC8yNHB4LnN2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBhbHQ9IiIvPjxkaXYgY2xhc3M9IicrCihiPT09InJ0bCI/IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGQiKSsiICI6IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1pM2pNOGMiKSsiICIpKyciIGRpcj0iJytQKGIpKyciPicrS3AoaXMoKSkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtazc3SWlmIikrJyI+PGRpdiBpZD0iZ29vZy1ndC1vcmlnaW5hbC10ZXh0IiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLW5WTWZjZC1mbWNtUyIpKyIgIitQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1heEFWMSIpKyciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIikrIiAiK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIikrIiAiK1AoYikrJyIgZGlyPSInK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2IiKSsKJyI+JytLcChqcygpKSsnPC9kaXY+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2UiKSsnIj4nK0twKGtzKCkpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLXhnb3Y1IikrIiAiK1AoYikrJyI+JyksYj09PSJydGwiP1duKFduKF8ueWwoKSxucygpKSxvcygpKTpXbihXbihfLnlsKCksb3MoKSksbnMoKSkpLCI8L2Rpdj48L2Rpdj4iKSwoMCxfLnRsKSgnPGRpdiBpZD0iZ29vZy1ndC12b3RpbmdIaWRkZW5QYW5lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48Zm9ybSBpZD0iZ29vZy1ndC12b3RpbmdGb3JtIiBhY3Rpb249IicrUChVcChhKSkrJyIgbWV0aG9kPSJwb3N0IiB0YXJnZXQ9InZvdGluZ0ZyYW1lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2wiIGlkPSJnb29nLWd0LXZvdGluZ0lucHV0U3JjTGFuZyIvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0bCIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRUcmdMYW5nIi8+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InF1ZXJ5IiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZ3RyYW5zIiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFRyZ1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idm90ZSIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRWb3RlIi8+PC9mb3JtPjxpZnJhbWUgbmFtZT0idm90aW5nRnJhbWUiIGZyYW1lQm9yZGVyPTA+PC9pZnJhbWU+PC9kaXY+JykpLAoiPC9kaXY+PC9kaXY+Iil9LG9zPWZ1bmN0aW9uKCl7dmFyIGE9Xy55bCgpLGI9bHMoKTtiPVZuKGEsJzxidXR0b24gaWQ9Imdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2YiKSsnIiB0aXRsZT0iJytQKGIpKyciIGFyaWEtbGFiZWw9IicrUChiKSsnIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYlVwSWNvbiI+Jyk7dmFyIGM9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMjEgN2gtNi4zMWwuOTUtNC41Ny4wMy0uMzJjMC0uNDEtLjE3LS43OS0uNDQtMS4wNkwxNC4xNyAwUzcuMDggNi44NSA3IDdIMnYxM2gxNmMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczVjljMC0xLjEtLjktMi0yLTJ6TTcgMThINFY5aDN2OXptMTQtN2wtMyA3SDlWOGw0LjM0LTQuMzRMMTIgOWg5djJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iVXBJY29uRmlsbGVkIj4nKTtjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTIxIDdoLTYuMzFsLjk1LTQuNTcuMDMtLjMyYzAtLjQxLS4xNy0uNzktLjQ0LTEuMDZMMTQuMTcgMFM3LjA4IDYuODUgNyA3djEzaDExYy44MyAwIDEuNTQtLjUgMS44NC0xLjIybDMuMDItNy4wNWMuMDktLjIzLjE0LS40Ny4xNC0uNzNWOWMwLTEuMS0uOS0yLTItMnpNNSA3SDF2MTNoNFY3eiIvPjwvc3ZnPicpO1ZuKFduKGIsYyksIjwvc3Bhbj48L2J1dHRvbj4iKTtyZXR1cm4gYX0sbnM9ZnVuY3Rpb24oKXt2YXIgYT1fLnlsKCksYj1tcygpO2I9Vm4oYSwnPGJ1dHRvbiBpZD0iZ29vZy1ndC10aHVtYkRvd25CdXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrClAoIlZJcGdKZC15QVdORWItaHZoZ05kLWJnbTZzZiIpKyciIHRpdGxlPSInK1AoYikrJyIgYXJpYS1sYWJlbD0iJytQKGIpKyciIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb24iPicpO3ZhciBjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTMgMTdoNi4zMWwtLjk1IDQuNTctLjAzLjMyYzAgLjQxLjE3Ljc5LjQ0IDEuMDZMOS44MyAyNHM3LjA5LTYuODUgNy4xNy03aDVWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnpNMTcgNmgzdjloLTNWNnpNMyAxM2wzLTdoOXYxMGwtNC4zNCA0LjM0TDEyIDE1SDN2LTJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb25GaWxsZWQiPicpO2M9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMyAxN2g2LjMxbC0uOTUgNC41Ny0uMDMuMzJjMCAuNDEuMTcuNzkuNDQgMS4wNkw5LjgzIDI0czcuMDktNi44NSA3LjE3LTdWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnptMTYgMGg0VjRoLTR2MTN6Ii8+PC9zdmc+Jyk7Vm4oV24oYixjKSwiPC9zcGFuPjwvYnV0dG9uPiIpO3JldHVybiBhfTt2YXIgcXM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiljJiYoYT0oMCxfLnkpKGEsYykpO2Vsc2UgaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLnkpKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcigieGEiKTtyZXR1cm4gTnVtYmVyKGIpPjIxNDc0ODM2NDc/LTE6Xy52LnNldFRpbWVvdXQoYSxifHwwKX07dmFyIHJzPWZ1bmN0aW9uKCl7aWYoXy5aYyl7dmFyIGE9L1dpbmRvd3MgTlQgKFswLTkuXSspLztyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiMCJ9cmV0dXJuIF8uWWM/KGE9LzFbMHwxXVtfLl1bMC05Xy5dKy8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMF0ucmVwbGFjZSgvXy9nLCIuIik6IjEwIik6Xy4kYz8oYT0vQW5kcm9pZFxzKyhbXlwpO10rKShcKXw7KS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV06IiIpOl8uYWR8fF8uYmR8fF8uY2Q/KGE9Lyg/OmlQaG9uZXxDUFUpXHMrT1NccysoXFMrKS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV0ucmVwbGFjZSgvXy9nLCIuIik6IiIpOiIifSgpO3ZhciBzcz1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiIn0sdHM9ZnVuY3Rpb24oKXtpZihfLkpoKXJldHVybiBzcygvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoXy5TY3x8Xy5UY3x8Xy5SYylyZXR1cm4gXy5qZDtpZihfLk5oKXtpZihfLiRhKCl8fF8uYWIoKSl7dmFyIGE9c3MoL0NyaU9TXC8oWzAtOS5dKykvKTtpZihhKXJldHVybiBhfXJldHVybiBzcygvQ2hyb21lXC8oWzAtOS5dKykvKX1pZihfLk9oJiYhXy4kYSgpKXJldHVybiBzcygvVmVyc2lvblwvKFswLTkuXSspLyk7aWYoXy5LaHx8Xy5MaCl7aWYoYT0vVmVyc2lvblwvKFxTKykuKk1vYmlsZVwvKFxTKykvLmV4ZWMoXy5UYSgpKSlyZXR1cm4gYVsxXSsiLiIrYVsyXX1lbHNlIGlmKF8uTWgpcmV0dXJuKGE9c3MoL0FuZHJvaWRccysoWzAtOS5dKykvKSk/YTpzcygvVmVyc2lvblwvKFswLTkuXSspLyk7cmV0dXJuIiJ9KCk7Xy5HKFltLF8uaGIpO18ubT1ZbS5wcm90b3R5cGU7Xy5tLkVhPW51bGw7Xy5tLkRjPSEwO18ubS5OZT1udWxsO18ubS56Yj0hMTtfLm0uWmQ9LTE7Xy5tLlViPSJ0b2dnbGVfZGlzcGxheSI7Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5FYX07Xy5tLlFiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuemIpdGhyb3cgRXJyb3IoInlhIik7dGhpcy5FYT1hfTtfLm0ucmU9ZnVuY3Rpb24oYSl7aWYodGhpcy56Yil0aHJvdyBFcnJvcigieWEiKTt0aGlzLkRjPWF9O18ubS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56Yn07Cl8ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkwmJnRoaXMuTC5zdG9wKCk7dGhpcy5LJiZ0aGlzLksuc3RvcCgpO2lmKGEpe2lmKCF0aGlzLnpiJiZ0aGlzLnVkKCkpe2lmKCF0aGlzLkVhKXRocm93IEVycm9yKCJ6YSIpO3RoaXMucGIoKTthPV8uc2QodGhpcy5FYSk7dGhpcy5EYyYmKHRoaXMubC5OKGEsIm1vdXNlZG93biIsdGhpcy5OZiwhMCksdGhpcy5sLk4oYSwiYmx1ciIsdGhpcy5FaSkpO3RoaXMuVWI9PSJ0b2dnbGVfZGlzcGxheSI/KHRoaXMuRWEuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsbXAodGhpcy5FYSwhMCkpOnRoaXMuVWI9PSJtb3ZlX29mZnNjcmVlbiImJnRoaXMucGIoKTt0aGlzLnpiPSEwO3RoaXMuWmQ9RGF0ZS5ub3coKTt0aGlzLkw/KF8uTmQodGhpcy5MLCJlbmQiLHRoaXMuT2YsITEsdGhpcyksdGhpcy5MLnBsYXkoKSk6dGhpcy5PZigpfX1lbHNlIHVzKHRoaXMpfTtfLm0ucGI9ZnVuY3Rpb24oKXt9Owp2YXIgdXM9ZnVuY3Rpb24oYSxiKXthLnpiJiZhLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImJlZm9yZWhpZGUiLHRhcmdldDpifSkmJihhLmwmJl8uUmYoYS5sKSxhLnpiPSExLGEuSz8oXy5OZChhLkssImVuZCIsXy5aaihhLlNlLGIpLCExLGEpLGEuSy5wbGF5KCkpOmEuU2UoYikpfTtfLm09WW0ucHJvdG90eXBlO18ubS5TZT1mdW5jdGlvbihhKXt0aGlzLlViPT0idG9nZ2xlX2Rpc3BsYXkiP3RoaXMuYWkoKTp0aGlzLlViPT0ibW92ZV9vZmZzY3JlZW4iJiYodGhpcy5FYS5zdHlsZS50b3A9Ii0xMDAwMHB4Iik7dGhpcy5nZShhKX07Xy5tLmFpPWZ1bmN0aW9uKCl7dGhpcy5FYS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO21wKHRoaXMuRWEsITEpfTtfLm0udWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KCJiZWZvcmVzaG93Iil9O18ubS5PZj1mdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgic2hvdyIpfTsKXy5tLmdlPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiaGlkZSIsdGFyZ2V0OmF9KX07Xy5tLk5mPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7Xy5CZCh0aGlzLkVhLGEpfHx2cyh0aGlzLGEpfHxEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzLGEpfTtfLm0uRWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZCh0aGlzLkVhKTtpZih0eXBlb2YgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9InVuZGVmaW5lZCIpe2lmKGE9Yi5hY3RpdmVFbGVtZW50LCFhfHxfLkJkKHRoaXMuRWEsYSl8fGEudGFnTmFtZT09IkJPRFkifHx2cyh0aGlzLGEpKXJldHVybn1lbHNlIGlmKGEudGFyZ2V0IT1iKXJldHVybjtEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzKX07dmFyIHZzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueGMoYS5OZXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGI9PT1jfHxfLkJkKGMsYil9KX07ClltLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7WW0uZWEuTS5jYWxsKHRoaXMpO3RoaXMubC5kaXNwb3NlKCk7Xy5wYSh0aGlzLkwpO18ucGEodGhpcy5LKTtkZWxldGUgdGhpcy5FYTtkZWxldGUgdGhpcy5sO2RlbGV0ZSB0aGlzLk5lfTtfLkcoYm4sXy5oYik7Ym4ucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLmRiKGEuZyk7Yi50eXBlPWEudHlwZT09ImZvY3VzaW4ifHxhLnR5cGU9PSJmb2N1cyI/ImZvY3VzaW4iOiJmb2N1c291dCI7dGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtibi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe2JuLmVhLk0uY2FsbCh0aGlzKTtfLlZkKHRoaXMuaCk7Xy5WZCh0aGlzLmopO2RlbGV0ZSB0aGlzLmd9O2NuLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7fTt2YXIgeXM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg7aWYoaD1jLm9mZnNldFBhcmVudCl7dmFyIGs9aC50YWdOYW1lPT0iSFRNTCJ8fGgudGFnTmFtZT09IkJPRFkiO2lmKCFrfHxjcChoLCJwb3NpdGlvbiIpIT0ic3RhdGljIil7dmFyIGw9aHAoaCk7aWYoIWspe2s9InJ0bCI9PWNwKGgsImRpcmVjdGlvbiIpO3ZhciBuO2lmKG49ayl7bj1fLk9oJiZMbCh0cywxMCk+PTA7dmFyIHE7aWYocT1fLmRkKXE9TGwocnMsMTApPj0wO3ZhciBwPV8uTmgmJkxsKHRzLDg1KT49MDtuPV8uVWN8fG58fHF8fHB9az1uPy1oLnNjcm9sbExlZnQ6ayYmY3AoaCwib3ZlcmZsb3dYIikhPSJ2aXNpYmxlIj9oLnNjcm9sbFdpZHRoLWguY2xpZW50V2lkdGgtaC5zY3JvbGxMZWZ0Omguc2Nyb2xsTGVmdDtsPWFvKGwsbmV3IHpsKGssaC5zY3JvbGxUb3ApKX19fWg9bHx8bmV3IHpsO2w9aHAoYSk7az1scChhKTtsPW5ldyB3bShsLngsbC55LGsud2lkdGgsay5oZWlnaHQpO2lmKGs9aXAoYSkpcD0KbmV3IHdtKGsubGVmdCxrLnRvcCxrLnJpZ2h0LWsubGVmdCxrLmJvdHRvbS1rLnRvcCksaz1NYXRoLm1heChsLmxlZnQscC5sZWZ0KSxuPU1hdGgubWluKGwubGVmdCtsLndpZHRoLHAubGVmdCtwLndpZHRoKSxrPD1uJiYocT1NYXRoLm1heChsLnRvcCxwLnRvcCkscD1NYXRoLm1pbihsLnRvcCtsLmhlaWdodCxwLnRvcCtwLmhlaWdodCkscTw9cCYmKGwubGVmdD1rLGwudG9wPXEsbC53aWR0aD1uLWssbC5oZWlnaHQ9cC1xKSk7bj1fLmxiKGEpO2s9Xy5sYihjKTtuLmchPWsuZyYmKG49bi5nLmJvZHksaz1qcChuLGsuZy5kZWZhdWx0Vmlldyksaz1hbyhrLGhwKG4pKSxsLmxlZnQrPWsueCxsLnRvcCs9ay55KTthPXdzKGEsYik7Yj1sLmxlZnQ7YSY0P2IrPWwud2lkdGg6YSYyJiYoYis9bC53aWR0aC8yKTtiPW5ldyB6bChiLGwudG9wKyhhJjE/bC5oZWlnaHQ6MCkpO2I9YW8oYixoKTtlJiYoYi54Kz0oYSY0Py0xOjEpKmUueCxiLnkrPShhJjE/LTE6MSkqZS55KTt2YXIgcjtnJiYocj0KaXAoYykpJiYoci50b3AtPWgueSxyLnJpZ2h0LT1oLngsci5ib3R0b20tPWgueSxyLmxlZnQtPWgueCk7cmV0dXJuIHhzKGIsYyxkLGYscixnKX0seHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9RG4oYSk7dmFyIGc9d3MoYixjKTtjPWxwKGIpO3ZhciBoPW5ldyBfLkNhKGMud2lkdGgsYy5oZWlnaHQpO2E9RG4oYSk7aD1uZXcgXy5DYShoLndpZHRoLGguaGVpZ2h0KTt2YXIgaz0wO2lmKGR8fGchPTApZyY0P2EueC09aC53aWR0aCsoZD9kLnJpZ2h0OjApOmcmMj9hLngtPWgud2lkdGgvMjpkJiYoYS54Kz1kLmxlZnQpLGcmMT9hLnktPWguaGVpZ2h0KyhkP2QuYm90dG9tOjApOmQmJihhLnkrPWQudG9wKTtmJiYoZT8oZD1oLGc9MCwoZiY2NSk9PTY1JiYoYS54PGUubGVmdHx8YS54Pj1lLnJpZ2h0KSYmKGYmPS0yKSwoZiYxMzIpPT0xMzImJihhLnk8ZS50b3B8fGEueT49ZS5ib3R0b20pJiYoZiY9LTUpLGEueDxlLmxlZnQmJmYmMSYmKGEueD1lLmxlZnQsZ3w9MSksZiYxNiYmKGs9CmEueCxhLng8ZS5sZWZ0JiYoYS54PWUubGVmdCxnfD00KSxhLngrZC53aWR0aD5lLnJpZ2h0JiYoZC53aWR0aD1NYXRoLm1pbihlLnJpZ2h0LWEueCxrK2Qud2lkdGgtZS5sZWZ0KSxkLndpZHRoPU1hdGgubWF4KGQud2lkdGgsMCksZ3w9NCkpLGEueCtkLndpZHRoPmUucmlnaHQmJmYmMSYmKGEueD1NYXRoLm1heChlLnJpZ2h0LWQud2lkdGgsZS5sZWZ0KSxnfD0xKSxmJjImJihnfD0oYS54PGUubGVmdD8xNjowKXwoYS54K2Qud2lkdGg+ZS5yaWdodD8zMjowKSksYS55PGUudG9wJiZmJjQmJihhLnk9ZS50b3AsZ3w9MiksZiYzMiYmKGs9YS55LGEueTxlLnRvcCYmKGEueT1lLnRvcCxnfD04KSxhLnkrZC5oZWlnaHQ+ZS5ib3R0b20mJihkLmhlaWdodD1NYXRoLm1pbihlLmJvdHRvbS1hLnksaytkLmhlaWdodC1lLnRvcCksZC5oZWlnaHQ9TWF0aC5tYXgoZC5oZWlnaHQsMCksZ3w9OCkpLGEueStkLmhlaWdodD5lLmJvdHRvbSYmZiY0JiYoYS55PU1hdGgubWF4KGUuYm90dG9tLWQuaGVpZ2h0LAplLnRvcCksZ3w9MiksZiY4JiYoZ3w9KGEueTxlLnRvcD82NDowKXwoYS55K2QuaGVpZ2h0PmUuYm90dG9tPzEyODowKSksZT1nKTplPTI1NixrPWUpO2U9bmV3IHdtKDAsMCwwLDApO2UubGVmdD1hLng7ZS50b3A9YS55O2Uud2lkdGg9aC53aWR0aDtlLmhlaWdodD1oLmhlaWdodDthPWs7aWYoYSY0OTYpcmV0dXJuIGE7ZXAoYixuZXcgemwoZS5sZWZ0LGUudG9wKSk7aD1uZXcgXy5DYShlLndpZHRoLGUuaGVpZ2h0KTtfLnljKGMsaCl8fHBwKGIsaCwiYm9yZGVyLWJveCIpO3JldHVybiBhfSx3cz1mdW5jdGlvbihhLGIpe3JldHVybihiJjgmJiJydGwiPT1jcChhLCJkaXJlY3Rpb24iKT9iXjQ6YikmLTl9O18uRyhkbixjbik7ZG4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLHZvaWQgMCxjLHRoaXMubCl9O18uRyhlbixjbik7ZW4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKChhP18uc2QoYSk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudCwwLGEsYix0aGlzLmcsYyxudWxsKX07Xy5HKGZuLFltKTtmbi5wcm90b3R5cGUucGI9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPSF0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLlViIT0ibW92ZV9vZmZzY3JlZW4iLGI9dGhpcy5IKCk7YSYmKGIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixtcChiLCEwKSk7dGhpcy5vLmgoYiw4LHRoaXMuWGIpO2EmJm1wKGIsITEpfX07Xy5HKE8sZm4pO3ZhciB6cz1bXTtfLm09Ty5wcm90b3R5cGU7Xy5tLnlhPW51bGw7Xy5tLmNsYXNzTmFtZT0iVklwZ0pkLXN1RU9kYyI7Xy5tLlpmPTUwMDtfLm0ud2Y9MDtfLm0uYXR0YWNoPWZ1bmN0aW9uKGEpe2E9Z24oYSk7dGhpcy5BLmFkZChhKTtfLngoYSwibW91c2VvdmVyIix0aGlzLlVkLCExLHRoaXMpO18ueChhLCJtb3VzZW91dCIsdGhpcy5OYiwhMSx0aGlzKTtfLngoYSwibW91c2Vtb3ZlIix0aGlzLmdiLCExLHRoaXMpO18ueChhLCJmb2N1cyIsdGhpcy5mYiwhMSx0aGlzKTtfLngoYSwiYmx1ciIsdGhpcy5OYiwhMSx0aGlzKX07Xy5tLmRldGFjaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2E/KGE9Z24oYSksQXModGhpcyxhKSx0aGlzLkEuZGVsZXRlKGEpKToodGhpcy5BLmZvckVhY2goZnVuY3Rpb24oYyl7QXMoYixjKX0pLHRoaXMuQS5jbGVhcigpKX07CnZhciBBcz1mdW5jdGlvbihhLGIpe18uVWQoYiwibW91c2VvdmVyIixhLlVkLCExLGEpO18uVWQoYiwibW91c2VvdXQiLGEuTmIsITEsYSk7Xy5VZChiLCJtb3VzZW1vdmUiLGEuZ2IsITEsYSk7Xy5VZChiLCJmb2N1cyIsYS5mYiwhMSxhKTtfLlVkKGIsImJsdXIiLGEuTmIsITEsYSl9O08ucHJvdG90eXBlLkthPWZ1bmN0aW9uKGEpe18uQ2QodGhpcy5IKCksYSl9OwpPLnByb3RvdHlwZS5RYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkgoKTtiJiZfLkFkKGIpO08uZWEuUWIuY2FsbCh0aGlzLGEpO2E/KGI9dGhpcy5HLmcuYm9keSxiLmluc2VydEJlZm9yZShhLGIubGFzdENoaWxkKSxfLnBhKHRoaXMuQyksdGhpcy5DPW5ldyBibih0aGlzLkgoKSksXy5hayh0aGlzLF8uWmooXy5wYSx0aGlzLkMpKSxfLngodGhpcy5DLCJmb2N1c2luIix0aGlzLkQsdm9pZCAwLHRoaXMpLF8ueCh0aGlzLkMsImZvY3Vzb3V0Iix0aGlzLlQsdm9pZCAwLHRoaXMpKTooXy5wYSh0aGlzLkMpLHRoaXMuQz1udWxsKX07Ty5wcm90b3R5cGUudmQ9ZnVuY3Rpb24oKXtyZXR1cm4gRW8odGhpcy5IKCkpfTt2YXIgQnM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuRj9hLmlzVmlzaWJsZSgpPzQ6MTphLkk/MzphLmlzVmlzaWJsZSgpPzI6MH07Ck8ucHJvdG90eXBlLnVkPWZ1bmN0aW9uKCl7aWYoIVltLnByb3RvdHlwZS51ZC5jYWxsKHRoaXMpKXJldHVybiExO2lmKHRoaXMuZylmb3IodmFyIGEsYj0wO2E9enNbYl07YisrKV8uQmQoYS5IKCksdGhpcy5nKXx8YS5wYSghMSk7Xy51YSh6cyx0aGlzKTthPXRoaXMuSCgpO2EuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lO3RoaXMuRCgpO18ueChhLCJtb3VzZW92ZXIiLHRoaXMuVWMsITEsdGhpcyk7Xy54KGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO0NzKHRoaXMpO3JldHVybiEwfTsKTy5wcm90b3R5cGUuZ2U9ZnVuY3Rpb24oKXtfLnZhKHpzLHRoaXMpO2Zvcih2YXIgYT10aGlzLkgoKSxiLGM9MDtiPXpzW2NdO2MrKyliLmcmJl8uQmQoYSxiLmcpJiZiLnBhKCExKTt0aGlzLkhiJiZ0aGlzLkhiLlQoKTtfLlVkKGEsIm1vdXNlb3ZlciIsdGhpcy5VYywhMSx0aGlzKTtfLlVkKGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO3RoaXMuZz12b2lkIDA7QnModGhpcyk9PTAmJih0aGlzLlA9ITEpO1ltLnByb3RvdHlwZS5nZS5jYWxsKHRoaXMpfTtPLnByb3RvdHlwZS5kZT1mdW5jdGlvbihhLGIpe3RoaXMuZz09YSYmdGhpcy5BLmhhcyh0aGlzLmcpJiYodGhpcy5QfHwhdGhpcy5JZD8odGhpcy5wYSghMSksdGhpcy5pc1Zpc2libGUoKXx8KHRoaXMuZz1hLHRoaXMubz1ifHxuZXcgRHMoRG4odGhpcy5yYSkpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMucGIoKSx0aGlzLnBhKCEwKSkpOnRoaXMuZz12b2lkIDApO3RoaXMuRj12b2lkIDB9OwpPLnByb3RvdHlwZS5GYz1mdW5jdGlvbihhKXt0aGlzLkk9dm9pZCAwO2lmKGE9PXRoaXMuZyl7YT10aGlzLkc7dmFyIGI9YS5nO3RyeXt2YXIgYz1iJiZiLmFjdGl2ZUVsZW1lbnQ7dmFyIGQ9YyYmYy5ub2RlTmFtZT9jOm51bGx9Y2F0Y2goZSl7ZD1udWxsfWQ9ZCYmdGhpcy5IKCkmJmEuY29udGFpbnModGhpcy5IKCksZCk7dGhpcy55YSE9bnVsbCYmKHRoaXMueWE9PXRoaXMuSCgpfHx0aGlzLkEuaGFzKHRoaXMueWEpKXx8ZHx8dGhpcy5JYSYmdGhpcy5JYS55YXx8dGhpcy5wYSghMSl9fTt2YXIgRXM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1LbihhLkcuZyk7YS5yYS54PWIuY2xpZW50WCtjLng7YS5yYS55PWIuY2xpZW50WStjLnl9O08ucHJvdG90eXBlLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmcmJih0aGlzLmc9YixHcyh0aGlzLGIpLEhzKHRoaXMpLEVzKHRoaXMsYSkpfTsKdmFyIEZzPWZ1bmN0aW9uKGEsYil7dHJ5e2Zvcig7YiYmIWEuQS5oYXMoYik7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBifWNhdGNoKGMpe3JldHVybiBudWxsfX07Ty5wcm90b3R5cGUuZ2I9ZnVuY3Rpb24oYSl7RXModGhpcyxhKTt0aGlzLlA9ITB9O08ucHJvdG90eXBlLmZiPWZ1bmN0aW9uKGEpe3RoaXMueWE9YT1Gcyh0aGlzLGEudGFyZ2V0KTt0aGlzLlA9ITA7aWYodGhpcy5nIT1hKXt0aGlzLmc9YTt2YXIgYj1uZXcgSXModGhpcy55YSk7dGhpcy5EKCk7R3ModGhpcyxhLGIpO0hzKHRoaXMpfX07dmFyIEhzPWZ1bmN0aW9uKGEpe2lmKGEuZylmb3IodmFyIGIsYz0wO2I9enNbY107YysrKV8uQmQoYi5IKCksYS5nKSYmKGIuSWE9YSxhLkhiPWIpfTsKTy5wcm90b3R5cGUuTmI9ZnVuY3Rpb24oYSl7dmFyIGI9RnModGhpcyxhLnRhcmdldCksYz1Gcyh0aGlzLGEucmVsYXRlZFRhcmdldCk7YiE9YyYmKGI9PXRoaXMueWEmJih0aGlzLnlhPW51bGwpLENzKHRoaXMpLHRoaXMuUD0hMSwhdGhpcy5pc1Zpc2libGUoKXx8YS5yZWxhdGVkVGFyZ2V0JiZfLkJkKHRoaXMuSCgpLGEucmVsYXRlZFRhcmdldCk/dGhpcy5nPXZvaWQgMDp0aGlzLlQoKSl9O08ucHJvdG90eXBlLlVjPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5IKCk7dGhpcy55YSE9YSYmKHRoaXMuRCgpLHRoaXMueWE9YSl9O08ucHJvdG90eXBlLlRjPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuSCgpO3RoaXMueWEhPWJ8fGEucmVsYXRlZFRhcmdldCYmXy5CZChiLGEucmVsYXRlZFRhcmdldCl8fCh0aGlzLnlhPW51bGwsdGhpcy5UKCkpfTsKdmFyIEdzPWZ1bmN0aW9uKGEsYixjKXthLkZ8fChhLkY9cXMoKDAsXy55KShhLmRlLGEsYixjKSxhLlpmKSl9LENzPWZ1bmN0aW9uKGEpe2EuRiYmKF8udi5jbGVhclRpbWVvdXQoYS5GKSxhLkY9dm9pZCAwKX07Ty5wcm90b3R5cGUuVD1mdW5jdGlvbigpe0JzKHRoaXMpPT0yJiYodGhpcy5JPXFzKCgwLF8ueSkodGhpcy5GYyx0aGlzLHRoaXMuZyksdGhpcy53ZikpfTtPLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7dGhpcy5JJiYoXy52LmNsZWFyVGltZW91dCh0aGlzLkkpLHRoaXMuST12b2lkIDApfTtPLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dGhpcy5wYSghMSk7Q3ModGhpcyk7dGhpcy5kZXRhY2goKTt0aGlzLkgoKSYmXy5BZCh0aGlzLkgoKSk7dGhpcy55YT1udWxsO2RlbGV0ZSB0aGlzLkc7Ty5lYS5NLmNhbGwodGhpcyl9O3ZhciBEcz1mdW5jdGlvbihhLGIpe2VuLmNhbGwodGhpcyxhLGIpfTtfLkcoRHMsZW4pOwpEcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7Yj1pcCgoYT9fLnNkKGEpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpO2M9Yz9uZXcgdm0oYy50b3ArMTAsYy5yaWdodCxjLmJvdHRvbSxjLmxlZnQrMTApOm5ldyB2bSgxMCwwLDAsMTApO3hzKHRoaXMuZyxhLDgsYyxiLDkpJjQ5NiYmeHModGhpcy5nLGEsOCxjLGIsNSl9O3ZhciBJcz1mdW5jdGlvbihhKXtkbi5jYWxsKHRoaXMsYSw1KX07Xy5HKElzLGRuKTtJcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IHpsKDEwLDApO3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLGQsYyw5KSY0OTYmJnlzKHRoaXMuZWxlbWVudCw0LGEsMSxkLGMsNSl9O3ZhciBKcz1mdW5jdGlvbigpe08uY2FsbCh0aGlzKTt0aGlzLmxhPW51bGw7dGhpcy5SPW5ldyBfLkhiKHRoaXMpO3RoaXMuQj10aGlzLmo9dGhpcy5oPXRoaXMud2E9bnVsbDt0aGlzLk89ITB9O18uQihKcyxPKTtfLm09SnMucHJvdG90eXBlO18ubS5rYT1mdW5jdGlvbigpe3RoaXMuTz0hMTt2YXIgYT1fLnhmLnRlc3Qob3EpPyJydGwiOiJsdHIiO3RoaXMuUWIoa20ocHMse1VsOkVxLE9rOkNxLFJsOnhxLGRpcjphLGNqOklxfSkpO3RoaXMuY2xhc3NOYW1lKz0iIFZJcGdKZC15QVdORWItTDdsYmtiIHNraXB0cmFuc2xhdGUiOyhhPSEoIXRoaXMuSCgpfHwhdGhpcy5CKSkmJnRoaXMuUi5OKHdpbmRvdywicmVzaXplIiwoMCxfLnkpKHRoaXMucGIsdGhpcykpO3JldHVybiBhfTtfLm0uZGU9ZnVuY3Rpb24oYSxiKXt0aGlzLmxhPWE7Ty5wcm90b3R5cGUuZGUuY2FsbCh0aGlzLGEsYik7dGhpcy5IKCkuc3R5bGUuZGlzcGxheT0iYmxvY2sifTsKXy5tLlVkPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLk8pe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmc/KHRoaXMuZz1iLEdzKHRoaXMsYiksSHModGhpcyksRXModGhpcyxhKSk6R3ModGhpcyxiKX19O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5SJiZ0aGlzLlIuZGlzcG9zZSgpO3RoaXMuQj10aGlzLmxhPXRoaXMuUj1udWxsO08ucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Xy5tLnJlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaXNWaXNpYmxlKCkpe2E9KHRoaXMuRGM9YSk/dGhpcy5sLk46dGhpcy5sLnljO3ZhciBiPV8uc2QodGhpcy5IKCkpO2EuY2FsbCh0aGlzLmwsYiwibW91c2Vkb3duIix0aGlzLk5mLCEwKX1lbHNlIE8ucHJvdG90eXBlLnJlLmNhbGwodGhpcyxhKX07Xy5tLlFiPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLlFiLmNhbGwodGhpcyxhKTthJiYodGhpcy5CPXZvKGEpKX07Cl8ubS5wYj1mdW5jdGlvbihhLGIpe3ZhciBjPWhwKGRvY3VtZW50LmJvZHkpLnk7aWYodGhpcy5vKXsodGhpcy5vfHxudWxsKS5nLnkrPWM7Ty5wcm90b3R5cGUucGIuY2FsbCh0aGlzKTt2YXIgZD1wYXJzZUludCh0aGlzLkgoKS5zdHlsZS5sZWZ0LDEwKTthPXBhcnNlSW50KHRoaXMuSCgpLnN0eWxlLnRvcCwxMCktKGE/MDpjKTtiJiYoYj10aGlzLlhifHx7fSxhLT1iLnRvcHx8MTAsZC09Yi5sZWZ0fHwxMCk7YS09YzsodGhpcy5vfHxudWxsKS5nLnk9YTsodGhpcy5vfHxudWxsKS5nLng9ZDtjPW5ldyB6bChkLGEpO2VwKHRoaXMuSCgpLGMpfX07Xy5tLnBhPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLnBhLmNhbGwodGhpcyxhKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtfLm0ubmE9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O18ubS5LYT1mdW5jdGlvbihhKXthPWE/Xy5BYyhhKToiIjt0aGlzLkI/Xy5DZCh0aGlzLkIsYSk6Ty5wcm90b3R5cGUuS2EuY2FsbCh0aGlzLGEpfTsKXy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaH07Xy5tLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5tLnZkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj9Fbyh0aGlzLkIpOk8ucHJvdG90eXBlLnZkLmNhbGwodGhpcyl9O18ubS5OYj1mdW5jdGlvbihhKXt0aGlzLk98fE8ucHJvdG90eXBlLk5iLmNhbGwodGhpcyxhKX07Xy5tLlVjPWZ1bmN0aW9uKGEpe3RoaXMuT3x8Ty5wcm90b3R5cGUuVWMuY2FsbCh0aGlzLGEpfTtfLm0uVGM9ZnVuY3Rpb24oYSl7dGhpcy5PfHxPLnByb3RvdHlwZS5UYy5jYWxsKHRoaXMsYSl9O3ZhciBLcz1mdW5jdGlvbigpe3RoaXMuaD1uZXcgTWFwO3RoaXMuZz1XcShjcil9LE9zPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09TXMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDUpO2VyKGQsZSk7ZnIoZSw1KX1OcyhjLE1zKX0sITEpfSxRcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10aHVtYkRvd25CdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09UHMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDYpO2VyKGQsZSk7ZnIoZSw2KX1OcyhjLFBzKX0sITEpfSxUcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10dCIpLGM9Yi5kYXRhc2V0LGQ9Z24oImdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNMYW5nIiksZT1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFRyZ0xhbmciKSwKZj1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiKSxnPWduKCJnb29nLWd0LXZvdGluZ0lucHV0VHJnVGV4dCIpLGg9dm8oKSxrPWduKCJnb29nLWd0LXRyYW5zbGF0aW9uIiksbD1hLmgsbj1hLmc7d2luZG93LmRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZ29vZy1ndC1wb3B1cFNob3duIixmdW5jdGlvbihxKXt2YXIgcD1kcihuLDQpO2VyKG4scCk7ZnIocCw0KTtxPXEuZGV0YWlsO3A9U3RyaW5nKHEuR2QpO3E9cS5YaTtjLmlkPXA7cD1sLmdldChwKXx8UnM7U3MocCk7Yi5zdHlsZS53aWR0aD1NYXRoLm1heChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0xNiw1MzYpLDI4OCkrInB4IjtwPXEuSmEoKXx8IiI7dmFyIHI9cS5vYSgpfHwiIjtkLnZhbHVlPXA7ZS52YWx1ZT1yO2YudmFsdWU9cS52ZCgpO2cudmFsdWU9cS53YTtrJiYoay5pbm5lclRleHQ9cS53YSk7Yi5sYW5nPW9xO2gubGFuZz1wO2smJihrLmxhbmc9cik7Xy54Zi50ZXN0KHApJiYoaC5jbGFzc0xpc3QuYWRkKCJydGwiKSwKaC5kaXI9InJ0bCIpO2smJl8ueGYudGVzdChyKSYmKGsuY2xhc3NMaXN0LmFkZCgicnRsIiksay5kaXI9InJ0bCIpfSwhMSl9LFNzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWduKCJnb29nLWd0LXRodW1iVXBJY29uIiksZD1nbigiZ29vZy1ndC10aHVtYlVwSWNvbkZpbGxlZCIpLGU9Z24oImdvb2ctZ3QtdGh1bWJEb3duQnV0dG9uIiksZj1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uIiksZz1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uRmlsbGVkIik7Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Yy5zdHlsZS5kaXNwbGF5PSIiO2Quc3R5bGUuZGlzcGxheT0ibm9uZSI7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Zi5zdHlsZS5kaXNwbGF5PSIiO2cuc3R5bGUuZGlzcGxheT0ibm9uZSI7c3dpdGNoKGEpe2Nhc2UgTXM6Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKTtjLnN0eWxlLmRpc3BsYXk9CiJub25lIjtkLnN0eWxlLmRpc3BsYXk9IiI7YnJlYWs7Y2FzZSBQczplLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpLGYuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS5kaXNwbGF5PSIifWduKCJnb29nLWd0LXZvdGluZ0lucHV0Vm90ZSIpLnZhbHVlPWF9LExzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXR0IikuZGF0YXNldDtyZXR1cm4gYS5nZXQoYi5pZCl9LE5zPWZ1bmN0aW9uKGEsYil7THMoYSk9PT1iJiYoYj1Scyk7U3MoYik7dmFyIGM9Z24oImdvb2ctZ3QtdHQiKS5kYXRhc2V0O2Euc2V0KGMuaWQsYik7Z24oImdvb2ctZ3Qtdm90aW5nRm9ybSIpLnN1Ym1pdCgpfSxScz0oMCkudG9TdHJpbmcoKSxNcz0oMSkudG9TdHJpbmcoKSxQcz0oMikudG9TdHJpbmcoKTt2YXIgVXM9ZnVuY3Rpb24oYSl7dGhpcy5BPWE7dGhpcy5sPXRoaXMuaD10aGlzLm89dGhpcy5qPS0xO3RoaXMuZz0hMTt0aGlzLkM9MDt0aGlzLkQ9IiI7dGhpcy5GPTB9O1VzLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe2lmKCF0aGlzLmcpe3RoaXMuZz0hMDt2YXIgYT1bXSxiO2ZvcihiPTA7YjwxNTtiKyspYVtiXT1YcVswfE1hdGgucmFuZG9tKCkqNjJdO3RoaXMuRD1hLmpvaW4oIiIpO3RoaXMuQz0wO3RoaXMubD10aGlzLmg9dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkY9RGF0ZS5ub3coKTtxcyh0aGlzLkIsMUU0LHRoaXMpfX07VXMucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmc9ITEsVnModGhpcykpfTtVcy5wcm90b3R5cGUuQj1mdW5jdGlvbigpe3RoaXMuZyYmKFZzKHRoaXMpLHFzKHRoaXMuQiwxRTMsdGhpcykpfTsKdmFyIFZzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQS5sLGM9YS5BLkEsZD1hLkEuaixlPWEuQS5vO2lmKGEuaiE9Ynx8YS5vIT1jfHxhLmghPWR8fGEubCE9ZSl7dmFyIGY9e307Zi5jdD1iO2YuY3Y9YztmLmN0cz1kO2YuY3ZzPWU7Zi5zaWQ9YS5EO2Yuc2VxPWEuQysrO2YudGF0PURhdGUubm93KCktYS5GO2lmKGEuaj49MHx8YS5vPj0wfHxhLmg+PTB8fGEubD49MClmLnB0PWEuaixmLnB2PWEubyxmLnB0cz1hLmgsZi5wdnM9YS5sO1FtKCJ0ZV92IixmKTthLmo9YjthLm89YzthLmg9ZDthLmw9ZX19O3ZhciBXcz1mdW5jdGlvbigpe3RoaXMubz10aGlzLmo9dGhpcy5BPXRoaXMubD0wO3RoaXMuZz1bXTt0aGlzLmg9Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoMCxfLnkpKHRoaXMuQix0aGlzKSk6bnVsbH07V3MucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIpe3RoaXMuais9Yjt2YXIgYz10aGlzLmcubGVuZ3RoO3RoaXMuZy5wdXNoKGIpO2ZvcihiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07eW8oZCk/KGRbWHNdPWMsdGhpcy5sKz1FbyhkKS5sZW5ndGgsdGhpcy5oJiZ0aGlzLmgub2JzZXJ2ZShkKSk6dGhpcy5GZihkLm5vZGVUeXBlKX19O1dzLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07eW8oYyk/KGNbWHNdPXZvaWQgMCx0aGlzLmgmJnRoaXMuaC51bm9ic2VydmUoYykpOnRoaXMuRmYoYy5ub2RlVHlwZSl9fTsKV3MucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vPXRoaXMuaj10aGlzLkE9dGhpcy5sPTA7dGhpcy5nPVtdfTtXcy5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLmludGVyc2VjdGlvblJhdGlvPjAmJmMudGFyZ2V0W1hzXSE9bnVsbCl7dGhpcy5BKz1FbyhjLnRhcmdldCkubGVuZ3RoO3ZhciBkPWMudGFyZ2V0W1hzXTt0aGlzLm8rPXRoaXMuZ1tkXTt0aGlzLmdbZF09MDtkZWxldGUgYy50YXJnZXRbWHNdfX19O0RyLmF0dGFjaCgzNjU0NixXcy5wcm90b3R5cGUse0ZmOjF9KTt2YXIgWHM9Il9ndF8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKTt2YXIgWXM9e307WXMuYWRkPWtuO1lzLkRrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1obihhKTt0eXBlb2YgYj09PSJzdHJpbmciP18udmEoZCxiKTpBcnJheS5pc0FycmF5KGIpJiYoZD1sbihkLGIpKTt0eXBlb2YgYyE9PSJzdHJpbmcifHxfLnRhKGQsYyk/QXJyYXkuaXNBcnJheShjKSYmam4oZCxjKTpkLnB1c2goYyk7YS5jbGFzc05hbWU9ZC5qb2luKCIgIil9O1lzLmVuYWJsZT1vbjtZcy5nZXQ9aG47WXMuaGFzPW5uO1lzLnJlbW92ZT1tbjtZcy5zZXQ9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTmFtZT1ifTtZcy5obT1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWhuKGEpLGU9ITEsZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl09PWImJihkLnNwbGljZShmLS0sMSksZT0hMCk7ZSYmKGQucHVzaChjKSxhLmNsYXNzTmFtZT1kLmpvaW4oIiAiKSk7cmV0dXJuIGV9O1lzLnRvZ2dsZT1mdW5jdGlvbihhLGIpe3ZhciBjPSFubihhLGIpO29uKGEsYixjKTtyZXR1cm4gY307dmFyIFpzPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTthPWF8fHt9O3RoaXMuZz1KbChhKTt0aGlzLmcuaGM9YS5oYyE9PXZvaWQgMD9hLmhjOjE7dGhpcy5nLnZlPSEhYS52ZTt0aGlzLmcuYmg9cGFyc2VJbnQoYS5iaCwxMCl8fDMwMDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5PWEudHJhY2tWaXNpYmlsaXR5fHwhMTt0aGlzLmcuYXBpS2V5PWEuYXBpS2V5fHwiIjt0aGlzLkM9MDt0aGlzLmw9e307dGhpcy5CPW51bGw7dGhpcy5GPXRoaXMuRD0iIjt0aGlzLm89bmV3IF8uSGIodGhpcyk7dGhpcy5BPXRoaXMuaj10aGlzLmg9bnVsbDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5JiZfLnYuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIhPW51bGwmJih0aGlzLmo9bmV3IFdzLHRoaXMuQT1uZXcgVXModGhpcy5qKSk7dGhpcy5oPW5ldyBKcyh7U2k6dGhpcy5nLlNpfSk7dGhpcy5oLndmPTMwMDt0aGlzLmguWmY9MUUzO3RoaXMuaC5yZSghMCk7dGhpcy5vLk4odGhpcy5oLCJzaG93IiwoMCxfLnkpKHRoaXMub2csCnRoaXMpKTt0aGlzLm8uTih0aGlzLmgsImhpZGUiLCgwLF8ueSkodGhpcy5uZyx0aGlzKSk7dGhpcy5oLmthKCk7YT1uZXcgS3M7Z24oImdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIpJiYoT3MoYSksUXMoYSksVHMoYSkpfTtfLkIoWnMsXy5oYik7dmFyICRzPWZ1bmN0aW9uKGEpe2EuQSYmYS5BLnN0b3AoKTtmb3IodmFyIGIgaW4gYS5sKXt2YXIgYz1hLGQ9Yy5sW2JdO2lmKGQpe2MuaiYmYy5qLmRldGFjaChkLkFhKTtmb3IodmFyIGU9MDtlPGQuQWEubGVuZ3RoOysrZSlkLkFhW2VdJiZjLmRldGFjaChkLkFhW2VdKTtkZWxldGUgYy5sW2JdfX1hLmomJmEuai5yZXNldCgpfTtfLm09WnMucHJvdG90eXBlO18ubS5hdHRhY2g9ZnVuY3Rpb24oYSxiKXtiJiYoYi5HZD1hLHRoaXMuaC5hdHRhY2goYikpfTtfLm0uZGV0YWNoPWZ1bmN0aW9uKGEpe2EmJnRoaXMuaC5kZXRhY2goYSl9OwpfLm0ub2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgubGE7YT1hP2EuR2Q6dm9pZCAwO2lmKGEhPT12b2lkIDApe3ZhciBiPXRoaXMubFthXTthdCh0aGlzLHRoaXMuQiwhMSk7dGhpcy5CPWE7YXQodGhpcyxhKTt0aGlzLmguTmEoYi5UaSk7dGhpcy5oLm5hKGIuVmkpO3ZhciBjPWIuWjt0aGlzLmgud2E9YyYmXy5BYyhjKTt0aGlzLmguS2EoYi50ZXh0KX1hPW5ldyBDdXN0b21FdmVudCgiZ29vZy1ndC1wb3B1cFNob3duIix7ZGV0YWlsOntHZDphLFhpOnRoaXMuaH19KTt3aW5kb3cuZG9jdW1lbnQuYm9keS5kaXNwYXRjaEV2ZW50KGEpfTtfLm0ubmc9ZnVuY3Rpb24oKXthdCh0aGlzLHRoaXMuQiwhMSl9O18ubS5NPWZ1bmN0aW9uKCl7JHModGhpcyk7dGhpcy5oJiYodGhpcy5oLmRpc3Bvc2UoKSx0aGlzLmg9bnVsbCk7dGhpcy5vJiYodGhpcy5vLmRpc3Bvc2UoKSx0aGlzLm89bnVsbCk7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTsKdmFyIGF0PWZ1bmN0aW9uKGEsYixjKXtpZihhPWEubFtiXSlmb3IoYz1jfHx0eXBlb2YgYz09InVuZGVmaW5lZCIsYj0wO2I8YS5BYS5sZW5ndGg7KytiKWlmKGEuQWFbYl0pWXNbYz8iYWRkIjoicmVtb3ZlIl0oYS5BYVtiXSwiVklwZ0pkLXlBV05FYi1WSXBnSmQtZm1jbVMtc241NFEiKX07dmFyIGJ0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKWlmKGFbYl0mJmFbYl0ubm9kZSlyZXR1cm4gYVtiXS5ub2RlO3JldHVybiBudWxsfSxmdD1mdW5jdGlvbihhKXt2YXIgYj1idChhKTtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1bXSxkPVtdLGU9W107Yj1uZXcgZHMoYiwhMCk7dmFyIGY9YVthLmxlbmd0aC0xXS5ub2RlLGc9MCxoPSExO2Rve2IubmV4dCgpO3ZhciBrPWIubm9kZSgpO2lmKCFrKWJyZWFrO3ZhciBsPWIuZy5nLG49Yi5kZXB0aCgpO2ZvcihsPT0xJiYtLW47ZzxhLmxlbmd0aCYmIWFbZ10ubm9kZTspKytnO2s9PWFbZ10ubm9kZXx8IWgmJmw9PTEmJihrIT1udWxsJiZrLnByZXZpb3VzU2libGluZz09bnVsbD8wOiFjdChkdChrKSkpPyhsPWV0KGspLGQucHVzaCh7bm9kZTpsLEthOmZ1bmN0aW9uKCl7fX0pLGVbZC5sZW5ndGgtMV09bixrLnBhcmVudE5vZGUmJmsucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxrKSxrPT1hW2ddLm5vZGUmJgooY1tnKytdPWQubGVuZ3RoLTEsaD0hMCkpOmg9ITF9d2hpbGUoayE9Zik7cmV0dXJue3plOmUsR2k6YyxkaTpkfX0sY3Q9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJlhyW2EudGFnTmFtZV19LGR0PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIG51bGw7Zm9yKGE9YS5wcmV2aW91c1NpYmxpbmc7YSE9bnVsbCYmYSE9bnVsbCYmYS5ub2RlVHlwZT09MyYmXy5BYyhFbyhhKSk9PSIiOylhPWEucHJldmlvdXNTaWJsaW5nO3JldHVybiBhfSxqdD1mdW5jdGlvbihhLGIsYyxkLGUsZil7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1bXTtmb3IodmFyIGc9MDtnPGEubGVuZ3RoOysrZyl0aGlzLmcucHVzaCgibm9kZVR5cGUiaW4gYVtnXT9ndChhW2ddKTphW2ddKSxodChhW2ddLm5vZGUpO3RoaXMubD1iO3RoaXMuRD1kfHwwO3RoaXMuUj1lfHwwO3RoaXMuQz1jO3RoaXMuQj1mfHxudWxsO3RoaXMuSz10aGlzLkc9dGhpcy5MPSExO3RoaXMubz1bXTt0aGlzLkE9W107dGhpcy5oPVtdOwp0aGlzLk89W107bmV3IF8uSGIodGhpcyk7dGhpcy5qPXRoaXMuST0hMX0sZ3Q7Xy5CKGp0LF8uaGIpOwp2YXIgbXQ9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuITE7aWYoYS5ub2RlVHlwZSE9M3x8IV8uU2MpcmV0dXJuIGt0IGluIGEmJiEhYVtrdF07aWYoIWEucGFyZW50Tm9kZSlyZXR1cm4hMDtpZighKGx0IGluIGEucGFyZW50Tm9kZSkpcmV0dXJuITE7dmFyIGI9YS5wYXJlbnROb2RlW2x0XTtpZighYnx8IWJbYS5ub2RlVmFsdWVdKXJldHVybiExO2I9YlthLm5vZGVWYWx1ZV07Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2MpaWYoYltjXT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sbnQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4iIjtpZihhLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJuIFN0cmluZyhkb2N1bWVudC50aXRsZSk7YS5ub2RlVHlwZT09Mz9iPSJub2RlVmFsdWUiOmJ8fChiPSJ2YWx1ZSIpO3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoYik/U3RyaW5nKGEuZ2V0QXR0cmlidXRlKGIpKTp0eXBlb2YgYVtiXT09PSJzdHJpbmciP1N0cmluZyhhW2JdKToKIiJ9O2p0LnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmx9Owp2YXIgb3Q9ZnVuY3Rpb24oYSxiLGMpe2I9e1BmOmIsaGU6YyxVOltdfTthLmgucHVzaChiKTtyZXR1cm4gYn0scXQ9ZnVuY3Rpb24oYSl7aWYoIWEuaiYmYS5MJiYhYS5HJiYhYS5LKXthLkc9ITA7dmFyIGI7aWYoYj1wdChhLmcpKXtiPWEuZzt2YXIgYz1hLmg7aWYoYi5sZW5ndGg9PTEmJmJbMF0mJmJbMF0ueGUpe2Zvcih2YXIgZD1bXSxlPTA7ZTxjLmxlbmd0aDsrK2UpZm9yKHZhciBmPTA7ZjxjW2VdLlUubGVuZ3RoOysrZilkLnB1c2goY1tlXS5VW2ZdLlopO2JbMF0uS2EoZC5qb2luKCIgIiksYlswXS5ub2RlKTtiPSEwfWVsc2UgYj0hMTtiPSFifWlmKGImJihiPWZ0KGEuZykpKXthLkE9Yi5HaTthLm89Yi5kaTtkPWEuZztlPWEuQTtmPWEubzt2YXIgZz1iLnplO2M9W107Zm9yKHZhciBoPTA7aDxkLmxlbmd0aDsrK2gpaWYoY1toXT1bXSxkW2hdLm5vZGUmJmVbaF0hPT12b2lkIDApZm9yKHZhciBrPTA7azxmLmxlbmd0aDsrK2spaWYoIShnW2tdPmdbZVtoXV0pKXtpZihnW2tdPT0KZ1tlW2hdXSl7aWYoZltrXS5ub2RlLnBhcmVudE5vZGUhPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWVsc2V7Zm9yKHZhciBsPWdbZVtoXV0tZ1trXSxuPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlO2wtLSYmbiYmbiE9ZltrXS5ub2RlLnBhcmVudE5vZGU7KW49bi5wYXJlbnROb2RlO2lmKG4hPWZba10ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWNbaF0ucHVzaChrKX1kPWEuZztlPWEuaDtmPS0xO2ZvcihnPWUubGVuZ3RoLTE7Zz49MDstLWcpZm9yKGg9ZVtnXSxrPWguVS5sZW5ndGgtMTtrPj0wOy0taylpZihsPWguVVtrXSwhKGwuWDwwKSYmZFtsLlhdJiZkW2wuWF0ubm9kZSlpZihmPDApbC5YYz1pcihjW2wuWF0pLGY9Y1tsLlhdW2NbbC5YXS5sZW5ndGgtMV07ZWxzZSBmb3Iobj1jW2wuWF0ubGVuZ3RoLTE7bj49MDstLW4paWYoY1tsLlhdW25dPD1mKXtsLlhjPWlyKGNbbC5YXS5zbGljZSgwLG4rMSkpO2Y9Y1tsLlhdW25dO2JyZWFrfWZvcihjPWU9MDtjPGEuaC5sZW5ndGg7KytjKXtkPQphLmhbY107Zj1hLmc7Zz1kO2g9Yi56ZTtrPWEuQTtsPSIiO2ZvcihuPTA7bjxnLlUubGVuZ3RoOysrbil7dmFyIHE9Zy5VW25dO2wrPXEuWjtpZihxLlg8MCl7dmFyIHA9LTEscj0tMSx0PWtbZy5VW24tMV0uWF07dCE9PXZvaWQgMCYmKHA9aFt0XSk7bjxnLlUubGVuZ3RoLTEmJih0PWtbZy5VW24rMV0uWF0sdCE9PXZvaWQgMCYmKHI9aFt0XSkpO2lmKHA+PTB8fHI+PTApYTppZih0PShwPDB8fHI8cCkmJm48Zy5VLmxlbmd0aC0xLHA9ZixyPXEscT1nLlVbdD9uKzE6bi0xXSwhKHEuWD49cC5sZW5ndGh8fHBbcS5YXS5ub2RlPT1udWxsKSl7cD1yLlo7ci5aPSIiO2lmKC9eICskLy50ZXN0KHApJiYocj10P3EuWi5jaGFyQ29kZUF0KDApOnEuWi5jaGFyQ29kZUF0KHEuWi5sZW5ndGgtMSksMzU4NDw9ciYmcjw9MzcxMXx8MTIyODg8PXImJnI8PTEyMzUxfHwxMjM1Mjw9ciYmcjw9MTI1NDN8fDEyNzg0PD1yJiZyPD0xMjc5OXx8MTk5Njg8PXImJnI8PTQwOTU5fHw2NTI4MDw9ciYmcjw9CjY1NTE5KSlicmVhayBhO3EuWj10P3ArcS5aOnEuWitwfX19Zj1sO2c9YS5nO2g9ZDtrPWEubztsPWIuemU7bj1hLkE7cT1bXTtmb3IocD0wO3A8aC5VLmxlbmd0aCYmIShlPj1rLmxlbmd0aCk7KytwKWlmKHI9aC5VW3BdLHIuWGMmJiEoci5YPDApJiZnW3IuWF0ubm9kZSYmci5aKWlmKGU9PW5bci5YXXx8ZSBpbiByLlhjJiYoIShlKzEgaW4gci5YYyl8fGUrMSE9bltyLlhdKSl7aWYoa1tlXSYma1tlXS5ub2RlKXt0PWV0KGtbZV0ubm9kZSk7cS5wdXNoKHQpO2Zvcih2YXIgQT1rW2VdLm5vZGUsRD1sW25bci5YXV0tbFtlXSxFPXQsYmE9Z1tyLlhdLm5vZGUucGFyZW50Tm9kZSxaPUU7YmEmJkQtLTspWj1iYS5jbG9uZU5vZGUoITEpLFouYXBwZW5kQ2hpbGQoRSksYmE9YmEucGFyZW50Tm9kZSxFPVo7QS5hcHBlbmRDaGlsZChaKTtBPWdbci5YXS5ub2RlO2dbci5YXS5yZD9nW3IuWF0uemZ8fHQuYXBwZW5kQ2hpbGQoQSk6KEE9Z1tyLlhdLm5vZGUuY2xvbmVOb2RlKCExKSxBLmlkJiYKKEEuaWQ9IiIpLHQuYXBwZW5kQ2hpbGQoQSkpO2dbci5YXS5LYShyLlosQSl9fWVsc2UrK2UsLS1wO2c9cTtuPWEuZztxPWQ7aD1hLkM7aWYocS5QZiloPXEuUGY7ZWxzZXtsPW4ubGVuZ3RoO2s9LTE7Zm9yKHA9MDtwPHEuVS5sZW5ndGg7KytwKXI9cS5VW3BdLlgscj49MCYmbltyXSYmbltyXS5ub2RlJiYoaz1NYXRoLm1heChrLHIpLGw9TWF0aC5taW4obCxyKSk7Zm9yKG49IiI7bDw9azsrK2wpaFtsXSYmKG4rPWhbbF0pO2g9bn1sPWE7bj1nO3E9aDtpZihsLkIpe2lmKGwuQi5nLmhjIT0zKXtnPWwuTztoPWcucHVzaDtrPWwuQjtkPWQuaGU7ZD1rLmxbKytrLkNdPXtpZDprLkMudG9TdHJpbmcoKSxSazpsLHRleHQ6cSxmbTpkfHxxLFo6ZixUaTprLkQsVmk6ay5GLEFhOm59O2ZvcihmPTA7ZjxuLmxlbmd0aDsrK2YpbltmXSYmay5hdHRhY2goZC5pZCxuW2ZdKTtrLmomJmsuai5hdHRhY2gobixxLmxlbmd0aCk7ay5BJiZrLkEuc3RhcnQoKTtoLmNhbGwoZyxkLmlkKX19ZWxzZSBmb3IoZD0KMDtkPG4ubGVuZ3RoOysrZCluW2RdLnRpdGxlPXF9Yj1hLmc7Zm9yKGM9MDtjPGIubGVuZ3RoOysrYyliW2NdLm5vZGUmJiFiW2NdLnJkJiZfLkFkKGJbY10ubm9kZSk7Yj1hLmc7Yz1hLm87YT1hLkE7Zm9yKGU9ZD0wO2U8Yy5sZW5ndGg7KytlKWlmKGY9Y1tlXS5ub2RlKXtmb3IoO2Q8Yi5sZW5ndGgmJmU+YVtkXTspZCsrOyhkPj1iLmxlbmd0aHx8ZSE9YVtkXSkmJiFmLmZpcnN0Q2hpbGQmJihfLkFkKGYpLGNbZV0ubm9kZT1udWxsKX19fX07Cmp0LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5HKWlmKHRoaXMuRz0hMSx0aGlzLkImJiRzKHRoaXMuQiksdGhpcy5PPVtdLHB0KHRoaXMubyksdGhpcy5nLmxlbmd0aD09MSYmdGhpcy5nWzBdLnhlKXRoaXMuZ1swXS5LYSh0aGlzLkNbMF0sdGhpcy5nWzBdLm5vZGUpO2Vsc2V7Zm9yKHZhciBhPTAsYj0wO2I8dGhpcy5vLmxlbmd0aDsrK2Ipe3ZhciBjPXRoaXMub1tiXS5ub2RlO2lmKGMpe2Zvcig7YTx0aGlzLmcubGVuZ3RoJiZiPnRoaXMuQVthXTspe3ZhciBkPWErKzt0aGlzLmdbZF0ubm9kZSYmKHJ0KHRoaXMuZ1tkXS5ub2RlKSx0aGlzLmdbZF0ubm9kZT1udWxsKX1pZihhPHRoaXMuZy5sZW5ndGgmJmI9PXRoaXMuQVthXSYmdGhpcy5nW2FdLm5vZGUpe3RoaXMuZ1thXS56Znx8KF8uemQoYyksYy5hcHBlbmRDaGlsZCh0aGlzLmdbYV0ubm9kZSkpO3RoaXMuZ1thXS5LYSh0aGlzLkNbYV0sdGhpcy5nW2FdLm5vZGUpO2ErKzt2YXIgZT1jLnBhcmVudE5vZGU7CmlmKGUmJmUubm9kZVR5cGUhPTExKWlmKGMucmVtb3ZlTm9kZSljLnJlbW92ZU5vZGUoITEpO2Vsc2V7Zm9yKDtkPWMuZmlyc3RDaGlsZDspZS5pbnNlcnRCZWZvcmUoZCxjKTtfLkFkKGMpfX1lbHNlIF8uQWQoYyl9fXRoaXMubz1bXX19O2p0LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpO2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpdGhpcy5nW2FdLm5vZGUmJnJ0KHRoaXMuZ1thXS5ub2RlKTt0aGlzLmc9bnVsbH07CnZhciBodD1mdW5jdGlvbihhKXtpZihhKWlmKGEubm9kZVR5cGU9PTMmJl8uU2Mpe2x0IGluIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlW2x0XXx8KGEucGFyZW50Tm9kZVtsdF09e30pO3ZhciBiPWEucGFyZW50Tm9kZVtsdF07YlthLm5vZGVWYWx1ZV18fChiW2Eubm9kZVZhbHVlXT1bXSk7Yj1iW2Eubm9kZVZhbHVlXTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYylpZihiW2NdPT1hKXJldHVybjtiLnB1c2goYSl9ZWxzZSBhW2t0XT0xfSxydD1mdW5jdGlvbihhKXtpZighYXx8YS5ub2RlVHlwZT09MyYmXy5TYyl7dmFyIGI9YS5wYXJlbnROb2RlO2lmKGImJmx0IGluIGIpe3ZhciBjPWJbbHRdO2lmKGMmJmEmJmNbYS5ub2RlVmFsdWVdKXt2YXIgZD1jW2Eubm9kZVZhbHVlXTtpZihkKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7KytlKWlmKGRbZV09PWEpe2Quc3BsaWNlKGUsMSk7YnJlYWt9ZC5sZW5ndGg9PTAmJmRlbGV0ZSBjW2Eubm9kZVZhbHVlXX1pZihjJiZ3cihjKSl0cnl7ZGVsZXRlIGJbbHRdfWNhdGNoKGYpe2JbbHRdPQoiIn19fWVsc2UgaWYoa3QgaW4gYSl0cnl7ZGVsZXRlIGFba3RdfWNhdGNoKGYpe2Fba3RdPSIifX0scHQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpdHJ5e2FbYl0ubm9kZSYmIWFbYl0ubm9kZS5wYXJlbnROb2RlJiYoYVtiXS5ub2RlPW51bGwpfWNhdGNoKGMpe2FbYl0ubm9kZT1udWxsfWZvcihiPWEubGVuZ3RoLTE7Yj49MCYmIWFbYl0ubm9kZTstLWIpO2EubGVuZ3RoPWIrMTtyZXR1cm4gYS5sZW5ndGh9LGV0PWZ1bmN0aW9uKGEpe2E9YS5vd25lckRvY3VtZW50P2Eub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb250Iik6Xy53ZChkb2N1bWVudCwiZm9udCIpO2h0KGEpO2Euc3R5bGUudmVydGljYWxBbGlnbj0iaW5oZXJpdCI7Xy5vaShfLlppKHBxLDIpKSYmKGEuZGlyPSJhdXRvIik7cmV0dXJuIGF9LHN0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEuZy5sZW5ndGg7YysrKXt2YXIgZD1hLmdbY10ubm9kZTtkIT1udWxsJiYKYi5hZGQoZCl9cmV0dXJuIGJ9LHR0PWZ1bmN0aW9uKCl7dGhpcy5oPXt9O3RoaXMuZz17fX07dHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmhbYV0hPW51bGx8fHRoaXMuZ1thXSE9bnVsbHx8YiYmKGEgaW4gdGhpcy5ofHxhIGluIHRoaXMuZyl9O3R0LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIpe3RoaXMuZ1thXT1ifTt0dC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2RlbGV0ZSB0aGlzLmdbYV07ZGVsZXRlIHRoaXMuaFthXX07dHQucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nW2FdO2J8fChiPXRoaXMuaFthXSx0aGlzLmdbYV09Yik7cmV0dXJuIGJ9O3ZhciBrdD0iX2d0XyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpLGx0PSJfZ3RuXyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpOwooZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGMpe2RvY3VtZW50LnRpdGxlPWN9dmFyIGI9e307Z3Q9ZnVuY3Rpb24oYyxkKXtpZihjLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJue25vZGU6YyxLYTphLHJkOiEwLHpmOiEwLHhlOiEwfTtpZihjLm5vZGVUeXBlPT0zKXJldHVybntub2RlOmMsS2E6ZnVuY3Rpb24oZSxmKXtfLkNkKGYsZSl9fTtkfHwoZD0idmFsdWUiKTtiW2RdfHwoYltkXT1mdW5jdGlvbihlLGYpe2Yuc2V0QXR0cmlidXRlJiZmLnNldEF0dHJpYnV0ZShkLGUpO3R5cGVvZiBlPT09InN0cmluZyImJihmW2RdPWUpfSk7Yz17bm9kZTpjLEthOmJbZF0scmQ6ITB9O2QhPSJ2YWx1ZSImJihjLnhlPSEwKTtyZXR1cm4gY319KSgpOwp2YXIgdXQ9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kLmZpcnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09Mz9kLmZpcnN0Q2hpbGQubm9kZVZhbHVlOkVvKGQpO2Q9e1g6YyxaOnBvKGQpfTthLnB1c2goZCk7YltjXT9iW2NdLmVuZD1kOmJbY109e3N0YXJ0OmQsZW5kOmR9O3JldHVybiBkfSx2dD1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1hLmZpcnN0Q2hpbGQ7YztjPWIpYj1jLm5leHRTaWJsaW5nLGMubm9kZVR5cGUhPTMmJihjPT1hLmZpcnN0Q2hpbGQ/YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMsYSk6eG8oYyxhKSx2dChjKSl9O3ZhciB3dD1mdW5jdGlvbigpe3RoaXMuZz1bXX07d3QucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXt0aGlzLmcucHVzaChhKX07dmFyIHh0PWZ1bmN0aW9uKCl7dGhpcy5nPVtdfTtfLkIoeHQsd3QpO3h0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7aWYoYSlmb3IoO2EoKTspO307eHQuZz1mdW5jdGlvbigpe3JldHVybiBXcSh4dCl9O3ZhciB6dD1mdW5jdGlvbihhKXt0aGlzLmc9W107dGhpcy5oPS41O3l0KHRoaXMsYSk7dGhpcy5sPTA7dGhpcy5qPSEwO3RoaXMubz0oMCxfLnkpKHRoaXMuQSx0aGlzKX07Xy5CKHp0LHd0KTt2YXIgeXQ9ZnVuY3Rpb24oYSxiKXtiPjE/YS5oPTE6YjwuMDAxP2EuaD0uMDAxOmImJihhLmg9Yil9O3p0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7d3QucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMsYSk7dGhpcy5qJiZBdCh0aGlzKX07dmFyIEF0PWZ1bmN0aW9uKGEpe2Euaj0hMTt3aW5kb3cuc2V0VGltZW91dChhLm8sTWF0aC5taW4oYS5sLDVFMykpfTsKenQucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXt2YXIgYT0obmV3IERhdGUpLmdldFRpbWUoKTtkb3t0aGlzLmcubGVuZ3RoJiYodGhpcy5nWzBdJiZ0aGlzLmdbMF0oKXx8dGhpcy5nLnNoaWZ0KCkpO3ZhciBiPSEhdGhpcy5nLmxlbmd0aDt2YXIgYz05NSp0aGlzLmgrNTt2YXIgZD0obmV3IERhdGUpLmdldFRpbWUoKS1hfXdoaWxlKGImJmQ8Yyk7dGhpcy5sPU1hdGguY2VpbChkKigxL3RoaXMuaC0xKSkrMTtiP0F0KHRoaXMpOnRoaXMuaj0hMH07dmFyIEJ0PWZ1bmN0aW9uKGEsYil7dGhpcy5EPWF8fG51bGw7dGhpcy5JPWJ8fHh0LmcoKTt0aGlzLkI9dGhpcy5BPXRoaXMuRz1udWxsO3RoaXMubD10aGlzLmo9ITE7dGhpcy5vPW51bGw7dGhpcy5nPVtdO3RoaXMuaD0wfSxDdD1mdW5jdGlvbihhLGIpe2Euanx8KGEuRz1iKX0sRHQ9ZnVuY3Rpb24oYSxiLGMpe2EuQT1jPygwLF8ueSkoYixjKTpifSxFdD1mdW5jdGlvbihhLGIsYyl7YS5CPWM/KDAsXy55KShiLGMpOmJ9LEZ0PWZ1bmN0aW9uKGEsYil7YS5qfHwoYS5qPSEwLGEuRj1iLGEuaCsrLGEubz1hLkcsYS5DKCkpfTtCdC5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaCsrO3RoaXMuaj0hMTt0aGlzLmc9W119Owp2YXIgR3Q9ZnVuY3Rpb24oYSl7aWYoIWEuailyZXR1cm4gbnVsbDtmb3IodmFyIGI9ITEsYz0wO2M8YS5nLmxlbmd0aDsrK2MpaWYoYS5nW2NdLnRhcmdldD09PWEpe2EuZ1tjXS5yZWFkeT0hMTthLmdbY10uaGc9YS5oKzE7Yj0hMDticmVha31ifHxhLmcucHVzaCh7dGFyZ2V0OmEscmVhZHk6ITEsaGc6YS5oKzF9KTtyZXR1cm4oMCxfLnkpKGEuQyxhLGEsYS5oKzEpfSxIdD1mdW5jdGlvbihhKXtpZighYS5qKXJldHVybiEwO2Zvcih2YXIgYj0wO2I8YS5nLmxlbmd0aDsrK2IpaWYoYS5nW2JdLnRhcmdldD09PWEmJmEuZ1tiXS5oZz09YS5oKXJldHVybiBhLmdbYl0ucmVhZHk7cmV0dXJuITB9OwpCdC5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuail7aWYoYSlmb3IodmFyIGM9MDtjPHRoaXMuZy5sZW5ndGg7KytjKWlmKHRoaXMuZ1tjXS50YXJnZXQ9PT1hKXt0aGlzLmdbY10ucmVhZHk9ITA7YnJlYWt9dGhpcy5sfHx0aGlzLkkuYWRkKCgwLF8ueSkodGhpcy5XLHRoaXMsYnx8dGhpcy5oKSl9fTsKQnQucHJvdG90eXBlLlc9ZnVuY3Rpb24oYSl7aWYodGhpcy5oIT1hKXJldHVybiExO2E9dGhpcy5vO2lmKGE9PUl0KXJldHVybiB0aGlzLnN0b3AoKSx0aGlzLkEmJnRoaXMuQS5jYWxsKHRoaXMuRCx0aGlzLHRoaXMuRiksITE7dGhpcy5sPSEwO3RyeXt2YXIgYj1hLmNhbGwodGhpcy5ELHRoaXMsdGhpcy5GKTtpZighYil0aHJvdyBFcnJvcigpO31jYXRjaChjKXt0aGlzLnN0b3AoKTthPWM7aWYodGhpcy5CKXRoaXMuQi5jYWxsKHRoaXMuRCxhLHRoaXMsdGhpcy5GKTtlbHNlIHRocm93IGE7cmV0dXJuITF9ZmluYWxseXt0aGlzLmw9ITF9YiE9SnQmJih0aGlzLm89Yix0aGlzLmgrKyx0aGlzLkMoKSk7cmV0dXJuITF9O3ZhciBKdD1mdW5jdGlvbigpe30sSXQ9ZnVuY3Rpb24oKXt9O3ZhciBLdD1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifSxMdD1mdW5jdGlvbihhLGIpe3R5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU9YjphLnNldEF0dHJpYnV0ZSYmYS5zZXRBdHRyaWJ1dGUoImNsYXNzIixiKX0sTXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QuY29udGFpbnMoYik6Xy50YShhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiKX0sTnQ9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighTXQoYSxiKSl7dmFyIGM9S3QoYSk7THQoYSxjKyhjLmxlbmd0aD4wPyIgIitiOmIpKX19LE90PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOk10KGEsYikmJgpMdChhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxmdW5jdGlvbihjKXtyZXR1cm4gYyE9Yn0pLmpvaW4oIiAiKSl9O3ZhciBRdD1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Ynx8e307dGhpcy5XPWV8fFtdO3RoaXMuQT1bXTt0aGlzLkY9W107UHQodGhpcyxhfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYi5WZj09PXZvaWQgMHx8ISFiLlZmKTt0aGlzLkM9Y3x8anQ7dGhpcy5EPWIubGk7dGhpcy5qPXRoaXMuZz10aGlzLm89dGhpcy5kYz1udWxsO3RoaXMuQj0hIWIuYmo7dGhpcy5MPSEhYi5aaTt0aGlzLks9dGhpcy5CPzI3OjEzO3RoaXMuST0hMDt0aGlzLkc9W107dGhpcy5sPW5ldyBCdCh0aGlzLGQpfSxSdD1mdW5jdGlvbihhLGIsYyxkKXthLmwuanx8KGI9e2RnOmIsYWc6YyxBYTpbXSxRZjpbXSxyYjpbXSx0ZXh0TGVuZ3RoOjAsc2l6ZTowLGNvbnRpbnVvdXM6ITB9LGEuZGM9bnVsbCxDdChhLmwsYS5oKSxEdChhLmwsZCksRXQoYS5sLCgwLF8ueSkoZnVuY3Rpb24oZSl7dGhpcy51aShlKTtkKCl9LGEpKSxGdChhLmwsYikpfSxTdD1mdW5jdGlvbihhLGIpe3JldHVybiBhLkFhLmxlbmd0aD4wPwpuZXcgYihhLkFhLGEucmIuam9pbigiIiksYS5RZixhLnRleHRMZW5ndGgsYS5zaXplKTpudWxsfSxUdD1mdW5jdGlvbihhLGIpe2lmKCFhLmopcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2lmKCFiLmNvbnRpbnVvdXMmJmIuQWEubGVuZ3RoPjApcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2IuY29udGludW91cz1hLmouS2Y7YTp7dmFyIGM9YS5qO3ZhciBkPWEuSztpZihiLnNpemU+Yi5hZ3x8Yi50ZXh0TGVuZ3RoPmIuZGcpYz0hMTtlbHNle3ZhciBlPWMuc2l6ZSxmPWMudGV4dC5sZW5ndGg7aWYoYi5BYS5sZW5ndGghPTAmJihlKz1iLkFhLmxlbmd0aD09MT9iLnNpemUrZCtkOmIuc2l6ZStkLGYrPWIudGV4dExlbmd0aCxlPmIuYWd8fGY+Yi5kZykpe2M9ITE7YnJlYWsgYX1iLnNpemU9ZTtiLnRleHRMZW5ndGg9ZjtiLkFhLnB1c2goYy5ub2RlKTtiLlFmLnB1c2goYy50ZXh0KTtkPWIuQWEubGVuZ3RoLTE7ZD09MD9iLnJiLnB1c2goYy5MZCk6KGQ9PTEmJihiLnJiWzBdPSI8YSBpPTA+IisKYi5yYlswXSsiPC9hPiIpLGIucmIucHVzaCgiPGEgaT0iK2QrIj4iKSxiLnJiLnB1c2goYy5MZCksYi5yYi5wdXNoKCI8L2E+IikpO2M9ITB9fWlmKGMpcmV0dXJuIGEuaj1udWxsLCExO2EuZGM9U3QoYixhLkMpO3JldHVybiEwfSxVdD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bnQoYixjKTtkJiZfLkFjKGpvKGQpKSYmYS5HLnB1c2goe25vZGU6YixZZzpjLHRleHQ6ZH0pfTsKUXQucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKHRoaXMuaiYmVHQodGhpcyxiKSlyZXR1cm4gSXQ7aWYoIXRoaXMuZyl7dGhpcy5JPSEhdGhpcy5BLmxlbmd0aDtpZighdGhpcy5BLmxlbmd0aCYmKGE9dGhpcy5HLnNoaWZ0KCkpKXJldHVybiB0aGlzLmo9e0tmOiExLG5vZGU6Z3QoYS5ub2RlLGEuWWcpLHRleHQ6YS50ZXh0LExkOmxvKGEudGV4dCksc2l6ZTp0aGlzLkI/Xy5HYihhLnRleHQpLmxlbmd0aDphLnRleHQubGVuZ3RofSxiLmNvbnRpbnVvdXM9ITEsVHQodGhpcyxiKSxJdDthPXRoaXMuQS5zaGlmdCgpfHx0aGlzLkYuc2hpZnQoKTtpZighYSlyZXR1cm4gdGhpcy5qPW51bGwsVHQodGhpcyxiKSxJdDt0aGlzLm89W2EuWWldO3RoaXMuZz1uZXcgZHMoYS5yb290KX10aGlzLmcubmV4dCgpO2lmKHRoaXMuZy5kb25lKXJldHVybiB0aGlzLmc9bnVsbCxiLmNvbnRpbnVvdXM9ITEsdGhpcy5oO2E9dGhpcy5nLm5vZGUoKTt2YXIgZD10aGlzLmcuZy5nOwppZihkPT0tMSlyZXR1cm4gVnQodGhpcyksV3QoYSl8fChiLmNvbnRpbnVvdXM9ITEpLHRoaXMuaDtYdCh0aGlzLGEpO2Q9ZD09MTt2YXIgZT0hIWEmJihhLm5vZGVUeXBlPT0zJiZ0eXBlb2YgYS5ub2RlVmFsdWU9PT0ic3RyaW5nInx8YS50YWdOYW1lPT0iVElUTEUiJiZ0eXBlb2YgYS52YWx1ZT09PSJzdHJpbmcifHxhLnRhZ05hbWU9PSJURVhUQVJFQSImJk10KGEsInRyYW5zbGF0ZSIpfHxhLnRhZ05hbWU9PSJJTlBVVCImJihZclthLnR5cGVdfHxNdChhLCJ0cmFuc2xhdGUiKSkpO2lmKChlfHxkKSYmdGhpcy5JJiYhWXQoYSkpcmV0dXJuIFB0KHRoaXMsYSxadCh0aGlzKSwhMCksYnModGhpcy5nLmcpLFZ0KHRoaXMpLHRoaXMuaDtpZihkJiZadCh0aGlzKSYmKHRoaXMuTCYmVXQodGhpcyxhLCJ0aXRsZSIpLFV0KHRoaXMsYSwiYWx0IiksVXQodGhpcyxhLCJwbGFjZWhvbGRlciIpLFV0KHRoaXMsYSwiYXJpYS1sYWJlbCIpLFV0KHRoaXMsYSwiYXJpYS1wbGFjZWhvbGRlciIpLFV0KHRoaXMsCmEsImFyaWEtcm9sZWRlc2NyaXB0aW9uIiksVXQodGhpcyxhLCJhcmlhLXZhbHVldGV4dCIpLGVzKHRoaXMuZykpKWZvcih2YXIgZj1hLmZpcnN0Q2hpbGQ7Zjspe2lmKGYubm9kZVR5cGU9PTMpe3ZhciBnPWYubm9kZVZhbHVlLnNwbGl0KCJcbiIpO2lmKGcubGVuZ3RoPjJ8fGcubGVuZ3RoPT0yJiZfLkFjKGdbMF0pIT0iIiYmXy5BYyhnWzFdKSE9IiIpe2Yubm9kZVZhbHVlPWdbMF07Zm9yKHZhciBoPTE7aDxnLmxlbmd0aDsrK2gpe3ZhciBrPV8uc2QoYSkuY3JlYXRlRWxlbWVudCgiZm9udCIpO3RoaXMuVy5wdXNoKGspO3hvKGssZik7Zj1rO3hvKF8uc2QoYSkuY3JlYXRlVGV4dE5vZGUoIlxuIitnW2hdKSxmKTtmPWYubmV4dFNpYmxpbmd9fX1mPWYubmV4dFNpYmxpbmd9YS5zaGFkb3dSb290JiZBcnJheS5mcm9tKGEuc2hhZG93Um9vdC5jaGlsZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1B0KGMscixadChjKSl9KTtpZihlKXticyh0aGlzLmcuZyk7aWYoWnQodGhpcykpe3ZhciBsPQpudChhKTtpZihfLkFjKGpvKGwpKSYmKHRoaXMuaj17S2Y6ITAsbm9kZTpndChhKSx0ZXh0OmwsTGQ6bG8obCksc2l6ZTp0aGlzLkI/Xy5HYihsKS5sZW5ndGg6bC5sZW5ndGh9LFR0KHRoaXMsYikpKXJldHVybiBWdCh0aGlzKSxJdH1WdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGQpe2lmKCR0KGEpfHwhYS5maXJzdENoaWxkJiZhLnRhZ05hbWUhPSJJRlJBTUUiJiZhLnRhZ05hbWUhPSJSVUJZIilyZXR1cm4gYi5jb250aW51b3VzPWIuY29udGludW91cyYmISFYclthLnRhZ05hbWVdLGJzKHRoaXMuZy5nKSxWdCh0aGlzKSx0aGlzLmg7aWYoYS50YWdOYW1lPT0iUlVCWSIpe3RyeXtsPV8uQyhhLmNoaWxkTm9kZXMpO2Zvcih2YXIgbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBxPW4udmFsdWU7cS5ub2RlVHlwZSE9MyYmUHQodGhpcyxxLFp0KHRoaXMpKX19Y2F0Y2gocil7fWJzKHRoaXMuZy5nKTtWdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGEudGFnTmFtZT09IklGUkFNRSIpe3RyeXtpZighYS5zcmMubWF0Y2goL2h0dHBzPzpcL1wvLyl8fApfLkNiKGEuc3JjLm1hdGNoKF8ucmYpWzNdfHxudWxsKT09d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKXt2YXIgcD16byhhKS5kb2N1bWVudEVsZW1lbnQ7cCYmUHQodGhpcyxwLFp0KHRoaXMpKX19Y2F0Y2gocil7fWIuY29udGludW91cz0hMTticyh0aGlzLmcuZyk7VnQodGhpcyk7cmV0dXJuIHRoaXMuaH1adCh0aGlzKSYmV3QoYSk/dGhpcy5EJiZhLnRhZ05hbWU9PSJBIiYmYS5ocmVmJiZ0aGlzLkQoYSk6Yi5jb250aW51b3VzPSExO3JldHVybiB0aGlzLmh9YnModGhpcy5nLmcpO1Z0KHRoaXMpO3JldHVybiB0aGlzLmh9Owp2YXIgJHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG10KGEpfHxhLm5vZGVUeXBlIT0zJiYoIWEudGFnTmFtZXx8V3JbYS50YWdOYW1lXXx8WHJbYS50YWdOYW1lXXx8TXQoYSwic2tpcHRyYW5zbGF0ZSIpKX0sYXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZChhKTtyZXR1cm4gYi5kZWZhdWx0VmlldyYmYi5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlP2IuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpOmEuY3VycmVudFN0eWxlfSxZdD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz8hMDphLm5vZGVUeXBlIT0xPyExOmEub2Zmc2V0V2lkdGgmJmEub2Zmc2V0SGVpZ2h0PyEwOihhPWF1KGEpLCEhYSYmYS5kaXNwbGF5IT0ibm9uZSImJmEudmlzaWJpbGl0eSE9ImhpZGRlbiIpfSxXdD1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlPT0zKXJldHVybiEwO2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7dmFyIGI9YXUoYSk7cmV0dXJuISFWclthLnRhZ05hbWVdJiYKKCFifHwhYi5kaXNwbGF5fHxiLmRpc3BsYXk9PSJpbmxpbmUiKX0sUHQ9ZnVuY3Rpb24oYSxiLGMsZCl7KGQ/YS5GOmEuQSkucHVzaCh7cm9vdDpiLFlpOmM9PT12b2lkIDB8fGN9KX0sWnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub1thLm8ubGVuZ3RoLTFdfSxYdD1mdW5jdGlvbihhLGIpe2I9IW10KGIpJiYoYi5ub2RlVHlwZT09JG4mJlp0KGEpfHwhKE10KGIsIm5vdHJhbnNsYXRlIil8fGIuYXR0cmlidXRlcyYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09Im5vIikmJihNdChiLCJ0cmFuc2xhdGUiKXx8ISFiLmF0dHJpYnV0ZXMmJiEhYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09InllcyJ8fFp0KGEpKSk7YS5vLnB1c2goYil9LFZ0PWZ1bmN0aW9uKGEpe2Euby5wb3AoKX0sYnU9e307RHIuYXR0YWNoKDU3NjIsUXQucHJvdG90eXBlLHt1aToxfSk7dmFyIGN1PWZ1bmN0aW9uKCl7Xy51LmNhbGwodGhpcyk7dGhpcy5nPVtdfTtfLkIoY3UsXy51KTtjdS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe3FzKHRoaXMuaCwwLHRoaXMpfTtjdS5wcm90b3R5cGUuaD1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpXy5BZCh0aGlzLmdbYV0pO3RoaXMuZz1bXX07Y3UucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKX07dmFyIGR1PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7YS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3lvKGMpP2IuYWRkKGMpOihjPWMucGFyZW50RWxlbWVudHx8bnVsbCxjIT1udWxsJiZiLmFkZChjKSl9KTtyZXR1cm4gYn07dmFyIGV1PWZ1bmN0aW9uKGEpe3RoaXMuaD0hMDt0aGlzLmw9YTt0aGlzLmo9ITE7dGhpcy5nPVtdfTtldS5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmpvaW4oIiIpfTt2YXIgZnU9ZnVuY3Rpb24oYSxiKXt0aGlzLm89YTt0aGlzLmw9ITA7dGhpcy5qPWI7dGhpcy5nPW51bGw7dGhpcy5oPTB9LGd1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubD8oYigoMCxfLnkpKGEuQSxhKSxhLm8sYS5qPyJlbiI6IiIpLCEwKTohMX07ZnUucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuaD1jO2EoKX07dmFyIGh1PWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5EPSEhYjt0aGlzLmc9dGhpcy5DPTA7dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkE9dGhpcy5CPXRoaXMuaD0wfSxrdT1mdW5jdGlvbihhLGIsYyl7YS5EJiYoYi09OSk7Zm9yKHZhciBkPSIiLGU9MCxmPWEuQztmPGEubC5sZW5ndGg7KytmKXt2YXIgZz1hLmwuY2hhckF0KGYpLGg9Zy5jaGFyQ29kZUF0KDApO2UrKzthLmgrPWEuRD9oPD0xMjc/aDw9MzJ8fGl1W2hdPzM6MTpoPD0yMDQ3fHxoPj01NTI5NiYmaDw9NTYzMTl8fGg+PTU2MzIwJiZoPD01NzM0Mz82Ojk6MTtoPWEuaD49YjtqdVtnXT8oYS5vPWYsYS5CPWEuaCxoPWh8fGU+Yyk6Zz09IiAiJiYoYS5qPWYsYS5BPWEuaCxoPWh8fGU+Yyk7aWYoaClyZXR1cm4gYS5vPj0wPyhkPWEubC5zdWJzdHJpbmcoYS5nLGEubysxKSxhLmgtPWEuQixhLmc9YS5vKzEsYS5vPj1hLmo/KGEuaj0tMSxhLkE9MCk6YS5BLT1hLkIsYS5vPS0xLGEuQj0wKTphLmo+PTA/KGQ9YS5sLnN1YnN0cmluZyhhLmcsCmEuaisxKSxhLmgtPWEuQSxhLmc9YS5qKzEsYS5qPS0xLGEuQT0wKTooZD1hLmwuc3Vic3RyaW5nKGEuZyxmKzEpLGEuaD0wLGEuZz1mKzEsYS5vPWEuaj0tMSxhLkE9YS5CPTApLGEuQz1mKzEsZH1hLmc8YS5sLmxlbmd0aCYmKGQ9YS5sLnN1YnN0cmluZyhhLmcpLGEuZz1hLmwubGVuZ3RoKTtyZXR1cm4gZH0sanU9aXIoWyIuIiwiLCIsIjoiLCJcXD8iLCIhIl0pLGx1PVsiLiIsIj8iLCIhIl0saXU9aXIoWzM0LDM1LDM2LDM3LDM4LDQzLDQ0LDQ3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDkxLDkyLDkzLDk0LDk2LDEyMywxMjQsMTI1LDEyN10pO3ZhciB0bT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIodG0sXy5KKTt2YXIgbXU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG11LF8uSik7dmFyIG51PWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihudSxfLkopO3ZhciBvdT1bMSwyXTt2YXIgcHU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKHB1LF8uSik7cHUucHJvdG90eXBlLlJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIHF1PV8uS2kocHUpO3ZhciBydTt2YXIgc3U9ZnVuY3Rpb24oKXt0aGlzLmhhPW5ldyBfLldmfSx0dT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uVmkoZnVuY3Rpb24oZSl7Yz1jbShhbSgkbChuZXcgWmwsImh0dHBzIiksYi5ob3N0KSxiLnBhdGgpO2Q9bmV3IFByb21pc2UoZnVuY3Rpb24oZixnKXtfLk5kKGEuaGEsInN1Y2Nlc3MiLGZ1bmN0aW9uKCl7Zih7Y29kZTpfLmhnKGEuaGEpLGhlYWRlcnM6TG4oYS5oYSksYm9keTpfLmlnKGEuaGEpfSl9KTtfLk5kKGEuaGEsImVycm9yIixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSk7Xy5OZChhLmhhLCJ0aW1lb3V0IixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSl9KTthLmhhLnNlbmQoYyxiLm1ldGhvZCxiLmJvZHksYi5oZWFkZXJzKTtyZXR1cm4gZS5yZXR1cm4oZCl9KX07dmFyIHJuPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihybixfLkopO3ZhciBxbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIocW4sXy5KKTt2YXIgcG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5mayhhLDEsYil9O3ZhciB3dT1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO3JldHVybiBfLlZpKGZ1bmN0aW9uKGcpe2lmKGcuZz09MSl7Yj1ydXx8KHJ1PXF1KCdbMixudWxsLFtbW1siYXV0b3B1c2giLFsiYXV0b3B1c2gtdHJhbnNsYXRlLXBhLnNhbmRib3guZ29vZ2xlYXBpcy5jb20iXV0sWyJzdGFnaW5nIixbImRhaWx5MS10cmFuc2xhdGUtcGEuc2FuZGJveC5nb29nbGVhcGlzLmNvbSJdXSxbInByb2QiLFsidHJhbnNsYXRlLXBhLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC1ldSIsWyJ0cmFuc2xhdGUtcGEuZXUucmVwLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC11cyIsWyJ0cmFuc2xhdGUtcGEudXMucmVwLmdvb2dsZWFwaXMuY29tIl1dXV1dXScpKTtjPW1xO25xJiYoYz1jKyItIitucSk7dmFyIGg9YnAoYixudSwzKTt2YXIgaz1oLko7az1JbChIbChrKSxrLHZvaWQgMCxvdSk7aD1icChoLG11LGs9PT0xPzE6LTEpO2s9aC5KO3ZhciBsPWtbXy5IXXwwO2g9dW0oaCxrLGwsXy5XZyhoLGwpKS5nZXQoYyk7CmQ9Xy5OKGgsMSk7aD1uZXcgJHA7az1zbShhLDEsXy5haigpKTtoPUdsKGgsMSxrLG5tKS5OYShhLkphKCkpLm5hKGEub2EoKSk7az1uZXcgYXE7aD1fLkwoaywxLGgpO2g9c24oaCwyLHRxKTtfLk0ocHEsNykmJl8uZWooaCw0LCEwKTtlPWg7Zy5GKDIpO3JldHVybiBnLmgodnUoZCxlKSw0KX1pZihnLmchPTIpcmV0dXJuIGY9Zy5qLGcucmV0dXJuKHRuKGYpKTtnLkQoKTtyZXR1cm4gZy5yZXR1cm4oUHJvbWlzZS5yZWplY3QoRXJyb3IoIkFhIikpKX0pfSx2dT1mdW5jdGlvbihhLGIpe3ZhciBjPXh1LGQsZSxmLGc7cmV0dXJuIF8uVmkoZnVuY3Rpb24oaCl7aWYoaC5nPT0xKXJldHVybiBkPXtob3N0OmEscGF0aDoiL3YxL3RyYW5zbGF0ZUh0bWwiLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IlgtZ29vZy1hcGkta2V5IjoiQUl6YVN5QVRCWGFqdnpRTFRESEVRYmNwcTBJaGUwdldESG1PNTIwIiwiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiJ9LGJvZHk6Xy5XaihiKX0sCmU9Yy5nKCksaC5GKDIpLGguaCh0dShlLGQpLDQpO2lmKGguZyE9MilyZXR1cm4gZj1oLmosaC5yZXR1cm4oY3EoZi5ib2R5KSk7Zz1oLkQoKTtyZXR1cm4gaC5yZXR1cm4oUHJvbWlzZS5yZWplY3QoZykpfSl9O3ZhciB4dT1uZXcgZnVuY3Rpb24oKXt0aGlzLmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHN1fX0seXU9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9LHp1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO3JldHVybiBfLlZpKGZ1bmN0aW9uKGYpe2lmKGYuZz09MSlyZXR1cm4gc20oYiwxLF8uYWooKSkubGVuZ3RoPT09MD9mLnJldHVybihuZXcgcW4pOl8uTShwcSw4KT9mLnJldHVybih3dShiKSk6Zi5oKGEuZy50cmFuc2xhdGUoY3x8ZnVuY3Rpb24oKXt9LHNtKGIsMSxfLmFqKF8uV2gpKSxiLkphKCksYi5vYSgpLDAsITEpLDIpO2Q9Zi5qO2U9ZC5tYXAodW4pO3JldHVybiBmLnJldHVybihwbihuZXcgcW4sZSkpfSl9O3ZhciBBdT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQXUsXy5KKTt2YXIgQnU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEF1O3JldHVybiBHbChiLDEsYSxubSl9O0F1LnByb3RvdHlwZS5KYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07QXUucHJvdG90eXBlLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDIsYSl9O0F1LnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywzKX07QXUucHJvdG90eXBlLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDMsYSl9O3ZhciBDdT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5CPWR8fGZ1bmN0aW9uKCl7fTt0aGlzLlA9Znx8ZnVuY3Rpb24oKXt9O3RoaXMuUj0hIWU7dGhpcy5qPWEuZy5JZjt0aGlzLmw9MDt0aGlzLkk9ZnVuY3Rpb24oKXt9O3RoaXMuRD1jO3RoaXMuRj10aGlzLmg9dGhpcy5vPTA7dGhpcy5nPW51bGw7dGhpcy5XPTA7dGhpcy5sYT0hMTt0aGlzLlQ9YS5nLkdmO3RoaXMuSz1bXTt0aGlzLnFiPTA7dGhpcy5MPWEuZy5LZDt0aGlzLkE9YS5sKCk7dGhpcy53YT10aGlzLlI/MTo2O3RoaXMuSWE9YS5nLldmO3RoaXMucWE9Yjt0aGlzLkM9W107dGhpcy5PPWF9O0N1LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5DLmxlbmd0aDsrK2EpdGhpcy5DW2FdLnN0b3AoKTtmb3IoYT0wO2E8dGhpcy5LLmxlbmd0aDsrK2EpVHIodGhpcy5PLHRoaXMuS1thXSl9Owp2YXIgRHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2EuST0oMCxfLnkpKGZ1bmN0aW9uKCl7KytjPT10aGlzLkMubGVuZ3RoJiZiKCl9LGEpfSxFdT1mdW5jdGlvbihhLGIsYyl7YS5CPWZ1bmN0aW9uKCl7fTthLnFhPWI7YS5nPW51bGw7YS5xYj0wO2EuQz1bXTthLkk9ZnVuY3Rpb24oKXt9O2EuRD1jfSxGdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5oPT0wJiYoYS5oPWI/M0UzOmEuQSwhY3x8Yzw9YS5BKSl7YS5vPWEuaDtyZXR1cm59ZG8gYj1hLmgsYS5oPGEuQSYmKGEuaCo9YS53YSxhLmg+YS5BJiYoYS5oPWEuQSkpO3doaWxlKGIhPWEuaCYmYyYmYS5oPGMpO2Eubz1hLmh9LEd1PWZ1bmN0aW9uKGEsYil7dmFyIGM9YiE9bnVsbCxkPSFjJiYhYS5sYTsoZHx8YykmJmEuQigxMDAsZCxiKX0sSHU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuTD9hLmcuUjphLmcubWEoKS5sZW5ndGh9LEl1PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBRdChhLnFhLnNoaWZ0KCkse2JqOmEuTCxsaTpiLApWZjohMCxaaTohIWN9LGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbmV3IGp0KGYuc2hpZnQoKSxmLnNoaWZ0KCksZi5zaGlmdCgpLGYuc2hpZnQoKSxmLnNoaWZ0KCksYyxkKX0sYS5ELGUpfSxLdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5UPjAmJmIubGIoKT49YS5UKXJldHVybiEwO2lmKEh1KGEpPmEuaCl7aWYoYi5sYigpPjApcmV0dXJuITA7RnUoYSxjLEh1KGEpKTtmb3IodmFyIGQ9YS5nLm1hKCksZT1uZXcgaHUoZCxhLkwpLGY7Zj1rdShlLGEuaCxhLmopOylpZihsdS5pbmRleE9mKGYuY2hhckF0KGYubGVuZ3RoLTEpKTwwJiZiLksrKyxiLmwucHVzaChuZXcgZnUoW2ZdLCExKSksYS5sKz1mLmxlbmd0aCxhLmotPWYubGVuZ3RoLGEuajw9MCl7Yi5GPWQuc3Vic3RyaW5nKGUuZyk7YnJlYWt9ZWxzZSBGdShhLGMpO0p1KGIsYS5nLCEwKTthLmc9bnVsbDtyZXR1cm4hMH1pZihIdShhKT5hLm8pcmV0dXJuITA7SnUoYiwKYS5nLCEwKTthLm8tPUh1KGEpK2EuSWE7YS5sKz1hLmcuRDthLmotPWEuZy5EO2EuZz1udWxsO3JldHVybiExfSxMdT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz17WmE6MH07Yy5aYTxhLmxlbmd0aDtjPXtaYTpjLlphfSxjLlphKyspYVtjLlphXS5sZW5ndGg+MSYmYVtjLlphXVsxXT09PTIwMD9iLnB1c2guYXBwbHkoYixfLiRiKGFbYy5aYV1bMF0udG9TdHJpbmcoKS5zcGxpdCgiJmx0O2V4dHJhX2lkXzEmZ3Q7IikubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm5bZS50cmltKCksYVtkLlphXVsxXV19fShjKSkpKTpiLnB1c2goYVtjLlphXSk7cmV0dXJuIGJ9LE11PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGssbCxuO3JldHVybiBfLlZpKGZ1bmN0aW9uKHEpe3N3aXRjaChxLmcpe2Nhc2UgMTp2YXIgcD1wcTtpZihfLmJqKHAsaXEsNikpe3ZhciByPV8uYmoocCxpcSw2KSx0PV8uTShyLDEpO3A9Xy5NKHAsMyl8fHQ/KHQ/c20ociw0LF8uYWooKSk6CnNtKHAsNCxfLmFqKCkpKS5pbmNsdWRlcyhkLnRvTG93ZXJDYXNlKCkrIl8iK2UudG9Mb3dlckNhc2UoKSk6ITF9ZWxzZSBwPSExO2Y9cDtpZihmKXt2YXIgQT1BPT09dm9pZCAwPzNFMzpBO2lmKHA9Xy5iaihwcSxpcSw2KSlwPV8uYmoocHEsaXEsNikscD1fLk0ocCwxKTtpZihwKXtwPV8uYmoocHEsaXEsNik7QT1fLmdrKHAsMyk7cD1fLmdrKHAsMik7cj1bXTtmb3IodD0wO3Q8Yy5sZW5ndGg7dCsrKXt2YXIgRD1bY1t0XV0sRT1jW3RdLmxlbmd0aDtpZihjW3RdLnNwbGl0KCIgIikubGVuZ3RoPD1wKWZvcig7dCsxPGMubGVuZ3RoJiZFPEE7KUQucHVzaChjW3QrMV0pLEUrPWNbdCsxXS5sZW5ndGgrMisxOCx0Kys7ci5wdXNoKEQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1yfWVsc2V7cD1bXTtmb3Iocj0wO3I8Yy5sZW5ndGg7KXt0PVtdO2ZvcihFPTA7cjxjLmxlbmd0aDspe0Q9Y1tyXTt2YXIgYmE9RC5sZW5ndGg7RT10Lmxlbmd0aD09PTA/YmE6RSsyMCtiYTtpZihFPgpBJiZ0Lmxlbmd0aD4wKWJyZWFrO3QucHVzaChEKTtyKyt9dC5sZW5ndGg+MCYmcC5wdXNoKHQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1wfX1lbHNlIEE9YztnPUE7aD16dShuZXcgeXUoYS5PKSxCdShnKS5OYShkKS5uYShlKSxiKTtxLkYoMik7cmV0dXJuIHEuaChoLDQpO2Nhc2UgNDprPXEuajtsPXZuKGspO249Zj9MdShsKTpsO2IobiwyMDApO3EuSygzKTticmVhaztjYXNlIDI6cS5EKCksYihbXSw1MDApO2Nhc2UgMzpyZXR1cm4gYS5LLnB1c2goaCkscS5yZXR1cm4oaCl9fSl9O3ZhciBOdT1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMubD1iO3RoaXMuaj17cm9vdE1hcmdpbjphfTt0aGlzLmc9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5oLHRoaXMpLHRoaXMuail9O18uQihOdSxfLnUpO051LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nPW51bGx9O051LnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0uaW50ZXJzZWN0aW9uUmF0aW8+MCl7dGhpcy5sKCk7YnJlYWt9fTtOdS5wcm90b3R5cGUudHJhY2s9ZnVuY3Rpb24oYSl7Sm8oYSwoMCxfLnkpKHRoaXMuZy5vYnNlcnZlLHRoaXMuZykpfTt2YXIgT3U9ZnVuY3Rpb24oYSl7dmFyIGI9YSE9bnVsbD9hOnt9LGM9Yi5JayxkPWIuS2ssZT1iLkVrLGY9Yi5MayxnPWIuSGssaD1iLkprLGs9Yi5GayxsPWIuR2s7YT1fLnlsKCk7IWwmJnNwKGMpPyhlPSEhZSxmPSEhZixiPWImJmIuUWssYz0oMCxfLnRsKShzcChjKT8iPHNjcmlwdCIrKGI/JyBub25jZT0iJytQKFlwKGIpKSsnIic6IiIpKyI+d2luZG93WydwcENvbmZpZyddID0ge3Byb2R1Y3ROYW1lOiAiK3ZwKFFwKGQhPW51bGw/ZDoidW5rbm93biIpKSsiLCBkZWxldGVJc0VuZm9yY2VkOiAiK3ZwKFFwKGUpKSsiLCBzZWFsSXNFbmZvcmNlZDogIit2cChRcChmKSkrIiwgaGVhcnRiZWF0UmF0ZTogIit2cChRcChnIT1udWxsP2c6LjUpKSsiLCBwZXJpb2RpY1JlcG9ydGluZ1JhdGVNaWxsaXM6ICIrdnAoUXAoaCE9bnVsbD9oOjZFNCkpKyIsIGRpc2FibGVBbGxSZXBvcnRpbmc6ICIrdnAoUXAoayE9bnVsbD9rOiExKSkrIn07Iit2cChRcChjIT1udWxsP2M6IiIpKSsiXHgzYy9zY3JpcHQ+IjoKIiIpKTpjPSIiO3JldHVybiBXbihhLGMpfTt2YXIgUHU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy50bCkoJzxzcGFuIGlkPSInK1AoYS5pZCkrJyI+PC9zcGFuPicpfSxRdT1mdW5jdGlvbihhKXt2YXIgYj1hLmlkLGM9YS5SZjtyZXR1cm4oMCxfLnRsKShLcChhLlNmKSsnPGRpdiBpZD0iJytQKGIpKyciPjwvZGl2PicrS3AoYykpfSxZbj1mdW5jdGlvbihhKXt2YXIgYj1hLnRvcCxjPWEubGVmdCxkPWEuYm90dG9tLGU9YS5yaWdodCxmPWEuaWQ7cmV0dXJuKDAsXy51bCkoIi4iK0FwKGEuY2xhc3NOYW1lKSsiIHt6LWluZGV4Ojk5OTk5OTk7IG92ZXJmbG93OnZpc2libGU7IHBvc2l0aW9uOmZpeGVkOyBfcG9zaXRpb246YWJzb2x1dGU7IisoYnx8Yj09PTA/InRvcDoiK0FwKGIpKyJweDsgX3RvcDpleHByZXNzaW9uKCgiK0FwKGIpKyIrKGhhY2sxPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSkrJ3B4Jyk7IjoidG9wOmF1dG87IikrKGN8fGM9PT0wPyJsZWZ0OiIrQXAoYykrCiJweDsgX2xlZnQ6ZXhwcmVzc2lvbigoIitBcChjKSsiKyhoYWNrMj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoibGVmdDphdXRvOyIpKyhkfHxkPT09MD8iYm90dG9tOiIrQXAoZCkrInB4OyBfdG9wOmV4cHJlc3Npb24oKC0iK0FwKGQpKyItZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIrU3RyaW5nKGYpLnJlcGxhY2UoUnAsR3ApKyInKS5vZmZzZXRIZWlnaHQrKGhhY2szPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSsoaGFjazQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKSsncHgnKTsiOiJib3R0b206YXV0bzsiKSsoZXx8ZT09PTA/InJpZ2h0OiIrQXAoZSkrInB4OyBfbGVmdDpleHByZXNzaW9uKCgtIitBcChlKSsiLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciKwpTdHJpbmcoZikucmVwbGFjZShScCxHcCkrIicpLm9mZnNldFdpZHRoKyhoYWNrNT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpKyhoYWNrNj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoicmlnaHQ6YXV0bzsiKSsifSIpfSxSdT1mdW5jdGlvbigpe3JldHVybigwLF8udGwpKCc8ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15ZiIpKyciPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08iKSsnIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUiKSsnIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgNjYgNjYiPjxjaXJjbGUgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtSnQ1Y0siKSsKJyIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCIvPjwvc3ZnPjwvZGl2PjwvZGl2PicpfTt3bi54Yj12b2lkIDA7d24uZz1mdW5jdGlvbigpe3JldHVybiB3bi54Yj93bi54Yjp3bi54Yj1uZXcgd259O3duLnByb3RvdHlwZS5nPTA7Xy5HKHhuLF8uaGIpO18ubT14bi5wcm90b3R5cGU7Xy5tLmNpPXduLmcoKTtfLm0uUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYXx8KHRoaXMubGE9IjoiKyh0aGlzLmNpLmcrKykudG9TdHJpbmcoMzYpKX07Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DfTtfLm0ubmQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5LJiZ0aGlzLkshPWEpdGhyb3cgRXJyb3IoIkNhIik7eG4uZWEubmQuY2FsbCh0aGlzLGEpfTtfLm0uUz1mdW5jdGlvbigpe3RoaXMuQz10aGlzLmguY3JlYXRlRWxlbWVudCgiRElWIil9O18ubS5rYT1mdW5jdGlvbihhKXtTdSh0aGlzLGEpfTtfLm0ucWM9ZnVuY3Rpb24oYSl7U3UodGhpcyxhLnBhcmVudE5vZGUsYSl9O3ZhciBTdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qYil0aHJvdyBFcnJvcigiRGEiKTthLkN8fGEuUygpO2I/Yi5pbnNlcnRCZWZvcmUoYS5DLGN8fG51bGwpOmEuaC5nLmJvZHkuYXBwZW5kQ2hpbGQoYS5DKTthLksmJiFhLksuamJ8fGEuTGEoKX07Cl8ubT14bi5wcm90b3R5cGU7Xy5tLmFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuamIpdGhyb3cgRXJyb3IoIkRhIik7aWYoYSl7dGhpcy53YT0hMDt2YXIgYj1fLnNkKGEpO3RoaXMuaCYmdGhpcy5oLmc9PWJ8fCh0aGlzLmg9Xy5sYihhKSk7dGhpcy5PYShhKTt0aGlzLkxhKCl9ZWxzZSB0aHJvdyBFcnJvcigiRWEiKTt9O18ubS5PYT1mdW5jdGlvbihhKXt0aGlzLkM9YX07Xy5tLkxhPWZ1bmN0aW9uKCl7dGhpcy5qYj0hMDtUdSh0aGlzLGZ1bmN0aW9uKGEpeyFhLmpiJiZhLkgoKSYmYS5MYSgpfSl9O18ubS5zYT1mdW5jdGlvbigpe1R1KHRoaXMsZnVuY3Rpb24oYSl7YS5qYiYmYS5zYSgpfSk7dGhpcy5PJiZfLlJmKHRoaXMuTyk7dGhpcy5qYj0hMX07Cl8ubS5NPWZ1bmN0aW9uKCl7dGhpcy5qYiYmdGhpcy5zYSgpO3RoaXMuTyYmKHRoaXMuTy5kaXNwb3NlKCksZGVsZXRlIHRoaXMuTyk7VHUodGhpcyxmdW5jdGlvbihhKXthLmRpc3Bvc2UoKX0pOyF0aGlzLndhJiZ0aGlzLkMmJl8uQWQodGhpcy5DKTt0aGlzLks9dGhpcy5DPXRoaXMuUj10aGlzLkY9bnVsbDt4bi5lYS5NLmNhbGwodGhpcyl9O3ZhciBTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuUmEoKSsiLiIrYn0sVHU9ZnVuY3Rpb24oYSxiKXthLkYmJmEuRi5mb3JFYWNoKGIsdm9pZCAwKX07CnhuLnByb3RvdHlwZS5pZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W107dGhpcy5GJiZ0aGlzLkYubGVuZ3RoIT0wOyl7dmFyIGM9YixkPWMucHVzaCxlPXRoaXMuRj90aGlzLkZbMF18fG51bGw6bnVsbCxmPWE7aWYoZSl7dmFyIGc9dHlwZW9mIGU9PT0ic3RyaW5nIj9lOmUuUmEoKTt0aGlzLlImJmc/KGU9dGhpcy5SLGU9KGUhPT1udWxsJiZnIGluIGU/ZVtnXTp2b2lkIDApfHxudWxsKTplPW51bGw7aWYoZyYmZSl7dmFyIGg9dGhpcy5SO2cgaW4gaCYmZGVsZXRlIGhbZ107Xy52YSh0aGlzLkYsZSk7ZiYmKGUuc2EoKSxlLkMmJl8uQWQoZS5DKSk7Zj1lO2lmKGY9PW51bGwpdGhyb3cgRXJyb3IoIkJhIik7Zi5LPW51bGw7eG4uZWEubmQuY2FsbChmLG51bGwpfX1pZighZSl0aHJvdyBFcnJvcigiRmEiKTtkLmNhbGwoYyxlKX1yZXR1cm4gYn07dmFyIFV1PWZ1bmN0aW9uKCl7eG4uY2FsbCh0aGlzKX07Xy5CKFV1LHhuKTtVdS5wcm90b3R5cGUuUz1mdW5jdGlvbigpe3RoaXMuT2Eoa20oUnUpKX07VXUucHJvdG90eXBlLk9hPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfTtVdS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe050KHRoaXMuSCgpLCJWSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdjIik7TnQodGhpcy5IKCkuZmlyc3RDaGlsZCwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08tdGk2aEdjIil9O3ZhciBWdT1mdW5jdGlvbihhKXtPdChhLkgoKSwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtd09ITXlmLXRpNmhHYyIpO090KGEuSCgpLmZpcnN0Q2hpbGQsIlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHYyIpfTt2YXIgV3U9ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IFV1O3RoaXMuZy5TKCk7dGhpcy5nLmthKCk7dGhpcy5oPTB9O1d1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuaD0wO1Z1KHRoaXMuZyl9O3ZhciBYdT1XcShjciksWXU9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt0aGlzLmw9YTt0aGlzLmc9Yjt0aGlzLkM9W107dGhpcy5GPW51bGw7dGhpcy5vPWM7dGhpcy5oPWQ7dGhpcy5qPWU7dGhpcy5xYT1mO3RoaXMuTz1nO3RoaXMuRD10aGlzLkE9bnVsbDt0aGlzLkI9aHx8bnVsbDt0aGlzLlc9dGhpcy5JPSExO3RoaXMuRz17fTt0aGlzLkw9WHU7dGhpcy5LPTB9LFp1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEubGVuZ3RoO2MrKylzdChhW2NdKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3JldHVybiBiLmFkZChkKX0pO3JldHVybiBifTsKWXUucHJvdG90eXBlLnRyYWNrVmlzaWJpbGl0eT1mdW5jdGlvbihhKXt0aGlzLkE9bmV3IE51KCIyMDBweCIsKDAsXy55KSh0aGlzLlIsdGhpcyxhKSk7dGhpcy5BLnRyYWNrKGR1KFp1KFtdLmNvbmNhdCh0aGlzLmcsdGhpcy5DKSkpKTt0aGlzLkQ9bmV3IE51KCIwcHgiLCgwLF8ueSkodGhpcy5QLHRoaXMpKTt0aGlzLkQudHJhY2soZHUoWnUoW10uY29uY2F0KHRoaXMuZyx0aGlzLkMpKSkpfTtZdS5wcm90b3R5cGUuUj1mdW5jdGlvbihhKXt0aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpO2EoKX07WXUucHJvdG90eXBlLlA9ZnVuY3Rpb24oKXt0aGlzLkk9ITA7JHUodGhpcyk7aWYoIXRoaXMuVyYmdGhpcy5CKXt2YXIgYT10aGlzLkI7YS5oKys9PTAmJmEuZy5zaG93KCl9fTt2YXIgJHU9ZnVuY3Rpb24oYSl7YS5EJiYoYS5ELmcuZGlzY29ubmVjdCgpLGEuRD1udWxsKX07Cll1LnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7aWYodGhpcy5JJiYhdGhpcy5XJiZ0aGlzLkIpe3ZhciBhPXRoaXMuQjstLWEuaD09MCYmVnUoYS5nKX10aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpOyR1KHRoaXMpO2F2KHRoaXMpfTt2YXIgSnU9ZnVuY3Rpb24oYSxiLGMpe2M/KGEuZy5wdXNoKGIpLGEuR1tiLm1hKCldPSEwKTphLkMucHVzaChiKX07WXUucHJvdG90eXBlLmxiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5sZW5ndGgrdGhpcy5DLmxlbmd0aH07dmFyIGJ2PWZ1bmN0aW9uKGEpe2lmKGEubC5sZW5ndGg9PTApe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmcubGVuZ3RoOysrYyliLnB1c2goYS5nW2NdLm1hKCkpO2EubC5wdXNoKG5ldyBmdShiLCExKSl9fTsKWXUucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7ZCsrO2Q9PWMmJmUoKX1idih0aGlzKTtmb3IodmFyIGM9MCxkPTAsZT1mdW5jdGlvbigpe30sZj10aGlzLm8sZz10aGlzLmgsaD10aGlzLmosaz0wO2s8dGhpcy5sLmxlbmd0aDsrK2spZ3UodGhpcy5sW2tdLGZ1bmN0aW9uKGwsbixxKXtyZXR1cm4gTXUoZixfLlpqKGwsYiksbixxfHxnLGgpfSkmJmMrKztjIT0wJiYoZT1HdChhKSk7cmV0dXJuIGN9O3ZhciBhdj1mdW5jdGlvbihhKXtpZihhLmcubGVuZ3RoPjApe2lmKGEuZy5sZW5ndGg9PTEmJmEubC5sZW5ndGg+MSl7dmFyIGI9MTt2YXIgYz1hLmwubGVuZ3RofWVsc2UgYj1jPWEuZy5sZW5ndGg7dmFyIGQ9YS5nLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5EfSkucmVkdWNlKGZ1bmN0aW9uKGUsZil7cmV0dXJuIGUrZn0pO2hyKGEuTCx7bGI6YixNZjpjLGdnOmQsTGY6YS5LfSl9fTt2YXIgY3Y9e2FtOiJOb3RvIFNhbnMgRXRoaW9waWMiLGJlcjoiTm90byBTYW5zIFRpZmluYWdoIiwiYm0tTmtvbyI6Ik5vdG8gU2FucyBOS28iLGJuOiJMb2hpdCBCZW5nYWxpIixibzoiTm90byBTZXJpZiBUaWJldGFuIixkdjoiTm90byBTYW5zIFRoYWFuYSIsZHo6Ik5vdG8gU2VyaWYgVGliZXRhbiIsaXU6Ik5vdG8gU2FucyBDYW5hZGlhbiBBYm9yaWdpbmFsIixrbToiTm9rb3JhIixsbzoiRGh5YW5hIixtbDoiTm90byBTYW5zIE1hbGF5YWxhbSIsIm1uaS1NdGVpIjoiTm90byBTYW5zIE1lZXRlaSBNYXllayIsbXk6Ik5vdG8gU2FucyBNeWFubWFyIiwicGEtQXJhYiI6Ik5vdG8gTmFzdGFsaXEgVXJkdSIscHM6Ik5vdG8gTmFza2ggQXJhYmljIixzYXQ6Ik5vdG8gU2FucyBPbCBDaGlraSIsc2Q6Ik5vdG8gTmFza2ggQXJhYmljIixzaToiTm90byBTYW5zIFNpbmhhbGEiLHRhOiJMb2hpdCBUYW1pbCIseXVlOiJDaG9jb2xhdGUgQ2xhc3NpY2FsIFNhbnMifSxkdj17fSxldj0oZHZbIkNob2NvbGF0ZSBDbGFzc2ljYWwgU2FucyJdPQoiL2NzczI/ZmFtaWx5PUNob2NvbGF0ZStDbGFzc2ljYWwrU2FucyIsZHYuRGh5YW5hPSIvY3NzP2ZhbWlseT1EaHlhbmEiLGR2WyJMb2hpdCBCZW5nYWxpIl09Ii9jc3M/ZmFtaWx5PUxvaGl0K0JlbmdhbGkiLGR2WyJMb2hpdCBUYW1pbCJdPSIvY3NzP2ZhbWlseT1Mb2hpdCtUYW1pbCIsZHYuTm9rb3JhPSIvY3NzP2ZhbWlseT1Ob2tvcmEiLGR2WyJOb3RvIE5hc2toIEFyYWJpYyJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc2toYXJhYmljLmNzcyIsZHZbIk5vdG8gTmFzdGFsaXEgVXJkdSJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc3RhbGlxdXJkdS5jc3MiLGR2WyJOb3RvIFNhbnMgQ2FuYWRpYW4gQWJvcmlnaW5hbCJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNjYW5hZGlhbmFib3JpZ2luYWwuY3NzIixkdlsiTm90byBTYW5zIEV0aGlvcGljIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc2V0aGlvcGljLmNzcyIsZHZbIk5vdG8gU2FucyBNYWxheWFsYW0iXT0iL2Vhcmx5YWNjZXNzL25vdG9zYW5zbWFsYXlhbGFtLmNzcyIsCmR2WyJOb3RvIFNhbnMgTWVldGVpIE1heWVrIl09Ii9jc3M/ZmFtaWx5PU5vdG8rU2FucytNZWV0ZWkrTWF5ZWsiLGR2WyJOb3RvIFNhbnMgTXlhbm1hciJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNteWFubWFyLmNzcyIsZHZbIk5vdG8gU2FucyBOS28iXT0iL2Nzcz9mYW1pbHk9Tm90bytTYW5zK05LbyIsZHZbIk5vdG8gU2FucyBPbCBDaGlraSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNvbGNoaWtpLmNzcyIsZHZbIk5vdG8gU2FucyBTaW5oYWxhIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3NpbmhhbGEuY3NzIixkdlsiTm90byBTYW5zIFRoYWFuYSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnN0aGFhbmEuY3NzIixkdlsiTm90byBTYW5zIFRpZmluYWdoIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3RpZmluYWdoLmNzcyIsZHZbIk5vdG8gU2VyaWYgVGliZXRhbiJdPSIvY3NzP2ZhbWlseT1Ob3RvK1NlcmlmK1RpYmV0YW4iLGR2KSxmdj1mdW5jdGlvbigpe3RoaXMuZz1bXX07CmZ2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPV8uQyh0aGlzLmcpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWIudmFsdWUucmVtb3ZlKCk7dGhpcy5nPVtdfTt2YXIgZ3Y9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9W107dGhpcy5sPVtdO3RoaXMuaD1hO3RoaXMuaj1ifTtfLkIoZ3YsXy51KTtndi5wcm90b3R5cGUubz1mdW5jdGlvbihhKXt2YXIgYj1fLkFjKGEuaHJlZik7Yi5pbmRleE9mKCJqYXZhc2NyaXB0OiIpPT0wfHxiLmluZGV4T2YoIiMiKT49MHx8KHRoaXMubC5wdXNoKGEuaHJlZiksdGhpcy5nLnB1c2goYSksYS5ocmVmPWIrIiNnb29ndHJhbnMvIit0aGlzLmgrIi8iK3RoaXMuail9O2d2LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5yZXN0b3JlKCl9O2d2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxlbmd0aCl7Zm9yKHZhciBhPTA7YTx0aGlzLmcubGVuZ3RoOysrYSl0aGlzLmdbYV0uaHJlZj10aGlzLmxbYV07dGhpcy5nPVtdO3RoaXMubD1bXX19O3ZhciBodj1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLnhmLnRlc3QoYik/InRyYW5zbGF0ZWQtcnRsIjoidHJhbnNsYXRlZC1sdHIiO2E9W10uY29uY2F0KHRoaXMuZyk7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil5byhhW2JdKSYmTnQoYVtiXSx0aGlzLmgpfTtfLkIoaHYsXy51KTtodi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpfTtodi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXS5jb25jYXQodGhpcy5nKSxiPTA7YjxhLmxlbmd0aDsrK2IpeW8oYVtiXSkmJk90KGFbYl0sdGhpcy5oKX07dmFyIGl2PWZ1bmN0aW9uKGEsYixjKXt0aGlzLmc9M0UzO3RoaXMuaD1bXTt0aGlzLmo9bnVsbDt0aGlzLm89YTt0aGlzLkViPWI7dGhpcy5GYj1jO3RoaXMubD1hJiZ0eXBlb2YgYS5sPT09ImZ1bmN0aW9uIj9hLmwoKXx8MThFMzoxOEUzfSxrdj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxrLGwsbixxO3JldHVybiBfLlZpKGZ1bmN0aW9uKHApe3N3aXRjaChwLmcpe2Nhc2UgMTpjPWxvKGIpO2Q9W107aWYoYy5sZW5ndGg+YS5nKWZvcihlPW5ldyBodShjLCExKSxmPSIiO2Y9a3UoZSxhLmcpOylkLnB1c2goZiksYS5nPGEubCYmKGEuZyo9NixhLmc+YS5sJiYoYS5nPWEubCkpO2Vsc2UgZC5wdXNoKGMpO2c9W107aD1fLkMoZCk7az1oLm5leHQoKTtjYXNlIDI6aWYoay5kb25lKXtwLnhhKDQpO2JyZWFrfWw9ay52YWx1ZTtuPWc7cT1uLnB1c2g7cmV0dXJuIHAuaChqdihhLGwpLDUpO2Nhc2UgNTpxLmNhbGwobixwLmopO2s9aC5uZXh0KCk7cC54YSgyKTticmVhaztjYXNlIDQ6cmV0dXJuIHAucmV0dXJuKHBvKGcuam9pbigiIikpKX19KX0sCmp2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGMsZCl7YS5oLnB1c2goe3RleHQ6YixyZXNvbHZlOmMscmVqZWN0OmR9KTthLmp8fChhLmo9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXthLmZsdXNoKCl9LDUwKSl9KX07aXYucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5qPW51bGw7aWYodGhpcy5oLmxlbmd0aCE9PTApe3ZhciBhPXRoaXMuaDt0aGlzLmg9W107dmFyIGI9bmV3IHl1KHRoaXMubyk7YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyYzp2b2lkIDB9LGM9YS5uZXh0KCkpZC5yYz1jLnZhbHVlLGM9QnUoW2QucmMudGV4dF0pLk5hKHRoaXMuRWIpLm5hKHRoaXMuRmIpLHp1KGIsYyxmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpeyhmPXZuKGYpWzBdKSYmZlsxXT09PTIwMD9lLnJjLnJlc29sdmUoZlswXS50b1N0cmluZygpKTplLnJjLnJlamVjdCgiVHJhbnNsYXRpb24gZmFpbGVkIil9fShkKSkuY2F0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2UucmMucmVqZWN0KGYpfX0oZCkpfX07dmFyIGx2PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwpe18udS5jYWxsKHRoaXMpO3RoaXMuQz1hO3RoaXMuRmM9Yjt0aGlzLmxmPW5ldyBmdjt0aGlzLmZiPWN8fG51bGw7dGhpcy5JYT1sfHxudWxsO3RoaXMuSz1udWxsO3RoaXMuSWQ9ISFkO3RoaXMuamk9ZXx8InRyYW5zcGFyZW50Ijt0aGlzLmlpPSEhZjt0aGlzLkY9W107dGhpcy55Zj10aGlzLkk9dGhpcy5nPSExO3RoaXMubz1ofHxuZXcgdHQ7dGhpcy5EaT0haDt0aGlzLndhPWd8fHh0LmcoKTt0aGlzLlVlPW5ldyBjdTt0aGlzLkhiPXRoaXMuZ2I9dGhpcy5SPSExO3RoaXMuZGY9dGhpcy5BPS41O3RoaXMuamY9LjAxO3RoaXMuRD1uZXcgenQodGhpcy5BKTt0aGlzLmxhPSh0aGlzLkI9dGhpcy5yYT0hIWspP25ldyBNdXRhdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5RaCx0aGlzKSk6bnVsbDt0aGlzLkw9dGhpcy5YZT10aGlzLmo9dGhpcy5oPW51bGw7dGhpcy5QPTA7dGhpcy5PPW5ldyBNYXA7Xy54KHdpbmRvdywiYmx1ciIsCnRoaXMudGYsITAsdGhpcyk7Xy54KHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O18uQihsdixfLnUpO18ubT1sdi5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaD90aGlzLmg6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo/dGhpcy5qOiIifTtfLm0uZ2g9ZnVuY3Rpb24oYSl7dGhpcy5vaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Xy5tLmFmPWZ1bmN0aW9uKGEpe3RoaXMucGkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMubCYmdGhpcy5sKDAsITEsMSl9O18ubS5oaD1mdW5jdGlvbihhKXt0aGlzLnJpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmwmJnRoaXMubCgwLCExLDEpfTtfLm0uaWg9ZnVuY3Rpb24oYSl7dGhpcy50aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Cl8ubS50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkfHxhIT10aGlzLmh8fGIhPXRoaXMuailtdih0aGlzKSx0aGlzLkRpJiYodGhpcy5vPW5ldyB0dCk7ZWxzZSBpZih0aGlzLmcpcmV0dXJuO3RoaXMubD1jO3RoaXMuQWk9ZTt0aGlzLkI9dGhpcy5yYTt0aGlzLmxhJiZ0aGlzLmxhLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMCxzdWJ0cmVlOiEwfSk7dGhpcy5nPSEwO3RoaXMuaD1hO3RoaXMuaj1iO3RoaXMuSWQmJih0aGlzLks9bmV3IGd2KGEsYikpO3RoaXMuSGI9dGhpcy5oPT0iYXV0byI7dGhpcy5mYiYmKGM9dGhpcy5mYixhJiYoYy5EPWEpLGImJihjLkY9YikpO3RoaXMuWGI9bmV3IGh2KHRoaXMuQyx0aGlzLmopO2IgaW4gY3YmJihhPXRoaXMubGYsYiBpbiBjdiYmKGI9Y3ZbYl0sYz0iQGltcG9ydCB1cmwoIitXbygiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSIpLnJlc29sdmUoV28oZXZbYl0pKS50b1N0cmluZygpKwoiKTsiLGM9eW4oYyksYS5nLnB1c2goYyksYj15bignYm9keSB7Zm9udC1mYW1pbHk6IicrYisnIiwiR29vZ2xlIFNhbnMiLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYgIWltcG9ydGFudH0nKSxhLmcucHVzaChiKSkpO18ub2koXy5aaShwcSw5KSk/KHRoaXMuWGU9bmV3IGl2KHRoaXMuRmMsdGhpcy5oLHRoaXMuaiksdGhpcy5QPTAsbnYodGhpcyksdGhpcy5QPT09MCYmdGhpcy5sJiZ0aGlzLmwoMTAwLCEwKSk6dGhpcy5HPW92KHRoaXMpOyhiPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGwpJiZwdihiLHRoaXMuail9Owp2YXIgb3Y9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJ0KGEsYS53YSk7Q3QoYixhLnNmKTtFdChiLCgwLF8ueSkoYS5naCxhKSk7RnQoYixuZXcgQ3UoYS5GYyxbXS5jb25jYXQoYS5DKSxhLndhLGEubCxhLkIsYS5BaSkpO3JldHVybiBifSxudj1mdW5jdGlvbihhKXthLkw9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGIpe2IuZm9yRWFjaChmdW5jdGlvbihjKXtpZihjLmlzSW50ZXJzZWN0aW5nKXt2YXIgZD1jLmJvdW5kaW5nQ2xpZW50UmVjdDtkJiZkLndpZHRoPT09MCYmZC5oZWlnaHQ9PT0wfHwocXYoYSxjLnRhcmdldCksYS5MLnVub2JzZXJ2ZShjLnRhcmdldCkpfX0pfSk7W10uY29uY2F0KGEuQykuZm9yRWFjaChmdW5jdGlvbihiKXtydihhLGIpfSl9LHJ2PWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITA6YztpZighUXR8fCEkdChiKSl7YS5FZj09PXZvaWQgMCYmKGEuRWY9ISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9Imdvb2dsZSJdW2NvbnRlbnQ9Im5vdHJhbnNsYXRlIl0sIG1ldGFbbmFtZT0icm9ib3RzIl1bY29udGVudD0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJnb29nbGUiXVt2YWx1ZT0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJ0cmFuc2xhdGUiXVtjb250ZW50PSJubyJdJykpOwppZihhLkVmKWM9ITE7ZWxzZSBpZihiLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIjtRdCYmYnUmJihkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIik7ZD1iLmNsYXNzTGlzdCYmYi5jbGFzc0xpc3QuY29udGFpbnMoZCl8fGIuZ2V0QXR0cmlidXRlJiZiLmdldEF0dHJpYnV0ZSgidHJhbnNsYXRlIik9PT0ibm8iO2U9Yi5jbGFzc0xpc3QmJmIuY2xhc3NMaXN0LmNvbnRhaW5zKGUpfHxiLmdldEF0dHJpYnV0ZSYmYi5nZXRBdHRyaWJ1dGUoInRyYW5zbGF0ZSIpPT09InllcyI7Yz1kPyExOmU/ITA6Y31pZihiLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpYyYmXy5BYyhiLnRleHRDb250ZW50KSYmYi5wYXJlbnRFbGVtZW50JiZhLkwub2JzZXJ2ZShiLnBhcmVudEVsZW1lbnQpO2Vsc2UgaWYoYi5jaGlsZE5vZGVzKWZvcihlPTA7ZTxiLmNoaWxkTm9kZXMubGVuZ3RoO2UrKylydihhLGIuY2hpbGROb2Rlc1tlXSwKYyl9fSxxdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz17fSxkPTA7ZDxiLmNoaWxkTm9kZXMubGVuZ3RoO2M9e2tiOnZvaWQgMH0sZCsrKWMua2I9Yi5jaGlsZE5vZGVzW2RdLGMua2Iubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmXy5BYyhjLmtiLnRleHRDb250ZW50KSYmKGEuUCsrLGEuTy5oYXMoYy5rYil8fGEuTy5zZXQoYy5rYixjLmtiLnRleHRDb250ZW50KSxrdihhLlhlLGMua2IudGV4dENvbnRlbnQpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2Uua2IudGV4dENvbnRlbnQ9Zn19KGMpKS5jYXRjaChmdW5jdGlvbigpe30pLmZpbmFsbHkoZnVuY3Rpb24oKXthLlAtLTthLlA9PT0wJiZhLmwmJmEubCgxMDAsITApfSkpfTtsdi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe212KHRoaXMpO3RoaXMuVWUucmVzdG9yZSgpO3ZhciBhPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGw7YSYmcHYoYSx0aGlzLkphKCkpfTsKbHYucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKTtfLlVkKHdpbmRvdywiYmx1ciIsdGhpcy50ZiwhMCx0aGlzKTtfLlVkKHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O3ZhciBzdj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT13cihhLm8uaCksZj1uZXcgQnQoYSxiLkQpO2IuQy5wdXNoKGYpO0R0KGYsYi5JKTtGdShiLGUpO0N0KGYsZHx8YS5wZik7Yj1jfHxuZXcgWXUoW10sW10sYixhLkphKCksYS5vYSgpLGEueWYsYS5JLGEuSWEpO0V0KGYsYS5VaCxhKTthLkImJkR0KGYsYi5kb25lLGIpO0Z0KGYsYil9O18ubT1sdi5wcm90b3R5cGU7Xy5tLlVoPWZ1bmN0aW9uKGEsYixjKXtjLmRvbmUoKTt0aGlzLkk/dGhpcy5paChhKTp0aGlzLmhoKGEpO2Muby5JKCl9O18ubS51Zj1mdW5jdGlvbigpe3RoaXMuUj0hMTt0aGlzLlQ9MDt5dCh0aGlzLkQsdGhpcy5BKX07Cl8ubS50Zj1mdW5jdGlvbihhKXthLnRhcmdldD09d2luZG93JiYodGhpcy5SPSEwLHRoaXMuVD0wLHl0KHRoaXMuRCwuMDEpKX07Xy5tLlFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyYmdGhpcy5CKWlmKF8ub2koXy5aaShwcSw5KSkpZm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBjPWFbYl0uYWRkZWROb2RlcztpZihjKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXJ2KHRoaXMsY1tkXSl9ZWxzZXtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0udGFyZ2V0JiZhW2JdLnRhcmdldC5jbGFzc05hbWUmJnR5cGVvZiBhW2JdLnRhcmdldC5jbGFzc05hbWU9PT0ic3RyaW5nIiYmKGFbYl0udGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCJ0cmFuc2xhdGUiKT49MHx8YVtiXS50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoImdvb2ctIik9PTApKXJldHVybjt0aGlzLndhLmFkZCgoMCxfLnkpKHRoaXMuTWksdGhpcykpfX07Cl8ubS5NaT1mdW5jdGlvbigpe3RoaXMuST0hMDt0aGlzLkcmJih0aGlzLkcuc3RvcCgpLHRoaXMuRz1vdih0aGlzKSk7cmV0dXJuITF9O18ubS5zZj1mdW5jdGlvbihhLGIpe0R1KGIsR3QoYSkpO3N2KHRoaXMsYik7cmV0dXJuIHRoaXMuWWh9O18ubS5ZaD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O2lmKCFIdChhKSlyZXR1cm4gSnQ7aWYoIXRoaXMuQilmb3IoYT0wO2E8dGhpcy5GLmxlbmd0aDsrK2Epe3ZhciBjPWIsZD0oMCxfLnkpKHRoaXMuTWUsdGhpcyxiLHRoaXMuRlthXSk7Yy5ELmFkZChkKX1yZXR1cm4gdGhpcy5YaH07Cl8ubS5uZj1mdW5jdGlvbihhLGIpe2lmKHRoaXMuVCYmIXRoaXMuUil7YT0obmV3IERhdGUpLmdldFRpbWUoKS10aGlzLlQ7dmFyIGM9dGhpcy5BO2E8OTAwJiZjPi4wMT9jPU1hdGgubWF4KGMqLjksLjAxKTphPjExMDAmJmM8LjUmJihjPU1hdGgubWluKGMqMS41LC41KSk7dGhpcy5BPWM7dGhpcy5nYj90aGlzLmpmPS4wMTp0aGlzLmRmPXRoaXMuQX10aGlzLkk9dGhpcy5nPSEwO3RoaXMuVD0obmV3IERhdGUpLmdldFRpbWUoKTt0aGlzLkNpIT0oYT1kb2N1bWVudC5ib2R5LmlubmVyVGV4dHx8ZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudHx8ZG9jdW1lbnQuYm9keS5pbm5lckhUTUwpPyh0aGlzLkNpPWEsYT0hMCk6YT0hMTthPyh0aGlzLmdiPSExLHRoaXMuQT10aGlzLmRmLHRoaXMuUnx8eXQodGhpcy5ELHRoaXMuQSksRXUoYixbXS5jb25jYXQodGhpcy5DKSx0aGlzLkQpLGE9bmV3IEJ0KHRoaXMsdGhpcy5EKSxDdChhLHRoaXMuc2YpLEV0KGEsKDAsXy55KSh0aGlzLmFmLHRoaXMpKSwKRnQoYSxiKSx0aGlzLkc9YSk6KHRoaXMuZ2I9ITAsdGhpcy5BPXRoaXMuamYsdGhpcy5SfHx5dCh0aGlzLkQsdGhpcy5BKSxhPW5ldyBCdCh0aGlzLHRoaXMuRCksQ3QoYSx0aGlzLm5mKSxFdChhLCgwLF8ueSkodGhpcy5hZix0aGlzKSksRnQoYSxiKSx0aGlzLkc9YSk7cmV0dXJuIEl0fTtfLm0uWGg9ZnVuY3Rpb24oYSxiKXtpZighdGhpcy5nKXJldHVybiBJdDt0aGlzLkk9dGhpcy5nPSExO3RoaXMuSGI/R3UoYiwhMCk6KEd1KGIpLGIuUChiLmwpKTtpZih0aGlzLmlpKXJldHVybiB0aGlzLm5mO2IuY2xlYXIoKTtyZXR1cm4gSXR9Owp2YXIgdXY9ZnVuY3Rpb24oYSxiLGMpe2E6e3ZhciBkPXR2KGEpLGU9YS5mYixmPWEuamksZz1hLlVlLmc7Yj1HdChiKTtpZighYy5HKXtpZihjLnFhLmxlbmd0aD09MCl7Yy5sPT0wJiZjLnFiPT0wJiZjLkIoMCwhMCk7Yz0hMTticmVhayBhfWMuRz1JdShjLGQsZSxmLGcpfWMucmE9ITA7UnQoYy5HLGMuaixjLmgsYik7Yz0hMH1yZXR1cm4gYz9hLnBmOmEuU2N9LHR2PWZ1bmN0aW9uKGEpe3JldHVybiBhLklkPygwLF8ueSkoYS5LLm8sYS5LKTpmdW5jdGlvbigpe319O18ubT1sdi5wcm90b3R5cGU7Cl8ubS5wZj1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O3ZhciBjPWIubztpZihjLmc9PW51bGwpe2lmKCFjLnJhKXJldHVybiB1dih0aGlzLGEsYi5vKTtpZighSHQoYSkpcmV0dXJuIEp0O2MucmE9ITE7Yy5nPWMuRy5kY3x8bnVsbDt2YXIgZD1jLmc/Yy5nOmMuRz1udWxsO2lmKCFkKXJldHVybiB1dih0aGlzLGEsYi5vKTt0aGlzLkYucHVzaChkKTt2YXIgZT1kLm1hKCk7aWYodGhpcy5vLmhhcyhlLCF0aGlzLkIpfHxiLkdbZV0hPW51bGwmJmIuR1tlXSlyZXR1cm4gZT1jLmcuRCxjLmwrPWUsYy5qLT1lLGMuZz1udWxsLHRoaXMuQiYmSnUoYixkLCExKSx1dih0aGlzLGEsYi5vKTtlPXRoaXMubztkPWQubWEoKTtlLmdbZF09bnVsbH1iLmxiKCk+MCYmeXQodGhpcy5ELC41KTtyZXR1cm4gS3UoYyxiLHdyKHRoaXMuby5oKSk/dGhpcy5TYzp1dih0aGlzLGEsYi5vKX07Cl8ubS5TYz1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmd8fGIubGIoKT09MClyZXR1cm4gSXQ7c3YodGhpcyxiLm8pO3JldHVybiB0aGlzLkI/KGIudHJhY2tWaXNpYmlsaXR5KEd0KGEpKSx0aGlzLlpoKTpiLnRyYW5zbGF0ZShhKT09MD9JdDp0aGlzLnJmfTtfLm0uWmg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5nP0h0KGEpP2IudHJhbnNsYXRlKGEpPT0wP0l0OnRoaXMucmY6SnQ6SXR9OwpfLm0uTWU9ZnVuY3Rpb24oYSxiKXtiLmomJnRoaXMuby5yZW1vdmUoYi5sKTtpZighdGhpcy5nKXJldHVybiExO2lmKHRoaXMuby5oYXMoYi5tYSgpLCExKSl7dmFyIGM9dGhpcy5vO2MuaGFzKGIubCwhMSk/KGIuaD1jLnJlYWQoYi5sKSxiLkw9ITApOihjLnJlbW92ZShiLmwpLGIuaj0hMCk7cXQoYil9ZWxzZSBpZihjPXRoaXMubyxiLmopYy5yZW1vdmUoYi5sKTtlbHNlIGlmKGIuRil7dmFyIGQ9Yi5GLnJlcGxhY2UoLzxhIC9nLCI8c3BhbiAiKS5yZXBsYWNlKC9cL2E+L2csIi9zcGFuPiIpO2IuTD0hMDtkZWxldGUgYi5GO2IuRj1udWxsO2IuaD1bXTt2YXIgZT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGY9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTttcChmLCExKTtkPWQuaW5kZXhPZigiPGk+Iik+PTA/ZDoiPGI+IitkKyI8L2I+IjtkPV8uS2IoZCk7ZD1fLm1sKGQpO2Yubm9kZVR5cGU9PT0xJiZNbChmKTtmLmlubmVySFRNTD1fLmtqKGQpOwplLmJvZHkuYXBwZW5kQ2hpbGQoZik7ZT1bXTtmb3IoZD1mLmZpcnN0Q2hpbGQ7ZDtkPWQubmV4dFNpYmxpbmcpaWYoZC50YWdOYW1lPT0iSSIpdmFyIGc9b3QoYixFbyhkKSxkLmlubmVySFRNTCk7ZWxzZSBpZihkLnRhZ05hbWU9PSJCIil7Z3x8KGc9b3QoYiwiIiwiIikpO2lmKGIuZy5sZW5ndGg9PTEpdXQoZy5VLGUsMCxkKTtlbHNle3ZhciBoPWU7dmFyIGs9ZDt2YXIgbD1iLmc7Zz1nLlU7Zm9yKHZhciBuPVtdLHE9ay5maXJzdENoaWxkO3E7cT1wKXt2YXIgcD1xLm5leHRTaWJsaW5nO3Z0KHEpfWZvcihwPWsuZmlyc3RDaGlsZDtwO3A9cC5uZXh0U2libGluZylwLmF0dHJpYnV0ZXMmJnAuYXR0cmlidXRlcy5pPyhrPXBhcnNlSW50KHAuYXR0cmlidXRlcy5pLm5vZGVWYWx1ZSwxMCksIWlzTmFOKGspJiZrPj0wJiZrPGwubGVuZ3RoJiYobFtrXS5yZCYmbltrXT9uW2tdLlorPXAuZmlyc3RDaGlsZCYmcC5maXJzdENoaWxkLm5vZGVUeXBlPT0zP3AuZmlyc3RDaGlsZC5ub2RlVmFsdWU6CkVvKHApOm5ba109dXQoZyxoLGsscCkpKTpwLm5vZGVUeXBlPT0zJiZnLnB1c2goe1g6LTEsWjpwbyhwLm5vZGVWYWx1ZSl9KTtnIT1udWxsJiZnLmxlbmd0aD4wJiZnWzBdLlg9PS0xJiYoZy5sZW5ndGg9PTE/Z1swXS5YPTA6KGdbMV0uWj1nWzBdLlorZ1sxXS5aLGcuc2hpZnQoKSkpfWc9dm9pZCAwfWQ9Yi5oO2ZvcihoPTA7aDxkLmxlbmd0aC0xOysraClsPWRbaF0sZz1rbyhsLlVbbC5VLmxlbmd0aC0xXS5aKSxnPWcuY2hhckNvZGVBdChnLmxlbmd0aC0xKSwxMjI4ODw9ZyYmZzw9MTIzNTF8fDY1MjgwPD1nJiZnPD02NTUxOXx8KGwuVVtsLlUubGVuZ3RoLTFdLlorPSIgIik7Xy5BZChmKTtmb3IoZj0wO2Y8Yi5nLmxlbmd0aDsrK2YpZjxlLmxlbmd0aCYmZjxiLkMubGVuZ3RoJiZlW2ZdIT1udWxsJiYoZD1iLkNbZl0saD1lW2ZdLnN0YXJ0LGghPW51bGwmJihsPWQuc3Vic3RyaW5nKDAsZC5sZW5ndGgtZC5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikubGVuZ3RoKSxsPT0iICImJgoobD0iIiksbCYmKGguWj1sK2guWi5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikpKSxoPWVbZl0uZW5kLGghPW51bGwmJihkPWQuc3Vic3RyaW5nKGtvKGQpLmxlbmd0aCksZD09IiAiJiYoZD0iIiksZCYmKGguWj1rbyhoLlopK2QpKSk7Yi5oLmxlbmd0aCE9MXx8Yi5oWzBdLmhlfHwoYi5oWzBdLmhlPWIubCk7Yy53cml0ZShiLmwsYi5oKTtxdChiKX1iLkl8fCh0aGlzLkhiPSExKTtjPWIuaj8hMDp2b2lkIDA7YS5XKz1iLkQ7YyE9bnVsbCYmKGEubGE9ITApO2I9TWF0aC5taW4oTWF0aC5mbG9vcihhLlcqMTAwL2EubCksMTAwKTtpZihhLkYhPWJ8fGMpYS5GPWIsYS5SPyhhLkIoYS5GLCEwLGMpLGEuUChhLlcpKTphLkIoYS5GLCExLGMpO3JldHVybiExfTsKXy5tLnJmPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gSXQ7aWYoIUh0KGEpKXJldHVybiBKdDtpZihiLmxiKCk+MSl7YT1iLmxbMF07dmFyIGM9Yi5nO2lmKGEuanx8Yy5sZW5ndGg9PTB8fGEuZz09bnVsbHx8YS5nLmxlbmd0aD09MClhPW51bGw7ZWxzZXtmb3IodmFyIGQ9W10sZT1bXSxmPTA7ZjxhLmcubGVuZ3RoJiZmPGMubGVuZ3RoOysrZil7dmFyIGc9YS5nW2ZdO2cmJmdbMF0mJmdbMV09PTIwMHx8KGUucHVzaChjW2ZdKSxkLnB1c2goYS5vW2ZdKSl9YT1lLmxlbmd0aD4wP3tOaTpuZXcgZnUoZCwhMCksT2k6ZX06bnVsbH1hPWE/bmV3IFl1KFthLk5pXSxhLk9pLGIubyxiLmgsYi5qLGIucWEsYi5PLGIuQik6bnVsbDthIT1udWxsJiZzdih0aGlzLGIubyxhLHRoaXMuU2MpfWVsc2V7YT0hMTtmb3IoYz0wO2M8Yi5sLmxlbmd0aDsrK2MpZD1iLmxbY10sZC5qfHxkLmg9PTIwMCYmZC5nJiZkLmdbMF0/ZD1kLmw9ITE6KGQuaj0hMCxkPWQubD0hMCksYT1kfHxhO2lmKGEpcmV0dXJuIHRoaXMuU2N9ZD0KdGhpcy5KYSgpO2E9dGhpcy5vYSgpO2lmKGIuZy5sZW5ndGg+MSlpZihjPWIubFswXSxlPWQ9PSJhdXRvIixkPWIuZyxjLmg9PTIwMClmb3IoZj0wO2Y8Yy5nLmxlbmd0aCYmZjxkLmxlbmd0aDsrK2YpaWYoKGc9Yy5nW2ZdKSYmZ1sxXT09MjAwKXt2YXIgaD1nWzJdLGs9ZFtmXSxsPWssbj1oIT1udWxsJiZoPT1hO2wuRj1nWzBdO24hPT12b2lkIDAmJihsLks9bik7ay5JPWUmJmg9PW51bGx9ZWxzZSBkW2ZdLmo9ITA7ZWxzZSBmb3IoYT0wO2E8ZC5sZW5ndGg7KythKWRbYV0uaj0hMDtlbHNle2M9bmV3IGV1KGQ9PSJhdXRvIik7Zm9yKGQ9MDtkPGIubC5sZW5ndGg7KytkKWY9Yi5sW2RdLGU9YSxmLmg9PTIwMCYmZi5nJiZmLmdbMF0/KGY9Zi5nWzBdLGMuZy5wdXNoKGZbMF0pLGY9ZlsyXSxjLmg9Yy5oJiZmIT1udWxsJiZmPT1lLGYhPW51bGwmJihjLmw9ITEpKTpjLmo9ITA7Yi5GIT1udWxsJiYoYy5nLnB1c2goYi5GKSxiLkY9bnVsbCk7aWYoYT1iLmdbMF0pZD1jLm1hKCksZT1jLmgsCmEuRj1kLGUhPT12b2lkIDAmJihhLks9ZSksYS5JPWMubCxhLmo9Yy5qfWlmKHRoaXMuQil7YT0oMCxfLnkpKHRoaXMuTWUsdGhpcyk7Zm9yKGM9MDtjPGIuZy5sZW5ndGg7YysrKWEoYi5vLGIuZ1tjXSk7Zm9yKGM9MDtjPGIuQy5sZW5ndGg7YysrKWEoYi5vLGIuQ1tjXSk7JHUoYik7Yi5XPSEwO2IuSSYmYi5CJiYoYj1iLkIsLS1iLmg9PTAmJlZ1KGIuZykpfXJldHVybiBJdH07CnZhciBtdj1mdW5jdGlvbihhKXthLmxhJiZhLmxhLmRpc2Nvbm5lY3QoKTthLklhJiZhLklhLnJlc2V0KCk7YS5nJiYoYS5HJiZhLkcuc3RvcCgpLGEuZz0hMSxhLkk9ITEpO2lmKGEuRi5sZW5ndGgpe2Zvcih2YXIgYj0wO2I8YS5GLmxlbmd0aDsrK2IpYS5GW2JdLmRpc3Bvc2UoKTthLkY9W119YS5LIT1udWxsJiYoYS5LLnJlc3RvcmUoKSxhLks9bnVsbCk7YS5YYiE9bnVsbCYmKGEuWGIucmVzdG9yZSgpLGEuWGI9bnVsbCk7YS5PJiZhLk8uc2l6ZT4wJiYoYS5PLmZvckVhY2goZnVuY3Rpb24oYyxkKXtkLnRleHRDb250ZW50PWN9KSxhLk8uY2xlYXIoKSk7YS5MJiYoYS5MLmRpc2Nvbm5lY3QoKSxhLkw9bnVsbCk7YS5sZi5yZXN0b3JlKCl9LHB2PWZ1bmN0aW9uKGEsYil7YS5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIikmJmEuc2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIsYik7YS5nZXRBdHRyaWJ1dGUoImxhbmciKSYmYS5zZXRBdHRyaWJ1dGUoImxhbmciLGIpfTsKRHIuYXR0YWNoKDMwNDYsbHYucHJvdG90eXBlLHtvaToxLHJpOjIscGk6Myx0aTo0fSk7dmFyIHZ2PVdxKGNyKSx3dj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsLG4pe18udS5jYWxsKHRoaXMpO3RoaXMuTz1ifHxudWxsO3RoaXMuSz0hIWM7dGhpcy5HPWR8fCJ0cmFuc3BhcmVudCI7dGhpcy5EPWZ8fCIiO2I9Z3x8e2ZldGNoU3RhcnQ6MCxTazowfTthPWIuZmV0Y2hTdGFydHx8MDtiPWIuZmV0Y2hFbmR8fDA7dGhpcy5GPWEmJmI/Yi1hOjA7dGhpcy5SPURhdGUubm93KCktcnE7dGhpcy5BPSExO3RoaXMuZz1uZXcgUnIoZXx8IiIsdm9pZCAwLGYsbik7dGhpcy5JPW5ldyB6dCgxKTt0aGlzLkI9bmV3IHR0O3RoaXMubD1udWxsO3RoaXMuQz0hMDt0aGlzLm89Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsO3RoaXMuTD1ofHxudWxsO2U9bmV3IGpyO2Y9bmV3IGxyKHRoaXMuZy5pbml0aWFsaXplLmJpbmQodGhpcy5nLGUucmVnaXN0ZXIoKSkpO3RoaXMuemM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy56Yyx0aGlzKSkpO3RoaXMuUGM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5QYywKdGhpcykpKTt0aGlzLnFkPW1yKGYsZS5kZWxheSgoMCxfLnkpKHRoaXMucWQsdGhpcykpKTt0aGlzLnJlc3RvcmU9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5yZXN0b3JlLHRoaXMpKSk7Zi5maW5pc2goKTtlLmZpbmlzaCgpO3BlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiZwZXJmb3JtYW5jZS5tYXJrKFJxLHZvaWQgMCk7ZT1kcih2diwxKTtmPW5ldyBRbjtmPV8uVGooZiwxLHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO2E6e2lmKHBlcmZvcm1hbmNlJiYoaD1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksaC5sZW5ndGg9PTEpKXtoPWhbMF07YnJlYWsgYX1oPW51bGx9aCYmKG49bmV3IEZtLG49Xy5UaihuLDEsIiIpLGE9R20oaC5zdGFydFRpbWUpLG49Xy5MKG4sMixhKSxhPUhtKGguZHVyYXRpb24pLG49Xy5MKG4sMyxhKSxhPW5ldyBQbixhPV8uVGooYSwxLGguaW5pdGlhdG9yVHlwZSksYT1fLlRqKGEsMixoLm5leHRIb3BQcm90b2NvbCksCmI9R20oaC53b3JrZXJTdGFydHx8MCksYT1fLkwoYSwzLGIpLGI9R20oaC5yZWRpcmVjdFN0YXJ0KSxhPV8uTChhLDQsYiksYj1HbShoLnJlZGlyZWN0U3RhcnQpLGE9Xy5MKGEsNCxiKSxiPUdtKGgucmVkaXJlY3RFbmQpLGE9Xy5MKGEsNSxiKSxiPUdtKGguZmV0Y2hTdGFydCksYT1fLkwoYSw2LGIpLGI9R20oaC5kb21haW5Mb29rdXBTdGFydCksYT1fLkwoYSw3LGIpLGI9R20oaC5kb21haW5Mb29rdXBFbmQpLGE9Xy5MKGEsOCxiKSxiPUdtKGguY29ubmVjdFN0YXJ0KSxhPV8uTChhLDksYiksYj1HbShoLmNvbm5lY3RFbmQpLGE9Xy5MKGEsMTAsYiksYj1HbShoLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksYT1fLkwoYSwxMSxiKSxiPUdtKGgucmVzcG9uc2VTdGFydCksYT1fLkwoYSwxMyxiKSxiPUdtKGgucmVzcG9uc2VFbmQpLGE9Xy5MKGEsMTQsYiksYT1fLmprKGEsMTUsaC50cmFuc2ZlclNpemUpLGE9Xy5qayhhLDE2LGguZW5jb2RlZEJvZHlTaXplKSxhPV8uamsoYSwxNyxoLmRlY29kZWRCb2R5U2l6ZSksCm49Sm0obiw2LGEpLF8uTChmLDMsbiksbj1ObShScSkpJiYoaD1PbShVcSx7c3RhcnQ6aC5yZXNwb25zZUVuZCxlbmQ6bi5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSkpJiYocGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoVXEpLGg9S20oaCksXy5MKGYsNCxoKSxoPVVuKGUpLF8uTChoLDQsZikpO2ZyKGUsMSl9O18uRyh3dixfLnUpO0RyLmF0dGFjaCgxNDA5Nyx3di5wcm90b3R5cGUse2JlOmZ1bmN0aW9uKCl7UW0odGhpcy5nLlRhKCk/InRlX2FmYXMiOiJ0ZV9hZmF1Iil9fSk7Xy5tPXd2LnByb3RvdHlwZTtfLm0uUGk9ZnVuY3Rpb24oYSl7dGhpcy5vPWF9O18ubS5TYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuVGEoKX07Cl8ubS56Yz1mdW5jdGlvbihhLGIpe3RoaXMuZy5TYSgpP3RoaXMuZy5vLnNlbmQoe2Rpc3BsYXlfbGFuZ3VhZ2U6YixrZXk6IkFJemFTeUJXRGowUUp2Vkl4OFhPaFJlZ1hYNV9TclJXeGhUNUhzNCJ9LGEpLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGEoYyl9KToodGhpcy5iZSgpLGEobnVsbCkpfTsKXy5tLlBjPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nO2lmKGIpYShiKTtlbHNlIGlmKHRoaXMuZy5TYSgpKXtiPW5ldyBhcyhkb2N1bWVudC5ib2R5LCExLCExLDEsMSk7Zm9yKHZhciBjPVtdLGQ9MCxlPXRoaXMuZy5oLkhmO2MubGVuZ3RoK2Q8ZTspe3ZhciBmPWIubmV4dCgpO2lmKGYuZG9uZSlicmVhaztmPWYudmFsdWU7Yi5nPT0xJiYkdChmKT9icyhiKTpmLm5vZGVUeXBlPT0zJiYoZj1fLkFjKGpvKGYubm9kZVZhbHVlKSkpJiYoYy5wdXNoKGYpLGQrPWYubGVuZ3RoKX1Tcih0aGlzLmcsYSxjLmpvaW4oIiAiKSkudGhlbihmdW5jdGlvbihnKXthKGcpfSxmdW5jdGlvbihnKXtyZXR1cm4gYShudWxsLGcpfSl9ZWxzZSB0aGlzLmJlKCksYShudWxsLCEwKX07Cl8ubS5xZD1mdW5jdGlvbihhLGIsYyxkLGUpe3Z2LkViPWE7dnYuRmI9Yjt2YXIgZj1kcih2diwyKTtlcih2dixmKTt2YXIgZz1ObShScSk7aWYoZyl7dmFyIGg9Tm0oU3EpO2lmKGgpe3ZhciBrPU9tKFZxLHtzdGFydDpnLnN0YXJ0VGltZSxlbmQ6aC5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSk7ayYmKGc9VW4oZiksaD1uZXcgU24saz1LbShrKSxoPV8uTChoLDEsayksXy5MKGcsNSxoKSxwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhWcSkpfX1mcihmLDIpO2Y9e2RldGFpbDp7c291cmNlTGFuZ3VhZ2U6YSx0YXJnZXRMYW5ndWFnZTpifX07cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoU3EsZik7Zj1EYXRlLm5vdygpO0NyKCk7aWYoIWF8fHhyKGEsYikpYT0iYXV0byI7aWYoZXx8YSE9dGhpcy5ofHxiIT10aGlzLmopdGhpcy5CPW5ldyB0dDt0aGlzLmg9YTt0aGlzLmo9CmI7dGhpcy5nLlNhKCk/KGQ9ZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMubCYmdGhpcy5sLmRpc3Bvc2UoKSx0aGlzLmw9bmV3IGx2KGQsdGhpcy5nLHRoaXMuTyx0aGlzLkssdGhpcy5HLCEwLHRoaXMuSSx0aGlzLkIsdGhpcy5vLHRoaXMuTCksdGhpcy5sLnlmPXRoaXMuQSx0aGlzLkM9ITAsdGhpcy5sLnRyYW5zbGF0ZShhLGIsYyxlLCgwLF8ueSkodGhpcy55aSx0aGlzLGYsYSxiKSkpOih0aGlzLmJlKCksYygwLCExLCEwKSl9O18ubS5wZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5sJiZ0aGlzLmwuZ307Xy5tLllmPWZ1bmN0aW9uKGEpe3RoaXMuQT1hfTtfLm0ucmVzdG9yZT1mdW5jdGlvbigpe3ZhciBhPWRyKHZ2LDMpO2VyKHZ2LGEpO2ZyKGEsMyk7cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoVHEsdm9pZCAwKTtDcigpO3RoaXMuZy5TYSgpJiZ0aGlzLmwmJnRoaXMubC5yZXN0b3JlKCl9OwpfLm0uTT1mdW5jdGlvbigpe0JyKCk7d3YuZWEuTS5jYWxsKHRoaXMpO3RoaXMuZy5kaXNwb3NlKCk7dGhpcy5sPXRoaXMuZz1udWxsO3RoaXMuQj1uZXcgdHR9OwpfLm0ueWk9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5DJiYodGhpcy5DPSExLGI9e3NsOmIsdGw6Yyx0ZXh0bGVuOmR9LHRoaXMuQSYmKGIuY3R0PSIxIiksdGhpcy5EIT0iIiYmKGIuc3A9dGhpcy5EKSxiLnR0dD1EYXRlLm5vdygpLWEsYi50dGw9dGhpcy5SLHRoaXMuRiYmKGIudHRmPXRoaXMuRiksdGhpcy5vJiYoYi5zcj0xKSxhPXBxLGM9W10sXy5vaShfLlppKGEsMikpJiZjLnB1c2goInNkYSIpLF8ub2koXy5aaShhLDMpKSYmYy5wdXNoKCJlZWlzIiksZD1fLmJqKGEsaXEsNiksXy5vaShfLlppKGQsMSkpJiZjLnB1c2goImVzdHMiKSxfLm9pKF8uWmkoYSw3KSkmJmMucHVzaCgiZWhjbSIpLF8ub2koXy5aaShhLDgpKSYmYy5wdXNoKCJlb3BhIiksXy5vaShfLlppKGEsOSkpJiZjLnB1c2goImVhZHQiKSxiLmVmPWMuam9pbigiLCIpLFFtKCJ0ZV90aW1lIixiKSl9O3ZhciB4dj1mdW5jdGlvbihhKXt4bi5jYWxsKHRoaXMsYSk7dGhpcy5BPW5ldyBfLkhiKHRoaXMpfTtfLkIoeHYseG4pO3h2LnByb3RvdHlwZS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpO2EuY2xhc3NOYW1lPSJnb29nLXRlLWNvbWJvIjthLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsUi5FZSk7dGhpcy5PYShhKX07eHYucHJvdG90eXBlLkxhPWZ1bmN0aW9uKCl7eG4ucHJvdG90eXBlLkxhLmNhbGwodGhpcyk7dGhpcy5aZSgpfTt4di5wcm90b3R5cGUuWmU9ZnVuY3Rpb24oKXtfLngodGhpcy5IKCksImNoYW5nZSIscHIodGhpcywiY2hhbmdlIikpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTt4di5wcm90b3R5cGUuc2E9ZnVuY3Rpb24oKXt4bi5wcm90b3R5cGUuc2EuY2FsbCh0aGlzKTt0aGlzLkEuZGlzcG9zZSgpO3RoaXMuQT1udWxsfTsKdmFyIHl2PWZ1bmN0aW9uKGEsYil7YS5IKCkucGFyZW50Tm9kZSE9YiYmKGEuSCgpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYS5IKCkpLGIuYXBwZW5kQ2hpbGQoYS5IKCkpKX07Xy5tPXh2LnByb3RvdHlwZTtfLm0udWM9ZnVuY3Rpb24oYSl7dGhpcy5oLmllKHRoaXMuSCgpKTtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dmFyIGM9dGhpcy5oLlMoIk9QVElPTiIse3ZhbHVlOmJ9KTt0aGlzLmguU2IoYyxhW2JdKTt0aGlzLkgoKS5hcHBlbmRDaGlsZChjKX10aGlzLkgoKS5zZWxlY3RlZEluZGV4PTB9O18ubS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkgoKS52YWx1ZX07Xy5tLmNiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuSCgpLnZhbHVlIT1hKWZvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpe3RoaXMuSCgpLnNlbGVjdGVkSW5kZXg9YjticmVha319OwpfLm0uQWM9ZnVuY3Rpb24oYSl7aWYoXy5vYyhhKT09InVuZGVmaW5lZCIpcmV0dXJuIHRoaXMuSCgpLm9wdGlvbnMuaXRlbSh0aGlzLkgoKS5zZWxlY3RlZEluZGV4KS50ZXh0O2Zvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpcmV0dXJuIGMudGV4dH07Xy5tLlJiPWZ1bmN0aW9uKGEpe3RoaXMuSCgpLmRpc2FibGVkPSFhfTt2YXIgenY9ZnVuY3Rpb24oYSl7eHYuY2FsbCh0aGlzLGEpfTtfLkIoenYseHYpO3p2LnByb3RvdHlwZS5uYj1mdW5jdGlvbihhKXt0aGlzLnVjLmNhbGwodGhpcyxhKX07dmFyIEF2PWZ1bmN0aW9uKGEsYil7eHYuY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLm9lPXRoaXMuZy5vZXx8MTE7dGhpcy5nLnBkPXRoaXMuZy5wZCE9MDt0aGlzLmcuZWI9QXF9O18uQihBdix4dik7Xy5tPUF2LnByb3RvdHlwZTtfLm0uS2M9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiR2EiKTt9OwpfLm0uUz1mdW5jdGlvbigpe3RoaXMuS2MoKTt0aGlzLkQ9dGhpcy5IKCk7dGhpcy5sPXdvKCJJRlJBTUUiLHtmcmFtZUJvcmRlcjowLCJjbGFzcyI6IlZJcGdKZC1aVmk5b2QteGwwN09iLU9FVm1jZCBza2lwdHJhbnNsYXRlIix0aXRsZTpSLkVlfSk7dGhpcy5sLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiO21wKHRoaXMubCwhMSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmwpfTsKXy5tLlplPWZ1bmN0aW9uKCl7dmFyIGE9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIixiPV8uTGIodGhpcy5nLmViKSxjPVModGhpcywibWVudUJvZHkiKTt0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMucWcpO3RyKHRoaXMubCwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGQ9em8odGhpcy5sKSxlPXt9LGY9ZSYmZS5UZTtlPVduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoZSkpO2Y9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURjgiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicrUCh4cChiKSkrJyInKyhmPycgbm9uY2U9IicrUChZcChmKSkrJyInOiIiKSsnPjwvaGVhZD48Ym9keSBzY3JvbGw9Im5vIiBzdHlsZT0ibWFyZ2luOjBweDtvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciIG1hcmdpbkhlaWdodD0wIG1hcmdpbldpZHRoPTAgbGVmdE1hcmdpbj0wIHRvcE1hcmdpbj0wIGJvcmRlcj0wPjxkaXYgaWQ9IicrClAoYykrJyIgY2xhc3M9JztpZih3cCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLF8ucWwpKXt2YXIgZz1NcCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLm1hKCkpO2c9U3RyaW5nKGcpLnJlcGxhY2UoT3AsQ3ApfWVsc2UgZz0iVklwZ0pkLVpWaTlvZC14bDA3T2IiLnJlcGxhY2UoTnAsQ3ApO2U9Vm4oZSxmK2crIj48L2Rpdj48L2JvZHk+IikuVGIoKTtkLndyaXRlKF8ua2ooZSkpO2QuY2xvc2UoKX0sdGhpcykpfTtfLm0ucWc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5sKSk7dGhpcy5MPXRoaXMuai5IKFModGhpcywibWVudUJvZHkiKSk7dGhpcy5BLk4odGhpcy5ELCJjbGljayIsdGhpcy5UZCk7Xy5TYz90aGlzLkEuTih0aGlzLmwsImJsdXIiLHRoaXMuUmMpOnRoaXMuQS5OKEFvKHRoaXMubCksImJsdXIiLHRoaXMuUmMpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7eHYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7Xy5BZCh0aGlzLmwpO3RoaXMuRD10aGlzLlQ9dGhpcy5CPXRoaXMuTD10aGlzLmo9dGhpcy5sPW51bGx9O18ubS5xZj1mdW5jdGlvbihhKXt0aGlzLm8hPWEuY3VycmVudFRhcmdldC52YWx1ZSYmKHRoaXMuY2IoYS5jdXJyZW50VGFyZ2V0LnZhbHVlKSx0aGlzLmRpc3BhdGNoRXZlbnQoImNoYW5nZSIpKTt0aGlzLlJjKCl9O18ubS5UZD1mdW5jdGlvbigpe0J2KHRoaXMpO0FvKHRoaXMubCkuZm9jdXMoKTt0aGlzLnJhPSEwfTtfLm0uUmM9ZnVuY3Rpb24oKXt0aGlzLnJhJiYodGhpcy5yYT0hMSxCdih0aGlzLCExKSxfLm1iKF8uc2QodGhpcy5EKSkuZm9jdXMoKSl9O18ubS5rZT1mdW5jdGlvbigpe307Xy5tLmxlPWZ1bmN0aW9uKCl7fTsKdmFyIEJ2PWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGI9PSJ1bmRlZmluZWQifHxiKXthLmxlKCk7Yj1qcChhLkQsd2luZG93KTt2YXIgYz1iLnkrYS5ELm9mZnNldEhlaWdodCxkPWIueS1hLkcuaGVpZ2h0LGU9Yi54LGY9Yi54K2EuRC5vZmZzZXRXaWR0aC1hLkcud2lkdGg7aWYoXy5TYyYmIXNvKCkpe3ZhciBnPWRvY3VtZW50LmJvZHk7Yy09Zy5vZmZzZXRUb3A7ZC09Zy5vZmZzZXRUb3A7ZS09Zy5vZmZzZXRMZWZ0O2YtPWcub2Zmc2V0TGVmdH1lbHNlIGc9S24oZG9jdW1lbnQpLGMtPWcueSxkLT1nLnksZS09Zy54LGYtPWcueDtnPV8uaWIod2luZG93KTtiLnk9Yi55PD1nLmhlaWdodC1hLkcuaGVpZ2h0P2M6ZDtiLnk+Zy5oZWlnaHQtYS5HLmhlaWdodCYmKGIueT1nLmhlaWdodC1hLkcuaGVpZ2h0KTtiLnk8MCYmKGIueT0wKTtfLnhmLnRlc3Qob3EpP2IueD1mPj0wP2Y6ZTpiLng9ZTw9Zy53aWR0aC1hLkcud2lkdGg/ZTpmO2IueD5nLndpZHRoLWEuRy53aWR0aCYmKGIueD1nLndpZHRoLQphLkcud2lkdGgpO2IueDwwJiYoYi54PTApO2VwKGEubCxiKTttcChhLmwsITApO0N2KGEpfWVsc2UgYS5rZSgpLG1wKGEubCwhMSl9O18ubT1Bdi5wcm90b3R5cGU7Xy5tLk1hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub307Cl8ubS51Yz1mdW5jdGlvbihhKXt0aGlzLmouaWUodGhpcy5MKTttcCh0aGlzLmwsITApO3RoaXMuSWE9YTt0aGlzLkI9W107Zm9yKHZhciBiIGluIGEpaWYoYVtiXSE9PU9iamVjdC5wcm90b3R5cGVbYl0paWYoYVtiXT09Ii0tLSIpe3ZhciBjPXtsaW5rOnRoaXMuai5TKCJESVYiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWhnRFV3ZSIsdmFsdWU6Yn0pLGdpOiEwfTt0aGlzLkIucHVzaChjKX1lbHNle2M9e2xpbms6dGhpcy5qLlMoIkEiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiLGhyZWY6IiMiLHZhbHVlOmJ9KX07dGhpcy5CLnB1c2goYyk7dmFyIGQ9dGhpcy5qLlMoIkRJViIse3N0eWxlOiJ3aGl0ZS1zcGFjZTpub3dyYXAifSk7dGhpcy5qLmFwcGVuZENoaWxkKGMubGluayxkKTt0aGlzLmcucGQmJnRoaXMuai5hcHBlbmRDaGlsZChkLHRoaXMuai5TKCJTUEFOIix7Y2xhc3NOYW1lOiJpbmRpY2F0b3IifSwiXHUyMDNhIikpOwp0aGlzLmouYXBwZW5kQ2hpbGQoZCx0aGlzLmouUygiU1BBTiIse2NsYXNzTmFtZToidGV4dCJ9LHR5cGVvZiBhW2JdPT09ImZ1bmN0aW9uIj9hW2JdKCk6YVtiXSkpO3RoaXMuQS5OKGMubGluaywiY2xpY2siLHRoaXMucWYpfWE9dGhpcy5CLmxlbmd0aC0xO2E9TWF0aC5yb3VuZCgoYS1hJXRoaXMuZy5vZSkvdGhpcy5nLm9lKSsxO3RoaXMuVD10aGlzLmouUygiVEFCTEUiLHtjZWxsc3BhY2luZzowLGNlbGxwYWRkaW5nOjAsYm9yZGVyOjB9KTtjPXRoaXMuai5TKCJUQk9EWSIpO2I9dGhpcy5qLlMoIlRSIix7dmFsaWduOiJ0b3AifSk7dGhpcy5MLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC12SDFHbWYiO3RoaXMuai5hcHBlbmRDaGlsZCh0aGlzLkwsdGhpcy5UKTt0aGlzLmouYXBwZW5kQ2hpbGQodGhpcy5ULGMpO3RoaXMuai5hcHBlbmRDaGlsZChjLGIpO2ZvcihkPWM9MDtjPGE7KytjKXt2YXIgZT10aGlzLmouUygiVEQiKTt0aGlzLmouYXBwZW5kQ2hpbGQoYixlKTtmb3IodmFyIGY9CjA7ZjwxMSYmZDx0aGlzLkIubGVuZ3RoOysrZiwrK2QpdGhpcy5qLmFwcGVuZENoaWxkKGUsdGhpcy5CW2RdLmxpbmspO2MhPWEtMSYmKGU9dGhpcy5qLlMoIlREIix7ImNsYXNzIjoiVklwZ0pkLVpWaTlvZC12SDFHbWYtS3JoUE5iIn0sIlx1MDBhMCIpLHRoaXMuai5hcHBlbmRDaGlsZChiLGUpKX10aGlzLm89bnVsbDt0aGlzLmNiKHRoaXMuQlswXS5saW5rLnZhbHVlKTtDdih0aGlzKTttcCh0aGlzLmwsITEpfTtfLm0uQWM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuSWFbXy5vYyhhKT09InVuZGVmaW5lZCI/dGhpcy5vOmFdfTtfLm0ubWU9ZnVuY3Rpb24oKXt9OwpfLm0uY2I9ZnVuY3Rpb24oYSl7aWYodGhpcy5vIT1hKXt0aGlzLkFjKGEpJiYodGhpcy5vPWEsdGhpcy5tZSgpKTtmb3IodmFyIGI9MDtiPHRoaXMuQi5sZW5ndGg7KytiKXt2YXIgYz10aGlzLkJbYl07Yy5naXx8KGMubGluay5jbGFzc05hbWU9Yy5saW5rLnZhbHVlPT1hJiZ0aGlzLmcucGQ/IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiOiJWSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIiKX19fTt2YXIgQ3Y9ZnVuY3Rpb24oYSl7cXAoYS5MLG9wKGEuVCkpO3FwKGEubCxvcChhLkwpKTthLkc9b3AoYS5sKX0sRHY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKX07Xy5CKER2LEF2KTtfLm09RHYucHJvdG90eXBlOwpfLm0uS2M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguUygiYSIseyJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9KTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVkIjtfLm5sKGEsIiMiKTt0aGlzLkk9dGhpcy5oLlMoIlNQQU4iKTthLmFwcGVuZENoaWxkKHRoaXMuSSk7dGhpcy5QPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHN0eWxlOiJiYWNrZ3JvdW5kLWltYWdlOnVybCgiK3hxKyIpO2JhY2tncm91bmQtcG9zaXRpb246LTE0cHggMHB4O2JvcmRlcjpub25lIix3aWR0aDoxNCxoZWlnaHQ6MTR9KTthLmFwcGVuZENoaWxkKHRoaXMuUCk7dGhpcy5PYShhKX07Xy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImJhY2tncm91bmRQb3NpdGlvbiIsIi0xNHB4IDBweCIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMHB4IDBweCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7QXYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7dGhpcy5QPXRoaXMuST1udWxsfTtfLm0ubWU9ZnVuY3Rpb24oKXt0aGlzLmguU2IodGhpcy5JLHRoaXMuQWModGhpcy5vKXx8IiIpfTtfLm0ubmI9ZnVuY3Rpb24oYSl7dGhpcy51Yy5jYWxsKHRoaXMsYSl9O3ZhciBFdj1mdW5jdGlvbihhLGIpe0F2LmNhbGwodGhpcyxhLGIpfTtfLkIoRXYsQXYpO18ubT1Fdi5wcm90b3R5cGU7Cl8ubS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5TKCJhIix7ImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pO2EuY2xhc3NOYW1lPSJWSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQiO18ubmwoYSwiIyIpO3RoaXMuST10aGlzLmguUygiU1BBTiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5JKTthLmFwcGVuZENoaWxkKHRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHdpZHRoOjEsaGVpZ2h0OjF9KSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiU1BBTiIse3N0eWxlOiJib3JkZXItbGVmdDoxcHggc29saWQgI2JiYiJ9LCJcdTIwMGIiKSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiSU1HIix7c3JjOkNxLGFsdDoiIix3aWR0aDoxLGhlaWdodDoxfSkpO3RoaXMuUD10aGlzLmguUygic3BhbiIse3N0eWxlOiJjb2xvcjojNzY3Njc2IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sIlx1MjViYyIpO2EuYXBwZW5kQ2hpbGQodGhpcy5QKTt0aGlzLk9hKGEpfTsKXy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImNvbG9yIiwiIzliOWI5YiIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiY29sb3IiLCIjZDVkNWQ1Iil9O18ubS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuUD10aGlzLkk9bnVsbH07Xy5tLm1lPWZ1bmN0aW9uKCl7dGhpcy5oLlNiKHRoaXMuSSx0aGlzLkFjKHRoaXMubyl8fCIiKX07Xy5tLm5iPWZ1bmN0aW9uKGEpe3RoaXMudWMuY2FsbCh0aGlzLGEpfTt2YXIgRnY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKTt0aGlzLmcucGQ9ITF9O18uQihGdixBdik7CkZ2LnByb3RvdHlwZS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC1MZ2JzU2UiO3ZhciBiPXRoaXMuaC5TKCJESVYiLHtzdHlsZToiYmFja2dyb3VuZDogdXJsKCIrd3ErIikgcmVwZWF0LXggMCAtMzlweCJ9KTthLmFwcGVuZENoaWxkKGIpO3RoaXMuST10aGlzLmguY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7Yi5hcHBlbmRDaGlsZCh0aGlzLkkpO3RoaXMuT2EoYSl9O0Z2LnByb3RvdHlwZS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuST1udWxsfTtGdi5wcm90b3R5cGUucWY9ZnVuY3Rpb24oYSl7dGhpcy5jYihhLmN1cnJlbnRUYXJnZXQudmFsdWUpO3RoaXMuZGlzcGF0Y2hFdmVudCgiY2hhbmdlIik7dGhpcy5SYygpfTt2YXIgR3Y9ZnVuY3Rpb24oYSxiKXt4bi5jYWxsKHRoaXMsYik7dGhpcy5nPWEmJkpsKGEpfHx7fTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhHdix4bik7dmFyIEh2PXt6azowLEtqOjEsaGs6Mn07Xy5tPUd2LnByb3RvdHlwZTsKXy5tLlM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguY3JlYXRlRWxlbWVudCgiZGl2Iik7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO050KGEsImdvb2ctdGUtZ2FkZ2V0Iik7YS5kaXI9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIjttcChhLCExKTtpZih0aGlzLmcubGF5b3V0PT0yKWltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjoiIn0pKTtlbHNle3ZhciBiPW5ldyB0bztpZihzcChfLlNjJiYhc28oKSkpdmFyIGM9IjxzcGFuIHN0eWxlPVwiZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoxNXB4OyB3aWR0aDo1MXB4O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlciggc3JjPSciK1N0cmluZyhGcSkucmVwbGFjZShScCxHcCkrIicsc2l6aW5nTWV0aG9kPSdzY2FsZScpO1wiPjwvc3Bhbj4iO2Vsc2UgYz1ocy53ZCxjPSc8aW1nIHNyYz0iJytQKFdwKEZxKSkrCiciIHdpZHRoPSIzN3B4IiBoZWlnaHQ9IjE0cHgiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAzcHgiIGFsdD0iR29vZ2xlICcrUChjKSsnIj4nO3ZhciBkPWhzLndkO3ZhciBlPSgwLF8udGwpKCc8c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj48YSBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIGhyZWY9IicrUChVcChHcSkpKyciIHRhcmdldD0iX2JsYW5rIj4nK2MrS3AoZCkrIjwvYT48L3NwYW4+Iik7Yz1iLmZvcm1hdDtkPVI7dmFyIGY9ZC56ZztlPWUuVGIoKTtlPXVvKGIse3R5cGU6Imh0bWwiLHhmOl8ua2ooZSkudG9TdHJpbmcoKX0pO2I9Yy5jYWxsKGIsZi5jYWxsKGQsZSkpO2ltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjp0aGlzLmcubGF5b3V0PT0xP1JsKFsiXHUwMGEwIiwiXHUwMGEwIixiXSk6Yn0pKX10aGlzLk9hKGEpfTsKXy5tLkxhPWZ1bmN0aW9uKCl7R3YuZWEuTGEuY2FsbCh0aGlzKTt0aGlzLmw9dGhpcy5nLmxheW91dD09Mj9uZXcgRXYobnVsbCx0aGlzLmgpOm5ldyB6dih0aGlzLmgpO3RoaXMuai5OKHRoaXMubCwiY2hhbmdlIixwcih0aGlzLCJjaGdfdGd0X2xhbmciKSk7dGhpcy5qLk4odGhpcy5sLCJsb2FkIix0aGlzLnJnKTt2YXIgYT10aGlzLmguSChTKHRoaXMsInRhcmdldExhbmd1YWdlIikpO2lmKHRoaXMuZy5sYXlvdXQ9PTIpe3ZhciBiPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsImNsYXNzIjoiZ29vZy10ZS1nYWRnZXQtaWNvbiIsYWx0OiIifSk7Yi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgiK3hxKyIpIjtiLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj0iLTY1cHggMHB4Ijt2YXIgYz10aGlzLmguUygiU1BBTiIse3N0eWxlOiJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIn0pO2EuYXBwZW5kQ2hpbGQoYik7YS5hcHBlbmRDaGlsZChjKTt0aGlzLmwua2EoYyk7YS5zdHlsZS53aGl0ZVNwYWNlPQoibm93cmFwIjthLmNsYXNzTmFtZT0iZ29vZy10ZS1nYWRnZXQtc2ltcGxlIn1lbHNlIHRoaXMubC5rYShhKSx0aGlzLmcubGF5b3V0PT0xJiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiKX07Xy5tLnJnPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxheW91dD09Mil7dmFyIGE9dGhpcy5sLGI9dGhpcy5oLkgoUyh0aGlzLCJ0YXJnZXRMYW5ndWFnZSIpKTthLkEueWMoYS5ELCJjbGljayIsYS5UZCk7YS5EPWI7YS5BLk4oYS5ELCJjbGljayIsYS5UZCl9dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9O18ubS5zYT1mdW5jdGlvbigpe0d2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5qLmRpc3Bvc2UoKTt0aGlzLmo9bnVsbDt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsfTtfLm0ub2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLk1hKCl9O18ubS5uYT1mdW5jdGlvbihhKXthPT0iIj90aGlzLkwmJnRoaXMubC5uYih0aGlzLkwpOnRoaXMuSSYmdGhpcy5sLm5iKHRoaXMuSSk7dGhpcy5sLmNiKGEpfTsKXy5tLnBhPWZ1bmN0aW9uKGEpe21wKHRoaXMuSCgpLGEpfTtfLm0uUmI9ZnVuY3Rpb24oYSl7dGhpcy5sLlJiKGEpfTtfLm0udWU9ZnVuY3Rpb24oYSxiKXt0aGlzLkw9YTt0aGlzLkk9Yn07dmFyIEl2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLmVifHwodGhpcy5nLmViPUFxKTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhJdix4bik7dmFyIEp2PXtwazoxLHFrOjIsbGo6Myxrajo0fTtfLm09SXYucHJvdG90eXBlO18ubS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuRz0hMTttcChhLCExKTt2YXIgYj1TKHRoaXMsImNvbnRhaW5lciIpO2I9KDAsXy50bCkoJzxpZnJhbWUgaWQ9IicrUChiKSsnIiBmcmFtZUJvcmRlcj0wIHNyYz0iamF2YXNjcmlwdDpcJ1wnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVNtZlotT0VWbWNkIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtJdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1TKHRoaXMsInRyYW5zbGF0ZSIpLGQ9Q3EsZT14cTt0aGlzLkgoKS5pZD1TKHRoaXMsImZsb2F0Q29udGFpbmVyIik7dmFyIGY9e2lkOnRoaXMuSCgpLmlkLGNsYXNzTmFtZToiZ29vZy10ZS1mdGFiLWZsb2F0In07dGhpcy5IKCkuY2xhc3NOYW1lKz0iIGdvb2ctdGUtZnRhYi1mbG9hdCI7c3dpdGNoKHRoaXMuZy5OYyl7Y2FzZSAyOnZhciBnPSJnb29nLXRlLWZsb2F0LXRvcCI7Zi50b3A9MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgMzpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgNDpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLmxlZnQ9MjA7YnJlYWs7ZGVmYXVsdDpnPSJnb29nLXRlLWZsb2F0LXRvcCIsZi50b3A9MCxmLmxlZnQ9MjB9bnAoWm4obmV3IF8ueWYsCmYpLHRoaXMuSCgpKTt0aGlzLkI9dGhpcy5oLkgoUyh0aGlzLCJjb250YWluZXIiKSk7dGhpcy5qLk4odGhpcy5CLCJsb2FkIix0aGlzLnNnKTt0cih0aGlzLkIsKDAsXy55KShmdW5jdGlvbigpe3ZhciBoPXpvKHRoaXMuQiksaz1nLGw9e30sbj1sJiZsLlRlLHE9aHMuSWU7az1WbihXbihWbihfLnlsKCksIjxoZWFkPiIpLE91KGwpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJytQKHhwKGIpKSsnIicrKG4/JyBub25jZT0iJytQKFlwKG4pKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtU21mWiIpKyIgIitQKGspKyciIHNjcm9sbD0ibm8iIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciPjxhIGlkPSInK1AoYykrJyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iJysKUCgiVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCIpKyciPjxpbWcgc3JjPSInK1AoV3AoZCkpKyciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnK1AoV3AoZSkpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTY1cHggMHB4Ij48c3Bhbj4nK0twKHEpKyI8L3NwYW4+PC9hPjwvYm9keT4iKS5UYigpO2gud3JpdGUoXy5raihrKSk7aC5jbG9zZSgpfSx0aGlzKSl9O18ubS5zZz1mdW5jdGlvbigpe3RoaXMubD0obmV3IF8ucmQoem8odGhpcy5CKSkpLkgoUyh0aGlzLCJ0cmFuc2xhdGUiKSk7dGhpcy5qLk4odGhpcy5sLCJjbGljayIscHIodGhpcywiY2xrX3RyYW5zIikpO21wKHRoaXMuSCgpLCEwKTt2YXIgYT1vcCh0aGlzLmwpO21wKHRoaXMuSCgpLCExKTtxcCh0aGlzLkIsYSk7cXAodGhpcy5IKCksYSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9OwpfLm0uc2E9ZnVuY3Rpb24oKXtJdi5lYS5zYS5jYWxsKHRoaXMpO3RoaXMuai5kaXNwb3NlKCk7dGhpcy5qPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMubD10aGlzLkI9bnVsbH07Xy5tLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkd9O18ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkc9YTttcCh0aGlzLkgoKSxhKX07dmFyIEt2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmc9YSYmSmwoYSl8fHt9O3RoaXMuZy5lYj1BcTt0aGlzLmcud2U9ITE7Xy5oaih0aGlzLmguZy5ib2R5LCJwb3NpdGlvbiIsInJlbGF0aXZlIik7Xy5NaHx8Xy5oaih0aGlzLmguZy5ib2R5LCJtaW5IZWlnaHQiLCIxMDAlIik7Xy5oaih0aGlzLmguZy5kb2N1bWVudEVsZW1lbnQsImhlaWdodCIsIjEwMCUiKTtfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjBweCIpO18uU2MmJih3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkudG9wTWFyZ2luLDEwKS00MCl9O18uRyhLdix4bik7Xy5tPUt2LnByb3RvdHlwZTtfLm0ua2E9ZnVuY3Rpb24oKXt0aGlzLnFjKHRoaXMuaC5nLmJvZHkuZmlyc3RDaGlsZCl9OwpfLm0uUz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLkc9ITE7bXAoYSwhMSk7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO3ZhciBiPVModGhpcywiY29udGFpbmVyIik7Yj0oMCxfLnRsKSgnPGlmcmFtZSBpZD0iJytQKGIpKyciIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2QiKSsnIHNraXB0cmFuc2xhdGUiIGZyYW1lQm9yZGVyPTAgc3JjPSIjIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtLdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1DcSxkPUdxLGU9RHEsZj14cSxnPVModGhpcywicHJvbXB0U2VjdGlvbiIpLGg9Uyh0aGlzLCJjb25maXJtIiksaz1TKHRoaXMsInByb2dyZXNzU2VjdGlvbiIpLGw9Uyh0aGlzLCJwcm9ncmVzc1ZhbHVlIiksbj16cSxxPVModGhpcywiY2FuY2VsIikscD1TKHRoaXMsImZpbmlzaFNlY3Rpb24iKSxyPVModGhpcywicmVzdG9yZSIpLHQ9Uyh0aGlzLCJlcnJvclNlY3Rpb24iKSxBPVModGhpcywiZXJyb3JDb250ZW50IiksRD1TKHRoaXMsImNsb3NlIiksRT1TKHRoaXMsIm5vQXV0b1BvcHVwIiksYmEsWj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJwcm9tcHRTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsInByb21wdFRhcmdldExhbmciKX0pKTt2YXIgdmk9bW0oUi5KZy5hcHBseShudWxsLApaKSk7Wj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJmaW5pc2hTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsImZpbmlzaFRhcmdldExhbmciKX0pKTt2YXIgd2k9bW0oUi5EZy5hcHBseShudWxsLFopKTt0aGlzLmcuY2cmJihiYT10aGlzLmcuY2cpO3RoaXMuQj10aGlzLmguSChTKHRoaXMsImNvbnRhaW5lciIpKTt0aGlzLkEuTih0aGlzLkIsImxvYWQiLHRoaXMudGcpO3RyKHRoaXMuQiwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGFnPXpvKHRoaXMuQiksWGM9YmEsTGQ9e30sRGU9TGQmJkxkLlRlLEVlPWhzLndkLHhpPWhzLkllLGJnPWhzLkVnLHlpPWhzLm1nLHppPWhzLkFnLGNnPWhzLkFlLEFpPWhzLkFlO1hjPVZuKFduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoTGQpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJysKUCh4cChiKSkrJyInKyhEZT8nIG5vbmNlPSInK1AoWXAoRGUpKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYiIpKyciIHNjcm9sbD0ibm8iIGJvcmRlcj0wIGRpcj0iJytQKGEpKyciPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTAwJSBoZWlnaHQ9MTAwJT48dHIgdmFsaWduPW1pZGRsZT48dGQgd2lkdGg9MSBub3dyYXA+PGEgaHJlZj0iJytQKFVwKGQpKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iJytQKFdwKGUpKSsnIiBhbHQ9Ikdvb2dsZSAnK1AoRWUpKyciPjwvYT48L3RkPicrKHNwKFhjKT8nPHRkIHdpZHRoPTE+PGltZyBzcmM9IicrUChXcChjKSkrJyIgd2lkdGg9IjkiIGhlaWdodD0iMTUiIHRpdGxlPSInK1AoWGMpKyciIGFsdD0iJytQKFhjKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJysKUChXcChmKSkrJyk7YmFja2dyb3VuZC1wb3NpdGlvbjotNTZweCAwcHg7bWFyZ2luOjAgNHB4Ij48L3RkPic6IiIpKyc8dGQgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZSIpKyciPjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgaGVpZ2h0PTEwMCU+PHRyIGlkPSInK1AoZykrJyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdmFsaWduPW1pZGRsZT48dGQgbm93cmFwPjxzcGFuIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMiKSsnIj4nK0twKHZpKSsnPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKGgpKyciPjxiPicrS3AoeGkpKyc8L2I+PC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48dGQgY2xhc3M9IicrClAoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKEUpKyciPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9IicrUChrKSsnIiBzdHlsZT0iZGlzcGxheTpub25lIiB2YWxpZ249bWlkZGxlPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcChiZykrJyZuYnNwOzxzcGFuIGRpcj0ibHRyIj4oPGIgaWQ9IicrUChsKSsnIj48L2I+JSk8L3NwYW4+Jm5ic3A7PGltZyBzcmM9IicrUChXcChuKSkrJyI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKHEpKyciPicrS3AoeWkpKwonPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHApKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcCh3aSkrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrJyI+PC90ZD48dGQgbm93cmFwPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1MZ2JzU2UiKSsnIj48ZGl2PjxidXR0b24gaWQ9IicrUChyKSsnIj4nK0twKHppKSsnPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHQpKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHZhbGlnbj1taWRkbGU+PHRkPjxzcGFuIGlkPSInK1AoQSkrJyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLWJOOTdQYyIpKyciPjwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrCiciPjwvdGQ+PHRkIHdpZHRoPTEgaWQ9Im9wdGlvbnMiPjwvdGQ+PHRkIHdpZHRoPTE+PGEgaWQ9IicrUChEKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGQiKSsnIiBocmVmPSIjIiB0aXRsZT0iJytQKGNnKSsnIj48aW1nIHNyYz0iJytQKFdwKGMpKSsnIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGFsdD0iJytQKEFpKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJytQKFdwKGYpKSsnKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOHB4IDBweCI+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT4nKS5UYigpO2FnLndyaXRlKF8ua2ooWGMpKTthZy5jbG9zZSgpfSx0aGlzKSl9OwpfLm0udGc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5CKSk7THYodGhpcyxSLkNlKTtpZih0aGlzLmcuZWI9PUFxKXt2YXIgYT0idXJsKCIrd3ErIikiO18uaGoodGhpcy5qLmcuYm9keSwiYmFja2dyb3VuZEltYWdlIixhKTtmb3IodmFyIGI9dGhpcy5qLmcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXS5wYXJlbnROb2RlO18uaGooZCwiYmFja2dyb3VuZEltYWdlIixhKTtfLmhqKGQsImJhY2tncm91bmRSZXBlYXQiLCJyZXBlYXQteCIpO18uaGooZCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMCAtMzlweCIpfX10aGlzLmcud2UmJih0aGlzLm89bmV3IER2KHRoaXMuZyx0aGlzLmopKTt0aGlzLmw9bmV3IER2KHRoaXMuZyx0aGlzLmopO3RoaXMuRD1uZXcgRnYodGhpcy5nLHRoaXMuaik7dGhpcy5BLk4odGhpcy5qLkgoUyh0aGlzLCJjb25maXJtIikpLCJjbGljayIscHIodGhpcywiY2xrX2NvbmZpcm0iKSk7CnRoaXMuQS5OKHRoaXMuai5IKFModGhpcywiY2FuY2VsIikpLCJjbGljayIscHIodGhpcywiY2xrX2NhbmNlbCIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsInJlc3RvcmUiKSksImNsaWNrIixwcih0aGlzLCJjbGtfcmVzdG9yZSIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsImNsb3NlIikpLCJjbGljayIscHIodGhpcywiY2xrX2Nsb3NlIikpO3RoaXMuUD10aGlzLmouSChTKHRoaXMsIm5vQXV0b1BvcHVwIikpO3RoaXMuQS5OKHRoaXMuUCwiY2xpY2siLHByKHRoaXMsImNsa19ub19hcCIpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywiY2hhbmdlIixwcih0aGlzLCJjaGdfc3JjX2xhbmciKSk7dGhpcy5BLk4odGhpcy5sLCJjaGFuZ2UiLHByKHRoaXMsImNoZ190Z3RfbGFuZyIpKTt0aGlzLkEuTih0aGlzLkQsImNoYW5nZSIsdGhpcy5SaCk7YT1uZXcganIoKDAsXy55KSh0aGlzLnVnLHRoaXMpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywibG9hZCIsYS5yZWdpc3RlcigpKTsKdGhpcy5BLk4odGhpcy5sLCJsb2FkIixhLnJlZ2lzdGVyKCkpO3RoaXMuQS5OKHRoaXMuRCwibG9hZCIsYS5yZWdpc3RlcigpKTthLmZpbmlzaCgpO3RoaXMubyYmdGhpcy5vLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0U291cmNlTGFuZyIpKSk7dGhpcy5sLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0VGFyZ2V0TGFuZyIpKSk7dGhpcy5ELmthKHRoaXMuai5IKCJvcHRpb25zIikpfTtfLm0udWc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkQsYj1SLnlnO18uemQoYS5JKTthLkkuYXBwZW5kQ2hpbGQoYS5oLmNyZWF0ZVRleHROb2RlKGIrIlx1MDBhMFx1MjViYyIpKTt0aGlzLkQudWMoe3R1cm5fb2ZmX3NpdGU6Ui5HZyxzMToiLS0tIixsZWFybl9tb3JlOlIueGd9KTt0aGlzLmRpc3BhdGNoRXZlbnQoImxvYWQiKX07Xy5tLlJoPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuRC5NYSgpKXtjYXNlICJsZWFybl9tb3JlIjp3aW5kb3cub3BlbihKcSwiX2JsYW5rIik7YnJlYWs7Y2FzZSAidHVybl9vZmZfc2l0ZSI6dGhpcy5kaXNwYXRjaEV2ZW50KCJjbGtfbm9fYXBfc2l0ZSIpfX07Cl8ubS5zYT1mdW5jdGlvbigpe3RoaXMucGEoITEpO0t2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5BLmRpc3Bvc2UoKTt0aGlzLkE9bnVsbDt0aGlzLm8mJih0aGlzLm8uZGlzcG9zZSgpLHRoaXMubz1udWxsKTt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsO3RoaXMuRC5kaXNwb3NlKCk7dGhpcy5EPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMuYWM9dGhpcy5qPW51bGx9O18ubS5KYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm8/dGhpcy5vLk1hKCk6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmwuTWEoKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMubyYmdGhpcy5vLmNiKGEpO3RoaXMuVCYmdGhpcy5UW2FdJiZ0aGlzLmouU2IodGhpcy5QLFIuRmcodGhpcy5UW2FdKSl9O18ubS5uYT1mdW5jdGlvbihhKXt0aGlzLmwuY2IoYSl9Owp2YXIgTXY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5hYyE9Yil7YS5hYz1iO2lmKGI9PTApe2EubyYmeXYoYS5vLGEuai5IKFMoYSwicHJvbXB0U291cmNlTGFuZyIpKSk7aWYoYS5MKXt2YXIgZT1hLm9hKCk7YS5sLm5iKGEuTCk7YS5uYShlKX15dihhLmwsYS5qLkgoUyhhLCJwcm9tcHRUYXJnZXRMYW5nIikpKX1lbHNlIGI9PTImJihhLm8mJnl2KGEubyxhLmouSChTKGEsImZpbmlzaFNvdXJjZUxhbmciKSkpLGEuSSYmKGU9YS5vYSgpLGEubC5uYihhLkkpLGEubmEoZSkpLHl2KGEubCxhLmouSChTKGEsImZpbmlzaFRhcmdldExhbmciKSkpKTtlPXt9O2VbLTFdPWEuai5IKFMoYSwiZXJyb3JTZWN0aW9uIikpO2VbMF09YS5qLkgoUyhhLCJwcm9tcHRTZWN0aW9uIikpO2VbMV09YS5qLkgoUyhhLCJwcm9ncmVzc1NlY3Rpb24iKSk7ZVsyXT1hLmouSChTKGEsImZpbmlzaFNlY3Rpb24iKSk7Zm9yKHZhciBmIGluIGUpZVtmXSE9PU9iamVjdC5wcm90b3R5cGVbZl0mJm1wKGVbZl0sZj09CmIpfWMmJmEucGEoITApO2EuUC5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT1kPyJibG9jayI6Im5vbmUifTtLdi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR307Ckt2LnByb3RvdHlwZS5wYT1mdW5jdGlvbihhKXtpZih0aGlzLkchPWEpe3RoaXMuRz1hO2lmKF8uU2MpdmFyIGI9cGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksYz1wYXJzZUludCgiMCIrdGhpcy5oLmcuYm9keS50b3BNYXJnaW4sMTApO3ZhciBkPXRoaXMuaC5nLmNvbXBhdE1vZGU9PSJCYWNrQ29tcGF0IjthPyhfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjQwcHgiKSxtcCh0aGlzLkgoKSwhMCksXy5TYyYmKHNvKCk/KHdpbmRvdy5fYmFubmVycXVpcmtmaXhsZWZ0PXdpbmRvdy5fYmFubmVycXVpcmtmaXh0b3A9MCxkJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yys0MCkpOmQ/KHRoaXMuaC5nLmJvZHkudG9wTWFyZ2luPWMrNDAsd2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9d2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0wKTood2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9LWIsd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tYy00MCkpKTooXy5oaih0aGlzLmguZy5ib2R5LAoidG9wIiwiMHB4IiksbXAodGhpcy5IKCksITEpLGQmJmM+PTQwJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yy00MCkpfX07dmFyIE52PWZ1bmN0aW9uKGEsYil7YS5qLlNiKGEuai5IKFMoYSwicHJvZ3Jlc3NWYWx1ZSIpKSxiKX0sTHY9ZnVuY3Rpb24oYSxiKXthLmouU2IoYS5qLkgoUyhhLCJlcnJvckNvbnRlbnQiKSksYil9O0t2LnByb3RvdHlwZS51ZT1mdW5jdGlvbihhLGIpe3RoaXMuTD1hO3RoaXMuST1iO3RoaXMubC5uYihhKX07dmFyIFB2PWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7Xy5vYyhhKT09InN0cmluZyImJihiPWEsYT17fSk7Xy5vYyhiKT09InN0cmluZyImJihiPWduKFN0cmluZyhiKSkpO3RoaXMuVD1iO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmxhPXZvaWQgMDthPU9iamVjdChhKTt0aGlzLm89ImF1dG8iOyEoYj13aW5kb3cucGFyZW50IT13aW5kb3cpJiYoYj0oIXdpbmRvdy5leHRlcm5hbHx8IXdpbmRvdy5leHRlcm5hbC5nb29nbGVUb29sYmFyVmVyc2lvbnx8cGFyc2VGbG9hdCh3aW5kb3cuZXh0ZXJuYWwuZ29vZ2xlVG9vbGJhclZlcnNpb24pPDYuMikmJighd2luZG93Lmd0YkV4dGVybmFsfHwhd2luZG93Lmd0YkV4dGVybmFsLmlzVHJhbnNsYXRlRW5hYmxlZHx8IXdpbmRvdy5ndGJFeHRlcm5hbC5pc1RyYW5zbGF0ZUVuYWJsZWQoKSkpJiYoYj1uYXZpZ2F0b3IuYXBwVmVyc2lvbiYmbmF2aWdhdG9yLmFwcFZlcnNpb24ubWF0Y2goL1xzQ2hyb21lXC8oKFxkKylcLihcZCspXC5bXGRcLl0rKVxzLyksCmI9IShiJiZiWzJdJiZiWzNdJiZOdW1iZXIoYlsyXSkqMUUzK051bWJlcihiWzNdKT49NDAwMSkpO3RoaXMuZz17RWQ6YixoZjohMSxGZDpudWxsLEVjOm51bGwsWGQ6W10sY2Y6W10sZGg6ITEsUGI6ITEsYXBpS2V5OiIiLGxheW91dDowLFZlOiExfTt0aGlzLklhPXtlYjpBcSxjZzp2cT09Imh0dHBzOi8vIj9SLkNnOm51bGx9O3RoaXMuUD17ZWI6QXEsTmM6bnVsbH07YSYmKCJhdXRvRGlzcGxheSJpbiBhJiYodGhpcy5nLkVkPXRoaXMuZy5FZCYmISFhLmF1dG9EaXNwbGF5KSwibXVsdGlsYW5ndWFnZVBhZ2UiaW4gYSYmKHRoaXMuZy5QYj0hIWEubXVsdGlsYW5ndWFnZVBhZ2UpLCJsYXlvdXQiaW4gYSYmKHRoaXMuZy5sYXlvdXQ9YS5sYXlvdXQpLGEucGFnZUxhbmd1YWdlJiYodGhpcy5nLmRkPXFyKGEucGFnZUxhbmd1YWdlKSksYS5pbmNsdWRlZExhbmd1YWdlcyYmKHRoaXMuZy5YZD1hLmluY2x1ZGVkTGFuZ3VhZ2VzLnNwbGl0KCIsIikpLGEuZXhjbHVkZWRMYW5ndWFnZXMmJgoodGhpcy5nLmNmPWEuZXhjbHVkZWRMYW5ndWFnZXMuc3BsaXQoIiwiKSksYS5yZW1vdGVBcGlQcm94eUhhbmRsZXJzJiYodGhpcy5sYT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLHRoaXMuZy5kZCYmKHRoaXMubz10aGlzLmcuZGQpLGEua2V5JiYodGhpcy5nLmFwaUtleT1hLmtleSksdGhpcy5QLk5jPU51bWJlcihhLmZsb2F0UG9zaXRpb24pfHx0aGlzLlAuTmMsImRpc2FibGVBdXRvVHJhbnNsYXRpb24iaW4gYSYmKHRoaXMuZy5WZT0hIWEuZGlzYWJsZUF1dG9UcmFuc2xhdGlvbikpOyF0aGlzLmcuVmUmJk92KHRoaXMpJiYodGhpcy5nLmhmPSEwKTt0aGlzLkM9e307aWYoKGE9ZG9jdW1lbnQuY29va2llLm1hdGNoKC8oXnw7IClnb29ndHJhbnNvcHQ9KC4qPykoO3wkKS8pKSYmYVsyXSlmb3IodGhpcy5DPXt9LGE9Xy5EYihhWzJdKS5zcGxpdCgifCIpLGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXS5zcGxpdCgiPSIpO2NbMF0mJih0aGlzLkNbY1swXV09Y1sxXSl9dGhpcy53YT0KbmV3IFpzKHthcGlLZXk6dGhpcy5nLmFwaUtleSxoYzoxLHZlOiEwLGdtOkhxfSx7Y2xpZW50OnRxLHU6d2luZG93LmxvY2F0aW9uLmhyZWZ9KTt0aGlzLkY9bmV3IHd2KHZvaWQgMCx0aGlzLndhLHZvaWQgMCx2b2lkIDAsdGhpcy5nLmFwaUtleSx2b2lkIDAsdm9pZCAwLG5ldyBXdSx2b2lkIDAsdm9pZCAwLHRoaXMubGEpO3RoaXMuRz0hMTt0aGlzLkEuTih3aW5kb3csInBhZ2VoaWRlIix0aGlzLmRpc3Bvc2UpO3RoaXMuSz1uZXcganIoKDAsXy55KSh0aGlzLk1oLHRoaXMpKTt0aGlzLkk9bmV3IGpyKCgwLF8ueSkodGhpcy5PaCx0aGlzKSk7dGhpcy5PPW5ldyBscigoMCxfLnkpKHRoaXMua2ksdGhpcykpO3RoaXMuaD1uZXcgS3YodGhpcy5JYSk7dGhpcy5GLnpjKHRoaXMuSy5yZWdpc3RlcigoMCxfLnkpKHRoaXMuSmgsdGhpcykpLG9xKTt0aGlzLlQ/KHRoaXMubD1uZXcgR3YodGhpcy5nKSx0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMuSy5yZWdpc3RlcigpKSx0aGlzLkEuTih0aGlzLmwsCiJjaGdfdGd0X2xhbmciLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkloLHRoaXMpKSkpLHRoaXMubC5rYSh0aGlzLlQpKTp0aGlzLlAuTmMmJih0aGlzLkI9bmV3IEl2KHRoaXMuUCksdGhpcy5BLk4odGhpcy5CLCJsb2FkIix0aGlzLksucmVnaXN0ZXIoKSksdGhpcy5BLk4odGhpcy5CLCJjbGtfdHJhbnMiLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkdoLHRoaXMpKSkpLHRoaXMuQi5rYSgpKTshdGhpcy5nLmRkJiZ0aGlzLmcuZGgmJnRoaXMuRi5QYyh0aGlzLksucmVnaXN0ZXIoKDAsXy55KSh0aGlzLkVoLHRoaXMpKSk7dGhpcy5LLmZpbmlzaCgpfTtfLkIoUHYsXy51KTsKdmFyIE92PWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZixnKXtpZihmPV8uRGIoZikubWF0Y2goIl5cXCgoKFthLXpBLVpcXC1fXSopXFx8KT8oW2EtekEtWlxcLV9dKilcXCl8Xi8oKFthLXpBLVpcXC1fXSopLyk/KFthLXpBLVpcXC1fXSopIikpe2lmKGZbM10pcmV0dXJuIGcuZy5GZD1mWzJdLGcuZy5FYz1mWzNdLCEwO2lmKGZbNl0pcmV0dXJuIGcuZy5GZD1mWzVdLGcuZy5FYz1mWzZdLCEwfXJldHVybiExfXZhciBjPXt1cmw6ZnVuY3Rpb24oKXt2YXIgZj13aW5kb3cubG9jYXRpb24uaHJlZi5tYXRjaCgvIy4qZ29vZ3RyYW5zKC4qKS8pO3JldHVybiBmJiZmWzFdfSxjb29raWU6ZnVuY3Rpb24oKXt2YXIgZj1kb2N1bWVudC5jb29raWUubWF0Y2goLyhefDsgKWdvb2d0cmFucz0oLio/KSg7fCQpLyk7cmV0dXJuIGYmJmZbMl19fSxkO2ZvcihkIGluIGMpaWYoY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0pe3ZhciBlPWNbZF0oKTtpZihlJiZiKGUsYSkpcmV0dXJuIGR9cmV0dXJuIiJ9LApRdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKTtjLmxlbmd0aD4yOyljLnNoaWZ0KCk7Yz0iO2RvbWFpbj0iK2Muam9pbigiLiIpO2IhPW51bGw/YT1hKyI9IitiOihiPW5ldyBEYXRlLGIuc2V0VGltZShiLmdldFRpbWUoKS0xKSxhPWErIj1ub25lO2V4cGlyZXM9IitiLnRvR01UU3RyaW5nKCkpO2ErPSI7cGF0aD0vIjtkb2N1bWVudC5jb29raWU9YTt0cnl7ZG9jdW1lbnQuY29va2llPWErY31jYXRjaChkKXt9fSxSdj1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7YiE9PXZvaWQgMCYmKGM9YSE9PXZvaWQgMD8iLyIrYSsiLyIrYjoiLyIrYik7UXYoImdvb2d0cmFucyIsYyl9O18ubT1Qdi5wcm90b3R5cGU7Cl8ubS5KaD1mdW5jdGlvbihhKXt0aGlzLmo9cXIob3EpO2E9YXx8e307dmFyIGI9YS50YXJnZXRMYW5ndWFnZXN8fFtdO3RoaXMuTD17c2w6V20oYS5zb3VyY2VMYW5ndWFnZXN8fFtdKSx0bDpXbShiKX07dGhpcy5EPXt9O3RoaXMuUj17fTthPSF0aGlzLmcuWGQubGVuZ3RoO2I9aXIodGhpcy5nLlhkKTt2YXIgYz1pcih0aGlzLmcuY2YpO3RoaXMuRFtvcV09IiI7dGhpcy5SW29xXT0iIjtmb3IodmFyIGQgaW4gdGhpcy5MLnRsKXRoaXMuTC50bFtkXT09PU9iamVjdC5wcm90b3R5cGVbZF18fCEoYXx8ZCBpbiBiKXx8ZCBpbiBjfHwodGhpcy5SW2RdPXRoaXMuTC50bFtkXSxkPT10aGlzLmcuZGQmJiF0aGlzLmcuUGIpfHwodGhpcy5EW2RdPXRoaXMuTC50bFtkXSk7dGhpcy5EW29xXXx8ZGVsZXRlIHRoaXMuRFtvcV07dGhpcy5SW29xXXx8ZGVsZXRlIHRoaXMuUltvcV07dGhpcy5yYT1KbCh0aGlzLkwuc2wpfTtfLm0uRWg9ZnVuY3Rpb24oYSl7YSYmKHRoaXMubz1xcihhKSl9OwpfLm0uTWg9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5LO2lmKHRoaXMuTCl7dGhpcy5vPXRoaXMub3x8dGhpcy5nLkZkO3RoaXMuaj10aGlzLmcuRWN8fHRoaXMuajt2YXIgYT10aGlzLmcuaGZ8fHRoaXMuZy5FZCYmdGhpcy5vIT10aGlzLmomJiEodGhpcy5vIGluIHNxKSYmdGhpcy5DLm9zIT0iMSImJnRoaXMuQ1sibyIrdGhpcy5vXSE9IjEiO3RoaXMubz09InpoLVRXIiYmKHRoaXMubz0iemgtQ04iKTt0aGlzLnJhW3RoaXMub118fChhPSExLHRoaXMubz0iYXV0byIpO2lmKCF0aGlzLkRbdGhpcy5qXSlpZihhPSExLHRoaXMuRC5lbil0aGlzLmo9ImVuIjtlbHNlIGZvcih2YXIgYiBpbiB0aGlzLkQpaWYodGhpcy5EW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dGhpcy5qPWI7YnJlYWt9aWYodGhpcy5sKXtiPXRoaXMuRDt2YXIgYz17IiI6Ui5CZ30sZDtmb3IoZCBpbiBiKWJbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdJiYoY1tkXT1iW2RdKTt0aGlzLmwudWUoYyx0aGlzLlIpO3RoaXMubC5uYSgiIil9IXFxJiYKYT90aGlzLmcuRWM/bXIodGhpcy5PLHRoaXMuSS5kZWxheSgoMCxfLnkpKHRoaXMub2QsdGhpcywhMCwhMCkpKS5jYWxsKCk6KHRoaXMuRz0hMCxtcih0aGlzLk8sdGhpcy5JLmRlbGF5KCgwLF8ueSkodGhpcy5vZCx0aGlzKSkpLmNhbGwoKSxRbSgidGVfYXAiLHtzbDp0aGlzLm99KSk6KHRoaXMuQiYmdGhpcy5CLnBhKCEwKSx0aGlzLmwmJnRoaXMubC5wYSghMCkpO3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UmJnRoaXMuUmIoITEpO3RoaXMuTy5maW5pc2goKX19OwpfLm0uT2g9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgsYj10aGlzLnJhO2EubyYmYS5vLm5iKGIpO2EuVD1iO3RoaXMuaC51ZSh0aGlzLkQsdGhpcy5SKTt0aGlzLmguTmEodGhpcy5vKTt0aGlzLmgubmEodGhpcy5qKTt0aGlzLkEuTih0aGlzLmgsImNsa19jb25maXJtIix0aGlzLnloKTt0aGlzLkEuTih0aGlzLmgsImNsa19jYW5jZWwiLHRoaXMueGgpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX3Jlc3RvcmUiLHRoaXMuUmQpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX2Nsb3NlIix0aGlzLlFjKTt0aGlzLkEuTih0aGlzLmgsImNsa19ub19hcCIsdGhpcy56aCk7dGhpcy5BLk4odGhpcy5oLCJjbGtfbm9fYXBfc2l0ZSIsdGhpcy5BaCk7dGhpcy5BLk4odGhpcy5oLCJjaGdfc3JjX2xhbmciLHRoaXMubWYpO3RoaXMuQS5OKHRoaXMuaCwiY2hnX3RndF9sYW5nIix0aGlzLm1mKTt0aGlzLmwmJnRoaXMubC5wYSghMCl9OwpfLm0ua2k9ZnVuY3Rpb24oKXt0aGlzLkEuTih0aGlzLmgsImxvYWQiLHRoaXMuSS5yZWdpc3RlcigpKTt0aGlzLmgua2EoKTt0aGlzLkkuZmluaXNoKCl9O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5GLnJlc3RvcmUoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLkYuZGlzcG9zZSgpO3RoaXMuQS5kaXNwb3NlKCk7dGhpcy5BPW51bGw7dGhpcy5oJiZ0aGlzLmguZGlzcG9zZSgpO3RoaXMuaD1udWxsO3RoaXMuQiYmdGhpcy5CLmRpc3Bvc2UoKTt0aGlzLkI9bnVsbDt0aGlzLmwmJnRoaXMubC5kaXNwb3NlKCk7dGhpcy5UPXRoaXMubD1udWxsfTtfLm0ueWg9ZnVuY3Rpb24oKXshdGhpcy5oLmlzVmlzaWJsZSgpfHwhdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpfHwodGhpcy5HJiZRbSgidGVfYXB0Iix7c2w6dGhpcy5vfSksU3YodGhpcywhMSksdGhpcy5sJiZ0aGlzLmwubmEodGhpcy5oLm9hKCkpKX07Cl8ubS54aD1mdW5jdGlvbigpe3RoaXMuaC5pc1Zpc2libGUoKSYmKFR2KHRoaXMpLE12KHRoaXMuaCwwKSx0aGlzLmwmJnRoaXMubC5uYSgiIikpfTtfLm0uUmQ9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJihUdih0aGlzKSxNdih0aGlzLmgsMCkpO3RoaXMubCYmdGhpcy5sLm5hKCIiKX07Xy5tLlFjPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5HJiYodGhpcy5HPSExLFFtKCJ0ZV9hcGMiLHtzbDp0aGlzLm99KSksVHYodGhpcyksdGhpcy5oLnBhKCExKSx0aGlzLmwmJnRoaXMubC5uYSgiIiksdGhpcy5CJiZ0aGlzLkIucGEoITApKX07Xy5tLnpoPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5DWyJvIit0aGlzLm9dPSIxIixRbSgidGVfYXByIix7c2w6dGhpcy5vfSksdGhpcy5HPSExLHRoaXMuUWMoKSl9OwpfLm0uQWg9ZnVuY3Rpb24oKXtpZih0aGlzLmguaXNWaXNpYmxlKCkpe3RoaXMuRz0hMTt0aGlzLkMub3M9IjEiO3ZhciBhPW51bGw7aWYodGhpcy5DKXthPVtdO2Zvcih2YXIgYiBpbiB0aGlzLkMpdGhpcy5DW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSYmYS5wdXNoKGIrIj0iK3RoaXMuQ1tiXSk7YT1hLmpvaW4oInwiKX1RdigiZ29vZ3RyYW5zb3B0IixhKTt0aGlzLlFjKCl9fTtfLm0ubWY9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJighdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5vPXRoaXMuaC5KYSgpfHx0aGlzLm8sdGhpcy5qPXRoaXMuaC5vYSgpLHRoaXMuaC5hYz09MiYmKHRoaXMubCYmdGhpcy5sLm5hKHRoaXMuaC5vYSgpKSxTdih0aGlzKSkpKX07Xy5tLm9kPWZ1bmN0aW9uKGEsYil7dGhpcy5oLmlzVmlzaWJsZSgpfHwodGhpcy5CJiZ0aGlzLkIucGEoITEpLGE/U3YodGhpcyxiKTpNdih0aGlzLmgsMCwhMCx0aGlzLkcpKX07Cl8ubS5SaT1mdW5jdGlvbihhLGIpe21yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLm9kLHRoaXMsYSxiKSkpLmNhbGwoKX07Xy5tLkdoPWZ1bmN0aW9uKCl7dGhpcy5vZCh0aGlzLmguYWM9PTIpfTtfLm0uSWg9ZnVuY3Rpb24oKXt0aGlzLmwub2EoKT8hdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5qPXRoaXMubC5vYSgpLHRoaXMuaC5uYSh0aGlzLmopLFN2KHRoaXMpKTp0aGlzLmwubmEodGhpcy5qKX07CnZhciBTdj1mdW5jdGlvbihhLGIpe2lmKHdpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UpdHJ5e3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UuZ2V0SW5zdGFuY2UoKS5yZXN0b3JlKCl9Y2F0Y2goYyl7fVJ2KGEubyxhLmopO2EuRz0hMTshYiYmYS5vIGluIHNxJiZRbSgidGVfYXBlIix7c2w6YS5vfSk7TnYoYS5oLDApO012KGEuaCwxLCEwKTthLkYuWWYoISFiKTt3aW5kb3cuc2V0VGltZW91dCgoMCxfLnkpKGEuRi5xZCxhLkYsYS5nLlBiPyJhdXRvIjphLm8sYS5qLCgwLF8ueSkoYS5mYixhKSx2b2lkIDAsdm9pZCAwKSwwKX07ClB2LnByb3RvdHlwZS5mYj1mdW5jdGlvbihhLGIsYyl7dHlwZW9mIHRoaXMuZ2I9PSJmdW5jdGlvbiImJnRoaXMuZ2IoKTt0aGlzLmguaXNWaXNpYmxlKCkmJnRoaXMuaC5hYz09MSYmKGM/KFR2KHRoaXMpLE12KHRoaXMuaCwtMSwhMCksYz09Mj9Mdih0aGlzLmgsUi53Zyk6THYodGhpcy5oLFIuQ2UpKTooTnYodGhpcy5oLGEpLGImJih0aGlzLmwmJnRoaXMubC5uYSh0aGlzLmopLHRoaXMuaC5OYSh0aGlzLm8pLE12KHRoaXMuaCwyKSkpKX07dmFyIFR2PWZ1bmN0aW9uKGEpe1J2KCk7d2luZG93LnNldFRpbWVvdXQoKDAsXy55KShhLkYucmVzdG9yZSxhLkYsbnVsbCksMCl9O1B2LnByb3RvdHlwZS5SYj1mdW5jdGlvbihhKXthfHx0aGlzLlFjKCk7dGhpcy5sJiZ0aGlzLmwuUmIoYSk7dGhpcy5CJiZ0aGlzLkIucGEoYSl9O3ZhciB6bj1mdW5jdGlvbihhKXtpZihhJiYoYT1TdHJpbmcoYSksYT1hLnNwbGl0KCIuIiksYS5sZW5ndGgpKXtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyl7dmFyIGQ9YVtjXTtpZighKGQmJmQgaW4gYikpcmV0dXJuO2I9YltkXX1yZXR1cm4gYn19O3ZhciBVdj1udWxsLFZ2PWZ1bmN0aW9uKGEpe2lmKCFVdil7dmFyIGIsYyxkLGU7YSYmKCJrZXkiaW4gYSYmKGI9YS5rZXkpLCJzZXJ2ZXJQYXJhbXMiaW4gYSYmKGM9YS5zZXJ2ZXJQYXJhbXMpLCJ0aW1lSW5mbyJpbiBhJiYoZD1hLnRpbWVJbmZvKSwicmVtb3RlQXBpUHJveHlIYW5kbGVycyJpbiBhJiYoZT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLChhPXlyKCkpJiYoYz1hKSk7YT0wO2lmKHRxPT0idGVfbGliInx8Xy5XYylhPTM7VXY9bmV3IHd2KHZvaWQgMCxuZXcgWnMoe2FwaUtleTpiLGhjOmEsdmU6ITAsdHJhY2tWaXNpYmlsaXR5OmM9PSJ0dmlzIn0pLHZvaWQgMCx2b2lkIDAsYixjLGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZSk7VXYuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9O1V2LmlzQXZhaWxhYmxlPVV2LlNhO1V2LmdldFN1cHBvcnRlZExhbmd1YWdlcz1Vdi56YztVdi5nZXRQYWdlTGFuZ3VhZ2U9VXYuUGM7VXYuc2V0Q2xpY2tUaHJvdWdoPVV2LllmO1V2LnRyYW5zbGF0ZVBhZ2U9ClV2LnFkO1V2LnJlc3RvcmU9VXYucmVzdG9yZTtVdi5pc1RyYW5zbGF0aW5nPVV2LnBnO1V2LnNldENoZWNrVmlzaWJpbGl0eT1Vdi5QaX1yZXR1cm4gVXZ9O1Z2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFV2fTt2YXIgV3Y9bnVsbCxYdj1mdW5jdGlvbihhLGIpe1d2fHwoV3Y9bmV3IFB2KGEsYiksV3YuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9KTtyZXR1cm4gV3Z9O1h2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFd2fTsKdmFyIFl2PWZ1bmN0aW9uKCl7dmFyIGE9em4oImdvb2dsZS50cmFuc2xhdGUubSIpO2F8fChmcygpLF8ucmMoImdvb2dsZS50cmFuc2xhdGUubSIsUSksYT1RKTtpZihhKWZvcih2YXIgYiBpbiBSKWlmKFJbYl0hPT1PYmplY3QucHJvdG90eXBlW1JbYl1dJiZSW2JdKXt2YXIgYz1SW2JdKCk7UltiXT1hW2NdP2FbY106Z3N9Xy5vaShfLlppKHBxLDEpKSYmKGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxiLnRleHRDb250ZW50PSJcbiAgLnRyYW5zbGF0ZWQtbHRye1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50cmFuc2xhdGVkLXJ0bHtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgIixhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYXx8KGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpLGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LApjLmluc2VydEJlZm9yZShhLGMuZmlyc3RDaGlsZCkpLGEuYXBwZW5kQ2hpbGQoYikpO0JuPT0xPyhfLnJjKCJnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UiLFZ2KSxRbSgidGVfbGkiKSk6KF8ucmMoImdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCIsWHYpLFB2LnByb3RvdHlwZS5kaXNwb3NlPVB2LnByb3RvdHlwZS5kaXNwb3NlLFB2LnByb3RvdHlwZS5zaG93QmFubmVyPVB2LnByb3RvdHlwZS5SaSxQdi5wcm90b3R5cGUuc2V0RW5hYmxlZD1Qdi5wcm90b3R5cGUuUmIsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LkZsb2F0UG9zaXRpb24iLEp2KSxKdi5UT1BfTEVGVD0xLEp2LlRPUF9SSUdIVD0yLEp2LkJPVFRPTV9SSUdIVD0zLEp2LkJPVFRPTV9MRUZUPTQsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LklubGluZUxheW91dCIsSHYpLEh2LlZFUlRJQ0FMPTAsSHYuSE9SSVpPTlRBTD0xLEh2LlNJTVBMRT0KMik7Q24oKX07CmlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpWXYoKTtlbHNlIGlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fcHJvdG9Db25maWcpe3JxPW5ldyBEYXRlO3ZhciBadj1uZXcgbHEod2luZG93Lmdvb2dsZS50cmFuc2xhdGUuX3Byb3RvQ29uZmlnKTtPbj1fLk4oWnYsMjIpfHwiIjttcT1fLk4oWnYsNil8fCJwcm9kIjtucT1fLk4oWnYsMTIpfHwiIjtvcT1fLk4oWnYsMSl8fCJlbiI7QW49Xy5OKFp2LDIpfHwiIjt2YXIgJHY7KCR2PV8uYmooWnYsanEsMykpJiYocHE9JHYpO18uTihadiw4KTtxcT1fLk0oWnYsMTcpO3NxPXt9O3ZhciBhdzthdz1zbShadiwxOCxfLmFqKCkpO2Zvcih2YXIgYnc9MDtidzxhdy5sZW5ndGg7YncrKylzcVthd1tid11dPSEwO0JuPV8uTihadiw1KT09ImxpYiI/MTowO3RxPShfLk4oWnYsNCl8fCJ0ZSIpKwooQm49PTE/Il9saWIiOiIiKTtmcT1fLk4oWnYsOSl8fCIiO3ZhciBjdzsoY3c9Xy5OKFp2LDEwKSl8fChjdz1fLk4oWnYsMTEpKTt1cT1jd3x8IiI7dnE9Imh0dHBzOi8vIjt2YXIgZHc7ZHc9Xy5OKFp2LDEzKTt2YXIgZXc9dnErKGR3fHwiIikrIi90cmFuc2xhdGVfc3RhdGljLyI7d3E9ZXcrImltZy90ZV9iay5naWYiO3hxPWV3KyJpbWcvdGVfY3RybDMuZ2lmIjt6cT1ldysiaW1nL2xvYWRpbmcuZ2lmIjtBcT1fLk4oWnYsMTQpfHwiIjt5cT1fLk4oWnYsMTUpfHwiIjtCcT1fLk4oWnYsMTYpfHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKTtZdigpfTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCg=="}},"time_used":37,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":15,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.018Z","timestamp":1785123386018,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/1jE4zHXbNUM\r\nCookie: __Secure-YNID=20.YT=ACUFOM3MDkNlMvNE5tDAPRZqHyc8HUq6iYvUgEF1js7uVm3Y31bhiIf3sVy4Hyrvgc1OCcHOSp3vsPk12xuHnAhC1Cf-xEwH-8JAvj7gSksWox0nkC6On-8HrUpiNpbDsON7P2d2WEPcvLJM09w4iFsjyc_8T-qrQ0o1v2sJWKWT_Z3Uow-3_y6UiAY8Vbe7BIDaKFErBOC2kWOBSpXwq3nYab8hNVEUPvsfWuKC-MRJZnr7wGh8LavkHs5oAOt2osUNkzgjw-nnLgGDpE17OFrXWJtGeCijcF2DuDXuyJlEZANCnD74xKNqRr8pDJRMH9psiz0sP7MpCDXOwn8F6w; YSC=b0pYTBtcjuk; __Secure-ROLLOUT_TOKEN=CJ3oqsnxxYqOfxD6qa3q9vGVAxj6qa3q9vGVAw%3D%3D; VISITOR_INFO1_LIVE=l_LgHcz9JSg; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaA%3D%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\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 475313\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:32:16 GMT\r\nexpires: Thu, 22 Jul 2027 07:32:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 417850\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1597230,"size_decoded":476001,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (787)","md5":"ef473a4d0528fc7651d726fa43900068","sha1":"3b0d807a63c3244fc3fedeac020c2e81106185e1","sha256":"360a9b05bfc89caf69f220ef2473c20d1657318e21c4e0ffdab81e238b42dc61","sha512":"590afd923ebf8ce8da8def22bdf6149595740d96360cbf541954f52366a31fd5e3d3e6d8dd973044383f2cbad84c18f9f67ff69bf04c3dc6891b35b3eb29bb90","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4kf:fdhuuYnFCL4MVJBJO5DtKV2hdf","tlshash":"7e255b9977f2b46343a3f0e0286f018ab17f591454ccd46cb9a9e5f42da090e917bfac","first_seen":"2026-07-22T15:37:53.752532Z","last_seen":"2026-07-27T16:06:30.195204Z","times_seen":1773,"resource_available":false,"data":"dmFyIF95dF9wbGF5ZXI9e307KGZ1bmN0aW9uKGcpe3ZhciB3aW5kb3c9dGhpczsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwovKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBJPSd0b1N0cmluZztOO2Ntbz10ZDtzcGxpY2U7MTk3MC0wMS0wMVQxMTo0NTo0MS4wMDArMTE6NDU7bGVuZ3RoO21hdGNoOy87Y2xvbmU7WDtjYWxsO3Rocm93O2Ntbztqb2luO2Fzc2lnbjsvdmlkZW9wbGF5YmFjaztodHRwOi8vbG9jYWw7SjtpbmRleE9mO3d3dy55b3V0dWJlLmNvbTtzcDs7cHVzaDtzbGljZTtHRztyZXZlcnNlO3NjaGVtZTtcXC5nb29nbGV2aWRlb1xcLmNvbSQ7cGF0aDt1cmw7L2luaXRwbGF5YmFjaztuO3BsYXllcmZhbGxiYWNrO2dldDtzZXQ7c3RhcnRzV2l0aDtzcGxpdDs9O2ZhbGxiYWNrX2NvdW50O1c7MTtWO3k3O3Vuc2hpZnQ7cnI7dW5kZWZpbmVkO3BvcDssO2luZGV4Lm0zdTg7Jjtmcm9tQ2hhckNvZGU7V3NsWmtDWm96bFlyNkVCME43LV93OF87cnI/WzEtOV0uKlxcLmNcXC55b3V0dWJlXFwuY29tJDsxOTcwLTAxLTAxVDAyOjMwOjMxLjAwMCswMjozMDslM0Q7RWw7XFwuYTFcXC5nb29nbGV2aWRlb1xcLmNvbSQ7bGV0O0VJO3M7Zm9yRWFjaDt5SXkxUGEyOzE5NjktMTItMzFUMTc6MDA6MzcuMDAwLTA3OjAwO2xvY2FsO2Zvcjt5b3V0dWJlLnBsYXllci53ZWJfMjAyNjA3MjFfMDhfUkMwMDsvZmlsZS9pbmRleC5tM3U4OywiIns7Oi8vO1VudHJ1c3RlZCBVUkw7ZnZpcDthMS5nb29nbGV2aWRlby5jb207V0Q7aHR0cHM6Ly9sb2NhbDttbjsvLztmaWxlO3NpZ25hdHVyZUNpcGhlcjsvYXBpL21hbmlmZXN0O2Ntbz1wZjtyO3JlcGxhY2U7cmVkaXJlY3Rvci5nb29nbGV2aWRlby5jb207LCx9L1wnO3hpJy5zcGxpdCgiOyIpLApXWixuMncsaGksazIsdjJDLGVVLE5pLHB0LEFpLGhNaSxFdyx1eCxkcix4aU0semIsbHgsTFMxLFZqLGVNcixENCxrMyx4MyxneixxVSxKRixTaixtYyxLYixPTSxxd3QsR2JpLFYyLERlLGFNLHRVaCx2NCxucCwkaXgsaEEscmliLHhsLGUxLFhNLHFoLEc1LHNULHBwLEkxaSxTd2gsSkEsUzEsQUEsbVcsS3AsUDQsWmUseUcsVDUsS1MxLFJQLE90aSxadFosbjAsVWl3LFcyLERYLGJwLGtLLGg0LHlpdCx4SyxMMCwkSyxzQSxOeCxwMCxZSyxTdSx1aGgsemgsbHAsbzIsVUEsek0yLEMwLE14LFFsLFZsLFIyLGMyLG41LFc5LHY5LGtVLGhfLEw1LFhELHEzLE4zLHA1LEg5LGY1LFlVLEkwLFNYLG0wLEs1LE9fLFpCLFVfLEVfLHU0LEM1LEI5LG8wLHo5LEZELGpDaCxDeE0sYTAsbkcsRlMyLFdILGJXLGh2LHh2LGVXLGdnLHdaQyxHeix0dixWVVMscmcsTkUsWXYscEcsbjMyLFNXLEp2LFdjcixiYlosT0ssbV8sUEgsWlIsVUsseWcsS0csaVcsRUssb3osdVcsQ0csZGcsbFcsRkYsTUUsUnosClFnLGNILEQyLGJhLHZXLGF6LFdXLG5uLGhTLHg5LGVFLGdlLHFILFhfLFZHLHRTLCQ5LHJlLHNWLGpXLE5ILGFQLHBuLFk5LEhXLEpTLElZLEFTLEtuLFBXLHkxLHVhLG9ZLGs0MixaMixpYSx6JCxsYSxDbixqRSxGXyx3ZSxNSCxRMSxhWSxEOSxiRyxrbSx4bSxMaCx4VWosWHQsWW0sSHksSjMsSXgsU0MsQTMsbTQsS2gsT3MseW0sRXMsaUcsUHksdUcsb3gsZEcsVFMsQ2gsd0csTWYsUngsakMsVm0sYXgsbjgsWE1pLGczVSxiNixrbixoOSxMOCxxTU0sZTYsWGYsc2YsTlkscDgsSjksSV8sSzgsdGpVLHU2LG9fLHNNMixkUSxOenIsenYsbDYsVHYsajYsQzgsQk8sd1EsUl8sY08sV3gsdngsa3ksaEsscWMsWFp4LEFLLG9oLHVrLE1jLHdtLGZULHBNeCxZTXgsbkssdkwsREQsSGJTLEpGWixMSyxJNFMsZWcsZ0QsQUZaLG1VdyxTTVMsS2NoLFBfaSxaYmgsVVViLHJGdCxQTywkVU0sRzcseUZaLGVYLFhULEUzdCxpYlUsJEUsckQsTjUsbzNiLEhMLGZLLEpILElXLEFILEtLLGRVcixTZywKeTcsRTIsWkQsekJ0LE8yLG1oLGRELGw0aixUenIsak1oLHE4LCRHLHBxLFlHLFNPLGdwLEJ6aSxKJCxISixmcSxLcSxDXzEsRXUsdWUsbzUsRmNiLGRwLHozLHdNUyxsZSxUMyxqTyxSQmIsQkosRjEsd3AsUU1VLFY4LFI1LG5WLFE4LGE1LFczLERvLFZqdCx2MyxubDEsV1dyLGJwTSxibixMVix2bHIsZyQsazVaLHRxLFg2LGhIUyx4aGIsTFcyLGVIaCxnbGgsc2wsSDMsRzVoLHJBYixzUDIsTlR0LHA0aSwkaGgsdDFVLEpxLG1JLElpLFlUVSxPbCxQMyxabyx5aSxFbCxmZWIsSkF3LElldyxtaHcsU1RyLG9pLGQkLGxuLHpILEtXVSxCMyxQZjIsam0sT3BpLE12LHckLHlBMSxFbGksaXByLHVNWixSaSxuVyx6SGksVFRyLHZZLGtxLHhxLFhtLHF0LHQxLE50LHNqLENmMSxGV1osdzRyLFlxLEoxLElzLEhZLGZXLFYxVSxBMSxTUyxtRyxLVyxPaixaYSxQWSxjQVUsYWVoLG5LaSx5TixFaixpcix1cixscixvcyx6TixiMHgsZGgsVE4sQ1csalMsV3hoLHZLYixCWSxGbSx3aCxNdCxScyxRTiwKVk4sY1ksYXMsbl8sV0ssaEN4LERpLGJILHZLLGt0LHh4aixMeGksZUNVLGdLdCxYZCxZWSxoYSx4dCxMXyxxdyxzMncsclgsTldoLFl0LEhLLElGLFNBLEFhLG1hLHlLLHAyaix1SCxZQTEsbEgsVEssSDBpLGpBLENfLEJLLEo0cix3WCxNdyxSRixRSyxWSyxJWDEsY0ssYUYsbmUsV1MsRFEsYkMsa2oseGosTGUsZXYsdGsscjcscyQsTjYscGUsWWosSFMsZmUsSmssSVMsU3YsVSQsRSQsaUMsdUMsQTR4LG9TLGQ3LGxDLFRCLGp2LHc3LE02LFJTLFF0LGFTLG53LFdWLG14aixLeFUsREUsTzBpLFBwMSx2VixYJCxxTixVeGoseTQyLCRmLE5OLHB3LGZ3LFlmLEpyLG15LGkwYixQVixPdCxaRSx5Rix1dyxkMixDdyxVdCxUVzIsYUUsY1YsVzAsRHIsdjAsa1QsYmIsaHkseFQsQ3BNLGc4LEJXaixYbixxWCx3MjIsdHksTXVDLFJDVSxRMmksajJaLGFYQyxuVXcsSUssQXksSyQsZ1osWnIsVXoseUgsRXosaWIsb0sselEsbGIsVFEsQyQsQjAsRm4sUkssVkgsYzAsbnksV0IsREksYk8sdkIsCmtSLEx5LGhPLGI1dCxnSixlXyxHMSx0TywkUixOMCx2VTEsc1AscHksazlpLEFPLG1ZLEt5LFVQLHl4LGlPLGhxaCxkSix6MSxUMSxqXyxCQix3SixSOSxNMCxhOSxiUSxrdSxMRixlRixnMCxYcSwkdSxlcTEsZ1VyLHBGLFl1LE5MLEhOLFg5VSxKYyxJZyxTRixBYyxPUixaeSxVUixLRix5YyxFUix1USx0WFUsJDN4LHMwcixkMCxyX2osRzl3LHpuLE5aaSxpUSxvZyxINXgsbFEsVG4sakYsQ0YsRnEsdzAsZkJVLEpfMixJQmksY04sYWcsV3osRG0sU19aLEFfcixtM3csSzByLGI5LHZ6LFA0TSxrTyxoNyx4TyxMUCxlOSxnMyxVM3QscUIsaTVoLHVEeCwkTyxyMyx0Nyx5X3Isc0osTkIscFAsWU8sR28sRVVTLEh6LGZQLEo3LEk3LEE3LG1ULEtQLE9KLFB6LFRaaixabSxvNyxkMyxsOSxqMHgsRjBNLEJaaCx6byxGMyxWZCxNWFMsdzMsY3osbm0sYTcsRDUsYk0sV1UsUnEyLFEwUyxWWDIsY19aLGtRLGFCUyxudjIsV19DLERFeCxiR0MsdnZpLGt6aSxoSSx4USx4RXcsTF9pLGd2dyxldywKTG0sJFEscUt3LHNjLHBtLFlRLHRXdywkRXQsZm0sT2MsUFUsWjUseUosRWMsU3csVWMsaU0scnZoLHN6Uyx1TSx6VCxqdyxUVCxCVSxsTSxDbSxNYixhSSxuWCxOZ3csY1UsVkosZ0UsZVosdHAsJG8sckUsWUtqLGZSMixTS0MsSnZaLHM5LElSMSxOaixISSxwWCxJYixBcCxLWCxaQSxQSSxPOSxVOSxpeSx1eSxkRSxLXzIsT0d4LFBXMSxRUixNaixjSSxDWCxuVSxxMSxiUix2cyxrQSxUcCxzeSxwVSxpR2osS1UsRXZDLGpaLG1yLER2LGc0LE4xLGFiLEY0LEJJLHdFLFZSLHI0LHVSLG92LEV5LFRVLGp5LENVLENXaSxCcyxGUix3NCxNMSxCZ3Isd0hDLE1XdyxRNCxjcyxuNCxhdixXYSxRejEsVld4LGhQLGtCLG45dyx4QixnSyxMNCxlaSxXTlUsREh0LGhUUyxLNCxPYSxnOWksdWcsaWcsWFdqLFRxLHFWWixqaSxHJGosenEsQzR3LG9VLGxnLGRLLFBhLEZqLHRFeCwkSHQsd0ssTWcsUTUsTmUyLGFVLG5CLGtWLGhtLHBXTSxMQixnYixYQSxxUSxHdyx0bSwkVixZVlMscmIsZUwsc0gsCnBCLEhiLGZCLFlWLElMLEhucixmMmosT0gsWk0sRUgseXYsaSQsSlNyLHp3LGRiLEkyWix1JCxTVjEsakwsQ0IsQVN4LG1IMSxLTnQsQmIsRkEsb0wsVHcsUGF4LGNiLFdQLFZ2LGtELHhELGVrLHlTaCxFOWIsaW53LGRIaix1X3QsR1cscGwsSFAsZmwsSmUselRqLElqLEFlLG1FLFNrLEtsLFRlYixPbyxQUCxqWTEsWlksRk54LEJlUyxDYVUsTUV3LFVvLFZFMixsMmoseXEsRW8sY1MyLHFyLHRlLER3LHZHLGtNLGhSLHhNLExSLGU1LGdkLFhhLHFELEc2LHRSLCRNLHJkLHN4LGEyMixwUixKUixJdyxtayxLUixPeCxQRyxadyxVeCx5QSxFeCxpaCx1aCxvdyxkZCxUNixqNSxDUixCRyx3ZCxNRCxRQSxjRyxuZixXZSxERyxiQixubWgsVzRVLERmUyxrJCxYOCx0RSxiaDEsJCQsc2UsTmEscGYsa1NqLHhmUyxIZSxMNFosZWFVLGdtMixKRSxJOCxxc1UsQUUsR1N3LCRmaSxLZixyM1osT2UsbUwsc3hyLHRDaCxTWSxQZSxaRyxweXQsWXNNLEhodyxVZSxJOTIseVcsRWUsdUIsU3NaLGROLApuYyxXUSx5M3IsYjAsRW14LHg1LExjLGV0LG9tTSx0aixYeSxkZjIsRzAsJDUsemFpLGw5aSxUR2gscWUsdXQyLHJhLHNoLEhRLEJHTSxGNGIsZmMsSmosUmFTLGE5cixxNCxubjEsdFgsck0scGksWXosZmksSWYsbVUsUzIsaGp0LEFYLHhZYixLaSxPMyxlancsWnEsZ25aLFAkLExEWixpWixYT2IscWZTLHQ2QyxyOVMsR3ZVLHNfMixOUWksajIsQiQsSDhyLFFyLEo5YixmOEMsTTQsVnIsUmYsYyQsSThqLEE5UyxTZmosRkcsbVl3LFA2Uyx3TSx1Zk0sb25yLGRZTSxpOFUsRW4yLHk5dCx6ajEsYWYscE9pLGw4dCxZZmksVFFNLGpfVSxuNyxGRGIsQzZVLFduLEJRdyx3T1osUmpVLFFfMSxNNlUsbnl3LFdCaixhODIsa0Z3LGhzdyxWNnIsYzlNLExCVSx4Y2Isa2QsZXNqLGhzLGd5MSxHRkMsWHh0LHRwYixxMGIsJGN4LHhkLEw3LGVJLHJLcixzaFosZ1AsTm10LFhOLHB4aSxZMFUscUcsR0UsSFRaLGZsaixKS2osSWxqLHRzLFMwdyxBS3IsbWNyLEtCTSxPVGIsUGtDLFpUVSxVY2kseUtDLApFeTIsaVR4LHVMMixveWgsZGN0LHpzMSxsbHIsVG1yLGpoTSxDa3gsQm1qLHd4WixNcEMsclAsc24scDcsWWQsUnN4LEhuLGY3LFFodyxKcyxWcEMsSU8sQXMsbTUsSzcsWlUsVW4seXcsaUosYWx4LG9PLHpFLFRFLGdYLEM3LGhBaSxCbixlQSxGTixlQVosTUcsUk8sVncsZ0V3LERjLHZBLGtKLFhMUyx4SixlSixnRixYcCxxZCxOZCxJRGgsUzJiLFlKLEhLaSwkNXIsSlQsc1diLElyLHJGLCRKLHRnaCxHN1UscTJDLHRULGZnLHNELEhBLFBBLFpjLFVELHlMLEVELGkzLHUzLG9yLGRGLHpfLFRfLGpKLENnLEJBLEZwLHdGLFFMLFd3LFZMLGNBLHZ3LGt4LGFyLEtoMixMcyxnQSxHaixQSUMsWktaLFl4LHBzLFU1WiwkeCxyQSxzWSxOayxIdyxmcyxKWSxJQixTUCxtdCxBWSx5SHIsS3MsUHcsRUVaLE9ZLFpfLGlLVSxVWSx5ZixvRWksemosbEwsalAsVGosQncsRjUsd0EsTWssUWYsY3csbnosV18sREosZDV3LGJULHZfLGtOLHpBMixoSix4TixMeixleCxnayxYeCxsRHgsVEQxLEdQLHRKLAokTixPdixQXyxaSixVdix5cyxkayx6UCx3TFUsbFQsVFAsangsQ3osTWdNLFJBUyxRV00sVmdpLGNIaixhRFUsRngsTUksbkdTLERPLHZSLGhNLHhYLExNLGVHLFhaLHEkLEdpLHRNLCRYLHJ5LHNOLE4kLFlYLGZNLEpNLElkLFNHLFFQLE9OLG1GLEtnLE0zLFpPLFVOLHZHVSx5VCxrM3IsaTgsdTgsZHksaGdTLHppLGw4LFRpLGpHLHJrLENNLEJSLHg4aixGWixNJCxSZCxRVCxWVCxjUixhZCxuNixXRix2RixMS1UsTDYsZWcxLGU0LFhKaSxxeixxdWosRzNDLHRPWix0WixzNVUsTnBqLHBKYixJbyxZdWgsSHFoLGZ0WixHXyxmRHcsJGcsUzQsSzYsT2ssUEYsSiRVLEl0aSxaSCx5QyxBWixFayxBJGksaUEsdUEsb28sbTh0LHp4LFR4LGo0LEM2LEJGLEtLdCxGdixwNixWQyxPcXgsVThaLERLLHJIaSxKSHIsdlgsaHoseGgsTE4sZVQsZzEsRUdDLCRoLG9HdyxkOGksaXF0LHR6LHUxcixsdGIsTlYsemcyLHBOLFRwYixIWCxORFMsWTJTLE9ELFNKLENlVSxmTixKeix3SngsajVpLFNULG1WLApLTixBeixPZCxQWCxSZ1UsRWQsVk9yLGF0dCxpbyxuWUMsb24sekwsWHYsVEwsalQsQlgsRlYsUU0sY1gsbG8sYzksV0UsYmksdkUsaHUsTEUsdHUsWnFTLHZZaixmRSxKdSxTTSxBdSxWUCxLRSxMSUMsZUVpLE9tLFBFLGdZWix0bU0sWmYsWDNTLEdIdCxxbGgscnFaLHNpcixpaSx1aSxvQSxUbCxDRSx3YyxGQyxNRixSQSxZbHcsUW4sSFZ4LGZvaSxKcVosQXExLG12aixhQSxuTCxQbjEsWlZpLHlxMSxFWTEsaVYyLHU2UyxvWU0sekViLGxvaixrTCx4TCxMTCxlJCxnNix0eCxCJHgsdzNpLEdmLFJFaSwkTCxyNixRaTIsVm10LHNVLFZuLFdqLEhqLGZMLG1mLEVVLGlqLHVqLGQ2LHpmLG9RLGdxWixsaixYWWgscWpoLEdOaCxDTCxCaixGZSxKeCx3NixQMCxNcyxBSixSUSxReixOSSxWeixVdE0sY2oseTFoLEk0LGFRLG5BLGJGLFRmLGokLFN4LGhELEVxaCx4cCxLeixpV1MsdW10LG9xMSx6a1UsTEEsZTcsZ2wsWDIsZHQxLEdlLHRELCRwLHJsLEF4LE51LFlwLElULEFELGlULHB6LEtBLApPUyxQVCxUaGksY3F4LHBMLFpQLFVTLHlVLEVTLGlGLHVGLGxGLHplLGo3LGRsLE1TTSxDQSxCVCxGMix3bCxNdSxhVCxjVCxRc1MsbjIsVzcsVlNoLGtGLGhmLGMxQyx4RixMMixlQixiX0MsZ3YsWHoscXAsdGYsdnRDLGh4dyxmMixKZixJeSx4dzIsU0IsQWYsbVAsWiQsVUYseUUsRUYsaTUsenUsVHUsakIsQzIsQjcsTGF4LEZ6LHd2LE1wLFJ5LFFFLFZFLGM3LGF5LG52LGJZLFd1LERiLEdLdCxxSXcsdEFDLCR3aixyYVUsc0ZNLHZ1LGtzLE5YaCxlbixnVixZSTEsSF9VLHFXLFhyLHRCLGZpeCxyVixzYixOVyxwdixmdixZcyxKQixJNixKYWksSHUsWmIsVWIsRWIsbzYsU0laLHVZLEFhMixURCxsWSxtd3Isam4sQ3YsRnIsd1YsTVcsUWssVmssY3UsQ25pLEZJMSxhNixXcCxEeCxidSx2cCxrWixoVSx4WixMMyxlVixnQyxVd2IseWFqLGlfYixYdSx6eFMsakZNLFNWLENIaCxGYU0sd0tqLE1BTSxSeGosUUZ3LFZBUyxjYXQsYWlNLG5qMSxtZSxXJGosRDZ4LEszLE9HLGJlcixQcCwKdmp3LGg3Mix4NncsVUcsWngsTCQyLHlCLGl1LGU3YixnajEsWFNoLG9xLEdCYixya2osekkscSQyLCQ2aCxsdSxqVixzU3csTjdTLHBTUyxGdSxIZVUsd0MsUnEsSVExLFMkaCxtNncsSyRqLFZCLGNwLFBDMixhcSxaZXcsTXEsVTZDLGZRaCxPZWksQWtNLFc2LHlrcixFalosaWVpLHU5VSxvancsRGQsVDdiLGQ2cix6N1UsalNaLGJTLENDTSxsUWgsdjYseEMsTHIsZXEsa0MsQjdiLHdTVSxndSxGJHgsTXZTLFI3VSxWdnQsY2tqLFgwLGFRUyxuZngsRE4xLGJ3QyxxMixHWix0MCwkQyxRRXcsVkh4LGNyaCxEWDIsdmZ0LGtkVSxuVHcsV2paLGFFdyx2VFosSDYsSjQsZnIseWssbWksS3YsUHUsaVksS3IsSSQsaFpyLE80LHhYQyxMalUsUDYsQTAsbWQsWmQsZ1RDLFU0LEowLGc3LHlvLEU0LGlTLFNxLGtRdyxlWnQsdVMsWDB0LHF6aCxHUWIsdGRqLCRYMSxyeUMsTjhaLGR1LEprQyx6WixsUyxSNixLYTIscDBiLGpxLFZvLElyYixZemksZnJDLENyLEYwLG1YYixLamksTyRpLFokaSxQYlUsClVYWixhJCx5eXgsbkQsV2wsaSRTLEVUaixvVGosRGssdW5VLHZsLHpaaixscjIsVDhoLENidCxCOGksdzBiLGhnLGt3LEZqaixSWmgsTEQsVmR0LGVSLFFLeCx4dyxnaixYQixXWWgsblJ0LCR3LHFQLFl3LHZSdyxlU2osaFMxLExZMix4MEMsZkQsWEJ3LHFQaSxHMVMsdF9oLCQwYixyT2gsczlDLE5KaSxJayxwQngsWVBNLEh5VSxKT3csZkl0LElJYixKZyxBT00sU1IsY3laLFBsLFp5UyxpeWksdWtoLG9SdCxQT3QsRXEsdTEseXUsZDBiLFVxLGxJYixvayxaayxVMFosaTEseU9aLG0wTSxtdixqOUMsT3laLENPaixCSnQsVEpiLEZZQyx3QngsemMsTV93LFE5YixWXzIsUlNDLGNPdyxhSVosV1hoLERMYixrbnIsYkZqLHZ1TSxUYyxoUXgseEx0LExYcixndUMsalIsQ0QsWE5pLEJsLHFScixHbncsdEZ4LCRMQyxyYzIsc2d3LE4wUyxwTnQsWVJ3LEhGWixmeVUsSmNiLEl5dyxTUnQsQWNaLG1MMixLWFosT0ZDLFBRcixaRnQsVUwyLHljMixFdXQsaUZVLHVxdCxvdTIsZExpLHpRUyxseTIsClQwVSxqZ2gsQ1FDLEIwaixGWDIsTUZ4LFJRVSxWRlMsTVAsUXUsVnUsY2wsbk9NLG5DLFdUaCxEQmksYlBTLGFrLHZPMixheVosYm0saEQxLHhCaCxMVGIsdnIsa29yLE9iLGRWLFlDLFN6TSxjNixIJGgsUW8sQjYsd3UsUiQsZGoselMyLEVSUyxYemgscUoyLHQ5aCxrYywkQmkscjdoLGgyLGVEYixYYixIUGIsZm14LEo3aSxJbWkscW0sZ09DLEE3eCxzN3IsTjNDLHhjLExDLHB6aCxaUGosS1RpLE9QMixyUyxOMiwkYyxTSloseTdpLEVPaCxpUFMsbUJiLHUzeCxvT3gsZEJoLFQzaCxqN2osQzl4LHBDLEIzeCx3enIsRlR0LFJEaixRNzIsYzdyLFdnMixoOE0seGJqLEhyLG5RdyxKMixmQyxMZ3csZTh3LGJtaCxWOWksTTliLGdRdyxYVVMscWNVLEdUUyx0d00sckkxLFMwLCRiWixOb0Msc0lNLFljMSxwVWosbW4sQTIsSG1TLGY1eCxKSWIsSTUyLEtDLEFJTSxtYk0sS2d4LE9YLE9tMixQTWosUHIsWm1oLHlJcixpbXIsWlYsVVgseTMsaW0sdW0sRVgsRVFNLHVpaixvUTIsZGJTLHo4MiwKbDVVLGJBLG91LFRvaSxqSWosQ014LEJvdCxkUyxGZ2IselgsTXdoLGwxLFRYLGowLENDLEJyLEZiLHdTLFFJUyxWd00sY0lqLGE1cixSdSxXM1osRGoyLGJYdCxrcGksaHlpLGJKLHZ5TSx4amosTDN4LGV5aixYSVosYXUsV2QscTkxLG51LEQ3LGJWLHRaTSwkalosdmQscnB0LGNjWixNbSxWMyxoQyxIWDIsZkF0LEpwVSxJQWgsUzliLEFwaixtanQsSzNVLE9YMixlaCxncyxYSixQeUMscTksUjhDLFVqdyx0QyxHWSwkMCxFb2ksaVhTLHJzLHNCLHlwYixwdSx1NGIsWTAsb294LGZ1LFRFMixqYjIsSkMsRjNiLFNoLG1vLGRqcixNWjEsSGQsUnlpLFFidyxsQXQsVlppLHp5MSxhQXcsbkF4LGNwdCxQZCxaNyxMcjEsdkFqLHlhLGVwWixrVWksRDF0LGdBaSxXcmgsR1UxLFhzaSxVQix0eTIsYlVVLHI2dyx4MVUscHNyLEVCLEhVaSxmdmksWXlpLEl2aCxTeXIsU1BNLEdYLG9jLFA5VSxtMVUsSWMsbFYselksamgsQmQsRkosS3JiLHdzLFUxaSx5NlosRUFDLE05LFBSYixSYyxpVXQsQ3UsCmNkLG9BdCxRYSxWYSx1VixUWSx3c2ksTXl4LE9VaCxkcyxScFUsYnYsQTZqLGQxMixhdlosbkJDLFcxaSxiNHQsRGdDLHZCMixCNFUsUXZpLGhMWixMMWIseGdaLGVMaCxnQnIsWGFTLGtQLGg1LHFhVSxHcU0senBpLHRpUywkZ0MsTGEsclBoLHNVUyxlbCx4UCxwYU0sZzksWFksSDR0LGZwaSxKUE0sSXBDLFNhTSxZYVUsQVAyLG1naCxPNEMscVQsSzFVLEdHLFBneCxaNHgseVBqLEVCQyxVZzIsb0JyLGRndyxpNFUsdWp4LHpMWixscDIsalVVLFRLdyxSTHQsUVVaLENndCxCS0MsRjF3LHdhUyxNaWksVmliLHI5LHNyLCRQLE5ULGFweCxuVnIsV3F4LEpKLHBhLGJCeCx2VjIsa3d3LFlQLGZhLEg4LHhRdyxoYmosZ1ZoLEo1LFIwLFhiaCxJRyxxSDEsR3dVLHRMeCwkUXgscm1NLHNMYixOYmIsSEJ3LFlIaSxBNSxtQSxKbXgsS2EsU2wsZk0xLE9yLEtxcixQJEMsWkJqLFVRaSx5bWksRVZiLGlCUyxaVCxpdix1QXQsdXYsemJyLG9WMixEJCxURyxqbCxDYSxHdSxCOCxGWSxqTGosQyR3LAp3OSxSRyxRWSxGcU0sTVQsQmJoLFJieCxjbWIsVlksYU1VLG5EaixhRyxEclosVkxNLFdjLGJsWixuTyx2RDEsa1cxLGJzLHZjLHhydCxrSSxlMEMsZ0R4LExFcixYUGkscW8yLGhoLEdXYix0azEsTE8sZXMsZ2YsJHJNLHJlUyxzalMsTl9oLFlvQyx0aCxIbEMsJEksQWV0LHJmLG1yaixLRWgsUGRaLE9sTSxOSyxwTyxabGksRURqLEhjLFlJLHU3dCxkck0samp4LENkaixKaCxJZSxCX0Msc0YsZk8sRkVaLFNzLHdQMSxNa00sbVIsY2ViLHlSMSxHRCwkcyxlMCx6RCx5UyxCdSxFZyxpcyxUWixVZyxpUlosdXMsdWFVLG9NaCxkRGIselVoLHR2aSxNMixqd2osRncsQ2gxLE1LLGlwLGpzLEZraixjYyxDTyxuSixjUmIsVjVoLGx3WixXZixkZixUZGosbHMsbiRNLFdMcixEYXIsTTVpLHYkaCxodnIsZXZ0LGckUyxrcix2ZixYZWosYmwsREwseHIsTEwyLHFlaSwkYXIsdVJyLHJFUyxzOHIsWWVpLFhTLHBlVSx0YixOTncscTcsZkdTLEpFYixJR3csU2UxLEFFaSxyNSxaZncsc1osT2Z0LHlFMiwKRSRNLGlmQyxLTFosdThiLFlyLG8kVSx2NyxmSixKYixBYixQZixWUyx6djIsVVosbEd3LGo4MixDQlMseVosaWwsVWFoLHdlVSxNWU0sUnZaLFE4eCxWWXgsYUcxLFcydyxEZWIsb1gsY0VyLFZaLGswaix6QSxFWixoZDEsbngsTDJNLHhlcixXcSxERixiVSx2cSxlZFMsYVgsT1osQ0osbGwsVEEsQmYsbjVqLEZTLEtKLHVsLGRhdCxYUXgsRzBqLFNhLFFaLHR0dywkZVUseGkscmpqLHNhaSxoVixOYWIsa2ksZW8sWWhpLEhjdCxmNmg7V1o9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG50W25dLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OwpnLkQxPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG50W25dPVd9OwpuMnc9ZnVuY3Rpb24obixXKXtpZihXKWZvcih2YXIgRD0wO0Q8dloubGVuZ3RoO0QrKylrMih2WltEXSsiQXJyYXkucHJvdG90eXBlLiIrbixXKX07CmhpPWZ1bmN0aW9uKG4sVyl7VyYmazIobixXKX07CmsyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9eDI7bj1uLnNwbGl0KCIuIik7Zm9yKHZhciBiPTA7YjxuLmxlbmd0aC0xO2IrKyl7dmFyIHY9bltiXTtpZighKHYgaW4gRCkpcmV0dXJuO0Q9RFt2XX1uPW5bbi5sZW5ndGgtMV07Yj1EW25dO1c9VyhiKTtXIT1iJiZXIT1udWxsJiZXU0MoRCxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6V30pfTsKdjJDPWZ1bmN0aW9uKG4sVyl7bi5wcm90b3R5cGU9RGl4KFcucHJvdG90eXBlKTtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO2J0UyhuLFcpO24uVEI9Vy5wcm90b3R5cGV9OwplVT1mdW5jdGlvbihuKXtuPU1hdGgudHJ1bmMobil8fDA7bjwwJiYobis9dGhpcy5sZW5ndGgpO2lmKCEobjwwfHxuPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbbl19OwpnLkdiPWZ1bmN0aW9uKG4sVyxEKXtuPW4uc3BsaXQoIi4iKTtEPUR8fGcucWk7Zm9yKHZhciBiO24ubGVuZ3RoJiYoYj1uLnNoaWZ0KCkpOyluLmxlbmd0aHx8Vz09PXZvaWQgMD9EW2JdJiZEW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXT9EPURbYl06RD1EW2JdPXt9OkRbYl09V307Ck5pPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigiQ0xPU1VSRV9GTEFHUyIpO249RCYmRFtuXTtyZXR1cm4gbiE9bnVsbD9uOld9OwpnLnJyPWZ1bmN0aW9uKG4sVyl7bj1uLnNwbGl0KCIuIik7Vz1XfHxnLnFpO2Zvcih2YXIgRD0wO0Q8bi5sZW5ndGg7RCsrKWlmKFc9V1tuW0RdXSxXPT1udWxsKXJldHVybiBudWxsO3JldHVybiBXfTsKcHQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFchPSJvYmplY3QiP1c6bj9BcnJheS5pc0FycmF5KG4pPyJhcnJheSI6VzoibnVsbCJ9OwpnLlkyPWZ1bmN0aW9uKG4pe3ZhciBXPXB0KG4pO3JldHVybiBXPT0iYXJyYXkifHxXPT0ib2JqZWN0IiYmdHlwZW9mIG4ubGVuZ3RoPT0ibnVtYmVyIn07CmcuZnQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFc9PSJvYmplY3QiJiZuIT1udWxsfHxXPT0iZnVuY3Rpb24ifTsKQWk9ZnVuY3Rpb24obil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLFNVKSYmbltTVV18fChuW1NVXT0rK2tidCl9OwpoTWk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLmNhbGwuYXBwbHkobi5iaW5kLGFyZ3VtZW50cyl9OwpnLkt0PWZ1bmN0aW9uKG4sVyxEKXtnLkt0PWhNaTtyZXR1cm4gZy5LdC5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpnLlBaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUQuc2xpY2UoKTtiLnB1c2guYXBwbHkoYixhcmd1bWVudHMpO3JldHVybiBuLmFwcGx5KHRoaXMsYil9fTsKZy5Vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKZy55aj1mdW5jdGlvbihuKXtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXJSdW4iLG4pfTsKRXc9ZnVuY3Rpb24obil7cmV0dXJuIG59OwpnLml4PWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRCgpe30KRC5wcm90b3R5cGU9Vy5wcm90b3R5cGU7bi5UQj1XLnByb3RvdHlwZTtuLnByb3RvdHlwZT1uZXcgRDtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO24uQU89ZnVuY3Rpb24oYix2LGspe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLHg9Mjt4PGFyZ3VtZW50cy5sZW5ndGg7eCsrKWhbeC0yXT1hcmd1bWVudHNbeF07cmV0dXJuIFcucHJvdG90eXBlW3ZdLmFwcGx5KGIsaCl9fTsKdXg9ZnVuY3Rpb24obiwuLi5XKXtXPVcuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighVylyZXR1cm4gbjt2YXIgRD1uLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIEQ/bi5zbGljZSgwLEQuaW5kZXgrMSkrVysiJiIrbi5zbGljZShELmluZGV4KzEpOm4rKG4uaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrV307CmRyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/IiYiK24rIj0iK2VuY29kZVVSSUNvbXBvbmVudChXKToiIn07CnhpTT1mdW5jdGlvbihuKXtuPW4uWDtpZighbilyZXR1cm4iIjt2YXIgVz1kcigidWFwIixuLnBsYXRmb3JtKStkcigidWFwdiIsbi5wbGF0Zm9ybVZlcnNpb24pK2RyKCJ1YWZ2IixuLnVhRnVsbFZlcnNpb24pK2RyKCJ1YWEiLG4uYXJjaGl0ZWN0dXJlKStkcigidWFtIixuLm1vZGVsKStkcigidWFiIixuLmJpdG5lc3MpO24uZnVsbFZlcnNpb25MaXN0JiYoVys9IiZ1YWZ2bD0iK2VuY29kZVVSSUNvbXBvbmVudChuLmZ1bGxWZXJzaW9uTGlzdC5tYXAoRD0+ZW5jb2RlVVJJQ29tcG9uZW50KEQuYnJhbmQpKyI7IitlbmNvZGVVUklDb21wb25lbnQoRC52ZXJzaW9uKSkuam9pbigifCIpKSk7Cm4ud293NjQhPW51bGwmJihXKz0iJnVhdz0iK051bWJlcihuLndvdzY0KSk7cmV0dXJuIFcuc2xpY2UoMSl9Owp6Yj1mdW5jdGlvbihuLFcpe2lmKFchPT1udWxsJiZXIT09dm9pZCAwKXtpZih0eXBlb2YgVyE9PSJvYmplY3QiJiZ0eXBlb2YgVyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkLiIpO2lmKEQ9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTt2YXIgRD1XW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgRCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpO24uc3RhY2sucHVzaCh7dmFsdWU6VyxkaXNwb3NlOkQsYXN5bmM6ITF9KX1yZXR1cm4gV307Cmx4PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoayl7bi5lcnJvcj1uLmhhc0Vycm9yP25ldyBTdXBwcmVzc2VkRXJyb3IoayxuLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6aztuLmhhc0Vycm9yPSEwfQpmdW5jdGlvbiBEKCl7Zm9yKDtiPW4uc3RhY2sucG9wKCk7KXRyeXtpZighYi5hc3luYyYmdj09PTEpcmV0dXJuIHY9MCxuLnN0YWNrLnB1c2goYiksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihEKTtpZihiLmRpc3Bvc2Upe3ZhciBrPWIuZGlzcG9zZS5jYWxsKGIudmFsdWUpO2lmKGIuYXN5bmMpcmV0dXJuIHZ8PTIsUHJvbWlzZS5yZXNvbHZlKGspLnRoZW4oRCxmdW5jdGlvbihoKXtXKGgpO3JldHVybiBEKCl9KX1lbHNlIHZ8PTF9Y2F0Y2goaCl7VyhoKX1pZih2PT09MSlyZXR1cm4gbi5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChuLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTsKaWYobi5oYXNFcnJvcil0aHJvdyBuLmVycm9yO30KdmFyIGIsdj0wO0QoKX07CmcuVGI9ZnVuY3Rpb24obixXKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGcuVGIpO2Vsc2V7bGV0IEQ9RXJyb3IoKS5zdGFjaztEJiYodGhpcy5zdGFjaz1EKX1uJiYodGhpcy5tZXNzYWdlPVN0cmluZyhuKSk7VyE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Vyl9OwpMUzE9ZnVuY3Rpb24oKXt9OwpnLmpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ubGFzdEluZGV4T2YoVywwKT09MH07CmcuQlo9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmxlbmd0aC1XLmxlbmd0aDtyZXR1cm4gRD49MCYmbi5pbmRleE9mKFcsRCk9PUR9OwpnLkZoPWZ1bmN0aW9uKG4pe3JldHVybi9eW1xzXHhhMF0qJC8udGVzdChuKX07Cmcud3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoVy50b0xvd2VyQ2FzZSgpKSE9LTF9OwpnLmNaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtuPVN0cmluZyhuKS50cmltKCkuc3BsaXQoIi4iKTtXPVN0cmluZyhXKS50cmltKCkuc3BsaXQoIi4iKTt2YXIgYj1NYXRoLm1heChuLmxlbmd0aCxXLmxlbmd0aCk7Zm9yKGxldCBoPTA7RD09MCYmaDxiO2grKyl7dmFyIHY9bltoXXx8IiIsaz1XW2hdfHwiIjtkb3t2PS8oXGQqKShcRCopKC4qKS8uZXhlYyh2KXx8WyIiLCIiLCIiLCIiXTtrPS8oXGQqKShcRCopKC4qKS8uZXhlYyhrKXx8WyIiLCIiLCIiLCIiXTtpZih2WzBdLmxlbmd0aD09MCYma1swXS5sZW5ndGg9PTApYnJlYWs7RD1Waih2WzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KHZbMV0sMTApLGtbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoa1sxXSwxMCkpfHxWaih2WzJdLmxlbmd0aD09MCxrWzJdLmxlbmd0aD09MCl8fFZqKHZbMl0sa1syXSk7dj12WzNdO2s9a1szXX13aGlsZShEPT0wKX1yZXR1cm4gRH07ClZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG48Vz8tMTpuPlc/MTowfTsKZU1yPWZ1bmN0aW9uKCl7dmFyIG49bnVsbDtpZighbmIpcmV0dXJuIG47dHJ5e2xldCBXPUQ9PkQ7Cm49bmIuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOlcsY3JlYXRlU2NyaXB0OlcsY3JlYXRlU2NyaXB0VVJMOld9KX1jYXRjaChXKXt9cmV0dXJuIG59OwpEND1mdW5jdGlvbigpe1dNPT09dm9pZCAwJiYoV009ZU1yKCkpO3JldHVybiBXTX07CmszPWZ1bmN0aW9uKG4pe3ZhciBXPUQ0KCk7bj1XP1cuY3JlYXRlU2NyaXB0VVJMKG4pOm47cmV0dXJuIG5ldyBiXyhuKX07CngzPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiXylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9Owpnej1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5lailyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpxVT1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFhJKFc9Plcuc3Vic3RyKDAsbi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PW4rIjoiKX07CmcudEY9ZnVuY3Rpb24obixXPWcuRzQpe2lmKG4gaW5zdGFuY2VvZiBnLmVqKXJldHVybiBuO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7KytEKXtsZXQgYj1XW0RdO2lmKGIgaW5zdGFuY2VvZiBYSSYmYi5PVihuKSlyZXR1cm4gbmV3IGcuZWoobil9fTsKZy5yej1mdW5jdGlvbihuKXtpZihnMmoudGVzdChuKSlyZXR1cm4gbn07Cmcuc009ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLmVqP2d6KG4pOmcucnoobil9OwpnLk5VPWZ1bmN0aW9uKG4sVyl7Vz1nLnNNKFcpO1chPT12b2lkIDAmJihuLmhyZWY9Vyl9OwpnLnBiPWZ1bmN0aW9uKG4sVz1gdW5leHBlY3RlZCB2YWx1ZSAke259IWApe3Rocm93IEVycm9yKFcpO307CmcuSE09ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVIVE1MKG4pOm47cmV0dXJuIG5ldyBnLlkzKG4pfTsKZy5mYj1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5ZMylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpKRj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9d2luZG93O249Zy5zTShuKTtyZXR1cm4gbiE9PXZvaWQgMD9iLm9wZW4obixXLEQpOm51bGx9OwpTaj1mdW5jdGlvbihuPWRvY3VtZW50KXtuPW4ucXVlcnlTZWxlY3Rvcj8uKCJzY3JpcHRbbm9uY2VdIik7cmV0dXJuIG49PW51bGw/IiI6bi5ub25jZXx8bi5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIifTsKbWM9ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVTY3JpcHQobik6bjtyZXR1cm4gbmV3IEFGKG4pfTsKS2I9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIEFGKXJldHVybiBuLk47dGhyb3cgRXJyb3IoIiIpO307Ck9NPWZ1bmN0aW9uKG4pe3ZhciBXPVNqKG4ub3duZXJEb2N1bWVudCk7VyYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixXKX07CmcuUE09ZnVuY3Rpb24obixXKXtuLnNyYz14MyhXKTtPTShuKX07CnF3dD1mdW5jdGlvbihuKXt2YXIgVz0idHJ1ZSIudG9TdHJpbmcoKSxEPVtYWnhgZGF0YS1gXTtpZihELmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIiIpO2lmKEQubWFwKGI9PntpZihiIGluc3RhbmNlb2YgWjQpYj1iLk47ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGJ9KS5ldmVyeShiPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoYikhPT0wKSl0aHJvdyBFcnJvcignQXR0cmlidXRlICJkYXRhLWxvYWRlZCIgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBhbGxvd2VkIHByZWZpeGVzLicpOwpuLnNldEF0dHJpYnV0ZSgiZGF0YS1sb2FkZWQiLFcpfTsKZy5VTT1mdW5jdGlvbihuKXtyZXR1cm4gbltuLmxlbmd0aC0xXX07CmcueTI9ZnVuY3Rpb24obixXKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sVyx2b2lkIDApfTsKZy5FTT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChuLFcsRCl9OwpnLmlfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChuLFcsdm9pZCAwKX07CmcudV89ZnVuY3Rpb24obixXLEQpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobixXLEQpfTsKZy5vTT1mdW5jdGlvbihuLFcpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG4sVyx2b2lkIDApfTsKZy5kej1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG4sVyxEKX07CmcubF89ZnVuY3Rpb24obixXKXtXPWcuejQobixXKTtyZXR1cm4gVzwwP251bGw6dHlwZW9mIG49PT0ic3RyaW5nIj9uLmNoYXJBdChXKTpuW1ddfTsKZy56ND1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5sZW5ndGgsdj10eXBlb2Ygbj09PSJzdHJpbmciP24uc3BsaXQoIiIpOm47Zm9yKGxldCBrPTA7azxiO2srKylpZihrIGluIHYmJlcuY2FsbChELHZba10sayxuKSlyZXR1cm4gaztyZXR1cm4tMX07CmcuVDQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubGVuZ3RoLHY9dHlwZW9mIG49PT0ic3RyaW5nIj9uLnNwbGl0KCIiKTpuO2ZvcigtLWI7Yj49MDtiLS0paWYoYiBpbiB2JiZXLmNhbGwoRCx2W2JdLGIsbikpcmV0dXJuIGI7cmV0dXJuLTF9OwpnLmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobixXLHZvaWQgMCk+PTB9OwpnLkNiPWZ1bmN0aW9uKG4pe2lmKCFBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKWRlbGV0ZSBuW1ddO24ubGVuZ3RoPTB9OwpnLkZJPWZ1bmN0aW9uKG4sVyl7Vz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG4sVyx2b2lkIDApO3ZhciBEOyhEPVc+PTApJiZnLkJNKG4sVyk7cmV0dXJuIER9OwpnLkJNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChuLFcsMSkubGVuZ3RoPT0xfTsKR2JpPWZ1bmN0aW9uKG4sVyl7Vz1nLno0KG4sVyk7Vz49MCYmZy5CTShuLFcpfTsKZy53ej1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTsKZy5STT1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aDtpZihXPjApe2xldCBEPUFycmF5KFcpO2ZvcihsZXQgYj0wO2I8VztiKyspRFtiXT1uW2JdO3JldHVybiBEfXJldHVybltdfTsKZy5RMj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspe2xldCBiPWFyZ3VtZW50c1tEXTtpZihnLlkyKGIpKXtsZXQgdj1uLmxlbmd0aHx8MCxrPWIubGVuZ3RofHwwO24ubGVuZ3RoPXYraztmb3IobGV0IGg9MDtoPGs7aCsrKW5bditoXT1iW2hdfWVsc2Ugbi5wdXNoKGIpfX07CmcuY009ZnVuY3Rpb24obixXLEQsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShuLFYyKGFyZ3VtZW50cywxKSl9OwpWMj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobixXKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLFcsRCl9OwpnLlc0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gYU0obixEfHxucCwhMSxXKX07CkRlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGFNKG4sVywhMCl9OwphTT1mdW5jdGlvbihuLFcsRCxiKXtmb3IodmFyIHY9MCxrPW4ubGVuZ3RoLGg7djxrOyl7bGV0IHg9disoay12Pj4+MSksTDtEP0w9Vy5jYWxsKHZvaWQgMCxuW3hdLHgsbik6TD1XKGIsblt4XSk7TD4wP3Y9eCsxOihrPXgsaD0hTCl9cmV0dXJuIGg/djotdi0xfTsKZy5iZj1mdW5jdGlvbihuLFcpe24uc29ydChXfHxucCl9Owp0VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1ucDtnLmJmKG4sZnVuY3Rpb24oYix2KXtyZXR1cm4gRChXKGIpLFcodikpfSl9Owp2ND1mdW5jdGlvbihuLFcsRCl7aWYoIWcuWTIobil8fCFnLlkyKFcpfHxuLmxlbmd0aCE9Vy5sZW5ndGgpcmV0dXJuITE7dmFyIGI9bi5sZW5ndGg7RD1EfHwkaXg7Zm9yKGxldCB2PTA7djxiO3YrKylpZighRChuW3ZdLFdbdl0pKXJldHVybiExO3JldHVybiEwfTsKbnA9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj5XPzE6bjxXPy0xOjB9OwokaXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PVd9OwpnLmtsPWZ1bmN0aW9uKG4sVyxEKXtEPWcuVzQobixXLEQpO0Q8MCYmZy5jTShuLC0oRCsxKSwwLFcpfTsKaEE9ZnVuY3Rpb24obixXKXtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KG4uX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1XfTsKcmliPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7bj09bnVsbCYmKG49J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTpuLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOlcsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgRD0hMTt0cnl7dmFyIGI9bi5saW5lTnVtYmVyfHxuLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChrKXtiPSJOb3QgYXZhaWxhYmxlIixEPSEwfXRyeXt2YXIgdj1uLmZpbGVOYW1lfHxuLmZpbGVuYW1lfHxuLnNvdXJjZVVSTHx8Zy5xaS4kZ29vZ0RlYnVnRm5hbWV8fFd9Y2F0Y2goayl7dj0iTm90IGF2YWlsYWJsZSIsRD0hMH1XPXhsKG4pO2lmKCEoIUQmJm4ubGluZU51bWJlciYmbi5maWxlTmFtZSYmbi5zdGFjayYmbi5tZXNzYWdlJiZuLm5hbWUpKXtEPW4ubWVzc2FnZTsKaWYoRD09bnVsbCl7aWYobi5jb25zdHJ1Y3RvciYmbi5jb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKXtpZihuLmNvbnN0cnVjdG9yLm5hbWUpRD1uLmNvbnN0cnVjdG9yLm5hbWU7ZWxzZSBpZihEPW4uY29uc3RydWN0b3IsTHBbRF0pRD1McFtEXTtlbHNle0Q9U3RyaW5nKEQpO2lmKCFMcFtEXSl7bGV0IGs9L2Z1bmN0aW9uXHMrKFteXChdKykvbS5leGVjKEQpO0xwW0RdPWs/a1sxXToiW0Fub255bW91c10ifUQ9THBbRF19RD0nVW5rbm93biBFcnJvciBvZiB0eXBlICInK0QrJyInfWVsc2UgRD0iVW5rbm93biBFcnJvciBvZiB1bmtub3duIHR5cGUiO3R5cGVvZiBuLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyE9PW4udG9TdHJpbmcmJihEKz0iOiAiK24udG9TdHJpbmcoKSl9cmV0dXJue21lc3NhZ2U6RCxuYW1lOm4ubmFtZXx8IlVua25vd25FcnJvciIsbGluZU51bWJlcjpiLGZpbGVOYW1lOnYsc3RhY2s6V3x8Ik5vdCBhdmFpbGFibGUifX1yZXR1cm57bWVzc2FnZTpuLm1lc3NhZ2UsCm5hbWU6bi5uYW1lLGxpbmVOdW1iZXI6bi5saW5lTnVtYmVyLGZpbGVOYW1lOm4uZmlsZU5hbWUsc3RhY2s6V319Owp4bD1mdW5jdGlvbihuLFcpe1d8fChXPXt9KTtXW2UxKG4pXT0hMDt2YXIgRD1uLnN0YWNrfHwiIixiPW4uY2F1c2U7YiYmIVdbZTEoYildJiYoRCs9IlxuQ2F1c2VkIGJ5OiAiLGIuc3RhY2smJmIuc3RhY2suaW5kZXhPZihiLnRvU3RyaW5nKCkpPT0wfHwoRCs9dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmIubWVzc2FnZSsiXG4iKSxEKz14bChiLFcpKTtuPW4uZXJyb3JzO2lmKEFycmF5LmlzQXJyYXkobikpe2I9MTtsZXQgdjtmb3Iodj0wO3Y8bi5sZW5ndGgmJiEoYj40KTt2KyspV1tlMShuW3ZdKV18fChEKz0iXG5Jbm5lciBlcnJvciAiK2IrKyArIjogIixuW3ZdLnN0YWNrJiZuW3ZdLnN0YWNrLmluZGV4T2Yoblt2XS50b1N0cmluZygpKT09MHx8KEQrPXR5cGVvZiBuW3ZdPT09InN0cmluZyI/blt2XTpuW3ZdLm1lc3NhZ2UrIlxuIiksRCs9eGwoblt2XSxXKSk7djxuLmxlbmd0aCYmKEQrPSJcbi4uLiAiKyhuLmxlbmd0aC12KSsiIG1vcmUgaW5uZXIgZXJyb3JzIil9cmV0dXJuIER9OwplMT1mdW5jdGlvbihuKXt2YXIgVz0iIjt0eXBlb2Ygbi50b1N0cmluZz09PSJmdW5jdGlvbiImJihXPSIiK24pO3JldHVybiBXK24uc3RhY2t9OwpnLmdUPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wYXJzZUZyb21TdHJpbmcoZy5mYihXKSxEKX07ClhNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBXb3JrZXIoeDMobiksVyl9OwpxaD1mdW5jdGlvbihuKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhuKSl9OwpHNT1mdW5jdGlvbihuKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG4ucmVwbGFjZSgvXCsvZywiICIpKX07CmcudEE9ZnVuY3Rpb24obil7c0NoLnRlc3QobikmJihuLmluZGV4T2YoIiYiKSE9LTEmJihuPW4ucmVwbGFjZShOcmgsIiZhbXA7IikpLG4uaW5kZXhPZigiPCIpIT0tMSYmKG49bi5yZXBsYWNlKHBadywiJmx0OyIpKSxuLmluZGV4T2YoIj4iKSE9LTEmJihuPW4ucmVwbGFjZShZd2ksIiZndDsiKSksbi5pbmRleE9mKCciJykhPS0xJiYobj1uLnJlcGxhY2UoSHRVLCImcXVvdDsiKSksbi5pbmRleE9mKCInIikhPS0xJiYobj1uLnJlcGxhY2UoZjFTLCImIzM5OyIpKSxuLmluZGV4T2YoIlx4MDAiKSE9LTEmJihuPW4ucmVwbGFjZShKaVosIiYjMDsiKSkpO3JldHVybiBufTsKZy5yVD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD8iIjpTdHJpbmcobil9OwpzVD1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKVc9MzEqVytuLmNoYXJDb2RlQXQoRCk+Pj4wO3JldHVybiBXfTsKZy5OaD1mdW5jdGlvbihuKXt2YXIgVz1OdW1iZXIobik7cmV0dXJuIFc9PTAmJmcuRmgobik/TmFOOld9OwpwcD1mdW5jdGlvbihuKXtyZXR1cm4gU3RyaW5nKG4pLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKFcsRCl7cmV0dXJuIEQudG9VcHBlckNhc2UoKX0pfTsKSTFpPWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoUmVnRXhwKCIoXnxbXFxzXSspKFthLXpdKSIsImciKSxmdW5jdGlvbihXLEQsYil7cmV0dXJuIEQrYi50b1VwcGVyQ2FzZSgpfSl9OwpTd2g9ZnVuY3Rpb24obil7dmFyIFc9MTtuPW4uc3BsaXQoIjoiKTtmb3IodmFyIEQ9W107Vz4wJiZuLmxlbmd0aDspRC5wdXNoKG4uc2hpZnQoKSksVy0tO24ubGVuZ3RoJiZELnB1c2gobi5qb2luKCI6IikpO3JldHVybiBEfTsKZy5IND1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD0iIjtuJiYoeCs9bisiOiIpO0QmJih4Kz0iLy8iLFcmJih4Kz1XKyJAIikseCs9RCxiJiYoeCs9IjoiK2IpKTt2JiYoeCs9dik7ayYmKHgrPSI/IitrKTtoJiYoeCs9IiMiK2gpO3JldHVybiB4fTsKZy5mcD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaChBaXIpfTsKSkE9ZnVuY3Rpb24obil7cmV0dXJuIG4/ZGVjb2RlVVJJKG4pOm59OwpnLklQPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzNdfHxudWxsKX07ClMxPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzVdfHxudWxsKX07CkFBPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChuWzFdLG5bMl0sblszXSxuWzRdKX07Cm1XPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChudWxsLG51bGwsbnVsbCxudWxsLG5bNV0sbls2XSxuWzddKX07CktwPWZ1bmN0aW9uKG4pe3ZhciBXPW4uaW5kZXhPZigiIyIpO3JldHVybiBXPDA/bjpuLnNsaWNlKDAsVyl9OwpnLk9UPWZ1bmN0aW9uKG4sVyl7aWYobil7bj1uLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe2xldCBiPW5bRF0uaW5kZXhPZigiPSIpLHYsaz1udWxsO2I+PTA/KHY9bltEXS5zdWJzdHJpbmcoMCxiKSxrPW5bRF0uc3Vic3RyaW5nKGIrMSkpOnY9bltEXTtXKHYsaz9HNShrKToiIil9fX07ClA0PWZ1bmN0aW9uKG4sVyl7aWYoIVcpcmV0dXJuIG47dmFyIEQ9bi5pbmRleE9mKCIjIik7RDwwJiYoRD1uLmxlbmd0aCk7dmFyIGI9bi5pbmRleE9mKCI/Iik7aWYoYjwwfHxiPkQpe2I9RDt2YXIgdj0iIn1lbHNlIHY9bi5zdWJzdHJpbmcoYisxLEQpO249W24uc2xpY2UoMCxiKSx2LG4uc2xpY2UoRCldO0Q9blsxXTtuWzFdPVc/RD9EKyImIitXOlc6RDtyZXR1cm4gblswXSsoblsxXT8iPyIrblsxXToiIikrblsyXX07ClplPWZ1bmN0aW9uKG4sVyxEKXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKVplKG4sU3RyaW5nKFdbYl0pLEQpO2Vsc2UgVyE9bnVsbCYmRC5wdXNoKG4rKFc9PT0iIj8iIjoiPSIrcWgoVykpKX07CnlHPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKVplKEQsbltEXSxXKTtyZXR1cm4gVy5qb2luKCImIil9OwpnLkVUPWZ1bmN0aW9uKG4sVyl7Vz15RyhXKTtyZXR1cm4gUDQobixXKX07CmcudWY9ZnVuY3Rpb24obixXLEQpe0Q9RCE9bnVsbD8iPSIrcWgoRCk6IiI7cmV0dXJuIFA0KG4sVytEKX07CmcuZFQ9ZnVuY3Rpb24obixXLEQsYil7Zm9yKHZhciB2PUQubGVuZ3RoOyhXPW4uaW5kZXhPZihELFcpKT49MCYmVzxiOyl7dmFyIGs9bi5jaGFyQ29kZUF0KFctMSk7aWYoaz09Mzh8fGs9PTYzKWlmKGs9bi5jaGFyQ29kZUF0KFcrdiksIWt8fGs9PTYxfHxrPT0zOHx8az09MzUpcmV0dXJuIFc7Vys9disxfXJldHVybi0xfTsKZy5sZj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VhcmNoKGcuejUpLGI9Zy5kVChuLDAsVyxEKTtpZihiPDApcmV0dXJuIG51bGw7dmFyIHY9bi5pbmRleE9mKCImIixiKTtpZih2PDB8fHY+RCl2PUQ7Yis9Vy5sZW5ndGgrMTtyZXR1cm4gRzUobi5zbGljZShiLHYhPT0tMT92OjApKX07ClQ1PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPW4uc2VhcmNoKGcuejUpLGI9MCx2LGs9W107KHY9Zy5kVChuLGIsVyxEKSk+PTA7KWsucHVzaChuLnN1YnN0cmluZyhiLHYpKSxiPU1hdGgubWluKG4uaW5kZXhPZigiJiIsdikrMXx8RCxEKTtrLnB1c2gobi5zbGljZShiKSk7cmV0dXJuIGsuam9pbigiIikucmVwbGFjZShtaTEsIiQxIil9OwpLUzE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLnVmKFQ1KG4sVyksVyxEKX07CmcuQ3A9ZnVuY3Rpb24obil7biYmdHlwZW9mIG4uZGlzcG9zZT09ImZ1bmN0aW9uIiYmbi5kaXNwb3NlKCl9OwpnLkI0PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wLEQ9YXJndW1lbnRzLmxlbmd0aDtXPEQ7KytXKXtsZXQgYj1hcmd1bWVudHNbV107Zy5ZMihiKT9nLkI0LmFwcGx5KG51bGwsYik6Zy5DcChiKX19OwpnLkZNPWZ1bmN0aW9uKCl7dGhpcy5IRD10aGlzLkhEO3RoaXMuQlY9dGhpcy5CVn07CmcudT1mdW5jdGlvbihuLFcpe24uYWRkT25EaXNwb3NlQ2FsbGJhY2soZy5QWihnLkNwLFcpKX07CmcuTWg9ZnVuY3Rpb24obj0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoVz0+e2lmKHdpbmRvdz09PXdpbmRvdy50b3ApdmFyIEQ9d2luZG93O2Vsc2V7dHJ5e0Q9ISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2godil7RD0hMH1EPUQ/d2luZG93OndpbmRvdy50b3B9dmFyIGI9RFtuXTtiPy5iZXZhc3JzP1cobmV3IHdUKGIuYmV2YXNycykpOihifHwoYj17bnFmYmVsOltdfSxEW25dPWIpLGIubnFmYmVsLnB1c2godj0+e1cobmV3IHdUKHYpKX0pKX0pfTsKUlA9ZnVuY3Rpb24obil7dmFyIFc9e2M6bi53XyxlOm4ueEMsbWM6bi5HcixtZTpuLkVSfTtuLmhHJiYoVy5jbz17YzpuLmhHLmFtLGE6bi5oRy5BQixzOm4uaEcucjN9KTtyZXR1cm4gV307Ck90aT1mdW5jdGlvbihuKXtuLkohPT12b2lkIDAmJihuLlcuZm9yRWFjaChXPT57bi5KPy5yZW1vdmVFdmVudExpc3RlbmVyKFcsbi5YKX0pLG4uSj12b2lkIDApfTsKWnRaPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLk8xLndwYyl0aHJvdyBuZXcgUUcoMzAsIk5XQSIpO2lmKG4uTilyZXR1cm4gbi5OO3ZhciBXPWF3YWl0IG4uTzEud3BjKCk7bi5OPW5ldyBQeFMoVyk7cmV0dXJuIG4uTn07Cm4wPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO1ZHKG4sYzQsNikuZm9yRWFjaChEPT57YVAoRCwyKTw9NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClVpdz1mdW5jdGlvbihuKXt2YXIgVz1bXTtWRyhuLGM0LDYpLmZvckVhY2goRD0+e2FQKEQsMik+NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClcyPWZ1bmN0aW9uKG4pe24udGhlbigoKT0+e30sKCk9Pnt9KX07CkRYPWZ1bmN0aW9uKG4pe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6bn19OwpicD1mdW5jdGlvbihuKXtyZXR1cm57ZmllbGRUeXBlOjMsZmllbGROYW1lOm59fTsKa0s9ZnVuY3Rpb24obil7cmV0dXJuKHYyfHwodjI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKG4pfTsKaDQ9ZnVuY3Rpb24obil7Zy5xaS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgbjt9LDApfTsKeWl0PWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwobixmdW5jdGlvbihXKXtXPVcudG9TdHJpbmcoMTYpO3JldHVybiBXLmxlbmd0aD4xP1c6IjAiK1d9KS5qb2luKCIiKX07CnhLPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCs9MilXLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcoRCxEKzIpLDE2KSk7cmV0dXJuIFd9OwpMMD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT01NTI5NiYmYisxPG4ubGVuZ3RoJiYobi5jaGFyQ29kZUF0KGIrMSkmNjQ1MTIpPT01NjMyMD8odj02NTUzNisoKHYmMTAyMyk8PDEwKSsobi5jaGFyQ29kZUF0KCsrYikmMTAyMyksV1tEKytdPXY+PjE4fDI0MCxXW0QrK109dj4+MTImNjN8MTI4KTpXW0QrK109dj4+MTJ8MjI0LFdbRCsrXT12Pj42JjYzfDEyOCksV1tEKytdPXYmNjN8MTI4KX1yZXR1cm4gV307CmcuWFE9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbiYmKG49bi51c2VyQWdlbnQpP246IiJ9OwokSz1mdW5jdGlvbihuKXtpZighZy5xeCYmIWcuR2h8fCFnLnQ0KXJldHVybiExO2ZvcihsZXQgVz0wO1c8Zy50NC5icmFuZHMubGVuZ3RoO1crKyl7bGV0IHticmFuZDpEfT1nLnQ0LmJyYW5kc1tXXTtpZihEJiZELmluZGV4T2YobikhPS0xKXJldHVybiEwfXJldHVybiExfTsKZy5yVz1mdW5jdGlvbihuKXtyZXR1cm4gZy5YUSgpLmluZGV4T2YobikhPS0xfTsKc0E9ZnVuY3Rpb24oKXtyZXR1cm4gZy5xeHx8Zy5HaD8hIWcudDQmJmcudDQuYnJhbmRzLmxlbmd0aD4wOiExfTsKTng9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8hMTpnLnJXKCJPcGVyYSIpfTsKcDA9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiRmlyZWZveCIpfHxnLnJXKCJGeGlPUyIpfTsKZy5IMj1mdW5jdGlvbigpe3JldHVybiBnLnJXKCJTYWZhcmkiKSYmIShZSygpfHwoc0EoKT8wOmcuclcoIkNvYXN0IikpfHxOeCgpfHwoc0EoKT8wOmcuclcoIkVkZ2UiKSl8fChzQSgpPyRLKCJNaWNyb3NvZnQgRWRnZSIpOmcuclcoIkVkZy8iKSl8fChzQSgpPyRLKCJPcGVyYSIpOmcuclcoIk9QUiIpKXx8cDAoKXx8Zy5yVygiU2lsayIpfHxnLnJXKCJBbmRyb2lkIikpfTsKWUs9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8kSygiQ2hyb21pdW0iKTooZy5yVygiQ2hyb21lIil8fGcuclcoIkNyaU9TIikpJiYhKHNBKCk/MDpnLnJXKCJFZGdlIikpfHxnLnJXKCJTaWxrIil9OwpnLmYwPWZ1bmN0aW9uKCl7cmV0dXJuIGcucXh8fGcuR2g/ISFnLnQ0JiYhIWcudDQucGxhdGZvcm06ITF9Owp2YXIgRTJVPWZ1bmN0aW9uKG4sVyxELGIsdil7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDI1LDE4NjYsbixXLEQsYix2KX07CmcuSTI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mMCgpP2cudDQucGxhdGZvcm09PT0iQW5kcm9pZCI6Zy5yVygiQW5kcm9pZCIpfTsKU3U9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiaVBob25lIikmJiFnLnJXKCJpUG9kIikmJiFnLnJXKCJpUGFkIil9OwpnLkE0PWZ1bmN0aW9uKCl7cmV0dXJuIFN1KCl8fGcuclcoImlQYWQiKXx8Zy5yVygiaVBvZCIpfTsKZy5teD1mdW5jdGlvbigpe3JldHVybiBnLmYwKCk/Zy50NC5wbGF0Zm9ybT09PSJtYWNPUyI6Zy5yVygiTWFjaW50b3NoIil9OwpnLkswPWZ1bmN0aW9uKCl7cmV0dXJuIGcuZjAoKT9nLnQ0LnBsYXRmb3JtPT09IldpbmRvd3MiOmcuclcoIldpbmRvd3MiKX07CmcuT0E9ZnVuY3Rpb24obil7Zy5PQVsiICJdKG4pO3JldHVybiBufTsKdWhoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9aXR4O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxuKT9EW25dOkRbbl09VyhuKX07CmcuWlg9ZnVuY3Rpb24obil7cmV0dXJuIHVoaChuLGZ1bmN0aW9uKCl7cmV0dXJuIGcuY1ooUDIsbik+PTB9KX07CmcuRUE9ZnVuY3Rpb24obixXKXtXPT09dm9pZCAwJiYoVz0wKTtVQSgpO1c9eWxbV107Zm9yKHZhciBEPUFycmF5KE1hdGguZmxvb3Iobi5sZW5ndGgvMykpLGI9V1s2NF18fCIiLHY9MCxrPTA7djxuLmxlbmd0aC0yO3YrPTMpe3ZhciBoPW5bdl0seD1uW3YrMV0sTD1uW3YrMl0sZT1XW2g+PjJdO2g9V1soaCYzKTw8NHx4Pj40XTt4PVdbKHgmMTUpPDwyfEw+PjZdO0w9V1tMJjYzXTtEW2srK109IiIrZStoK3grTH1lPTA7TD1iO3N3aXRjaChuLmxlbmd0aC12KXtjYXNlIDI6ZT1uW3YrMV0sTD1XWyhlJjE1KTw8Ml18fGI7Y2FzZSAxOm49blt2XSxEW2tdPSIiK1dbbj4+Ml0rV1sobiYzKTw8NHxlPj40XStMK2J9cmV0dXJuIEQuam9pbigiIil9Owp2YXIgbzJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlwW0lbMTBdXSh0aGlzLDEsMTcwOCxuLFcpfTsKZy51cD1mdW5jdGlvbihuLFcsRCl7aWYoVyl7bGV0IGI9W10sdj0wO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKXtsZXQgaD1uLmNoYXJDb2RlQXQoayk7aWYoaD4yNTUpe2xldCB4PUVycm9yKCJnby91bmljb2RlLXRvLWJ5dGUtZXJyb3IiKTtpZihEKXRocm93IHg7Ylt2KytdPWgmMjU1O2g+Pj04fWJbdisrXT1ofW49Zy5FQShiLFcpfWVsc2Ugbj1nLnFpLmJ0b2Eobik7cmV0dXJuIG59Owp6aD1mdW5jdGlvbihuKXt2YXIgVz1bXTtvMihuLGZ1bmN0aW9uKEQpe1cucHVzaChEKX0pOwpyZXR1cm4gV307CmxwPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubGVuZ3RoLEQ9VyozLzQ7RCUzP0Q9TWF0aC5mbG9vcihEKToiPS4iLmluZGV4T2YobltXLTFdKSE9LTEmJihEPSI9LiIuaW5kZXhPZihuW1ctMl0pIT0tMT9ELTI6RC0xKTt2YXIgYj1uZXcgVWludDhBcnJheShEKSx2PTA7bzIobixmdW5jdGlvbihrKXtiW3YrK109a30pOwpyZXR1cm4gdiE9PUQ/Yi5zdWJhcnJheSgwLHYpOmJ9OwpvMj1mdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQodil7Zm9yKDtiPG4ubGVuZ3RoOyl7bGV0IGs9bi5jaGFyQXQoYisrKSxoPVRoW2tdO2lmKGghPW51bGwpcmV0dXJuIGg7aWYoIWcuRmgoaykpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrayk7fXJldHVybiB2fQpVQSgpO2Zvcih2YXIgYj0wOzspe2xldCB2PUQoLTEpLGs9RCgwKSxoPUQoNjQpLHg9RCg2NCk7aWYoeD09PTY0JiZ2PT09LTEpYnJlYWs7Vyh2PDwyfGs+PjQpO2ghPTY0JiYoVyhrPDw0JjI0MHxoPj4yKSx4IT02NCYmVyhoPDw2JjE5Mnx4KSl9fTsKVUE9ZnVuY3Rpb24oKXtpZighVGgpe1RoPXt9O3ZhciBuPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLFc9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBEPTA7RDw1O0QrKyl7bGV0IGI9bi5jb25jYXQoV1tEXS5zcGxpdCgiIikpO3lsW0RdPWI7Zm9yKGxldCB2PTA7djxiLmxlbmd0aDt2Kyspe2xldCBrPWJbdl07VGhba109PT12b2lkIDAmJihUaFtrXT12KX19fX07CnpNMj1mdW5jdGlvbihuKXtyZXR1cm4gZGlVW25dfHwiIn07CkMwPWZ1bmN0aW9uKG4pe249anUudGVzdChuKT9uLnJlcGxhY2UoanUsek0yKTpuO249YXRvYihuKTt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpNeD1mdW5jdGlvbigpe3JldHVybiBCMnx8KEIyPW5ldyBGUShudWxsLHdXKSl9OwpRbD1mdW5jdGlvbihuKXtSMih3Vyk7dmFyIFc9bi5OO1c9Vz09bnVsbHx8VyE9bnVsbCYmVyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Vzp0eXBlb2YgVz09PSJzdHJpbmciP0MwKFcpOm51bGw7cmV0dXJuIFc9PW51bGw/VzpuLk49V307ClZsPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVWludDhBcnJheShRbChuKXx8MCl9OwpSMj1mdW5jdGlvbihuKXtpZihuIT09d1cpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKYzI9ZnVuY3Rpb24obil7bj1FcnJvcihuKTtoQShuLCJ3YXJuaW5nIik7cmV0dXJuIG59OwpuNT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpe3ZhciBEPWEyPz8oYTI9e30pO3ZhciBiPURbbl18fDA7Yj49V3x8KERbbl09YisxLG49RXJyb3IoKSxoQShuLCJpbmNpZGVudCIpLGg0KG4pKX19OwpXOT1mdW5jdGlvbihuLFc9ITEpe3JldHVybiBXJiZTeW1ib2wuZm9yJiZuP1N5bWJvbC5mb3Iobik6biE9bnVsbD9TeW1ib2wobik6U3ltYm9sKCl9Owp2OT1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwP24uTiE9PURCJiYhISgyJihuLmw5W2I0XXwwKSk6ISEoMiZXKSYmbi5OIT09REJ9OwprVT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpaWYodHlwZW9mIG49PT0ic3RyaW5nIiluPW4/bmV3IEZRKG4sd1cpOk14KCk7ZWxzZSBpZihuLmNvbnN0cnVjdG9yIT09RlEpaWYobiE9bnVsbCYmbiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbj1uLmxlbmd0aD9uZXcgRlEobmV3IFVpbnQ4QXJyYXkobiksd1cpOk14KCk7ZWxzZXtpZighVyl0aHJvdyBFcnJvcigpO249dm9pZCAwfXJldHVybiBufTsKaF89ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcmMTI4PzA6LTEsdj1uLmxlbmd0aCxrO2lmKGs9ISF2KWs9blt2LTFdLGs9ayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgaD12KyhrPy0xOjApO2ZvcihXPVcmMTI4PzE6MDtXPGg7VysrKUQoVy1iLG5bV10pO2lmKGspe249blt2LTFdO2ZvcihsZXQgeCBpbiBuKSFpc05hTih4KSYmRCgreCxuW3hdKX19OwpMNT1mdW5jdGlvbihuKXtyZXR1cm4gbiYxMjg/eFU6dm9pZCAwfTsKWEQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVdebjtpZihuLTY+PjM9PTIpeyhEW2JeNTE4XT49LShiXjU1MSl8fCgoMCxEW2JeNTE1XSkoRFtiXjUyMV0sRFtiXjYwOV0pLDApKSYmKDAsRFtiXjU2M10pKERbYl42MDldKTsoMCxEWzZdKSgpOygoMCxEW2JeNTMzXSkoRFtiXjU3NF0sRFtiXjU3Ml0pLERbYl41MzNdKShEW2JeNTM4XSxEW2JeNTcyXSk7dmFyIHY9W119aWYoKG4mMTIwKT09bil0aHJvdyBEO2lmKG4tNzw8MjxuJiYobi00fDMxKT49bil7Zm9yKHZhciBrPWJeMzE1NCxoPVtdOysray1oW0lbNV1dLShiXjMxMjIpOylzd2l0Y2goayl7Y2FzZSBiXjMxMzI6az1iXjMxNDk7ZGVmYXVsdDpoW0lbYl4zMDc2XV0oU3RyaW5nW0lbYl4zMTA0XV0oaykpO2Nhc2UgYl4zMTQ4OmNhc2UgYl4zMTQ5OmNhc2UgYl4zMTg2OmJyZWFrO2Nhc2UgYl4zMTc3OmstPWJeMzE2NjtjYXNlIGJeMzE1MDpjYXNlIGJeMzE1MTpjb250aW51ZTtjYXNlIGJeMzExMjprPWJeMzEzNDtjYXNlIGJeMzE0NTp9dj0KaH0obnw1Nik9PW4mJihlWChiXjQ1MDksYl4zNTE4LEQpLChrPURbSVsxXV1bSVtiXjQ0OTRdXXx8bnVsbCkmJihrPWdaKDIsYl4yMjE3LGssRCkpLHY9W10pO3JldHVybiB2fTsKcTM9ZnVuY3Rpb24obil7bi5URj0hMDtyZXR1cm4gbn07CmcuJFU9ZnVuY3Rpb24obil7aWYoKDAsZy5HOSkobikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChuKSl0aHJvdyBFcnJvcihTdHJpbmcobikpO31lbHNlIGlmKCgwLGcudF8pKG4pJiYhTnVtYmVyLmlzU2FmZUludGVnZXIobikpdGhyb3cgRXJyb3IoU3RyaW5nKG4pKTtyZXR1cm4gQmlnSW50KG4pfTsKTjM9ZnVuY3Rpb24obil7dmFyIFc9bj4+PjA7clo9VztzXz0obi1XKS80Mjk0OTY3Mjk2Pj4+MH07CnA1PWZ1bmN0aW9uKG4pe2lmKG48MCl7TjMoMC1uKTtuPXJaO3ZhciBXPXNfO1c9flc7bj9uPX5uKzE6Vys9MTtsZXQgW0QsYl09W24sV107clo9RD4+PjA7c189Yj4+PjB9ZWxzZSBOMyhuKX07Ckg5PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vyo0Mjk0OTY3Mjk2KyhuPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKEQpP0Q6WVUobixXKX07CmY1PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuJFUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChXPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChuPj4+MCkpKX07CmcuSl89ZnVuY3Rpb24obixXKXtyZXR1cm4gZy4kVShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoVykpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQobikpKSl9OwpZVT1mdW5jdGlvbihuLFcpe1c+Pj49MDtuPj4+PTA7dmFyIEQ7Vzw9MjA5NzE1MT9EPSIiKyg0Mjk0OTY3Mjk2Klcrbik6RD0iIisoQmlnSW50KFcpPDxCaWdJbnQoMzIpfEJpZ0ludChuKSk7cmV0dXJuIER9OwpJMD1mdW5jdGlvbigpe3ZhciBuPXJaLFc9c18sRDtXJjIxNDc0ODM2NDg/RD0iIisoQmlnSW50KFd8MCk8PEJpZ0ludCgzMil8QmlnSW50KG4+Pj4wKSk6RD1ZVShuLFcpO3JldHVybiBEfTsKU1g9ZnVuY3Rpb24obil7bi5sZW5ndGg8MTY/cDUoTnVtYmVyKG4pKToobj1CaWdJbnQobiksclo9TnVtYmVyKG4mQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsc189TnVtYmVyKG4+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9OwpnLkFfPWZ1bmN0aW9uKG4pe2lmKG4hPW51bGwmJnR5cGVvZiBuIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBufTogJHtufWApO3JldHVybiBufTsKbTA9ZnVuY3Rpb24obil7aWYobj09bnVsbHx8dHlwZW9mIG49PT0ibnVtYmVyIilyZXR1cm4gbjtpZihuPT09Ik5hTiJ8fG49PT0iSW5maW5pdHkifHxuPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihuKX07Cks1PWZ1bmN0aW9uKG4pe3JldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9OwpPXz1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJib29sZWFuIil0aHJvdyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiBidXQgZ290ICR7cHQobil9OiAke259YCk7cmV0dXJuIG59OwpaQj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gUDkobik7Y2FzZSAic3RyaW5nIjpyZXR1cm4gbDEyLnRlc3Qobik7ZGVmYXVsdDpyZXR1cm4hMX19OwpVXz1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJudW1iZXIiKXRocm93IGMyKCJpbnQzMiIpO2lmKCFQOShuKSl0aHJvdyBjMigiaW50MzIiKTtyZXR1cm4gbnwwfTsKZy55UD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD9uOlVfKG4pfTsKRV89ZnVuY3Rpb24obil7aWYobj09bnVsbClyZXR1cm4gbjtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiZuKW49K247ZWxzZSBpZih0eXBlb2YgbiE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gUDkobik/bnwwOnZvaWQgMH07CnU0PWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmbiluPStuO2Vsc2UgaWYodHlwZW9mIG4hPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIFA5KG4pP24+Pj4wOnZvaWQgMH07CmcubDQ9ZnVuY3Rpb24obil7aWYobiE9bnVsbClhOntpZighWkIobikpdGhyb3cgYzIoImludDY0Iik7c3dpdGNoKHR5cGVvZiBuKXtjYXNlICJzdHJpbmciOm49bzAobik7YnJlYWsgYTtjYXNlICJiaWdpbnQiOm49Zy4kVShkWig2NCxuKSk7YnJlYWsgYTtkZWZhdWx0Om49ejkobil9fXJldHVybiBufTsKQzU9ZnVuY3Rpb24obil7WkIobik7bj1UOShuKTtpZighalgobikpe3A1KG4pO3ZhciBXPXJaLEQ9c187aWYobj1EJjIxNDc0ODM2NDgpVz1+VysxPj4+MCxEPX5EPj4+MCxXPT0wJiYoRD1EKzE+Pj4wKTtXPUg5KFcsRCk7bj10eXBlb2YgVz09PSJudW1iZXIiP24/LVc6VzpuPyItIitXOld9cmV0dXJuIG59OwpCOT1mdW5jdGlvbihuKXtaQihuKTt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBTdHJpbmcoVyk7Vz1uLmluZGV4T2YoIi4iKTtXIT09LTEmJihuPW4uc3Vic3RyaW5nKDAsVykpO1c9bi5sZW5ndGg7KG5bMF09PT0iLSI/VzwyMHx8Vz09PTIwJiZuPD0iLTkyMjMzNzIwMzY4NTQ3NzU4MDgiOlc8MTl8fFc9PT0xOSYmbjw9IjkyMjMzNzIwMzY4NTQ3NzU4MDciKXx8KFNYKG4pLG49STAoKSk7cmV0dXJuIG59OwpvMD1mdW5jdGlvbihuKXt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBnLiRVKFcpO1c9bi5pbmRleE9mKCIuIik7VyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKTtyZXR1cm4gZy4kVShkWig2NCxCaWdJbnQobikpKX07Cno5PWZ1bmN0aW9uKG4pe2pYKG4pP249Zy4kVShDNShuKSk6KFpCKG4pLG49VDkobiksalgobik/bj1TdHJpbmcobik6KHA1KG4pLG49STAoKSksbj1nLiRVKG4pKTtyZXR1cm4gbn07CkZEPWZ1bmN0aW9uKG4pe3ZhciBXPXR5cGVvZiBuO2lmKG49PW51bGwpcmV0dXJuIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBnLiRVKGRaKDY0LG4pKTtpZihaQihuKSlyZXR1cm4gVz09PSJzdHJpbmciP28wKG4pOno5KG4pfTsKakNoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgeCBvZiBEKXtpZigheC51cmwpY29udGludWU7RD1uZXcgZy53Wih4LnVybCwhMCk7aWYoeC5zKXt2YXIgaz1ELGg9eC5zcDtsZXQgTD1lWCg4Myw2NTU4LE0zKDE3LDQyNjMseC5zKSk7a1tJWzM0XV0oaCxSMCgyOSw4NzMyLEwpKX1mb3IobGV0IEwgb2YgT2JqZWN0LmtleXMoYikpRC5zZXQoTCxiW0xdKTtrPVFQKHgudHlwZSx4LnF1YWxpdHkseC5pdGFnLHgud2lkdGgseC5oZWlnaHQpO3YucHVzaChuZXcgVHJ3KGssRCkpfXJldHVybiBWUChuLlcsdixjOShuLFcpLCExKX07CkN4TT1mdW5jdGlvbihuKXtpZihuPT1udWxsKXJldHVybiBuO3ZhciBXPXR5cGVvZiBuO2lmKFc9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKGRaKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBCOShuKTtpZihXPT09Im51bWJlciIpcmV0dXJuIEM1KG4pfX07CmEwPWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47dmFyIFc9dHlwZW9mIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoQnJoKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBaQihuKSxXPVQ5KE51bWJlcihuKSksalgoVykmJlc+PTA/bj1TdHJpbmcoVyk6KFc9bi5pbmRleE9mKCIuIiksVyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKSxuWzBdPT09Ii0iP1c9ITE6KFc9bi5sZW5ndGgsVz1XPDIwPyEwOlc9PT0yMCYmbjw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1IiksV3x8KFNYKG4pLG49WVUoclosc18pKSksbjtpZihXPT09Im51bWJlciIpcmV0dXJuIFpCKG4pLG49VDkobiksbj49MCYmalgobil8fChwNShuKSxuPUg5KHJaLHNfKSksbn19OwpuRz1mdW5jdGlvbihuKXtpZihuPT1udWxsfHx0eXBlb2Ygbj09InN0cmluZyJ8fG4gaW5zdGFuY2VvZiBGUSlyZXR1cm4gbn07CkZTMj1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpXSD1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpnLkRSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT1udWxsfHx0eXBlb2Ygbj09PSJzdHJpbmciP246dm9pZCAwfTsKYlc9ZnVuY3Rpb24obixXKXtpZighKG4gaW5zdGFuY2VvZiBXKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke0s1KFcpfSBidXQgZ290ICR7biYmSzUobi5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIG59Owpodj1mdW5jdGlvbihuLFcsRCl7aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgYj1uW2I0XXwwO0Q9YnxEJjMyfEQmMjtEIT09YiYmKG5bYjRdPUQpO3JldHVybiBuZXcgVyhuKX19Owp4dj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CmVXPWZ1bmN0aW9uKG4pe3ZhciBXPUV3KExHKTtyZXR1cm4gVz9uW1ddOnZvaWQgMH07CmdnPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4pIWlzTmFOKEQpJiZXKG4sK0QsbltEXSl9Owp3WkM9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFhGO2dnKG4sKEQsYix2KT0+e1dbYl09Wy4uLnZdfSk7Clcuajc9bi5qNztyZXR1cm4gV307Ckd6PWZ1bmN0aW9uKG4sVyl7aWYoRXcocUUpJiZFdyhMRykmJnZvaWQgMD09PXFFKXtuPW4ubDk7dmFyIEQ9bltMR107aWYoRCYmKEQ9RC5qNykpdHJ5e0QobixXLE1VaSl9Y2F0Y2goYil7aDQoYil9fX07CnR2PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RXcoTEcpO0QmJm5bRF0/LltXXSE9bnVsbCYmbjUoUk1iLDMpfTsKVlVTPWZ1bmN0aW9uKG4sVyl7VzwxMDB8fG41KFFDaSwxKX07CnJnPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWIhPT12b2lkIDA7Yj0hIWI7dmFyIGs9RXcoTEcpLGg7IXYmJmsmJihoPW5ba10pJiZnZyhoLFZVUyk7az1bXTt2YXIgeD1uLmxlbmd0aDtoPTQyOTQ5NjcyOTU7dmFyIEw9ITEsZT0hIShXJjY0KSxHPWU/VyYxMjg/MDotMTp2b2lkIDA7aWYoIShXJjEpKXt2YXIgcj14JiZuW3gtMV07ciE9bnVsbCYmdHlwZW9mIHI9PT0ib2JqZWN0IiYmci5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oeC0tLGg9eCk6cj12b2lkIDA7IWV8fFcmMTI4fHx2fHwoTD0hMCxoPSgkdj8/eHYpKGgtRyxHLG4scix2b2lkIDApK0cpfVc9dm9pZCAwO2Zvcih2YXIgTj0wO048eDtOKyspe2xldCBIPW5bTl07aWYoSCE9bnVsbCYmKEg9RChILGIpKSE9bnVsbClpZihlJiZOPj1oKXtsZXQgQT1OLUc7KFc/PyhXPXt9KSlbQV09SH1lbHNlIGtbTl09SH1pZihyKWZvcihsZXQgSCBpbiByKXt4PXJbSF07aWYoeD09bnVsbHx8KHg9RCh4LGIpKT09bnVsbCljb250aW51ZTtOPQorSDtsZXQgQTtlJiYhTnVtYmVyLmlzTmFOKE4pJiYoQT1OK0cpPGg/a1tBXT14OihXPz8oVz17fSkpW0hdPXh9VyYmKEw/ay5wdXNoKFcpOmtbaF09Vyk7diYmRXcoTEcpJiYobj1lVyhuKSkmJm4gaW5zdGFuY2VvZiBYRiYmKGtbTEddPXdaQyhuKSk7cmV0dXJuIGt9OwpORT1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuKT9uOiIiK247Y2FzZSAiYmlnaW50IjpyZXR1cm4gc0sobik/TnVtYmVyKG4pOiIiK247Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIG4/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIFc9bltiNF18MDtyZXR1cm4gbi5sZW5ndGg9PT0wJiZXJjE/dm9pZCAwOnJnKG4sVyxORSl9aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gcEcobik7aWYobiBpbnN0YW5jZW9mIEZRKXtXPW4uTjtpZihXPT1udWxsKW49IiI7ZWxzZSBpZih0eXBlb2YgVz09PSJzdHJpbmciKW49VztlbHNle2xldCBEPSIiLGI9MCx2PVcubGVuZ3RoLTEwMjQwO2Zvcig7Yjx2OylEKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsVy5zdWJhcnJheShiLGIrPTEwMjQwKSk7RCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGI/Vy5zdWJhcnJheShiKToKVyk7Vz1idG9hKEQpO249bi5OPVd9cmV0dXJuIG59cmV0dXJufXJldHVybiBufTsKWXY9ZnVuY3Rpb24obixXKXtpZihXKXskdj1XPT1udWxsfHxXPT09eHZ8fFdbY2lVXSE9PWExVT94djpXO3RyeXtyZXR1cm4gcEcobil9ZmluYWxseXskdj12b2lkIDB9fXJldHVybiBwRyhuKX07CnBHPWZ1bmN0aW9uKG4pe249bi5sOTtyZXR1cm4gcmcobixuW2I0XXwwLE5FKX07Cm4zMj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJvb2xlYW4iOnJldHVybiBISHx8KEhIPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIG4+MD92b2lkIDA6bj09PTA/Zkd8fChmRz1bMCx2b2lkIDBdKTpbLW4sdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLG5dO2Nhc2UgIm9iamVjdCI6cmV0dXJuIG59fTsKU1c9ZnVuY3Rpb24obixXKXtyZXR1cm4gSnYobixXWzBdLFdbMV0pfTsKSnY9ZnVuY3Rpb24obixXLEQsYj0wKXtpZihuPT1udWxsKXt2YXIgdj0zMjtEPyhuPVtEXSx2fD0xMjgpOm49W107VyYmKHY9diYtMTY3NjA4MzN8KFcmMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IEVycm9yKCJuYXJyIik7dj1uW2I0XXwwO2lmKEF2JiYxJnYpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZ2JiYhKDImdikmJldjcigpO2lmKHYmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYodiY2NClyZXR1cm4odnxiKSE9PXYmJihuW2I0XT12fGIpLG47aWYoRCYmKHZ8PTEyOCxEIT09blswXSkpdGhyb3cgRXJyb3IoIm1pZCIpO2E6e0Q9bjt2fD02NDt2YXIgaz1ELmxlbmd0aDtpZihrKXt2YXIgaD1rLTE7bGV0IEw9RFtoXTtpZihMIT1udWxsJiZ0eXBlb2YgTD09PSJvYmplY3QiJiZMLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtXPXYmMTI4PzA6LTE7aC09VztpZihoPj0xMDI0KXRocm93IEVycm9yKCJwdnRsbXQiKTtmb3IodmFyIHggaW4gTClpZihrPQoreCxrPGgpRFtrK1ddPUxbeF0sZGVsZXRlIExbeF07ZWxzZSBicmVhazt2PXYmLTE2NzYwODMzfChoJjEwMjMpPDwxNDticmVhayBhfX1pZihXKXt4PU1hdGgubWF4KFcsay0odiYxMjg/MDotMSkpO2lmKHg+MTAyNCl0aHJvdyBFcnJvcigic3B2dCIpO3Y9diYtMTY3NjA4MzN8KHgmMTAyMyk8PDE0fX19bltiNF09dnw2NHxiO3JldHVybiBufTsKV2NyPWZ1bmN0aW9uKCl7aWYoQXYpdGhyb3cgRXJyb3IoImNhcnIiKTtuNShEVWksNSl9OwpiYlo9ZnVuY3Rpb24obixXKXtpZih0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBEPW5bYjRdfDA7bi5sZW5ndGg9PT0wJiZEJjE/bj12b2lkIDA6RCYyfHwoIVd8fDQwOTYmRHx8MTYmRD9uPW1fKG4sRCwhMSxXJiYhKEQmMTYpKToobltiNF18PTM0LEQmNCYmT2JqZWN0LmZyZWV6ZShuKSkpO3JldHVybiBufWlmKG4hPW51bGwmJm5bdkhdPT09a3YpcmV0dXJuIFc9bi5sOSxEPVdbYjRdfDAsdjkobixEKT9uOktHKG4sVyxEKT9PSyhuLFcpOm1fKFcsRCk7aWYobiBpbnN0YW5jZW9mIEZRKXJldHVybiBufTsKT0s9ZnVuY3Rpb24obixXLEQpe249bmV3IG4uY29uc3RydWN0b3IoVyk7RCYmKG4uTj1EQik7bi5YPURCO3JldHVybiBufTsKbV89ZnVuY3Rpb24obixXLEQsYil7Yj8/KGI9ISEoMzQmVykpO249cmcobixXLGJiWixiKTtiPTMyO0QmJihifD0yKTtXPVcmMTY3NjkyMTd8YjtuW2I0XT1XO3JldHVybiBufTsKUEg9ZnVuY3Rpb24obil7dmFyIFc9bi5sOSxEPVdbYjRdfDA7cmV0dXJuIHY5KG4sRCk/S0cobixXLEQpP09LKG4sVywhMCk6bmV3IG4uY29uc3RydWN0b3IobV8oVyxELCExKSk6bn07ClpSPWZ1bmN0aW9uKG4pe2lmKG4uTiE9PURCKXJldHVybiExO3ZhciBXPW4ubDk7Vz1tXyhXLFdbYjRdfDApO1dbYjRdfD0yMDQ4O24ubDk9VztuLk49dm9pZCAwO24uWD12b2lkIDA7cmV0dXJuITB9OwpVSz1mdW5jdGlvbihuKXtpZighWlIobikmJnY5KG4sbi5sOVtiNF18MCkpdGhyb3cgRXJyb3IoKTt9Owp5Zz1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDAmJihXPW5bYjRdfDApO1cmMzImJiEoVyY0MDk2KSYmKG5bYjRdPVd8NDA5Nil9OwpLRz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQmMj8hMDpEJjMyJiYhKEQmNDA5Nik/KFdbYjRdPUR8MixuLk49REIsITApOiExfTsKaVc9ZnVuY3Rpb24obixXLEQsYix2KXtPYmplY3QuaXNFeHRlbnNpYmxlKG4pO1c9RUsobi5sOSxXLEQsdik7aWYoVyE9PW51bGx8fGImJm4uWCE9PURCKXJldHVybiBXfTsKRUs9ZnVuY3Rpb24obixXLEQsYil7aWYoVz09PS0xKXJldHVybiBudWxsO3ZhciB2PVcrKEQ/MDotMSksaz1uLmxlbmd0aC0xO2lmKCEoazwxKyhEPzA6LTEpKSl7aWYodj49ayl7dmFyIGg9bltrXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtEPWhbV107dmFyIHg9ITB9ZWxzZSBpZih2PT09aylEPWg7ZWxzZSByZXR1cm59ZWxzZSBEPW5bdl07aWYoYiYmRCE9bnVsbCl7Yj1iKEQpO2lmKGI9PW51bGwpcmV0dXJuIGI7aWYoIU9iamVjdC5pcyhiLEQpKXJldHVybiB4P2hbV109YjpuW3ZdPWIsYn1yZXR1cm4gRH19Owpvej1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5O3VXKHYsdltiNF18MCxXLEQsYik7cmV0dXJuIG59Owp1Vz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPUQrKHY/MDotMSksaD1uLmxlbmd0aC0xO2lmKGg+PTErKHY/MDotMSkmJms+PWgpe2xldCB4PW5baF07aWYoeCE9bnVsbCYmdHlwZW9mIHg9PT0ib2JqZWN0IiYmeC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4geFtEXT1iLFd9aWYoazw9aClyZXR1cm4gbltrXT1iLFc7YiE9PXZvaWQgMCYmKGg9KFc/PyhXPW5bYjRdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLEQ+PWg/YiE9bnVsbCYmKG5baCsodj8wOi0xKV09e1tEXTpifSk6bltrXT1iKTtyZXR1cm4gV307CmcuQkg9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLmw5LGg9a1tiNF18MDtiPXY5KG4saCk/MTpiO3Y9ISF2fHxiPT09MztiPT09MiYmWlIobikmJihrPW4ubDksaD1rW2I0XXwwKTtuPWRnKGssVyk7dmFyIHg9bj09PXp6Pzc6bltiNF18MCxMPWxXKHgsaCk7dmFyIGU9NCZMPyExOiEwO2lmKGUpezQmTCYmKG49Wy4uLm5dLHg9MCxMPWpXKEwsaCksaD11VyhrLGgsVyxuKSk7bGV0IEc9MCxyPTA7Zm9yKDtHPG4ubGVuZ3RoO0crKyl7bGV0IE49RChuW0ddKTtOIT1udWxsJiYobltyKytdPU4pfXI8RyYmKG4ubGVuZ3RoPXIpO0Q9KEx8NCkmLTUxMztMPUQmPS0xMDI1O0wmPS00MDk3fUwhPT14JiYobltiNF09TCwyJkwmJk9iamVjdC5mcmVlemUobikpO3JldHVybiBuPUNHKG4sTCxrLGgsVyx2b2lkIDAsYixlLHYpfTsKQ0c9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPVc7aD09PTF8fChoIT09ND8wOjImV3x8ISgxNiZXKSYmMzImYik/RkYoVyl8fChXfD0hbi5sZW5ndGh8fHgmJiEoNDA5NiZXKXx8MzImYiYmISg0MDk2Jld8fDE2JlcpPzI6MjU2LFchPT1lJiYobltiNF09VyksT2JqZWN0LmZyZWV6ZShuKSk6KGg9PT0yJiZGRihXKSYmKG49Wy4uLm5dLGU9MCxXPWpXKFcsYiksYj11VyhELGIsdixuLGspKSxGRihXKXx8KEx8fChXfD0xNiksVyE9PWUmJihuW2I0XT1XKSkpOzImV3x8ISg0MDk2Jld8fDE2JlcpfHx5ZyhELGIpO3JldHVybiBufTsKZGc9ZnVuY3Rpb24obixXLEQpe249RUsobixXLEQpO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246enp9OwpsVz1mdW5jdGlvbihuLFcpezImVyYmKG58PTIpO3JldHVybiBufDF9OwpGRj1mdW5jdGlvbihuKXtyZXR1cm4hISgyJm4pJiYhISg0Jm4pfHwhISgyNTYmbil9OwpNRT1mdW5jdGlvbihuKXtyZXR1cm4ga1UobiwhMCl9OwpSej1mdW5jdGlvbihuLFcpe249aVcobixXLHZvaWQgMCx2b2lkIDAsTUUpO3JldHVybiBuPT1udWxsP014KCk6bn07ClFnPWZ1bmN0aW9uKG4sVyxEKXtVSyhuKTt2YXIgYj1uLmw5LHY9YltiNF18MDtpZihXPT1udWxsKXJldHVybiB1VyhiLHYsMyksbjtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBjMigpO3ZhciBrPVc9PT16ej83OldbYjRdfDAsaD1rLHg9RkYoayksTD14fHxPYmplY3QuaXNGcm96ZW4oVyk7eHx8KGs9MCk7THx8KFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSk7a3w9NTt4PSg0Jms/NTEyJms/NTEyOjEwMjQmaz8xMDI0OjA6dm9pZCAwKT8/MTAyNDtrfD14O2ZvcihsZXQgZT0wO2U8Vy5sZW5ndGg7ZSsrKXtsZXQgRz1XW2VdLHI9RChHLHgpO09iamVjdC5pcyhHLHIpfHwoTCYmKFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSksV1tlXT1yKX1rIT09aCYmKEwmJihXPVsuLi5XXSxrPWpXKGssdikpLFdbYjRdPWspO3VXKGIsdiwzLFcpO3JldHVybiBufTsKZy5WZz1mdW5jdGlvbihuLFcsRCxiLHYpe1VLKG4pO3ZhciBrPW4ubDk7dVcoayxrW2I0XXwwLFcsKGI9PT0iMCI/TnVtYmVyKEQpPT09MDpEPT09Yik/dm9pZCAwOkQsdik7cmV0dXJuIG59OwpjSD1mdW5jdGlvbihuLFcsRCl7aWYoVyYyKXRocm93IEVycm9yKCk7dmFyIGI9TDUoVyksdj1kZyhuLEQsYiksaz12PT09eno/Nzp2W2I0XXwwLGg9bFcoayxXKTtpZigyJmh8fEZGKGgpfHwxNiZoKWg9PT1rfHxGRihoKXx8KHZbYjRdPWgpLHY9Wy4uLnZdLGs9MCxoPWpXKGgsVyksdVcobixXLEQsdixiKTtoJj0tMTM7aCE9PWsmJih2W2I0XT1oKTtyZXR1cm4gdn07CkQyPWZ1bmN0aW9uKG4sVyxELGIpe1VLKG4pO3ZhciB2PW4ubDksaz12W2I0XXwwO2lmKGI9PW51bGwpe2xldCBoPWF6KHYpO2lmKG5uKGgsdixrLEQpPT09VyloLnNldChELDApO2Vsc2UgcmV0dXJuIG59ZWxzZSBrPVdXKHYsayxELFcpO3VXKHYsayxXLGIpO3JldHVybiBufTsKYmE9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bltiNF18MCxrPUw1KHYpO3Y9V1cobix2LEQsVyxrKTt1VyhuLHYsVyxiLGspfTsKdlc9ZnVuY3Rpb24obixXLEQpe249bi5sOTtyZXR1cm4gbm4oYXoobiksbix2b2lkIDAsVyk9PT1EP0Q6LTF9Owphej1mdW5jdGlvbihuKXtyZXR1cm4gbltrOV0/PyhuW2s5XT1uZXcgTWFwKX07CldXPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj09PTB8fEQuaW5jbHVkZXMoYik7dmFyIGs9YXoobiksaD1ubihrLG4sVyxELHYpO2ghPT1iJiYoaCYmKFc9dVcobixXLGgsdm9pZCAwLHYpKSxrLnNldChELGIpKTtyZXR1cm4gV307Cm5uPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5nZXQoYik7aWYoayE9bnVsbClyZXR1cm4gaztrPTA7Zm9yKGxldCBoPTA7aDxiLmxlbmd0aDtoKyspe2xldCB4PWJbaF07RUsoVyx4LHYpIT1udWxsJiYoayE9PTAmJihEPXVXKFcsRCxrLHZvaWQgMCx2KSksaz14KX1uLnNldChiLGspO3JldHVybiBrfTsKaFM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5bYjRdfDAsdj1MNShiKSxrPUVLKG4sRCx2KTtpZihrIT1udWxsJiZrW3ZIXT09PWt2KXtpZighdjkoaykpcmV0dXJuIFpSKGspLGsubDk7dmFyIGg9ay5sOX1lbHNlIEFycmF5LmlzQXJyYXkoaykmJihoPWspO2lmKGgpe2xldCB4PWhbYjRdfDA7eCYyJiYoaD1tXyhoLHgpKX1oPVNXKGgsVyk7aCE9PWsmJnVXKG4sYixELGgsdik7cmV0dXJuIGh9Owp4OT1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSExO2I9RUsobixiLHYsaD0+e3ZhciB4PWh2KGgsRCxXKTtrPXghPT1oJiZ4IT1udWxsO3JldHVybiB4fSk7CmlmKGIhPW51bGwpcmV0dXJuIGsmJiF2OShiKSYmeWcobixXKSxifTsKZUU9ZnVuY3Rpb24obixXLEQsYil7bj1uLmw5OyhEPXg5KG4sbltiNF18MCxXLEQsYikpfHwoRD1XW0xuXSl8fChiPW5ldyBXLEQ9Yi5sOSxEW2I0XXw9MzQsRD1XW0xuXT1iKTtyZXR1cm4gRH07CmdlPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4ubDksaz12W2I0XXwwO1c9eDkodixrLFcsRCxiKTtpZihXPT1udWxsKXJldHVybiBXO2s9dltiNF18MDtpZighdjkobixrKSl7bGV0IGg9UEgoVyk7aCE9PVcmJihaUihuKSYmKHY9bi5sOSxrPXZbYjRdfDApLFc9aCxrPXVXKHYsayxELFcsYikseWcodixrKSl9cmV0dXJuIFd9OwpxSD1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLmw5O3JldHVybiBYXyhuLHYsdltiNF18MCxXLEQsMSxiKX07ClhfPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCxMKXt2YXIgZT12OShuLEQpO2s9ZT8xOms7eD0hIXh8fGs9PT0zO2U9TCYmIWU7KGs9PT0yfHxlKSYmWlIobikmJihXPW4ubDksRD1XW2I0XXwwKTtuPWRnKFcsdixoKTt2YXIgRz1uPT09eno/NzpuW2I0XXwwLHI9bFcoRyxEKTtpZihMPSEoNCZyKSl7dmFyIE49bixIPUQ7bGV0IEE9ISEoMiZyKTtBJiYoSHw9Mik7bGV0IHk9IUEsVD0hMCx6PTAsQz0wO2Zvcig7ejxOLmxlbmd0aDt6Kyspe2xldCBRPWh2KE5bel0sYixIKTtpZihRIGluc3RhbmNlb2YgYil7aWYoIUEpe2xldCBWPXY5KFEpO3kmJih5PSFWKTtUJiYoVD1WKX1OW0MrK109UX19Qzx6JiYoTi5sZW5ndGg9Qyk7cnw9NDtyPVQ/ciYtNDA5NzpyfDQwOTY7cj15P3J8ODpyJi05fXIhPT1HJiYobltiNF09ciwyJnImJk9iamVjdC5mcmVlemUobikpO2lmKGUmJiEoOCZyfHwhbi5sZW5ndGgmJihrPT09MXx8KGshPT00PzA6MiZyfHwhKDE2JnIpJiYzMiZEKSkpKXtGRihyKSYmKG49ClsuLi5uXSxyPWpXKHIsRCksRD11VyhXLEQsdixuLGgpKTtiPW47ZT1yO2ZvcihHPTA7RzxiLmxlbmd0aDtHKyspTj1iW0ddLHI9UEgoTiksTiE9PXImJihiW0ddPXIpO2V8PTg7cj1lPWIubGVuZ3RoP2V8NDA5NjplJi00MDk3O25bYjRdPXJ9cmV0dXJuIG49Q0cobixyLFcsRCx2LGgsayxMLHgpfTsKVkc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubDk7cmV0dXJuIFhfKG4sYixiW2I0XXwwLFcsRCx2b2lkIDA9PT1HJD8yOjQsdm9pZCAwLCExLCEwKX07CnRTPWZ1bmN0aW9uKG4sVyl7biE9bnVsbD9iVyhuLFcpOm49dm9pZCAwO3JldHVybiBufTsKJDk9ZnVuY3Rpb24obixXLEQsYix2KXtiPXRTKGIsVyk7b3oobixELGIsdik7YiYmIXY5KGIpJiZ5ZyhuLmw5KTtyZXR1cm4gbn07CnJlPWZ1bmN0aW9uKG4sVyxELGIsdil7dj10Uyh2LFcpO0QyKG4sRCxiLHYpO3YmJiF2OSh2KSYmeWcobi5sOSk7cmV0dXJuIG59OwpzVj1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5LGs9dltiNF18MDtpZihiPT1udWxsKXJldHVybiB1Vyh2LGssRCksbjtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBjMigpO3ZhciBoPWI9PT16ej83OmJbYjRdfDAseD1oLEw9RkYoaCksZT1MfHxPYmplY3QuaXNGcm96ZW4oYiksRz0hMCxyPSEwO2ZvcihsZXQgSD0wO0g8Yi5sZW5ndGg7SCsrKXt2YXIgTj1iW0hdO2JXKE4sVyk7THx8KE49djkoTiksRyYmKEc9IU4pLHImJihyPU4pKX1MfHwoaD1HPzEzOjUsaD1yP2gmLTQwOTc6aHw0MDk2KTtlJiZoPT09eHx8KGI9Wy4uLmJdLHg9MCxoPWpXKGgsaykpO2ghPT14JiYoYltiNF09aCk7az11Vyh2LGssRCxiKTsyJmh8fCEoNDA5NiZofHwxNiZoKXx8eWcodixrKTtyZXR1cm4gbn07CmpXPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49KDImVz9ufDI6biYtMykmLTI3M307Ck5IPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWI7VUsobik7Yj1uLmw5O249WF8obixiLGJbYjRdfDAsRCxXLDIsdm9pZCAwLCEwKTt2PXYhPW51bGw/YlcodixEKTpuZXcgRDtuLnB1c2godik7Vz1EPW49PT16ej83Om5bYjRdfDA7KHY9djkodikpPyhEJj0tOSxuLmxlbmd0aD09PTEmJihEJj0tNDA5NykpOkR8PTQwOTY7RCE9PVcmJihuW2I0XT1EKTt2fHx5ZyhiKX07CmFQPWZ1bmN0aW9uKG4sVyxEPTApe3JldHVybiBFXyhpVyhuLFcpKT8/RH07CnBuPWZ1bmN0aW9uKG4sVyxEPXYzaSl7cmV0dXJuIGlXKG4sVyx2b2lkIDAsdm9pZCAwLEZEKT8/RH07Clk5PWZ1bmN0aW9uKG4sVyxEPSIiLGIpe3JldHVybiBnLkRSKGlXKG4sVyxiKSk/P0R9OwpIVz1mdW5jdGlvbihuLFcpe249aVcobixXKTtyZXR1cm4obj09bnVsbD9uOlA5KG4pP258MDp2b2lkIDApPz8wfTsKSlM9ZnVuY3Rpb24obixXKXtyZXR1cm4gZy5EUihpVyhuLFcsdm9pZCAwLGZuKSl9OwpJWT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG96KG4sVyxnLmw0KEQpKX07CmcuU0U9ZnVuY3Rpb24obixXLEQpe3JldHVybiBveihuLFcsV0goRCkpfTsKQVM9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIGcuVmcobixXLFdIKEQpLCIiLGIpfTsKS249ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpe2lmKCFQOShEKSl0aHJvdyBjMigiZW51bSIpO0R8PTB9cmV0dXJuIG96KG4sVyxEKX07ClBXPWZ1bmN0aW9uKG4sVyl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbmV3IE9WKEMwKG4pLFcpO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG5ldyBPVihuZXcgVWludDhBcnJheShuKSxXKTtpZihuLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4gbmV3IE9WKG4sITEpO2lmKG4uY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm4gbj1uZXcgVWludDhBcnJheShuKSxuZXcgT1YobiwhMSk7aWYobi5jb25zdHJ1Y3Rvcj09PUZRKXJldHVybiBXPVFsKG4pfHxuZXcgVWludDhBcnJheSgwKSxuZXcgT1YoVywhMCxuKTtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbj1uLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9uOm5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLG5ldyBPVihuLCExKTt0aHJvdyBFcnJvcigpO307CmcuVVY9ZnVuY3Rpb24obixXKXt2YXIgRD0wLGI9MCx2PTAsaz1uLkosaD1uLk47ZG97dmFyIHg9a1toKytdO0R8PSh4JjEyNyk8PHY7dis9N313aGlsZSh2PDMyJiZ4JjEyOCk7aWYodj4zMilmb3IoYnw9KHgmMTI3KT4+NCx2PTM7djwzMiYmeCYxMjg7dis9Nyl4PWtbaCsrXSxifD0oeCYxMjcpPDx2O1oyKG4saCk7aWYoISh4JjEyOCkpcmV0dXJuIFcoRD4+PjAsYj4+PjApO3Rocm93IEVycm9yKCk7fTsKeTE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTAsRD1uLk4sYj1EKzEwLHY9bi5KO0Q8Yjspe2xldCBrPXZbRCsrXTtXfD1rO2lmKChrJjEyOCk9PT0wKXJldHVybiBaMihuLEQpLCEhKFcmMTI3KX10aHJvdyBFcnJvcigpO307CmcuRVY9ZnVuY3Rpb24obil7dmFyIFc9bi5KLEQ9bi5OLGI9V1tEKytdLHY9YiYxMjc7aWYoYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDw3LGImMTI4JiYoYj1XW0QrK10sdnw9KGImMTI3KTw8MTQsYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDwyMSxiJjEyOCYmKGI9V1tEKytdLHZ8PWI8PDI4LGImMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO1oyKG4sRCk7cmV0dXJuIHZ9Owp1YT1mdW5jdGlvbihuKXt2YXIgVz1uLkosRD1uLk4sYj1XW0QrMF0sdj1XW0QrMV0saz1XW0QrMl07Vz1XW0QrM107aWEobiw0KTtyZXR1cm4oYjw8MHx2PDw4fGs8PDE2fFc8PDI0KT4+PjB9OwpvWT1mdW5jdGlvbihuKXt2YXIgVz11YShuKTtuPXVhKG4pO3JldHVybiBmNShXLG4pfTsKZy5kZT1mdW5jdGlvbihuKXt2YXIgVz1uLmo7V3x8KFc9bi5KLFc9bi5qPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSk7Vz1XLmdldEZsb2F0NjQobi5OLCEwKTtpYShuLDgpO3JldHVybiBXfTsKazQyPWZ1bmN0aW9uKG4pe3JldHVybiBnLkVWKG4pfTsKWjI9ZnVuY3Rpb24obixXKXtuLk49VztpZihXPm4uVyl0aHJvdyBFcnJvcigpO307CmlhPWZ1bmN0aW9uKG4sVyl7WjIobixuLk4rVyl9Owp6JD1mdW5jdGlvbihuLFcpe2lmKFc8MCl0aHJvdyBFcnJvcigpO3ZhciBEPW4uTjtXPUQrVztpZihXPm4uVyl0aHJvdyBFcnJvcigpO24uTj1XO3JldHVybiBEfTsKbGE9ZnVuY3Rpb24obixXKXtpZihXPT0wKXJldHVybiBNeCgpO3ZhciBEPXokKG4sVyk7bi5uXyYmbi5WP0Q9bi5KLnN1YmFycmF5KEQsRCtXKToobj1uLkosVz1EK1csRD1EPT09Vz9uZXcgVWludDhBcnJheSgwKTpuLnNsaWNlKEQsVykpO3JldHVybiBELmxlbmd0aD09MD9NeCgpOm5ldyBGUShELHdXKX07CkNuPWZ1bmN0aW9uKG4sVyxELGIpe2lmKFQkLmxlbmd0aCl7bGV0IHY9VCQucG9wKCk7akUodixiKTt2Lk4uaW5pdChuLFcsRCxiKTtyZXR1cm4gdn1yZXR1cm4gbmV3IGhCUyhuLFcsRCxiKX07CmpFPWZ1bmN0aW9uKG4se0diOlc9ITF9PXt9KXtuLkdiPVd9OwpGXz1mdW5jdGlvbihuKXt2YXIgVz1uLk47aWYoVy5OPT1XLlcpcmV0dXJuITE7bi5YPW4uTi5OO3ZhciBEPWcuRVYobi5OKT4+PjA7Vz1EPj4+MztEJj03O2lmKCEoRD49MCYmRDw9NSkpdGhyb3cgRXJyb3IoKTtpZihXPDEpdGhyb3cgRXJyb3IoKTtuLlc9VztuLko9RDtyZXR1cm4hMH07CndlPWZ1bmN0aW9uKG4pe3RyeXtzd2l0Y2gobi5KKXtjYXNlIDA6bi5KIT0wP3dlKG4pOnkxKG4uTik7YnJlYWs7Y2FzZSAxOmlhKG4uTiw4KTticmVhaztjYXNlIDI6aWYobi5KIT0yKXdlKG4pO2Vsc2V7dmFyIFc9Zy5FVihuLk4pPj4+MDtpYShuLk4sVyl9YnJlYWs7Y2FzZSA1OmlhKG4uTiw0KTticmVhaztjYXNlIDM6TUgoKTtsZXQgRD1uLlc7dHJ5e2Rve2lmKCFGXyhuKSl0aHJvdyBFcnJvcigpO2lmKG4uSj09NCl7aWYobi5XIT1EKXRocm93IEVycm9yKCk7YnJlYWt9d2Uobil9d2hpbGUoMSl9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGI7fWZpbmFsbHl7Ulk+MCYmUlktLX1icmVhaztkZWZhdWx0OnRocm93IEVycm9yKCk7fX1jYXRjaChEKXtpZihEIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgRDt9fTsKTUg9ZnVuY3Rpb24oKXtpZihSWT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtSWSsrfTsKUTE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5XLHY9Zy5FVihuLk4pPj4+MDt2PW4uTi5OK3Y7dmFyIGs9di1iO2s8PTAmJihuLk4uVz12LEQoVyxuLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPXYtbi5OLk4pO2lmKGspdGhyb3cgRXJyb3IoKTtuLk4uTj12O24uTi5XPWJ9OwphWT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wLEQ9bi5OO249eiQoRCxXKTt2YXIgYj1ELko7KEQ9VjEpfHwoRD1WMT1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Vz1uK1c7Yj1uPT09MCYmVz09PWIubGVuZ3RoP2I6Yi5zdWJhcnJheShuLFcpO3RyeXt2YXIgdj1ELmRlY29kZShiKX1jYXRjaChrKXtpZihjVz09PXZvaWQgMCl7dHJ5e0QuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goaCl7fXRyeXtELmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSksY1c9ITB9Y2F0Y2goaCl7Y1c9ITF9fSFjVyYmKFYxPXZvaWQgMCk7dGhyb3cgazt9cmV0dXJuIHZ9OwpEOT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wO3JldHVybiBsYShuLk4sVyl9OwpiRz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5FVihuLk4pPj4+MDtmb3IoYj1uLk4uTitiO24uTi5OPGI7KUQucHVzaChXKG4uTikpfTsKa209ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB2eShuJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihuLzQyOTQ5NjcyOTYpKX07CnhtPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBoM3x8KGgzPW5ldyB2eSgwLDApKTtpZighL15cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgdnkoclosc18pfTsKTGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj09PTA/bmV3IHZ5KDAsMSt+bi5OKTpuZXcgdnkofm4uSisxLH5uLk4pfTsKeFVqPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgZUMobiY0Mjk0OTY3Mjk1LE1hdGguZmxvb3Iobi80Mjk0OTY3Mjk2KSl9OwpYdD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gZ0d8fChnRz1uZXcgZUMoMCwwKSk7aWYoIS9eLT9cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgZUMoclosc18pfTsKWW09ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIHFmfHwocWY9bmV3IEJpZ0ludDY0QXJyYXkoMSksR1M9bmV3IFVpbnQzMkFycmF5KHFmLmJ1ZmZlcikscWZbMF09QmlnSW50KDEpLHQzPUdTWzBdPT09MSkscWZbMF09bixuPXQzPzA6MSxuZXcgVyhHU1tuXSxHU1sxLW5dKTskbXx8KHJHPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmY9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxwaD1CaWdJbnQoNDI5NDk2NzI5NSksJG09QmlnSW50KDMyKSk7aWYobj49ckcmJm48PU5mKXJldHVybiBEKE51bWJlcihuKSk7bj1CaWdJbnQuYXNVaW50Tig2NCxuKTtyZXR1cm4gbmV3IFcoTnVtYmVyKG4mcGgpLE51bWJlcihuPj4kbSkpfTsKSHk9ZnVuY3Rpb24obixXLEQpe2Zvcig7RD4wfHxXPjEyNzspbi5OLnB1c2goVyYxMjd8MTI4KSxXPShXPj4+N3xEPDwyNSk+Pj4wLEQ+Pj49NztuLk4ucHVzaChXKX07CkozPWZ1bmN0aW9uKG4sVyl7bi5OLnB1c2goVz4+PjAmMjU1KTtuLk4ucHVzaChXPj4+OCYyNTUpO24uTi5wdXNoKFc+Pj4xNiYyNTUpO24uTi5wdXNoKFc+Pj4yNCYyNTUpfTsKSXg9ZnVuY3Rpb24obixXKXtmb3IoO1c+MTI3OyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj49NztuLk4ucHVzaChXKX07ClNDPWZ1bmN0aW9uKG4sVyl7aWYoVz49MClJeChuLFcpO2Vsc2V7Zm9yKGxldCBEPTA7RDw5O0QrKyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj03O24uTi5wdXNoKDEpfX07CkEzPWZ1bmN0aW9uKG4sVyl7Vy5sZW5ndGghPT0wJiYobi5XLnB1c2goVyksbi5KKz1XLmxlbmd0aCl9OwptND1mdW5jdGlvbihuLFcsRCl7SXgobi5OLFcqOCtEKX07CktoPWZ1bmN0aW9uKG4sVyl7bTQobixXLDIpO1c9bi5OLmVuZCgpO0EzKG4sVyk7Vy5wdXNoKG4uSik7cmV0dXJuIFd9OwpPcz1mdW5jdGlvbihuLFcpe3ZhciBEPVcucG9wKCk7Zm9yKEQ9bi5KK24uTi5sZW5ndGgoKS1EO0Q+MTI3OylXLnB1c2goRCYxMjd8MTI4KSxEPj4+PTcsbi5KKys7Vy5wdXNoKEQpO24uSisrfTsKeW09ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpc3dpdGNoKFB5KEQpLG00KG4sVywxKSx0eXBlb2YgRCl7Y2FzZSAibnVtYmVyIjpuPW4uTjtOMyhEKTtKMyhuLHJaKTtKMyhuLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oRCx2eSxrbSk7bj1uLk47Vz1ELk47SjMobixELkopO0ozKG4sVyk7YnJlYWs7ZGVmYXVsdDpEPXhtKEQpLG49bi5OLFc9RC5OLEozKG4sRC5KKSxKMyhuLFcpfX07CkVzPWZ1bmN0aW9uKG4sVyxEKXtEIT1udWxsJiYoRD1wYXJzZUludChELDEwKSxtNChuLFcsMCksU0Mobi5OLEQpKX07CmlHPWZ1bmN0aW9uKG4sVyxEKXttNChuLFcsMik7SXgobi5OLEQubGVuZ3RoKTtBMyhuLG4uTi5lbmQoKSk7QTMobixEKX07ClB5PWZ1bmN0aW9uKG4pe3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSAic3RyaW5nIjp4bShuKX19Owp1Rz1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgInN0cmluZyI6bi5sZW5ndGgmJm5bMF09PT0iLSI/eG0obi5zdWJzdHJpbmcoMSkpOnhtKG4pfX07Cm94PWZ1bmN0aW9uKCl7dmFyIG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihuLG4ucHJvdG90eXBlKTtyZXR1cm4gbn07CmRHPWZ1bmN0aW9uKG4sVyl7aWYoVz09bnVsbHx8Vz09IiIpcmV0dXJuIG5ldyBuO1c9SlNPTi5wYXJzZShXKTtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtXW2I0XXw9MzI7cmV0dXJuIG5ldyBuKFcpfTsKVFM9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHpTKG4sVyxsRyl9OwpDaD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9akMoVyxiKTtXIT1udWxsJiYoRD1LaChuLEQpLHYoVyxuKSxPcyhuLEQpKX07CndHPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWJbbl07aWYodilyZXR1cm4gdjt2PXt9O3Yud2s9Yjt2LlJyPW4zMihiWzBdKTt2YXIgaz1iWzFdLGg9MTtrJiZrLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYodi5leHRlbnNpb25zPWssaz1iWysraF0sdHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYodi5kJD0hMCxCeT8/KEJ5PWspLEZ0Pz8oRnQ9YltoKzFdKSxrPWJbaCs9Ml0pKTtmb3IodmFyIHg9e307ayYmQXJyYXkuaXNBcnJheShrKSYmay5sZW5ndGgmJnR5cGVvZiBrWzBdPT09Im51bWJlciImJmtbMF0+MDspe2Zvcih2YXIgTD0wO0w8ay5sZW5ndGg7TCsrKXhba1tMXV09aztrPWJbKytoXX1mb3IoTD0xO2shPT12b2lkIDA7KXt0eXBlb2Ygaz09PSJudW1iZXIiJiYoTCs9ayxrPWJbKytoXSk7bGV0IHI7dmFyIGU9dm9pZCAwO2sgaW5zdGFuY2VvZiB6Uz9yPWs6KHI9TGN0LGgtLSk7aWYocj8uTil7az1iWysraF07ZT1iO3ZhciBHPWg7dHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYoaz1rKCksCmVbR109ayk7ZT1rfWs9YlsrK2hdO0c9TCsxO3R5cGVvZiBrPT09Im51bWJlciImJms8MCYmKEctPWssaz1iWysraF0pO2Zvcig7TDxHO0wrKyl7bGV0IE49eFtMXTtlP0QodixMLHIsZSxOKTpXKHYsTCxyLE4pfX1yZXR1cm4gYltuXT12fTsKTWY9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/blswXWluc3RhbmNlb2YgelM/bjpbZUJ0LG5dOltuLHZvaWQgMF19OwpSeD1mdW5jdGlvbihuLFc9IiIsRD0iIil7bj1uZXcgZy53WihuLCEwKTtuLnNldCgiYWxyIiwieWVzIik7RCYmKEQ9ZVgoODQsNjU1MyxNMygxOCw0MjYwLEQpKSxuW0lbMzRdXShXLFIwKDEzLDg3MTYsRCkpKTtyZXR1cm4gbn07CmpDPWZ1bmN0aW9uKG4sVyl7aWYobiBpbnN0YW5jZW9mIGcuUW0pcmV0dXJuIG4ubDk7aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gU1cobixXKX07ClZtPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuY2o7bltXXT1iPyhrLGgseCk9PnYoayxoLHgsYik6dn07CmF4PWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9RC5jaixoLHg7bltXXT0oTCxlLEcpPT5rKEwsZSxHLHh8fCh4PXdHKGN5LFZtLGF4LGIpLlJyKSxofHwoaD1uOChiKSksdil9OwpuOD1mdW5jdGlvbihuKXt2YXIgVz1uW1dPXTtpZihXIT1udWxsKXJldHVybiBXO3ZhciBEPXdHKGN5LFZtLGF4LG4pO1c9RC5kJD8oYix2KT0+QnkoYix2LEQpOihiLHYpPT57YTp7TUgoKTsKdHJ5e2Zvcig7Rl8odikmJnYuSiE9NDspe2xldCBOPXYuVyxIPURbTl07aWYoSD09bnVsbCl7bGV0IEE9RC5leHRlbnNpb25zO2lmKEEpe2xldCB5PUFbTl07aWYoeSl7bGV0IFQ9ZzNVKHkpO1QhPW51bGwmJihIPURbTl09VCl9fX1pZihIPT1udWxsfHwhSCh2LGIsTikpe3ZhciBrPXY7bGV0IEE9ay5YO3dlKGspO2lmKGsuR2IpdmFyIGg9dm9pZCAwO2Vsc2V7bGV0IHk9ay5OLk4tQTtrLk4uTj1BO2g9bGEoay5OLHkpfWs9dm9pZCAwO3ZhciB4PWIsTD1OLGU9aDtlJiYoKGs9eFtMR10/Pyh4W0xHXT1uZXcgWEYpKVtMXT8/KGtbTF09W10pKS5wdXNoKGUpfX1sZXQgcj1lVyhiKTtyJiYoci5qNz1ELndrW0Q4XSk7dmFyIEc9ITA7YnJlYWsgYX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgcjt9ZmluYWxseXtSWT4wJiZSWS0tfUc9dm9pZCAwfXJldHVybiBHfTsKbltXT109VztuW0Q4XT1YTWkuYmluZChuKTtyZXR1cm4gV307ClhNaT1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj10aGlzW2N5XSxrPXRoaXNbV09dLGg9U1codm9pZCAwLHYuUnIpLHg9ZVcobik7aWYoeCl7dmFyIEw9ITEsZT12LmV4dGVuc2lvbnM7aWYoZSl7dj0oRyxyLE4pPT57aWYoTi5sZW5ndGghPT0wKWlmKGVbcl0pZm9yKGxldCBIIG9mIE4pe0c9Q24oSCk7dHJ5e0w9ITAsayhoLEcpfWZpbmFsbHl7Ry5mcmVlKCl9fWVsc2UgYj8uKG4scixOKX07CmlmKFc9PW51bGwpZ2coeCx2KTtlbHNlIGlmKHghPW51bGwpe2xldCBHPXhbV107RyYmdih4LFcsRyl9aWYoTCl7bGV0IEc9bltiNF18MDtpZihHJjImJkcmMjA0OCYmIUQ/LkpTKXRocm93IEVycm9yKCk7bGV0IHI9TDUoRyksTj0oSCxBKT0+e2lmKEVLKG4sSCxyKSE9bnVsbClzd2l0Y2goRD8uaDQpe2Nhc2UgMTpyZXR1cm47ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31BIT1udWxsJiYoRz11VyhuLEcsSCxBLHIpKTtkZWxldGUgeFtIXX07Clc9PW51bGw/aF8oaCxoW2I0XXwwLChILEEpPT57TihILEEpfSk6TihXLEVLKGgsVyxyKSl9fX19OwpnM1U9ZnVuY3Rpb24obil7bj1NZihuKTt2YXIgVz1uWzBdLmNqO2lmKG49blsxXSl7bGV0IEQ9bjgobiksYj13RyhjeSxWbSxheCxuKS5ScjtyZXR1cm4odixrLGgpPT5XKHYsayxoLGIsRCl9cmV0dXJuIFd9OwpiNj1mdW5jdGlvbihuLFcsRCl7bltXXT1ELlBqfTsKa249ZnVuY3Rpb24obixXLEQsYil7dmFyIHYsayxoPUQuUGo7bltXXT0oeCxMLGUpPT5oKHgsTCxlLGt8fChrPXdHKHZPLGI2LGtuLGIpLlJyKSx2fHwodj1oOShiKSkpfTsKaDk9ZnVuY3Rpb24obil7dmFyIFc9blt4bl07aWYoIVcpe2xldCBEPXdHKHZPLGI2LGtuLG4pO1c9KGIsdik9Pkw4KGIsdixEKTsKblt4bl09V31yZXR1cm4gV307Ckw4PWZ1bmN0aW9uKG4sVyxEKXtoXyhuLG5bYjRdfDAsKGIsdik9PntpZih2IT1udWxsKXt2YXIgaz1xTU0oRCxiKTtrP2soVyx2LGIpOmI8NTAwfHxuNShHNFMsMyl9fSk7CihuPWVXKG4pKSYmZ2cobiwoYix2LGspPT57QTMoVyxXLk4uZW5kKCkpO2ZvcihiPTA7YjxrLmxlbmd0aDtiKyspQTMoVyxRbChrW2JdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9OwpxTU09ZnVuY3Rpb24obixXKXt2YXIgRD1uW1ddO2lmKEQpcmV0dXJuIEQ7aWYoRD1uLmV4dGVuc2lvbnMpaWYoRD1EW1ddKXtEPU1mKEQpO3ZhciBiPURbMF0uUGo7aWYoRD1EWzFdKXtsZXQgdj1oOShEKSxrPXdHKHZPLGI2LGtuLEQpLlJyO0Q9bi5kJD9GdChrLHYpOihoLHgsTCk9PmIoaCx4LEwsayx2KX1lbHNlIEQ9YjsKcmV0dXJuIG5bV109RH19OwplNj1mdW5jdGlvbihuLFcsRCl7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9V1tiNF18MDtpZihiJjQpcmV0dXJuIFc7Zm9yKHZhciB2PTAsaz0wO3Y8Vy5sZW5ndGg7disrKXtsZXQgaD1uKFdbdl0pO2ghPW51bGwmJihXW2srK109aCl9azx2JiYoVy5sZW5ndGg9ayk7bj1ifDE7RCYmKG49KG58NCkmLTE1MzcpO24hPT1iJiYoV1tiNF09bik7RCYmbiYyJiZPYmplY3QuZnJlZXplKFcpO3JldHVybiBXfX07CmcuZ1E9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKWGY9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKZy5xWT1mdW5jdGlvbihuLFcsRCl7dVcobixuW2I0XXwwLFcsRCxMNShuW2I0XXwwKSl9OwpnLnQ5PWZ1bmN0aW9uKG4sVyxEKXtXPW0wKFcpO1chPW51bGwmJihtNChuLEQsMSksbj1uLk4sRD1Hdnx8KEd2PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxELnNldEZsb2F0NjQoMCwrVywhMCksclo9RC5nZXRVaW50MzIoMCwhMCksc189RC5nZXRVaW50MzIoNCwhMCksSjMobixyWiksSjMobixzXykpfTsKZy4kbj1mdW5jdGlvbihuLFcsRCl7Vz1DeE0oVyk7aWYoVyE9bnVsbCl7c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOlh0KFcpfWlmKFchPW51bGwpc3dpdGNoKG00KG4sRCwwKSx0eXBlb2YgVyl7Y2FzZSAibnVtYmVyIjpuPW4uTjtwNShXKTtIeShuLHJaLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oVyxlQyx4VWopO0h5KG4uTixELkosRC5OKTticmVhaztkZWZhdWx0OkQ9WHQoVyksSHkobi5OLEQuSixELk4pfX19OwpnLnJRPWZ1bmN0aW9uKG4sVyxEKXtXPUVfKFcpO1chPW51bGwmJlchPW51bGwmJihtNChuLEQsMCksU0Mobi5OLFcpKX07CnNmPWZ1bmN0aW9uKG4sVyxEKXtXPVc9PW51bGx8fHR5cGVvZiBXPT09ImJvb2xlYW4iP1c6dHlwZW9mIFc9PT0ibnVtYmVyIj8hIVc6dm9pZCAwO1chPW51bGwmJihtNChuLEQsMCksbi5OLk4ucHVzaChXPzE6MCkpfTsKTlk9ZnVuY3Rpb24obixXLEQpe1c9Zy5EUihXKTtXIT1udWxsJiZpRyhuLEQsa0soVykpfTsKcDg9ZnVuY3Rpb24obixXLEQsYix2KXtXPWpDKFcsYik7VyE9bnVsbCYmKEQ9S2gobixEKSx2KFcsbiksT3MobixEKSl9OwpKOT1mdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxvWShuLk4pKTtyZXR1cm4hMH07CklfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKEQsYik9PnthOntsZXQgaz17aEI6ITB9O2ImJk9iamVjdC5hc3NpZ24oayxiKTtEPUNuKEQsdm9pZCAwLHZvaWQgMCxrKTt0cnl7bGV0IGg9bmV3IG4seD1oLmw5O244KFcpKHgsRCk7dmFyIHY9aDticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBoO31maW5hbGx5e0QuZnJlZSgpfXY9dm9pZCAwfXJldHVybiB2fX07CmcuQTk9ZnVuY3Rpb24obil7cmV0dXJuIFc9PlM2KFcsbil9OwpnLm1EPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBTNih0aGlzLG4pfX07Cks4PWZ1bmN0aW9uKG4pe3JldHVybiBXPT5kRyhuLFcpfTsKdGpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFFnKG4sVyxVXyl9Owp1Nj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZy5PZjtXPWcuU0UoVywxLG4uSik7dmFyIEQ9JFVNKG4pO1c9UWcoVyxELEZTMik7RD1bXTt2YXIgYj1bXTtmb3IodmFyIHYgb2Ygbi5OLmtleXMoKSliLnB1c2godi5zcGxpdCgiLCIpKTtmb3Iodj0wO3Y8Yi5sZW5ndGg7disrKXtsZXQgcj1iW3ZdO3ZhciBrPW4uVyxoPVBPKG4sLi4ucil8fFtdO2xldCBOPVtdO2Zvcih2YXIgeD0wO3g8aC5sZW5ndGg7eCsrKXt2YXIgTD1oW3hdLGU9TCYmTC5OO0w9bmV3IFo4O3N3aXRjaChrKXtjYXNlIDM6ZT1OdW1iZXIoZSk7TnVtYmVyLmlzRmluaXRlKGUpJiZEMihMLDEsVWYsZy5sNChlKSk7YnJlYWs7Y2FzZSAyOkQyKEwsMixVZixnLkFfKE51bWJlcihlKSkpfU4ucHVzaChMKX1mb3Ioaz0wO2s8Ti5sZW5ndGg7aysrKXt4PU5ba107aD1uZXcgeWU7aD0kOShoLFo4LDIseCk7eD1bXTtMPXJGdChuKTtmb3IoZT0wO2U8TC5sZW5ndGg7ZSsrKXt2YXIgRz1MW2VdO2xldCBIPXJbZV0sQT1uZXcgRWY7CnN3aXRjaChHKXtjYXNlIDM6RDIoQSwxLGk2LFdIKFN0cmluZyhIKSkpO2JyZWFrO2Nhc2UgMjpHPU51bWJlcihIKTtOdW1iZXIuaXNGaW5pdGUoRykmJkQyKEEsMixpNixnLnlQKEcpKTticmVhaztjYXNlIDE6RDIoQSwzLGk2LE9fKEg9PT0idHJ1ZSIpKX14LnB1c2goQSl9c1YoaCxFZiwxLHgpO0QucHVzaChoKX19c1YoVyx5ZSw0LEQpO3JldHVybiBXfTsKb189ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChuKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7bi5pbmRleE9mKCJibG9iOiIpPT09MCYmKG49bi5zdWJzdHJpbmcoNSkpO249bi5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07bj1uLnRvTG93ZXJDYXNlKCk7bi5pbmRleE9mKCIvLyIpPT0wJiYobj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrbik7L15bXHdcLV0qOlwvXC8vLnRlc3Qobil8fChuPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgVz1uLnN1YnN0cmluZyhuLmluZGV4T2YoIjovLyIpKzMpLEQ9Vy5pbmRleE9mKCIvIik7RCE9LTEmJihXPVcuc3Vic3RyaW5nKDAsRCkpO0Q9bi5zdWJzdHJpbmcoMCxuLmluZGV4T2YoIjovLyIpKTtpZighRCl0aHJvdyBFcnJvcigiVVJJIGlzIG1pc3NpbmcgcHJvdG9jb2w6ICIrbik7aWYoRCE9PSJodHRwIiYmRCE9PSJodHRwcyImJkQhPT0iY2hyb21lLWV4dGVuc2lvbiImJgpEIT09Im1vei1leHRlbnNpb24iJiZEIT09ImZpbGUiJiZEIT09ImFuZHJvaWQtYXBwIiYmRCE9PSJjaHJvbWUtc2VhcmNoIiYmRCE9PSJjaHJvbWUtdW50cnVzdGVkIiYmRCE9PSJjaHJvbWUiJiZEIT09ImFwcCImJkQhPT0iZGV2dG9vbHMiKXRocm93IEVycm9yKCJJbnZhbGlkIFVSSSBzY2hlbWUgaW4gb3JpZ2luOiAiK0QpO249IiI7dmFyIGI9Vy5pbmRleE9mKCI6Iik7aWYoYiE9LTEpe3ZhciB2PVcuc3Vic3RyaW5nKGIrMSk7Vz1XLnN1YnN0cmluZygwLGIpO2lmKEQ9PT0iaHR0cCImJnYhPT0iODAifHxEPT09Imh0dHBzIiYmdiE9PSI0NDMiKW49IjoiK3Z9cmV0dXJuIEQrIjovLyIrVytufTsKc00yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZbMF09MTczMjU4NDE5Mzt2WzFdPTQwMjMyMzM0MTc7dlsyXT0yNTYyMzgzMTAyO3ZbM109MjcxNzMzODc4O3ZbNF09MzI4NTM3NzUyMDtHPWU9MH0KZnVuY3Rpb24gVyhyKXtmb3IodmFyIE49aCxIPTA7SDw2NDtIKz00KU5bSC80XT1yW0hdPDwyNHxyW0grMV08PDE2fHJbSCsyXTw8OHxyW0grM107Zm9yKEg9MTY7SDw4MDtIKyspcj1OW0gtM11eTltILThdXk5bSC0xNF1eTltILTE2XSxOW0hdPShyPDwxfHI+Pj4zMSkmNDI5NDk2NzI5NTtyPXZbMF07dmFyIEE9dlsxXSx5PXZbMl0sVD12WzNdLHo9dls0XTtmb3IoSD0wO0g8ODA7SCsrKXtpZihIPDQwKWlmKEg8MjApe3ZhciBDPVReQSYoeV5UKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQz1BXnleVCxRPTE4NTk3NzUzOTM7ZWxzZSBIPDYwPyhDPUEmeXxUJihBfHkpLFE9MjQwMDk1OTcwOCk6KEM9QV55XlQsUT0zMzk1NDY5NzgyKTtDPSgocjw8NXxyPj4+MjcpJjQyOTQ5NjcyOTUpK0MreitRK05bSF0mNDI5NDk2NzI5NTt6PVQ7VD15O3k9KEE8PDMwfEE+Pj4yKSY0Mjk0OTY3Mjk1O0E9cjtyPUN9dlswXT12WzBdK3ImNDI5NDk2NzI5NTt2WzFdPXZbMV0rQSY0Mjk0OTY3Mjk1O3ZbMl09CnZbMl0reSY0Mjk0OTY3Mjk1O3ZbM109dlszXStUJjQyOTQ5NjcyOTU7dls0XT12WzRdK3omNDI5NDk2NzI5NX0KZnVuY3Rpb24gRChyLE4pe2lmKHR5cGVvZiByPT09InN0cmluZyIpe3I9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHIpKTtmb3IodmFyIEg9W10sQT0wLHk9ci5sZW5ndGg7QTx5OysrQSlILnB1c2goci5jaGFyQ29kZUF0KEEpKTtyPUh9Tnx8KE49ci5sZW5ndGgpO0g9MDtpZihlPT0wKWZvcig7SCs2NDxOOylXKHIuc2xpY2UoSCxIKzY0KSksSCs9NjQsRys9NjQ7Zm9yKDtIPE47KWlmKGtbZSsrXT1yW0grK10sRysrLGU9PTY0KWZvcihlPTAsVyhrKTtIKzY0PE47KVcoci5zbGljZShILEgrNjQpKSxIKz02NCxHKz02NH0KZnVuY3Rpb24gYigpe3ZhciByPVtdLE49Ryo4O2U8NTY/RCh4LDU2LWUpOkQoeCw2NC0oZS01NikpO2Zvcih2YXIgSD02MztIPj01NjtILS0pa1tIXT1OJjI1NSxOPj4+PTg7VyhrKTtmb3IoSD1OPTA7SDw1O0grKylmb3IodmFyIEE9MjQ7QT49MDtBLT04KXJbTisrXT12W0hdPj5BJjI1NTtyZXR1cm4gcn0KZm9yKHZhciB2PVtdLGs9W10saD1bXSx4PVsxMjhdLEw9MTtMPDY0OysrTCl4W0xdPTA7dmFyIGUsRztuKCk7cmV0dXJue3Jlc2V0Om4sdXBkYXRlOkQsZGlnZXN0OmIsSFU6ZnVuY3Rpb24oKXtmb3IodmFyIHI9YigpLE49IiIsSD0wO0g8ci5sZW5ndGg7SCsrKU4rPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihyW0hdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChyW0hdJTE2KTtyZXR1cm4gTn19fTsKZFE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVN0cmluZyhnLnFpLmxvY2F0aW9uLmhyZWYpO3JldHVybiBiJiZuJiZXP1tXLE56cihvXyhiKSxuLER8fG51bGwpXS5qb2luKCIgIik6bnVsbH07Ck56cj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1bXTtpZigoQXJyYXkuaXNBcnJheShEKT8yOjEpPT0xKXJldHVybiB2PVtXLG5dLGcueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KSx6dih2LmpvaW4oIiAiKSk7CnZhciBrPVtdLGg9W107Zy55MihELGZ1bmN0aW9uKHgpe2gucHVzaCh4LmtleSk7ay5wdXNoKHgudmFsdWUpfSk7CkQ9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO3Y9ay5sZW5ndGg9PTA/W0QsVyxuXTpbay5qb2luKCI6IiksRCxXLG5dO2cueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KTsKbj16dih2LmpvaW4oIiAiKSk7bj1bRCxuXTtoLmxlbmd0aD09MHx8bi5wdXNoKGguam9pbigiIikpO3JldHVybiBuLmpvaW4oIl8iKX07Cnp2PWZ1bmN0aW9uKG4pe3ZhciBXPXNNMigpO1cudXBkYXRlKG4pO3JldHVybiBXLkhVKCkudG9Mb3dlckNhc2UoKX07Cmw2PWZ1bmN0aW9uKG4pe3RoaXMuTj1ufHx7Y29va2llOiIifX07ClR2PWZ1bmN0aW9uKG4pe249KG4uTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO3ZhciBXPVtdLEQ9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspe3ZhciBiPW5ba10udHJpbSgpO3ZhciB2PWIuaW5kZXhPZigiPSIpO3Y9PS0xPyhXLnB1c2goIiIpLEQucHVzaChiKSk6KFcucHVzaChiLnN1YnN0cmluZygwLHYpKSxELnB1c2goYi5zdWJzdHJpbmcodisxKSkpfXJldHVybntrZXlzOlcsdmFsdWVzOkR9fTsKajY9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLl9fU0FQSVNJRHx8Zy5xaS5fX0FQSVNJRHx8Zy5xaS5fXzNQU0FQSVNJRHx8Zy5xaS5fXzFQU0FQSVNJRHx8Zy5xaS5fX09WRVJSSURFX1NJRDtpZihuKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYobj1uZXcgbDYoZG9jdW1lbnQpLG49bi5nZXQoIlNBUElTSUQiKXx8bi5nZXQoIkFQSVNJRCIpfHxuLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8bi5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhbn07CkM4PWZ1bmN0aW9uKG4sVyxELGIpeyhuPWcucWlbbl0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KG49KG5ldyBsNihkb2N1bWVudCkpLmdldChXKSk7cmV0dXJuIG4/ZFEobixELGIpOm51bGx9OwpCTz1mdW5jdGlvbihuKXt2YXIgVz1vXyhnLnFpPy5sb2NhdGlvbi5ocmVmKSxEPVtdO2lmKGo2KCkpe1c9Vy5pbmRleE9mKCJodHRwczoiKT09MHx8Vy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpPT0wfHxXLmluZGV4T2YoImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2UiKT09MHx8Vy5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOiIpPT0wO3ZhciBiLHY9KGI9Vyk/Zy5xaS5fX1NBUElTSUQ6Zy5xaS5fX0FQSVNJRDt2fHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KHY9bmV3IGw2KGRvY3VtZW50KSx2PXYuZ2V0KGI/IlNBUElTSUQiOiJBUElTSUQiKXx8di5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhiPXY/ZFEodixiPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLG4pOm51bGwpJiZELnB1c2goYik7VyYmKChXPUM4KCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsbikpJiZELnB1c2goVyksKG49QzgoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsbikpJiZELnB1c2gobikpfXJldHVybiBELmxlbmd0aD09MD9udWxsOkQuam9pbigiICIpfTsKZy5GZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG4sVyksRCl9Owp3UT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4rRCooVy1uKX07CmcuTVk9ZnVuY3Rpb24obixXKXt0aGlzLng9biE9PXZvaWQgMD9uOjA7dGhpcy55PVchPT12b2lkIDA/VzowfTsKUl89ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ueD09Vy54JiZuLnk9PVcueTohMX07CmcuUWU9ZnVuY3Rpb24obixXKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9V307CmcuVmU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ud2lkdGg9PVcud2lkdGgmJm4uaGVpZ2h0PT1XLmhlaWdodDohMX07CmNPPWZ1bmN0aW9uKG4pe3JldHVybiBuLndpZHRoKm4uaGVpZ2h0fTsKZy5hXz1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4pVy5jYWxsKEQsbltiXSxiLG4pfTsKZy5uVD1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBpbiBuKVcuY2FsbCh2b2lkIDAsbltiXSxiLG4pJiYoRFtiXT1uW2JdKTtyZXR1cm4gRH07Cld4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCBiIGluIG4pRFtiXT1XLmNhbGwodm9pZCAwLG5bYl0sYixuKTtyZXR1cm4gRH07CmcuRGw9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBuKWlmKFcuY2FsbChELG5bYl0sYixuKSlyZXR1cm4hMDtyZXR1cm4hMX07CmcuYms9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZighVy5jYWxsKHZvaWQgMCxuW0RdLEQsbikpcmV0dXJuITE7cmV0dXJuITB9Owp2eD1mdW5jdGlvbihuKXtmb3IobGV0IFcgaW4gbilyZXR1cm4gV307Cmt5PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKXJldHVybiBuW1ddfTsKaEs9ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO2ZvcihsZXQgYiBpbiBuKVdbRCsrXT1uW2JdO3JldHVybiBXfTsKZy5MVD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiIGluIG4pV1tEKytdPWI7cmV0dXJuIFd9OwpnLmVwPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG59OwpnLmdtPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4paWYobltEXT09VylyZXR1cm4hMDtyZXR1cm4hMX07CmcuWEw9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZihXLmNhbGwodm9pZCAwLG5bRF0sRCxuKSlyZXR1cm4gRH07CnFjPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFc9Zy5YTChuLFcpKSYmbltXXX07CmcuR0Y9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4pcmV0dXJuITE7cmV0dXJuITB9OwpnLnRLPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKWRlbGV0ZSBuW1ddfTsKZy4keT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG4/bltXXTpEfTsKZy5ybT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBuKWlmKCEoRCBpbiBXKXx8bltEXSE9PVdbRF0pcmV0dXJuITE7Zm9yKGxldCBEIGluIFcpaWYoIShEIGluIG4pKXJldHVybiExO3JldHVybiEwfTsKZy5zMD1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQgaW4gbilXW0RdPW5bRF07cmV0dXJuIFd9OwpnLk5jPWZ1bmN0aW9uKG4pe2lmKCFufHx0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKHR5cGVvZiBuLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gbi5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChuKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQobik7aWYobiBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKG4uZ2V0VGltZSgpKTt2YXIgVz1BcnJheS5pc0FycmF5KG4pP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KG4pfHxuIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IG4uY29uc3RydWN0b3Iobi5sZW5ndGgpO2ZvcihsZXQgRCBpbiBuKVdbRF09Zy5OYyhuW0RdKTtyZXR1cm4gV307CmcuWXk9ZnVuY3Rpb24obixXKXtmb3IobGV0IHY9MTt2PGFyZ3VtZW50cy5sZW5ndGg7disrKXt2YXIgRD1hcmd1bWVudHNbdl07Zm9yKGIgaW4gRCluW2JdPURbYl07Zm9yKGxldCBrPTA7azxwVC5sZW5ndGg7aysrKXt2YXIgYj1wVFtrXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxiKSYmKG5bYl09RFtiXSl9fX07ClhaeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFo0KG5bMF0udG9Mb3dlckNhc2UoKSl9OwpnLkh4PWZ1bmN0aW9uKG4sLi4uVyl7aWYoVy5sZW5ndGg9PT0wKXJldHVybiBrMyhuWzBdKTt2YXIgRD1uWzBdO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKUQrPWVuY29kZVVSSUNvbXBvbmVudChXW2JdKStuW2IrMV07cmV0dXJuIGszKEQpfTsKZy5TcD1mdW5jdGlvbihuKXtyZXR1cm4gbj9uZXcgZlQoZy5KSyhuKSk6SWh8fChJaD1uZXcgZlQpfTsKQUs9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIFc9PT0ic3RyaW5nIj9uLmdldEVsZW1lbnRCeUlkKFcpOld9OwpnLktUPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8ZG9jdW1lbnQ7RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lP249RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pWzBdOihEPWRvY3VtZW50LG49bj8oV3x8RCkucXVlcnlTZWxlY3RvcihuPyIuIituOiIiKTpnLm1CKEQsIioiLG4sVylbMF18fG51bGwpO3JldHVybiBufHxudWxsfTsKZy5tQj1mdW5jdGlvbihuLFcsRCxiKXtuPWJ8fG47cmV0dXJuKFc9VyYmVyE9IioiP1N0cmluZyhXKS50b1VwcGVyQ2FzZSgpOiIiKXx8RD9uLnF1ZXJ5U2VsZWN0b3JBbGwoVysoRD8iLiIrRDoiIikpOm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX07CmcuUHg9ZnVuY3Rpb24obixXKXtnLmFfKFcsZnVuY3Rpb24oRCxiKXtiPT0ic3R5bGUiP24uc3R5bGUuY3NzVGV4dD1EOmI9PSJjbGFzcyI/bi5jbGFzc05hbWU9RDpiPT0iZm9yIj9uLmh0bWxGb3I9RDpPMC5oYXNPd25Qcm9wZXJ0eShiKT9uLnNldEF0dHJpYnV0ZShPMFtiXSxEKTpnLmpVKGIsImFyaWEtIil8fGcualUoYiwiZGF0YS0iKT9uLnNldEF0dHJpYnV0ZShiLEQpOm5bYl09RH0pfTsKZy5FMD1mdW5jdGlvbihuKXt2YXIgVz1uLnNjcm9sbGluZ0VsZW1lbnQ/bi5zY3JvbGxpbmdFbGVtZW50OmcuWmx8fG4uY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP24uYm9keXx8bi5kb2N1bWVudEVsZW1lbnQ6bi5kb2N1bWVudEVsZW1lbnQ7bj1uLmRlZmF1bHRWaWV3O3JldHVybiBuZXcgZy5NWShuPy5wYWdlWE9mZnNldHx8Vy5zY3JvbGxMZWZ0LG4/LnBhZ2VZT2Zmc2V0fHxXLnNjcm9sbFRvcCl9OwpnLmlrPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGVmYXVsdFZpZXc6d2luZG93fTsKZy5kbT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9YXJndW1lbnRzLHY9ZG9jdW1lbnQsaz1iWzFdLGg9dWsodixTdHJpbmcoYlswXSkpO2smJih0eXBlb2Ygaz09PSJzdHJpbmciP2guY2xhc3NOYW1lPWs6QXJyYXkuaXNBcnJheShrKT9oLmNsYXNzTmFtZT1rLmpvaW4oIiAiKTpnLlB4KGgsaykpO2IubGVuZ3RoPjImJm9oKHYsaCxiLDIpO3JldHVybiBofTsKb2g9ZnVuY3Rpb24obixXLEQsYil7ZnVuY3Rpb24gdihrKXtrJiZXLmFwcGVuZENoaWxkKHR5cGVvZiBrPT09InN0cmluZyI/bi5jcmVhdGVUZXh0Tm9kZShrKTprKX0KZm9yKDtiPEQubGVuZ3RoO2IrKyl7bGV0IGs9RFtiXTshZy5ZMihrKXx8Zy5mdChrKSYmay5ub2RlVHlwZT4wP3Yoayk6Zy55MihrJiZ0eXBlb2Ygay5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2Ygay5pdGVtPT0iZnVuY3Rpb24iP2cuUk0oayk6ayx2KX19OwpnLnpGPWZ1bmN0aW9uKG4pe3JldHVybiB1ayhkb2N1bWVudCxuKX07CnVrPWZ1bmN0aW9uKG4sVyl7Vz1TdHJpbmcoVyk7bi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoVz1XLnRvTG93ZXJDYXNlKCkpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoVyl9OwpnLmxrPWZ1bmN0aW9uKG4pe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobikpfTsKZy5URj1mdW5jdGlvbihuKXtmb3IodmFyIFc7Vz1uLmZpcnN0Q2hpbGQ7KW4ucmVtb3ZlQ2hpbGQoVyl9OwpnLmpwPWZ1bmN0aW9uKG4sVyxEKXtuLmluc2VydEJlZm9yZShXLG4uY2hpbGROb2Rlc1tEXXx8bnVsbCl9OwpnLkNUPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnBhcmVudE5vZGU/bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pOm51bGx9OwpnLkJ4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4mJlc/bj09V3x8bi5jb250YWlucyhXKTohMX07CmcuSks9ZnVuY3Rpb24obil7cmV0dXJuIG4ubm9kZVR5cGU9PTk/bjpuLm93bmVyRG9jdW1lbnR8fG4uZG9jdW1lbnR9OwpnLkZMPWZ1bmN0aW9uKG4sVyl7aWYoInRleHRDb250ZW50ImluIG4pbi50ZXh0Q29udGVudD1XO2Vsc2UgaWYobi5ub2RlVHlwZT09MyluLmRhdGE9U3RyaW5nKFcpO2Vsc2UgaWYobi5maXJzdENoaWxkJiZuLmZpcnN0Q2hpbGQubm9kZVR5cGU9PTMpe2Zvcig7bi5sYXN0Q2hpbGQhPW4uZmlyc3RDaGlsZDspbi5yZW1vdmVDaGlsZChuLmxhc3RDaGlsZCk7bi5maXJzdENoaWxkLmRhdGE9U3RyaW5nKFcpfWVsc2UgZy5URihuKSxuLmFwcGVuZENoaWxkKGcuSksobikuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFcpKSl9OwpNYz1mdW5jdGlvbihuKXtyZXR1cm4gbi50YWdOYW1lPT0iQSImJm4uaGFzQXR0cmlidXRlKCJocmVmIil8fG4udGFnTmFtZT09IklOUFVUInx8bi50YWdOYW1lPT0iVEVYVEFSRUEifHxuLnRhZ05hbWU9PSJTRUxFQ1QifHxuLnRhZ05hbWU9PSJCVVRUT04iPyFuLmRpc2FibGVkJiYoIW4uaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHx3bShuKSk6bi5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJndtKG4pfTsKd209ZnVuY3Rpb24obil7bj1uLnRhYkluZGV4O3JldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiJiZuPj0wJiZuPDMyNzY4fTsKZy5SaD1mdW5jdGlvbihuLFcsRCl7biYmIUQmJihuPW4ucGFyZW50Tm9kZSk7Zm9yKEQ9MDtuOyl7aWYoVyhuKSlyZXR1cm4gbjtuPW4ucGFyZW50Tm9kZTtEKyt9cmV0dXJuIG51bGx9OwpmVD1mdW5jdGlvbihuKXt0aGlzLk49bnx8Zy5xaS5kb2N1bWVudHx8ZG9jdW1lbnR9OwpwTXg9ZnVuY3Rpb24obil7c1YoUVEsVlEsMSxuKX07CllNeD1mdW5jdGlvbihuLFc9Y3gpe2lmKCFhaCl7bj1uLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighbnx8dHlwZW9mIG4uZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxuLmJyYW5kcyYmdHlwZW9mIG4uYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3BNeCgobi5icmFuZHN8fFtdKS5tYXAoYj0+e3ZhciB2PW5ldyBWUTt2PWcuU0UodiwxLGIuYnJhbmQpO3JldHVybiBnLlNFKHYsMixiLnZlcnNpb24pfSkpOwp0eXBlb2Ygbi5tb2JpbGU9PT0iYm9vbGVhbiImJm96KFFRLDIsT18obi5tb2JpbGUpKTthaD1uLmdldEhpZ2hFbnRyb3B5VmFsdWVzKFcpfXZhciBEPW5ldyBTZXQoVyk7cmV0dXJuIGFoLnRoZW4oYj0+e3ZhciB2PVFRLmNsb25lKCk7RC5oYXMoInBsYXRmb3JtIikmJmcuU0UodiwzLGIucGxhdGZvcm0pO0QuaGFzKCJwbGF0Zm9ybVZlcnNpb24iKSYmZy5TRSh2LDQsYi5wbGF0Zm9ybVZlcnNpb24pO0QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmZy5TRSh2LDUsYi5hcmNoaXRlY3R1cmUpO0QuaGFzKCJtb2RlbCIpJiZnLlNFKHYsNixiLm1vZGVsKTtELmhhcygidWFGdWxsVmVyc2lvbiIpJiZnLlNFKHYsNyxiLnVhRnVsbFZlcnNpb24pO3JldHVybiB2LmJZKCl9KS5jYXRjaCgoKT0+UVEuYlkoKSl9OwpuSz1mdW5jdGlvbihuKXtyZXR1cm4gS24obiwxLDEpfTsKdkw9ZnVuY3Rpb24obixXKXskOShuLk4sV0wsMSxXKTtIVyhXLDEpfHxuSyhXKTtuLmdSfHwoVz1ERChuKSxZOShXLDUpfHxnLlNFKFcsNSxuLmxvY2FsZSkpO24udWFjaCYmKFc9REQobiksZ2UoVyxiSSw5KXx8JDkoVyxiSSw5LG4udWFjaCkpfTsKREQ9ZnVuY3Rpb24obil7dmFyIFc9Z2Uobi5OLFdMLDEpO1d8fChXPW5ldyBXTCx2TChuLFcpKTtuPVc7Vz1nZShuLGtFLDExKTtXfHwoVz1uZXcga0UsJDkobixrRSwxMSxXKSk7cmV0dXJuIFd9OwpIYlM9ZnVuY3Rpb24obixXKXtuLko9V307CkpGWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdSP3ZvaWQgMDpnLmlrKCk7Vz9ZTXgoVyxjeCkudGhlbihEPT57bi51YWNoPWY0MihEPz8iW10iKTtEPUREKG4pOyQ5KEQsYkksOSxuLnVhY2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfTsKZy5oSD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLlg9bjt0aGlzLmo9Vzt0aGlzLk49dGhpcy5XPW47dGhpcy5WPUR8fDA7dGhpcy5LPWJ8fDJ9OwpnLnhFPWZ1bmN0aW9uKG4pe24uTj1NYXRoLm1pbihuLmosbi5OKm4uSyk7bi5XPU1hdGgubWluKG4uaixuLk4rKG4uVj9NYXRoLnJvdW5kKG4uViooTWF0aC5yYW5kb20oKS0uNSkqMipuLk4pOjApKTtuLkorK307CkxLPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUifTsKSTRTPWZ1bmN0aW9uKG4sVyl7aWYoIW4uUyQpcmV0dXJuKCk9Pnt9Owp2YXIgRD0oKT0+e24uZmx1c2goKX07CnJldHVybiBXPygpPT57VygpLnRoZW4oRCl9OkR9OwplZz1mdW5jdGlvbihuKXtuLlcuaXNGaW5hbD0hMDtuLmZsdXNoKCk7bi5XLmlzRmluYWw9ITF9OwpnRD1mdW5jdGlvbihuKXtuLll8fChuLlk9TEsoKSk7dHJ5e3JldHVybihuZXcgVVJMKG4uWSkpLnRvU3RyaW5nKCl9Y2F0Y2goVyl7cmV0dXJuKG5ldyBVUkwobi5ZLGcuaWsoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07CkFGWj1mdW5jdGlvbihuKXtTTVMobiwoVyxEKT0+e1c9bmV3IFVSTChXKTtXLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImpzb24iKTt2YXIgYj0hMTt0cnl7Yj1nLmlrKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oVy50b1N0cmluZygpLEQuYlkoKSl9Y2F0Y2h7fWJ8fChuLkQ9ITEpO3JldHVybiBifSl9OwptVXc9ZnVuY3Rpb24obixXLEQ9bnVsbCxiPW4ud2l0aENyZWRlbnRpYWxzKXt2YXIgdj17fSxrPW5ldyBVUkwoZ0QobikpO0QmJih2LkF1dGhvcml6YXRpb249RCk7bi5zZXNzaW9uSW5kZXgmJih2WyJYLUdvb2ctQXV0aFVzZXIiXT1uLnNlc3Npb25JbmRleCxrLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixuLnNlc3Npb25JbmRleCkpO24ucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHYsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTpuLnBhZ2VJZH0pLGsuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixuLnBhZ2VJZCkpO3JldHVybnt1cmw6ay50b1N0cmluZygpLGJvZHk6VyxvJDoxLFpKOnYscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpiLHRpbWVvdXRNaWxsaXM6bi50aW1lb3V0TWlsbGlzfX07ClNNUz1mdW5jdGlvbihuLFcpe2lmKG4uTi5sZW5ndGghPT0wKXt2YXIgRD1uZXcgVVJMKGdEKG4pKTtELnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBiPW4ubjEoKTtiJiZELnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGIpO0Quc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLG4uc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihiPTA7YjwxMCYmbi5OLmxlbmd0aDsrK2Ipe2xldCB2PW4uTi5zbGljZSgwLDMyKSxrPW4uVy5idWlsZCh2LG4uWCxuLlYsbi5QZyxuLmNKLG4uTyk7aWYoIVcoRC50b1N0cmluZygpLGspKXsrK24uVjticmVha31uLlg9MDtuLlY9MDtuLmNKPTA7bi5PPTA7bi5OPW4uTi5zbGljZSh2Lmxlbmd0aCl9bi5KLmVuYWJsZWQmJm4uSi5zdG9wKCl9fTsKS2NoPWZ1bmN0aW9uKG4sVyl7bi5idWlsZExhYmVsPVc7cmV0dXJuIG59OwpQX2k9ZnVuY3Rpb24obil7bi5uZXR3b3JrPW5ldyBPYjE7cmV0dXJuIG59OwpaYmg9ZnVuY3Rpb24obixXKXtuLk49V307ClVVYj1mdW5jdGlvbihuKXtuLko9ITA7cmV0dXJuIG59OwpyRnQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkVHlwZSl9OwpQTz1mdW5jdGlvbihuLC4uLlcpe1c9WFQoLi4uVyk7cmV0dXJuIG4uTi5oYXMoVyk/bi5OLmdldChXKTp2b2lkIDB9OwokVU09ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkTmFtZSl9OwpHNz1mdW5jdGlvbihuLFcsLi4uRCl7RD1YVCguLi5EKTtuLk4uc2V0KEQsW25ldyBxNShXKV0pfTsKeUZaPWZ1bmN0aW9uKG4sVywuLi5EKXt2YXIgYj1QTyhuLC4uLkQpO2I/Yi5wdXNoKG5ldyBxNShXKSk6RzcobixXLC4uLkQpfTsKZVg9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9V15uO2lmKChuPj4xJjE2KTw1JiYobi0zJjExKT49OSYmRFtJWzE3XV0pdmFyIGs9UjAoOCw3NTQxLEQpO2lmKG4tMj4+ND09NCl7az12XjQ4NTA7Zm9yKHZhciBoPVtdOysray1oW0lbNV1dLSh2XjQ3NTQpOylzd2l0Y2goayl7Y2FzZSB2XjQ3NDQ6az12XjQ4MTg7Y29udGludWU7Y2FzZSB2XjQ4NDE6az12XjQ3NjY7YnJlYWs7Y2FzZSB2XjQ4NTE6az12XjQ3NjU7Y29udGludWU7Y2FzZSB2XjQ3NjQ6az12XjQ2NTE7Y2FzZSB2XjQ4MDk6ay09dl40NzQ0O2RlZmF1bHQ6aFtJW3ZeNDc3Ml1dKFN0cmluZ1tJW3ZeNDczNl1dKGspKX12YXIgeD1ofShuXjcwKT4+Mz09MiYmKGs9RFtJW3ZeNjYzM11dKElbdl42NjE2XSksdEhbSVt2XjY2NDddXShrLHZeNjYyMSksdEhbSVt2XjY2NDddXShrLDIpLHRIW0lbdl42NjEzXV0oayx2XjY2MzEpLHg9a1tJW3ZeNjU5Ml1dKElbdl42NjE2XSkpO248PDImMjd8fChlWCh2XjEzMzYsdl42NDI3LEQpLAprPU0zKHZeMTM4Nix2XjU1OTYsRFtJW3ZeMTM0OF1dKElbdl4xMzI3XSl8fElbdl4xMzkyXSlbSVt2XjEzNDVdXShJW3ZeMTM1NF0pLHg9RFtJW3ZeMTQwMV1dPT09SVt2XjEzODZdJiZrW0lbNV1dPjEmJiEha1sxXSk7KG48PDEmMTUpPT00JiZiW0lbNV1dIT0wJiYoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgwLDEsYltJWzNdXShELDEsYlswXSlbMF0pKTtuLTM+PjM9PTImJih4PUQhPT1udWxsKTtyZXR1cm4geH07ClhUPWZ1bmN0aW9uKC4uLm4pe3JldHVybiBuP24uam9pbigiLCIpOiJrZXkifTsKRTN0PWZ1bmN0aW9uKG4sLi4uVyl7cmV0dXJuKG49UE8obiwuLi5XKSkmJm4ubGVuZ3RoP25bMF06dm9pZCAwfTsKaWJVPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9MCxiPUUzdChuLC4uLlcpO2ImJihEPWIuTik7RzcobixEKzEsLi4uVyl9OwokRT1mdW5jdGlvbihuLFcpe3RoaXMudHlwZT1uO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLko9ITF9OwpyRD1mdW5jdGlvbihuLFcpeyRFLmNhbGwodGhpcyxuP24udHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5OPW51bGw7biYmdGhpcy5pbml0KG4sVyl9OwpONT1mdW5jdGlvbihuKXtyZXR1cm4hKCFufHwhbltzMl0pfTsKbzNiPWZ1bmN0aW9uKG4sVyxELGIsdil7dGhpcy5saXN0ZW5lcj1uO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1XO3RoaXMudHlwZT1EO3RoaXMuY2FwdHVyZT0hIWI7dGhpcy5oYW5kbGVyPXY7dGhpcy5rZXk9Kyt1SWg7dGhpcy51Nz10aGlzLnFfPSExfTsKSEw9ZnVuY3Rpb24obil7bi51Nz0hMDtuLmxpc3RlbmVyPW51bGw7bi5wcm94eT1udWxsO24uc3JjPW51bGw7bi5oYW5kbGVyPW51bGx9OwpmSz1mdW5jdGlvbihuKXt0aGlzLnNyYz1uO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuTj0wfTsKSkg9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnR5cGU7RCBpbiBuLmxpc3RlbmVycyYmZy5GSShuLmxpc3RlbmVyc1tEXSxXKSYmKEhMKFcpLG4ubGlzdGVuZXJzW0RdLmxlbmd0aD09MCYmKGRlbGV0ZSBuLmxpc3RlbmVyc1tEXSxuLk4tLSkpfTsKSVc9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoIWsudTcmJmsubGlzdGVuZXI9PVcmJmsuY2FwdHVyZT09ISFEJiZrLmhhbmRsZXI9PWIpcmV0dXJuIHZ9cmV0dXJuLTF9OwpBSD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGImJmIub25jZSlyZXR1cm4gU2cobixXLEQsYix2KTtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylBSChuLFdba10sRCxiLHYpO3JldHVybiBudWxsfUQ9bWgoRCk7cmV0dXJuIE41KG4pP24uU18oVyxELGcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLHYpOktLKG4sVyxELCExLGIsdil9OwpLSz1mdW5jdGlvbihuLFcsRCxiLHYsayl7aWYoIVcpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO3ZhciBoPWcuZnQodik/ISF2LmNhcHR1cmU6ISF2LHg9TzIobik7eHx8KG5bUExdPXg9bmV3IGZLKG4pKTtEPXguYWRkKFcsRCxiLGgsayk7aWYoRC5wcm94eSlyZXR1cm4gRDtiPWRVcigpO0QucHJveHk9YjtiLnNyYz1uO2IubGlzdGVuZXI9RDtpZihuLmFkZEV2ZW50TGlzdGVuZXIpdj09PXZvaWQgMCYmKHY9ITEpLG4uYWRkRXZlbnRMaXN0ZW5lcihXLnRvU3RyaW5nKCksYix2KTtlbHNlIGlmKG4uYXR0YWNoRXZlbnQpbi5hdHRhY2hFdmVudChaRChXLnRvU3RyaW5nKCkpLGIpO2Vsc2UgaWYobi5hZGRMaXN0ZW5lciYmbi5yZW1vdmVMaXN0ZW5lciluLmFkZExpc3RlbmVyKGIpO2Vsc2UgdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtVMisrO3JldHVybiBEfTsKZFVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihEKXtyZXR1cm4gVy5jYWxsKG4uc3JjLG4ubGlzdGVuZXIsRCl9CnZhciBXPXpCdDtyZXR1cm4gbn07ClNnPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSl7Zm9yKGxldCBrPTA7azxXLmxlbmd0aDtrKyspU2cobixXW2tdLEQsYix2KTtyZXR1cm4gbnVsbH1EPW1oKEQpO3JldHVybiBONShuKT9uLmVGKFcsRCxnLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2KTpLSyhuLFcsRCwhMCxiLHYpfTsKeTc9ZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgaz0wO2s8Vy5sZW5ndGg7aysrKXk3KG4sV1trXSxELGIsdik7ZWxzZSBiPWcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLEQ9bWgoRCksTjUobik/bi53SChXLEQsYix2KTpuJiYobj1PMihuKSkmJihXPW4uc2MoVyxELGIsdikpJiZFMihXKX07CkUyPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT09Im51bWJlciImJm4mJiFuLnU3KXt2YXIgVz1uLnNyYztpZihONShXKSlKSChXLmRfLG4pO2Vsc2V7dmFyIEQ9bi50eXBlLGI9bi5wcm94eTtXLnJlbW92ZUV2ZW50TGlzdGVuZXI/Vy5yZW1vdmVFdmVudExpc3RlbmVyKEQsYixuLmNhcHR1cmUpOlcuZGV0YWNoRXZlbnQ/Vy5kZXRhY2hFdmVudChaRChEKSxiKTpXLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyKGIpO1UyLS07KEQ9TzIoVykpPyhKSChELG4pLEQuTj09MCYmKEQuc3JjPW51bGwsV1tQTF09bnVsbCkpOkhMKG4pfX19OwpaRD1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbiBpST9pSVtuXTppSVtuXT0ib24iK259Owp6QnQ9ZnVuY3Rpb24obixXKXtpZihuLnU3KW49ITA7ZWxzZXtXPW5ldyByRChXLHRoaXMpO2xldCBEPW4ubGlzdGVuZXIsYj1uLmhhbmRsZXJ8fG4uc3JjO24ucV8mJkUyKG4pO249RC5jYWxsKGIsVyl9cmV0dXJuIG59OwpPMj1mdW5jdGlvbihuKXtuPW5bUExdO3JldHVybiBuIGluc3RhbmNlb2YgZks/bjpudWxsfTsKbWg9ZnVuY3Rpb24obil7aWYodHlwZW9mIG49PT0iZnVuY3Rpb24iKXJldHVybiBuO25bdUldfHwoblt1SV09ZnVuY3Rpb24oVyl7cmV0dXJuIG4uaGFuZGxlRXZlbnQoVyl9KTsKcmV0dXJuIG5bdUldfTsKZy5vVz1mdW5jdGlvbigpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLmRfPW5ldyBmSyh0aGlzKTt0aGlzLkhkPXRoaXM7dGhpcy5sWj1udWxsfTsKZEQ9ZnVuY3Rpb24obixXLEQsYil7Vz1uLmRfLmxpc3RlbmVyc1tTdHJpbmcoVyldO2lmKCFXKXJldHVybiEwO1c9Vy5jb25jYXQoKTt2YXIgdj0hMDtmb3IobGV0IGs9MDtrPFcubGVuZ3RoOysrayl7bGV0IGg9V1trXTtpZihoJiYhaC51NyYmaC5jYXB0dXJlPT1EKXtsZXQgeD1oLmxpc3RlbmVyLEw9aC5oYW5kbGVyfHxoLnNyYztoLnFfJiZKSChuLmRfLGgpO3Y9eC5jYWxsKEwsYikhPT0hMSYmdn19cmV0dXJuIHYmJiFiLmRlZmF1bHRQcmV2ZW50ZWR9OwpnLlQ3PWZ1bmN0aW9uKG4pe249KDAsZy56Nykobik7bEl8fChsST1sNGooKSk7bEkobil9OwpsNGo9ZnVuY3Rpb24oKXtpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWwhPT0idW5kZWZpbmVkIil7bGV0IG49bmV3IE1lc3NhZ2VDaGFubmVsLFc9e30sRD1XO24ucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoVy5uZXh0IT09dm9pZCAwKXtXPVcubmV4dDtsZXQgYj1XLmtBO1cua0E9bnVsbDtiKCl9fTsKcmV0dXJuIGZ1bmN0aW9uKGIpe0QubmV4dD17a0E6Yn07RD1ELm5leHQ7bi5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19cmV0dXJuIGZ1bmN0aW9uKG4pe2cucWkuc2V0VGltZW91dChuLDApfX07ClR6cj1mdW5jdGlvbigpe2Zvcih2YXIgbjtuPWpnLnJlbW92ZSgpOyl7dHJ5e24uTi5jYWxsKG4uc2NvcGUpfWNhdGNoKFcpe2g0KFcpfUNLLnB1dChuKX1CTD0hMX07CmcuRlQ9ZnVuY3Rpb24oKXt9OwpqTWg9ZnVuY3Rpb24obil7dmFyIFc9V3x8MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwLFcpKX19OwpnLndEPWZ1bmN0aW9uKG4pe3ZhciBXPSExLEQ7cmV0dXJuIGZ1bmN0aW9uKCl7V3x8KEQ9bigpLFc9ITApO3JldHVybiBEfX07CmcuWDE9ZnVuY3Rpb24obixXKXt0aGlzLk49MDt0aGlzLks9dm9pZCAwO3RoaXMuWD10aGlzLko9dGhpcy5XPW51bGw7dGhpcy5qPXRoaXMuVj0hMTtpZihuIT1nLkZUKXRyeXtsZXQgRD10aGlzO24uY2FsbChXLGZ1bmN0aW9uKGIpe2dwKEQsMixiKX0sZnVuY3Rpb24oYil7Z3AoRCwzLGIpfSl9Y2F0Y2goRCl7Z3AodGhpcywzLEQpfX07CnE4PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuY29udGV4dD10aGlzLko9dGhpcy5XPXRoaXMuTj1udWxsO3RoaXMuWD0hMX07CmcudCQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUczLmdldCgpO2IuVz1uO2IuSj1XO2IuY29udGV4dD1EO3JldHVybiBifTsKJEc9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIG47dmFyIFc9bmV3IGcuWDEoZy5GVCk7Z3AoVywyLG4pO3JldHVybiBXfTsKZy5ycD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGcuWDEoZnVuY3Rpb24oVyxEKXtEKG4pfSl9OwpwcT1mdW5jdGlvbihuLFcsRCxiKXtnLk44KG4sZy50JChXfHxnLkZULER8fG51bGwsYikpfTsKWUc9ZnVuY3Rpb24obixXKXtpZihuLk49PTApaWYobi5XKXt2YXIgRD1uLlc7aWYoRC5KKXt2YXIgYj0wLHY9bnVsbCxrPW51bGw7Zm9yKGxldCBoPUQuSjtoJiYoaC5YfHwoYisrLGguTj09biYmKHY9aCksISh2JiZiPjEpKSk7aD1oLm5leHQpdnx8KGs9aCk7diYmKEQuTj09MCYmYj09MT9ZRyhELFcpOihrPyhiPWssYi5uZXh0PT1ELlgmJihELlg9YiksYi5uZXh0PWIubmV4dC5uZXh0KTpISihEKSxmcShELHYsMyxXKSkpfW4uVz1udWxsfWVsc2UgZ3AobiwzLFcpfTsKZy5OOD1mdW5jdGlvbihuLFcpe24uSnx8bi5OIT0yJiZuLk4hPTN8fEokKG4pO24uWD9uLlgubmV4dD1XOm4uSj1XO24uWD1XfTsKU089ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9Zy50JChudWxsLG51bGwsbnVsbCk7di5OPW5ldyBnLlgxKGZ1bmN0aW9uKGssaCl7di5XPVc/ZnVuY3Rpb24oeCl7dHJ5e2xldCBMPVcuY2FsbChiLHgpO2soTCl9Y2F0Y2goTCl7aChMKX19Oms7CnYuSj1EP2Z1bmN0aW9uKHgpe3RyeXtsZXQgTD1ELmNhbGwoYix4KTtMPT09dm9pZCAwJiZ4IGluc3RhbmNlb2YgZy5JNT9oKHgpOmsoTCl9Y2F0Y2goTCl7aChMKX19Omh9KTsKdi5OLlc9bjtnLk44KG4sdik7cmV0dXJuIHYuTn07CmdwPWZ1bmN0aW9uKG4sVyxEKXtuLk49PTAmJihuPT09RCYmKFc9MyxEPW5ldyBUeXBlRXJyb3IoIlByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpLG4uTj0xLGcuQSQoRCxuLklRLG4uQVMsbil8fChuLks9RCxuLk49VyxuLlc9bnVsbCxKJChuKSxXIT0zfHxEIGluc3RhbmNlb2YgZy5JNXx8Q18xKG4sRCkpKX07CmcuQSQ9ZnVuY3Rpb24obixXLEQsYil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIHBxKG4sVyxELGIpLCEwO2lmKG4pdHJ5e3ZhciB2PSEhbi4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXt2PSExfWVsc2Ugdj0hMTtpZih2KXJldHVybiBuLnRoZW4oVyxELGIpLCEwO2lmKGcuZnQobikpdHJ5e2xldCBrPW4udGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpcmV0dXJuIEJ6aShuLGssVyxELGIpLCEwfWNhdGNoKGspe3JldHVybiBELmNhbGwoYixrKSwhMH1yZXR1cm4hMX07CkJ6aT1mdW5jdGlvbihuLFcsRCxiLHYpe2Z1bmN0aW9uIGsoTCl7eHx8KHg9ITAsYi5jYWxsKHYsTCkpfQpmdW5jdGlvbiBoKEwpe3h8fCh4PSEwLEQuY2FsbCh2LEwpKX0KdmFyIHg9ITE7dHJ5e1cuY2FsbChuLGgsayl9Y2F0Y2goTCl7ayhMKX19OwpKJD1mdW5jdGlvbihuKXtuLlZ8fChuLlY9ITAsZy5tSyhuLnlzLG4pKX07CkhKPWZ1bmN0aW9uKG4pe3ZhciBXPW51bGw7bi5KJiYoVz1uLkosbi5KPVcubmV4dCxXLm5leHQ9bnVsbCk7bi5KfHwobi5YPW51bGwpO3JldHVybiBXfTsKZnE9ZnVuY3Rpb24obixXLEQsYil7aWYoRD09MyYmVy5KJiYhVy5YKWZvcig7biYmbi5qO249bi5XKW4uaj0hMTtpZihXLk4pVy5OLlc9bnVsbCxLcShXLEQsYik7ZWxzZSB0cnl7Vy5YP1cuVy5jYWxsKFcuY29udGV4dCk6S3EoVyxELGIpfWNhdGNoKHYpe091LmNhbGwobnVsbCx2KX1HMy5wdXQoVyl9OwpLcT1mdW5jdGlvbihuLFcsRCl7Vz09Mj9uLlcuY2FsbChuLmNvbnRleHQsRCk6bi5KJiZuLkouY2FsbChuLmNvbnRleHQsRCl9OwpDXzE9ZnVuY3Rpb24obixXKXtuLmo9ITA7Zy5tSyhmdW5jdGlvbigpe24uaiYmT3UuY2FsbChudWxsLFcpfSl9OwpnLkk1PWZ1bmN0aW9uKG4pe2cuVGIuY2FsbCh0aGlzLG4pfTsKZy5QSj1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLmd0PW58fDE7dGhpcy5WNz1XfHxnLnFpO3RoaXMuaEU9KDAsZy5LdCkodGhpcy5SUSx0aGlzKTt0aGlzLmpiPWcuVXcoKX07CmcuWnQ9ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIilEJiYobj0oMCxnLkt0KShuLEQpKTtlbHNlIGlmKG4mJnR5cGVvZiBuLmhhbmRsZUV2ZW50PT0iZnVuY3Rpb24iKW49KDAsZy5LdCkobi5oYW5kbGVFdmVudCxuKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIE51bWJlcihXKT4yMTQ3NDgzNjQ3Py0xOmcucWkuc2V0VGltZW91dChuLFd8fDApfTsKZy5VdT1mdW5jdGlvbihuLFcpe3ZhciBEPW51bGw7cmV0dXJuKG5ldyBnLlgxKGZ1bmN0aW9uKGIsdil7RD1nLlp0KGZ1bmN0aW9uKCl7YihXKX0sbik7CkQ9PS0xJiZ2KEVycm9yKCJGYWlsZWQgdG8gc2NoZWR1bGUgdGltZXIuIikpfSkpLnNQKGZ1bmN0aW9uKGIpe2cucWkuY2xlYXJUaW1lb3V0KEQpOwp0aHJvdyBiO30pfTsKRXU9ZnVuY3Rpb24obixXLC4uLkQpe24uVy5oYXMoVyl8fG4uVy5zZXQoVyxuZXcgeTgoVyxEKSl9Owp1ZT1mdW5jdGlvbihuLFcsLi4uRCl7bi5XLmhhcyhXKXx8bi5XLnNldChXLG5ldyBpZShXLEQpKX07Cm81PWZ1bmN0aW9uKG4pe24uSi5lbmFibGVkfHxuLkouc3RhcnQoKTtuLlYrKztuLlY+PW4uWCYmbi5qKCl9OwpGY2I9ZnVuY3Rpb24obil7Zm9yKGxldCBXPTA7VzxuLmxlbmd0aDtXKyspbltXXS5jbGVhcigpfTsKZHA9ZnVuY3Rpb24obixXLC4uLkQpeyhXPW4uTihXKSkmJlcgaW5zdGFuY2VvZiBpZSYmKGliVShXLC4uLkQpLG81KG4pKX07CnozPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19Owp3TVM9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTsKbGU9ZnVuY3Rpb24oKXt9OwpUMz1mdW5jdGlvbihuLFcsRCl7aWYoVz09bnVsbClELnB1c2goIm51bGwiKTtlbHNle2lmKHR5cGVvZiBXPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9VztXPWIubGVuZ3RoO0QucHVzaCgiWyIpO3ZhciB2PSIiO2Zvcih2YXIgaz0wO2s8VztrKyspRC5wdXNoKHYpLFQzKG4sYltrXSxEKSx2PSIsIjtELnB1c2goIl0iKTtyZXR1cm59aWYoVyBpbnN0YW5jZW9mIFN0cmluZ3x8VyBpbnN0YW5jZW9mIE51bWJlcnx8VyBpbnN0YW5jZW9mIEJvb2xlYW4pVz1XLnZhbHVlT2YoKTtlbHNle0QucHVzaCgieyIpO3Y9IiI7Zm9yKGIgaW4gVylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVyxiKSYmKGs9V1tiXSx0eXBlb2YgayE9ImZ1bmN0aW9uIiYmKEQucHVzaCh2KSxqTyhiLEQpLEQucHVzaCgiOiIpLFQzKG4sayxEKSx2PSIsIikpO0QucHVzaCgifSIpO3JldHVybn19c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOmpPKFcsRCk7YnJlYWs7CmNhc2UgIm51bWJlciI6RC5wdXNoKGlzRmluaXRlKFcpJiYhaXNOYU4oVyk/U3RyaW5nKFcpOiJudWxsIik7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6RC5wdXNoKFN0cmluZyhXKSk7YnJlYWs7Y2FzZSAiZnVuY3Rpb24iOkQucHVzaCgibnVsbCIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZTogIit0eXBlb2YgVyk7fX19OwpqTz1mdW5jdGlvbihuLFcpe1cucHVzaCgnIicsbi5yZXBsYWNlKE1qWixmdW5jdGlvbihEKXt2YXIgYj1DcVtEXTtifHwoYj0iXFx1IisoRC5jaGFyQ29kZUF0KDApfDY1NTM2KS50b1N0cmluZygxNikuc2xpY2UoMSksQ3FbRF09Yik7cmV0dXJuIGJ9KSwnIicpfTsKUkJiPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDA6cmV0dXJuIk5vIEVycm9yIjtjYXNlIDE6cmV0dXJuIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudCI7Y2FzZSAyOnJldHVybiJGaWxlIG5vdCBmb3VuZCI7Y2FzZSAzOnJldHVybiJGaXJlZm94IHNpbGVudGx5IGVycm9yZWQiO2Nhc2UgNDpyZXR1cm4iQXBwbGljYXRpb24gY3VzdG9tIGVycm9yIjtjYXNlIDU6cmV0dXJuIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZCI7Y2FzZSA2OnJldHVybiJIdHRwIHJlc3BvbnNlIGF0IDQwMCBvciA1MDAgbGV2ZWwiO2Nhc2UgNzpyZXR1cm4iUmVxdWVzdCB3YXMgYWJvcnRlZCI7Y2FzZSA4OnJldHVybiJSZXF1ZXN0IHRpbWVkIG91dCI7Y2FzZSA5OnJldHVybiJUaGUgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZSBvZmZsaW5lIjtkZWZhdWx0OnJldHVybiJVbnJlY29nbml6ZWQgZXJyb3IgY29kZSJ9fTsKQko9ZnVuY3Rpb24oKXt9OwpGMT1mdW5jdGlvbigpe307CndwPWZ1bmN0aW9uKG4pe2cub1cuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLlRDPW58fG51bGw7dGhpcy5KPSExO3RoaXMuTj1udWxsO3RoaXMuSz0iIjt0aGlzLlc9MDt0aGlzLmo9IiI7dGhpcy5YPXRoaXMudHc9dGhpcy5ZPXRoaXMuY0o9ITE7dGhpcy5EPTA7dGhpcy5WPW51bGw7dGhpcy5iZD0iIjt0aGlzLk89ITF9OwpRTVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9bmV3IHdwO004LnB1c2goeCk7VyYmeC5TXygiY29tcGxldGUiLFcpO3guZUYoInJlYWR5Iix4LldVKTtrJiYoeC5EPU1hdGgubWF4KDAsaykpO2gmJih4Lk89aCk7eC5zZW5kKG4sRCxiLHYpfTsKVjg9ZnVuY3Rpb24obixXKXtuLko9ITE7bi5OJiYobi5YPSEwLG4uTi5hYm9ydCgpLG4uWD0hMSk7bi5qPVc7bi5XPTU7UjUobik7UTgobil9OwpSNT1mdW5jdGlvbihuKXtuLmNKfHwobi5jSj0hMCxuLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksbi5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07Cm5WPWZ1bmN0aW9uKG4pe2lmKG4uSiYmdHlwZW9mIGNKIT0idW5kZWZpbmVkIilpZihuLlkmJmE1KG4pPT00KXNldFRpbWVvdXQobi5OOC5iaW5kKG4pLDApO2Vsc2UgaWYobi5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksbi5pc0NvbXBsZXRlKCkpe24uZ2V0U3RhdHVzKCk7bi5KPSExO3RyeXtpZihuLmlzU3VjY2VzcygpKW4uZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxuLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle24uVz02O3RyeXt2YXIgVz1hNShuKT4yP24uTi5zdGF0dXNUZXh0OiIifWNhdGNoKEQpe1c9IiJ9bi5qPVcrIiBbIituLmdldFN0YXR1cygpKyJdIjtSNShuKX19ZmluYWxseXtROChuKX19fTsKUTg9ZnVuY3Rpb24obixXKXtpZihuLk4pe24uViYmKGNsZWFyVGltZW91dChuLlYpLG4uVj1udWxsKTtsZXQgRD1uLk47bi5OPW51bGw7V3x8bi5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtELm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsfWNhdGNoKGIpe319fTsKYTU9ZnVuY3Rpb24obil7cmV0dXJuIG4uTj9uLk4ucmVhZHlTdGF0ZTowfTsKVzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBuLk4/bi5OLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChXKXtyZXR1cm4iIn19OwpEbz1mdW5jdGlvbihuKXt0cnl7aWYoIW4uTilyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gbi5OKXJldHVybiBuLk4ucmVzcG9uc2U7c3dpdGNoKG4uYmQpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIG4uTi5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIG4uTilyZXR1cm4gbi5OLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKVmp0PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249KG4uTiYmYTUobik+PTI/bi5OLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIjoiIikuc3BsaXQoIlxyXG4iKTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7aWYoZy5GaChuW2JdKSljb250aW51ZTt2YXIgRD1Td2gobltiXSk7bGV0IHY9RFswXTtEPURbMV07aWYodHlwZW9mIEQhPT0ic3RyaW5nIiljb250aW51ZTtEPUQudHJpbSgpO2xldCBrPVdbdl18fFtdO1dbdl09aztrLnB1c2goRCl9cmV0dXJuIFd4KFcsZnVuY3Rpb24oYil7cmV0dXJuIGIuam9pbigiLCAiKX0pfTsKdjM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPWJuKCk7Vz1XKCk7bi5YKEQsYm4oKS1iKTtyZXR1cm4gV307Cm5sMT1mdW5jdGlvbihuLFcsRCxiKXtuPVVVYihQX2koS2NoKG5ldyBrWSxuKSkpLmtDKCk7Vy5sZW5ndGgmJlpiaChuLHRqVShuZXcgY0ZaLFcpKTtiIT09dm9pZCAwJiYobi5Saj1iKTt2YXIgdj1uZXcgYTRqKG4uYnVpbGQoKSk7Zy51KHYsbik7dmFyIGs9bmV3IGhxKHtmbHVzaChoKXt0cnl7di5mbHVzaChoKX1jYXRjaCh4KXtEKHgpfX19KTtrLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtrLmooKX1maW5hbGx5e3YuZGlzcG9zZSgpfX0pfSk7CmsuWD0xRTU7ay5mbHVzaEludGVydmFsPTNFNDtrLkouc2V0SW50ZXJ2YWwoM0U0KTtyZXR1cm4ga307CldXcj1mdW5jdGlvbihuKXtpZihuLnRpbWVyPT09dm9pZCAwKXtsZXQgVz1NYXRoLm1heCgwLG4uTituLkotYm4oKSk7bi50aW1lcj1zZXRUaW1lb3V0KCgpPT57dHJ5e24uY2FsbGJhY2soKX1maW5hbGx5e24uTj1ibigpLG4udGltZXI9dm9pZCAwfX0sVyl9fTsKYnBNPWZ1bmN0aW9uKG4sVz1bXSl7cmV0dXJuIG5ldyBEaHgobixXKX07CmJuPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9OwpMVj1mdW5jdGlvbihuLFcpe2lmKG4uZGlzYWJsZSlyZXR1cm4gbmV3IHhZO1c9Vz9uMChXKTpbXTtyZXR1cm4gYnBNKHtWajpuLlZqLFJoOm4uSnAsTFQ6bi5SaSxSajpuLlJqLHREOm4udEQscm86bi5yb30sVyl9Owp2bHI9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIG51bGw7bj1KUyhuLDQpO3JldHVybiBuPT09bnVsbHx8bj09PXZvaWQgMD9udWxsOmszKG4pfTsKZyQ9ZnVuY3Rpb24oKXtlbS5pbnN0YW5jZXx8KGVtLmluc3RhbmNlPW5ldyBlbSk7cmV0dXJuIGVtLmluc3RhbmNlfTsKazVaPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFXJiYhRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIWIpcmV0dXJuIFg2KFcsRCk7dmFyIHY7KHY9bi5KKVtiXXx8KHZbYl09bmV3IFByb21pc2UoKGssaCk9PntYNihXLEQpLnRoZW4oKCk9PntuLk49YjtrKCl9LHg9PntkZWxldGUgbi5KW2JdOwpoKHgpfSl9KSk7CnJldHVybiBuLkpbYl19Owp0cT1mdW5jdGlvbihuLFcpe3JldHVybiBrNVoobixnZShXLHF2LDEseFUpLGdlKFcsR0gsMix4VSksWTkoVywzLHZvaWQgMCx4VSkpfTsKWDY9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz9oSFMoVyk6bj94aGIobik6UHJvbWlzZS5yZXNvbHZlKCl9OwpoSFM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKChXLEQpPT57dmFyIGI9Zy56RigiU0NSSVBUIiksdj12bHIobik7Zy5QTShiLHYpO2Iub25sb2FkPSgpPT57Zy5DVChiKTtXKCl9OwpiLm9uZXJyb3I9KCk9PntnLkNUKGIpO0QoRXJyb3IoIkVXTFMiKSl9OwooZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChiKX0pfTsKeGhiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57dmFyIEQ9Zy56RigiU0NSSVBUIik7aWYobil7dmFyIGI9SlMobiw2KTtiPWI9PT1udWxsfHxiPT09dm9pZCAwP251bGw6bWMoYil9ZWxzZSBiPW51bGw7RC50ZXh0Q29udGVudD1LYihiKTtPTShEKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChEKTtnLkNUKEQpO1coKX0pfTsKTFcyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFTKG4sMSxXKX07CmVIaD1mdW5jdGlvbihuLFcpe3JldHVybiBBUyhuLDIsVyl9OwpnbGg9ZnVuY3Rpb24obixXKXtyZXR1cm4gQVMobiwzLFcpfTsKc2w9YXN5bmMgZnVuY3Rpb24obixXLEQsYix2KXtXPWdsaChlSGgoTFcyKG5ldyAkWSxuLnJlcXVlc3RLZXkpLFcpLEQpO0Q9bi5OKCk7bj1hd2FpdCBiLlYoImMiLG4ucmVxdWVzdEtleSx2LG4uY2xpZW50LmNyZWF0ZShXLEQpKTt2YXIgaz1WbChSeihuLDIpKTtpZihrLmxlbmd0aClyZXR1cm4gdjMoYiwoKT0+e3ZhciBoPW5ldyBVaW50OEFycmF5KGsubGVuZ3RoKTtmb3IodmFyIHg9MDt4PGsubGVuZ3RoO3grKyloW3hdPWtbeF0rOTc7aWYoZy5xaS5UZXh0RGVjb2RlciloPShuZXcgVGV4dERlY29kZXIpLmRlY29kZShoKTtlbHNlIGlmKGgubGVuZ3RoPD04MTkyKWg9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGgpO2Vsc2V7eD0iIjtmb3IobGV0IEw9MDtMPGgubGVuZ3RoO0wrPTgxOTIpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsTCxMKzgxOTIpO3grPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX1oPXh9cmV0dXJuIFg0WihoKX0sCiJVIik7CmI9Z2UobixyJCwxKTtpZighYil0aHJvdyBFcnJvcigiTWlzc2luZyBmaWVsZCIpO3JldHVybiBifTsKSDM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bi5OKCk7dmFyIGs9bmV3IE52O2s9QVMoaywxLG4ucmVxdWVzdEtleSk7dmFyIGg9QVMoaywyLFcpO1c9RC5WO2s9bi5yZXF1ZXN0S2V5O249bi5jbGllbnQ7dj1ZWShuLk4sbi5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixoLHZ8fHt9LHFUUyk7cmV0dXJuIFcuY2FsbChELCJnIixrLGIsdil9OwpHNWg9ZnVuY3Rpb24obixXLEQsYix2KXtyZXR1cm4gbiBpbnN0YW5jZW9mIGZWP3NsKG4sYix2LFcsRCk6c2wobixiLHYsbmV3IHhZLDApfTsKckFiPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGI9ZyQoKSx2PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGspe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCB4PW51bGw7aWYoaCl7SnEobiw3KTt0cnl7eD1hd2FpdCBJaShoLnNuYXBzaG90KHt9KSxrLmpkLCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKEcpe3g9IkU6VUNFIn19bGV0IEwsZT1uZXcgZy5oSChoP2sudzg6ay5DcSxrLm96LGsuZDgsay5BaSk7CmZvcihsZXQgRz0xO0c8PWsubWF4QXR0ZW1wdHM7RysrKXtpZihHIT09MSl7SnEobiwwKTtuLk49bmV3IFNtKGUuZ2V0VmFsdWUoKSxrLnVtLGsubmIpO2xldCByPWF3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7cj09PTE/KEc9MSxlLnJlc2V0KCkpOmcueEUoZSl9dHJ5e2xldCByO0Q/cj1EOihKcShuLDUpLHI9YXdhaXQgSWkoRzVoKFcsbi5sb2dnZXIsRyxiLk4seCksay5ocCwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoIlJHRjpGZXRjaCB0aW1lZCBvdXQiKSkpKTsKSnEobiwzKTthd2FpdCBJaSh0cShiLHIpLGsuUVgsKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJEVFo6U2NyaXB0IHRpbWVkIG91dCIpKSk7CkpxKG4sOCk7YXdhaXQgdjtsZXQgTj1uZXcgQXEoe2NoYWxsZW5nZTpyLHgzOm4ub3B0aW9ucy54Myx3MzpuLm9wdGlvbnMudzN9KTthd2FpdCBJaShOLk92LGsucUssKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJRRUc6U2V0dXAgdGltZWQgb3V0IikpKTsKTD1OO2JyZWFrfWNhdGNoKHIpe24uaGFuZGxlRXJyb3IociksbUkobil9fWlmKG4ucU4oKSlicmVhaztMJiYoRD12b2lkIDAsdDFVKG4saCksaD1MLCRoaChuLEwpLG1JKG4pKTtKcShuLDIpO24uTj1uZXcgU20oay5GWixrLnVtLGsubmIpO24uaXNQYXVzZWQmJm4uTi5wYXVzZSgpO2F3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7aWYobi5xTigpKWJyZWFrfWg/LmRpc3Bvc2UoKX07CnNQMj1mdW5jdGlvbihuKXtuLks9RXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIik7bi5qLnJlc29sdmUoKTtXMihuLlYucHJvbWlzZSk7bi5WLnJlamVjdChFcnJvcigiQ2FuY2VsbGVkIGJ5IGRpc3Bvc2UiKSk7bi5sb2dnZXIuZGlzcG9zZSgpO1Byb21pc2UuYWxsKG4uWCkudGhlbihhc3luYygpPT57bi5XPy5kaXNwb3NlKCk7bi5XPXZvaWQgMH0pOwpuLlg9W107bi5OPy5KKCk7VzIobi5KLnByb21pc2UpO24uSi5yZWplY3QoRXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIikpfTsKTlR0PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4ucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO24uTj8uSigpO2F3YWl0IG4uSi5wcm9taXNlfTsKcDRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5xSjtuLnFKPSgpPT57RCgpO1coKX19OwokaGg9ZnVuY3Rpb24obixXKXtuLnFOKCl8fChuLlc9VyxuLmxvZ2dlci51cGRhdGUoVy5RRCgpKSxuLmoucmVzb2x2ZSgpLG4uVi5yZXNvbHZlKHZvaWQgMCksbi5xSigpKX07CnQxVT1mdW5jdGlvbihuLFcpe1cmJihQcm9taXNlLmFsbChuLlgpLnRoZW4oKCk9PnZvaWQgVy5kaXNwb3NlKCkpLG4uWD1bXSl9OwpKcT1mdW5jdGlvbihuLFcpe24uWT1XO24ub3B0aW9ucy5mUD8uKFcpfTsKbUk9ZnVuY3Rpb24obil7bi5xTigpfHwobi5KLnJlc29sdmUoKSxuLko9bmV3IGcuS1YpfTsKSWk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO0Q9KG5ldyBQcm9taXNlKHY9PntiPXNldFRpbWVvdXQodixXKX0pKS50aGVuKEQpOwpXMihEKTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtuLmZpbmFsbHkoKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGIpKSwKRF0pfTsKWVRVPWZ1bmN0aW9uKG4sVyl7bi5lbmRUaW1lTXM9RGF0ZS5ub3coKStXO24udGljaygpfTsKT2w9ZnVuY3Rpb24obil7bi5OJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUDM9ZnVuY3Rpb24obixXKXt0cnl7cmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShuLFcpLCEwfWNhdGNoKEQpe3JldHVybiExfX07ClpvPWZ1bmN0aW9uKG4sVz0wLEQ9bi5sZW5ndGgsYil7dmFyIHY9MDtmb3IoYiYmKHY9Wm8oYikpO1c8RDtXKyspdj1IcGkoMzEsdikrKHR5cGVvZiBuPT09InN0cmluZyI/bi5jaGFyQ29kZUF0KFcpOm5bV10pfDA7cmV0dXJuIHZ9Owp5aT1mdW5jdGlvbihuKXt2YXIgW1csRF09W1pvKG4sMCxuLmxlbmd0aD4+MSxVbCksWm8obixuLmxlbmd0aD4+MSldO3JldHVybiBXLnRvU3RyaW5nKDE2KStELnRvU3RyaW5nKDE2KX07CkVsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W1pvKFcsMCxXLmxlbmd0aD4+MSx2b2lkIDApLFpvKFcsVy5sZW5ndGg+PjEpXTtuPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7Vz1uWzBdO3ZhciBbYix2XT1EO2ZvcihEPTE7RDxuLmxlbmd0aDtEKz0yKXt2YXIgaz1XLGg9RCx4PWIsTD12O2ZvcihsZXQgZT0wO2U8MjI7ZSsrKWg9aD4+Pjh8aDw8MjQsaCs9a3wwLGhePXgrMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1oLEw9TD4+Pjh8TDw8MjQsTCs9eHwwLExePWUrMzgyOTMseD14PDwzfHg+Pj4yOSx4Xj1MO2s9W2ssaF07bltEXV49a1swXTtEKzE8bi5sZW5ndGgmJihuW0QrMV1ePWtbMV0pfX07CmZlYj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSg0LShVbC5sZW5ndGgrRC5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2srVWwubGVuZ3RoKzQrRC5sZW5ndGgpLHg9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxMPTA7eC5zZXRVaW50MzIoTCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO0w9TCs0K2s7aC5zZXQoVWwsTCk7TCs9VWwubGVuZ3RoO3guc2V0VWludDMyKEwsdik7aC5zZXQoRCxMKzQpO0VsKGgsYik7cmV0dXJuIG4ucXAoVyxlPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShlKSk/UDMoVyxnLkVBKGgpKT8icyI6InQiOiJpIn07CkpBdz1mdW5jdGlvbihuLFcpe3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShuKTtpZighRClyZXR1cm5bIm0iXTt0cnl7dmFyIGI9bHAoRCk7RWwoYixXKX1jYXRjaCh2KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiYyJdfWZvcihXPTQ7Vzw3JiZiW1ddPT09MDspVysrO2ZvcihEPTA7RDxVbC5sZW5ndGg7RCsrKWlmKGJbVysrXSE9PVVsW0RdKXJldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0obiksWyJkIl07RD0obmV3IERhdGFWaWV3KGIuYnVmZmVyKSkuZ2V0VWludDMyKFcpO3JldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkvMUUzKT49RD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiZSJdKTpbImEiLG5ldyBVaW50OEFycmF5KGIuYnVmZmVyLFcrNCldfTsKSWV3PWZ1bmN0aW9uKG4pe3ZhciBXPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiaVU1cS0hTzlAJCIpO2lmKCFXKXJldHVybiBuZXcgdW4obik7dmFyIEQ9Vy5zcGxpdCgiLCIpO2lmKEQubGVuZ3RoPDIpcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaVU1cS0hTzlAJCIpLG5ldyB1bihuKTtXPUQuc2xpY2UoMSk7Vy5sZW5ndGg9PT0xJiZXWzBdPT09IiImJihXPVtdKTtEPU51bWJlcihEWzBdKTtyZXR1cm4gaXNOYU4oRCl8fEQ8MHx8RD5XLmxlbmd0aD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IHVuKG4pKTpuZXcgdW4obixELFcpfTsKbWh3PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoKXtELT1iO0QtPXY7RF49dj4+PjEzO2ItPXY7Yi09RDtiXj1EPDw4O3YtPUQ7di09Yjt2Xj1iPj4+MTM7RC09YjtELT12O0RePXY+Pj4xMjtiLT12O2ItPUQ7Yl49RDw8MTY7di09RDt2LT1iO3ZePWI+Pj41O0QtPWI7RC09djtEXj12Pj4+MztiLT12O2ItPUQ7Yl49RDw8MTA7di09RDt2LT1iO3ZePWI+Pj4xNX0Kbj1TVHIobik7Zm9yKHZhciBEPTI2NTQ0MzU3NjksYj0yNjU0NDM1NzY5LHY9MzE0MTU5MjY1LGs9bi5sZW5ndGgsaD1rLHg9MDtoPj0xMjtoLT0xMix4Kz0xMilEKz1vaShuLHgpLGIrPW9pKG4seCs0KSx2Kz1vaShuLHgrOCksVygpO3YrPWs7c3dpdGNoKGgpe2Nhc2UgMTE6dis9blt4KzEwXTw8MjQ7Y2FzZSAxMDp2Kz1uW3grOV08PDE2O2Nhc2UgOTp2Kz1uW3grOF08PDg7Y2FzZSA4OmIrPW5beCs3XTw8MjQ7Y2FzZSA3OmIrPW5beCs2XTw8MTY7Y2FzZSA2OmIrPW5beCs1XTw8ODtjYXNlIDU6Yis9blt4KzRdO2Nhc2UgNDpEKz1uW3grM108PDI0O2Nhc2UgMzpEKz1uW3grMl08PDE2O2Nhc2UgMjpEKz1uW3grMV08PDg7Y2FzZSAxOkQrPW5beCswXX1XKCk7cmV0dXJuIEFBUy50b1N0cmluZyh2KX07ClNUcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2gobi5jaGFyQ29kZUF0KEQpKTtyZXR1cm4gV307Cm9pPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5bVyswXSsobltXKzFdPDw4KSsobltXKzJdPDwxNikrKG5bVyszXTw8MjQpfTsKZCQ9ZnVuY3Rpb24obixXKXt2YXIgRD1zZXRUaW1lb3V0KCgpPT57bi5YLnJlc29sdmUoKX0sVyk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KEQpKX07CmxuPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9YCR7VyhuLmVycm9yLm1lc3NhZ2UpfToke1cobi5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtXPUQubGVuZ3RoKzE7RD16SChEKTt2YXIgYj1uZXcgVWludDhBcnJheSg0K0QubGVuZ3RoKTtiLnNldChbNDIsVyYxMjd8MTI4LFc+Pjcsbi5lcnJvci5jb2RlXSk7Yi5zZXQoRCw0KTtyZXR1cm4gYn07CnpIPWZ1bmN0aW9uKG4pe3JldHVybiBnbG9iYWxUaGlzLlRleHRFbmNvZGVyPyhuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKTpMMChuKX07CktXVT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4gaW5zdGFuY2VvZiBmVj9IMyhuLEQsVywxKTpuLlpqKEQpfTsKQjM9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9dm9pZCAwO24uaisrO3ZhciBEPW5ldyBnLktWO24uTzEgaW5zdGFuY2VvZiBUSCYmbi5PMS5YLnB1c2goRC5wcm9taXNlKTtpZihuLlhsKXtsZXQgaz1uZXcgZy5LVjtzZXRUaW1lb3V0KCgpPT52b2lkIGsucmVzb2x2ZSgpKTsKYXdhaXQgay5wcm9taXNlfXZhciBiPW4ubG9nZ2VyLnNoYXJlKCk7dHJ5e24uc3RhdGU9NTtsZXQgaz1bXSxoPWF3YWl0IElpKG4uTzEuc25hcHNob3Qoe3dfOnt9LHRMOmt9KSxuLmtkLnJTLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTUsIk1EQTpUaW1lb3V0IikpKTsKam0obiwiTURBOkRpc3Bvc2VkIik7bGV0IHg9a1swXTtuLnN0YXRlPTY7bGV0IEw9YXdhaXQgSWkoS1dVKG4uVWcsYixoKSxuLmtkLlhVLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTAsIkJXQjpUaW1lb3V0IikpKTsKam0obiwiQldCOkRpc3Bvc2VkIik7bi5zdGF0ZT03O1c9djMoYiwoKT0+e3ZhciBlPU9waShuLEwsRCx4KTtlLlgucHJvbWlzZS50aGVuKCgpPT52b2lkIG4uVigpKTsKcmV0dXJuIGV9LCJpIil9Y2F0Y2goayl7Vz8uZGlzcG9zZSgpOwppZighbi5KKXtsZXQgaD1QZjIobixrKTtELnJlc29sdmUoKTt2YXIgdjtpZih2PW4uTzEgaW5zdGFuY2VvZiBUSCYmbi5qPDIpYTppZihrIGluc3RhbmNlb2YgUUcpdj1rLmNvZGUhPT0zMiYmay5jb2RlIT09MjAmJmsuY29kZSE9PTEwO2Vsc2V7aWYoayBpbnN0YW5jZW9mIENWKXN3aXRjaChrLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6dj0hMTticmVhayBhfXY9ITB9aWYodil7bGV0IHg9c2V0VGltZW91dCgoKT0+dm9pZCBuLlYoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKG4uTj82RTQ6MUUzKSk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHgpKTsKcmV0dXJufW4uSj1ofWIuSihuLk4/MTM6MTQpO24uWC5yZWplY3Qobi5KKTtyZXR1cm59ZmluYWxseXtiLmRpc3Bvc2UoKX1uLnN0YXRlPTg7bi5qPTA7bi5OPy5kaXNwb3NlKCk7bi5OPVc7bi5YLnJlc29sdmUoKX07ClBmMj1mdW5jdGlvbihuLFcpe2lmKCEoVyBpbnN0YW5jZW9mIFFHKSlpZihXIGluc3RhbmNlb2YgQ1Ype2xldCBEPUVycm9yKFcudG9TdHJpbmcoKSk7RC5zdGFjaz1XLnN0YWNrO1c9bmV3IFFHKDExLCJFQkg6RXJyb3IiLEQpfWVsc2UgVz1uZXcgUUcoMTIsIkJTTzpVbmtub3duIixXKTtyZXR1cm4gbi5yZXBvcnRFcnJvcihXKX07CmptPWZ1bmN0aW9uKG4sVyl7aWYobi5xTigpKXRocm93IG5ldyBRRyhuLk4/MjA6MzIsVyk7fTsKT3BpPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSh1NChpVyhXLDIpKT8/MCkqMUUzO2lmKHY8PTApdGhyb3cgbmV3IFFHKDMxLCJUVE06SW52YWxpZCIpO2lmKFk5KFcsNCkpcmV0dXJuIG5ldyBacHQobi5sb2dnZXIsWTkoVyw0KSx2KTtpZighKHU0KGlXKFcsMykpPz8wKSlyZXR1cm4gbmV3IFVoaihuLmxvZ2dlcixWbChSeihXLDEpKSx2KTtpZighYil0aHJvdyBuZXcgUUcoNCwiUE1EOlVuZGVmaW5lZCIpO2I9YihWbChSeihXLDEpKSk7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBRRygxNiwiQVBGOkZhaWxlZCIpO24uSz1NYXRoLmZsb29yKChEYXRlLm5vdygpK3YpLzFFMyk7bj1uZXcgRjYobi5sb2dnZXIsYix1NChpVyhXLDMpKT8/MCx2KTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIEQucmVzb2x2ZSgpKTsKcmV0dXJuIG59OwpNdj1mdW5jdGlvbihuLFcsRCl7dHJ5e2lmKG4ucU4oKSl0aHJvdyBuZXcgUUcoMjEsIkJOVDpkaXNwb3NlZCIpO2lmKCFuLk4mJm4uSil0aHJvdyBuLko7cmV0dXJuIHlBMShuLFcsRCk/P0VsaShuLFcsRCk/P2lwcihuLFcsRCl9Y2F0Y2goYil7aWYoIVcuRVIpdGhyb3cgdyQobixiKTtyZXR1cm4gdU1aKG4sRCxiKX19Owp3JD1mdW5jdGlvbihuLFcpe1c9VyBpbnN0YW5jZW9mIFFHP1c6bmV3IFFHKDUsIlRWRDplcnJvciIsVyk7cmV0dXJuIG4ucmVwb3J0RXJyb3IoVyl9Owp5QTE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLk4/LkZwKCgpPT5SaShuLFcpLEQsYj0+e2lmKG4uTiBpbnN0YW5jZW9mIEY2JiZXLmhHPy5yMyl0cnl7bi5jYWNoZT8uTihSaShuLFcpLGIsVy5oRy5hbSxuLkstMTIwKX1jYXRjaCh2KXtuLnJlcG9ydEVycm9yKG5ldyBRRygyNCwiRUxYOndyaXRlIix2KSl9fSl9OwpFbGk9ZnVuY3Rpb24obixXLEQpe2lmKFcuaEc/LkFCKXRyeXtsZXQgYj1uLmNhY2hlPy5KKFJpKG4sVyksVy5oRy5hbSk7cmV0dXJuIGI/RD92MyhuLmxvZ2dlciwoKT0+Zy5FQShiLDIpLCJhIik6Yjp2b2lkIDB9Y2F0Y2goYil7bi5yZXBvcnRFcnJvcihuZXcgUUcoMjMsIlJYTzpyZWFkIixiKSl9fTsKaXByPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoIVcuR3IpdGhyb3cgbmV3IFFHKDI5LCJTREY6bm90cmVhZHkiKTtyZXR1cm4gemIoYixuZXcgUWkobi5sb2dnZXIsMCxuLnN0YXRlKSkuRnAoKCk9PlJpKG4sVyksRCl9Y2F0Y2godil7Yi5lcnJvcj12LGIuaGFzRXJyb3I9ITB9ZmluYWxseXtseChiKX19Owp1TVo9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgdj13JChuLEQpO3JldHVybiB6YihiLG5ldyBvbHcobi5sb2dnZXIsdikpLkZwKCgpPT5bXSxXKX1jYXRjaCh2KXtiLmVycm9yPXYsYi5oYXNFcnJvcj0hMH1maW5hbGx5e2x4KGIpfX07ClJpPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcueEM/Vy54QzpXLndfP3YzKG4ubG9nZ2VyLCgpPT5XLnhDPXpIKFcud18pLCJjIik6W119OwpuVz1mdW5jdGlvbigpe3ZhciBuPTAsVztyZXR1cm4gRD0+e1d8fChXPW5ldyB4WSk7dmFyIGI9bmV3IFFpKFcsbiwxKSx2PWIuRnAoKCk9PnpIKEQpLCEwKTsKYi5kaXNwb3NlKCk7bisrO3JldHVybiB2fX07CmcuV1k9ZnVuY3Rpb24obixXKXtpZihuKWZvcihsZXQgRCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLEQpJiZXKG5bRF0sRCxuKX07CnpIaT1mdW5jdGlvbigpe3ZhciBuPVtdO2cuV1koZGhaLFc9PntuLnB1c2goVyl9KTsKcmV0dXJuIG59OwpUVHI9ZnVuY3Rpb24oKXt2YXIgbj1nLkRhKCJJRlJBTUUiKSxXPXt9O2cueTIobGVTKCksRD0+e24uc2FuZGJveCYmbi5zYW5kYm94LnN1cHBvcnRzJiZuLnNhbmRib3guc3VwcG9ydHMoRCkmJihXW0RdPSEwKX0pOwpyZXR1cm4gV307CmcuRGE9ZnVuY3Rpb24obixXPWRvY3VtZW50KXtyZXR1cm4gVy5jcmVhdGVFbGVtZW50KFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKX07CmcuYnI9ZnVuY3Rpb24obixXLEQsYil7dGhpcy5sZWZ0PW47dGhpcy50b3A9Vzt0aGlzLndpZHRoPUQ7dGhpcy5oZWlnaHQ9Yn07CnZZPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49PVc/ITA6biYmVz9uLmxlZnQ9PVcubGVmdCYmbi53aWR0aD09Vy53aWR0aCYmbi50b3A9PVcudG9wJiZuLmhlaWdodD09Vy5oZWlnaHQ6ITF9OwpnLmgxPWZ1bmN0aW9uKG4sVyxEKXtpZih0eXBlb2YgVz09PSJzdHJpbmciKWtxKG4sRCxXKTtlbHNlIGZvcihsZXQgYiBpbiBXKWtxKG4sV1tiXSxiKX07CmtxPWZ1bmN0aW9uKG4sVyxEKXsoRD14cShuLEQpKSYmKGpQQy50ZXN0KEQpP24uc3R5bGUuc2V0UHJvcGVydHkoRCxXKTpuLnN0eWxlW0RdPVcpfTsKeHE9ZnVuY3Rpb24obixXKXt2YXIgRD1MV1tXXTtpZighRCl7dmFyIGI9cHAoVyk7RD1iO24uc3R5bGVbYl09PT12b2lkIDAmJihiPShnLlpsPyJXZWJraXQiOmcuZVM/Ik1veiI6bnVsbCkrSTFpKGIpLG4uc3R5bGVbYl0hPT12b2lkIDAmJihEPWIpKTtMV1tXXT1EfXJldHVybiBEfTsKZy5naD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc3R5bGVbcHAoVyldO3JldHVybiB0eXBlb2YgRCE9PSJ1bmRlZmluZWQiP0Q6bi5zdHlsZVt4cShuLFcpXXx8IiJ9OwpYbT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuSksobik7cmV0dXJuIEQuZGVmYXVsdFZpZXcmJkQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKG49RC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkpP25bV118fG4uZ2V0UHJvcGVydHlWYWx1ZShXKXx8IiI6IiJ9OwpxdD1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goVyl7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19OwpnLkdOPWZ1bmN0aW9uKG4pe3ZhciBXPWcuSksobiksRD1uZXcgZy5NWSgwLDApO2lmKG49PShXP2cuSksoVyk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudClyZXR1cm4gRDtuPXF0KG4pO1c9Zy5TcChXKTtXPWcuRTAoVy5OKTtELng9bi5sZWZ0K1cueDtELnk9bi50b3ArVy55O3JldHVybiBEfTsKZy4kcT1mdW5jdGlvbihuLFcpe249dDEobik7Vz10MShXKTtyZXR1cm4gbmV3IGcuTVkobi54LVcueCxuLnktVy55KX07Cmcucmg9ZnVuY3Rpb24obil7bj1xdChuKTtyZXR1cm4gbmV3IGcuTVkobi5sZWZ0LG4udG9wKX07CnQxPWZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpcmV0dXJuIGcucmgobik7bj1uLmNoYW5nZWRUb3VjaGVzP24uY2hhbmdlZFRvdWNoZXNbMF06bjtyZXR1cm4gbmV3IGcuTVkobi5jbGllbnRYLG4uY2xpZW50WSl9OwpOdD1mdW5jdGlvbihuLFcpe2lmKFcgaW5zdGFuY2VvZiBnLlFlKXt2YXIgRD1XLmhlaWdodDtXPVcud2lkdGh9ZWxzZSB0aHJvdyBFcnJvcigibWlzc2luZyBoZWlnaHQgYXJndW1lbnQiKTtuLnN0eWxlLndpZHRoPXNqKFcsITApO24uc3R5bGUuaGVpZ2h0PXNqKEQsITApfTsKc2o9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09Im51bWJlciImJihuPShXP01hdGgucm91bmQobik6bikrInB4Iik7cmV0dXJuIG59OwpnLnBXPWZ1bmN0aW9uKG4pe3ZhciBXPUNmMSxEOyhEPVhtKG4sImRpc3BsYXkiKSl8fChEPW4uY3VycmVudFN0eWxlP24uY3VycmVudFN0eWxlLmRpc3BsYXk6bnVsbCk7aWYoKER8fG4uc3R5bGUmJm4uc3R5bGUuZGlzcGxheSkhPSJub25lIilyZXR1cm4gVyhuKTtEPW4uc3R5bGU7dmFyIGI9RC5kaXNwbGF5LHY9RC52aXNpYmlsaXR5LGs9RC5wb3NpdGlvbjtELnZpc2liaWxpdHk9ImhpZGRlbiI7RC5wb3NpdGlvbj0iYWJzb2x1dGUiO0QuZGlzcGxheT0iaW5saW5lIjtuPVcobik7RC5kaXNwbGF5PWI7RC5wb3NpdGlvbj1rO0QudmlzaWJpbGl0eT12O3JldHVybiBufTsKQ2YxPWZ1bmN0aW9uKG4pe3ZhciBXPW4ub2Zmc2V0V2lkdGgsRD1uLm9mZnNldEhlaWdodCxiPWcuWmwmJiFXJiYhRDtyZXR1cm4oVz09PXZvaWQgMHx8YikmJm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhuPXF0KG4pLG5ldyBnLlFlKG4ucmlnaHQtbi5sZWZ0LG4uYm90dG9tLW4udG9wKSk6bmV3IGcuUWUoVyxEKX07CkZXWj1mdW5jdGlvbihuLFc9e30pe3JldHVybiBuZXcgQlR0KG4sVyl9Owp3NHI9ZnVuY3Rpb24obil7bi5WLnhWKCJkYXRhIixXPT57aWYoIjEiaW4gVyl7dmFyIEQ9V1siMSJdO2xldCBiO3RyeXtiPW4uSyhEKX1jYXRjaCh2KXtZcShuLG5ldyBDVigxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke3Z9LCByZXNwb25zZTogJHtEfWApKX1iJiZIWShuLGIpfWlmKCIyImluIFcpZm9yKFc9ZlcobixXWyIyIl0pLEQ9MDtEPG4uai5sZW5ndGg7RCsrKW4ualtEXShXKX0pOwpuLlYueFYoImVuZCIsKCk9PntKMShuLElzKG4pKTtmb3IobGV0IFc9MDtXPG4uVy5sZW5ndGg7VysrKW4uV1tXXSgpfSk7Cm4uVi54VigiZXJyb3IiLCgpPT57aWYobi5OLmxlbmd0aCE9PTApe3ZhciBXPW4ueGhyLlc7VyE9PTB8fG4ueGhyLmlzU3VjY2VzcygpfHwoVz02KTt2YXIgRD0tMTtzd2l0Y2goVyl7Y2FzZSAwOnZhciBiPTI7YnJlYWs7Y2FzZSA3OmI9MTA7YnJlYWs7Y2FzZSA4OmI9NDticmVhaztjYXNlIDY6RD1uLnhoci5nZXRTdGF0dXMoKTtiPXozKEQpO2JyZWFrO2RlZmF1bHQ6Yj0xNH1KMShuLElzKG4pKTtXPVJCYihXKSsiLCBlcnJvcjogIituLnhoci5nZXRMYXN0RXJyb3IoKTtEIT09LTEmJihXKz1gLCBodHRwIHN0YXR1cyBjb2RlOiAke0R9YCk7WXEobixuZXcgQ1YoYixXKSl9fSl9OwpZcT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5OLmxlbmd0aDtEKyspbi5OW0RdKFcpfTsKSjE9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQ9MDtEPG4uWC5sZW5ndGg7RCsrKW4uWFtEXShXKX07CklzPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9Vmp0KG4ueGhyKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGI9PntXW2JdPURbYl19KTsKcmV0dXJuIFd9OwpIWT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5KLmxlbmd0aDtEKyspbi5KW0RdKFcpfTsKZlc9ZnVuY3Rpb24obixXKXt2YXIgRD0yLGI9e307dHJ5e2xldCBrO2s9TTFiKFcpO0Q9YVAoaywxKTt2YXIgdj1rLmdldE1lc3NhZ2UoKTtWRyhrLFJIaSwzKS5sZW5ndGgmJihiWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1XKX1jYXRjaChrKXtuLnhociYmbi54aHIuZ2V0U3RhdHVzKCk9PT00MDQ/KEQ9NSx2PSJOb3QgRm91bmQ6ICIrU3RyaW5nKG4ueGhyLkspKTooRD0xNCx2PWBVbmFibGUgdG8gcGFyc2UgUnBjU3RhdHVzOiAke2t9YCl9cmV0dXJue2NvZGU6RCxkZXRhaWxzOnYsbWV0YWRhdGE6Yn19OwpWMVU9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgUVBTO0FIKG4ueGhyLCJjb21wbGV0ZSIsKCk9PntpZihuLnhoci5pc1N1Y2Nlc3MoKSl7dmFyIGI9VzMobi54aHIpO2lmKFcmJm4ueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKT09PSJ0ZXh0L3BsYWluIil7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7Yj1hdG9iKGIpfXRyeXt2YXIgdj1uLksoYil9Y2F0Y2goaCl7WXEobixTUyhuZXcgQ1YoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7Yn1gKSxEKSk7cmV0dXJufWI9ejMobi54aHIuZ2V0U3RhdHVzKCkpO0oxKG4sSXMobikpO2I9PT0wP0hZKG4sdik6WXEobixTUyhuZXcgQ1YoYiwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSxEKSl9ZWxzZXtiPVczKG4ueGhyKTtsZXQgaDt2PUlzKG4pO2lmKGIpe3ZhciBrPQpmVyhuLGIpO2I9ay5jb2RlO2g9ay5kZXRhaWxzO2s9ay5tZXRhZGF0YX1lbHNlIGI9MixoPWBScGMgZmFpbGVkIGR1ZSB0byB4aHIgZXJyb3IuIHVyaTogJHtTdHJpbmcobi54aHIuSyl9LCBlcnJvciBjb2RlOiAke24ueGhyLld9LCBlcnJvcjogJHtuLnhoci5nZXRMYXN0RXJyb3IoKX1gLGs9djtKMShuLHYpO1lxKG4sU1MobmV3IENWKGIsaCxrKSxEKSl9fSl9OwpBMT1mdW5jdGlvbihuLFcpe1c9bi5pbmRleE9mKFcpO1c+LTEmJm4uc3BsaWNlKFcsMSl9OwpTUz1mdW5jdGlvbihuLFcpe1cuc3RhY2smJihuLnN0YWNrKz0iXG4iK1cuc3RhY2spO3JldHVybiBufTsKbUc9ZnVuY3Rpb24obil7dGhpcy5YPW4uWTZ8fG51bGw7dGhpcy5XPW4uWUJ8fCExO3RoaXMuSj12b2lkIDB9OwpLVz1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLnR3PW47dGhpcy5WPVc7dGhpcy5qPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLko9bnVsbDt0aGlzLmNKPSJHRVQiO3RoaXMuTz0iIjt0aGlzLk49ITE7dGhpcy5LPXRoaXMuVz10aGlzLlg9bnVsbDt0aGlzLlk9bmV3IEFib3J0Q29udHJvbGxlcn07Ck9qPWZ1bmN0aW9uKG4pe24uVy5yZWFkKCkudGhlbihuLmxFLmJpbmQobikpLmNhdGNoKG4uRFAuYmluZChuKSl9OwpaYT1mdW5jdGlvbihuKXtuLnJlYWR5U3RhdGU9NDtuLlg9bnVsbDtuLlc9bnVsbDtuLks9bnVsbDtQWShuKX07ClBZPWZ1bmN0aW9uKG4pe24ub25yZWFkeXN0YXRlY2hhbmdlJiZuLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKG4pfTsKY0FVPWZ1bmN0aW9uKG4pe2lmKG4uejcmJnR5cGVvZiBuLno3PT0iZnVuY3Rpb24iKXJldHVybiBuLno3KCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZuIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20obi52YWx1ZXMoKSk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbi5zcGxpdCgiIik7aWYoZy5ZMihuKSl7bGV0IFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdKTtyZXR1cm4gV31yZXR1cm4gaEsobil9OwphZWg9ZnVuY3Rpb24obil7aWYobi51QiYmdHlwZW9mIG4udUI9PSJmdW5jdGlvbiIpcmV0dXJuIG4udUIoKTtpZighbi56N3x8dHlwZW9mIG4uejchPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShuLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpKXtpZihnLlkyKG4pfHx0eXBlb2Ygbj09PSJzdHJpbmciKXtsZXQgVz1bXTtuPW4ubGVuZ3RoO2ZvcihsZXQgRD0wO0Q8bjtEKyspVy5wdXNoKEQpO3JldHVybiBXfXJldHVybiBnLkxUKG4pfX19OwpuS2k9ZnVuY3Rpb24obixXLEQpe2lmKG4uZm9yRWFjaCYmdHlwZW9mIG4uZm9yRWFjaD09ImZ1bmN0aW9uIiluLmZvckVhY2goVyxEKTtlbHNlIGlmKGcuWTIobil8fHR5cGVvZiBuPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLFcsRCk7ZWxzZXtsZXQgYj1hZWgobiksdj1jQVUobiksaz12Lmxlbmd0aDtmb3IobGV0IGg9MDtoPGs7aCsrKVcuY2FsbChELHZbaF0sYiYmYltoXSxuKX19OwpnLlVqPWZ1bmN0aW9uKG4pe3RoaXMuTj10aGlzLlk9dGhpcy5YPSIiO3RoaXMuVj1udWxsO3RoaXMuaj10aGlzLko9IiI7dGhpcy5LPSExO3ZhciBXO24gaW5zdGFuY2VvZiBnLlVqPyh0aGlzLks9bi5LLHlOKHRoaXMsbi5YKSx0aGlzLlk9bi5ZLEVqKHRoaXMsbi5OKSxpcih0aGlzLG4uViksdGhpcy5KPW4uSix1cih0aGlzLG4uVy5jbG9uZSgpKSx0aGlzLmo9bi5qKTpuJiYoVz1nLmZwKFN0cmluZyhuKSkpPyh0aGlzLks9ITEseU4odGhpcyxXWzFdfHwiIiwhMCksdGhpcy5ZPW9zKFdbMl18fCIiKSxFaih0aGlzLFdbM118fCIiLCEwKSxpcih0aGlzLFdbNF0pLHRoaXMuSj1vcyhXWzVdfHwiIiwhMCksdXIodGhpcyxXWzZdfHwiIiwhMCksdGhpcy5qPW9zKFdbN118fCIiKSk6KHRoaXMuSz0hMSx0aGlzLlc9bmV3IGRoKG51bGwsdGhpcy5LKSl9Owp5Tj1mdW5jdGlvbihuLFcsRCl7bi5YPUQ/b3MoVywhMCk6VztuLlgmJihuLlg9bi5YLnJlcGxhY2UoLzokLywiIikpfTsKRWo9ZnVuY3Rpb24obixXLEQpe24uTj1EP29zKFcsITApOld9Owppcj1mdW5jdGlvbihuLFcpe2lmKFcpe1c9TnVtYmVyKFcpO2lmKGlzTmFOKFcpfHxXPDApdGhyb3cgRXJyb3IoIkJhZCBwb3J0IG51bWJlciAiK1cpO24uVj1XfWVsc2Ugbi5WPW51bGx9Owp1cj1mdW5jdGlvbihuLFcsRCl7VyBpbnN0YW5jZW9mIGRoPyhuLlc9VyxXeGgobi5XLG4uSykpOihEfHwoVz16TihXLER4UykpLG4uVz1uZXcgZGgoVyxuLkspKX07CmxyPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5Vaj9uLmNsb25lKCk6bmV3IGcuVWoobil9Owpvcz1mdW5jdGlvbihuLFcpe3JldHVybiBuP1c/ZGVjb2RlVVJJKG4ucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChuKToiIn07CnpOPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIj8obj1lbmNvZGVVUkkobikucmVwbGFjZShXLGIweCksRCYmKG49bi5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxuKTpudWxsfTsKYjB4PWZ1bmN0aW9uKG4pe249bi5jaGFyQ29kZUF0KDApO3JldHVybiIlIisobj4+NCYxNSkudG9TdHJpbmcoMTYpKyhuJjE1KS50b1N0cmluZygxNil9OwpkaD1mdW5jdGlvbihuLFcpe3RoaXMuSj10aGlzLk49bnVsbDt0aGlzLlc9bnx8bnVsbDt0aGlzLlg9ISFXfTsKVE49ZnVuY3Rpb24obil7bi5OfHwobi5OPW5ldyBNYXAsbi5KPTAsbi5XJiZnLk9UKG4uVyxmdW5jdGlvbihXLEQpe24uYWRkKEc1KFcpLEQpfSkpfTsKQ1c9ZnVuY3Rpb24obixXKXtUTihuKTtXPWpTKG4sVyk7cmV0dXJuIG4uTi5oYXMoVyl9OwpqUz1mdW5jdGlvbihuLFcpe1c9U3RyaW5nKFcpO24uWCYmKFc9Vy50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gV307Cld4aD1mdW5jdGlvbihuLFcpe1cmJiFuLlgmJihUTihuKSxuLlc9bnVsbCxuLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe3ZhciB2PWIudG9Mb3dlckNhc2UoKTtiIT12JiYodGhpcy5yZW1vdmUoYiksdGhpcy5yZW1vdmUodiksRC5sZW5ndGg+MCYmKHRoaXMuVz1udWxsLHRoaXMuTi5zZXQoalModGhpcyx2KSxnLlJNKEQpKSx0aGlzLko9dGhpcy5KK0QubGVuZ3RoKSl9LG4pKTsKbi5YPVd9Owp2S2I9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zy5hXyhuLGZ1bmN0aW9uKEQsYil7Vys9YjtXKz0iOiI7Vys9RDtXKz0iXHJcbiJ9KTsKcmV0dXJuIFd9OwpCWT1mdW5jdGlvbihuKXtnLkZNLmNhbGwodGhpcyk7dGhpcy5KPW47dGhpcy5OPXt9fTsKRm09ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKEFycmF5LmlzQXJyYXkoRCkpZm9yKGxldCBoPTA7aDxELmxlbmd0aDtoKyspRm0obixXLERbaF0sYix2LGspO2Vsc2V7Vz1TZyhXLEQsYnx8bi5oYW5kbGVFdmVudCx2LGt8fG4uSnx8bik7aWYoIVcpcmV0dXJuIG47bi5OW1cua2V5XT1XfXJldHVybiBufTsKd2g9ZnVuY3Rpb24obixXLEQpe24uVz0hMTt0aHJvdyBFcnJvcigiVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVyk7fTsKTXQ9ZnVuY3Rpb24oKXt0aGlzLlY9bnVsbDt0aGlzLks9W107dGhpcy5YPXRoaXMuSj10aGlzLlc9dGhpcy5OPXRoaXMuRD0wO3RoaXMuaj1udWxsO3RoaXMuWT0wfTsKUnM9ZnVuY3Rpb24obixXLEQsYil7bi5OPTM7bi5WPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIituLkQrIi8iK0QrIi4gRXJyb3I6ICIrYisiLiBXaXRoIGlucHV0OlxuIitXO3Rocm93IEVycm9yKG4uVik7fTsKUU49ZnVuY3Rpb24oKXt0aGlzLk49bnVsbDt0aGlzLko9MDt0aGlzLlc9bmV3IGtoUzt0aGlzLlg9bmV3IE10fTsKVk49ZnVuY3Rpb24obixXLEQpe24uTj0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVzt0aHJvdyBFcnJvcihuLk4pO307CmNZPWZ1bmN0aW9uKG4pe3JldHVybiBuPT0iXHIifHxuPT0iXG4ifHxuPT0iICJ8fG49PSJcdCJ9Owphcz1mdW5jdGlvbihuKXt0aGlzLkQ9bnVsbDt0aGlzLlY9W107dGhpcy5YPSIiO3RoaXMuY0o9W107dGhpcy5XPXRoaXMuSj0wO3RoaXMuSz0hMTt0aGlzLlk9MDt0aGlzLnR3PS9bXFwiXS9nO3RoaXMuTj10aGlzLmo9MDt0aGlzLk89ISghbnx8IW4uWkgpfTsKbl89ZnVuY3Rpb24obixXLEQpe24uaj0zO24uRD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5XKyIvIitEKyIuIFdpdGggaW5wdXQ6XG4iK1c7dGhyb3cgRXJyb3Iobi5EKTt9OwpXSz1mdW5jdGlvbigpe3RoaXMuaj10aGlzLlc9bnVsbDt0aGlzLko9dGhpcy5OPTA7dGhpcy5YPVtdO3RoaXMuVj0hMX07CmhDeD1mdW5jdGlvbihuKXt2YXIgVz1uLk4/bi5OLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFXKXJldHVybiBudWxsO1c9Vy50b0xvd2VyQ2FzZSgpO3JldHVybiBXLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9XLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgV0s6bmV3IGFzOlcuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhuPW4uTj9uLk4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9uLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBRTjpudWxsOm5ldyBNdDpudWxsfTsKRGk9ZnVuY3Rpb24obixXKXtuLmohPVcmJihuLmo9VyxuLksmJm4uSygpKX07CmJIPWZ1bmN0aW9uKG4pe24uWS5UaSgpO2lmKG4uTil7bGV0IFc9bi5OO24uTj1udWxsO1cuYWJvcnQoKTtXLmRpc3Bvc2UoKX19Owp2Sz1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXtsZXQgYj1uW0RdO1cuZm9yRWFjaChmdW5jdGlvbih2KXt0cnl7dihiKX1jYXRjaChrKXt9fSl9fTsKa3Q9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkpbV107RCYmRC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3RyeXtiKCl9Y2F0Y2godil7fX0pOwooRD1uLk5bV10pJiZELmZvckVhY2goZnVuY3Rpb24oYil7YigpfSk7Cm4uTltXXT1bXX07Cnh4aj1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07Ckx4aT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07CmVDVT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5sMCx2PVcuZ2V0TWV0YWRhdGEoKSxrPWhhKG4sITApO249eHQobix2LGssRCtiLmdldE5hbWUoKSk7RD1MXyhrLGIuVywhMSk7VjFVKEQsdlsiWC1Hb29nLUVuY29kZS1SZXNwb25zZS1JZi1FeGVjdXRhYmxlIl09PT0iYmFzZTY0Iik7Vz1iLk4oVy5mdik7ay5zZW5kKG4sIlBPU1QiLFcpO3JldHVybiBEfTsKZ0t0PWZ1bmN0aW9uKG4sVyxELGIsdixrPXt9KXt2YXIgaD1XLnN1YnN0cmluZygwLFcubGVuZ3RoLXYubmFtZS5sZW5ndGgpLHg9az8uc2lnbmFsO3JldHVybiBMeGkoTD0+bmV3IFByb21pc2UoKGUsRyk9PntpZih4Py5hYm9ydGVkKXtsZXQgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX1lbHNle3ZhciByPXt9LE49ZUNVKG4sTCxoKTtOLnhWKCJlcnJvciIsSD0+dm9pZCBHKEgpKTsKTi54VigibWV0YWRhdGEiLEg9PntyPUh9KTsKTi54VigiZGF0YSIsSD0+e2UoRldaKEgscikpfSk7CngmJnguYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57Ti5jYW5jZWwoKTt2YXIgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX0pfX0pLG4uRk4pLmNhbGwobix2LkooRCxiKSkudGhlbihMPT5MLlB6KX07ClhkPWZ1bmN0aW9uKG4sVz0hMSl7ZVgoMjgsNzIzMSxuKTtpZihuW0lbMjhdXSE9PUlbMTVdKXt2YXIgRD1uW0lbOF1dKCk7RFtJWzM0XV0oSVszMl0sSVs0MF0pO3JldHVybiBEfXZhciBiPW5bSVs3Ml1dKCk7RD1uZXcgZy5VaihiKTt2YXIgdj1uW0lbMzNdXShJWzcwXSksaz1NMygxNiw0MjYyLG5bSVszM11dKElbNzRdKXx8SVsyMV0pW0lbMzZdXShJWzQ3XSk7aWYodiYmayYma1tJWzVdXT4xJiZrWzFdKXJldHVybiBiPUQuTixuPWJbSVs4MV1dKC9eW14uXSovLElbMjFdKSxFaihELGAke2JbSVsxOF1dKElbNDRdKT09PTA/SVs0NF06SVs4MF19JHt2fS0tLSR7a1sxXX0ke259YCksRD1uZXcgZy53WihEW0lbMF1dKCkpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO2lmKFcpcmV0dXJuIEQ9bltJWzhdXSgpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO3Y9RC5OW0lbNl1dKElbNTZdKTtELk5bSVs2XV0oSVsyN10pPyhFaihELElbODJdKSxiPURbSVswXV0oKSk6RC5OW0lbNl1dKElbNTJdKT8KKEVqKEQsSVsxOV0pLGI9RFtJWzBdXSgpKTooRD1lQShiKSxnWChEKSYmKGI9RCkpO0Q9bmV3IGcud1ooYik7RFtJWzM0XV0oSVs3OV0sSVs0MF0pO3YmJkRbSVszNF1dKElbMl0sSVs3MV0pO3JldHVybiBEfTsKWVk9ZnVuY3Rpb24obixXLEQsYix2LGs9e30pe3JldHVybiBnS3QobixXLEQsYix2LGspfTsKaGE9ZnVuY3Rpb24obixXKXtXPW4uTiYmIVc7cmV0dXJuIG4uU258fFc/bmV3IHdwKG5ldyBtRyh7WTY6bi5TbixZQjpXfSkpOm5ldyB3cH07Cnh0PWZ1bmN0aW9uKG4sVyxELGIpe1dbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtXWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciB2PVcuQXV0aG9yaXphdGlvbjtpZih2JiZYMnIuaGFzKHYuc3BsaXQoIiAiKVswXSl8fG4ud2l0aENyZWRlbnRpYWxzKUQuTz0hMDtpZihuLllPKW49YixnLkdGKFcpP2I9bjooVz12S2IoVyksdHlwZW9mIG49PT0ic3RyaW5nIj9iPWcudWYobixxaCgiJGh0dHBIZWFkZXJzIiksVyk6KG4uVy5zZXQoIiRodHRwSGVhZGVycyIsVyksYj1uKSk7ZWxzZSBmb3IobGV0IGsgb2YgT2JqZWN0LmtleXMoVykpRC5oZWFkZXJzLnNldChrLFdba10pO3JldHVybiBifTsKTF89ZnVuY3Rpb24obixXLEQpe2lmKEQpe24uaXNBY3RpdmUoKTtEPW5ldyBxQXQobik7dmFyIGI9bmV3IEdoaShEKX1yZXR1cm4gbmV3IHR1MSh7eGhyOm4sTUU6Yn0sVyl9Owpxdz1mdW5jdGlvbigpe3RoaXMuTj1uZXcgJHhoO3RoaXMuSj0iaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20iLnJlcGxhY2UoL1wvKyQvLCIiKX07CmcuR0s9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5yZXBsYWNlKHI0MixmdW5jdGlvbihELGIpe3RyeXtsZXQgdj1nLiR5KFcsYik7aWYodj09bnVsbHx8di50b1N0cmluZygpPT1udWxsKXJldHVybiBEO3Y9di50b1N0cmluZygpO2lmKHY9PSIifHwhZy5GaChnLnJUKHYpKSlyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpLnJlcGxhY2UoLyUyQy9nLCIsIil9Y2F0Y2godil7fXJldHVybiBEfSl9OwpzMnc9ZnVuY3Rpb24oKXt2YXIgbj10YTskdC5pbnN0YW5jZXx8KCR0Lmluc3RhbmNlPW5ldyAkdChuKSk7cmV0dXJuICR0Lmluc3RhbmNlfTsKclg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5XP24uVzpuLlc9bmV3IFByb21pc2UoYXN5bmMgRD0+e3ZhciBiPXdpbmRvdy5BYm9ydENvbnRyb2xsZXI/bmV3IHdpbmRvdy5BYm9ydENvbnRyb2xsZXI6dm9pZCAwLHY9Yj8uc2lnbmFsLGs9ITE7dHJ5e2ImJihuLk49bi5BJC5MUygoKT0+e2IuYWJvcnQoKX0sV3x8MkU0KSksYXdhaXQgZmV0Y2goIi9nZW5lcmF0ZV8yMDQiLHttZXRob2Q6IkhFQUQiLApzaWduYWw6dn0pLGs9ITB9Y2F0Y2h7az0hMX1maW5hbGx5e24uVz12b2lkIDAsbi5OJiYobi5BJC5zTyhuLk4pLG4uTj0wKSxrIT09bi5pc09ubGluZSYmKG4uaXNPbmxpbmU9ayxuLmlzT25saW5lP24uZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTpuLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxEKGspfX0pfTsKTldoPWZ1bmN0aW9uKG4pe24uTj09PS0xJiYobi5OPW4uZGF0YS5yZWR1Y2UoKFcsRCxiKT0+VysoRD8yKipiOjApLDApKTsKcmV0dXJuIG4uTn07Cmcuc0k9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4mJlchPT1udWxsJiZXIT1XLnRvcCl7aWYoIVcudG9wKXJldHVybiBuZXcgZy5RZSgtMTIyNDU5MzMsLTEyMjQ1OTMzKTtXPVcudG9wfXRyeXtpZihEKXZhciBiPShuZXcgZy5RZShXLmlubmVyV2lkdGgsVy5pbm5lckhlaWdodCkpLnJvdW5kKCk7ZWxzZXtsZXQgdj0oV3x8d2luZG93KS5kb2N1bWVudCxrPXYuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP3YuZG9jdW1lbnRFbGVtZW50OnYuYm9keTtiPShuZXcgZy5RZShrLmNsaWVudFdpZHRoLGsuY2xpZW50SGVpZ2h0KSkucm91bmQoKX1yZXR1cm4gYn1jYXRjaCh2KXtyZXR1cm4gbmV3IGcuUWUoLTEyMjQ1OTMzLC0xMjI0NTkzMyl9fTsKZy5Odz1mdW5jdGlvbihuKXtyZXR1cm4gbi5wcmVyZW5kZXJpbmc/Mzp7dmlzaWJsZToxLGhpZGRlbjoyLHByZXJlbmRlcjozLHByZXZpZXc6NCx1bmxvYWRlZDo1LCIiOjB9W24udmlzaWJpbGl0eVN0YXRlfHxuLndlYmtpdFZpc2liaWxpdHlTdGF0ZXx8bi5tb3pWaXNpYmlsaXR5U3RhdGV8fCIiXT8/MH07CmcucF89ZnVuY3Rpb24obixXLEQpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLk49bnVsbDt0aGlzLlg9ITE7dGhpcy5WPW47dGhpcy5qPUQ7dGhpcy5KPVd8fHdpbmRvdzt0aGlzLlc9KDAsZy5LdCkodGhpcy5PdCx0aGlzKX07Cll0PWZ1bmN0aW9uKG4pe249bi5KO3JldHVybiBuLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG51bGx9OwpISz1mdW5jdGlvbihuKXtuPW4uSjtyZXR1cm4gbi5jYW5jZWxBbmltYXRpb25GcmFtZXx8bi5jYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1vekNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1zQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxudWxsfTsKZy5mXz1mdW5jdGlvbihuLFcsRCl7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuTj1uO3RoaXMuZ3Q9V3x8MDt0aGlzLko9RDt0aGlzLlc9KDAsZy5LdCkodGhpcy5pJCx0aGlzKX07CmcuSmE9ZnVuY3Rpb24obixXKXtuLmlzQWN0aXZlKCl8fG4uc3RhcnQoVyl9OwpJRj1mdW5jdGlvbihuKXtuLlo2PWcuWnQoKCk9PntuLlo2PW51bGw7bi5OJiYhbi5KJiYobi5OPSExLElGKG4pKX0sbi5ndCk7CnZhciBXPW4uVztuLlc9bnVsbDtuLlguYXBwbHkobnVsbCxXKX07ClNBPWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbi5jbGFzc05hbWU9PSJzdHJpbmciP24uY2xhc3NOYW1lOm4uZ2V0QXR0cmlidXRlJiZuLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9OwpBYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3Q6U0EobikubWF0Y2goL1xTKy9nKXx8W119OwptYT1mdW5jdGlvbihuLFcpe3R5cGVvZiBuLmNsYXNzTmFtZT09InN0cmluZyI/bi5jbGFzc05hbWU9VzpuLnNldEF0dHJpYnV0ZSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixXKX07CmcuS189ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QuY29udGFpbnMoVyk6Zy5qaihBYShuKSxXKX07CmcuVUk9ZnVuY3Rpb24obixXKXtpZihuLmNsYXNzTGlzdCluLmNsYXNzTGlzdC5hZGQoVyk7ZWxzZSBpZighZy5LXyhuLFcpKXtsZXQgRD1TQShuKTttYShuLEQrKEQubGVuZ3RoPjA/IiAiK1c6VykpfX07CnlLPWZ1bmN0aW9uKG4sVyl7aWYobi5jbGFzc0xpc3QpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKGIpe2cuVUkobixiKX0pOwplbHNle3ZhciBEPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQWEobiksZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpXPSIiO2ZvcihsZXQgYiBpbiBEKVcrPVcubGVuZ3RoPjA/IiAiK2I6YjttYShuLFcpfX07CmcuRUk9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5yZW1vdmUoVyk6Zy5LXyhuLFcpJiZtYShuLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChBYShuKSxmdW5jdGlvbihEKXtyZXR1cm4gRCE9V30pLmpvaW4oIiAiKSl9OwpwMmo9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oRCl7Zy5FSShuLEQpfSk6bWEobixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoQWEobiksZnVuY3Rpb24oRCl7cmV0dXJuIWcuamooVyxEKX0pLmpvaW4oIiAiKSl9OwpnLmlIPWZ1bmN0aW9uKG4sVyxEKXtEP2cuVUkobixXKTpnLkVJKG4sVyl9Owp1SD1mdW5jdGlvbigpe307CllBMT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2Ygb0Z8fG4gaW5zdGFuY2VvZiBkWHx8biBpbnN0YW5jZW9mIHpLKXJldHVybiBuO2lmKHR5cGVvZiBuLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bik7CmlmKHR5cGVvZiBuW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bltTeW1ib2wuaXRlcmF0b3JdKCkpOwppZih0eXBlb2Ygbi5ncT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IG9GKCgpPT5uLmdxKCkpOwp0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307CmxIPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dGhpcy5OPW47dGhpcy5LPVc7dGhpcy5XPUQ7dGhpcy5qPWI7dGhpcy5YPXY7dGhpcy5WPWs7dGhpcy5KPWg7dGhpcy5ZPXh9OwpUSz1mdW5jdGlvbihuLFcpe2lmKFc9PTApcmV0dXJuIG4uTjtpZihXPT0xKXJldHVybiBuLko7dmFyIEQ9d1Eobi5OLG4uVyxXKSxiPXdRKG4uVyxuLlgsVyk7bj13UShuLlgsbi5KLFcpO0Q9d1EoRCxiLFcpO2I9d1EoYixuLFcpO3JldHVybiB3UShELGIsVyl9OwpIMGk9ZnVuY3Rpb24obixXKXt2YXIgRD0oVy1uLk4pLyhuLkotbi5OKTtpZihEPD0wKXJldHVybiAwO2lmKEQ+PTEpcmV0dXJuIDE7dmFyIGI9MCx2PTEsaz0wO2Zvcih2YXIgaD0wO2g8ODtoKyspe2s9VEsobixEKTtsZXQgeD0oVEsobixEKzFFLTYpLWspLzFFLTY7aWYoTWF0aC5hYnMoay1XKTwxRS02KXJldHVybiBEO2lmKE1hdGguYWJzKHgpPDFFLTYpYnJlYWs7ZWxzZSBrPFc/Yj1EOnY9RCxELT0oay1XKS94fWZvcihoPTA7TWF0aC5hYnMoay1XKT4xRS02JiZoPDg7aCsrKWs8Vz8oYj1ELEQ9KEQrdikvMik6KHY9RCxEPShEK2IpLzIpLGs9VEsobixEKTtyZXR1cm4gRH07CmpBPWZ1bmN0aW9uKG4pe3JldHVybihuPW4uZXhlYyhnLlhRKCkpKT9uWzFdOiIifTsKQ189ZnVuY3Rpb24obil7cmV0dXJuIGcuY1ooZlgyLG4pPj0wfTsKQks9ZnVuY3Rpb24obil7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuVj0xO3RoaXMuVz1bXTt0aGlzLlg9MDt0aGlzLk49W107dGhpcy5KPXt9O3RoaXMuSz0hIW59OwpKNHI9ZnVuY3Rpb24obixXLEQpe2cubUsoZnVuY3Rpb24oKXtuLmFwcGx5KFcsRCl9KX07CmcuRmQ9ZnVuY3Rpb24obil7dGhpcy5OPW59Owp3WD1mdW5jdGlvbihuKXt0aGlzLk49bn07Ck13PWZ1bmN0aW9uKG4pe3RoaXMuZGF0YT1ufTsKUkY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT12b2lkIDB8fG4gaW5zdGFuY2VvZiBNdz9uOm5ldyBNdyhuKX07ClFLPWZ1bmN0aW9uKG4pe3RoaXMuTj1ufTsKVks9ZnVuY3Rpb24obil7dGhpcy5OPW59OwpJWDE9ZnVuY3Rpb24oKXt9OwpjSz1mdW5jdGlvbigpe307CmFGPWZ1bmN0aW9uKG4pe3RoaXMuTj1uO3RoaXMuSj1udWxsfTsKbmU9ZnVuY3Rpb24obil7aWYobi5OPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO24uaXNBdmFpbGFibGUoKXx8aDQoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKV1M9ZnVuY3Rpb24oKXt2YXIgbj1udWxsO3RyeXtuPWcucWkubG9jYWxTdG9yYWdlfHxudWxsfWNhdGNoKFcpe31hRi5jYWxsKHRoaXMsbil9OwpEUT1mdW5jdGlvbigpe3ZhciBuPW51bGw7dHJ5e249Zy5xaS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChXKXt9YUYuY2FsbCh0aGlzLG4pfTsKYkM9ZnVuY3Rpb24obixXKXt0aGlzLko9bjt0aGlzLk49VysiOjoifTsKZy52Uz1mdW5jdGlvbihuKXt2YXIgVz1uZXcgV1M7cmV0dXJuIFcuaXNBdmFpbGFibGUoKT9uP25ldyBiQyhXLG4pOlc6bnVsbH07CmtqPWZ1bmN0aW9uKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9Owp4aj1mdW5jdGlvbihuKXt2YXIgVyxELGI9bi5sZW5ndGgsdj0wO2ZvcihXPTA7VzxiO1crKyl7dmFyIGs9bi5jaGFyQ29kZUF0KFcpO2lmKChrJjY0NTEyKT09PTU1Mjk2JiZXKzE8Yil7dmFyIGg9bi5jaGFyQ29kZUF0KFcrMSk7KGgmNjQ1MTIpPT09NTYzMjAmJihrPTY1NTM2KyhrLTU1Mjk2PDwxMCkrKGgtNTYzMjApLFcrKyl9dis9azwxMjg/MTprPDIwNDg/MjprPDY1NTM2PzM6NH12YXIgeD1uZXcgaGsuT20odik7Zm9yKFc9RD0wO0Q8djtXKyspaz1uLmNoYXJDb2RlQXQoVyksKGsmNjQ1MTIpPT09NTUyOTYmJlcrMTxiJiYoaD1uLmNoYXJDb2RlQXQoVysxKSwoaCY2NDUxMik9PT01NjMyMCYmKGs9NjU1MzYrKGstNTUyOTY8PDEwKSsoaC01NjMyMCksVysrKSksazwxMjg/eFtEKytdPWs6KGs8MjA0OD94W0QrK109MTkyfGs+Pj42OihrPDY1NTM2P3hbRCsrXT0yMjR8az4+PjEyOih4W0QrK109MjQwfGs+Pj4xOCx4W0QrK109MTI4fGs+Pj4xMiY2MykseFtEKytdPTEyOHxrPj4+CjYmNjMpLHhbRCsrXT0xMjh8ayY2Myk7cmV0dXJuIHh9OwpMZT1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5sZW5ndGg7LS1XPj0wOyluW1ddPTB9Owpldj1mdW5jdGlvbihuLFcsRCxiLHYpe3RoaXMua089bjt0aGlzLmJFPVc7dGhpcy50cD1EO3RoaXMuYXo9Yjt0aGlzLnVIPXY7dGhpcy5aZD1uJiZuLmxlbmd0aH07CnZhciBTQTE9ZnVuY3Rpb24obil7cmV0dXJuIGc3W0lbMTBdXSh0aGlzLDI1LDYzMjIsbil9Owp0az1mdW5jdGlvbihuLFcpe3RoaXMuTTA9bjt0aGlzLnJPPTA7dGhpcy5BWj1XfTsKcjc9ZnVuY3Rpb24obixXKXtuLkZCW24ucGVuZGluZysrXT1XJjI1NTtuLkZCW24ucGVuZGluZysrXT1XPj4+OCYyNTV9OwpzJD1mdW5jdGlvbihuLFcsRCl7bi5ZSD4xNi1EPyhuLlJKfD1XPDxuLllIJjY1NTM1LHI3KG4sbi5SSiksbi5SSj1XPj4xNi1uLllILG4uWUgrPUQtMTYpOihuLlJKfD1XPDxuLllIJjY1NTM1LG4uWUgrPUQpfTsKTjY9ZnVuY3Rpb24obixXLEQpe3MkKG4sRFtXKjJdLERbVyoyKzFdKX07CnBlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtkbyBEfD1uJjEsbj4+Pj0xLEQ8PD0xO3doaWxlKC0tVz4wKTtyZXR1cm4gRD4+PjF9OwpZaj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9QXJyYXkoMTYpLHY9MCxrO2ZvcihrPTE7azw9MTU7aysrKWJba109dj12K0Rbay0xXTw8MTtmb3IoRD0wO0Q8PVc7RCsrKXY9bltEKjIrMV0sdiE9PTAmJihuW0QqMl09cGUoYlt2XSsrLHYpKX07CkhTPWZ1bmN0aW9uKG4pe3ZhciBXO2ZvcihXPTA7VzwyODY7VysrKW4ua0dbVyoyXT0wO2ZvcihXPTA7VzwzMDtXKyspbi5sZltXKjJdPTA7Zm9yKFc9MDtXPDE5O1crKyluLndoW1cqMl09MDtuLmtHWzUxMl09MTtuLlhSPW4uVHY9MDtuLndYPW4ubWF0Y2hlcz0wfTsKZmU9ZnVuY3Rpb24obil7bi5ZSD44P3I3KG4sbi5SSik6bi5ZSD4wJiYobi5GQltuLnBlbmRpbmcrK109bi5SSik7bi5SSj0wO24uWUg9MH07CkprPWZ1bmN0aW9uKG4sVyxEKXtmZShuKTtyNyhuLEQpO3I3KG4sfkQpO2hrLlA3KG4uRkIsbi53aW5kb3csVyxELG4ucGVuZGluZyk7bi5wZW5kaW5nKz1EfTsKSVM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9VyoyLGs9RCoyO3JldHVybiBuW3ZdPG5ba118fG5bdl09PT1uW2tdJiZiW1ddPD1iW0RdfTsKU3Y9ZnVuY3Rpb24obixXLEQpe2Zvcih2YXIgYj1uLmhlYXBbRF0sdj1EPDwxO3Y8PW4uVW47KXt2PG4uVW4mJklTKFcsbi5oZWFwW3YrMV0sbi5oZWFwW3ZdLG4uZGVwdGgpJiZ2Kys7aWYoSVMoVyxiLG4uaGVhcFt2XSxuLmRlcHRoKSlicmVhaztuLmhlYXBbRF09bi5oZWFwW3ZdO0Q9djt2PDw9MX1uLmhlYXBbRF09Yn07ClUkPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0wO2lmKG4ud1ghPT0wKXtkb3t2YXIgdj1uLkZCW24uQTgrYioyXTw8OHxuLkZCW24uQTgrYioyKzFdO3ZhciBrPW4uRkJbbi50YStiXTtiKys7aWYodj09PTApTjYobixrLFcpO2Vsc2V7dmFyIGg9QWtba107TjYobixoKzI1NisxLFcpO3ZhciB4PW0kW2hdO3ghPT0wJiYoay09S2VbaF0scyQobixrLHgpKTt2LS07aD12PDI1Nj9PJFt2XTpPJFsyNTYrKHY+Pj43KV07TjYobixoLEQpO3g9UFNbaF07eCE9PTAmJih2LT1aUVtoXSxzJChuLHYseCkpfX13aGlsZShiPG4ud1gpfU42KG4sMjU2LFcpfTsKRSQ9ZnVuY3Rpb24obixXKXt2YXIgRD1XLk0wLGI9Vy5BWi5rTyx2PVcuQVouWmQsaz1XLkFaLmF6LGgseD0tMTtuLlVuPTA7bi5PND01NzM7Zm9yKGg9MDtoPGs7aCsrKURbaCoyXSE9PTA/KG4uaGVhcFsrK24uVW5dPXg9aCxuLmRlcHRoW2hdPTApOkRbaCoyKzFdPTA7Zm9yKDtuLlVuPDI7KXt2YXIgTD1uLmhlYXBbKytuLlVuXT14PDI/Kyt4OjA7RFtMKjJdPTE7bi5kZXB0aFtMXT0wO24uWFItLTt2JiYobi5Udi09YltMKjIrMV0pfVcuck89eDtmb3IoaD1uLlVuPj4xO2g+PTE7aC0tKVN2KG4sRCxoKTtMPWs7ZG8gaD1uLmhlYXBbMV0sbi5oZWFwWzFdPW4uaGVhcFtuLlVuLS1dLFN2KG4sRCwxKSxiPW4uaGVhcFsxXSxuLmhlYXBbLS1uLk80XT1oLG4uaGVhcFstLW4uTzRdPWIsRFtMKjJdPURbaCoyXStEW2IqMl0sbi5kZXB0aFtMXT0obi5kZXB0aFtoXT49bi5kZXB0aFtiXT9uLmRlcHRoW2hdOm4uZGVwdGhbYl0pKzEsRFtoKjIrMV09RFtiKjIrMV09TCxuLmhlYXBbMV09TCsrLApTdihuLEQsMSk7d2hpbGUobi5Vbj49Mik7bi5oZWFwWy0tbi5PNF09bi5oZWFwWzFdO2g9Vy5NMDtMPVcuck87Yj1XLkFaLmtPO3Y9Vy5BWi5aZDtrPVcuQVouYkU7dmFyIGU9Vy5BWi50cCxHPVcuQVoudUgscixOPTA7Zm9yKHI9MDtyPD0xNTtyKyspbi5WbltyXT0wO2hbbi5oZWFwW24uTzRdKjIrMV09MDtmb3IoVz1uLk80KzE7Vzw1NzM7VysrKXt2YXIgSD1uLmhlYXBbV107cj1oW2hbSCoyKzFdKjIrMV0rMTtyPkcmJihyPUcsTisrKTtoW0gqMisxXT1yO2lmKCEoSD5MKSl7bi5WbltyXSsrO3ZhciBBPTA7SD49ZSYmKEE9a1tILWVdKTt2YXIgeT1oW0gqMl07bi5YUis9eSoocitBKTt2JiYobi5Udis9eSooYltIKjIrMV0rQSkpfX1pZihOIT09MCl7ZG97Zm9yKHI9Ry0xO24uVm5bcl09PT0wOylyLS07bi5WbltyXS0tO24uVm5bcisxXSs9MjtuLlZuW0ddLS07Ti09Mn13aGlsZShOPjApO2ZvcihyPUc7ciE9PTA7ci0tKWZvcihIPW4uVm5bcl07SCE9PTA7KWI9bi5oZWFwWy0tV10sCmI+THx8KGhbYioyKzFdIT09ciYmKG4uWFIrPShyLWhbYioyKzFdKSpoW2IqMl0saFtiKjIrMV09ciksSC0tKX1ZaihELHgsbi5Wbil9OwppQz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO1dbKEQrMSkqMisxXT02NTUzNTtmb3IoYj0wO2I8PUQ7YisrKXt2YXIgZT1rO2s9V1soYisxKSoyKzFdOysraDx4JiZlPT09a3x8KGg8TD9uLndoW2UqMl0rPWg6ZSE9PTA/KGUhPT12JiZuLndoW2UqMl0rKyxuLndoWzMyXSsrKTpoPD0xMD9uLndoWzM0XSsrOm4ud2hbMzZdKyssaD0wLHY9ZSxrPT09MD8oeD0xMzgsTD0zKTplPT09az8oeD02LEw9Myk6KHg9NyxMPTQpKX19Owp1Qz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO2ZvcihiPTA7Yjw9RDtiKyspe3ZhciBlPWs7az1XWyhiKzEpKjIrMV07aWYoISgrK2g8eCYmZT09PWspKXtpZihoPEwpe2RvIE42KG4sZSxuLndoKTt3aGlsZSgtLWghPT0wKX1lbHNlIGUhPT0wPyhlIT09diYmKE42KG4sZSxuLndoKSxoLS0pLE42KG4sMTYsbi53aCkscyQobixoLTMsMikpOmg8PTEwPyhONihuLDE3LG4ud2gpLHMkKG4saC0zLDMpKTooTjYobiwxOCxuLndoKSxzJChuLGgtMTEsNykpO2g9MDt2PWU7az09PTA/KHg9MTM4LEw9Myk6ZT09PWs/KHg9NixMPTMpOih4PTcsTD00KX19fTsKQTR4PWZ1bmN0aW9uKG4pe3ZhciBXPTQwOTM2MjQ0NDcsRDtmb3IoRD0wO0Q8PTMxO0QrKyxXPj4+PTEpaWYoVyYxJiZuLmtHW0QqMl0hPT0wKXJldHVybiAwO2lmKG4ua0dbMThdIT09MHx8bi5rR1syMF0hPT0wfHxuLmtHWzI2XSE9PTApcmV0dXJuIDE7Zm9yKEQ9MzI7RDwyNTY7RCsrKWlmKG4ua0dbRCoyXSE9PTApcmV0dXJuIDE7cmV0dXJuIDB9OwpvUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47aWYoIShuKzQmNykpe0Q9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO3ZhciBrPWJbMF07YlswXT1iW0RdO2JbRF09azt2YXIgaD1bRF19KG4rOSY1KT09MSYmYltJWzNdXShiW0lbNV1dLDAsRCk7cmV0dXJuIGh9OwpkNz1mdW5jdGlvbihuLFcsRCl7bi5GQltuLkE4K24ud1gqMl09Vz4+PjgmMjU1O24uRkJbbi5BOCtuLndYKjIrMV09VyYyNTU7bi5GQltuLnRhK24ud1hdPUQmMjU1O24ud1grKztXPT09MD9uLmtHW0QqMl0rKzoobi5tYXRjaGVzKyssVy0tLG4ua0dbKEFrW0RdKzI1NisxKSoyXSsrLG4ubGZbKFc8MjU2P08kW1ddOk8kWzI1NisoVz4+PjcpXSkqMl0rKyk7cmV0dXJuIG4ud1g9PT1uLktYLTF9OwpsQz1mdW5jdGlvbihuLFcpe24ubXNnPXpCW1ddO3JldHVybiBXfTsKVEI9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW4ubGVuZ3RoOy0tVz49MDspbltXXT0wfTsKanY9ZnVuY3Rpb24obil7dmFyIFc9bi5zdGF0ZSxEPVcucGVuZGluZztEPm4udVImJihEPW4udVIpO0QhPT0wJiYoaGsuUDcobi5vdXRwdXQsVy5GQixXLmhSLEQsbi51Zyksbi51Zys9RCxXLmhSKz1ELG4udEIrPUQsbi51Ui09RCxXLnBlbmRpbmctPUQsVy5wZW5kaW5nPT09MCYmKFcuaFI9MCkpfTsKdzc9ZnVuY3Rpb24obixXKXt2YXIgRD1uLk9LPj0wP24uT0s6LTEsYj1uLnFzLW4uT0ssdj0wO2lmKG4ubGV2ZWw+MCl7bi5UUi5xUz09PTImJihuLlRSLnFTPUE0eChuKSk7RSQobixuLlFmKTtFJChuLG4uYVMpO2lDKG4sbi5rRyxuLlFmLnJPKTtpQyhuLG4ubGYsbi5hUy5yTyk7RSQobixuLm1NKTtmb3Iodj0xODt2Pj0zJiZuLndoW0NlW3ZdKjIrMV09PT0wO3YtLSk7bi5YUis9MyoodisxKSs1KzUrNDt2YXIgaz1uLlhSKzMrNz4+PjM7dmFyIGg9bi5UdiszKzc+Pj4zO2g8PWsmJihrPWgpfWVsc2Ugaz1oPWIrNTtpZihiKzQ8PWsmJkQhPT0tMSlzJChuLFc/MTowLDMpLEprKG4sRCxiKTtlbHNlIGlmKG4uc3RyYXRlZ3k9PT00fHxoPT09aylzJChuLDIrKFc/MTowKSwzKSxVJChuLEJTLEY5KTtlbHNle3MkKG4sNCsoVz8xOjApLDMpO0Q9bi5RZi5yTysxO2I9bi5hUy5yTysxO3YrPTE7cyQobixELTI1Nyw1KTtzJChuLGItMSw1KTtzJChuLHYtNCw0KTtmb3Ioaz0wO2s8djtrKyspcyQobiwKbi53aFtDZVtrXSoyKzFdLDMpO3VDKG4sbi5rRyxELTEpO3VDKG4sbi5sZixiLTEpO1UkKG4sbi5rRyxuLmxmKX1IUyhuKTtXJiZmZShuKTtuLk9LPW4ucXM7anYobi5UUil9OwpNNj1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVd9OwpSUz1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVc+Pj44JjI1NTtuLkZCW24ucGVuZGluZysrXT1XJjI1NX07ClF0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5lYixiPW4ucXMsdj1uLlRhLGs9bi5PUixoPW4ucXM+bi54ci0yNjI/bi5xcy0obi54ci0yNjIpOjAseD1uLndpbmRvdyxMPW4ueWUsZT1uLlJULEc9bi5xcysyNTgscj14W2Irdi0xXSxOPXhbYit2XTtuLlRhPj1uLnIkJiYoRD4+PTIpO2s+bi5HVyYmKGs9bi5HVyk7ZG97dmFyIEg9VztpZih4W0grdl09PT1OJiZ4W0grdi0xXT09PXImJnhbSF09PT14W2JdJiZ4WysrSF09PT14W2IrMV0pe2IrPTI7Zm9yKEgrKzt4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmYjxHOyk7SD0yNTgtKEctYik7Yj1HLTI1ODtpZihIPnYpe24uUVo9Vzt2PUg7aWYoSD49aylicmVhaztyPXhbYit2LTFdO049eFtiK3ZdfX19d2hpbGUoKFc9ZVtXJkxdKT5oJiYtLUQhPT0KMCk7cmV0dXJuIHY8PW4uR1c/djpuLkdXfTsKYVM9ZnVuY3Rpb24obil7dmFyIFc9bi54cixEO2Rve3ZhciBiPW4uYlgtbi5HVy1uLnFzO2lmKG4ucXM+PVcrKFctMjYyKSl7aGsuUDcobi53aW5kb3csbi53aW5kb3csVyxXLDApO24uUVotPVc7bi5xcy09VztuLk9LLT1XO3ZhciB2PUQ9bi5BeTtkb3t2YXIgaz1uLmhlYWRbLS12XTtuLmhlYWRbdl09az49Vz9rLVc6MH13aGlsZSgtLUQpO3Y9RD1XO2RvIGs9bi5SVFstLXZdLG4uUlRbdl09az49Vz9rLVc6MDt3aGlsZSgtLUQpO2IrPVd9aWYobi5UUi5CQT09PTApYnJlYWs7dj1uLlRSO0Q9bi53aW5kb3c7az1uLnFzK24uR1c7dmFyIGg9di5CQTtoPmImJihoPWIpO2g9PT0wP0Q9MDoodi5CQS09aCxoay5QNyhELHYuaW5wdXQsdi5VWixoLGspLHYuc3RhdGUud3JhcD09PTE/di5nST1WdCh2LmdJLEQsaCxrKTp2LnN0YXRlLndyYXA9PT0yJiYodi5nST1jUyh2LmdJLEQsaCxrKSksdi5VWis9aCx2LkVtKz1oLEQ9aCk7bi5HVys9RDtpZihuLkdXK24ucXA+PTMpZm9yKGI9bi5xcy1uLnFwLApuLnBBPW4ud2luZG93W2JdLG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYisxXSkmbi5sQjtuLnFwJiYhKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYiszLTFdKSZuLmxCLG4uUlRbYiZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPWIsYisrLG4ucXAtLSxuLkdXK24ucXA8Myk7KTt9d2hpbGUobi5HVzwyNjImJm4uVFIuQkEhPT0wKX07Cm53PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO0QhPT0wJiZuLnFzLUQ8PW4ueHItMjYyJiYobi5mQT1RdChuLEQpKTtpZihuLmZBPj0zKWlmKEQ9ZDcobixuLnFzLW4uUVosbi5mQS0zKSxuLkdXLT1uLmZBLG4uZkE8PW4uUmImJm4uR1c+PTMpe24uZkEtLTtkbyBuLnFzKyssbi5wQT0obi5wQTw8bi5IY15uLndpbmRvd1tuLnFzKzMtMV0pJm4ubEIsbi5SVFtuLnFzJm4ueWVdPW4uaGVhZFtuLnBBXSxuLmhlYWRbbi5wQV09bi5xczt3aGlsZSgtLW4uZkEhPT0wKTtuLnFzKyt9ZWxzZSBuLnFzKz1uLmZBLG4uZkE9MCxuLnBBPW4ud2luZG93W24ucXNdLG4ucEE9KG4ucEE8PG4uSGNeCm4ud2luZG93W24ucXMrMV0pJm4ubEI7ZWxzZSBEPWQ3KG4sMCxuLndpbmRvd1tuLnFzXSksbi5HVy0tLG4ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9bi5xczwyP24ucXM6MjtyZXR1cm4gVz09PTQ/KHc3KG4sITApLG4uVFIudVI9PT0wPzM6NCk6bi53WCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKT8xOjJ9OwpXVj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRCxiOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO24uVGE9bi5mQTtuLkx2PW4uUVo7bi5mQT0yO0QhPT0wJiZuLlRhPG4uUmImJm4ucXMtRDw9bi54ci0yNjImJihuLmZBPVF0KG4sRCksbi5mQTw9NSYmKG4uc3RyYXRlZ3k9PT0xfHxuLmZBPT09MyYmbi5xcy1uLlFaPjQwOTYpJiYobi5mQT0yKSk7aWYobi5UYT49MyYmbi5mQTw9bi5UYSl7Yj1uLnFzK24uR1ctMztEPWQ3KG4sbi5xcy0xLW4uTHYsbi5UYS0zKTtuLkdXLT1uLlRhLTE7bi5UYS09Mjtkbysrbi5xczw9YiYmKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbbi5xcyszLTFdKSZuLmxCLG4uUlRbbi5xcyZuLnllXT0Kbi5oZWFkW24ucEFdLG4uaGVhZFtuLnBBXT1uLnFzKTt3aGlsZSgtLW4uVGEhPT0wKTtuLlJGPTA7bi5mQT0yO24ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfWVsc2UgaWYobi5SRil7aWYoKEQ9ZDcobiwwLG4ud2luZG93W24ucXMtMV0pKSYmdzcobiwhMSksbi5xcysrLG4uR1ctLSxuLlRSLnVSPT09MClyZXR1cm4gMX1lbHNlIG4uUkY9MSxuLnFzKyssbi5HVy0tfW4uUkYmJihkNyhuLDAsbi53aW5kb3dbbi5xcy0xXSksbi5SRj0wKTtuLnFwPW4ucXM8Mj9uLnFzOjI7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKbXhqPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBELGIsdixrPW4ud2luZG93Ozspe2lmKG4uR1c8PTI1OCl7YVMobik7aWYobi5HVzw9MjU4JiZXPT09MClyZXR1cm4gMTtpZihuLkdXPT09MClicmVha31uLmZBPTA7aWYobi5HVz49MyYmbi5xcz4wJiYoYj1uLnFzLTEsRD1rW2JdLEQ9PT1rWysrYl0mJkQ9PT1rWysrYl0mJkQ9PT1rWysrYl0pKXtmb3Iodj1uLnFzKzI1ODtEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZiPHY7KTtuLmZBPTI1OC0odi1iKTtuLmZBPm4uR1cmJihuLmZBPW4uR1cpfW4uZkE+PTM/KEQ9ZDcobiwxLG4uZkEtMyksbi5HVy09bi5mQSxuLnFzKz1uLmZBLG4uZkE9MCk6KEQ9ZDcobiwwLG4ud2luZG93W24ucXNdKSxuLkdXLS0sbi5xcysrKTtpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9MDtyZXR1cm4gVz09PQo0Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKS3hVPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c9PT0wJiYoYVMobiksbi5HVz09PTApKXtpZihXPT09MClyZXR1cm4gMTticmVha31uLmZBPTA7RD1kNyhuLDAsbi53aW5kb3dbbi5xc10pO24uR1ctLTtuLnFzKys7aWYoRCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKREU9ZnVuY3Rpb24obixXLEQsYix2KXt0aGlzLm5rPW47dGhpcy5ZOD1XO3RoaXMuRWs9RDt0aGlzLlNSPWI7dGhpcy5mdW5jPXZ9OwpPMGk9ZnVuY3Rpb24oKXt0aGlzLlRSPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLkZCPW51bGw7dGhpcy53cmFwPXRoaXMucGVuZGluZz10aGlzLmhSPXRoaXMueXY9MDt0aGlzLkZRPW51bGw7dGhpcy5HST0wO3RoaXMubWV0aG9kPTg7dGhpcy5obz0tMTt0aGlzLnllPXRoaXMuclo9dGhpcy54cj0wO3RoaXMud2luZG93PW51bGw7dGhpcy5iWD0wO3RoaXMuaGVhZD10aGlzLlJUPW51bGw7dGhpcy5PUj10aGlzLnIkPXRoaXMuc3RyYXRlZ3k9dGhpcy5sZXZlbD10aGlzLlJiPXRoaXMuZWI9dGhpcy5UYT10aGlzLkdXPXRoaXMuUVo9dGhpcy5xcz10aGlzLlJGPXRoaXMuTHY9dGhpcy5mQT10aGlzLk9LPXRoaXMuSGM9dGhpcy5sQj10aGlzLll2PXRoaXMuQXk9dGhpcy5wQT0wO3RoaXMua0c9bmV3IGhrLm1LKDExNDYpO3RoaXMubGY9bmV3IGhrLm1LKDEyMik7dGhpcy53aD1uZXcgaGsubUsoNzgpO1RCKHRoaXMua0cpO1RCKHRoaXMubGYpO1RCKHRoaXMud2gpO3RoaXMubU09dGhpcy5hUz0KdGhpcy5RZj1udWxsO3RoaXMuVm49bmV3IGhrLm1LKDE2KTt0aGlzLmhlYXA9bmV3IGhrLm1LKDU3Myk7VEIodGhpcy5oZWFwKTt0aGlzLk80PXRoaXMuVW49MDt0aGlzLmRlcHRoPW5ldyBoay5tSyg1NzMpO1RCKHRoaXMuZGVwdGgpO3RoaXMuWUg9dGhpcy5SSj10aGlzLnFwPXRoaXMubWF0Y2hlcz10aGlzLlR2PXRoaXMuWFI9dGhpcy5BOD10aGlzLndYPXRoaXMuS1g9dGhpcy50YT0wfTsKUHAxPWZ1bmN0aW9uKG4sVyl7aWYoIW58fCFuLnN0YXRlfHxXPjV8fFc8MClyZXR1cm4gbj9sQyhuLC0yKTotMjt2YXIgRD1uLnN0YXRlO2lmKCFuLm91dHB1dHx8IW4uaW5wdXQmJm4uQkEhPT0wfHxELnN0YXR1cz09PTY2NiYmVyE9PTQpcmV0dXJuIGxDKG4sbi51Uj09PTA/LTU6LTIpO0QuVFI9bjt2YXIgYj1ELmhvO0QuaG89VztpZihELnN0YXR1cz09PTQyKWlmKEQud3JhcD09PTIpbi5nST0wLE02KEQsMzEpLE02KEQsMTM5KSxNNihELDgpLEQuRlE/KE02KEQsKEQuRlEudGV4dD8xOjApKyhELkZRLnZMPzI6MCkrKEQuRlEuZXh0cmE/NDowKSsoRC5GUS5uYW1lPzg6MCkrKEQuRlEuY29tbWVudD8xNjowKSksTTYoRCxELkZRLnRpbWUmMjU1KSxNNihELEQuRlEudGltZT4+OCYyNTUpLE02KEQsRC5GUS50aW1lPj4xNiYyNTUpLE02KEQsRC5GUS50aW1lPj4yNCYyNTUpLE02KEQsRC5sZXZlbD09PTk/MjpELnN0cmF0ZWd5Pj0yfHxELmxldmVsPDI/NDowKSxNNihELEQuRlEub3MmCjI1NSksRC5GUS5leHRyYSYmRC5GUS5leHRyYS5sZW5ndGgmJihNNihELEQuRlEuZXh0cmEubGVuZ3RoJjI1NSksTTYoRCxELkZRLmV4dHJhLmxlbmd0aD4+OCYyNTUpKSxELkZRLnZMJiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLDApKSxELkdJPTAsRC5zdGF0dXM9NjkpOihNNihELDApLE02KEQsMCksTTYoRCwwKSxNNihELDApLE02KEQsMCksTTYoRCxELmxldmVsPT09OT8yOkQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj80OjApLE02KEQsMyksRC5zdGF0dXM9MTEzKTtlbHNle3ZhciB2PTgrKEQuclotODw8NCk8PDg7dnw9KEQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj8wOkQubGV2ZWw8Nj8xOkQubGV2ZWw9PT02PzI6Myk8PDY7RC5xcyE9PTAmJih2fD0zMik7RC5zdGF0dXM9MTEzO1JTKEQsdisoMzEtdiUzMSkpO0QucXMhPT0wJiYoUlMoRCxuLmdJPj4+MTYpLFJTKEQsbi5nSSY2NTUzNSkpO24uZ0k9MX1pZihELnN0YXR1cz09PTY5KWlmKEQuRlEuZXh0cmEpe2Zvcih2PQpELnBlbmRpbmc7RC5HSTwoRC5GUS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoRC5wZW5kaW5nIT09RC55dnx8KEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZyE9PUQueXYpKTspTTYoRCxELkZRLmV4dHJhW0QuR0ldJjI1NSksRC5HSSsrO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO0QuR0k9PT1ELkZRLmV4dHJhLmxlbmd0aCYmKEQuR0k9MCxELnN0YXR1cz03Myl9ZWxzZSBELnN0YXR1cz03MztpZihELnN0YXR1cz09PTczKWlmKEQuRlEubmFtZSl7dj1ELnBlbmRpbmc7ZG97aWYoRC5wZW5kaW5nPT09RC55diYmKEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZz09PUQueXYpKXt2YXIgaz0xO2JyZWFrfWs9RC5HSTxELkZRLm5hbWUubGVuZ3RoPwpELkZRLm5hbWUuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5HST0wLEQuc3RhdHVzPTkxKX1lbHNlIEQuc3RhdHVzPTkxO2lmKEQuc3RhdHVzPT09OTEpaWYoRC5GUS5jb21tZW50KXt2PUQucGVuZGluZztkb3tpZihELnBlbmRpbmc9PT1ELnl2JiYoRC5GUS52TCYmRC5wZW5kaW5nPnYmJihuLmdJPWNTKG4uZ0ksRC5GQixELnBlbmRpbmctdix2KSksanYobiksdj1ELnBlbmRpbmcsRC5wZW5kaW5nPT09RC55dikpe2s9MTticmVha31rPUQuR0k8RC5GUS5jb21tZW50Lmxlbmd0aD9ELkZRLmNvbW1lbnQuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5zdGF0dXM9MTAzKX1lbHNlIEQuc3RhdHVzPQoxMDM7RC5zdGF0dXM9PT0xMDMmJihELkZRLnZMPyhELnBlbmRpbmcrMj5ELnl2JiZqdihuKSxELnBlbmRpbmcrMjw9RC55diYmKE02KEQsbi5nSSYyNTUpLE02KEQsbi5nST4+OCYyNTUpLG4uZ0k9MCxELnN0YXR1cz0xMTMpKTpELnN0YXR1cz0xMTMpO2lmKEQucGVuZGluZyE9PTApe2lmKGp2KG4pLG4udVI9PT0wKXJldHVybiBELmhvPS0xLDB9ZWxzZSBpZihuLkJBPT09MCYmKFc8PDEpLShXPjQ/OTowKTw9KGI8PDEpLShiPjQ/OTowKSYmVyE9PTQpcmV0dXJuIGxDKG4sLTUpO2lmKEQuc3RhdHVzPT09NjY2JiZuLkJBIT09MClyZXR1cm4gbEMobiwtNSk7aWYobi5CQSE9PTB8fEQuR1chPT0wfHxXIT09MCYmRC5zdGF0dXMhPT02NjYpe2I9RC5zdHJhdGVneT09PTI/S3hVKEQsVyk6RC5zdHJhdGVneT09PTM/bXhqKEQsVyk6YndbRC5sZXZlbF0uZnVuYyhELFcpO2lmKGI9PT0zfHxiPT09NClELnN0YXR1cz02NjY7aWYoYj09PTF8fGI9PT0zKXJldHVybiBuLnVSPT09MCYmKEQuaG89Ci0xKSwwO2lmKGI9PT0yJiYoVz09PTE/KHMkKEQsMiwzKSxONihELDI1NixCUyksRC5ZSD09PTE2PyhyNyhELEQuUkopLEQuUko9MCxELllIPTApOkQuWUg+PTgmJihELkZCW0QucGVuZGluZysrXT1ELlJKJjI1NSxELlJKPj49OCxELllILT04KSk6VyE9PTUmJihzJChELDAsMyksSmsoRCwwLDApLFc9PT0zJiYoVEIoRC5oZWFkKSxELkdXPT09MCYmKEQucXM9MCxELk9LPTAsRC5xcD0wKSkpLGp2KG4pLG4udVI9PT0wKSlyZXR1cm4gRC5obz0tMSwwfWlmKFchPT00KXJldHVybiAwO2lmKEQud3JhcDw9MClyZXR1cm4gMTtELndyYXA9PT0yPyhNNihELG4uZ0kmMjU1KSxNNihELG4uZ0k+PjgmMjU1KSxNNihELG4uZ0k+PjE2JjI1NSksTTYoRCxuLmdJPj4yNCYyNTUpLE02KEQsbi5FbSYyNTUpLE02KEQsbi5FbT4+OCYyNTUpLE02KEQsbi5FbT4+MTYmMjU1KSxNNihELG4uRW0+PjI0JjI1NSkpOihSUyhELG4uZ0k+Pj4xNiksUlMoRCxuLmdJJjY1NTM1KSk7anYobik7RC53cmFwPjAmJgooRC53cmFwPS1ELndyYXApO3JldHVybiBELnBlbmRpbmchPT0wPzA6MX07CnZWPWZ1bmN0aW9uKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHZWKSlyZXR1cm4gbmV3IHZWKG4pO249dGhpcy5vcHRpb25zPWhrLmFzc2lnbih7bGV2ZWw6LTEsbWV0aG9kOjgsY2h1bmtTaXplOjE2Mzg0LHRnOjE1LEJrOjgsc3RyYXRlZ3k6MCx0bzoiIn0sbnx8e30pO24ucmF3JiZuLnRnPjA/bi50Zz0tbi50ZzpuLkJUJiZuLnRnPjAmJm4udGc8MTYmJihuLnRnKz0xNik7dGhpcy5lcnI9MDt0aGlzLm1zZz0iIjt0aGlzLmVuZGVkPSExO3RoaXMuY2h1bmtzPVtdO3RoaXMuVFI9bmV3IGtmO3RoaXMuVFIudVI9MDt2YXIgVz10aGlzLlRSO3ZhciBEPW4ubGV2ZWwsYj1uLm1ldGhvZCx2PW4udGcsaz1uLkJrLGg9bi5zdHJhdGVneTtpZihXKXt2YXIgeD0xO0Q9PT0tMSYmKEQ9Nik7djwwPyh4PTAsdj0tdik6dj4xNSYmKHg9Mix2LT0xNik7aWYoazwxfHxrPjl8fGIhPT04fHx2PDh8fHY+MTV8fEQ8MHx8RD45fHxoPDB8fGg+NClXPWxDKFcsLTIpO2Vsc2V7dj09PTgmJih2PTkpO3ZhciBMPQpuZXcgTzBpO1cuc3RhdGU9TDtMLlRSPVc7TC53cmFwPXg7TC5GUT1udWxsO0wuclo9djtMLnhyPTE8PEwuclo7TC55ZT1MLnhyLTE7TC5Zdj1rKzc7TC5BeT0xPDxMLll2O0wubEI9TC5BeS0xO0wuSGM9fn4oKEwuWXYrMy0xKS8zKTtMLndpbmRvdz1uZXcgaGsuT20oTC54cioyKTtMLmhlYWQ9bmV3IGhrLm1LKEwuQXkpO0wuUlQ9bmV3IGhrLm1LKEwueHIpO0wuS1g9MTw8ays2O0wueXY9TC5LWCo0O0wuRkI9bmV3IGhrLk9tKEwueXYpO0wuQTg9MSpMLktYO0wudGE9MypMLktYO0wubGV2ZWw9RDtMLnN0cmF0ZWd5PWg7TC5tZXRob2Q9YjtpZihXJiZXLnN0YXRlKXtXLkVtPVcudEI9MDtXLnFTPTI7RD1XLnN0YXRlO0QucGVuZGluZz0wO0QuaFI9MDtELndyYXA8MCYmKEQud3JhcD0tRC53cmFwKTtELnN0YXR1cz1ELndyYXA/NDI6MTEzO1cuZ0k9RC53cmFwPT09Mj8wOjE7RC5obz0wO2lmKCFocil7Yj1BcnJheSgxNik7Zm9yKGs9aD0wO2s8Mjg7aysrKWZvcihLZVtrXT1oLHY9MDt2PAoxPDxtJFtrXTt2KyspQWtbaCsrXT1rO0FrW2gtMV09aztmb3Ioaz1oPTA7azwxNjtrKyspZm9yKFpRW2tdPWgsdj0wO3Y8MTw8UFNba107disrKU8kW2grK109aztmb3IoaD4+PTc7azwzMDtrKyspZm9yKFpRW2tdPWg8PDcsdj0wO3Y8MTw8UFNba10tNzt2KyspTyRbMjU2K2grK109aztmb3Iodj0wO3Y8PTE1O3YrKyliW3ZdPTA7Zm9yKHY9MDt2PD0xNDM7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7Zm9yKDt2PD0yNTU7KUJTW3YqMisxXT05LHYrKyxiWzldKys7Zm9yKDt2PD0yNzk7KUJTW3YqMisxXT03LHYrKyxiWzddKys7Zm9yKDt2PD0yODc7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7WWooQlMsMjg3LGIpO2Zvcih2PTA7djwzMDt2KyspRjlbdioyKzFdPTUsRjlbdioyXT1wZSh2LDUpO3hmPW5ldyBldihCUyxtJCwyNTcsMjg2LDE1KTtMdz1uZXcgZXYoRjksUFMsMCwzMCwxNSk7ZUg9bmV3IGV2KFtdLFowdywwLDE5LDcpO2hyPSEwfUQuUWY9bmV3IHRrKEQua0cseGYpO0QuYVM9Cm5ldyB0ayhELmxmLEx3KTtELm1NPW5ldyB0ayhELndoLGVIKTtELlJKPTA7RC5ZSD0wO0hTKEQpO0Q9MH1lbHNlIEQ9bEMoVywtMik7RD09PTAmJihXPVcuc3RhdGUsVy5iWD0yKlcueHIsVEIoVy5oZWFkKSxXLlJiPWJ3W1cubGV2ZWxdLlk4LFcuciQ9YndbVy5sZXZlbF0ubmssVy5PUj1id1tXLmxldmVsXS5FayxXLmViPWJ3W1cubGV2ZWxdLlNSLFcucXM9MCxXLk9LPTAsVy5HVz0wLFcucXA9MCxXLmZBPVcuVGE9MixXLlJGPTAsVy5wQT0wKTtXPUR9fWVsc2UgVz0tMjtpZihXIT09MCl0aHJvdyBFcnJvcih6QltXXSk7bi5oZWFkZXImJihXPXRoaXMuVFIpJiZXLnN0YXRlJiZXLnN0YXRlLndyYXA9PT0yJiYoVy5zdGF0ZS5GUT1uLmhlYWRlcik7aWYobi5Dbyl7dmFyIGU7dHlwZW9mIG4uQ289PT0ic3RyaW5nIj9lPXhqKG4uQ28pOmcyLmNhbGwobi5Dbyk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2U9bmV3IFVpbnQ4QXJyYXkobi5Dbyk6ZT1uLkNvO249dGhpcy5UUjtrPWU7aD0Kay5sZW5ndGg7aWYobiYmbi5zdGF0ZSlpZihlPW4uc3RhdGUsVz1lLndyYXAsVz09PTJ8fFc9PT0xJiZlLnN0YXR1cyE9PTQyfHxlLkdXKVc9LTI7ZWxzZXtXPT09MSYmKG4uZ0k9VnQobi5nSSxrLGgsMCkpO2Uud3JhcD0wO2g+PWUueHImJihXPT09MCYmKFRCKGUuaGVhZCksZS5xcz0wLGUuT0s9MCxlLnFwPTApLEQ9bmV3IGhrLk9tKGUueHIpLGhrLlA3KEQsayxoLWUueHIsZS54ciwwKSxrPUQsaD1lLnhyKTtEPW4uQkE7Yj1uLlVaO3Y9bi5pbnB1dDtuLkJBPWg7bi5VWj0wO24uaW5wdXQ9aztmb3IoYVMoZSk7ZS5HVz49Mzspe2s9ZS5xcztoPWUuR1ctMjtkbyBlLnBBPShlLnBBPDxlLkhjXmUud2luZG93W2srMy0xXSkmZS5sQixlLlJUW2smZS55ZV09ZS5oZWFkW2UucEFdLGUuaGVhZFtlLnBBXT1rLGsrKzt3aGlsZSgtLWgpO2UucXM9aztlLkdXPTI7YVMoZSl9ZS5xcys9ZS5HVztlLk9LPWUucXM7ZS5xcD1lLkdXO2UuR1c9MDtlLmZBPWUuVGE9MjtlLlJGPTA7bi5VWj1iO24uaW5wdXQ9CnY7bi5CQT1EO2Uud3JhcD1XO1c9MH1lbHNlIFc9LTI7aWYoVyE9PTApdGhyb3cgRXJyb3IoekJbV10pO3RoaXMuWGg9ITB9fTsKWCQ9ZnVuY3Rpb24obil7dmFyIFc9V3x8e307Vy5CVD0hMDtXPW5ldyB2VihXKTtXLnB1c2gobiwhMCk7aWYoVy5lcnIpdGhyb3cgVy5tc2d8fHpCW1cuZXJyXTtyZXR1cm4gVy5yZXN1bHR9OwpxTj1mdW5jdGlvbiguLi5uKXtyZXR1cm4gbi5sZW5ndGg9PT0wP1c9Plc6bi5sZW5ndGg9PT0xP25bMF06bi5yZWR1Y2UoKFcsRCk9PiguLi5iKT0+VyhEKC4uLmIpKSl9OwpVeGo9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gVz0+KEQsYik9PntEPVcoRCxiKTt2YXIgdj0oKT0+e3Rocm93IEVycm9yKCJEaXNwYXRjaGluZyB3aGlsZSBjb25zdHJ1Y3RpbmcgeW91ciBtaWRkbGV3YXJlIGlzIG5vdCBhbGxvd2VkLiBPdGhlciBtaWRkbGV3YXJlIHdvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoaXMgZGlzcGF0Y2guIik7fSxrPXtnZXRTdGF0ZTpELmdldFN0YXRlLApkaXNwYXRjaDooaCwuLi54KT0+dihoLC4uLngpfTsKYj1uLm1hcChoPT5oKGspKTsKdj1xTiguLi5iKShELmRpc3BhdGNoKTtyZXR1cm57Li4uRCxkaXNwYXRjaDp2fX19Owp5NDI9ZnVuY3Rpb24obil7T2JqZWN0LmtleXMobikuZm9yRWFjaChXPT57dmFyIEQ9bltXXTtpZih0eXBlb2YgRCh2b2lkIDAse3R5cGU6R2R9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKGBUaGUgc2xpY2UgcmVkdWNlciBmb3Iga2V5ICIke1d9IiByZXR1cm5lZCB1bmRlZmluZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBJZiB0aGUgc3RhdGUgcGFzc2VkIHRvIHRoZSByZWR1Y2VyIGlzIHVuZGVmaW5lZCwgeW91IG11c3QgZXhwbGljaXRseSByZXR1cm4gdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBpbml0aWFsIHN0YXRlIG1heSBub3QgYmUgdW5kZWZpbmVkLiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBmb3IgdGhpcyByZWR1Y2VyLCB5b3UgY2FuIHVzZSBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLmApO2lmKHR5cGVvZiBEKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7dHIoKX1gfSk9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcihgVGhlIHNsaWNlIHJlZHVjZXIgZm9yIGtleSAiJHtXfSIgcmV0dXJuZWQgdW5kZWZpbmVkIHdoZW4gcHJvYmVkIHdpdGggYSByYW5kb20gdHlwZS4gRG9uJ3QgdHJ5IHRvIGhhbmRsZSAnJHtHZH0nIG9yIG90aGVyIGFjdGlvbnMgaW4gInJlZHV4LyoiIG5hbWVzcGFjZS4gVGhleSBhcmUgY29uc2lkZXJlZCBwcml2YXRlLiBJbnN0ZWFkLCB5b3UgbXVzdCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgZm9yIGFueSB1bmtub3duIGFjdGlvbnMsIHVubGVzcyBpdCBpcyB1bmRlZmluZWQsIGluIHdoaWNoIGNhc2UgeW91IG11c3QgcmV0dXJuIHRoZSBpbml0aWFsIHN0YXRlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3Rpb24gdHlwZS4gVGhlIGluaXRpYWwgc3RhdGUgbWF5IG5vdCBiZSB1bmRlZmluZWQsIGJ1dCBjYW4gYmUgbnVsbC5gKTsKfSl9OwokZj1mdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuZ2V0U3RhdGUoKSB3aGlsZSB0aGUgcmVkdWNlciBpcyBleGVjdXRpbmcuIFRoZSByZWR1Y2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gUGFzcyBpdCBkb3duIGZyb20gdGhlIHRvcCByZWR1Y2VyIGluc3RlYWQgb2YgcmVhZGluZyBpdCBmcm9tIHRoZSBzdG9yZS4iKTtyZXR1cm4geH0KZnVuY3Rpb24gdihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59J2ApO2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuc3Vic2NyaWJlKCkgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBJZiB5b3Ugd291bGQgbGlrZSB0byBiZSBub3RpZmllZCBhZnRlciB0aGUgc3RvcmUgaGFzIGJlZW4gdXBkYXRlZCwgc3Vic2NyaWJlIGZyb20gYSBjb21wb25lbnQgYW5kIGludm9rZSBzdG9yZS5nZXRTdGF0ZSgpIGluIHRoZSBjYWxsYmFjayB0byBhY2Nlc3MgdGhlIGxhdGVzdCBzdGF0ZS4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL2FwaS9zdG9yZSNzdWJzY3JpYmVsaXN0ZW5lciBmb3IgbW9yZSBkZXRhaWxzLiIpO3ZhciBIPSEwO2U9PT1MJiYoZT1MLnNsaWNlKCkpO2UucHVzaChOKTtyZXR1cm4gZnVuY3Rpb24oKXtpZihIKXtpZihHKXRocm93IEVycm9yKCJZb3UgbWF5IG5vdCB1bnN1YnNjcmliZSBmcm9tIGEgc3RvcmUgbGlzdGVuZXIgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBTZWUgaHR0cHM6Ly9yZWR1eC5qcy5vcmcvYXBpL3N0b3JlI3N1YnNjcmliZWxpc3RlbmVyIGZvciBtb3JlIGRldGFpbHMuIik7Ckg9ITE7ZT09PUwmJihlPUwuc2xpY2UoKSk7ZS5zcGxpY2UoZS5pbmRleE9mKE4pLDEpO0w9bnVsbH19fQpmdW5jdGlvbiBrKE4pe2lmKHR5cGVvZiBOIT09Im9iamVjdCJ8fE49PT1udWxsKXZhciBIPSExO2Vsc2V7Zm9yKEg9TjtPYmplY3QuZ2V0UHJvdG90eXBlT2YoSCkhPT1udWxsOylIPU9iamVjdC5nZXRQcm90b3R5cGVPZihIKTtIPU9iamVjdC5nZXRQcm90b3R5cGVPZihOKT09PUh9aWYoIUgpdGhyb3cgRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBJbnN0ZWFkLCB0aGUgYWN0dWFsIHR5cGUgd2FzOiAnJHt0eXBlb2YgTn0nLiBZb3UgbWF5IG5lZWQgdG8gYWRkIG1pZGRsZXdhcmUgdG8geW91ciBzdG9yZSBzZXR1cCB0byBoYW5kbGUgZGlzcGF0Y2hpbmcgb3RoZXIgdmFsdWVzLCBzdWNoIGFzICdyZWR1eC10aHVuaycgdG8gaGFuZGxlIGRpc3BhdGNoaW5nIGZ1bmN0aW9ucy4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC00LXN0b3JlI21pZGRsZXdhcmUgYW5kIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC02LWFzeW5jLWxvZ2ljI3VzaW5nLXRoZS1yZWR1eC10aHVuay1taWRkbGV3YXJlIGZvciBleGFtcGxlcy5gKTsKaWYodHlwZW9mIE4udHlwZT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCdBY3Rpb25zIG1heSBub3QgaGF2ZSBhbiB1bmRlZmluZWQgInR5cGUiIHByb3BlcnR5LiBZb3UgbWF5IGhhdmUgbWlzc3BlbGxlZCBhbiBhY3Rpb24gdHlwZSBzdHJpbmcgY29uc3RhbnQuJyk7aWYoRyl0aHJvdyBFcnJvcigiUmVkdWNlcnMgbWF5IG5vdCBkaXNwYXRjaCBhY3Rpb25zLiIpO3RyeXtHPSEwLHg9aCh4LE4pfWZpbmFsbHl7Rz0hMX1IPUw9ZTtmb3IobGV0IEE9MDtBPEgubGVuZ3RoO0ErKykoMCxIW0FdKSgpO3JldHVybiBOfQppZih0eXBlb2YgVz09PSJmdW5jdGlvbiImJnR5cGVvZiBEPT09ImZ1bmN0aW9uInx8dHlwZW9mIEQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSXQgbG9va3MgbGlrZSB5b3UgYXJlIHBhc3Npbmcgc2V2ZXJhbCBzdG9yZSBlbmhhbmNlcnMgdG8gY3JlYXRlU3RvcmUoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBJbnN0ZWFkLCBjb21wb3NlIHRoZW0gdG9nZXRoZXIgdG8gYSBzaW5nbGUgZnVuY3Rpb24uIFNlZSBodHRwczovL3JlZHV4LmpzLm9yZy90dXRvcmlhbHMvZnVuZGFtZW50YWxzL3BhcnQtNC1zdG9yZSNjcmVhdGluZy1hLXN0b3JlLXdpdGgtZW5oYW5jZXJzIGZvciBhbiBleGFtcGxlLiIpO3R5cGVvZiBXPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEQ9PT0idW5kZWZpbmVkIiYmKEQ9VyxXPXZvaWQgMCk7aWYodHlwZW9mIEQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIEQhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgZW5oYW5jZXIgdG8gYmUgYSBmdW5jdGlvbi4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBEfSdgKTsKcmV0dXJuIEQoJGYpKG4sVyl9aWYodHlwZW9mIG4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgcm9vdCByZWR1Y2VyIHRvIGJlIGEgZnVuY3Rpb24uIEluc3RlYWQsIHJlY2VpdmVkOiAnJHt0eXBlb2Ygbn0nYCk7dmFyIGg9bix4PVcsTD1bXSxlPUwsRz0hMTtrKHt0eXBlOkdkfSk7dmFyIHI9e2Rpc3BhdGNoOmssc3Vic2NyaWJlOnYsZ2V0U3RhdGU6YixyZXBsYWNlUmVkdWNlcjpmdW5jdGlvbihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBuZXh0UmVkdWNlciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59YCk7aD1OO2soe3R5cGU6RUtDfSk7cmV0dXJuIHJ9LApbcjJdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShOKXtmdW5jdGlvbiBIKCl7Ti5uZXh0JiZOLm5leHQoYigpKX0KaWYodHlwZW9mIE4hPT0ib2JqZWN0Inx8Tj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdGhlIG9ic2VydmVyIHRvIGJlIGFuIG9iamVjdC4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBOfSdgKTtIKCk7cmV0dXJue3Vuc3Vic2NyaWJlOnYoSCl9fSxbcjJdKCl7cmV0dXJuIHRoaXN9fX19OwpyZXR1cm4gcn07Ck5OPWZ1bmN0aW9uKG4pe3JldHVybiBuPyhuPW4ucHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlU2FmZVNjcmlwdFdyYXBwZWRWYWx1ZSk/bWMobik6bnVsbDpudWxsfTsKcHc9ZnVuY3Rpb24obil7cmV0dXJuIG4/KG49bi5wcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUpP2szKG4pOm51bGw6bnVsbH07CmcuSFY9ZnVuY3Rpb24obil7bj1ZZihuKTtyZXR1cm4gZy5ITShuKX07CmZ3PWZ1bmN0aW9uKG4pe249WWYobik7cmV0dXJuIGszKG4pfTsKWWY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1udWxsPyJudWxsIjpuPT09dm9pZCAwPyJ1bmRlZmluZWQiOm59OwpKcj1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIn07CmcuU0g9ZnVuY3Rpb24oLi4ubil7bj1hcmd1bWVudHM7dmFyIFc9SUU7bi5sZW5ndGg+MT9XW25bMF1dPW5bMV06bi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKFcsblswXSl9OwpnLkFyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4gaW4gSUU/SUVbbl06V307Cm15PWZ1bmN0aW9uKG4pe3ZhciBXPUlFLkVYUEVSSU1FTlRfRkxBR1M7cmV0dXJuIFc/V1tuXTp2b2lkIDB9OwppMGI9ZnVuY3Rpb24obil7S3cuZm9yRWFjaChXPT5XKG4pKX07ClBWPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZ3aW5kb3cueXRlcnI/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKFcpe090KFcpfX06bn07Ck90PWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO1c/VyhuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk6KFc9Zy5BcigiRVJST1JTIixbXSksVy5wdXNoKFtuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMF0pLGcuU0goIkVSUk9SUyIsVykpO2kwYihuKX07ClpFPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9Zy5ycigieXQubG9nZ2luZy5lcnJvcnMubG9nIik7az9rKG4sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2KTooaz1nLkFyKCJFUlJPUlMiLFtdKSxrLnB1c2goW24sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2XSksZy5TSCgiRVJST1JTIixrKSl9Owp5Rj1mdW5jdGlvbihuLFcpe1c9bi5zcGxpdChXKTt2YXIgRD17fTtmb3IobGV0IGs9MCxoPVcubGVuZ3RoO2s8aDtrKyspe2xldCB4PVdba10uc3BsaXQoIj0iKTtpZih4Lmxlbmd0aD09PTEmJnhbMF18fHgubGVuZ3RoPT09Mil0cnl7bGV0IEw9VXQoeFswXXx8IiIpLGU9VXQoeFsxXXx8IiIpO2lmKEwgaW4gRCl7bGV0IEc9RFtMXTtBcnJheS5pc0FycmF5KEcpP2cuUTIoRyxlKTpEW0xdPVtHLGVdfWVsc2UgRFtMXT1lfWNhdGNoKEwpe3ZhciBiPUwsdj14WzBdO2xldCBlPVN0cmluZyh5Rik7Yi5hcmdzPVt7a2V5OnYsdmFsdWU6eFsxXSxxdWVyeTpuLG1ldGhvZDp1UWg9PT1lPyJ1bmNoYW5nZWQiOmV9XTtvS2kuaGFzT3duUHJvcGVydHkodil8fFpFKGIpfX1yZXR1cm4gRH07CmcuRXQ9ZnVuY3Rpb24obil7dmFyIFc9W107Zy5hXyhuLChELGIpPT57dmFyIHY9cWgoYik7Zy55MihBcnJheS5pc0FycmF5KEQpP0Q6W0RdLGs9PntrPT0iIj9XLnB1c2godik6Vy5wdXNoKGAke3Z9PSR7cWgoayl9YCl9KX0pOwpyZXR1cm4gVy5qb2luKCImIil9OwpnLml3PWZ1bmN0aW9uKG4pe24uY2hhckF0KDApPT09Ij8iJiYobj1uLnN1YnN0cmluZygxKSk7cmV0dXJuIHlGKG4sIiYiKX07CnV3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNwbGl0KCIsIikubWFwKFc9PmcuaXcoVykpfTsKZy5vRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCI/IikhPT0tMT8obj0obnx8IiIpLnNwbGl0KCIjIilbMF0sbj1uLnNwbGl0KCI/IiwyKSxnLml3KG4ubGVuZ3RoPjE/blsxXTpuWzBdKSk6e319OwpnLnpkPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGQyKG4sV3x8e30sITApfTsKZy5sdz1mdW5jdGlvbihuLFcpe3JldHVybiBkMihuLFd8fHt9LCExKX07CmQyPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLnNwbGl0KCIjIiwyKTtuPWJbMF07Yj1iLmxlbmd0aD4xPyIjIitiWzFdOiIiO3ZhciB2PW4uc3BsaXQoIj8iLDIpO249dlswXTt2PWcuaXcodlsxXXx8IiIpO2ZvcihsZXQgayBpbiBXKWlmKER8fCFnLmVwKHYsaykpdltrXT1XW2tdO3JldHVybiBnLkVUKG4sdikrYn07CmcuVGQ9ZnVuY3Rpb24obil7aWYoIVcpdmFyIFc9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIEQ9Zy5mcChuKVsxXXx8bnVsbCxiPWcuSVAobik7RCYmYj8obj1nLmZwKG4pLFc9Zy5mcChXKSxuPW5bM109PVdbM10mJm5bMV09PVdbMV0mJm5bNF09PVdbNF0pOm49Yj9nLklQKFcpPT09YiYmKE51bWJlcihnLmZwKFcpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKGcuZnAobilbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gbn07Cmcuakg9ZnVuY3Rpb24obil7bnx8KG49ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7bj1nLmZwKG4pWzFdfHxudWxsO3JldHVybiBuIT09bnVsbCYmbj09PSJodHRwcyJ9OwpnLkJWPWZ1bmN0aW9uKG4pe249Q3cobik7cmV0dXJuIG49PT1udWxsPyExOm5bMF09PT0iY29tIiYmblsxXS5tYXRjaCgvXnlvdXR1YmUoPzpraWRzfC1ub2Nvb2tpZSk/JC8pPyEwOiExfTsKZy5GJD1mdW5jdGlvbihuKXtuPUN3KG4pO3JldHVybiBuPT09bnVsbD8hMTpuWzFdPT09Imdvb2dsZSI/ITA6blsyXT09PSJnb29nbGUiP25bMF09PT0iYXUiJiZuWzFdPT09ImNvbSI/ITA6blswXT09PSJ1ayImJm5bMV09PT0iY28iPyEwOiExOiExfTsKQ3c9ZnVuY3Rpb24obil7bj1nLklQKG4pO3JldHVybiBuIT09bnVsbD9uLnNwbGl0KCIuIikucmV2ZXJzZSgpOm51bGx9OwpVdD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5tYXRjaChkeGkpP246RzUobil9OwpnLk1OPWZ1bmN0aW9uKG4pe2E6e2xldCBEO3RyeXtEPW4uTi50b3AubG9jYXRpb24uaHJlZn1jYXRjaChiKXtuPTI7YnJlYWsgYX1uPUQ/RD09PW4uSi5sb2NhdGlvbi5ocmVmPzA6MToyfW49e2R0OnpDdyxmbGFzaDoiMCIsZnJtOm59O3RyeXtuLnVfdHo9LShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt0cnl7dmFyIFc9Zy53Mi5oaXN0b3J5Lmxlbmd0aH1jYXRjaChEKXtXPTB9bi51X2hpcz1XO24udV9oPWcudzIuc2NyZWVuPy5oZWlnaHQ7bi51X3c9Zy53Mi5zY3JlZW4/LndpZHRoO24udV9haD1nLncyLnNjcmVlbj8uYXZhaWxIZWlnaHQ7bi51X2F3PWcudzIuc2NyZWVuPy5hdmFpbFdpZHRoO24udV9jZD1nLncyLnNjcmVlbj8uY29sb3JEZXB0aH1jYXRjaChEKXt9cmV0dXJuIG59OwpnLlFGPWZ1bmN0aW9uKG49SnIoKSl7dmFyIFc9Zy5SRSxEPU9iamVjdCxiPUQuYXNzaWduLHY9Zy5NTihXKTt2YXIgaz1XLk47dHJ5e3ZhciBoPWsuc2NyZWVuWDt2YXIgeD1rLnNjcmVlbll9Y2F0Y2goVCl7fXRyeXt2YXIgTD1rLm91dGVyV2lkdGg7dmFyIGU9ay5vdXRlckhlaWdodH1jYXRjaChUKXt9dHJ5e3ZhciBHPWsuaW5uZXJXaWR0aDt2YXIgcj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIE49ay5zY3JlZW5MZWZ0O3ZhciBIPWsuc2NyZWVuVG9wfWNhdGNoKFQpe310cnl7Rz1rLmlubmVyV2lkdGgscj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIEE9ay5zY3JlZW4uYXZhaWxXaWR0aDt2YXIgeT1rLnNjcmVlbi5hdmFpbFRvcH1jYXRjaChUKXt9az1bTixILGgseCxBLHksTCxlLEcscl07aD1nLnNJKCExLFcuTi50b3ApO3g9bmV3IGxYcjsiU1ZHRWxlbWVudCJpbiBnLnFpJiYiY3JlYXRlRWxlbWVudE5TImluIGcucWkuZG9jdW1lbnQmJnguc2V0KDApOwpMPVRUcigpO0xbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZ4LnNldCgxKTtMWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmeC5zZXQoMik7Zy5xaS5jcnlwdG8mJmcucWkuY3J5cHRvLnN1YnRsZSYmeC5zZXQoMyk7IlRleHREZWNvZGVyImluIGcucWkmJiJUZXh0RW5jb2RlciJpbiBnLnFpJiZ4LnNldCg0KTtXPXtiYzpOV2goeCksYmloOmguaGVpZ2h0LGJpdzpoLndpZHRoLGJyZGltOmsuam9pbigpLHZpczpnLk53KFcuSiksd2dsOiEhZy53Mi5XZWJHTFJlbmRlcmluZ0NvbnRleHR9O0Q9Yi5jYWxsKEQsdixXKTtELmNhX3R5cGU9ImltYWdlIjtuJiYoRC5iaWQ9bik7cmV0dXJuIER9OwpUVzI9ZnVuY3Rpb24oKXtpZighVkYpcmV0dXJuIG51bGw7dmFyIG49VkYoKTtyZXR1cm4ib3BlbiJpbiBuP246bnVsbH07CmFFPWZ1bmN0aW9uKG4pe3N3aXRjaChjVihuKSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDQ6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAzMDQ6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19OwpjVj1mdW5jdGlvbihuKXtyZXR1cm4gbiYmInN0YXR1cyJpbiBuP24uc3RhdHVzOi0xfTsKZy5uJD1mdW5jdGlvbihuLFcpe3R5cGVvZiBuPT09ImZ1bmN0aW9uIiYmKG49UFYobikpO3JldHVybiB3aW5kb3cuc2V0VGltZW91dChuLFcpfTsKVzA9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09PSJmdW5jdGlvbiImJihuPVBWKG4pKTtyZXR1cm4gd2luZG93LnNldEludGVydmFsKG4sVyl9OwpEcj1mdW5jdGlvbihuKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChuKX07CmcubD1mdW5jdGlvbihuLFcpe249YmIobixXKTtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIiYmbj09PSJmYWxzZSI/ITE6ISFufTsKdjA9ZnVuY3Rpb24obixXKXtyZXR1cm4gTnVtYmVyKGJiKG4sVyl8fDApfTsKa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5BcigiRVhQRVJJTUVOVFNfVE9LRU4iLCIiKX07CmJiPWZ1bmN0aW9uKG4sVyl7bj1nLkFyKCJFWFBFUklNRU5UX0ZMQUdTIix7fSlbbl07cmV0dXJuIG4hPT12b2lkIDA/bjpXfTsKaHk9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPWcuQXIoIkVYUEVSSU1FTlRTX0ZPUkNFRF9GTEFHUyIse30pO2Zvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhXKSluLnB1c2goe2tleTpELHZhbHVlOlN0cmluZyhXW0RdKX0pO0Q9Zy5BcigiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhEKSliLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZXW2JdPT09dm9pZCAwJiZuLnB1c2goe2tleTpiLHZhbHVlOlN0cmluZyhEW2JdKX0pO3JldHVybiBufTsKeFQ9ZnVuY3Rpb24obixXLEQ9IkdFVCIsYj0iIix2LGssaCx4PSExLEwpe3ZhciBlPVRXMigpO2lmKCFlKXJldHVybiBudWxsO3ZhciBHPSgpPT57KGUmJiJyZWFkeVN0YXRlImluIGU/ZS5yZWFkeVN0YXRlOjApPT09NCYmVyYmUFYoVykoZSl9Owoib25sb2FkZW5kImluIGU/ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixHLCExKTplLm9ucmVhZHlzdGF0ZWNoYW5nZT1HO2cubCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYobj1qMloobikpO2Uub3BlbihELG4sITApO2smJihlLnJlc3BvbnNlVHlwZT1rKTtoJiYoZS53aXRoQ3JlZGVudGlhbHM9ITApO0Q9RD09PSJQT1NUIiYmKHdpbmRvdy5Gb3JtRGF0YT09PXZvaWQgMHx8IShiIGluc3RhbmNlb2YgRm9ybURhdGEpKTtpZih2PUNwTShuLHYpKWZvcihsZXQgciBpbiB2KWUuc2V0UmVxdWVzdEhlYWRlcihyLHZbcl0pLCJjb250ZW50LXR5cGUiPT09ci50b0xvd2VyQ2FzZSgpJiYoRD0hMSk7RCYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTtMJiYib25wcm9ncmVzcyJpbiBlJiYoZS5vbnByb2dyZXNzPSgpPT57TChlLnJlc3BvbnNlVGV4dCl9KTsKaWYoeCYmInNldEF0dHJpYnV0aW9uUmVwb3J0aW5nImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSl7bj17ZXZlbnRTb3VyY2VFbGlnaWJsZTohMCx0cmlnZ2VyRWxpZ2libGU6ITF9O3RyeXtlLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKG4pfWNhdGNoKHIpe1pFKHIpfX1lLnNlbmQoYik7cmV0dXJuIGV9OwpDcE09ZnVuY3Rpb24obixXPXt9KXt2YXIgRD1nLlRkKG4pLGI9Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIiksdj1nLmwoIndlYl9hamF4X2lnbm9yZV9nbG9iYWxfaGVhZGVyc19pZl9zZXQiKTtmb3IobGV0IHggaW4gTCQpe2xldCBMPWcuQXIoTCRbeF0pLGU9eD09PSJYLUdvb2ctQXV0aFVzZXIifHx4PT09IlgtR29vZy1QYWdlSWQiO3ghPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxMfHwoTD1nLkFyKCJWSVNJVE9SX0RBVEEiKSk7dmFyIGs7aWYoIShrPSFMKSl7aWYoIShrPUR8fChnLklQKG4pPyExOiEwKSkpe2s9bjt2YXIgaDtpZihoPWcubCgiYWRkX2F1dGhfaGVhZGVyc190b19yZW1hcmtldGluZ19nb29nbGVfZG90X2NvbV9waW5nIikmJng9PT0iQXV0aG9yaXphdGlvbiImJihiPT09IlRWSFRNTDUifHxiPT09IlRWSFRNTDVfVU5QTFVHR0VEInx8Yj09PSJUVkhUTUw1X1NJTVBMWSIpJiZnLkYkKGspKWs9UzEoayl8fCIiLGs9ay5zcGxpdCgiLyIpLGs9Ii8iKyhrLmxlbmd0aD4KMT9rWzFdOiIiKSxoPWs9PT0iL3BhZ2VhZCI7az1oPyEwOiExfWs9IWt9a3x8diYmV1t4XSE9PXZvaWQgMHx8Yj09PSJUVkhUTUw1X1VOUExVR0dFRCImJmV8fChXW3hdPUwpfSJYLUdvb2ctRU9NLVZpc2l0b3ItSWQiaW4gVyYmIlgtR29vZy1WaXNpdG9yLUlkImluIFcmJmRlbGV0ZSBXWyJYLUdvb2ctVmlzaXRvci1JZCJdO2lmKER8fCFnLklQKG4pKVdbIlgtWW91VHViZS1VdGMtT2Zmc2V0Il09U3RyaW5nKC0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO2lmKER8fCFnLklQKG4pKXtsZXQgeDt0cnl7eD0obmV3IEludGwuRGF0ZVRpbWVGb3JtYXQpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWNhdGNoe314JiYoV1siWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPXgpfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhRCYmZy5JUChuKXx8KFdbIlgtWW91VHViZS1BZC1TaWduYWxzIl09Zy5FdChnLlFGKCkpKTtyZXR1cm4gV307Cmc4PWZ1bmN0aW9uKG4sVyl7Vy5tZXRob2Q9IlBPU1QiO1cucG9zdFBhcmFtc3x8KFcucG9zdFBhcmFtcz17fSk7cmV0dXJuIGcuZWQobixXKX07CkJXaj1mdW5jdGlvbihuLFcpe2lmKHdpbmRvdy5mZXRjaCYmVy5mb3JtYXQhPT0iWE1MIil7dmFyIEQ9e21ldGhvZDpXLm1ldGhvZHx8IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn07Vy5oZWFkZXJzJiYoRC5oZWFkZXJzPVcuaGVhZGVycyk7Vy5wcmlvcml0eSYmKEQucHJpb3JpdHk9Vy5wcmlvcml0eSk7bj1YbihuLFcpO3ZhciBiPXFYKG4sVyk7YiYmKEQuYm9keT1iKTtXLndpdGhDcmVkZW50aWFscyYmKEQuY3JlZGVudGlhbHM9ImluY2x1ZGUiKTt2YXIgdj1XLmNvbnRleHR8fGcucWksaz0hMSxoO2ZldGNoKG4sRCkudGhlbih4PT57aWYoIWspe2s9ITA7aCYmd2luZG93LmNsZWFyVGltZW91dChoKTt2YXIgTD14Lm9rLGU9Rz0+e0c9R3x8e307TD9XLm9uU3VjY2VzcyYmVy5vblN1Y2Nlc3MuY2FsbCh2LEcseCk6Vy5vbkVycm9yJiZXLm9uRXJyb3IuY2FsbCh2LEcseCk7Vy5vbkZpbmlzaCYmVy5vbkZpbmlzaC5jYWxsKHYsRyx4KX07CihXLmZvcm1hdHx8IkpTT04iKT09PSJKU09OIiYmKEx8fHguc3RhdHVzPj00MDAmJnguc3RhdHVzPDUwMCk/eC5qc29uKCkudGhlbihlLCgpPT57ZShudWxsKX0pOmUobnVsbCl9fSkuY2F0Y2goKCk9PntXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKHYse30se30pfSk7Cm49Vy50aW1lb3V0fHwwO1cub25GZXRjaFRpbWVvdXQmJm4+MCYmKGg9Zy5uJCgoKT0+e2t8fChrPSEwLHdpbmRvdy5jbGVhclRpbWVvdXQoaCksVy5vbkZldGNoVGltZW91dC5jYWxsKFcuY29udGV4dHx8Zy5xaSkpfSxuKSl9ZWxzZSBnLmVkKG4sVyl9OwpnLmVkPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5mb3JtYXR8fCJKU09OIjtuPVhuKG4sVyk7dmFyIGI9cVgobixXKSx2PSExLGs9RngxKG4seD0+e2lmKCF2KXt2PSEwO2gmJndpbmRvdy5jbGVhclRpbWVvdXQoaCk7dmFyIEw9YUUoeCksZT1udWxsLEc9NDAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NTAwLHI9NTAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NjAwO2lmKEx8fEd8fHIpZT13MjIobixELHgsVy5jb252ZXJ0VG9TYWZlSHRtbCk7TCYmKEw9TXVDKEQseCxlKSk7ZT1lfHx7fTtHPVcuY29udGV4dHx8Zy5xaTtMP1cub25TdWNjZXNzJiZXLm9uU3VjY2Vzcy5jYWxsKEcseCxlKTpXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKEcseCxlKTtXLm9uRmluaXNoJiZXLm9uRmluaXNoLmNhbGwoRyx4LGUpfX0sVy5tZXRob2QsYixXLmhlYWRlcnMsVy5yZXNwb25zZVR5cGUsVy53aXRoQ3JlZGVudGlhbHMsITEsVy5vblByb2dyZXNzKTsKYj1XLnRpbWVvdXR8fDA7aWYoVy5vblRpbWVvdXQmJmI+MCl7bGV0IHg9Vy5vblRpbWVvdXQ7dmFyIGg9Zy5uJCgoKT0+e3Z8fCh2PSEwLGsuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLHguY2FsbChXLmNvbnRleHR8fGcucWksaykpfSxiKX1yZXR1cm4ga307ClhuPWZ1bmN0aW9uKG4sVyl7Vy5pbmNsdWRlRG9tYWluJiYobj1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKyhkb2N1bWVudC5sb2NhdGlvbi5wb3J0PyI6Iitkb2N1bWVudC5sb2NhdGlvbi5wb3J0OiIiKStuKTt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKTtpZihXPVcudXJsUGFyYW1zKVdbRF0mJmRlbGV0ZSBXW0RdLG49Zy56ZChuLFcpO3JldHVybiBufTsKcVg9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKSxiPWcuQXIoIlhTUkZfVE9LRU4iKSx2PVcucG9zdEJvZHl8fCIiLGs9Vy5wb3N0UGFyYW1zLGg9Zy5BcigiWFNSRl9GSUVMRF9OQU1FIikseDtXLmhlYWRlcnMmJih4PVcuaGVhZGVyc1siQ29udGVudC1UeXBlIl0pO1cuZXhjbHVkZVhzcmZ8fGcuSVAobikmJiFXLndpdGhDcmVkZW50aWFscyYmZy5JUChuKSE9PWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfHxXLm1ldGhvZCE9PSJQT1NUInx8eCYmeCE9PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifHxXLnBvc3RQYXJhbXMmJlcucG9zdFBhcmFtc1toXXx8KGt8fChrPXt9KSxrW0RdPWIpO2smJnR5cGVvZiB2PT09InN0cmluZyImJih2PWcuaXcodiksZy5ZeSh2LGspLHY9Vy5wb3N0Qm9keUZvcm1hdCYmVy5wb3N0Qm9keUZvcm1hdD09PSJKU09OIj9KU09OLnN0cmluZ2lmeSh2KTp5Ryh2KSk7az12fHxrJiYhZy5HRihrKTshR1EmJgprJiZXLm1ldGhvZCE9PSJQT1NUIiYmKEdRPSEwLE90KEVycm9yKCJBSkFYIHJlcXVlc3Qgd2l0aCBwb3N0RGF0YSBzaG91bGQgdXNlIFBPU1QiKSkpO3JldHVybiB2fTsKdzIyPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW51bGw7c3dpdGNoKFcpe2Nhc2UgIkpTT04iOmxldCBrO3RyeXtrPUQucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGI9RXJyb3IoIkVycm9yIHJlYWRpbmcgcmVzcG9uc2VUZXh0IiksYi5wYXJhbXM9bixaRShiKSxoO31uPUQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfHwiIjtpZihrJiZuLmluZGV4T2YoImpzb24iKT49MCl7ay5zdWJzdHJpbmcoMCw1KT09PSIpXX0nXG4iJiYoaz1rLnN1YnN0cmluZyg1KSk7dHJ5e3Y9SlNPTi5wYXJzZShrKX1jYXRjaChoKXt9fWJyZWFrO2Nhc2UgIlhNTCI6aWYobj0obj1ELnJlc3BvbnNlWE1MKT9SQ1Uobik6bnVsbCl2PXt9LGcueTIobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGg9Pnt2W2gudGFnTmFtZV09UTJpKGgpfSl9YiYmdHkodik7CnJldHVybiB2fTsKdHk9ZnVuY3Rpb24obil7aWYoZy5mdChuKSlmb3IobGV0IFcgaW4gbilXPT09Imh0bWxfY29udGVudCJ8fGcuQlooVywiX2h0bWwiKT9uW1ddPWcuSE0obltXXSk6dHkobltXXSl9OwpNdUM9ZnVuY3Rpb24obixXLEQpe2lmKFcmJlcuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChuKXtjYXNlICJKU09OIjpyZXR1cm4hIUQ7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKEQmJkQucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFEfX07ClJDVT1mdW5jdGlvbihuKXtyZXR1cm4gbj8obj0oInJlc3BvbnNlWE1MImluIG4/bi5yZXNwb25zZVhNTDpuKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicm9vdCIpKSYmbi5sZW5ndGg+MD9uWzBdOm51bGw6bnVsbH07ClEyaT1mdW5jdGlvbihuKXt2YXIgVz0iIjtnLnkyKG4uY2hpbGROb2RlcyxEPT57Vys9RC5ub2RlVmFsdWV9KTsKcmV0dXJuIFd9OwpqMlo9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxEPWcuSVAobik7Zy5sKCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IUQmJmcuVGQobikmJihEPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgYj1TMShuKTtiPShEPUQmJihELmVuZHNXaXRoKCJ5b3V0dWJlLmNvbSIpfHxELmVuZHNXaXRoKCJ5b3V0dWJlLW5vY29va2llLmNvbSIpKSkmJmImJmIuc3RhcnRzV2l0aCgiL2FwaS8iKTtpZighRHx8YilyZXR1cm4gbjt2YXIgdj1nLml3KFcpLGs9e307Zy55MihWdWIsaD0+e3ZbaF0mJihrW2hdPXZbaF0pfSk7CnJldHVybiBnLmx3KG4sayl9OwpnLnI4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5zMChXKSxiO3JldHVybihuZXcgZy5YMSgodixrKT0+e0Qub25TdWNjZXNzPWg9PnthRShoKT92KG5ldyBjNFUoaCkpOmsobmV3IGcuJFQoYFJlcXVlc3QgZmFpbGVkLCBzdGF0dXM9JHtjVihoKX1gLCJuZXQuYmFkc3RhdHVzIixoKSl9OwpELm9uRXJyb3I9aD0+e2sobmV3IGcuJFQoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIixoKSl9OwpELm9uVGltZW91dD1oPT57ayhuZXcgZy4kVCgiUmVxdWVzdCB0aW1lZCBvdXQiLCJuZXQudGltZW91dCIsaCkpfTsKYj1nLmVkKG4sRCl9KSkuc1Aodj0+e3YgaW5zdGFuY2VvZiBnLkk1JiZiPy5hYm9ydCgpOwpyZXR1cm4gZy5ycCh2KX0pfTsKZy5zej1mdW5jdGlvbihuLFcsRCxiLHY9LTEsayl7dmFyIGg9TD0+bmV3IGcuWDEoZT0+e3NldFRpbWVvdXQoZSxMKX0pLHg9KEwsZSxHKT0+TC5zUChyPT57aWYoZTw9MHx8Y1Yoci54aHIpPT09NDAzKXJldHVybiBnLnJwKG5ldyBnLiRUKCJSZXF1ZXN0IHJldHJpZWQgdG9vIG1hbnkgdGltZXMiLCJuZXQucmV0cnlleGhhdXN0ZWQiLHIueGhyKSk7CnZhciBOPU1hdGgucG93KDIsRC1lKzEpKkcsSD12PjA/TWF0aC5taW4odixOKTpOO3JldHVybiBoKEcpLnRoZW4oKCk9PntrJiZrKHIsZS0xKTtyZXR1cm4geChnLnI4KG4sVyksZS0xLEgpfSl9KTsKcmV0dXJuIHgoZy5yOChuLFcpLEQtMSxiKX07CmFYQz1mdW5jdGlvbihuLFc9bnVsbCl7bi5XPTI7bi5KPVd9OwpuVXc9ZnVuY3Rpb24obixXPW51bGwpe24uVz0xO24uSj1XfTsKZy5wJD1mdW5jdGlvbihuPW51bGwpe3ZhciBXPW5ldyBOWDthWEMoVyxuKTtyZXR1cm4gV307CmcuSDA9ZnVuY3Rpb24obj1udWxsKXt2YXIgVz1uZXcgTlg7blV3KFcsbik7cmV0dXJuIFd9OwpJSz1mdW5jdGlvbihuLFcsRCxiPSJ5b3V0dWJlLmNvbSIsdj0hMSl7ZiR8fEp5LnNldCgiIituLFcse256OkQscGF0aDoiLyIsZG9tYWluOmIsc2VjdXJlOnZ9KX07CmcuU2Q9ZnVuY3Rpb24obil7aWYoIWYkKXJldHVybiBKeS5nZXQoIiIrbix2b2lkIDApfTsKQXk9ZnVuY3Rpb24obixXPSIvIixEPSJ5b3V0dWJlLmNvbSIpe2YkfHxKeS5yZW1vdmUoIiIrbixXLEQpfTsKZy5taj1mdW5jdGlvbigpe2lmKCFKeS5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighSnkuaXNFbXB0eSgpKXJldHVybiEwO0p5LnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse256OjYwfSk7aWYoSnkuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTtKeS5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKZy53PWZ1bmN0aW9uKG4sVyl7aWYobilyZXR1cm4gbltXLm5hbWVdfTsKSyQ9ZnVuY3Rpb24obil7dmFyIFc9Zy5BcigiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiKTtXJiYobj1TdHJpbmcoVykrU3RyaW5nKG1XKG4pKSk7cmV0dXJuIG59OwpnWj1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47dmFyIGs7KG4tNSYxMyk9PTEmJihrPURbSVsxN11dP0RbSVsxN11dW0lbMzVdXShJWzYzXSk6RFtJWzI2XV09PT1JWzYzXSk7aWYoKG4+PjEmNyk9PTEpe3ZhciBoPVAwKHZeNjQ0MCx2XjEzODcsRCk7YltJW3ZeNjQyNF1dKElbdl42NDM3XSxoKTtrPVtdfShuJjEzKT09biYmYltJWzVdXSE9MCYmKGg9b1MoNCw3NjI0LEQsYiksRD1oWzBdKTtyZXR1cm4ga307ClpyPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2cubCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKFcucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIG49Zy5sdyhuLFcpfTsKVXo9ZnVuY3Rpb24obixXPSJQT1NUIil7bj17bWV0aG9kOlcsbW9kZTpnLlRkKG4pPyJzYW1lLW9yaWdpbiI6ImNvcnMiLGNyZWRlbnRpYWxzOmcuVGQobik/InNhbWUtb3JpZ2luIjoiaW5jbHVkZSJ9O1c9e307dmFyIEQ9e307Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKFcpKVdbYl0mJihEW2JdPVdbYl0pO09iamVjdC5rZXlzKEQpLmxlbmd0aD4wJiYobi5oZWFkZXJzPUQpO3JldHVybiBufTsKeUg9ZnVuY3Rpb24obixXPXt9KXtyZXR1cm5gc2VydmljZToke259LyR7T2JqZWN0LmtleXMoVykuc29ydCgpLm1hcChEPT5EKyI6IitXW0RdKS5qb2luKCIvIil9YH07CkV6PWZ1bmN0aW9uKCl7dmFyIG49L0Nocm9tZVwvKFxkKykvLmV4ZWMoZy5YUSgpKTtyZXR1cm4gbj9wYXJzZUZsb2F0KG5bMV0pOk5hTn07CmliPWZ1bmN0aW9uKCl7dmFyIG49L1xzQ29iYWx0XC8oXFMrKVxzLy5leGVjKGcuWFEoKSk7aWYoIW4pcmV0dXJuIE5hTjt2YXIgVz1bXTtmb3IobGV0IEQgb2YgblsxXS5zcGxpdCgiLiIpKW49cGFyc2VJbnQoRCwxMCksbj49MCYmVy5wdXNoKG4pO3JldHVybiBwYXJzZUZsb2F0KFcuam9pbigiLiIpKX07Cm9LPWZ1bmN0aW9uKCl7cmV0dXJuIGcudWIoImFuZHJvaWQiKSYmZy51YigiY2hyb21lIikmJiEoZy51YigidHJpZGVudC8iKXx8Zy51YigiZWRnZS8iKSkmJiFnLnViKCJjb2JhbHQiKX07CmcuZDg9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiY29iYWx0Iil9Owp6UT1mdW5jdGlvbigpe3JldHVybiBnLnViKCJjb2JhbHQiKSYmZy51YigiYXBwbGV0diIpfTsKbGI9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiKHBzMzsgbGVhbmJhY2sgc2hlbGwpIil8fGcudWIoInBzMyIpJiZnLmQ4KCl9OwpUUT1mdW5jdGlvbigpe3JldHVybiBnLnViKCIocHM0OyBsZWFuYmFjayBzaGVsbCkiKXx8Zy51YigicHM0IikmJmcuZDgoKX07CmcuamQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5kOCgpJiYoZy51YigicHM0IHZyIil8fGcudWIoInBzNCBwcm8gdnIiKSl9OwpDJD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMCl9OwpCMD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMil9OwpGbj1mdW5jdGlvbigpe3JldHVybiBnLnViKCJpZW1vYmlsZSIpfHxnLnViKCJ3aW5kb3dzIHBob25lIikmJmcudWIoImVkZ2UiKX07ClJLPWZ1bmN0aW9uKCl7cmV0dXJuKHc4fHxNWCkmJmcudWIoImFwcGxld2Via2l0IikmJiFnLnViKCJ2ZXJzaW9uIikmJighZy51Yigic2FmYXJpIil8fGcudWIoImdzYS8iKSl9OwpWSD1mdW5jdGlvbigpe3JldHVybiBnLlFIJiZnLnViKCJ2ZXJzaW9uLyIpfTsKYzA9ZnVuY3Rpb24oKXtyZXR1cm4gZy51Yigic21hcnQtdHYiKSYmZy51Yigic2Ftc3VuZyIpfTsKZy51Yj1mdW5jdGlvbihuKXt2YXIgVz1nLlhRKCk7cmV0dXJuIFc/Vy50b0xvd2VyQ2FzZSgpLmluZGV4T2Yobik+PTA6ITF9OwpnLmFLPWZ1bmN0aW9uKCl7cmV0dXJuIGo2KCl8fFJLKCl8fFZIKCk/ITA6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpPyExOiEwfTsKbnk9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz09PXZvaWQgMHx8Vz09PW51bGw/bjpXPT09IjEifHxXPT09ITB8fFc9PT0xfHxXPT09IlRydWUiPyEwOiExfTsKV0I9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBEKWlmKERbYl09PVcpcmV0dXJuIERbYl07cmV0dXJuIG59OwpEST1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwfHxXPT09bnVsbD9uOk51bWJlcihXKX07CmJPPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc9PT12b2lkIDB8fFc9PT1udWxsP246Vy50b1N0cmluZygpfTsKdkI9ZnVuY3Rpb24obixXKXtpZihXKXtpZihuPT09ImZ1bGx3aWR0aCIpcmV0dXJuIEluZmluaXR5O2lmKG49PT0iZnVsbGhlaWdodCIpcmV0dXJuIDB9cmV0dXJuIG4mJihXPW4ubWF0Y2goVzAxKSkmJihuPU51bWJlcihXWzJdKSxXPU51bWJlcihXWzFdKSwhaXNOYU4obikmJiFpc05hTihXKSYmbj4wKT9XL246TmFOfTsKa1I9ZnVuY3Rpb24obil7dmFyIFc9bi5kb2NpZHx8bi52aWRlb19pZHx8bi52aWRlb0lkfHxuLmlkO2lmKFcpcmV0dXJuIFc7Vz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7V3x8KG49bi5wbGF5ZXJfcmVzcG9uc2UpJiYoVz1KU09OLnBhcnNlKG4pKTtyZXR1cm4gVyYmVy52aWRlb0RldGFpbHMmJlcudmlkZW9EZXRhaWxzLnZpZGVvSWR8fG51bGx9OwpnLnhSPWZ1bmN0aW9uKG4pe3JldHVybiBoTyhuLCExKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwifTsKTHk9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9GSVhFRF9QTEFZQkFDS19MSU1JVCJ8fG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIj8hMDohMX07CmhPPWZ1bmN0aW9uKG4sVz0hMSl7Vz1XPyJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIjoiRU1CRURERURfUExBWUVSX01PREVfVU5LTk9XTiI7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpJiYoVz0iRU1CRURERURfUExBWUVSX01PREVfUEZMIik7dmFyIEQ9bi5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFEJiYobj1uLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSkpdHJ5e0Q9SlNPTi5wYXJzZShuKX1jYXRjaChiKXtyZXR1cm4gV31yZXR1cm4gRD9XQihXLEQuZW1iZWRkZWRQbGF5ZXJNb2RlLEQzMSk6V307CmI1dD1mdW5jdGlvbihuKXtuJiYobi5kYXRhc2V0P24uZGF0YXNldFtlXygpXT0idHJ1ZSI6cXd0KG4pKX07CmdKPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGF0YXNldD9uLmRhdGFzZXRbZV8oKV06bi5nZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGVkIik6bnVsbH07CmVfPWZ1bmN0aW9uKCl7cmV0dXJuIFhrLmxvYWRlZHx8KFhrLmxvYWRlZD0ibG9hZGVkIi5yZXBsYWNlKC9cLShbYS16XSkvZywobixXKT0+Vy50b1VwcGVyQ2FzZSgpKSl9OwpHMT1mdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50O2lmKCJ2aXNpYmlsaXR5U3RhdGUiaW4gbilyZXR1cm4gbi52aXNpYmlsaXR5U3RhdGU7dmFyIFc9cTArIlZpc2liaWxpdHlTdGF0ZSI7aWYoVyBpbiBuKXJldHVybiBuW1ddfTsKdE89ZnVuY3Rpb24obixXKXt2YXIgRDtnLm9NKG4sYj0+e0Q9V1tiXTtyZXR1cm4hIUR9KTsKcmV0dXJuIER9OwokUj1mdW5jdGlvbihuKXtpZihuLnJlcXVlc3RGdWxsc2NyZWVuKW49bi5yZXF1ZXN0RnVsbHNjcmVlbih2b2lkIDApO2Vsc2UgaWYobi53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiluPW4ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ubW96UmVxdWVzdEZ1bGxTY3JlZW4pbj1uLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihuLm1zUmVxdWVzdEZ1bGxzY3JlZW4pbj1uLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ud2Via2l0RW50ZXJGdWxsc2NyZWVuKW49bi53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiRnVsbHNjcmVlbiBBUEkgdW5hdmFpbGFibGUiKSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBQcm9taXNlP246UHJvbWlzZS5yZXNvbHZlKCl9OwpOMD1mdW5jdGlvbihuKXt2YXIgVztnLnJKKCk/c1AoKT09biYmKFc9ZG9jdW1lbnQpOlc9bjtyZXR1cm4gVyYmKG49dE8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxXKSk/KFc9bi5jYWxsKFcpLFcgaW5zdGFuY2VvZiBQcm9taXNlP1c6UHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfTsKdlUxPWZ1bmN0aW9uKG4pe3JldHVybiBnLmxfKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sVz0+YG9uJHtXLnRvTG93ZXJDYXNlKCl9YGluIG4pfTsKZy5ySj1mdW5jdGlvbigpe3JldHVybiEhdE8oWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0sZG9jdW1lbnQpfTsKc1A9ZnVuY3Rpb24obj0hMSl7dmFyIFc9dE8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO2lmKG4pZm9yKDtXJiZXLnNoYWRvd1Jvb3Q7KVc9Vy5zaGFkb3dSb290LmZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBXP1c6bnVsbH07CnB5PWZ1bmN0aW9uKG4pe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IFc9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtuLk49bi5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO24uSj1uLmNsaWVudFkrV319OwprOWk9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5hZGRFdmVudExpc3RlbmVyJiYoVyE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P1chPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9XPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoVz0iTW96TW91c2VQaXhlbFNjcm9sbCIpOlc9Im1vdXNlb3V0IjpXPSJtb3VzZW92ZXIiKTtyZXR1cm4gZy5YTChnLllSLHY9Pnt2YXIgaz10eXBlb2Ygdls0XT09PSJib29sZWFuIiYmdls0XT09ISFiLGg9Zy5mdCh2WzRdKSYmZy5mdChiKSYmZy5ybSh2WzRdLGIpO3JldHVybiEhdi5sZW5ndGgmJnZbMF09PW4mJnZbMV09PVcmJnZbMl09PUQmJihrfHxoKX0pfTsKZy5JOT1mdW5jdGlvbihuLFcsRCxiPXt9KXtpZighbnx8IW4uYWRkRXZlbnRMaXN0ZW5lciYmIW4uYXR0YWNoRXZlbnQpcmV0dXJuIiI7dmFyIHY9azlpKG4sVyxELGIpO2lmKHYpcmV0dXJuIHY7dj0rK0hCLmNvdW50KyIiO3ZhciBrPSEoVyE9Im1vdXNlZW50ZXIiJiZXIT0ibW91c2VsZWF2ZSJ8fCFuLmFkZEV2ZW50TGlzdGVuZXJ8fCJvbm1vdXNlZW50ZXIiaW4gZG9jdW1lbnQpO3ZhciBoPWs/eD0+e3g9bmV3IGZ5KHgpO2lmKCFnLlJoKHgucmVsYXRlZFRhcmdldCxMPT5MPT1uLCEwKSlyZXR1cm4geC5jdXJyZW50VGFyZ2V0PW4seC50eXBlPVcsRC5jYWxsKG4seCl9Ong9Pnt4PW5ldyBmeSh4KTsKeC5jdXJyZW50VGFyZ2V0PW47cmV0dXJuIEQuY2FsbChuLHgpfTsKaD1QVihoKTtuLmFkZEV2ZW50TGlzdGVuZXI/KFc9PSJtb3VzZWVudGVyIiYmaz9XPSJtb3VzZW92ZXIiOlc9PSJtb3VzZWxlYXZlIiYmaz9XPSJtb3VzZW91dCI6Vz09Im1vdXNld2hlZWwiJiYiTW96Qm94U2l6aW5nImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKFc9Ik1vek1vdXNlUGl4ZWxTY3JvbGwiKSxKTygpfHx0eXBlb2YgYj09PSJib29sZWFuIj9uLmFkZEV2ZW50TGlzdGVuZXIoVyxoLGIpOm4uYWRkRXZlbnRMaXN0ZW5lcihXLGgsISFiLmNhcHR1cmUpKTpuLmF0dGFjaEV2ZW50KGBvbiR7V31gLGgpO2cuWVJbdl09W24sVyxELGgsYl07cmV0dXJuIHZ9OwpnLlNfPWZ1bmN0aW9uKG4pe24mJih0eXBlb2Ygbj09InN0cmluZyImJihuPVtuXSksZy55MihuLFc9PntpZihXIGluIGcuWVIpe3ZhciBEPWcuWVJbV107bGV0IGI9RFswXSx2PURbMV0saz1EWzNdO0Q9RFs0XTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Sk8oKXx8dHlwZW9mIEQ9PT0iYm9vbGVhbiI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKHYsayxEKTpiLnJlbW92ZUV2ZW50TGlzdGVuZXIodixrLCEhRC5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KGBvbiR7dn1gLGspO2RlbGV0ZSBnLllSW1ddfX0pKX07CkFPPWZ1bmN0aW9uKG4pe249bnx8d2luZG93LmV2ZW50O3ZhciBXO24uY29tcG9zZWRQYXRoJiZ0eXBlb2Ygbi5jb21wb3NlZFBhdGg9PT0iZnVuY3Rpb24iP1c9bi5jb21wb3NlZFBhdGgoKTpXPW4ucGF0aDtXJiZXLmxlbmd0aD9uPVdbMF06KG49bnx8d2luZG93LmV2ZW50LG49bi50YXJnZXR8fG4uc3JjRWxlbWVudCxuLm5vZGVUeXBlPT0zJiYobj1uLnBhcmVudE5vZGUpKTtyZXR1cm4gbn07Cm1ZPWZ1bmN0aW9uKG4pe3RoaXMuSz1uO3RoaXMuTj1udWxsO3RoaXMuWD0wO3RoaXMuVj1udWxsO3RoaXMuaj0wO3RoaXMuSj1bXTtmb3Iobj0wO248NDtuKyspdGhpcy5KLnB1c2goMCk7dGhpcy5XPTA7dGhpcy5jSj1nLkk5KHdpbmRvdywibW91c2Vtb3ZlIiwoMCxnLkt0KSh0aGlzLkQsdGhpcykpO3RoaXMuWT1XMCgoMCxnLkt0KSh0aGlzLk8sdGhpcyksMjUpfTsKS3k9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxELmxlbmd0aDt2Kyspbi5OTihXLERbdl0sYil9OwpnLlBCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1EJiZEPjA/RDowO0Q9Yj9EYXRlLm5vdygpK2IqMUUzOjA7aWYoKGI9Yj9PUC5CcCgpOk9QLnFiKCkpJiZ3aW5kb3cuSlNPTil7dHlwZW9mIFchPT0ic3RyaW5nIiYmKFc9SlNPTi5zdHJpbmdpZnkoVyx2b2lkIDApKTt0cnl7Yi5zZXQobixXLEQpfWNhdGNoKHYpe2IucmVtb3ZlKG4pfX19OwpnLlpJPWZ1bmN0aW9uKG4pe3ZhciBXPU9QLnFiKCksRD1PUC5CcCgpO2lmKCFXJiYhRHx8IXdpbmRvdy5KU09OKXJldHVybiBudWxsO3RyeXt2YXIgYj1XLmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIil0cnl7Yj1ELmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDt0cnl7Yj1KU09OLnBhcnNlKGIsdm9pZCAwKX1jYXRjaCh2KXt9cmV0dXJuIGJ9OwpVUD1mdW5jdGlvbigpe3ZhciBuPU9QLkJwKCk7aWYobiYmKG49bi5NRCgieXQtcGxheWVyLXF1YWxpdHkiKSkpcmV0dXJuIG4uY3JlYXRpb259Owp5eD1mdW5jdGlvbigpe2lmKCFnLnFpLm1hdGNoTWVkaWEpcmV0dXJuIldFQl9ESVNQTEFZX01PREVfVU5LTk9XTiI7dHJ5e3JldHVybiBnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChuKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwppTz1mdW5jdGlvbigpe0VQLmluc3RhbmNlfHwoRVAuaW5zdGFuY2U9bmV3IEVQKTtyZXR1cm4gRVAuaW5zdGFuY2V9OwpocWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFU0tUT1AiOnJldHVybiAxO2Nhc2UgIlVOS05PV05fUExBVEZPUk0iOnJldHVybiAwO2Nhc2UgIlRWIjpyZXR1cm4gMjtjYXNlICJHQU1FX0NPTlNPTEUiOnJldHVybiAzO2Nhc2UgIk1PQklMRSI6cmV0dXJuIDQ7Y2FzZSAiVEFCTEVUIjpyZXR1cm4gNX19OwpnLm85PWZ1bmN0aW9uKCl7dU98fCh1Tz1uZXcgeDNiKTtyZXR1cm4gdU99OwpkSj1mdW5jdGlvbihuKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1hdGNoOiAke259YCk7fTsKejE9ZnVuY3Rpb24obil7aWYoIS9eXHcrJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1pc21hdGNoOiAke259YCk7fTsKVDE9ZnVuY3Rpb24obil7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChuKT9wYXJzZUludChuLDE2KTpudWxsfTsKal89ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbj9uLmNvbm5lY3Rpb246dm9pZCAwfTsKQkI9ZnVuY3Rpb24oKXt2YXIgbj1qXygpO2lmKG4pe3ZhciBXPUN5W24udHlwZXx8InVua25vd24iXXx8IkNPTk5fVU5LTk9XTiI7bj1DeVtuLmVmZmVjdGl2ZVR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO1c9PT0iQ09OTl9DRUxMVUxBUl9VTktOT1dOIiYmbiE9PSJDT05OX1VOS05PV04iJiYoVz1uKTtpZihXIT09IkNPTk5fVU5LTk9XTiIpcmV0dXJuIFc7aWYobiE9PSJDT05OX1VOS05PV04iKXJldHVybiBufX07CndKPWZ1bmN0aW9uKCl7dmFyIG49al8oKTtpZihuPy5lZmZlY3RpdmVUeXBlKXJldHVybiBGay5oYXNPd25Qcm9wZXJ0eShuLmVmZmVjdGl2ZVR5cGUpP0ZrW24uZWZmZWN0aXZlVHlwZV06IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfVU5LTk9XTiJ9OwpSOT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gTTAoKSwhMH1jYXRjaChuKXtyZXR1cm4hMX19OwpNMD1mdW5jdGlvbigpe2lmKGcuQXIoIkRBVEFTWU5DX0lEIikhPT12b2lkIDApcmV0dXJuIGcuQXIoIkRBVEFTWU5DX0lEIik7dGhyb3cgbmV3IGcuUXgoIkRhdGFzeW5jIElEIG5vdCBzZXQiLCJ1bmtub3duIik7fTsKZy5jQj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGcuVngoMCxXLDAsRCl9OwphOT1mdW5jdGlvbihuKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSW1tZWRpYXRlSm9iIik7Vz9XKG4pOm4oKX07CmcuRHk9ZnVuY3Rpb24oKXtXTi5pbnN0YW5jZXx8KFdOLmluc3RhbmNlPW5ldyBXTik7cmV0dXJuIFdOLmluc3RhbmNlfTsKZy5WeD1mdW5jdGlvbihuLFcsRCxiKXtiIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGIpKSYmKGI9dm9pZCAwKTtyZXR1cm4obj1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIikpP24oVyxELGIpOmI9PT12b2lkIDA/KFcoKSxOYU4pOmcubiQoVyxifHwwKX07CmJRPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpO1cmJlcobil9OwprdT1mdW5jdGlvbigpe3JldHVybiB2TigpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTsKTEY9ZnVuY3Rpb24obil7aGN8fCh4dS5wdXNoKHt0eXBlOiJFUlJPUiIscGF5bG9hZDpufSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmVGPWZ1bmN0aW9uKG4sVyl7aGN8fCh4dS5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOm4scGF5bG9hZDpXfSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmcwPWZ1bmN0aW9uKG4pe2lmKG4uaW5kZXhPZigiOiIpPj0wKXRocm93IEVycm9yKCJEYXRhYmFzZSBuYW1lIGNhbm5vdCBjb250YWluICc6JyIpO307ClhxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnN1YnN0cigwLG4uaW5kZXhPZigiOiIpKXx8bn07CiR1PWZ1bmN0aW9uKG4sVyxELGIpe1c9WHEoVyk7dmFyIHY9biBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYFVuZXhwZWN0ZWQgZXJyb3I6ICR7bn1gKTtpZih2IGluc3RhbmNlb2YgcUwpcmV0dXJuIHY7bj17b2JqZWN0U3RvcmVOYW1lczpELGRiTmFtZTpXLGRiVmVyc2lvbjpifTtpZih2Lm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yIilyZXR1cm4gbmV3IHFMKCJRVU9UQV9FWENFRURFRCIsbik7aWYoZy5HbiYmdi5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBxTCgiUVVPVEFfTUFZQkVfRVhDRUVERUQiLG4pO2lmKHYgaW5zdGFuY2VvZiB0YylyZXR1cm4gbmV3IHFMKCJNSVNTSU5HX0lOREVYIix7Li4ubixvYmplY3RTdG9yZTp2Lm9iamVjdFN0b3JlLGluZGV4OnYuaW5kZXh9KTtpZih2Lm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiJiZMMGkuc29tZShrPT52Lm1lc3NhZ2UuaW5jbHVkZXMoaykpKXJldHVybiBuZXcgcUwoIkVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCIiwKbik7CmlmKHYubmFtZT09PSJBYm9ydEVycm9yIilyZXR1cm4gbmV3IHFMKCJVTktOT1dOX0FCT1JUIixuLHYubWVzc2FnZSk7di5hcmdzPVt7Li4ubixuYW1lOiJJZGJFcnJvciIsYTc6di5uYW1lfV07di5sZXZlbD0iV0FSTklORyI7cmV0dXJuIHZ9OwpnLnIwPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1rdSgpO3JldHVybiBuZXcgcUwoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOm4scHVibGljTmFtZTpXLHZlcnNpb246RCxoYXNTdWNjZWVkZWRPbmNlOmI/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9OwplcTE9ZnVuY3Rpb24obil7aWYoIW4pdGhyb3cgRXJyb3IoKTt0aHJvdyBuO307CmdVcj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CnBGPWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IkZVTEZJTExFRCIpdGhyb3cgRXJyb3IoImNhbGxpbmcgaGFuZGxlUmVzb2x2ZSBiZWZvcmUgdGhlIHByb21pc2UgaXMgZnVsZmlsbGVkLiIpO2xldCBrPUQobi5zdGF0ZS52YWx1ZSk7ayBpbnN0YW5jZW9mIHNSP05MKG4sVyxrLGIsdik6YihrKX1jYXRjaChrKXt2KGspfX07Cll1PWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IlJFSkVDVEVEIil0aHJvdyBFcnJvcigiY2FsbGluZyBoYW5kbGVSZWplY3QgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLiIpO2xldCBrPUQobi5zdGF0ZS5yZWFzb24pO2sgaW5zdGFuY2VvZiBzUj9OTChuLFcsayxiLHYpOmIoayl9Y2F0Y2goayl7dihrKX19OwpOTD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9PT1EP3YobmV3IFR5cGVFcnJvcigiQ2lyY3VsYXIgcHJvbWlzZSBjaGFpbiBkZXRlY3RlZC4iKSk6RC50aGVuKGs9PntrIGluc3RhbmNlb2Ygc1I/TkwobixXLGssYix2KTpiKGspfSxrPT57dihrKX0pfTsKSE49ZnVuY3Rpb24obixXLEQpe3ZhciBiPSgpPT57dHJ5e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsdiksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsayl9Y2F0Y2h7fX0sdj0oKT0+e1cobi5yZXN1bHQpOwpiKCl9LGs9KCk9PntEKG4uZXJyb3IpOwpiKCl9OwpuLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLHYpO24uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGspfTsKWDlVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZSgoVyxEKT0+e0hOKG4sVyxEKX0pfTsKSmM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntITihuLFcsRCl9KSl9OwpJZz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgc1IobmV3IGZGKChELGIpPT57dmFyIHY9KCk9Pnt2YXIgaz1uP1cobik6bnVsbDtrP2sudGhlbihoPT57bj1oO3YoKX0sYik6RCgpfTsKdigpfSkpfTsKU0Y9ZnVuY3Rpb24obil7cmV0dXJuIEpjKG4pLnRoZW4oVz0+Vz9uZXcgcV8yKG4sVyk6bnVsbCl9OwpBYz1mdW5jdGlvbigpe3JldHVybiBnLmwoImlkYl9pbW1lZGlhdGVfY29tbWl0Iil9OwpPUj1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj17bW9kZToicmVhZG9ubHkiLEdROiExLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIn07dHlwZW9mIEQ9PT0ic3RyaW5nIj92Lm1vZGU9RDpPYmplY3QuYXNzaWduKHYsRCk7bi50cmFuc2FjdGlvbkNvdW50Kys7RD12LkdRPzM6MTtmb3IodmFyIGs9MCxoOyFoOyl7aysrO2xldCBHPU1hdGgucm91bmQoKDAsZy5SKSgpKTt0cnl7dmFyIHg9bi5OLnRyYW5zYWN0aW9uKFcsdi5tb2RlKSxMPWIsZT0hIXYuY29tbWl0O2xldCByPW5ldyBtWCh4KSxOPWF3YWl0IEc5dyhyLEwsZSksSD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7S0YobixHLEgsayx2b2lkIDAsVy5qb2luKCksdik7cmV0dXJuIE59Y2F0Y2gocil7TD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7bGV0IE49JHUocixuLk4ubmFtZSxXLmpvaW4oKSxuLk4udmVyc2lvbik7aWYoTiBpbnN0YW5jZW9mIHFMJiYhTi5OfHxrPj1EKUtGKG4sRyxMLGssTixXLmpvaW4oKSwKdiksaD1OfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9OwpaeT1mdW5jdGlvbihuLFcsRCl7bj1uLk4uY3JlYXRlT2JqZWN0U3RvcmUoVyxEKTtyZXR1cm4gbmV3IFBOKG4pfTsKVVI9ZnVuY3Rpb24obixXKXtuLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhXKSYmbi5OLmRlbGV0ZU9iamVjdFN0b3JlKFcpfTsKS0Y9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7Vz1ELVc7dj8odiBpbnN0YW5jZW9mIHFMJiYodi50eXBlPT09IlFVT1RBX0VYQ0VFREVEInx8di50eXBlPT09IlFVT1RBX01BWUJFX0VYQ0VFREVEIikmJmVGKCJRVU9UQV9FWENFRURFRCIse2RiTmFtZTpYcShuLk4ubmFtZSksb2JqZWN0U3RvcmVOYW1lczprLHRyYW5zYWN0aW9uQ291bnQ6bi50cmFuc2FjdGlvbkNvdW50LHRyYW5zYWN0aW9uTW9kZTpoLm1vZGV9KSx2IGluc3RhbmNlb2YgcUwmJnYudHlwZT09PSJVTktOT1dOX0FCT1JUIiYmKEQtPW4uVyxEPDAmJkQ+PTIxNDc0ODM2NDgmJihEPTApLGVGKCJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCIse29iamVjdFN0b3JlTmFtZXM6ayx0cmFuc2FjdGlvbkR1cmF0aW9uOlcsdHJhbnNhY3Rpb25Db3VudDpuLnRyYW5zYWN0aW9uQ291bnQsZGJEdXJhdGlvbjpEfSksbi5KPSEwKSx5YyhuLCExLGIsayxXLGgudGFnKSxMRih2KSk6eWMobiwhMCxiLGssVyxoLnRhZyl9Owp5Yz1mdW5jdGlvbihuLFcsRCxiLHYsaz0iSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIil7ZUYoIlRSQU5TQUNUSU9OX0VOREVEIix7b2JqZWN0U3RvcmVOYW1lczpiLGNvbm5lY3Rpb25IYXNVbmtub3duQWJvcnRlZFRyYW5zYWN0aW9uOm4uSixkdXJhdGlvbjp2LGlzU3VjY2Vzc2Z1bDpXLHRyeUNvdW50OkQsdGFnOmt9KX07CkVSPWZ1bmN0aW9uKG4sVyxEKXtuLk4uY3JlYXRlSW5kZXgoVyxELHt1bmlxdWU6ITF9KX07CnVRPWZ1bmN0aW9uKG4sVyxEKXtuPW4uTi5vcGVuQ3Vyc29yKFcucXVlcnksVy5kaXJlY3Rpb24pO3JldHVybiBpUShuKS50aGVuKGI9PklnKGIsRCkpfTsKdFhVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIHVRKG4se3F1ZXJ5Old9LEQ9PkQuZGVsZXRlKCkudGhlbigoKT0+b2coRCkpKS50aGVuKCgpPT57fSl9OwokM3g9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB1UShuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwpzMHI9ZnVuY3Rpb24obil7dmFyIFc9W107cmV0dXJuIHJfaihuLEQ9PntXLnB1c2goRC5jdXJzb3IucHJpbWFyeUtleSk7RC5jdXJzb3IuY29udGludWUodm9pZCAwKTtyZXR1cm4gU0YoRC5yZXF1ZXN0KX0pLnRoZW4oKCk9PlcpfTsKZDA9ZnVuY3Rpb24obil7cmV0dXJuImdldEFsbEtleXMiaW4gSURCT2JqZWN0U3RvcmUucHJvdG90eXBlP0pjKG4uTi5nZXRBbGxLZXlzKHZvaWQgMCx2b2lkIDApKTpzMHIobil9OwpyX2o9ZnVuY3Rpb24obixXKXt2YXIgRD17cXVlcnk6dm9pZCAwfSxiPUQucXVlcnk7RD1ELmRpcmVjdGlvbjtuPSJvcGVuS2V5Q3Vyc29yImluIElEQk9iamVjdFN0b3JlLnByb3RvdHlwZT9uLk4ub3BlbktleUN1cnNvcihiLEQpOm4uTi5vcGVuQ3Vyc29yKGIsRCk7cmV0dXJuIFNGKG4pLnRoZW4odj0+SWcodixXKSl9OwpHOXc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyBQcm9taXNlKCh2LGspPT57dHJ5e2xldCBoPVcobik7RCYmbi5jb21taXQoKTtoLnRoZW4oeD0+e3YoeCl9KS5jYXRjaChrKX1jYXRjaChoKXtrKGgpLG4uYWJvcnQoKX19KTsKcmV0dXJuIFByb21pc2UuYWxsKFtiLG4uZG9uZV0pLnRoZW4oKFt2XSk9PnYpfTsKem49ZnVuY3Rpb24obixXLEQpe3ZhciB7cXVlcnk6Yj1udWxsLGRpcmVjdGlvbjp2PSJuZXh0In09VztuPW4uTi5vcGVuQ3Vyc29yKGIsdik7cmV0dXJuIGlRKG4pLnRoZW4oaz0+SWcoayxEKSl9OwpOWmk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB6bihuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwppUT1mdW5jdGlvbihuKXtyZXR1cm4gSmMobikudGhlbihXPT5XP25ldyBwOXgobixXKTpudWxsKX07Cm9nPWZ1bmN0aW9uKG4pe24uY3Vyc29yLmNvbnRpbnVlKHZvaWQgMCk7cmV0dXJuIGlRKG4ucmVxdWVzdCl9OwpINXg9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgUHJvbWlzZSgoYix2KT0+e3ZhciBrPVchPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihuLFcpOnNlbGYuaW5kZXhlZERCLm9wZW4obik7dmFyIGg9RC5ibG9ja2VkLHg9RC5ibG9ja2luZyxMPUQuQnosZT1ELnVwZ3JhZGUsRz1ELmNsb3NlZCxyLE49KCk9PntyfHwocj1uZXcgWV9yKGsucmVzdWx0LHtjbG9zZWQ6R30pKTtyZXR1cm4gcn07CmsuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsSD0+e3RyeXtpZihILm5ld1ZlcnNpb249PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IG5ld1ZlcnNpb24gb24gSURiVmVyc2lvbkNoYW5nZUV2ZW50IGlzIG51bGwiKTtpZihrLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigiSW52YXJpYW50OiB0cmFuc2FjdGlvbiBvbiBJRGJPcGVuRGJSZXF1ZXN0IGlzIG51bGwiKTtILmRhdGFMb3NzJiZILmRhdGFMb3NzIT09Im5vbmUiJiZlRigiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOkguZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpYcShuKX0pO2xldCBBPU4oKSx5PW5ldyBtWChrLnRyYW5zYWN0aW9uKTtlJiZlKEEsVD0+SC5vbGRWZXJzaW9uPFQmJkgubmV3VmVyc2lvbj49VCx5KTsKeS5kb25lLmNhdGNoKFQ9Pnt2KFQpfSl9Y2F0Y2goQSl7dihBKX19KTsKay5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIiwoKT0+e3ZhciBIPWsucmVzdWx0O3gmJkguYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsKCk9Pnt4KE4oKSl9KTsKSC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntlRigiSURCX1VORVhQRUNURURMWV9DTE9TRUQiLHtkYk5hbWU6WHEobiksZGJWZXJzaW9uOkgudmVyc2lvbn0pO0wmJkwoKX0pOwpiKE4oKSl9KTsKay5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2KGsuZXJyb3IpfSk7CmgmJmsuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntoKCl9KX0pfTsKbFE9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBINXgobixXLEQpfTsKVG49YXN5bmMgZnVuY3Rpb24obixXPXt9KXt0cnl7bGV0IEQ9c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UobiksYj1XLmJsb2NrZWQ7YiYmRC5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKT0+e2IoKX0pOwphd2FpdCBYOVUoRCl9Y2F0Y2goRCl7dGhyb3cgJHUoRCxuLCIiLC0xKTt9fTsKakY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHFMKCJJTkNPTVBBVElCTEVfREJfVkVSU0lPTiIse2RiTmFtZTpuLm5hbWUsb2xkVmVyc2lvbjpuLm9wdGlvbnMudmVyc2lvbixuZXdWZXJzaW9uOld9KX07CkNGPWZ1bmN0aW9uKG4sVyl7aWYoIVcpdGhyb3cgZy5yMCgib3BlbldpdGhUb2tlbiIsWHEobi5uYW1lKSk7cmV0dXJuIG4ub3BlbigpfTsKRnE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gT1IoYXdhaXQgQ0YoQk4sVyksWyJkYXRhYmFzZXMiXSx7R1E6ITAsbW9kZToicmVhZHdyaXRlIn0sRD0+e3ZhciBiPUQub2JqZWN0U3RvcmUoImRhdGFiYXNlcyIpO3JldHVybiBiLmdldChuLmFjdHVhbE5hbWUpLnRoZW4odj0+e2lmKHY/bi5hY3R1YWxOYW1lIT09di5hY3R1YWxOYW1lfHxuLnB1YmxpY05hbWUhPT12LnB1YmxpY05hbWV8fG4udXNlcklkZW50aWZpZXIhPT12LnVzZXJJZGVudGlmaWVyOjEpcmV0dXJuIGIucHV0KG4pLnRoZW4oKCk9Pnt9KX0pfSl9Owp3MD1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBuPyhhd2FpdCBDRihCTixXKSkuZGVsZXRlKCJkYXRhYmFzZXMiLG4pOnZvaWQgMH07CmZCVT1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPVtdO1c9YXdhaXQgQ0YoQk4sVyk7YXdhaXQgT1IoVyxbImRhdGFiYXNlcyJdLHtHUTohMCxtb2RlOiJyZWFkb25seSJ9LGI9PntELmxlbmd0aD0wO3JldHVybiB1UShiLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKSx7fSx2PT57bih2LmdldFZhbHVlKCkpJiZELnB1c2godi5nZXRWYWx1ZSgpKTtyZXR1cm4gb2codil9KX0pOwpyZXR1cm4gRH07CkpfMj1mdW5jdGlvbihuLFcpe3JldHVybiBmQlUoRD0+RC5wdWJsaWNOYW1lPT09biYmRC51c2VySWRlbnRpZmllciE9PXZvaWQgMCxXKX07CklCaT1hc3luYyBmdW5jdGlvbigpe2lmKGt1KCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIG47aWYoIShuPWcuTUwmJkMkKCkmJiFCMCgpfHxnLlJnKSl7dHJ5e249c2VsZjt2YXIgVz0hIShuLmluZGV4ZWREQiYmbi5JREJJbmRleCYmbi5JREJLZXlSYW5nZSYmbi5JREJPYmplY3RTdG9yZSl9Y2F0Y2goRCl7Vz0hMX1uPSFXfWlmKG58fCEoIklEQlRyYW5zYWN0aW9uImluIHNlbGYmJiJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSkpcmV0dXJuITE7dHJ5e3JldHVybiBhd2FpdCBGcSh7YWN0dWFsTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIscHVibGljTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIsdXNlcklkZW50aWZpZXI6dm9pZCAwfSxRYyksYXdhaXQgdzAoInl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLFFjKSwhMH1jYXRjaChEKXtyZXR1cm4hMX19OwpjTj1mdW5jdGlvbigpe2lmKFZjIT09dm9pZCAwKXJldHVybiBWYztoYz0hMDtyZXR1cm4gVmM9SUJpKCkudGhlbihuPT57aGM9ITE7aWYodk4oKT8uSigpKXt2YXIgVz17aGFzU3VjY2VlZGVkT25jZTprdSgpPy5oYXNTdWNjZWVkZWRPbmNlfHxufTt2TigpPy5zZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsVywyNTkyRTMsITApfXJldHVybiBufSl9OwphZz1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dGdsb2JhbC5pZGJUb2tlbl8iKXx8dm9pZCAwfTsKZy5uUD1mdW5jdGlvbigpe3ZhciBuPWFnKCk7cmV0dXJuIG4/UHJvbWlzZS5yZXNvbHZlKG4pOmNOKCkudGhlbihXPT57Vz8oZy5HYigieXRnbG9iYWwuaWRiVG9rZW5fIixRYyksVz1RYyk6Vz12b2lkIDA7cmV0dXJuIFd9KX07Cld6PWZ1bmN0aW9uKG4pe2lmKCFSOSgpKXRocm93IG49bmV3IHFMKCJBVVRIX0lOVkFMSUQiLHtkYk5hbWU6bn0pLExGKG4pLG47dmFyIFc9TTAoKTtyZXR1cm57YWN0dWFsTmFtZTpgJHtufToke1d9YCxwdWJsaWNOYW1lOm4sdXNlcklkZW50aWZpZXI6V319OwpEbT1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1FcnJvcigpLnN0YWNrPz8iIixrPWF3YWl0IGcublAoKTtpZighayl0aHJvdyBXPWcucjAoIm9wZW5EYkltcGwiLG4sVyksZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIil8fChXLnN0YWNrPWAke1cuc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKSxMRihXKSxXO2cwKG4pO3Y9RD97YWN0dWFsTmFtZTpuLHB1YmxpY05hbWU6bix1c2VySWRlbnRpZmllcjp2b2lkIDB9Old6KG4pO3RyeXtyZXR1cm4gYXdhaXQgRnEodixrKSxhd2FpdCBsUSh2LmFjdHVhbE5hbWUsVyxiKX1jYXRjaChoKXt0cnl7YXdhaXQgdzAodi5hY3R1YWxOYW1lLGspfWNhdGNoe310aHJvdyBoO319OwpTX1o9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITEsRCl9OwpBX3I9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITAsRCl9OwptM3c9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLG49V3oobiksYXdhaXQgVG4obi5hY3R1YWxOYW1lLFcpLGF3YWl0IHcwKG4uYWN0dWFsTmFtZSxEKSl9OwpLMHI9ZnVuY3Rpb24obixXLEQpe249bi5tYXAoYXN5bmMgYj0+e2F3YWl0IFRuKGIuYWN0dWFsTmFtZSxXKTthd2FpdCB3MChiLmFjdHVhbE5hbWUsRCl9KTsKcmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKCk9Pnt9KX07CmI5PWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9YXdhaXQgZy5uUCgpO0QmJihnMChuKSxuPWF3YWl0IEpfMihuLEQpLGF3YWl0IEswcihuLFcsRCkpfTsKdno9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLGF3YWl0IFRuKG4sVyksYXdhaXQgdzAobixEKSl9OwpQNE09ZnVuY3Rpb24obixXKXt2YXIgRDtyZXR1cm4oKT0+e0R8fChEPW5ldyBPNXQobixXKSk7cmV0dXJuIER9fTsKa089ZnVuY3Rpb24obixXKXtyZXR1cm4gUDRNKG4sVyl9OwpoNz1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoWjVDKCksbil9Owp4Tz1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXtuPXtjb25maWc6bixoYXNoRGF0YTpXLHRpbWVzdGFtcDpiIT09dm9pZCAwP2I6KDAsZy5SKSgpfTtEPWF3YWl0IGg3KEQpO2F3YWl0IEQuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IEQucHV0KCJob3RDb25maWdTdG9yZSIsbil9OwpMUD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYpe249e2NvbmZpZzpuLGhhc2hEYXRhOlcsY29uZmlnRGF0YTpELHRpbWVzdGFtcDp2IT09dm9pZCAwP3Y6KDAsZy5SKSgpfTtiPWF3YWl0IGg3KGIpO2F3YWl0IGIuY2xlYXIoImNvbGRDb25maWdTdG9yZSIpO3JldHVybiBhd2FpdCBiLnB1dCgiY29sZENvbmZpZ1N0b3JlIixuKX07CmU5PWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQgaDcobik7dmFyIFc9dm9pZCAwO2F3YWl0IE9SKG4sWyJjb2xkQ29uZmlnU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+em4oRC5vYmplY3RTdG9yZSgiY29sZENvbmZpZ1N0b3JlIikuaW5kZXgoImNvbGRUaW1lc3RhbXBJbmRleCIpLHtkaXJlY3Rpb246InByZXYifSxiPT57Vz1iLmdldFZhbHVlKCl9KSk7CnJldHVybiBXfTsKZzM9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCBoNyhuKTt2YXIgVz12b2lkIDA7YXdhaXQgT1IobixbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnpuKEQub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGI9PntXPWIuZ2V0VmFsdWUoKX0pKTsKcmV0dXJuIFd9OwpVM3Q9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgieXRHY2ZDb25maWciKX07CnFCPWZ1bmN0aW9uKCl7aWYoIWcuWDMuaW5zdGFuY2Upe2xldCBuPW5ldyBnLlgzO2cuWDMuaW5zdGFuY2U9bn1yZXR1cm4gZy5YMy5pbnN0YW5jZX07Cmk1aD1mdW5jdGlvbihuKXtpZighbi5KfHwhbi5OKXtpZighYWcoKSl7bGV0IFc9Zy5yMCgic2NoZWR1bGVHZXRDb25maWdzIik7WkUoVyl9bi5YfHwobi5YPXRhLkxTKGFzeW5jKCk9Pnt0cnl7YXdhaXQgeV9yKG4pfWNhdGNoe310cnl7YXdhaXQgRVVTKG4pfWNhdGNoe31uLlgmJihuLlg9MCl9LDEwMCkpfX07CnVEeD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmwoInN0YXJ0X2NsaWVudF9nY2YiKXx8Zy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpKWcubCgic3RhcnRfY2xpZW50X2djZiIpJiYoYXdhaXQgZy5uUCgpJiZSOSgpJiYhZy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpPyhuLlY9ITAsaTVoKG4pKTooR28obiksdDcobikpKSxnLmwoImRlbGV0ZV9nY2ZfY29uZmlnX2RiIikmJmF3YWl0IFUzdCgpfTsKJE89ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpfTsKdmFyIG9Vaj1mdW5jdGlvbihuLFcpe3JldHVybiBlWFtJWzEwXV0odGhpcywxMCw3MTI2LG4sVyl9OwpyMz1mdW5jdGlvbihuLFcpe24uSj1XO2cuR2IoInl0LmdjZi5jb25maWcuaG90Q29uZmlnR3JvdXAiLG4uSnx8bnVsbCl9Owp0Nz1mdW5jdGlvbihuKXtyMyhuLGcuQXIoIlJBV19IT1RfQ09ORklHX0dST1VQIikpO24uVyhnLkFyKCJTRVJJQUxJWkVEX0hPVF9IQVNIX0RBVEEiKSl9Owp5X3I9YXN5bmMgZnVuY3Rpb24obil7aWYobi5KKXJldHVybiAkTygpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0SG90Q29uZmlnIElEQiBub3QgaW5pdGlhbGl6ZWQiKSxaRShuKSxQcm9taXNlLnJlamVjdChuKTt2YXIgVz1hZygpLEQ9Zy5BcigiVElNRV9DUkVBVEVEX01TIik7aWYoVyl7dmFyIGI9YXdhaXQgZzMoVyk7aWYoYiYmYi50aW1lc3RhbXA+RClyZXR1cm4gcjMobixiLmNvbmZpZyksbi5XKGIuaGFzaERhdGEpLCRPKCl9ZWxzZSBiPWcucjAoImdldEhvdENvbmZpZyB0b2tlbiBlcnJvciIpLFpFKGIpO3Q3KG4pO1cmJm4uSiYmbi5ob3RIYXNoRGF0YSYmYXdhaXQgeE8obi5KLG4uaG90SGFzaERhdGEsVyxEKTtyZXR1cm4gbi5KPyRPKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKc0o9ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiKX07Ck5CPWZ1bmN0aW9uKG4sVyl7bi5OPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiLG4uTnx8bnVsbCl9OwpwUD1mdW5jdGlvbihuLFcpe24uY29uZmlnRGF0YT1XO2cuR2IoInl0LmdjZi5jb25maWcuY29sZENvbmZpZ0RhdGEiLG4uY29uZmlnRGF0YXx8bnVsbCl9OwpZTz1mdW5jdGlvbihuLFcpe24uY29sZEhhc2hEYXRhPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiLG4uY29sZEhhc2hEYXRhfHxudWxsKX07CkdvPWZ1bmN0aW9uKG4pe05CKG4sZy5BcigiUkFXX0NPTERfQ09ORklHX0dST1VQIikpO1lPKG4sZy5BcigiU0VSSUFMSVpFRF9DT0xEX0hBU0hfREFUQSIpKTtwUChuLG4uTj8uY29uZmlnRGF0YSl9OwpFVVM9YXN5bmMgZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBzSigpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0Q29sZENvbmZpZyBJREIgbm90IGluaXRpYWxpemVkIiksWkUobiksUHJvbWlzZS5yZWplY3Qobik7dmFyIFc9YWcoKSxEPWcuQXIoIlRJTUVfQ1JFQVRFRF9NUyIpO2lmKFcpe3ZhciBiPWF3YWl0IGU5KFcpO2lmKGImJmIudGltZXN0YW1wPkQpcmV0dXJuIE5CKG4sYi5jb25maWcpLHBQKG4sYi5jb25maWdEYXRhKSxZTyhuLGIuaGFzaERhdGEpLHNKKCl9ZWxzZSBiPWcucjAoImdldENvbGRDb25maWciKSxaRShiKTtHbyhuKTtXJiZuLk4mJm4uY29sZEhhc2hEYXRhJiZuLmNvbmZpZ0RhdGEmJmF3YWl0IExQKG4uTixuLmNvbGRIYXNoRGF0YSxuLmNvbmZpZ0RhdGEsVyxEKTtyZXR1cm4gbi5OP3NKKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKSHo9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKGcubCgic3RhcnRfY2xpZW50X2djZiIpKXtEJiZyMyhuLEQpO24uVyhXKTtsZXQgYj1hZygpO2ImJihEfHwoRD0oYXdhaXQgZzMoYikpPy5jb25maWcpLGF3YWl0IHhPKEQsVyxiKSk7aWYoRCl7bj1uLks7Zm9yKGxldCB2IG9mIG4uTil2KEQpfX19OwpmUD1hc3luYyBmdW5jdGlvbihuLFcsRCl7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJihZTyhuLFcpLG49YWcoKSkmJihEfHwoRD0oYXdhaXQgZTkobikpPy5jb25maWcpLEQmJmF3YWl0IExQKEQsVyxELmNvbmZpZ0RhdGEsbikpfTsKSjc9ZnVuY3Rpb24oKXt2YXIgbj1xQigpLFc9KDAsZy5SKSgpLW4uajtpZighKG4uaiE9PTAmJlc8djAoInNlbmRfY29uZmlnX2hhc2hfdGltZXIiKSkpe1c9Zy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnRGF0YSIpO3ZhciBEPWcucnIoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiKSxiPWcucnIoInl0LmdjZi5jb25maWcuY29sZEhhc2hEYXRhIik7VyYmRCYmYiYmKG4uaj0oMCxnLlIpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpXLGhvdEhhc2hEYXRhOkQsY29sZEhhc2hEYXRhOmJ9fX07Ckk3PWZ1bmN0aW9uKCl7cmV0dXJuIklOTkVSVFVCRV9BUElfS0VZImluIElFJiYiSU5ORVJUVUJFX0FQSV9WRVJTSU9OImluIElFfTsKZy5TOT1mdW5jdGlvbigpe3JldHVybntpbm5lcnR1YmVBcGlLZXk6Zy5BcigiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9BUElfVkVSU0lPTiIpLGNSOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9DT05GSUdfSU5GTyIpLEcwOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIiksRmQ6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpLGlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksTWI6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSxFRTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9HTCIpLHY2OmcuQXIoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIil8fCIiLE9zOiEhZy5BcigiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSksT0Q6ISFnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIsCiExKSxhcHBJbnN0YWxsRGF0YTpnLkFyKCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSIpfX07CmcuVUo9ZnVuY3Rpb24obil7dmFyIFc9e2NsaWVudDp7aGw6bi5NYixnbDpuLkVFLGNsaWVudE5hbWU6bi5HMCxjbGllbnRWZXJzaW9uOm4uaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24sY29uZmlnSW5mbzpuLmNSfX07bmF2aWdhdG9yLnVzZXJBZ2VudCYmKFcuY2xpZW50LnVzZXJBZ2VudD1TdHJpbmcobmF2aWdhdG9yLnVzZXJBZ2VudCkpO3ZhciBEPWcucWkuZGV2aWNlUGl4ZWxSYXRpbztEJiZEIT0xJiYoVy5jbGllbnQuc2NyZWVuRGVuc2l0eUZsb2F0PVN0cmluZyhEKSk7RD1rVCgpO0QhPT0iIiYmKFcuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49RCk7RD1oeSgpO0QubGVuZ3RoPjAmJihXLnJlcXVlc3Q9e2ludGVybmFsRXhwZXJpbWVudEZsYWdzOkR9KTtBNyhuLHZvaWQgMCxXKTttVCh2b2lkIDAsVyk7S1Aodm9pZCAwLFcpO09KKG4sdm9pZCAwLFcpO1B6KHZvaWQgMCxXKTtnLmwoInN0YXJ0X2NsaWVudF9nY2YiKSYmWm0odm9pZCAwLFcpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJgohZy5sKCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoVy51c2VyPXtvbkJlaGFsZk9mVXNlcjpnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpfSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoVy51c2VyPXsuLi5XLnVzZXIsc2VyaWFsaXplZERlbGVnYXRpb25Db250ZXh0Om59KTtuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7Zy5sKCJlbmFibGVfcGVyc2lzdGVudF9kZXZpY2VfdG9rZW4iKSYmbj8uY2xpZW50Py5yb2xsb3V0VG9rZW4mJihXLmNsaWVudC5yb2xsb3V0VG9rZW49bj8uY2xpZW50Py5yb2xsb3V0VG9rZW4pO249T2JqZWN0O0Q9bi5hc3NpZ247dmFyIGI9Vy5jbGllbnQsdj1nLkFyKCJERVZJQ0UiLCIiKSxrPXt9O2ZvcihsZXQgW2gseF1vZiBPYmplY3QuZW50cmllcyhnLml3KHYpKSl2PWgsdj09PSJjYnJhbmQiPwprLmRldmljZU1ha2U9eDp2PT09ImNtb2RlbCI/ay5kZXZpY2VNb2RlbD14OnY9PT0iY2JyIj9rLmJyb3dzZXJOYW1lPXg6dj09PSJjYnJ2ZXIiP2suYnJvd3NlclZlcnNpb249eDp2PT09ImNvcyI/ay5vc05hbWU9eDp2PT09ImNvc3ZlciI/ay5vc1ZlcnNpb249eDp2PT09ImNwbGF0Zm9ybSImJihrLnBsYXRmb3JtPXgpO1cuY2xpZW50PUQuY2FsbChuLGIsayk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoVy5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsVy5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIFd9OwpBNz1mdW5jdGlvbihuLFcsRCl7bj1uLkcwO2lmKG49PT0iV0VCInx8bj09PSJNV0VCInx8bj09PTF8fG49PT0yKVc/KEQ9Z2UoVyx5ZCw5Nil8fG5ldyB5ZCxuPXl4KCksbj1PYmplY3Qua2V5cyhkM2opLmluZGV4T2Yobiksbj1uPT09LTE/bnVsbDpuLG4hPT1udWxsJiZLbihELDMsbiksJDkoVyx5ZCw5NixEKSk6RCYmKEQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPUQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPz97fSxELmNsaWVudC5tYWluQXBwV2ViSW5mby53ZWJEaXNwbGF5TW9kZT15eCgpKX07Cm1UPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpO0QmJihuPyhXPWdlKG4sRUosNyl8fG5ldyBFSixnLlNFKFcsNCxEKSwkOShuLEVKLDcsVykpOlcmJihXLnRoaXJkUGFydHk9e2VtYmVkVXJsOkR9KSl9OwpLUD1mdW5jdGlvbihuLFcpe2lmKGcubCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJmcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkpe2xldCBEPWcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnk7bj9veihuLDk1LGcubDQoRCoxRTYpKTpXJiYoVy5jbGllbnQubWVtb3J5VG90YWxLYnl0ZXM9YCR7RCoxRTZ9YCl9fTsKT0o9ZnVuY3Rpb24obixXLEQpe24uYXBwSW5zdGFsbERhdGEmJihXPyhEPWdlKFcsaTksNjIpPz9uZXcgaTksZy5TRShELDYsbi5hcHBJbnN0YWxsRGF0YSksJDkoVyxpOSw2MixEKSk6RCYmKEQuY2xpZW50LmNvbmZpZ0luZm89RC5jbGllbnQuY29uZmlnSW5mb3x8e30sRC5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1uLmFwcEluc3RhbGxEYXRhKSl9OwpQej1mdW5jdGlvbihuLFcpe3ZhciBEPUJCKCk7RCYmKG4/S24obiw2MSx6cXdbRF0pOlcmJihXLmNsaWVudC5jb25uZWN0aW9uVHlwZT1EKSk7Zy5sKCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKEQ9d0ooKSkmJihuP0tuKG4sOTQsbEJyW0RdKTpXJiYoVy5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9RCkpfTsKVFpqPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj17fTtnLkFyKCJFT01fVklTSVRPUl9EQVRBIik/Yj17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpfTpiPXsiWC1Hb29nLVZpc2l0b3ItSWQiOkQudmlzaXRvckRhdGF8fGcuQXIoIlZJU0lUT1JfREFUQSIsIiIpfTtpZihXJiZXLmluY2x1ZGVzKCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iKSlyZXR1cm4gYjtXPUQuUDF8fGcuQXIoIkFVVEhPUklaQVRJT04iKTtXfHwobj9XPWBCZWFyZXIgJHtnLnJyKCJnYXBpLmF1dGguZ2V0VG9rZW4iKSgpLmFjY2Vzc190b2tlbn1gOihuPWlPKCkuYWoodTkpLGcubCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIG5bIlgtR29vZy1QYWdlSWQiXSxiPXsuLi5iLC4uLm59KSk7VyYmKGIuQXV0aG9yaXphdGlvbj1XKTtyZXR1cm4gYn07ClptPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9SjcoKTtpZihEKXt2YXIgYj1ELmNvbGRDb25maWdEYXRhLHY9RC5jb2xkSGFzaERhdGE7RD1ELmhvdEhhc2hEYXRhO24/KFc9Z2UobixpOSw2Mik/P25ldyBpOSxiPWcuU0UoVywxLGIpLGcuU0UoYiwzLHYpLlcoRCksJDkobixpOSw2MixXKSk6VyYmKFcuY2xpZW50LmNvbmZpZ0luZm89Vy5jbGllbnQuY29uZmlnSW5mb3x8e30sYiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YiksdiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPXYpLEQmJihXLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPUQpKX19OwpvNz1mdW5jdGlvbihuKXt0aGlzLnZlcnNpb249MTt0aGlzLmFyZ3M9bn07CmQzPWZ1bmN0aW9uKG4sVyl7dGhpcy50b3BpYz1uO3RoaXMuTj1XfTsKbDk9ZnVuY3Rpb24obixXKXt2YXIgRD16bygpO0QmJkQucHVibGlzaC5jYWxsKEQsbi50b1N0cmluZygpLG4sVyl9OwpqMHg9ZnVuY3Rpb24obil7dmFyIFc9VG8sRD16bygpO2lmKCFEKXJldHVybiAwO3ZhciBiPUQuc3Vic2NyaWJlKFcudG9TdHJpbmcoKSwodixrKT0+e3ZhciBoPWcucnIoInl0UHVic3ViMlB1YnN1YjJTa2lwU3ViS2V5Iik7aCYmaD09Ynx8KGg9KCk9PntpZihqOVtiXSl0cnl7aWYoayYmVyBpbnN0YW5jZW9mIGQzJiZXIT12KXRyeXt7dmFyIHg9Vy5OLEw9aztpZighTC5hcmdzfHwhTC52ZXJzaW9uKXRocm93IEVycm9yKCJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogc2VyaWFsaXplZERhdGEgaXMgaW5jb21wbGV0ZS4iKTtsZXQgZTt0cnl7aWYoIXguQ2Ipe2xldCBHPW5ldyB4O3guQ2I9Ry52ZXJzaW9ufWU9eC5DYn1jYXRjaChHKXt9aWYoIWV8fEwudmVyc2lvbiE9ZSl0aHJvdyBFcnJvcigieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6IHNlcmlhbGl6ZWREYXRhIHZlcnNpb24gaXMgaW5jb21wYXRpYmxlLiIpO3RyeXtrPVJlZmxlY3QuY29uc3RydWN0KHgsZy5STShMLmFyZ3MpKX1jYXRjaChHKXt0aHJvdyBHLm1lc3NhZ2U9CiJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogIitHLm1lc3NhZ2UsRzt9fX1jYXRjaChlKXt0aHJvdyBlLm1lc3NhZ2U9Inl0LnB1YnN1YjIucHVic3ViMiBjcm9zcy1iaW5hcnkgY29udmVyc2lvbiBlcnJvciBmb3IgIitXLnRvU3RyaW5nKCkrIjogIitlLm1lc3NhZ2UsZTt9bi5jYWxsKHdpbmRvdyxrKX1jYXRjaChlKXtPdChlKX19LENQW1cudG9TdHJpbmcoKV0/Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/dGEuTFMoaCk6Zy5uJChoLDApOmgoKSl9KTsKajlbYl09ITA7QnpbVy50b1N0cmluZygpXXx8KEJ6W1cudG9TdHJpbmcoKV09W10pO0J6W1cudG9TdHJpbmcoKV0ucHVzaChiKTtyZXR1cm4gYn07CkYwTT1mdW5jdGlvbigpe3ZhciBuPUM0dyxXPWoweChmdW5jdGlvbihEKXtuLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO0JaaChXKX0pOwpyZXR1cm4gV307CkJaaD1mdW5jdGlvbihuKXt2YXIgVz16bygpO1cmJih0eXBlb2Ygbj09PSJudW1iZXIiJiYobj1bbl0pLGcueTIobixEPT57Vy51bnN1YnNjcmliZUJ5S2V5KEQpO2RlbGV0ZSBqOVtEXX0pKX07CnpvPWZ1bmN0aW9uKCl7cmV0dXJuIGcucnIoInl0UHVic3ViMlB1YnN1YjJJbnN0YW5jZSIpfTsKRjM9ZnVuY3Rpb24obixXLEQ9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixELnNhbXBsZVJhdGUvMTAwKSYmbDkoIm1ldGFfbG9nZ2luZ19jc2lfZXZlbnQiLHt0aW1lck5hbWU6bix0aW1lbGluZURhdGE6V30pfTsKVmQ9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9e3N0YXJ0VGltZTooMCxnLlIpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD13MyhXKTtpZihoPT1udWxsfHwhKGg+TUJ8fGg8UjcpKXt2YXIgaz1YJChRZChXKSk7bGV0IHg9KDAsZy5SKSgpO3YudGlja3MuZ2VsYz14O3c5aisrO2cubCgiZ2VsX2NvbXByZXNzaW9uX2NzaV9raWxsc3dpdGNoIil8fCFnLmwoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeSIpJiYhZy5sKCJsb2dfZ2VsX2NvbXByZXNzaW9uX2xhdGVuY3lfbHIiKXx8RjMoImdlbF9jb21wcmVzc2lvbiIsdix7c2FtcGxlUmF0ZTouMX0pO0QuaGVhZGVyc3x8KEQuaGVhZGVycz17fSk7RC5oZWFkZXJzWyJDb250ZW50LUVuY29kaW5nIl09Imd6aXAiO0QucG9zdEJvZHk9aztELnBvc3RQYXJhbXM9dm9pZCAwfWIobixEKX1jYXRjaChoKXtaRShoKSxiKG4sRCl9fTsKTVhTPWZ1bmN0aW9uKG4peygwLGcuUikoKTtpZighbi5ib2R5KXJldHVybiBuO3RyeXtsZXQgVz10eXBlb2Ygbi5ib2R5PT09InN0cmluZyI/bi5ib2R5OkpTT04uc3RyaW5naWZ5KG4uYm9keSksRD1XO2lmKHR5cGVvZiBXPT09InN0cmluZyIpe2xldCBiPXczKFcpO2lmKGIhPW51bGwmJihiPk1CfHxiPFI3KSlyZXR1cm4gbjtEPVgkKFFkKFcpKTsoMCxnLlIpKCl9bi5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihuLmhlYWRlcnN8fHt9KX07bi5ib2R5PUQ7cmV0dXJuIG59Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG59fTsKdzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybihuZXcgQmxvYihuLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG51bGx9fTsKY3o9ZnVuY3Rpb24obil7cmV0dXJuISFuLllXfHxuLld2fTsKbm09ZnVuY3Rpb24obil7Y3oobikmJiFuLk5oJiYobi5OPSEwLG4uQ3ImJk1hdGgucmFuZG9tKCk8PW4uS3ImJm4uZ0UudGkobi5ZVyksYTcobiksbi55Ry5XRygpJiZuLlcoKSxuLnlHLlNfKG4udVosbi5XLmJpbmQobikpLG4ueUcuU18obi5OQSxuLlguYmluZChuKSkpfTsKYTc9ZnVuY3Rpb24obil7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogcmV0cnlRdWV1ZWRSZXF1ZXN0cyIpO24uZ0UuaTQoIlFVRVVFRCIsbi5ZVykudGhlbihXPT57VyYmIVdVKG4sVyxuLlo0KT9uLkEkLkxTKGFzeW5jKCk9PntXLmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVyk7YTcobil9KTpuLnlHLldHKCkmJm4uVygpfSl9OwpENT1hc3luYyBmdW5jdGlvbihuLFcpe2lmKCFjeihuKSl0aHJvdyBFcnJvcigiSW5kZXhlZERCIGlzIG5vdCBzdXBwb3J0ZWQ6IGltbWVkaWF0ZVNlbmQiKTtXLmlkIT09dm9pZCAwJiYoYXdhaXQgbi5nRS5LNihXLmlkLG4uWVcpfHxuLkYyKEVycm9yKCJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlLiIpKSk7V1UobixXLG4uR3kpPyhXLnNraXBSZXRyeXx8KFc9UnEyKG4sVykpLFcmJihXLnNraXBSZXRyeSYmVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpLG4uTG0oVy51cmwsVy5vcHRpb25zLCEhVy5za2lwUmV0cnkpKSk6KG4uRjIoRXJyb3IoIk5ldHdvcmtsZXNzIExvZ2dpbmc6IFN0b3JlZCBsb2dzIHJlcXVlc3QgZXhwaXJlZCBhZ2UgbGltaXQiKSksVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpKX07CmJNPWZ1bmN0aW9uKG4sVyl7bi5oTCYmIW4ueUcuV0coKT9uLmhMKFcpOm4uaGFuZGxlRXJyb3IoVyl9OwpXVT1mdW5jdGlvbihuLFcsRCl7Vz1XLnRpbWVzdGFtcDtyZXR1cm4gbi5ub3coKS1XPj1EPyExOiEwfTsKUnEyPWZ1bmN0aW9uKG4sVyl7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogdXBkYXRlUmVxdWVzdEhhbmRsZXJzIik7dmFyIEQ9Vy5vcHRpb25zLm9uRXJyb3I/Vy5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9OwpXLm9wdGlvbnMub25FcnJvcj1hc3luYyh2LGspPT57dmFyIGg9UTBTKGspLHg9VlgyKGspO3gmJm4uRXEmJm4uRXEoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJm4uaGFuZGxlRXJyb3IoRXJyb3IoIlJlcXVlc3QgZmFpbGVkIGR1ZSB0byBjb21wcmVzc2lvbiIpLFcudXJsLGspO2lmKG4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmh8fG4uRXEmJiFuLkVxKCJud2xfY29uc2lkZXJfZXJyb3JfY29kZSIpJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcjw9bi5IRilpZihuLnlHLmhKJiZhd2FpdCBuLnlHLmhKKCksIW4ueUcuV0coKSl7RCh2LGspO24uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJlc/LmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMSk7cmV0dXJufW4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJiFoJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5uLkhGfHwobi5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKywKVz8uaWQhPT12b2lkIDAmJihXLnNlbmRDb3VudDxuLkExPyhhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMCx4PyExOnZvaWQgMCksbi5BJC5MUygoKT0+e24ueUcuV0coKSYmbi5XKCl9LG4uSVApKTphd2FpdCBuLmdFLlRNKFcuaWQsbi5ZVykpLEQodixrKSl9Owp2YXIgYj1XLm9wdGlvbnMub25TdWNjZXNzP1cub3B0aW9ucy5vblN1Y2Nlc3M6KCk9Pnt9OwpXLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKHYsayk9PntXPy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpO24ueUcubGMmJm4uRXEmJm4uRXEoInZzc19uZXR3b3JrX2hpbnQiKSYmbi55Ry5sYyghMCk7Yih2LGspfTsKcmV0dXJuIFd9OwpRMFM9ZnVuY3Rpb24obil7cmV0dXJuKG49bj8uZXJyb3I/LmNvZGUpJiZuPj00MDAmJm48PTU5OT8hMTohMH07ClZYMj1mdW5jdGlvbihuKXtuPW4/LmVycm9yPy5jb2RlO3JldHVybiEobiE9PTQwMCYmbiE9PTQxNSl9OwpjX1o9ZnVuY3Rpb24oKXtpZih2VSlyZXR1cm4gdlUoKTt2VT1rTygiTG9nc0RhdGFiYXNlVjIiLHtLYzp7TG9nc1JlcXVlc3RzU3RvcmU6e3Z4OjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcsRCl7VygyKSYmWnkobiwiTG9nc1JlcXVlc3RzU3RvcmUiLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pO1coMyk7Vyg1KSYmKEQ9RC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSxELk4uaW5kZXhOYW1lcy5jb250YWlucygibmV3UmVxdWVzdCIpJiZELk4uZGVsZXRlSW5kZXgoIm5ld1JlcXVlc3QiKSxFUihELCJuZXdSZXF1ZXN0VjIiLFsic3RhdHVzIiwiaW50ZXJmYWNlIiwidGltZXN0YW1wIl0pKTtXKDcpJiZVUihuLCJzYXBpc2lkIik7Vyg5KSYmVVIobiwiU1dIZWFsdGhMb2ciKX0sdmVyc2lvbjo5fSk7cmV0dXJuIHZVKCl9OwprUT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoY19aKCksbil9OwphQlM9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD17c3RhcnRUaW1lOigwLGcuUikoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtXPWF3YWl0IGtRKFcpO249ey4uLm4sb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4ub3B0aW9ucykpLGludGVyZmFjZTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCl9O249YXdhaXQgVy5wdXQoIkxvZ3NSZXF1ZXN0c1N0b3JlIixuKTtELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4gbn07Cm52Mj1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPXtzdGFydFRpbWU6KDAsZy5SKSgpLGluZm9zOnt0cmFuc2FjdGlvblR5cGU6IllUX0lEQl9UUkFOU0FDVElPTl9UWVBFX1JFQUQifSx0aWNrczp7fX07Vz1hd2FpdCBrUShXKTt2YXIgYj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksdj1bbixiLDBdO2I9W24sYiwoMCxnLlIpKCldO3ZhciBrPUlEQktleVJhbmdlLmJvdW5kKHYsYiksaD0icHJldiI7Zy5sKCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiKSYmKGg9Im5leHQiKTt2YXIgeD12b2lkIDA7dj1uPT09Ik5FVyI/InJlYWR3cml0ZSI6InJlYWRvbmx5IjtnLmwoInVzZV9yZWFkb25seV9mb3JfZ2V0X21vc3RfcmVjZW50X2J5X3N0YXR1c19raWxsc3dpdGNoIikmJih2PSJyZWFkd3JpdGUiKTthd2FpdCBPUihXLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTp2LEdROiEwfSxMPT56bihMLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmssZGlyZWN0aW9uOmh9LGU9PntlLmdldFZhbHVlKCkmJih4PWUuZ2V0VmFsdWUoKSxuPT09Ik5FVyImJih4LnN0YXR1cz0iUVVFVUVEIixlLnVwZGF0ZSh4KSkpfSkpOwpELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4geH07CldfQz1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBPUihhd2FpdCBrUShXKSxbIkxvZ3NSZXF1ZXN0c1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pnt2YXIgYj1ELm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpO3JldHVybiBiLmdldChuKS50aGVuKHY9PntpZih2KXJldHVybiB2LnN0YXR1cz0iUVVFVUVEIixiLnB1dCh2KS50aGVuKCgpPT52KX0pfSl9OwpERXg9YXN5bmMgZnVuY3Rpb24obixXLEQ9ITAsYil7cmV0dXJuIE9SKGF3YWl0IGtRKFcpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sdj0+e3ZhciBrPXYub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGsuZ2V0KG4pLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsRCYmKGguc2VuZENvdW50Kz0xKSxiIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWIpLGsucHV0KGgpLnRoZW4oKCk9PmgpKTpzUi5yZXNvbHZlKHZvaWQgMCkpfSl9OwpiR0M9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4oYXdhaXQga1EoVykpLmRlbGV0ZSgiTG9nc1JlcXVlc3RzU3RvcmUiLG4pfTsKdnZpPWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQga1Eobik7dmFyIFc9KDAsZy5SKSgpLTI1OTJFNjthd2FpdCBPUihuLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+dVEoRC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxiPT57aWYoYi5nZXRWYWx1ZSgpLnRpbWVzdGFtcDw9VylyZXR1cm4gYi5kZWxldGUoKS50aGVuKCgpPT5vZyhiKSl9KSl9Owpremk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgiTG9nc0RhdGFiYXNlVjIiKX07CmhJPWZ1bmN0aW9uKG4pe2cubCgibndsX2NzaV9raWxsc3dpdGNoIil8fEYzKCJuZXR3b3JrbGVzc19wZXJmb3JtYW5jZSIsbix7c2FtcGxlUmF0ZToxfSl9Owp4UT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoaF94KCksbil9Owp4RXc9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCB4UShuKTt2YXIgVz0oMCxnLlIpKCktMjU5MkU2O2F3YWl0IE9SKG4sWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwfSxEPT51UShELm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGI9PntpZihiLmdldFZhbHVlKCkudGltZXN0YW1wPD1XKXJldHVybiBiLmRlbGV0ZSgpLnRoZW4oKCk9Pm9nKGIpKX0pKX07CkxfaT1hc3luYyBmdW5jdGlvbihuKXthd2FpdCAoYXdhaXQgeFEobikpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKZy5nbz1mdW5jdGlvbihuLFcsRCxiLHY9IiIsaz0hMSxoPSExKXtpZihuKWlmKEQmJiFnLmQ4KCkpWkUobmV3IGcuUXgoIkxlZ2FjeSByZWZlcnJlci1zY3J1YmJlZCBwaW5nIGRldGVjdGVkIikpLG4mJkxtKG4sdm9pZCAwLHtzY3J1YlJlZmVycmVyOiEwfSk7ZWxzZSBpZih2KXhUKG4sVywiUE9TVCIsdixiKTtlbHNlIGlmKGcuQXIoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8Ynx8aCl4VChuLFcsIkdFVCIsIiIsYix2b2lkIDAsayxoKTtlbHNle2I6e3RyeXtjOnt2YXIgeD1uZXcgZV93KHt1cmw6bn0pO2lmKHguTi5kc2g9PT0iMSIpdmFyIEw9bnVsbDtlbHNle3ZhciBlPXguTi5hZTtpZihlPT09IjEiKXtsZXQgcj14Lk4uYWR1cmw7aWYocil0cnl7TD17dmVyc2lvbjozLFViOmRlY29kZVVSSUNvbXBvbmVudChyKSxERzp1eCh4LkosImFjdD0xIiwicmk9MSIseGlNKHgpKX07YnJlYWsgY31jYXRjaChOKXt9fUw9ZT09PSIyIj97dmVyc2lvbjo0LFViOnV4KHguSiwKImRjdD0xIiwic3VpZD0iK3guVywicmk9MSIpLERHOnV4KHguSiwiYWN0PTEiLCJyaT0xIiwic3VpZD0iK3guVyl9Om51bGx9fWlmKEwpe2xldCByPVMxKG4pO3ZhciBHPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxnLmxmKG4sInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31HPSExfUc/ZXcobik/KFcmJlcoKSxEPSEwKTpEPSExOkQ9ITE7RHx8TG0obixXKX19Owpndnc9ZnVuY3Rpb24obixXPSIiKXtldyhuLFcpfHxnLmdvKG4sdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyl9Owpldz1mdW5jdGlvbihuLFc9IiIpe3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihuLFcpKXJldHVybiEwfWNhdGNoKEQpe31yZXR1cm4hMX07CkxtPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj1uZXcgSW1hZ2Usdj0iIitYSHcrKztYaVt2XT1iO2Iub25sb2FkPWIub25lcnJvcj0oKT0+e1cmJlhpW3ZdJiZXKCk7ZGVsZXRlIFhpW3ZdfTsKRC5zY3J1YlJlZmVycmVyJiYoYi5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtiLnNyYz1ufTsKZy5xYj1mdW5jdGlvbihuKXtyZXR1cm4gZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP24rIiZuaXM9NiI6bisiJm5pcz01In07CiRRPWZ1bmN0aW9uKCl7R1R8fChHVD1uZXcgdEkoInl0Lm9mZmxpbmUiKSk7cmV0dXJuIEdUfTsKcUt3PWZ1bmN0aW9uKG4pe2lmKGcubCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgVz0kUSgpLmdldCgiZXJyb3JzIiwhMCl8fHt9O1dbbi5tZXNzYWdlXT17bmFtZTpuLm5hbWUsc3RhY2s6bi5zdGFja307bi5sZXZlbCYmKFdbbi5tZXNzYWdlXS5sZXZlbD1uLmxldmVsKTskUSgpLnNldCgiZXJyb3JzIixXLDI1OTJFMywhMCl9fTsKc2M9ZnVuY3Rpb24oKXtpZighcm8uaW5zdGFuY2Upe2xldCBuPWcucnIoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIpfHxuZXcgcm87Zy5HYigieXQubmV0d29ya1JlcXVlc3RNb25pdG9yLmluc3RhbmNlIixuKTtyby5pbnN0YW5jZT1ufXJldHVybiByby5pbnN0YW5jZX07CnBtPWZ1bmN0aW9uKCl7aWYoIU5iLmluc3RhbmNlKXtsZXQgbj1nLnJyKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcgTmI7Zy5HYigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLG4pO05iLmluc3RhbmNlPW59cmV0dXJuIE5iLmluc3RhbmNlfTsKWVE9ZnVuY3Rpb24obixXKXtuLnJhdGVMaW1pdD9uLk4/KHRhLnNPKG4uWCksbi5YPXRhLkxTKCgpPT57bi5XIT09VyYmKG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKX0sbi5yYXRlTGltaXQtKCgwLGcuUikoKS1uLk4pKSk6KG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKTpuLmRpc3BhdGNoRXZlbnQoVyl9OwpnLkhVPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIpO258fChuPW5ldyBHemgsZy5HYigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsbiksZy5sKCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJmcublAoKS50aGVuKFc9PntuLllXPVc7bm0obik7bi5qLnJlc29sdmUoKTtuLkNyJiZNYXRoLnJhbmRvbSgpPD1uLktyJiZuLllXJiZ4RXcobi5ZVyk7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX3N3X2hlYWx0aF9zdG9yZSIpJiZ0V3cobil9KSk7CnJldHVybiBufTsKdFd3PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLllXKXRocm93IGcucjAoImNsZWFyU1dIZWFsdGhMb2dzRGIiKTtMX2kobi5ZVykuY2F0Y2goVz0+e24uaGFuZGxlRXJyb3IoVyl9KX07CiRFdD1mdW5jdGlvbihuLFcsRCl7Vz1nLmwoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sVyk6VztnLmwoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Vy5oZWFkZXJzJiZnLlRkKG4pJiYoVy5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxnLlIpKCkpKSk6Vy5wb3N0UGFyYW1zPy5yZXF1ZXN0VGltZU1zJiYoVy5wb3N0UGFyYW1zLnJlcXVlc3RUaW1lTXM9TWF0aC5yb3VuZCgoMCxnLlIpKCkpKTtEJiZPYmplY3Qua2V5cyhXKS5sZW5ndGg9PT0wP2cuZ28obik6Vy5jb21wcmVzcz9XLnBvc3RCb2R5Pyh0eXBlb2YgVy5wb3N0Qm9keSE9PSJzdHJpbmciJiYoVy5wb3N0Qm9keT1KU09OLnN0cmluZ2lmeShXLnBvc3RCb2R5KSksVmQobixXLnBvc3RCb2R5LFcsZy5lZCkpOlZkKG4sSlNPTi5zdHJpbmdpZnkoVy5wb3N0UGFyYW1zKSxXLGc4KTpnLmVkKG4sVyl9OwpmbT1mdW5jdGlvbihuLFcpe2cubCgidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIikmJmcuVGQobikmJihXLmhlYWRlcnN8fChXLmhlYWRlcnM9e30pLFcuaGVhZGVyc1siWC1Hb29nLUV2ZW50LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gV307CmcuSUk9ZnVuY3Rpb24obixXLEQsYil7IWcuQXIoIlZJU0lUT1JfREFUQSIpJiZXIT09InZpc2l0b3JfaWQiJiZNYXRoLnJhbmRvbSgpPC4wMSYmWkUobmV3IGcuUXgoIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLFcsRCxiKSk7aWYoIW4uaXNSZWFkeSgpKXRocm93IG49bmV3IGcuUXgoImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixXLEQsYiksT3Qobiksbjt2YXIgdj17aGVhZGVyczpiLmhlYWRlcnN8fHt9LG1ldGhvZDoiUE9TVCIscG9zdFBhcmFtczpELHBvc3RCb2R5OmIucG9zdEJvZHkscG9zdEJvZHlGb3JtYXQ6Yi5wb3N0Qm9keUZvcm1hdHx8IkpTT04iLG9uVGltZW91dDooKT0+e2Iub25UaW1lb3V0KCl9LApvbkZldGNoVGltZW91dDpiLm9uVGltZW91dCxvblN1Y2Nlc3M6KGUsRyk9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhHKX0sCm9uRmV0Y2hTdWNjZXNzOmU9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhlKX0sCm9uUHJvZ3Jlc3M6ZT0+e2lmKGIub25Qcm9ncmVzcyliLm9uUHJvZ3Jlc3MoZSl9LApvbkVycm9yOihlLEcpPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihHKX0sCm9uRmV0Y2hFcnJvcjplPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihlKX0sCnRpbWVvdXQ6Yi50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpiLmNvbXByZXNzfTt2LmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwodi5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO0Q9IiI7dmFyIGs9bi5jb25maWdfLnY2O2smJihEPWspO2s9bi5jb25maWdfLk9zfHwhMTt2YXIgaD1UWmooayxELGIpO09iamVjdC5hc3NpZ24odi5oZWFkZXJzLGgpO3YuaGVhZGVycy5BdXRob3JpemF0aW9uJiYhRCYmayYmKHYuaGVhZGVyc1sieC1vcmlnaW4iXT13aW5kb3cubG9jYXRpb24ub3JpZ2luKTt2YXIgeD1nLnpkKGAke0R9JHtgL3lvdXR1YmVpLyR7bi5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7V31gfWAse2FsdDoianNvbiJ9KSxMPShlPSExKT0+e3RyeXtpZihlJiZiLnJldHJ5JiYhYi5uZXR3b3JrbGVzc09wdGlvbnMuYnlwYXNzTmV0d29ya2xlc3Mpdi5tZXRob2Q9IlBPU1QiLGIubmV0d29ya2xlc3NPcHRpb25zLndyaXRlVGhlblNlbmQ/CmcuSFUoKS53cml0ZVRoZW5TZW5kKHgsdik6Zy5IVSgpLnNlbmRBbmRXcml0ZSh4LHYpO2Vsc2UgaWYoYi5jb21wcmVzcylpZih2LnBvc3RCb2R5KXtsZXQgRz12LnBvc3RCb2R5O3R5cGVvZiBHIT09InN0cmluZyImJihHPUpTT04uc3RyaW5naWZ5KHYucG9zdEJvZHkpKTtWZCh4LEcsdixnLmVkKX1lbHNlIFZkKHgsSlNPTi5zdHJpbmdpZnkodi5wb3N0UGFyYW1zKSx2LGc4KTtlbHNlIGc4KHgsdil9Y2F0Y2goRyl7aWYoRy5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpWkUoRXJyb3IoIkFuIGV4dGVuc2lvbiBpcyBibG9ja2luZyBuZXR3b3JrIHJlcXVlc3QuIikpO2Vsc2UgdGhyb3cgRzt9fTsKZy5ycigieXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnMiKSYmSkkuaXNOd2xJbml0aWFsaXplZD9jTigpLnRoZW4oZT0+e0woZSl9KTpMKCExKX07Ck9jPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1TdygpO2lmKGImJlcpe2xldCB2PWIuc3Vic2NyaWJlKG4sZnVuY3Rpb24oKXt2YXIgaz1hcmd1bWVudHMsaD0oKT0+e0FJW3ZdJiZXLmFwcGx5JiZ0eXBlb2YgVy5hcHBseT09ImZ1bmN0aW9uIiYmVy5hcHBseShEfHx3aW5kb3csayl9Owp0cnl7bWdbbl0/aCgpOmcubiQoaCwwKX1jYXRjaCh4KXtPdCh4KX19LEQpOwpBSVt2XT0hMDtLbVtuXXx8KEttW25dPVtdKTtLbVtuXS5wdXNoKHYpO3JldHVybiB2fXJldHVybiAwfTsKUFU9ZnVuY3Rpb24obil7dmFyIFc9U3coKTtXJiYodHlwZW9mIG49PT0ibnVtYmVyIj9uPVtuXTp0eXBlb2Ygbj09PSJzdHJpbmciJiYobj1bcGFyc2VJbnQobiwxMCldKSxnLnkyKG4sRD0+e1cudW5zdWJzY3JpYmVCeUtleShEKTtkZWxldGUgQUlbRF19KSl9OwpaNT1mdW5jdGlvbihuLFcpe3ZhciBEPVN3KCk7cmV0dXJuIEQ/RC5wdWJsaXNoLmFwcGx5KEQsYXJndW1lbnRzKTohMX07CnlKPWZ1bmN0aW9uKG4pe3ZhciBXPVN3KCk7aWYoVylpZihXLmNsZWFyKG4pLG4pVWMobik7ZWxzZSBmb3IobGV0IEQgaW4gS20pVWMoRCl9OwpFYz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPVdebjtpZighKG4tNj4+Mykpe2VYKGteMjk5MCxrXjYwMjksRCk7dmFyIGg9RFtJW2teMjk4Nl1dKyhEW0lba14yOTg2XV0/SVtrXjMwNjBdOklba14zMDY3XSkrRFtJW2teMjk2N11dK0RbSVtrXjI5ODhdXTtpZihQMChrXjMwNDUsa140NjE4LEQpKXtsZXQgTD1bXTtnLmFfKERbSVsxXV0sKEcscik9PntHIT09bnVsbCYmTFtJW2teMjk4Ml1dKGAke3J9PSR7R31gKX0pOwpsZXQgZT1MW0lba14zMDA1XV0oSVtrXjI5NDVdKTtoKz1gPyR7ZX1gfXZhciB4PWh9KG4rMl43KTxuJiYobi01fDIzKT49biYmKGI9PT1JW2teNjU4OV0mJigoaD12W0lba142NTYzXV0oSVtrXjY1NDhdKSk+PTA/KGI9YGNtbz0ke3ZbSVtrXjY1NjZdXSgwLGgpfWAsdj12W0lba142NTY2XV0oaCsxKSk6KGg9dltJW2teNjU2M11dKElba142NTM1XSkpPj0wJiYoYj1gY21vPSR7dltJW2teNjU2Nl1dKDAsaCl9YCx2PXZbSVtrXjY1NjZdXShoKzMpKSksRFtiXT12KTtyZXR1cm4geH07ClN3PWZ1bmN0aW9uKCl7cmV0dXJuIGcucWkueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07ClVjPWZ1bmN0aW9uKG4pe0ttW25dJiYobj1LbVtuXSxnLnkyKG4sVz0+e0FJW1ddJiZkZWxldGUgQUlbV119KSxuLmxlbmd0aD0wKX07CmlNPWZ1bmN0aW9uKG4sVyxEPW51bGwpe3J2aChuLFcsRCl9Owpydmg9ZnVuY3Rpb24obixXLEQ9bnVsbCl7dmFyIGI9dU0odHlwZW9mIG49PT0ic3RyaW5nIj9uOm4udG9TdHJpbmcoKSksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxrPXYmJmdKKHYpLGg9diYmIWs7az9XJiZXKCk6KFcmJihrPU9jKGIsVyksVz1gJHtBaShXKX1gLG9JW1ddPWspLGh8fCh2PXN6UyhuLGIsKCk9PntnSih2KXx8KGI1dCh2KSxaNShiKSxnLm4kKCgpPT57eUooYil9LDApKX0sRCkpKX07CnN6Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwpe3ZhciB2PWcuekYoIlNDUklQVCIpO3YuaWQ9Vzt2Lm9ubG9hZD0oKT0+e0QmJnNldFRpbWVvdXQoRCwwKX07CnYub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57c3dpdGNoKHYucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6di5vbmxvYWQoKX19OwpiJiZ2LnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO2cuUE0odix0eXBlb2Ygbj09PSJzdHJpbmciP2Z3KG4pOm4pO249ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTtuLmluc2VydEJlZm9yZSh2LG4uZmlyc3RDaGlsZCk7cmV0dXJuIHZ9Owp1TT1mdW5jdGlvbihuKXt2YXIgVz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Zy5OVShXLG4pO249Vy5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIik7cmV0dXJuYGpzLSR7c1Qobil9YH07CnpUPWZ1bmN0aW9uKG4sVyl7aWYobj09PVcpbj0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkoVykpbj12NChuLFcselQpO2Vsc2UgaWYoZy5mdChuKSYmZy5mdChXKSlhOmlmKGcuTFQobikubGVuZ3RoIT1nLkxUKFcpLmxlbmd0aCluPSExO2Vsc2V7Zm9yKGxldCBEIGluIG4paWYoIXpUKG5bRF0sV1tEXSkpe249ITE7YnJlYWsgYX1uPSEwfWVsc2Ugbj0hMTtyZXR1cm4gbn07Cmp3PWZ1bmN0aW9uKG4sLi4uVyl7aWYoIWxNKG4pfHxXLnNvbWUoRD0+IWxNKEQpKSl0aHJvdyBFcnJvcigiT25seSBvYmplY3RzIG1heSBiZSBtZXJnZWQuIik7CmZvcihsZXQgRCBvZiBXKVRUKG4sRCl9OwpUVD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBXKWlmKGxNKFdbRF0pKXtpZihEIGluIG4mJiFsTShuW0RdKSl0aHJvdyBFcnJvcigiQ2Fubm90IG1lcmdlIGFuIG9iamVjdCBpbnRvIGEgbm9uLW9iamVjdC4iKTtEIGluIG58fChuW0RdPXt9KTtUVChuW0RdLFdbRF0pfWVsc2UgaWYoQ20oV1tEXSkpe2lmKEQgaW4gbiYmIUNtKG5bRF0pKXRocm93IEVycm9yKCJDYW5ub3QgbWVyZ2UgYW4gYXJyYXkgaW50byBhIG5vbi1hcnJheS4iKTtEIGluIG58fChuW0RdPVtdKTtCVShuW0RdLFdbRF0pfWVsc2UgbltEXT1XW0RdO3JldHVybiBufTsKQlU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgVylsTShEKT9uLnB1c2goVFQoe30sRCkpOkNtKEQpP24ucHVzaChCVShbXSxEKSk6bi5wdXNoKEQpO3JldHVybiBufTsKbE09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KG4pfTsKQ209ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJkFycmF5LmlzQXJyYXkobil9OwpnLkZpPWZ1bmN0aW9uKG49ITEpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLlkkPW5ldyBCSyhuKTtnLnUodGhpcyx0aGlzLlkkKX07Ck1iPWZ1bmN0aW9uKG4pe2lmKHdpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXRyeXt2YXIgVz1BcnJheShuKSxEPW5ldyBVaW50OEFycmF5KG4pO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEQpO2Zvcih2YXIgYj0wO2I8Vy5sZW5ndGg7YisrKVdbYl09RFtiXTtyZXR1cm4gV31jYXRjaCh2KXt9Vz1BcnJheShuKTtmb3IoRD0wO0Q8bjtEKyspe2I9RGF0ZS5ub3coKTtmb3IobGV0IHY9MDt2PGIlMjM7disrKVdbRF09TWF0aC5yYW5kb20oKTtXW0RdPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTYpfWlmKHdvKWZvcihEPTEsYj0wO2I8d28ubGVuZ3RoO2IrKylXW0Qlbl1ePVdbKEQtMSklbl0vNF53by5jaGFyQ29kZUF0KGIpLEQrKztyZXR1cm4gV307CmcuUkk9ZnVuY3Rpb24obil7bj1NYihuKTt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJBdChuW0RdJjYzKSk7cmV0dXJuIFcuam9pbigiIil9OwpnLlFKPWZ1bmN0aW9uKCl7cmV0dXJuIGcuaV8oTWIoMTYpLG49PihuJjE1KS50b1N0cmluZygxNikpLmpvaW4oIiIpfTsKYUk9ZnVuY3Rpb24oKXsoe0NQOlc9ITEsTTY6bj0hMH09e30pO3ZhciBuLFc7aWYoZy5ycigiX2xhY3QiLHdpbmRvdyk9PW51bGwpe3ZhciBEPXBhcnNlSW50KGcuQXIoIkxBQ1QiKSwxMCk7RD1pc0Zpbml0ZShEKT9EYXRlLm5vdygpLU1hdGgubWF4KEQsMCk6LTE7Zy5HYigiX2xhY3QiLEQsd2luZG93KTtnLkdiKCJfZmFjdCIsRCx3aW5kb3cpO0Q9PS0xJiZWSigpO05ndyhXLG4pO25ldyBtWSgoKT0+e2NVKCJtb3VzZSIsMTAwKX0pfX07Cm5YPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IGcud1ooVyk7KFc9RC5nZXQoInJlcV9pZCIpKSYmbi5zZXQoInJlcV9pZCIsVyk7Zy5hXyhuLk4sKGIsdik9PntEWyJzZXQiXSh2LG51bGwpfSk7CnJldHVybiBEfTsKTmd3PWZ1bmN0aW9uKG49ITEsVz0hMCl7dmFyIEQ9d2luZG93O2cuSTkoRC5kb2N1bWVudCwia2V5ZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwia2V5dXAiLFZKKTtnLkk5KEQuZG9jdW1lbnQsIm1vdXNlZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwibW91c2V1cCIsVkopO24/Zy5JOShELCJ0b3VjaG1vdmUiLCgpPT57Y1UoInRvdWNobW92ZSIsMjAwKX0se3Bhc3NpdmU6ITB9KTooZy5JOShELCJyZXNpemUiLCgpPT57Y1UoInJlc2l6ZSIsMjAwKX0pLFcmJmcuSTkoRCwic2Nyb2xsIiwoKT0+e2NVKCJzY3JvbGwiLDIwMCl9KSk7CmcuSTkoRC5kb2N1bWVudCwidG91Y2hzdGFydCIsVkose3Bhc3NpdmU6ITB9KTtnLkk5KEQuZG9jdW1lbnQsInRvdWNoZW5kIixWSix7cGFzc2l2ZTohMH0pfTsKY1U9ZnVuY3Rpb24obixXKXtieVtuXXx8KGJ5W25dPSEwLHRhLkxTKCgpPT57VkooKTtieVtuXT0hMX0sVykpfTsKVko9ZnVuY3Rpb24oKXtnLnJyKCJfbGFjdCIsd2luZG93KT09bnVsbCYmKGFJKCksZy5ycigiX2xhY3QiLHdpbmRvdykpO3ZhciBuPURhdGUubm93KCk7Zy5HYigiX2xhY3QiLG4sd2luZG93KTtnLnJyKCJfZmFjdCIsd2luZG93KT09LTEmJmcuR2IoIl9mYWN0IixuLHdpbmRvdyk7KG49Zy5ycigieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJm4oKX07Cmcudkk9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJfbGFjdCIsd2luZG93KTtyZXR1cm4gbj09bnVsbD8tMTpNYXRoLm1heChEYXRlLm5vdygpLW4sMCl9OwpnLmhwPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcga28obil9OwpnLnhvPWZ1bmN0aW9uKG4sVyl7bi5KLnNldChXLk5ILFcpO3ZhciBEPW4uVy5nZXQoVy5OSCk7aWYoRCl0cnl7RC5RNChuLnJlc29sdmUoVy5OSCkpfWNhdGNoKGIpe0QuSlkoYil9fTsKZ0U9ZnVuY3Rpb24obixXLEQsYj0hMSl7aWYoRC5pbmRleE9mKFcpPi0xKXRocm93IEVycm9yKGBEZXBzIGN5Y2xlIGZvcjogJHtXfWApO2lmKG4uTi5oYXMoVykpcmV0dXJuIG4uTi5nZXQoVyk7aWYoIW4uSi5oYXMoVykpe2lmKGIpcmV0dXJuO3Rocm93IEVycm9yKGBObyBwcm92aWRlciBmb3I6ICR7V31gKTt9Yj1uLkouZ2V0KFcpO0QucHVzaChXKTtpZihiLlBmIT09dm9pZCAwKXZhciB2PWIuUGY7ZWxzZSBpZihiLlJjKXY9YltnLkxYXT9lWihuLGJbZy5MWF0sRCk6W10sdj1iLlJjKC4uLnYpO2Vsc2UgaWYoYi5ZTCl7dj1iLllMO2xldCBrPXZbZy5MWF0/ZVoobix2W2cuTFhdLEQpOltdO3Y9bmV3IHYoLi4uayl9ZWxzZSB0aHJvdyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgcHJvdmlkZXJzIGZvcjogJHtXfWApO0QucG9wKCk7Yi5wbnx8bi5OLnNldChXLHYpO3JldHVybiB2fTsKZVo9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXP1cubWFwKGI9PmIgaW5zdGFuY2VvZiBrbz9nRShuLGIua2V5LEQsITApOmdFKG4sYixEKSk6W119OwpnLnFqPWZ1bmN0aW9uKCl7WDR8fChYND1uZXcgcEhyKTtyZXR1cm4gWDR9Owp0cD1mdW5jdGlvbigpe3JldHVybiJoNXZjYyJpbiBHcCYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VCZWdpbiYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VFbmQ/MToicGVyZm9ybWFuY2UiaW4gR3AmJkdwLnBlcmZvcm1hbmNlLm1hcmsmJkdwLnBlcmZvcm1hbmNlLm1lYXN1cmU/MjowfTsKJG89ZnVuY3Rpb24obil7dmFyIFc9dHAoKTtzd2l0Y2goVyl7Y2FzZSAxOkdwLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsbik7YnJlYWs7Y2FzZSAyOkdwLnBlcmZvcm1hbmNlLm1hcmsoYCR7bn0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpnLnBiKFcsInVua25vd24gdHJhY2UgdHlwZSIpfX07CnJFPWZ1bmN0aW9uKG4pe3ZhciBXPXRwKCk7c3dpdGNoKFcpe2Nhc2UgMTpHcC5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixuKTticmVhaztjYXNlIDI6Vz1gJHtufS1zdGFydGA7bGV0IEQ9YCR7bn0tZW5kYDtHcC5wZXJmb3JtYW5jZS5tYXJrKEQpO0dwLnBlcmZvcm1hbmNlLm1lYXN1cmUobixXLEQpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OmcucGIoVywidW5rbm93biB0cmFjZSB0eXBlIil9fTsKWUtqPWZ1bmN0aW9uKG4pe3ZhciBXPUFycmF5LmZyb20obi5OLmtleXMoKSkuc29ydCgoRCxiKT0+KG4uTltiXS5wcmlvcml0eT8/MCktKG4uTltEXS5wcmlvcml0eT8/MCkpOwpmb3IobGV0IEQgb2YgVylXPW4uTltEXSxXLmpvYklkPT09dm9pZCAwfHxXLk1KfHwobi5zY2hlZHVsZXIuc08oVy5qb2JJZCksZy5WeCgwLFcuSmEsMTApKX07CmZSMj1mdW5jdGlvbihuLFcsRCl7SEd0JiZjb25zb2xlLmdyb3VwQ29sbGFwc2VkJiZjb25zb2xlLmdyb3VwRW5kJiYoY29uc29sZS5ncm91cENvbGxhcHNlZChgWyR7bi5jb25zdHJ1Y3Rvci5uYW1lfV0gJyR7bi5zdGF0ZX0nIHRvICcke1d9J2ApLGNvbnNvbGUubG9nKCJ3aXRoIG1lc3NhZ2U6ICIsRCksY29uc29sZS5ncm91cEVuZCgpKX07ClNLQz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuZmlsdGVyKHY9PihuLko/P3YucHJpb3JpdHk/PzApPT09MTApLGI9Vy5maWx0ZXIodj0+KG4uSj8/di5wcmlvcml0eT8/MCkhPT0xMCk7CnJldHVybiBuLlguS0c/YXN5bmMoLi4udik9Pnthd2FpdCBKdlooRCwuLi52KTtzOShuLGIsLi4udil9OiguLi52KT0+e0lSMShELC4uLnYpOwpzOShuLGIsLi4udil9fTsKSnZaPWFzeW5jIGZ1bmN0aW9uKG4sLi4uVyl7Zy5EeSgpO2ZvcihsZXQgRCBvZiBuKXtsZXQgYjthOSgoKT0+e05qKEQubmFtZSk7dmFyIHY9cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpZbyh2KT9iPWcubCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIik/di50aGVuKCgpPT57SEkoRC5uYW1lKX0pOnYudGhlbigoKT0+e0hJKEQubmFtZSl9LGs9Pnt3aW5kb3cub25lcnJvcj8uKGsubWVzc2FnZSwiIiwwLDAsayk7CkhJKEQubmFtZSl9KTpISShELm5hbWUpfSk7CmImJmF3YWl0IGJ9fTsKczk9ZnVuY3Rpb24obixXLC4uLkQpe1c9Vy5tYXAoYj0+KHtKYTooKT0+e05qKGIubmFtZSk7cFgoKCk9PmIuY2FsbGJhY2soLi4uRCkpOwpISShiLm5hbWUpfSwKcHJpb3JpdHk6bi5KPz9iLnByaW9yaXR5Pz8wfSkpOwpXLmxlbmd0aCYmKG4uVz1uZXcgQXZqKFcpKX07CklSMT1mdW5jdGlvbihuLC4uLlcpe2cuRHkoKTtmb3IobGV0IEQgb2YgbilhOSgoKT0+e05qKEQubmFtZSk7cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpISShELm5hbWUpfSl9OwpOaj1mdW5jdGlvbihuKXtmWCYmbiYmJG8obil9OwpIST1mdW5jdGlvbihuKXtmWCYmbiYmckUobil9OwpwWD1mdW5jdGlvbihuKXtpZihnLmwoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpKXJldHVybiBuKCk7dHJ5e3JldHVybiBuKCl9Y2F0Y2goVyl7d2luZG93Lm9uZXJyb3I/LihXLm1lc3NhZ2UsIiIsMCwwLFcpfX07CkliPWZ1bmN0aW9uKCl7SnB8fChKcD1uZXcgbUV3KTtyZXR1cm4gSnB9OwpBcD1mdW5jdGlvbigpe1NafHwoU1o9cHcoZy5BcigiV09SS0VSX1NFUklBTElaQVRJT05fVVJMIikpKTtyZXR1cm4gU1p8fHZvaWQgMH07CktYPWZ1bmN0aW9uKCl7dmFyIG49QXAoKTttM3x8bj09PXZvaWQgMHx8KG0zPVhNKG4pKTtyZXR1cm4gbTN9OwpaQT1mdW5jdGlvbihuLFcpe3ZhciBEPU85KFcpO2lmKG4uTltEXSlyZXR1cm4gbi5OW0RdO3ZhciBiPU9iamVjdC5rZXlzKG4uc3RvcmUpfHxbXTtpZihiLmxlbmd0aDw9MSYmTzkoVyk9PT1iWzBdKXJldHVybiBiO3ZhciB2PVtdO2ZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXtsZXQgeD1iW2hdLnNwbGl0KCIvIik7aWYoUEkoVy5hdXRoLHhbMF0pKXt2YXIgaz1XLmlzSnNwYjtQSShrPT09dm9pZCAwPyJ1bmRlZmluZWQiOms/InRydWUiOiJmYWxzZSIseFsxXSkmJlBJKFcuY3R0QXV0aEluZm8seFsyXSkmJihrPVcudGllcixrPWs9PT12b2lkIDA/InVuZGVmaW5lZCI6SlNPTi5zdHJpbmdpZnkoayksUEkoayx4WzNdKSYmdi5wdXNoKGJbaF0pKX19cmV0dXJuIG4uTltEXT12fTsKUEk9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PXZvaWQgMHx8bj09PSJ1bmRlZmluZWQiPyEwOm49PT1XfTsKTzk9ZnVuY3Rpb24obil7cmV0dXJuW24uYXV0aD09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmF1dGgsbi5pc0pzcGI9PT12b2lkIDA/InVuZGVmaW5lZCI6bi5pc0pzcGIsbi5jdHRBdXRoSW5mbz09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmN0dEF1dGhJbmZvLG4udGllcj09PXZvaWQgMD8idW5kZWZpbmVkIjpuLnRpZXJdLmpvaW4oIi8iKX07ClU5PWZ1bmN0aW9uKCl7cmV0dXJuIGcubCgiaHRtbDVfc2VuZF9xb2Vfb25fZ2VsIil8fGcubCgid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIil9OwppeT1mdW5jdGlvbihuKXt5Uj1uO1U5KCkmJihnLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1uKTtFOT1uZXcgbn07CnV5PWZ1bmN0aW9uKG4pe3JldHVybiBuP246VTkoKT95Unx8Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRSZWdpc3RlcmVkQ2xpZW50Q3Rvcl98fG51bGw6bnVsbH07CmRFPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubG9nZ2luZy5pbXMiKTtufHwobj1uZXcgb2IsZy5HYigieXQubG9nZ2luZy5pbXMiLG4pKTtyZXR1cm4gbn07CktfMj1mdW5jdGlvbigpe2lmKHR5cGVvZiBXb3JrZXI9PT0iZnVuY3Rpb24iJiZBcCgpJiYhenApe3ZhciBuPUQ9PntEPUQuZGF0YTtpZihELm9wPT09InNlcmlhbGl6ZWRHZWxCYXRjaCIpe3ZhciBiPWx5LmdldChELmtleSk7YiYmKFRwKEQuc2VyaWFsaXplZEJhdGNoLGIuY2xpZW50LGIucmVzb2x2ZSxiLm5ldHdvcmtsZXNzT3B0aW9ucyxiLmlzSXNvbGF0ZWQsYi51c2VWU1NFbmRwb2ludCxiLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24sYi5yZXF1ZXN0c091dHN0YW5kaW5nKSxseS5kZWxldGUoRC5rZXkpKX19LFc9S1goKTsKVyYmKFcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiksVy5vbmVycm9yPSgpPT57bHkuY2xlYXIoKX0pOwp6cD0hMH19OwpPR3g9ZnVuY3Rpb24obixXKXtpZihuLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKG4pO3ZhciBEPUNYKG4pLGI9Qkkobi5wYXlsb2FkKXx8IiIsdj1GNChiKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe01qKG4sVyk7cmV0dXJufX1SYltEXT0hMDtEPXtjdHRBdXRoSW5mbzpELGlzSnNwYjohMSx0aWVyOmt9O2RFKCkuc3RvcmVQYXlsb2FkKEQsbi5wYXlsb2FkKTtRUihXLCExLEQsVlIoYikpfX07ClBXMT1mdW5jdGlvbihuLFcsRCl7aWYoVy5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtqWih2b2lkIDAsVyk7dmFyIGI9Q1goVywhMCksdj1GNChuKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe2NJKG4sVyxEKTtyZXR1cm59fVJiW2JdPSEwO2I9e2N0dEF1dGhJbmZvOmIsaXNKc3BiOiEwLHRpZXI6a307ZEUoKS5zdG9yZVBheWxvYWQoYixZdihXLnBheWxvYWQpKTtRUihELCEwLGIsVlIobikpfX07ClFSPWZ1bmN0aW9uKG4sVz0hMSxELGI9ITEpe24mJml5KG4pO249djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2giKXx8djAoIndlYl9sb2dnaW5nX21heF9iYXRjaCIpfHwxMDA7dmFyIHY9KDAsZy5SKSgpLGs9YWIoVyxELnRpZXIpLGg9ay5YO2ImJihrLk49ITApO2I9MDtEJiYoYj1kRSgpLmdldFNlcXVlbmNlQ291bnQoRCkpO2I+PTFFMz9uVSh7d3JpdGVUaGVuU2VuZDohMH0sVyxELnRpZXIpOmI+PW4/V3N8fChXcz1EdigoKT0+e25VKHt3cml0ZVRoZW5TZW5kOiEwfSxXLEQudGllcik7V3M9dm9pZCAwfSwwKSk6di1oPj0xMCYmKGJSKFcsRC50aWVyKSxrLlg9dil9OwpNaj1mdW5jdGlvbihuLFcpe2lmKG4uZW5kcG9pbnQ9PT0ibG9nX2V2ZW50Iil7Zy5sKCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmZEUoKS5zdG9yZVBheWxvYWQoe2lzSnNwYjohMX0sbi5wYXlsb2FkKTtqWihuKTt2YXIgRD1DWChuKSxiPW5ldyBNYXA7Yi5zZXQoRCxbbi5wYXlsb2FkXSk7dmFyIHY9Qkkobi5wYXlsb2FkKXx8IiI7KG49dXkoVykpJiZpeShuKTtyZXR1cm4gbmV3IGcuWDEoKGssaCk9PntFOSYmRTkuaXNSZWFkeSgpP3ZzKGIsRTksayxoLHtieXBhc3NOZXR3b3JrbGVzczohMH0sITAsVlIodikpOmsoKX0pfX07CmNJPWZ1bmN0aW9uKG4sVyxEKXtpZihXLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKHZvaWQgMCxXKTt2YXIgYj1DWChXLCEwKSx2PW5ldyBNYXA7di5zZXQoYixbWXYoVy5wYXlsb2FkKV0pOyhXPXV5KEQpKSYmaXkoVyk7cmV0dXJuIG5ldyBnLlgxKGs9PntFOSYmRTkuaXNSZWFkeSgpP2tBKHYsRTksayx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFZSKG4pKTprKCl9KX19OwpDWD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPSIiO2lmKG4uZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbilEPSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtlbHNlIGlmKG4uY3R0QXV0aEluZm8pe2lmKFcpe1c9bi5jdHRBdXRoSW5mby50b2tlbjtEPW4uY3R0QXV0aEluZm87bGV0IGI9bmV3IGg2O0QudmlkZW9JZD9iLnNldFZpZGVvSWQoRC52aWRlb0lkKTpELnBsYXlsaXN0SWQmJkQyKGIsMix4QSxXSChELnBsYXlsaXN0SWQpKTtMVVtXXT1ifWVsc2UgVz1uLmN0dEF1dGhJbmZvLEQ9e30sVy52aWRlb0lkP0QudmlkZW9JZD1XLnZpZGVvSWQ6Vy5wbGF5bGlzdElkJiYoRC5wbGF5bGlzdElkPVcucGxheWxpc3RJZCksZXlbbi5jdHRBdXRoSW5mby50b2tlbl09RDtEPW4uY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIER9OwpuVT1mdW5jdGlvbihuPXt9LFc9ITEsRCl7bmV3IGcuWDEoKGIsdik9Pnt2YXIgaz1hYihXLEQpLGg9ay5OO2suTj0hMTtpZihnLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpJiZnLmwoIndlYl92c3Nfcm91dGluZ19jaGVja19hbGxfdGllcl9wb2xpY2llcyIpKXtsZXQgeD1hYihXLDMwMCksTD1hYihXLDIwMCk7aD1ofHx4Lk58fEwuTjt4Lk49ITE7TC5OPSExfWc0KGsuVyk7ZzQoay5KKTtrLko9MDtFOSYmRTkuaXNSZWFkeSgpP0Q9PT12b2lkIDAmJmcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/cTEoYix2LG4sVywzMDAsaCk6cTEoYix2LG4sVyxELGgpOihiUihXLEQpLGIoKSl9KX07CnExPWZ1bmN0aW9uKG4sVyxEPXt9LGI9ITEsdj0yMDAsaz0hMSl7dmFyIGg9RTkseD1uZXcgTWFwLEw9bmV3IE1hcCxlPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDAsdGllcjp2fSxHPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDB9O2lmKGIpe2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhSYikpVz1nLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2RFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOltlLEddLHNpemVMaW1pdDoxRTN9KTpkRSgpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMCxjdHRBdXRoSW5mbzpyfSksVy5sZW5ndGg+MCYmeC5zZXQocixXKSwoZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSYmRC53cml0ZVRoZW5TZW5kfHwhZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSkmJmRlbGV0ZSBSYltyXTtrQSh4LGgsbixELCExLGspfWVsc2V7Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKFJiKSl4PWcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/CmRFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOlt7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnIsdGllcjp2fSx7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnJ9XSxzaXplTGltaXQ6MUUzfSk6ZEUoKS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtpc0pzcGI6ITEsY3R0QXV0aEluZm86cn0pLHgubGVuZ3RoPjAmJkwuc2V0KHIseCksKGcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJkQud3JpdGVUaGVuU2VuZHx8IWcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgUmJbcl07dnMoTCxoLG4sVyxELCExLGspfX07CmJSPWZ1bmN0aW9uKG49ITEsVz0yMDApe3ZhciBEPSgpPT57blUoe3dyaXRlVGhlblNlbmQ6ITB9LG4sVyl9LGI9YWIobixXKSx2PWI9PT1HVXx8Yj09PXQ2PzVFMzpaR1o7CmcubCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhYi5KJiYodj1EdigoKT0+e0QoKX0sdiksYi5KPXYpOwpnNChiLlcpO3Y9Zy5BcigiTE9HR0lOR19CQVRDSF9USU1FT1VUIix2MCgid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Zy5sKCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmJEEmJih2PVVFdyk7dj1EdigoKT0+e3YwKCJnZWxfbWluX2JhdGNoX3NpemUiKT4wP2RFKCkuZ2V0U2VxdWVuY2VDb3VudCh7Y3R0QXV0aEluZm86dm9pZCAwLGlzSnNwYjpuLHRpZXI6V30pPj15dlMmJkQoKTpEKCl9LHYpOwpiLlc9dn07CnZzPWZ1bmN0aW9uKG4sVyxELGIsdj17fSxrLGgpe3ZhciB4PU1hdGgucm91bmQoKDAsZy5SKSgpKSxMPW4uc2l6ZSxlPXI0KGgpO2ZvcihsZXQgW0cscl1vZiBuKXtuPUc7aD1yO2xldCBOPWcuTmMoe2NvbnRleHQ6Zy5VSihXLmNvbmZpZ198fGcuUzkoKSl9KTtpZighZy5ZMihoKSYmIWcubCgidGhyb3dfZXJyX3doZW5fbG9nZXZlbnRfbWFsZm9ybWVkX2tpbGxzd2l0Y2giKSl7YigpO2JyZWFrfU4uZXZlbnRzPWg7KGg9ZXlbbl0pJiZFdkMoTixuLGgpO2RlbGV0ZSBleVtuXTtsZXQgSD1uPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO2lHaihOLHgsSCk7c3kodik7bGV0IEE9ej0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoeil9KTsKTC0tO0x8fEQoKX0seT0wLFQ9KCk9Pnt5Kys7CmlmKHYuYnlwYXNzTmV0d29ya2xlc3MmJnk9PT0xKXRyeXtnLklJKFcsZSxOLHBVKHt3cml0ZVRoZW5TZW5kOiEwfSxILEEsVCxrKSksJEE9ITF9Y2F0Y2goeil7T3QoeiksYigpfUwtLTtMfHxEKCl9Owp0cnl7Zy5JSShXLGUsTixwVSh2LEgsQSxULGspKSwkQT0hMX1jYXRjaCh6KXtPdCh6KSxiKCl9fX07CmtBPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrKXt2YXIgaD1NYXRoLnJvdW5kKCgwLGcuUikoKSkseD17dmFsdWU6bi5zaXplfSxMPW5ldyBNYXAoWy4uLm5dKTtmb3IobGV0IFtUXW9mIEwpe3ZhciBlPVQsRz1uLmdldChlKTtMPW5ldyB1RjI7dmFyIHI9Vy5jb25maWdffHxnLlM5KCksTj1uZXcgWUEsSD1uZXcgSHM7Zy5TRShILDEsci5NYik7Zy5TRShILDIsci5FRSk7S24oSCwxNixyLkZkKTtnLlNFKEgsMTcsci5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbik7aWYoci5jUil7dmFyIEE9ci5jUix5PW5ldyBpOTtBLmNvbGRDb25maWdEYXRhJiZnLlNFKHksMSxBLmNvbGRDb25maWdEYXRhKTtBLmFwcEluc3RhbGxEYXRhJiZnLlNFKHksNixBLmFwcEluc3RhbGxEYXRhKTtBLmNvbGRIYXNoRGF0YSYmZy5TRSh5LDMsQS5jb2xkSGFzaERhdGEpO0EuaG90SGFzaERhdGEmJnkuVyhBLmhvdEhhc2hEYXRhKTskOShILGk5LDYyLHkpfShBPWcucWkuZGV2aWNlUGl4ZWxSYXRpbykmJgpBIT0xJiZveihILDY1LGcuQV8oQSkpO0E9a1QoKTtBIT09IiImJmcuU0UoSCw1NCxBKTtBPWh5KCk7aWYoQS5sZW5ndGg+MCl7eT1uZXcgZlU7Zm9yKGxldCB6PTA7ejxBLmxlbmd0aDt6Kyspe2xldCBDPW5ldyBKNjtnLlNFKEMsMSxBW3pdLmtleSk7RDIoQywyLEl2LFdIKEFbel0udmFsdWUpKTtOSCh5LDE1LEo2LEMpfSQ5KE4sZlUsNSx5KX1BNyhyLEgpO21UKE4pO0tQKEgpO09KKHIsSCk7UHooSCk7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJlptKEgpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJiFnLmwoInBhZ2VpZF9hc19oZWFkZXJfd2ViIikmJihyPW5ldyBTeSxnLlNFKHIsMyxnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpKSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihBPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoeT1nZShOLFN5LDMpfHxuZXcgU3ksCnI9TixBPWcuU0UoeSwxOCxBKSwkOShyLFN5LDMsQSkpO3I9SDtBPWcuQXIoIkRFVklDRSIsIiIpO2ZvcihsZXQgW3osQ11vZiBPYmplY3QuZW50cmllcyhnLml3KEEpKSlBPXosQT09PSJjYnJhbmQiP2cuU0UociwxMixDKTpBPT09ImNtb2RlbCI/Zy5TRShyLDEzLEMpOkE9PT0iY2JyIj9nLlNFKHIsODcsQyk6QT09PSJjYnJ2ZXIiP2cuU0Uociw4OCxDKTpBPT09ImNvcyI/Zy5TRShyLDE4LEMpOkE9PT0iY29zdmVyIj9nLlNFKHIsMTksQyk6QT09PSJjcGxhdGZvcm0iJiZLbihyLDQyLGhxaChDKSk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYob3ooSCw1NSxnLnlQKHdpbmRvdy5pbm5lcldpZHRoKSksb3ooSCw1NixnLnlQKHdpbmRvdy5pbm5lckhlaWdodCkpKTtOLlcoSCk7JDkoTCxZQSwxLE4pO2lmKEg9TFVbZV0pYTp7aWYoSC5FMSgpKU49MTtlbHNlIGlmKEguZ2V0UGxheWxpc3RJZCgpKU49MjtlbHNlIGJyZWFrIGE7JDkoTCxoNiw0LEgpO0g9Z2UoTCwKWUEsMSl8fG5ldyBZQTtyPWdlKEgsU3ksMyl8fG5ldyBTeTtBPW5ldyBBNjtBLnNldFRva2VuKGUpO0tuKEEsMSxOKTtOSChyLDEyLEE2LEEpOyQ5KEgsU3ksMyxyKX1kZWxldGUgTFVbZV07ZT1lPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO21yKCl8fElZKEwsMixoKTshZSYmKE49Zy5BcigiRVZFTlRfSUQiKSkmJihIPUtVKCkscj1uZXcgT3ksZy5TRShyLDEsTiksSVkociwyLEgpLCQ5KEwsT3ksNSxyKSk7c3koYik7aWYoZy5sKCJqc3BiX3NlcmlhbGl6ZV93aXRoX3dvcmtlciIpJiYoTj1LWCgpKSYmYi53cml0ZVRoZW5TZW5kKXtseS5zZXQoUHMse2NsaWVudDpXLHJlc29sdmU6RCxuZXR3b3JrbGVzc09wdGlvbnM6Yixpc0lzb2xhdGVkOnYsdXNlVlNTRW5kcG9pbnQ6ayxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOmUscmVxdWVzdHNPdXRzdGFuZGluZzp4fSk7Ti5wb3N0TWVzc2FnZSh7b3A6ImdlbEJhdGNoVG9TZXJpYWxpemUiLGJhdGNoUmVxdWVzdDpZdihMKSxjbGllbnRFdmVudHM6RywKa2V5OlBzfSk7UHMrKzticmVha31pZihHKXtOPVtdO2ZvcihIPTA7SDxHLmxlbmd0aDtIKyspdHJ5e04ucHVzaChuZXcgWnYoR1tIXSkpfWNhdGNoe090KG5ldyBnLlF4KCJUcmFuc3BvcnQgZmFpbGVkIHRvIGRlc2VyaWFsaXplICIrU3RyaW5nKEdbSF0pKSl9Rz1OfWVsc2UgRz1bXTtmb3IobGV0IHogb2YgRylOSChMLDMsWnYseik7Rz17c3RhcnRUaW1lOigwLGcuUikoKSx0aWNrczp7fSxpbmZvczp7fX07TD1MLmJZKCk7Ry50aWNrcy5nZWxqc3BjPSgwLGcuUikoKTtnLmwoImxvZ19qc3BiX3NlcmlhbGl6ZV9sYXRlbmN5IikmJkYzKCJnZWxfanNwYl9zZXJpYWxpemUiLEcse3NhbXBsZVJhdGU6LjF9KTtUcChMLFcsRCxiLHYsayxlLHgpfX07ClRwPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrLGgseD17dmFsdWU6MH0pe2s9cjQoayk7Yj1wVShiLGgsTD0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoTCl9KTsKeC52YWx1ZS0tO3gudmFsdWV8fEQoKX0sKCk9Pnt4LnZhbHVlLS07CngudmFsdWV8fEQoKX0sdik7CmIuaGVhZGVyc1siQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiO2IucG9zdEJvZHlGb3JtYXQ9IkpTUEIiO2IucG9zdEJvZHk9bjtnLklJKFcsaywiIixiKTskQT0hMX07CnN5PWZ1bmN0aW9uKG4pe2cubCgiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIikmJihuLndyaXRlVGhlblNlbmQ9ITEpfTsKcFU9ZnVuY3Rpb24obixXLEQsYix2KXtuPXtyZXRyeTohMCxvblN1Y2Nlc3M6RCxvbkVycm9yOmIsbmV0d29ya2xlc3NPcHRpb25zOm4sZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpXLFRVOiEhdixoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOmcubCgiY29tcHJlc3NfZ2VsIil8fGcubCgiY29tcHJlc3NfZ2VsX2xyIil9O21yKCkmJihuLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gbn07CmlHaj1mdW5jdGlvbihuLFcsRCl7bXIoKXx8KG4ucmVxdWVzdFRpbWVNcz1TdHJpbmcoVykpO2cubCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYobi51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFEJiYoVz1nLkFyKCJFVkVOVF9JRCIpKSYmKEQ9S1UoKSxuLnNlcmlhbGl6ZWRDbGllbnRFdmVudElkPXtzZXJpYWxpemVkRXZlbnRJZDpXLGNsaWVudENvdW50ZXI6U3RyaW5nKEQpfSl9OwpLVT1mdW5jdGlvbigpe3ZhciBuPWcuQXIoIkJBVENIX0NMSUVOVF9DT1VOVEVSIil8fDA7bnx8KG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKTtuKys7bj42NTUzNSYmKG49MSk7Zy5TSCgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLG4pO3JldHVybiBufTsKRXZDPWZ1bmN0aW9uKG4sVyxEKXtpZihELnZpZGVvSWQpdmFyIGI9IlZJREVPIjtlbHNlIGlmKEQucGxheWxpc3RJZCliPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47bi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPUQ7bi5jb250ZXh0PW4uY29udGV4dHx8e307bi5jb250ZXh0LnVzZXI9bi5jb250ZXh0LnVzZXJ8fHt9O24uY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOlcsc2NvcGU6Yn1dfTsKalo9ZnVuY3Rpb24obixXKXt2YXIgRD1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiKSxiPWJiKCJpbF9wYXlsb2FkX3NjcmFwaW5nIik7Yj0oYiE9PXZvaWQgMD9TdHJpbmcoYik6IiIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighRClpZihiKVV5PVtdLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmVuYWJsZVNjcmFwaW5nRm9yVGVzdCIsITApLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLFV5KSxnLkdiKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5wYXlsb2FkVG9TY3JhcGUiLCJ2aXN1YWxFbGVtZW50U2hvd24gdmlzdWFsRWxlbWVudEhpZGRlbiB2aXN1YWxFbGVtZW50QXR0YWNoZWQgc2NyZWVuQ3JlYXRlZCB2aXN1YWxFbGVtZW50R2VzdHVyZWQgdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIuc3BsaXQoIiAiKSksZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZFBheWxvYWRGcm9tQ2xpZW50RXZlbnRzRnVuY3Rpb24iKSwKZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuc2NyYXBlQ2xpZW50RXZlbnQiLCEwKTtlbHNlIHJldHVybjtEPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciKTtiPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnBheWxvYWRUb1NjcmFwZSIpO1cmJihXPVcucGF5bG9hZCwoVz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5nZXRTY3JhcGVkUGF5bG9hZEZyb21DbGllbnRFdmVudHNGdW5jdGlvbiIpLmJpbmQoVykoKSkmJkQucHVzaChXKSk7Vz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGImJmIubGVuZ3RoPj0xKWZvcihsZXQgdj0wO3Y8Yi5sZW5ndGg7disrKW4mJm4ucGF5bG9hZFtiW3ZdXSYmKFc/RC5wdXNoKG4ucGF5bG9hZCk6RC5wdXNoKChuPy5wYXlsb2FkKVtiW3ZdXSkpO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLEQpfTsKbXI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5sKCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciIpfHxnLmwoImxyX3VzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil9OwpEdj1mdW5jdGlvbihuLFcpe3JldHVybiBnLmwoInRyYW5zcG9ydF91c2Vfc2NoZWR1bGVyIik9PT0hMT9nLm4kKG4sVyk6Zy5sKCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIil8fGcubCgibHJfbG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpP2cuY0IoMCwoKT0+e0liKCkuY3VycmVudFN0YXRlPT09Im5vbmUiP24oKTpJYigpLmluc3RhbGwoe25vbmU6e2NhbGxiYWNrOm59fSl9LFcpOmcuY0IoMCxuLFcpfTsKZzQ9ZnVuY3Rpb24obil7Zy5sKCJ0cmFuc3BvcnRfdXNlX3NjaGVkdWxlciIpP3RhLnNPKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9OwpOMT1hc3luYyBmdW5jdGlvbihuKXtuPW4/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIFc9Zy53KG4sb3Z0KSxEPW4/LmhvdEhhc2hEYXRhLGI9Zy53KG4sZEUyKSx2PW4/LmNvbGRIYXNoRGF0YSxrPWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpO2smJihEJiYoVz9hd2FpdCBIeihrLEQsVyk6YXdhaXQgSHooayxEKSksdiYmKGI/YXdhaXQgZlAoayx2LGIpOmF3YWl0IGZQKGssdikpKTtXPW4/LnJhd0ZpbmNoU3RhdGljQ29uZmlnR3JvdXA7KG49bj8uZmluY2hTdGF0aWNIYXNoRGF0YSk/KEQ9Zy5xaigpLnJlc29sdmUoZy5ocCh6X3QpKSk/YXdhaXQgRC5OVSh7Y29uZmlnOld8fHt9LFlVOm58fCIifSk6KFd8fG4pJiZaRShuZXcgZy5ReCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSBpcyBub3QgcHJlc2VudCwgYnV0IEZpbmNoIGNvbmZpZyBkYXRhIGlzIHByZXNlbnQuIikpOlcmJlpFKG5ldyBnLlF4KCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFiPWZ1bmN0aW9uKG4sVz0yMDApe3JldHVybiBuP1c9PT0zMDA/R1U6bFJDOlc9PT0zMDA/dDY6VGdpfTsKRjQ9ZnVuY3Rpb24obil7aWYoZy5sKCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7bj15NFtufHwiIl07dmFyIFc9Zy5xaigpLnJlc29sdmUoZy5ocChnLlgzKSk/LkxYKCk/LmxvZ2dpbmdIb3RDb25maWc/LmV2ZW50TG9nZ2luZ0NvbmZpZz8ucGF5bG9hZFBvbGljaWVzO2lmKFcpZm9yKGxldCBEPTA7RDxXLmxlbmd0aDtEKyspaWYoV1tEXS5wYXlsb2FkTnVtYmVyPT09bilyZXR1cm4gV1tEXX19OwpCST1mdW5jdGlvbihuKXtuPU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgVyBvZiBuKWlmKHk0W1ddKXJldHVybiBXfTsKd0U9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07ClZSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ImdlbERlYnVnZ2luZ0V2ZW50Inx8bj09PSJ3YXRjaFRpbWVTZWdtZW50In07CnI0PWZ1bmN0aW9uKG49ITEpe3JldHVybiBuJiZnLmwoInZzc190aHJvdWdoX2dlbF92aWRlb19zdGF0cyIpPyJ2aWRlb19zdGF0cyI6ImxvZ19ldmVudCJ9Owp1Uj1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj17fSxrPU1hdGgucm91bmQoYi50aW1lc3RhbXB8fCgwLGcuUikoKSk7di5ldmVudFRpbWVNcz1rPE51bWJlci5NQVhfU0FGRV9JTlRFR0VSP2s6MDt2W25dPVc7bj1nLnZJKCk7di5jb250ZXh0PXtsYXN0QWN0aXZpdHlNczpTdHJpbmcoYi50aW1lc3RhbXB8fCFpc0Zpbml0ZShuKT8tMTpuKX07Yi5zZXF1ZW5jZUdyb3VwJiYhZy5sKCJ3ZWJfZ2VsX3NlcXVlbmNlX2luZm9fa2lsbHN3aXRjaCIpJiYobj12LmNvbnRleHQsVz1iLnNlcXVlbmNlR3JvdXAsVz17aW5kZXg6RXkoVyksZ3JvdXBLZXk6V30sbi5zZXF1ZW5jZT1XLGIuZW5kT2ZTZXF1ZW5jZSYmZGVsZXRlIGlSW2Iuc2VxdWVuY2VHcm91cF0pO2cubCgid2ViX3RhZ19hdXRvbWF0ZWRfbG9nX2V2ZW50cyIpJiYodi5jb250ZXh0LmF1dG9tYXRlZExvZ0V2ZW50U291cmNlPWIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpOyhiLnNlbmRJc29sYXRlZFBheWxvYWQ/TWo6T0d4KSh7ZW5kcG9pbnQ6ImxvZ19ldmVudCIsCnBheWxvYWQ6dixjdHRBdXRoSW5mbzpiLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246Yi5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxEKX07Cm92PWZ1bmN0aW9uKG49ITEpe25VKHZvaWQgMCxuKX07CkV5PWZ1bmN0aW9uKG4pe2lSW25dPW4gaW4gaVI/aVJbbl0rMTowO3JldHVybiBpUltuXX07CmcuelU9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPWcuZDQ7Zy5BcigieXRMb2dnaW5nRXZlbnRzRGVmYXVsdERpc2FibGVkIiwhMSkmJmcuZDQ9PT1nLmQ0JiYoYj1udWxsKTt1UihuLFcsYixEKX07ClRVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbFIoe3RyYWNraW5nUGFyYW1zOm59KX07Cmp5PWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD1qelorKztyZXR1cm4gbmV3IGxSKHt2ZVR5cGU6bix2ZUNvdW50ZXI6aCxlbGVtZW50SW5kZXg6RCxkYXRhRWxlbWVudDpXLHlvdXR1YmVEYXRhOmIsanNwYllvdXR1YmVEYXRhOnYsbG9nZ2luZ0RpcmVjdGl2ZXM6a30pfTsKQ1U9ZnVuY3Rpb24obj0wKXtyZXR1cm4gZy5BcigiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIse30pW25dfTsKQ1dpPWZ1bmN0aW9uKG4sVz0wKXt2YXIgRD1nLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7RHx8KEQ9e30sZy5TSCgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsRCkpO0RbV109bn07CkJzPWZ1bmN0aW9uKG49MCl7cmV0dXJuIG49PT0wPyJST09UX1ZFX1RZUEUiOmBST09UX1ZFX1RZUEUuJHtufWB9OwpGUj1mdW5jdGlvbihuPTApe3JldHVybiBnLkFyKEJzKG4pKX07Cnc0PWZ1bmN0aW9uKG49MCl7cmV0dXJuKG49RlIobikpP25ldyBsUih7dmVUeXBlOm4seW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTsKTTE9ZnVuY3Rpb24oKXt2YXIgbj1nLkFyKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIpO258fChuPXt9LGcuU0goImNzbi10by1jdHQtYXV0aC1pbmZvIixuKSk7cmV0dXJuIG59OwpCZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhnLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSkpLmZpbHRlcihuPT5uIT09dm9pZCAwKX07CmcuUnY9ZnVuY3Rpb24obj0wKXtuPUNVKG4pO2lmKCFuJiYhZy5BcigiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO258fChuPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIG4/bjpudWxsfTsKd0hDPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBPYmplY3QudmFsdWVzKEZfVSkpaWYoZy5SdihXKT09PW4pcmV0dXJuITA7cmV0dXJuITF9OwpNV3c9ZnVuY3Rpb24obixXLEQpe3ZhciBiPU0xKCk7KEQ9Zy5SdihEKSkmJmRlbGV0ZSBiW0RdO1cmJihiW25dPVcpfTsKUTQ9ZnVuY3Rpb24obil7cmV0dXJuIE0xKClbbl19Owpjcz1mdW5jdGlvbihuLFcsRD0wLGIpe2lmKG4hPT1DVShEKXx8VyE9PWcuQXIoQnMoRCkpKWlmKE1XdyhuLGIsRCksQ1dpKG4sRCksZy5TSChCcyhEKSxXKSxXPSgpPT57c2V0VGltZW91dCgoKT0+e24mJmcuelUoImZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkIix7Y2xpZW50RG9jdW1lbnROb25jZTpWNCxjbGllbnRTY3JlZW5Ob25jZTpufSl9LDApfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdyl0cnl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShXKX1jYXRjaCh2KXtXKCl9ZWxzZSBXKCl9OwpuND1mdW5jdGlvbihuLFcpe3ZhciBEPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pLGI9Zy5JUCh3aW5kb3cubG9jYXRpb24uaHJlZik7YiYmRC5wdXNoKGIpO2I9Zy5JUChuKTtpZihnLmpqKEQsYil8fCFiJiZnLmpVKG4sIi8iKSlpZihEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxnLk5VKEQsbiksbj1ELmhyZWYpaWYobj1tVyhuKSxuPUtwKG4pKWlmKCFXLmNzbiYmKFcuaXRjdHx8Vy52ZWQpJiYoVz1PYmplY3QuYXNzaWduKHtjc246Zy5SdigpfSxXKSksdil7dmFyIHY9cGFyc2VJbnQodiwxMCk7aXNGaW5pdGUodikmJnY+MCYmYXYobixXLHYpfWVsc2UgYXYobixXKX07CmF2PWZ1bmN0aW9uKG4sVyxEKXtuPVdhKG4pO1c9Vz95RyhXKToiIjtEPUR8fDU7Zy5hSygpJiZJSyhuLFcsRCl9OwpXYT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgUl9NKW49VDUobixXKTtyZXR1cm4iU1QtIitzVChuKS50b1N0cmluZygzNil9OwpnLkRwPWZ1bmN0aW9uKG4pe2lmKG4uc2ltcGxlVGV4dClyZXR1cm4gbi5zaW1wbGVUZXh0O2lmKG4ucnVucyl7bGV0IFc9W107Zm9yKGxldCBEIG9mIG4ucnVucylELnRleHQmJlcucHVzaChELnRleHQpO3JldHVybiBXLmpvaW4oIiIpfXJldHVybiIifTsKZy5iZz1mdW5jdGlvbihuKXtpZihuLnNpbXBsZVRleHQpcmV0dXJuIG49ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobi5zaW1wbGVUZXh0KSxuO3ZhciBXPVtdO2lmKG4ucnVucylmb3IobGV0IHg9MDt4PG4ucnVucy5sZW5ndGg7eCsrKXt2YXIgRD1uLnJ1bnNbeF07aWYoRC50ZXh0KXt2YXIgYj1XLHY9Yi5wdXNoLGs9bnVsbDt2YXIgaD1ELnRleHQ7RC5ib2xkJiYoaz1nLmRtKCJCIixudWxsLGt8fGgpKTtELml0YWxpY3MmJihrPWcuZG0oIkkiLG51bGwsa3x8aCkpO0Quc3RyaWtldGhyb3VnaCYmKGs9Zy5kbSgiU1RSSUtFIixudWxsLGt8fGgpKTtELm5hdmlnYXRpb25FbmRwb2ludCYmRC5uYXZpZ2F0aW9uRW5kcG9pbnQudXJsRW5kcG9pbnQmJihEPUQubmF2aWdhdGlvbkVuZHBvaW50LnVybEVuZHBvaW50LGs9Zy5kbSgiQSIsbnVsbCxrfHxoKSxnLk5VKGssRC51cmwpLEQudGFyZ2V0PT0iVEFSR0VUX05FV19XSU5ET1ciJiYoay50YXJnZXQ9Il9ibGFuayIpKTtoPWt8fGcuZG0oIlNQQU4iLApudWxsLGgpO3YuY2FsbChiLGgpfX1yZXR1cm4gVy5sZW5ndGg9PTE/V1swXTpnLmRtKCJTUEFOIixudWxsLFcpfTsKUXoxPWZ1bmN0aW9uKG4pe2lmKG4ubmFtZT09PSJKYXZhRXhjZXB0aW9uIilyZXR1cm4hMDtuPW4uc3RhY2s7cmV0dXJuIG4uaW5jbHVkZXMoImNocm9tZTovLyIpfHxuLmluY2x1ZGVzKCItZXh0ZW5zaW9uOi8vIil8fG4uaW5jbHVkZXMoIndlYmtpdC1tYXNrZWQtdXJsOi8vIil9OwpWV3g9ZnVuY3Rpb24obil7aWYoIW4uc3RhY2spcmV0dXJuITA7dmFyIFc9IW4uc3RhY2suaW5jbHVkZXMoIlxuIik7cmV0dXJuIFcmJm4uc3RhY2suaW5jbHVkZXMoIkVycm9yVHlwZTogIil8fFcmJm4uc3RhY2suaW5jbHVkZXMoIkFub255bW91cyBmdW5jdGlvbiAoVW5rbm93biBzY3JpcHQiKXx8bi5zdGFjay50b0xvd2VyQ2FzZSgpPT09Im5vdCBhdmFpbGFibGUifHxuLmZpbGVOYW1lPT09InVzZXItc2NyaXB0Inx8bi5maWxlTmFtZS5zdGFydHNXaXRoKCJ1c2VyLXNjcmlwdDoiKT8hMDohMX07CmhQPWZ1bmN0aW9uKCl7aWYoIXZhKXt2YXIgbj12YT1uZXcgY3ZoO24uTjkubGVuZ3RoPTA7bi5rby5sZW5ndGg9MDtrQihuLGFSUyl9cmV0dXJuIHZhfTsKa0I9ZnVuY3Rpb24obixXKXtXLk45JiZuLk45LnVuc2hpZnQuYXBwbHkobi5OOSxXLk45KTtXLmtvJiZuLmtvLnVuc2hpZnQuYXBwbHkobi5rbyxXLmtvKX07Cm45dz1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aCxEPTAsYj0oKT0+bi5jaGFyQ29kZUF0KEQrKyk7CmRve3ZhciB2PXhCKGIpO2lmKHY9PT1JbmZpbml0eSlicmVhaztsZXQgaz12Pj4zO3N3aXRjaCh2Jjcpe2Nhc2UgMDp2PXhCKGIpO2lmKGs9PT0yKXJldHVybiB2O2JyZWFrO2Nhc2UgMTppZihrPT09MilyZXR1cm47RCs9ODticmVhaztjYXNlIDI6dj14QihiKTtpZihrPT09MilyZXR1cm4gbi5zdWJzdHIoRCx2KTtEKz12O2JyZWFrO2Nhc2UgNTppZihrPT09MilyZXR1cm47RCs9NDticmVhaztkZWZhdWx0OnJldHVybn19d2hpbGUoRDxXKX07CnhCPWZ1bmN0aW9uKG4pe3ZhciBXPW4oKSxEPVcmMTI3O2lmKFc8MTI4KXJldHVybiBEO1c9bigpO0R8PShXJjEyNyk8PDc7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7RHw9KFcmMTI3KTw8MTQ7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7cmV0dXJuIFc8MTI4P0R8KFcmMTI3KTw8MjE6SW5maW5pdHl9OwpnSz1mdW5jdGlvbihuLFcsRCxiKXtpZihuKWlmKEFycmF5LmlzQXJyYXkobikpe3ZhciB2PWI7Zm9yKGI9MDtiPG4ubGVuZ3RoJiYhKG5bYl0mJih2Kz1MNChiLG5bYl0sVyxEKSx2PjUwMCkpO2IrKyk7Yj12fWVsc2UgaWYodHlwZW9mIG49PT0ib2JqZWN0Iilmb3IodiBpbiBuKXtpZihuW3ZdKXthOnt2YXIgaz12O3ZhciBoPW5bdl0seD1XLEw9RDtpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxrIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZrIT09InRyYWNraW5nUGFyYW1zIil7az0wO2JyZWFrIGF9az0oaD1uOXcoYXRvYihoLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSkpP0w0KGAke2t9LnZlYCxoLHgsTCk6MH1iKz1rO2IrPUw0KHYsblt2XSxXLEQpO2lmKGI+NTAwKWJyZWFrfX1lbHNlIERbV109ZWkobiksYis9RFtXXS5sZW5ndGg7ZWxzZSBEW1ddPWVpKG4pLGIrPURbV10ubGVuZ3RoO3JldHVybiBifTsKTDQ9ZnVuY3Rpb24obixXLEQsYil7RCs9YC4ke259YDtuPWVpKFcpO2JbRF09bjtyZXR1cm4gRC5sZW5ndGgrbi5sZW5ndGh9OwplaT1mdW5jdGlvbihuKXt0cnl7cmV0dXJuKHR5cGVvZiBuPT09InN0cmluZyI/bjpTdHJpbmcoSlNPTi5zdHJpbmdpZnkobikpKS5zdWJzdHIoMCw1MDApfWNhdGNoKFcpe3JldHVybmB1bmFibGUgdG8gc2VyaWFsaXplICR7dHlwZW9mIG59ICgke1cubWVzc2FnZX0pYH19OwpXTlU9ZnVuY3Rpb24obixXPXt9KXtpZihuPW4uelope2xldCBEPW4uSngsYj1uLmQ2O249W1siY29tcG9uZW50U3RhY2siLG4ubUldLFsid2l6VGFnTmFtZSIsbi50YWdOYW1lXSxbIndpek93bmVyVHJhY2UiLG4uRHU/LmpvaW4oIiA+ICIpXSxbImVycm9yU2V2ZXJpdHkiLEQ/LnRvU3RyaW5nKCldLFsid2l6RmVhdHVyZUZsYWdzIixiP09iamVjdC5lbnRyaWVzKGIpLmpvaW4oIlxuIik6dm9pZCAwXV07Zm9yKGxldCBbdixrXW9mIG4pbj1rLG4hPT12b2lkIDAmJihXW3ZdPW4pfXJldHVybiBXfTsKZy5xZz1mdW5jdGlvbihuKXtnLlhqKG4pfTsKZy5HcT1mdW5jdGlvbihuKXtnLlhqKG4sIldBUk5JTkciKX07CmcuWGo9ZnVuY3Rpb24obixXPSJFUlJPUiIpe3ZhciBEPXt9O0QubmFtZT1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSk7RC52ZXJzaW9uPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7REh0KG4sRCxXKX07CkRIdD1mdW5jdGlvbihuLFcsRD0iRVJST1IiKXtpZihuKXtuLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZuLmxldmVsJiYoRD1uLmxldmVsKTtpZihnLmwoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBiPVc7aWYoIWI/LmNvbXBvbmVudFN0YWNrKXt2YXIgdj1uLnpaPy5tSTt2JiYoYnx8KGI9e30pLGIuY29tcG9uZW50U3RhY2s9dil9Vz1ifHxXfWVsc2UgVz1XTlUobixXKSxiPW4uelo/Lkp4LGIhPT12b2lkIDAmJkQhPT0iSUdOT1JFRCImJihEPWI+PTM/IkVSUk9SIjoiV0FSTklORyIpO2lmKGcubCgiY29uc29sZV9sb2dfanNfZXhjZXB0aW9ucyIpfHxbInRlc3QiLCJkZXYiLCJhdXRvcHVzaCIsInN0YWdpbmciXS5pbmNsdWRlcyhnLkFyKCJTRVJWRVJfVkVSU0lPTiIpKSliPVtdLGIucHVzaChgTmFtZTogJHtuLm5hbWV9YCksYi5wdXNoKGBNZXNzYWdlOiAke24ubWVzc2FnZX1gKSxuLmhhc093blByb3BlcnR5KCJwYXJhbXMiKSYmYi5wdXNoKGBFcnJvciBQYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkobi5wYXJhbXMpfWApLApuLmhhc093blByb3BlcnR5KCJhcmdzIikmJmIucHVzaChgRXJyb3IgYXJnczogJHtKU09OLnN0cmluZ2lmeShuLmFyZ3MpfWApLGIucHVzaChgRmlsZSBuYW1lOiAke24uZmlsZU5hbWV9YCksYi5wdXNoKGBTdGFja3RyYWNlOiAke24uc3RhY2t9YCksYj1iLmpvaW4oIlxuIiksd2luZG93LmNvbnNvbGUubG9nKGIsbik7aWYoISh0UD49NSkpe2I9W107Zm9yKGsgb2YgYm4yKXRyeXtrKCkmJmIucHVzaChrKCkpfWNhdGNoKEEpe312YXIgaz1iO2s9Wy4uLnY5MiwuLi5rXTt2YXIgaD1yaWIobik7Yj1oLm1lc3NhZ2V8fCJVbmtub3duIEVycm9yIjt2PWgubmFtZXx8IlVua25vd25FcnJvciI7dmFyIHg9aC5zdGFja3x8bi5TdHx8Ik5vdCBhdmFpbGFibGUiO2lmKHguc3RhcnRzV2l0aChgJHt2fTogJHtifWApKXt2YXIgTD14LnNwbGl0KCJcbiIpO0wuc2hpZnQoKTt4PUwuam9pbigiXG4iKX1MPWgubGluZU51bWJlcnx8Ik5vdCBhdmFpbGFibGUiO2g9aC5maWxlTmFtZXx8Ik5vdCBhdmFpbGFibGUiOwpsZXQgSD0wO2lmKG4uaGFzT3duUHJvcGVydHkoImFyZ3MiKSYmbi5hcmdzJiZuLmFyZ3MubGVuZ3RoKWZvcih2YXIgZT0wO2U8bi5hcmdzLmxlbmd0aCYmIShIPWdLKG4uYXJnc1tlXSxgcGFyYW1zLiR7ZX1gLFcsSCksSD49NTAwKTtlKyspO2Vsc2UgaWYobi5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJm4ucGFyYW1zKXtsZXQgQT1uLnBhcmFtcztpZih0eXBlb2Ygbi5wYXJhbXM9PT0ib2JqZWN0Iilmb3IoZSBpbiBBKXtpZighQVtlXSljb250aW51ZTtsZXQgeT1gcGFyYW1zLiR7ZX1gLFQ9ZWkoQVtlXSk7V1t5XT1UO0grPXkubGVuZ3RoK1QubGVuZ3RoO2lmKEg+NTAwKWJyZWFrfWVsc2UgVy5wYXJhbXM9ZWkoQSl9aWYoay5sZW5ndGgpZm9yKGU9MDtlPGsubGVuZ3RoJiYhKEg9Z0soa1tlXSxgcGFyYW1zLmNvbnRleHQuJHtlfWAsVyxIKSxIPj01MDApO2UrKyk7bmF2aWdhdG9yLnZlbmRvciYmIVcuaGFzT3duUHJvcGVydHkoInZlbmRvciIpJiYoV1siZGV2aWNlLnZlbmRvciJdPQpuYXZpZ2F0b3IudmVuZG9yKTtlPXttZXNzYWdlOmIsbmFtZTp2LGxpbmVOdW1iZXI6TCxmaWxlTmFtZTpoLHN0YWNrOngscGFyYW1zOlcsc2FtcGxlV2VpZ2h0OjF9O1c9TnVtYmVyKG4uY29sdW1uTnVtYmVyKTtpc05hTihXKXx8KGUubGluZU51bWJlcj1gJHtlLmxpbmVOdW1iZXJ9OiR7V31gKTtpZihuLmxldmVsPT09IklHTk9SRUQiKXZhciBHPTA7ZWxzZSBhOntuPWhQKCk7Zm9yKEcgb2Ygbi5OOSlpZihlLm1lc3NhZ2UmJmUubWVzc2FnZS5tYXRjaChHLktSKSl7Rz1HLndlaWdodDticmVhayBhfWZvcih2YXIgciBvZiBuLmtvKWlmKHIuY2FsbGJhY2soZSkpe0c9ci53ZWlnaHQ7YnJlYWsgYX1HPTF9ZS5zYW1wbGVXZWlnaHQ9RztHPWU7Zm9yKHZhciBOIG9mIGskYil7aWYoIU4uWXpbRy5uYW1lXSljb250aW51ZTtyPU4uWXpbRy5uYW1lXTtmb3IobGV0IEEgb2Ygcil7cj1HLm1lc3NhZ2UubWF0Y2goQS53Yik7aWYoIXIpY29udGludWU7Ry5wYXJhbXNbInBhcmFtcy5lcnJvci5vcmlnaW5hbCJdPQpyWzBdO249QS5ncm91cHM7ZT17fTtmb3IoVz0wO1c8bi5sZW5ndGg7VysrKWVbbltXXV09cltXKzFdLEcucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHtuW1ddfWBdPXJbVysxXTtHLm1lc3NhZ2U9Ti5HMShlKTticmVha319Ry5wYXJhbXN8fChHLnBhcmFtcz17fSk7Tj1oUCgpO0cucGFyYW1zWyJwYXJhbXMuZXJyb3JTZXJ2aWNlU2lnbmF0dXJlIl09YG1zZz0ke04uTjkubGVuZ3RofSZjYj0ke04ua28ubGVuZ3RofWA7Ry5wYXJhbXNbInBhcmFtcy5zZXJ2aWNlV29ya2VyIl09ImZhbHNlIjtnLnFpLmRvY3VtZW50JiZnLnFpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihHLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3ICRCKHJLLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT0kQiYmKEcucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09InRydWUiKTt3aW5kb3cueXRlcnImJgp0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKEcpO0cuc2FtcGxlV2VpZ2h0PT09MHx8SVUuaGFzKEcubWVzc2FnZSl8fGhUUyhHLEQpfX19OwpoVFM9ZnVuY3Rpb24obixXPSJFUlJPUiIpe2lmKFc9PT0iRVJST1IiKXtTaS5XSigiaGFuZGxlRXJyb3IiLG4pO2lmKGcubCgicmVjb3JkX2FwcF9jcmFzaGVkX3dlYiIpJiZBUD09PTAmJm4uc2FtcGxlV2VpZ2h0PT09MSl7QVArKzt2YXIgRD17YXBwQ3Jhc2hUeXBlOiJBUFBfQ1JBU0hfVFlQRV9CUkVBS1BBRCJ9O2cubCgicmVwb3J0X2NsaWVudF9lcnJvcl93aXRoX2FwcF9jcmFzaF9rcyIpfHwoRC5zeXN0ZW1IZWFsdGg9e2NyYXNoRGF0YTp7Y2xpZW50RXJyb3I6e2xvZ01lc3NhZ2U6e21lc3NhZ2U6bi5tZXNzYWdlfX19fSk7Zy56VSgiYXBwQ3Jhc2hlZCIsRCl9eEhNKyt9ZWxzZSBXPT09IldBUk5JTkciJiZTaS5XSigiaGFuZGxlV2FybmluZyIsbik7aWYoZy5sKCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciKSl7RD17fTtiOntmb3IoYiBvZiBMTkMpaWYoZy51YihiLnRvTG93ZXJDYXNlKCkpKXt2YXIgYj0hMDticmVhayBifWI9ITF9aWYoYilEPXZvaWQgMDtlbHNle3ZhciB2PQp7c3RhY2tUcmFjZTpuLnN0YWNrfTtuLmZpbGVOYW1lJiYodi5maWxlbmFtZT1uLmZpbGVOYW1lKTtiPW4ubGluZU51bWJlciYmbi5saW5lTnVtYmVyLnNwbGl0P24ubGluZU51bWJlci5zcGxpdCgiOiIpOltdO2IubGVuZ3RoIT09MCYmKGIubGVuZ3RoIT09MXx8aXNOYU4oTnVtYmVyKGJbMF0pKT9iLmxlbmd0aCE9PTJ8fGlzTmFOKE51bWJlcihiWzBdKSl8fGlzTmFOKE51bWJlcihiWzFdKSl8fCh2LmxpbmVOdW1iZXI9TnVtYmVyKGJbMF0pLHYuY29sdW1uTnVtYmVyPU51bWJlcihiWzFdKSk6di5saW5lTnVtYmVyPU51bWJlcihiWzBdKSk7Yj17bGV2ZWw6IkVSUk9SX0xFVkVMX1VOS05PV04iLG1lc3NhZ2U6bi5tZXNzYWdlLGVycm9yQ2xhc3NOYW1lOm4ubmFtZSxzYW1wbGVXZWlnaHQ6bi5zYW1wbGVXZWlnaHR9O1c9PT0iRVJST1IiP2IubGV2ZWw9IkVSUk9SX0xFVkVMX0VSUk9SIjpXPT09IldBUk5JTkciJiYoYi5sZXZlbD0iRVJST1JfTEVWRUxfV0FSTk5JTkciKTt2PXtpc09iZnVzY2F0ZWQ6ITAsCmJyb3dzZXJTdGFja0luZm86dn07RC5wYWdlVXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmO0Qua3ZQYWlycz1bXTtnLkFyKCJGRVhQX0VYUEVSSU1FTlRTIikmJihELmV4cGVyaW1lbnRJZHM9Zy5BcigiRkVYUF9FWFBFUklNRU5UUyIpKTt2YXIgaz1nLkFyKCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighbXkoIndlYl9kaXNhYmxlX2dlbF9zdHBfZWNhdGNoZXJfa2lsbHN3aXRjaCIpJiZrKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhrKSlELmt2UGFpcnMucHVzaCh7a2V5OmgsdmFsdWU6U3RyaW5nKGtbaF0pfSk7aWYoaD1uLnBhcmFtcylmb3IodmFyIHggb2YgT2JqZWN0LmtleXMoaCkpRC5rdlBhaXJzLnB1c2goe2tleTpgY2xpZW50LiR7eH1gLHZhbHVlOlN0cmluZyhoW3hdKX0pO2lmKHg9bi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZClELnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoeCk7eD1nLkFyKCJTRVJWRVJfTkFNRSIpO2g9Zy5BcigiU0VSVkVSX1ZFUlNJT04iKTsKeCYmaCYmKEQua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTp4fSksRC5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KHg9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiZELmt2UGFpcnMucHVzaCh7a2V5OiJjbGllbnQucGxheWVyLnZlcnNpb24iLHZhbHVlOnh9KTtEPXtlcnJvck1ldGFkYXRhOkQsc3RhY2tUcmFjZTp2LGxvZ01lc3NhZ2U6Yn19aWYoRCYmKGcuelUoImNsaWVudEVycm9yIixEKSxXPT09IkVSUk9SInx8Zy5sKCJlcnJvcnNfZmx1c2hfZ2VsX2Fsd2F5c19raWxsc3dpdGNoIikpKWE6e2lmKGcubCgid2ViX2ZwX3ZpYV9qc3BiIikpe0Q9bTE7bTE9W107aWYoRClmb3IodmFyIEwgb2YgRCl1UihMLnBheWxvYWROYW1lLEwucGF5bG9hZCxnLmQ0LEwub3B0aW9ucyk7b3YoITApO2lmKCFnLmwoIndlYl9mcF92aWFfanNwYl9hbmRfanNvbiIpKWJyZWFrIGF9b3YoKX19aWYoIWcubCgic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciKSl7TD0Kbi5wYXJhbXN8fHt9O1c9e3VybFBhcmFtczp7YToibG9nZXJyb3IiLHQ6ImpzZXJyb3IiLHR5cGU6bi5uYW1lLG1zZzpuLm1lc3NhZ2Uuc3Vic3RyKDAsMjUwKSxsaW5lOm4ubGluZU51bWJlcixsZXZlbDpXLCJjbGllbnQubmFtZSI6TC5uYW1lfSxwb3N0UGFyYW1zOnt1cmw6Zy5BcigiUEFHRV9OQU1FIix3aW5kb3cubG9jYXRpb24uaHJlZiksZmlsZTpuLmZpbGVOYW1lfSxtZXRob2Q6IlBPU1QifTtMLnZlcnNpb24mJihXWyJjbGllbnQudmVyc2lvbiJdPUwudmVyc2lvbik7aWYoVy5wb3N0UGFyYW1zKXtuLnN0YWNrJiYoVy5wb3N0UGFyYW1zLnN0YWNrPW4uc3RhY2spO2Zvcih2YXIgZSBvZiBPYmplY3Qua2V5cyhMKSlXLnBvc3RQYXJhbXNbYGNsaWVudC4ke2V9YF09TFtlXTtpZihlPWcuQXIoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgRyBvZiBPYmplY3Qua2V5cyhlKSlXLnBvc3RQYXJhbXNbR109ZVtHXTsoRz1nLkFyKCJMQVZBX1ZFUlNJT04iKSkmJgooVy5wb3N0UGFyYW1zWyJsYXZhLnZlcnNpb24iXT1HKTtHPWcuQXIoIlNFUlZFUl9OQU1FIik7ZT1nLkFyKCJTRVJWRVJfVkVSU0lPTiIpO0cmJmUmJihXLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09RyxXLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09ZSk7KEc9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiYoVy5wb3N0UGFyYW1zWyJjbGllbnQucGxheWVyLnZlcnNpb24iXT1HKX1nLmVkKGAke2cuQXIoIkVDQVRDSEVSX1JFUE9SVF9IT1NUIiwiIil9L2Vycm9yXzIwNGAsVyl9dHJ5e0lVLmFkZChuLm1lc3NhZ2UpfWNhdGNoKHIpe310UCsrfTsKSzQ9ZnVuY3Rpb24obiwuLi5XKXtuLmFyZ3N8fChuLmFyZ3M9W10pO0FycmF5LmlzQXJyYXkobi5hcmdzKSYmbi5hcmdzLnB1c2goLi4uVyl9OwpPYT1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVc9VyozMStuLmNoYXJDb2RlQXQoRCksRDxuLmxlbmd0aC0xJiYoVyU9MHg4MDAwMDAwMDAwMDApO3JldHVybiBXJTFFNX07Cmc5aT1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCl7dmFyIGU9ZVRoKCk7az1uZXcgbFIoe3ZlVHlwZTpXLHlvdXR1YmVEYXRhOmssanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO0w9UGEoe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOkx9LGUpO3YmJihMLmN0dEF1dGhJbmZvPXYpO3Y9e2NzbjplLHBhZ2VWZTprLmdldEFzSnNvbigpfTtnLmwoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmeCYmeC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKHYuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9eC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7RCYmRC52aXN1YWxFbGVtZW50Pyh2LmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOkQuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpELnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJih2LmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6RCYmZy5HcShuZXcgZy5ReCgibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKVykpO2ImJih2LmNsb25lQ3NuPWIpO24/dVIoInNjcmVlbkNyZWF0ZWQiLHYsbixMKTpnLnpVKCJzY3JlZW5DcmVhdGVkIix2LEwpO2w5KFRvLG5ldyBacChlKSk7VWEuY2xlYXIoKTt5NS5jbGVhcigpO0VhLmNsZWFyKCk7cmV0dXJuIGV9Owp1Zz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7aWcobixXLEQsW2JdLHYsayl9OwppZz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7T2JqZWN0LmFzc2lnbihrLFBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwfSxXKSk7Zm9yKGxldCB4IG9mIGIpe3ZhciBoPXguZ2V0QXNKc29uKCk7KGcuR0YoaCl8fCFoLnRyYWNraW5nUGFyYW1zJiYhaC52ZVR5cGUpJiZnLkdxKEVycm9yKCJDaGlsZCBWRSBsb2dnZWQgd2l0aCBubyBkYXRhIikpO2lmKGcubCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7bGV0IEw9b1UoeCxXKTtpZihoLnZlVHlwZSYmIXk1LmhhcyhMKSYmIUVhLmhhcyhMKSYmIXYpe2lmKCFnLmwoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxVYS5zaXplPDFFMyl7VWEuc2V0KEwsW24sVyxELHhdKTtyZXR1cm59Zy5sKCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiKSYmVWEuc2l6ZT4xRTMmJmcuR3EobmV3IGcuUXgoIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPW9VKEQsVyk7VWEuaGFzKGgpP2RLKEQsVyk6RWEuc2V0KGgsCiEwKX19Yj1iLmZpbHRlcih4PT57eC5jc24hPT1XPyh4LmNzbj1XLHg9ITApOng9ITE7cmV0dXJuIHh9KTsKRD17Y3NuOlcscGFyZW50VmU6RC5nZXRBc0pzb24oKSxjaGlsZFZlczpnLmlfKGIseD0+eC5nZXRBc0pzb24oKSl9OwpXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGssRCk6bj91UigidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELG4sayk6Zy56VSgidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELGspfTsKWFdqPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe2xnKEQsVyk7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpofSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZToxfTt2JiYoRC5jbGllbnREYXRhPXYpO1c9PT0iVU5ERUZJTkVEX0NTTiI/enEoInZpc3VhbEVsZW1lbnRTaG93biIsYixEKTpuP3VSKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsYil9OwpUcT1mdW5jdGlvbihuLFcsRCxiPSExKXt2YXIgdj1iPzE2Ojg7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmIsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZTp2fTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRIaWRkZW4iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixELGIpfTsKcVZaPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtqaShuLFcsRCxiLGspfTsKamk9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12b2lkIDA7bGcoRCxXKTtrPWt8fCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIjt2PVBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZ9LFcpO0Q9e2NzbjpXLHZlOkQuZ2V0QXNKc29uKCksZ2VzdHVyZVR5cGU6a307YiYmKEQuY2xpZW50RGF0YT1iKTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50R2VzdHVyZWQiLHYsRCk6bj91UigidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELG4sdik6Zy56VSgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELHYpfTsKRyRqPWZ1bmN0aW9uKCl7dmFyIG49TWIoMTYpO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVcucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KG5bRF0mNjMpKTtyZXR1cm4gVy5qb2luKCIiKX07CnpxPWZ1bmN0aW9uKG4sVyxEKXtDNC5wdXNoKHtwYXlsb2FkTmFtZTpuLHBheWxvYWQ6RCxwUDp2b2lkIDAsb3B0aW9uczpXfSk7QmF8fChCYT1GME0oKSl9OwpDNHc9ZnVuY3Rpb24obil7aWYoQzQpe2ZvcihsZXQgVyBvZiBDNClXLnBheWxvYWQmJihXLnBheWxvYWQuY3NuPW4uY3NuLGcuelUoVy5wYXlsb2FkTmFtZSxXLnBheWxvYWQsVy5vcHRpb25zKSk7QzQubGVuZ3RoPTB9QmE9MH07Cm9VPWZ1bmN0aW9uKG4sVyl7cmV0dXJuYCR7bi5nZXRBc0pzb24oKS52ZVR5cGV9JHtuLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke1d9YH07CmxnPWZ1bmN0aW9uKG4sVyl7aWYoZy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXt2YXIgRD1vVShuLFcpO3k1LnNldChELCEwKTtkSyhuLFcpfX07CmRLPWZ1bmN0aW9uKG4sVyl7bj1vVShuLFcpO1VhLmhhcyhuKSYmKFc9VWEuZ2V0KG4pfHxbXSx1ZyhXWzBdLFdbMV0sV1syXSxXWzNdLCEwKSxVYS5kZWxldGUobikpfTsKUGE9ZnVuY3Rpb24obixXKXtnLmwoImxvZ19zZXF1ZW5jZV9pbmZvX29uX2dlbF93ZWIiKSYmKG4uc2VxdWVuY2VHcm91cD1XKTtyZXR1cm4gbn07CkZqPWZ1bmN0aW9uKG4sVyxELGIpe1BWKFhXaikodm9pZCAwLG4sVyxELGIsdm9pZCAwKX07CnRFeD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntsZyhELG4pO3ZhciBiPVBhKHtjdHRBdXRoSW5mbzpRNChuKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZvaWQgMH0sbik7RD17Y3NuOm4sdmU6RC5nZXRBc0pzb24oKSxldmVudFR5cGU6NH07bj09PSJVTkRFRklORURfQ1NOIj96cSgidmlzdWFsRWxlbWVudFNob3duIixiLEQpOmcuelUoInZpc3VhbEVsZW1lbnRTaG93biIsRCxiKX0pfSkoKX07CiRIdD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntUcSh2b2lkIDAsbixEKX0pfSkoKX07CndLPWZ1bmN0aW9uKCl7dmFyIG49ITE7dHJ5e249ISF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKX1jYXRjaHtuPSEwfXJldHVybihnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiIpJiZufTsKTWc9ZnVuY3Rpb24oKXt0cnl7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInN0aWNraW5lc3NfcmVsb2FkIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInNlc3Npb25fbG9naW5pbmZvIik7Zy5TSCgiTE9HSU5fSU5GTyIsIiIpO3dpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJmcm9tX3N3aXRjaF9hY2NvdW50IiwiMSIpO3ZhciBuO2xldCBEPXJTaDtEfHwoRD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVyc2lzdF9pZGVudGl0eSIpKTtpZihuPUQpe3ZhciBXPW4uc3JjPyhuZXcgVVJMKG4uc3JjKSkub3JpZ2luOiIqIjtuLmNvbnRlbnRXaW5kb3c/LnBvc3RNZXNzYWdlKHthY3Rpb246ImNsZWFyIn0sVyl9fWNhdGNoe319OwpnLlJVPWZ1bmN0aW9uKG4pe24mJihuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9BZGRTZXNzaW9uIik/TWcoKTpuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKT9NZygpOm4uc3RhcnRzV2l0aCgiaHR0cHM6Ly9teWFjY291bnQuZ29vZ2xlLmNvbSIpJiZscihuKS5KLmVuZHNXaXRoKCIveW91dHViZW9wdGlvbnMiKSYmTWcoKSk7aWYoZy5BcigiTE9HR0VEX0lOIiwhMCkmJndLKCkpe3ZhciBXPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBEPWcuSVAod2luZG93LmxvY2F0aW9uLmhyZWYpO0QmJlcucHVzaChEKTtEPWcuSVAobik7Zy5qaihXLEQpfHwhRCYmZy5qVShuLCIvIik/KFc9bVcobiksKFc9S3AoVykpPyhXPVdhKFcpLFc9KFc9Zy5TZChXKXx8bnVsbCk/Zy5pdyhXKTp7fSk6Vz1udWxsKTpXPW51bGw7Vz09bnVsbCYmKFc9e30pO0Q9Vzt2YXIgYj12b2lkIDA7CndLKCk/KGJ8fChiPWcuQXIoIkxPR0lOX0lORk8iKSksYj8oRC5zZXNzaW9uX2xvZ2luaW5mbz1iLEQ9ITApOkQ9ITEpOkQ9ITE7RCYmbjQobixXKX19OwpRNT1mdW5jdGlvbihuLFc9e30pe3ZhciBEPWcuQXIoIkVWRU5UX0lEIik7RCYmKFcuZWl8fChXLmVpPUQpKTtXJiZuNChuLFcpfTsKZy5jYT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe0QmJm40KG4sRCk7RD1nLnRGKG4sZy5HNCl8fGcuVjU7dmFyIGs9Z3ooRCk7biE9ayYmWkUoRXJyb3IoYFVuc2FmZSB3aW5kb3cub3BlbiBVUkw6ICR7bn1gKSk7bj1rO1c9V3x8c1QobikudG9TdHJpbmcoMzYpO3RyeXtpZih2KXJldHVybiB2PW4sdj1nLnFiKHYpLGcuUlUodiksSkYodixXLCJhdHRyaWJ1dGlvbnNyYyIpfWNhdGNoKGgpe090KGgpfWcuUlUobik7cmV0dXJuIEpGKEQsVyxiKX07Ck5lMj1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKGcubCgia2V2bGFyX2Rpc2FibGVfdGhlbWVfcGFyYW0iKSlyZXR1cm4gbnVsbDtTMShuKTt0cnl7bGV0IFc9Zy5vRShuKS50aGVtZTtyZXR1cm4gc1lVLmdldChXKXx8bnVsbH1jYXRjaChXKXt9cmV0dXJuIG51bGx9OwphVT1mdW5jdGlvbihuLFcpe2lmKFcuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPVcsdHlwZW9mIFcuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBEPU51bWJlcihXLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxEKjFFMyk7Cm4uSiYmSUsoIkNPTlNJU1RFTkNZIixXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHMsRCx2b2lkIDAsITApfX07Cm5CPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgdEkoInl0LWNsaWVudC1sb2NhdGlvbiIpOm4ubG9jYWxTdG9yYWdlfTsKZy52Yj1mdW5jdGlvbihuLFc9ITEsRD0hMSxiLHYpe3ZhciBrPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7aWYoIWspcmV0dXJuIGcuWGooRXJyb3IoIkVycm9yOiBObyBJbm5lclR1YmVDb250ZXh0IHNoZWxsIHByb3ZpZGVkIGluIHl0Y29uZmlnLiIpKSx7fTtrPWcuTmMoayk7Zy5sKCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGsuY2xpY2tUcmFja2luZztrLmNsaWVudHx8KGsuY2xpZW50PXt9KTt2YXIgaD1rLmNsaWVudDtoLmNsaWVudE5hbWU9PT0iTVdFQiImJmguY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGguY2xpZW50Rm9ybUZhY3Rvcj1nLkFyKCJJU19UQUJMRVQiKT8iTEFSR0VfRk9STV9GQUNUT1IiOiJTTUFMTF9GT1JNX0ZBQ1RPUiIpO2guc2NyZWVuV2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGg7aC5zY3JlZW5IZWlnaHRQb2ludHM9d2luZG93LmlubmVySGVpZ2h0O2guc2NyZWVuUGl4ZWxEZW5zaXR5PQpNYXRoLnJvdW5kKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTtoLnNjcmVlbkRlbnNpdHlGbG9hdD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtoLnV0Y09mZnNldE1pbnV0ZXM9LU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgeD1nLm85KCk7dmFyIEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjt4LlFRKDE2NSk/TD0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6eC5RUSgxNzQpP0w9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjohZy5sKCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIikmJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lKSIpLm1hdGNoZXMmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiKTt4PU5lMigpfHxMO2gudXNlckludGVyZmFjZVRoZW1lPQp4O2cubCgid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIikmJmcucWkuZG9jdW1lbnQmJihoLmFwcGxpY2F0aW9uU3RhdGU9Zy5xaS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFXKXtpZih4PUJCKCkpaC5jb25uZWN0aW9uVHlwZT14O2cubCgid2ViX2xvZ19lZmZlY3RpdmVfY29ubmVjdGlvbl90eXBlIikmJih4PXdKKCkpJiYoay5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9eCl9Zy5sKCJ3ZWJfbG9nX21lbW9yeV90b3RhbF9rYnl0ZXMiKSYmZy5xaS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGsuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke2cucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkqMUU2fWApO1cmJmImJiFnLmwoIndlYl9pdF9jb250ZXh0X3NldF9vcmlnaW5hbF91cmxfa3MiKSYmKHg9YixMPWcucWkubG9jYXRpb24uaHJlZixMIGluc3RhbmNlb2YKZy5Vanx8KEw9bHIoTCkpLHggaW5zdGFuY2VvZiBnLlVqfHwoeD1scih4KSkseD1MLnJlc29sdmUoeCksaC5vcmlnaW5hbFVybD14LnRvU3RyaW5nKCkpO2lmKGcubCgid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIikpe3ZhciBlPUo3KCk7ZSYmKHg9ZS5jb2xkQ29uZmlnRGF0YSxMPWUuY29sZEhhc2hEYXRhLGU9ZS5ob3RIYXNoRGF0YSxrLmNsaWVudC5jb25maWdJbmZvPWsuY2xpZW50LmNvbmZpZ0luZm98fHt9LHgmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRDb25maWdEYXRhPXgpLEwmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRIYXNoRGF0YT1MKSxlJiYoay5jbGllbnQuY29uZmlnSW5mby5ob3RIYXNoRGF0YT1lKSl9eD1nLm9FKGcucWkubG9jYXRpb24uaHJlZik7IWcubCgid2ViX3BvcHVsYXRlX2ludGVybmFsX2dlb19raWxsc3dpdGNoIikmJnguaW50ZXJuYWxjb3VudHJ5Y29kZSYmKGguaW50ZXJuYWxHZW89eC5pbnRlcm5hbGNvdW50cnljb2RlKTshZy5sKCJ3ZWJfcG9wdWxhdGVfY2xpZW50X3NjcmVlbl9raWxsc3dpdGNoIikmJgp2JiYoaC5jbGllbnRTY3JlZW49dik7aC5jbGllbnROYW1lPT09Ik1XRUIifHxoLmNsaWVudE5hbWU9PT0iV0VCIj8oaC5tYWluQXBwV2ViSW5mb3x8KGgubWFpbkFwcFdlYkluZm89e30pLGgubWFpbkFwcFdlYkluZm8uZ3JhZnRVcmw9Ynx8Zy5xaS5sb2NhdGlvbi5ocmVmLGcubCgia2V2bGFyX3dvZmZsZSIpJiZXYi5pbnN0YW5jZSYmKGI9V2IuaW5zdGFuY2UsaC5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hYi5OJiZiLko/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfVU5LTk9XTiIpLGgubWFpbkFwcFdlYkluZm8ud2ViRGlzcGxheU1vZGU9eXgoKSxoLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmguY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFnLmwoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJgooYj1nLkFyKCJMSVZJTkdfUk9PTV9BUFBfUVVBTElUWSIpKSYmKGgudHZBcHBJbmZvPU9iamVjdC5hc3NpZ24oaC50dkFwcEluZm98fHt9LHthcHBRdWFsaXR5OmJ9KSksYj1nLkFyKCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoaC50dkFwcEluZm89T2JqZWN0LmFzc2lnbihoLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpifSkpO2lmKCFnLmwoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIEc9KG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTticmVhayBhfWNhdGNoe31HPXZvaWQgMH1HJiYoaC50aW1lWm9uZT1HKX0oRz1rVCgpKT9oLmV4cGVyaW1lbnRzVG9rZW49RzpkZWxldGUgaC5leHBlcmltZW50c1Rva2VuO2g9aHkoKTtETS5pbnN0YW5jZXx8KERNLmluc3RhbmNlPW5ldyBETSk7Rz1oSyhETS5pbnN0YW5jZS5OKTsKay5yZXF1ZXN0PXsuLi5rLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6aCxjb25zaXN0ZW5jeVRva2VuSmFyczpHfTshZy5sKCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihoPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1BSRVFVRVNUX0NPTlRFWFQiKSkmJihrLnJlcXVlc3QuZXh0ZXJuYWxQcmVxdWVzdENvbnRleHQ9aCk7Rz1nLm85KCk7aD1HLlFRKDU4KTtHPUcuZ2V0KCJnc21sIiwiIik7ay51c2VyPXsuLi5rLnVzZXJ9O2gmJihrLnVzZXIuZW5hYmxlU2FmZXR5TW9kZT1oKTtHJiYoay51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO2cubCgid2FybV9vcF9jc25fY2xlYW51cCIpP0QmJihXPWcuUnYoKSkmJihrLmNsaWVudFNjcmVlbk5vbmNlPVcpOiFXJiYoVz1nLlJ2KCkpJiYoay5jbGllbnRTY3JlZW5Ob25jZT1XKTtuJiYoay5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOm59KTtpZihuPWcucnIoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWsucmVtb3RlQ2xpZW50PQpuO2IkLmdldEluc3RhbmNlKCkuc2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQoayk7dHJ5e3ZhciByPWcuUUYoKSxOPXIuYmlkO2RlbGV0ZSByLmJpZDtrLmFkU2lnbmFsc0luZm89e3BhcmFtczpbXSxiaWQ6Tn07Zm9yKGxldCBbSCxBXW9mIE9iamVjdC5lbnRyaWVzKHIpKXI9SCxOPUEsay5hZFNpZ25hbHNJbmZvLnBhcmFtcz8ucHVzaCh7a2V5OnIsdmFsdWU6YCR7Tn1gfSk7aWYoay5jbGllbnQ/LmNsaWVudE5hbWU9PT0iVFZIVE1MNSJ8fGsuY2xpZW50Py5jbGllbnROYW1lPT09IlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IEg9Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFQiKTtILmFkU2lnbmFsc0luZm8mJihrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZD1ILmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZCxrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZFNpZ25hbFR5cGU9IkRFVklDRV9JRF9UWVBFX0NPTk5FQ1RFRF9UVl9JRkEiLGsuYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmc9CkguYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmcsSC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cyE9PXZvaWQgMCYmKGsuYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXM9SC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cykpfX1jYXRjaChIKXtnLlhqKEgpfXJldHVybiBrfTsKa1Y9ZnVuY3Rpb24obil7dmFyIFc9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP1dbIlgtR29vZy1FT00tVmlzaXRvci1JZCJdPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKTpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKFdbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO1dbIlgtWW91dHViZS1Cb290c3RyYXAtTG9nZ2VkLUluIl09Zy5BcigiTE9HR0VEX0lOIiwhMSk7Zy5BcigiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKFdbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1nLkFyKCJERUJVR19TRVRUSU5HU19NRVRBREFUQSIpKTtuIT09ImNvcnMiJiYoKG49Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSkmJihXWyJYLVlvdXR1YmUtQ2xpZW50LU5hbWUiXT1uKSwobj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKFdbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQpuKSwobj1nLkFyKCJDSFJPTUVfQ09OTkVDVEVEX0hFQURFUiIpKSYmKFdbIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIl09biksKG49Zy5BcigiRE9NQUlOX0FETUlOX1NUQVRFIikpJiYoV1siWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSJdPW4pLChuPWIkLmdldEluc3RhbmNlKCkuZ2V0WEdlb0hlYWRlcj8uKCkpJiYoV1siWC1HZW8iXT1uKSk7KG49Zy5BcigiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoV1siWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1uKTtyZXR1cm4gV307CmhtPWZ1bmN0aW9uKG4pe3JldHVybigpPT5uZXcgbn07CnBXTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07dmFyIFc9eFYuVU5LTk9XTl9JTlRFUkZBQ0U7aWYoVyl7Vz1uZXcgUmVnRXhwKFcpO2Zvcih2YXIgRCBvZiBuKWlmKFcuZXhlYyhEKSlyZXR1cm4gRH12YXIgYj1bXTtPYmplY3QuZW50cmllcyh4VikuZm9yRWFjaCgoW3Ysa10pPT57IlVOS05PV05fSU5URVJGQUNFIiE9PXYmJmIucHVzaChrKX0pOwpEPW5ldyBSZWdFeHAoYi5qb2luKCJ8IikpO24uc29ydCgodixrKT0+di5sZW5ndGgtay5sZW5ndGgpOwpmb3IobGV0IHYgb2YgbilpZighRC5leGVjKHYpKXJldHVybiB2O3JldHVybiBuWzBdfTsKTEI9ZnVuY3Rpb24obil7cmV0dXJuYC95b3V0dWJlaS92MS8ke3BXTShuKX1gfTsKZ2I9ZnVuY3Rpb24obil7cmV0dXJuIGcucnIoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iKXx8ZUwobil9OwpYQT1mdW5jdGlvbigpe3ZhciBuPWdiKCk7bi5pbmZvfHwobi5pbmZvPXt9KTtyZXR1cm4gbi5pbmZvfTsKcVE9ZnVuY3Rpb24obil7bj1nYihuKTtuLm1ldGFkYXRhfHwobi5tZXRhZGF0YT17fSk7cmV0dXJuIG4ubWV0YWRhdGF9OwpHdz1mdW5jdGlvbihuKXtuPWdiKG4pO24udGlja3x8KG4udGljaz17fSk7cmV0dXJuIG4udGlja307CnRtPWZ1bmN0aW9uKG4pe249Z2Iobik7aWYobi5nZWwpe2xldCBXPW4uZ2VsO1cuZ2VsSW5mb3N8fChXLmdlbEluZm9zPXt9KTtXLmdlbFRpY2tzfHwoVy5nZWxUaWNrcz17fSl9ZWxzZSBuLmdlbD17Z2VsVGlja3M6e30sZ2VsSW5mb3M6e319O3JldHVybiBuLmdlbH07CiRWPWZ1bmN0aW9uKG4pe249dG0obik7bi5nZWxJbmZvc3x8KG4uZ2VsSW5mb3M9e30pO3JldHVybiBuLmdlbEluZm9zfTsKWVZTPWZ1bmN0aW9uKCl7dmFyIG49dG0oKTtuLnByZUxvZ2dlZEdlbEluZm9zfHwobi5wcmVMb2dnZWRHZWxJbmZvcz1bXSk7cmV0dXJuIG4ucHJlTG9nZ2VkR2VsSW5mb3N9OwpyYj1mdW5jdGlvbihuKXt2YXIgVz1nYihuKS5ub25jZTtXfHwoVz1nLlJJKDE2KSxnYihuKS5ub25jZT1XKTtyZXR1cm4gV307CmVMPWZ1bmN0aW9uKG4pe3ZhciBXPXt0aWNrOnt9LGluZm86e319O2cuR2IoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iLFcpO3JldHVybiBXfTsKc0g9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5kZWJ1ZyIpO258fChuPVtdLGcuR2IoInl0Y3NpLmRlYnVnIixuKSxnLkdiKCJ5dGNzaS5yZWZlcmVuY2UiLHt9KSk7cmV0dXJuIG59OwpwQj1mdW5jdGlvbihuKXt2YXIgVz1zSCgpO1cucHVzaChuKTtnLmwoImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiKSYmVy5sZW5ndGg+TlEmJlcuc3BsaWNlKDAsVy5sZW5ndGgtTlEpfTsKSGI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO2lmKFdbbl0pcmV0dXJuIFdbbl07dmFyIEQ9e3RpbWVyTmFtZTpuLGluZm86e30sdGljazp7fSxzcGFuOnt9LGpzcGJJbmZvOltdfTtwQihEKTtyZXR1cm4gV1tuXT1EfTsKZkI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO1dbbl0mJmRlbGV0ZSBXW25dO3ZhciBEPXt0aW1lck5hbWU6bixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07cEIoRCk7V1tuXT1EfTsKWVY9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5yZWZlcmVuY2UiKTtpZihuKXJldHVybiBuO3NIKCk7cmV0dXJuIGcucnIoInl0Y3NpLnJlZmVyZW5jZSIpfTsKSUw9ZnVuY3Rpb24obil7cmV0dXJuIEptW25dfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9OwpIbnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPU1hdGgucm91bmQoRC50aW1lc3RhbXB8fCgwLGcuUikoKSk7SVkobiwxLGI8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/YjowKTtiPW5ldyBTTDtpZihELmxhY3QpSVkoYiwxLGlzRmluaXRlKEQubGFjdCk/RC5sYWN0Oi0xKTtlbHNlIGlmKEQudGltZXN0YW1wKUlZKGIsMSwtMSk7ZWxzZXt2YXIgdj1nLnZJKCk7SVkoYiwxLGlzRmluaXRlKHYpP3Y6LTEpfWlmKEQuc2VxdWVuY2VHcm91cCYmIWcubCgid2ViX2dlbF9zZXF1ZW5jZV9pbmZvX2tpbGxzd2l0Y2giKSl7dj1ELnNlcXVlbmNlR3JvdXA7bGV0IGs9RXkodiksaD1uZXcgQW07SVkoaCwyLGspO2cuU0UoaCwxLHYpOyQ5KGIsQW0sMyxoKTtELmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBtcVtELnNlcXVlbmNlR3JvdXBdfSQ5KG4sU0wsMzMsYik7KEQuc2VuZElzb2xhdGVkUGF5bG9hZD9jSTpQVzEpKCJsYXRlbmN5QWN0aW9uSW5mbyIse2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6biwKY3R0QXV0aEluZm86RC5jdHRBdXRoSW5mbyxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOkQuZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbn0sVyl9OwpmMmo9ZnVuY3Rpb24obixXPXt9KXt2YXIgRD0hMTtnLkFyKCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmKEQ9ITApO0hucihuLEQ/bnVsbDpnLmQ0LFcpfTsKT0g9ZnVuY3Rpb24oKXtLQi5pbnN0YW5jZXx8KEtCLmluc3RhbmNlPW5ldyBLQik7cmV0dXJuIEtCLmluc3RhbmNlfTsKWk09ZnVuY3Rpb24obixXKXtQYltXXT1QYltXXXx8e2NvdW50OjB9O3ZhciBEPVBiW1ddO0QuY291bnQrKztELnRpbWU9KDAsZy5SKSgpO24uTnx8KG4uTj1nLmNCKDAsKCk9Pnt2YXIgYj0oMCxnLlIpKCk7Zm9yKGxldCB2IGluIFBiKVBiW3ZdJiZiLVBiW3ZdLnRpbWU+NkU0JiZkZWxldGUgUGJbdl07biYmKG4uTj0wKX0sNUUzKSk7CnJldHVybiBELmNvdW50PjU/KEQuY291bnQ9PT02JiZNYXRoLnJhbmRvbSgpKjFFNTwxJiYoRD1uZXcgZy5ReCgiQ1NJIGRhdGEgZXhjZWVkZWQgbG9nZ2luZyBsaW1pdCB3aXRoIGtleSIsVy5zcGxpdCgiXyIpKSxXLmluZGV4T2YoInBsZXYiKT49MHx8Zy5HcShEKSksITApOiExfTsKRUg9ZnVuY3Rpb24oKXt2YXIgbjtnLmwoImNzaV91c2VfcGVyZm9ybWFuY2VfbmF2aWdhdGlvbl90aW1pbmciKT8obj1VSD8uZ2V0RW50cmllc0J5VHlwZT8uKCJuYXZpZ2F0aW9uIik/LlswXT8udG9KU09OPy4oKSk/KG4ucmVxdWVzdFN0YXJ0PXl2KG4ucmVxdWVzdFN0YXJ0KSxuLnJlc3BvbnNlRW5kPXl2KG4ucmVzcG9uc2VFbmQpLG4ucmVkaXJlY3RTdGFydD15dihuLnJlZGlyZWN0U3RhcnQpLG4ucmVkaXJlY3RFbmQ9eXYobi5yZWRpcmVjdEVuZCksbi5kb21haW5Mb29rdXBFbmQ9eXYobi5kb21haW5Mb29rdXBFbmQpLG4uY29ubmVjdFN0YXJ0PXl2KG4uY29ubmVjdFN0YXJ0KSxuLmNvbm5lY3RFbmQ9eXYobi5jb25uZWN0RW5kKSxuLnJlc3BvbnNlU3RhcnQ9eXYobi5yZXNwb25zZVN0YXJ0KSxuLnNlY3VyZUNvbm5lY3Rpb25TdGFydD15dihuLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksbi5kb21haW5Mb29rdXBTdGFydD15dihuLmRvbWFpbkxvb2t1cFN0YXJ0KSxuLmlzUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nPQohMCk6bj1VSC50aW1pbmc6bj1nLmwoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVSC50aW1pbmcpKTpVSC50aW1pbmc7cmV0dXJuIG59Owp5dj1mdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5yb3VuZChpJCgpK24pfTsKaSQ9ZnVuY3Rpb24oKXtyZXR1cm4oZy5sKCJjc2lfdXNlX3RpbWVfb3JpZ2luIil8fGcubCgiY3NpX3VzZV90aW1lX29yaWdpbl90dmh0bWw1IikpJiZVSC50aW1lT3JpZ2luP01hdGguZmxvb3IoVUgudGltZU9yaWdpbik6VUgudGltaW5nLm5hdmlnYXRpb25TdGFydH07CkpTcj1mdW5jdGlvbigpe3ZhciBuPVlWUygpLFc9JFYoKSxEPXZvaWQgMDtmb3IodmFyIGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHg9bltiXTtpZih4LmxvYWRUeXBlKXtEPXgubG9hZFR5cGU7YnJlYWt9fWlmKHFRKCkubG9hZFR5cGU9PT0iY29sZCImJihXLmxvYWRUeXBlPT09ImNvbGQifHxEPT09ImNvbGQiKSl7RD1HdygpO2I9dG0oKTtiPWIuZ2VsVGlja3M/Yi5nZWxUaWNrczpiLmdlbFRpY2tzPXt9O2Zvcih2YXIgdiBpbiBEKXYgaW4gYnx8dHlwZW9mIERbdl09PT0ibnVtYmVyIiYmdSQodixvTCh2KSk7dmFyIGs9e30saD0hMTt2PXg9PntqdyhXLHgpO2p3KGsseCk7aD0hMH07CmZvcihsZXQgeCBvZiBuKXYoeCk7aCYmZGIoayl9fTsKenc9ZnVuY3Rpb24obixXKXt1JCgiX3N0YXJ0IixuLFcpfTsKZGI9ZnVuY3Rpb24obixXKXtpZighZy5sKCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFnYihXKS5hY3Rpb25EaXNhYmxlZCl7dmFyIEQ9SGIoV3x8IiIpO2p3KEQuaW5mbyxuKTtuLmxvYWRUeXBlJiYoRD1uLmxvYWRUeXBlLHFRKFcpLmxvYWRUeXBlPUQpO2p3KCRWKFcpLG4pO0Q9cmIoVyk7Vz1nYihXKS5jdHRBdXRoSW5mbztPSCgpLmluZm8obixELFcpfX07CkkyWj1mdW5jdGlvbigpe3JldHVybihnLnFqKCkucmVzb2x2ZShnLmhwKGcuWDMpKT8uTFgoKT8ubG9nZ2luZ0hvdENvbmZpZz8uY3NpQ29uZmlnPy5kZWJ1Z1RpY2tzPz9bXSkubWFwKG49Pk9iamVjdC52YWx1ZXMobilbMF0pfTsKdSQ9ZnVuY3Rpb24obixXLEQpe2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8IWdiKEQpLmFjdGlvbkRpc2FibGVkKXt2YXIgYj1yYihEKSx2O2lmKHY9Zy5sKCJ3ZWJfY3NpX2RlYnVnX3NhbXBsZV9lbmFibGVkIikmJmIpe2cucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpJiYhbCQmJihsJD0hMCx1JCgiZ2NmbCIsKDAsZy5SKSgpLEQpKTt2PWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnU2FtcGxlV2VpZ2h0fHwwO3ZhciBrO2lmKGs9diE9PTApYjp7az1JMlooKTtpZihrLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8ay5sZW5ndGg7aCsrKWlmKG49PT1rW2hdKXtrPSEwO2JyZWFrIGJ9az0hMX1rPyh2PU9hKGIpJXYhPT0wLGdiKEQpLmRlYnVnVGlja3NFeGNsdWRlZExvZ2dlZHx8KGs9e30say5kZWJ1Z1RpY2tzRXhjbHVkZWQ9dixkYihrLEQpKSxnYihEKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTp2PSExfWlmKCF2KXtpZihuWzBdIT09Il8iJiYodj1uLFVILm1hcmspKXt2LnN0YXJ0c1dpdGgoIm1hcmtfIil8fCh2PSJtYXJrXyIrdik7RCYmKHYrPWAgKCR7RH0pYCk7az12O2g9e307aWYoVyE9PXZvaWQgMCYmIWcubCgid2ViX2NzaV9kaXNhYmxlX2FsdF90aW1lX3BlcmZvcm1hbmNlX21hcmsiKSl7bGV0IEw9VztMPWcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP0wtVUgudGltZU9yaWdpbjpMLShVSC50aW1lT3JpZ2lufHxVSC50aW1pbmcubmF2aWdhdGlvblN0YXJ0KTtoLnN0YXJ0VGltZT1MfWcubCgiY3NpX2VuYWJsZV9jaHJvbWVfZGV2dG9vbHNfcGVyZm9ybWFuY2VfdGltZWxpbmVfaW50ZWdyYXRpb24iKSYmKGguZGV0YWlsPXtHVTp7ZGF0YVR5cGU6Im1hcmtlciIsY29sb3I6InByaW1hcnkiLHRvb2x0aXBUZXh0Omt9fSk7az1PYmplY3Qua2V5cyhoKS5sZW5ndGg+MD9oOnZvaWQgMDt0cnl7VUgubWFyayh2LGspfWNhdGNoKEwpe1VILm1hcmsodil9fXY9CkhiKER8fCIiKTt2LnRpY2tbbl09V3x8KDAsZy5SKSgpO2lmKHYuY2FsbGJhY2smJnYuY2FsbGJhY2tbbl0pZm9yKHZhciB4IG9mIHYuY2FsbGJhY2tbbl0peCgpO3g9dG0oRCk7eC5nZWxUaWNrcyYmKHguZ2VsVGlja3Nbbl09ITApO3Y9R3coRCk7eD1XfHwoMCxnLlIpKCk7dltuXT14O3Y9Z2IoRCkuY3R0QXV0aEluZm87bj09PSJfc3RhcnQiPyhuPU9IKCksWk0obixgYmFzZWxpbmVfJHtifWApfHxnLnpVKCJsYXRlbmN5QWN0aW9uQmFzZWxpbmVkIix7Y2xpZW50QWN0aW9uTm9uY2U6Yn0se3RpbWVzdGFtcDpXLGN0dEF1dGhJbmZvOnZ9KSk6T0goKS50aWNrKG4sYixXLHYpO1R3KEQpO3JldHVybiB4fX19OwpTVjE9ZnVuY3Rpb24oKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlPy4oIm1hcmsiKTtuJiZuLmZvckVhY2goVz0+e1cubmFtZS5zdGFydHNXaXRoKCJtYXJrXyIpJiZVSC5jbGVhck1hcmtzPy4oVy5uYW1lKX0pfTsKakw9ZnVuY3Rpb24oKXtzd2l0Y2goRzEoKSl7Y2FzZSAiaGlkZGVuIjpyZXR1cm4gMDtjYXNlICJ2aXNpYmxlIjpyZXR1cm4gMTtjYXNlICJwcmVyZW5kZXIiOnJldHVybiAyO2Nhc2UgInVubG9hZGVkIjpyZXR1cm4gMztkZWZhdWx0OnJldHVybi0xfX07CkNCPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9KGIsdixrKT0+e3Y9di5tYXRjaCgiX3JpZCIpP3Yuc3BsaXQoIl9yaWQiKVswXTp2O3R5cGVvZiBrPT09Im51bWJlciImJihrPUpTT04uc3RyaW5naWZ5KGspKTtiLnJlcXVlc3RJZHM/Yi5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OnYsaWQ6a30pOmIucmVxdWVzdElkcz1be2VuZHBvaW50OnYsaWQ6a31dfTsKZm9yKGxldCBbYix2XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtuPWI7bGV0IGs9djtzd2l0Y2gobil7Y2FzZSAiR2V0QnJvd3NlX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0R3VpZGVfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRIb21lX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0UGxheWVyX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2VhcmNoX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2V0dGluZ3NfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRUcmVuZGluZ19yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgInl0X3JlZCI6Vy5pc1JlZFN1YnNjcmliZXI9ISFrO2JyZWFrO2Nhc2UgInl0X2FkIjpXLmlzTW9uZXRpemVkPSEha319cmV0dXJuIFd9OwpBU3g9ZnVuY3Rpb24obixXKXtuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobik7aWYoIW4pcmV0dXJuITE7dmFyIEQ9IiIsYj1uLm5vZGVOYW1lO2I9PT0iU0NSSVBUIj8oRD1uLnNyYyxEfHwoRD1uLmdldEF0dHJpYnV0ZSgiZGF0YS10aW1pbmctaHJlZiIpKSYmKEQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK0QpKTpiPT09IkxJTksiJiYoRD1uLmhyZWYpO1NqKGRvY3VtZW50KSYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixTaihkb2N1bWVudCkpO3JldHVybiBEPyhuPVVILmdldEVudHJpZXNCeU5hbWUoRCkpJiZuWzBdJiYobj1uWzBdLEQ9aSQoKSx1JCgicnNmXyIrVyxEK01hdGgucm91bmQobi5mZXRjaFN0YXJ0KSksdSQoInJzZV8iK1csRCtNYXRoLnJvdW5kKG4ucmVzcG9uc2VFbmQpKSxuLnRyYW5zZmVyU2l6ZSE9PXZvaWQgMCYmbi50cmFuc2ZlclNpemU9PT0wKT8hMDohMTohMX07Cm1IMT1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxXPVVILmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Vz1nLkVNKFcsRD0+RC5uYW1lLmluZGV4T2YoYCR7bn0vL2ZvbnRzLmdzdGF0aWMuY29tL3MvYCk9PT0wKTsKKFc9Zy51XyhXLChELGIpPT5iLmR1cmF0aW9uPkQuZHVyYXRpb24/YjpELHtkdXJhdGlvbjowfSkpJiZXLnN0YXJ0VGltZT4wJiZXLnJlc3BvbnNlRW5kPjAmJih1JCgid2ZmcyIseXYoVy5zdGFydFRpbWUpKSx1JCgid2ZmZSIseXYoVy5yZXNwb25zZUVuZCkpKX07CktOdD1mdW5jdGlvbihuLFcsRCl7VUgmJlVILm1lYXN1cmUmJihuLnN0YXJ0c1dpdGgoIm1lYXN1cmVfIil8fChuPSJtZWFzdXJlXyIrbiksRD9VSC5tZWFzdXJlKG4sVyxEKTpXP1VILm1lYXN1cmUobixXKTpVSC5tZWFzdXJlKG4pKX07CkJiPWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJhZnQiLG4pO2lmKFcpcmV0dXJuIFc7Vz1nLkFyKChufHwiIikrIlRJTUlOR19BRlRfS0VZUyIsWyJvbCJdKTt2YXIgRD1XLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKXtsZXQgdj1vTChXW2JdLG4pO2lmKHYpcmV0dXJuIHZ9cmV0dXJuIE5hTn07CkZBPWZ1bmN0aW9uKG4sVyl7Zy5HYigieXRnbG9iYWwudGltaW5nIisoV3x8IiIpKyJyZWFkeV8iLG4pfTsKb0w9ZnVuY3Rpb24obixXKXtpZihuPUd3KFcpW25dKXJldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiP246bltuLmxlbmd0aC0xXX07ClR3PWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJfc3RhcnQiLG4pLEQ9QmIobiksYj0hd2I7VyYmRCYmYiYmKGw5KE9udCxuZXcgTVEoTWF0aC5yb3VuZChELVcpLG4pKSx3Yj0hMCl9OwpQYXg9ZnVuY3Rpb24oKXtpZihVSC5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpO2lmKG49Zy5sXyhuLEQ9PkQubmFtZT09PSJmaXJzdC1wYWludCIpKXJldHVybiB5dihuLnN0YXJ0VGltZSl9dmFyIFc7CmcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP1c9VUguZ2V0RW50cmllc0J5VHlwZSgiZmlyc3QtcGFpbnQiKVswXS5zdGFydFRpbWU6Vz1VSC50aW1pbmcubDI7cmV0dXJuIFc/TWF0aC5tYXgoMCxXKTowfTsKZy5STD1mdW5jdGlvbihuKXtlTChuKTtabmkoKTtTVjEoKTtufHwoZy5BcigiVElNSU5HX0FDVElPTiIpJiZnLlNIKCJQUkVWSU9VU19BQ1RJT04iLGcuQXIoIlRJTUlOR19BQ1RJT04iKSksZy5TSCgiVElNSU5HX0FDVElPTiIsIiIpKX07CmNiPWZ1bmN0aW9uKG4sVyl7UFYoKCk9PntIYigiIikuaW5mby5hY3Rpb25UeXBlPW47VyYmZy5TSCgiVElNSU5HX0FGVF9LRVlTIixXKTtnLlNIKCJUSU1JTkdfQUNUSU9OIixuKTt2YXIgRD1DQihnLkFyKCJUSU1JTkdfSU5GTyIse30pKTtPYmplY3Qua2V5cyhEKS5sZW5ndGg+MCYmZGIoRCk7RD17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKX07dmFyIGI9Zy5BcigiUFJFVklPVVNfQUNUSU9OIik7YiYmKEQucHJldmlvdXNBY3Rpb249SUwoYikpO2lmKGI9Zy5BcigiQ0xJRU5UX1BST1RPQ09MIikpRC5odHRwUHJvdG9jb2w9YjtpZihiPWcuQXIoIkNMSUVOVF9UUkFOU1BPUlQiKSlELnRyYW5zcG9ydFByb3RvY29sPWI7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Yj1qTCgpO2lmKGI9PT0xfHxiPT09LTEpRC5pc1Zpc2libGU9ITA7Yj1xUSgpLmxvYWRUeXBlPT09ImNvbGQiOwp2YXIgdj1YQSgpO2J8fChiPXYueXRfbHQ9PT0iY29sZCIpO2lmKGIpe0QubG9hZFR5cGU9ImNvbGQiO2I9WEEoKTt2PUVIKCk7bGV0IHg9aSQoKSxMPWcuQXIoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtMPjAmJiFnLmwoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJih4PUwpO3gmJih1JCgic3J0Iix2LnJlc3BvbnNlU3RhcnQpLGIucHJlcmVuZGVyIT09MSYmencoeCkpO2I9UGF4KCk7Yj4wJiZ1JCgiZnB0IixiKTtiPUVIKCk7Yi5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmZGIoe3BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzohMH0sdm9pZCAwKTt1JCgibnJlcXMiLGIucmVxdWVzdFN0YXJ0LHZvaWQgMCk7dSQoIm5yZXNzIixiLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTt1JCgibnJlc2UiLGIucmVzcG9uc2VFbmQsdm9pZCAwKTtiLnJlZGlyZWN0RW5kLWIucmVkaXJlY3RTdGFydD4wJiYodSQoIm5ycyIsYi5yZWRpcmVjdFN0YXJ0LAp2b2lkIDApLHUkKCJucmUiLGIucmVkaXJlY3RFbmQsdm9pZCAwKSk7Yi5kb21haW5Mb29rdXBFbmQtYi5kb21haW5Mb29rdXBTdGFydD4wJiYodSQoIm5kbnNzIixiLmRvbWFpbkxvb2t1cFN0YXJ0LHZvaWQgMCksdSQoIm5kbnNlIixiLmRvbWFpbkxvb2t1cEVuZCx2b2lkIDApKTtiLmNvbm5lY3RFbmQtYi5jb25uZWN0U3RhcnQ+MCYmKHUkKCJudGNwcyIsYi5jb25uZWN0U3RhcnQsdm9pZCAwKSx1JCgibnRjcGUiLGIuY29ubmVjdEVuZCx2b2lkIDApKTtiLnNlY3VyZUNvbm5lY3Rpb25TdGFydD49aSQoKSYmYi5jb25uZWN0RW5kLWIuc2VjdXJlQ29ubmVjdGlvblN0YXJ0PjAmJih1JCgibnN0Y3BzIixiLnNlY3VyZUNvbm5lY3Rpb25TdGFydCx2b2lkIDApLHUkKCJudGNwZSIsYi5jb25uZWN0RW5kLHZvaWQgMCkpO1VIJiYiZ2V0RW50cmllc0J5VHlwZSJpbiBVSCYmbUgxKCk7Yj1bXTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZVSCYmVUguZ2V0RW50cmllc0J5TmFtZSlmb3IoayBpbiBRdilRdi5oYXNPd25Qcm9wZXJ0eShrKSYmCih2PVF2W2tdLEFTeChrLHYpJiZiLnB1c2godikpO3ZhciBrPWI7aWYoay5sZW5ndGg+MCl7RC5yZXNvdXJjZUluZm89W107Zm9yKHZhciBoIG9mIGspRC5yZXNvdXJjZUluZm8ucHVzaCh7cmVzb3VyY2VDYWNoZTpofSl9fWRiKEQpO0pTcigpO0ZBKCEwKTtoPWcuQXIoIlRJTUlOR19BQ1RJT04iKTtnLnJyKCJ5dGdsb2JhbC50aW1pbmdyZWFkeV8iKSYmaCYmVnYoKSYmQmIoKSYmVHcoKX0pKCl9OwpXUD1mdW5jdGlvbigpe3ZhciBuPXt9O1BWKCgpPT57VnYoKSYmZy5hTCgiYWEiLHZvaWQgMCx2b2lkIDApO2ZCKCk7Zy5STCgpO0ZBKCExKTtuLmN0dEF1dGhJbmZvJiYoZ2IoKS5jdHRBdXRoSW5mbz1uLmN0dEF1dGhJbmZvKTtnLlNIKCJUSU1JTkdfQUZUX0tFWVMiLFtdKTtuLnJQP2cubmwoe2xvYWRUeXBlOiJob3QifSk6Zy5ubCh7bG9hZFR5cGU6Indhcm0ifSk7Zy5TSCgiVElNSU5HX0FDVElPTiIsIiIpO2RlbGV0ZSBnLkFyKCJUSU1JTkdfSU5GTyIse30pLnl0X2x0O1BWKHp3KShuLnN0YXJ0VGltZSx2b2lkIDApfSkoKX07CmcuYmQ9ZnVuY3Rpb24obixXPXt9KXtQVigoKT0+e2cuRFkobik7dmFyIEQ9Vy5zYW1wbGVSYXRlO2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8RD09PXZvaWQgMHx8RDw9MSlEPSExO2Vsc2V7dmFyIGI9cmIobik7RD1PYShiKSVEIT09MH1EJiYoZ2IobikuYWN0aW9uRGlzYWJsZWQ9ITApO0hiKG58fCIiKS5pbmZvLmFjdGlvblR5cGU9bjtXLmN0dEF1dGhJbmZvJiYoZ2IobikuY3R0QXV0aEluZm89Vy5jdHRBdXRoSW5mbyk7Zy5TSChuKyJUSU1JTkdfQUNUSU9OIixuKTtQVih6dykoVy5zdGFydFRpbWUsbik7RD17YWN0aW9uVHlwZTpJTChuKX07Vy5leiYmKEQucHJldmlvdXNBY3Rpb249SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKSk7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Zy5ubChELG4pO0ZBKCEwLG4pfSkoKX07CmcuRFk9ZnVuY3Rpb24obil7UFYoKCk9PntWdihuKSYmZy5hTCgiYWEiLHZvaWQgMCxuKTtmQihuKTtnLlJMKG4pfSkoKX07ClZ2PWZ1bmN0aW9uKG4pe3JldHVybiBQVigoKT0+Zy52UCgiX3N0YXJ0IixuKSkoKX07Cmcubmw9ZnVuY3Rpb24obixXLEQ9ITEpe1BWKGRiKShuLFcsRCl9OwpnLmFMPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYodSQpKG4sVyxEKX07CmtEPWZ1bmN0aW9uKG4pe1BWKEtOdCkoImFjdGlvbl9maW5pc2hlZCIsbix2b2lkIDApfTsKZy52UD1mdW5jdGlvbihuLFcpe3JldHVybiBQVigoKT0+e3ZhciBEPUd3KFcpO3JldHVybiBuIGluIER9KSgpfTsKeEQ9ZnVuY3Rpb24obil7aWYoIWcubCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuIiI7bj1TMShuKXx8IiI7dmFyIFc9T2JqZWN0LmtleXMoaGUpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtsZXQgYj1XW0RdO2lmKG4uaW5jbHVkZXMoYikpcmV0dXJuIGJ9cmV0dXJuIiJ9Owplaz1mdW5jdGlvbihuKXtpZighZy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4oKT0+e307CnZhciBXPWhlW25dO3JldHVybiBXPyhnLkxsKFcpLCgpPT57dmFyIEQ9Zy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oRD1VSE1bbl0pP2cuTGwoRCk6ITE6ITE7cmV0dXJuIER9KTooKT0+e319OwpnLkxsPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYoKCk9PntpZihnLnZQKG4sRCkpcmV0dXJuITE7Zy5hTChuLFcsRCk7cmV0dXJuITB9KSgpfTsKZy5nXz1mdW5jdGlvbihuLFcsRCl7UFYoKCk9PntpZighVnYoRCl8fGcudlAobixEKSlyZXR1cm4hMTtnLmFMKG4sVyxEKTtyZXR1cm4hMH0pKCl9Owp5U2g9ZnVuY3Rpb24oKXtQVigoKT0+e3ZhciBuPXJiKCk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c2V0VGltZW91dCgoKT0+e249PT1yYigpJiZnLmFMKCJmdGwiLHZvaWQgMCx2b2lkIDApfSwwKX0pfSkoKX07CkU5Yj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFg3Lmluc3RhbmNlIT09dm9pZCAwKXtpZihiPVg3Lmluc3RhbmNlLG49W24hPT1iLmosVyE9PWIueUcsRCE9PWIuVyx2IT09Yi5KLCExLCExLCExXSxuLnNvbWUoaz0+aykpdGhyb3cgbmV3IGcuUXgoIklubmVyVHViZVRyYW5zcG9ydFNlcnZpY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZCIsbik7Cn1lbHNlIFg3Lmluc3RhbmNlPW5ldyBYNyhuLFcsRCxiLHYpfTsKaW53PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtuPWF3YWl0ICRHKG4uVy5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsuLi5rVihEKSwuLi5ufSl9OwpkSGo9YXN5bmMgZnVuY3Rpb24obixXLEQsYj0oKT0+e30pe3ZhciB2PVcuY29uZmlnPy5Ibj8uUkw7CmlmKHYmJm4uSiYmbi5KLmhhcyh2KSYmIVcuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz1hd2FpdCBuLkouZ2V0KHYpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGsuaXNQcm9jZXNzZWQoKXx8KEdXKG4sYixXKSxhd2FpdCB0ZShuLkosdikpLFByb21pc2UucmVzb2x2ZShiKX1hd2FpdCB1X3QoVyk7KHY9Vy5jb25maWc/LnJlcXVlc3RLZXkpJiZuLk4uaGFzKHYpP0Q9bi5OLmdldCh2KTooaz1KU09OLnN0cmluZ2lmeShXLmlubmVyVHViZVJlcXVlc3QpLFcuUGk9ey4uLlcuUGksaGVhZGVyczp7Li4uKFcuUGk/LmhlYWRlcnM/P3t9KSwuLi5EfX0sRD17Li4uVy5QaX0sVy5QaS5tZXRob2Q9PT0iUE9TVCImJihEPXsuLi5ELGJvZHk6a30pLFcuY29uZmlnPy5MYSYmZy5hTChXLmNvbmZpZy5MYSksRD1uLnlHLmZldGNoKFcuaW5wdXQsRCxXLmNvbmZpZyksdiYmbi5OLnNldCh2LEQpKTtpZigoRD1hd2FpdCBEKSYmImVycm9yImluIEQmJkQ/LmVycm9yPy5kZXRhaWxzKXtrPQpELmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGspKGs9aFsiQHR5cGUiXSkmJm85ai5pbmRleE9mKGspPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sRD1oKX12JiZuLk4uaGFzKHYpJiZuLk4uZGVsZXRlKHYpO1cuY29uZmlnPy5SViYmZy5hTChXLmNvbmZpZy5SVik7R1cobixELFcpO1cuY29uZmlnPy5HdCYmZy5hTChXLmNvbmZpZy5HdCk7YigpO3JldHVybiBEfHx2b2lkIDB9OwpnLnJfPWZ1bmN0aW9uKG4sVyxELGIsdj17Qkc6e2lkZW50aXR5OnU5fX0pe3ZhciBrPWcucWooKS5yZXNvbHZlKGcuaHAoJEQpKT8uKCk7aWYoKGcubCgibWF3X25ldHdvcmtfbWFjaGluZV9yYXdfcmVxdWVzdCIpfHxnLmwoImFsbF93ZWJfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0IikpJiZrKXJldHVybiB6VGoobDJqKGsse2lubmVyVHViZVJlcXVlc3Q6VyxhcGlQYXRoOkQsY2xpY2tUcmFja2luZ1BhcmFtczpiLGNvbmZpZzp2LGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbih4PT54LCgpPT57fSk7CnZhciBoPSgpPT57fTsKaD1layh4RChEKSk7Vy5jb250ZXh0fHwoVy5jb250ZXh0PWcudmIoYiwhMCkpO3JldHVybiBuZXcgZy5YMShhc3luYyB4PT57dmFyIEw9SyQoRCk7TD1nLlRkKEwpPyJzYW1lLW9yaWdpbiI6ImNvcnMiO2lmKG4uVy5zQil7dmFyIGU9bi5XLmFqKHY/LkJHPy5pZGVudGl0eXx8dTkse3Nlc3Npb25JbmRleDp2Py5CRz8uc2Vzc2lvbkluZGV4fSk7TD17Li4ua1YoTCksLi4uZX19ZWxzZSBMPWF3YWl0IGludyhuLHYsTCk7ZT1acihLJChEKSk7ZT17aW5wdXQ6ZSxQaTpVeihlKSxpbm5lclR1YmVSZXF1ZXN0OlcsY29uZmlnOnZ9O3goZEhqKG4sZSxMLGgpKX0pfTsKdV90PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe249bi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBXIG9mW10pYXdhaXQgVy5CcyhuKX19OwpHVz1mdW5jdGlvbihuLFcsRCl7aWYoVyYmIVc/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZuLlgpZm9yKGxldCBiIG9mIHNvKW4uWFtiXSYmbi5YW2JdLmhhbmRsZVJlc3BvbnNlKFcsRCl9OwpwbD1mdW5jdGlvbigpe3ZhciBuLFc7cmV0dXJue3JGOm5ldyBOcigoRCxiKT0+e249RDtXPWJ9KSwKcmVzb2x2ZTpuLHJlamVjdDpXfX07CkhQPWZ1bmN0aW9uKG4pe3JldHVybiBZRChuKT9uOllvKG4pP25ldyBOcigoVyxEKT0+e24udGhlbihXLEQpfSk6bmV3IE5yKFc9PntXKG4pfSl9OwpmbD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IE5yKChXLEQpPT57RChuKX0pfTsKSmU9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBIUChuKCkpfWNhdGNoKFcpe3JldHVybiBmbChXKX19Owp6VGo9ZnVuY3Rpb24obil7cmV0dXJuIElqKG4sZy5YMSl9OwpJaj1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgVygoRCxiKT0+e1NrKG4sRCxiKX0pfTsKQWU9YXN5bmMgZnVuY3Rpb24obil7cmV0dXJuIElqKG4sUHJvbWlzZSl9OwptRT1mdW5jdGlvbihuKXtpZihuLk49PT0iZnVsZmlsbGVkIil7dmFyIFc9bi5KO24uSj1bXTtuLlc9W107Zm9yKHZhciBEIG9mIFcpRChuLnJlc3VsdCl9ZWxzZSBpZihuLk49PT0icmVqZWN0ZWQiKXtEPW4uVztuLko9W107bi5XPVtdO2ZvcihXIG9mIEQpVyhuLmVycm9yKX19OwpTaz1mdW5jdGlvbihuLFcsRCl7dmFyIHtyRjpiLHJlc29sdmU6dixyZWplY3Q6a309cGwoKTtuLkoucHVzaChoPT57aWYoVyl0cnl7bGV0IHg9VyhoKTt2KHgpfWNhdGNoKHgpe2soeCl9ZWxzZSB2KGgpfSk7Cm4uVy5wdXNoKGg9PntpZihEKXRyeXtsZXQgeD1EKGgpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIGsoaCl9KTsKbUUobik7cmV0dXJuIGJ9OwpLbD1mdW5jdGlvbihuLFcpe3JldHVybiBTayhuLHZvaWQgMCxXKX07ClRlYj1mdW5jdGlvbihuLFcpe1NrKG4sRD0+U2soSFAoVygpKSwoKT0+RCksRD0+U2soSFAoVygpKSwoKT0+ZmwoRCkpKX07Ck9vPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGpZMShXLmNhbGwobikpfTsKUFA9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKigpe3JldHVybiB5aWVsZHtyRjpIUChuKX19KCl9OwpqWTE9ZnVuY3Rpb24obil7cmV0dXJuIEplKCgpPT5aWShuLG4ubmV4dCgpKSl9OwpaWT1mdW5jdGlvbihuLFcpe3JldHVybiBXLmRvbmU/SFAoVy52YWx1ZSk6S2woU2soVy52YWx1ZS5yRixEPT5aWShuLG4ubmV4dChEKSkpLEQ9PlpZKG4sbi50aHJvdyhEKSkpfTsKRk54PWZ1bmN0aW9uKG4pe3ZhciBXPUNhVShuKTtyZXR1cm4gU2soQmVTKFcpLCgpPT5XLm1hcChEPT5ELnN0YXRlKCkpKX07CkJlUz1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIEhQKE5hTik7dmFyIHtyRjpXLHJlc29sdmU6RH09cGwoKSxiPW4ubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKVRlYihuW3ZdLCgpPT57Vy5OPT09InBlbmRpbmciJiYod1dqKHZvaWQgMCkmJih2b2lkIDApKHYpJiZXLk49PT0icGVuZGluZyI/RCh2KTooLS1iLGI9PT0wJiZEKE5hTikpKX0pOwpyZXR1cm4gV307CkNhVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+SFAoVykpfTsKTUV3PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciB2PSRHKGIuTi5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTt2PXlpZWxkKlBQKEhQKHYpKTtyZXR1cm57Li4ua1YoRCksLi4udn19KCl9KX07ClVvPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09MXx8bj09PTJ9OwpWRTI9ZnVuY3Rpb24obixXLEQ9ITEpe3ZhciBiLHY9Zy53KFcsUlRoKT8ucmVxdWVzdDt2JiZuLk4uaVQmJihiPW4uTi5pVFt2XSk7Ynx8RHx8KHY9Zy53KFcsUVlNKT8uc2lnbmFsKSYmbi5OLndkJiYoYj1uLk4ud2Rbdl0pO2lmKCFiJiYobj1EP24uTi51STpuLk4uemcpKWZvcihsZXQgayBpbiBXKWlmKG5ba10pe2I9bltrXTticmVha31pZighYil7aWYoRCl0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHN0cmVhbWluZyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQgZm9yIGNvbW1hbmQiKTt0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZC4iKTt9Vz1iKCk7cmV0dXJuIEhQKFcpfTsKbDJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ucnVuKCJSRVFVRVNUX0lOSVQiLFcpfTsKeXE9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5ydW4oIlBST0NFU1NfUkVTUE9OU0UiLFcsIlJlc3BvbnNlTWFjaGluZSAoQ2FjaGUpIil9OwpFbz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4ucnVuKCJJTklUIixXLEQhPT12b2lkIDA/YFJlc3BvbnNlTWFjaGluZSAoQ2h1bmsgJHtEfSlgOiJSZXNwb25zZU1hY2hpbmUiKX07CmNTMj1mdW5jdGlvbigpe3ZhciBuPWcucWooKTtnLnhvKG4se05IOmlkLFJjOigpPT5uZXcgTWFwfSk7CmcueG8obix7Tkg6dWQsWUw6dWQscG46ITB9KTtnLnhvKG4se05IOm9qLFlMOm9qLHBuOiEwfSk7Zy54byhuLHtOSDpkXyxZTDpkXyxwbjohMH0pO2cueG8obix7Tkg6elcsWUw6elcscG46ITB9KTtnLnhvKG4se05IOmxkLFlMOmxkLHBuOiEwfSk7Zy54byhuLHtOSDpUVyxZTDpUVyxwbjohMH0pO2cueG8obix7Tkg6amssWUw6amsscG46ITB9KTtnLnhvKG4se05IOkNsLFlMOkNsLHBuOiEwfSk7Zy54byhuLHtOSDpCUCxZTDpCUCxwbjohMH0pO2cueG8obix7Tkg6RjcsWUw6RjcscG46ITB9KTtnLnhvKG4se05IOndfLFJjOihXLEQsYix2LGssaCx4LEwsZSxHKT0+KHtDT01NQU5EX0lOSVQ6TCxSRVFVRVNUX0lOSVQ6ZSxDQUNIRTpELExPQ0FMX1JPVVRFUjp4LENPTlRFWFQ6YixBVVRIOlcsREVEVVBFOnYsRkVUQ0g6aCxSRVRSWTpHLEZBTExCQUNLOmt9KSwKW2cuTFhdOlt1ZCxvaixkXyx6VyxsZCxUVyxqayxDbCxCUCxGN10scG46ITB9KTtnLnhvKG4se05IOiRELFJjOlc9PigpPT5uZXcgZy5NcihXKSwKW2cuTFhdOlt3X10scG46ITB9KTtnLnhvKG4se05IOlJqLFlMOlJqLHBuOiEwfSk7Zy54byhuLHtOSDpRcSxZTDpRcSxwbjohMH0pO2cueG8obix7Tkg6VnEsWUw6VnEscG46ITB9KTtnLnhvKG4se05IOmNQLFlMOmNQLHBuOiEwfSk7Zy54byhuLHtOSDphaixSYzooVyxELGIsdik9Pih7SU5JVDp2LEVSUk9SX1VOUEFDS0VSOkQsUFJPQ0VTU19SRVNQT05TRTpiLENBTExCQUNLX0RJU1BBVENIRVI6V30pLApbZy5MWF06W1JqLFFxLFZxLGNQXSxwbjohMH0pO2cueG8obix7Tkg6blIsUmM6Vz0+KCk9Pm5ldyBXRyhXKSwKW2cuTFhdOlthal0scG46ITB9KX07CnFyPWZ1bmN0aW9uKG4pe3JldHVybnsuLi5uLmRhdGEuaW5uZXJ0dWJlUmVzcG9uc2UsY2FjaGVNZXRhZGF0YTp7aXNDYWNoZUhpdDohMH19fTsKdGU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihELmVudHJ5RGF0YS5pc1Byb2Nlc3NlZD0hMCxhd2FpdCBEdyhuLFcsRC5lbnRyeURhdGEpKX07CkR3PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLko7aWYoRC5leHBpcmVUaW1lc3RhbXBNcyl7Yj1OdW1iZXIoRC5leHBpcmVUaW1lc3RhbXBNcyktTWF0aC5yb3VuZCgoMCxnLlIpKCkpO2xldCB2PXYwKCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiKTt2PjAmJnY8YiYmKGI9dil9Yj1zZXRUaW1lb3V0KCgpPT57bi5yZW1vdmUoVyl9LGIpOwpuLk4uc2V0KFcse2VudHJ5RGF0YTpELHRpbWVyOmJ9KX07CnZHPWZ1bmN0aW9uKG4sVyl7aWYobj1uLk4uZ2V0KFcpKXJldHVybiBuZXcgYmgobi5lbnRyeURhdGEpfTsKa009ZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihjbGVhclRpbWVvdXQoRC50aW1lciksbi5OLmRlbGV0ZShXKSl9OwpoUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9ey4uLm59O2ZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhXKSl7bGV0IGs9blt2XSxoPVdbdl07aWYoaD09PXZvaWQgMClkZWxldGUgYlt2XTtlbHNlIGlmKGs9PT12b2lkIDApYlt2XT1oO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShoKSYmQXJyYXkuaXNBcnJheShrKSliW3ZdPUQ/Wy4uLmssLi4uaF06aDtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGgpJiZnLmZ0KGgpJiYhQXJyYXkuaXNBcnJheShrKSYmZy5mdChrKSliW3ZdPWhSKGssaCxEKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGspYlt2XT1oO2Vsc2UgcmV0dXJuIFc9bmV3IGcuUXgoIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6dixGVzprLHVwZGF0ZVZhbHVlOmh9KSxnLlhqKFcpLG59cmV0dXJuIGJ9Owp4TT1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ubGVuZ3RoPT09MD8hMToobj1uLk5bbi5OLmxlbmd0aC0xXSkmJm4uYnVmZmVyPT09Vy5idWZmZXImJm4uYnl0ZU9mZnNldCtuLmxlbmd0aD09PVcuYnl0ZU9mZnNldH07CkxSPWZ1bmN0aW9uKG4pe24uWD12b2lkIDA7bi5KPTA7bi5XPTB9OwplNT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXLk4pbi5hcHBlbmQoRCl9OwpnZD1mdW5jdGlvbihuLFcsRCl7dmFyIHtDczpiLFk5OnZ9PW4uc3BsaXQoVyk7KHtDczpifT12LnNwbGl0KEQpKTtyZXR1cm4gYn07ClhhPWZ1bmN0aW9uKG4sVyxEKXtuLmlzRm9jdXNlZChXKTtyZXR1cm4gVy1uLlcrRDw9bi5OW24uSl0ubGVuZ3RofTsKcUQ9ZnVuY3Rpb24obil7aWYoIW4uWCl7bGV0IFc9bi5OW24uSl07bi5YPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5sZW5ndGgpfXJldHVybiBuLlh9OwpHNj1mdW5jdGlvbihuLFc9MCxEPS0xKXtpZighbi50b3RhbExlbmd0aHx8IUQpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO0Q8MCYmKEQ9bi50b3RhbExlbmd0aC1XKTtuLmZvY3VzKFcpO2lmKCFYYShuLFcsRCkpe3ZhciBiPW4uSix2PW4uVztuLmZvY3VzKFcrRC0xKTt2PW5ldyBVaW50OEFycmF5KG4uVytuLk5bbi5KXS5sZW5ndGgtdik7bGV0IGs9MDtmb3IobGV0IGg9YjtoPD1uLko7aCsrKXYuc2V0KG4uTltoXSxrKSxrKz1uLk5baF0ubGVuZ3RoO24uTi5zcGxpY2UoYixuLkotYisxLHYpO0xSKG4pO24uZm9jdXMoVyl9Yj1uLk5bbi5KXTtyZXR1cm4gbmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCtXLW4uVyxEKX07CnRSPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249RzYobixXLEQpO3JldHVybiBuZXcgVWludDhBcnJheShuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKX07CiRNPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249dFIobixXLEQpO1c9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3RyeXtXLnNldChuKX1jYXRjaChiKXtmb3IoRD0wO0Q8bi5sZW5ndGg7RCsrKVdbRF09bltEXX1yZXR1cm4gV307CnJkPWZ1bmN0aW9uKG4sVyl7bi5mb2N1cyhXKTtyZXR1cm4gbi5OW24uSl1bVy1uLlddfTsKc3g9ZnVuY3Rpb24obixXKXtuLmZvY3VzKFcpO3JldHVybiBYYShuLFcsNCk/cUQobikuZ2V0VWludDMyKFctbi5XKToyNTYqKDI1NiooMjU2KnJkKG4sVykrcmQobixXKzEpKStyZChuLFcrMikpK3JkKG4sVyszKX07CmEyMj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpwUj1mdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg/TkQ/TkQuZGVjb2RlKG4pOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKToiIn07CmcuSEc9ZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKXJldHVybiIiO3RyeXtpZihORClyZXR1cm4gTkQuZGVjb2RlKG4pO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgobil9Y2F0Y2h7fWZvcih2YXIgVz0wLEQ9W10sYj1uLmxlbmd0aDtXPGI7KXtsZXQgaz0wO2Zvcig7azwxMDI0JiZXPGI7KXt2YXIgdj1uW1crK107aWYodjwxMjgpe1lNW2srK109djtjb250aW51ZX1pZih2PDIyNCl2PSh2JjMxKTw8NnxuW1crK10mNjM7ZWxzZSBpZih2PDI0MCl2PSh2JjE1KTw8MTJ8KG5bVysrXSY2Myk8PDZ8bltXKytdJjYzO2Vsc2V7aWYoaysxPT09MTAyNCl7LS1XO2JyZWFrfXY9KHYmNyk8PDE4fChuW1crK10mNjMpPDwxMnwobltXKytdJjYzKTw8NnxuW1crK10mNjM7di09NjU1MzY7WU1baysrXT01NTI5Nnx2Pj4xMDt2PTU2MzIwfHYmMTAyM31ZTVtrKytdPXZ9dj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKWU0pO2s8MTAyNCYmKHY9di5zdWJzdHJpbmcoMCxrKSk7RC5wdXNoKHYpfXJldHVybiBELmpvaW4oIiIpfTsKSlI9ZnVuY3Rpb24obixXKXtpZihmUj8uZW5jb2RlSW50byl7bGV0IHtyZWFkOmIsd3JpdHRlbjp2fT1mUi5lbmNvZGVJbnRvKG4sVyk7cmV0dXJuIGI8bi5sZW5ndGg/bi5sZW5ndGgqNDp2fXZhciBEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT09NTUyOTYmJmIrMTxuLmxlbmd0aCYmKG4uY2hhckNvZGVBdChiKzEpJjY0NTEyKT09PTU2MzIwPyh2PTY1NTM2KygodiYxMDIzKTw8MTApKyhuLmNoYXJDb2RlQXQoKytiKSYxMDIzKSxXW0QrK109dj4+MTh8MjQwLFdbRCsrXT12Pj4xMiY2M3wxMjgpOldbRCsrXT12Pj4xMnwyMjQsV1tEKytdPXY+PjYmNjN8MTI4KSxXW0QrK109diY2M3wxMjgpfXJldHVybiBEfTsKSXc9ZnVuY3Rpb24obil7aWYoZlIpcmV0dXJuIGZSLmVuY29kZShuKTt2YXIgVz1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobi5sZW5ndGgqMS4yKSksRD1KUihuLFcpO1cubGVuZ3RoPEQmJihXPW5ldyBVaW50OEFycmF5KEQpLEQ9SlIobixXKSk7Vy5sZW5ndGg+RCYmKFc9Vy5zdWJhcnJheSgwLEQpKTtyZXR1cm4gV307Cm1rPWZ1bmN0aW9uKG4sVyl7bj1uIGluc3RhbmNlb2YgVWludDhBcnJheT9uZXcgUzUoW25dKTpuO3JldHVybiBXKG5ldyBBUihuKSl9OwpLUj1mdW5jdGlvbihuKXt2YXIgVz1yZChuLk4sbi5wb3MpOysrbi5wb3M7aWYoVzwxMjgpcmV0dXJuIFc7Zm9yKHZhciBEPVcmMTI3LGI9MTtXPj0xMjg7KVc9cmQobi5OLG4ucG9zKSwrK24ucG9zLGIqPTEyOCxEKz0oVyYxMjcpKmI7cmV0dXJuIER9OwpPeD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uSjtmb3Iobi5KPS0xO24ucG9zKzE8PW4uTi50b3RhbExlbmd0aDspe0Q8MCYmKEQ9S1IobikpO3ZhciBiPUQ+PjM7bGV0IHY9RCY3O2lmKGI9PT1XKXJldHVybiEwO2lmKGI+Vyl7bi5KPUQ7YnJlYWt9RD0tMTtzd2l0Y2godil7Y2FzZSAwOktSKG4pO2JyZWFrO2Nhc2UgMTpuLnBvcys9ODticmVhaztjYXNlIDI6Yj1LUihuKTtuLnBvcys9YjticmVhaztjYXNlIDU6bi5wb3MrPTR9fXJldHVybiExfTsKUEc9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXJldHVybiBLUihuKX07Clp3PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4gVz10UihuLk4sbi5wb3MsOCksbi5wb3MrPTgsKG5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSkuZ2V0RmxvYXQ2NCgwLCEwKX07ClV4PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4hIUtSKG4pfTsKeUE9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXtXPUtSKG4pO3ZhciBEPXRSKG4uTixuLnBvcyxXKTtuLnBvcys9VztyZXR1cm4gRH19OwpFeD1mdW5jdGlvbihuLFcpe2lmKG49eUEobixXKSlyZXR1cm4gZy5IRyhuKX07CmloPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXlBKG4sVykpcmV0dXJuIEQobmV3IEFSKG5ldyBTNShbbl0pKSl9Owp1aD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1bXTtPeChuLFcpOylELnB1c2goS1IobikpO3JldHVybiBELmxlbmd0aD9EOnZvaWQgMH07Cm93PWZ1bmN0aW9uKG4sVyxEKXtmb3IodmFyIGI9W10sdjt2PXlBKG4sVyk7KWIucHVzaChEKG5ldyBBUihuZXcgUzUoW3ZdKSkpKTtyZXR1cm4gYi5sZW5ndGg/Yjp2b2lkIDB9OwpkZD1mdW5jdGlvbihuLFcsRCl7aWYoVyYmRCYmRC5idWZmZXI9PT1XLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcil7bGV0IGI9Vy5tZW1vcnkucmVhbGxvYyhELmJ5dGVPZmZzZXQsbik7aWYoYilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsYixuKX1uPVc/bmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsVy5tZW1vcnkubWFsbG9jKG4pLG4pOm5ldyBVaW50OEFycmF5KG4pO0QmJm4uc2V0KEQpO3JldHVybiBufTsKZy5saD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyB6Nig0MDk2KTtXKEQsbik7cmV0dXJuIG5ldyBVaW50OEFycmF5KEQuTi5idWZmZXIsRC5OLmJ5dGVPZmZzZXQsRC5wb3MpfTsKVDY9ZnVuY3Rpb24obixXKXtXPW4ucG9zK1c7aWYoIShuLk4ubGVuZ3RoPj1XKSl7Zm9yKHZhciBEPW4uTi5sZW5ndGgqMjtEPFc7KUQqPTI7bi5OPWRkKEQsbi5XVixuLk4uc3ViYXJyYXkoMCxuLnBvcykpO24udmlldz1uZXcgRGF0YVZpZXcobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCxuLk4uYnl0ZUxlbmd0aCl9fTsKajU9ZnVuY3Rpb24obixXKXtpZihXPjI2ODQzNTQ1NSl7VDYobiw0KTtsZXQgRD1XJjEwNzM3NDE4MjM7Zm9yKGxldCBiPTA7Yjw0O2IrKyluLnZpZXcuc2V0VWludDgobi5wb3MsRCYxMjd8MTI4KSxEPj4+PTcsbi5wb3MrPTE7Vz1NYXRoLmZsb29yKFcvMjY4NDM1NDU2KX1mb3IoVDYobiw0KTtXPjEyNzspbi52aWV3LnNldFVpbnQ4KG4ucG9zLFcmMTI3fDEyOCksVz4+Pj03LG4ucG9zKz0xO24udmlldy5zZXRVaW50OChuLnBvcyxXKTtuLnBvcys9MX07CkNSPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgpLGo1KG4sRCkpfTsKQkc9ZnVuY3Rpb24obixXLEQpe0QhPT12b2lkIDAmJkNSKG4sVyxEPzE6MCl9OwpnLkZhPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgrMiksVz1ELmxlbmd0aCxqNShuLFcpLFQ2KG4sVyksbi5OLnNldChELG4ucG9zKSxuLnBvcys9Vyl9Owp3ZD1mdW5jdGlvbihuLFcsRD0yKXtqNShuLFcqOCsyKTtuLkoucHVzaChuLnBvcyk7bi5KLnB1c2goRCk7bi5wb3MrPUR9OwpNRD1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5KLnBvcCgpLEQ9bi5KLnBvcCgpLGI9bi5wb3MtRC1XO1ctLTspe2xldCB2PVc/MTI4OjA7bi52aWV3LnNldFVpbnQ4KEQrKyxiJjEyN3x2KTtiPj49N319OwpnLlJ3PWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYod2QobixXLE1hdGguY2VpbChNYXRoLmxvZzIoRC5sZW5ndGgqNCsyKS83KSksVDYobixELmxlbmd0aCoxLjIpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSxuLnBvcytXPm4uTi5sZW5ndGgmJihUNihuLFcpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSksbi5wb3MrPVcsTUQobikpfTsKUUE9ZnVuY3Rpb24obixXLEQsYix2PTMpe0QmJih3ZChuLFcsdiksYihuLEQpLE1EKG4pKX07CmNHPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBBUihuZXcgUzUoW2xwKGRlY29kZVVSSUNvbXBvbmVudChuKSldKSk7bj1FeChXLDIpO1c9UEcoVyw0KTt2YXIgRD1WQVtXXTtpZih0eXBlb2YgRD09PSJ1bmRlZmluZWQiKXRocm93IG49bmV3IGcuUXgoIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGZpZWxkTnVtYmVyOld9KSxnLlhqKG4pLG47cmV0dXJue0RYOlcsZW50aXR5VHlwZTpELGVudGl0eUlkOm59fTsKbmY9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgejY7Zy5GYShELDIsSXcobikpO249YXdbV107aWYodHlwZW9mIG49PT0idW5kZWZpbmVkIil0aHJvdyBXPW5ldyBnLlF4KCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6V30pLGcuWGooVyksVztDUihELDQsbik7Q1IoRCw1LDEpO1c9bmV3IFVpbnQ4QXJyYXkoRC5OLmJ1ZmZlcixELk4uYnl0ZU9mZnNldCxELnBvcyk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChnLkVBKFcsMCkpfTsKV2U9ZnVuY3Rpb24obil7bj1uLmtleXx8bi5pZDtpZighbil0aHJvdyBFcnJvcigiRW50aXR5IGtleSBpcyBtaXNzaW5nIik7cmV0dXJuIG59OwpERz1mdW5jdGlvbihuLFcsRCxiKXtpZihiPT09dm9pZCAwKXtsZXQge1tEXTp2LC4uLmt9PW5bV118fHt9O3JldHVybnsuLi5uLFtXXTprfX1yZXR1cm57Li4ubixbV106ey4uLm5bV10sW0RdOmJ9fX07CmJCPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bltXXXx8e30saD1rW0RdO2lmKCFoJiYhZy5sKCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIG47Yj1oUihofHx7fSxiLHY9PT0iUkVQRUFURURfRklFTERTX01FUkdFX09QVElPTl9BUFBFTkQiKTtyZXR1cm57Li4ubixbV106ey4uLmssW0RdOmJ9fX07Cm5taD1mdW5jdGlvbihuPXt9LFcpe3N3aXRjaChXLnR5cGUpe2Nhc2UgIkVOVElUWV9MT0FERUQiOnJldHVybiBXLnBheWxvYWQucmVkdWNlKChELGIpPT57dmFyIHY9Yi5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtpZih2JiZ2IT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fVU5LTk9XTiImJnYhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9JTk1FTU9SWV9BTkRfUEVSU0lTVCIpcmV0dXJuIEQ7aWYoIWIuZW50aXR5S2V5KXJldHVybiBnLlhqKEVycm9yKCJNaXNzaW5nIGVudGl0eSBrZXkiKSksRDtpZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFiLnBheWxvYWQpcmV0dXJuIGI9bmV3IGcuUXgoIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmIuZW50aXR5S2V5fSksZy5YaihiKSxEO3ZhciBrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIERHKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10pfWlmKGIudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7Yj1iLmVudGl0eUtleTt0cnl7bGV0IGg9Y0coYikuZW50aXR5VHlwZTtrPURHKEQsaCxiKTticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBFcnJvcil7Yj1uZXcgZy5ReCgiRmFpbGVkIHRvIGRlc2VyaWFsaXplIGVudGl0eSBrZXkiLHtlbnRpdHlLZXk6YixvcmlnaW5hbE1lc3NhZ2U6aC5tZXNzYWdlfSk7Zy5YaihiKTtrPUQ7YnJlYWsgYX10aHJvdyBoO31rPXZvaWQgMH1yZXR1cm4ga31pZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIil7aWYoIWIucGF5bG9hZClyZXR1cm4gYj1uZXcgZy5ReCgiVVBEQVRFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpiLmVudGl0eUtleX0pLGcuWGooYiksRDtrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIGJCKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10sYi5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIER9LApuKTsKY2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBERyhuLFcucGF5bG9hZC5lbnRpdHlUeXBlLFcucGF5bG9hZC5rZXksVy5wYXlsb2FkLmc4KTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoVy5wYXlsb2FkKS5yZWR1Y2UoKEQsYik9Pnt2YXIgdj1XLnBheWxvYWRbYl07cmV0dXJuIE9iamVjdC5rZXlzKHYpLnJlZHVjZSgoayxoKT0+REcoayxiLGgsdltoXSksRCl9LG4pOwpjYXNlICJVUERBVEVfRU5USVRZIjpyZXR1cm4gYkIobixXLnBheWxvYWQuZW50aXR5VHlwZSxXLnBheWxvYWQua2V5LFcucGF5bG9hZC5nOCxXLnBheWxvYWQublApO2RlZmF1bHQ6cmV0dXJuIG59fTsKVzRVPWZ1bmN0aW9uKCl7aWYodmUpcmV0dXJuIHZlKCk7dmU9a08oIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7S2M6e0VudGl0eVN0b3JlOnt2eDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOnt2eDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDEpJiZFUihaeShuLCJFbnRpdHlTdG9yZSIse2tleVBhdGg6ImtleSJ9KSwiZW50aXR5VHlwZSIsImVudGl0eVR5cGUiKTtXKDIpJiYobj1aeShuLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxFUihuLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLEVSKG4sImJ5Q2hpbGRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSIpKX0sdmVyc2lvbjozfSk7cmV0dXJuIHZlKCl9OwpEZlM9ZnVuY3Rpb24obil7cmV0dXJuIENGKFc0VSgpLG4pfTsKayQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KG4pOkFycmF5KG4pfTsKWDg9ZnVuY3Rpb24obil7dmFyIFc9bi5rZXksRD1uLmNvdW50ZXJbMF1eV1swXSxiPW4uY291bnRlclsxXV5XWzFdLHY9bi5jb3VudGVyWzJdXldbMl0saz1uLmNvdW50ZXJbM11eV1szXTtmb3IodmFyIGg9MztoPj0wJiYhKG4uY291bnRlcltoXT0tfm4uY291bnRlcltoXSk7aC0tKTtmb3IodmFyIHgsTCxlPTQ7ZTw0MDspaD1oRVtEPj4+MjRdXngkW2I+PjE2JjI1NV1eTGZbdj4+OCYyNTVdXmVZW2smMjU1XV5XW2UrK10seD1oRVtiPj4+MjRdXngkW3Y+PjE2JjI1NV1eTGZbaz4+OCYyNTVdXmVZW0QmMjU1XV5XW2UrK10sTD1oRVt2Pj4+MjRdXngkW2s+PjE2JjI1NV1eTGZbRD4+OCYyNTVdXmVZW2ImMjU1XV5XW2UrK10saz1oRVtrPj4+MjRdXngkW0Q+PjE2JjI1NV1eTGZbYj4+OCYyNTVdXmVZW3YmMjU1XV5XW2UrK10sRD1oLGI9eCx2PUw7bj1uLko7aD1XWzQwXTtuWzBdPWdOW0Q+Pj4yNF1eaD4+PjI0O25bMV09Z05bYj4+MTYmMjU1XV5oPj4xNiYyNTU7blsyXT1nTlt2Pj44JgoyNTVdXmg+PjgmMjU1O25bM109Z05bayYyNTVdXmgmMjU1O2g9V1s0MV07bls0XT1nTltiPj4+MjRdXmg+Pj4yNDtuWzVdPWdOW3Y+PjE2JjI1NV1eaD4+MTYmMjU1O25bNl09Z05baz4+OCYyNTVdXmg+PjgmMjU1O25bN109Z05bRCYyNTVdXmgmMjU1O2g9V1s0Ml07bls4XT1nTlt2Pj4+MjRdXmg+Pj4yNDtuWzldPWdOW2s+PjE2JjI1NV1eaD4+MTYmMjU1O25bMTBdPWdOW0Q+PjgmMjU1XV5oPj44JjI1NTtuWzExXT1nTltiJjI1NV1eaCYyNTU7aD1XWzQzXTtuWzEyXT1nTltrPj4+MjRdXmg+Pj4yNDtuWzEzXT1nTltEPj4xNiYyNTVdXmg+PjE2JjI1NTtuWzE0XT1nTltiPj44JjI1NV1eaD4+OCYyNTU7blsxNV09Z05bdiYyNTVdXmgmMjU1fTsKdEU9ZnVuY3Rpb24oKXtpZighcWEmJiFnLlJnKXtpZihHcilyZXR1cm4gR3I7R3I9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKEdyPy5pbXBvcnRLZXkmJkdyPy5zaWduJiZHcj8uZW5jcnlwdClyZXR1cm4gR3I7R3I9dm9pZCAwfX07CmJoMT1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJBRVMtQ1RSIn0sITEsWyJlbmNyeXB0Il0pKTtuPWF3YWl0IG4uSi5lbmNyeXB0KHtuYW1lOiJBRVMtQ1RSIixjb3VudGVyOkQsbGVuZ3RoOjEyOH0sbi5OLFcpO3JldHVybiBuZXcgVWludDhBcnJheShuKX07CiQkPWZ1bmN0aW9uKG4pe24uTj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO24uSz1bXTtuLksubGVuZ3RoPTY0O24uWD0wO24uSj0wfTsKc2U9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSyx2PW4uTlswXSxrPW4uTlsxXSxoPW4uTlsyXSx4PW4uTlszXSxMPW4uTls0XSxlPW4uTls1XSxHPW4uTls2XSxyPW4uTls3XSxOO2ZvcihsZXQgeT0wO3k8NjQ7KXtpZih5PDE2KWJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NDtlbHNle3ZhciBIPWJbeS0yXTt2YXIgQT1iW3ktMTVdO049Ylt5LTddK2JbeS0xNl0rKChIPj4+MTd8SDw8MTUpXihIPj4+MTl8SDw8MTMpXkg+Pj4xMCkrKChBPj4+N3xBPDwyNSleKEE+Pj4xOHxBPDwxNCleQT4+PjMpO2JbeV09Tn1IPXIrck5beV0rTisoKEw+Pj42fEw8PDI2KV4oTD4+PjExfEw8PDIxKV4oTD4+PjI1fEw8PDcpKSsoTCZlXn5MJkcpO0E9KCh2Pj4+Mnx2PDwzMCleKHY+Pj4xM3x2PDwxOSleKHY+Pj4yMnx2PDwxMCkpKyh2JmtediZoXmsmaCk7cj1IK0E7eCs9SDt5Kys7eTwxNj8oYlt5XT1OPVdbRF08PDI0fFdbRCsxXTw8MTZ8V1tEKzJdPDw4fFdbRCsKM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9RytyTlt5XStOKygoeD4+PjZ8eDw8MjYpXih4Pj4+MTF8eDw8MjEpXih4Pj4+MjV8eDw8NykpKyh4JkxefngmZSk7QT0oKHI+Pj4yfHI8PDMwKV4ocj4+PjEzfHI8PDE5KV4ocj4+PjIyfHI8PDEwKSkrKHImdl5yJmtediZrKTtHPUgrQTtoKz1IO3krKzt5PDE2PyhiW3ldPU49V1tEXTw8MjR8V1tEKzFdPDwxNnxXW0QrMl08PDh8V1tEKzNdLEQrPTQpOihIPWJbeS0yXSxBPWJbeS0xNV0sTj1iW3ktN10rYlt5LTE2XSsoKEg+Pj4xN3xIPDwxNSleKEg+Pj4xOXxIPDwxMyleSD4+PjEwKSsoKEE+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyksYlt5XT1OKTtIPWUrck5beV0rTisoKGg+Pj42fGg8PDI2KV4oaD4+PjExfGg8PDIxKV4oaD4+PjI1fApoPDw3KSkrKGgmeF5+aCZMKTtBPSgoRz4+PjJ8Rzw8MzApXihHPj4+MTN8Rzw8MTkpXihHPj4+MjJ8Rzw8MTApKSsoRyZyXkcmdl5yJnYpO2U9SCtBO2srPUg7eSsrO3k8MTY/KGJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9TCtyTlt5XStOKygoaz4+PjZ8azw8MjYpXihrPj4+MTF8azw8MjEpXihrPj4+MjV8azw8NykpKyhrJmhefmsmeCk7QT0oKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKSkrKGUmR15lJnJeRyZyKTtOPXI7cj14O3g9TjtOPUc7Rz1oO2g9TjtOPWU7ZT1rO2s9TjtMPXYrSDt2PUgrQTt5Kyt9bi5OWzBdPXYrbi5OWzBdfDA7bi5OWzFdPWsrbi5OWzFdfDA7bi5OWzJdPWgrbi5OWzJdfAowO24uTlszXT14K24uTlszXXwwO24uTls0XT1MK24uTls0XXwwO24uTls1XT1lK24uTls1XXwwO24uTls2XT1HK24uTls2XXwwO24uTls3XT1yK24uTls3XXwwfTsKTmE9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMzIpLEQ9NjQtbi5KO24uSj41NSYmKEQrPTY0KTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiWzBdPTEyODt2YXIgdj1uLlgqODtmb3IobGV0IGs9MTtrPDk7aysrKXtsZXQgaD12JTI1NjtiW0Qta109aDt2PSh2LWgpLzI1Nn1uLnVwZGF0ZShiKTtmb3IoRD0wO0Q8ODtEKyspV1tEKjRdPW4uTltEXT4+PjI0LFdbRCo0KzFdPW4uTltEXT4+PjE2JjI1NSxXW0QqNCsyXT1uLk5bRF0+Pj44JjI1NSxXW0QqNCszXT1uLk5bRF0mMjU1OyQkKG4pO3JldHVybiBXfTsKcGY9ZnVuY3Rpb24obixXLEQpe249bmV3IHZtaShuLk4pO24udXBkYXRlKFcpO24udXBkYXRlKEQpO1c9TmEobik7bi51cGRhdGUobi5qKTtuLnVwZGF0ZShXKTtXPU5hKG4pO24ucmVzZXQoKTtyZXR1cm4gV307CmtTaj1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJITUFDIixoYXNoOiJTSEEtMjU2In0sITEsWyJzaWduIl0pKTt2YXIgYj1uZXcgVWludDhBcnJheShXLmxlbmd0aCtELmxlbmd0aCk7Yi5zZXQoVyk7Yi5zZXQoRCxXLmxlbmd0aCk7bj1hd2FpdCBuLkouc2lnbih7bmFtZToiSE1BQyIsaGFzaDoiU0hBLTI1NiJ9LG4uTixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9Owp4ZlM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7bi5KfHwobi5KPW5ldyBoYXcobi5OLGIpKTtyZXR1cm4ga1NqKG4uSixXLEQpfTsKSGU9ZnVuY3Rpb24obixXLEQpe24uV3x8KG4uVz1uZXcgWSQobi5OKSk7cmV0dXJuIHBmKG4uVyxXLEQpfTsKTDRaPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10RSgpO2lmKGIpdHJ5e3JldHVybiBhd2FpdCB4ZlMobixXLEQsYil9Y2F0Y2godil7cmV0dXJuIGcuR3EodikscWE9ITAsSGUobixXLEQpfWVsc2UgcmV0dXJuIEhlKG4sVyxEKX07CmVhVT1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIEVycm9yP25ldyBmZigiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6bi5tZXNzYWdlfSk6bmV3IGZmKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTsKZ20yPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRXJyb3I/bmV3IGZmKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTpuLm1lc3NhZ2V9KTpuZXcgZmYoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpKRT1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIGZmP246VyhuKTtnLlhqKG4pO3Rocm93IG47fTsKSTg9ZnVuY3Rpb24obil7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUobikuc3ViYXJyYXkoMCwxNik7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMTYpO1cuc2V0KG4pO3JldHVybiBXfTsKcXNVPWZ1bmN0aW9uKCl7dmFyIG49WHlVLnZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTtpZihuKXJldHVybiBuO2cuR3EobmV3IGcuUXgoIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5In0pKX07CkFFPWZ1bmN0aW9uKG4sVyl7YTp7bj1TWShuLlcsVy52ZXJzaW9uKTt0cnl7dmFyIEQ9bi5KKFcuZGF0YSxXLmtleSk7YnJlYWsgYX1jYXRjaChiKXtKRShiLGdtMil9RD12b2lkIDB9cmV0dXJuIER9OwpHU3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmluZGV4KCJlbnRpdHlUeXBlIikuZ2V0QWxsKElEQktleVJhbmdlLm9ubHkoVykpLnRoZW4oRD0+RC5tYXAoYj0+QUUobixiKSkpfTsKJGZpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V2UoVyk7cmV0dXJuIG1MKG4sRCkudGhlbigoKT0+dENoKG4sVykpfTsKS2Y9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSltEXTtifHwoYj1uZXcgU2V0LG4uSltEXT1iKTtiLmFkZChXKX07CnIzWj1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9U1kobi5XLDEpLHY9ey4uLld9O3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZ2V0KEQpLnRoZW4oaz0+e2lmKGspe2lmKGsuZW50aXR5VHlwZSE9PSJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKXRocm93IEVycm9yKCJJbmNvcnJlY3QgZW50aXR5IHR5cGUiKTt2LmVudGl0eU1ldGFkYXRhfHwoaz1BRShuLGspLHYuZW50aXR5TWV0YWRhdGE9ay5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e2E6e3RyeXt2YXIgaz1iLlcodixEKTsKYnJlYWsgYX1jYXRjaChoKXtKRShoLGVhVSl9az12b2lkIDB9az17a2V5OkQsZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IixkYXRhOmssdmVyc2lvbjoxfTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikucHV0KGspLCRmaShuLHYpXSl9KS50aGVuKCgpPT57S2YobixELCJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKTsKcmV0dXJuIER9KX07Ck9lPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Y0coVykuZW50aXR5VHlwZTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZGVsZXRlKFcpLG1MKG4sVyldKS50aGVuKCgpPT57S2YobixXLEQpfSl9OwptTD1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShXKSl9OwpzeHI9ZnVuY3Rpb24obixXKXtXPVcubWFwKEQ9Pk9lKG4sRCkpOwpyZXR1cm4gc1IuYWxsKFcpLnRoZW4oKCk9Pnt9KX07CnRDaD1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9cXNVKCk7aWYoIWIpcmV0dXJuIHNSLnJlc29sdmUoW10pO1c9bmV3IGIoVyk7bj1uLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtiPVtdO2ZvcihsZXQgdiBvZiBXLkooKSliLnB1c2gobi5wdXQoe3BhcmVudEVudGl0eUtleTpELGNoaWxkRW50aXR5S2V5OnZ9KSk7cmV0dXJuIHNSLmFsbChiKS50aGVuKHY9PnYubWFwKGs9PmtbMV0pKX07ClNZPWZ1bmN0aW9uKG4sVz0wKXtuPW4uTltXXTtpZighbil0aHJvdyBXPW5ldyBmZigiSU5WQUxJRF9FTkNPREVSX1ZFUlNJT04iLHtPQTpXfSksZy5YaihXKSxXO3JldHVybiBufTsKUGU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5vYnNlcnZlcnMpRChXKX07ClpHPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1hd2FpdCBEZlMobi50b2tlbiksdjtXPWF3YWl0IE9SKGIsWyJFbnRpdHlTdG9yZSIsIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiXSxXLGs9Pnt2PW5ldyBOR3coayxuLk4pO3JldHVybiBEKHYpfSk7CnYmJihiPXYuSixPYmplY3Qua2V5cyhiKS5sZW5ndGg+MCYmKG4uY2hhbm5lbC5wb3N0TWVzc2FnZShiKSxQZShuLGIpKSk7cmV0dXJuIFd9OwpweXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gWkcobix7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+cjNaKEQsVykpfTsKWXNNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pk9lKEQsVykpfTsKSGh3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnN4cihELFcpKX07ClVlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWRvbmx5IixHUTohMH0sRD0+R1N3KEQsVykpfTsKSTkyPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e2xldCBXPWF3YWl0IGcublAoKTtpZihXJiZSOSgpJiZ0eXBlb2YgZy5xaS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBuPW5ldyBmOWk7cmV0dXJuIG5ldyBKM2koVyxuKX19Y2F0Y2goVyl7VyBpbnN0YW5jZW9mIEVycm9yJiZnLlhqKFcpfX07CnlXPWZ1bmN0aW9uKCl7dmFyIG49WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLmZldGNoO3JldHVybiEhbiYmbi5sZW5ndGg9PT0zfTsKRWU9ZnVuY3Rpb24obixXKXtXPU51bWJlcihXKSoxRTM7dmFyIEQ9TWF0aC5yb3VuZCgoMCxnLlIpKCkpLGI9RC50b1N0cmluZygpO249e2lubmVydHViZVJlc3BvbnNlOm4sc2VydmVyRGF0ZVRpbWVzdGFtcE1zOmIsbGFzdE1vZGlmaWVkVGltZXN0YW1wTXM6YixleHBpcmVUaW1lc3RhbXBNczooRCtXKS50b1N0cmluZygpLGlzUHJvY2Vzc2VkOiEwfTtpZihXPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpbi5jbGllbnROYW1lPVc7cmV0dXJuIG59Owp1Qj1mdW5jdGlvbihuLFcsRCl7aWYoIWcubCgic3RhdGVfdGFnc19raWxsc3dpdGNoIikpe3ZhciBiPW5ldyBpQihXKTtpZigoYi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W10pLmxlbmd0aD4wKXt2YXIgdj1uLk4udUIoKTtmb3IobGV0IGggb2Ygdil7dmFyIGs9dkcobi5OLGgpO2lmKGspe2E6e3Y9Yi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W107az0obmV3IGlCKHFyKGspKSkuTj8ucmVsZXZhbnRTdGF0ZVRhZ3N8fFtdO2ZvcihsZXQgeCBvZiBrKWlmKHguc3RhdGVUYWchPW51bGwmJnYuaW5jbHVkZXMoeC5zdGF0ZVRhZykmJngub25TdGF0ZVRhZ01vZGlmaWVkPT09IlNUQVRFX1RBR19DQUNIRV9JTlNUUlVDVElPTl9FVklDVF9SRVNQT05TRSIpe3Y9ITA7YnJlYWsgYX12PSExfXYmJmtNKG4uTixoKX19fX1iPVcucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzO0QmJmImJk51bWJlcihiKT4wJiYoVz1FZShXLGIpLG4uTi5wdXQoRCxuZXcgYmgoVykpKX07ClNzWj1mdW5jdGlvbihuLFcsRCl7aWYobi5OKXtsZXQgYj1TMShUNShXLCJrZXkiKSl8fCIvVU5LTk9XTl9QQVRIIjtuLk4uc3RhcnQoYil9bj1EO2cubCgid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0IikmJihuPU1YUyhEKSk7cmV0dXJuIG5ldyB3aW5kb3cuUmVxdWVzdChXLG4pfTsKZE49YXN5bmMgZnVuY3Rpb24obixXLEQsYix2LGspe2lmKGs/LmFib3J0ZWQpcmV0dXJuIFcuY2FuY2VsKCksYjt2YXIge3ZhbHVlOmgsZG9uZTp4fT1hd2FpdCBXLnJlYWQoKTtpZih4KXJldHVybiBuLk4/LnN1Y2Nlc3MoKSxiO3RyeXt2YXIgTD1ELnBhcnNlKGgpfWNhdGNoKGUpe3Rocm93IG5ldyBvOCgiRmFpbGVkIHRvIHBhcnNlIHN0cmVhbWluZyByZXNwb25zZSIsaCk7fWlmKEwhPW51bGwpZm9yKGxldCBlIG9mIEwpYi5wdXNoKGUpLHY/LihlKTtyZXR1cm4gZE4obixXLEQsYix2LGspfTsKbmM9ZnVuY3Rpb24obixXLEQpe2lmKCF6cil7bGV0IGs9Zy5xaigpO2cueG8oayx7Tkg6bEIsWUw6VHJ9KTtpZihEPy5vUyl7Zy54byhrLHtOSDpqWSxQZjpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsRC5jbGllbnRJbnRlcmZhY2UpfSk7Zy54byhrLHtOSDpDZixQZjo1MTg0RTZ9KTtnLnhvKGsse05IOkJlLFlMOkEzaixbZy5MWF06W2pZLENmXX0pO2cueG8oayx7Tkg6RjgsWUw6d059KTt2YXIgYj1rLnJlc29sdmUoRjgpO2xldCBoPXdpbmRvdztpZihoLnl0SW5pdGlhbFZpZGVvSWQpe3ZhciB2PWgueXRJbml0aWFsVmlkZW9JZDtoLnl0SW5pdGlhbFBsYXllclJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsUGxheWVyUmVzcG9uc2UseUgoInBsYXllciIse3ZpZGVvSWQ6dn0pKTtoLnl0SW5pdGlhbFdhdGNoTmV4dFJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsV2F0Y2hOZXh0UmVzcG9uc2UseUgoIm5leHQiLHt2aWRlb0lkOnZ9KSk7aC55dEluaXRpYWxSZWVsSXRlbVdhdGNoUmVzcG9uc2UmJgp1QihiLGgueXRJbml0aWFsUmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHlIKCJyZWVsX2l0ZW1fd2F0Y2giLHt2aWRlb0lkOnZ9KSl9fWcueG8oayx7Tkg6TWEsUGY6e3pnOntmZWVkYmFja0VuZHBvaW50OmhtKG1mUyksbW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludDpobShLNGkpLHBsYXlsaXN0RWRpdEVuZHBvaW50OmhtKE9ociksc2hhcmVFbnRpdHlFbmRwb2ludDpobShSOCksc3Vic2NyaWJlRW5kcG9pbnQ6aG0oUEd4KSx1bnN1YnNjcmliZUVuZHBvaW50OmhtKFpodCksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6aG0oVWZaKX19fSk7dj1iJC5nZXRJbnN0YW5jZSgpO2I9e307diYmKGIuY2xpZW50X2xvY2F0aW9uPXYpO0Q/Lm9TJiYodj1rLnJlc29sdmUoRjgpLGIuc3RvcmU9dixiLnJlc29sdmVfdXJsX3ByZWZldGNoPWsucmVzb2x2ZShRVykpO2cueG8oayx7Tkg6VlcsUGY6Yn0pO2cueG8oayx7Tkg6Y2UsUGY6biE9PXZvaWQgMD8KbjppTygpfSk7Vz09PXZvaWQgMCYmKFc9ay5yZXNvbHZlKGxCKSk7Zy5sKCJhbGxfd2ViX2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmY1MyKCk7RTliKGsucmVzb2x2ZShNYSksVyxrLnJlc29sdmUoY2UpLGsucmVzb2x2ZShWVyksRD8ub1M/ay5yZXNvbHZlKEJlKTp2b2lkIDApO2cueG8oayx7Tkg6YTgsUGY6WDcuaW5zdGFuY2V9KTt6cj1rLnJlc29sdmUoYTgpfXJldHVybiB6cn07CldRPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249bi5zcGxpdCgiJiIpO2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09MiYmKFdbblswXV09blsxXSk7cmV0dXJuIFd9Owp5M3I9YXN5bmMgZnVuY3Rpb24oKXt2YXIgbj13aW5kb3c7YXdhaXQgZy5NaChnLkQ2KCkpO3ZhciBXPW4uYmdldm1jO2lmKCFXKXRocm93IEVycm9yKCJCR0UgQ29udHJvbHMgbm90IGV4cG9zZWQiKTtyZXR1cm57cGF1c2U6KCk9PntXLnAoKX0sCnJlc3VtZTooKT0+e1cucigpfSwKY2hlY2tGb3JSZWZyZXNoOigpPT5XLmNyKCl9fTsKZy5ENj1mdW5jdGlvbigpe3JldHVybiBnLmwoImJnX3N0X2hyIik/ImhhdnVva21oaHMtMCI6YGhhdnVva21oaHMtJHtNYXRoLmZsb29yKGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/LnRpbWVPcmlnaW58fDApfWB9OwpiMD1mdW5jdGlvbihuKXt3aW5kb3cuYmdlbnM9bn07CkVteD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShuPT57dmFyIFc9d2luZG93O1cubnRwZXZhc3JzIT09dm9pZCAwP24obmV3IHZRKFcubnRwZXZhc3JzKSk6KFcubnRwcWZiZWw9PT12b2lkIDAmJihXLm50cHFmYmVsPVtdKSxXLm50cHFmYmVsLnB1c2goRD0+e24obmV3IHZRKEQpKX0pKX0pfTsKeDU9ZnVuY3Rpb24oKXtpZihnLmFLKCkpe3ZhciBuPWcuQXIoIlBMQVlFUl9WQVJTIix7fSk7aWYoZy4keShuLCJwcml2ZW1iZWQiLCExKSE9IjEiJiYhZy54UihuKSl7dmFyIFc9KCk9PntrNT0hMDsiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3c/Zy5TSCgiRENMS1NUQVQiLDEpOmcuU0goIkRDTEtTVEFUIiwyKX07CnRyeXtsZXQgRD1Taihkb2N1bWVudCk7aU0oaGosVyxEKX1jYXRjaChEKXt9aWhDLnB1c2godGEuTFMoKCk9PntpZighKGs1fHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7aWYoaGoudG9TdHJpbmcoKSYmVyl7dmFyIEQ9YCR7QWkoVyl9YCxiPW9JW0RdO2ImJlBVKGIpfX1jYXRjaCh2KXt9azU9ITA7Zy5TSCgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07CkxjPWZ1bmN0aW9uKCl7dmFyIG49TnVtYmVyKGcuQXIoIkRDTEtTVEFUIiwwKSk7cmV0dXJuIGlzTmFOKG4pPzA6bn07CmV0PWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpvbU09YXN5bmMgZnVuY3Rpb24obil7aWYoZy5xaS55dEF0UCYmIWcubCgieXRhdHBfa3MiKSl7dmFyIFc9YXdhaXQgZy5xaS55dEF0UDtkZWxldGUgZy5xaS55dEF0UDt2YXIgRD1XPy5SO3ZhciBiPVc/LlQ7Vz11dDIoRCk7bGV0IGs9ISFiO24uSi5KKEQ/Vz9rPzc6MTA6az8xOjg6az8yOjksbi5XKyspO2lmKCFEfHxXKUQ9YXdhaXQgWHkobixxZShiLG51bGwpKSxEPUpTT04uc3RyaW5naWZ5KEQpO2cucWkueXRBdFJDP2cucWkueXRBdFJDKEQpOmcuR3EoRXJyb3IoInl0QXRSQyBub3QgZGVmaW5lZCBmb3IgeXRBdFAuIikpfWVsc2UgZy5xaS55dEF0UkM/Zy5WeCgwLGFzeW5jKCk9PntiPWcucWkueXRBdFQ7ZGVsZXRlIGcucWkueXRBdFQ7aWYoZy5xaS55dEF0UkMpe24uSi5KKDIsbi5XKyspO3ZhciBrPWF3YWl0IFh5KG4scWUoYixudWxsKSk7Zy5xaS55dEF0UkMmJmcucWkueXRBdFJDKEpTT04uc3RyaW5naWZ5KGspKX1lbHNlIG4uSi5KKDYsbi5XKyspfSwyLHYwKCJhdHRfaW5pdF9kZWxheSIsCjApKTooYj1nLnFpLnl0QXRULGRlbGV0ZSBnLnFpLnl0QXRULG4uSi5KKDEsbi5XKyspKTsKRD1hd2FpdCBFbXgoKTtELmJpbmRJbm5lcnR1YmVDaGFsbGVuZ2VGZXRjaGVyKGs9PntuLkouSigzLG4uVysrKTtyZXR1cm4gWHkobixxZShiLGspKX0pOwpELnJlZ2lzdGVyQ2hhbGxlbmdlRmV0Y2hlZENhbGxiYWNrKGs9PntrPWsuY2hhbGxlbmdlO2lmKCFrKXRocm93IEVycm9yKCJCR0VfTUFDUiIpO2s9e2NoYWxsZW5nZTprLFJSOldRKGspLE8xOnYsYmdDaGFsbGVuZ2U6bmV3IHIkfTtrPVByb21pc2UucmVzb2x2ZShrKTtuLk49a30pOwp2YXIgdj1hd2FpdCBnLk1oKGcuRDYoKSk7RD1ELmdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCkuY2hhbGxlbmdlO2lmKCFEKXRocm93IEVycm9yKCJCR0VfTUFDSUwiKTtyZXR1cm57Y2hhbGxlbmdlOkQsUlI6V1EoRCksTzE6dixiZ0NoYWxsZW5nZTpuZXcgciR9fTsKdGo9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9cWUodm9pZCAwLGckKCkuTik7dHJ5e3ZhciBEPWF3YWl0IGRmMihuLFcpfWNhdGNoKHgpe3JldHVybiBnLkdxKEVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXR0ZXN0YXRpb24gY2hhbGxlbmdlIGFmdGVyIDUgYXR0ZW1wdHM7IG5vdCByZXRyeWluZyBmb3IgMjRoLiIpKSxHMChuLDg2NEU1KSx7Y2hhbGxlbmdlOiIiLFJSOnt9LE8xOnZvaWQgMCxiZ0NoYWxsZW5nZTp2b2lkIDB9fVc9RC5RRjt2YXIgYj1ELlR0O0cwKG4sKE51bWJlcihiLnQpfHw3MjAwKSoxRTMpO249dm9pZCAwO2lmKCJjMWEiaW4gYiYmRC5iZ0NoYWxsZW5nZSl7RD1ELmJnQ2hhbGxlbmdlO3ZhciB2PW5ldyByJDtpZihELmludGVycHJldGVySmF2YXNjcmlwdCl7dmFyIGs9Tk4oRC5pbnRlcnByZXRlckphdmFzY3JpcHQpO2s9S2IoaykudG9TdHJpbmcoKTt2YXIgaD1uZXcgcXY7Zy5TRShoLDYsayk7JDkodixxdiwxLGgseFUpfWVsc2UgRC5pbnRlcnByZXRlclVybCYmCihrPXB3KEQuaW50ZXJwcmV0ZXJVcmwpLGs9eDMoaykudG9TdHJpbmcoKSxoPW5ldyBHSCxnLlNFKGgsNCxrKSwkOSh2LEdILDIsaCx4VSkpO0QuaW50ZXJwcmV0ZXJIYXNoJiZBUyh2LDMsRC5pbnRlcnByZXRlckhhc2gseFUpO0QucHJvZ3JhbSYmQVModiw0LEQucHJvZ3JhbSx4VSk7RC5nbG9iYWxOYW1lJiZBUyh2LDUsRC5nbG9iYWxOYW1lLHhVKTtELmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iJiZBUyh2LDcsRC5jbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYix4VSk7dHJ5e2F3YWl0IHRxKGckKCksdil9Y2F0Y2goeCl7cmV0dXJuIGcuR3EoeCkse2NoYWxsZW5nZTpXLFJSOmIsTzE6bixiZ0NoYWxsZW5nZTp2fX10cnl7bj1uZXcgQXEoe2NoYWxsZW5nZTp2LHgzOntWajoiYUdJZiJ9fSksYXdhaXQgbi5Pdn1jYXRjaCh4KXtnLkdxKHgpLG49dm9pZCAwfX1yZXR1cm57Y2hhbGxlbmdlOlcsUlI6YixPMTpuLGJnQ2hhbGxlbmdlOnZ9fTsKWHk9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLlg7aWYoIUR8fEQuV0coKSlyZXR1cm4gJDUobixXKTtnLmdfKCJhdHRfcG5hIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBuZXcgUHJvbWlzZShiPT57RC5lRigicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PnskNShuLFcpLnRoZW4oYil9KX0pfTsKZGYyPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPXZvaWQgMCxiPTA7Yjw1Oyl7aWYoYj4wKXtsZXQgdj0xRTMqTWF0aC5wb3coMixiLTEpK01hdGgucmFuZG9tKCkqMUUzO2F3YWl0IG5ldyBQcm9taXNlKGs9PntnLmNCKDAsKCk9PntrKHZvaWQgMCl9LHYpfSl9dHJ5e24uSi5KKDQsbi5XKyspOwpsZXQgdj1hd2FpdCBYeShuLFcpO3JldHVybiB6YWkodil9Y2F0Y2godil7RD12LHYgaW5zdGFuY2VvZiBFcnJvciYmZy5HcSh2KX1iKyt9dGhyb3cgRDt9OwpHMD1mdW5jdGlvbihuLFcpe3ZhciBEPURhdGUubm93KCkrVyxiPWFzeW5jKCk9Pnt2YXIgdj1ELURhdGUubm93KCk7djwxRTM/YXdhaXQgbDlpKG4pOmcuY0IoMCxiLE1hdGgubWluKHYsNkU0KSl9OwpiKCl9OwokNT1hc3luYyBmdW5jdGlvbihuLFcpe2IwKDIpO3RyeXtsZXQgRD1hd2FpdCBYeShuLm5ldHdvcmssVyk7RD9ELmNoYWxsZW5nZSYmIUQuYmdDaGFsbGVuZ2U/YjAoMSk6YjAoNCk6YjAoMyk7cmV0dXJuIER9Y2F0Y2goRCl7YjAoMyl9fTsKemFpPWZ1bmN0aW9uKG4pe2lmKCFuKXRocm93IEVycm9yKCJGZXRjaGluZyBBdHRlc3RhdGlvbiBjaGFsbGVuZ2UgcmV0dXJuZWQgZmFsc3kiKTtpZighbi5jaGFsbGVuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgQXR0ZXN0YXRpb24gY2hhbGxlbmdlIik7dmFyIFc9bi5jaGFsbGVuZ2UsRD1XUShXKTtpZigiYzFhImluIEQmJighbi5iZ0NoYWxsZW5nZXx8IW4uYmdDaGFsbGVuZ2UucHJvZ3JhbSkpdGhyb3cgRXJyb3IoIkV4cGVjdGVkIGJnIGNoYWxsZW5nZSBidXQgbWlzc2luZy4iKTtyZXR1cm57Li4ubixRRjpXLFR0OkR9fTsKbDlpPWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPWF3YWl0IFByb21pc2UucmFjZShbbi5OLG51bGxdKSxEPXRqKG4pO24uTj1EO1c/Lk8xPy5kaXNwb3NlKCl9OwpUR2g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IFByb21pc2UoRD0+e2cuY0IoMCwoKT0+e0QoVygpKX0sbil9KX07CnFlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e2VuZ2FnZW1lbnRUeXBlOiJFTkdBR0VNRU5UX1RZUEVfVU5CT1VORCJ9O24mJihELmVhY3JUb2tlbj1uKTtXJiYoRC5pbnRlcnByZXRlckhhc2g9Vyk7cmV0dXJuIER9Owp1dDI9ZnVuY3Rpb24obil7aWYoIW58fCFnLmwoInJvc2NhcyIpKXJldHVybiExO3RyeXt2YXIgVz1KU09OLnBhcnNlKG4pfWNhdGNoKEQpe3JldHVybiExfW49Vy5jaGFsbGVuZ2U7aWYoIW4pcmV0dXJuITE7Vz1XUShuKTtuPU51bWJlcihXLmMpfHx2b2lkIDA7Vz1OdW1iZXIoVy50KXx8NzIwMDtyZXR1cm4hIW4mJkRhdGUubm93KCk+KG4rVykqMUUzfTsKcmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2Uobj0+e3ZhciBXPXdpbmRvdztXLmF0dG1wIT09dm9pZCAwP24oVy5hdHRtcCk6KFcuYXR0bXE9PT12b2lkIDAmJihXLmF0dG1xPVtdKSxXLmF0dG1xLnB1c2goRD0+e24oRCl9KSl9KX07CmcucGM9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKHNoKCkpe3ZhciBiPXdpbmRvdztyZXR1cm4gYi5hdHRtcCE9PXZvaWQgMD9iLmF0dG1wLnMobixXLEQpOihhd2FpdCByYSgpKS5zKG4sVyxEKX1yZXR1cm4oYj0oYj1nLnJyKCJ5dC5hYmEuYXR0IikpP2I6TmUuaW5zdGFuY2UhPT12b2lkIDA/TmUuaW5zdGFuY2UuZFEuYmluZChOZS5pbnN0YW5jZSk6bnVsbCk/YihuLFcsRCk6UHJvbWlzZS5yZXNvbHZlKHtlcnJvcjoiQVRURVNUQVRJT05fRVJST1JfQVBJX05PVF9SRUFEWSJ9KX07CmcuWTU9YXN5bmMgZnVuY3Rpb24oKXtpZihzaCgpKXJldHVybiB3aW5kb3cuYXR0bXA9PT12b2lkIDA/ITE6KGF3YWl0IHJhKCkpLmlyKCk7dmFyIG47cmV0dXJuKG49KG49Zy5ycigieXQuYWJhLmF0dDIiKSk/bjpOZS5pbnN0YW5jZSE9PXZvaWQgMD9OZS5pbnN0YW5jZS55Zi5iaW5kKE5lLmluc3RhbmNlKTpudWxsKT9uKCk6UHJvbWlzZS5yZXNvbHZlKCExKX07CnNoPWZ1bmN0aW9uKCl7cmV0dXJuKGcubCgiYXR0bXVzaSIpfHxnLmwoImF0dG11c2l3IikpJiZnLmwoImF0dG11c2lfdWUiKX07CkhRPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIik7RHx8KEQ9e30sZy5HYigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIixEKSk7aWYoZy5sKCJ3ZWJfZGRfaXUiKXx8anhTLmluY2x1ZGVzKG4pKURbbl09V307CkJHTT1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17Y29udGV4dDpnLnZiKCksc2V0dGluZ0l0ZW1JZDpXLG5ld1ZhbHVlOkR9O0Q9TEIoQ0diKTtuPWF3YWl0IGcucl8obixXLEQpO2lmKCFufHxuLmVycm9yTWV0YWRhdGEpbj9uLmVycm9yTWV0YWRhdGEmJmcuR3EobmV3IGcuUXgoYFNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke24uZXJyb3JNZXRhZGF0YS5zdGF0dXN9YCkpOmcuR3EobmV3IGcuUXgoIlNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIGVtcHR5IHJlc3BvbnNlIikpfTsKRjRiPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtEPyhuLnZWKDIpLGlNKGZ3KEQpLCgpPT57aWYod2luZG93LnRyYXlyaWRlKWZjKG4sYix2KTtlbHNle24udlYoMyk7bGV0IGg9dU0oRCkseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTt4JiYoeUooaCkseC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpKTtnLkdxKG5ldyBnLlF4KCJCTDpVTEIiLGAke0R9YCkpfX0saykpOlc/KGs9Zy56RigiU0NSSVBUIiksVyBpbnN0YW5jZW9mIEFGPyhrLnRleHRDb250ZW50PUtiKFcpLE9NKGspKTprLnRleHRDb250ZW50PVcsay5ub25jZT1Taihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGspLHdpbmRvdy50cmF5cmlkZT9mYyhuLGIsdik6KG4udlYoNCksZy5HcShuZXcgZy5ReCgiQkw6VUxCSiIpKSkpOmcuR3EobmV3IGcuUXgoIkJMOlVMViIpKX07CmZjPWZ1bmN0aW9uKG4sVyxEKXtuLnZWKDUpO3ZhciBiPSEhbi5EYSYmd3loLmluY2x1ZGVzKGcuSVAobi5EYSl8fCIiKTt0cnl7bGV0IHY9bmV3IEFxKHtwcm9ncmFtOlcsZ2xvYmFsTmFtZToidHJheXJpZGUiLHgzOntkaXNhYmxlOiFnLmwoImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiKXx8IWcubCgiYXR0X3NraXBfbWV0cmljc19mb3JfY29va2llbGVzc19kb21haW5zX2tzIikmJmIsVmo6ImFHSWYifX0pO3YuT3YudGhlbigoKT0+e24udlYoNik7RCYmRChXKX0pOwpuLk4odil9Y2F0Y2godil7bi52Vig3KSx2IGluc3RhbmNlb2YgRXJyb3ImJmcuR3Eodil9fTsKdmFyIE1DYj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDEsODEzOCxuLFcsRCl9OwpKaj1mdW5jdGlvbigpe3ZhciBuPWcucnIoInl0LmFidXNlLnBsYXllckF0dExvYWRlciIpO3JldHVybiBuJiZbImJndm1hIiwiYmd2bWIiLCJiZ3ZtYyJdLmV2ZXJ5KFc9PlcgaW4gbik/bjpudWxsfTsKUmFTPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDI6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAyO2Nhc2UgMDpyZXR1cm4gMztjYXNlIDQ6Y2FzZSAzOnJldHVybiAxO2RlZmF1bHQ6Zy5wYihuLCJ1bmtub3duIHJlc3VsdCB0eXBlIil9fTsKZy5JYT1mdW5jdGlvbihuKXtyZXR1cm4gbj8ubGF5b3V0SWQhPW51bGwmJm4/LmxheW91dFR5cGUhPW51bGx9OwpnLlo2PWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuU3QpfHxnLncobixnLkFqKXx8Zy53KG4sZy5tMil8fGcudyhuLGcuS2MpfHxnLncobixnLk9oKXx8Zy53KG4sZy5QUSk/ITA6ITF9OwpnLnUwPWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuVWgpfHxnLncobixnLnlWKXx8Zy53KG4sUXhNKXx8Zy53KG4sZy5FaCl8fGcudyhuLGcuaTApPyEwOiExfTsKZy56MD1mdW5jdGlvbihuKXtyZXR1cm4gZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpP2cudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5vYSl8fGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5kYSk/ITA6ITE6ITF9OwpnLmwwPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclZhcnMhPT12b2lkIDAmJm4ucGluZ3MhPT12b2lkIDAmJm4uZXh0ZXJuYWxWaWRlb0lkIT09dm9pZCAwfTsKZy5NZT1mdW5jdGlvbihuKXtpZighZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpKXJldHVybiExO249bi5yZW5kZXJpbmdDb250ZW50O3ZhciBXPWcudyhuLGcuVDApO3JldHVybiBXP2cuanQoVyk6KFc9Zy53KG4sZy5DYykpP2cubDAoVyk6KFc9Zy53KG4sZy5CUSkpP1cucGxheWVyVmFycyE9PXZvaWQgMDooVz1nLncobixnLlVoKSk/Vy5kdXJhdGlvbk1pbGxpc2Vjb25kcyE9PXZvaWQgMDpnLncobixnLkZ5KXx8Zy53KG4sZy53YSk/ITA6ITF9OwpnLmp0PWZ1bmN0aW9uKG4pe249KG4uc2VxdWVudGlhbExheW91dHN8fFtdKS5tYXAoVz0+Zy53KFcsZy5SYSkpOwpyZXR1cm4gbi5sZW5ndGg+MCYmbi5ldmVyeShnLk1lKX07CmcuVlY9ZnVuY3Rpb24obil7cmV0dXJuIGcuSWEobi5hZExheW91dE1ldGFkYXRhKT8obj1nLncobi5yZW5kZXJpbmdDb250ZW50LGcuUVYpKSYmbi5waW5ncz8hMDohMTohMX07CmcuRHE9ZnVuY3Rpb24obil7aWYoIWcuSWEobi5hZExheW91dE1ldGFkYXRhKSlyZXR1cm4hMTtpZihnLncobi5yZW5kZXJpbmdDb250ZW50LGcuY1EpfHxnLncobi5yZW5kZXJpbmdDb250ZW50LGcub2EpKXJldHVybiEwO3ZhciBXPWcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5hYSk7cmV0dXJuIGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5uaSl8fGcudyhXPy5zaWRlUGFuZWwsVkMyKXx8Zy53KFc/LnNpZGVQYW5lbCxnLlckKXx8Zy53KFc/LnNpZGVQYW5lbCxjM2gpPyEwOiExfTsKZy5nTT1mdW5jdGlvbihuKXt2YXIgVzsoVz0hbil8fChXPW4uYWRTbG90TWV0YWRhdGEsVz0hKFc/LnNsb3RJZCE9PXZvaWQgMCYmVz8uc2xvdFR5cGUhPT12b2lkIDApKTtpZihXfHwhKGcuYloobil8fG4uc2xvdEVudHJ5VHJpZ2dlciYmbi5zbG90RnVsZmlsbG1lbnRUcmlnZ2VycyYmbi5zbG90RXhwaXJhdGlvblRyaWdnZXJzKSlyZXR1cm4hMTtuPW4uZnVsZmlsbG1lbnRDb250ZW50Py5mdWxmaWxsZWRMYXlvdXQ7cmV0dXJuKFc9Zy53KG4sZy5SYSkpP2cuTWUoVyk6KFc9Zy53KG4sZy52JCkpP2cuRHEoVyk6KFc9Zy53KG4sZy5reikpP2cudTAoVyk6KFc9Zy53KG4sZy5oWCkpP2cuWjYoVyk6KFc9Zy53KG4sZy54eikpP2cuSWEoVy5hZExheW91dE1ldGFkYXRhKT9nLncoVy5yZW5kZXJpbmdDb250ZW50LGcuU3QpPyEwOiExOiExOihXPWcudyhuLGcuTGkpKT9nLlZWKFcpOihuPWcudyhuLGcuZTIpKT9nLnowKG4pOiExfTsKZy5iWj1mdW5jdGlvbihuKXtyZXR1cm4obj1nLncobi5mdWxmaWxsbWVudENvbnRlbnQ/LmZ1bGZpbGxlZExheW91dCxnLnYkKSkmJm4uYWRMYXlvdXRNZXRhZGF0YT8ubGF5b3V0VHlwZT09PSJMQVlPVVRfVFlQRV9QQU5FTF9RUl9DT0RFIiYmbi5sYXlvdXRFeGl0Tm9ybWFsVHJpZ2dlcnM9PT12b2lkIDB9OwphOXI9ZnVuY3Rpb24obil7Zm9yKGxldCBXIG9mIG58fFtdKXtuPWcudyhXLGcuWEcpO2lmKG49PT12b2lkIDB8fCFnLmdNKG4pKWJyZWFrO2lmKChuPWcudyhuLmZ1bGZpbGxtZW50Q29udGVudD8uZnVsZmlsbGVkTGF5b3V0LGcuTGkpKSYmZy5WVihuKSlyZXR1cm4hMH1yZXR1cm4hMX07CnE0PWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5hZFBsYWNlbWVudHMmJiFuLmFkU2xvdHMpcmV0dXJuITE7Zm9yKGxldCBXIG9mIG4uYWRQbGFjZW1lbnRzfHxbXSl7aWYoIVcpY29udGludWU7bGV0IEQ9Vy5hZFBsYWNlbWVudFJlbmRlcmVyO2lmKEQhPW51bGwmJihELmNvbmZpZyYmRC5jb25maWcuYWRQbGFjZW1lbnRDb25maWcmJkQuY29uZmlnLmFkUGxhY2VtZW50Q29uZmlnLmtpbmQpPT09IkFEX1BMQUNFTUVOVF9LSU5EX1NUQVJUIilyZXR1cm4hMH1mb3IobGV0IFcgb2Ygbi5hZFNsb3RzfHxbXSlpZihnLncoVyxnLlhHKT8uYWRTbG90TWV0YWRhdGE/LnRyaWdnZXJFdmVudD09PSJTTE9UX1RSSUdHRVJfRVZFTlRfQkVGT1JFX0NPTlRFTlQiKXJldHVybiEwO3JldHVybiExfTsKbm4xPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Vz9XLmlzVHJ1c3RlZD09PSEwP0QucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRCIpOlcuaXNUcnVzdGVkPT09ITE/RC5wdXNoKCJCSVNDT1RUSV9CQVNFRF9ERVRFQ1RJT05fU1RBVEVfQVNfU0VFS19FVkVOVF9OT1RfVFJVU1RFRCIpOkQucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRF9QUk9QRVJUWV9VTkRFRklORUQiKTpELnB1c2goIkJJU0NPVFRJX0JBU0VEX0RFVEVDVElPTl9TVEFURV9BU19TRUVLX0VWRU5UX1VOREVGSU5FRCIpO2cuR0MoMCwiYS5zXyIse21ldGFkYXRhOm4sc3RhdGVzOkR9KTtnLlNIKCJBU0RTVEFUIiwwKX07CmcuR0M9ZnVuY3Rpb24obixXLEQpe1c9V0RDW1ddO3ZhciBiPXtkZXRlY3RlZDpuPT09MCxzb3VyY2U6YCR7Vy5KfSR7RC50cmlnZ2VyQ29udGV4dD8/IiJ9JHtELk0zPz8iIn1gLGRldGVjdGlvblN0YXRlczpELnN0YXRlcyxkdXJhdGlvbk1zOkQuRXd9O0QubWV0YWRhdGEmJihiLmNvbnRlbnRDcG49RC5tZXRhZGF0YS5jb250ZW50Q3BuLGIuYWRDcG49RC5tZXRhZGF0YS5hZENwbik7Zy56VSgiYmlzY290dGlCYXNlZERldGVjdGlvbiIsYik7Vy5OIT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpLFcuTiE9PXZvaWQgMD8oVz1XLk4sbj1SYVMobiksbj1EJn4oMzw8Vyl8bjw8Vyk6bj1ELGcuU0goIkNBVFNUQVQiLG4pKX07CnRYPWZ1bmN0aW9uKG4sVyl7bj1uLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKWlmKG5bRF0uc2NvcGU9PT1XKXJldHVybiBuW0RdLnRva2VufHx2b2lkIDB9OwpnLk40PWZ1bmN0aW9uKG4pe3ZhciBXPWcudyhuLCR6KTtpZihXKXJldHVybiBXO2lmKChXPWcudyhuLERZcikpJiZXLmNvbW1hbmRzKXJldHVybiByTShXLmNvbW1hbmRzKTtpZigoVz1nLncobixiOGIpKSYmVy5jb21tYW5kcylyZXR1cm4gck0oVy5jb21tYW5kcyk7aWYoKG49Zy53KG4sdm5NKSkmJm4uaWRlbnRpZmllciYmbi5jb21tYW5kJiYoczN8fChzMz1bXSksIXMzLmluY2x1ZGVzKG4uaWRlbnRpZmllcikpKXJldHVybiBzMy5wdXNoKG4uaWRlbnRpZmllciksZy53KG4uY29tbWFuZCwkeil9OwpyTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aCE9PTApe3ZhciBXPVtdO2ZvcihsZXQgRCBvZiBuKShuPWcuTjQoRCkpJiZXLnB1c2gobik7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOld9fX19OwpwaT1mdW5jdGlvbihuKXtpZihuJiZuLnNpbXBsZVRleHQpcmV0dXJuIG4uc2ltcGxlVGV4dDt2YXIgVz0iIjtpZihuJiZuLnJ1bnMpZm9yKGxldCBEPTA7RDxuLnJ1bnMubGVuZ3RoO0QrKyluLnJ1bnNbRF0udGV4dCYmKFcrPW4ucnVuc1tEXS50ZXh0KTtyZXR1cm4gV307Cll6PWZ1bmN0aW9uKG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChXKXtnLlhqKFcpfX06bn07CmZpPWZ1bmN0aW9uKCl7SCQuaW5zdGFuY2V8fChIJC5pbnN0YW5jZT1uZXcgSCQpO3JldHVybiBIJC5pbnN0YW5jZX07CklmPWZ1bmN0aW9uKCl7SlguaW5zdGFuY2V8fChKWC5pbnN0YW5jZT1uZXcgSlgpO3JldHVybiBKWC5pbnN0YW5jZX07Cm1VPWZ1bmN0aW9uKG4sVyxELGI9e30pe1BWKCgpPT57a3ZNLmluY2x1ZGVzKFcpfHwoZy5HcShuZXcgZy5ReCgiY3JlYXRlQ2xpZW50U2NyZWVuKCkgY2FsbGVkIHdpdGggYSBub24tcGFnZSBWRSIsVykpLFc9ODM3NjkpO2lmKCFiLmlzSGlzdG9yeU5hdmlnYXRpb24pe2xldCB2PWIubGF5ZXJ8fDA7bi5UQy5zZXQodixbXSk7UzIobix2KS5wdXNoKHtyb290VmU6VyxrZXk6Yi5rZXl8fCIifSl9bi5EPVtdO24uTz1bXTtiLlVBP2hqdChuLFcsRCxiKTpBWChuLFcsRCxiKX0pKCl9OwpTMj1mdW5jdGlvbihuLFcpe24uSy5oYXMoVyl8fG4uSy5zZXQoVyxbXSk7cmV0dXJuIG4uSy5nZXQoVyl9OwpoanQ9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5OLmFkZChiLmxheWVyfHwwKTtuLmo9KCk9PntBWChuLFcsRCxiKTt2YXIgdj13NChiLmxheWVyKTtpZih2KXtsZXQgaz1nLlJ2KGIubGF5ZXIpO2ZvcihsZXQgaCBvZiBuLkQpe2xldCB4PWhbMF0sTD1oWzFdfHx2O2s/S2kobix4LEwsYi5sYXllcixrKTpPMyhuLHgsTCxiLmxheWVyKX1mb3IobGV0IGggb2Ygbi5PKVAkKG4saFswXSxoWzFdKX19OwpEfHxnLlJ2KGIubGF5ZXIpfHxuLmooKTtpZihiLlVBKWZvcihsZXQgdiBvZiBiLlVBKXhZYihuLHYsYi5sYXllcik7ZWxzZSBnLlhqKEVycm9yKCJEZWxheWVkIHNjcmVlbiBuZWVkcyBhIGRhdGEgcHJvbWlzZS4iKSl9OwpBWD1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj12b2lkIDA7Yi5sYXllcnx8KGIubGF5ZXI9MCk7dj1iLnBhcmVudExheWVyIT09dm9pZCAwP2IucGFyZW50TGF5ZXI6Yi5sYXllcjt2YXIgaz1nLlJ2KHYpO3Y9dzQodik7dmFyIGg9RHx8dix4O2gmJihiLnBhcmVudENzbiE9PXZvaWQgMD94PXtjbGllbnRTY3JlZW5Ob25jZTpiLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmsmJmshPT0iVU5ERUZJTkVEX0NTTiImJih4PXtjbGllbnRTY3JlZW5Ob25jZTprLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgTCxlPWcuQXIoIkVWRU5UX0lEIik7az09PSJVTkRFRklORURfQ1NOIiYmZSYmKEw9e3NlcnZsZXREYXRhOntzZXJpYWxpemVkU2VydmxldEV2ZW50SWQ6ZX19KTtnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikmJmsmJlpxKG4sayk7Zy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZrJiZkSyhoLGspO3RyeXt2YXIgRz1nOWkobi5jbGllbnQsVyx4LGIuTDgsCmIuY3R0QXV0aEluZm8sTCxiLmltcGxpY2l0R2VzdHVyZVR5cGUsYi5sb2dnaW5nRXhwZWN0YXRpb25zLGIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKE4pe0s0KE4se2w3Olcscm9vdFZlOnYsSTc6RCxsQTprLGdQOngsTDg6Yi5MOH0pO2cuWGooTik7cmV0dXJufWNzKEcsVyxiLmxheWVyLGIuY3R0QXV0aEluZm8pO2smJmshPT0iVU5ERUZJTkVEX0NTTiImJnYmJiF3SEMoaykmJihUcShuLmNsaWVudCxrLHYsITApLG4uSi5kZWxldGUoaykpO1c9UzIobixiLmxheWVyfHwwKTtXLmxlbmd0aD4wJiYhV1tXLmxlbmd0aC0xXS5jc24mJihXW1cubGVuZ3RoLTFdLmNzbj1HfHwiIik7Zy5ubCh7Y2xpZW50U2NyZWVuTm9uY2U6R30pO1UzLmluc3RhbmNlfHwoVTMuaW5zdGFuY2U9bmV3IFUzKTtQVihmaSgpLk4pLmJpbmQoZmkoKSkoKTt2YXIgcj13NChiLmxheWVyKTtrJiZrIT09IlVOREVGSU5FRF9DU04iJiZyJiZnLmwoIm11c2ljX3dlYl9tYXJrX3Jvb3RfdmlzaWJsZSIpJiYKRmooRyxyKTtuLk4uZGVsZXRlKGIubGF5ZXJ8fDApO24uaj12b2lkIDA7bi5TJC5nZXQoYi5sYXllcik/LmZvckVhY2goKE4sSCk9PntOP08zKG4sSCxOLGIubGF5ZXIpOnImJk8zKG4sSCxyLGIubGF5ZXIpfSk7CkxEWihuKX07CnhZYj1mdW5jdGlvbihuLFcsRD0wKXtQVigoKT0+e1cudGhlbihiPT57bi5OLmhhcyhEKSYmbi5qJiZuLmooKTt2YXIgdj1nLlJ2KEQpLGs9dzQoRCk7aWYodiYmayl7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2I/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpO2I/LnBsYXllclJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07CktpPWZ1bmN0aW9uKG4sVyxELGI9MCx2KXtuLkouaGFzKHYpfHxuLkouc2V0KHYsbmV3IFNldCk7dmFyIGs9RHx8dzQoYik7az1gJHtXLnRvU3RyaW5nKCl9fCR7az9rLnRvU3RyaW5nKCk6IiJ9YDtuLkouZ2V0KHYpLmhhcyhrKXx8KE8zKG4sVyxELGIpLG4uSi5nZXQodikuYWRkKGspKX07Ck8zPWZ1bmN0aW9uKG4sVyxELGI9MCl7cmV0dXJuIFBWKCgpPT57aWYobi5OLmhhcyhiKSlyZXR1cm4gbi5ELnB1c2goW1csRF0pLCEwO3ZhciB2PWcuUnYoYiksaz1EfHx3NChiKTtpZih2JiZrKXtpZihnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikpe2xldCBoPW4uWC5nZXQoay50b1N0cmluZygpKTtoP2gucHVzaChXKToobi5ZLnNldChrLnRvU3RyaW5nKCksayksbi5YLnNldChrLnRvU3RyaW5nKCksW1ddKSk7bi50d3x8KG4udHc9Zy5jQigwLCgpPT57WnEobix2KX0sMTIwMCkpfWVsc2UgdWcobi5jbGllbnQsdixrLFcpOwpyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpnLnlyPWZ1bmN0aW9uKG4pe3ZhciBXPUlmKCk7UFYoKCk9Pnt2YXIgRD1UVShuKSxiPWcuUnYoMCk7YiYmIVcuTi5oYXMoMCk/S2koVyxELHZvaWQgMCwwLGIpOk8zKFcsRCx2b2lkIDAsMCk7cmV0dXJuIER9KSgpfTsKZWp3PWZ1bmN0aW9uKG4pe3ZhciBXPXt2ZVR5cGU6MjUzMjQ2fTtyZXR1cm4gUFYoKCk9PntpZighVy52ZVR5cGUpcmV0dXJuIGcucWcobmV3IGcuUXgoIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihXLnZpc2liaWxpdHlUeXBlcyl7dmFyIEQ9Vy52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChiLHYpPT5ifHYpOwpEPXt2aXNpYmlsaXR5Ont0eXBlczpTdHJpbmcoRCl9fX1EPWp5KFcudmVUeXBlLFcudmlzdWFsRWxlbWVudCxXLmVsZW1lbnRJbmRleCxXLmNsaWVudFlvdVR1YmVEYXRhLHZvaWQgMCxEKTtyZXR1cm4gTzMobixEKT9EOm51bGx9KSgpfTsKWnE9ZnVuY3Rpb24obixXKXtpZihXPT09dm9pZCAwKXtsZXQgRD1CZ3IoKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKylEW2JdIT09dm9pZCAwJiZacShuLERbYl0pfWVsc2Ugbi5YLmZvckVhY2goKEQsYik9PnsoYj1uLlkuZ2V0KGIpKSYmaWcobi5jbGllbnQsVyxiLEQpfSksbi5YLmNsZWFyKCksbi5ZLmNsZWFyKCksbi50dz12b2lkIDB9Owpnblo9ZnVuY3Rpb24obixXLEQsYj0wKXtpZighVylyZXR1cm4hMTtiPWcuUnYoYik7aWYoIWIpcmV0dXJuITE7amkobi5jbGllbnQsYixUVShXKSxEKTtyZXR1cm4hMH07ClAkPWZ1bmN0aW9uKG4sVyxELGI9MCl7dmFyIHY9Zy5SdihiKTtXPVd8fHc0KGIpO3YmJlcmJihuPW4uY2xpZW50LGI9UGEoe2N0dEF1dGhJbmZvOlE0KHYpfHx2b2lkIDB9LHYpLEQ9e2Nzbjp2LHZlOlcuZ2V0QXNKc29uKCksY2xpZW50RGF0YTpEfSx2PT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixELGIpKX07CkxEWj1mdW5jdGlvbihuKXtmb3IodmFyIFc9MDtXPG4uVi5sZW5ndGg7VysrKXt2YXIgRD1uLlZbV107dHJ5e0QoKX1jYXRjaChiKXtnLlhqKGIpfX1uLlYubGVuZ3RoPTA7Zm9yKFc9MDtXPG4uY0oubGVuZ3RoO1crKyl7RD1uLmNKW1ddO3RyeXtEKCl9Y2F0Y2goYil7Zy5YaihiKX19fTsKaVo9ZnVuY3Rpb24oKXtFMy5pbnN0YW5jZXx8KEUzLmluc3RhbmNlPW5ldyBFMyk7cmV0dXJuIEUzLmluc3RhbmNlfTsKWE9iPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7RD8ubGcmJihiLm9ucmVhZHlzdGF0ZWNoYW5nZT12PT57RC5sZyhiLHYpfSk7CmIub3BlbihXLm1ldGhvZD8/IkdFVCIsbiwhMCk7Yi5yZXNwb25zZVR5cGU9InRleHQiO2Iud2l0aENyZWRlbnRpYWxzPSEwO2lmKFcuaGVhZGVycylmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMoVy5oZWFkZXJzKSliLnNldFJlcXVlc3RIZWFkZXIodixrKTtyZXR1cm4gYn07CnFmUz1mdW5jdGlvbigpe3ZhciBuPW5hdmlnYXRvcjtyZXR1cm4gbmV3IFByb21pc2UoKFcsRCk9PntuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YT9uLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2UucXVlcnlVc2FnZUFuZFF1b3RhKChiLHYpPT57Vyh7dXNhZ2U6YixxdW90YTp2fSl9LGI9PntEKGIpfSk6RChFcnJvcigid2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkLiIpKX0pfTsKdDZDPWZ1bmN0aW9uKG4sVyl7R3ZVKG4ucHJvZ3JhbSxXLkQzKSYmKGcuZ18oImJnX2kiLHZvaWQgMCwicGxheWVyX2F0dCIpLGcudVouaW5pdGlhbGl6ZShuLCgpPT57Zy5nXygiYmdfbCIsdm9pZCAwLCJwbGF5ZXJfYXR0Iik7b2Y9KDAsZy5SKSgpfSxXLmNzcE5vbmNlLFcuRGEpKX07CnZhciAkWWo9ZnVuY3Rpb24oKXtyZXR1cm4gSjRbSVsxMF1dKHRoaXMsMTYsNDYyNil9OwpyOVM9ZnVuY3Rpb24obj17fSl7cmV0dXJuIGcudVouaW52b2tlKG4pfTsKR3ZVPWZ1bmN0aW9uKG4sVyl7aWYobil7dmFyIEQ7Zy51Wi5pc0xvYWRpbmcoKT9EPSExOkQ9IW9mfHwoMCxnLlIpKCktb2Y+VztuPUR9ZWxzZSBuPSExO3JldHVybiBufTsKc18yPWZ1bmN0aW9uKG4sVyl7aWYoVy5wYXJ0bmVySWQ9PT0zOCYmbi5wbGF5ZXJTdHlsZT09PSJib29rcyIpe3ZhciBEPVcudmlkZW9JZC5pbmRleE9mKCI6Iik7bj1XLnZpZGVvSWQuc2xpY2UoMCxEKTtEPVcudmlkZW9JZC5zbGljZShEKzEpO3JldHVybiBnLkVUKGAvL3BsYXkuZ29vZ2xlLmNvbS9ib29rcy92b2x1bWVzLyR7bn0vY29udGVudC9tZWRpYWAse2FpZDpELHNpZzpXLnlkfSl9aWYoVy5wYXJ0bmVySWQ9PT0zMCYmbi5wbGF5ZXJTdHlsZT09PSJkb2NzIilyZXR1cm4gZy5FVCgiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZ2V0X3ZpZGVvX2luZm8iLHtkb2NpZDpXLnZpZGVvSWQsYXV0aHVzZXI6Vy5rcCxhdXRoa2V5OlcudkYsZXVybDpuLlFyfSk7aWYoVy5wYXJ0bmVySWQ9PT0zMyYmbi5wbGF5ZXJTdHlsZT09PSJnb29nbGUtbGl2ZSIpcmV0dXJuIGcuRVQoIi8vZ29vZ2xlLWxpdmVwbGF5ZXIuYXBwc3BvdC5jb20vZ2V0X3ZpZGVvX2luZm8iLHtrZXk6Vy52aWRlb0lkfSk7CnRocm93IEVycm9yKCJnZXRWaWRlb0luZm9VcmwgZm9yIGludmFsaWQgbmFtZXNwYWNlOiAiK24uVik7fTsKTlFpPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O24uY0wmJihXLnl0cmV4dD1uLmNMKTtyZXR1cm4gZy5HRihXKT92b2lkIDA6V307CmcuekM9ZnVuY3Rpb24obixXKXt0NkMobix7RDM6Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIiksY3NwTm9uY2U6Vy5jc3BOb25jZSxEYTpXLkRhfHwiIn0pfTsKZy5sWj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YSYmbi52aWRlb0RhdGEucEspe2xldCBXPVtuLnZpZGVvRGF0YS5wS107Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uTikpaWYobi5SUltEXSYmbi5OW0RdKXtsZXQgYj1uLk5bRF0obi5SUik7YiYmVy5wdXNoKGIpfXJldHVybiBXLmpvaW4oIiYiKX1yZXR1cm4gbnVsbH07CmcuVEM9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobilmb3IobGV0IFtiLHZdb2YgT2JqZWN0LmVudHJpZXMobikpe249Yjt2YXIgRD12O2lmKEQ9PT12b2lkIDApY29udGludWU7RD10eXBlb2YgRD09PSJib29sZWFuIj9gJHsrRH1gOmAke0R9YC5yZXBsYWNlKC9bOiw9XS9nLCJfIik7Vy5wdXNoKGAke259LiR7RH1gKX1yZXR1cm4gVy5qb2luKCI7Iil9OwpqMj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PTF8fG49PT0yfTsKQiQ9ZnVuY3Rpb24obixXPTApe2lmKG4gaW5zdGFuY2VvZiBnLkNpKXJldHVybiBuO249biYmbiBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYCR7bn1gKTtqMihXKT9nLlhqKG4pOmcuR3Eobik7cmV0dXJuIG5ldyBnLkNpKFc9PT0xPyJwbGF5ZXIuZmF0YWxleGNlcHRpb24iOiJwbGF5ZXIuZXhjZXB0aW9uIix7bmFtZTpgJHtuLm5hbWV9YCxtZXNzYWdlOmAke24ubWVzc2FnZX1gfSxXKX07Ckg4cj1mdW5jdGlvbihuLFcpe1FBKG4sMixXLkNuLEZHLDMpO1FBKG4sMyxXLmlubmVydHViZVJlcXVlc3QscE9pLDMpO2cuRmEobiw0LFcub25lc2llVXN0cmVhbWVyQ29uZmlnKTtnLkZhKG4sOSxXLkJ4KTtRQShuLDEwLFcubUgsd00sMyk7UUEobiwxNSxXLnJlbG9hZFBsYXliYWNrUGFyYW1zLFlmaSwzKTtnLlJ3KG4sMTgsVy5Vayl9OwpRcj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLmZvcm1hdElkLE00LDMpO0NSKG4sMixXLnN0YXJ0VGltZU1zKTtDUihuLDMsVy5kdXJhdGlvbk1zKTtDUihuLDQsVy5BQyk7Q1Iobiw1LFcuaTkpO1FBKG4sOSxXLmo2LGY4QywzKTtRQShuLDExLFcuQUYsUmYsMSk7UUEobiwxMixXLkVqLFJmLDEpfTsKSjliPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy52aWRlb0lkKTtDUihuLDIsVy5sbXQpfTsKZjhDPWZ1bmN0aW9uKG4sVyl7aWYoVy5Geilmb3IobGV0IEQ9MDtEPFcuRnoubGVuZ3RoO0QrKylRQShuLDEsVy5GeltEXSxKOWIsMyl9OwpNND1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLml0YWcpO0NSKG4sMixXLmxtdCk7Zy5SdyhuLDMsVy54dGFncyl9OwpWcj1mdW5jdGlvbihuKXtyZXR1cm57aXRhZzpQRyhuLDEpLGxtdDpQRyhuLDIpLHh0YWdzOkV4KG4sMyl9fTsKUmY9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5zdGFydFRpY2tzKTtDUihuLDIsVy5sOCk7Q1IobiwzLFcudGltZXNjYWxlKX07CmMkPWZ1bmN0aW9uKG4pe3JldHVybntzdGFydFRpY2tzOlBHKG4sMSksbDg6UEcobiwyKSx0aW1lc2NhbGU6UEcobiwzKX19OwpJOGo9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5kZWZhdWx0UG9saWN5KTtDUihuLDIsVy5zbW9vdGgpO0NSKG4sMyxXLnZpc2liaWxpdHkpO0NSKG4sNCxXLk9iKTtDUihuLDUsVy5wZXJmb3JtYW5jZSk7Q1Iobiw2LFcuc3BlZWQpfTsKQTlTPWZ1bmN0aW9uKG4sVyl7aWYoVy5hdXRob3JpemVkRm9ybWF0cylmb3IobGV0IEQ9MDtEPFcuYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoO0QrKylRQShuLDEsVy5hdXRob3JpemVkRm9ybWF0c1tEXSxTZmosMSk7Zy5GYShuLDIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpfTsKU2ZqPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudHJhY2tUeXBlKTtCRyhuLDIsVy5pc0hkcil9OwpGRz1mdW5jdGlvbihuLFcpe0NSKG4sMTMsVy50aW1lU2luY2VMYXN0TWFudWFsRm9ybWF0U2VsZWN0aW9uTXMpO3ZhciBEPVcubGFzdE1hbnVhbERpcmVjdGlvbjtEIT09dm9pZCAwJiYoajUobiwxMTIpLGo1KG4sRDw8MV5EPj4zMSkpO0NSKG4sMTYsVy5pSCk7Q1IobiwxNyxXLmRldGFpbGVkTmV0d29ya1R5cGUpO0NSKG4sMTgsVy5zQSk7Q1IobiwxOSxXLllBKTtDUihuLDIxLFcuVE4pO0NSKG4sMjMsVy5JJCk7Q1IobiwyOCxXLm5SKTtDUihuLDI5LFcubHEpO0NSKG4sMzQsVy52aXNpYmlsaXR5KTtEPVcucGxheWJhY2tSYXRlO2lmKEQhPT12b2lkIDApe3ZhciBiPW5ldyBBcnJheUJ1ZmZlcig0KTsobmV3IEZsb2F0MzJBcnJheShiKSlbMF09RDtEPShuZXcgVWludDMyQXJyYXkoYikpWzBdO2lmKEQhPT12b2lkIDApZm9yKGo1KG4sMjg1KSxUNihuLDQpLGI9MDtiPDQ7KW4udmlldy5zZXRVaW50OChuLnBvcyxEJjI1NSksRD4+PTgsbi5wb3MrPTEsYis9MX1DUihuLDM2LFcuZnEpOwpRQShuLDM4LFcubWVkaWFDYXBhYmlsaXRpZXMsbVl3LDMpO0NSKG4sMzksVy5aSSk7Q1Iobiw0MCxXLllmKTtDUihuLDQ0LFcucGxheWVyU3RhdGUpO0JHKG4sNDYsVy5FYik7Q1Iobiw0OCxXLmo0KTtDUihuLDUwLFcua0UpO0NSKG4sNTEsVy5VbSk7Q1Iobiw1NCxXLkc3KTtpZihXLnlLKWZvcihEPTA7RDxXLnlLLmxlbmd0aDtEKyspQ1Iobiw1NSxXLnlLW0RdKTtCRyhuLDU2LFcuWkMpO0NSKG4sNTcsVy5YRCk7Qkcobiw1OCxXLmJ2KTtDUihuLDU5LFcublMpO0NSKG4sNjAsVy5HRik7Qkcobiw2MSxXLmlzUHJlZmV0Y2gpO0NSKG4sNjIsVy5TZik7Zy5GYShuLDYzLFcuc2FickxpY2Vuc2VDb25zdHJhaW50KTtDUihuLDY0LFcuazgpO0NSKG4sNjYsVy5WWCk7Q1Iobiw2NyxXLkJaKTtDUihuLDY4LFcucDYpO2cuUncobiw2OSxXLmF1ZGlvVHJhY2tJZCk7Qkcobiw3MSxXLnIwKTtRQShuLDcyLFcuTk8sSThqLDEpO0NSKG4sNzMsVy5pQik7Q1Iobiw3NCxXLllzKTtDUihuLDc1LFcuZXEpOwpDUihuLDc2LFcucU0pO1FBKG4sNzksVy5rYyxBOVMsMyk7Q1Iobiw4MCxXLkokKTtCRyhuLDg1LFcudXEpfTsKbVl3PWZ1bmN0aW9uKG4sVyl7aWYoVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllcylmb3IodmFyIEQ9MDtEPFcudmlkZW9Gb3JtYXRDYXBhYmlsaXRpZXMubGVuZ3RoO0QrKylRQShuLDEsVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllc1tEXSxLRDEsMSk7aWYoVy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcylmb3IoRD0wO0Q8Vy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcy5sZW5ndGg7RCsrKVFBKG4sMixXLmF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzW0RdLE84TSwxKTtRQShuLDQsVy5wZXJQbGF5YmFja0F0dHJpYnV0ZXMsUDZTLDMpO0NSKG4sNSxXLmhkck1vZGVCaXRtYXNrKX07CnZhciBaODE9ZnVuY3Rpb24oKXtyZXR1cm4gZzdbSVsxMF1dKHRoaXMsNDEsODk3NSl9Owp2YXIgS0QxPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudmlkZW9Db2RlYyk7QkcobiwyLFcuZWZmaWNpZW50KTtDUihuLDMsVy5tYXhIZWlnaHQpO0NSKG4sNCxXLm1heFdpZHRoKTtDUihuLDExLFcubWF4RnJhbWVyYXRlKTtDUihuLDEyLFcubWF4Qml0cmF0ZUJwcyk7QkcobiwxNSxXLmlzMTBCaXRTdXBwb3J0ZWQpfSxPOE09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5hdWRpb0NvZGVjKTsKQ1IobiwyLFcubnVtQ2hhbm5lbHMpO0NSKG4sMyxXLm1heEJpdHJhdGVCcHMpO0NSKG4sNixXLnNwYXRpYWxDYXBhYmlsaXR5Qml0bWFzayl9Owp2YXIgVVloPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDUxLDIyNDksbixXKX07ClA2Uz1mdW5jdGlvbihuLFcpe2lmKFcuaXRhZ0RlbnlsaXN0KWZvcihsZXQgRD0wO0Q8Vy5pdGFnRGVueWxpc3QubGVuZ3RoO0QrKylDUihuLDEsVy5pdGFnRGVueWxpc3RbRF0pfTsKd009ZnVuY3Rpb24obixXKXtRQShuLDEsVy5jbGllbnRJbmZvLHk5dCwzKTtnLkZhKG4sMixXLmROKTtnLkZhKG4sMyxXLnBsYXliYWNrQ29va2llKTtnLkZhKG4sNCxXLkJ4KTtpZihXLnJxKWZvcih2YXIgRD0wO0Q8Vy5ycS5sZW5ndGg7RCsrKVFBKG4sNSxXLnJxW0RdLEVuMiwzKTtpZihXLnV0KWZvcihEPTA7RDxXLnV0Lmxlbmd0aDtEKyspQ1Iobiw2LFcudXRbRF0pO2cuUncobiw3LFcucEcpO1FBKG4sOCxXLnEkLGk4VSwzKX07CnVmTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLlN6KTtDUihuLDIsVy5SNyl9OwpvbnI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmNvZGU7RCE9PXZvaWQgMCYmKGo1KG4sOCksajUobixEPDwxXkQ+PjMxKSk7Zy5SdyhuLDIsVy5tZXNzYWdlKX07CmRZTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmNsaWVudFN0YXRlKTtRQShuLDIsVy5adSx1Zk0sMSl9OwppOFU9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLll0KTtRQShuLDIsVy5TaixvbnIsMyk7UUEobiwzLFcuY29sZFN0YXJ0SW5mbyxkWU0sMyl9OwpFbjI9ZnVuY3Rpb24obixXKXtDUihuLDEsVy50eXBlKTtnLkZhKG4sMixXLnZhbHVlKX07Cnk5dD1mdW5jdGlvbihuLFcpe2cuUncobiwxLFcuaGwpO2cuUncobiwxMixXLmRldmljZU1ha2UpO2cuUncobiwxMyxXLmRldmljZU1vZGVsKTtDUihuLDE2LFcuY2xpZW50TmFtZSk7Zy5SdyhuLDE3LFcuY2xpZW50VmVyc2lvbik7Zy5SdyhuLDE4LFcub3NOYW1lKTtnLlJ3KG4sMTksVy5vc1ZlcnNpb24pfTsKemoxPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5uYW1lKTtnLlJ3KG4sMixXLnZhbHVlKX07CmFmPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy51cmwpO2lmKFcuZTMpZm9yKGxldCBEPTA7RDxXLmUzLmxlbmd0aDtEKyspUUEobiwyLFcuZTNbRF0semoxLDMpO2cuRmEobiwzLFcucG9zdEJvZHkpO0JHKG4sNCxXLkVhKTtCRyhuLDYsVy5lOCl9OwpwT2k9ZnVuY3Rpb24obixXKXtnLkZhKG4sMixXLnZVKTtnLkZhKG4sNSxXLmVuY3J5cHRlZENsaWVudEtleSk7Zy5GYShuLDYsVy5pdik7Zy5GYShuLDcsVy5kZik7QkcobiwxMCxXLm13KTtCRyhuLDEzLFcuRkQpO0JHKG4sMTQsVy5EWSk7Zy5GYShuLDE2LFcud1MpO0JHKG4sMTcsVy55Sil9OwpsOHQ9ZnVuY3Rpb24obil7cmV0dXJue1dzOlBHKG4sMSksaHR0cFN0YXR1czpQRyhuLDIpLGJvZHk6eUEobiw0KX19OwpZZmk9ZnVuY3Rpb24obixXKXtnLlJ3KG4sMSxXLnRva2VuKX07ClRRTT1mdW5jdGlvbihuKXtyZXR1cm57dG9rZW46RXgobiwxKX19OwpqX1U9ZnVuY3Rpb24obil7Zm9yKHZhciBXPVtdLEQ7RD1FeChuLDEpOylXLnB1c2goRCk7cmV0dXJue3VybDpXLmxlbmd0aD9XOnZvaWQgMH19OwpuNz1mdW5jdGlvbihuKXtyZXR1cm57QWg6UEcobiwxKSx2eTpQRyhuLDIpfX07CkZEYj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2lmKFcuY0UpZm9yKHZhciBEPTA7RDxXLmNFLmxlbmd0aDtEKyspUUEobiwyLFcuY0VbRF0sTTQsMyk7aWYoVy5lVylmb3IoRD0wO0Q8Vy5lVy5sZW5ndGg7RCsrKVFBKG4sMyxXLmVXW0RdLFFyLDMpO2cuRmEobiw1LFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7aWYoVy5CaSlmb3IoRD0wO0Q8Vy5CaS5sZW5ndGg7RCsrKVFBKG4sNixXLkJpW0RdLEM2VSwzKTtpZihXLkdoKWZvcihEPTA7RDxXLkdoLmxlbmd0aDtEKyspUUEobiwxNixXLkdoW0RdLE00LDMpO2lmKFcuTSQpZm9yKEQ9MDtEPFcuTSQubGVuZ3RoO0QrKylRQShuLDE3LFcuTSRbRF0sTTQsMyk7aWYoVy5Fdilmb3IoRD0wO0Q8Vy5Fdi5sZW5ndGg7RCsrKVFBKG4sMTgsVy5FdltEXSxNNCwzKTtRQShuLDE5LFcubUgsd00sMyk7UUEobiwyMSxXLk15LFduLDMpO0NSKG4sMjIsVy51TSk7Q1IobiwyMyxXLnJHKTtpZihXLmJLKWZvcihEPTA7RDxXLmJLLmxlbmd0aDtEKyspUUEobiwKMjQsVy5iS1tEXSxXbiwzKTtnLkZhKG4sMjUsVy5kUyk7aWYoVy5qcilmb3IoRD0wO0Q8Vy5qci5sZW5ndGg7RCsrKVFBKG4sMUUzLFcuanJbRF0sQlF3LDMpfTsKQzZVPWZ1bmN0aW9uKG4sVyl7UUEobiwxLFcuZm9ybWF0SWQsTTQsMyk7Q1IobiwyLFcudkQpO0NSKG4sMyxXLnNlcXVlbmNlTnVtYmVyKTtRQShuLDQsVy5oeCxSZiwxKTtDUihuLDUsVy5TMCk7Q1Iobiw2LFcudTMpfTsKV249ZnVuY3Rpb24obixXKXtpZihXLmFEKWZvcihsZXQgRD0wO0Q8Vy5hRC5sZW5ndGg7RCsrKWcuUncobiwxLFcuYURbRF0pO2cuRmEobiwyLFcuYWRzQ29uZmlnKTtnLlJ3KG4sMyxXLkJmKTtDUihuLDQsVy5ESik7Q1Iobiw1LFcub3YpO2cuUncobiw2LFcuZDMpO2cuUncobiw3LFcuY3VlcG9pbnRJZCk7Q1Iobiw4LFcuczEpO2cuUncobiw5LFcudGlsZUNvbnRleHQpO0NSKG4sMTAsVy5zdGFydFRpbWVNcyk7Q1IobiwxMSxXLmR1cmF0aW9uTXMpfTsKQlF3PWZ1bmN0aW9uKG4sVyl7aWYoVy5jRSlmb3IodmFyIEQ9MDtEPFcuY0UubGVuZ3RoO0QrKylRQShuLDEsVy5jRVtEXSxNNCwzKTtpZihXLmVXKWZvcihEPTA7RDxXLmVXLmxlbmd0aDtEKyspUUEobiwyLFcuZVdbRF0sUXIsMyk7Zy5SdyhuLDMsVy5jbGlwSWQpfTsKZy5EVT1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2cuRmEobiwzLFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7UUEobiw1LFcubUgsd00sMyk7UUEobiw2LFcuTXksV24sMyl9Owp3T1o9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKX19OwpSalU9ZnVuY3Rpb24obixXKXtpZihXLk8zKWZvcihsZXQgRD0wO0Q8Vy5PMy5sZW5ndGg7RCsrKVFBKG4sMSxXLk8zW0RdLE02VSwzKX07ClFfMT1mdW5jdGlvbihuLFcpe1FBKG4sMTA0NyxXLmJMLFJqVSwzKX07Ck02VT1mdW5jdGlvbihuLFcpe2lmKFcualYpZm9yKHZhciBEPTA7RDxXLmpWLmxlbmd0aDtEKyspZy5GYShuLDEsVy5qVltEXSk7aWYoVy5yWClmb3IoRD0wO0Q8Vy5yWC5sZW5ndGg7RCsrKWcuRmEobiwyLFcuclhbRF0pfTsKbnl3PWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5jcG4pO0NSKG4sMixXLnNlcXVlbmNlTnVtYmVyKTtnLlJ3KG4sMyxXLnNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQpO2lmKFcuZGVjb2RlckluZm8pZm9yKHZhciBEPTA7RDxXLmRlY29kZXJJbmZvLmxlbmd0aDtEKyspUUEobiw2LFcuZGVjb2RlckluZm9bRF0sVjZyLDMpO2cuUncobiw5LFcucGxheWVyUmVzcG9uc2VDcG4pO0NSKG4sMTAsVy50cmFuc2l0aW9uU3RpdGNoVHlwZSk7Zy5SdyhuLDExLFcucW9lUGluZ1VybCk7Q1IobiwxMixXLnRpbWVzdGFtcE9mZnNldE1zZWNzKTtDUihuLDE1LFcucmVtb3RlQ29udHJvbE1vZGUpO2lmKFcucmVtb3RlQ29ubmVjdGVkRGV2aWNlcylmb3IoRD0wO0Q8Vy5yZW1vdGVDb25uZWN0ZWREZXZpY2VzLmxlbmd0aDtEKyspUUEobiwxNixXLnJlbW90ZUNvbm5lY3RlZERldmljZXNbRF0sYzlNLDMpO2cuRmEobiwxNyxXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0KTsKaWYoVy5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLmxlbmd0aDtEKyspZy5GYShuLDE5LFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhW0RdKTtpZihXLmRhaUN1ZVBvaW50RXZlbnRzKWZvcihEPTA7RDxXLmRhaUN1ZVBvaW50RXZlbnRzLmxlbmd0aDtEKyspUUEobiwyMCxXLmRhaUN1ZVBvaW50RXZlbnRzW0RdLGE4MiwzKTtpZihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YS5sZW5ndGg7RCsrKWcuRmEobiwyMSxXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGFbRF0pfTsKV0JqPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5pZGVudGlmaWVyKTtnLlJ3KG4sMixXLnRpbGVDb250ZXh0KX07Cmcudm49ZnVuY3Rpb24obil7dmFyIFc9e25zOm4uUmEsZWw6bi5ldmVudExhYmVsLGNwbjpuLmNsaWVudFBsYXliYWNrTm9uY2UsdmVyOjIsY210Om4uSihuLk4pLGZtdDpuLnZpZGVvRm9ybWF0LGZzOm4ualc/IjEiOiIwIixydDpuLkoobi53YSksYWRmb3JtYXQ6bi5hZEZvcm1hdCxjb250ZW50X3Y6bi5jb250ZW50VmlkZW9JZCxldXJpOm4uTWQsbGFjdDpuLk5kLGxpdmU6bi5UUSxjbDooOTUxNzc5MTA0KS50b1N0cmluZygpLG1vczpuLlJ0LHN0YXRlOm4ucGxheWVyU3RhdGUsdm9sdW1lOm4uZ1R9O24uc3Vic2NyaWJlZCYmKFcuc3Vic2NyaWJlZD0iMSIpO09iamVjdC5hc3NpZ24oVyxuLlkkKTtuLkQ9PT0iYWxsIj9PYmplY3QuYXNzaWduKFcsbi55RSk6bi5EPT09Im9uY2UiJiZuLlcmJk9iamVjdC5hc3NpZ24oVyxuLnlFKTtuLmF1dG9wbGF5JiYoVy5hdXRvcGxheT0iMSIpO24uTEImJihXLnNhdXRvcGxheT0iMSIpO24uQ3UmJihXLmRuaT0iMSIpOyFuLlgmJm4uSEomJihXLmVwbT0KRGMxW24uSEpdKTtuLmlzRmluYWwmJihXWyJmaW5hbCJdPSIxIik7bi5udSYmKFcuc3BsYXk9IjEiKTtuLm9EJiYoVy5kZWxheT1uLm9EKTtuLkR0JiYoVy5obD1uLkR0KTtuLnJlZ2lvbiYmKFcuY3I9bi5yZWdpb24pO24udXNlckdlbmRlckFnZSYmKFcudWdhPW4udXNlckdlbmRlckFnZSk7bi51c2VyQWdlIT09dm9pZCAwJiZuLkdDJiYoVy51Z2E9bi5HQytuLnVzZXJBZ2UpO24uZSQhPT12b2lkIDAmJihXLmxlbj1uLkoobi5lJCkpOyghbi5YfHxuLkJWKSYmbi5leHBlcmltZW50SWRzLmxlbmd0aD4wJiYoVy5mZXhwPW4uZXhwZXJpbWVudElkcy50b1N0cmluZygpKTtuLkshPT1udWxsJiYoVy5ydG49bi5KKG4uSykpO24uUzkmJihXLmZlYXR1cmU9bi5TOSk7bi5pNSYmKFcuY3RybD1uLmk1KTtuLlVLJiYoVy55dHI9bi5VSyk7bi52SiYmKFcuYWZtdD1uLnZKKTtuLm9mZmxpbmVEb3dubG9hZFVzZXJDaG9pY2UmJihXLk9EVUM9bi5vZmZsaW5lRG93bmxvYWRVc2VyQ2hvaWNlKTtuLlkmJgooVy5saW89bi5KKG4uWSkpO24uWD8oVy5pZHBqPW4uRTUsVy5sZHBqPW4uUXIsbi5kZWxheVRocmVzaG9sZE1ldCYmKFcuZHRtPSIxIiksbi5PIT1udWxsJiYoVy5ydGk9bi5KKG4uTykpLG4uRkwmJihXLmFsZD1uLkZMKSxuLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbiYmKFcuY2xpbz1uLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbikpOm4uYWRUeXBlIT09dm9pZCAwJiYoVy5hdD1uLmFkVHlwZSk7bi5mQiYmKG4uV3x8bi5YKSYmKFcuc2l6ZT1uLmZCKTtuLlcmJm4uVi5sZW5ndGgmJihXLnBic3R5bGU9bi5WLmpvaW4oIiwiKSk7bi5IRCE9bnVsbCYmKG4uV3x8bi5YKSYmKFcuaW52aWV3PW4uSihuLkhEKSk7bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4mJihXLmhiX2RhdGE9bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4pO24uWCYmKFcudm9sdW1lPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQudm9sdW1lKSksVy5zdD1iSihuLGcuaV8obi5zZWdtZW50cywKRD0+RC5zdGFydFRpbWUpKSxXLmV0PWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQuZW5kVGltZSkpLGcub00obi5zZWdtZW50cyxEPT5ELnBsYXliYWNrUmF0ZSE9PTEpJiYoVy5yYXRlPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQucGxheWJhY2tSYXRlKSkpLGcub00obi5zZWdtZW50cyxEPT5ELk4hPT0iLSIpJiYoVy5hbHM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuTikuam9pbigiLCIpKSxnLm9NKG4uc2VnbWVudHMsRD0+RC5wcmV2aW91c2x5RW5kZWQpJiYoVy5wZT1nLmlfKG4uc2VnbWVudHMsRD0+YCR7K0QucHJldmlvdXNseUVuZGVkfWApLmpvaW4oIiwiKSkpOwpXLm11dGVkPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQubXV0ZWQ/MTowKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELnZpc2liaWxpdHlTdGF0ZSE9PTApJiYoVy52aXM9YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC52aXNpYmlsaXR5U3RhdGUpKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELmNvbm5lY3Rpb25UeXBlIT09MCkmJihXLmNvbm49YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5jb25uZWN0aW9uVHlwZSkpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuVyE9PTApJiYoVy5ibG89YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5XKSkpOwpnLm9NKG4uc2VnbWVudHMsRD0+ISFELmopJiYoVy5ibG89Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuaikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW4pJiYoVy5jYnM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuY29tcG9zaXRlTGl2ZVN0YXR1c1Rva2VuKS5qb2luKCIsIikpOwpnLm9NKG4uc2VnbWVudHMsRD0+RC5KIT09Ii0iKSYmKFcuY2M9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuSikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuY2xpcElkIT09Ii0iKSYmKFcuY2xpcGlkPWcuaV8obi5zZWdtZW50cyxEPT5ELmNsaXBJZCkuam9pbigiLCIpKTsKaWYoZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5hdWRpb0lkKSl7bGV0IEQ9ImF1IjsKbi5XJiYoRD0iYXVfZCIpO1dbRF09Zy5pXyhuLnNlZ21lbnRzLGI9PmIuYXVkaW9JZCkuam9pbigiLCIpfWcuakgoKSYmbi50dyYmKFcuY3R0PW4udHcsVy5jdHR5cGU9bi5QWCxXLm1keF9lbnZpcm9ubWVudD1uLm1keEVudmlyb25tZW50KTsKbi55dyYmKFcuZXR5cGU9bi5iZCE9PXZvaWQgMD9uLmJkOjApO24uRkYmJihXLnVvbz1uLkZGKTtuLmxpdmluZ1Jvb21BcHBNb2RlJiZuLmxpdmluZ1Jvb21BcHBNb2RlIT09IkxJVklOR19ST09NX0FQUF9NT0RFX1VOU1BFQ0lGSUVEIiYmKFcuY2xyYW09YlR3W24ubGl2aW5nUm9vbUFwcE1vZGVdfHxuLmxpdmluZ1Jvb21BcHBNb2RlKTtuLmo/dnlNKG4sVyk6KFcuZG9jaWQ9bi52aWRlb0lkLFcucmVmZXJyZXI9bi5yZWZlcnJlcixXLmVpPW4uZXZlbnRJZCxXLm9mPW4uUkgsVy5vc2lkPW4ub3NpZCxXLnZtPW4udmlkZW9NZXRhZGF0YSxuLmFkUXVlcnlJZCYmKFcuYXFpPW4uYWRRdWVyeUlkKSxuLmF1dG9uYXYmJihXLmF1dG9uYXY9IjEiKSxuLnBsYXlsaXN0SWQmJihXLmxpc3Q9bi5wbGF5bGlzdElkKSxuLkFSJiYoVy5zc3J0PSIxIiksbi5IcSYmKFcudXB0PW4uSHEpKTtuLlcmJihuLmVtYmVkc1JjdCYmKFcucmN0PW4uZW1iZWRzUmN0KSxuLmVtYmVkc1JjdG4mJihXLnJjdG49Cm4uZW1iZWRzUmN0biksbi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4mJihXLmNsaW89bi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4pKTtuLmhvc3RDcG4mJihXLmhvc3RfY3BuPW4uaG9zdENwbik7cmV0dXJuIFd9OwphODI9ZnVuY3Rpb24obixXKXtRQShuLDEsVy5pZGVudGlmaWVyLFdCaiwzKTtpZihXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMpZm9yKHZhciBEPTA7RDxXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMubGVuZ3RoO0QrKylRQShuLDIsVy5yZWNlaXZlZEN1ZVBvaW50RXZlbnRzW0RdLGtGdywxKTtpZihXLnJlY2VpdmVkQWRFdmVudHMpZm9yKEQ9MDtEPFcucmVjZWl2ZWRBZEV2ZW50cy5sZW5ndGg7RCsrKVFBKG4sMyxXLnJlY2VpdmVkQWRFdmVudHNbRF0saHN3LDMpfTsKa0Z3PWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Q1IobiwyLFcuc2VnbWVudFN0YXJ0VGltZU1zKTtDUihuLDMsVy5jdWVwb2ludEV2ZW50KTtDUihuLDQsVy5hZEJyZWFrRnVsZmlsbG1lbnRTdGF0ZSk7Q1Iobiw1LFcudHJhY2tUeXBlKTtDUihuLDYsVy5zZWdtZW50TnVtYmVyKTtDUihuLDcsVy5ub0Fkc1N0aXRjaGVkUmVhc29uKX07Cmhzdz1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmVsYXBzZWRUaW1lTXMpO2cuUncobiwyLFcuYWRDcG4pO0NSKG4sMyxXLmFkQWRkZWRMYXRlbmN5VGltZU1zKTtnLlJ3KG4sNCxXLmFkVmlkZW9JZCk7Q1Iobiw1LFcuYWRTdGFydFRpbWVNcyk7Q1Iobiw2LFcuYWREdXJhdGlvbk1zKTtDUihuLDcsVy5hZFJlamVjdGlvblJlYXNvbik7Q1Iobiw4LFcudGltZUVsYXBzZWRTaW5jZUN1ZXBvaW50TXMpfTsKVjZyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Zy5SdyhuLDMsVy52aWRlb0RlY29kZXJOYW1lKX07CmM5TT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmRldmljZUludGVyZmFjZSk7Zy5SdyhuLDIsVy5kZXZpY2VWZXJzaW9uKTtCRyhuLDMsVy5pc1NsZWVwaW5nKX07CkxCVT1mdW5jdGlvbihuKXtyZXR1cm57ZmY6aWgobiwxLHhjYiksdHJhY2tUeXBlOlBHKG4sMiksUFA6UEcobiwzKSx0aW1lUmFuZ2U6aWgobiw0LGMkKSx0aWxlQ29udGV4dDpFeChuLDUpLGJ4OlBHKG4sNiksRzM6UEcobiw3KSxvcHBvcnR1bml0eUlkOkV4KG4sOCksc2VyaWFsaXplZFByZWZldGNoQ29udGV4dDp5QShuLDkpfX07CnhjYj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLGV2ZW50OlBHKG4sMiksTUs6WncobiwzKSxUeTpadyhuLDQpLHVUOkV4KG4sNSksaWRlbnRpZmllcjpFeChuLDYpLEFDOlBHKG4sOSl9fTsKa2Q9ZnVuY3Rpb24obil7cmV0dXJue2ZpcnN0OlBHKG4sMSksSjc6UEcobiwyKX19Owplc2o9ZnVuY3Rpb24obil7cmV0dXJue2JpdHJhdGU6UEcobiw2KSx3aWR0aDpQRyhuLDcpLGhlaWdodDpQRyhuLDgpLGZwczpQRyhuLDI1KSxhdmVyYWdlQml0cmF0ZTpQRyhuLDMxKSxhdWRpb1NhbXBsZVJhdGU6UEcobiw0NSksYXVkaW9DaGFubmVsczpQRyhuLDQ2KSxxdWFsaXR5T3JkaW5hbDpQRyhuLDU2KX19Owpocz1mdW5jdGlvbihuKXtyZXR1cm57aXRhZ0RlbnlsaXN0OnVoKG4sMSl9fTsKZ3kxPWZ1bmN0aW9uKG4pe3JldHVybntZazpVeChuLDEpLFhXOlBHKG4sMiksc1E6VXgobiwzKSxOVDpadyhuLDQpLGNyeXB0b1BlcmlvZEluZGV4OlBHKG4sNSksWlg6UEcobiw2KSxMRzpQRyhuLDcpfX07CkdGQz1mdW5jdGlvbihuKXtyZXR1cm57SzU6UEcobiwxKSxpdGFnOkV4KG4sMyksUXQ6aWgobiw0LFh4dCksbG10OlBHKG4sNSksQ2U6UEcobiw3KSx4dGFnczpFeChuLDE1KSxuNjppaChuLDIzLHEwYiksWHQ6aWgobiwzNCxocyl9fTsKWHh0PWZ1bmN0aW9uKG4pe3JldHVybntpdjp5QShuLDUpLE5FOlV4KG4sNyl9fTsKdHBiPWZ1bmN0aW9uKG4pe3JldHVybntnazp1aChuLDIpLHZpZGVvSWQ6RXgobiwzKSxRbzpQRyhuLDQpfX07CnEwYj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDIpfX07CiRjeD1mdW5jdGlvbihuKXtyZXR1cm57d2Y6UEcobiwzKSx2NzpQRyhuLDQpLEtOOlBHKG4sNSksWjM6VXgobiw4KSxXWjpQRyhuLDEwKSxITzpQRyhuLDEyKSxVUjpQRyhuLDEzKSxzUjpQRyhuLDE0KSx1MDpQRyhuLDE1KSxMejpQRyhuLDE2KX19Owp4ZD1mdW5jdGlvbihuKXtyZXR1cm57dGFyZ2V0QXVkaW9SZWFkYWhlYWRNczpQRyhuLDEpLHRhcmdldFZpZGVvUmVhZGFoZWFkTXM6UEcobiwyKSxiYWNrb2ZmVGltZU1zOlBHKG4sNCkscGxheWJhY2tDb29raWU6eUEobiw3KSx2aWRlb0lkOkV4KG4sOCl9fTsKTDc9ZnVuY3Rpb24obil7cmV0dXJue21pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjOlBHKG4sMSksbWluUmVhZGFoZWFkTXM6UEcobiwyKX19OwplST1mdW5jdGlvbihuKXtyZXR1cm57c3RhcnRNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwxLEw3KSxyZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwyLEw3KX19OwpyS3I9ZnVuY3Rpb24obil7cmV0dXJue2xhYmVsOkV4KG4sMSksdGV4dDpFeChuLDIpfX07CnNoWj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDEpLGZvcm1hdElkOmloKG4sMixWciksZGVidWdJbmZvOm93KG4sMyxyS3IpfX07CmdQPWZ1bmN0aW9uKG4pe3JldHVybntKMDpvdyhuLDEsc2haKX19OwpObXQ9ZnVuY3Rpb24obil7cmV0dXJue0ZrOlBHKG4sMSksZno6UEcobiwyKSxtaW5SZWFkYWhlYWRNczpQRyhuLDMpfX07ClhOPWZ1bmN0aW9uKG4pe3JldHVybntwdjpQRyhuLDEpLGl0ZW1zOm93KG4sMixObXQpLFBuOlBHKG4sMyl9fTsKcHhpPWZ1bmN0aW9uKG4pe3JldHVybnt0b2tlbjpFeChuLDEpLHZpZGVvSWQ6RXgobiwyKX19OwpZMFU9ZnVuY3Rpb24obil7cmV0dXJue2V3OlBHKG4sMSl9fTsKcUc9ZnVuY3Rpb24obil7cmV0dXJue1FxOkV4KG4sMSksYWN0aW9uOlBHKG4sMiksQ3Y6aWgobiwzLFkwVSl9fTsKR0U9ZnVuY3Rpb24obil7cmV0dXJue0pKOlBHKG4sMSksUUI6UEcobiwyKSxzZWVrU291cmNlOlBHKG4sMyl9fTsKSFRaPWZ1bmN0aW9uKG4pe3JldHVybnt6SDpQRyhuLDEpLHg6UEcobiwyKSx5OlBHKG4sMyksd2lkdGg6UEcobiw0KSxoZWlnaHQ6UEcobiw1KX19OwpmbGo9ZnVuY3Rpb24obil7cmV0dXJue3JlZ2lvbjppaChuLDEsSFRaKSx1MTppaChuLDIsYyQpLGNwbjpFeChuLDUpLGxvZ2dpbmdNZXRhZGF0YTp5QShuLDYpLGJUOmloKG4sNyxjJCksTlI6UEcobiw4KSxxUjpVeChuLDkpfX07CkpLaj1mdW5jdGlvbihuKXtyZXR1cm57UjE6b3cobiwxLGZsail9fTsKSWxqPWZ1bmN0aW9uKG4pe3JldHVybnttZXRhZGF0YTpvdyhuLDEsSktqKSx0cmFja1R5cGU6UEcobiwyKX19Owp0cz1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLHNjb3BlOlBHKG4sMiksdmFsdWU6eUEobiwzKSxzZW5kQnlEZWZhdWx0OlV4KG4sNCksd3JpdGVQb2xpY3k6UEcobiw1KX19OwpTMHc9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Zy5SdyhuLDIsVy51cmwpfTsKQUtyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuaWQpO2cuUncobiwyLFcubmFtZSk7Q1IobiwzLFcucmVzb3VyY2VJZCk7Q1Iobiw0LFcubGluZSk7Q1Iobiw1LFcuY29sdW1uKX07Cm1jcj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmlkKTtDUihuLDIsVy50aW1lc3RhbXBNcyk7Q1IobiwzLFcuc3RhY2tJZCl9OwpLQk09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Q1IobiwyLFcuZnJhbWVJZCk7Q1IobiwzLFcucGFyZW50SWQpfTsKT1RiPWZ1bmN0aW9uKG4sVyl7aWYoVy5yZXNvdXJjZXMpZm9yKHZhciBEPTA7RDxXLnJlc291cmNlcy5sZW5ndGg7RCsrKVFBKG4sMSxXLnJlc291cmNlc1tEXSxTMHcsMyk7aWYoVy5mcmFtZXMpZm9yKEQ9MDtEPFcuZnJhbWVzLmxlbmd0aDtEKyspUUEobiwyLFcuZnJhbWVzW0RdLEFLciwzKTtpZihXLnNhbXBsZXMpZm9yKEQ9MDtEPFcuc2FtcGxlcy5sZW5ndGg7RCsrKVFBKG4sMyxXLnNhbXBsZXNbRF0sbWNyLDEpO2lmKFcuc3RhY2tzKWZvcihEPTA7RDxXLnN0YWNrcy5sZW5ndGg7RCsrKVFBKG4sNCxXLnN0YWNrc1tEXSxLQk0sMSl9OwpQa0M9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpfTsKWlRVPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKVWNpPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuTXcpfTsKeUtDPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKRXkyPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5CQil9OwppVHg9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpO0NSKG4sMixXLlM3KX07CnVMMj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLnR5cGUpO3ZhciBEPVcucUw7aWYoRCE9PXZvaWQgMCl7dmFyIGI9bmV3IEFycmF5QnVmZmVyKDgpOyhuZXcgRmxvYXQ2NEFycmF5KGIpKVswXT1EO0Q9bmV3IFVpbnQzMkFycmF5KGIpO2I9RFswXTtEPURbMV07aWYoYiE9PXZvaWQgMCYmRCE9PXZvaWQgMCl7ajUobiwxNyk7VDYobiw4KTtmb3IobGV0IHY9MDt2PDQ7disrKW4udmlldy5zZXRVaW50OChuLnBvcyxiJjI1NSksYj4+Pj04LG4ucG9zKz0xO2I9RDtmb3IoRD0wO0Q8NDtEKyspbi52aWV3LnNldFVpbnQ4KG4ucG9zLGImMjU1KSxiPj4+PTgsbi5wb3MrPTF9fVFBKG4sMyxXLmE5LFBrQywzKTtRQShuLDQsVy5seCxaVFUsMSk7UUEobiw1LFcucTAsVWNpLDEpO1FBKG4sNixXLmlzVHlwZVN1cHBvcnRlZCx5S0MsMSk7UUEobiw3LFcueTgsRXkyLDMpO1FBKG4sOCxXLkpMLGlUeCwzKX07Cm95aD1mdW5jdGlvbihuKXtyZXR1cm57ZGF0YTp5QShuLDEpfX07CmRjdD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19Owp6czE9ZnVuY3Rpb24obil7cmV0dXJue0hTOlp3KG4sMSl9fTsKbGxyPWZ1bmN0aW9uKG4pe3JldHVybntwbGFjZWhvbGRlcjpVeChuLDEpfX07ClRtcj1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpqaE09ZnVuY3Rpb24obil7cmV0dXJue2RhdGE6eUEobiwxKSxrazpQRyhuLDIpfX07CkNreD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpCbWo9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKSxxTDpadyhuLDIpLFFKOlp3KG4sMyksVG86Wncobiw0KSxpbml0OmloKG4sNSxDa3gpLGE5OmloKG4sNixveWgpLGx4OmloKG4sNyxkY3QpLHEwOmloKG4sOCx6czEpLGlzVHlwZVN1cHBvcnRlZDppaChuLDksbGxyKSx5ODppaChuLDEwLFRtciksSkw6aWgobiwxMSxqaE0pfX07Cnd4Wj1mdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhGQlUpLmluY2x1ZGVzKG4pfTsKTXBDPWZ1bmN0aW9uKG4peyRkPTI1OTJFMyoobnx8MSl9OwpyUD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci12b2x1bWUiKXx8e30sVz1uLnZvbHVtZTtyZXR1cm57dm9sdW1lOmlzTmFOKFcpPzEwMDpnLkZmKE1hdGguZmxvb3IoVyksMCwxMDApLG11dGVkOiEhbi5tdXRlZH19Owpzbj1mdW5jdGlvbihuKXtnLlBCKCJ5dC1wbGF5ZXItYmFuZHdpZHRoIixuLDI1OTJFMyl9OwpwNz1mdW5jdGlvbihuPSRkKXtpZihuPjAmJiEoVVAoKT4oMCxnLlIpKCktbioxRTMpKXJldHVybiAwO249Zy5aSSgieXQtcGxheWVyLXF1YWxpdHkiKTtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXtpZihuPU5HW25dLG4+MClyZXR1cm4gbn1lbHNlIGlmKG4gaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIG4ucXVhbGl0eTtyZXR1cm4gMH07CllkPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLXByb3hpbWEtcHJlZiIpO3JldHVybiBuPT1udWxsP251bGw6bn07ClJzeD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci1xdWFsaXR5Iik7aWYobiBpbnN0YW5jZW9mIE9iamVjdCYmbi5xdWFsaXR5JiZuLnByZXZpb3VzUXVhbGl0eSl7aWYobi5xdWFsaXR5Pm4ucHJldmlvdXNRdWFsaXR5KXJldHVybiAxO2lmKG4ucXVhbGl0eTxuLnByZXZpb3VzUXVhbGl0eSlyZXR1cm4tMX1yZXR1cm4gMH07CkhuPWZ1bmN0aW9uKCl7dmFyIG49e3ZhbHVlczp7fSxGWTp7fX07dHJ5e2xldCBXPUpTT04ucGFyc2UoSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlWyJ5dC1wbGF5ZXItbWVtb3J5Il0pLmRhdGEpO24udmFsdWVzPVcudmFsdWVzO24uaGFsZkxpdmVzPVcuaGFsZkxpdmVzfWNhdGNoe31yZXR1cm4gbn07CmY3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiKXx8e319OwpRaHc9ZnVuY3Rpb24obj0hMSl7aWYobil7bj1mNygpO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSlXLmluZGV4T2YoIjEiKSE9PTAmJmRlbGV0ZSBuW1ddO2cuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLG4sMjU5MkUzKX1lbHNlIHRyeXtsZXQgVz1PUC5xYigpLEQ9T1AuQnAoKTtXJiZXLnJlbW92ZSgieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcCIpO0QmJkQucmVtb3ZlKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwIil9Y2F0Y2goVyl7fX07CkpzPWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAtYWN0aXZlLXNldCIpPz9bXX07ClZwQz1mdW5jdGlvbihuPSExKXtuPyhuPUpzKCkuZmlsdGVyKFc9Plcuc3RhcnRzV2l0aCgiMSIpKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLG4sMjU5MkUzKSk6Zy5QQigieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcC1hY3RpdmUtc2V0IixbXSwyNTkyRTMpfTsKSU89ZnVuY3Rpb24oKXtyZXR1cm4hIWcuWkkoInl0LXBsYXllci1oZWFkZXJzLXJlYWRhYmxlIil9OwpnLlNJPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLWNhcHRpb24tbGFuZ3VhZ2UtcHJlZmVyZW5jZXMiKTtyZXR1cm4gbj9uOltdfTsKQXM9ZnVuY3Rpb24oKXt2YXIgbj1nLlpJKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIpLFc9bmV3IE1hcDtpZihuKWZvcihsZXQgW0QsYl1vZiBPYmplY3QuZW50cmllcyhuKSlXLnNldChELGIpO3JldHVybiBXfTsKbTU9ZnVuY3Rpb24oKXtyZXR1cm4gZy5aSSgieXQtcGxheWVyLXZvaWNlLWJvb3N0Iik/P3ZvaWQgMH07Cks3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1hdWRpby1xdWFsaXR5LXNldHRpbmciKT8/Mn07ClpVPWZ1bmN0aW9uKCl7dHJ5e2xldCBuPXdpbmRvdy5uYXZpZ2F0b3I7aWYobi5nZXRBdXRvcGxheVBvbGljeSYmdHlwZW9mIG4uZ2V0QXV0b3BsYXlQb2xpY3k9PT0iZnVuY3Rpb24iKXtsZXQgVz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGcuT24uV0MpLEQ7RD1XLmxlbmd0aD4wJiZXWzBdP24uZ2V0QXV0b3BsYXlQb2xpY3koV1swXSk6bi5nZXRBdXRvcGxheVBvbGljeSgibWVkaWFlbGVtZW50Iik7aWYoUG5bRF0pcmV0dXJuIFBuW0RdfX1jYXRjaChuKXt9cmV0dXJuIkFVVE9QTEFZX0JST1dTRVJfUE9MSUNZX1VOU1BFQ0lGSUVEIn07ClVuPWZ1bmN0aW9uKG4pe3JldHVybiBuLlBYfHxuLkd1fHxuLm11dGVkQXV0b3BsYXl9Owp5dz1mdW5jdGlvbihuLFcpe3JldHVybiBVbihuKT9XIT09MSYmVyE9PTImJlchPT0wPyJBVVRPUExBWV9TVEFUVVNfVU5BVkFJTEFCTEUiOm4uc1o/IkFVVE9QTEFZX1NUQVRVU19CTE9DS0VEIjoiQVVUT1BMQVlfU1RBVFVTX09DQ1VSUkVEIjoiQVVUT1BMQVlfU1RBVFVTX05PVF9BVFRFTVBURUQifTsKZy5Fbj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5HKCk7bi50aGlyZFBhcnR5fHwobi50aGlyZFBhcnR5PXt9KTtuLnRoaXJkUGFydHk9ey4uLm4udGhpcmRQYXJ0eSxlbWJlZFVybDpiLmxvYWRlclVybH07Yi5hbmNlc3Rvck9yaWdpbnMmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGFuY2VzdG9yT3JpZ2luczpiLmFuY2VzdG9yT3JpZ2luc30pO2IuZUshPW51bGwmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LHZpc2liaWxpdHlGcmFjdGlvbjpOdW1iZXIoYi5lSyl9KTtiLkxLJiYobi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dD17Li4ubi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dCx2aXNpYmlsaXR5RnJhY3Rpb25Tb3VyY2U6Yi5MS30pO24udGhpcmRQYXJ0eS5lbWJlZGRlZFBsYXllckNvbnRleHQ9CnsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGF1dG9wbGF5QnJvd3NlclBvbGljeTpaVSgpLGF1dG9wbGF5SW50ZW5kZWQ6VW4oVyksYXV0b3BsYXlTdGF0dXM6eXcoVyxEKX19OwppSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5zcGxpdCgiLCIpKXtpZighRCljb250aW51ZTsobj1ELnN0YXJ0c1dpdGgoIiEiKSkmJihEPUQuc3Vic3RyaW5nKDEpKTtsZXQgYj1ELnNwbGl0KCItIik7Yi5sZW5ndGg8M3x8Vy5wdXNoKHtoajpiWzBdLHBsYXRmb3JtOmJbMV0sZGV2aWNlVmVyc2lvbjpiWzJdLEVzOm59KX1yZXR1cm4gV307CmFseD1mdW5jdGlvbihuKXtyZXR1cm4gaUoobikubWFwKCh7aGo6VyxkZXZpY2VWZXJzaW9uOkQsRXM6Yn0pPT4oe2RldmljZUludGVyZmFjZTpjS01bdUpbV11dfHwwLGRldmljZVZlcnNpb246RHx8IiIsaXNTbGVlcGluZzpifSkpfTsKb089ZnVuY3Rpb24obixXLEQ9ITEsYj0iIil7IW4mJkQmJmcuR3EoRXJyb3IoYFBsYXllciBVUkwgdmFsaWRhdG9yIGRldGVjdHMgaW52YWxpZCB1cmwuICR7Yn06ICR7V31gKSk7cmV0dXJuIG59Owp6RT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcmJlcudGVzdChuKXx8ZFAmJkQmJkQudGVzdChuKT8hMDohMX07ClRFPWZ1bmN0aW9uKG4pe3JldHVybihuPWxKJiZsSi5leGVjKG4pKT9uWzBdOiIifTsKZ1g9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sbkV3LFdoWiksbiwhMSwiVHJ1c3RlZCBTdHJlYW0gVVJMIil9OwpnLmpJPWZ1bmN0aW9uKG4pe3JldHVybiBvTyh6RShuLEQ1VSxiS1opLG4sITEsIlRydXN0ZWQgSW1hZ2UgVVJMIil9OwpDNz1mdW5jdGlvbihuKXtyZXR1cm4gb08oekUobix2RWgsbnVsbCksbiwhMSwiVHJ1c3RlZCBQcm9tb3RlZCBWaWRlbyBEb21haW4gVVJMIil9OwpoQWk9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sazdyLG51bGwpLG4sITEsIkRybSBMaWNlbnNvciBVUkwiKX07CkJuPWZ1bmN0aW9uKG4sVz0hMSl7cmV0dXJuIG9PKHpFKG4seDVyLExodCksbixXLCJDYXB0aW9ucyBVUkwiKX07CmVBPWZ1bmN0aW9uKG4pe249bmV3IGcuVWoobik7eU4obixkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk7RWoobixkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSk7ZG9jdW1lbnQubG9jYXRpb24ucG9ydCYmaXIobixkb2N1bWVudC5sb2NhdGlvbi5wb3J0KTtyZXR1cm4gbi50b1N0cmluZygpfTsKRk49ZnVuY3Rpb24obil7bj1uZXcgZy5VaihuKTt5TihuLGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKTtyZXR1cm4gbi50b1N0cmluZygpfTsKZUFaPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5uYW1lLFsyXTpuLmlkLFszXTpuLmlzRGVmYXVsdCxbNF06bi5pc0F1dG9EdWJiZWR9fTsKTUc9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB3UChuWzFdLG5bMl0sblszXSxuWzRdKX07ClJPPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5sYW5ndWFnZUNvZGUsWzJdOm4ubGFuZ3VhZ2VOYW1lLFszXTpuLmtpbmQsWzRdOm4ubmFtZSxbNV06bi5kaXNwbGF5TmFtZSxbNl06bi5pZCxbN106bi54dGFncyxbOF06bi5OLFs5XTpuLmlzVHJhbnNsYXRlYWJsZSxbMTBdOm4udXJsLFsxMV06bi52c3NJZCxbMTJdOm4uaXNEZWZhdWx0LFsxM106bi50cmFuc2xhdGlvbkxhbmd1YWdlLFsxNF06bi5jYXB0aW9uSWR9fTsKVnc9ZnVuY3Rpb24obil7dmFyIFc9bmV3IGcuUXcoe2xhbmd1YWdlQ29kZTpuWzFdLGxhbmd1YWdlTmFtZTpuWzJdLGtpbmQ6blszXSxuYW1lOm5bNF0saWQ6bls2XSxpc19zZXJ2YWJsZTpuWzhdLGlzX3RyYW5zbGF0ZWFibGU6bls5XSx1cmw6blsxMF0sdnNzX2lkOm5bMTFdLGlzX2RlZmF1bHQ6blsxMl0seHRhZ3M6bls3XSxjYXB0aW9uSWQ6blsxNF19KTtXLmRpc3BsYXlOYW1lPW5bNV07Vy50cmFuc2xhdGlvbkxhbmd1YWdlPW5bMTNdO3JldHVybiBXfTsKZy5jbj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRpc3BsYXlOYW1lKVcucHVzaChuLmRpc3BsYXlOYW1lKTtlbHNle2xldCBEPW4ubGFuZ3VhZ2VOYW1lfHwiIjtXLnB1c2goRCk7bi5raW5kPT09ImFzciImJkQuaW5kZXhPZigiKCIpPT09LTEmJlcucHVzaCgiIChBdXRvbWF0aWMgQ2FwdGlvbnMpIik7bi5uYW1lJiZXLnB1c2goYCAtICR7bi5uYW1lfWApfW4udHJhbnNsYXRpb25MYW5ndWFnZSYmVy5wdXNoKGAgPj4gJHtuLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VOYW1lfWApO3JldHVybiBXLmpvaW4oIiIpfTsKZy5hTz1mdW5jdGlvbihuKXtyZXR1cm4gbi50cmFuc2xhdGlvbkxhbmd1YWdlP24udHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGU6bi5sYW5ndWFnZUNvZGV9OwpnLm5nPWZ1bmN0aW9uKG4pe3ZhciBXPW4udnNzSWQ7bi50cmFuc2xhdGlvbkxhbmd1YWdlJiZXJiYoVz1gdCR7V30uJHtnLmFPKG4pfWApO3JldHVybiBXfTsKZ0V3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uVyxEPW4uTixiPW4uWDtyZXR1cm57WzFdOm4uY2FwdGlvbnNJbml0aWFsU3RhdGUsWzJdOm4uSixbM106bi5jYXB0aW9uVHJhY2tzLm1hcCh2PT5STyh2KSksCls0XTpXP1JPKFcpOm51bGwsWzVdOkQ/Uk8oRCk6bnVsbCxbNl06bi5pZCxbN106bi5qLFs4XTpuLlYsWzldOmVBWihuLmtaKSxbMTBdOmI/Uk8oYik6bnVsbCxbMTFdOm4ueHRhZ3N9fTsKRGM9ZnVuY3Rpb24obil7dmFyIFc9bls0XSxEPW5bNV0sYj1uWzEwXSx2PW5ldyBXQShuWzZdLE1HKG5bOV0pKTt2LmNhcHRpb25zSW5pdGlhbFN0YXRlPW5bMV07di5jYXB0aW9uVHJhY2tzPW5bM10ubWFwKGs9PlZ3KGspKTsKdi5KPW5bMl07di5XPVc/VncoVyk6bnVsbDt2Lk49RD9WdyhEKTpudWxsO3Yuaj1uWzddO3YuVj1uWzhdO3YuWD1iP1Z3KGIpOm51bGw7di54dGFncz1uWzExXTtyZXR1cm4gdn07CnZBPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBuZXcgYjMoTkdbbl18fDAsTkdbV118fDAsRCxiKX07CmtKPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5KLFsyXTpuLk4sWzNdOm4uVyxbNF06bi5yZWFzb24sWzVdOm4uTnN9fTsKWExTPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgYjMoblsxXSxuWzJdLG5bM10sbls0XSxuWzVdKX07CnhKPWZ1bmN0aW9uKG4pe2lmKGhUJiZuLk5zKXJldHVybiExO3ZhciBXPU5HLmF1dG87cmV0dXJuIG4uSj09PVcmJm4uTj09PVd9OwplSj1mdW5jdGlvbihuKXtyZXR1cm4gTGdbbi5OfHxuLkpdfHwiYXV0byJ9OwpnRj1mdW5jdGlvbihuLFcpe1c9TkdbV107cmV0dXJuIG4uSjw9VyYmKCFuLk58fG4uTj49Vyl9OwpYcD1mdW5jdGlvbihuKXtyZXR1cm4hIW5bIjEiXT8ubGVuZ3RofHwhIW5bIjFoIl0/Lmxlbmd0aHx8ISFuWyIxZSJdPy5sZW5ndGh9OwpxZD1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSIxInx8bj09PSIxaCJ8fG49PT0iMWUifTsKTmQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9ITE7aWYobi5KKXJldHVybiBuLko7dmFyIEw9e30sZT1uZXcgU2V0LEc9e307aWYoR18oYikpe2Zvcih2YXIgciBpbiBiLk4pe2lmKCFiLk4uaGFzT3duUHJvcGVydHkocikpY29udGludWU7bj1iLk5bcl07R1tuLmluZm8uSUJdPVtuLmluZm9dfXJldHVybiBHfXI9dFQoVyxiLEwpO2lmKFcuSil7KHg9WHAocikpfHwoVy5OLm5vQXYxUmVhc29uPSJub0Zvcm1hdCIpO3ZhciBOPUQuWT8iZGlzYWJsZUF2MUZvclNlc3Npb24iOiIiO04mJihXLk4ubm9BdjFSZWFzb249Tik7dih7bm9BdjFSZWFzb246Vy5OLm5vQXYxUmVhc29ufSl9ayYmdih7YWZ0c3J0OiRKKHIpfSk7Tj17fTt2YXIgSD0iIjtmb3IobGV0IEEgb2YgT2JqZWN0LmtleXMocikpe2xldCB5PUE7Zm9yKGxldCBUIG9mIHJbeV0pe2xldCB6PVQuaXRhZyxDPXJGKHksVCxXKTtpZihOLmhhc093blByb3BlcnR5KEMpKXtOW0NdPT09ITA/R1t5XS5wdXNoKFQpOkxbel09Ck5bQ107Y29udGludWV9bGV0IFE9c0QoVyxULEQsYi5pc0xpdmUsZSk7USE9PSEwPyhoLmFkZCh5KSxMW3pdPVEsVy5KJiZULk1XKCkmJihIKz1gOyR7en07JHtRfWApLFE9PT0iZGlzYWJsZXZwOWhmciImJihOW0NdPSJkaXNhYmxldnA5aGZyIikpOihHW3ldPUdbeV18fFtdLEdbeV0ucHVzaChUKSxOW0NdPSEwKX19Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj1ILHYoe25vQXYxUmVhc29uOlcuTi5ub0F2MVJlYXNvbn0pKTtrJiZ2KHtiZmZsdDokSihHKX0pO2ZvcihsZXQgQSBpbiBHKXtpZighRy5oYXNPd25Qcm9wZXJ0eShBKSljb250aW51ZTtiPUE7R1tiXSYmR1tiXVswXS5mWSgpJiYoaD1HW2JdLmxlbmd0aCxHW2JdPUdbYl0sVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9MCYmKGg9R1tiXS5sZW5ndGgsdih7bm9BdjFGbXQ6ImZpbHRlclZwOVVsdGxvdyIsY29kZWM6Yn0pKSxHW2JdPXEyQyhXLEdbYl0sTCksVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9CjAmJihoPUdbYl0ubGVuZ3RoLHYoe25vQXYxRm10OiJmaWx0ZXJRdWFsaXRpZXMiLGNvZGVjOmJ9KSksR1tiXT1HN1UoR1tiXSxMKSxXLkomJnFkKGIpJiZoPjAmJkdbYl0ubGVuZ3RoPD0wJiZ2KHtub0F2MUZtdDoiZmlsdGVySGZyIixjb2RlYzpifSkpfWsmJk9iamVjdC5rZXlzKEwpLmxlbmd0aD4wJiZ2KHtyanI6Zy5UQyhMKX0pO2ZvcihsZXQgQSBvZiBlLnZhbHVlcygpKShMPUQuVy5nZXQoQSkpJiYtLUwuZzE7ayYmdih7YWZ0Zmx0OiRKKEcpfSk7Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj0iZmlsdGVyIix2KHtub0F2MVJlYXNvbjpXLk4ubm9BdjFSZWFzb259KSk7bi5KPWcublQoRyxBPT4hIUEubGVuZ3RoKTsKcmV0dXJuIG4uSn07CklEaD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1XLld8fCEhdixMPXgmJlcuTEI/azp2b2lkIDAsZT1uZXcgU2V0LEc9TmQobixXLEQsYixrLHgsZSk7Yi5YKCkmJihHPXRnaChELEcsdix4LGssVykseCYmayh7ZW5mbHQ6JEooRyl9KSk7Vy55RT0kNXIoRyxXKTt2PUx0PT4hIUdbTHRdOwp2YXIgcj1ySGkoVyk7RD1bXTtmb3IodmFyIE4gb2YgT2JqZWN0LnZhbHVlcyhHKSlOPy5sZW5ndGgmJk5bMF0uZVMoKSYmRC5wdXNoKC4uLk4pO2lmKEdfKGIpKXJldHVybiBrPWcubF8oT2JqZWN0LnZhbHVlcyhHKSxMdD0+ISFMdC5sZW5ndGgmJiEhTHRbMF0uYXVkaW8pLHg9Zy5sXyhPYmplY3QudmFsdWVzKEcpLEx0PT4hIUx0Lmxlbmd0aCYmISFMdFswXS52aWRlbyksayYmeHx8Zy5wJCgpLGcuSDAobmV3IHBnKHgsayxMLEQpKTsKTj1HLmE7dmFyIEg9ITE7Vy5IaSYmclswXSE9PSJhIiYmc1diKE4pJiYoci51bnNoaWZ0KCJhIiksSD0hMCk7eCYmKGsoe2F1ZGlvUHJlZk9yZGVyOnIuam9pbigiXyIpfSksayh7cHJlZmVySGlnaFF1YWxpdHlBdWRpbzpXLkhpfSksayh7Zm9yY2VkQWFjRm9ySHFhOkh9KSk7Tj1bXTtpZihXLnZYKXtyPWcuRU0ocix2KTtIPW5ldyBTZXQ7Zm9yKHZhciBBIG9mIHIpe3ZhciB5PUdbQV07bGV0IEx0PW5ldyBTZXQ7Zm9yKHZhciBUIG9mIHkpaWYoeT1ULmtaPy5pZClILmhhcyh5KT9MdC5oYXMoeSkmJk4ucHVzaChUKTooTHQuYWRkKHkpLEguYWRkKHkpLE4ucHVzaChUKSl9aWYoTi5sZW5ndGg9PT0wKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbclswXV19fWVsc2V7Tj1nLmxfKHIsdik7aWYoIU4pcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbTl19R1siOSJdJiZHLmgmJmIuelcmJiFXLkZGJiYoeCYmayh7ZGx0dnA5OjF9KSwKZGVsZXRlIEdbIjkiXSk7aWYoaCl7eCYmayh7YmZzZmx0OiRKKEcpLGJmc2ZsdGE6WUoobil9KTtXLkR0P24uTj1ORFMoZSxuLk4pOm4uTi5jbGVhcigpO3gmJmsoe2Jmc2ZsdGI6WUoobil9KTtmb3IodmFyIHogaW4gRyl7aWYoIUcuaGFzT3duUHJvcGVydHkoeikpY29udGludWU7aD16O2lmKCEoaD09PSJmInx8Vy54ZD09PTAmJnBMai5oYXMoaCkpKWZvcih2YXIgQyBvZiBHW2hdKVcuRHQ/WTJTKGgsQyxuLk4pOkhLaShuLGgsQyl9eCYmayh7YWZ0c2ZsdDpZSihuKX0pfXo9R1siMWgiXT8iMWgiOiIxIjtuPUdbIjloIl0/IjloIjoiOSI7aD1HW3pdO2U9R1siMiJdO0E9R1tuXTtoJiZoLmxlbmd0aCYmKFcuTi5oaWdoZXN0QXYxUmVzb2x1dGlvbj1oW2gubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtBJiZBLmxlbmd0aCYmKFcuTi5oaWdoZXN0VnA5UmVzb2x1dGlvbj1BW0EubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtDPVtdO1Q9W107aWYoVy55dyYmZSlDPQplLFQ9WyIyIl07ZWxzZSBpZihXLk1kJiZoKUM9aCxUPVt6XSxrKHtmb3JjZUF2MTp6fSk7ZWxzZSBpZihXLkQmJiFXLmJ2KXtUPWZEdyhiKT9HWyIxaCJdfHxHWyI5aCJdP1siMWgiLCI5aCJdOlsiOSIsImgiXTpbIjEiLCI5IiwiaCJdO3gmJmsoe25ld2h5YnByZWY6VC5qb2luKCIuIil9KTtmb3IodmFyIFEgb2YgVClDPUMuY29uY2F0KEdbUV0pLmZpbHRlcihMdD0+THQpfWVsc2UgVy5uUz4wJiZBJiZoJiYoVD1beiwKbl0sQz1oLmNvbmNhdChBKS5maWx0ZXIoTHQ9Pkx0KSk7CmlmKEMubGVuZ3RoJiYhVy5idil7SEEoQyxUKTtpZih4KXt4PVtdO2Zvcih2YXIgViBvZiBDKXgucHVzaChWLml0YWcpO2soe2hiZGZtdDp4LmpvaW4oIi4iKX0pfXJldHVybiBnLkgwKG5ldyBwZyhDLE4sTCxEKSl9Vj1KSHIoVyk7Vj1nLmxfKFYsdik7aWYoIVYpe2lmKEdbel0pcmV0dXJuIGs9R1t6XSxIQShrKSxnLkgwKG5ldyBwZyhrLE4sTCxEKSk7eCYmayh7bm92aWRlbzoxfSk7cmV0dXJuIGcucCQoKX1WIT09IjEiJiZWIT09IjFoInx8IUdbbl18fChRPWZnKEdbVl0pLHY9ZmcoR1tuXSksdj5RP1Y9bjooUT12PT09USx2PUpUKEdbbl0pLHo9SlQoR1tWXSksIVF8fCF2fHxXLllaJiZ6fHwoVj1uKSkpO1Y9PT0iOSImJkcuaCYmZmcoRy5oKT5mZyhHWyI5Il0pJiYoVj0iaCIpO1cuQlYmJmIuaXNMaXZlJiZWPT09IigiJiZHLkgmJmZnKEdbIigiXSk8MTQ0MCYmKFY9IkgiKTt4JiZrKHt2Zm1seTpJcihWKX0pO1c9R1tWXTtpZighVy5sZW5ndGgpcmV0dXJuIHgmJmsoe25vdmZtbHk6SXIoVil9KSwKZy5wJCgpO0hBKFcpO3JldHVybiBnLkgwKG5ldyBwZyhXLE4sTCxEKSl9OwpTMmI9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4PSExKXtpZihXLkU1JiZoJiZoLmxlbmd0aD4xJiYhKFcublM+MHx8Vy5EKSl7bGV0IHI9Vy5XfHwhIXYsTj1yJiZXLkxCP2s6dm9pZCAwLEg9dFQoVyxiKSxBPVtdLHk9W10sVD17fTtmb3IobGV0IHo9MDt6PGgubGVuZ3RoO3orKyl7dmFyIEw9aFt6XSxlPWIuSi5nZXQoTCk7aWYoZSYmZS5pbmZvKXt2YXIgRz1lLmluZm87ZT1HLklCO2lmKHNEKFcsRyxELGIuaXNMaXZlKSl7TD1HLmZZKCk/QTp5O0c9SFtlXTtmb3IobGV0IEMgb2YgRylHPXJGKGUsQyxXKSxULmhhc093blByb3BlcnR5KEcpP1RbR109PT0hMCYmTC5wdXNoKEMpOnNEKFcsQyxELGIuaXNMaXZlKSYmKEwucHVzaChDKSxUW0ddPSEwKX1lbHNlIHImJmsoe29wZnU6TH0pfX1pZihBLmxlbmd0aCYmeS5sZW5ndGgpcmV0dXJuIHImJmsoe29wZm06QVswXS5pdGFnKyIsIit5WzBdLml0YWd9KSxnLkgwKG5ldyBwZyhBLHksTikpfXJldHVybiBJRGgobixXLEQsYix2LGsseCl9OwpZSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5OLmtleXMoKSl7bGV0IGI9bi5OLmdldChEKTtXLnB1c2goYCR7RH1fJHtiLm1heFdpZHRofV8ke2IubWF4SGVpZ2h0fWApfXJldHVybiBXLmpvaW4oIi4iKX07CkhLaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9RC52aWRlbz8uZnBzfHwwLHY9YCR7V31fJHtifWAsaz0hIUQuYXVkaW8saD1uLk4uZ2V0KHYpLHg9bi5OLmdldCh2KSxMPSEhRC5hdWRpbzt4JiYoTHx8IUwmJkQudmlkZW8/LmhlaWdodCYmeC5tYXhIZWlnaHQmJngubWF4SGVpZ2h0Pj1ELnZpZGVvPy5oZWlnaHQpfHwoeD1ELml0YWcsVz1oP2g6e2l0YWc6eCxJQjpXLGVTOmt9LGs/Vy5udW1DaGFubmVscz1ELmF1ZGlvLm51bUNoYW5uZWxzOihrPUQudmlkZW8sVy5tYXhXaWR0aD1rPy53aWR0aCxXLm1heEhlaWdodD1rPy5oZWlnaHQsVy5tYXhGcmFtZXJhdGU9YixXLm1heEJpdHJhdGVCcHM9RC5Ocyo4LFcuejk9az8uaXNIZHIoKSksbi5OLnNldCh2LFcpKX07CiQ1cj1mdW5jdGlvbihuLFcpe3ZhciBEPSEoIW4ubSYmIW4uTSksYj0hKCFuLm1hYzMmJiFuLk1BQzMpLHY9ISghbi5tZWFjMyYmIW4uTUVBQzMpO249ISghbi5pJiYhbi5JKTtXLlFyPW47cmV0dXJuIER8fGJ8fHZ8fG59OwpKVD1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLml0YWcmJkFIUy5oYXMoVy5pdGFnKSlyZXR1cm4hMDtyZXR1cm4hMX07CnNXYj1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLmF1ZGlvLmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giKXJldHVybiEwO3JldHVybiExfTsKSXI9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIioiOnJldHVybiJ2OGUiO2Nhc2UgIigiOnJldHVybiJ2OWUiO2Nhc2UgIihoIjpyZXR1cm4idjloZSI7ZGVmYXVsdDpyZXR1cm4gbn19OwpyRj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQuVEM/YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59XyR7ISFXLnZpZGVvPy5YfWA6YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59YH07CiRKPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShEKSljb250aW51ZTtsZXQgYj1EO1cucHVzaChJcihiKSk7Zm9yKGxldCB2IG9mIG5bYl0pVy5wdXNoKHYuaXRhZyl9cmV0dXJuIFcuam9pbigiLiIpfTsKdGdoPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17fSx4PXt9O2cuYV8oVywoTCxlKT0+e0w9TC5maWx0ZXIoRz0+e3ZhciByPUcuaXRhZztpZighRy5jb250ZW50UHJvdGVjdGlvbilyZXR1cm4geFtyXT0ibm9lbmMiLCExO2lmKGsuSEQmJkcuSUI9PT0iKGgiJiZrLmJkKXJldHVybiB4W3JdPSJsaWNoZHIiLCExO2lmKCFuLlgmJkcuSUI9PT0iMWUiKXJldHVybiB4W3JdPSJub2F2MWVuYyIsITE7aWYoRy5JQj09PSIoInx8Ry5JQj09PSIoaCIpe2lmKG4uSiYmRCYmRC5mbGF2b3I9PT0id2lkZXZpbmUiKXt2YXIgTj1HLm1pbWVUeXBlKyI7IGV4cGVyaW1lbnRhbD1hbGxvd2VkIjsoTj0hIUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiYhIUQuSltOXSl8fCh4W3JdPUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdPyJ1bnNwdCI6Im5vZmx2Iik7cmV0dXJuIE59aWYoIVNKKG4sQVQuQ1JZUFRPQkxPQ0tGT1JNQVQpJiYhbi5UQ3x8bi50dylyZXR1cm4geFtyXT1uLnR3PwoiZGlzdnAiOiJ2cHN1YiIsITF9cmV0dXJuIEQmJkcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiZELkpbRy5taW1lVHlwZV0/ITA6KHhbcl09RD9HLmNvbnRlbnRQcm90ZWN0aW9uW0QuZmxhdm9yXT8idW5zcHQiOiJub2ZsdiI6Im5vc3lzIiwhMSl9KTsKTC5sZW5ndGgmJihoW2VdPUwpfSk7CmImJk9iamVjdC5lbnRyaWVzKHgpLmxlbmd0aCYmdih7cmpyOmcuVEMoeCl9KTtpZihrLkopZm9yKGxldCBMIG9mIE9iamVjdC52YWx1ZXMoVykpaWYoTClmb3IobGV0IGUgb2YgTClXPXhbZS5pdGFnXSxlLk1XKCkmJlchPT12b2lkIDAmJihrLk5bZS5pdGFnXT1XKTtyZXR1cm4gaH07Ckc3VT1mdW5jdGlvbihuLFcpe3ZhciBEPWcudV8obiwoYix2KT0+di52aWRlby5KKCk/TWF0aC5taW4oYix2LnZpZGVvLndpZHRoKTpiLEluZmluaXR5KTsKRDxJbmZpbml0eSYmKG49bi5maWx0ZXIoYj0+e2lmKGIudmlkZW8uSigpfHxiLnZpZGVvLndpZHRoPEQpcmV0dXJuITA7V1tiLml0YWddPSJoZnJmaXJzdCI7cmV0dXJuITF9KSk7CmxiKCkmJihuPW4uZmlsdGVyKGI9PntpZihiLml0YWchPT0iMjk5IilyZXR1cm4hMDtXW2IuaXRhZ109InBzM2hmcjEwODAiO3JldHVybiExfSkpOwpyZXR1cm4gbn07CnEyQz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFc9Vy5maWx0ZXIoYj0+e2lmKGIudmlkZW8ucXVhbGl0eU9yZGluYWw8PW4ud2EpcmV0dXJuITA7RFtiLml0YWddPSJtYXhxdWFsaXR5IjtyZXR1cm4hMX0pfTsKdFQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2ZvcihsZXQgdiBpbiBXLk4pe2lmKCFXLk4uaGFzT3duUHJvcGVydHkodikpY29udGludWU7bGV0IGs9Vy5OW3ZdLmluZm87aWYobi5ZJiZrLnZpZGVvJiZrLnZpZGVvLnF1YWxpdHlPcmRpbmFsPG4uWSl7RCYmKERbay5pdGFnXT1gbWluJHtuLll9YCk7Y29udGludWV9bGV0IGg9ay5JQjtiW2hdPWJbaF18fFtdO2JbaF0ucHVzaChrKX1mb3IobGV0IHYgb2YgT2JqZWN0LmtleXMoYikpSEEoYlt2XSk7cmV0dXJuIGJ9OwpmZz1mdW5jdGlvbihuKXtyZXR1cm4gZy51XyhuLChXLEQpPT5NYXRoLm1heChXLEQudmlkZW8ucXVhbGl0eU9yZGluYWwpLDApfTsKc0Q9ZnVuY3Rpb24obixXLEQsYj0hMSx2PW5ldyBTZXQpe2lmKFcuSUI9PT0iIilyZXR1cm4idW5rbiI7aWYoKFcuaXRhZz09PSIzMDQifHxXLml0YWc9PT0iMjY2IikmJm4udHcpcmV0dXJuImJsazJraGZyIjtpZihuLksmJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5LKXJldHVybmBtYXgke24uS31gO2lmKG4uQ3UmJlcuSUI9PT0iaCImJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MClyZXR1cm4iYmxraGlnaDI2NCI7aWYoVy5JQj09PSIoaCImJiFELkspcmV0dXJuImVuY2hkciI7aWYoYiYmbUYoVykmJiFuLm51KXJldHVybiJibGs1MWxpdmUiO2lmKChXLklCPT09Ik1BQzMifHxXLklCPT09Im1hYzMiKSYmIW4uailyZXR1cm4iYmxrYWMzIjtpZigoVy5JQj09PSJNRUFDMyJ8fFcuSUI9PT0ibWVhYzMiKSYmIW4uVilyZXR1cm4iYmxrZWFjMyI7aWYoVy5JQj09PSJNInx8Vy5JQj09PSJtIilyZXR1cm4iYmxrYWFjNTEiO2lmKChXLklCPT09InNvInx8ClcuSUI9PT0ic2EiKSYmIW4uY0opcmV0dXJuImJsa2FtYiI7aWYoIW4uSEQmJktnKFcpJiYoIUQuWHx8Vy5JQiE9PSIxZSIpKXJldHVybiJjYmMiO2lmKCFELlgmJktnKFcpJiZXLklCPT09IjFlIilyZXR1cm4iY2JjYXYxIjtpZigoVy5JQj09PSJpInx8Vy5JQj09PSJJIikmJiFuLlZRKXJldHVybiJibGtpYW1mIjtpZihuLlJhJiZXLmF1ZGlvPy5OPT09ITApcmV0dXJuImJsa3ZiY2FiciI7aWYobi5UQyYmVy52aWRlbz8uWD09PSExKXJldHVybiJibGttdHZjYWJyIjtpZihuLnZKJiYoVy5JQj09PSIxInx8Vy5JQj09PSIxaCJ8fEQuWCYmVy5JQj09PSIxZSIpJiZXLnZpZGVvPy5xdWFsaXR5T3JkaW5hbCYmVy52aWRlbz8ucXVhbGl0eU9yZGluYWw+bi52SilyZXR1cm4iYXYxY2FwIjtiPUQuVy5nZXQoVy5JQik7aWYoIW4ualcmJmImJmIuZzE+MClyZXR1cm4gdi5hZGQoVy5JQiksImJ5ZXJyIjtpZihXLnZpZGVvPy5KKCkpe2lmKCFELmJkJiYhU0ooRCxBVC5GUkFNRVJBVEUpKXJldHVybiJjYXBIZnIiOwppZihuLlBYJiZXLnZpZGVvLnF1YWxpdHlPcmRpbmFsPj00MzIwKXJldHVybiJibGs4a2hmciI7aWYoVy5YKCkmJm4uVTUmJlcuY29udGVudFByb3RlY3Rpb24mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+PTE0NDApcmV0dXJuImRpc2FibGV2cDloZnIifWlmKG4uTnMmJlcuTnM+bi5OcylyZXR1cm4icmF0ZWNhcCI7aWYobi5TJD4wJiZXLmZZKCkmJlcudmlkZW8uaGVpZ2h0Pm4uUyQpcmV0dXJuIm12aGNhcCI7bj1PRChELFcpO3JldHVybiBuIT09ITA/bjohMH07CkhBPWZ1bmN0aW9uKG4sVz1bXSl7Zy5iZihuLChELGIpPT57dmFyIHY9Yi5Ocy1ELk5zO2lmKCFELmZZKCl8fCFiLmZZKCkpcmV0dXJuIHY7dmFyIGs9Yi52aWRlby5oZWlnaHQqYi52aWRlby53aWR0aC1ELnZpZGVvLmhlaWdodCpELnZpZGVvLndpZHRoOyFrJiZXJiZXLmxlbmd0aD4wJiYoRD1XLmluZGV4T2YoRC5JQikrMSxiPVcuaW5kZXhPZihiLklCKSsxLGs9RD09PTB8fGI9PT0wP2J8fC0xOkQtYik7a3x8KGs9dik7cmV0dXJuIGt9KX07ClBBPWZ1bmN0aW9uKG4sVyl7aWYoVz5uLngkKCkpbi5zZWdtZW50cz1bXTtlbHNle3ZhciBEPWcuejQobi5zZWdtZW50cyxiPT5iLmokPj1XLG4pOwpEPjAmJm4uc2VnbWVudHMuc3BsaWNlKDAsRCl9fTsKWmM9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K24uTik7bi5OKz0xO3JldHVybiBXfTsKVUQ9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQxNihuLm9mZnNldCtuLk4pO24uTis9MjtyZXR1cm4gV307CnlMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRJbnQzMihuLm9mZnNldCtuLk4pO24uTis9NDtyZXR1cm4gV307CkVEPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50MzIobi5vZmZzZXQrbi5OKTtuLk4rPTQ7cmV0dXJuIFd9OwppMz1mdW5jdGlvbihuKXt2YXIgVz1uLmRhdGE7dmFyIEQ9bi5vZmZzZXQrbi5OO1c9Vy5nZXRVaW50MzIoRCkqNDI5NDk2NzI5NitXLmdldFVpbnQzMihEKzQpO24uTis9ODtyZXR1cm4gV307CnUzPWZ1bmN0aW9uKG4sVz1OYU4pe2lmKGlzTmFOKFcpKXZhciBEPW4uc2l6ZTtlbHNlIGZvcihEPW4uTjtEPG4uc2l6ZSYmbi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K0QpIT09VzspKytEO1c9bmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLk4rbi5kYXRhLmJ5dGVPZmZzZXQsRC1uLk4pO24uTj1NYXRoLm1pbihEKzEsbi5zaXplKTtyZXR1cm4gcFIoVyl9Owpvcj1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLmRhdGEuYnl0ZU9mZnNldCxuLnNpemUpfTsKZEY9ZnVuY3Rpb24obixXLEQsYil7KG5ldyBVaW50OEFycmF5KG4uZGF0YS5idWZmZXIsbi5vZmZzZXQsYikpLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixEK1cuYnl0ZU9mZnNldCxiKSk7bi5vZmZzZXQrPWJ9Owp6Xz1mdW5jdGlvbihuLFcpe3JldHVybiBOdW1iZXIobi5kYXRhW1ddKXx8MH07ClRfPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGFbIkN1ZXBvaW50LVR5cGUiXT9uZXcgZy5sMygtKE51bWJlcihuLmRhdGFbIkN1ZXBvaW50LVBsYXloZWFkLVRpbWUtU2VjIl0pfHwwKSxOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1Ub3RhbC1EdXJhdGlvbi1TZWMiXSl8fDAsbi5kYXRhWyJDdWVwb2ludC1Db250ZXh0Il0sbi5kYXRhWyJDdWVwb2ludC1JZGVudGlmaWVyIl18fCIiLG01altuLmRhdGFbIkN1ZXBvaW50LUV2ZW50Il18fCIiXXx8InVua25vd24iLChOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1QbGF5aGVhZC1UaW1lLVNlYyJdKXx8MCkqMUUzKTpudWxsfTsKako9ZnVuY3Rpb24obil7cmV0dXJuIE51bWJlcihuLmRhdGFbIlN0YXJ0LU1lZGlhLVRpbWUtVXMiXSkvMUU2fHwwfTsKQ2c9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tSWQiXT9uLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKTpbXX07CkJBPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXSlmb3IobGV0IEQgb2Ygbi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1EdXJhdGlvbi1VcyJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSkpVy5wdXNoKChOdW1iZXIoRCl8fDApLzFFNik7cmV0dXJuIFd9OwpGcD1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LUZyYW1lLUluZGV4Il0pZm9yKGxldCBEIG9mIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tU3RhcnQtRnJhbWUtSW5kZXgiXS5zcGxpdCgiLCIpLnNsaWNlKDAsLTEpKVcucHVzaChOdW1iZXIoRCl8fDApO3JldHVybiBXfTsKd0Y9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1UaW1lLVdpdGhpbi1BZC1VcyJdKWZvcihsZXQgRCBvZiBuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LVRpbWUtV2l0aGluLUFkLVVzIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKSlXLnB1c2goKE51bWJlcihEKXx8MCkvMUU2KTtyZXR1cm4gV307CmcuTWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdP24uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdOiIifTsKZy5Scj1mdW5jdGlvbihuKXtzd2l0Y2gobi5kYXRhWyJJcy1BZC1CcmVhay1GaW5pc2hlZCJdKXtjYXNlICJ0cnVlIjpyZXR1cm4gMTtjYXNlICJmYWxzZSI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19OwpRTD1mdW5jdGlvbihuKXt2YXIgVz17fTtuPW4uc3BsaXQoIlxyXG4iKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKyl7aWYobltEXS5sZW5ndGg9PT0wKXJldHVybiBXO2xldCBiPW5bRF0ubWF0Y2goLyhbXjpdKyk6XHMrKFtcU1xzXSspLyk7YiE9bnVsbCYmKFdbYlsxXV09YlsyXSl9cmV0dXJuIG51bGx9OwpnLm5zPWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vz1hcihiLnR5cGUpP1crODpXK2Iuc2l6ZX1yZXR1cm4gbnVsbH07Cld3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTk1Mjg2ODQ1Mik7bj1nLm5zKG4sMCwxOTUzNjU4MjIyKTtpZihEJiZuKXtELnNraXAoMSk7dmFyIGI9WmMoRCk8PDE2fFVEKEQpO0Quc2tpcCg0KTtiJjEmJkQuc2tpcCg4KTtiJjImJkQuc2tpcCg0KTtpZihiJjgpe2I9RC5OO3ZhciB2PUVEKEQpO0QuZGF0YS5zZXRVaW50MzIoRC5vZmZzZXQrYixXPjE/TWF0aC5jZWlsKHYqVyk6TWF0aC5mbG9vcih2KlcpKX1uLnNraXAoMSk7RD1aYyhuKTw8MTZ8VUQobik7aWYoRCYyNTYpe2I9RCYxO3Y9RCY0O3ZhciBrPUQmNTEyLGg9RCYxMDI0LHg9RCYyMDQ4O0Q9RUQobik7YiYmbi5za2lwKDQpO3YmJm4uc2tpcCg0KTtiPShrPzQ6MCkrKGg/NDowKSsoeD80OjApO2Zvcih2PTA7djxEO3YrKylrPW4uTixoPUVEKG4pLG4uZGF0YS5zZXRVaW50MzIobi5vZmZzZXQrayxXPjE/TWF0aC5jZWlsKGgqVyk6TWF0aC5mbG9vcihoKlcpKSxuLnNraXAoYil9fX07ClZMPWZ1bmN0aW9uKG4sVyl7aWYobi5ieXRlTGVuZ3RoLVc8OClyZXR1cm4hMTt2YXIgRD1uLmdldFVpbnQzMihXKTtpZihEPDh8fG4uYnl0ZUxlbmd0aC1XPEQpcmV0dXJuITE7Zm9yKEQ9NDtEPDg7RCsrKXtsZXQgYj1uLmdldEludDgoVytEKTtpZihiPDQ4fHxiPjEyMilyZXR1cm4hMX1yZXR1cm4hMH07CmNBPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRVaW50MzIoVyksYj1uLmdldFVpbnQzMihXKzQpO3JldHVybiBuZXcgRF8obixXLEQsYil9OwpnLmJMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50OChuLmRhdGFPZmZzZXQpPzIwOjEyO3JldHVybiBuLmRhdGEuZ2V0VWludDMyKG4uZGF0YU9mZnNldCtXKX07CnZ3PWZ1bmN0aW9uKG4pe249bmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpO3JldHVybihuPWcubnMobiwwLDE4MzY0NzY1MTYpKT9nLmJMKG4pOk5hTn07Cmt4PWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vys9Yi5zaXplfXJldHVybiBudWxsfTsKYXI9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0xNzAxMDgyMjI3fHxuPT09MTgzNjAxOTU1OHx8bj09PTE4MzYwMTk1NzR8fG49PT0xODM1Mjk3MTIxfHxuPT09MTgzNTYyNjA4Nnx8bj09PTE5MzcwMDcyMTJ8fG49PT0xOTUzNjUzMDk0fHxuPT09MTk1MzY1MzA5OXx8bj09PTE4MzY0NzU3Njh9OwpLaDI9ZnVuY3Rpb24obil7dmFyIFc9Zy5ucyhuLDAsMTkzNzAxMTU1Nik7aWYoIVcpcmV0dXJuIG51bGw7Vz1reChuLFcuZGF0YU9mZnNldCs4LDE2MzUxNDg1OTMpfHxreChuLFcuZGF0YU9mZnNldCs4LDE2MzUxMzU1MzcpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPWt4KG4sVy5kYXRhT2Zmc2V0Kzc4LDE5MzY5OTUxNzIpLGI9a3gobixXLmRhdGFPZmZzZXQrNzgsMTkzNzEyNjI0NCk7aWYoIWIpcmV0dXJuIG51bGw7Vz1udWxsO2lmKEQpc3dpdGNoKEQuc2tpcCg0KSxaYyhEKSl7ZGVmYXVsdDpXPTA7YnJlYWs7Y2FzZSAxOlc9MjticmVhaztjYXNlIDI6Vz0xO2JyZWFrO2Nhc2UgMzpXPTI1NX12YXIgdj1EPW51bGwsaz1udWxsO2lmKGI9a3gobixiLmRhdGFPZmZzZXQsMTg4NjU0NzgxOCkpe2xldCBoPWt4KG4sYi5kYXRhT2Zmc2V0LDE4ODY1NDYwMjApLHg9a3gobixiLmRhdGFPZmZzZXQsMjAzNzY3MzMyOCk7aWYoIXgmJih4PWt4KG4sYi5kYXRhT2Zmc2V0LDE4MzYyNzk5MjApLAoheCkpcmV0dXJuIG51bGw7aCYmKGguc2tpcCg0KSxEPXlMKGgpLzY1NTM2LGs9eUwoaCkvNjU1MzYsdj15TChoKS82NTUzNik7bj1vcih4KTtuPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQrOCxuLmJ5dGVMZW5ndGgtOCk7cmV0dXJuIG5ldyBoWShXLEQsayx2LG4pfXJldHVybiBudWxsfTsKZy54eD1mdW5jdGlvbihuKXtpZihuLmRhdGEuZ2V0VWludDgobi5kYXRhT2Zmc2V0KSl7dmFyIFc9bi5kYXRhO249bi5kYXRhT2Zmc2V0KzQ7Vz1XLmdldFVpbnQzMihuKSo0Mjk0OTY3Mjk2K1cuZ2V0VWludDMyKG4rNCl9ZWxzZSBXPW4uZGF0YS5nZXRVaW50MzIobi5kYXRhT2Zmc2V0KzQpO3JldHVybiBXfTsKTHM9ZnVuY3Rpb24obil7bj1uZXcgRF8obi5kYXRhLG4ub2Zmc2V0LG4uc2l6ZSxuLnR5cGUsbi5KKTt2YXIgVz1aYyhuKTtuLnNraXAoNyk7dmFyIEQ9RUQobik7aWYoVz09PTApe1c9RUQobik7dmFyIGI9RUQobil9ZWxzZSBXPWkzKG4pLGI9aTMobik7bi5za2lwKDIpO3ZhciB2PVVEKG4pLGs9W10saD1bXTtmb3IobGV0IHg9MDt4PHY7eCsrKXtsZXQgTD1FRChuKTtrLnB1c2goTCk7aC5wdXNoKEVEKG4pKTtuLnNraXAoNCl9cmV0dXJue3RpbWVzY2FsZTpELGY4OlcsTm86YixIczprLHFnOmh9fTsKZy5lUD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wLGI9W107VkwobixEKTspe2xldCB2PWNBKG4sRCk7di50eXBlPT09VyYmYi5wdXNoKHYpO0Q9YXIodi50eXBlKT9EKzg6RCt2LnNpemV9cmV0dXJuIGJ9OwpnQT1mdW5jdGlvbihuKXtuLnNraXAoNCk7cmV0dXJue1d6OnUzKG4sMCksdmFsdWU6dTMobiwwKSx0aW1lc2NhbGU6RUQobiksbzc6RUQobiksZXZlbnREdXJhdGlvbjpFRChuKSxpZDpFRChuKSxadzp1MyhuKSxvZmZzZXQ6bi5vZmZzZXR9fTsKZy5xaz1mdW5jdGlvbihuKXt2YXIgVz1reChuLDAsMTcwMTY3MTc4Myk7aWYoIVcpcmV0dXJuIG51bGw7dmFyIEQ9Z0EoVyksYj1ELld6O0Q9UUwoRC5adyk7aWYobj1reChuLFcub2Zmc2V0K1cuc2l6ZSwxNzAxNjcxNzgzKSlpZihuPWdBKG4pLG49UUwobi5adyksRCYmbilmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobikpRFt2XT1uW3ZdO3JldHVybiBEP25ldyBYNShELGIpOm51bGx9OwpHaj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1reChuLDAsVyk7RDspe3ZhciBiPUQ7Yi50eXBlPTE5MzY0MTkxODQ7Yi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpO0Q9a3gobixELm9mZnNldCtELnNpemUsVyl9fTsKUElDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTkzNzAxMTU1NiksYj1nLm5zKG4sMCwxOTUzNjU0MTM2KTtpZighRHx8IWJ8fG4uZ2V0VWludDMyKEQub2Zmc2V0KzEyKT49MilyZXR1cm4gbnVsbDt2YXIgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoKSxrPWcubnModiwwLDE5MzcwMTE1NTYpO2lmKCFrKXJldHVybiBudWxsO1c9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzgpO2I9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzEyKTtpZihiIT09MTcwMTczMzIxNyYmYiE9PTE3MDE3MzMyMzgpcmV0dXJuIG51bGw7Yj1uZXcgT0t0KG4uYnl0ZUxlbmd0aCtXKTtkRihiLG4sMCxELm9mZnNldCsxMik7Yi5kYXRhLnNldEludDMyKGIub2Zmc2V0LDIpO2Iub2Zmc2V0Kz00O2RGKGIsbixELm9mZnNldCsxNixELnNpemUtMTYpO2RGKGIsdix2LmJ5dGVPZmZzZXQray5kYXRhT2Zmc2V0KzgsVyk7ZEYoYixuLEQub2Zmc2V0K0Quc2l6ZSxuLmJ5dGVMZW5ndGgtCihELm9mZnNldCtELnNpemUpKTtEPVsxODM2MDE5NTc0LDE5NTM2NTMwOTksMTgzNTI5NzEyMSwxODM1NjI2MDg2LDE5MzcwMDcyMTIsMTkzNzAxMTU1Nl07Zm9yKGxldCBoIG9mIEQpRD1nLm5zKG4sMCxoKSxiLmRhdGEuc2V0VWludDMyKEQub2Zmc2V0LEQuc2l6ZStXKTtuPWcubnMoYi5kYXRhLDAsMTk1MzY1NDEzNik7Yi5kYXRhLnNldFVpbnQzMihuLm9mZnNldCsxNiwyKTtyZXR1cm4gYi5kYXRhfTsKWktaPWZ1bmN0aW9uKG4pe3ZhciBXPWcubnMobiwwLDE5MzcwMTE1NTYpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPW4uZ2V0VWludDMyKFcuZGF0YU9mZnNldCsxMik7aWYoRCE9PTE3MDE3MzMyMTcmJkQhPT0xNzAxNzMzMjM4KXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCsyNCsoRD09PTE3MDE3MzMyMTc/Mjg6NzgpLDE5MzYyODkzODIpO2lmKCFXKXJldHVybiBudWxsO0Q9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzcpO2lmKCFEfHxuLmdldFVpbnQzMihELm9mZnNldCsxMikhPT0xNjY3MzkyMzcxKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzMpO2lmKCFXKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5NTI4MDQ0NTEpO2lmKCFXKXJldHVybiBudWxsO0Q9bmV3IFVpbnQ4QXJyYXkoMTYpO2ZvcihsZXQgYj0wO2I8MTY7YisrKURbYl09bi5nZXRJbnQ4KFcub2Zmc2V0KzE2K2IpO3JldHVybiBEfTsKWXg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyB0WShEKTtpZighJHgoYixuKSlyZXR1cm4hMTtiPXJBKGIpO2lmKCFzWShiLFcpKXJldHVybiExO2ZvcihuPTA7VzspVz4+Pj04LG4rKztXPWIuc3RhcnQrYi5wb3M7dmFyIHY9TmsoYiwhMCk7Yj1uKyhiLnN0YXJ0K2IucG9zLVcpK3Y7Yj1iPjk/cHMoYi05LDgpOnBzKGItMiwxKTtuPVctbjtELnNldFVpbnQ4KG4rKywyMzYpO2ZvcihXPTA7VzxiLmxlbmd0aDtXKyspRC5zZXRVaW50OChuKyssYltXXSk7cmV0dXJuITB9Owpwcz1mdW5jdGlvbihuLFcpe1d8fChXPU1hdGguY2VpbChNYXRoLmxvZyhuKzIpL01hdGgubG9nKDIpLzcpKTtmb3IodmFyIEQ9MTw8OC1XLGI9W107Yi5sZW5ndGg8Vy0xOyliLnVuc2hpZnQobiUyNTYpLG49TWF0aC5mbG9vcihuLzI1Nik7Yi51bnNoaWZ0KG58RCk7cmV0dXJuIGJ9OwpVNVo9ZnVuY3Rpb24obil7dmFyIFc9bmV3IHRZKG4pO1cuT0ooKTtpZigkeChXLFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdKSlXPXJBKFcpO2Vsc2UgcmV0dXJuIG51bGw7Zm9yKHZhciBEPW49bnVsbDshSHcoVyk7KXt2YXIgYj1OayhXLCExKTtpZihiPT09MjE0MzIpc3dpdGNoKGZzKFcpKXtkZWZhdWx0Om49MDticmVhaztjYXNlIDE6bj0xO2JyZWFrO2Nhc2UgMzpuPTI7YnJlYWs7Y2FzZSAxNTpuPTI1NX1lbHNlIGI9PT0zMDMyMD9EPXJBKFcpOkpZKFcpfWlmKCFEKXJldHVybiBudWxsO2Zvcih2YXIgdixrPWI9Vz1udWxsOyFIdyhEKTspc3dpdGNoKE5rKEQsITEpKXtjYXNlIDMwMzIxOmlmKGZzKEQpIT09MylyZXR1cm4gbnVsbDticmVhaztjYXNlIDMwMzI0Olc9SUIoRCk7YnJlYWs7Y2FzZSAzMDMyMzprPUlCKEQpO2JyZWFrO2Nhc2UgMzAzMjU6Yj1JQihEKTticmVhaztjYXNlIDMwMzIyOnY9TmsoRCwhMCk7dj1TUChELHYpO3Y9bmV3IERhdGFWaWV3KHYuYnVmZmVyLAp2LmJ5dGVPZmZzZXQsdi5ieXRlTGVuZ3RoKTticmVhaztkZWZhdWx0OkpZKEQpfXJldHVybiB2P25ldyBoWShuLFcsayxiLHYpOm51bGx9OwokeD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtpZighc1kobixXW0RdKSlyZXR1cm4hMTtEIT09Vy5sZW5ndGgtMSYmTmsobiwhMCl9cmV0dXJuITB9OwpyQT1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPW4uTi5ieXRlT2Zmc2V0K24ucG9zO0Q9bmV3IERhdGFWaWV3KG4uTi5idWZmZXIsRCxNYXRoLm1pbihXLG4uTi5idWZmZXIuYnl0ZUxlbmd0aC1EKSk7RD1uZXcgdFkoRCxuLnN0YXJ0K24ucG9zKTtuLnBvcys9VztyZXR1cm4gRH07CnNZPWZ1bmN0aW9uKG4sVyxEPSExKXtpZihIdyhuKSlyZXR1cm4hMTtmb3IodmFyIGI9bi5wb3M7TmsobiwhMSkhPT1XOylpZihKWShuKSxiPW4ucG9zLEh3KG4pKXJldHVybiExO0QmJihuLnBvcz1iKTtyZXR1cm4hMH07Ck5rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QVkobik7aWYoRD09PTEpe0Q9MDtmb3IoVz0wO1c8NztXKyspRD1EKjI1NitBWShuKTtyZXR1cm4gRH12YXIgYj0xMjg7Zm9yKGxldCB2PTA7djw2JiZiPkQ7disrKUQ9RCoyNTYrQVkobiksYio9MTI4O3JldHVybiBXP0QtYjpEfTsKSHc9ZnVuY3Rpb24obil7cmV0dXJuIG4ucG9zPj1uLk4uYnl0ZUxlbmd0aH07CmZzPWZ1bmN0aW9uKG4pe3ZhciBXPU5rKG4sITApLEQ9QVkobik7Zm9yKGxldCBiPTE7YjxXO2IrKylEPUQqMjU2K0FZKG4pO3JldHVybiBEfTsKSlk9ZnVuY3Rpb24obil7dmFyIFc9TmsobiwhMCk7bi5wb3MrPVd9OwpJQj1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPTA7Vz09PTQ/RD1uLk4uZ2V0RmxvYXQzMihuLnBvcyk6Vz09PTgmJihEPW4uTi5nZXRGbG9hdDY0KG4ucG9zKSk7bi5wb3MrPVc7cmV0dXJuIER9OwpTUD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrbi5wb3MsVyk7bi5wb3MrPVc7cmV0dXJuIER9OwptdD1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKTtyZXR1cm4gcFIoU1AobixXKSl9OwpBWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmdldFVpbnQ4KG4ucG9zKyspfTsKeUhyPWZ1bmN0aW9uKG4pe2lmKCFzWShuLDQ0MDc4Njg1MSwhMCkpcmV0dXJuIG51bGw7dmFyIFc9bi5wb3M7TmsobiwhMSk7dmFyIEQ9TmsobiwhMCkrbi5wb3MtVztuLnBvcz1XK0Q7aWYoIXNZKG4sNDA4MTI1NTQzLCExKSlyZXR1cm4gbnVsbDtOayhuLCEwKTtpZighc1kobiwzNTcxNDkwMzAsITApKXJldHVybiBudWxsO3ZhciBiPW4ucG9zO05rKG4sITEpO3ZhciB2PU5rKG4sITApK24ucG9zLWI7bi5wb3M9Yit2O2lmKCFzWShuLDM3NDY0ODQyNywhMCkpcmV0dXJuIG51bGw7dmFyIGs9bi5wb3M7TmsobiwhMSk7dmFyIGg9TmsobiwhMCkrbi5wb3Mtayx4PW5ldyBVaW50OEFycmF5KEQrMTIrditoKSxMPW5ldyBEYXRhVmlldyh4LmJ1ZmZlcik7eC5zZXQobmV3IFVpbnQ4QXJyYXkobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCtXLEQpKTtMLnNldFVpbnQzMihELDQwODEyNTU0Myk7TC5zZXRVaW50MzIoRCs0LDMzNTU0NDMxKTtMLnNldFVpbnQzMihEKzgsNDI5NDk2NzI5NSk7Cnguc2V0KG5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrYix2KSxEKzEyKTt4LnNldChuZXcgVWludDhBcnJheShuLk4uYnVmZmVyLG4uTi5ieXRlT2Zmc2V0K2ssaCksRCsxMit2KTtyZXR1cm4geH07CktzPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9zO24ucG9zPTA7dmFyIEQ9MUU2OyR4KG4sWzQwODEyNTU0MywzNTcxNDkwMzAsMjgwNzcyOV0pJiYoRD1mcyhuKSk7bi5wb3M9VztyZXR1cm4gRH07ClB3PWZ1bmN0aW9uKG4pe2lmKCFPWShuKXx8IXNZKG4sNTI0NTMxMzE3KSlyZXR1cm4hMTtOayhuLCEwKTtyZXR1cm4hMH07CkVFWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucG9zO24ucG9zPTA7aWYobi5OLmdldFVpbnQ4KG4ucG9zKSE9PTE2MCYmIVB3KG4pfHwhc1kobiwxNjApKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTt2YXIgYj1uLnBvcztpZighc1kobiwxNjEpKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTtBWShuKTt2YXIgdj1BWShuKTw8OHxBWShuKTtuLnBvcz1iO2lmKCFzWShuLDE1NSkpcmV0dXJuIG4ucG9zPUQsTmFOO2I9ZnMobik7bi5wb3M9RDtyZXR1cm4oditiKSpXLzFFOX07Ck9ZPWZ1bmN0aW9uKG4pe2lmKG4uT0ooKSl7aWYoIXNZKG4sNDA4MTI1NTQzKSlyZXR1cm4hMTtOayhuLCEwKX1yZXR1cm4hMH07ClpfPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5pbmRleE9mKCI/Iik7aWYoRD4wKXtsZXQgYj1nNygxLDUwLFcuc3Vic3RyaW5nKEQrMSkpO2cuYV8oYixmdW5jdGlvbih2LGspe3RoaXMuc2V0KGssdil9LG4pOwpXPVcuc3Vic3RyaW5nKDAsRCl9Vz1pcCgxNSw4MjUsVyk7Zy5hXyhXLGZ1bmN0aW9uKGIsdil7dGhpcy5zZXQodixiKX0sbil9OwppS1U9ZnVuY3Rpb24obil7dmFyIFc9bi5BTy5XRCgpLEQ9W107Zy5hXyhuLk4sKHYsayk9PntELnB1c2goYCR7a309JHt2fWApfSk7CmlmKCFELmxlbmd0aClyZXR1cm4gVzt2YXIgYj1ELmpvaW4oIiYiKTtuPVAwKDgzLDY1ODgsbi5BTyk/IiYiOiI/IjtyZXR1cm4gVytuK2J9OwpVWT1mdW5jdGlvbihuLFcpe25bV118fChuW1ddPW5ldyB1VGkpO3JldHVybiBuW1ddfTsKeWY9ZnVuY3Rpb24obixXPSExKXtXJiYobi5KKz0xKTtuLk4rPTF9OwpvRWk9ZnVuY3Rpb24obixXPSExKXtuLnRpbWVkT3V0Kz0xO1cmJnlmKG4sITApfTsKemo9ZnVuY3Rpb24obixXPSExKXtXJiYobi5YPSgwLGcuUikoKSxuLko9MCk7bi5WPSgwLGcuUikoKTtuLnN0YXJ0ZWQ9MDtuLnRpbWVkT3V0PTA7bi5OPTB9OwpsTD1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRClyZXR1cm4gMTw8TWF0aC5taW4obi5KLDUpO0Q9bi5zdGFydGVkK24uTio0O1cmJihEKz1uLlcpO0Q9TWF0aC5tYXgoMCxELTMpO3JldHVybiAxLjYqKkR9OwpqUD1mdW5jdGlvbihuLFcsRCl7aWYoZ1ooMzgsMTIwMixuLk4pKXJldHVybiExO3ZhciBiPVVZKEQsUjAoMzUsMzUwNyxuLk4pKTtpZihiLnRpbWVkT3V0PDEmJmIuTjwxKXJldHVybiExO2I9Yi50aW1lZE91dCtiLk47bj1UaihuLFcpO0Q9VVkoRCxSMCgzMiwzNTA0LG4pKTtyZXR1cm4gRC50aW1lZE91dCtELk4rMDxifTsKVGo9ZnVuY3Rpb24obixXKXtXPVc/Vy5vTTohMTtuLlh8fChuLlg9WGQobi5XLFcpKTtyZXR1cm4gbi5YfTsKQnc9ZnVuY3Rpb24obixXLEQpe249Vz9UaihuLEQpOm4uTjtyZXR1cm4gbmV3IENzKG4pfTsKRjU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBSMCgzNSwzNTA3LFc/VGoobixEKTpuLk4pfTsKd0E9ZnVuY3Rpb24obixXLEQsYix2KXsrK24uSjtXJiYrK24uVjtSMCgzMiwzNTA0LEQuQU8pLnN0YXJ0c1dpdGgoInJlZGlyZWN0b3IuIikmJihuLk49bi5XLmNsb25lKCksZGVsZXRlIG4uWCxiLnBFJiZkZWxldGUgdltSMCg2NywzNTM5LG4uTildKX07Ck1rPWZ1bmN0aW9uKG4pe3JldHVybiBuP2Ake24uaXRhZ3x8IiJ9OyR7bi5sbXR8fDB9OyR7bi54dGFnc3x8IiJ9YDoiIn07ClFmPWZ1bmN0aW9uKG4sVyl7bi5pbmZvJiZuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIiYmIW4uTyYmKGcuUkIobi5pbmZvKT9uLk89S2gyKFcpOm4uaW5mby5xSCgpJiYobi5PPVU1WihXKSkpfTsKY3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWsoZy5WZihuLmluZm8sVykpfTsKbno9ZnVuY3Rpb24obil7bj1uLnNwbGl0KCItIik7dmFyIFc9TnVtYmVyKG5bMF0pLEQ9TnVtYmVyKG5bMV0pO2lmKCFpc05hTihXKSYmIWlzTmFOKEQpJiZuLmxlbmd0aD09PTImJihuPW5ldyBhQihXLEQpLCFpc05hTihuLnN0YXJ0KSYmIWlzTmFOKG4uZW5kKSYmIWlzTmFOKG4ubGVuZ3RoKSYmbi5sZW5ndGg+MCkpcmV0dXJuIG59OwpXXz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgYUIobixuK1ctMSl9OwpESj1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gbmV3IGFCKDAsMCk7dmFyIFc9TnVtYmVyKG4uc3RhcnQpO249TnVtYmVyKG4uZW5kKTtpZighaXNOYU4oVykmJiFpc05hTihuKSYmKFc9bmV3IGFCKFcsbiksVy5sZW5ndGg+MCkpcmV0dXJuIFd9OwpkNXc9ZnVuY3Rpb24obil7bi5sZW5ndGg9PT0xfHxnLmR6KG4sRD0+ISFELnJhbmdlKTsKZm9yKHZhciBXPTE7VzxuLmxlbmd0aDtXKyspO1c9bltuLmxlbmd0aC0xXTtyZXR1cm4gbmV3IGFCKG5bMF0ucmFuZ2Uuc3RhcnQrblswXS5OLFcucmFuZ2Uuc3RhcnQrVy5OK1cuSi0xKX07CmJUPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUEo9PT1XLlBKP24ucmFuZ2UmJlcucmFuZ2U/bi5yYW5nZS5zdGFydCtuLk4rbi5KPT09Vy5yYW5nZS5zdGFydCtXLk46bi5qJD09PVcuaiQ/bi5OK24uSj09PVcuTjpuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaOiExfTsKdl89ZnVuY3Rpb24obil7bi5YPW4uc2VnbWVudFN0YXJ0VGltZTtuLks9bi5XO24uaj1uLlgrbi5LfTsKa049ZnVuY3Rpb24obil7cmV0dXJuIG4ucmFuZ2U/bi5qOk1hdGgubWluKG4uc2VnbWVudFN0YXJ0VGltZStNYXRoLm1pbihuLk4vbi5QSi5pbmZvLk5zLG4uVykrKG4ucmFuZ2U/bi5LOk1hdGgubWluKG4uVyxuLkovbi5QSi5pbmZvLk5zKSksbi5zZWdtZW50U3RhcnRUaW1lK24uVyl9Owp6QTI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPSEoIVd8fFcuUEohPT1uLlBKfHxXLnR5cGUhPT1uLnR5cGV8fFcuaiQhPT1uLmokKTtyZXR1cm4gRD9iJiYhIVcmJihuLnJhbmdlJiZXLnJhbmdlP1cucmFuZ2UuZW5kPT09bi5yYW5nZS5lbmQ6Vy5yYW5nZT09PW4ucmFuZ2UpJiZXLk4rVy5KPT09bi5OK24uSjpifTsKaEo9ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PTF8fG4udHlwZT09PTJ9Owp4Tj1mdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09M3x8bi50eXBlPT09Nn07Ckx6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGJUKG4sVyl8fE1hdGguYWJzKG4uai1XLlgpPD0xRS02fHxuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaPyEwOiExfTsKZXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5qJCE9PVcuaiQmJlcuaiQhPT1uLmokKzF8fG4udHlwZSE9PVcudHlwZT8hMTpiVChuLFcpPyEwOk1hdGguYWJzKG4uWC1XLlgpPD0xRS02JiZuLmokPT09Vy5qJD8hMTpMeihuLFcpfTsKZ2s9ZnVuY3Rpb24obil7cmV0dXJuIG4uaiQrKG4uYVo/MTowKX07Clh4PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O1cuaXRhZz1uLlBKLmluZm8uaXRhZztXLnR5cGU9YCR7bi50eXBlfWA7Vy5zcmM9YCR7bi5zb3VyY2V9YDtXLnNlZ3NyYz1uLlk7Vy5zZWc9U3RyaW5nKG4uaiQpO24ucmFuZ2UmJihXLnJhbmdlPWAke24ucmFuZ2Uuc3RhcnQrbi5OfS0ke24ucmFuZ2Uuc3RhcnQrbi5OK24uSi0xfWApO1cudGltZT1gJHtuLlgudG9GaXhlZCgxKX0tJHsobi5YK24uSykudG9GaXhlZCgxKX1gO1cub2ZmPVN0cmluZyhuLk4pO1cubGVuPVN0cmluZyhuLkopO24uYVomJihXLmVuZD0iMSIpO24uVigpJiYoVy5lb3M9IjEiKTtuLmNsaXBJZCYmKFcuY2lkPW4uY2xpcElkKTtyZXR1cm4gV307CmxEeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IHFJKG4udHlwZSxuLlBKLG4ucmFuZ2UsImdldEVtcHR5U3R1YkJlZm9yZSIrbi5ZLG4uaiQsbi5zZWdtZW50U3RhcnRUaW1lLDAsbi5OLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKVEQxPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcUkobi50eXBlLG4uUEosbi5yYW5nZSwiZ2V0RW1wdHlTdHViQWZ0ZXIiK24uWSxuLmokLG4uc2VnbWVudFN0YXJ0VGltZStuLlcsMCxuLk4rbi5KLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKR1A9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIG5ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJyZXNsaWNlIituLlksbi5qJCxuLnNlZ21lbnRTdGFydFRpbWUsbi5XLFcsRCxiLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKdEo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5yYW5nZSYmVy5yYW5nZT9uLnJhbmdlLnN0YXJ0K24uTj49Vy5yYW5nZS5zdGFydCtXLk4mJm4ucmFuZ2Uuc3RhcnQrbi5OK24uSjw9Vy5yYW5nZS5zdGFydCtXLk4rVy5KOm4uaiQ9PT1XLmokJiZuLk4+PVcuTiYmKG4uTituLko8PVcuTitXLkp8fFcuYVopfTsKJE49ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5jSigpJiZXLnR5cGU9PT0zJiZuLlBKLk4oKT8obj1uLlBKLlZRKG4pLGcub00obixEPT4kTihELFcpKSk6bi5qJD09PVcuaiQmJiEhVy5KJiZXLk4rVy5KPm4uTiYmVy5OK1cuSjw9bi5OK24uSn07Ck92PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCksRD1uLmg1KCksYj1ELmVfKCksdj1uLkcoKSxrPW4uZDAoKSxoPWsuVDEqOC8xMDI0LHg9ay54WS8xMDI0LEw9ay5LVCxlPWsuU1UsRz1rLk1BLHI9RC5nZXRDdXJyZW50VGltZSgpLnRvRml4ZWQoMiksTj1yayhELkooKSwiLCIsMyk7dmFyIEg9IiI7aWYoVy5pc0RhaUVuYWJsZWQoKSl7SD1OSShXKT9IKyJNViI6Vy5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaT9IKyJTUyI6SCsiQ1MiO0g9Vy5ERigpP0grIkxJRkEsICI6SCsiREFJLCAiO1cuYlYmJihIKz0iREFJRkIsICIpO3ZhciBBPWsuZEM7QSYmKEgrPUEpfWVsc2UgVy5LZj9IKz0iQ1NEQUksICI6Vy5KbD9IKz0iRFNEQUksICI6Vy5qRiYmKEgrPSJVU0RBSSwgIik7cHooVykmJiFXLkRGKCkmJihIKz0iTElGQUUsICIpO2cuWU4oVykmJihIKz0iU0FCUiwgIik7aWYoVy5mZXRjaFR5cGUpe3N3aXRjaChXLmZldGNoVHlwZSl7Y2FzZSAib25lc2llIjpBPSJvIjticmVhazsKY2FzZSAiZ3AiOkE9ImdwIjticmVhaztkZWZhdWx0OkE9Imd2aSJ9SCs9YHZkOiR7QX0sIGB9KEE9di5qXygpKSYmKEg9QS5pc0FzbWpzP0grIndhLCAiOkgrIncsICIpO0grPWBzOiR7R30gdDoke3J9IGI6JHtOfSBgO0QuaXNTZWVraW5nKCkmJihIKz0iUyIpO0QuaXNQYXVzZWQoKSYmKEgrPSJQIik7RC5pc0VuZGVkKCkmJihIKz0iRSIpO24uaXNPcmNoZXN0cmF0aW9uTGVhZGVyKCkmJihIKz0iIEwiKTsoRD1rLmVJKSYmKEgrPWAgbDoke0QudG9GaXhlZCgpfWApO0Q9ay5jdXJyZW50VGltZTtHPVcueW47RCYmRD5HLnN0YXJ0JiZEPEcuZW5kJiYoSCs9IiBhcyIpO0Q9UFYob0wpKCJfc3RhcnQiLHZvaWQgMCk7Rz1bXTtmb3IoeSBvZlsicGxfaSIsInZpciIsIm9yX3AiLCJvcmZiIiwicGJzIl0pKHI9UFYob0wpKHksdm9pZCAwKSkmJkQmJihyLT1ELEcucHVzaChgJHt5fToke01hdGgucm91bmQocil9YCkpO3ZhciB5PUcuam9pbigiICIpO0Q9Zy5IXygpO0c9Zy5meihuKS52VDtyPQpXLlcmJiFXLlcuTigpPyJkaXNwbGF5Om5vbmUiOiIiO2lmKChOPVcuY2xpZW50UGxheWJhY2tOb25jZSkmJk4ubGVuZ3RoPT0xNil7Tis9IkFBQUEiO0E9MDt2YXIgVD0iIjtmb3IobGV0IEM9MDtDPDIwO0MrKylpZihBPShBPDw2KSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuaW5kZXhPZihOLmNoYXJBdChDKSksQyU1PT00KXtsZXQgUT0iIjtmb3IobGV0IFY9MDtWPDY7VisrKVE9IjAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaIi5jaGFyQXQoQSYzMSkrUSxBPj49NTtUKz1RfU49YCR7VC5zdWJzdHIoMCw0KX0gJHtULnN1YnN0cig0LDQpfSAke1Quc3Vic3RyKDgsNCl9ICR7VC5zdWJzdHIoMTIsNCl9ICR7VC5zdWJzdHIoMTYsNCl9YH1lbHNlIE49IiI7aD17dmlkZW9faWRfYW5kX2NwbjpTdHJpbmcoVy52aWRlb0lkKSsiIC8gIitOLGNvZGVjczoiIixkaW1zX2FuZF9mcmFtZXM6IiIsYmFuZHdpZHRoX2ticHM6YCR7aC50b0ZpeGVkKDApfSBLYnBzYCwKYnVmZmVyX2hlYWx0aF9zZWNvbmRzOmAke0wudG9GaXhlZCgyKX0gc2AsZGF0ZTpgJHsobmV3IERhdGUpLnRvU3RyaW5nKCl9YCxkcm1fc3R5bGU6ZT8iIjoiZGlzcGxheTpub25lIixkcm06ZSxkZWJ1Z19pbmZvOkgsZXh0cmFfZGVidWdfaW5mbzoiIixiYW5kd2lkdGhfc3R5bGU6cixuZXR3b3JrX2FjdGl2aXR5X3N0eWxlOnIsbmV0d29ya19hY3Rpdml0eV9ieXRlczpgJHt4LnRvRml4ZWQoMCl9IEtCYCxzaGFkZXJfaW5mbzpHLHNoYWRlcl9pbmZvX3N0eWxlOkc/IiI6ImRpc3BsYXk6bm9uZSIscGxheWJhY2tfY2F0ZWdvcmllczoiIn07eD1gJHtiLmNsaWVudFdpZHRofXgke2IuY2xpZW50SGVpZ2h0fWArKEQ+MT9gKiR7RC50b0ZpeGVkKDIpfWA6IiIpO0w9Ii0iO2sudG90YWxWaWRlb0ZyYW1lcyYmKEw9YCR7ay5kcm9wcGVkVmlkZW9GcmFtZXN8fDB9IGRyb3BwZWQgb2YgJHtrLnRvdGFsVmlkZW9GcmFtZXN9YCk7aC5kaW1zX2FuZF9mcmFtZXM9YCR7eH0gLyAke0x9YDtlPW4uZ2V0Vm9sdW1lKCk7Cm49Vy5oZzt4PW4uTjtMPU1hdGgucm91bmQoZSk7ZT1NYXRoLnJvdW5kKGUqKHg/LlpyPz8xKSk7SD0iIjtXLlg/LmF1ZGlvLk4/SD0iIFZCIjpXLlg/LmF1ZGlvLlcmJihIPSIgRFJDIik7RD0iIjt4Py5mZCE9bnVsbD9EKz1gY29udC4ke3guZmQudG9GaXhlZCgxKX1kQmA6bi5RTyE9bnVsbCYmKEQrPWBsaXZlLiR7bi5RTy50b0ZpeGVkKDEpfWRCYCk7eD8ucHkhPW51bGwmJihEKz1gIHRndC4ke3gucHkudG9GaXhlZCgxKX1kQmApO0QmJihEPWAgKCR7RH0pYCk7aC52b2x1bWU9YCR7TH0lLyR7ZX0lJHtIfSR7RH1gO2gucmVzb2x1dGlvbj1gJHtiLnZpZGVvV2lkdGh9eCR7Yi52aWRlb0hlaWdodH1gO2lmKGI9Vy5KKXtpZihuPWIudmlkZW8peD1uLmZwcyx4PjEmJihoLnJlc29sdXRpb24rPWBAJHt4fWApLCh4PWsuTHQpJiZ4LnZpZGVvJiYoaC5yZXNvbHV0aW9uKz1gIC8gJHt4LnZpZGVvLndpZHRofXgke3gudmlkZW8uaGVpZ2h0fWAseC52aWRlby5mcHM+MSYmKGgucmVzb2x1dGlvbis9CmBAJHt4LnZpZGVvLmZwc31gKSksaC5jb2RlY3M9SkooYiksIVcuWHx8Yi5hdWRpbyYmYi52aWRlbz9iLkFhJiYoaC5jb2RlY3MrPWAgLyAke2IuQWF9QWApOmguY29kZWNzKz1gIC8gJHtKSihXLlgpfWAsbi5OfHxuLnByaW1hcmllcz8oeD1uLk58fCJ1bmtub3duIix4PT09InNtcHRlMjA4NCI/eD1gJHt4fSAoUFEpYDp4PT09ImFyaWItc3RkLWI2NyImJih4PWAke3h9IChITEcpYCksaC5jb2xvcj1gJHt4fSAvICR7bi5wcmltYXJpZXN8fCJ1bmtub3duIn1gLGguY29sb3Jfc3R5bGU9IiIpOmguY29sb3Jfc3R5bGU9ImRpc3BsYXk6bm9uZSI7aWYoYi5kZWJ1Z0luZm8pe2guZm10X2RlYnVnX2luZm89IiI7Zm9yKHZhciB6IG9mIGIuZGVidWdJbmZvKWguZm10X2RlYnVnX2luZm8rPWAke3oubGFiZWx9OiR7ei50ZXh0fSBgfWguZm10X2RlYnVnX2luZm9fc3R5bGU9aC5mbXRfZGVidWdfaW5mbyYmaC5mbXRfZGVidWdfaW5mby5sZW5ndGg+MD8iIjoiZGlzcGxheTpub25lIn16PVcuaXNMaXZlUGxheWJhY2s7CmI9Vy5YZztoLmxpdmVfbW9kZV9zdHlsZT16fHxiPyIiOiJkaXNwbGF5Om5vbmUiO2gubGl2ZV9sYXRlbmN5X3N0eWxlPXo/IiI6ImRpc3BsYXk6bm9uZSI7aWYoYiloLmxpdmVfbW9kZT0iUG9zdC1MaXZlIisoSTQoVyk/IiBNYW5pZmVzdGxlc3MiOiIiKTtlbHNlIGlmKHope2I9ay5wVDtoLmxpdmVfbGF0ZW5jeV9zZWNzPWAke2IudG9GaXhlZCgyKX1zYDt6PUk0KFcpPyJNYW5pZmVzdGxlc3MsICI6IiI7Vy5SSSYmKHorPSJXaW5kb3dlZCwgIik7bj0iVW5jZXJ0YWluIjtpZihiPj0wJiZiPDEyMClpZihXLmxhdGVuY3lDbGFzcyYmVy5sYXRlbmN5Q2xhc3MhPT0iVU5LTk9XTiIpc3dpdGNoKFcubGF0ZW5jeUNsYXNzKXtjYXNlICJOT1JNQUwiOm49Ik9wdGltaXplZCBmb3IgTm9ybWFsIExhdGVuY3kiO2JyZWFrO2Nhc2UgIkxPVyI6bj0iT3B0aW1pemVkIGZvciBMb3cgTGF0ZW5jeSI7YnJlYWs7Y2FzZSAiVUxUUkFMT1ciOm49Ik9wdGltaXplZCBmb3IgVWx0cmEgTG93IExhdGVuY3kiOwpicmVhaztkZWZhdWx0Om49IlVua25vd24gTGF0ZW5jeSBTZXR0aW5nIn1lbHNlIG49U3goVyk/Ik9wdGltaXplZCBmb3IgTG93IExhdGVuY3kiOiJPcHRpbWl6ZWQgZm9yIFNtb290aCBTdHJlYW1pbmciO3orPW47KGI9ay5GSSkmJih6Kz1gLCBzZXEgJHtiLnNlcXVlbmNlfWApO2gubGl2ZV9tb2RlPXp9di5leHBlcmltZW50cy5adCgpLk4uUVEoaldTKT9rLmlzR2FwbGVzcyYmIWsuZFQmJihoLnBsYXliYWNrX2NhdGVnb3JpZXM9ay5Ibz9oLnBsYXliYWNrX2NhdGVnb3JpZXMrIkdhcGxlc3MgIjpoLnBsYXliYWNrX2NhdGVnb3JpZXMrIlF1ZXVlZCAiKTohay5pc0dhcGxlc3N8fEFKKFcpJiZrLmRUfHwoaC5wbGF5YmFja19jYXRlZ29yaWVzKz0iR2FwbGVzcyAiKTtoLnBsYXliYWNrX2NhdGVnb3JpZXNfc3R5bGU9aC5wbGF5YmFja19jYXRlZ29yaWVzPyIiOiJkaXNwbGF5Om5vbmUiO2guYmFuZHdpZHRoX3NhbXBsZXM9ay5VJDtoLm5ldHdvcmtfYWN0aXZpdHlfc2FtcGxlcz1rLmRjOwpoLmxpdmVfbGF0ZW5jeV9zYW1wbGVzPWsuc0k7aC5idWZmZXJfaGVhbHRoX3NhbXBsZXM9ay5qeDt2PWcubU0oVyk7aWYoVy5jb3RufHx2KWguY290bl9hbmRfbG9jYWxfbWVkaWE9YCR7Vy5jb3RuP1cuY290bjoibnVsbCJ9IC8gJHt2fWA7aC5jb3RuX2FuZF9sb2NhbF9tZWRpYV9zdHlsZT1oLmNvdG5fYW5kX2xvY2FsX21lZGlhPyIiOiJkaXNwbGF5Om5vbmUiO0t6KFcsIndlYl9wbGF5ZXJfcmVsZWFzZV9kZWJ1ZyIpPyhoLnJlbGVhc2VfbmFtZT1JWzY1XSxoLnJlbGVhc2Vfc3R5bGU9IiIpOmgucmVsZWFzZV9zdHlsZT0iZGlzcGxheTpub25lIjtoLmRlYnVnX2luZm8mJnkubGVuZ3RoPjAmJmguZGVidWdfaW5mby5sZW5ndGgreS5sZW5ndGg8PTYwP2guZGVidWdfaW5mbys9IiAiK3k6aC5leHRyYV9kZWJ1Z19pbmZvPXk7aC5leHRyYV9kZWJ1Z19pbmZvX3N0eWxlPWguZXh0cmFfZGVidWdfaW5mbyYmaC5leHRyYV9kZWJ1Z19pbmZvLmxlbmd0aD4wPyIiOiJkaXNwbGF5Om5vbmUiOwpyZXR1cm4gaH07ClBfPWZ1bmN0aW9uKG4sVyxEKXtuLkorPVcuSjtuLnJhbmdlJiYobi5LKz1XLkspO24uaj1XLmo7bi5hWj1XLmFaO0QmJlcuYVomJihuLlc9Vy5XLG4uc2VnbWVudFN0YXJ0VGltZT1XLnNlZ21lbnRTdGFydFRpbWUsbi5YPW4uc2VnbWVudFN0YXJ0VGltZSxuLnJhbmdlfHwobi5LPW4uVykpfTsKWko9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmokO24uWT0idXBkYXRlV2l0aFNlZ21lbnRJbmZvIjtuLmokPUQ7aWYobi5zZWdtZW50U3RhcnRUaW1lIT09Vy5zdGFydFRpbWV8fG4uVyE9PVcuZHVyYXRpb24pbi5zZWdtZW50U3RhcnRUaW1lPVcuc3RhcnRUaW1lLG4uVz1XLmR1cmF0aW9uLHZfKG4pfTsKVXY9ZnVuY3Rpb24obil7cmV0dXJuIWhKKG4uQXdbbi5Bdy5sZW5ndGgtMV0pfTsKeXM9ZnVuY3Rpb24obil7cmV0dXJuIG4uQXdbbi5Bdy5sZW5ndGgtMV0uY0ooKX07CmcuRXY9ZnVuY3Rpb24obixXLEQpe0Q9bi5wUz09PW51bGw/bi5YYi5wUyhXLEQsbi5Bd1swXS50eXBlKTpuLnBTO2lmKG4uTil7Vz1EP1hkKG4uTixXLm9NKTpuLk47dmFyIGI9bmV3IENzKFcpO2IuZ2V0KCJhbHIiKXx8Yi5zZXQoImFsciIsInllcyIpO24uSiYmWl8oYixuLkopfWVsc2UvaHR0cFtzXT86XC9cLy8udGVzdChuLkopP2I9bmV3IENzKG5ldyBnLndaKG4uSikpOihiPUJ3KG4uWGIsRCxXKSxuLkomJlpfKGIsbi5KKSk7KFc9bi5yYW5nZSk/Yi5zZXQoInJhbmdlIixXLnRvU3RyaW5nKCkpOm4uQXdbMF0uUEouRCgpJiZuLkF3Lmxlbmd0aD09PTEmJm4uQXdbMF0uTiYmYi5zZXQoInJhbmdlIixgJHtuLkF3WzBdLk59LWApO24ucmVxdWVzdElkJiZiLnNldCgicmVxX2lkIixuLnJlcXVlc3RJZCk7aXNOYU4obi5aQSl8fGIuc2V0KCJoZWFkbSIsbi5aQS50b1N0cmluZygpKTtpc05hTihuLmopfHxiLnNldCgibWZmYSIsYCR7bi5qfW1zYCk7bi51cmxQYXJhbXMmJmcuYV8obi51cmxQYXJhbXMsCih2LGspPT57Yi5zZXQoayx2KX0pOwpyZXR1cm4gYn07CmRrPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkcoKSx2PXtodG1sNVByZWZlcmVuY2U6IkhUTUw1X1BSRUZfV0FOVFMiLGxhY3RNaWxsaXNlY29uZHM6U3RyaW5nKGcudkkoKSkscmVmZXJlcjpkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpLHNpZ25hdHVyZVRpbWVzdGFtcDoyMDY1NX0saz1nLm85KCk7bi5pc0F1dG9uYXYmJih2LmF1dG9uYXY9ITApO2suUVEoMTQxKSYmKHYuYXV0b25hdlN0YXRlPWsuUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTt2LmF1dG9DYXB0aW9uc0RlZmF1bHRPbj1rLlFRKDY2KTtpVChuKSYmKHYuYXV0b3BsYXk9ITApO2IuSyYmbi5jeWNUb2tlbiYmKHYuY3ljVG9rZW49bi5jeWNUb2tlbik7Yi5lbmFibGVQcml2YWN5RmlsdGVyJiYodi5lbmFibGVQcml2YWN5RmlsdGVyPSEwKTtuLmlzRmxpbmcmJih2LmZsaW5nPSEwKTt2YXIgaD1uLmZvcmNlQWRzVXJsO2lmKGgpe2s9e307dmFyIHg9W107aD1oLnNwbGl0KCIsIik7Zm9yKHZhciBMIG9mIGgpe3ZhciBlPQpMLnNwbGl0KCJ8Iik7ZS5sZW5ndGghPT0zfHxMLmluY2x1ZGVzKCI9Iil8fChlWzBdPWBicmVha3R5cGU9JHtlWzBdfWAsZVsxXT1gb2Zmc2V0PSR7ZVsxXX1gLGVbMl09YHVybD0ke2VbMl19YCk7aD17YWR0eXBlOiJ2aWRlb19hZCJ9O2Zvcih2YXIgRyBvZiBlKXtsZXQgW3osLi4uQ109Ry5zcGxpdCgiPSIpO2hbel09Qy5qb2luKCI9Iil9ZT1oLnVybDtsZXQgSD1oLnByZXNldGFkLEE9aC52aXJhbHJlc3BvbnNldXJsLHk9TnVtYmVyKGguY2FtcGFpZ25pZCksVD1oLmJpYmxpb3RlY2FhZGlkO2lmKGguYWR0eXBlPT09ImluX2Rpc3BsYXlfYWQiKWUmJihrLnVybD1lKSxIJiYoay5wcmVzZXRBZD1IKSxBJiYoay52aXJhbEFkUmVzcG9uc2VVcmw9QSkseSYmKGsudmlyYWxDYW1wYWlnbklkPVN0cmluZyh5KSksVCYmKGsuYmlibGlvdGVjYUFkSWQ9VCk7ZWxzZSBpZihoLmFkdHlwZT09PSJ2aWRlb19hZCIpe2xldCB6PXtvZmZzZXQ6e2tpbmQ6Ik9GRlNFVF9NSUxMSVNFQ09ORFMiLHZhbHVlOlN0cmluZyhOdW1iZXIoaC5vZmZzZXQpfHwKMCl9fTtpZihoPUNJWltoLmJyZWFrdHlwZV0pei5icmVha1R5cGU9aDtlJiYoei51cmw9ZSk7SCYmKHoucHJlc2V0QWQ9SCk7QSYmKHoudmlyYWxBZFJlc3BvbnNlVXJsPUEpO3kmJih6LnZpcmFsQ2FtcGFpZ25JZD1TdHJpbmcoeSkpO1QmJih6LmJpYmxpb3RlY2FBZElkPVQpO3gucHVzaCh6KX19T2JqZWN0LmtleXMoaykubGVuZ3RoPjA/di5mb3JjZUFkUGFyYW1ldGVycz17dmlkZW9BZHM6eCxpbkRpc3BsYXlBZDprfTp2LmZvcmNlQWRQYXJhbWV0ZXJzPXt2aWRlb0Fkczp4fX1uLmlzSW5saW5lUGxheWJhY2tOb0FkJiYodi5pc0lubGluZVBsYXliYWNrTm9BZD0hMCk7bi5pc0xpdmluZ1Jvb21EZWVwbGluayYmKHYuaXNMaXZpbmdSb29tRGVlcGxpbms9ITApO0w9bi5zUztpZihMIT1udWxsKXtMPXtzdGFydFdhbGx0aW1lOlN0cmluZyhMKX07aWYoRz1uLnptKUwubWFuaWZlc3REdXJhdGlvbj1TdHJpbmcoR3x8MTQ0MDApO3YubGl2ZUNvbnRleHQ9TH1uLm11dGVkQXV0b3BsYXkmJgoodi5tdXRlZEF1dG9wbGF5PSEwLEw9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCksTD8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd011dGVkQXV0b3BsYXlEdXJhdGlvbk1vZGUmJkw/LmVtYmVkc0hvc3RGbGFncz8uYWxsb3dNdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlLmluY2x1ZGVzKHVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pJiYodi5tdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlPXVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pKTtpZihuLmZCPzA6bi5QWCl2LnNwbGF5PSEwO0w9bi52bmQ7TD09PTUmJih2LnZuZD1MKTtMPXt9O2lmKEc9bi5pc01keFBsYXliYWNrKUwudHJpZ2dlcmVkQnlNZHg9RztpZihHPW4uRmYpTC5za2lwcGFibGVBZHNTdXBwb3J0ZWQ9Ry5zcGxpdCgiLCIpLmluY2x1ZGVzKCJza2EiKTtpZih4PW4uVUspe0c9bi5jTDtrPVtdO2Zvcih2YXIgciBvZiBpSih4KSl7eD1yLnBsYXRmb3JtO3g9e2FwcGxpY2F0aW9uU3RhdGU6ci5Fcz8KIklOQUNUSVZFIjoiQUNUSVZFIixjbGllbnRGb3JtRmFjdG9yOkJEalt4XXx8IlVOS05PV05fRk9STV9GQUNUT1IiLGNsaWVudE5hbWU6dUpbci5oal18fCJVTktOT1dOX0lOVEVSRkFDRSIsY2xpZW50VmVyc2lvbjpyLmRldmljZVZlcnNpb258fCIiLHBsYXRmb3JtOkZoaVt4XXx8IlVOS05PV05fUExBVEZPUk0ifTtoPXt9O2lmKEcpe3ZhciBOPXZvaWQgMDt0cnl7Tj1KU09OLnBhcnNlKEcpfWNhdGNoKEgpe2cuR3EoSCl9TiYmKGg9e3BhcmFtczpbe2tleToibXMiLHZhbHVlOk4ubXN9XX0sTi5hZHZlcnRpc2luZ19pZCYmKGguYWR2ZXJ0aXNpbmdJZD1OLmFkdmVydGlzaW5nX2lkKSxOLmxpbWl0X2FkX3RyYWNraW5nIT09dm9pZCAwJiZOLmxpbWl0X2FkX3RyYWNraW5nIT09bnVsbCYmKGgubGltaXRBZFRyYWNraW5nPU4ubGltaXRfYWRfdHJhY2tpbmcpLHgub3NOYW1lPU4ub3NfbmFtZSx4LnVzZXJBZ2VudD1OLnVzZXJfYWdlbnQseC53aW5kb3dIZWlnaHRQb2ludHM9Ti53aW5kb3dfaGVpZ2h0X3BvaW50cywKeC53aW5kb3dXaWR0aFBvaW50cz1OLndpbmRvd193aWR0aF9wb2ludHMpfWsucHVzaCh7YWRTaWduYWxzSW5mbzpoLHJlbW90ZUNsaWVudDp4fSl9TC5yZW1vdGVDb250ZXh0cz1rfXI9bi5zb3VyY2VDb250YWluZXJQbGF5bGlzdElkO049bi5zZXJpYWxpemVkTWR4TWV0YWRhdGE7aWYocnx8TilHPXt9LHImJihHLm1keFBsYXliYWNrQ29udGFpbmVySW5mbz17c291cmNlQ29udGFpbmVyUGxheWxpc3RJZDpyfSksTiYmKEcuc2VyaWFsaXplZE1keE1ldGFkYXRhPU4pLEwubWR4UGxheWJhY2tTb3VyY2VDb250ZXh0PUc7di5tZHhDb250ZXh0PUw7cj1XLndpZHRoO3I+MCYmKHYucGxheWVyV2lkdGhQaXhlbHM9TWF0aC5yb3VuZChyKSk7aWYoVz1XLmhlaWdodCl2LnBsYXllckhlaWdodFBpeGVscz1NYXRoLnJvdW5kKFcpO0QhPT0wJiYodi52aXM9RCk7aWYoRD1iLndpZGdldFJlZmVycmVyKXYud2lkZ2V0UmVmZXJyZXI9RC5zdWJzdHJpbmcoMCwxMjgpO2cubzQoYikmJnYmJih2LmFuY2VzdG9yT3JpZ2lucz0KYi5hbmNlc3Rvck9yaWdpbnMpO24uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQmJih2LmNvbXBvc2l0ZVZpZGVvQ29udGV4dD17ZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ6bi5kZWZhdWx0QWN0aXZlU291cmNlVmlkZW9JZH0pO2lmKG49Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCkpdi5lbmNyeXB0ZWRIb3N0RmxhZ3M9bi5lbmNyeXB0ZWRIb3N0RmxhZ3M7cmV0dXJuIHZ9Owp6UD1mdW5jdGlvbihuKXtpZihuLnJhbmdlKXJldHVybiBuLlc7bj1uLkF3WzBdO3JldHVybiBNYXRoLnJvdW5kKG4uSypuLlBKLmluZm8uTnMpfTsKd0xVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE1hdGgubWF4KDAsbi5Bd1swXS5YLVcpfTsKbFQ9ZnVuY3Rpb24obixXLEQpe2Zvcig7bjtuPW4ucGFyZW50Tm9kZSl7aWYoIW4uYXR0cmlidXRlc3x8RCYmbi5ub2RlTmFtZSE9PUQpY29udGludWU7bGV0IGI9bi5nZXRBdHRyaWJ1dGUoVyk7aWYoYilyZXR1cm4gYn1yZXR1cm4iIn07ClRQPWZ1bmN0aW9uKG4sVyl7Zm9yKDtuO249bi5wYXJlbnROb2RlKXtsZXQgRD1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKFcpO2lmKEQubGVuZ3RoPjApcmV0dXJuIERbMF19cmV0dXJuIG51bGx9OwpqeD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gMDt2YXIgVz1uLm1hdGNoKC9QVCgoWzAtOV0qKUgpPygoWzAtOV0qKU0pPygoWzAtOS5dKilTKT8vKTtyZXR1cm4gVz8oTnVtYmVyKFdbMl0pfDApKjM2MDArKE51bWJlcihXWzRdKXwwKSo2MCsoTnVtYmVyKFdbNl0pfDApOk51bWJlcihuKXwwfTsKQ3o9ZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KVwuKFxkezN9KSQvKT9gJHtufVpgOm59OwpNZ009ZnVuY3Rpb24obil7dmFyIFc9bi5XO24uVz1bXTtyZXR1cm4gV307ClJBUz1mdW5jdGlvbihuKXtuLk58fChuLk49bmV3IEJfKTtyZXR1cm4gbi5OfTsKUVdNPWZ1bmN0aW9uKG4sVyl7bi5KW1ddfHwobi5KW1ddPW5ldyBCXyk7cmV0dXJuIG4uSltXXX07ClZnaT1mdW5jdGlvbihuLFcpe24uV1tXXXx8KG4uV1tXXT1uZXcgQl8pO3JldHVybiBuLldbV119OwpjSGo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtXPUFycmF5LmZyb20oVy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikpO2ZvcihsZXQgYiBvZiBXKXtXPWIucGFyZW50Tm9kZS5wYXJlbnROb2RlO2xldCB2PW51bGw7Vy5ub2RlTmFtZT09PSJQZXJpb2QiP3Y9UkFTKG4pOlcubm9kZU5hbWU9PT0iQWRhcHRhdGlvblNldCI/KFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fFcuZ2V0QXR0cmlidXRlKCJtaW1ldHlwZSIpfHwiIix2PVFXTShuLFcpKTpXLm5vZGVOYW1lPT09IlJlcHJlc2VudGF0aW9uIiYmKFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fCIiLHY9VmdpKG4sVykpO2lmKHY9PW51bGwpcmV0dXJuO3YudXBkYXRlKGIpO2cuUTIoRCxNZ00odikpfWcuUTIobi5YLEQpO3RVaChuLlgsYj0+Yi5zdGFydFNlY3MqMUUzK2IuTil9OwphRFU9ZnVuY3Rpb24obil7bi5OJiYobi5OLk49W10pO2cuYV8obi5KLFc9PntXLk49W119KTsKZy5hXyhuLlcsVz0+e1cuTj1bXX0pfTsKRng9ZnVuY3Rpb24obixXKXtyZXR1cm4gRGUobi5zZWdtZW50cyxEPT5XLUQuaiQpfTsKTUk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uaW5kZXguVihXKSx2PW4uaW5kZXguZ2V0U3RhcnRUaW1lKFcpLGs9bi5pbmRleC5nZXREdXJhdGlvbihXKTtEP2s9RD0wOkQ9bi5pbmZvLk5zKms7cmV0dXJuIG5ldyB3ayhbbmV3IHFJKDMsbix2b2lkIDAsIm90ZkNyZWF0ZVJlcXVlc3RJbmZvRm9yU2VnbWVudCIsVyx2LGssMCxEKV0sYil9OwpuR1M9ZnVuY3Rpb24obixXKXtpZighbi5pbmRleC5pc0xvYWRlZCgpKXt2YXIgRD1bXSxiPVcuajtXPVcuSy5zcGxpdCgiLCIpLmZpbHRlcihlPT5lLmxlbmd0aD4wKTsKdmFyIHY9MCxrPTAsaD0wLHg9L14oXGQrKS8sTD0vcj0oXGQrKS87Zm9yKGxldCBlPTA7ZTxiO2UrKyl7aWYoaDw9MClpZihoPVcuc2hpZnQoKSxrPShrPXguZXhlYyhoKSk/K2tbMV0vMUUzOjApaD0oaD1MLmV4ZWMoaCkpPytoWzFdOjAsaCs9MTtlbHNlIHJldHVybjtELnB1c2gobmV3IFI0KGUsdixrLE5hTiwic3EvIisoZSsxKSkpO3YrPWs7aC0tfW4uaW5kZXguYXBwZW5kKEQpfX07CmcuY189ZnVuY3Rpb24obixXLC4uLkQpe2cuUXMoNSxuIGluc3RhbmNlb2YgZy5Wcz9uLnRhZzpuLFcsLi4uRCl9OwpnLlFzPWZ1bmN0aW9uKG4sVyxELC4uLmIpe3ZhciB2PW49PT02PyJFUlJPUiI6IldBUk5JTkciO0Q9YGIke0R9YDtnLlhqKG5ldyBnLlF4KEQsLi4uYiksdik7Yi51bnNoaWZ0KEQpO2I9Yi5qb2luKCIsICIpO3Y9YTQuZ2V0KFcpO2lmKCF2KXt2PWB5dHBsb2cuJHtXfWA7RD01O3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5sb2NhbFN0b3JhZ2Vbdl0pJiYoRD0rd2luZG93LmxvY2FsU3RvcmFnZVt2XSksd2luZG93LnNlc3Npb25TdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5zZXNzaW9uU3RvcmFnZVt2XSkmJihEPSt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Vbdl0pfWNhdGNoe31hNC5zZXQoVyxEKTt2PUR9bjx2fHwobj1XS3csdj1uLk4uZ2V0KFcpLHZ8fCh2PW5ldyBEODIsbi5OLnNldChXLHYpKSxuPXYsdj1EYXRlLm5vdygpLEQ9TWF0aC5mbG9vcigodi1uLkopKi4wMSksRD4wJiYobi5OPU1hdGgubWluKG4uTitELDEwKSxuLko9diksbi5OPjA/KG4uTi0tLG49CiEwKTpuPSExLG4/KHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmKGI9YigpKSxjb25zb2xlLmxvZyhgcGx5ci4ke1d9YCxiKSk6KGI9KG5NLmdldChXKT8/MCkrMSxuTS5zZXQoVyxiKSxiJTEwMD09PTEmJmNvbnNvbGUud2FybigicGx5ciIsYHBseXIuJHtXfSBpcyBjaGF0dHksIGRyb3BwaW5nIGxvZ3MuYCkpKX07CkRPPWZ1bmN0aW9uKG4pe2lmKCFuLkspe2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPWt4KFcsMCwxODM2MDE5NTc0KTtpZihEKXtEPUQub2Zmc2V0K0Quc2l6ZTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsRCkpO1c9Yn1lbHNlIFc9bnVsbH1lbHNlIFc9eUhyKG5ldyB0WShnLldSKG4pKSk7VyYmKG4uaW5mby5QSi5KPVcsbi5LPSEwKX19OwpnLldSPWZ1bmN0aW9uKG4pe3JldHVybiBHNihuLkopfTsKdlI9ZnVuY3Rpb24obixXKXtXPU1hdGgubWluKFcsbi5pbmZvLkopO3ZhciB7Q3M6RCxZOTpifT1uLkouc3BsaXQoVyksdj1uZXcgYjgobmV3IHFJKG4uaW5mby50eXBlLG4uaW5mby5QSixuLmluZm8ucmFuZ2Usbi5pbmZvLlksbi5pbmZvLmokLG4uaW5mby5zZWdtZW50U3RhcnRUaW1lLG4uaW5mby5XLG4uaW5mby5OLFcsITEsbi5pbmZvLnZELG4uaW5mby5jbGlwSWQsbi5pbmZvLkQpLEQpO3YuWD1uLlg7di5XPW4uVztXPW5ldyBiOChuZXcgcUkobi5pbmZvLnR5cGUsbi5pbmZvLlBKLG4uaW5mby5yYW5nZSxuLmluZm8uWSxuLmluZm8uaiQsbi5pbmZvLnNlZ21lbnRTdGFydFRpbWUsbi5pbmZvLlcsbi5pbmZvLk4rVyxuLmluZm8uSi1XLG4uaW5mby5hWixuLmluZm8udkQsbi5pbmZvLmNsaXBJZCxuLmluZm8uRCksYik7Vy5YPW4uWDtXLlc9bi5XO3JldHVyblt2LFddfTsKZy5rWD1mdW5jdGlvbihuKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtpZihuLlchPT0tMSlyZXR1cm4gbi5XO2lmKG4uTiYmakoobi5OKSlyZXR1cm4gbi5XPWpKKG4uTiksbi5XO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPW4uaW5mby5QSi5KLGI9TmFOO2xldCB2PU5hTixrPTA7Zm9yKDtWTChXLGspOyl7bGV0IGg9Y0EoVyxrKTtoLnR5cGU9PT0xOTM2Mjg2ODQwP3Y9aC5kYXRhLmdldFVpbnQzMihoLmRhdGFPZmZzZXQrOCk6aC50eXBlPT09MTgzNjQ3NjUxNj92PWcuYkwoaCk6aC50eXBlPT09MTk1Mjg2NzQ0NCYmaXNOYU4oYikmJihiPWcueHgoaCkpO2s9YXIoaC50eXBlKT9rKzg6aytoLnNpemV9IXYmJkQmJih2PXZ3KEQpKTtXPWIvdn1lbHNlIFc9bmV3IHRZKGcuV1IobikpLEQ9bi5WP1c6bmV3IHRZKG5ldyBEYXRhVmlldyhuLmluZm8uUEouSi5idWZmZXIpKSxiPUtzKEQpLEQ9Vy5wb3MsVy5wb3M9MCxQdyhXKT8Kc1koVywyMzEpPyhiPWZzKFcpKmIvMUU5LFcucG9zPUQsVz1iKTooVy5wb3M9RCxXPU5hTik6KFcucG9zPUQsVz1OYU4pO24uVz1XfHxuLmluZm8uWDtyZXR1cm4gbi5XfTsKaE09ZnVuY3Rpb24obixXKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtuLlc9VztpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIEQ9Zy5XUihuKTtuPW4uaW5mby5QSi5KO3ZhciBiPU5hTix2PU5hTjtsZXQgTD0wO2Zvcig7VkwoRCxMKTspe2xldCBlPWNBKEQsTCk7aXNOYU4oYikmJihlLnR5cGU9PT0xOTM2Mjg2ODQwP2I9ZS5kYXRhLmdldFVpbnQzMihlLmRhdGFPZmZzZXQrOCk6ZS50eXBlPT09MTgzNjQ3NjUxNiYmKGI9Zy5iTChlKSkpO2lmKGUudHlwZT09PTE5NTI4Njc0NDQpeyFiJiZuJiYoYj12dyhuKSk7dmFyIGs9Zy54eChlKTtpc05hTih2KSYmKHY9TWF0aC5yb3VuZChXKmIpLWspO3ZhciBoPWU7ays9djtpZihoLmRhdGEuZ2V0VWludDgoaC5kYXRhT2Zmc2V0KSl7dmFyIHg9aC5kYXRhO2g9aC5kYXRhT2Zmc2V0KzQ7eC5zZXRVaW50MzIoaCxNYXRoLmZsb29yKGsvNDI5NDk2NzI5NikpO3guc2V0VWludDMyKGgrNCxrJjQyOTQ5NjcyOTUpfWVsc2UgaC5kYXRhLnNldFVpbnQzMihoLmRhdGFPZmZzZXQrCjQsayl9TD1hcihlLnR5cGUpP0wrODpMK2Uuc2l6ZX1yZXR1cm4hMH1EPW5ldyB0WShnLldSKG4pKTtuPW4uVj9EOm5ldyB0WShuZXcgRGF0YVZpZXcobi5pbmZvLlBKLkouYnVmZmVyKSk7Yj1LcyhuKTtuPUQucG9zO0QucG9zPTA7aWYoUHcoRCkmJnNZKEQsMjMxKSlpZih2PU5rKEQsITApLFc9TWF0aC5mbG9vcihXKjFFOS9iKSxNYXRoLmNlaWwoTWF0aC5sb2coVykvTWF0aC5sb2coMikvOCk+dilXPSExO2Vsc2V7Zm9yKGI9di0xO2I+PTA7Yi0tKUQuTi5zZXRVaW50OChELnBvcytiLFcmMjU1KSxXPj4+PTg7RC5wb3M9bjtXPSEwfWVsc2UgVz0hMTtyZXR1cm4gV307CnhYPWZ1bmN0aW9uKG4sVyl7bi50aW1lc3RhbXBPZmZzZXQ+MCYmKFctPW4udGltZXN0YW1wT2Zmc2V0KTt2YXIgRD1nLmtYKG4pK1c7aE0obixEKTtuLnRpbWVzdGFtcE9mZnNldD1XfTsKTE09ZnVuY3Rpb24obil7Zy5SQihuLmluZm8uUEouaW5mbyl8fG4uaW5mby5QSi5pbmZvLnFIKCk7aWYobi5OJiZuLmluZm8udHlwZT09PTYpcmV0dXJuIG4uTi5yYjtpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIFc9Zy5XUihuKTt2YXIgRD0wO1c9Zy5lUChXLDE5MzYyODY4NDApO2Zvcih2YXIgYiBvZiBXKVc9THMoYiksRCs9Vy5xZ1swXS9XLnRpbWVzY2FsZTtEPUR8fE5hTjtpZighKEQ+PTApKWE6e0Q9Zy5XUihuKTtiPW4uaW5mby5QSi5KO2xldCByPVc9MDtmb3IodmFyIHY9MDtWTChELFcpOyl7bGV0IE49Y0EoRCxXKTtpZihOLnR5cGU9PT0xODM2NDc2NTE2KXI9Zy5iTChOKTtlbHNlIGlmKE4udHlwZT09PTE4MzYwMTk1NTgpeyFyJiZiJiYocj12dyhiKSk7aWYoIXIpe0Q9TmFOO2JyZWFrIGF9dmFyIGs9a3goTi5kYXRhLE4uZGF0YU9mZnNldCwxOTUzNjUzMDk0KSxoPWs7az1yO3ZhciB4PWt4KGguZGF0YSxoLmRhdGFPZmZzZXQsMTk1Mjg2ODQ1Mik7aD1reChoLmRhdGEsCmguZGF0YU9mZnNldCwxOTUzNjU4MjIyKTt2YXIgTD15TCh4KTt5TCh4KTtMJjImJnlMKHgpO3g9TCY4P3lMKHgpOjA7dmFyIGU9eUwoaCksRz1lJjE7TD1lJjQ7bGV0IEg9ZSYyNTYsQT1lJjUxMix5PWUmMTAyNDtlJj0yMDQ4O2xldCBUPUVEKGgpO0cmJnlMKGgpO0wmJnlMKGgpO0c9MDtmb3IobGV0IHo9MDt6PFQ7eisrKXtsZXQgQz1IP3lMKGgpOng7QSYmeUwoaCk7TCYmej09PTB8fCF5fHx5TChoKTtlJiZ5TChoKTtHKz1DfXYrPUcva31XPWFyKE4udHlwZSk/Vys4OlcrTi5zaXplfUQ9dnx8TmFOfUR8fGcuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcGFyc2luZyBibWZmIixuLmluZm8uZ2EoKSkpfWVsc2UgRD1uZXcgdFkoZy5XUihuKSksbj1uLlY/RDpuZXcgdFkobmV3IERhdGFWaWV3KG4uaW5mby5QSi5KLmJ1ZmZlcikpLEQ9RUVaKEQsS3MobikpO3JldHVybiBEfTsKZUc9ZnVuY3Rpb24obixXPSExKXt2YXIgRD1MTShuKTtuPVc/MDpuLmluZm8uSztyZXR1cm4gRHx8bn07CmcuZ3k9ZnVuY3Rpb24obil7aWYobi5pbmZvLlBKLlcoKSlyZXR1cm4gbi5pbmZvLlc7bi5YPT09LTEmJihuLlg9TE0obikpO3JldHVybiBuLlh8fG4uaW5mby5XfTsKWFo9ZnVuY3Rpb24obil7dmFyIFc9Zy5XUihuKSxEPWcubnMoVywwLDE5MzYyODY4NDApO0Q9RD9ELmRhdGEuZ2V0VWludDMyKEQuZGF0YU9mZnNldCs4KTpOYU47aXNOYU4oRCkmJihuPW4uaW5mby5QSi5KLEQ9KFc9Zy5ucyhXLDAsMTgzNjQ3NjUxNikpP2cuYkwoVyk6bj92dyhuKTpOYU4pO3JldHVybiBEfTsKcSQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uaW5mby5QSi5pbmZvLnFIKCkmJnJkKG4uSiwwKT09PTE2MH07CkdpPWZ1bmN0aW9uKG4pe2lmKCFuLk4pe2cuUkIobi5pbmZvLlBKLmluZm8pfHxuLmluZm8uUEouaW5mby5xSCgpO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXZhciBXPWcucWsoZy5XUihuKSk7ZWxzZXtXPW5ldyB0WShnLldSKG4pKTtsZXQgYj1XLnBvcztXLnBvcz0wO2xldCB2PW51bGwsaz1udWxsO2lmKCR4KFcsWzQwODEyNTU0MywzMDc1NDQ5MzVdKSl7bGV0IGg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxoOyl7aWYoTmsoVywhMSkhPT0yOTU1NSl7SlkoVyk7Y29udGludWV9bGV0IHg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczx4Oyl7aWYoTmsoVywhMSkhPT0yNjU2OCl7SlkoVyk7Y29udGludWV9bGV0IEw9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxMOyl7dmFyIEQ9TmsoVywhMSk7aWYoRD09PTE3NTQzKXtpZihEPW10KFcpLEQ9UUwoRCkpaWYoaylmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoRCkpa1tlXT1EW2VdO2Vsc2Ugaz1EfWVsc2UgRD09PTE3ODI3PyhEPQptdChXKSx2fHwodj1EKSk6SlkoVyl9fX19Vy5wb3M9YjtXPWs/bmV3IFg1KGssdik6bnVsbH1uLk49V319Owp0TT1mdW5jdGlvbihuLFcpe3JldHVybiBXKzE8bi5jb3VudHx8bi5XP24ub2Zmc2V0c1tXKzFdLW4ub2Zmc2V0c1tXXTotMX07CiRYPWZ1bmN0aW9uKG4pe24ub2Zmc2V0cy5sZW5ndGg8bi5jb3VudCsxJiZuLnJlc2l6ZShuLm9mZnNldHMubGVuZ3RoKjIpfTsKcnk9ZnVuY3Rpb24obixXLEQpe24uY291bnQrKzskWChuKTtuLm9mZnNldHNbbi5jb3VudF09bi5vZmZzZXRzW24uY291bnQtMV0rVztuLnN0YXJ0VGlja3Nbbi5jb3VudF09bi5zdGFydFRpY2tzW24uY291bnQtMV0rRH07CnNOPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgaz1XO2s8PW4uaW5kZXgueCQoKTtrKyspe2xldCBoPVdfKG4uaW5kZXguTihrKSx0TShuLmluZGV4LGspKSx4PW4uaW5kZXguZ2V0U3RhcnRUaW1lKGspLEw9bi5pbmRleC5nZXREdXJhdGlvbihrKSxlPU1hdGgubWF4KDAsRC1oLnN0YXJ0KSxHPU1hdGgubWluKGguZW5kKzEsRCtiKS0oaC5zdGFydCtlKTt2LnB1c2gobmV3IHFJKDMsbixoLCJnZXRSZXF1ZXN0SW5mb0ZvclJhbmdlIixrLHgsTCxlLEcpKTtpZihoLnN0YXJ0K2UrRz49RCtiKWJyZWFrfXYubGVuZ3RofHwobj1uZXcgZy5ReCgiYjE4OTYxOTU5MyIsYCR7V31gLGAke0R9YCxgJHtifWApLGcuWGoobikpO3JldHVybiBuZXcgd2sodil9OwpOJD1mdW5jdGlvbihuKXtpZihuPW4uY29sb3JJbmZvKWlmKG49bi50cmFuc2ZlckNoYXJhY3RlcmlzdGljcylyZXR1cm4gYnFVW25dO3JldHVybiBudWxsfTsKWVg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1heChuLFcpO249TWF0aC5taW4obixXKTtXPXBNWzBdO2ZvcihsZXQgYj0wO2I8cE0ubGVuZ3RoO2IrKyl7bGV0IHY9cE1bYl0saz1OR1t2XTtpZihEPj1NYXRoLmZsb29yKGsqMTYvOSkqMS4zfHxuPj1rKjEuMylyZXR1cm4gVztXPXZ9cmV0dXJuInRpbnkifTsKZk09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBIUihuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSxuWzddLG5bOF0sbls5XSxuWzEwXSl9OwpKTT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCIvbXA0Iik+PTA/MTpuLmluZGV4T2YoIi93ZWJtIik+PTA/MjpuLmluZGV4T2YoIi94LWZsdiIpPj0wPzM6bi5pbmRleE9mKCIvdnR0Iik+PTA/NDowfTsKSWQ9ZnVuY3Rpb24obil7cmV0dXJuLyhvcHVzfG1wNGF8ZHRzZXxhYy0zfGVjLTN8aWFtZikvLnRlc3Qobil9OwpTRz1mdW5jdGlvbihuKXtyZXR1cm4vKHZwOXx2cDA5fHZwOHxhdmMxfGF2MDF8YXYwMikvLnRlc3Qobil9OwpRUD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1uZXcgQU07VyBpbiBOR3x8KFc9InNtYWxsIik7Vz09PSJsaWdodCImJihXPSJ0aW55Iik7YiYmdj8odj1OdW1iZXIodiksYj1OdW1iZXIoYikpOih2PU5HW1ddLGI9TWF0aC5yb3VuZCh2KjE2LzkpKTtrPW5ldyBIUihiLHYsMCxudWxsLHZvaWQgMCxXLGssaCk7bj11bmVzY2FwZShuLnJlcGxhY2UoLyZxdW90Oy9nLCciJykpO3JldHVybiBuZXcgbXUoRCxuLHthdWRpbzp4LHZpZGVvOmt9KX07Ck9OPWZ1bmN0aW9uKG4pe3ZhciBXPW5bN10sRD1uWzExXSxiPW5bOV0sdj1uWzhdO3JldHVybiBuZXcgbXUoblsxXSxuWzJdLHtYbjpuWzNdLE5zOm5bNF0sbGFzdE1vZGlmaWVkOm5bNV0sY29udGVudExlbmd0aDpuWzZdLGF1ZGlvOlc/bmV3IEFNKFdbMV0sV1syXSxXWzNdLFdbNF0sV1s1XSxXWzZdLFdbN10sV1s4XSk6dm9pZCAwLHZpZGVvOnY/Zk0odik6dm9pZCAwLGtaOmI/TUcoYik6dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOm5bMTBdLGNhcHRpb25UcmFjazpEP25ldyBLTShEWzFdLERbMl0sRFszXSxEWzRdLERbNV0sRFs2XSk6dm9pZCAwLHN0cmVhbVR5cGU6blsxMl0sQWE6blsxM10sYXBwcm94RHVyYXRpb25NczpuWzE0XX0pfTsKbUY9ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iTUFDMyJ8fG4uSUI9PT0iTUVBQzMifHxuLklCPT09Ik0ifHxuLklCPT09IkkifTsKS2c9ZnVuY3Rpb24obil7cmV0dXJuISFuLmNvbnRlbnRQcm90ZWN0aW9uJiYhIW4uY29udGVudFByb3RlY3Rpb24uZmFpcnBsYXkmJihuLklCPT09IigifHxuLklCPT09IihoInx8bi5JQj09PSJBInx8bi5JQj09PSJNRUFDMyIpfHxQUiYmISFuLmNvbnRlbnRQcm90ZWN0aW9uJiZuLklCPT09IjFlIn07CmcuUkI9ZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyVHlwZT09PTF9OwpNMz1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlLEcscil7dmFyIE49V15uO3ZhciBIOyhuJjc2KT09biYmKEg9YihoLHgsTCxlLEcscikpOyhuPj4xJjE1KT09MSYmKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dLGJbSVszXV0oRCwxKSk7bis5Pj4zPT0zJiYoSD1kZWNvZGVVUklDb21wb25lbnQoRCkpO24tOTwyMyYmKG4+PjEmMTUpPj0xMyYmKERbTl41MjY0XTwoTl41MzQzKSYmKERbTl41MjcwXTw9LTEmJigoKDAsRFtOXjUzMjhdKShEW25ldyBEYXRlKElbTl41MzQ2XSkvKE5eNTk1MSldLERbTl41MjY4XSksRFtOXjUzNDVdKShEW05eNTM2MV0sRFtOXjUyNjhdKSwxKXx8KDAsRFtOXjUzNTFdKSgoMCxEW05eNTM0NF0pKERbTl41MzY2XSxEW05eNTMxOV0pLERbMV0sRFtOXjUzMjBdLERbTl41MzQ4XSkpLERbTl41MjY4XT49LTImJigoMCxEW05eNTM1MV0pKCgwLERbM10pKERbTl41MzcyXSwoMCxEW25ldyBEYXRlKElbNF0pLyhOXjU5NTEpXSkoKSxEW05eNTMxNV0pLApEW05eNTM1Nl0sRFtOXjUyNzFdLERbTl41MzY1XSksRFtOXjUzMjZdKShEW05eNTMyMV0sRFtOXjUzNTZdKSxEWzVdPD0tMiYmKERbTl41Mjc2XTwoTl41MzQxKXx8KCgoKDAsRFtOXjUzMjZdKShEW05eNTMxOV0sRFtOXjUzNzNdKSxEW05eNTI2OV0pKCgwLERbTl41MjY4XSkoRFtOXjUzNTNdLERbTl41MzQ3XSksRFtOXjUzMzZdLCgwLERbNF0pKCgwLERbTl41MzYyXSkoRFtOXjUzNDldLCgwLERbTl41Mjc2XSkoKSxEW05eNTM3NV0pLERbTl41MjY2XSxEW05eNTM1NV0sRFtOXjUzMjhdKSxEW05eNTM2MV0sRFswXSksRFtOXjUzMThdKShEW05eNTM3M10sRFtOXjUzNDBdKSxJW05eNTMxNF0pKSYmKCgwLERbTl41MzI2XSkoKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbbmV3IERhdGUoSVtOXjUzNTNdKS8oTl41OTUxKV0pKCksRFtOXjUzNzBdKSxEW05eNTMyN10pKERbTl41MzQyXSksRFtOXjUzMTNdLCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzI4XSkoKSwKRFtOXjUyNzBdKSxEW05eNTI3NF0sRFtOXjUzNDJdKSxEW05eNTMzNl0pKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzYyXSkoKSxEW05eNTM0OF0pLERbTl41MzI1XSxEW05eNTI2Nl0sRFtOXjUzNTldKSxIPVtdKTtyZXR1cm4gSH07CmcuVmY9ZnVuY3Rpb24obixXKXtyZXR1cm57aXRhZzorbi5pdGFnLGxtdDpXPzA6bi5sYXN0TW9kaWZpZWQseHRhZ3M6bi5KfHwiIn19OwpaTz1mdW5jdGlvbihuKXtyZXR1cm4gbi5JQj09PSI5aCJ8fG4uSUI9PT0iKGgifTsKVU49ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iKCJ8fG4uSUI9PT0iKGgifHxuLklCPT09IkgifHxQUiYmbi5JQj09PSIxZSJ9Owp2R1U9ZnVuY3Rpb24obixXPTEpe3ZhciBEPXt9O24udmlkZW8mJihuLnZpZGVvLndpZHRoJiYoRFtBVC5XSURUSC5uYW1lXT1uLnZpZGVvLndpZHRoKSxuLnZpZGVvLmhlaWdodCYmKERbQVQuSEVJR0hULm5hbWVdPW4udmlkZW8uaGVpZ2h0KSxuLnZpZGVvLmZwcyYmKERbQVQuRlJBTUVSQVRFLm5hbWVdPW4udmlkZW8uZnBzKlcpLG4udmlkZW8uTiYmKERbQVQuRU9URi5uYW1lXT1uLnZpZGVvLk4pLG4uTnMmJihEW0FULkJJVFJBVEUubmFtZV09bi5Ocyo4KlcpLG4uSUI9PT0iKCImJihEW0FULkNSWVBUT0JMT0NLRk9STUFULm5hbWVdPSJzdWJzYW1wbGUiKSxuLnZpZGVvLnByb2plY3Rpb25UeXBlPT09IkVRVUlSRUNUQU5HVUxBUiJ8fG4udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSX1RIUkVFRF9UT1BfQk9UVE9NInx8bi52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIikmJihEW0FULkRFQ09ERVRPVEVYVFVSRS5uYW1lXT0idHJ1ZSIpO24uYXVkaW8/Lm51bUNoYW5uZWxzJiYKbi5JQiE9PSJpIiYmbi5JQiE9PSJJIiYmKERbQVQuQ0hBTk5FTFMubmFtZV09bi5hdWRpby5udW1DaGFubmVscyk7cmV0dXJuIER9Owp5VD1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dmFyIEQ9IiI7dHJ5e0Q9SlNPTi5zdHJpbmdpZnkoVyl9Y2F0Y2goYil7RD0iZmFpbGVkIHRvIHN0cmluZ2lmeSBjb25maWcifWcuY18oImRhc2giLDUxOTE5NjY0OSxuLEQpfTsKazNyPWZ1bmN0aW9uKG4pe3ZhciBXPW5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcztpZighVz8uZGVjb2RpbmdJbmZvfHxuLklCPT09ImYiKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgRD17dHlwZTpuLmF1ZGlvJiZuLnZpZGVvPyJmaWxlIjoibWVkaWEtc291cmNlIn07bi52aWRlbyYmKEQudmlkZW89e2NvbnRlbnRUeXBlOm4ubWltZVR5cGUsd2lkdGg6bi52aWRlby53aWR0aHx8NjQwLGhlaWdodDpuLnZpZGVvLmhlaWdodHx8MzYwLGJpdHJhdGU6bi5Ocyo4fHwxRTYsZnJhbWVyYXRlOm4udmlkZW8uZnBzfHwzMH0pO24uYXVkaW8mJihELmF1ZGlvPXtjb250ZW50VHlwZTpuLm1pbWVUeXBlLGNoYW5uZWxzOmAke24uYXVkaW8ubnVtQ2hhbm5lbHN8fDJ9YCxiaXRyYXRlOm4uTnMqOHx8MTI4RTMsc2FtcGxlcmF0ZTpuLmF1ZGlvLnNhbXBsZVJhdGV8fDQ0MTAwfSk7aWYoRU4pdHJ5e3JldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pLmNhdGNoKGI9Pgp7eVQoYixEKX0pfWNhdGNoKGIpe3JldHVybiB5VChiLEQpLFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pfTsKaTg9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dC5wbGF5ZXIudXRpbHMudmlkZW9FbGVtZW50XyIpO258fChuPWcuekYoIlZJREVPIiksZy5HYigieXQucGxheWVyLnV0aWxzLnZpZGVvRWxlbWVudF8iLG4pKTtyZXR1cm4gbn07CnU4PWZ1bmN0aW9uKG4pe3ZhciBXPWk4KCk7cmV0dXJuISEoVyYmVy5jYW5QbGF5VHlwZSYmVy5jYW5QbGF5VHlwZShuKSl9OwpkeT1mdW5jdGlvbihuKXtpZigvb3B1cy8udGVzdChuKSYmZy5vZCYmIUNfKCIzOCIpJiYhZy5kOCgpKXJldHVybiExO2lmKHNlbGYuTWVkaWFTb3VyY2UmJnNlbGYuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZChuKTtpZihzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZSYmc2VsZi5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobik7aWYoL3dlYm0vLnRlc3QobikmJiFUUSgpKXJldHVybiExO249PT0nYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInJiYobj0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNGQ0MDFmIicpO3JldHVybiEhdTgobil9OwpoZ1M9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWR5KCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MjAwMUUiJyl8fGR5KCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInKTtyZXR1cm4oZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fGR5KCdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJykpJiYoV3x8IW4pfHx1OCgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFLCBtcDRhLjQwLjIiJyk/bnVsbDoiZm10Lm5vbmVhdmFpbGFibGUifWNhdGNoe3JldHVybiJodG1sNS5taXNzaW5nYXBpIn19Owp6aT1mdW5jdGlvbigpe3ZhciBuPWk4KCk7cmV0dXJuISghbi53ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGV8fHR5cGVvZiBuLndlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUhPT0iZnVuY3Rpb24iKX07Cmw4PWZ1bmN0aW9uKCl7dmFyIG49aTgoKTt0cnl7bGV0IFc9bi5tdXRlZDtuLm11dGVkPSFXO3JldHVybiBuLm11dGVkIT09V31jYXRjaHt9cmV0dXJuITF9OwpUaT1mdW5jdGlvbihuLFcpe3JldHVybntzdGFydChEKXtyZXR1cm4gbltEXX0sZW5kKEQpe3JldHVybiBXW0RdfSxsZW5ndGg6bi5sZW5ndGh9fTsKakc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdLHY9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspYi5wdXNoKG4uc3RhcnQoaykpLHYucHVzaChuLmVuZChrKSk7Yi5wdXNoKFcpO3YucHVzaChEKTtiLnNvcnQoKGssaCk9PmstaCk7CnYuc29ydCgoayxoKT0+ay1oKTsKcmV0dXJuIFRpKGIsdil9Owpyaz1mdW5jdGlvbihuLFc9IiwiLEQ9bj9uLmxlbmd0aDowKXt2YXIgYj1bXTtpZihuKWZvcihEPU1hdGgubWF4KG4ubGVuZ3RoLUQsMCk7RDxuLmxlbmd0aDtEKyspYi5wdXNoKGAke24uc3RhcnQoRCkudG9GaXhlZCgzKX0tJHtuLmVuZChEKS50b0ZpeGVkKDMpfWApO3JldHVybiBiLmpvaW4oVyl9OwpDTT1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybi0xO3RyeXtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylpZihuLnN0YXJ0KEQpPD1XJiZuLmVuZChEKT49VylyZXR1cm4gRH1jYXRjaChEKXt9cmV0dXJuLTF9OwpCUj1mdW5jdGlvbihuLFcpe3JldHVybiBDTShuLFcpPj0wfTsKeDhqPWZ1bmN0aW9uKG4sVyl7aWYoIW4pcmV0dXJuIE5hTjtXPUNNKG4sVyk7cmV0dXJuIFc+PTA/bi5zdGFydChXKTpOYU59OwpGWj1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBOYU47Vz1DTShuLFcpO3JldHVybiBXPj0wP24uZW5kKFcpOk5hTn07Cmcud3k9ZnVuY3Rpb24obil7cmV0dXJuIG4mJm4ubGVuZ3RoP24uZW5kKG4ubGVuZ3RoLTEpOk5hTn07Ck0kPWZ1bmN0aW9uKG4pe3JldHVybiBnLnd5KG4pPjB9OwpSZD1mdW5jdGlvbihuLFcpe249RloobixXKTtyZXR1cm4gbj49MD9uLVc6MH07ClFUPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVtdO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKW4uZW5kKGspPFd8fG4uc3RhcnQoayk+RHx8KGIucHVzaChNYXRoLm1heChXLG4uc3RhcnQoaykpLVcpLHYucHVzaChNYXRoLm1pbihELG4uZW5kKGspKS1XKSk7cmV0dXJuIFRpKGIsdil9OwpWVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU291cmNlQnVmZmVyPyEhU291cmNlQnVmZmVyLnByb3RvdHlwZS5jaGFuZ2VUeXBlOiExfTsKY1I9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cuTWVkaWFTb3VyY2V8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V8fHdpbmRvdy5XZWJLaXRNZWRpYVNvdXJjZXx8d2luZG93LkhUTUxNZWRpYUVsZW1lbnQmJkhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFNvdXJjZUFkZElkKX07CmFkPWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lk1lZGlhU291cmNlfHwhd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCl8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V9OwpuNj1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uVygpPT09Im9wZW4ifWNhdGNoKFcpe3JldHVybiExfX07CldGPWZ1bmN0aW9uKG4sVyl7bjYobik/Zy5tSygoKT0+e1cobil9KTpuLmNhbGxiYWNrPVd9Owp2Rj1mdW5jdGlvbihuLFcsRCl7REgmJihiQShuLm1lZGlhRWxlbWVudCx7bDoibXN3c3NiIixzcjpuLm1lZGlhRWxlbWVudC5ZYT8ucGcoKX0sITEpLFcuaCQobi5MTCxuKSxELmgkKG4uTEwsbikpO24uTj1XO24uSj1EO2cudShuLFcpO2cudShuLEQpfTsKTEtVPWZ1bmN0aW9uKG4sVyxELGI9IiIpe2I9Vy5taW1lVHlwZStiO3ZhciB2PUQubWltZVR5cGU7Vz1XLklCO0Q9RC5JQjtuLlZRPW4ubWVkaWFTb3VyY2U/LmFkZFNvdXJjZUJ1ZmZlcih2KTtuLmUkPWIuc3BsaXQoIjsiKVswXT09PSJmYWtlc2IiP3ZvaWQgMDpuLm1lZGlhU291cmNlPy5hZGRTb3VyY2VCdWZmZXIoYik7bi5FViYmKG4uRVYud2Via2l0U291cmNlQWRkSWQoIjAiLHYpLG4uRVYud2Via2l0U291cmNlQWRkSWQoIjEiLGIpKTtEPW5ldyBrZyhuLlZRLG4uRVYsIjAiLEpNKHYpLEQsITEpO2I9bmV3IGtnKG4uZSQsbi5FViwiMSIsSk0oYiksVywhMCk7dkYobixELGIpfTsKTDY9ZnVuY3Rpb24obixXLEQsYil7aWYoIW4uTnx8IW4uSilyZXR1cm4gbnVsbDt2YXIgdj1uLk4uaXNWaWV3KCk/bi5OLmskOm4uTixrPW4uSi5pc1ZpZXcoKT9uLkouayQ6bi5KLGg9bmV3IGhaKG4ubWVkaWFFbGVtZW50LG4ubWVkaWFTb3VyY2UsITApO2guaj1uLmo7dkYoaCxuZXcgeGcodixXLEQsYiksbmV3IHhnKGssVyxELGIpKTtuNihuKXx8bi5OLnlPKG4uTi5TVygpKTtyZXR1cm4gaH07CmVnMT1mdW5jdGlvbihuKXtyZXR1cm4gZTQoKFcsRCk9Pmcuc3ooVyxELDQsMUUzKSxuLHtmb3JtYXQ6IlJBVyIsCm1ldGhvZDoiR0VUIix3aXRoQ3JlZGVudGlhbHM6ITB9KX07CmcuZ3Q9ZnVuY3Rpb24obil7dmFyIFc7bi5yZXNwb25zZVR5cGUmJm4ucmVzcG9uc2VUeXBlIT09InRleHQiP24ucmVzcG9uc2VUeXBlPT09ImFycmF5YnVmZmVyIiYmKFc9cFIobmV3IFVpbnQ4QXJyYXkobi5yZXNwb25zZSkpKTpXPW4ucmVzcG9uc2VUZXh0O3JldHVybiFXfHxXLmxlbmd0aD4yMDQ4PyIiOlcuaW5kZXhPZigiaHR0cHM6Ly8iKT09PTA/VzoiIn07CmU0PWZ1bmN0aW9uKG4sVyxEKXtXLm1hdGNoKGdHcik7cmV0dXJuIG4oVyxEKS50aGVuKGI9Pnt2YXIgdj1nLmd0KGIueGhyKTtyZXR1cm4gdj9lNChuLHYsRCk6Yi54aHJ9KX07ClhKaT1mdW5jdGlvbihuLFcsRCl7aWYoIW4/LldjKCkpcmV0dXJuITE7dmFyIGI9Vy5zb21lKGg9PmgucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSInx8aC5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iKSx2PVcuc29tZShoPT5oLnByb2plY3Rpb25UeXBlPT09Ik1FU0giKSxrPVcuc29tZShoPT5oLnN0ZXJlb0xheW91dD09PTEpOwpXPVcuc29tZShoPT5oLmlzSGRyKCkpOwpuPSFEJiYhVyYmbi5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBifHx2fHxrfHxufTsKcXo9ZnVuY3Rpb24obixXLEQsYil7aWYoWEppKG4sVyxEKSlyZXR1cm4hMDtpZighbj8udE0oKXx8IVh2KG4sYikpcmV0dXJuITE7bj1XLnNvbWUodj0+di5pc0hkcigpKTsKcmV0dXJuIER8fG4/ITE6ITB9OwpxdWo9ZnVuY3Rpb24obil7cmV0dXJuIGcub00obixXPT4iRk9STUFUX1NUUkVBTV9UWVBFX09URiI9PT1XLnR5cGUpPyJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIjoiRk9STUFUX1NUUkVBTV9UWVBFX1VOS05PV04ifTsKRzNDPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uZXcgZy5HeCgiIixiLmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4pe249dFooaCxXLGsuZHVyYXRpb24sYix2KTtsZXQge0VsOngsczpMLHk3OmV9PVAwKDE1LDcwMCxoKTsoRD1SeCh4fHxoLnVybHx8IiIsZSxMKSkmJihuLnN0cmVhbVR5cGU9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/JGcoayxuZXcgcnQoRCxuKSk6JGcoayxuZXcgc2soRCxuLERKKGguaW5pdFJhbmdlKSxESihoLmluZGV4UmFuZ2UpKSkpfWsuaXNPdGY9ITA7cmV0dXJuIGt9Owp0T1o9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGIuZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj10WihoLFcsay5kdXJhdGlvbixiLHYpO0Q9REooaC5pbml0UmFuZ2UpO2xldCB4PURKKGguaW5kZXhSYW5nZSkse0VsOkwsczplLHk3Okd9PVAwKDEzLDcwMixoKSxyPVJ4KEx8fGgudXJsfHwiIixHLGUpO3ImJiRnKGssbmV3IHNrKHIsbixELHgpKX1yZXR1cm4ga307CnRaPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uLm1pbWVUeXBlfHwiIixoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO2g9aD9oLnRvU3RyaW5nKCk6IiI7eCYmKGgrPWA7JHt4fWApO3g9aDtpZihTRyhrKSl7dmFyIEw9bi53aWR0aHx8NjQwO2g9bi5oZWlnaHR8fDM2MDtsZXQgeT1uLmZwcyxUPW4ucXVhbGl0eUxhYmVsLHo9bi5xdWFsaXR5T3JkaW5hbCxDPW4uY29sb3JJbmZvLFE9bi5wcm9qZWN0aW9uVHlwZTt2YXIgZTtuLnN0ZXJlb0xheW91dCYmKGU9JDh4W24uc3RlcmVvTGF5b3V0XSk7bGV0IFY9TiQobil8fHZvaWQgMDt2YXIgRztDPy5wcmltYXJpZXMmJihHPXIkeFtDLnByaW1hcmllc118fHZvaWQgMCk7TD1uZXcgSFIoTCxoLHksUSxlLHZvaWQgMCxULHomJk56W3pdLFYsRywobi52aWRlb1RyYWNrPy5hc3NvY2lhdGVkQXVkaW9UcmFja0lkPy5sZW5ndGg/PzApPT09MCk7az1wNihrLEwsWWdbbi5pdGFnfHwiIl0pO0hGJiYoays9IjsgZW5hYmxlZmx1c2hkdXJpbmdzZWVrPXRydWUiKTsKZjYmJihrKz0iOyBlbmFibGVyZXNldGF1ZGlvZGVjb2Rlcj10cnVlIik7cXooYixbTF0sVyx2KSYmKGsrPSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUiKX12YXIgcjtpZihJZChrKSl7dmFyIE49bi5hdWRpb1NhbXBsZVJhdGU7Yj1uLmF1ZGlvVHJhY2s7Tj1uZXcgQU0oTj8rTjp2b2lkIDAsbi5hdWRpb0NoYW5uZWxzLG4uc3BhdGlhbEF1ZGlvVHlwZSxuLmlzRHJjLG4ubG91ZG5lc3NEYixuLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMsbi5hdWRpb1F1YWxpdHl8fCJBVURJT19RVUFMSVRZX1VOS05PV04iLG4uaXNWYik7YiYmKHY9Yi5kaXNwbGF5TmFtZSxlPWIuaWQsRz1iLmF1ZGlvSXNEZWZhdWx0LGI9Yi5pc0F1dG9EdWJiZWQsdiYmKHI9bmV3IHdQKHYsZXx8IiIsISFHLCEhYikpKX12YXIgSDtuLmNhcHRpb25UcmFjayYmKGI9bi5jYXB0aW9uVHJhY2suZGlzcGxheU5hbWUsdj1uLmNhcHRpb25UcmFjay52c3NJZCxlPW4uY2FwdGlvblRyYWNrLmxhbmd1YWdlQ29kZSxHPW4uY2FwdGlvblRyYWNrLmtpbmQsCmg9bi5jYXB0aW9uVHJhY2suaWQsYiYmdiYmZSYmKEg9bmV3IEtNKGIsdixlLEcsbi54dGFncyxoKSkpO2I9TnVtYmVyKG4uYml0cmF0ZSkvODt2PU51bWJlcihuLmNvbnRlbnRMZW5ndGgpO2U9TnVtYmVyKG4ubGFzdE1vZGlmaWVkKTtoPW4uZHJtRmFtaWxpZXM7Rz1uLnR5cGU7bj1OdW1iZXIobi5hcHByb3hEdXJhdGlvbk1zKTtpZihXJiZoKXt2YXIgQT17fTtmb3IobGV0IHkgb2YgaCkoaD1KWlt5XSkmJihBW2hdPVdbaF0pfXJldHVybiBuZXcgbXUoeCxrLHthdWRpbzpOLHZpZGVvOkwsa1o6cixjb250ZW50UHJvdGVjdGlvbjpBLE5zOmIsWG46RCYmdj92L0Q6MCxjb250ZW50TGVuZ3RoOnYsbGFzdE1vZGlmaWVkOmUsY2FwdGlvblRyYWNrOkgsc3RyZWFtVHlwZTpHLGFwcHJveER1cmF0aW9uTXM6bn0pfTsKczVVPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4sVz0+IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiPT09Vy5zdHJlYW1fdHlwZSk/IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiOiJGT1JNQVRfU1RSRUFNX1RZUEVfVU5LTk9XTiJ9OwpOcGo9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGI/LmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4paWYobj1JbyhoLFcsay5kdXJhdGlvbixiLHYpLEQ9UngoaC51cmwsaC5zcCxoLnMpKWlmKG4uc3RyZWFtVHlwZT09PSJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIikkZyhrLG5ldyBydChELG4pKTtlbHNle2xldCB4PW56KGguaW5pdCksTD1ueihoLmluZGV4KTskZyhrLG5ldyBzayhELG4seCxMKSl9ay5pc090Zj0hMDtyZXR1cm4ga307CnBKYj1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bmV3IGcuR3goIiIsYj8uZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj1JbyhoLFcsay5kdXJhdGlvbixiLHYpO0Q9bnooaC5pbml0KTtsZXQgeD1ueihoLmluZGV4KSxMPVJ4KGgudXJsLGguc3AsaC5zKTtMJiYkZyhrLG5ldyBzayhMLG4sRCx4KSl9cmV0dXJuIGt9OwpJbz1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bi50eXBlO3ZhciBoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO3gmJihoPW4uaXRhZysiOyIreCk7aWYoU0coaykpe3ZhciBMPShuLnNpemV8fCI2NDB4MzYwIikuc3BsaXQoIngiKTtMPW5ldyBIUigrTFswXSwrTFsxXSwrbi5mcHMsbi5wcm9qZWN0aW9uX3R5cGUsK24uc3RlcmVvX2xheW91dCx2b2lkIDAsbi5xdWFsaXR5X2xhYmVsLCtuLnF1YWxpdHlfb3JkaW5hbCxuLmVvdGYsbi5wcmltYXJpZXMsIW4udmlkZW9fdHJhY2tfYXNzb2NpYXRlZF9hdWRpb190cmFja19pZCk7az1wNihrLEwsWWdbbi5pdGFnXSk7SEYmJihrKz0iOyBlbmFibGVmbHVzaGR1cmluZ3NlZWs9dHJ1ZSIpO2Y2JiYoays9IjsgZW5hYmxlcmVzZXRhdWRpb2RlY29kZXI9dHJ1ZSIpO3F6KGIsW0xdLFcsdikmJihrKz0iOyBkZWNvZGUtdG8tdGV4dHVyZT10cnVlIil9dmFyIGU7aWYoSWQoaykpe3ZhciBHPW5ldyBBTSgrbi5hdWRpb19zYW1wbGVfcmF0ZXx8dm9pZCAwLAorbi5hdWRpb19jaGFubmVsc3x8MCxuLnNwYXRpYWxfYXVkaW9fdHlwZSwhIW4uZHJjKTtuLm5hbWUmJihlPW5ldyB3UChuLm5hbWUsbi5hdWRpb190cmFja19pZCxuLmlzRGVmYXVsdD09PSIxIixuLmlzQXV0b0R1YmJlZD09PSIxIikpfXZhciByO24uY2FwdGlvbl9kaXNwbGF5X25hbWUmJm4uY2FwdGlvbl92c3NfaWQmJm4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlJiYocj1uZXcgS00obi5jYXB0aW9uX2Rpc3BsYXlfbmFtZSxuLmNhcHRpb25fdnNzX2lkLG4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlLG4uY2FwdGlvbl9raW5kLG4ueHRhZ3Msbi5jYXB0aW9uX2lkKSk7Yj1OdW1iZXIobi5iaXRyYXRlKS84O3Y9TnVtYmVyKG4uY2xlbik7eD1OdW1iZXIobi5sbXQpO0Q9RCYmdj92L0Q6MDtpZihXJiZuLmRybV9mYW1pbGllcyl7dmFyIE49e307Zm9yKGxldCBIIG9mIG4uZHJtX2ZhbWlsaWVzLnNwbGl0KCIsIikpTltIXT1XW0hdfXJldHVybiBuZXcgbXUoaCxrLHthdWRpbzpHLHZpZGVvOkwsCmtaOmUsY29udGVudFByb3RlY3Rpb246TixOczpiLFhuOkQsY29udGVudExlbmd0aDp2LGxhc3RNb2RpZmllZDp4LGNhcHRpb25UcmFjazpyLHN0cmVhbVR5cGU6bi5zdHJlYW1fdHlwZSxhcHByb3hEdXJhdGlvbk1zOk51bWJlcihuLmFwcHJveF9kdXJhdGlvbl9tcyl9KX07Cll1aD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAiZXF1aXJlY3Rhbmd1bGFyIjpyZXR1cm4iRVFVSVJFQ1RBTkdVTEFSIjtjYXNlICJlcXVpcmVjdGFuZ3VsYXJfdGhyZWVkX3RvcF9ib3R0b20iOnJldHVybiJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iO2Nhc2UgIm1lc2giOnJldHVybiJNRVNIIjtjYXNlICJyZWN0YW5ndWxhciI6cmV0dXJuIlJFQ1RBTkdVTEFSIjtkZWZhdWx0OnJldHVybiJVTktOT1dOIn19OwpIcWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9hbWJpc29uaWNzXzVfMSI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTXzVfMSI7Y2FzZSAic3BhdGlhbF9hdWRpb190eXBlX2FtYmlzb25pY3NfcXVhZCI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTX1FVQUQiO2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9mb2Ffd2l0aF9ub25fZGllZ2V0aWMiOnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfRk9BX1dJVEhfTk9OX0RJRUdFVElDIjtkZWZhdWx0OnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSJ9fTsKZnRaPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUzQobmV3IGcuR3gobixXLEQpLG4pfTsKR189ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PmdaKDI0LDExNjQsVy5YYi5OKSl9OwpmRHc9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PiEhVy5pbmZvLnZpZGVvJiZXLmluZm8udmlkZW8uaXNIZHIoKSl9OwokZz1mdW5jdGlvbihuLFcpe24uTltXLmluZm8uaWRdPVc7bi5KLnNldChjdyhXLG4uelcpLFcpfTsKUzQ9ZnVuY3Rpb24obixXPSIiKXtuLnN0YXRlPTE7bi5TJD0oMCxnLlIpKCk7cmV0dXJuIGVnMShXfHxuLnNvdXJjZVVybCkudGhlbihEPT57aWYoIW4ucU4oKSl7bi5sTj1ELnN0YXR1cztEPUQucmVzcG9uc2VUZXh0O2xldCB2PW5ldyBET01QYXJzZXI7RD1nLmdUKHYsZy5IVihEKSwidGV4dC94bWwiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiTVBEIilbMF07bi5jSj1qeChsVChELCJtaW5pbXVtVXBkYXRlUGVyaW9kIikpKjFFM3x8SW5maW5pdHk7Yjp7aWYoRC5hdHRyaWJ1dGVzKWZvcihiIG9mIEQuYXR0cmlidXRlcylpZihiLnZhbHVlPT09Imh0dHA6Ly95b3V0dWJlLmNvbS95dC8yMDEyLzEwLzEwIil7dmFyIGI9Yi5uYW1lLnNwbGl0KCI6IilbMV07YnJlYWsgYn1iPSIifW4uaj1iO24uaXNMaXZlPW4uY0o8SW5maW5pdHkmJm4uaXNMaXZlUGxheWJhY2s7bi5ISj1OdW1iZXIobFQoRCxuLmorIjplYXJsaWVzdE1lZGlhU2VxdWVuY2UiKSl8fDA7aWYoYj1EYXRlLnBhcnNlKEN6KGxUKEQsCm4uaisiOm1wZFJlc3BvbnNlVGltZSIpKSkpbi5lJD0oKDAsZy5SKSgpLWIpLzFFMztuLmlzTGl2ZSYmRC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikubGVuZ3RoPD0wfHxnLmR6KEQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlBlcmlvZCIpLG4ueUUsbik7bi5zdGF0ZT0yO24uV0ooImxvYWRlZCIpO0FaKG4pfXJldHVybiBufSkuc1AoRD0+e2lmKEQgaW5zdGFuY2VvZiBnLiRUKXt2YXIgYj1ELnhocjsKbi5sTj1iLnN0YXR1c31uLnN0YXRlPTM7bi5XSigibG9hZGVycm9yIik7cmV0dXJuIGcucnAoYil9KX07CmcubUg9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby5OKCkpfTsKSzY9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby52aWRlbz9XLmluZm8udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSIjohMSl9OwpPaz1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOiExKX07ClBGPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRsKG4uTixXPT5XLmluZm8udmlkZW8/Vy5pbmZvLnZpZGVvLnByb2plY3Rpb25UeXBlPT09Ik1FU0giOiExKX07CkokVT1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5zdGVyZW9MYXlvdXQ9PT0xOiExKX07Ckl0aT1mdW5jdGlvbihuKXtyZXR1cm4gZy5iayhuLk4sVz0+Vy5pbmZvLnZpZGVvP1cubnUoKTohMCl9OwpaSD1mdW5jdGlvbihuLFcsRCl7Vz1nLlZmKFcuaW5mbyxuLnpXKTtpZihEKXtsZXQgYj1Nayh7aXRhZzpXLml0YWcsbG10Om4uelc/MDpXLmxtdHx8MCx4dGFnczpXLnh0YWdzfSk7aWYobi52SltiXSlyZXR1cm47bi52SltiXT1EfW4uR0MucHVzaChXKX07CnlDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bFQoVywiaWQiKTtEPUQucmVwbGFjZSgiOiIsIjsiKTt2YXIgYj1sVChXLCJtaW1lVHlwZSIpLHY9bFQoVywiY29kZWNzIik7Yj12P2Ake2J9OyBjb2RlY3M9IiR7dn0iYDpiO3Y9TnVtYmVyKGxUKFcsImJhbmR3aWR0aCIpKS84O3ZhciBrPU51bWJlcihUUChXLCJCYXNlVVJMIikuZ2V0QXR0cmlidXRlKG4uaisiOmNvbnRlbnRMZW5ndGgiKSksaD1uLmR1cmF0aW9uJiZrP2svbi5kdXJhdGlvbjowO2lmKFNHKGIpKXt2YXIgeD1OdW1iZXIobFQoVywid2lkdGgiKSksTD1OdW1iZXIobFQoVywiaGVpZ2h0IikpLGU9TnVtYmVyKGxUKFcsImZyYW1lUmF0ZSIpKTtsZXQgQT1ZdWgobFQoVyxuLmorIjpwcm9qZWN0aW9uVHlwZSIpKTthOnN3aXRjaChsVChXLG4uaisiOnN0ZXJlb0xheW91dCIpKXtjYXNlICJsYXlvdXRfbGVmdF9yaWdodCI6dmFyIEc9MTticmVhayBhO2Nhc2UgImxheW91dF90b3BfYm90dG9tIjpHPTI7YnJlYWsgYTtkZWZhdWx0Okc9CjB9Rz1uZXcgSFIoeCxMLGUsQSxHKX1pZihJZChiKSl7dmFyIHI9TnVtYmVyKGxUKFcsImF1ZGlvU2FtcGxpbmdSYXRlIikpO3ZhciBOPU51bWJlcihsVChXLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJBdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uIilbMF0sInZhbHVlIikpO3g9SHFoKGxUKFcsbi5qKyI6c3BhdGlhbEF1ZGlvVHlwZSIpKTtyPW5ldyBBTShyLE4seCk7YTp7TD1sVChXLCJsYW5nIil8fCJ1bmQiO2lmKE49VFAoVywiUm9sZSIpKWlmKGU9bFQoTiwidmFsdWUiKXx8IiIsZy5lcChVayxlKSl7Tj1gJHtMfS4ke1VrW2VdfWA7eD1lPT09Im1haW4iO249bFQoVyxuLmorIjpsYW5nTmFtZSIpfHxgJHtMfSAtICR7ZX1gO049bmV3IHdQKG4sTix4KTticmVhayBhfU49dm9pZCAwfX1pZihXPVRQKFcsIkNvbnRlbnRQcm90ZWN0aW9uIikpaWYoVy5nZXRBdHRyaWJ1dGUoInNjaGVtZUlkVXJpIik9PT0iaHR0cDovL3lvdXR1YmUuY29tL2RybS8yMDEyLzEwLzEwIil7dmFyIEg9e307Zm9yKFc9ClcuZmlyc3RDaGlsZDtXIT1udWxsO1c9Vy5uZXh0U2libGluZyl7aWYoIShXIGluc3RhbmNlb2YgRWxlbWVudCkpY29udGludWU7aWYoIS9TeXN0ZW1VUkwvLnRlc3QoVy5ub2RlTmFtZSkpY29udGludWU7bj1XLmdldEF0dHJpYnV0ZSgidHlwZSIpO3g9Vy50ZXh0Q29udGVudDtuJiZ4JiYoSFtuXT14LnRyaW0oKSl9fWVsc2UgSD12b2lkIDA7cmV0dXJuIG5ldyBtdShELGIse2F1ZGlvOnIsdmlkZW86RyxrWjpOLGNvbnRlbnRQcm90ZWN0aW9uOkgsTnM6dixYbjpoLGNvbnRlbnRMZW5ndGg6a30pfTsKQVo9ZnVuY3Rpb24obil7dmFyIFc9bi5jSjtpc0Zpbml0ZShXKSYmKEVrKG4pP24ucmVmcmVzaCgpOihXPU1hdGgubWF4KDAsbi5TJCtXLSgwLGcuUikoKSksbi5LfHwobi5LPW5ldyBnLmZfKG4ucmVmcmVzaCxXLG4pLGcudShuLG4uSykpLG4uSy5zdGFydChXKSkpfTsKdmFyIFN1eD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsNCwxNjk5LG4sVyxELGIsdixrLGgseCxMLGUpfTsKRWs9ZnVuY3Rpb24obil7cmV0dXJuIG4uaXNMaXZlJiYoMCxnLlIpKCktbi5TJD49bi5jSn07CkEkaT1mdW5jdGlvbihuKXtuPW4uTjtmb3IobGV0IFcgaW4gbil7bGV0IEQ9bltXXS5pbmRleDtpZihELmlzTG9hZGVkKCkpcmV0dXJuIEQueCQoKSsxfXJldHVybiAwfTsKaUE9ZnVuY3Rpb24obil7cmV0dXJuIG4ub1I/bi5vUi0obi5EfHxuLnRpbWVzdGFtcE9mZnNldCk6MH07CnVBPWZ1bmN0aW9uKG4pe3JldHVybiBuLkpVP24uSlUtKG4uRHx8bi50aW1lc3RhbXBPZmZzZXQpOjB9Owpvbz1mdW5jdGlvbihuKXtpZighaXNOYU4obi5UQykpcmV0dXJuIG4uVEM7dmFyIFc9bi5OO2Zvcih2YXIgRCBpbiBXKXt2YXIgYj1XW0RdLmluZGV4O2lmKGIuaXNMb2FkZWQoKSYmIVdbRF0uaW5mby5OKCkpe1c9MDtmb3IoRD1iLlpPKCk7RDw9Yi54JCgpO0QrKylXKz1iLmdldER1cmF0aW9uKEQpO1cvPWIuSDcoKTtXPU1hdGgucm91bmQoVy8uNSkqLjU7Yi5INygpPjEwJiYobi5UQz1XKTtyZXR1cm4gV31pZihuLmlzTGl2ZSYmKGI9V1tEXSxiLnJiKSlyZXR1cm4gYi5yYn1yZXR1cm4gTmFOfTsKbTh0PWZ1bmN0aW9uKG4sVyl7bj1xYyhuLk4sYj0+Yi5pbmRleC5pc0xvYWRlZCgpKTsKaWYoIW4pcmV0dXJuIE5hTjtuPW4uaW5kZXg7dmFyIEQ9bi5SMyhXKTtyZXR1cm4gbi5nZXRTdGFydFRpbWUoRCk9PT1XP1c6RDxuLngkKCk/bi5nZXRTdGFydFRpbWUoRCsxKTpOYU59Owp6eD1mdW5jdGlvbihuLFcpe2lmKCFuLk5bIjAiXSl7dmFyIEQ9bmV3IG11KCIwIiwiZmFrZXNiIix7dmlkZW86bmV3IEhSKDAsMCwwLHZvaWQgMCx2b2lkIDAsImF1dG8iKX0pO24uTlsiMCJdPVc/bmV3IGR0KG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELCJmYWtlIik6bmV3IHNrKG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELG5ldyBhQigwLDApLG5ldyBhQigwLDApKX19OwpnLmxBPWZ1bmN0aW9uKG4pe2lmKG4uaXNNYW5pZmVzdGxlc3MpZm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5kZXguc2VnbWVudHM9W119OwpUeD1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4uTil7bGV0IHY9bi5OW2JdLmluZm8uTigpfHxuLk5bYl0uaW5mby5mWSgpO0Q9PT12JiZuLk5bYl0uaW5kZXg/Lk8oVyl9fTsKajQ9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5mby5OKCl8fFBBKG4uTltXXS5pbmRleCxJbmZpbml0eSl9OwpDNj1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBoIGluIG4uTil7dmFyIGI9bi5OW2hdLmluZGV4LHY9VyxrPUQ7Yi5PVCYmKHYmJihiLnFxPU1hdGgubWF4KGIucXEsdikpLGsmJihiLkRuPU1hdGgubWF4KGIuRG58fDAsaykpKX1EJiYobi50dz1ELzFFMyl9OwpCRj1mdW5jdGlvbihuLFcsRCxiPSExKXtiJiZEPT09bi5QWHx8KG4uYmQucHVzaChXKSxuLlBYPUQsbi5XSigiY3VlcG9pbnRzYWRkZWQiLEQpKX07CktLdD1mdW5jdGlvbihuKXtuLkpVPTA7bi5vUj0wO24uSVQ9MH07CkZ2PWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRJiZuLmlzTWFuaWZlc3RsZXNzP24uaXNMaXZlSGVhZFBsYXlhYmxlOm4uaXNMaXZlfTsKcDY9ZnVuY3Rpb24obixXLEQpe3d0PT09bnVsbCYmKHd0PXdpbmRvdy5NZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMi41MS4xMC4wMS4wOS4xNi4wOS4wMCInKSYmIU1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAyLjUxLjEwLjAxLjA5Ljk5Ljk5LjAwIicpKTtpZihNeiYmd2luZG93Lk1lZGlhU291cmNlJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQhPT12b2lkIDApcmV0dXJuIHd0fHxEIT09IjkiJiZEIT09IigiP3d0fHxEIT09IjloIiYmRCE9PSIoaCJ8fChuPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicpOm49J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicsbjtpZighd3QmJiFSb3x8biE9PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInJiZuIT09J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LjIiJylyZXR1cm4gbjsKRD0iMDAiO3ZhciBiPSIwOCIsdj0iMDEiLGs9IjAxIixoPSIwMSI7bj09PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicmJihEPSIwMiIsYj0iMTAiLFcucHJpbWFyaWVzPT09ImJ0MjAyMCImJihoPXY9IjA5IiksVy5OPT09InNtcHRlMjA4NCImJihrPSIxNiIpLFcuTj09PSJhcmliLXN0ZC1iNjciJiYoaz0iMTgiKSk7cmV0dXJuYHZpZGVvL3dlYm07IGNvZGVjcz0iJHtbInZwMDkiLEQsIjUxIixiLCIwMSIsdixrLGgsIjAwIl0uam9pbigiLiIpfSJgfTsKVkM9ZnVuY3Rpb24obixXLEQpe249YCR7bn0ke1c+NDk/InA2MCI6Vz4zMj8icDQ4IjoiIn1gO1c9ZjcoKVtuXTtpZihXIT1udWxsJiZXPjApcmV0dXJuIFc7Vz1RQy5nZXQobik7aWYoVyE9bnVsbCYmVz4wKXJldHVybiBXO0Q9RD8uZ2V0KG4pO3JldHVybiBEIT1udWxsJiZEPjA/RDo4MTkyfTsKT3F4PWZ1bmN0aW9uKG4sVz0hMSl7UWh3KFcpO1ZwQyhXKTtpZihXKXtmb3IobGV0IEQgb2YgUUMua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxRQy5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIGNGLnZhbHVlcygpKUQuc3RhcnRzV2l0aCgiMSIpfHxjRi5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIG4ua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxuLmRlbGV0ZShEKX1lbHNlIFFDLmNsZWFyKCksY0YuY2xlYXIoKSxuLmNsZWFyKCl9OwpVOFo9ZnVuY3Rpb24obix7aXNPdGY6VyxtVjpELHlYOmIsSVI6dixPdzprLEhpOmgsbFU6eCxvTDpMLHhkOmUsZGlzYWJsZUF2MTpHLGRCOnJ9KXt2YXIgTj1uZXcgUGVNKG4pO2lmKG4uV1goKXx8bi5TKCJodG1sNV9sb2dnaW5nX2Zvcm1hdF9zZWxlY3Rpb24iKSlOLlc9ITA7Ti5HQz1rO04uSGk9aCYmbi5LO04ueGQ9ZTtnLnViKCJ3aW5kb3dzIG50IDUuMSIpJiYhZy5hbyYmKE4uYnY9ITApO2lmKGs9RClrPWcubk4obik/WnFTKG4pOiExO2smJihOLmNKPSEwKTt4JiYoTi5idj0hMCxOLk5kPSEwKTtXJiYhbi5TKCJodG1sNV9vdGZfcHJlZmVyX3ZwOSIpJiYoTi5idj0hMCk7bi5wbGF5ZXJTdHlsZT09PSJwaWNhc2F3ZWIiJiYoVyYmKE4uYnY9ITEpLE4udHc9ITEpO3YmJihOLmJ2PSEwKTtTSihuLlcsQVQuQ0hBTk5FTFMpJiYobi5TKCJodG1sNV9lbmFibGVfYWMzIikmJihOLmo9ITApLG4uUygiaHRtbDVfZW5hYmxlX2VhYzMiKSYmKE4uVj0hMCksbi5TKCJodG1sNV9lbmFibGVfYWMzX2dhcGxlc3MiKSYmCihOLkhKPSEwKSk7bi5TKCJodG1sNV9ibG9ja184a19oZnIiKSYmKE4uUFg9ITApO04uSz1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO04uWT1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO2cuV1gmJihOLndhPTQ4MCk7aWYoYnx8RClOLnR3PSExO04uQ3U9ITE7Ti5kaXNhYmxlQXYxPUc7Ti5KPW4uUygiaHRtbDVfbG9nX25vX2F2MV9yZWFzb24iKTtXPURLKG4sTi5OLHZvaWQgMCxOLmRpc2FibGVBdjEpO1c+MCYmVzwyMTYwJiYoVlQoKXx8bi5TKCJodG1sNV9mb3JtYXRfaHlicmlkaXphdGlvbiIpKSYmKE4uTi5zdXBwb3J0c0NoYW5nZVR5cGU9K1ZUKCksTi5uUz1XKTtXPj0yMTYwJiYoTi5lJD0hMCk7Ti5vTD1MO04uRkY9Zy5SZ3x8YzAoKSYmIUw/ITE6ITA7Ti5EPW4uUygiaHRtbDVfZm9ybWF0X2h5YnJpZGl6YXRpb24iKTtOLkJWPW4uUygiaHRtbDVfZGlzYWJsZV9lbmNyeXB0ZWRfdnA5X2xpdmVfbm9uXzJrXzRrIik7Ck4ualc9cjtyZXR1cm4gTn07CkRLPWZ1bmN0aW9uKG4sVz17fSxELGI9ITEpe2lmKGIpcmV0dXJuIFcuZGlzYWJsZWQ9MSwwO2lmKFNKKG4uVyxBVC5BVjFfQ09ERUNTKSYmU0oobi5XLEFULkhFSUdIVCkmJlNKKG4uVyxBVC5CSVRSQVRFKSlyZXR1cm4gVy5pc0NhcGFiaWxpdHlVc2FibGU9MSw4MTkyO2I9MTA4MDt2YXIgdj1uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTt2PD0yJiYoYj00ODApO1cuY29yZUNvdW50PXY7aWYodj1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZCIpKWI9V1siZGVmYXVsdCJdPXY7aWYodj1uLlcuY0opVy5tY2FwPXYsYj1NYXRoLm1heChiLHYpO2lmKEQpe2lmKHY9RC52aWRlb0luZm9zLmZpbmQoaD0+aC5NVygpKT8uaj8ucG93ZXJFZmZpY2llbnQpYj04MTkyLFcuaXNFZmZpY2llbnQ9MTsKRD1ELnZpZGVvSW5mb3NbMF0udmlkZW87bGV0IGs9TWF0aC5taW4oVkMoIjEiLEQuZnBzKSxWQygiMSIsMzApKTtXLnBlcmZDYXA9aztiPU1hdGgubWluKGIsayk7IUQuaXNIZHIoKXx8dnx8bi5adCgpLk4uUVEoeSRqKXx8KFcuaGRyPTEsYio9Ljc1KX1lbHNlIG49VkMoIjEiLDMwKSxXLnBlcmZDYXAzMD1uLGI9TWF0aC5taW4oYixuKSxuPVZDKCIxIiw2MCksVy5wZXJmQ2FwNjA9bixiPU1hdGgubWluKGIsbik7cmV0dXJuIFcuYXYxVGhyZXNob2xkPWJ9OwpySGk9ZnVuY3Rpb24obil7dmFyIFc9WyJvIiwiYSIsIkEiXTtpZihuLnhkPT09MSYmKG4uaiYmKFc9WyJtYWMzIiwiTUFDMyJdLmNvbmNhdChXKSksbi5WJiYoVz1bIm1lYWMzIiwiTUVBQzMiXS5jb25jYXQoVykpLG4uVlF8fG4uZkIpKXtsZXQgRD1bXTtuLlZRJiZELnB1c2goImkiKTtuLmZCJiZELnB1c2goIkkiKTtXPUQuY29uY2F0KFcpfW4uY0omJihXPVsic28iLCJzYSJdLmNvbmNhdChXKSk7IW4uTmR8fG4uSEp8fG4uWHx8bi5zNXx8Vy51bnNoaWZ0KCJhIik7bi5YJiYoVz0oYm9bbi5YXXx8W24uWF0pLmNvbmNhdChXKSk7cmV0dXJuIFd9OwpKSHI9ZnVuY3Rpb24obil7aWYobi5HQylyZXR1cm5bImYiXTtpZihnLnViKCJhcHBsZXR2NSIpKXJldHVybiJoIDloIDkgOCBIIChoICggKiIuc3BsaXQoIiAiKTt2YXIgVz1bIjloIiwiOSIsImgiLCI4Il07bi5ZJCYmVy5wdXNoKCIxZSIpO1c9Vy5jb25jYXQoWyIoaCIsIigiLCJIIiwiKiJdKTtuLmUkJiYoVy51bnNoaWZ0KCIxIiksVy51bnNoaWZ0KCIxaCIpKTtuLmJ2JiZXLnVuc2hpZnQoImgiKTtuLk8mJihXPShib1tuLk9dfHxbbi5PXSkuY29uY2F0KFcpKTtyZXR1cm4gV307CnZYPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93LFc9bi5NU01lZGlhS2V5cztDJCgpJiYhVyYmKFc9bi5XZWJLaXRNZWRpYUtleXMpO3JldHVybiBXJiZXLmlzVHlwZVN1cHBvcnRlZD9XOm51bGx9Owpoej1mdW5jdGlvbihuKXtyZXR1cm4gbmF2aWdhdG9yLnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcz9nLm9kJiYhZy5kOCgpP0NfKCI0NSIpOmcuUmd8fGcua2g/bi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTpnLmFvP0NfKCI0NyIpOmcuR24mJm4uRXEoImh0bWw1X2VuYWJsZV9zYWZhcmlfZmFpcnBsYXkiKT8hMTohMDohMX07CnhoPWZ1bmN0aW9uKG4pe3JldHVybiBuLlg/ITE6IW4ua2V5U3lzdGVtQWNjZXNzJiYhIXZYKCkmJm4ua2V5U3lzdGVtPT09ImNvbS5taWNyb3NvZnQucGxheXJlYWR5In07CkxOPWZ1bmN0aW9uKG4pe3JldHVybiBuLmtleVN5c3RlbT09PSJjb20ubWljcm9zb2Z0LnBsYXlyZWFkeSJ9OwplVD1mdW5jdGlvbihuKXtyZXR1cm4hbi5rZXlTeXN0ZW1BY2Nlc3MmJiEhdlgoKSYmbi5rZXlTeXN0ZW09PT0iY29tLmFwcGxlLmZwcy4xXzAifTsKZzE9ZnVuY3Rpb24obil7cmV0dXJuIG4ua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5In07CmcuWFY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmxhdm9yPT09ImZhaXJwbGF5In07CkVHQz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj16USgpLGs9KEQ9dnx8RCYmQyQoKSk/WyJjb20ueW91dHViZS5mYWlycGxheSJdOlsiY29tLndpZGV2aW5lLmFscGhhIl07VyYmay51bnNoaWZ0KCJjb20ueW91dHViZS53aWRldmluZS5sMyIpO3YmJmImJmsudW5zaGlmdCgiY29tLnlvdXR1YmUuZmFpcnBsYXkuc2JkbCIpO3JldHVybiBEP2s6bj9bLi4uaywuLi5xVi5wbGF5cmVhZHldOlsuLi5xVi5wbGF5cmVhZHksLi4ua119OwokaD1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uSi5sZW5ndGg9PT0wKW4uY2FsbGJhY2sobi5YKTtlbHNle3ZhciBXPW4uSlswXSxEPW4uV1tXXSxiPWlxdChuLEQpO0dMJiZHTC5rZXlTeXN0ZW09PT1XJiZHTC5JMT09PUpTT04uc3RyaW5naWZ5KGIpPyhuLlUoInJlbWtzYSIse3JlOiEwfSksdHoobixELEdMLmtleVN5c3RlbUFjY2VzcykpOihuLlUoInJlbWtzYSIse3JlOiExLG9rOkdMPy5rZXlTeXN0ZW0/PyIifSksR0w9dm9pZCAwLG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoVyxiKS50aGVuKFl6KHY9Pnt0eihuLEQsdixiKX0pLFl6KCgpPT57bi5qPSFuLmomJm4uV1tuLkpbMF1dLmZsYXZvcj09PSJ3aWRldmluZSI7Cm4uanx8bi5KLnNoaWZ0KCk7JGgobil9KSkpfX07Cm9Hdz1mdW5jdGlvbihuKXtpZih2WCgpJiYoZy5Hbnx8dzgpKW4uWC5wdXNoKG5ldyByMSgiZmFpcnBsYXkiLCJjb20uYXBwbGUuZnBzLjFfMCIsIiIsbi55US5leHBlcmltZW50cykpO2Vsc2V7dmFyIFc9dTFyKCksRD1nLmxfKG4uSixiPT57dmFyIHY9bi5XW2JdLGs9ITEsaD0hMTtmb3IobGV0IHggaW4gbi5OW3YuZmxhdm9yXSlXKHgsYikmJih2LkpbeF09ITAsaz1rfHx4LmluZGV4T2YoImF1ZGlvLyIpPT09MCxoPWh8fHguaW5kZXhPZigidmlkZW8vIik9PT0wKTtyZXR1cm4gayYmaH0pOwpEJiZuLlgucHVzaChuLldbRF0pO24uSj1bXX1uLmNhbGxiYWNrKG4uWCl9OwpkOGk9ZnVuY3Rpb24obixXKXtuLmNhbGxiYWNrPVc7bi5YPVtdO2h6KG4ueVEuZXhwZXJpbWVudHMpPyRoKG4pOm9HdyhuKX07CmlxdD1mdW5jdGlvbihuLFcpe3ZhciBEPXtpbml0RGF0YVR5cGVzOlsiY2VuYyIsIndlYm0iXSxhdWRpb0NhcGFiaWxpdGllczpbXSx2aWRlb0NhcGFiaWxpdGllczpbXX07aWYobi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikmJmcxKFcpKXJldHVybiBELmF1ZGlvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC41Iid9KSxELnZpZGVvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOid2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40ZDQwMGIiJ30pLFtEXTtMTihXKSYmKEQuaW5pdERhdGFUeXBlcz1bImtleWlkcyIsImNlbmMiXSk7Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKXt2YXIgYj12LmluZGV4T2YoImF1ZGlvLyIpPT09MDtsZXQgaz1iP0QuYXVkaW9DYXBhYmlsaXRpZXM6RC52aWRlb0NhcGFiaWxpdGllcztXLmZsYXZvciE9PSJ3aWRldmluZSJ8fG4uaj9rLnB1c2goe2NvbnRlbnRUeXBlOnZ9KToKYj9rLnB1c2goe2NvbnRlbnRUeXBlOnYscm9idXN0bmVzczoiU1dfU0VDVVJFX0NSWVBUTyJ9KTooZy5vZCYmZy51Yigid2luZG93cyBudCIpJiYhbi5TKCJodG1sNV9kcm1fZW5hYmxlX21vaG8iKXx8ay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IkhXX1NFQ1VSRV9BTEwifSksYj12LG4ueVEuVy5KJiZ2LmluY2x1ZGVzKCJ2cDA5IikmJihiPXYrIjsgZXhwZXJpbWVudGFsPWFsbG93ZWQiKSxrLnB1c2goe2NvbnRlbnRUeXBlOmIscm9idXN0bmVzczoiU1dfU0VDVVJFX0RFQ09ERSJ9KSxnLnNkKG4ueVEpJiYoVkgoKXx8b0soKSkmJihuLlUoInN3Y3J5cHRvIix7fSksay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IlNXX1NFQ1VSRV9DUllQVE8ifSkpKX1yZXR1cm5bRF19Owp0ej1mdW5jdGlvbihuLFcsRCxiKXtpZighbi5xTigpKXtiJiYoR0w9e2tleVN5c3RlbTpXLmtleVN5c3RlbSxrZXlTeXN0ZW1BY2Nlc3M6RCxJMTpKU09OLnN0cmluZ2lmeShiKX0pO1cua2V5U3lzdGVtQWNjZXNzPUQ7aWYoTE4oVykpe3ZhciB2PWk4KCk7Zm9yKHZhciBrIG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKVcuSltrXT0hIXYuY2FuUGxheVR5cGUoayl9ZWxzZXtrPVcua2V5U3lzdGVtQWNjZXNzLmdldENvbmZpZ3VyYXRpb24oKTtpZihrLmF1ZGlvQ2FwYWJpbGl0aWVzKWZvcih2IG9mIGsuYXVkaW9DYXBhYmlsaXRpZXMpVy5KW3YuY29udGVudFR5cGVdPSEwO2lmKGsudmlkZW9DYXBhYmlsaXRpZXMpZm9yKGxldCBoIG9mIGsudmlkZW9DYXBhYmlsaXRpZXMpVy5KW2guY29udGVudFR5cGVdPSEwfW4uWC5wdXNoKFcpO24udXNlQ29iYWx0V2lkZXZpbmV8fG4uUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZXLk4oKT8obi5KLnNoaWZ0KCksJGgobikpOm4uY2FsbGJhY2sobi5YKX19Owp1MXI9ZnVuY3Rpb24oKXt2YXIgbj12WCgpO2lmKG4pe2xldCBEPW4uaXNUeXBlU3VwcG9ydGVkO3JldHVybihiLHYpPT5EKHYsYil9dmFyIFc9aTgoKTsKcmV0dXJuIFcmJihXLmFkZEtleXx8Vy53ZWJraXRBZGRLZXkpPyhELGIpPT4hIVcuY2FuUGxheVR5cGUoRCxiKTooKT0+ITF9OwpsdGI9ZnVuY3Rpb24obixXKXtzd2l0Y2goVy5VMCl7Y2FzZSAiYm9vbCI6cmV0dXJuIG4uRXEoVy5ueCk7Y2FzZSAiaW50IjpyZXR1cm4gbj1OVihuLFcubngpLGcuJFUobik7Y2FzZSAiZG91YmxlIjpyZXR1cm4gTlYobixXLm54KTtjYXNlICJzdHJpbmciOnJldHVybiB6ZzIobixXLm54KTtjYXNlICJpbnQzMl9saXN0IjpyZXR1cm4gcE4obixXLm54KTtjYXNlICJpbnQ2NF9saXN0IjpyZXR1cm4gcE4obixXLm54KS5tYXAoRD0+Zy4kVShEKSk7CmNhc2UgInN0cmluZ19saXN0Ijp0aHJvdyBFcnJvcigiU3RyaW5nIGxpc3QgZmxhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gV1BDQyIpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gZmxhZyB0eXBlIik7fX07Ck5WPWZ1bmN0aW9uKG4sVyl7bj1uLmZsYWdzLmdldChgJHtXfWApO3JldHVybiBOdW1iZXIobil8fDB9Owp6ZzI9ZnVuY3Rpb24obixXKXtyZXR1cm4obj1uLmZsYWdzLmdldChgJHtXfWApKT9uLnRvU3RyaW5nKCk6IiJ9OwpwTj1mdW5jdGlvbihuLFcpe2lmKG49bi5mbGFncy5nZXQoYCR7V31gKSlpZihuPW4ucmVwbGFjZSgvXFsgKiguKj8pICpcXS8sIiQxIikpcmV0dXJuIG4uc3BsaXQoIiwiKS5tYXAoTnVtYmVyKTtyZXR1cm5bXX07CmcuZE09ZnVuY3Rpb24obixXLEQ9MCl7bj1uLlFRKFcpO0pTT04uc3RyaW5naWZ5KG4pO3JldHVybiBuPT09dm9pZCAwP0Q6TnVtYmVyKG4pfTsKZy5ZaD1mdW5jdGlvbihuLFcpe3JldHVybihuPW4uUVEoVykpP24udG9TdHJpbmcoKToiIn07ClRwYj1mdW5jdGlvbihuKXtpZihuPW4uUVEoImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpKWlmKG49bi5yZXBsYWNlKC9cWyAqKC4qPykgKlxdLywiJDEiKSlyZXR1cm4gbi5zcGxpdCgiLCIpLm1hcChOdW1iZXIpO3JldHVybltdfTsKSFg9ZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBuLk47aWYobi5leHBlcmltZW50SWRzLmxlbmd0aDw9MSlyZXR1cm4gbi5OPW4uZXhwZXJpbWVudElkcyxuLk47dmFyIFc9Wy4uLm4uZXhwZXJpbWVudElkc10ubWFwKEQ9Pk51bWJlcihEKSk7Clcuc29ydCgpO2ZvcihsZXQgRD1XLmxlbmd0aC0xO0Q+MDstLUQpV1tEXS09V1tELTFdO24uTj1XLm1hcChEPT5ELnRvU3RyaW5nKCkpOwpuLk4udW5zaGlmdCgidjEiKTtyZXR1cm4gbi5OfTsKTkRTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE1hcDtmb3IobGV0IGIgb2YgVy5rZXlzKCkpe2xldCB2PWIuc3BsaXQoIl8iKVswXTtuLmhhcyh2KXx8RC5zZXQoYixXLmdldChiKSl9cmV0dXJuIER9OwpZMlM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW8/LmZwc3x8MCx2PWAke259XyR7Yn1gLGs9ISFXLmF1ZGlvLGg9e2l0YWc6Vy5pdGFnLElCOm4sZVM6a307aWYoayloLm51bUNoYW5uZWxzPVcuYXVkaW8ubnVtQ2hhbm5lbHM7ZWxzZXt2YXIgeD1XLnZpZGVvO2gubWF4V2lkdGg9eD8ud2lkdGg7aC5tYXhIZWlnaHQ9eD8uaGVpZ2h0O2gubWF4RnJhbWVyYXRlPWI7aC5tYXhCaXRyYXRlQnBzPVcuTnMqODtoLno5PXg/LmlzSGRyKCl9eD1ELmdldCh2KTt4P2t8fChXPU1hdGgubWF4KHgubWF4V2lkdGh8fDAseC5tYXhIZWlnaHR8fDApPk1hdGgubWF4KGgubWF4V2lkdGh8fDAsaC5tYXhIZWlnaHR8fDApP3g6aCxuPXtpdGFnOlcuaXRhZyxJQjpuLGVTOmssbWF4V2lkdGg6TWF0aC5tYXgoeC5tYXhXaWR0aHx8MCxoLm1heFdpZHRofHwwKSxtYXhIZWlnaHQ6TWF0aC5tYXgoeC5tYXhIZWlnaHR8fDAsaC5tYXhIZWlnaHR8fDApLG1heEZyYW1lcmF0ZTpiLHo5Olcuejl9LG4ubWF4Qml0cmF0ZUJwcz0KVy5tYXhCaXRyYXRlQnBzLEQuc2V0KHYsbikpOkQuc2V0KHYsaCl9OwpPRD1mdW5jdGlvbihuLFcsRD0xKXt2YXIgYj1XLml0YWc7aWYoYj09PSIwIilyZXR1cm4hMDt2YXIgdj1XLm1pbWVUeXBlO2lmKFcuSUI9PT0iMWUiJiYhbi5YKXJldHVybiJkYXYxZW5jIjtpZihXLk1XKCkmJm4uWSlyZXR1cm4iZGF2MSI7aWYoVy52aWRlbyYmKFcudmlkZW8uaXNIZHIoKXx8Vy52aWRlby5wcmltYXJpZXM9PT0iYnQyMDIwIikmJiEoU0oobixBVC5FT1RGKXx8d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYSgiKGR5bmFtaWMtcmFuZ2U6IGhpZ2gpLCAodmlkZW8tZHluYW1pYy1yYW5nZTogaGlnaCkiKS5tYXRjaGVzfHx3aW5kb3cuc2NyZWVuLnBpeGVsRGVwdGg+MjQmJndpbmRvdy5tYXRjaE1lZGlhKCIoY29sb3ItZ2FtdXQ6IHAzKSIpLm1hdGNoZXMpKSlyZXR1cm4iZGhkciI7aWYoYj09PSIzMzgiJiYhKGcub2Q/Q18oNTMpOmcuYW8mJkNfKDY0KSkpcmV0dXJuImRvcHVzIjtEPXZHVShXLEQpO24uSiYmVy5YKCkmJihEW0FULkVYUEVSSU1FTlRBTC5uYW1lXT0KImFsbG93ZWQiKTtmb3IobGV0IHggb2YgT2JqZWN0LmtleXMoQVQpKXtsZXQgTD1BVFt4XTt2YXIgaztpZihrPURbTC5uYW1lXSlpZihrPSEoTD09PUFULkVPVEYmJlcubWltZVR5cGUuaW5kZXhPZigidnAwOS4wMiIpPjApKXtrPUw7dmFyIGg9VztrPSEobi5leHBlcmltZW50cy5FcSgiaHRtbDVfaWdub3JlX2gyNjRfZnJhbWVyYXRlX2NhcCIpJiZrPT09QVQuRlJBTUVSQVRFJiYoaC5JQj09PSJIInx8aC5JQj09PSJoIikpfWlmKGspaWYoU0oobixMKSlpZihuLmope2lmKG4ualtMLm5hbWVdPERbTC5uYW1lXSlyZXR1cm4gTC5uYW1lfWVsc2Ugdj1gJHt2fTsgJHtMLm5hbWV9PSR7RFtMLm5hbWVdfWA7ZWxzZSBpZihaTyhXKSYmTD09PUFULkVPVEYpcmV0dXJuImR2cDkyIn1uLk8mJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmVy5jb250ZW50UHJvdGVjdGlvbiYmKHYrPSI7IGhkY3A9Mi4yIik7cmV0dXJuIGI9PT0iMjI3Ij8iaHFjZW5jIjpiPT09IjU4NSJ8fApiPT09IjU4OCJ8fGI9PT0iNTgzInx8Yj09PSI1ODYifHxiPT09IjU4NCJ8fGI9PT0iNTg3Inx8Yj09PSI1OTEifHxiPT09IjU5MiI/Im5ld2h2YyI6elEoKSYmaWIoKT49MjEmJmcudWIoImFwcGxldHY1IikmJihiPT09IjQxMCJ8fGI9PT0iODQ1Iik/ITA6bi5pc1R5cGVTdXBwb3J0ZWQodik/ITA6InRwdXMifTsKU0o9ZnVuY3Rpb24obixXKXtXLm5hbWUgaW4gbi5EfHwobi5EW1cubmFtZV09ajVpKG4sVykpO3JldHVybiBuLkRbVy5uYW1lXX07CkNlVT1mdW5jdGlvbihuKXtuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyYmbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7dHlwZToibWVkaWEtc291cmNlIix2aWRlbzp7Y29udGVudFR5cGU6J3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTJNLjA4Iicsd2lkdGg6Mzg0MCxoZWlnaHQ6MjE2MCxiaXRyYXRlOjMyRTYsZnJhbWVyYXRlOjYwfX0pLnRoZW4oVz0+e1cuc21vb3RoJiZXLnBvd2VyRWZmaWNpZW50JiYobi5jSj0yMTYwKX0pfTsKZk49ZnVuY3Rpb24oKXt2YXIgbj1vSygpJiYhQ18oMjkpLFc9Zy51YigiZ29vZ2xlIHR2IikmJmcudWIoImNocm9tZSIpJiYhQ18oMzApO3JldHVybiBufHxXPyExOmNSKCl9OwpKej1mdW5jdGlvbihuLFcsRCl7dmFyIGI9NDgwLHY9MTA4MCxrO2lmKGs9bi5leHBlcmltZW50cy5adCgpLk4uUVEoQnB0KSluLlY9PT1udWxsJiYobi5WPSExLFNKKG4sQVQuV0lEVEgpJiZTSihuLEFULkhFSUdIVCkmJihuLlY9ZHkoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTdNLjA4Ijsgd2lkdGg9NzY4MDsgaGVpZ2h0PTQzMjAnKSkpLGs9bi5WO2smJih2PTIxNjApO2ZvcihsZXQgaCBvZiBXKVc9aC52aWRlby5xdWFsaXR5T3JkaW5hbCxXPD12JiZXPmImJk9EKG4saCxEKT09PSEwJiYoYj1XKTtyZXR1cm4gYn07CmcuSW49ZnVuY3Rpb24obixXPSExKXtyZXR1cm4gZk4oKSYmbi5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fCFXJiZuLmNhblBsYXlUeXBlKGk4KCksImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIpPyEwOiExfTsKd0p4PWZ1bmN0aW9uKG4pe0ZLQygoKT0+e2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhBVCkpU0oobixBVFtXXSl9KX07Cmo1aT1mdW5jdGlvbihuLFcpe2lmKG4uailyZXR1cm4hIW4ualtXLm5hbWVdO2lmKFc9PT1BVC5CSVRSQVRFJiZuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwJykmJiFuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwMCcpKXJldHVybiExO2lmKFc9PT1BVC5BVjFfQ09ERUNTKXJldHVybiBuLmlzVHlwZVN1cHBvcnRlZChgdmlkZW8vbXA0OyBjb2RlY3M9JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYHZpZGVvL21wNDsgY29kZWNzPSR7Vy52R31gKTtpZihXLnZpZGVvKXt2YXIgRD0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiJztuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjRkNDAxZSInKX1lbHNlIEQ9J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLApuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyk7cmV0dXJuIG4uaXNUeXBlU3VwcG9ydGVkKGAke0R9OyAke1cubmFtZX09JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYCR7RH07ICR7Vy5uYW1lfT0ke1cudkd9YCl9OwpTVD1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bi5XLmhhcyhXKSYmKEQ9bi5XLmdldChXKS56RSk7bi5XLnNldChXLHt6RTpEKzEsZzE6MioqKEQrMSl9KTtuLk49ITB9OwptVj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFcmJnR5cGVvZiBXPT09Im9iamVjdCIpe2xldCBrPWg9PkF6KG4saCxELGIsdik7CmlmKFlvKFcpKXJldHVybiBXLnRoZW4oayk7aWYoWUQoVykpcmV0dXJuIFNrKFcsayl9cmV0dXJuIEF6KG4sVyxELGIsdil9OwpLTj1mdW5jdGlvbihuLFcsRCxiPTEpe0Q+PTAmJihXIGluIG4uTnx8KG4uTltXXT1uZXcgTU9pKSxuLk5bV10uZEUoRCxiKSl9OwpBej1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSgwLGcuUikoKTt2PXY/dihXKTp2b2lkIDA7dmFyIGg9dj8uVF8/PzE7aCE9PTAmJktOKG4sdj8ucHJvZmlsZT8/RCxrLWIsaCk7cmV0dXJuIFd9OwpPZD1mdW5jdGlvbihuKXt2YXIgVz13aW5kb3c7Vy55d2N8fChXLnl3Yz17fSk7dmFyIEQ9Vy55d2Nbbl07aWYoRClyZXR1cm4gRDtEPXt9O3JldHVybiBXLnl3Y1tuXT1EfTsKUFg9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93O1cueXdjJiZkZWxldGUgVy55d2Nbbl19OwpSZ1U9ZnVuY3Rpb24obil7dmFyIFc9T2Qobik7aWYoVy5iaW5QKXJldHVybiBXLmJpblA7Vy5iaW5QPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmZldGNoKG4pKS50aGVuKEQ9PntpZighRC5vayl0aHJvdyBFcnJvcihgSFRUUCR7RC5zdGF0dXNUZXh0fWApOwpyZXR1cm4gRC5hcnJheUJ1ZmZlcigpfSk7ClcuYmluUC50aGVuKEQ9PntXLmJpbj1EfSwoKT0+e1BYKG4pfSk7CnJldHVybiBXLmJpblB9OwpFZD1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1aSy50WCgpLHY9biYmVWQ7aWYoIXYmJiFXKXJldHVybiBEPy4oIndhc21ucyIse3A6bj8iMSI6IjAiLGE6Vz8iMSI6IjAiLHM6VWQ/IjEiOiIwIn0pLGZsKEVycm9yKCJ3YXNtLndtLm5zIikpO3ZhciBrPW5ldyBRNXI7aWYodil0cnl7bGV0IGg9eWllbGQqUFAoVk9yKGssbikpLHg9bmV3IHlNKGgsaywhMSk7WksuZVUoIndpbml0IixiKTtEPy4oIndhc21zdyIse30pO3JldHVybiB4fWNhdGNoKGgpe2lmKEQ/Ligid2FzbWVycnciLHtlOmAke2h9YH0pLCFXKXRocm93IEVycm9yKCJ3YXNtLndtLml3Iix7Y2F1c2U6aH0pO31pZighVyl0aHJvdyBFcnJvcigid2FzbS53bS54eCIpO3RyeXtsZXQgaD15aWVsZCpQUChXKGspKSx4PW5ldyB5TSh7ZXhwb3J0czpofSxrLCEwKTtaSy5lVSgid2luaXRqcyIsYik7RD8uKCJ3YXNtc2EiLHt9KTtyZXR1cm4geH1jYXRjaChoKXt0aHJvdyBEPy4oIndhc21lcnJhIiwKe2U6YCR7aH1gfSksRXJyb3IoYHdhc20ud20uaWE6ICR7aH1gKTt9fSgpfSl9OwpWT3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28oYyR0LGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7aWYoIUQuTil0aHJvdyJ3YXNtLnBzLm5zIjt2YXIgYj15aWVsZCpQUChhdHQoRCxXKSk7aWYoIWIpdGhyb3cid2FzbS5wcy51bSI7cmV0dXJuIHlpZWxkKlBQKFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGIsbikpfSgpfSl9OwphdHQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBEPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPVtdLHY9KCk9PiJ3YXNtLnBzLmM6IFsiK2IubWFwKHg9PmAiJHt4fSJgKS5qb2luKCIsICIpKyJdIixrPU9kKFcpOwppZihrLm1vZClyZXR1cm4gay5tb2Q7aWYoay5tb2RQKXRyeXtyZXR1cm4geWllbGQqUFAoay5tb2RQKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBjbSIpfXZhciBoPWsuYmluO2lmKCFoJiZrLmJpblApdHJ5e2g9eWllbGQqUFAoay5iaW5QKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBmYiIpfWlmKCFoKXRyeXtoPXlpZWxkKlBQKFJnVShXKSl9Y2F0Y2goeCl7dGhyb3cgRC5OPSExLGIudW5zaGlmdChgZmI6ICR7eH1gKSx2KCk7fXRyeXtyZXR1cm4geWllbGQqUFAoV2ViQXNzZW1ibHkuY29tcGlsZShoKSl9Y2F0Y2goeCl7UFgoVyksYi51bnNoaWZ0KGBjYTogJHt4fWApfXRocm93IHYoKTt9KCl9KX07CmlvPWZ1bmN0aW9uKG4sVyxELGIpe0Q9bi5XVi5tZW1vcnkuY29weUluKEQpO3ZhciB2PW4uTjt2LldWLmV4cG9ydHMuQUVTMTI4Q1RSQ2lwaGVyX3NldENvdW50ZXIodi5jaXBoZXIsRC5ieXRlT2Zmc2V0KTtXPW4uV1YubWVtb3J5LmNvcHlJbihXKTtuLk4uZW5jcnlwdChXKTt2PXZvaWQgMDtpZihiKXtiPW4uV1Y7dj1uLko7bGV0IGs9Yi5tZW1vcnkuYnVmZmVyKGIubWVtb3J5Lm1hbGxvYygzMiksMzIpO2IuZXhwb3J0cy5TaGEyNTZIbWFjKHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgsRC5ieXRlT2Zmc2V0LEQuYnl0ZUxlbmd0aCxXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoLGsuYnl0ZU9mZnNldCk7dj1uLldWLm1lbW9yeS5tb3ZlT3V0KGspfW4uV1YubWVtb3J5LmZyZWUoRC5ieXRlT2Zmc2V0KTtyZXR1cm57RzQ6bi5XVi5tZW1vcnkubW92ZU91dChXKSxzaWduYXR1cmU6dn19OwpuWUM9ZnVuY3Rpb24obil7bi5FaC5leHBvcnRzLlRyYWNrZWRQb2ludGVyX3JlbGVhc2Uobi5pZCl9Owpvbj1mdW5jdGlvbihuKXtuLlh8fChuLlg9bmV3IHVvKG4uSikpO3JldHVybiBuLlh9OwpnLmQxPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gbHAobil9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKekw9ZnVuY3Rpb24obil7dmFyIFc9SG4oKTtpZihXLnZhbHVlcyl7Vz1XLnZhbHVlcztsZXQgaD17fTtmb3IodmFyIEQgb2YgT2JqZWN0LmtleXMobi52YWx1ZXMpKXtXW0RdJiZuLkpbRF0mJihuLnZhbHVlc1tEXSs9V1tEXS1uLkpbRF0pO3ZhciBiPW4sdj1iO2lmKCF2LnZhbHVlc1tEXSl7dmFyIGs9SG4oKTt2LnZhbHVlcz1rLnZhbHVlc3x8e307di5GWT1rLmhhbGZMaXZlc3x8e307di5KPWsudmFsdWVzP09iamVjdC5hc3NpZ24oe30say52YWx1ZXMpOnt9fWhbRF09Yi52YWx1ZXNbRF0mJmIuRllbRF0/Yi52YWx1ZXNbRF0vMioqKGIuTi9iLkZZW0RdKTowfW4uSj1ofUQ9bi5GWTtXPXt9O1cudmFsdWVzPW4uSjtXLmhhbGZMaXZlcz1EO2cuUEIoInl0LXBsYXllci1tZW1vcnkiLFcsMjU5MkUzKX07Clh2PWZ1bmN0aW9uKG4sVyl7cmV0dXJuISFXJiYhIW4uWnQoKS5OLlFRKFdJTSkmJihXLnN0YXJ0c1dpdGgoImciKXx8Vy5zdGFydHNXaXRoKCJsIikpfTsKZy5zZD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iTVdFQiJ9OwpUTD1mdW5jdGlvbihuKXtuLmdUPT09bnVsbCYmKG4uZ1Q9d2luZG93Lk1lZGlhU291cmNlJiZ3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkP3dpbmRvdy5NZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUnKTohMSk7cmV0dXJuIG4uZ1R9OwpqVD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9TSU1QTFlfRU1CRURERURfUExBWUVSIn07CmcubzQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uSiYmZy5DTihuKSYmIUJYKG4pJiYhbi5YfTsKQlg9ZnVuY3Rpb24obil7cmV0dXJuIG4uWT09PSJhZHVuaXQifHxuLnBsYXllclN0eWxlPT09Imd2biJ9OwpGVj1mdW5jdGlvbihuKXtyZXR1cm4gbi5ZPT09ImRldGFpbHBhZ2UifTsKZy53MT1mdW5jdGlvbihuKXtyZXR1cm4gdzgmJiFuLnhofHxnLnViKCJuaW50ZW5kbyB3aWl1Iik/ITA6ITF9OwpnLkNOPWZ1bmN0aW9uKG4pe3JldHVybiBuLlk9PT0iZW1iZWRkZWQifTsKZy5NVj1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX1JFTUlYIn07ClFNPWZ1bmN0aW9uKG4pe2lmKCFuLndlYlBsYXllckNvbnRleHRDb25maWc/LmVtYmVkc0hvc3RGbGFncz8uZW5hYmxlTGl0ZVV4fHxuLnZKfHxuLlh8fG4uRHx8bi5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiKXJldHVybiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX05PTkUiO249Zy5kTShuLmV4cGVyaW1lbnRzLCJlbWJlZHNfd2ViX2xpdGVfbW9kZSIpO3JldHVybiBuPT09dm9pZCAwPyJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04iOm4+PTAmJm48Um4ubGVuZ3RoP1JuW25dOiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04ifTsKY1g9ZnVuY3Rpb24obixXLEQ9ITEpe24uUyQ9Yk8obi5TJCxXLnZpZGVvX2lkKTtuLmZCPWJPKG4uZkIsVy5ldmVudGlkKTtuLmZCJiYod289bi5mQik7dmFyIGI9W107Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKFZNKSl7bGV0IGs9Vk1bdl0saD1XW2tdO2ghPW51bGwmJihoIT09bi5OW2tdJiZiLnB1c2goayksbi5OW2tdPWgpfSFEJiZiLmxlbmd0aD4wJiZuLm9NJiYoYi5zb3J0KCksZy5HcShuZXcgZy5ReCgiUGxheWVyIGNsaWVudCBwYXJhbWV0ZXJzIGNoYW5nZWQgYWZ0ZXIgc3RhcnR1cCIsYikpKTtuLnVzZXJBZ2U9REkobi51c2VyQWdlLFcudXNlcl9hZ2UpO24udXNlckRpc3BsYXlJbWFnZT1iTyhuLnVzZXJEaXNwbGF5SW1hZ2UsVy51c2VyX2Rpc3BsYXlfaW1hZ2UpO2cuakkobi51c2VyRGlzcGxheUltYWdlKXx8KG4udXNlckRpc3BsYXlJbWFnZT0iIik7bi51c2VyRGlzcGxheU5hbWU9Yk8obi51c2VyRGlzcGxheU5hbWUsVy51c2VyX2Rpc3BsYXlfbmFtZSk7bi55dz1iTyhuLnl3LApXLnVzZXJfZ2VuZGVyKTtuLmNzaVBhZ2VUeXBlPWJPKG4uY3NpUGFnZVR5cGUsVy5jc2lfcGFnZV90eXBlKTtuLmNzaVNlcnZpY2VOYW1lPWJPKG4uY3NpU2VydmljZU5hbWUsVy5jc2lfc2VydmljZV9uYW1lKTtuLmVWPW55KG4uZVYsVy5lbmFibGVjc2kpO24ucGFnZUlkPWJPKG4ucGFnZUlkLFcucGFnZWlkKTtpZihEPVcuZW5hYmxlZF9lbmdhZ2VfdHlwZXMpbi5lbmFibGVkRW5nYWdlVHlwZXM9bmV3IFNldChELnNwbGl0KCIsIikpO1cubGl2aW5nX3Jvb21fc2Vzc2lvbl9wb190b2tlbiYmKG4ualc9Vy5saXZpbmdfcm9vbV9zZXNzaW9uX3BvX3Rva2VuLnRvU3RyaW5nKCkpfTsKZy5hbj1mdW5jdGlvbihuKXtyZXR1cm4vd2ViL2kudGVzdChsbyhuKSl9Owpsbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmN9OwpjOT1mdW5jdGlvbihuLFcpe3JldHVybiFuLlgmJm9LKCkmJkNfKDU1KSYmbi5jb250cm9sc1R5cGU9PT0iMyImJiFXfTsKV0U9ZnVuY3Rpb24obil7bj1nLm5FKG4uRGEpO3JldHVybiBuPT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSI/Ind3dy55b3V0dWJlLmNvbSI6bn07CmcuRGY9ZnVuY3Rpb24obil7cmV0dXJuIGxvKG4pPT09IldFQl9VTlBMVUdHRUQifTsKYmk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLnByb3RvY29sKyI6Ly9pMS55dGltZy5jb20vdmkvIitXKyIvIisoRHx8ImhxZGVmYXVsdC5qcGciKX07CnZFPWZ1bmN0aW9uKG4pe3JldHVybiBGVihuKSYmIWcuRGYobil9OwpnLms2PWZ1bmN0aW9uKG4pe3JldHVybi9eVFZIVE1MNS8udGVzdChsbyhuKSl9OwpodT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9DQVNUInx8bG8obik9PT0iVFZIVE1MNSImJihuLk4uY3Zlci5zdGFydHNXaXRoKCI2LjIwMTMwNzI1Iil8fG4uTi5jdmVyLnN0YXJ0c1dpdGgoIjYuMjAxMzA3MjYiKSl9OwpnLng2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1In07CkxFPWZ1bmN0aW9uKG4pe3JldHVybiBuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QgVUxUUkEvU1RFQUsifHxuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QvU1RFQUsifTsKZy5IXz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjF9OwpnLmVNPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKS50b1VwcGVyQ2FzZSgpPT09IldFQiJ9OwpnLlhDPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfS0lEUyJ9OwpnLnFGPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1X1VOUExVR0dFRCJ9OwpnLkdsPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRmKG4pfHxsbyhuKT09PSJUVl9VTlBMVUdHRURfQ0FTVCJ8fGcucUYobil9Owp0dT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX01VU0lDX0lOVEVHUkFUSU9OUyJ9OwpnLiQ2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfRU1CRURERURfUExBWUVSIn07Cmcubk49ZnVuY3Rpb24obil7cmV0dXJuKG4uZGV2aWNlSXNBdWRpb09ubHl8fCFnLm9kfHxnLk1MfHxuLmNvbnRyb2xzVHlwZT09PSIzIj8hMTpnLlFIP24uSiYmZy5aWCg1MSk6ITApfHwobi5kZXZpY2VJc0F1ZGlvT25seXx8IWcuYW98fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDQ4KTpnLlpYKDM4KSl8fChuLmRldmljZUlzQXVkaW9Pbmx5fHwhcmN8fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDM3KTpnLlpYKDI3KSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLnNtJiYhRm4oKSYmZy5aWCgxMSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLkduJiZnLlpYKCI2MDQuNCIpfHxuLldjKCl9OwpacVM9ZnVuY3Rpb24obil7aWYoZy5DTihuKSYmTkYpcmV0dXJuITE7aWYoZy5hbyl7aWYoIWcuWlgoNDcpfHwhZy5aWCg1MikmJmcuWlgoNTEpKXJldHVybiExfWVsc2UgaWYoZy5HbilyZXR1cm4hMTtyZXR1cm4gd2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dD8hMDohMX07CmcucEU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5lbmFibGVkRW5nYWdlVHlwZXMuaGFzKFcudG9TdHJpbmcoKSl8fER2aS5pbmNsdWRlcyhXKX07CnZZaj1mdW5jdGlvbihuKXt2YXIgVz1XRShuKTtiVmkuaW5jbHVkZXMoVykmJihXPSJ3d3cueW91dHViZS5jb20iKTtyZXR1cm4gbi5wcm90b2NvbCsiOi8vIitXfTsKZy5IRT1mdW5jdGlvbihuLFc9IiIpe2lmKG4uSFkpe2xldCBEPW5ldyBZNixiLHY9bi5IWSgpO3Yuc2lnbmVkT3V0P2I9IiI6di50b2tlbj9iPXYudG9rZW46di5wZW5kaW5nUmVzdWx0LnRoZW4oaz0+e3Yuc2lnbmVkT3V0P0QucmVzb2x2ZSgiIik6RC5yZXNvbHZlKGsudG9rZW4pfSxrPT57Zy5HcShuZXcgZy5ReCgiYjE4OTM0ODMyOF9vYXV0aF9jYWxsYmFja19mYWlsZWQiLHtlcnJvcjprfSkpOwpELnJlc29sdmUoVyl9KTsKcmV0dXJuIGIhPT12b2lkIDA/Zy5IMChiKTpuZXcgTlgoRCl9cmV0dXJuIGcuSDAoVyl9OwpmRT1mdW5jdGlvbihuLFc9IiIpe3JldHVybiBuLllyP0hQKCEwKTpLbChTayhIUChnLkhFKG4sVykpLEQ9PkhQKCEhRCkpLCgpPT5IUCghMSkpfTsKSnU9ZnVuY3Rpb24obixXKXtpZihuLldWPVcpbi5QWD8uTj8uVihXKSxXLmlzQXNtanM/bi5reS5wdXNoKCJhc21qcyIpOm4ua3kucHVzaCgid2FzbSIpfTsKZy5uRT1mdW5jdGlvbihuKXt2YXIgVz1nLklQKG4pO3JldHVybihuPU51bWJlcihnLmZwKG4pWzRdfHxudWxsKXx8bnVsbCk/YCR7V306JHtufWA6V307ClNNPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9WWdbbl0sYj1JQVtEXSx2PWtIcltuXTtpZighdnx8IWIpcmV0dXJuIG51bGw7Vz1uZXcgSFIoVz92LmhlaWdodDp2LndpZHRoLFc/di53aWR0aDp2LmhlaWdodCx2LmZwcyk7Yj1wNihiLFcsRCk7cmV0dXJuIG5ldyBtdShuLGIse3ZpZGVvOlcsTnM6di5iaXRyYXRlLzh9KX07CkF1PWZ1bmN0aW9uKG4pe3ZhciBXPUlBW1lnW25dXSxEPWhFU1tuXTtyZXR1cm4gRCYmVz9uZXcgbXUobixXLHthdWRpbzpuZXcgQU0oRC5hdWRpb1NhbXBsZVJhdGUsRC5udW1DaGFubmVscyl9KTpudWxsfTsKVlA9ZnVuY3Rpb24obixXLEQsYil7aWYoRClyZXR1cm4gZy5wJCgpO0Q9e307dmFyIHY9aTgoKTtmb3IobGV0IGsgb2YgVylpZihuLmNhblBsYXlUeXBlKHYsay5rTCgpLm1pbWVUeXBlKXx8YilpZihXPWsuTi52aWRlby5xdWFsaXR5LCFEW1ddfHxEW1ddLmtMKCkucUgoKSlEW1ddPWs7bj1bXTtELmF1dG8mJm4ucHVzaChELmF1dG8pO2ZvcihsZXQgayBvZiBwTSkoYj1EW2tdKSYmbi5wdXNoKGIpO3JldHVybiBuLmxlbmd0aD9nLkgwKG4pOmcucCQoKX07CktFPWZ1bmN0aW9uKG4sVz0hMSxEPSEwLGI9e30pe3ZhciB2PXt9O2ZvcihsZXQgaCBvZiBuKXtpZihXJiZNZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiYobj1oLnR5cGUsaC5hdWRpb19jaGFubmVscyYmKG49bisiOyBjaGFubmVscz0iK2guYXVkaW9fY2hhbm5lbHMpLCFNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobikpKXtiW2guaXRhZ109InRwdXMiO2NvbnRpbnVlfWlmKCFEJiZoLmRybV9mYW1pbGllcyYmKGguZW90Zj09PSJzbXB0ZTIwODQifHxoLmVvdGY9PT0iYXJpYi1zdGQtYjY3Iikpe2JbaC5pdGFnXT0iZW5jaGRyIjtjb250aW51ZX1uPXZvaWQgMDtsZXQgeD17YnQ3MDk6IlNEUiIsYnQyMDIwOiJTRFIiLHNtcHRlMjA4NDoiUFEiLCJhcmliLXN0ZC1iNjciOiJITEcifTt2YXIgaz1oLnR5cGUubWF0Y2goL2NvZGVjcz0iKFteIl0qKSIvKTtrPWs/a1sxXToiIjtoLmF1ZGlvX3RyYWNrX2lkJiYobj1uZXcgd1AoaC5uYW1lLGguYXVkaW9fdHJhY2tfaWQsCiEhaC5pc19kZWZhdWx0KSk7bGV0IEw9aC5lb3RmO249bmV3IG04KHtpdGFnOmguaXRhZyx1cmw6aC51cmwsY29kZWNzOmssd2lkdGg6TnVtYmVyKGgud2lkdGgpLGhlaWdodDpOdW1iZXIoaC5oZWlnaHQpLGZwczpOdW1iZXIoaC5mcHMpLGJpdHJhdGU6TnVtYmVyKGguYml0cmF0ZSksYXVkaW9JdGFnOmguYXVkaW9faXRhZyxVaDpMP3hbTF06dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOmguZHJtX2ZhbWlsaWVzLGtaOm4sYXVkaW9DaGFubmVsczpOdW1iZXIoaC5hdWRpb19jaGFubmVscyl9KTt2W24uaXRhZ109dltuLml0YWddfHxbXTt2W24uaXRhZ10ucHVzaChuKX1yZXR1cm4gdn07CnZhciB4dlU9ZnVuY3Rpb24obixXKXtyZXR1cm4gZ1pbSVsxMF1dKHRoaXMsMSw3ODUyLG4sVyl9OwpMSUM9ZnVuY3Rpb24obixXKXtuLlcuc29tZShEPT5ELmtaPy5nZXRJZCgpPT09Vyk7Cm4uTj1XfTsKZUVpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9W107Zm9yKGxldCBiIG9mIG4uSiliLmJpdHJhdGU8PW4uWD9XLnB1c2goYik6RC5wdXNoKGIpO1cuc29ydCgoYix2KT0+di5iaXRyYXRlLWIuYml0cmF0ZSk7CkQuc29ydCgoYix2KT0+Yi5iaXRyYXRlLXYuYml0cmF0ZSk7Cm4uSj1XLmNvbmNhdChEKX07Ck9tPWZ1bmN0aW9uKG4sVyxEKXtuLmNwbiYmKFc9Zy5FVChXLHtjcG46bi5jcG59KSk7RCYmKFc9Zy5FVChXLHt2WjpEfSkpO3JldHVybiBXfTsKUEU9ZnVuY3Rpb24obixXKXtuPW4uaXRhZy50b1N0cmluZygpO1chPT1udWxsJiYobis9Vy5pdGFnLnRvU3RyaW5nKCkpO3JldHVybiBufTsKZ1laPWZ1bmN0aW9uKG4sVyl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gbnVsbDtuPUtFKFcsbi5TKCJodG1sNV9maWx0ZXJfZm1wNF9pbl9obHMiKSk7aWYoIW4pcmV0dXJuIG51bGw7Vz1bXTt2YXIgRD17fTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobikpZm9yKGxldCB2IG9mIG5bYl0paWYodi5rWil7bGV0IGs9di5rWi5nZXRJZCgpO2lmKCFEW2tdKXtsZXQgaD1uZXcgV0Eoayx2LmtaKTtEW2tdPWg7Vy5wdXNoKGgpfX1yZXR1cm4gVy5sZW5ndGg+MD9XOm51bGx9Owp0bU09ZnVuY3Rpb24obixXLEQsYix2LGssaCl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gZy5wJCgpO3ZhciB4PXt9LEw9WDNTKEQpLGU9S0UoRCxuLlMoImh0bWw1X2ZpbHRlcl9mbXA0X2luX2hscyIpLG4uVy5LLHgpO2lmKCFlKXJldHVybiBoKHtub3Bsc3Q6MX0pLGcucCQoKTtxbGgoZSk7dmFyIEc9e2ZhaXJwbGF5OiJodHRwczovL3lvdXR1YmUuY29tL2FwaS9kcm0vZnBzP2VrPXVuaW5pdGlhbGl6ZWQifSxyO0Q9W107dmFyIE49W10sSD1bXSxBPW51bGwseT0iIjtiPWImJmIubWF0Y2goL2hsc190aW1lZHRleHRfcGxheWxpc3QvKT9uZXcgbTgoe2l0YWc6IjAiLHVybDpiLGNvZGVjczoidnR0Iix3aWR0aDowLGhlaWdodDowLGZwczowLGJpdHJhdGU6MCxrWjpuZXcgd1AoIkVuZ2xpc2giLCJlbiIsITEpfSk6bnVsbDtmb3IobGV0IFEgb2YgT2JqZWN0LmtleXMoZSkpaWYoIW4uUygiaHRtbDVfZGlzYWJsZV9kcm1faGZyXzEwODAiKXx8USE9PSIzODMiJiZRIT09IjM3MyIpZm9yKGxldCBWIG9mIGVbUV0paWYoVi53aWR0aCl7Zm9yKGxldCBIWiBvZiBWLkopaWYoZVtIWl0pe1YuTj0KSFo7YnJlYWt9Vi5OfHwoVi5OPUdIdChlLFYpKTtsZXQgTHQ9ZVtWLk5dO2lmKCFMdCljb250aW51ZTtELnB1c2goVik7Vi5jb250ZW50UHJvdGVjdGlvbj09PSJmYWlycGxheSImJihyPUcpO2xldCB0aT0iIjtWLlVoPT09IlBRIj90aT0ic21wdGUyMDg0IjpWLlVoPT09IkhMRyImJih0aT0iYXJpYi1zdGQtYjY3Iik7dGkmJih5PXRpKTtILnB1c2goWmYoTHQsW1ZdLGIsayxWLml0YWcsVi53aWR0aCxWLmhlaWdodCxWLmZwcyxMLHZvaWQgMCx2b2lkIDAscix0aSkpO2lmKCFBfHxWLndpZHRoKlYuaGVpZ2h0KlYuZnBzPkEud2lkdGgqQS5oZWlnaHQqQS5mcHMpQT1WfWVsc2UgTi5wdXNoKFYpO2Vsc2UgeFtRXT0iZGlzZHJtaGZyIjtILnJlZHVjZSgoUSxWKT0+Vi5rTCgpLmlzRW5jcnlwdGVkKCkmJlEsITApJiYocj1HKTsKdj1NYXRoLm1heCh2LDApO3ZhciB7ZnBzOlQ9MCx3aWR0aDp6PTAsaGVpZ2h0OkM9MH09QXx8e307QT1uLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKTtILnB1c2goWmYoTixELGIsaywiOTMiLHosQyxULEwsImF1dG8iLHYscix5LEEpKTtPYmplY3QuZW50cmllcyh4KS5sZW5ndGgmJmgoeCk7cmV0dXJuIFZQKG4uVyxILGM5KG4sVyksITEpfTsKWmY9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSxHLHIsTixIKXt2YXIgQT0wLHk9IiI7Zm9yKGxldCBUIG9mIG4peXx8KHk9VC5pdGFnKSxULmF1ZGlvQ2hhbm5lbHMmJlQuYXVkaW9DaGFubmVscz5BJiYoQT1ULmF1ZGlvQ2hhbm5lbHMseT1ULml0YWcpO3Y9bmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2F1ZGlvOm5ldyBBTSgwLEEpLHZpZGVvOm5ldyBIUihrLGgseCxudWxsLHZvaWQgMCxlLHZvaWQgMCx2b2lkIDAsTiksY29udGVudFByb3RlY3Rpb246cixBYTp5fSk7bj1uZXcgJHYxKG4sVyxEP1tEXTpbXSxiLCEhSCk7bi5YPUc/RzoxMzY5ODQzO3JldHVybiBuZXcgVW0odixuLEwpfTsKWDNTPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuKWlmKFcudXJsJiYobj1XLnVybC5zcGxpdCgiZXhwaXJlLyIpLCEobi5sZW5ndGg8PTEpKSlyZXR1cm4rblsxXS5zcGxpdCgiLyIpWzBdO3JldHVybiBOYU59OwpHSHQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgT2JqZWN0LmtleXMobikpe2xldCBiPW5bRF1bMF07aWYoIWIud2lkdGgmJmIuY29udGVudFByb3RlY3Rpb249PT1XLmNvbnRlbnRQcm90ZWN0aW9uJiYhYi5hdWRpb0NoYW5uZWxzKXJldHVybiBEfXJldHVybiIifTsKcWxoPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBTZXQ7Zm9yKHZhciBEIG9mIE9iamVjdC52YWx1ZXMobikpaWYoRC5sZW5ndGgpe3ZhciBiPURbMF07Yi5oZWlnaHQmJmIuY29kZWNzLnN0YXJ0c1dpdGgoInZwMDkiKSYmVy5hZGQoYi5oZWlnaHQpfUQ9W107aWYoVy5zaXplKWZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhuKSluW3ZdLmxlbmd0aCYmKGI9blt2XVswXSxiLmhlaWdodCYmVy5oYXMoYi5oZWlnaHQpJiYhYi5jb2RlY3Muc3RhcnRzV2l0aCgidnAwOSIpJiZELnB1c2godikpO2ZvcihsZXQgdiBvZiBEKWRlbGV0ZSBuW3ZdfTsKcnFaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHYgb2YgRCl7aWYoIXZ8fCF2LnVybCljb250aW51ZTtEPVFQKHYudHlwZSwibWVkaXVtIiwiMCIpO2IucHVzaChuZXcgeW4oRCx2LnVybCkpfXJldHVybiBWUChuLlcsYixjOShuLFcpLCExKX07CnNpcj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdLGI9UVAoVy50eXBlLCJhdXRvIixXLml0YWcpO0QucHVzaChuZXcgeW4oYixXLnVybCkpO3JldHVybiBWUChuLlcsRCwhMSwhMCl9OwppaT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmRW1bbl0/RW1bbl06bnVsbH07CnVpPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJtdWx0aXZpZXcudXN0cmVhbWVyX2Rpc2FibGVkIjpjYXNlICJzYWJyLmludmFsaWRfaW5wdXRfc3RyZWFtIjpjYXNlICJzYWJyLmxpdmVfbm9fbWF4X3NxIjpjYXNlICJzYWJyLmxpdmVfdW5hdXRob3JpemVkX3JlcXVlc3QiOmNhc2UgInNhYnIubWFsZm9ybWVkX2NvbmZpZyI6Y2FzZSAic2Fici5tZWRpYV9zZXJ2aW5nX2VuZm9yY2VtZW50X2lkX2Vycm9yIjpjYXNlICJzYWJyLm1ldGFkYXRhX2ZldGNoZXJfZXJyb3IiOmNhc2UgInNhYnIubm9fYXVkaW9fc2VsZWN0ZWQiOmNhc2UgInNhYnIubm9fYXZhaWxhYmxlX2Zvcm1hdHMiOmNhc2UgInNhYnIubm9fcmVkaXJlY3RfdXJsIjpjYXNlICJzYWJyLm5vX3ZpZGVvX3NlbGVjdGVkIjpjYXNlICJzYWJyLm90Zl9ub3Rfc3VwcG9ydGVkIjpjYXNlICJzYWJyLnRvb19tYW55X2NodW5rX3JlYWRlcl9lcnJvcl9yZXRyaWVzIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiJzYWJyLmNvbmZpZyJ9fTsKb0E9ZnVuY3Rpb24obixXKXtpZihXPVc/LndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRPbmVzaWVDb25maWc/Lmh0bWw1UGxheWJhY2tPbmVzaWVDb25maWcpbi5RYT1uZXcgTiR3KFcpfTsKVGw9ZnVuY3Rpb24obixXLEQsYil7bnx8KG49VyYmZGMuaGFzT3duUHJvcGVydHkoVykmJnpsLmhhc093blByb3BlcnR5KFcpP3psW1ddKyJfIitkY1tXXTp2b2lkIDApO1c9bjtpZighVylyZXR1cm4gbnVsbDtuPVcubWF0Y2gobGkpO2lmKCFufHxuLmxlbmd0aCE9PTUpcmV0dXJuIG51bGw7e2xldCBrPVcubWF0Y2gobGkpO2lmKGspe249TnVtYmVyKGtbM10pO3ZhciB2PVs3LDgsMTAsNSw2XTtuPSEoTnVtYmVyKGtbMV0pPT09MSYmbj09PTgpJiZ2LmluZGV4T2Yobik+PTB9ZWxzZSBuPSExfXJldHVybiBEfHxifHxuP1c6bnVsbH07CkNFPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKGpNKSl7dmFyIGI9Vz9XK3Y6djtiPW5bYisiX3dlYnAiXXx8bltiXTtnLmpJKGIpJiYoRFtqTVt2XV09Yil9cmV0dXJuIER9Owp3Yz1mdW5jdGlvbihuKXt2YXIgVz17fTtpZighbnx8IW4udGh1bWJuYWlscylyZXR1cm4gVztuPW4udGh1bWJuYWlscy5maWx0ZXIodj0+ISF2LnVybCk7Cm4uc29ydCgodixrKT0+di53aWR0aC1rLndpZHRofHx2LmhlaWdodC1rLmhlaWdodCk7CmZvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhCRSkpe3ZhciBiPU51bWJlcihEKTtsZXQgdj1CRVtiXTtmb3IobGV0IGsgb2YgbilpZihrLndpZHRoPj1iKXtiPUZDKGsudXJsKTtnLmpJKGIpJiYoV1t2XT1iKTticmVha319KEQ9bi5wb3AoKSkmJkQud2lkdGg+PTEyODAmJihEPUZDKEQudXJsKSxnLmpJKEQpJiYoV1sibWF4cmVzZGVmYXVsdC5qcGciXT1EKSk7cmV0dXJuIFd9OwpGQz1mdW5jdGlvbihuKXtyZXR1cm4gbi5zdGFydHNXaXRoKCIvLyIpPyJodHRwczoiK246bn07Ck1GPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmJhc2VVcmx8fCIifTsKUkE9ZnVuY3Rpb24obil7bj1nLm9FKG4pO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSl7bGV0IEQ9bltXXTtuW1ddPUFycmF5LmlzQXJyYXkoRCk/RFswXTpEfXJldHVybiBufTsKWWx3PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEIG9mIFcpaWYoVz1ELnBsYXllckFubm90YXRpb25zVXJsc1JlbmRlcmVyKXtXLmFkc09ubHkmJihuLlJtPSEwKTtpZihEPVcubG9hZFBvbGljeSluLmFubm90YXRpb25zTG9hZFBvbGljeT1wM01bRF07aWYoRD1XLmludmlkZW9Vcmwpbi5lYT1GTihEKTtuLnk1PSEwO2JyZWFrfX07ClFuPWZ1bmN0aW9uKG4sVyl7bi5ib3RndWFyZERhdGE9Vy5wbGF5ZXJBdHRlc3RhdGlvblJlbmRlcmVyLmJvdGd1YXJkRGF0YTtXPVcucGxheWVyQXR0ZXN0YXRpb25SZW5kZXJlci5jaGFsbGVuZ2U7VyE9bnVsbCYmKG4ucEs9Vyl9OwpIVng9ZnVuY3Rpb24obixXKXtuLmNhcHRpb25UcmFja3M9W107aWYoVy5jYXB0aW9uVHJhY2tzKWZvcih2YXIgRCBvZiBXLmNhcHRpb25UcmFja3Mpe3ZhciBiPVZuKEQuYmFzZVVybCk7aWYoIWIpcmV0dXJuO2I9e2lzX3RyYW5zbGF0ZWFibGU6ISFELmlzVHJhbnNsYXRhYmxlLGxhbmd1YWdlQ29kZTpELmxhbmd1YWdlQ29kZSxsYW5ndWFnZU5hbWU6RC5uYW1lJiZnLkRwKEQubmFtZSksdXJsOmIsdnNzX2lkOkQudnNzSWQsa2luZDpELmtpbmR9O2IubmFtZT1ELnRyYWNrTmFtZTtiLmRpc3BsYXlOYW1lPUQubmFtZSYmZy5EcChELm5hbWUpO24uY2FwdGlvblRyYWNrcy5wdXNoKG5ldyBnLlF3KGIpKX1uLlR3PVcuYXVkaW9UcmFja3N8fFtdO24uTyQ9Vy5kZWZhdWx0QXVkaW9UcmFja0luZGV4fHwwO24ucnA9W107aWYoVy50cmFuc2xhdGlvbkxhbmd1YWdlcylmb3IobGV0IHYgb2YgVy50cmFuc2xhdGlvbkxhbmd1YWdlcyl7RD17fTtELmxhbmd1YWdlQ29kZT12Lmxhbmd1YWdlQ29kZTsKRC5sYW5ndWFnZU5hbWU9Zy5EcCh2Lmxhbmd1YWdlTmFtZSk7aWYodi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyl7RC50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcz1bXTtmb3IobGV0IGsgb2Ygdi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcylELnRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzLnB1c2goayl9aWYodi5leGNsdWRlQXVkaW9UcmFja0luZGljZXMpe0QuZXhjbHVkZUF1ZGlvVHJhY2tJbmRpY2VzPVtdO2ZvcihsZXQgayBvZiB2LmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcylELmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcy5wdXNoKGspfW4ucnAucHVzaChEKX1uLmc1PVtdO2lmKFcuZGVmYXVsdFRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzKWZvcihsZXQgdiBvZiBXLmRlZmF1bHRUcmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyluLmc1LnB1c2godil9Owpmb2k9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcuZXJyb3JTY3JlZW47aWYoIShiJiYoYi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcnx8Yi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyfHxiLnlwY1RyYWlsZXJSZW5kZXJlcil8fEQmJkQuaXNVcGNvbWluZ3x8WyJPSyIsIkxJVkVfU1RSRUFNX09GRkxJTkUiLCJGVUxMU0NSRUVOX09OTFkiXS5pbmNsdWRlcyhXLnN0YXR1cykpKXtuLmVycm9yQ29kZT1paShXLmVycm9yQ29kZSl8fCJhdXRoIjtpZihEPWImJmIucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIpe24ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI9RDtsZXQgdj1ELnJlYXNvbjt2JiYobi5lcnJvclJlYXNvbj1nLkRwKHYpKTtpZihEPUQuc3VicmVhc29uKW4ud2k9Zy5EcChEKSxuLlRZPUR9ZWxzZSBuLmVycm9yUmVhc29uPVcucmVhc29ufHxudWxsO0Q9Vy5zdGF0dXM7RD09PSJMT0dJTl9SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0KIjEiOkQ9PT0iQ09OVEVOVF9DSEVDS19SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0iMiI6RD09PSJBR0VfQ0hFQ0tfUkVRVUlSRUQiPyhXPShXPVcuZXJyb3JTY3JlZW4pJiZXLnBsYXllckthdlJlbmRlcmVyLG4uZXJyb3JEZXRhaWw9VyYmVy5rYXZVcmw/IjQiOiIzIik6KGI9Yj8ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI/LnByb2NlZWRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5jb21tYW5kLG4uZXJyb3JEZXRhaWw9Vy5pc0Jsb2NrZWRJblJlc3RyaWN0ZWRNb2RlPyI1IjpnLncoYixnLmNFKT8uc2lnbmFsPT09IlJFTE9BRF9QQUdFIj8iNyI6IjAiKX19OwpKcVo9ZnVuY3Rpb24obixXKXtuLllpPSEwO3ZhciBEPVcuaGVhcnRiZWF0VG9rZW47bi5kcm1TZXNzaW9uSWQ9Vy5kcm1TZXNzaW9uSWR8fCIiO24uaGVhcnRiZWF0VG9rZW49RHx8IiI7bi5zRT1OdW1iZXIoVy5pbnRlcnZhbE1pbGxpc2Vjb25kcyk7bi5sND1OdW1iZXIoVy5tYXhSZXRyaWVzKTtuLkg2PSEhVy5zb2Z0RmFpbE9uRXJyb3I7bi5EZD0hIVcudXNlSW5uZXJ0dWJlSGVhcnRiZWF0c0ZvckRybTtuLmhlYXJ0YmVhdFNlcnZlckRhdGE9Vy5oZWFydGJlYXRTZXJ2ZXJEYXRhO24uUE09ISFXLmhlYXJ0YmVhdEF0dGVzdGF0aW9uQ29uZmlnPy5yZXF1aXJlc0F0dGVzdGF0aW9ufTsKQXExPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9RC5pbnRlcnN0aXRpYWxzLm1hcChiPT57dmFyIHY9Zy53KGIsSW9iKTtpZih2KXJldHVybntpc195dG9faW50ZXJzdGl0aWFsOiEwLHJhd19wbGF5ZXJfcmVzcG9uc2U6dn07aWYoYj1nLncoYixTbE0pKXJldHVybiBPYmplY3QuYXNzaWduKHtpc195dG9faW50ZXJzdGl0aWFsOiEwfSxnLml3KGIpKX0pOwpmb3IobGV0IGIgb2YgVylzd2l0Y2goRC5wb2RDb25maWcucGxheWJhY2tQbGFjZW1lbnQpe2Nhc2UgIklOVEVSU1RJVElBTF9QTEFZQkFDS19QTEFDRU1FTlRfUFJFIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZTowLHBsYXllclZhcnM6YixrcTo1fSk7YnJlYWs7Y2FzZSAiSU5URVJTVElUSUFMX1BMQVlCQUNLX1BMQUNFTUVOVF9QT1NUIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZToweDdmZmZmZmZmZmZmZmYscGxheWVyVmFyczpiLGtxOjZ9KTticmVhaztjYXNlICJJTlRFUlNUSVRJQUxfUExBWUJBQ0tfUExBQ0VNRU5UX0lOU0VSVF9BVF9WSURFT19USU1FIjpXPU51bWJlcihELnBvZENvbmZpZy50aW1lVG9JbnNlcnRBdE1pbGxpcyksbi5pbnRlcnN0aXRpYWxzPW4uaW50ZXJzdGl0aWFscy5jb25jYXQoe3RpbWU6VyxwbGF5ZXJWYXJzOmIsa3E6Vz09PTA/NTo3fSl9fX07Cm12aj1mdW5jdGlvbihuLFcpe2lmKFc9Vy5maW5kKEQ9PiEoIUR8fCFELnRvb2x0aXBSZW5kZXJlcikpKW4udG9vbHRpcFJlbmRlcmVyPVcudG9vbHRpcFJlbmRlcmVyfTsKYUE9ZnVuY3Rpb24obixXKXtXLnN1YnNjcmliZUNvbW1hbmQmJihuLnN1YnNjcmliZUNvbW1hbmQ9Vy5zdWJzY3JpYmVDb21tYW5kKTtXLnVuc3Vic2NyaWJlQ29tbWFuZCYmKG4udW5zdWJzY3JpYmVDb21tYW5kPVcudW5zdWJzY3JpYmVDb21tYW5kKTtXLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQmJihuLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQ9Vy5hZGRUb1dhdGNoTGF0ZXJDb21tYW5kKTtXLnJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZCYmKG4ucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kPVcucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kKTtXLmdldFNoYXJlUGFuZWxDb21tYW5kJiYobi5nZXRTaGFyZVBhbmVsQ29tbWFuZD1XLmdldFNoYXJlUGFuZWxDb21tYW5kKX07Cm5MPWZ1bmN0aW9uKG4sVyl7VyE9bnVsbD8obi5yUj1XLG4uaU49ITApOihuLnJSPSIiLG4uaU49ITEpfTsKUG4xPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKW5MKG4sVy5jb250cm9sQmdIdG1sKSxXLm11dGVkQXV0b3BsYXk/KFc9Zy53KFcubXV0ZWRBdXRvcGxheSxLSTEpKSYmVy5lbmRTY3JlZW4mJihXPWcudyhXLmVuZFNjcmVlbixPVngpKSYmVy50ZXh0JiYobi5NVj1nLkRwKFcudGV4dCkpOm4ubXV0ZWRBdXRvcGxheT0hMX07ClpWaT1mdW5jdGlvbihuLFcpe3ZhciBEPVcuYmFja2dyb3VuZGFiaWxpdHk7RCYmRC5iYWNrZ3JvdW5kYWJpbGl0eVJlbmRlcmVyLmJhY2tncm91bmRhYmxlJiYobi5iYWNrZ3JvdW5kYWJsZT0hMCk7Vy5vZmZsaW5lYWJpbGl0eT8ub2ZmbGluZWFiaWxpdHlSZW5kZXJlcj8ub2ZmbGluZWFibGUmJihuLm9mZmxpbmVhYmxlPSEwKTtpZihEPVcuY29udGV4dFBhcmFtcyluLmNvbnRleHRQYXJhbXM9RDsoRD1XLnBpY3R1cmVJblBpY3R1cmUpJiZELnBpY3R1cmVJblBpY3R1cmVSZW5kZXJlci5wbGF5YWJsZUluUGlwJiYobi5waXBhYmxlPSEwKTtXLnBsYXlhYmxlSW5FbWJlZCYmKG4uYWxsb3dFbWJlZD0hMCk7aWYoRD1XLnlwY0NsaWNrd3JhcClXPUQucGxheWVyTGVnYWN5RGVza3RvcFlwY0NsaWNrd3JhcFJlbmRlcmVyLEQ9RC55cGNSZW50YWxBY3RpdmF0aW9uUmVuZGVyZXIsVz8obi5Jaz1XLmR1cmF0aW9uTWVzc2FnZXx8IiIsbi5EbD0hMCk6RCYmKFc9RC5kdXJhdGlvbk1lc3NhZ2UsCm4uSWs9Vz9nLkRwKFcpOiIiLG4uRGw9ITApfTsKeXExPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1NRihXLmdvb2dsZVJlbWFya2V0aW5nVXJsKTtiJiYobi5nb29nbGVSZW1hcmtldGluZ1VybD1iKTtpZihiPU1GKFcueW91dHViZVJlbWFya2V0aW5nVXJsKSluLnlvdXR1YmVSZW1hcmtldGluZ1VybD1iO2lmKGI9Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW4pbi5oZWFydGJlYXRMb2dnaW5nVG9rZW49YjtiPXt9O3ZhciB2PU1GKFcucHRyYWNraW5nVXJsKTtpZih2KXt2PVJBKHYpO3ZhciBrPXYub2lkO2smJihuLlhvPWspO2lmKGs9di5wbHR5cGUpbi5xOD1rO2lmKGs9di5wdGNobiluLmgxPWs7aWYoaz12LnB0ayluLnh6PWVuY29kZVVSSUNvbXBvbmVudChrKTtpZih2PXYubSluLnk5PXZ9aWYodj1NRihXLnFvZVVybCkpe3Y9Zy5vRSh2KTtmb3IoaCBvZiBPYmplY3Qua2V5cyh2KSlrPXZbaF0sdltoXT1BcnJheS5pc0FycmF5KGspP2suam9pbigiLCIpOms7dmFyIGg9djtuLnpiPWg7aWYodj1oLmNhdCluLlMoImh0bWw1X2VuYWJsZV9xb2VfY2F0X2xpc3QiKT8Kbi5rSz1uLmtLLmNvbmNhdCh2LnNwbGl0KCIsIikpOm4ua3k9djtpZih2PWgubGl2ZSluLnVoPXY7aWYoaD1oLmRybV9wcm9kdWN0KW4uZHJtUHJvZHVjdD1ofWlmKGg9TUYoVy52aWRlb3N0YXRzUGxheWJhY2tVcmwpKXtoPVJBKGgpO2lmKHY9aC5hZGZvcm1hdClpZihELmFkZm9ybWF0PXYsaz1uLkcoKSxrPVRsKHYsbi5GdyxrLkosay5LKSluLmFkRm9ybWF0PWs7aWYoaz1oLmFxaSlELmFkX3F1ZXJ5X2lkPWs7aWYoRD1oLmF1dG9wbGF5KW4uR3U9RD09IjEiLG4uVlQ9RD09IjEiO2lmKEQ9aC5hdXRvbmF2KW4uaXNBdXRvbmF2PUQ9PSIxIjtpZihEPWguZGVsYXkpbi5vRD1nLk5oKEQpO2lmKEQ9aC5laSluLmV2ZW50SWQ9RDtpZihEPWcuZDEoaC5hZGNvbnRleHQpKXRyeXt2YXIgeD1VdjIoRCk7eCYmKG4uZk49eCl9Y2F0Y2goTCl7Zy5HcShFcnJvcigiTWFsZm9ybWVkIGFkQ29udGV4dCIpKX1pZihEfHx2KW4uR3U9ITA7aWYoeD1oLmZlYXR1cmUpbi5TOT14O2lmKHg9aC5saXN0KW4ucGxheWxpc3RJZD0KeDtpZih4PWgub2Ypbi5SSD14O2lmKHg9aC5vc2lkKW4ub3NpZD14O2lmKHg9aC5yZWZlcnJlciluLnJlZmVycmVyPXg7aWYoeD1oLnNkZXRhaWwpbi53dT14O2lmKHg9aC5zb3VyY2VpZCluLmJJPXg7aWYoeD1oLnNzcnQpbi5BUj14PT0iMSI7aWYoeD1oLnN1YnNjcmliZWQpbi5zdWJzY3JpYmVkPXg9PSIxIjtpZih4PWgudWdhKW4udXNlckdlbmRlckFnZT14O2lmKHg9aC51cHQpbi5IcT14O2lmKHg9aC52bSluLnZpZGVvTWV0YWRhdGE9eDtiLnBsYXliYWNrPWh9aWYoeD1NRihXLnZpZGVvc3RhdHNXYXRjaHRpbWVVcmwpKXt4PVJBKHgpO2lmKEQ9eC5hbGQpbi5GTD1EO2Iud2F0Y2h0aW1lPXh9aWYoeD1NRihXLmF0clVybCkpeD1SQSh4KSxiLmF0cj14O2lmKHg9TUYoVy5lbmdhZ2VVcmwpKXg9UkEoeCksYi5lbmdhZ2U9eDtuLlhUPWI7Vy5wcm9tb3RlZFBsYXliYWNrVHJhY2tpbmcmJihiPVcucHJvbW90ZWRQbGF5YmFja1RyYWNraW5nLGIuc3RhcnRVcmxzJiYobi5Gcj1iLnN0YXJ0VXJscyksCmIuZmlyc3RRdWFydGlsZVVybHMmJihuLndOPWIuZmlyc3RRdWFydGlsZVVybHMpLGIuc2Vjb25kUXVhcnRpbGVVcmxzJiYobi5DdD1iLnNlY29uZFF1YXJ0aWxlVXJscyksYi50aGlyZFF1YXJ0aWxlVXJscyYmKG4ub0g9Yi50aGlyZFF1YXJ0aWxlVXJscyksYi5jb21wbGV0ZVVybHMmJihuLkF0PWIuY29tcGxldGVVcmxzKSxiLmVuZ2FnZWRWaWV3VXJscyYmKGIuZW5nYWdlZFZpZXdVcmxzLmxlbmd0aD4xJiZnLkdxKG5ldyBnLlF4KCJUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmdhZ2VkX3ZpZXdfdXJscy4iKSksbi5EeD1iLmVuZ2FnZWRWaWV3VXJsc1swXSkpO1cuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKG4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1XLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpO1cudnNzM0NvbmZpZz8uc2VyaWFsaXplZFdhdGNoVGltZUNvbnRleHREYXRhJiYobi5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGE9ClcudnNzM0NvbmZpZy5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGEpfTsKRVkxPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVylpZihiJiYoVz1iLnBsYXllckxlZ2FjeURlc2t0b3BXYXRjaEFkc1JlbmRlcmVyKSYmKFc9Vy5wbGF5ZXJBZFBhcmFtcykpe1cuYXV0b3BsYXk9PSIxIiYmKG4uR3U9ITAsbi5WVD0hMCk7bi5Jbz1XLmVuY29kZWRBZFNhZmV0eVJlYXNvbnx8bnVsbDtXLnNob3dDb250ZW50VGh1bWJuYWlsIT09dm9pZCAwJiYobi5xMj0hIVcuc2hvd0NvbnRlbnRUaHVtYm5haWwpO0QuZW5hYmxlZF9lbmdhZ2VfdHlwZXM9Vy5lbmFibGVkRW5nYWdlVHlwZXM7YnJlYWt9fTsKaVYyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5tYW5pZmVzdGxlc3NXaW5kb3dlZExpdmVDb25maWc7aWYoRCl7dmFyIGI9TnVtYmVyKEQubWluRHZyU2VxdWVuY2UpLHY9TnVtYmVyKEQubWF4RHZyU2VxdWVuY2UpLGs9TnVtYmVyKEQubWluRHZyTWVkaWFUaW1lTXMpLGg9TnVtYmVyKEQubWF4RHZyTWVkaWFUaW1lTXMpO0Q9TnVtYmVyKEQuc3RhcnRXYWxsdGltZU1zKTtiJiYobi5JdD1iKTtrJiYobi5KVT1rLzFFMyxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJmcuWU4obikmJihuLkgyPWsvMUUzKSk7diYmKG4uSFA9dik7aCYmKG4ub1I9aC8xRTMsbi5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpJiZnLllOKG4pJiYobi5XTT1oLzFFMykpO0QmJihuLklUPUQvMUUzKTsoYnx8aykmJih2fHxoKSYmKG4uUkk9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCxuLmFsbG93TGl2ZUR2cj0KITAsbi5YZz0hMSl9aWYoYj1XLmRhaUNvbmZpZyl7aWYoYi5lbmFibGVEYWkpe24uTFk9ITA7aWYodj1iLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpKW4uZW5hYmxlU2VydmVyU3RpdGNoZWREYWk9djtpZih2PWIuZW5hYmxlUHJlcm9sbCluLktkPXZ9aWYoYi5kYWlUeXBlPT09IkRBSV9UWVBFX1NTX0RJU0FCTEVEInx8Yi5kZWJ1Z0luZm8/LmlzRGlzYWJsZWRVbnBsdWdnZWRDaGFubmVsKW4uSmw9ITA7IW4uUygiaHRtbDVfdW1wX3N0aXRjaGVkX21ldGFkYXRhX3Vuc3BlY2lmaWVkX2hhbmRsaW5nIil8fGIuZGFpVHlwZSE9PSJEQUlfVFlQRV9VTlNQRUNJRklFRCImJmIuZGFpVHlwZSE9PXZvaWQgMHx8KG4uakY9ITApO2IuZGFpVHlwZT09PSJEQUlfVFlQRV9DTElFTlRfU1RJVENIRUQiJiYobi5DVT0hMCk7Yi5hbGxvd1VzdHJlYW1lclJlcXVlc3RBZGNvbmZpZyYmKG4uUTY9ITApO2Iuc2VuZFNzZGFpTWlzc2luZ0FkQnJlYWtSZWFzb25zJiYobi5LVj0hMCl9aWYoYj1XLmF1ZGlvQ29uZmlnKXt2PQpuLmhnO2IudHJhY2tBYnNvbHV0ZUxvdWRuZXNzTGtmcyE9bnVsbCYmKHYuSj1iLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMpO2IubG91ZG5lc3NUYXJnZXRMa2ZzIT1udWxsJiYodi5sb3VkbmVzc1RhcmdldExrZnM9Yi5sb3VkbmVzc1RhcmdldExrZnMpO2IubG91ZG5lc3NEYiE9bnVsbCYmKHYuVz1iLmxvdWRuZXNzRGIpO2lmKGs9Yi5sb3VkbmVzc05vcm1hbGl6YXRpb25Db25maWcpay5hcHBseVN0YXRlZnVsTm9ybWFsaXphdGlvbiYmKHYuYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb249ITApLGsucHJlc2VydmVTdGF0ZWZ1bExvdWRuZXNzVGFyZ2V0JiYodi5wcmVzZXJ2ZVN0YXRlZnVsTG91ZG5lc3NUYXJnZXQ9ITApLGsubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyE9bnVsbCYmKHYubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcz1rLm1pbmltdW1Mb3VkbmVzc1RhcmdldExrZnMpO3Y9Yi5sb3VkbmVzc0RiO3YhPW51bGwmJihuLllLPXYpO2IuYXVkaW9NdXRlZCYmKG4ueWw9CiEwKTtiLm11dGVPblN0YXJ0JiYobi5OMD0hMCk7Yi5wbGF5QXVkaW9Pbmx5JiYobi5KZz0hMCl9aWYodj1XLnBsYXliYWNrRW5kQ29uZmlnKWI9di5lbmRTZWNvbmRzLHY9di5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcyxuLm11dGVkQXV0b3BsYXkmJihiJiYobi5lbmRTZWNvbmRzPWIpLHYmJihuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPXYpKTtpZihiPVcuZmFpclBsYXlDb25maWcpe2lmKHY9Yi5jZXJ0aWZpY2F0ZSluLkNpPWcuZDEodik7dj1OdW1iZXIoYi5rZXlSb3RhdGlvblBlcmlvZE1zKTt2PjAmJihuLlY5PXYpO2I9TnVtYmVyKGIua2V5UHJlZmV0Y2hNYXJnaW5Ncyk7Yj4wJiYobi5qaT1iKX1pZigoYj1XLnBsYXliYWNrU3RhcnRDb25maWcpJiYhbi5OVil7bi52RT1OdW1iZXIoYi5zdGFydFNlY29uZHMpO2s9Yi5saXZlVXRjU3RhcnRTZWNvbmRzO3Y9ISFuLmxpdmVVdGNTdGFydFNlY29uZHMmJm4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz4wOwprJiYhdiYmKG4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz1OdW1iZXIoaykpO2lmKGs9Yi5zdGFydFBvc2l0aW9uKWlmKChoPWsudXRjVGltZU1pbGxpcykmJiF2JiYobi5saXZlVXRjU3RhcnRTZWNvbmRzPU51bWJlcihoKSouMDAxKSx2PWsuc3RyZWFtVGltZU1pbGxpcyluLlVyPU51bWJlcih2KSouMDAxO24ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPWIucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uO24ucHJvZ3Jlc3NCYXJFbmRQb3NpdGlvbj1iLnByb2dyZXNzQmFyRW5kUG9zaXRpb259ZWxzZSBpZihiPVcuc2tpcHBhYmxlU2VnbWVudHNDb25maWcpe2lmKHY9Yi5pbnRyb1NraXBEdXJhdGlvbk1zKW4uUEU9TnVtYmVyKHYpLzFFMztpZihiPWIub3V0cm9Ta2lwRHVyYXRpb25NcyluLm50PU51bWJlcihiKS8xRTN9aWYodj1XLnNraXBwYWJsZUludHJvQ29uZmlnKWI9TnVtYmVyKHYuc3RhcnRNcyksdj1OdW1iZXIodi5lbmRNcyksaXNOYU4oYil8fGlzTmFOKHYpfHwobi53Qj1iLG4uQXA9CnYpO2lmKGI9Vy5zdHJlYW1TZWxlY3Rpb25Db25maWcpbi5HZj1OdW1iZXIoYi5tYXhCaXRyYXRlKTtpZihiPVcudnJDb25maWcpbi5Kbz1iLnBhcnRpYWxTcGhlcmljYWw9PSIxIjtpZihiPVcud2ViRHJtQ29uZmlnKXtiLnNraXBXaWRldmluZSYmKG4uSmo9ITApO2lmKHY9Yi53aWRldmluZVNlcnZpY2VDZXJ0KW4uRmM9Zy5kMSh2KTtiLnVzZUNvYmFsdFdpZGV2aW5lJiYobi51c2VDb2JhbHRXaWRldmluZT0hMCk7Yi5zdGFydFdpdGhOb1F1YWxpdHlDb25zdHJhaW50JiYobi5aOT0hMCl9aWYoYj1XLm1lZGlhQ29tbW9uQ29uZmlnKXtpZih2PWIuZHluYW1pY1JlYWRhaGVhZENvbmZpZyl7bi5tYXhSZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1heFJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1pblJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5yZWFkQWhlYWRHcm93dGhSYXRlTXM9di5yZWFkQWhlYWRHcm93dGhSYXRlTXN8fE5hTjsKaWYodj1iPy5tZWRpYVVzdHJlYW1lclJlcXVlc3RDb25maWc/LnZpZGVvUGxheWJhY2tVc3RyZWFtZXJDb25maWcpbi5hST1nLmQxKHYpO2lmKCh2PWI/LnNhYnJDb250ZXh0VXBkYXRlcykmJnYubGVuZ3RoPjApZm9yKHZhciB4IG9mIHYpeC50eXBlJiZ4LnZhbHVlJiYodj17dHlwZTp4LnR5cGUsc2NvcGU6eC5zY29wZSx2YWx1ZTpnLmQxKHgudmFsdWUpfHx2b2lkIDAsc2VuZEJ5RGVmYXVsdDp4LnNlbmRCeURlZmF1bHR9LG4uc2FickNvbnRleHRVcGRhdGVzLnNldCh4LnR5cGUsdikpfWlmKHg9Yi5zZXJ2ZXJQbGF5YmFja1N0YXJ0Q29uZmlnKW4uc2VydmVyUGxheWJhY2tTdGFydENvbmZpZz14O2IudXNlU2VydmVyRHJpdmVuQWJyJiYobi5ERT0hMCk7aWYoeD1iLnJlcXVlc3RQaXBlbGluaW5nQ29uZmlnKW4ucmVxdWVzdFBpcGVsaW5pbmdDb25maWc9eH1pZih4PVcuaW5saW5lUGxheWJhY2tDb25maWcpbi52MT0hIXguc2hvd0F1ZGlvQ29udHJvbHM7aWYoeD1XLmVtYmVkZGVkUGxheWVyQ29uZmlnKXtuLmVtYmVkZGVkUGxheWVyQ29uZmlnPQp4O2lmKHY9eC5lbWJlZGRlZFBsYXllck1vZGUpYj1uLkcoKSxiLmNKPXYsYi5EPXY9PT0iRU1CRURERURfUExBWUVSX01PREVfUEZMIjtpZih4PXgucGVybWlzc2lvbnMpbi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hIXguYWxsb3dJbWFNb25ldGl6YXRpb259aWYoeD1XLndlYlBsYXllckNvbmZpZylpZih4LmdhdGV3YXlFeHBlcmltZW50R3JvdXAmJihuLmdhdGV3YXlFeHBlcmltZW50R3JvdXA9eC5nYXRld2F5RXhwZXJpbWVudEdyb3VwKSx4LmlzUHJveGltYUVsaWdpYmxlJiYobi5pc1Byb3hpbWFMYXRlbmN5RWxpZ2libGU9ITApLHg9eC5tdWx0aUFzcGVjdFN0cmVhbWluZ0NvbmZpZyluLldrPSEwLG4ucGxheWVyT3JpZW50YXRpb249eC5wbGF5ZXJPcmllbnRhdGlvbix4LnBsYXllck9yaWVudGF0aW9uPT09IlBMQVlFUl9PUklFTlRBVElPTl9IT1JJWk9OVEFMIj9uLkJqPXgudmVydGljYWxDb21tYW5kfHxudWxsOngucGxheWVyT3JpZW50YXRpb249PT0iUExBWUVSX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiYmCihuLkJqPXguaG9yaXpvbnRhbENvbW1hbmR8fG51bGwpO1c9Vy5wbGF5ZXJDb250cm9sc0NvbmZpZztXPy5pc1NlZWthYmxlIT09dm9pZCAwJiYobi5pc1NlZWthYmxlPSEhVy5pc1NlZWthYmxlKX07CnU2Uz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5mb3JtYXRzO2lmKGIpe3ZhciB2PVtdO2Zvcih2YXIgayBvZiBiKXYucHVzaChgJHtrLml0YWd9LyR7ay53aWR0aH14JHtrLmhlaWdodH1gKTtuLkdqPXYuam9pbigiLCIpO3Y9W107Zm9yKHZhciBoIG9mIGIpe2I9e2l0YWc6aC5pdGFnLHR5cGU6aC5taW1lVHlwZSxxdWFsaXR5OmgucXVhbGl0eX07KGs9aC51cmwpJiYoYi51cmw9ayk7bGV0IHt4aTpOLEVsOkgseTc6QSxzOnl9PVAwKDcsNjkyLGgpO04mJihiLnVybD1ILGIuc3A9QSxiLnM9eSk7di5wdXNoKHlHKGIpKX1uLmNmPXYuam9pbigiLCIpfWlmKGg9Vy5obHNGb3JtYXRzKXt2PXt9O2lmKEQmJihEPUQuYXVkaW9QYWlyaW5nQ29uZmlnKSYmRC5wYWlycylmb3IodmFyIHggb2YgRC5wYWlycylEPXgudmlkZW9JdGFnLHZbRF18fCh2W0RdPVtdKSx2W0RdLnB1c2goeC5hdWRpb0l0YWcpO3g9e307Zm9yKHZhciBMIG9mIGgpeFtMLml0YWddPUwuYml0cmF0ZTtMPVtdO2ZvcihHIG9mIGgpe0Q9CntpdGFnOkcuaXRhZyx0eXBlOkcubWltZVR5cGUsdXJsOkcudXJsLGJpdHJhdGU6Ry5iaXRyYXRlLHdpZHRoOkcud2lkdGgsaGVpZ2h0OkcuaGVpZ2h0LGZwczpHLmZwc307aWYoaD1HLmF1ZGlvVHJhY2spaWYoYj1oLmRpc3BsYXlOYW1lKUQubmFtZT1iLEQuYXVkaW9fdHJhY2tfaWQ9aC5pZCxoLmF1ZGlvSXNEZWZhdWx0JiYoRC5pc19kZWZhdWx0PSIxIik7aWYoRy5kcm1GYW1pbGllcyl7aD1bXTtmb3IodmFyIGUgb2YgRy5kcm1GYW1pbGllcyloLnB1c2goSlpbZV0pO0QuZHJtX2ZhbWlsaWVzPWguam9pbigiLCIpfShoPXZbRy5pdGFnXSkmJmgubGVuZ3RoJiYoRC5hdWRpb19pdGFnPWguam9pbigiLCIpLChoPXhbaFswXV0pJiYoRC5iaXRyYXRlKz1oKSk7KGg9TiQoRykpJiYoRC5lb3RmPWgpO0cuYXVkaW9DaGFubmVscyYmKEQuYXVkaW9fY2hhbm5lbHM9Ry5hdWRpb0NoYW5uZWxzKTtMLnB1c2goeUcoRCkpfXZhciBHPUwuam9pbigiLCIpO24uaGxzRm9ybWF0cz1HfWlmKChlPQpXLmxpY2Vuc2VJbmZvcykmJmUubGVuZ3RoPjApe0c9e307Zm9yKHZhciByIG9mIGUpZT1yLmRybUZhbWlseSx2PXIudXJsLGUmJnYmJihHW0paW2VdXT12KTtuLmNvbnRlbnRQcm90ZWN0aW9uPUd9aWYocj1XLmRybVBhcmFtcyluLmRybVBhcmFtcz1yO2lmKHI9Vy5kYXNoTWFuaWZlc3RVcmwpbi5UZj1nLkVUKHIse2NwbjpuLmNsaWVudFBsYXliYWNrTm9uY2V9KTtpZihyPVcuaGxzTWFuaWZlc3RVcmwpbi5obHN2cD1yO2lmKHI9Vy5wcm9iZVVybCluLnByb2JlVXJsPUZOKGcuRVQocix7Y3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pKTtpZihXPVcuc2VydmVyQWJyU3RyZWFtaW5nVXJsKW4ubEM9bmV3IGcud1ooVywhMCl9OwpvWU09ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW9JZDtiJiYobi52aWRlb0lkPWIsRC52aWRlb19pZHx8KEQudmlkZW9faWQ9YikpO2lmKGI9Vy50aXRsZSluLnRpdGxlPWIsRC50aXRsZXx8KEQudGl0bGU9Yik7aWYoYj1XLmxlbmd0aFNlY29uZHMpbi5sZW5ndGhTZWNvbmRzPU51bWJlcihiKSxELmxlbmd0aF9zZWNvbmRzfHwoRC5sZW5ndGhfc2Vjb25kcz1iKTtpZihiPVcua2V5d29yZHMpbi5rZXl3b3Jkcz1XaihiKTtpZihiPVcuY2hhbm5lbElkKW4uRjk9YixELnVjaWR8fChELnVjaWQ9Yik7aWYoYj1XLnZpZXdDb3VudCluLnJhd1ZpZXdDb3VudD1OdW1iZXIoYik7aWYoYj1XLmF1dGhvciluLmF1dGhvcj1iLEQuYXV0aG9yfHwoRC5hdXRob3I9Yik7aWYoRD1XLnNob3J0RGVzY3JpcHRpb24pbi5zaG9ydERlc2NyaXB0aW9uPUQ7aWYoRD1XLmlzQ3Jhd2xhYmxlKW4uaXNMaXN0ZWQ9RDtpZihEPVcubXVzaWNWaWRlb1R5cGUpbi5tdXNpY1ZpZGVvVHlwZT1EO0Q9Vy5pc0xpdmU7CkQhPW51bGwmJihuLmlzTGl2ZVBsYXliYWNrPUQpO2lmKER8fFcuaXNVcGNvbWluZyluLmlzUHJlbWllcmU9IVcuaXNMaXZlQ29udGVudDtpZihEPVcudGh1bWJuYWlsKW4udE89d2MoRCk7aWYoRD1XLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3Qpbi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0PUQ7KEQ9Vy5zdGF0aW9uVHlwZSkmJkQhPT0iU1RBVElPTl9UWVBFX1VOS05PV04iJiYobi56Mz0hMCk7RD1XLnZpZXdlckxpdmVzdHJlYW1Kb2luUG9zaXRpb247RD8udXRjVGltZU1pbGxpcyYmKG4uRHo9Zy5OaChELnV0Y1RpbWVNaWxsaXMpKTtuLkcoKS5leHBlcmltZW50cy5FcSgiZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlbyIpJiZXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmlzVHZmaWxtVmlkZW89Vy5pc1R2ZmlsbVZpZGVvKTtXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmNPPVcuaXNUdmZpbG1WaWRlbyYmbi5pc0xpdmVQbGF5YmFjayl9Owp6RWI9ZnVuY3Rpb24obixXKXtpZihXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXIpe3ZhciBEPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlcjtuLk1nPUQudHJhaWxlclZpZGVvSWR8fCIiO3ZhciBiPShiPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlci55cGNUcmFpbGVyKSYmYi55cGNUcmFpbGVyUmVuZGVyZXJ9ZWxzZSBXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNPZmZlclJlbmRlcmVyP0Q9Vy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcjpXLnlwY1RyYWlsZXJSZW5kZXJlciYmKGI9Vy55cGNUcmFpbGVyUmVuZGVyZXIsVz1iLmZ1bGxWaWRlb01lc3NhZ2Usbi5IQj1XP2cuRHAoVyk6IiIsbi5NZz1nLncoYixEeik/LnZpZGVvRGV0YWlscz8udmlkZW9JZHx8IiIpO0QmJihuLlU5PUQuaXRlbVRpdGxlfHwiIixELml0ZW1VcmwmJihuLndWPUQuaXRlbVVybCksRC5pdGVtQnV5VXJsJiYobi5nVj0KRC5pdGVtQnV5VXJsKSxuLkFKPUQuaXRlbVRodW1ibmFpbHx8IiIsbi5kVj1ELm9mZmVySGVhZGxpbmV8fCIiLG4uR249RC5vZmZlckRlc2NyaXB0aW9ufHwiIixuLk9oPUQub2ZmZXJJZHx8IiIsbi5Daj1ELm9mZmVyQnV0dG9uVGV4dHx8IiIsbi51Vz1ELm9mZmVyQnV0dG9uRm9ybWF0dGVkVGV4dHx8bnVsbCxuLkU5PUQub3ZlcmxheUR1cmF0aW9uTXNlY3x8TmFOLG4uSEI9RC5mdWxsVmlkZW9NZXNzYWdlfHwiIixuLnZNPSEwKTtiJiYoKEQ9Zy53KGIsRHopKT9uLkljPXtyYXdfcGxheWVyX3Jlc3BvbnNlOkR9OihEPWcudyhiLGR2aSksbi5JYz1EP2cuaXcoRCk6bnVsbCksbi52TT0hMCl9Owpsb2o9ZnVuY3Rpb24obixXLEQsYil7Vy5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0JiYobi5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0PSEwKTtXLmlzVXBjb21pbmcmJihuLmlzVXBjb21pbmc9ITApO2lmKFcuaXNQb3N0TGl2ZUR2cil7bi5YZz0hMDtpZihiPVcubGF0ZW5jeUNsYXNzKW4ubGF0ZW5jeUNsYXNzPWJqW2JdfHwiVU5LTk9XTiI7Vy5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtJiYobi5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtPSEwKX1lbHNle2xldCB2PSExO24uSVI/KG4uYWxsb3dMaXZlRHZyPWZOKCk/ITA6TVgmJnZqPDU/ITE6ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk6Vy5pc0xpdmU/KGIubGl2ZXN0cmVhbT0iMSIsbi5hbGxvd0xpdmVEdnI9Vy5pc0xpdmVEdnJFbmFibGVkP2ZOKCk/ITA6TVgmJnZqPDU/ITE6ITA6ITEsbi5wYXJ0bmVySWQ9Mjcsdj0hMCk6Vy5pc1VwY29taW5nJiYodj0hMCk7aWYoVy5pc0xpdmV8fG4uSVIpe1cuaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbSYmKG4uaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbT0KITApO2xldCBrPVcubGF0ZW5jeUNsYXNzO2smJihuLmxhdGVuY3lDbGFzcz1ialtrXXx8IlVOS05PV04iKTtpZihXPVcubGl2ZUNodW5rUmVhZGFoZWFkKW4ubGl2ZUNodW5rUmVhZGFoZWFkPVc7aWYoVz1EJiZELmxpdmVQbGF5ZXJDb25maWcpe1cuaGFzU3ViZnJhZ21lbnRlZEZtcDQmJihuLmhhc1N1YmZyYWdtZW50ZWRGbXA0PSEwKTtXLmhhc1N1YmZyYWdtZW50ZWRXZWJtJiYobi5JMj0hMCk7Vy5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzJiYobi5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzPSEwKTtpZihEPVcubGl2ZUV4cGVyaW1lbnRhbENvbnRlbnRJZCluLmxpdmVFeHBlcmltZW50YWxDb250ZW50SWQ9TnVtYmVyKEQpO1c9Vy5pc0xpdmVIZWFkUGxheWFibGU7bi5TKCJodG1sNV9saXZlX2hlYWRfcGxheWFibGUiKSYmVyE9bnVsbCYmKG4uaXNMaXZlSGVhZFBsYXlhYmxlPVcpfX12JiYobi5pc0xpdmVQbGF5YmFjaz0hMCxiLmFkZm9ybWF0JiZiLmFkZm9ybWF0LnNwbGl0KCJfIilbMV0hPT0KIjgifHxuLklKLnB1c2goImhlYXJ0YmVhdCIpKX19OwprTD1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOyhuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0cyl8fChuPVc/LmVuZFNjcmVlbj8uZW5kU2NyZWVuPy5yZXN1bHRzKTtyZXR1cm4gbn07CnhMPWZ1bmN0aW9uKCl7aWYoaHg9PT12b2lkIDApe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInl0LXBsYXllci1sdiIpfWNhdGNoKFcpe31hOnt0cnl7dmFyIG49ISFzZWxmLmxvY2FsU3RvcmFnZX1jYXRjaHtuPSExfWlmKG4mJihuPWcudlMoYCR7TTAoKX06Onl0LXBsYXllcmApKSl7aHg9bmV3IFQkYihuKTticmVhayBhfWh4PXZvaWQgMH19cmV0dXJuIGh4fTsKTEw9ZnVuY3Rpb24oKXt2YXIgbj14TCgpO2lmKCFuKXJldHVybnt9O3RyeXtsZXQgVz1uLmdldCgieXQtcGxheWVyLWx2Iik7cmV0dXJuIEpTT04ucGFyc2UoV3x8Int9Iil9Y2F0Y2goVyl7cmV0dXJue319fTsKZSQ9ZnVuY3Rpb24obil7cmV0dXJuIExMKClbbl18fDB9OwpnNj1mdW5jdGlvbihuLFcpe3ZhciBEPUxMKCk7VyE9PURbbl0mJihXIT09MD9EW25dPVc6ZGVsZXRlIERbbl0sbj14TCgpKSYmKEQ9SlNPTi5zdHJpbmdpZnkoRCksbi5zZXQoInl0LXBsYXllci1sdiIsRCkpfTsKZy5YZT1hc3luYyBmdW5jdGlvbihuKXtyZXR1cm4gQ0YoamlVKCksbil9Owp0eD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2lmKGUkKG4pPT09NClyZXR1cm4gNDt2YXIgTD1hd2FpdCBnLm5QKCk7aWYoIUwpdGhyb3cgZy5yMCgid2lhYyIpO3gmJmghPT12b2lkIDAmJihoPWF3YWl0IENuaSh4LGgpKTt2YXIgZT1ELmxhc3RNb2RpZmllZHx8IjAiO3g9YXdhaXQgZy5YZShMKTt0cnl7cmV0dXJuIHFzKyssYXdhaXQgT1IoeCxbImluZGV4IiwibWVkaWEiXSx7bW9kZToicmVhZHdyaXRlIix0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfV0lBQyIsR1E6ITB9LEc9PntpZihrIT09dm9pZCAwJiZoIT09dm9pZCAwKXt2YXIgcj1gJHtufXwke1cuaWR9fCR7ZX18JHtTdHJpbmcoaykucGFkU3RhcnQoMTAsIjAiKX1gO3I9Ry5vYmplY3RTdG9yZSgibWVkaWEiKS5wdXQoaCxyKX1lbHNlIHI9c1IucmVzb2x2ZSh2b2lkIDApO3ZhciBOPUdmKG4sVy5mWSgpKSxIPUdmKG4sIVcuZlkoKSksQT17Zm10czpnLkV0KHtkbHQ6Yi5kb3dubG9hZGVkRW5kVGltZS50b1N0cmluZygpLApta2V0OmIubWF4S25vd25FbmRUaW1lLnRvU3RyaW5nKCksYXZicjpiLmF2ZXJhZ2VCeXRlUmF0ZS50b1N0cmluZygpfSksZm9ybWF0OkR8fHt9fTtOPUcub2JqZWN0U3RvcmUoImluZGV4IikucHV0KEEsTik7dmFyIHk9Yi5kb3dubG9hZGVkRW5kVGltZT09PS0xO0E9eT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLmdldChIKTpzUi5yZXNvbHZlKHZvaWQgMCk7dmFyIFQ9e2ZtdHM6Im11c2ljIixmb3JtYXQ6e319O0c9eSYmdiYmIVcuZlkoKT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLnB1dChULEgpOnNSLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gc1IuYWxsKFtHLEEscixOXSkudGhlbigoWyx6XSk9Pntxcy0tO3ZhciBDPWUkKG4pLFE7IShRPUMhPT00JiZ5JiZ2KSYmKFE9eiE9PXZvaWQgMCkmJihRPSh6PXouZm10cyk/ej09PSJtdXNpYyI/ITA6ei5pbmNsdWRlcygiZGx0PS0xIil8fCF6LmluY2x1ZGVzKCJkbHQ9Iik6ITEpO1EmJihDPTEsZzYobixDKSk7cmV0dXJuIEN9KX0pfWNhdGNoKEcpe3FzLS07Cng9ZSQobik7aWYoeD09PTQpcmV0dXJuIHg7ZzYobiw0KTt0aHJvdyBHO319OwpCJHg9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9YXdhaXQgZy5uUCgpO2lmKCFXKXRocm93IGcucjAoInJpIik7cmV0dXJuIE9SKGF3YWl0IGcuWGUoVyksWyJpbmRleCJdLHttb2RlOiJyZWFkb25seSIsdGFnOiJJREJfVFJBTlNBQ1RJT05fVEFHX0xNUkkifSxEPT57dmFyIGI9SURCS2V5UmFuZ2UuYm91bmQobisifCIsbisifiIpO3JldHVybiBELm9iamVjdFN0b3JlKCJpbmRleCIpLmdldEFsbChiKS50aGVuKHY9PnYubWFwKGs9Pms/ay5mb3JtYXQ6e30pKX0pfTsKdzNpPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9YXdhaXQgZy5uUCgpO2lmKCFrKXRocm93IGcucjAoInJjIik7az1PUihhd2FpdCBnLlhlKGspLFsibWVkaWEiXSx7bW9kZToicmVhZG9ubHkiLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19MTVJNIn0saD0+e3ZhciB4PWAke259fCR7V318JHtEfXwke1N0cmluZyhiKS5wYWRTdGFydCgxMCwiMCIpfWA7cmV0dXJuIGgub2JqZWN0U3RvcmUoIm1lZGlhIikuZ2V0KHgpfSk7CnJldHVybiB2P2sudGhlbihoPT57aWYoaD09PXZvaWQgMCl0aHJvdyBFcnJvcigiTm8gZGF0YSBmcm9tIGluZGV4RGIiKTtyZXR1cm4gRkkxKHYsaCl9KS5jYXRjaChoPT57dGhyb3cgbmV3IGcuUXgoYEVycm9yIHdoaWxlIHJlYWRpbmcgY2h1bms6ICR7aC5uYW1lfSwgJHtoLm1lc3NhZ2V9YCk7Cn0pOmt9OwpHZj1mdW5jdGlvbihuLFcpe3JldHVybmAke259fCR7Vz8idiI6ImEifWB9OwpSRWk9ZnVuY3Rpb24obil7dmFyIFc9e30sRD17fTtmb3IobGV0IGsgb2Ygbil7dmFyIGI9ay5zcGxpdCgifCIpO2lmKCFrLm1hdGNoKE1tQykpe0Rba109Ij8iO2NvbnRpbnVlfW49TnVtYmVyKGIucG9wKCkpO2lmKGlzTmFOKG4pKXtEW2tdPSI/Ijtjb250aW51ZX12YXIgdj1iLmpvaW4oInwiKTsoYj1XW3ZdKT8odj1iW2IubGVuZ3RoLTFdLG49PT12LmVuZCsxP3YuZW5kPW46Yi5wdXNoKHtzdGFydDpuLGVuZDpufSkpOldbdl09W3tzdGFydDpuLGVuZDpufV19Zm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKFcpKURba109V1trXS5tYXAoaD0+YCR7aC5zdGFydH0tJHtoLmVuZH1gKS5qb2luKCIsIik7CnJldHVybiBEfTsKJEw9ZnVuY3Rpb24obixXKXt2YXIgRD1uLlYoKSxiPW4uWCgpLHY9MSxrPTAsaD1nLmRNKG4ueVEuZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYWRfZ2FpbiIpO2ghPW51bGwmJkQmJih2PWgpO2lmKGI/LkQoKSl7az1iLmF1ZGlvPy5KPz9uLko7aWYoaz09bnVsbHx8aXNOYU4oaykpaz12b2lkIDA7cmV0dXJue0R5OjAsWnI6MSx3RzoxLGZkOmsscHk6ayxSUzprLGZvcm1hdElkOmIuaWQsYUc6VyxJejpuLnlRLlZRLFFPOm4uUU99fUQ9Yj8uYXVkaW8/Lko/P24uSjtiIT1udWxsJiZiLmF1ZGlvPy5KPT1udWxsJiZuLlUoImFnYyIse25vX2FiOjF9KTtpZihEPT1udWxsfHxpc05hTihEKSlyZXR1cm4gVz1iPy5hdWRpbz8uWCE9bnVsbD9iLmF1ZGlvLlg6bi5XLGlzTmFOKFcpfHwoaz00KSxXPS1XLHtEeTpXLFpyOk1hdGgubWluKDEsMTAqKihXLzIwKSl8fHYsd0c6ayxmb3JtYXRJZDpiPy5pZCxRTzpuLlFPfTtrPTE7aD1uLmxvdWRuZXNzVGFyZ2V0TGtmczt2YXIgeD1uLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uIik7CmlmKG4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24mJngpe2lmKFchPW51bGwpdmFyIEw9VztlbHNlIGlzRmluaXRlKG4ueVEuVlEpJiYoTD1uLnlRLlZRKTtMIT1udWxsJiYoaz0yLGg9Zy5GZihMLG4ubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyxuLmxvdWRuZXNzVGFyZ2V0TGtmcykpfXZhciBlPU1hdGgubWluKGgtRCwwKTt2YXIgRz1EK2U7dj1NYXRoLm1pbigxLDEwKiooZS8yMCkpfHx2O3gmJm4uVSgiYWdjIix7c3Rub3JtOm4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24saHN0OlcsZW52Om4ueVEuVlEsZm1sOkQsc3RndDpMLHRtaW46bi5taW5pbXVtTG91ZG5lc3NUYXJnZXRMa2ZzLHRtYXg6bi5sb3VkbmVzc1RhcmdldExrZnMsbmc6ZX0pO3JldHVybntEeTplLFpyOnYsd0c6ayxmZDpELHB5OmgsUlM6Ryxmb3JtYXRJZDpiPy5pZCxhRzpXLEl6Om4ueVEuVlEsUU86bi5RT319OwpyNj1mdW5jdGlvbihuLFcpe1c9JEwobixXKTtuLk49VztuLnByZXNlcnZlU3RhdGVmdWxMb3VkbmVzc1RhcmdldCYmVy5SUyE9bnVsbCYmKG4ueVEuVlE9Vy5SUyk7cmV0dXJuIFcuWnJ9OwpRaTI9ZnVuY3Rpb24obixXLEQpe1c9e2NwbjpXfTtuLmluZGV4T2YoIi9pYncvIik9PT0tMSYmKFcuaWJ3PUQ/U3RyaW5nKEQpOiIxMzY5ODQzIik7cmV0dXJue3VybDpnLkVUKG4sVyksdHlwZToiYXBwbGljYXRpb24veC1tcGVnVVJMIixxdWFsaXR5OiJhdXRvIixpdGFnOiI5MyJ9fTsKVm10PWZ1bmN0aW9uKG4pe3RyeXtsZXQgVz0obmV3IGcud1oobiwhMCkpLmdldCgibiIpO2lmKFcpe2xldCBEPW4ubWF0Y2goL1wvblwvKFteL10rKS8pO2lmKEQmJkRbMV0mJkRbMV0hPT1XKXJldHVybiBuLnJlcGxhY2UoYC9uLyR7RFsxXX1gLGAvbi8ke1d9YCl9fWNhdGNoKFcpe2cuR3EoVyl9cmV0dXJuIG59OwpzVT1mdW5jdGlvbihuKXtpZihuLmlzQWQoKSYmKG4uVlE/bi52aWRlb0lkIT09bi55US5TJDpuLnZpZGVvSWQhPW4ueVEuUyQpKXJldHVybiBuLnlRLlMkfTsKVm49ZnVuY3Rpb24obil7aWYobil7aWYoQm4obikpcmV0dXJuIG47bj1lQShuKTtpZihCbihuLCEwKSlyZXR1cm4gbn1yZXR1cm4iIn07CmcuWU49ZnVuY3Rpb24obil7aWYoZy4kNihuLnlRKSYmbi55US5WPT09Inl0IiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzIikpcmV0dXJuITE7aWYobi5abylyZXR1cm4gbi5ERSYmbi5VKCJmZHMiLHtmZHM6ITB9LCEwKSwhMTtpZihuLnlRLlYhPT0ieXQiJiYhY3F4KG4pKXJldHVybiBuLkRFJiZuLlUoImRzdm4iLHtuczpuLnlRLlZ9LCEwKSwhMTtpZihuLmNvdG58fCFuLk58fG4uTi5pc090ZiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpfHxuLlcmJiFuLlcuTigpfHxuLkNVJiYhbi5TKCJodG1sNV9lbmFibGVfc2Ficl9jc2RhaSIpKXJldHVybiExO2lmKG4uUygiaHRtbDVfdXNlX3NhYnJfcmVxdWVzdHNfZm9yX2RlYnVnZ2luZyIpKXJldHVybiEwO24uREUmJm4uVSgiZXNmdyIse3VzYmM6bi5ERSxoc3U6ISFuLmxDfSwhMCk7aWYobi5ERSYmbi5sQylyZXR1cm4hMDtpZihuLlMoImh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uIikpcmV0dXJuITE7CnZhciBXPSFuLk4uelcmJiFuLk1pKCksRD1XJiZOcyYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hociIpO1c9VyYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9ub25fc3RyZWFtaW5nX3hociIpO3ZhciBiPXBMKG4pLHY9bi5TKCJodG1sNV9lbmFibGVfc2Ficl9kcm1fdm9kX3N0cmVhbWluZ194aHIiKSYmTnMmJm4uTWkoKSYmIW4uTi56VyYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCk7KEQ9RHx8V3x8Ynx8dikmJiFuLmxDJiZuLlUoInNhYnIiLHtsb2M6Im0ifSwhMCk7cmV0dXJuIEQmJiEhbi5sQ307CldqPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09Mj9XW25bMF1dPW5bMV06V1tEXT0hMDtyZXR1cm4gV307CkhqPWZ1bmN0aW9uKG4pe2lmKG4uUygiaHRtbDVfb25lc2llIikmJm4uZXJyb3JDb2RlKXJldHVybiExO3ZhciBXPWcuamoobi5JSiwieXBjIik7bi55cGNQcmV2aWV3JiYoVz0hMSk7cmV0dXJuIG4uT1YoKSYmIW4ubG9hZGluZyYmKGcuWUwobil8fGcuamoobi5JSiwiaGVhcnRiZWF0Iil8fFcpfTsKZkw9ZnVuY3Rpb24obil7bi5xTigpfHwobi5sb2FkaW5nPSExLG4uV0ooImRhdGFsb2FkZWQiKSl9OwptZj1mdW5jdGlvbihuLFcpe3ZhciBEPVcucmF3X2VtYmVkZGVkX3BsYXllcl9yZXNwb25zZTtpZighRCl7dmFyIGI9Vy5lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9RCYmKG4uTz1EKTtpZihuLk8pe24uZW1iZWRkZWRQbGF5ZXJDb25maWc9bi5PLmVtYmVkZGVkUGxheWVyQ29uZmlnfHxudWxsO2lmKEQ9bi5PLnZpZGVvRmxhZ3MpRC5wbGF5YWJsZUluRW1iZWQmJihuLmFsbG93RW1iZWQ9ITApLEQuaXNQcml2YXRlJiYobi5pc1ByaXZhdGU9ITApLEQudXNlckRpc3BsYXlOYW1lJiYoVy51c2VyX2Rpc3BsYXlfbmFtZT1ELnVzZXJEaXNwbGF5TmFtZSksRC51c2VyRGlzcGxheUltYWdlJiYoVy51c2VyX2Rpc3BsYXlfaW1hZ2U9RC51c2VyRGlzcGxheUltYWdlKTtpZigoRD1uLk8uZW1iZWRQcmV2aWV3KSYmRC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpe0Q9RC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI7bkwobixELmNvbnRyb2xCZ0h0bWwpO2lmKGI9CkQuZGVmYXVsdFRodW1ibmFpbCluLnRPPXdjKGIpOyhiPWcudyhEPy52aWRlb0RldGFpbHMsYW9VKSkmJkp4KG4sVyxiKTtiPWcudyhEPy52aWRlb0RldGFpbHMsbnFNKTtuLkU1PSEhRC5hZGRUb1dhdGNoTGF0ZXJCdXR0b247bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO2I/Lm11c2ljVmlkZW9UeXBlJiYobi5tdXNpY1ZpZGVvVHlwZT1iLm11c2ljVmlkZW9UeXBlKTtpZihiPWcudyhuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKT8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LnBsYXlCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsZy5JUSkpb0EobixiKSxuLnZpZGVvSWQ9Yi52aWRlb0lkfHxuLnZpZGVvSWQ7RC52aWRlb0R1cmF0aW9uU2Vjb25kcyYmKG4ubGVuZ3RoU2Vjb25kcz1nLk5oKEQudmlkZW9EdXJhdGlvblNlY29uZHMpKTtELndlYlBsYXllckFjdGlvbnNQb3J0aW5nJiZhQShuLEQud2ViUGxheWVyQWN0aW9uc1BvcnRpbmcpOwppZihEPWcudyhEPy5wbGF5bGlzdCxXR2kpKXtuLk1kPSEwO2I9W107dmFyIHY9TnVtYmVyKEQuY3VycmVudEluZGV4KTtpZihELmNvbnRlbnRzKWZvcihsZXQgaz0wLGg9RC5jb250ZW50cy5sZW5ndGg7azxoO2srKyl7bGV0IHg9RC5jb250ZW50c1trXS5wbGF5bGlzdFBhbmVsVmlkZW9SZW5kZXJlcjtpZigheCljb250aW51ZTtsZXQgTD14LnNob3J0QnlsaW5lVGV4dD9nLkRwKHguc2hvcnRCeWxpbmVUZXh0KToiIixlPXgudGl0bGU/Zy5EcCh4LnRpdGxlKToiIjtiLnB1c2goe2F1dGhvcjpMLGVuY3J5cHRlZF9pZDp4LnZpZGVvSWQsdGl0bGU6ZSxjaGFubmVsX3BhdGg6az09PXY/Vy5jaGFubmVsX3BhdGg6IiIscHJvZmlsZV9waWN0dXJlOms9PT12P1cucHJvZmlsZV9waWN0dXJlOiIiLGlzX3ByaXZhdGU6az09PXY/bi5pc1ByaXZhdGU6ITAsaXNfZG5pOms9PT12P24uaU46ITEsZG5pX2NvbG9yOms9PT12P24uclI6IiJ9KX1XPXtpbmRleDpELmN1cnJlbnRJbmRleCxsaXN0OkQucGxheWxpc3RJZCwKcGxheWxpc3RfbGVuZ3RoOkQudG90YWxWaWRlb3MsdmlkZW86Yn07RC50aXRsZVRleHQmJihXLnRpdGxlPWcuRHAoRC50aXRsZVRleHQpKTtELnNob3J0QnlsaW5lVGV4dCYmKFcuYXV0aG9yPWcuRHAoRC5zaG9ydEJ5bGluZVRleHQpKTtuLlE3PVd9aWYoVz1nLncobi5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCk/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKFc/LmR1cmF0aW9uTXMpfHxOYU4sVz8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPVc/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxXPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYobi5Saz1XPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsKX1pZihuLk8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzKXtpZihuLmVCPW4uTy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsVz1uLmVCLCFbIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKFcuc3RhdHVzKSl7bi5lcnJvckNvZGU9CmlpKFcuZXJyb3JDb2RlKTtEPVcuZXJyb3JTY3JlZW47aWYoYj1EPy5wbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcil7bi5mbT1iO2lmKHY9Yi5yZWFzb24pbi5lcnJvclJlYXNvbj1nLkRwKHYpO2lmKGI9Yi5zdWJyZWFzb24pbi53aT1nLkRwKGIpfWVsc2Ugbi5lcnJvclJlYXNvbj1XLnJlYXNvbnx8bnVsbDtzd2l0Y2goVy5zdGF0dXMpe2Nhc2UgIkxPR0lOX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIxIjticmVhaztjYXNlICJDT05URU5UX0NIRUNLX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIyIjticmVhaztjYXNlICJBR0VfQ0hFQ0tfUkVRVUlSRUQiOm4uZXJyb3JEZXRhaWw9RD8ucGxheWVyS2F2UmVuZGVyZXI/LmthdlVybD8iNCI6IjMiO2JyZWFrO2RlZmF1bHQ6bi5lcnJvckRldGFpbD1XLmlzQmxvY2tlZEluUmVzdHJpY3RlZE1vZGU/IjUiOiIwIn19fWVsc2Ugbi5PLnBsYXlhYmlsaXR5U3RhdHVzJiYobi5SdD1uLk8ucGxheWFiaWxpdHlTdGF0dXMsQXgobikmJihuLmVycm9yRGV0YWlsPQoiMCIsbi5SdCYmKChXPW4uUnQuZW1iZWRkZWRQbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcik/bi5mbT1nLncoVyxEdEMpOm4uZXJyb3JSZWFzb249bi5SdC5yZWFzb258fG51bGwpKSk7KFc9bi5PLmF0dGVzdGF0aW9uKSYmUW4obixXKTsoVz1uLk8ucGVybWlzc2lvbnMpJiZXLmFsbG93SW1hTW9uZXRpemF0aW9uJiYobi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hMCl9fTsKRVU9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnJhd193YXRjaF9uZXh0X3Jlc3BvbnNlO2lmKCFEKXt2YXIgYj1XLndhdGNoX25leHRfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9aWYoRCl7bi53YXRjaE5leHRSZXNwb25zZT1EOyhEPW4ud2F0Y2hOZXh0UmVzcG9uc2UucGxheWVyQ3VlUmFuZ2VTZXQpJiZnLktMKG4sRCk7RD1uLndhdGNoTmV4dFJlc3BvbnNlLnBsYXllck92ZXJsYXlzO2lmKEQmJihEPUQucGxheWVyT3ZlcmxheVJlbmRlcmVyKSl7aWYoYj1ELmF1dG9uYXZUb2dnbGUpbi5hdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyPWcudyhiLGJXWiksbi5TKCJ3ZWJfcGxheWVyX2F1dG9uYXZfdXNlX3NlcnZlcl9wcm92aWRlZF9zdGF0ZSIpJiZuLkFWKCkmJihuLmF1dG9uYXZTdGF0ZT1uLmF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIuZW5hYmxlZD8yOjEpO2lmKGI9RC52aWRlb0RldGFpbHMpe3ZhciB2PWIuZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXI7CmlmKGI9Yi5wbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIpYi50aXRsZSYmKFcudGl0bGU9Zy5EcChiLnRpdGxlKSksYi5zdWJ0aXRsZSYmKFcuc3VidGl0bGU9Zy5EcChiLnN1YnRpdGxlKSl9Zy5DTihuLnlRKSYmKG4uRTU9ISFELmFkZFRvTWVudSk7bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO0Quc3RhcnRQb3NpdGlvbiYmRC5lbmRQb3NpdGlvbiYmKG4ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPUQuc3RhcnRQb3NpdGlvbixuLnByb2dyZXNzQmFyRW5kUG9zaXRpb249RC5lbmRQb3NpdGlvbik7aWYoYj1nLncobi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKGI/LmR1cmF0aW9uTXMpfHxOYU4sYj8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPWI/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxiPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYKKG4uUms9Yj8uaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbCk7bi5zaG93U2Vla2luZ0NvbnRyb2xzPSEhRC5zaG93U2Vla2luZ0NvbnRyb2xzfWlmKEQ9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5jb250ZW50cz8udHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cylpZihEPUQuZGVza3RvcE92ZXJsYXkmJmcudyhELmRlc2t0b3BPdmVybGF5LHZxdCkpRC5zdXBwcmVzc1NoYXJlQnV0dG9uJiYobi5zaG93U2hhcmVCdXR0b249ITEpLEQuc3VwcHJlc3NXYXRjaExhdGVyQnV0dG9uJiYobi5FNT0hMSk7diYmSngobixXLHYpO0Q9REkoMCxXLmF1dG9wbGF5X2NvdW50KTt2YXIgaz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk7Yj1rLmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzO3Y9ay5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI7dmFyIGg9a0wobik7aWYoKGs9ay5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cykmJgprLmF1dG9wbGF5Py5hdXRvcGxheSYmIWsucGxheWxpc3Qpe2xldCB5PWsuYXV0b3BsYXkuYXV0b3BsYXkuc2V0cztrPXt9O3ZhciB4PW5ldyBPVShuLkcoKSksTD1udWxsLGU7aWYoeSl7Zm9yKHZhciBHIG9mIHkpaWYoKGU9Ry5hdXRvcGxheVZpZGVvUmVuZGVyZXIpJiZlLmNvbXBhY3RWaWRlb1JlbmRlcmVyKXtMPWUuY29tcGFjdFZpZGVvUmVuZGVyZXI7YnJlYWt9aWYoZT15WzBdLmF1dG9wbGF5VmlkZW8pKEc9ZS5jbGlja1RyYWNraW5nUGFyYW1zKSYmKGsuaXRjdD1HKSxrLmF1dG9uYXY9IjEiLGsucGxheW5leHQ9U3RyaW5nKEQpfWVsc2Ugay5mZWF0dXJlPSJyZWxhdGVkLWF1dG8iO2U9Zy53KGUsZy5JUSk7aWYoTCl7eC52aWRlb0lkPUwudmlkZW9JZDtpZihlPUwuc2hvcnRCeWxpbmVUZXh0KXguYXV0aG9yPWcuRHAoZSk7aWYoZT1MLnRpdGxlKXgudGl0bGU9Zy5EcChlKX1lbHNlIGUhPW51bGwmJmUudmlkZW9JZCYmKHgudmlkZW9JZD1lLnZpZGVvSWQpO3gueXo9aztuLnN1Z2dlc3Rpb25zPQpbXTtuLlU1PXh9aWYoaCl7ZT1bXTtmb3IodmFyIHIgb2YgaCl7aD12b2lkIDA7Rz1udWxsO2lmKHIuZW5kU2NyZWVuVmlkZW9SZW5kZXJlcil7az1yLmVuZFNjcmVlblZpZGVvUmVuZGVyZXI7eD1rLnRpdGxlO0c9bmV3IE9VKG4uRygpKTtHLnZpZGVvSWQ9ay52aWRlb0lkO0cubGVuZ3RoU2Vjb25kcz1rLmxlbmd0aEluU2Vjb25kc3x8MDtpZihMPWsucHVibGlzaGVkVGltZVRleHQpRy5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKEwpO2lmKEw9ay5zaG9ydEJ5bGluZVRleHQpRy5hdXRob3I9Zy5EcChMKTtpZihMPWsuc2hvcnRWaWV3Q291bnRUZXh0KUcuc2hvcnRWaWV3Q291bnQ9Zy5EcChMKTt4JiYoRy50aXRsZT1nLkRwKHgpLCh4PXguYWNjZXNzaWJpbGl0eSkmJih4PXguYWNjZXNzaWJpbGl0eURhdGEpJiZ4LmxhYmVsJiYoRy5hcmlhTGFiZWw9eC5sYWJlbCkpO2lmKEw9ay5uYXZpZ2F0aW9uRW5kcG9pbnQpaD1MLmNsaWNrVHJhY2tpbmdQYXJhbXMseD1nLncoTCxnLklRKSxMPWcudyhMLApnLlBqKSx4P0cuczA9eDpMIT1udWxsJiYoRy53YXRjaFVybD1MLnVybCk7aWYoeD1rLnRodW1ibmFpbE92ZXJsYXlzKWZvcih2YXIgTiBvZiB4KWlmKHg9Ti50aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyKWlmKHguc3R5bGU9PT0iTElWRSIpe0cuaXNMaXZlUGxheWJhY2s9ITA7YnJlYWt9ZWxzZSBpZih4LnN0eWxlPT09IlVQQ09NSU5HIil7Ry5pc1VwY29taW5nPSEwO2JyZWFrfUcudE89d2Moay50aHVtYm5haWwpfWVsc2UgaWYoci5lbmRTY3JlZW5QbGF5bGlzdFJlbmRlcmVyKXtrPXIuZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjtoPWsubmF2aWdhdGlvbkVuZHBvaW50O2lmKCFoKWNvbnRpbnVlO0c9Zy53KGgsZy5JUSk7aWYoIUcpY29udGludWU7eD1HLnZpZGVvSWQ7Rz1uZXcgWnoobi5HKCkpO0cucGxheWxpc3RJZD1rLnBsYXlsaXN0SWQ7Ry5wbGF5bGlzdExlbmd0aD1OdW1iZXIoay52aWRlb0NvdW50KXx8MDtHLk49eHx8bnVsbDtHLnZpZGVvSWQ9eDtpZih4PQprLnRpdGxlKUcudGl0bGU9Zy5EcCh4KTtpZih4PWsuc2hvcnRCeWxpbmVUZXh0KUcuYXV0aG9yPWcuRHAoeCk7aD1oLmNsaWNrVHJhY2tpbmdQYXJhbXM7Ry50Tz13YyhrLnRodW1ibmFpbCl9RyYmKGgmJihHLnNlc3Npb25EYXRhPXtpdGN0Omh9KSxlLnB1c2goRykpfW4uc3VnZ2VzdGlvbnM9ZX1pZih2KXtuLkozPSEhdi5wcmVmZXJJbW1lZGlhdGVSZWRpcmVjdDtuLkcoKS5adCgpLk4uUVEoa05qKSYmKG4uaDM9ISF2LnNob3dQYXVzZWRXaGVuRGlzYWJsZWQpO24uclc9bi5yV3x8ISF2LndlYlNob3dOZXdBdXRvbmF2Q291bnRkb3duO2lmKG4uclcpe049djtiPWJ8fG51bGw7cj1uZXcgT1Uobi5HKCkpO3IudmlkZW9JZD1OLnZpZGVvSWQ7aWYoZT1OLnZpZGVvVGl0bGUpci50aXRsZT1nLkRwKGUpLChlPWUuYWNjZXNzaWJpbGl0eSkmJihlPWUuYWNjZXNzaWJpbGl0eURhdGEpJiZlLmxhYmVsJiYoci5hcmlhTGFiZWw9ZS5sYWJlbCk7aWYoZT1OLmJ5bGluZSlyLmF1dGhvcj1nLkRwKGUpOwppZihlPU4ucHVibGlzaGVkVGltZVRleHQpci5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKGUpO2lmKGU9Ti5zaG9ydFZpZXdDb3VudFRleHQpci5zaG9ydFZpZXdDb3VudD1nLkRwKGUpO2lmKGU9Ti50aHVtYm5haWxPdmVybGF5cylmb3IodmFyIEggb2YgZSlpZihlPUgudGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcilpZihlLnN0eWxlPT09IkxJVkUiKXtyLmlzTGl2ZVBsYXliYWNrPSEwO2JyZWFrfWVsc2UgaWYoZS5zdHlsZT09PSJVUENPTUlORyIpe3IuaXNVcGNvbWluZz0hMDticmVha31lbHNlIGlmKGUuc3R5bGU9PT0iREVGQVVMVCImJmUudGV4dCl7ci5sZW5ndGhUZXh0PWcuRHAoZS50ZXh0KTsoSD1lLnRleHQuYWNjZXNzaWJpbGl0eSkmJihIPUguYWNjZXNzaWJpbGl0eURhdGEpJiZILmxhYmVsJiYoci5pZz1ILmxhYmVsfHwiIik7YnJlYWt9ci50Tz13YyhOLmJhY2tncm91bmQpO2lmKEg9Ti5uZXh0QnV0dG9uKWlmKEg9SC5idXR0b25SZW5kZXJlcilpZihIPUgubmF2aWdhdGlvbkVuZHBvaW50KWlmKEg9CmcudyhILGcuSVEpKXIuczA9SDtOLnRvcEJhZGdlcyYmKEg9Ti50b3BCYWRnZXNbMF0pJiYoSD1nLncoSCxoazIpKSYmSC5zdHlsZT09PSJCQURHRV9TVFlMRV9UWVBFX1BSRU1JVU0iJiYoci5OPSEwKTtpZihIPU4uYWx0ZXJuYXRpdmVUaXRsZSlyLko5PWcuRHAoSCk7SD1yO0Q9e2F1dG9uYXY6IjEiLHBsYXluZXh0OlN0cmluZyhEKX07SC5wbGF5bGlzdElkJiYoRC5hdXRvcGxheT0iMSIpO2lmKGIpe2lmKE49Yi5hdXRvcGxheT8uYXV0b3BsYXk/LnNldHM/LlswXT8uYXV0b3BsYXlWaWRlbylpZigoYj1OLmNsaWNrVHJhY2tpbmdQYXJhbXMpJiYoRC5pdGN0PWIpLE49Zy53KE4sZy5JUSkpSC50RT1OfWVsc2UgTiYmKE49Ti5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zKSYmKEQuaXRjdD1OKTtELml0Y3R8fChELmZlYXR1cmU9InJlbGF0ZWQtYXV0byIpO0gueXo9RDtuLnN1Z2dlc3Rpb25zfHwobi5zdWdnZXN0aW9ucz0KW10pO24uVTU9cn12LmNvdW50RG93blNlY3MhPW51bGwmJihuLk9OPXYuY291bnREb3duU2VjcyoxRTMpO3YuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4hPW51bGwmJihuLnMzPXYuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4+PTA/di5jb3VudERvd25TZWNzRm9yRnVsbHNjcmVlbioxRTM6LTEpfWlmKHY9a0wobikpdj12Py5bMF0/LmVuZFNjcmVlblZpZGVvUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludD8uY2xpY2tUcmFja2luZ1BhcmFtcyxIPW4uVTV8fG4uc3VnZ2VzdGlvbnM/LlswXXx8bnVsbCx2JiZIJiYoSC5zZXNzaW9uRGF0YT17aXRjdDp2fSk7bi53YXRjaE5leHRSZXNwb25zZS5jdXJyZW50VmlkZW9UaHVtYm5haWwmJihuLnRPPXdjKG4ud2F0Y2hOZXh0UmVzcG9uc2UuY3VycmVudFZpZGVvVGh1bWJuYWlsKSk7KHY9bi53YXRjaE5leHRSZXNwb25zZT8uY29udGVudHM/LnR3b0NvbHVtbldhdGNoTmV4dFJlc3VsdHM/LnJlc3VsdHM/LnJlc3VsdHM/LmNvbnRlbnRzKSYmCnZbMF0mJihIPXZbMF0udmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyKSYmSCYmSC5zdWJ0aXRsZSYmKG4uWDQ9Zy5EcChILnN1YnRpdGxlKSk7diYmdlsxXSYmKHY9dlsxXS52aWRlb1NlY29uZGFyeUluZm9SZW5kZXJlcj8ub3duZXI/LnZpZGVvT3duZXJSZW5kZXJlcj8udGh1bWJuYWlsPy50aHVtYm5haWxzKSYmdi5sZW5ndGgmJihuLnByb2ZpbGVQaWN0dXJlPXZbdi5sZW5ndGgtMV0udXJsKTtXPWtSKFcpO2lmKHY9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHMpZm9yKHZhciBBIG9mIHYpZy53KEEsVVUpJiYobi5ScT1nLncoQSxVVSkpLHY9Zy53KEEseHRNKSx2Py5lbnRpdHlLZXlzJiYobi5MTj12LmVudGl0eUtleXN8fFtdLHYudmlzaWJsZU9uTG9hZEtleXMmJihuLnZpc2libGVPbkxvYWRLZXlzPXYudmlzaWJsZU9uTG9hZEtleXMpKTtuLlMoIndlYl9rZXlfbW9tZW50c19tYXJrZXJzIikmJihBPXl6LmdldFN0YXRlKCkuZW50aXRpZXMsCnY9bmYoInZpc2liaWxpdHlfb3ZlcnJpZGUiLCJtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5IiksQT1BLm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk/QS5tYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5W3ZdfHxudWxsOm51bGwsbi5IeD1BPy52aWRlb0lkPT09KG4udmlkZW9JZHx8VykmJkE/LnZpc2liaWxpdHlPdmVycmlkZU1hcmtlcnNLZXk/QS52aXNpYmlsaXR5T3ZlcnJpZGVNYXJrZXJzS2V5Om4udmlzaWJsZU9uTG9hZEtleXMsbi52aXNpYmxlT25Mb2FkS2V5cz1bLi4ubi5IeF0pfX07CmlqPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnJhd19yZWVsX2l0ZW1fd2F0Y2hfcmVzcG9uc2Upbi5yZWVsSXRlbVdhdGNoUmVzcG9uc2U9V307CnVqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5yYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U7RHx8KFc9Vy5yZXNvbHZlX3VybF9yZXNwb25zZSkmJihEPUpTT04ucGFyc2UoVykpO0QmJihuLnBvPUQpfTsKZDY9ZnVuY3Rpb24obixXKXtuLmZmbGFncz1iTyhuLmZmbGFncyxXLmZmbGFncyk7dmFyIEQ9Vy5pdl9pbnZpZGVvX3VybDtEJiYobi5lYT1GTihEKSk7bi5SbT1ueShuLlJtLFcuaXZfYWRzX29ubHkpO2lmKEQ9Vy5jdGFfY29udmVyc2lvbl91cmxzKW4ubE09RDtuLmlzUGhhcm1hPW55KG4uaXNQaGFybWEsVy5pc19waGFybWEpO24uYXV0aG9yPWJPKG4uYXV0aG9yLFcuYXV0aG9yKTtuLndhPVZuKFcudHRzdXJsKXx8bi53YTtuLldjPW55KG4uV2MsVy5jY19hc3IpO2lmKEQ9Vy5wcm9maWxlX3BpY3R1cmUpbi5wcm9maWxlUGljdHVyZT1iTyhuLnByb2ZpbGVQaWN0dXJlLEQpO24udmlkZW9Db3VudFRleHQ9Yk8obi52aWRlb0NvdW50VGV4dCxXLnZpZGVvX2NvdW50X3RleHQpO24uYXV0b25hdlN0YXRlPVdCKG4uYXV0b25hdlN0YXRlLFcuYXV0b25hdl9zdGF0ZSxMRzEpO24uY2xpZW50UGxheWJhY2tOb25jZT1iTyhuLmNsaWVudFBsYXliYWNrTm9uY2UsVy5jcG4pO24uc3Vic2NyaWJlZD0Kbnkobi5zdWJzY3JpYmVkLFcuc3Vic2NyaWJlZCk7bi5yYXdWaWV3Q291bnQ9REkobi5yYXdWaWV3Q291bnQsVy52aWV3X2NvdW50KTtuLnNob3J0Vmlld0NvdW50PWJPKG4uc2hvcnRWaWV3Q291bnQsVy5zaG9ydF92aWV3X2NvdW50X3RleHQpO24ucHVibGlzaGVkVGltZVRleHQ9Yk8obi5wdWJsaXNoZWRUaW1lVGV4dHx8IiIsVy5wdWJsaXNoZWRUaW1lVGV4dCk7bi5sZW5ndGhUZXh0PWJPKG4ubGVuZ3RoVGV4dHx8IiIsVy5sZW5ndGhUZXh0KTtuLmlnPWJPKG4uaWd8fCIiLFcuaWcpO24uSjk9Yk8obi5KOXx8IiIsVy5KOSk7bi50aXRsZT1iTyhuLnRpdGxlLFcudGl0bGUpO24uc3VidGl0bGU9Yk8obi5zdWJ0aXRsZSxXLnN1YnRpdGxlKTtuLmV4cGFuZGVkVGl0bGU9Yk8obi5leHBhbmRlZFRpdGxlLFcuZXhwYW5kZWRfdGl0bGUpO24uZXhwYW5kZWRTdWJ0aXRsZT1iTyhuLmV4cGFuZGVkU3VidGl0bGUsVy5leHBhbmRlZF9zdWJ0aXRsZSk7bi55cGNQcmV2aWV3PWJPKG4ueXBjUHJldmlldywKVy55cGNfcHJldmlldyk7bi5EVD1iTyhuLkRULFcueXBjX29yaWdpbik7bi5MQj1ueShuLkxCLFcueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXIpO24uSWs9Yk8obi5JayxXLnlwY19jbGlja3dyYXBfbWVzc2FnZSk7bi5wYXlnYXRlZD1ueShuLnBheWdhdGVkLFcucGF5Z2F0ZWQpO24uS289bnkobi5LbyxXLnJlcXVpcmVzX3B1cmNoYXNlKTtuLnNob3dTaGFyZUJ1dHRvbj0hbnkoIW4uc2hvd1NoYXJlQnV0dG9uLFcuc3MpO24uRTU9bnkobi5FNSxXLnNob3d3YXRjaGxhdGVyKTtpZihEPVcuZWwpbi5ldmVudExhYmVsPUQ7aWYoRD1XLmtleXdvcmRzKW4ua2V5d29yZHM9V2ooRC5zcGxpdCgiLCIpKTtpZihEPVcucnZzKW4uc3VnZ2VzdGlvbnM9dXcoRCkubWFwKGI9PmIucGxheWxpc3R8fGIubGlzdHx8Yi5hcGk/bmV3IFp6KG4ueVEsYik6bmV3IE9VKG4ueVEsYikpOwpuLmNvbnRlbnRDaGVja09rPW55KG4uY29udGVudENoZWNrT2ssVy5jY28pO24ucmFjeUNoZWNrT2s9bnkobi5yYWN5Q2hlY2tPayxXLnJjbyk7bi5pc0xpdmluZ1Jvb21EZWVwbGluaz1ueShuLmlzTGl2aW5nUm9vbURlZXBsaW5rLFcuaXNfbGl2aW5nX3Jvb21fZGVlcGxpbmspO24ub2F1dGhUb2tlbj1iTyhuLm9hdXRoVG9rZW4sVy5vYXV0aF90b2tlbik7bi5ISj1iTyhuLkhKLFcua3B0KTtuLnZpc2l0b3JEYXRhPWJPKG4udmlzaXRvckRhdGEsVy52aXNpdG9yX2RhdGEpO2lmKEQ9Vy5zZXNzaW9uX2RhdGEpbi5zZXNzaW9uRGF0YT15RihELCImIik7bi5XSz1iTyhuLldLLFcudHJhY2tpbmdfbGlzdCk7bi5EdD1ueShuLkR0LFcucGF1c2VfYXRfc3RhcnQpO29RKG4sVyl9Owp6Zj1mdW5jdGlvbihuLFcsRCxiKXtXJiZXLmNwbiYmZy5HcShuZXcgZy5ReCgiQ1BOIHByb3ZpZGVkIGluIFZpZGVvRGF0YSB1cGRhdGUiLHtIWjpXLmNwbixLWTpuLmNsaWVudFBsYXliYWNrTm9uY2UsdEY6RH0pKTtiJiYobi5lcnJvckNvZGU9bnVsbCxuLmVycm9yRGV0YWlsPSIiLG4uZXJyb3JSZWFzb249bnVsbCxuLndpPW51bGwpO0Q/KGtSKFcpLG4uc2V0RGF0YShXKSxIaihuKSYmZkwobikpOihXPVd8fHt9LG1mKG4sVyksRVUobixXKSxpaihuLFcpLHVqKG4sVyksZDYobixXKSxuLldKKCJkYXRhdXBkYXRlZCIpKX07Cm9RPWZ1bmN0aW9uKG4sVyl7Vy5pbmxpbmVNZXRyaWNFbmFibGVkJiYobi5pbmxpbmVNZXRyaWNFbmFibGVkPSEwKTtXLnBsYXliYWNrX3Byb2dyZXNzXzBzX3VybCYmKG4uVEk9bmV3IGVrdChXKSk7aWYoVz1XLnZpZGVvX21hc3RoZWFkX2FkX3F1YXJ0aWxlX3VybHMpbi5OZj1XLnF1YXJ0aWxlXzBfdXJsLG4uYmU9Vy5xdWFydGlsZV8yNV91cmwsbi56ND1XLnF1YXJ0aWxlXzUwX3VybCxuLm1EPVcucXVhcnRpbGVfNzVfdXJsLG4uV0g9Vy5xdWFydGlsZV8xMDBfdXJsLG4uRnI9Vy5xdWFydGlsZV8wX3VybHMsbi53Tj1XLnF1YXJ0aWxlXzI1X3VybHMsbi5DdD1XLnF1YXJ0aWxlXzUwX3VybHMsbi5vSD1XLnF1YXJ0aWxlXzc1X3VybHMsbi5BdD1XLnF1YXJ0aWxlXzEwMF91cmxzfTsKZy5LTD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXKUQuY3VlUmFuZ2VTZXRJZGVudGlmaWVyJiZuLmJOLnNldChELmN1ZVJhbmdlU2V0SWRlbnRpZmllcixELnBsYXllckN1ZVJhbmdlcz8/W10pfTsKZ3FaPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBudWxsO2ZvcihsZXQgVyBvZiBuKWlmKG49Vy5hZFBsYWNlbWVudFJlbmRlcmVyPy5yZW5kZXJlcj8udmlkZW9BZFRyYWNraW5nUmVuZGVyZXIpcmV0dXJuIG47cmV0dXJuIG51bGx9Owpsaj1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5zb3VyY2VDb25maWdzO249bi5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5jb21wb3NpdGVWaWRlb0NvbmZpZz8uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ7aWYoIVd8fCFXLmxlbmd0aClyZXR1cm4iIjtufHwobj1XWzBdLnZpZGVvSWR8fCIiKTtmb3IobGV0IEQgb2YgVylpZihELnZpZGVvSWQ9PT1uJiZELmF1ZGlvVHJhY2tzKWZvcihsZXQgYiBvZiBELmF1ZGlvVHJhY2tzKWlmKGIuaXNEZWZhdWx0Rm9yU291cmNlKXJldHVybiBiLmlkfHwiIjtyZXR1cm4iIn07ClhZaD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgIkVNQkVEREVEX1BMQVlFUl9MSVRFX01PREVfRklYRURfUExBWUJBQ0tfTElNSVQiOkQ+MzA/bi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0zMDpEPDMwJiZEPjEwJiYobi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0xMCk7YnJlYWs7Y2FzZSAiRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIjpuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPUQqLjJ9fTsKcWpoPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFchPW51bGw/bnkobi5LLFcpOm4uSz9uLks6bi55US5wcmVmZXJHYXBsZXNzJiZuLnlRLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKR05oPWZ1bmN0aW9uKG4pe3JldHVybiEhbiYmaXNGaW5pdGUobikmJm4+MUU5fTsKQ0w9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCkmJlRmKG4pPyExOmokKG4pJiYoZy5HbChuLnlRKT8hbi5pc0xpdmVQbGF5YmFjazpuLmhsc3ZwKXx8IWZOKCl8fG4uVVQ/ITA6ITF9OwpCaj1mdW5jdGlvbihuKXtuPWcub0Uobik7cmV0dXJuIE51bWJlcihuLmV4cGlyZSl8fDB9OwpGZT1mdW5jdGlvbihuKXt2YXIgVz1uLkcoKTtyZXR1cm4gbi55US5WPT09ImhtInx8bi55US5WPT09ImdkInx8Vy5leHBlcmltZW50cy5adCgpLk4uUVEodFMyKSYmbi55US5YJiZuLnlRLlYhPT0iZ2wiPyEwOiExfTsKSng9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUQuY2hhbm5lbFRodW1ibmFpbDtiJiYoYj1iLnRodW1ibmFpbHMpJiYoYj1iWzBdKSYmKFcucHJvZmlsZV9waWN0dXJlPWIudXJsKTtpZihiPWcudyhnLncoRD8uY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LCR0TSk/LnVybEVuZHBvaW50LGcuUGopKVcuY2hhbm5lbF9wYXRoPWIudXJsO2lmKGI9RC5jb2xsYXBzZWRSZW5kZXJlcilpZihiPWcudyhiLHIxcikpe2xldCB2PWIudGl0bGU7diYmKFcudGl0bGU9Zy5EcCh2KSk7aWYoYj1iLnN1YnRpdGxlKVcuc3VidGl0bGU9Zy5EcChiKX1pZihEPUQuZXhwYW5kZWRSZW5kZXJlcilpZihEPWcudyhELHNzQykpe2lmKGI9RC50aXRsZSlXLmV4cGFuZGVkX3RpdGxlPWcuRHAoYik7aWYoYj1ELnN1YnRpdGxlKVcuZXhwYW5kZWRfc3VidGl0bGU9Zy5EcChiKTtpZihEPUQuc3Vic2NyaWJlQnV0dG9uKW4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI9Zy53KEQsTmgxKSxuLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyJiYKKFcudWNpZD1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLmNoYW5uZWxJZCxXLnN1YnNjcmliZWQ9bi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5zdWJzY3JpYmVkLG4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmbi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uLnRvZ2dsZUJ1dHRvblJlbmRlcmVyJiYoVz1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24udG9nZ2xlQnV0dG9uUmVuZGVyZXIsVy5pc1RvZ2dsZWQ/KG4ubGU9Vy50b2dnbGVkU2VydmljZUVuZHBvaW50fHxudWxsLG4uWTA9Vy5kZWZhdWx0U2VydmljZUVuZHBvaW50fHxudWxsKToobi5sZT1XLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnR8fG51bGwsbi5ZMD1XLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnR8fG51bGwpKSl9fTsKdzY9ZnVuY3Rpb24obil7cmV0dXJuISFuLkR4fHwhIW4uTmZ8fCEhbi5Gcnx8ISFuLlRJfHxuLmZafTsKUDA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47aWYoKG4mMTA3KT09bil7dmFyIGg9YltJWzVdXTtEW0lba144MTgzXV0oZnVuY3Rpb24ocixOLEgpe3RoaXNbSVtrXjgxNTddXShIW05dPWJbKGJbSVtrXjgxNTNdXShyKS1iW0lba144MTUzXV0odGhpc1tOXSkrTitoLS0pJWJbSVs1XV1dKX0sdltJW2teODE3NV1dKElba144MTU4XSkpfWlmKChuXjcxKT49NiYmKG4tMiYxNik8MylhOnt2YXIgeD1nLncoRCxwWVopfHxEW0lba143NjZdXSxMPXt4aTohMSwKRWw6SVtrXjY3OF0seTc6SVtrXjY3OF0sczpJW2teNjc4XX07aWYoIXgpe3ZhciBlPUw7YnJlYWsgYX14PWcuaXcoeCk7TFtJW2teNzQzXV09ITA7TFtJW2teNjQ0XV09eFtJW2teNjg2XV07TFtJW2teNjY1XV09eFtJW2teNjc5XV07TFtJW2teNjQ4XV09eFtJW2teNjQ4XV07ZT1MfWlmKChuJjEyNik9PW4pYTp7TD1EW0lba143MjcxXV0oSVtrXjcyNTRdKTt4PVsvWy8sLTQsL11bfSxdXFsnLyxJW2teNzE4NF0sLShrXjE4MTg5Njc3MzgpLC0oa14zMzc1NjY4NzMpLGteOTg5NTU4NzU4LG51bGwsVVloLC0oa144MjEyMzQxMTApLGteODc1MzU2NTIyLC0oa145NDM2MTYyODUpLC0oa144MzYxOTg2MDIpLGteMTU5ODMxMjY5MixaODEsa143MDczMDE3OTAsa14xMTcyOTI1ODk4LG51bGwsa140MTk5NDUxMywtKGteMjc3NDM3NjUyKSxrXjE0MzEzMjI2NzcsRTJVLC0oa14xNDYyMzMwNzMxKSx4dlUsbnVsbCxrXjE2MDQ0MTY1LGteNDg4OTU0MTc0LGteODIyNTEwODUxLFlqWixMLEhXdCwKZmFpLG8yaiwtKGteMjAyOTQ4MDMyNyksa14xMjgxODQ0NjYsa142NjMwMjAxNDQsU0ExLC0oa14xMjYwMTUwODE1KSwtKGteMTM4NTgyODA1NiksLShrXjE2NjI1MTc4MzcpLGteMTQ3ODUyMTA0NCwkWWosa14xODcwOTA2Mjg1LGteODIyNTEwODUxLFN1eCwtKGteMTExOTIxMzExNCksLShrXjg3NDEwNjcxMCksa14yMDc2NDU3OTE4LGteMTc0Njc4MTY5NCxJW2teNzI0MF0sb1VqLGteMTM4NDIyNjkxNSxNQ2IsLShrXjE2MjA0NjE3NTYpLGteMTI3MjM0ODc2MCxJW2teNzI5NF0sLShrXjkxMjQ2MDk4MSksa14xODg3MTM4NTY5LEoxWixJW2teNzE3MV0sTCwtKGteMTg5NjQ1NTA0KSwtKGteMTM1NTU3MzkzMSksLShrXjE0MTE5OTc0MjkpLGteMTk0Mzk0NjQxMyxMLElhMixTalUsa14xODcwOTA2Mjg1LElba143MjkwXSxBMTEsa14xMDM5NzI3ODI1LGteOTQxOTgzMTg4LC0oa14xODUwNDM2ODczKSxJW2teNzE2OF0sa14yMTYzOTkwMjEsbXR4LC0oa140NjQ5MjEzOSldO3hbNV09Cng7eFtrXjcyNDRdPXg7eFtrXjcyNTNdPXg7aWYodHlwZW9mIEtHdD09PUlba143Mjc4XSl7ZT1EO2JyZWFrIGF9dHJ5e3RyeXt4W2teNzI1NV09PT0tMyYmKCgoMCx4W2teNzI1NF0pKHhba143MTczXSx4W2teNzI0NF0pLCgoMCx4W2teNzI4MV0pKHhba143MjU2XSwoMCx4W2teNzI5MV0pKCkseFtrXjcyOTBdKSx4W2teNzI4MV0pKHhba143Mjg5XSwoMCx4W2teNzI0N10pKCkseFtrXjcyOTBdKSx4W2teNzI2M10pKHhba143MjUzXSksMSl8fCgoMCx4W2teNzI1NF0pKHhba143MjUxXSx4W2teNzI1Nl0pLHhba143MjYxXSkoeFtrXjcyNzJdLHhba143MjkyXSk+PigoMCx4W2teNzI2M10pKHhba143MjU2XSl8KDAseFtrXjcxNzVdKSh4W2teNzI1Ml0seFs1XSkpfWNhdGNoKHIpeygwLHhba143MjU1XSkoeFtrXjcyODJdKX1maW5hbGx5e3ZhciBHPU0zKGteNzI1NyxrXjIxOTAseCl9dHJ5e0c9WEQoa143MjUzLGteNzgwMCx4KX1jYXRjaChyKXt4W2teNzE3OV0hPS0zJiYoKCgoMCx4W2teCjcyOTJdKSgoMCx4W2teNzI0N10pKHhba143MTc3XSx4W2teNzE3NF0pLHhba143MjgzXSx4W2teNzE2OF0pLCgwLHhba143MTY5XSkoeFs1XSx4W2teNzI0OV0pLHhba143MTgxXSkoeFtrXjcyNDBdLHhba143MjgyXSkseFszXSkoeFtrXjcyNzBdLHhba143MjY5XSkseFtrXjcyNzhdKSgoMCx4W2teNzI3N10pKHhba143MjYxXSx4W2teNzI1MF0pLHhba143MjQ4XSwoMCx4W2teNzI2NF0pKHhba143Mjg3XSx4W2teNzI0NF0pLHhba143MjgzXSx4W2teNzI3MV0pLHhba143MjYwXSE9PTAmJih4W2teNzE2OF08PS0zPygwLHhba143MjY0XSkoeFtrXjcyNjldLHhba143MTc3XSk6KDAseFtrXjcxNjldKSh4W2teNzI2OF0sKDAseFtrXjcyNThdKSgpLHhbNF0pKX1maW5hbGx5e3hba143MTczXSE9PTQmJih4W2teNzI0N108PS00PygwLHhba143Mjg5XSkoKCgwLHhba143Mjc5XSkoeFtrXjcxODNdLHhba143MjQ0XSkseFtrXjcyNjhdKSh4W2teNzE4M10seFtrXjcyNDVdKSx4W2teNzI0OV0sCigwLHhba143MjQzXSkoKDAseFtrXjcyNDhdKSh4W2teNzI1N10seFtrXjcyODJdKSx4W2teNzI2OF0seFtrXjcyNDJdLHhba143MTcyXSksKCgoKCgoMCx4W2teNzI5NF0pKHhba143MjgxXSx4W2teNzI0MF0pLHhba143Mjc1XSkoeFtrXjcxODddLHhba143MjYzXSkseFtrXjcyNTVdKSh4W2teNzE3N10sKDAseFtrXjcyNDJdKSgpLHhba143MjU2XSkseFtrXjcyNDldKSh4W2teNzI2Nl0seFtrXjcyOTNdKSx4W2teNzE3NV0pKCgwLHhba143MTgwXSkoeFtrXjcyNDhdLHhba143MjkzXSkseFtrXjcxNzNdLHhbMV0seFtrXjcyOTNdKSx4W2teNzI0OV0pKHhba143MTY4XSx4W2teNzI2M10pLCgwLHhba143Mjc1XSkoeFtrXjcyODhdLHhba143MjkzXSk8PSgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143Mjc5XSkoKSx4W2teNzI1MF0pLHhba143MTc2XSwoMCx4W2teNzE3Nl0pKHhba143MjUxXSx4W2teNzI2M10pLHhbMF0seFtrXjcxNzddKTooKCgwLHhba143MTgxXSkoKCgwLHhba14KNzE3Nl0pKHhba143MTY5XSx4W2teNzI2M10pLHhba143Mjc1XSkoeFtrXjcyOTFdLHhba143MjYzXSklKDAseFtrXjcxODJdKSh4W2teNzE3Ml0pLHhba143MjU1XSwoMCx4W2teNzE3Nl0pKHhbNF0seFtrXjcxNzJdKSx4W2teNzI5M10sKDAseFtrXjcyNzBdKSgpLHhba143MjU2XSksKDAseFtrXjcxODJdKSh4W2teNzI4MV0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pPT09KCgoMCx4W2teNzI1NV0pKHhba143MTc3XSwoMCx4W2teNzI1N10pKCkseFtrXjcyNTBdKSx4W2teNzI3NV0pKHhba143MjU5XSx4W2teNzE3MV0pLCgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143Mjc5XSkoKSx4W2teNzI1Nl0pXigwLHhba143Mjc1XSkoeFtrXjcyNzZdLHhba143MTcyXSksKDAseFtrXjcxNzVdKSgoMCx4W2teNzE3M10pKHhba143Mjc0XSx4W2teNzE3Ml0pLAp4W2teNzI1NV0seFtrXjcyOTNdLCgwLHhba143MjcwXSkoKSx4W2teNzI1MF0pLHhba143MTc2XSkoeFtrXjcyOTRdLHhba143MjYzXSkpfX1jYXRjaChyKXtlPUlba143MjgwXStEO2JyZWFrIGF9ZT1MW0lba143MjQ2XV0oSVtrXjcyNTRdKX0obl45MSk8MTYmJm4rMT4+Mz49MiYmKGVYKGteNjY0MixrXjE0ODksRCksZT1nLkRsKERbSVsxXV0sT1d0KSk7bis5Pj40Pj0zJiYobj4+MiYyNCk8MTImJmJbSVsyMl1dKEQpO3JldHVybiBlfTsKTXM9ZnVuY3Rpb24obil7cmV0dXJuISEobi5XJiZuLlcudmlkZW9JbmZvcyYmbi5XLnZpZGVvSW5mb3MubGVuZ3RoKX07CkFKPWZ1bmN0aW9uKG4pe3JldHVybiBuLk5QKCkmJm4uRygpLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKUlE9ZnVuY3Rpb24obil7dmFyIFc9WyJNVVNJQ19WSURFT19UWVBFX0FUViIsIk1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIl0sRD1sbyhuLnlRKT09PSJUVkhUTUw1X1NJTVBMWSImJm4ueVEuTi5jdGhlbWU9PT0iTVVTSUMiOyFuLkpnJiYoZy5NVihuLnlRKXx8dHUobi55USl8fEQpJiYoVy5pbmNsdWRlcyhuLm11c2ljVmlkZW9UeXBlKXx8bi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0KSYmKG4uSmc9ITApO2lmKFc9Zy5kOCgpKVc9L1N0YXJib2FyZFwvKFswLTldKykvLmV4ZWMoZy5YUSgpKSxXPShXP3BhcnNlSW50KFdbMV0sMTApOk5hTik8MTA7RD1odShuLnlRKSYmbi55US5OLmN0aGVtZT09PSJNVVNJQyI7dmFyIGI7aWYoYj0hbi5KZylEfHwoRD1uLnlRLEQ9bG8oRCk9PT0iVFZIVE1MNSImJkQuTi5jdmVyLnN0YXJ0c1dpdGgoIjciKSksYj1EO2ImJiFXJiYoVz1uLm11c2ljVmlkZW9UeXBlPT09Ik1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIiwKRD0obi5TKCJjYXN0X3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKXx8bi5TKCJrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKSkmJm4ubXVzaWNWaWRlb1R5cGU9PT0iTVVTSUNfVklERU9fVFlQRV9BVFYiLFd8fER8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCkmJihuLkpnPSEwKTtyZXR1cm4gbi55US5kZXZpY2VJc0F1ZGlvT25seXx8bi5KZyYmbi55US5LfTsKUXo9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuUygiaHRtbDVfZGlzYWJsZV9hdjEiKT8hMDohMX07Ck5JPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5jb21wb3NpdGVCcm9hZGNhc3RUeXBlPT09IkNPTVBPU0lURV9CUk9BRENBU1RfVFlQRV9DT01QUkVTU0VEX0RPTUFJTl9DT01QT1NJVEUifTsKVno9ZnVuY3Rpb24obil7dmFyIFc9bi5LO24uUygiaHRtbDVfZ2FwbGVzc191bmxpbWl0X2Zvcm1hdF9zZWxlY3Rpb24iKSYmQUoobikmJihXPSExKTt2YXIgRD0hIW4uTiYmbi5OLnpXO1c9VThaKG4ueVEse21WOm4ubVYoKSx5WDpELE93OlJRKG4pLEhpOm4uSGksbFU6Vyxpc090ZjpuLmlzT3RmKCksb0w6bi5vTCgpLElSOm4uSVIseGQ6bi5nZXRVc2VyQXVkaW81MVByZWZlcmVuY2UoKSxkaXNhYmxlQXYxOlF6KG4pLGRCOk5JKG4pfSk7Zy5ZTihuKSYmKFcudlg9ITApO3pRKCkmJm4ucGxheWVyUmVzcG9uc2UmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnJiZuLnBsYXllclJlc3BvbnNlLnBsYXllckNvbmZpZy53ZWJQbGF5ZXJDb25maWcmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnLndlYlBsYXllckNvbmZpZy51c2VDb2JhbHRUdm9zRG9nZm9vZEZlYXR1cmVzJiYoVy5qPSEwLFcuVj0hMCk7bi5LJiZuLmlzQWQoKSYmKG4uWXImJihXLk89bi5Zciksbi5TViYmCihXLlg9bi5TVikpO24uTlAoKSYmKFcuUyQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzIikpO1cubnU9bi5pc0xpdmVQbGF5YmFjayYmbi5NaSgpJiZuLnlRLlMoImh0bWw1X2RybV9saXZlX2F1ZGlvXzUxIik7Vy5iZD1uLkVUO24uUygiaHRtbDVfZGlzYWJsZV92cDlfaGRyX2ZhaXJwbGF5IikmJnpRKCkmJihXLmJkPSEwKTtXLlJhPSFnLllOKG4pO1cuVEM9IWcuWU4obikmJm4ueVEuZXhwZXJpbWVudHMuWnQoKS5OLlFRKFByaSk7cmV0dXJuIG4uZSQ9V307ClV0TT1mdW5jdGlvbihuKXtnLmFMKCJkcm1fcGJfcyIsdm9pZCAwLG4uelIpO24uQ2l8fG4uTiYmbi5OLlgoKTt2YXIgVz17fTtuLk4mJihXPU5kKG4ueXcsVnoobiksbi55US5XLG4uTixEPT5uLldKKCJjdG1wIiwiZm10Zmx0IixEKSwhMCxuZXcgU2V0KSk7Clc9bmV3IFpXUyhXLG4ueVEsbi5KaixuLnVzZUNvYmFsdFdpZGV2aW5lP3pRKCk/VGYobik6ITE6ITEsKEQsYik9PntuLlUoRCxiKX0pOwpnLnUobixXKTtuLlEkPSExO24ubG9hZGluZz0hMDtkOGkoVyxEPT57Zy5hTCgiZHJtX3BiX2YiLHZvaWQgMCxuLnpSKTtmb3IodmFyIGIgb2YgRClzd2l0Y2goYi5mbGF2b3Ipe2Nhc2UgImZhaXJwbGF5IjpiLkNpPW4uQ2k7Yi5WOT1uLlY5O2Iuamk9bi5qaTticmVhaztjYXNlICJ3aWRldmluZSI6Yi5GYz1uLkZjfW4uVFE9RDtpZihuLlRRLmxlbmd0aD4wJiYobi5qPW4uVFFbMF0sbi55US5XWCgpKSl7RD17fTtmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMobi5qLkopKXtiPWs7bGV0IGg9InVuayIseD12Lm1hdGNoKC8oLiopY29kZWNzPSIoLiopIi8pO3gmJihoPXhbMl0pO0RbaF09Yn1uLlUoImRybVByb2JlIixEKX1mTChuKX0pfTsKY2o9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz0hIW4uY290bilXPW4udmlkZW9JZCxXPSEhVyYmZSQoVyk9PT0xO3JldHVybiBXJiYhbi5XaX07CnkxaD1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5zdHJlYW1pbmdEYXRhPy5hZGFwdGl2ZUZvcm1hdHN8fFtdLEQ9bnVsbDtpZihXLmxlbmd0aD4wKUQ9YVEobixXKTtlbHNlIGlmKCFuLlMoImh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZyIpKXtuLlUoInBhZm10c3RyIix7czpuLmFkYXB0aXZlRm9ybWF0cy5zdWJzdHJpbmcoMCw1MCl9KTtpZigoVz1uLmFkYXB0aXZlRm9ybWF0cykmJiFqJChuKSl7bi55US5XLkomJihSbz0hMCk7Vz1uQShXKTtEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9czVVKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaD8uZXhwZXJpbWVudHMsITApO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLlc9IWs7Yi5pc0xpdmU9IWs7Yi5YZz1rO2ZvcihHIG9mIFcpe3Y9SW8oRywKRCwwLGgseCk7TD1SeChHLnVybCxHLnNwLEcucyk7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aD8uZXhwZXJpbWVudHM/LkVxKCJodG1sNV9tYXhfa25vd25fZW5kX3RpbWVfcmViYXNlIik7bGV0IHI9TnVtYmVyKEcudGFyZ2V0X2R1cmF0aW9uX3NlYyl8fDUsTj1OdW1iZXIoRy5tYXhfZHZyX2R1cmF0aW9uX3NlYyl8fDE0NDAwLEg9TnVtYmVyKEwuZ2V0KCJtaW5kc3EiKXx8TC5nZXQoIm1pbl9zcSIpfHwiMCIpLEE9TnVtYmVyKEwuZ2V0KCJtYXhkc3EiKXx8TC5nZXQoIm1heF9zcSIpfHwiMCIpfHxJbmZpbml0eTtiLkl0PWIuSXR8fEg7Yi5IUD1iLkhQfHxBO2xldCB5PSF2Lk4oKTtMJiYkZyhiLG5ldyBXVChMLHYse3JiOnIsT1Q6eSx1YjpOLEl0OkgsSFA6QSx1azozMDAsWGc6ayxFMzplfSkpfXZhciBHPWJ9ZWxzZSBHPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/TnBqKFcsRCxiLGgseCk6cEpiKFcsRCxiLGgseCk7Vy5sZW5ndGg+CjAmJihXPVdbMF0sRmUobikmJlcudXJsJiYobi5SYT1uLlJhfHxCaihXLnVybCkpKTtXPW4uaXNMaXZlUGxheWJhY2smJiFuLlhnJiYhbi5SSSYmIW4uaXNQcmVtaWVyZTtuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiYoIWcuRFAobikmJlcmJm4uVSgibWlzc2luZ0xpdmVIZWFkUGxheWFibGUiLHt9KSxuLnlRLlY9PT0ieXQiJiYoRy5WUT0hMCkpO0Q9R31lbHNlIEQ9bnVsbDtuLlUoInBhZm10cyIse2lzTWFuaWZlc3RGaWxsZWQ6ISFEfSl9aWYoIUQpcmV0dXJuITE7YkYobixEKTtyZXR1cm4hMH07Ckk0PWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uTnx8IW4uTi5pc01hbmlmZXN0bGVzcyl9OwpnLkRQPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiZJNChuKSYmbi55US5WPT09Inl0Ij9uLmlzTGl2ZUhlYWRQbGF5YWJsZTpuLmlzTGl2ZVBsYXliYWNrfTsKYVE9ZnVuY3Rpb24obixXKXtpZihXLmxlbmd0aD09PTB8fGokKG4pKXJldHVybiBudWxsO24ueVEuVy5KJiYoUm89ITApO3ZhciBEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9cXVqKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaC5leHBlcmltZW50cywhMCk7Yi5XPSFrO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLmlzTGl2ZT0haztiLlhnPWs7Zm9yKGxldCBHIG9mIFcpe3Y9dFooRyxELDAsaCx4KTtsZXQge0VsOnIsczpOLHk3Okh9PVAwKDUsNjk0LEcpO0w9Ungocnx8Ry51cmx8fCIiLEgsTik7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aC5leHBlcmltZW50cz8uRXEoImh0bWw1X21heF9rbm93bl9lbmRfdGltZV9yZWJhc2UiKTtsZXQgQT1OdW1iZXIoRy50YXJnZXREdXJhdGlvblNlY3x8CjUpLHk9TnVtYmVyKEcubWF4RHZyRHVyYXRpb25TZWN8fDE0NDAwKSxUPU51bWJlcihMLmdldCgibWluZHNxIil8fEwuZ2V0KCJtaW5fc3EiKXx8IjAiKSx6PU51bWJlcihMLmdldCgibWF4ZHNxIil8fEwuZ2V0KCJtYXhfc3EiKXx8IjAiKXx8SW5maW5pdHk7Yi5JdD1iLkl0fHxUO2IuSFA9Yi5IUHx8ejtsZXQgQz0hdi5OKCk7TCYmJGcoYixuZXcgV1QoTCx2LHtyYjpBLE9UOkMsdWI6eSxJdDpULEhQOnosdWs6MzAwLFhnOmssRTM6ZX0pKX1EPWJ9ZWxzZSBEPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/RzNDKFcsRCxiLGgseCk6dE9aKFcsRCxiLGgseCk7Vy5sZW5ndGg+MCYmKFc9V1swXSxGZShuKSYmVy51cmwmJihuLlJhPW4uUmF8fEJqKFcudXJsKSkpO1c9bi5pc0xpdmVQbGF5YmFjayYmIW4uWGcmJiFuLlJJJiYhbi5pc1ByZW1pZXJlO24uUygiaHRtbDVfbGl2ZV9oZWFkX3BsYXlhYmxlIikmJighZy5EUChuKSYmVyYmbi5VKCJtaXNzaW5nTGl2ZUhlYWRQbGF5YWJsZSIsCnt9KSxuLnlRLlY9PT0ieXQiJiYoRC5WUT0hMCkpO3JldHVybiBEfTsKbkE9ZnVuY3Rpb24obixXKXtuPXV3KG4pO3ZhciBEPXt9O2lmKFcpZm9yKHZhciBiIG9mIFcuc3BsaXQoIiwiKSkoVz1iLm1hdGNoKC9eKFswLTldKylcLyhbMC05XSspeChbMC05XSspKFwvfCQpLykpJiYoRFtXWzFdXT17d2lkdGg6V1syXSxoZWlnaHQ6V1szXX0pO2ZvcihsZXQgdiBvZiBuKWlmKGI9RFt2Lml0YWddKXYud2lkdGg9Yi53aWR0aCx2LmhlaWdodD1iLmhlaWdodDtyZXR1cm4gbn07CmJGPWZ1bmN0aW9uKG4sVyxEPSExKXtuLmVWPXZvaWQgMDtuLk49VztnLnUobixXKTtXLkl0PW4uSXQ7Vy5IUD1uLkhQO1cuSlU9bi5KVTtXLm9SPW4ub1I7Vy5JVD1uLklUO24ubEMmJihXLlk9bmV3IHZUKG4ubEMpKTsobi5tVigpfHxnLmtwKG4pKSYmbi5JSi5wdXNoKCJ3ZWJnbCIpO24uTi5pc0xpdmV8fChuLmlzTGl2ZVBsYXliYWNrPSExKTt2YXIgYj1XLnNvdXJjZVVybC5zcGxpdCgiLyIpO2lmKG4uVlE/Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT09LTE6Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT0tMSluLnptPU51bWJlcihiW2IuaW5kZXhPZigibWFuaWZlc3RfZHVyYXRpb24iKSsxXSk7aWYoVy5XfHxXLmlzTWFuaWZlc3RsZXNzKVcuc3Vic2NyaWJlKCJjbGllbnR0ZW1wIixuLlUsbiksRD9XLnN1YnNjcmliZSgicmVmcmVzaCIsbi5QSCxuKTpXLnN1YnNjcmliZSgiY3VlcG9pbnRzYWRkZWQiLG4uRVosbik7Vy5YKCk/bi5RJD0hMDpHTD12b2lkIDA7Cm4uUkkmJihXLmlzV2luZG93ZWRMaXZlPW4uUkksVy5pc0xpdmU9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk7Vy5pc1ByZW1pZXJlPW4uaXNQcmVtaWVyZTtXLmlzTGl2ZUhlYWRQbGF5YWJsZT1uLmlzTGl2ZUhlYWRQbGF5YWJsZX07ClRmPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X3R2b3Nfc2tpcF9kYXNoX2F1ZGlvX2NoZWNrIil8fE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicpfTsKaiQ9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCk/IVRmKG4pOkMkKCk/bi5DaSYmbi5jTz8hMDohKCFuLkNpfHwhbi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJmZOKCkpOiExfTsKU3g9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGF0ZW5jeUNsYXNzPT09IkxPVyJ8fG4ubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIn07CmhEPWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRP1N4KG4pJiZuLk4hPW51bGwmJm9vKG4uTik+PTU6U3gobikmJm4uTiE9dm9pZCAwJiZvbyhuLk4pPj01fTsKRXFoPWZ1bmN0aW9uKG4pe24ubG9hZGluZz0hMDtuLkN1PSExO2lmKGNqKG4pKUIkeChuLnZpZGVvSWQpLnRoZW4oYj0+e2lmKG4ucGxheWVyUmVzcG9uc2U/LnN0cmVhbWluZ0RhdGEpe3ZhciB2PVtdO2ZvcihsZXQgayBvZiBiKWI9T2JqZWN0LmFzc2lnbih7fSxrKSxiLnNpZ25hdHVyZUNpcGhlcj0iIix2LnB1c2goYik7di5sZW5ndGg8MiYmbi5VKCJvZmZtbGYiLHtsZW46di5sZW5ndGh9KTt2PWFRKG4sdik7UlEobikmJnp4KHYsITEpO2JGKG4sdik7bi5VKCJkbHIiLHt9KX1lbHNlIG4uVSgib2Zmc2RtIix7Y290bjpuLkNtP24uQ20uY290bjoiMCIsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pfSkudGhlbigoKT0+e2ZMKG4pfSk7CmVsc2V7Z1gobi5UZil8fGcuR3EobmV3IGcuUXgoIkRBU0ggTVBEIE9yaWdpbiBpbnZhbGlkOiAiLG4uVGYpKTt2YXIgVz1uLlRmLEQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJkYXNoX21hbmlmZXN0X3ZlcnNpb24iKXx8NDtXPWcuRVQoVyx7bXBkX3ZlcnNpb246RH0pO1N4KG4pJiZuLmxhdGVuY3lDbGFzcyE9PSJOT1JNQUwifHwoVz1nLkVUKFcse3BhY2luZzowfSkpO2Z0WihXLG4ueVEuZXhwZXJpbWVudHMsbi5pc0xpdmVQbGF5YmFjaykudGhlbihiPT57bi5xTigpfHwoYkYobixiLCEwKSxnLmFMKCJtcmMiLHZvaWQgMCxuLnpSKSxmTChuKSl9LGI9PntuLnFOKCl8fChuLmxvYWRpbmc9ITEsbi5XSigiZGF0YWxvYWRlcnJvciIsbmV3IGcuQ2koIm1hbmlmZXN0Lm5ldC5yZXRyeWV4aGF1c3RlZCIse2JhY2tlbmQ6Im1hbmlmZXN0IiwKcmM6Yi5zdGF0dXN9LDEpKSl9KTsKZy5hTCgibXJzIix2b2lkIDAsbi56Uil9fTsKeHA9ZnVuY3Rpb24obil7aWYoIW4uaXNQcm94aW1hTGF0ZW5jeUVsaWdpYmxlKXJldHVybiAwO3ZhciBXPVlkKCk7cmV0dXJuIG4ueVEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmFibGVQcm94aW1hTG93TGF0ZW5jeT8yOlc9PT0xPzE6bi5TKCJodG1sNV9lbmFibGVfcHJveGltYSIpPzI6MH07Ckt6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUyhXKT8hMDoobi5mZmxhZ3N8fCIiKS5pbmNsdWRlcyhXKyI9dHJ1ZSIpfTsKaVdTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8Q0wobil8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdDtpZighbi5OfHxEKXJldHVybiBuLlUoInNraXBEYXNoIix7ZG06ISFuLk4sYWlyOlcsZGQ6bi5VVCxtc3M6Zk4oKSwiM3BwIjpuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3R9KSxnLnAkKCk7UlEobikmJnp4KG4uTixuLmlzTGl2ZVBsYXliYWNrKTtyZXR1cm4gZy5IMCgpLnRoZW4oKCk9PlMyYihuLnl3LFZ6KG4pLG4ueVEuVyxuLk4sbi5qLGI9Pm4uV0ooImN0bXAiLCJmbXRmbHQiLGIpLG4ub00sTEEobikpLnRoZW4oYj0+e2U3KG4sYik7Cm4ueXcuSj1udWxsOy9eYXYvLnRlc3Qobi5jbGllbnRQbGF5YmFja05vbmNlKSYmbi5lJCYmbi5VKCJhdjEiLG4uZSQuTil9KSl9Owp1bXQ9ZnVuY3Rpb24obixXKXtpZihXJiZuLmhsc3ZwKXJldHVybiBnLnAkKCk7aWYobi5obHNGb3JtYXRzKXtpZihXPW5BKG4uaGxzRm9ybWF0cykpe2xldCBiPVtdO2Zvcih2YXIgRCBvZiBXKUQudXJsJiYoRC51cmw9Vm10KEQudXJsKSksbi5lJD8uVyYmYi5wdXNoKEQuaXRhZyk7bi5lJD8uVyYmYi5sZW5ndGg+MCYmbi5VKCJobHNmbXQiLHtpdGFnczpiLmpvaW4oIi4iKX0pfW4ueUU9Z1laKG4ueVEsVyk7bi55RSYmZ2wobixuLnlFKTtEPW4uY2xpZW50UGxheWJhY2tOb25jZTtyZXR1cm4gdG1NKG4ueVEsbi5pc0FkKCksVyxuLnBsYXllclJlc3BvbnNlPy5jYXB0aW9ucz8ucGxheWVyQ2FwdGlvbnNSZW5kZXJlcj8uYmFzZVVybD8/bnVsbCxuLkdmLEQsYj0+bi5XSigiY3RtcCIsImhsc2ZsdCIsYikpLnRoZW4oYj0+e3ZhciB2PTAsaz1bXTsKZm9yKGxldCBoIG9mIGIpay5wdXNoKGgua0woKT8uaXRhZyksaC5rTCgpPy5ZKCk/Lm51bUNoYW5uZWxzPnYmJih2PWgua0woKS5hdWRpby5udW1DaGFubmVscyk7dj4yJiZuLlUoImhsc2NobCIse21uOnZ9KTtuLmUkPy5XJiZuLlUoImhsc2ZtdGFmIix7aXRhZ3M6ay5qb2luKCIuIil9KTtpZihuLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5qPy5OKCkpe24uVSgiZHJtIix7c2JkbGZiazoxfSk7Zm9yKGxldCBoIG9mIG4uVFEpaWYoZzEoaCkpe24uaj1oO2JyZWFrfX1YMihuLGIpfSl9cmV0dXJuIGcucCQoKX07Cm9xMT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QmJm4uY2Ype2xldCBXPW5BKG4uY2YpO2lmKCFXWzBdKXJldHVybiBnLnAkKCk7bi5xdz1XWzBdO3JldHVybiBzaXIobi55USxXWzBdKS50aGVuKEQ9PntYMihuLEQpfSl9cmV0dXJuIG4uUXImJm4ub2M/cnFaKG4ueVEsbi5pc0FkKCksbi5RcikudGhlbihXPT57WDIobixXKX0pOmcucCQoKX07CnprVT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QpcmV0dXJuIGcucCQoKTt2YXIgVz1uQShuLmNmLG4uR2opO2lmKG4uaGxzdnApe2xldCBEPVFpMihuLmhsc3ZwLG4uY2xpZW50UGxheWJhY2tOb25jZSxuLkdmKTtXLnB1c2goRCl9cmV0dXJuIGpDaChuLnlRLG4uaXNBZCgpLFcsZHQxKG4pKS50aGVuKEQ9PntYMihuLEQpfSl9OwpMQT1mdW5jdGlvbihuKXt2YXIgVz1uLlMoImh0bWw1X2VuYWJsZV9zZXJ2ZXJfZm9ybWF0X2ZpbHRlciIpJiYhbi5NaSgpLEQ9bi5TKCJodG1sNV9lbmFibGVfc2VydmVyX2Zvcm1hdF9maWx0ZXJfZm9yX2RybSIpJiZuLk1pKCk7cmV0dXJuIGcuWU4obikmJihXfHxEKX07CmU3PWZ1bmN0aW9uKG4sVyl7bi5XPVc7Z2wobixuLlcuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKSk7aWYobi5XKWZvcih2YXIgRCBvZiBuLlcudmlkZW9JbmZvcylXPUQuY29udGFpbmVyVHlwZSxXIT09MCYmKG4uYkJbV109RC5pZCk7RD1uLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7RD1ELmNvbmNhdChuLnZYKTtmb3IoVz0wO1c8bi5Udy5sZW5ndGg7VysrKXtsZXQgdj1uLlR3W1ddO2ZvcihsZXQgaz0wO2s8RC5sZW5ndGg7aysrKXtsZXQgaD1EW2tdO3ZhciBiPWgua1ouaWQ9PT12LmF1ZGlvVHJhY2tJZDtpZihoLmtaLmlzRGVmYXVsdCYmVz09PW4uTyR8fGIpe2lmKHYuY2FwdGlvblRyYWNrSW5kaWNlcylmb3IoYj0wO2I8di5jYXB0aW9uVHJhY2tJbmRpY2VzLmxlbmd0aDtiKyspaC5jYXB0aW9uVHJhY2tzW2JdPW4uY2FwdGlvblRyYWNrc1t2LmNhcHRpb25UcmFja0luZGljZXNbYl1dO3YuZGVmYXVsdENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5XPW4uY2FwdGlvblRyYWNrc1t2LmRlZmF1bHRDYXB0aW9uVHJhY2tJbmRleF0pOwp2LmZvcmNlZENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5OPW4uY2FwdGlvblRyYWNrc1t2LmZvcmNlZENhcHRpb25UcmFja0luZGV4XSk7aC5KPXYudmlzaWJpbGl0eXx8IlVOS05PV04iO2guY2FwdGlvbnNJbml0aWFsU3RhdGU9di5jYXB0aW9uc0luaXRpYWxTdGF0ZXx8IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiJ9fX1pZihuLmomJm4uVyYmbi5XLnZpZGVvSW5mb3MmJiEobi5XLnZpZGVvSW5mb3MubGVuZ3RoPD0wKSYmKEQ9bi5XLnZpZGVvSW5mb3NbMF0uVygpLG4uai5mbGF2b3I9PT0iZmFpcnBsYXkiIT09RCkpZm9yKGxldCB2IG9mIG4uVFEpaWYoRD09PSh2LmZsYXZvcj09PSJmYWlycGxheSIpKXtuLmo9djticmVha319OwpnbD1mdW5jdGlvbihuLFcpe1cuc29ydCgoRCxiKT0+RC50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygpLG4ueVEuaG9zdExhbmd1YWdlKSl9OwpYMj1mdW5jdGlvbihuLFcpe24ubnU9VztlNyhuLG5ldyBwZyhnLmlfKG4ubnUsRD0+RC5rTCgpKSkpfTsKZHQxPWZ1bmN0aW9uKG4pe3ZhciBXPXtjcG46bi5jbGllbnRQbGF5YmFja05vbmNlLGM6bi55US5OLmMsY3ZlcjpuLnlRLk4uY3Zlcn07bi54eiYmKFcucHRrPW4ueHosVy5vaWQ9bi5YbyxXLnB0Y2huPW4uaDEsVy5wbHR5cGU9bi5xOCxuLnk5JiYoVy5tPW4ueTkpKTtyZXR1cm4gV307CmcucXU9ZnVuY3Rpb24obil7cmV0dXJuIGokKG4pJiZuLkNpP3tmYWlycGxheToiaHR0cHM6Ly95b3V0dWJlLmNvbS9hcGkvZHJtL2Zwcz9laz11bmluaXRpYWxpemVkIn06bi5KJiZuLkouY29udGVudFByb3RlY3Rpb258fG51bGx9OwpHZT1mdW5jdGlvbihuKXtyZXR1cm4gbi5wbGF5ZXJSZXNwb25zZSYmbi5wbGF5ZXJSZXNwb25zZS5wYWlkQ29udGVudE92ZXJsYXkmJm4ucGxheWVyUmVzcG9uc2UucGFpZENvbnRlbnRPdmVybGF5LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfHxnLncobi53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8ucGxheWVyRGlzY2xvc3VyZSxsYVMpfHxudWxsfTsKdEQ9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcudGV4dD9nLkRwKFcudGV4dCk6bi5wYWlkQ29udGVudE92ZXJsYXlUZXh0fTsKJHA9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcuZHVyYXRpb25Ncz9nLk5oKFcuZHVyYXRpb25Ncyk6bi5wYWlkQ29udGVudE92ZXJsYXlEdXJhdGlvbk1zfTsKcmw9ZnVuY3Rpb24obil7dmFyIFc9IiI7aWYobi51aClyZXR1cm4gbi51aDtuLmlzTGl2ZVBsYXliYWNrJiYoVz1uLmFsbG93TGl2ZUR2cj8iZHZyIjpuLmlzUHJlbWllcmU/ImxwIjpuLlJJPyJ3aW5kb3ciOiJsaXZlIik7bi5YZyYmKFc9InBvc3QiKTtyZXR1cm4gV307Cmcuc1M9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIG4ua2V5d29yZHNbV10hPT0ic3RyaW5nIj9udWxsOm4ua2V5d29yZHNbV119OwpnLllMPWZ1bmN0aW9uKG4pe3JldHVybiEhKG4uVGZ8fG4uY2Z8fG4uUXJ8fG4uaGxzdnB8fG4uSXAoKSl9OwpBeD1mdW5jdGlvbihuKXtyZXR1cm4obj1uLlJ0KSYmbi5zaG93RXJyb3I/bi5zaG93RXJyb3I6ITF9OwpOdT1mdW5jdGlvbihuKXtuLm11dGVkQXV0b3BsYXk9ITE7bi5lbmRTZWNvbmRzPU5hTjtuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPU5hTjt6ZihuKX07CmcucEE9ZnVuY3Rpb24obil7cmV0dXJuIGcuRFAobikmJiFuLmFsbG93TGl2ZUR2cn07CllwPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRQKG4pJiZuLmFsbG93TGl2ZUR2cn07CmcuSFQ9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJks2KG4uTil9OwpnLmZBPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZPayhuLk4pfTsKZy5rcD1mdW5jdGlvbihuKXtyZXR1cm4hIW4uTiYmSiRVKG4uTil9OwpnLkpEPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZQRihuLk4pfTsKSVQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uYWRGb3JtYXQmJihuLlZRP24uYWRGb3JtYXQhPT0iMV81IjpuLmFkRm9ybWF0IT0iMV81Iik/ImFkdW5pdCI6bi5ldmVudExhYmVsfHxuLnlRLll9OwpnLlM3PWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJzaG9ydHNwYWdlIn07CkFEPWZ1bmN0aW9uKG4pe3JldHVybiBuLkd1fHxJVChuKT09PSJkZXRhaWxwYWdlInx8SVQobik9PT0ic2hvcnRzcGFnZSJ8fG4ubXV0ZWRBdXRvcGxheX07CmlUPWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJhZHVuaXQiP24uVlQ6QUQobik/SVQobik9PT0iZGV0YWlscGFnZSJ8fElUKG4pPT09InNob3J0c3BhZ2UiP24uaXNBdXRvbmF2fHxuLlMkPjA6bi5mQj8hMTpuLnlRLlU1fHxuLnlRLk1kfHwhZy5vNChuLnlRKT8hMDohMToobi5mQj8wOm4uUFgpJiZnLm80KG4ueVEpPyEwOiExfTsKZy5tTz1mdW5jdGlvbihuKXtyZXR1cm4gbi56VygpJiZnLllOKG4pfTsKcHo9ZnVuY3Rpb24obil7cmV0dXJuISFuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/Lm1lZGlhQ29tbW9uQ29uZmlnPy5zcGxpdFNjcmVlbkVsaWdpYmxlfTsKS0E9ZnVuY3Rpb24obil7cmV0dXJuIGlzTmFOKG4pPzA6TWF0aC5tYXgoKERhdGUubm93KCktbikvMUUzLTMwLDApfTsKT1M9ZnVuY3Rpb24obil7cmV0dXJuISghbi5XaXx8IW4ueVEuSykmJm4uSXAoKX07ClBUPWZ1bmN0aW9uKG4pe3JldHVybiBuLktkJiZuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpfTsKVGhpPWZ1bmN0aW9uKG4pe3JldHVybiBuLkRFJiYhbi5sQ307CmNxeD1mdW5jdGlvbihuKXtzd2l0Y2gobi55US5WKXtjYXNlICJnZCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fZHJpdmUiKTtjYXNlICJncCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZSIpO2Nhc2UgImRkIjpyZXR1cm4hMDtjYXNlICJwdyI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpO2RlZmF1bHQ6cmV0dXJuITF9fTsKcEw9ZnVuY3Rpb24obil7dmFyIFc7aWYoIShXPU5zJiZuLnpXKCkmJm4uTWkoKSYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCkmJm4uUygiaHRtbDVfc2Ficl9saXZlX2RybV9zdHJlYW1pbmdfeGhyIikpKXtXPW4uelcoKSYmIW4uTWkoKSYmTnM7dmFyIEQ9bi56VygpJiZuLmxhdGVuY3lDbGFzcyE9PSJVTFRSQUxPVyImJiFTeChuKSYmbi5TKCJodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hociIpLGI9U3gobikmJm4uUygiaHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtsZXQgdj1uLmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyImJm4uUygiaHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtXPVcmJihEfHxifHx2KX1EPVc7Vz1uLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZEJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3NzZGFpX3N0cmVhbWluZ194aHIiKTtEPSFuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYKRDtiPW4uelcoKSYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX2xpdmVfbm9uX3N0cmVhbWluZ194aHIiKTtuPU5zJiYobi5ERigpfHxweihuKSYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl9mb3JfbGlmYV9lbGlnaWJsZV9zdHJlYW1zIikpO3JldHVybiBXfHxEfHxifHxufTsKZy5tTT1mdW5jdGlvbihuKXtpZighbi5OfHwhbi5KfHwhbi5YKXJldHVybiExO3ZhciBXPW4uTi5OLEQ9ISFXW24uSi5pZF0mJmdaKDU2LDExOTYsV1tuLkouaWRdLlhiLk4pO1c9ISFXW24uWC5pZF0mJmdaKDIyLDExNTQsV1tuLlguaWRdLlhiLk4pO3JldHVybihuLkouaXRhZz09PSIwInx8RCkmJld9OwpaUD1mdW5jdGlvbihuKXtyZXR1cm4gbi5lQj9bIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKG4uZUIuc3RhdHVzKTohMH07ClVTPWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uaXNMaXZlUGxheWJhY2t8fCFuLmhhc1Byb2dyZXNzQmFyQm91bmRhcmllcygpKX07CnlVPWZ1bmN0aW9uKG4pe3JldHVybiBuLnlRLmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqc1opJiZuLk5QKCl8fG4uUygiZW5hYmxlX3BsYXllcl9yZXNwb25zZV9jYWNoZV9mb3JfbGl2ZSIpfTsKRVM9ZnVuY3Rpb24obil7cmV0dXJuISFuLmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckZsYWdzPy5lbmFibGVNdXNpY1V4fTsKaUY9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuSiYmbi5pc1ByaXZhdGV9OwpnLm9UPWZ1bmN0aW9uKG4pe3ZhciBXPW4uRygpLEQ9dUYoVyksYj1XLlFyO2cuQ04oVykmJihiJiYoRC50aGlyZFBhcnR5PXsuLi5ELnRoaXJkUGFydHksZW1iZWRVcmw6Yn0pLGcuRW4oRCxuKSk7KGI9bi50dyk/RC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmJ9OmcuQ04obi5HKCkpJiZnLkFyKCJFVkVOVF9JRCIpJiYoRC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmcuQXIoIkVWRU5UX0lEIil9KTtiPUQuY2xpZW50fHx7fTt2YXIgdj0iRU1CRUQiLGs9SVQobik7az09PSJsZWFuYmFjayI/dj0iV0FUQ0giOlcuUygiZ3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlbiIpJiZrPT09InByb2ZpbGVwYWdlIj92PSJDSEFOTkVMIjpuLklSP3Y9IkxJVkVfTU9OSVRPUiI6az09PSJkZXRhaWxwYWdlIj92PSJXQVRDSF9GVUxMX1NDUkVFTiI6az09PSJhZHVuaXQiP3Y9IkFEVU5JVCI6az09PSJzcG9uc29yc2hpcHNvZmZlciImJih2PSJVTktOT1dOIik7Yi5jbGllbnRTY3JlZW49CnY7aWYodj1uLmtpZHNBcHBJbmZvKWIua2lkc0FwcEluZm89SlNPTi5wYXJzZSh2KTsoaz1uLkFtKSYmIXYmJihiLmtpZHNBcHBJbmZvPXtjb250ZW50U2V0dGluZ3M6e2FnZVVwTW9kZTpDcmJba119fSk7aWYodj1uLnRHKWIudW5wbHVnZ2VkQXBwSW5mbz17ZW5hYmxlRmlsdGVyTW9kZTohMH07KGs9bi51bnBsdWdnZWRGaWx0ZXJNb2RlVHlwZSkmJiF2JiYoYi51bnBsdWdnZWRBcHBJbmZvPXtmaWx0ZXJNb2RlVHlwZTpCaGhba119KTtpZih2PW4uWFkpYi51bnBsdWdnZWRMb2NhdGlvbkluZm89djtELmNsaWVudD1iO2I9RC5yZXF1ZXN0fHx7fTtuLllaJiYoYi5pc1ByZWZldGNoPSEwKTtpZih2PW4ubWR4RW52aXJvbm1lbnQpYi5tZHhFbnZpcm9ubWVudD12O2lmKHY9bi5tZHhDb250cm9sTW9kZSliLm1keENvbnRyb2xNb2RlPUZHeFt2XTtELnJlcXVlc3Q9YjtiPUQudXNlcnx8e307aWYodj1uLkQpYi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnM9W3t0b2tlbjp2LHNjb3BlOiJWSURFTyJ9XTsKaWYodj1uLkhKKWIuZGVsZWdhdGVQdXJjaGFzZXM9e29hdXRoVG9rZW46dn0sYi5raWRzUGFyZW50PXtvYXV0aFRva2VuOnZ9O3Y9Vy5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk/LnVzZXJDb250ZW50UmF0aW5nOyF2JiZXLlMoImVuYWJsZV9icmF6aWxfYWdlX2dhdGluZ193ZWIiKSYmKHY9Zy5vOSgpLmdldCgiYnJfYWdlX3JhdGluZyIpKTt2JiYoYi5zZXJpYWxpemVkVXNlckNvbnRlbnRSYXRpbmc9dik7RC51c2VyPWI7aWYoVz1uLmNvbnRleHRQYXJhbXMpRC5hY3RpdmVQbGF5ZXJzPVt7cGxheWVyQ29udGV4dFBhcmFtczpXfV07aWYobj1uLmNsaWVudFNjcmVlbk5vbmNlKUQuY2xpZW50U2NyZWVuTm9uY2U9bjtyZXR1cm4gRH07CnVGPWZ1bmN0aW9uKG4pe3ZhciBXPWcudmIoKSxEPVcuY2xpZW50fHx7fTtpZihuLmZvcmNlZEV4cGVyaW1lbnRzKXt2YXIgYj1uLmZvcmNlZEV4cGVyaW1lbnRzLnNwbGl0KCIsIik7bGV0IHY9W107Zm9yKGxldCBrIG9mIGIpdi5wdXNoKE51bWJlcihrKSk7RC5leHBlcmltZW50SWRzPXZ9aWYoYj1uLmhvbWVHcm91cEluZm8pRC5ob21lR3JvdXBJbmZvPUpTT04ucGFyc2UoYik7aWYoYj1uLmdldFBsYXllclR5cGUoKSlELnBsYXllclR5cGU9YjtpZihiPW4uTi5jdGhlbWUpRC50aGVtZT1iO2lmKGI9bi5saXZpbmdSb29tQXBwTW9kZSlELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sbGl2aW5nUm9vbUFwcE1vZGU6Yn07Yj1uLmRldmljZVllYXI7bi5TKCJodG1sNV9wcm9wYWdhdGVfZGV2aWNlX3llYXIiKSYmYiYmKEQudHZBcHBJbmZvPXsuLi5ELnR2QXBwSW5mbyxkZXZpY2VZZWFyOmJ9KTtpZihiPW4ubGl2aW5nUm9vbVBvVG9rZW5JZClELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sCmxpdmluZ1Jvb21Qb1Rva2VuSWQ6Yn07Vy5jbGllbnQ9RDtiPVcudXNlcnx8e307bi5lbmFibGVTYWZldHlNb2RlJiYoYj17Li4uYixlbmFibGVTYWZldHlNb2RlOiEwfSk7IUQudHZBcHBJbmZvPy51c2VQYWdlaWRBc0hlYWRlciYmbi5wYWdlSWQmJihiPXsuLi5iLG9uQmVoYWxmT2ZVc2VyOm4ucGFnZUlkfSk7Vy51c2VyPWI7cmV0dXJuIFd9OwpsRj1mdW5jdGlvbihuLFcsRCl7Vz17dmlkZW9JZDpuLnZpZGVvSWQsY29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhuLFcsRCl9fTtuLmdUJiYoVy5wbGF5YmFja0NvbnRleHQucmVsb2FkUGxheWJhY2tDb250ZXh0PXtyZWxvYWRQbGF5YmFja1BhcmFtczpuLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtc30pO24uY29udGVudENoZWNrT2smJihXLmNvbnRlbnRDaGVja09rPSEwKTtpZihEPW4uY2xpZW50UGxheWJhY2tOb25jZSlXLmNwbj1EO2lmKEQ9bi5wbGF5ZXJQYXJhbXMpVy5wYXJhbXM9RDtlbHNlIGlmKEQ9bi5nZXRSZXNvbHZlVXJsUmVzcG9uc2UoKSlpZihEPWRsKEQpKVcucGFyYW1zPUQ7aWYoRD1uLnBsYXlsaXN0SWQpVy5wbGF5bGlzdElkPUQ7bi5yYWN5Q2hlY2tPayYmKFcucmFjeUNoZWNrT2s9ITApO0Q9bi5HKCk7dmFyIGI9RC5lbWJlZENvbmZpZztuLk5kP1cuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz0Kbi5OZDpiJiYoVy5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWIpO1cuY2FwdGlvblBhcmFtcz17fTtiPWcubzkoKS5RUSg2NSk7bi5kZXZpY2VDYXB0aW9uc09uIT1udWxsP1cuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc09uPW4uZGV2aWNlQ2FwdGlvbnNPbjpnLmVNKEQpJiYoVy5jYXB0aW9uUGFyYW1zLmRldmljZUNhcHRpb25zT249YiE9bnVsbD8hYjohMSk7bi5LTCYmKFcuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc0xhbmdQcmVmPW4uS0wpO2I9bi5TKCJ3ZWJfZW5hYmxlX3BsYXllcl9yZXF1ZXN0X2NhcHRpb25zX2xhc3RfbGFuZ3VhZ2Vfb25seSIpO2lmKG4uRmUubGVuZ3RoKVcuY2FwdGlvblBhcmFtcy52aWV3ZXJTZWxlY3RlZENhcHRpb25MYW5ncz1iP1tuLkZlLmF0KC0xKV06bi5GZTtlbHNlIGlmKGcuZU0oRCkpe3ZhciB2PWcuU0koKTt2Py5sZW5ndGgmJihXLmNhcHRpb25QYXJhbXMudmlld2VyU2VsZWN0ZWRDYXB0aW9uTGFuZ3M9Yj9bdi5hdCgtMSldOgp2KX1iPW4uZmV0Y2hUeXBlPT09Im9uZXNpZSImJm4uUygiaHRtbDVfb25lc2llX2F0dGFjaF9wb190b2tlbiIpO3Y9bi5mZXRjaFR5cGUhPT0ib25lc2llIiYmbi5TKCJodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlbiIpO2lmKGJ8fHYpYj1uLkcoKSxiLmpXJiYoVy5zZXJ2aWNlSW50ZWdyaXR5RGltZW5zaW9ucz17fSxXLnNlcnZpY2VJbnRlZ3JpdHlEaW1lbnNpb25zLnBvVG9rZW49Yi5qVyk7RC5TKCJmZXRjaF9hdHRfaW5kZXBlbmRlbnRseSIpJiYoVy5hdHRlc3RhdGlvblJlcXVlc3Q9e29taXRCb3RndWFyZERhdGE6ITB9KTtXLnBsYXliYWNrQ29udGV4dHx8KFcucGxheWJhY2tDb250ZXh0PXt9KTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcz16ZShuKTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcy5zdXBwb3J0c1ZwOUVuY29kaW5nPT09ITEmJm4uVSgibm9WcDkiLHt9KTtyZXR1cm4gV307CnplPWZ1bmN0aW9uKG4pe3ZhciBXPSFuPy5vTCgpJiZuPy56VygpJiZjMCgpO3JldHVybntzdXBwb3J0c1ZwOUVuY29kaW5nOiEoIW4/LllqKCl8fFcpLHN1cHBvcnRYaHI6TnN9fTsKajc9ZnVuY3Rpb24obil7aWYobj1uPy5lbmRwb2ludClyZXR1cm4gZy53KG4sZy5JUSl8fGcudyhuLFRlKX07CmRsPWZ1bmN0aW9uKG4pe3JldHVybiBqNyhuKT8ucGxheWVyUGFyYW1zfTsKTVNNPWFzeW5jIGZ1bmN0aW9uKG4sVyl7bj17Y29udGV4dDp1RihuLkcoKSksZW5nYWdlbWVudFR5cGU6IkVOR0FHRU1FTlRfVFlQRV9QTEFZQkFDSyIsaWRzOlt7cGxheWJhY2tJZDp7dmlkZW9JZDpuLnZpZGVvSWQsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX19XX07dmFyIEQ9TEIod1laKTtyZXR1cm4gYXdhaXQgZy5yXyhXLG4sRCl9OwpDQT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIik7KCFvZnx8KDAsZy5SKSgpLW9mPmIpJiZNU00obixEKS50aGVuKHY9Pnt2JiYodj12LmJvdGd1YXJkRGF0YSkmJmcuekModixXKX0sdj0+e24ucU4oKXx8KHY9QiQodiksbi5VKCJhdHRmIix2LmRldGFpbHMpKX0pfTsKQlQ9ZnVuY3Rpb24obixXLEQpe24uc3RhdGUuTltXXT0oLi4uYik9PkQuYXBwbHkobixiKX07CkYyPWZ1bmN0aW9uKG4sVyxEKXtuLnN0YXRlLk4uaGFzT3duUHJvcGVydHkoVyl8fEJUKG4sVyxEKTtuLnN0YXRlLmpbV109KC4uLmIpPT5ELmFwcGx5KG4sYik7Cm4uc3RhdGUuSy5hZGQoVyl9Owp3bD1mdW5jdGlvbihuLFcsRCl7bi5zdGF0ZS5OLmhhc093blByb3BlcnR5KFcpfHxCVChuLFcsRCk7bi5hcHAuRygpLksmJihuLnN0YXRlLlZbV109KC4uLmIpPT5ELmFwcGx5KG4sYiksbi5zdGF0ZS5LLmFkZChXKSl9OwpNdT1mdW5jdGlvbihuLFcpe24uc3RhdGUuTi5hZGRFbWJlZHNDb252ZXJzaW9uVHJhY2tpbmdQYXJhbXMoLi4uVyl9OwpnLlJUPWZ1bmN0aW9uKG4sVywuLi5EKXtuLnN0YXRlLlcuV0ooVywuLi5EKTtuLnN0YXRlLkouV0ooVywuLi5EKX07CmcuUVU9ZnVuY3Rpb24obixXLC4uLkQpe24uc3RhdGUuVy5XSihXLC4uLkQpO24uc3RhdGUuSi5XSihXLC4uLkQpO24uc3RhdGUuWC5XSihXLC4uLkQpfTsKZy5WVT1mdW5jdGlvbihuLFcsLi4uRCl7bi5zdGF0ZS5XLldKKFcsLi4uRCk7bi5zdGF0ZS5KLldKKFcsLi4uRCk7bi5zdGF0ZS5YLldKKFcsLi4uRCk7bi5zdGF0ZS5ZLldKKFcsLi4uRCl9OwphVD1mdW5jdGlvbihuLFcsRCl7dHlwZW9mIG49PT0ic3RyaW5nIiYmKG49e21lZGlhQ29udGVudFVybDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH0pO2E6e2lmKChXPW4ubWVkaWFDb250ZW50VXJsKSYmKFc9L1wvKFt2ZV18ZW1iZWQpXC8oW14jP10rKS8uZXhlYyhXKSkmJldbMl0pe1c9V1syXTticmVhayBhfVc9bnVsbH1uLnZpZGVvSWQ9VztyZXR1cm4gY1Qobil9OwpjVD1mdW5jdGlvbihuLFcsRCl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57dmlkZW9JZDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH07Vz17fTtmb3IobGV0IGIgb2YgUmtaKW5bYl0mJihXW2JdPW5bYl0pOyhuPW4uZW1iZWRDb25maWd8fG4uZW1iZWRfY29uZmlnKSYmKFcuZW1iZWRfY29uZmlnPW4yKG4pKTtyZXR1cm4gV307ClFzUz1mdW5jdGlvbihuLFcsRCxiKXtpZihnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKSl7Vz0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtEPXt9O2ZvcihiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07blt2XSYmKERbdl09blt2XSl9cmV0dXJuIER9Vz17aW5kZXg6VyxzdGFydFNlY29uZHM6RCxzdWdnZXN0ZWRRdWFsaXR5OmJ9O3R5cGVvZiBuPT09InN0cmluZyImJm4ubGVuZ3RoPT09MTY/Vy5saXN0PSJQTCIrbjpXLnBsYXlsaXN0PW47cmV0dXJuIFd9OwpuMj1mdW5jdGlvbihuKXtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXJldHVybiBuO2lmKGcuZnQobikpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuKX1jYXRjaChXKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLFcpfX07Clc3PWZ1bmN0aW9uKG4sVz0xKXt2YXIgRD17fTtXPW4uYXBwLlZFKHtwbGF5ZXJUeXBlOld9KS5nZXRWaWRlb0RhdGEoKTtpZihpRihXKSlyZXR1cm57fTtELnZpZGVvX2lkPVcudmlkZW9JZDtELmF1dGhvcj1XLmF1dGhvcjtELnRpdGxlPVcudGl0bGU7RC5pc1BsYXlhYmxlPVpQKFcpO0QuZXJyb3JDb2RlPVcuZXJyb3JDb2RlO2lmKFcuSiYmVy5KLnZpZGVvKXtELnZpZGVvX3F1YWxpdHk9Vy5KLnZpZGVvLnF1YWxpdHk7Vz1XLkoudmlkZW87bGV0IGI9W107Vy5KKCkmJmIucHVzaCgiaGZyIik7Vy5pc0hkcigpJiZiLnB1c2goImhkciIpO1cucHJpbWFyaWVzPT09ImJ0MjAyMCImJmIucHVzaCgid2NnIik7RC52aWRlb19xdWFsaXR5X2ZlYXR1cmVzPWJ9aWYobj1uLmdldFBsYXlsaXN0SWQoKSlELmxpc3Q9bjtyZXR1cm4gRH07ClZTaD1mdW5jdGlvbihuKXtGMihuLCJjdWVWaWRlb0J5SWQiLG4uY0opO0YyKG4sImxvYWRWaWRlb0J5SWQiLG4uWSQpO0YyKG4sImN1ZVZpZGVvQnlVcmwiLG4uYmQpO0YyKG4sImxvYWRWaWRlb0J5VXJsIixuLlFyKTtGMihuLCJwbGF5VmlkZW8iLG4ueXcpO0YyKG4sInBhdXNlVmlkZW8iLG4ucGF1c2VWaWRlbyk7RjIobiwic3RvcFZpZGVvIixuLnptKTtGMihuLCJjbGVhclZpZGVvIixuLmNsZWFyVmlkZW8pO0YyKG4sImdldFZpZGVvQnl0ZXNMb2FkZWQiLG4uWVopO0YyKG4sImdldFZpZGVvQnl0ZXNUb3RhbCIsbi5SYSk7RjIobiwiZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbiIsbi5YKTtGMihuLCJnZXRWaWRlb1N0YXJ0Qnl0ZXMiLG4uTEIpO0YyKG4sImN1ZVBsYXlsaXN0IixuLmN1ZVBsYXlsaXN0KTtGMihuLCJsb2FkUGxheWxpc3QiLG4uTmQpO0YyKG4sIm5leHRWaWRlbyIsbi5VNSk7RjIobiwicHJldmlvdXNWaWRlbyIsbi5RJCk7RjIobiwicGxheVZpZGVvQXQiLG4uTWQpOwpGMihuLCJzZXRTaHVmZmxlIixuLnNldFNodWZmbGUpO0YyKG4sInNldExvb3AiLG4uc2V0TG9vcCk7RjIobiwiZ2V0UGxheWxpc3QiLG4ualcpO0YyKG4sImdldFBsYXlsaXN0SW5kZXgiLG4uZ2V0UGxheWxpc3RJbmRleCk7RjIobiwiZ2V0UGxheWxpc3RJZCIsbi5nZXRQbGF5bGlzdElkKTtGMihuLCJsb2FkTW9kdWxlIixuLmopO0YyKG4sInVubG9hZE1vZHVsZSIsbi5WKTtGMihuLCJzZXRPcHRpb24iLG4uSik7RjIobiwiZ2V0T3B0aW9uIixuLnZKKTtGMihuLCJnZXRPcHRpb25zIixuLk4pO0YyKG4sIm11dGUiLG4uczUpO0YyKG4sInVuTXV0ZSIsbi5taCk7RjIobiwiaXNNdXRlZCIsbi5pc011dGVkKTtGMihuLCJzZXRWb2x1bWUiLG4uYlYpO0YyKG4sImdldFZvbHVtZSIsbi5nZXRWb2x1bWUpO0YyKG4sInNlZWtUbyIsbi5TVik7RjIobiwiZ2V0UGxheWVyTW9kZSIsbi5nZXRQbGF5ZXJNb2RlKTtGMihuLCJnZXRQbGF5ZXJTdGF0ZSIsbi55RSk7RjIobiwiZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyIsCm4uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyk7RjIobiwiZ2V0UGxheWJhY2tRdWFsaXR5IiwoKT0+bi5nZXRQbGF5YmFja1F1YWxpdHkoMSkpOwpGMihuLCJzZXRQbGF5YmFja1F1YWxpdHkiLG4uZVYpO0YyKG4sImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiLG4uVlEpO0YyKG4sImdldEN1cnJlbnRUaW1lIixuLkhKKTtGMihuLCJnZXREdXJhdGlvbiIsbi5udSk7RjIobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5PKTtGMihuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLmdUKTtGMihuLCJnZXREZWJ1Z1RleHQiLG4uRHQpO0YyKG4sImdldFZpZGVvRGF0YSIsKCk9Plc3KG4pKTsKRjIobiwiYWRkQ3VlUmFuZ2UiLG4uWSk7RjIobiwicmVtb3ZlQ3VlUmFuZ2UiLG4ucmVtb3ZlQ3VlUmFuZ2UpO0YyKG4sInNldFNpemUiLG4uc2V0U2l6ZSk7RjIobiwiZ2V0QXBpSW50ZXJmYWNlIixuLmdldEFwaUludGVyZmFjZSk7RjIobiwiZGVzdHJveSIsbi5kZXN0cm95KTtGMihuLCJtdXRlZEF1dG9wbGF5IixuLm11dGVkQXV0b3BsYXkpO3ZhciBXPW4uYXBwLkcoKTtGMihuLCJnZXRWaWRlb0VtYmVkQ29kZSIsbi5nZXRWaWRlb0VtYmVkQ29kZSk7RjIobiwiZ2V0VmlkZW9VcmwiLG4ud2EpO0YyKG4sImdldE1lZGlhUmVmZXJlbmNlVGltZSIsbi5HQyk7RjIobiwiZ2V0U2l6ZSIsbi5nZXRTaXplKTtGMihuLCJzZXRGYXV4RnVsbHNjcmVlbiIsbi51NSk7Vy5TKCJlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpYyIpJiZGMihuLCJzZXRDZW50ZXJDcm9wIixuLnNldENlbnRlckNyb3ApO1cuWHx8RjIobiwibG9nSW1hQWRFdmVudCIsbi5sb2dJbWFBZEV2ZW50KTsKRjIobiwicHJlbG9hZFZpZGVvQnlJZCIsbi5SdCk7RjIobiwid2FrZVVwQ29udHJvbHMiLG4ud2FrZVVwQ29udHJvbHMpfTsKZy5iNT1mdW5jdGlvbihuKXtyZXR1cm4obj1EJChuLmFwcC5KNSgpKSk/bi5CNygpOm51bGx9OwprRj1mdW5jdGlvbihuKXt2YXIgVz1RTShuLmFwcC5HKCkpLEQ9bi5hcHAuZ2V0VmlkZW9EYXRhKCk/Lk1kO249djcobi5hcHApO3JldHVybiBMeShXKSYmIUR8fG4/ITE6ITB9OwpoZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIHR5cGVvZiBuPT09Im51bWJlciI/e3BsYXllclR5cGU6bix2bzpXLGNwbjpEfTpufHx7fX07CmMxQz1mdW5jdGlvbihuKXt2YXIgVz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7aWYoIVcpe3ZhciBEPW4ucGxheWVyX3Jlc3BvbnNlO0QmJihXPUpTT04ucGFyc2UoRCkpfWRlbGV0ZSBuLnBsYXllcl9yZXNwb25zZTtkZWxldGUgbi5yYXdfcGxheWVyX3Jlc3BvbnNlO1cmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9e3N0cmVhbWluZ0RhdGE6Vy5zdHJlYW1pbmdEYXRhLHBsYXllckNvbmZpZzpXLnBsYXllckNvbmZpZ30sVy5wbGF5YmFja1RyYWNraW5nPy5xb2VVcmwmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9ey4uLm4ucmF3X3BsYXllcl9yZXNwb25zZSxwbGF5YmFja1RyYWNraW5nOntxb2VVcmw6Vy5wbGF5YmFja1RyYWNraW5nLnFvZVVybH19KSxXLmNhcHRpb25zJiYobi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsY2FwdGlvbnM6Vy5jYXB0aW9uc30pLFcudmlkZW9EZXRhaWxzJiYoVy52aWRlb0RldGFpbHMudmlkZW9JZHx8Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcykmJgooRD17fSxXLnZpZGVvRGV0YWlscy52aWRlb0lkJiYoRC52aWRlb0lkPVcudmlkZW9EZXRhaWxzLnZpZGVvSWQpLFcudmlkZW9EZXRhaWxzLmxlbmd0aFNlY29uZHMmJihELmxlbmd0aFNlY29uZHM9Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcyksbi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsdmlkZW9EZXRhaWxzOkR9KSl9Owp4Rj1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2lmKG4uYXBwLkcoKS5PKXtmb3IobGV0IGIgb2YgYWF4KVcuaGFzT3duUHJvcGVydHkoYikmJihEW2JdPVdbYl0pO2lmKG49RC5xb2VfY2F0KVc9IiIsdHlwZW9mIG49PT0ic3RyaW5nIiYmbi5sZW5ndGg+MCYmKFc9bi5zcGxpdCgiLCIpLmZpbHRlcihiPT5udDIuaW5jbHVkZXMoYikpLmpvaW4oIiwiKSksRC5xb2VfY2F0PVc7CmMxQyhEKX1lbHNlIGZvcihsZXQgYiBvZiBXYXcpVy5oYXNPd25Qcm9wZXJ0eShiKSYmKERbYl09V1tiXSk7cmV0dXJuIER9OwpMMj1mdW5jdGlvbihuKXtyZXR1cm4gbj9Ed1Vbbl18fDU6NX07CmVCPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKFcpKXtsZXQgYj1XW0RdO249bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrRCwiZ2kiKSwoKT0+Yil9cmV0dXJuIG59OwpiX0M9ZnVuY3Rpb24obil7QlQobiwiZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UiLG4uZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UpO0JUKG4sImdldFRydXN0ZWRBcGkiLG4uZ2V0VHJ1c3RlZEFwaSk7QlQobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5EKTtCVChuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLlRRKTtCVChuLCJjdWVWaWRlb0J5UGxheWVyVmFycyIsbi50dyk7QlQobiwibG9hZFZpZGVvQnlQbGF5ZXJWYXJzIixuLkU1KTtCVChuLCJwcmVsb2FkVmlkZW9CeVBsYXllclZhcnMiLG4uWmgpO0JUKG4sImdldEFkU3RhdGUiLG4uZ2V0QWRTdGF0ZSk7QlQobiwic2VuZEFiYW5kb25tZW50UGluZyIsbi5zZW5kQWJhbmRvbm1lbnRQaW5nKTtCVChuLCJzZXRMb29wUmFuZ2UiLG4uc2V0TG9vcFJhbmdlKTtCVChuLCJnZXRMb29wUmFuZ2UiLG4uZ2V0TG9vcFJhbmdlKTtCVChuLCJzZXRBdXRvbmF2U3RhdGUiLG4uc2V0QXV0b25hdlN0YXRlKTtCVChuLCJzZWVrVG8iLG4uYk4pO0JUKG4sCiJzZWVrQnkiLG4uc1YpO0JUKG4sInNlZWtUb0xpdmVIZWFkIixuLnNlZWtUb0xpdmVIZWFkKTtCVChuLCJyZXF1ZXN0U2Vla1RvV2FsbFRpbWVTZWNvbmRzIixuLnJlcXVlc3RTZWVrVG9XYWxsVGltZVNlY29uZHMpO0JUKG4sInNlZWtUb1N0cmVhbVRpbWUiLG4uc2Vla1RvU3RyZWFtVGltZSk7QlQobiwic3RhcnRTZWVrQ3NpQWN0aW9uIixuLnN0YXJ0U2Vla0NzaUFjdGlvbik7QlQobiwiZ2V0U3RyZWFtVGltZU9mZnNldCIsbi5nZXRTdHJlYW1UaW1lT2Zmc2V0KTtCVChuLCJnZXRWaWRlb0RhdGEiLG4uZkIpO0JUKG4sImdldEFwcFN0YXRlIixuLmdldEFwcFN0YXRlKTtCVChuLCJ1cGRhdGVMYXN0QWN0aXZlVGltZSIsbi51cGRhdGVMYXN0QWN0aXZlVGltZSk7QlQobiwic2V0VXNlckVuZ2FnZW1lbnQiLG4uc2V0VXNlckVuZ2FnZW1lbnQpO0JUKG4sInVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3MpO0JUKG4sImdldFByZXNlbnRpbmdQbGF5ZXJUeXBlIiwKbi5XKTtCVChuLCJjYW5QbGF5VHlwZSIsbi5jYW5QbGF5VHlwZSk7QlQobiwidXBkYXRlUGxheWxpc3QiLG4udXBkYXRlUGxheWxpc3QpO0JUKG4sInVwZGF0ZVZpZGVvRGF0YSIsbi51cGRhdGVWaWRlb0RhdGEpO0JUKG4sInVwZGF0ZUVudmlyb25tZW50RGF0YSIsbi51cGRhdGVFbnZpcm9ubWVudERhdGEpO0JUKG4sInNlbmRWaWRlb1N0YXRzRW5nYWdlRXZlbnQiLG4uWXIpO0JUKG4sInNldFNhZmV0eU1vZGUiLG4uc2V0U2FmZXR5TW9kZSk7QlQobiwiaXNBdExpdmVIZWFkIixXPT5uLmlzQXRMaXZlSGVhZCh2b2lkIDAsVykpOwpCVChuLCJnZXRWaWRlb0FzcGVjdFJhdGlvIixuLmdldFZpZGVvQXNwZWN0UmF0aW8pO0JUKG4sImdldFByZWZlcnJlZFF1YWxpdHkiLG4uZ2V0UHJlZmVycmVkUXVhbGl0eSk7QlQobiwiZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwiLG4uZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwpO0JUKG4sInNldFBsYXliYWNrUXVhbGl0eVJhbmdlIixuLldpKTtCVChuLCJvbkFkVXhDbGlja2VkIixuLm9uQWRVeENsaWNrZWQpO0JUKG4sImdldEZlZWRiYWNrUHJvZHVjdERhdGEiLG4uZ2V0RmVlZGJhY2tQcm9kdWN0RGF0YSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lIixuLmdldFN0b3J5Ym9hcmRGcmFtZSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgiLG4uZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgpO0JUKG4sImdldFN0b3J5Ym9hcmRMZXZlbCIsbi5nZXRTdG9yeWJvYXJkTGV2ZWwpO0JUKG4sImdldE51bWJlck9mU3Rvcnlib2FyZExldmVscyIsbi5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMpOwpCVChuLCJnZXRDYXB0aW9uV2luZG93Q29udGFpbmVySWQiLG4uZ2V0Q2FwdGlvbldpbmRvd0NvbnRhaW5lcklkKTtCVChuLCJnZXRBdmFpbGFibGVRdWFsaXR5TGFiZWxzIixuLmdldEF2YWlsYWJsZVF1YWxpdHlMYWJlbHMpO0JUKG4sImFkZEN1ZVJhbmdlIixuLmFkZEN1ZVJhbmdlKTtCVChuLCJhZGRVdGNDdWVSYW5nZSIsbi5hZGRVdGNDdWVSYW5nZSk7QlQobiwic2hvd0FpcnBsYXlQaWNrZXIiLG4uc2hvd0FpcnBsYXlQaWNrZXIpO0JUKG4sImRpc3BhdGNoUmVkdXhBY3Rpb24iLG4uZGlzcGF0Y2hSZWR1eEFjdGlvbik7QlQobiwiZ2V0UGxheWVyUmVzcG9uc2UiLG4uUFgpO0JUKG4sImdldFdhdGNoTmV4dFJlc3BvbnNlIixuLnZYKTtCVChuLCJnZXRIZWFydGJlYXRSZXNwb25zZSIsbi5GRik7QlQobiwiZ2V0Q3VycmVudFRpbWUiLG4uZSQpO0JUKG4sImdldER1cmF0aW9uIixuLm1aKTtCVChuLCJnZXRQbGF5ZXJTdGF0ZSIsbi5nZXRQbGF5ZXJTdGF0ZSk7QlQobiwiZ2V0UGxheWVyU3RhdGVPYmplY3QiLApuLkN1KTtCVChuLCJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIixuLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24pO0JUKG4sImdldFByb2dyZXNzU3RhdGUiLG4uZ2V0UHJvZ3Jlc3NTdGF0ZSk7QlQobiwiZ2V0Vm9sdW1lIixuLmdldFZvbHVtZSk7QlQobiwic2V0Vm9sdW1lIixuLmtGKTtCVChuLCJpc011dGVkIixuLmlzTXV0ZWQpO0JUKG4sIm11dGUiLG4uZ0cpO0JUKG4sInVuTXV0ZSIsbi5sbSk7QlQobiwibG9hZE1vZHVsZSIsbi5sb2FkTW9kdWxlKTtCVChuLCJ1bmxvYWRNb2R1bGUiLG4udW5sb2FkTW9kdWxlKTtCVChuLCJnZXRPcHRpb24iLG4uanUpO0JUKG4sImdldE9wdGlvbnMiLG4uZ2V0T3B0aW9ucyk7QlQobiwic2V0T3B0aW9uIixuLnNldE9wdGlvbik7QlQobiwibG9hZFZpZGVvQnlJZCIsbi5ydyk7QlQobiwibG9hZFZpZGVvQnlVcmwiLG4uSzApO0JUKG4sInBsYXlWaWRlbyIsbi5VRyk7QlQobiwic3RvcFZpZGVvIixuLkspO0JUKG4sImxvYWRQbGF5bGlzdCIsbi5sb2FkUGxheWxpc3QpOwpCVChuLCJuZXh0VmlkZW8iLG4ubmV4dFZpZGVvKTtCVChuLCJwcmV2aW91c1ZpZGVvIixuLnByZXZpb3VzVmlkZW8pO0JUKG4sInBsYXlWaWRlb0F0IixuLnBsYXlWaWRlb0F0KTtCVChuLCJnZXREZWJ1Z1RleHQiLG4uZ2V0RGVidWdUZXh0KTtCVChuLCJnZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnIixuLmdldFdlYlBsYXllckNvbnRleHRDb25maWcpO0JUKG4sImdldFZpZGVvQ29udGVudFJlY3QiLG4uZ2V0VmlkZW9Db250ZW50UmVjdCk7QlQobiwidG9nZ2xlU3VidGl0bGVzT24iLG4udG9nZ2xlU3VidGl0bGVzT24pO0JUKG4sImlzU3VidGl0bGVzT24iLG4uaXNTdWJ0aXRsZXNPbik7QlQobiwiZ2V0QXVkaW9UcmFjayIsbi5UQyk7QlQobiwic2V0QXVkaW9UcmFjayIsbi5zeik7QlQobiwiZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MiLG4uUyQpO0JUKG4sImlzT3JjaGVzdHJhdGlvbkxlYWRlciIsbi5pc09yY2hlc3RyYXRpb25MZWFkZXIpO0JUKG4sIm5vdGlmeVNob3J0c0FkU3dpcGVFdmVudCIsCm4ubm90aWZ5U2hvcnRzQWRTd2lwZUV2ZW50KTtCVChuLCJwcmVmZXRjaEtleVBsYXkiLG4ucHJlZmV0Y2hLZXlQbGF5KTtCVChuLCJwcmVmZXRjaEp1bXBBaGVhZCIsbi5wcmVmZXRjaEp1bXBBaGVhZCk7QlQobiwicHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQiLG4ucHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQpO0JUKG4sInNldEJsYWNrb3V0IixuLnNldEJsYWNrb3V0KTtCVChuLCJzZXRJbmxpbmVQcmV2aWV3IixuLnNldElubGluZVByZXZpZXcpO0JUKG4sInNldFNxdWVlemViYWNrIixuLnNldFNxdWVlemViYWNrKTtCVChuLCJyZXBvcnRQbGF5YmFja0lzc3VlIixuLnJlcG9ydFBsYXliYWNrSXNzdWUpO0JUKG4sInNldEF1dG9uYXYiLG4uc2V0QXV0b25hdik7QlQobiwiaXNOb3RTZXJ2YWJsZSIsbi5pc05vdFNlcnZhYmxlKTtCVChuLCJjaGFubmVsU3Vic2NyaWJlZCIsbi5jaGFubmVsU3Vic2NyaWJlZCk7QlQobiwiY2hhbm5lbFVuc3Vic2NyaWJlZCIsCm4uY2hhbm5lbFVuc3Vic2NyaWJlZCk7QlQobiwidG9nZ2xlUGljdHVyZUluUGljdHVyZSIsbi50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTtCVChuLCJzdXBwb3J0c0dhcGxlc3NBdWRpbyIsbi5zdXBwb3J0c0dhcGxlc3NBdWRpbyk7QlQobiwic3VwcG9ydHNHYXBsZXNzU2hvcnRzIixuLnN1cHBvcnRzR2FwbGVzc1Nob3J0cyk7QlQobiwiaXNHYXBsZXNzVHJhbnNpdGlvblJlYWR5IixuLmlzR2FwbGVzc1RyYW5zaXRpb25SZWFkeSk7QlQobiwic2V0U2hvcnRzQXV0b0FkdmFuY2VkRW5hYmxlZCIsbi5zZXRTaG9ydHNBdXRvQWR2YW5jZWRFbmFibGVkKTtCVChuLCJlbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMiLFc9PnZvaWQgbi5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMoVykpOwpCVChuLCJjbGVhclF1ZXVlIixuLmNsZWFyUXVldWUpO0JUKG4sImdldE1heFBsYXliYWNrUXVhbGl0eSIsbi5nZXRNYXhQbGF5YmFja1F1YWxpdHkpO0JUKG4sImdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlIixuLmdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlKTtCVChuLCJnZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3MiLG4uZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKTtCVChuLCJyZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi5yZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyk7QlQobiwic2V0TWluaW1pemVkIixuLnNldE1pbmltaXplZCk7QlQobiwic2V0T3ZlcmxheVZpc2liaWxpdHkiLG4uc2V0T3ZlcmxheVZpc2liaWxpdHkpO0JUKG4sImNvbmZpcm1ZcGNSZW50YWwiLG4uY29uZmlybVlwY1JlbnRhbCk7QlQobiwicXVldWVOZXh0VmlkZW8iLG4ucXVldWVOZXh0VmlkZW8pO0JUKG4sImhhbmRsZUV4dGVybmFsQ2FsbCIsbi5oYW5kbGVFeHRlcm5hbENhbGwpOwpCVChuLCJsb2dBcGlDYWxsIixuLmxvZ0FwaUNhbGwpO0JUKG4sImlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUiLG4uaXNFeHRlcm5hbE1ldGhvZEF2YWlsYWJsZSk7QlQobiwic2V0U2NyZWVuTGF5ZXIiLG4uc2V0U2NyZWVuTGF5ZXIpO0JUKG4sImdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlIixuLmdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlKTtCVChuLCJnZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSIsbi5nZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSk7QlQobiwic2hvdWxkU2VuZFZpc2liaWxpdHlTdGF0ZSIsbi5zaG91bGRTZW5kVmlzaWJpbGl0eVN0YXRlKTtCVChuLCJzeW5jVm9sdW1lIixuLnN5bmNWb2x1bWUpO0JUKG4sImhpZ2hsaWdodFNldHRpbmdzTWVudUl0ZW0iLG4uaGlnaGxpZ2h0U2V0dGluZ3NNZW51SXRlbSk7QlQobiwib3BlblNldHRpbmdzTWVudUl0ZW0iLG4ub3BlblNldHRpbmdzTWVudUl0ZW0pO0JUKG4sImdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UiLApuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UpO0JUKG4sImdldFZpc2liaWxpdHlTdGF0ZSIsbi5nZXRWaXNpYmlsaXR5U3RhdGUpO0JUKG4sImlzTXV0ZWRCeU11dGVkQXV0b3BsYXkiLG4uaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSk7QlQobiwiaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheSIsbi5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KTtCVChuLCJzZXRHbG9iYWxDcm9wIixuLnNldEdsb2JhbENyb3ApO0JUKG4sInNldEludGVybmFsU2l6ZSIsbi5zZXRJbnRlcm5hbFNpemUpO0JUKG4sInNldEZhdXhGdWxsc2NyZWVuIixuLnNldEZhdXhGdWxsc2NyZWVuKTtCVChuLCJzZXRBcHBGdWxsc2NyZWVuIixuLnNldEFwcEZ1bGxzY3JlZW4pO0JUKG4sImlzS2V5Ym9hcmREaXNhYmxlZCIsbi5pc0tleWJvYXJkRGlzYWJsZWQpO0JUKG4sImdldEN1cnJlbnRUaW1lRm9yVXgiLG4uZ2V0Q3VycmVudFRpbWVGb3JVeCk7QlQobiwiZ2V0RHVyYXRpb25Gb3JVeCIsbi5nZXREdXJhdGlvbkZvclV4KX07Cmd2PWZ1bmN0aW9uKG4pe24uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKT09PTM/bi5XSigibWR4YXV0b3BsYXljYW5jZWwiKTpnLlJUKG4sIm9uQXV0b25hdkNhbmNlbGxlZCIsITApfTsKWHo9ZnVuY3Rpb24obil7bj1uLko1KCkuTmkuZ2V0KCJlbmRzY3JlZW4iKTtyZXR1cm4hIW4mJlh6KG4pfTsKcXA9ZnVuY3Rpb24obil7bj1uLko1KCk7dmFyIFc9bi5OaS5nZXQoImVuZHNjcmVlbiIpO3JldHVybiBXJiZXLlhjKCk/ITA6bi5JVigpfTsKdGY9ZnVuY3Rpb24obil7dmFyIFc9R3Uobi5KNSgpKTtyZXR1cm4gbi5hcHAuWlYmJiFuLmlzRnVsbHNjcmVlbigpfHxuLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0zJiZXJiZXLmhhc05leHQoKSYmVy5oYXNQcmV2aW91cygpfHwhIW4uZ2V0UGxheWxpc3QoKX07CmcuZno9ZnVuY3Rpb24obil7cmV0dXJuKG49Zy4kRihuLko1KCkpKT9uLkhwKCk6e319OwpnLnJ2PWZ1bmN0aW9uKG4sVyxEKXtuPW4ubGooKS5lbGVtZW50O3ZhciBiPURlKG4uY2hpbGRyZW4sdj0+e3Y9TnVtYmVyKHYuZ2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIikpO3JldHVybiBELXZ8fDF9KTsKYjwwJiYoYj0tKGIrMSkpO2cuanAobixXLGIpO1cuc2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIixTdHJpbmcoRCkpfTsKdnRDPWZ1bmN0aW9uKG4sVyl7bj1zRihuLmFwcC5Wci5YKTtmb3IobGV0IEQgb2Ygbil7bj1ELmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7bGV0IGI9bnVsbDtmb3IobGV0IHYgb2YgbilpZih2LmdldExhbmd1YWdlSW5mbygpLmdldElkKCk9PT1XKXtiPXY7YnJlYWt9YiYmRC5MeShiLCEwKX19OwpnLnAyPWZ1bmN0aW9uKCl7TnB8fChOcD1uZXcga0t4KTtyZXR1cm4gTnB9OwpnLllGPWZ1bmN0aW9uKG4sVyl7Vz9uLlpKLkF1dGhvcml6YXRpb249YEJlYXJlciAke1d9YDpkZWxldGUgbi5aSi5BdXRob3JpemF0aW9ufTsKaHh3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9KC4uLmIpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKTtXKC4uLmIpfTsKbi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKX07CmcuSDc9ZnVuY3Rpb24obil7dmFyIFc9TWF0aC5hYnMoTWF0aC5mbG9vcihuKSksRD1NYXRoLmZsb29yKFcvODY0MDApLGI9TWF0aC5mbG9vcihXJTg2NDAwLzM2MDApLHY9TWF0aC5mbG9vcihXJTM2MDAvNjApO1c9TWF0aC5mbG9vcihXJTYwKTt2YXIgaz0iIjtEPjAmJihrKz1gJHtEfTpgLGI8MTAmJihrKz0iMCIpKTtpZihEPjB8fGI+MClrKz1gJHtifTpgLHY8MTAmJihrKz0iMCIpO2srPWAke3Z9OmA7VzwxMCYmKGsrPSIwIik7RD1rK1c7cmV0dXJuIG4+PTA/RDpgLSR7RH1gfTsKZjI9ZnVuY3Rpb24obil7cmV0dXJuKCEoImJ1dHRvbiJpbiBuKXx8dHlwZW9mIG4uYnV0dG9uIT09Im51bWJlciJ8fG4uYnV0dG9uPT09MCkmJiEoInNoaWZ0S2V5ImluIG4mJm4uc2hpZnRLZXkpJiYhKCJhbHRLZXkiaW4gbiYmbi5hbHRLZXkpJiYhKCJtZXRhS2V5ImluIG4mJm4ubWV0YUtleSkmJiEoImN0cmxLZXkiaW4gbiYmbi5jdHJsS2V5KX07CkpmPWZ1bmN0aW9uKG4sVyxELGIpe2lmKGIuc3Vic3RyaW5nKDAsMik9PT0ie3siKW4uWVpbYl09W1csRF07ZWxzZSByZXR1cm4gYn07Ckl5PWZ1bmN0aW9uKG4sVyxELGIpe2lmKEQ9PT0iY2hpbGQiKXtnLlRGKFcpO2xldCBrO2I9PT12b2lkIDA/az12b2lkIDA6az0hQXJyYXkuaXNBcnJheShiKXx8YiYmdHlwZW9mIGIuWj09PSJzdHJpbmciP1tiXTpiO0Q9eHcyKG4sayk7Zm9yKHZhciB2IG9mIEQpVy5hcHBlbmRDaGlsZCh2KX1lbHNlIEQ9PT0ic3R5bGUiP2cuaDEoVywiY3NzVGV4dCIsYj9iOiIiKTpiPT09bnVsbHx8Yj09PXZvaWQgMD9XLnJlbW92ZUF0dHJpYnV0ZShEKToodj1iLnRvU3RyaW5nKCksRD09PSJocmVmIiYmKHY9Z3ooZy50Rih2LGcuRzQpfHxnLlY1KSksVy5zZXRBdHRyaWJ1dGUoRCx2KSl9Owp4dzI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVylyZXR1cm4gRDtmb3IobGV0IGIgb2YgVyl7aWYoYj09bnVsbCljb250aW51ZTtXPWIubm9kZVR5cGU7Vz09PTF8fFc9PT0zP0QucHVzaChiKTpiJiZ0eXBlb2YgYi5aPT09InN0cmluZyI/RC5wdXNoKG4uY3JlYXRlRWxlbWVudChiKSk6Yi5lbGVtZW50P0QucHVzaChiLmVsZW1lbnQpOnR5cGVvZiBiPT09InN0cmluZyImJmIuaW5kZXhPZigiXG4iKSE9PS0xP2Iuc3BsaXQoIlxuIikuZm9yRWFjaCgodixrKT0+e2s+MCYmRC5wdXNoKGcuekYoIkJSIikpO0QucHVzaChnLmxrKHYpKX0pOkQucHVzaChnLmxrKGIpKX1yZXR1cm4gRH07ClNCPWZ1bmN0aW9uKG4sVyl7bj1uLmVsZW1lbnQuZWxlbWVudDtXP24uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTpuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX07CkFmPWZ1bmN0aW9uKG4pe3JldHVybiBuLkomJm4uZmFkZS5zdGF0ZSE9PTR9OwptUD1mdW5jdGlvbihuKXtuLnNvdXJjZUVsZW1lbnQmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZnLkJ4KG4uZWxlbWVudCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmbi5zb3VyY2VFbGVtZW50LmZvY3VzKCksbi5zb3VyY2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksbi5zb3VyY2VFbGVtZW50PXZvaWQgMCk7bi5OLkooKTtuLlc9dm9pZCAwfTsKZy5LMj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMyIDMyIix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik0gMTkuNDEsMjAuMDkgMTQuODMsMTUuNSAxOS40MSwxMC45MSAxOCw5LjUgbCAtNiw2IDYsNiB6IixmaWxsOiIjZmZmIn19XX19OwpnLk9GPWZ1bmN0aW9uKCl7cmV0dXJue1o6InN2ZyIseGE6e2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMzIgMzIiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoibSAxMi41OSwyMC4zNCA0LjU4LC00LjU5IC00LjU4LC00LjU5IDEuNDEsLTEuNDEgNiw2IC02LDYgeiIsZmlsbDoiI2ZmZiJ9fV19fTsKZy5QNz1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUifSxYRjpbe1o6InBhdGgiLHhhOntkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIsZmlsbDoiI2ZmZiJ9fV19fTsKWiQ9ZnVuY3Rpb24oKXtyZXR1cm57Wjoic3ZnIix4YTp7aGVpZ2h0OiIxMDAlIix2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIixLeTohMCxKdzoieXRwLXN2Zy1maWxsIix4YTp7ZDoiTSAxNi42OCwuOTkgQyAxMy41NSwxLjAzIDcuMDIsMS4xNiA0Ljk5LDEuNjggYyAtMS40OSwuNCAtMi41OSwxLjYgLTIuOTksMyAtMC42OSwyLjcgLTAuNjgsOC4zMSAtMC42OCw4LjMxIDAsMCAtMC4wMSw1LjYxIC42OCw4LjMxIC4zOSwxLjUgMS41OSwyLjYgMi45OSwzIDIuNjksLjcgMTMuNDAsLjY4IDEzLjQwLC42OCAwLDAgMTAuNzAsLjAxIDEzLjQwLC0wLjY4IDEuNSwtMC40IDIuNTksLTEuNiAyLjk5LC0zIC42OSwtMi43IC42OCwtOC4zMSAuNjgsLTguMzEgMCwwIC4xMSwtNS42MSAtMC42OCwtOC4zMSAtMC40LC0xLjUgLTEuNTksLTIuNiAtMi45OSwtMyBDIDI5LjExLC45OCAxOC40MCwuOTkgMTguNDAsLjk5IGMgMCwwIC0wLjY3LC0wLjAxIC0xLjcxLDAgeiBtIDcyLjIxLC45MCAwLDIxLjI4IDIuNzgsMCAuMzEsLTEuMzcgLjA5LDAgYyAuMywuNSAuNzEsLjg4IDEuMjEsMS4xOCAuNSwuMyAxLjA4LC40MCAxLjY4LC40MCAxLjEsMCAxLjk5LC0wLjQ5IDIuNDksLTEuNTkgLjUsLTEuMSAuODEsLTIuNzAgLjgxLC00LjkwIGwgMCwtMi40MCBjIDAsLTEuNiAtMC4xMSwtMi45MCAtMC4zMSwtMy45MCAtMC4yLC0wLjg5IC0wLjUsLTEuNTkgLTEsLTIuMDkgLTAuNSwtMC40IC0xLjEwLC0wLjU5IC0xLjkwLC0wLjU5IC0wLjU5LDAgLTEuMTgsLjE5IC0xLjY4LC40OSAtMC40OSwuMyAtMS4wMSwuODAgLTEuMjEsMS40MCBsIDAsLTcuOTAgLTMuMjgsMCB6IG0gLTQ5Ljk5LC43OCAzLjkwLDEzLjkwIC4xOCw2LjcxIDMuMzEsMCAwLC02LjcxIDMuODcsLTEzLjkwIC0zLjM3LDAgLTEuNDAsNi4zMSBjIC0wLjQsMS44OSAtMC43MSwzLjE5IC0wLjgxLDMuOTkgbCAtMC4wOSwwIGMgLTAuMiwtMS4xIC0wLjUxLC0yLjQgLTAuODEsLTMuOTkgbCAtMS4zNywtNi4zMSAtMy40MCwwIHogbSAyOS41OSwwIDAsMi43MSAzLjQwLDAgMCwxNy45MCAzLjI4LDAgMCwtMTcuOTAgMy40MCwwIGMgMCwwIC4wMCwtMi43MSAtMC4wOSwtMi43MSBsIC05Ljk5LDAgeiBtIC01My40OSw1LjEyIDguOTAsNS4xOCAtOC45MCw1LjA5IDAsLTEwLjI4IHogbSA4OS40MCwuMDkgYyAtMS43LDAgLTIuODksLjU5IC0zLjU5LDEuNTkgLTAuNjksLjk5IC0wLjk5LDIuNjAgLTAuOTksNC45MCBsIDAsMi41OSBjIDAsMi4yIC4zMCwzLjkwIC45OSw0LjkwIC43LDEuMSAxLjgsMS41OSAzLjUsMS41OSAxLjQsMCAyLjM4LC0wLjMgMy4xOCwtMSAuNywtMC43IDEuMDksLTEuNjkgMS4wOSwtMy4wOSBsIDAsLTAuNSAtMi45MCwtMC4yMSBjIDAsMSAtMC4wOCwxLjYgLTAuMjgsMiAtMC4xLC40IC0wLjUsLjYyIC0xLC42MiAtMC4zLDAgLTAuNjEsLTAuMTEgLTAuODEsLTAuMzEgLTAuMiwtMC4zIC0wLjMwLC0wLjU5IC0wLjQwLC0xLjA5IC0wLjEsLTAuNSAtMC4wOSwtMS4yMSAtMC4wOSwtMi4yMSBsIDAsLTAuNzggNS43MSwtMC4wOSAwLC0yLjYyIGMgMCwtMS42IC0wLjEwLC0yLjc4IC0wLjQwLC0zLjY4IC0wLjIsLTAuODkgLTAuNzEsLTEuNTkgLTEuMzEsLTEuOTkgLTAuNywtMC40IC0xLjQ4LC0wLjU5IC0yLjY4LC0wLjU5IHogbSAtNTAuNDksLjA5IGMgLTEuMDksMCAtMi4wMSwuMTggLTIuNzEsLjY4IC0wLjcsLjQgLTEuMiwxLjEyIC0xLjQ5LDIuMTIgLTAuMywxIC0wLjUsMi4yNyAtMC41LDMuODcgbCAwLDIuMjEgYyAwLDEuNSAuMTAsMi43OCAuNDAsMy43OCAuMiwuOSAuNzAsMS42MiAxLjQwLDIuMTIgLjY5LC41IDEuNzEsLjY4IDIuODEsLjc4IDEuMTksMCAyLjA4LC0wLjI4IDIuNzgsLTAuNjggLjY5LC0wLjQgMS4wOSwtMS4wOSAxLjQ5LC0yLjA5IC4zOSwtMSAuNDksLTIuMzAgLjQ5LC0zLjkwIGwgMCwtMi4yMSBjIDAsLTEuNiAtMC4yLC0yLjg3IC0wLjQ5LC0zLjg3IC0wLjMsLTAuODkgLTAuOCwtMS42MiAtMS40OSwtMi4xMiAtMC43LC0wLjUgLTEuNTgsLTAuNjggLTIuNjgsLTAuNjggeiBtIDEyLjE4LC4wOSAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjE4LC0wLjcwIC0wLjE4LC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjE4LDIuMzkgLjY4LDMuMDkgLjQ5LC43IDEuMjEsMSAyLjIxLDEgMS40LDAgMi40OCwtMC42OSAzLjE4LC0yLjA5IGwgLjA5LDAgLjMxLDEuNzggMi41OSwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMTcuMzEsMCAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjIxLC0wLjcwIC0wLjIxLC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjIxLDIuMzkgLjcxLDMuMDkgLjUsLjcgMS4xOCwxIDIuMTgsMSAxLjM5LDAgMi41MSwtMC42OSAzLjIxLC0yLjA5IGwgLjA5LDAgLjI4LDEuNzggMi42MiwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMjAuOTAsMi4wOSBjIC40LDAgLjU4LC4xMSAuNzgsLjMxIC4yLC4zIC4zMCwuNTkgLjQwLDEuMDkgLjEsLjUgLjA5LDEuMjEgLjA5LDIuMjEgbCAwLDEuMDkgLTIuNSwwIDAsLTEuMDkgYyAwLC0xIC0wLjAwLC0xLjcxIC4wOSwtMi4yMSAwLC0wLjQgLjExLC0wLjggLjMxLC0xIC4yLC0wLjMgLjUxLC0wLjQwIC44MSwtMC40MCB6IG0gLTUwLjQ5LC4xMiBjIC41LDAgLjgsLjE4IDEsLjY4IC4xOSwuNSAuMjgsMS4zMCAuMjgsMi40MCBsIDAsNC42OCBjIDAsMS4xIC0wLjA4LDEuOTAgLTAuMjgsMi40MCAtMC4yLC41IC0wLjUsLjY4IC0xLC42OCAtMC41LDAgLTAuNzksLTAuMTggLTAuOTksLTAuNjggLTAuMiwtMC41IC0wLjMxLC0xLjMwIC0wLjMxLC0yLjQwIGwgMCwtNC42OCBjIDAsLTEuMSAuMTEsLTEuOTAgLjMxLC0yLjQwIC4yLC0wLjUgLjQ5LC0wLjY4IC45OSwtMC42OCB6IG0gMzkuNjgsLjA5IGMgLjMsMCAuNjEsLjEwIC44MSwuNDAgLjIsLjMgLjI3LC42NyAuMzcsMS4zNyAuMSwuNiAuMTIsMS41MSAuMTIsMi43MSBsIC4wOSwxLjkwIGMgMCwxLjEgLjAwLDEuOTkgLTAuMDksMi41OSAtMC4xLC42IC0wLjE5LDEuMDggLTAuNDksMS4yOCAtMC4yLC4zIC0wLjUwLC40MCAtMC45MCwuNDAgLTAuMywwIC0wLjUxLC0wLjA4IC0wLjgxLC0wLjE4IC0wLjIsLTAuMSAtMC4zOSwtMC4yOSAtMC41OSwtMC41OSBsIDAsLTguNSBjIC4xLC0wLjQgLjI5LC0wLjcgLjU5LC0xIC4zLC0wLjMgLjYwLC0wLjQwIC45MCwtMC40MCB6In19XX19OwpVRj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntmaWxsOiJub25lIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxNDMgNTEiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoiTTU4LjM3IDQxLjM5SDYyLjc5VjI3LjIzQzYyLjc5IDIzLjAzIDYyLjY5IDE4LjY5IDYyLjQzIDEzLjU5SDYyLjkzTDYzLjY5IDE2Ljg5TDY4LjY3IDQxLjM5SDczLjE3TDc4LjA3IDE2Ljg5TDc4Ljg5IDEzLjU5SDc5LjM3Qzc5LjE1IDE4LjQ1IDc5LjAzIDIyLjg5IDc5LjAzIDI3LjIzVjQxLjM5SDgzLjQ1VjguNzlINzUuOTVMNzMuNDEgMjAuODFDNzIuMzUgMjUuODUgNzEuNTEgMzIuMDEgNzEuMDEgMzUuMTlINzAuNzNDNzAuMzMgMzEuOTUgNjkuNDkgMjUuODEgNjguNDEgMjAuODVMNjUuODEgOC43OUg1OC4zN1Y0MS4zOVoiLGZpbGw6IndoaXRlIn19LHtaOiJwYXRoIix4YTp7ZDoiTTkxLjQ1IDQxLjczQzkzLjkxIDQxLjczIDk1LjgzIDQwLjU5IDk3LjE3IDM4LjEzSDk3LjM1TDk3LjY5IDQxLjM5SDEwMS40M1YxNy43M0g5Ni40N1YzNi42MUM5NS45MSAzNy42NyA5NC44MSAzOC4yOSA5My43MyAzOC4yOUM5Mi4zMyAzOC4yOSA5MS44OSAzNy4xNyA5MS44OSAzNS4xM1YxNy43M0g4Ni45M1YzNS40M0M4Ni45MyAzOS40OSA4OC4xOSA0MS43MyA5MS40NSA0MS43M1oiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMTAuNzkgNDEuODlDMTE1LjE1IDQxLjg5IDExNy43NSAzOS44MyAxMTcuNzUgMzUuNjVDMTE3Ljc1IDMxLjc5IDExNS45MyAzMC4zOSAxMTEuODUgMjcuNDdDMTA5LjY3IDI1LjkxIDEwOC4zOSAyNS4wOSAxMDguMzkgMjIuOTVDMTA4LjM5IDIxLjQ3IDEwOS4yNyAyMC42MSAxMTAuODkgMjAuNjFDMTEyLjY5IDIwLjYxIDExMy4zMyAyMS44MSAxMTMuMzMgMjUuMjlMMTE3LjQ1IDI1LjA3QzExNy43NyAxOS41NyAxMTUuNzEgMTcuMjMgMTEwLjk3IDE3LjIzQzEwNi41NyAxNy4yMyAxMDQuMTcgMTkuMjcgMTA0LjE3IDIzLjQ1QzEwNC4xNyAyNy4yNSAxMDUuOTcgMjguODMgMTA4LjkzIDMxLjAzQzExMS44OSAzMy4yMyAxMTMuNTUgMzQuNTMgMTEzLjU1IDM2LjIzQzExMy41NSAzNy43NSAxMTIuNTEgMzguNjEgMTExLjAxIDM4LjYxQzEwOS4xMyAzOC42MSAxMDguMTEgMzYuOTcgMTA4LjI5IDM0LjQxTDEwNC4yMSAzNC40OUMxMDMuNTEgMzkuMjUgMTA1Ljg5IDQxLjg5IDExMC43OSA0MS44OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMjIuNSAxNC41OUMxMjQuMjIgMTQuNTkgMTI1LjA0IDEzLjk5IDEyNS4wNCAxMS41OUMxMjUuMDQgOS4zMyAxMjQuMTYgOC42NSAxMjIuNSA4LjY1QzEyMC44NCA4LjY1IDExOS45NCA5LjI3IDExOS45NCAxMS41OUMxMTkuOTQgMTMuOTkgMTIwLjgyIDE0LjU5IDEyMi41IDE0LjU5Wk0xMjAuMiA0MS4zOUgxMjVWMTcuNzNIMTIwLjJWNDEuMzlaIixmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMzQuOTUgNDEuNzlDMTM3LjMxIDQxLjc5IDEzOC42MyA0MS40OSAxMzkuNzEgNDAuNDdDMTQxLjMxIDM5LjAxIDE0MS45NyAzNi42MyAxNDEuODUgMzMuMTFMMTM3LjQxIDMyLjg3QzEzNy40MSAzNi44NyAxMzYuODEgMzguNDUgMTM1LjAzIDM4LjQ1QzEzMy4xMyAzOC40NSAxMzIuNzcgMzYuNDUgMTMyLjc3IDMxLjk3VjI3LjIxQzEzMi43NyAyMi40MSAxMzMuMjMgMjAuNTEgMTM1LjA3IDIwLjUxQzEzNi42NyAyMC41MSAxMzcuMjkgMjIuMDEgMTM3LjI5IDI2LjQ3TDE0MS42NSAyNi4xNUMxNDEuOTcgMjIuOTMgMTQxLjU5IDIwLjI5IDE0MC4wOSAxOC44M0MxMzkuMDEgMTcuNzcgMTM3LjM3IDE3LjI5IDEzNS4xNSAxNy4yOUMxMjkuNjUgMTcuMjkgMTI3Ljc1IDIwLjczIDEyNy43NSAyOC4wM1YzMS4xN0MxMjcuNzUgMzguNDcgMTI5LjIzIDQxLjc5IDEzNC45NSA0MS43OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6eyJjbGlwLXJ1bGUiOiJldmVub2RkIixkOiJNMjQuOTkgNDlDMjkuNzQgNDkuMDAgMzQuMzggNDcuNTkgMzguMzIgNDQuOTVDNDIuMjcgNDIuMzIgNDUuMzUgMzguNTcgNDcuMTcgMzQuMThDNDguOTggMjkuODAgNDkuNDYgMjQuOTcgNDguNTMgMjAuMzJDNDcuNjEgMTUuNjYgNDUuMzIgMTEuMzggNDEuOTcgOC4wM0MzOC42MSA0LjY3IDM0LjMzIDIuMzggMjkuNjggMS40NkMyNS4wMiAuNTMgMjAuMjAgMS4wMSAxNS44MSAyLjgyQzExLjQzIDQuNjQgNy42OCA3LjcxIDUuMDQgMTEuNjZDMi40MCAxNS42MSAxIDIwLjI1IDEgMjVDMC45OSAyOC4xNSAxLjYxIDMxLjI3IDIuODIgMzQuMThDNC4wMyAzNy4wOSA1Ljc5IDM5Ljc0IDguMDIgNDEuOTdDMTAuMjUgNDQuMTkgMTIuODkgNDUuOTYgMTUuODEgNDcuMTdDMTguNzIgNDguMzcgMjEuODQgNDkgMjQuOTkgNDlaTTI0Ljk5IDEyLjM2QzI3LjQ5IDEyLjM2IDI5Ljk0IDEzLjEwIDMyLjAyIDE0LjQ4QzM0LjEwIDE1Ljg3IDM1LjcyIDE3Ljg0IDM2LjY4IDIwLjE1QzM3LjY0IDIyLjQ2IDM3Ljg5IDI1LjAxIDM3LjQxIDI3LjQ2QzM2LjkyIDI5LjkxIDM1LjcyIDMyLjE3IDMzLjk1IDMzLjk0QzMyLjE4IDM1LjcwIDI5LjkzIDM2LjkxIDI3LjQ4IDM3LjQwQzI1LjAyIDM3Ljg5IDIyLjQ4IDM3LjY0IDIwLjE3IDM2LjY4QzE3Ljg2IDM1LjcyIDE1Ljg4IDM0LjEwIDE0LjUwIDMyLjAyQzEzLjExIDI5Ljk0IDEyLjM3IDI3LjUwIDEyLjM3IDI1QzEyLjM3IDIxLjY1IDEzLjcwIDE4LjQ0IDE2LjA3IDE2LjA3QzE4LjQzIDEzLjcwIDIxLjY0IDEyLjM3IDI0Ljk5IDEyLjM2Wk0yNC45OSAxMC40M0MyMi4xMSAxMC40MyAxOS4yOSAxMS4yOCAxNi44OSAxMi44OEMxNC41MCAxNC40OCAxMi42MyAxNi43NiAxMS41MyAxOS40MkMxMC40MiAyMi4wOSAxMC4xMyAyNS4wMiAxMC43MCAyNy44NUMxMS4yNiAzMC42NyAxMi42NSAzMy4yNyAxNC42OSAzNS4zMUMxNi43MyAzNy4zNSAxOS4zMiAzOC43MyAyMi4xNSAzOS4zMEMyNC45OCAzOS44NiAyNy45MSAzOS41NyAzMC41NyAzOC40NkMzMy4yMyAzNy4zNiAzNS41MSAzNS40OSAzNy4xMSAzMy4wOUMzOC43MSAzMC43MCAzOS41NyAyNy44OCAzOS41NiAyNUMzOS41NiAyMy4wOCAzOS4xOSAyMS4xOSAzOC40NiAxOS40MkMzNy43MiAxNy42NSAzNi42NSAxNi4wNCAzNS4zMCAxNC42OUMzMy45NCAxMy4zNCAzMi4zNCAxMi4yNyAzMC41NyAxMS41M0MyOC44MCAxMC44MCAyNi45MCAxMC40MyAyNC45OSAxMC40M1pNMzIuNjMgMjQuOTlMMjAuMzYgMzIuMDlWMTcuOTFMMzIuNjMgMjQuOTlaIiwKZmlsbDoid2hpdGUiLCJmaWxsLXJ1bGUiOiJldmVub2RkIn19XX19Owp5RT1mdW5jdGlvbihuPXt9LFc9W10pe1cucHVzaCgieXRwLW1lbnVpdGVtIik7InJvbGUiaW4gbnx8KG4ucm9sZT0ibWVudWl0ZW0iKTsidGFiaW5kZXgiaW4gbnx8KG4udGFiaW5kZXg9IjAiKTtyZXR1cm57WjoiZGl2IixLQjpXLHhhOm4sWEY6W3taOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0taWNvbiIsT3E6Int7aWNvbn19In0se1o6ImRpdiIsSnc6Inl0cC1tZW51aXRlbS1sYWJlbCIsT3E6Int7bGFiZWx9fSJ9LHtaOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0tY29udGVudCIsT3E6Int7Y29udGVudH19In1dfX07CkVGPWZ1bmN0aW9uKG4pe3JldHVybiBuP2cuRHAobik6IiJ9OwppNT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PS0weDgwMDAwMDAwMDAwMDA/IkJFRk9SRV9NRURJQV9TVEFSVCI6bj09PTA/Ik1FRElBX1NUQVJUIjpuPT09MHg3ZmZmZmZmZmZmZmZmPyJNRURJQV9FTkQiOm49PT0weDgwMDAwMDAwMDAwMDA/IkFGVEVSX01FRElBX0VORCI6bi50b1N0cmluZygpfTsKZy51NT1mdW5jdGlvbihuLFcpe3JldHVybiBuLnN0YXJ0LVcuc3RhcnR8fG4ucHJpb3JpdHktVy5wcmlvcml0eXx8bi5KLVcuSn07Cmcub3k9ZnVuY3Rpb24obil7cmV0dXJuYGNybl8ke259YH07CmcuZHY9ZnVuY3Rpb24obil7cmV0dXJuYGNyeF8ke259YH07Cnp1PWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5zdGFydCxbMl06bi5lbmQsWzNdOm4uaWQsWzRdOm4ucHJpb3JpdHksWzVdOm4ubmFtZXNwYWNlLFs2XTpuLnZpc2libGUsWzddOm4uc3R5bGUsWzhdOm4udG9vbHRpcCxbOV06bi5jb2xvcixbMTBdOm4uaWNvbnMsWzExXTpuLmFzc29jaWF0ZWRDbGlwSWQsWzEyXTpuLm1hcmtlclBvc2l0aW9uTXN9fTsKVHU9ZnVuY3Rpb24obixXLEQsYil7VyBpbiBuLk58fChEPW5ldyBnLmw1KEQsYix7aWQ6Vyxwcmlvcml0eToyLG5hbWVzcGFjZToiYXBwYWQifSksbi5hcGkuZ2goW0RdLDEpLG4uTltXXT1EKX07CmpCPWZ1bmN0aW9uKG4sVyl7TGF4KG4sVykudGhlbihEPT57Zy5nbyhXLHZvaWQgMCx2b2lkIDAsRCl9KX07CkMyPWZ1bmN0aW9uKG4sVyl7Vy5mb3JFYWNoKEQ9PntqQihuLEQpfSl9OwpCNz1mdW5jdGlvbihuLFcsRCl7aWYoIShEIGluIFcpKXJldHVybiExO1c9V1tEXTtBcnJheS5pc0FycmF5KFcpfHwoVz1bV10pO2ZvcihsZXQgYiBvZiBXKVc9e0NQTjpuLmFwaS5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlfSxXPWcuR0soYixXKSxnLmdvKFcsdm9pZCAwLG9PKHpFKFcsZXh4LG51bGwpLFcsITEsIkFjdGl2ZSBWaWV3IDNyZCBQYXJ0eSBJbnRlZ3JhdGlvbiBVUkwiKXx8b08oekUoVyxndGosbnVsbCksVywhMSwiR29vZ2xlL1lvdVR1YmUgQnJhbmQgTGlmdCBVUkwiKXx8b08oekUoVyxYSzIsbnVsbCksVywhMSwiTmllbHNlbiBPQ1IgVVJMIikpO3JldHVybiEwfTsKTGF4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5hcGkuRygpKSYmZy5CVihXKSYmZy5qSChXKT9nLkhFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKS5WKCkpLnRoZW4oRD0+e3ZhciBiO0QmJihiPXtBdXRob3JpemF0aW9uOmBCZWFyZXIgJHtEfWB9KTtyZXR1cm4gYn0sdm9pZCAwKTpnLkgwKCl9OwpGej1mdW5jdGlvbihuLFcpe24uY2hlY2tlZD1XO24uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsU3RyaW5nKG4uY2hlY2tlZCkpfTsKd3Y9ZnVuY3Rpb24obixXKXtuLmVuYWJsZWQ9VztuLmVuYWJsZWQ/bi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpOm4uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIil9OwpNcD1mdW5jdGlvbihuLFcsRD0hMSxiKXt2YXIgdj1uLmN1cnJlbnRUYXJnZXQ7aWYoIUQmJmYyKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksITA7Vy5wYXVzZVZpZGVvKCk7bj12LmdldEF0dHJpYnV0ZSgiaHJlZiIpO1E1KG4sYik7cmV0dXJuITF9OwpSeT1mdW5jdGlvbihuLFcsRCl7aWYodkUoVy5HKCkpJiZXLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCkhPT0yKWYyKEQpJiYoVy5pc0Z1bGxzY3JlZW4oKSYmIVcuRygpLmV4dGVybmFsRnVsbHNjcmVlbiYmVy50b2dnbGVGdWxsc2NyZWVuKCksRC5wcmV2ZW50RGVmYXVsdCgpKTtlbHNle2xldCBiPWYyKEQpO2ImJlcucGF1c2VWaWRlbygpO1E1KG4pO2ImJihnLmNhKG4pLEQucHJldmVudERlZmF1bHQoKSl9fTsKUUU9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/LmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giJiYhbi5WKCl9OwpWRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5hdWRpbz8uVz09PSEwfTsKYzc9ZnVuY3Rpb24obil7cmV0dXJuIG4uVigpfTsKYXk9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/Lk49PT0hMH07Cm52PWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg8MilyZXR1cm4hMTt2YXIgRD1XKG5bMF0pO3JldHVybiBuLnNvbWUoYj0+VyhiKSE9PUQpfTsKYlk9ZnVuY3Rpb24obixXKXtuPXFJdyhuLFcubGFuZ3VhZ2VJZCk7bj1XdShuLCEhVy5nTyk7cmV0dXJuIG49RGIobiwhIVcuajkpfTsKV3U9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+YXkoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+VkUoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKR0t0PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcuaWQhPT0idW5kIj9nLkVNKG4sRD0+e3ZhciBiPVcuZ2V0TGFuZ3VhZ2VJbmZvKCk/Lm5hbWU7cmV0dXJuIEQua1o/Lm5hbWU9PT1ifSk6bn07CnFJdz1mdW5jdGlvbihuLFcpe2lmKFcmJlchPT0idW5kIilpZih0eXBlb2YgVz09PSJzdHJpbmciKXt2YXIgRD1nLmxfKG4sdj0+di5pZD09PVcpOwppZihEPy5rWil2YXIgYj1ELmtaLmlkfWVsc2UgYj1XLmtaPy5pZDtpZihiJiYoRD1nLkVNKG4sdj0+di5rWj8uaWQ9PT1iKSxELmxlbmd0aD4wKSlyZXR1cm4gRDsKRD1nLkVNKG4sdj0+ISF2LmtaPy5pc0RlZmF1bHQpOwpyZXR1cm4gRC5sZW5ndGg+MD9EOm59Owp0QUM9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PmM3KEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59Owokd2o9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PlFFKEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59OwpyYVU9ZnVuY3Rpb24obixXKXtuPW5ldyBTZXQobi5tYXAoVykpO24uZGVsZXRlKHZvaWQgMCk7cmV0dXJuIG4uc2l6ZT49Mn07CnNGTT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnByaW9yaXR5LW4ucHJpb3JpdHl9Owp2dT1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRCluLml0ZW1zLnB1c2goVyksbi5tZW51SXRlbXMuZWxlbWVudC5hcHBlbmRDaGlsZChXLmVsZW1lbnQpO2Vsc2V7RD1nLlc0KG4uaXRlbXMsVyxzRk0pO2lmKEQ+PTApcmV0dXJuO0Q9fkQ7Zy5jTShuLml0ZW1zLEQsMCxXKTtnLmpwKG4ubWVudUl0ZW1zLmVsZW1lbnQsVy5lbGVtZW50LEQpfVcuc3Vic2NyaWJlKCJzaXplLWNoYW5nZSIsbi5xQSxuKTtuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKX07CmtzPWZ1bmN0aW9uKG4sVyl7Vy51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLG4ucUEsbik7bi5xTigpfHwoZy5GSShuLml0ZW1zLFcpLG4ubWVudUl0ZW1zLmVsZW1lbnQucmVtb3ZlQ2hpbGQoVy5lbGVtZW50KSxuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKSl9OwpnLmhCPWZ1bmN0aW9uKG4sVyl7aWYobi5XKXt2YXIgRD1uLm9wdGlvbnNbbi5XXTtELmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKTtELmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO24uVz1udWxsfWlmKEQ9bi5vcHRpb25zW1ddKUQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsInRydWUiKSxuLlgobi5qKFcpKSxuLlc9V307Ck5YaD1mdW5jdGlvbihuLFcsRCxiKXtEPW5ldyB4cyh7WjoiZGl2IixLQjpbInl0cC1tZW51aXRlbSIsIiJdLHhhOnt0YWJpbmRleDoiMCIscm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6Yj8idHJ1ZSI6ImZhbHNlIn0sWEY6W3taOiJkaXYiLEtCOlsieXRwLW1lbnVpdGVtLWxhYmVsIl0sT3E6Int7bGFiZWx9fSJ9XX0sRCxuLmooVykpO0QuU18oImNsaWNrIiwoKT0+e24uRChXKX0pOwpyZXR1cm4gRH07CmcuTHY9ZnVuY3Rpb24obixXKXt2YXIgRD1uLks7Zm9yKHZhciBiIG9mIEQuaXRlbXMpYi51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLEQucUEsRCk7RC5pdGVtcz1bXTt0cnl7Zy5URihELm1lbnVJdGVtcy5lbGVtZW50KX1jYXRjaCh2KXtnLkdxKG5ldyBnLlF4KCJGYWlsZWQgdG8gcmVtb3ZlIG1lbnUgaXRlbXMgZnJvbSBwYW5lbCBtZW51LiIse2Vycm9yOnYubWVzc2FnZSxvcmlnaW5hbFN0YWNrOnYuc3RhY2ssY2hpbGRUb0JlUmVtb3ZlZDpELm1lbnVJdGVtcy5lbGVtZW50LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50Pz8iY2hpbGQgZWxlbWVudCBub3QgZm91bmQifSkpfUQubWVudUl0ZW1zLldKKCJzaXplLWNoYW5nZSIpO0Q9e307Yj0hMTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XSxoPW4ub3B0aW9uc1trXSx4PWs9PT1uLlc7eCYmKGI9ITApO2gmJmgucHJpb3JpdHk9PT0tdj8obi5vcHRpb25zW2tdLnVwZGF0ZVZhbHVlKCJsYWJlbCIsbi5qKGspKSwKZGVsZXRlIG4ub3B0aW9uc1trXSk6aD1OWGgobixrLC12LHgpO0Rba109aDt2dShuLkssaCwhMCl9Ynx8KG4uVz1udWxsKTtmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobi5vcHRpb25zKSluLm9wdGlvbnNbdl0uZGlzcG9zZSgpO24ub3B0aW9ucz1EfTsKZW49ZnVuY3Rpb24obil7aWYobi5tZW51SXRlbSl7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk7bi5tZW51SXRlbS5lbmFibGUoISFXJiYhIVcuV2spfX07CmdWPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tQb3NpdGlvbj8udXRjVGltZU1pbGxpcykvMUUzO2xldCBiPWBlbWJhcmdvXyR7V31gO24uYXBpLmFkZFV0Y0N1ZVJhbmdlKGIsVyxXK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSwiZW1iYXJnbyIsITEpO0Qub25FbnRlciYmKG4uTltiXT1ELm9uRW50ZXIuZmlsdGVyKG4uSikpfX07CllJMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRSb290Tm9kZSgpO1c9bi5hcGkuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLmVtYmVkc0VuYWJsZUVtYzNkcz9XLnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnR8fFc6VztuLk49bmV3IHBLcihXLEQ9PntEIT1udWxsJiYobi5hcGkuRygpLmVLPUQsbi5hcGkuRygpLkxLPSJFTUJFRERFRF9QTEFZRVJfVklTSUJJTElUWV9GUkFDVElPTl9TT1VSQ0VfSU5URVJTRUNUSU9OX09CU0VSVkVSIil9KTsKZy51KG4sbi5OKTtuLmV2ZW50cy5OTihuLmFwaSwidmlkZW9TdGF0c1BpbmdDcmVhdGVkIixEPT57dmFyIGI9bi5OO2I9Yi5OPT1udWxsP251bGw6TWF0aC5yb3VuZChiLk4qMTAwKS8xMDA7RC5pbnZpZXc9YiE9bnVsbD9iOnZvaWQgMDtiPW4uYXBpLmdldFBsYXllclNpemUoKTtpZihiLmhlaWdodD4wJiZiLndpZHRoPjApe2I9W01hdGgucm91bmQoYi53aWR0aCksTWF0aC5yb3VuZChiLmhlaWdodCldO2xldCB2PWcuSF8oKTt2PjEmJmIucHVzaCh2KTtiPWIuam9pbigiOiIpfWVsc2UgYj12b2lkIDA7RC5zaXplPWJ9KX07CkhfVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+bmV3IG11KFcuaWQsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2taOlcua1p9KSl9OwpxVz1mdW5jdGlvbihuLFcsRCxiKXtmdW5jdGlvbiB2KGgpe3ZhciB4PSEoaC5zdGF0dXMhPT0yMDQmJmguc3RhdHVzIT09MjAwJiYhaC5yZXNwb25zZSk7aD17c3VjYzpgJHsreH1gLHJjOmguc3RhdHVzLGxiOmgucmVzcG9uc2U/LmJ5dGVMZW5ndGh8fDAscnQ6KCgwLGcuUikoKS1rKS50b0ZpeGVkKCksc2hvc3Q6Zy5JUChuKSx0cmlnZ2VyOld9O1hyKGgsbik7RCYmRChoKTtiJiYheCYmYihuZXcgZy5DaSgicGF0aHByb2JlLm5ldCIsaCkpfQp2YXIgaz0oMCxnLlIpKCk7Zy5lZChuLHtmb3JtYXQ6IlJBVyIscmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciIsdGltZW91dDoxRTQsb25GaW5pc2g6dixvblRpbWVvdXQ6dn0pfTsKWHI9ZnVuY3Rpb24obixXKXt3aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeU5hbWUmJihXPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoVykpJiZXLmxlbmd0aCYmKFc9V1swXSxuLnBlZG5zPShXLmRvbWFpbkxvb2t1cEVuZC1XLnN0YXJ0VGltZSkudG9GaXhlZCgpLG4ucGVjb249KFcuY29ubmVjdEVuZC1XLmRvbWFpbkxvb2t1cEVuZCkudG9GaXhlZCgpLG4ucGVycXM9KFcucmVxdWVzdFN0YXJ0LVcuY29ubmVjdEVuZCkudG9GaXhlZCgpKX07CnRCPWZ1bmN0aW9uKG4pe3JldHVybiBHRChuLmlqLCFuLnBvbGljeS5mUixuLnBvbGljeS5RSCl9OwpmaXg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1pbihuLnBvbGljeS5UNiwkcyhuLmlqKSk7bj10QihuKTtyZXR1cm4gVy1EKm59OwpyVj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLm1heChNYXRoLm1heChuLnBvbGljeS5abSxuLnBvbGljeS5UNCpEKSxNYXRoLm1pbihNYXRoLm1pbihuLnBvbGljeS5ISiwzMSpEKSxNYXRoLmNlaWwoVypEKSkpKXx8bi5wb2xpY3kuWm19OwpzYj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe2lmKG4ucG9saWN5LlE3KXJldHVybiBNYXRoLmNlaWwobi5wb2xpY3kuUTcqVyk7bi5wb2xpY3kudm4mJihiPU1hdGguYWJzKGIpKTtiLz1uLnBsYXliYWNrUmF0ZTt2YXIgaz0xL0dEKG4uaWopO0Q9TWF0aC5tYXgoLjkqKGItMyksJHMobi5paikrbi5pai5KLk4qaykvayouOC8oVytEKTtEPU1hdGgubWluKEQsYik7bi5wb2xpY3kuSFk+MCYmdiYmKEQ9TWF0aC5tYXgoRCxuLnBvbGljeS5IWSkpO3JldHVybiByVihuLEQsVyl9OwpOVz1mdW5jdGlvbihuKXtyZXR1cm4gdEIobikvbi5wbGF5YmFja1JhdGV9Owpwdj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5yZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3l8fFtdLHY9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5zdGFydE1pblJlYWRhaGVhZFBvbGljeXx8W107bj1JbmZpbml0eTtXPVcmJmIubGVuZ3RoPjA/Yjp2O2ZvcihsZXQgayBvZiBXKVc9ay5taW5SZWFkYWhlYWRNc3x8MCxEPChrLm1pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjfHwwKXx8bj5XJiYobj1XKTtyZXR1cm4gbjxJbmZpbml0eT9uLzFFMzpufTsKZnY9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5pbmZvLmFaKXJldHVybiBELmxlbmd0aD09PTA/RC5wdXNoKGIpOihuPUQucG9wKCk/LmooYikpP0QucHVzaChuKTpELnB1c2goYiksdjsoRD1ELnBvcCgpPy5qKGIpKXx8KEQ9Yik7aWYoRC5pbmZvLk4pcmV0dXJuIG4ubG9nZ2VyJiZuLmxvZ2dlcih7aW5jb21wbGV0ZVNlZ21lbnQ6RC5pbmZvLmdhKCl9KSx2O3ZhciB7Zm9ybWF0SWQ6ayxqJDpoLHN0YXJ0VGltZU1zOngsY2xpcElkOkwscjk6ZX09bi5LKEQpO2I9e2NsaXBJZDpMLGZvcm1hdElkOmssc3RhcnRUaW1lTXM6eCxkdXJhdGlvbk1zOmUsQUM6aCxpOTpofTt2PVlzKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRztpZihHPUQpe0c9Yjt2YXIgcj12LE49RC5zdGFydFRpbWVNcytELmR1cmF0aW9uTXMsSD1HLnN0YXJ0VGltZU1zK0cuZHVyYXRpb25NcztpZihHLnN0YXJ0VGltZU1zLU4+bi5OKUc9ITE7ZWxzZSBpZihIdShuLEQuZm9ybWF0SWQsRy5mb3JtYXRJZCkpRC5kdXJhdGlvbk1zPQpNYXRoLm1heChOLEgpLUQuc3RhcnRUaW1lTXMsRC5pOT1NYXRoLm1heChELmk5LEcuaTkpLEc9ITA7ZWxzZSBpZihNYXRoLmFicyhELnN0YXJ0VGltZU1zLUcuc3RhcnRUaW1lTXMpPD1uLk4paWYoRC5kdXJhdGlvbk1zPkcuZHVyYXRpb25NcytuLk4pe3I9RC5mb3JtYXRJZDt2YXIgQT1ELkFDLHk9RC5pOTtELmZvcm1hdElkPUcuZm9ybWF0SWQ7RC5kdXJhdGlvbk1zPUcuZHVyYXRpb25NcztELkFDPUcuQUM7RC5pOT1HLmk5O0cuZm9ybWF0SWQ9cjtHLnN0YXJ0VGltZU1zPUg7Ry5kdXJhdGlvbk1zPU4tSDtHLkFDPUE7Ry5pOT15O0c9ITF9ZWxzZSBELmZvcm1hdElkPUcuZm9ybWF0SWQsRz0hMDtlbHNlIE4+Ry5zdGFydFRpbWVNcyYmKE4+SCYmKFcuc3BsaWNlKHIrMSwwLHtmb3JtYXRJZDpELmZvcm1hdElkLHN0YXJ0VGltZU1zOkgsZHVyYXRpb25NczpOLUgsQUM6Ry5pOSsxLGk5OkQuaTl9KSxuLmxvZ2dlciYmbi5sb2dnZXIoe3NwbGl0T2xkU3RhcnQ6RC5zdGFydFRpbWVNcz8udG9GaXhlZCgzKSwKc3BsaXRPbGRFbmQ6Tj8udG9GaXhlZCgzKSxzcGxpdE5ld1N0YXJ0Okcuc3RhcnRUaW1lTXM/LnRvRml4ZWQoMyksc3BsaXROZXdFbmQ6SD8udG9GaXhlZCgzKX0pKSxELmR1cmF0aW9uTXM9Ry5zdGFydFRpbWVNcy1ELnN0YXJ0VGltZU1zLEQuaTk9Ry5BQy0xKSxHPSExfUc/Yj1EOih2Kz0xLFcuc3BsaWNlKHYsMCxiKSk7RD0wO2ZvcihHPXYrMTtHPFcubGVuZ3RoO0crKyl7Tj1uO0g9V1tHXTtyPWI7QT1ILnN0YXJ0VGltZU1zK0guZHVyYXRpb25Nczt5PXIuc3RhcnRUaW1lTXMrci5kdXJhdGlvbk1zO3k+PUErTi5OP049ITA6eStOLk48SC5zdGFydFRpbWVNcz9OPSExOkh1KE4sSC5mb3JtYXRJZCxyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKWXM9ZnVuY3Rpb24obixXKXtuPWcuVzQobix7c3RhcnRUaW1lTXM6V30sKEQsYik9PkQuc3RhcnRUaW1lTXMtYi5zdGFydFRpbWVNcyk7CnJldHVybiBuPj0wP246LW4tMn07CkpCPWZ1bmN0aW9uKG4sVyxEKXtpZihuLmxvZ2dlcil7dmFyIGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl07ay5Faj8uc3RhcnRUaWNrcyYmYi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9wc3N0LiR7ay5Faj8uc3RhcnRUaWNrc31fcHNkLiR7ay5Faj8ubDh9YCk7Yi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9lLiR7ay5zdGFydFRpbWVNcytrLmR1cmF0aW9uTXN9X2QuJHtrLmR1cmF0aW9uTXN9X3NuLiR7ay5BQ31fZW4uJHtrLmk5fWApfW4ubG9nZ2VyKHtwOmAke0R9YCxicjpiLmpvaW4oIjsiKX0pfX07Ckk2PWZ1bmN0aW9uKG4sVyxEPSExKXtpZihuLlFFKXt2YXIgYj1uLlFFLlpGKCk7aWYoYi5sZW5ndGghPT0wKXtpZihuLlcmJlcpe3ZhciB2PW4uVyxrPXYuaW5mby5YOyFCUihiLGspJiZ2LmluZm8uSz4wJiYoMCxnLlIpKCktbi5EPDVFMyYmKG4ubG9nZ2VyJiZuLmxvZ2dlcih7ZGVuZDp2LmluZm8uZ2EoKX0pLGI9akcoYixrLGsrLjAxKSl9dj1bXTtmb3IodmFyIGg9az0wO2s8Yi5sZW5ndGgmJmg8bi5lVy5sZW5ndGg7KXt2YXIgeD1iLnN0YXJ0KGspO2xldCBOPWIuZW5kKGspO3ZhciBMPW4uZVdbaF0uc3RhcnRUaW1lTXMvMUUzO2xldCBIPShuLmVXW2hdLnN0YXJ0VGltZU1zK24uZVdbaF0uZHVyYXRpb25NcykvMUUzO2lmKEw8PU4mJkg+PXgpe2xldCBBPXsuLi5uLmVXW2hdfTt2YXIgZT1uLkt1LkouZ2V0KE1rKG4uZVdbaF0uZm9ybWF0SWQpKSxHPU1hdGgubWF4KEwseCk7eD1lLmluZGV4LlIzKEcrbi5OLzFFMyk7TD1lLmluZGV4LmdldFN0YXJ0VGltZSh4KTt2YXIgcj14KworKE1hdGguYWJzKEwtRyk+bi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uaW5mby5XfHwxMTshRCYmaD09PW4uSiYmTjxIJiZILU48PXgqMS4wMSYmIShuLnBvbGljeS5TdyYmbi5RRSYmbi5RRS55dSgpKSYmKE49SCk7eD1NYXRoLm1pbihILE4pO0w9ZS5pbmRleC5SMyh4LW4uTi8xRTMpO0c9ZS5pbmRleC5qRShMKTtMLT0rKE1hdGguYWJzKEcteCk+bi5OLzFFMyk7eD1MK24uWDtlPWUuaW5kZXguakUoTCkqMUUzO0EuaTk9eDtBLmR1cmF0aW9uTXM9ZS1BLnN0YXJ0VGltZU1zO0EuQUM8PUEuaTkmJnYucHVzaChBKX1IPE4/aCs9MTprKz0xfW4uZVc9dn19fTsKSmFpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9Wy4uLm4uUDNdO24uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5UQy5aUCgpLHY9bi5KO2ZvcihsZXQgayBvZiBiKXY9ZnYobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLFAzOkR9fTsKSHU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXLml0YWchPT1ELml0YWd8fFcueHRhZ3MhPT1ELnh0YWdzPyExOm4uS3Uueld8fFcubG10PT09RC5sbXR9OwpaYj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCFXLlBKLk4oKSl7aWYoISh2PUQ9PT0wfHwhIVcuSi5sZW5ndGgmJlcuSlswXWluc3RhbmNlb2YgU24pKWE6e2lmKFcuSi5sZW5ndGgmJih2PVcuSlswXSx2IGluc3RhbmNlb2YgQUImJnYuSk8mJnYuYUkpKXt2PSEwO2JyZWFrIGF9dj0hMX12fHxuLnBvbGljeS5OfHxtaShXKTtyZXR1cm4gRH12YXIgaz1LdihXLEQpO2lmKCFpc05hTihrKSlyZXR1cm4gaztpZihuLmxvYWRlci5DNyhEKjFFMykpcmV0dXJuIEQ7di5BTT9uLnBvbGljeS5WSCYmKG49T2Iobi5sb2FkZXIsVyksVy5zTShEK24sITApKTooVy56aSgpLG4ubG9hZGVyLlgkKCExLGBzdGFfJHsrVy5QSi5pbmZvLmVTKCl9YCkpO3JldHVybiBiJiYobj1GWihiLlpGKCksRCksIWlzTmFOKG4pKT8oUHUoVyxuK0lpYix2KSxEKTpQdShXLEQsdil9OwpVYj1mdW5jdGlvbihuLFcsRCl7aWYoIW4ucG9saWN5Lmope249Vy5QSi5pbmRleDt2YXIgYj1XLk4uaiQ7bi5NSShiKXx8RCYmRC5qJD09PWI/KFcuUEQ9IW4uTUkoYiksVy5EPSFuLk1JKGIpKTooVy5QRD0hMCxXLkQ9ITApfX07CkViPWZ1bmN0aW9uKG4pe3ZhciBXPU1hdGgubWF4KG4udmlkZW9UcmFjay5TRSgpLG4uYXVkaW9UcmFjay5TRSgpKTt5ayhuLnZpZGVvVHJhY2spO3lrKG4uYXVkaW9UcmFjayk7bi5wb2xpY3kuanx8ajQobi5LdSk7bi5LdS5pc01hbmlmZXN0bGVzcyYmIW4ucG9saWN5LmomJihuLk49ITAsbi5KPTApO3ZhciBEPW4ubG9hZGVyO2lmKCFELnBvbGljeS5sbnx8RC5wb2xpY3kuR0MpRC5jdXJyZW50VGltZT1XO24uc2Vla2luZz0hMDtuLlc9bmV3IFk2O3JldHVybiBuLld9OwpvNj1mdW5jdGlvbihuKXt2YXIgVz1uLnZpZGVvVHJhY2suWCE9PS0xLEQ9bi5hdWRpb1RyYWNrLlghPT0tMTtpZighV3x8IUQpaWYoVz0hVyYmaVkobi52aWRlb1RyYWNrKSxEPSFEJiZpWShuLmF1ZGlvVHJhY2spLFd8fEQpaWYoRD1XP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2ssVz1XP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2ssRC5YPWlZKEQpLmluZm8uaiQsbi5wb2xpY3kuaiYmKFcuWD1pWShXKT8uaW5mby5UQygpfHxXLlgpLFcuWCE9PS0xKXtsZXQgYj1NYXRoLm1heChXLlBKLmluZGV4LmdldFN0YXJ0VGltZShXLlgpLEQuUEouaW5kZXguZ2V0U3RhcnRUaW1lKEQuWCkpO3VBKG4uS3UpJiZNYXRoLmFicyhiLXVBKG4uS3UpKT40MzJFMyYmS0t0KG4uS3UpO24uSiYmKGI9bi5KLG4uSj0wKTtnLm1LKCgpPT57bi5wb2xpY3kuanx8dVkobixiLDEwMil9KTsKbi5sb2FkZXIuVSgiaW5pdE1hbmlmZXN0bGVzc1N5bmMiLHtzdDpiLG9zdDpiK24ubG9hZGVyLlNXKCksYTpuLmF1ZGlvVHJhY2suWCx2Om4udmlkZW9UcmFjay5YfSk7bi5XJiYobi5XLnJlc29sdmUoYisuMSksbi5XPW51bGwpO24ucG9saWN5LmomJnVZKG4sYiwxMDIpfX07ClNJWj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uaXNTZWVraW5nKCkpcmV0dXJuLTE7RD0oRD9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5QSi5pbmRleDt2YXIgYj1ELlIzKG4udGFyZ2V0VGltZSk7cmV0dXJuKEQuTUkobi5LdS5JdCl8fFcuaiQ9PT1uLkt1Lkl0KSYmYjxuLkt1Lkl0P24uS3UuTGYoKTotMX07CnVZPWZ1bmN0aW9uKG4sVyxEKXtuLk4mJm4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEmJihuLk49ITEsbi50YXJnZXRUaW1lPVcsZFYobi5sb2FkZXIsVysuMSx7QTk6ITAscWQ6ImNodW5rU2VsZWN0b3JTeW5jaHJvbml6ZSIscWE6ITAsc2Vla1NvdXJjZTpEfSkpfTsKQWEyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4ucG9saWN5LmopIWJ8fCFuLk4mJm4ucG9saWN5LkJWfHxnLm1LKCgpPT57bzYobil9KTsKZWxzZXtpZihuLmlzU2Vla2luZygpJiZuLnRhcmdldFRpbWUpe2xldCBrPVNJWihuLFcsRCk7aWYoayE9PS0xKXtuLnZpZGVvVHJhY2suUEQ9ITE7bi5hdWRpb1RyYWNrLlBEPSExO24uTj0hMDtuLko9MDtnLm1LKCgpPT57bi5sb2FkZXIuVSgic2Vla3JlYXNvbiIse3JlYXNvbjoiYmVoaW5kTWluU3EiLHRndDprfSk7dVkobixrKX0pOwpyZXR1cm59fUQ/bi52aWRlb1RyYWNrLkQ9ITE6bi5hdWRpb1RyYWNrLkQ9ITE7dmFyIHY9IW4uTjtLdihuLnZpZGVvVHJhY2ssbi50YXJnZXRUaW1lKT49MCYmS3Yobi5hdWRpb1RyYWNrLG4udGFyZ2V0VGltZSk+PTAmJnY/KG4uUEQoKSYmbi5sb2FkZXIuVSgiaXRlcmF0aXZlU2Vla2luZyIse3N0YXR1czoiZG9uZSIsY291bnQ6bi5zZWVrQ291bnR9KSxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExKTpiJiZnLm1LKCgpPT57aWYobi5OfHwhbi5wb2xpY3kuQlYpbzYobik7ZWxzZXt2YXIgaz1XLnN0YXJ0VGltZSxoPVcuZHVyYXRpb247aWYoIW4ucG9saWN5Lmope3ZhciB4PW4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEsTD0hbi52aWRlb1RyYWNrLkQmJiFuLmF1ZGlvVHJhY2suRDsoRD9uLnZpZGVvVHJhY2suUEQ6bi5hdWRpb1RyYWNrLlBEKSYmeCYmTCYmKG4udGFyZ2V0VGltZT49ayYmbi50YXJnZXRUaW1lPGsraCsuMT8oKEQ/bi52aWRlb1RyYWNrOgpuLmF1ZGlvVHJhY2spLlBEPSExLG4uUEQoKXx8KG4ubG9hZGVyLlUoIml0ZXJhdGl2ZVNlZWtpbmciLHtzdGF0dXM6ImRvbmUiLHRhcmdldDprLG9yaWdpbmFsVGltZTprK24ubG9hZGVyLlNXKCksY291bnQ6bi5zZWVrQ291bnR9KSxuLnNlZWtDb3VudD0wKSk6bi5zZWVrQ291bnQ8OD8obi5zZWVrQ291bnQrKyxuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbnByb2dyZXNzIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprLGR1cmF0aW9uOmgsaXNWaWRlbzpEfSksbi5zZWVrKG4udGFyZ2V0VGltZSx7fSkpOihuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbmNvbXBsZXRlIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprfSksbi5zZWVrQ291bnQ9MCxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExLGRWKG4ubG9hZGVyLGsrLjEse0E5OiEwLHFkOiJjaHVua1NlbGVjdG9yU3luY2hyb25pemVNZWRpYSIsCnFhOiEwfSkpKX19fSl9fTsKVEQ9ZnVuY3Rpb24obixXLEQpe3pEKG4uaWosVyk7bi5EdCYmKG4uRHQuYWRkKE1hdGguY2VpbChXKS1NYXRoLmNlaWwobi5LKSksbi5EdC5hZGQoTWF0aC5tYXgoMCxNYXRoLmNlaWwoRC8xMDI0KS1NYXRoLmNlaWwobi5YLzEwMjQpKSkpO3ZhciBiPVctbi5LLHY9RC1uLlg7bi5VNT12O24ualc9TWF0aC5tYXgobi5qVyx2LyhiKy4wMSkqMUUzKTtuLks9VztuLlg9RDtuLkhKJiZEPm4uSEomJmxZKG4pfTsKbFk9ZnVuY3Rpb24obil7bi5udT1NYXRoLm1heChuLm51LG4uWC1uLlJ0KTtuLlZRPU1hdGgubWF4KG4uVlEsbi5LLW4uWmgpO24uSEo9MH07Cm13cj1mdW5jdGlvbihuLFcpe24udXJsPVc7d2luZG93LnBlcmZvcm1hbmNlJiYhcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwmJihwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbD0oKT0+e3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCl9KX07CmpuPWZ1bmN0aW9uKG4pe24uaXNBY3RpdmUmJihuLmlzQWN0aXZlPSExKX07CkN2PWZ1bmN0aW9uKG4pe24uZSQ9bi5OK24uc25hcHNob3QuZGVsYXkqMUUzO24udlg9ITF9OwpGcj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uZGlzYWJsZVJlY29yZGluZyl7Vz1NYXRoLm1heChXLC4wMSk7dmFyIGI9bi5xWT9NYXRoLm1heChXLEQvbi5xWSk6Vyx2PW4uaWouSi5XO3YmJihiPVcsbi5xWSYmKGI9TWF0aC5tYXgoVyxEL24ucVkqdikpKTtCdShuLmlqLFcsRCxiKX19Owp3Vj1mdW5jdGlvbihuKXt2YXIgVz1uLkZGfHxuLkdDO3JldHVybiBXP24uc25hcHNob3QuZGVsYXkrTWF0aC5taW4obi5POCwobi5jSi1uLnR3KS8xRTMpK1c6bi5zNX07Ck1XPWZ1bmN0aW9uKG4pe3JldHVybihuLlktbi5OKS8xRTN9OwpRaz1mdW5jdGlvbihuLFcpe2lmKG4uaG4mJm4uaiQhPT12b2lkIDAmJm4uWkEhPT12b2lkIDApe3ZhciBEPU1hdGgsYj1ELm1pbix2PW4uVjt2YXIgaz1uLmhuO3ZhciBoPW4uTjtpZihSNihrLG4uaiQpKWs9VztlbHNle3ZhciB4PTA7ay50SSYmKHg9LjIpO2s9aCsoay5POCt4KSoxRTN9bi5WPWIuY2FsbChELHYsayk7RD1NYXRoO2I9RC5taW47dj1uLk87az1uLmhuO2g9bi5OO3g9S2EyKGssbi5qJCxuLlpBKTt4IT09MiYmKFc9eD9XOmgray5POCoxRTMsay50SSYmKFcrPWsuTzgqMUUzKSk7bi5PPWIuY2FsbChELHYsVyk7bi5WPD1uLk4/Q3Yobik6KG4uZSQ9bi5WLG4udlg9ITApfX07ClZrPWZ1bmN0aW9uKG4sVyl7aWYoVysxPD1uLnRvdGFsTGVuZ3RoKXt2YXIgRD1yZChuLFcpO0Q9RDwxMjg/MTpEPDE5Mj8yOkQ8MjI0PzM6RDwyNDA/NDo1fWVsc2UgRD0wO2lmKEQ8MXx8IShXK0Q8PW4udG90YWxMZW5ndGgpKXJldHVyblstMSxXXTtpZihEPT09MSluPXJkKG4sVysrKTtlbHNlIGlmKEQ9PT0yKUQ9cmQobixXKyspLG49cmQobixXKyspLG49KEQmNjMpKzY0Km47ZWxzZSBpZihEPT09Myl7RD1yZChuLFcrKyk7dmFyIGI9cmQobixXKyspO249cmQobixXKyspO249KEQmMzEpKzMyKihiKzI1NipuKX1lbHNlIGlmKEQ9PT00KXtEPXJkKG4sVysrKTtiPXJkKG4sVysrKTtsZXQgdj1yZChuLFcrKyk7bj1yZChuLFcrKyk7bj0oRCYxNSkrMTYqKGIrMjU2Kih2KzI1NipuKSl9ZWxzZSBEPVcrMSxuLmZvY3VzKEQpLFhhKG4sRCw0KT9uPXFEKG4pLmdldFVpbnQzMihELW4uVywhMCk6KGI9cmQobixEKzIpKzI1NipyZChuLEQrMyksbj1yZChuLEQpKzI1NioocmQobixEKzEpKwoyNTYqYikpLFcrPTU7cmV0dXJuW24sV119OwpjdT1mdW5jdGlvbihuKXtyZXR1cm4gZy5keihuLmluZm8uQXcsVz0+Vy50eXBlPT09Myl9OwpDbmk9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz8obmV3IHVvKG4uSikpLmVuY3J5cHQoVyxuLk4pOld9OwpGSTE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz9hd2FpdCAobmV3IHVvKG4uSikpLmRlY3J5cHQoVyxuLk4pOld9OwphNj1mdW5jdGlvbihuKXtuLlcucmVhZCgpLnRoZW4obi5ZLG4ub25FcnJvcikudGhlbih2b2lkIDAsZy5xZyl9OwpXcD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGdaKDYsMTE3MCxuLkFPKSlyZXR1cm4gbmV3IE9fcihuLEQpO249bi5XRCgpO3JldHVybiBiP3lXKCk/bmV3IG4zKG4sVyxELHYpOm5ldyBQSGoobixXLEQsdik6bmV3IFpfQyhuLEQsdil9OwpEeD1mdW5jdGlvbihuLFcsRCl7bi5OJiYoZTUobi5OLFcpLFc9bi5OLG4uTj1udWxsKTt2YXIgYj0wLHY9MDtmb3IobGV0IEwgb2Ygbi5Bdyl7aWYoTC5yYW5nZSYmYitMLko8PW4uSil7Yis9TC5KO2NvbnRpbnVlfWlmKGhKKEwpJiYhRCYmbi5KK1cudG90YWxMZW5ndGgtdjxiK0wuSil7KHtZOTpuLk59PVcuc3BsaXQodikpO2JyZWFrfWE6e3ZhciBrPW47dmFyIGg9TCx4PW4uSi1iO2xldCBlPVcudG90YWxMZW5ndGgtdjtoLnJhbmdlJiYoZT1NYXRoLm1pbihoLkoteCxlKSk7aD1HUChoLGguTit4LGUsaC5yYW5nZT9oLk4reCtlPT09aC5yYW5nZS5sZW5ndGg6ISFEKTt4PWdkKFcsdixlKTtoPW5ldyBiOChoLHgpO2lmKGsualMubGVuZ3RoJiYoeD1rLmpTW2sualMubGVuZ3RoLTFdLmooaCkpKXtrLmpTW2sualMubGVuZ3RoLTFdPXg7az1lO2JyZWFrIGF9ay5qUy5wdXNoKGgpO2s9ZX1uLkorPWs7dis9aztiKz1MLko7aWYodj09PVcudG90YWxMZW5ndGgpYnJlYWt9fTsKYnU9ZnVuY3Rpb24obil7cmV0dXJuIFVZKG4ubm4sUjAoNjQsMzUzNixuLlNPLkFPKSl9Owp2cD1mdW5jdGlvbihuKXtuLlhiLk89KDAsZy5SKSgpO249YnUobik7bi5qPSgwLGcuUikoKTtuLnN0YXJ0ZWQrPTF9OwprWj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe24udGltaW5nLkhEKCgwLGcuUikoKSxXLEQpO1c9bi5YYjtXLko9MDtXLlY9MDtXLkQ9MDt6aihidShuKSx2KTtiJiYoYj1idShuKSxiLlcrPTEpO24uVWo/Lk8obi5TTy5BTyl9OwpoVT1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubGFzdEVycm9yPT09InVtcC5zcHNyZWplY3RmYWlsdXJlIiluLnRpbWluZy5iZHx8d0Eobi5YYiwhMSxuLlNPLG4ucG9saWN5LG4ubm4pO2Vsc2V7aWYobi5sYXN0RXJyb3I9PT0ibmV0LnRpbWVvdXQiKW4udGltaW5nLnlFKCgwLGcuUikoKSk7ZWxzZXt2YXIgRD1uLnRpbWluZztURChELCgwLGcuUikoKSxELlgpfW4ubGFzdEVycm9yPT09Im5ldC5ub2NvbnRlbnQiPysrbi5YYi5EOigoRD1uLmxhc3RFcnJvcj09PSJuZXQudGltZW91dCJ8fG4ubGFzdEVycm9yPT09Im5ldC5jb25uZWN0Inx8bi5sYXN0RXJyb3I9PT0ibmV0LmNsb3NlZCIpJiYhZ1ooNiwxMTcwLG4uU08uQU8pP29FaShidShuKSxXKTp5ZihidShuKSxXKSxuLnRpbWluZy5iZHx8d0Eobi5YYixELG4uU08sbi5wb2xpY3ksbi5ubikpfW4uWWEudlYoNSl9Owp4Wj1mdW5jdGlvbihuLFcsRCxiPSExLHY9ITEsaz0hMSl7cmV0dXJuIFc+PTQwMHx8az8obi5sYXN0RXJyb3I9az8icHJvYmUubmV0LmJhZHN0YXR1cyI6Im5ldC5iYWRzdGF0dXMiLCEwKTp2PyhuLmxhc3RFcnJvcj0idW1wLnNwc3JlamVjdGZhaWx1cmUiLCEwKTpEfHxiPyExOihuLmxhc3RFcnJvcj1XPT09MjA0PyJuZXQubm9jb250ZW50IjoibmV0LmNvbm5lY3QiLCEwKX07CkwzPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuYiQpcmV0dXJuITE7dmFyIEQ9Vy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIiksYj1XLmlpKCk7bj0hYnx8Yjw9bi5wb2xpY3kub2M7cmV0dXJuKCFXLkdwKCl8fCFEfHxELmluZGV4T2YoInRleHQvcGxhaW4iKSE9PS0xKSYmbn07CmVWPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9IiI7Vz1XLnNOKCk7Vy50b3RhbExlbmd0aDw9bi5wb2xpY3kub2MmJihuPXRSKFcpLG49cFIobiksRD1nWChuKT9uOiIiKTtyZXR1cm4gRH07CmdDPWZ1bmN0aW9uKG4pe3ZhciBXPW4udGltaW5nLkQoKTtXLnNob3N0PVIwKDk2LDM1Njgsbi5TTy5BTyk7bi5wb2xpY3kuQ3UmJm4ucG9saWN5LnZYJiYoVy5jc3JjPTEpO3JldHVybiBXfTsKVXdiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4/Lm1heFdpZHRoPlc/Lm1heFdpZHRofHxuPy5tYXhIZWlnaHQ+Vz8ubWF4SGVpZ2h0fTsKeWFqPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcua2V5cygpKXtsZXQgYj1XLmdldChEKTtpZihiLmxlbmd0aD09PTApY29udGludWU7Zy5iZihiLChoLHgpPT54Lm1heEZyYW1lcmF0ZS1oLm1heEZyYW1lcmF0ZSk7CmxldCB2PVtiWzBdXSxrPTA7Zm9yKGxldCBoPTE7aDxiLmxlbmd0aDtoKyspVXdiKGJbaF0sdltrXSkmJih2LnB1c2goYltoXSksaysrKTtuPW4uY29uY2F0KHYpfXJldHVybiBufTsKaV9iPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpVz1FdGpbYl18fDAsbi5OJiZXPm4uTnx8RC5wdXNoKGIpO3JldHVybiBEfTsKWHU9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXVkWltuXXx8W107RC5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4IikmJihiPW90dFtuXXx8W10pO1cucHVzaCguLi5iKTtELlMoImh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9kcm0iKSYmVy5wdXNoKC4uLihkd3Rbbl18fFtdKSl9Owp6eFM9ZnVuY3Rpb24obixXKXt2YXIgRD1WeihuKSxiPW4uRygpLHY9Yi5XO2I9Yi5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4Iik7dmFyIGs9bi5OUCgpO2lmKGIpe2lmKCF2Lk4pe2lmKGsmJnFxKXJldHVybiBxcTtpZihHSSlyZXR1cm4gR0l9fWVsc2UgaWYoR0kmJiF2Lk4pcmV0dXJuIEdJO3ZhciBoPVtdLHg9W10sTD17fSxlPXRVLmNvbmNhdCgkWik7YiYmKGU9dFUuY29uY2F0KHJDKSk7bi5TKCJodG1sNV9lYXJseV9tZWRpYV9mb3JfZHJtIikmJihlPWUuY29uY2F0KHNHKSxuLlMoImFsbG93X3ZwOV8xMDgwcF9tcV9lbmMiKSYmZS5wdXNoKE5xKSk7dmFyIEc9Wy4uLnAzXTtuLlMoImh0bWw1X2lhbWZfYXVkaW9fb25lc2llX2ZtdCIpJiZHLnB1c2goWyI3NzMiXSk7Zm9yKHZhciByIG9mIGUpe2U9ITE7Zm9yKGxldCBIIG9mIHIpe3ZhciBOPVNNKEgsayYmYik7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2lmKE4uTVcoKSYmIUQuZSQmJk4udmlkZW8ucXVhbGl0eU9yZGluYWw+CkQublMpY29udGludWU7bGV0IEE9Zy5kTShuLkcoKS5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7aWYoQT4wJiZVTihOKSYmTi5Ocz5BKWNvbnRpbnVlO2lmKGUpe2gucHVzaChIKTtYdShILGgsbik7Y29udGludWV9Tj1zRChELE4sdik7Tj09PSEwPyhlPSEwLGgucHVzaChIKSxYdShILGgsbikpOkxbSF09Tn19Zm9yKGxldCBIIG9mIEcpZm9yKGxldCBBIG9mIEgpe3I9QXUoQSk7aWYoIXJ8fCFyLmF1ZGlvfHwhbi5TKCJodG1sNV9vbmVzaWVfNTFfYXVkaW8iKSYmci5WKCkpY29udGludWU7cj1zRChELHIsdik7aWYocj09PSEwKXt4LnB1c2goQSk7WHUoQSx4LG4pO2JyZWFrfWVsc2UgTFtBXT1yfWlmKCFuLlMoImh0bWw1X2VuYWJsZV9hdWRpb19xdWFsaXR5X3NldHRpbmciKSl7bj1bIjE0MSIsIjc3NCJdO2ZvcihsZXQgSCBvZiBuKXguaW5jbHVkZXMoSCkmJihnLkZJKHgsSCksTFtIXT0iYmxraHFhIil9RC5XJiZXKCJvcmZtdHMiLEwpO2lmKGIpcmV0dXJuIHYuTiYmCih2Lk49ITEscXE9R0k9dm9pZCAwKSxrP3FxPXt2aWRlbzpoLGF1ZGlvOnh9OkdJPXt2aWRlbzpoLGF1ZGlvOnh9O0dJPXt2aWRlbzpoLGF1ZGlvOnh9O3YuTj0hMTtyZXR1cm4gR0l9OwpqRk09ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLkwsYj1uLnlRLHY9bi5paixrPUQuZ2V0VmlkZW9EYXRhKCksaD1wNygwKTt2YXIgeD1ELmdldFZpc2liaWxpdHlTdGF0ZSgpO2IuUygiaHRtbDVfZW5hYmxlX2F1ZGlvX3F1YWxpdHlfc2V0dGluZyIpJiYoVy5pQj1iLmlCKTtoJiYoVy5pSD1oLFcubGFzdE1hbnVhbERpcmVjdGlvbj1Sc3goKSxoPVVQKCl8fDAsaD4wJiYoaD0oYi5TKCJodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2UiKT9EYXRlLm5vdygpOigwLGcuUikoKSktaCxiLlMoImh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZSIpP2g+MCYmKFcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpOlcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpKTtpZih2Lk98fGIuUygiaHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lIikmJnc4KWg9CmIuUygiaHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmUiKT8hIW4ub1o/LmZSOiExLFcuSSQ9R0QodiwhaCk7dmFyIEw9TkcubWVkaXVtLGU9TWF0aC5mbG9vcihMKjE2LzkpLEc9ay5OUCgpfHwoay5OJiZrLlcmJmsuVy52aWRlb0luZm9zLmxlbmd0aCE9PTA/ay5XLnZpZGVvSW5mb3NbMF0uaXNWZXJ0aWNhbCgpOiExKTtoPUc/TDplO2U9Rz9lOkw7Rz1ELlNpKCk7TD1HLndpZHRoO0c9Ry5oZWlnaHQ7Vy5zQT1NYXRoLm1heChMLGgpO1cuWUE9TWF0aC5tYXgoRyxlKTtiLlMoImh0bWw1X2VuYWJsZV9jbGllbnRfdmlld3BvcnRfc2l6ZV9sb2dnaW5nIikmJmIuV1goKSYmKGg9RC5NaCgpLEQuVSgiY3Z3Iix7dzpMLGg6Ryxjdnc6Vy5zQSxjdmg6Vy5ZQSxjdnU6aC5OfSkpO1cudmlzaWJpbGl0eT14O1cuWkk9Zy52SSgpO1cuZnE9RC5sNSgpKjFFMzt4PW4uTC52JCgpO1cuTk89e2RlZmF1bHRQb2xpY3k6eD8uRHI/Lk58fDAsc21vb3RoOng/LnpOPy5OfHwKMCx2aXNpYmlsaXR5Ong/LmN3Py5OfHwwLE9iOng/LkFFPy5OfHwwLHBlcmZvcm1hbmNlOng/LmlQPy5OfHwwLHNwZWVkOng/LlhOPy5OfHwwfTtXLlROPXg/LlFZPy5OfHwwO2lmKG4uaHF8fG4uQ3gmJiFuLmdEKWg9Yi5adCgpLk4uUVEobGlaKT8/MCxoPjAmJiFXLlROJiYoTD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLGgsITEsInAiKSksVy5OTy5kZWZhdWx0UG9saWN5PUwuTixELlUoImxzbCIse3FjOmh9KSksay5saXZlUHJlbG9hZCYmay5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIikmJiFrLkcoKS5adCgpLk4uUVEoSHApJiYoeD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLDI0MCwhMSwicCIpKSxXLk5PLmRlZmF1bHRQb2xpY3k9eC5OKTt4PW4uaHF8fGsuWjk/W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9LHt0cmFja1R5cGU6Myxpc0hkcjohMX0se3RyYWNrVHlwZTozLAppc0hkcjohMH0se3RyYWNrVHlwZTo0LGlzSGRyOiExfSx7dHJhY2tUeXBlOjQsaXNIZHI6ITB9LHt0cmFja1R5cGU6NSxpc0hkcjohMX0se3RyYWNrVHlwZTo1LGlzSGRyOiEwfV06W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9XTtXLmtjPW4uYXV0aG9yaXplZEZvcm1hdHMmJm4uYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoPjA/e2F1dGhvcml6ZWRGb3JtYXRzOm4uYXV0aG9yaXplZEZvcm1hdHN9OnthdXRob3JpemVkRm9ybWF0czp4fTtuLnNhYnJMaWNlbnNlQ29uc3RyYWludCYmKFcua2Muc2FickxpY2Vuc2VDb25zdHJhaW50PW4uc2FickxpY2Vuc2VDb25zdHJhaW50KTtpZihiLlMoImh0bWw1X29uZXNpZV9tZWRpYV9jYXBhYmlsaXRpZXMiKXx8TEEoaykpVy5ZZj0zO2lmKGIuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEoayl8fG4ub1o/Lk4mJmxvKGIpPT09IlRWSFRNTDVfQVVESU8iKVcuWWY9CjE7bi5vWj8ueUUmJm4ub0cmJihXLllmPVcuWWY9PT12b2lkIDA/NzpXLllmfDQpO3g9ay5lJD9rLmUkOlZ6KGspO2lmKGIuUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtoPWIuVztMPVtdO2U9W107Rz1iLlMoImh0bWw1X3Nob3J0c19vbmVzaWVfbWlzbWF0Y2hlZF9maXgiKTt2YXIgcj1rLk5QKCksTj10VS5jb25jYXQoJFopO0cmJihOPXRVLmNvbmNhdChyQykpO2IuUygiaHRtbDVfZWFybHlfbWVkaWFfZm9yX2RybSIpJiYoTj1OLmNvbmNhdChzRyksYi5TKCJhbGxvd192cDlfMTA4MHBfbXFfZW5jIikmJk4ucHVzaChOcSkpO3ZhciBIPVsuLi5wM107Yi5TKCJodG1sNV9pYW1mX2F1ZGlvX29uZXNpZV9mbXQiKSYmSC5wdXNoKFsiNzczIl0pO2Zvcih2YXIgQSBvZiBOKWZvcih2YXIgeSBvZiBBKXtOPVNNKHksciYmRyk7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2xldCBRPWcuZE0oYi5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7CmlmKCEoUT4wJiZVTihOKSYmTi5Ocz5RKSYmc0QoeCxOLGgpPT09ITApe0wucHVzaCh7dmlkZW9Db2RlYzpmM1tZZ1t5XV0sbWF4V2lkdGg6Ti52aWRlby53aWR0aCxtYXhIZWlnaHQ6Ti52aWRlby5oZWlnaHQsbWF4RnJhbWVyYXRlOk4udmlkZW8uZnBzfSk7YnJlYWt9fWZvcih2YXIgVCBvZiBIKWZvcih2YXIgeiBvZiBUKWlmKChBPUF1KHopKSYmQS5hdWRpbyYmKGIuUygiaHRtbDVfb25lc2llXzUxX2F1ZGlvIil8fCFBLlYoKSkmJnNEKHgsQSxoKT09PSEwKXtlLnB1c2goe2F1ZGlvQ29kZWM6SlVbWWdbel1dLG51bUNoYW5uZWxzOkEuYXVkaW8ubnVtQ2hhbm5lbHN9KTticmVha31XLm1lZGlhQ2FwYWJpbGl0aWVzPXt2aWRlb0Zvcm1hdENhcGFiaWxpdGllczpMLGF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzOmV9fWlmKG4ub1o/LkR0KCkpe0E9bi5JODt5PW4ubGw7aD1uLm9aPy5OcztUPVtdO3o9W107TD1uZXcgTWFwO2U9KGU9ay5KKT9lLml0YWc6dm9pZCAwO0c9ay5XPy52aWRlb0luZm9zOwpHPUc/Lmxlbmd0aD9HW0cubGVuZ3RoLTFdLml0YWc6dm9pZCAwO2U9IVZUKCkmJmUhPT12b2lkIDAmJkE/LmluY2x1ZGVzKE51bWJlcihHKSk7Rz1rLnl3Lk47Zm9yKHZhciBDIG9mIEcudmFsdWVzKCkpQy5lUz96LnB1c2goe2F1ZGlvQ29kZWM6SlVbQy5JQl0sbnVtQ2hhbm5lbHM6Qy5udW1DaGFubmVscyxzcGF0aWFsQ2FwYWJpbGl0eUJpdG1hc2s6VFhNW0MuSUJdfSk6KEc9ZjNbQy5JQl0scj1DLm1heEJpdHJhdGVCcHN8fDAsSD1oP2gqODowLHI9e3ZpZGVvQ29kZWM6RyxtYXhXaWR0aDp5JiYhZT84NTQ6Qy5tYXhXaWR0aHx8MCxtYXhIZWlnaHQ6eSYmIWU/NDgwOkMubWF4SGVpZ2h0fHwwLG1heEZyYW1lcmF0ZTpDLm1heEZyYW1lcmF0ZXx8MCxpczEwQml0U3VwcG9ydGVkOkMuejl8fCExLG1heEJpdHJhdGVCcHM6SCYmcj9NYXRoLm1pbihILHIpOkh8fHIsZWZmaWNpZW50OiEwfSxHPWAke0d9XyR7Qy56OX1gLEg9TC5nZXQoRyl8fFtdLEgucHVzaChyKSxMLnNldChHLEgpKTsKVD15YWooVCxMKTtDPUEmJiFlP1suLi5BXTpbXTtrLlMoImh0bWw1X3NzZmZfZGVueWxpc3Rfb3B1c19sb3ciKSYmQy5wdXNoKDI0OSwzNTApO1Z6KGspO1cubWVkaWFDYXBhYmlsaXRpZXM9e3ZpZGVvRm9ybWF0Q2FwYWJpbGl0aWVzOlQsYXVkaW9Gb3JtYXRDYXBhYmlsaXRpZXM6eixoZHJNb2RlQml0bWFzazozLHBlclBsYXliYWNrQXR0cmlidXRlczpDLmxlbmd0aD97aXRhZ0RlbnlsaXN0OkN9Ont9fX1XLnVxPVZUKCk7bi5vWj8uTiYmKFcuYnY9eC5idixXLm5TPW4ub1o/Lm5TKTtiLnlFJiYoVy5FYj1iLnlFKTtXLm5SPW4ublI7Vy5Zcz1uLllzO1cuZXE9bi5lcTtXLmo0PW4uajQ7bi5weiYmKFcubHE9KDAsZy5SKSgpLW4ucHopO24uSiQmJihXLkokPW4uSiQpO05zfHwoVy5aQz0hMCk7Qz0kcyh2KSoxRTM7Qz4wJiYoVy5YRD1DKTtEPUQuZ2V0UGxheWJhY2tSYXRlKCk7RCE9PTEmJihXLnBsYXliYWNrUmF0ZT1EKTtuLm9aPy5MQiYmbi5HNyYmKFcua0U9bi5rRSxXLlVtPW4uVW0sClcuRzc9bi5HNyk7WWQoKT09PTEmJihXLms4PTEpO2IuUygiaHRtbDVfc2Ficl9mb3JjZV9wcm94aW1hIikmJihXLlZYPTEpO0Q9Zy5kTShiLmV4cGVyaW1lbnRzLCJodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tcyIpO1cucDY9RD4wP0Q6di5pbnRlcnJ1cHRpb25zWzBdfHwwO24ub1o/LllaJiYoVy5yMD1uLnIwKTtiLkhKJiYoVy5hdWRpb1RyYWNrSWQ9Yi5ISik7ay5aaCgpJiYhVy5hdWRpb1RyYWNrSWQmJihiLlMoImh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWQiKXx8KG49bGooayksVy5hdWRpb1RyYWNrSWQ9biksaz8uVSgibWlzc3Rya2NoZyIseyJkZWZhdWx0IjpXLmF1ZGlvVHJhY2tJZH0pKTtpZihuPW5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlfHwiIilXLmRldGFpbGVkTmV0d29ya1R5cGU9SXFbbl18fElxLm90aGVyOyFiLlMoImh0bWw1X2VuYWJsZV92b2ljZV9ib29zdCIpfHxrLk5QKCl8fGsuaXNBZCgpfHwKKFcucU09Yi5taCk7cmV0dXJuIFd9OwpTVj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD17fTtXJiYoeC5xJD1XKTtpZighbilyZXR1cm4geDt4LnBsYXliYWNrQ29va2llPUQ/LnBsYXliYWNrQ29va2llO3YmJih4LmROPXYpO3gudXQ9W107eC5ycT1bXTtpZihoPy5zaXplKWZvcihsZXQgTCBvZiBoLnZhbHVlcygpKXgucnEucHVzaChMKTtpZihuLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKGxldCBMIG9mIG4uc2FickNvbnRleHRVcGRhdGVzLnZhbHVlcygpKUNIaCh4LEwsYik7Zy5ZTihuKSYmayYmQ0hoKHgsayxiKTtXPW4uRygpLk47eC5jbGllbnRJbmZvPXtjbGllbnROYW1lOkJYdFtXLmMudG9VcHBlckNhc2UoKV18fDB9O1cuY2JyYW5kJiYoeC5jbGllbnRJbmZvLmRldmljZU1ha2U9Vy5jYnJhbmQpO1cuY21vZGVsJiYoeC5jbGllbnRJbmZvLmRldmljZU1vZGVsPVcuY21vZGVsKTtXLmN2ZXImJih4LmNsaWVudEluZm8uY2xpZW50VmVyc2lvbj1XLmN2ZXIpO1cuY29zJiYoeC5jbGllbnRJbmZvLm9zTmFtZT0KVy5jb3MpO1cuY29zdmVyJiYoeC5jbGllbnRJbmZvLm9zVmVyc2lvbj1XLmNvc3Zlcik7Vz1uLkcoKTtXLlMoImh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvbiIpJiZXLlJhJiYoeC5jbGllbnRJbmZvLmhsPVcuUmEpO24uQngmJih4LkJ4PW4uQngpO3JldHVybiB4fTsKQ0hoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XLnR5cGV8fDA7RD8uaGFzKGIpP24ucnEucHVzaChXKTpuLnV0LnB1c2goYil9OwpGYU09ZnVuY3Rpb24obil7aWYoISh5cyhuLmluZm8pJiZuLmluZm8uUW4oKSYmbi5wb2xpY3kuc1YmJm4uZTEpfHxuLmluZm8uWGIuSj49Mnx8cDcoKT4wfHwhSU8oKSlyZXR1cm4hMTt2YXIgVz1uLlNPLmdldCgiYWl0YWdzIik7aWYoIVcpcmV0dXJuITE7Vz1HNShXKS5zcGxpdCgiLCIpO3ZhciBEPVtdO2ZvcihsZXQgYiBvZiBuLmUxKWcuamooVyxiKSYmRC5wdXNoKGIpO2lmKCFELmxlbmd0aClyZXR1cm4hMTtuLlNPLnNldCgiYWx0aXRhZ3MiLHFoKEQuam9pbigiLCIpKSk7cmV0dXJuITB9Owp3S2o9ZnVuY3Rpb24obixXLEQ9ITEpe2cuWGooVyk7bi50NS5sYXN0RXJyb3I9InBsYXllci5leGNlcHRpb24iO24uZXJyb3JNZXNzYWdlPWAke1cubmFtZX1fJHtXLm1lc3NhZ2V9YDtEP2cubUsoKCk9PntoVShuLnQ1KX0pOmhVKG4udDUpfTsKTUFNPWZ1bmN0aW9uKG4pe24uZXcmJihuLnhoci5zdGF0dXM9bi5ldyxuLmxOPW4uZXcpfTsKUnhqPWZ1bmN0aW9uKG4sVyl7bi50aW1pbmcuYmQ9ITA7bi54aHIuR3AoKSYmbi50aW1pbmcuVEMoKTtuLnBvbGljeS5OZCYmbi5UMj8uc3RvcCgpO0R4KG4uV28sVywhMSl9OwpRRnc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ucVk/TWF0aC5tYXgoVyxEL24ucVkpOlcsdj1uLmlqLkouVzt2JiYoYj1XLG4ucVkmJihiPU1hdGgubWF4KFcsRC9uLnFZKnYpKSk7QnUobi5paixXLEQsYil9OwpWQVM9ZnVuY3Rpb24obixXLEQsYix2LGspe24uTyYmKG4uTy5hZGQoTWF0aC5yb3VuZChXKSksbi5PLmFkZChNYXRoLnJvdW5kKEQpKSxuLk8uYWRkKE1hdGgucm91bmQoYikpLG4uTy5hZGQoTWF0aC5yb3VuZCh2KSksbi5PLmFkZChNYXRoLnJvdW5kKGspKSxuLk8uYWRkKE1hdGgucm91bmQobi52WCkpKX07CmNhdD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgNjg6bi5aYihEKTticmVhaztjYXNlIDM1Om4uc3koRCk7YnJlYWs7Y2FzZSA0NDpuLklyKEQpO2JyZWFrO2Nhc2UgNDM6bi5yTihEKTticmVhaztjYXNlIDUzOm4ua0ooRCk7YnJlYWs7Y2FzZSA1NjpuLk9lKCk7YnJlYWs7Y2FzZSA1NzpuLnlUKEQpO2JyZWFrO2Nhc2UgNDI6bi5XbChEKTticmVhaztjYXNlIDQ1Om4udVEoRCk7YnJlYWs7Y2FzZSA1OTpuLmdZKEQpO2JyZWFrO2Nhc2UgNTE6bi5DWChEKTticmVhaztjYXNlIDQ5Om4uTiQoRCk7YnJlYWs7Y2FzZSA1MDpuLkZYKEQpO2JyZWFrO2Nhc2UgNDc6bi5BcShEKTticmVhaztjYXNlIDU4Om4uc1coRCk7YnJlYWs7Y2FzZSA2MTpuLkhFKEQpO2JyZWFrO2Nhc2UgNzI6bi5ZYS5UcSgpO2JyZWFrO2Nhc2UgNjY6bi56cChEKTticmVhaztjYXNlIDQ2Om4udnQoRCk7YnJlYWs7Y2FzZSA2NzpuLm9uU25hY2tiYXJNZXNzYWdlKEQpO2JyZWFrO2Nhc2UgNzE6Vz1tayhELApJbGopLG4uWWEuSUYoVyl9fTsKYWlNPWZ1bmN0aW9uKG4pe0FVPW59OwpuajE9ZnVuY3Rpb24obixXLEQpe24udTkuZ2V0KFcpLm9uUHJvZ3Jlc3M9RH07Cm1lPWZ1bmN0aW9uKG4sVyl7bi5nRihXKSYmKEFVP24udTkuZ2V0KFcpLkZtLmNsZWFyKCk6bi51OS5nZXQoVykualM9bmV3IFM1LG4uSihXKSxuLlg9ITApfTsKVyRqPWZ1bmN0aW9uKG4pe2ZvcihsZXQgW1csRF1vZiBuLnU5KXtsZXQgYj1XO0QuRG98fG1lKG4sYil9fTsKRDZ4PWZ1bmN0aW9uKG4sVyl7bj1uLnU5LmdldChXKTtpZighbilyZXR1cm4gMDtXPTA7aWYobi5Bdy5sZW5ndGg+MCl7Zm9yKGxldCBEIG9mIG4uQXcpVys9RC5yYW5nZT8ubGVuZ3RofHwwO3JldHVybiBXfWlmKG4uQnQubGVuZ3RoPjApZm9yKGxldCBEIG9mIG4uQnQpVys9RC5lSHx8MDtyZXR1cm4gVytuLk1vfTsKSzM9ZnVuY3Rpb24obixXKXtpZihBVSl7bGV0IEQ9MDtuPW4udTkuZ2V0KFcpO2lmKCFuPy5GbSlyZXR1cm4gMDtmb3IobGV0IGIgb2Ygbi5GbS52YWx1ZXMoKSlEKz1iLmRhdGEudG90YWxMZW5ndGg7cmV0dXJuIER9cmV0dXJuIG4udTkuZ2V0KFcpPy5qUy5qKCl8fDB9OwpPRz1mdW5jdGlvbihuLFcpe249bi51OS5nZXQoVyk7aWYoQVUpe2lmKCFuPy5EbylyZXR1cm4hMTtXPW4uRm0uc2l6ZT4wO3JldHVybiBuLnBKLmxlbmd0aD4wfHxXfXJldHVybiEhbj8uRG8mJiEhbj8ualMuaigpfTsKYmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi51OS5nZXQoVyksYj1ENngobixXKSx2PSFiJiYhIUQuYnl0ZXNSZWNlaXZlZDtpZihBVSl7aWYobi5LdT8uelcpe2Zvcih2YXIgayBvZiBELkZtLnZhbHVlcygpKWlmKCFrLmtuKXJldHVybiExO3JldHVybiB2fX1lbHNlIGlmKGs9bi5tNihXKSx2JiZuLlcmJmshPT12b2lkIDApcmV0dXJuIGs7cmV0dXJuKHZ8fEQuYnl0ZXNSZWNlaXZlZD09PWIpJiZELmJ5K0szKG4sVyk9PT1ELmJ5dGVzUmVjZWl2ZWR9OwpQcD1mdW5jdGlvbihuLFcsRCxiKXtXPXZqdyhuLFcsRCk7RD1ELmF1O2IuQXcucHVzaCguLi5XKTtpZihBVSliLmNCLmhhcyhEKXx8Yi5jQi5zZXQoRCxbXSksYi5jQi5nZXQoRCkucHVzaCguLi5XKTtlbHNlIGlmKGIuV28pZm9yKGxldCB2IG9mIFcpYi5Xby5Bdy5wdXNoKHYpO2Vsc2UgYi5Xbz1uZXcga0JoKFsuLi5iLkF3XSksbi5vWj8uSHgmJmcudShuLGIuV28pO3JldHVybiBXfTsKdmp3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkt1Py5KLmdldChXKTtpZighYilyZXR1cm5bXTtpZihELk9KKXJldHVybiBiLlkoMCxELmNsaXBJZCk/LkF3fHxbXTtpZihiLlcoKSl7dmFyIHY9RC5zdGFydE1zLGs9RC5kdXJhdGlvbk1zLGg9MUUzO24ub1o/Lk4mJkQudGltZVJhbmdlJiYodj1ELnRpbWVSYW5nZS5zdGFydFRpY2tzPz8tMSxrPUQudGltZVJhbmdlLmw4Pz8tMSxoPUQudGltZVJhbmdlLnRpbWVzY2FsZT8/LTEpO2lmKEQuenY8MHx8RC5QUDwwfHxrPDB8fHY8MHx8RC5lSDwwfHxoPDApcmV0dXJuIG1lKG4sVyksW107bj1XXyhELnp2LEQuZUgpO1c9RC5kR3x8MDtyZXR1cm5bbmV3IHFJKDMsYixuLCJtYWtlU2xpY2VJbmZvc01lZGlhQnl0ZXMiLEQuUFAtMSx2L2gsay9oLFcsbi5sZW5ndGgtVyx2b2lkIDAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV19aWYoRC5QUDwwKXJldHVybiBtZShuLFcpLFtdO2lmKG4uS3U/LnpXKXJldHVybiBrPWIucmIsaD1rKmIuaW5mby5OcywKVz1ELmRHLG4ub1o/Lk4mJm4uVi50ZCgpIT09Ik9ORVNJRSImJkQudGltZVJhbmdlJiYhVyYmKHY9RC50aW1lUmFuZ2Uuc3RhcnRUaWNrcy9ELnRpbWVSYW5nZS50aW1lc2NhbGUpLFtuZXcgcUkoMyxiLHZvaWQgMCwibWFrZVNsaWNlSW5mb3NNZWRpYUJ5dGVzIixELlBQLHYsayxXLGgsITAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV07aWYobi5vWj8uUXImJmIgaW5zdGFuY2VvZiBydCl7aWYoIWIuTigpKXJldHVybiBuLnU5LmdldChXKS5XcS5zZXQoRC5hdSxEKSxbXTtuPUQuUFAtMTt2PWIuaW5kZXguZ2V0U3RhcnRUaW1lKG4pO2s9Yi5pbmRleC5nZXREdXJhdGlvbihuKTtyZXR1cm5bbmV3IHFJKDMsYix2b2lkIDAsIm1ha2VTbGljZUluZm9zTWVkaWFCeXRlcyIsbix2LGssMCxrKmIuaW5mby5Ocyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxELkhmIT09dm9pZCAwKV19cmV0dXJuW119OwpoNzI9ZnVuY3Rpb24obixXLEQpe24uS3U9VztuLm9aPUQ7Zm9yKGxldCBbYix2XW9mIG4udTkpe1c9YjtEPXY7Zm9yKGxldCBrIG9mIEQucDkpUHAobixXLGssRCl9fTsKeDZ3PWZ1bmN0aW9uKG4pe3JldHVybiBuLndEKCkmJiFuLkFkfTsKVUc9ZnVuY3Rpb24obil7aWYobi5VOCE9PXZvaWQgMCl7dmFyIFc9bi5wb2xpY3kual8oKTtpZihXKXt2YXIgRD1XLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRFdmVudHNDb3VudChuLlU4KTtpZihEPjApe3ZhciBiPVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2dldEJhdGNoZWRFdmVudHMobi5VOCk7aWYoYil7Yj1XLm1lbW9yeS5idWZmZXIoYixEKjE2KTtiPW5ldyBVaW50MzJBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsRCo0KTtsZXQgaz0wO2ZvcihsZXQgaD0wO2g8RDtoKyspe3ZhciB2PWJba107bGV0IHg9YltrKzFdLEw9YltrKzJdLGU9YltrKzNdO3Y9PT0wP2UhPT0wJiYodj14JiZMPjA/bmV3IFM1KFtXLm1lbW9yeS5idWZmZXIoeCxMKS5zbGljZSgpXSk6bmV3IFM1KFtuZXcgVWludDhBcnJheSgwKV0pLG4ueUQud20oZSx2KSk6dj09PTEmJm4ueGhyLkdwKCkmJlp4KG4pO2srPTR9fVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NsZWFyRXZlbnRzKG4uVTgpfX19fTsKWng9ZnVuY3Rpb24obil7bi5wb2xpY3kuWTAmJm4uUHEmJiFuLmdVP24uZ1U9ITA6bi5uZi5UQygpfTsKTCQyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9LTEsYj0tMSx2PS0xO2lmKG4udFk/Lml0ZW1zKWZvcihsZXQgayBvZiBuLnRZLml0ZW1zKVc8ay5Ga3x8ay5GazxEfHwoRD1rLkZrLGI9ay5meix2PWsubWluUmVhZGFoZWFkTXMpO3JldHVybntxRTpELGZ6OmIsRFE6dn19Owp5Qj1mdW5jdGlvbihuKXtpZihuLlU4IT09dm9pZCAwKXJldHVybiBuLnBvbGljeS5qXygpLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRNZWRpYUJ5dGVzKG4uVTgpfTsKZy5FRz1mdW5jdGlvbihuLFcsRCl7Zy52UChuLEQpfHxnLmdfKG4sVyxEKTtnLnZQKG4sInZpZGVvX3RvX2FkIil8fGcuZ18obixXLCJ2aWRlb190b19hZCIpO2cudlAobiwiYWRfdG9fdmlkZW8iKXx8Zy5nXyhuLFcsImFkX3RvX3ZpZGVvIik7Zy52UChuLCJhZF90b19hZCIpfHxnLmdfKG4sVywiYWRfdG9fYWQiKX07Cml1PWZ1bmN0aW9uKG4pe24uT3x8KG4uTz0oMCxnLlIpKCksZy5FRygibWJfcyIsbi5PLG4uelIpKX07CmU3Yj1mdW5jdGlvbihuKXtuLnR3fHwobi50dz0oMCxnLlIpKCksZy5FRygib3Zmc19ycCIsbi50dyxuLnpSKSl9OwpnajE9ZnVuY3Rpb24obil7bi5jSnx8KG4uY0o9KDAsZy5SKSgpLGcuRUcoIm9hZnNfcnAiLG4uY0osbi56UikpfTsKWFNoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XIGluc3RhbmNlb2YgdXUmJiFuLlgmJiFuLk4sdj0hbi5YJiZEPy5pbmZvLnZpZGVvO0Q9IW4uTiYmRD8uaW5mby5hdWRpbztXLnN0YXRlPT09Mz8oKHZ8fGIpJiZuLnRpY2soInZyciIpLChEfHxiKSYmbi50aWNrKCJhcnIiKSk6Vy5zdGF0ZT09PTQ/dj8obi5YPVcuV0QoKSxnLkR5KCksYlEoNCkpOkQmJihuLk49Vy5XRCgpKTpXIGluc3RhbmNlb2YgQUImJlcuUXkoKSYmdiYmKGcuRHkoKSxiUSg0KSl9OwpvcT1mdW5jdGlvbihuLFcsRCl7bi5KIT09VyYmKG4uVSgic2RhaSIse3NldHNzdDpXLG9sZDpuLkoscjpEfSksbi5KPVcpfTsKR0JiPWZ1bmN0aW9uKG4sVyxELGI9ITApe2lmKEQmJiFuLlRDLmhhcyhXLmokKSl7dmFyIHY9Vy5zdGFydFRpbWUsaz1bXTtmb3IodmFyIGg9MDtoPEQuTi5sZW5ndGg7aCsrKXt2YXIgeD1ELk5baF0sTD12O3Y9TCtELkpbaF07ay5wdXNoKHtzdGFydFRpbWU6TCxlbmRUaW1lOnYsYWRDcG46eH0pfW4uVEMuc2V0KFcuaiQsayl9bi5wb2xpY3kuZVYmJih2PW4uRCYmVy5qJD09PW4uRC5qJCsxLG4uRD1XLGs9bi5OJiZXLmokPT09bi5OLmokKzEsaz1uLk4mJnYmJmsmJm4uTi5mZi5ldmVudCE9PSJzdG9wIiYmbi5OLmZmLmV2ZW50IT09InByZWRpY3RTdGFydCIsaD1XLmZmfHxudWxsLHg9bi52aWRlb1RyYWNrLlBKLmluZGV4LngkKCkseD1XLmokPj14LEw9bi5LdS5pc01hbmlmZXN0bGVzcyxoPyhuLk4/LmZmLmV2ZW50PT09InByZWRpY3RTdGFydCImJm4uTi5qJDxXLmokJiZoLmV2ZW50PT09InN0b3AiJiZuLmxvYWRlci5oYW5kbGVFcnJvcigic3NkYWkubWlzc2luZ3N0YXJ0Y3VlZXZlbnQiLAp7bGFzdHByZWRpY3Q6bi5OPy5qJHx8MCxjc3E6Vy5qJH0sMCksbi5OPXtmZjpoLGokOlcuaiQsZks6ISFELGZZOmJ9LHg/bi5WaShoLFcuaiQpOkwmJih2P2s/bi5WaShoLFcuaiQpOmguZXZlbnQ9PT0iY29udGludWUifHxoLmV2ZW50PT09InN0b3AiP3EkMihuLFcpOm4uVmkoaCxXLmokKTpuLlZpKGgsVy5qJCkpKTooayYmcSQyKG4sVyksbi5KPT09NCYmb3Eobiw1LCJxZW5kIikpKX07CnJraj1mdW5jdGlvbihuLFcsRCxiLHYpe1chPT1uLk4/LmokfHxuLko9PT0xfHxifHxuLk4uZmYuZXZlbnQ9PT0icHJlZGljdFN0YXJ0Inx8bi5VKCJzZGFpIix7dW5kZWNldnQ6MSxzcTpXLG10OkQsZXZ0Om4uTi5mZi5ldmVudH0sITApO1c+bi5qJiYobi5qPU5hTixuLlY9TmFOKTtpZihuLk4mJm4uTi5qJD09PVcpe2lmKGI9bi5OLCFuLnBvbGljeS5YfHwhbi5wb2xpY3kuVTEpaWYodiYmYil7dmFyIGs9Yi5mZixoPXYuU0Qoayk7ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5jSj1XKTtuLlUoInNkYWkiLHtvbnFldnQ6ay5ldmVudCxzcTpXLG10OkQsZ2FiOmgsY3N0Omsuc3RhcnRTZWNzLGN1ZWlkOm4ucG9saWN5LnlkJiYoaHx8ay5ldmVudD09PSJzdGFydCIpP2suaWRlbnRpZmllcjp2b2lkIDB9LCEwKTtoP2suZXZlbnQhPT0icHJlZGljdFN0YXJ0Ij8oay5ldmVudD09PSJzdGFydCImJm4uY0o9PT1XLTEmJm4uVSgic2RhaSIse2dhYm9uc3RhcnQ6V30pLGIuZks/b3EobiwKNCwiY3VlIik6KG4uaj1XLG4uVj1ELG4uVSgic2RhaSIse2pvaW5hZDpuLkosc2c6bi5qLHN0Om4uVi50b0ZpeGVkKDMpfSksbi5ZPURhdGUubm93KCksb3EobiwyLG4uSj09PTM/InN0YWZ0cHJlZCI6ImpvaW4iKSx0dmkodixiLmZmKSkpOihoPSQ2aChuKSxXKz1NYXRoLm1heChNYXRoLmNlaWwoLWsuTi9oKSwxKSxrPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLnBvbGljeS5VMT9uLlc9azpuLlg9VyxuLlUoInNkYWkiLHtvbnByZWQ6RCxlc3RzcTpXLGVzdG10OmsudG9GaXhlZCgzKX0pLGcuZEMobi5sb2FkZXIsayxrLFcsaCksbi5ZPURhdGUubm93KCksb3EobiwzLCJwcmVkaWN0IiksdHZpKHYsYi5mZikpOm4uSj09PTE/bi5zVT8uR2coRCk/KGcuZEMobi5sb2FkZXIsRCxELFcpLG9xKG4sNCwic2syaGVhZCIpKTpvcShuLDUsIm5vZ2FiIik6ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5wb2xpY3kuVTEmJm4uVz4wPyhEPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLlchPT1EJiYKbi5VKCJzZGFpIix7dXBkYXRlU3Q6RCxvbGQ6bi5XfSksbi5XPUQpOm4uWD4wJiYoRD1XK01hdGgubWF4KE1hdGguY2VpbCgtay5OLyQ2aChuKSksMSksbi5YIT09RCYmKG4uVSgic2RhaSIse3VwZGF0ZVN0OkQsb2xkOm4uWH0pLG4uWD1EKSkpfWVsc2Ugbi5VKCJzZGFpIix7bnVsbGRlYzoxLHNxOlcsbXQ6RC50b0ZpeGVkKDMpLGV2dDpiPy5mZj8uZXZlbnR8fCJub25lIn0pfWVsc2Ugbi5KPT09MSYmb3Eobiw1LCJub2FkIil9Owp6ST1mdW5jdGlvbihuLFcsRCl7cmV0dXJuKEQ8MHx8RD09PW4uaikmJiFpc05hTihuLlYpP24uVjpXfTsKcSQyPWZ1bmN0aW9uKG4sVyl7aWYobi5OKXt2YXIgRD1uLk4uZmYuQ2YtKFcuc3RhcnRUaW1lK24uSy1uLk4uZmYuc3RhcnRTZWNzKTtEPD0wfHwoRD1uZXcgZy5sMyhuLk4uZmYuc3RhcnRTZWNzLShpc05hTihuLkspPzA6bi5LKSxELG4uTi5mZi5jb250ZXh0LG4uTi5mZi5pZGVudGlmaWVyLCJzdG9wIixuLk4uZmYuTitXLmR1cmF0aW9uKjFFMyksbi5VKCJjdWVwb2ludGRpc2NvbnRpbnVpdHkiLHtzZWdOdW06Vy5qJH0pLG4uVmkoRCxXLmokKSl9fTsKJDZoPWZ1bmN0aW9uKG4pe3N3aXRjaChuLnBvbGljeS5sYXRlbmN5Q2xhc3Mpe2Nhc2UgIkxPVyI6cmV0dXJuIDJFMztjYXNlICJVTFRSQUxPVyI6cmV0dXJuIDFFMztkZWZhdWx0OnJldHVybiA1RTN9fTsKbHU9ZnVuY3Rpb24obixXLEQsYj0hMSl7Yj9vcShuLDEsInNlZWsiKTpXPjAmJk1hdGguYWJzKFctRCk+PTUmJm4uSj09PTQmJm9xKG4sNSwic2sydCIpfTsKZy5UST1mdW5jdGlvbihuKXtyZXR1cm4gbi50aWxlQ29udGV4dD9gJHtuLlNTfTske24udGlsZUNvbnRleHR9YDpuLlNTfTsKalY9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuInVua25vd24iO3N3aXRjaChuKXtjYXNlIDU6cmV0dXJuInByZWRpY3RTdGFydCI7Y2FzZSAxOnJldHVybiJzdGFydCI7Y2FzZSAyOnJldHVybiJjb250aW51ZSI7Y2FzZSAzOnJldHVybiJzdG9wIjtjYXNlIDY6cmV0dXJuInByZWZldGNoIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpzU3c9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInByZWRpY3RTdGFydCI6cmV0dXJuIDU7Y2FzZSAic3RhcnQiOnJldHVybiAxO2Nhc2UgImNvbnRpbnVlIjpyZXR1cm4gMjtjYXNlICJzdG9wIjpyZXR1cm4gMztjYXNlICJwcmVmZXRjaCI6cmV0dXJuIDY7ZGVmYXVsdDpyZXR1cm4gMH19OwpON1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDE6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19OwpwU1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgNjpyZXR1cm4gNztjYXNlIDU6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMTE6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiA0O2Nhc2UgMTpyZXR1cm4gNTtjYXNlIDEyOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9fTsKZy5DMz1mdW5jdGlvbihuKXtyZXR1cm4gbj9uLnRpbGVDb250ZXh0P2Ake24uaWRlbnRpZmllcn07JHtuLnRpbGVDb250ZXh0fWA6bi5pZGVudGlmaWVyOiIifTsKZy5CcD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAwOnJldHVybiJ1bmtub3duIjtjYXNlIDE6cmV0dXJuInRpbWVvdXQiO2Nhc2UgMjpyZXR1cm4icmF0ZWNvbnRyb2wiO2Nhc2UgMTE6cmV0dXJuInJhdGVjb250cm9sX2NsaWVudCI7Y2FzZSAzOnJldHVybiJzdmVyciI7Y2FzZSA0OnJldHVybiJkZWxldGVkIjtjYXNlIDU6cmV0dXJuIndhaXRpbmciO2Nhc2UgNjpyZXR1cm4icmVhZHkiO2Nhc2UgNzpyZXR1cm4ic3NkaXNhYmxlZCI7Y2FzZSA5OnJldHVybiJzc2Rpc2FibGVkX3VzdHJlYW1lciI7Y2FzZSAxMDpyZXR1cm4ic3NkaXNhYmxlZF9ub19jb25maWciO2Nhc2UgMTI6cmV0dXJuIm5vZ2FiY29uZmlnIjtjYXNlIDg6cmV0dXJuImluYWN0aXZlIjtjYXNlIDEzOnJldHVybiJjYWNoZW1pc3MiO2RlZmF1bHQ6cmV0dXJuInVua25vd24ifX07CkZ1PWZ1bmN0aW9uKG4pe3ZhciBXPS0obi5mZj8uVHl8fDApO24udGltZVJhbmdlJiYoVys9KG4udGltZVJhbmdlLnN0YXJ0VGlja3N8fDApLyhuLnRpbWVSYW5nZS50aW1lc2NhbGV8fDEpKTtyZXR1cm4gbmV3IGcubDMoVyxuLmZmPy5NS3x8MCxuLmZmPy51VHx8IiIsbi5mZj8uaWRlbnRpZmllcnx8IiIsalYobi5mZj8uZXZlbnQpLChuLmZmPy5UeXx8MCkqMUUzLG4udGlsZUNvbnRleHQpfTsKZy5ZJEM9ZnVuY3Rpb24obixXKXt2YXIgRD0iIixiPVtdO2ZvcihsZXQgW3Ysa11vZiBuLk4uZW50cmllcygpKXtsZXQgaD12LHg9azt4Py5zdGFydFRpbWVTZWNzPD1XJiZXPD14Py5zdGFydFRpbWVTZWNzK3g/LkNmJiZiLnB1c2goaCk7RCs9YCR7aH06JHt4Py5zdGFydFRpbWVTZWNzLnRvRml4ZWQoMyl9OiR7eD8uQ2YudG9GaXhlZCgzKX07YH1iLmxlbmd0aD09PTAmJihXPXtub19jaWQ6MSxtdDpXLnRvRml4ZWQoMyksYWRDb25maWdNYXA6RC5zdWJzdHJpbmcoMCwxMDI0KX0sbi5wb2xpY3kuRlImJm4uVSgiY2xzZGFpIixXKSk7cmV0dXJuIGJ9OwpIZVU9ZnVuY3Rpb24obixXLEQ9ITEpe0QmJihuLlY9ITApOysrbi5qO0Q9NkU0KjIqKm4uajtEPSgwLGcuUikoKStEO24uVy5zZXQoVy5pbmZvLmlkLEQpfTsKd0M9ZnVuY3Rpb24obil7Zm9yKGxldCBbVyxEXW9mIG4uVy5lbnRyaWVzKCkpe2xldCBiPVc7RDwoMCxnLlIpKCkmJm4uVy5kZWxldGUoYil9cmV0dXJuIG4uV307ClJxPWZ1bmN0aW9uKG4sVyl7bi5OPVc7dmFyIEQ9bi5LLnZpZGVvSW5mb3M7aWYoIW4uTi5pc0xvY2tlZCgpKXtsZXQgaz0oMCxnLlIpKCk7RD1nLkVNKEQsZnVuY3Rpb24oaCl7aWYoaC5Ocz50aGlzLnBvbGljeS5OcylyZXR1cm4hMTt2YXIgeD10aGlzLkt1Lk5baC5pZF07cmV0dXJuIHdDKHRoaXMuaikuZ2V0KGguaWQpPmt8fHguWGIuSj40fHx4LkZGPjQ/ITE6dGhpcy50dy5oYXMoK2guaXRhZyk/ITE6ITB9LG4pOwpuLmoubGwoKSYmKEQ9Zy5FTShELGg9PmgudmlkZW8ud2lkdGg8PTg1NCYmaC52aWRlby5oZWlnaHQ8PTQ4MCkpfUQubGVuZ3RofHwoRD1uLksudmlkZW9JbmZvcyk7CnZhciBiPUQ7bi5wb2xpY3kuUm8mJihiPWZRaChuLGIsVykpO2I9Zy5FTShiLFcuWCxXKTtpZihuLk4uaXNMb2NrZWQoKSYmbi5qLk4pe3ZhciB2PWcubF8oRCxrPT5rLmlkPT09bi5qLk4pOwp2P2I9W3ZdOm4uRGUoIiIpfW4ucG9saWN5LlJvfHwoYj1mUWgobixiLFcpKTtiLmxlbmd0aHx8KGI9W0RbMF1dKTtiLnNvcnQoKGssaCk9Pk1xKG4sayktTXEobixoKSk7CmZvcihXPTE7VzxiLmxlbmd0aDtXKyspRD1iW1ctMV0sdj1iW1ddLEQudmlkZW8ud2lkdGg+di52aWRlby53aWR0aD8oZy5CTShiLFcpLFctLSk6TXEobixEKSpuLnBvbGljeS5LPk1xKG4sdikmJihnLkJNKGIsVy0xKSxXLS0pO1c9YltiLmxlbmd0aC0xXTtuLkR0PSEhbi5XJiYhIW4uVy5pbmZvJiZuLlcuaW5mby5JQiE9PVcuSUI7bi5YPWI7bi5lJC5jbGVhcigpO0Q9ITE7Zm9yKHY9MDt2PGIubGVuZ3RoO3YrKylEP24uZSQuYWRkKGJbdl0uaXRhZyk6Ylt2XS52aWRlby5xdWFsaXR5T3JkaW5hbD49MTA4MCYmKEQ9ITApO0prQyhuLnBvbGljeSxXLG4uS3UuelcpfTsKSVExPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9saWN5LmNKLEQ9Tlcobi5JZykvVy1NcShuLG4uSi5pbmZvKTtXPWcuVDQobi5YLGZ1bmN0aW9uKGIpe3JldHVybiBNcSh0aGlzLGIpPER9LG4pOwpXPDAmJihXPTApO24udmlkZW9JbmRleD1XO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdfTsKUyRoPWZ1bmN0aW9uKG4pe24uUyQ/bi5TJD0hMTpuLlk9KDAsZy5SKSgpO24uRD0hMTtuLlZRPSExO3JldHVybiBuZXcgUUIobi5WLG4uVyxuLk4ucmVhc29uKX07Cm02dz1mdW5jdGlvbihuLFcsRCl7UnEobixXKTt2YXIgYj1uLmo7Vz1iLlguSjtEPWJZKFcse2dPOmIucG9saWN5LmdPLGo5OmIucG9saWN5Lmo5LGxhbmd1YWdlSWQ6RH0pO24uSj1uLkt1Lk5bKEQubGVuZ3RoPjA/RFswXTpXWzBdKS5pZF07VkIobik7bi5WPW4uSjtJUTEobik7bi5UQy5sZW5ndGgmJihuLm5leHRWaWRlbz1Ba00obixuLm5leHRWaWRlbyxuLksudmlkZW9JbmZvcyksbi5KPUFrTShuLG4uSixuLksuSikpO24uVz1uLm5leHRWaWRlbztuLlY9bi5KO3JldHVybiBTJGgobil9OwpLJGo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmVxdWFscyhXKSYmKCFuLmouTnx8IW4uTi5pc0xvY2tlZCgpfHxuLm5leHRWaWRlbz8uaW5mby5pZD09PW4uai5OKX07ClZCPWZ1bmN0aW9uKG4pe2lmKCFuLkp8fCFuLnBvbGljeS5KJiYhbi5KLmluZm8ua1ope3ZhciBXPW4uSy5KO24uSiYmKFc9YlkoVyx7bGFuZ3VhZ2VJZDpuLkouaW5mby5rWj8uaWQsZ086bi5wb2xpY3kuZ08sajk6bi5wb2xpY3kuajl9KSxXLmxlbmd0aHx8KFc9bi5LLkopKTtuLko9bi5LdS5OW1dbMF0uaWRdO2lmKFcubGVuZ3RoPjEmJiFuLnBvbGljeS5IaSl7aWYoIW4ucG9saWN5LnRHKXt2YXIgRD1nLmxfKFcsYj0+Yi5hdWRpby5hdWRpb1F1YWxpdHkhPT0iQVVESU9fUVVBTElUWV9ISUdIIik7CkQmJihuLko9bi5LdS5OW0QuaWRdKX1EPSExO2lmKEQ9bi5wb2xpY3kuWSQ/ITA6bi5OLmlzTG9ja2VkKCk/bi5OLk48MjQwOk9laShuLG4uSikpbi5KPW4uS3UuTltnLlVNKFcpLmlkXX19fTsKY3A9ZnVuY3Rpb24obil7aWYoIW4ubmV4dFZpZGVvfHwhbi5wb2xpY3kuSilpZihuLk4uaXNMb2NrZWQoKSluLm5leHRWaWRlbz1uLk4uTjw9MzYwP24uS3UuTltuLlhbMF0uaWRdOm4uS3UuTltnLlVNKG4uWCkuaWRdO2Vsc2V7Zm9yKHZhciBXPU1hdGgubWluKG4udmlkZW9JbmRleCxuLlgubGVuZ3RoLTEpLEQ9Tlcobi5JZyksYj1NcShuLG4uSi5pbmZvKSx2PUQvbi5wb2xpY3kuY0otYjtXPjAmJiEoTXEobixuLlhbV10pPD12KTtXLS0pO2ZvcihEPUQvbi5wb2xpY3kuSy1iO1c8bi5YLmxlbmd0aC0xJiYhKE1xKG4sbi5YW1crMV0pPj1EKTtXKyspO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdO24udmlkZW9JbmRleD1XfX07ClBDMj1mdW5jdGlvbihuLFcpe2lmKFcuUEouaW5mby52aWRlbyYmVy5hWil7bGV0IEQ9KFcuTitXLkopL1cuVyxiPVcuUEouaW5mby5OcztEJiZiJiYobi5udS5JSSgxLEQvYiksbi5wb2xpY3kuVyYmRC9iPjEuNSYmbi5sb2FkZXIuVSgib3ZlcnNob290Iix7c3E6Vy5qJCxicjpELG1heDpifSkpfX07CmFxPWZ1bmN0aW9uKG4sVyxEPSExKXtIZVUobi5qLFcsRCk7bi5ZPS0xO1JxKG4sbi5OKX07Clpldz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgUUIobi5WLG4uVyxXfHxuLk4ucmVhc29uKX07Ck1xPWZ1bmN0aW9uKG4sVyl7aWYoIW4uYmRbVy5pZF0pe3ZhciBEPW4uS3UuTltXLmlkXS5pbmRleC5YZChuLmNKLDE1KTtEPVcuWG4mJm4uVyYmbi5XLmluZGV4LmlzTG9hZGVkKCk/RHx8Vy5YbjpEfHxXLk5zO24uYmRbVy5pZF09RH1EPW4uYmRbVy5pZF07bi5lJC5oYXMoVy5pdGFnKSYmKEQqPTEuNSk7cmV0dXJuIEQqPU1hdGgubWF4KDEsbi5udS5MZygpfHwwKX07ClU2Qz1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBvZiBXKXtpZighYnx8IWIudmlkZW8pY29udGludWU7Vz1iLnZpZGVvLnF1YWxpdHlPcmRpbmFsO2xldCB2PURbV10saz12JiZ2Lk1XKCkmJnYudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5wb2xpY3kublMsaD1XPD1uLnBvbGljeS5uUz9iLk1XKCk6Yi5YKCk7aWYoIXZ8fGt8fGgpRFtXXT1ifXJldHVybiBEfTsKZlFoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1ELnJlYXNvbj09PSJtInx8RC5yZWFzb249PT0icyI7bi5wb2xpY3kuUnEmJm5yJiZnLkduJiYoIWJ8fEQuTjwxMDgwKSYmKFc9Vy5maWx0ZXIodj0+di52aWRlbyYmKCF2Lmp8fHYuai5wb3dlckVmZmljaWVudCkpKTsKaWYoVy5sZW5ndGg+MClpZihWVCgpKXtsZXQgdj1VNkMobixXKTtXPVcuZmlsdGVyKGs9PiEhayYmISFrLnZpZGVvJiZrLklCPT09dltrLnZpZGVvLnF1YWxpdHlPcmRpbmFsXS5JQil9ZWxzZXtsZXQgdj1XWzBdPy52aWRlbz8ucXVhbGl0eU9yZGluYWw7CmlmKHYpe0Q9Vy5maWx0ZXIoaD0+ISFoJiYhIWgudmlkZW8mJmgudmlkZW8ucXVhbGl0eU9yZGluYWw9PT12KTsKbGV0IGs9VTZDKG4sRClbdl0uSUI7Vz1XLmZpbHRlcihoPT4hIWgmJiEhaC52aWRlbyYmaC5JQj09PWspfX1yZXR1cm4gV307Ck9laT1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wO0QrMTxuLlgubGVuZ3RoJiZuLlhbRF0udmlkZW8ucXVhbGl0eT09PSJ0aW55IjspRCsrO3ZhciBiPU5XKG4uSWcpL24ucG9saWN5Lks7cmV0dXJuIE1xKG4sVy5pbmZvKStNcShuLG4uWFtEXSk+Yn07CkFrTT1mdW5jdGlvbihuLFcsRCl7aWYoVy5pbmZvLklCPT09ImYifHxuLlRDLmluY2x1ZGVzKGN3KFcsbi5LdS56VykpKXJldHVybiBXO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKXtsZXQgdj1uLkt1Lk5bRFtiXS5pZF07aWYoIW4uVEMuaW5jbHVkZXMoY3codixuLkt1LnpXKSkpY29udGludWU7bGV0IGs9Vy5pbmZvLklCLGg9di5pbmZvLklCO2lmKGs9PT1ofHxWVCgpKXtpZihXLmluZm8udmlkZW8/Vy5pbmZvLkohPT12LmluZm8uSjpXLmluZm8ua1o/LmlkIT09di5pbmZvLmtaPy5pZHx8YXkoVy5pbmZvKSE9PWF5KHYuaW5mbyl8fFZFKFcuaW5mbykhPT1WRSh2LmluZm8pKXJldHVybiBXNihuLHttaXNtYXRjaDoieHRhZyIsZjpXLmluZm8uaWQsdDp2LmluZm8uaWR9KSxXO1c2KG4se2Y6Vy5pbmZvLml0YWcsdDp2LmluZm8uaXRhZ30pO24uUyQ9ITA7cmV0dXJuIHZ9VzYobix7bWlzbWF0Y2g6ImVmZmljaWVudCIsZmM6ayx0YzpofSl9VzYobix7bWlzbWF0Y2g6InVuc2VsZWN0YWJsZSIsCmZtdHM6bi5UQy5qb2luKCIuIil9KTtyZXR1cm4gV307Clc2PWZ1bmN0aW9uKG4sVyl7bi5wb2xpY3kuRUQ/bi5sb2FkZXIuaGFuZGxlRXJyb3IoIm9uZXNpZS5mbXQubWlzbWF0Y2giLFcsMCk6bi5sb2FkZXIuVSgib21iaWZhIixXKX07Cnlrcj1mdW5jdGlvbihuLFcpe249cWMobi5LdS5OLEQ9PkQuaW5mby5pdGFnPT09Vyk7CmlmKCFuKXRocm93IEVycm9yKCJJdGFnICIrVysiIGZyb20gc2VydmVyIG5vdCBrbm93bi4iKTtyZXR1cm4gbn07CkVqWj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLk4ucmVhc29uPT09Im0ifHxuLk4ucmVhc29uPT09InMiKXJldHVybiBXO2lmKEl0aShuLkt1KSl7Zm9yKGxldCBEPU1hdGgubWF4KDAsbi52aWRlb0luZGV4LTIpO0Q8bi52aWRlb0luZGV4JiZEPG4uWC5sZW5ndGg7RCsrKVcucHVzaChuLlhbRF0uaXRhZyk7Vy5yZXZlcnNlKCl9cmV0dXJuIFd9OwppZWk9ZnVuY3Rpb24obixXKXtuLkRrKCJpc21wX3AiKTtuLko9V307CnU5VT1mdW5jdGlvbihuKXtuLk4mJihuLk4uZGlzcG9zZSgpLG4uRGsoImlzbXBfZCIpKX07Cm9qdz1mdW5jdGlvbih7dEk6bj0hMSxzSjpXPSExLGU0OkQ9ITF9PXt9KXtyZXR1cm4gbj9EPzM6MjpXPy0xOjF9OwpEZD1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1uLnRyYWNrLlFFO2lmKHYpe3Y9di5aRigpO2Zvcih2YXIgaz0wO2s8di5sZW5ndGg7aysrKWIucHVzaChNYXRoLnJvdW5kKHYuc3RhcnQoaykqMUUzKSksYi5wdXNoKE1hdGgucm91bmQodi5lbmQoaykqMUUzKSl9dj0xO2s9Yi5sZW5ndGg7aWYoaz09PW4uYnVmZmVyZWQubGVuZ3RoKXtmb3IodmFyIGg9MDtoPD1rJiZiW2hdPT09bi5idWZmZXJlZFtoXTtoKyspO2g+az92PTA6YltoXT5uLmJ1ZmZlcmVkW2hdJiYoaD09PWstMT92PTI6aD09PWstMiYmYltoKzFdPm4uYnVmZmVyZWRbaCsxXSYmKHY9MykpfW4uTi5hZGQoVzw8M3woRCYmNCl8dik7Vz1NYXRoLmNlaWwobi50cmFjay5sNSgpKjFFMyk7bi5OLmFkZChXLW4uaik7bi5qPVc7aWYodj09PTEpZm9yKG4uTi5hZGQoayksVz0wLGg9MDtoPGs7aCsrKW4uTi5hZGQoYltoXS1XKSxXPWJbaF07dj09PTMmJm4uTi5hZGQoYltrLTJdLW4uYnVmZmVyZWRbay0yXSk7dj49MiYmbi5OLmFkZChiW2stCjFdLW4uYnVmZmVyZWRbay0xXSk7RCYmbi5OLmFkZChEKTtuLmJ1ZmZlcmVkPWJ9OwpUN2I9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5hWilyZXR1cm4gRC5sZW5ndGg9PT0wP0QucHVzaChiLmNsb25lKCkpOihuPShXPUQucG9wKCkpP2Q2cihuLFcsYik6bnVsbCk/RC5wdXNoKG4pOkQucHVzaChiLmNsb25lKCkpLHY7KEQ9KEQ9RC5wb3AoKSk/ZDZyKG4sRCxiKTpudWxsKXx8KEQ9Yik7aWYoRC5OKXJldHVybiBuLmxvZ2dlciYmbi5sb2dnZXIoe2luY29tcGxldGVTZWdtZW50OkQuZ2EoKX0pLHY7dmFyIHtmb3JtYXRJZDprLGokOmgsc3RhcnRUaW1lTXM6eCxjbGlwSWQ6TCxyOTplfT17Zm9ybWF0SWQ6Zy5WZihELlBKLmluZm8sbi5LdS56VyksaiQ6RC5qJCtuLlgsc3RhcnRUaW1lTXM6RC5zZWdtZW50U3RhcnRUaW1lKjFFMyxjbGlwSWQ6RC5jbGlwSWQscjk6RC5XKjFFM307Yj17Y2xpcElkOkwsZm9ybWF0SWQ6ayxzdGFydFRpbWVNczp4LGR1cmF0aW9uTXM6ZSxBQzpoLGk5Omh9O3Y9ejdVKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRzsKaWYoRz1EKXtHPWI7dmFyIHI9dixOPUQuc3RhcnRUaW1lTXMrRC5kdXJhdGlvbk1zLEg9Ry5zdGFydFRpbWVNcytHLmR1cmF0aW9uTXM7aWYoRy5zdGFydFRpbWVNcy1OPm4uTilHPSExO2Vsc2UgaWYobFFoKG4sRC5mb3JtYXRJZCxHLmZvcm1hdElkKSlELmR1cmF0aW9uTXM9TWF0aC5tYXgoTixIKS1ELnN0YXJ0VGltZU1zLEQuaTk9TWF0aC5tYXgoRC5pOSxHLmk5KSxHPSEwO2Vsc2UgaWYoTWF0aC5hYnMoRC5zdGFydFRpbWVNcy1HLnN0YXJ0VGltZU1zKTw9bi5OKWlmKEQuZHVyYXRpb25Ncz5HLmR1cmF0aW9uTXMrbi5OKXtyPUQuZm9ybWF0SWQ7dmFyIEE9RC5BQyx5PUQuaTk7RC5mb3JtYXRJZD1HLmZvcm1hdElkO0QuZHVyYXRpb25Ncz1HLmR1cmF0aW9uTXM7RC5BQz1HLkFDO0QuaTk9Ry5pOTtHLmZvcm1hdElkPXI7Ry5zdGFydFRpbWVNcz1IO0cuZHVyYXRpb25Ncz1OLUg7Ry5BQz1BO0cuaTk9eTtHPSExfWVsc2UgRC5mb3JtYXRJZD1HLmZvcm1hdElkLEc9ITA7ZWxzZSBOPgpHLnN0YXJ0VGltZU1zJiYoTj5IJiYoVy5zcGxpY2UocisxLDAse2Zvcm1hdElkOkQuZm9ybWF0SWQsc3RhcnRUaW1lTXM6SCxkdXJhdGlvbk1zOk4tSCxBQzpHLmk5KzEsaTk6RC5pOX0pLG4ubG9nZ2VyJiZuLmxvZ2dlcih7c3BsaXRPbGRTdGFydDpELnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0T2xkRW5kOk4/LnRvRml4ZWQoMyksc3BsaXROZXdTdGFydDpHLnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0TmV3RW5kOkg/LnRvRml4ZWQoMyl9KSksRC5kdXJhdGlvbk1zPUcuc3RhcnRUaW1lTXMtRC5zdGFydFRpbWVNcyxELmk5PUcuQUMtMSksRz0hMX1HP2I9RDoodis9MSxXLnNwbGljZSh2LDAsYikpO0Q9MDtmb3IoRz12KzE7RzxXLmxlbmd0aDtHKyspe049bjtIPVdbR107cj1iO0E9SC5zdGFydFRpbWVNcytILmR1cmF0aW9uTXM7eT1yLnN0YXJ0VGltZU1zK3IuZHVyYXRpb25Nczt5Pj1BK04uTj9OPSEwOnkrTi5OPEguc3RhcnRUaW1lTXM/Tj0hMTpsUWgoTixILmZvcm1hdElkLApyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKZDZyPWZ1bmN0aW9uKG4sVyxEKXtpZighYlQoVyxEKXx8Vy5hWilyZXR1cm4gbnVsbDtQXyhXLEQsbi5wb2xpY3kuZUspO3JldHVybiBXfTsKejdVPWZ1bmN0aW9uKG4sVyl7bj1nLlc0KG4se3N0YXJ0VGltZU1zOld9LChELGIpPT5ELnN0YXJ0VGltZU1zLWIuc3RhcnRUaW1lTXMpOwpyZXR1cm4gbj49MD9uOi1uLTJ9OwpqU1o9ZnVuY3Rpb24obixXLEQpe2lmKG4ubG9nZ2VyKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XTtrLkVqPy5zdGFydFRpY2tzJiZiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X3Bzc3QuJHtrLkVqPy5zdGFydFRpY2tzfV9wc2QuJHtrLkVqPy5sOH1gKTtiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9bi5sb2dnZXIoe3A6YCR7RH1gLGJyOmIuam9pbigiOyIpfSl9fTsKYlM9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4uUUUpe3ZhciBiPW4uUUUuWkYoKTtpZihiLmxlbmd0aCE9PTApe2lmKG4uVyYmVyl7dmFyIHY9bi5XLGs9di5YOyFCUihiLGspJiZ2Lks+MCYmKDAsZy5SKSgpLW4uSzw1RTMmJihuLmxvZ2dlciYmbi5sb2dnZXIoe2RlbmQ6di5nYSgpfSksYj1qRyhiLGssaysuMDEpKX12PVtdO2Zvcih2YXIgaD1rPTA7azxiLmxlbmd0aCYmaDxuLmVXLmxlbmd0aDspe3ZhciB4PWIuc3RhcnQoayk7bGV0IE49Yi5lbmQoayk7dmFyIEw9bi5lV1toXS5zdGFydFRpbWVNcy8xRTM7bGV0IEg9KG4uZVdbaF0uc3RhcnRUaW1lTXMrbi5lV1toXS5kdXJhdGlvbk1zKS8xRTM7aWYoTDw9TiYmSD49eCl7bGV0IEE9ey4uLm4uZVdbaF19O3ZhciBlPW4uS3UuSi5nZXQoTWsobi5lV1toXS5mb3JtYXRJZCkpLEc9TWF0aC5tYXgoTCx4KTt4PWUuaW5kZXguUjMoRytuLk4vMUUzKTtMPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHgpO3ZhciByPXgrICsoTWF0aC5hYnMoTC1HKT4Kbi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uV3x8MTE7IUQmJmg9PT1uLkomJk48SCYmSC1OPD14KjEuMDEmJiEobi5wb2xpY3kuU3cmJm4uUUUmJm4uUUUueXUoKSkmJihOPUgpO3g9TWF0aC5taW4oSCxOKTtMPWUuaW5kZXguUjMoeC1uLk4vMUUzKTtHPWUuaW5kZXguakUoTCk7TC09KyhNYXRoLmFicyhHLXgpPm4uTi8xRTMpO3g9TCtuLlg7ZT1lLmluZGV4LmpFKEwpKjFFMztBLmk5PXg7QS5kdXJhdGlvbk1zPWUtQS5zdGFydFRpbWVNcztBLkFDPD1BLmk5JiZ2LnB1c2goQSl9SDxOP2grPTE6ays9MX1uLmVXPXZ9fX07CkNDTT1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPW4uTTcubWFwKGs9PmsuY2xvbmUoKSk7Cm4uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5ELmYzKCksdj1uLko7Zm9yKGxldCBrIG9mIGIpdj1UN2IobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLE03OkR9fTsKbFFoPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gVy5pdGFnIT09RC5pdGFnfHxXLnh0YWdzIT09RC54dGFncz8hMTpuLkt1LnpXfHxXLmxtdD09PUQubG10fTsKdjY9ZnVuY3Rpb24obil7cmV0dXJue2Rvd25sb2FkZWRFbmRUaW1lOk1hdGgucm91bmQobi5kSD9uLmRILmo6MCksbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19Owp4Qz1mdW5jdGlvbihuLFc9ITEpeyFXfHxuLmluZGV4UmFuZ2UmJm4uaW5pdFJhbmdlJiZuLmRIfHxrQyhuLG5ldyBoMCgiV29mZmxlOiBFeHBlY3QgaXNGaW5hbCB0byBhbHdheXMgaGF2ZSBpbmRleFJhbmdlIGFuZCBpbml0UmFuZ2UgYW5kIGxhc3RTbGljZSIpKTtXPXtsbXQ6bi5OLmluZm8ubGFzdE1vZGlmaWVkLGRvY2lkOm4ucG9saWN5LkosZm10aWQ6bi5OLmluZm8uaWQsdHlwZTpuLk4uaW5mby5taW1lVHlwZS5zcGxpdCgiOyIpWzBdLGNzejpuLmNodW5rU2l6ZSxjbGVuOm4uVypuLmNodW5rU2l6ZStuLkp9O24uY3J5cHRvJiYoVy5jaz1uLlksVy5jaXY9bi5LKTtXPSJsb2NhbDovL2xvY2FsaG9zdC92aWRlb3BsYXliYWNrPyIrZy5FdChXKTtXPXtpdGFnOituLk4uaW5mby5pdGFnLG1pbWVUeXBlOm4uTi5pbmZvLm1pbWVUeXBlLGJpdHJhdGU6bi5OLmluZm8uTnMqOCxsYXN0TW9kaWZpZWQ6U3RyaW5nKG4uTi5pbmZvLmxhc3RNb2RpZmllZCksaW5pdFJhbmdlOm4uaW5pdFJhbmdlPy5OKCksCmluZGV4UmFuZ2U6bi5pbmRleFJhbmdlPy5OKCksdXJsOld9O3ZhciBEPW4uTi5pbmZvLko7RCYmKFcueHRhZ3M9RCk7aWYoRD1uLk4uaW5mby52aWRlbylpZihXLnF1YWxpdHk9RC5xdWFsaXR5LFcucXVhbGl0eUxhYmVsPUQucXVhbGl0eUxhYmVsLFcud2lkdGg9RC53aWR0aCxXLmhlaWdodD1ELmhlaWdodCxEPUQuZnBzKVcuZnBzPUQ7aWYobj1uLk4uaW5mby5hdWRpbyl7aWYoRD1uLnNhbXBsZVJhdGUpVy5hdWRpb1NhbXBsZVJhdGU9U3RyaW5nKEQpO2lmKG49bi5udW1DaGFubmVscylXLmF1ZGlvQ2hhbm5lbHM9bn1yZXR1cm4gV307CkxyPWZ1bmN0aW9uKG4sVyxEPSExKXtXLnRoZW4oYj0+e24uTy5kZWxldGUoVyk7KER8fGI9PT00KSYmbi5WLnJlc29sdmUoYil9LGI9PntuLlYucmVqZWN0KGIpfSl9OwplcT1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZEgmJm4uZEguVigpfTsKa0M9ZnVuY3Rpb24obixXKXtlJChuLnBvbGljeS5KKSE9PTQmJihnNihuLnBvbGljeS5KLDQpLGcuR3EoVyksbi5WLnJlamVjdChuZXcgaDAoVy5tZXNzYWdlKSkpfTsKQjdiPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPXRSKFcuSik7aWYobi5XPG4uWCl7RD1uLlgqbi5jaHVua1NpemUtKChXLmluZm8ucmFuZ2U/LnN0YXJ0fHwwKStXLmluZm8uTik7aWYoRD49Yi5sZW5ndGgpcmV0dXJuO2lmKEQ8MCl0aHJvdyBFcnJvcigiTWlzc2luZyBkYXRhIik7bi5XPW4uWDtuLko9MH1mb3IoO0Q8Yi5sZW5ndGg7KXt2YXIgdj1NYXRoLm1pbihiLmxlbmd0aC1ELG4uai5ieXRlTGVuZ3RoLW4uSik7bGV0IGs9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0K0Qsdik7bi5qLnNldChrLG4uSik7bi5KKz12O0QrPXY7aWYobi5KPT09bi5qLmxlbmd0aCl7aWYoVy5pbmZvPT09bi5kSCYmZXEobikmJkQ9PT1iLmxlbmd0aClicmVhazt2PXY2KG4pO3Y9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSx2LG4ucG9saWN5LmJkLG4uVyxuLmosbi5jcnlwdG8pO24uTy5hZGQodik7THIobix2KTtuLnFOKCl8fCh2PXY2KG4pLG4uYmQoeEMobiksdiE9PXZvaWQgMD8KKHYuZG93bmxvYWRlZEVuZFRpbWV8fDApKnYuYXZlcmFnZUJ5dGVSYXRlOnYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlLHYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlKSk7bi5qPW5ldyBVaW50OEFycmF5KG4uY2h1bmtTaXplKTtuLko9MDtuLlcrPTF9fX07CndTVT1mdW5jdGlvbihuKXtpZihlcShuKSlpZihuLmRIJiZuLmluZGV4UmFuZ2UpaWYobi5KKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmouYnVmZmVyLDAsbi5KKSxEPUYkeChuKSxiPW4ucG9saWN5Lko7UHJvbWlzZS5hbGwobi5PKS50aGVuKCgpPT57dmFyIHY9dHgoYixuLmRILlBKLmluZm8seEMobiwhMCksRCxuLnBvbGljeS5iZCxuLlcsVyxuLmNyeXB0byk7THIobix2LCEwKX0pfWVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGFsd2F5cyByZS1tYXJrIGN1cnJlbnRDaHVua09mZnNldCBhdCBFT1MiKSk7CmVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGF0IEVPUyB0byBhbHdheXMgaGF2ZSBsYXN0U2xpY2Ugb3IgaW5kZXhSYW5nZSIpKX07Cmd1PWZ1bmN0aW9uKG4sVyl7aWYoIWVxKG4pJiYhbi5xTigpKXtpZighKG4udHd8fChuLnR3PSEwLG4uWD4wKSkpe3ZhciBEPXY2KG4pO0Q9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSxELG4ucG9saWN5LmJkKTtMcihuLEQpfWlmKFcuaW5mby50eXBlPT09MSl7aWYobi5kSCl7a0MobixFcnJvcigiV29mZmxlOiBFeHBlY3QgSU5JVCBzbGljZXMgdG8gYWx3YXlzIHN0YXJ0IHVzIG9mZiIpKTtyZXR1cm59bi5pbml0UmFuZ2U9V18oMCxXLkoudG90YWxMZW5ndGgpfWVsc2UgaWYoVy5pbmZvLnR5cGU9PT0yKW4uZEgmJm4uZEgudHlwZT09PTF8fGtDKG4sRXJyb3IoIldvZmZsZTogSW5kZXggYmVmb3JlIGluaXQiKSksbi5pbmRleFJhbmdlPVdfKG4uaW5pdFJhbmdlLmVuZCsxLFcuSi50b3RhbExlbmd0aCk7ZWxzZSBpZihXLmluZm8udHlwZT09PTMpe2lmKCFuLmRIKXtrQyhuLEVycm9yKCJXb2ZmbGU6IEV4cGVjdCBNRURJQSBzbGljZXMgdG8gYWx3YXlzIGhhdmUgbGFzdFNsaWNlIikpOwpyZXR1cm59aWYobi5kSC50eXBlPT09MyYmIWJUKG4uZEgsVy5pbmZvKSYmKG4uRD1bXSxXLmluZm8uaiQhPT1nayhuLmRIKXx8Vy5pbmZvLk4hPT0wKSlyZXR1cm47aWYoVy5pbmZvLmFaKXtmb3IobGV0IGIgb2Ygbi5EKUI3YihuLGIpO24uRD1bXX1lbHNle24uRC5wdXNoKFcpO24uZEg9Vy5pbmZvO3JldHVybn19ZWxzZXtrQyhuLEVycm9yKCJXb2ZmbGU6IFVuZXhwZWN0ZWQgc2xpY2UgdHlwZSIpKTtyZXR1cm59bi5kSD1XLmluZm87QjdiKG4sVyk7d1NVKG4pfX07CkYkeD1mdW5jdGlvbihuKXtyZXR1cm57ZG93bmxvYWRlZEVuZFRpbWU6LTEsbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19OwpNdlM9ZnVuY3Rpb24obil7bj1nLmVQKG4sMTg4NjYxNDM3Nik7Zm9yKGxldCBXIG9mIG4pO3JldHVybiBnLmlfKG4sVz0+b3IoVykpfTsKUjdVPWZ1bmN0aW9uKG4pe3ZhciBXPWcudV8obiwoYix2KT0+Yit2Lmxlbmd0aCwwKTsKVz1uZXcgVWludDhBcnJheShXKTt2YXIgRD0wO2ZvcihsZXQgYiBvZiBuKVcuc2V0KGIsRCksRCs9Yi5sZW5ndGg7cmV0dXJuIFd9OwpWdnQ9ZnVuY3Rpb24obil7YTp7dmFyIFc9bi5pbml0RGF0YTt0cnl7dmFyIEQ9MDtsZXQgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIpO2Zvcig7RDx2LmJ5dGVMZW5ndGgtODspe2xldCBrPXYuZ2V0VWludDMyKEQpO2lmKGs8PTEpYnJlYWs7aWYodi5nZXRVaW50MzIoRCs0KSE9PTE4ODY2MTQzNzYpe0QrPWs7Y29udGludWV9bGV0IGg9MzI7aWYodi5nZXRVaW50OChEKzgpPjApe2xldCBMPXYuZ2V0VWludDMyKEQrMjgpO2grPUwqMTYrNH1sZXQgeD12LmdldFVpbnQzMihEK2gtNCk7dHJ5e2xldCBMPVFTeChXLnN1YmFycmF5KEQraCxEK2greCkpO2lmKEwhPT1udWxsKXt2YXIgYj1MO2JyZWFrIGF9fWNhdGNoKEwpe31EKz1rfWI9bnVsbDticmVhayBhfWNhdGNoKHYpe2I9bnVsbDticmVhayBhfWI9dm9pZCAwfWlmKGIhPW51bGwpe1c9dTQoaVcoYiw3LHZvaWQgMCxmbikpO1c9PW51bGx8fG4ucUh8fChuLmNyeXB0b1BlcmlvZEluZGV4PVcpO1c9dTQoaVcoYiwxMCx2b2lkIDAsZm4pKTsKVyE9bnVsbCYmVz4wJiYhbi5xSCYmKG4uTj1XKTtmb3IobGV0IHYgb2YgZy5CSChiLDIsTUUsdm9pZCAwPT09RyQ/Mjo0KSliPW4uSixXPWIucHVzaCxEPVZsKHYpLEQ9Zy5FQShELDQpLFcuY2FsbChiLEQpfX07CmNraj1mdW5jdGlvbihuKXtyZXR1cm4gaXNOYU4obi5jcnlwdG9QZXJpb2RJbmRleCk/Zy5FQShuLmluaXREYXRhKTpgJHtuLmNyeXB0b1BlcmlvZEluZGV4fWB9OwpYMD1mdW5jdGlvbihuKXtpZihuLm9mZnNldD49bi5KLnRvdGFsTGVuZ3RoKXRocm93IEVycm9yKCk7cmV0dXJuIHJkKG4uSixuLm9mZnNldCsrKX07CmFRUz1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPVgwKG4pO2lmKEQ9PT0xKXtXPS0xO2ZvcihEPTA7RDw3O0QrKyl7dmFyIGI9WDAobik7Vz09PS0xJiZiIT09MjU1JiYoVz0wKTtXPi0xJiYoVz1XKjI1NitiKX1yZXR1cm4gV31iPTEyODtmb3IobGV0IHY9MDt2PDYmJmI+RDt2KyspRD1EKjI1NitYMChuKSxiKj0xMjg7cmV0dXJuIFc/RDpELWJ9OwpuZng9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWFRUyhuLCEwKSxEPWFRUyhuLCExKTtyZXR1cm57aWQ6VyxzaXplOkR9fWNhdGNoKFcpe3JldHVybntpZDotMSxzaXplOi0xfX19OwpETjE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW5ldyBXeWoobiksRD0tMSxiPTAsdj0wOyFifHwhdjspe2xldCB7aWQ6ayxzaXplOmh9PW5meChXKTtpZihrPDApcmV0dXJuO2lmKGs9PT0xNzYpe2lmKGghPT0yKXJldHVybjtiPVcuTigpfWVsc2UgaWYoaz09PTE4Nil7aWYoaCE9PTIpcmV0dXJuO3Y9Vy5OKCl9az09PTM3NDY0ODQyNz9EPVcuTigpK2g6ayE9PTQwODEyNTU0MyYmayE9PTE3NCYmayE9PTIyNCYmVy5za2lwKGgpfVc9JE0obiwwLEQpO0Q9bmV3IERhdGFWaWV3KFcuYnVmZmVyKTtELnNldFVpbnQxNihiLDM4NDApO0Quc2V0VWludDE2KHYsMjE2MCk7Yj1uZXcgUzUoW1ddKTtlNShiLG4pO3JldHVybiBifTsKYndDPWZ1bmN0aW9uKCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTY0RTQpO2ZvcihsZXQgVz0wO1c8bi5sZW5ndGg7Vys9NjU1MzYpY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuLnN1YmFycmF5KFcsTWF0aC5taW4oVys2NTUzNixuLmxlbmd0aCkpKTtuZXcgUzUoW25dKX07CnEyPWZ1bmN0aW9uKG4pe24uYm4/LmRpc3Bvc2UoKTtuLmJuPW51bGx9OwpHWj1mdW5jdGlvbihuLFcpe1c9e3JzdDRkaXNjOlcsY2Q6bi5UOC50b0ZpeGVkKDMpLHNxOm4ubTE/bi5tMS5qJDotMX07bi5acT1OYU47bi5UOD0wO24uc0w9LTE7bi5tMT1udWxsO24uaWg9TmFOO24uWXA9TmFOO24uU0Y9bnVsbDtuLmxvYWRlci5VKCJtZHN0bSIsVyl9Owp0MD1mdW5jdGlvbihuKXtuLmJSPW51bGw7bi5FZz0tMTtuLlZwPTA7bi5qaz1udWxsO24uTDE9TmFOO24uWUU9MDtuLkwyPW51bGx9OwokQz1mdW5jdGlvbihuLFcpe2lmKFcuaW5mby5hWil7bi5JOT1XLmluZm87aWYobi5qayl7dmFyIEQ9bi5qayxiPXZmdChuLCExKTtEPWtkVShEKTtuLmxvYWRlci5SMChuLlBKLGIsRCk7bi5wb2xpY3kuZUsmJlpKKFcuaW5mbyxiKTtuLkwyfHxuLnBvbGljeS5lVnx8bi5WaSgpO24uTDI9bnVsbH10MChuKX1uLmJuJiZndShuLmJuLFcpO2lmKGI9bi5XeCgpKWlmKGI9Yi5qKFcsbi5wb2xpY3kuQW0sbi5wb2xpY3kuZkIpKXtuLlZ3LnBvcCgpO24uVncucHVzaChiKTtyZXR1cm59bi5Wdy5wdXNoKFcpfTsKUUV3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5XUihXKTtpZihaTyhXLmluZm8uUEouaW5mbykmJlcuaW5mby5QSi5pbmZvLnZpZGVvLnByaW1hcmllcz09PSJidDIwMjAiKXt2YXIgYj1uZXcgdFkoRCk7JHgoYixbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0LDIxOTM2LDIxOTM3XSkmJihiPWIuc3RhcnQrYi5wb3MsRC5nZXRVaW50OChiKT09PTEyOSYmRC5nZXRVaW50OChiKzEpPT09MSYmRC5zZXRVaW50OChiKzEsOSkpfWI9Vy5pbmZvLlBKLmluZm87Yi5YKCkmJiFaTyhiKSYmKGI9Zy5XUihXKSwobmV3IHRZKGIpKS5PSigpLFl4KFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdLDIxOTM2LGIpKTtXLmluZm8uUEouaW5mby5mWSgpJiZRZihXLmluZm8uUEosRCk7Vy5pbmZvLlBKLmluZm8ucUgoKSYmVy5pbmZvLmZZKCkmJihEPWcuV1IoVyksKG5ldyB0WShEKSkuT0ooKSxZeChbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0XSwzMDMyMCxEKSYmWXgoWzQwODEyNTU0MywzNzQ2NDg0MjcsCjE3NCwyMjRdLDIxNDMyLEQpKTtpZihuLnBvbGljeS54MCYmVy5pbmZvLlBKLmluZm8ucUgoKSl7Yj1nLldSKFcpO3ZhciB2PW5ldyB0WShiKTtpZigkeCh2LFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyOTYzN10pKXtEPU5rKHYsITApO3Y9di5zdGFydCt2LnBvcztmb3IodmFyIGs9MDtrPEQtMTtrKyspYi5zZXRVaW50OCh2K2ssMCk7Yi5zZXRVaW50OCh2K0QtMSwxKX19aWYobi5lUygpJiZnLlJCKFcuaW5mby5QSi5pbmZvKSl7RD1nLldSKFcpO2I9Zy5ucyhELDAsMTcwMTYwNjI2MCk7RD1nLm5zKEQsMCwxODM2NDc2NTE2KTtpZihiJiZEKXtiLnNraXAoMik7dmFyIGg9VUQoYik7az1FRChiKTtsZXQgeD1bXTt2PVtdO2xldCBMPVtdLGU9W107aWYoaClmb3IoaD0wO2g8azsrK2gpeC5wdXNoKGkzKGIpKSx2LnB1c2goaTMoYikpLEwucHVzaChVRChiKSksZS5wdXNoKFVEKGIpKTtlbHNlIGZvcihoPTA7aDxrOysraCl4LnB1c2goeUwoYikpLHYucHVzaCh5TChiKSksTC5wdXNoKFVEKGIpKSwKZS5wdXNoKFVEKGIpKTtiPXg7RD1nLmJMKEQpO0Q9bmV3IFJlaCh2WzBdL0QsYlswXS9EKX1lbHNlIEQ9bnVsbDtpZih2PUQpe2lmKGcuUkIoVy5pbmZvLlBKLmluZm8pKWZvcihEPWcuV1IoVyksaz1nLm5zKEQsMCwxNzAxMDgyMjI3KTtrOyliPWssYi50eXBlPTE5MzY0MTkxODQsYi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpLGs9Zy5ucyhELGsub2Zmc2V0K2suc2l6ZSwxNzAxMDgyMjI3KTtuLmYwPSEwO1cuaW5mby5QSi5WPXZ9fVcuaW5mby5QSi5XKCl8fFcuaW5mby5QSi5KfHxXLmluZm8uUEouaW5kZXhSYW5nZXx8RE8oVyl9OwpWSHg9ZnVuY3Rpb24obixXKXtpZihuLmlzRHJtKCkpe2lmKFcuaW5mby5QSi5pbmZvLnFIKCkpe3ZhciBEPW5ldyB0WShnLldSKFcpKTtpZigkeChELFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyODAzMiwyNTE1MiwyMDUzMywxODQwMl0pKXt2YXIgYj1OayhELCEwKTtEPWIhPT0xNj9udWxsOlNQKEQsYil9ZWxzZSBEPW51bGw7Yj0id2VibSJ9ZWxzZSBXLmluZm8uTz1NdlMoZy5XUihXKSksRD1SN1UoVy5pbmZvLk8pLGI9ImNlbmMiO0QmJkQubGVuZ3RoJiYoRD1uZXcgcnUoRCxiKSxuLnBvbGljeS5QSCYmZy5SQihXLmluZm8uUEouaW5mbykmJihiPVpLWihnLldSKFcpKSkmJihELlVXPWIpLEQucUg9Vy5pbmZvLlBKLmluZm8ucUgoKSxXLk4mJlcuTi5jcnlwdG9QZXJpb2RJbmRleCYmKEQuY3J5cHRvUGVyaW9kSW5kZXg9Vy5OLmNyeXB0b1BlcmlvZEluZGV4KSxXLk4mJlcuTi5YJiYoRC5OPVcuTi5YKSxuLmxvYWRlci5XbihEKSl9fTsKY3JoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5iUjtXPU1hdGgubWluKFcsRC5KLnRvdGFsTGVuZ3RoKTtpZihXPT09RC5KLnRvdGFsTGVuZ3RoKXJldHVybiBuLmJSPW51bGwsRDtEPXZSKEQsVyk7bi5iUj1EWzFdO3JldHVybiBEWzBdfTsKRFgyPWZ1bmN0aW9uKG4sVyxEKXtpZihELmluZm8uUEouVygpKXtpZihuLmYwJiZhRXcoRCkpe1c9Zy5XUihEKTt2YXIgYj1nLm5zKFcsMCwxOTUzNjU4MjIyKTtpZihiKXtiLnNraXAoMSk7dmFyIHY9WmMoYik8PDE2fFVEKGIpLGs9diYxLGg9diY0O2lmKHYmMjU2KXtXPXYmNTEyO3ZhciB4PXYmMTAyNDt2Jj0yMDQ4O3ZhciBMPUVEKGIpO0w8Mnx8KGsmJmIuc2tpcCg0KSxoJiZiLnNraXAoNCksaz1FRChiKSxiLnNraXAoKEwtMSkqKDQrKFc/NDowKSsoeD80OjApKyh2PzQ6MCkpLTQpLGIuZGF0YS5zZXRVaW50MzIoYi5vZmZzZXQrYi5OLGspKX19fWlmKFc9bi5xOSYmbi5xOS5PNygpKWlmKFc9RC5pbmZvLmZZKCkpVz1YWihEKSx4PW4ucTksczQ/KGI9MS9XLFc9bi5WeihXKT49eC5WeigpK2IpOlc9bi5nZXREdXJhdGlvbigpPj14LmdldER1cmF0aW9uKCksVz0hVztXJiZhRXcoRCkmJihXPW4ucTksczQ/KGI9WFooRCkseD0xL2IsYj1uLlZ6KGIpLFc9Vy5WeigpK3gtYik6Vz1XLmdldER1cmF0aW9uKCktCm4uZ2V0RHVyYXRpb24oKSxXPTErVy9ELmluZm8uVyxXdyhnLldSKEQpLFcpKX1lbHNle2I9ITE7bi5qa3x8KEdpKEQpLEQuTiYmKG4uams9RC5OLGI9ITAsaz1ELmluZm8saD1ELk4uc2VnbWVudE51bWJlcixrLlk9InVwZGF0ZVdpdGhFbXNnIixrLmokPWgsaz1ELk4say5WJiZuLlBKLnR3KCFrLlYsImVtc2ciKSxrPUQuaW5mby5QSi5pbmZvLGg9Zy5XUihEKSxnLlJCKGspP0dqKGgsMTcwMTY3MTc4Myk6ay5xSCgpJiZZeChbNDA4MTI1NTQzXSwzMDc1NDQ5MzUsaCkpKTthOmlmKChrPWVHKEQsbi5wb2xpY3kuUFgpKSYmcSQoRCkpaD1uVHcobixEKSxuLlQ4Kz1oLGstPWgsbi5ZRSs9ayxuLlpxPW4ucG9saWN5LlNWP24uWnErazpOYU47ZWxzZXtpZihuLnBvbGljeS5Zcil7aWYoaD1MPW4ubG9hZGVyLnFhKGcua1goRCksMSksbi5acT49MCYmRC5pbmZvLnR5cGUhPT02KXtpZihuLnBvbGljeS5TViYmaXNOYU4obi5ZcCkpe2cuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcHJvY2Vzc2luZyBwcmV2aW91cyBjaHVuayIsCkQuaW5mby5nYSgpKSk7bi5sb2FkZXIuaXNPZmZsaW5lKCkmJiFuLnBvbGljeS5UUXx8V2paKG4sRCxoKTtHWihuLCJtIik7YnJlYWsgYX12PUwtbi5acTt2YXIgZT12LW4uVDg7bGV0IEc9RC5pbmZvLmokLHI9bi5tMT9uLm0xLmokOi0xLE49bi5paCxIPW4uWXAsQT1uLnBvbGljeS5RJCYmdj5uLnBvbGljeS5RJCx5PU1hdGguYWJzKGUpPjEwLFQ9TWF0aC5hYnMobi5acS1oKTwxRS03O2lmKE1hdGguYWJzKGUpPjFFLTQpe24uSVMrPTE7bGV0IHo9bi5qaz8uSigpO2U9e2F1ZGlvOmAkeytuLmVTKCl9YCxzcTpHLnRvRml4ZWQoKSxzbGljZVN0YXJ0OkwsbGFzdFNxOnIudG9GaXhlZCgpLGxhc3RTbGljZVN0YXJ0Ok4sbGFzdFNsaWNlRHVyYXRpb246SCx0b3RhbERyaWZ0Oih2KjFFMykudG9GaXhlZCgpLHNlZ0RyaWZ0OihlKjFFMykudG9GaXhlZCgpLHNraXBSZXdyaXRlOmAkeysoQXx8eSl9YH07ej8ubGVuZ3RoJiYoZS5hZENwbj16WzBdKTtuLmxvYWRlci5oYW5kbGVFcnJvcigicW9lLmF2c3luYyIsCmUpO24uc0w9R31BfHx5fHxUfHwoaD1uLlpxKTtMPW5UdyhuLEQsTCk7ay09TDtuLlQ4PXYrTH19ZWxzZSBoPWlzTmFOKG4uWnEpP0QuaW5mby5zZWdtZW50U3RhcnRUaW1lOm4uWnE7V2paKG4sRCxoKSYmKG4uWUUrPWssbi5acT1oK2ssbi5wb2xpY3kuWmgmJm4uSVM+PW4ucG9saWN5LlpoJiYobi5JUz0wLG4ubG9hZGVyLkdtKHtyZXNldEZvclJld3JpdGVzOiJjb3VudCJ9KSkpfW4ubTE9RC5pbmZvO24uWXA9TE0oRCk7RC5XPj0wJiYobi5paD1ELlcpO2lmKGImJm4uamspe2I9dmZ0KG4sITApO1pKKEQuaW5mbyxiKTtuLmJSJiZaSihuLmJSLmluZm8sYik7Zm9yKHggb2YgVyluLnBvbGljeS5qJiZ4LmokIT09bi5qaz8uc2VnbWVudE51bWJlcnx8WkooeCxiKTsoRC5pbmZvLmFafHxuLmJSJiZuLmJSLmluZm8uYVopJiZELmluZm8udHlwZSE9PTZ8fChuLkwyPWIsbi5wb2xpY3kuVTE/KFc9a2RVKG4uamspLG4ubG9hZGVyLlIwKG4uUEosYixXKSk6KFc9bi5sb2FkZXIsVy5LdS5pc01hbmlmZXN0bGVzcyYmCk4yKFcsYixudWxsLCEhbi5QSi5pbmZvLnZpZGVvKSksbi5wb2xpY3kuZVZ8fG4uVmkoKSl9fVZIeChuLEQpO24udGltZXN0YW1wT2Zmc2V0JiZ4WChELG4udGltZXN0YW1wT2Zmc2V0KX07CnZmdD1mdW5jdGlvbihuLFcpe3ZhciBELGI9bi5qaztpZihEPVRfKGIpKUQuc3RhcnRTZWNzKz1uLkwxO3ZhciB2PW4uTDEsaz0wO24uUEogaW5zdGFuY2VvZiBkdCYmKGs9bi5QSi5yYik7cmV0dXJuIG5ldyBSNChiLnNlZ21lbnROdW1iZXIsdixXP2s6bi5ZRSxiLmluZ2VzdGlvblRpbWUsYHNxLyR7Yi5zZWdtZW50TnVtYmVyfWAsdm9pZCAwLHZvaWQgMCxXLEQsbi5wb2xpY3kueUg/Yi5OOm51bGwpfTsKa2RVPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZLKCk/bmV3IHByKENnKG4pLG4uSigpLEJBKG4pLEZwKG4pLHdGKG4pLGcuTWQobiksZy5ScihuKSk6bnVsbH07Cm5Udz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtpZihXLmluZm8uUEouaW5mby5xSCgpJiYhcSQoVykpcmV0dXJuIDA7aWYobi5xOSYmIW4uZVMoKSl7bGV0IGU9MDtEJiZnLlJCKFcuaW5mby5QSi5pbmZvKT9lPUQtbi5acTpXLmluZm8uUEouaW5mby5xSCgpJiYoZT1uLlQ4KTt2YXIgdj1XLmluZm8uaiQ7RD1lRyhXLG4ucG9saWN5LlBYKTtsZXQge1Y1OkcsVGo6cn09bi5xOS5iNCgpO3Y9dj09PUd8fHY+RyYmdj5uLnNMO3ZhciBrPU1hdGguYWJzKHItZSk+LjAyO2lmKG4ucG9saWN5LlJ0KXt2YXIgaD1NYXRoLmFicyhyLWUpO2lmKHYmJmg+bi5wb2xpY3kuUnQmJmg8MTApcmV0dXJuIG4ubG9hZGVyLkdtKHthdkRlc3luYzoiY291bnQifSksMH1pZihXLmluZm8uUEouaW5mby5xSCgpJiZuLnBvbGljeS5WZilyZXR1cm4gMDtpZih2JiZrKXtiPU1hdGgubWF4KC45NSxNYXRoLm1pbigxLjA1LChELShyLWUpKS9EKSk7aWYoZy5SQihXLmluZm8uUEouaW5mbykpV3coZy5XUihXKSxiKTsKZWxzZSBpZihXLmluZm8uUEouaW5mby5xSCgpJiYoaz1lLXIsIWcuUkIoVy5pbmZvLlBKLmluZm8pJiYoVy5pbmZvLlBKLmluZm8ucUgoKSxiPW5ldyB0WShnLldSKFcpKSx2PVcuVj9iOm5ldyB0WShuZXcgRGF0YVZpZXcoVy5pbmZvLlBKLkouYnVmZmVyKSksZUcoVywhMCkpKSl7dmFyIHg9ayoxRTMsTD1Lcyh2KTt2PWIucG9zO2IucG9zPTA7aWYoYi5OLmdldFVpbnQ4KGIucG9zKT09PTE2MHx8UHcoYikpaWYoc1koYiwxNjApKWlmKE5rKGIsITApLHNZKGIsMTU1KSl7aWYoaz1iLnBvcyxoPU5rKGIsITApLGIucG9zPWsseD14KjFFOS9MLEw9ZnMoYikseD1MK01hdGgubWF4KC1MKi43LE1hdGgubWluKEwseCkpLHg9TWF0aC5zaWduKHgpKk1hdGguZmxvb3IoTWF0aC5hYnMoeCkpLCEoTWF0aC5jZWlsKE1hdGgubG9nKHgpL01hdGgubG9nKDIpLzgpPmgpKXtiLnBvcz1rKzE7Zm9yKGs9aC0xO2s+PTA7ay0tKWIuTi5zZXRVaW50OChiLnBvcytrLHgmMjU1KSx4Pj4+PTg7Yi5wb3M9CnZ9fWVsc2UgYi5wb3M9djtlbHNlIGIucG9zPXY7ZWxzZSBiLnBvcz12fWI9ZUcoVyxuLnBvbGljeS5QWCk7Yj1ELWJ9YiYmVy5pbmZvLlBKLmluZm8ucUgoKSYmbi5sb2FkZXIuVSgid2VibUR1cmF0aW9uQWRqdXN0bWVudCIse2R1cmF0aW9uQWRqdXN0bWVudDpiLHZpZGVvRHJpZnQ6ZStiLGF1ZGlvRHJpZnQ6cn0pfXJldHVybiBifTsKV2paPWZ1bmN0aW9uKG4sVyxEKXtpZighaE0oVyxEKSlyZXR1cm4gVz1YeChXLmluZm8pLFcuc21zdD0iMSIsWUMobi5sb2FkZXIsV3x8e30pLCExO2lzTmFOKG4uTDEpJiYobi5MMT1EKTtyZXR1cm4hMH07CmFFdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmZvLlBKLlcoKSYmbi5pbmZvLmokPT09bi5pbmZvLlBKLmluZGV4LngkKCl9Owp2VFo9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSl7dmFyIEc9Vy5leHBvcnRzLk1lZGlhU3RyZWFtX2dldEJhdGNoZWRTdHJlYW1FdmVudHMoRCk7aWYoRyl0cnl7dmFyIHI9Vy5tZW1vcnkuYnVmZmVyKEcsYio4OCk7bGV0IHk9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxiKjg4KSxUPVcubWVtb3J5LmhlYXAoKTtHPVtdO2ZvcihyPTA7cjxiO3IrKyl7bGV0IHo9bmV3IGIkQyh5LHIqODgsVyxUKTtHLnB1c2goe09mOnouT2YsYjM6ei5iMyxLOTp6Lks5LGx3OnoubHcsU2g6ei5TaCxnQzp6LmdDLHZXOnoudlcsR0s6ei5HSyxVVzp6LlVXLFckOnouVyQsZm9ybWF0SWQ6ei5mb3JtYXRJZCxyQzp6LnJDfSl9Yj12O2ZvcihsZXQgeiBvZiBHKXt6LmZvcm1hdElkJiZlJiYoYj1lKHouZm9ybWF0SWQpKTtsZXQgQz16Lk9mLFE9ei5iMyxWPXouSzksTHQ9ei5sdyx0aT16LlNoLEhaPXouZ0MsWjE9ei52VyxRaj16LkdLLE1pPXouVVcsTVU9ei5XJCxJQz16LmZvcm1hdElkLApJTT16LnJDO3N3aXRjaChIWil7Y2FzZSAxOmxldCBZbDt0cnl7bGV0IFVUPUpTT04ucGFyc2UoWjEpO1VUJiZ0eXBlb2YgVVQ9PT0ib2JqZWN0Ij9ZbD1VVDpZbD17cmVhc29uOlN0cmluZyhaMSl9fWNhdGNoKFVUKXtZbD17cmVhc29uOloxfX1ZQyhuLmxvYWRlcixZbCk7cmV0dXJuO2Nhc2UgMjpsZXQgajE7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCI/ajE9VVQ6ajE9e3JlYXNvbjpTdHJpbmcoWjEpfX1jYXRjaChVVCl7ajE9e3JlYXNvbjpaMX19ajEuYXZEZXN5bmMhPT12b2lkIDA/bi5sb2FkZXIuR20oajEpOm4ubG9hZGVyLmhhbmRsZUVycm9yKCJxb2UuYXZzeW5jIixqMSk7YnJlYWs7Y2FzZSAzOmxldCBUej1uZXcgcnUoUWosWjEpO01pLmxlbmd0aD4wJiYoVHouVVc9TWkpO01VIT09NDI5NDk2NzI5NSYmKFR6LmNyeXB0b1BlcmlvZEluZGV4PU1VKTtRPj0wJiYoVHouTj1RKTtUei5xSD1iLmluZm8/LnFIKCk/PyExO24ubG9hZGVyLlduKFR6KTsKYnJlYWs7Y2FzZSA0OmxldCBmaD1wUihRaiksT0k9UUwoZmgpO2lmKE9JKXtsZXQgVVQ9bmV3IFg1KE9JLFoxKTtuLk49VVQ7VVQuViYmYi50dz8uKCFVVC5WLCJlbXNnIik7bGV0IFBLPVRfKFVUKTtQSyYmKFBLLnN0YXJ0U2Vjcys9QyxuLmxvYWRlci5NZShiLFBLLFVULnNlZ21lbnROdW1iZXIsVVQuZksoKSkpfWJyZWFrO2Nhc2UgNzpsZXQgcEs7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCImJihwSz1VVCl9Y2F0Y2goVVQpe31pZihwSyYmcEsucmVzZXRGb3JSZXdyaXRlcyE9PXZvaWQgMCl7bi5sb2FkZXIuR20ocEspO2JyZWFrfWlmKFoxLnN0YXJ0c1dpdGgoImRpc2NvbnRpbnVpdHlfIikpe24ubG9hZGVyLlUoIm1kc3RtIix7cnN0NGRpc2M6WjEuc3Vic3RyaW5nKDE0KSxjZDpDLnRvRml4ZWQoMyksc3E6U3RyaW5nKElNKX0pO2JyZWFrfWxldCBPej1aMS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIik7bi5sb2FkZXIuVSgic2xpY2Vfbm90X2Z1bGx5X3Byb2Nlc3NlZCIsCnttc2c6T3p9KTticmVhaztjYXNlIDg6bGV0IEJXO3RyeXtCVz1KU09OLnBhcnNlKFoxKX1jYXRjaChVVCl7bi5sb2FkZXIuVSgid2FzbV9qc29uX3BhcnNlX2Vycm9yIix7ZXY6SFoudG9TdHJpbmcoKX0pO2NvbnRpbnVlfXgoQlcpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLG4uVyk7YnJlYWs7Y2FzZSA5OmxldCBZRTt0cnl7WUU9SlNPTi5wYXJzZShaMSl9Y2F0Y2goVVQpe24ubG9hZGVyLlUoIndhc21fanNvbl9wYXJzZV9lcnJvciIse2V2OkhaLnRvU3RyaW5nKCl9KTtjb250aW51ZX1MKFlFKTtiLk4oKSYmayYmWkgobi5sb2FkZXIuS3UsYixuLlcpO2JyZWFrO2Nhc2UgMTA6dj1aMTtuLlc9djtJQyYmZSYmKGI9ZShJQykpO2IuSj1RajtoPy5KKFFqLHYpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLHYpO2JyZWFrO2Nhc2UgMTE6Yi5WPW5ldyBSZWgodGksVik7YnJlYWs7Y2FzZSAxNDpsZXQgWmk9bmV3IFI0KElNLEMsVixMdCxgc3EvJHtJTX1gLHZvaWQgMCx2b2lkIDAsCiExLG4uSixuLk4/Lk4pO3Y9bnVsbDtuLk4mJm4uTi5mSygpJiYodj1uZXcgcHIoQ2cobi5OKSxuLk4uSigpLEJBKG4uTiksRnAobi5OKSx3RihuLk4pLGcuTWQobi5OKSxnLlJyKG4uTikpKTtuLmxvYWRlci5SMChiLFppLHYpO2JyZWFrO2Nhc2UgMTU6bGV0IFdJPU51bWJlcihaMSk7aXNOYU4oV0kpfHxuLmxvYWRlci5wWj8uKFdJKTticmVhaztjYXNlIDY6bGV0IERBPW5ldyBSNChJTSxDLFYsTHQsYHNxLyR7SU19YCx2b2lkIDAsdm9pZCAwLCEwLG4uSixuLk4/Lk4pO2lmKG4ucG9saWN5Py5VMT8/ITApdj1udWxsLG4uTiYmbi5OLmZLKCkmJih2PW5ldyBwcihDZyhuLk4pLG4uTi5KKCksQkEobi5OKSxGcChuLk4pLHdGKG4uTiksZy5NZChuLk4pLGcuUnIobi5OKSkpLG4ubG9hZGVyLlIwKGIsREEsdik7ZWxzZXt2YXIgTj1uLmxvYWRlcjtOLkt1LmlzTWFuaWZlc3RsZXNzJiZOMihOLERBLG51bGwsISFiLmluZm8udmlkZW8pfWJyZWFrO2Nhc2UgMTI6dmFyIEg9bi5sb2FkZXI7dj0KYjt2YXIgQT1uZXcgUjQoSU0sQyxWLEx0LGBzcS8ke0lNfWAsdm9pZCAwLHZvaWQgMCwhMCxuLkosbi5OPy5OKTtILkt1LmlzTWFuaWZlc3RsZXNzJiZUeChILkt1LEEuaiQsISF2LmluZm8udmlkZW8pO2JyZWFrO2Nhc2UgNTpsZXQgcFY7dHJ5e3BWPUpTT04ucGFyc2UoWjEpfWNhdGNoKFVUKXtuLmxvYWRlci5VKCJ3YXNtX2pzb25fcGFyc2VfZXJyb3IiLHtldjpIWi50b1N0cmluZygpfSk7Y29udGludWV9cFYuc3RhcnRTZWNzKz1DO24uSj1wVjtuLmxvYWRlci5NZShiLHBWLElNLG4uTj8uZksoKT8/ITEpO2JyZWFrO2Nhc2UgMTM6UWYoYixuZXcgRGF0YVZpZXcoUWouYnVmZmVyLFFqLmJ5dGVPZmZzZXQsUWouYnl0ZUxlbmd0aCkpO2JyZWFrO2RlZmF1bHQ6bi5sb2FkZXIuVSgid2FzbV91bmtub3duX2V2Iix7ZXY6SFoudG9TdHJpbmcoKX0pfX19ZmluYWxseXtXLmV4cG9ydHMuTWVkaWFTdHJlYW1fY2xlYXJQZW5kaW5nRXZlbnRzKEQpfWVsc2UgVy5leHBvcnRzLk1lZGlhU3RyZWFtX2NsZWFyUGVuZGluZ0V2ZW50cyhEKX07Ckg2PWZ1bmN0aW9uKG4pe24uVWwmJihuLlVsLmRpc3Bvc2UoKSxuLlVsPW51bGwpO24uU0s9dm9pZCAwO24uWFY9dm9pZCAwfTsKSjQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9V15uO3ZhciBMOyhufDIpPj0yNyYmbisyPDMzJiYoTD1iKHYsayxoKSk7aWYoISgobnw0KT4+NCkpZm9yKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO0QtLTspYltJW3heNDM4NF1dKGJbSVt4XjQzODldXSgpKTtpZigobi0yfDU4KT49biYmKG4tOHwxNSk8bil7Zm9yKHZhciBlPXheNDY3NCxHPVtdOysrZS1HW0lbNV1dLSh4XjQ2NDIpOyl7c3dpdGNoKGUpe2Nhc2UgeF40Njk3OmU9eF40NjU0O2NvbnRpbnVlO2Nhc2UgeF40NzI5OmU9eF40Njc1O2JyZWFrO2Nhc2UgeF40Njc1OmUtPXheNDYyNDtjb250aW51ZTtjYXNlIHheNDY2NDplPXheNDcwNjtjb250aW51ZTtjYXNlIHheNDY1MjplPXheNDcwMX1HW0lbeF40NjI4XV0oU3RyaW5nW0lbeF40NjU2XV0oZSkpfUw9R31yZXR1cm4gTH07CmZyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qXygpLGI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0VHlwZShXKSx2PUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFNlZ051bShXKSxrPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFN0YXJ0VGltZShXKSxoPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldER1cmF0aW9uKFcpLHg9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNFbmRPZlNlZ21lbnQoVykhPT0wLEw9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0U2xpY2VPZmZzZXQoVyksZT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TG10KFcpLEc9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNGYXN0U2Vla2FibGUoVykhPT0wLHI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkKFcpLE49RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkTGVuZ3RoKFcpLEg9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Rm9ybWF0SWQoVyksQT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRGb3JtYXRJZExlbmd0aChXKSwKeT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TWVkaWFTb3VyY2UoVyksVD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW4oVyksej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW5MZW5ndGgoVyksQz1ELm1lbW9yeS5oZWFwKCksUT0iIjtyJiZOPjAmJihRPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxyLE4pKS5yZXBsYWNlKC9cMC9nLCIiKSk7cj0iIjtIJiZBPjAmJihyPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxILEEpKS5yZXBsYWNlKC9cMC9nLCIiKSk7SD0iIjtUJiZ6PjAmJihIPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxULHopKS5yZXBsYWNlKC9cMC9nLCIiKSk7VD1yJiZuLkVlP24uRWUocik6bi5QSjtDPUQubWVtb3J5LmhlYXAoKTtBPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldERhdGEoVyk7ej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRMZW5ndGgoVyk7Qz1uZXcgUzUoWyhuZXcgVWludDhBcnJheShDLEEseikpLnNsaWNlKCldKTtBPQpELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50Qnl0ZVJhbmdlU3RhcnQoVyk7RD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TGVuZ3RoQnl0ZXMoVyk7Vz12b2lkIDA7RD4wJiZULlcoKSYmKFc9V18oQSxEKSk7aHx8dHlwZW9mIFQucmIhPT0ibnVtYmVyInx8KGg9VC5yYik7Yj1uZXcgcUkoYixULFcsIndhc20iLHYsayxoLEwseix4LGUsUSxHLHksSCk7eD1uZXcgYjgoYixDKTtpZihuLnBvbGljeS5Zcnx8bi5wb2xpY3kuUyQpYj0hIWIuTiYmdj09PW4ueHAseC5XPWI/bi5tOTprLHguWD1iP24uenI6aCxifHwobi54cD12LG4ubTk9eC5XLG4uenI9eC5YKTtyZXR1cm4geH07CnlrPWZ1bmN0aW9uKG4pe24uaj0hMDtuLlBEPSEwO24uWD0tMTtQdShuLEluZmluaXR5KX07Cm1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLkopSjAobixXKTtuLko9W107bi5OPW51bGx9OwpLdj1mdW5jdGlvbihuLFcsRD0hMSl7aWYobi5RRSl7bGV0IGI9bi5RRS5aRigpLHY9RlooYixXKSxrPU5hTixoPUkkKG4pO2gmJihrPUZaKGIsaC5QSi5pbmRleC5nZXRTdGFydFRpbWUoaC5qJCkpKTtpZih2PT09ayYmbi5OJiZuLk4uSiYma1F3KFNxKG4pLDApKXJldHVybiBXfW49QTAobixXLEQpO3JldHVybiBuPj0wP246TmFOfTsKUHU9ZnVuY3Rpb24obixXLEQpe24uUEouTigpO3ZhciBiPUEwKG4sVyk7aWYoYj49MClyZXR1cm4gYjtuLlY/LmNKKFcsRCk7Vz1NYXRoLm1pbihXLG4uVy5McygpKTtuLk49bi5wb2xpY3kudHc/bnVsbDpuLlBKLksoVykuQXdbMF07bWQobikmJihuLnBvbGljeS5YWSYmRD8uc2Vla1NvdXJjZT09PTYwfHxuLlFFJiZuLlFFLmFib3J0KCksbi5wb2xpY3kucG8mJm4uVj8uWSgpKTtuLlMkPTA7cmV0dXJuIG4uTj9uLk4uc2VnbWVudFN0YXJ0VGltZTpXfTsKaVk9ZnVuY3Rpb24obil7cmV0dXJuIG4uVy5XMigpfTsKS3I9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSl7VyYmczQmJm4uVy5CVyhXLml3KCkpO0R8fG4uVj8uVigpO24uUUU9VztuLlY/LnR3KG4uUUUsYil9OwpJJD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wb2xpY3kuZkM/bi5WPy5iZCgpfHxudWxsOm4uUUUmJm4uUUUuWmcoKX07Cmhacj1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQ9MDtEPG4uTy5sZW5ndGg7RCsrKVdbYHIke0R9YF09bi5PW0RdO3JldHVybiBXfTsKTzQ9ZnVuY3Rpb24obixXKXtpc05hTihuLlkpfHxuLlUoImFzd3IiLHtzcTpXLmluZm8uQXdbMF0uaiQsaWQ6Vy5pbmZvLkF3WzBdLlBKLmluZm8uaXRhZyx4dGFnOlcuaW5mby5Bd1swXS5QSi5pbmZvLkosZXA6RGF0ZS5ub3coKS1uLll9KTtuLkoucHVzaChXKTtuLk49Zy5VTShXLmluZm8uQXcpO24uTy5wdXNoKFcuZ2EoKSk7bi5PLmxlbmd0aD40JiZuLk8uc2hpZnQoKX07CnhYQz1mdW5jdGlvbihuLFcpe2lmKFcuUUEoKSl7bGV0IEQ9Vy54OSgpO2ZvcihsZXQgYiBvZiBEKW4ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBTbiYmbi5VKCJvbWJsc3MiLHtzOmIuaW5mby5nYSgpfSksbi5XZyhXLmluZm8uQXcsYixXLlh2KCkpfX07CkxqVT1mdW5jdGlvbihuKXtuLkoubGVuZ3RoP24uTj1nLlVNKGcuVU0obi5KKS5pbmZvLkF3KTpuLlcuUkMoKT9uLk49bi5XLld4KCkuaW5mbzpuLk49SSQobil9OwpQNj1mdW5jdGlvbihuLFcpe3ZhciBEPXtlVzpbXSxCaTpbXX07cmV0dXJuIG4uVj8uTyhXKT8/RH07CkEwPWZ1bmN0aW9uKG4sVyxEPSExKXtpZighbi5OfHwhbi5OLkopcmV0dXJuIE5hTjtuPVNxKG4pO1c9ZVp0KG4sVysuMDIsRCk7cmV0dXJuIFc8MD9OYU46a1F3KG4sRD9XOjApP25bV10uc2VnbWVudFN0YXJ0VGltZTpOYU59OwptZD1mdW5jdGlvbihuKXtpZihuLlBKLmluZm8uSUI9PT0iZiJ8fG4ucG9saWN5LkomJm4uVy5vQygpKXJldHVybiEwO3ZhciBXPUkkKG4pO2lmKCFXKXJldHVybiExO3ZhciBEPVpkKFcpJiZXLmFaO3JldHVybiBuLmlzTWFuaWZlc3RsZXNzJiZuLnR3PjA/RHx8Vy5qJD49bi50dzpEfTsKWmQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/bi5WKCk6ITF9OwpnVEM9ZnVuY3Rpb24obil7dmFyIFc9SSQobik7cmV0dXJuIFc/Vy5qLW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk6MH07ClU0PWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFuLlBKLmluZGV4Lk1JKFcsITApKXJldHVybiExO3RyeXttaShuKTtuLlcuSzgoVyk7aWYobi5wb2xpY3kuTilyZXR1cm4gbi5OPW51bGwsITA7Yj5EP1B1KG4sYik6bi5OPW4uUEouaihXLTEsITEpLkF3WzBdfWNhdGNoKHYpe3JldHVybiBXPUIkKHYpLFcuZGV0YWlscy5yZWFzb249InJvbGxia2VyciIsbi5sb2FkZXIuaGFuZGxlRXJyb3IoVy5lcnJvckNvZGUsVy5kZXRhaWxzLFcuc2V2ZXJpdHkpLCExfXJldHVybiEwfTsKSjA9ZnVuY3Rpb24obixXLEQ9ITEpe24uY3EoVyxEKTtXLmRpc3Bvc2UoKX07Cmc3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XXm47aWYoISgobnw3KT4+NCkpe3ZhciB2PURbSVtiXjIzXV0oSVtiXjJdKSxrPXt9O2ZvcihsZXQgTD0wO0w8dltJWzVdXTtMKyspdmFyIGg9UjAoNixiXjczMjUsdixMLGspO3ZhciB4PWt9aWYoKG4tOV4yMSk8biYmbi03PDwxPj1uKWZvcih2PURbSVs1XV07djspRFtJW2JeNjMzM11dKERbSVszXV0oLS12LDEpWzBdKTtpZigobnw0MCk9PW4pe3Y9Yl45MDYyO2ZvcihrPVtdOysrdi1rW0lbNV1dLShiXjg5NjYpOyl7c3dpdGNoKHYpe2Nhc2UgYl44OTg4OnYtPWJeOUUzO2Nhc2UgYl45MDg1OmNhc2UgYl45MDgyOmNhc2UgYl45MDgzOmNvbnRpbnVlO2Nhc2UgYl45MDUzOnY9Yl44OTY5O2Nhc2UgYl45MDgwOmNhc2UgYl45MDgxOmNhc2UgYl45MDMwOmNvbnRpbnVlO2Nhc2UgYl44OTY4OnY9Yl45MDgxfWtbSVtiXjkwMDhdXShTdHJpbmdbSVtiXjg5ODBdXSh2KSl9eD1rfXJldHVybiB4fTsKeW89ZnVuY3Rpb24obil7dmFyIFc9bi5XLld4KCk7cmV0dXJuIFc/Vy5pbmZvOkkkKG4pfTsKRTQ9ZnVuY3Rpb24obixXKXt2YXIgRDtmb3IoRD0wO0Q8bi5KLmxlbmd0aCYmVyE9PW4uSltEXTtEKyspO2lmKEQ9PT1uLkoubGVuZ3RoKUowKG4sVyk7ZWxzZXtmb3IoO0Q8bi5KLmxlbmd0aDspSjAobixuLkoucG9wKCkpO3ZhciBiPXlvKG4pO2ImJmIuUEouRCgpJiZnLm9NKFcuaW5mby5Bdyx2PT4kTih2LGIpKT8obi5OPWIsbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6ImxzcCIsCmxzcDpiLmdhKCl9KSk6KHhOKFcuaW5mby5Bd1swXSk/KG4uTj1XLldvJiZXLldvLlc/VEQxKFcuV28uVyk6bER4KFcuaW5mby5Bd1swXSksbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6bi5OLmdhKCksbHNwOmI/LmdhKCl9KSk6KG4uTj1udWxsLG4ucG9saWN5LlcmJm4uVSgiY2VyIix7bHNyOiJudWxsIixsc3A6Yj8uZ2EoKX0pKSxuLmxvYWRlci5pc09mZmxpbmUoKSYmIW4ucG9saWN5LlRRfHxKMChuLFcsITApKX19OwppUz1mdW5jdGlvbihuKXtyZXR1cm4gbWQobil8fFpkKG4uVy5XeCgpPy5pbmZvKX07ClNxPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9SSQobik7RCYmVy5wdXNoKEQpO1c9Zy53eihXLG4uVy5mMygpKTtmb3IobGV0IGIgb2Ygbi5KKWZvcihsZXQgdiBvZiBiLmluZm8uQXcpYi5TMyYmKFc9Zy5FTShXLGs9PiF0SihrLHYpKSksKHhOKHYpfHx2LmNKKCkpJiZXLnB1c2godik7Cm4uTiYmIXpBMihuLk4sZy5VTShXKSxuLk4uUEouVygpKSYmVy5wdXNoKG4uTik7cmV0dXJuIFd9OwprUXc9ZnVuY3Rpb24obixXKXtpZighbi5sZW5ndGgpcmV0dXJuITE7Zm9yKFcrPTE7VzxuLmxlbmd0aDtXKyspaWYoIUx6KG5bVy0xXSxuW1ddKSlyZXR1cm4hMTtyZXR1cm4hMH07CmVadD1mdW5jdGlvbihuLFcsRD0hMSl7dmFyIGI9LTE7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoay5YPD1XKWlmKEQpYj12O2Vsc2UgaWYoay5zZWdtZW50U3RhcnRUaW1lK2suVz49VylyZXR1cm4gdn1yZXR1cm4gYn07CnZhciBZalo9ZnVuY3Rpb24obixXKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsMiw0OTA2LG4sVyl9Owp1Uz1mdW5jdGlvbihuKXtyZXR1cm4hKCFuLk58fG4uTi5QSj09PW4uUEopfTsKWDB0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wb2xpY3kuTj9uLnpzKCEwKTxEOihuPXlvKG4pKSYmIVpkKG4pP24uaj5XJiZuLmo8VytEOiExfTsKZy5vJD1mdW5jdGlvbihuKXtuLlY/LlYoKTtuLmtJKCl9Owpxemg9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJm4uTi5qJCE9PS0xJiZuLk4uaiQ8bi5QSi5pbmRleC5aTygpfTsKR1FiPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTjtXJiZXLmokPT09LTEmJihuPW4uVy5XeCgpKSYmeE4obi5pbmZvKSYmKG49bi5pbmZvLmokLFcuWT0idXBkYXRlTGFzdFNsaWNlUmVxdWVzdGVkIixXLmokPW4pfTsKdGRqPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4uSixXPT5XLmZKKX07CiRYMT1mdW5jdGlvbihuLFcpe3ZhciBEPWlZKG4pO3JldHVybiBEJiZELmluZm8udHlwZSE9PTY/IVcuTyhuLEQuaW5mby5qJCk6ITF9OwpyeUM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5jSilpZihELnNlZ21lbnROdW1iZXI9PT1XKXJldHVybiBELnBWPzI6MTtyZXR1cm4gMH07Ck44Wj1mdW5jdGlvbih7aGFzU3ViZnJhZ21lbnRlZEZtcDQ6bj0hMSxJMjpXPSExfT17fSl7dmFyIEQ9bmV3IHNLaTtELnRJPW58fFc7cmV0dXJuIER9OwpkdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OJiZuLkZlJiZuLnBsYXliYWNrU3RhcnRQb2xpY3l9OwpKa0M9ZnVuY3Rpb24obixXLEQ9ITEpe1cudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmIW4uV0gmJihuLmUkPTM2NzAwMTYwLG4udko9NTI0Mjg4MCxuLkhKPU1hdGgubWF4KDQxOTQzMDQsbi5ISiksbi5XSD0hMCk7Vy52aWRlby5xdWFsaXR5T3JkaW5hbD4yMTYwJiYhbi5iZSYmKG4uZSQ9MTA0ODU3NjAwLG4uTnM9MTMxMDcyMDAsbi5iZT0hMCk7Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSE9PTA/Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoInNhbXN1bmciKSYmKGcudWIoImthbnQiKXx8Zy51YigibXVzZSIpKSYmKG4uTnM9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSk6Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoImthbnQiKSYmKG4uTnM9MTMxMDcyMCk7bi55UCE9PTAmJlcuaXNFbmNyeXB0ZWQoKSYmKG4uTnM9bi55UCk7bi5KRyE9PQowJiZXLmlzRW5jcnlwdGVkKCkmJkQmJihuLk5zPW4uSkcpO1cuTnMmJihuLlFIPU1hdGgubWF4KG4uWm0sTWF0aC5taW4obi5ISiw1KlcuTnMpKSl9Owp6Wj1mdW5jdGlvbihuLFcsRD0wKXtyZXR1cm4gZy5kTShuLnlRLmV4cGVyaW1lbnRzLFcpfHxEfTsKbFM9ZnVuY3Rpb24obixXLEQsYil7bi5GZSYmKG4ucGxheWJhY2tTdGFydFBvbGljeT1XLG4uTTU9RCxuLkRDPWIpfTsKUjY9ZnVuY3Rpb24obixXKXtpZihXPDApcmV0dXJuITA7dmFyIEQ9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYhbi5zSnx8Vz09PUQmJihuPW4uT2coKSkmJlc9PT1uLmokPyEwOiExfTsKS2EyPWZ1bmN0aW9uKG4sVyxEKXtpZighUjYobixXKSlyZXR1cm4gMDtpZighbi50SXx8IWlzTmFOKEQpJiZEPjApcmV0dXJuIDI7aWYoVzwwKXJldHVybiAxO0Q9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYobj1uLk9nKCkpJiZXPT09bi5qJCYmIW4ucGVuZGluZz8yOjF9OwpwMGI9ZnVuY3Rpb24obixXLEQpe2lmKCEoVy5YZiYmbi5pc0NvbXBsZXRlKCkmJm4uY2FuUmV0cnkoKSYmbi5pbmZvLlhiLnBTKFcsRCkpKXJldHVybiAwO3ZhciBiPW4uaW5mby5YYi5qO2lmKGImJiFXLmVuYWJsZVNhYnJQcm9iZU9uU2VydmVySW5pdGlhdGVkSG9zdEZhbGxiYWNrKXJldHVybiAwO249VVkoRCxGNShuLmluZm8uWGIsITEsVykpO3JldHVybiBiJiYoRD0oMCxnLlIpKCktbi5YLG4uWD4wJiZEPFcuc2FiclN1Y2Nlc3NmdWxQcm9iZVRpbWVvdXRNcyk/MDpuLmorVy5YZipsTChuLCEwLGIpPigwLGcuUikoKT8wOjF9OwpqcT1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kuem0pcmV0dXJuITE7dmFyIGI9bi5KQzt2YXIgdj1XLk4/LlRDKCl8fC0xO2IuSj09PTMmJnYrMT49Yi5YPyhiLlUoInNkYWkiLHtoYWx0cnE6disxLGVzdDpiLlh9KSxiPSExKTpiPWIuSiE9PTI7aWYoIWJ8fCEoVy5OP1cuTi5QSi5YYjpXLlBKLlhiKS5ZKG4ucG9saWN5LG4ubm4sbi5sb2FkZXIuSXcpfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmKCFUWihuLnNjaGVkdWxlKXx8bi5sb2FkZXIuT00pKXJldHVybiExO2lmKG4ucG9saWN5LkomJnFzPj01KXJldHVybiBnLkphKG4ubG9hZGVyLmoyKSwhMTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzKXtpZihXLkoubGVuZ3RoPjAmJlcuTiYmVy5OLmokPT09LTF8fFcuSi5sZW5ndGg+PW4ucG9saWN5LndvfHwhbi5wb2xpY3kuWE0mJlcuSi5sZW5ndGg+MCYmIW4ucG9saWN5LlYudEkpcmV0dXJuITE7aWYoVy5qKXJldHVybiFuLkt1LmlzTGl2ZXx8IWlzTmFOKG4uWkEpfWlmKHRkaihXKSlyZXR1cm4hMTsKaWYoIVcuTil7aWYoIVcuUEouTigpKXJldHVybiExO1B1KFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSl9aWYoaVkoVykmJihXLld4KCkhPT1pWShXKXx8bi5sb2FkZXIuaXNTdXNwZW5kZWQpKXJldHVybiExO3Y9KGI9bi5wb2xpY3kuc1MpJiYhVy5KLmxlbmd0aCYmVy56cyghMCk8TWF0aC5taW4oYixELnpzKCkpO2I9Vy5KLmxlbmd0aCtELkoubGVuZ3RoO3ZhciBrPShXLkoubGVuZ3RoP1cuSlswXS5ReSgpOiExKXx8KEQuSi5sZW5ndGg/RC5KWzBdLlF5KCk6ITEpfHxuLkt1LmlzTGl2ZTsodnx8aykmJi0tYjtpZihiKzE+PW4ucG9saWN5LkN5KXJldHVybiExO2I9Vy5OO2lmKCFiKXJldHVybiEwO2IuY0ooKSYmYi5QSi5OKCkmJihXLk49Zy5VTShiLlBKLlZRKGIpKSxiPVcuTik7aWYoIWIuVigpJiYhYi5QSi5YKGIpKXJldHVybiExO2s9bi5LdS5YZ3x8bi5LdS5pc1dpbmRvd2VkTGl2ZTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzJiZrKXtrPVcuUEouaW5kZXgueCQoKTt2YXIgaD0KRC5QSi5pbmRleC54JCgpO2s9TWF0aC5taW4oayxoKTtpZihXLlBKLmluZGV4LlRYKCk+MCYmaz4wJiZiLmokPj1rKXJldHVybiBXLnR3PWssRC50dz1rLCExfWlmKGIuUEouaW5mby5hdWRpbyYmYi5jSigpfHxiLlYoKSlyZXR1cm4hMTtrPSFXLlBEJiYhRC5QRDtpZih2PSF2KXY9Yi5qLHY9ISEoRC5OJiYhWmQoRC5OKSYmRC5OLmo8dik7aD1XPT09bi52aWRlb1RyYWNrJiZuLnBvbGljeS5UQztyZXR1cm4gdiYmKCFuLkt1LmlzTWFuaWZlc3RsZXNzfHxELk4mJkQuTi5qJiZiLmopJiZrJiYhaHx8bi5wb2xpY3kuQlYmJiFXLlBEJiZELlBEPyExOnhOKGIpJiZiLmo+WXppKG4sVyk/KFl6aShuLFcpLCExKToobj1XLlFFKSYmbi5pc0xvY2tlZCgpPyExOiEwfTsKVm89ZnVuY3Rpb24obixXKXtIJGgobi5sb2FkZXIsVyk7dmFyIEQ9elAoVyksYj1uLmxvYWRlci5sdSgpO0Q9e2lqOm4uc2NoZWR1bGUsczQ6RCxCbDpmaXgobi5JZyxEKSxRbjpoSihXLkF3WzBdKSxkaXNhYmxlUmVjb3JkaW5nOmdaKDQwLDEyMTIsVy5YYi5OKSxORDpuLnBvbGljeS5XLEJlOih2LGspPT57bi5sb2FkZXIuS2EodixrKX19OwpuLnNjaGVkdWxlLkouViYmKEQucVk9KG4udmlkZW9UcmFjay5QSj8uaW5mby5Oc3x8MCkrKG4uYXVkaW9UcmFjay5QSj8uaW5mby5Oc3x8MCkpO24uaG4mJihELmokPVcuQXdbMF0uaiQsRC5aQT1XLlpBLEQuaG49bi5obik7Yj17Vzc6d0xVKFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSksZTE6bi5wb2xpY3kuc1YmJnlzKFcpJiZXLkF3WzBdLlBKLmluZm8udmlkZW8/RWpaKG4uY1YpOnZvaWQgMCxTTjpuLnBvbGljeS5UQyxwb1Rva2VuOm4ubG9hZGVyLk1ZKCksVWo6bi5sb2FkZXIuVTQoKSxKTzppc05hTihuLkpPKT9udWxsOm4uSk8sYUk6bi5hSSxQbjpuLlBuLHEkOmJ9O3JldHVybiBuZXcgQUIobi5wb2xpY3ksVyxELG4ubm4sKHYsayk9Pnt0cnl7YTp7bGV0IE1pPXYuaW5mby5Bd1swXS5QSixNVT1NaS5pbmZvLnZpZGVvP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2s7aWYoISh2LnN0YXRlPj0yKXx8di5pc0NvbXBsZXRlKCl8fHYuQWcoKXx8ISghbi5sb2FkZXIubWVkaWFTb3VyY2V8fApuLmxvYWRlci5pc1N1c3BlbmRlZHx8TVUuenMoKT4zKSl7e3ZhciBoPW4ucG9saWN5LHg9bi5ubjtsZXQgSUM9di5BZygpO2lmKHYuaXNDb21wbGV0ZSgpfHwhSUN8fHYuaW5mby5YYi5wUyhoLHgpKXZhciBMPTA7ZWxzZXt2YXIgZT1oLnpmO2lmKCFlfHxJQzxlKUw9MDtlbHNle3ZhciBHPVVZKHgsRjUodi5pbmZvLlhiLCEwLGgpKTtMPUcuTnx8Ry50aW1lZE91dHx8Ry5zdGFydGVkPzA6Mn19fUw9PT0xJiYobi5WPSEwKTtmckMobix2LEwpO2lmKHYuaXNDb21wbGV0ZSgpfHx2LnFOKCkmJms8Myl7aWYobi5wb2xpY3kuVyl7bGV0IElDPXYudGltaW5nLkQoKTtJQy5yc3Q9di5zdGF0ZTtJQy5zdHJtPXYueGhyLkdwKCk7SUMuY25jbD12LnhociYmdi50NS5YPzE6MDtuLmxvYWRlci5VKCJycXMiLElDKX12Lm9QJiZuLmxvYWRlci5VKCJzYndlMyIse30sITApfWlmKCFuLnFOKCkmJnYuc3RhdGU+PTIpe1hTaChuLnRpbWluZyx2LE1pKTt2YXIgcj1uLmxvYWRlcjtuLkpPJiZ2Lnp3JiYKciYmKG4uSk89TmFOLG4ubG9hZGVyLm45KHYuencpLG4ubG9hZGVyLk1qKCksbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWsiLHttZWRpYVRpbWVTZWNvbmRzOnYuend9KSk7di50ViYmbi5KTyYmdi50ViYmIXYudFYuYWN0aW9uJiYobi5sb2FkZXIud1Iobi5KTyksbi5KTz1OYU4sbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWtGYWxsYmFjayIse3RhcmdldFV0Y1RpbWVTZWNvbmRzOm4uSk99KSk7di5BaCYmbi5sb2FkZXIuc1codi5BaCk7bi5wb2xpY3kuTmQmJihuLlBuPXYuUG4pO2lmKHYuc3RhdGU9PT0zKXtFNChNVSx2KTt5cyh2LmluZm8pJiZDcihuLE1VLE1pLCEwKTtpZihuLnNVKXtsZXQgSUM9di5pbmZvLllsKCk7SUMmJm4uc1UuWjUodi5pbmZvLkF3WzBdLmokLE1pLmluZm8uaWQsSUMpfW4ubG9hZGVyLkJZKCl9ZWxzZSBpZih2LmlzQ29tcGxldGUoKSYmdi5pbmZvLkF3WzBdLnR5cGU9PT01KXtpZih2LnN0YXRlIT09NCl2LnRuKCkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKHYuVkcoKSwKdi55MCgpKTtlbHNle3ZhciBOPSh2LmluZm8uQXdbMF0uUEouaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5KWzBdfHxudWxsO04mJk4gaW5zdGFuY2VvZiBBQiYmTi5BZygpJiZOLk1CKCl9di5kaXNwb3NlKCl9ZWxzZXtpZighdi50bigpJiZ2LmZKJiZ2LnN0YXRlPj0yJiZ2LnN0YXRlIT09Myl7dmFyIEg9di54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIlgtUmVzcG9uc2UtSXRhZyIpO2lmKEgpe3ZhciBBPXlrcihuLmNWLEgpLHk9di5pbmZvLlc7aWYoeSl7dmFyIFQ9eS1BLkhKKCk7QS5jSj0hMDt2LmluZm8uQXdbMF0uUEouY0o9ITE7dmFyIHo9QS5ZKFQpO3YuaW5mbz16O2lmKHYuV28pe3ZhciBDPXYuV28sUT16LkF3OyhRLmxlbmd0aCE9PUMuQXcubGVuZ3RofHxRLmxlbmd0aDxDLmpTLmxlbmd0aCkmJmcuY18oImRhc2gvcmVxdWVzdCIsMjYwNTExMTE5LGAke1EubGVuZ3RofWAsYCR7Qy5Bdy5sZW5ndGh9YCxgJHtDLmpTLmxlbmd0aH1gKTtDLkF3PVE7bGV0IElDPQpRWzBdLnJhbmdlLElNPW5ldyBTNTtmb3Ioaz0wO2s8Qy5qUy5sZW5ndGg7aysrKWU1KElNLEMualNba10uSik7Zm9yKGs9MDtrPEMualMubGVuZ3RoO2srKyl7Qy5qU1trXS5pbmZvPVFba107bGV0IFlsPVFba10ucmFuZ2U7Qy5qU1trXS5KPWdkKElNLFlsLnN0YXJ0LUlDLnN0YXJ0LFlsLmxlbmd0aCl9fXYuZko9ITE7QjYobi5sb2FkZXIsbi52aWRlb1RyYWNrLEEpO3ZhciBWPW4udmlkZW9UcmFjaztWLk4mJihWLk4uUEo9QSk7bi5sb2FkZXIuWUooQS5pbmZvLnZpZGVvLnF1YWxpdHkpO3ZhciBMdD12Llh2KCk7THQmJkEuaW5mby5sYXN0TW9kaWZpZWQmJkEuaW5mby5sYXN0TW9kaWZpZWQhPT0rTHQmJkU0KG4udmlkZW9UcmFjayx2KX19ZWxzZSB2LmZKPSExfXYuWHQ/Lml0YWdEZW55bGlzdCYmbi5sb2FkZXIuV0Yodi5YdC5pdGFnRGVueWxpc3QpO2lmKHYuc3RhdGU9PT00KUYwKG4sdiksbi5KQyYmbi5KQy5TJCh2LmluZm8sbi5zVSk7ZWxzZSBpZihuLnBvbGljeS5lNCYmdi5RQSgpJiYKIXYuaXNDb21wbGV0ZSgpJiYhRjAobix2KSYmIXYudG4oKSlicmVhayBhO2lmKHYudG4oKSl7bGV0IElDPXYuaW5mby5Bd1swXS5QSixJTT12LlZHKCk7aWYoZ1ooMjQsMTE2NCxJQy5YYi5OKSl7bGV0IFR6PWcudXAodi5zOCgpLDMpO24ubG9hZGVyLlUoImRsZGJyZXJyIix7ZW06VHp8fCJub25lIn0pfWxldCBZbD12LmluZm8uQXdbMF0uaiQsajE9ekkobi5KQyx2LmluZm8uQXdbMF0uWCxZbCk7SU09PT0ibmV0LmJhZHN0YXR1cyImJihuLk4rPTEpO2lmKHYuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpKXtpZighKHYuaW5mby5YYi5KPj1uLnBvbGljeS5sTSYmbi5zVSYmdi5pbmZvLmlzRGVjb3JhdGVkKCkmJklNPT09Im5ldC5iYWRzdGF0dXMiJiZNMihuLnNVLGoxLFlsKSkpe3ZhciB0aT0oSUMuaW5mby52aWRlbyYmSUMuWGIuSj4xfHx2LmxOPT09NDEwfHx2LmxOPT09NTAwfHx2LmxOPT09NTAzKSYmISh3QyhuLmNWLmopLnNpemU+MCkmJiFnWig1NCwxMTg2LElDLlhiLk4pLEhaPQp2LnkwKCksWjE9SUMuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3RpJiYoSFouc3R1bj0iMSIpO24ubG9hZGVyLmhhbmRsZUVycm9yKElNLEhaKTtuLnFOKCl8fCh0aSYmYXEobi5jVixJQyksRTQoWjEsdiksbi5sb2FkZXIuQlkoKSl9fWVsc2UgQT0xLG4uc1UmJnYuaW5mby5pc0RlY29yYXRlZCgpJiZJTT09PSJuZXQuYmFkc3RhdHVzIiYmTTIobi5zVSxqMSxZbCkmJihBPTApLG4uS3UuaXNMaXZlJiZ2LlZHKCk9PT0ibmV0LmJhZHN0YXR1cyImJm4uTjw9bi5wb2xpY3kueGgqMj8oajQobi5LdSksbi5LdS5YZ3x8bi5LdS5pc1ByZW1pZXJlP2RWKG4ubG9hZGVyLDAse3FkOiJiYWRTdGF0dXNXb3JrYXJvdW5kIn0pOm4uS3UuaXNXaW5kb3dlZExpdmU/ZFYobi5sb2FkZXIsbi5LdS5KVSx7cWQ6ImJhZFN0YXR1c1dvcmthcm91bmQiLHFhOiEwfSk6UiQobi5sb2FkZXIpKTpuLmxvYWRlci5oYW5kbGVFcnJvcihJTSx2LnkwKCksQSk7aXNOYU4obi5KTyl8fChuLmxvYWRlci53UihuLkpPKSwKbi5KTz1OYU4pfW4ucG9saWN5LkhEJiYhdi5pc0NvbXBsZXRlKCk/UW8obi5sb2FkZXIpOm4ubG9hZGVyLkJZKCk7dmFyIFFqPXAwYih2LG4ucG9saWN5LG4ubm4pO2ZyQyhuLHYsUWopfX19fX1jYXRjaChNaSl7UWo9bi5qPzE6MCxuLmo9ITAsdj1qMihRaiksUWo9QiQoTWksUWopLG4ubG9hZGVyLmhhbmRsZUVycm9yKFFqLmVycm9yQ29kZSxRai5kZXRhaWxzLFFqLnNldmVyaXR5KSx2fHxuLmxvYWRlci56aSgpfX0sYil9OwpJcmI9ZnVuY3Rpb24obixXLEQpe2lmKGpxKG4sVyxEKSl7RD1uLkooVyxEKTtpZihuLnNVKXt2YXIgYj1ELkF3WzBdLlBKLmluZm8uaWQ7dmFyIHY9bi5KQzt2YXIgaz1ELkF3WzBdLmokO3Y9azwwJiYhaXNOYU4odi5qKT92Lmo6aztrPXpJKG4uSkMsRC5Bd1swXS5YLHYpO2xldCBMPVc9PT1uLmF1ZGlvVHJhY2s/MToyLGU9RC5Bd1swXS5QSi5pbmZvLklCLEc9Yi5zcGxpdCgiOyIpWzBdO2E6e3ZhciBoPW4uSkM7aWYoaC5OKXt2YXIgeD1oLk4uZmYuZXZlbnQ7aWYoaC5OLmokPT09dil7aD14PT09InByZWRpY3RTdGFydCI/dm9pZCAwOmguTi5mZi5ldmVudDticmVhayBhfWlmKGguTi5qJD09PXYtMSl7aD14PT09InN0YXJ0Inx8eD09PSJjb250aW51ZSI/eDp2b2lkIDA7YnJlYWsgYX19aD12b2lkIDB9aWYobi5wb2xpY3kuVlEmJm4uSkMuSiE9PTApYj1nLkp5aShuLnNVLGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYiYmKG4ubG9hZGVyLlUoInNkYWkiLAp7c3NkYWlpbmZvOiIxIixkczpiLk15Py5CZnx8IiIsc2tpcHNxOmIuTXk/LkRKfHwtMSxpdGFnOkcsZjplLHNnOnYsc3Q6ay50b0ZpeGVkKDMpfSksRC5YPWIpO2Vsc2UgaWYoYj1uLnNVLllsKGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYil7az17ZGVjX3NxOnYsaXRhZzpHLHN0OmsudG9GaXhlZCgzKX07aWYobi5wb2xpY3kubiQmJlcuaXNSZXF1ZXN0UGVuZGluZyh2LTEpKXtuLmxvYWRlci5VKCJzZGFpIix7d3RfZGFpc3RhdGVfb25fc2c6di0xfSk7cmV0dXJufW4ubG9hZGVyLlUoInNkYWkiLGspO2ImJihELk49bmV3IGcud1ooYikpO24ucG9saWN5LlcmJih2PUQuWGIuVy5nZXQoImlkIil8fCIiLGI9RC5OPy5nZXQoImlkIil8fCIiLHYhPT1iJiZuLmxvYWRlci5VKCJzdG1pZG1pc21hdGNoIix7Y2lkOnYsYWlkOmJ9KSl9ZWxzZSBuLkpDLkohPT01JiZuLmxvYWRlci5VKCJzZGFpIix7bm9kZWNfc3E6dixpdGFnOkcsc3Q6ay50b0ZpeGVkKDMpfSl9bi5wb2xpY3kuQ20mJgpELkF3WzBdLmokIT09LTEmJkQuQXdbMF0uaiQ8bi5LdS5JdCYmKEQ9Vy5QSi5qKG4uS3UuSXQsITEpKTtPNChXLFZvKG4sRCkpO2l1KG4udGltaW5nKTtuLlc/Lk4oRC5YYil9fTsKWXppPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5KQztEPUQuTj9ELk4uZmY6bnVsbDtpZihuLnBvbGljeS5UQyYmRClyZXR1cm4gRC5zdGFydFNlY3MrRC5DZisxNTtXPU9iKG4ubG9hZGVyLFcpO24ucG9saWN5LmpXPjAmJihEPSgoMCxnLlIpKCktbi5sb2FkZXIucUcpLzFFMyxXPU1hdGgubWluKFcsbi5wb2xpY3kualcrbi5wb2xpY3kuTEsqRCkpO1c9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKStXO3JldHVybiBuLnBvbGljeS56NCYmKEQ9U3pNKG4ubG9hZGVyKStuLnBvbGljeS56NCxEPFcpPyhuLmxvYWRlci5VKCJtcmwiLHtvcmk6Vyxtb2Q6RH0sITApLG4ucG9saWN5LmxXJiZjNihuLmxvYWRlciksRCk6V307CmZyQz1mdW5jdGlvbihuLFcsRCl7aWYoRCE9PTApe2E6aWYoVz1XLmluZm8sRD1EPT09MixXLk4pVz1udWxsO2Vsc2V7dmFyIGI9Vy5Bd1swXTtpZihXLnJhbmdlKXZhciB2PVdfKFcucmFuZ2Uuc3RhcnQsTWF0aC5taW4oNDA5NixXLlcpKTtlbHNle2lmKFcuSiYmVy5KLmluZGV4T2YoIi9yYW5nZS8iKT49MHx8Vy5YYi5XLmdldCgiZGVmcmFnIik9PT0iMSJ8fFcuWGIuVy5nZXQoIm90ZiIpPT09IjEiKXtXPW51bGw7YnJlYWsgYX12PVdfKDAsNDA5Nil9dj1uZXcgd2soW25ldyBxSSg1LGIuUEosdiwiY3JlYXRlUHJvYmVSZXF1ZXN0SW5mbyIrYi5ZLGIuaiQpXSxXLkopO3YucFM9RDt2Lk49Vy5OO1c9dn1XJiZWbyhuLFcpfX07CkNyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCEoRC5OKCl8fEQuUyQoKXx8RC5jSnx8IUQuWGIuWShuLnBvbGljeSxuLm5uLG4ubG9hZGVyLkl3KXx8RC5pbmZvLklCPT09ImYifHxuLnBvbGljeS5OKSl7aWYoYil7Yj1uLklnO3ZhciB2PUQuaW5mbztiPXJWKGIsdi52aWRlbz9iLnBvbGljeS5SazpiLnBvbGljeS5JTSx2Lk5zKX1lbHNlIGI9MDtiPUQuWShiKTtuPVZvKG4sYik7VXYoYikmJk80KFcsbik7RC5jSj0hMH19OwpGMD1mdW5jdGlvbihuLFcpe2lmKFcucU4oKSlyZXR1cm4hMTt0cnl7dmFyIEQ9Vy5pbmZvLkF3WzBdLlBKO2xldCBoPUQuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3ZhciBiPWg7aWYobi5LdS5pc01hbmlmZXN0bGVzcyYmYil7bi5OPTA7Yi5qJiYoVy5xTigpLFcuaXNDb21wbGV0ZSgpfHxXLlFBKCksYi5qPSExKTtXLkloKCkmJm4ubG9hZGVyLkxyLklJKDEsVy5JaCgpKTt2YXIgdj1XLlRYKCksaz1XLmgwKCk7QzYobi5LdSx2LGspfWlmKFcuaW5mby5RbigpJiYhVXYoVy5pbmZvKSlmb3IobGV0IEwgb2YgVy54OSgpKWgudksoTCk7Yj1oO2ZvcihuLmxvYWRlci5nZXRDdXJyZW50VGltZSgpO2IuSi5sZW5ndGgmJmIuSlswXS5zdGF0ZT09PTQ7KXtsZXQgTD1iLkouc2hpZnQoKTt4WEMoYixMKTtiLlZRPUwuekQoKX1iLkoubGVuZ3RoJiZ4WEMoYixiLkpbMF0pO2xldCB4PSEhaVkoaCk7eCYmVyBpbnN0YW5jZW9mIFNuJiYoRC5pbmZvLmVTKCk/Z2oxKG4udGltaW5nKToKZTdiKG4udGltaW5nKSk7cmV0dXJuIHh9Y2F0Y2goaCl7Vz1XLnkwKCk7Vy5vcmlnaW49ImhyaHMiO2E6e249bi5sb2FkZXI7RD1oO2lmKEQgaW5zdGFuY2VvZiBFcnJvcil7Vy5tc2d8fChXLm1zZz1gJHtELm1lc3NhZ2V9YCk7Vy5uYW1lfHwoVy5uYW1lPWAke0QubmFtZX1gKTtpZihEIGluc3RhbmNlb2YgZy5ReCYmRC5hcmdzKWZvcihsZXQgW3gsTF1vZiBPYmplY3QuZW50cmllcyhELmFyZ3MpKVdbYGFyZyR7eH1gXT1gJHtMfWA7Zy5HcShEKTtpZihELmxldmVsPT09IldBUk5JTkciKXtuLkwuR20oVyk7YnJlYWsgYX19bi5oYW5kbGVFcnJvcigiZm10LnVucGxheWFibGUiLFcsMSl9cmV0dXJuITF9fTsKbVhiPWZ1bmN0aW9uKG4pe3ZhciBXPW4udmlkZW9UcmFjay5QSi5pbmRleDtuLmhuPW5ldyBBeVooe3NKOm4ucG9saWN5LnNKLHRJOm4ucG9saWN5LlYudEksTzg6Vy5VYygpLHgkOigpPT5XLngkKCksCk9nOigpPT5XLk9nKCl9KX07CktqaT1mdW5jdGlvbihuKXtpZihuLko/LmlzTG9ja2VkKCkpcmV0dXJuIG4udmlkZW9JbmZvczt2YXIgVz13QyhuLk4pLEQ9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi5Ocz5uLm9aLk5zPyExOiFXLmhhcyhiLmlkKSk7Cm4uTi5sbCgpJiYoRD1nLkVNKEQsYj0+Yi52aWRlby53aWR0aDw9ODU0JiZiLnZpZGVvLmhlaWdodDw9NDgwKSk7CnJldHVybiBEfTsKTyRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpRC5wdXNoKGcuVmYoYixuLkt1LnpXKSk7cmV0dXJuIER9OwpaJGk9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj8ucmVhc29uPT09Im0iPyJtIjpuLko/LnJlYXNvbj09PSJzIj8icyI6bi5KJiZQYlUobixuLkopP24uSi5yZWFzb246ImEifTsKUGJVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ub1ouSHcmJlcucmVhc29uPT09ImwifHxuLm9aLnFqPyExOm4ub1ouWWo/ITA6Vy5yZWFzb249PT0ibCJ8fFcucmVhc29uPT09ImIifHxXLnJlYXNvbj09PSJvIn07ClVYWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTi5OO2lmKEQpe24udmlkZW9JbmZvcz1uLlY7dmFyIGI9Zy5sXyhuLnZpZGVvSW5mb3Msdj0+di5pZD09PUQpOwpiJiZiLnZpZGVvLnF1YWxpdHlPcmRpbmFsPT09Vz9uLnZpZGVvSW5mb3M9W2JdOihiPW4udmlkZW9JbmZvcy5tYXAodj0+di5pZCksbi5sb2FkZXIuVSgic2FicnBmIix7cGZpZDpgJHtEfWAsCnZmaWRzOmAke2Iuam9pbigiLiIpfWB9KSxhJChuLFcsVyksbi5OLkRlKCIiKSl9ZWxzZSBhJChuLFcsVyl9OwphJD1mdW5jdGlvbihuLFcsRCl7bi52aWRlb0luZm9zPW4uVjtuLnZpZGVvSW5mb3M9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi52aWRlby5xdWFsaXR5T3JkaW5hbD49VyYmYi52aWRlby5xdWFsaXR5T3JkaW5hbDw9RCl9Owp5eXg9ZnVuY3Rpb24obixXKXtpZihuLlkpe3ZhciBEPWcuRU0obi5XLGI9PmIuaWQ9PT1uLlkpOwpyZXR1cm4gbkQobixEKS5pbmNsdWRlcyhXKX1EPWcuRU0obi5XLGI9PiEhYi5rWj8uaXNEZWZhdWx0KTsKcmV0dXJuIEQubGVuZ3RoPjA/bkQobixEKS5pbmNsdWRlcyhXKTpuRChuLG4uVykuaW5jbHVkZXMoVyl9OwpuRD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uS3Uuelc7cmV0dXJuIFcubWFwKGI9Pk1rKGcuVmYoYixEKSkpfTsKV2w9ZnVuY3Rpb24obixXLEQ9ITEpe0hlVShuLk4sVyxEKX07CmkkUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLkt1LGs9bi5MLmdldFZpZGVvRGF0YSgpLGg9bi5Fdix4PWpGTSh7aWo6bi5paix5UTprLkcoKSxMOm4uTCxuUjpuLm5SLG9aOm4ub1oscHo6bi5weixrRTpuLmtFLFVtOm4uVW0sRzc6bi5HNyxKJDpuLkokLFNmOm4uU2Ysc2FickxpY2Vuc2VDb25zdHJhaW50Omsuc2FickxpY2Vuc2VDb25zdHJhaW50LGo0Om4uajQscjA6bi5yMCxZczpuLllzLGVxOm4uZXEsb0c6ISFoLGF1dGhvcml6ZWRGb3JtYXRzOmsuYXV0aG9yaXplZEZvcm1hdHMsSTg6bi5JOCxsbDpuLmxsLEN4Om4uQ3gsZ0Q6bi5nRH0pLEw9U1YoayxuLnEkLG4ubmV4dFJlcXVlc3RQb2xpY3ksbi5SQSxuLmROLG4uYkosbi5yOCk7RCYmVyYmKEQ9TC5ycT9MLnJxLm1hcChyPT5yLnR5cGUpOltdLFcoInNhYnIiLHtzdG1jdHh0OkQuam9pbigiXyIpLAp1bnNudGN0eHQ6TC51dD9MLnV0LmpvaW4oIl8iKToiIn0pKTtXPW4uR2g7RD1uLk0kO0Q9PT12b2lkIDAmJlc9PT12b2lkIDAmJihEPUVUaih2LnpXLG4uZGs/LnZpZGVvKSxXPUVUaih2LnpXLG4uZGs/LmF1ZGlvKSk7aWYoay5hSSl2YXIgZT1rLmFJO3ZhciBHOyhrPW4ub1o/LlNhKSYmaz4wJiYobi5DeHx8bi5IZSkmJihHPW5ldyBVaW50OEFycmF5KGspKTtoPXtDbjp4LEJpOm4uQmksR2g6VyxNJDpELEV2OmgsdmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZzplLG1IOkwsZFM6R307YiYmbi5iSz9uLmJLLmxlbmd0aD4wJiYoaC5iSz1uLmJLKTpuLk15JiYoaC5NeT1uLk15KTtuLm9aPy5EdCgpJiYhVlQoKSYmKG4udU0mJihoLnVNPW4udU0pLG4uckcmJihoLnJHPW4uckcpKTtoLmVXPW4uZVc7aC5jRT12LkdDO3JldHVybiBofTsKRVRqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/W2cuVmYoVy5pbmZvLG4pXTpbXX07Cm9Uaj1mdW5jdGlvbihuLFcsRCl7Vz1CdyhuLlhiLHVuVShuLFcsRCksVyk7bi5ENSgpJiZXLnNldCgicHJvYmUiLCIxIik7bi5raCgpJiZXLnNldCgic2Jwcm9iZSIsIjEiKTtyZXR1cm4gV307CkRrPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9W10sYj1bXTtpZighbi5kYXRhKXJldHVybiBXO2Zvcih2YXIgdj0wO3Y8bi5kYXRhLmVXLmxlbmd0aDt2Kyspe3ZhciBrPW4uZGF0YS5lV1t2XTtELnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9Zm9yKHY9MDt2PG4uZGF0YS5CaS5sZW5ndGg7disrKWs9bi5kYXRhLkJpW3ZdLGIucHVzaChgaS4ke2suZm9ybWF0SWQ/Lml0YWd9X3NuLiR7ay5zZXF1ZW5jZU51bWJlcn1fc2wuJHtrLnZEfHxOYU59X2xiLiR7ay5TMH1fdHIuc18ke2suaHg/LnN0YXJ0VGlja3N9X2RfJHtrLmh4Py5sOH1fdF8ke2suaHg/LnRpbWVzY2FsZX1fZWRfJHtrLnUzfWApO1cucHRpbWU9bi5OPy5Dbj8ublJ8fDA7Vy5ydHlwZT1uLnJlcXVlc3RUeXBlO1cuYnJsPUQuam9pbigiOyIpO1cucHM9Yi5qb2luKCI7Iik7CnJldHVybiBXfTsKdW5VPWZ1bmN0aW9uKG4sVyxEKXtuLnBTPT09dm9pZCAwJiYobi5wUz1uLlhiLnBTKFcsRCkpO3JldHVybiBuLnBTfTsKdmw9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5OPy5lbmNyeXB0KFcsRCk7cmV0dXJuIGI/YjoobmV3IGIxKG4uTi5KKSkuZW5jcnlwdChXLEQpfTsKelpqPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt7dmFyIGI9bi5OO2xldCB2PXRFKCk7Yj12P25ldyBkWE0oYi5KLHYpOnZvaWQgMH1pZihiKXRyeXtyZXR1cm4gYXdhaXQgYi5lbmNyeXB0KFcsRCl9Y2F0Y2godil7fXJldHVybiB2bChuLFcsRCl9OwpscjI9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OP3paaihuLFcsbi5pdik6b24obi5OKS5lbmNyeXB0KFcsbi5pdil9OwpUOGg9ZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OPy5KKFcsbi5pdil9OwpDYnQ9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7dmFyIEQ9bi5OO0Quanx8KEQuaj1uZXcgaksxKEQuVykpO3JldHVybiBMNFooRC5qLFcsbi5pdil9OwpCOGk9YXN5bmMgZnVuY3Rpb24obixXLEQpeygwLGcuUikoKTtyZXR1cm4gbi5OLk4/elpqKG4sVyxEKTpvbihuLk4pLmRlY3J5cHQoVyxEKX07CncwYj1mdW5jdGlvbihuLFcpe3ZhciBEPVc/LnByaW1hcnk7a3cobiwwLEQpO0Q9RD9GamooRCk6dm9pZCAwO2t3KG4sMixEKTtrdyhuLDEsVz8uc2Vjb25kYXJ5KX07CmhnPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gbmV3IGcud1ooYCR7RD8iaHR0cCI6Imh0dHBzIn06Ly8ke1d9JHtuLkIuUFguYmFzZVVybH1gKX07Cmt3PWZ1bmN0aW9uKG4sVyxEKXtEPyhEPUQgaW5zdGFuY2VvZiBnLndaP0Q6aGcobixEKSxuLk4uZ2V0KFcpPy5OKCkhPT1SMCg5OCwzNTcwLEQpJiZuLk4uc2V0KFcsbmV3IE1kaihELFcpKSk6bi5OLmRlbGV0ZShXKX07CkZqaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oXGQrKS0tLS9nLChXLEQpPT57Vz1OdW1iZXIoRCk7cmV0dXJuYCR7Vz09PTE/MjpXLTF9LS0tYH0pfTsKUlpoPWZ1bmN0aW9uKG4sVz0hMSxEKXt2YXIgYj1nLlloKG4uQi5leHBlcmltZW50cywiZGVidWdfYmFuZGFpZF9ob3N0bmFtZSIpO3JldHVybiBiPyhXPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJkZWJ1Z19iYW5kYWlkX3BvcnQiKSxiPVc+MD9gJHtifToke1d9YDpiLFc9bi5CLmV4cGVyaW1lbnRzLkVxKCJkZWJ1Z19iYW5kYWlkX2luc2VjdXJlX3NjaGVtZSIpLGhnKG4sYixXKSk6VyYmRD8udXJsJiYhbi5KPyhiPVIwKDY3LDM1MzksbmV3IGcud1ooRC51cmwpKSxoZyhuLGIpKTpuLk4uZ2V0KDApPy5sb2NhdGlvbi5jbG9uZSgpfTsKTEQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1oZyhuLCJyZWRpcmVjdG9yLmdvb2dsZXZpZGVvLmNvbSIpO0Quc2V0KCJhbHIiLCJ5ZXMiKTtELnNldCgiaWQiLGAke01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTUpfWApO2lmKFc9PT0xfHxXPT09MilELnNldCgiY21vPXNlbnNpdGl2ZV9jb250ZW50IiwieWVzIiksRC5zZXQoInNjIiwieWVzIik7Vz09PTImJkQuc2V0KCJjbW89dGQiLCJjLnlvdXR1YmUuY29tIik7dmFyIGI9YXdhaXQgZy5yOChELldEKCkse2Zvcm1hdDoiUkFXIix0aW1lb3V0OjVFM30pO2lmKGIueGhyLnN0YXR1cyE9PTIwMHx8IWIueGhyLnJlc3BvbnNlVGV4dClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfbm9faG9zdCIsRC5XRCgpLGIueGhyLnN0YXR1cykpO3ZhciB2PW5ldyBnLndaKGIueGhyLnJlc3BvbnNlVGV4dCk7RD1SMCgzNCwzNTA2LHYpO2I9di5nZXQoIm1zIik7bj1oZyhuLEQpO3Y9di5nZXQoIm1tIik7bi5zZXQoIm1zIiwKYik7bi5zZXQoIm1tIix2KTtyZXR1cm4gRCYmUUt4KEQpP1chPT0yfHx4dyhEKT9uOlByb21pc2UucmVqZWN0KG5ldyBnLlF4KCJiMjA0MjU4MzcxX3VudHJ1c3RlZCIsRCxiKSk6UHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfaW52YWxpZCIsRCxiKSl9Owp2YXIgSFd0PWZ1bmN0aW9uKG4pe3JldHVybiBSMFtJWzEwXV0odGhpcyw0MSw1ODQ5LG4pfTsKVmR0PWZ1bmN0aW9uKG4sVyl7bj1gaHR0cHM6Ly8ke1cuTigpfS9pbml0cGxheWJhY2s/Yz0ke2xvKG4uQil9Jm93Yz0xYDtxVyhuLCJwdyIsRD0+e0QuaHQ9Vy5KfSl9OwplUj1mdW5jdGlvbihuLFcsRCxiKXtxVyhgaHR0cHM6Ly8ke1d9L3ZpZGVvcGxheWJhY2s/cHJvYmU9MWAsRCx2PT57IWIuUygiaHRtbDVfb25lc2llX2hvc3RfcmFjaW5nIil8fGIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHxiLlMoImh0bWw1X29uZXNpZV9wcm9iZV9lY19ob3N0cyIpfHxiLldSfHxjeVooYik7bi5XLnB1c2godil9LHY9PntuLlcucHVzaCh2LmRldGFpbHMpfSl9OwpRS3g9ZnVuY3Rpb24obil7cmV0dXJuLy4qKFwuY1wueW91dHViZVwuY29tfC4qXC5nb29nbGV2aWRlb1wuY29tKS8udGVzdChuKX07Cnh3PWZ1bmN0aW9uKG4pe3ZhciBXPS9zbi1bXi5dKi0vO3JldHVybi8uKlwuY1wueW91dHViZVwuY29tLy50ZXN0KG4pJiYhVy50ZXN0KG4pfTsKZ2o9ZnVuY3Rpb24obil7Zm9yKDtuLk4ubGVuZ3RoJiYhbi5OWzBdLmlzRW5jcnlwdGVkOyl7bGV0IHt2aWRlb0lkOkQsYXU6Yixmb3JtYXRJZDp2LGJ1ZmZlcjprLGlFOmh9PW4uTi5zaGlmdCgpO2lmKGspbi5OSS5ZYS5uQT8uZ2V0KEQpPy5OKGIsdixrKTtlbHNlIGlmKGgpbi5OSS5ZYS5ZaChELGIsdik7ZWxzZXt2YXIgVz1uLk5JO1cuTlt2XS5TdT0hMDtXPVcuWWEubkE/LmdldChEKTtXPy5nRih2KSYmVz8uSih2KX19fTsKZy5EMHI9ZnVuY3Rpb24obil7Zm9yKDshbi5YJiYhbi5lcnJvcjspe3ZhciBXPW47Vy5YPSEhWEIoVywxKTtzd2l0Y2goWEIoVywyKSl7Y2FzZSAyOnZhciBEPXZvaWQgMCxiPVtdLHY9W107di5sZW5ndGg9MTk7di5maWxsKDApO3ZhciBrPVhCKFcsNSkrMjU3O0Q9WEIoVyw1KSsxO3ZhciBoPVhCKFcsNCkrNDtmb3IodmFyIHg9MDt4PGg7eCsrKXZbYXJ4W3hdXT1YQihXLDMpO3Y9cVAodik7Zm9yKGg9aytEO2IubGVuZ3RoPGg7KXt4PW5SdChXLHYpO2xldCBMO3N3aXRjaCh4KXtjYXNlIDE2Ong9YltiLmxlbmd0aC0xXTtMPVhCKFcsMikrMzticmVhaztjYXNlIDE3Ong9MDtMPVhCKFcsMykrMzticmVhaztjYXNlIDE4Ong9MDtMPVhCKFcsNykrMTE7YnJlYWs7ZGVmYXVsdDpMPTF9Zm9yKDtMPjA7TC0tKWIucHVzaCh4KX1iLmxlbmd0aCE9PWg/Vy5lcnJvcj0hMDooRD1iLnNsaWNlKC1EKSxiLmxlbmd0aD1rLFdZaChXLGIsRCkpO2JyZWFrO2Nhc2UgMTpXWWgoVyxHYyx0Zyk7YnJlYWs7CmNhc2UgMDokdyhXLFcuTiY3KTtiPVhCKFcsMTYpO2s9WEIoVywxNik7KGJeaykhPT02NTUzNSYmKFcuZXJyb3I9ITApO2s9Vy5kYXRhLnN1YmFycmF5KFcuSixXLkorYik7Vy5vdXRwdXQuc2V0KGssVy5XKTtXLkorPWI7Vy5XKz1iO2JyZWFrO2RlZmF1bHQ6Vy5lcnJvcj0hMH1uLlc+bi5vdXRwdXQubGVuZ3RoJiYobi5vdXRwdXQ9bmV3IFVpbnQ4QXJyYXkobi5XKjIpLG4uVz0wLG4uSj0wLG4uWD0hMSxuLk49MCxuLnJlZ2lzdGVyPTApfW4ub3V0cHV0Lmxlbmd0aCE9PW4uVyYmKG4ub3V0cHV0PW4ub3V0cHV0LnN1YmFycmF5KDAsbi5XKSk7cmV0dXJuIG4uZXJyb3I/bmV3IFVpbnQ4QXJyYXkoMCk6bi5vdXRwdXR9OwpYQj1mdW5jdGlvbihuLFcpe2Zvcig7bi5OPFc7KXtpZihuLko+PW4uZGF0YS5sZW5ndGgpcmV0dXJuIG4uZXJyb3I9ITAsMDtuLnJlZ2lzdGVyfD1uLmRhdGFbbi5KKytdPDxuLk47bi5OKz04fXZhciBEPW4ucmVnaXN0ZXImKDE8PFcpLTE7bi5yZWdpc3Rlcj4+PVc7bi5OLT1XO3JldHVybiBEfTsKV1loPWZ1bmN0aW9uKG4sVyxEKXtXPXFQKFcpO0Q9cVAoRCk7Zm9yKHZhciBiPW4uZGF0YSx2PW4ub3V0cHV0LGs9bi5XLGg9bi5yZWdpc3Rlcix4PW4uTixMPW4uSjs7KXtpZih4PDE1KXtpZihMPmIubGVuZ3RoKzEpe24uZXJyb3I9ITA7YnJlYWt9aHw9KGJbTCsxXTw8OCkrYltMXTw8eDtMKz0yO3grPTE2fXZhciBlPVdbaCYxMjddO2lmKGU8MClmb3IoaD4+PTc7ZTwwOyllPVdbKGgmMSktZV0saD4+PTE7ZWxzZSBoPj49ZSYxNTt4LT1lJjE1O2U+Pj00O2lmKGU8MjU2KXZbaysrXT1lO2Vsc2UgaWYobi5yZWdpc3Rlcj1oLG4uTj14LG4uSj1MLGU+MjU2KXtoPXJqW2VdO2grPVhCKG4sc3FbZV0pO0w9blJ0KG4sRCk7eD1OUFtMXTt4Kz1YQihuLHBEW0xdKTtpZihieVomJmg8eCl4PWsteCx2LmNvcHlXaXRoaW4oayx4LHgraCk7ZWxzZSBmb3IoTD1rK2gsZT1rO2U8TDtlKz00KXZbZV09dltlLXhdLHZbZSsxXT12W2UteCsxXSx2W2UrMl09dltlLXgrMl0sdltlKzNdPXZbZS14KzNdOwprKz1oO2g9bi5yZWdpc3Rlcjt4PW4uTjtMPW4uSn1lbHNlIGJyZWFrfW4uVz1rfTsKblJ0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPDcpe3ZhciBEPW4uZGF0YTtsZXQgYj1uLko7Yj5ELmxlbmd0aCYmKG4uZXJyb3I9ITApO24ucmVnaXN0ZXJ8PShEW2IrMV08PDgpK0RbYl08PG4uTjtuLkorPTI7bi5OKz0xNn1EPVdbbi5yZWdpc3RlciYxMjddO2lmKEQ+PTApcmV0dXJuICR3KG4sRCYxNSksRD4+NDtmb3IoJHcobiw3KTtEPDA7KUQ9V1tYQihuLDEpLURdO3JldHVybiBEPj40fTsKJHc9ZnVuY3Rpb24obixXKXtuLk4tPVc7bi5yZWdpc3Rlcj4+PVd9OwpxUD1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IodmFyIEQgb2YgbilXW0RdfHwoV1tEXT0wKSxXW0RdKys7dmFyIGI9V1swXT0wO0Q9W107dmFyIHY9MCxrPTA7Zm9yKHZhciBoPTE7aDxXLmxlbmd0aDtoKyspV1toXT9rPWg6V1toXT0wLGI9YitXW2gtMV08PDEsRFtoXT1iLGg+NyYmKHYrPVdbaF0pO2ZvcihiPTE7Yjx2OyliPDw9MTtXPTEyODtrPW5ldyBJbnQxNkFycmF5KDEyOCsoYitrKSoyKTtmb3Iodj0wO3Y8bi5sZW5ndGg7disrKXtoPW5bdl07aWYoIWgpY29udGludWU7dmFyIHg9RFtoXSsrO2I9MDtmb3IodmFyIEw9MDtMPGg7TCsrKWI9Yjw8MXx4Pj5MJjE7eD12PDw0fGg7aWYoaDw9Nylmb3IoTD0xPDw3LWg7TC0tOylrW0w8PGh8Yl09eDtlbHNle0w9YiYxMjc7aC09Nztmb3IoYj4+PTc7aC0tOyl7a1tMXXx8KGtbTF09LVcsVys9Mik7bGV0IGU9YiYxO2I+Pj0xO0w9ZS1rW0xdfWtbTF09eH19cmV0dXJuIGt9OwpZdz1mdW5jdGlvbihuLFcpe24uVyhgZGNtcHJzXyR7bi5jb250ZXh0fV8ke24uTn1fZ3pfJHtXfWApfTsKdlJ3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE9vKG4sZnVuY3Rpb24oKXt2YXIgRD10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1EYXRlLm5vdygpO3RyeXtZdyhELCJzIik7dmFyIHY9eWllbGQqUFAoVygpKTtpZighdil0aHJvdyBFcnJvcigibm8gcmVzdWx0Iik7WXcoRCwiZSIpO3JldHVybiB2fWNhdGNoKGgpe1l3KEQsImYiKTt2YXIgaz1oO0QuSihrLCJneiIpO3Rocm93IGg7fWZpbmFsbHl7dj1EYXRlLm5vdygpLEQuYmooImd6Iix2LWIsayl9fSgpfSl9OwplU2o9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgdj0oayxoKT0+dlJ3KG5ldyBrMWkoayxELGIpLCgpPT5IUChoKG4pKSk7CmlmKEhsKXRyeXtyZXR1cm4geWllbGQqUFAodigibiIsaFMxKSl9Y2F0Y2goayl7fWlmKFcpdHJ5e3JldHVybiB5aWVsZCpQUCh2KFcuaXNBc21qcz8iYSI6InciLGs9PngwQyhrLFcpKSl9Y2F0Y2goayl7fXJldHVybiB5aWVsZCpQUCh2KCJwIixMWTIpKX0oKX0pfTsKaFMxPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFIbCl0aHJvdyBFcnJvcigiRGVjb21wcmVzc2lvblN0cmVhbSBpcyBub3Qgc3VwcG9ydGVkIik7dmFyIFc9WksudFgoKSxEPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYj1ELndyaXRhYmxlLmdldFdyaXRlcigpO2Iud3JpdGUobik7Yi5jbG9zZSgpO249RC5yZWFkYWJsZS5nZXRSZWFkZXIoKTtmb3IoRD1uZXcgUzUoW10pOzspe2xldCB7dmFsdWU6dixkb25lOmt9PWF3YWl0IG4ucmVhZCgpO2lmKGspYnJlYWs7RC5hcHBlbmQodil9bj10UihEKTtaSy5lVSgiZ3puYiIsVyxNYXRoLmNlaWwobi5ieXRlTGVuZ3RoLzE2KSk7cmV0dXJuIG59OwpMWTI9ZnVuY3Rpb24obil7dmFyIFc9WksudFgoKTtuPWcuRDByKG5ldyBnLmdSYihuKSk7WksuZVUoImd6amIiLFcsTWF0aC5jZWlsKG4uYnl0ZUxlbmd0aC8xNikpO3JldHVybiBufTsKeDBDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9WksudFgoKTtuPVcubWVtb3J5LmNvcHlJbihuKTt0cnl7bGV0IHY9bi5ieXRlT2Zmc2V0LGs9bi5ieXRlTGVuZ3RoLGg9Vy5leHBvcnRzLmdldEluZmxhdGVkU2l6ZSh2LGspO2lmKGg9PT0wKXRocm93IEVycm9yKCJ3YXNtX2d6OiBiYWQgaW5wdXQiKTtsZXQgeD1XLm1lbW9yeS5tYWxsb2MoaCksTD1XLmV4cG9ydHMuaW5mbGF0ZUd6aXAodixrLHgpO2lmKEwpdGhyb3cgVy5tZW1vcnkuZnJlZSh4KSxFcnJvcihgd2FzbV9nejogZmFpbCR7TH1gKTt2YXIgYj1XLm1lbW9yeS5idWZmZXIoeCxoKX1maW5hbGx5e1cubWVtb3J5LmZyZWUobi5ieXRlT2Zmc2V0KX1XPVcubWVtb3J5Lm1vdmVPdXQoYik7WksuZVUoImd6d2IiLEQsTWF0aC5jZWlsKFcuYnl0ZUxlbmd0aC8xNikpO3JldHVybiBXfTsKZkQ9ZnVuY3Rpb24obil7dmFyIFc9bi5xdWV1ZTtXLk4ubGVuZ3RoJiZXLk5bMF0uaXNFbmNyeXB0ZWQmJiFXLkomJihXLk4ubGVuZ3RoPTApO2ZvcihsZXQgRCBvZiBPYmplY3Qua2V5cyhuLk4pKXtsZXQgYj1uLk5bRF07Yi5TdXx8KFc9bi5xdWV1ZSxXLk4ucHVzaCh7dmlkZW9JZDpiLnZpZGVvSWQsZm9ybWF0SWQ6RCxpc0VuY3J5cHRlZDohMX0pLFcuSnx8Z2ooVykpfX07ClhCdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcudG90YWxMZW5ndGgsYj0hMTtzd2l0Y2gobi5XKXtjYXNlIDA6bi5qcChXLG4uWCkudGhlbih2PT57dmFyIGs9bi5ZYTtrLkRrKCJvcHJyIik7ay5wbGF5ZXJSZXNwb25zZT12O2suVUl8fChrLkIyPSExKTtKZyhrKX0sdj0+e24uWWEuZmFpbCh2KX0pOwpicmVhaztjYXNlIDI6bi5Eaygib3JtayIpO1c9dFIoVyk7bi5xdWV1ZS5kZWNyeXB0KFcpO2JyZWFrO2RlZmF1bHQ6Yj0hMH1uLllhLnhHJiZuLllhLlUoIm9tYnVwIixgaWQuMTE7cHQuJHtuLld9O2xlbi4ke0R9JHtiPyI7aWdub3JlZC4xIjoiIn1gKTtuLlc9bnVsbH07CnFQaT1mdW5jdGlvbihuLFcpe24uWWEuRGsoIm9wcmd6Ml9zIik7Vz1lU2ooVyxuLllhLkcoKS5qXygpLG4uWWEueEc/bi5ZYS5VLmJpbmQobi5ZYSk6KCk9Pnt9LEQ9PntuLllhLkRrKEQpfSk7ClNrKFcsKCk9PntuLllhLkRrKCJvcHJnejJfZSIpfSwoKT0+e24uWWEuRGsoIm9wcmd6Ml9mIil9KTsKcmV0dXJuIFd9OwpHMVM9YXN5bmMgZnVuY3Rpb24obixXKXtuLllhLkRrKCJvcHJnel9zIik7aWYoSGwpdHJ5e3ZhciBEPWF3YWl0IGhTMShXKTtuLllhLkRrKCJvcHJnel9uIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJuIn0pO3JldHVybiBEfWNhdGNoKGIpe24uWWEuVSgiZ3plcnIiLHtpbXBsOiJuYXRpdmUiLGVycjpgJHtifWB9KX1pZihEPW4uWWEuRygpLmpfKCkpdHJ5e2xldCBiPXgwQyhXLEQpO24uWWEuRGsoIm9wcmd6X3ciKTtuLllhLlUoIm9wcnNneiIse2k6IncifSk7cmV0dXJuIGJ9Y2F0Y2goYil7bi5ZYS5VKCJnemVyciIse2ltcGw6Indhc20iLGVycjpgJHtifWB9KX1XPUxZMihXKTtuLllhLkRrKCJvcHJnel9wIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJqIn0pO3JldHVybiBXfTsKdF9oPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57c2V0VGltZW91dChXLG4pfSl9OwokMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkcoKTtEPW4uWVomJkQuUygiaHRtbDVfb25lc2llX3ByZWxvYWRfdXNlX2NvbnRlbnRfb3duZXIiKTtpZigoVz1SWmgoVyxELG4uUWEpKSYmbi52aWRlb0lkKXtuPWcuZDEobi52aWRlb0lkKTtEPVtdO2lmKG4pZm9yKGIgb2YgbilELnB1c2goYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKTt2YXIgYj1ELmpvaW4oIiIpO1cuc2V0KCJpZCIsYik7cmV0dXJuIFd9fTsKck9oPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPTApe3ZhciBiPVtdO2IucHVzaChXLmxvYWQoKSk7RD4wJiZiLnB1c2godF9oKEQpKTthd2FpdCBQcm9taXNlLnJhY2UoYik7cmV0dXJuICQwYihuLFcpfTsKczlDPWZ1bmN0aW9uKG4sVyxELGI9ITEpe24uc2V0KCJjcG4iLFcuY2xpZW50UGxheWJhY2tOb25jZSk7bi5zZXQoIm9wciIsIjEiKTt2YXIgdj1XLkcoKTtuLnNldCgicG9yIiwiMSIpO3RFKCl8fG4uc2V0KCJvbmVtIiwiMSIpO1cuc3RhcnRTZWNvbmRzPjAmJm4uc2V0KCJvc3RzIixgJHtXLnN0YXJ0U2Vjb25kc31gKTtifHwodi5TKCJodG1sNV9vbmVzaWVfZGlzYWJsZV9wYXJ0aWFsX3NlZ21lbnRzIikmJm4uc2V0KCJvc2VzIiwiMSIpLFc9di5TKCJodG1sNV9nYXBsZXNzX29uZXNpZV9ub19tZWRpYV9ieXRlcyIpJiZBSihXKSYmVy5ZWixEJiYhVz8oVz1ELmF1ZGlvLG4uc2V0KCJwdmkiLEQudmlkZW8uam9pbigiLCIpKSxuLnNldCgicGFpIixXLmpvaW4oIiwiKSksTnN8fG4uc2V0KCJvc2giLCIxIikpOihuLnNldCgib2FkIiwiMCIpLG4uc2V0KCJvdmQiLCIwIiksbi5zZXQoIm9hYWQiLCIwIiksbi5zZXQoIm9hdmQiLCIwIikpKX07Ck5KaT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe3ZhciBrPWBodHRwczovL3lvdXR1YmVpLmdvb2dsZWFwaXMuY29tL3lvdXR1YmVpLyR7Vy5TVi5pbm5lcnR1YmVBcGlWZXJzaW9ufS9wbGF5ZXJgLGg9W3tuYW1lOiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9qc29uIn1dO2ImJmgucHVzaCh7bmFtZToiQXV0aG9yaXphdGlvbiIsdmFsdWU6YEJlYXJlciAke2J9YH0pO2gucHVzaCh7bmFtZToiVXNlci1BZ2VudCIsdmFsdWU6Zy5YUSgpfSk7Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP2gucHVzaCh7bmFtZToiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIix2YWx1ZTpnLkFyKCJFT01fVklTSVRPUl9EQVRBIil9KTooRD1ELnZpc2l0b3JEYXRhfHxnLkFyKCJWSVNJVE9SX0RBVEEiKSkmJmgucHVzaCh7bmFtZToiWC1Hb29nLVZpc2l0b3ItSWQiLHZhbHVlOkR9KTsoRD1nLkFyKCJTRVJJQUxJWkVEX0xBVkFfREVWSUNFX0NPTlRFWFQiKSkmJmgucHVzaCh7bmFtZToiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiLAp2YWx1ZTpEfSk7KFc9Zy5ZaChXLmV4cGVyaW1lbnRzLCJkZWJ1Z19zaGVybG9nX3VzZXJuYW1lIikpJiZoLnB1c2goe25hbWU6IlgtWW91dHViZS1TaGVybG9nLVVzZXJuYW1lIix2YWx1ZTpXfSk7bj1JdyhKU09OLnN0cmluZ2lmeShuKSk7cmV0dXJue3VybDprLGUzOmgscG9zdEJvZHk6bixFYTp2LGU4OnZ9fTsKSWs9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPW4uWUMsRz1uLmRmO249bi5DVjt2YXIgcj1lIT09dm9pZCAwJiZHIT09dm9pZCAwLE49Yi5nZXRWaWRlb0RhdGEoKSxIPVcuTi5lbmNyeXB0ZWRDbGllbnRLZXk7Vz1yP1cuaXY6dm9pZCAwO3I9R0QoaywhMCk7dj12fHwhIXRFKCkmJnI+MTU3Mjg2NDtyZXR1cm57aW5uZXJ0dWJlUmVxdWVzdDp7d1M6bix2VTplLGRmOkcsZW5jcnlwdGVkQ2xpZW50S2V5OkgsaXY6VyxtdzohMCxGRDohMCxEWToiRGVjb21wcmVzc2lvblN0cmVhbSJpbiB3aW5kb3d8fCF2LHlKOiEwfSxDbjpqRk0oe2lqOmsseVE6RCxMOmIsblI6Ti5zdGFydFNlY29uZHMqMUUzLGhxOiEwfSksb25lc2llVXN0cmVhbWVyQ29uZmlnOmgsQng6eCxtSDpTVihOKSxyZWxvYWRQbGF5YmFja1BhcmFtczpOLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtcyxVazpMfX07CnBCeD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPWcubGgobixhZiksZTtpZighbi5lOClpZihlPVQ4aChXLEwpKXt2YXIgRz1lLkc0O2U9ZS5zaWduYXR1cmV9ZWxzZSBlPUc9Vy5lbmNyeXB0KEwpLCgwLGcuUikoKSxlPXBmKG5ldyBZJChXLk4uVyksZSxXLml2KTtyZXR1cm4gSWsoRyYmZT97WUM6RyxkZjplfTp7Q1Y6TH0sVyxELGIsISFuLmU4LHYsayxoLHgpfTsKWVBNPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dmFyIEw9Zy5saChuLGFmKTtMPWF3YWl0IGxyMihXLEwpO3ZhciBlPWF3YWl0IENidChXLEwpO3JldHVybiBJayh7WUM6TCxkZjplfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpIeVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4KXt2YXIgTD1nLmxoKG4sYWYpO2lmKEw9VDhoKFcsTCkpcmV0dXJuIElrKHtZQzpMLkc0LGRmOkwuc2lnbmF0dXJlfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpKT3c9YXN5bmMgZnVuY3Rpb24obixXLEQpe24uRGsoIm9wcmRfcyIpO1c9Zkl0KG4pP2F3YWl0IEI4aShuLnlxLFcsRCk6bi55cS5kZWNyeXB0KFcsRCk7bi5Eaygib3ByZF9jIik7cmV0dXJuIFd9OwpmSXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5TKCJodG1sNV9vbmVzaWVfc3luY19yZXF1ZXN0X2VuY3J5cHRpb24iKXx8Vz8uZTg/ITE6ISF0RSgpfTsKSUliPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X29uZXNpZV9ob3N0X3Byb2JpbmciKXx8bi54Rz9OczohMX07CkpnPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclJlc3BvbnNlKXJldHVybiExO2lmKG4uYmspcmV0dXJuITA7dmFyIFc9bi52aWRlb0RhdGEuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEobi52aWRlb0RhdGEpO2lmKG4ubkEmJm4uQjIpe2lmKCFuLm5BLmhhcyhuLkxjKSlyZXR1cm4hMTtsZXQgYj1uLm5BLmdldChuLkxjKTt2YXIgRDtpZihEPWIpe0Q9ITE7Zm9yKGxldCB2IG9mIGIudTkua2V5cygpKXtsZXQgaz1iLnU5LmdldCh2KTtpZihrKWZvcihsZXQgaCBvZiBrLkJ0KWguZUg+MCYmKGsuZVM/RD0hMDpXPSEwKX1EPSEoVyYmRCl9aWYoRClyZXR1cm4hMX1uLkRrKCJvZnIiKTtuLkNSLnJlc29sdmUobi5wbGF5ZXJSZXNwb25zZSk7cmV0dXJuIG4uYms9ITB9OwpBT009ZnVuY3Rpb24obil7aWYobi5uQSYmIW4uUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtuLkRrKCJvZ3NmX3MiKTt2YXIgVz16eFMobi5MLmdldFZpZGVvRGF0YSgpLChiLHYpPT57bi5VKGIsdil9KSxEPVNQTShuLkwpOwpXLnZpZGVvPWlfYihELFcudmlkZW8pO24uRGsoIm9nc2ZfYyIpO2lmKFcudmlkZW8ubGVuZ3RoKXJldHVybiBXO24uVSgib21ic3BmIixgbC4ke0QuSn07dS4ke0QuTn07by4ke0QuV307ci4ke0QucmVhc29ufWApfX07ClNSPWZ1bmN0aW9uKG4pe2lmKCFuLm5mKXJldHVybnt9O3ZhciBXPW4ubmYuRCgpO1cuZD1uLm5mLkR0Py5iWSgpO1cuc2hvc3Q9bi56YztXLnR5PSJvIjtyZXR1cm4gV307CmN5Wj1mdW5jdGlvbihuKXtuLkIyPSExO2lmKCFKZyhuKSl7dmFyIFc9U1Iobik7Vy50aW1lb3V0PSIxIjtuLmZhaWwobmV3IGcuQ2koIm9uZXNpZS5yZXF1ZXN0IixXKSl9fTsKUGw9ZnVuY3Rpb24obixXKXtpZihXLnFOKCl8fG4ucU4oKSluLnBvbGljeS5QTHx8KG4ucG9saWN5Lmo/Zy5BZyhuLmxvYWRlcik6bi5sb2FkZXIuQlkoKSk7ZWxzZXtpZihuLnBvbGljeS5XJiZXLmlzQ29tcGxldGUoKSYmVyBpbnN0YW5jZW9mIHV1KXt2YXIgRD1uLmxvYWRlcixiPUQuVTt2YXIgdj1PYmplY3QuYXNzaWduKFcubmYuRCgpLHtyc3Q6Vy5zdGF0ZSxzdHJtOlcueGhyLkdwKCksZDpXLm5mLkR0Py5iWSgpLGNuY2w6Vy54aHImJlcudDUuWD8xOjAscnFiOlcuRUYsY3d0OlcudDUuVyxzd3Q6Vy5QcT8uS059KTt2PU9iamVjdC5hc3NpZ24oRGsoVy5pbmZvKSx2KTtiLmNhbGwoRCwicnFzIix2KX1pZihXLmlzQ29tcGxldGUoKSYmVy5ENSgpJiZXIGluc3RhbmNlb2YgdXUpVy5kaXNwb3NlKCksbi5sb2FkZXIuQlkoKTtlbHNle2lmKFcucVEoKSluLkhlPSEwLFcgaW5zdGFuY2VvZiB1dSYmWFNoKG4udGltaW5nLFcpLG0wTShuKSxtdihuKTtlbHNlIGlmKFcudG4oKSlEPW4uTC5lSigpLApXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJkQmJihuLkIuWnQoKS5OLlFRKEtZeCl8fG4ubG9hZGVyLndSKEQpKSxXIGluc3RhbmNlb2YgdXUmJlcua2goKT8oVy5WRygpJiZuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLDApLFcuZGlzcG9zZSgpKTpXIGluc3RhbmNlb2YgdXUmJng2dyhXKT9uLmxvYWRlci5ETz8uVygpOlcgaW5zdGFuY2VvZiBLRD9uLk4ucG9wKCk6KEQ9MSxXLmNhblJldHJ5KCkmJnd1KG4ubG9hZGVyKSYmKE95WihuLFcpLEQ9MCksYj1uLkwuZUooKSxXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJmImJm4uQi5adCgpLk4uUVEoS1l4KSYmKFcuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpP24ubG9hZGVyLlUoInV0Y1NlZWtpbmdSZXRyeSIse3RhcmdldFV0Y1RpbWVTZWM6Yn0pOm4ubG9hZGVyLndSKGIpKSxuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLEQpKTtlbHNle2lmKG4ubG9hZGVyLmlzU3VzcGVuZGVkJiYKIVcuaXNDb21wbGV0ZSgpKXJldHVybjttdihuKX1XLnFOKCl8fFcgaW5zdGFuY2VvZiBLRHx8KEQ9MCxXLmlzQ29tcGxldGUoKSYmKEQ9cDBiKFcsbi5wb2xpY3ksbi5ubikpLEQhPT0wJiYoVy5pbmZvLlhiLmo/KEQ9Vy5pbmZvLEQ9bmV3IE9xKDIsRC5YYixELllhKSxELnBTPSExKTooYj1uZXcgT3EoMSxXLmluZm8uWGIpLGIucFM9RD09PTIsRD1iKSxQT3QobixEKSkpO2lmKFcuaXNDb21wbGV0ZSgpKXtpZihuLnBvbGljeS5RciYmbi52aWRlb0RhdGEuaXNPdGYoKSYmbi5CLlY9PT0icHciJiYhbi5PJiYhVy5xUSgpJiYhVy50bigpJiYhUlEobi52aWRlb0RhdGEpJiYhbi52aWRlb1RyYWNrLlRDKXtuLkN4PSExO24uTz0hMDtuLmxvYWRlci5ncCh7cmVhc29uOiJzYWJyLm5vX3ZpZGVvX3JlY2VpdmVkX29uX3N0YXJ0IixhY3Rpb246MH0pO3JldHVybn1uLkN4PSExO1cucVEoKXx8KG4uTz0hMCxuLkhlPSExKTtuLkIuUygiaHRtbDVfdXNlX21lZGlhX2ZldGNoX2NvbnRyb2xsZXIiKSYmCm4ubG9hZGVyLkwuV0ooInJlcXVlc3Rjb21wbGV0ZWQiKX1uLnBvbGljeS5IRCYmIVcuaXNDb21wbGV0ZSgpP1FvKG4ubG9hZGVyKTpuLmxvYWRlci5CWSgpfX19OwpaeVM9ZnVuY3Rpb24obil7bi5wb2xpY3kuTEImJihuLlZRPXZvaWQgMCxuLkc3PTApfTsKaXlpPWZ1bmN0aW9uKG4pe2lmKG4ubG9hZGVyLkFiKXJldHVybiBaayhuLCJwcmVwYXJpbmduZXh0bG9vcCIpLCExO2lmKCFVMFoobixuLlMkKSlyZXR1cm4gWmsobiwicmF0ZWxpbWl0ZWQiKSwhMTtpZihpUyhuLmF1ZGlvVHJhY2spJiZpUyhuLnZpZGVvVHJhY2spKXJldHVybiBaayhuLCJlbmRvZnN0cmVhbSIpLCExO2lmKG4ucG9saWN5LlUxKWlmKG4ucG9saWN5Llgpe2lmKG4uVk8/LmNKKCkpcmV0dXJuIFprKG4sInNzZGFpYmxvY2tlZCIpLCExfWVsc2V7dmFyIFc9ITE7aWYobi5KQy5KPT09MilXPSEwO2Vsc2UgaWYobi5KQy5KPT09Myl7VXEobik7bi5sb2FkZXIuU1coKTt2YXIgRD1QNihuLmF1ZGlvVHJhY2ssbi5sb2FkZXIuaXNTZWVraW5nKCkpLmVXO3ZhciBiPVA2KG4udmlkZW9UcmFjayxuLmxvYWRlci5pc1NlZWtpbmcoKSkuZVc7dmFyIHY9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKXx8MDtEPXl1KG4sRCx2KTtiPXl1KG4sYix2KTtiPU1hdGgubWluKEQsYik7dj1uLkpDOwpiPj12Llc/KHYuVSgic2RhaSIse2hhbHRycTpiLGVzdDp2Lld9KSxiPSEwKTpiPSExO2ImJihXPSEwKX1pZihXKXJldHVybiBaayhuLCJ3YWl0aW5nZm9yYWRzIiksITF9bi5wb2xpY3kudTUmJihuLnR3PUVxKG4sbi5hdWRpb1RyYWNrKSxuLmJkPUVxKG4sbi52aWRlb1RyYWNrKSk7aWYoIW4uSilyZXR1cm4gaTEobix7bm9wb2xpY3k6MX0pLCEwO2lmKG4uTC5lSigpKXJldHVybiBpMShuLHt1dGM6MX0pLCEwO2lmKG4uazYuSylyZXR1cm4gaTEobix7YXVkaW86MX0pLCEwO2lmKG4ucG9saWN5LnNaJiZuLms2LkQpcmV0dXJuIGkxKG4se2NvbnN0cmFpbnQ6MX0pLCEwO2lmKCFuLkoudGFyZ2V0QXVkaW9SZWFkYWhlYWRNc3x8IW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zKXJldHVybiBpMShuLHtub3JlYWRhaGVhZDoxfSksITA7aWYobi5wb2xpY3kuaiYmbi5sb2FkZXIuWFgoKSlyZXR1cm4gaTEobix7c2Vla1RvSGVhZDoxfSksITA7Vz1NYXRoLm1pbihPYihuLmxvYWRlcixuLmF1ZGlvVHJhY2spKgoxRTMsbi5KLnRhcmdldEF1ZGlvUmVhZGFoZWFkTXMpO2I9TWF0aC5taW4oT2Iobi5sb2FkZXIsbi52aWRlb1RyYWNrKSoxRTMsbi5KLnRhcmdldFZpZGVvUmVhZGFoZWFkTXMpO3Y9TWF0aC5taW4oVyxiKTt2YXIgaz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTMse0IxOmgsbDE6eCxjdjpMLGFrOmV9PXlPWihuLGspO0Q9aDx2O3ZhciBHPXg8djtpZih1MShuKSl7az1vayhuLlcsayk7dmFyIHI9azx2O24uTC5XWCgpJiZyJiYhRCYmIUcmJm4ubG9hZGVyLlUoInNhYnJjcm5tIix7Y3JhOmssbXByYTp2LGNicmw6bi5XLmxlbmd0aH0pfWlmKCEoRHx8R3x8dTEobikmJnIpKXJldHVybiBuLnBvbGljeS51NSYmbi5MLldYKCkmJihMPHZ8fGU8dikmJm4ubG9hZGVyLlUoInNhYnJuY3JxIix7Y2FyOmgsdmFjOngsYWJoOkwsdmJoOmUsbWFyOlcsbXZyOmJ9KSxaayhuLCJyZWFkYWhlYWRtZXQiKSwhMTtpZihuLnBvbGljeS5SVyYmRVJTKG4ubG9hZGVyKSYmbi52aWRlb0RhdGEuTlAoKSlyZXR1cm4gWmsobiwKInNob3J0c2J1ZmZlcmVkdG9lbmQiKSwhMTtpZihuLnBvbGljeS5XZCYmRVJTKG4ubG9hZGVyKSlyZXR1cm4gWmsobiwidm9kYnVmZmVyZWR0b2VuZCIpLCExO3I9bi5sb2FkZXIueXIoKTtyLmNhcj1oO3IudmFjPXg7ci5tYXI9VztyLm12cj1iO3IudGFyPW4uSi50YXJnZXRBdWRpb1JlYWRhaGVhZE1zO3IudHZyPW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zO3IucGNsPW4uSi5wbGF5YmFja0Nvb2tpZT8ubGVuZ3RofHwwO3IudmJ1PXJrKG4uTC5oNSgpPy5KKCl8fG51bGwpO3IuYWJoPUw7ci52Ymg9ZTtpMShuLHIpO3JldHVybiEwfTsKdWtoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE9xKDAsbi5LdS5ZLG4pO24uazYuRD0hMTtuLnBvbGljeS52WCYmbi5sb2FkZXIuVSgic2FicmNzYyIse3RvOm4ucG9saWN5LlRJLHJsOm4ucG9saWN5LnN6LHNidDpuLnBvbGljeS5DdT8xOjB9LCEwKTtuPVBPdChuLEQsVyk7bi5wb2xpY3kuRkYmJihuLlU4PW4ucG9saWN5LmpfKCkuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NyZWF0ZSgpKTtyZXR1cm4gbn07Cm9SdD1mdW5jdGlvbihuLFcpe2l5aShuKSYmKFc9dWtoKG4sVyksbi5OLnB1c2goVyksbi5ZPy5OKG4uS3UuWSksbi5WPjAmJm4uUyQuRXkrKyl9OwpQT3Q9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtpajpuLmlqLEJlOihrLGgpPT57bi5MLkthKGssaCl9LApORDpuLnBvbGljeS5XLEtwOm4ucG9saWN5LktwfTtuLmlqLkouViYmKGIucVk9KG4udmlkZW9UcmFjay5QSi5pbmZvLk5zfHwwKSsobi5hdWRpb1RyYWNrLlBKLmluZm8uTnN8fDApKTtuLnBvbGljeS5VVCYmKGIuTzg9bi5hdWRpb1RyYWNrLlBKLmluZGV4LlVjKCksYi5Rbj0hMSk7dmFyIHY9dW5VKFcsbi5wb2xpY3ksbi5ubik/MjoxO3YhPT1uLm51JiYobi5udT12LG0wTShuKSk7RD1kMGIobixEKTtpZihuLnBvbGljeS5ZJiZuLnBvbGljeS5XJiZELlJBKXtsZXQgaz12PSIiO2ZvcihsZXQgaCBvZiBELlJBKW4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5oYXMoaCl8fG4ucG9saWN5LlkmJkQuYkomJkQuYkoudHlwZT09PWg/dis9YF8ke2h9YDprKz1gXyR7aH1gO24ubG9hZGVyLlUoInNhYnJibGRycXMiLHtjdHh0czp2LG1pc2N0eHRzOmt9KX0hVy5zZXREYXRhKEQsbi5wb2xpY3ksbi5ubikmJm4ucG9saWN5LlkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKCJwbGF5ZXIuZXhjZXB0aW9uIiwKe3JlYXNvbjoiYnVpbGRzYWJycmVxdWVzdGRhdGFmYWlsZWQifSwxKTtiPW5ldyB1dShuLnBvbGljeSxXLG4uS3Usbi5ubixuLGIsbi5sb2FkZXIuVTQoKSk7aXUobi50aW1pbmcpO24ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyY3JxaW5mbyIse3JuOmIuY0EoKSxwcm9iZTpXLkQ1KCl9KTtyZXR1cm4gbi5GRj1ifTsKRXE9ZnVuY3Rpb24obixXKXtVcShuKTtuLmxvYWRlci5TVygpO3JldHVybiBQNihXLG4ubG9hZGVyLmlzU2Vla2luZygpKX07CnUxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBvbGljeS55RSYmISFuLlh9Owp5dT1mdW5jdGlvbihuLFcsRCl7bj1uLmxvYWRlci5TVygpfHwwO3JldHVybiBvayhXLChEK24pKjFFMykvMUUzK0R9OwpkMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1kaihuLmxvYWRlcikmJlcmJlcuU3MhPT12b2lkIDAmJiFXLmJNP01hdGguY2VpbCgoVy5Tcysobi5sb2FkZXIuU1coKXx8MCkpKjFFMyk6VXEobik7aWYobi5wb2xpY3kudTUpe3ZhciBiPW4udHc7dmFyIHY9bi5iZH1lbHNlIGI9RXEobixuLmF1ZGlvVHJhY2spLHY9RXEobixuLnZpZGVvVHJhY2spO3ZhciBrPVsuLi5iLmVXLC4uLnYuZVddO3UxKG4pJiZrLnB1c2goLi4ubi5XKTt2YXIgaD1bLi4uYi5CaSwuLi52LkJpXSx4PVtdO2Zvcih2YXIgTCBvZiBoKUwudkQhPT12b2lkIDAmJkwudkQ+TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/bi5sb2FkZXIuVSgic2FicnBzZWdsbXQiLHtsbXQ6TC52RCxpdGFnOkwuZm9ybWF0SWQ/Lml0YWcsc3E6TC5zZXF1ZW5jZU51bWJlcn0pOngucHVzaChMKTtoPW4ubG9hZGVyLmx1KCk7bi5wb2xpY3kuWW4mJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEw9bi52aWRlb0RhdGEubGVuZ3RoU2Vjb25kcyoKMUUzLEQ+PUwmJm4ubG9hZGVyLlUoImludmFsaWRTYWJyQ210Iix7Y210OkQsdmQ6TH0pKTtMPW4uaWo7dmFyIGU9bi5MLEc9bi5LdSxyPW4uSixOPW4udmlkZW9EYXRhLmJkLEg9bi5wb2xpY3ksQT1uLmxvYWRlci5xRyx5PW4uVlE/LmtFLFQ9bi5WUT8uVW0sej1uLkc3LEM9TnVtYmVyKG4uazYuWD8uaW5mby5pdGFnKXx8MCxRPU51bWJlcihuLms2Lmo/LmluZm8uaXRhZyl8fDAsVj1uLkwudzkoKTt2YXIgTHQ9Vz8uSiQ/Vy5KJDpuLmxvYWRlci5pc1N1c3BlbmRlZD80OnZvaWQgMDtEPXtpajpMLEw6ZSxLdTpHLGVXOmssQmk6eCxuUjpELG5leHRSZXF1ZXN0UG9saWN5OnIsUkE6TixvWjpILHB6OkEsa0U6eSxVbTpULEc3OnosdU06QyxyRzpRLHEkOmgscjg6VixKJDpMdCxDeDpuLkN4LGdEOm4uUFgsSGU6bi5IZX07az1uLmxvYWRlci5NWSgpO3g9Zy5kMShrKTtrJiYoRC5kTj14KTtpZihXPWRqKG4ubG9hZGVyKSYmVz8uYk0/Vy5TczpuLkwuZUooKSlELmo0PVcqMUUzO1c9bi5rNjsKaz1XLnR3O2lmKFcub1o/LkR0KCkmJiFrKWZvcih0aSBvZiBXLlcpaWYodGkua1ope2s9ITA7YnJlYWt9dmFyIHRpPVcub1ouRHQoKSYmIWs/W106TyRpKFcsVy5XKTtELkdoPXRpO3RpPW4uazY7dGkub1ouRHQoKSYmIXRpLmJkP3RpPVtdOihXPUtqaSh0aSksVy5sZW5ndGg9PT0wJiYoVz10aS5WKSx0aT1PJGkodGksVykpO0QuTSQ9dGk7RC5Fdj11MShuKT9bbi5YXTp2b2lkIDA7RC5JOD1BcnJheS5mcm9tKHdDKG4uazYuTikua2V5cygpLE51bWJlcik7RC5sbD1uLms2LmxsKCk7bi5wb2xpY3kuS0UmJihELllzPXpTMihuLmxvYWRlcixuLmF1ZGlvVHJhY2spLEQuZXE9elMyKG4ubG9hZGVyLG4udmlkZW9UcmFjaykpO3RpPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk7Yj15dShuLGIuZVcsdGkpO3Y9eXUobix2LmVXLHRpKTt2PU1hdGgubWluKGIsdik7bi5UQz12O24ucG9saWN5LlUxJiYodTEobikmJihiPXl1KG4sbi5XLHRpKSxuLkwuV1goKSYmYjx2JiZuLmxvYWRlci5VKCJzYWJyY2ZiIiwKe21ldDp2LGNldDpiLGNicmw6bi5XLmxlbmd0aH0pLHY9TWF0aC5taW4odixiKSksIW4ucG9saWN5LlgmJihiPW4uc1U/LlNQKHYpKSkmJihELk15PWIsbi5sb2FkZXIuVSgic2RhaSIse3NzaW5mbzpiLmN1ZXBvaW50SWR9KSk7bi5wb2xpY3kuWCYmKGI9bi52aWRlb0RhdGEuYkJbbi52aWRlb0RhdGEuSj8uY29udGFpbmVyVHlwZXx8MF0sdis9bi5sb2FkZXIuU1coKSxELmJLPW4uVk8/LlkodixiKSxELmJLJiZuLmxvYWRlci5VKCJjbHNkYWkiLHtzc2luZm9zOkQuYksubGVuZ3RofSksbi5WTz8uTygpKTtuLnBvbGljeS5ZJiZuLk4ubGVuZ3RoPjAmJm4uTlswXS5ETCgpJiYoRC5iSj1uLk5bMF0ubWYoKSk7cmV0dXJuIER9OwpVcT1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5qJiZuLmxvYWRlcj8uWFgoKSxEPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCl8fDA7RD1sSWIobixEKTthOmlmKG4ucG9saWN5LmZtJiZuLmxvYWRlci5pc1NlZWtpbmcoKSl7dmFyIGI9QTAobi52aWRlb1RyYWNrLEQpO24ubG9hZGVyLlUoImFzbXRmbmN0diIse2I6RCxhOmJ9KTtpZighaXNOYU4oYikpe0Q9YjticmVhayBhfX1iPW4ubG9hZGVyLlNXKCl8fDA7RCs9YjtiPVlwKG4udmlkZW9EYXRhKXx8Zy5wQShuLnZpZGVvRGF0YSk7dmFyIHY9MDtXPyhiJiYodj1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksbi52aWRlb0RhdGEuUkkmJih2PU1hdGguY2VpbChuLnZpZGVvRGF0YS5KVSoxRTMpKSk6dj1NYXRoLmNlaWwoRCoxRTMpO3JldHVybiBNYXRoLm1pbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUix2KX07CmxJYj1mdW5jdGlvbihuLFcpe2lmKG4ubG9hZGVyLmlzU2Vla2luZygpKXJldHVybiBXO3ZhciBEPW4uTC5oNSgpO2lmKCFEKXJldHVybiBXO0Q9RC5KKCk7aWYoRC5sZW5ndGg9PT0wfHxCUihELFcpKXJldHVybiBXO2lmKCFuLnZpZGVvVHJhY2suZnAoVykmJiFuLmF1ZGlvVHJhY2suZnAoVykpcmV0dXJuIG4ubG9hZGVyLlUoInN1bmRybiIse2I6MCxsdDpXfSksVzt2YXIgYj1XLHY9SW5maW5pdHk7Zm9yKGxldCBrPTA7azxELmxlbmd0aDtrKyspe2lmKEQuc3RhcnQoayk+Vyljb250aW51ZTtsZXQgaD1XLUQuZW5kKGspO2g8diYmKHY9aCxiPUQuZW5kKGspKX1yZXR1cm4gYiE9PVcmJihuLmxvYWRlci5VKCJzdW5kcm4iLHticmU6YixsdDpXfSksdj49MjApPyhuLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIse3JlYXNvbjoiYnVmZmVydW5kZXJydW5leGNlZWRzbGltaXQifSksVyk6Yn07Cm9rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPS0xO2ZvcihsZXQgdiBvZiBuKWlmKCEodi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXM8Vykpe2lmKGI8MCYmdi5zdGFydFRpbWVNcz5XfHxiPj0wJiZ2LkFDPmIrMSlicmVhaztEPU1hdGgubWF4KEQsdi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXMpO2I9TWF0aC5tYXgoYix2Lmk5KX1yZXR1cm4gTWF0aC5tYXgoMCxELVcpfTsKWms9ZnVuY3Rpb24obixXKXtuLkdDPVc7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcmIiLHtyZWFzb246V30pfTsKVTBaPWZ1bmN0aW9uKG4sVyl7YTp7aWYobi5WPjApe3ZhciBEPU1hdGguZmxvb3IoKDAsZy5SKSgpLzFFNCk7aWYoRD09PVcuWGope2lmKFcuRXk+PW4uVil7aWYoVy5FeT09PW4uVil7RD17cmVhc29uOiJ0b29tYW55cmVxdWVzdHMifTtELmxpbWl0PVcuRXk7aWYobi5GRil7bGV0IGI9RGsobi5GRi5pbmZvKTtELmxyX3B0aW1lPWIucHRpbWU7RC5scl9ydHlwZT1iLnJ0eXBlO0QubHJfYnJsPWIuYnJsO0QubHJfcHM9Yi5wc31uLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIsRCk7Vy5FeSs9MX1XPSExO2JyZWFrIGF9fWVsc2UgVy5Yaj1ELFcuRXk9MH1XPSEwfXJldHVybiFXfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmbi5sb2FkZXIuT00/ITE6bi5qJiYoMCxnLlIpKCk8bi5qPyhnLkphKG4ubG9hZGVyLmoyKSwhMSk6bi5OLmxlbmd0aD4wJiYoIW4ucG9saWN5Lll8fG4uTi5sZW5ndGghPT0xfHwhbi5OWzBdLkRMKCkpfHwhbi5LdS5ZPy5ZKG4ucG9saWN5LG4ubm4sCm4ubG9hZGVyLkl3KXx8bi5EdD8hMTohMH07CmkxPWZ1bmN0aW9uKG4sVyl7bi5HQz12b2lkIDA7bi5ZWj0oMCxnLlIpKCk7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcnEiLFcpfTsKeU9aPWZ1bmN0aW9uKG4sVyl7dmFyIHtjdjpELGFrOmJ9PVRKYihuKTtpZihuLnBvbGljeS51NSl7dmFyIHY9b2sobi50dy5lVyxXKTtuPW9rKG4uYmQuZVcsVyl9ZWxzZSB2PUQsbj1iO3JldHVybntCMTp2LGwxOm4sY3Y6RCxhazpifX07Cm0wTT1mdW5jdGlvbihuKXtuLnZpZGVvRGF0YS5iZC5jbGVhcigpO2lmKG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKHZhciBXIG9mIG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5rZXlzKCkpbi52aWRlb0RhdGEuc2FickNvbnRleHRVcGRhdGVzLmdldChXKT8uc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcpO2lmKG4ucG9saWN5LlkmJm4uTi5sZW5ndGgpZm9yKGxldCBEIG9mIG4uTikoVz1ELm1mKCkpJiZXLnR5cGUmJlcuc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcudHlwZSl9Owptdj1mdW5jdGlvbihuKXtmb3IoO24uTi5sZW5ndGgmJm4uTlswXS5CNihuLkUxKCkpOyl7bGV0IFc9bi5OLnNoaWZ0KCk7ajlDKG4sVyl9bi5OLmxlbmd0aCYmajlDKG4sbi5OWzBdKX07Cmo5Qz1mdW5jdGlvbihuLFcpe1cgaW5zdGFuY2VvZiB1dSYmKG4uZSQ9Vyk7dmFyIEQ9bmV3IFNldChXLlNKKG4uRTEoKSkpO2ZvcihsZXQgaCBvZiBEKXtpZihEPVcgaW5zdGFuY2VvZiBLRCl7RD1uLms2O3ZhciBiPXl5eChELGgpLHY9bkQoRCxELnZpZGVvSW5mb3MpLmluY2x1ZGVzKGgpOyFELm9aLlRQfHxifHx2fHxELmxvYWRlci5VKCJzYWJyY3BmIix7ZmlkOmAke2h9YCx2ZmlkczpgJHtuRChELEQudmlkZW9JbmZvcykuam9pbigiLiIpfWAsc2FpZDpELll8fCIifSk7RD0hKGJ8fHYpfWlmKEQpY29udGludWU7RD1XIGluc3RhbmNlb2YgdXU/eUIoVyk6dm9pZCAwO2lmKEQhPT12b2lkIDApe2lmKCFXLlFBKGgsbi5FMSgpKSljb250aW51ZTtiPW4uS3UuSi5nZXQoaCk7aWYoIWIpY29udGludWU7bi5wb2xpY3kueUUmJmIuaW5mby5OKCl8fChiLmluZm8uZVMoKT9uLmF1ZGlvVHJhY2s6bi52aWRlb1RyYWNrKS5aYyhELGgpO2NvbnRpbnVlfUQ9Vy5mMyhoLG4uRTEoKSk7Yj1uLnBvbGljeS55RSYmCkQubGVuZ3RoPjAmJkRbMF0uUEouaW5mby5OKCk7aWYoIVcuUUEoaCxuLkUxKCkpKWNvbnRpbnVlO3Y9Vy54OShoLG4uRTEoKSk7Zm9yKGxldCB4IG9mIHYpe24ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBLRCYmbi5sb2FkZXIuVSgib21ibHNzIix7czp4LmluZm8uZ2EoKX0pO2lmKGIpe3Y9bi50aW1pbmc7di5EfHwodi5EPSgwLGcuUikoKSxnLkVHKCJmY2JfciIsdi5ELHYuelIpKTtpZihuLnBvbGljeS5rdSl7dj1nLlZmKHguaW5mby5QSi5pbmZvLG4uS3UuelcpO3ZhciBrPXguaW5mby5qJDtpZihuLksmJk1rKG4uSyk9PT1Nayh2KSYmazw9bi5jSiljb250aW51ZTt4LmluZm8uYVomJihuLks9dixuLmNKPWspfXY9bjt2LnZpZGVvRGF0YS56VygpJiZ2LlgmJk1rKHYuWCk9PT1NayhnLlZmKHguaW5mby5QSi5pbmZvLHYuS3UuelcpKSYmdi5MLldKKCJzYWJyQ2FwdGlvbnNEYXRhTG9hZGVkIix4LHYueUUuYmluZCh2KSk7Y29udGludWV9dj14LmluZm8uUEouaW5mby5lUygpO2s9eC5pbmZvLlBKOwpsZXQgTD1XIGluc3RhbmNlb2YgS0Q/MToyO2lmKHYpe2lmKG4uazYuWHIoayxMLFcuSmQobi5FMSgpKT8udG9rZW4pKWNvbnRpbnVlfWVsc2Ugbi5rNi5EUihrLEwsVy5KZChuLkUxKCkpPy50b2tlbik7az12P24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7VyBpbnN0YW5jZW9mIEtEJiYoay5qPSExLFcgaW5zdGFuY2VvZiBLRCYmKHY/Z2oxKG4udGltaW5nKTplN2Iobi50aW1pbmcpKSk7dHJ5e2suV2coRCx4KX1jYXRjaChlKXt2PUIkKGUpLG4ubG9hZGVyLmhhbmRsZUVycm9yKHYuZXJyb3JDb2RlLHYuZGV0YWlscyx2LnNldmVyaXR5KSxrLnppKCksbi5YJCghMSwicHVzaFNsaWNlIiksZy5BZyhuLmxvYWRlcil9fX19OwpPeVo9ZnVuY3Rpb24obixXKXtuLnBvbGljeS5ZP24uTi5zcGxpY2Uobi5OLmluZGV4T2YoVykpLmZvckVhY2goRD0+e0QuZGlzcG9zZSgpfSk6KG4uTi5wb3AoKSxXPy5kaXNwb3NlKCkpfTsKQ09qPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PG4uTi5sZW5ndGg7disrKVcmJm4uTlt2XWluc3RhbmNlb2YgS0Q/Yi5wdXNoKG4uTlt2XSk6KG4ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyZGlzIix7ZDpuLk5bdl0uY0EoKSxzcmM6RH0pLG4uTlt2XS5kaXNwb3NlKCkpO24uTj1ifTsKQkp0PWZ1bmN0aW9uKG4sVyl7aWYoVy50bigpfHxXLnFOKCkpe3ZhciBEPW4ubG9hZGVyLGI9RC5VLHY9Vy5zdGF0ZTtuPW4uRTEoKTtXPVcubkE/LmdldChuKT8uWSgpPz8tMTtiLmNhbGwoRCwic2Ficm9tYiIse3M6dix0Ynl0ZXM6V30pfWVsc2V7RD1XLlNKKG4uRTEoKSk7Yj0hMTtmb3IobGV0IGsgb2YgRClpZih2PW4uazYsbkQodix2LnZpZGVvSW5mb3MpLmluY2x1ZGVzKGspKXtiPSEwO2JyZWFrfWlmKEQubGVuZ3RoPT09MHx8YiluLlBYPSEwO24uTi5wdXNoKFcpO1cuWEwucHVzaChuKTtpdShuLnRpbWluZyk7bi5wb2xpY3kuclcmJlcuYlAmJm4udVEoVy5iUCxXLmNBKCkpfX07ClRKYj1mdW5jdGlvbihuKXt2YXIgVz1uLmF1ZGlvVHJhY2suenMoITApKjFFMztuPW4udmlkZW9UcmFjay56cyghMCkqMUUzO3JldHVybntjdjpXLGFrOm59fTsKRllDPWZ1bmN0aW9uKG4se1NzOlcsYk06RH0pe2lmKFc9PT12b2lkIDApcmV0dXJuITE7Vz1EP24uTC5sSyhXKTpXO2lmKFc9IW4ubG9hZGVyLmZwKFcpJiZVMFoobixuLkN1KSl7Vz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTM7bGV0IHtCMTpiLGwxOnZ9PXlPWihuLFcpO1c9Yj49N0UzJiZ2Pj03RTN9cmV0dXJuIFd9Owp3Qng9ZnVuY3Rpb24obixXKXtuLmRlbGF5Py5kaXNwb3NlKCk7bi5kZWxheT1udWxsO3ZhciBEPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KChiLHYpPT5iLm1lZGlhVGltZS12Lm1lZGlhVGltZSk7CkQubGVuZ3RoIT09MCYmKFc9KERbMF0ubWVkaWFUaW1lLVcpKjFFMy9uLkwuZ2V0UGxheWJhY2tSYXRlKCksbi5kZWxheT1uZXcgZy5mXygoKT0+e3pjKG4pfSxXPjUwMD9XLTUwMDpXKSxuLmRlbGF5LnN0YXJ0KCkpfTsKemM9ZnVuY3Rpb24obixXKXtpZihsMShuLkwuZ2V0UGxheWVyU3RhdGUoKSkmJm4uTi5zaXplIT09MCl7Vz1XPz9BcnJheS5mcm9tKG4uTi52YWx1ZXMoKSkuc29ydCgodixrKT0+di5tZWRpYVRpbWUtay5tZWRpYVRpbWUpOwp2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj0oV1swXS5tZWRpYVRpbWUtRCkqMUUzL24uTC5nZXRQbGF5YmFja1JhdGUoKTtpZihiPDUwMCl7RD1iPjA/bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpOkQ7Zm9yKGxldCB2IG9mIFcpaWYoRD49di5tZWRpYVRpbWUpdi5yZXNvbHZlKFt2Lm1lZGlhVGltZSx2LmlkXSksbi5OLmRlbGV0ZSh2LmlkKTtlbHNlIGJyZWFrfXdCeChuLEQpfX07Ck1fdz1mdW5jdGlvbihuLFcsRCl7bi5OLmRlbGV0ZShEKTtyZXR1cm4gbmV3IFByb21pc2UoYj0+e24uTi5zZXQoRCx7aWQ6RCxtZWRpYVRpbWU6VyxyZXNvbHZlOmJ9KTtiPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KCh2LGspPT52Lm1lZGlhVGltZS1rLm1lZGlhVGltZSk7CkQ9PT1iWzBdLmlkJiZ6YyhuLGIpfSl9OwpROWI9ZnVuY3Rpb24obil7dmFyIFc9bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpLEQ9bi5YLlIzKFcpO1JTQyhuLEQsVyk7bi5pc1NlZWtpbmc9ITE7dmFyIGI9QXJyYXkuZnJvbShuLk4ua2V5cygpKS5maWx0ZXIodj0+dj49RCkuc29ydCgodixrKT0+di1rKTsKZm9yKGxldCB2IG9mIGIpYj12PT09RD9XLW4uWC5nZXRTdGFydFRpbWUoRCk6MCxuLksodixuLk4uZ2V0KHYpLGIpfTsKVl8yPWZ1bmN0aW9uKG4sVyxELGI9ITEpe1chPT1uLktZJiYobi5LWT1XLG4uTC5XSigicGxheWJhY2tzdGFydGVkIixXLEQrbi5MLlNXKCksYikpfTsKUlNDPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLk4uZ2V0KFcpLHY9bi5YLmdldFN0YXJ0VGltZShXKSxrPW4uWC5nZXREdXJhdGlvbihXKSxoPXY7KGI/Lk4/P1tuLmNwbl0pLmZvckVhY2goKHgsTCk9Pnt2YXIgZT1iPy5KW0xdPz9rO0Q+PWgmJkQ8aCtlJiYoTD14IT09bi5jcG4/aC0oYj8uWFtMXT8/MCk6aCxuLko9eCxWXzIobix4LEwsITApKTtoKz1lfSl9OwpjT3c9ZnVuY3Rpb24obixXKXsobi5XLmdldChXKT8/W10pLmZvckVhY2goRD0+e24uai5OLmRlbGV0ZShEKX0pOwpuLlcuZGVsZXRlKFcpfTsKYUlaPWZ1bmN0aW9uKG4sVyxELGIpe24uSj1EO0Q9YCR7V30uJHtEfWA7bi5XLmhhcyhXKT9uLlcuZ2V0KFcpLnB1c2goRCk6bi5XLnNldChXLFtEXSk7TV93KG4uaixiLEQpLnRoZW4oKFt2LGtdKT0+e3ZhciBbaCx4XT1rLnNwbGl0KCIuIik7WyxrXT1bTnVtYmVyKGgpLHhdO1ZfMihuLGssdil9KX07CldYaD1mdW5jdGlvbihuLFcsRCxiLHYsayl7cmV0dXJuIFcuVDcmJlcuRTUmJkQ9PT0zP25ldyBudTEobixXLGIsdixrKTpudWxsfTsKRExiPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuRDIpe3ZhciBEPVcuaW5mby5OcyxiPUdEKG4uc2NoZWR1bGUpO1c9Vy5pbmRleC5VYygpO0Q9TWF0aC5tYXgoMSxiL0QpO24uWT1NYXRoLnJvdW5kKE1hdGgubWF4KCgoRC0xKSpXK24ucG9saWN5LndhKS9ELFctbi5wb2xpY3kuTWwpKjFFMyl9fTsKa25yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RGF0ZS5ub3coKS8xRTMsYj1ELW4uc3RhcnRUaW1lU2Vjcyx2PUQtbi5WLGs9dj49bi5wb2xpY3kuT04saD0hMTtpZihrKXtsZXQgeD0wOyFpc05hTihXKSYmVz5uLmomJih4PVctbi5qLG4uaj1XKTt4L3Y8bi5wb2xpY3kuSVcmJihoPSEwKTtuLlY9RH1EPWI+PW4ucG9saWN5Lk1sJiYhbi5XO2lmKCFrJiYhRCYmYkZqKG4sVykpcmV0dXJuIE5hTjtEJiYobi5XPSEwKTthOntiPWg7RD0oMCxnLlIpKCkvMUUzLShuLnF6LkxnKCl8fDApLW4uSy5XLW4ucG9saWN5LndhO2s9bi5KLnNlZ21lbnRTdGFydFRpbWU7RD1rK0Q7aWYoYil7aWYoaXNOYU4oVykpe1RjKG4sTmFOLCJuIixXKTtrPU5hTjticmVhayBhfWI9Vy1uLnBvbGljeS5FVDtiPEQmJihEPWIpfWVsc2Ugbi5XJiYoYj1EK24ucG9saWN5LndhLW4uTytuLnBvbGljeS5BTCxpc05hTihXKXx8KGI9TWF0aC5tYXgoYixNYXRoLm1pbihELFctbi5wb2xpY3kuRVQpKSksRD1iKTtrPUQ9TWF0aC5tYXgoRCwKayl9bi5OPWs7aWYoaXNOYU4obi5OKSlyZXR1cm4gbi5jbGVhcigpLE5hTjtpZighaCYmYkZqKG4sVykpcmV0dXJuIHZ1TShuLFcpLE5hTjtpZihuLk48PW4uSi5zZWdtZW50U3RhcnRUaW1lKXJldHVybiBUYyhuLE5hTiwieSIsVyksbi5jbGVhcigpLE5hTjtpZighbi5EKG4uTiwhMSkpcmV0dXJuIXZ1TShuLFcpJiZoJiYoVGMobixOYU4sInQiLFcpLG4uY2xlYXIoKSksTmFOO2g9bi5OO1RjKG4saCwicyIsVyk7bi5jbGVhcigpO3JldHVybiBofTsKYkZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlzTmFOKFcpPyEwOmlzTmFOKG4uTik/ITE6VzxuLk4rKG4uVz9uLnBvbGljeS5FVDpuLnBvbGljeS5neCl9Owp2dU09ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5EKG4uTiwhMCk/ITE6KFRjKG4sTmFOLCJucyIsVyksbi5jbGVhcigpLCEwKX07ClRjPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4uWC55MCgpO3Yuc3NyX3NrPShXKjFFMykudG9GaXhlZCgwKTt2LnNzcl90PShuLk4qMUUzKS50b0ZpeGVkKDApO3Yuc3NyX3I9RDt2LnNzcl9zdD0obi5zdGFydFRpbWVTZWNzKjFFMykudG9GaXhlZCgwKTt2LnNzcl9uPSgwLGcuUikoKS50b0ZpeGVkKDApO3Yuc3NyX2Y9KG4uSy5XKjFFMykudG9GaXhlZCgwKTt2LnNzcl9mYT1uLlc/IjEiOiIwIjt2LnNzcl9vPShuLnF6LkxnKCkqMUUzfHwwKS50b0ZpeGVkKDApO3Yuc3NyX3Y9KGIqMUUzKS50b0ZpeGVkKDApO1c9bi5KLlBKLmluZGV4O1cuTUkobi5KLmokLCEwKSYmKHYuc3NyX2lzdD0oVy5nZXRTdGFydFRpbWUobi5KLmokKSoxRTMpLnRvRml4ZWQoMCksdi5zc3JfaWQ9KFcuZ2V0RHVyYXRpb24obi5KLmokKSoxRTMpLnRvRml4ZWQoMCkpO24ubG9hZGVyLlUoInNzciIsdil9OwpoUXg9ZnVuY3Rpb24oKXt2YXIgbj17fSxXPXdpbmRvdy5wZXJmb3JtYW5jZTtpZihXKXtsZXQgRD1XLm1lbW9yeTtEJiYobi5qc1RvdGFsPUQudG90YWxKU0hlYXBTaXplLG4uanNVc2VkPUQudXNlZEpTSGVhcFNpemUsbi5qc0xpbWl0PUQuanNIZWFwU2l6ZUxpbWl0LG4ubXNUb3RhbD1ELmdldE1lZGlhU291cmNlVG90YWxBbGxvY2F0ZWRNZW1vcnk/LigpPz9ELnRvdGFsTWVkaWFTb3VyY2VTaXplLG4ubXNMaW1pdD1ELmdldE1lZGlhU291cmNlTWF4aW11bU1lbW9yeUNhcGFjaXR5Py4oKT8/RC5tZWRpYVNvdXJjZVNpemVMaW1pdCxuLm1zVXNlZD1ELmdldE1lZGlhU291cmNlQ3VycmVudE1lbW9yeUNhcGFjaXR5Py4oKT8/RC51c2VkTWVkaWFTb3VyY2VNZW1vcnlTaXplKTtXLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkmJihuLmNiRnJlZT1XLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkoKSk7Vy5tZWFzdXJlVXNlZENwdU1lbW9yeSYmKG4uY2JVc2VkPVcubWVhc3VyZVVzZWRDcHVNZW1vcnkoKSl9d2luZG93Lmg1dmNjPy5jVmFsJiYKKG4uY2JGcmVlPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuQ1BVLkZyZWUiKSxuLmNiVXNlZD13aW5kb3cuaDV2Y2MuY1ZhbC5nZXRWYWx1ZSgiTWVtb3J5LkNQVS5Vc2VkIiksbi5jYkpzPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuSlMiKSk7cmV0dXJuIG59Owp4THQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5QcmVzc3VyZU9ic2VydmVyJiZuZXcgd2luZG93LlByZXNzdXJlT2JzZXJ2ZXIobil9OwpMWHI9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2F3YWl0IG4uan1jYXRjaHt9bi5XPy5kaXNjb25uZWN0KCl9OwpndUM9ZnVuY3Rpb24obixXKXtXP2VRai50ZXN0KG4pOihuPWcub0UobiksT2JqZWN0LmtleXMobikuaW5jbHVkZXMoImNwbiIpKX07CmpSPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17Zm9ybWF0OiJSQVcifSx4PXt9O2lmKGcuVGQobikmJmcuakgoKSl7bGV0IEw9Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpO0w/eFsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09TDpiP3hbIlgtR29vZy1WaXNpdG9yLUlkIl09YjpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKHhbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO0QmJih4WyJYLUdvb2ctUGFnZUlkIl09RCk7KGI9Vy5UQykmJiFnLnFGKFcpJiYoeFsiWC1Hb29nLUF1dGhVc2VyIl09Yik7diYmKHguQXV0aG9yaXphdGlvbj1gQmVhcmVyICR7dn1gKTtXLlMoImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyIpJiZXLllyJiZXLmRhdGFzeW5jSWQmJih4WyJYLVlvdVR1YmUtRGF0YVN5bmMtSWQiXT1XLmRhdGFzeW5jSWQpO2lmKFcuUygiZW5hYmxlX3JvbGxvdXRfdG9rZW5faGVhZGVyIikpe2xldCBlPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik/LmNsaWVudD8ucm9sbG91dFRva2VuOwplJiYoeFsiWC1Zb3VUdWJlLVJvbGxvdXQtVG9rZW4iXT1lKX1MfHx4WyJYLUdvb2ctVmlzaXRvci1JZCJdfHx2fHxEfHxiP2gud2l0aENyZWRlbnRpYWxzPSEwOlcuUygiaHRtbDVfc2VuZF9jcG5fd2l0aF9vcHRpb25zIikmJmVRai50ZXN0KG4pJiYoaC53aXRoQ3JlZGVudGlhbHM9ITApfU9iamVjdC5rZXlzKHgpLmxlbmd0aD4wJiYoaC5oZWFkZXJzPXgpO2smJihoLm9uRmluaXNoPWspO3JldHVybiBPYmplY3Qua2V5cyhoKS5sZW5ndGg+MT9oOm51bGx9OwpDRD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2cuakgoKSYmRC50b2tlbiYmKG49Zy56ZChuLHtjdHQ6RC50b2tlbixjdHR5cGU6RC55byxtZHhfZW52aXJvbm1lbnQ6RC5tZHhFbnZpcm9ubWVudH0pKTtiLlMoIm5ldF9waW5nc19sb3dfcHJpb3JpdHkiKSYmKFd8fChXPXt9KSxXLnByaW9yaXR5PSJsb3ciKTtrfHx4JiZiLlMoIm53bF9za2lwX3JldHJ5Iik/KFc9PW51bGw/Vz17fTpndUMobixiLlMoImh0bWw1X2Fzc2VydF9jcG5fd2l0aF9yZWdleCIpKSxoP2cuSFUoKS5zZW5kQW5kV3JpdGUobixXKTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShuLFcseCkpOlc/KGd1QyhuLGIuUygiaHRtbDVfYXNzZXJ0X2Nwbl93aXRoX3JlZ2V4IikpLEJXaihuLFcpKTpnLmdvKG4sdil9OwpYTmk9ZnVuY3Rpb24obil7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuO0QrKyl7bGV0IGI9e30sdj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOSoxRTgpKzFFOCxrPSIiO2ZvcihsZXQgaD0wO2g8OTtoKyspays9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MildO2IudmlkZW9EZWNvZGVyTmFtZT1rO2IuZWxhcHNlZFRpbWVNcz12O1cucHVzaChiKX1yZXR1cm4gV307CkJsPWZ1bmN0aW9uKG4sVyl7bj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5zZXQobixXKTtyZXR1cm4gWW8obik/U2soSFAobiksKCk9PiEwLCgpPT4hMSk6SFAoISFuKX07CnFScj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VCdWZmZXJlZFJhbmdlIixuPzE6MCl9OwpHbnc9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJIVFRQMyIsbj8xOjApfTsKdEZ4PWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUF0dGFjaG1lbnRNZXRob2RzIixuPzE6MCl9OwokTEM9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJRVUlDIixuPzE6MCl9OwpyYzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BdWRpb1dyaXRlRHVyYXRpb25Mb2NhbCIsbil9OwpzZ3c9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsbj8xOjApfTsKTjBTPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsbil9OwpwTnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb1JlbmRlcmVyTWluSW5wdXRCdWZmZXJzIixuKX07CllSdz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvUmVuZGVyZXJNaW5EZWNvZGVkRnJhbWVzIixuKX07CkhGWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLG4/MTowKX07CmZ5VT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVJlc2V0QXVkaW9EZWNvZGVyIixuPzE6MCl9OwpKY2I9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVGbHVzaER1cmluZ1NlZWsiLG4/MTowKX07Ckl5dz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsbil9OwpTUnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLG4/MTowKX07CkFjWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLG4/MTowKX07Cm1MMj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbj8xOjApfTsKS1haPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuRXhwZXJpbWVudGFsTWF4UGVuZGluZ0J5dGVzUGVyUGFyc2UiLG4pfTsKdmFyIE9XdD1mdW5jdGlvbihuKXtyZXR1cm4gZVhbSVsxMF1dKHRoaXMsMTksNzA4NyxuKX07Ck9GQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsbil9OwpQUXI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5NZWRpYUNvZGVjUmVzZXREZWxheU1zIixuKX07ClpGdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRpc2FibGVMb3dQZXJmb3JtYW5jZVNvZnR3YXJlRGVjb2RlIixuPzE6MCl9OwpVTDI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVBdjFTdGFydHVwT3B0aW1pemF0aW9uIixuPzE6MCl9Owp5YzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Vc2VEdWFsVGhyZWFkc0ZvclZpZGVvIixuPzE6MCl9OwpFdXQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CmlGVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CnVxdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIixuPzE6MCl9OwpvdTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG4/MTowKX07CmRMaT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLG4/MTowKX07CnpRUz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIixuPzE6MCl9OwpseTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLG4/MTowKX07ClQwVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixuPzE6MCl9OwpqZ2g9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Ta2lwVmlkZW9GcmFtZXNPdmVyNjBGcHMiLG4/MTowKX07CkNRQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZsdXNoQXVkaW9UcmFja0R1cmluZ1NlZWsiLG4/MTowKX07CkIwaj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkJ5cGFzc01vam9Gb3JNZWRpYSIsbj8xOjApfTsKRlgyPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuSWdub3JlTWVkaWFDb2RlY0NhbGxiYWNrc0R1cmluZ0ZsdXNoaW5nIixuPzE6MCl9OwpNRng9ZnVuY3Rpb24oKXt2YXIgbj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5nZXRQZXJzaXN0ZW50U2V0dGluZ0FzU3RyaW5nPy4oImNwdV91c2FnZV90cmFja2VyX2ludGVydmFscyIpO2lmKG4hPW51bGwpe249SlNPTi5wYXJzZShuKT8/W107dmFyIFc9bi5maWx0ZXIoRD0+RC50eXBlPT09InRvdGFsIikubWFwKEQ9PkQuc2Vjb25kcyk7CmZvcihsZXQgRCBvZiB3TjIpVy5pbmRleE9mKEQpPT09LTEmJm4ucHVzaCh7dHlwZToidG90YWwiLHNlY29uZHM6RH0pO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzX2VuYWJsZWQiLDEpO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzIixKU09OLnN0cmluZ2lmeShuKSl9fTsKUlFVPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93Lkg1dmNjUGxhdGZvcm1TZXJ2aWNlLFc9IiI7aWYobiYmbi5oYXMoImRldi5jb2JhbHQuY29hdC5jbGllbnRsb2dpbmZvIikmJihuPW4ub3BlbigiZGV2LmNvYmFsdC5jb2F0LmNsaWVudGxvZ2luZm8iLCgpPT57fSkpKXtsZXQgRD1uLnNlbmQobmV3IEFycmF5QnVmZmVyKDApKTsKRCYmKFc9U3RyaW5nLmZyb21DaGFyQ29kZSguLi4obmV3IFVpbnQ4QXJyYXkoRCkpKSk7bi5jbG9zZSgpfXJldHVybiBXfTsKVkZTPWZ1bmN0aW9uKG4pe3ZhciBXPXdpbmRvdy5INXZjY1BsYXRmb3JtU2VydmljZTtpZihXKXt2YXIgRD1RZ2kuZmluZChiPT5XLmhhcyhiKSk7CkQmJihEPVcub3BlbihELCgpPT57fSkpJiYoRC5zZW5kKEl3KGBjcG46ICR7bn1gKS5idWZmZXIpLEQuY2xvc2UoKSl9fTsKZy53aj1mdW5jdGlvbihuLFcsRCxiKXtnLkZCKG4sRCxgJHtXLnRvRml4ZWQoMyl9OiR7Yi5qb2luKCI6Iil9YCl9OwpNUD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtnLndqKG4sVywiY210IixbRC50b0ZpeGVkKDMpXSk7dmFyIGI9RD1uLnByb3ZpZGVyLm90KCk7aWYoKCFuLmp8fEFKKG4ucHJvdmlkZXIudmlkZW9EYXRhKT8wOmIqMUUzPm4uai52TysxMDApJiZuLmope2I9bi5qLmlzQWQ7RD1EKjFFMy1uLmoudk87bi5lST1XKjFFMy1uLmoudFMtRC1uLmouT2E7dmFyIHY9KDAsZy5SKSgpLUQ7Vz1uLmVJO0Q9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIGs9RC5pc0FkKCk7aWYoYnx8ayl7az1gJHtiPyJhZCI6InZpZGVvIn1fdG9fJHtrPyJhZCI6InZpZGVvIn1gO3ZhciBoPXt9O0Qua1cmJihoLmN0dEF1dGhJbmZvPXt0b2tlbjpELmtXLHZpZGVvSWQ6RC52aWRlb0lkfSk7aC5zdGFydFRpbWU9di1XO2cuYmQoayxoKTtnLm5sKHt0YXJnZXRWaWRlb0lkOkQudmlkZW9JZCx0YXJnZXRDcG46RC5jbGllbnRQbGF5YmFja05vbmNlfSxrKTtnLmFMKCJwYnMiLHYsCmspfWVsc2Ugdj1uLnByb3ZpZGVyLkwuZUcoKSx2LlYhPT1ELmNsaWVudFBsYXliYWNrTm9uY2U/KHYuaj1ELmNsaWVudFBsYXliYWNrTm9uY2Usdi5KPVcpOkQuTlAoKXx8Zy5HcShuZXcgZy5ReCgiQ1NJIHRpbWluZyBsb2dnZWQgYmVmb3JlIGdsbGF0Iix7Y3BuOkQuY2xpZW50UGxheWJhY2tOb25jZX0pKTtuLlUoImdsbGF0Iix7bDpuLmVJLnRvRml4ZWQoKSxwcmV2X2FkOitifSk7ZGVsZXRlIG4uan19OwpnLkZCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkouZ2V0KFcpO2I/Yi5wdXNoKEQpOm4uSi5zZXQoVyxbRF0pfTsKUXU9ZnVuY3Rpb24obixXKXtuLmlzT2ZmbGluZT1XO2cud2oobixnLlJrKG4ucHJvdmlkZXIpLCJpc19vZmZsaW5lIixbbi5pc09mZmxpbmU/IjEiOiIwIl0pfTsKVnU9ZnVuY3Rpb24obixXLEQpe2lmKCFpc05hTihELlc3KSl7bGV0IGI9RC5XNztELko8YiYmKGI9RC5KKTtnLndqKG4sVywiYmgiLFtiLnRvRml4ZWQoMyldKX19OwpjbD1mdW5jdGlvbihuLFc9TmFOKXtXPVc+PTA/VzpnLlJrKG4ucHJvdmlkZXIpO3ZhciBEPW4ucHJvdmlkZXIuTC5ISygpLGI9RC5Fci0obi52Snx8MCk7Yj4wJiZnLndqKG4sVywiYndtIixbYiwoRC5vdy0obi5FNXx8MCkpLnRvRml4ZWQoMyldKTtpc05hTihuLnZKKSYmRC5FciYmbi5pc09mZmxpbmUmJlF1KG4sITEpO24udko9RC5FcjtuLkU1PUQub3c7aXNOYU4oRC5iYW5kd2lkdGhFc3RpbWF0ZSl8fGcud2oobixXLCJid2UiLFtELmJhbmR3aWR0aEVzdGltYXRlLnRvRml4ZWQoMCldKTtuLnByb3ZpZGVyLkIuV1goKSYmT2JqZWN0LmtleXMoRC5OKS5sZW5ndGghPT0wJiZuLlUoImJ3aW5mbyIsRC5OKTtpZihuLnByb3ZpZGVyLkIuV1goKXx8bi5wcm92aWRlci5CLlMoImh0bWw1X2xvZ19tZW1pbmZvIikpYj1oUXgoKSxPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9PXZvaWQgMCkmJm4uVSgibWVtaW5mbyIsYik7Cm4ucHJvdmlkZXIuQi5XWCgpJiYoYj1uLnlFPy5YKCkpJiZPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9bnVsbCkmJm4uVSgiY3B1aW5mbyIsYik7Cm4uVEMmJmcud2oobixXLCJiYXQiLFtuLlRDLmxldmVsLG4uVEMuY2hhcmdpbmc/IjEiOiIwIl0pO2I9bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO24uVTUhPT1iJiYoZy53aihuLFcsInZpcyIsW2JdKSxuLlU1PWIpO01QKG4sVyk7KGI9Y2NaKG4ucHJvdmlkZXIpKSYmYiE9PW4uWSQmJihnLndqKG4sVywiY29ubiIsW2JdKSxuLlkkPWIpO1Z1KG4sVyxEKX07Cm5PTT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5SayhuLnByb3ZpZGVyKTtheVoobixiLFcsMCxEKTtjbChuLGIpO2FrKG4pfTsKbkM9ZnVuY3Rpb24obixXKXtnLkZCKG4sImNhdCIsVyl9OwpXVGg9ZnVuY3Rpb24obixXKXtXPXtjcG46bi5wcm92aWRlci52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxzZXF1ZW5jZU51bWJlcjpXLHNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQ6bi5wcm92aWRlci52aWRlb0RhdGEubTB9O24uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQmJihXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0PWxwKG4uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQpfHx2b2lkIDApO24ucHJvdmlkZXIudmlkZW9EYXRhLnBsYXllclJlc3BvbnNlQ3BuJiYoVy5wbGF5ZXJSZXNwb25zZUNwbj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5wbGF5ZXJSZXNwb25zZUNwbik7V3IubGVuZ3RoJiYoVy5kZWNvZGVySW5mbz1Xcik7bi5yZW1vdGVDb250cm9sTW9kZSYmKFcucmVtb3RlQ29udHJvbE1vZGU9bi5yZW1vdGVDb250cm9sTW9kZSk7Cm4ucmVtb3RlQ29ubmVjdGVkRGV2aWNlcy5sZW5ndGgmJihXLnJlbW90ZUNvbm5lY3RlZERldmljZXM9bi5yZW1vdGVDb25uZWN0ZWREZXZpY2VzKTtpZihuLlBYPy5sZW5ndGgpe1cuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhPVtdO2Zvcih2YXIgRCBvZiBuLlBYKXtsZXQgYj1nLmQxKEQpO2ImJlcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLnB1c2goYil9fSFuLmpXJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhJiYoVy5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhPVtdLEQ9Zy5kMShuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhKSkmJihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEucHVzaChEKSxuLmpXPSEwKTtuLlkuc2l6ZSYmKFcuZGFpQ3VlUG9pbnRFdmVudHM9QXJyYXkuZnJvbShuLlkudmFsdWVzKCkpKTtuLlkuY2xlYXIoKTtyZXR1cm4gV307CkRCaT1mdW5jdGlvbihuKXt2YXIgVz17Li4ubn07bi5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEmJihXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YS5tYXAoRD0+RCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Zy5FQShEKTpEKSk7Cm4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEubWFwKEQ9PkQgaW5zdGFuY2VvZiBVaW50OEFycmF5P2cuRUEoRCk6RCkpOwpuLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0JiYobj1uLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0LG4gaW5zdGFuY2VvZiBVaW50OEFycmF5JiYoVy5zZXJpYWxpemVkSG91c2VCcmFuZFBsYXllclNlcnZpY2VMb2dnaW5nQ29udGV4dD1nLkVBKG4pKSk7cmV0dXJuIFd9OwpiUFM9ZnVuY3Rpb24obixXLEQpe2cuSEUobi5wcm92aWRlci5CLG4ucHJvdmlkZXIudmlkZW9EYXRhLlYoKSkudGhlbihiPT57dmFyIHY9ITE7Vy5pbmNsdWRlcygiJmR0PSIpfHxXLmluY2x1ZGVzKCImY290bj0iKT92PSEwOm4ucHJvdmlkZXIuQi5TKCJxb2Vfd2l0aF9uZXR3b3JrbGVzcyIpJiYodj0hMCk7dmFyIGs9bi5wcm92aWRlci5CLlMoInFvZV9zZW5kX2FuZF93cml0ZSIpLGg9bi5wcm92aWRlci5CO2I9alIoVyxoLG4ucHJvdmlkZXIuQi5wYWdlSWQsbi5wcm92aWRlci5CLnNlbmRWaXNpdG9ySWRIZWFkZXI/bi5wcm92aWRlci52aWRlb0RhdGEudmlzaXRvckRhdGE6dm9pZCAwLGIpO2guUygiaHRtbDVfc2ltcGxpZnlfcGluZ3MiKSYmKGI9Ynx8e30pO2I/KGIubWV0aG9kPSJQT1NUIixiLnBvc3RCb2R5PUQsQ0QoVyxiLHt0b2tlbjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5rVyx5bzpuLnByb3ZpZGVyLnZpZGVvRGF0YS5RdixtZHhFbnZpcm9ubWVudDpuLnByb3ZpZGVyLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudH0sCmgsdm9pZCAwLHYsayYmbi5TJCkpOnY/KHY9bi5wcm92aWRlci5CLlMoIm5ldHdvcmtsZXNzX2FqYXgiKSxoPXttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9LGsmJm4uUyQ/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLGgpOnY/Zy5lZChXLHttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9KTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShXLGgpKTpndncoVyxEKX0pfTsKYWs9ZnVuY3Rpb24obil7aWYoIW4ucHJvdmlkZXIuQi5TKCJodG1sNV9xb2Vfbm9fbGVuX2NoZWNrIikpe3ZhciBXPTA7Zm9yKGxldCBbRCxiXW9mIG4uSi5lbnRyaWVzKCkpVys9RC5sZW5ndGgrTnVtYmVyKGcudV8oYiwodixrKT0+ditrLmxlbmd0aCwwKSk7Clc+OTZFMyYmKG5ldyBnLmZfKG4ucmVwb3J0U3RhdHMsMCxuKSkuc3RhcnQoKX19Owp2TzI9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuWVomJm5DKG4sInByZWZldGNoIik7bi5wcm92aWRlci52aWRlb0RhdGEuUyQmJm4uVSgicmVsb2FkIix7cjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5yZWxvYWRSZWFzb24sY3Q6bi5wcm92aWRlci52aWRlb0RhdGEuUyR9KTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5JUiYmbkMobiwibW9uaXRvciIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuQyhuLCJsaXZlIik7TnMmJm5DKG4sInN0cmVhbWluZyIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmk1JiZuLlUoImN0cmwiLHttb2RlOm4ucHJvdmlkZXIudmlkZW9EYXRhLmk1fSwhMCk7aWYobi5wcm92aWRlci52aWRlb0RhdGEuVUspe3ZhciBXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlVLLnJlcGxhY2UoLywvZywiXyIpO24uVSgieXRwIix7dHlwZTpXfSwhMCl9bi5wcm92aWRlci52aWRlb0RhdGEuVDQmJihXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlQ0LnJlcGxhY2UoLywvZywKIi4iKSxuLlUoInl0cmV4cCIse2lkczpXfSwhMCkpO24ucHJvdmlkZXIuQi5XWCgpJiZuLlUoIm5vdyIse3d0OigwLGcuUikoKX0pO1c9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIEQ9bi5wcm92aWRlci5CLlMoImVuYWJsZV93aGl0ZV9ub2lzZSIpfHxuLnByb3ZpZGVyLkIuUygiZW5hYmxlX3dlYmdsX25vb3AiKSxiPWcua3AoVyl8fGcuSFQoVyl8fGcuZkEoVyl8fGcuSkQoVyk7KER8fGIpJiYoRD0oMCxnLkRWKSgpKSYmbi5KLnNldCgiZ3B1IixbRF0pO09TKG4ucHJvdmlkZXIudmlkZW9EYXRhKSYmZy53aihuLGcuUmsobi5wcm92aWRlciksImR0IixbIjEiXSk7Vy5jb3RuJiYhT1MoVykmJlF1KG4sITApO24ucHJvdmlkZXIuQi5XWCgpJiYoVz0oMCxnLlIpKCktbi5wcm92aWRlci5CLkN1LG4uVSgicGxheWVyYWdlIix7c2VjczooMS42KipNYXRoLnJvdW5kKE1hdGgubG9nKFcvMUUzKS9NYXRoLmxvZygxLjYpKSkudG9GaXhlZCgpfSkpO24uVj0hMDtuLks9VzAoKCk9PntuLnJlcG9ydFN0YXRzKCl9LAoxRTQpfTsKYXlaPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5wcm92aWRlci5CLk4uY2JydmVyO24ucHJvdmlkZXIuQi5OLmNicj09PSJDaHJvbWUiJiYvXjk2Wy5dLy50ZXN0KGspJiZEPT09Im5ldC5iYWRzdGF0dXMiJiYvcmNcLjUwMC8udGVzdCh2KSYmYm0obiwzKTsvYjI0ODE4MDI3OC8udGVzdCh2KSYmYm0obiw0KTtrPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtiPWI9PT0xPyJmYXRhbCI6IiI7RD1bRCxiLGsudG9GaXhlZCgzKV07YiYmKHYrPWA7YTZzLiR7TGMoKX1gKTt2JiZELnB1c2goa29yKHYpKTtnLndqKG4sVywiZXJyb3IiLEQpO24uVj0hMH07CmJtPWZ1bmN0aW9uKG4sVyl7bi5ZWnx8KGcuRkIobiwiZmNueiIsYCR7V31gKSxuLllaPSEwKX07CmhEMT1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKEQhPT1uLk4pe24uZSR8fFc8bi5XfHwobi5OPT09IlBMIj9uLnBsYXlUaW1lU2Vjcys9Vy1uLlc6bi5OPT09IkIiJiZuLmlzQnVmZmVyaW5nJiYobi5pc0J1ZmZlcmluZz0hMSxuLnJlYnVmZmVyVGltZVNlY3MrPVctbi5WUSwhbi5SYSYmbi5yZWJ1ZmZlclRpbWVTZWNzPj0xMCYmbi5wbGF5VGltZVNlY3M8PTE4MCYmKG4uSi5zZXQoInFvZWFsZXJ0IixbIjEiXSksbi5SYT0hMCkpLEQhPT0iQiJ8fG4uTiE9PSJQTCImJm4uTiE9PSJQQiJ8fChuLmlzQnVmZmVyaW5nPSEwKSxuLlc9Vyk7bi5OPT09IlBMIiYmKEQ9PT0iQiJ8fEQ9PT0iUyIpfHxuLnByb3ZpZGVyLkIuV1goKT9jbChuLFcpOihuLmZCfHxEIT09IlBMInx8KG4uZkI9ITAsVnUobixXLG4ucHJvdmlkZXIuTC5ISygpKSksTVAobixXKSk7RD09PSJQTCImJmcuSmEobi5NZCk7dmFyIGs9W0RdO0Q9PT0iUyImJmImJmsucHVzaChgc3MuJHtifWApO0Q9PT0iUEEiJiZ2JiZrLnB1c2goYHNyLiR7dn1gKTsKZy53aihuLFcsInZwcyIsayk7bi5OPUQ7bi5WUT1XO24uVz1XO24uVj0hMH19Owp4Qmg9ZnVuY3Rpb24obil7aWYoIShuLlg+PTApKWlmKG4ucHJvdmlkZXIuQi5OZHx8bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpIT09Myl7dmFyIFc9bi5wcm92aWRlci5MLnpzKCExKSxEPW4ucHJvdmlkZXIuTC56cyghMCk7bi5VKCJ1c2VyX2ludGVudF9iaCIse2JoOlcudG9GaXhlZCgzKSx0aDpELnRvRml4ZWQoMyl9KTtuLlg9Zy5SayhuLnByb3ZpZGVyKX1lbHNlIG4uQ3U9ITB9OwpMVGI9ZnVuY3Rpb24obixXKXtpZihnLm1NKG4ucHJvdmlkZXIudmlkZW9EYXRhKSl7bj00O3ZhciBEPTF9ZWxzZSBuPVcuc291cmNlPz8wO249YHNtcy4ke259YDtEIT09dm9pZCAwJiYobis9YF8ke0R9YCk7cmV0dXJuIG59Owp2YXIgQTExPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDEsNDM2MixuLFcpfTsKdnI9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9Zy5SayhuLnByb3ZpZGVyKTtEIT09MSYmRCE9PTMmJkQhPT01fHxnLndqKG4seCwidnBzIixbbi5OXSk7Zy5GQihuLCJ4dnQiLGB0LiR7eC50b0ZpeGVkKDMpfTttLiR7aC50b0ZpeGVkKDMpfTtnLiR7V307dHQuJHtEfTtucC4ke2J9O2MuJHt2fTtkLiR7a31gKX07Cmtvcj1mdW5jdGlvbihuKXsvW15hLXpBLVowLTk7LiFfLV0vLnRlc3QobikmJihuPW4ucmVwbGFjZSgvWytdL2csIi0iKS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIikpO3JldHVybiBufTsKT2I9ZnVuY3Rpb24obixXKXtpZihuLlpEJiYhbi5PbilyZXR1cm4gMztpZihuLmlzU3VzcGVuZGVkKXJldHVybiAxO2lmKG4ubWVkaWFTb3VyY2U/LmJkKCkpcmV0dXJuIDQ7dmFyIEQ9KFcuUEouaW5mby5hdWRpbz9uLnBvbGljeS52SjpuLnBvbGljeS5lJCkvKFcuTnMqbi5wb2xpY3kud3kpO2lmKG4ucG9saWN5LmNIPjAmJm4ubWVkaWFTb3VyY2UmJm42KG4ubWVkaWFTb3VyY2UpJiYoVz1XLlBKLmluZm8udmlkZW8/bi5tZWRpYVNvdXJjZS5KOm4ubWVkaWFTb3VyY2UuTikmJiFXLnl1KCkpe1c9Vy5aRigpO2xldCBiPUNNKFcsbi5nZXRDdXJyZW50VGltZSgpKTtiPj0wJiYoVz1uLmdldEN1cnJlbnRUaW1lKCktVy5zdGFydChiKSxEKz1NYXRoLm1heCgwLE1hdGgubWluKFctbi5wb2xpY3kuY0gsbi5wb2xpY3kuQmQpKSl9bi5wb2xpY3kuTz4wJiYoRD1NYXRoLm1pbihELG4ucG9saWN5Lk8pKTtyZXR1cm4gRH07CmRWPWZ1bmN0aW9uKG4sVyxEKXtlRGIobixELnFkfHwidW5rbm93biIpO24uTC5zZWVrVG8oVyxEKX07CmcuZEM9ZnVuY3Rpb24obixXLEQsYix2KXtuLkwuZ2V0VmlkZW9EYXRhKCkuREYoKT92JiZuLnhXLlRDK3YvMUUzPkQmJihuLlUoInNkYWkiLHtzZWc6YixyYnQ6RC50b0ZpeGVkKDMpLGVuZDpuLnhXLlRDLnRvRml4ZWQoMyksc2Q6di50b0ZpeGVkKDMpfSksbi5YJCghMSwicm9sbGJhY2siKSk6bi5wb2xpY3kuVTEmJm4uWCQoITEsInJvbGxiYWNrIik7aWYobi5LdS5pc01hbmlmZXN0bGVzcyl7dj1VNChuLmF1ZGlvVHJhY2ssYixELFcpO3ZhciBrPVU0KG4udmlkZW9UcmFjayxiLEQsVyk7bi5wb2xpY3kuczV8fChrJiZUeChuLkt1LGIsITApLHYmJlR4KG4uS3UsYiwhMSkpO2smJm4udmlkZW9UcmFjay5rSSgpO3YmJm4uYXVkaW9UcmFjay5rSSgpO24uVSgic2RhaSIse3JvbGxiazJfc2VnOmIscmJ0OkQudG9GaXhlZCgzKSxsdDpXLnRvRml4ZWQoMyksYTp2LHY6a30pOyh2fHxrKSYmbi5wb2xpY3kuVTEmJmcuQWcobil9fTsKWUM9ZnVuY3Rpb24obixXKXtuLmhhbmRsZUVycm9yKCJmbXQudW5wYXJzZWFibGUiLFcsMSl9OwpnLkFnPWZ1bmN0aW9uKG4pe2cuSmEobi5uTil9OwpTek09ZnVuY3Rpb24obil7dmFyIFc9bi5qbCgpLmZpbHRlcihEPT5ELm5hbWVzcGFjZT09PSJhZCIpOwpmb3IobGV0IEQgb2YgVylpZihELnN0YXJ0LzFFMz5uLmdldEN1cnJlbnRUaW1lKCkpcmV0dXJuIEQuc3RhcnQvMUUzO3JldHVybiBJbmZpbml0eX07CmM2PWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLnFHPVd9OwpIJGg9ZnVuY3Rpb24obixXKXtpZih4TihXLkF3W1cuQXcubGVuZ3RoLTFdKSl7YTp7dmFyIEQ9bi5jVjtXPVcuQXdbMF0uUEo7aWYoVy5pbmZvLnZpZGVvKXtpZihELlchPT1XKXtELlc9VztEPVMkaChEKTticmVhayBhfX1lbHNlIEQuSEo9RC5WIT09VyxELlY9VztEPW51bGx9Z09DKG4sRCl9fTsKUW89ZnVuY3Rpb24obil7bi5wb2xpY3kuSEQmJm4ucG9saWN5LmU0JiZNYXRoLm1pbihnVEMobi52aWRlb1RyYWNrKSxnVEMobi5hdWRpb1RyYWNrKSkqMUUzPm4ucG9saWN5Lm0kP2cuSmEobi5aSyk6bi5oVCgpfTsKQjY9ZnVuY3Rpb24obixXLEQsYj0hMSl7YiYmIVcuVEMmJihWVCgpfHwoYj1XLlFFKSYmIWIudFooRC5pbmZvKSYmbi5MLkJvKCksVy5UQz0hMCk7Vy5QSiE9PUQmJihXLlBKPUQpfTsKd3U9ZnVuY3Rpb24obil7cmV0dXJuIG4uSXc8bi5peH07ClIkPWZ1bmN0aW9uKG4pe24uemkoKTtuLlhhLmlzU2Vla2luZygpO24uUXUmJkRMYihuLlF1LG4udmlkZW9UcmFjay5QSik7Zy5BZyhuKTtyZXR1cm4gRWIobi5YYSl9Owpkaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFZpZGVvRGF0YSgpLnpXKCl8fG4ucG9saWN5Lm1EfTsKelMyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKE9iKG4sVykrbi5wb2xpY3kualIpKlcuTnN9OwpFUlM9ZnVuY3Rpb24obil7aWYobi5MLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXJldHVybiExO3ZhciBXPW4uTC5oNSgpO2lmKCFXKXJldHVybiExO1c9Vy5nZXREdXJhdGlvbigpO2lmKG4ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KKXt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj1uLm1lZGlhU291cmNlLk4uWkYoKTtuPW4ubWVkaWFTb3VyY2UuSi5aRigpO2I9Yj9GWihiLEQpOkQ7RD1uP0ZaKG4sRCk6RDtEPU1hdGgubWluKGIsRCk7Vz1pc05hTihEKT8hMTpEPj1XLS4wMX1lbHNlIFc9ITE7cmV0dXJuIFd9OwpYemg9ZnVuY3Rpb24obixXLEQpe2lmKCEobi52aWRlb1RyYWNrLlBKLk4oKSYmbi5hdWRpb1RyYWNrLlBKLk4oKSYmbi5tZWRpYVNvdXJjZSYmbi5tZWRpYVNvdXJjZS5KJiZuLm1lZGlhU291cmNlLk4pKXJldHVybiExO2lmKEQmJm4uS3UuaXNNYW5pZmVzdGxlc3MmJihuLnZpZGVvVHJhY2suWD09PS0xfHxuLmF1ZGlvVHJhY2suWD09PS0xKSlyZXR1cm4hMDt2YXIgYj1LdihuLnZpZGVvVHJhY2ssVyxEKTtpZihpc05hTihiKSlyZXR1cm4hMTtuPUt2KG4uYXVkaW9UcmFjayxuLnBvbGljeS5FNT9XOmIsRCk7cmV0dXJuIGlzTmFOKG4pPyExOiEwfTsKcUoyPWZ1bmN0aW9uKG4pe24uUWo/Llh0Py5pdGFnRGVueWxpc3QmJm4uV0Yobi5Raj8uWHQuaXRhZ0RlbnlsaXN0KTtuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5JiZsUyhuLnBvbGljeSxuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5LDMsbi5Raj8uY0EoKSk7aWYobi5wb2xpY3kuY0wpe3ZhciBXPW4uRTEoKTsoVz1XP24uUWo/LkR3LmdldChXKTp2b2lkIDApJiZuLnhXLnN5KFcsLTEpfW4uS3UuT3x8bi5wb2xpY3kuV2l8fChXPW4uUWo/LlFXLFc/LndmJiZXPy52NyYmbi5LdS56VyYmQzYobi5LdSxXLndmLFcudjcpKTtpZihuLlFqPy5NUyl7Vz1uLlFqLk1TLmdldChuLkUxKCl8fCIiKTtpZighVylyZXR1cm47aWYobi5LdSYmVy5mb3JtYXRJZCl7bGV0IEQ9bi5LdS5KLmdldChNayhXLmZvcm1hdElkKSk7RCYmKEQuaW5mby5kZWJ1Z0luZm89Vy5kZWJ1Z0luZm8pfX1uLnBvbGljeS5EJiYobi5Raj8uckIoKS5mb3JFYWNoKEQ9PntuLmk4KEQpfSksbi5Raj8uRm8oKSl9Owp0OWg9ZnVuY3Rpb24obil7aWYoIW4uS3UuelcpcmV0dXJuITA7dmFyIFc9bi5MLmdldFZpZGVvRGF0YSgpO2lmKG4uTC5PUCgpKXJldHVybiBuLlUoIm9tYnBhIix7fSksITE7aWYoISFuLlFqPy5RVz8uWjMhPT1uLkt1LlhnKXJldHVybiBuLlUoIm9tYnBsbW0iLHt9KSwhMTt2YXIgRD1XLlRDfHxXLmxpdmVVdGNTdGFydFNlY29uZHN8fFcuVXI7aWYobi5LdS5YZyYmRClyZXR1cm4gbi5VKCJvbWJwbHN0Iix7fSksITE7aWYobi5LdS5PfHxuLnBvbGljeS5XaSlyZXR1cm4gbi5VKCJvbWJhYiIse30pLCExO0Q9RGF0ZS5ub3coKTtpZighVy5saXZlUHJlbG9hZCYmRnYobi5LdSkmJiFpc05hTihuLkNIKSYmRC1uLkNIPm4ucG9saWN5LkZVKjFFMylyZXR1cm4gbi5VKCJvbWJ0dGwiLHt9KSwhMTtpZih4cChXKSE9PTAmJiFuLnBvbGljeS5OfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9tb3NhaWMiKSYmVy5aaCgpfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9saWZhX2VsaWdpYmxlIikmJgpweihXKSlyZXR1cm4hMTtpZihuLkwuRygpLlp0KCkuTi5RUShHb00pJiYoVz1uLlFqPy5waygpPz8wLFc+PTAmJm4uS3UuaXNXaW5kb3dlZExpdmUmJihXPG4uS3UuSlUqMUUzfHxXPm4uS3Uub1IqMUUzKSkpcmV0dXJuIG4uVSgib21id25kIix7c3Q6VyxtaW46bi5LdS5KVSoxRTMsbWF4Om4uS3Uub1IqMUUzfSksITE7aWYobi5LdS5JdCYmbi5LdS5pc1dpbmRvd2VkTGl2ZSlpZihuLkwuRygpLlMoImh0bWw1X3VzZV9vbmVzaWVfd2luZG93ZWRfbGl2ZV9tZWRpYSIpKW4uVSgib21hbWluc3EiLHt9KTtlbHNlIHJldHVybiBuLlUoIm9tYm1pbnNxIix7fSksITE7cmV0dXJuITB9OwprYz1mdW5jdGlvbihuLFcpe3ZhciBEPWN3KFcuUEosbi5LdS56VyksYj1uLmhtPy5mMyhEKXx8W107aWYoYi5sZW5ndGg9PT0wKXJldHVybiBuLlUoIm9tYm1zaSIse30pLCExO2I9bmV3IHdrKGIpO2lmKCghbi5wb2xpY3kudHd8fGlzRmluaXRlKG4uZ2V0Q3VycmVudFRpbWUoKSl8fG4uTC5lSigpKSYmIWIua2Yobi5nZXRDdXJyZW50VGltZSgpKSYmIW4uTC5nZXRWaWRlb0RhdGEoKS5saXZlUHJlbG9hZClyZXR1cm4gbi5VKCJvc3RtZiIse2N0Om4uZ2V0Q3VycmVudFRpbWUoKSxhOlcuUEouaW5mby5lUygpfSksITE7bi5obT8uRVMoRCk7cmV0dXJuITB9OwokQmk9ZnVuY3Rpb24obixXKXt2YXIgRD1XLlBKLGI9bi5LdS56VztpZih0OWgobikpaWYobi5obSYmbi5obS5nRihjdyhELGIpKSl7aWYoYj1jdyhELGIpLGtjKG4sVykpe3ZhciB2PW5ldyB3ayhuLmhtLmYzKGIpKSxrPWg9Pnt0cnl7aC50bigpPyhuLmhhbmRsZUVycm9yKGguVkcoKSxoLnkwKCkpLEU0KFcsaCkseXMoaC5pbmZvKSYmQ3Iobi5OeSxXLEQsITApLG4uaFQoKSk6RjAobi5OeSxoKSYmKG4uSkM/LlMkKGguaW5mbyxuLnNVKSxuLmhUKCkpfWNhdGNoKHgpe2g9QiQoeCksbi5oYW5kbGVFcnJvcihoLmVycm9yQ29kZSxoLmRldGFpbHMsaC5zZXZlcml0eSksbi56aSgpfX07CkQuY0o9ITA7VXYodikmJihPNChXLG5ldyBTbihuLnBvbGljeSxiLHYsbi5obSxrKSksaXUobi50aW1pbmcpKX19ZWxzZSBuLlUoIm9tYmZtdCIse30pfTsKcjdoPWZ1bmN0aW9uKG4pe24ucG9saWN5LlgmJm4uUWomJihuLlFqLkd3LmZvckVhY2goVz0+e24uSm0oVywtMSl9KSxuLlFqLkd3PVtdKX07CmgyPWZ1bmN0aW9uKG4sVyl7Vz1XfHxuLnZpZGVvVHJhY2smJm4udmlkZW9UcmFjay5OJiZuLnZpZGVvVHJhY2suTi5zZWdtZW50U3RhcnRUaW1lfHxuLmdldEN1cnJlbnRUaW1lKCk7dmFyIEQ9QjYsYj1uLnZpZGVvVHJhY2ssdj1uLmNWO1c9di5uZXh0VmlkZW8mJnYubmV4dFZpZGVvLmluZGV4LlIzKFcpfHwwO3YuY0ohPT1XJiYodi5iZD17fSx2LmNKPVcsUnEodix2Lk4pKTtXPSF2Lk4uaXNMb2NrZWQoKSYmdi5ZPi0xJiYoMCxnLlIpKCktdi5ZPHYucG9saWN5LkFrKjFFMzt2YXIgaz12Lm5leHRWaWRlbyYmTXEodix2Lm5leHRWaWRlby5pbmZvKSozPE5XKHYuSWcpO2lmKCFXfHxrKVZCKHYpLGNwKHYpLHYuTz12Lk98fHYubmV4dFZpZGVvIT09di5XO3YubmV4dFZpZGVvJiYhdi5uZXh0VmlkZW8uaW5kZXguaXNMb2FkZWQoKSYmKHYuY0o9LTEpO0QobixiLHYubmV4dFZpZGVvKTtCNihuLG4uYXVkaW9UcmFjayxuLmNWLkopfTsKZURiPWZ1bmN0aW9uKG4sVyl7aWYoIWlzTmFOKG4uajApKXtsZXQgRD1EYXRlLm5vdygpLW4uajA7RDwxRTQmJm4uVSgiYmZhc3d0Y2giLHtlcDpELHNrOlchPT12b2lkIDA/IjEiOiIwIixzcjpXfHwiIn0pfX07ClhiPWZ1bmN0aW9uKG4pe2E6e2lmKG4uSGcoKSYmbWQobi52aWRlb1RyYWNrKSYmbWQobi5hdWRpb1RyYWNrKSYmbi5MLkhvKCkmJiFuLkwuVjAoKSYmIW4ubWVkaWFTb3VyY2U/Lk4/LmlRKCkmJiFuLm1lZGlhU291cmNlPy5KPy5pUSgpJiYhbi5BYil7dmFyIFc9bi5MLlhTPy5YKCk7aWYoIVcpYnJlYWsgYTtuLmF1ZGlvVHJhY2suSlgoKTtuLnZpZGVvVHJhY2suSlgoKTtuLkFiPVd9aWYoVz1uLkhnKCkmJm4uTC5IbygpJiYhbi5MLlYwKCkpaWYobi5BYiYmbi5BYi5KJiZuLkFiLk4mJm4udmlkZW9UcmFjay5EZygpJiZuLmF1ZGlvVHJhY2suRGcoKSl7dmFyIEQ9bi52aWRlb1RyYWNrLlcuYjcoKTtXPW4uYXVkaW9UcmFjay5XLmI3KCk7dmFyIGI9bi5BYj8uSi5aRigpLHY9bi5BYj8uTi5aRigpO0QmJlc/KEQ9QlIoYixrTihELmluZm8pLS4xKSxXPUJSKHYsa04oVy5pbmZvKS0uMSksVz1EJiZXKTpXPSExfWVsc2UgVz0hMTtXJiZuLkwuWFM/LlcoKX1pZihuLm1lZGlhU291cmNlKWlmKFc9Cm4uQWJ8fG4ubWVkaWFTb3VyY2Usdj1XLk4sRD1XLkosczdyKG4sbi5hdWRpb1RyYWNrKSxzN3IobixuLnZpZGVvVHJhY2spLGI9TjNDKG4pKXtpZihuLnBvbGljeS5lNCl7aWYoIXYuRDkoKSYmKFc9aVkobi5hdWRpb1RyYWNrKSkpe2lmKCF4YyhuLG4uYXVkaW9UcmFjayx2LFcuaW5mbykpcmV0dXJuO0xDKG4sbi5hdWRpb1RyYWNrLHYsVyl9aWYoIUQuRDkoKSYmKFc9aVkobi52aWRlb1RyYWNrKSkpe2lmKCF4YyhuLG4udmlkZW9UcmFjayxELFcuaW5mbykpcmV0dXJuO0xDKG4sbi52aWRlb1RyYWNrLEQsVyl9fW4ubXh8fChuLm14PSgwLGcuUikoKSxuLnBvbGljeS5XJiZuLlUoImFwZHBzIix7cjpifSkpfWVsc2V7aWYobi5teCl7Yj1uLm14O3ZhciBrPSgwLGcuUikoKS1iO2xldCBoPW4uYXVkaW9UcmFjay56cyghMCkqMUUzLHg9bi52aWRlb1RyYWNrLnpzKCEwKSoxRTM7bi5wb2xpY3kuVyYmKG4uVSgiYXBkcGUiLHtkdXI6ay50b0ZpeGVkKCksYWJ1ZjpoLnRvRml4ZWQoKSx2YnVmOngudG9GaXhlZCgpfSksCmR1KG4ucG9saWN5KSYmKGs9Tlcobi5JZyksbi5VKCJzZHBzIix7Y3Q6YixhaDpoLnRvRml4ZWQoKSx2aDp4LnRvRml4ZWQoKSxtcjpwdihuLklnLG4uT24sayksYnc6ay50b0ZpeGVkKCksanM6bi5pc1NlZWtpbmcoKSxyZTorbi5Pbixwczoobi5wb2xpY3kuTTV8fCIiKS50b1N0cmluZygpLHJuOihuLnBvbGljeS5EQ3x8IiIpLnRvU3RyaW5nKCl9KSkpO24ubXg9MH1uLlF1JiYoYj1uLlF1LmhUKG4uYXVkaW9UcmFjayxnLnd5KG4ubWVkaWFTb3VyY2UuSi5aRigpKSkpJiZuLkwuc2Vla1RvKGIse0E5OiEwLHFkOiJwb2xsU3Vic2VnbWVudFJlYWRhaGVhZCIscWE6ITB9KTtiPSExO3B6aChuLG4udmlkZW9UcmFjayxEKSYmKGI9ITAsRD1uLnRpbWluZyxELld8fChELlc9KDAsZy5SKSgpLGcuRUcoInZkYSIsRC5XLEQuelIpLEQuSiYmKGcuRHkoKSxiUSg0KSkpLEQ9bi50aW1pbmcsRC5WUXx8KEQuVlE9KDAsZy5SKSgpLGcuRUcoInZyYl9mIixELlZRLEQuelIpKSk7VyYmIVcuUEEoKSYmCihwemgobixuLmF1ZGlvVHJhY2ssdikmJihiPSEwLHY9bi50aW1pbmcsdi5KfHwodi5KPSgwLGcuUikoKSxnLkVHKCJhZGEiLHYuSix2LnpSKSx2LlcmJihnLkR5KCksYlEoNCkpKSx2PW4udGltaW5nLHYuWXx8KHYuWT0oMCxnLlIpKCksZy5FRygiYXJiX2YiLHYuWSx2LnpSKSkpLCFuLnFOKCkmJm4ubWVkaWFTb3VyY2UmJighbi5wb2xpY3kuVjYmJm1kKG4udmlkZW9UcmFjaykmJm1kKG4uYXVkaW9UcmFjaykmJm42KFcpJiYhVy55dSgpJiYodj1JJChuLmF1ZGlvVHJhY2spLlBKLHY9PT1uLkt1Lk5bdi5pbmZvLmlkXSYmKG4uTC5HKCkuV1goKSYmbi5MLlUoInNlcyIse2VvczoxfSksbjYoVykmJihXLm1lZGlhU291cmNlP1cubWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTpXLkVWLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKFcuRVYuRU9TX05PX0VSUk9SKSksdj1uLnNjaGVkdWxlLHNuKGUwKHYpKSx2LmNKPSgwLGcuUikoKSx2Lk89ITAsdj0odj1uLnZpZGVvVHJhY2suUEopJiZ2LmluZGV4IGluc3RhbmNlb2YKZ1M/di5pbmRleC5LOnZvaWQgMCxuLkwuRygpLlp0KCkuTi5RUShZSmIpP3Y9PT0iZW1zZyImJm4ucG0oImUiKTpuLnBtKCJlIikpKSxiJiYoVy5OPyFXLk4uc3VwcG9ydHMoMCk6IWFkKCkpJiZnLkFnKG4pKSl9fTsKSFBiPWZ1bmN0aW9uKG4pe24ucG9saWN5LlY2PSExO3RyeXtYYihuKX1jYXRjaChXKXtnLlhqKFcpfX07CmZteD1mdW5jdGlvbihuLFc9ITEpe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KJiYobi5tZWRpYVNvdXJjZS5OLk05KG4uTEwsbiksbi5tZWRpYVNvdXJjZS5KLk05KG4uTEwsbikpO0tyKG4uYXVkaW9UcmFjayxudWxsLFcpO0tyKG4udmlkZW9UcmFjayxudWxsLFcpO24ubWVkaWFTb3VyY2UmJihuLm1lZGlhU291cmNlLlY9ITEpO24ubWVkaWFTb3VyY2U9bnVsbDtuLkFiPW51bGw7bi5MLlhTPy5yZXNldCgpfTsKSjdpPWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdj0hMSl7S3Iobi52aWRlb1RyYWNrLFcuSnx8bnVsbCxiLHYpO0tyKG4uYXVkaW9UcmFjayxXLk58fG51bGwsYix2KTtuLm1lZGlhU291cmNlPVc7bi5tZWRpYVNvdXJjZS5WPSEwO0R8fG4ucmVzdW1lKCk7Vy5OLmgkKG4uTEwsbik7Vy5KLmgkKG4uTEwsbil9OwpJbWk9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSx2PSExKXtuLnBvbGljeS5UQyYmKG4ucG9saWN5LlZRJiZuLlUoImxvYWRlciIse3NldHNtYjowfSksbi56aSgpLG4ucG9saWN5LlRDPSExKTtmbXgobixiKTtpZighVy5YKCkpe3ZhciBrPWlZKG4udmlkZW9UcmFjayk7az1rP2suaW5mby5QSjpuLnZpZGVvVHJhY2suUEo7bGV0IGg9aVkobi5hdWRpb1RyYWNrKTtMS1UoVyxrLmluZm8sKGg/aC5pbmZvLlBKOm4uYXVkaW9UcmFjay5QSikuaW5mbyxuLnBvbGljeS5wUil9SjdpKG4sVyxELGIsdik7dHJ5e24uaFQoKX1jYXRjaChoKXtnLlhqKGgpfX07CnFtPWZ1bmN0aW9uKG4pe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuUEEoKSYmbi5LMSgpfTsKZ09DPWZ1bmN0aW9uKG4sVyl7VyYmR1gobi5MLG5ldyB0MihXLnZpZGVvLFcucmVhc29uKSk7bi5jVi5ISiYmKFc9WmV3KG4uY1YsImEiKSxuLkwuZ20obmV3IHQyKFcuYXVkaW8sVy5yZWFzb24pKSl9OwpBN3g9ZnVuY3Rpb24obil7bi5CdiYmIW4uaXNTdXNwZW5kZWQmJlRaKG4uc2NoZWR1bGUpJiYoU0paKG4sbi5Cdiksbi5Cdj0iIil9OwpzN3I9ZnVuY3Rpb24obixXKXtpWShXKT8uaXNMb2NrZWQmJm1CYihXKSYmKG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bXVubG9jazppWShXKT8uaW5mby5nYSgpfSksJGMobixXPT09bi5hdWRpb1RyYWNrKSl9OwpOM0M9ZnVuY3Rpb24obil7aWYodGRqKG4udmlkZW9UcmFjaykpcmV0dXJuInNzZiI7aWYobi5wb2xpY3kubnUmJmlZKG4udmlkZW9UcmFjayk/LmlzTG9ja2VkJiZpWShuLmF1ZGlvVHJhY2spPy5pc0xvY2tlZClyZXR1cm4idXBkYXRlRW5kIjtpZihpUyhuLmF1ZGlvVHJhY2spfHxpUyhuLnZpZGVvVHJhY2spJiZuLnZpZGVvVHJhY2suUEouaW5mby5JQiE9PSJmIilyZXR1cm4iIjtpZihuLlhhLmlzU2Vla2luZygpKXt2YXIgVz1uLklnO3ZhciBEPW4udmlkZW9UcmFjazt2YXIgYj1uLmF1ZGlvVHJhY2s7aWYoVy5wb2xpY3kuTil7dmFyIHY9Vy5wb2xpY3kuV2M7ZHUoVy5wb2xpY3kpJiYodj1wdihXLCExLE5XKFcpKSk7Vz12O0Q9Yi56cyghMCk+PVcmJkQuenMoITApPj1XfWVsc2UgRC5KLmxlbmd0aHx8Yi5KLmxlbmd0aD8odj1ELlBKLmluZm8uTnMrYi5QSi5pbmZvLk5zLHY9MTAqKDEtTlcoVykvdiksVz1NYXRoLm1heCh2LFcucG9saWN5LldjKSxEPWIuenMoITApPj1XJiZELnpzKCEwKT49ClcpOkQ9ITA7aWYoIUQpcmV0dXJuImFiciI7RD1uLnZpZGVvVHJhY2s7aWYoRC5KLmxlbmd0aD4wJiZELlcua2koKT09PTEmJkQuVy5XMigpLmluZm8uSzxELlZRKXJldHVybiJzZWVrIn1pZihuLnBvbGljeS5VMSYmJFgxKG4udmlkZW9UcmFjayxuLkpDKSYmJFgxKG4uYXVkaW9UcmFjayxuLkpDKSlyZXR1cm4ic3NkYWkiO0Q9IW4ucG9saWN5LnRNfHxuLmdldEN1cnJlbnRUaW1lKCk8MTA7bi5wb2xpY3kuTnx8KEQ9RHx8bi52aWRlb1RyYWNrLlBKLmluZm8udmlkZW8ucXVhbGl0eU9yZGluYWw+MzYwKTtpZighbi5Pbnx8RClyZXR1cm4iIjtEPW4ucG9saWN5LnRNO2R1KG4ucG9saWN5KSYmKEQ9cHYobi5JZyxuLk9uLE5XKG4uSWcpKSk7RD1YMHQobi52aWRlb1RyYWNrLG4uZ2V0Q3VycmVudFRpbWUoKSxEKXx8WDB0KG4uYXVkaW9UcmFjayxuLmdldEN1cnJlbnRUaW1lKCksRCk7cmV0dXJuIGR1KG4ucG9saWN5KT9EPyJtYm5tIjoiIjoobi52aWRlb1RyYWNrLkoubGVuZ3RoPjB8fApuLmF1ZGlvVHJhY2suSi5sZW5ndGg+MHx8anEobi5OeSxuLnZpZGVvVHJhY2ssbi5hdWRpb1RyYWNrKXx8anEobi5OeSxuLmF1ZGlvVHJhY2ssbi52aWRlb1RyYWNrKSkmJkQ/Im5vcmQiOiIifTsKeGM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9SSQoVyk7IXZ8fHYuYVp8fGJUKHYsYil8fChELmFib3J0KCksbi5wb2xpY3kuZkMmJlcuVj8uWSgpLFcuSz8uVigpKTtpZighRC5LcygpfHxWVCgpKXRyeXtuLnBvbGljeS5Kaz9ELm5hKGIuUEouaW5mby5jb250YWluZXJUeXBlLGIuUEouaW5mby5JQikmJkQuVm8oYi5QSi5pbmZvLmNvbnRhaW5lclR5cGUsYi5QSi5pbmZvLklCLGIuUEouaW5mby5taW1lVHlwZSk6RC5qbihiLlBKLmluZm8uY29udGFpbmVyVHlwZSxiLlBKLmluZm8ubWltZVR5cGUpfWNhdGNoKGspe3JldHVybiBnLkdxKGspLG4uVSgiY3RleHAiLHtuYW1lOmsubmFtZSxtc2c6ay5tZXNzYWdlfSksITF9ZWxzZSBiLlBKLmluZm8uY29udGFpbmVyVHlwZSE9PUQuS3MoKSYmbi5VKCJjdHUiLHtjdDpWVCgpLHByZXZfYzpELktzKCksY3Vycl9jOmIuUEouaW5mby5jb250YWluZXJUeXBlfSk7Yj1iLlBKLlY7bi5wb2xpY3kuRFQmJmImJihXPTArYi5kdXJhdGlvbixiPS1iLk4sCjA9PT1ELk1yKCkmJlc9PT1ELktGKCl8fEQuZTcoMCxXKSxiIT09RC5TVygpJiYoRC55TyhiKSxzNCYmbi5hdWRpb1RyYWNrLlcuQlcoRC5pdygpKSkpO3JldHVybiEwfTsKTEM9ZnVuY3Rpb24obixXLEQsYil7Yi5pbmZvLlBKLk4oKTt2YXIgdj1iLmluZm8uUEouSjtpZighdnx8IUQuam8oKXx8RC5EOSgpPT09dilyZXR1cm4hMTt2YXIgaz12LGg9RC5MRigpO2lmKG4ucG9saWN5LktvJiZoJiZELmlzVmlldygpJiZnLlJCKGIuaW5mby5QSi5pbmZvKSl7bGV0IEw9bmV3IERhdGFWaWV3KHYuYnVmZmVyLHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgpOyhoPVBJQyhMLGgpKT9rPW5ldyBVaW50OEFycmF5KGguYnVmZmVyLGguYnl0ZU9mZnNldCxoLmJ5dGVMZW5ndGgpOm4uVSgiZmVuYyIse30pfW4ucG9saWN5LmtwJiYoaD1LVGkobixiLG5ldyBTNShba10pKSkmJihrPXRSKGgpKTt2YXIgeDsoaD1iLmluZm8uUEouWSgwLGIuaW5mby5jbGlwSWQpKSYmKHg9aC5Bd1swXSk7aWYoYj09PW4uaDcpe2lmKG4uQzErPTEsbi5MLmdldFZpZGVvRGF0YSgpLlMoImh0bWw1X3Nob3J0c19nYXBsZXNzX3Jlc3RhcnRfb25faW5pdF9zZWdfcmV0cmllcyIpJiZuLkMxPjUpcmV0dXJuIG4uQzE9CjAsbi5MLkdtKHtpbml0U2VnU3R1Y2s6MSxhczpiLmluZm8uZ2EoKX0pLCEwfWVsc2Ugbi5DMT0wLG4uaDc9YjtuLnBvbGljeS54aiYmKEQuYWJvcnQoKSxXLks/LlYoKSk7bi5BYiYmRC5pUSgpJiYoRC5hYm9ydCgpLFcuSz8uVigpKTt2PU9QMihuLEQsayx4LHYpO1cuSz8uRCh2LHgpO2lmKHYhPT0wKXJldHVybiBuLnBvbGljeS5aTiYmQUoobi5MLmdldFZpZGVvRGF0YSgpKT8obi5MLm9BKCl8fHJTKG4sInNlcEluaXQiLHYsYi5pbmZvKSxQOVUobi5MLCJzaWUiKSk6clMobiwic2VwSW5pdCIsdixiLmluZm8pLCEwO2IuaW5mby5mWSgpPyhXPW4udGltaW5nLFcuVEN8fChXLlRDPSgwLGcuUikoKSxnLkVHKCJ2aXNfYSIsVy5UQyxXLnpSKSkpOihXPW4udGltaW5nLFcuVnx8KFcuVj0oMCxnLlIpKCksZy5FRygiYWlzX2EiLFcuVixXLnpSKSkpOyhiPWIuaW5mby5QSi5TVSkmJm4uTC5XbihuZXcgcnUoYi5rZXksYi50eXBlKSk7cmV0dXJuIEQueXUoKX07CnB6aD1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kubnUmJmlZKFcpPy5pc0xvY2tlZClyZXR1cm4hMTtpZihELkRjKCkpcmV0dXJuITA7aWYoIUQuam8oKSlyZXR1cm4hMTt2YXIgYj1pWShXKTtpZighYnx8Yi5pbmZvLnR5cGU9PT02KXJldHVybiExO2lmKG4ucG9saWN5LmllfHxuLkpDPy5PKFcsYi5pbmZvLmokKSluLkxvPTA7ZWxzZSByZXR1cm4gbi5YYS5pc1NlZWtpbmcoKSYmZy5BZyhuKSxuLkxvPW4uTG98fCgwLGcuUikoKSwhMTtpZigheGMobixXLEQsYi5pbmZvKSlyZXR1cm4hMTtpZihuLkt1LlcmJmIuaW5mby5OPT09MCl7dmFyIHY7aWYoRC5EOSgpPT1udWxsKXt2YXIgaz1JJChXKTtpZighKHY9IWt8fGsuUEohPT1iLmluZm8uUEopKXtiOmlmKHY9ay5PLGs9Yi5pbmZvLk8sdi5sZW5ndGghPT1rLmxlbmd0aCl2PSExO2Vsc2V7Zm9yKGxldCBoPTA7aDx2Lmxlbmd0aDtoKyspaWYoIXY0KHZbaF0sa1toXSkpe3Y9ITE7YnJlYWsgYn12PSEwfXY9IXZ9fWVsc2Ugdj1ELkQ5KCksCmIuaW5mby5QSi5TJCgpJiZETyhiKSxrPWIuaW5mby5QSi5KLHY9diE9PWsmJiF2NCh2LGspO3YmJihrPUkkKFcpLG4uVSgiaW5pdGNoZyIse2l0OmIuaW5mby5QSi5pbmZvLmlkLHNyOiEhayYmay5QSj09PWIuaW5mby5QSix0eTpiLmluZm8udHlwZSxzZWc6Yi5pbmZvLmokfSkpO2s9Zy5SQihiLmluZm8uUEouaW5mbyk7bi5wb2xpY3kubWgmJmsmJiF2JiYoZy5SQihiLmluZm8uUEouaW5mbyk/KEdqKGcuV1IoYiksMTgzNjAxOTU3NCksR2ooZy5XUihiKSwxNzE4OTA5Mjk2KSk6KHY9bmV3IHRZKGcuV1IoYikpLE9ZKHYpLHNZKHYsNTI0NTMxMzE3LCEwKSxiLko9Yi5KLnNwbGl0KHYuc3RhcnQrdi5wb3MpLlk5KSxiLlY9ITEpfWs9bi5RdSYmISFuLlF1LlgmJlcuUEouaW5mby5hdWRpbzt2PW4uS3UuaXNNYW5pZmVzdGxlc3N8fGIuVjtpZighKG4uS3UuVyYmYi5pbmZvLk4hPT0wfHx2JiYhaykmJkxDKG4sVyxELGIpKXJldHVybiEwO2lmKGspcmV0dXJuITE7az1PYihuLFcpO2s9bi5nZXRDdXJyZW50VGltZSgpKwprO2lmKGIuaW5mby5YPmspcmV0dXJuIG4ucG9saWN5Lk4mJihXPT09bi52aWRlb1RyYWNrP24uYzc9bi5jN3x8KDAsZy5SKSgpOm4uTno9bi5Oenx8KDAsZy5SKSgpKSwhMTtXPT09bi52aWRlb1RyYWNrP24uYzc9MDpuLk56PTA7bi5wb2xpY3kuVTUmJkQ9PT1uLm1lZGlhU291cmNlPy5OJiZuLk9MJiYoRC5mRigpPT09MD8obi5PTD0hMSxuLnBvbGljeS5VNT0hMSk6bi5HSj1ELmZGKCkpO2lmKCFaUGoobixELGIsVykpcmV0dXJuITE7bi5wb2xpY3kubnUmJmIuaW5mby5WKCk/KG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bHM6Yi5pbmZvLmdhKCl9KSxiLmlzTG9ja2VkPSEwKTooVy5aJChiKSxQQzIobi5jVixiLmluZm8pKTt2JiYoVz1iLmluZm8uUEouU1UpJiZuLkwuV24obmV3IHJ1KFcua2V5LFcudHlwZSkpO3JldHVybiEwfTsKWlBqPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uTC5HKCkuWnQoKS5OLlFRKFVCYikmJkQuaW5mby5OJiYhVy5pUSgpKXJldHVybiBuLlUoImRyb3BfY2h1bmsiLHtzcTpELmluZm8uaiQsc3Q6RC5pbmZvLlh9KSwhMDt2YXIgdj1uLnBvbGljeS5SYT8oMCxnLlIpKCk6MCxrPUQuViYmRC5pbmZvLlBKLkp8fHZvaWQgMCxoPUQuSjtELlYmJihoPUtUaShuLEQsaCl8fGgpO3ZhciB4PXRSKGgpO2g9bi5wb2xpY3kuUmE/KDAsZy5SKSgpOjA7Vz1PUDIobixXLHgsRC5pbmZvLGspO2IuSz8uWShELmluZm8sVyxoLXYsKDAsZy5SKSgpLWgpO24uQzE9MDtpZihXPT09MClyZXR1cm4gbi5aRCYmKG4uWkQ9ITEsbi5xTz0hMSksbi5hQT0wLCEwO2lmKFc9PT0yfHxXPT09NSlyZXR1cm4gclMobiwiY2hlY2tlZCIsVyxELmluZm8pLCExO2lmKFc9PT0xKXtpZighbi5aRClyZXR1cm4gbi5aRD0hMCwhMTtpZighbi5xTylyZXR1cm4gbi5xTz0hMCxuLkwuc2Vla1RvKG4uZ2V0Q3VycmVudFRpbWUoKSx7cWQ6InF1b3RhRXhjZWVkZWQiLApxYTohMH0pLCExO0QuaW5mby5mWSgpPyhiPW4ucG9saWN5LGIuZSQ9TWF0aC5mbG9vcihiLmUkKi44KSxiLk89TWF0aC5mbG9vcihiLk8qLjgpKTooYj1uLnBvbGljeSxiLnZKPU1hdGguZmxvb3IoYi52SiouOCksYi5PPU1hdGguZmxvb3IoYi5PKi44KSk7bi5wb2xpY3kuTj9XbChuLms2LEQuaW5mby5QSik6YXEobi5jVixELmluZm8uUEopfW4uTC5HbSh7cmVhdHRhY2hPbkFwcGVuZDpXfSk7cmV0dXJuITF9OwpLVGk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO2lmKGI9bi5wb2xpY3kua3AmJm4ubWVkaWFTb3VyY2UmJiFuLm1lZGlhU291cmNlLk8mJiFuLkwuUHAoKSlXPVcuaW5mby5QSi5pbmZvLGI9Vy5xSCgpJiZXLlgoKSYmVy52aWRlbyYmVy52aWRlby53aWR0aDwzODQwJiZXLnZpZGVvLndpZHRoPlcudmlkZW8uaGVpZ2h0O2lmKGImJihuLm1lZGlhU291cmNlLk89ITAsZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MC4wOC4wMS4wMS4wMS4wMS4wMCI7IHdpZHRoPTM4NDA7IGhlaWdodD0yMTYwJykpKXJldHVybiBEPUROMShEKSxuLnBvbGljeS5XJiZuLlUoInNwNGsiLHtzOiEhRH0pLER9OwpPUDI9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkFifHxuLm1lZGlhU291cmNlO3RyeXtsZXQgaD1XPT09ay5OP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7aWYobi5wb2xpY3kubnUmJmI/LlYoKSl7aWYoYj8udHc+MSlyZXR1cm4gNjtoLmJkPW5ldyBnLmZfKCgpPT57dmFyIHg9aVkoaCk7bi5xTigpfHwheD8uaXNMb2NrZWQ/bi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHtkZWxheUE6eD8uaW5mby5nYSgpfSk6bUJiKGgpPyhuLkwuRygpLldYKCkmJm4uVSgiZW9zbCIse2R1bmxvY2s6eD8uaW5mby5nYSgpfSksJGMobixoPT09bi5hdWRpb1RyYWNrKSk6KG4uVSgibnVlIix7bHM6eC5pbmZvLmdhKCl9KSx4LmluZm8udHcrPTEsbi5tZWRpYVNvdXJjZSYmWGIobikpfSwxRTQsbik7Cm4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7ZGVsYXlTOmIuZ2EoKX0pO2guYmQuc3RhcnQoKX1uLnBvbGljeS5zMyYmYj8uUEogaW5zdGFuY2VvZiBkdCYmYi5WKCkmJm4uVSgicG9zZW9zIix7aXRhZzpiLlBKLmluZm8uaXRhZyxzZWc6Yi5qJCxsc2VnOmIuUEouaW5kZXgueCQoKSxlczpiLlBKLmluZGV4Lkt9KTtXLmFwcGVuZEJ1ZmZlcihELGIsdil9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbil7aWYoaC5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yInx8aC5jb2RlPT09MTEpcmV0dXJuIG4uTC5HKCkuV1goKSYmbi5VKCJhZWlzIix7bXNnOmcudXAoaC5tZXNzYWdlLDMpfSksMjtpZihoLm5hbWU9PT0iU3ludGF4RXJyb3IifHxoLmNvZGU9PT0xMilyZXR1cm4gNTtpZihoLm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yInx8aC5jb2RlPT09MjJ8fGgubWVzc2FnZS5pbmRleE9mKCJOb3QgZW5vdWdoIHN0b3JhZ2UiKT09PTApcmV0dXJuIFc9T2JqZWN0LmFzc2lnbih7bmFtZToiUXVvdGFFeGNlZWRlZEVycm9yIiwKYnVmZmVyZWQ6cmsoVy5aRigpKS5yZXBsYWNlKC8sL2csIl8iKSx2aGVhcDpuLnZpZGVvVHJhY2suUnUoKSxhaGVhcDpuLmF1ZGlvVHJhY2suUnUoKSxtZXNzYWdlOmcudXAoaC5tZXNzYWdlLDMpLHRyYWNrOms/Vz09PWsuSj8idiI6ImEiOiJ1In0saFF4KCkpLG4uaGFuZGxlRXJyb3IoInBsYXllci5leGNlcHRpb24iLFcpLDE7Zy5YaihoKX1yZXR1cm4gNH1yZXR1cm4gay5QQSgpPzM6MH07CnJTPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSJmbXQudW5wbGF5YWJsZSIsaz0xO0Q9PT01fHxEPT09Mz8odj0iZm10LnVucGFyc2VhYmxlIixuLnBvbGljeS5OPyFiLlBKLmluZm8udmlkZW98fHdDKG4uazYuTikuc2l6ZT4wfHxXbChuLms2LGIuUEopOiFiLlBKLmluZm8udmlkZW98fHdDKG4uY1Yuaikuc2l6ZT4wfHxhcShuLmNWLGIuUEopKTpEPT09MiYmKG4uYUE8MTU/KG4uYUErKyx2PSJodG1sNS5pbnZhbGlkc3RhdGUiLGs9MCk6dj0iZm10LnVucGxheWFibGUiKTtiPVh4KGIpO2IubXJzPW4ubWVkaWFTb3VyY2U/LlcoKTtiLm9yaWdpbj1XO2IucmVhc29uPUQ7Yi50cmc9ImFwcGVuZGVyciI7bi5oYW5kbGVFcnJvcih2LGIsayl9OwpOMj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uS3U7dmFyIGg9bi5wb2xpY3kuTix4PSExLEw9LTE7Zm9yKGxldCByIGluIGsuTil7dmFyIGU9ay5OW3JdLmluZm8uTigpfHxrLk5bcl0uaW5mby5mWSgpO2lmKGI9PT1lKWlmKGU9ay5OW3JdLmluZGV4LGUuTUkoVy5qJCkpe3t4PWU7dmFyIEc9VztsZXQgTj14LlcoRy5qJCk7TiYmTi5zdGFydFRpbWUhPT1HLnN0YXJ0VGltZT8oeC5zZWdtZW50cz1bXSx4LmooRykseD0hMCk6eD0hMX14P0w9Vy5qJDohVy5wZW5kaW5nJiZoJiYoRz1lLmdldER1cmF0aW9uKFcuaiQpLEchPT1XLmR1cmF0aW9uJiYoay5XSigiY2xpZW50dGVtcCIsIm1mbGR1clVwZGF0ZSIse2l0YWc6ay5OW3JdLmluZm8uaXRhZyxzZWc6Vy5qJCxvZDpHLG5kOlcuZHVyYXRpb259LCExKSxlLmooVykseD0hMCkpfWVsc2UgZS5qKFcpLHg9ITB9TD49MCYmay5XSigiY2xpZW50dGVtcCIsInJlc2V0TWZsSW5kZXgiLHtbYj8idiI6ImEiXTpMfSwhMSk7az14O0FhMihuLlhhLApXLGIsayk7bi5wb2xpY3kuRHx8bi5KQy5SMChXLEQsYix2KTtXLmokPT09bi5LdS5JdCYmayYmdUEobi5LdSkmJlcuc3RhcnRUaW1lPnVBKG4uS3UpJiYobi5LdS5KVT1XLnN0YXJ0VGltZSsoaXNOYU4obi50aW1lc3RhbXBPZmZzZXQpPzA6bi50aW1lc3RhbXBPZmZzZXQpLG4uWGEuaXNTZWVraW5nKCkmJm4uWGEudGFyZ2V0VGltZTxuLkt1LkxmKCkmJm4uWGEuc2VlayhuLkt1LkxmKCkse30pKX07CiRjPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kubnUmJm4ubWVkaWFTb3VyY2Upe3ZhciBEPVc/bi5tZWRpYVNvdXJjZT8uTjpuLm1lZGlhU291cmNlPy5KO2xldCBiPVc/bi5hdWRpb1RyYWNrOm4udmlkZW9UcmFjaztXPWlZKGIpO1c/LmlzTG9ja2VkJiYobi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHt1bmxvY2s6Vy5pbmZvLmdhKCl9KSxiLmJkPy5zdG9wKCksVy5pc0xvY2tlZD0hMSxiLlokKFcpLFBDMihuLmNWLFcuaW5mbyksRD1EPy5aZygpLEQ/LmdhKCkhPT1XLmluZm8uZ2EoKSYmbi5VKCJvdWUiLHtibHM6RD8uZ2EoKSx0bHM6Vy5pbmZvLmdhKCl9KSl9fTsKU0paPWZ1bmN0aW9uKG4sVyl7cVcoVywiY21zIixEPT57bi5wb2xpY3kuVyYmbi5VKCJwYXRocHJvYmUiLEQpfSxEPT57bi5MLmhhbmRsZUVycm9yKEQpfSl9Owp5N2k9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiZuLm1lZGlhU291cmNlLkomJihXLT1pc05hTihuLnRpbWVzdGFtcE9mZnNldCk/MDpuLnRpbWVzdGFtcE9mZnNldCxpc05hTihuLlE1KXx8bi5RNT09PVd8fG4ucmVzdW1lKCksbi5RNT1XKX07CkVPaD1mdW5jdGlvbihuLFcsRCxiKXtkaihuKSYmbi5ETyYmYiYmYj09PTk2JiYoYj1EP24uTC5sSyhXKTpXLG4uZnAoYil8fG4uRE8uTnx8bi5VKCJwcmVidWZmZXIiLHttaXNzOjEsdDpXLnRvRml4ZWQoMyksaXNVdGM6RH0pKX07CmlQUz1mdW5jdGlvbihuLFcpe3ZhciBEPVNxKG4udmlkZW9UcmFjaykuZmluZChiPT5iLnNlZ21lbnRTdGFydFRpbWU+PVcmJlh6aChuLGIuc2VnbWVudFN0YXJ0VGltZSwhMSkpOwpyZXR1cm4gRCYmRC5zZWdtZW50U3RhcnRUaW1lPFcrRC5XKjEuNT9ELnNlZ21lbnRTdGFydFRpbWUrLjE6MH07Cm1CYj1mdW5jdGlvbihuKXt2YXIgVz1pWShuKT8uaW5mbztyZXR1cm4hV3x8bi5mcChNYXRoLm1pbihXLlgrc1gsVy5qKSl9Owp1M3g9ZnVuY3Rpb24obil7aWYoIShuLmxlbmd0aDw9MjgpKWZvcih2YXIgVz0oMCxnLk5tKShbNjAsMCw3NSwwLDczLDAsNjgsMCw2MiwwXSksRD0yODtEPG4ubGVuZ3RoOyl7YTppZihuLmxlbmd0aC1EPFcubGVuZ3RoKXZhciBiPSExO2Vsc2V7Zm9yKGI9MDtiPFcubGVuZ3RoOysrYilpZihuW0QrYl0hPT1XW2JdKXtiPSExO2JyZWFrIGF9Yj0hMH1pZihiKXtEKz1XLmxlbmd0aDtpZihuLmxlbmd0aDw9RCs0OClicmVhaztXPW5ldyBVaW50OEFycmF5KDI0KTtmb3IoYj0wO2I8MjQ7KytiKVdbYl09bltEK2IqMl07bj1wUihXKTtuPWxwKG4pO2lmKCFuKWJyZWFrO0Q9blswXTtuWzBdPW5bM107blszXT1EO0Q9blsxXTtuWzFdPW5bMl07blsyXT1EO0Q9bls0XTtuWzRdPW5bNV07bls1XT1EO0Q9bls2XTtuWzZdPW5bN107bls3XT1EO3JldHVybiBufUQrK319OwpvT3g9ZnVuY3Rpb24obixXKXthOnt2YXIgRD1XLmNyeXB0b1BlcmlvZEluZGV4O2lmKGlzTmFOKEQpJiZuLlcuc2l6ZT4wKUQ9ITA7ZWxzZXtmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKWlmKGIuY3J5cHRvUGVyaW9kSW5kZXg9PT1EKXtEPSEwO2JyZWFrIGF9RD0hMX19bi5XSigibG9nX3FvZSIse3d2YWd0OiJyZXFuZXdzIixjYW5za2lwOkR9KTtEfHxuLldKKCJyb3RhdGVkX25lZWRfa2V5X2luZm9fcmVhZHkiLFcpfTsKZEJoPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJEUk1fVFJBQ0tfVFlQRV9BVURJTyI6cmV0dXJuIDE7Y2FzZSAiRFJNX1RSQUNLX1RZUEVfU0QiOnJldHVybiAyO2Nhc2UgIkRSTV9UUkFDS19UWVBFX0hEIjpyZXR1cm4gMztjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQxIjpyZXR1cm4gNDtjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQyIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfX07ClQzaD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPW4uc3RhdHVzPT09IkxJQ0VOU0VfU1RBVFVTX09LIj8wOjk5OTksYj1udWxsO2lmKG4ubGljZW5zZSl0cnl7Yj1scChuLmxpY2Vuc2UpfWNhdGNoKHYpe2cuWGoodil9aWYoRD09PTAmJiFiKXJldHVybiBudWxsO2I9bmV3IHpEWihELGIpO0QhPT0wJiZuLnJlYXNvbiYmKGIuZXJyb3JNZXNzYWdlPW4ucmVhc29uKTtpZihuLmF1dGhvcml6ZWRGb3JtYXRzKXtEPXt9O2xldCB2PVtdLGs9e307Zm9yKGxldCBoIG9mIG4uYXV0aG9yaXplZEZvcm1hdHMpe2lmKCFoLnRyYWNrVHlwZXx8IWgua2V5SWQpY29udGludWU7VyYmYi5KLnB1c2goe3RyYWNrVHlwZTpkQmgoaC50cmFja1R5cGUpLGlzSGRyOiEhaC5pc0hkcn0pO2xldCB4PWxtVVtoLnRyYWNrVHlwZV07aWYoeCl7eD09PSJIRCImJm4uaXNIZDcyMCYmKHg9IkhENzIwIik7aC5pc0hkciYmKHgrPSJIRFIiKTtEW3hdfHwodi5wdXNoKHgpLERbeF09ITApO2xldCBMPW51bGw7dHJ5e0w9bHAoaC5rZXlJZCl9Y2F0Y2goZSl7Zy5YaihlKX1MJiYKKGtbZy5FQShMLDQpXT14KX19Yi5XPXY7Yi5OPWt9bi5uZXh0RmFpcnBsYXlLZXlJZCYmKGIubmV4dEZhaXJwbGF5S2V5SWQ9bi5uZXh0RmFpcnBsYXlLZXlJZCk7bi5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJihiLnNhYnJMaWNlbnNlQ29uc3RyYWludD1scChuLnNhYnJMaWNlbnNlQ29uc3RyYWludCkpO3JldHVybiBifTsKajdqPWZ1bmN0aW9uKG4sVyxEKXtuLm9uU3VjY2Vzcz1XO24ub25FcnJvcj1EfTsKQzl4PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXt0aW1lb3V0OjNFNCxvblN1Y2Nlc3M6az0+e2lmKCFuLnFOKCkpaWYoZy5hTCgiZHJtX25ldF9yIix2b2lkIDAsbi50aW1lciksaz1UM2goayxuLkopKW4ub25TdWNjZXNzKGssbi5yZXF1ZXN0TnVtYmVyKTtlbHNlIG4ub25FcnJvcihuLCJkcm0ubmV0IiwidC5wO3AuaSIpfSwKb25FcnJvcjprPT57aWYoIW4ucU4oKSlpZihrJiZrLmVycm9yKWs9ay5lcnJvcixuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLGB0LnI7cC5pO2MuJHtrLmNvZGV9O3MuJHtrLnN0YXR1c31gLGsuY29kZSk7ZWxzZSBuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLCJ0LnI7cC5pO2MubiIpfSwKb25UaW1lb3V0OigpPT57bi5vbkVycm9yKG4sImRybS5uZXQiLGBydC5yZXEuJHtuLnJlcXVlc3ROdW1iZXJ9YCl9fTsKYiYmKHYuUDE9YEJlYXJlciAke2J9YCk7Zy5JSShELCJwbGF5ZXIvZ2V0X2RybV9saWNlbnNlIixXLHYpfTsKcEM9ZnVuY3Rpb24obixXLEQ9ITEpe2cuVEMoVyk7KER8fG4uQi5XWCgpKSYmbi5XSigiY3RtcCIsImRybWxvZyIsVyl9OwpCM3g9ZnVuY3Rpb24obil7dmFyIFc9bi5iYXNlVXJsO2hBaShXKXx8bi5lcnJvcigiZHJtLm5ldCIsMiwidC54Iik7aWYoIWcubGYoVywiZmV4cCIpKXtsZXQgRD1bIjIzODk4MzA3IiwiMjM5MTQwNjIiLCIyMzkxNjEwNiIsIjIzODgzMDk4Il0uZmlsdGVyKGI9Pm4uQi5leHBlcmltZW50cy5leHBlcmltZW50c1tiXSk7CkQubGVuZ3RoPjAmJihuLmouZmV4cD1ELmpvaW4oKSl9Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uaikpVz1LUzEoVyxELG4ualtEXSk7cmV0dXJuIFd9Owp3enI9ZnVuY3Rpb24obixXKXt2YXIgRD1udWxsO3RyeXtEPVcuY3JlYXRlU2Vzc2lvbihuLlksYj0+e3BDKG4se206Yn0pfSksRlR0KG4sRCl9Y2F0Y2goYil7Vz0idC5nIixiIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtjLiR7Yi5jb2RlfWApLG4uV0ooImxpY2Vuc2VlcnJvciIsImRybS51bmF2YWlsYWJsZSIsMSxXLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIpfXJldHVybiBEfTsKRlR0PWZ1bmN0aW9uKG4sVyl7TTliKFcsKEQsYik9PntSRGoobixELGIpfSwoRCxiLHYpPT57bi5xTigpfHwoYj12b2lkIDAsZy5YVihuLkopJiZnLkRmKG4uQikmJm4uQi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJnY9PT0xMjEyNDMzMjMyJiYoYj0iRVJST1JfSERDUCIpLG4uZXJyb3IoImRybS5rZXllcnJvciIsMSxELGIpKX0sKCk9PntuLnFOKCl8fChwQyhuLHtvbmt5YWRkOjF9KSxuLmNKfHwobi5XSigic2Vzc2lvbnJlYWR5Iiksbi5jSj0hMCkpfSxEPT57bi5ZVihEKX0pfTsKUkRqPWZ1bmN0aW9uKG4sVyxEKXtpZighbi5xTigpKWlmKFcpe3BDKG4se29ua210eXA6RH0pO24uc3RhdHVzPSJrbSI7c3dpdGNoKEQpe2Nhc2UgImxpY2Vuc2UtcmVuZXdhbCI6Y2FzZSAibGljZW5zZS1yZXF1ZXN0IjpjYXNlICJsaWNlbnNlLXJlbGVhc2UiOmJyZWFrO2Nhc2UgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiOlE3MihuLFcpO3JldHVybjtkZWZhdWx0Om4uV0ooImN0bXAiLCJtZXNzYWdlX3R5cGUiLHt0OkQsbDpXLmJ5dGVMZW5ndGh9KX1uLnR3fHwoZy5hTCgiZHJtX2drX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uiksbi50dz0hMCxuLldKKCJuZXdzZXNzaW9uIixuKSk7aWYoTE4obi5KKSYmKFc9VjlpKFcpLCFXKSlyZXR1cm47dmFyIGI9ITE7aWYobi5CLlp0KCkuTi5RUShZYykpdHJ5e2I9bWsoVyx3T1opLnR5cGU9PT00fWNhdGNoKHYpe3BDKG4se2NlcnRfY2hlY2tfZmFpbGVkOjF9LCEwKX1pZihiJiZuLmRoPy5jZXJ0aWZpY2F0ZSl7cEMobix7Y2VydF9jYWNoZV9oaXQ6MX0sCiEwKTsrK24ucmVxdWVzdE51bWJlcjtsZXQgdj1uLmRoLmNlcnRpZmljYXRlO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntjN3IobixuZXcgekRaKDAsdiksYil9KX1lbHNlIFc9bmV3IGFtcihXLCsrbi5yZXF1ZXN0TnVtYmVyLG4udmlkZW9EYXRhLnpSLG4uQi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikpLGo3aihXLHY9PntjN3Iobix2LGIpfSwodixrLGgpPT57aWYoIW4ucU4oKSl7dmFyIHg9MDsKdi5OLko+PTMmJih4PTEsaz0iZHJtLm5ldC5yZXRyeWV4aGF1c3RlZCIpO3BDKG4se29ubGNzcnFlcnI6ayxpbmZvOmh9KTtuLmVycm9yKGsseCxoKTtuLnNob3VsZFJldHJ5KGoyKHgpLHYpJiZuUXcobix2KX19KSxnLnUobixXKSxXZzIobixXKX1lbHNlIG4uZXJyb3IoImRybS51bmF2YWlsYWJsZSIsMSwia20uZW1wdHkiKX07ClE3Mj1mdW5jdGlvbihuLFcpe3BDKG4se3NkcHZycToxfSk7bi5WPXBlcmZvcm1hbmNlLm5vdygpO2lmKG4uSi5mbGF2b3IhPT0id2lkZXZpbmUiKW4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuZmxhdm9yO2YuJHtuLkouZmxhdm9yfTtsLiR7Vy5ieXRlTGVuZ3RofWApO2Vsc2V7dmFyIEQ9e2NwbjpuLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlfTtPYmplY3QuYXNzaWduKEQsbi5CLk4pO0Q9Zy5FVCgiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2VydGlmaWNhdGVwcm92aXNpb25pbmcvdjEvZGV2aWNlY2VydGlmaWNhdGVzL2NyZWF0ZT9rZXk9QUl6YVN5Qi01T0xLVHgyaVU1bWtvMThEZmR3SzU2MTFKSWpiVWhFIixEKTtXPXtmb3JtYXQ6IlJBVyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkpTT04uc3RyaW5naWZ5KHtzaWduZWRSZXF1ZXN0OlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwKVyl9KSxyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn07Zy5zeihELFcsMyw1MDApLnRoZW4oWXooYj0+e2I9Yi54aHI7aWYoIW4ucU4oKSl7Yj1uZXcgVWludDhBcnJheShiLnJlc3BvbnNlKTt2YXIgdj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7dHJ5e3ZhciBrPUpTT04ucGFyc2Uodil9Y2F0Y2goaCl7fWsmJmsuc2lnbmVkUmVzcG9uc2U/KG4uV0ooImN0bXAiLCJkcm1pbmZvIix7cHJvdmlzaW9uaW5nOjF9KSxrPShwZXJmb3JtYW5jZS5ub3coKS1uLlYpLzFFMyxuLlY9TmFOLG4uV0ooImN0bXAiLCJwcm92cyIse2V0OmsudG9GaXhlZCgzKX0pLG4uWCYmbi5YLnVwZGF0ZShiKSk6KGs9ayYmay5lcnJvciYmay5lcnJvci5tZXNzYWdlLGI9ImUucGFyc2UiLGsmJihiKz1gO20uJHtrfWApLG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYikpfX0pLFl6KGI9PntuLnFOKCl8fG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuJHtiLmVycm9yQ29kZX07Yy4ke2IueGhyJiYKYi54aHIuc3RhdHVzfWApfSkpfX07CmM3cj1mdW5jdGlvbihuLFcsRCl7bi5xTigpfHwoKHBDKG4se29ubGNzcnNwOjF9KSxuLnN0YXR1cz0icnIiLFcuc3RhdHVzQ29kZSE9PTApP24uZXJyb3IoImRybS5hdXRoIiwxLGB0LmY7Yy4ke1cuc3RhdHVzQ29kZX1gLFcuZXJyb3JNZXNzYWdlfHx2b2lkIDApOihEJiZuLmRoJiZuLkIuWnQoKS5OLlFRKFljKSYmKG4uZGguY2VydGlmaWNhdGU9Vy5tZXNzYWdlKSxnLmFMKCJkcm1fa3JfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKSxXLmhlYXJ0YmVhdFBhcmFtcyYmVy5oZWFydGJlYXRQYXJhbXMudXJsJiZuLnZpZGVvRGF0YS5TKCJvdXRlcnR1YmVfc3RyZWFtaW5nX2RhdGFfYWx3YXlzX3VzZV9zdGFnaW5nX2xpY2Vuc2Vfc2VydmljZSIpJiYoRD1uLkouVy5tYXRjaCgvKC4qKXlvdXR1YmUuY29tL2cpKSYmKFcuaGVhcnRiZWF0UGFyYW1zLnVybD1EWzBdK1cuaGVhcnRiZWF0UGFyYW1zLnVybCksVy5oZWFydGJlYXRQYXJhbXMmJm4uV0ooIm5ld2xpY2Vuc2UiLFcuaGVhcnRiZWF0UGFyYW1zKSwKVy5XJiYobi5XPVcuVyxuLnZpZGVvRGF0YS5hTXx8bi5XSigibmV3bGljZW5zZSIsbmV3IERiaiksbi52aWRlb0RhdGEuYU09ITAsbi5LPWcub00obi5XLGI9PmIuaW5jbHVkZXMoIkhEUiIpKSksVy5KJiYobi5EPVcuSiksVy5OJiYobi5CLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5KLk4oKT8oRD1nLkVBKHhLKG4uZmFpcnBsYXlLZXlJZCksNCksbi5OW0RdPXt0eXBlOlcuTltEXSwKc3RhdHVzOiJ1bmtub3duIn0pOm4uTj1XeChXLk4sYj0+KHt0eXBlOmIsc3RhdHVzOiJ1bmtub3duIn0pKSksZzEobi5KKSYmKFcubWVzc2FnZT1hMjIoZy5FQShXLm1lc3NhZ2UpKSksbi5YJiYocEMobix7dXBkdGtzOjF9KSxuLnN0YXR1cz0ia3UiLG4uWC51cGRhdGUoVy5tZXNzYWdlKS50aGVuKCgpPT57Zy5hTCgiZHJtX2tyX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uik7CkhyKG4pfHwocEMobix7a3NBcGlVbnN1cDoxfSksbi5XSigia2V5c3RhdHVzZXNjaGFuZ2UiLG4pKX0sYj0+e2I9YG1zdWYucmVxLiR7bi5yZXF1ZXN0TnVtYmVyfTttc2cuJHtnLnVwKGIubWVzc2FnZSwzKX1gOwpuLmVycm9yKCJkcm0ua2V5ZXJyb3IiLDEsYil9KSksZy5YVihuLkopJiZuLldKKCJmYWlycGxheV9uZXh0X25lZWRfa2V5X2luZm8iLG4uYmFzZVVybCxXLm5leHRGYWlycGxheUtleUlkKSxuLkIuUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZuLkouTigpJiZuLldKKCJxdWFsaXR5Y2hhbmdlIixibWgobi5XKSksVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJm4uV0ooInNhYnJsaWNlbnNlY29uc3RyYWludCIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpKSl9OwpXZzI9ZnVuY3Rpb24obixXKXtuLnN0YXR1cz0ia20iO2cuYUwoImRybV9uZXRfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKTt2YXIgRD1uZXcgZy5kNChuLkIuU1YpLGI9e2NvbnRleHQ6Zy5VSihELmNvbmZpZ198fGcuUzkoKSl9O2IuZHJtU3lzdGVtPXZRQ1tuLkouZmxhdm9yXTtiLnZpZGVvSWQ9bi52aWRlb0RhdGEudmlkZW9JZDtiLmNwbj1uLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlO2Iuc2Vzc2lvbklkPW4uc2Vzc2lvbklkO2IubGljZW5zZVJlcXVlc3Q9Zy5FQShXLm1lc3NhZ2UpO2IuZHJtUGFyYW1zPW4udmlkZW9EYXRhLmRybVBhcmFtcztpc05hTihuLmNyeXB0b1BlcmlvZEluZGV4KXx8KGIuaXNLZXlSb3RhdGVkPSEwLGIuY3J5cHRvUGVyaW9kSW5kZXg9bi5jcnlwdG9QZXJpb2RJbmRleCk7dmFyIHY9ISFuLnZpZGVvRGF0YS5KPy5LKCk/LmlzSGRyKCk7Yi5kcm1WaWRlb0ZlYXR1cmU9dj8iRFJNX1ZJREVPX0ZFQVRVUkVfUFJFRkVSX0hEUiI6IkRSTV9WSURFT19GRUFUVVJFX1NEUiI7Cm4uQi5leHBlcmltZW50cy5adCgpLk4uUVEoa1RiKSYmKGIuY29udGV4dD1nLm9UKG4udmlkZW9EYXRhKSk7aWYoYi5jb250ZXh0JiZiLmNvbnRleHQuY2xpZW50KXtpZih2PW4uQi5OKWIuY29udGV4dC5jbGllbnQuZGV2aWNlTWFrZT12LmNicmFuZCxiLmNvbnRleHQuY2xpZW50LmRldmljZU1vZGVsPXYuY21vZGVsLGIuY29udGV4dC5jbGllbnQuYnJvd3Nlck5hbWU9di5jYnIsYi5jb250ZXh0LmNsaWVudC5icm93c2VyVmVyc2lvbj12LmNicnZlcixiLmNvbnRleHQuY2xpZW50Lm9zTmFtZT12LmNvcyxiLmNvbnRleHQuY2xpZW50Lm9zVmVyc2lvbj12LmNvc3ZlcjtuLkIuZXhwZXJpbWVudHMuWnQoKS5OLlFRKGtUYil8fChiLmNvbnRleHQudXNlcj1iLmNvbnRleHQudXNlcnx8e30sbi52aWRlb0RhdGEuRCYmKGIuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOm4udmlkZW9EYXRhLkQsc2NvcGU6IlZJREVPIn1dKSxuLnZpZGVvRGF0YS5ISiYmKGIuY29udGV4dC51c2VyLmtpZHNQYXJlbnQ9CntvYXV0aFRva2VuOm4udmlkZW9EYXRhLkhKfSkpO2IuY29udGV4dC5yZXF1ZXN0PWIuY29udGV4dC5yZXF1ZXN0fHx7fTtiLmNvbnRleHQucmVxdWVzdC5tZHhFbnZpcm9ubWVudD1uLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudHx8Yi5jb250ZXh0LnJlcXVlc3QubWR4RW52aXJvbm1lbnQ7Zy5YVihuLkopJiYoYi5mYWlycGxheUtleUlkPWcuRUEoeEsobi5mYWlycGxheUtleUlkKSkpO2cuSEUobi5CLG4udmlkZW9EYXRhLlYoKSkudGhlbihrPT57Qzl4KFcsYixELGspO24uc3RhdHVzPSJycyJ9KX1lbHNlIG4uZXJyb3IoImRybS5uZXQiLDIsInQucjtpYy4wIil9OwpoOE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2IuaXNIZHI9Vy5pbmNsdWRlcygiSERSIik7c3dpdGNoKFcucmVwbGFjZSgiSERSIiwiIikucmVwbGFjZSgiNzIwIiwiIikpe2Nhc2UgIkFVRElPIjpiLnRyYWNrVHlwZT0xO2JyZWFrO2Nhc2UgIlNEIjpiLnRyYWNrVHlwZT0yO2JyZWFrO2Nhc2UgIkhEIjpiLnRyYWNrVHlwZT0zO2JyZWFrO2Nhc2UgIlVIRDEiOmIudHJhY2tUeXBlPTQ7YnJlYWs7Y2FzZSAiVUhEMiI6Yi50cmFja1R5cGU9NTticmVhaztkZWZhdWx0OmIudHJhY2tUeXBlPTB9IWIudHJhY2tUeXBlfHxEW1ddfHxIcihuKSYmIWZDKG4sVyl8fChuLmF1dGhvcml6ZWRGb3JtYXRzLnB1c2goYiksRFtXXT0hMCl9Owp4Ymo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobi5OKSlELnB1c2goYCR7Yn1fJHtuLk5bYl0udHlwZX1fJHtuLk5bYl0uc3RhdHVzfWApO3JldHVybiBELmpvaW4oVyl9OwpIcj1mdW5jdGlvbihuKXt2YXIgVztpZihXPW4uTyYmbi5YIT1udWxsKW49bi5YLFc9ISghbi5OfHwhbi5OLmtleVN0YXR1c2VzKTtyZXR1cm4gV307Cm5Rdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuTi5nZXRWYWx1ZSgpO0Q9bmV3IGcuZl8oKCk9PntXZzIobixXKX0sRCk7CmcudShuLEQpO0Quc3RhcnQoKTtnLnhFKFcuTik7cEMobix7cnR5cnE6MX0pfTsKSjI9ZnVuY3Rpb24obil7dmFyIFc9e307V1tuLnN0YXR1c109SHIobik/eGJqKG4sIi4iKTpuLlcuam9pbigiLiIpO3JldHVybiBXfTsKZkM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbi5OKWlmKG4uTltEXS5zdGF0dXM9PT0idXNhYmxlIiYmbi5OW0RdLnR5cGU9PT1XKXJldHVybiEwO3JldHVybiExfTsKTGd3PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4uTilpZihuLk5bRF0udHlwZT09PVcpcmV0dXJuIG4uTltEXS5zdGF0dXN9OwplOHc9ZnVuY3Rpb24obil7dmFyIFc9blswXTtuWzBdPW5bM107blszXT1XO1c9blsxXTtuWzFdPW5bMl07blsyXT1XO1c9bls0XTtuWzRdPW5bNV07bls1XT1XO1c9bls2XTtuWzZdPW5bN107bls3XT1XfTsKYm1oPWZ1bmN0aW9uKG4pe3JldHVybiBnLmpqKG4sIlVIRDIiKXx8Zy5qaihuLCJVSEQySERSIik/ImhpZ2hyZXMiOmcuamoobiwiVUhEMSIpfHxnLmpqKG4sIlVIRDFIRFIiKT8iaGQyMTYwIjpnLmpqKG4sIkhEIil8fGcuamoobiwiSERIRFIiKT8iaGQxMDgwIjpnLmpqKG4sIkhENzIwIil8fGcuamoobiwiSEQ3MjBIRFIiKT8iaGQ3MjAiOiJsYXJnZSJ9OwpWOWk9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0yKVcrPVN0cmluZy5mcm9tQ2hhckNvZGUobltEXSk7bj1nLmdUKG5ldyBET01QYXJzZXIsZy5ITShXKSwidGV4dC94bWwiKTtpZighbilyZXR1cm4gbnVsbDsoVz1uLnF1ZXJ5U2VsZWN0b3IoIkNoYWxsZW5nZSIpKSYmVy5jaGlsZE5vZGVzJiZXLmNoaWxkTm9kZXMubGVuZ3RoIT09MD8obj1VaW50OEFycmF5LFc9emgoVy5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSksVz0oMCxnLk5tKShXKS5idWZmZXIsbj1uZXcgbihXKSk6bj1udWxsO3JldHVybiBufTsKTTliPWZ1bmN0aW9uKG4sVyxELGIsdil7bi5qPVc7bi5XPUQ7bi5WPWI7bi5LPXZ9OwpnUXc9ZnVuY3Rpb24obil7bi5OPyhuLlguTk4obi5OLCJtZXNzYWdlIixuLmJkKSxuLlguTk4obi5OLCJrZXlzdGF0dXNlc2NoYW5nZSIsbi5ZViksbi5OLmNsb3NlZCYmbi5OLmNsb3NlZC50aGVuKFl6KCgpPT57bi5xTigpfHxnLnViKCJ4Ym94b25lIikmJm4uVyYmbi5XKCJjbG9zZWRTaG91bGROb3RSZXRyeSIpfSksbnVsbCkpOm4uSiYmKEt5KG4uWCxuLkosWyJtc2tleW1lc3NhZ2UiLAoid2Via2l0a2V5bWVzc2FnZSJdLG4uY0opLEt5KG4uWCxuLkosWyJtc2tleWVycm9yIiwid2Via2l0a2V5ZXJyb3IiXSxuLk8pLEt5KG4uWCxuLkosWyJtc2tleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLkQpKX07ClhVUz1mdW5jdGlvbihuLFcsRCl7Zy5YaihEKTtuLlcmJihEIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtuLiR7RC5uYW1lfTttLiR7RC5tZXNzYWdlfWApLG4uVyhXKSl9OwpxY1U9ZnVuY3Rpb24obil7S3kobi5YLG4uZWxlbWVudCxbImtleW1lc3NhZ2UiLCJ3ZWJraXRrZXltZXNzYWdlIl0sbi5PKTtLeShuLlgsbi5lbGVtZW50LFsia2V5ZXJyb3IiLCJ3ZWJraXRrZXllcnJvciJdLG4uRCk7S3kobi5YLG4uZWxlbWVudCxbImtleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLlkpfTsKR1RTPWZ1bmN0aW9uKG4sVz1udWxsKXtpZihuLk4ua2V5U3lzdGVtQWNjZXNzKXJldHVybiBuLks9bi5LLnRoZW4oKCk9Pm4ubWVkaWFLZXlzP1Byb21pc2UucmVzb2x2ZSgpOlc/Lm1lZGlhS2V5cyYmVy5ZYT8ucGcoKT8obi5tZWRpYUtleXM9Vz8ubWVkaWFLZXlzLFByb21pc2UucmVzb2x2ZSgpKTpuLk4ua2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpLnRoZW4oRD0+e24ucU4oKXx8KG4ubWVkaWFLZXlzPUQsVz8uWWE/LnBnKCkmJihXLm1lZGlhS2V5cz1EKSl9KSkudGhlbigoKT0+e3ZhciBEPVc/LmVfKCk7CnJldHVybiBuLmVsZW1lbnQmJm4uZWxlbWVudCE9PUQmJm4uZWxlbWVudC5tZWRpYUtleXM/bi5lbGVtZW50LnNldE1lZGlhS2V5cyhudWxsKTpQcm9taXNlLnJlc29sdmUoKX0pLnRoZW4oKCk9PntuLmVsZW1lbnQ9Vz8uZV8oKTsKcmV0dXJuIG4uZWxlbWVudCYmbi5lbGVtZW50Lm1lZGlhS2V5cyE9PW4ubWVkaWFLZXlzP24uZWxlbWVudC5zZXRNZWRpYUtleXMobi5tZWRpYUtleXMpOlByb21pc2UucmVzb2x2ZSgpfSksbi5LOwp4aChuLk4pP24uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pOmVUKG4uTik/KG4uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pLG4uZWxlbWVudD8ud2Via2l0U2V0TWVkaWFLZXlzKG4uSikpOnFjVShuKTtyZXR1cm4gbnVsbH07CnR3TT1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KDI3MCk7Zm9yKGxldCBiPTA7YjwxMzU7YisrKURbYioyXT0nPFBsYXlSZWFkeUNETURhdGEgdHlwZT0iTGljZW5zZUFjcXVpc2l0aW9uIj48TGljZW5zZUFjcXVpc2l0aW9uIHZlcnNpb249IjEuMCIgUHJvYWN0aXZlPSJ0cnVlIj48L0xpY2Vuc2VBY3F1aXNpdGlvbj48L1BsYXlSZWFkeUNETURhdGE+Jy5jaGFyQ29kZUF0KGIpO249bi5KLmNyZWF0ZVNlc3Npb24oInZpZGVvL21wNCIsVyxEKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsbil9OwpySTE9ZnVuY3Rpb24obixXKXtXPSRiWihXLG4uTi5DaSk7Vz1uLkouY3JlYXRlU2Vzc2lvbigidmlkZW8vbXA0IixXKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsVyxuLlYpfTsKUzA9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmpbVy5zZXNzaW9uSWRdOyFEJiZuLlcmJihEPW4uVyxuLlc9bnVsbCxELnNlc3Npb25JZD1XLnNlc3Npb25JZCxuLmpbVy5zZXNzaW9uSWRdPUQpO3JldHVybiBEfTsKJGJaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5zdWJhcnJheSg0KTtEPW5ldyBVaW50MTZBcnJheShELmJ1ZmZlcixELmJ5dGVPZmZzZXQsRC5ieXRlTGVuZ3RoLzIpO0Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEQpLm1hdGNoKC9laz0oWzAtOWEtZl0rKS8pWzFdO3ZhciBiPSIiO2Zvcih2YXIgdj0wO3Y8RC5sZW5ndGg7dis9MiliKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEQuc3Vic3RyaW5nKHYsdisyKSwxNikpO0Q9YjtiPW5ldyBBcnJheUJ1ZmZlcihELmxlbmd0aCoyKTt2PW5ldyBVaW50MTZBcnJheShiKTtmb3IodmFyIGs9MDtrPEQubGVuZ3RoO2srKyl2W2tdPUQuY2hhckNvZGVBdChrKTtEPW5ldyBVaW50OEFycmF5KGIpO2I9MDtrPW5ldyBBcnJheUJ1ZmZlcihuLmJ5dGVMZW5ndGgrNCtELmJ5dGVMZW5ndGgrNCtXLmJ5dGVMZW5ndGgpO3Y9bmV3IFVpbnQ4QXJyYXkoayk7az1uZXcgRGF0YVZpZXcoayk7di5zZXQobik7Yis9bi5ieXRlTGVuZ3RoOwprLnNldFVpbnQzMihiLEQubGVuZ3RoLCEwKTtiKz00O3Yuc2V0KEQsYik7Yis9RC5sZW5ndGg7ay5zZXRVaW50MzIoYixXLmJ5dGVMZW5ndGgsITApO3Yuc2V0KFcsYis0KTtyZXR1cm4gdn07Ck5vQz1mdW5jdGlvbihuKXt2YXIgVz1HVFMobi5tZWRpYUtleXMsbi5tZWRpYUVsZW1lbnQpO1c/Vy50aGVuKFl6KCgpPT57c0lNKG4pfSksWXooRD0+e2lmKCFuLnFOKCkpe2cuWGooRCk7CnZhciBiPSJ0LmEiO0QgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJihiKz0iO24uIitELm5hbWUrIjttLiIrRC5tZXNzYWdlKTtuLldKKCJsaWNlbnNlZXJyb3IiLCJkcm0udW5hdmFpbGFibGUiLDEsYiwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siKX19KSk6KG4uSih7bWRrcmR5OjF9KSxuLkQ9ITApOwpuLk8mJihXPUdUUyhuLk8sbi5tZWRpYUVsZW1lbnQpKX07CnNJTT1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uQi5TKCJodG1sNV9kcm1fc2V0X3NlcnZlcl9jZXJ0Iil8fG4uTi5OKCkpe2xldCBXPW4ubWVkaWFLZXlzLnNldFNlcnZlckNlcnRpZmljYXRlKCk7Vz9XLnRoZW4oWXooRD0+e24uQi5XWCgpJiZuLldKKCJjdG1wIiwic3NjIix7c3VjY2VzczpEfSl9KSxZeihEPT57bi5XSigiY3RtcCIsInNzY2UiLHtuOkQubmFtZSwKbTpELm1lc3NhZ2V9KX0pKS50aGVuKFl6KCgpPT57QTIobil9KSk6QTIobil9ZWxzZSBBMihuKX07ClljMT1mdW5jdGlvbihuLFcsRCl7bi5QWD0hMDtEPW5ldyBydShXLEQpO24uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmKG4uVi5nZXQoVyl8fG4uVi5zZXQoVyxEKSk7cFVqKG4sRCl9OwpwVWo9ZnVuY3Rpb24obixXKXtpZighbi5xTigpKXtuLkooe29uSW5pdERhdGE6MX0pO2lmKG4uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBEPW4uSy5nZXQoVy5pbml0RGF0YSk7Vz1uLlYuZ2V0KFcuaW5pdERhdGEpO2lmKCFEfHwhVylyZXR1cm47Vz1EO0Q9Vy5pbml0RGF0YTtuLlYucmVtb3ZlKEQpO24uSy5yZW1vdmUoRCl9bi5KKHtpbml0ZDpXLmluaXREYXRhLmxlbmd0aCxjdDpXLmNvbnRlbnRUeXBlfSk7aWYobi5OLmZsYXZvcj09PSJ3aWRldmluZSIpaWYobi5WUSYmIW4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrKW1uKG4pO2Vsc2V7aWYoIShuLkIuUygidnA5X2RybV9saXZlIikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZXLnFIKSl7bi5WUT0hMDtEPVcuY3J5cHRvUGVyaW9kSW5kZXg7dmFyIGI9Vy5OO1Z2dChXKTtXLnFIfHwoYiYmVy5OIT09Yj9uLldKKCJjdG1wIiwiY3BzbW0iLHtlbXNnOmIsCnBzc2g6Vy5OfSk6RCYmVy5jcnlwdG9QZXJpb2RJbmRleCE9PUQmJm4uV0ooImN0bXAiLCJjcGltbSIse2Vtc2c6RCxwc3NoOlcuY3J5cHRvUGVyaW9kSW5kZXh9KSk7bi5XSigid2lkZXZpbmVfc2V0X25lZWRfa2V5X2luZm8iLFcpfX1lbHNlIG4uUyQoVyl9fTsKbW49ZnVuY3Rpb24obil7aWYobi5QWCYmbi5EJiYhbi5iZCl7Zm9yKDtuLlgubGVuZ3RoOyl7bGV0IFc9bi5YWzBdLEQ9SG1TKG4pP2NraihXKTpnLkVBKFcuaW5pdERhdGEpO2lmKG4uTi5OKCkmJiFXLlVXKW4uWC5zaGlmdCgpO2Vsc2V7aWYobi5XLmdldChEKSlpZihuLk4uZmxhdm9yIT09ImZhaXJwbGF5Inx8bi5OLk4oKSl7bi5YLnNoaWZ0KCk7Y29udGludWV9ZWxzZSBuLlcuZGVsZXRlKEQpO1Z2dChXKTticmVha319bi5YLmxlbmd0aCYmbi5jcmVhdGVTZXNzaW9uKG4uWFswXSl9fTsKQTI9ZnVuY3Rpb24obil7bi5xTigpfHwobi5EPSEwLG4uSih7b25tZGtyZHk6MX0pLG1uKG4pKX07CkhtUz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmZsYXZvcj09PSJ3aWRldmluZSImJm4udmlkZW9EYXRhLlMoImh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXkiKX07CmY1eD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmQ4KCkmJm4ubWVkaWFLZXlzLm1lZGlhS2V5cz8uZ2V0TWV0cmljcyl7dmFyIFc9YXdhaXQgbi5tZWRpYUtleXMuZ2V0TWV0cmljcygpO1cmJigoMCxnLkc5KShXKXx8KFc9Zy5IRyhXKSksL15bQS1aYS16MC05Xy1dKz17MCwzfSQvLnRlc3QoVyl8fChXPWcudXAoVyx2b2lkIDAsITApKSxuLldKKCJjdG1wIiwiZHJtIix7bWV0cmljczpXfSkpfX07CkpJYj1mdW5jdGlvbihuLFcpe2lmKG4udmlkZW9EYXRhLlkpcmV0dXJuITE7bi55US5udSs9MTtpZihuLnlRLm51PD0xMClyZXR1cm4hMTtXLmV4aWxlZD1gJHtuLnlRLm51fWA7bi5HcygicW9lLnN0YXJ0MTVzIixXKTtuLkwuV0ooInBsYXliYWNrc3RhbGxlZGF0c3RhcnQiKTtyZXR1cm4hMH07Ckk1Mj1mdW5jdGlvbihuKXtpZighbi5KKXtuLko9ITA7dmFyIFc9bi5MLmdldFBsYXllclN0YXRlKCk7Vz1XLmlzUGF1c2VkKCl8fFcuaXNTdXNwZW5kZWQoKTtuLkwub0ooKTtXJiYhT1Mobi52aWRlb0RhdGEpfHxuLkwuV0ooInNpZ25hdHVyZWV4cGlyZWQiKX19OwpLQz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi52aWRlb0RhdGEuSix2PW4udmlkZW9EYXRhLlgsaz1uLnlRLlMoImh0bWw1X2Rpc2FibGVfY29kZWNfZmFsbGJhY2tfZm9yX2RybSIpJiZuLnZpZGVvRGF0YS5NaSgpO0FKKG4uTC5nZXRWaWRlb0RhdGEoKSkmJlA5VShuLkwsInBlIik7bi55US5adCgpLk4uUVEoU2N0KSYmKEQuYmtnPW4uTC5YTygpLmlzQmFja2dyb3VuZCgpPyIxIjoiMCIpO2lmKChXPT09InByb2dyZXNzaXZlLm5ldC5yZXRyeWV4aGF1c3RlZCJ8fFc9PT0iZm10LnVucGxheWFibGUifHxXPT09ImZtdC5kZWNvZGUiKSYmIW4uTC5oVS5qJiZiJiZiLml0YWc9PT0iMjIiKXJldHVybiBuLkwuaFUuaj0hMCxuLkdzKCJxb2UucmVzdGFydCIse3JlYXNvbjoiZm10LnVucGxheWFibGUuMjIifSksbi5MLlZ2KCksITA7dmFyIGg9ITE7aWYobi52aWRlb0RhdGEuaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCl7aWYoaD1uLnZpZGVvRGF0YS5xdylELm1pbWVUeXBlPWgudHlwZSwKbi5VKCIzcHAiLHt1cmw6aC51cmx9KTtELm5zPSIzcHAiO24uTC5QVihXLDEsIlZJREVPX1VOQVZBSUxBQkxFIixnLlRDKChuZXcgZy5DaShXLEQsMSkpLmRldGFpbHMpKTtyZXR1cm4hMH12YXIgeD1uLmtzKzNFNDwoMCxnLlIpKCl8fG4uTi5pc0FjdGl2ZSgpO2lmKG4ueVEuUygiaHRtbDVfZW1wdHlfc3JjIikmJm4udmlkZW9EYXRhLmlzQWQoKSYmVz09PSJmbXQudW5wbGF5YWJsZSImJi9FbXB0eSBzcmMvLnRlc3QoYCR7RC5tc2d9YCkpcmV0dXJuIEQub3JpZ2luPSJlbXB0eXNyYyIsbi5HcygiYXV0aCIsRCksITA7dmFyIEw7aWYoTD0heClMPW4uTC5YTygpLEw9ISEoTC5CUCgpfHxMLmlzSW5saW5lKCl8fEwuaXNCYWNrZ3JvdW5kKCl8fEwuQW4oKXx8TC5qSSgpfHxMLlNJKCl8fEwuUTAoKSk7TCYmKEQubm9uZmc9InBhdXNlZCIseD0hMCxuLkwucGF1c2VWaWRlbygpKTtXIT09ImZtdC5kZWNvZGUiJiZXIT09ImZtdC51bnBsYXlhYmxlInx8IXY/LlYoKXx8KFNUKG4ueVEuVyx2LklCKSwKRC5hY2ZhbGxleHA9di5JQixoPXg9ITApOyF4JiZuLlc+MCYmKG4uTi5zdGFydCgpLHg9ITAsRC5kZWxheWVkPSIxIiwtLW4uVyk7dj1uLkwubG9hZGVyO3h8fCFiPy5NVygpJiYhYj8uWCgpfHxrfHwoU1Qobi55US5XLGIuSUIpLGg9eD0hMCxELmNmYWxsZXhwPWIuSUIpO2lmKCF4KXJldHVybiBKSWIobixEKTtrPSExO24uaj9uLmtzPSgwLGcuUikoKTprPW4uaj0hMDt4PW4udmlkZW9EYXRhO3guY0o/KHg9eC5jSi5qKCksTD1EYXRlLm5vdygpLzFFMysxODAwLHg9eDxMKTp4PSExO0QuZT1XO3gmJihELnN0YWxlcHJvZz0iMSIpO24uR3MoInFvZS5yZXN0YXJ0IixEKTtpZih4JiZuLlExKCkpcmV0dXJuIEk1MihuKSwhMDtpZighKCFnLnViKCJwaGlsaXBzIil8fFc9PT0iZm10LnVucGxheWFibGUiJiZ2JiZ2LkNIfHxuLnlRLk4uY3BsYXRmb3JtPT09IkdBTUVfQ09OU09MRSIpKXRyeXt3aW5kb3cuY2xvc2UoKX1jYXRjaHt9YiYmYi5NVygpJiYhbi55US5TKCJodG1sNV9hbGxvd19hdjFfcmV0cnlfaW5fc2Vzc2lvbiIpPwooaD1uLnlRLlcsaC5ZPSEwLGg9aC5OPSEwKTp2PyhXPW4ueVEuUygiaHRtbDVfZGlzYWJsZV9zdHVubmluZ19mb3Jfc2QiKSxEPW4udmlkZW9EYXRhLlcsRD1EPy52aWRlb0luZm9zPy5sZW5ndGg/RC52aWRlb0luZm9zW0QudmlkZW9JbmZvcy5sZW5ndGgtMV06bnVsbCxiPWImJkQmJmIudmlkZW8mJkQudmlkZW8mJmIudmlkZW8ucXVhbGl0eU9yZGluYWw9PT1ELnZpZGVvLnF1YWxpdHlPcmRpbmFsLGt8fFcmJmJ8fChiPShiPUkkKHYudmlkZW9UcmFjayl8fHYudmlkZW9UcmFjay5OKT9iLlBKOnYudmlkZW9UcmFjay5QSixiLkZGKz0xLHYucG9saWN5Lk4/V2wodi5rNixiLCEwKTphcSh2LmNWLGIsITApKSk6bi52aWRlb0RhdGEuY0omJm4udmlkZW9EYXRhLmNKLlgoKTtuLk4uaXNBY3RpdmUoKXx8bi5MLkJvKGgpO3JldHVybiEwfTsKQUlNPWZ1bmN0aW9uKG4sVyl7aWYoKG49bi5MLmg1KCkpJiYoVy5lcnJvckNvZGU9PT0iZm10LnVucGxheWFibGUifHxXLmVycm9yQ29kZT09PSJodG1sNS5pbnZhbGlkc3RhdGUiKSl7bGV0IEQ9bi5WRygpO1cuZGV0YWlscy5tZXJyPUQ/RC50b1N0cmluZygpOiIwIjtXLmRldGFpbHMubW1zZz1uLnM4KCl9fTsKbWJNPWZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yQ29kZT09PSJuZXQuYmFkc3RhdHVzIiYmKG4uc2V2ZXJpdHk9PT0xfHwhIW4uZGV0YWlscy5mbXRfdW5hdil9OwpLZ3g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi55US5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIikmJlcuZGV0YWlscy5yYz09PTQwM3x8Vy5kZXRhaWxzLnJjPT09IjQwMyI/KG49Vy5lcnJvckNvZGUsbj09PSJuZXQuYmFkc3RhdHVzInx8bj09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiKTohMX07Ck9YPWZ1bmN0aW9uKG4sVyxEKXt0cnl7Vz17ZGV0YWlsOmBwci4ke1d9YH0sZy54NihuLnlRKXx8bG8obi55USk9PT0iVFZIVE1MNV9GT1JfS0lEUyI/bi5MLlBWKCJxb2UucmVzdGFydCIsRD8xOjIsdm9pZCAwLGcuVEMoVyksIjciKToobi5HcygicW9lLnJlc3RhcnQiLFcpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSl9Y2F0Y2h7fX07Ck9tMj1mdW5jdGlvbihuLFcpe2lmKCFLZ3gobixXKSYmIW4uSilyZXR1cm4hMTtXLmRldGFpbHMuc3RzPSIyMDY1NSI7aWYobi5RMSgpKXJldHVybiBqMihXLnNldmVyaXR5KSYmKFc9T2JqZWN0LmFzc2lnbih7ZTpXLmVycm9yQ29kZX0sVy5kZXRhaWxzKSxXPW5ldyBnLkNpKCJxb2UucmVzdGFydCIsVykpLG4uR3MoVy5lcnJvckNvZGUsVy5kZXRhaWxzKSxJNTIobiksITA7KDAsZy5SKSgpLW4ueVEuQ3U+NjA0OEU1JiZPWChuLCJzaWduYXR1cmUiLCEwKTtyZXR1cm4hMX07ClBNaj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YS5lcnJvckRldGFpbD09PSI3IiYmZy5rNihuLnlRKSl7bGV0IFc9IW4udmlkZW9EYXRhLmlzSW5saW5lUGxheWJhY2tOb0FkO1cmJm4ueVEuVFErKztPWChuLCJpbm5lcnR1YmVfcGxheWVyX3JlbG9hZF9yZXF1aXJlZCIsVyYmbi55US5UUT4xKTtyZXR1cm4hMH1yZXR1cm4hMX07ClByPWZ1bmN0aW9uKG4sVz0iZm10Lm5vbmVhdmFpbGFibGUiKXt2YXIgRD1uLnlRLlc7RC5LPSExO0QuTj0hMDtuLkdzKCJxb2UucmVzdGFydCIse2U6VyxkZXRhaWw6ImhkciJ9KTtuLkwuQm8oITApfTsKWm1oPWZ1bmN0aW9uKG4pe2lmKG4uTC5YTygpLmlzSW5saW5lKCkpcmV0dXJuIFlaO249TGdbcDcoKV07cmV0dXJuIHZBKCJhdXRvIixuLCExLCJzIil9Owp5SXI9ZnVuY3Rpb24obixXKXt2YXIgRDthOmlmKChEPVcuTikmJkQudmlkZW9JbmZvcy5sZW5ndGgpe2Zvcih2YXIgYiBvZiBELnZpZGVvSW5mb3MpaWYoYi5qPy5zbW9vdGgpe0Q9Yi52aWRlby5xdWFsaXR5T3JkaW5hbDticmVhayBhfUQ9RC52aWRlb0luZm9zWzBdLnZpZGVvLnF1YWxpdHlPcmRpbmFsfWVsc2UgRD0wO2I9ITA7bi5CLlMoIndlYl9yZWxheF9hcm1fY2FwIikmJm5hdmlnYXRvci5KRiYmKGI9ITEpO2ImJihnLnViKCJhcm12NyIpfHxnLnViKCJhYXJjaDY0Iil8fGcudWIoImFuZHJvaWQiKSkmJiFnLms2KG4uQikmJlcuTi52aWRlb0luZm9zWzBdLlgoKSYmKEQ9TWF0aC5taW4oRCxORy5sYXJnZSkpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2NoaXBzZXRfc29mdF9jYXAiKTtiPjAmJihEPU1hdGgubWluKEQsYikpO2I9bi5CLncwKCkuTi5RUShVYlMpO2I+MCYmKEQ9TWF0aC5taW4oRCxiKSk7aWYoYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb24iKSl7bGV0IGg9CjQzMjA7Zm9yKHZhciB2PTA7djxXLk4udmlkZW9JbmZvcy5sZW5ndGg7disrKXt2YXIgaz1XLk4udmlkZW9JbmZvc1t2XTtrLnZpZGVvLmhlaWdodD5iJiYoaD1NYXRoLm1pbihoLGsudmlkZW8ucXVhbGl0eU9yZGluYWwpKX1pZihoPDQzMjApe3Y9MDtmb3Ioaz0wO2s8Vy5OLnZpZGVvSW5mb3MubGVuZ3RoO2srKyl7bGV0IHg9Vy5OLnZpZGVvSW5mb3Nba10udmlkZW8ucXVhbGl0eU9yZGluYWw7eDxoJiYodj1NYXRoLm1heCh2LHgpKX12JiYoRD1NYXRoLm1pbih2LEQpKX1uLkwuVSgibXZyIix7aDpiLGNwOkR9KX1yZXR1cm4gbmV3IGIzKDAsRCwhMSwibyIpfTsKaW1yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9NDMyMDshbi5CLmp8fGcuQ04obi5CKXx8bi5CLlMoImhsc19mb3Jfdm9kIil8fG4uQi5TKCJtd2ViX3JlbW92ZV8zNjBwX2NhcCIpfHwoRD1ORy5tZWRpdW0pO3ZhciBiPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwIik7YiYmVy5OLk4oKSYmKG4uQi5TKCJodG1sNV9hbHdheXNfYXBwbHlfZGVmYXVsdF9xdWFsaXR5X2NhcCIpfHwhVy52aWRlb0RhdGEuaTUmJiFXLnZpZGVvRGF0YS5jb250ZW50UHJvdGVjdGlvbikmJihEPU1hdGgubWluKEQsYikpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXAiKTt2YXIgdj0vW2EtaF0kLztiJiZ2LnRlc3QoVy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSkmJihEPU1hdGgubWluKEQsYikpO2lmKHY9Yj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfaGZyX3F1YWxpdHlfY2FwIikpYTp7dj1XLk47aWYodi5OKCkpZm9yKHZhciBrIG9mIHYudmlkZW9JbmZvcylpZihrLnZpZGVvLkooKSl7dj0KITA7YnJlYWsgYX12PSExfXYmJihEPU1hdGgubWluKEQsYikpOyhrPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9saXZlX3F1YWxpdHlfY2FwIikpJiZXLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEQ9TWF0aC5taW4oRCxrKSk7RD1FUU0obixXLEQpO249Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIik7cmV0dXJuIG5ldyBiMygwLEQ9PT00MzIwPzA6RCwhMSwiZCIsbil9OwpaVj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTC5YTygpO3JldHVybiBELmlzSW5saW5lKCkmJiFXLnVuY2FwSW5saW5lUXVhbGl0eT9uZXcgYjMoMCw0ODAsITEsInYiKTpnLllOKFcpP1laOkQuaXNCYWNrZ3JvdW5kKCkmJmcudkkoKS8xRTM+NjAmJiFnLms2KG4uQik/bmV3IGIzKDAsMzYwLCExLCJ2Iik6WVp9OwpVWD1mdW5jdGlvbihuLFcsRCl7aWYobi5CLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIikmJlcuaHEoKXx8Zy5rNihuLkIpJiYocDcoLTEpPj0xMDgwfHxXLm9zaWQpKXJldHVybiBZWjt2YXIgYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcCIpLHY9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2VjcyIpO3JldHVybiBiJiZXLmlzQXV0b25hdiYmZy52SSgpLzFFMz52PyhEJiYoYj1FUU0obixELGIpKSxuZXcgYjMoMCxiLCExLCJlIikpOllafTsKeTM9ZnVuY3Rpb24obixXKXtpZighVy5OLk4oKSlyZXR1cm4gbi5qP25ldyBiMygwLDM2MCwhMSwiYiIpOllaO3ZhciBEPSExLGI9ITE7Zm9yKHZhciB2IG9mIFcuTi52aWRlb0luZm9zKXYuTVcoKT9EPSEwOmI9ITA7RD1EJiZiO2I9MDt2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3IiKTt2PW4uQi5qPzI0MDp2O2ZvcihsZXQgayBvZiBXLk4udmlkZW9JbmZvcyl7aWYoRCYmay5NVygpKWNvbnRpbnVlO1c9VkMoay5JQixrLnZpZGVvLmZwcyxuLlcpO2xldCBoPWsudmlkZW8ucXVhbGl0eU9yZGluYWw7aWYoTWF0aC5tYXgoVyx2KT49aCl7Yj1oO2JyZWFrfX1yZXR1cm4gbmV3IGIzKDAsYiwhMSwiYiIpfTsKaW09ZnVuY3Rpb24obixXKXt2YXIgRD1FWChuLFcuTj8udmlkZW9JbmZvcyksYj1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7cmV0dXJuIGI+MSYmRD8obj1KeihuLkIuVyxXLk4udmlkZW9JbmZvcyxiKSxuZXcgYjMoMCxuLCEwLCJvIikpOm5ldyBiMygwLDAsITEsIm8iKX07CnVtPWZ1bmN0aW9uKG4sVyxEKXtnLms2KG4uQikmJihEPUQuY29tcG9zZShuLk1oKFcpKSk7cmV0dXJuIER9OwpFWD1mdW5jdGlvbihuLFcpe3JldHVybiBXJiZnLms2KG4uQik/Vy5zb21lKEQ9PkQudmlkZW8uSigpKTohMX07CkVRTT1mdW5jdGlvbihuLFcsRCl7aWYobi5TKCJodG1sNV9vcHRpbWFsaXR5X2RlZmF1bHRzX2Nob29zZXNfbmV4dF9oaWdoZXIiKSYmRClmb3Iobj1XLk4udmlkZW9JbmZvcyxXPTE7VzxuLmxlbmd0aDtXKyspaWYobltXXS52aWRlby5xdWFsaXR5T3JkaW5hbDxEKXJldHVybiBuW1ctMV0udmlkZW8ucXVhbGl0eU9yZGluYWw7cmV0dXJuIER9Owp1aWo9YXN5bmMgZnVuY3Rpb24obil7aWYoIW4uTi5OKCl8fHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2F3YWl0IFByb21pc2UucmVzb2x2ZSgpO2ZvcihsZXQgVyBvZiBuLk4udmlkZW9JbmZvcylhd2FpdCBrM3IoVyl9OwpvUTI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLklCLGI9Vy52aWRlby5mcHMsdj1XLnZpZGVvLnF1YWxpdHlPcmRpbmFsLTEsaz1uLlc7Vz1gJHtEfSR7Yj40OT8icDYwIjpiPjMyPyJwNDgiOiIifWA7RD1WQyhELGIsayk7dj4wJiYoRD1NYXRoLm1pbihELHYpKTshY0YuaGFzKFcpJiZKcygpLmluY2x1ZGVzKFcpPyhiPWY3KCksK2JbV10+MCYmKEQ9TWF0aC5taW4oK2JbV10sRCkpLGJbV10hPT1EJiYoYltXXT1ELGcuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLGIsMjU5MkUzKSkpOmNGLmhhcyhXKXx8az09bnVsbD8oYj1KcygpLnNsaWNlKCksYi5pbmNsdWRlcyhXKXx8KGIucHVzaChXKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLGIsMjU5MkUzKSksUUMuc2V0KFcsRCkpOihjRi5hZGQoVyksaz8uc2V0KFcsRCkpO24uTC5zVCgpfTsKZGJTPWZ1bmN0aW9uKCl7cmV0dXJuIFd4KGY3KCksbj0+YCR7bn1gKX07Cno4Mj1mdW5jdGlvbihuLFcsRCxiKXtpZighV3x8IUR8fCFXLnZpZGVvRGF0YS5KKXJldHVybiExO3ZhciB2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoIiksaz1uLlMoImh0bWw1X2xvZ19tZWRpYV9wZXJmX2luZm8iKTtpZighKCgwLGcuUikoKS1uLlg8NUUzPzA6a3x8dj4wKSlyZXR1cm4hMTt2YXIgaD0oKDAsZy5SKSgpLW4uWCkvMUUzO24uWD0oMCxnLlIpKCk7RD1ELmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7aWYoIUQpcmV0dXJuITE7dmFyIHg9RC5kcm9wcGVkVmlkZW9GcmFtZXMtbi5WLEw9RC50b3RhbFZpZGVvRnJhbWVzLW4udG90YWxGcmFtZXM7bi5WPUQuZHJvcHBlZFZpZGVvRnJhbWVzO24udG90YWxGcmFtZXM9RC50b3RhbFZpZGVvRnJhbWVzO3ZhciBlPUQuZGlzcGxheUNvbXBvc2l0ZWRWaWRlb0ZyYW1lcz09PTA/MDpELmRpc3BsYXlDb21wb3NpdGVkVmlkZW9GcmFtZXN8fC0xO2smJm4uQi5XWCgpJiZuLkwuVSgiZGRmIiwKe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lcyxjb21wOmV9KTtpZihiKXJldHVybiBuLk49MCwhMTtpZigoTC14KS9oPm4uWXx8IXZ8fGcuazYobi5CKSlyZXR1cm4hMTtuLk49KEw+NjA/eC9MOjApPnY/bi5OKzE6MDtpZihuLk4hPT0zKXJldHVybiExO29RMihuLFcudmlkZW9EYXRhLkopO24uTC5VKCJkZmQiLE9iamVjdC5hc3NpZ24oe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lc30sZGJTKCkpKTtyZXR1cm4hMH07Cmw1VT1mdW5jdGlvbihuLFcpe24uUygiaHRtbDVfbG9nX21lZGlhX3BlcmZfaW5mbyIpJiYobi5MLlUoInBlcmZkYiIsZGJTKCkpLG4uTC5VKCJzZXNzaW9ucGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMoUUMuZW50cmllcygpKSksbi5MLlUoInBsYXliYWNrcGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMobi5XLmVudHJpZXMoKSkpLG4uTC5VKCJod2MiLHtuY2g6bmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l9LCEwKSxXJiZuLkwuVSgibWNkYiIse2l0YWdzOlcuTi52aWRlb0luZm9zLmZpbHRlcihEPT5ELmo/LnNtb290aD09PSExKS5tYXAoRD0+RC5pdGFnKS5qb2luKCItIil9KSl9OwpiQT1mdW5jdGlvbihuLFcsRD0hMSl7bi5ZYT8uV1goKSYmbi5ZYS5VKCJybXMiLFcsRCl9OwpvdT1mdW5jdGlvbihuKXtuPW4uTygpO3JldHVybiBuLmxlbmd0aDwxP05hTjpuLmVuZChuLmxlbmd0aC0xKX07ClRvaT1mdW5jdGlvbihuLFcpe24uWGImJm4uWGIuZXF1YWxzKFcpfHwobi5YYiYmbi5YYi5kaXNwb3NlKCksbi5YYj1XKX07CmpJaj1mdW5jdGlvbihuKXshbi5XJiZjUigpJiYobi5qP24uai50aGVuKCgpPT5qSWoobikpOm4uWF8oKXx8KG4uVz1uLlV6KCkpKX07CkNNeD1mdW5jdGlvbihuLFcsRCl7bi5pc1BhdXNlZCgpfHxuLmdldEN1cnJlbnRUaW1lKCk+V3x8RD4xMHx8KG4ucGxheSgpLGcubiQoKCk9PntDTXgobixuLmdldEN1cnJlbnRUaW1lKCksRCsxKX0sNTAwKSl9OwpCb3Q9ZnVuY3Rpb24obixXKXtpZihuLlgoKT09PTB8fG4uaGFzRXJyb3IoKSlyZXR1cm4hMTt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gVz49MCYmKG49bi5PKCksbi5sZW5ndGh8fCFEKT9CUihuLFcpOkR9OwpkUz1mdW5jdGlvbihuKXtpZihuLlhfKCl8fG4uVEMoKSluLllhJiZuLllhLkNjKCJyc19zIiksZy5NTCYmbi5nZXRDdXJyZW50VGltZSgpPjAmJm4uc2Vla1RvKDApLG4uVlEoKSxuLmUkKCksbi5sb2FkKCksVG9pKG4sbnVsbCk7ZGVsZXRlIG4uan07CkZnYj1mdW5jdGlvbihuKXt2YXIgVz1uLkooKTtyZXR1cm4gTSQoVykmJm4uZ2V0RHVyYXRpb24oKT9XLmVuZChXLmxlbmd0aC0xKTowfTsKelg9ZnVuY3Rpb24obil7c3dpdGNoKG4uVkcoKSl7Y2FzZSAyOnJldHVybiJwcm9ncmVzc2l2ZS5uZXQucmV0cnlleGhhdXN0ZWQiO2Nhc2UgMzpyZXR1cm4gbj1uLnM4KCksbj8uaW5jbHVkZXMoIk1FRElBX0VSUl9DQVBBQklMSVRZX0NIQU5HRUQiKXx8d1VNJiZuPy5pbmNsdWRlcygiYXVkaW9fb3V0cHV0X2NoYW5nZSIpPyJjYXBhYmlsaXR5LmNoYW5nZWQiOiJmbXQuZGVjb2RlIjtjYXNlIDQ6cmV0dXJuImZtdC51bnBsYXlhYmxlIjtjYXNlIDU6cmV0dXJuImRybS51bmF2YWlsYWJsZSI7Y2FzZSAxRTM6cmV0dXJuImNhcGFiaWxpdHkuY2hhbmdlZCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19OwpNd2g9ZnVuY3Rpb24obil7dmFyIFc9bnVsbDtuWzRdJiYoVz1uWzRdLFc9e2Vycm9yQ29kZTpXWzVdLGVycm9yRGV0YWlsOldbNl0sZXJyb3JNZXNzYWdlOldbN10saHk6V1s4XSxUaDpXWzldLHdpOldbMTBdLEp4OldbMTFdLGNwbjpXWzEyXX0pO3JldHVybiBuZXcgZy5sbShuWzFdLFcsblsyXSxuWzNdKX07CmwxPWZ1bmN0aW9uKG4pe3JldHVybiBuLmlzUGxheWluZygpJiYhbi5OKDE2KSYmIW4uTigzMil9OwpUWD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OKDEyOCk/LTE6bi5OKDIpPzA6bi5OKDIwNDgpPzM6bi5OKDY0KT8tMTpuLk4oMSkmJiFuLk4oMzIpPzM6bi5OKDgpPzE6bi5OKDQpPzI6LTF9OwpqMD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCEoVz09PW4uc3RhdGUmJkQ9PT1uLmhPJiZiPT09bi5zZWVrU291cmNlJiZ2PT09bi5zdG9wcGFnZVJlYXNvbnx8VyE9PXZvaWQgMCYmKFcmMTI4JiYhRHx8VyYyJiZXJjE2KSkpe3ZhciBrO2lmKGs9VylrPVd8fG4uc3RhdGUsaz0hIShrJjE2fHxrJjMyKTtuPW5ldyBnLmxtKFcsRCxrP2I/YjpuLnNlZWtTb3VyY2U6bnVsbCx2KX1yZXR1cm4gbn07CkNDPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gUjhDKG4sVy5nZXRDdXJyZW50VGltZSgpLCgwLGcuUikoKSxXLnpzKCksRCl9OwpCcj1mdW5jdGlvbihuLFcsRD1udWxsLGI9bnVsbCl7cmV0dXJuIGowKG4sbi5zdGF0ZXxXLG51bGwsRCxiKX07CkZiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGowKG4sbi5zdGF0ZSZ+VyxudWxsLG51bGwsbnVsbCl9Owp3Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwsdj1udWxsKXtyZXR1cm4gajAobiwobi5zdGF0ZXxXKSZ+RCxudWxsLGIsdil9OwpRSVM9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zdGF0ZT09PW4uc3RhdGUmJlcuaE89PT1uLmhPfTsKVndNPWZ1bmN0aW9uKG4pe3N3aXRjaChuLkIucGxheWVyQ2FuYXJ5U3RhZ2U/LnRvTG93ZXJDYXNlKCkpe2Nhc2UgInhzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWFNNQUxMIjtjYXNlICJzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfU01BTEwiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTUVESVVNIjtjYXNlICJsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTEFSR0UiO2Nhc2UgInhsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWExBUkdFIjtkZWZhdWx0OnJldHVybiJIVE1MNV9QTEFZRVJfQ0FOQVJZX1NUQUdFX1VOU1BFQ0lGSUVEIn19OwpjSWo9ZnVuY3Rpb24obil7bi5OPj0wfHwobi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09Mz9uLlY9ITA6KG4uTj1nLlJrKG4ucHJvdmlkZXIpLG4uZGVsYXkuc3RhcnQoKSkpfTsKYTVyPWZ1bmN0aW9uKG4pe2lmKCEobi5KPDApKXt2YXIgVz1nLlJrKG4ucHJvdmlkZXIpLEQ9Vy1uLmo7bi5qPVc7bi5wbGF5ZXJTdGF0ZS5KKCk/bi5wbGF5VGltZVNlY3MrPUQ6bi5wbGF5ZXJTdGF0ZS5pc0J1ZmZlcmluZygpJiYhbi5wbGF5ZXJTdGF0ZS5OKDE2KSYmKG4ucmVidWZmZXJUaW1lU2Vjcys9RCl9fTsKUnU9ZnVuY3Rpb24obixXPSExKXtuLk4uWD1XO24uTi5zdGFydFRpbWU9bi5XO24uTi5lbmRUaW1lPW4uSjtuLmpWPy5sZW5ndGgmJihuLk4ualY9bi5qVik7bi5yWD8ubGVuZ3RoJiYobi5OLnJYPW4uclgpO1c9ITE7dmFyIEQ9Zy5VTShuLnNlZ21lbnRzKTtuLnNlZ21lbnRzLmxlbmd0aCYmIUQ/LlgmJkQ/LmlzRW1wdHkoKT8obi5zZWdtZW50c1tuLnNlZ21lbnRzLmxlbmd0aC0xXS5wcmV2aW91c2x5RW5kZWQmJihuLk4ucHJldmlvdXNseUVuZGVkPSEwKSxuLnNlZ21lbnRzW24uc2VnbWVudHMubGVuZ3RoLTFdPW4uTixXPSEwKTpuLnNlZ21lbnRzLmxlbmd0aCYmbi5OLmlzRW1wdHkoKSYmIW4uTi5YfHwobi5zZWdtZW50cy5wdXNoKG4uTiksVz0hMCk7Vz8obi5OLmVuZFRpbWU9PT0wJiYobi5wcmV2aW91c2x5RW5kZWQ9ITEpLG4uTi5yWD8ubGVuZ3RoJiZuLnByb3ZpZGVyLkwuVSgic2RhaSIse2F0dGFjaF9tZXRhOjEsc3Q6bi5OLnN0YXJ0VGltZSxldDpuLk4uZW5kVGltZSxzZWdfaWR4Om4uc2VnbWVudHMubGVuZ3RoLQoxfSkpOm4uTi5wcmV2aW91c2x5RW5kZWQmJihuLnByZXZpb3VzbHlFbmRlZD0hMCk7bi5WKz1uLkotbi5XO24uTj1NbShuLnByb3ZpZGVyKTtuLk4ucHJldmlvdXNseUVuZGVkPW4ucHJldmlvdXNseUVuZGVkO24ucHJvdmlkZXIuQi5adCgpLk4uUVEobm9yKSYmKG4uais9SlNPTi5zdHJpbmdpZnkobi5OKS5sZW5ndGgpO24ucHJldmlvdXNseUVuZGVkPSExO24uVz1uLko7cmV0dXJuIFc/Zy5VTShuLnNlZ21lbnRzKTp2b2lkIDB9OwpXM1o9ZnVuY3Rpb24obil7RHIobi5LKTtuLks9TmFOfTsKRGoyPWZ1bmN0aW9uKG4pe1czWihuKTtuLks9VzAoKCk9PntuLnVwZGF0ZSgpfSwxMDApOwpuLnJ6PWcuUmsobi5wcm92aWRlcik7bi5OPU1tKG4ucHJvdmlkZXIpfTsKYlh0PWZ1bmN0aW9uKG4sVyxEKXtELT1uLnJ6O3JldHVybiBXPT09bi5KJiZEPi41fTsKZy5RMz1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnZpc2l0b3JEYXRhOnZvaWQgMDtyZXR1cm4gZy5IRShuLkIsbi5hY2Nlc3NUb2tlbikudGhlbihiPT5qUihuLnVyaSxuLkIsbi5wYWdlSWQsRCxiLFcpKX07Cmcudm9qPWZ1bmN0aW9uKG4pe24uaW5kZXhPZigid2F0Y2h0aW1lIikhPT0tMSYmZy56VSgiZ2VsRGVidWdnaW5nRXZlbnQiLHt2c3MzZGVidWdnaW5nRXZlbnQ6e3ZzczJQaW5nOm59fSl9OwprcGk9ZnVuY3Rpb24obixXKXtuLmF0dGVzdGF0aW9uUmVzcG9uc2UmJmcuUTMobikudGhlbihEPT57RD1EfHx7fTtELm1ldGhvZD0iUE9TVCI7RC5wb3N0UGFyYW1zPXthdHI6bi5hdHRlc3RhdGlvblJlc3BvbnNlfTtuLlMkP24uVlE/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLEQpOmcuSFUoKS5zZW5kVGhlbldyaXRlKFcsRCk6Zy5lZChXLEQpfSl9OwpoeWk9ZnVuY3Rpb24obil7dmFyIFc9e08zOltdfTtpZihnLm9NKG4uc2VnbWVudHMsRD0+ISFELmpWfHwhIUQuclgpKXtmb3IobGV0IEQgb2Ygbi5zZWdtZW50cylXLk8zLnB1c2goe2pWOkQualZ8fFtdLApyWDpELnJYfHxbXX0pO249Zy5saCh7Ykw6V30sUV8xKTtyZXR1cm4gZy5FQShuLDQpfX07CmJKPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuaV8oVyxuLkopLmpvaW4oIiwiKX07CnZ5TT1mdW5jdGlvbihuLFcpe2lmKFcmJm4uail7dmFyIEQ9bmV3IFNldChbInEiLCJmZWF0dXJlIiwibW9zIl0pLGI9bmV3IFNldCgiYXV0b3BsYXkgY2wgbGVuIGZleHAgZGVsYXkgZWwgbnMgYWRmb3JtYXQiLnNwbGl0KCIgIikpLHY9bmV3IFNldChbImFxaSIsImF1dG9uYXYiLCJsaXN0Iiwic3NydCIsInVwdCJdKTtuLmoubnM9PT0iM3BwIiYmKFcubnM9IjNwcCIpO2ZvcihsZXQgayBvZiBPYmplY3Qua2V5cyhuLmopKWIuaGFzKGspfHxELmhhcyhrKXx8di5oYXMoaykmJiFuLmpba118fChXW2tdPW4ualtrXSl9fTsKeGpqPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJwbGF5aW5nIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX1BMQVlJTkciO2Nhc2UgInBhdXNlZCI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9QQVVTRUQiO2Nhc2UgImJ1ZmZlcmluZyI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9CVUZGRVJJTkciO2Nhc2UgInNlZWtpbmciOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU0VFS0lORyI7Y2FzZSAiZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfRU5ERUQiO2Nhc2UgImVycm9yIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX0VSUk9SIjtjYXNlICJzdXNwZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU1VTUEVOREVEIjtjYXNlICJ1bnN0YXJ0ZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5TVEFSVEVEIjtkZWZhdWx0OnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5LTk9XTiJ9fTsKTDN4PWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDE6cmV0dXJuIlZJU19NSU5JTUlaRUQiO2Nhc2UgMjpyZXR1cm4iVklTX0ZVTExTQ1JFRU4iO2Nhc2UgMzpyZXR1cm4iVklTX0JBQ0tHUk9VTkQiO2Nhc2UgNDpyZXR1cm4iVklTX0FJUlBMQVkiO2Nhc2UgNTpyZXR1cm4iVklTX0lOTElORSI7Y2FzZSA2OnJldHVybiJWSVNfVlIiO2Nhc2UgNzpyZXR1cm4iVklTX1BJQ1RVUkVfSU5fUElDVFVSRSI7Y2FzZSA4OnJldHVybiJWSVNfSU1NRVJTSVZFX1BSRVZJRVciO2Nhc2UgOTpyZXR1cm4iVklTX1NRVUVFWkVCQUNLIjtjYXNlIDEwOnJldHVybiJWSVNfVEhFQVRFUiI7Y2FzZSAzMTpyZXR1cm4iVklTX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIlZJU19ERUZBVUxUIn19OwpleWo9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4iQ09OTl9VTktOT1dOIjtjYXNlIDI6cmV0dXJuIkNPTk5fTk9ORSI7Y2FzZSAzOnJldHVybiJDT05OX1dJRkkiO2Nhc2UgNDpyZXR1cm4iQ09OTl9DRUxMVUxBUl8yRyI7Y2FzZSA1OnJldHVybiJDT05OX0NFTExVTEFSXzNHIjtjYXNlIDY6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNEciO2Nhc2UgNzpyZXR1cm4iQ09OTl9DRUxMVUxBUl9VTktOT1dOIjtjYXNlIDg6cmV0dXJuIkNPTk5fRElTQ08iO2Nhc2UgOTpyZXR1cm4iQ09OTl9DRUxMVUxBUl81RyI7Y2FzZSAxMDpyZXR1cm4iQ09OTl9XSUZJX01FVEVSRUQiO2Nhc2UgMTE6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfU0EiO2Nhc2UgMTI6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfTlNBIjtjYXNlIDMwOnJldHVybiJDT05OX1dJUkVEIjtjYXNlIDMxOnJldHVybiJDT05OX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIkNPTk5fREVGQVVMVCJ9fTsKZy5jcj1mdW5jdGlvbihuLFcpe3ZhciBEPVYzKG4ucHJvdmlkZXIpO09iamVjdC5hc3NpZ24oRCx7c3RhdGU6bi5YfSk7Vz1uZXcgZ29oKG4ucHJvdmlkZXIudmlkZW9EYXRhLG4ucHJvdmlkZXIuQixXLEQpO1cuTj1uLnByb3ZpZGVyLkwub3QoKTtEPW4ucHJvdmlkZXIudmlkZW9EYXRhLmNsaWVudFBsYXliYWNrTm9uY2U7Vy5OPW4ucHJvdmlkZXIuTC5vaChEKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFcuZSQ9bi5wcm92aWRlci5MLmdldER1cmF0aW9uKEQpKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5OJiYoRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKFcuTikpJiYoVy5ZPUQtVy5OKTtEPW4ucHJvdmlkZXIuTC5TVygpO1cuTis9RDtXLlkhPW51bGwmJihXLlktPUQpO1cud2E9Zy5SayhuLnByb3ZpZGVyKTtXLnNlZ21lbnRzPVtNbShuLnByb3ZpZGVyKV07cmV0dXJuIFd9OwpYSVo9ZnVuY3Rpb24obil7dmFyIFc9bi5wcm92aWRlci52aWRlb0RhdGEubFEsRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5IWSxiPVsxMCtXLDEwLDEwLDQwK0QtVyw0MF0sdj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nLGs9dj8udmlkZW9zdGF0c1NjaGVkdWxlZEZsdXNoV2FsbHRpbWVTZWNvbmRzO3Y9dj8udmlkZW9zdGF0c0RlZmF1bHRGbHVzaEludGVydmFsU2Vjb25kcztpZighKGsmJmsubGVuZ3RoPjAmJnYpKXJldHVybiBiO1c9W2tbMF0rVywuLi5rLnNsaWNlKDEpLm1hcCgoaCx4KT0+aC1rW3hdKSwKditELVcsdl07cmV0dXJuIFcuc29tZShoPT5oPDApPyhnLmNfKG4ubG9nZ2VyLDM0NzExMTg1NSxgTmVnIHZzcyBzY2hlZHVsZWQgcGluZ3MgJHtrfSAke3Z9YCksYik6V307CmF1PWZ1bmN0aW9uKG4sVz1OYU4pe3ZhciBEPWcuUmsobi5wcm92aWRlcik7Vz1pc05hTihXKT9EOlc7Vz1NYXRoLmNlaWwoVyk7dmFyIGI9bi5lJFtuLnR3XTtuLnR3KzE8bi5lJC5sZW5ndGgmJm4udHcrKzt2YXIgdj1XK2I7bi5ZPWcubiQoKCk9PntpZighbi5xTigpKXtuLlk9TmFOO3ZhciBrPW4uUyQoKSxoPXE5MShuLGspO2guTz12O3ZhciB4PW4ubnU+MUUzOyEoay5sZW5ndGg+MSkmJmtbMF0uaXNFbXB0eSgpfHx4fHwoaC5LPWF1KG4sdikpO2lmKG4uY0ope2s9a1trLmxlbmd0aC0xXTtpZih4PW4uVEMpe3g9azt2YXIgTD1uLlRDO3g9eC5zdGFydFRpbWU9PT1MLnN0YXJ0VGltZSYmeC5lbmRUaW1lPT09TC5lbmRUaW1lfXh8fG51KG4sW2tdKX1oLnNlbmQoKTtuLm51Kyt9fSwodi1EKSoxRTMpOwpyZXR1cm4gbi5KPXZ9OwpXZD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuQjtnLkhFKG4ucHJvdmlkZXIuQixuLnByb3ZpZGVyLnZpZGVvRGF0YS5WKCkpLnRoZW4oYj0+e3ZhciB2PW4ucHJvdmlkZXIuQi5wYWdlSWQsaz1uLnByb3ZpZGVyLkIuc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnByb3ZpZGVyLnZpZGVvRGF0YS52aXNpdG9yRGF0YTp2b2lkIDAsaD1uLnByb3ZpZGVyLkIuUygidnNzX3BpbmdzX3VzaW5nX25ldHdvcmtsZXNzIil8fG4ucHJvdmlkZXIuQi5TKCJrZXZsYXJfd29mZmxlIikseD1uLnByb3ZpZGVyLkIuUygiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyIpO2I9alIoVyxELHYsayxiKTtDRChXLGIse3Rva2VuOm4ucHJvdmlkZXIudmlkZW9EYXRhLmtXLHlvOm4ucHJvdmlkZXIudmlkZW9EYXRhLlF2LG1keEVudmlyb25tZW50Om4ucHJvdmlkZXIudmlkZW9EYXRhLm1keEVudmlyb25tZW50fSxELHZvaWQgMCxoJiYheCwhMSwhMCl9KX07CnE5MT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuY3Iobiwid2F0Y2h0aW1lIik7RDcobikmJihELmRlbGF5VGhyZXNob2xkTWV0PSEwLG4uRHQ9ITApO2lmKG4uaj4wKXtsZXQgYj1uLnByb3ZpZGVyLkwuU1coKTtmb3IobGV0IHYgb2YgVyl2LnN0YXJ0VGltZS09bi5qK2Isdi5lbmRUaW1lLT1uLmorYjtELk4tPW4uaitifWVsc2UgRC5OPW4uTi5KO0Quc2VnbWVudHM9VztyZXR1cm4gRH07Cm51PWZ1bmN0aW9uKG4sVyxEPSExKXtmb3IobGV0IFt4LExdb2YgVy5lbnRyaWVzKCkpe2xldCBlPXgsRz1MO3ZhciBiPW4sdj1WMyhiLnByb3ZpZGVyKTtPYmplY3QuYXNzaWduKHYse3N0YXRlOmIuWH0pO09iamVjdC5hc3NpZ24odix7c2VxdWVuY2VJZDpiLnNlcXVlbmNlSWR9KTtiLnByb3ZpZGVyLkIuUygid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIikmJk9iamVjdC5hc3NpZ24odix7c2VuZElzb2xhdGVkUGF5bG9hZDohMH0pO3ZhciBrPWIsaD1rLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nPy52c3MzQ29uZmlnPy52c3MzU2NoZWR1bGluZ0NvbmZpZztoJiYoaD1oLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3MmJihEYXRlLm5vdygpLWsuR0MpLzFFMzxoLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3M/aC5lYXJseVNlZ21lbnRNYXhpbXVtTGVuZ3RoU2VjczpoLmRlZmF1bHRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3MsCkcuc2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWsuVEM/Lm5leHRTY2hlZHVsZWRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3M/P2gsRy5uZXh0U2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWgpO2s9bmV3IEdwYihHLGIucHJvdmlkZXIudmlkZW9EYXRhLHYpO2IuSEomJihrLmlzRG91YmxlTG9nZ2VkPSExKTt2PWs7Yi5wcm92aWRlci52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2t8fCh2Lm1lZGlhTGVuZ3RoU2VjPWIucHJvdmlkZXIuTC5nZXREdXJhdGlvbihiLnByb3ZpZGVyLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlKSk7aWYoYi5wcm92aWRlci52aWRlb0RhdGEuTil7aD1iLnByb3ZpZGVyLkwub3QoKTtsZXQgcj1iLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKGgpO3ImJih2LmxpdmVJbmdlc3Rpb25PZmZzZXRVc2VjPShyLWgpKjFFNil9RDcoYikmJih2LmRlbGF5VGhyZXNob2xkTWV0PSEwLGIuRHQ9ITApO0QmJmU9PT1XLmxlbmd0aC0xJiYoay5pc0ZpbmFsPQohMCxuLkZGPSEwKTtrLnNlbmQoKTtuLnNlcXVlbmNlSWQrKztuLlRDPUd9fTsKRDc9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz1uLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xvYWRlZCgpJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5vRCYmbi5XJiYhbi5EdClXPW4uTixXPVcuVitXLm90KCktVy5XPj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5vRDtyZXR1cm4hIVd9OwpiVj1mdW5jdGlvbihuLFcsRD0hMSl7RD1uLksoIWlzTmFOKG4uSiksITEsRCk7VyYmKG4uSj1OYU4pO3JldHVybiBEfTsKdFpNPWZ1bmN0aW9uKG4pe24ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCYmIW4uQ3UmJihXZChuLG4ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCksbi5DdT0hMCl9Owokalo9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuZ29vZ2xlUmVtYXJrZXRpbmdVcmwmJiFuLlBYJiYoV2QobixuLnByb3ZpZGVyLnZpZGVvRGF0YS5nb29nbGVSZW1hcmtldGluZ1VybCksbi5QWD0hMCl9Owp2ZD1mdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlcpe24uWD0icGF1c2VkIjt2YXIgVz1iVihuLCExLCEwKTtXLmlzRmluYWw9ITA7Vy5zZW5kKCk7bi5kaXNwb3NlKCl9fTsKcnB0PWZ1bmN0aW9uKG4sVyxEKXtpZighbi52Sil7RHx8KEQ9Zy5jcihuLCJhdHIiKSk7RC5hdHRlc3RhdGlvblJlc3BvbnNlPVc7dHJ5e0Quc2VuZCgpfWNhdGNoKGIpe2lmKGIubWVzc2FnZSE9PSJVbmtub3duIEVycm9yIil0aHJvdyBiO31uLnZKPSEwfX07CmcuUms9ZnVuY3Rpb24obil7cmV0dXJuIGcuc2JyKG4pKCl9OwpjY1o9ZnVuY3Rpb24obil7dmFyIFc9bmF2aWdhdG9yLmNvbm5lY3Rpb24/LnR5cGV8fCIiO2lmKFcpcmV0dXJuIE5FcltXXXx8TkVyLm90aGVyO2lmKGcuazYobi5CKSl7bj1uYXZpZ2F0b3IudXNlckFnZW50O2lmKC9bV3ddaXJlbGVzc1spXS8udGVzdChuKSlyZXR1cm4gMztpZigvW1d3XWlyZWRbKV0vLnRlc3QobikpcmV0dXJuIDMwfXJldHVybiAwfTsKTW09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHBJMjtXLko9VjMobikuY2M/LnRvU3RyaW5nKCl8fCItIjtXLnBsYXliYWNrUmF0ZT1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7dmFyIEQ9bi5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO0QhPT0wJiYoVy52aXNpYmlsaXR5U3RhdGU9RCk7bi5CLkR0JiYoVy5XPTEpO1cuaj1uLnZpZGVvRGF0YS5wUjtXLmNvbXBvc2l0ZUxpdmVTdGF0dXNUb2tlbj1uLnZpZGVvRGF0YS5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW47Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW49bi52aWRlb0RhdGEuaGVhcnRiZWF0TG9nZ2luZ1Rva2VuO0Q9bi5MLmdldEF1ZGlvVHJhY2soKTtELmtaJiZELmtaLmlkJiZELmtaLmlkIT09InVuZCImJihXLmF1ZGlvSWQ9RC5rWi5pZCk7Vy5jb25uZWN0aW9uVHlwZT1jY1oobik7Vy52b2x1bWU9bi5MLmdldFZvbHVtZSgpO1cubXV0ZWQ9bi5MLmlzTXV0ZWQoKTtXLmNsaXBJZD1uLkwuRm4oKXx8Ii0iO1cuTj1uLnZpZGVvRGF0YS5WZnx8CiItIjtyZXR1cm4gV307ClYzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTC5oaCgpfHx7fTtXLmZzPW4uTC52MygpO1cudm9sdW1lPW4uTC5nZXRWb2x1bWUoKTtXLm11dGVkPW4uTC5pc011dGVkKCk/MTowO1cubW9zPVcubXV0ZWQ7Vy5jbGlwaWQ9bi5MLkZuKCk7Vy5wbGF5ZXJoZWlnaHQ9bi5MLmdldFBsYXllclNpemUoKT8uaGVpZ2h0fHwwO1cucGxheWVyd2lkdGg9bi5MLmdldFBsYXllclNpemUoKT8ud2lkdGh8fDA7bj1uLnZpZGVvRGF0YTt2YXIgRD17fTtuLkomJihELmZtdD1uLkouaXRhZyxuLlgmJihuLlZRP24uWC5pdGFnIT09bi5KLml0YWc6bi5YLml0YWchPW4uSi5pdGFnKSYmKEQuYWZtdD1uLlguaXRhZykpO0QuZWk9bi5ldmVudElkO0QubGlzdD1uLnBsYXlsaXN0SWQ7RC5jcG49bi5jbGllbnRQbGF5YmFja05vbmNlO24udmlkZW9JZCYmKEQudj1uLnZpZGVvSWQpO24ueWwmJihELmluZnJpbmdlPTEpOyhuLmZCPzA6bi5QWCkmJihELnNwbGF5PTEpO3ZhciBiPXJsKG4pO2ImJihELmxpdmU9Yik7bi5WVCYmCihELnNhdXRvcGxheT0xKTtuLkd1JiYoRC5hdXRvcGxheT0xKTtuLnd1JiYoRC5zZGV0YWlsPW4ud3UpO24ucGFydG5lcklkJiYoRC5wYXJ0bmVyaWQ9bi5wYXJ0bmVySWQpO24ub3NpZCYmKEQub3NpZD1uLm9zaWQpO24uWm0mJihELmNjPWcubmcobi5abSkpO3JldHVybiBPYmplY3QuYXNzaWduKFcsRCl9OwpnLnNicj1mdW5jdGlvbihuKXtpZighbi5OKXtsZXQgVz0oMCxnLlIpKCk7bi5OPSgpPT5NYXRoLnJvdW5kKCgwLGcuUikoKS1XKS8xRTM7Cm4uTC5RYigpfXJldHVybiBuLk59OwpnLmswPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uc3RhdGUuTihXKSYmIW4ub2xkU3RhdGUuTihXKT8xOiFuLnN0YXRlLk4oVykmJm4ub2xkU3RhdGUuTihXKT8tMTowfTsKaEM9ZnVuY3Rpb24obil7bi5KJiZjSWoobi5KKTtuLnFvZSYmeEJoKG4ucW9lKX07CkhYMj1mdW5jdGlvbihuLFcsRCxiKXtELmFkRm9ybWF0PUQuRkY7dmFyIHY9Vy5MO1c9bmV3IGcueDAobmV3IFk5UyhELFcuQix7Z2V0RHVyYXRpb246KCk9PkQubGVuZ3RoU2Vjb25kcywKZ2V0Q3VycmVudFRpbWU6KCk9PnYuZ2V0Q3VycmVudFRpbWUoKSwKb3Q6KCk9PnYub3QoKSwKb2g6KCk9PnYub2goKSwKSEs6KCk9PnYuSEsoKSwKZ2V0UGxheWVyU2l6ZTooKT0+di5nZXRQbGF5ZXJTaXplKCksCmdldEF1ZGlvVHJhY2s6KCk9PkQuZ2V0QXVkaW9UcmFjaygpLApnZXRQbGF5YmFja1JhdGU6KCk9PnYuZ2V0UGxheWJhY2tSYXRlKCksCkVjOigpPT52LkVjKCksCmdldFZpc2liaWxpdHlTdGF0ZTooKT0+di5nZXRWaXNpYmlsaXR5U3RhdGUoKSwKZUc6KCk9PnYuZUcoKSwKaGg6KCk9PnYuaGgoKSwKZ2V0Vm9sdW1lOigpPT52LmdldFZvbHVtZSgpLAppc011dGVkOigpPT52LmlzTXV0ZWQoKSwKdjM6KCk9PnYudjMoKSwKRm46KCk9PnYuRm4oKSwKZ2V0UHJveGltYUxhdGVuY3lQcmVmZXJlbmNlOigpPT52LmdldFByb3hpbWFMYXRlbmN5UHJlZmVyZW5jZSgpLApRYigpe3YuUWIoKX0sVShrLGgpe3YuVShrLGgpfSxPMDooKT0+di5PMCgpLApTVzooKT0+di5TVygpLAp6czprPT52LnpzKGspfSkpOwpXLmo9YjtnLnUobixXKTtyZXR1cm4gV307CmZBdD1mdW5jdGlvbihuKXtuLkomJm4uSi5zZW5kKCk7aWYobi5xb2Upe3ZhciBXPW4ucW9lO2lmKFcuVil7Vy5OPT09IlBMIiYmKFcuTj0iTiIpO3ZhciBEPWcuUmsoVy5wcm92aWRlcik7Zy53aihXLEQsInZwcyIsW1cuTl0pO1cuRHx8KFcuWD49MCYmVy5KLnNldCgidXNlcl9pbnRlbnQiLFtXLlgudG9TdHJpbmcoKV0pLFcuRD0hMCk7Vy5wcm92aWRlci5CLldYKCkmJlcuVSgiZmluYWxpemVkIix7fSk7Vy5TJD0hMDtXLnJlcG9ydFN0YXRzKEQpfX1pZihuLnByb3ZpZGVyLnZpZGVvRGF0YS5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaSlmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKXZkKGIpO2Vsc2Ugbi5OJiZ2ZChuLk4pO24uZGlzcG9zZSgpfTsKSnBVPWZ1bmN0aW9uKG4pe2lmKCFuLk4pcmV0dXJuIG51bGw7dmFyIFc9Zy5jcihuLk4sImF0ciIpO3JldHVybiBEPT57bi5OJiZycHQobi5OLEQsVyl9fTsKSUFoPWZ1bmN0aW9uKG4sVyl7bj1EZShuLmFycmF5LEQ9PlctRC5zdGFydHx8MSk7CnJldHVybiBuPDA/LShuKzEpOm59OwpTOWI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO2ZvcihXPUlBaChuLFcpO1c8bi5hcnJheS5sZW5ndGg7KytXKXtsZXQgdj1uLmFycmF5W1ddOyh2LmVuZDw9RHx8di5jb250YWlucyhEKSkmJmIucHVzaCh2KTtpZih2LnN0YXJ0PkQpYnJlYWt9cmV0dXJuIGJ9OwpnLkx1PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIG4uYXJyYXkpaWYoYi5jb250YWlucyhXKSYmRC5wdXNoKGIpLGIuc3RhcnQ+VylicmVhaztyZXR1cm4gRH07CkFwaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5hcnJheS5zbGljZShJQWgobiwweDdmZmZmZmZmZmZmZmYpLG4uYXJyYXkubGVuZ3RoKX07Cm1qdD1mdW5jdGlvbihuLFcpe3ZhciBEPU5hTjtmb3IobGV0IGIgb2Ygbi5hcnJheSlpZihiLmNvbnRhaW5zKFcpJiYoaXNOYU4oRCl8fGIuZW5kPEQpJiYoRD1iLmVuZCksYi5zdGFydD5XJiYoaXNOYU4oRCl8fGIuc3RhcnQ8RCkpe0Q9Yi5zdGFydDticmVha31yZXR1cm4gRH07CkszVT1mdW5jdGlvbihuLFcpe24uYXJyYXk9bi5hcnJheS5maWx0ZXIoRD0+IVcuaGFzKEQpKX07Ck9YMj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFBsYXllclN0YXRlKCkuTigyKT8weDgwMDAwMDAwMDAwMDA6bi5MLmdldEN1cnJlbnRUaW1lKCkqMUUzfTsKZWg9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVy5sZW5ndGgpcmV0dXJuIEQ7Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07di5hY3RpdmUmJm4uVy5pbmRleE9mKHYpPT09LTEmJihuLlcucHVzaCh2KSxELnB1c2goWzEsdl0pKX1yZXR1cm4gRH07CmdzPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpVz1EWzFdLERbMF09PT0xP24uTC5DSihnLm95KFcubmFtZXNwYWNlKSxXKTpuLkwuQ0ooZy5kdihXLm5hbWVzcGFjZSksVyl9OwpYSj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdO2lmKCFXLmxlbmd0aClyZXR1cm4gRDtXLnNvcnQoZy51NSk7Zm9yKGxldCBiIG9mIFcpbi5XLnNwbGljZShuLlcuaW5kZXhPZihiKSwxKSxELnB1c2goWzIsYl0pO3JldHVybiBEfTsKUHlDPWZ1bmN0aW9uKG4pe2lmKG4uc3RhcnRlZCYmIW4ucU4oKSl7bi5qLnN0b3AoKTt2YXIgVz1uLkwuZ2V0UGxheWVyU3RhdGUoKTtXLk4oMzIpJiZuLlkuc3RhcnQoKTt2YXIgRD1PWDIobiksYj1uLmlzRW5kZWQoVyxEKSx2PVtdLGs9W107Zm9yKHZhciBoIG9mIG4uVyloLmFjdGl2ZSYmKGI/aC5lbmQ8MHg4MDAwMDAwMDAwMDAwOiFoLmNvbnRhaW5zKEQpKSYmay5wdXNoKGgpO3Y9di5jb25jYXQoWEoobixrKSk7aD1rPW51bGw7Yj8oVz1nLkx1KG4uTiwweDdmZmZmZmZmZmZmZmYpLGs9Vy5maWx0ZXIoeD0+eC5lbmQ8MHg4MDAwMDAwMDAwMDAwKSxoPUFwaihuLk4pKTpXPW4uWDw9RCYmbDEoVyk/UzliKG4uTixuLlgsRCk6Zy5MdShuLk4sRCk7CnY9di5jb25jYXQoZWgobixXKSk7ayYmKHY9di5jb25jYXQoWEoobixrKSkpO2gmJih2PXYuY29uY2F0KGVoKG4saCkpKTtuLlg9RDtncyhuLHYpfX07CnE5PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+bi5tZWRpYVRpbWUrbi5YJiZXPG4ubWVkaWFUaW1lKzV9OwpSOEM9ZnVuY3Rpb24obixXLEQsYix2PSExKXtpZihuLmxuJiYhaXNGaW5pdGUoVykpcmV0dXJuITE7aWYoYj1iPjEpbi5XPSEwO2lmKHZ8fGlzTmFOKG4uTikpbi5OPVc7aWYobi5zZWVraW5nKVchPT1uLm1lZGlhVGltZSYmKG4uc2Vla2luZz0hMSk7ZWxzZSBpZihXPjAmJm4ubWVkaWFUaW1lPT09Vyl7dj0xNTAwO2lmKG4uQi5TKCJodG1sNV9idWZmZXJfdW5kZXJydW5fdHJhbnNpdGlvbl9maXgiKSl7dj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzIik7bGV0IGs9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zIik7dj12PjAmJms+MCYmTWF0aC5hYnMoVy1uLk4pPHY/azoxNTAwfXJldHVybiBELW4uSj4oYnx8IW4uVz92OjQwMCl9bi5tZWRpYVRpbWU9VztuLko9RDtyZXR1cm4hMX07ClVqdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcudEEoRCkudGhlbigoKT0+Zy5IMChuZXcgWlhoKFcsVy5XKSksYj0+e2IgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShiKTsKdmFyIHY9dTgoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSwgbXA0YS40MC4yIicpLGs9ZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyksaD12fHxrLHg9Vy5pc0xpdmVQbGF5YmFjayYmIWcuSW4obi5XLCEwKTtiPSJmbXQubm9uZWF2YWlsYWJsZSI7eD9iPSJodG1sNS51bnN1cHBvcnRlZGxpdmUiOmh8fChiPSJodG1sNS5taXNzaW5nYXBpIik7aD14fHwhaD8yOjE7dj17YnVpbGRSZWo6IjEiLGE6Vy5JcCgpLGQ6ISFXLlRmLGRybTpXLk1pKCksZjE4OlcuY2YuaW5kZXhPZigiaXRhZz0xOCIpPj0wLGMxODp2fTtXLk4mJihXLk1pKCk/KHYuZjE0Mj0hIVcuTi5OWyIxNDIiXSx2LmYxNDk9ISFXLk4uTlsiMTQ5Il0sdi5mMjc5PSEhVy5OLk5bIjI3OSJdKToodi5mMTMzPSEhVy5OLk5bIjEzMyJdLHYuZjE0MD0hIVcuTi5OWyIxNDAiXSx2LmYyNDI9ISFXLk4uTlsiMjQyIl0pLHYuY0FBQz1rLHYuY0FWQz1keSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFIicpLAp2LmNWUDk9ZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicpKTtXLmomJih2LmRybXN5cz1XLmoua2V5U3lzdGVtLGs9MCxXLmouSiYmKGs9T2JqZWN0LmtleXMoVy5qLkopLmxlbmd0aCksdi5kcm1zdD1rKTtyZXR1cm4gbmV3IGcuQ2koYix2LGgpfSl9Owp0Qz1mdW5jdGlvbihuLFcpe1c9TWF0aC5tYXgoTWF0aC5tYXgoMSxNYXRoLmNlaWwobi5wb2xpY3kuWC9HWShuKSkpLFcpO3JldHVybiBNYXRoLm1pbihNYXRoLm1pbig4LE1hdGguZmxvb3Iobi5wb2xpY3kuRC9HWShuKSkpLFcpfTsKR1k9ZnVuY3Rpb24obil7cmV0dXJuIG4udmlkZW9EYXRhLk4/b28obi52aWRlb0RhdGEuTil8fDU6NX07CiQwPWZ1bmN0aW9uKG4pe3JldHVybiBHWShuKSpuLk59OwpFb2k9ZnVuY3Rpb24obixXKXtpZihXKXJldHVybiBXPW4udmlkZW9EYXRhLFc9eXBiKG4saXNOYU4oVy5saXZlQ2h1bmtSZWFkYWhlYWQpPzM6Vy5saXZlQ2h1bmtSZWFkYWhlYWQsVyksdEMobixXKTtpZihuLkoubGVuZ3RoKXtpZihNYXRoLm1pbi5hcHBseShudWxsLG4uSik+MSlyZXR1cm4gdEMobixuLk4tMSk7aWYobi5wb2xpY3kuWSlyZXR1cm4gdEMobixuLk4rMSl9cmV0dXJuIG4uTn07CmlYUz1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLkoubGVuZ3RoKXJldHVybiExO3ZhciBEPW4uTjtuLk49RW9pKG4sVyk7aWYoVz1EIT09bi5OKW4uSj1bXSxuLmp4PTA7cmV0dXJuIFd9Owpycz1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5OO24uWHx8KFc9TWF0aC5tYXgoVy0xLDApKTtyZXR1cm4gVypHWShuKX07CnNCPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+PW4uTlcoKS1ycyhuKX07CnlwYj1mdW5jdGlvbihuLFcsRCl7RC5JUiYmVy0tO2hEKEQpJiYoVz0xKTt4cChEKSE9PTAmJihuPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZSIpKSYmKFc9bixELk4/Lm51KCkmJlcrKyk7cmV0dXJuIFd9OwpwdT1mdW5jdGlvbihuLFcsRD1udWxsKXtyZXR1cm4gbmV3IE45KGcuZE0obi5CLmV4cGVyaW1lbnRzLFcpfHwwLEQ/bi5CLlMoRCk6ITEpfTsKdTRiPWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpZMD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe1c/Vy50ZXN0KEQpPyhuLkdzKHYsVyxoKSxXLlZ8fGsoKSk6KCFXLkp8fFcuWD9EPSExOihEPSgwLGcuUikoKSxiP1cuTnx8KFcuTj1EKTpXLk49MCxrPSFiJiZELVcuSj4zRTQsRD1XLk4mJkQtVy5OPjFFM3x8az9XLlg9ITA6ITEpLEQmJih4PXsuLi5uLnlyKFcpLC4uLnh9LHgud249aCx4LndlPXYseC53c3VjPWIsbi5MLlUoIndvcmthcm91bmRSZXBvcnQiLHgpLGImJihXLnJlc2V0KCksbi5YW3ZdPSExKSkpOm4uTC5QVigiYXV0aCIsMiwiQlJPV1NFUl9PUl9FWFRFTlNJT05fRVJST1IiLGcuVEMoe3NvdXJjZToid2F0Y2hkb2ciLG5hbWU6aH0pKX07Cm9veD1mdW5jdGlvbihuLFcpe2lmKG4uTil7dmFyIEQ9bi5OO3ZhciBiPW4uZ2V0Q3VycmVudFRpbWUoKSx2PUQuTlcoKTt2YXIgaz1ELnBvbGljeS5KO0QuWHx8KGs9TWF0aC5tYXgoay0xLDApKTtrKj1HWShEKTtiPj12LWt8fCFELmpYKCk/RD1iPEQudmlkZW9EYXRhLkxmKCk/TWF0aC5taW4oRC52aWRlb0RhdGEuTGYoKSsxMCxELk5XKCkpOk5hTjooRC5wb2xpY3kuaiYmKEQucG9saWN5Lk8/KEQucG9saWN5Lko9TWF0aC5taW4oRC5wb2xpY3kuSitELnBvbGljeS5LLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5taW4oRC5wb2xpY3kuTisxLDEwKSk6KEQucG9saWN5Lko9TWF0aC5tYXgoRC5wb2xpY3kuSisxLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5tYXgoRC5wb2xpY3kuTisxLDEwKSkpLEQ9SW5maW5pdHkpO2lmKCFpc05hTihEKSl7aWYobi5sb2FkZXImJlcmJihXPW4uUyQuaXNBY3RpdmUoKSxiPW4uTi5OVygpLChiPWlQUyhuLmxvYWRlcixiLW4uU1coKSkpJiYKIVcpKXtuLlMkLnN0YXJ0KCk7bi5MLlUoImluQnVmZmVyUHRsIix7Y210Om4uZ2V0Q3VycmVudFRpbWUoKSxzZWVrVG86YituLlNXKCl9KTtuLnNlZWtUbyhiK24uU1coKSx7cWQ6InNlZWt0aW1lbGluZV9pbkJ1ZmZlclNlZWsiLHNlZWtTb3VyY2U6MzR9KTtyZXR1cm59bi5zZWVrVG8oRCx7cWQ6InNlZWt0aW1lbGluZV9wZWdUb0xpdmUiLHNlZWtTb3VyY2U6MzR9KX19fTsKZnU9ZnVuY3Rpb24obixXKXtpZihuLlgpe24udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuLnZpZGVvRGF0YS5XJiYhbi52aWRlb0RhdGEuVy5OKCkmJm4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5YKCk+MCYmb3Uobi5tZWRpYUVsZW1lbnQpPjAmJihuLko9SGQobixuLkosITEpKTt2YXIgRD1uLlMoImh0bWw1X3BzZXVkb2dhcGxlc3Nfc2hvcnRzX3NlZWtfdG9fbmV4dF9zdGFydCIpJiZXPy5zZWVrU291cmNlPT09NjA7aWYoIW4ubWVkaWFFbGVtZW50fHwhZGpyKG4sRCkpbi5SYS5zdGFydCg3NTApO2Vsc2UgaWYoIWlzTmFOKG4uSikmJmlzRmluaXRlKG4uSikmJihEPW4uSEotKG4uSi1uLnRpbWVzdGFtcE9mZnNldCksIShEPT09MHx8TWF0aC5hYnMoRCk8LjAwNSkpKWlmKEQ9bi5tZWRpYUVsZW1lbnQuZ2V0Q3VycmVudFRpbWUoKS1uLkosTWF0aC5hYnMoRCk8PW4uRHR8fE1hdGguYWJzKEQpPC4wMDUpenkxKG4pO2Vsc2V7aWYobi52aWRlb0RhdGEuTWwpbi52aWRlb0RhdGEuTWw9CiExO2Vsc2UgaWYoIWcuRFAobi52aWRlb0RhdGEpJiZuLko+PW4uckkoKS0uMSYmKG4uckkoKSE9PTB8fFc/LnFkIT09InNlZWt0aW1lbGluZV9zZXR1cE1lZGlhRWxlbWVudCIpKXtuLko9bi5ySSgpO24uWC5yZXNvbHZlKG4uckkoKSk7bi5CLldYKCkmJm4uTC5VKCJzZXRFbmRlZEluU2VlayIse3RndDpgJHtuLkp9YCxtYXhzdDpgJHtuLnJJKCl9YH0pO24uTC5rTigpO3JldHVybn10cnl7bGV0IGI9bi5KLW4udGltZXN0YW1wT2Zmc2V0O24ubWVkaWFFbGVtZW50LnNlZWtUbyhiKTtuLk8uTj1iO24uSEo9YjtuLlc9bi5KO24uY0o9ITF9Y2F0Y2goYil7fX19fTsKVEUyPWZ1bmN0aW9uKG4sVyl7bi5UQz0hMDtuLmxuKCkmJihuLko9bi5WLG4uVz1uLkosbi5WPU5hTik7bEF0KG4sVyl9OwpqYjI9ZnVuY3Rpb24obil7dmFyIFc9MCxEPU5hTixiPSIiO2lmKCFuLkQpcmV0dXJue3N0YXJ0U2Vjb25kczpXLE12OkQsc291cmNlOmJ9O24udmlkZW9EYXRhLlJJP1c9bi52aWRlb0RhdGEuSlU6Zy5EUChuLnZpZGVvRGF0YSkmJihXPUluZmluaXR5KTtpZihnLnBBKG4udmlkZW9EYXRhKSlyZXR1cm57c3RhcnRTZWNvbmRzOlcsTXY6RCxzb3VyY2U6Yn07bi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzPyhiPSJzcyIsVz1uLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpOm4udmlkZW9EYXRhLlVyJiYoYj0ic3RzcyIsVz1uLnZpZGVvRGF0YS5Vcik7bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyYmKEQ9bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyk7aWYoaXNGaW5pdGUoVykmJihXPm4uckkoKXx8VzxuLkxmKCkpKXtsZXQgdj17fTt2Lm1pblNlZWthYmxlVGltZT1uLkxmKCk7di5tYXhTZWVrYWJsZVRpbWU9bi5ySSgpO3YuY210PW4uZ2V0Q3VycmVudFRpbWUoKTt2LnNzPQpXO3YudXRjPUQ7di5zcmM9YjtuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLHYpO24udmlkZW9EYXRhLnpXKCkmJihXPUhkKG4sVywhMSkpfXJldHVybntzdGFydFNlY29uZHM6VyxNdjpELHNvdXJjZTpifX07CkpDPWZ1bmN0aW9uKG4pe3JldHVybiEhbi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzJiZpc0Zpbml0ZShuLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpJiZuLnZpZGVvRGF0YS5zdGFydFNlY29uZHM+MUU5fTsKRjNiPWZ1bmN0aW9uKG4sVyl7bi5wbGF5YmFja0RhdGE9VztuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKG4uWT1uZXcgQ3laKCgpPT57YTp7aWYobi5wbGF5YmFja0RhdGEmJm4ucGxheWJhY2tEYXRhLk4uTigpKXtpZihJNChuLnZpZGVvRGF0YSkmJm4ubG9hZGVyKXt2YXIgRD1uLmxvYWRlci5xaCgpO2JyZWFrIGF9aWYobi52aWRlb0RhdGEuTil7RD1uLnZpZGVvRGF0YS5OLnFoKCk7YnJlYWsgYX19RD0wfXJldHVybiBEfSksbi5OPW5ldyBCRWIobi52aWRlb0RhdGEsbi5CLmV4cGVyaW1lbnRzLCgpPT5uLnJJKCEwKSkpOwpJYyhuLkwpPyhuLnZpZGVvRGF0YS5nVD8uQWp8fChXPWpiMihuKSxXLk12PyhnLllOKG4udmlkZW9EYXRhKSYmbi5odShXLk12LFcuc3RhcnRTZWNvbmRzKSxuLlc9Vy5zdGFydFNlY29uZHMpOlcuc3RhcnRTZWNvbmRzPjAmJm4uc2Vla1RvKFcuc3RhcnRTZWNvbmRzLHtxZDoic2Vla3RpbWVsaW5lX3N0YXJ0UGxheWJhY2siLHNlZWtTb3VyY2U6MTUsQU06ITB9KSksbi5EPSExKTpKQyhuKXx8KG4uVz1uLld8fG4udmlkZW9EYXRhLnN0YXJ0U2Vjb25kc3x8MCxuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFc9bi5MLnZpZGVvRGF0YS5ySSgpLG4uVz5XJiYobi5TKCJodG1sNV9zYWJyX2xvZ19pbnZhbGlkX3NhYnJfY3VycmVudF90aW1lIikmJm4uTC5VKCJpbnZhbGlkU2FickNtdFN0YXJ0Iix7cnQ6bi5XLG1zdDpXfSksbi5TKCJodG1sNV9zYWJyX3ZvZF9pbnZhbGlkX3N0YXJ0X3RpbWVfZmFsbGJhY2siKSYmKG4uVz0wKSkpKX07ClNoPWZ1bmN0aW9uKG4sVyl7aWYobi5OJiZuLmxvYWRlcil7dmFyIEQ9ITE7Vz9EPSEwOlN4KG4udmlkZW9EYXRhKT9EPWlYUyhuLk4pOm4uQ3UmJihuLkN1PSExLEQ9aVhTKG4uTiwhMCkpO0QmJihEPW4uTC5CWCxXPSQwKG4uTiksRC5xb2UmJihEPUQucW9lLGcud2ooRCxnLlJrKEQucHJvdmlkZXIpLCJscmEiLFtXXSksRC5VKCJsaXZlLXJlYWRhaGVhZC1zZWNvbmRzIix7djpXfSkpKTtXPW4ubG9hZGVyO0Q9bi5OLk47bj1uLk47bj0obi5OLTErbi5wb2xpY3kuTikqR1kobik7dmFyIGI9TmFOO3ZhciB2PVcuVHI7dj09PTJ8fHY9PT0tMT8odj1ELGhEKFcuTC5nZXRWaWRlb0RhdGEoKSkmJihiPVcucG9saWN5LnpQKSk6dj1ELTE7dj1NYXRoLm1heCh2LDApO0Q9Vy5OeTtELlpBPXY7RC5YPWI7Vy5RdSYmKFcuUXUuTz1uKX19Owptbz1mdW5jdGlvbihuLFcpeyhuLmxvYWRlcj1XKT9TaChuLCEwKTpnLkFDKG4pfTsKZGpyPWZ1bmN0aW9uKG4sVz0hMSl7aWYoIW4ubWVkaWFFbGVtZW50fHxuLm1lZGlhRWxlbWVudC5YKCk9PT0wfHxuLm1lZGlhRWxlbWVudC5oYXNFcnJvcigpKXJldHVybiExO3ZhciBEPW4ubWVkaWFFbGVtZW50LmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCl8fG4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHwhbi52aWRlb0RhdGEuTWkoKT9uLko+PTAmJiFXJiYoVz1uLm1lZGlhRWxlbWVudC5PKCksVy5sZW5ndGh8fCFEKT9CUihXLG4uSi1uLnRpbWVzdGFtcE9mZnNldCk6RDpEfTsKTVoxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRDdXJyZW50VGltZSgpLGI9bi5pc0F0TGl2ZUhlYWQoRCk7aWYobi5ZJiZiKXt2YXIgdj1uLlk7aWYodi5OJiYhKEQ+PXYuSiYmRDx2LlgpKXt2YXIgaz12Lk4uUjMoRCk7ayE9PS0xJiYodi5KPXYuTi5nZXRTdGFydFRpbWUoayksdi5YPXYuSit2Lk4uZ2V0RHVyYXRpb24oayksaz0oMCxnLlIpKCkvMUUzLXYuTi5oQyhrKSxrLT12LmooKSx2LlcuYWRkKGspKX19bi5OJiYoYiYmKHY9bi5OLGs9bi56cygpLHYuangrKyx2Lmp4PDN8fERhdGUubm93KCktdi5WPDNFM3x8KHYuVj1EYXRlLm5vdygpLHYuSi5wdXNoKGspLHYuSi5sZW5ndGg+NTAmJnYuSi5zaGlmdCgpKSksbi5OLlUzKEQsVyksVyYmb294KG4sITApKTtiIT09bi5QWCYmKG4uQi5adCgpLk4uUVEod0kxKSYmbi52aWRlb0RhdGEuUkk/bi5QWD1iOihXPShuLkIuWnQoKS5OLlFRKHdJMSk/KG4uZ2V0Q3VycmVudFRpbWUoKS1uLkdDKSoxRTM6bi5nZXRDdXJyZW50VGltZSgpLQpuLkdDKTw9NTAwLEQ9bi5ZWj49MUUzLFd8fER8fChXPW4uTC5CWCxXLnFvZSYmKFc9Vy5xb2UsRD1nLlJrKFcucHJvdmlkZXIpLGcud2ooVyxELCJsaCIsW2I/IjEiOiIwIl0pKSxuLlBYPWIsbi5ZWisrLG4uR0M9bi5nZXRDdXJyZW50VGltZSgpKSkpfTsKZy5LdT1mdW5jdGlvbihuLFcpe3ZhciBEPW4uWDtEfHwobi5YPW5ldyBZNixEPW4uWCxmdShuLFcpKTtyZXR1cm4gRH07CkhkPWZ1bmN0aW9uKG4sVyxEKXtpZihpc05hTihXKSlyZXR1cm4gTmFOO3ZhciBiPW4uTGYoKTtEPW4uckkoRCk7cmV0dXJuIG4uUygiaHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lIikmJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmVz5EKzEmJlc8SW5maW5pdHk/KG4uQi5XWCgpJiZuLkwuVSgiY2xhbXBJbnZhbGlkU2VlayIse3RndDpgJHtXfWAsbWF4c3Q6YCR7RH1gfSksYik6Zy5GZihXLGIsRCl9OwpSeWk9ZnVuY3Rpb24obixXKXtuLlc9V307ClFidz1mdW5jdGlvbihuLFc9ITEpe24uanx8IShuLlc+MCl8fG4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpPjB8fChXPXtxZDoic2Vla3RpbWVsaW5lX3Jlc3VtZVRpbWUiLEFNOld9LG4udmlkZW9EYXRhLll8fChXLnNlZWtTb3VyY2U9MTUpLG4uc2Vla1RvKG4uVyxXKSl9OwpsQXQ9ZnVuY3Rpb24obixXKXtWWmkobixXKS50aGVuKHZvaWQgMCwoKT0+e2cuQUMobil9KTsKZy5LdShuLFcpLnRoZW4oRD0+e2cuT0IobixEKX0sKCk9PntnLkFDKG4pfSk7Cm4uTC53WShXKTtuLkIuV1goKSYmKFc9bi55cigpLFdbIm5hdGl2ZSJdPWAkeytuLmNKfWAsVy50Z3Q9YCR7bi5KfWAsVy5vdGd0PWAke24uSituLnRpbWVzdGFtcE9mZnNldH1gLFcubWF4c3Q9YCR7bi5ySSgpfWAsbi5OJiZuLlMoImh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZyIpJiYoVy50aHQ9YCR7bi5OLmooKX1gLFcuaHQ9YCR7bi5OLk5XKCl9YCxXLmFkZnQ9YCR7cnMobi5OKX1gKSxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJm4udmlkZW9EYXRhLk4mJmcuWU4obi52aWRlb0RhdGEpJiYoVy5taW5zdD1gJHtuLnZpZGVvRGF0YS5OLkgyfWAsVy5jbWluc3Q9YCR7bi52aWRlb0RhdGEuTi5MZigpK24udGltZXN0YW1wT2Zmc2V0fWAsVy5tYXhzdD1gJHtuLnZpZGVvRGF0YS5OLldNfWAsVy5odHM9YCR7bi52aWRlb0RhdGEuTi50d31gLFcuY21heHN0PWAke24udmlkZW9EYXRhLk4uckkoKStuLnRpbWVzdGFtcE9mZnNldH1gKSwKbi5MLlUoInN0YXJ0U2VlayIsVykpfTsKVlppPWZ1bmN0aW9uKG4sVyl7bi50d3x8KG4ubG9hZGVyP2lzRmluaXRlKG4uSik/bi50dz1uLmxvYWRlci5zZWVrKG4uSi1uLnRpbWVzdGFtcE9mZnNldCxXKTooZy5EUChuLnZpZGVvRGF0YSksbi5MLmhhPTAsbi50dz1SJChuLmxvYWRlcikscEwobi52aWRlb0RhdGEpfHwobi5KPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCkrbi50aW1lc3RhbXBPZmZzZXQpKTpuLnR3PSRHKG4uSi1uLnRpbWVzdGFtcE9mZnNldCkpO3JldHVybiBuLnR3fTsKZy5PQj1mdW5jdGlvbihuLFcpe24uaiYmKG4uai5yZXNvbHZlKFcpLG4uTC5LdCgpLG4uQi5XWCgpJiYoVz1uLnlyKCksV1sibmF0aXZlIl09YCR7K24uY0p9YCxXLm90Z3Q9YCR7bi5KK24udGltZXN0YW1wT2Zmc2V0fWAsbi5MLlUoInNlZWtFbmQiLFcpKSk7Zy5BQyhuKX07Cnp5MT1mdW5jdGlvbihuKXtuLlgmJihuLlgucmVzb2x2ZShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpKSxuLk8uSj1udWxsKX07CmcuQUM9ZnVuY3Rpb24obil7bi5KPU5hTjtuLlY9TmFOO24uSEo9TmFOO24uWD1udWxsO24udHc9bnVsbDtuLmo9bnVsbDtuLlRDPSExO24uY0o9ITE7bi5EdD0wO24uUyQuc3RvcCgpO24ubnUuc3RvcCgpfTsKYUF3PWZ1bmN0aW9uKG4pe2lmKG4uRClpZihuLnZpZGVvRGF0YS5nVD8uQWopbi5EPSExO2Vsc2UgaWYoZy5wQShuLnZpZGVvRGF0YSkpbi5EPSExO2Vsc2V7dmFyIFc9InNzIixEPTA7bi52aWRlb0RhdGEuTj8uaXNNYW5pZmVzdGxlc3MmJm4udmlkZW9EYXRhLlRDJiYhSkMobikmJihXPSJtc3MiLEQ9bi52aWRlb0RhdGEuVEMpOyhuLnZpZGVvRGF0YS5SST9uLlMoImh0bWw1X3ByaW9yaXRpemVfd2luZG93ZWRfc3Rfc3RhcnRfc2Vjb25kcyIpOm4uUygiaHRtbDVfcHJpb3JpdGl6ZV9zdF9zdGFydF9zZWNvbmRzIikpJiYhRCYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTshRCYmY3B0KG4pJiYoRD1uLnZpZGVvRGF0YS5saXZlVXRjU3RhcnRTZWNvbmRzfHxuLnZpZGVvRGF0YS5UQyxXPSJ1dGMiLEQ9bi5ySSgpLW4uaEMobi5ySSgpKStEKTshRCYmbi52aWRlb0RhdGEuelcoKSYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTsKdmFyIGI9e307aWYoRCl7aWYoRD5uLnJJKCl8fEQ8bi5MZigpKWIubWluU2Vla2FibGVUaW1lPW4uTGYoKSxiLm1heFNlZWthYmxlVGltZT1uLnJJKCksYi5jbXQ9bi5nZXRDdXJyZW50VGltZSgpLGIuaXQ9bi5oQyhuLmdldEN1cnJlbnRUaW1lKCkpLGIuc3M9RCxiLnV0Yz1jcHQobik/bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kc3x8bi52aWRlb0RhdGEuVEM6MCxuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLGIpLG4udmlkZW9EYXRhLnpXKCkmJihEPUhkKG4sRCwhMSkpO24uc2Vla1RvKEQse3FkOiJzZWVrdGltZWxpbmVfc3RhcnRTZWNvbmRzIn0pO2JbV109RDtuLkwuVSgic3RhcnRTZWNvbmRzIixiKTtuLkQ9ITF9ZWxzZSBuLnZpZGVvRGF0YS5UQyYmKGJbV109bi52aWRlb0RhdGEuVEMrbi5TVygpLG4uTC5VKCJzdGFydFNlY29uZHMiLGIpKX19OwpuQXg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLm1lZGlhRWxlbWVudCxiPVcudHlwZTtzd2l0Y2goYil7Y2FzZSAic2Vla2luZyI6bGV0IHY9RC5nZXRDdXJyZW50VGltZSgpK24udGltZXN0YW1wT2Zmc2V0O2lmKCFuLlh8fG4uY0omJnYhPT1uLkopbi5YPW5ldyBZNixuLlgudGhlbihrPT57Zy5PQihuLGspfSwoKT0+e2cuQUMobil9KSxuLnZpZGVvRGF0YS5pc0FkKCkmJm5uMSh7YWRDcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSwKY29udGVudENwbjpuLnZpZGVvRGF0YS5ob3N0Q3BuPz8iIn0sVy5OKSxuLkhKPXYsdTRiKG4uTyxELmdldEN1cnJlbnRUaW1lKCkpLG4uc2Vla1RvKHYse3NlZWtTb3VyY2U6MTA0LHFkOiJzZWVrdGltZWxpbmVfbWVkaWFFbGVtZW50RXZlbnQifSksbi5jSj0hMDticmVhaztjYXNlICJzZWVrZWQiOnp5MShuKTticmVhaztjYXNlICJsb2FkZWRtZXRhZGF0YSI6SWMobi5MKXx8YUF3KG4pO2Z1KG4pO2JyZWFrO2Nhc2UgInByb2dyZXNzIjpmdShuKTticmVhaztjYXNlICJwYXVzZSI6bi5LPW4uZ2V0Q3VycmVudFRpbWUoKX1uLksmJigoYj09PSJwbGF5Inx8Yj09PSJwbGF5aW5nInx8Yj09PSJ0aW1ldXBkYXRlInx8Yj09PSJwcm9ncmVzcyIpJiZuLmdldEN1cnJlbnRUaW1lKCktbi5LPjEwJiYobi5TKCJodG1sNV9za3lfc2tpcF9wYXVzZV9qdW1wIik/bi5MLlUoInNraXBQYXVzZUp1bXAiLHtldnQ6YixjbXQ6bi5nZXRDdXJyZW50VGltZSgpLGxwdDpuLkt9KTpuLnNlZWtUbyhuLkssCntxZDoicGF1c2VKdW1wIn0pKSxiIT09InBhdXNlIiYmYiE9PSJwbGF5IiYmYiE9PSJwbGF5aW5nIiYmYiE9PSJwcm9ncmVzcyImJihuLks9MCkpfTsKY3B0PWZ1bmN0aW9uKG4pe3JldHVybihZcChuLnZpZGVvRGF0YSl8fCEhbi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcykmJighIW4udmlkZW9EYXRhLmxpdmVVdGNTdGFydFNlY29uZHN8fEpDKG4pKSYmISFuLnZpZGVvRGF0YS5OfTsKUGQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmdldChXKT8uYnVmZmVyLlcoKXx8W119OwpaNz1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4uZ2V0KFcpPy5idWZmZXIuWCgpfHwwfTsKTHIxPWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRChrKXtyZXR1cm4gYi5WIT09Inl0IiYmKHYucGFydG5lcklkPT09MzgmJmIucGxheWVyU3R5bGU9PT0iYm9va3MifHx2LnBhcnRuZXJJZD09PTMwJiZiLnBsYXllclN0eWxlPT09ImRvY3MifHx2LnBhcnRuZXJJZD09PTMzJiZiLnBsYXllclN0eWxlPT09Imdvb2dsZS1saXZlIik/V3JoKG4sdixrKTpEMXQobix2KS50aGVuKCgpPT57Yi5TKCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpJiZuLkcoKS5UNyYmdi5pc0VtYmVkc1Nob3J0c01vZGUobmV3IGcuUWUoMCwwKSwhIXYucGxheWxpc3RJZCk/YlVVKG4sdik6VUIobix2KX0saD0+e1VCKG4sdiwhMCk7CnRocm93IGg7fSl9CnZhciBiPW4uRygpLHY9bi5nZXRWaWRlb0RhdGEoKTt2LnFOKCk7di5sb2FkaW5nPSEwO3JldHVybiB2QWoobik/a1VpKG4sdixXKS50aGVuKCgpPT57VUIobix2KX0saz0+e2s9QiQoayk7CmlmKGoyKGsuc2V2ZXJpdHkpKXJldHVybiBVQihuLHYsITApLFByb21pc2UucmVqZWN0KGspO2suZXJyb3JDb2RlPT09Im9uZXNpZS5yZXNwb25zZS5iYWRwcm94eXN0YXR1cyImJmAke2suZGV0YWlscy5zdH1gPT09IjMiJiYoaHBTPSEwKTtuLmhhbmRsZUVycm9yKGspO3JldHVybiBEKCJvbmVzaWUiKX0pOmIuUygiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmYi5UNz94MVUobix2KS50aGVuKCgpPT5EKCJndmkiKSk6RCgiZ3ZpIil9Owp2QWo9ZnVuY3Rpb24obil7dmFyIFc9bi5HKCk7aWYoVy5TKCJodG1sNV9kaXNhYmxlX29uZXNpZSIpfHwhVy5TKCJodG1sNV9vbmVzaWUiKXx8IVcuUygiaHRtbDVfb25lc2llX2lubGluZSIpJiZuLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09NXx8Vy5WIT09Inl0IilyZXR1cm4hMTt2YXIgRD1XLlBYO2lmKCFEfHwhRC5OKXJldHVybiBuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJvbmVzaWUudW5hdmFpbGFibGUuaG90Y29uZmlnIix7a2V5OiIwIn0pKSwhMTtpZihELk4uSzwoMCxnLlIpKCkmJihuLlUoIm9rZXhwIiwiMSIpLChEPW4uVTQoKSkmJlcuUygiaHRtbDVfcHJlZmVyX3RydXN0ZWRfaG9zdF9vbl9rZXlfZXhwaXJhdGlvbiIpKSl7RC5KPSEwO2xldCBiPUQuTi5nZXQoMCk/Lk4oKTtiJiYheHcoYikmJkQuTi5kZWxldGUoMCl9aWYoaHBTKXJldHVybiBuLlUoIm9zdDMiLCIxIiksITE7RD17fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkubGVuZ3RoPjA/KEQub25lc2llPSIwIixuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJodG1sNS5taXNzaW5nYXBpIiwKRCkpLCExKTpuLmdldFZpZGVvRGF0YSgpLmxpdmVQcmVsb2FkJiZXLlp0KCkuTi5RUShIcCk/ITE6ITB9Owp5YT1mdW5jdGlvbihuLFcpe3ZhciBEPWcucDIoKTtnLllGKEQsVyk7cmV0dXJuIG5jKEQsaVooKSx7b1M6bi5KLGNsaWVudEludGVyZmFjZTpsbyhuKX0pfTsKZXBaPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5HKCkpJiZXLnZKKCk/YCR7bi5nZXRQbGF5ZXJUeXBlKCl9XyR7Vy52aWRlb0lkfV8ke1cuS2Z9YDpgJHtuLmdldFBsYXllclR5cGUoKX1fJHtXLnZpZGVvSWR9XyR7Vy5LZn1fJHsrVy5pc0F1dG9uYXZ9JHsrVy5WVH1gfTsKa1VpPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtXLmZldGNoVHlwZT0ib25lc2llIjt2YXIgYj12b2lkIDA7aWYoeVUoVykpaWYoYj1uLmk3KXt2YXIgdj1lcFoobixXKTtiPWIuZ2V0KHYpfWVsc2UgYj12b2lkIDA7dj1uLnRiLlFwO2lmKGIpe2lmKFcubG9hZGluZz0hMSxXLk5WPSEwLHpmKFcse3BsYXllcl9yZXNwb25zZTpifSwhMCksVy5sb2FkaW5nfHxIaihXKSlyZXR1cm4gbi5VKCJwcnIiLCIxIiksUHJvbWlzZS5yZXNvbHZlKCl9ZWxzZXtiPWxGKFcsbi5nZXRQbGF5ZXJTaXplKCksbi5nZXRWaXNpYmlsaXR5U3RhdGUoKSk7RD1uZXcgS0QobixiLEQpO2I9YXdhaXQgRC5mZXRjaCgpO2xldCBoPXtwbGF5ZXJfcmVzcG9uc2U6Yn07Vy5sb2FkaW5nPSExO2lmKEQubkEpe2ZvcihsZXQgW3gsTF1vZiBELm5BLmVudHJpZXMoKSl7dmFyIGs9eDtsZXQgZT1MO3YuTi5zZXQoayxlLDE4MCk7az09PVcudmlkZW9JZCYmKGs9ZS5TSigpLFcub009ayl9di5VZz1EfWZvcihsZXQgW3gsTF1vZiBELnQwLmVudHJpZXMoKSl2Lkouc2V0KHgsCkwsMTgwKTt6ZihXLGgsITApO2lmKFcubG9hZGluZ3x8SGooVykpcmV0dXJuIHlVKFcpJiYodj1lcFoobixXKSxXPVcuZ2V0UGxheWVyUmVzcG9uc2UoKSkmJihXPVcucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9XLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLG4uaTc/LnB1dCh2LGIsVykpLFByb21pc2UucmVzb2x2ZSgpfXYuTi5UaSgpO3YuSi5UaSgpO1cub009W107bj17fTt2PSJvbmVzaWUucmVzcG9uc2UiO0Q9MDtXLmVycm9yQ29kZT8odj0iYXV0aCIsbi5lYz1XLmVycm9yQ29kZSxuLmVkPVcuZXJyb3JEZXRhaWwsbi5lcz1XLndpfHwiIixEPTIpOihuLnN1Y2Nlc3NCdXRVbnBsYXlhYmxlPSIxIixuLmRpc3Bvc2VkPWAkeytXLnFOKCl9YCxuLmFmbXRzPWAkeysvYWRhcHRpdmVGb3JtYXRzLy50ZXN0KGIpfWAsbi5jcG49Vy5jbGllbnRQbGF5YmFja05vbmNlKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kodiwKbixEKSl9OwpEMXQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1XLmlzQWQoKSxiPSFELHY9RD8xOjM7Zm9yKGxldCBoPTA7aDx2O2grKyl7aWYoaD4wKXthd2FpdCBnLlV1KDVFMyk7dmFyIGs9bmV3IGcuUXgoIlJldHJ5aW5nIE9uZVBsYXRmb3JtIHJlcXVlc3QiLHthdHRlbXB0Omh9KTtnLkdxKGspfXRyeXthd2FpdCBnQWkobixXKTtyZXR1cm59Y2F0Y2goeCl7bGV0IEw9QiQoeCk7az1MLmVycm9yQ29kZTtsZXQgZT1uLkcoKS5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/NDAxOiI0MDEiO2ImJms9PT0ibWFuaWZlc3QubmV0LmJhZHN0YXR1cyImJkwuZGV0YWlscy5yYz09PWUmJihiPSExLGg9PT12LTEmJih2Kz0xKSk7aWYoaD09PXYtMSlyZXR1cm4gbj1Yc2koRCxMLmRldGFpbHMpLG4uZGV0YWlscy5iYWNrZW5kPSJvcCIsbi5kZXRhaWxzLm9yaWdpbmVjPWssUHJvbWlzZS5yZWplY3Qobik7aWYoaz09PSJhdXRoInx8az09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQifHwKZy5DTihuLkcoKSkpcmV0dXJuIFByb21pc2UucmVqZWN0KEwpO24uaGFuZGxlRXJyb3IoTCk7aWYoajIoTC5zZXZlcml0eSkpYnJlYWt9fXJldHVybiBQcm9taXNlLnJlamVjdChYc2koRCx7YmFja2VuZDoib3AifSkpfTsKZ0FpPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Vy5mZXRjaFR5cGU9ImdwIjt2YXIgRD1uLkcoKSxiPWcuSEUoRCxXLlYoKSk7Yj1iLk4/YXdhaXQgYi5OOmIuZ2V0VmFsdWUoKTt2YXIgdj15YShELGIpLGs9bEYoVyxuLmdldFBsYXllclNpemUoKSxuLmdldFZpc2liaWxpdHlTdGF0ZSgpKSxoPUxCKHF5aikseD1XLlYoKSxMPSgwLGcuUikoKSxlPSExLEc9ImVtcHR5IjtiPTA7bi5EaygicHNucyIpO3ZhciByPXtsZzpmdW5jdGlvbihOKXtOLnJlYWR5U3RhdGU9PT0yJiZuLkRrKCJwc19jIil9fTsKaWYoRC5KKXtsZXQgTj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX0sSD1kbChXLmdldFJlc29sdmVVcmxSZXNwb25zZSgpKTtIJiYoTi5wYXJhbXM9SCk7Vy5wbGF5bGlzdElkJiYoTi5wbGF5bGlzdElkPVN0cmluZyhXLnBsYXlsaXN0SWQpKTtyLkhuPXtSTDp5SCgicGxheWVyIixOKX19dj1hd2FpdCBnLnJfKHYsayxoLHZvaWQgMCxyKTtuLkRrKCJwc25yIik7aWYoIVcucU4oKSl7dj8iZXJyb3IiaW4gdiYmdi5lcnJvcj8oZT0hMCxHPWBlc2Y6JHt2LmVycm9yLm1lc3NhZ2V9YCxiPXYuZXJyb3IuY29kZSk6di5lcnJvck1ldGFkYXRhJiYoZT0hMCxHPSJpdHMiLGI9di5lcnJvck1ldGFkYXRhLnN0YXR1cyk6ZT0hMDtpZihlKXJldHVybiBlPTAsdj0oKDAsZy5SKSgpLUwpLnRvRml4ZWQoKSxMPXt9LEw9RC5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/e2JhY2tlbmQ6Im9wIixyYzpiLHJ0OnYscmVhc29uOkcsaGFzX2twdDpXLkhKPyIxIjoiMCIsaGFzX21keF9lbnY6Vy5tZHhFbnZpcm9ubWVudD8KIjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8iMSI6IjAiLG1keF9jdHJsOlcuaTV8fCIiLHRva2VuX2VxOng9PT1XLlYoKT8iMSI6IjAifTp7YmFja2VuZDoib3AiLHJjOmAke2J9YCxydDp2LHJlYXNvbjpHLGhhc19rcHQ6Vy5ISj8iMSI6IjAiLGhhc19tZHhfZW52OlcubWR4RW52aXJvbm1lbnQ/IjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8KIjEiOiIwIixtZHhfY3RybDpXLmk1fHwiIix0b2tlbl9lcTp4PT09Vy5WKCk/IjEiOiIwIn0sVz0ibWFuaWZlc3QubmV0LmNvbm5lY3QiLGI9PT00Mjk/KFc9ImF1dGgiLGU9Mik6Yj4yMDAmJihXPSJtYW5pZmVzdC5uZXQuYmFkc3RhdHVzIixiPT09NDAwJiYoZT0yKSksUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koVyxMLGUpKTtXLmxvYWRpbmc9ITE7emYoVyx7cmF3X3BsYXllcl9yZXNwb25zZTp2fSwhMCk7Zy5DTihXLkcoKSkmJnYmJnYudHJhY2tpbmdQYXJhbXMmJmcueXIodi50cmFja2luZ1BhcmFtcyk7aWYoVy5lcnJvckNvZGUpcmV0dXJuIEQ9e2VjOlcuZXJyb3JDb2RlLGVkOlcuZXJyb3JEZXRhaWwsZXM6Vy53aXx8IiJ9LGI9ImF1dGgiLGcuQ04oVy5HKCkpJiZXLmVycm9yQ29kZSYmKGI9Vy5lcnJvckNvZGUpLFByb21pc2UucmVqZWN0KG5ldyBnLkNpKGIsRCwyKSk7aWYoIVcubG9hZGluZyYmIUhqKFcpKXJldHVybiBEPVcuaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIiwKUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koRCx7c3VjY2Vzc0J1dFVucGxheWFibGU6IjEiLGhhc01lZGlhOmcuWUwoVyk/IjEiOiIwIn0sMikpfX07CldyaD1hc3luYyBmdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe3JldHVybiEwfQpmdW5jdGlvbiB2KGUpe2U9QiQoZSk7aWYoajIoZS5zZXZlcml0eSkpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO24uaGFuZGxlRXJyb3IoZSk7cmV0dXJuITF9CnZhciBrPXNfMihuLkcoKSxXLG4uZ2V0UGxheWVyU2l6ZSgpLG4uZ2V0VmlzaWJpbGl0eVN0YXRlKCksbi5pc0Z1bGxzY3JlZW4oKSksaD1XLmlzQWQoKSx4PWg/MTozO2ZvcihsZXQgZT0wO2U8eDtlKyspe3ZhciBMPWs7ZT4wJiYoYXdhaXQgZy5VdSg1RTMpLEw9e3BsYXllcnJldHJ5OmUscGxheWVycmV0cnlzcmM6RH0saHx8KEwucmVjb3Zlcj0iZW1iZWRkZWQiKSxMPWcubHcoayxMKSk7aWYoYXdhaXQgR1UxKFcsTCkudGhlbihiLHYpKXJldHVybn1XPWg/ImF1dGgiOiJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiO0Q9aD8yOjE7aWYoIWgmJk1hdGgucmFuZG9tKCk8MUUtNCl0cnl7Zy5HcShuZXcgZy5ReCgiYi8xNTIxMzE1NzEiLGJ0b2EoaykpKX1jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBnLkNpKFcse2JhY2tlbmQ6Imd2aSJ9LEQpKX07CkdVMT1hc3luYyBmdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQoTCl7aWYoIW4ucU4oKSl7TD1MP0wuc3RhdHVzOi0xO3ZhciBlPTAsRz0oKDAsZy5SKSgpLXgpLnRvRml4ZWQoKTtHPWIuUygiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpP3tiYWNrZW5kOiJndmkiLHJjOkwscnQ6R306e2JhY2tlbmQ6Imd2aSIscmM6YCR7TH1gLHJ0Okd9O3ZhciByPSJtYW5pZmVzdC5uZXQuY29ubmVjdCI7TD09PTQyOT8ocj0iYXV0aCIsZT0yKTpMPjIwMCYmKHI9Im1hbmlmZXN0Lm5ldC5iYWRzdGF0dXMiLEw9PT00MDAmJihlPTIpKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kocixHLGUpKX19Cm4uZmV0Y2hUeXBlPSJndmkiO3ZhciBiPW4uRygpLHY7KHY9TlFpKG4pKT8odj17Zm9ybWF0OiJSQVciLG1ldGhvZDoiUE9TVCIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6M0U0LHBvc3RQYXJhbXM6dn0sVz1nLmx3KFcse2FjdGlvbl9kaXNwbGF5X3Bvc3Q6MX0pKTp2PXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OjNFNH07dmFyIGs9e307Yi5zZW5kVmlzaXRvcklkSGVhZGVyJiZuLnZpc2l0b3JEYXRhJiYoa1siWC1Hb29nLVZpc2l0b3ItSWQiXT1uLnZpc2l0b3JEYXRhKTt2YXIgaD1nLlloKGIuZXhwZXJpbWVudHMsImRlYnVnX3NoZXJsb2dfdXNlcm5hbWUiKTtoJiYoa1siWC1Zb3V0dWJlLVNoZXJsb2ctVXNlcm5hbWUiXT1oKTtPYmplY3Qua2V5cyhrKS5sZW5ndGg+MCYmKHYuaGVhZGVycz1rKTt2YXIgeD0oMCxnLlIpKCk7dj1hd2FpdCBlNChnLnI4LFcsdikudGhlbih2b2lkIDAsZnVuY3Rpb24oTCl7cmV0dXJuIEQoTC54aHIpfSk7CmlmKCF2fHwhdi5yZXNwb25zZVRleHQpcmV0dXJuIEQodik7bi5sb2FkaW5nPSExO3Y9Zy5pdyh2LnJlc3BvbnNlVGV4dCk7emYobix2LCEwKTtpZihuLmVycm9yQ29kZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koImF1dGgiLHtlYzpuLmVycm9yQ29kZSxlZDpuLmVycm9yRGV0YWlsLGVzOm4ud2l8fCIifSwyKSk7aWYoIW4ubG9hZGluZyYmIUhqKG4pKXJldHVybiB2PW4uaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixQcm9taXNlLnJlamVjdChuZXcgZy5DaSh2LHtzdWNjZXNzQnV0VW5wbGF5YWJsZToiMSJ9LDIpKX07ClhzaT1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgZy5DaShuPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixXLG4/MjoxKX07ClVCPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPSExKXt2YXIgYj1uLkcoKTtEJiYoIWcuJDYoYil8fElUKFcpIT09ImVtYmVkZGVkIil8fFcuZkN8fElUKFcpIT09ImFkdW5pdCImJihnLms2KGIpfHxnLlhDKGIpfHxnLk1WKGIpfHx0dShiKXx8Zy5EZihiKXx8bG8oYik9PT0iV0VCX0NSRUFUT1IiKXx8KEQ9Zy5IRShiLFcuVigpKSxEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpLHR5MihuLFcsRCkpfTsKdHkyPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt0cnl7bGV0IGs9bi5HKCksaD15YShrLEQpO3ZhciBiPVcuRygpO2xldCB4PWcubzkoKSxMPXtjb250ZXh0Omcub1QoVyksdmlkZW9JZDpXLnZpZGVvSWQscmFjeUNoZWNrT2s6Vy5yYWN5Q2hlY2tPayxjb250ZW50Q2hlY2tPazpXLmNvbnRlbnRDaGVja09rLGF1dG9uYXZTdGF0ZToiU1RBVEVfTk9ORSJ9O0lUKFcpPT09ImFkdW5pdCImJihMLmlzQWRQbGF5YmFjaz0hMCk7Yi5lbWJlZENvbmZpZyYmKEwuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iLmVtYmVkQ29uZmlnKTtiLlluJiYoTC5zaG93Q29udGVudE93bmVyT25seT0hMCk7Vy5TYSYmKEwuc2hvd1Nob3J0c09ubHk9ITApO3guUVEoMTQxKSYmKEwuYXV0b25hdlN0YXRlPXguUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTtpZihnLmVNKGIpKXtsZXQgTj14LlFRKDY1KTtEPU4hPW51bGw/IU46ITE7bGV0IEg9ISFnLlpJKCJ5dC1wbGF5ZXItc3RpY2t5LWNhcHRpb24iKTsKTC5jYXB0aW9uc1JlcXVlc3RlZD1EJiZIfWxldCBlPWIuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmNyeXB0ZWRIb3N0RmxhZ3M7ZSYmKEwucGxheWJhY2tDb250ZXh0PXtlbmNyeXB0ZWRIb3N0RmxhZ3M6ZX0pO3ZhciB2PUw7bGV0IEc9TEIoJDFDKTtuLkRrKCJ3bl9zIik7Yj17fTtrLkomJihiLkhuPXtSTDp5SCgibmV4dCIse3ZpZGVvSWQ6U3RyaW5nKFcudmlkZW9JZCl9KX0pO2xldCByPWF3YWl0IGcucl8oaCx2LEcsdm9pZCAwLGIpO24uRGsoInduX3IiKTshcnx8ImVycm9yImluIHImJnIuZXJyb3J8fChnLkNOKFcuRygpKSYmci50cmFja2luZ1BhcmFtcyYmZy55cihyLnRyYWNraW5nUGFyYW1zKSx6ZihXLHtyYXdfd2F0Y2hfbmV4dF9yZXNwb25zZTpyfSwhMSkpfWNhdGNoKGspe319OwpiVVU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1nLkhFKG4uRygpLFcuVigpKTtEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpO3I2dyhuLFcsRCl9OwpyNnc9YXN5bmMgZnVuY3Rpb24obixXLEQpe249bi5HKCk7dHJ5e2xldCBoPXlhKG4sRCk7bGV0IHg9e2NvbnRleHQ6Zy5vVChXKSxwbGF5ZXJSZXF1ZXN0Ont2aWRlb0lkOlcudmlkZW9JZH0sZGlzYWJsZVBsYXllclJlc3BvbnNlOiEwfSxMPVcuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7aWYoTCl7bGV0IHI9ZGwoTCk7ciYmKHgucGxheWVyUmVxdWVzdC5wYXJhbXM9cik7bGV0IE49ajcoTCk/LnBhcmFtcztOJiYoeC5wYXJhbXM9Til9dmFyIGI9eDtsZXQgZT1MQihzdjIpO0Q9e307aWYobi5KKXtsZXQgcj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX07dmFyIHYsaz1XLmdldFJlc29sdmVVcmxSZXNwb25zZSgpOyh2PWo3KGspPy5wYXJhbXMpJiYoci5wYXJhbXM9dik7RC5Ibj17Ukw6eUgoInJlZWxfaXRlbV93YXRjaCIscil9fWxldCBHPWF3YWl0IGcucl8oaCxiLGUsdm9pZCAwLEQpOyFHfHwiZXJyb3IiaW4gRyYmRy5lcnJvcnx8emYoVyx7cmF3X3JlZWxfaXRlbV93YXRjaF9yZXNwb25zZTpHfSl9Y2F0Y2goaCl7fX07CngxVT1hc3luYyBmdW5jdGlvbihuLFcpe3RyeXtsZXQgaz1uLkcoKSxoPWcuSEUoayxXLlYoKSkseD1oLk4/YXdhaXQgaC5OOmguZ2V0VmFsdWUoKSxMPXlhKGsseCk7dmFyIEQ9bi5nZXRQbGF5ZXJTaXplKCksYj1uLmdldFZpc2liaWxpdHlTdGF0ZSgpO3ZhciB2PXtjb250ZXh0Omcub1QoVyksdXJsOmBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke1cudmlkZW9JZH1gLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhXLEQsYil9fTtsZXQgZT1MQihONGgpLEc9YXdhaXQgZy5yXyhMLHYsZSk7Vy5xTigpfHxHJiZ6ZihXLHtyYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U6R30sITApfWNhdGNoKGspe319Owpwc3I9ZnVuY3Rpb24obixXKXtuLkRrKCJ2aXIiKTtuLkRrKCJwc19zIik7Zy5nXygidmlyIix2b2lkIDAsInZpZGVvX3RvX2FkIik7Vz1McjEobixXKTtXLnRoZW4oZnVuY3Rpb24oKXtuLkRrKCJ2aXJjIik7Zy5nXygidmlyYyIsdm9pZCAwLCJ2aWRlb190b19hZCIpO24uRGsoInBzX3IiKTtnLmdfKCJwc19yIix2b2lkIDAsInZpZGVvX3RvX2FkIil9LGZ1bmN0aW9uKCl7bi5EaygidmlyYyIpOwpnLmdfKCJ2aXJjIix2b2lkIDAsInZpZGVvX3RvX2FkIil9KTsKcmV0dXJuIFd9OwpFQj1mdW5jdGlvbigpe3ZhciBuPUcxKCk7cmV0dXJuISghbnx8bj09PSJ2aXNpYmxlIil9OwpIVWk9ZnVuY3Rpb24obil7dmFyIFc9WXlpKCk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihXLG4sITEpfTsKZnZpPWZ1bmN0aW9uKG4pe3ZhciBXPVl5aSgpO1cmJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVyxuLCExKX07Cll5aT1mdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSl2YXIgbj0idmlzaWJpbGl0eWNoYW5nZSI7ZWxzZXtpZighZG9jdW1lbnRbcTArIlZpc2liaWxpdHlTdGF0ZSJdKXJldHVybiIiO249cTArInZpc2liaWxpdHljaGFuZ2UifXJldHVybiBufTsKSXZoPWZ1bmN0aW9uKG4pe0o2cj1ufTsKU3lyPWZ1bmN0aW9uKG4pe2lWPW59OwpTUE09ZnVuY3Rpb24obil7dmFyIFc9bi5oVTtuPW4udmlkZW9EYXRhO3ZhciBEPVpWKFcsbik7Vy5TKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIil8fEQuY29tcG9zZShVWChXLG4pKTtyZXR1cm4gRH07CkdYPWZ1bmN0aW9uKG4sVyl7dVYobixXLnJlYXNvbixXLk4uaW5mbyxXLnNvdXJjZSxXLnRva2VuKX07Cm9jPWZ1bmN0aW9uKG4sVyl7bi5XSigibG9jYWxtZWRpYWNoYW5nZSIsVyl9OwpQOVU9ZnVuY3Rpb24obixXKXtuLnRiLmRUKCl8fChuLlUoInNnYXAiLHtmOld9KSxuLnRiLmNsZWFyUXVldWUoITEsVz09PSJwZSIpKX07Cm0xVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmKG4ubWVkaWFTb3VyY2U/KGRzKG4pLG4ubXkoKSxBNmoobiwhMSkpOihuLnZpZGVvRGF0YS5jSiYmbi52aWRlb0RhdGEuY0ouWCgpLG4ubWVkaWFFbGVtZW50LnN0b3BWaWRlbygpKSxuLnBsYXlWaWRlbygpKX07CkljPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2Rpc2FibGVfdmlkZW9fcGxheWVyX2luaXRpYXRlZF9zZWVrcyIpJiZnLllOKG4udmlkZW9EYXRhKX07CmxWPWZ1bmN0aW9uKG4sVyl7bi54byYmelkobik7bi54bz1uZXcgZy5sNShXKjFFMywweDdmZmZmZmZmZmZmZmYpO24ueG8ubmFtZXNwYWNlPSJlbmRjciI7bi5hZGRDdWVSYW5nZShuLnhvKX07CnpZPWZ1bmN0aW9uKG4pe24ucmVtb3ZlQ3VlUmFuZ2Uobi54byk7bi54bz1udWxsfTsKamg9ZnVuY3Rpb24obil7aWYobi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBXPVRZKG4pO24ubG9hZGVyJiZuLmxvYWRlci5tbyhXKX19OwpCZD1mdW5jdGlvbihuLFc9ITApe24uQi5BbSYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlJiZuLm1lZGlhRWxlbWVudCYmIW4uRTgoKSYmKG4uaXNCYWNrZ3JvdW5kKCkmJm4ubWVkaWFFbGVtZW50LkdDKCk/KG4uVSgiYmdtb2JpbGUiLHtzdXNwZW5kOjF9KSxuLm9KKCEwLCEwKSk6IW4uaXNCYWNrZ3JvdW5kKCkmJlcmJkN1KG4pJiZuLlUoImJnbW9iaWxlIix7cmVzdW1lOjF9KSl9OwpGSj1mdW5jdGlvbihuKXtpZighZy5EUChuLnZpZGVvRGF0YSkpcmV0dXJuIE5hTjt2YXIgVz0wO24ubG9hZGVyJiZuLnZpZGVvRGF0YS5OJiYoVz1JNChuLnZpZGVvRGF0YSk/bi5sb2FkZXIucWgoKTpuLnZpZGVvRGF0YS5OLnFoKCkpO3JldHVybigwLGcuUikoKS8xRTMtbi5oQygpLVd9OwpLcmI9ZnVuY3Rpb24obixXKXtpZihuLnBsYXllclR5cGU9PT0yfHxuLkIuQ20pVy5vYz0hMDt2YXIgRD1UbChXLkZGLFcuRncsbi5CLkosbi5CLkspO0QmJihXLmFkRm9ybWF0PUQpO24ucGxheWVyVHlwZT09PTImJihXLkd1PSEwKTtpZihuLmlzRnVsbHNjcmVlbigpfHxuLkIuSilEPWcuWkkoInl0LXBsYXllci1hdXRvbmF2c3RhdGUiKSxXLmF1dG9uYXZTdGF0ZT1EfHwobi5CLko/MjpuLnZpZGVvRGF0YS5hdXRvbmF2U3RhdGUpO1cuZW5kU2Vjb25kcyYmVy5lbmRTZWNvbmRzPlcuc3RhcnRTZWNvbmRzJiZsVihuLFcuZW5kU2Vjb25kcyl9Owp3cz1mdW5jdGlvbihuKXtuLmxvYWRlciYmKG4ubG9hZGVyLmRpc3Bvc2UoKSxuLmxvYWRlcj1udWxsLG1vKG4uZGEsbnVsbCkpO24ucGcoKT9PVWgobik6bi5teSgpfTsKVTFpPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclN0YXRlLk4oMTI4KSlpZihuLnZpZGVvRGF0YS5pc0xvYWRlZCgpLG4uaWw9Zy5STShuLnZpZGVvRGF0YS5JSiksZy5ZTChuLnZpZGVvRGF0YSkpe24ubVEudGljaygiYnBkX3MiKTtNOShuKS50aGVuKCgpPT57bi5tUS50aWNrKCJicGRfYyIpO2lmKCFuLnFOKCkpe24uTkwmJihuLkJOKEJyKEJyKG4ucGxheWVyU3RhdGUsNTEyKSwxKSksQ3UobikpO3ZhciBEPW4udmlkZW9EYXRhO0QuZW5kU2Vjb25kcyYmRC5lbmRTZWNvbmRzPkQuc3RhcnRTZWNvbmRzJiZsVihuLEQuZW5kU2Vjb25kcyk7bi5MUi5maW5pc2hlZD0hMDtSYyhuLCJkYXRhbG9hZGVkIik7bi5qSC5zdGFydGVkJiZRYShuKTtsNVUobi5oVSxuLkRoKX19KTsKbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgibG91ZG5lc3MiLHt2Om4udmlkZW9EYXRhLllLLnRvRml4ZWQoMyl9LCEwKTt2YXIgVz1uLm1lZGlhRWxlbWVudD8uZV8oKTtpZihXJiYiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiaW4gVyYmbi5CLkh4KXRyeXtXLmRpc2FibGVQaWN0dXJlSW5QaWN0dXJlPW4uQi5MQiYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlfWNhdGNoKEQpe2cuR3EoRCl9UFJiKG4pO24uQkg9bmV3IFpVcihuLnZpZGVvRGF0YSl9ZWxzZSBSYyhuLCJkYXRhbG9hZGVkIil9Owp5Nlo9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGE7cHNyKG4sbi5paikudGhlbih2b2lkIDAsRD0+e24udmlkZW9EYXRhIT09V3x8Vy5xTigpfHwoRD1CJChEKSxELmVycm9yQ29kZT09PSJhdXRoIiYmbi52aWRlb0RhdGEuZXJyb3JEZXRhaWwmJm4udmlkZW9EYXRhLmVycm9yRGV0YWlsIT09IjciP24uUFYoRC5lcnJvckNvZGUsMix1bmVzY2FwZShuLnZpZGVvRGF0YS5lcnJvclJlYXNvbiksZy5UQyhELmRldGFpbHMpLG4udmlkZW9EYXRhLmVycm9yRGV0YWlsLG4udmlkZW9EYXRhLndpfHx2b2lkIDApOm4uaGFuZGxlRXJyb3IoRCkpfSl9OwpFQUM9ZnVuY3Rpb24obil7cmV0dXJuIGcuazYobi5CKSYmbi52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2smJighbi5CLlMoImh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWQiKXx8IW4udmlkZW9EYXRhLmxpdmVQcmVsb2FkKX07Ck05PWZ1bmN0aW9uKG4pe3dzKG4pO24uRGg9bnVsbDt2YXIgVz1Vancobi5CLG4udmlkZW9EYXRhLG4uRTgoKSk7bi50Uj1XO24udFIudGhlbihEPT57aVV0KG4sRCl9LEQ9PntuLnFOKCl8fChEPUIkKEQpLG4udmlzaWJpbGl0eS5pc0JhY2tncm91bmQoKT8oVmEobiwidnBfbm9uZV9hdmFpbCIpLG4udFI9bnVsbCxuLkxSLnJlc2V0KCkpOihuLkxSLmZpbmlzaGVkPSEwLG4uUFYoRC5lcnJvckNvZGUsRC5zZXZlcml0eSwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siLGcuVEMoRC5kZXRhaWxzKSkpKX0pOwpyZXR1cm4gV307ClBSYj1mdW5jdGlvbihuKXtpZihLeihuLnZpZGVvRGF0YSwiaHRtbDVfc2V0X2RlYnVnZ2luZ19vcHRfaW4iKSl7bGV0IFc9Zy5vOSgpO2lmKCFXLlFRKDE4Mykpe249YGYke01hdGguZmxvb3IoMTgzLzMxKSsxfWA7bGV0IEQ9VDEobil8fDA7RHw9MjY4NDM1NDU2O0Q9PT0wP2RlbGV0ZSBsT1tuXTpsT1tuXT1ELnRvU3RyaW5nKDE2KS50b1N0cmluZygpO1cuc2F2ZSgpfX19OwpSYz1mdW5jdGlvbihuLFc9ImRhdGF1cGRhdGVkIil7bi5XSigiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiLFcsbi52aWRlb0RhdGEpfTsKaVV0PWZ1bmN0aW9uKG4sVyl7aWYoIW4ucU4oKSYmIVcudmlkZW9EYXRhLnFOKCkpe24uRGg9VztGM2Iobi5kYSxuLkRoKTtpZihuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayl7dmFyIEQ9dVJyKG4udGIuUXAsbi52aWRlb0RhdGEudmlkZW9JZCl8fG4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpO0Q9bi5TKCJodG1sNV9vbmVzaWVfbGl2ZSIpJiZEO0ljKG4pfHxuLnZpZGVvRGF0YS5UQz4wJiYhSTQobi52aWRlb0RhdGEpfHxEfHxuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9wbGF5YmFja0RhdGEiLHNlZWtTb3VyY2U6MTh9KX1pZihuLnZpZGVvRGF0YS5XLk4oKSl7aWYoVGhpKG4udmlkZW9EYXRhKSl7bi5QVigiZm10Lm1pc3NpbmciLDIsIkJST1dTRVJfT1JfRVhURU5TSU9OX0VSUk9SIixnLlRDKHttaXNzYWJydXJsOjF9KSk7cmV0dXJufWlmKG4ubG9hZGVyKWcuR3EoRXJyb3IoIkR1cGxpY2F0ZWQgTG9hZGVyIikpO2Vsc2V7RD1nLmRNKG4uQi5leHBlcmltZW50cywKImh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tcyIpO2xldCBiPSgpPT57Y2QobiwoKT0+e24ucU4oKXx8bi5sb2FkZXJ8fG9BdChuKX0pfTsKRCYmbi5PUCgpJiZ1UnIobi50Yi5RcCxuLnZpZGVvRGF0YS5Xaik/Zy5uJChiLEQpOmIoKX19ZWxzZSFuLnZpZGVvRGF0YS5XLk4oKSYmT1Mobi52aWRlb0RhdGEpJiZvYyhuLG5ldyBhYyhuLnZpZGVvRGF0YS52aWRlb0lkfHwiIiw0KSk7bi51digpO3VpaihXKS50aGVuKCgpPT57dmFyIGI9e307bi5zVChiKTtuLkIuV1goKSYmbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgiYXYxSW5mbyIsYik7amgobil9KX19OwpDdT1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLm1lZGlhRWxlbWVudHx8IW4udmlkZW9EYXRhLlcpcmV0dXJuITE7dmFyIEQ9ZDEyKG4sVyksYj1uLm1lZGlhRWxlbWVudC5HQygpLHY9ITE7YiYmYi5lcXVhbHMoRCl8fCh6cGkobixEKSx2PSEwKTtuLnBsYXllclN0YXRlLk4oMil8fFFidyhuLmRhLFcpO2E6e1c9djtpZihnLllOKG4udmlkZW9EYXRhKSl7aWYoIW4udmlkZW9EYXRhLk1pKCkpYnJlYWsgYX1lbHNlIGlmKCFnLnF1KG4udmlkZW9EYXRhKSlicmVhayBhO2lmKG4ubWVkaWFFbGVtZW50KWlmKChEPW4udmlkZW9EYXRhLmopJiZuLm1lZGlhRWxlbWVudC5LKCkpe2I9bi5tZWRpYUVsZW1lbnQuZV8oKTtpZihuLkxBKWlmKGIhPT1uLkxBLmVsZW1lbnQpZHMobik7ZWxzZSBpZihXJiZELmZsYXZvcj09PSJmYWlycGxheSImJiF6USgpKWRzKG4pO2Vsc2UgYnJlYWsgYTtpZihuLlMoImh0bWw1X3JlcG9ydF9lcnJvcl9mb3JfdW5zdXBwb3J0ZWRfdHZvc193aWRldmluZSIpJiZ6USgpJiYKRC5mbGF2b3I9PT0id2lkZXZpbmUiKW4uUFYoImZtdC51bnBsYXlhYmxlIiwxLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInRyZy51bnNwdHR2b3N3aWRldmluZSIpO2Vsc2V7bi5MQT1uZXcgbHZ3KGIsbi52aWRlb0RhdGEsbi5CLG4ubWVkaWFFbGVtZW50LG4uZGgpO24uTEEuc3Vic2NyaWJlKCJsaWNlbnNlZXJyb3IiLG4uYm8sbik7bi5MQS5zdWJzY3JpYmUoInF1YWxpdHljaGFuZ2UiLG4uVzQsbik7bi5MQS5zdWJzY3JpYmUoImhlYXJ0YmVhdHBhcmFtcyIsbi5iWixuKTtuLkxBLnN1YnNjcmliZSgia2V5c3RhdHVzZXNjaGFuZ2UiLG4uWVYsbik7bi5MQS5zdWJzY3JpYmUoImN0bXAiLG4uVSxuKTtmb3IobGV0IGsgb2Ygbi5EYi5rZXlzKVc9bi5EYi5nZXQoayksbi5MQS5XbihXKTtuLlMoImh0bWw1X2VtZV9sb2FkZXJfc3luYyIpfHxuLkRiLlRpKCl9fWVsc2Ugbi5QVigiZm10LnVucGxheWFibGUiLDEsIkhUTUw1X05PX0FWQUlMQUJMRV9GT1JNQVRTX0ZBTExCQUNLIiwKInRyZy51cGRhdGVkcm0iKX1yZXR1cm4gdn07CmNkPWZ1bmN0aW9uKG4sVyl7bi5CLmVCJiZuLkIuWnQoKS5OLlFRKG5hKT9TayhuLkIuZUIsVywoKT0+e0p1KG4uQik7bi5CLmVCPXZvaWQgMDtXKCl9KTpXKCl9OwpvQXQ9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGEuTixEPXtjcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxjOm4uQi5OLmMsY3ZlcjpuLkIuTi5jdmVyfTtmb3IobGV0IFtoLHhdb2YgT2JqZWN0LmVudHJpZXMoRCkpe0Q9aDt2YXIgYj14O2Zvcih2YXIgdiBvZiBPYmplY3QudmFsdWVzKFcuTikpdi5YYi5jSihELGIpO1cuWT8uY0ooRCxiKX12PW4uQjtEPW4udmlkZW9EYXRhO2I9bi5pajtXPW5ldyBnLlQ0Mih2KTt2YXIgaz1OOFooe2hhc1N1YmZyYWdtZW50ZWRGbXA0OkQuaGFzU3ViZnJhZ21lbnRlZEZtcDQsSTI6RC5JMn0pO1cuVj1rO1cuTz1ELm1heFJlYWRBaGVhZE1lZGlhVGltZU1zLzFFM3x8Vy5PO2IuWC5MZygpPT09Yi5wb2xpY3kuTj9XLmpXPTEwOlcualc9RC5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcy8xRTN8fFcualc7Vy5MSz1ELnJlYWRBaGVhZEdyb3d0aFJhdGVNcy8xRTN8fFcuTEs7RC5RNiYmKFcuWD0hMCk7Vy5OZj0hYWQoKTtnLms2KHYpfHwKIWFkKCk/KFcuZSQ9ODM4ODYwOCxXLnZKPTUyNDI4OCxXLklNPTUsVy5ISj0xMDQ4NTc2LFcuVDQ9MS41LFcuTnM9NDU4NzUyMCxsYigpJiYoVy5Ocz03ODY0MzIpLFcuSyo9MS4xLFcuY0oqPTEuMSxXLm1oPSEwKTp2LmomJihXLksqPTEuMyxXLmNKKj0xLjMpO2cub2QmJmcudWIoImNya2V5IikmJihrPXYuTi5jbW9kZWw9PT0iQ0hST01FQ0FTVC9BTkNIT1ZZIixXLmUkPTIwOTcxNTIwLFcudko9MTU3Mjg2NCxrJiYoVy5Ocz04MTI1MDAsVy5iTj0xRTMsVy5Saz01LFcuSEo9MjA5NzE1MikpO2cuYW8mJihXLm1oPSEwKTt2LnN1cHBvcnRzR2FwbGVzc0F1ZGlvKCl8fChXLkRUPSExKTtnLldYJiYoVy5ZJD0hMCk7Vy5zVj12LlMoImh0bWw1X3BlYWtfc2hhdmUiKTtELmhxKCkmJnYuUygiaHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWUiKSYmKFcuc1Y9ITEpO2s9RC5OPy5YKCk7aWYoSTQoRCkpe1cuZVY9ITA7Vy5VVHx8KFcuZlI9ITApO1cuUFg9ITA7Vy5TVj0hMDtXLllyPQohMDtpZihELmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyJ8fEQubGF0ZW5jeUNsYXNzPT09IkxPVyImJiF2LlMoImh0bWw1X2Rpc2FibGVfbG93X3BpcGVsaW5lIikpVy53bz0yLFcuQ3k9NDtXLnNKPUQuZGVmcmFnZ2VkRnJvbVN1YmZyYWdtZW50cztnLnBBKEQpJiYoVy5CVj0hMSk7Vy5DbT1nLkdsKHYpfUQuaXNBZCgpJiYoVy50TT0wLFcuSFk9MCk7Vy5UNz12LlMoImh0bWw1X3VsdHJhX2xvd19sYXRlbmN5X3N1YnNlZ21lbnRfcmVhZGFoZWFkIikmJkQubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIjtXLlc9di5XWCgpO2IuSi5YPUk0KEQpPy41OjA7RC5pc0xpdmVQbGF5YmFjayYmKFcuV2M9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzIil8fC4yNSxXLm51PSExKTtELk1pKCkmJihXLm51PSExKTtXLnFqPSF2LlMoImh0bWw1X3NhYnJfa2VlcF9hbGxfcXVhbGl0eV9jb25zdHJhaW50cyIpO1cuQjM9CkxBKEQpO2hEKEQpJiYoVy5UNz0hMCxELmxhdGVuY3lDbGFzcz09PSJMT1ciP1cud2E9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0Iik6RC5sYXRlbmN5Q2xhc3M9PT0iVUxUUkFMT1ciJiYoVy53YT1nLmRNKHYuZXhwZXJpbWVudHMsImh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQiKSksVy5iQj0hMCk7RC56VygpJiYoVy53eT0xLjMpO1cuWSQ9Vy5ZJHx8RC5mUjtXLkhpPShXLkhpfHxELkhpKSYmdi5LO1cuVjY9RC5LO3YuV1goKSYmKFcuUmE9ITApO0QuSyYmIWsmJihXLktvPSEwKTtELksmJkQuaXNBZCgpJiYoVy5LKj0xLjYsVy5jSio9MS42KTtPUyhEKSYmKFcuSj1ELnZpZGVvSWQsVy52bj0hMCxXLnN6PTEwMCxELnhoJiZELnhoLmxlbmd0aD4wJiYoVy5iVj1ELnhoKSk7Vy5lQj1ELlo5O1cublM9REsodix7fSxELld8fHZvaWQgMCxReihEKSk7Vy5iZD1SUShEKSYmKGcuTVYodil8fAp0dSh2KSk7Zy5ZTihEKSYmKFcuaj0hMCxXLkU1PWcuazYodikmJiFnLmQ4KCk/ITE6ITAsIVcuZTQmJnYuUygiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9jbGllbnRfcmVxdWVzdF9jYW5jZWxsYXRpb24iKSYmKFcudlg9ITAsVy5DdT0hMCxXLlRJPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zIil8fDhFMyxXLnN6PWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0Iil8fDMpLHYuUygiaHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvbiIpJiYoVy5SRD0hMCksVy5OPSEwLFcudkY9di5TKCJodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29yayIpLFcuSjg9di5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpLApXLmNMPXYuUygiaHRtbDVfY29uc3VtZV9vbmVzaWVfbmV4dF9yZXF1ZXN0X3BvbGljeV9mb3Jfc2FiciIpLFcuQVY9di5TKCJodG1sNV9sb2dfaGlnaF9yZXNfYnVmZmVyX3RpbWVsaW5lIikmJnYuV1goKSxXLmZDPXYuUygiaHRtbDVfZ2FwbGVzc19zYWJyX2J0bF9sYXN0X3NsaWNlIikmJkFKKEQpLFcucG89di5TKCJodG1sNV9yZXNldF9sYXN0X2FwcGVuZGVkX3NsaWNlX29uX3NlZWsiKSYmQUooRCksSTQoRCkmJihXLlZIPSEwLFcuUyQ9ITAsdi5TKCJodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZSIpJiYoVy5DdT0hMCxXLmJOPVcuZlopKSxXLmg4PXYuUygiaHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2FiciIpLFcuczU9di5TKCJodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXQiKSxXLlk9Zy5ZTihEKSxXLm9UPXYuUygiaHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkIiksCnYuUygiaHRtbDVfaW5jbHVkZV9wYXJ0aWFsX3NlZ21lbnRfZm9yX2p1bWJvX2xsIikmJmhEKEQpJiYoVy5vVD0hMSksVy5zMz12LlMoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIiksVy5sbj12LlMoImh0bWw1X2NlbnRyYWxpemVkX3BsYXllcl90aW1lX2xpdmUiKSYmZy5ZTihEKSYmRC5pc0xpdmVQbGF5YmFja3x8di5TKCJodG1sNV91c2VfY2VudHJhbGl6ZWRfcGxheWVyX3RpbWUiKSYmZy5ZTihEKSxXLkdDPXYuUygiaHRtbDVfbG9nX2NlbnRyYWxpemVkX3BsYXllcl90aW1lIiksVy5BeD12LlMoImh0bWw1X3VzZV9jZW50cmFsaXplZF9wbGF5ZXJfdGltZV9maXhlcyIpJiZnLllOKEQpLFcuclc9di5TKCJodG1sNV9jb25zdW1lX29uZXNpZV9zYWJyX3NlZWsiKSxXLnR3PXYuUygiaHRtbDVfZW5hYmxlX3NhYnJfc2Vla19sb2FkZXJfcmVmYWN0b3IiKSxELmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYoVy5VMT0hMCxXLldLPXYuUygiaHRtbDVfcmVzZXRfc2VydmVyX3N0aXRjaF9zdGF0ZV9mb3Jfbm9uX3NhYnJfc2VlayIpLApXLmllPXYuUygiaHRtbDVfcmVtb3ZlX3NzZGFpX2FwcGVuZF9wYXVzZSIpJiYhRC5ERigpLFcueXc9di5TKCJodG1sNV9zc2RhaV9sb2dfc3NldnRfaW5fbG9hZGVyX3RpbWVycyIpKSxXLkVaPXYuV1goKSxXLmxhdGVuY3lDbGFzcz1ELmxhdGVuY3lDbGFzcyxXLm1EPSFELnpXKCkmJnYuUygiaHRtbDVfcHJlYnVmZmVyX2luc3RyZWFtX21lZGlhX3ZvZCIpKTtXLnlFPWcubU8oRCk7Vy5Rcj12LlMoImh0bWw1X2VuYWJsZV9zYWJyX290Zl9pbl9jbGllbnQiKTtpZihELk5QKCl8fEQuaXNBZCgpKVcuZ089ITE7RC56VygpJiZ2LmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqdk0pJiYoYj1ELmxDPy5nZXQoImlkIikpJiZiLmluY2x1ZGVzKCIlN0UiKSYmKFcuV2k9ITApO1NKKHYuVyxBVC5CSVRSQVRFKSYmKFcuTnM9TmFOKTtpZihiPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfcmVxdWVzdF9zaXplX21heF9rYiIpKVcuSEo9YioxMDI0O2lmKHYuVy5KKVcucFI9IjsgIitBVC5FWFBFUklNRU5UQUwubmFtZSsKIj1hbGxvd2VkIjtlbHNlIGlmKHYuZXhwZXJpbWVudHMudzAoKS5OLlFRKENSaSkmJmcuZDgoKSl7bGV0IHtuYW1lOmgsdmFsaWQ6eH09QVQuVFVOTkVMTU9ERTtXLnBSPWA7ICR7aH09JHt4fWB9dj1ELnNlcnZlclBsYXliYWNrU3RhcnRDb25maWc7dj8uZW5hYmxlJiZ2Py5wbGF5YmFja1N0YXJ0UG9saWN5JiYoVy5GZT0hMCxsUyhXLHYucGxheWJhY2tTdGFydFBvbGljeSwyKSk7dj1CNFUobik7bi5EYi5UaSgpO2E6e0Q9bi50Yi5RcDtpZihiPW4udmlkZW9EYXRhLnZpZGVvSWQpaWYoaz1ELk4uZ2V0KGIpKXtELk4ucmVtb3ZlKGIpO0Q9azticmVhayBhfUQ9dm9pZCAwfW4ubG9hZGVyPW5ldyBnLlc4KG4sbi5paixXLG4udmlkZW9EYXRhLk4sbi52aWRlb0RhdGEuVyxUWShuKSx2LG4udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpLEQsbi52aWRlb0RhdGEuelIpO2lmKG4udmlkZW9EYXRhLlMoImh0bWw1X2Rpc2FibGVfcHJlbG9hZF9mb3Jfc3NkYWlfd2l0aF9wcmVyb2xsIikmJgpuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmbi5PUCgpKVc9ITA7ZWxzZSBpZihXPW4uTkwpVz1nLms2KG4uQikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiYoIW4uQi5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIil8fCFuLnZpZGVvRGF0YS5saXZlUHJlbG9hZHx8bi5CLlp0KCkuTi5RUShIcCkpO24ubG9hZGVyLmluaXRpYWxpemUobi5nZXRDdXJyZW50VGltZSgpLFRZKG4pLFcpO24udmlkZW9EYXRhLnByb2JlVXJsJiYobi5sb2FkZXIuQnY9bi52aWRlb0RhdGEucHJvYmVVcmwpO2lmKG4uaWwubGVuZ3RofHxuLk5MKW4udmlkZW9EYXRhLmNvdG58fG4ucEMoITEpO21vKG4uZGEsbi5sb2FkZXIpO24uc1UmJihuLmxvYWRlci5FVyhuLnNVKSxuLlUoInNkYWkiLHtzZGw6MX0pKTtnLm1NKG4udmlkZW9EYXRhKSYmKG49bi5sb2FkZXIsbi5wb2xpY3kueGg9bi5wb2xpY3kuVnMpfTsKUWE9ZnVuY3Rpb24obil7bi5xTigpO2lmKCFuLmpILmZpbmlzaGVkJiZuLkxSLmZpbmlzaGVkJiYhbi5wbGF5ZXJTdGF0ZS5OKDEyOCkmJiFuLmlsLmxlbmd0aCl7aWYoIW4ud0kuc3RhcnRlZCl7dmFyIFc9bi53STtXLnN0YXJ0ZWQ9ITA7Vy5KKCl9aWYoIW4uSm4oKSl7bi5sb2FkZXImJihuLm5VPW4ubG9hZGVyLnpzKCEwKT4wKTtuLmpILmZpbmlzaGVkfHwobi5qSC5maW5pc2hlZD0hMCk7Vz1uLlMoImh0bWw1X29uZXNpZV9saXZlIikmJm4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpOyFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8bi52aWRlb0RhdGEuVEM+MCYmIUk0KG4udmlkZW9EYXRhKXx8V3x8SWMobil8fChuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9yZWFkeWluZyIsc2Vla1NvdXJjZToxOH0pLG4uaXNCYWNrZ3JvdW5kKCkmJihuLlRsPSEwKSk7Vz1uLkJYO2lmKFcucW9lKXtXPVcucW9lO2xldCBiPVcucHJvdmlkZXIudmlkZW9EYXRhLHY9Vy5wcm92aWRlci5COwpmb3IodmFyIEQgb2Ygdi5reSluQyhXLEQpO2lmKFcucHJvdmlkZXIuUygiaHRtbDVfZW5hYmxlX3FvZV9jYXRfbGlzdCIpKWZvcihsZXQgayBvZiBiLmtLKW5DKFcsayk7ZWxzZSBiLmt5JiZuQyhXLFcucHJvdmlkZXIudmlkZW9EYXRhLmt5KTtiLnpXKCkmJihEPWIuTixJNChiKSYmbkMoVywibWFuaWZlc3RsZXNzIiksRCYmb28oRCkmJm5DKFcsYGxpdmUtc2VnbWVudC0ke29vKEQpLnRvRml4ZWQoMSl9YCkpO2cuWU4oYik/bkMoVywic2FiciIpOlcueiQoeHAoYikpO2lmKHB6KGIpfHxiLkRGKCkpYi5ERigpJiZuQyhXLCJzc2EiKSxuQyhXLCJsaWZhIik7TkkoYikmJm5DKFcsImNkbSIpO2IuZ2F0ZXdheUV4cGVyaW1lbnRHcm91cCYmKEQ9Yi5nYXRld2F5RXhwZXJpbWVudEdyb3VwLEQ9PT0iRVhQRVJJTUVOVF9HUk9VUF9TUElLWV9BRF9CUkVBS19FWFBFUklNRU5UIj9EPSJzcGthZHRydCI6RD09PSJFWFBFUklNRU5UX0dST1VQX1NQSUtZX0FEX0JSRUFLX0NPTlRST0wiJiYoRD0KInNwa2FkY3RybCIpLG5DKFcsRCkpO3YuViE9PSJ5dCImJlcuSi5zZXQoImxlbiIsW2IubGVuZ3RoU2Vjb25kcy50b0ZpeGVkKDIpXSk7Yi5jb3RuJiYhT1MoYikmJlF1KFcsITApO3YuV1goKSYmKEQ9UlFVKCkpJiZXLlUoImNibHQiLHttOkR9KTt2LlMoImh0bWw1X2xvZ19zY3JlZW5fZGlhZ29uYWwiKSYmVy5VKCJjYmx0ZGlhZyIse3Y6d2luZG93Lkg1dmNjU2NyZWVuPy5HZXREaWFnb25hbD93aW5kb3cuSDV2Y2NTY3JlZW4uR2V0RGlhZ29uYWwoKTowfSl9bi5XSigicGxheWJhY2tyZWFkeSIpO2cudlAoInBsX2MiLG4ubVEudGltZXJOYW1lKXx8KG4ubVEudGljaygicGxfYyIpLGcuZ18oInBsX2MiLHZvaWQgMCwidmlkZW9fdG9fYWQiKSk7Zy52UCgicGJyIixuLm1RLnRpbWVyTmFtZSl8fChuLm1RLnRpY2soInBiciIpLGcuZ18oInBiciIsdm9pZCAwLCJ2aWRlb190b19hZCIpKX19fTsKVmE9ZnVuY3Rpb24obixXKXtuLnBsYXllclN0YXRlLk4oMTI4KXx8KG4uQk4od1Mobi5wbGF5ZXJTdGF0ZSwxMDI4LDkpKSxuLlUoImRvbXBhdXNlZCIse3I6V30pLG4uV0ooIm9uQXV0b3BsYXlCbG9ja2VkIikpfTsKZy5EVD1mdW5jdGlvbihuKXt2YXIgVz1UWShuKTtyZXR1cm4geEooVyl8fCFuLkRoP251bGw6Zy5sXyhuLkRoLk4udmlkZW9JbmZvcyxEPT5XLlgoRCkpfTsKdVY9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aC5KPUQ7dmFyIHg9Zy5EVChuKTtEPW5ldyBGck0oRCxXLHg/eC5pdGFnOiIiLGIsdik7aWYoay5xb2Upe2s9ay5xb2U7Yj12PWcuUmsoay5wcm92aWRlcik7eD1bRC5OLmlkLEQuSixrLnM1LEQucmVhc29uXTtrLkR0fHx4LnB1c2goTFRiKGssRCkpO0QudG9rZW4mJngucHVzaChELnRva2VuKTtnLndqKGssYiwidmZzIix4KTtrLnM1PUQuTi5pZDt4PWsucHJvdmlkZXIuTC5nZXRQbGF5ZXJTaXplKCk7aWYoeC53aWR0aD4wJiZ4LmhlaWdodD4wKXt4PVtNYXRoLnJvdW5kKHgud2lkdGgpLE1hdGgucm91bmQoeC5oZWlnaHQpXTtsZXQgTD1nLkhfKCk7TD4xJiZ4LnB1c2goTCk7Zy53aihrLGIsInZpZXciLHgpfWsuRHR8fChrLnByb3ZpZGVyLkIuV1goKSYmKG5DKGssInJxcyIpLG5DKGssInJxczIiKSksay5wcm92aWRlci52aWRlb0RhdGEuTiYmR18oay5wcm92aWRlci52aWRlb0RhdGEuTikmJmsuSi5zZXQoInByZWxvYWQiLApbIjEiXSkpO2suRHQ9ITA7ay5WPSEwO0QucmVhc29uPT09Im0iJiYrK2suc1Y9PT0xMDAmJmJtKGssMik7Zy53aihrLHYsInZwcyIsW2suTl0pO2suZSR8fGsucmVwb3J0U3RhdHModil9RD1uLmhVO0QuSj0wO0QuTj0wO24uV0ooImludGVybmFsdmlkZW9mb3JtYXRjaGFuZ2UiLGgsVz09PSJtIil9OwpUWT1mdW5jdGlvbihuKXtpZihuLkRoKXt2YXIgVz1uLmhVO3ZhciBEPW4uRGg7bj1uLmcwKCk7dmFyIGI9Wm1oKFcpO2lmKHhKKGIpKXtpZihiPVcuTWgoRCkuY29tcG9zZSh5SXIoVyxEKSkuY29tcG9zZShpbXIoVyxEKSkuY29tcG9zZShaVihXLEQudmlkZW9EYXRhKSkuY29tcG9zZShVWChXLEQudmlkZW9EYXRhLEQpKS5jb21wb3NlKHkzKFcsRCkpLmNvbXBvc2UoaW0oVyxEKSkseEoobil8fFcuUygiaHRtbDVfYXBwbHlfcGJyX2NhcF9mb3JfZHJtIikpe3ZhciB2PWIuY29tcG9zZTtpZihXLlMoImh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnIiKSYmZy5ZTihELnZpZGVvRGF0YSkpdmFyIGs9WVo7ZWxzZSBrPVcuTC51dSgpLFcuUygiaHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludCIpJiZrJiZrLlFvPjAmJnhKKEQudmlkZW9EYXRhLkIzKSYmKGs9ay5RbyxELnZpZGVvRGF0YS5CMz1uZXcgYjMoMCxrLCExLAoidSIpKSxrPUQudmlkZW9EYXRhLkIzO2I9di5jYWxsKGIsayl9fWVsc2UgVy5TKCJodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3kiKSYmKGI9Yi5jb21wb3NlKHkzKFcsRCkpKTtiPWIuY29tcG9zZShpbShXLEQpKTtXPUQudmlkZW9EYXRhLkxLLmNvbXBvc2UoYikuY29tcG9zZShELnZpZGVvRGF0YS5MSCkuY29tcG9zZShuKX1lbHNlIFc9WVo7cmV0dXJuIFd9Owp3c2k9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aWYoRCE9PWguWCl7dmFyIHg9IWguWDtoLlg9RDt2YXIgTD1XPT09Im0ifHxXPT09InQiO0x8fChXPXg/ImkiOiJhIik7Vz1uZXcgRnJNKEQsVywiIixiLHYpO2lmKGsucW9lKXtrPWsucW9lO0Q9Zy5SayhrLnByb3ZpZGVyKTtsZXQgRz1bXTtpZihXLk4uaWQhPT1rLkZGKXtiPVtXLk4uaWQsay5GRixXLnJlYXNvbl07dj1HO3ZhciBlPXYucHVzaDtsZXQgcj1bXSxOPWsucHJvdmlkZXIudmlkZW9EYXRhLmhnLk4sSD1XLk4uYXVkaW8/Lko/P04/LlFPO0g9PW51bGx8fGlzTmFOKEgpfHxyLnB1c2goYGZsLiR7SH1gKTtOJiYoTi5mb3JtYXRJZCYmTi5mb3JtYXRJZCE9PVcuTi5pZCYmay5VKCJhZ2MiLHtxb2VtaXNtYXRjaDoiMSIsYWdjX2ZtdDpOLmZvcm1hdElkLGFmbXQ6Vy5OLmlkfSksTi5weT09bnVsbHx8aXNOYU4oTi5weSl8fHIucHVzaChgdGwuJHtOLnB5fWApLE4uRHk9PW51bGx8fGlzTmFOKE4uRHkpfHwKci5wdXNoKGB2Zy4ke04uRHl9YCksTi53RyE9PTAmJnIucHVzaChgbm0uJHtOLndHfWApKTtlLmNhbGwodiwuLi5yKTtXLnJlYXNvbj09PSJpIiYmRy5wdXNoKExUYihrLFcpKTtHLmxlbmd0aD4wJiZiLnB1c2goRy5qb2luKCI7IikpO1cudG9rZW4mJmIucHVzaChXLnRva2VuKTtnLndqKGssRCwiYWZzIixiKTtrLkZGPVcuTi5pZH19bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsaCwheCYmTCl9fTsKTXl4PWZ1bmN0aW9uKG4pe3ZhciBXPSJsb2Fkc3RhcnQgbG9hZGVkbWV0YWRhdGEgcGxheSBwbGF5aW5nIHByb2dyZXNzIHBhdXNlIGVuZGVkIHN1c3BlbmQgc2Vla2luZyBzZWVrZWQgdGltZXVwZGF0ZSBkdXJhdGlvbmNoYW5nZSByYXRlY2hhbmdlIGVycm9yIHdhaXRpbmcgcmVzaXplIi5zcGxpdCgiICIpO2ZvcihsZXQgRCBvZiBXKW4uczkuTk4obi5tZWRpYUVsZW1lbnQsRCxuLmlVLG4pO24uQi5EVCYmbi5tZWRpYUVsZW1lbnQuSygpJiYobi5zOS5OTihuLm1lZGlhRWxlbWVudCwid2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkIixuLnZrLG4pLG4uczkuTk4obi5tZWRpYUVsZW1lbnQsIndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkIixuLk9rLG4pKX07Ck9VaD1mdW5jdGlvbihuKXtpZihuLm1lZGlhU291cmNlKWlmKG4uSzEoKSxuLm1lZGlhU291cmNlLkspdHJ5e24uQi5XWCgpJiZuLlUoInJtcyIse2w6InZwcm1zIixzcjpuLnBnKCkscnM6bi5tZWRpYVNvdXJjZS5XKCl9KSxuLm1lZGlhU291cmNlLmNsZWFyKCksbi5tZWRpYUVsZW1lbnQ/LkhKKG4ubWVkaWFTb3VyY2UpLG4ubWVkaWFTb3VyY2U9bnVsbH1jYXRjaChEKXt2YXIgVz1uZXcgZy5ReChgRXJyb3Igd2hpbGUgY2xlYXJpbmcgTWVkaWEgU291cmNlIGluIFZpZGVvUGxheWVyOiAke0QubmFtZX0sICR7RC5tZXNzYWdlfWApO1c9QiQoVyk7bi5oYW5kbGVFcnJvcihXKTtuLm15KCl9ZWxzZSBuLm15KCl9Owpkcz1mdW5jdGlvbihuKXtuLkxBJiYobi5MQS5kaXNwb3NlKCksbi5MQT1udWxsKX07ClJwVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmbi5tZWRpYUVsZW1lbnQuRTgoKSYmKG4uVFY9KDAsZy5SKSgpKTtuLkIudEc/Zy5uJCgoKT0+e2J2KG4pfSwwKTpidihuKX07CmJ2PWZ1bmN0aW9uKG4pe2lmKCFuLm1lZGlhU291cmNlPy5nWCgpKXtpZihuLm1lZGlhRWxlbWVudCl0cnl7bi5Mdz1uLm1lZGlhRWxlbWVudC5wbGF5VmlkZW8oKX1jYXRjaChXKXtWYShuLGBlcnIuJHtXfWApfWlmKG4uTHcpe2xldCBXPW4uTHc7Vy50aGVuKHZvaWQgMCxEPT57aWYoIShuLnBsYXllclN0YXRlLk4oNCl8fG4ucGxheWVyU3RhdGUuTigyNTYpfHxuLkx3IT09V3x8RCYmRC5uYW1lPT09IkFib3J0RXJyb3IiJiZELm1lc3NhZ2UmJkQubWVzc2FnZS5pbmNsdWRlcygibG9hZCIpKSl7bGV0IGI9InByb21pc2UiO0QmJkQubmFtZSYmKGIrPWA7bS4ke0QubmFtZX1gKTtWYShuLGIpO24uVzE9ITA7bi52aWRlb0RhdGEuZkI9ITB9fSl9fX07CkE2aj1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubWVkaWFTb3VyY2UpcmV0dXJuIG4ubWVkaWFTb3VyY2UuajtRdmkobixXKTtyZXR1cm4gbi5VeigpPy50dygpfHxudWxsfTsKZDEyPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9bnVsbDtuLnZpZGVvRGF0YS5XPy5OKCk/KEQ9QTZqKG4sVyksbi5sb2FkZXI/LnJlc3VtZSgpKTood3Mobiksbi52aWRlb0RhdGEuY0omJihEPW4udmlkZW9EYXRhLmNKLkooKSkpO3JldHVybiBEfTsKYXZaPWZ1bmN0aW9uKG4sVyl7aWYoVy5OLnZpZGVvLnF1YWxpdHk9PT0iYXV0byImJlcua0woKS5XKCkpaWYobi5TKCJodG1sNV9obHNfcmVwb3J0X3BzZXVkb19pdGFnIikmJm4udmlkZW9EYXRhLmhsc3ZwKXt2YXIgRD1uLlVKKCk7aWYoRCYmRC52aWRlb0hlaWdodD4wJiZELnZpZGVvV2lkdGg+MCl7dmFyIGI9RC52aWRlb0hlaWdodDtEPUQudmlkZW9XaWR0aDthOntuPW4uTEE/Lk4uZmxhdm9yPT09ImZhaXJwbGF5Ij9WeVU6YzZaO2Zvcih2IG9mIG4paWYoYj49di5taW5IZWlnaHQpe3ZhciB2PXYuaXRhZzticmVhayBhfXY9IiJ9aWYodilyZXR1cm4gbmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse3ZpZGVvOm5ldyBIUihELGIpfSl9fWVsc2UgaWYobi52aWRlb0RhdGEubnUpZm9yKGIgb2Ygbi52aWRlb0RhdGEubnUpaWYoYi5nZXRIZWlnaHQoKT09PW4uejEmJmIuTi52aWRlby5xdWFsaXR5IT09ImF1dG8iKXJldHVybiBiLmtMKCk7cmV0dXJuIFcua0woKX07Cm5CQz1mdW5jdGlvbihuKXtyZXR1cm4hIShuLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKSYmZy5HbiYmbi52aWRlb0RhdGEuSj8uVygpKX07ClcxaT1mdW5jdGlvbihuKXtpZighbkJDKG4pKXJldHVybiExO249bi5tZWRpYUVsZW1lbnQ/LmF1ZGlvVHJhY2tzKCk7cmV0dXJuISEobiYmbi5sZW5ndGg+MSl9OwpiNHQ9ZnVuY3Rpb24obil7dmFyIFc9RGdDKG4pO2lmKFcpe3ZhciBEPXY4W1ddfHxXO3JldHVybiBuLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLmZpbmQoYj0+Yi5rWi5nZXROYW1lKCk9PT1EKX19OwpEZ0M9ZnVuY3Rpb24obil7aWYobj1uLm1lZGlhRWxlbWVudD8uYXVkaW9UcmFja3MoKSlmb3IobGV0IFc9MDtXPG4ubGVuZ3RoOysrVyl7bGV0IEQ9bltXXTtpZihELmVuYWJsZWQpcmV0dXJuIEQubGFiZWx9fTsKdkIyPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpO2lmKFcpe3ZhciBEPVtdO2ZvcihsZXQgdj0wO3Y8Vy5sZW5ndGg7Kyt2KXt2YXIgYj1XW3ZdO2I9bmV3IFdBKGIubGFiZWwsbmV3IHdQKHY4W2IubGFiZWxdfHxiLmxhYmVsLGIubGFiZWwsITEpKTtELnB1c2goYil9bi52aWRlb0RhdGEudm49RH19OwpCNFU9ZnVuY3Rpb24obil7dmFyIFcsRD1uLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLGI9bi5CLkhKO2ImJihXPUQuZmluZCh2PT52LmdldExhbmd1YWdlSW5mbygpLmlkPT09YikpOwppZihuLkIuZXhwZXJpbWVudHMuRXEoImVuYWJsZV9hdWRpb19kZXNjcmlwdGlvbl9zZXR0aW5nIikmJmcubzkoKS5RUSgxOTgpKWZvcihsZXQgdiBvZiBEKWlmKHYuail7Vz12O2JyZWFrfW4uWnQoKS5OLlFRKGtxTSkmJm4udmlkZW9EYXRhLmNvdG4mJihXPUQuZmluZCh2PT4hIXYuVikpOwpXfHwobj1uLmdldEF1ZGlvVHJhY2soKSxXPW4ua1ouaXNEZWZhdWx0P3ZvaWQgMDpuKTtyZXR1cm4gV307ClF2aT1mdW5jdGlvbihuLFc9ITEpe3RyeXtnLmQ4KCkmJm4udmlkZW9EYXRhLm1WKCkmJm4ubWVkaWFFbGVtZW50LlBYKCk7bGV0IGI9bi5veSgpLHY9bi5DZCgpO2lmKG4ubWVkaWFFbGVtZW50LmlzVmlldygpJiZuLm1lZGlhRWxlbWVudC5NZCYmKCFuLkZTKCl8fCFuLm1lZGlhRWxlbWVudC5ZJChiLHYpKSl7bi5CLldYKCkmJm4uVSgidXNtIix7ZmFsbGJhY2s6ITAscmVhc29uOm4uRlMoKT8iY29kZWMiOiJwb2xpY3kifSk7bGV0IGs9bi5tZWRpYUVsZW1lbnQubWVkaWFFbGVtZW50O2s/LlBYKCk7az8uc3RvcFZpZGVvKCk7bi5kYS5zZXRNZWRpYUVsZW1lbnQobnVsbCk7bi5zZXRNZWRpYUVsZW1lbnQoaywhMCl9dmFyIEQ9bi5tZWRpYUVsZW1lbnQuVXooYix2KX1jYXRjaChiKXtpZihLQyhuLkFJLCJodG1sNS5taXNzaW5nYXBpIix7dXBkYXRlTXM6IjEifSkpcmV0dXJuO2NvbnNvbGUuZXJyb3IoIndpbmRvdy5VUkwgb2JqZWN0IG92ZXJ3cml0dGVuIGJ5IGV4dGVybmFsIGNvZGUiLApiKTtuLlBWKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInVwZGF0ZU1zLjEiKTtyZXR1cm59bi5ubShELCExLCExLFcpfTsKaExaPWZ1bmN0aW9uKG4sVz0hMSl7aWYobi5sb2FkZXIpe24udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZuLmxvYWRlci5rSSgpO2xldCBEPW4uZ2V0Q3VycmVudFRpbWUoKS1uLlNXKCk7bi5sb2FkZXIuc2VlayhELHtBTTpXfSkuc1AoKCk9Pnt9KX1lbHNlIGNkKG4sKCk9PntuLnFOKCl8fG4ubG9hZGVyfHxvQXQobil9KX07CkwxYj1mdW5jdGlvbihuLFcsRD0hMSxiPSExLHY9ITEpeyFuLm1lZGlhU291cmNlfHxXJiZuLm1lZGlhU291cmNlIT09V3x8KFc9bi5nZXREdXJhdGlvbigpLCFXJiZJNChuLnZpZGVvRGF0YSkmJihXPTI1MjAwLG4ubG4oKSYmKFc9NDY4MDApKSxuLm1lZGlhU291cmNlLmlzVmlldz9XPm4ubWVkaWFTb3VyY2UuZ2V0RHVyYXRpb24oKSYmeGdaKG4sVyk6eGdaKG4sVyksVz0oKT0+e24ucU4oKXx8KEltaShuLmxvYWRlcixuLm1lZGlhU291cmNlLEQsYix2KSxuLldKKCJtZWRpYXNvdXJjZWF0dGFjaGVkIikpfSxuLmxvYWRlcj9XKCk6Y2QobixXKSl9Owp4Z1o9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiYobi5tZWRpYVNvdXJjZS5hVChXKSxuLmxvYWRlcj8uaFcoVykpfTsKZUxoPWZ1bmN0aW9uKG4sVyl7aWYobi5CLldYKCkmJm4ubWVkaWFFbGVtZW50KXtsZXQgRD1uLm1lZGlhRWxlbWVudC55cigpO0Qub210PShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpK24uU1coKSkudG9GaXhlZCgzKTtELnBzPW4ucGxheWVyU3RhdGUuc3RhdGUudG9TdHJpbmcoMTYpO0QucnQ9KGcuUmsobi5CWC5wcm92aWRlcikqMUUzKS50b0ZpeGVkKCk7RC5lPVc7bi5CRltuLmtRKyslNV09RH19OwpnQnI9ZnVuY3Rpb24obil7aWYoZy51YigiY29iYWx0IikmJmcudWIoIm5pbnRlbmRvIHN3aXRjaCIpKXt2YXIgVz0hd2luZG93Lm1hdGNoTWVkaWEoInNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyMDBkcGkpIikubWF0Y2hlcztuLlUoIm54ZG9jayIse2Q6V30pfX07ClhhUz1mdW5jdGlvbihuKXtEcihuLm53KTtrUChuKXx8KG4ubnc9VzAoKCk9PmtQKG4pLDEwMCkpfTsKa1A9ZnVuY3Rpb24obil7dmFyIFc9bi5tZWRpYUVsZW1lbnQ7VyYmbi5BbCYmIW4udmlkZW9EYXRhLlkmJiFnLnZQKCJ2ZnAiLG4ubVEudGltZXJOYW1lKSYmVy5YKCk+PTImJiFXLmlzRW5kZWQoKSYmTSQoVy5KKCkpJiZuLm1RLnRpY2soInZmcCIpO3JldHVybihXPW4ubWVkaWFFbGVtZW50KSYmIW4udmlkZW9EYXRhLlkmJlcuZ2V0RHVyYXRpb24oKT4wJiYoVy5pc1BhdXNlZCgpJiZXLlgoKT49MiYmTSQoVy5KKCkpJiYoZy52UCgicGJwIixuLm1RLnRpbWVyTmFtZSl8fG4ubVEudGljaygicGJwIiksIW4udmlkZW9EYXRhLkR0fHxuLlZ0fHxXLmlzU2Vla2luZygpfHwobi5WdD0hMCxuLldKKCJvblBsYXliYWNrUGF1c2VBdFN0YXJ0IikpKSxXPVcuZ2V0Q3VycmVudFRpbWUoKSxxOShuLlZlLFcpJiYoIW4udmlkZW9EYXRhLlJvfHwhbi5wbGF5ZXJTdGF0ZS5OKDE2KSkpPyhuLmUyKCksITApOiExfTsKaDU9ZnVuY3Rpb24obixXKXtuLkIuUygiaHRtbDVfbG9nX3JlYnVmZmVyX3JlYXNvbiIpJiYoVz17cjpXLGxhY3Q6Zy52SSgpfSxuLm1lZGlhRWxlbWVudCYmKFcuYmg9bi5tZWRpYUVsZW1lbnQuenMoKSksbi5VKCJidWZyZWFzb24iLFcpKX07CnFhVT1mdW5jdGlvbihuKXtuLkJYLm9uUHJvZ3Jlc3MoKTtpZihnLkRQKG4udmlkZW9EYXRhKSYmRGF0ZS5ub3coKT5uLmhhKzYyODMpe2lmKG4udmlkZW9EYXRhLk4mJiFFayhuLnZpZGVvRGF0YS5OKSl7dmFyIFc9bi5CWDtpZihXLnFvZSl7Vz1XLnFvZTt2YXIgRD1XLnByb3ZpZGVyLkwuSEsoKSxiPWcuUmsoVy5wcm92aWRlcik7VnUoVyxiLEQpO2xldCB2PUQuVztEPUQuWDtpc05hTih2KXx8KCFpc05hTihEKSYmRD9nLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKSxELnRvRml4ZWQoMyldKTpnLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKV0pKX19Vz1nLkdsKG4uQik7Yj1uLlMoImh0bWw1X2Fsd2F5c19sb2dfcmF3bGF0Iik7KFd8fGIpJiZuLlUoInJhd2xhdCIse2w6Wjcobi5GNSwicmF3bGl2ZWxhdGVuY3kiKS50b0ZpeGVkKDMpfSk7bi5oYT1EYXRlLm5vdygpfW4udmlkZW9EYXRhLkomJm4udmlkZW9EYXRhLkouVygpJiYoVz1uLlVKKCkpJiZXLnZpZGVvSGVpZ2h0IT09Cm4uejEmJihuLnoxPVcudmlkZW9IZWlnaHQsdVYobiwiYSIsYXZaKG4sbi52aWRlb0RhdGEuY0opKSl9OwpHcU09ZnVuY3Rpb24obil7aWYobi5CLldYKCkpe24uQkYuc29ydCgoVyxEKT0+K1cucnQtK0QucnQpOwpmb3IobGV0IFcgb2Ygbi5CRiluLlUoInZwZSIsT2JqZWN0LmFzc2lnbih7dDpXLnJ0fSxXKSk7bi5CRj1bXTtuLmtRPTB9fTsKenBpPWZ1bmN0aW9uKG4sVyl7bi5tUS50aWNrKCJ2dGEiKTtnLmdfKCJ2dGEiLHZvaWQgMCwidmlkZW9fdG9fYWQiKTtuLmdldEN1cnJlbnRUaW1lKCk+MCYmUnlpKG4uZGEsbi5nZXRDdXJyZW50VGltZSgpKTtuLm1lZGlhRWxlbWVudC5EKFcpO24ubWVkaWFTb3VyY2UmJmJRKDQpOyFuLnZpZGVvRGF0YS5ZJiZuLnBsYXllclN0YXRlLmlzT3JXaWxsQmVQbGF5aW5nKCkmJm4uQl8uc3RhcnQoKTtuQkMobikmJihXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpKSYmKFcub25hZGR0cmFjaz0oKT0+e3ZCMihuKX0sVy5vbnJlbW92ZXRyYWNrPSgpPT57dkIyKG4pfSxXLm9uY2hhbmdlPSgpPT57bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsbi52aWRlb0RhdGEsITApfSl9Owp0aVM9ZnVuY3Rpb24obil7bj1uLmFwaS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO249bi5pc0N1ZWQoKXx8bi5pc0Vycm9yKCk/Im5vbmUiOm4uaXNPcldpbGxCZVBsYXlpbmcoKT8icGxheWluZyI6InBhdXNlZCI7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlPW59OwokZ0M9ZnVuY3Rpb24obil7aWYobi5OKWlmKG4uYXBpLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXRyeXt4UCh7ZHVyYXRpb246SW5maW5pdHl9KX1jYXRjaChXKXt4UCgpfWVsc2V7aWYobi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnpLKCkpe2xldCBXPW4uYXBpLmdldFByb2dyZXNzU3RhdGUoKS5zZWVrYWJsZUVuZCxEPU1hdGgubWluKG4uYXBpLmdldEN1cnJlbnRUaW1lKCksVyk7aWYoVyYmTnVtYmVyLmlzRmluaXRlKEQpKXt4UCh7ZHVyYXRpb246VyxwbGF5YmFja1JhdGU6bi5hcGkuZ2V0UGxheWJhY2tSYXRlKCkscG9zaXRpb246RH0pO3JldHVybn19eFAoKX19OwpMYT1mdW5jdGlvbihuLFcpe3RyeXtuYXZpZ2F0b3IubWVkaWFTZXNzaW9uLnNldEFjdGlvbkhhbmRsZXIobixXKX1jYXRjaChEKXt9fTsKclBoPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKCFufHwhbi50aHVtYm5haWxzKXJldHVybiBXO2ZvcihsZXQgRCBvZiBuLnRodW1ibmFpbHMpRC51cmwmJighRC53aWR0aHx8RC53aWR0aDw9MHx8IUQuaGVpZ2h0fHxELmhlaWdodDw9MHx8Zy5qSShELnVybCkmJlcucHVzaCh7c3JjOkQudXJsfHwiIixzaXplczpgJHtELndpZHRofXgke0QuaGVpZ2h0fWAsdHlwZToiaW1hZ2UvanBlZyJ9KSk7cmV0dXJuIFd9OwpzVVM9ZnVuY3Rpb24obil7TGEoInBsYXkiLCgpPT57bi5hcGkucGxheVZpZGVvKCk7ZWwobil9KTsKTGEoInBhdXNlIiwoKT0+e24uYXBpLnBhdXNlVmlkZW8oKTtlbChuKX0pOwpMYSgic2Vla2JhY2t3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSgtNSpuLmFwaS5nZXRQbGF5YmFja1JhdGUoKSk7ZWwobil9KTsKTGEoInNlZWtmb3J3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSg1Km4uYXBpLmdldFBsYXliYWNrUmF0ZSgpKTtlbChuKX0pOwpMYSgic2Vla3RvIixXPT57Vz1XLnNlZWtUaW1lO1chPW51bGwmJm4uYXBpLnNlZWtUbyhXKTtlbChuKX0pfTsKZWw9ZnVuY3Rpb24obil7bi5hcGkuUygid2ViX3Jlc2V0X2xhY3Rfb25fbWVkaWFfYWN0aW9ucyIpJiZuLmFwaS51cGRhdGVMYXN0QWN0aXZlVGltZSgpfTsKeFA9ZnVuY3Rpb24obil7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5zZXRQb3NpdGlvblN0YXRlKG4pfTsKcGFNPWZ1bmN0aW9uKG4pe2lmKG49bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LmdldFBsYXllclJlc3BvbnNlKCk/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKWlmKG49Zy53KG4uY29tcG9zaXRlVmlkZW9PdmVybGF5LE5LeCksbj8uc291cmNlcz8ubGVuZ3RoKWZvcihsZXQgVyBvZiBuPy5zb3VyY2VzKWlmKFcuaXNBY3RpdmUpcmV0dXJuIFd9OwpnOT1mdW5jdGlvbihuKXtuLk49dm9pZCAwO24uVy5jbGVhcigpO24uYXBpLk5wKCJjb21wb3NpdGVlbWJhcmdvIiwxKX07ClhZPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tSZWxhdGl2ZVBvc2l0aW9uPy51dGNUaW1lTXMpLzFFMztsZXQgYj1XK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSx2PWBjb21wb3NpdGVfZW1iYXJnb18ke1d9YDtpZihELm9uRW50ZXIpe2xldCBrPUQub25FbnRlci5maWx0ZXIobi5WKTtrLmxlbmd0aCYmKG4uVy5zZXQodixrKSxuLmFwaS5hZGRVdGNDdWVSYW5nZSh2LFcsYiwiY29tcG9zaXRlZW1iYXJnbyIsITEpKX19fTsKSDR0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPy5pZCE9PVcuaWQmJihuLmFwaS5xVyghMCksbi5XLmhhcyhXLmlkKSkpe3ZhciBEPW4uVy5nZXQoVy5pZCksYj1uLmFwaS5nZXRWaWRlb0RhdGEoKTtmb3IobGV0IHYgb2YgRClEPXYuY29tcG9zaXRlRW1iYXJnbz8uZW1iYXJnb1N0YXR1c1Rva2VuLGIucFIhPT1EJiYoYi5wUj1ELG4uYXBpLm5DKCkpLFlhVShuLFcpfX07CmZwaT1mdW5jdGlvbihuLFcpe2lmKG4uTj8uaWQ9PT1XLmlkJiYobi5hcGkucVcoITEpLG4uVy5oYXMoVy5pZCkpKXtpZihXPW4uYXBpLmdldFZpZGVvRGF0YSgpKVcucFI9dm9pZCAwO24uYXBpLm5DKCk7WWFVKG4pfX07CkpQTT1mdW5jdGlvbihuLFcpe24uY29tcG9zaXRlVmlkZW9TdGF0ZSE9PW51bGwmJihXLnBsYXliYWNrU3RhdGV8fChXLnBsYXliYWNrU3RhdGU9e30pLFcucGxheWJhY2tTdGF0ZS5jb21wb3NpdGVWaWRlb1N0YXRlPW4uY29tcG9zaXRlVmlkZW9TdGF0ZSl9OwpJcEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uYXBpLmdldFZpZGVvRGF0YSh7dm86ITF9KTtiPy5VKCJhdHJrY2hnIix7aWQ6VyxtOkR9KTtpZihiJiYhYi5JTSgpKXtEPW4uYXBpLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7Zm9yKGxldCB2IG9mIEQpaWYodi5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Vyl7bi5hcGkuRygpLkhKPVc7YnJlYWt9fX07ClNhTT1mdW5jdGlvbihuLFcpe1chPT1uLksmJihuLks9VyxuLkouSigpLFcmJihuLkouTk4obi5hcGksIm1vZHVsZWNyZWF0ZWQiLEQ9Pnt2YXIgYj1wYU0obik7RD09PSJjYXB0aW9ucyImJmI/LnRvcExlZnRDb3JuZXJYIT09dm9pZCAwJiZiPy50b3BMZWZ0Q29ybmVyWSE9PXZvaWQgMCYmYj8ud2lkdGghPT12b2lkIDAmJmI/LmhlaWdodCE9PXZvaWQgMCYmbi5hcGkuVG4oe3RvcDpiLnRvcExlZnRDb3JuZXJZLHJpZ2h0OjEtYi50b3BMZWZ0Q29ybmVyWC1iLndpZHRoLGJvdHRvbToxLWIudG9wTGVmdENvcm5lclktYi5oZWlnaHQsbGVmdDpiLnRvcExlZnRDb3JuZXJYfSl9KSxuLkouTk4obi5hcGksZy5veSgiY29tcG9zaXRlZW1iYXJnbyIpLEQ9PntINHQobixEKX0pLG4uSi5OTihuLmFwaSxnLmR2KCJjb21wb3NpdGVlbWJhcmdvIiksRD0+e2ZwaShuLEQpfSksbi5KLk5OKG4uYXBpLCJoZWFydGJlYXRSZXF1ZXN0IixEPT57SlBNKG4sRCl9KSxuLkouTk4obi5hcGksImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiLAooRCxiKT0+e0lwQyhuLEQsYil9KSxuLkouTk4obi5hcGksIm9uUGxheWJhY2tBdWRpb0NoYW5nZSIsKCk9PntuLmFwaS5uQygpfSkpKX07CllhVT1mdW5jdGlvbihuLFcpe24uTj8uaWQhPT1XPy5pZCYmKG4uTiYmKG4uVy5kZWxldGUobi5OLmlkKSxuLmFwaS5VTyhbbi5OXSwxKSksbi5OPVcpfTsKQVAyPWZ1bmN0aW9uKG4pe249bj8ucXVhbGl0eURldGFpbHN8fFtdO3JldHVybiBnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKT9uOm4ucmVkdWNlKChXLHtrZXk6RCx2YWx1ZTpifSk9PntEJiZiJiYoV1tEXT1iKTtyZXR1cm4gV30se30pfTsKbWdoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVc/MTU2NTk1OjE1MTg3NDtmb3IobGV0IGggb2Ygbil7dmFyIGs9aC52aWRlbztuPXtmb3JtYXRJZDpoLmlkLHF1YWxpdHlMYWJlbDprLnF1YWxpdHlMYWJlbCxxdWFsaXR5OmsucXVhbGl0eSxpc1BsYXlhYmxlOld9O2lmKGs9RFtrLnF1YWxpdHlMYWJlbF0pbi5wYXlnYXRlZFF1YWxpdHlEZXRhaWxzPXtwYXlnYXRlZEluZGljYXRvclRleHQ6ay5wYXlnYXRlZEluZGljYXRvclRleHQsZW5kcG9pbnQ6ay5lbmRwb2ludCx2ZVR5cGU6dix0cmFja2luZ1BhcmFtczprLnRyYWNraW5nUGFyYW1zfTtiLnB1c2gobil9cmV0dXJuIGJ9OwpPNEM9ZnVuY3Rpb24obil7cVQoKSYmKG4ubVE9bi5hcGkuZUcoKSxuLk49bmV3IFk2LG4uVz0yLG4ubVEuU2woInB0X3Bpc2giKSx3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+e0sxVShuKX0pOksxVShuKSl9OwpxVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYW5kcm9pZCYmd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXJ9OwpLMVU9ZnVuY3Rpb24obil7aWYocVQoKSl7bi5tUT1uLmFwaS5lRygpO24ubVEuU2woInB0X3BpcyIpO3RyeXt3aW5kb3cuYW5kcm9pZC53ZWJ2aWV3LmdldEV4cGVyaW1lbnRhbE1lZGlhSW50ZWdyaXR5VG9rZW5Qcm92aWRlcih7Y2xvdWRQcm9qZWN0TnVtYmVyOjg2ODYxODY3Njk1Mn0pLnRoZW4oVz0+e24uSj1XO24uTj8ucmVzb2x2ZSgpO24ubVEuU2woInB0X3BpZiIpfSkuY2F0Y2goVz0+e0dHKFcsInBsYXllcl9zdGFydCIpOwpuLm1RLlNsKCJwdF9waWUiKTtuLk4/LnJlamVjdChXKX0pfWNhdGNoKFcpe0dHKFcsInBsYXllcl9zdGFydF9jYXRjaCIpLG4uYXBpLlUoInBmZXMiLHt9KSxuLk4/LnJlamVjdChXKX19fTsKR0c9ZnVuY3Rpb24obixXKXtuLm1lc3NhZ2UmJmcuR3EoRXJyb3IoYCR7V31fJHtuLm1lc3NhZ2V9YCkpfTsKUGd4PWZ1bmN0aW9uKG4sVyl7aWYobi5KKXt2YXIgRD1XLnZpZGVvSWQ7bi5XPTM7bi5tUS5TbCgicHRfbXMiKTt0cnl7bi5KLnJlcXVlc3RUb2tlbihEKS50aGVuKGI9PntuLm1RLlNsKCJwdF9tZiIpO2lmKGI9Zy5kMShiKSlXLnpmPXtZdDpifX0pLmNhdGNoKGI9PntuLm1RLlNsKCJwdF9tZSIpOwpHRyhiLCJwbGF5ZXJfZ2VuZXJhdGUiKTtuLmhhbmRsZUVycm9yKGIsVyl9KX1jYXRjaChiKXtHRyhiLCJwbGF5ZXJfZ2VuZXJhdGVfY2F0Y2giKSxuLmhhbmRsZUVycm9yKGIsVyl9fX07Clo0eD1mdW5jdGlvbihuLFcpe2cueDYobi5hcGkuRygpKSYmKFc/bi5qLnNob3coKTpuLmouaGlkZSgpKX07CnlQaj1mdW5jdGlvbihuKXtuLlg8bi5KLmxlbmd0aD9VZzIobik6KG4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KDEpLk4oMikmJihuLlY9ITApLG4uTj0hMCxuLlg9MCxuLkoubGVuZ3RoPTAsbi5hcGkuWDkoKSxuLk49ITEpfTsKRUJDPWZ1bmN0aW9uKG4pe3ZhciB7aW50ZXJzdGl0aWFsczpXfT1uLmFwaS5nZXRWaWRlb0RhdGEoKSxEPVtdO2ZvcihsZXQgTCBvZiBXKXtXPUQ7dmFyIGI9Vy5wdXNoLHY9bixrPUwucGxheWVyVmFycyxoPUwua3EseD1MLnRpbWU7bGV0IGU9YHl0by0ke3YuWSsrfWA7eD1uZXcgZy5sNSh4LHgse2lkOmUscHJpb3JpdHk6NyxuYW1lc3BhY2U6Inl0byJ9KTt2LktbZV09e3BsYXllclZhcnM6ayxwbGF5ZXJUeXBlOmh9O2IuY2FsbChXLHgpO1c9bi5hcGkuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KTtXPU9iamVjdC5hc3NpZ24oe29hdXRoX3Rva2VuOlcub2F1dGhUb2tlbn0sTC5wbGF5ZXJWYXJzKTtuLmFwaS5wcmVsb2FkVmlkZW9CeVBsYXllclZhcnMoVyxMLmtxKX1uLmFwaS5naChELDEpfTsKVWcyPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSltuLlhdO2lmKFcpe3ZhciB7cGxheWVyVmFyczpELHBsYXllclR5cGU6Yn09bi5LW1ddO24uTj0hMDtuLlgrKztXPW4uYXBpLmdldFZpZGVvRGF0YSh7cGxheWVyVHlwZToxfSk7Vz1PYmplY3QuYXNzaWduKHtvYXV0aF90b2tlbjpXLm9hdXRoVG9rZW59LEQpO24uYXBpLmxvYWRWaWRlb0J5UGxheWVyVmFycyhXLCEwLGIsITApO24uTj0hMX19OwpvQnI9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7aWYoYXdhaXQgaTRVKG4pKXRyeXtsZXQgdj17a2V5Om5mKFcsInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSIpLHZpZGVvSWQ6VyxsYXN0UGxheWJhY2tQb3NpdGlvblNlY29uZHM6RC50b1N0cmluZygpLGxhc3RVcGRhdGVkQ2xpZW50VGltZXN0YW1wTXM6Yi50b1N0cmluZygpfTthd2FpdCBweXQobi5OLHYpO24uSiE9PVcmJihhd2FpdCB1angobiksbi5KPVcpfWNhdGNoKHYpe24uaGFuZGxlRXJyb3IoIkZhaWxlZCB0byBhZGQgb3IgdXBkYXRlIHBsYXliYWNrIHBvc2l0aW9uIix2KX1lbHNlIG4uYXBpLlUoInZwcGUiLHtwdToiYXUifSl9OwpkZ3c9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvSWQ7aWYoVyl7dmFyIEQ9bi5hcGkuZ2V0Q3VycmVudFRpbWUoKSxiPURhdGUubm93KCk7b0JyKG4sVyxELGIpfX07Cmk0VT1hc3luYyBmdW5jdGlvbihuKXtpZighbi5OKXt0NXx8KHQ1PUk5MigpKTtsZXQgVz1hd2FpdCB0NTtpZighVylyZXR1cm4hMTtuLk49V31yZXR1cm4hMH07CnVqeD1hc3luYyBmdW5jdGlvbihuKXtpZihuLk4pdHJ5e3ZhciBXPWF3YWl0IFVlKG4uTiwidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IiksRD1hd2FpdCBVZShuLk4sIm1haW5WaWRlb0VudGl0eSIpO2xldCBiPW5ldyBTZXQoRC5tYXAoaD0+aC52aWRlb0lkKSksdj1XLmZpbHRlcihoPT4hYi5oYXMoaC52aWRlb0lkKSk7CnYuc29ydCgoaCx4KT0+TnVtYmVyKHgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcyktTnVtYmVyKGgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcykpOwpsZXQgaz1EYXRlLm5vdygpLTg2NEU1O1c9W107Zm9yKEQ9MDtEPHYubGVuZ3RoO0QrKyl7bGV0IGg9dltEXTsoRD49bi5XfHxOdW1iZXIoaC5sYXN0VXBkYXRlZENsaWVudFRpbWVzdGFtcE1zKTxrKSYmaC5rZXkmJlcucHVzaChoLmtleSl9Vy5sZW5ndGg+MCYmKG4uYXBpLlUoInZwcGUiLHtleHA6Vy5sZW5ndGh9KSxhd2FpdCBIaHcobi5OLFcpKX1jYXRjaChiKXtuLmhhbmRsZUVycm9yKCJGYWlsZWQgdG8gZXhwaXJlIHBsYXliYWNrIHBvc2l0aW9uIixiKX19Owp6TFo9ZnVuY3Rpb24obil7L1teYS16QS1aMC05Oy4hXy1dLy50ZXN0KG4pJiYobj1uLnJlcGxhY2UoL1srXS9nLCItIikucmVwbGFjZSgvW15hLXpBLVowLTk7LiFfLV0vZywiXyIpKTtyZXR1cm4gbn07CmxwMj1mdW5jdGlvbihuKXtyZXR1cm4gd2luZG93LlByb2ZpbGVyJiZuZXcgd2luZG93LlByb2ZpbGVyKG4pfTsKalVVPWZ1bmN0aW9uKG4pe3ZhciBXPW4uc2FtcGxlSW50ZXJ2YWwsRD1uLm1heEJ1ZmZlclNpemU7aWYoIW4ucU4oKSYmVz4wJiZEPjAmJiFuLk4mJm4uVzwxRTcpdHJ5e24uWD1scDIoe3NhbXBsZUludGVydmFsOlcsbWF4QnVmZmVyU2l6ZTpEfSksbi5YPy5hZGRFdmVudExpc3RlbmVyKCJzYW1wbGVidWZmZXJmdWxsIixhc3luYygpPT57YXdhaXQgVEt3KG4pO2pVVShuKX0pfWNhdGNoKGIpe24uTj16TFooYi5tZXNzYWdlKSxuLkooKX19OwpUS3c9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2xldCBXPWF3YWl0IG4uWD8uc3RvcCgpO1cmJm4ubG9nVHJhY2UoVyl9Y2F0Y2goVyl7bi5OPXpMWihXLm1lc3NhZ2UpLG4uSigpfX07ClJMdD1mdW5jdGlvbihuLFcsRCl7aWYoRCl7dmFyIGI9IiI7Q2d0KG4sVykmJihiPVcsbi5hcGkuRygpLkhKPVcpO2ImJkJLQyhuLGIpJiYodnRDKG4uYXBpLGIpLFNrKGZFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKT8uVigpKSx2PT57dmFyIGs9YjtGMXcodikhPT1rJiZ3YVMobixNaWkodikse3N0cmluZ1ZhbHVlOmt9KX0pKX19OwpRVVo9ZnVuY3Rpb24obil7QXMoKT8uc2l6ZSYmU2soZkUobi5hcGkuRygpLG4uYXBpLmdldFZpZGVvRGF0YSgpPy5WKCkpLFc9PnsoVz1GMXcoVykpJiZCS0MobixXKSYmKG4uYXBpLkcoKS5ISj1XKX0pfTsKQ2d0PWZ1bmN0aW9uKG4sVyl7bj1uLmFwaS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2ZvcihsZXQgRCBvZiBuKWlmKEQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PVcpcmV0dXJuIEQ7cmV0dXJuIG51bGx9OwpCS0M9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zcGxpdCgiLiIpWzBdIT09IiImJm4uYXBpLmdldFZpZGVvRGF0YSgpPy5JTSgpfTsKRjF3PWZ1bmN0aW9uKG4pe3tuPU1paShuKTtsZXQgVz1BcygpO249Vz9XLmdldChuKTp2b2lkIDB9cmV0dXJuIG4mJm4uc3RyaW5nVmFsdWU/bi5zdHJpbmdWYWx1ZToiIn07CndhUz1mdW5jdGlvbihuLFcsRCl7VmliKFt7c2V0dGluZ0l0ZW1JZDpXLHNldHRpbmdPcHRpb25WYWx1ZTpEfV0pO1NrKG4uWW8oKSxiPT57QkdNKGIsVyxEKX0pfTsKTWlpPWZ1bmN0aW9uKG4pe3ZhciBXPSg0ODQpLnRvU3RyaW5nKCk7biYmKFc9KDQ4MykudG9TdHJpbmcoKSk7cmV0dXJuIFd9OwpWaWI9ZnVuY3Rpb24obil7dmFyIFc9QXMoKTtXfHwoVz1uZXcgTWFwKTtmb3IobGV0IEQgb2YgbilXLnNldChELnNldHRpbmdJdGVtSWQsRC5zZXR0aW5nT3B0aW9uVmFsdWUpO249SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKFcpKTtnLlBCKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIsbiwyNTkyRTMpfTsKcjk9ZnVuY3Rpb24obil7bi5qPW51bGw7bi5LPW51bGw7bi5OTigkUCgib3ZlciIpLG4uWjEpO24uTk4oInRvdWNoc3RhcnQiLG4uWSk7bi5OJiZuLk5OKCRQKCJkb3duIiksbi5WUSl9Owpzcj1mdW5jdGlvbihuKXtuLlguSighbi5OKX07CiRQPWZ1bmN0aW9uKG4pe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ/YE1TUG9pbnRlciR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc3Vic3RyaW5nKDEpfWA6YG1vdXNlJHtufWB9OwpOVD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmY1BiP2cuSksobil8fGRvY3VtZW50OmRvY3VtZW50fTsKYXB4PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEPTA7RDxXLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtEKyspe2xldCBiPVcuY2hhbmdlZFRvdWNoZXNbRF07aWYoYi5pZGVudGlmaWVyPT09bi5LKXJldHVybiBifXJldHVybiBudWxsfTsKblZyPWZ1bmN0aW9uKG4pe2NQYj1ufTsKV3F4PWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVyl7Vz1OdW1iZXIoYi5wbGF5YmFja1JlbGF0aXZlUG9zaXRpb24/LnV0Y1RpbWVNcykvMUUzO2xldCB2PVcrTnVtYmVyKGIuZHVyYXRpb24/LnNlY29uZHMpLGs9YHN0YXRpb25zOiR7RH06JHtXfWA7bi5KLmhhcyhrKXx8KG4uSi5hZGQoayksYi5vbkVudGVyJiYobi5OW2tdPWIub25FbnRlciksbi5hcGkuYWRkVXRjQ3VlUmFuZ2UoayxXLHYsRCwhMSkpfX07CkpKPWZ1bmN0aW9uKG4pe3ZhciBXPS9jb2RlY3M9IihbXiJdKikiLy5leGVjKG4ubWltZVR5cGUpO3JldHVybiBXJiZXWzFdP1dbMV0rIiAoIituLml0YWcrIikiOm4uaXRhZ307CnBhPWZ1bmN0aW9uKG4sVyl7aWYobi5oZWlnaHRQeD09PS0xKXt2YXIgRD1udWxsO3RyeXtEPWcuekYoIkNBTlZBUyIpLG4uVz1ELmdldENvbnRleHQoIjJkIil9Y2F0Y2goaCl7fWlmKG4uVyl7dmFyIGI9bi5OKm4uc2FtcGxlQ291bnQ7bi5qPUQ7bi5qLndpZHRoPWI7bi5qLnN0eWxlLndpZHRoPWAke2J9cHhgO24uZWxlbWVudC5hcHBlbmRDaGlsZChuLmopfWVsc2UgZm9yKG4uc2FtcGxlQ291bnQ9TWF0aC5mbG9vcihuLnNhbXBsZUNvdW50LzQpLG4uTio9NCxEPTA7RDxuLnNhbXBsZUNvdW50O0QrKyliPWcuekYoIlNQQU4iKSxiLnN0eWxlLndpZHRoPWAke24uTn1weGAsYi5zdHlsZS5sZWZ0PWAke24uTipEfXB4YCxuLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9RD1uLmVsZW1lbnQuY2xpZW50SGVpZ2h0fHwyNDtEIT09bi5oZWlnaHRQeCYmKG4uaGVpZ2h0UHg9RCxuLlcmJihEPSh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk+MT8yOjEsbi5qLmhlaWdodD1uLmhlaWdodFB4KgpELG4uai5zdHlsZS5oZWlnaHQ9YCR7bi5oZWlnaHRQeH1weGAsbi5XLnNjYWxlKDEsRCkpKTtmb3IodmFyIHYgb2YgVyl7Vz1uO3ZhciBrPW4uaW5kZXg7Zm9yKEQ9MDtEKzI8Vy5WLmxlbmd0aCYmVy5WW0QrMV08djspRCsrO2I9TWF0aC5taW4oMSwodi1XLlZbRF0pLyhXLlZbRCsxXS1XLlZbRF0pKTtpZihXLlcpVy5XLmZpbGxTdHlsZT1XLktbRF0sVy5XLmZpbGxSZWN0KGsqVy5OLDAsVy5OLFcuaGVpZ2h0UHgpLFcuVy5maWxsU3R5bGU9Vy5LW0QrMV0sVy5XLmZpbGxSZWN0KGsqVy5OLFcuaGVpZ2h0UHgqKDEtYiksVy5OLFcuaGVpZ2h0UHgpO2Vsc2V7az1XLmVsZW1lbnQuY2hpbGRyZW5ba107bGV0IGg9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7Yj1NYXRoLm1pbihXLmhlaWdodFB4LE1hdGgucm91bmQoVy5oZWlnaHRQeCpiKmgpL2gpfHwwO2suc3R5bGUuaGVpZ2h0PWAke2J9cHhgO2suc3R5bGUuYmFja2dyb3VuZENvbG9yPVcuS1tEKzFdO2suc3R5bGUuYm9yZGVyVG9wPQpgc29saWQgJHtXLmhlaWdodFB4LWJ9cHggJHtXLktbRF19YH1uLmluZGV4PShuLmluZGV4KzEpJW4uc2FtcGxlQ291bnR9dj1uLmluZGV4O24uVz9uLlcuY2xlYXJSZWN0KHYqbi5OLDAsbi5OLG4uaGVpZ2h0UHgpOihuPW4uZWxlbWVudC5jaGlsZHJlblt2XSxuLnN0eWxlLmhlaWdodD0iMHB4IixuLnN0eWxlLmJvcmRlclRvcD0iIil9OwpiQng9ZnVuY3Rpb24obixXKXt2YXIgRD0hIW4uTj8uRTUoKTtuLk58fChuLk49bmV3IERRTShuLmFwaSksZy51KG4sbi5OKSxnLnJ2KG4uYXBpLG4uTi5lbGVtZW50LDQpKTtuLk4uTUwoVyk7dmFyIGI9R3Uobi5hcGkuSjUoKSk7YiYmYi5sb2FkZWQmJkQhPT1XJiZiLm5HKCk7VyYmbi5hcGkuVSgic2ZuIix7fSwhMCl9Owp2VjI9ZnVuY3Rpb24obixXKXtpZihuLlc9PT12b2lkIDApcmV0dXJuITE7aWYoVy5zZWVrRGlyZWN0aW9uPT09IlRJTUVMWV9BQ1RJT05fVFJJR0dFUl9ESVJFQ1RJT05fRk9SV0FSRCImJk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzKXtpZihXPW4uVz09PTcyKW4uWD0iVElNRUxZX0FDVElPTl9UUklHR0VSX1NPVVJDRV9LRVlCT0FSRF9GT1JXQVJEX1NFRUtfRklWRV9TRUNPTkRTIjtyZXR1cm4gV31pZihXLnNlZWtEaXJlY3Rpb249PT0iVElNRUxZX0FDVElPTl9UUklHR0VSX0RJUkVDVElPTl9GT1JXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQpe2lmKFc9bi5XPT09NzQpbi5YPSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfU09VUkNFX0tFWUJPQVJEX0ZPUldBUkRfU0VFS19URU5fU0VDT05EUyI7cmV0dXJuIFd9cmV0dXJuIFcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmCk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzP24uVz09PTcxOlcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQ/bi5XPT09NzM6ITF9Owprd3c9ZnVuY3Rpb24obil7bi50aW1lbHlBY3Rpb25zJiYobi5qPW4udGltZWx5QWN0aW9ucy5yZWR1Y2UoKFcsRCk9PntpZihELmN1ZVJhbmdlSWQ9PT12b2lkIDApcmV0dXJuIFc7V1tELmN1ZVJhbmdlSWRdPTA7cmV0dXJuIFd9LHt9KSl9OwpZUD1mdW5jdGlvbihuKXtuLmNKJiZjbGVhclRpbWVvdXQobi5jSik7bi5jSj12b2lkIDA7bi5PPSExfTsKZmE9ZnVuY3Rpb24obil7aWYobi5OIT09dm9pZCAwKXt2YXIgVz0oVz1IOChuLG4uTikpJiZXLm9uQ3VlUmFuZ2VFbnRlcj9nLk40KFcub25DdWVSYW5nZUVudGVyKTp2b2lkIDA7dmFyIEQ9SDgobixuLk4pO2E6aWYoRCYmRC5hZGRpdGlvbmFsVHJpZ2dlcil7Zm9yKGIgb2YgRC5hZGRpdGlvbmFsVHJpZ2dlcilpZihiLnR5cGUmJigwLG4uYmRbYi50eXBlXSk/LihiLmFyZ3M/P3t9KSl7dmFyIGI9ITA7YnJlYWsgYX1iPSExfWVsc2UgYj0hMDtXJiZiJiYoZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsVyksaGJqKG4sRCksbi5qW24uTl0hPT12b2lkIDAmJm4ualtuLk5dKyssbi5PPSEwKX19OwpIOD1mdW5jdGlvbihuLFcpe2lmKG4udGltZWx5QWN0aW9ucylmb3IobGV0IEQgb2Ygbi50aW1lbHlBY3Rpb25zKWlmKEQuY3VlUmFuZ2VJZD09PVcpcmV0dXJuIER9Owp4UXc9ZnVuY3Rpb24obixXKXtpZigobj1IOChuLFcpKSYmbi5vbkN1ZVJhbmdlRXhpdClyZXR1cm4gZy5ONChuLm9uQ3VlUmFuZ2VFeGl0KX07Cmhiaj1mdW5jdGlvbihuLFcpe3ZhciBEPU51bWJlcihXPy5tYXhWaXNpYmxlRHVyYXRpb25NaWxsaXNlY29uZHMpO0QmJihZUChuKSxuLmNKPXNldFRpbWVvdXQoKCk9PntpZihuLk4hPT12b2lkIDAmJlc/LmN1ZVJhbmdlSWQ9PT1uLk4pe24uTz0hMTtuLlg9dm9pZCAwO3ZhciBiPXhRdyhuLG4uTik7YiYmZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsYil9fSxEKSl9Owp2YXIgZmFpPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtyZXR1cm4gaXBbSVsxMF1dKHRoaXMsNCw1ODg5LG4sVyxELGIsdixrKX07CmdWaD1mdW5jdGlvbihuKXtpZihuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSlpZihuPWcudyhuLnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnRpbWVseUFjdGlvbnNPdmVybGF5Vmlld01vZGVsLExxQyksbj8udGltZWx5QWN0aW9ucylyZXR1cm4gbj8udGltZWx5QWN0aW9ucy5tYXAoVz0+Zy53KFcsZWJyKSkuZmlsdGVyKFc9PiEhVyl9OwpKNT1mdW5jdGlvbihuKXtuLk4hPT1udWxsJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUjA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47KG48PDEmMTUpPT0yJiZEW0lbMjVdXSgpO2lmKChuLTh8MTcpPG4mJihuLTZeMjIpPj1uKXt2YXIgaD1EW2JdLHg9aFtJW2teNzM1NF1dKElba143MzA5XSk7eD4wP0VjKGteNzM1NSxrXjEyOTAsdixoW0lba143MzU5XV0oMCx4KSxoW0lba143MzU5XV0oeCsxKSk6aCYmKHZbaF09SVtrXjczNTddKTt2YXIgTD1bXX1pZigobiYyNyk9PW4pe2lmKCEoZ1goRFtJW2teNzUzMl1dKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0OTBdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0NzZdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc1MzNdKSkpdGhyb3cgbmV3IGcuUXgoSVtrXjc0ODBdLERbSVtrXjc1MzJdXSk7aD1scihEW0lba143NTMyXV0pO0RbSVtrXjc1MjddXT1oW0lba143NTQwXV07RFtJW2teNzUxNF1dPWhbSVsxXV0rKGhbSVtrXjc1MDhdXSE9bnVsbD9gOiR7aFtJW2teNzUwOF1dfWA6Cklba143NTI4XSk7eD1oW0lba143NTMyXV07eFtJW2teNzUxOF1dKElba143NTM4XSk/KERbSVtrXjc1MjFdXT1JW2teNzUzOF0seD14W0lba143NTMwXV0oa143NTM5KSk6eFtJW2teNzUxOF1dKElba143NTIzXSk/KERbSVtrXjc1MjFdXT1JW2teNzUyM10seD14W0lba143NTMwXV0oa143NTM2KSk6eFtJW2teNzUxOF1dKElba143NDc1XSk/KHg9aXAoa143NTI5LGteODgwLHgsRCkseD14WzBdKTooRFtJW2teNzUyMV1dPXgseD1JW2teNzUyOF0pO3ZhciBlPURbSVsxXV07RFtJWzFdXT1pcChrXjc1MzMsa143NzcxLHgpO09iamVjdFtJW2teNzUzOV1dKERbSVsxXV0sZzcoMixrXjc1MDAsaFtJW2teNzUxNF1dW0lbMF1dKCkpKTtPYmplY3RbSVtrXjc1MzldXShEW0lbMV1dLGUpO0RbSVsxXV1bSVtrXjc0NzNdXT09PUlba143NTAxXSYmKGRlbGV0ZSBEW0lbMV1dW0lba143NDczXV0sRFtJW2teNzUyMV1dKz1JW2teNzQ4N10pO0RbSVtrXjc1MzJdXT1JW2teNzUyOF07RFtJW2teNzUyMF1dPQpJW2teNzUyOF07RFtJW2teNzU0MF1dJiYoaD1YRChrXjc0OTIsa14zMjg1LEQpKTtMPVtdfShuJjk5KT09biYmKGVYKGteMzQ4NSxrXjQ1NDIsRCksTD1EW0lba14zNTExXV0pO24rMyYxNXx8KEw9ZW5jb2RlVVJJQ29tcG9uZW50KEQpKTtyZXR1cm4gTH07ClhiaD1mdW5jdGlvbihuKXtKNShuKTtuLk49c2V0VGltZW91dCgoKT0+e24uaGlkZSgpfSwzRTMpfTsKSUc9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuVUooKTtpZihXKXtsZXQgRD1uLmFwaS5nZXRQbGF5ZXJTaXplKCk7Vy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke24uTipELndpZHRoKigxLW4uc2NhbGUpfXB4LCAke24uSipELmhlaWdodCooMS1uLnNjYWxlKX1weCkgc2NhbGUoJHtuLnNjYWxlfSlgO1cuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSIwIDAiO1c9bi5pbmRpY2F0b3I7Vy5XLnRleHRDb250ZW50PWAke051bWJlcihuLnNjYWxlLnRvRml4ZWQoMSkpfXhgO1cuTj09PW51bGwmJlhiaChXKTtuLnNjYWxlPjE/bi5pbmRpY2F0b3Iuc2hvdygpOm4uaW5kaWNhdG9yLmhpZGUoKTtXPW4uc2NhbGU+MT8iWk9PTV9TVEFURV9GUkVFIjoiWk9PTV9TVEFURV9PUklHSU5BTCI7VyE9PW4uem9vbVN0YXRlJiYobi56b29tU3RhdGU9VyxnLnpVKCJ3YXRjaFpvb21TdGF0ZUNoYW5nZSIse3pvb21TdGF0ZTpuLnpvb21TdGF0ZX0pKX19OwpxSDE9ZnVuY3Rpb24obil7bj1uLldEKCk7aWYoIW4pcmV0dXJuITE7bj1nLm9FKG4pLmV4cHx8IiI7cmV0dXJuIG4uaW5jbHVkZXMoInhwdiIpfHxuLmluY2x1ZGVzKCJ4cGUiKX07Ckd3VT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2Ygbi5OKCEwKSlpZihxSDEoVykpcmV0dXJuITA7cmV0dXJuITF9Owp0THg9ZnVuY3Rpb24obixXKXtmb3IobGV0IGIgb2Ygbi5OKCEwKSlpZihxSDEoYikpe249Yjt2YXIgRD17cG90YzoiMSIscG90Old9O24udXJsJiYobi51cmw9Zy56ZChuLnVybCxEKSl9fTsKJFF4PWFzeW5jIGZ1bmN0aW9uKG4pe3RyeXthd2FpdCBufWNhdGNoKFcpe319OwpybU09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHF3LEQ9e1siWC1Hb29nLUFwaS1LZXkiXToiQUl6YVN5RHlUNVcwSmg0OUYzMFBxcXR5ZmRmN3BETEZLTEpvQW53In07cmV0dXJuIG5ldyBmVihXLG4sKCk9PkQpfTsKc0xiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVEgobil9OwpOYmI9ZnVuY3Rpb24obil7bi5KJiYobi5YPW5ldyBZNixuLmoucHJvbWlzZS50aGVuKCgpPT57bi5tUS5TbCgicG90X2lmIik7U2wobil9KSl9OwpIQnc9ZnVuY3Rpb24obil7dmFyIFc9KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpfHxuLlMoImh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW4iKSkmJiFuLnVzZUxpdmluZ1Jvb21Qb1Rva2VuO3RyeXtpZihuLlMoImh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlIil8fG4uYXBpLkcoKS5adCgpLk4uUVEocGJNKSlZSGkobik7ZWxzZSBpZihXKXtuLm1RLlNsKCJwb3RfaXNjIik7bGV0IEQ9Zy5kTShuLmFwaS5HKCkuZXhwZXJpbWVudHMsImh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXMiKTtEPyhBNShuKSxnLm4kKCgpPT57bUEobil9LEQpKTpuLlMoImh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iIik/KEE1KG4pLGcuY0IoZy5EeSgpLCgpPT57bUEobil9KSk6bUEobil9fWNhdGNoKEQpe0QgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShEKX19OwpZSGk9YXN5bmMgZnVuY3Rpb24obil7S2Eobiwic3dwb19pIik7QTUobik7U2wobik7dmFyIFc9YXdhaXQgZy5NaChnLkQ2KCkpO0thKG4sInN3cG9fY28iKTtXPWF3YWl0IFp0WihXKTtuLlMoImh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmciKXx8Vy55aCgxNTApO24uSj1XO0thKG4sInN3cG9fY2MiKTskUXgoVy5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCk7S2Eobiwic3dwb19yZSIpfSk7CmcubiQoKCk9PnttQShuKTtLYShuLCJzd3BvX3NpIil9LDApfTsKQTU9ZnVuY3Rpb24obil7bi5XfHwobi5XPW5XKCkpfTsKbUE9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuRygpO24ubVEuU2woInBvdF9pc3QiKTtuLkp8fGZNMShuKTtuLlMoImh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW4iKXx8KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpJiYoU2wobiksTmJiKG4pKSxXPWcuZE0oVy5leHBlcmltZW50cywiaHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zIil8fDAsVz4wJiYobi5ZPVcwKCgpPT57U2wobil9LFcpKSxuLks9ITApfTsKSm14PWZ1bmN0aW9uKG4pe3ZhciBXPWcuWWgobi5leHBlcmltZW50cywiaHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5Iik7cmV0dXJuIFc/VzpnLms2KG4pPyJaMWVsTmtBS0xwU1Izb1BPVU1TTiI6Ik80M3owZHBqaGdYMjBTQ3g0S0FvIn07CkthPWZ1bmN0aW9uKG4sVyl7bi5TKCJodG1sNV93ZWJwb19iZ2VfY3RtcCIpJiZuLmFwaS5VKFcse2h3cG86ISFuLkosaHdwb3I6bi5OfSl9OwpTbD1hc3luYyBmdW5jdGlvbihuKXtpZihuLlMoImh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW4iKSYmIW4udXNlTGl2aW5nUm9vbVBvVG9rZW4pe3ZhciBXPW4uYXBpLkcoKSxEPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKXx8Zy5BcigiVklTSVRPUl9EQVRBIik7RD1XLllyP1cuZGF0YXN5bmNJZDpEO0Q9Zy5ZaChXLmV4cGVyaW1lbnRzLCJodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlbiIpfHxXLmxpdmluZ1Jvb21Qb1Rva2VuSWR8fEQ7Vy5qVz1PcihuLEQpfX07CmZNMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5HKCksRD1KbXgoVyk7RD1ybU0oRCk7dmFyIGI9RC5aai5iaW5kKEQpO0QuWmo9YXN5bmMgaz0+e2s9YXdhaXQgYihrKTtuLmFwaS5VKCJpdHIiLHt9KTtyZXR1cm4ga307CnRyeXt2YXIgdj1zTGIoe1VnOkQsa2Q6e21heEF0dGVtcHRzOjV9LHgzOntWajoiQ0xFbiIsZGlzYWJsZTpXLmV4cGVyaW1lbnRzLkVxKCJodG1sNV93ZWJfcG9fZGlzYWJsZV9yZW1vdGVfbG9nZ2luZyIpLEpwOlRwYihXLmV4cGVyaW1lbnRzKSxybzpoPT57dmFyIHg9SU0yLmdldChoKTt4fHwoeD1uZXcgU0hpKGgpLHg9bmV3IGhxKHgpLElNMi5zZXQoaCx4KSk7cmV0dXJuIHh9LApSaTpuLlMoIndwb19kaXNfbGZkbXMiKT8wOjFFM30sdDY6Zy5HcX0pO2xldCBrPW5ldyBBbXQoe08xOnYsVWc6RCxvbkVycm9yOmcuR3F9KTskUXgoay5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCl9KTsKbi5TKCJodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nIil8fGsueWgoMTUwKTtnLnUobix2KTtnLnUobixrKTtuLko9a31jYXRjaChrKXtnLkdxKGspLHY/LmRpc3Bvc2UoKX19OwpPcj1mdW5jdGlvbihuLFcpe2lmKCFuLkope2lmKG4uVyl0cnl7cmV0dXJuIG4uVyhXKX1jYXRjaChEKXtnLkdxKEQpfXJldHVybiIifXRyeXtuLm1RLlNsKG4uTj8icG90X2NtcyI6InBvdF9jc21zIik7bGV0IEQ9e0dyOiEwLEVSOiEwLHdfOld9O24uUygiaHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZyIpfHwoRC5oRz17YW06VyxBQjohMCxyMzohMH0pO2xldCBiPW4uSi5aUihEKTtuLm1RLlNsKG4uTj8icG90X2NtZiI6InBvdF9jc21mIik7bi5OJiYobi5YPy5yZXNvbHZlKCksbi5YPW51bGwsbi5WJiYobi5WPSExLG4uYXBpLmFwcC5NTigpLmpEKCExKSkpO3JldHVybiBifWNhdGNoKEQpe3JldHVybiBnLkdxKEQpLCIifX07Cktxcj1mdW5jdGlvbihuKXt2YXIgVz1nLnFqKCk7bi5KJiZnLnhvKFcse05IOlFXLFlMOm1RU30pfTsKZy5QOD1mdW5jdGlvbihuLFcsRCl7Zy5hTCgicGJzIixXPz8oMCxnLlIpKCksRD8/bi50aW1lck5hbWUpfTsKZy5PQk09ZnVuY3Rpb24obixXLEQpe3ZhciBiPWcuQ04oVy55USkmJiFXLnlRLlg7aWYoVy55US5lViYmKEZWKFcueVEpfHxXLnlRLlk9PT0ic2hvcnRzcGFnZSJ8fFcueVEuWT09PSJsZWFuYmFjayJ8fGIpJiYhbi5XKXtuLlc9ITA7bi5WPVcuY2xpZW50UGxheWJhY2tOb25jZTtnLkFyKCJUSU1JTkdfQUNUSU9OIil8fGcuU0goIlRJTUlOR19BQ1RJT04iLG4uQi5jc2lQYWdlVHlwZSk7bi5CLmNzaVNlcnZpY2VOYW1lJiZnLlNIKCJDU0lfU0VSVklDRV9OQU1FIixuLkIuY3NpU2VydmljZU5hbWUpO2lmKG4uTil7Yj1uLk4uZUcoKTtmb3IodmFyIHYgb2YgT2JqZWN0LmtleXMoYikpZy5hTCh2LGJbdl0sbi50aW1lck5hbWUpO3Y9UFYoQ0IpKG4uTi5Idik7Zy5ubCh2LG4udGltZXJOYW1lKTt2PW4uTjt2Lko9e307di5Idj17fX1nLm5sKHtwbGF5ZXJJbmZvOnt2aXNpYmlsaXR5U3RhdGU6UFYoakwpKCl9LHBsYXllclR5cGU6IkxBVEVOQ1lfUExBWUVSX0hUTUw1In0sbi50aW1lck5hbWUpOwpuLmohPT1XLmNsaWVudFBsYXliYWNrTm9uY2V8fE51bWJlci5pc05hTihuLkopfHwoZy52UCgiX3N0YXJ0IixuLnRpbWVyTmFtZSk/RD1QVihvTCkoIl9zdGFydCIsbi50aW1lck5hbWUpK24uSjpnLkdxKG5ldyBnLlF4KCJhdHRlbXB0ZWQgdG8gbG9nIGdhcGxlc3MgcGJzIGJlZm9yZSBDU0kgdGltZWxpbmUgc3RhcnRlZCIse2NwbjpXLmNsaWVudFBsYXliYWNrTm9uY2V9KSkpOyFEfHxnLnZQKCJwYnMiLG4udGltZXJOYW1lKXx8Vy5HU3x8Zy5QOChuLEQpfX07ClAkQz1mdW5jdGlvbihuKXtXUCgpO2NiKCJ3YXRjaCIsWyJwYnMiLCJwYnUiXSk7bi50aW1lck5hbWU9IiJ9OwpaQmo9ZnVuY3Rpb24obil7aWYobi5OKXt2YXIgVz1uLk47Vy5KPXt9O1cuSHY9e319bi5XPSExO24uaj12b2lkIDA7bi5KPU5hTn07ClVRaT1mdW5jdGlvbihuLFcpe3ZhciBEPSExLGI9bi5xdWV1ZS5maW5kSW5kZXgodj0+di5ncz09PVcpOwpiPj0wJiYobi5xdWV1ZS5zcGxpY2UoYiwxKSxEPSEwLFcucU4oKXx8Vy51bnN1YnNjcmliZSgicmVxdWVzdGNvbXBsZXRlZCIsbi5XLG4pLG4uVShXLCJkZXFfcXVldWUiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO2I9bi5KLmZpbmRJbmRleCh2PT52LmdzPT09Vyk7CmI+PTAmJihuLkouc3BsaWNlKGIsMSksRD0hMCxXLnFOKCl8fFcudW5zdWJzY3JpYmUoInJlcXVlc3Rjb21wbGV0ZWQiLG4uVyxuKSxuLlUoVywiZGVxX3dhaXQiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO3JldHVybiBEfTsKeW1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLnF1ZXVlKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtmb3IobGV0IFcgb2Ygbi5KKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtuLnF1ZXVlPVtdO24uSj1bXX07CkVWYj1mdW5jdGlvbihuLFcpe24uVShXLCJyZXFfbG9hZCIse3RjcG46Vy5XTigpfHwibm9uZSIsdHlwZToicHJlIn0pO2lmKCFuLnF1ZXVlLnNvbWUoYj0+Yi5ncz09PVcpJiYhbi5KLnNvbWUoYj0+Yi5ncz09PVcpKXt2YXIgRD17Z3M6VywKc3RhcnRlZDohMX07bi5xdWV1ZS5sZW5ndGg8bi5wb2xpY3kuTj9uLnF1ZXVlLnB1c2goRCk6KG4uSi5wdXNoKEQpLG4uVShXLCJ3YWl0Iix7dGNwbjpXLldOKCl8fCJub25lIn0pKTtuLlcoKX19OwppQlM9ZnVuY3Rpb24obil7dmFyIFc9bi5OP24uTi5XTigpfHwibm9uZSI6Im5vbmUiLEQ9bi5xdWV1ZS5tYXAoYj0+Yi5ncy5XTigpfHwibm9uZSIpLmpvaW4oIiwiKTsKcmV0dXJue3BjcG46Vyx3czpuLkoubGVuZ3RoLGNwbnM6RH19OwpaVD1mdW5jdGlvbihuKXtyZXR1cm4hIShuLnBsYXlsaXN0fHxuLmxpc3R8fG4uYXBpKX07Cml2PWZ1bmN0aW9uKG4sVyxELGIpe1c9VyE9PXZvaWQgMD9XOm4uaW5kZXg7Vz1uLml0ZW1zJiZXIGluIG4uaXRlbXM/bi5pdGVtc1tuLm9yZGVyW1ddXTpudWxsO3ZhciB2PW51bGw7VyYmKEQmJihXLmF1dG9wbGF5PSIxIiksYiYmKFcuYXV0b25hdj0iMSIpLHY9bmV3IGcuVXIobi55USxXKSxnLnUobix2KSx2Lk1kPSEwLHYuc3RhcnRTZWNvbmRzPW4uc3RhcnRTZWNvbmRzfHx2LmNsaXBTdGFydHx8MCxuLmxpc3RJZCYmKHYucGxheWxpc3RJZD1uLmxpc3RJZC50b1N0cmluZygpKSk7cmV0dXJuIHZ9Owp1QXQ9ZnVuY3Rpb24obixXKXtpZihXLnZpZGVvJiZXLnZpZGVvLmxlbmd0aCl7bi50aXRsZT1XLnRpdGxlfHwiIjtuLmRlc2NyaXB0aW9uPVcuZGVzY3JpcHRpb247bi52aWV3cz1XLnZpZXdzO24ubGlrZXM9Vy5saWtlcztuLmRpc2xpa2VzPVcuZGlzbGlrZXM7bi5hdXRob3I9Vy5hdXRob3J8fCIiO3ZhciBEPVcubG9vcDtEJiYobi5sb29wPUQpO0Q9aXYobik7bi5pdGVtcz1bXTtmb3IobGV0IGIgb2YgVy52aWRlbyliJiYoYi52aWRlb19pZD1iLmVuY3J5cHRlZF9pZCxuLml0ZW1zLnB1c2goYikpO24ubGVuZ3RoPW4uaXRlbXMubGVuZ3RoOyhXPVcuaW5kZXgpP24uaW5kZXg9VzpuLmZpbmRJbmRleChEKTtuLnNldFNodWZmbGUoITEpO24ubG9hZGVkPSEwO24uTiYmbi5OKCl9fTsKdXY9ZnVuY3Rpb24obixXKXtuLmluZGV4PWcuRmYoVywwLG4ubGVuZ3RoLTEpO24uc3RhcnRTZWNvbmRzPTB9Owp6YnI9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uYygpLGI9bi5HKCksdj17Y29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDp7YW5jZXN0b3JPcmlnaW5zOmIuYW5jZXN0b3JPcmlnaW5zfX19LGs9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7az8uZW5jcnlwdGVkSG9zdEZsYWdzJiYodi5wbGF5YmFja0NvbnRleHQuY29udGVudFBsYXliYWNrQ29udGV4dC5lbmNyeXB0ZWRIb3N0RmxhZ3M9ay5lbmNyeXB0ZWRIb3N0RmxhZ3MpO2s/LmhpZGVJbmZvJiYodi5wbGF5ZXJQYXJhbXM9e3Nob3dpbmZvOiExfSk7Yj1iLmVtYmVkQ29uZmlnO2s9bi5OZDt2YXIgaD1XLmRvY2lkfHxXLnZpZGVvX2lkfHxXLnZpZGVvSWR8fFcuaWQ7aWYoIWgpe2g9Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFoKXt2YXIgeD1XLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZTt4JiYoaD1KU09OLnBhcnNlKHgpKX1oPWg/Zy53KGg/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5wbGF5QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LApnLklRKT8udmlkZW9JZHx8bnVsbDpudWxsfWg9aD9oOnZvaWQgMDt4PW4ucGxheWxpc3RJZD9uLnBsYXlsaXN0SWQ6Vy5saXN0O3ZhciBMPVcubGlzdFR5cGU7aWYoeCl7dmFyIGU7TD09PSJ1c2VyX3VwbG9hZHMiP2U9e3VzZXJuYW1lOnh9OmU9e3BsYXlsaXN0SWQ6eH07b1YyKGIsayxoLFcsZSk7di5wbGF5bGlzdFJlcXVlc3Q9ZX1lbHNlIFcucGxheWxpc3Q/KGU9e3RlbXBsaXN0VmlkZW9JZHM6Vy5wbGF5bGlzdC50b1N0cmluZygpLnNwbGl0KCIsIil9LG9WMihiLGssaCxXLGUpLHYucGxheWxpc3RSZXF1ZXN0PWUpOmgmJihlPXt2aWRlb0lkOmh9LGs/ZS5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWs6YiYmKGUuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iKSx2LnNpbmdsZVZpZGVvUmVxdWVzdD1lKTtiPUxCKGRRWik7dHJ5e2xldCBHPWF3YWl0IGcucl8oRCx2LGIpLHI9bi5HKCk7Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlPUc7ci5jSj0KaE8oVyxnLm80KHIpKTtyLkQ9ci5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiO0cmJkcudHJhY2tpbmdQYXJhbXMmJmcueXIoRy50cmFja2luZ1BhcmFtcyk7cmV0dXJuIG5ldyBnLlVyKHIsVyl9Y2F0Y2goRyl7cmV0dXJuIEcgaW5zdGFuY2VvZiBFcnJvcnx8KEc9RXJyb3IoImIyNTk4MDI3NDgiKSksZy5YaihHKSxufX07Cm9WMj1mdW5jdGlvbihuLFcsRCxiLHYpe2IuaW5kZXgmJih2LnBsYXlsaXN0SW5kZXg9U3RyaW5nKE51bWJlcihiLmluZGV4KSsxKSk7di52aWRlb0lkPUQ/RDoiIjtXP3Yuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1XOm4mJih2LnNlcmlhbGl6ZWRUaGlyZFBhcnR5RW1iZWRDb25maWc9bil9OwpnLmQ5PWZ1bmN0aW9uKG4sVyl7b0cuZ2V0KG4pO29HLnNldChuLFcpfTsKZy5sTVU9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5HKCkuUygiaHRtbDVfdXNlX2hsc19uYXRpdmVfY2FwdGlvbnMiKSYmZy5HbiYmbi56VygpJiYhIW4uSj8uVygpfTsKZy56Rz1mdW5jdGlvbihuLFcpe3JldHVybiBuLkcoKS5TKCJzYWZhcmlfbGl2ZV9kcm1fY2FwdGlvbnNfZml4IikmJm4uZ2V0VmlkZW9EYXRhKCk/Lk1pKCk/ITE6Zy5HbChuLkcoKSkmJiFXLmlzTWFuaWZlc3RsZXNzfTsKZy5sdj1mdW5jdGlvbihuLFcpe3JldHVybiBuLmluZm8uTigpP1c/bi5pbmZvLml0YWc9PT1XOiEwOiExfTsKZy5UYmk9ZnVuY3Rpb24obixXKXtpZihuLk4hPW51bGwmJmcuekcoVyxuLk4pJiZuLk4uTi5yYXdjYyE9bnVsbClyZXR1cm4hMDtpZighbi56VygpKXJldHVybiExO1c9ISFuLk4mJm4uTi5pc01hbmlmZXN0bGVzcyYmT2JqZWN0LnZhbHVlcyhuLk4uTikuc29tZShEPT5nLmx2KEQsIjM4NiIpKTsKbj0hIW4uTiYmIW4uTi5pc01hbmlmZXN0bGVzcyYmZy5tSChuLk4pO3JldHVybiBXfHxufTsKRCQ9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5lJClyZXR1cm4gbi5OaS5nZXQoInV4Iil9OwpURz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFkIil9OwpqbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImNhcHRpb25zIil9OwpDYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFubm90YXRpb25zX21vZHVsZSIpfTsKR3U9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5GZSlyZXR1cm4gbi5OaS5nZXQoInJlbW90ZSIpfTsKQjg9ZnVuY3Rpb24obil7cmV0dXJuIG4uTmkuZ2V0KCJjcmVhdG9yZW5kc2NyZWVuIil9OwpGWT1mdW5jdGlvbihuKXtpZihnLlhDKG4uQS5HKCkpKXJldHVybiBuLk5pLmdldCgia2lkcyIpfTsKZy4kRj1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoIndlYmdsIil9OwpqTGo9ZnVuY3Rpb24obixXKXtuLlc9V307CkMkdz1mdW5jdGlvbihuKXt2YXIgVz1uLkEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGcubE1VKFcsbi5BKXx8ISFXLndhfHwhIVcuY2FwdGlvblRyYWNrcy5sZW5ndGh8fGcuVGJpKFcsbi5BKX07Cnc5PWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdil7dmFyIGssaD1uLk5pLmdldChXKTtpZighaHx8YilpZih2fHwodj0oKT0+e3c5KG4sVyxELGIpfSksa3x8KGs9KCk9PntNVChuLFcpfSksaD1ofHxCYmgobixXLEZxTShuLFcpLHYsaykpbi5OaS5zZXQoVyxoKSxoLmNyZWF0ZSgpLG4uQS5XSigibW9kdWxlY3JlYXRlZCIsVyksRCYmZy5WVShuLkEsIm9uQXBpQ2hhbmdlIil9OwpSRz1mdW5jdGlvbihuKXtpZihuLkEuRygpLkQpcmV0dXJuITE7aWYobj1uLkEuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KS5nZXRQbGF5ZXJSZXNwb25zZSgpKXtsZXQgVz1uLmFkUGxhY2VtZW50cztpZihXKWZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKWlmKFdbRF0uYWRQbGFjZW1lbnRSZW5kZXJlcilyZXR1cm4hMDtpZihuLmFkU2xvdHMpcmV0dXJuITB9cmV0dXJuITF9OwpRWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5BLkcoKS5TKCJodG1sNV9hbGxvd19hc21qcyIpfHxuLkEuRygpLlp0KCkuTi5RUSh3YlMpfTsKRnFNPWZ1bmN0aW9uKG4sVyl7c3dpdGNoKFcpe2Nhc2UgImFkIjpyZXR1cm4gUkcobik7Y2FzZSAiYW5ub3RhdGlvbnNfbW9kdWxlIjpyZXR1cm4hMTtjYXNlICJhc21qcyI6cmV0dXJuIFFZKG4pO2Nhc2UgImNyZWF0b3JlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImVtYmVkIjpyZXR1cm4gZy5vNChuLkEuRygpKTtjYXNlICJlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImhlYXJ0YmVhdCI6cmV0dXJuIG4ueVAoKTtjYXNlICJraWRzIjpyZXR1cm4gZy5YQyhuLkEuRygpKTtjYXNlICJyZW1vdGUiOnJldHVybiBuLkEuRygpLkZlO2Nhc2UgIm1pbmlwbGF5ZXIiOnJldHVybiBuLkEuRygpLnNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkO2Nhc2UgIm9mZmxpbmUiOnJldHVybiBuLkEuRygpLlpoO2Nhc2UgImNhcHRpb25zIjpyZXR1cm4gQyR3KG4pO2Nhc2UgInVucGx1Z2dlZCI6cmV0dXJuIGcuRGYobi5BLkcoKSk7Y2FzZSAidXgiOnJldHVybiBuLkEuRygpLmUkO2Nhc2UgIndlYmdsIjpXPQpuLkEuZ2V0VmlkZW9EYXRhKCk7dmFyIEQ9bi5BLkcoKTtuPWcuamQoKTtsZXQgYj1nLm5OKEQpLHY9Vy5KPy52aWRlbz8uaXNIZHIoKTtEPSFnLnF1KFcpJiYhdiYmRC5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBnLkpEKFcpfHxnLkhUKFcpfHxnLmZBKFcpP258fGI6Zy5rcChXKT9iOkQ/YjohMTtjYXNlICJ5cGMiOnJldHVybiBuLklWKCk7ZGVmYXVsdDpyZXR1cm4gZy5YaihFcnJvcihgTW9kdWxlIGRlc2NyaXB0b3IgJHtXfSBkb2VzIG5vdCBtYXRjaGApKSwhMX19OwpNVD1mdW5jdGlvbihuLFcpe1c9TUxiW1ddO2ZvcihsZXQgRCBvZiBXKW4uQS5HaShEKX07CkJiaD1mdW5jdGlvbihuLFcsRCxiLHYpe3RyeXtpZihEKXtsZXQgaz1vRy5nZXQoVyk7aWYoaylyZXR1cm4gbmV3IGsobi5BKTtSYngobixXLGIsdil9ZWxzZSBNVChuLFcpfWNhdGNoKGspe01UKG4sVyksZy5YaihrKX1yZXR1cm4gbnVsbH07ClJieD1mdW5jdGlvbihuLFcsRCxiKXtpZihuLkQpe3ZhciB2PVFMaVtXXTtXPW4uRCt2O24uSyYmKFcrPWA/Y2I9JHtuLkt9YCk7VkxNKG4sVywoKT0+e24uai5hZGQodik7RC5jYWxsKG4pfSxiKX19OwpjbWI9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi5OaS5nZXQoImFzbWpzIik7aWYoVylyZXR1cm4gVztXPW9HLmdldCgiYXNtanMiKT8/YXdhaXQgbmV3IFByb21pc2UoKEQsYik9PntSYngobiwiYXNtanMiLCgpPT57dmFyIHY9b0cuZ2V0KCJhc21qcyIpO3Y/RCh2KTpiKCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKX0sYil9KTsKaWYoIVcpcmV0dXJuIFByb21pc2UucmVqZWN0KCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKTtXPW5ldyBXKG4uQSk7bi5OaS5zZXQoImFzbWpzIixXKTtXLmNyZWF0ZSgpO3JldHVybiBXfTsKVlk9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpO2lmKG49Vy5TKCJ3ZWJfcGxheWVyX2RlZmVyX2FkIikpe2lmKGcuamooVy5JSiwiYWQiKXx8dzYoVyl8fFcuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkpdmFyIEQ9ITE7ZWxzZXtuPVcuc3RhcnRTZWNvbmRzO3ZhciBiPVcucGxheWVyUmVzcG9uc2U/LmFkUGxhY2VtZW50cztpZihXPWIpe1c9TnVtYmVyLk1BWF9WQUxVRTtmb3IoRCBvZiBiKWlmKGI9RC5hZFBsYWNlbWVudFJlbmRlcmVyKXtsZXQgdj1iLmNvbmZpZz8uYWRQbGFjZW1lbnRDb25maWc7dj8ua2luZD09PSJBRF9QTEFDRU1FTlRfS0lORF9NSUxMSVNFQ09ORFMiJiYoYj0oTnVtYmVyKHY/LmFkVGltZU9mZnNldD8ub2Zmc2V0U3RhcnRNaWxsaXNlY29uZHMpfHwwKS1OdW1iZXIoYi5yZW5kZXJlcj8uYWRCcmVha1NlcnZpY2VSZW5kZXJlcj8ucHJlZmV0Y2hNaWxsaXNlY29uZHN8fDApLGI8VyYmKFc9YikpfVc9Vy01RTM8PW4qMUUzfUQ9Vz8hMTohMH1uPQpEfXJldHVybiBufTsKYU1VPWFzeW5jIGZ1bmN0aW9uKG4pe3JldHVybiBhd2FpdCBjbWIobil9OwpuRGo9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpLEQ9bi5PJiYhVy5pc0lubGluZVBsYXliYWNrTm9BZDtuLkEuUygiaHRtbDVfZGVmZXJfbW9kdWxlc19vbl9hZHNfb25seSIpJiYhVy5pc0FkKCkmJihEPSExKTtyZXR1cm4gRH07CmcuYzg9ZnVuY3Rpb24obil7VlkobikmJm4uWCgpO25EaihuKSYmKHc5KG4sImNhcHRpb25zIiwhMCksdzkobiwiZW5kc2NyZWVuIiksbi5OKCksdzkobiwiY3JlYXRvcmVuZHNjcmVlbiIsITApKX07CmFHPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgV0VpKXtsZXQgdj1uLk5pLmdldChiKTt2JiYoRHx8di5oVihXKSkmJihnLkNwKHYpLG4uTmkuZGVsZXRlKGIpKX1uLkEuV0ooIm1vZHVsZXNEZXN0cm95ZWQiLFcpfTsKRHJaPWZ1bmN0aW9uKG4pe3JldHVybiBKZSgoKT0+bi5OaS5nZXQoImFzbWpzIik/P2FNVShuKSl9OwpWTE09ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNDUklQVCIpLGs9ITE7Zm9yKGxldCBIPTA7SDx2Lmxlbmd0aDtIKyspe2xldCBBPXZbSF07aWYoQS5zcmM9PT1XfHxBLmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiKT09PVcpdmFyIGg9QX1ofHwoaD1nLnpGKCJTQ1JJUFQiKSxoLnNldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiLFcpLGs9ITApO3ZhciB4PSgpPT57bi5xTigpfHxELmNhbGwobil9LEw9KCk9PntuLnFOKCl8fGIuY2FsbChuKX0sZT1oLm9ubG9hZDsKaC5vbmxvYWQ9SD0+e2cuVDcoeCk7ZSYmZS5hcHBseSh3aW5kb3csW0hdKX07CnZhciBHPWgub25lcnJvcjtoLm9uZXJyb3I9SD0+e2lmKE1hdGgucmFuZG9tKCk8LjAxKXtsZXQgQT1uZXcgZy5ReCgiVW5hYmxlIHRvIGxvYWQgcGxheWVyIG1vZHVsZSIsVyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKTtnLlhqKEEpfWcuVDcoTCk7RyYmRyhIKX07CnZhciByPWgsTj1yLm9ucmVhZHlzdGF0ZWNoYW5nZTtyLm9ucmVhZHlzdGF0ZWNoYW5nZT1IPT57c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6Zy5UNyh4KX1OJiZOKEgpfTsKayYmKCh2PW4uQS5HKCkuY3NwTm9uY2UpJiZoLnNldEF0dHJpYnV0ZSgibm9uY2UiLHYpLGcuUE0oaCxmdyhXKSksdj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5ib2R5LHYuaW5zZXJ0QmVmb3JlKGgsdi5maXJzdENoaWxkKSxuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57aC5wYXJlbnROb2RlJiZoLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCl9KSl9OwpXYz1mdW5jdGlvbihuLFcsRCl7bi5xTigpO3ZhciBiPW5PKG4pO0Q/KG4uSnw9VyxXJjEmJm4uRC5zdGFydCgpLFcmMiYmbi5PLnN0YXJ0KCksVyYyMDQ4JiZuLmNKLnN0YXJ0KCkpOihuLkomPX5XLFcmMSYmbi5ELnN0b3AoKSxXJjImJm4uTy5zdG9wKCksVyYyMDQ4JiZuLmNKLnN0b3AoKSxXJjUxMiYmbi50dy5zdG9wKCkpO24uSiY1MTImJiEobi5KJjEyOCkmJmcuSmEobi50dyxuLlZRKTtXPW5PKG4pO2IhPT1XJiZuLldKKCJhdXRvaGlkZXVwZGF0ZSIsVyl9OwpibFo9ZnVuY3Rpb24obil7V2Mobiw0LCExKTtuLksmJihuLk4ud0gobi5LKSxuLks9bnVsbCxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKTtuLlcmJihuLk4ud0gobi5XKSxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKX07Cm5PPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSjtuLmFwaS5HKCkuZlImJihXJj0tMTI5KTtuLmFwaS5TKCJ3ZWJfcGxheWVyX2RlZmF1bHRfYXV0b2hpZGUiKSYmKFcmPS01MTMpO3JldHVybiFXfTsKdkQxPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9bi5hcGkuRygpO2ZvcihsZXQgayBvZiBXKXtpZigha3x8ayBpbnN0YW5jZW9mIGcuVXImJiFrLnZpZGVvSWQpY29udGludWU7dmFyIGI9bi5hcGkubGooKS5nZXRQbGF5ZXJTaXplKCk7dmFyIHY9Zy5IXygpO1c9Yi53aWR0aCp2O3YqPWIuaGVpZ2h0O2lmKFc+MTI4MHx8dj43MjApaWYoYj1rLkdCKCJtYXhyZXNkZWZhdWx0LmpwZyIpKWJyZWFrO2lmKFc+NjQwfHx2PjQ4MClpZihiPWsuR0IoIm1heHJlc2RlZmF1bHQuanBnIikpYnJlYWs7aWYoVz4zMjB8fHY+MTgwKWlmKGI9ay5HQigic2RkZWZhdWx0LmpwZyIpfHxrLkdCKCJocWRlZmF1bHQuanBnIil8fGsuR0IoIm1xZGVmYXVsdC5qcGciKSlicmVhaztpZihiPWsuR0IoImRlZmF1bHQuanBnIikpYnJlYWt9Zy4kNihEKSYmKEQ9bmV3IEltYWdlLEQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt5U2goKX0pLEQuc3JjPWI/YjoiIixuLmFwaS5lRygpLnRpY2soImZ0ciIpKTsKbi5ZLnN0eWxlLmJhY2tncm91bmRJbWFnZT1iP2B1cmwoJHtifSlgOiIifTsKa1cxPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8bi5rZXlzLmxlbmd0aDtXKyspbi53SChuLmtleXNbV10pO24ua2V5cz1bXX07CmJzPWZ1bmN0aW9uKG4sVyxELGI9ITEsdj0hMSxrLGg9ITApe3Z8fCh2PW4uYXBpLkcoKS5KKTt2YXIgeD1uLmFwaS5nZXRWaWRlb0RhdGEoKTtXPWVCKGcuRHVbV118fCIiLGI/e0NQTjp4LmNsaWVudFBsYXliYWNrTm9uY2V9Ont9KS5zcGxpdCgvXCQoQkVHSU58RU5EKV9MSU5LLyk7Yj1bXTtrJiZiLnB1c2goe1o6ImgyIixPcTprfSk7Yi5wdXNoKFdbMF0pO2gmJmIucHVzaCh7WjoiYnIifSk7Yi5wdXNoKHtaOiJhIix4YTp7aHJlZjpELHRhcmdldDp2PyJfYmxhbmsiOm51bGx9LEp3OiJ5dHAtZXJyb3ItbGluayIsT3E6V1syXX0pO24uaj0hMDtiLnB1c2goV1s0XSk7cmV0dXJue1o6InNwYW4iLFhGOmJ9fTsKdmM9ZnVuY3Rpb24obil7bj1uLnNwbGl0KGgwWik7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0zKXtsZXQgYj1uW0QrK10uc3BsaXQoIlxuIik7Vy5wdXNoKGJbMF0pO2ZvcihsZXQgdj0xO3Y8Yi5sZW5ndGg7disrKVcucHVzaCh7WjoiYnIifSksVy5wdXNoKGJbdl0pO0Q8bi5sZW5ndGgmJlcucHVzaCh7WjoiYSIseGE6e2hyZWY6bltEXSx0YXJnZXQ6bltEKzFdfSxPcTpuW0QrMl19KX1yZXR1cm57Wjoic3BhbiIsWEY6V319Owp4cnQ9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKyl7bGV0IHY9bi5OTihEW2JdLCJjbGljayIsVyk7bi5rZXlzLnB1c2godil9fTsKa0k9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9TnVtYmVyKFcuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJsYXktb3JkZXIiKSl8fDAsaz0wLGg9bnVsbDtmb3IobGV0IHggb2YgRC5jaGlsZHJlbil7aWYoYiYmeC5jbGFzc0xpc3QuY29udGFpbnMoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSl7aD14O2JyZWFrfWlmKHY8KE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIikpfHwwKSlicmVhaztrKyt9aD9rSShuLFcsaCwhMSk6Yj8obj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTGlzdC5hZGQoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIixgJHt2fWApLGg9bixoLmFwcGVuZENoaWxkKFcpLGcuanAoRCxoLGspKTpnLmpwKEQsVyxrKX07CmUwQz1mdW5jdGlvbihuLFcpe3ZhciBEPXREKFcpLGI9JHAoVyk7Vy5EbCYmbi5BLkpuKCl8fChuLk58fG4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iik/Vy52aWRlb0lkJiZXLnZpZGVvSWQhPT1uLnZpZGVvSWQmJihuLk4/LmplKCksIW4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iil8fEQmJmI/KG4udmlkZW9JZD1XLnZpZGVvSWQsbi5LPSEhYixuLksmJkQmJkxFcihuLGIsRCxXKSk6bi5LPSExKTpEJiZiJiYhbi5BLlMoImVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXgiKSYmTEVyKG4sYixELFcpKX07CmdEeD1mdW5jdGlvbihuLFcpe24uTiYmKFcuTig4KSYmbi5LPyhuLks9ITEsbi5XP24uVy5zdGFydCgpOm4uaigpKTooVy5OKDIpfHxXLk4oNjQpKSYmbi52aWRlb0lkJiYobi52aWRlb0lkPW51bGwsbi5XJiZuLlcuc3RvcCgpKSl9OwpMRXI9ZnVuY3Rpb24obixXLEQsYil7bi5OJiZuLk4uZGlzcG9zZSgpO24uTj1uZXcgZy5mXyhuLnV5LFcsbik7Zy51KG4sbi5OKTtiPUdlKGIpO1c9Yj8ubmF2aWdhdGlvbkVuZHBvaW50O2I9Yj8uaWNvbj8uaWNvblR5cGU7dmFyIHY9Zy53KFcsZy5Qaik/LnVybDtuLkEuc2V0VHJhY2tpbmdQYXJhbXMobi5lbGVtZW50LFc/LmNsaWNrVHJhY2tpbmdQYXJhbXN8fG51bGwpO1cmJiF2PyhuLmlubmVydHViZUNvbW1hbmQ9Vyx2PSIjISIpOm4uaW5uZXJ0dWJlQ29tbWFuZD1udWxsO24uVi51cGRhdGUoe2hyZWY6dj8/IiMiLHRleHQ6RCxpY29uOmI9PT0iTU9ORVlfSEFORCI/e1o6InN2ZyIseGE6e2ZpbGw6Im5vbmUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik02IDlINVY1VjRINkgxOVY1SDZWOVpNMjEuNzIgMTYuMDRDMjEuNTYgMTYuOCAyMS4xNSAxNy41IDIwLjU1IDE4LjA1QzIwLjQ3IDE4LjEzIDE4LjQyIDIwLjAxIDE0LjAzIDIwLjAxQzEzLjg1IDIwLjAxIDEzLjY3IDIwLjAxIDEzLjQ4IDIwQzExLjMgMTkuOTIgOC41MSAxOS4yMyA1LjQgMThIMlYxMEg1SDZIN1Y2SDIxVjEzSDE2LjcyQzE2LjM3IDEzLjU5IDE1Ljc0IDE0IDE1IDE0SDEyLjdDMTMuMDEgMTQuNDYgMTMuNTYgMTUgMTQuNSAxNUgxNS4wMkMxNi4wNyAxNSAxNy4xIDE0LjY0IDE3LjkyIDEzLjk4QzE4LjgyIDEzLjI2IDIwLjAzIDEzLjIyIDIwLjkxIDEzLjg0QzIxLjU4IDE0LjMyIDIxLjkgMTUuMTkgMjEuNzIgMTYuMDRaTTE1IDEwQzE1IDkuNDUgMTQuNTUgOSAxNCA5QzEzLjQ1IDkgMTMgOS40NSAxMyAxMEgxNVpNMjAgMTFDMTkuNDUgMTEgMTkgMTEuNDUgMTkgMTJIMjBWMTFaTTE5IDdDMTkgNy41NSAxOS40NSA4IDIwIDhWN0gxOVpNOCA4QzguNTUgOCA5IDcuNTUgOSA3SDhWOFpNOCAxMEgxMkMxMiA4LjkgMTIuOSA4IDE0IDhDMTUuMSA4IDE2IDguOSAxNiAxMFYxMC4yOEMxNi41OSAxMC42MyAxNyAxMS4yNiAxNyAxMkgxOEMxOCAxMC45IDE4LjkgMTAgMjAgMTBWOUMxOC45IDkgMTggOC4xIDE4IDdIMTBDMTAgOC4xIDkuMSA5IDggOVYxMFpNNSAxMy41VjExSDNWMTdINVYxMy41Wk0yMC4zMyAxNC42NkMxOS44MSAxNC4yOSAxOS4xIDE0LjMxIDE4LjYgMTQuNzFDMTcuNTUgMTUuNTYgMTYuMjkgMTYgMTUuMDIgMTZIMTQuNUMxMi42MiAxNiAxMS42NyAxNC40NiAxMS40MyAxMy42NEwxMS4yNCAxM0gxNUMxNS41NSAxMyAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNS41NSAxMSAxNSAxMUg2VjEzLjVWMTcuMTZDOC45IDE4LjI5IDExLjUgMTguOTMgMTMuNTIgMTlDMTcuODUgMTkuMTUgMTkuODUgMTcuMzQgMTkuODcgMTcuMzJDMjAuMzMgMTYuOSAyMC42MiAxNi40IDIwLjc0IDE1Ljg0QzIwLjg0IDE1LjM3IDIwLjY4IDE0LjkxIDIwLjMzIDE0LjY2WiIsCmZpbGw6IndoaXRlIn19XX06bnVsbCxjaGV2cm9uOnZ8fG4uaW5uZXJ0dWJlQ29tbWFuZD9nLk9GKCk6bnVsbH0pfTsKWFBpPWZ1bmN0aW9uKG4pe24uVnx8KG4uVj0hMCxuLmFwaS5sb2dWaXNpYmlsaXR5KG4uZWxlbWVudCwhMCkpfTsKcW8yPWZ1bmN0aW9uKG4pe3ZhciBXPW9LKCkmJkV6KCk+PTY3JiYhbi5hcGkuRygpLnR3O249bi5hcGkuRygpLmRpc2FibGVPcmdhbmljVWk7cmV0dXJuIWcudWIoInRpemVuIikmJiFnLldYJiYhVyYmIW59OwpoaD1mdW5jdGlvbihuKXt2YXIgVz0hIW4uVjImJiFYeihuLmFwaSkmJiFuLmt0O3ZhciBEPW4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yLGI9bi5hcGkuRygpO0Q/KGI9VEcobi5hcGkuSjUoKSksVz1XJiZiLmpRKCkpOihEPWIuUygid2ViX3BsYXllcl9pbWF4X3RoZWF0ZXJfbW9kZSIpJiZuLmFwaS5RMCgpJiYhbi5hcGkuaXNJbmxpbmUoKSxXPVcmJihiLnNafHxEfHxuLmFwaS5pc0Z1bGxzY3JlZW4oKXx8Yi5neSkpO24uQTAhPT1XJiYobi5BMD1XLGcuaUgobi5hcGkuZ2V0Um9vdE5vZGUoKSwieXRwLWhpZGUtaW5mby1iYXIiLCFXKSl9OwpHV2I9ZnVuY3Rpb24obixXKXtpZighVylyZXR1cm4hMTt2YXIgRD1uLmFwaS5oNSgpO2lmKEQuSygpJiYoRD1ELmVfKCkpJiZnLkJ4KEQsVykpcmV0dXJuIEQuY29udHJvbHM7Zm9yKEQ9MDtEPG4uSW4ubGVuZ3RoO0QrKylpZihnLkJ4KG4uSW5bRF0sVykpcmV0dXJuITE7Zm9yKGxldCBiIG9mIG4ua1gpaWYoZy5LXyhXLGIpKXJldHVybiExO3JldHVybiBXPT09bi5hcGkuZ2V0Um9vdE5vZGUoKT8hMTohMH07CnRrMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpPT09MiYmKG4uYXBpLmxqKCkud0Z8fG4uYXBpLkcoKS5kaXNhYmxlT3JnYW5pY1VpKSYmbi5hcGkuRygpLmomJnhJJiZ2aj49MTE7bj1uLmFwaS5HKCkudHcmJnhJO3JldHVybiEoIVcmJiFuKX07CkxPPWZ1bmN0aW9uKG4sVyl7bi5qSi5MaigpO2lmKG4uYlcmJm4uUCQpbi5QJD0hMTtlbHNlIGlmKCFuLmFwaS5HKCkuc1YmJiFuLmVoKCkpe2xldCBEPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCk7RC5OKDIpJiZxcChuLmFwaSl8fG4uc2hvd1BsYXliYWNrSWNvbihEKTtXJiYkck0obixXKT9yZVMobik6IW4uYXBpLkcoKS5SdHx8RC5pc0N1ZWQoKXx8RC5OKDEwMjQpP24uUGIoKTpuLmVOLmlzQWN0aXZlKCk/bi5lTi5zdG9wKCk6bi5lTi5zdGFydCgpfX07CmVzPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIW4uYXBpLmlzSW5saW5lKCkmJiFHV2IobixBTyhXKSkmJmYyKFcpfTsKZ2Y9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5hcGkuZ2V0VmlkZW9EYXRhKCk/Lm11dGVkQXV0b3BsYXkmJlcudGFyZ2V0Py5jbGFzc05hbWU/LmluY2x1ZGVzKCJ5dHAtaW5mby1wYW5lbCIpPyExOmYyKFcpJiZuLmFwaS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCk/KG4uYXBpLnVuTXV0ZSgpLG4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yJiZuLmFwaS5wbGF5VmlkZW8oKSxXPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCksIVcuTig0KXx8Vy5OKDgpfHxXLk4oMil8fG4uUGIoKSwhMCk6ITF9Owokck09ZnVuY3Rpb24obixXKXtpZighbi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uIikpcmV0dXJuITE7dmFyIEQ9bi5hcGkuZ2V0Um9vdE5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihXLnRhcmdldFRvdWNoZXMmJlcudGFyZ2V0VG91Y2hlcy5sZW5ndGgpe3ZhciBiPVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYO3ZhciB2PVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZfWVsc2UgVy5jbGllbnRYIT09dm9pZCAwJiYoYj1XLmNsaWVudFgsdj1XLmNsaWVudFkpO3JldHVybiBiIT09dm9pZCAwJiZ2IT09dm9pZCAwJiYoVz1iLUQubGVmdCxEPXYtRC50b3Asbj1uLmFwaS5nZXRQbGF5ZXJTaXplKCksRD49bi5oZWlnaHQtNDAmJlc+PW4ud2lkdGgtNDApPyEwOiExfTsKcmVTPWZ1bmN0aW9uKG4pe2lmKG4uYXBpLkcoKS5SdCYmbi5hcGkuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSE9PTMpdHJ5e24uYXBpLnRvZ2dsZUZ1bGxzY3JlZW4oKS5jYXRjaChXPT57c2pTKFcpfSksbi5hcGkuUygid2ViX3BsYXllcl9mdWxsc2NyZWVuX2RvdWJsZV9jbGlja192ZSIpJiZuLmFwaS5sb2dDbGljayhuLmFwaS5saigpLmVsZW1lbnQpfWNhdGNoKFcpe3NqUyhXKX19OwpzalM9ZnVuY3Rpb24obil7U3RyaW5nKG4pLmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIik/Zy5HcShuKTpnLlhqKG4pfTsKTl9oPWZ1bmN0aW9uKG4sVyxEKXtuLmFwaS5pc0Z1bGxzY3JlZW4oKT9EPDEtVyYmbi5hcGkudG9nZ2xlRnVsbHNjcmVlbigpOkQ+MStXJiZuLmFwaS50b2dnbGVGdWxsc2NyZWVuKCl9OwpZb0M9ZnVuY3Rpb24oKXtwUGp8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihYdz8idG91Y2hzdGFydCI6ImNsaWNrIiwoKT0+e2ZvcihsZXQgbj1xSy5sZW5ndGg7bjw0O24rKyl7bGV0IFc9Zy56RigiVklERU8iKTtXLmxvYWQoKTtxSy5wdXNoKG5ldyBnLkdWKFcpKX19LHtjYXB0dXJlOiEwLApwYXNzaXZlOiEwfSkscFBqPSEwKX07CnRoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuZ2V0VmlkZW9EYXRhKCksaz1XLmdldFZpZGVvRGF0YSgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5pc0Vycm9yKCkpcmV0dXJue21zZzoicGxheWVyLWVycm9yIn07dmFyIGg9ay5XO2lmKFcub3QoKT5iLzFFMysxKXJldHVybnttc2c6ImluLXRoZS1wYXN0In07aWYoay5pc0xpdmVQbGF5YmFjayYmIWlzRmluaXRlKGIpKXJldHVybnttc2c6ImxpdmUtaW5maW5pdGUifTtiPVcuaDUoKTt2YXIgeD1udWxsO2ImJih4PWIuaXNWaWV3KCk/Yi5tZWRpYUVsZW1lbnQuVigpOmIuVigpKTtpZih4JiZ4Lmxlbmd0aD4xMiYmZy5xdSh2KSlyZXR1cm57bXNnOiJwbGF5ZWQtcmFuZ2VzIn07aWYoIXYuVylyZXR1cm4gbnVsbDtpZighaClyZXR1cm57bXNnOiJuby1wdmQtZm9ybWF0cyJ9O2lmKCF2LlcuTigpfHwhaC5OKCkpcmV0dXJue21zZzoibm9uLWRhc2gifTtiPWgudmlkZW9JbmZvc1swXTt4PXYuVy52aWRlb0luZm9zWzBdO24uVEMmJkFKKGspJiYKKGI9Vy5veSgpLHg9RC5veSgpKTtpZighYnx8IXgpcmV0dXJue21zZzoibm8tdmlkZW8taW5mbyJ9O2lmKG4uTyYmKGIuTVcoKXx8eC5NVygpKSlyZXR1cm57bXNnOiJhdjEifTtXPW4uWSYmay5OUCgpJiZWVCgpO2lmKHguY29udGFpbmVyVHlwZSE9PWIuY29udGFpbmVyVHlwZSlpZihXKWsuVSgic2dhcCIse2llcnI6ImNvbnRhaW5lciJ9KTtlbHNlIHJldHVybnttc2c6ImNvbnRhaW5lciJ9O2lmKG4uRCYmIVcmJih4LklCIT09Yi5JQnx8eC5JQj09PSIifHxiLklCPT09IiIpKXJldHVybnttc2c6ImNvZGVjIn07aWYobi5jSiYmeC52aWRlbyYmYi52aWRlbyYmTWF0aC5hYnMoeC52aWRlby53aWR0aC94LnZpZGVvLmhlaWdodC1iLnZpZGVvLndpZHRoL2IudmlkZW8uaGVpZ2h0KT4uMDEpcmV0dXJue21zZzoicmF0aW8ifTtpZihnLnF1KGspJiZnLnF1KHYpKXJldHVybnttc2c6ImNvbnRlbnQtcHJvdGVjdGlvbiJ9O2g9aC5KWzBdO3Y9di5XLkpbMF07RD1oLmF1ZGlvO3ZhciBMPXYuYXVkaW87CmlmKEQuc2FtcGxlUmF0ZSE9PUwuc2FtcGxlUmF0ZSYmIWcub2QpaWYoVylrLlUoInNnYXAiLHtpZXJyOiJzcmF0ZSJ9KTtlbHNlIHJldHVybnttc2c6InNhbXBsZS1yYXRlIixjaTpoLml0YWcsY3I6RC5zYW1wbGVSYXRlLG5pOnYuaXRhZyxucjpMLnNhbXBsZVJhdGV9O3JldHVybihELm51bUNoYW5uZWxzfHwyKSE9PShMLm51bUNoYW5uZWxzfHwyKT97bXNnOiJjaGFubmVsLWNvdW50In06bi50dyYmay5OUCgpJiZiLnZpZGVvLmZwcyE9PXgudmlkZW8uZnBzP3ttc2c6ImZwcyJ9Om51bGx9OwpIbEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uZ2V0VmlkZW9EYXRhKCksdj1XLmdldFZpZGVvRGF0YSgpO2lmKCFiLkcoKS5zdXBwb3J0c0dhcGxlc3NTaG9ydHMoKSlyZXR1cm57bnE6ImVudiJ9O2lmKCEoRC5iZCYmIShiLkd1JiYhYi5pc0FkKCl8fHYuR3UmJiF2LmlzQWQoKSl8fEQuViYmKCFiLkd1fHxiLmlzQWQoKSkmJiF2Lkd1fHxELksmJighdi5HdXx8di5pc0FkKCkpJiYhYi5HdXx8Yi52SigpJiZ2LnZKKCkmJiFiLmlzQWQoKXx8IWIuR3UmJiF2Lkd1KSlyZXR1cm57bnE6ImF1dG9wbGF5In07aWYoYi5lbmRTZWNvbmRzPjApcmV0dXJue25xOiJlbmRjciJ9O2lmKCFiLkspcmV0dXJue25xOiJjbGllbnQifTtpZighbi5kVCgpKXJldHVybntucToibm8tZW1wdHkifTtuPXRoKEQsbixXLEluZmluaXR5KTtyZXR1cm4gbiE9bnVsbD97bnE6bi5tc2d9Om51bGx9OwokST1mdW5jdGlvbihuKXtuLkomJm4uTiYmKG4uSi51bnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsbi5YLG4pLG4uTi51bnN1YnNjcmliZSgiZGF0YWxvYWRlZCIsbi5YLG4pKX07CkFldD1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZlloO1cuWT1uLlMoImg1X2dhcGxlc3Nfc3VwcG9ydF90eXBlc19kaWZmIik7Vy50dz0hMTtXLlRDPW4uUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4Iik7Vy5PPW4uUygiaHRtbDVfZ2FwbGVzc19kaXNhYmxlX29uX2F2MSIpJiYhbi5TKCJodG1sNV9nYXBsZXNzX2VuYWJsZV9vbl9hdjEiKTtXLkQ9bi5TKCJodG1sNV9nYXBsZXNzX2NoZWNrX2NvZGVjX2RpZmZfc3RyaWN0bHkiKTtXLmJkPW4uUygiaHRtbDVfZ2FwbGVzc19vbl9hZF9hdXRvcGxheSIpO1cuY0o9bi5TKCJodG1sNV9nYXBsZXNzX2Rpc2FibGVfZGlmZl9hc3BlY3RfcmFkaW8iKTtXLlY9bi5TKCJodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX2FkX3RvX3ZpZGVvX29ubHkiKSYmIW4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIik7Vy5XPW4uUygiaHRtbDVfcHNldWRvZ2FwbGVzc19zaG9ydHNfc2Vla190b19uZXh0X3N0YXJ0Iik7Clcuaj1uLlp0KCkuTi5RUShKZTEpO1cuSz1uLlMoImh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seSIpO1cuTj1OdW1iZXIobi5adCgpLk4uUVEoSVlpKSk7Vy5KPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kcyIpPz9XLko7Vy5YPU51bWJlcihuLlp0KCkuTi5RUShTb1MpPz9XLlgpO3JldHVybiBXfTsKcmY9ZnVuY3Rpb24obixXKXtXPD1uLnN0YXR1cy5zdGF0dXN8fChuLnN0YXR1cz17c3RhdHVzOlcsZXJyb3I6bnVsbH0sVz09PTUmJm4uQ1IucmVzb2x2ZSgpKX07Cm1yaj1mdW5jdGlvbihuLFcsRCxiKXtuPW4uaXNWaWV3KCk/bi5tZWRpYUVsZW1lbnQ6bjtyZXR1cm4gbmV3IGcuc2cobixXLEQsYil9OwpLRWg9YXN5bmMgZnVuY3Rpb24obil7aWYobi5xTigpKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8ImRpc3Bvc2VkIikpO24udGltZW91dC5zdGFydCgpO2F3YWl0IG4uQ1I7dmFyIFc9bi5OLmg1KCk7aWYoVy5pc0VuZGVkKCkpcmV0dXJuIG4uS2coImVuZGVkX2luX2ZpbmlzaFRyYW5zaXRpb24iKSxQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8IiIpKTtpZighbi5BYnx8IW42KG4uQWIpKXJldHVybiBuLlYmJm4uTi5VKCJubWMiLHtubXM6ISFuLkFiLG5tcnM6bi5BYj8uVygpfSksbi5LZygibmV4dF9tc2VfY2xvc2VkIiksUHJvbWlzZS5yZWplY3QoRXJyb3Iobi5zdGF0dXMuZXJyb3J8fCIiKSk7aWYobi5KLlV6KCkhPT1uLkFiKXJldHVybiBuLktnKCJuZXh0X21zZV9taXNtYXRjaCIpLFByb21pc2UucmVqZWN0KEVycm9yKG4uc3RhdHVzLmVycm9yfHwiIikpO3ZhciB7SF86RCxSOTpiLEYzOnZ9PW4uSygpO24uTi5jUCghMSwKITApO2lmKG4uVil7dmFyIGs9bi5BYi5OLGg9bi5BYi5KO2suVnUoITApO2guVnUoITApO2lmKGsuaVEoKSl7dmFyIHg9ay5aZygpO2xldCBMPWsuayQuTXIoKTt4JiZ4LnNlZ21lbnRTdGFydFRpbWUrTDxEJiZrLmFib3J0KCl9aC5pUSgpJiYoaz1oLlpnKCkseD1oLmskLk1yKCksayYmay5zZWdtZW50U3RhcnRUaW1lK3g8RCYmaC5hYm9ydCgpKX1uLnBvbGljeS5OPjAmJihuLlZ1KG4uQWIsITApLG4uSi51bCgpKTtoPW1yaihXLEQsdiwhbi5KLmdldFZpZGVvRGF0YSgpLmlzQWQoKSk7bi5KLnNldE1lZGlhRWxlbWVudChoKTsoaz1uLk4uTHAoKSkmJm4uSi5CbihrLkFvLGsud08pO24udHcmJihuLnBvbGljeS5XfHxuLkouc2Vla1RvKG4uSi5nZXRDdXJyZW50VGltZSgpKy4wMDEse0E5OiEwLFpVOjMscWQ6ImdhcGxlc3NfcHNldWRvIn0pLGgucGxheSgpKTtXPVcueXIoKTtXLmNwbj1uLk4uZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZTtXLnN0PWAke0R9YDtXLmV0PQpgJHt2fWA7bi5KLlUoImdhcGxlc3MiLFcpO24uTi5VKCJnYXBsZXNzVG8iLHtjcG46bi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2V9KTtXPW4uTi5nZXRQbGF5ZXJUeXBlKCk9PT1uLkouZ2V0UGxheWVyVHlwZSgpO24uTi5OMihiLCEwLCExLFcsbi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2Usbi5KLmdldFZpZGVvRGF0YSgpLnZpZGVvSWQpO24uSi5OMihuLkouZ2V0Q3VycmVudFRpbWUoKSwhMCwhMCxXLG4uTi5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlLG4uTi5nZXRWaWRlb0RhdGEoKS52aWRlb0lkKTtuLkouUDIoKTtnLm1LKCgpPT57IW4uSi5nZXRWaWRlb0RhdGEoKS5ZJiZuLkouZ2V0UGxheWVyU3RhdGUoKS5pc09yV2lsbEJlUGxheWluZygpJiZuLkouZTIoKX0pOwpyZihuLDYpO24uZGlzcG9zZSgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07ClBkWj1mdW5jdGlvbihuKXtpZihuLkouZ2V0VmlkZW9EYXRhKCkuVyl7dmFyIFc9bi50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc19zdXNwZW5kX25leHRfbG9hZGVyIikmJm4uaj09PTE7bi5KLm5tKG4uQWIsVyxuLmo9PT0xJiZnLllOKG4uTi5nZXRWaWRlb0RhdGEoKSkpO3JmKG4sMyk7T2xNKG4pO3ZhciB7Z2Q6RCxUYzpifT1OSyhuKTtELnN1YnNjcmliZSgidXBkYXRlZW5kIixuLmVYLG4pO2Iuc3Vic2NyaWJlKCJ1cGRhdGVlbmQiLG4uZVgsbik7bi5lWChEKTtuLmVYKGIpfX07Ck9sTT1mdW5jdGlvbihuKXtuLk4udW5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixuLlgsbik7bi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsbi5YLG4pO24udGIuRygpLlMoImh0bWw1X2dhcGxlc3NfdXNlX2Zvcm1hdF9pbmZvX2ZpeCIpJiYobi5OLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbiksbi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbikpO24uTi51bnN1YnNjcmliZSgibWVkaWFzb3VyY2VhdHRhY2hlZCIsbi5YLG4pO24uSi51bnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLG4uVEMsbil9OwpOSz1mdW5jdGlvbihuKXtyZXR1cm57Z2Q6bi5XLk4uayQsVGM6bi5XLkouayR9fTsKcE89ZnVuY3Rpb24obixXKXtpZighbilyZXR1cm4hMTt2YXIgRD1uLko7cmV0dXJuIEJSKG4uTj8uWkYoKSxXKSYmQlIoRD8uWkYoKSxXKX07ClpsaT1mdW5jdGlvbihuKXtpZighbilyZXR1cm4hMTt2YXIgVz1uLko7cmV0dXJuIG4uTj8uaVEoKXx8Vz8uaVEoKX07CkVEaj1hc3luYyBmdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlgmJm4uTil7bi5PJiZuLmFwcC5NTigpLmtOKCEwLCExKTt2YXIgVz1udWxsO2lmKG4uVyl0cnl7YXdhaXQgS0VoKG4uVyl9Y2F0Y2goYil7Vz1ifWlmKG4uTiYmKFVydy5jVygidnFzcCIsKCk9PntuLmFwcC5RVChuLk4pfSksbi5OKSl7dmFyIEQ9bi5OLmg1KCk7Cm4uYXBwLkcoKS5TKCJodG1sNV9nYXBsZXNzX3NlZWtfb25fbmVnYXRpdmVfdGltZSIpJiZEJiZELmdldEN1cnJlbnRUaW1lKCk8LS4wMSYmbi5OLnNlZWtUbygwKTtVcncuY1coInZxcHYiLCgpPT57bi5hcHAucGxheVZpZGVvKCl9KTsKVyYmKG4uTj8oVz1XP1cubWVzc2FnZToiZm9yY2VkIixuLko/LlUoImdhcGZ1bGZiayIse3I6V30pLG4uYXBwLkcoKS5adCgpLk4uUVEoeWVpKSYmKG4uTi5nZXRWaWRlb0RhdGEoKS5HUz0hMSksbi5OLk9jKFcpKTpuLko/LlUoImdhcHNwIix7fSkpO1c9bi5YO1lJKG4pO1cmJlcucmVzb2x2ZSgpO1Byb21pc2UucmVzb2x2ZSgpfX19OwpIYz1mdW5jdGlvbihuKXtuLkQmJm4uaiYmbi5ELnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLG4uaik7bi5qPW51bGw7bi5EPW51bGx9OwpZST1mdW5jdGlvbihuLFc9ITEpe2lmKG4uSil7aWYobi5WKXt2YXIgRD1uLko7bi5hcHAuUkIucmVtb3ZlRXZlbnRMaXN0ZW5lcihnLm95KCJ2cXVldWVkIiksbi5ZKTtELnJlbW92ZUN1ZVJhbmdlKG4uVil9bi5KPW51bGw7bi5WPW51bGx9bi5XJiYobi5XLnN0YXR1cy5zdGF0dXMhPT02JiYoRD1uLlcsRC5zdGF0dXMuc3RhdHVzIT09SW5maW5pdHkmJkQuaiE9PTEmJkQuS2coIkNhbmNlbGVkIikpLG4uVz1udWxsKTtuLlg9bnVsbDtuLk4mJiFXJiZuLk4hPT1uLmFwcC5jWCgpJiZuLk4hPT1uLmFwcC5NTigpJiZuLk4uZGlzcG9zZSgpO24uTiYmVyYmbi5OLm15KCk7bi5OPW51bGw7bi5PPSExfTsKdTd0PWZ1bmN0aW9uKG4sVyxEPSEwKXt2YXIgYj1uLmFwcC5NTigpLHY9Yi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjaz9JbmZpbml0eTpiLlBHKCEwKSoxRTM7Vz52JiYoVz12LTIwMCwhbi5hcHAuRygpLlp0KCkuTi5RUShpbGkpfHxEKSYmKG4uTz0hMCk7RCYmYi5nZXRDdXJyZW50VGltZSgpPj1XLzFFMz9uLlkoKToobi5KPWIsRCYmKEQ9VyxXPW4uSixuLmFwcC5SQi5hZGRFdmVudExpc3RlbmVyKGcub3koInZxdWV1ZWQiKSxuLlkpLEQ9aXNGaW5pdGUoRCl8fEQvMUUzPlcuZ2V0RHVyYXRpb24oKT9EOjB4ODAwMDAwMDAwMDAwMCxuLlY9bmV3IGcubDUoRCwweDgwMDAwMDAwMDAwMDAse25hbWVzcGFjZToidnF1ZXVlZCJ9KSxXLmFkZEN1ZVJhbmdlKG4uVikpKX07CmRyTT1mdW5jdGlvbihuLFcsRCxiPTAsdj0wKXtuLmRUKCl8fChIYyhuKSxZSShuKSk7bi5YPW5ldyBZNjtuLk49Vzt1N3QobixELHY9PT0wKTt2YXIgaz1iLz0xRTMsaD1XLmdldFZpZGVvRGF0YSgpLk47aWYoYiYmaCYmbi5KKXtsZXQgeD1iLEw9MDtXLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrJiYoaz1NYXRoLm1pbihELzFFMyxuLkouUEcoITApKSxMPU1hdGgubWF4KDAsay1uLkouZ2V0Q3VycmVudFRpbWUoKSkseD1NYXRoLm1pbihiLFcuUEcoKStMKSk7az1tOHQoaCx4KXx8YjtrIT09YiYmbi5OLlUoInF2YWxuIix7c3Q6YixhdDprLHJtOkwsY3Q6eH0pfVc9aztiPW4uTjtiLmdldFZpZGVvRGF0YSgpLllaPSEwO2IuZ2V0VmlkZW9EYXRhKCkuSz0hMDtiLmd6KCEwKTtoPXt9O24uSiYmKGg9bi5KLmw1KCksaz1uLkouZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZSxoPXtjcnQ6KGgqMUUzKS50b0ZpeGVkKCksY3BuOmt9KTtiLlUoInF1ZXVlZCIsaCk7VyE9PQowJiZiLnNlZWtUbyhXKy4wMSx7QTk6ITAsWlU6MyxxZDoidmlkZW9xdWV1ZXJfcXVldWVkIn0pO24uVz1uZXcgb0RiKG4uSyxuLmFwcC5NTigpLG4uTixELG4uYXBwLHYpO0Q9bi5XO0Quc3RhdHVzLnN0YXR1cyE9PUluZmluaXR5JiYocmYoRCwxKSxELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsRC5YLEQpLEQuSi5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixELlgsRCksRC50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4IikmJihELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixELlgsRCksRC5KLnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsRC5YLEQpKSxELk4uc3Vic2NyaWJlKCJtZWRpYXNvdXJjZWF0dGFjaGVkIixELlgsRCksRC5KLnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLEQuVEMsRCksRC5OLnN1YnNjcmliZSgibmV3ZWxlbWVudHJlcXVpcmVkIixELlZRLApEKSxELlgoKSk7cmV0dXJuIG4uWH07CmpqeD1mdW5jdGlvbihuLFcpe2lmKG4uYXBwLkcoKS5adCgpLk4uUVEoejBpKSl7dmFyIEQ9bi5hcHAuRygpLlp0KCkuTi5RUShsWWgpO2lmKCEoRDw9MCkpe0hjKG4pO3ZhciBiPW4uYXBwLk1OKCk/Lmg1KCk7YiYmbi5OJiYobi5hcHAuRygpLlp0KCkuTi5RUShUX0MpP24uTi5nZXRWaWRlb0RhdGEoKS5Sbz0hMDpuLk4uZ2V0VmlkZW9EYXRhKCkuR1M9ITAsbi5qPSgpPT57dmFyIHY9Yi5nZXRDdXJyZW50VGltZSgpO3Y+PVcrRC8xRTMmJih2PURhdGUubm93KCktKHYtVykqMUUzLG4uYXBwLmVHKCkudGljaygicGJzIix2KSxIYyhuKSl9LG4uRD1iLGIuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsbi5qKSl9fX07CkNkaj1mdW5jdGlvbihuLFcsRCl7aWYobi5kVCgpKXJldHVybiJxaWUiO2lmKG4uTj09bnVsbHx8bi5OLnFOKCl8fG4uTi5nZXRWaWRlb0RhdGEoKT09bnVsbClyZXR1cm4icXBkIjtpZihXLnZpZGVvSWQhPT1uLk4uRTEoKSlyZXR1cm4idmlubSI7aWYoKG4uVz8uYmQoKXx8LTEpPD0wKXJldHVybiJpdmQiO2lmKEQhPT0xKXJldHVybiJ1cHQiO249bi5XPy5lJCgpO3JldHVybiBuIT1udWxsP246bnVsbH07CkpoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLmRhdGEuZm9yRWFjaChEPT57RC5leHBpcmU8VyYmZk8obixELCEwKX0pOwpuLmRhdGE9Zy5FTShuLmRhdGEsRD0+IShELmV4cGlyZTxXKSl9OwpJZT1mdW5jdGlvbihuKXtuLk4uc3RvcCgpO3ZhciBXPUluZmluaXR5O2ZvcihsZXQgRCBvZiBuLmRhdGEpRC5leHBpcmU8VyYmKFc9RC5leHBpcmUpO1cmJmlzRmluaXRlKFcpJiYoVz1NYXRoLm1heChXLURhdGUubm93KCksMTAwKSxuLk4uc3RhcnQoVykpfTsKQl9DPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLmRhdGEuZmluZCh2PT52LmtleT09PVcpOwpiJiYoRCo9MUUzLGIuZXhwaXJlPSgwLGcuUikoKStELEllKG4pKX07CnNGPWZ1bmN0aW9uKG4pe0poKG4pO3JldHVybiBuLmRhdGEubWFwKFc9PlcudmFsdWUpfTsKZk89ZnVuY3Rpb24obixXLEQpe0QmJm4uSiYmbi5KKFcudmFsdWUpfTsKRkVaPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTj9bbi5OXTpbXTtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLmopKUQuZGlzcG9zZSgpLG4uS3x8ZGVsZXRlIG4uVltELldOKCldO24uaj17fTtuLk49bnVsbDtuLlk9bnVsbDtuLkQuY2xlYXIoKTtTcyhuLFtdLFcpfTsKU3M9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtuLkpdO24uTiYmYi5wdXNoKG4uTik7bi5hcGkuV0ooInBsYXliYWNrQ2hhbmdlIix7YWN0aXZlOmIuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKSwKc3RhcnRlZDpXLmZpbHRlcih2PT52LmdldFBsYXllclR5cGUoKSE9PTApLm1hcCh2PT4oe2Nwbjp2LldOKCl9KSksCmVuZGVkOkQuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKX0pfTsKd1AxPWZ1bmN0aW9uKG4sVyl7aWYobi5LKXtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLlcpKWlmKEQuV04oKT09PVcpcmV0dXJuIEQ7aWYobi5PPy5XTigpPT09VylyZXR1cm4gbi5PO2lmKHZvaWQgMD09PVcpcmV0dXJuIG51bGw7aWYobi5qW1ddKXJldHVybiBuLmpbV107Zm9yKGxldCBEIG9mIHNGKG4uWCkpaWYoRC5XTigpPT09VylyZXR1cm4gRDtyZXR1cm4gbnVsbH1pZihuLmFwaS5HKCkuWnQoKS5OLlFRKGcuQWgpKXJldHVybiBuLlZbV118fG51bGw7Zm9yKGxldCBEIG9mIE9iamVjdC52YWx1ZXMobi5XKSlpZihELldOKCk9PT1XKXJldHVybiBEO3JldHVybiBuLmpbV118fG51bGx9OwpNa009ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9RC5nZXRWaWRlb0RhdGEoKTtpZighdi5saXZlUHJlbG9hZCl7dmFyIGs9KCk9PntpZihuLlguZ2V0KFcpPT09RCl7dmFyIGg9di5nZXRQbGF5ZXJSZXNwb25zZSgpO2gmJihoPWgucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9oLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLGghPT12b2lkIDAmJihoPGImJkQuVSgidHRsZCIse3ByZXY6Yi50b1N0cmluZygpLCJuZXciOmgudG9TdHJpbmcoKX0pLGg9PT0wP24uWC5yZW1vdmUoVywhMCk6Ql9DKG4uWCxXLGgpKSl9fTsKaWYodi5pc0xvYWRlZCgpKWsoKTtlbHNle2xldCBoPSgpPT57aygpO3YudW5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfTsKdi5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfX19OwptUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W1ddLHY9bi5OP1tuLk5dOltdO24ualtXLldOKCldPVc7bi5LfHwobi5WW1cuV04oKV09Vyk7bi5OPVc7RCYmKG4uWT1XKTtuLkQuc2V0KCIiLFcpO1NzKG4sYix2KX07CmNlYj1mdW5jdGlvbihuKXt2YXIgVz1uLmV4cGVyaW1lbnRzLEQ9Vy5FcS5iaW5kKFcpO0tPPUQoImh0bWw1X3VzZV9hc3luY19zdG9wVmlkZW8iKTtSMGk9RCgiaHRtbDVfcGF1c2VfZm9yX2FzeW5jX3N0b3BWaWRlbyIpO09nPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO0QoImh0bWw1X2xpc3Rlbl9mb3JfYXVkaW9fb3V0cHV0X2NoYW5nZWQiKSYmKHdVTT0hMCk7REg9RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZSIpfHxEKCJodG1sNV9ub3RfcmVzZXRfbWVkaWFfc291cmNlX25vbl9kcm1fdm9kIik7UWpaPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO1BjPUQoImh0bWw1X3JldGFpbl9zb3VyY2VfYnVmZmVyX2FwcGVuZHNfZm9yX2RlYnVnZ2luZyIpO25WcihEKCJ3ZWJfd2F0Y2hfcGlwIil8fApEKCJ3ZWJfc2hvcnRzX3BpcCIpKTtJdmgoRCgibG9nX2ZvcmVncm91bmRfbm90X2ZvY3VzZWRfYXNfYmFja2dyb3VuZCIpKTtTeXIoRCgid2ViX3BsYXllcl9waXBfbG9nZ2luZ19maXgiKSk7RCgiaHRtbDVfbWVkaWFzdHJlYW1fYXBwbGllc190aW1lc3RhbXBfb2Zmc2V0IikmJihzND0hMCk7bi5XWCgpJiZNRngoKTtFcnJvci5zdGFja1RyYWNlTGltaXQ9NTA7dmFyIGI9Zy5kTShXLCJodG1sNV9pZGxlX3JhdGVfbGltaXRfbXMiKTtiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJyZXF1ZXN0SWRsZUNhbGxiYWNrIix7dmFsdWU6dj0+d2luZG93LnNldFRpbWVvdXQodixiKX0pOwp3Sngobi5XKTthaU0oRCgiaHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlciIpKTtEKCJodG1sNV9kaXNhYmxlX3N0cmVhbWluZ194aHIiKSYmKE5zPSExKTtEKCJodG1sNV9ieXRlcmF0ZV9jb25zdHJhaW50cyIpJiYoaFQ9ITApO0QoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIikmJihadT0hMCk7RCgiaHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjEiKSYmKFBSPSEwKTtXLlp0KCkuTi5RUShWa3cpJiYoRU49ITApO01wQyhnLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3MiKSl9Owp5UjE9ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLmV4cGVyaW1lbnRzLncwKCksYj1bXTtuPShrLGgseCk9PntiLnB1c2goU2soaCh4KSxMPT57V1trXT1MfSkpfTsKdmFyIHY9RC5OLlFRKGFZeCk7diYmbigiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUJ1ZmZlcmVkUmFuZ2UiLHFScix2PT09MSk7KHY9RC5OLlFRKG5NdykpJiZuKCJIVFRQMyIsR253LHY9PT0xKTsodj1ELk4uUVEoV2t0KSkmJm4oIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VBdHRhY2htZW50TWV0aG9kcyIsdEZ4LHY9PT0xKTsodj1ELk4uUVEoRERaKSkmJm4oIlFVSUMiLCRMQyx2PT09MSk7KHY9RC5OLlFRKGJSdykpJiZuKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsc2d3LHY9PT0xKTsodj1ELk4uUVEodk1TKSkmJm4oIk1lZGlhLkF1ZGlvV3JpdGVEdXJhdGlvbkxvY2FsIixyYzIsTnVtYmVyKHYpKTsodj1ELk4uUVEoazZ3KSkmJm4oIk1lZGlhLkV4cGVyaW1lbnRhbE1heFBlbmRpbmdCeXRlc1BlclBhcnNlIixLWFosTnVtYmVyKHYpKTsodj1ELk4uUVEoaFVpKSkmJm4oIk1lZGlhLkVuYWJsZUZsdXNoRHVyaW5nU2VlayIsCkpjYixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoeERaKSkmJm4oIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsSXl3LE51bWJlcih2KSk7KHY9RC5OLlFRKExrQykpJiZuKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLFNSdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZVVVKSkmJm4oIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLEFjWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZ014KSkmJm4oIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbUwyLE51bWJlcih2KT09PTEpOyh2PUQuTi5RUShYR1UpKSYmbigiTWVkaWEuRW5hYmxlUmVzZXRBdWRpb0RlY29kZXIiLGZ5VSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocXhoKSkmJm4oIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLEhGWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoRzYyKSkmJm4oIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsCk9GQyxOdW1iZXIodikpOyh2PUQuTi5RUSh0NWkpKSYmbigiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsTjBTLHYpOyh2PUQuTi5RUSgkRDEpKSYmbigiTWVkaWEuTWVkaWFDb2RlY1Jlc2V0RGVsYXlNcyIsUFFyLHYpOyh2PUQuTi5RUShyUmkpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbklucHV0QnVmZmVycyIscE50LHYpOyh2PUQuTi5RUShzd2kpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbkRlY29kZWRGcmFtZXMiLFlSdyx2KTsodj1ELk4uUVEoTmRTKSkmJm4oIk1lZGlhLlVzZUR1YWxUaHJlYWRzRm9yVmlkZW8iLHljMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocEcxKSkmJm4oIk1lZGlhLlZpZGVvQnVmZmVyU2l6ZUNsYW1wTWIiLEV1dCx2KTsodj1ELk4uUVEoWXhyKSkmJm4oIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixpRlUsdik7KHY9RC5OLlFRKEhScikpJiZuKCJNZWRpYS5EaXNhYmxlTG93UGVyZm9ybWFuY2VTb2Z0d2FyZURlY29kZSIsClpGdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZndqKSkmJm4oIk1lZGlhLkVuYWJsZUF2MVN0YXJ0dXBPcHRpbWl6YXRpb24iLFVMMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSlIxKSkmJm4oIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLGRMaSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSXd4KSkmJm4oIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIix1cXQsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFN4aSkpJiZuKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG91MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoQVJNKSkmJm4oIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIix6UVMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKG1EaCkpJiZuKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLGx5MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoS2tpKSkmJm4oIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixUMFUsTnVtYmVyKHYpPT09CjEpOyh2PUQuTi5RUShPUlUpKSYmbigiTWVkaWEuU2tpcFZpZGVvRnJhbWVzT3ZlcjYwRnBzIixqZ2gsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFBoaikpJiZuKCJNZWRpYS5GbHVzaEF1ZGlvVHJhY2tEdXJpbmdTZWVrIixDUUMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFpSeCkpJiZuKCJNZWRpYS5CeXBhc3NNb2pvRm9yTWVkaWEiLEIwaixOdW1iZXIodik9PT0xKTsoRD1ELk4uUVEoVUQyKSkmJm4oIk1lZGlhLklnbm9yZU1lZGlhQ29kZWNDYWxsYmFja3NEdXJpbmdGbHVzaGluZyIsRlgyLE51bWJlcihEKT09PTEpO3JldHVybiBTayhGTngoYiksKCk9PlcpfTsKR0Q9ZnVuY3Rpb24obixXPSExLEQ9MTA0ODU3Nil7dmFyIGI9VWcobik7Yj0xLygobi5LLkxnKCl8fDApKm4ucG9saWN5LkQrMS9iKTt2YXIgdj1uLlMkLkxnKCk7dj12PjA/djoxO3ZhciBrPU1hdGgubWF4KGIsdik7bi5wb2xpY3kuWD4wJiZ2PGImJihrPU1hdGgubWluKG4ucG9saWN5LlgsMSksaz0oMS1rKSpiK2sqdik7aWYoIVcpcmV0dXJuIGs7Vz0xRS05KyRzKG4pO0Q9aypNYXRoLm1pbigxLEQvKGsqVykpO24ucG9saWN5Lkp8fChuPSgobi5ELnBlcmNlbnRpbGUoLjk4KXx8MCktMSkvMixuPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSksRCo9MS0uNSpuKTtyZXR1cm4gRH07CiRzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uWS5MZygpK24uVEMuTGcoKXx8MDtXPWlzTmFOKFcpPy41Olc7bi5wb2xpY3kuVDY+PTAmJihXPU1hdGgubWluKFcsbi5wb2xpY3kuVDYpKTtyZXR1cm4gV307CmUwPWZ1bmN0aW9uKG4pe3ZhciBXPXtkZWxheTokcyhuKSxzdGFsbDpuLksuTGcoKXx8MCxieXRlcmF0ZTpVZyhuKSxpbml0Om4uVlF9LEQ9bi5XWzBdO0Quc3RhbXA9TWF0aC5yb3VuZChuLlYvMzZFNSkqMzZFNTtELm5ldD1NYXRoLmNlaWwobi5iZCk7RC5tYXg9bi5pbnRlcnJ1cHRpb25zWzBdfHwwO1cuaW50ZXJydXB0aW9ucz1uLlc7cmV0dXJuIFd9Owp6RD1mdW5jdGlvbihuLFcpe2lmKG4uail7bGV0IEQ9Vy1uLmo7aWYoRDw2RTQpe2lmKEQ+MUUzKXtsZXQgYj1uLmludGVycnVwdGlvbnM7Yi5wdXNoKE1hdGguY2VpbChEKSk7Yi5zb3J0KCh2LGspPT5rLXYpOwpiLmxlbmd0aD4xNiYmYi5wb3AoKX1uLmJkKz1EfX1uLmo9V307CnlTPWZ1bmN0aW9uKG4sVyxEKXtpc05hTihEKXx8KG4udHcrPUQpO2lzTmFOKFcpfHwobi5EdCs9Vyl9OwpCdT1mdW5jdGlvbihuLFcsRCxiPVcpe24uWC5JSShiLEQvVyk7bi5WPSgwLGcuUikoKX07CkVnPWZ1bmN0aW9uKG4sVyxEKXtXPU1hdGgubWF4KFcsbi5KLk4pO24uSy5JSSgxLEQvVyl9Owppcz1mdW5jdGlvbihuLFcsRCxiLHYsaz0hMSl7bi5TJC5JSShXLEQvVyk7bi5WPSgwLGcuUikoKTt2fHxuLkQuSUkoMSxXLWIpO2t8fChuLmo9MCk7bi5jSj4tMSYmKDAsZy5SKSgpLW4uY0o+M0U0JiYoc24oZTAobikpLG4uY0o9KDAsZy5SKSgpLG4uTz0hMCl9OwpUWj1mdW5jdGlvbihuKXtyZXR1cm4oMCxnLlIpKCktbi5WPj00RTN9OwpVZz1mdW5jdGlvbihuKXtuPW4uWC5MZygpO3JldHVybiBuPjA/bjoxfTsKaVJaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgRU1NKEQpO24mJihiLlc9ITAsYi5qPS4xKTtELkVxKCJodG1sNV9tZWRpYV90aW1lX3dlaWdodCIpJiYoYi5XPSExKTtXJiYoYi5OPVcvOCk7Yi5KPXA3KCk+PTQ4MDtyZXR1cm4gYn07CnVzPWZ1bmN0aW9uKG4pe24uTi5jbGVhcigpO24uVy5jbGVhcigpO24uSi5jbGVhcigpfTsKdWFVPWZ1bmN0aW9uKG4sVyxEKXtuPW4uSjt2YXIgYj1nLlc0KG4se29hOld9LCh2LGspPT52Lm9hLWsub2EpOwpiPWI8MD8oYisyKSotMTpiO2lmKGI+PTApZm9yKGxldCB2PWI7djw9YisxJiZ2PG4ubGVuZ3RoO3YrKyl7bGV0IGs9blt2XTtpZihXPj1rLm9hLUQmJlc8PWsuZEkrRClyZXR1cm4ga319OwpvTWg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5nZXQoVyk7Yj8oYi5wdXNoKEQpLGcuYmYoYiwodixrKT0+di5vYS1rLm9hKSk6bi5OLnNldChXLFtEXSl9OwpkRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2Ygbi5KKVcoYil8fEQucHVzaChiKTtpZihuLkIuUygiaHRtbDVfc3N0bV9maXhlcyIpKWZvcihsZXQgYiBvZiBuLkopVyhiKSYmbi5XLmRlbGV0ZShiLmNwbik7bi5KPUR9Owp6VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkouaW5kZXhPZihXKTtEPj0wJiZuLkouc3BsaWNlKEQsMSk7bi5XLmRlbGV0ZShXLmNwbil9Owp0dmk9ZnVuY3Rpb24obixXKXtpZihuLnVLfHxXLmlkZW50aWZpZXImJm4ueXcuaGFzKFcuaWRlbnRpZmllcikpbi5iaih7c3RhcnRub2FkOlcuaWRlbnRpZmllcn0pLGcub2Uobik7ZWxzZSBpZihnLm9NKG4uY0osRD0+RC5pZGVudGlmaWVyPT09Vy5pZGVudGlmaWVyKSluLmJqKHt0aW1lZG91dGNwOjF9KSxuLlkuc3RhcnQoMCk7CmVsc2UgaWYoZy5vTShuLkR0LEQ9PkQuaWRlbnRpZmllcj09PVcuaWRlbnRpZmllcikpbi5iaih7ZmV0Y2hlZGNwOjF9KSxnLm9lKG4pOwplbHNlIGlmKG4uWS5pc0FjdGl2ZSgpKW4uYmooe3JhY2luZ2NwOmAke24uVj8uaWRlbnRpZmllcn1fJHtXLmlkZW50aWZpZXJ9YH0pO2Vsc2V7bi5DdT0obmV3IERhdGUpLmdldFRpbWUoKS8xRTM7bi5iaih7YWRmOjF9KTtsZXQgRD01RTM7RCYmVy5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYoRC09Vy5OKTtuLnZKPU1hdGgubWF4KEQsMTVFMyk7bi5EPSExO24uWS5zdGFydChuLnZKKTtuLlY9Vzt1cyhuLlRDKTtuLkZGPVtdfX07CmcuSnlpPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe3ZhciB4PXY9PT0zLEw9bHdaKG4sVyxELHYsYixoKTtpZighTClyZXR1cm4gZGYobixELHgpLEw9Zy56VihuLEQpPyJ1bmRlYyI6Im5jcCIsbi5iaih7Z3ZwcnA6TCxtdDpXLHNlZzpELHR0OnYsaXRhZzpiLGNlOmh9KSxudWxsO3h8fG4uWXEuc2V0KEQsTCk7aD1MLnZQO3Y9bi5HTShELTEsdixrKT8uQmZ8fCIiO3Y9PT0iIiYmbi5iaih7ZWRzOjF9KTtrPVRkaihuLEwuc3NkYWlBZHNDb25maWcpO3g9bi5ncy5nZXRWaWRlb0RhdGEoKTt4PXguYkJbeC5KPy5jb250YWluZXJUeXBlfHwwXTtMPUwubUYmJkQ+PUwubUY/TC5tRjp2b2lkIDA7dj17YUQ6aD9scyhuLGgpOltdLGFkc0NvbmZpZzprLEJmOnYsREo6TCxvdjpnLk5oKHguc3BsaXQoIjsiKVswXSksZDM6eC5zcGxpdCgiOyIpWzFdfHwiIn07TD17TXk6dn07bi5HQyYmKFc9e2d2cHJwcm86InYiLHNxOkQsbXQ6Vy50b0ZpeGVkKDMpLGl0YWc6YixhY3Buczp2LmFEPy5qb2luKCJfIil8fAoibm9uZSIsYWJpZDpofSxuLmJqKFcpKTtyZXR1cm4gTH07Ck0yPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj1ifHx7cmVhc29uOiJkaXNhYmxlc3NkYWkifTtpZihXJiZEKXtpZighZy5UVihuLFcsRCkpcmV0dXJuITE7Yi5zcT1EfWlmKG4udUspcmV0dXJuITE7bi51Sz0hMDtuLnVmPjAmJihuLnVmPTAsbi51Tj0iIixqcyhuLG4uZ3MuV04oKSwwKSxuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpKTtuLmdzLmRuKGIsdik7cmV0dXJuITB9Owpqd2o9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uald8fG4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKTtDTyhuLCEwKTtuLmdzLnNlZWtUbyhXLEQpO249bi5hcHAuTU4oKTtXPW4uZ2V0UGxheWVyU3RhdGUoKTtiLmlzT3JXaWxsQmVQbGF5aW5nKCkmJiFXLmlzT3JXaWxsQmVQbGF5aW5nKCk/bi5wbGF5VmlkZW8oKTpiLmlzUGF1c2VkKCkmJiFXLmlzUGF1c2VkKCkmJm4ucGF1c2VWaWRlbygpfTsKZy5CYz1mdW5jdGlvbihuKXtuLkdDJiZuLmJqKHthZGY6YDBfJHsobmV3IERhdGUpLmdldFRpbWUoKS8xRTMtbi5DdX1faXNUaW1lb3V0XyR7bi5EfWB9KX07Cmcub2U9ZnVuY3Rpb24obil7bi5EPSExO24uWS5pc0FjdGl2ZSgpJiZnLkJjKG4pO24uWS5zdG9wKCk7bi5SZighMSl9OwpGdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJue3NzdmM6VyxjcG46RD8uY3BufHwiIix2aWQ6RD8udmlkZW9EYXRhLnZpZGVvSWR8fCIiLGN0OihuLmdzLmdldEN1cnJlbnRUaW1lKCl8fDApLnRvRml4ZWQoMyksY210OihuLmdzLm90KCl8fDApLnRvRml4ZWQoMyl9fTsKQ2gxPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbmV3IGcubDUobixXLHtpZDpELG5hbWVzcGFjZToic2VydmVyc3RpdGNoZWRjdWVyYW5nZSIscHJpb3JpdHk6OX0pfTsKZy53Zj1mdW5jdGlvbihuKXtyZXR1cm57Y3BuOm4uZ3MuV04oKSxkdXJhdGlvbk1zOjAsb2E6MCxwbGF5ZXJUeXBlOjEsZEk6MCx2aWRlb0RhdGE6bi5ncy5nZXRWaWRlb0RhdGEoKSxlcnJvckNvdW50OjAsdlA6IiJ9fTsKTUs9ZnVuY3Rpb24obixXLEQsYil7bi5CLlMoImh0bWw1X3NzZGFpX2xvZ19zc2V2dF9pbl9sb2FkZXJfdGltZXJzIikmJihiPW4uYmQ/MDpNYXRoLnJvdW5kKChiLUQpKjFFMyksbi5ncy5VKCJzc2V2dCIse3RhZzoic3N0bWUiLGFkOlchPT1uLmdzLldOKCksY3BuOlcsc3Q6RC1uLmdzLkgzKCksbGF0ZTpifSkpfTsKZy5RUz1mdW5jdGlvbihuLFcpe24uanx8bi5iZHx8Zy5SZShuLG4udU4pO3ZhciBEPVcucUQsYj1XLnpZO2lmKGIuY3BuPT09bi51TiluLmJqKHtpZ3RyYW5zc2FtZToxLGVudGVyOmIuY3BuLGV4aXQ6RC5jcG59KTtlbHNle3ZhciB2PW4uYmQsaz0hIW4uajtuLmo9IiI7dmFyIGg9Vy5tNyx4PUQucGxheWVyVHlwZT09PTI/RC5vYS8xRTMrRC52aWRlb0RhdGEuR0M6Zy53ZihuKS52aWRlb0RhdGEuR0M7bi5hcGkuUygiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiKSYmKGt8fHZ8fEQucGxheWVyVHlwZSE9PTI/KHZ8fGspJiZuLmJqKHttZWNyOjAsc2Vlazp2LHNraXA6a30pOm4uYXBpLk5hKEQuY3BuKSk7aWYoRC5wbGF5ZXJUeXBlPT09MiYmYi5wbGF5ZXJUeXBlPT09MilrP24uYmooe2lndHJhbnNza2lwOjEsZW50ZXI6Yi5jcG4sZXhpdDpELmNwbixzZWVrOnYsc2tpcDpuLmp9KTpnLkJkdChuLEQsYix4LGgsdixrKTtlbHNle24udU49Yi5jcG47anMobixiLmNwbiwKYi5zdGFydFRpbWVTZWNzfHxoKTtXPVcuUXg7aWYoRC5wbGF5ZXJUeXBlPT09MSYmYi5wbGF5ZXJUeXBlPT09Mil7bi5TJD0wO0ZraihuLGIpO3ZhciBMPUZ3KG4sImMyYSIsYik7bi5iaihMKTtuLnVmKyt9ZWxzZSBpZihELnBsYXllclR5cGU9PT0yJiZiLnBsYXllclR5cGU9PT0xKXtuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpO0w9RncobiwiYTJjIik7bi5iaihMKTtuLnVmPTA7bi5TJD14O0w9RC5jcG47dmFyIGU9bi5TJDtpZihMIT09bi5ncy5XTigpKXtsZXQgRz1uLnR3LmdldChMKTtHP0cuTj1lOm4uYmooe25vcF9lOkx9KX1nLndHMShuLEQudlApfUw9TTVpKG4pO24uZ3MuY00oRCxiLHgsaCx2LGssVyxMKX1nLlJVaShuKX19OwppcD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPVdebjtpZigobi0xXjI3KT49biYmKG4rMV4yNCk8bil7dmFyIGU9RFtJW0xeNzg2XV0oSVtMXjgxN10pLEc9MDtlWzBdfHxHKys7bGV0IE49e307Zm9yKDtHPGVbSVs1XV07Rys9MillW0ddJiZFYyg1LExeNjc4NixOLGVbR10sZVtHKzFdKTt2YXIgcj1OfShuXjEzKTwyNiYmbi0yPj0xOCYmKGU9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxMXjc3MDEpLEc9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxlKzEpLGU+MCYmRz4wPyhiW0lbTF43Njg1XV09RFtJW0xeNzY5NF1dKDAsRyksRD1EW0lbTF43Njk0XV0oRysxKSk6KGJbSVtMXjc2ODVdXT1ELEQ9SVtMXjc2OTJdKSxyPVtEXSk7bi0zPj4zfHwocj1iKGssaCx4KSk7bj4+MiY3fHwoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgtRClbSVtMXjE3MTZdXSgpW0lbTF4xNjgxXV0oZnVuY3Rpb24oTil7YltJW0xeMTY3MF1dKE4pfSkpOwpyZXR1cm4gcn07CmpzPWZ1bmN0aW9uKG4sVyxEKXtpZihXPT09bi5ncy5XTigpKW1SKG4uYXBwLlZyLG4uZ3MsITEpO2Vsc2V7bGV0IGI9bi50dy5nZXQoVyk7Yj8oVz1iLFcuTj0wLFcuc3RhcnRUaW1lU2Vjcz1ELG1SKG4uYXBwLlZyLGIsITApKTpuLmJqKHtub3BfczpXfSl9fTsKRmtqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcHA7UFQoVlMoRCkpJiZELlZyLldbMl0mJmcuY18obi5sb2dnZXIsMzYwNzE3ODA2LCJTU1RNIGxpbmdlcmluZyBwbGF5YmFjayIpO24uYXBpLlNvKCk7bi5hcGkuV0ooInNlcnZlcnN0aXRjaGVkdmlkZW9jaGFuZ2UiLFcuY3BuLFcuTDMpfTsKY2M9ZnVuY3Rpb24obixXLEQ9MCl7cmV0dXJue0lEOnVhVShuLk4sVyoxRTMsRCoxRTMpLEJFOld9fTsKZy5SZT1mdW5jdGlvbihuLFcpe3ZhciBEPVd8fG4udU4sYj1uLk4uVkUoRCk7Yj8oVz1iLnZpZGVvRGF0YSxEPWIuTDN8fChuLlcuZ2V0KEQpPy5zdGFydD8/MCkvMUUzLG49bi5ncy5nZXRDdXJyZW50VGltZSgpLUQsVy5HQz1uPjA/bjowKTpnLndmKG4pLnZpZGVvRGF0YS5HQz1uLmdzLmdldEN1cnJlbnRUaW1lKCl9OwpnLlF3aT1mdW5jdGlvbihuLFcsRCl7bi5ncy5CbygpO24uZ3Muc2Vla1RvKFcsRCk7bi5ncy5wbGF5VmlkZW8oKX07CkNPPWZ1bmN0aW9uKG4sVyl7bi5MQj1OYU47bi5mQj1udWxsO24uUmEuc3RvcCgpO24uZSQmJlcmJm4uZSQuR18oKTtuLmpXPW51bGw7bi5lJD1udWxsfTsKbko9ZnVuY3Rpb24obil7VjVoKG4pO2Zvcih2YXIgVyBvZiBuLlcudmFsdWVzKCkpVy5zdGFydD49LTEmJlcuZW5kPD1JbmZpbml0eSYmKG4uZ3MucmVtb3ZlQ3VlUmFuZ2UoVyksbi5XLmRlbGV0ZShXLmdldElkKCkpLG4uYmooe3JtQWRDUjoxfSkpO3ZhciB7SUQ6RCxCRTpifT1jYyhuLC0uMDAxKTtEJiYoVz1iKjFFMy1ELm9hLGcuYWUobixELFcsRC5vYStXKSxXPW4uVy5nZXQoRC5jcG4pKSYmKFcuc3RhcnQ9RC5vYSxXLmVuZD1ELm9hK0QuZHVyYXRpb25Ncyk7KHtJRDpXfT1jYyhuLEluZmluaXR5KSk7VyYmbi5KKGBJbnZhbGlkX2NsZWFyRW5kVGltZU1zXyR7SW5maW5pdHl9X3RoYXRfZmFsbHNfZHVyaW5nXyR7YHBsYXliYWNrX2Nwbl8ke1cuY3BufV92aWRlb19pZF8ke1cudmlkZW9EYXRhPy52aWRlb0lkfV9kdXJhdGlvbk1zXyR7Vy5kdXJhdGlvbk1zfV9lbnRlclRpbWVNc18ke1cub2F9X3BhcmVudFJldHVyblRpbWVNc18ke1cuZEl9YH0uX0NoaWxkX3BsYXliYWNrc19jYW5fb25seV9oYXZlX2R1cmF0aW9uX3VwZGF0ZWRfbm90X3RoZWlyX3N0YXJ0LmApfTsKY1JiPWZ1bmN0aW9uKG4pe3VzKG4uVEMpO24uVy5jbGVhcigpO24uTi5jbGVhcigpO24uWXEuY2xlYXIoKTtuLkZGPVtdO24uVj1udWxsO24ueXcuY2xlYXIoKTtuLm51LmNsZWFyKCk7bi5jSj1bXTtuLkR0PVtdO24uczU9W107bi5FNT1bXTtuLlFyLmNsZWFyKCk7bi5NZC5jbGVhcigpO24uVTUuY2xlYXIoKTtuLnlFLmNsZWFyKCk7bi5EPSExO24uUyQ9MDtuLmJkPSExO24uWVo9ITE7bi51Zj0wO24uQ3U9MDtuLlkkPSExO24udUs9ITE7bi5qPSIiO0ZFWihuLmFwcC5Wcik7bVIobi5hcHAuVnIsbi5ncywhMSk7aWYobi5CLlp0KCk/LkooKSlmb3IobGV0IFcgb2Ygbi50dy52YWx1ZXMoKSlXLmRpc3Bvc2UoKTtuLnR3LmNsZWFyKCk7bi5ZLmlzQWN0aXZlKCkmJmcub2Uobil9OwpWNWg9ZnVuY3Rpb24obil7ZERiKG4uTixXPT5XLm9hPj0tMSYmVy5kSTw9SW5maW5pdHkpfTsKZy5hZT1mdW5jdGlvbihuLFcsRCxiKXtXLmR1cmF0aW9uTXM9RDtXLmRJPWI7KGI9bi50dy5nZXQoVy5jcG4pKT9iLmFUKEQvMUUzKTpuLmJqKHtub3BfZDpXLmNwbn0pfTsKZy56Vj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBuLkZGKWlmKFc+PUQuc3RhcnQmJlc8PUQuZW5kKXJldHVybiEwO3JldHVybiExfTsKZy5UVj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uWXEuZ2V0KEQpO2lmKCFrKXtpZihrPVdmKG4sVykpcmV0dXJuIGs7Vz1uLkdNKEQtMSxiPz8yKTtpZih2KXJldHVybiBuLmJqKHttaXNzY3VlOnYsc3E6RCx0eXBlOmIscHJldnNzdGF0ZTpXPy5zbCxwcmV2cmVjb3JkOm4uWXEuaGFzKEQtMSl9KSxuLllxLmdldChELTEpO2lmKFc/LnNsPT09MilyZXR1cm4gbi5iaih7YWRuZjoxLHNxOkQsdHlwZTpiLHByZXZyZWNvcmQ6bi5ZcS5oYXMoRC0xKX0pLG4uWXEuZ2V0KEQtMSl9cmV0dXJuIGt9Owpsd1o9ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKCFuLnVLKWlmKGcuelYobixEKSluLmJqKHtnZHU6InVuZGVjIixzZWc6RCxpdGFnOnZ9KTtlbHNlIGlmKFc9Zy5UVihuLFcsRCxiLGspLCFuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCl8fCFXPy5QTylyZXR1cm4gV307CldmPWZ1bmN0aW9uKG4sVyl7Vys9bi5IMygpO2lmKG4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSl7YTp7dmFyIEQ9bi5OO249VyoxRTM7Zm9yKGIgb2YgRC5KKWlmKEQ9Yi5MMz9iLkwzKjFFMzpiLm9hLG4+PWIub2EtMUUzJiZuPD1EK2IuZHVyYXRpb25NcysxRTMpYnJlYWsgYTt2YXIgYj12b2lkIDB9Yj17SUQ6YixCRTpXfX1lbHNlIGI9Y2MobixXKSxiPy5JRHx8KGI9Y2MobixXLDEpKTtyZXR1cm4gYj8uSUR9OwpkZj1mdW5jdGlvbihuLFcsRD0hMSl7aWYoIUQpe2ZvcihsZXQgYiBvZiBuLkZGKXtpZihXPj1iLnN0YXJ0JiZXPD1iLmVuZClyZXR1cm47aWYoVz09PWIuZW5kKzEpe2IuZW5kKz0xO3JldHVybn19bi5GRi5wdXNoKG5ldyBhd1MoVykpfX07ClRkaj1mdW5jdGlvbihuLFc9IiIpe3ZhciBEPWcuZDEoVyl8fHZvaWQgMDtXJiZEfHxuLmJqKHthZGNmZzpXPy5sZW5ndGgsZGNmZzpEPy5sZW5ndGh9KTtyZXR1cm4gRH07CmxzPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuW107Zm9yKGxldCBiIG9mIG4pYi5jcG4mJkQucHVzaChiLmNwbik7cmV0dXJuIER9OwpuJE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPSExO2lmKEQ9bi5OLk4uZ2V0KEQpKWZvcihsZXQgdiBvZiBEKXYuZHVyYXRpb25NcyE9PTAmJnYuZEkhPT12Lm9hJiYoRD12LmNwbixXPT09RCYmKGI9ITApLGImJiFuLk1kLmhhcyhEKSYmKG4uYmooe2RlY29yYXRlZEFkOkR9KSxuLk1kLmFkZChEKSkpfTsKdmFyIElhMj1mdW5jdGlvbihuLFcpe3JldHVybiBvU1tJWzEwXV0odGhpcywyLDQ0MzksbixXKX07CldMcj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtuPW4uTi5OLmdldChEKTtpZighbilyZXR1cm4tMTtmb3IobGV0IHYgb2Ygbil7aWYodi5jcG49PT1XKXJldHVybiBiO2IrK31yZXR1cm4tMX07CkRhcj1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuIDA7Zm9yKGxldCBiIG9mIG4pYi5kdXJhdGlvbk1zIT09MCYmYi5kSSE9PWIub2EmJkQrKztyZXR1cm4gRH07CmcuYmZ4PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLlcudmFsdWVzKCkpbi5ncy5yZW1vdmVDdWVSYW5nZShXKTtuLlcuY2xlYXIoKTt1cyhuLlRDKX07Ck01aT1mdW5jdGlvbihuKXt2YXIgVz1BcnJheS5mcm9tKG4uYXBwLlZyLkQudmFsdWVzKCkpLEQ9W10sYj1bXSx2PVtdLGs9W10saD1bXSx4PVtdO2Zvcih2YXIgTCBvZiBXKWlmKFc9bi5OLlZFKEwuV04oKSkpbi5iaih7YXR0YWNoX3RyYW5zX21ldGE6Vy5jcG4saGFzX3ZfbWV0YTpXLnNmPzE6MCxoYXNfYV9tZXRhOlcuWU0/MTowLGhhc19jdHhfbWV0YTpXLmpWPzE6MH0pLFcualYmJkQucHVzaChXLmpWKSxXLnNmJiZiLnB1c2goVy5zZiksVy5ZTSYmYi5wdXNoKFcuWU0pLGsucHVzaChXLmNwbiksaC5wdXNoKFcudmlkZW9EYXRhLnZpZGVvSWR8fCIiKSx4LnB1c2goVy52aWRlb0RhdGEuYWRGb3JtYXR8fFcudmlkZW9EYXRhLkZGKSxXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YSE9bnVsbCYmdi5wdXNoKFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhKTtMPXZvaWQgMDtuLnZYJiYobi5iaih7aGFzX2N0eF9saXN0OkQubGVuZ3RoPzE6MCxoYXNfY2xpcF9saXN0OmIubGVuZ3RoPwoxOjB9KSxMPXtqVjpELHJYOmJ9KTtyZXR1cm57UHc6TCxSUDp7YUQ6ayxhcTpoLGFkRm9ybWF0czp4LHNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YTp2fX19OwpnLkJkdD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtpZihXJiZEKXtuLnVOPUQuY3BuO2pzKG4sRC5jcG4sRC5zdGFydFRpbWVTZWNzfHx2KTtGa2oobixEKTt2YXIgeD1GdyhuLCJhMmEiLEQpO24uYmooeCk7bi51ZisrO3g9TTVpKG4pO24uZ3MuY00oVyxELGJ8fDAsdnx8MCwhIWssISFoLHZvaWQgMCx4KX1lbHNlIG4uYmooe21pc3NwYmtvbmFkdHJhbnM6MSxlbnRlcjpEPy5jcG58fCIiLGV4aXQ6Vz8uY3BufHwiIixzZWVrOmssc2tpcDpofSl9OwpnLlJVaT1mdW5jdGlvbihuKXtuLnlFLmFkZChuLmopO24uaj0iIjtuLmJkPSExfTsKdiRoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYjtpZihiPW4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSliPShiPW4uTi5WRShXKSkmJmIudlA/KG49bi5OLk4uZ2V0KGI/LnZQKSkmJm4uc2xpY2UoLTEpWzBdLmNwbj09PVc6ITE7cmV0dXJuIGImJkQ9PT0yPzFFMzowfTsKZy53RzE9ZnVuY3Rpb24obixXKXtpZihuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCkpe3ZhciBEPW4uTi5OLmdldChXKTtpZihEKXtmb3IodmFyIGIgb2YgRCl7bi5iaih7cmVtX21ldGE6Yi5jcG59KTtEPW47bGV0IHY9RC5XLmdldChiLmNwbik7RC5XLmRlbGV0ZShiLmNwbik7diYmRC5ncy5yZW1vdmVDdWVSYW5nZSh2KTt6VWgoRC5OLGIpfW4uWXEuY2xlYXIoKTtiPW4uTjtEPWIuTi5nZXQoVyk/P1tdO2ZvcihsZXQgdiBvZiBEKXpVaChiLHYpO2IuTi5kZWxldGUoVyk7KFc9bi5aaC5nZXQoVykpJiZuLlJ0JiZuLmdzLll5KFcpfX19OwpodnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPW4uVnx8bi5hcHAuTU4oKS5nZXRQbGF5ZXJTdGF0ZSgpO0RMKG4sITApO1c9aXNGaW5pdGUoVyk/VzpuLk4uTlcoKTt2YXIge0lEOnYsQkU6a309YmwobixXKTtXPXYmJiF2ZihuLHYpfHwhdiYmbi5OIT09bi5hcHAuTU4oKTt2YXIgaD1rKjFFMztoPW4uVyYmbi5XLnN0YXJ0PD1oJiZoPD1uLlcuZW5kOyFXJiZofHxrcihuKTt2P2cua3JaKG4sdixrLEQsYik6eHIobixrLEQsYiwiX2V4ZWN1dGUiKX07CmcuTEo9ZnVuY3Rpb24obixXLEQsYil7bi5OLlUoInRpbWVsaW5lZXJyb3IiLHtlOlcsY3BuOkQ/RDp2b2lkIDAsdmlkZW9JZDpiP2I6dm9pZCAwfSl9OwpnLmVhPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBnLmw1KE1hdGgubWF4KDAsbi01RTMpLFc/MHg4MDAwMDAwMDAwMDAwOm4tMSx7bmFtZXNwYWNlOiJjaGlsZHBsYXliYWNrIixwcmlvcml0eTo5fSl9OwpnLnhhaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5MeDtXLkx4PUQ7dmYobixXKSYmKEQ9bi5hcHAuTU4oKSxiLm9JPT09bi5XJiZrcihuKSxELnJlbW92ZUN1ZVJhbmdlKGIub0kpLEQuYWRkQ3VlUmFuZ2UoVy5MeC5vSSkpfTsKZy5rclo9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12ZihuLFcpO2lmKCFrKXtXLnBsYXllclZhcnMucHJlZmVyX2dhcGxlc3M9ITA7dmFyIGg9bmV3IGcuVXIobi5CLFcucGxheWVyVmFycyk7aC5LZj1XLktmO24uYXBpLnoyKGgsVy5wbGF5ZXJUeXBlKX1oPW4uYXBwLk1OKCk7a3x8aC5hZGRDdWVSYW5nZShXLkx4Lm9JKTtoLnNlZWtUbyhELHtxZDoiYXBwbGljYXRpb25fdGltZWxpbmVtYW5hZ2VyIiwuLi5ifSk7TEwyKG4sdil9OwpldnQ9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7Yj1XLktmO3ZhciB2PVcucGxheWVyVmFycyxrPVcucGxheWVyVHlwZTtuLks9Vzt2JiZuLmFwaS5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnModixrLEQsYil9OwpnJFM9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7bi5hcGkuV3Aobi5OLEQsVyl9Owprcj1mdW5jdGlvbihuKXtuLks9bnVsbDtuLlc9bnVsbDtuLmFwaS5kVCgpfHxuLmFwaS5jbGVhclF1ZXVlKCl9Owp2Zj1mdW5jdGlvbihuLFcpe249bi5hcHAuTU4oKTtyZXR1cm4hIW4mJm4uZ2V0VmlkZW9EYXRhKCkuS2Y9PT1XLktmfTsKWGVqPWZ1bmN0aW9uKG4sVyl7dmYobixXKXx8Zy5MSihuLCJjaGlsZFBsYXliYWNrSXNOb3RQcmVzZW50aW5nIik7cmV0dXJuIFcuZEk9PT1XLm9hK1cuZHVyYXRpb25Ncz9XLm9hK24uYXBwLk1OKCkuZ2V0Q3VycmVudFRpbWUoKSoxRTM6Vy5kSX07CmJsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtmb3IobGV0IGIgb2Ygbi5KKXtuPWIub2EvMUUzK0Q7bGV0IHY9bitiLmR1cmF0aW9uTXMvMUUzO2lmKG4+VylicmVhaztpZih2PlcpcmV0dXJue0lEOmIsQkU6Vy1ufTtEPXYtYi5kSS8xRTN9cmV0dXJue0lEOm51bGwsQkU6Vy1EfX07CkRMPWZ1bmN0aW9uKG4sVyl7bi5PPU5hTjtuLkQ9bnVsbDtuLlkuc3RvcCgpO24uWCYmVyYmbi5YLkdfKCk7bi5WPW51bGw7bi5YPW51bGx9Owp4cj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uTjtrIT09bi5hcHAuTU4oKSYmbi5hcHAuWDkoKTtuLkIuUygiaHRtbDVfc2Ficl9jc2RhaV9zZWVrX2xvZyIpfHwodj0iIik7ay5zZWVrVG8oVyx7cWQ6ImFwcGxpY2F0aW9uX3RpbWVsaW5lbWFuYWdlciIrKHY/PyIiKSwuLi5EfSk7TEwyKG4sYil9OwpMTDI9ZnVuY3Rpb24obixXKXtuPW4uYXBwLk1OKCk7dmFyIEQ9bi5nZXRQbGF5ZXJTdGF0ZSgpO1cuaXNPcldpbGxCZVBsYXlpbmcoKSYmIUQuaXNPcldpbGxCZVBsYXlpbmcoKT9uLnBsYXlWaWRlbygpOlcuaXNQYXVzZWQoKSYmIUQuaXNQYXVzZWQoKSYmbi5wYXVzZVZpZGVvKCl9OwpxZWk9ZnVuY3Rpb24obil7dmFyIFc9bi5KLmZpbmQoRD0+dmYobixEKSk7CmlmKFcpe2xldCBEPW4uYXBwLk1OKCk7a3Iobik7bGV0IGI9bmV3IGcubG0oOCk7Vz1YZWoobixXKS8xRTM7eHIobixXLHt9LGIsIl9mb3JjZSIpO0QuVSgiZm9yY2VQYXJlbnRUcmFuc2l0aW9uIix7Y2hpbGRQbGF5YmFjazoxfSk7bi5OLlUoImZvcmNlUGFyZW50VHJhbnNpdGlvbiIse3BhcmVudFBsYXliYWNrOjF9KX19OwpnLmc1PWZ1bmN0aW9uKG4sVz0tMSxEPUluZmluaXR5KXtmb3IobGV0IFt4LExdb2Ygbi5qKXt2YXIgYj14LHY9TDt2LnFJPj1XJiZ2LnRhcmdldCYmdi50YXJnZXQuZEk8PUQmJihuLk4ucmVtb3ZlQ3VlUmFuZ2UoYiksbi5qLmRlbGV0ZShiKSl9Yj1bXTtmb3IobGV0IHggb2Ygbi5KKXgub2E+PVcmJnguZEk8PUQ/KHY9bix2Lks9PT14JiZrcih2KSx2Zih2LHgpJiZ2LmFwcC5YOSgpKTpiLnB1c2goeCk7bi5KPWI7dmFyIHtJRDprLEJFOmh9PWJsKG4sVy8xRTMpO2smJihXPWgqMUUzLGcuR3IxKG4sayxXLGsuZEk9PT1rLm9hK2suZHVyYXRpb25Ncz9rLm9hK1c6ay5kSSkpOyh7SUQ6V309YmwobixELzFFMykpO1cmJmcuTEoobixgSW52YWxpZCBjbGVhckVuZFRpbWVNcz0ke0R9IHRoYXQgZmFsbHMgZHVyaW5nICR7YHBsYXliYWNrPXt0aW1lbGluZVBsYXliYWNrSWQ9JHtXLktmfSB2aWRlb19pZD0ke1cucGxheWVyVmFycy52aWRlb19pZH0gZHVyYXRpb25Ncz0ke1cuZHVyYXRpb25Nc30gZW50ZXJUaW1lTXM9JHtXLm9hfSBwYXJlbnRSZXR1cm5UaW1lTXM9JHtXLmRJfX1gfS5DaGlsZCBwbGF5YmFja3MgY2FuIG9ubHkgaGF2ZSBkdXJhdGlvbiB1cGRhdGVkIG5vdCB0aGVpciBzdGFydC5gKX07CmcuR3IxPWZ1bmN0aW9uKG4sVyxELGIpe1cuZHVyYXRpb25Ncz1EO1cuZEk9YjtiPXtvSTpnLmVhKEQsITApLHFJOkQsdGFyZ2V0Om51bGx9O2cueGFpKG4sVyxiKTt2ZihuLFcpJiZuLmFwcC5NTigpLmdldEN1cnJlbnRUaW1lKCkqMUUzPkQmJihXPVhlaihuLFcpLzFFMyxEPW4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKSx4cihuLFcse30sRCwiX3VwZGF0ZSIpKX07CiRhcj1mdW5jdGlvbihuKXtuJiZuIT09IndlYiImJnRZaS5pbmNsdWRlcyhuKX07CnVScj1mdW5jdGlvbihuLFcpe3JldHVybiBXPyEhbi5OLmdldChXKTohMX07CnJFUz1mdW5jdGlvbihuLFcpe24uZGF0YXNldC52ZXJzaW9uPVd9OwpzOHI9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuUkIsRD0oKT0+e24uRU49bmV3IGcuYnIoMCwwLDAsMCk7bi5JMD1uZXcgZy5icigwLDAsMCwwKX0sYj1oPT57aC5nZXRWaWRlb0RhdGEoKSYmbi51cGRhdGVWaWRlb0RhdGEoaC5nZXRWaWRlb0RhdGEoKSl9LHY9KGgseCk9PntuLmYxKGgseCl9LGs9aD0+e24ubkImJlhTKG4pOwpxNyhuKSE9PW4uUDAmJm4ucmVzaXplKCk7bi5hcHAuRygpLlMoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZuLm04JiYoaC5zdGF0ZS5pc1BhdXNlZCgpP24ubTgucGF1c2UoKTpoLlhRKDgpJiZuLm04LnBsYXlTdGF0ZT09PSJwYXVzZWQiJiZuLm04LnBsYXkoKSl9OwpXLmFkZEV2ZW50TGlzdGVuZXIoImluaXRpYWxpemluZ21vZGUiLEQpO1cuYWRkRXZlbnRMaXN0ZW5lcigidmlkZW9wbGF5ZXJyZXNldCIsYik7Vy5hZGRFdmVudExpc3RlbmVyKCJ2aWRlb2RhdGFjaGFuZ2UiLHYpO1cuYWRkRXZlbnRMaXN0ZW5lcigicHJlc2VudGluZ3BsYXllcnN0YXRlY2hhbmdlIixrKTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57Vy5yZW1vdmVFdmVudExpc3RlbmVyKCJpbml0aWFsaXppbmdtb2RlIixEKTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpZGVvcGxheWVycmVzZXQiLGIpO1cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlkZW9kYXRhY2hhbmdlIix2KTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInByZXNlbnRpbmdwbGF5ZXJzdGF0ZWNoYW5nZSIsayl9KX07ClllaT1mdW5jdGlvbihuKXt2YXIgVz1uLkV6KCksRD0xLGI9ITEsdj1OTncobixXLG4uZ2V0VmlkZW9Bc3BlY3RSYXRpbygpKSxrPW4uYXBwLkcoKSxoPWsuUygiZW5hYmxlX2Rlc2t0b3BfcGxheWVyX3VuZGVybGF5IikseD1GbigpLEw9Zy5kTShrLmV4cGVyaW1lbnRzLCJwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aCIpO0w9aCYmbi5hSCYmbi5nZXRQbGF5ZXJTaXplKCkud2lkdGg+TDtpZihxNyhuKSl7dmFyIGU9cGVVKG4pO3ZhciBHPWlzTmFOKGUpfHxnLlJnfHxuciYmZy5Hbnx8TDtnLk1MJiYhZy5aWCg2MDEpP2U9di5hc3BlY3RSYXRpbzpHPUd8fGsuY29udHJvbHNUeXBlPT09IjMiO0c/TD8oRz1rLlMoInBsYWNlX3NocnVua2VuX3ZpZGVvX29uX2xlZnRfb2ZfcGxheWVyIik/MTY6bi5nZXRQbGF5ZXJTaXplKCkud2lkdGgtVy53aWR0aC0xNixlPU1hdGgubWF4KChuLmdldFBsYXllclNpemUoKS5oZWlnaHQtVy5oZWlnaHQpLzIsMCksRz1uZXcgZy5icihHLGUsVy53aWR0aCwKVy5oZWlnaHQpLG4ubkIuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1yYWRpdXMiLCIxMnB4IikpOkc9bmV3IGcuYnIoMCwwLFcud2lkdGgsVy5oZWlnaHQpOihEPXYuYXNwZWN0UmF0aW8vZSxHPW5ldyBnLmJyKChXLndpZHRoLXYud2lkdGgvRCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aC9ELHYuaGVpZ2h0KSxEPT09MSYmZy5HbiYmKGU9Ry53aWR0aC1XLmhlaWdodCplLGU+MCYmKEcud2lkdGgrPWUsRy5oZWlnaHQrPWUpKSk7Zy5pSChuLmVsZW1lbnQsInl0cC1maXQtY292ZXItdmlkZW8iLE1hdGgubWF4KEcud2lkdGgtdi53aWR0aCxHLmhlaWdodC12LmhlaWdodCk8MSk7aWYoeHx8bi5jSSluLm5CLnN0eWxlLmRpc3BsYXk9IiI7bi5QMD0hMH1lbHNle0c9LVcuaGVpZ2h0O2cuTUw/Ryo9d2luZG93LmRldmljZVBpeGVsUmF0aW86Zy5zbSYmKEctPXdpbmRvdy5zY3JlZW4uaGVpZ2h0KTtHPW5ldyBnLmJyKDAsRyxXLndpZHRoLFcuaGVpZ2h0KTtpZih4fHxuLmNJKW4ubkIuc3R5bGUuZGlzcGxheT0KIm5vbmUiO24uUDA9ITF9dlkobi5FTixHKXx8KG4uRU49RyxnLkRmKGspPyhuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsRy53aWR0aCsicHgiLCJpbXBvcnRhbnQiKSxuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLEcuaGVpZ2h0KyJweCIsImltcG9ydGFudCIpKTpOdChuLm5CLEcuZ2V0U2l6ZSgpKSxHPW5ldyBnLk1ZKEcubGVmdCxHLnRvcCksYj1uLm5CLHg9TWF0aC5yb3VuZChHLngpLHggaW5zdGFuY2VvZiBnLk1ZPyhrPXgueCx4PXgueSk6KGs9eCx4PU1hdGgucm91bmQoRy55KSksYi5zdHlsZS5sZWZ0PXNqKGssITEpLGIuc3R5bGUudG9wPXNqKHgsITEpLGI9ITApO1c9bmV3IGcuYnIoKFcud2lkdGgtdi53aWR0aCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aCx2LmhlaWdodCk7dlkobi5JMCxXKXx8KG4uSTA9VyxiPSEwKTtnLmgxKG4ubkIsInRyYW5zZm9ybSIsRD09PTE/IiI6YHNjYWxlWCgke0R9KWApO2gmJkwhPT1uLlp4JiYoTCYmKG4ubkIuYWRkRXZlbnRMaXN0ZW5lcihHQSwKbi5reiksbi5uQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uY2FuY2VsIixuLmt6KSxuLm5CLmNsYXNzTGlzdC5hZGQoZy5Pbi5WSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORykpLG4uWng9TCxuLmFwcC5SQi5XSigicGxheWVyVW5kZXJsYXlWaXNpYmlsaXR5Q2hhbmdlIixuLlp4PyJ0cmFuc2l0aW9uaW5nIjoiaGlkZGVuIikpO3JldHVybiBifTsKWFM9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuRygpLmNvbnRyb2xzVHlwZT09PSIzIiYmIW4ud0YmJnE3KG4pJiYhbi5hcHAuc2p8fCExO24ubkIuY29udHJvbHM9VztuLm5CLnRhYkluZGV4PVc/MDotMTtuLmFwcC5HKCkuSiYmKG4ubkIuYXJpYUhpZGRlbj0idHJ1ZSIpO1c/bi5uQi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCk6bi5uQi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCl9OwpwZVU9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuTU4oKTtpZihXPVc/Vy5nZXRWaWRlb0RhdGEoKTpudWxsKXtpZihnLkhUKFcpfHxnLmZBKFcpfHxnLkpEKFcpKXJldHVybiAxNi85O2lmKE1zKFcpJiZXLlcuTigpKXJldHVybiBuPVcuVy52aWRlb0luZm9zWzBdLnZpZGVvLHRiKG4ud2lkdGgsbi5oZWlnaHQpfXJldHVybihuPW4ubkIpP3RiKG4udmlkZW9XaWR0aCxuLnZpZGVvSGVpZ2h0KToxNi85fTsKdGI9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWF0aC5hYnMoJHIqVy1uKTwxfHxNYXRoLmFicygkci9uLVcpPDE/JHI6bi9XfTsKTk53PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQsaz10YihXLndpZHRoLFcuaGVpZ2h0KTtuLnJVP3Y9RDxrP0luZmluaXR5OjA6aXNOYU4obi5WUik/aXNOYU4obi5mVCl8fCh2PW4uZlQpOnY9bi5WUjtpc0Zpbml0ZSh2KT92PT09MCYmbi5hcHAuRygpLlp0KCkuTi5RUShIZngpJiYodj1NYXRoLm1pbihELGspKTp2PU1hdGgubWF4KEQsayk7bj12Pms/e3dpZHRoOlcud2lkdGgsaGVpZ2h0Olcud2lkdGgvdixhc3BlY3RSYXRpbzp2fTp2PGs/e3dpZHRoOlcuaGVpZ2h0KnYsaGVpZ2h0OlcuaGVpZ2h0LGFzcGVjdFJhdGlvOnZ9Ont3aWR0aDpXLndpZHRoLGhlaWdodDpXLmhlaWdodCxhc3BlY3RSYXRpbzprfTtifHxpc05hTihEKXx8KEQ+dj9uLndpZHRoPW4uaGVpZ2h0KkQ6RDx2JiYobi5oZWlnaHQ9bi53aWR0aC9EKSxuLmFzcGVjdFJhdGlvPUQpO3JldHVybiBufTsKcTc9ZnVuY3Rpb24obil7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTEpcmV0dXJuITE7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTYpcmV0dXJuITA7dmFyIFc9bi5hcHAuTU4oKTtpZighV3x8Vy5KbigpKXJldHVybiExO249bi5hcHAuUkIuZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtXPSFuLk4oMil8fFcmJlcuZ2V0VmlkZW9EYXRhKCkuSzt2YXIgRD1uLk4oMTAyNCk7cmV0dXJuIG4mJlcmJiFEJiYhbi5pc0N1ZWQoKX07CmZHUz1mdW5jdGlvbihuKXtpZihuLmNzbiE9PWcuUnYoKSlpZihuLmNzbj09PSJVTkRFRklORURfQ1NOIiluLmNzbj1nLlJ2KCk7ZWxzZXt2YXIgVz1nLlJ2KCksRD13NCgpO2lmKFcmJkQpe24uY3NuPVc7Zm9yKGxldCBiIG9mIG4uZWxlbWVudHMpe2xldCB2PWIudmlzdWFsRWxlbWVudDt2JiZ2LmlzQ2xpZW50VmUoKSYmVyYmRCYmKGcubCgiY29tYmluZV92ZV9ncmFmdHMiKT9PMyhJZigpLHYsRCk6UFYodWcpKHZvaWQgMCxXLEQsdikpfX1pZihXKWZvcihsZXQgYiBvZiBuLk4pKG49Yi52aXN1YWxFbGVtZW50KSYmbi5pc0NsaWVudFZlKCkmJkZqKFcsbil9fTsKSkViPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLlk2KXtuLlk2PW4uRChuLlkpO3RyeXtsZXQgRD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt2YXIgVz1zZXRUaW1lb3V0KCgpPT57RC5yZWplY3QoInRpbWVvdXQiKX0sMUU0KTsKbi5ZNi5vbmVycm9yPSgpPT57RC5yZWplY3QoImVycm9yIil9OwpuLlk2Lm9ubWVzc2FnZT0oKT0+e0QucmVzb2x2ZSgpO2NsZWFyVGltZW91dChXKX07CmF3YWl0IEQucHJvbWlzZTtuLlk2Lm9ubWVzc2FnZT1udWxsO24uWTYub25lcnJvcj1udWxsO24uWTYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+dm9pZCBuLnJlY2VpdmUoYikpOwpuLlUoIndvcmtlckN0b3IiLHt9KX1jYXRjaChEKXtjbGVhclRpbWVvdXQoVyksbi5ZNj8udGVybWluYXRlKCksbi5ZNi5vbm1lc3NhZ2U9bnVsbCxuLlk2Lm9uZXJyb3I9bnVsbCxuLlk2PXZvaWQgMCxuLlUoIndvcmtlckVyciIse2U6YCR7RH1gfSl9fX07CklHdz1mdW5jdGlvbihuLFcpe2lmKG4uTiYmbi5OLmJ5dGVMZW5ndGg9PT1XKXJldHVybiBuLk47Zm9yKHZhciBEPW5ldyBVaW50OEFycmF5KFcpLGI9MDtXPjA7KXtsZXQgdj1uZXcgVWludDhBcnJheShNYXRoLm1pbihXLDY1NTM2KSk7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2KTtELnNldCh2LGIpO1ctPXYubGVuZ3RoO2IrPXYubGVuZ3RofXJldHVybiBuLk49RH07ClNlMT1mdW5jdGlvbihuLFcpe24uWTYmJihXPUlHdyhuLFcpLFcubGVuZ3RoPjAmJldbMF0rKyxXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjEsYTk6e2RhdGE6V319LG4ucmVxdWVzdChXKSl9OwpBRWk9YXN5bmMgZnVuY3Rpb24obil7bi5KIT09dm9pZCAwfHxuLld8fChuLlc9ITAsYXdhaXQgSkViKG4pLG4uVz0hMSxuLlk2JiYoU2UxKG4sbi5LKSxuLko9c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgVz1bMSwyLDMsNF07bi5CQiYmKFcucHVzaCg1KSxuLlgmJlcucHVzaCg2KSk7c3dpdGNoKFdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKlcubGVuZ3RoKV0pe2Nhc2UgMTpTZTEobixuLmopO2JyZWFrO2Nhc2UgMjpuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZToyLGx4OntwbGFjZWhvbGRlcjohMH19LG4ucmVxdWVzdChXKSk7YnJlYWs7Y2FzZSAzOlc9bi5NdztuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZTozLHEwOntNdzpXfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDQ6bi5ZNiYmKFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NCxpc1R5cGVTdXBwb3J0ZWQ6e3BsYWNlaG9sZGVyOiEwfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDU6bi5CQiYmCihXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjUseTg6e0JCOm4uQkJ9fSxuLnJlcXVlc3QoVykpO2JyZWFrO2Nhc2UgNjp2YXIgRD1uLmo7Vz1uLlM3O24uWTYmJihEPUlHdyhuLEQpLFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NixKTDp7ZGF0YTpELFM3Old9fSxuLnJlcXVlc3QoVykpfX0sbi5pbnRlcnZhbE1zKSkpfTsKcjU9ZnVuY3Rpb24obixXLEQpe24uc2VuZE1lc3NhZ2Uoe1sxNjFdOjIsWzExNl06VyxbMTM5XTpEfSl9OwpaZnc9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi50Yi5HKCksRD1XLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKS50cnVzdGVkUGxheWJhY2tXb3JrZXJVcmw7aWYoRD1wdyhEfHxudWxsKSluLlk2PVhNKEQpLG4uTj1uZXcgbWFVKG4uWTYpLG4uWTYuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntnLlhqKGIuZXJyb3IpfSksbi5ZNi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiPT57dmFyIHY9Yi5kYXRhOwpiPXZbMTE4XTt2YXIgaz12WzE4MF07aWYoaylmb3IodmFyIGggb2Yga1sxMjJdKShrPW4uVy5nZXQoaFsxMTldKSkmJktMWihrLGhbMTUxXSk7c3dpdGNoKGJbMTYxXSl7Y2FzZSAxOmxldCB7WzEwM106ZSxbM106R309YlsxN107c3dpdGNoKGUpe2Nhc2UgMTpsZXQgW3IsTl09RztuLnRiLmNsZWFyUXVldWUocixOKTticmVhaztjYXNlIDI6W2JdPUc7bi50Yi5vblBsYXllclJlcXVlc3RTZW50KGIpO2JyZWFrO2Nhc2UgMzpsZXQgW0gsQSx5XT1HO2lmKGI9eT9uLkouZ2V0KHkpOm51bGwpYj1iLmdldFZpZGVvRGF0YSgpLG4udGIuVmEoSCxBLGIpO2JyZWFrO2Nhc2UgNDpsZXQgW1QseixDXT1HO2I9bi5YLmdldCh6KTtpZighYil0aHJvdyBFcnJvcihgVW5rbm93biBtaXJyb3JlZCBDdWVSYW5nZTogJHt6fWApO24udGIuQ0ooVCxiLEMpO2JyZWFrO2Nhc2UgNTpbYl09RzsoYj1uLkouZ2V0KGIpKSYmbi50Yi5ueShiLmdldFZpZGVvRGF0YSgpKTticmVhaztjYXNlIDY6W2JdPUc7KGI9Cm4uSi5nZXQoYikpJiZuLnRiLmZMKGIuZ2V0VmlkZW9EYXRhKCkpO2JyZWFrO2Nhc2UgNzpuLnRiLkdjKCk7YnJlYWs7ZGVmYXVsdDpnLnBiKGUsdm9pZCAwKX1icmVhaztjYXNlIDI6dj1uLk47aD1iWzExNl07Yj1iWzEzOV07az12Lk4uZ2V0KGgpO3RyeXtrJiZrLnJlamVjdChiKX1maW5hbGx5e3YuTi5kZWxldGUoaCl9YnJlYWs7Y2FzZSAzOnY9bi5OO2g9YlsxMTZdO2I9YlsxMzldO2s9di5OLmdldChoKTt0cnl7ayYmay5yZXNvbHZlKGIpfWZpbmFsbHl7di5OLmRlbGV0ZShoKX1icmVhaztjYXNlIDQ6T2Z0KG4sdik7YnJlYWs7Y2FzZSA1OmJyZWFrO2Nhc2UgNjpiPXZbMTE4XTtoPW4uSy5nZXQoYls5OF0pO3Y9dlsxMzhdO2lmKGgpe2xldCB7WzEwM106cixbM106Tn09YlsxN107c3dpdGNoKHIpe2Nhc2UgImxvYWQiOmgubG9hZCguLi5OKTt2JiZyNShuLk4sdik7YnJlYWs7Y2FzZSAicGxheSI6Yj1oLnBsYXkoLi4uTik7diYmc1oobix2LGJ8fHZvaWQgMCk7YnJlYWs7Y2FzZSAicGF1c2UiOmgucGF1c2UoLi4uTiksCnYmJnI1KG4uTix2KX19YnJlYWs7Y2FzZSA3OmlmKHY9bi5LLmdldChiWzk4XSkpe3ZhciB7WzEzNV06eCxbMTY1XTpMfT1iWzE0NF07Yj12LmVfKCk7c3dpdGNoKHgpe2Nhc2UgImN1cnJlbnRUaW1lIjpiLmN1cnJlbnRUaW1lPUw7YnJlYWs7Y2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSI6Yi5kZWZhdWx0UGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAibG9vcCI6Yi5sb29wPUw7YnJlYWs7Y2FzZSAibXV0ZWQiOmIubXV0ZWQ9TDticmVhaztjYXNlICJwbGF5YmFja1JhdGUiOmIucGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAic3JjIjpMPyhiPW4uRC5nZXQoTCkpJiZ2LnM1KGIpOih2LlZRKCksdi5lJCgpKTticmVhaztkZWZhdWx0OmcucGIoeCx2b2lkIDApfX1icmVhaztjYXNlIDg6aWYodj1uLlcuZ2V0KGJbMTE5XSkpe2xldCB7dHlwZTpyLGFyZ3M6TixsVDpIfT17dHlwZTpiWzQ3XVsxNjFdLGFyZ3M6Yls0N11bM10sbFQ6Wy4uLmJbNDddWzNdXX07c3dpdGNoKHIpe2Nhc2UgImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiOmI9Ck5bMF1bNV07di52aWRlb0RhdGEuWD1iP09OKGIpOm51bGw7SFswXT12LnZpZGVvRGF0YTticmVhaztjYXNlICJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIjpiPU5bMF1bNDhdO3YudmlkZW9EYXRhLko9Yj9PTihiKTpudWxsO0hbMF09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiOmI9TlsxXTtoPSEhdi52aWRlb0RhdGEuZ2V0UGxheWVyUmVzcG9uc2UoKTt6Zih2LnZpZGVvRGF0YSx7cmF3X3BsYXllcl9yZXNwb25zZTpiWzEyNV18fHZvaWQgMH0sIWgsITEpO0hbMV09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaGVhcnRiZWF0cGFyYW1zIjpiPU5bMF07SFswXT17dXJsOmJbMTYyXSxpbnRlcnZhbDpiWzU2XSxyZXRyaWVzOmJbMTQwXX07YnJlYWs7Y2FzZSAibm9uZmF0YWxlcnJvciI6Yj1OWzBdO0hbMF09bmV3IGcuQ2koYls0NV0sYlszOF0sYlsxNDVdKTticmVhaztjYXNlICJzdGF0ZWNoYW5nZSI6Yj1OWzBdO2g9TXdoKGJbMTUxXSk7SFswXT0KbmV3IGcuTjcoaCxNd2goYlsxMTNdKSk7di5wbGF5ZXJTdGF0ZT1oO2JyZWFrO2Nhc2UgInZpZGVvZWxlbWVudGV2ZW50IjpIWzBdPW5ldyBQQlModi5tZWRpYUVsZW1lbnQsTlswXVsxNjFdKX12LmV2ZW50cy5XSihyLC4uLkgpfWJyZWFrO2Nhc2UgOTpuLkQuc2V0KGJbMTAxXSxiWzEwMF0pO2JyZWFrO2RlZmF1bHQ6Zy5wYihiLHZvaWQgMCl9fSksbi5ZNi5wb3N0TWVzc2FnZSh7dHlwZToiQk9PVFNUUkFQIiwKZGF0YTp7aG9zdG5hbWU6d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYscHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnByb3RvY29sLHNlYXJjaDp3aW5kb3cubG9jYXRpb24uc2VhcmNoLHl0Q29uZmlnOntJTk5FUlRVQkVfSE9TVF9PVkVSUklERTp3aW5kb3cubG9jYXRpb24ub3JpZ2luLC4uLmcucWkueXQuY29uZmlnX319fSksbi5zZW5kTWVzc2FnZSh7WzE2MV06MyxbMTc1XTpXLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKX0pfTsKc1o9ZnVuY3Rpb24obixXLEQpe0Q/RC50aGVuKGI9PntyNShuLk4sVyxiKX0sYj0+e24uTi5zZW5kTWVzc2FnZSh7WzE2MV06MSwKWzExNl06VyxbMTM5XTpifSl9KTpyNShuLk4sVyxudWxsKX07Ck9mdD1mdW5jdGlvbihuLFcpe3ZhciBEPVdbMTE4XTtzd2l0Y2goRFsxMDNdKXtjYXNlIDE6bGV0IFtiLHYsa109RFszXTtEPW4udGIuZFEoYix2LGspOyhXPVdbMTM4XSkmJnNaKG4sVyxEKTticmVhaztjYXNlIDI6bGV0IFtoLHhdPURbM107RD1VYWgoeCxoKTsoVz1XWzEzOF0pJiZzWihuLFcsQWUoU2soRCxMPT4oe1sxNl06Zy5sWihMKSxbMTQ2XToiYzFhImluIEwuUlI/IWcudVouaXNJbml0aWFsaXplZCgpOiExfSkpKSk7CmJyZWFrO2Nhc2UgMzpEPW4udGIueWYoKTsoVz1XWzEzOF0pJiZzWihuLFcsRCk7YnJlYWs7ZGVmYXVsdDpnLnBiKERbMTAzXSx2b2lkIDApfX07CnlFMj1mdW5jdGlvbihuKXt2YXIgVz1uLnRiLkcoKSxEPW4udGIubGooKSxiPW4udGIuaGgoKSx2PUQuZ2V0UGxheWVyU2l6ZSgpO0Q9RC5FeigpO1c9e1syM106bi50Yi5GbigpLFs0NF06e1sxXTpXLlMkLFsxMjRdOlcuQ3UsWzEzMV06Vy55RSxbMTQzXTpXLmpXLFsxNTVdOlcuRVp9LFs1OV06bi50Yi5FOCgpLFs2MV06bi50Yi52MygpLFs2Nl06bi50Yi5pc0Z1bGxzY3JlZW4oKSxbNjddOiExLFs3MF06bi50Yi5qSSgpLFs3MV06bi50Yi5pc0lubGluZSgpLFs3Ml06bi50Yi5CUCgpLFs3M106bi50Yi5pc011dGVkKCksWzc1XTpuLnRiLmlzT3JjaGVzdHJhdGlvbkxlYWRlcigpLFs3N106bi50Yi5BbigpLFs4MF06ITEsWzgyXTohMSxbODNdOm4udGIuU0koKSxbODRdOm4udGIuUTAoKSxbMTA2XTpuLnRiLmlzTXV0ZWQoKSxbMTI2XTp7WzE3OV06di53aWR0aCxbNTNdOnYuaGVpZ2h0fSxbMTMzXTpuLnRiLk1OKCkuSEwoKSxbMTM0XTpuLnRiLk1OKCkuVXUoKSxbMTY2XTp7WzE3OV06RC53aWR0aCwKWzUzXTpELmhlaWdodH0sWzE3MV06YixbMTc0XTpuLnRiLmdldFZvbHVtZSgpfTtiPVtdO2ZvcihsZXQgW2ssaF1vZiBuLlcuZW50cmllcygpKXY9ayxEPWguZ2V0VmlkZW9EYXRhKCksYi5wdXNoKHtbMTE5XTp2LFsxNTFdOntbMTY3XTp7WzI1XTpELlJEfX19KTtuLlkmJk9iamVjdC5hc3NpZ24oVyx7WzY3XTpuLnRiLkhvKCksWzgwXTpuLnRiLmdXKCksWzgyXTpuLnRiLmRUKCl9KTtyZXR1cm57WzJdOlcsWzEyMl06Yn19OwpFJE09ZnVuY3Rpb24obixXKXt2YXIgRD1gbWFpbi5jdWVSYW5nZToke24uTysrfWA7aWYobi5YLmdldChEKSlyZXR1cm4gRDtuLlguc2V0KEQsVyk7bi5qLnNldChXLEQpO3JldHVybiBEfTsKaWZDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qLmdldChXKTtpZihEKXJldHVybiBuLmouZGVsZXRlKFcpLG4uWC5kZWxldGUoRCksRH07CktMWj1mdW5jdGlvbihuLFcpe1cmJihPYmplY3QuYXNzaWduKG4uTixXKSxuLmF1ZGlvVHJhY2s9RGMoV1s3XSksbi5YPVhMUyhXWzE0N10pLFc9V1sxNjddKSYmKG4udmlkZW9EYXRhLlR3PVdbMThdLG4udmlkZW9EYXRhLmNhcHRpb25UcmFja3M9V1syMF0ubWFwKEQ9PlZ3KEQpKSxuLnZpZGVvRGF0YS53YT1XWzIxXSxuLnZpZGVvRGF0YS5PJD1XWzE5XSxuLnZpZGVvRGF0YS5HQz1XWzMwXSxuLnZpZGVvRGF0YS52WD1EYyhXWzM1XSksbi52aWRlb0RhdGEuU3c9V1sxNzZdKX07CnU4Yj1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtyZXR1cm4gbi5mYSh7WzE2MV06OSxbMTddOlcsWzExOV06RH0pfTsKZy5wSj1mdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtuLnNlbmRNZXNzYWdlKHtbMTYxXTo5LFsxN106VyxbMTE5XTpEfSl9OwpZcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goe1sxNTBdOm4uc3RhcnQoRCksWzQyXTpuLmVuZChEKX0pO3JldHVybiBXfTsKbyRVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJlc9PT0yPyhuLkIuWnQoKS5OLlFRKEhmKT9uLlZyLk4/LmlzQWQoKT8/ITE6bi5Rdz8uTmQobi5nZXRDdXJyZW50VGltZSgpKSk/bi5pdTotMTpXIT09Mnx8bi5MWSgpP24uaXU6bi5CJH07CnY3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNqJiZuLmdldFZpZGVvRGF0YSgpLm11dGVkQXV0b3BsYXl9Owp2YXIgbXR4PWZ1bmN0aW9uKG4pe3JldHVybiBYRFtJWzEwXV0odGhpcywxNiw0MDI5LG4pfTsKZko9ZnVuY3Rpb24obixXLEQpe1cmJihXPW4uVkUoe3BsYXllclR5cGU6RH0pLFc9PT1uLmNYKCkmJihXLmdldFZpZGVvRGF0YSgpLlBYPSEwKSl9OwpKYj1mdW5jdGlvbihuLFcsRD0hMCxiLHYsayl7dmFyIGg9bi5WRSh7cGxheWVyVHlwZTp2fSkseD1oLmdldFZpZGVvRGF0YSgpO2guZ2V0UGxheWVyVHlwZSgpPT09MiYmIW4uTFkoaCkmJiF4LmlzU2Vla2FibGV8fGcucEEoeCl8fChoJiZoPT09bi5jWCgpJiZuLkhOJiYhZGF0KG4sVykmJm4uc2V0TG9vcFJhbmdlKG51bGwpLG4uc2Vla1RvKFcsRCxiLHYsaywiX3JlcXVlc3QiKSl9OwpBYj1mdW5jdGlvbihuLFcpe1c9bi5WRSh7cGxheWVyVHlwZTpXfSk7Vz1nLklYKG4sVyk7cmV0dXJuIFNhKG4sVy5QRygpLFcpfTsKUGY9ZnVuY3Rpb24obixXLEQpe24uQi5iTiYmKG4uRl89VyxXLm11dGVkfHxLSihuLCExKSxEJiZuLkIuc3RvcmVVc2VyVm9sdW1lJiYhbi5CLnM1JiYoRD17dm9sdW1lOk1hdGguZmxvb3IoVy52b2x1bWUpLG11dGVkOlcubXV0ZWR9LEQudW5zdG9yYWJsZXx8KGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQpLGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQsMjU5MkUzKSkpLE9aKG4pLEQ9Zy5vZCYmbi5tZWRpYUVsZW1lbnQmJiFuLm1lZGlhRWxlbWVudC5YXygpJiYhbi5tZWRpYUVsZW1lbnQuVEMoKSxuLkIuczUmJiFEfHxnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIix7bXV0ZWQ6Vy5tdXRlZCx2b2x1bWU6Vy52b2x1bWUsdW5zdG9yYWJsZTohbi5CLnN0b3JlVXNlclZvbHVtZX0pKX07ClZTPWZ1bmN0aW9uKG4pe3JldHVybiBuLmNYKCkuZ2V0VmlkZW9EYXRhKCl9Owp6djI9ZnVuY3Rpb24obixXPSExKXt2YXIgRD0hMTtuLkIuR0MmJihuLlJCLldKKCJwYWdlVHJhbnNpdGlvbiIpLEQ9ITApO24uc3RvcFZpZGVvKEQsVyl9OwpVWj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtXPXtpZDpXLG5hbWVzcGFjZTpoPz8iYXBwYXBpIn07az09PSJjaGFwdGVyIj8oVy5zdHlsZT1aTC5DSEFQVEVSX01BUktFUixXLnZpc2libGU9ITApOmlzTmFOKHYpfHwoaz09PSJhZCI/Vy5zdHlsZT1aTC5BRF9NQVJLRVI6KFcuc3R5bGU9WkwuVElNRV9NQVJLRVIsVy5jb2xvcj12KSxXLnZpc2libGU9ITApO24uWEgoW25ldyBnLmw1KEQqMUUzLGIqMUUzLFcpXSwxKTtyZXR1cm4hMH07CmxHdz1mdW5jdGlvbihuLFcsRD0hMCxiLHYpe3ZhciBrPW4uVkUoe3BsYXllclR5cGU6MX0pLGg9MDtrLmdldFN0cmVhbVRpbWVPZmZzZXQoKSYmIWsuU1coKSYmKGg9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO0piKG4sVy1oLEQsYiwxLHYpfTsKajgyPWZ1bmN0aW9uKG4pe2lmKG4uQi5zdG9yZVVzZXJWb2x1bWUpcmV0dXJuIHJQKCk7dmFyIFc9bi5pc0lubGluZSgpfHxuLndlYlBsYXllckNvbnRleHRDb25maWcuY29udGV4dElkPT09IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0lOTElORV9QUkVWSUVXIjtyZXR1cm4gbi5adCgpLk4uUVEoVE5DKSYmVz97dm9sdW1lOnJQKCkudm9sdW1lLG11dGVkOm4uQi5tdXRlfTp7dm9sdW1lOjEwMCxtdXRlZDpuLkIubXV0ZX19OwpDQlM9ZnVuY3Rpb24obixXLEQsYix2LGs9ITApe3ZhciBoPW4uaEMoKTtpZighaClyZXR1cm4gayYmbi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjayYmbi5KVi5wdXNoKHtpZDpXLFd1OkQsdHY6Yn0pLCExO2s9aC1uLmdldEN1cnJlbnRUaW1lKCk7cmV0dXJuIFVaKG4sVyxELWssYi1rLHZvaWQgMCx2b2lkIDAsdil9Owp5Wj1mdW5jdGlvbihuLFcpe24ucGxheWxpc3QmJihnLkNwKG4ucGxheWxpc3QpLG4ucGxheWxpc3Q9bnVsbCk7VyYmKG4uWlYmJihXLmZldGNoPTApLG4ucGxheWxpc3Q9bmV3IEJOYihuLkIsVykpfTsKaWw9ZnVuY3Rpb24obixXLEQpe1c9bi5WRSh7cGxheWVyVHlwZTpEfSkuTnAoVyk7RCYmbi5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpIT09RHx8RVoobiwiY3VlcmFuZ2VzcmVtb3ZlZCIsVyl9OwpVYWg9ZnVuY3Rpb24obixXKXtyZXR1cm4gSFAobmV3IGcuRkxVKHtwSzpXLGNsaWVudFBsYXliYWNrTm9uY2U6bn0pKX07CndlVT1mdW5jdGlvbihuLFcsRCxiPUluZmluaXR5LHY9MCl7dmFyIGs9bi5NTigpO0Q9RHx8ay5nZXRQbGF5ZXJUeXBlKCk7KGs9dWwobixELFcsITApKXx8KGs9b1gobixELFcsITApKTtXPW4uY1goKTtEPT09MiYmVyYmKEQ9ay5nZXRWaWRlb0RhdGEoKSxXLlV5KEQuY2xpZW50UGxheWJhY2tOb25jZSxELkZGfHwiIixELmJyZWFrVHlwZXx8MCxELllLLEQudmlkZW9JZHx8IiIpKTtuLldwKGssYiwwLHYpfTsKTVlNPWZ1bmN0aW9uKG4pe3ZhciBXPW4ud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmw7cmV0dXJuIFc/cHcoVykudG9TdHJpbmcoKTpuLndlYlBsYXllckNvbnRleHRDb25maWcuanNVcmx9OwpSdlo9ZnVuY3Rpb24obil7dmFyIFc9IiIsRD0iIixiPU1ZTShuKSx2PWcubGYoYiwiY2IiKTt2JiYvXltcdy1dKyQvLnRlc3QodikmJihEPXYpO2IuaW5kZXhPZigiLy8iKT09PTAmJihiPW4uQi5wcm90b2NvbCsiOiIrYik7dj1iLmxhc3RJbmRleE9mKCIvYmFzZS5qcyIpO3YhPT0tMSYmKFc9Yi5zdWJzdHJpbmcoMCx2KzEpKTtpZihiPUVycm9yKCkuc3RhY2spaWYoYj1iLm1hdGNoKC9cKCguKj9cLyhkZWJ1Zy0pP3BsYXllci0uKj8pOlxkKzpcZCtcKS8pKWI9YlsxXSxiLmluY2x1ZGVzKFcpfHxnLkdxKEVycm9yKGBQbGF5ZXIgbW9kdWxlIFVSTCBtaXNtYXRjaDogJHtifSB2cyAke1d9LmApKTtXPW5ldyBnLmQ1KG4uUkIsVyxEKTtqTGooVyx7ZGVzdHJveWVkOigpPT57bi5vbkFwaUNoYW5nZSgpfX0pOwpyZXR1cm4gV307ClE4eD1mdW5jdGlvbihuKXtpZihuLkIuWnQoKS5OLlFRKG5hKSl7bi5tUS50aWNrKCJ3YXNtX3MiKTtsZXQgVz1FZChuLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCx2b2lkIDAsbi5JbC5iaW5kKG4pKTtuLkIuZUI9U2soVyxEPT57bi5tUS50aWNrKEQuaXNBc21qcz8id2FzbV9mYSI6Indhc21fZnciKTtKdShuLkIsRCk7cmV0dXJuIER9LEQ9PntuLm1RLnRpY2soIndhc21fZmVyciIpOwp0aHJvdyBEO30pfWVsc2UgT28obixmdW5jdGlvbigpe3ZhciBXPXRoaXM7CnJldHVybiBmdW5jdGlvbiooKXtXLm1RLnRpY2soIndhc21fcyIpO3ZhciBEPVFZKFcueDYpP2I9PlNrKERyWihXLng2KSx2PT52LmdCKGIpKTp2b2lkIDA7CnRyeXtsZXQgYj1FZChXLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCxELFcuSWwuYmluZChXKSksdj15aWVsZCpQUChiKTtXLm1RLnRpY2sodi5pc0FzbWpzPyJ3YXNtX2ZhIjoid2FzbV9mdyIpO0p1KFcuQix2KX1jYXRjaChiKXtXLm1RLnRpY2soIndhc21fZmVyciIpfX0oKX0pfTsKVll4PWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBnLlVyKG4uQixuLk5RKTtuLlJCLldKKCJpbml0aWFsdmlkZW9kYXRhY3JlYXRlZCIsVyk7cmV0dXJuIG9YKG4sMSxXLCExKX07CmFHMT1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7Vy5zZXRQbGF5YmFja1JhdGUobi5CLko/MTpjRXIobixOdW1iZXIoZy5aSSgieXQtcGxheWVyLXBsYXliYWNrLXJhdGUiKSl8fDEpKTtXLmgkKG4uWkwsbik7Vy5zbSgpfTsKVzJ3PWZ1bmN0aW9uKG4pe24uamgoKTt2YXIgVz1uLk5RO3pBKG4pO24uZXZlbnRzLk5OKHdpbmRvdywicmVzaXplIixuLkE2KTt2YXIgRD1WUyhuKTtnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIixuLkZfKTtpZihXJiZaVChXKSl7bGV0IGI9dkUobi5CKTtiJiYhbi5aViYmKFcuZmV0Y2g9MCk7bGV0IHY9Zy5vNChuLkIpO3YmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9wcl9zIik7aWYoIWJ8fG4uWlYpaWYodiYmIW4uWlYpbGwobik7ZWxzZSBpZighRC5PVigpKW4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSl9bi5RVChuLmNYKCksITEsITApOwpuLmNYKCkuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCl8fChXPWhnUyghbi5CLmRldmljZUlzQXVkaW9Pbmx5KSxXPT09ImZtdC5ub25lYXZhaWxhYmxlIj9uLktnKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsIm5vY29kZWNzLjEiKTpXPT09Imh0bWw1Lm1pc3NpbmdhcGkiP24uS2coVywyLCJVTlNVUFBPUlRFRF9ERVZJQ0UiLCJub2NhbnBsYXltZWRpYS4xIik6RCYmRC5PVigpJiZDSihuKSYmKG4uQi5VNXx8bi5CLk1kKT9CZihuKTpELkpHP24uUkIubXV0ZWRBdXRvcGxheSh7ZHVyYXRpb25Nb2RlOkQubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZX0pOmcuWkkoInl0LXBsYXllci1wbGF5YmFjay1vbi1yZWxvYWQiKT8oZy56VSgiZW1iZWRzSXRwUGxheWVkT25SZWxvYWQiLHtwbGF5ZWRPblJlbG9hZDohMCxpc0xvZ2dlZEluOiEhbi5CLlRDfSksZy5QQigieXQtcGxheWVyLXBsYXliYWNrLW9uLXJlbG9hZCIsITEpLEJmKG4pKToKbi5CLlk9PT0ibGVhbmJhY2sifHxuNWoobiksZy5lTShuLkIpfHxnLnNkKG4uQik/KGcuY0IoZy5EeSgpLCgpPT57RlMobil9KSxnLmNCKGcuRHkoKSwoKT0+e3g1KCl9KSk6KEZTKG4pLHg1KCkpKX07CkRlYj1mdW5jdGlvbihuKXt2YXIgVz1EPT57RC5zdGFjayYmRC5zdGFjay5pbmRleE9mKCJwbGF5ZXIiKSE9PS0xJiZuLk1OKCkuVWUoRCl9OwpTaS5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTtLdy5wdXNoKFcpO3JldHVybigpPT57U2kudW5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTt2YXIgRD1Ldy5pbmRleE9mKFcpO0QhPT0tMSYmS3cuc3BsaWNlKEQsMSl9fTsKb1g9ZnVuY3Rpb24obixXLEQsYix2KXtpZihuLmZnJiZELk9WKCkpbj1uZXcgZy53NShuLkIsbi5mZyxXLEQpO2Vsc2V7bGV0IGs9bi5tUTtXPT09MiYmKGs9bmV3IGJjUyhuLkIpKTtXPW5ldyBnLk03KG4sbi5CLFcsayxuLnRlbXBsYXRlLG4udmlzaWJpbGl0eSxuLmlqLEQsdixuLmRoLG4uaTcpO24uQi5adCgpLk4uUVEodjVpKSYmbi5uVChELmNsaWVudFBsYXliYWNrTm9uY2UpO249bmV3IGcuUlgoVyl9YiYmbi5zbSgpO3JldHVybiBufTsKY0VyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5SQi5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7Vz1OdW1iZXIoVy50b0ZpeGVkKDIpKTtuPURbMF07RD1EW0QubGVuZ3RoLTFdO1c8PW4/Vz1uOlc+PUQ/Vz1EOihuPU1hdGguZmxvb3IoVyoxMDArLjAwMSklNSxuIT09MCYmKFctPW4qLjAxLFc9TWF0aC5mbG9vcihXKjEwMCsuMDAxKS8xMDApKTtyZXR1cm4gV307ClZaPWZ1bmN0aW9uKG4pe1FaKG4pO24uc2V0TG9vcFZpZGVvKCExKTtuLnNldExvb3BSYW5nZShudWxsKTtuLlJCLldKKCJsZWdhY3lhZHRyYWNraW5ncGluZ3Jlc2V0Iik7bi5hbD17fTtuLkpWPVtdO1pCaihuLm1RKTtpZihuLlF3KXt2YXIgVz1uLlF3LEQ9bi5jWCgpO0QuZ2V0UGxheWVyVHlwZSgpO0NPKFcsITEpO25KKFcpO2NSYihXKTtXLmdzPUR9Vz1uLnNVO249bi5jWCgpO24uZ2V0UGxheWVyVHlwZSgpIT09MSYmZy5MSihXLCJpbnZhbGlkUGFyZW50VmlkZW9QbGF5ZXJUeXBlIik7REwoVywhMSk7Zy5nNShXKTtXLk49bn07Cmswaj1mdW5jdGlvbihuKXt2YXIgVz1uLm1lZGlhRWxlbWVudDt6aSgpP24ua1YuTk4oVywid2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQiLG4udFcpOndpbmRvdy5kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZCYmKG4ua1YuTk4oVywiZW50ZXJwaWN0dXJlaW5waWN0dXJlIiwoKT0+e24ucEwoITApfSksbi5rVi5OTihXLCJsZWF2ZXBpY3R1cmVpbnBpY3R1cmUiLCgpPT57bi5wTCghMSl9KSk7Cnc4JiYobi5rVi5OTihXLCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCgpPT57bi5GTygzKX0pLG4ua1YuTk4oVywid2Via2l0ZW5kZnVsbHNjcmVlbiIsKCk9PntuLkZPKDApfSkpfTsKekE9ZnVuY3Rpb24obil7bi5tZWRpYUVsZW1lbnQ9bi5CLmRldmljZUlzQXVkaW9Pbmx5P25ldyBnLkdWKGcuekYoIkFVRElPIikpOnFLLnBvcCgpfHxuZXcgZy5HVihnLnpGKCJWSURFTyIpKTtuLkIuWnQoKS5OLlFRKGNmKXx8Zy51KG4sbi5tZWRpYUVsZW1lbnQpO24uTU4oKS5zZXRNZWRpYUVsZW1lbnQobi5tZWRpYUVsZW1lbnQpO3RyeXtuLkIuczU/KG4uR3YmJm4uZXZlbnRzLndIKG4uR3YpLG4uR3Y9bi5ldmVudHMuTk4obi5tZWRpYUVsZW1lbnQsInZvbHVtZWNoYW5nZSIsbi56ZCkpOihuLm1lZGlhRWxlbWVudC5jSihuLkZfLm11dGVkKSxuLm1lZGlhRWxlbWVudC5zZXRWb2x1bWUobi5GXy52b2x1bWUvMTAwKSl9Y2F0Y2godil7bi5LZygiaHRtbDUubWlzc2luZ2FwaSIsMiwiVU5TVVBQT1JURURfREVWSUNFIixgc2V0dm9sdW1lLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09Im9iamVjdCImJiJtZXNzYWdlImluIHYmJnR5cGVvZiB2Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmdi5tZXNzYWdlLnJlcGxhY2UoL1s7OixdL2csCiJfIil9YCk7cmV0dXJufW4ua1YuSigpO2swaihuKTt2YXIgVz1uLnRlbXBsYXRlLEQ9bi5tZWRpYUVsZW1lbnQuZV8oKTtXLm5CPUQ7Vy53Rj0hMTtXLm5CLnBhcmVudE5vZGV8fGcuanAoVy5WUCxXLm5CLDApO1cuRU49bmV3IGcuYnIoMCwwLDAsMCk7WWVpKFcpO1hTKFcpO0Q9Vy5uQjtnLlVJKEQsInZpZGVvLXN0cmVhbSIpO2cuVUkoRCxnLk9uLk1BSU5fVklERU8pO3ZhciBiPVcuYXBwLkcoKTtiLmxRJiZELnNldEF0dHJpYnV0ZSgiZGF0YS1uby1mdWxsc2NyZWVuIiwidHJ1ZSIpO2IueGgmJihELnNldEF0dHJpYnV0ZSgid2Via2l0LXBsYXlzaW5saW5lIiwiIiksRC5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpO2IuSkcmJlcubkImJlcuTk4oRCwiY2xpY2siLEQucGxheSxEKTt0cnl7bi5tZWRpYUVsZW1lbnQuRCgpfWNhdGNoKHYpe24uS2coImh0bWw1Lm1pc3NpbmdhcGkiLDIsIlVOU1VQUE9SVEVEX0RFVklDRSIsYGFjdGl2YXRlLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09CiJvYmplY3QiJiYibWVzc2FnZSJpbiB2JiZ0eXBlb2Ygdi5tZXNzYWdlPT09InN0cmluZyImJnYubWVzc2FnZS5yZXBsYWNlKC9bOzosXS9nLCJfIil9YCl9fTsKRVo9ZnVuY3Rpb24obixXLEQpe24uUkIuV0ooVyxEKTt2YXIgYj1nLms2KG4uQil8fGcuRGYobi5CKXx8Zy5NVihuLkIpO2lmKEQmJmIpe2xldCB2O3N3aXRjaChXKXtjYXNlICJjdWVyYW5nZW1hcmtlcnN1cGRhdGVkIjp2PSJvbkN1ZVJhbmdlTWFya2Vyc1VwZGF0ZWQiO2JyZWFrO2Nhc2UgImN1ZXJhbmdlc2FkZGVkIjp2PSJvbkN1ZVJhbmdlc0FkZGVkIjticmVhaztjYXNlICJjdWVyYW5nZXNyZW1vdmVkIjp2PSJvbkN1ZVJhbmdlc1JlbW92ZWQifXYmJmcuUlQobi5SQix2LEQubWFwKGs9Pih7Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH0sZW5kOmsuZW5kLGlkOmsuZ2V0SWQoKSxuYW1lc3BhY2U6ay5uYW1lc3BhY2U9PT0iYWQiPyJhZCI6IiIsc3RhcnQ6ay5zdGFydCxzdHlsZTprLnN0eWxlLHZpc2libGU6ay52aXNpYmxlLG1hcmtlclBvc2l0aW9uTXM6ay5tYXJrZXJQb3NpdGlvbk1zfSkpKX19OwpoZDE9ZnVuY3Rpb24obixXPSEwKXt2YXIgRDtpZihEPW4uckgpe0Q9bi5ySDt2YXIgYj1uLm1lZGlhRWxlbWVudDtEPSEhYiYmYj09PUQubWVkaWFFbGVtZW50fUQmJihuLmNQKCksekEobikpO0Q9bi5NTigpO0QuY1AoIVcpO0QuTTkobi5zRixuKTtELmdldFBsYXllclR5cGUoKSE9PTEmJkQuZGlzcG9zZSgpO249bi5WcjtXPVtuLkpdO24uSj1uLmNKO1NzKG4sW10sVyl9OwpueD1mdW5jdGlvbihuLFcsRCxiKXtEJiYobi5jUCgpLHpBKG4pKTtEPW4uTU4oKTtELnhLKFcpO3ZhciB2PW4uZ2V0VmlkZW9EYXRhKCksaz17fTtrLnZpZGVvX2lkPXYudmlkZW9JZDtrLmFkZm9ybWF0PXYuYWRGb3JtYXQ7di5pc0xpdmVQbGF5YmFja3x8KGsuc3RhcnQ9RC5nZXRDdXJyZW50VGltZSgpLGsucmVzdW1lPSIxIik7di5pc0xpdmVQbGF5YmFjayYmSTQodikmJmcuR2wobi5CKSYmKGsubGl2ZV91dGNfc3RhcnQ9RC5oQygpLGsucmVzdW1lPSIxIik7di5EJiYoay52dnQ9di5EKTt2LmtXJiYoay52c3NfY3JlZGVudGlhbHNfdG9rZW49di5rVyxrLnZzc19jcmVkZW50aWFsc190b2tlbl90eXBlPXYuUXYpO3Yub2F1dGhUb2tlbiYmKGsub2F1dGhfdG9rZW49di5vYXV0aFRva2VuKTtrLmF1dG9wbGF5PTE7ay5yZWxvYWRfY291bnQ9di5TJCsxO2sucmVsb2FkX3JlYXNvbj1XO3Yub1QmJihrLnVucGx1Z2dlZF9wYXJ0bmVyX29wdF9vdXQ9di5vVCk7di5MQiYmKGsueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXI9CnYuTEIpO3YucGxheWVyUGFyYW1zJiYoay5wbGF5ZXJfcGFyYW1zPXYucGxheWVyUGFyYW1zKTt2LnR3JiYoay5pdGN0PXYudHcpO24ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGssdm9pZCAwLCEwLHZvaWQgMCx2b2lkIDAsYik7Vz09PSJzaWduYXR1cmUiJiZuLlF3JiZhWChuKX07CkwyTT1mdW5jdGlvbihuKXtpZigheGVyKG4pKXt2YXIgVz1uLmNYKCkuaDUoKTtXJiYoVz1XLmJkKCksVyBpbnN0YW5jZW9mIFByb21pc2UmJlcuY2F0Y2goKCk9Pnt9KSk7CldxKG4sVFgobi5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSl9fTsKeGVyPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXlsaXN0JiYoZy5DTihuLkIpfHxuLkIuWT09PSJiYWNrZ3JvdW5kX2F1ZGlvX3BsYXliYWNrIikmJm4ueGwoKT8obi5uZXh0VmlkZW8oITEsITApLCEwKTohMX07CldxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpLGI9RC5nZXRQbGF5ZXJUeXBlKCk7aWYoYiE9PTJ8fG4uTFkoKSl7aWYoYj09PTImJm4uTFkoKXx8Yj09PTV8fGI9PT02fHxiPT09NylpZihXPT09LTF8fFc9PT0wfHxXPT09NSlyZXR1cm47aWYoVz09PTApe2lmKG4uSE4pcmV0dXJuO2lmKEQuY0coKSYmZy5rNihuLkIpKXtuLnBsYXlWaWRlbygpO3JldHVybn19bi5pdSE9PVcmJihuLml1PVcsZy5WVShuLlJCLCJvblN0YXRlQ2hhbmdlIixXKSl9ZWxzZSBuLkIkIT09VyYmKG4uQiQ9VyxnLlZVKG4uUkIsIm9uQWRTdGF0ZUNoYW5nZSIsVykpfTsKREY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5Wci5WRShXKX07CmcuSVg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5MWShXKT9uLmNYKCk6V307CmJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpO3JldHVybiBXPT09bi5jWCgpJiZuLkxZKFcpJiZuLkxZKEQpP0Q6V307CnZxPWZ1bmN0aW9uKG4pe249R3Uobi54Nik7cmV0dXJuISFuJiZuLmxvYWRlZH07CmVkUz1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpLEQ9bi54NjtWWShEKXx8RC5YKCk7IVVkJiZRWShEKSYmYU1VKEQpO3c5KEQsImVtYmVkIik7dzkoRCwia2lkcyIpO3c5KEQsInJlbW90ZSIpO3c5KEQsIm1pbmlwbGF5ZXIiKTt3OShELCJvZmZsaW5lIik7dzkoRCwidW5wbHVnZ2VkIik7dzkoRCwieXBjIiwhMSwhMCk7dzkoRCwid2ViZ2wiLCExLCEwKTtuRGooRCl8fCh3OShELCJjYXB0aW9ucyIsITApLHc5KEQsImVuZHNjcmVlbiIpLEQuTigpLHc5KEQsImNyZWF0b3JlbmRzY3JlZW4iLCEwKSk7RC5ZKCk7RC5BLldKKCJtb2R1bGVzQ3JlYXRlZCIpO24uUkIuV0ooInZpZGVvcmVhZHkiLFcpfTsKYVg9ZnVuY3Rpb24obil7aWYoIXZxKG4pKXtsZXQgVz1URyhuLng2KTtXJiYhVy5jcmVhdGVkJiZSRyhuLng2KSYmVy5jcmVhdGUoKX19OwpPWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpO2lmKCFXLnlsKXt2YXIgRDtuLkIuZXhwZXJpbWVudHMuRXEoImh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb24iKSYmVy5ob3N0Q3BuJiYoRD1raShuLFcuaG9zdENwbik/LmdldFZpZGVvRGF0YSgpLmhnLmooKSk7Vz1uLkIuczU/MTpyNihXLmhnLEQpO0Q9bi5tZWRpYUVsZW1lbnQ7RC5jSihuLkZfLm11dGVkKTt0cnl7RC5zZXRWb2x1bWUobi5GXy52b2x1bWUqVy8xMDApfWNhdGNoe2cuR3EobmV3IGcuUXgoImIxODM3NDIzMDciLGBtdWx0aXBsaWVyOiAke1d9LCB2b2x1bWU6ICR7bi5GXy52b2x1bWV9YCkpfX19Owp2YXIgSjFaPWZ1bmN0aW9uKCl7cmV0dXJuIGVYW0lbMTBdXSh0aGlzLDY3LDQ4NDkpfTsKQ0o9ZnVuY3Rpb24obil7bj1WUyhuKTtuLk9WKCk7cmV0dXJuIEFEKG4pfTsKbGw9ZnVuY3Rpb24obixXKXt2YXIgRD0oVz9XOlZTKG4pKS5RNztuLm1RLnRpY2soImVwX3ByX3IiKTtpZihEIT1udWxsJiYodUF0KG4ucGxheWxpc3QsRCksbi5sSikpbi5wbGF5bGlzdC5vblJlYWR5KCgpPT57VEEobixXKX0pfTsKVEE9ZnVuY3Rpb24obixXKXt2YXIgRD1nLm80KG4uQikmJiFuLkIuTyxiPUQmJlc/VzppdihuLnBsYXlsaXN0KTtXPUQmJlc/VzpuLmdldFZpZGVvRGF0YSgpO2ImJihXLkd1JiYobi5CLlU1fHxuLkIuTWQpfHwhbi5LSD8oVz1XLlBYLGI9bi56MihiLDEpLFcmJmZKKG4sYikpOmhWKG4sYiwxKSk7Zy5vNChuLkIpJiZuLm1RLnRpY2soImVwX3BfbCIpO24ubEo9ITE7Zy5RVShuLlJCLCJvblBsYXlsaXN0VXBkYXRlIil9OwpCZj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoVy5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4hMTtXPVcuZ2V0VmlkZW9EYXRhKCk7Q0oobikmJm4uQi5NZCYmKHFLLmxlbmd0aCYmbi5zaj8oUGYobix7bXV0ZWQ6ITEsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMSkpOnFLLmxlbmd0aHx8bi5GXy5tdXRlZHx8KFBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpLEtKKG4sITApKSk7Q0oobikmJmcubzQobi5CKSYmVy5tdXRlZEF1dG9wbGF5JiYoUGYobix7bXV0ZWQ6ITAsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMCkpO1cuTjAmJlBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpO3VsKG4sMSxXLCExKTt2YXIgRD1uLmNYKCk7bi5SQi5XSigiaW5pdGlhbGl6aW5nbW9kZSIpO24uUVQoRCk7bi5HMigzKTt2YXIgYjtpZighKGI9IW4uQi5HUykpe2lmKGI9bi5ySCl7Yj1uLnJIO3ZhciB2PW4ubWVkaWFFbGVtZW50OwpiPSEhdiYmdj09PWIubWVkaWFFbGVtZW50fWI9YiYmbi5hQ31iJiYobi5jUCgpLHpBKG4pLEQuc2V0TWVkaWFFbGVtZW50KG4ubWVkaWFFbGVtZW50KSk7RC5uTCgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCkpcmV0dXJuITE7Vy5EdHx8V3EobiwzKTtyZXR1cm4gbi5hQz0hMH07Cm41aj1mdW5jdGlvbihuKXtuLlJCLldKKCJpbml0aWFsaXppbmdtb2RlIik7bi5HMigyKTt3OShuLng2LCJyZW1vdGUiKTt3OShuLng2LCJtaW5pcGxheWVyIil9OwpGUz1mdW5jdGlvbihuKXtpZighbi5TKCJ1c2VfcnRhX2Zvcl9wbGF5ZXIiKSlpZihuLlMoImZldGNoX2F0dF9pbmRlcGVuZGVudGx5IikpZy5KYShuLkNOKTtlbHNle3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkuYm90Z3VhcmREYXRhO1cmJmcuekMoVyxuLkIsbi5nZXRWaWRlb0RhdGEoKS5wS3x8IiIpfX07CktKPWZ1bmN0aW9uKG4sVyl7VyE9PW4uc2omJihuLnNqPVcsZy5RVShuLlJCLCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLFcpKX07CnVsPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXhpKG4sVyxEKSxrPW4uVnIuWC5nZXQodil8fG51bGw7aWYoIWspcmV0dXJuIG51bGw7bi5Wci5YLnJlbW92ZSh2KTtpZihrLnFOKCkpcmV0dXJuIG51bGw7aWYoay5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4gay5kaXNwb3NlKCksbnVsbDtpZihrPT09REYobix7cGxheWVyVHlwZTpXfSkpcmV0dXJuIG4ubVEuaW5mb0dlbCh7aXNDYWNoZUhpdDohMH0pLGs7aWYoKGsuZ2V0VmlkZW9EYXRhKCkub2F1dGhUb2tlbnx8RC5vYXV0aFRva2VuKSYmay5nZXRWaWRlb0RhdGEoKS5vYXV0aFRva2VuIT09RC5vYXV0aFRva2VuKXJldHVybiBudWxsO1c9PT0xJiYoVz1uLk1OKCkuZ2V0VmlkZW9EYXRhKCksQUooVykmJlcuaXNBZCgpJiZifHxRWihuKSk7Ynx8bi5RVChrLCEwKTtuLm1RLmluZm9HZWwoe2lzQ2FjaGVIaXQ6ITB9KTtyZXR1cm4ga307CmcuZzVoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKSxEPW4uZ2V0Q3VycmVudFRpbWUoKTtuPW4uZ2V0VmlkZW9EYXRhKCk7RD0xRTMqKEQtbi5zdGFydFNlY29uZHMpO24uaXNMaXZlUGxheWJhY2smJihEPTApO3JldHVybiBXLU1hdGgubWF4KEQsMCl9OwpkYXQ9ZnVuY3Rpb24obixXKXtpZighbi5ITilyZXR1cm4hMTt2YXIgRD1uLkhOLnN0YXJ0VGltZU1zKi4wMDEtMSxiPW4uSE4uZW5kVGltZU1zKi4wMDE7bi5ITi50eXBlPT09InJlcGVhdENoYXB0ZXIiJiZiLS07cmV0dXJuIE1hdGguYWJzKFctRCk8PTFFLTZ8fE1hdGguYWJzKFctYik8PTFFLTZ8fFc+PUQmJlc8PWJ9OwpYUXg9ZnVuY3Rpb24obil7dmFyIFc9bi5NTigpO2lmKG4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIikmJlcuZ2V0VmlkZW9EYXRhKCkuaXNBZCgpPzA6QUooVy5nZXRWaWRlb0RhdGEoKSkmJiFXLklLKCkpVz1BYihuKSoxRTMtbi5nZXRWaWRlb0RhdGEoKS5QTCxuPW4uVGUsaWwobi5hcHAsImdhcGxlc3NzaG9ydHNsb29wcmFuZ2UiKSxXPW5ldyBnLmw1KDAsVyx7aWQ6ImdhcGxlc3Nsb29wcmFuZ2UiLG5hbWVzcGFjZToiZ2FwbGVzc3Nob3J0c2xvb3ByYW5nZSJ9KSwobj1uLmFwcC5NTigpKSYmbi5hZGRDdWVSYW5nZShXKX07Ckcwaj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoIShXLmdldFBsYXllclN0YXRlKCkuTig2NCkmJlZTKG4pLmlzTGl2ZVBsYXliYWNrJiZuLkhOLnN0YXJ0VGltZU1zPDVFMykpe2lmKG4uSE4udHlwZT09PSJyZXBlYXRDaGFwdGVyIil7dmFyIEQ9RCQobi5KNSgpKT8uQjcoKTtsZXQgYj1uLmdldFZpZGVvRGF0YSgpPy5iJDtpZihEIGluc3RhbmNlb2YgcWhTJiZiKXtsZXQgdj0wO2ZvcihsZXQgayBvZiBiKXtpZihrLnN0YXJ0VGltZT5uLkhOLnN0YXJ0VGltZU1zKWJyZWFrO3YrK31ELnJlbmRlckNoYXB0ZXJTZWVraW5nQW5pbWF0aW9uKDAsYlt2PT09MD92OnYtMV0udGl0bGUpfWlzTmFOKE51bWJlcihuLkhOLmxvb3BDb3VudCkpP24uSE4ubG9vcENvdW50PTA6bi5ITi5sb29wQ291bnQrKztuLkhOLmxvb3BDb3VudD09PTEmJmcuUlQobi5SQiwiaW5uZXJ0dWJlQ29tbWFuZCIsbi5nZXRWaWRlb0RhdGEoKS5aTil9RD17cWQ6ImFwcGxpY2F0aW9uX2xvb3BSYW5nZVN0YXJ0In07CmlmKG4uSE4udHlwZT09PSJjbGlwcyJ8fG4uSE4udHlwZT09PSJzaG9ydHNMb29wIilELnNlZWtTb3VyY2U9NTg7Vy5zZWVrVG8obi5ITi5zdGFydFRpbWVNcyouMDAxLEQpfX07ClNhPWZ1bmN0aW9uKG4sVyxEKXtpZihuLkxZKEQpJiYoRD1ELmdldFZpZGVvRGF0YSgpLCFnLkx4KG4pKSl7bj1uLnNVO2Zvcih2YXIgYiBvZiBuLkopaWYoRC5LZj09PWIuS2Ype1crPWIub2EvMUUzO2JyZWFrfWI9Vztmb3IobGV0IHYgb2Ygbi5KKXtpZihELktmPT09di5LZilicmVhaztuPXYub2EvMUUzO2lmKG48VyliKz12LmR1cmF0aW9uTXMvMUUzK24tdi5kSS8xRTM7ZWxzZSBicmVha31yZXR1cm4gYn1yZXR1cm4gV307CmcuTHg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJiEhbi5Rd307ClFaPWZ1bmN0aW9uKG4peyhuPVRHKG4uSjUoKSkpJiZuLmNyZWF0ZWQmJm4uZGVzdHJveSgpfTsKdHR3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkueWwsRD1uLkIuRHQsYj1uLmlzSW5saW5lKCkmJiFuLmdldFZpZGVvRGF0YSgpLnYxLHY9bi5tZWRpYUVsZW1lbnQ7V3x8RHx8Yj92LmZCKCk6KHYuTEIoKSxQZihuLG4uRl8pKX07CiRlVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5TKCJ3ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5lTShuLkIpfHxuLlMoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5zZChuLkIpfTsKeGk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLms2KG4uQikmJkQudkooKT9gJHtXfV8ke0QudmlkZW9JZH1fJHtELktmfWA6YCR7V31fJHtELnZpZGVvSWR9XyR7RC5LZn1fJHsrRC5pc0F1dG9uYXZ9JHsrRC5WVH1gfTsKcmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcmJm4uQi5MQiYmIW4uZ2V0VmlkZW9EYXRhKCk/LmJhY2tncm91bmRhYmxlPyhuLkZqP24uRmouc3RhcnQoKTpuLlZLKCksITApOiExfTsKc2FpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtpZihXKXRyeXtsZXQgaz1kZWNvZGVVUklDb21wb25lbnQoVyksaD1scChrKTt2YXIgYj1uZXcgQVIobmV3IFM1KFtoXSkpO3ZhciB2PVBHKGIsMzIpO0Q9TnVtYmVyKHZ8fDApfWNhdGNoKGspe24uY1goKS5VKCJnZXRfbHVzdHNfZXJyIix7fSl9cmV0dXJuIER9OwpoVj1mdW5jdGlvbihuLFcsRD0xKXtpZihXLk9WKCkpe3ZhciBiPW9YKG4sRCxXLCExKTtuLmNhbmNlbFBsYXliYWNrKDQsRCk7bi5RVChiKTtiLnNtKCk7RD09PTEmJihuLkcyKDEpLGcubzQobi5CKSYmIVpQKFcpPyhXLmRpc3Bvc2UoKSxuLmNYKCkuZGlzcG9zZSgpKTpuNWoobikpfWVsc2UgVy5kaXNwb3NlKCksKFc9REYobix7cGxheWVyVHlwZTpEfSkpJiZXLmRpc3Bvc2UoKSxQVChWUyhuKSkmJkQ9PT0yJiZuLlNvKCl9OwpOYWI9ZnVuY3Rpb24obixXLEQsYix2KXtXPVFzUyhXLEQsYix2KTsoRD1nLm80KG4uQikmJiFuLkIuTykmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3MiKTtpZihEJiYhbi5aVilEPVZTKG4pLHpicihELFcpLnRoZW4oaz0+e24ubEo9ITA7bGwobixrKX0pOwplbHNlIG4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSk7CmcubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3IiKX07CmtpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9REYobix7cGxheWVyVHlwZToxfSk7aWYoRCl7aWYoRC5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlPT09VylyZXR1cm4gRDtpZigobj1uLlNHLk4pJiZuLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2U9PT1XKXJldHVybiBufXJldHVybiBudWxsfTsKZW89ZnVuY3Rpb24obil7dmFyIFc9c1AoITApO3JldHVybiBXJiYoVz09PW4udGVtcGxhdGUuZWxlbWVudHx8bi5tZWRpYUVsZW1lbnQmJlc9PT1uLm1lZGlhRWxlbWVudC5lXygpKT9XOm51bGx9OwpZaGk9ZnVuY3Rpb24obixXKXt2YXIgRD13aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbjtpZihuLkIudHcmJkQmJkQubG9jayYmKCFnLm9kfHwhcFFqKSlpZihXKXtXPUQudHlwZS5pbmRleE9mKCJwb3J0cmFpdCIpPT09MDtsZXQgYj1uLnRlbXBsYXRlLmdldFZpZGVvQXNwZWN0UmF0aW8oKSx2PVc7YjwxP3Y9ITA6Yj4xJiYodj0hMSk7bi5KUiYmdj09PVd8fChEPUQubG9jayh2PyJwb3J0cmFpdCI6ImxhbmRzY2FwZSIpLEQhPW51bGwmJkQuY2F0Y2goKCk9Pnt9KSxuLkpSPSEwKX1lbHNlIG4uSlImJihuLkpSPSExLEQudW5sb2NrKCkpfTsKSGN0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5VeigpLGI9Vy5oNSgpO2lmKEQmJmImJm42KEQpKXt2YXIgdj1iLmlzVmlldygpP2IubWVkaWFFbGVtZW50OmI7bGV0IGg9Yi5pc1ZpZXcoKT9iLnN0YXJ0OjA7Yj1GZ2IoYikraDt2YXIgaz1MNihELGgsYiwhMCk7bGV0IHg9bmV3IGcuc2codixoLGIsITApO1cubm0oaywhMSwhMCwhMSk7Vy5zZXRNZWRpYUVsZW1lbnQoeCk7az1iKzEwO0Q9TDYoRCxrLEluZmluaXR5LCEwKTt2PW5ldyBnLnNnKHYsayxJbmZpbml0eSwhMSwhMCk7di5ISihEKTtuLlZxPXY7bi5CLldYKCkmJlcuVSgidXNtIix7cG1lOiEwLGNzOmgsY2U6YixuczprfSk7cmV0dXJuITB9cmV0dXJuITF9OwpmNmg9ZnVuY3Rpb24obixXKXtXLmJvdW5kcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBEPVsiZGlzcGxheSIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiekluZGV4Il07Zm9yKGxldCBiIG9mIEQpV1tiXT1YbShuLGIpO1cuaGlkZGVuPSEhbi5oaWRkZW59Owp2YXIgU2pVPWZ1bmN0aW9uKCl7cmV0dXJuIFhEW0lbMTBdXSh0aGlzLDQsMzA5NCl9Owp2YXIgSmoyPWZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWU9PT0iVHlwZUVycm9yIiYmbi5zdGFjay5pbmNsdWRlcygiL3MvcGxheWVyLyIpJiZFeigpPD0xMDV9LGdxPWZ1bmN0aW9uKG4sVyl7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBEPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uaituLlcpKTsKbGV0IGI9TWF0aC5taW4oRCtuLmNvbHVtbnMsbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgpLTE7Zm9yKDtEPD1iO0QrKyluLmFwaS5sb2dWaXNpYmlsaXR5KG4uTltEXS5lbGVtZW50LFcpfX0sWFA9ZnVuY3Rpb24obil7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke24uS31weGA7Cm4ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7bi5LfXB4YDt2YXIgVz1uLnNjcm9sbFBvc2l0aW9uLEQ9bi5jb250YWluZXJXaWR0aC1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aCoobi5qK24uVyk7Zy5pSChuLmVsZW1lbnQsInl0cC1zY3JvbGwtbWluIixXPj0wKTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1tYXgiLFc8PUQpfSxJNlo9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTA7VzxuLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDtXKyspe3ZhciBEPW4uc3VnZ2VzdGlvbkRhdGFbV107CmxldCBrPW4uTltXXTt2YXIgYj1ELnNob3J0Vmlld0NvdW50P0Quc2hvcnRWaWV3Q291bnQ6RC5hdXRob3I7bGV0IGg9RC5NZigpLHg9bi5hcGkuRygpO2lmKGcubzQoeCkmJiF4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciB2PXt9O011KG4uYXBpLFt2XSk7aD1nLkVUKGgsdil9ay5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi10aXRsZSIpO3FsLnRlc3QuY2FsbChxbCxELnRpdGxlKT92LmRpcj0icnRsIjpHZy50ZXN0LmNhbGwoR2csRC50aXRsZSkmJih2LmRpcj0ibHRyIik7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi1hdXRob3IiKTtxbC50ZXN0LmNhbGwocWwsYik/di5kaXI9InJ0bCI6R2cudGVzdC5jYWxsKEdnLGIpJiYodi5kaXI9Imx0ciIpO2sudXBkYXRlKHt2aWV3c19vcl9hdXRob3I6YixkdXJhdGlvbjpELmlzTGl2ZVBsYXliYWNrPyJMaXZlIjpELmxlbmd0aFNlY29uZHM/CmcuSDcoRC5sZW5ndGhTZWNvbmRzKToiIixsaW5rOmgsaG92ZXJfdGl0bGU6RC50aXRsZSx0aXRsZTpELnRpdGxlLGFyaWFfbGFiZWw6RC5hcmlhTGFiZWx8fG51bGwsaXNfbGl2ZTpELmlzTGl2ZVBsYXliYWNrfSk7Yj1ELkdCKCk7ay5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9Yj9gdXJsKCR7Yn0pYDoiIjt4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikmJihuLmFwaS5jcmVhdGVTZXJ2ZXJWZShrLmVsZW1lbnQsayksKEQ9KEQ9RC5zZXNzaW9uRGF0YSkmJkQuaXRjdCkmJm4uYXBpLnNldFRyYWNraW5nUGFyYW1zKGsuZWxlbWVudCxEKSl9Zm9yKDtXPG4uTi5sZW5ndGg7VysrKW4uTltXXS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO1hQKG4pfSxTaFU9ZnVuY3Rpb24obixXLEQpe1cucHJldmVudERlZmF1bHQoKTsKbi5hcGkubG9nQ2xpY2soRCk7Vz1ELmdldEF0dHJpYnV0ZSgiaHJlZiIpO0Q9e307TXUobi5hcGksW0RdKTtXPWcuR0YoRCk/VzpnLkVUKFcsRCk7SkYoVyl9LEFqTT1mdW5jdGlvbihuLFcpe24uQkooInl0cC1lcnJvci1jb250ZW50Iikuc3R5bGUucGFkZGluZ1RvcD0iMHB4IjsKdmFyIEQ9bi5CSigieXRwLWVycm9yLWNvbnRlbnQiKSxiPUQuY2xpZW50SGVpZ2h0O24uTiYmbi5OLnJlc2l6ZShXLFcuaGVpZ2h0LWIpO0Quc3R5bGUucGFkZGluZ1RvcD1gJHsoVy5oZWlnaHQtKG4uTj9uLk4uZWxlbWVudC5jbGllbnRIZWlnaHQ6MCkpLzItYi8yfXB4YH0sSzJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcGkuRygpLGI7ClcucmVhc29uJiYodFYoVy5yZWFzb24pP2I9Zy5iZyhXLnJlYXNvbik6Yj12YyhnLkRwKFcucmVhc29uKSksbi5YKGIsImNvbnRlbnQiKSk7dmFyIHY7Vy5zdWJyZWFzb24mJih0VihXLnN1YnJlYXNvbik/dj1nLmJnKFcuc3VicmVhc29uKTp2PXZjKGcuRHAoVy5zdWJyZWFzb24pKSxuLlgodiwic3VicmVhc29uIikpO2lmKFcucHJvY2VlZEJ1dHRvbiYmVy5wcm9jZWVkQnV0dG9uLmJ1dHRvblJlbmRlcmVyKXtiPW4uQkooInl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uIik7Vz1XLnByb2NlZWRCdXR0b24uYnV0dG9uUmVuZGVyZXI7bGV0IGs9Zy56RigiQSIpO1cudGV4dCYmVy50ZXh0LnNpbXBsZVRleHQmJih2PVcudGV4dC5zaW1wbGVUZXh0LGsudGV4dENvbnRlbnQ9dixtZVUoYix2KXx8RC5EJiYhRC5lbWJlZHNFcnJvckxpbmtzfHwoRD1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy51cmwsVz1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy50YXJnZXQsCkQmJihrLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksbi5hcGkuY3JlYXRlQ2xpZW50VmUoayxuLDE3ODQyNCksbi5OTihrLCJjbGljayIsaD0+e1NoVShuLGgsayl9KSksVyYmay5zZXRBdHRyaWJ1dGUoInRhcmdldCIsVyksRD1nLnpGKCJESVYiKSxELmFwcGVuZENoaWxkKGspLGIuYXBwZW5kQ2hpbGQoRCkpKX19LHRWPWZ1bmN0aW9uKG4pe2lmKG4ucnVucylmb3IobGV0IFc9MDtXPG4ucnVucy5sZW5ndGg7VysrKWlmKG4ucnVuc1tXXS5uYXZpZ2F0aW9uRW5kcG9pbnQpcmV0dXJuITA7CnJldHVybiExfSxtZVU9ZnVuY3Rpb24obixXKXtuPShufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkEiKTsKZm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspaWYobltEXS50ZXh0Q29udGVudD09PVcpcmV0dXJuITA7cmV0dXJuITF9LE9jYj1mdW5jdGlvbihuKXt2YXIgVz17fTsKTXUobi5hcGksW1ddKTtuPW4uYXBpLmdldFZpZGVvVXJsKCk7cmV0dXJuIG49Zy5FVChuLFcpfSxQMHQ9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCksRD1uLmFwaS5HKCkuYlYmJiFuLnN0YXRlLk4oMikmJiFuLmFwaS5nZXRWaWRlb0RhdGEoe3BsYXllclR5cGU6MX0pLmlOOwpXLm11dGVkQXV0b3BsYXl8fG4uTUwoRCk7bi5hcGkubG9nVmlzaWJpbGl0eShuLmVsZW1lbnQsRCl9LFVlaj1mdW5jdGlvbihuKXtuLndhdGVybWFya3x8KG4ud2F0ZXJtYXJrPW5ldyBaY3Iobi5hcGkpLGcudShuLG4ud2F0ZXJtYXJrKSxuLndhdGVybWFyay5MdShuLmJvdHRvbUJ1dHRvbnMsMCksZy5pSChuLndhdGVybWFyay5lbGVtZW50LCJ5dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrIiwhMCksbi5OPW5ldyBnLiRpKG4ud2F0ZXJtYXJrLDAsITAsMTAwKSxnLnUobixuLk4pKX0seWpqPWZ1bmN0aW9uKG4pe24uSiYmbi5OJiYobi5OLnNob3coKSxuLlYuc3RhcnQoKSl9LEU1VT1mdW5jdGlvbihuKXtmb3IobGV0IFc9MDtXPDE2OysrVyl7bGV0IEQ9bmV3IGcucnEoe1o6ImEiLApKdzoieXRwLXN1Z2dlc3Rpb24tbGluayIseGE6e2hyZWY6Int7bGlua319Iix0YXJnZXQ6bi5hcGkuRygpLllaLCJhcmlhLWxhYmVsIjoie3thcmlhX2xhYmVsfX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWltYWdlIn0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLW92ZXJsYXkiLHhhOntzdHlsZToie3tibGlua19yZW5kZXJpbmdfaGFja319IiwiYXJpYS1oaWRkZW4iOiJ7e2FyaWFfaGlkZGVufX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLXRpdGxlIixPcToie3t0aXRsZX19In0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWF1dGhvciIsT3E6Int7YXV0aG9yX2FuZF92aWV3c319In0se1o6ImRpdiIseGE6eyJkYXRhLWlzLWxpdmUiOiJ7e2lzX2xpdmV9fSJ9LEp3OiJ5dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbiIsT3E6Int7ZHVyYXRpb259fSJ9XX1dfSk7Zy51KG4sRCk7bGV0IGI9RC5CSigieXRwLXN1Z2dlc3Rpb24tbGluayIpO2cuaDEoYiwKInRyYW5zaXRpb25EZWxheSIsYCR7Vy8yMH1zYCk7bi5qLk5OKGIsImNsaWNrIix2PT57dmFyIGs9VztpZihuLlcpe3ZhciBoPW4uc3VnZ2VzdGlvbkRhdGFba10seD1oLnNlc3Npb25EYXRhO24uSyYmbi5hcGkuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKT8obi5hcGkubG9nQ2xpY2sobi5OW2tdLmVsZW1lbnQpLGs9aC5NZigpLGg9e30sTXUobi5hcGksW2hdKSxrPWcuRVQoayxoKSxSeShrLG4uYXBpLHYpKTpNcCh2LG4uYXBpLG4uSyx4fHx2b2lkIDApJiZuLmFwaS5NMihoLnZpZGVvSWQseCxoLnBsYXlsaXN0SWQpfWVsc2Ugdi5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpfSk7CkQuTHUobi5zdWdnZXN0aW9ucy5lbGVtZW50KTtuLk4ucHVzaChEKTtuLmFwaS5jcmVhdGVTZXJ2ZXJWZShELmVsZW1lbnQsRCl9fSxpY3I9ZnVuY3Rpb24obil7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBXPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uVis4KSk7CmxldCBEPU1hdGgubWluKFcrbi5jb2x1bW5zLG4uc3VnZ2VzdGlvbkRhdGEubGVuZ3RoKS0xO2Zvcig7Vzw9RDtXKyspbi5hcGkubG9nVmlzaWJpbGl0eShuLk5bV10uZWxlbWVudCwhMCl9fSxzNj1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS55WigpPzMyOjE2OwpXPW4uRC8yK1c7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke1d9cHhgO24ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7V31weGA7Vz1uLnNjcm9sbFBvc2l0aW9uO3ZhciBEPW4uY29udGFpbmVyV2lkdGgtbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgqKG4uVis4KTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1taW4iLFc+PTApO2cuaUgobi5lbGVtZW50LCJ5dHAtc2Nyb2xsLW1heCIsVzw9RCl9LG81dz1mdW5jdGlvbihuKXt2YXIgVz1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDsKZm9yKGxldCBrPTA7azxXOysrayl7dmFyIEQ9dm9pZCAwLGI9dm9pZCAwO2xldCBoPXZvaWQgMDtEPW47dmFyIHY9RC5hcGkuRygpO2xldCB4PUQuc3VnZ2VzdGlvbkRhdGFba10sTD1ELk5ba107aD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LnNob3J0Vmlld0NvdW50fHwiIjp4LnNob3J0Vmlld0NvdW50P2Ake3guYXV0aG9yfSBcdTIwMjIgJHt4LnNob3J0Vmlld0NvdW50fWA6eC5hdXRob3I7TC5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7Zy5oMShMLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTt1eWkudGVzdCh4LnRpdGxlKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLXRpdGxlIikuZGlyPSJydGwiKTt1eWkudGVzdChoKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLWF1dGhvciIpLmRpcj0icnRsIik7Yj14LmlzTGl2ZVBsYXliYWNrPyJMaXZlIjp4Lmxlbmd0aFNlY29uZHM/Zy5INyh4Lmxlbmd0aFNlY29uZHMpOiIiO2xldCBlPQp4Lk1mKEQuYXBpLmlzRW1iZWRzU2hvcnRzTW9kZSgpKTtpZihnLm80KHYpJiYhdi5TKCJ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtcyIpKXtsZXQgRz17fTtNdShELmFwaSxbR10pO2U9Zy5FVChlLEcpfXYuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKSYmKHY9KHY9eC5zZXNzaW9uRGF0YSkmJnYuaXRjdCkmJkQuYXBpLnNldFRyYWNraW5nUGFyYW1zKEwuZWxlbWVudCx2KTtMLnVwZGF0ZSh7YXV0aG9yX2FuZF92aWV3czpoLGR1cmF0aW9uOmIsbGluazplLHRpdGxlOngudGl0bGUsYXJpYV9sYWJlbDp4LmFyaWFMYWJlbHx8eC50aXRsZSxpc19saXZlOnguaXNMaXZlUGxheWJhY2ssYXJpYV9oaWRkZW46ISF4LmFyaWFMYWJlbCxibGlua19yZW5kZXJpbmdfaGFjazpnLm9kfHxyYz8id2lsbC1jaGFuZ2U6IG9wYWNpdHkiOnZvaWQgMH0pO2I9TC5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKTsKRD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LkdCKCJocTIuanBnIik6eC5HQigpO2Iuc3R5bGUuYmFja2dyb3VuZEltYWdlPUQ/YHVybCgke0R9KWA6IiJ9aWYoVzwxNilmb3IoO1c8MTY7KytXKWcuaDEobi5OW1ddLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJub25lIik7czYobil9LE5sPWZ1bmN0aW9uKG4pe2lmKCFuLlcpe3ZhciBXPU1hdGgubWluKCgwLGcuUikoKS1uLlYsbi5qKTsKdmFyIEQ9bi5qLVc7Vz1uLmo9PT0wPzA6TWF0aC5tYXgoRC9uLmosMCk7RD1NYXRoLnJvdW5kKEQvMUUzKTtuLlkuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIsYCR7LTIxMSooVysxKX1gKTtuLnVwZGF0ZVZhbHVlKCJkdXJhdGlvbiIsRCk7Vzw9MCYmbi5OP24uc3RvcFRpbWVyKCk6bi5OJiZuLk4uc3RhcnQoKX19LGRleD1mdW5jdGlvbihuKXtuLk58fChuLmo9NUUzLG4uVj0oMCxnLlIpKCksbi5OPW5ldyBnLnBfKCgpPT57Tmwobil9LG51bGwpLE5sKG4pKX0scHg9ZnVuY3Rpb24obil7dmFyIFc9bi5BOwpuPSEhVy5pc0VtYmVkc1Nob3J0c01vZGUoKTtnLmlIKFcuZ2V0Um9vdE5vZGUoKSwieXRwLXNob3J0cy1tb2RlIixuKTtpZihXPVcuZ2V0VmlkZW9EYXRhKCkpVy5TYT1ufSxUYXg9ZnVuY3Rpb24obil7e3ZhciBXPW4uQTsKbGV0IEQ9Vy5HKCk7RC5XaSYmIUQuRCYmZy5vNChEKT9XLmlzRW1iZWRzU2hvcnRzTW9kZSgpPyhXPVcuRTQoKSxXPU1hdGgubWluKFcud2lkdGgsVy5oZWlnaHQpPj0zMTUpOlc9IVcuejYoKTpXPSExfVchPT1uLkQmJihuLkQ9VyxuLmomJihuLmouZGlzcG9zZSgpLG4uaj1udWxsKSxuLlcmJihuLlcuZGlzcG9zZSgpLG4uVz1udWxsKSxuLlgmJihuLlguZGlzcG9zZSgpLG4uWD1udWxsKSxuLkomJihuLkouc3RvcCgpLG4uSi5kaXNwb3NlKCksbi5KPW51bGwpLFcmJihnLmI1KG4uQSksbi5BLmlzRW1iZWRzU2hvcnRzTW9kZSgpJiYobi5YPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1iYWNrZHJvcCIseGE6e3RhYkluZGV4OiItMSJ9fSksZy51KG4sbi5YKSxnLnJ2KG4uQSxuLlguZWxlbWVudCw0KSxuLko9bmV3IGcuJGkobi5YLDFFMywhMSwxMDApLGcudShuLG4uSiksbi5YLmhpZGUoKSksbi5qPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1jb250YWluZXIiLAp4YTp7dGFiSW5kZXg6Ii0xIn19KSxnLnUobixuLmopLG4uVz1uZXcgemRVKG4uQSksZy51KG4sbi5XKSxuLlcuTHUobi5qLmVsZW1lbnQpLGcucnYobi5BLG4uai5lbGVtZW50LDQpLGw2QyhuLG4uQS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSkpfSxsNkM9ZnVuY3Rpb24obixXKXtuLkomJighVy5OKDQpJiYhVy5OKDIpfHxXLk4oMTAyNCk/bi5KLmhpZGUoKTpuLkouc2hvdygpKX0sWWk9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkEuRygpOwpuPXthZFNvdXJjZToiRU1CRURTX0FEX1NPVVJDRV9ZT1VUVUJFIixicmVha1R5cGU6bi5BLmdldEN1cnJlbnRUaW1lKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QUkVfUk9MTCI6bi5BLmdldFBsYXllclN0YXRlKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QT1NUX1JPTEwiOiJFTUJFRFNfQURfQlJFQUtfVFlQRV9NSURfUk9MTCIsZW1iZWRVcmw6QUEobi5BLkcoKS5sb2FkZXJVcmwpLGV2ZW50VHlwZTpXLHlvdXR1YmVIb3N0OmcuSVAobi5BLkcoKS5EYSl8fCIifTtuLmVtYmVkZGVkUGxheWVyTW9kZT1ELmNKO2cuelUoImVtYmVkc0FkRXZlbnQiLG4pfSxudD1bXSxEaXg9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihuKXtmdW5jdGlvbiBXKCl7fQpXLnByb3RvdHlwZT1uO3JldHVybiBuZXcgV30sV1NDPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obixXLEQpe2lmKG49PUFycmF5LnByb3RvdHlwZXx8bj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gbjsKbltXXT1ELnZhbHVlO3JldHVybiBufSx4Mj1nbG9iYWxUaGlzLHZaPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeDIuQmlnSW50NjRBcnJheSYmKHZaLnB1c2goIkJpZ0ludDY0IiksdloucHVzaCgiQmlnVWludDY0IikpO3ZhciBidFM9T2JqZWN0LnNldFByb3RvdHlwZU9mO2hpKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9KTsKaGkoIlN1cHByZXNzZWRFcnJvciIsZnVuY3Rpb24obil7ZnVuY3Rpb24gVyhELGIsdil7aWYoISh0aGlzIGluc3RhbmNlb2YgVykpcmV0dXJuIG5ldyBXKEQsYix2KTt2PUVycm9yKHYpOyJzdGFjayJpbiB2JiYodGhpcy5zdGFjaz12LnN0YWNrKTt0aGlzLm1lc3NhZ2U9di5tZXNzYWdlO3RoaXMuZXJyb3I9RDt0aGlzLnN1cHByZXNzZWQ9Yn0KaWYobilyZXR1cm4gbjt2MkMoVyxFcnJvcik7Vy5wcm90b3R5cGUubmFtZT0iU3VwcHJlc3NlZEVycm9yIjtyZXR1cm4gV30pOwpoaSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmZ1bmN0aW9uKFcsRCl7aWYoVyBpbnN0YW5jZW9mIFJlZ0V4cCYmIVcuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBXIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShXLEQpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhXKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxEKX19KTsKaGkoIkFycmF5LnByb3RvdHlwZS5hdCIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjplVX0pOwpuMncoImF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJTdHJpbmcucHJvdG90eXBlLmF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKG4pe3JldHVybiBuP246ZnVuY3Rpb24oKXt2YXIgVyxEO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsdil7Vz1iO0Q9dn0pLApyZXNvbHZlOlcscmVqZWN0OkR9fX0pO3ZhciBjSixTVSxrYnQ7Y0o9Y0p8fHt9O2cucWk9dGhpc3x8c2VsZjtTVT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtrYnQ9MDt2YXIgZV93PWNsYXNze2NvbnN0cnVjdG9yKHt1cmw6bixadjpXfSl7dGhpcy5KPW47dGhpcy5YPVc7dGhpcy5XPShuZXcgRGF0ZSkuZ2V0VGltZSgpLTE3MDQwNjcyRTU7dGhpcy5OPXt9O2Zvcih2YXIgRD0vWz8mXShbXiY9XSspPShbXiZdKikvZztXPUQuZXhlYyhuKTspdGhpcy5OW1dbMV1dPVdbMl19fTtnLml4KGcuVGIsRXJyb3IpO2cuVGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgSWg7dmFyIE5yaD0vJi9nLHBadz0vPC9nLFl3aT0vPi9nLEh0VT0vIi9nLGYxUz0vJy9nLEppWj0vXHgwMC9nLHNDaD0vW1x4MDAmPD4iJ10vO3ZhciBuYj1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxXTTt2YXIgYl89Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07Zy5laj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk59fTtnLlY1PW5ldyBnLmVqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBYSSxnMmo7WEk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5PVj1ufX07Zy5HND1bcVUoImRhdGEiKSxxVSgiaHR0cCIpLHFVKCJodHRwcyIpLHFVKCJtYWlsdG8iKSxxVSgiZnRwIiksbmV3IFhJKG49Pi9eW146XSooWy8/I118JCkvLnRlc3QobikpXTsKZzJqPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Zy5ZMz1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk4rIiJ9fTt2YXIgQUY9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07dmFyIFo0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19O3ZhciBMcD17fTt2YXIgQWlyLG1pMTtBaXI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtnLno1PS8jfCQvO21pMT0vWz8mXSgkfCMpLzt2YXIgUUc9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLFcsRD1FcnJvcigpKXtzdXBlcigpO3RoaXMuY29kZT1uO1crPSI6IjtEIGluc3RhbmNlb2YgRXJyb3I/KHRoaXMubWVzc2FnZT1XK0QubWVzc2FnZSx0aGlzLnN0YWNrPUQuc3RhY2t8fCIiKToodGhpcy5tZXNzYWdlPVcrU3RyaW5nKEQpLHRoaXMuc3RhY2s9IiIpO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O2cuRk0ucHJvdG90eXBlLkhEPSExO2cuRk0ucHJvdG90eXBlLnFOPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSER9OwpnLkZNLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5IRHx8KHRoaXMuSEQ9ITAsdGhpcy5tQSgpKX07CmcuRk0ucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTsKZy5GTS5wcm90b3R5cGUuYWRkT25EaXNwb3NlQ2FsbGJhY2s9ZnVuY3Rpb24obixXKXt0aGlzLkhEP1chPT12b2lkIDA/bi5jYWxsKFcpOm4oKToodGhpcy5CVnx8KHRoaXMuQlY9W10pLFcmJihuPW4uYmluZChXKSksdGhpcy5CVi5wdXNoKG4pKX07CmcuRk0ucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7aWYodGhpcy5CVilmb3IoO3RoaXMuQlYubGVuZ3RoOyl0aGlzLkJWLnNoaWZ0KCkoKX07dmFyIFB4Uz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLndwYz1ufUgkKCl7cmV0dXJuIHRoaXMud3BjLmYoKX15aChuKXt0aGlzLndwYy5jKG4pfVcobil7cmV0dXJuIHRoaXMud3BjLm0oUlAobikpfVpSKG4pe3JldHVybiB0aGlzLndwYy5td3MoUlAobikpfX0sd1Q9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5PMT1uO3RoaXMuVz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTsKdGhpcy5KPXZvaWQgMDt0aGlzLk92PXRoaXMuTzEucDt0aGlzLlg9dGhpcy5TMS5iaW5kKHRoaXMpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgT3RpKHRoaXMpKX1zbmFwc2hvdChuKXtyZXR1cm4gdGhpcy5PMS5zKHsuLi4obi53XyYme2M6bi53X30pLAouLi4obi5HbCYme3M6bi5HbH0pLC4uLihuLk1PIT09dm9pZCAwJiZ7cDpuLk1PfSl9KX1TMShuKXt0aGlzLk8xLmUobil9UUQoKXtyZXR1cm4gdGhpcy5PMS5sKCl9fTt2YXIgamExPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5iZD0xfXNoYXJlKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJFOkFEIik7dGhpcy5iZCsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuYmR8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciBDMHg9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsYnAoIm1rIikpfWRFKG4sVyl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvZnJzIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiKX19LEJhaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLko9bjtFdShuLCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIixicCgibW4iKSxEWCgiYWMiKSxEWCgic2MiKSxicCgicmsiKSxicCgibWsiKSl9ZEUobixXLEQsYix2LGspe3RoaXMuSi5kRSgiL2NsaWVudF9zdHJlYW16L2JnL3dybCIsbixXLEQsYix2LGspfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy93cmwiKX19LEYyWj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLGJwKCJlbiIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLApuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lYyIpfX0sd1FyPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuSj1uO0V1KG4sIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYnAoImVuIiksYnAoIm1rIikpfWRFKG4sVyxEKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0sTXQxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLERYKCJlYyIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LFJkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIixEWCgiY3MiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywKIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0sUWF4PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixicCgiYXYiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LFZ0aT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsYnAoInN1IiksYnAoIm1rIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxjang9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwKIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixicCgibWsiKSl9ZEUobixXKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIil9fSxhNnc9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGJwKCJldCIpLGJwKCJtayIpKX1kRShuLFcsRCl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9uIil9fTt2YXIgY1c9ITAsVjEsdjI7dmFyIEhxO0hxPU5pKDEsITApO2cucXg9TmkoNjEwNDAxMzAxLCExKTtOaSg4OTk1ODg0MzcsITEpO05pKDc3MjY1Nzc2OCwhMCk7TmkoNTEzNjU5NTIzLCExKTtOaSg1NjgzMzM5NDUsITApO05pKDEzMzE3NjE0MDMsITApO05pKDY1MTE3NTgyOCwhMSk7TmkoNzIyNzY0NTQyLCExKTtOaSg3NDg0MDIxNDUsITEpO05pKDc0ODQwMjE0NiwhMSk7dmFyIEF2PU5pKDc0ODQwMjE0NywhMCk7TmkoMTYwMjYxMzE4NSwhMSk7TmkoODYxMzc3NzIzLCExKTtOaSg4NjEzNzc3MjQsSHEpO05pKDg2OTMzNjkwMywhMSk7TmkoODgyNjc0NTA3LCExKTtOaSg4NjkzMzY5MDQsSHEpO05pKDg2OTMzNjkwNSxIcSk7TmkoMjgzOTUzMTU1LCExKTtOaSg5MTk0NDQ4MjQsITEpO05pKDkzMTQ2ODA0NywhMSk7TmkoOTI4ODc1Mzk4LCExKTtOaSg2ODM3NDkyMDEsITEpO05pKDIxNDc0ODM2NDQsITEpO05pKDIxNDc0ODM2NDUsITEpO05pKDIxNDc0ODM2NDYsSHEpO05pKDIxNDc0ODM2NDcsITApO2cuR2g9ISFnLnJyKCJ5dC5jb25maWdfLkVYUEVSSU1FTlRTX0ZMQUdTLmh0bWw1X2VuYWJsZV9jbGllbnRfaGludHNfb3ZlcnJpZGUiKTt2YXIgbnpiO256Yj1nLnFpLm5hdmlnYXRvcjtnLnQ0PW56Yj9uemIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2cuT0FbIiAiXT1mdW5jdGlvbigpe307dmFyIHJjLG5yLHBRaixXVVosRDRpLGJpVSxYdyxmeDtyYz1OeCgpO2cua2g9c0EoKT8hMTpnLnJXKCJUcmlkZW50Iil8fGcuclcoIk1TSUUiKTtnLlJnPWcuclcoIkVkZ2UiKTtnLnNtPWcuUmd8fGcua2g7Zy5lUz1nLnJXKCJHZWNrbyIpJiYhKGcud3IoZy5YUSgpLCJXZWJLaXQiKSYmIWcuclcoIkVkZ2UiKSkmJiEoZy5yVygiVHJpZGVudCIpfHxnLnJXKCJNU0lFIikpJiYhZy5yVygiRWRnZSIpO2cuWmw9Zy53cihnLlhRKCksIldlYktpdCIpJiYhZy5yVygiRWRnZSIpO25yPWcubXgoKTtwUWo9Zy5LMCgpO2cuUUg9Zy5JMigpO1dVWj1TdSgpO0Q0aT1nLnJXKCJpUGFkIik7YmlVPWcuclcoImlQb2QiKTtYdz1nLkE0KCk7Zy5XWD1nLndyKGcuWFEoKSwiS2FpT1MiKTsKYTp7bGV0IG49IiIsVz1mdW5jdGlvbigpe3ZhciBEPWcuWFEoKTtpZihnLmVTKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoRCk7aWYoZy5SZylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKEQpO2lmKGcua2gpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKEQpO2lmKGcuWmwpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoRCk7aWYocmMpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoRCl9KCk7ClcmJihuPVc/V1sxXToiIik7aWYoZy5raCl7dmFyIEpWO2xldCBEPWcucWkuZG9jdW1lbnQ7SlY9RD9ELmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoSlYhPW51bGwmJkpWPnBhcnNlRmxvYXQobikpe2Z4PVN0cmluZyhKVik7YnJlYWsgYX19Zng9bn12YXIgUDI9ZngsaXR4PXt9O3ZhciB3OCxNWDtnLmFvPXAwKCk7dzg9U3UoKXx8Zy5yVygiaVBvZCIpO01YPWcuclcoImlQYWQiKTtnLkltPWcuclcoIkFuZHJvaWQiKSYmIShZSygpfHxwMCgpfHxOeCgpfHxnLnJXKCJTaWxrIikpO2cub2Q9WUsoKTtnLkduPWcuSDIoKSYmIWcuQTQoKTt2YXIgeWw9e30sVGg9bnVsbDt2YXIganU9L1stXy5dL2csZGlVPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9LHdXPXt9O3ZhciBGUT1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMuTj09bnVsbH1zaXplQnl0ZXMoKXt2YXIgbj1RbCh0aGlzKTtyZXR1cm4gbj9uLmxlbmd0aDowfWNvbnN0cnVjdG9yKG4sVyl7UjIoVyk7dGhpcy5OPW47aWYobiE9bnVsbCYmbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fSxCMjt2YXIgYTI9dm9pZCAwO3ZhciBiND1XOSgiamFzIiwhMCksTG49VzkoKSxrOT1XOSgpLExHPVc5KCksUk1iPVc5KCksUUNpPVc5KCksRzRTPVc5KCksRFVpPVc5KCksdkg9VzkoIm1fbSIsITApLGNpVT1XOSgpLHFFPVc5KCk7Wy4uLk9iamVjdC52YWx1ZXMoe014OjEsRVk6MixHTDo0LFltOjgsalo6MTYsVFQ6MzIsUFE6NjQsTng6MTI4LGZoOjI1NixhTjo1MTIsYVU6MTAyNCxQbToyMDQ4LHI0OjQwOTYsYU86ODE5Mn0pXTt2YXIgenosdnp4PVtdO3Z6eFtiNF09Nzt6ej1PYmplY3QuZnJlZXplKHZ6eCk7dmFyIGt2PXt9LERCPXt9LEckPU9iamVjdC5mcmVlemUoe30pLFNvPXt9LHhVPXt9O3ZhciBZbyx3V2osa0N4O2cudF89cTMobj0+dHlwZW9mIG49PT0ibnVtYmVyIik7CmcuRzk9cTMobj0+dHlwZW9mIG49PT0ic3RyaW5nIik7CllvPXEzKG49Pm4hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iKTsKd1dqPXEzKG49PnR5cGVvZiBuPT09ImZ1bmN0aW9uIik7CmtDeD1xMyhuPT4hIW4mJih0eXBlb2Ygbj09PSJvYmplY3QifHx0eXBlb2Ygbj09PSJmdW5jdGlvbiIpKTt2YXIgc0s9cTMobj0+bj49aDNqJiZuPD14NGopLGgzaj1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpLHg0aj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO3ZhciByWj0wLHNfPTAsR3Y7dmFyIGRaPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwLEJyaD10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDAsalg9TnVtYmVyLmlzU2FmZUludGVnZXIsUDk9TnVtYmVyLmlzRmluaXRlLFQ5PU1hdGgudHJ1bmMsbDEyPS9eLT8oWzEtOV1bMC05XSp8MCkoXC5bMC05XSspPyQvO3ZhciBhMVU9e307dmFyIFhGPWNsYXNze30sTVVpPXtKUzohMH07dmFyICR2O3ZhciBISCxmRzt2YXIgdjNpPWcuJFUoMCksZm49e307dmFyIE9WPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmJ1ZmZlcj1uO2lmKEQmJiFXKXRocm93IEVycm9yKCk7dGhpcy5OPVd9fTt2YXIgTFVyPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIpe3RoaXMuSj1udWxsO3RoaXMuVj0hMTt0aGlzLmo9bnVsbDt0aGlzLk49dGhpcy5XPXRoaXMuWD0wO3RoaXMuaW5pdChuLFcsRCxiKX1pbml0KG4sVyxELHtuXzpiPSExLGhCOnY9ITF9PXt9KXt0aGlzLm5fPWI7dGhpcy5oQj12O24mJihuPVBXKG4sdGhpcy5oQiksdGhpcy5KPW4uYnVmZmVyLHRoaXMuVj1uLk4sdGhpcy5qPW51bGwsdGhpcy5YPVd8fDAsdGhpcy5XPUQhPT12b2lkIDA/dGhpcy5YK0Q6dGhpcy5KLmxlbmd0aCx0aGlzLk49dGhpcy5YKX1mcmVlKCl7dGhpcy5jbGVhcigpO0FWLmxlbmd0aDwxMDAmJkFWLnB1c2godGhpcyl9Y2xlYXIoKXt0aGlzLko9bnVsbDt0aGlzLlY9ITE7dGhpcy5qPW51bGw7dGhpcy5OPXRoaXMuVz10aGlzLlg9MDt0aGlzLm5fPSExfXJlc2V0KCl7dGhpcy5OPXRoaXMuWH19LEFWPVtdO3ZhciBSWT0wLGhCUz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiKXtpZihBVi5sZW5ndGgpe2xldCB2PUFWLnBvcCgpO3YuaW5pdChuLFcsRCxiKTtuPXZ9ZWxzZSBuPW5ldyBMVXIobixXLEQsYik7dGhpcy5OPW47dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTE7akUodGhpcyxiKX1mcmVlKCl7dGhpcy5OLmNsZWFyKCk7dGhpcy5KPXRoaXMuVz0tMTtUJC5sZW5ndGg8MTAwJiZUJC5wdXNoKHRoaXMpfXJlc2V0KCl7dGhpcy5OLnJlc2V0KCk7dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTF9fSxUJD1bXTt2YXIgZTNyPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoU28hPT1Tbyl0aHJvdyBFcnJvcigpO319O3ZhciB2eT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxoMyxlQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxnRyxyRyxOZixwaCwkbSx0MyxxZixHUzt2YXIgZ3pNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLk4ubGVuZ3RofWVuZCgpe3ZhciBuPXRoaXMuTjt0aGlzLk49W107cmV0dXJuIG59fTt2YXIgWCQyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPVtdO3RoaXMuSj0wO3RoaXMuTj1uZXcgZ3pNfX07dmFyIGxHLHEzWixtNyxHQzIsdDJoLCQ0aSxyWEMsUHEsc2YyLE5NVSxwJFU7bEc9b3goKTtxM1o9b3goKTttNz1veCgpO2cuS3g9b3goKTtHQzI9b3goKTt0Mmg9b3goKTskNGk9b3goKTtnLk82PW94KCk7clhDPW94KCk7UHE9b3goKTtzZjI9b3goKTtnLlpGPW94KCk7Tk1VPW94KCk7cCRVPW94KCk7Zy5RbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5sOT1KdihuLFcsRCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gWXYodGhpcyl9Ylkobil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFl2KHRoaXMsbikpfWNsb25lKCl7dmFyIG49dGhpcy5sOSxXPW5bYjRdfDA7cmV0dXJuIEtHKHRoaXMsbixXKT9PSyh0aGlzLG4sITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKG1fKG4sVywhMSkpfX07Zy5RbS5wcm90b3R5cGVbdkhdPWt2O2cuUW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubDkudG9TdHJpbmcoKX07dmFyIHpTPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmNqPW47dGhpcy5Qaj1XO249RXcobEcpO3RoaXMuTj0hIW4mJkQ9PT1ufHwhMX19LExjdD1UUyhmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7UTEobixoUyhXLGIsRCksdik7cmV0dXJuITB9LENoKSxlQnQ9VFMoZnVuY3Rpb24obixXLEQsYix2KXtpZihuLkohPT0yKXJldHVybiExOwpRMShuLGhTKFcsYixEKSx2KTtyZXR1cm4hMH0sQ2gpLHZPPVN5bWJvbCgpLGN5PVN5bWJvbCgpLFdPPVN5bWJvbCgpLHhuPVN5bWJvbCgpLEQ4PVN5bWJvbCgpLEJ5LEZ0O3ZhciBTNixVNix5cCxZM0MsaVUsSGl3LGZxdyx1VSx6ZyxsVSxUZyxqbyxKWFMsSXFqO1M2PShuLFcpPT57dmFyIEQ9bmV3IFgkMjtMOChuLmw5LEQsd0codk8sYjYsa24sVykpO0EzKEQsRC5OLmVuZCgpKTtuPW5ldyBVaW50OEFycmF5KEQuSik7Vz1ELlc7dmFyIGI9Vy5sZW5ndGgsdj0wO2ZvcihsZXQgaz0wO2s8YjtrKyspe2xldCBoPVdba107bi5zZXQoaCx2KTt2Kz1oLmxlbmd0aH1ELlc9W25dO3JldHVybiBufTsKVTY9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxnLmRlKG4uTikpO3JldHVybiEwfSxnLnQ5LGcuWkYpOwp5cD1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO3ZhciBiPXVhKG4uTik7bj0oYj4+MzEpKjIrMTt2YXIgdj1iPj4+MjMmMjU1O2ImPTgzODg2MDc7Zy5xWShXLEQsdj09MjU1P2I/TmFOOm4qSW5maW5pdHk6dj09MD9uKjEuNDAxMjk4NDY0MzI0ODE3RS00NSpiOm4qTWF0aC5wb3coMix2LTE1MCkqKGIrODM4ODYwOCkpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1tMChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixEPUd2fHwoR3Y9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLEQuc2V0RmxvYXQzMigwLCtXLCEwKSxzXz0wLHJaPUQuZ2V0VWludDMyKDAsITApLEozKG4sclopKX0sc2YyKTsKZy5FNj1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtuLkohPT0wP249ITE6KGcucVkoVyxELGcuVVYobi5OLGcuSl8pKSxuPSEwKTtyZXR1cm4gbn0sZy4kbixnLk82KTsKWTNDPWcuZ1EoZnVuY3Rpb24obixXLEQpe24uSiE9PTA/bj0hMTooZy5xWShXLEQsZy5VVihuLk4sZjUpKSxuPSEwKTtyZXR1cm4gbn0sZnVuY3Rpb24obixXLEQpe1c9YTAoVyk7CmlmKFchPW51bGwmJihQeShXKSxXIT1udWxsKSlzd2l0Y2gobTQobixELDApLHR5cGVvZiBXKXtjYXNlICJudW1iZXIiOm49bi5OO3A1KFcpO0h5KG4sclosc18pO2JyZWFrO2Nhc2UgImJpZ2ludCI6RD1ZbShXLHZ5LGttKTtIeShuLk4sRC5KLEQuTik7YnJlYWs7ZGVmYXVsdDpEPXhtKFcpLEh5KG4uTixELkosRC5OKX19LHJYQyk7CmlVPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pKTtyZXR1cm4hMH0sZy5yUSxnLkt4KTsKSGl3PWcuZ1EoZnVuY3Rpb24obixXLEQpe3JldHVybiBKOShuLFcsRCl9LGZ1bmN0aW9uKG4sVyxEKXtXPWEwKFcpOwppZihXIT1udWxsKXN3aXRjaCh1RyhXKSxtNChuLEQsMSksbj1uLk4sdUcoVyksdHlwZW9mIFcpe2Nhc2UgIm51bWJlciI6VzwwPyhXPUxoKGttKC1XKSksRD1XLk4sSjMobixXLkopLEozKG4sRCkpOihOMyhXKSxKMyhuLHJaKSxKMyhuLHNfKSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpXPVc8QmlnSW50KDApP0xoKFltKC1XLHZ5LGttKSk6WW0oVyx2eSxrbSk7RD1XLk47SjMobixXLkopO0ozKG4sRCk7YnJlYWs7ZGVmYXVsdDpXPVcubGVuZ3RoJiZXWzBdPT09Ii0iP0xoKHhtKFcuc3Vic3RyaW5nKDEpKSk6eG0oVyksRD1XLk4sSjMobixXLkopLEozKG4sRCl9fSxQcSk7CmZxdz1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO2cucVkoVyxELHVhKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz11NChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxKMyhuLk4sVykpfSx0MmgpOwp1VT1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wKXJldHVybiExO2cucVkoVyxELHkxKG4uTikpO3JldHVybiEwfSxzZixxM1opOwpnLm9tPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7Zy5xWShXLEQsYVkobikpO3JldHVybiEwfSxOWSxtNyk7CmcuZHE9ZnVuY3Rpb24obixXLEQ9bEcpe3JldHVybiBuZXcgelMobixXLEQpfShmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7CmI9U1codm9pZCAwLGIpO2NIKFcsV1tiNF18MCxEKS5wdXNoKGIpO1ExKG4sYix2KTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylwOChuLFdba10sRCxiLHYpOwpuPVdbYjRdfDA7biYxfHwoV1tiNF09bnwxKX19KTsKemc9VFMoZnVuY3Rpb24obixXLEQsYix2LGspe2lmKG4uSiE9PTIpcmV0dXJuITE7dmFyIGg9V1tiNF18MDtXVyhXLGgsayxELEw1KGgpKTtXPWhTKFcsYixEKTtRMShuLFcsdik7cmV0dXJuITB9LHA4KTsKbFU9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MilyZXR1cm4hMTtnLnFZKFcsRCxEOShuKSk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPW5HKFcpOwpXIT1udWxsJiZpRyhuLEQsUFcoVywhMCkuYnVmZmVyKX0sTk1VKTsKVGc9WGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1EOShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYobkcsVywhMSk7CmlmKFchPW51bGwpZm9yKGxldCBoPTA7aDxXLmxlbmd0aDtoKyspe3ZhciBiPW4sdj1ELGs9V1toXTtrIT1udWxsJiZpRyhiLHYsUFcoaywhMCkuYnVmZmVyKX19LE5NVSk7CmpvPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pPj4+MCk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPXU0KFcpOwpXIT1udWxsJiZXIT1udWxsJiYobTQobixELDApLEl4KG4uTixXKSl9LEdDMik7CmcuQ3g9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MClyZXR1cm4hMTtnLnFZKFcsRCxnLkVWKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7RXMobixELEVfKFcpKX0scCRVKTsKSlhTPVhmKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wJiZuLkohPT0yKXJldHVybiExO1c9Y0goVyxXW2I0XXwwLEQpO24uSj09Mj9iRyhuLGs0MixXKTpXLnB1c2goZy5FVihuLk4pKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoRV8sVywhMCk7CmlmKFchPW51bGwpZm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspRXMobixELFdbYl0pfSxwJFUpOwpJcWo9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09NSlyZXR1cm4hMTtuPW4uTjt2YXIgYj1uLkosdj1uLk4saz1iW3YrMF0saD1iW3YrMV0seD1iW3YrMl07Yj1iW3YrM107aWEobiw0KTtnLnFZKFcsRCxrPDwwfGg8PDh8eDw8MTZ8Yjw8MjQpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1FXyhXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixuLk4ucHVzaChXPj4+MCYyNTUpLG4uTi5wdXNoKFc+Pj44JjI1NSksbi5OLnB1c2goVz4+PjE2JjI1NSksbi5OLnB1c2goVz4+PjI0JjI1NSkpfSwkNGkpO3ZhciBTMzE9bmV3IE1hcCxBWHg9Y2xhc3MgZXh0ZW5kcyBlM3J7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudHlwZU5hbWU9bjt0aGlzLk49VztpZihTbyE9PVNvKXRocm93IEVycm9yKCk7UzMxLnNldChuLHRoaXMpfX07dmFyIG00Wj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5OPW47dGhpcy5KPUQ7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5YPWdlO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLlc9Vy5tZXNzYWdlSWQhPW51bGw/eFU6dm9pZCAwfXJlZ2lzdGVyKCl7Zy5PQSh0aGlzKX19O3ZhciBjRlo9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVmPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGk2PVsxLDIsM107dmFyIFo4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LFVmPVsxLDIsM107dmFyIHllPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBLVUM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIE9peD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxQWmg9WzEsMiwzXTtnLk9mPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O2cuT2YucHJvdG90eXBlLkpoPVdaKDApO2cuT2YucHJvdG90eXBlLko9Zy5tRChbMCxnLm9tLFswLFBaaCx6ZyxbMCxnLm9tLC0xLHVVXSx6ZyxbMCxnLm9tLC0xLGlVLHVVXSx6ZyxbMCxnLm9tXV0sWGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1hWShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoZy5EUixXLCEwKTsKaWYoVyE9bnVsbClmb3IobGV0IGg9MDtoPFcubGVuZ3RoO2grKyl7dmFyIGI9bix2PUQsaz1XW2hdO2shPW51bGwmJmlHKGIsdixrSyhrKSl9fSxtNyksCmcuZHEsWzAsZy5kcSxbMCxpNixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTIpcmV0dXJuITE7YmEoVyxELGIsYVkobikpO3JldHVybiEwfSxOWSxtNyksCmcuZ1EoZnVuY3Rpb24obixXLEQsYil7aWYobi5KIT09MClyZXR1cm4hMTtiYShXLEQsYixnLkVWKG4uTikpO3JldHVybiEwfSxnLnJRLGcuS3gpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTApcmV0dXJuITE7YmEoVyxELGIseTEobi5OKSk7cmV0dXJuITB9LHNmLHEzWildLApbMCxVZixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe24uSiE9PTA/bj0hMTooYmEoVyxELGIsZy5VVihuLk4sZy5KXykpLG49ITApO3JldHVybiBufSxnLiRuLGcuTzYpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTEpcmV0dXJuITE7YmEoVyxELGIsZy5kZShuLk4pKTtyZXR1cm4hMH0sZy50OSxnLlpGKSwKemcsWzAsZy5kcSxbMCxVNixnLkU2XV1dXSxnLmdRKGZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gSjkobixXLEQpfSxmdW5jdGlvbihuLFcsRCl7eW0obixELGEwKFcpKX0sUHEpLApYZihmdW5jdGlvbihuLFcsRCl7bi5KIT09MSYmbi5KIT09Mj9uPSExOihXPWNIKFcsV1tiNF18MCxEKSxuLko9PTI/YkcobixvWSxXKTpXLnB1c2gob1kobi5OKSksbj0hMCk7cmV0dXJuIG59LGZ1bmN0aW9uKG4sVyxEKXtXPWU2KGEwLFcsITEpOwppZihXIT1udWxsKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXltKG4sRCxXW2JdKX0sUHEpXSk7dmFyIFppeD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTtnLkU9bDYucHJvdG90eXBlO2cuRS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighZy5xaS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtuejo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpnLkUuc2V0PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0hMTtpZih0eXBlb2YgRD09PSJvYmplY3QiKXt2YXIgdj1ELnNhbWVTaXRlO2I9RC5zZWN1cmV8fCExO3ZhciBrPUQuZG9tYWlufHx2b2lkIDA7dmFyIGg9RC5wYXRofHx2b2lkIDA7dmFyIHg9RC5uen1pZigvWzs9XHNdLy50ZXN0KG4pKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK24rJyInKTtpZigvWztcclxuXS8udGVzdChXKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrVysnIicpO3g9PT12b2lkIDAmJih4PS0xKTtEPWs/Ijtkb21haW49IitrOiIiO2g9aD8iO3BhdGg9IitoOiIiO2I9Yj8iO3NlY3VyZSI6IiI7eD14PDA/IiI6eD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK3gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLk4uY29va2llPW4rIj0iK1crRCtoK3grYisodiE9bnVsbD8KIjtzYW1lc2l0ZT0iK3Y6IiIpfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe3ZhciBEPW4rIj0iLGI9KHRoaXMuTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgdj0wLGs7djxiLmxlbmd0aDt2Kyspe2s9Ylt2XS50cmltKCk7aWYoay5sYXN0SW5kZXhPZihELDApPT0wKXJldHVybiBrLnNsaWNlKEQubGVuZ3RoKTtpZihrPT1uKXJldHVybiIifXJldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9dGhpcy5nZXQobikhPT12b2lkIDA7dGhpcy5zZXQobiwiIix7bno6MCxwYXRoOlcsZG9tYWluOkR9KTtyZXR1cm4gYn07CmcuRS51Qj1mdW5jdGlvbigpe3JldHVybiBUdih0aGlzKS5rZXlzfTsKZy5FLno3PWZ1bmN0aW9uKCl7cmV0dXJuIFR2KHRoaXMpLnZhbHVlc307CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuTi5jb29raWV9OwpnLkUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgbj1Udih0aGlzKS5rZXlzO2ZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKXRoaXMucmVtb3ZlKG5bV10pfTsKdmFyIEp5PW5ldyBsNih0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBVNHg9Y2xhc3N7YXN5bmMgY29tcHJlc3Mobil7dmFyIFc9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksRD0obmV3IFJlc3BvbnNlKFcucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO1c9Vy53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBXLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKSk7YXdhaXQgVy5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBEKX1pc1N1cHBvcnRlZChuKXtyZXR1cm4gbjwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIHlYTT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgRXppPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pbnRlcnZhbE1zPW47dGhpcy5jYWxsYmFjaz1XO3RoaXMuZW5hYmxlZD0hMTt0aGlzLk49KCk9PmcuVXcoKTsKdGhpcy5KPXRoaXMuTigpfXNldEludGVydmFsKG4pe3RoaXMuaW50ZXJ2YWxNcz1uO3RoaXMudGltZXImJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnRpbWVyJiZ0aGlzLnN0b3AoKX1zdGFydCgpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcyksdGhpcy5KPXRoaXMuTigpKX1zdG9wKCl7dGhpcy5lbmFibGVkPSExOwp0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1NYXRoLm1heCh0aGlzLk4oKS10aGlzLkosMCk7bjx0aGlzLmludGVydmFsTXMqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcy1uKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5jYWxsYmFjaygpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfWVsc2UgdGhpcy50aW1lcj12b2lkIDB9fTt2YXIgaWl4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciB1R2I9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07Zy5FPWcuTVkucHJvdG90eXBlO2cuRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5NWSh0aGlzLngsdGhpcy55KX07CmcuRS5lcXVhbHM9ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLk1ZJiZSXyh0aGlzLG4pfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy54Kj1uO3RoaXMueSo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O2cuRT1nLlFlLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuUWUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpnLkUuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIWNPKHRoaXMpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy53aWR0aCo9bjt0aGlzLmhlaWdodCo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O3ZhciBwVD0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO3ZhciAkQj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uPT09cksmJld8fCIifXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19LHJLPXt9O25ldyAkQihySywiIik7dmFyIE8wPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtnLkU9ZlQucHJvdG90eXBlO2cuRS5lXz1mdW5jdGlvbigpe3JldHVybiBBSyh0aGlzLk4pfTsKZy5FLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFd8fHRoaXMuTikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG4pKX07CmcuRS5CSj1mdW5jdGlvbihuKXtyZXR1cm4gZy5LVChuLHRoaXMuTil9OwpnLkUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdWsodGhpcy5OLG4pfTsKZy5FLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG4sVyl7bi5hcHBlbmRDaGlsZChXKX07CmcuRS5hcHBlbmQ9ZnVuY3Rpb24obixXKXtvaChnLkpLKG4pLG4sYXJndW1lbnRzLDEpfTsKZy5FLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihuKXtpZihuLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChuLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07CmcuRS5yZW1vdmVOb2RlPWcuQ1Q7Zy5FLmNvbnRhaW5zPWcuQng7Zy5FLmlzRm9jdXNhYmxlPU1jO3ZhciBvek09Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfUdZKCl7cmV0dXJuIEhXKHRoaXMsMSl9fTt2YXIgVlE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGJJPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGY0Mj1LOChiSSk7dmFyIGtFPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBjeD1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sUVE9bmV3IGJJLGFoPW51bGw7dmFyIFdMPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBkNGg9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHozdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw0KX19O3ZhciBCcT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiwzNyl9Uygpe3ZhciBuPXRoaXMubDk7cmV0dXJuIHg5KG4sbltiNF18MCxkNGgsNykhPT12b2lkIDB9fTt2YXIgbHF0PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDE5KX1hVihuKXtyZXR1cm4gS24odGhpcywyLG4pfX07dmFyIFRNQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuZ1I9Vzt0aGlzLnVhY2g9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLko9MDt0aGlzLmlzRmluYWw9ITE7dGhpcy5OPW5ldyBscXQ7TnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5OLmFWKG4pO1d8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO3ZMKHRoaXMsbmV3IFdMKX1hVihuKXt0aGlzLk4uYVYobik7cmV0dXJuIHRoaXN9YnVpbGQobixXPTAsRD0wLGI9bnVsbCx2PTAsaz0wKXtpZighdGhpcy5nUil7dmFyIGg9REQodGhpcyk7dmFyIHg9bmV3IG96TTt4PUtuKHgsMSx0aGlzLkopO3g9b3ooeCwyLE9fKHRoaXMuaXNGaW5hbCkpO0Q9b3ooeCwzLGcueVAoRD4wP0Q6dm9pZCAwKSk7dj1veihELDQsZy55UCh2PjA/djp2b2lkIDApKTtrPW96KHYsNSxnLnlQKGs+MD9rOnZvaWQgMCkpO3Y9ay5sOTtEPXZbYjRdfDA7az12OShrLEQpP2s6S0coayx2LEQpP09LKGssCnYpOm5ldyBrLmNvbnN0cnVjdG9yKG1fKHYsRCwhMCkpOyQ5KGgsb3pNLDEwLGspfWg9dGhpcy5OLmNsb25lKCk7az1EYXRlLm5vdygpLnRvU3RyaW5nKCk7aD1veihoLDQsZy5sNChrKSk7bj1uLnNsaWNlKCk7bj1zVihoLEJxLDMsbik7YiYmKGg9bmV3IGlpeCxiPW96KGgsMTMsZy55UChiKSksaD1uZXcgdUdiLGI9JDkoaCxpaXgsMixiKSxoPW5ldyB6M3QsYj0kOShoLHVHYiwxLGIpLGI9S24oYiwyLDkpLCQ5KG4sejN0LDE4LGIpKTtXJiZJWShuLDE0LFcpO3JldHVybiBufX07dmFyIEdBO0dBPWcuWmw/IndlYmtpdFRyYW5zaXRpb25FbmQiOiJ0cmFuc2l0aW9uZW5kIjtnLmhILnByb3RvdHlwZS5KPTA7Zy5oSC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLk49dGhpcy5XPXRoaXMuWDt0aGlzLko9MH07CmcuaEgucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV307dmFyIGpmdz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw4KX19LENaaD1LOChqZncpO3ZhciBGUDtGUD1uZXcgbTRaKDE3NTIzNzM3NSxqZncsY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX0pO3ZhciBCTVo9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5jb21wb25lbnRJZD0iIjt0aGlzLk49W107dGhpcy5WUT0iIjt0aGlzLnBhZ2VJZD1udWxsO3RoaXMuZSQ9dGhpcy50dz0tMTt0aGlzLks9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5PPXRoaXMuY0o9dGhpcy5WPXRoaXMuWD0wO3RoaXMuSEo9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLmJkPSExO3RoaXMubG9nU291cmNlPW4ubG9nU291cmNlO3RoaXMubjE9bi5uMXx8KCgpPT57fSk7CnRoaXMuVz1uZXcgVE1DKG4ubG9nU291cmNlLG4uZ1IpO3RoaXMubmV0d29yaz1uLm5ldHdvcmt8fG51bGw7dGhpcy5QZz1uLlBnfHxudWxsO3RoaXMuWT1uLmN1fHxudWxsO3RoaXMuc2Vzc2lvbkluZGV4PW4uc2Vzc2lvbkluZGV4fHxudWxsO3RoaXMub3g9bi5veHx8ITE7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLndpdGhDcmVkZW50aWFscz0hbi5rQzt0aGlzLmdSPW4uZ1J8fCExO3RoaXMuRD0hdGhpcy5nUiYmISFnLmlrKCkmJiEhZy5paygpLm5hdmlnYXRvciYmZy5paygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUyQ9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKExLKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoTEsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIFc9bksobmV3IFdMKTt2TCh0aGlzLlcsVyk7dGhpcy5qPW5ldyBnLmhIKDFFNCwzRTUsLjEpO249STRTKHRoaXMsbi5iMSk7dGhpcy5KPW5ldyBFemkodGhpcy5qLmdldFZhbHVlKCksCm4pO3RoaXMuVEM9bmV3IEV6aSg2RTUsbik7dGhpcy5veHx8dGhpcy5UQy5zdGFydCgpO3RoaXMuZ1J8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iJiZlZyh0aGlzKX0pLGcuaWsoKT8uYWRkRXZlbnRMaXN0ZW5lcj8uKCJwYWdlaGlkZSIsKCk9PntlZyh0aGlzKX0pKX1tQSgpe2VnKHRoaXMpOwp0aGlzLkouc3RvcCgpO3RoaXMuVEMuc3RvcCgpO3N1cGVyLm1BKCl9ZGlzcGF0Y2gobil7aWYobiBpbnN0YW5jZW9mIEJxKXRoaXMubG9nKG4pO2Vsc2UgdHJ5e3ZhciBXPW5ldyBCcSxEPW4uYlkoKTt2YXIgYj1nLlNFKFcsOCxEKTt0aGlzLmxvZyhiKX1jYXRjaHt9fWxvZyhuKXtpZih0aGlzLlMkKXtuPW4uY2xvbmUoKTt2YXIgVz10aGlzLkhKKys7bj1JWShuLDIxLFcpO3RoaXMuY29tcG9uZW50SWQmJmcuU0UobiwyNix0aGlzLmNvbXBvbmVudElkKTtXPW47e3ZhciBEPWlXKFcsMSk7bGV0IGI9dHlwZW9mIEQ7RD1EPT1udWxsP0Q6Yj09PSJiaWdpbnQiP1N0cmluZyhkWig2NCxEKSk6WkIoRCk/Yj09PSJzdHJpbmciP0I5KEQpOkM1KEQpOnZvaWQgMH1EPT1udWxsJiYoRD1EYXRlLm5vdygpLEQ9TnVtYmVyLmlzRmluaXRlKEQpP0QudG9TdHJpbmcoKToiMCIsb3ooVywxLGcubDQoRCkpKTtEPWlXKFcsMTUsdm9pZCAwLHZvaWQgMCxGRCk7RCE9bnVsbCYmKHR5cGVvZiBEPT09ImJpZ2ludCI/CnNLKEQpP0Q9TnVtYmVyKEQpOihEPWRaKDY0LEQpLEQ9c0soRCk/TnVtYmVyKEQpOlN0cmluZyhEKSk6RD1aQihEKT90eXBlb2YgRD09PSJudW1iZXIiP0M1KEQpOkI5KEQpOnZvaWQgMCk7RCE9bnVsbHx8SVkoVywxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKEQ9dGhpcy5leHBlcmltZW50SWRzLmNsb25lKCksJDkoVyx5WE0sMTYsRCkpO1c9dGhpcy5OLmxlbmd0aC0xRTMrMTtXPjAmJih0aGlzLk4uc3BsaWNlKDAsVyksdGhpcy5YKz1XKTt0aGlzLk4ucHVzaChuKTt0aGlzLm94fHx0aGlzLkouZW5hYmxlZHx8dGhpcy5KLnN0YXJ0KCl9fWZsdXNoKG4sVyl7aWYodGhpcy5OLmxlbmd0aD09PTApbiYmbigpO2Vsc2UgaWYodGhpcy5iZCYmdGhpcy5EKXRoaXMuVy5KPTMsQUZaKHRoaXMpO2Vsc2V7dmFyIEQ9RGF0ZS5ub3coKTtpZih0aGlzLmUkPkQmJnRoaXMudHc8RClXJiZXKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMubmV0d29yayYmCih0eXBlb2YgdGhpcy5uZXR3b3JrLkdZPT09ImZ1bmN0aW9uIj9IYlModGhpcy5XLHRoaXMubmV0d29yay5HWSgpKTp0aGlzLlcuSj0wKTt2YXIgYj10aGlzLlcuYnVpbGQodGhpcy5OLHRoaXMuWCx0aGlzLlYsdGhpcy5QZyx0aGlzLmNKLHRoaXMuTyksdj10aGlzLm4xKCk7aWYodiYmdGhpcy5WUT09PXYpVyYmVygic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2V7dGhpcy5OPVtdO3RoaXMuSi5lbmFibGVkJiZ0aGlzLkouc3RvcCgpO3RoaXMuWD0wO0Q9Yi5iWSgpO2xldCBrO3RoaXMuSyYmdGhpcy5LLmlzU3VwcG9ydGVkKEQubGVuZ3RoKSYmKGs9dGhpcy5LLmNvbXByZXNzKEQpKTtsZXQgaD1tVXcodGhpcyxELHYpLHg9Rz0+e3RoaXMuai5yZXNldCgpO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7aWYoRyl7dmFyIHI9bnVsbDt0cnl7bGV0IE49SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShHLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cj1DWmgoTil9Y2F0Y2goTil7fXImJgooRz1OdW1iZXIocG4ociwxLGcuJFUoIi0xIikpKSxHPjAmJih0aGlzLnR3PURhdGUubm93KCksdGhpcy5lJD10aGlzLnR3K0cpLHR2KHIubDksRlAuTiksR3oocixGUC5OKSxyPUZQLko/RlAuWChyLEZQLkosRlAuTixGUC5XKTpGUC5YKHIsRlAuTixudWxsLEZQLlcpLHI9cj09PW51bGw/dm9pZCAwOnIpJiYocj1hUChyLDEsLTEpLHIhPT0tMSYmKHRoaXMuaj1uZXcgZy5oSChyPDE/MTpyLDNFNSwuMSksdGhpcy5KLnNldEludGVydmFsKHRoaXMuai5nZXRWYWx1ZSgpKSkpfW4mJm4oKTt0aGlzLlY9MH0sTD0oRyxyKT0+e3ZhciBOPVZHKGIsQnEsMyk7CnZhciBIPU51bWJlcihwbihiLDE0KSk7Zy54RSh0aGlzLmopO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7Rz09PTQwMSYmdiYmKHRoaXMuVlE9dik7SCYmKHRoaXMuWCs9SCk7cj09PXZvaWQgMCYmKHI9dGhpcy5pc1JldHJ5YWJsZShHKSk7ciYmKHRoaXMuTj1OLmNvbmNhdCh0aGlzLk4pLHRoaXMub3h8fHRoaXMuSi5lbmFibGVkfHx0aGlzLkouc3RhcnQoKSk7VyYmVygibmV0LXNlbmQtZmFpbGVkIixHKTsrK3RoaXMuVn0sZT0oKT0+e3RoaXMubmV0d29yayYmdGhpcy5uZXR3b3JrLnNlbmQoaCx4LEwpfTsKaz9rLnRoZW4oRz0+e2guWkpbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5aSlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PUc7aC5vJD0yO2UoKX0sKCk9PntlKCl9KTplKCl9fX19aXNSZXRyeWFibGUobil7cmV0dXJuIDUwMDw9biYmbjw2MDB8fG49PT00MDF8fG49PT0wfX07dmFyIEZVaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuUiQ9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifWFzeW5jIHNlbmQobixXLEQpe3ZhciBiPXRoaXMuUiQ/bmV3IEFib3J0Q29udHJvbGxlcjp2b2lkIDAsdj1iJiZuLnRpbWVvdXRNaWxsaXM+MD9zZXRUaW1lb3V0KCgpPT57Yi5hYm9ydCgpfSxuLnRpbWVvdXRNaWxsaXMpOnZvaWQgMDsKdHJ5e2xldCBrPWF3YWl0IGZldGNoKG4udXJsLHttZXRob2Q6bi5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5uLlpKfSwuLi4obi5ib2R5JiZ7Ym9keTpuLmJvZHl9KSwuLi4obi53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6bi50aW1lb3V0TWlsbGlzJiZiP2Iuc2lnbmFsOm51bGx9KTtrLnN0YXR1cz09PTIwMD9XPy4oYXdhaXQgay50ZXh0KCkpOkQ/LihrLnN0YXR1cyl9Y2F0Y2goayl7c3dpdGNoKGs/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOkQ/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6RD8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KHYpfX1HWSgpe3JldHVybiA0fX07dmFyIGtZPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5Saj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5OPXRoaXMuUGc9bnVsbDt0aGlzLko9ITE7dGhpcy5sb2dnZXI9dGhpcy5wYWdlSWQ9bnVsbH1rQygpe3RoaXMuVz0hMDtyZXR1cm4gdGhpc31idWlsZCgpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRlVqKTt2YXIgbj1uZXcgQk1aKHtsb2dTb3VyY2U6dGhpcy5sb2dTb3VyY2UsbjE6dGhpcy5uMT90aGlzLm4xOkJPLHNlc3Npb25JbmRleDp0aGlzLnNlc3Npb25JbmRleCxjdTp0aGlzLlJqLGdSOiExLG94OiExLGtDOnRoaXMuVyxiMTp0aGlzLmIxLG5ldHdvcms6dGhpcy5uZXR3b3JrfSk7Zy51KHRoaXMsCm4pO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIFc9dGhpcy5idWlsZExhYmVsLEQ9REQobi5XKTtnLlNFKEQsNyxXKX1uLks9bmV3IFU0eDt0aGlzLmNvbXBvbmVudElkJiYobi5jb21wb25lbnRJZD10aGlzLmNvbXBvbmVudElkKTt0aGlzLlBnJiYobi5QZz10aGlzLlBnKTt0aGlzLnBhZ2VJZCYmKG4ucGFnZUlkPXRoaXMucGFnZUlkKTt0aGlzLk4mJigoRD10aGlzLk4pPyhuLmV4cGVyaW1lbnRJZHN8fChuLmV4cGVyaW1lbnRJZHM9bmV3IHlYTSksVz1uLmV4cGVyaW1lbnRJZHMsRD1ELmJZKCksZy5TRShXLDQsRCkpOm4uZXhwZXJpbWVudElkcyYmb3oobi5leHBlcmltZW50SWRzLDQpKTt0aGlzLkomJihuLmJkPW4uRCk7SkZaKG4uVyk7dGhpcy5uZXR3b3JrLmFWJiZ0aGlzLm5ldHdvcmsuYVYodGhpcy5sb2dTb3VyY2UpO3RoaXMubmV0d29yay5oUyYmdGhpcy5uZXR3b3JrLmhTKG4pO3JldHVybiBufX07dmFyIGE0aj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7bnx8KG49bmV3IGtZLG4uY29tcG9uZW50SWQ9IiIsZy51KHRoaXMsbiksbj1uLmJ1aWxkKCkpO3RoaXMuTj1ufWZsdXNoKG4pe249bnx8W107aWYobi5sZW5ndGgpe2xldCBXPW5ldyBaaXgsRD1bXTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHY9bltiXSxrPXU2KHYpO0QucHVzaChrKTt2LmNsZWFyKCl9c1YoVyxnLk9mLDEsRCk7dGhpcy5OLmRpc3BhdGNoKFcpO3RoaXMuTi5mbHVzaCgpfX19O3ZhciBxNT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19O3ZhciB3JGI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuSj1uO3RoaXMuVz1XO3RoaXMuZmllbGRzPUR8fFtdO3RoaXMuTj1uZXcgTWFwfWNsZWFyKCl7dGhpcy5OLmNsZWFyKCl9fTt2YXIgaWU9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDMsVyl9fTt2YXIgeTg9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDIsVyl9ZEUobiwuLi5XKXt5RloodGhpcyxuLC4uLlcpfX07JEUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSj0hMH07CiRFLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Zy5peChyRCwkRSk7CnJELnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9dGhpcy50eXBlPW4udHlwZSxiPW4uY2hhbmdlZFRvdWNoZXMmJm4uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP24uY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1uLnRhcmdldHx8bi5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1XO1c9bi5yZWxhdGVkVGFyZ2V0O1d8fChEPT0ibW91c2VvdmVyIj9XPW4uZnJvbUVsZW1lbnQ6RD09Im1vdXNlb3V0IiYmKFc9bi50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9VztiPyh0aGlzLmNsaWVudFg9Yi5jbGllbnRYIT09dm9pZCAwP2IuY2xpZW50WDpiLnBhZ2VYLHRoaXMuY2xpZW50WT1iLmNsaWVudFkhPT12b2lkIDA/Yi5jbGllbnRZOmIucGFnZVksdGhpcy5zY3JlZW5YPWIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yi5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPW4uY2xpZW50WCE9PXZvaWQgMD9uLmNsaWVudFg6bi5wYWdlWCx0aGlzLmNsaWVudFk9Cm4uY2xpZW50WSE9PXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWSx0aGlzLnNjcmVlblg9bi5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1uLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPW4uYnV0dG9uO3RoaXMua2V5Q29kZT1uLmtleUNvZGV8fDA7dGhpcy5rZXk9bi5rZXl8fCIiO3RoaXMuY2hhckNvZGU9bi5jaGFyQ29kZXx8KEQ9PSJrZXlwcmVzcyI/bi5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5hbHRLZXk9bi5hbHRLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9bi5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1uLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9bi5zdGF0ZTt0aGlzLk49bjtuLmRlZmF1bHRQcmV2ZW50ZWQmJnJELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9OwpyRC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ckQuVEIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5OLnN0b3BQcm9wYWdhdGlvbj90aGlzLk4uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5OLmNhbmNlbEJ1YmJsZT0hMH07CnJELnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3JELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIG49dGhpcy5OO24ucHJldmVudERlZmF1bHQ/bi5wcmV2ZW50RGVmYXVsdCgpOm4ucmV0dXJuVmFsdWU9ITF9O3ZhciBzMj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciB1SWg9MDtnLkU9ZksucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLnRvU3RyaW5nKCk7bj10aGlzLmxpc3RlbmVyc1trXTtufHwobj10aGlzLmxpc3RlbmVyc1trXT1bXSx0aGlzLk4rKyk7dmFyIGg9SVcobixXLGIsdik7aD4tMT8oVz1uW2hdLER8fChXLnFfPSExKSk6KFc9bmV3IG8zYihXLHRoaXMuc3JjLGssISFiLHYpLFcucV89RCxuLnB1c2goVykpO3JldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCxiKXtuPW4udG9TdHJpbmcoKTtpZighKG4gaW4gdGhpcy5saXN0ZW5lcnMpKXJldHVybiExO3ZhciB2PXRoaXMubGlzdGVuZXJzW25dO1c9SVcodixXLEQsYik7cmV0dXJuIFc+LTE/KEhMKHZbV10pLGcuQk0odixXKSx2Lmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1tuXSx0aGlzLk4tLSksITApOiExfTsKZy5FLlRpPWZ1bmN0aW9uKCl7dmFyIG49MDtmb3IobGV0IFcgaW4gdGhpcy5saXN0ZW5lcnMpe2xldCBEPXRoaXMubGlzdGVuZXJzW1ddO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKSsrbixITChEW2JdKTtkZWxldGUgdGhpcy5saXN0ZW5lcnNbV107dGhpcy5OLS19fTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe249dGhpcy5saXN0ZW5lcnNbbi50b1N0cmluZygpXTt2YXIgdj0tMTtuJiYodj1JVyhuLFcsRCxiKSk7cmV0dXJuIHY+LTE/blt2XTpudWxsfTsKZy5FLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9biE9PXZvaWQgMCxiPUQ/bi50b1N0cmluZygpOiIiLHY9VyE9PXZvaWQgMDtyZXR1cm4gZy5EbCh0aGlzLmxpc3RlbmVycyxmdW5jdGlvbihrKXtmb3IobGV0IGg9MDtoPGsubGVuZ3RoOysraClpZighKEQmJmtbaF0udHlwZSE9Ynx8diYma1toXS5jYXB0dXJlIT1XKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgUEw9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksaUk9e30sVTI9MCx1ST0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2cuaXgoZy5vVyxnLkZNKTtnLm9XLnByb3RvdHlwZVtzMl09ITA7Zy5FPWcub1cucHJvdG90eXBlO2cuRS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG4sVyxELGIpe0FIKHRoaXMsbixXLEQsYil9OwpnLkUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihuLFcsRCxiKXt5Nyh0aGlzLG4sVyxELGIpfTsKZy5FLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5sWjtpZihXKXt2YXIgRD1bXTtmb3IodmFyIGI9MTtXO1c9Vy5sWilELnB1c2goVyksKytifVc9dGhpcy5IZDtiPW4udHlwZXx8bjtpZih0eXBlb2Ygbj09PSJzdHJpbmciKW49bmV3ICRFKG4sVyk7ZWxzZSBpZihuIGluc3RhbmNlb2YgJEUpbi50YXJnZXQ9bi50YXJnZXR8fFc7ZWxzZXt2YXIgdj1uO249bmV3ICRFKGIsVyk7Zy5ZeShuLHYpfXY9ITA7dmFyIGs7aWYoRClmb3Ioaz1ELmxlbmd0aC0xOyFuLkomJms+PTA7ay0tKXt2YXIgaD1uLmN1cnJlbnRUYXJnZXQ9RFtrXTt2PWREKGgsYiwhMCxuKSYmdn1uLkp8fChoPW4uY3VycmVudFRhcmdldD1XLHY9ZEQoaCxiLCEwLG4pJiZ2LG4uSnx8KHY9ZEQoaCxiLCExLG4pJiZ2KSk7aWYoRClmb3Ioaz0wOyFuLkomJms8RC5sZW5ndGg7aysrKWg9bi5jdXJyZW50VGFyZ2V0PURba10sdj1kRChoLGIsITEsbikmJnY7cmV0dXJuIHZ9OwpnLkUubUE9ZnVuY3Rpb24oKXtnLm9XLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5kXyYmdGhpcy5kXy5UaSgpO3RoaXMubFo9bnVsbH07CmcuRS5TXz1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITEsRCxiKX07CmcuRS5lRj1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITAsRCxiKX07CmcuRS53SD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLmRfLnJlbW92ZShTdHJpbmcobiksVyxELGIpfTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiB0aGlzLmRfLnNjKFN0cmluZyhuKSxXLEQsYil9OwpnLkUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obixXKXtyZXR1cm4gdGhpcy5kXy5oYXNMaXN0ZW5lcihuIT09dm9pZCAwP1N0cmluZyhuKTp2b2lkIDAsVyl9O2cuejc9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9uPT5uJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChuKTpuPT5uO3ZhciBNMlM9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLlg9Vzt0aGlzLko9MDt0aGlzLk49bnVsbH1nZXQoKXtpZih0aGlzLko+MCl7dGhpcy5KLS07dmFyIG49dGhpcy5OO3RoaXMuTj1uLm5leHQ7bi5uZXh0PW51bGx9ZWxzZSBuPXRoaXMuVygpO3JldHVybiBufXB1dChuKXt0aGlzLlgobik7dGhpcy5KPDEwMCYmKHRoaXMuSisrLG4ubmV4dD10aGlzLk4sdGhpcy5OPW4pfX07dmFyIGxJO3ZhciBSM2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5OPW51bGx9YWRkKG4sVyl7dmFyIEQ9Q0suZ2V0KCk7RC5zZXQobixXKTt0aGlzLko/dGhpcy5KLm5leHQ9RDp0aGlzLk49RDt0aGlzLko9RH1yZW1vdmUoKXt2YXIgbj1udWxsO3RoaXMuTiYmKG49dGhpcy5OLHRoaXMuTj10aGlzLk4ubmV4dCx0aGlzLk58fCh0aGlzLko9bnVsbCksbi5uZXh0PW51bGwpO3JldHVybiBufX0sQ0s9bmV3IE0yUygoKT0+bmV3IFFmMSxuPT5uLnJlc2V0KCkpLFFmMT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuTj1udWxsfXNldChuLFcpe3RoaXMuTj1uOwp0aGlzLnNjb3BlPVc7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLk49bnVsbH19O3ZhciB3cSxCTCxqZyxWMng7Qkw9ITE7amc9bmV3IFIzYjtnLm1LPShuLFcpPT57d3F8fFYyeCgpO0JMfHwod3EoKSxCTD0hMCk7amcuYWRkKG4sVyl9OwpWMng9KCk9Pnt2YXIgbj1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt3cT0oKT0+e24udGhlbihUenIpfX07cTgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMuSj10aGlzLlc9dGhpcy5OPW51bGw7dGhpcy5YPSExfTsKdmFyIEczPW5ldyBNMlMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHE4fSxmdW5jdGlvbihuKXtuLnJlc2V0KCl9KTsKZy5YMS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFNPKHRoaXMsKDAsZy56NykodHlwZW9mIG49PT0iZnVuY3Rpb24iP246bnVsbCksKDAsZy56NykodHlwZW9mIFc9PT0iZnVuY3Rpb24iP1c6bnVsbCksRCl9OwpnLlgxLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtnLkU9Zy5YMS5wcm90b3R5cGU7Zy5FLmZpbmFsbHk9ZnVuY3Rpb24obil7bj0oMCxnLno3KShuKTtyZXR1cm4gbmV3IGcuWDEoKFcsRCk9PntwcSh0aGlzLGI9PntuKCk7VyhiKX0sYj0+e24oKTsKRChiKX0pfSl9OwpnLkUuc1A9ZnVuY3Rpb24obixXKXtyZXR1cm4gU08odGhpcyxudWxsLCgwLGcuejcpKG4pLFcpfTsKZy5FLmNhdGNoPWcuWDEucHJvdG90eXBlLnNQO2cuRS5jYW5jZWw9ZnVuY3Rpb24obil7aWYodGhpcy5OPT0wKXtsZXQgVz1uZXcgZy5JNShuKTtnLm1LKGZ1bmN0aW9uKCl7WUcodGhpcyxXKX0sdGhpcyl9fTsKZy5FLklRPWZ1bmN0aW9uKG4pe3RoaXMuTj0wO2dwKHRoaXMsMixuKX07CmcuRS5BUz1mdW5jdGlvbihuKXt0aGlzLk49MDtncCh0aGlzLDMsbil9OwpnLkUueXM9ZnVuY3Rpb24oKXtmb3IodmFyIG47bj1ISih0aGlzKTspZnEodGhpcyxuLHRoaXMuTix0aGlzLkspO3RoaXMuVj0hMX07CnZhciBPdT1oNDtnLml4KGcuSTUsZy5UYik7Zy5JNS5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtnLml4KGcuUEosZy5vVyk7Zy5FPWcuUEoucHJvdG90eXBlO2cuRS5lbmFibGVkPSExO2cuRS5aNj1udWxsO2cuRS5zZXRJbnRlcnZhbD1mdW5jdGlvbihuKXt0aGlzLmd0PW47dGhpcy5aNiYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMuWjYmJnRoaXMuc3RvcCgpfTsKZy5FLlJRPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1nLlV3KCktdGhpcy5qYjtuPjAmJm48dGhpcy5ndCouOD90aGlzLlo2PXRoaXMuVjcuc2V0VGltZW91dCh0aGlzLmhFLHRoaXMuZ3Qtbik6KHRoaXMuWjYmJih0aGlzLlY3LmNsZWFyVGltZW91dCh0aGlzLlo2KSx0aGlzLlo2PW51bGwpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGljayIpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfX07CmcuRS5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLlo2fHwodGhpcy5aNj10aGlzLlY3LnNldFRpbWVvdXQodGhpcy5oRSx0aGlzLmd0KSx0aGlzLmpiPWcuVXcoKSl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLlo2JiYodGhpcy5WNy5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsKX07CmcuRS5tQT1mdW5jdGlvbigpe2cuUEouVEIubUEuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5WN307dmFyIGhxPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuRD1uO3RoaXMuVj0wO3RoaXMuWD0xMDA7dGhpcy5LPSExO3RoaXMuVz1uZXcgTWFwO3RoaXMuWT1uZXcgU2V0O3RoaXMuZmx1c2hJbnRlcnZhbD0zRTQ7dGhpcy5KPW5ldyBnLlBKKHRoaXMuZmx1c2hJbnRlcnZhbCk7dGhpcy5KLlNfKCJ0aWNrIix0aGlzLmosITEsdGhpcyk7Zy51KHRoaXMsdGhpcy5KKX1zZW5kSXNvbGF0ZWRQYXlsb2FkKG4pe3RoaXMuSz1uO3RoaXMuWD0xfWooKXt2YXIgbj1bLi4udGhpcy5XLnZhbHVlcygpXS5maWx0ZXIoVz0+Vy5OLnNpemUpOwpuLmxlbmd0aCYmdGhpcy5ELmZsdXNoKG4sdGhpcy5LKTtGY2Iobik7dGhpcy5WPTA7dGhpcy5KLmVuYWJsZWQmJnRoaXMuSi5zdG9wKCl9TihuKXtyZXR1cm4gdGhpcy5ZLmhhcyhuKT92b2lkIDA6dGhpcy5XLmdldChuKX1kRShuLFcsLi4uRCl7KG49dGhpcy5OKG4pKSYmbiBpbnN0YW5jZW9mIHk4JiYobi5kRShXLC4uLkQpLG81KHRoaXMpKX19O3ZhciBDVj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyxEPXt9KXtzdXBlcihXKTt0aGlzLmNvZGU9bjt0aGlzLm1ldGFkYXRhPUQ7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIG49YFJwY0Vycm9yKCR7d01TKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKG4rPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gbn19O2xlLnByb3RvdHlwZS5iWT1mdW5jdGlvbihuKXt2YXIgVz1bXTtUMyh0aGlzLG4sVyk7cmV0dXJuIFcuam9pbigiIil9Owp2YXIgQ3E9eyciJzonXFwiJywiXFwiOiJcXFxcIiwiLyI6IlxcLyIsIlxiIjoiXFxiIiwiXGYiOiJcXGYiLCJcbiI6IlxcbiIsIlxyIjoiXFxyIiwiXHQiOiJcXHQiLCJcdiI6IlxcdTAwMGIifSxNalo9L1x1ZmZmZi8udGVzdCgiXHVmZmZmIik/L1tcXCJceDAwLVx4MWZceDdmLVx1ZmZmZl0vZzovW1xcIlx4MDAtXHgxZlx4N2YtXHhmZl0vZzt2YXIgY1hDO2cuaXgoRjEsQkopO0YxLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07CmNYQz1uZXcgRjE7Zy5peCh3cCxnLm9XKTt2YXIgYXEyPS9eaHR0cHM/JC9pLG5kTT1bIlBPU1QiLCJQVVQiXSxNOD1bXTtnLkU9d3AucHJvdG90eXBlO2cuRS5XVT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO2cuRkkoTTgsdGhpcyl9OwpnLkUuc2VuZD1mdW5jdGlvbihuLFcsRCxiKXtpZih0aGlzLk4pdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuSysiOyBuZXdVcmk9IituKTtXPVc/Vy50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuSz1uO3RoaXMuaj0iIjt0aGlzLlc9MDt0aGlzLmNKPSExO3RoaXMuSj0hMDt0aGlzLk49dGhpcy5UQz90aGlzLlRDLk4oKTpjWEMuTigpO3RoaXMuTi5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsZy56NykoKDAsZy5LdCkodGhpcy5OOCx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy50dz0hMCx0aGlzLk4ub3BlbihXLFN0cmluZyhuKSwhMCksdGhpcy50dz0hMX1jYXRjaChrKXt0aGlzLmdldFN0YXR1cygpO1Y4KHRoaXMsayk7cmV0dXJufW49RHx8IiI7RD1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoYilpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYik9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgdiBpbiBiKUQuc2V0KHYsCmJbdl0pO2Vsc2UgaWYodHlwZW9mIGIua2V5cz09PSJmdW5jdGlvbiImJnR5cGVvZiBiLmdldD09PSJmdW5jdGlvbiIpZm9yKGxldCBrIG9mIGIua2V5cygpKUQuc2V0KGssYi5nZXQoaykpO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSBmb3Igb3B0X2hlYWRlcnM6ICIrU3RyaW5nKGIpKTtiPUFycmF5LmZyb20oRC5rZXlzKCkpLmZpbmQoaz0+ImNvbnRlbnQtdHlwZSI9PWsudG9Mb3dlckNhc2UoKSk7CnY9Zy5xaS5Gb3JtRGF0YSYmbiBpbnN0YW5jZW9mIGcucWkuRm9ybURhdGE7IWcuamoobmRNLFcpfHxifHx2fHxELnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtrLGhdb2YgRCl0aGlzLk4uc2V0UmVxdWVzdEhlYWRlcihrLGgpO3RoaXMuYmQmJih0aGlzLk4ucmVzcG9uc2VUeXBlPXRoaXMuYmQpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5OJiZ0aGlzLk4ud2l0aENyZWRlbnRpYWxzIT09dGhpcy5PJiYodGhpcy5OLndpdGhDcmVkZW50aWFscz10aGlzLk8pO3RyeXt0aGlzLlYmJihjbGVhclRpbWVvdXQodGhpcy5WKSx0aGlzLlY9bnVsbCksdGhpcy5EPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMuVj1zZXRUaW1lb3V0KHRoaXMuVTIuYmluZCh0aGlzKSx0aGlzLkQpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuWT0hMCx0aGlzLk4uc2VuZChuKSx0aGlzLlk9ITF9Y2F0Y2goayl7dGhpcy5nZXRTdGF0dXMoKSwKVjgodGhpcyxrKX19OwpnLkUuVTI9ZnVuY3Rpb24oKXt0eXBlb2YgY0ohPSJ1bmRlZmluZWQiJiZ0aGlzLk4mJih0aGlzLmo9IlRpbWVkIG91dCBhZnRlciAiK3RoaXMuRCsibXMsIGFib3J0aW5nIix0aGlzLlc9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKZy5FLmFib3J0PWZ1bmN0aW9uKG4pe3RoaXMuTiYmdGhpcy5KJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLko9ITEsdGhpcy5YPSEwLHRoaXMuTi5hYm9ydCgpLHRoaXMuWD0hMSx0aGlzLlc9bnx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLFE4KHRoaXMpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuTiYmKHRoaXMuSiYmKHRoaXMuSj0hMSx0aGlzLlg9ITAsdGhpcy5OLmFib3J0KCksdGhpcy5YPSExKSxROCh0aGlzLCEwKSk7d3AuVEIubUEuY2FsbCh0aGlzKX07CmcuRS5OOD1mdW5jdGlvbigpe3RoaXMucU4oKXx8KHRoaXMudHd8fHRoaXMuWXx8dGhpcy5YP25WKHRoaXMpOnRoaXMuZ0soKSl9OwpnLkUuZ0s9ZnVuY3Rpb24oKXtuVih0aGlzKX07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5OfTsKZy5FLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gYTUodGhpcyk9PTR9OwpnLkUuaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5nZXRTdGF0dXMoKTthOnN3aXRjaChuKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6dmFyIFc9ITA7YnJlYWsgYTtkZWZhdWx0Olc9ITF9aWYoIVcpe2lmKG49bj09PTApbj1nLmZwKFN0cmluZyh0aGlzLkspKVsxXXx8bnVsbCwhbiYmZy5xaS5zZWxmJiZnLnFpLnNlbGYubG9jYXRpb24mJihuPWcucWkuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksbj0hYXEyLnRlc3Qobj9uLnRvTG93ZXJDYXNlKCk6IiIpO1c9bn1yZXR1cm4gV307CmcuRS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGE1KHRoaXMpPjI/dGhpcy5OLnN0YXR1czotMX1jYXRjaChuKXtyZXR1cm4tMX19OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7aWYodGhpcy5OJiZ0aGlzLmlzQ29tcGxldGUoKSlyZXR1cm4gbj10aGlzLk4uZ2V0UmVzcG9uc2VIZWFkZXIobiksbj09PW51bGw/dm9pZCAwOm59OwpnLkUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLmo9PT0ic3RyaW5nIj90aGlzLmo6U3RyaW5nKHRoaXMuail9O3ZhciBPYjE9Y2xhc3N7c2VuZChuLFc9KCk9Pnt9LEQ9KCk9Pnt9KXtRTVUobi51cmwsYj0+e2I9Yi50YXJnZXQ7CmIuaXNTdWNjZXNzKCk/VyhXMyhiKSk6RChiLmdldFN0YXR1cygpKX0sbi5yZXF1ZXN0VHlwZSxuLmJvZHksbi5aSixuLnRpbWVvdXRNaWxsaXMsbi53aXRoQ3JlZGVudGlhbHMpfUdZKCl7cmV0dXJuIDF9fTt2YXIgTWw9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmxvZ2dlcj1uO3RoaXMuZXZlbnQ9Vzt0aGlzLnN0YXJ0VGltZT1ibigpfWRvbmUoKXt0aGlzLmxvZ2dlci5YKHRoaXMuZXZlbnQsYm4oKS10aGlzLnN0YXJ0VGltZSl9fSxSbT1jbGFzcyBleHRlbmRzIGphMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyl9fSx4WT1jbGFzcyBleHRlbmRzIFJte2ooKXt9Tigpe31YKCl7fUooKXt9RCgpe31ZKCl7fVcoKXt9VihuLFcsRCxiKXtyZXR1cm4gYn1jSigpe31LKCl7fU8oKXt9fSxXNTE9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCB0aGlzLmxvZ2dlci5kaXNwb3NlKCkpfXVwZGF0ZShuKXt0aGlzLmxvZ2dlci5kaXNwb3NlKCk7CnRoaXMubG9nZ2VyPW59TihuKXt0aGlzLmxvZ2dlci5OKG4pfVgobixXKXt0aGlzLmxvZ2dlci5YKG4sVyl9SihuKXt0aGlzLmxvZ2dlci5KKG4pfUQobil7dGhpcy5sb2dnZXIuRChuKX1ZKG4sVyl7dGhpcy5sb2dnZXIuWShuLFcpfVcoKXt0aGlzLmxvZ2dlci5XKCl9VihuLFcsRCxiKXtyZXR1cm4gdGhpcy5sb2dnZXIuVihuLFcsRCxiKX1jSihuKXt0aGlzLmxvZ2dlci5jSihuKX1LKG4pe3RoaXMubG9nZ2VyLksobil9TyhuKXt0aGlzLmxvZ2dlci5PKG4pfWoobil7dGhpcy5sb2dnZXIuaihuKX19LERHUz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9bjt0aGlzLko9Vzt0aGlzLk49LVc7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQodGhpcy50aW1lcikpfX0sYjdpPWNsYXNzIGV4dGVuZHMgUm17Y29uc3RydWN0b3IobixXKXtzdXBlcigpOwp0aGlzLm1ldHJpY3M9bjt0aGlzLlZqPVd9aihuKXt0aGlzLm1ldHJpY3MuVGsuZEUobix0aGlzLlZqKX1OKG4pe3RoaXMubWV0cmljcy5ldmVudENvdW50Lkoobix0aGlzLlZqKX1YKG4sVyl7dGhpcy5tZXRyaWNzLlBULmRFKFcsbix0aGlzLlZqKX1KKG4pe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lkoobix0aGlzLlZqKX1WKG4sVyxELGIpe3ZhciB2PWJuKCksaz1oPT57aWYoIXRoaXMucU4oKSl7dmFyIHg9Ym4oKS12O3RoaXMubWV0cmljcy5pTC5kRSh4LG4sRCxoLFcsdGhpcy5Wail9fTsKYi50aGVuKCgpPT52b2lkIGsoMCksaD0+dm9pZCBrKGggaW5zdGFuY2VvZiBDVj9oLmNvZGU6LTEpKTsKcmV0dXJuIGJ9Y0oobil7dGhpcy5tZXRyaWNzLlZKLkoobix0aGlzLlZqKX1LKG4pe3RoaXMubWV0cmljcy5jVS5KKG4sdGhpcy5Wail9TyhuKXt0aGlzLm1ldHJpY3MuakMuSihuLHRoaXMuVmopfUQobil7dGhpcy5tZXRyaWNzLnBheWxvYWRTaXplLmRFKG4sdGhpcy5Wail9WShuLFcpe3RoaXMubWV0cmljcy5mNi5kRShXLG4sdGhpcy5Wail9fSxEaHg9Y2xhc3MgZXh0ZW5kcyBiN2l7Y29uc3RydWN0b3IobixXPVtdKXt2YXIgRD17Vmo6bi5Wanx8Il8iLFJoOm4uUmh8fFtdLExUOm4uTFR8MCxSajpuLlJqLHREOm4udER8fCgoKT0+e30pLApybzpuLnJvfHwoKHYsayk9Pm5sMSh2LGssRC50RCxELlJqKSl9LGI9RC5ybygiNTMiLEQuUmguY29uY2F0KFcpKTsKc3VwZXIoe1RrOm5ldyBDMHgoYiksZXJyb3JDb3VudDpuZXcgTXQxKGIpLGV2ZW50Q291bnQ6bmV3IEYyWihiKSxQVDpuZXcgd1FyKGIpLGlMOm5ldyBCYWkoYiksVko6bmV3IFJkYihiKSxjVTpuZXcgUWF4KGIpLGpDOm5ldyBWdGkoYikscGF5bG9hZFNpemU6bmV3IGNqeChiKSxmNjpuZXcgYTZ3KGIpfSxELlZqKTt0aGlzLm9wdGlvbnM9RDt0aGlzLnNlcnZpY2U9Yjt0aGlzLlRDPSFuLnJvO3RoaXMudHc9bmV3IERHUygoKT0+dm9pZCB0aGlzLnNlcnZpY2UuaigpLEQuTFQpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy50dy5kaXNwb3NlKCk7dGhpcy5UQyYmdGhpcy5zZXJ2aWNlLmRpc3Bvc2UoKX0pOwpnLmJmKFcuc2xpY2UoKSl9Vygpe1dXcih0aGlzLnR3KX19O3ZhciBxdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgR0g9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHIkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDAsciQubWVzc2FnZUlkKX19LFg0Wj1LOChyJCksdmRiPWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT5XIGluc3RhbmNlb2YgbiYmIXY5KFcpKX0ociQpOwpyJC5tZXNzYWdlSWQ9ImJma2oiO3ZhciBjND1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIga0VpPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGhZWj1LOChrRWkpO2cuS1Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKG4sVyk9Pnt0aGlzLnJlc29sdmU9bjt0aGlzLnJlamVjdD1XfSl9fTt2YXIgQXE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5KPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMDApO3RoaXMuTj1uZXcga0VpO2lmKCJjaGFsbGVuZ2UiaW4gbiYmdmRiKG4uY2hhbGxlbmdlKSl7dmFyIFc9WTkobi5jaGFsbGVuZ2UsNCx2b2lkIDAseFUpO3ZhciBEPVk5KG4uY2hhbGxlbmdlLDUsdm9pZCAwLHhVKTtZOShuLmNoYWxsZW5nZSw3LHZvaWQgMCx4VSkmJih0aGlzLk49aFlaKFk5KG4uY2hhbGxlbmdlLDcsdm9pZCAwLHhVKSkpfWVsc2Uoe3Byb2dyYW06VyxnbG9iYWxOYW1lOkR9PW4pO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soYXN5bmMoKT0+e3ZhciB7Vng6R309YXdhaXQgdGhpcy5XO0c/LigpfSk7CnRoaXMubG9nZ2VyPUxWKG4ueDN8fHt9LHRoaXMuTik7Zy51KHRoaXMsdGhpcy5sb2dnZXIpO3ZhciBiPW5ldyBnLktWO3RoaXMuVz1iLnByb21pc2U7dGhpcy5sb2dnZXIuTigidCIpO3ZhciB2PXRoaXMubG9nZ2VyLnNoYXJlKCksaz1uZXcgTWwodiwidCIpLGg9KEcscixOLEgpPT57aWYoIXRoaXMubG9nZ2VyLnFOKCkpe3ZhciBBPSJrIjtyP0E9ImgiOk4mJihBPSJ1Iik7QSE9PSJrIj9IIT09MCYmKHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpKTp0aGlzLko8PTA/KHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpLHRoaXMuSj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKSk6dGhpcy5KLS19fSx4PShHLHIsTixIKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntrLmRvbmUoKTsKdi5XKCk7di5kaXNwb3NlKCk7Yi5yZXNvbHZlKHtGeTpHLFZ4OnIscDU6Tix4VTpIfSl9KX0sTD1bKEcscik9Pnt0aGlzLmxvZ2dlci5YKEcscil9LApHPT57dGhpcy5sb2dnZXIuSihHKX0sCkc9Pnt0aGlzLmxvZ2dlci5EKEcpfSwKKEcscik9Pnt0aGlzLmxvZ2dlci5ZKEcscil9XTsKaWYoIWcucWlbRF0pdGhyb3cgdGhpcy5sb2dnZXIuSigyNSksRXJyb3IoIkVHT1UiKTtpZighZy5xaVtEXS5hKXRocm93IHRoaXMubG9nZ2VyLkooMjYpLEVycm9yKCJFTElVIik7dHJ5e2xldCBHPWcucWlbRF0uYTtEPVtdO2xldCByPVtdO3ZhciBlPW4wKHRoaXMuTik7Zm9yKGxldCBBPTA7QTxlLmxlbmd0aDtBKyspRC5wdXNoKGVbQV0pLHIucHVzaCgxKTtsZXQgTj1VaXcodGhpcy5OKTtmb3IoZT0wO2U8Ti5sZW5ndGg7ZSsrKUQucHVzaChOW2VdKSxyLnB1c2goMik7bGV0IFtIXT1HKFcseCwhMCxuLnczLGgsW0Qscl0sWTkodGhpcy5OLDUpLCExLEwpO3RoaXMuWD1IO3RoaXMuT3Y9Yi5wcm9taXNlLnRoZW4oKCk9Pnt9KX1jYXRjaChHKXt0aHJvdyB0aGlzLmxvZ2dlci5KKDI4KSxHOwp9fXNuYXBzaG90KG4pe2lmKHRoaXMucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO3RoaXMubG9nZ2VyLk4oIm4iKTt2YXIgVz10aGlzLmxvZ2dlci5zaGFyZSgpO3JldHVybiB0aGlzLlcudGhlbigoe0Z5OkR9KT0+bmV3IFByb21pc2UoYj0+e3ZhciB2PW5ldyBNbChXLCJuIik7RChrPT57di5kb25lKCk7Vy5qKGsubGVuZ3RoKTtXLlcoKTtXLmRpc3Bvc2UoKTtiKGspfSxbbi53XywKbi5HbCxuLnRMLG4uTU9dKX0pKX1tNShuKXtpZih0aGlzLnFOKCkpdGhyb3cgRXJyb3IoIkFscmVhZHkgZGlzcG9zZWQiKTsKdGhpcy5sb2dnZXIuTigibiIpO3ZhciBXPXYzKHRoaXMubG9nZ2VyLCgpPT50aGlzLlgoW24ud18sbi5HbCxuLnRMLG4uTU9dKSwibiIpOwp0aGlzLmxvZ2dlci5qKFcubGVuZ3RoKTt0aGlzLmxvZ2dlci5XKCk7cmV0dXJuIFd9UzEobil7dGhpcy5XLnRoZW4oKHtwNTpXfSk9PntXPy4obil9KX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX07dmFyIGVtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5KPXt9O3RoaXMuTj1udWxsfX07dmFyICRZPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBOdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgZlY9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuY2xpZW50PW47dGhpcy5yZXF1ZXN0S2V5PVc7dGhpcy5OPUR9Wmoobil7cmV0dXJuIEgzKHRoaXMsbixuZXcgeFksMCl9fTt2YXIgVEg9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5vcHRpb25zPW47dGhpcy5WPW5ldyBnLktWO3RoaXMuT3Y9dGhpcy5WLnByb21pc2U7dGhpcy5qPW5ldyBnLktWO3RoaXMuWT0xO3RoaXMuSj1uZXcgZy5LVjt0aGlzLlg9W107dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnFKPW4ucUp8fCgoKT0+e30pOwp0aGlzLmxvZ2dlcj1uZXcgVzUxKExWKG4ueDN8fHt9KSk7ckFiKHRoaXMsbi5VZyxuLnFULG4ucVUsbi5USCx7Li4ueEdqLC4uLihuLmtkfHx7fSl9KTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHNQMih0aGlzKSl9YXN5bmMgc25hcHNob3Qobil7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7CnRoaXMuV3x8dGhpcy5LfHxhd2FpdCB0aGlzLmoucHJvbWlzZTtpZih0aGlzLlcpcmV0dXJuIGF3YWl0IHRoaXMuVy5zbmFwc2hvdChuKTt0aHJvdyB0aGlzLks7fXBhdXNlKCl7dGhpcy5xTigpfHx0aGlzLmlzUGF1c2VkfHwodGhpcy5pc1BhdXNlZD0hMCx0aGlzLk4mJnRoaXMuTi5wYXVzZSgpKX1yZXN1bWUoKXshdGhpcy5xTigpJiZ0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLk4mJnRoaXMuTi5yZXN1bWUoKSl9YXN5bmMgY2hlY2tGb3JSZWZyZXNoKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7aWYodGhpcy5OKXt2YXIgbj10aGlzLk47bi5pc0V4cGlyZWQoKT8oT2wobiksbi5RNCgwKSxuPSEwKTpuPSExO24mJmF3YWl0IHRoaXMuSi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy5KLnByb21pc2V9UzEobil7dGhpcy5XPy5TMT8uKG4pfWhhbmRsZUVycm9yKG4pe3RoaXMucU4oKXx8KHRoaXMuSz1uLHRoaXMuai5yZXNvbHZlKCksCnRoaXMub3B0aW9ucy50Nj8uKG4pKX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX0seEdqPXtGWjo0MzJFNSx1bTozRTUsbmI6MTAsamQ6MUU0LGhwOjNFNCxRWDozRTQscUs6NkU0LENxOjFFMyx3ODo2RTQsb3o6NkU1LGQ4Oi4yNSxBaToyLG1heEF0dGVtcHRzOjEwfSxTbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5lbmRUaW1lTXM9MDt0aGlzLk49bnVsbDt0aGlzLmlzUGF1c2VkPSExO3RoaXMudGljaz0oKT0+e2lmKCF0aGlzLmlzUGF1c2VkKXt2YXIgYj10aGlzLmVuZFRpbWVNcy1EYXRlLm5vdygpO2I8PXRoaXMuVz8odGhpcy5OPW51bGwsdGhpcy5RNCgwKSk6dGhpcy5OPXNldFRpbWVvdXQodGhpcy50aWNrLE1hdGgubWluKGIsdGhpcy51bSkpfX07CnRoaXMudW09Vzt0aGlzLlc9RDt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoYj0+e3RoaXMuUTQ9Yn0pOwpZVFUodGhpcyxuKX1wYXVzZSgpe3RoaXMuaXNQYXVzZWR8fCh0aGlzLmlzUGF1c2VkPSEwLE9sKHRoaXMpKX1yZXN1bWUoKXt0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLnRpY2soKSl9Sigpe09sKHRoaXMpO3RoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlE0KDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIEhwaT1NYXRoLmltdWw/PygobixXKT0+bipXfDApLFVsPVsxOTYsCjIwMCwyMjQsMThdLHVuPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0wLEQ9W10pe3RoaXMubWF4SXRlbXM9bjt0aGlzLk49Vzt0aGlzLko9RH1iWSgpe3JldHVybiBTdHJpbmcodGhpcy5OKSsiLCIrdGhpcy5KLmpvaW4oKX1xcChuLFcpe3ZhciBEPXZvaWQgMDtpZih0aGlzLkpbdGhpcy5OXSE9PW4pe2xldCBiPXRoaXMuSi5pbmRleE9mKG4pO2IhPT0tMT8odGhpcy5KLnNwbGljZShiLDEpLGI8dGhpcy5OJiZ0aGlzLk4tLSx0aGlzLkouc3BsaWNlKHRoaXMuTiwwLG4pKTooRD10aGlzLkpbdGhpcy5OXSx0aGlzLkpbdGhpcy5OXT1uKX10aGlzLk49KHRoaXMuTisxKSV0aGlzLm1heEl0ZW1zO249UDMoImlVNXEtIU85QCQiLHRoaXMuYlkoKSk7RCYmbiYmVyhEKTtyZXR1cm4gbn19LEw1Uz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMubG9nZ2VyPVc7dHJ5e3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UmJiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtfWNhdGNoKGIpe0Q9ITF9RCYmKHRoaXMuaW5kZXg9SWV3KG4pKX1OKG4sVyxELGIpe3ZhciB2PXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PmZlYih0aGlzLmluZGV4LHlpKG4pLFcsRCxiKSwiVyIpOiJ1IjsKdGhpcy5sb2dnZXIuTyh2KX1KKG4sVyl7dmFyIFtELGJdPXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PkpBdyh5aShuKSxXKSwiUiIpOlsidSJdOwp0aGlzLmxvZ2dlci5LKEQpO3JldHVybiBifX07dmFyIEFBUz17dG9TdHJpbmc6ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO24tPS0yMTQ3NDgzNjQ4O1dbRCsrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIuY2hhckF0KG4lNTIpO2ZvcihuPU1hdGguZmxvb3Iobi81Mik7bj4wOylXW0QrK109ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ii5jaGFyQXQobiU2Miksbj1NYXRoLmZsb29yKG4vNjIpO3JldHVybiBXLmpvaW4oIiIpfX07dmFyIFFwPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5YPW5ldyBnLktWfVpSKG4sVyl7dmFyIEQ9dGhpcy5XKG4pO1c/LihEKTtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9PmcuRUEoRCwyKSx0aGlzLkopfUZwKG4sVyxEKXtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9Plc/dGhpcy5aUihuLEQpOnRoaXMuVyhuLEQpLHRoaXMuTil9fSxGNj1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyxELGIpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLks9RDt0aGlzLk49Im0iO3RoaXMuSj0ieCI7dGhpcy5WPTA7ZCQodGhpcyxiKX1XKG4sVyl7dGhpcy5sb2dnZXIuTih0aGlzLk4pOysrdGhpcy5WPj10aGlzLksmJnRoaXMuWC5yZXNvbHZlKCk7dmFyIEQ9bigpO249djModGhpcy5sb2dnZXIsKCk9PnRoaXMuaihEKSwiQyIpOwppZihuPT09dm9pZCAwKXRocm93IG5ldyBRRygxNywiWU5KOlVuZGVmaW5lZCIpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBRRygxOCwiT0RNOkludmFsaWQiKTtXPy4obik7cmV0dXJuIG59fSxVaGo9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJmIjt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB0aGlzLmp9fSxacHQ9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJ3Ijt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB2Myh0aGlzLmxvZ2dlciwoKT0+bHAodGhpcy5qKSwiZCIpfVpSKCl7cmV0dXJuIHRoaXMuan19LG9sdz1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIobik7CnRoaXMuZXJyb3I9Vzt0aGlzLk49ImUiO3RoaXMuSj0ieSJ9Vygpe2lmKHRoaXMuailyZXR1cm4gdGhpcy5qO3RoaXMuaj1sbih0aGlzLG49PiJfIittaHcobikpOwpyZXR1cm4gbG4odGhpcyxuPT5uKX19LFFpPWNsYXNzIGV4dGVuZHMgUXB7Y29uc3RydWN0b3IobixXLEQpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLmNsaWVudFN0YXRlPUQ7dGhpcy5OPSJTIjt0aGlzLko9InEifVcoKXt2YXIgbj1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxXPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sRD1XLmNvbmNhdChbdGhpcy5qJjI1NSx0aGlzLmNsaWVudFN0YXRlXSxbbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV0pO249bmV3IFVpbnQ4QXJyYXkoMitELmxlbmd0aCk7blswXT0zNDtuWzFdPUQubGVuZ3RoO24uc2V0KEQsMik7RD1uLnN1YmFycmF5KDIpO1c9Vy5sZW5ndGg7Zm9yKGxldCBiPVc7YjxELmxlbmd0aDsrK2IpRFtiXV49RFtiJVddO3RoaXMubG9nZ2VyLmNKKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBufX07dmFyIGVZaT17WFU6M0U0LHJTOjJFNH0sQW10PWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD1uZXcgZy5LVjt0aGlzLmo9MDt0aGlzLko9dm9pZCAwO3RoaXMuc3RhdGU9Mjt0aGlzLk8xPW4uTzE7dGhpcy5VZz1uLlVnO3RoaXMua2Q9ey4uLmVZaSwuLi4obi5rZHx8e30pfTt0aGlzLmxvZ2dlcj1uLk8xLlFEKCk7dGhpcy5vbkVycm9yPW4ub25FcnJvcj8/KCgpPT57fSk7CnRoaXMuWGw9bi5YbHx8ITE7aWYoZ2R0KG4pKXtsZXQgYj10aGlzLk8xO3RoaXMuVj0oKT0+TlR0KGIpLmNhdGNoKHY9Pnt0aGlzLko9dj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRyh0aGlzLk4/MjA6MzIsIlRSRzpEaXNwb3NlZCIsdikpO3RoaXMuTj8uZGlzcG9zZSgpO3RoaXMuTj12b2lkIDA7dGhpcy5YLnJlamVjdCh2KX0pOwpwNGkoYiwoKT0+dm9pZCBCMyh0aGlzKSk7CmIuWT09PTImJkIzKHRoaXMpfWVsc2UgdGhpcy5WPW4uRTYsQjModGhpcyk7dmFyIFc9dGhpcy5sb2dnZXIuc2hhcmUoKTtXLk4oIm8iKTt2YXIgRD1uZXcgTWwoVywibyIpO3RoaXMuWC5wcm9taXNlLnRoZW4oKCk9PntELmRvbmUoKTtXLlcoKTtXLmRpc3Bvc2UoKX0sKCk9PnZvaWQgVy5kaXNwb3NlKCkpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5OPyh0aGlzLk4uZGlzcG9zZSgpLHRoaXMuTj12b2lkIDApOnRoaXMuSj90aGlzLmxvZ2dlci5XKCk6KHRoaXMuSj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRygzMiwiVE5QOkRpc3Bvc2VkIikpLHRoaXMubG9nZ2VyLlcoKSx0aGlzLlgucmVqZWN0KHRoaXMuSikpfSk7CmcudSh0aGlzLHRoaXMubG9nZ2VyKX1IJCgpe3JldHVybiB0aGlzLlgucHJvbWlzZX1XKG4pe3JldHVybiBNdih0aGlzLHsuLi5ufSwhMSl9WlIobil7cmV0dXJuIE12KHRoaXMsey4uLm59LCEwKX15aChuKXtpZighKG4+MTUwKSl0cnl7dGhpcy5jYWNoZT1uZXcgTDVTKG4sdGhpcy5sb2dnZXIpfWNhdGNoKFcpe3RoaXMucmVwb3J0RXJyb3IobmV3IFFHKDIyLCJHQko6aW5pdCIsVykpfX1yZXBvcnRFcnJvcihuKXt0aGlzLmxvZ2dlci5KKG4uY29kZSk7dGhpcy5vbkVycm9yKG4pO3JldHVybiBufX0sZ2R0PWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT57aWYoIWtDeChXKSlyZXR1cm4hMTtmb3IobGV0IFtELGJdb2YgT2JqZWN0LmVudHJpZXMobikpe2xldCB2PUQsaz1iO2lmKCEodiBpbiBXKSl7aWYoay5LUD09PSEwKWNvbnRpbnVlO3JldHVybiExfWlmKCFrKFdbdl0pKXJldHVybiExfXJldHVybiEwfSl9KHtPMTpxMyhuPT5uIGluc3RhbmNlb2YgVEgpfSwiIik7dmFyIHFuaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKCFWcCl7VnA9bmV3IGhxKG5ldyBYbkMpO3ZhciBuPXYwKCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiLC0xKTtuIT09LTEmJihWcC5YPW4pfXRoaXMuVz1uPVZwO3VlKG4sIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLERYKCJ0eXBlIiksRFgoInNlcXVlbmNlIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L3lvdXR1YmUvYWJhL2dhYyIpfX07Zy5jcT1kb2N1bWVudDtnLncyPXdpbmRvdzt2YXIgZGhaPXtIdToiYWxsb3ctZm9ybXMiLFVpOiJhbGxvdy1tb2RhbHMiLEdvOiJhbGxvdy1vcmllbnRhdGlvbi1sb2NrIixFaToiYWxsb3ctcG9pbnRlci1sb2NrIixNTToiYWxsb3ctcG9wdXBzIixmRToiYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IixGODoiYWxsb3ctcHJlc2VudGF0aW9uIixEczoiYWxsb3ctc2FtZS1vcmlnaW4iLHZ1OiJhbGxvdy1zY3JpcHRzIixPaToiYWxsb3ctdG9wLW5hdmlnYXRpb24iLGdNOiJhbGxvdy10b3AtbmF2aWdhdGlvbi1ieS11c2VyLWFjdGl2YXRpb24ifSxsZVM9Zy53RCgoKT0+ekhpKCkpO2cuRT1nLmJyLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuYnIodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNvbnRhaW5zPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5NWT9uLng+PXRoaXMubGVmdCYmbi54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmbi55Pj10aGlzLnRvcCYmbi55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PW4ubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PW4ubGVmdCtuLndpZHRoJiZ0aGlzLnRvcDw9bi50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1uLnRvcCtuLmhlaWdodH07CmcuRS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnLlFlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpnLkUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307CmcuRS5zY2FsZT1mdW5jdGlvbihuLFcpe1c9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47dGhpcy5sZWZ0Kj1uO3RoaXMud2lkdGgqPW47dGhpcy50b3AqPVc7dGhpcy5oZWlnaHQqPVc7cmV0dXJuIHRoaXN9O3ZhciBqUEM9L14tLS4rLyxMVz17fTtnLkdFMj1nLndEKCgpPT57dmFyIG49ITE7dHJ5e2xldCBXPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe249ITB9fSk7Zy5xaS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLFcpfWNhdGNoKFcpe31yZXR1cm4gbn0pO3ZhciB6Q3c9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHRJdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgJEcxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmZ2PW47dGhpcy5sMD1XO3RoaXMubWV0YWRhdGE9RH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEJUdD1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30pe3RoaXMuUHo9bjt0aGlzLm1ldGFkYXRhPVc7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O3ZhciByc3c9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLm5hbWU9bjt0aGlzLm1ldGhvZFR5cGU9InVuYXJ5Ijt0aGlzLnJlcXVlc3RUeXBlPVc7dGhpcy5yZXNwb25zZVR5cGU9RDt0aGlzLk49Yjt0aGlzLlc9dn1KKG4sVz17fSl7cmV0dXJuIG5ldyAkRzEobix0aGlzLFcpfWdldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfX07dmFyIHNPTT1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvQ3JlYXRlIiwkWSx0SXQsbj0+bi5iWSgpLEs4KHRJdCkpO3ZhciBOUDI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHFUUz1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvR2VuZXJhdGVJVCIsTnYsTlAyLG49Pm4uYlkoKSxLOChOUDIpKTt2YXIgWDJyPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7dmFyIFJIaT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0VmFsdWUoKXt2YXIgbj1pVyh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBnLlFtKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gUnoodGhpcywyKX19O3ZhciBNMWI9SzgoY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE1lc3NhZ2UoKXtyZXR1cm4gWTkodGhpcywyKX19KTt2YXIgdHUxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPVtdO3RoaXMuWD1bXTt0aGlzLmo9W107dGhpcy5XPVtdO3RoaXMuTj1bXTt0aGlzLlY9bi5NRTt0aGlzLks9Vzt0aGlzLnhocj1uLnhocjt0aGlzLlYmJnc0cih0aGlzKX14VihuLFcpe249PT0iZGF0YSI/dGhpcy5KLnB1c2goVyk6bj09PSJtZXRhZGF0YSI/dGhpcy5YLnB1c2goVyk6bj09PSJzdGF0dXMiP3RoaXMuai5wdXNoKFcpOm49PT0iZW5kIj90aGlzLlcucHVzaChXKTpuPT09ImVycm9yIiYmdGhpcy5OLnB1c2goVyl9cmVtb3ZlTGlzdGVuZXIobixXKXtuPT09ImRhdGEiP0ExKHRoaXMuSixXKTpuPT09Im1ldGFkYXRhIj9BMSh0aGlzLlgsVyk6bj09PSJzdGF0dXMiP0ExKHRoaXMuaixXKTpuPT09ImVuZCI/QTEodGhpcy5XLFcpOm49PT0iZXJyb3IiJiZBMSh0aGlzLk4sVyk7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy54aHIuYWJvcnQoKX19LFFQUz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtnLml4KG1HLEJKKTttRy5wcm90b3R5cGUuTj1mdW5jdGlvbigpe3ZhciBuPW5ldyBLVyh0aGlzLlgsdGhpcy5XKTt0aGlzLkomJm4uc2V0Q3JlZGVudGlhbHNNb2RlKHRoaXMuSik7cmV0dXJuIG59OwptRy5wcm90b3R5cGUuc2V0Q3JlZGVudGlhbHNNb2RlPWZ1bmN0aW9uKG4pe3RoaXMuSj1ufTsKZy5peChLVyxnLm9XKTtnLkU9S1cucHJvdG90eXBlO2cuRS5vcGVuPWZ1bmN0aW9uKG4sVyl7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuY0o9bjt0aGlzLk89Vzt0aGlzLnJlYWR5U3RhdGU9MTtQWSh0aGlzKX07CmcuRS5zZW5kPWZ1bmN0aW9uKG4pe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuWS5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5OPSEwO3ZhciBXPXtoZWFkZXJzOnRoaXMuRCxtZXRob2Q6dGhpcy5jSixjcmVkZW50aWFsczp0aGlzLmosY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLlkuc2lnbmFsfTtuJiYoVy5ib2R5PW4pOyh0aGlzLnR3fHxnLnFpKS5mZXRjaChuZXcgUmVxdWVzdCh0aGlzLk8sVykpLnRoZW4odGhpcy5HRS5iaW5kKHRoaXMpLHRoaXMuRFAuYmluZCh0aGlzKSl9OwpnLkUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMuWS5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLlcmJnRoaXMuVy5jYW5jZWwoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIikuY2F0Y2goKCk9Pnt9KTsKdGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLk4mJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMuTj0hMSxaYSh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpnLkUuR0U9ZnVuY3Rpb24obil7aWYodGhpcy5OJiYodGhpcy5YPW4sdGhpcy5KfHwodGhpcy5zdGF0dXM9dGhpcy5YLnN0YXR1cyx0aGlzLnN0YXR1c1RleHQ9dGhpcy5YLnN0YXR1c1RleHQsdGhpcy5KPW4uaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixQWSh0aGlzKSksdGhpcy5OJiYodGhpcy5yZWFkeVN0YXRlPTMsUFkodGhpcyksdGhpcy5OKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKW4uYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuSFQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIGcucWkuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gbil7dGhpcy5XPW4uYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLlYpe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKCdyZXNwb25zZVR5cGUgbXVzdCBiZSBlbXB0eSBmb3IgInN0cmVhbUJpbmFyeUNodW5rcyIgbW9kZSByZXNwb25zZXMuJyk7dGhpcy5yZXNwb25zZT0KW119ZWxzZSB0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiLHRoaXMuSz1uZXcgVGV4dERlY29kZXI7T2oodGhpcyl9ZWxzZSBuLnRleHQoKS50aGVuKHRoaXMuVUQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpfTsKZy5FLmxFPWZ1bmN0aW9uKG4pe2lmKHRoaXMuTil7aWYodGhpcy5WJiZuLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChuLnZhbHVlKTtlbHNlIGlmKCF0aGlzLlYpe3ZhciBXPW4udmFsdWU/bi52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihXPXRoaXMuSy5kZWNvZGUoVyx7c3RyZWFtOiFuLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1XfW4uZG9uZT9aYSh0aGlzKTpQWSh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk9qKHRoaXMpfX07CmcuRS5VRD1mdW5jdGlvbihuKXt0aGlzLk4mJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PW4sWmEodGhpcykpfTsKZy5FLkhUPWZ1bmN0aW9uKG4pe3RoaXMuTiYmKHRoaXMucmVzcG9uc2U9bixaYSh0aGlzKSl9OwpnLkUuRFA9ZnVuY3Rpb24oKXt0aGlzLk4mJlphKHRoaXMpfTsKZy5FLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24obixXKXt0aGlzLkQuYXBwZW5kKG4sVyl9OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuSj90aGlzLkouZ2V0KG4udG9Mb3dlckNhc2UoKSl8fCIiOiIifTsKZy5FLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLkopcmV0dXJuIiI7Zm9yKHZhciBuPVtdLFc9dGhpcy5KLmVudHJpZXMoKSxEPVcubmV4dCgpOyFELmRvbmU7KUQ9RC52YWx1ZSxuLnB1c2goRFswXSsiOiAiK0RbMV0pLEQ9Vy5uZXh0KCk7cmV0dXJuIG4uam9pbigiXHJcbiIpfTsKZy5FLnNldENyZWRlbnRpYWxzTW9kZT1mdW5jdGlvbihuKXt0aGlzLmo9bn07Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShLVy5wcm90b3R5cGUsIndpdGhDcmVkZW50aWFscyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0iaW5jbHVkZSJ9LApzZXQ6ZnVuY3Rpb24obil7dGhpcy5zZXRDcmVkZW50aWFsc01vZGUobj8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIil9fSk7Zy5Vai5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPXRoaXMuWDtXJiZuLnB1c2goek4oVyxwbngsITApLCI6Iik7dmFyIEQ9dGhpcy5OO2lmKER8fFc9PSJmaWxlIiluLnB1c2goIi8vIiksKFc9dGhpcy5ZKSYmbi5wdXNoKHpOKFcscG54LCEwKSwiQCIpLG4ucHVzaChxaChEKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxEPXRoaXMuVixEIT1udWxsJiZuLnB1c2goIjoiLFN0cmluZyhEKSk7aWYoRD10aGlzLkopdGhpcy5OJiZELmNoYXJBdCgwKSE9Ii8iJiZuLnB1c2goIi8iKSxuLnB1c2goek4oRCxELmNoYXJBdCgwKT09Ii8iP1luTTpIN2osITApKTsoRD10aGlzLlcudG9TdHJpbmcoKSkmJm4ucHVzaCgiPyIsRCk7KEQ9dGhpcy5qKSYmbi5wdXNoKCIjIix6TihELGZVYikpO3JldHVybiBuLmpvaW4oIiIpfTsKZy5Vai5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihuKXt2YXIgVz10aGlzLmNsb25lKCksRD0hIW4uWDtEP3lOKFcsbi5YKTpEPSEhbi5ZO0Q/Vy5ZPW4uWTpEPSEhbi5OO0Q/RWooVyxuLk4pOkQ9bi5WIT1udWxsO3ZhciBiPW4uSjtpZihEKWlyKFcsbi5WKTtlbHNlIGlmKEQ9ISFuLkope2lmKGIuY2hhckF0KDApIT0iLyIpaWYodGhpcy5OJiYhdGhpcy5KKWI9Ii8iK2I7ZWxzZXt2YXIgdj1XLkoubGFzdEluZGV4T2YoIi8iKTt2IT0tMSYmKGI9Vy5KLnNsaWNlKDAsdisxKStiKX12PWI7aWYodj09Ii4uInx8dj09Ii4iKWI9IiI7ZWxzZSBpZih2LmluZGV4T2YoIi4vIikhPS0xfHx2LmluZGV4T2YoIi8uIikhPS0xKXtiPWcualUodiwiLyIpO3Y9di5zcGxpdCgiLyIpO2xldCBrPVtdO2ZvcihsZXQgaD0wO2g8di5sZW5ndGg7KXtsZXQgeD12W2grK107eD09Ii4iP2ImJmg9PXYubGVuZ3RoJiZrLnB1c2goIiIpOng9PSIuLiI/KChrLmxlbmd0aD4xfHxrLmxlbmd0aD09MSYma1swXSE9CiIiKSYmay5wb3AoKSxiJiZoPT12Lmxlbmd0aCYmay5wdXNoKCIiKSk6KGsucHVzaCh4KSxiPSEwKX1iPWsuam9pbigiLyIpfWVsc2UgYj12fUQ/Vy5KPWI6RD1uLlcudG9TdHJpbmcoKSE9PSIiO0Q/dXIoVyxuLlcuY2xvbmUoKSk6RD0hIW4uajtEJiYoVy5qPW4uaik7cmV0dXJuIFd9OwpnLlVqLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5Vaih0aGlzKX07CnZhciBwbng9L1sjXC9cP0BdL2csSDdqPS9bI1w/Ol0vZyxZbk09L1sjXD9dL2csRHhTPS9bI1w/QF0vZyxmVWI9LyMvZztnLkU9ZGgucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLlc9bnVsbDtuPWpTKHRoaXMsbik7dmFyIEQ9dGhpcy5OLmdldChuKTtEfHx0aGlzLk4uc2V0KG4sRD1bXSk7RC5wdXNoKFcpO3RoaXMuSj10aGlzLkorMTtyZXR1cm4gdGhpc307CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7VE4odGhpcyk7bj1qUyh0aGlzLG4pO3JldHVybiB0aGlzLk4uaGFzKG4pPyh0aGlzLlc9bnVsbCx0aGlzLko9dGhpcy5KLXRoaXMuTi5nZXQobikubGVuZ3RoLHRoaXMuTi5kZWxldGUobikpOiExfTsKZy5FLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5OPXRoaXMuVz1udWxsO3RoaXMuSj0wfTsKZy5FLmlzRW1wdHk9ZnVuY3Rpb24oKXtUTih0aGlzKTtyZXR1cm4gdGhpcy5KPT0wfTsKZy5FLmZvckVhY2g9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe0QuZm9yRWFjaChmdW5jdGlvbih2KXtuLmNhbGwoVyx2LGIsdGhpcyl9LHRoaXMpfSx0aGlzKX07CmcuRS51Qj1mdW5jdGlvbigpe1ROKHRoaXMpO3ZhciBuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKSxXPUFycmF5LmZyb20odGhpcy5OLmtleXMoKSksRD1bXTtmb3IobGV0IGI9MDtiPFcubGVuZ3RoO2IrKyl7bGV0IHY9bltiXTtmb3IobGV0IGs9MDtrPHYubGVuZ3RoO2srKylELnB1c2goV1tiXSl9cmV0dXJuIER9OwpnLkUuejc9ZnVuY3Rpb24obil7VE4odGhpcyk7dmFyIFc9W107aWYodHlwZW9mIG49PT0ic3RyaW5nIilDVyh0aGlzLG4pJiYoVz1XLmNvbmNhdCh0aGlzLk4uZ2V0KGpTKHRoaXMsbikpKSk7ZWxzZXtuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXPVcuY29uY2F0KG5bRF0pfXJldHVybiBXfTsKZy5FLnNldD1mdW5jdGlvbihuLFcpe1ROKHRoaXMpO3RoaXMuVz1udWxsO249alModGhpcyxuKTtDVyh0aGlzLG4pJiYodGhpcy5KPXRoaXMuSi10aGlzLk4uZ2V0KG4pLmxlbmd0aCk7dGhpcy5OLnNldChuLFtXXSk7dGhpcy5KPXRoaXMuSisxO3JldHVybiB0aGlzfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBXO249dGhpcy56NyhuKTtyZXR1cm4gbi5sZW5ndGg+MD9TdHJpbmcoblswXSk6V307CmcuRS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMuVylyZXR1cm4gdGhpcy5XO2lmKCF0aGlzLk4pcmV0dXJuIiI7dmFyIG49W10sVz1BcnJheS5mcm9tKHRoaXMuTi5rZXlzKCkpO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXt2YXIgRD1XW2JdO2xldCB2PXFoKEQpO0Q9dGhpcy56NyhEKTtmb3IobGV0IGs9MDtrPEQubGVuZ3RoO2srKyl7bGV0IGg9djtEW2tdIT09IiImJihoKz0iPSIrcWgoRFtrXSkpO24ucHVzaChoKX19cmV0dXJuIHRoaXMuVz1uLmpvaW4oIiYiKX07CmcuRS5jbG9uZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBkaDtuLlc9dGhpcy5XO3RoaXMuTiYmKG4uTj1uZXcgTWFwKHRoaXMuTiksbi5KPXRoaXMuSik7cmV0dXJuIG59OwpnLkUuZXh0ZW5kPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspbktpKGFyZ3VtZW50c1tXXSxmdW5jdGlvbihELGIpe3RoaXMuYWRkKGIsRCl9LHRoaXMpfTtnLml4KEJZLGcuRk0pO3ZhciBKc2o9W107Zy5FPUJZLnByb3RvdHlwZTtnLkUuU189ZnVuY3Rpb24obixXLEQsYil7QXJyYXkuaXNBcnJheShXKXx8KFcmJihKc2pbMF09Vy50b1N0cmluZygpKSxXPUpzaik7Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPUFIKG4sV1t2XSxEfHx0aGlzLmhhbmRsZUV2ZW50LGJ8fCExLHRoaXMuSnx8dGhpcyk7aWYoIWspYnJlYWs7dGhpcy5OW2sua2V5XT1rfXJldHVybiB0aGlzfTsKZy5FLmVGPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBGbSh0aGlzLG4sVyxELGIpfTsKZy5FLndIPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSlmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKyl0aGlzLndIKG4sV1trXSxELGIsdik7ZWxzZSBEPUR8fHRoaXMuaGFuZGxlRXZlbnQsYj1nLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2PXZ8fHRoaXMuSnx8dGhpcyxEPW1oKEQpLGI9ISFiLFc9TjUobik/bi5zYyhXLEQsYix2KTpuPyhuPU8yKG4pKT9uLnNjKFcsRCxiLHYpOm51bGw6bnVsbCxXJiYoRTIoVyksZGVsZXRlIHRoaXMuTltXLmtleV0pfTsKZy5FLlRpPWZ1bmN0aW9uKCl7Zy5hXyh0aGlzLk4sZnVuY3Rpb24obixXKXt0aGlzLk4uaGFzT3duUHJvcGVydHkoVykmJkUyKG4pfSx0aGlzKTsKdGhpcy5OPXt9fTsKZy5FLm1BPWZ1bmN0aW9uKCl7QlkuVEIubUEuY2FsbCh0aGlzKTt0aGlzLlRpKCl9OwpnLkUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIGtoUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuVz0hMDt0aGlzLko9MDt0aGlzLk49IiJ9aXNJbnB1dFZhbGlkKCl7cmV0dXJuIHRoaXMuV319O010LnByb3RvdHlwZS5pc0lucHV0VmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OIT0zfTsKTXQucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVn07Ck10LnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiEwfTsKTXQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7TCYxMjgmJlJzKGssaCx4LCJpbnZhbGlkIHRhZyIpOyhMJjcpIT0yJiZScyhrLGgseCwiaW52YWxpZCB3aXJlIHR5cGUiKTtrLlc9TD4+PjM7ay5XIT0xJiZrLlchPTImJmsuVyE9MTUmJlJzKGssaCx4LCJ1bmV4cGVjdGVkIHRhZyIpO2suTj0xO2suSj0wO2suWD0wfQpmdW5jdGlvbiBEKEwpe2suWCsrO2suWD09NSYmTCYyNDAmJlJzKGssaCx4LCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2suSnw9KEwmMTI3KTw8KGsuWC0xKSo3O0wmMTI4fHwoay5OPTIsay5ZPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9rLmo9bmV3IFVpbnQ4QXJyYXkoay5KKTprLmo9QXJyYXkoay5KKSxrLko9PTAmJnYoKSl9CmZ1bmN0aW9uIGIoTCl7ay5qW2suWSsrXT1MO2suWT09ay5KJiZ2KCl9CmZ1bmN0aW9uIHYoKXtpZihrLlc8MTUpe2xldCBMPXt9O0xbay5XXT1rLmo7ay5LLnB1c2goTCl9ay5OPTB9CmZvcih2YXIgaz10aGlzLGg9biBpbnN0YW5jZW9mIEFycmF5P246bmV3IFVpbnQ4QXJyYXkobikseD0wO3g8aC5sZW5ndGg7KXtzd2l0Y2goay5OKXtjYXNlIDM6UnMoayxoLHgsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2JyZWFrO2Nhc2UgMDpXKGhbeF0pO2JyZWFrO2Nhc2UgMTpEKGhbeF0pO2JyZWFrO2Nhc2UgMjpiKGhbeF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlOiAiK2suTik7fWsuRCsrO3grK31uPWsuSztrLks9W107cmV0dXJuIG4ubGVuZ3RoPjA/bjpudWxsfTtRTi5wcm90b3R5cGUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTj09PW51bGx9OwpRTi5wcm90b3R5cGUuczg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTsKUU4ucHJvdG90eXBlLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpRTi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24obil7dGhpcy5OIT09bnVsbCYmVk4odGhpcyxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgVz1udWxsO3RyeXt7dmFyIEQ9dGhpcy5XO0QuV3x8d2goRCxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtELk4rPW47bGV0IGs9TWF0aC5mbG9vcihELk4ubGVuZ3RoLzQpO2lmKGs9PTApdmFyIGI9bnVsbDtlbHNle3RyeXt2YXIgdj16aChELk4uc2xpY2UoMCxrKjQpKX1jYXRjaChoKXt3aChELEQuTixoLm1lc3NhZ2UpfUQuSis9ayo0O0QuTj1ELk4uc2xpY2Uoayo0KTtiPXZ9fVc9Yj09PW51bGw/bnVsbDp0aGlzLlgucGFyc2UoYil9Y2F0Y2goayl7Vk4odGhpcyxuLGsubWVzc2FnZSl9dGhpcy5KKz1uLmxlbmd0aDtyZXR1cm4gV307Zy5FPWFzLnByb3RvdHlwZTtnLkUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaiE9M307CmcuRS5zOD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkR9OwpnLkUuZG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0yfTsKZy5FLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpnLkUucGFyc2U9ZnVuY3Rpb24obil7ZnVuY3Rpb24gVygpe2Zvcig7cjxuLmxlbmd0aDspaWYoY1kobltyXSkpcisrLGsuVysrO2Vsc2UgYnJlYWs7cmV0dXJuIHI8TH0KZnVuY3Rpb24gRCgpe2Zvcih2YXIgSDs7KXtIPW5bcisrXTtpZighSClicmVhaztrLlcrKztzd2l0Y2goay5OKXtjYXNlIDA6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00OmNZKEgpfHxuXyhrLG4scik7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihjWShIKSljb250aW51ZTtpZihrLk49PT03KWgucHVzaCg4KTtlbHNlIGlmKEg9PT0ifSIpe3YoInt9Iik7ay5OPWIoKTtjb250aW51ZX1lbHNlIGgucHVzaCgzKTtIPT09JyInP2suTj02Om5fKGssbixyKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGNZKEgpKWNvbnRpbnVlO0g9PT0iOiI/KGsuTj09PTMmJihoLnB1c2goMyksay5KKyspLGsuTj0xKTpIPT09In0iPyhrLkotLSx2KCksay5OPWIoKSk6SD09PSIsIj8oay5OPT09MyYmaC5wdXNoKDMpLGsuTj03KTpuXyhrLG4scik7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZihjWShIKSljb250aW51ZTtpZihrLk49PT00KWlmKGsuSisrLGsuTj0xLEg9PT0iXSIpe2suSi0tO2lmKGsuSj09PQowKXtrLk49NTtyZXR1cm59digiW10iKTtrLk49YigpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDUpO0g9PT0nIic/ay5OPTY6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00Okg9PT0idCI/ay5OPTk6SD09PSJmIj9rLk49MTI6SD09PSJuIj9rLk49MTY6SCE9PSItIiYmKCIwMTIzNDU2Nzg5Ii5pbmRleE9mKEgpIT09LTE/ay5OPTIwOm5fKGssbixyKSk7Y29udGludWU7Y2FzZSA1OmlmKEg9PT0iLCIpaC5wdXNoKDUpLGsuTj0xLGsuSj09PTEmJihHPXIpO2Vsc2UgaWYoSD09PSJdIil7ay5KLS07aWYoay5KPT09MClyZXR1cm47digpO2suTj1iKCl9ZWxzZSBpZihjWShIKSljb250aW51ZTtlbHNlIG5fKGssbixyKTtjb250aW51ZTtjYXNlIDY6bGV0IEE9cjthOmZvcig7Oyl7Zm9yKDtrLlk+MDspaWYoSD1uW3IrK10say5ZPT09ND9rLlk9MDprLlkrKywhSClicmVhayBhO2lmKEg9PT0nIicmJiFrLkspe2suTj1iKCk7YnJlYWt9aWYoSD09PSJcXCImJiFrLksmJihrLks9ITAsSD1uW3IrK10sCiFIKSlicmVhaztpZihrLkspaWYoay5LPSExLEg9PT0idSImJihrLlk9MSksSD1uW3IrK10pY29udGludWU7ZWxzZSBicmVhazt4Lmxhc3RJbmRleD1yO0g9eC5leGVjKG4pO2lmKCFIKXtyPW4ubGVuZ3RoKzE7YnJlYWt9cj1ILmluZGV4KzE7SD1uW0guaW5kZXhdO2lmKCFIKWJyZWFrfWsuVys9ci1BO2NvbnRpbnVlO2Nhc2UgOTppZighSCljb250aW51ZTtIPT09InIiP2suTj0xMDpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMDppZighSCljb250aW51ZTtIPT09InUiP2suTj0xMTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMTppZighSCljb250aW51ZTtIPT09ImUiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTI6aWYoIUgpY29udGludWU7SD09PSJhIj9rLk49MTM6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIUgpY29udGludWU7SD09PSJsIj9rLk49MTQ6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIUgpY29udGludWU7SD09PSJzIj9rLk49MTU6Cm5fKGssbixyKTtjb250aW51ZTtjYXNlIDE1OmlmKCFIKWNvbnRpbnVlO0g9PT0iZSI/ay5OPWIoKTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNjppZighSCljb250aW51ZTtIPT09InUiP2suTj0xNzpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNzppZighSCljb250aW51ZTtIPT09ImwiP2suTj0xODpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxODppZighSCljb250aW51ZTtIPT09ImwiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTk6SD09PSIuIj9rLk49MjA6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZihIKSE9PS0xKWNvbnRpbnVlO2Vsc2Ugci0tLGsuVy0tLGsuTj1iKCk7Y29udGludWU7ZGVmYXVsdDpuXyhrLG4scil9fX0KZnVuY3Rpb24gYigpe3ZhciBIPWgucG9wKCk7cmV0dXJuIEghPW51bGw/SDoxfQpmdW5jdGlvbiB2KEgpe2suSj4xfHwoSHx8KEg9Rz09PS0xP2suWCtuLnN1YnN0cmluZyhlLHIpOm4uc3Vic3RyaW5nKEcscikpLGsuTz9rLlYucHVzaChIKTprLlYucHVzaChKU09OLnBhcnNlKEgpKSxHPXIpfQpmb3IodmFyIGs9dGhpcyxoPWsuY0oseD1rLnR3LEw9bi5sZW5ndGgsZT0wLEc9LTEscj0wO3I8TDspc3dpdGNoKGsuail7Y2FzZSAzOnJldHVybiBuXyhrLG4sciksbnVsbDtjYXNlIDI6cmV0dXJuIFcoKSYmbl8oayxuLHIpLG51bGw7Y2FzZSAwOmlmKFcoKSl7dmFyIE49bltyKytdO2suVysrO2lmKE49PT0iWyIpe2suaj0xO2U9cjtrLk49NDtjb250aW51ZX1lbHNlIG5fKGssbixyKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIEQoKSxrLko9PT0wJiZrLk49PTU/KGsuaj0yLGsuWD1uLnN1YnN0cmluZyhyKSk6ay5YPUc9PT0tMT9rLlgrbi5zdWJzdHJpbmcoZSk6bi5zdWJzdHJpbmcoRyksay5WLmxlbmd0aD4wPyhOPWsuVixrLlY9W10sTik6bnVsbH1yZXR1cm4gbnVsbH07V0sucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT1udWxsfTsKV0sucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07CldLLnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiExfTsKV0sucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7ay5KPTY7ay5qPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitrLk4rIi8iK2grIi4gRXJyb3I6ICIrTCsiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihrLmopO30KZnVuY3Rpb24gRCgpe2suVz1uZXcgYXMoe1ZMOiEwLFpIOiEwfSl9CmZ1bmN0aW9uIGIoTCl7aWYoTClmb3IobGV0IGU9MDtlPEwubGVuZ3RoO2UrKyl7bGV0IEc9e307R1sxXT1MW2VdO2suWC5wdXNoKEcpfX0KZnVuY3Rpb24gdihMKXtpZihMKXsoay5WfHxMLmxlbmd0aD4xKSYmVygiZXh0cmEgc3RhdHVzOiAiK0wpO2suVj0hMDtsZXQgZT17fTtlWzJdPUxbMF07ay5YLnB1c2goZSl9fQpmb3IodmFyIGs9dGhpcyxoPTA7aDxuLmxlbmd0aDspe3ZhciB4O2lmKHg9ay5KIT09Mil7YTp7Zm9yKDtoPG4ubGVuZ3RoOyl7aWYoIWNZKG5baF0pKXt4PSEwO2JyZWFrIGF9aCsrO2suTisrfXg9ITF9eD0heH1pZih4KXJldHVybiBudWxsO3N3aXRjaChrLkope2Nhc2UgNjpXKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6bltoXT09PSJbIj8oay5KPTEsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOm5baF09PT0iWyI/KGsuSj0yLEQoKSk6bltoXT09PSIsInx8bi5zbGljZShoLGgrNSk9PSJudWxsLCI/ay5KPTM6bltoXT09PSJdIj8oay5KPTUsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOng9ay5XLnBhcnNlKG4uc3Vic3RyaW5nKGgpKTtiKHgpO2suVy5kb25lKCk/KGsuSj0zLHg9ay5XLlgsay5OKz1uLmxlbmd0aC1oLXgubGVuZ3RoLG49eCxoPTApOihrLk4rPW4ubGVuZ3RoLQpoLGg9bi5sZW5ndGgpO2JyZWFrO2Nhc2UgMzpuW2hdPT09IiwifHxuLnNsaWNlKGgsaCs1KT09Im51bGwsIj8oay5KPTQsRCgpLGsuVy5wYXJzZSgiWyIpLGgrPW5baF09PT0iLCI/MTo1LGsuTisrKTpuW2hdPT09Il0iJiYoay5KPTUsaCsrLGsuTisrKTticmVhaztjYXNlIDQ6eD1rLlcucGFyc2Uobi5zdWJzdHJpbmcoaCkpO3YoeCk7ay5XLmRvbmUoKT8oay5KPTUseD1rLlcuWCxrLk4rPW4ubGVuZ3RoLWgteC5sZW5ndGgsbj14LGg9MCk6KGsuTis9bi5sZW5ndGgtaCxoPW4ubGVuZ3RoKTticmVhaztjYXNlIDU6VygiZXh0cmEgaW5wdXQgYWZ0ZXIgc3RyZWFtIGVuZCIpfX1yZXR1cm4gay5YLmxlbmd0aD4wPyhuPWsuWCxrLlg9W10sbik6bnVsbH07dmFyIHFBdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bnVsbDt0aGlzLmo9dGhpcy5XPTA7dGhpcy5EPSExO3RoaXMuWD10aGlzLks9dGhpcy5WPW51bGw7dGhpcy5ZPW5ldyBCWSh0aGlzKTt0aGlzLlkuU18odGhpcy5OLCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLk8pfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmp9TyhuKXtuPW4udGFyZ2V0O3RyeXtpZihuPT10aGlzLk4pYTp7bGV0IGs9YTUodGhpcy5OKTt2YXIgVz10aGlzLk4uVyxEPXRoaXMuTi5nZXRTdGF0dXMoKTtsZXQgaD1XMyh0aGlzLk4pO249W107aWYoRG8odGhpcy5OKWluc3RhbmNlb2YgQXJyYXkpe2xldCB4PURvKHRoaXMuTik7eC5sZW5ndGg+MCYmeFswXWluc3RhbmNlb2YgVWludDhBcnJheSYmKHRoaXMuRD0hMCxuPXgpfWlmKCEoazwzfHxrPT0zJiYhaCYmbi5sZW5ndGg9PTApKWlmKEQ9RD09MjAwfHxEPT0yMDYsaz09NCYmKFc9PTg/RGkodGhpcyw3KTpXPT03P0RpKHRoaXMsOCk6RHx8CkRpKHRoaXMsMykpLHRoaXMuSnx8KHRoaXMuSj1oQ3godGhpcy5OKSx0aGlzLko9PW51bGwmJkRpKHRoaXMsNSkpLHRoaXMuaj4yKWJIKHRoaXMpO2Vsc2V7aWYobi5sZW5ndGg+dGhpcy5XKXtsZXQgeD1uLmxlbmd0aDtXPVtdO3RyeXtpZih0aGlzLkouYW8oKSlmb3IodmFyIGI9MDtiPHg7YisrKXt2YXIgdj10aGlzLkoucGFyc2UoQXJyYXkuZnJvbShuW2JdKSk7diYmKFc9Vy5jb25jYXQodikpfWVsc2V7dj0iIjtpZighdGhpcy5WKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy5WPW5ldyBUZXh0RGVjb2Rlcn1mb3IoYj0wO2I8eDtiKyspdis9dGhpcy5WLmRlY29kZShuW2JdLHtzdHJlYW06az09NCYmYj09eC0xfSk7Vz10aGlzLkoucGFyc2Uodil9bi5zcGxpY2UoMCx4KTtXJiZ0aGlzLlgoVyl9Y2F0Y2goTCl7RGkodGhpcyw1KTtiSCh0aGlzKTsKYnJlYWsgYX19ZWxzZSBpZihoLmxlbmd0aD50aGlzLlcpe2I9aC5zbGljZSh0aGlzLlcpO3RoaXMuVz1oLmxlbmd0aDt0cnl7bGV0IHg9dGhpcy5KLnBhcnNlKGIpO3ghPW51bGwmJnRoaXMuWCYmdGhpcy5YKHgpfWNhdGNoKHgpe0RpKHRoaXMsNSk7YkgodGhpcyk7YnJlYWsgYX19az09ND8oaC5sZW5ndGghPTB8fHRoaXMuRD9EaSh0aGlzLDIpOkRpKHRoaXMsNCksYkgodGhpcykpOkRpKHRoaXMsMSl9fX1jYXRjaChrKXtEaSh0aGlzLDYpLGJIKHRoaXMpfX19O3ZhciBHaGk9Y2xhc3N7Y29uc3RydWN0b3Iobil7bj10aGlzLlc9bjt2YXIgVz0oMCxnLkt0KSh0aGlzLlgsdGhpcyk7bi5YPVc7bj10aGlzLlc7Vz0oMCxnLkt0KSh0aGlzLmosdGhpcyk7bi5LPVc7dGhpcy5KPXt9O3RoaXMuTj17fX14VihuLFcpe3ZhciBEPXRoaXMuSltuXTtEfHwoRD1bXSx0aGlzLkpbbl09RCk7RC5wdXNoKFcpfWFkZExpc3RlbmVyKG4sVyl7dGhpcy54VihuLFcpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKG4sVyl7dmFyIEQ9dGhpcy5KW25dO0QmJmcuRkkoRCxXKTsobj10aGlzLk5bbl0pJiZnLkZJKG4sVyk7cmV0dXJuIHRoaXN9b25jZShuLFcpe3ZhciBEPXRoaXMuTltuXTtEfHwoRD1bXSx0aGlzLk5bbl09RCk7RC5wdXNoKFcpO3JldHVybiB0aGlzfVgobil7dmFyIFc9dGhpcy5KLmRhdGE7VyYmdksobixXKTsoVz10aGlzLk4uZGF0YSkmJnZLKG4sVyk7dGhpcy5OLmRhdGE9W119aigpe3N3aXRjaCh0aGlzLlcuZ2V0U3RhdHVzKCkpe2Nhc2UgMTprdCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmt0KHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4Omt0KHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmt0KHRoaXMsImVuZCIpfX19O3ZhciAkeGg9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj17Zm9ybWF0OiJqc3BiIn07dGhpcy5ZTz1uLllPfHxnLnJyKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLG4pfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1uLndpdGhDcmVkZW50aWFsc3x8Zy5ycigid2l0aENyZWRlbnRpYWxzIixuKXx8ITE7dGhpcy5LYj1uLktifHxbXTt0aGlzLkZOPW4uRk58fFtdO3RoaXMuU249bi5Tbjt0aGlzLk49bi5sSXx8ITF9c2VydmVyU3RyZWFtaW5nKG4sVyxELGIpe3ZhciB2PW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtYi5uYW1lLmxlbmd0aCk7cmV0dXJuIHh4aihrPT57dmFyIGg9ay5sMCx4PWsuZ2V0TWV0YWRhdGEoKSxMPWhhKHRoaXMsITEpO3g9eHQodGhpcyx4LEwsditoLmdldE5hbWUoKSk7dmFyIGU9TF8oTCxoLlcsITApO2s9aC5OKGsuZnYpO0wuc2VuZCh4LCJQT1NUIixrKTtyZXR1cm4gZX0sdGhpcy5LYikuY2FsbCh0aGlzLGIuSihXLEQpKX19O3F3LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBZWSh0aGlzLk4sdGhpcy5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9DcmVhdGUiLG4sV3x8e30sc09NLEQpfTt2YXIgYW09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iYm9vbCJ9fSxuaj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZDU9Mzt0aGlzLm54PW47dGhpcy5kZWZhdWx0VmFsdWU9Vzt0aGlzLlUwPSJpbnQifX0sV0M9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iZG91YmxlIn19O3ZhciBTY3QsSVV3LFljLEFzVSxub3IsV0lNLG1HWixLNVUsTzcxLEhwLFo3VSxVR0MsUHJpLHlzeCxFZGksaTdDLHVOYixVQmIsZEd0LHpZaSxsVXIsVFBVLGpPaSxDSmksa3FNLERaLEY1aSxjZix3bjIsSGZ4LFNvUyxJWWksTUl4LHowaSxsWWgsVE5DLEJwdCxSWXcsUU94LFZJaixpbGksa1RiLFZrdyxjc3IsYVVNLGJELG5KaSxXRlMsbmEsRGRTLGJnaSx2NWksdkpDLFRfQyx0UzIsa19pLGhGaix4ZGgsZUZVLGdKMSxYQU0scURTLEdfcix0SlMsJGQyLHJUaixzcjIsanNaLE5GVSxHb00seSRqLHllaSxwQXQsanZNLEtZeCxZRFosSGdaLHZDLEplMSxmY3Qsa05qLEpUeCxJY2ksSGYsaldTLFNEUyxZSmIsQVRaLG1kdyxsaVosS0ZyLE9nMixwYk0sd2JTLFpnTSx5VDIsRUpNLHdJMTtTY3Q9bmV3IGFtKDQ1NzU5NTgwLCExKTtJVXc9bmV3IGFtKDQ1NzY2MjczLCExKTtnLlNuaj1uZXcgYW0oNDU3NTc4NzgsITEpO1ljPW5ldyBhbSg0NTc0OTM5NiwhMSk7CkFzVT1uZXcgYW0oNDU4MDg1MjgsITEpO25vcj1uZXcgYW0oNDU3NDIxMTksITEpO1dJTT1uZXcgYW0oNDU3ODQxNjgsITEpO21HWj1uZXcgYW0oNDU4MDEwNjgsITEpO0s1VT1uZXcgYW0oNDU3Nzg2OTYsITEpO083MT1uZXcgYW0oNDU3NTY0NDYsITEpO2cuUEpNPW5ldyBhbSg0NTgwODE1MCwhMSk7SHA9bmV3IGFtKDQ1ODA3NzY0LCExKTtaN1U9bmV3IGFtKDQ1Nzk3NzIxLCExKTtVR0M9bmV3IGFtKDQ1Nzk4OTMyLCExKTtQcmk9bmV3IGFtKDQ1NzYwMDE4LCExKTt5c3g9bmV3IGFtKDQ1NzM5MTk2LCExKTtFZGk9bmV3IGFtKDQ1Nzk0ODY4LCExKTtpN0M9bmV3IGFtKDQ1NzM5MTk4LCExKTt1TmI9bmV3IGFtKDQ1Nzk0ODY3LCExKTtVQmI9bmV3IGFtKDQ1Nzc3MzU2LCExKTtnLm9kWj1uZXcgbmooNDU3NTA5NDcsZy4kVSgiMCIpKTtkR3Q9bmV3IGFtKDQ1Nzk5OTEyLCExKTt6WWk9bmV3IFdDKDQ1NzQ2OTY2LDApO2xVcj1uZXcgV0MoNDU3NDY5NjcsMCk7ClRQVT1uZXcgV0MoNDU3Mzc0ODgsMCk7ak9pPW5ldyBXQyg0NTczNzQ4OSwwKTtDSmk9bmV3IGFtKDQ1Nzk1NTczLCExKTtnLkJQUz1uZXcgYW0oNDU3NjU2ODAsITEpO2txTT1uZXcgYW0oNDU3MzI3OTEsITApO0RaPW5ldyBhbSg0NTc4MTExMiwhMSk7RjVpPW5ldyBhbSg0NTgwODY1MCwhMSk7Y2Y9bmV3IGFtKDQ1ODExODU3LCExKTt3bjI9bmV3IGFtKDQ1ODA1OTY4LCExKTtIZng9bmV3IGFtKDQ1NzY5MTE5LCEwKTtTb1M9bmV3IG5qKDQ1ODA2NTU1LGcuJFUoIjIiKSk7SVlpPW5ldyBuaig0NTc4NDQzOSxnLiRVKCIwIikpO01JeD1uZXcgYW0oNDU4MTc0MDksITEpO3owaT1uZXcgYW0oNDU3Mzc0ODIsITEpO2xZaD1uZXcgV0MoNDU3NDE3NzMsMCk7VE5DPW5ldyBhbSg0NTgwNTg0OCwhMSk7QnB0PW5ldyBhbSg0NTc3MzY3MywhMSk7Ull3PW5ldyBhbSg0NTgwMDYzMywhMSk7UU94PW5ldyBhbSg0NTc5ODA3OCwhMSk7VklqPW5ldyBhbSg0NTczMTA4MywhMSk7CmlsaT1uZXcgYW0oNDU3OTcyNzksITEpO2tUYj1uZXcgYW0oNDU3Mjg1NTMsITEpO1Zrdz1uZXcgYW0oNDU3OTY3NTAsITEpO2Nzcj1uZXcgYW0oNDU3OTQ2ODAsITEpO2FVTT1uZXcgYW0oNDU4MTMwMjcsITEpO2JEPW5ldyBhbSg0NTczNDE5MSwhMSk7bkppPW5ldyBhbSg0NTc5Njc3NywhMSk7V0ZTPW5ldyBhbSg0NTc5Njc3OCwhMSk7bmE9bmV3IGFtKDQ1ODEwNjYxLCExKTtnLkFoPW5ldyBhbSg0NTc0NTYxMCwhMSk7RGRTPW5ldyBhbSg0NTgxNjU3MSwhMSk7YmdpPW5ldyBhbSg0NTc3MzI3MywhMSk7djVpPW5ldyBhbSg0NTc1NjYxOSwhMSk7dkpDPW5ldyBhbSg0NTc1ODI5MCwhMSk7VF9DPW5ldyBhbSg0NTgxMzgzMSwhMSk7dFMyPW5ldyBhbSg0NTczNTUyMywhMSk7a19pPW5ldyBXQyg0NTc3MTg5MCwwKTtoRmo9bmV3IFdDKDQ1ODA3NzczLDApO3hkaD1uZXcgV0MoNDU3MzU0MjgsNEUzKTtnLkxGaT1uZXcgYW0oNDU3ODkwNzcsITEpO2VGVT1uZXcgYW0oNDU3NDgwMDksITEpOwpnSjE9bmV3IGFtKDQ1NzUyNjA0LCExKTtYQU09bmV3IFdDKDQ1NzY5MjE0LDApO3FEUz1uZXcgYW0oNDU3MzU0NjIsITEpO0dfcj1uZXcgYW0oNDU4MTUwNzMsITEpO3RKUz1uZXcgYW0oNDU3NTE5NDMsITEpOyRkMj1uZXcgYW0oNDU3NTE5NDQsITEpO3JUaj1uZXcgYW0oNDU3NTE5NDUsITEpO3NyMj1uZXcgbmooNDU4MDg3NjIsZy4kVSgiMCIpKTtqc1o9bmV3IGFtKDQ1NzY0NTkyLCExKTtORlU9bmV3IFdDKDQ1NzY0NTkzLDApO0dvTT1uZXcgYW0oNDU3NjY1MTEsITEpO3kkaj1uZXcgYW0oNDU4MDYzODgsITEpO3llaT1uZXcgYW0oNDU4MDYzNjMsITEpO3BBdD1uZXcgYW0oNDU4MTU1OTIsITEpO2p2TT1uZXcgYW0oNDU4MTQ0ODAsITEpO0tZeD1uZXcgYW0oNDU4MTA0NjcsITEpO1lEWj1uZXcgYW0oNDU3OTEzMjYsITEpO0hnWj1uZXcgYW0oNDU3ODc3NzEsITEpO3ZDPW5ldyBhbSg0NTc5MTA4NywhMSk7SmUxPW5ldyBhbSg0NTc3Mjg5MSwhMSk7CmZjdD1uZXcgYW0oNDU3OTU4NDQsITEpO2tOaj1uZXcgYW0oNDU3ODM4NzUsITApO0pUeD1uZXcgYW0oNDU3OTU1NzQsITEpO0ljaT1uZXcgYW0oNDU3NzE4OTEsITEpO0hmPW5ldyBhbSg0NTcyODE4MSwhMSk7aldTPW5ldyBhbSg0NTc1NjU0MywhMSk7U0RTPW5ldyBhbSg0NTc1NjYyMCwhMSk7WUpiPW5ldyBhbSg0NTgwODc1NCwhMSk7QVRaPW5ldyBuaig0NTc2MTc2MCxnLiRVKCIyMDAiKSk7bWR3PW5ldyBhbSg0NTc3NjgzMiwhMSk7bGlaPW5ldyBXQyg0NTc2ODQzMCwwKTtLRnI9bmV3IGFtKDQ1Nzc2NTgwLCExKTtPZzI9bmV3IGFtKDQ1NzU1NzYwLCExKTtwYk09bmV3IGFtKDQ1NzYwMDE3LCExKTt3YlM9bmV3IGFtKDQ1NzMyNzc1LCExKTtnLlAzMT1uZXcgYW0oNDU3ODc5NDgsITEpO1pnTT1uZXcgYW0oNDU3NjU4MTgsITEpO2cuVWRDPW5ldyBhbSg0NTczNDc3NiwhMSk7eVQyPW5ldyBhbSg0NTgxNjgxMSwhMSk7RUpNPW5ldyBhbSg0NTc2MDEyMCwhMSk7Cmcua0g9bmV3IGFtKDQ1NzcwNDc2LCExKTt3STE9bmV3IGFtKDQ1ODA4MDUzLCExKTt2YXIgWXhyPW5ldyBXQyg0NTgwMzc1NCwwKSxtRGg9bmV3IFdDKDQ1NzkxMTE3LDApLHZNUz1uZXcgV0MoNDU3MjU1NDIsMCksWlJ4PW5ldyBXQyg0NTc5NDQ0MSwwKSxlVVU9bmV3IFdDKDQ1ODA3NzcxLDApLEhScj1uZXcgV0MoNDU3NzM2MDMsMCksZndqPW5ldyBXQyg0NTc3MzYwNCwwKSx4RFo9bmV3IFdDKDQ1Nzk3OTYzLDApLGJSdz1uZXcgV0MoNDU3MjU1NDMsMCksUGhqPW5ldyBXQyg0NTc5MzcxMCwwKSxoVWk9bmV3IFdDKDQ1NzU3NDI2LDApLG5Ndz1uZXcgV0MoNDU3MjU1MzksMCksSlIxPW5ldyBXQyg0NTgwNTY5NSwwKSxERFo9bmV3IFdDKDQ1NzI1NTQxLDApLFhHVT1uZXcgV0MoNDU3NTc0MjcsMCksQ1JpPW5ldyBhbSg0NTc5MTIwNiwhMSksV2t0PW5ldyBXQyg0NTcyNTU0MCwwKSxhWXg9bmV3IFdDKDQ1NzI1NTM4LDApLEtraT1uZXcgV0MoNDU3OTExMTgsMCksazZ3PW5ldyBXQyg0NTc2NDUyMywwKSxTeGk9bmV3IFdDKDQ1ODA0NzcxLDApLEl3eD1uZXcgV0MoNDU3ODY0NDMsCjApLFVEMj1uZXcgV0MoNDU4MDIxMjMsMCkscXhoPW5ldyBXQyg0NTc2NDIxNywwKSxHNjI9bmV3IFdDKDQ1NzY0NTI0LDApLCREMT1uZXcgV0MoNDU3NjU2MDIsMCksTGtDPW5ldyBXQyg0NTgwNzQzMiwwKSxBUk09bmV3IFdDKDQ1Nzc2MTkwLDApLE9SVT1uZXcgV0MoNDU3OTExMTksMCksVWJTPW5ldyBXQyg0NTgxNTAxMSwwKSxOZFM9bmV3IFdDKDQ1Nzc4NjcxLDApLHBHMT1uZXcgV0MoNDU3NDEzMzksMCksdDVpPW5ldyBXQyg0NTc2Nzc2MywwKSxnTXg9bmV3IFdDKDQ1ODA3NzcyLDApLHN3aT1uZXcgV0MoNDU3NzAwMDIsMCksclJpPW5ldyBXQyg0NTc3MDAwMSwwKTt2YXIgaWd0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIHVwMj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1KKCl7cmV0dXJuIHRoaXMuTi5RUShHX3IpfX07dmFyIHI0Mj0vKD86XFt8JTVCKShbYS16QS1aMC05X10rKSg/OlxdfCU1RCkvZzt2YXIgb0pVPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fTt2YXIgaEw9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4sNTAwKX19O3ZhciBkZFM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE5hbWUoKXtyZXR1cm4gWTkodGhpcywxKX1nZXRPcHRpb25zKCl7cmV0dXJuIGdlKHRoaXMsaEwsMyl9Y2xlYXJPcHRpb25zKCl7cmV0dXJuIG96KHRoaXMsMyl9fTt2YXIgekZpPWZ1bmN0aW9uKG4pe3JldHVybiBXPT57Vz1KU09OLnBhcnNlKFcpO2lmKCFBcnJheS5pc0FycmF5KFcpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK3B0KFcpKyI6ICIrVyk7V1tiNF18PTM0O3JldHVybiBuZXcgbihXKX19KGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXROYW1lKCl7cmV0dXJuIFk5KHRoaXMsMSl9Z2V0T3B0aW9ucygpe3JldHVybiBnZSh0aGlzLG9KVSwzKX1jbGVhck9wdGlvbnMoKXtyZXR1cm4gb3oodGhpcywzKX1YTygpe3JldHVybiBIVyh0aGlzLDYpfU1MKG4pe0tuKHRoaXMsNixuKX19KTt2YXIgbGNyPVN5bWJvbCgpO3ZhciBURnI7VEZyPW5ldyBtNFooOTk4LGhMLGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19KTt2YXIgeEg9U3ltYm9sKCk7dmFyICR0PWNsYXNzIGV4dGVuZHMgZy5vV3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD10aGlzLk49MDt0aGlzLkEkPW4/P3tMUzooVyxEKT0+c2V0VGltZW91dChXLEQpLApzTzpXPT57Y2xlYXJUaW1lb3V0KFcpfX07CnRoaXMuaXNPbmxpbmU9d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lPz8hMDt0aGlzLko9YXN5bmMoKT0+e2F3YWl0IHJYKHRoaXMpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLlh8fHRoaXMuaFQoKX1kaXNwb3NlKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLkEkLnNPKHRoaXMuWCk7ZGVsZXRlICR0Lmluc3RhbmNlfVdHKCl7cmV0dXJuIHRoaXMuaXNPbmxpbmV9aFQoKXt0aGlzLlg9dGhpcy5BJC5MUyhhc3luYygpPT57dGhpcy5pc09ubGluZT93aW5kb3cubmF2aWdhdG9yPy5vbkxpbmV8fGF3YWl0IHJYKHRoaXMpOmF3YWl0IHJYKHRoaXMpO3RoaXMuaFQoKX0sM0U0KX19O3ZhciBqcjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEMzcj1bMCxJcWosLTFdO3ZhciBMaj1bMCxIaXcsLTFdO3ZhciBCRnQ9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEZGaT1nLkE5KFswLGcuQ3gsLTEsZy5FNixnLm9tLEMzciwtMSx5cCxpVSxnLkN4LExqLGcub20sZy5DeCwtMSxbMCxDM3IsLTFdLGlVLFkzQyxMaix5cCxbMCwxLGlVLC00LFU2LFswLHlwLC0xLGlVXSxnLm9tLHlwLGcuZHEsWzAsZy5DeCxpVV0saVUsLTEsZy5DeCwtMix5cCwtMSxnLkN4LHlwLGcuQ3gsaVUsWzAsMyxpVSwtMSw0LFRnXSxVNixqbyxbMCxnLkN4LC0xLGcub21dLHVVXSxnLm9tLEpYUyxnLmRxLFswLExqLGcuZHEsWzAsZy5vbSxnLkN4XSx5cCxnLkN4LC0xXSwxLGcuZHEsWzAsWTNDLC0xLGpvXSxnLkN4LExqXSk7dmFyIFV2Mj1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Sigpe3JldHVybiBIVyh0aGlzLDUpfX0sWzAsZy5DeCxbMCxnLkU2LGZxdywtMV0saVUsZy5DeCwtMixpVSxnLkU2XSk7dmFyIGxYcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLk49LTF9c2V0KG4sVz0hMCl7MDw9biYmbjw1MiYmTnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5kYXRhW25dIT09VyYmKHRoaXMuZGF0YVtuXT1XLHRoaXMuTj0tMSl9Z2V0KG4pe3JldHVybiEhdGhpcy5kYXRhW25dfX07Zy5peChnLnBfLGcuRk0pO2cuRT1nLnBfLnByb3RvdHlwZTtnLkUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLlg9ITE7dmFyIG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT8odGhpcy5OPUFIKHRoaXMuSiwiTW96QmVmb3JlUGFpbnQiLHRoaXMuVyksdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZShudWxsKSx0aGlzLlg9ITApOnRoaXMuTj1uJiZXP24uY2FsbCh0aGlzLkosdGhpcy5XKTp0aGlzLkouc2V0VGltZW91dChqTWgodGhpcy5XKSwyMCl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBY3RpdmUoKSl7bGV0IG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT9FMih0aGlzLk4pOm4mJlc/Vy5jYWxsKHRoaXMuSix0aGlzLk4pOnRoaXMuSi5jbGVhclRpbWVvdXQodGhpcy5OKX10aGlzLk49bnVsbH07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4hPW51bGx9OwpnLkUuT3Q9ZnVuY3Rpb24oKXt0aGlzLlgmJnRoaXMuTiYmRTIodGhpcy5OKTt0aGlzLk49bnVsbDt0aGlzLlYuY2FsbCh0aGlzLmosZy5VdygpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cucF8uVEIubUEuY2FsbCh0aGlzKX07Zy5peChnLmZfLGcuRk0pO2cuRT1nLmZfLnByb3RvdHlwZTtnLkUudDg9MDtnLkUubUE9ZnVuY3Rpb24oKXtnLmZfLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuTjtkZWxldGUgdGhpcy5KfTsKZy5FLnN0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuc3RvcCgpO3RoaXMudDg9Zy5adCh0aGlzLlcsbiE9PXZvaWQgMD9uOnRoaXMuZ3QpfTsKZy5FLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJmcucWkuY2xlYXJUaW1lb3V0KHRoaXMudDgpO3RoaXMudDg9MH07CmcuRS5qZT1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc3RvcCgpLHRoaXMuaSQoKSl9OwpnLkUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50OCE9MH07CmcuRS5pJD1mdW5jdGlvbigpe3RoaXMudDg9MDt0aGlzLk4mJnRoaXMuTi5jYWxsKHRoaXMuSil9O3ZhciB3QWk9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLlg9VyE9bnVsbD9uLmJpbmQoVyk6bjt0aGlzLmd0PTM1MDt0aGlzLlc9bnVsbDt0aGlzLk49ITE7dGhpcy5KPTA7dGhpcy5aNj1udWxsfWoobil7dGhpcy5XPWFyZ3VtZW50czt0aGlzLlo2fHx0aGlzLko/dGhpcy5OPSEwOklGKHRoaXMpfXN0b3AoKXt0aGlzLlo2JiYoZy5xaS5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsLHRoaXMuTj0hMSx0aGlzLlc9bnVsbCl9cGF1c2UoKXt0aGlzLkorK31yZXN1bWUoKXt0aGlzLkotLTt0aGlzLkp8fCF0aGlzLk58fHRoaXMuWjZ8fCh0aGlzLk49ITEsSUYodGhpcykpfW1BKCl7c3VwZXIubUEoKTt0aGlzLnN0b3AoKX19O3ZhciB1eWksR2cscWw7dXlpPVJlZ0V4cCgiXltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7R2c9UmVnRXhwKCJeW15cdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdKltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtxbD1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpnLk1KaT1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO0ludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuIi5yZXBsYWNlKCJfIiwiLSIpXSk7dUgucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gUkZNfTsKdmFyIFJGTT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O3VILnByb3RvdHlwZS5ncT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgb0Y9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59Z3EoKXtyZXR1cm4gbmV3IGRYKHRoaXMuTigpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeksodGhpcy5OKCkpfUooKXtyZXR1cm4gbmV3IHpLKHRoaXMuTigpKX19LGRYPWNsYXNzIGV4dGVuZHMgdUh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1uZXh0KCl7cmV0dXJuIHRoaXMuTi5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHpLKHRoaXMuTil9Sigpe3JldHVybiBuZXcgeksodGhpcy5OKX19LHpLPWNsYXNzIGV4dGVuZHMgb0Z7Y29uc3RydWN0b3Iobil7c3VwZXIoKCk9Pm4pOwp0aGlzLlc9bn1uZXh0KCl7cmV0dXJuIHRoaXMuVy5uZXh0KCl9fTtsSC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxIKHRoaXMuTix0aGlzLkssdGhpcy5XLHRoaXMuaix0aGlzLlgsdGhpcy5WLHRoaXMuSix0aGlzLlkpfTsKbEgucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5OPT1uLk4mJnRoaXMuSz09bi5LJiZ0aGlzLlc9PW4uVyYmdGhpcy5qPT1uLmomJnRoaXMuWD09bi5YJiZ0aGlzLlY9PW4uViYmdGhpcy5KPT1uLkomJnRoaXMuWT09bi5ZfTsoZnVuY3Rpb24oKXtpZihwUWope3ZhciBuPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKG49bi5leGVjKGcuWFEoKSkpP25bMV06IjAifXJldHVybiBucj8obj0vMVswfDFdW18uXVswLTlfLl0rLywobj1uLmV4ZWMoZy5YUSgpKSk/blswXS5yZXBsYWNlKC9fL2csIi4iKToiMTAiKTpnLlFIPyhuPS9BbmRyb2lkXHMrKFteXCk7XSspKFwpfDspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXToiIik6V1VafHxENGl8fGJpVT8obj0vKD86aVBob25lfENQVSlccytPU1xzKyhcUyspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXS5yZXBsYWNlKC9fL2csIi4iKToiIik6IiJ9KSgpO3ZhciBmWDI9ZnVuY3Rpb24oKXtpZihnLmFvKXJldHVybiBqQSgvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoZy5raHx8Zy5SZ3x8cmMpcmV0dXJuIFAyO2lmKGcub2Qpe2lmKGcuQTQoKXx8Zy5teCgpKXt2YXIgbj1qQSgvQ3JpT1NcLyhbMC05Ll0rKS8pO2lmKG4pcmV0dXJuIG59cmV0dXJuIGpBKC9DaHJvbWVcLyhbMC05Ll0rKS8pfWlmKGcuR24mJiFnLkE0KCkpcmV0dXJuIGpBKC9WZXJzaW9uXC8oWzAtOS5dKykvKTtpZih3OHx8TVgpe2lmKG49L1ZlcnNpb25cLyhcUyspLipNb2JpbGVcLyhcUyspLy5leGVjKGcuWFEoKSkpcmV0dXJuIG5bMV0rIi4iK25bMl19ZWxzZSBpZihnLkltKXJldHVybihuPWpBKC9BbmRyb2lkXHMrKFswLTkuXSspLykpP246akEoL1ZlcnNpb25cLyhbMC05Ll0rKS8pO3JldHVybiIifSgpO2cuaXgoQkssZy5GTSk7Zy5FPUJLLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10aGlzLkpbbl07Ynx8KGI9dGhpcy5KW25dPVtdKTt2YXIgdj10aGlzLlY7dGhpcy5OW3ZdPW47dGhpcy5OW3YrMV09Vzt0aGlzLk5bdisyXT1EO3RoaXMuVj12KzM7Yi5wdXNoKHYpO3JldHVybiB2fTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXRoaXMuSltuXSl7bGV0IGI9dGhpcy5OO2lmKG49bi5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiBiW3YrMV09PVcmJmJbdisyXT09RH0pKXJldHVybiB0aGlzLmpLKG4pfXJldHVybiExfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3ZhciBXPXRoaXMuTltuXTtpZihXKXtsZXQgRD10aGlzLkpbV107dGhpcy5YIT0wPyh0aGlzLlcucHVzaChuKSx0aGlzLk5bbisxXT0oKT0+e30pOihEJiZnLkZJKEQsbiksZGVsZXRlIHRoaXMuTltuXSxkZWxldGUgdGhpcy5OW24rMV0sZGVsZXRlIHRoaXMuTltuKzJdKX1yZXR1cm4hIVd9OwpnLkUuV0o9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLkpbbl07aWYoRCl7bGV0IHY9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2xldCBrO2ZvcihrPTE7azxiO2srKyl2W2stMV09YXJndW1lbnRzW2tdO2lmKHRoaXMuSylmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKWI9RFtrXSxKNHIodGhpcy5OW2IrMV0sdGhpcy5OW2IrMl0sdik7ZWxzZXt0aGlzLlgrKzt0cnl7Zm9yKGs9MCxiPUQubGVuZ3RoO2s8YiYmIXRoaXMucU4oKTtrKyspe2xldCBoPURba107dGhpcy5OW2grMV0uYXBwbHkodGhpcy5OW2grMl0sdil9fWZpbmFsbHl7aWYodGhpcy5YLS0sdGhpcy5XLmxlbmd0aD4wJiZ0aGlzLlg9PTApZm9yKDtEPXRoaXMuVy5wb3AoKTspdGhpcy5qSyhEKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpnLkUuY2xlYXI9ZnVuY3Rpb24obil7aWYobil7bGV0IFc9dGhpcy5KW25dO1cmJihXLmZvckVhY2godGhpcy5qSyx0aGlzKSxkZWxldGUgdGhpcy5KW25dKX1lbHNlIHRoaXMuTi5sZW5ndGg9MCx0aGlzLko9e319OwpnLkUubUE9ZnVuY3Rpb24oKXtCSy5UQi5tQS5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLlcubGVuZ3RoPTB9O2cuRmQucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDA/dGhpcy5OLnJlbW92ZShuKTp0aGlzLk4uc2V0KG4sKG5ldyBsZSkuYlkoVykpfTsKZy5GZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3RyeXt2YXIgVz10aGlzLk4uZ2V0KG4pfWNhdGNoKEQpe3JldHVybn1pZihXIT09bnVsbCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoVyl9Y2F0Y2goRCl7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO319OwpnLkZkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5OLnJlbW92ZShuKX07Zy5peCh3WCxnLkZkKTt3WC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyl7d1guVEIuc2V0LmNhbGwodGhpcyxuLFJGKFcpKX07CndYLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXtuPXdYLlRCLmdldC5jYWxsKHRoaXMsbik7aWYobj09PXZvaWQgMHx8biBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gbjt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fTsKd1gucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXtpZihuPXRoaXMuTUQobikpe2lmKG49bi5kYXRhLG49PT12b2lkIDApdGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO31lbHNlIG49dm9pZCAwO3JldHVybiBufTtnLml4KFFLLHdYKTtRSy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyxEKXtpZihXPVJGKFcpKXtpZihEKXtpZihEPGcuVXcoKSl7UUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7cmV0dXJufVcuZXhwaXJhdGlvbj1EfVcuY3JlYXRpb249Zy5VdygpfVFLLlRCLnNldC5jYWxsKHRoaXMsbixXKX07ClFLLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXt2YXIgVz1RSy5UQi5NRC5jYWxsKHRoaXMsbik7aWYoVyl7bGV0IEQ9Vy5jcmVhdGlvbixiPVcuZXhwaXJhdGlvbjtpZihiJiZiPGcuVXcoKXx8RCYmRD5nLlV3KCkpUUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7ZWxzZSByZXR1cm4gV319O2cuaXgoVkssUUspO2cuaXgoY0ssSVgxKTtjSy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBZQTEodGhpcy5ncSghMCkpLkooKX07CmNLLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBuPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBXIG9mIG4pdGhpcy5yZW1vdmUoVyl9O2cuaXgoYUYsY0spO2cuRT1hRi5wcm90b3R5cGU7Zy5FLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5KPT09bnVsbCl7dmFyIG49dGhpcy5OO2lmKG4pdHJ5e24uc2V0SXRlbSgiX19zYWsiLCIxIik7bi5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBXPSEwfWNhdGNoKEQpe1c9RCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKEQubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxELmNvZGU9PT0yMnx8RC5jb2RlPT09MTAxNHx8RC5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJm4mJm4ubGVuZ3RoIT09MH1lbHNlIFc9ITE7dGhpcy5KPVd9cmV0dXJuIHRoaXMuSn07CmcuRS5zZXQ9ZnVuY3Rpb24obixXKXtuZSh0aGlzKTt0cnl7dGhpcy5OLnNldEl0ZW0obixXKX1jYXRjaChEKXtpZih0aGlzLk4ubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319OwpnLkUuZ2V0PWZ1bmN0aW9uKG4pe25lKHRoaXMpO249dGhpcy5OLmdldEl0ZW0obik7aWYodHlwZW9mIG4hPT0ic3RyaW5nIiYmbiE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gbn07CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7bmUodGhpcyk7dGhpcy5OLnJlbW92ZUl0ZW0obil9OwpnLkUuZ3E9ZnVuY3Rpb24obil7bmUodGhpcyk7dmFyIFc9MCxEPXRoaXMuTixiPW5ldyB1SDtiLm5leHQ9ZnVuY3Rpb24oKXtpZihXPj1ELmxlbmd0aClyZXR1cm4gUkZNO3ZhciB2PUQua2V5KFcrKyk7aWYobilyZXR1cm57dmFsdWU6dixkb25lOiExfTt2PUQuZ2V0SXRlbSh2KTtpZih0eXBlb2YgdiE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOnYsZG9uZTohMX19OwpyZXR1cm4gYn07CmcuRS5jbGVhcj1mdW5jdGlvbigpe25lKHRoaXMpO3RoaXMuTi5jbGVhcigpfTsKZy5FLmtleT1mdW5jdGlvbihuKXtuZSh0aGlzKTtyZXR1cm4gdGhpcy5OLmtleShuKX07Zy5peChXUyxhRik7Zy5peChEUSxhRik7Zy5peChiQyxjSyk7YkMucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe3RoaXMuSi5zZXQodGhpcy5OK24sVyl9OwpiQy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLkouZ2V0KHRoaXMuTituKX07CmJDLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5KLnJlbW92ZSh0aGlzLk4rbil9OwpiQy5wcm90b3R5cGUuZ3E9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5KW1N5bWJvbC5pdGVyYXRvcl0oKSxEPXRoaXMsYj1uZXcgdUg7Yi5uZXh0PWZ1bmN0aW9uKCl7dmFyIHY9Vy5uZXh0KCk7aWYodi5kb25lKXJldHVybiB2O2Zvcih2PXYudmFsdWU7di5zbGljZSgwLEQuTi5sZW5ndGgpIT1ELk47KXt2PVcubmV4dCgpO2lmKHYuZG9uZSlyZXR1cm4gdjt2PXYudmFsdWV9cmV0dXJue3ZhbHVlOm4/di5zbGljZShELk4ubGVuZ3RoKTpELkouZ2V0KHYpLGRvbmU6ITF9fTsKcmV0dXJuIGJ9O2tqLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkp9Owprai5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtqKHRoaXMuTix0aGlzLkopfTt2YXIgZWM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPVtdO2lmKG4pYTp7bGV0IEQ7aWYobiBpbnN0YW5jZW9mIGVjKXtpZihEPW4udUIoKSxuPW4uejcoKSx0aGlzLk4ubGVuZ3RoPD0wKXt2YXIgVz10aGlzLk47Zm9yKGxldCBiPTA7YjxELmxlbmd0aDtiKyspVy5wdXNoKG5ldyBraihEW2JdLG5bYl0pKTticmVhayBhfX1lbHNlIEQ9Zy5MVChuKSxuPWhLKG4pO2ZvcihXPTA7VzxELmxlbmd0aDtXKyspdGhpcy5xcChEW1ddLG5bV10pfX1xcChuLFcpe3ZhciBEPXRoaXMuTjtELnB1c2gobmV3IGtqKG4sVykpO249RC5sZW5ndGgtMTtXPXRoaXMuTjtmb3IoRD1XW25dO24+MDspe2xldCBiPW4tMT4+MTtpZihXW2JdLk4+RC5OKVdbbl09V1tiXSxuPWI7ZWxzZSBicmVha31XW25dPUR9cmVtb3ZlKCl7dmFyIG49dGhpcy5OLFc9bi5sZW5ndGgsRD1uWzBdO2lmKCEoVzw9MCkpe2lmKFc9PTEpbi5sZW5ndGg9MDtlbHNle25bMF09bi5wb3AoKTtuPTA7Vz10aGlzLk47bGV0IHY9Vy5sZW5ndGgsCms9V1tuXTtmb3IoO248dj4+MTspe3ZhciBiPW4qMisxO2xldCBoPW4qMisyO2I9aDx2JiZXW2hdLk48V1tiXS5OP2g6YjtpZihXW2JdLk4+ay5OKWJyZWFrO1dbbl09V1tiXTtuPWJ9V1tuXT1rfXJldHVybiBELmdldFZhbHVlKCl9fXo3KCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLmdldFZhbHVlKCkpO3JldHVybiBXfXVCKCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLk4pO3JldHVybiBXfWNsb25lKCl7cmV0dXJuIG5ldyBlYyh0aGlzKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuTi5sZW5ndGg9PT0wfWNsZWFyKCl7dGhpcy5OLmxlbmd0aD0wfX07dmFyIFFyaD1jbGFzcyBleHRlbmRzIGVje307dmFyIGhrPXt9LFZKaT10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDE2QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEludDMyQXJyYXkhPT0idW5kZWZpbmVkIjtoay5hc3NpZ249ZnVuY3Rpb24obil7Zm9yKHZhciBXPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtXLmxlbmd0aDspe3ZhciBEPVcuc2hpZnQoKTtpZihEKXtpZih0eXBlb2YgRCE9PSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoRCsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBiIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsYikmJihuW2JdPURbYl0pfX1yZXR1cm4gbn07CmhrLlVmPWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg9PT1XKXJldHVybiBuO2lmKG4uc3ViYXJyYXkpcmV0dXJuIG4uc3ViYXJyYXkoMCxXKTtuLmxlbmd0aD1XO3JldHVybiBufTsKdmFyIGNUMj17UDc6ZnVuY3Rpb24obixXLEQsYix2KXtpZihXLnN1YmFycmF5JiZuLnN1YmFycmF5KW4uc2V0KFcuc3ViYXJyYXkoRCxEK2IpLHYpO2Vsc2UgZm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7dmFyIFcsRDt2YXIgYj1EPTA7Zm9yKFc9bi5sZW5ndGg7YjxXO2IrKylEKz1uW2JdLmxlbmd0aDt2YXIgdj1uZXcgVWludDhBcnJheShEKTtiPUQ9MDtmb3IoVz1uLmxlbmd0aDtiPFc7YisrKXt2YXIgaz1uW2JdO3Yuc2V0KGssRCk7RCs9ay5sZW5ndGh9cmV0dXJuIHZ9fSxhY0M9e1A3OmZ1bmN0aW9uKG4sVyxELGIsdil7Zm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLG4pfX07CmhrLlhHPWZ1bmN0aW9uKCl7VkppPyhoay5PbT1VaW50OEFycmF5LGhrLm1LPVVpbnQxNkFycmF5LGhrLlN2PUludDMyQXJyYXksaGsuYXNzaWduKGhrLGNUMikpOihoay5PbT1BcnJheSxoay5tSz1BcnJheSxoay5Tdj1BcnJheSxoay5hc3NpZ24oaGssYWNDKSl9Owpoay5YRygpO3ZhciBueGk9ITA7dHJ5e25ldyBVaW50OEFycmF5KDEpfWNhdGNoKG4pe254aT0hMX07dmFyIFZ0PXt9O1Z0PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4mNjU1MzV8MDtuPW4+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgaztEIT09MDspe2s9RD4yRTM/MkUzOkQ7RC09aztkbyB2PXYrV1tiKytdfDAsbj1uK3Z8MDt3aGlsZSgtLWspO3YlPTY1NTIxO24lPTY1NTIxfXJldHVybiB2fG48PDE2fDB9O2Zvcih2YXIgY1M9e30sZ24sV3RyPVtdLFhzPTA7WHM8MjU2O1hzKyspe2duPVhzO2Zvcih2YXIgRGtaPTA7RGtaPDg7RGtaKyspZ249Z24mMT8zOTg4MjkyMzg0XmduPj4+MTpnbj4+PjE7V3RyW1hzXT1nbn1jUz1mdW5jdGlvbihuLFcsRCxiKXtEPWIrRDtmb3Iobl49LTE7YjxEO2IrKyluPW4+Pj44Xld0clsobl5XW2JdKSYyNTVdO3JldHVybiBuXi0xfTt2YXIgekI9e307ekI9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgbSQ9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sUFM9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFowdz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sQ2U9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLEJTPUFycmF5KDU3Nik7TGUoQlMpO3ZhciBGOT1BcnJheSg2MCk7TGUoRjkpO3ZhciBPJD1BcnJheSg1MTIpO0xlKE8kKTt2YXIgQWs9QXJyYXkoMjU2KTtMZShBayk7dmFyIEtlPUFycmF5KDI5KTtMZShLZSk7dmFyIFpRPUFycmF5KDMwKTtMZShaUSk7dmFyIHhmLEx3LGVILGhyPSExO3ZhciBidztidz1bbmV3IERFKDAsMCwwLDAsZnVuY3Rpb24obixXKXt2YXIgRD02NTUzNTtmb3IoRD5uLnl2LTUmJihEPW4ueXYtNSk7Oyl7aWYobi5HVzw9MSl7YVMobik7aWYobi5HVz09PTAmJlc9PT0wKXJldHVybiAxO2lmKG4uR1c9PT0wKWJyZWFrfW4ucXMrPW4uR1c7bi5HVz0wO3ZhciBiPW4uT0srRDtpZihuLnFzPT09MHx8bi5xcz49YilpZihuLkdXPW4ucXMtYixuLnFzPWIsdzcobiwhMSksbi5UUi51Uj09PTApcmV0dXJuIDE7aWYobi5xcy1uLk9LPj1uLnhyLTI2MiYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7aWYoVz09PTQpcmV0dXJuIHc3KG4sITApLG4uVFIudVI9PT0wPzM6NDtuLnFzPm4uT0smJnc3KG4sITEpO3JldHVybiAxfSksCm5ldyBERSg0LDQsOCw0LG53KSxuZXcgREUoNCw1LDE2LDgsbncpLG5ldyBERSg0LDYsMzIsMzIsbncpLG5ldyBERSg0LDQsMTYsMTYsV1YpLG5ldyBERSg4LDE2LDMyLDMyLFdWKSxuZXcgREUoOCwxNiwxMjgsMTI4LFdWKSxuZXcgREUoOCwzMiwxMjgsMjU2LFdWKSxuZXcgREUoMzIsMTI4LDI1OCwxMDI0LFdWKSxuZXcgREUoMzIsMjU4LDI1OCw0MDk2LFdWKV07dmFyIGtmPXt9O2tmPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMuRW09dGhpcy5CQT10aGlzLlVaPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLnRCPXRoaXMudVI9dGhpcy51Zz0wO3RoaXMubXNnPSIiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnFTPTI7dGhpcy5nST0wfTt2YXIgZzI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdlYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLlRSLGI9dGhpcy5vcHRpb25zLmNodW5rU2l6ZTtpZih0aGlzLmVuZGVkKXJldHVybiExO3ZhciB2PVc9PT1+flc/VzpXPT09ITA/NDowO3R5cGVvZiBuPT09InN0cmluZyI/RC5pbnB1dD14aihuKTpnMi5jYWxsKG4pPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9ELmlucHV0PW5ldyBVaW50OEFycmF5KG4pOkQuaW5wdXQ9bjtELlVaPTA7RC5CQT1ELmlucHV0Lmxlbmd0aDtkb3tELnVSPT09MCYmKEQub3V0cHV0PW5ldyBoay5PbShiKSxELnVnPTAsRC51Uj1iKTtuPVBwMShELHYpO2lmKG4hPT0xJiZuIT09MClyZXR1cm4gdGhpcy5IdChuKSx0aGlzLmVuZGVkPSEwLCExO2lmKEQudVI9PT0wfHxELkJBPT09MCYmKHY9PT00fHx2PT09MikpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe3ZhciBrPWhrLlVmKEQub3V0cHV0LEQudWcpO1c9aztrPWsubGVuZ3RoO2lmKGs8NjU1MzcmJihXLnN1YmFycmF5JiYKbnhpfHwhVy5zdWJhcnJheSkpVz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaGsuVWYoVyxrKSk7ZWxzZXtmb3IodmFyIGg9IiIseD0wO3g8azt4KyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShXW3hdKTtXPWh9dGhpcy5jaHVua3MucHVzaChXKX1lbHNlIFc9aGsuVWYoRC5vdXRwdXQsRC51ZyksdGhpcy5jaHVua3MucHVzaChXKX13aGlsZSgoRC5CQT4wfHxELnVSPT09MCkmJm4hPT0xKTtpZih2PT09NClyZXR1cm4oRD10aGlzLlRSKSYmRC5zdGF0ZT8oYj1ELnN0YXRlLnN0YXR1cyxiIT09NDImJmIhPT02OSYmYiE9PTczJiZiIT09OTEmJmIhPT0xMDMmJmIhPT0xMTMmJmIhPT02NjY/bj1sQyhELC0yKTooRC5zdGF0ZT1udWxsLG49Yj09PTExMz9sQyhELC0zKTowKSk6bj0tMix0aGlzLkh0KG4pLHRoaXMuZW5kZWQ9ITAsbj09PTA7dj09PTImJih0aGlzLkh0KDApLEQudVI9MCk7cmV0dXJuITB9Owp2Vi5wcm90b3R5cGUuSHQ9ZnVuY3Rpb24obil7bj09PTAmJih0aGlzLnJlc3VsdD10aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLmNodW5rcy5qb2luKCIiKTpoay5QNih0aGlzLmNodW5rcykpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPW47dGhpcy5tc2c9dGhpcy5UUi5tc2d9O3ZhciB0cj0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIiksR2Q9YEBAcmVkdXgvSU5JVCR7dHIoKX1gLEVLQz1gQEByZWR1eC9SRVBMQUNFJHt0cigpfWA7dmFyIHIyPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7dmFyIFFTeD1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxbMCxnLkN4LFRnLGcub20sbFUsZy5vbSwtMSxqbyxsVSxqbywtMSxnLkN4LGpvLFRnLGcuZHEsWzAsbFUsLTMsam9dLGcub20sLTEsam9dKTt2YXIgS0d0PS0zMDE3MTcyMTc7dmFyIGJzdD1mdW5jdGlvbihuLFcpe3JldHVybigoKT0+e3ZhciBEPW5ldyBBWHgobixXKTtyZXR1cm4oKT0+RH0pKCl9KCJ5b3V0dWJlLmFwaS5pbm5lcnR1YmUuQXR0ZXN0YXRpb25FcnJvciIsJ1tudWxsLFtbIkFUVEVTVEFUSU9OX0VSUk9SX1VOS05PV04iLDBdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fTk9UX0lOSVRJQUxJWkVEIiwxXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PX1JFU1BPTlNFIiwyXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiLDNdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fSU5URVJOQUxfRVJST1IiLDRdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVkFMSUQiLDVdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX05FVFdPUktfRVJST1IiLDZdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX09GRkxJTkUiLDddLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVEVSTkFMX0VSUk9SIiw4XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0FQSV9OT1RfUkVBRFkiLDldLFsiQVRURVNUQVRJT05fRVJST1JfREVWSUNFX09GRkxJTkUiLDEwXSxbIkFUVEVTVEFUSU9OX0VSUk9SX0tFWV9QQUlSX0lOSVRfRkFJTEVEIiwxMl0sWyJBVFRFU1RBVElPTl9FUlJPUl9TSUdOSU5HX0RBVEFfTUlTU0lORyIsMTNdLFsiQVRURVNUQVRJT05fRVJST1JfU0lHTklOR19GQUlMRUQiLDE0XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0NFUlRfQ0hBSU5fUkVUUklFVkFMX0ZBSUxFRCIsMTVdXSxudWxsLFtbMTEsMTFdXV0nKTtnLnFNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMubmFtZT1ufX07Zy5TdD1uZXcgZy5xTSgiYWN0aW9uQ29tcGFuaW9uQWRSZW5kZXJlciIpO2cuVWg9bmV3IGcucU0oImFkQWN0aW9uSW50ZXJzdGl0aWFsUmVuZGVyZXIiKTtnLm0yPW5ldyBnLnFNKCJhZHNFbmdhZ2VtZW50UGFuZWxSZW5kZXJlciIpO2cuVyQ9bmV3IGcucU0oImRpc21pc3NhYmxlUGFuZWxUZXh0UG9ydHJhaXRJbWFnZVJlbmRlcmVyIik7Zy5vYT1uZXcgZy5xTSgiYWRzRW5nYWdlbWVudFBhbmVsU2VjdGlvbkxpc3RWaWV3TW9kZWwiKTtnLkFqPW5ldyBnLnFNKCJpbWFnZUNvbXBhbmlvbkFkUmVuZGVyZXIiKTtnLkVoPW5ldyBnLnFNKCJpbnN0cmVhbUFkUGxheWVyT3ZlcmxheVJlbmRlcmVyIik7Zy5GeT1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFJlbmRlcmVyIik7Zy5HOD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFNpbmdsZVNlbGVjdFF1ZXN0aW9uUmVuZGVyZXIiKTtnLnRMPW5ldyBnLnFNKCJpbnN0cmVhbVN1cnZleUFkTXVsdGlTZWxlY3RRdWVzdGlvblJlbmRlcmVyIik7Zy4kSD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZEFuc3dlclJlbmRlcmVyIik7Zy52eHg9bmV3IGcucU0oImluc3RyZWFtU3VydmV5QWRBbnN3ZXJOb25lT2ZUaGVBYm92ZVJlbmRlcmVyIik7Zy5DYz1uZXcgZy5xTSgiaW5zdHJlYW1WaWRlb0FkUmVuZGVyZXIiKTtnLmkwPW5ldyBnLnFNKCJwbGF5ZXJPdmVybGF5TGF5b3V0UmVuZGVyZXIiKTtnLnlWPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbEJ1dHRvbmVkQ2VudGVyZWRMYXlvdXRSZW5kZXJlciIpO2cuaFg9bmV3IGcucU0oImFib3ZlRmVlZEFkTGF5b3V0UmVuZGVyZXIiKTtnLnh6PW5ldyBnLnFNKCJiZWxvd1BsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmt6PW5ldyBnLnFNKCJpblBsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmUyPW5ldyBnLnFNKCJpblBsYXllck9yZ2FuaWNPdmVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuUmE9bmV3IGcucU0oInBsYXllckJ5dGVzQWRMYXlvdXRSZW5kZXJlciIpO2cuTGk9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVuY2VJdGVtQWRMYXlvdXRSZW5kZXJlciIpO2cudiQ9bmV3IGcucU0oInBsYXllclVuZGVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuQlE9bmV3IGcucU0oImFkSW50cm9SZW5kZXJlciIpO2cuVDA9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVudGlhbExheW91dFJlbmRlcmVyIik7Zy53YT1uZXcgZy5xTSgic3VydmV5VGV4dEludGVyc3RpdGlhbFJlbmRlcmVyIik7Zy5RVj1uZXcgZy5xTSgidmlkZW9BZFRyYWNraW5nUmVuZGVyZXIiKTt2YXIgUXhNPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbENlbnRlcmVkTGF5b3V0Vmlld01vZGVsIik7Zy5kYT1uZXcgZy5xTSgicGxheWVyT3JnYW5pY1RyYW5zaXRpb25PdmVybGF5UmVuZGVyZXIiKTtnLlhHPW5ldyBnLnFNKCJhZFNsb3RSZW5kZXJlciIpO2cuYWE9bmV3IGcucU0oInNxdWVlemViYWNrUGxheWVyU2lkZVBhbmVsUmVuZGVyZXIiKTtnLktjPW5ldyBnLnFNKCJiYW5uZXJJbWFnZUxheW91dFZpZXdNb2RlbCIpO2cuT2g9bmV3IGcucU0oInRvcEJhbm5lckltYWdlVGV4dEljb25CdXR0b25lZExheW91dFZpZXdNb2RlbCIpO2cuUFE9bmV3IGcucU0oImFkc0VuZ2FnZW1lbnRQYW5lbExheW91dFZpZXdNb2RlbCIpO2cubmk9bmV3IGcucU0oImRpc3BsYXlVbmRlcmxheVRleHRHcmlkQ2FyZHNMYXlvdXRWaWV3TW9kZWwiKTt2YXIgcm49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59fSxzQz1jbGFzcyBleHRlbmRzIHJue2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLk4uZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKG4pe3RoaXMuTi5lbnRpdHlNZXRhZGF0YT1ufX07dmFyIGtqTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBoNGo9bmV3IGcucU0oImNvbW1hbmRDb250ZXh0Iik7dmFyIHhrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBMdHc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZEUyPW5ldyBnLnFNKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgb3Z0PW5ldyBnLnFNKCJyYXdIb3RDb25maWdHcm91cCIpO2cuTk09bmV3IGcucU0oImNvbW1hbmRFeGVjdXRvckNvbW1hbmQiKTt2YXIgZTR3PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBneHQ9e1ZDOjAsZVo6MSxFcDozMixPcDo2MSxkNzo2NyxBSzoxMDMsSVg6ODYsR0E6NDIsTVg6NjAsTEk6NjIsRGk6NzMsYVg6NzYsdzc6ODgsQ0k6OTAsTjY6OTksSHI6OTgsb1g6MTAwLEZBOjEwMixjODo0MSxQODo2OSx5TDo3MCxKcjo3MSx5TToyLEs0OjI3LEFORFJPSUQ6MyxBdjo1NCx3TToxNCx6ejo5MSxDRTo1NSxkTToyNCxOdToxMDUsYzk6MjAsUDk6MTgsSkg6MjEsdEg6MTA0LFg2OjMwLGpMOjI5LFYzOjI4LHBJOjEwMSxtQjoxMDcsa0Q6MzQsaEg6MzYseTM6MzgsSU9TOjUsVEw6MTUsblE6OTIscmo6NDAscFE6MjUseDc6MTA2LFNBOjE3LFk3OjE5LHNZOjY0LHVPOjY2LGVBOjI2LFpwOjIyLGxPOjMzLEhtOjY4LFVZOjM1LExROjUzLEJtOjEwOCxSTzozNyxLUTozOSxkMjo3LFByOjU3LHlDOjQzLHRLOjU5LEpLOjkzLGlwOjc0LFdyOjc1LGJGOjg1LHpBOjY1LGhLOjgwLFhBOjgsQ006MTAsaUY6NTgscVg6NjMsbVU6NzIscXU6MjMsYkE6MTEselU6MTMsd0o6MTIsCm9OOjE2LFVwOjU2LGc3OjMxLGttOjc3LEFROjg0LGZJOjg3LENoOjg5LHdMOjk0LHpUOjk1LGxMOjEwOX07dmFyIGk5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1XKG4pe2cuU0UodGhpcyw1LG4pfX07dmFyIHlkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBYd1U9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEhzPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIEhXKHRoaXMsMzYpfXNldEhvbWVHcm91cEluZm8obil7cmV0dXJuICQ5KHRoaXMsWHdVLDgxLG4pfWNsZWFyTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKCl7cmV0dXJuIG96KHRoaXMsODkpfX07dmFyIEo2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRWYWx1ZSgpe3JldHVybiBZOSh0aGlzLHZXKHRoaXMsSXYsMikpfX0sSXY9WzIsMyw0LDUsNl07dmFyIHFZUz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VHJhY2tpbmdQYXJhbXMobil7cmV0dXJuIG96KHRoaXMsMSxrVShuLCExKSl9fTt2YXIgZlU9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVKPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBBNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VG9rZW4obil7cmV0dXJuIGcuU0UodGhpcywyLG4pfX07dmFyIFN5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1zZXRTYWZldHlNb2RlKG4pe3JldHVybiBLbih0aGlzLDUsbil9fTt2YXIgWUE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfVcobil7cmV0dXJuICQ5KHRoaXMsSHMsMSxuKX19O3ZhciBHajE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdFBVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRrYj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBSVGg9bmV3IGcucU0oImNvbnRpbnVhdGlvbkNvbW1hbmQiKTtnLmNFPW5ldyBnLnFNKCJzaWduYWxBY3Rpb24iKTt2YXIgcGo9bmV3IGcucU0oIndlYkNvbW1hbmRNZXRhZGF0YSIpO3ZhciBoazI9bmV3IGcucU0oIm1ldGFkYXRhQmFkZ2VSZW5kZXJlciIpO3ZhciBRWU09bmV3IGcucU0oInNpZ25hbFNlcnZpY2VFbmRwb2ludCIpO3ZhciAkej1uZXcgZy5xTSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBEMzE9e1NUOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIixyTDoiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVCIseHc6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCIsS2g6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCJ9O3ZhciAkdE09bmV3IGcucU0oImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCIpO3ZhciBEdEM9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiKTt2YXIgYW9VPW5ldyBnLnFNKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlciIpLHIxcj1uZXcgZy5xTSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxzc0M9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgUyQ9bmV3IGcucU0oImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyIHJZcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBzQng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTkEyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHB3Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbCYmbi5wdXNoKHRoaXMuTi5hbHRlcm5hdGVDaGFubmVsKTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QmJm4ucHVzaCguLi50aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QpO3RoaXMuTi5vbmVvZkNoYW5uZWxFbnRpdHkmJm4ucHVzaCh0aGlzLk4ub25lb2ZDaGFubmVsRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBZWXI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmVudHJ5Q29sbGVjdGlvbiYmbi5wdXNoKHRoaXMuTi5lbnRyeUNvbGxlY3Rpb24pO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sZl94PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRQbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wYXJlbnRQbGF5bGlzdCk7aWYodGhpcy5OLmVudHJpZXMpZm9yKGxldCBXIG9mIHRoaXMuTi5lbnRyaWVzKW4ucHVzaCguLi4obmV3IEhzaChXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEhzaD1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIEpZYj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkmJm4ucHVzaCh0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuTi5jcmVhdG9ycyYmbi5wdXNoKC4uLnRoaXMuTi5jcmVhdG9ycyk7dGhpcy5OLnRoZUJpZ2dlc3RGYW4mJm4ucHVzaCh0aGlzLk4udGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxJX3c9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgU1l3PW5ldyBnLnFNKCJmZWVkYmFja0VuZHBvaW50Iik7dmFyIEFZeD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBta2g9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgS3R4PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE9zaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQTHI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgWnNyPW5ldyBnLnFNKCJpbnRlcmFjdGlvbkxvZ2dpbmdDb21tYW5kTWV0YWRhdGEiKTt2YXIgZDNqPXtsRjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIixuSToiV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIixSWDoiV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIixaaToiV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIixCcjoiV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIn07dmFyIFVrcj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0UGxheWVyVHlwZSgpe3JldHVybiBIVyh0aGlzLDcpfUUxKCl7cmV0dXJuIFk5KHRoaXMsMTkpfXNldFZpZGVvSWQobil7cmV0dXJuIGcuU0UodGhpcywxOSxuKX19O3ZhciBBbT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgU0w9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIFp2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fSx5WTE9WzIsMyw1LDYsNywxMSwxMywyMCwyMSwyMiwyMywyNCwyOCwzMiwzNyw0NSw1OSw3Miw3Myw3NCw3Niw3OCw3OSw4MCw4NSw5MSw5NywxMDAsMTAyLDEwNSwxMTEsMTE3LDExOSwxMjYsMTI3LDEzNiwxNDYsMTQ4LDE1MSwxNTYsMTU3LDE1OCwxNTksMTYzLDE2NCwxNjgsMTc2LDE3NywxNzgsMTc5LDE4NCwxODgsMTg5LDE5MCwxOTEsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDgsMjA5LDIxNSwyMTksMjIyLDIyNSwyMjYsMjI3LDIyOSwyMzIsMjMzLDIzNCwyNDAsMjQxLDI0NCwyNDcsMjQ4LDI0OSwyNTEsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjYsMjcwLDI3MiwyNzgsMjg4LDI5MSwyOTMsMzAwLDMwNCwzMDgsMzA5LDMxMCwzMTEsMzEzLDMxNCwzMTksMzIwLDMyMSwzMjMsMzI0LDMyNywzMjgsCjMzMCwzMzEsMzMyLDMzNCwzMzcsMzM4LDM0MCwzNDQsMzQ4LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM2MSwzNjMsMzY0LDM2OCwzNjksMzcwLDM3MywzNzQsMzc1LDM3OCwzODAsMzgxLDM4MywzODgsMzg5LDM5OSw0MDIsNDAzLDQxMCw0MTEsNDEyLDQxMyw0MTQsNDE1LDQxNiw0MTcsNDE4LDQyMyw0MjQsNDI1LDQyNiw0MjcsNDI5LDQzMCw0MzEsNDM5LDQ0MSw0NDQsNDQ4LDQ1OCw0NjksNDcxLDQ3Myw0NzQsNDgwLDQ4MSw0ODIsNDg0LDQ4NSw0ODYsNDkxLDQ5NSw0OTYsNTA2LDUwNyw1MDksNTExLDUxMiw1MTMsNTE0LDUxNSw1MTYsNTE3LDUxOCw1MTksNTIwLDUyMiw1MjMsNTI0LDUyNSw1MjYsNTI3LDUyOCw1MjksNTMwLDUzMSw1MzYsNTM3LDUzOCw1MzksNTQxLDU0NSw1NDcsNTQ4LDU0OSw1NTAsNTUxLDU1Miw1NTMsNTU0LDU1N107Zy5FeGk9bmV3IGcucU0oImxvZ2dpbmdDb250ZXh0Iik7dmFyIE95PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBoNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9RTEoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDEpKX1zZXRWaWRlb0lkKG4pe3JldHVybiBEMih0aGlzLDEseEEsV0gobikpfWdldFBsYXlsaXN0SWQoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDIpKX19LHhBPVsxLDJdO3ZhciB1RjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGlzWj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB1NXQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgb3hoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGRrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZHNMaXN0KTt0aGlzLk4uc21hcnREb3dubG9hZHNMaXN0JiZuLnB1c2godGhpcy5OLnNtYXJ0RG93bmxvYWRzTGlzdCk7dGhpcy5OLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGxfWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtpZih0aGlzLk4uZG93bmxvYWRzKWZvcihsZXQgVyBvZiB0aGlzLk4uZG93bmxvYWRzKW4ucHVzaCguLi4obmV3IHo0dyhXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LHo0dz1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3RoaXMuTi5wbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wbGF5bGlzdCk7dGhpcy5OLnZpZGVvSXRlbSYmbi5wdXNoKHRoaXMuTi52aWRlb0l0ZW0pO3RoaXMuTi5wbGF5bGlzdEl0ZW0mJm4ucHVzaCh0aGlzLk4ucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBUQTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGpCaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgQ0xpPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJBVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZmFrZUNoaWxkcmVuJiZuLnB1c2goLi4udGhpcy5OLmZha2VDaGlsZHJlbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgRnRoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi52aWRlbyYmbi5wdXNoKHRoaXMuTi52aWRlbyk7dGhpcy5OLnBsYXliYWNrRGF0YSYmbi5wdXNoKHRoaXMuTi5wbGF5YmFja0RhdGEpO3RoaXMuTi5vZmZsaW5lVmlkZW9Qb2xpY3kmJm4ucHVzaCh0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciB3d1M9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTVB3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5jaGFubmVsT3duZXImJm4ucHVzaCh0aGlzLk4uY2hhbm5lbE93bmVyKTt0aGlzLk4udmlkZW9zJiZuLnB1c2goLi4udGhpcy5OLnZpZGVvcyk7dGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZuLnB1c2goLi4udGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLk4uZG93bmxvYWRTdGF0ZSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXRlKTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBSNGk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnZpZGVvJiZuLnB1c2godGhpcy5OLnZpZGVvKTt0aGlzLk4uY2hhbm5lbENvbnRyaWJ1dG9yJiZuLnB1c2godGhpcy5OLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgVlBVPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFFCcih0aGlzLk4ucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LFFCcj1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4ubG9jYWxJbWFnZUVudGl0aWVzJiZuLnB1c2goLi4udGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBjWWk9Y2xhc3MgZXh0ZW5kcyBybntKKCl7dmFyIG49W107dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgYV9qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vd25lciYmbi5wdXNoKHRoaXMuTi5vd25lcik7dGhpcy5OLmRvd25sb2FkU3RhdGUmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRTdGF0ZSk7dGhpcy5OLnVzZXJTdGF0ZSYmbi5wdXNoKC4uLihuZXcgY1lpKHRoaXMuTi51c2VyU3RhdGUpKS5KKCkpO3RoaXMuTi5hZGRpdGlvbmFsTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFZQVSh0aGlzLk4uYWRkaXRpb25hbE1ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBuTjI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnVzZXJDaGFubmVsRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyQ2hhbm5lbERldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFdNWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uY2hhbm5lbE93bmVyJiZuLnB1c2godGhpcy5OLmNoYW5uZWxPd25lcik7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi5kb3dubG9hZFN0YXR1cyYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXR1cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgREkxPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJ6dD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB2TnQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIga1ByPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGhPdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB4SVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTE13PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGVPcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBnTnI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgVVU9bmV3IGcucU0oImNoYW5nZUtleWVkTWFya2Vyc1Zpc2liaWxpdHlDb21tYW5kIik7dmFyIHh0TT1uZXcgZy5xTSgibG9hZE1hcmtlcnNDb21tYW5kIik7dmFyIGVicj1uZXcgZy5xTSgidGltZWx5QWN0aW9uVmlld01vZGVsIik7dmFyIExxQz1uZXcgZy5xTSgidGltZWx5QWN0aW9uc092ZXJsYXlWaWV3TW9kZWwiKTt2YXIgWF9TPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHF2Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBHUE09Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdHhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRJTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBySmI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmNvbXBvc2l0ZVNvdXJjZUtleXMmJm4ucHVzaCguLi50aGlzLk4uY29tcG9zaXRlU291cmNlS2V5cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgczR0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIE5rUz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRlZFRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLk4uc21hcnREb3dubG9hZGVkVHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5OLmRvd25sb2FkZWRFcGlzb2RlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJm4ucHVzaCguLi50aGlzLk4uc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLmRvd25sb2FkZWRQbGF5bGlzdHMmJm4ucHVzaCguLi50aGlzLk4uZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmbi5wdXNoKC4uLnRoaXMuTi5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpOwp0aGlzLk4ubWV0YWRhdGFPbmx5VHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgcF9yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFl2dD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgSHppPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4ucHJpbWFyeUFydGlzdHMmJm4ucHVzaCguLi50aGlzLk4ucHJpbWFyeUFydGlzdHMpO3RoaXMuTi5kZXRhaWxzJiZuLnB1c2godGhpcy5OLmRldGFpbHMpO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmRvd25sb2FkTWV0YWRhdGEmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnJlZnJlc2gmJm4ucHVzaCh0aGlzLk4ucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxmSlU9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmCm4ucHVzaCh0aGlzLk4uYWxidW1SZWxlYXNlKTt0aGlzLk4udHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxKSjE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIElKVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sU3ZaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRBcnRpc3QmJm4ucHVzaCh0aGlzLk4ucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEFKaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGFyZW50QXJ0aXN0JiZuLnB1c2godGhpcy5OLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgbUliPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEtNdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQVHg9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLk4uc2lkZWxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3RoaXMuTi5lbnRyeUNvbGxlY3Rpb24mJm4ucHVzaCh0aGlzLk4uZW50cnlDb2xsZWN0aW9uKTt0aGlzLk4uc2hhcmUmJm4ucHVzaCh0aGlzLk4uc2hhcmUpO3RoaXMuTi5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmCm4ucHVzaCguLi4obmV3IE96aSh0aGlzLk4ucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5KKCkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sT3ppPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5jcmVhdG9yRW50aXR5JiZuLnB1c2godGhpcy5OLmNyZWF0b3JFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFp6aT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBVSVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmbi5wdXNoKHRoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuTi5hcnRpc3RzJiZuLnB1c2goLi4udGhpcy5OLmFydGlzdHMpO3RoaXMuTi5hdWRpb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuTi52aWRlb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLmRldGFpbHMmJm4ucHVzaCh0aGlzLk4uZGV0YWlscyk7dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmxpYnJhcnlFZGl0JiZuLnB1c2godGhpcy5OLmxpYnJhcnlFZGl0KTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmCm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmx5cmljcyYmbi5wdXNoKHRoaXMuTi5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0seUpTPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRUcmFjayYmbi5wdXNoKHRoaXMuTi5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxFTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnBhcmVudFRyYWNrJiZuLnB1c2godGhpcy5OLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBucU09bmV3IGcucU0oIm11c2ljRW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKTt2YXIgaXpTPW5ldyBnLnFNKCJzaGFyZUVuZHBvaW50IiksdXhDPW5ldyBnLnFNKCJzaGFyZUVudGl0eUVuZHBvaW50Iiksb05pPW5ldyBnLnFNKCJzaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpLGRJeD1uZXcgZy5xTSgid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtnLlBqPW5ldyBnLnFNKCJ1cmxFbmRwb2ludCIpO2cuSVE9bmV3IGcucU0oIndhdGNoRW5kcG9pbnQiKTt2YXIgek93PW5ldyBnLnFNKCJ3YXRjaFBsYXlsaXN0RW5kcG9pbnQiKTt2YXIgbEoyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFRrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBqNFo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQ1R3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4udHJhbnNmZXImJm4ucHVzaCh0aGlzLk4udHJhbnNmZXIpO3RoaXMuTi5hZHNQbGF5YmFja0RhdGEmJm4ucHVzaCguLi50aGlzLk4uYWRzUGxheWJhY2tEYXRhKTt0aGlzLk4uZHJtTGljZW5zZSYmbi5wdXNoKHRoaXMuTi5kcm1MaWNlbnNlKTt0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5JiZuLnB1c2godGhpcy5OLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBGTXc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgd19NPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vZmZsaW5lVmlkZW9TdHJlYW1zJiZuLnB1c2goLi4udGhpcy5OLm9mZmxpbmVWaWRlb1N0cmVhbXMpO3RoaXMuTi5jYXB0aW9uVHJhY2smJm4ucHVzaCguLi50aGlzLk4uY2FwdGlvblRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBNeFM9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgUk8xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFE0cj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBWeGI9bmV3IGcucU0oInByZWZldGNoV2F0Y2hDb21tYW5kIik7dmFyIGNKWj1uZXcgZy5xTSgidXBkYXRlUHJvZ3Jlc3NCYXJDb21tYW5kIik7dmFyIE5LeD1uZXcgZy5xTSgiY29tcG9zaXRlVmlkZW9PdmVybGF5UmVuZGVyZXIiKTt2YXIgbGFTPW5ldyBnLnFNKCJwYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlciIpO3ZhciBLSTE9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxPVng9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBJb2I9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksRHo9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksYUp3PW5ldyBnLnFNKCJwbGF5ZXJSZXNwb25zZSIpO3ZhciBuWEM9bmV3IGcucU0oInBsYXlsaXN0RWRpdEVuZHBvaW50Iik7dmFyIFd1Wj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBUZT1uZXcgZy5xTSgicmVlbFdhdGNoRW5kcG9pbnQiKTt2YXIgRCRyPW5ldyBnLnFNKCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiKTtnLllIPW5ldyBnLnFNKCJidXR0b25SZW5kZXJlciIpO2cuSEM9bmV3IGcucU0oInRvZ2dsZUJ1dHRvblJlbmRlcmVyIik7Zy5jUT1uZXcgZy5xTSgiY291bnRlcmZhY3R1YWxSZW5kZXJlciIpO3ZhciBiTXI9bmV3IGcucU0oInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTt2YXIgdlhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGtpdz1uZXcgZy5xTSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO3ZhciBoblU9bmV3IGcucU0oInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgeCRaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE5oMT1uZXcgZy5xTSgic3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIiKTt2YXIgTHUxPW5ldyBnLnFNKCJzdWJzY3JpYmVFbmRwb2ludCIpO3ZhciBlbmk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZ1hVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFhSUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBxTlo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgR2lNPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHRHdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciAkJDI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgck0xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHNkaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBOeTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFJ0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFZDMj1uZXcgZy5xTSgicXJDb2RlUmVuZGVyZXIiKTt2YXIgWU5aPXtkajoiTElWSU5HX1JPT01fQVBQX01PREVfVU5TUEVDSUZJRUQiLHdqOiJMSVZJTkdfUk9PTV9BUFBfTU9ERV9NQUlOIixBXzoiTElWSU5HX1JPT01fQVBQX01PREVfS0lEUyIsQ1E6IkxJVklOR19ST09NX0FQUF9NT0RFX01VU0lDIixvTzoiTElWSU5HX1JPT01fQVBQX01PREVfVU5QTFVHR0VEIixJTzoiTElWSU5HX1JPT01fQVBQX01PREVfR0FNSU5HIn07dmFyIEhNdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBmTzI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgSk0yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJXWj1uZXcgZy5xTSgiYXV0b3BsYXlTd2l0Y2hCdXR0b25SZW5kZXJlciIpO3ZhciB2cXQ9bmV3IGcucU0oImRlc2t0b3BPdmVybGF5Q29uZmlnUmVuZGVyZXIiKTt2YXIgYzNoPW5ldyBnLnFNKCJlbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyIik7dmFyIFdHaT1uZXcgZy5xTSgicGxheWxpc3RQYW5lbFJlbmRlcmVyIik7dmFyIElPdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBTTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQU14PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIG0kUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBLdWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgT01qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFA4dz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBaTWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFlaPW5ldyBnLnFNKCJjaXBoZXIiKTt2YXIgU2xNPW5ldyBnLnFNKCJwbGF5ZXJWYXJzIik7dmFyIGR2aT1uZXcgZy5xTSgicGxheWVyVmFycyIpO3ZhciBVJFU9Zy5xaS53aW5kb3csSUU9VSRVPy55dD8uY29uZmlnX3x8VSRVPy55dGNmZz8uZGF0YV98fHt9O2cuR2IoInl0LmNvbmZpZ18iLElFKTt2YXIgS3c9W107dmFyIGR4aT0vXltcdy5dKiQvLG9LaT17cTohMCxzZWFyY2hfcXVlcnk6ITB9LHVRaD1TdHJpbmcoeUYpO2cuUkU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtnLkdiKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24obil7cmV0dXJuIGcuRXQoZy5RRihuKSl9KTtnLlV3KCk7dmFyIFZGPSJYTUxIdHRwUmVxdWVzdCJpbiBnLnFpPygpPT5uZXcgWE1MSHR0cFJlcXVlc3Q6bnVsbDt2YXIgeU1TPSJhYnNvbHV0ZV9leHBlcmltZW50cyBjbGllbnRfZGV2X2RvbWFpbiBjbGllbnRfZGV2X2V4cGZsYWcgY2xpZW50X2Rldl9yZWdleF9tYXAgY2xpZW50X2Rldl9yb290X3VybCBjbGllbnRfcm9sbG91dF9vdmVycmlkZSBleHBmbGFnIGZvcmNlZENhcGFiaWxpdHkganNmZWF0IGpzbW9kZSBtb2RzIHRoZW1lIi5zcGxpdCgiICIpO1suLi55TVNdO3ZhciBMJD17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxWdWI9WyJhcHAiLCJkZWJ1Z2NzcyIsImRlYnVnanMiLCJleHBmbGFnIiwiZm9yY2VfYWRfcGFyYW1zIiwiZm9yY2VfYWRfZW5jcnlwdGVkIiwiZm9yY2VfdmlyYWxfYWRfcmVzcG9uc2VfcGFyYW1zIiwiZm9yY2VkX2V4cGVyaW1lbnRzIiwiaW5uZXJ0dWJlX3NuYXBzaG90cyIsImlubmVydHViZV9nb2xkZW5zIiwiaW50ZXJuYWxjb3VudHJ5Y29kZSIsImludGVybmFsaXBvdmVycmlkZSIsImFic29sdXRlX2V4cGVyaW1lbnRzIiwiY29uZGl0aW9uYWxfZXhwZXJpbWVudHMiLCJzYmIiLCJzcl9ibnNfYWRkcmVzcyIsLi4ueU1TXSxHUT0hMSxGeDE9eFQ7dmFyIGM0VTtnLiRUPWNsYXNzIGV4dGVuZHMgZy5UYntjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoYCR7bn0sIGVycm9yQ29kZT0ke1d9YCk7dGhpcy5lcnJvckNvZGU9Vzt0aGlzLnhocj1EO3RoaXMubmFtZT0iUHJvbWlzZUFqYXhFcnJvciJ9fTtjNFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy54aHI9bn19O3ZhciBOWD1jbGFzc3tjb25zdHJ1Y3RvcihuPW51bGwpe3RoaXMuTj1uO3RoaXMuVz0wO3RoaXMuSj1udWxsfXRoZW4obixXLEQpe3JldHVybiB0aGlzLk4/dGhpcy5OLnRoZW4obixXLEQpOnRoaXMuVz09PTEmJm4/KG49bi5jYWxsKEQsdGhpcy5KKSkmJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iP246Zy5IMChuKTp0aGlzLlc9PT0yJiZXPyhuPVcuY2FsbChELHRoaXMuSikpJiZ0eXBlb2Ygbi50aGVuPT09ImZ1bmN0aW9uIj9uOmcucCQobik6dGhpc31nZXRWYWx1ZSgpe3JldHVybiB0aGlzLkp9fTtOWC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIGYkPSExO2cuTUw9dzh8fE1YO3ZhciBXMDE9L14oWzAtOVwuXSspOihbMC05XC5dKykkLzt2YXIgWGs9e307dmFyIEVYaD0wLHEwPWcuWmw/IndlYmtpdCI6Zy5lUz8ibW96IjpnLmtoPyJtcyI6cmM/Im8iOiIiLGlNeD1nLnJyKCJ5dERvbURvbUdldE5leHRJZCIpfHwoKCk9PisrRVhoKTsKZy5HYigieXREb21Eb21HZXROZXh0SWQiLGlNeCk7dmFyIHVaYj17c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOjEsc3RvcFByb3BhZ2F0aW9uOjEscHJldmVudE1vdXNlRXZlbnQ6MSxwcmV2ZW50TWFuaXB1bGF0aW9uOjEscHJldmVudERlZmF1bHQ6MSxsYXllclg6MSxsYXllclk6MSxzY3JlZW5YOjEsc2NyZWVuWToxLHNjYWxlOjEscm90YXRpb246MSx3ZWJraXRNb3ZlbWVudFg6MSx3ZWJraXRNb3ZlbWVudFk6MX0sZnk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50eXBlPSIiO3RoaXMuc3RhdGU9dGhpcy5zb3VyY2U9dGhpcy5kYXRhPXRoaXMuY3VycmVudFRhcmdldD10aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuY3RybEtleT10aGlzLmFsdEtleT0hMTt0aGlzLnJvdGF0aW9uPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLnNjYWxlPTE7dGhpcy5jaGFuZ2VkVG91Y2hlcz10aGlzLnRvdWNoZXM9Cm51bGw7dHJ5e2lmKG49bnx8d2luZG93LmV2ZW50KXt0aGlzLmV2ZW50PW47Zm9yKGxldCBiIGluIG4pYiBpbiB1WmJ8fCh0aGlzW2JdPW5bYl0pO3RoaXMuc2NhbGU9bi5zY2FsZTt0aGlzLnJvdGF0aW9uPW4ucm90YXRpb247dmFyIFc9bi50YXJnZXR8fG4uc3JjRWxlbWVudDtXJiZXLm5vZGVUeXBlPT0zJiYoVz1XLnBhcmVudE5vZGUpO3RoaXMudGFyZ2V0PVc7dmFyIEQ9bi5yZWxhdGVkVGFyZ2V0O2lmKEQpdHJ5e0Q9RC5ub2RlTmFtZT9EOm51bGx9Y2F0Y2goYil7RD1udWxsfWVsc2UgdGhpcy50eXBlPT0ibW91c2VvdmVyIj9EPW4uZnJvbUVsZW1lbnQ6dGhpcy50eXBlPT0ibW91c2VvdXQiJiYoRD1uLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PUQ7dGhpcy5jbGllbnRYPW4uY2xpZW50WCE9dm9pZCAwP24uY2xpZW50WDpuLnBhZ2VYO3RoaXMuY2xpZW50WT1uLmNsaWVudFkhPXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWTt0aGlzLmtleUNvZGU9bi5rZXlDb2RlP24ua2V5Q29kZToKbi53aGljaDt0aGlzLmNoYXJDb2RlPW4uY2hhckNvZGV8fCh0aGlzLnR5cGU9PSJrZXlwcmVzcyI/dGhpcy5rZXlDb2RlOjApO3RoaXMuYWx0S2V5PW4uYWx0S2V5O3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5OPW4ucGFnZVg7dGhpcy5KPW4ucGFnZVl9fWNhdGNoKGIpe319cHJldmVudERlZmF1bHQoKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5yZXR1cm5WYWx1ZT0hMSx0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0JiZ0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KCkpfXN0b3BQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJih0aGlzLmV2ZW50LmNhbmNlbEJ1YmJsZT0hMCx0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKSl9c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQuY2FuY2VsQnViYmxlPSEwLAp0aGlzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fTtnLllSPWcucWkueXRFdmVudHNFdmVudHNMaXN0ZW5lcnN8fHt9O2cuR2IoInl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzIixnLllSKTt2YXIgSEI9Zy5xaS55dEV2ZW50c0V2ZW50c0NvdW50ZXJ8fHtjb3VudDowfTtnLkdiKCJ5dEV2ZW50c0V2ZW50c0NvdW50ZXIiLEhCKTt2YXIgb1hoPWcud0QoZnVuY3Rpb24oKXt2YXIgbj0hMTt0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSksSk89Zy53RChmdW5jdGlvbigpe3ZhciBuPSExOwp0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJjYXB0dXJlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSk7dmFyIGZqO2ZqPXdpbmRvdztnLlI9ZmoueXRjc2kmJmZqLnl0Y3NpLm5vdz9mai55dGNzaS5ub3c6ZmoucGVyZm9ybWFuY2UmJmZqLnBlcmZvcm1hbmNlLnRpbWluZyYmZmoucGVyZm9ybWFuY2Uubm93JiZmai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0PygpPT5mai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2ZqLnBlcmZvcm1hbmNlLm5vdygpOigpPT4obmV3IERhdGUpLmdldFRpbWUoKTtnLml4KG1ZLGcuRk0pO21ZLnByb3RvdHlwZS5EPWZ1bmN0aW9uKG4pe24uTj09PXZvaWQgMCYmcHkobik7dmFyIFc9bi5OO24uSj09PXZvaWQgMCYmcHkobik7dGhpcy5OPW5ldyBnLk1ZKFcsbi5KKX07Cm1ZLnByb3RvdHlwZS5FdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk58fG5ldyBnLk1ZfTsKbVkucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtpZih0aGlzLk4pe3ZhciBuPSgwLGcuUikoKTtpZih0aGlzLlghPTApe3ZhciBXPXRoaXMuVixEPXRoaXMuTixiPVcueC1ELng7Vz1XLnktRC55O2I9TWF0aC5zcXJ0KGIqYitXKlcpLyhuLXRoaXMuWCk7dGhpcy5KW3RoaXMuV109TWF0aC5hYnMoKGItdGhpcy5qKS90aGlzLmopPi41PzE6MDtXPTA7Zm9yKEQ9MDtEPDQ7RCsrKVcrPXRoaXMuSltEXXx8MDtXPj0zJiZ0aGlzLksoKTt0aGlzLmo9Yn10aGlzLlg9bjt0aGlzLlY9dGhpcy5OO3RoaXMuVz0odGhpcy5XKzEpJTR9fTsKbVkucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7RHIodGhpcy5ZKTtnLlNfKHRoaXMuY0opfTtnLkpMPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuVz1bXTt0aGlzLks9bnx8dGhpc31OTihuLFcsRCxiLHYpe0Q9UFYoKDAsZy5LdCkoRCxifHx0aGlzLkspKTtEPXt0YXJnZXQ6bixuYW1lOlcsY2FsbGJhY2s6RH07dmFyIGs7diYmb1hoKCkmJihrPXtwYXNzaXZlOiEwfSk7bi5hZGRFdmVudExpc3RlbmVyKFcsRC5jYWxsYmFjayxrKTt0aGlzLlcucHVzaChEKTtyZXR1cm4gRH13SChuKXtmb3IobGV0IFc9MDtXPHRoaXMuVy5sZW5ndGg7VysrKWlmKHRoaXMuV1tXXT09bil7dGhpcy5XLnNwbGljZShXLDEpO24udGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIobi5uYW1lLG4uY2FsbGJhY2spO2JyZWFrfX1KKG4pe2Zvcig7dGhpcy5XLmxlbmd0aDspe2xldCBXPXRoaXMuVy5wb3AoKSxEO24mJm9YaCgpJiYoRD17cGFzc2l2ZTohMH0pO1cudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoVy5uYW1lLFcuY2FsbGJhY2ssRCl9fW1BKCl7dGhpcy5KKCk7CnN1cGVyLm1BKCl9fTt2YXIgd1laPVsiYXR0L2dldCJdLGRRWj1bImVtYmVkZGVkX3BsYXllciJdLGQkUz1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLHpudD1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0sbE9NPVsiZmVlZGJhY2siXSxUeXc9WyJub3RpZmljYXRpb24vbW9kaWZ5X2NoYW5uZWxfcHJlZmVyZW5jZSJdLHF5aj1bInBsYXllciJdLGpkeD1bImJyb3dzZS9lZGl0X3BsYXlsaXN0Il0sc3YyPVsicmVlbC9yZWVsX2l0ZW1fd2F0Y2giXSxONGg9WyJuYXZpZ2F0aW9uL3Jlc29sdmVfdXJsIl0sQ0diPVsiYWNjb3VudC9zZXRfc2V0dGluZyJdLEM4Yj1bInN1YnNjcmlwdGlvbi9zdWJzY3JpYmUiXSxCeWk9WyJzdWJzY3JpcHRpb24vdW5zdWJzY3JpYmUiXSwkMUM9WyJuZXh0IiwidW5wbHVnZ2VkL3dhdGNoX25leHQiXTt2YXIgT1A9e0JwOmcud0QoZnVuY3Rpb24oKXt0cnl7bGV0IFc9bmV3IFdTO3ZhciBuPVcuaXNBdmFpbGFibGUoKT9XOm51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9cmV0dXJuIG4/bmV3IFZLKG4pOm51bGx9KSwKcWI6Zy53RChmdW5jdGlvbigpe3ZhciBuPW5ldyBEUTtyZXR1cm4gbi5pc0F2YWlsYWJsZSgpP25ldyBWSyhuKTpudWxsfSl9O2cuSVY9d2luZG93Lnl0JiZ3aW5kb3cueXQubXNnc198fHdpbmRvdy55dGNmZyYmd2luZG93Lnl0Y2ZnLm1zZ3N8fHt9O2cuR2IoInl0Lm1zZ3NfIixnLklWKTt2YXIgV2I9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPXZvaWQgMDt0aGlzLk49ITE7bi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixXPT57Vy5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuSj1XfSk7Cm4uYWRkRXZlbnRMaXN0ZW5lcigiYXBwaW5zdGFsbGVkIiwoKT0+e3RoaXMuTj0hMH0se29uY2U6ITB9KX19O3ZhciBFUD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc0I9ITB9YWoobixXKXtuPXt9O3ZhciBEPVtdOyJVU0VSX1NFU1NJT05fSUQiaW4gSUUmJkQucHVzaCh7a2V5OiJ1Iix2YWx1ZTpnLkFyKCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKEQ9Qk8oRCkpbi5BdXRob3JpemF0aW9uPUQsRD1XPVc/LnNlc3Npb25JbmRleCxEPT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiU0VTU0lPTl9JTkRFWCIsMCkpLEQ9aXNOYU4oRCk/MDpEKSxnLmwoInZvaWNlX3NlYXJjaF9hdXRoX2hlYWRlcl9yZW1vdmFsIil8fChuWyJYLUdvb2ctQXV0aFVzZXIiXT1ELnRvU3RyaW5nKCkpLCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSJpbiBJRXx8KG5bIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksVz09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIElFJiYoblsiWC1Hb29nLVBhZ2VJZCJdPWcuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikpO3JldHVybiBufX07dmFyIHU5PXtpZGVudGl0eVR5cGU6IlVOQVVUSEVOVElDQVRFRF9JREVOVElUWV9UWVBFX1VOS05PV04ifTt2YXIgbE89Zy5ycigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iKXx8e307Zy5HYigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iLGxPKTsKdmFyIHgzYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1nLkFyKCJBTFRfUFJFRl9DT09LSUVfTkFNRSIsIlBSRUYiKTt0aGlzLko9Zy5BcigiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIG49Zy5TZCh0aGlzLk4pO24mJnRoaXMucGFyc2Uobil9Z2V0KG4sVyl7ejEobik7ZEoobik7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGw/bjpXP1c6IiJ9c2V0KG4sVyl7ejEobik7ZEoobik7aWYoVz09bnVsbCl0aHJvdyBFcnJvcigiRXhwZWN0ZWROb3ROdWxsIik7bE9bbl09Vy50b1N0cmluZygpfVFRKG4pe3JldHVybiEhKChUMShgZiR7TWF0aC5mbG9vcihuLzMxKSsxfWApfHwwKSYxPDxuJTMxKX1yZW1vdmUobil7ejEobik7ZEoobik7ZGVsZXRlIGxPW25dfXNhdmUoKXtJSyh0aGlzLk4sdGhpcy5kdW1wKCksNjMwNzJFMyx0aGlzLkosITApfWNsZWFyKCl7Zy50SyhsTyl9ZHVtcCgpe3ZhciBuPVtdO2ZvcihsZXQgVyBpbiBsTylsTy5oYXNPd25Qcm9wZXJ0eShXKSYmCm4ucHVzaChgJHtXfT1gK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcobE9bV10pKSk7cmV0dXJuIG4uam9pbigiJiIpfXBhcnNlKG4pe249ZGVjb2RlVVJJQ29tcG9uZW50KG4pLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe3ZhciBXPW5bRF0uc3BsaXQoIj0iKTtsZXQgYj1XWzBdOyhXPVdbMV0pJiYobE9bYl09Vy50b1N0cmluZygpKX19fSx1Tzt2YXIgQ3k9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LHpxdz17Q09OTl9ERUZBVUxUOjAsQ09OTl9VTktOT1dOOjEsQ09OTl9OT05FOjIsQ09OTl9XSUZJOjMsQ09OTl9DRUxMVUxBUl8yRzo0LENPTk5fQ0VMTFVMQVJfM0c6NSxDT05OX0NFTExVTEFSXzRHOjYsQ09OTl9DRUxMVUxBUl9VTktOT1dOOjcsQ09OTl9ESVNDTzo4LENPTk5fQ0VMTFVMQVJfNUc6OSxDT05OX1dJRklfTUVURVJFRDoxMCxDT05OX0NFTExVTEFSXzVHX1NBOjExLApDT05OX0NFTExVTEFSXzVHX05TQToxMixDT05OX1dJUkVEOjMwLENPTk5fSU5WQUxJRDozMX0sbEJyPXtFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1VOS05PV046MCxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX09GRkxJTkU6MSxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1NMT1dfMkc6MixFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHOjMsRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRzo0LEVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfNEc6NX0sRms9eyJzbG93LTJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9TTE9XXzJHIiwiMmciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHIiwiM2ciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzNHIiwiNGciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzRHIn07Zy5ReD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobik7dGhpcy5hcmdzPVsuLi5XXTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgRnVNPWNsYXNze0xTKG4sVyl7cmV0dXJuIGcuVngoMCxuLDEsVyl9fTtnLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UudGltZXJJZE1hcF8iKTt2YXIgV049Y2xhc3MgZXh0ZW5kcyBGdU17c08obil7aWYobj09PXZvaWQgMHx8IU51bWJlci5pc05hTihOdW1iZXIobikpKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIik7Vz9XKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9fXN0YXJ0KCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnN0YXJ0Iik7biYmbigpfXBhdXNlKCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnBhdXNlIik7biYmbigpfX0sdGE9Zy5EeSgpO3ZhciB0ST1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49KG49Zy52UyhuKSk/bmV3IFFLKG4pOm51bGw7dGhpcy5XPWRvY3VtZW50LmRvbWFpbnx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfUooKXtyZXR1cm4hIXRoaXMuTn1zZXQobixXLEQsYil7RD1EfHwzMTEwNEUzO3RoaXMucmVtb3ZlKG4pO2lmKHRoaXMuSigpKXRyeXt0aGlzLk4uc2V0KG4sVyxEYXRlLm5vdygpK0QqMUUzKTtyZXR1cm59Y2F0Y2goayl7fXZhciB2PSIiO2lmKGIpdHJ5e3Y9ZXNjYXBlKChuZXcgbGUpLmJZKFcpKX1jYXRjaChrKXtyZXR1cm59ZWxzZSB2PWVzY2FwZShXKTtJSyhuLHYsRCx0aGlzLlcpfWdldChuLFcpe3ZhciBEPXZvaWQgMCxiPSF0aGlzLkooKTtpZighYil0cnl7RD10aGlzLk4uZ2V0KG4pfWNhdGNoKHYpe2I9ITB9aWYoYiYmKEQ9Zy5TZChuKSkmJihEPXVuZXNjYXBlKEQpLFcpKXRyeXtEPUpTT04ucGFyc2UoRCl9Y2F0Y2godil7dGhpcy5yZW1vdmUobiksRD12b2lkIDB9cmV0dXJuIER9cmVtb3ZlKG4pe3RoaXMuSigpJiYKdGhpcy5OLnJlbW92ZShuKTtBeShuLCIvIix0aGlzLlcpfX07dmFyIHZOPSgoKT0+e3ZhciBuO3JldHVybigpPT57bnx8KG49bmV3IHRJKCJ5dGlkYiIpKTtyZXR1cm4gbn19KSgpO3ZhciB4dT1bXSxoYz0hMTt2YXIgd1JNPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LE1HUz17QVVUSF9JTlZBTElEOiJFUlJPUiIsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6IldBUk5JTkciLEVYUExJQ0lUX0FCT1JUOiJJR05PUkVEIixJREJfTk9UX1NVUFBPUlRFRDoiRVJST1IiLE1JU1NJTkdfSU5ERVg6IldBUk5JTkciLE1JU1NJTkdfT0JKRUNUX1NUT1JFUzoiRVJST1IiLApEQl9ERUxFVEVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzoiV0FSTklORyIsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixRVU9UQV9FWENFRURFRDoiV0FSTklORyIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IldBUk5JTkciLFVOS05PV05fQUJPUlQ6IldBUk5JTkciLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiJXQVJOSU5HIn0sUm5pPXtBVVRIX0lOVkFMSUQ6ITEsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6ITEsRVhQTElDSVRfQUJPUlQ6ITEsSURCX05PVF9TVVBQT1JURUQ6ITEsTUlTU0lOR19JTkRFWDohMSxNSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLFFVT1RBX0VYQ0VFREVEOiExLFFVT1RBX01BWUJFX0VYQ0VFREVEOiEwLFVOS05PV05fQUJPUlQ6ITAsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046ITF9LApxTD1jbGFzcyBleHRlbmRzIGcuUXh7Y29uc3RydWN0b3IobixXPXt9LEQ9d1JNW25dLGI9TUdTW25dLHY9Um5pW25dKXtzdXBlcihELHtuYW1lOiJZdElkYktub3duRXJyb3IiLGlzU3c6c2VsZi5kb2N1bWVudD09PXZvaWQgMCxpc0lmcmFtZTpzZWxmIT09c2VsZi50b3AsdHlwZTpuLC4uLld9KTt0aGlzLnR5cGU9bjt0aGlzLm1lc3NhZ2U9RDt0aGlzLmxldmVsPWI7dGhpcy5OPXY7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMscUwucHJvdG90eXBlKX19LFFkUz1jbGFzcyBleHRlbmRzIHFMe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOlcsZm91bmRPYmplY3RTdG9yZXM6bn0sd1JNLk1JU1NJTkdfT0JKRUNUX1NUT1JFUyk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUWRTLnByb3RvdHlwZSl9fSx0Yz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLmluZGV4PQpuO3RoaXMub2JqZWN0U3RvcmU9VztPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyx0Yy5wcm90b3R5cGUpfX0sTDBpPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBmRj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LHNSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuTj1bXTt0aGlzLko9W107bj1uLk47dmFyIFc9Yj0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6Yn07Zm9yKGxldCB2IG9mIHRoaXMuTil2KCl9fSxEPWI9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIsCnJlYXNvbjpifTtmb3IobGV0IHYgb2YgdGhpcy5KKXYoKX19Owp0cnl7bihXLEQpfWNhdGNoKGIpe0QoYil9fXN0YXRpYyBhbGwobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9Pnt2YXIgYj1bXSx2PW4ubGVuZ3RoO3Y9PT0wJiZXKGIpO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7KytrKXNSLnJlc29sdmUobltrXSkudGhlbihoPT57YltrXT1oO3YtLTt2PT09MCYmVyhiKX0pLmNhdGNoKGg9PntEKGgpfSl9KSl9c3RhdGljIHJlc29sdmUobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntuIGluc3RhbmNlb2Ygc1I/bi50aGVuKFcsRCk6VyhuKX0pKX1zdGF0aWMgcmVqZWN0KG4pe3JldHVybiBuZXcgc1IobmV3IGZGKChXLEQpPT57RChuKX0pKX10aGVuKG4sVyl7dmFyIEQ9bj8/Z1VyLGI9Vz8/ZXExOwpyZXR1cm4gbmV3IHNSKG5ldyBmRigodixrKT0+e3RoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciPyh0aGlzLk4ucHVzaCgoKT0+e3BGKHRoaXMsdGhpcyxELHYsayl9KSx0aGlzLkoucHVzaCgoKT0+e1l1KHRoaXMsdGhpcyxiLHYsayl9KSk6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iRlVMRklMTEVEIj9wRih0aGlzLHRoaXMsRCx2LGspOnRoaXMuc3RhdGUuc3RhdHVzPT09IlJFSkVDVEVEIiYmWXUodGhpcyx0aGlzLGIsdixrKX0pKX1jYXRjaChuKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxuKX19O3ZhciBxXzI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnJlcXVlc3Q9bjt0aGlzLmN1cnNvcj1XfX07dmFyIFlfcj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMub3B0aW9ucz1XO3RoaXMudHJhbnNhY3Rpb25Db3VudD0wO3RoaXMuVz1NYXRoLnJvdW5kKCgwLGcuUikoKSk7dGhpcy5KPSExfWFkZChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwLGNvbW1pdDpBYygpfSxiPT5iLm9iamVjdFN0b3JlKG4pLmFkZChXLEQpKX1jbGVhcihuKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWR3cml0ZSIsCkdROiEwfSxXPT5XLm9iamVjdFN0b3JlKG4pLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5OLmNsb3NlKCk7CnRoaXMub3B0aW9ucz8uY2xvc2VkJiZ0aGlzLm9wdGlvbnMuY2xvc2VkKCl9Y291bnQobixXKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IixHUTohMCxjb21taXQ6QWMoKX0sRD0+RC5vYmplY3RTdG9yZShuKS5jb3VudChXKSl9ZGVsZXRlKG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKSYmIShXIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmRlbGV0ZShXKSl9Z2V0KG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkb25seSIsCkdROiEwLGNvbW1pdDpBYygpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmdldChXKSl9Z2V0QWxsKG4sVyxEKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IiwKR1E6ITB9LGI9PmIub2JqZWN0U3RvcmUobikuZ2V0QWxsKFcsRCkpfXB1dChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKX0sYj0+Yi5vYmplY3RTdG9yZShuKS5wdXQoVyxEKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuTi5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfX0sUE49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59YWRkKG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5hZGQobixXKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLk4uYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBKYyh0aGlzLk4uY2xlYXIoKSkudGhlbigoKT0+e30pfWNvdW50KG4pe3JldHVybiBKYyh0aGlzLk4uY291bnQobikpfWRlbGV0ZShuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIElEQktleVJhbmdlP3RYVSh0aGlzLG4pOkpjKHRoaXMuTi5kZWxldGUobikpfWdldChuKXtyZXR1cm4gSmModGhpcy5OLmdldChuKSl9Z2V0QWxsKG4sVyl7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/SmModGhpcy5OLmdldEFsbChuLApXKSk6JDN4KHRoaXMsbixXKX1pbmRleChuKXt0cnl7cmV0dXJuIG5ldyBWR2godGhpcy5OLmluZGV4KG4pKX1jYXRjaChXKXtpZihXIGluc3RhbmNlb2YgRXJyb3ImJlcubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgdGMobix0aGlzLk4ubmFtZSk7CnRocm93IFc7fX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfWtleVBhdGgoKXtyZXR1cm4gdGhpcy5OLmtleVBhdGh9cHV0KG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5wdXQobixXKSl9fSxtWD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bmV3IE1hcDt0aGlzLmFib3J0ZWQ9ITE7dGhpcy5kb25lPW5ldyBQcm9taXNlKChXLEQpPT57dGhpcy5OLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e1coKX0pOwp0aGlzLk4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntiLmN1cnJlbnRUYXJnZXQ9PT1iLnRhcmdldCYmRCh0aGlzLk4uZXJyb3IpfSk7CnRoaXMuTi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt2YXIgYj10aGlzLk4uZXJyb3I7aWYoYilEKGIpO2Vsc2UgaWYoIXRoaXMuYWJvcnRlZCl7Yj1xTDt2YXIgdj10aGlzLk4ub2JqZWN0U3RvcmVOYW1lcztsZXQgaz1bXTtmb3IobGV0IGg9MDtoPHYubGVuZ3RoO2grKyl7bGV0IHg9di5pdGVtKGgpO2lmKHg9PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IGl0ZW0gaW4gRE9NU3RyaW5nTGlzdCBpcyBudWxsIik7ay5wdXNoKHgpfWI9bmV3IGIoIlVOS05PV05fQUJPUlQiLHtvYmplY3RTdG9yZU5hbWVzOmsuam9pbigpLGRiTmFtZTp0aGlzLk4uZGIubmFtZSxtb2RlOnRoaXMuTi5tb2RlfSk7RChiKX19KX0pfWFib3J0KCl7dGhpcy5OLmFib3J0KCk7CnRoaXMuYWJvcnRlZD0hMDt0aHJvdyBuZXcgcUwoIkVYUExJQ0lUX0FCT1JUIik7fWNvbW1pdCgpe3RoaXMuYWJvcnRlZHx8dGhpcy5OLmNvbW1pdD8uKCl9b2JqZWN0U3RvcmUobil7bj10aGlzLk4ub2JqZWN0U3RvcmUobik7dmFyIFc9dGhpcy5KLmdldChuKTtXfHwoVz1uZXcgUE4obiksdGhpcy5KLnNldChuLFcpKTtyZXR1cm4gV319LFZHaD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1jb3VudChuKXtyZXR1cm4gSmModGhpcy5OLmNvdW50KG4pKX1kZWxldGUobil7cmV0dXJuIHpuKHRoaXMse3F1ZXJ5Om59LFc9PlcuZGVsZXRlKCkudGhlbigoKT0+b2coVykpKX1nZXQobil7cmV0dXJuIEpjKHRoaXMuTi5nZXQobikpfWdldEFsbChuLFcpe3JldHVybiJnZXRBbGwiaW4gSURCSW5kZXgucHJvdG90eXBlP0pjKHRoaXMuTi5nZXRBbGwobixXKSk6TlppKHRoaXMsbixXKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuTi5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLk4udW5pcXVlfX0sCnA5eD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMucmVxdWVzdD1uOwp0aGlzLmN1cnNvcj1XfWRlbGV0ZSgpe3JldHVybiBKYyh0aGlzLmN1cnNvci5kZWxldGUoKSkudGhlbigoKT0+e30pfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuY3Vyc29yLnZhbHVlfXVwZGF0ZShuKXtyZXR1cm4gSmModGhpcy5jdXJzb3IudXBkYXRlKG4pKX19O3ZhciBjTTE9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLm5hbWU9bjt0aGlzLm9wdGlvbnM9Vzt0aGlzLlc9ITA7dGhpcy5qPXRoaXMuWD0wfUoobixXLEQ9e30pe3JldHVybiBsUShuLFcsRCl9ZGVsZXRlKG49e30pe3JldHVybiBUbih0aGlzLm5hbWUsbil9b3Blbigpe2lmKCF0aGlzLlcpdGhyb3cgakYodGhpcyk7aWYodGhpcy5OKXJldHVybiB0aGlzLk47dmFyIG4sVz0oKT0+e3RoaXMuTj09PW4mJih0aGlzLk49dm9pZCAwKX0sRD17YmxvY2tpbmc6dj0+e3YuY2xvc2UoKX0sCmNsb3NlZDpXLEJ6OlcsdXBncmFkZTp0aGlzLm9wdGlvbnMudXBncmFkZX0sYj1hc3luYygpPT57dmFyIHY9RXJyb3IoKS5zdGFjaz8/IiI7dHJ5e2xldCB4PWF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdGhpcy5vcHRpb25zLnZlcnNpb24sRCk7dmFyIGs9eCxoPXRoaXMub3B0aW9ucztsZXQgTD1bXTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoaC5LYykpe2xldCB7dng6RyxtUjpyPU51bWJlci5NQVhfVkFMVUV9PWguS2NbZV07IShrLk4udmVyc2lvbj49Ryl8fGsuTi52ZXJzaW9uPj1yfHxrLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhlKXx8TC5wdXNoKGUpfWlmKEwubGVuZ3RoIT09MCl7bGV0IGU9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLktjKSxHPXgub2JqZWN0U3RvcmVOYW1lcygpO2lmKHRoaXMuajx2MCgieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiLDApKXJldHVybiB0aGlzLmorKyx4LmNsb3NlKCksTEYobmV3IHFMKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLAp7ZGJOYW1lOnRoaXMubmFtZSxleHBlY3RlZE9iamVjdFN0b3JlczplLGZvdW5kT2JqZWN0U3RvcmVzOkd9KSksYigpO2lmKHRoaXMuWDx2MCgieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiLDEpKXJldHVybiB0aGlzLlgrKyxhd2FpdCB0aGlzLmRlbGV0ZSgpLExGKG5ldyBxTCgiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOmUsZm91bmRPYmplY3RTdG9yZXM6R30pKSxiKCk7dGhyb3cgbmV3IFFkUyhHLGUpO31yZXR1cm4geH1jYXRjaCh4KXtpZih4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP3gubmFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZ4IGluc3RhbmNlb2YgRE9NRXJyb3I/eC5uYW1lPT09IlZlcnNpb25FcnJvciI6eCBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4geCYmeC5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe3Y9CmF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdm9pZCAwLHsuLi5ELHVwZ3JhZGU6dm9pZCAwfSk7az12Lk4udmVyc2lvbjtpZih0aGlzLm9wdGlvbnMudmVyc2lvbiE9PXZvaWQgMCYmaz50aGlzLm9wdGlvbnMudmVyc2lvbisxKXRocm93IHYuY2xvc2UoKSx0aGlzLlc9ITEsakYodGhpcyxrKTtyZXR1cm4gdn1XKCk7eCBpbnN0YW5jZW9mIEVycm9yJiYhZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIikmJih4LnN0YWNrPWAke3guc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKTt0aHJvdyAkdSh4LHRoaXMubmFtZSwiIix0aGlzLm9wdGlvbnMudmVyc2lvbj8/LTEpO319OwpyZXR1cm4gdGhpcy5OPW49YigpfX07dmFyIEJOPW5ldyBjTTEoIll0SWRiTWV0YSIse0tjOntkYXRhYmFzZXM6e3Z4OjF9fSx1cGdyYWRlKG4sVyl7VygxKSYmWnkobiwiZGF0YWJhc2VzIix7a2V5UGF0aDoiYWN0dWFsTmFtZSJ9KX19KTt2YXIgVmMsUWM9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0obmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0pO25ldyBnLktWO3ZhciBPNXQ9Y2xhc3MgZXh0ZW5kcyBjTTF7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLFcpO3RoaXMub3B0aW9ucz1XO2cwKG4pfUoobixXLEQ9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP0FfcjpTX1opKG4sVyx7Li4uRH0pfWRlbGV0ZShuPXt9KXtyZXR1cm4odGhpcy5vcHRpb25zLnNoYXJlZD92ejptM3cpKHRoaXMubmFtZSxuKX19O3ZhciBaNUM9a08oInl0R2NmQ29uZmlnIix7S2M6e2NvbGRDb25maWdTdG9yZTp7dng6MX0saG90Q29uZmlnU3RvcmU6e3Z4OjF9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcpe1coMSkmJihFUihaeShuLCJob3RDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJob3RUaW1lc3RhbXBJbmRleCIsInRpbWVzdGFtcCIpLEVSKFp5KG4sImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBhTzE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9W107dGhpcy5OPVtdO3ZhciBuPWcucnIoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIik7bj8odGhpcy5KPVsuLi5uXSx0aGlzLk49bik6KHRoaXMuTj1bXSxnLkdiKCJ5dC5nY2YuY29uZmlnLmhvdFVwZGF0ZUNhbGxiYWNrcyIsdGhpcy5OKSl9bUEoKXtmb3IobGV0IFcgb2YgdGhpcy5KKXt2YXIgbj10aGlzLk47bGV0IEQ9bi5pbmRleE9mKFcpO0Q+PTAmJm4uc3BsaWNlKEQsMSl9dGhpcy5KLmxlbmd0aD0wO3N1cGVyLm1BKCl9fTtnLlgzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WPSExO3RoaXMuaj10aGlzLlg9MDt0aGlzLks9bmV3IGFPMX1MWCgpe3JldHVybiAkTygpPz9nLkFyKCJSQVdfSE9UX0NPTkZJR19HUk9VUCIpfVcobil7dGhpcy5ob3RIYXNoRGF0YT1uO2cuR2IoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiLHRoaXMuaG90SGFzaERhdGF8fG51bGwpfX07dmFyIG5naD10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6bnVsbCxRZD1uZ2g/bj0+bmdoLmVuY29kZShuKTpuPT57bj1MMChuKTsKdmFyIFc9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKVdbRF09bltEXTtyZXR1cm4gV307dmFyIGhlPXtuZXh0OiJ3bl9zIixicm93c2U6ImJyX3MiLHNlYXJjaDoic3JfcyIscmVlbDoicl93cnMiLHBsYXllcjoicHNfcyJ9LFVITT17bmV4dDoid25fciIsYnJvd3NlOiJicl9yIixzZWFyY2g6InNyX3IiLHJlZWw6InJfd3JyIixwbGF5ZXI6InBzX3IifTtvNy5wcm90b3R5cGUuYlk9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtkMy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3BpY307dmFyIFdIUz1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKXx8bmV3IEJLO0JLLnByb3RvdHlwZS5zdWJzY3JpYmU9QksucHJvdG90eXBlLnN1YnNjcmliZTtCSy5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1CSy5wcm90b3R5cGUuaks7QksucHJvdG90eXBlLnB1Ymxpc2g9QksucHJvdG90eXBlLldKO0JLLnByb3RvdHlwZS5jbGVhcj1CSy5wcm90b3R5cGUuY2xlYXI7Zy5HYigieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixXSFMpO3ZhciBqOT1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Zy5HYigieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixqOSk7dmFyIEJ6PWcucnIoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtnLkdiKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLEJ6KTt2YXIgQ1A9Zy5ycigieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307CmcuR2IoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixDUCk7Zy5HYigieXRQdWJzdWIyUHVic3ViMlNraXBTdWJLZXkiLG51bGwpO3ZhciBNQj12MCgibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KSxSNz12MCgibWluX2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNTAwKSx3OWo9MDt2YXIgRHoxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuV3Y9dGhpcy5OPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuSj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9Owp0aGlzLkYyPSgpPT57fTsKdGhpcy5ub3c9RGF0ZS5ub3c7dGhpcy5OaD0hMTt0aGlzLnV4PW4udXg/PzEwMDt0aGlzLkExPW4uQTE/PzE7dGhpcy5HeT1uLkd5Pz8yNTkyRTY7dGhpcy5aND1uLlo0Pz8xMkU0O3RoaXMuSVA9bi5JUD8/NUUzO3RoaXMuWVc9bi5ZVz8/dm9pZCAwO3RoaXMuQ3I9ISFuLkNyO3RoaXMuS3I9bi5Lcj8/LjE7dGhpcy5IRj1uLkhGPz8xMDtuLmhhbmRsZUVycm9yJiYodGhpcy5oYW5kbGVFcnJvcj1uLmhhbmRsZUVycm9yKTtuLkYyJiYodGhpcy5GMj1uLkYyKTtuLk5oJiYodGhpcy5OaD1uLk5oKTtuLld2JiYodGhpcy5Xdj1uLld2KTt0aGlzLkVxPW4uRXE7dGhpcy5BJD1uLkEkO3RoaXMuZ0U9bi5nRTt0aGlzLnlHPW4ueUc7dGhpcy5MbT1uLkxtO3RoaXMudVo9bi51Wjt0aGlzLk5BPW4uTkE7Y3oodGhpcykmJighdGhpcy5FcXx8dGhpcy5FcSgibmV0d29ya2xlc3NfbG9nZ2luZyIpKSYmbm0odGhpcyl9d3JpdGVUaGVuU2VuZChuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPQp7dXJsOm4sb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH07dGhpcy5nRS5zZXQoRCx0aGlzLllXKS50aGVuKGI9PntELmlkPWI7dGhpcy55Ry5XRygpJiZENSh0aGlzLEQpfSkuY2F0Y2goYj0+e0Q1KHRoaXMsRCk7CmJNKHRoaXMsYil9KX1lbHNlIHRoaXMuTG0obixXKX1zZW5kVGhlbldyaXRlKG4sVz17fSxEKXtpZihjeih0aGlzKSYmdGhpcy5OKXtsZXQgYj17dXJsOm4sCm9wdGlvbnM6Vyx0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9O3RoaXMuRXEmJnRoaXMuRXEoIm53bF9za2lwX3JldHJ5IikmJihiLnNraXBSZXRyeT1EKTtpZih0aGlzLnlHLldHKCl8fHRoaXMuRXEmJnRoaXMuRXEoIm53bF9hZ2dyZXNzaXZlX3NlbmRfdGhlbl93cml0ZSIpJiYhYi5za2lwUmV0cnkpe2lmKCFiLnNraXBSZXRyeSl7bGV0IHY9Vy5vbkVycm9yP1cub25FcnJvcjooKT0+e307Clcub25FcnJvcj1hc3luYyhrLGgpPT57YXdhaXQgdGhpcy5nRS5zZXQoYix0aGlzLllXKS5jYXRjaCh4PT57Yk0odGhpcyx4KX0pOwp2KGssaCl9fXRoaXMuTG0obixXLGIuc2tpcFJldHJ5KX1lbHNlIHRoaXMuZ0Uuc2V0KGIsdGhpcy5ZVykuY2F0Y2godj0+e3RoaXMuTG0obixXLGIuc2tpcFJldHJ5KTsKYk0odGhpcyx2KX0pfWVsc2UgRD10aGlzLkVxJiZ0aGlzLkVxKCJud2xfc2tpcF9yZXRyeSIpJiZELHRoaXMuTG0obixXLEQpfXNlbmRBbmRXcml0ZShuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPXt1cmw6biwKb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH0sYj0hMSx2PVcub25TdWNjZXNzP1cub25TdWNjZXNzOigpPT57fTsKRC5vcHRpb25zLm9uU3VjY2Vzcz0oayxoKT0+e0QuaWQhPT12b2lkIDA/dGhpcy5nRS5UTShELmlkLHRoaXMuWVcpOmI9ITA7dGhpcy55Ry5sYyYmdGhpcy5FcSYmdGhpcy5FcSgidnNzX25ldHdvcmtfaGludCIpJiZ0aGlzLnlHLmxjKCEwKTt2KGssaCl9Owp0aGlzLkxtKEQudXJsLEQub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuZ0Uuc2V0KEQsdGhpcy5ZVykudGhlbihrPT57RC5pZD1rO2ImJnRoaXMuZ0UuVE0oRC5pZCx0aGlzLllXKX0pLmNhdGNoKGs9PntiTSh0aGlzLGspfSl9ZWxzZSB0aGlzLkxtKG4sVyx2b2lkIDAsITApfVcoKXtpZighY3oodGhpcykpdGhyb3cgRXJyb3IoIkluZGV4ZWREQiBpcyBub3Qgc3VwcG9ydGVkOiB0aHJvdHRsZVNlbmQiKTsKdGhpcy5KfHwodGhpcy5KPXRoaXMuQSQuTFMoYXN5bmMoKT0+e3ZhciBuPWF3YWl0IHRoaXMuZ0UuaTQoIk5FVyIsdGhpcy5ZVyk7bj8oYXdhaXQgRDUodGhpcyxuKSx0aGlzLkomJih0aGlzLko9MCx0aGlzLlcoKSkpOnRoaXMuWCgpfSx0aGlzLnV4KSl9WCgpe3RoaXMuQSQuc08odGhpcy5KKTsKdGhpcy5KPTB9fTt2YXIgdlU7dmFyIHk0PXthY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRJbjoyMyxhY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRPdXQ6MjQsZGVsYXllZEV2ZW50TWV0cmljQ2FwdHVyZWQ6MTEsbGF0ZW5jeUFjdGlvbkJhc2VsaW5lZDo2LGxhdGVuY3lBY3Rpb25JbmZvOjcsbGF0ZW5jeUFjdGlvblRpY2tlZDo1LG9mZmxpbmVUcmFuc2ZlclN0YXR1c0NoYW5nZWQ6MixvZmZsaW5lSW1hZ2VEb3dubG9hZDozMzUscGxheWJhY2tTdGFydFN0YXRlQ2hhbmdlZDo5LHN5c3RlbUhlYWx0aENhcHR1cmVkOjMsbWFuZ29PbmJvYXJkaW5nQ29tcGxldGVkOjEwLG1hbmdvUHVzaE5vdGlmaWNhdGlvblJlY2VpdmVkOjIzMCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uRXJyb3I6MTIxLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdW1tYXJ5OjEyMixtYW5nb1VuZm9ya0RiTWlncmF0aW9uUHJldW5mb3JrRGJWZXJzaW9uTnVtYmVyOjEzMyxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVNZXRhZGF0YToxMzQsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblBob25lU3RvcmFnZToxMzUsCm1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdGVwOjE0MixtYW5nb0FzeW5jQXBpTWlncmF0aW9uRXZlbnQ6MjIzLG1hbmdvRG93bmxvYWRWaWRlb1Jlc3VsdDoyMjQsbWFuZ29Ib21lcGFnZVZpZGVvQ291bnQ6Mjc5LG1hbmdvSG9tZVYzU3RhdGU6Mjk1LG1hbmdvSW1hZ2VDbGllbnRDYWNoZUhpdEV2ZW50OjI3MyxzZENhcmRTdGF0dXNDaGFuZ2VkOjk4LGZyYW1lc0Ryb3BwZWQ6MTIsdGh1bWJuYWlsSG92ZXJlZDoxMyxkZXZpY2VSZXRlbnRpb25JbmZvQ2FwdHVyZWQ6MTQsdGh1bWJuYWlsTG9hZGVkOjE1LGJhY2tUb0FwcEV2ZW50OjMxOCxzdHJlYW1pbmdTdGF0c0NhcHR1cmVkOjE3LG9mZmxpbmVWaWRlb1NoYXJlZDoxOSxhcHBDcmFzaGVkOjIwLHlvdVRoZXJlOjIxLG9mZmxpbmVTdGF0ZVNuYXBzaG90OjIyLG1keFNlc3Npb25TdGFydGVkOjI1LG1keFNlc3Npb25Db25uZWN0ZWQ6MjYsbWR4U2Vzc2lvbkRpc2Nvbm5lY3RlZDoyNyxiZWRyb2NrUmVzb3VyY2VDb25zdW1wdGlvblNuYXBzaG90OjI4LApuZXh0R2VuV2F0Y2hXYXRjaFN3aXBlZDoyOSxraWRzQWNjb3VudHNTbmFwc2hvdDozMCx6ZXJvU3RlcENoYW5uZWxDcmVhdGVkOjMxLHR2aHRtbDVTZWFyY2hDb21wbGV0ZWQ6MzIsb2ZmbGluZVNoYXJlUGFpcmluZzozNCxvZmZsaW5lU2hhcmVVbmxvY2s6MzUsbWR4Um91dGVEaXN0cmlidXRpb25TbmFwc2hvdDozNixiZWRyb2NrUmVwZXRpdGl2ZUFjdGlvblRpbWVkOjM3LHVucGx1Z2dlZERlZ3JhZGF0aW9uSW5mbzoyMjksdXBsb2FkTXA0SGVhZGVyTW92ZWQ6MzgsdXBsb2FkVmlkZW9UcmFuc2NvZGVkOjM5LHVwbG9hZFByb2Nlc3NvclN0YXJ0ZWQ6NDYsdXBsb2FkUHJvY2Vzc29yRW5kZWQ6NDcsdXBsb2FkUHJvY2Vzc29yUmVhZHk6OTQsdXBsb2FkUHJvY2Vzc29yUmVxdWlyZW1lbnRQZW5kaW5nOjk1LHVwbG9hZFByb2Nlc3NvckludGVycnVwdGVkOjk2LHVwbG9hZEZyb250ZW5kRXZlbnQ6MjQxLGFzc2V0UGFja0Rvd25sb2FkU3RhcnRlZDo0MSxhc3NldFBhY2tEb3dubG9hZGVkOjQyLAphc3NldFBhY2tBcHBsaWVkOjQzLGFzc2V0UGFja0RlbGV0ZWQ6NDQsYXBwSW5zdGFsbEF0dHJpYnV0aW9uRXZlbnQ6NDU5LHBsYXliYWNrU2Vzc2lvblN0b3BwZWQ6NDUsYWRCbG9ja2VyTWVzc2FnaW5nU2hvd246NDgsZGlzdHJpYnV0aW9uQ2hhbm5lbENhcHR1cmVkOjQ5LGRhdGFQbGFuQ3BpZFJlcXVlc3RlZDo1MSxkZXRhaWxlZE5ldHdvcmtUeXBlQ2FwdHVyZWQ6NTIsc2VuZFN0YXRlVXBkYXRlZDo1MyxyZWNlaXZlU3RhdGVVcGRhdGVkOjU0LHNlbmREZWJ1Z1N0YXRlVXBkYXRlZDo1NSxyZWNlaXZlRGVidWdTdGF0ZVVwZGF0ZWQ6NTYsa2lkc0Vycm9yZWQ6NTcsbWR4TXNuU2Vzc2lvblN0YXRzRmluaXNoZWQ6NTgsYXBwU2V0dGluZ3NDYXB0dXJlZDo1OSxtZHhXZWJTb2NrZXRTZXJ2ZXJIdHRwRXJyb3I6NjAsbWR4V2ViU29ja2V0U2VydmVyOjYxLHN0YXJ0dXBDcmFzaGVzRGV0ZWN0ZWQ6NjIsY29sZFN0YXJ0SW5mbzo0MzUsb2ZmbGluZVBsYXliYWNrU3RhcnRlZDo2MyxsaXZlQ2hhdE1lc3NhZ2VTZW50OjIyNSwKbGl2ZUNoYXRVc2VyUHJlc2VudDo0MzQsbGl2ZUNoYXRCZWluZ01vZGVyYXRlZDo0NTcsbGl2ZUNoYXRHaWZ0QnV0dG9uSW1wcmVzc2VkOjU1OCxsaXZlQ3JlYXRpb25DYW1lcmFVcGRhdGVkOjY0LGxpdmVDcmVhdGlvbkVuY29kaW5nQ2FwdHVyZWQ6NjUsbGl2ZUNyZWF0aW9uRXJyb3I6NjYsbGl2ZUNyZWF0aW9uSGVhbHRoVXBkYXRlZDo2NyxsaXZlQ3JlYXRpb25WaWRlb0VmZmVjdHNDYXB0dXJlZDo2OCxsaXZlQ3JlYXRpb25TdGFnZU9jY3VyZWQ6NzUsb2ZmbGluZVN5c3RlbUZhaWx1cmU6NTQ2LGxpdmVDcmVhdGlvbkJyb2FkY2FzdFNjaGVkdWxlZDoxMjMsbGl2ZUNyZWF0aW9uQXJjaGl2ZVJlcGxhY2VtZW50OjE0OSxsaXZlQ3JlYXRpb25Db3N0cmVhbWluZ0Nvbm5lY3Rpb246NDIxLGxpdmVDcmVhdGlvblBsYXlhYmxlc01ldHJpY3M6NTMzLGxpdmVDcmVhdGlvblN0cmVhbVdlYnJ0Y1N0YXRzOjI4OCxsaXZlQ3JlYXRpb25XZWJydGNFcnJvcjo1MjYsbWR4U2Vzc2lvblJlY292ZXJ5U3RhcnRlZDo2OSwKbWR4U2Vzc2lvblJlY292ZXJ5Q29tcGxldGVkOjcwLG1keFNlc3Npb25SZWNvdmVyeVN0b3BwZWQ6NzEsdmlzdWFsRWxlbWVudFNob3duOjcyLHZpc3VhbEVsZW1lbnRIaWRkZW46NzMsdmlzdWFsRWxlbWVudEdlc3R1cmVkOjc4LHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQ6MjA4LHNjcmVlbkNyZWF0ZWQ6MTU2LHBsYXliYWNrQXNzb2NpYXRlZDoyMDIsdmlzdWFsRWxlbWVudEF0dGFjaGVkOjIxNSxwbGF5YmFja0NvbnRleHRFdmVudDoyMTQsY2xvdWRDYXN0aW5nUGxheWJhY2tTdGFydGVkOjc0LHdlYlBsYXllckFwaUNhbGxlZDo3Nix0dmh0bWw1QWNjb3VudERpYWxvZ09wZW5lZDo3OSxmb3JlZ3JvdW5kSGVhcnRiZWF0OjgwLGZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkOjExMSxraWRzT2ZmbGluZVNuYXBzaG90OjgxLG1keEVuY3J5cHRpb25TZXNzaW9uU3RhdHNGaW5pc2hlZDo4MixwbGF5ZXJSZXF1ZXN0Q29tcGxldGVkOjgzLGxpdGVTY2hlZHVsZXJTdGF0aXN0aWNzOjg0LAptZHhTaWduSW46ODUsc3BhY2VjYXN0TWV0YWRhdGFMb29rdXBSZXF1ZXN0ZWQ6ODYsc3BhY2VjYXN0QmF0Y2hMb29rdXBSZXF1ZXN0ZWQ6ODcsc3BhY2VjYXN0U3VtbWFyeVJlcXVlc3RlZDo4OCxzcGFjZWNhc3RQbGF5YmFjazo4OSxzcGFjZWNhc3REaXNjb3Zlcnk6OTAsdHZodG1sNUxhdW5jaFVybENvbXBvbmVudENoYW5nZWQ6OTEsbWR4QmFja2dyb3VuZFBsYXliYWNrUmVxdWVzdENvbXBsZXRlZDo5MixtZHhCcm9rZW5BZGRpdGlvbmFsRGF0YURldmljZURldGVjdGVkOjkzLHR2aHRtbDVMb2NhbFN0b3JhZ2U6OTcsdHZodG1sNURldmljZVN0b3JhZ2VTdGF0dXM6MTQ3LGF1dG9DYXB0aW9uc0F2YWlsYWJsZTo5OSxwbGF5YmFja1NjcnViYmluZ0V2ZW50OjMzOSxmbGV4eVN0YXRlOjEwMCxpbnRlcmZhY2VPcmllbnRhdGlvbkNhcHR1cmVkOjEwMSxtYWluQXBwQnJvd3NlRnJhZ21lbnRDYWNoZToxMDIsb2ZmbGluZUNhY2hlVmVyaWZpY2F0aW9uRmFpbHVyZToxMDMsb2ZmbGluZVBsYXliYWNrRXhjZXB0aW9uRGlnZXN0OjIxNywKdnJDb3ByZXNlbmNlU3RhdHM6MTA0LHZyQ29wcmVzZW5jZVN5bmNTdGF0czoxMzAsdnJDb3ByZXNlbmNlQ29tbXNTdGF0czoxMzcsdnJDb3ByZXNlbmNlUGFydHlTdGF0czoxNTMsdnJDb3ByZXNlbmNlRW1vamlTdGF0czoyMTMsdnJDb3ByZXNlbmNlRXZlbnQ6MTQxLHZyQ29wcmVzZW5jZUZsb3dUcmFuc2l0RXZlbnQ6MTYwLHZyQ293YXRjaFBhcnR5RXZlbnQ6NDkyLHZyQ293YXRjaFVzZXJTdGFydE9ySm9pbkV2ZW50OjUwNCx2clBsYXliYWNrRXZlbnQ6MzQ1LGtpZHNBZ2VHYXRlVHJhY2tpbmc6MTA1LG9mZmxpbmVEZWxheUFsbG93ZWRUcmFja2luZzoxMDYsbWFpbkFwcEF1dG9PZmZsaW5lU3RhdGU6MTA3LHZpZGVvQXNUaHVtYm5haWxEb3dubG9hZDoxMDgsdmlkZW9Bc1RodW1ibmFpbFBsYXliYWNrOjEwOSxsaXRlU2hvd01vcmU6MTEwLHJlbmRlcmluZ0Vycm9yOjExOCxraWRzUHJvZmlsZVBpbkdhdGVUcmFja2luZzoxMTksYWJyVHJhamVjdG9yeToxMjQsc2Nyb2xsRXZlbnQ6MTI1LApzdHJlYW16SW5jcmVtZW50ZWQ6MTI2LGtpZHNQcm9maWxlU3dpdGNoZXJUcmFja2luZzoxMjcsa2lkc1Byb2ZpbGVDcmVhdGlvblRyYWNraW5nOjEyOSxidXlGbG93U3RhcnRlZDoxMzYsaW50ZWdyYXRpb25BdHRyaWJ1dGlvbkV2ZW50OjU1NixtYnNDb25uZWN0aW9uSW5pdGlhdGVkOjEzOCxtYnNQbGF5YmFja0luaXRpYXRlZDoxMzksbWJzTG9hZENoaWxkcmVuOjE0MCxsaXRlUHJvZmlsZUZldGNoZXI6MTQ0LG1keFJlbW90ZVRyYW5zYWN0aW9uOjE0NixyZWVsUGxheWJhY2tFcnJvcjoxNDgscmVhY2hhYmlsaXR5RGV0ZWN0aW9uRXZlbnQ6MTUwLG1vYmlsZVBsYXliYWNrRXZlbnQ6MTUxLGNvdXJ0c2lkZVBsYXllclN0YXRlQ2hhbmdlZDoxNTIsbXVzaWNQZXJzaXN0ZW50Q2FjaGVDaGVja2VkOjE1NCxtdXNpY1BlcnNpc3RlbnRDYWNoZUNsZWFyZWQ6MTU1LHBsYXliYWNrSW50ZXJydXB0ZWQ6MTU3LHBsYXliYWNrSW50ZXJydXB0aW9uUmVzb2x2ZWQ6MTU4LGZpeEZvcEZsb3c6MTU5LAphbnJEZXRlY3Rpb246MTYxLGJhY2tzdGFnZVBvc3RDcmVhdGlvbkZsb3dFbmRlZDoxNjIsY2xpZW50RXJyb3I6MTYzLGdhbWluZ0FjY291bnRMaW5rU3RhdHVzQ2hhbmdlZDoxNjQsbGl0ZUhvdXNld2FybWluZzoxNjUsYnV5Rmxvd0V2ZW50OjE2NyxraWRzUGFyZW50YWxHYXRlVHJhY2tpbmc6MTY4LGtpZHNTaWduZWRPdXRTZXR0aW5nc1N0YXR1czo0Mzcsa2lkc1NpZ25lZE91dFBhdXNlSGlzdG9yeUZpeFN0YXR1czo0MzgsdHZodG1sNVdhdGNoZG9nVmlvbGF0aW9uOjQ0NCx5cGNVcGdyYWRlRmxvdzoxNjkseW9uZ2xlU3R1ZHk6MTcwLHlwY1VwZGF0ZUZsb3dTdGFydGVkOjE3MSx5cGNVcGRhdGVGbG93Q2FuY2VsbGVkOjE3Mix5cGNVcGRhdGVGbG93U3VjY2VlZGVkOjE3Myx5cGNVcGRhdGVGbG93RmFpbGVkOjE3NCxsaXRlR3Jvd3Roa2l0UHJvbW86MTc1LHBheW1lbnRGbG93U3RhcnRlZDozNDEsdHJhbnNhY3Rpb25GbG93U2hvd1BheW1lbnREaWFsb2c6NDA1LHRyYW5zYWN0aW9uRmxvd1N0YXJ0ZWQ6MTc2LAp0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdGFydGVkOjIyMix0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTaWduZWRPdXRTdGFydGVkOjM4Myx0cmFuc2FjdGlvbkZsb3dDYW5jZWxsZWQ6MTc3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRDYWxsQmFja1JlY2VpdmVkOjM4Nyx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VibWl0dGVkOjQ2MCx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VjY2VlZGVkOjMyOSx0cmFuc2FjdGlvbkZsb3dTdWNjZWVkZWQ6MTc4LHRyYW5zYWN0aW9uRmxvd0ZhaWxlZDoxNzksdHJhbnNhY3Rpb25GbG93UGxheUJpbGxpbmdDb25uZWN0aW9uU3RhcnRFdmVudDo0MjgsdHJhbnNhY3Rpb25GbG93U2Vjb25kYXJ5RGV2aWNlU3VjY2Vzczo0NTgsdHJhbnNhY3Rpb25GbG93RXJyb3JFdmVudDo0MTEsbGl0ZVZpZGVvUXVhbGl0eUNoYW5nZWQ6MTgwLHdhdGNoQnJlYWtFbmFibGVtZW50U2V0dGluZ0V2ZW50OjE4MSx3YXRjaEJyZWFrRnJlcXVlbmN5U2V0dGluZ0V2ZW50OjE4MiwKdmlkZW9FZmZlY3RzQ2FtZXJhUGVyZm9ybWFuY2VNZXRyaWNzOjE4MyxhZE5vdGlmeToxODQsc3RhcnR1cFRlbGVtZXRyeToxODUscGxheWJhY2tPZmZsaW5lRmFsbGJhY2tVc2VkOjE4NixvdXRPZk1lbW9yeToxODcseXBjUGF1c2VGbG93U3RhcnRlZDoxODgseXBjUGF1c2VGbG93Q2FuY2VsbGVkOjE4OSx5cGNQYXVzZUZsb3dTdWNjZWVkZWQ6MTkwLHlwY1BhdXNlRmxvd0ZhaWxlZDoxOTEsdXBsb2FkRmlsZVNlbGVjdGVkOjE5Mix5cGNSZXN1bWVGbG93U3RhcnRlZDoxOTMseXBjUmVzdW1lRmxvd0NhbmNlbGxlZDoxOTQseXBjUmVzdW1lRmxvd1N1Y2NlZWRlZDoxOTUseXBjUmVzdW1lRmxvd0ZhaWxlZDoxOTYsYWRzQ2xpZW50U3RhdGVDaGFuZ2U6MTk3LHlwY0NhbmNlbEZsb3dTdGFydGVkOjE5OCx5cGNDYW5jZWxGbG93Q2FuY2VsbGVkOjE5OSx5cGNDYW5jZWxGbG93U3VjY2VlZGVkOjIwMCx5cGNDYW5jZWxGbG93RmFpbGVkOjIwMSx5cGNDYW5jZWxGbG93R29Ub1BheW1lbnRQcm9jZXNzb3I6NDAyLAp5cGNEZWFjdGl2YXRlRmxvd1N0YXJ0ZWQ6MzIwLHlwY1JlZGVlbUZsb3dTdGFydGVkOjIwMyx5cGNSZWRlZW1GbG93Q2FuY2VsbGVkOjIwNCx5cGNSZWRlZW1GbG93U3VjY2VlZGVkOjIwNSx5cGNSZWRlZW1GbG93RmFpbGVkOjIwNix5cGNGYW1pbHlDcmVhdGVGbG93U3RhcnRlZDoyNTgseXBjRmFtaWx5Q3JlYXRlRmxvd0NhbmNlbGxlZDoyNTkseXBjRmFtaWx5Q3JlYXRlRmxvd1N1Y2NlZWRlZDoyNjAseXBjRmFtaWx5Q3JlYXRlRmxvd0ZhaWxlZDoyNjEseXBjRmFtaWx5TWFuYWdlRmxvd1N0YXJ0ZWQ6MjYyLHlwY0ZhbWlseU1hbmFnZUZsb3dDYW5jZWxsZWQ6MjYzLHlwY0ZhbWlseU1hbmFnZUZsb3dTdWNjZWVkZWQ6MjY0LHlwY0ZhbWlseU1hbmFnZUZsb3dGYWlsZWQ6MjY1LHJlc3RvcmVDb250ZXh0RXZlbnQ6MjA3LGVtYmVkc0FkRXZlbnQ6MzI3LGF1dG9wbGF5VHJpZ2dlcmVkOjIwOSxjbGllbnREYXRhRXJyb3JFdmVudDoyMTAsZXhwZXJpbWVudGFsVnNzVmFsaWRhdGlvbjoyMTEsCnR2aHRtbDVUcmlnZ2VyZWRFdmVudDoyMTIsdHZodG1sNUZyYW1ld29ya3NGaWVsZFRyaWFsUmVzdWx0OjIxNix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxTdGFydDoyMjAsbXVzaWNPZmZsaW5lUHJlZmVyZW5jZXM6MjE4LHdhdGNoVGltZVNlZ21lbnQ6MjE5LGFwcFdpZHRoTGF5b3V0RXJyb3I6MjIxLGFjY291bnRSZWdpc3RyeUNoYW5nZToyMjYsdXNlck1lbnRpb25BdXRvQ29tcGxldGVCb3hFdmVudDoyMjcsZG93bmxvYWRSZWNvbW1lbmRhdGlvbkVuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MjI4LG11c2ljUGxheWJhY2tDb250ZW50TW9kZUNoYW5nZUV2ZW50OjIzMSxvZmZsaW5lRGJPcGVuQ29tcGxldGVkOjIzMixraWRzRmxvd0V2ZW50OjIzMyxraWRzRmxvd0NvcnB1c1NlbGVjdGVkRXZlbnQ6MjM0LHZpZGVvRWZmZWN0c0V2ZW50OjIzNSx1bnBsdWdnZWRPcHNFb2dBbmFseXRpY3NFdmVudDoyMzYscGxheWJhY2tBdWRpb1JvdXRlRXZlbnQ6MjM3LGludGVyYWN0aW9uTG9nZ2luZ0RlYnVnTW9kZUVycm9yOjIzOCwKb2ZmbGluZVl0YlJlZnJlc2hlZDoyMzksa2lkc0Zsb3dFcnJvcjoyNDAsbXVzaWNBdXRvcGxheU9uTGF1bmNoQXR0ZW1wdGVkOjI0MixkZXZpY2VDb250ZXh0QWN0aXZpdHlFdmVudDoyNDMsZGV2aWNlQ29udGV4dEV2ZW50OjI0NCx0ZW1wbGF0ZVJlc29sdXRpb25FeGNlcHRpb246MjQ1LG11c2ljU2lkZWxvYWRlZFBsYXlsaXN0U2VydmljZUNhbGxlZDoyNDYsZW1iZWRzU3RvcmFnZUFjY2Vzc05vdENoZWNrZWQ6MjQ3LGVtYmVkc0hhc1N0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjQ4LGVtYmVkc0l0cFBsYXllZE9uUmVsb2FkOjI0OSxlbWJlZHNSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTAsZW1iZWRzU2hvdWxkUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjUxLGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzU3RhdGU6MjU2LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzRmFpbGVkU3RhdGU6MjU3LGVtYmVkc0l0cFdhdGNoTGF0ZXJSZXN1bHQ6MjY2LHNlYXJjaFN1Z2dlc3REZWNvZGluZ1BheWxvYWRGYWlsdXJlOjI1MiwKc2lyaVNob3J0Y3V0QWN0aXZhdGVkOjI1Myx0dmh0bWw1S2V5Ym9hcmRQZXJmb3JtYW5jZToyNTQsbGF0ZW5jeUFjdGlvblNwYW46MjU1LGVsZW1lbnRzTG9nOjI2Nyx5dGJGaWxlT3BlbmVkOjI2OCx0ZmxpdGVNb2RlbEVycm9yOjI2OSxhcGlUZXN0OjI3MCx5b25nbGVVc2JTZXR1cDoyNzEsdG91U3RyaWtlSW50ZXJzdGl0aWFsRXZlbnQ6MjcyLGxpdGVTdHJlYW1Ub1NhdmU6Mjc0LGFwcEJ1bmRsZUNsaWVudEV2ZW50OjI3NSx5dGJGaWxlQ3JlYXRpb25GYWlsZWQ6Mjc2LGFkTm90aWZ5RmFpbHVyZToyNzgseXRiVHJhbnNmZXJGYWlsZWQ6MjgwLGJsb2NraW5nUmVxdWVzdEZhaWxlZDoyODEsbGl0ZUFjY291bnRTZWxlY3RvcjoyODIsbGl0ZUFjY291bnRVaUNhbGxiYWNrczoyODMsZHVtbXlQYXlsb2FkOjI4NCxicm93c2VSZXNwb25zZVZhbGlkYXRpb25FdmVudDoyODUsZW50aXRpZXNFcnJvcjoyODYsbXVzaWNJb3NCYWNrZ3JvdW5kRmV0Y2g6Mjg3LG1keE5vdGlmaWNhdGlvbkV2ZW50OjI4OSwKbGF5ZXJzVmFsaWRhdGlvbkVycm9yOjI5MCxtdXNpY1B3YUluc3RhbGxlZDoyOTEsbGl0ZUFjY291bnRDbGVhbnVwOjI5MixodG1sNVBsYXllckhlYWx0aEV2ZW50OjI5Myx3YXRjaFJlc3RvcmVBdHRlbXB0OjI5NCxsaXRlQWNjb3VudFNpZ25JbjoyOTYsbm90YWlyZUV2ZW50OjI5OCxraWRzVm9pY2VTZWFyY2hFdmVudDoyOTksYWROb3RpZnlGaWxsZWQ6MzAwLGRlbGF5ZWRFdmVudERyb3BwZWQ6MzAxLGFuYWx5dGljc1NlYXJjaEV2ZW50OjMwMixzeXN0ZW1EYXJrVGhlbWVPcHRPdXRFdmVudDozMDMsZmxvd0V2ZW50OjMwNCxuZXR3b3JrQ29ubmVjdGl2aXR5QmFzZWxpbmVFdmVudDozMDUseXRiRmlsZUltcG9ydGVkOjMwNixkb3dubG9hZFN0cmVhbVVybEV4cGlyZWQ6MzA3LGRpcmVjdFNpZ25JbkV2ZW50OjMwOCxseXJpY0ltcHJlc3Npb25FdmVudDozMDksYWNjZXNzaWJpbGl0eVN0YXRlRXZlbnQ6MzEwLHRva2VuUmVmcmVzaEV2ZW50OjMxMSxnZW5lcmljQXR0ZXN0YXRpb25FeGVjdXRpb246MzEyLAp0dmh0bWw1VmlkZW9TZWVrOjMxMyx1bnBsdWdnZWRBdXRvUGF1c2U6MzE0LHNjcnViYmluZ0V2ZW50OjMxNSxiZWR0aW1lUmVtaW5kZXJFdmVudDozMTcsdHZodG1sNVVuZXhwZWN0ZWRSZXN0YXJ0OjMxOSx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXRzOjUzNSx0dmh0bWw1U3RhYmlsaXR5VHJhY2VFdmVudDo0NzgsdHZodG1sNU9wZXJhdGlvbkhlYWx0aDo0NjcsdHZodG1sNVdhdGNoS2V5RXZlbnQ6MzIxLHZvaWNlTGFuZ3VhZ2VDaGFuZ2VkOjMyMix0dmh0bWw1TGl2ZUNoYXRTdGF0dXM6MzIzLHBhcmVudFRvb2xzQ29ycHVzU2VsZWN0ZWRFdmVudDozMjQsb2ZmZXJBZHNFbnJvbGxtZW50SW5pdGlhdGVkOjMyNSxuZXR3b3JrUXVhbGl0eUludGVydmFsRXZlbnQ6MzI2LGRldmljZVN0YXJ0dXBNZXRyaWNzOjMyOCxoZWFydGJlYXRBY3Rpb25QbGF5ZXJUcmFuc2l0aW9uZWQ6MzMwLHR2aHRtbDVMaWZlY3ljbGU6MzMxLGhlYXJ0YmVhdEFjdGlvblBsYXllckhhbHRlZDozMzIsYWRhcHRpdmVJbmxpbmVNdXRlZFNldHRpbmdFdmVudDozMzMsCm1haW5BcHBMaWJyYXJ5TG9hZGluZ1N0YXRlOjMzNCx0aGlyZFBhcnR5TG9nTW9uaXRvcmluZ0V2ZW50OjMzNixhcHBTaGVsbEFzc2V0TG9hZFJlcG9ydDozMzcsdHZodG1sNUFuZHJvaWRBdHRlc3RhdGlvbjozMzgsdHZodG1sNVN0YXJ0dXBTb3VuZEV2ZW50OjM0MCxpb3NCYWNrZ3JvdW5kUmVmcmVzaFRhc2s6MzQyLGlvc0JhY2tncm91bmRQcm9jZXNzaW5nVGFzazozNDMsc2xpRXZlbnRCYXRjaDozNDQscG9zdEltcHJlc3Npb25FdmVudDozNDYsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RFeHBvcnQ6MzQ3LGlkYlVuZXhwZWN0ZWRseUNsb3NlZDozNDgsdm9pY2VTZWFyY2hFdmVudDozNDksbWR4U2Vzc2lvbkNhc3RFdmVudDozNTAsaWRiUXVvdGFFeGNlZWRlZDozNTEsaWRiVHJhbnNhY3Rpb25FbmRlZDozNTIsaWRiVHJhbnNhY3Rpb25BYm9ydGVkOjM1Myx0dmh0bWw1S2V5Ym9hcmRMb2dnaW5nOjM1NCxpZGJJc1N1cHBvcnRlZENvbXBsZXRlZDozNTUsY3JlYXRvclN0dWRpb01vYmlsZUV2ZW50OjM1NiwKaWRiRGF0YUNvcnJ1cHRlZDozNTcscGFyZW50VG9vbHNBcHBDaG9zZW5FdmVudDozNTgsd2ViVmlld0JvdHRvbVNoZWV0UmVzaXplZDozNTksYWN0aXZlU3RhdGVDb250cm9sbGVyU2Nyb2xsUGVyZm9ybWFuY2VTdW1tYXJ5OjM2MCxuYXZpZ2F0b3JWYWxpZGF0aW9uOjM2MSxtZHhTZXNzaW9uSGVhcnRiZWF0OjM2MixjbGllbnRIaW50c1BvbHlmaWxsRGlhZ25vc3RpY3M6MzYzLGNsaWVudEhpbnRzUG9seWZpbGxFdmVudDozNjQscHJvb2ZPZk9yaWdpblRva2VuRXJyb3I6MzY1LGtpZHNBZGRlZEFjY291bnRTdW1tYXJ5OjM2NixtdXNpY1dlYXJhYmxlRGV2aWNlOjM2Nyx5cGNSZWZ1bmRGbG93RXZlbnQ6MzY4LHR2aHRtbDVQbGF5YmFja01lYXN1cmVtZW50RXZlbnQ6MzY5LHR2aHRtbDVXYXRlcm1hcmtNZWFzdXJlbWVudEV2ZW50OjM3MCxjbGllbnRFeHBHY2ZQcm9wYWdhdGlvbkV2ZW50OjM3MSxtYWluQXBwUmVmZXJyZXJJbnRlbnQ6MzcyLGxlYWRlckxvY2tFbmRlZDozNzMsbGVhZGVyTG9ja0FjcXVpcmVkOjM3NCwKZ29vZ2xlSGF0c0V2ZW50OjM3NSxwZXJzaXN0ZW50TGVuc0xhdW5jaEV2ZW50OjM3NixwYXJlbnRUb29sc0NoaWxkV2VsY29tZUNob3NlbkV2ZW50OjM3OCxicm93c2VUaHVtYm5haWxQcmVsb2FkRXZlbnQ6Mzc5LGZpbmFsUGF5bG9hZDozODAsbWR4RGlhbEFkZGl0aW9uYWxEYXRhVXBkYXRlRXZlbnQ6MzgxLHdlYk9yY2hlc3RyYXRpb25UYXNrTGlmZWN5Y2xlUmVjb3JkOjM4MixzdGFydHVwU2lnbmFsRXZlbnQ6Mzg0LGFjY291bnRFcnJvcjozODUsZ21zRGV2aWNlQ2hlY2tFdmVudDozODYsYWNjb3VudFNlbGVjdG9yRXZlbnQ6Mzg4LGFjY291bnRVaUNhbGxiYWNrczozODksbWR4RGlhbEFkZGl0aW9uYWxEYXRhUHJvYmVFdmVudDozOTAsZG93bmxvYWRzU2VhcmNoSWNpbmdBcGlTdGF0czozOTEsZG93bmxvYWRzU2VhcmNoSW5kZXhVcGRhdGVkRXZlbnQ6Mzk3LGRvd25sb2Fkc1NlYXJjaEluZGV4U25hcHNob3Q6Mzk4LGRhdGFQdXNoQ2xpZW50RXZlbnQ6MzkyLGtpZHNDYXRlZ29yeVNlbGVjdGVkRXZlbnQ6MzkzLAptZHhEZXZpY2VNYW5hZ2VtZW50U25hcHNob3RFdmVudDozOTQscHJlZmV0Y2hSZXF1ZXN0ZWQ6Mzk1LHByZWZldGNoYWJsZUNvbW1hbmRFeGVjdXRlZDozOTYsZ2VsRGVidWdnaW5nRXZlbnQ6Mzk5LHdlYkxpbmtUdHNQbGF5RW5kOjQwMCxjbGlwVmlld0ludmFsaWQ6NDAxLHBlcnNpc3RlbnRTdG9yYWdlU3RhdGVDaGVja2VkOjQwMyxjYWNoZVdpcGVvdXRFdmVudDo0MDQscGxheWVyRXZlbnQ6NDEwLHNmdkVmZmVjdFBpcGVsaW5lU3RhcnRlZEV2ZW50OjQxMixzZnZFZmZlY3RQaXBlbGluZVBhdXNlZEV2ZW50OjQyOSxzZnZFZmZlY3RQaXBlbGluZUVuZGVkRXZlbnQ6NDEzLHNmdkVmZmVjdENob3NlbkV2ZW50OjQxNCxzZnZFZmZlY3RMb2FkZWRFdmVudDo0MTUsc2Z2RWZmZWN0VXNlckludGVyYWN0aW9uRXZlbnQ6NDY1LHNmdkVmZmVjdEZpcnN0RnJhbWVQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE2LHNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE3LApzZnZFZmZlY3RBZ2dyZWdhdGVkRnJhbWVzRHJvcHBlZEV2ZW50OjQxOCxzZnZFZmZlY3RQaXBlbGluZUVycm9yRXZlbnQ6NDMwLHNmdkVmZmVjdEdyYXBoRnJvemVuRXZlbnQ6NDE5LHNmdkVmZmVjdEdsVGhyZWFkQmxvY2tlZEV2ZW50OjQyMCxtZGVRb3NFdmVudDo1MTAsbWRlVmlkZW9DaGFuZ2VkRXZlbnQ6NDQyLG1kZVBsYXllclBlcmZvcm1hbmNlTWV0cmljczo0NzIsbWRlRXhwb3J0ZXJFdmVudDo0OTcsZ2VuZXJpY0NsaWVudEV4cGVyaW1lbnRFdmVudDo0MjMsaG9tZVByZWxvYWRUYXNrU2NoZWR1bGVkOjQyNCxob21lUHJlbG9hZFRhc2tFeGVjdXRlZDo0MjUsaG9tZVByZWxvYWRDYWNoZUhpdDo0MjYscG9seW1lclByb3BlcnR5Q2hhbmdlZEluT2JzZXJ2ZXI6NDI3LGFwcGxpY2F0aW9uU3RhcnRlZDo0MzEsbmV0d29ya0Nyb25ldFJ0dEJhdGNoOjQzMixuZXR3b3JrQ3JvbmV0UnR0U3VtbWFyeTo0MzMscmVwZWF0Q2hhcHRlckxvb3BFdmVudDo0MzYsc2Vla0NhbmNlbGxhdGlvbkV2ZW50OjQ2MiwKbG9ja01vZGVUaW1lb3V0RXZlbnQ6NDgzLGV4dGVybmFsVmlkZW9TaGFyZVRvWW91dHViZUF0dGVtcHQ6NTAxLHBhcmVudENvZGVFdmVudDo1MDIsb2ZmbGluZVRyYW5zZmVyU3RhcnRlZDo0LG11c2ljT2ZmbGluZU1peHRhcGVQcmVmZXJlbmNlc0NoYW5nZWQ6MTYsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkF0dGVtcHQ6NDAsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkVycm9yOjc3LGR0d3NQbGF5YmFja1N0YXJ0ZWQ6MTEyLGR0d3NUaWxlRmV0Y2hTdGFydGVkOjExMyxkdHdzVGlsZUZldGNoQ29tcGxldGVkOjExNCxkdHdzVGlsZUZldGNoU3RhdHVzQ2hhbmdlZDoxNDUsZHR3c0tleWZyYW1lRGVjb2RlckJ1ZmZlclNlbnQ6MTE1LGR0d3NUaWxlVW5kZXJmbG93ZWRPbk5vbmtleWZyYW1lOjExNixkdHdzQmFja2ZpbGxGZXRjaFN0YXR1c0NoYW5nZWQ6MTQzLGR0d3NCYWNrZmlsbFVuZGVyZmxvd2VkOjExNyxkdHdzQWRhcHRpdmVMZXZlbENoYW5nZWQ6MTI4LApibG9ja2luZ1Zpc2l0b3JJZFRpbWVvdXQ6Mjc3LGxpdGVTb2NpYWw6MTgsbW9iaWxlSnNJbnZvY2F0aW9uOjI5NyxiaXNjb3R0aUJhc2VkRGV0ZWN0aW9uOjQzOSxjb1dhdGNoU3RhdGVDaGFuZ2U6NDQwLGVtYmVkc1ZpZGVvRGF0YURpZENoYW5nZTo0NDEsc2hvcnRzRmlyc3Q6NDQzLGNydWlzZUNvbnRyb2xFdmVudDo0NDUscW9lQ2xpZW50TG9nZ2luZ0NvbnRleHQ6NDQ2LGF0dlJlY29tbWVuZGF0aW9uSm9iRXhlY3V0ZWQ6NDQ3LHR2aHRtbDVVc2VyRmVlZGJhY2s6NDQ4LHByb2R1Y2VyUHJvamVjdENyZWF0ZWQ6NDQ5LHByb2R1Y2VyUHJvamVjdE9wZW5lZDo0NTAscHJvZHVjZXJQcm9qZWN0RGVsZXRlZDo0NTEscHJvZHVjZXJQcm9qZWN0RWxlbWVudEFkZGVkOjQ1Myxwcm9kdWNlclByb2plY3RFbGVtZW50UmVtb3ZlZDo0NTQscHJvZHVjZXJBcHBTdGF0ZUNoYW5nZTo1MDkscHJvZHVjZXJQcm9qZWN0RGlza0luc3VmZmljaWVudEV4cG9ydEZhaWx1cmU6NTE2LHByb2R1Y2VyTWVkaWFTZXJ2aWNlc1Jlc2V0RGV0YWlsczo1MjIsCnR2aHRtbDVTaG93Q2xvY2tFdmVudDo0NTUsZGV2aWNlQ2FwYWJpbGl0eUNoZWNrTWV0cmljczo0NTYseW91dHViZUNsZWFyY3V0RXZlbnQ6NDYxLG9mZmxpbmVCcm93c2VGYWxsYmFja0V2ZW50OjQ2MyxnZXRDdHZUb2tlbkV2ZW50OjQ2NCxzdGFydHVwRHJvcHBlZEZyYW1lc1N1bW1hcnk6NDY2LHNjcmVlbnNob3RFdmVudDo0NjgsbWluaUFwcFBsYXlFdmVudDo0NjksZWxlbWVudHNEZWJ1Z0NvdW50ZXJzOjQ3MCxmb250TG9hZEV2ZW50OjQ3MSx3ZWJLaWxsc3dpdGNoUmVjZWl2ZWQ6NDczLHdlYktpbGxzd2l0Y2hFeGVjdXRlZDo0NzQsY2FtZXJhT3BlbkV2ZW50OjQ3NSxtYW51YWxTbW9vdGhuZXNzTWVhc3VyZW1lbnQ6NDc2LHR2aHRtbDVBcHBRdWFsaXR5RXZlbnQ6NDc3LHBvbHltZXJQcm9wZXJ0eUFjY2Vzc0V2ZW50OjQ3OSxtaW5pQXBwU2RrVXNhZ2U6NDgwLGNvYmFsdFRlbGVtZXRyeUV2ZW50OjQ4MSxjcm9zc0RldmljZVBsYXliYWNrOjQ4MixjaGFubmVsQ3JlYXRlZFdpdGhPYmFrZUltYWdlOjQ4NCwKY2hhbm5lbEVkaXRlZFdpdGhPYmFrZUltYWdlOjQ4NSxvZmZsaW5lRGVsZXRlRXZlbnQ6NDg2LGNyb3NzRGV2aWNlTm90aWZpY2F0aW9uVHJhbnNmZXI6NDg3LGFuZHJvaWRJbnRlbnRFdmVudDo0ODgsdW5wbHVnZ2VkQW1iaWVudEludGVybHVkZXNDb3VudGVyZmFjdHVhbEV2ZW50OjQ4OSxrZXlQbGF5c1BsYXliYWNrOjQ5MCxzaG9ydHNDcmVhdGlvbkZhbGxiYWNrRXZlbnQ6NDkzLHZzc0RhdGE6NDkxLGNhc3RNYXRjaDo0OTQsbWluaUFwcFBlcmZvcm1hbmNlTWV0cmljczo0OTUsdXNlckZlZWRiYWNrRXZlbnQ6NDk2LGtpZHNHdWVzdFNlc3Npb25NaXNtYXRjaDo0OTgsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RNaWdyYXRpb25FdmVudDo0OTksc2xlZXBUaW1lclNlc3Npb25GaW5pc2hFdmVudDo1MDAsd2F0Y2hFcFByb21vQ29uZmxpY3Q6NTAzLGlubmVydHViZVJlc3BvbnNlQ2FjaGVNZXRyaWNzOjUwNSxtaW5pQXBwQWRFdmVudDo1MDYsZGF0YVBsYW5VcHNlbGxFdmVudDo1MDcsCnByb2R1Y2VyUHJvamVjdFJlbmFtZWQ6NTA4LHByb2R1Y2VyTWVkaWFTZWxlY3Rpb25FdmVudDo1MTEsZW1iZWRzQXV0b3BsYXlTdGF0dXNDaGFuZ2VkOjUxMixyZW1vdGVDb25uZWN0RXZlbnQ6NTEzLGNvbm5lY3RlZFNlc3Npb25NaXNhdHRyaWJ1dGlvbkV2ZW50OjUxNCxwcm9kdWNlclByb2plY3RFbGVtZW50TW9kaWZpZWQ6NTE1LGFkc1NlZW5DbGllbnRMb2dnaW5nOjUxNyxwcm9kdWNlckV2ZW50OjUxOCx0dmh0bWw1Q2xlYW5TdGFydDo1MTksZGV2aWNlQWNjb3VudE1ldHJpY3NFdmVudDo1MjAsZGVycExvZ0V2ZW50OjUyMSxwbGF5YWJsZXNQb3J0YWxFdmVudDo1MjMsaXBWYWxpZGF0aW9uU3RhcnRlZDo1MjQsaXBWYWxpZGF0aW9uUmVjZWl2ZWQ6NTI1LHJlZWxzU2VxdWVuY2VNdXRhdGlvbkV2ZW50OjUyNyx3YXRjaFpvb21TdGF0ZUNoYW5nZTo1MjgsbWV0YWRhdGFFZGl0b3JFdmVudDo1Mjksa2lkc1ByaXNtYURlZXBsaW5rc0V2ZW50OjUzMCxjcmVhdGlvbk9yY2hlc3RyYXRpb25FdmVudDo1MzEsCmNvb3JkaW5hdGVkU2FtcGxpbmdUcmlnZ2VyZWQ6NTMyLHJlY2FwU2NyZWVuc2hvdEV2ZW50OjUzNCxtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVxdWVzdEV2ZW50OjUzNixtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVzcG9uc2VFdmVudDo1Mzcsc2Vzc2lvblJlcGxheUV2ZW50OjUzOCxzZXNzaW9uUmVwbGF5U3RhdHVzRXZlbnQ6NTM5LGxvZ2dpbmdSZWxpYWJpbGl0eVByb2JlOjU0MCxrZXlWYWx1ZVN0b3JlU3RhdHNFdmVudDo1NDEsZGV2aWNlTG9jYXRpb25QZXJtaXNzaW9uRXZlbnQ6NTQyLHJlbW90ZUNvbnRyb2xTdGFydGVkOjU0MyxyZW1vdGVDb250cm9sQ29tcGxldGVkOjU0NCxyZWVsc0Fkc0V2ZW50czo1NDUseXRsckxvYWRlclRlc3RIYXJuZXNzRXZlbnQ6NTQ3LGJpb21ldHJpY0F1dGhlbnRpY2F0aW9uRXZlbnQ6NTQ4LG1haW5BcHBMaWZlY3ljbGVFdmVudDo1NDksbXVzaWNEb3dubG9hZEJhY2tncm91bmRDb250aW51ZWRQcm9jZXNzaW5nVGFzazo1NTAsbXVzaWNNZXRhZGF0YU1pc21hdGNoRXZlbnQ6NTUxLApzY3JvbGxUb0NvbXBvbmVudENvbXBsZXRlZDo1NTIsZW50aXR5U3RvcmVUZWxlbWV0cnk6NTUzLHN0cmVhbWluZ0RhcmtMYXVuY2hFdmVudDo1NTQsY2hpbGRBY2NvdW50c0Rpc3BsYXlFdmVudDo1NTUsdHZmYXNQbGF5YmFja0NvbnRleHQ6NTU3LG1kZUMyUGFFdmVudDo1NTl9O3ZhciBoX3g9a08oIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtLYzp7U1dIZWFsdGhMb2c6e3Z4OjF9fSxzaGFyZWQ6ITAsdXBncmFkZToobixXKT0+e1coMSkmJkVSKFp5KG4sIlNXSGVhbHRoTG9nIix7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KSwic3dIZWFsdGhOZXdSZXF1ZXN0IixbImludGVyZmFjZSIsInRpbWVzdGFtcCJdKX0sCnZlcnNpb246MX0pO3ZhciBYaT17fSxYSHc9MDt2YXIgR1Q7dmFyIHJvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXA7dGhpcy5KPSExfXJlcXVlc3RDb21wbGV0ZShuLFcpe1cmJih0aGlzLko9ITApO249dGhpcy5yZW1vdmVQYXJhbXMobik7dGhpcy5OLmdldChuKXx8dGhpcy5OLnNldChuLFcpfWlzRW5kcG9pbnRDRlIobil7bj10aGlzLnJlbW92ZVBhcmFtcyhuKTtyZXR1cm4obj10aGlzLk4uZ2V0KG4pKT8hMTpuPT09ITEmJnRoaXMuSj8hMDpudWxsfXJlbW92ZVBhcmFtcyhuKXtyZXR1cm4gbi5zcGxpdCgiPyIpWzBdfX07cm8ucHJvdG90eXBlLnJlbW92ZVBhcmFtcz1yby5wcm90b3R5cGUucmVtb3ZlUGFyYW1zO3JvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSPXJvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSO3JvLnByb3RvdHlwZS5yZXF1ZXN0Q29tcGxldGU9cm8ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZTtyby5nZXRJbnN0YW5jZT1zYzt2YXIgTmI9Y2xhc3MgZXh0ZW5kcyBnLm9Xe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9ITE7dGhpcy5OPXMydygpO3RoaXMuTi5TXygibmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57aWYodGhpcy5KJiZnLmwoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIG49JFEoKS5nZXQoImVycm9ycyIsITApO2lmKG4pe2ZvcihsZXQgVyBpbiBuKWlmKG5bV10pe2xldCBEPW5ldyBnLlF4KFcsInNlbnQgdmlhIG9mZmxpbmVfZXJyb3JzIik7RC5uYW1lPW5bV10ubmFtZTtELnN0YWNrPW5bV10uc3RhY2s7RC5sZXZlbD1uW1ddLmxldmVsO090KEQpfSRRKCkuc2V0KCJlcnJvcnMiLHt9LDI1OTJFMywhMCl9fX0pfVdHKCl7cmV0dXJuIHRoaXMuTi5XRygpfWxjKG4pe3RoaXMuTi5pc09ubGluZT1ufUxrKCl7dmFyIG49d2luZG93Lm5hdmlnYXRvci5vbkxpbmU7CnJldHVybiBuPT09dm9pZCAwPyEwOm59REgoKXt0aGlzLko9ITB9U18obixXKXtyZXR1cm4gdGhpcy5OLlNfKG4sVyl9aEoobil7cmV0dXJuIHJYKHRoaXMuTixuKX19O05iLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1OYi5wcm90b3R5cGUuaEo7TmIucHJvdG90eXBlLmxpc3Rlbj1OYi5wcm90b3R5cGUuU187TmIucHJvdG90eXBlLmVuYWJsZUVycm9yRmx1c2hpbmc9TmIucHJvdG90eXBlLkRIO05iLnByb3RvdHlwZS5nZXRXaW5kb3dTdGF0dXM9TmIucHJvdG90eXBlLkxrO05iLnByb3RvdHlwZS5uZXR3b3JrU3RhdHVzSGludD1OYi5wcm90b3R5cGUubGM7TmIucHJvdG90eXBlLmlzTmV0d29ya0F2YWlsYWJsZT1OYi5wcm90b3R5cGUuV0c7TmIuZ2V0SW5zdGFuY2U9cG07dmFyIGI2Wj1jbGFzcyBleHRlbmRzIGcub1d7Y29uc3RydWN0b3IoKXt2YXIgbj17dTI6ITAsRW86ITB9O3N1cGVyKCk7dGhpcy5OPXRoaXMuWD0wO3RoaXMuSj1wbSgpO3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy5KKTtXJiYobi5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PW4ucmF0ZUxpbWl0LFcoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e1lRKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9PntZUSh0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihXKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVdHKCl7dmFyIG49CmcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpOwpyZXR1cm4gbj9uLmJpbmQodGhpcy5KKSgpOiEwfWxjKG4pe3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLm5ldHdvcmtTdGF0dXNIaW50IikuYmluZCh0aGlzLkopO1cmJlcobil9YXN5bmMgaEoobil7dmFyIFc9Zy5ycigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2Uuc2VuZE5ldHdvcmtDaGVja1JlcXVlc3QiKS5iaW5kKHRoaXMuSik7cmV0dXJuIGcubCgic2tpcF9uZXR3b3JrX2NoZWNrX2lmX2NmciIpJiZzYygpLmlzRW5kcG9pbnRDRlIoImdlbmVyYXRlXzIwNCIpP25ldyBQcm9taXNlKEQ9Pnt0aGlzLmxjKHdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZXx8ITApO0QodGhpcy5XRygpKX0pOlc/VyhuKTohMH19O3ZhciBTYyxHemg9Y2xhc3MgZXh0ZW5kcyBEejF7Y29uc3RydWN0b3IoKXtTY3x8KFNjPW5ldyBiNlopO3N1cGVyKHtnRTp7dGk6dnZpLFRNOmJHQyxpNDpudjIsSzY6V19DLGhZOkRFeCxzZXQ6YUJTfSx5RzpTYyxoYW5kbGVFcnJvcjoobixXLEQpPT57dmFyIGI9RD8uZXJyb3I/LmNvZGU7Yj09PTQwMHx8Yj09PTQxNT8obj1uZXcgZy5ReChuLm1lc3NhZ2UsVyxEPy5lcnJvcj8uY29kZSksWkUobix2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOk90KG4pfSwKRjI6WkUsTG06JEV0LG5vdzpnLlIsaEw6cUt3LEEkOmcuRHkoKSx1WjoicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsTkE6InB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIixDcjohMCxLcjouMSxIRjp2MCgicG90ZW50aWFsX2VzZl9lcnJvcl9saW1pdCIsMTApLEVxOmcubCxOaDohKFI5KCkmJmcuSVAoZG9jdW1lbnQubG9jYXRpb24udG9TdHJpbmcoKSkhPT0id3d3LnlvdXR1YmUtbm9jb29raWUuY29tIil9KTt0aGlzLmo9bmV3IGcuS1Y7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiZremkoKTt2eigiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKG4sVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKG4sVyl9c2VuZFRoZW5Xcml0ZShuLFcsRCl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKG4sVyxEKX1zZW5kQW5kV3JpdGUobiwKVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kQW5kV3JpdGUobixXKX1hd2FpdEluaXRpYWxpemF0aW9uKCl7cmV0dXJuIHRoaXMuai5wcm9taXNlfX07dmFyIEpJPWcucWkueXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnN8fHtpc053bEluaXRpYWxpemVkOiExfTtnLkdiKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsSkkpO2cuZDQ9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5jb25maWdfPW51bGw7bj90aGlzLmNvbmZpZ189bjpJNygpJiYodGhpcy5jb25maWdfPWcuUzkoKSl9aXNSZWFkeSgpeyF0aGlzLmNvbmZpZ18mJkk3KCkmJih0aGlzLmNvbmZpZ189Zy5TOSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciB2Z3c9Zy5xaS55dFB1YnN1YlB1YnN1Ykluc3RhbmNlfHxuZXcgQkssQUk9Zy5xaS55dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzfHx7fSxLbT1nLnFpLnl0UHVic3ViUHVic3ViVG9waWNUb0tleXN8fHt9LG1nPWcucWkueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtCSy5wcm90b3R5cGUuc3Vic2NyaWJlPUJLLnByb3RvdHlwZS5zdWJzY3JpYmU7QksucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9QksucHJvdG90eXBlLmpLO0JLLnByb3RvdHlwZS5wdWJsaXNoPUJLLnByb3RvdHlwZS5XSjtCSy5wcm90b3R5cGUuY2xlYXI9QksucHJvdG90eXBlLmNsZWFyO2cuR2IoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLHZndyk7Zy5HYigieXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5cyIsS20pO2cuR2IoInl0UHVic3ViUHVic3ViSXNTeW5jaHJvbm91cyIsbWcpO2cuR2IoInl0UHVic3ViUHVic3ViU3Vic2NyaWJlZEtleXMiLEFJKTt2YXIgb0k9e307Zy5peChnLkZpLGcuRk0pO2cuRT1nLkZpLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPzA6dGhpcy5ZJC5zdWJzY3JpYmUobixXLEQpfTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPyExOnRoaXMuWSQudW5zdWJzY3JpYmUobixXLEQpfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5qSyhuKX07CmcuRS5XSj1mdW5jdGlvbihuLFcpe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5XSi5hcHBseSh0aGlzLlkkLGFyZ3VtZW50cyl9OwpnLkUuaCQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnN1YnNjcmliZShELG5bRF0sVyl9OwpnLkUuTTk9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnVuc3Vic2NyaWJlKEQsbltEXSxXKX07dmFyIHdvPURhdGUubm93KCkudG9TdHJpbmcoKTt2YXIgYnk9e307Zy5MWD1TeW1ib2woImluamVjdGlvbkRlcHMiKTt2YXIga289Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5rZXk9bn19O3ZhciBwSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9bmV3IE1hcDt0aGlzLlc9bmV3IE1hcDt0aGlzLk49bmV3IE1hcH1yZXNvbHZlKG4pe3JldHVybiBuIGluc3RhbmNlb2Yga28/Z0UodGhpcyxuLmtleSxbXSwhMCk6Z0UodGhpcyxuLFtdKX19O2cuQUw9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5uYW1lPW59dG9TdHJpbmcoKXtyZXR1cm5gSW5qZWN0aW9uVG9rZW4oJHt0aGlzLm5hbWV9KWB9fTt2YXIgWDQ7dmFyIEdwPXdpbmRvdzt2YXIgZlg9Zy5sKCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIikmJnRwKCkhPT0wLEhHdD1nLmwoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKTt2YXIgQXZqPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc2NoZWR1bGVyPWcuRHkoKTt0aGlzLko9bmV3IGcuS1Y7dGhpcy5OPW47Zm9yKGxldCBXPTA7Vzx0aGlzLk4ubGVuZ3RoO1crKyl7bGV0IEQ9dGhpcy5OW1ddO249KCk9PntELkphKCk7dGhpcy5OW1ddLk1KPSEwO3RoaXMuTi5ldmVyeSh2PT52Lk1KPT09ITApJiZ0aGlzLkoucmVzb2x2ZSgpfTsKbGV0IGI9Zy5WeCgwLG4sRC5wcmlvcml0eT8/MCk7dGhpcy5OW1ddPXsuLi5ELEphOm4sam9iSWQ6Yn19fWNhbmNlbCgpe2ZvcihsZXQgbiBvZiB0aGlzLk4pbi5qb2JJZD09PXZvaWQgMHx8bi5NSnx8dGhpcy5zY2hlZHVsZXIuc08obi5qb2JJZCksbi5NSj0hMDt0aGlzLkoucmVzb2x2ZSgpfX07dmFyIGt4aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGU9Im5vbmUiO3RoaXMucGx1Z2lucz1bXTt0aGlzLko9dm9pZCAwO3RoaXMuWD17fTtmWCYmJG8odGhpcy5zdGF0ZSl9Z2V0IGN1cnJlbnRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlfWluc3RhbGwobil7dGhpcy5wbHVnaW5zLnB1c2gobik7cmV0dXJuIHRoaXN9dW5pbnN0YWxsKC4uLm4pe24uZm9yRWFjaChXPT57Vz10aGlzLnBsdWdpbnMuaW5kZXhPZihXKTtXPi0xJiZ0aGlzLnBsdWdpbnMuc3BsaWNlKFcsMSl9KX10cmFuc2l0aW9uKG4sVyl7ZlgmJnJFKHRoaXMuc3RhdGUpOwp2YXIgRD10aGlzLnRyYW5zaXRpb25zLmZpbmQoYj0+QXJyYXkuaXNBcnJheShiLmZyb20pP2IuZnJvbS5maW5kKHY9PnY9PT10aGlzLnN0YXRlJiZiLnRvPT09bik6Yi5mcm9tPT09dGhpcy5zdGF0ZSYmYi50bz09PW4pOwppZihEKXt0aGlzLlcmJihZS2oodGhpcy5XKSx0aGlzLlc9dm9pZCAwKTtmUjIodGhpcyxuLFcpO3RoaXMuc3RhdGU9bjtmWCYmJG8odGhpcy5zdGF0ZSk7RD1ELmFjdGlvbi5iaW5kKHRoaXMpO2xldCBiPXRoaXMucGx1Z2lucy5maWx0ZXIodj0+dltuXSkubWFwKHY9PnZbbl0pOwpEKFNLQyh0aGlzLGIpLFcpfWVsc2UgdGhyb3cgRXJyb3IoYG5vIHRyYW5zaXRpb24gc3BlY2lmaWVkIGZyb20gJHt0aGlzLnN0YXRlfSB0byAke259YCk7fX07dmFyIG1Fdz1jbGFzcyBleHRlbmRzIGt4aHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5OPW51bGw7dGhpcy5KPTEwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJub25lIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOnRoaXMuan0se2Zyb206ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLHRvOiJub25lIixhY3Rpb246dGhpcy5WfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLGFjdGlvbjooKT0+e319LAp7ZnJvbToibm9uZSIsdG86Im5vbmUiLGFjdGlvbjooKT0+e319XX1qKG4sVyl7dGhpcy5OPWcuY0IoMCwoKT0+e3RoaXMuY3VycmVudFN0YXRlPT09ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciJiZ0aGlzLnRyYW5zaXRpb24oIm5vbmUiKX0sNUUzKTsKbihXPy5ldmVudCl9VihuLFcpe3RoaXMuTiYmKHRhLnNPKHRoaXMuTiksdGhpcy5OPW51bGwpO24oVz8uZXZlbnQpfX0sSnA7dmFyIFV5PVtdO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRHZWxQYXlsb2FkcyIsZnVuY3Rpb24oKXtyZXR1cm4gVXl9KTt2YXIgbTM9dm9pZCAwLFNaPXZvaWQgMDt2YXIgb2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JlPXt9O3RoaXMuTj17fX1zdG9yZVBheWxvYWQobixXKXtuPU85KG4pO3RoaXMuc3RvcmVbbl0/dGhpcy5zdG9yZVtuXS5wdXNoKFcpOih0aGlzLk49e30sdGhpcy5zdG9yZVtuXT1bV10pO2cubCgibW9yZV9hY2N1cmF0ZV9nZWxfcGFyc2VyIikmJihXPW5ldyBDdXN0b21FdmVudCgiVFJBTlNQT1JUSU5HX05FV19FVkVOVCIpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KFcpKTtyZXR1cm4gbn1zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7aWYoIW4ua2V5cy5sZW5ndGgpcmV0dXJuW107dmFyIFc9WkEodGhpcyxuLmtleXMuc3BsaWNlKDAsMSlbMF0pLEQ9W107Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspdGhpcy5zdG9yZVtXW2JdXSYmbi5zaXplTGltaXQmJih0aGlzLnN0b3JlW1dbYl1dLmxlbmd0aDw9bi5zaXplTGltaXQ/KEQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dKSxkZWxldGUgdGhpcy5zdG9yZVtXW2JdXSk6CkQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dLnNwbGljZSgwLG4uc2l6ZUxpbWl0KSkpO24/LnNpemVMaW1pdCYmRC5sZW5ndGg8bj8uc2l6ZUxpbWl0JiYobi5zaXplTGltaXQtPUQubGVuZ3RoLEQucHVzaCguLi50aGlzLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhuKSkpO3JldHVybiBEfWV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7bj1aQSh0aGlzLG4pO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXRoaXMuc3RvcmVbbltEXV0mJihXLnB1c2goLi4udGhpcy5zdG9yZVtuW0RdXSksZGVsZXRlIHRoaXMuc3RvcmVbbltEXV0pO3JldHVybiBXfWdldFNlcXVlbmNlQ291bnQobil7bj1aQSh0aGlzLG4pO3ZhciBXPTA7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspVys9dGhpcy5zdG9yZVtuW0RdXT8ubGVuZ3RofHwwO3JldHVybiBXfX07b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ9b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ7Cm9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzPW9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzO29iLnByb3RvdHlwZS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXM9b2IucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcztvYi5wcm90b3R5cGUuc3RvcmVQYXlsb2FkPW9iLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ7dmFyIHpfdD1uZXcgZy5BTCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSIpO3ZhciBVRXc9djAoImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiLDJFMyksWkdaPXYwKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCkseXZTPXYwKCJnZWxfbWluX2JhdGNoX3NpemUiLDUpLEU5PXZvaWQgMCx5Uj1udWxsLG1zPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPXRoaXMuSj10aGlzLlc9MDt0aGlzLk49ITF9fSxUZ2k9bmV3IG1zLGxSQz1uZXcgbXMsdDY9bmV3IG1zLEdVPW5ldyBtcyxXcywkQT0hMCxQcz0xLGx5PW5ldyBNYXAsZXk9Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZXkpO3ZhciBMVT1nLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc18iLExVKTt2YXIgUmI9e30senA9ITE7dmFyIGlSPWcucWkueXRMb2dnaW5nR2VsU2VxdWVuY2VJZE9ial98fHt9O2cuR2IoInl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpfIixpUik7dmFyIG0xPVtdO3ZhciBWNCxLaj1nLnFpLnl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfO0tqfHwoS2o9Zy5SSSgxNiksZy5HYigieXRMb2dnaW5nRG9jRG9jdW1lbnROb25jZV8iLEtqKSk7VjQ9S2o7dmFyIEZfVT17Qnc6MCxGNjoxLFdROjIsTjM6MyxxdDo0LFlTOjUsUWM6NixMTTo3LEk2Ojgsc0M6OSxaTToxMCxiUzoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07dmFyIGp6Wj0xLGxSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufWdldEFzSnNvbigpe3ZhciBuPXt9O3RoaXMuTi50cmFja2luZ1BhcmFtcyE9PXZvaWQgMD9uLnRyYWNraW5nUGFyYW1zPXRoaXMuTi50cmFja2luZ1BhcmFtczoobi52ZVR5cGU9dGhpcy5OLnZlVHlwZSx0aGlzLk4udmVDb3VudGVyIT09dm9pZCAwJiYobi52ZUNvdW50ZXI9dGhpcy5OLnZlQ291bnRlciksdGhpcy5OLmVsZW1lbnRJbmRleCE9PXZvaWQgMCYmKG4uZWxlbWVudEluZGV4PXRoaXMuTi5lbGVtZW50SW5kZXgpKTt0aGlzLk4uZGF0YUVsZW1lbnQhPT12b2lkIDAmJihuLmRhdGFFbGVtZW50PXRoaXMuTi5kYXRhRWxlbWVudC5nZXRBc0pzb24oKSk7dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYobi55b3V0dWJlRGF0YT10aGlzLk4ueW91dHViZURhdGEpO3RoaXMuTi5pc0NvdW50ZXJmYWN0dWFsJiYobi5pc0NvdW50ZXJmYWN0dWFsPSEwKTtyZXR1cm4gbn1nZXRBc0pzcGIoKXt2YXIgbj1uZXcgcVlTOwp0aGlzLk4udHJhY2tpbmdQYXJhbXMhPT12b2lkIDA/bi5zZXRUcmFja2luZ1BhcmFtcyh0aGlzLk4udHJhY2tpbmdQYXJhbXMpOih0aGlzLk4udmVUeXBlIT09dm9pZCAwJiZveihuLDIsZy55UCh0aGlzLk4udmVUeXBlKSksdGhpcy5OLnZlQ291bnRlciE9PXZvaWQgMCYmb3oobiw2LGcueVAodGhpcy5OLnZlQ291bnRlcikpLHRoaXMuTi5lbGVtZW50SW5kZXghPT12b2lkIDAmJm96KG4sMyxnLnlQKHRoaXMuTi5lbGVtZW50SW5kZXgpKSx0aGlzLk4uaXNDb3VudGVyZmFjdHVhbCYmb3oobiw1LE9fKCEwKSkpO2lmKHRoaXMuTi5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIFc9dGhpcy5OLmRhdGFFbGVtZW50LmdldEFzSnNwYigpOyQ5KG4scVlTLDcsVyl9dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYkOShuLGU0dyw4LHRoaXMuTi5qc3BiWW91dHViZURhdGEpO3JldHVybiBufXRvU3RyaW5nKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0QXNKc29uKCkpfWlzQ2xpZW50VmUoKXtyZXR1cm4hdGhpcy5OLnRyYWNraW5nUGFyYW1zJiYKISF0aGlzLk4udmVUeXBlfWdldExvZ2dpbmdEaXJlY3RpdmVzKCl7cmV0dXJuIHRoaXMuTi5sb2dnaW5nRGlyZWN0aXZlc319O2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLmdldFJvb3RWZVR5cGUiLEZSKTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdXJyZW50Q3NuIixnLlJ2KTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdHRBdXRoSW5mbyIsUTQpO2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLGNzKTt2YXIgUl9NPSJhYnNvbHV0ZV9leHBlcmltZW50cyBhcHAgY29uZGl0aW9uYWxfZXhwZXJpbWVudHMgZGVidWdjc3MgZGVidWdqcyBleHBmbGFnIGZvcmNlZF9leHBlcmltZW50cyBwYmogcGJqcmVsb2FkIHNiYiBzcGYgc3BmcmVsb2FkIHNyX2Juc19hZGRyZXNzIHN0dGljayIuc3BsaXQoIiAiKTt2YXIgayRiPVt7RzE6bj0+YENhbm5vdCByZWFkIHByb3BlcnR5ICcke24ua2V5fSdgLApZejp7RXJyb3I6W3t3YjovKFBlcm1pc3Npb24gZGVuaWVkKSB0byBhY2Nlc3MgcHJvcGVydHkgIihbXiddKykiLyxncm91cHM6WyJyZWFzb24iLCJrZXkiXX1dLFR5cGVFcnJvcjpbe3diOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3diOi9cdTY1ZTBcdTZjZDVcdTgzYjdcdTUzZDZcdTY3MmFcdTViOWFcdTRlNDlcdTYyMTYgKG51bGx8dW5kZWZpbmVkKSBcdTVmMTVcdTc1MjhcdTc2ODRcdTVjNWVcdTYwMjdcdTIwMWMoW15cdTIwMWRdKylcdTIwMWQvLGdyb3VwczpbInZhbHVlIiwia2V5Il19LHt3YjovXHVjODE1XHVjNzU4XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0YyBcdWI2MTBcdWIyOTQgKG51bGx8dW5kZWZpbmVkKSBcdWNjMzhcdWM4NzBcdWM3NzggJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc0NCBcdWFjMDBcdWM4MzhcdWM2MmMgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7d2I6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHt3YjovVW5hYmxlIHRvIGdldCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKHVuZGVmaW5lZCBvciBudWxsKSByZWZlcmVuY2UvLGdyb3VwczpbImtleSIsInZhbHVlIl19LHt3YjovKG51bGwpIGlzIG5vdCBhbiBvYmplY3QgXChldmFsdWF0aW5nICcoPzooW14uXSspXC4pPyhbXiddKyknXCkvLGdyb3VwczpbInZhbHVlIiwiYmFzZSIsImtleSJdfV19fSx7RzE6bj0+YENhbm5vdCBjYWxsICcke24ua2V5fSdgLApZejp7VHlwZUVycm9yOlt7d2I6Lyg/OihbXiBdKyk/XC4pPyhbXiBdKykgaXMgbm90IGEgZnVuY3Rpb24vLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3diOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7d2I6L09iamVjdCAoLiopIGhhcyBubyBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJiYXNlIiwia2V5Il19LHt3YjovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3diOi9cdTMwYWFcdTMwZDZcdTMwYjhcdTMwYTdcdTMwYWZcdTMwYzhcdTMwNmYgJyhbXiddKyknIFx1MzBkN1x1MzBlZFx1MzBkMVx1MzBjNlx1MzBhM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBlMVx1MzBiZFx1MzBjM1x1MzBjOVx1MzA5Mlx1MzBiNVx1MzBkZFx1MzBmY1x1MzBjOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5My8sZ3JvdXBzOlsia2V5Il19LAp7d2I6L1x1YWMxY1x1Y2NiNFx1YWMwMCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzc0XHViMDk4IFx1YmE1NFx1YzExY1x1YjRkY1x1Yjk3YyBcdWM5YzBcdWM2ZDBcdWQ1NThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0Li8sZ3JvdXBzOlsia2V5Il19XX19LHtHMTpuPT5gJHtuLmtleX0gaXMgbm90IGRlZmluZWRgLApZejp7UmVmZXJlbmNlRXJyb3I6W3t3YjovKC4qKSBpcyBub3QgZGVmaW5lZC8sZ3JvdXBzOlsia2V5Il19LHt3YjovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgYVJTPXtOOTpbXSxrbzpbe2NhbGxiYWNrOlF6MSx3ZWlnaHQ6NTAwfSx7Y2FsbGJhY2s6Vld4LHdlaWdodDo1MDB9XX07dmFyIGN2aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMua289W107dGhpcy5OOT1bXX19LHZhO3ZhciBTaT1uZXcgQks7dmFyIElVPW5ldyBTZXQsdFA9MCx4SE09MCxBUD0wLHY5Mj1bXSxibjI9W10sTE5DPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO0RhdGUubm93KCk7dmFyIFpwPWNsYXNzIGV4dGVuZHMgbzd7Y29uc3RydWN0b3Iobil7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1ufX0sVG89bmV3IGQzKCJzY3JlZW4tY3JlYXRlZCIsWnApLEM0PVtdLGVUaD1HJGosQmE9MCxVYT1uZXcgTWFwLHk1PW5ldyBNYXAsRWE9bmV3IE1hcDt2YXIgaHIyPWNsYXNze2ZsdXNoKG49W10sVz0hMSl7aWYoZy5sKCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBEIG9mIG4pbj11NihEKSx0aGlzLk4mJiQ5KG4sT2l4LDIsdGhpcy5OKSxuPXtzZXJpYWxpemVkSW5jcmVtZW50QmF0Y2g6Zy5FQShuLkooKSl9LGcuelUoInN0cmVhbXpJbmNyZW1lbnRlZCIsbix7c2VuZElzb2xhdGVkUGF5bG9hZDpXfSl9fSxYbkM9Y2xhc3MgZXh0ZW5kcyBocjJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0sU0hpPWNsYXNzIGV4dGVuZHMgaHIye2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dmFyIFc9bmV3IE9peDt2YXIgRD1uZXcgS1VDO0Q9Zy5TRShELDEsImJvdGd1YXJkIik7bj1nLlNFKEQsMixuKTt0aGlzLk49cmUoVyxLVUMsMSxQWmgsbil9fTt2YXIgVnAsSU0yPW5ldyBNYXA7dmFyIFQkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bmV3IFFLKG4pfXNldChuLFcsRCl7RD1EIT09dm9pZCAwP0RhdGUubm93KCkrRDp2b2lkIDA7dGhpcy5OLnNldChuLFcsRCl9Z2V0KG4pe3JldHVybiB0aGlzLk4uZ2V0KG4pfXJlbW92ZShuKXt0aGlzLk4ucmVtb3ZlKG4pfX07dmFyIHJTaD1udWxsO3ZhciBzbz0idG9rZW5zIGNvbnNpc3RlbmN5IHNlcnZpY2VfcGFyYW1zIG1zcyBjbGllbnRfbG9jYXRpb24gZW50aXRpZXMgYWRibG9ja19kZXRlY3Rpb24gcmVzcG9uc2VfcmVjZWl2ZWRfY29tbWFuZHMgc3RvcmUgbWFuaWZlc3QgcGxheWVyX3ByZWxvYWQgc2hvcnRzX3ByZWZldGNoIHJlc29sdmVfdXJsX3ByZWZldGNoIi5zcGxpdCgiICIpO3ZhciBzWVU9bmV3IE1hcChbWyJkYXJrIiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyJdLFsibGlnaHQiLCJVU0VSX0lOVEVSRkFDRV9USEVNRV9MSUdIVCJdXSk7dmFyIERNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPXt9O2lmKHRoaXMuSj1nLm1qKCkpe2xldCBuPWcuU2QoIkNPTlNJU1RFTkNZIik7biYmYVUodGhpcyx7ZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50czpufSl9fWhhbmRsZVJlc3BvbnNlKG4sVyl7aWYoIVcpdGhyb3cgRXJyb3IoInJlcXVlc3QgbmVlZHMgdG8gYmUgcGFzc2VkIGludG8gQ29uc2lzdGVuY3lTZXJ2aWNlIik7Vz1XLmlubmVyVHViZVJlcXVlc3QuY29udGV4dD8ucmVxdWVzdD8uY29uc2lzdGVuY3lUb2tlbkphcnN8fFtdOyhuPW4ucmVzcG9uc2VDb250ZXh0Py5jb25zaXN0ZW5jeVRva2VuSmFyKSYmdGhpcy5yZXBsYWNlKFcsbil9cmVwbGFjZShuLFcpe2ZvcihsZXQgRCBvZiBuKWRlbGV0ZSB0aGlzLk5bRC5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzXTthVSh0aGlzLFcpfX07dmFyIHh6cj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpLGIkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPS0xO3ZhciBuPWcuQXIoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iVFZIVE1MNSImJih0aGlzLmxvY2FsU3RvcmFnZT1uQih0aGlzKSkmJihuPXRoaXMubG9jYWxTdG9yYWdlLmdldCgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKSk7biYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPW4sdGhpcy5KPXRoaXMuTj12b2lkIDApfXN0YXRpYyBnZXRJbnN0YW5jZSgpe09DPWcucnIoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIpO09DfHwoT0M9bmV3IGIkLGcuR2IoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIsT0MpKTtyZXR1cm4gT0N9c2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQobil7bi5jbGllbnR8fAoobi5jbGllbnQ9e30pO2lmKHRoaXMuTiluLmNsaWVudC5sb2NhdGlvbkluZm98fChuLmNsaWVudC5sb2NhdGlvbkluZm89e30pLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sYXRpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5OLmNvb3Jkcy5sYXRpdHVkZSoxRTcpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sb25naXR1ZGVFNz1NYXRoLmZsb29yKHRoaXMuTi5jb29yZHMubG9uZ2l0dWRlKjFFNyksbi5jbGllbnQubG9jYXRpb25JbmZvLmhvcml6b250YWxBY2N1cmFjeU1ldGVycz1NYXRoLnJvdW5kKHRoaXMuTi5jb29yZHMuYWNjdXJhY3kpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5mb3JjZUxvY2F0aW9uUGxheWFiaWxpdHlUb2tlblJlZnJlc2g9ITA7ZWxzZSBpZih0aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKW4uY2xpZW50LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbj10aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VufWdldFhHZW9IZWFkZXIoKXtpZih0aGlzLkope3ZhciBuPQp0aGlzLko7dmFyIFc9TWF0aC5mbG9vcihuLmNvb3Jkcy5sb25naXR1ZGUqMUU3KTt2YXIgRD1NYXRoLmZsb29yKG4uY29vcmRzLmxhdGl0dWRlKjFFNyk7dmFyIGI9bmV3IGpyMjtEPW96KGIsMSxnLnlQKEQpKTtXPW96KEQsMixnLnlQKFcpKTtEPW5ldyBCRnQ7RD1LbihELDEsMSk7RD1LbihELDIsMTIpO0Q9S24oRCw5LDgpO0Q9SVkoRCwzLG4udGltZXN0YW1wKjFFMyk7bj1veihELDcsZy5BXyhuLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTtuPUtuKG4sMjUsMik7bj0kOShuLGpyMiw1LFcpO249YHcgJHtnLkVBKEZGaShuKSw0KX1gfWVsc2Ugbj1udWxsO3JldHVybiBufWhhbmRsZVJlc3BvbnNlKG4pe249bi5yZXNwb25zZUNvbnRleHQ/LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbjtuIT09dm9pZCAwJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49bix0aGlzLko9dGhpcy5OPXZvaWQgMCxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9Cm5CKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsbiwxNTU1MkUzKTpJSygiWVRfQ0wiLEpTT04uc3RyaW5naWZ5KHtsb2N0b2s6bn0pLDE1NTUyRTMseHpyLCEwKSl9Y2xlYXJMb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4obil7bj09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9bkIodGhpcykpJiZ0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmUoInl0LWxvY2F0aW9uLXBsYXlhYmlsaXR5LXRva2VuIik6QXkoIllUX0NMIik7dGhpcy5YPXZvaWQgMDt0aGlzLlchPT0tMSYmKGNsZWFyVGltZW91dCh0aGlzLlcpLHRoaXMuVz0tMSl9Y2xlYXJDdXJyZW50UG9zaXRpb24oKXt0aGlzLko9dGhpcy5OPXZvaWQgMH1nZXRDdXJyZW50UG9zaXRpb25Gcm9tR2VvbG9jYXRpb24obil7aWYoIShuYXZpZ2F0b3ImJm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJHZW9sb2NhdGlvbiB1bnN1cHBvcnRlZCIpKTsKdmFyIFc9ITEsRD0xRTQ7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihXPSEwLEQ9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChiLHYpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihrPT57dGhpcy5KPW4/LmFkZFRvSGVhZGVycz9rOnZvaWQgMDt0aGlzLk49aztiKGspfSxrPT57dihrKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpXLAptYXhpbXVtQWdlOjAsdGltZW91dDpEfSl9KX1jcmVhdGVVbnBsdWdnZWRMb2NhdGlvbkluZm8obil7dmFyIFc9e307Cm49bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtuPy5hY2N1cmFjeSYmKFcubG9jYXRpb25SYWRpdXNNZXRlcnM9TWF0aC5yb3VuZChuLmFjY3VyYWN5KSk7cmV0dXJuIFd9Y3JlYXRlTG9jYXRpb25JbmZvKG4pe3ZhciBXPXt9O249bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtyZXR1cm4gV319LE9DO3ZhciBMSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49e319Y29udGFpbnMobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLk4sbil9Z2V0KG4pe2lmKHRoaXMuY29udGFpbnMobikpcmV0dXJuIHRoaXMuTltuXX1zZXQobixXKXt0aGlzLk5bbl09V311Qigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLk4pfXJlbW92ZShuKXtkZWxldGUgdGhpcy5OW25dfX07bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBwaW5ncz1uZXcgTEhyfWdldChuKXthOnt2YXIgVz10aGlzLm1hcHBpbmdzLmdldChuLnRvU3RyaW5nKCkpO3N3aXRjaChXLnR5cGUpe2Nhc2UgIm1hcHBpbmciOm49Vy52YWx1ZTticmVhayBhO2Nhc2UgImZhY3RvcnkiOlc9Vy52YWx1ZSgpO3RoaXMubWFwcGluZ3Muc2V0KG4udG9TdHJpbmcoKSx7dHlwZToibWFwcGluZyIsdmFsdWU6V30pO249VzticmVhayBhO2RlZmF1bHQ6bj1nLnBiKFcsdm9pZCAwKX19cmV0dXJuIG59fTt2YXIgeFY9e1dFQl9VTlBMVUdHRUQ6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09OQk9BUkRJTkc6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09QUzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfUFVCTElDOiJedW5wbHVnZ2VkLyIsV0VCX0NSRUFUT1I6Il5jcmVhdG9yLyIsV0VCX0tJRFM6Il5raWRzLyIsV0VCX0VYUEVSSU1FTlRTOiJeZXhwZXJpbWVudHMvIixXRUJfTVVTSUM6Il5tdXNpYy8iLFdFQl9SRU1JWDoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm1haW5fYXBwL3xec2Z2LyJ9O3ZhciBlcjE9Y2xhc3N7RChuLFc9e30sRD11OSl7dmFyIGI9e2NvbnRleHQ6dGhpcy5PKCk/Zy52YihuLmNsaWNrVHJhY2tpbmdQYXJhbXMsITAsITEsZy53KG4/LmNvbW1hbmRNZXRhZGF0YSxwaik/LnVybCx0aGlzLksoVykpOmcudmIobi5jbGlja1RyYWNraW5nUGFyYW1zLCExLHRoaXMuail9O3ZhciB2PXRoaXMuTihuKTtpZih2KXt0aGlzLkooYix2LFcpO3Y9TEIodGhpcy5XKCkpO3ZhciBrPWcudyhuLmNvbW1hbmRNZXRhZGF0YSxwaik/LmFwaVVybDtrJiYodj1rKTt2PVpyKEskKHYpKTtrPXtjb21tYW5kOm4sLi4udGhpcy5WKG4pfTtiPXtpbnB1dDp2LFBpOlV6KHYpLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6a307Yi5jb25maWcuQkc/Yi5jb25maWcuQkcuaWRlbnRpdHk9RDpiLmNvbmZpZy5CRz17aWRlbnRpdHk6RH07KG49dGhpcy5ZKG4pKSYmIWIuY29uZmlnLnJlcXVlc3RLZXkmJihiLmNvbmZpZy5yZXF1ZXN0S2V5PW4pO1cuYWJvcnRTaWduYWwmJihiLlBpLnNpZ25hbD0KVy5hYm9ydFNpZ25hbCk7cmV0dXJuIGJ9Vz1uZXcgZy5ReCgiRXJyb3I6IEZhaWxlZCB0byBjcmVhdGUgUmVxdWVzdCBmcm9tIENvbW1hbmQuIixuKTtnLlhqKFcpfU8oKXtyZXR1cm4hMX1nZXQgaigpe3JldHVybiExfUsoKXt9WSgpe31WKCl7fX0sUEM9Y2xhc3MgZXh0ZW5kcyBlcjF7WCgpe31ZKG4pe2cubCgid2ViX2VuYWJsZV9yZXF1ZXN0X2tleV9raWxsc3dpdGNoIikmJnRoaXMuWChuKTtyZXR1cm4gZy53KG4uY29tbWFuZE1ldGFkYXRhLHBqKT8ucmVxdWVzdEtleT8/dGhpcy5YKG4pfX07dmFyIGdnMT17R0VUX0RBVEFTWU5DX0lEUzpobShjbGFzcyBleHRlbmRzIFBDe0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50IixQaTpVeigiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX1XKCl7cmV0dXJuW119Tigpe31KKCl7fX0pfTt2YXIgd189bmV3IGcuQUwoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLCREPW5ldyBnLkFMKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLGlkPW5ldyBnLkFMKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBOUT12MCgieXRjc2lfZGVidWdfbWF4X3NpemUiLDEwMCk7dmFyIEptPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9OwpPYmplY3QuYXNzaWduKEptLHsiYW5hbHl0aWNzLmV4cGxvcmUiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FOQUxZVElDU19FWFBMT1JFIiwiYXJ0aXN0LmFuYWx5dGljcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX0FOQUxZVElDUyIsImFydGlzdC5ldmVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FSVElTVF9DT05DRVJUUyIsImFydGlzdC5wcmVzc2tpdCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX1BST0ZJTEUiLCJhc3NldC5jbGFpbWVkX3ZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NMQUlNRURfVklERU9TIiwiYXNzZXQuY29tcG9zaXRpb24iOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9DT01QT1NJVElPTiIsImFzc2V0LmNvbXBvc2l0aW9uX293bmVyc2hpcCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX09XTkVSU0hJUCIsImFzc2V0LmNvbXBvc2l0aW9uX3BvbGljeSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX1BPTElDWSIsCiJhc3NldC5lbWJlZHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9FTUJFRFMiLCJhc3NldC5oaXN0b3J5IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfSElTVE9SWSIsImFzc2V0Lmlzc3VlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0lTU1VFUyIsImFzc2V0LmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfTElDRU5TRVMiLCJhc3NldC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX01FVEFEQVRBIiwiYXNzZXQub3duZXJzaGlwIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfT1dORVJTSElQIiwiYXNzZXQucG90ZW50aWFsX2VtYmVkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX1BPVEVOVElBTF9FTUJFRFMiLCJhc3NldC5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9QT0xJQ1kiLCJhc3NldC5yZWZlcmVuY2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfUkVGRVJFTkNFUyIsCiJhc3NldC5zaGFyZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9TSEFSRVMiLCJhc3NldC5zb3VuZF9yZWNvcmRpbmdzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfU09VTkRfUkVDT1JESU5HUyIsImFzc2V0X2dyb3VwLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0FTU0VUUyIsImFzc2V0X2dyb3VwLmNhbXBhaWducyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0NBTVBBSUdOUyIsImFzc2V0X2dyb3VwLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfR1JPVVBfQ0xBSU1FRF9WSURFT1MiLCJhc3NldF9ncm91cC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX01FVEFEQVRBIiwic29uZy5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1NPTkdfQU5BTFlUSUNTIixjcmVhdG9yX2NoYW5uZWxfZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfREFTSEJPQVJEIiwKImNoYW5uZWwuYW5hbHl0aWNzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0FOQUxZVElDUyIsY2hhbm5lbF9hcHBlYWw6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9BUFBFQUwiLCJjaGFubmVsLmNvbW1lbnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0NPTU1FTlRTIiwiY2hhbm5lbC5jb250ZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DT05URU5UIiwiY2hhbm5lbC5jb250ZW50LnBvc3RzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QT1NUX0xJU1QiLCJjaGFubmVsLmNvbnRlbnQucHJvbW90aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUFJPTU9USU9OX0xJU1QiLCJjaGFubmVsLmNvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9DT1BZUklHSFQiLCJjaGFubmVsLmVkaXRpbmciOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfRURJVElORyIsImNoYW5uZWwubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01PTkVUSVpBVElPTiIsCiJjaGFubmVsLm11c2ljIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDIiwiY2hhbm5lbC5tdXNpY19zdG9yZWZyb250IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDX1NUT1JFRlJPTlQiLCJjaGFubmVsLnBsYXlsaXN0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9QTEFZTElTVFMiLCJjaGFubmVsLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9UUkFOU0xBVElPTlMiLCJjaGFubmVsLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9WSURFT1MiLCJjaGFubmVsLmxpdmVfc3RyZWFtaW5nIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9MSVZFX1NUUkVBTUlORyIsImRpYWxvZy5jb3B5cmlnaHRfc3RyaWtlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX0NPUFlSSUdIVF9TVFJJS0VTIiwiZGlhbG9nLnZpZGVvX2NvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1ZJREVPX0NPUFlSSUdIVCIsCiJkaWFsb2cudXBsb2FkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1VQTE9BRFMiLG93bmVyOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19EQVNIQk9BUkQiLCJvd25lci5hbGxvd2xpc3QiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTExPV0xJU1QiLCJvd25lci5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTkFMWVRJQ1MiLCJvd25lci5hcnRfdHJhY2tzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVJUX1RSQUNLUyIsIm93bmVyLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUUyIsIm93bmVyLmFzc2V0X2dyb3VwcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQUyIsIm93bmVyLmJ1bGsiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19CVUxLX0hJU1RPUlkiLCJvd25lci5jYW1wYWlnbnMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DQU1QQUlHTlMiLAoib3duZXIuY2hhbm5lbF9pbnZpdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0hBTk5FTF9JTlZJVEVTIiwib3duZXIuY2hhbm5lbHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DSEFOTkVMUyIsIm93bmVyLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0xBSU1FRF9WSURFT1MiLCJvd25lci5jbGFpbXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19NQU5VQUxfQ0xBSU1JTkciLCJvd25lci5jbGFpbXMubWFudWFsIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTUFOVUFMX0NMQUlNSU5HIiwib3duZXIuZGVsaXZlcnkiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DT05URU5UX0RFTElWRVJZIiwib3duZXIuZGVsaXZlcnlfdGVtcGxhdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfREVMSVZFUllfVEVNUExBVEVTIiwib3duZXIuaXNzdWVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfSVNTVUVTIiwKIm93bmVyLmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTElDRU5TRVMiLCJvd25lci5waXRjaF9tdXNpYyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1BJVENIX01VU0lDIiwib3duZXIucG9saWNpZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19QT0xJQ0lFUyIsIm93bmVyLnJlbGVhc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVMRUFTRVMiLCJvd25lci5yZXBvcnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVQT1JUUyIsIm93bmVyLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1ZJREVPUyIsInBsYXlsaXN0LnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUExBWUxJU1RfVklERU9fTElTVCIsInBvc3QuY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfQ09NTUVOVFMiLCJwb3N0LmVkaXQiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfRURJVCIsInByb21vdGlvbi5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QUk9NT1RJT05fRURJVCIsCiJ2aWRlby5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0FOQUxZVElDUyIsInZpZGVvLmNsYWltcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fQ0xBSU1TIiwidmlkZW8uY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0NPTU1FTlRTIiwidmlkZW8uY29weXJpZ2h0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19DT1BZUklHSFQiLCJ2aWRlby5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUIiwidmlkZW8uZWRpdG9yIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUT1IiLCJ2aWRlby5lZGl0b3JfYXN5bmMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0VESVRPUl9BU1lOQyIsInZpZGVvLmxpdmVfc2V0dGluZ3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0xJVkVfU0VUVElOR1MiLCJ2aWRlby5saXZlX3N0cmVhbWluZyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fTElWRV9TVFJFQU1JTkciLAoidmlkZW8ubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19NT05FVElaQVRJT04iLCJ2aWRlby5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX1BPTElDWSIsInZpZGVvLnJpZ2h0c19tYW5hZ2VtZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19SSUdIVFNfTUFOQUdFTUVOVCIsInZpZGVvLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fVFJBTlNMQVRJT05TIn0pO3ZhciBNUT1jbGFzcyBleHRlbmRzIG83e2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLk49bjt0aGlzLnRpbWVyPVd9fSxPbnQ9bmV3IGQzKCJhZnQtcmVjb3JkZWQiLE1RKTt2YXIgWEZ0PXthX2JpZF9mOjQ4MixhX2JpZF9zOjQ4MSxhYToyLGFhY2k6NDMzLGFhY3I6NDM0LGFiX3I6MTEsYWJfczoxMCxhYmM6NTc5LGFjOjE5MyxhY2M6NTExLGFjaTo1MTIsYWRfMF9lOjEzLGFkXzBfczoxMixhZF9ibDoxNCxhZF9pOjE1LGFkX21iczoxNixhZF9wcjo1NjIsYWRfdmk6MTcsYWRfdmlyOjE4LGFkYToxOTQsYWRiY19mOjU3NixhZGM6MTk1LGFkZmxfZjoxOSxhZGZsX3M6MjAsYWRsOjE5NixhZG5zOjE5NyxhZHNfZToyMixhZHNfczoyMSxhZmI6NTEzLGFmYzoxOTgsYWZsOjE5OSxhZnQ6MSxhaGI6NTE0LGFpOjIwMCxhaXNfYTo1MDMsYWlzX3I6NTAyLGFpc2Y6MjMsYWlzaToyNCxhaXNyOjI1LGFpc3M6MjYsYW1sOjIwMSxhcGFfYToyMDMsYXBhX2I6MjAyLGFwYnM6MjA0LGFwcF9sOjMsYXBwX3NpOjYxMixhcHBfc2llOjY2MSxhcHBkZWxfaToyNyxhcHBpX2U6NjE2LGFwcGlfczo2MTUsYXByOjIwNSxhcHJlczo0MzYsYXBzdXM6NDM1LGFyOjIwNixhcjQwazoyOCwKYXJiX2Y6NTA0LGFyYzoyMDcsYXJlcToyMDgsYXJmYjoyOSxhcmk6NCxhcnI6MjA5LGFycmg6MzAsYXNjZTo3ODgsYXNjZjo3ODksYXNjczo3ODcsYXNpc2ZiOjMxLGFzaXNyOjMyLGFzaXNyaDozMyxhc2lzczozNCxhc3I6MjEwLGFzeW5jX29yY2hfdF9hY3Q6NzEyLGFzeW5jX29yY2hfdF9ub3RpZnk6NzExLGF0cnI6NTE1LGF0cnM6NTE2LGF0dF9lOjIxMSxhdHRfZjoyMTIsYXR0X2ZjOjc5NyxhdHRfZnJyOjc5NixhdHRfZnM6NzkzLGF0dF9mc3I6Nzk1LGF0dF9wbmE6Nzk0LGF0dF9zOjIxMyxhdHRfd2I6MjE0LGF3ZmxfZjo1NTcsYXdmbF9zOjU1OCxiYXNlX2pzX3I6NDQxLGJjcDoyMTUsYmY6MjE2LGJnX2U6MjE3LGJnX2k6MjE4LGJnX2w6MjIwLGJnX3M6MjIxLGJnX3Y6MjE5LGJwZF9jOjQ4NCxicGRfczo0ODMsYnB0OjIyMyxicl9lOjM3LGJyX2xkOjM4LGJyX2xycHI6MzksYnJfbHJyOjQwLGJyX2x3bTo1NzcsYnJfcjo0MSxicl9zOjQyLGJyZXI6MzUsYnJlczozNixicm5yOjQzLApicm5zOjQ0LGJycGU6NDUsYnJwczo0NixicnJfZTo0NyxicnJfaTo0OCxicnJfaXVzOjQ5LGJzOjIyMixjX2M6NTAsY19jczo1MSxjX2NzZnM6NTIsY19kOjUzLGNfbGFmOjU5LGNfbGFzOjU4LGNfcm5mOjQzOCxjX3Juczo0MzcsY2M6NDY3LGNjX2M6NTQsY2NfY2Y6NTYsY2NfY3NhbGE6NTUsY2NfbGE6NTcsY2ZnOjIyNCxjaGxzOjIyNSxjaHBzOjIyNixjbDo0ODAsY21jOjIyNyxjbWRfaDo2MjksY21obDoyMjksY21pOjIyOCxjbWw6MjMwLGNtcDo3NzksY212OjIzMSxjcHQ6MjMyLGNyOjM2NCxjcl9lcnI6NjY5LGNyX3I6NjcwLGNyX3M6NjY4LGNzbDoyMzMsY3NyX3Q6NjMxLGN0OjUsY3RfbGk6NjAsZF9sOjYxLGRfbGFmOjYyLGRfbGFyOjYzLGRfbGFzOjY0LGRfbGY6NjUsZF9sczo2NixkX2x3OjY3LGRfbHdmOjY4LGRfbHdzOjY5LGRhc19jOjM2NixkYXNfczozNjUsZGNwOjIzNCxkZ19wYl9jOjIzNixkZ19wYl9yOjIzNyxkZ19wYl9zOjIzNSxkaGljOjIzOCxkbDoyMzksZG5zXzoyNDAsCmRybV9na19mOjM4OCxkcm1fZ2tfczozODcsZHJtX2tyX3I6MzkyLGRybV9rcl9zOjM5MSxkcm1fbmV0X3I6MzkwLGRybV9uZXRfczozODksZHJtX3BiX2Y6Mzg2LGRybV9wYl9zOjM4NSxkc19hYzo3MzYsZHNfYXM6NzM1LGRzX2NsYzo3NDAsZHNfY3M6NzM3LGRzX2RjOjczOSxkc19kczo3MzgsZW1wYTo0MzIsZW1wdTo0MzEsZW5wX2Vycjo2ODUsZW5wX2ZpOjY4NCxlbnBfc3Q6NjgzLGVvcHJfcjo2NzMsZXBfYV9wcl9yOjUzMixlcF9hX3ByX3M6NTMxLGVwX2hhdl9lbmQ6NTI2LGVwX2hhdl9zdGFydDo1MjUsZXBfaW5pdF9hcjo2OTksZXBfaW5pdF9jdWU6NjM1LGVwX2luaXRfY3VzOjYzNCxlcF9pbml0X2VwZTo2MzcsZXBfaW5pdF9lcHM6NjM2LGVwX2luaXRfaWplOjYzOSxlcF9pbml0X2lqczo2MzgsZXBfaW5pdF9wcjo1MjcsZXBfaW5pdF9yZTo2NDEsZXBfaW5pdF9yczo2NDAsZXBfaW5pdF93ZWU6NjQzLGVwX2luaXRfd2VzOjY0MixlcF9tYV9yZXByOjU0MyxlcF9tYV9ycjo1MzMsCmVwX21hX3NlcHI6NTQyLGVwX21hX3Nwcjo1MzQsZXBfcF9sOjUzMCxlcF9wcl9yOjUyOSxlcF9wcl9zOjUyOCxlcF9yX3ByZV9yOjU0MSxlcF9yX3JyOjUzNSxlcF9yX3NtYXI6NTM2LGVwX3JlY19lbmQ6NTM4LGVwX3JlY19zdGFydDo1MzcsZXBfcmVwc19lbmQ6NTQwLGVwX3JlcHNfc3RhcnQ6NTM5LGVwZTo2MTgsZXBzOjYxNyxlcl9jbDo2NTMsZXJfbnM6NjUyLGVyX3BlOjY1MCxlcl9wczo2NDksZXJfczo2NDgsZXJfc19ucjo3OTAsZXJfc19uczo3ODQsZXJfdDo2NTEsZmFiX3I6MjQ2LGZjYl9yOjUwNixmaXJlOjcwLGZpcnM6NzEsZm10aDoyNDEsZm9vdF9qczoyNDIsZnB0OjI0Myxmcl9zOjU2MSxmczoyNDQsZnNjOjI0NSxmc3NiMF9hOjc1LGZzc2IwX2ZyOjc0LGZzc2IwX25yOjczLGZzc2IwX25zOjcyLGZ0Xzo0MzksZnRsOjcsZnRyOjQ3NSxmdmJfcjoyNDcsZnZmOjI0OCxmeWRfZ2Y6NzY3LGZ5ZF9nczo3NjYsZ2NjOjI0OSxnY2ZsOjI1MCxnY3NyOjc2LGdlcF9lcnI6ODAwLApnZXBfcmVxOjc5OCxnZXBfcmVzOjc5OSxnZ3NyOjc3LGdpd2FfYTo2MjcsZ2l3YV9kOjYyOCxnbGM6NTkzLGdsZToyNTEsZ2xzOjI1MixncGU6MjUzLGdyYzoyNTQsZ3Jpd19ucjo3ODYsZ3Jpd19uczo3ODUsZ3Nfcjo3MzQsZ3Nfczo3MzMsZ3NtZDo1ODYsZ3Vfcjo2MjAsZ3Y6NDg1LGd3X2FpZXI6NzcxLGd3X2FyZjo3NzIsZ3dfYXJuYWY6Nzc1LGd3X2Fybm5hZjo3NzYsZ3dfYXJuczo3NzcsZ3dfYXJuc3U6Nzc4LGd3X2Fyczo3NzQsZ3dfYXJzdTo3NzMsZ3dfbWFhZjo2MzMsZ3dfbWFhczo2MzIsaGJmZzo2NzcsaGdjcjoyNTUsaHI6MjU2LGhyZTozNjMsaHJzOjM2MixoczozNzMsaHRtbF9mYl9yOjc1NSxodG1sX2ZlOjc0OCxodG1sX2ZzOjc0NyxodG1sX2Z3ZTo3NTIsaHRtbF9md3M6NzUxLGh0bWxfamNlOjc1NCxodG1sX2pjczo3NTMsaHRtbF9sYl9yOjc1NixodG1sX3NlOjc1MCxodG1sX3NzOjc0OSxpX3JwOjQ3NyxpX3JxOjQ3NixpcF9zOjY0NixpcGM6MjU3LGlwczoyNTgsCmlzbXBfYTo4MzYsaXNtcF9jOjgzOCxpc21wX2Q6ODM5LGlzbXBfaTo4MzUsaXNtcF9wOjg0MCxpc21wX3JjOjgzNyxpdF9ncDo3OCxpdl9zOjUwNSxqc3A6MjU5LGpzcjoyNjAsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yQ2FuY2VsbGVkOjgwMSxrWVRMYXRlbmN5TURFUHJvZHVjdFN0aWNrZXJFZGl0b3JGaW5pc2hlZDo4MDIsbDJzOjI2MSxsY19mcnI6NjYwLGxjX3Nfczo2NTksbGNfc191OjY1OCxsY3A6MjYyLGxkX3M6NDQwLGxpbToyNjMsbHBjZjoyNjQsbHBjczoyNjUsbHBzOjI2Nixsc19jOjM2OCxsc19zOjM2Nyxsc3M6MjY3LGx2OjI2OCxtYV9jbDo1NTEsbWFfZmZyOjU1MixtYV9mdWE6NTU0LG1hX2dyOjU1MyxtYV9pbDo1NzMsbWFpbjo3OSxtYWluX2pzX3I6NDQyLG1haW5fanNfcnE6NDQzLG1iX3M6NTA3LG1iYXBfYzozODQsbWJjX2FsYzo3MzIsbWJjX2FzbDo3MzEsbWJjX2M6Mzc1LG1iY19zOjM3NCxtYmdjaGlkX3JyOjc0NCxtYmdjaGlkX3JzOjc0NiwKbWJncl9yZjo2NTcsbWJncl9ycjozNzksbWJncl9yczozNzgsbWJsY19jOjM3NyxtYmxjX3M6Mzc2LG1ibGNoaWRfYzo3NDUsbWJsY2hpZF9zOjc0MyxtYmxjcmlkX2M6NzQyLG1ibGNyaWRfczo3NDEsbWJzX2M6MzgxLG1ic19ycjozODMsbWJzX3JzOjM4MixtYnNfczozODAsbWR4X2NjcDo4MCxtZHhfY2NzOjgxLG1keF9jY3N0OjgyLG1keF9jcjo4MyxtZHhfY3M6ODQsbWR4X2xzOjg1LG1keF9vZmY6ODYsbWR4X3NjOjg3LG1lX2I6NTU1LG1lX2M6Njg3LG1lX2Y6NTU2LG1lX2ZhOjY4OCxtZXN2X3M6NTA5LG1tX2llOjcyMCxtbV9pczo3MTksbXJjOjI2OSxtcnM6MjcwLG1zYToyNzEsbXN0aTo4OCxtc3RyOjg5LG5fY3Q6NzAyLG5fc3I6Njk3LG5fc3c6Njk4LCJuY1swLTldIjoyNzIsbmNsOjI3MyxuY3Q6Mjc0LG5kOjI3NSxuZG5zZToyNzYsbmRuc3M6Mjc3LCJucFswLTldIjoyNzgsbnI6Mjc5LG5yZToyODAsbnJlcXM6MjgxLG5yZXNlOjI4MixucmVzczoyODMsbnJycHM6OTAsCm5yczoyODQsbnN0Y3BzOjI4NSxudGNwZToyODYsbnRjcHM6Mjg3LG53cDoyODgsb2FkMnM6NDI1LG9hZnNfcjo0MDcsb2Fmc19ycDo0MDksb2Fpc3I6NDA1LG9hcjJzOjQxMixvYXJwMnM6NDI3LG9jc2lfejo5MSxvY3RrOjYyMSxvY3RwOjYyMixvZmFycDo0MjMsb2Zkbzo0MDAsb2Zkb3M6Mzk4LG9mcjo0MTcsb2Z2cnA6NDI0LG9nc2ZfYzozOTUsb2dzZl9zOjM5NCxvaHJfcjo3NjUsb2hyX3M6NzY0LG9sOjYsb2xfaTo4LG9sb2NfZTo4MzAsb2xvY19zYTo4Mjksb2xvY19zczo4Mjgsb21kX2M6NDIyLG9tZF9zOjQyMSxvbXBfYzo0MTksb21wX3I6NDE4LG9wZmM6NjgwLG9wcl9yOjQxNCxvcHJkX3M6NDE1LG9wcmd6Ml9lOjg0MixvcHJnejJfZjo4NDMsb3ByZ3oyX3M6ODQxLG9wcmd6X3M6Njg5LG9wcnI6NDE2LG9yMTAwazo0MTEsb3JfZmU6NDI5LG9yX2ZzOjQzMCxvcl9pOjM5Myxvcl9wOjM5NyxvcmNoX3JfZDo2OTQsb3JjaF9yX3M6Njk1LG9yY2hfdF9wbWQ6NzcwLG9yY2hfdF9wbXM6NzY5LApvcmNoX3RfdGNlZDo3MDgsb3JjaF90X3RjZXM6NzA1LG9yY2hfdF90ZDo2OTIsb3JjaF90X3RtZDo4MDQsb3JjaF90X3Rtczo4MDMsb3JjaF90X3VkOjY5MyxvcmNoX3RfdXM6Njk2LG9yZmI6NDA0LG9yaF9yOjQwMyxvcm1rOjQyMCxvcnFwYl9hOjgzMSxvcnFwYl9lOjgzNCxvcnFwYl9zOjgzMixvcnFwYl93OjgzMyxvc2RvOjQwMSxvc2RvZjo0MDIsb3Nkb3M6Mzk5LG9zb3I6Mzk2LG92ZDJzOjQyNixvdmZzX3I6NDA4LG92ZnNfcnA6NDEwLG92aXNyOjQwNixvdnIyczo0MTMsb3ZycDJzOjQyOCxwYWM6Mjg5LHBhcmk6NTE3LHBhdDoyOTAscGIwX3M6NjExLHBiX3JxX2F1dGh6OjQ0NixwYl9ycV9jdHRfY2ZtOjQ0NyxwYmNfZTo2NjMscGJjX3M6NjYyLHBiZl9jOjkyLHBicDo0ODYscGJyZXN1bWU6MjkyLHBiczo0ODcscGJ1OjI5MyxwYzo0ODgscGNjOjU0NixwY2U6NTQ3LHBjcTo1NDQscGNyOjU0NSxwY3VfYXA6ODA5LHBjdV9jZTo1ODEscGN1X2NzOjU4MCxwY3VfcmU6ODA4LHBjdV9yczo4MDcsCnBjdV9zOjgwNSxwY3Vfc2U6ODA2LHBkYToyOTQscGRjOjI5NSxwZHI6Mjk2LHBlOjI5NyxwZW1fcjo0NDQscGVtX3JxOjQ0NSxwZmplOjMwOSxwZnJyOjMwNSxwZnJzOjMwNixwZnM6MzA3LHBmdDozMDgscGZ0X2k6OTMscGxfYzoyOTEscGxfaTo0ODkscGxfaW50OjQ5MCxwbF9yOjQ5MSxwbF9yYzo3MDMscGxfczo0OTIscGxfc3M6NDkzLHBsZXY6MzEwLHBsanNfcjo0NDgscGxqc19ycTo0NDkscGx2czo3MjMscG90X2FmOjk3LHBvdF9hczo5Nixwb3RfY21lOjU2OSxwb3RfY21mOjI5OSxwb3RfY21zOjI5OCxwb3RfY3NtZTo1NzAscG90X2NzbWY6MzAxLHBvdF9jc21zOjMwMCxwb3RfaWY6MzA0LHBvdF9pbml0Zjo5NSxwb3RfaXNjOjMwMixwb3RfaXN0OjMwMyxwb3Rfc2U6NTY1LHBvdF9zZjo1NjQscG90X3NzOjU2Myxwb3RfeGU6NTY4LHBvdF94Zjo1NjcscG90X3hzOjU2Nixwb3RwZTo5NCxwcHU6OTgscHJvY19rOjYxMyxwcm9jX2tfbDo2MTQscHM6MzExLHBzX2JzOjY0Nyxwc19jOjQ5NCwKcHNfZXM6OTkscHNfcGE6NjgxLHBzX3BpaGY6NTk3LHBzX3BpaHM6NTk2LHBzX3I6MzYwLHBzX3M6MzYxLHBzX3NnZjo1OTUscHNfc2dzOjU5NCxwc25yOjQ5NSxwc25zOjQ5Nixwc3BlOjEwMCxwc3BzOjEwMSxwdF9tZTo4MTUscHRfbWY6ODE0LHB0X21zOjgxMyxwdF9waWU6ODEyLHB0X3BpZjo4MTEscHRfcGlzOjgxMCxwdF9waXNoOjYwNixwdnJpOjUxOCxwd2M6MzEyLHFvZXM6MzEzLHJfY19zbGQ6NDUwLHJfY19zcnE6NDUxLHJfY29ubmVjdF9iYWNrZW5kOjQ1MixyX2Nvbm5lY3RfYmFja2VuZF9zdWNjZXNzOjQ1MyxyX2Nvbm5lY3RlZDo0NTQscl9jb25zdHJ1Y3Rpb246NDU1LHJfZGlzY29ubmVjdGVkOjQ1NixyX2ViaTo2NjQscl9lb2Q6NTg1LHJfZjo0NTcscl9vcjo3MTMscl9wbDoxMDUscl9wczoxMDYscl9ycV9wbHk6NDU4LHJfc19wbHlsc3Q6NDU5LHJfc192aWQ6NDYwLHJfc3RhdHVzX3VwZGF0ZTo0NjEscl90cjoxMDcscl92dGM6MTA0LHJfd2lwYmM6NTg0LHJfd25yOjc5MiwKcl93bnM6NzkxLHJfd3JyOjEwMyxyX3dyczoxMDIscl93c3JwOjYwOSxyX3dzcnI6NjA4LHJfd3Nyczo2MDcscmN2XzozMTQscmVtb3ZlX3NwbGFzaDo0NjIscmVxXzozMTUscmZnOjMxNixyZ3JfbnJmOjYwMCxyZ3Jfczo1OTkscnBlOjgxNixycGx5X3JxZDo0NjMscnBzOjgxNyxyc19zOjUwOCxyc2FlX3BjOjMzMixyc2FlX3BlajozMzQscnNhZV9wajozMzMscnNiZV9wYzozMjMscnNiZV9wZWo6MzI1LHJzYmVfcGo6MzI0LHJzZV9wYzozMjAscnNlX3BlajozMjIscnNlX3BqOjMyMSxyc2VmX3BjOjMyOSxyc2VmX3BlajozMzEscnNlZl9wajozMzAscnNlc19wYzozMjYscnNlc19wZWo6MzI4LHJzZXNfcGo6MzI3LHJzZl9wYzozMTcscnNmX3BlajozMTkscnNmX3BqOjMxOCxydGltZV86MzM1LHJ1cmxfZToxMDgscnVybF9yOjEwOSxydXJsX3M6MTEwLHJ1cmxwZToxMTEscnVybHBzOjExMixzM3Rfcjo0NzIsc2FfZjo2MjQsc2FfZm86NjI1LHNhX3M6NjIzLHNhZl9mcDo2NjUsc2FmX3I6NjY2LApzYWZfcmU6NjY3LHNhc19pOjYyNixzY2dhdF9mZnM6NTYwLHNjZ2F0X2ZzOjU1OSxzZGFfZjo2MDUsc2RhX2k6NjA0LHNkYV9yZWNwOjYwMSxzZGFfcnNwcDo2MDMsc2RhX3JzcHI6NjAyLHNkbF9lOjY1NSxzZGxfczo2NTQsc2RsX3Q6NjU2LHNmX2k6MTEzLHNnc2Nfcjo3ODEsc2dzY19zOjc4MCxzaG93X2NhbGxfdG9fY2FzdDo0NjQsc2hyYl9jOjE2NSxzaHJvX2M6MTcwLHNocm9fcjoxNjcsc2hycF9jOjE2OSxzaHJwX2xkOjE2NixzaHJwX3A6MTY4LHNvX3I6MTE5LHNvX3JlOjExOCxzb19ycToxMjAsc3BhOjExNCxzcGQ6MTE1LHNwZjoxMTYsc3Bucl9oOjY3MixzcG5yX3M6NjcxLHNwcjo2Nzgsc3JfZToxMTcsc3JfcDoxMjEsc3JfcGE6MTIyLHNyX3I6MTIzLHNyX3JlOjEyNCxzcl9zOjEyNSxzcl91aToxMjYsc3J0OjMzNixzc19yOjQ2OSxzc19zOjQ2OCxzc19zZl9zOjcyNCxzc19zZl93OjcyNSxzc25yOjEyNyxzc25zOjEyOCxzdGNwXzozMzcsc3RlX2FsZjo1ODksc3RlX2M6NTkyLApzdGVfZWxmOjU5MCxzdGVfZjo1OTEsc3RlX2Z0bDo1ODgsc3RlX2w6NTg3LHN0dHNfYjo1ODIsc3R0c19mOjU4MyxzdHZzX2Y6NjkxLHN0dnNfczo2OTAsc3ZlOjQ2NixzdnM6NDY1LHN3X2ZiOjUxMCxzd19pOjc4Myxzd19yOjQ5Nyxzd19zOjQ5OCxzd3Nucjo4MTksc3dzbnM6ODE4LHN3c3BlOjgyMSxzd3Nwczo4MjAsdGNwXzozMzgsdGVueF9sOjQ3MSx0ZW54X3I6NDcwLHRoMF9oOjYxMCx0aDBfbmM6Njc1LHRoMF9uZTo2NzYsdGgwX25yOjEyOSx0aDBfbnM6Njc0LHRoX2NfMTo3MDksdGhfZF8xOjcxMCx0aF9sXzE6MTMwLHRoX3NfMTo1NzgsdGhzYjBfZnI6MTM0LHRoc2IwX25lOjEzMSx0aHNiMF9ucjoxMzIsdGhzYjBfbnM6MTMzLHR0YzozMzksdHRjcjozNDAsdWlfbDoxMzUsdWliZl9jOjE0MSx1aWJmX3I6MTQzLHVpYmZfczoxNDIsdWlzZl9yOjE0NCx1aXd3YV9iYzo2MTksdWl3d2FfYzoxMzYsdWl3d2FfZToxNDAsdWl3d2FfcHI6MTM5LHVpd3dhX3I6MTM4LHVpd3dhX3M6MTM3LAp1bHJzX2M6MzcwLHVscnNfczozNjksdW5rbm93bjowLHVyOjM0MSx2Yzo2ODIsdmNjOjUxOSx2Y2k6NTIwLHZkYTozNDIsdmRldWM6MzQzLHZkZXVyOjM0NCx2ZGV1czozNDUsdmRuczozNDYsdmZiOjUyMSx2ZnA6MzQ3LHZoYjo1MjIsdmlyOjM0OCx2aXJjOjM0OSx2aXNfYTo1MDAsdmlzX3I6NDk5LHZpc2Y6MTQ1LHZpc2k6MTQ2LHZpc3I6MTQ3LHZpc3M6MTQ4LHZvel9jeDoxNzksdm96X2VvdToxODcsdm96X2VycjoxODQsdm96X2Vycl9tczoxODAsdm96X2Vycl9ubXA6MTgxLHZvel9lcnJfb2ZmOjE4Myx2b3pfZXJyX3VhcjoxODIsdm96X2Z0cjoxODgsdm96X2Z2YzoxODksdm96X2xyX2xzbzoxODUsdm96X2xyX21kOjE4Nix2b3pfbWY6MTcyLHZvel9tczoxNzEsdm96X3JxZjoxNzQsdm96X3JxczoxNzMsdm96X3NmOjE3OCx2b3pfc3M6MTc3LHZvel92cDoxNzUsdm96X3Z0OjE3Nix2cGw6MzUwLHZyOjM1MSx2cjEwMGs6MTQ5LHZyYl9mOjUwMSx2cmM6MzUyLHZyZXE6MzUzLHZyZmI6MTUwLAp2cmk6OSx2cnI6MzU0LHZycl9yOjQ3NCx2cnJfczo0NzMsdnJyaDoxNTEsdnNpc2ZiOjE1Mix2c2lzcjoxNTMsdnNpc3JoOjE1NCx2c2lzczoxNTUsdnRhOjM1NSx2dHJyOjUyMyx2dHJzOjUyNCx3X3N0OjE1Nix3YXNtX2ZhOjgyNix3YXNtX2ZlcnI6ODI3LHdhc21fZnc6ODI1LHdhc21fczo4MjQsd2M6MzcyLHdjcjozNTYsd2ViZmVfZTo3Mjgsd2ViZmVfZ2JtX3I6NzU4LHdlYmZlX2dibV9zOjc1Nyx3ZWJmZV9nbF9yOjc2Mix3ZWJmZV9nbF9zOjc2MSx3ZWJmZV9nc19yOjc2MCx3ZWJmZV9nc19zOjc1OSx3ZWJmZV9ndXNfcjo3MzAsd2ViZmVfZ3VzX3M6NzI5LHdlYmZlX2d2bV9zOjc2Myx3ZWJmZV9zOjcyNyx3ZmZlOjM1Nyx3ZmZzOjM1OCx3Zmc6MzU5LHduX2U6MTYyLHduX2w6MzcxLHduX3I6MTU5LHduX3JwOjQ3OCx3bl9zOjE2MCx3bl9zbDoxNjEsd25sOjE1OCx3bmxfZDo4MjMsd25sX21wOjU3MSx3bmxfcGQ6ODIyLHdubHI6NTcyLHdubHM6MTU3LHducGU6MTYzLHducHM6MTY0LAp3cDo0Nzksd3NfY2U6MTkwLHdzX3NzOjE5MSx3c19zc3I6MTkyLHljZWM6NTQ5LHljZWY6NTQ4LHljZnRyOjY0NSx5Y2lmOjU1MCx5Y21zZjo2NDQseWNyYzo3MTgseWNyZjo3MTcseWNyczo3MTQseWNyc2M6NzE1LHljcnVlYTo3MTZ9O3ZhciBtcT1nLnFpLnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtnLkdiKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsbXEpO3ZhciBQYj1nLnFpLnl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzX3x8e307Zy5HYigieXRMb2dnaW5nTGF0ZW5jeVVzYWdlU3RhdHNfIixQYik7CnZhciBLQj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj0wfXRpY2sobixXLEQsYil7Wk0odGhpcyxgdGlja18ke259XyR7V31gKXx8KEQ9e3RpbWVzdGFtcDpELGN0dEF1dGhJbmZvOmJ9LFc9e3RpY2tOYW1lOm4sY2xpZW50QWN0aW9uTm9uY2U6V30sZy5sKCJ5b3V0dWJlX3dlYl9jc2lfdGlja3NfbWlncmF0aW9uIikmJihuPVhGdFtuXSxuIT09dm9pZCAwJiYoVy50aWNrPW4sZGVsZXRlIFcudGlja05hbWUpKSxnLnpVKCJsYXRlbmN5QWN0aW9uVGlja2VkIixXLEQpKX1pbmZvKG4sVyxEKXt2YXIgYj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtaTSh0aGlzLGBpbmZvXyR7Yn1fJHtXfWApfHwobj1PYmplY3QuYXNzaWduKHt9LG4pLG4uY2xpZW50QWN0aW9uTm9uY2U9VyxnLnpVKCJsYXRlbmN5QWN0aW9uSW5mbyIsbix7Y3R0QXV0aEluZm86RH0pKX1qc3BiSW5mbyhuLFcsRCl7dmFyIGI9IiI7Zm9yKGxldCB2PTA7djxZdihuKS5sZW5ndGg7disrKVl2KG4pW3ZdIT09dm9pZCAwJiYKKGI9dj09PTA/Yi5jb25jYXQoYCR7dn1gKTpiLmNvbmNhdChgXyR7dn1gKSk7Wk0odGhpcyxgaW5mb18ke2J9XyR7V31gKXx8KGcuU0UobiwyLFcpLFc9e2N0dEF1dGhJbmZvOkR9LEQ9Zy5sKCJqc3BiX3NwYXJzZV9lbmNvZGVkX3Bpdm90Iik/bmV3IFp2KFt7fV0pOm5ldyBadixyZShELFVrciw3LHlZMSxuKSxmMmooRCxXKSl9c3BhbihuLFcsRCxiKXt2YXIgdj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtpZihifHwhWk0odGhpcyxgc3Bhbl8ke3Z9XyR7V31gKSluLmNsaWVudEFjdGlvbk5vbmNlPVcsZy56VSgibGF0ZW5jeUFjdGlvblNwYW4iLG4se2N0dEF1dGhJbmZvOkR9KX19O3ZhciBaWj13aW5kb3cscWtyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50aW1pbmc9e307dGhpcy5jbGVhclJlc291cmNlVGltaW5ncz0oKT0+e307CnRoaXMud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9Owp0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5tc0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5vQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9fX0sVUg9WloucGVyZm9ybWFuY2V8fFpaLm1velBlcmZvcm1hbmNlfHxaWi5tc1BlcmZvcm1hbmNlfHxaWi53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IHFrcjt2YXIgd2I9ITEsbCQ9ITEsUXY9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9InBsYXllci93d3ctcGxheWVyIl0nOiJwYyIsJ3NjcmlwdFtuYW1lPSJkZXNrdG9wX3BvbHltZXIvZGVza3RvcF9wb2x5bWVyIl0nOiJkcGoiLCdsaW5rW3JlbD0iaW1wb3J0Il1bbmFtZT0iZGVza3RvcF9wb2x5bWVyIl0nOiJkcGgiLCdzY3JpcHRbbmFtZT0ibW9iaWxlLWMzIl0nOiJtY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1jMyJdJzoibWNjIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXBob25lL2Jhc2UiXSc6Im1jcHBqIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXRhYmxldC9iYXNlIl0nOiJtY3B0aiIsCidsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX2NzcyJdJzoibWJjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX2luX3VzZXJzX21vZCJdJzoibWJsaXVqIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX291dF91c2Vyc19tb2QiXSc6Im1ibG91aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX25vbmNvcmVfbW9kIl0nOiJtYm5qIiwiI3BsYXllcl9jc3MiOiJtYnBjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfZGVza3RvcHBsYXllcl9tb2QiXSc6Im1icGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZV9ibGF6ZXJfdGFibGV0X2NzcyJdJzoibWJ0YyIsCidzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSxabmk9KDAsZy5LdCkoVUguY2xlYXJSZXNvdXJjZVRpbWluZ3N8fFVILndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzfHxVSC5tb3pDbGVhclJlc291cmNlVGltaW5nc3x8VUgubXNDbGVhclJlc291cmNlVGltaW5nc3x8VUgub0NsZWFyUmVzb3VyY2VUaW1pbmdzfHxnLkZULFVIKTt2YXIgVUM9d2luZG93O1VDLnl0Y3NpJiYoVUMueXRjc2kuaW5mb0dlbD1nLm5sLFVDLnl0Y3NpLnRpY2s9Zy5hTCk7dmFyIG85aj1bInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuQnJvd3NlUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBsYXllclJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QYW5lbFJlc3BvbnNlIl0sWDc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLmo9bjt0aGlzLnlHPVc7dGhpcy5XPUQ7dGhpcy5YPWI7dGhpcy5KPXY7dGhpcy5OPW5ldyBNYXA7bi53ZHx8KG4ud2Q9e30pO24ud2Q9ey4uLmdnMSwuLi5uLndkfX19O3ZhciBhOD1uZXcgZy5BTCgiSU5ORVJUVUJFX1RSQU5TUE9SVF9UT0tFTiIpLFZXPW5ldyBnLkFMKCJSRVNQT05TRV9QUk9DRVNTT1JfTUFQX1RPS0VOIik7dmFyIE1hPW5ldyBnLkFMKCJFTkRQT0lOVF9NQVAiKTt2YXIgeVg9Y2xhc3N7fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPSJwZW5kaW5nIjt0aGlzLko9W107dGhpcy5XPVtdO3RyeXtuKHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpfWNhdGNoKFcpe3RoaXMucmVqZWN0KFcpfX1zdGF0ZSgpe3JldHVybiB0aGlzLk49PT0iZnVsZmlsbGVkIj97c3RhdGU6ImZ1bGZpbGxlZCIsdmFsdWU6dGhpcy5yZXN1bHR9OnRoaXMuTj09PSJyZWplY3RlZCI/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fVgobil7WW8obil8fFlEKG4pP1NrKEhQKG4pLHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLk49ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9bixtRSh0aGlzKSl9cmVqZWN0KG4pe3RoaXMuTj0icmVqZWN0ZWQiO3RoaXMuZXJyb3I9bjttRSh0aGlzKX19LFlEPXEzKG49PmtDeChuKT9uIGluc3RhbmNlb2YgTnI6ITEpO3ZhciBjZT1uZXcgZy5BTCgiQVVUSF9TRVJWSUNFX1RPS0VOIik7dmFyIHVkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIEQ9bi55dFJlcXVlc3Q7Zy5SVShELmlucHV0KTt2YXIgYj1ELlBpPy5tb2RlPT09ImNvcnMiPyJjb3JzIjp2b2lkIDA7aWYoVy5OLnNCKXt2YXIgdj1ELmNvbmZpZzt2PVcuTi5haih2Py5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6dj8uQkc/LnNlc3Npb25JbmRleH0pO2I9ey4uLmtWKGIpLC4uLnZ9fWVsc2UgYj15aWVsZCpQUChNRXcoVyxELmNvbmZpZyxiKSk7RC5QaT17Li4uRC5QaSxoZWFkZXJzOnsuLi4oRC5QaT8uaGVhZGVycz8/e30pLC4uLmJ9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczpufX0oKX0pfX07CnVkW2cuTFhdPVtjZV07dmFyIGFqPW5ldyBnLkFMKCJSRVNQT05TRV9NQUNISU5FX1JFR0lTVFJZX1RPS0VOIiksblI9bmV3IGcuQUwoIlJFU1BPTlNFX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpO3ZhciBCZT1uZXcgZy5BTCgiRVBIRU1FUkFMX1NUT1JFX1RPS0VOIik7dmFyIG9qPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuTj1uO3RoaXMuSj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5KLEQ9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9Yi5jb25maWc/LkhuPy5STDtpZih2JiZXJiZXLmhhcyh2KSYmIWIuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz15aWVsZCpQUChIUChXLmdldCh2KSkpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGcubCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFrLmlzUHJvY2Vzc2VkKCk/KGs9RCgpLGI9eWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOmIseXRSZXF1ZXN0Om4ueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmJ9KSksCnlpZWxkKlBQKEhQKHRlKFcsdikpKSx7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpifSk6e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Yn19cmV0dXJue25leHRTdGF0ZToiTE9DQUxfUk9VVEVSIixwYXJhbXM6bn19KCl9KX19OwpvaltnLkxYXT1bblIsZy5ocChCZSldO3ZhciBkXz1jbGFzcyBleHRlbmRzIHlYe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLko9bjt0aGlzLk49V31leGVjdXRlKG4pe3ZhciBXPXRoaXMuSixEPXRoaXMuTixiPW4ueXRSZXF1ZXN0LHY9Yj8uaW5uZXJUdWJlUmVxdWVzdD8uY29udGV4dDtpZighdilyZXR1cm4gSFAoe25leHRTdGF0ZToiQVVUSCIscGFyYW1zOm59KTt2YXIgaz1bXTtpZihEJiZELmxlbmd0aD4wKWZvcihsZXQgaCBvZiBEKUQ9aC5CcyhiKSxELk4mJmsucHVzaChELk4pO2ZvcihsZXQgaCBvZiBXfHxbXSloLkJzKHYpO3JldHVybiBrLmxlbmd0aD4wP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7eWllbGQqUFAoSFAoUHJvbWlzZS5hbGwoaykpKTtyZXR1cm57bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6bn19KCl9KTpIUCh7bmV4dFN0YXRlOiJBVVRIIiwKcGFyYW1zOm59KX19O2RfW2cuTFhdPVtnLmhwKG5ldyBnLkFMKCJDT05URVhUX1BST0NFU1NPUl9NQVAiKSksZy5ocChuZXcgZy5BTCgiQVNZTkNfQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpXTt2YXIgelc9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuTj1ufWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBEPW4ueXRSZXF1ZXN0LmNvbmZpZz8ucmVxdWVzdEtleTtyZXR1cm4gRCYmVy5oYXMoRCkmJihEPVcuZ2V0KEQpLEQ9eWllbGQqUFAoSFAoRCkpKT97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpEfTp7bmV4dFN0YXRlOiJGRVRDSCIscGFyYW1zOm59fSgpfSl9fTsKeldbZy5MWF09W2lkXTt2YXIgR3h0PW5ldyBnLkFMKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIGxkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuSj1uO3RoaXMuTj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OLEQ9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9bi5jaHVua0NhbGxiYWNrLGs9e3R5cGU6IlBBR0VfQ09OVFJBQ1QifTtpZihXPy5yNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpe2xldCB4PXlpZWxkKlBQKEhQKFcuWVIoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpKSk7aWYoeCl7bGV0IEw9ITE7dmFyIGg9ZnVuY3Rpb24oZSxHKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHI9RCgpO3lpZWxkKlBQKHlxKHIse3dpcmVSZXNwb25zZTpHLHl0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6dixyZXNwb25zZVBheWxvYWQ6a30pKTtMPSEwfSgpfTsKeC5wbGF5ZXJSZXNwb25zZSYmKHlpZWxkKmgoeC5wbGF5ZXJSZXNwb25zZSx7cGxheWVyUmVzcG9uc2U6eC5wbGF5ZXJSZXNwb25zZX0pKTt4LndhdGNoTmV4dFJlc3BvbnNlJiYoeWllbGQqaCh4LndhdGNoTmV4dFJlc3BvbnNlLHt3YXRjaE5leHRSZXNwb25zZTp4LndhdGNoTmV4dFJlc3BvbnNlfSkpO0x8fChoPUQoKSx5aWVsZCpQUCh5cShoLHt3aXJlUmVzcG9uc2U6eCx5dFJlcXVlc3Q6YixjaHVua0NhbGxiYWNrOnYscmVzcG9uc2VQYXlsb2FkOmt9KSkpO2lmKHYpcmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6a307aD1rLmNvbnRlbnR8fGsucGxheWVyfHxrLnlCO3JldHVybiBrLnR5cGU9PT0iUEFHRV9DT05UUkFDVCImJmg/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aH06e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6eH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkZhbGxiYWNrTm9kZSBmYWlsZWQgdG8gcHJvZHVjZSBhIHZhbGlkIHJlc3BvbnNlIil9fSgpfSl9fTsKbGRbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIEVDPWNsYXNzIGV4dGVuZHMgZy5ReHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoVyx7c3RhdHVzOkQsLi4uW119KTt0aGlzLnR5cGU9bjt0aGlzLnN0YXR1cz1EO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBsQj1uZXcgZy5BTCgiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFRXPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXLEQsYil7c3VwZXIoKTt0aGlzLnlHPW47dGhpcy5OPVc7dGhpcy5XPUQ7dGhpcy5KPWJ9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLnlHLEQ9dGhpcy5OLGI9dGhpcy5XLHY9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBrPW4ueXRSZXF1ZXN0LGg9bi5jaHVua0NhbGxiYWNrLHg9ay5jb25maWc/LnJlcXVlc3RLZXksTD1KU09OLnN0cmluZ2lmeShrLmlubmVyVHViZVJlcXVlc3QpLGU9ey4uLmsuUGksYm9keTprLlBpLm1ldGhvZD09PSJQT1NUIj9MOnZvaWQgMH07ay5jb25maWc/LkxhJiZnLmFMKGsuY29uZmlnLkxhKTt2YXIgRz17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHI9MCxOPXk9PntFbyhiKCkse3dpcmVSZXNwb25zZTp5LHl0UmVxdWVzdDprLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6R30scisrKX07Ckw9KCk9Pmg/Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcsTik6Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcpOwp0cnl7dmFyIEg9dj92LlFOKGssTCk6TCgpfWNhdGNoKHkpe0g9UHJvbWlzZS5yZWplY3QoeSl9eCYmRCYmRC5zZXQoeCxIKTt0cnl7dmFyIEE9eWllbGQqUFAoSFAoSCkpfWNhdGNoKHkpe3JldHVybiBnLmwoIndlYl9lbmFibGVfcmV0cmllcyIpJiYoQT15IGluc3RhbmNlb2YgVHlwZUVycm9yJiZ5Lm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj8xOjAsVW8oQSkpP3tuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLm4sZXJyb3I6bmV3IEVDKEEseS5tZXNzYWdlKSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTp7bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX19eCYmRCYmRC5kZWxldGUoeCk7ZWsoeEQoay5pbnB1dCkpKCk7ay5jb25maWc/LlJWJiZnLmFMKGsuY29uZmlnLlJWKTtpZighQSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX07aWYoQSYmdHlwZW9mIEE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoQSkmJih4PUEseC5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJgooeD14LmVycm9yTWV0YWRhdGEuc3RhdHVzLEg9eD09PTUwM3x8eD09PTUwNHx8eD09PTQyOT8yOng+PTQwMCYmeDw1MDB8fHg+PTUwMD8zOjAsVW8oSCkmJmcubCgid2ViX2VuYWJsZV9yZXRyaWVzIikpKSlyZXR1cm57bmV4dFN0YXRlOiJSRVRSWSIscGFyYW1zOnsuLi5uLGVycm9yOm5ldyBFQyhILGBIVFRQIFN0YXR1cyAke3h9YCx4KSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTshaCYmQSYmKHg9YigpLHg9eWllbGQqUFAoRW8oeCx7d2lyZVJlc3BvbnNlOkEseXRSZXF1ZXN0OmsscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn19KSksSD14LmNvbnRlbnR8fHgucGxheWVyfHx4LnlCLHgudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmSCYmKEE9SCkpO3g9QTtpZihBcnJheS5pc0FycmF5KEEpKWlmKEE9QS5maWx0ZXIoeT0+ISh5LnBsYXllclJlc3BvbnNlfHx5LndhdGNoTmV4dFJlc3BvbnNlfHx5KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLEEubGVuZ3RoPT09CjEpeD1BWzBdOwplbHNlIGlmKEEubGVuZ3RoPjEpeD1BLmZpbmQoeT0+eS53YXRjaE5leHRSZXNwb25zZSl8fEFbMF07CmVsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmV0Y2hOb2RlIHByb2R1Y2VkIG9ubHkgZnJhbWV3b3JrLW9ubHkgcmVzcG9uc2VzIil9O3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmgmJiFnLmwoIndlYl9ubV9mZXRjaF9jaHVua19jYWxsYmFja19rcyIpP0c6eH19KCl9KX19OwpUV1tnLkxYXT1bbEIsaWQsblIsZy5ocChuZXcgZy5BTCgiUkVRVUVTVF9TRVFVRU5DSU5HIikpXTt2YXIgams9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKCk7dGhpcy5KPW47dGhpcy5OPVd9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLk4sRD10aGlzLkosYj1uLnl0UmVxdWVzdDtyZXR1cm4gVz8uckEoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHY9eWllbGQqUFAoSFAoVy5zNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpKTt2YXIgaz1EKCk7di5wbGF5ZXJSZXNwb25zZSYmdi53YXRjaE5leHRSZXNwb25zZT8oeWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTp2LnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6bi55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazpuLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6di5wbGF5ZXJSZXNwb25zZX0pKSxrPXlpZWxkKlBQKHlxKGssCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOnYud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2LndhdGNoTmV4dFJlc3BvbnNlfSkpKTprPXlpZWxkKlBQKHlxKGsse3dpcmVSZXNwb25zZTp2LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2fSkpO3ZhciBoPWsuY29udGVudHx8ay5wbGF5ZXJ8fGsueUI7ay50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZoJiYodj1oKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTp2fX0oKX0pOkhQKHtuZXh0U3RhdGU6IkNPTlRFWFQiLApwYXJhbXM6bn0pfX07amtbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIENsPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dHJ5e3ZhciBEPXlpZWxkKlBQKFZFMihXLG4uY29tbWFuZCwhIW4uY2h1bmtDYWxsYmFjaykpfWNhdGNoKGIpe3JldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6Yn19cmV0dXJuKEQ9RC5EKG4uY29tbWFuZCxuLmZvcm0sbi5pZGVudGl0eSkpP3tuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDpELGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrfX06e25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmFpbGVkIHRvIGJ1aWxkIHJlcXVlc3QgZm9yIGNvbW1hbmQiKX19KCl9KX19OwpDbFtnLkxYXT1bTWFdO3ZhciBCUD1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OlcsYXBpUGF0aDpELGNsaWNrVHJhY2tpbmdQYXJhbXM6Yixjb25maWc6dj17Qkc6e2lkZW50aXR5OnU5fX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTprPSEwLGNodW5rQ2FsbGJhY2s6aH09bjtXLmNvbnRleHR8fChXLmNvbnRleHQ9Zy52YihiLGspKTt2YXIgeD1acihLJChEKSk7cmV0dXJue25leHRTdGF0ZToiQ0FDSEUiLHBhcmFtczp7eXRSZXF1ZXN0OntpbnB1dDp4LFBpOlV6KHgpLGlubmVyVHViZVJlcXVlc3Q6Vyxjb25maWc6dn0sY2h1bmtDYWxsYmFjazpofX19KCl9KX19O3ZhciB0NE09Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50ZT1ufXJ1bihuLFcpe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBiPW4sdj1XLGs9W107Oyl7ay5wdXNoKFN0cmluZyhiKSk7dj15aWVsZCpQUChELnRlW2JdLmV4ZWN1dGUodikpO2lmKHYubmV4dFN0YXRlPT09IkRPTkUiKXJldHVybiBrLnB1c2goIkRPTkUiKSx2LnZhbHVlO2lmKHYubmV4dFN0YXRlPT09IkZBSUxFRCIpdGhyb3cgay5wdXNoKGBGQUlMRUQoJHt2LmVycm9yLm1lc3NhZ2V8fCJlcnJvciJ9KWApLHYuZXJyb3I7Yj12Lm5leHRTdGF0ZTt2PXYucGFyYW1zfX0oKX0pfX07Zy5Ncj1jbGFzcyBleHRlbmRzIHQ0TXt9O2cuTXIucHJvdG90eXBlLkQ9V1ooMSk7Zy5NcltnLkxYXT1bd19dO3ZhciBGNz1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIFc9bi55dFJlcXVlc3QsRD1uLmVycm9yLGI9bi5hdHRlbXB0LHY9bi5jaHVua0NhbGxiYWNrLGs9Vy5jb25maWc/Llh4O2lmKCEoayYmRCBpbnN0YW5jZW9mIEVDJiZVbyhELnR5cGUpKXx8Yj4oay5tYXhSZXRyaWVzPz8wKSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnt5dFJlcXVlc3Q6VyxjaHVua0NhbGxiYWNrOnZ9fTt2YXIgaD0oRD1rLmtVKT9ELlBaKGIpOi0xO2g9PT0tMSYmKGg9MUUzKTtrLlQ2IT09dm9pZCAwJiYoaD1NYXRoLm1pbihoLGsuVDYpKTt5aWVsZCpQUChIUChuZXcgUHJvbWlzZSh4PT57Zy5WeCgwLHgsNCxoKX0pKSk7CnJldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpXLGNodW5rQ2FsbGJhY2s6dixhdHRlbXB0OmJ9fX0oKX0pfX07dmFyIFJqPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLmNodW5rQ2FsbGJhY2ssRD1uLnJlc3BvbnNlUGF5bG9hZCxiPW4ud2lyZVJlc3BvbnNlO1cmJihXKEQpLCJwbGF5ZXJSZXNwb25zZSJpbiBiJiZiLnBsYXllclJlc3BvbnNlJiYoZy5EeSgpLGJRKDQpKSk7cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6RH19KCl9KX19O3ZhciAkejI9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLFFxPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLm9uZVBsYXRmb3JtRXJyb3I7aWYoVyYmImRldGFpbHMiaW4gVyYmVy5kZXRhaWxzKXtXPVcuZGV0YWlscztmb3IobGV0IEQgb2YgVylpZigoVz1EWyJAdHlwZSJdKSYmJHoyLmluZGV4T2YoVyk+LTEpcmV0dXJuIGRlbGV0ZSBEWyJAdHlwZSJdLHtuZXh0U3RhdGU6IlBST0NFU1NfUkVTUE9OU0UiLApwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkVycm9yIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSB1bnBhY2tlZCIpfX0oKX0pfX07dmFyIFZxPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3ZhciBXPXRoaXMuTjtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgRD1uLmV4dHJhY3RlZFJlc3BvbnNlLGI9bi55dFJlcXVlc3Qsdj1uLnJlc3BvbnNlUGF5bG9hZCxrPW4ud2lyZVJlc3BvbnNlO2lmKEQmJiEoImNvZGUiaW4gRHx8ImVycm9yImluIEQpJiYhRC5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2Ygc28pV1toXSYmV1toXS5oYW5kbGVSZXNwb25zZShELGIpO2sud2F0Y2hOZXh0UmVzcG9uc2V8fGsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2sud2F0Y2hOZXh0UmVzcG9uc2U/di5jb250ZW50PWsud2F0Y2hOZXh0UmVzcG9uc2U6di5jb250ZW50PWsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2U/di5wbGF5ZXI9ay5wbGF5ZXJSZXNwb25zZTprLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CnYueUI9ay5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOnYuY29udGVudD1rO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczpufX0oKX0pfX07ClZxW2cuTFhdPVtWV107dmFyIFdHPWNsYXNzIGV4dGVuZHMgdDRNe307V0dbZy5MWF09W2FqXTt2YXIgY1A9Y2xhc3MgZXh0ZW5kcyB5WHtleGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBXPW4ud2lyZVJlc3BvbnNlLEQ7QXJyYXkuaXNBcnJheShXKT9EPVdbMF06dHlwZW9mIFc9PT0ib2JqZWN0IiYmVyE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gV3x8IndhdGNoTmV4dFJlc3BvbnNlImluIFd8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gV3x8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gVyk/RD1XLnBsYXllclJlc3BvbnNlfHxXLndhdGNoTmV4dFJlc3BvbnNlfHxXLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Vy5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOkQ9VztyZXR1cm4gRCYmImVycm9yImluIEQ/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4ubixvbmVQbGF0Zm9ybUVycm9yOkQuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fSgpfSl9fTt2YXIgUEd4PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBDOGJ9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixMdTEpfHx2b2lkIDB9SihuLFcsRD17fSl7Vy5jaGFubmVsSWRzJiYobi5jaGFubmVsSWRzPVcuY2hhbm5lbElkcyk7Vy5zaWxvTmFtZSYmKG4uc2lsb05hbWU9Vy5zaWxvTmFtZSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7RC5ib3RndWFyZFJlc3BvbnNlJiYobi5ib3RndWFyZFJlc3BvbnNlPUQuYm90Z3VhcmRSZXNwb25zZSk7RC5mZWF0dXJlJiYobi5jbGllbnRGZWF0dXJlPUQuZmVhdHVyZSl9fTt2YXIgWmh0PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBCeWl9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixoblUpfHx2b2lkIDB9SihuLFcpe1cuY2hhbm5lbElkcyYmKG4uY2hhbm5lbElkcz1XLmNoYW5uZWxJZHMpO1cuc2lsb05hbWUmJihuLnNpbG9OYW1lPVcuc2lsb05hbWUpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpfX07dmFyIFI4PWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNKPW59Vygpe3JldHVybiBkJFN9TihuKXtyZXR1cm4gZy53KG4sdXhDKXx8Zy53KG4sb05pKXx8Zy53KG4saXpTKX1KKG4sVyl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO1cuY2xpZW50UGFyYW1JZGVudGlmaWVyJiZ0aGlzLmNKPy5OKFcuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKG4uY2xpZW50UGFyYW1zPXRoaXMuY0ouSihXLmNsaWVudFBhcmFtSWRlbnRpZmllcikpfX07UjhbZy5MWF09W25ldyBnLkFMKCJTSEFSRV9DTElFTlRfUEFSQU1TX1BST1ZJREVSX1RPS0VOIildO3ZhciBtZlM9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGxPTX1nZXQgaigpe3JldHVybiEwfU4obil7cmV0dXJuIGcudyhuLFNZdyl8fHZvaWQgMH1KKG4sVyxEKXtuLmZlZWRiYWNrVG9rZW5zPVtdO1cuZmVlZGJhY2tUb2tlbiYmbi5mZWVkYmFja1Rva2Vucy5wdXNoKFcuZmVlZGJhY2tUb2tlbik7aWYoVz1XLmNwbnx8RC5jcG4pbi5mZWVkYmFja0NvbnRleHQ9e2NwbjpXfTtuLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPSEhRC5pc19mZWVkYmFja190b2tlbl91bmVuY3J5cHRlZDtuLnNob3VsZE1lcmdlPSExO0QuZXh0cmFfZmVlZGJhY2tfdG9rZW5zJiYobi5zaG91bGRNZXJnZT0hMCxuLmZlZWRiYWNrVG9rZW5zPW4uZmVlZGJhY2tUb2tlbnMuY29uY2F0KEQuZXh0cmFfZmVlZGJhY2tfdG9rZW5zKSl9fTt2YXIgSzRpPWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBUeXd9TihuKXtyZXR1cm4gZy53KG4sa2l3KXx8dm9pZCAwfUoobixXKXtXLnBhcmFtcyYmKG4ucGFyYW1zPVcucGFyYW1zKTtXLnNlY29uZGFyeVBhcmFtcyYmKG4uc2Vjb25kYXJ5UGFyYW1zPVcuc2Vjb25kYXJ5UGFyYW1zKX19O3ZhciBPaHI9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGpkeH1OKG4pe3JldHVybiBnLncobixuWEMpfHx2b2lkIDB9SihuLFcpe1cuYWN0aW9ucyYmKG4uYWN0aW9ucz1XLmFjdGlvbnMpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpO1cucGxheWxpc3RJZCYmKG4ucGxheWxpc3RJZD1XLnBsYXlsaXN0SWQpfX07dmFyIFVmWj1jbGFzcyBleHRlbmRzIFBDe1coKXtyZXR1cm4gem50fU4obil7cmV0dXJuIGcudyhuLGRJeCl9SihuLFcsRD17fSl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO0QuaW5jbHVkZUxpc3RJZCYmKG4uaW5jbHVkZUxpc3RJZD0hMCl9fTt2YXIgUVc9bmV3IGcuQUwoIlJFU09MVkVfVVJMX1BSRUZFVENIX1RPS0VOIik7dmFyIGpZPW5ldyBnLkFMKCJDTElFTlRfTkFNRV9UT0tFTiIpO3ZhciBDZj1uZXcgZy5BTCgiREVGQVVMVF9TVE9SRV9FWFBJUkFUSU9OX1RPS0VOIik7dmFyIHJaaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuY2xpZW50TmFtZT1uO3RoaXMuSj1XfWFzeW5jIHB1dChuLFcpe1c9ey4uLlcuZGF0YX07Vy5rZXk9bjtXLmNsaWVudE5hbWU9dGhpcy5jbGllbnROYW1lO1cuZXhwaXJlVGltZXN0YW1wTXM9PT12b2lkIDAmJihXLmV4cGlyZVRpbWVzdGFtcE1zPShNYXRoLnJvdW5kKCgwLGcuUikoKSkrdGhpcy5KKS50b1N0cmluZygpKTtyZXR1cm4gRHcodGhpcyxuLFcpfX07clpoW2cuTFhdPVtqWSxDZl07dmFyIGJoPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuZGF0YT17Li4ubn07ZGVsZXRlIHRoaXMuZGF0YS5pbm5lcnR1YmVSZXNwb25zZT8uZnJhbWV3b3JrVXBkYXRlc31pc0V4cGlyZWQoKXtyZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5leHBpcmVUaW1lc3RhbXBNc3x8MCk8KDAsZy5SKSgpfWlzUHJvY2Vzc2VkKCl7cmV0dXJuISF0aGlzLmRhdGEuaXNQcm9jZXNzZWR9fTt2YXIgQTNqPWNsYXNzIGV4dGVuZHMgclpoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLk49bmV3IE1hcH1hc3luYyBnZXQobil7cmV0dXJuIHZHKHRoaXMsbil9YXN5bmMgcmVtb3ZlKG4pe2tNKHRoaXMsbil9YXN5bmMgVGkoKXt0aGlzLk4uZm9yRWFjaChuPT57Y2xlYXJUaW1lb3V0KG4udGltZXIpfSk7CnRoaXMuTi5jbGVhcigpfWhhcyhuKXtyZXR1cm4hIXRoaXMuTi5nZXQobil9dUIoKXtyZXR1cm4gdGhpcy5OLmtleXMoKX19O3ZhciBzb2I9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIHN2Mn1OKG4pe3JldHVybiBnLncobixUZSl9SihuLFcpe1cudmlkZW9JZCYmKG4ucGxheWVyUmVxdWVzdD17dmlkZW9JZDpXLnZpZGVvSWR9LFcucGxheWVyUGFyYW1zJiYobi5wbGF5ZXJSZXF1ZXN0LnBhcmFtcz1XLnBsYXllclBhcmFtcyksVy5yYWN5Q2hlY2tPayYmKG4ucGxheWVyUmVxdWVzdC5yYWN5Q2hlY2tPaz0hIVcucmFjeUNoZWNrT2spLFcuY29udGVudENoZWNrT2smJihuLnBsYXllclJlcXVlc3QuY29udGVudENoZWNrT2s9ISFXLmNvbnRlbnRDaGVja09rKSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7Vy5pbnB1dFR5cGUmJihuLmlucHV0VHlwZT1XLmlucHV0VHlwZSk7bi5kaXNhYmxlUGxheWVyUmVzcG9uc2U9ITB9VihuKXt2YXIgVzsobj10aGlzLlgobikpJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3JlZWxzX3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InJfd3JzIixXLlJWPSJyX3dyciIpOwpyZXR1cm4gV31YKG4pe249dGhpcy5OKG4pO2lmKG4/LnZpZGVvSWQpe3ZhciBXPXt2aWRlb0lkOm4udmlkZW9JZH07bi5wYXJhbXMmJihXLnBhcmFtcz1uLnBhcmFtcyk7cmV0dXJuIHlIKCJyZWVsX2l0ZW1fd2F0Y2giLFcpfX19O3ZhciBOdE09bmV3IGcuQUwoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBZa1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj1wRmksVz1xTihVeGooKSk7dGhpcy5zdG9yZT0kZihuLHZvaWQgMCxXKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2gobil7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2gobil9c3Vic2NyaWJlKG4pe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShuKX1yZXBsYWNlUmVkdWNlcihuKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihuKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgUzU9Y2xhc3N7Y29uc3RydWN0b3Iobj1bXSl7dGhpcy5OPVtdO3RoaXMuVz10aGlzLko9MDt0aGlzLlg9dm9pZCAwO3RoaXMudG90YWxMZW5ndGg9MDtuLmZvckVhY2goVz0+e3RoaXMuYXBwZW5kKFcpfSl9aigpe3JldHVybiB0aGlzLnRvdGFsTGVuZ3RofWFwcGVuZChuKXtpZih4TSh0aGlzLG4pKXtsZXQgVz10aGlzLk5bdGhpcy5OLmxlbmd0aC0xXTsKdGhpcy5OW3RoaXMuTi5sZW5ndGgtMV09bmV3IFVpbnQ4QXJyYXkoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoK24ubGVuZ3RoKTtMUih0aGlzKX1lbHNlIHRoaXMuTi5wdXNoKG4pO3RoaXMudG90YWxMZW5ndGgrPW4ubGVuZ3RofXNwbGl0KG4pe3ZhciBXPW5ldyBTNSxEPW5ldyBTNTtmb3IobGV0IGIgb2YgdGhpcy5OKW4+PWIubGVuZ3RoPyhXLmFwcGVuZChiKSxuLT1iLmxlbmd0aCk6bj8oVy5hcHBlbmQobmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0LG4pKSxELmFwcGVuZChuZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQrbixiLmxlbmd0aC1uKSksbj0wKTpELmFwcGVuZChiKTtyZXR1cm57Q3M6VyxZOTpEfX1pc0ZvY3VzZWQobil7cmV0dXJuIG4+PXRoaXMuVyYmbjx0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RofWZvY3VzKG4pe2lmKCF0aGlzLmlzRm9jdXNlZChuKSl7Zm9yKG48dGhpcy5XJiZMUih0aGlzKTt0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RoPD0KbiYmdGhpcy5KPHRoaXMuTi5sZW5ndGg7KXRoaXMuVys9dGhpcy5OW3RoaXMuSl0ubGVuZ3RoLHRoaXMuSis9MTt0aGlzLlg9dm9pZCAwfX19O3ZhciBZTSxORCxmUjtnLk5tPSgoKT0+e3ZhciBuPWI9Pm5ldyBVaW50OEFycmF5KGIpLFc9Yj0+e3ZhciB2PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoKTsKZm9yKGxldCBrPTA7azxiLmxlbmd0aDtrKyspdltrXT1iW2tdO3JldHVybiB2fSxEPW5ldyBVaW50OEFycmF5KFsxXSk7CnJldHVybiBELmxlbmd0aD09PTEmJkRbMF09PT0xP246V30pKCk7CllNPUFycmF5KDEwMjQpO05EPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7ZlI9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDt2YXIgQVI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW47dGhpcy5wb3M9MDt0aGlzLko9LTF9fTt2YXIgejY9Y2xhc3N7Y29uc3RydWN0b3Iobj00MDk2KXt0aGlzLldWPXZvaWQgMDt0aGlzLnBvcz0wO3RoaXMuSj1bXTt0aGlzLk49ZGQobik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLk4uYnVmZmVyLHRoaXMuTi5ieXRlT2Zmc2V0LHRoaXMuTi5ieXRlTGVuZ3RoKX19O3ZhciBhdz17YW5pbWF0aW9uRW50aXR5OjMwMixhY2NvdW50TGlua1N0YXR1c0VudGl0eToxMjIsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTo2MzAsYm9vbGVhbkVudGl0eTozMDcsYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTo2MzcsYnV0dG9uRW50aXR5OjM1OCxjYXB0aW9uVHJhY2s6MjI1LGNoYW5uZWxIYW5kbGU6Mjc1LGNoaXBFbnRpdHk6NDk4LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OjI3Nixjb21tZXJjZUNhcnRMaXN0RW50aXR5OjIzNixjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTo1MzIsY29tcG9zaXRlU291cmNlRW50aXR5OjU5NCxjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOjQ4Myxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOjU3Nixjb250aW51YXRpb25Ub2tlbkVudGl0eTo0MDYsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OjIwMixkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OjI5OSwKZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OjI2NCxkb3dubG9hZFN0YXR1c0VudGl0eToxNDEsZGlzbWlzc1N0YXRlOjU0MCxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OjE4NixlbW9qaUZvdW50YWluRGF0YUVudGl0eTozOTMsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OjQ5NixmYWtlQ2hhbm5lbDoyLGZha2VQbGF5bGlzdDoyNzksZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOjI4MCxmYWtlVmlkZW86MTgyLGZha2VWaWRlb0Rlc2NyaXB0aW9uOjI3OCxmZWF0dXJlZFByb2R1Y3RzRW50aXR5OjM5MixzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHk6NTk4LGZsb3dTdGF0ZUVudGl0eToyNTIsaWNvbkJhZGdlRW50aXR5OjIyOSxpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5OjQ0MyxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OjU2NyxsaXZlQ2hhdFBvbGxTdGF0ZUVudGl0eToyMTcsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTo1NjMsCmxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eTo1NjQsbGl2ZVJlYWN0aW9uc0RhdGFFbnRpdHk6NTAzLGxvZ29FbnRpdHk6MjQ1LG1hY3JvTWFya2VyRW50aXR5OjMyOSxtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eToxNTgsbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6MTY0LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6MzczLG1haW5QbGF5bGlzdEVudGl0eTozMDYsbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6MzY4LG1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6MjYyLG1haW5WaWRlb0VudGl0eToyNjEsbWFya2Vyc0VuZ2FnZW1lbnRQYW5lbFN5bmNFbnRpdHk6MTk2LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6MzEyLG11c2ljQWxidW1SZWxlYXNlRGV0YWlsOjE4LG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eToyNTksbXVzaWNBbGJ1bVJlbGVhc2U6MTcsbXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsOjE5LG11c2ljQXJ0aXN0RGV0YWlsOjIxLAptdXNpY0FydGlzdDoyMCxtdXNpY0FydGlzdFVzZXJEZXRhaWw6MjIsbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OjI1NyxtdXNpY0xpYnJhcnlFZGl0OjEyMSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6MzE4LG11c2ljUGxheWxpc3Q6MjQsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjQ4LG11c2ljU2hhcmU6MTAwLG11c2ljVHJhY2tEZXRhaWw6MjksbXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjM0LG11c2ljVHJhY2s6MjgsbXVzaWNUcmFja1VzZXJEZXRhaWw6MzAsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OjE2OSxvZmZsaW5lVmlkZW9Qb2xpY3k6MTMwLG9mZmxpbmVWaWRlb1N0cmVhbXM6MTk4LG9mZmxpbmVhYmlsaXR5RW50aXR5OjI0NixvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6MjQyLHBhZ2VIZWFkZXJFbnRpdHk6NDk1LHBhcnR5R2FtZVBhbmVsRW50aXR5OjYxOCxzbGlkZXJHYW1lUGFuZWxFbnRpdHk6NjMzLApwZHBTdGF0ZUVudGl0eTo1MjQscGlubmVkUHJvZHVjdEVudGl0eToyNzMscGxheWJhY2tEYXRhOjExOSxwbGF5ZXJTdGF0ZUVudGl0eTozMjMscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTo1MzkscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTozNTYscmVmcmVzaDoxNDgsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OjIzMSxzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6NDc5LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTo2MzQsc2V0dGluZ0VudGl0eToyOTcsc3RyaW5nRW50aXR5OjM4MixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTo0ODUsdHJhbnNmZXI6MTIwLHRyZW5kaW5nT2ZmZXJFbnRpdHk6NDY5LHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OjYzNSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTo0NjEsdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTo1NDUsdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5Ojc2LHZvdGluZ0VudGl0eTo1NjEsCnl0TWFpbkNoYW5uZWxFbnRpdHk6MTUyLHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6NTUzLHl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eToxNTUseXRNYWluVmlkZW9FbnRpdHk6MTUxfSxWQT17fTtmb3IobGV0IFtuLFddb2YgT2JqZWN0LmVudHJpZXMoYXcpKXtsZXQgRD1uLGI9VztiJiYoVkFbYl09RCl9O3ZhciB2ZTt2YXIgSDZ0PSExLGdOLGhFLHgkLExmLGVZLGZIYj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNvdW50ZXI9WzAsMCwwLDBdO3RoaXMuSj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5OPTE2O2lmKCFINnQpe3ZhciBXLEQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxiPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIHY9MTtmb3IoVz0wO1c8MjU2O1crKylEW3ZdPVcsYltXXT12LHZePXY8PDFeKHY+PjcmJjI4Myk7Z049bmV3IFVpbnQ4QXJyYXkoMjU2KTtoRT1rJCgyNTYpO3gkPWskKDI1Nik7TGY9ayQoMjU2KTtlWT1rJCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7dj1oP2JbMjU1XkRbaF1dOjA7dl49djw8MV52PDwyXnY8PDNedjw8NDt2PXYmMjU1XnY+Pj44Xjk5O2dOW2hdPXY7Vz12PDwxXih2Pj43JiYyODMpO3ZhciBrPVdedjtoRVtoXT1XPDwyNHx2PDwxNnx2PDw4fGs7eCRbaF09azw8MjR8aEVbaF0+Pj44O0xmW2hdPXY8PDI0fHgkW2hdPj4+Cjg7ZVlbaF09djw8MjR8TGZbaF0+Pj44fUg2dD0hMH12PWskKDQ0KTtmb3IoRD0wO0Q8NDtEKyspdltEXT1uWzQqRF08PDI0fG5bNCpEKzFdPDwxNnxuWzQqRCsyXTw8OHxuWzQqRCszXTtmb3IoYj0xO0Q8NDQ7RCsrKW49dltELTFdLEQlNHx8KG49KGdOW24+PjE2JjI1NV1eYik8PDI0fGdOW24+PjgmMjU1XTw8MTZ8Z05bbiYyNTVdPDw4fGdOW24+Pj4yNF0sYj1iPDwxXihiPj43JiYyODMpKSx2W0RdPXZbRC00XV5uO3RoaXMua2V5PXZ9ZW5jcnlwdChuKXt2YXIgVz1uLmxlbmd0aDtuPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLnNsaWNlKG4uYnl0ZU9mZnNldCxuLmJ5dGVPZmZzZXQrVykpO2Zvcih2YXIgRD10aGlzLkosYj0wO2I8VyYmdGhpcy5OPDE2OyluW2IrK11ePURbdGhpcy5OKytdO2Zvcih2YXIgdj1XLShXLWIpJTE2O2I8djspWDgodGhpcyksbltiKytdXj1EWzBdLG5bYisrXV49RFsxXSxuW2IrK11ePURbMl0sbltiKytdXj1EWzNdLG5bYisrXV49RFs0XSxuW2IrK11ePQpEWzVdLG5bYisrXV49RFs2XSxuW2IrK11ePURbN10sbltiKytdXj1EWzhdLG5bYisrXV49RFs5XSxuW2IrK11ePURbMTBdLG5bYisrXV49RFsxMV0sbltiKytdXj1EWzEyXSxuW2IrK11ePURbMTNdLG5bYisrXV49RFsxNF0sbltiKytdXj1EWzE1XTtpZihiPFcpZm9yKFg4KHRoaXMpLHRoaXMuTj0wO2I8VzspbltiKytdXj1EW3RoaXMuTisrXTtyZXR1cm4gbn19O3ZhciBxYT0hMTsoKCk9Pnt2YXIgbj1iPT5uZXcgVWludDhBcnJheShiKSxXPWI9Pnt2YXIgdj1uZXcgVWludDhBcnJheShiLmxlbmd0aCk7CmZvcihsZXQgaz0wO2s8Yi5sZW5ndGg7aysrKXZba109YltrXTtyZXR1cm4gdn0sRD1uZXcgVWludDhBcnJheShbMV0pOwpyZXR1cm4gRC5sZW5ndGg9PT0xJiZEWzBdPT09MT9uOld9KSgpOwp2YXIgR3I7dmFyIHVvPWNsYXNze2NvbnN0cnVjdG9yKG4pe3ZhciBXPXRFKCk7VyYmKHRoaXMuTj1uZXcgZFhNKG4sVykpO3RoaXMuSj1uZXcgYjEobil9YXN5bmMgZW5jcnlwdChuLFcpe2lmKHRoaXMuTil0cnl7cmV0dXJuIGF3YWl0IHRoaXMuTi5lbmNyeXB0KG4sVyl9Y2F0Y2goRCl7Zy5HcShEKSxxYT0hMCx0aGlzLk49dm9pZCAwfXJldHVybiB0aGlzLkouZW5jcnlwdChuLFcpfWRlY3J5cHQobixXKXtyZXR1cm4gdGhpcy5lbmNyeXB0KG4sVyl9fSxkWE09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLko9V31hc3luYyBlbmNyeXB0KG4sVyl7dHJ5e3JldHVybiBhd2FpdCBiaDEodGhpcyxuLFcpfWNhdGNoKEQpe3Rocm93IGcuR3EoRCkscWE9ITAsRDt9fX0sYjE9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW59ZW5jcnlwdChuLFcpe3RoaXMuTnx8KHRoaXMuTj1uZXcgZkhiKHRoaXMuSikpO3ZhciBEPXRoaXMuTjtmb3IobGV0IGI9MDtiPDQ7YisrKUQuY291bnRlcltiXT0KV1tiKjRdPDwyNHxXW2IqNCsxXTw8MTZ8V1tiKjQrMl08PDh8V1tiKjQrM107RC5OPTE2O3JldHVybiB0aGlzLk4uZW5jcnlwdChuKX1kZWNyeXB0KG4sVyl7cmV0dXJuIHRoaXMuZW5jcnlwdChuLFcpfX07dmFyIHZtaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLmo9bmV3IFVpbnQ4QXJyYXkoNjQpO3RoaXMuVz1uZXcgVWludDhBcnJheSg2NCk7dGhpcy5YPTA7dGhpcy5WPW5ldyBVaW50OEFycmF5KDY0KTt0aGlzLko9MDt0aGlzLmouc2V0KG4pO3RoaXMuVy5zZXQobik7Zm9yKG49MDtuPDY0O24rKyl0aGlzLmpbbl1ePTkyLHRoaXMuV1tuXV49NTQ7dGhpcy5yZXNldCgpfXJlc2V0KCl7JCQodGhpcyk7dGhpcy51cGRhdGUodGhpcy5XKX11cGRhdGUobil7dmFyIFc9MCxEPW4ubGVuZ3RoO3RoaXMuWCs9RDt0aGlzLkomJnRoaXMuSitEPj02NCYmKHRoaXMuVi5zZXQobi5zdWJhcnJheSgwLDY0LXRoaXMuSiksdGhpcy5KKSxXPTY0LXRoaXMuSix0aGlzLko9MCxzZSh0aGlzLHRoaXMuViwwKSk7Zm9yKDtXKzY0PD1EO1crPTY0KXNlKHRoaXMsbixXKTtXPEQmJihuPW4uc3ViYXJyYXkoVyksdGhpcy5WLnNldChuLHRoaXMuSiksdGhpcy5KKz1uLmxlbmd0aCl9fSxyTj1bMTExNjM1MjQwOCwKMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCwKNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3ZhciBZJD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LGhhdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuVz1uO3RoaXMuSj1XfX0saksxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIEpacj17SU5WQUxJRF9FTkNPREVSX1ZFUlNJT046IkludmFsaWQgZW5jb2RlciB2ZXJzaW9uIixLRVlfQ1JFQVRJT05fRkFJTEVEOiJGYWlsZWQgdG8gY3JlYXRlIGVuY29kZXIga2V5IixVTktOT1dOX0RFQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGRlY29kZSBQRVMgZGF0YSIsVU5LTk9XTl9FTkNPREVfRVJST1I6IkZhaWxlZCB0byBlbmNvZGUgUEVTIGRhdGEiLFdST05HX0RBVEFfVFlQRToiRW5jb2RlciBjYW5ub3QgcHJvY2VzcyB0aGUgZGF0YSB0eXBlIn0sZmY9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sVz17fSl7c3VwZXIoSlpyW25dLHtuYW1lOiJQRVNFbmNvZGVyRXJyb3IiLHR5cGU6biwuLi5XfSk7dGhpcy50eXBlPW47dGhpcy5sZXZlbD0iV0FSTklORyI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsZmYucHJvdG90eXBlKX19O3ZhciBJSGk9Y2xhc3N7fTt2YXIgU2t0PWNsYXNzIGV4dGVuZHMgSUhpe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5OPW59VyhuLFcpe1c9STgoVyk7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiB0aGlzLk4uZW5jcnlwdChuLFcpfUoobixXKXtpZighKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgZmYoIldST05HX0RBVEFfVFlQRSIse09BOjF9KTt2YXIgRD1uZXcgVGV4dERlY29kZXI7Vz1JOChXKTtuPXRoaXMuTi5kZWNyeXB0KG4sVyk7cmV0dXJuIEpTT04ucGFyc2UoRC5kZWNvZGUobikpfX07dmFyIFh5VT17YW5pbWF0aW9uRW50aXR5OmVuaSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpta2gsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTp0UFUsYm9vbGVhbkVudGl0eTpyWXIsYnV0dG9uRW50aXR5OkhNdCxjYXB0aW9uVHJhY2s6bEoyLGNoYW5uZWxIYW5kbGU6a2pNLGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6SU93LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6R2oxLGNoaXBFbnRpdHk6Z1hVLGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OlNOeCxjb21tZXJjZUNhcnRMaXN0RW50aXR5OkFNeCxjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTptJFMsY29tcG9zaXRlU291cmNlRW50aXR5OiRJTSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OnJKYixjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOnhrdCxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOkx0dyxjb250aW51YXRpb25Ub2tlbkVudGl0eTp3d1MsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmlzWiwKZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpveGgsZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OkRJMSxkb3dubG9hZFN0YXR1c0VudGl0eTp1NXQsZGlzbWlzc1N0YXRlOlhSUyxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5Old1WixlbW9qaUZvdW50YWluRGF0YUVudGl0eTpyTTEsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OiQkMixmYWtlQ2hhbm5lbDpwd0MsZmFrZVBsYXlsaXN0OllZcixmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246Zl94LGZha2VWaWRlbzpKWWIsZmFrZVZpZGVvRGVzY3JpcHRpb246SV93LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6cXZDLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpYX1MsZmxvd1N0YXRlRW50aXR5OkFZeCxpY29uQmFkZ2VFbnRpdHk6S3VqLGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6T3NpLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Ynp0LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OlBMciwKZGF0YUZyZXNobmVzc0VudGl0eTp0R3QsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTpSTzEsbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OlE0cixsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpzZGksbG9nb0VudGl0eTpLdHgsbWFjcm9NYXJrZXJFbnRpdHk6dk50LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmRrdCxtYWluRG93bmxvYWRzTGlzdEVudGl0eTpsX1osbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpUQTEsbWFpblBsYXlsaXN0RW50aXR5Ok1QdyxtYWluUGxheWxpc3RWaWRlb0VudGl0eTpSNGksbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eTpqQmksbWFpblZpZGVvRW50aXR5OmFfaixtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTprUHIsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTpoT3QsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6ZkpVLG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eTpzNHQsCm11c2ljQWxidW1SZWxlYXNlOkh6aSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6SkoxLG11c2ljQXJ0aXN0RGV0YWlsOlN2WixtdXNpY0FydGlzdDpJSlUsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOkFKaSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6TmtTLG11c2ljTGlicmFyeUVkaXQ6bUliLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpLTXcsbXVzaWNQbGF5bGlzdDpQVHgsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6cF9yLG11c2ljU2hhcmU6WnppLG11c2ljVHJhY2tEZXRhaWw6eUpTLG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5Oll2dCxtdXNpY1RyYWNrOlVJWixtdXNpY1RyYWNrVXNlckRldGFpbDpFTngsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OlRrdyxvZmZsaW5lVmlkZW9Qb2xpY3k6ajRaLG9mZmxpbmVWaWRlb1N0cmVhbXM6Q1R3LG9mZmxpbmVhYmlsaXR5RW50aXR5OkNMaSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6QkFVLApwYWdlSGVhZGVyRW50aXR5OnFOWixwYXJ0eUdhbWVQYW5lbEVudGl0eTpwUnQsc2xpZGVyR2FtZVBhbmVsRW50aXR5Ok55MSxwZHBTdGF0ZUVudGl0eTpPTWoscGlubmVkUHJvZHVjdEVudGl0eTpHUE0scGxheWJhY2tEYXRhOkJrdyxwbGF5ZXJTdGF0ZUVudGl0eTp4SVoscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eToka2IscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpQOHcscmVmcmVzaDpGTXcsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OnZYaixzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6TE13LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTpzQngsc2V0dGluZ0VudGl0eTp4JFosc3RyaW5nRW50aXR5Ok5BMixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTplT3IsdHJhbnNmZXI6d19NLHRyZW5kaW5nT2ZmZXJFbnRpdHk6dHhqLHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OmZPMix2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpNeFMsCnZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6Wk1qLHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpKTTIsdm90aW5nRW50aXR5OkdpTSx5dE1haW5DaGFubmVsRW50aXR5Om5OMix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmdOcix5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6RnRoLHl0TWFpblZpZGVvRW50aXR5OldNWn07dmFyIE5Hdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuVz1XO3RoaXMuSj17fX19O3ZhciBBWlo9Y2xhc3MgZXh0ZW5kcyBJSGl7VyhuKXtyZXR1cm4gbn1KKG4pe2lmKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBmZigiV1JPTkdfREFUQV9UWVBFIix7T0E6MH0pO3JldHVybiBufX07dmFyIGY5aT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj17fTt0aGlzLk5bMF09bmV3IEFaWjtpZighZy5sKCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgbj10aGlzLk47dHJ5e2xldCBiPU0wKCk7dmFyIFc9STgoYik7dmFyIEQ9bmV3IFNrdChuZXcgYjEoVyksbmV3IHVvKFcpKX1jYXRjaChiKXt0aHJvdyBuPWIgaW5zdGFuY2VvZiBFcnJvcj9uZXcgZmYoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6Yi5tZXNzYWdlfSk6bmV3IGZmKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksZy5YaihuKSxuO31uWzFdPUR9fX07dmFyIEozaT1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudG9rZW49bjt0aGlzLk49Vzt0aGlzLm9ic2VydmVycz1bXTtuPW5ldyBnLnFpLkJyb2FkY2FzdENoYW5uZWwoYFBFUlNJU1RFTlRfRU5USVRZX1NUT1JFX1NZTkM6JHtNMCgpfWApO24ub25tZXNzYWdlPXRoaXMuSi5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1ufW9ic2VydmUobil7dGhpcy5vYnNlcnZlcnMucHVzaChuKTtyZXR1cm4oKT0+e3ZhciBXPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2Yobik7Vz49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKFcsMSl9fUoobil7UGUodGhpcyxuLmRhdGEpfW1BKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fSx0NTt2YXIgbXpiPWcud0QoKCk9PntpZih3aW5kb3cuTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkPT09ImZ1bmN0aW9uIilyZXR1cm4gd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjUxLjA4LjAxLjAxLjAxLjAxLjAwIicpO2lmKHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWFuYWdlZE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZD09PSJmdW5jdGlvbiIpcmV0dXJuIHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuNTEuMDguMDEuMDEuMDEuMDEuMDAiJyk7dmFyIG49Zy5ycigieXQud2ViLmNvbnRyaWIuaW5uZXJ0dWJlLnJlcXVlc3RzLndhdGNoX3VpLnV0aWxzLnZpZGVvRWxlbWVudF8iKTtufHwobj1nLnpGKCJWSURFTyIpLGcuR2IoInl0LndlYi5jb250cmliLmlubmVydHViZS5yZXF1ZXN0cy53YXRjaF91aS51dGlscy52aWRlb0VsZW1lbnRfIiwKbikpO3JldHVybiEhKG4mJm4uY2FuUGxheVR5cGUmJm4uY2FuUGxheVR5cGUoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MS4wOC4wMS4wMS4wMS4wMS4wMCInKSl9KTt2YXIgTnM9eVcoKT8hMDp0eXBlb2Ygd2luZG93LmZldGNoPT09ImZ1bmN0aW9uIiYmd2luZG93LlJlYWRhYmxlU3RyZWFtJiZ3aW5kb3cuQWJvcnRDb250cm9sbGVyJiYhZy5SZz8hMDohMTt2YXIgS0hTPWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3IoKXtzdXBlcigpfVcoKXtyZXR1cm4gcXlqfU4obil7cmV0dXJuIGcudyhuLGcuSVEpfHxnLncobixUZSl8fGcudyhuLFZ4Yil9Tygpe3JldHVybiEwfVgobil7aWYoKGcubCgia2V2bGFyX2NhY2hlX29uX3R0bF9wbGF5ZXIiKXx8Zy5sKCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaCIpfHxnLmwoIndlYl9zaG9ydHNfcHJlZmV0Y2hfc2VydmljZV9lbmFibGVkIil8fGcubCgiZW1iZWRzX2VuYWJsZV9wcmVmZXRjaF92aWFfcmVzb2x2ZV91cmwiKSkmJihuPXRoaXMuTihuKSkmJm4udmlkZW9JZCl7dmFyIFc9e3ZpZGVvSWQ6bi52aWRlb0lkfTtuLnBsYXlsaXN0SWQmJihXLnBsYXlsaXN0SWQ9bi5wbGF5bGlzdElkKTtuLnBsYXllclBhcmFtcyYmKFcucGFyYW1zPW4ucGxheWVyUGFyYW1zKTtyZXR1cm4geUgoInBsYXllciIsVyl9fUsobil7cmV0dXJuIG4uY29udGVudFBsYXliYWNrQ29udGV4dD8udmlzPT09CjI/IldBVENIX0ZVTExfU0NSRUVOIjoiV0FUQ0gifUoobixXLEQpe2lmKGcubCgiZW5hYmxlX2ludGVyc3RpdGlhbF9lbnRpdHlfY2hlY2siKSYmVy52aWRlb0lkKWZvcih2YXIgYiBvZlsiQ09OVEVOVF9DSEVDS19SRVFVSVJFRCIsIkFHRV9DSEVDS19SRVFVSVJFRCJdKTtXLnZpZGVvSWQmJihuLnZpZGVvSWQ9Vy52aWRlb0lkKTtXLnBsYXlsaXN0SWQmJihuLnBsYXlsaXN0SWQ9Vy5wbGF5bGlzdElkKTtXLmluZGV4IT09dm9pZCAwJiYobi5wbGF5bGlzdEluZGV4PVcuaW5kZXgrMSk7Vy5wbGF5ZXJQYXJhbXMmJihuLnBhcmFtcz1XLnBsYXllclBhcmFtcyk7InN0YXJ0VGltZVNlY29uZHMiaW4gVyYmVy5zdGFydFRpbWVTZWNvbmRzJiYoZy5sKCJlbmFibGVfcGxheWVyX3JlcXVlc3RfYnVpbGRlcl9zdGFydF90aW1lX2Zsb29yIik/bi5zdGFydFRpbWVTZWNzPU1hdGguZmxvb3IoVy5zdGFydFRpbWVTZWNvbmRzKTpuLnN0YXJ0VGltZVNlY3M9Vy5zdGFydFRpbWVTZWNvbmRzKTtELmNvbnRlbnRQbGF5YmFja0NvbnRleHQmJgoobi5wbGF5YmFja0NvbnRleHQ9e2NvbnRlbnRQbGF5YmFja0NvbnRleHQ6RC5jb250ZW50UGxheWJhY2tDb250ZXh0fSk7RC5wcmVmZXRjaFBsYXliYWNrQ29udGV4dCYmKG4ucGxheWJhY2tDb250ZXh0PXsuLi5uLnBsYXliYWNrQ29udGV4dCxwcmVmZXRjaFBsYXliYWNrQ29udGV4dDpELnByZWZldGNoUGxheWJhY2tDb250ZXh0fSxuLmNvbnRleHQucmVxdWVzdHx8KG4uY29udGV4dC5yZXF1ZXN0PXt9KSxuLmNvbnRleHQucmVxdWVzdC5pc1ByZWZldGNoPSEwKTtuLnBsYXliYWNrQ29udGV4dHx8KG4ucGxheWJhY2tDb250ZXh0PXt9KTtiPW16YigpO24ucGxheWJhY2tDb250ZXh0LmRldmljZVBsYXliYWNrQ2FwYWJpbGl0aWVzPXtzdXBwb3J0c1ZwOUVuY29kaW5nOiEhYixzdXBwb3J0WGhyOk5zfTtELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0JiYobi5vdmVycmlkZU11dGVkQXRTdGFydD1ELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0KTtuLnJhY3lDaGVja09rPSEhVy5yYWN5Q2hlY2tPazsKbi5jb250ZW50Q2hlY2tPaz0hIVcuY29udGVudENoZWNrT2s7Zy5sKCJjYXB0aW9uc19wcmVmc19raWxsc3dpdGNoIil8fChEPShEPWcuWkkoInl0LXBsYXllci1jYXB0aW9uLWxhbmd1YWdlLXByZWZlcmVuY2VzIikpP0Q6W10sVz1nLmwoIndlYl9lbmFibGVfcGxheWVyX3JlcXVlc3RfY2FwdGlvbnNfbGFzdF9sYW5ndWFnZV9vbmx5IiksRD8ubGVuZ3RoJiYoRD1XP1tELmF0KC0xKV06RCxuLmNhcHRpb25QYXJhbXM9e3ZpZXdlclNlbGVjdGVkQ2FwdGlvbkxhbmdzOkR9KSl9VihuKXtuPXRoaXMuWChuKTt2YXIgVztuJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3BsYXllcl93YXRjaF9uZXh0X3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InBzX3MiLFcuUlY9InBzX3IiKTtyZXR1cm4gV319O0tIU1tnLkxYXT1bTnRNXTt2YXIgaUI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW4ucmVzcG9uc2VDb250ZXh0Py5zdGF0ZVRhZ3N9fTt2YXIgd049Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZighVyl0aHJvdyBFcnJvcigicmVxdWVzdCBuZWVkcyB0byBiZSBwYXNzZWQgaW50byBTdG9yZVJlc3BvbnNlUHJvY2Vzc29yU2VydmljZSIpO3VCKHRoaXMsbixXLmNvbmZpZz8uSG4/LlJMKX19O3dOW2cuTFhdPVtCZV07dmFyIEY4PW5ldyBnLkFMKCJTVE9SRV9SRVNQT05TRV9QUk9DRVNTT1JfVE9LRU4iKTt2YXIgbzg9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobixXKTt0aGlzLmVycm9yVHlwZT0xO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBUcj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1hc3luYyBmZXRjaChuLFcsRCxiKXtuPVNzWih0aGlzLG4sVyk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKG4pO2lmKGImJnYub2smJnYuYm9keSYmdHlwZW9mIHYuYm9keS5nZXRSZWFkZXI9PT0iZnVuY3Rpb24iKXtsZXQgaz12LmNsb25lKCkuYm9keS5nZXRSZWFkZXIoKSx7dmFsdWU6aH09YXdhaXQgay5yZWFkKCk7ay5jYW5jZWwoKS5jYXRjaCgoKT0+e30pOwppZihoJiZoWzBdPT09OTEpe2xldCB4PXYuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBkTih0aGlzLHgsbmV3IGFzLFtdLGIpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZSh2LEQpfWNhdGNoKHYpe2lmKGcuR3EodiksRD8uTGQmJnYgaW5zdGFuY2VvZiBvOCYmdi5lcnJvclR5cGU9PT0xKXRocm93IHY7fX1oYW5kbGVSZXNwb25zZShuLFcpe3ZhciBEPW4udGV4dCgpLnRoZW4oYj0+e2lmKFc/LmhQJiZuLm9rKXJldHVybiBkRyhXLmhQLGIpO2I9Yi5yZXBsYWNlKCIpXX0nIiwiIik7aWYoVz8uTGQmJmIpdHJ5e3ZhciB2PUpTT04ucGFyc2UoYil9Y2F0Y2goayl7dGhyb3cgbmV3IG84KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiB2Pz9KU09OLnBhcnNlKGIpfSk7Cm4ucmVkaXJlY3RlZHx8bi5vaz90aGlzLk4mJnRoaXMuTi5zdWNjZXNzKCk6KHRoaXMuTiYmdGhpcy5OLm9ZKCksRD1ELnRoZW4oYj0+e2cuR3EobmV3IGcuUXgoIkVycm9yOiBBUEkgZmV0Y2ggZmFpbGVkIixuLnN0YXR1cyxuLnVybCxiKSk7cmV0dXJuey4uLmIsZXJyb3JNZXRhZGF0YTp7c3RhdHVzOm4uc3RhdHVzfX19KSk7CnJldHVybiBEfX07VHJbZy5MWF09W2cuaHAobmV3IGcuQUwoIk5FVFdPUktfU0xJX1RPS0VOIikpXTt2YXIgenI7dmFyIERZcj1uZXcgZy5xTSgicGFyYWxsZWxDb21tYW5kIik7dmFyIHZuTT1uZXcgZy5xTSgicGVyZm9ybU9uY2VDb21tYW5kIik7dmFyIGI4Yj1uZXcgZy5xTSgic2VyaWFsQ29tbWFuZCIpO3ZhciB2UT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihuKXt0aGlzLk4uYmljZihuKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhuKXt0aGlzLk4uYmNyKG4pfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuTi5ibGMoKX19O3ZhciBpaEM9W10saGo9KDAsZy5IeClgaHR0cHM6Ly9zdGF0aWMuZG91YmxlY2xpY2submV0L2luc3RyZWFtL2FkX3N0YXR1cy5qc2AsazU9ITE7dmFyIGlEPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPW47dGhpcy5OPVd9fSxXREM9W25ldyBpRCgiYi5mXyIsMCksbmV3IGlEKCJqLnNfIiwyKSxuZXcgaUQoInIuc18iLDQpLG5ldyBpRCgiZS5oXyIsNiksbmV3IGlEKCJpLnNfIiw4KSxuZXcgaUQoInMudF8iLDEwKSxuZXcgaUQoInAuaF8iLDEyKSxuZXcgaUQoInMuaV8iLDE0KSxuZXcgaUQoImYuaV8iLDE2KSxuZXcgaUQoImEuYl8iLDE4KSxuZXcgaUQoImEub18iKSxuZXcgaUQoImcub18iLDIyKSxuZXcgaUQoInAuaV8iLDI0KSxuZXcgaUQoInAubV8iKSxuZXcgaUQoIm4ua18iLDIwKSxuZXcgaUQoImkuZl8iKSxuZXcgaUQoImEuc18iKSxuZXcgaUQoIm0uY18iKSxuZXcgaUQoIm4uaF8iLDI2KSxuZXcgaUQoIm8ucF8iKSxuZXcgaUQoIm0ucF8iLDI4KSxuZXcgaUQoIm8uYV8iKSxuZXcgaUQoImQucF8iKSxuZXcgaUQoImUuaV8iKV0ucmVkdWNlKChuLFcpPT57bltXLkpdPVc7cmV0dXJuIG59LHt9KTt2YXIgTmU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMubmV0d29yaz1uO3RoaXMub3B0aW9ucz1XO3RoaXMuWD1EO3RoaXMuVz0wO3RoaXMuTj1udWxsO3RoaXMuSj1uZXcgcW5pO1cuUHU/ZXQodGhpcyxvbU0odGhpcykpOlcucHJlbG9hZCYmZXQodGhpcyxuZXcgUHJvbWlzZShiPT57Zy5jQigwLCgpPT57Yih0aih0aGlzKSl9LDApfSkpfWFzeW5jIHlmKCl7cmV0dXJuISFhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuTiwKbnVsbF0pfWFzeW5jIGRRKG4sVyxEKXt0aGlzLk49PT1udWxsJiZldCh0aGlzLHRqKHRoaXMpKTt2YXIgYj0hMSx2PXt9O3JldHVybiBQcm9taXNlLnJhY2UoWyhhc3luYygpPT57dGhpcy5vcHRpb25zLkZoJiZ0aGlzLm9wdGlvbnMuUHUmJmF3YWl0IChhd2FpdCB5M3IoKSk/LmNoZWNrRm9yUmVmcmVzaCgpO3ZhciBrPWF3YWl0IHRoaXMuTjt2LmNoYWxsZW5nZT1rLmNoYWxsZW5nZTtpZihrLk8xKXt2YXIgaD17YzprLmNoYWxsZW5nZSxlOm4sLi4uV307dHJ5e2I9ITA7bGV0IHg7KHg9YXdhaXQgay5PMS5zbmFwc2hvdCh7d186aH0pKT92LndlYlJlc3BvbnNlPXg6di5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe3YuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gay5SUiYmKHYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO249PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmCihrPWsuUlIsaD17fSxrLmM2YSYmKGgucmVwb3J0aW5nU3RhdHVzPVN0cmluZyhOdW1iZXIoay5jKV5MYygpKSksay5jNmImJihoLmJyb2FkU3BlY3RydW1EZXRlY3Rpb25SZXN1bHQ9U3RyaW5nKE51bWJlcihrLmMpXk51bWJlcihnLkFyKCJDQVRTVEFUIiwwKSkpKSx2LmFkYmxvY2tSZXBvcnRpbmc9aCk7cmV0dXJuIHZ9KSgpLApUR2goRCwoKT0+e3ZhciBrPU9iamVjdC5hc3NpZ24oe30sdik7YiYmKGsuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTtyZXR1cm4ga30pXSl9fTt2YXIganhTPVsiQVBQX1NUQVRFIiwiUEkiXTt2YXIga3ZNPVszNjExLDI3Njg2LDIyMTA1OCw4NTAxMywyMzQ2MiwyNDExODcsMTU3NTU3LDQyMDE2LDI2OTI2LDUxMjM2LDc5MTQ4LDUwMTYwLDc3NTA0LDMxMDI4MSwxNTM1ODcsODc5MDcsMTg2MzAsMTc3MDE4LDE3NzAyMyw1NDQ0NSwzMjE2NjYsMzI2MzUzLDMyNjM1NCw4MDkzNSwxNTIxNzIsMTg0NTUzLDEwNTY3NSwxNTA3MjMsMzc1MjEsMTQ3Mjg1LDQ3Nzg2LDIzMTI1NSwyMzEyNTQsMjMxMjU4LDIzMTI1OSw5ODM0OSwyMzcyOTksMTY4MjcxLDE2ODk1NCwxNjgyNzcsMTY4MjczLDE2ODI3MCwxMjM2OTUsMjcyMDE4LDMzODQ5NywyMjY5ODcsMjI2OTkwLDIyNjk4OCw2ODI3LDI5NDM0LDI1NTAxMCwxNzEzODgsMjQ0MTg5LDIzNjIwOCw3MjgyLDEyNDQ0OCwyOTk5MDMsMjk5ODk3LDI5OTkwNCwyOTk5MDEsMjk5ODk5LDI5OTkwMiwyOTk5MDAsMjk5ODk4LDE5NjA4OCwyNTA4OTcsMTk4MTA0LDMyMjc2LDE5NTExNSwxOTUxMTQsNzYyNzgsMjAwNjM1LDIzMDU5NCwxNDc4NjgsCjE0Nzg2OSwyNzYyNDMsOTM5MTEsMjc0MTg4LDI3NjY1MSwzMTM2ODAsMTA2NTMxLDI1NzIzNCwyNTI1OTgsMjUyNTk3LDI1MjYwMCwyNTI1OTksMjUyNTk2LDIyNTAzMSwxNzc4NDMsMjcyNTksMjcyNjIsMjcyNjMsMjE3NTksMjgzNjcwLDE2MDg2NiwyMDQyNDksMjIyOTAwLDIwNDI1MCwxODA2MjYsMTc3OTU5LDE3Nzk1NywxODA2MjgsMjA1NzE2LDE5Nzg3OCwyNzM3NjYsMTcxMjQzLDE2MDc4OSwxNzEyNDQsMTcxMjQxLDE3MTI0NSwxNzEyNDIsMjI1NTYwLDE4MDYyNywxNzc5NjAsMjMxNTg5LDE3Nzk1OCwxODA2MjksMjA1NzE3LDE5Nzg3OSwxNzc1NjUsMjEyNTczLDIxMDcwOSw5OTQ0MTIsMjMwNjg0LDIyOTgwMSwyMzA2ODUsMzM0MzEwLDMzNDMxMSwzMzQzMTIsMTk3MzM3LDIwOTAxMCwxOTczMzYsMTk3MzM4LDE5ODYxOCwzMDA4ODQsMTc1NDkyLDE5ODA1MiwxOTgwNTEsMTk3ODUyLDE5Nzk3NiwzMTczNzcsMTc1NDkzLDE3NTQ5NCwxNzU0OTUsMTg5MjU0LDE3NTQ5NiwxNzU0OTcsCjM4NDA4LDE3NTQ5OCwxNzU1MDMsMTc1NTA0LDE3NTUwNSwxNzU1MDYsMTc1NTA3LDE3NTUwOCw4MDYzNyw2ODcyNywyMDY5MzMsMjA3OTQ0LDIwNjkzNCwzMDMxMjMsMjA2OTI5LDIyMTU3NSw2ODcyOCwyMjE1NzYsODAzNTMsODAzNTYsMzA4MDMzLDI0OTEwNywxODA2MzUsNzQ2MTAsNDU3MDcsODM5NjIsODM5NzAsNDY3MTMsMTY2NTkxLDg5NzExLDc0NjEyLDIxMzgwOSwxNzk2MDcsMjQ1MDA2LDE1NTc5Miw5MzI2NSw3NDYxMSwxMzEzODAsMTI4OTc5LDEzOTMxMSwxMjg5NzgsMTMxMzkxLDEwNTM1MCwxMzkzMTIsMzMzNjM3LDEzNDgwMCwxMzEzOTIsMTEzNTMzLDIyOTI5OCw5MzI1Miw5OTM1Nyw5NDUyMSwxMTQyNTIsMTEzNTMyLDk0NTIyLDk0NTgzLDIwMjM3MSw4OEUzLDEzOTU4MCw5MzI1Myw5MzI1NCw5NDM4Nyw5NDM4OCw5MzI1NSw5NzQyNCw3MjUwMiwyMTk4NjgsMjEyOTkxLDExMDExMSw3NjAxOSwxMTcwOTIsMTE3MDkzLDg5NDMxLDE5MTgzMSwxMTA0NjYsMjMxMzQ2LAo3NzI0MCw2MDUwOCwxODYwOTEsMTQ4MTIzLDE0ODEyNCwxMzc0MDEsMTM3NDAyLDEzNzA0Niw3MzM5MywyNDY3NzYsMTEzNTM0LDI3NjIwMCw5MjA5OCwxMzEzODEsODQ1MTcsODM3NTksMzA5NTgwLDIzMDY3NiwyNDkxODMsMjMwNjc5LDIzMDY3OCwyMzA2NzcsMjMwNjgxLDIzMDY4MCwxNjI3MTEsMjM1MjM0LDE2MjcxMiw4MDM1Nyw5OTQ0MTEsMjQzMzE1LDMxMzUwNiwzMjE5NjQsODYxMTMsNzI1OTgsMTY4NDEzLDcyNzMzLDEwNzM0OSwxMjQyNzUsMTE4MjAzLDIwMDQxMCwxMzMyNzUsMTYwMTU3LDE1MjU2OSwxNTY2NTEsMTMzMjc0LDE2MDE1OSwxNjAxNTgsMTMzMjcyLDEzMzI3MywxMzMyNzYsMTQ0NTA3LDE0MzI0NywxNzU5OTQsMTU2NjUyLDE0MzI0OCwxNDMyNDksMTQzMjUwLDE0MzI1MSwxODk4OTIsMTg5ODk0LDE4OTg5MywxNTY2NTMsMjE0MjM2LDE0NDQwMSwxMTc0MzEsMTMzNzk3LDIyNTEzNywyNzM5MDUsMjIyNjEyLDIyMjYxMywxNTM5NjQsMjAxMTMzLDIwMTEzNCwKMjAxMTM1LDIwMTEzNiwyMDExMzcsMTI4NTcyLDIwMDQxMSwyMDA0MTIsMTkwMzM3LDEzMzQwNSwxMTc0MjksMTE3NDMwLDE3Nzk1MCwxNzQ3MzQsMTc3OTUxLDIwMTEzOCwyMDExMzksMjAxMTQwLDIwMTE0MSwyMDExNDIsMTE3NDMyLDE3Mzk5NiwxNzM5OTUsMTc0OTUzLDE3Mzk5NCwxNzM5OTcsMTIwMDgwLDExNzI1OSwxNzg1NDYsMjk3NzUyLDE5Nzg5MSwxNTY2NTUsMTU2NjU0LDEyMTY5MiwyMTE0MTQsMjExNDExLDIxMTQxMiwyMTE0MTMsMjExNDAzLDE4NDg0NiwxODU5OTMsMzM1MDQ4LDE0NTY1NiwxNTY2NTYsMTQ1NjU1LDE0NTY1MywxNDU2NTQsMTQ1NjU3LDEzMjk3MiwxMzMwNTEsMTMzNjU4LDEzMjk3MSwzMzY3MjgsOTc2MTUsMTgxMjYyLDE5MDc2MiwyNTAzNDQsMjU0MDI3LDE0MzM1OSwxNDMzNTYsMTQzMzYxLDE0MzM1OCwxNDMzNjAsMTQzMzU3LDE0MjMwMywxNDMzNTMsMjgyMTU5LDE3Mjg1OSwxNDMzNTQsMTQ0NDc5LDE0MzM1NSwzMTQwMiwxODE1OTAsMTMzNjI0LAoxNDY0NzcsMTMzNjIzLDEzMzYyMiwxMzM2MjEsMTkyNDE4LDg0Nzc0LDMwNDc3NiwxOTc5OTMsMjQxNDYwLDE2MDgwMSwxOTc5OTUsOTUxMTcsMTcyNzIxLDE1MDQ5Nyw5ODkzMCw5ODkzMSw5ODkzMiwzMzg1NzAsMzM4NDc0LDMzODQ3OCwzMzg0NzMsMTUzMzIwLDE1MzMyMSw0MzM0NywzMDUyNjgsMjQ5Mjk1LDIxMDAxNiwyMTAwMTcsMjYyNjg2LDIxMTg1MSwyMTE4NTIsMzA3MjE5LDIxMTg1MywzMjc4MTAsMTI5ODg5LDE5Nzg4OCwxOTc4ODksMTQ5MTIzLDIyMTk1OSwyMjE2MjcsMjIxOTU4LDQ1NDc0LDEwMDM1Miw5ODQ0MywxMTc5ODUsMzMzNzA4LDc0NjEzLDE1NTkxMSw3NDYxNCw2NDUwMiwxMzYwMzIsNzQ2MTUsNzQ2MTYsMTIyMjI0LDc0NjE3LDc3ODIwLDc0NjE4LDI2Mjk4OCwyNjI5ODksMjI2OTgxLDkzMjc4LDkzMjc0LDkzMjc1LDkzMjc2LDIwMDY4OCwyMDA2ODYsMjAwNjg3LDE5OTg0MSwyMjExMCwyOTQzMywxMzM3OTgsMTMyMjk1LDI4MTMzMiwxMjA1NDEsMjIyMTEyLAo4MjA0NywxMTM1NTAsNzU4MzYsNzU4MzcsMzAzODgyLDE5MjQwOSwyMDMyMjEsNDIzNTIsODQ1MTIsNzYwNjUsNzU5ODksMjA1OTExLDIwNTkxMiwyNTI2NDksMjA1OTEzLDI1MjY1MCwyNTI2NTEsNTE4NzksMTY2MjMsMzI1OTQsMjcyNDAsMzM4MTA5LDI5MzMyNCwzMjYzMyw3NDg1OCwzMDQxNTAsMjk3MDQ1LDI3NTE5OCwyNzE4ODQsMjIyOTMyLDI3OTExOSwzMTI1ODEsMjcxODg2LDIxMzkxNSwyNzUxOTksMzEwNzQ4LDIyNTIxNiwyNTEyNDQsMjU4MjUxLDIxODY3NCwyNTEyNjYsMjU4MjUwLDI1MTI2NSwzMDE2NjIsMjUxMjQ1LDI3MTg4NSwzMTU4MTgsMTU2OTk5LDM5NDUsMTY5ODksNDU1MjAsMjU0ODgsMjU0OTIsMjU0OTQsMjMyMTEzLDU1NzYwLDE0MDU3LDE4NDUxLDU3MjA0LDU3MjAzLDE3ODk3LDE4MTk4LDE3ODk4LDE3OTA5LDQzOTgwLDIyMTA1MywxOTU1MjksMTg5NjYwLDMwODA4OCwzMDY0NDgsMzA2NDQ3LDMwODA4NywzMDgwODYsNDYyMjAsMTE3MjEsMTQ3OTk0LDQ5OTU0LAo5NjM2OSwzODU0LDIxNzY0MCwxNTE2MzMsNTYyNTEsMjA1MTkyLDIxNjc5NywxNTkxMDgsMTgxNTY4LDIzNDc4OSwyNTYyNCwxNTIwMzYsMTY5MDYsOTk5OTksNjgxNzIsNDc5NzMsNzI3NzMsMjY5NzAsMjY5NzEsOTY4MDUsMTc3NTIsMjgyMTgxLDI3ODkyNiw3MzIzMywyMDU5MjMsMTA5NTEyLDIyMjU2LDE0MTE1LDIyNjk2LDIzNDQwOSwyMzQ0MDgsODkyNzgsODkyNzcsMTk1NzQ1LDEwOTUxMyw0MzI3OCw0MzQ1OSw0MzQ2NCw4OTI3OSw0MzcxNyw1NTc2NCwyMjI1NSwxNDc5MTIsODkyODEsNDA5NjMsNDMyNzcsNDM0NDIsOTE4MjQsMjgzODk4LDEyMDEzNywxODYzNTAsMTg2MzUxLDI1NjY5MCwyNjQzNDksMjY0MzUxLDI2NDM1MCwyNjQzNTIsMjExMDI2LDI1MDg5Niw5NjM2NywzNjg1MCw3MjY5NCwzNzQxNCwzNjg1MSwxMjQ4NjMsMTIxMzQzLDczNDkxLDU0NDczLDE2Njg2MSw0MzM3NSw0NjY3NCwzMDI2MzEsMzMxNDczLDI0MjUyOCwxNDM4MTUsMTM5MDk1LDE0NDQwMiwxNDk5NjgsCjE0OTk2OSwzMjQ3Myw3MjkwMSw3MjkwNiw1MDYxMiw1MDYxMyw1MDk0Miw4NDkzOCw4NDk0Myw4NDkzOSw4NDk0MSw4NDk0NCw4NDk0MCw4NDk0MiwzNTU4NSw1MTkyNiw3OTk4MywxODkyMSw1Nzg5Myw0MTE4MiwxMzU3MzIsMzM0MjQsMjIyMDcsMzYyMjksMjIyMDYsMjIyMDUsNDQ3NjMsMzM0MjcsNjc3OTMsMjIxODIsMzcwOTEsMzQ2NTAsNTA2MTcsMjIyODcsMjUxNDQsOTc5MTcsMjIwMTIyLDYyMzk3LDE1MDg3MSwxNTA4NzQsMTI1NTk4LDEzNzkzNSwzNjk2MSwxMDgwMzUsMzIzNDkzLDI3NDI2LDI3ODU3LDI3ODQ2LDI3ODU0LDY5NjkyLDYxNDExLDM5Mjk5LDM4Njk2LDYyNTIwLDM2MzgyLDEwODcwMSwxOTI2ODIsMjc5NTMxLDUwNjYzLDM2Mzg3LDE0OTA4LDM3NTMzLDEwNTQ0Myw2MTYzNSw2MjI3NCwxNjE2NzAsMTMzODE4LDE4MjExOSw2NTcwMiw2NTcwMyw2NTcwMSwzMjA0NjQsNzYyNTYsMjk4MTU3LDI2Mzg0MywzMTUyMzQsMTk2MDc1LDE5NDc2OCwyNTIyMDEsMTk0NzY5LAoxOTE4ODUsMjgxNDgwLDIzMzYzNCwyNjU4MTAsMTk0NzcwLDI5NjkzMywxOTUzNTAsMzI3Mzg1LDMyNDU4NiwzMDE2MDcsMTk1MzQ5LDE5NDc3MSwyOTMwNDEsMzAxMTIxLDI5MzA0MiwyOTMwNDMsMzAxMTE2LDE2NjM4MiwzNzY3MSw0OTk1MywyMjA2NjksNjAwMDAxLDYwMDAwMiw2RTUsMzM1MTM0LDI0OTIyOSwyMTM3NzQsMjA0NTcyLDE5MTM4OSwyNzIyNTQsMjcyMjUzLDI1MzgzMCwyNTM4MzEsMjUzODMyLDI3MjI1MiwyNTM4MzMsMjUzODM0LDIwNDU3NCwxOTEzOTAsMTc5NTU2LDIzODU5NiwyMTI2NjEsMTkxMzkyLDE5NzgyNiwxOTEzOTMsMjA0NTczLDM2MjE2LDI4MjM3LDI0MTIxMiwyNzIwNDksMTczNzE4LDM5NTUzLDE5MjU0NywyOTIyMiwzMDQ4NDUsMjYxMDcsMjQxMjExLDM4MDUwLDI2MTA4LDI3NTgxMCwxMjA3NDUsMjYxMDksMjYxMTAsNjY4ODEsMjgyMzYsMTQ1ODYsMjk3NjcyLDE2MDU5OCw1NzkyOSwyMjY3MzYsNzQ3MjMsNDQwOTgsMTczNjg5LDQ0MDk5LDIzNTI4LAo2MTY5OSwxMzQxMDQsMTM0MTAzLDE5ODMxMyw1OTE0OSwxODEwMTMsMjc4MzA2LDI4MjQ3MiwyNzc4NDgsMTczMTkxLDE3MzE5MiwxNzMxOTMsMTAxOTUxLDE3MTUwMiwxOTYwNDMsMTk4MzA1LDk3MzQ2LDExODA1MSw5NTEwMiw2NDg4MiwxMTk1MDUsNjM1OTUsMjk0MTE5LDI1NzI2OCw2MzM0OSwyODExMjcsMjQwNTUzLDk1MTAxLDc1MjQwLDI3MDM5LDY4ODIzLDIxNTM3LDgzNDY0LDc1NzA3LDI1MjkwNCwxNzAyMTUsMjIzMDMzLDgzMTEzLDEwMTk1MiwxMDE5NTMsNzk2MTAsMTI1NzU1LDI0NDAyLDI0NDAwLDMyOTI1LDE5MzQwNiw1NzE3MywxODMzNTEsMTU2NDIxLDEyMjUwMiwxNDUyNjgsMTM4NDgwLDY0NDIzLDY0NDI0LDMzOTg2LDEwMDgyOCwxMjkwODksMjk5NTQxLDIxNDA5LDI4MjIxOCwyOTk1MDYsMzMzOTU2LDI5OTU0MCwyOTk1MDcsMjk5NTA5LDI5OTUzOSwyOTk1MDgsMjk5NTEwLDE4NTYxMiwyMjI4MjUsMzIzMzMxLDI0NTM2NiwxMzUxNTUsMTM1MTU2LDEzNTE1NywKMTM1MTU4LDE1ODIyNSwxMzUxNTksMTM1MTYwLDE2NzY1MSwxMzUxNjEsMTM1MTYyLDEzNTE2MywxNTgyMjYsMTU4MjI3LDEzNTE2NCwxMzUxNjUsMTM1MTY2LDExMDcwLDExMDc0LDE3ODgwLDI3MDU2MCwzMDcwOSwzMDcwNywzMDcxMSwzMDcxMCwzMDcwOCwxODUyMTMsMTg1MjczLDE0NjE0Myw2MzY0OCw2MzY0OSwyMjEwNTYsMjY0NDkwLDIxMTE4OSwxMTEwNTksMjExMTg4LDU3NTQsMjY0NDkxLDIwNDQ1LDIzMzQ3MSwxNTEzMDgsMzEzNzUwLDE1MTE1MiwyMjgwNjcsMTMwOTc1LDEzMDk3NiwyNDcyNDQsMjcxNjIyLDI3MTgxMywyNjEyMTAsMjEwODE1LDI5NTA2OSwyNDYxMjcsMzE2ODU4LDI0NTI1NiwyNDQ5NTAsMTkxOTI1LDE2NzYzNywyMzQ1NDUsMTk3MTk2LDMwMjczNSwyMTQyOTUsMTEwMzg2LDIyMTA1NCwyNzM5NjAsMjgyMTExLDMxMjI5MCwxMTM3NDYsMzI1NTkzLDI2ODg4Niw2NjU1NywxODMyMTUsMTczMTAsMjg2MzEsMjAxOTM1LDIxNTg5LDI0MjAzNiwyMzgzNTEsCjE2NDgxNywxNjgwMTEsMTU0OTQ2LDY4MDEyLDE2MjYxNyw2MDQ4MCwxODQ0MzEsMTM4NjY0LDI5NDA4OSwyNDk4MjcsMTk0RTMsMTQxMTIxLDE2NDUwMiwzMTU3MSwxOTUwMDIsMjA2NzkzLDE0MTk3OCwyMzM5ODUsMjUwODk1LDI1NDA1MiwyNTQwNTMsMjU0MDU0LDI1NDA1MSwyNTQwNTAsMjU0MDU1LDE1MDEwNSwzMDQxNjksMTUwMTA2LDE1MDEwNywxNTAxMDgsNzY5ODAsNDE1NzcsNDU0NjksMzg2NjksMTM3NjgsMTM3NzcsMTQxODQyLDYyOTg1LDIxMzE5MCw0NzI0LDIyMzA1Miw1OTM2OSw0MzkyNyw0MzkyOCwxMjkyNCwxOTc4NTMsMTAwMzU1LDU2MjE5LDI3NjY5LDIwOTkyOCwxMDMzNywyMDM2NDgsMjAzNjQ5LDQ3ODk2LDMyNjkzNywxMjI2MjksMTg2MjA0LDIyMjgyNCwyNzU4NjksMzEyMjk1LDI3MTY3MywyNzQ2MzcsMzE3NDYyLDEzOTcyMywxMzk3MjIsMTIxMjU4LDI1Mzc4OSwyNTM3ODcsMjUzNzg2LDI1Mzc4OCwyNTM3OTAsMTA3NTk4LDEyNzk5MSw5NjYzOSwxMDc1MzYsCjEzMDE2OSwyMTY1MjIsMjk2MzE2LDk2NjYxLDE0NTE4OCwzMjA0MjgsMjEzOTA0LDI2OTM0Miw5NjY1OCwxMTY2NDYsMTU5NDI4LDE2ODYxMSwxNjg2MTIsMTIxMTIyLDIxOTg2Miw5NjY2MCwyODIyMDgsMTI3NzM4LDEyNzA4MywxNTUyODEsMTYyOTU5LDIyMDg4NiwyMjczNTYsMjQ4MDA3LDE2MzU2NiwzMDc2NDYsMTg2NjQxLDE0Nzg0MiwyNzM2NDYsMjczNjQ3LDIxNzkzMiwxMDQ0NDMsOTY2NTksMTQ3NTk1LDEwNjQ0MiwyNDcxNjIsMjMxNDkzLDIxMzQyNywyOTY4MTMsMjQ2NTc1LDE4MjQyMywxNjI3NzYsMjI4OTA4LDEzNDg0MCw2MzY2Nyw2MzY2OCw2MzY2OSwxMzA2ODYsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBtUVM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZihXLmlucHV0Lm1hdGNoKExCKE40aCkpKXt2YXIgRD1uPy5lbmRwb2ludDtXPWcudyhELFRlKT8udW5zZXJpYWxpemVkUHJlZmV0Y2hEYXRhO2lmKEQmJlcpe249dGhpcy5OO3ZhciBiPShuZXcgc29iKS5YKEQpLHY9Zy53KFcsRCRyKTtsZXQgaz12Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMmJk51bWJlcih2Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpPjA/TnVtYmVyKHY/LnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcyk6NjAwO3YmJmImJms+MCYmKHY9RWUodixrKSxuLnB1dChiLG5ldyBiaCh2KSkpO0Q9KG5ldyBLSFMpLlgoRCk7Vz1nLncoVyxhSncpO2I9Vz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzJiZOdW1iZXIoVz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzKT4wP051bWJlcihXPy5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpOgo2MDA7VyYmRCYmYj4wJiYoVz1FZShXLGIpLG4ucHV0KEQsbmV3IGJoKFcpKSl9fX19O21RU1tnLkxYXT1bQmVdO25mKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX01BTlVBTF9ET1dOTE9BRFMiLCJtYWluRG93bmxvYWRzTGlzdEVudGl0eSIpO25mKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtuZigiU01BUlRfRE9XTkxPQURTX0VOQUJMRUQiLCJzZXR0aW5nRW50aXR5Iik7dmFyIHd5aD1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSxPNng9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy5PMT1udWxsO3RoaXMuRGE9dm9pZCAwfWluaXRpYWxpemUobixXLEQsYil7dGhpcy5EYT1iO2lmKG4ucHJvZ3JhbSl7dmFyIHY7Yj1uLmludGVycHJldGVyVXJsPz9udWxsO24uaW50ZXJwcmV0ZXJTYWZlU2NyaXB0P3Y9Tk4obi5pbnRlcnByZXRlclNhZmVTY3JpcHQpOnY9bi5pbnRlcnByZXRlclNjcmlwdD8/bnVsbDtuLmludGVycHJldGVyU2FmZVVybCYmKGI9cHcobi5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO0Y0Yih0aGlzLHYsYixuLnByb2dyYW0sVyxEKX1lbHNlIGcuR3EoRXJyb3IoIkJMOkNJUCIpKX1pc0luaXRpYWxpemVkKCl7cmV0dXJuIHRoaXMuSigpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGV9aXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0KMn1pbnZva2Uobj17fSl7cmV0dXJuIHRoaXMuSigpP3RoaXMuVyh7d186bn0pOm51bGx9ZGlzcG9zZSgpe3RoaXMuTihudWxsKTt0aGlzLnZWKDgpfUooKXtyZXR1cm4hIXRoaXMuTzF9VyhuKXtyZXR1cm4gdGhpcy5PMS5tNShuKX1OKG4pe2cuQ3AodGhpcy5PMSk7dGhpcy5PMT1ufXZWKG4pe3RoaXMuc3RhdGU9bn19O3ZhciBQQU09Y2xhc3MgZXh0ZW5kcyBPNnh7TihuKXtKaigpPy5iZ3ZtYSgpO2lmKG4pe2xldCBXPXtiZ3ZtYTpuLmRpc3Bvc2UuYmluZChuKSxiZ3ZtYjpuLnNuYXBzaG90LmJpbmQobiksYmd2bWM6bi5tNS5iaW5kKG4pfTtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLFcpO2cueWooRD0+bi5zbmFwc2hvdChEKSl9ZWxzZSBnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLGcuR2IoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9Sigpe3JldHVybiEhSmooKX1XKG4pe3JldHVybiBKaigpLmJndm1jKG4pfX07dmFyIFpMPXtBRF9NQVJLRVI6Inl0cC1hZC1wcm9ncmVzcyIsQ0hBUFRFUl9NQVJLRVI6Inl0cC1jaGFwdGVyLW1hcmtlciIsVElNRV9NQVJLRVI6Inl0cC10aW1lLW1hcmtlciJ9O3ZhciBzMz12b2lkIDA7dmFyIEgkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPW5ldyBTZXQ7dGhpcy5KPW5ldyBTZXQ7dGhpcy5qPW5ldyBNYXA7dGhpcy5jbGllbnQ9dm9pZCAwO3RoaXMuY3NuPW51bGx9VyhuKXt0aGlzLmNsaWVudD1ufU4oKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Zy5SdigpfWNsZWFyKCl7dGhpcy5YLmNsZWFyKCk7dGhpcy5KLmNsZWFyKCk7dGhpcy5qLmNsZWFyKCk7dGhpcy5jc249bnVsbH19O3ZhciBVMz1jbGFzc3tXKG4pe1BWKGZpKCkuVykuYmluZChmaSgpKShuKX1jbGVhcigpe1BWKGZpKCkuY2xlYXIpLmJpbmQoZmkoKSkoKX19O3ZhciBKWD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1bXTt0aGlzLk89W107dGhpcy5LPW5ldyBNYXA7dGhpcy5UQz1uZXcgTWFwO3RoaXMuVj1bXTt0aGlzLmNKPVtdO3RoaXMuWD1uZXcgTWFwO3RoaXMuWT1uZXcgTWFwO3RoaXMuSj1uZXcgTWFwO3RoaXMuTj1uZXcgU2V0O3RoaXMuUyQ9bmV3IE1hcH1XKG4pe3RoaXMuY2xpZW50PW59YmQobixXPXt9KXtQVigoKT0+e3ZhciBEPWcudyhuPy5jb21tYW5kTWV0YWRhdGEscGopPy5yb290VmV8fGcudyhuPy5jb21tYW5kTWV0YWRhdGEsWnNyKT8uc2NyZWVuVmlzdWFsRWxlbWVudD8udWlUeXBlO2lmKEQpe3ZhciBiPWcudyhuPy5jb21tYW5kTWV0YWRhdGEsYk1yKTtpZihiPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIHY9VFUoYi5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoYi5wYXJlbnRDc24pdmFyIGs9Yi5wYXJlbnRDc259ZWxzZSBXLmNsaWNrZWRWaXN1YWxFbGVtZW50P3Y9Vy5jbGlja2VkVmlzdWFsRWxlbWVudDpuLmNsaWNrVHJhY2tpbmdQYXJhbXMmJgoodj1UVShuLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntiPWcudyhuLGcuSVEpO3ZhciBoPWcudyhuLHpPdyk7aWYoYil7aWYoaD10WChiLCJWSURFTyIpKXtiPXt0b2tlbjpoLHZpZGVvSWQ6Yi52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGgmJihiPXRYKGgsIlBMQVlMSVNUIikpKXtiPXt0b2tlbjpiLHBsYXlsaXN0SWQ6aC5wbGF5bGlzdElkfTticmVhayBhfWI9dm9pZCAwfVc9e2N0dEF1dGhJbmZvOmIscGFyZW50Q3NuOmssLi4uV307Zy5sKCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihXLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Zy53KG4/LmNvbW1hbmRNZXRhZGF0YSxac3IpPy5sb2dnaW5nRXhwZWN0YXRpb25zfHx2b2lkIDApO21VKHRoaXMsRCx2LFcpfWVsc2UgZy5HcShuZXcgZy5ReCgiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixuKSl9KSgpfWNsaWNrQ29tbWFuZChuLFcsRD0wKXtyZXR1cm4gZ25aKHRoaXMsbi5jbGlja1RyYWNraW5nUGFyYW1zLApXLEQpfXN0YXRlQ2hhbmdlZChuLFcsRD0wKXt0aGlzLnZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQoVFUobiksVyxEKX12aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKG4sVyxEPTApe0Q9PT0wJiZ0aGlzLk4uaGFzKEQpP3RoaXMuTy5wdXNoKFtuLApXXSk6UCQodGhpcyxuLFcsRCl9blQobil7dmFyIFc9bi5jcG4sRD1TMih0aGlzLDApO2lmKEQubGVuZ3RoJiZEW0QubGVuZ3RoLTJdPy5jcG4hPT1XJiYoRD1nLlJ2KCksVyYmRCYmRCE9PSJVTkRFRklORURfQ1NOIikpe3ZhciBiO24uaXRjdCYmKGI9VFUobi5pdGN0fHwiIikpO2xldCB2PXt9O2cubCgid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfbG9nX2N0dCIpJiZuLmtXJiYodi5jdHRBdXRoSW5mbz17dG9rZW46bi5rVyx2aWRlb0lkOm4udmlkZW9JZH0pO249e2NwbjpXLGNzbjpEfTtnLmwoIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIikmJmImJihGaihELGIpLG4ucGxheWJhY2tWZT1iLmdldEFzSnNvbigpKTtnLnpVKCJwbGF5YmFja0Fzc29jaWF0ZWQiLG4sdik7Yj1TMih0aGlzLDApO2JbYi5sZW5ndGgtMV0uY3BuPVd9fX07dmFyIEUzPWNsYXNze2ZldGNoKG4sVyxEKXt2YXIgYj1YT2IobixXLEQpO3JldHVybiBuZXcgUHJvbWlzZSgodixrKT0+e3ZhciBoPSgpPT57aWYoRD8uTGQpdHJ5e2xldCB4PXRoaXMuaGFuZGxlUmVzcG9uc2UobixiLnN0YXR1cyxiLnJlc3BvbnNlLEQpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIHYodGhpcy5oYW5kbGVSZXNwb25zZShuLGIuc3RhdHVzLGIucmVzcG9uc2UsRCkpfTsKYi5vbmVycm9yPWg7Yi5vbmxvYWQ9aDtiLnNlbmQoVy5ib2R5Pz9udWxsKX0pfWhhbmRsZVJlc3BvbnNlKG4sVyxELGIpe0Q9KER8fCIiKS5yZXBsYWNlKCIpXX0nIiwiIik7CnRyeXt2YXIgdj1KU09OLnBhcnNlKEQpfWNhdGNoKGspe2cuR3EobmV3IGcuUXgoIkpTT04gcGFyc2luZyBmYWlsZWQgYWZ0ZXIgWEhSIGZldGNoIixuLFcsRCkpO2lmKGI/LkxkJiZEKXRocm93IG5ldyBvOCgiSlNPTiBwYXJzaW5nIGZhaWxlZCBhZnRlciBYSFIgZmV0Y2giKTt2PXt9fVchPT0yMDAmJihnLkdxKG5ldyBnLlF4KCJYSFIgQVBJIGZldGNoIGZhaWxlZCIsbixXLEQpKSx2PXsuLi52LGVycm9yTWV0YWRhdGE6e3N0YXR1czpXfX0pO3JldHVybiB2fX07dmFyIFo2aj1jbGFzc3tzdGF0aWMgZ2V0SW5zdGFuY2UoKXt2YXIgbj1nLnJyKCJ5dGdsb2JhbC5zdG9yYWdlXyIpO258fChuPW5ldyBaNmosZy5HYigieXRnbG9iYWwuc3RvcmFnZV8iLG4pKTtyZXR1cm4gbn1hc3luYyBlc3RpbWF0ZSgpe3ZhciBuPW5hdmlnYXRvcjtpZihuLnN0b3JhZ2U/LmVzdGltYXRlKXJldHVybiBuLnN0b3JhZ2UuZXN0aW1hdGUoKTtpZihuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YSlyZXR1cm4gcWZTKCl9fTtnLkdiKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixaNmopO3ZhciBqaVU9a08oInl0LXBsYXllci1sb2NhbC1tZWRpYSIse0tjOntpbmRleDp7dng6Mn0sbWVkaWE6e3Z4OjJ9LGNhcHRpb25zOnt2eDo1fX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDIpJiYoWnkobiwiaW5kZXgiKSxaeShuLCJtZWRpYSIpKTtXKDUpJiZaeShuLCJjYXB0aW9ucyIpO1coNikmJihVUihuLCJtZXRhZGF0YSIpLFVSKG4sInBsYXllcmRhdGEiKSl9LHZlcnNpb246NX0pO3ZhciBVeng9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHVEO2E6e3ZhciBvVj1nLlhRKCk7b1Y9b1YudG9Mb3dlckNhc2UoKTtpZihvVi5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeVpoPW9WLm1hdGNoKC9hbmRyb2lkXHMqKFxkKyhcLlxkKyk/KVteO3wpXSpbOyldLyk7aWYoeVpoKXtsZXQgbj1wYXJzZUZsb2F0KHlaaFsxXSk7aWYobjwxMDApe3VEPW47YnJlYWsgYX19dmFyIEVnYj1vVi5tYXRjaCgiKCIrT2JqZWN0LmtleXMoVXp4KS5qb2luKCJ8IikrIikiKTt1RD1FZ2I/VXp4W0VnYlswXV06MH1lbHNlIHVEPXZvaWQgMH12YXIgZG49dUQsTkY9ZG4+PTA7dmFyIHo4O3t2YXIgaTZoPWcuWFEoKTtsZXQgbj1pNmgubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighbnx8bi5sZW5ndGg8Mil6OD12b2lkIDA7ZWxzZXt2YXIgbEQ9aTZoLm1hdGNoKC9cKChpUGFkfGlQaG9uZXxpUG9kKSggU2ltdWxhdG9yKT87IChVOyApP0NQVSAoaVBob25lICk/T1MgKFxkK19cZClbXyBdLyk7ejg9bEQmJmxELmxlbmd0aD09PTY/TnVtYmVyKGxEWzVdLnJlcGxhY2UoIl8iLCIuIikpOjB9fXZhciB2aj16OCx4ST12aj49MDt2YXIgb2Y7Zy51Wj1uZXcgUEFNO29mPTA7Zy5GTFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy52aWRlb0RhdGE9bjt0aGlzLk49e2MxYTooKT0+e3ZhciBXPVtdO2lmKGcudVouaXNJbml0aWFsaXplZCgpKXt2YXIgRD0iIjt0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEsmJihEPXRoaXMudmlkZW9EYXRhLnBLK2AmcjFiPSR7dGhpcy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZX1gKTtEPXthdHJfY2hhbGxlbmdlOkR9O2cuZ18oImJnX3YiLHZvaWQgMCwicGxheWVyX2F0dCIpOyhEPXI5UyhEKSk/KGcuZ18oImJnX3MiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaChgcjFhPSR7RH1gKSk6KGcuZ18oImJnX2UiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaCgicjFjPTIiKSl9ZWxzZSBnLmdfKCJiZ19lIix2b2lkIDAsInBsYXllcl9hdHQiKSx3aW5kb3cudHJheXJpZGV8fHdpbmRvdy5ib3RndWFyZD9XLnB1c2goInIxYz0xIik6Vy5wdXNoKCJyMWM9NCIpO1cucHVzaChgcjFkPSR7Zy51Wi5nZXRTdGF0ZSgpfWApOwpyZXR1cm4gVy5qb2luKCImIil9LApjNmE6Vz0+InI2YT0iKyhOdW1iZXIoVy5jKV5MYygpKSwKYzZiOlc9PmByNmI9JHtOdW1iZXIoVy5jKV5OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpfWB9Owp0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEs/dGhpcy5SUj1nLml3KHRoaXMudmlkZW9EYXRhLnBLKTp0aGlzLlJSPXt9fX07Zy5DaT1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30sRD0wKXt0aGlzLmVycm9yQ29kZT1uO3RoaXMuZGV0YWlscz1XO3RoaXMuc2V2ZXJpdHk9RH19O3ZhciB0SD17RUk6ZnVuY3Rpb24obixXKXt2YXIgRD1uWzBdO25bMF09bltXJW5bSVs1XV1dO25bVyVuW0lbNV1dXT1EfSwKT1c6ZnVuY3Rpb24obixXKXtuW0lbM11dKDAsVyl9LApHRzpmdW5jdGlvbihuKXtuW0lbMjVdXSgpfX07dmFyIHV2TT17UmQ6ImFkdW5pdCIsaFE6ImRldGFpbHBhZ2UiLGt3OiJlZGl0cGFnZSIsVE86ImVtYmVkZGVkIixEcDoibGVhbmJhY2siLEY3OiJwcmV2aWV3cGFnZSIsRE06InByb2ZpbGVwYWdlIixrUzoidW5wbHVnZ2VkIixNbjoicGxheWxpc3RvdmVydmlldyIsVUM6InNwb25zb3JzaGlwc29mZmVyIixCYToic2hvcnRzcGFnZSIsZEw6ImhhbmRsZXNjbGFpbWluZyIsaF86ImltbWVyc2l2ZWxpdmVwYWdlIix6TzoiY3JlYXRvcm11c2ljIixYSjoiaW1tZXJzaXZlbGl2ZXByZXZpZXdwYWdlIixZWDoiYWRtaW50b29seXVydCIsbk06InNob3J0c2F1ZGlvcGl2b3QiLHlfOiJjb25zdW1wdGlvbiIsZUw6ImJhY2tncm91bmRfYXVkaW9fcGxheWJhY2siLFVfOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RzX3BhZ2UiLEdPOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RfZGV0YWlsc19wYWdlIn07dmFyIG9nMj1bImgiLCJIIl0sZHppPVsiOSIsIigiXSx6cmg9WyI5aCIsIihoIl0sbEhoPVsiOCIsIioiXSxUdGk9WyJhIiwiQSJdLGpvaT1bIm8iLCJPIl0sQ0FiPVsibSIsIk0iXSxCdGk9WyJtYWMzIiwiTUFDMyJdLEZIdz1bIm1lYWMzIiwiTUVBQzMiXSxibz17aDpvZzIsSDpvZzIsWyI5Il06ZHppLFsiKCJdOmR6aSxbIjloIl06enJoLFsiKGgiXTp6cmgsWyI4Il06bEhoLFsiKiJdOmxIaCxhOlR0aSxBOlR0aSxvOmpvaSxPOmpvaSxtOkNBYixNOkNBYixtYWMzOkJ0aSxNQUMzOkJ0aSxtZWFjMzpGSHcsTUVBQzM6Rkh3fSx3Rlo9bmV3IFNldCgibyBPIGEgYWggQSBtIE0gbWFjMyBNQUMzIG1lYWMzIE1FQUMzIHNvIHNhIi5zcGxpdCgiICIpKSxwTGo9bmV3IFNldCgibSBNIG1hYzMgTUFDMyBtZWFjMyBNRUFDMyIuc3BsaXQoIiAiKSk7dmFyIEZCVT17ak06MCxObToxMjQsZDQ6MTQ0LEp6OjIyMCx5VjoyNDAsYjY6MzQwLFdhOjM2MCx6NTo0ODAsaHo6NTg4LG1wOjYwOCxYczo3MjAscW06NzQwLHc0OjEwODAsQzQ6MTEwMCxvNjoxNDQwLFBhOjIxNjAsaTY6OTk5OSwwOiJRVUFMSVRZX09SRElOQUxfVU5LTk9XTiIsMTI0OiJRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUiIsMTQ0OiJRVUFMSVRZX09SRElOQUxfMTQ0UCIsMjIwOiJRVUFMSVRZX09SRElOQUxfMjQwUF9TQVZFUiIsMjQwOiJRVUFMSVRZX09SRElOQUxfMjQwUCIsMzQwOiJRVUFMSVRZX09SRElOQUxfMzYwUF9TQVZFUiIsMzYwOiJRVUFMSVRZX09SRElOQUxfMzYwUCIsNDgwOiJRVUFMSVRZX09SRElOQUxfNDgwUCIsNTg4OiJRVUFMSVRZX09SRElOQUxfNjA4UF9TQVZFUiIsNjA4OiJRVUFMSVRZX09SRElOQUxfNjA4UCIsNzIwOiJRVUFMSVRZX09SRElOQUxfNzIwUCIsNzQwOiJRVUFMSVRZX09SRElOQUxfNzIwUF9FTkhBTkNFRCIsMTA4MDoiUVVBTElUWV9PUkRJTkFMXzEwODBQIiwKMTEwMDoiUVVBTElUWV9PUkRJTkFMXzEwODBQX0VOSEFOQ0VEIiwxNDQwOiJRVUFMSVRZX09SRElOQUxfMTQ0MFAiLDIxNjA6IlFVQUxJVFlfT1JESU5BTF8yMTYwUCIsOTk5OToiUVVBTElUWV9PUkRJTkFMX0hJR0hSRVMifTt2YXIgTkc9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9LExnPXswOiJhdXRvIiwxNDQ6InRpbnkiLDI0MDoic21hbGwiLDM2MDoibWVkaXVtIiw0ODA6ImxhcmdlIiw3MjA6ImhkNzIwIiwxMDgwOiJoZDEwODAiLDE0NDA6ImhkMTQ0MCIsMjE2MDoiaGQyMTYwIiwyODgwOiJoZDI4ODAiLDQzMjA6ImhpZ2hyZXMifSxOej17UVVBTElUWV9PUkRJTkFMX1VOS05PV046MCxRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUjoxMjQsUVVBTElUWV9PUkRJTkFMXzE0NFA6MTQ0LFFVQUxJVFlfT1JESU5BTF8yNDBQX1NBVkVSOjIyMCxRVUFMSVRZX09SRElOQUxfMjQwUDoyNDAsUVVBTElUWV9PUkRJTkFMXzM2MFBfU0FWRVI6MzQwLFFVQUxJVFlfT1JESU5BTF8zNjBQOjM2MCxRVUFMSVRZX09SRElOQUxfNDgwUDo0ODAsClFVQUxJVFlfT1JESU5BTF82MDhQX1NBVkVSOjU4OCxRVUFMSVRZX09SRElOQUxfNjA4UDo2MDgsUVVBTElUWV9PUkRJTkFMXzcyMFA6NzIwLFFVQUxJVFlfT1JESU5BTF83MjBQX0VOSEFOQ0VEOjc0MCxRVUFMSVRZX09SRElOQUxfMTA4MFA6MTA4MCxRVUFMSVRZX09SRElOQUxfMTA4MFBfRU5IQU5DRUQ6MTEwMCxRVUFMSVRZX09SRElOQUxfMTQ0MFA6MTQ0MCxRVUFMSVRZX09SRElOQUxfMjE2MFA6MjE2MCxRVUFMSVRZX09SRElOQUxfSElHSFJFUzo5OTk5fTt2YXIgJGQ9MjU5MkUzO2cuT249e1NUT1BfRVZFTlRfUFJPUEFHQVRJT046Imh0bWw1LXN0b3AtcHJvcGFnYXRpb24iLElWX0RSQVdFUl9FTkFCTEVEOiJ5dHAtaXYtZHJhd2VyLWVuYWJsZWQiLElWX0RSQVdFUl9PUEVOOiJ5dHAtaXYtZHJhd2VyLW9wZW4iLE1BSU5fVklERU86Imh0bWw1LW1haW4tdmlkZW8iLFZJREVPX0NPTlRBSU5FUjoiaHRtbDUtdmlkZW8tY29udGFpbmVyIixWSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORzoiaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmciLEhPVVNFX0JSQU5EOiJob3VzZS1icmFuZCJ9O3ZhciBQbj17YWxsb3dlZDoiQVVUT1BMQVlfQlJPV1NFUl9QT0xJQ1lfQUxMT1dFRCIsImFsbG93ZWQtbXV0ZWQiOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9BTExPV0VEX01VVEVEIixkaXNhbGxvd2VkOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9ESVNBTExPV0VEIn07dmFyIGNLTT17QU5EUk9JRDozLEFORFJPSURfS0lEUzoxOCxBTkRST0lEX01VU0lDOjIxLEFORFJPSURfVU5QTFVHR0VEOjI5LFdFQjoxLFdFQl9SRU1JWDo2NyxXRUJfVU5QTFVHR0VEOjQxLElPUzo1LElPU19LSURTOjE5LElPU19NVVNJQzoyNixJT1NfVU5QTFVHR0VEOjMzfSx1Sj17YW5kcm9pZDoiQU5EUk9JRCIsImFuZHJvaWQuayI6IkFORFJPSURfS0lEUyIsImFuZHJvaWQubSI6IkFORFJPSURfTVVTSUMiLCJhbmRyb2lkLnVwIjoiQU5EUk9JRF9VTlBMVUdHRUQiLHlvdXR1YmU6IldFQiIsInlvdXR1YmUubSI6IldFQl9SRU1JWCIsInlvdXR1YmUudXAiOiJXRUJfVU5QTFVHR0VEIix5dGlvczoiSU9TIiwieXRpb3MuayI6IklPU19LSURTIiwieXRpb3MubSI6IklPU19NVVNJQyIsInl0aW9zLnVwIjoiSU9TX1VOUExVR0dFRCJ9LE00Uz17Im1keC1wYWlyIjoxLCJtZHgtZGlhbCI6MiwibWR4LWNhc3QiOjMsIm1keC12b2ljZSI6NCwibWR4LWluYXBwZGlhbCI6NX07dmFyIExHMT17aV86MSxZdzoyLFBBVVNFRDozLDE6IkRJU0FCTEVEIiwyOiJFTkFCTEVEIiwzOiJQQVVTRUQifTt2YXIgZXh4PVJlZ0V4cCgiXmh0dHBzPzovLyhbXi5dKlxcLm1vYXRhZHNcXC5jb20vfGVbMC05XStcXC55dFxcLnNyc1xcLmRvdWJsZXZlcmlmeVxcLmNvbXxwYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb20vcGFnZWFkL2dlbl8yMDRcXD9pZD15dDNwJnNyPTEmfHBtXFwuYWRzYWZlcHJvdGVjdGVkXFwuY29tL3lvdXR1YmV8cG1cXC50ZXN0LWFkc2FmZXByb3RlY3RlZFxcLmNvbS95b3V0dWJlfHlvdXR1YmVbMC05XStcXC5tb2F0cGl4ZWxcXC5jb20vKSIpLGxKPVJlZ0V4cCgiXmh0dHBzOi8vKFthLXpdK1xcLik/WzAtOWEtZl17MSw2M31cXC5zc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20vfF5odHRwczovLyhbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbS98Xmh0dHBzPzovLygoWy1cXHddKnd3d1stXFx3XSpcXC58Wy1cXHddKndlYlstXFx3XSpcXC58Wy1cXHddKmNhbmFyeVstXFx3XSpcXC58Wy1cXHddKmRldlstXFx3XSpcXC58Wy1cXHddezEsM31cXC4pKyhjb3JwXFwuKT95b3V0dWJlKC1ub2Nvb2tpZXxraWRzfGVkdWNhdGlvbik/XFwuY29tL3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooeW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuKFthLXpdezN9fGkpXFwuY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPy98KGRvY3N8ZHJpdmUpXFwuZ29vZ2xlXFwuY29tLyhhL1teL1xcXFwlXSsvfCl8KG11c2ljfG11c2ljLWdyZWVuLXFhfG11c2ljLXJlbGVhc2UtcWF8eXQtbXVzaWMtZ3JlZW5cXC5jb3JwKVxcLnlvdXR1YmVcXC5jb20vfCh0dnx0di1ncmVlbi1xYXx0di1ncmVlbi1xYVxcLmNvcnB8dHYtcmVsZWFzZS1xYXx0di1yZWxlYXNlLXFhXFwuY29ycHx0di1pbnRlZ3JhdGlvbi1xYXx0di1pbnRlZ3JhdGlvbi1xYVxcLmNvcnB8eXQtdHYtYXV0b3B1c2hcXC5jb3JwfHl0LXR2LWludGVncmF0aW9uXFwuY29ycHx5dC10di1zdGFnaW5nXFwuY29ycClcXC55b3V0dWJlXFwuY29tL3xbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vKSIpLApndGo9UmVnRXhwKCJeaHR0cHM/Oi8vKHd3d1xcLmdvb2dsZVxcLmNvbS9wYWdlYWQveHN1bHx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9zbGF2KSIpLHg1cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bWFpbFxcLmdvb2dsZVxcLmNvbXx5b3V0dWJlXFwuY29tfHlvdXR1YmVlZHVjYXRpb25cXC5jb218eW91dHViZVxcLW5vY29va2llXFwuY29tfHlvdXR1YmVraWRzXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpKSIpLApMaHQ9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLGs3cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbSlbLl0/KDpbMC05XSspPy98KFtBLVphLXowLTktXXsxLDYzfVxcLikqKHNhbmRib3hcXC5nb29nbGVcXC5jb20pKDpbMC05XSspPygvKD8hdXJsXFxiKXwkKSkiKSwKRDVVPVJlZ0V4cCgiXigoaHR0cChzKT8pOik/XFwvXFwvKCgoKGxoWzMtNl0oLXR0fC1kW2EtZyx6XSk/XFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKXwoc2FuZGJveFxcLmdvb2dsZSkpKXwobGg3XFwtKGV1fHVzfHF3fHJ0fHh4KVxcLigoZ29vZ2xldXNlcmNvbnRlbnQpfChnb29nbGUpKSl8KChwaG90b3N8dGVzdG9ubHl8d29yaylcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfChbXFx3XFwtXStcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfCgoWzEtNF1cXC5icFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcLmJsb2dnZXIpKXwoY2NwLWxoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfCgoKChjcHxjaXxncClbMy02XSl8KGFwWzEtMl0pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFwuZ2dwaHQpfChwbGF5LSh0aS0pP2xoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChnelswLTFdXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChsaDNcXC1nbVxcLmdvb2dsZSl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpKVxcLmNvbSl8KGRyaXZlXFwuZ29vZ2xlXFwuY29tXFwvZHJpdmVcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXC5nb29nbGV1c2VyY29udGVudFxcLmNuKXwoZHA0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20pfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXC1pbWFnZVxcLShkZXZ8cWEpKC11c3wtZXUpPygtYXV0aHwtY29va2llKT9cXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwocGhvdG9zXFwtaW1hZ2VcXC1kZXZcXC1kbFxcLShhdXRofGV1fHVzKVxcLmNvcnBcXC5nb29nbGVcXC5jb20pfCgoZGV2fGRldjJ8ZGV2M3xxYXxxYTJ8cWEzfHFhLXJlZHxxYS1ibHVlfGNhbmFyeSlbLS5dbGlnaHRob3VzZVxcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC9pbWFnZSl8KGltYWdlXFwtKGRldnxxYSlcXC1saWdodGhvdXNlKC1hdXRoKT9cXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tKFxcL2ltYWdlKT8pfChkcml2ZVxcLXFhXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkb2NzKFxcLShkZXZ8cWEpXFwuY29ycCk/XFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pPyhkb2NzfHNoZWV0c3xzbGlkZXN8ZHJhd2luZ3N8Zm9ybXN8dmlkZW9zfHBpY3R1cmVzKVxcLWltYWdlc1xcLShydHxxdykpfChkb2NzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXMpfChzaXRlc1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXNcXC0ocnR8cXcpKXwoYXRhcmktZ3JlZW4tdGVzdFxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KHNpdGVzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXMpKVxcL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzPzovLygoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY29ycFxcLmdvb2dsZVxcLmNvbXxwcm94eVxcLmdvb2dsZXByb2RcXC5jb218Y1xcLmdvb2dsZXJzXFwuY29tfHByb3h5XFwuZ29vZ2xlcnNcXC5jb218Ym9yZ1xcLmdvb2dsZVxcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfGdvb2dsZXBsZXhcXC5jb218cGxheVxcLmdvb2dsZVxcLmNvbXxwcm9kXFwuZ29vZ2xlXFwuY29tfHZpZGVvXFwuZ29vZ2xlXFwuY29tfHlvdXR1YmVcXC5jb218eXRpbWdcXC5jb218eXRpbWdcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tfGNoYXRcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbQS1aYS16MC05LV17MSw2M31cXC4pKihzYW5kYm94XFwuZ29vZ2xlXFwuY29tKSg6WzAtOV0rKT8oLyg/IXVybFxcYil8JCl8czJcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbS9zMi9mYXZpY29uc1xcP3x5dFszLTRdXFwuZ2dwaHRcXC5jb20vKSIpLApiS1o9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFhLMj1SZWdFeHAoIl5odHRwcz8uKiNvY3IkfF5odHRwcz86Ly8oYWtzZWN1cmVcXC5pbXJ3b3JsZHdpZGVcXC5jb20vfGNkblxcLmltcndvcmxkd2lkZVxcLmNvbS98c2VjdXJlXFwtLi5cXC5pbXJ3b3JsZHdpZGVcXC5jb20vKSIpLHZFaD1SZWdFeHAoIl5odHRwcz86Ly8oZ29vZ2xlYWRzXFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0LyhhY2xrfHBhZ2VhZC9jb252ZXJzaW9uKXx3d3dcXC5nb29nbGVcXC5jb20vKGFjbGt8cGFnZWFkL2NvbnZlcnNpb24pfHd3d1xcLmdvb2dsZWFkc2VydmljZXNcXC5jb20vKGFjbGt8cGFnZWFkLyhhY2xrfGNvbnZlcnNpb24pKXx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9jb252ZXJzaW9uKSIpLG5Fdz1SZWdFeHAoIl4oKGh0dHAocyk/KTopP1xcL1xcLygoKChsaFszLTZdKC10dHwtZFthLWcsel0pP1xcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXC5nb29nbGUpKSl8KGxoN1xcLShldXx1c3xxd3xydHx4eClcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoW1xcd1xcLV0rXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoKFsxLTRdXFwuYnBcXC5ibG9nc3BvdCl8KGJwWzAtM11cXC5ibG9nZ2VyKSl8KGNjcC1saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKXwoZ21bMS00XVxcLmdncGh0KXwocGxheS0odGktKT9saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3pbMC0xXVxcLmdvb2dsZXVzZXJjb250ZW50KXwobGgzXFwtZ21cXC5nb29nbGUpfCgoKHl0WzMtNF0pfChzcFsxLTNdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKSlcXC5jb20pfChkcml2ZVxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkcFszLTZdXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jbil8KGRwNFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKXwoKHBob3Rvc3xkcml2ZXxjb250cmlidXRpb24pXFwtaW1hZ2VcXC0oZGV2fHFhKSgtdXN8LWV1KT8oLWF1dGh8LWNvb2tpZSk/XFwuY29ycFxcLmdvb2dsZVxcLmNvbSl8KHBob3Rvc1xcLWltYWdlXFwtZGV2XFwtZGxcXC0oYXV0aHxldXx1cylcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwoKGRldnxkZXYyfGRldjN8cWF8cWEyfHFhM3xxYS1yZWR8cWEtYmx1ZXxjYW5hcnkpWy0uXWxpZ2h0aG91c2VcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tXFwvaW1hZ2UpfChpbWFnZVxcLShkZXZ8cWEpXFwtbGlnaHRob3VzZSgtYXV0aCk/XFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbShcXC9pbWFnZSk/KXwoZHJpdmVcXC1xYVxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC9kcml2ZVxcLSh1c2VyY29udGVudHx2aWV3ZXIpKXwoZG9jcyhcXC0oZGV2fHFhKVxcLmNvcnApP1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXNcXC0ocnR8cXcpKXwoZG9jc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/KGRvY3N8c2hlZXRzfHNsaWRlc3xkcmF3aW5nc3xmb3Jtc3x2aWRlb3N8cGljdHVyZXMpXFwtaW1hZ2VzKXwoc2l0ZXNcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KGF0YXJpLWdyZWVuLXRlc3RcXC5jb3JwXFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pP3NpdGVzKHYpP1xcLWltYWdlc1xcLShydHxxdykpfChzaXRlc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzKSlcXC98Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC8oPyF1cmxcXGIpfCQpfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK3NzbHByb3h5XFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVwbGV4XFwuY29tfGdvb2dsZXZpZGVvXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bGgzXFwucGhvdG9zXFwuZ29vZ2xlXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5dFxcLmFrYW1haXplZFxcLm5ldHxjaGF0XFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfChbQS1aYS16MC05LV17MSw2M31cXC4pKmNcXC5saDMoLWRbYS1neXpdfC10ZXN0b25seSk/XFwuKGdvb2dsZXVzZXJjb250ZW50fHBob3Rvc1xcLmdvb2dsZSlcXC5jb20vLiokKSIpLApXaFo9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFJyaT1SZWdFeHAoIl5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGltYXNka1xcLmdvb2dsZWFwaXNcXC5jb218Mm1kblxcLm5ldHxnb29nbGVzeW5kaWNhdGlvblxcLmNvbXxjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfGdvb2dsZWFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldHxwcm9kXFwuZ29vZ2xlXFwuY29tfHN0YXRpY1xcLmRvdWJsZWNsaWNrXFwubmV0fHN0YXRpY1xcLmdvb2dsZWFkc3NlcnZpbmdcXC5jbnxzdHVkaW9hcGlcXC5kb3VibGVjbGlja1xcLm5ldHx5b3V0dWJlXFwuY29tfHlvdXR1YmVcXC5nb29nbGVhcGlzXFwuY29tfHlvdXR1YmVcXC1ub2Nvb2tpZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbXx5dGltZ1xcLmNvbXx5dGltZ1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfGxpZ2h0Ym94LShkZW1vc3xidWlsZGVyKVxcLmFwcHNwb3RcXC5jb20vfHNbMDFdKHFhKT9cXC4ybWRuXFwubmV0L2Fkcy9yaWNobWVkaWEvc3R1ZGlvL211L3RlbXBsYXRlcy90ZXRyaXN8d3d3XFwuZ3N0YXRpY1xcLmNvbS9kb3VibGVjbGljay9zdHVkaW8vaW5ub3ZhdGlvbi9oNS9sYXlvdXRzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL3l0cGxheWVyKSIpLApRb009UmVnRXhwKCJeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY3Jvd2Rzb3VyY2V8ZGF0YWNvbXB1dGUpXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzOi8vKGFkc3xhZHdvcmRzXFwuY29ycClcXC5nb29nbGVcXC5jb20vKGF3Lyhhc3NldGdyb3VwLyhlZGl0fG5ldyl8Y2FtcGFpZ25zLyhuZXcvKHBlcmZvcm1hbmNlbWF4fGRlbWFuZGdlbil8ZWRpdC9kZW1hbmRnZW4pKXwkKXxeaHR0cHM6Ly8oYWR3b3Jkcy0pP2NhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vKGJvb2tzfHBsYXktYm9va3MtKGF1dG9wdXNofGludGVybmFsfHByZXByb2R8c3RhZ2luZykoLXNhbmRib3h8XFwuY29ycCkpXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oL3wkKXxeaHR0cHM6Ly9hZHMoLWV4dGVybmFsKT8tcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vY2FudmFzdGVzdGVyLTNmZDBiXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL2xvY2FsaG9zdFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKDpcXGQrKT8oL3wkKXxeaHR0cHM6Ly9uYXJyYXRpdmUtbmV3cy1jYXN0LXJlY2VpdmVyLWRcXC5hcHBzcG90XFwuY29tKC98JCl8Xmh0dHBzOi8vbmFycmF0aXZlLW5ld3MtY2FzdC1yZWNlaXZlci1mXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL29uZVxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwczovL3d3d1xcLmdvb2dsZVxcLmNvbS9jdWx0dXJhbGluc3RpdHV0ZS9tYW5hZ2UvLiokfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vYW9nX2hvd3RvfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vbmFycmF0aXZlX2Nhc3RfcmVjZWl2ZXIvbmV3c3xeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihpbWFzZGtcXC5nb29nbGVhcGlzXFwuY29tfGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVhZHNcXC5nXFwuZG91YmxlY2xpY2tcXC5uZXR8Z29vZ2xlcGxleFxcLmNvbXxwbGF5XFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218cGhvdG9zXFwuZ29vZ2xlXFwuY29tfGdldFxcLmdvb2dsZVxcLmNvbXxibG9nZ2VyXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218c3VydmV5XFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0fHlvdXR1YmVcXC5jb218eW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb218eW91dHViZWVkdWNhdGlvblxcLmNvbXx5b3V0dWJlXFwtbm9jb29raWVcXC5jb218eXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218eW91dHViZWtpZHNcXC5jb218dmV2b1xcLmNvbXxjaGF0XFwuZ29vZ2xlXFwuY29tfG1lZXRcXC5nb29nbGVcXC5jb218YXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8oL3wkKXwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfCh3d3dcXC58ZW5jcnlwdGVkXFwuKT9nb29nbGVcXC4oY2F0fGNvbShcXC4oYVtmZ2lydV18YltkaG5vcnpdfGNbb3V5XXxkb3xlW2NndF18Zmp8Z1toaXRdfGhrfGptfGtofGt3fGxbYmN5XXxtW210eHldfG5bYWZnaXBdfG9tfHBbYWVnaGtyeV18cWF8c1thYmdsdl18dFtqbnJ3XXx1YXx1eXx2Y3x2bikpP3xhW2NkZWxtc3R6XXxjW2FjZGZnaGlsbW52el18YlthZWZnaWpzdHldfGVlfGVzfGRbZWprbXpdfGdbYWVmZ2xtcHJ5XXxmW2ltcl18aVtlbW9xcnN0XXxoW25ydHVdfGtbZ2l6XXxqZXxqb3xtW2RlZ2tsbnN1dnddfGxbYWlrdHV2XXxuW2Vsb3J1XXxwW2xuc3RdfHNbY2VoaWttbm9ydF18cltvc3V3XXx1c3x0W2Rna2xtbm90XXx3c3x2Z3x2dXxjb1xcLihhb3xid3xja3xjcnxpW2Rsbl18anB8a2V8a3J8bHN8bWF8bXp8bnp8dGh8dHp8dVtna3pdfHZlfHZpfHpbYW13XSkpLyhzZWFyY2h8d2ViaHApXFw/fCh3d3dcXC58ZW5jcnlwdGVkXFwuKWdvb2dsZVxcLihjYXR8Y29tKFxcLihhW2ZnaXJ1XXxiW2Robm9yel18Y1tvdXldfGRvfGVbY2d0XXxmanxnW2hpdF18aGt8am18a2h8a3d8bFtiY3ldfG1bbXR4eV18blthZmdpcF18b218cFthZWdoa3J5XXxxYXxzW2FiZ2x2XXx0W2pucnddfHVhfHV5fHZjfHZuKSk/fGFbY2RlbG1zdHpdfGNbYWNkZmdoaWxtbnZ6XXxiW2FlZmdpanN0eV18ZWV8ZXN8ZFtlamttel18Z1thZWZnbG1wcnldfGZbaW1yXXxpW2Vtb3Fyc3RdfGhbbnJ0dV18a1tnaXpdfGplfGpvfG1bZGVna2xuc3V2d118bFthaWt0dXZdfG5bZWxvcnVdfHBbbG5zdF18c1tjZWhpa21ub3J0XXxyW29zdXddfHVzfHRbZGdrbG1ub3RdfHdzfHZnfHZ1fGNvXFwuKGFvfGJ3fGNrfGNyfGlbZGxuXXxqcHxrZXxrcnxsc3xtYXxtenxuenx0aHx0enx1W2drel18dmV8dml8elthbXddKSkvPyR8bGlnaHRib3gtKGRlbW9zfGJ1aWxkZXIpXFwuYXBwc3BvdFxcLmNvbS98czBcXC4ybWRuXFwubmV0L2luc3RyZWFtL2h0bWw1L25hdGl2ZS98c1swMV0ocWEpP1xcLjJtZG5cXC5uZXQvYWRzL3JpY2htZWRpYS9zdHVkaW8vbXUvdGVtcGxhdGVzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL2g1L2xheW91dHMvdGV0cmlzKSIpLApWNGk9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/KC98JCkiKSxjWlM9UmVnRXhwKCJeKGh0dHBzOi8vcGxheVxcLmdvb2dsZVxcLmNvbXxodHRwczovL3Bob3Rvc1xcLmdvb2dsZVxcLmNvbXxodHRwczovL2dldFxcLmdvb2dsZVxcLmNvbXxodHRwczovL21haWxcXC5nb29nbGVcXC5jb218aHR0cHM6Ly95dFxcLXdlYlxcLWVtYmVkZGVkXFwtcGxheWVyXFwuYXBwc3BvdFxcLmNvbXxodHRwOi8veXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218aHR0cHM6Ly9jaGF0XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vb25lXFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHN0cmFuc3BhcmVuY3lcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHNcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHdvcmRzXFwuY29ycFxcLmdvb2dsZVxcLmNvbXxodHRwczovL2Fkc1xcLWV4dGVybmFsXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWRzXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWR3b3Jkc1xcLWNhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vY2FuYXJ5XFwucWFcXC5hZHpcXC5nb29nbGVcXC5jb20pJHxeaHR0cDovL1swLTldK1xcLlthLXowLTlcXC1fXStcXC5bYS16MC05XFwtX10rXFwuW2EtejAtOVxcLV9dK1xcLihbYS16XXsyfXxpKVxcLmJvcmdcXC5nb29nbGVcXC5jb20oOlswLTldKyk/JHxeaHR0cHM6Ly8oKGF1dG9wdXNofGJldGEtbG9va3VwfGRhaWx5LVswLTZdfG1hbnVhbC1xdWFsfHByZXByb2R8c3RyZWFtKVxcLik/bWVldFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNyb3dkc291cmNlfGRhdGFjb21wdXRlKVxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKHlvdXR1YmV8eW91dHViZWtpZHN8eW91dHViZWVkdWNhdGlvbilcXC5jb20kfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc2FuZGJveFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tJHxeaHR0cHM6Ly8oYm9va3N8cGxheS1ib29rcy0oYXV0b3B1c2h8aW50ZXJuYWx8cHJlcHJvZHxzdGFnaW5nKSgtc2FuZGJveHxcXC5jb3JwKSlcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbSR8Xmh0dHBzOi8vKGRyYWZ0fHd3d3wod3d3XFwuKT9kZXZcXC5zYW5kYm94fCh3d3dcXC4pP2F1dG9wdXNoXFwuc2FuZGJveHwod3d3XFwuKT9zdGFnaW5nXFwuc2FuZGJveHwod3d3XFwuKT9yZXN0b3JlXFwuc2FuZGJveClcXC5ibG9nZ2VyXFwuY29tJHxeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbSR8Xmh0dHBzOi8vbG9jYWxob3N0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oOlxcZCspPyR8Xmh0dHBzPzovLygoKGRvY3N8bXxzaW5nfHNzfHNzc3x3d3cpXFwuKT9kcml2ZVxcLmdvb2dsZVxcLmNvbSR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfChbQS1aYS16MC05LV17MSw2M31cXC4pKmdvb2dsZXBsZXhcXC5jb20oOlswLTldKyk/JHwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSpwcm94eVxcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KHd3d1xcLnxlbmNyeXB0ZWRcXC4pZ29vZ2xlXFwuKGNhdHxjb20oXFwuKGFbZmdpcnVdfGJbZGhub3J6XXxjW291eV18ZG98ZVtjZ3RdfGZqfGdbaGl0XXxoa3xqbXxraHxrd3xsW2JjeV18bVttdHh5XXxuW2FmZ2lwXXxvbXxwW2FlZ2hrcnldfHFhfHNbYWJnbHZdfHRbam5yd118dWF8dXl8dmN8dm4pKT98YVtjZGVsbXN0el18Y1thY2RmZ2hpbG1udnpdfGJbYWVmZ2lqc3R5XXxlZXxlc3xkW2Vqa216XXxnW2FlZmdsbXByeV18ZltpbXJdfGlbZW1vcXJzdF18aFtucnR1XXxrW2dpel18amV8am98bVtkZWdrbG5zdXZ3XXxsW2Fpa3R1dl18bltlbG9ydV18cFtsbnN0XXxzW2NlaGlrbW5vcnRdfHJbb3N1d118dXN8dFtkZ2tsbW5vdF18d3N8dmd8dnV8Y29cXC4oYW98Ynd8Y2t8Y3J8aVtkbG5dfGpwfGtlfGtyfGxzfG1hfG16fG56fHRofHR6fHVbZ2t6XXx2ZXx2aXx6W2Ftd10pKS8/JHxbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfGRvY3NcXC5nb29nbGVcXC5jb20kKSIpLAphSFU9UmVnRXhwKCJeKGh0dHBzOi8vY3VycmVudHNcXC5nb29nbGVcXC5jb20pJCIpO3ZhciBkUD0hMTtnLndaPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0hMSl7dGhpc1tJWzE3XV09bjt0aGlzW0lbOV1dPVc7dGhpc1tJWzM5XV09dGhpc1tJWzI4XV09dGhpc1tJWzI2XV09SVsyMV07dGhpc1tJWzFdXT17fTt0aGlzW0lbMjldXT1JWzIxXX1zZXQobixXKXt0aGlzW0lbMV1dW25dIT09VyYmKHRoaXNbSVsxXV1bbl09Vyx0aGlzW0lbMjldXT1JWzIxXSl9Z2V0KG4pe2VYKDE0LDcyMTMsdGhpcyk7cmV0dXJuIHRoaXNbSVsxXV1bbl18fG51bGx9V0QoKXt0aGlzW0lbMjldXXx8KHRoaXNbSVsyOV1dPUVjKDYsMjk5OCx0aGlzKSk7cmV0dXJuIHRoaXNbSVsyOV1dfWNsb25lKCl7dmFyIG49bmV3IGcud1oodGhpc1tJWzE3XV0sdGhpc1tJWzldXSk7bltJWzI2XV09dGhpc1tJWzI2XV07bltJWzI4XV09dGhpc1tJWzI4XV07bltJWzM5XV09dGhpc1tJWzM5XV07bltJWzFdXT1nLnMwKHRoaXNbSVsxXV0pO25bSVsyOV1dPXRoaXNbSVsyOV1dO3JldHVybiBufX07dmFyIEpaPXtGQUlSUExBWToiZmFpcnBsYXkiLFBMQVlSRUFEWToicGxheXJlYWR5IixXSURFVklORToid2lkZXZpbmUiLENMRUFSS0VZOm51bGwsRkxBU0hBQ0NFU1M6bnVsbCxVTktOT1dOOm51bGwsV0lERVZJTkVfQ0xBU1NJQzpudWxsfTt2YXIgd1A9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0hMSl7dGhpcy5uYW1lPW47dGhpcy5pZD1XO3RoaXMuaXNEZWZhdWx0PUQ7dGhpcy5pc0F1dG9EdWJiZWQ9Yn1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXRJZCgpe3JldHVybiB0aGlzLmlkfWdldElzRGVmYXVsdCgpe3JldHVybiB0aGlzLmlzRGVmYXVsdH1nZXRJc0F1dG9EdWJiZWQoKXtyZXR1cm4gdGhpcy5pc0F1dG9EdWJiZWR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5uYW1lfX07d1AucHJvdG90eXBlLmdldE5hbWU9d1AucHJvdG90eXBlLmdldE5hbWU7d1AucHJvdG90eXBlLmdldElkPXdQLnByb3RvdHlwZS5nZXRJZDt3UC5wcm90b3R5cGUuZ2V0SXNEZWZhdWx0PXdQLnByb3RvdHlwZS5nZXRJc0RlZmF1bHQ7d1AucHJvdG90eXBlLmdldElzQXV0b0R1YmJlZD13UC5wcm90b3R5cGUuZ2V0SXNBdXRvRHViYmVkO2cuUXc9Y2xhc3N7Y29uc3RydWN0b3Iobj17fSl7dGhpcy5sYW5ndWFnZUNvZGU9bi5sYW5ndWFnZUNvZGV8fCIiO3RoaXMubGFuZ3VhZ2VOYW1lPW4ubGFuZ3VhZ2VOYW1lfHxudWxsO3RoaXMua2luZD1uLmtpbmR8fCIiO3RoaXMubmFtZT1uLm5hbWU9PT12b2lkIDA/bnVsbDpuLm5hbWU7dGhpcy5kaXNwbGF5TmFtZT1uLmRpc3BsYXlOYW1lfHxudWxsO3RoaXMuaWQ9bi5pZHx8bnVsbDt0aGlzLk49bi5pc19zZXJ2YWJsZXx8ITE7dGhpcy5pc1RyYW5zbGF0ZWFibGU9bi5pc190cmFuc2xhdGVhYmxlfHwhMTt0aGlzLnVybD1uLnVybHx8bnVsbDt0aGlzLnZzc0lkPW4udnNzX2lkfHwiIjt0aGlzLmlzRGVmYXVsdD1uLmlzX2RlZmF1bHR8fCExO3RoaXMudHJhbnNsYXRpb25MYW5ndWFnZT1uLnRyYW5zbGF0aW9uTGFuZ3VhZ2V8fG51bGw7dGhpcy54dGFncz1uLnh0YWdzfHwiIjt0aGlzLmNhcHRpb25JZD1uLmNhcHRpb25JZHx8IiJ9Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1pc1NlcnZhYmxlKCl7cmV0dXJuIHRoaXMuTn1XRCgpe3JldHVybiB0aGlzLnVybH1nZXRYdGFncygpe3JldHVybiB0aGlzLnh0YWdzfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlKwoiOiAiK2cuY24odGhpcykrIiAtICIrdGhpcy52c3NJZCsiIC0gIisodGhpcy5jYXB0aW9uSWR8fCIiKX1lcXVhbHMobil7cmV0dXJuIG4/dGhpcy50b1N0cmluZygpPT09bi50b1N0cmluZygpOiExfU9WKCl7cmV0dXJuISghdGhpcy5sYW5ndWFnZUNvZGV8fHRoaXMudHJhbnNsYXRpb25MYW5ndWFnZSYmIXRoaXMudHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGUpfX07dmFyIFdBPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pZD1uO3RoaXMua1o9Vzt0aGlzLmNhcHRpb25UcmFja3M9W107dGhpcy5XPXRoaXMuWD1udWxsO3RoaXMueHRhZ3M9IiI7dGhpcy5WPXRoaXMuaj0hMTt0aGlzLk49bnVsbDt0aGlzLko9IlVOS05PV04iO3RoaXMuY2FwdGlvbnNJbml0aWFsU3RhdGU9IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiI7bj10aGlzLmtaLmlkLnNwbGl0KCIuIik7bi5sZW5ndGg+MSYmKHRoaXMuaj1uWzFdPT09IjIiLHRoaXMuVj1uWzFdPT09IjQiKX1nZXRMYW5ndWFnZUluZm8oKXtyZXR1cm4gdGhpcy5rWn1nZXRYdGFncygpe2lmKCF0aGlzLnh0YWdzKXtsZXQgbj10aGlzLmlkLnNwbGl0KCI7Iik7bi5sZW5ndGg+MSYmKHRoaXMueHRhZ3M9blsxXSl9cmV0dXJuIHRoaXMueHRhZ3N9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5rWi5uYW1lfWlzQXV0b0R1YmJlZCgpe3JldHVybiB0aGlzLmtaLmdldElzQXV0b0R1YmJlZCgpfX07CldBLnByb3RvdHlwZS5nZXRMYW5ndWFnZUluZm89V0EucHJvdG90eXBlLmdldExhbmd1YWdlSW5mbztXQS5wcm90b3R5cGUuaXNBdXRvRHViYmVkPVdBLnByb3RvdHlwZS5pc0F1dG9EdWJiZWQ7dmFyIGIzPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdj0wKXt0aGlzLko9bjt0aGlzLk49Vzt0aGlzLlc9RDt0aGlzLnJlYXNvbj1iO3RoaXMuTnM9dn1lcXVhbHMobil7cmV0dXJuIHRoaXMuSj09PW4uSiYmdGhpcy5OPT09bi5OJiZ0aGlzLlc9PT1uLlcmJnRoaXMucmVhc29uPT09bi5yZWFzb24mJighaFR8fHRoaXMuTnM9PT1uLk5zKX1pc0xvY2tlZCgpe3JldHVybiB0aGlzLlcmJiEhdGhpcy5KJiZ0aGlzLko9PT10aGlzLk59Y29tcG9zZShuKXtpZihuLlcmJnhKKG4pKXJldHVybiBZWjtpZihuLld8fHhKKHRoaXMpKXJldHVybiBuO2lmKHRoaXMuV3x8eEoobikpcmV0dXJuIHRoaXM7dmFyIFc9dGhpcy5KJiZuLko/TWF0aC5tYXgodGhpcy5KLG4uSik6dGhpcy5KfHxuLkosRD10aGlzLk4mJm4uTj9NYXRoLm1pbih0aGlzLk4sbi5OKTp0aGlzLk58fG4uTjtXPU1hdGgubWluKFcsRCk7dmFyIGI9MDtoVCYmKGI9dGhpcy5OcyE9PTAmJm4uTnMhPT0wP01hdGgubWluKHRoaXMuTnMsCm4uTnMpOnRoaXMuTnM9PT0wP24uTnM6dGhpcy5Ocyk7cmV0dXJuIGhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OJiZiPT09dGhpcy5Oc3x8IWhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OP3RoaXM6aFQ/bmV3IGIzKFcsRCwhMSxEPT09dGhpcy5OJiZiPT09dGhpcy5Ocz90aGlzLnJlYXNvbjpuLnJlYXNvbixiKTpuZXcgYjMoVyxELCExLEQ9PT10aGlzLk4/dGhpcy5yZWFzb246bi5yZWFzb24pfVgobil7cmV0dXJuIW4udmlkZW98fGhUJiZ0aGlzLk5zIT09MCYmdGhpcy5OczxuLk5zPyExOmdGKHRoaXMsbi52aWRlby5xdWFsaXR5KX19LG5oVT12QSgiYXV0byIsImhkMTA4MCIsITEsImwiKSxUOD12QSgiYXV0byIsImxhcmdlIiwhMSwibCIpLFlaPXZBKCJhdXRvIiwiYXV0byIsITEsInAiKSxoVD0hMTt2YXIgcGc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy52aWRlb0luZm9zPW47dGhpcy5KPVc7dGhpcy5hdWRpb1RyYWNrcz1bXTt0aGlzLlc9Ynx8W107aWYodGhpcy5KKXtuPW5ldyBTZXQ7RD8uKHthaW5mb2xlbjp0aGlzLkoubGVuZ3RofSk7Zm9yKGxldCB2IG9mIHRoaXMuSil7aWYoIXYua1p8fG4uaGFzKHYua1ouaWQpKXtEPy4oe2F0a2VycjohIXYua1osaXRhZzp2Lml0YWcseHRhZzp2LkosbGFuZzp2LmtaPy5uYW1lfHwiIixsYW5naWQ6di5rWj8uaWR8fCIifSk7Y29udGludWV9Vz1uZXcgV0Eodi5pZCx2LmtaKTtuLmFkZCh2LmtaLmlkKTt0aGlzLmF1ZGlvVHJhY2tzLnB1c2goVyl9RD8uKHthdGtsZW46dGhpcy5hdWRpb1RyYWNrcy5sZW5ndGh9KX19Y1kobil7bj1ufHxZWjt2YXIgVz1nLkVNKHRoaXMudmlkZW9JbmZvcyx2PT5uLlgodikpLEQ9W10sYj17fTsKZm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl0udmlkZW87YltrLnF1YWxpdHldfHwoRC5wdXNoKGspLGJbay5xdWFsaXR5XT0hMCl9cmV0dXJuIER9TnEobil7bj1ufHxZWjtyZXR1cm4gZy5FTSh0aGlzLnZpZGVvSW5mb3MsVz0+bi5YKFcpKX1nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpe3JldHVybiB0aGlzLmF1ZGlvVHJhY2tzfU4oKXtyZXR1cm4hIXRoaXMuSn19O3ZhciBBSFM9bmV3IFNldChbIjM1NiIsIjcyMSJdKSxXVnI9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLko9bnVsbDt0aGlzLk49bmV3IE1hcH1tQSgpe3N1cGVyLm1BKCl9fTt2YXIgUjQ9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSl7dGhpcy5qJD1uO3RoaXMuc3RhcnRUaW1lPVc7dGhpcy5kdXJhdGlvbj1EO3RoaXMuaW5nZXN0aW9uVGltZT1iO3RoaXMuc291cmNlVVJMPXY7dGhpcy5mZj1MO3RoaXMuUU89ZTt0aGlzLmVuZFRpbWU9VytEO3RoaXMuTj1ofHwwO3RoaXMucmFuZ2U9a3x8bnVsbDt0aGlzLnBlbmRpbmc9eHx8ITE7dGhpcy5mZj1MfHxudWxsfX07Zy5qYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2VnbWVudHM9W107dGhpcy5KPW51bGw7dGhpcy5ZPSEwO3RoaXMuSz0iIn1qKG4pe3RoaXMuc2VnbWVudHMucHVzaChuKX1NSShuKXtyZXR1cm4hIXRoaXMuVyhuKX1nZXREdXJhdGlvbihuKXtyZXR1cm4obj10aGlzLlcobikpP24uZHVyYXRpb246MH1EKG4pe3JldHVybiB0aGlzLmdldER1cmF0aW9uKG4pfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1swXS5qJDotMX1oQyhuKXtyZXR1cm4obj10aGlzLlcobikpP24uaW5nZXN0aW9uVGltZTpOYU59eCQoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJDotMX1xZShuKXtyZXR1cm4gdGhpcy54JCgpPT09biYmIXRoaXMuWSYmbj49MH1iUSgpe3ZhciBuPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIG4/bi5lbmRUaW1lOgpOYU59TGYoKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWV9SDcoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGh9Tigpe3JldHVybiAwfVIzKG4pe3JldHVybihuPXRoaXMuWChuKSk/bi5qJDotMX1WKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zb3VyY2VVUkw6IiJ9Z2V0U3RhcnRUaW1lKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zdGFydFRpbWU6MH1qRShuKXtyZXR1cm4gdGhpcy5nZXRTdGFydFRpbWUobikrdGhpcy5nZXREdXJhdGlvbihuKX1pc0xvYWRlZCgpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD4wfVcobil7aWYodGhpcy5KJiZ0aGlzLkouaiQ9PT1uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMsbmV3IFI0KG4sMCwwLDAsIiIpLChXLEQpPT5XLmokLUQuaiQpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTpudWxsfVgobil7aWYodGhpcy5KJiZ0aGlzLkouc3RhcnRUaW1lPD1uJiZuPHRoaXMuSi5zdGFydFRpbWUrdGhpcy5KLmR1cmF0aW9uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMse3N0YXJ0VGltZTpufSwoVyxEKT0+Vy5zdGFydFRpbWUtRC5zdGFydFRpbWUpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTp0aGlzLnNlZ21lbnRzW01hdGgubWF4KDAsLW4tMildfWFwcGVuZChuKXtpZihuLmxlbmd0aClpZihuPWcuUk0obiksdGhpcy5zZWdtZW50cy5sZW5ndGgpe3ZhciBXPXRoaXMuc2VnbWVudHMubGVuZ3RoP2cuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZTowLEQ9blswXS5qJC10aGlzLngkKCk7RD4xJiZnLkNiKHRoaXMuc2VnbWVudHMpO0Q9RD4wPzA6LUQrMTtmb3IobGV0IGI9RDtiPG4ubGVuZ3RoO2IrKylEPW5bYl0sRC5zdGFydFRpbWU9VyxELmVuZFRpbWU9RC5zdGFydFRpbWUrRC5kdXJhdGlvbixXKz1uW2JdLmR1cmF0aW9uLHRoaXMuc2VnbWVudHMucHVzaChuW2JdKX1lbHNlIHRoaXMuc2VnbWVudHM9bn1YZCgpe3JldHVybiAwfXR3KG4sVyl7dGhpcy5ZPW47dGhpcy5LPVd9fTtnLmpjLnByb3RvdHlwZS5VNz1XWigzKTt2YXIgRF89Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2PSExKXt0aGlzLmRhdGE9bjt0aGlzLm9mZnNldD1XO3RoaXMuc2l6ZT1EO3RoaXMudHlwZT1iO3RoaXMuTj0odGhpcy5KPXYpPzA6ODt0aGlzLmRhdGFPZmZzZXQ9dGhpcy5vZmZzZXQrdGhpcy5OfXNraXAobil7dGhpcy5OKz1ufX07dmFyIE9LdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLm9mZnNldD0wO3RoaXMuZGF0YT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKG4pKX19O3ZhciBEVmk7Zy5sMz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiLHYsayxoKXt0aGlzLnN0YXJ0U2Vjcz1uO3RoaXMuQ2Y9Vzt0aGlzLmNvbnRleHQ9RDt0aGlzLmlkZW50aWZpZXI9Yjt0aGlzLmV2ZW50PXY7dGhpcy5OPWs7dGhpcy50aWxlQ29udGV4dD1ofX07RFZpPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLlBCPW47dGhpcy5vcHBvcnR1bml0eUlkPVc7dGhpcy5zZXJpYWxpemVkUHJlZmV0Y2hDb250ZXh0PUR9fTt2YXIgYk5VPXtwcmVkaWN0U3RhcnQ6InByZWRpY3RTdGFydCIsc3RhcnQ6InN0YXJ0IixbImNvbnRpbnVlIl06ImNvbnRpbnVlIixzdG9wOiJzdG9wIixwcmVmZXRjaDoicHJlZmV0Y2gifSxtNWo9e0VWRU5UX1BSRURJQ1RfU1RBUlQ6InByZWRpY3RTdGFydCIsRVZFTlRfU1RBUlQ6InN0YXJ0IixFVkVOVF9DT05USU5VRToiY29udGludWUiLEVWRU5UX1NUT1A6InN0b3AiLEVWRU5UX1BSRUZFVENIOiJwcmVmZXRjaCJ9O3ZhciBYNT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZGF0YT1uO3RoaXMudXJpPVd8fCJodHRwOi8veW91dHViZS5jb20vc3RyZWFtaW5nL21ldGFkYXRhL3NlZ21lbnQvMTAyMDE1Ijt0aGlzLnNlZ21lbnROdW1iZXI9el8odGhpcywiU2VxdWVuY2UtTnVtYmVyIik7dGhpcy5qPXpfKHRoaXMsIlNlZ21lbnQtQ291bnQiKTt0aGlzLks9dGhpcy5kYXRhWyJTZWdtZW50LUR1cmF0aW9ucy1NcyJdfHwiIjt0aGlzLmluZ2VzdGlvblRpbWU9el8odGhpcywiSW5nZXN0aW9uLVdhbGx0aW1lLVVzIikvMUU2O3RoaXMuVz0oel8odGhpcywiRmlyc3QtRnJhbWUtVGltZS1VcyIpK3pfKHRoaXMsIkZpcnN0LUZyYW1lLVVuY2VydGFpbnR5LVVzIikpLzFFNjt0aGlzLnJiPXpfKHRoaXMsIlRhcmdldC1EdXJhdGlvbi1VcyIpLzFFNjt0aGlzLlY9dGhpcy5kYXRhWyJTdHJlYW0tRmluaXNoZWQiXT09PSJUIjt0aGlzLmlzU3RyZWFtaW5nPXRoaXMuZGF0YS5TdHJlYW1hYmxlPT09IlQiO3RoaXMuY3J5cHRvUGVyaW9kSW5kZXg9CnpfKHRoaXMsIkNyeXB0by1QZXJpb2QtSW5kZXgiKTt0aGlzLlg9el8odGhpcywiQ3J5cHRvLVBlcmlvZC1TZWNvbmRzIik7dGhpcy5OPSJDdXJyZW50LUFic29sdXRlLUxvdWRuZXNzLUxrZnMiaW4gdGhpcy5kYXRhP051bWJlcih0aGlzLmRhdGFbIkN1cnJlbnQtQWJzb2x1dGUtTG91ZG5lc3MtTGtmcyJdKXx8MDpudWxsfUooKXtyZXR1cm4gdGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1DcG4iXT90aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUNwbiJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSk6W119ZksoKXtyZXR1cm4hISh0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tQ3BuIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXXx8dGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1GcmFtZS1JbmRleCJdfHx0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUFic29sdXRlLUxvdWRuZXNzLUxrZnMiXXx8CnRoaXMuZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdfHx0aGlzLmRhdGFbIklzLUFkLUJyZWFrLUZpbmlzaGVkIl0pfX07dmFyIFJlaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuZHVyYXRpb249V319O3ZhciAkOHg9e1NURVJFT19MQVlPVVRfVU5LTk9XTjowLFNURVJFT19MQVlPVVRfTEVGVF9SSUdIVDoxLFNURVJFT19MQVlPVVRfVE9QX0JPVFRPTToyfTt2YXIgaFk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLko9djt0aGlzLk49bnx8MDt0aGlzLnBpdGNoPVd8fDA7dGhpcy55YXc9RHx8MDt0aGlzLnJvbGw9Ynx8MDt2LmdldFVpbnQzMig0KX19O3ZhciB0WT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMucG9zPTA7dGhpcy5zdGFydD1XfHwwfU9KKCl7dmFyIG49dGhpcy5wb3M7dGhpcy5wb3M9MDt2YXIgVz0hMTt0cnl7c1kodGhpcyw0NDA3ODY4NTEpJiYodGhpcy5wb3M9MCxzWSh0aGlzLDQwODEyNTU0MykmJihXPSEwKSl9Y2F0Y2goRCl7aWYoRCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhpcy5wb3M9MCxXPSExLGcuR3EoRCk7ZWxzZSB0aHJvdyBEO310aGlzLnBvcz1uO3JldHVybiBXfX07dmFyIENzPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuQU89bjt0aGlzLk49e307dGhpcy51cmw9IiJ9c2V0KG4sVyl7dGhpcy5BTy5nZXQobik7dGhpcy5OW25dPVc7dGhpcy51cmw9IiJ9Z2V0KG4pe3JldHVybiB0aGlzLk5bbl18fHRoaXMuQU8uZ2V0KG4pfVdEKCl7dGhpcy51cmx8fCh0aGlzLnVybD1pS1UodGhpcykpO3JldHVybiB0aGlzLnVybH19O3ZhciB1VGk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5YPXRoaXMuVz10aGlzLk49dGhpcy50aW1lZE91dD10aGlzLnN0YXJ0ZWQ9dGhpcy5WPXRoaXMuaj0wfX07dmFyIHZUPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTz10aGlzLkQ9dGhpcy5WPXRoaXMuSj0wO3RoaXMuaj10aGlzLks9ITE7dGhpcy5OPW47dGhpcy5XPW4uY2xvbmUoKX1wUyhuLFcpe3JldHVybiBuLllaP3RoaXMuaj90aGlzLks9ITA6dGhpcy5LPWpQKHRoaXMsbixXKTpqUCh0aGlzLG4sVyl9WShuLFcsRD0wKXtEPjE/bj1uLk1jOihXPVVZKFcsRjUodGhpcyx0aGlzLnBTKG4sVyksbikpLG49TWF0aC5tYXgodGhpcy5WLFcudGltZWRPdXQpK24uVFoqKHRoaXMuSi10aGlzLlYpKy4yNSp0aGlzLkQsbj1uPjM/MUUzKjEuNioqKG4tMyk6MCk7cmV0dXJuIG49PT0wPyEwOnRoaXMuTytuPCgwLGcuUikoKX1jSihuLFcpe3RoaXMuTi5zZXQobixXKTt0aGlzLlcuc2V0KG4sVyk7dGhpcy5YJiZ0aGlzLlguc2V0KG4sVyl9V04oKXtyZXR1cm4gdGhpcy5XLmdldCgiY3BuIil8fCIifVo1KG4sVyl7bi5BTz09PXRoaXMuTiYmKHRoaXMuTj1uWChuLFcpKTtuLkFPPT09dGhpcy5YJiYodGhpcy5YPQpuWChuLFcpKX10dygpe3RoaXMuaj0hMH1yMCgpe3JldHVybiB0aGlzLk4hPT10aGlzLlgmJiF0aGlzLkt9fTt2YXIgQ2o9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5pbml0UmFuZ2U9RDt0aGlzLmluZGV4UmFuZ2U9Yjt0aGlzLko9bnVsbDt0aGlzLmNKPSExO3RoaXMuRkY9MDt0aGlzLlY9dGhpcy5TVT10aGlzLk89bnVsbDt0aGlzLmluZm89Vzt0aGlzLlhiPW5ldyB2VChuKX1OKCl7cmV0dXJuISF0aGlzLkomJnRoaXMuaW5kZXguaXNMb2FkZWQoKX1TJCgpe3JldHVybiExfUdDKG4pe3JldHVybltuXX1WUShuKXtyZXR1cm5bbl19fTt2YXIgYUI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnN0YXJ0PW47dGhpcy5lbmQ9Vzt0aGlzLmxlbmd0aD1XLW4rMX10b1N0cmluZygpe3JldHVybiB0aGlzLnN0YXJ0KyItIisodGhpcy5lbmQ9PW51bGw/IiI6dGhpcy5lbmQpfU4oKXtyZXR1cm4gdGhpcy5lbmQ9PW51bGw/e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KX06e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KSxlbmQ6U3RyaW5nKHRoaXMuZW5kKX19fTt2YXIgcUk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0iIix2LGssaCx4LEwsZSxHLHI9IiIsTixILEEpe3RoaXMudHlwZT1uO3RoaXMuUEo9Vzt0aGlzLnJhbmdlPUQ7dGhpcy5zb3VyY2U9Yjt0aGlzLnZEPUc7dGhpcy5jbGlwSWQ9cjt0aGlzLkQ9Tjt0aGlzLmJkPUg7dGhpcy5yZXF1ZXN0VG9rZW49QTt0aGlzLk89W107dGhpcy5ZPSIiO3RoaXMuaiQ9LTE7dGhpcy50dz0wO3RoaXMuWT1iO3RoaXMuaiQ9dj49MD92Oi0xO3RoaXMuc2VnbWVudFN0YXJ0VGltZT1rfHwwO3RoaXMuVz1ofHwwO3RoaXMuTj14fHwwO3RoaXMuSj1MPj0wP0w6dGhpcy5yYW5nZT90aGlzLnJhbmdlLmxlbmd0aDpOYU47dGhpcy5yYW5nZT8obj10aGlzLk4rdGhpcy5KPT09dGhpcy5yYW5nZS5sZW5ndGgsZT10aGlzLnNvdXJjZT09PSJ3YXNtIj9lPz9uOm4pOmU9ZT09PXZvaWQgMD8hIXRoaXMuSjplO3RoaXMuYVo9ZTt0aGlzLnJhbmdlPyh0aGlzLlg9dGhpcy5zZWdtZW50U3RhcnRUaW1lK3RoaXMuVyoKdGhpcy5OL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuSz10aGlzLlcqdGhpcy5KL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuaj10aGlzLlgrdGhpcy5LKTp2Xyh0aGlzKX1WKCl7cmV0dXJuIHRoaXMuYVomJnRoaXMuUEouaW5kZXgucWUodGhpcy5qJCl9a2Yobil7cmV0dXJuIG4+PXRoaXMuWCYmbjw9dGhpcy5qfWlzRW5jcnlwdGVkKCl7cmV0dXJuIHRoaXMuUEouaW5mby5pc0VuY3J5cHRlZCgpfWVxdWFscyhuKXtyZXR1cm4hKCFufHxuLlBKIT09dGhpcy5QSnx8bi50eXBlIT09dGhpcy50eXBlfHwodGhpcy5yYW5nZSYmbi5yYW5nZT9uLnJhbmdlLnN0YXJ0IT09dGhpcy5yYW5nZS5zdGFydHx8bi5yYW5nZS5lbmQhPT10aGlzLnJhbmdlLmVuZDpuLnJhbmdlIT09dGhpcy5yYW5nZSl8fG4uaiQhPT10aGlzLmokfHxuLk4hPT10aGlzLk58fG4uSiE9PXRoaXMuSil9Y0ooKXtyZXR1cm4gdGhpcy50eXBlPT09NH1mWSgpe3JldHVybiEhdGhpcy5QSi5pbmZvLnZpZGVvfVRDKCl7cmV0dXJuIHRoaXMuaiR9Z2EoKXt2YXIgbj0KWHgodGhpcyksVz0iIjtnLmFfKG4sKEQsYik9PntXKz1gJHtifV8ke0R9X2B9KTsKcmV0dXJuIFcuc2xpY2UoMCwtMSl9Y2xvbmUoKXt2YXIgbj1uZXcgcUkodGhpcy50eXBlLHRoaXMuUEosdGhpcy5yYW5nZSx0aGlzLnNvdXJjZSx0aGlzLmokLHRoaXMuc2VnbWVudFN0YXJ0VGltZSx0aGlzLlcsdGhpcy5OLHRoaXMuSix0aGlzLmFaLHRoaXMudkQsdGhpcy5jbGlwSWQsdGhpcy5ELHRoaXMuYmQsdGhpcy5yZXF1ZXN0VG9rZW4pO24uWT10aGlzLlk7dGhpcy5PLmxlbmd0aD4wJiYobi5PPVsuLi50aGlzLk9dKTtuLlg9dGhpcy5YO24uSz10aGlzLks7bi5qPXRoaXMuajtuLnR3PXRoaXMudHc7cmV0dXJuIG59fTt2YXIgd2s9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLkF3PW47dGhpcy5YPXRoaXMuTj1udWxsO3RoaXMuaj10aGlzLlpBPU5hTjt0aGlzLnBTPXRoaXMucmVxdWVzdElkPW51bGw7dGhpcy5YYj1uWzBdLlBKLlhiO3RoaXMuSj1XfHwiIjtpZih0aGlzLkF3WzBdLnJhbmdlJiZ0aGlzLkF3WzBdLko+MCl7YTp7Zm9yKFc9MTtXPG4ubGVuZ3RoO1crKylpZighYlQobltXLTFdLG5bV10pKXtXPSExO2JyZWFrIGF9Vz0hMH1pZihXKXRoaXMucmFuZ2U9ZDV3KG4pLHRoaXMuVz10aGlzLnJhbmdlLmxlbmd0aDtlbHNle3RoaXMucmFuZ2U9dGhpcy5Bd1t0aGlzLkF3Lmxlbmd0aC0xXS5yYW5nZTtXPTA7Zm9yKGxldCBEIG9mIG4pVys9RC5yYW5nZS5sZW5ndGg7dGhpcy5XPVd9fX1ZbCgpe3JldHVybiB0aGlzLk4/dGhpcy5OLldEKCk6IiJ9aXNEZWNvcmF0ZWQoKXtyZXR1cm4hISh0aGlzLk58fHRoaXMuWCYmdGhpcy5YLk15KX1Rbigpe3JldHVybiBoSih0aGlzLkF3WzBdKX1rZihuKXtmb3IobGV0IFcgb2YgdGhpcy5BdylpZihXLnR5cGU9PT0KMyYmVy5rZihuKSlyZXR1cm4hMDtyZXR1cm4hMX1aNShuLFcpe3RoaXMuWGIuWjUobixXKTtpZih0aGlzLk4pe3RoaXMuTj1uWChuLFcpO2ZvcihsZXQgRCBvZlsiYWNwbnMiLCJjcG4iLCJkYWlzdGF0ZSIsInNraXBzcSJdKXRoaXMuTlsic2V0Il0oRCxudWxsKX10aGlzLnJlcXVlc3RJZD1uLmdldCgicmVxX2lkIil9fTt2YXIgZHQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiLHYsaz0wKXtzdXBlcihuLFcsYik7dGhpcy52Sj1EO3RoaXMucmI9azt0aGlzLmluZGV4PXZ8fG5ldyBnLmpjfVcoKXtyZXR1cm4hMX1EKCl7cmV0dXJuITB9VEMoKXtyZXR1cm4hMX1TJCgpe3JldHVybiF0aGlzLnZKfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHRoaXMuaW5pdFJhbmdlLCJnZXRNZXRhZGF0YVJlcXVlc3RJbmZvIildLHRoaXMudkopfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiB0aGlzLkQoKSYmbi5KJiYhbi5hWj9uZXcgd2soW25ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJsaXZlR2V0TmV4dFJlcXVlc3RJbmZvQnlTZWdtZW50IixuLmokLG4uc2VnbWVudFN0YXJ0VGltZSxuLlcsbi5OK24uSixOYU4sITApXSx0aGlzLmluZGV4LlYobi5qJCkpOnRoaXMuaihnayhuKSwhMSl9SyhuLFc9ITEpe249dGhpcy5pbmRleC5SMyhuKTtXJiYobj1NYXRoLm1pbih0aGlzLmluZGV4LngkKCksCm4rMSkpO3JldHVybiB0aGlzLmoobiwhMCl9RHQobil7RE8obil9WChuKXtyZXR1cm4gbi5KPT09MD8hMDp0aGlzLmluZGV4LngkKCk+bi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9dXBkYXRlKG4sVyxEKXt0aGlzLmluZGV4LmFwcGVuZChuKTtQQSh0aGlzLmluZGV4LEQpO3RoaXMudHcoVywidXBkYXRlIil9Tigpe3JldHVybiB0aGlzLlMkKCk/ITA6c3VwZXIuTigpfWoobixXKXt2YXIgRD10aGlzLmluZGV4LlYobiksYj10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSx2PXRoaXMuaW5kZXguZ2V0RHVyYXRpb24obiksaztXP3Y9az0wOms9dGhpcy5pbmZvLk5zPjA/dGhpcy5pbmZvLk5zKnY6MUUzO3JldHVybiBuZXcgd2soW25ldyBxSSgzLHRoaXMsdm9pZCAwLCJsaXZlQ3JlYXRlUmVxdWVzdEluZm9Gb3JTZWdtZW50IixuLGIsdiwwLGssIVcpXSxEKX1ISigpe3JldHVybiB0aGlzLlMkKCk/MDp0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4hMX10dyhuLFcpe3RoaXMuaW5kZXgudHcobiwKVyl9fTt2YXIgdmhiPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdil7dGhpcy5qJD1uO3RoaXMuc3RhcnRTZWNzPVc7dGhpcy5DZj1EO3RoaXMuTj1ifHxOYU47dGhpcy5KPXZ8fE5hTn19O3ZhciBCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1bXTt0aGlzLko9bnVsbDt0aGlzLlY9MDt0aGlzLlc9W107dGhpcy5qPSExO3RoaXMuSz0iIjt0aGlzLlg9LTF9dXBkYXRlKG4pe3ZhciBXPXZvaWQgMDt0aGlzLkomJihXPXRoaXMuSik7e2xldCBBPW5ldyBCXzt2YXIgRD1BcnJheS5mcm9tKG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlMiKSk7aWYoRC5sZW5ndGgpe3ZhciBiPStsVChuLCJ0aW1lc2NhbGUiKXx8MSx2PSgrRFswXS5nZXRBdHRyaWJ1dGUoInQiKXx8MCkvYixrPStsVChuLCJzdGFydE51bWJlciIpfHwwO0EuWD12O3ZhciBoPVc/Vy5zdGFydFNlY3MrVy5DZjowLHg9RGF0ZS5wYXJzZShDeihsVChuLCJ5dDpzZWdtZW50SW5nZXN0VGltZSIpKSkvMUUzO0Euaj1uLnBhcmVudEVsZW1lbnQudGFnTmFtZT09PSJTZWdtZW50VGVtcGxhdGUiO0EuaiYmKEEuSz1sVChuLCJtZWRpYSIpKTtuPVc/ay1XLmokOjE7QS5WPW4+MD8wOi1uKzE7Zm9yKEggb2YgRCl7bj0rSC5nZXRBdHRyaWJ1dGUoImQiKS8KYjtEPSgrSC5nZXRBdHRyaWJ1dGUoInl0OnNpZCIpfHwwKS9iO2xldCB5PStILmdldEF0dHJpYnV0ZSgiciIpfHwwO2ZvcihsZXQgVD0wO1Q8PXk7VCsrKXtpZihXJiZrPD1XLmokKXtrKys7Y29udGludWV9dmFyIEw9bmV3IHZoYihrLGgsbix4K0Qsdik7QS5OLnB1c2goTCk7Yjp7dmFyIGU9SDt2YXIgRz1iLHI9TC5zdGFydFNlY3M7TD1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRUaW1lT2Zmc2V0Iik7dmFyIE49ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50RHVyYXRpb24iKTtpZighTHx8IU4pe2U9bnVsbDticmVhayBifUw9TnVtYmVyKEwpO3I9LUwvRytyO0c9TnVtYmVyKE4pL0c7Tj1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRDb250ZXh0Iil8fG51bGw7bGV0IHo9ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50SWRlbnRpZmllciIpfHwiIjtlPWUuZ2V0QXR0cmlidXRlKCJ5dDpjdWVwb2ludEV2ZW50Iil8fCIiO2U9bmV3IGcubDMocixHLE4seixiTlVbZV18fCJ1bmtub3duIiwKTCl9ZSYmQS5XLnB1c2goZSk7aysrO2grPW47dis9bjt4Kz1uK0R9fUEuTi5sZW5ndGgmJihBLko9Zy5VTShBLk4pKX12YXIgSD1BfXRoaXMuVj1ILlY7dGhpcy5KPUguSnx8dGhpcy5KO2cuUTIodGhpcy5OLEguTik7Zy5RMih0aGlzLlcsSC5XKTt0aGlzLmo9SC5qO3RoaXMuSz1ILks7dGhpcy5YPT09LTEmJih0aGlzLlg9SC5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5YPT09LTE/MDp0aGlzLlh9fTt2YXIga0xDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPVtdO3RoaXMuTj1udWxsO3RoaXMuSj17fTt0aGlzLlc9e319fTt2YXIgZ1M9Y2xhc3MgZXh0ZW5kcyBnLmpje2NvbnN0cnVjdG9yKHtyYjpuPTAsT1Q6Vz0hMSx1YjpEPTAsSXQ6Yj0wLEhQOnY9SW5maW5pdHksdWs6az0wLFhnOmg9ITEsRTM6eD0hMX09e30pe3N1cGVyKCk7dGhpcy5Ebj10aGlzLnFxPS0xO3RoaXMuTzg9bjt0aGlzLnViPUQ7dGhpcy5PVD1XO3RoaXMuSXQ9Yjt0aGlzLkhQPXY7dGhpcy51az1rOygodGhpcy5YZz1oKXx8aXNGaW5pdGUodikmJnRoaXMuSFA+MCkmJlcmJlp1JiZ0aGlzLnR3KCExLCJwb3N0TGl2ZSIpO3RoaXMuRTM9eH1VYygpe3JldHVybiB0aGlzLk84fU1JKG4sVyl7bj1GeCh0aGlzLG4pO3JldHVybiBuPj0wJiYoV3x8IXRoaXMuc2VnbWVudHNbbl0ucGVuZGluZyl9Wk8oKXtyZXR1cm4gdGhpcy5PVD90aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLlgodGhpcy5MZigpKS5qJDotMTpzdXBlci5aTygpfUxmKCl7aWYodGhpcy5YZylyZXR1cm4gMDtpZighdGhpcy5PVClyZXR1cm4gc3VwZXIuTGYoKTtpZighdGhpcy5zZWdtZW50cy5sZW5ndGgpcmV0dXJuIDA7CnZhciBuPU1hdGgubWF4KGcuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZS10aGlzLnViLDApO3JldHVybiB0aGlzLkl0PjAmJnRoaXMuWChuKS5qJDx0aGlzLkl0P3RoaXMuVyh0aGlzLkl0KS5zdGFydFRpbWU6bn1iUSgpe2lmKHRoaXMuRTMmJnRoaXMuRG4mJnRoaXMuRG4+MClyZXR1cm4gdGhpcy5Ebi8xRTM7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBzdXBlci5iUSgpO3ZhciBuPXRoaXMueCQoKTtpZighdGhpcy5PVHx8bjw9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJCluPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07ZWxzZXt2YXIgVz10aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdO249bmV3IFI0KG4sTWF0aC5tYXgoMCxXLnN0YXJ0VGltZS0oVy5qJC1uKSp0aGlzLk84KSx0aGlzLk84LDAsYHNxLyR7bn1gLHZvaWQgMCx2b2lkIDAsITApfXJldHVybiB0aGlzLlhnP01hdGgubWluKHRoaXMudWIsCm4uZW5kVGltZSk6bi5lbmRUaW1lfUg3KCl7cmV0dXJuIHRoaXMuT1Q/dGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy54JCgpLXRoaXMuWk8oKSsxOjA6c3VwZXIuSDcoKX14JCgpe3ZhciBuPU1hdGgubWluKHRoaXMuSFAsTWF0aC5tYXgoc3VwZXIueCQoKSx0aGlzLnFxKSksVz10aGlzLnViKjFFMztXPXRoaXMuRG4+MCYmdGhpcy5EbjxXO3RoaXMuWGcmJnRoaXMudWI+MCYmdGhpcy5xcT4wJiYhVyYmKFc9dGhpcy5YKHRoaXMudWIpKSYmKG49TWF0aC5taW4oVy5qJC0xLG4pKTtyZXR1cm4gbn1PZygpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdOm51bGx9aihuKXt2YXIgVz1GeCh0aGlzLG4uaiQpO2lmKFc+PTApdGhpcy5zZWdtZW50c1tXXT1uO2Vsc2UgaWYodGhpcy5zZWdtZW50cy5zcGxpY2UoLShXKzEpLDAsbiksdGhpcy51ayYmbi5qJCUoMzAwL3RoaXMuTzgpPT09MCl7dmFyIEQ9dGhpcy5zZWdtZW50c1swXS5qJCwKYj1NYXRoLmZsb29yKHRoaXMudWsvdGhpcy5POCk7bj1uLmokLWI7Vz0tKFcrMSktYjtXPjAmJm4+RCYmKHRoaXMuc2VnbWVudHM9dGhpcy5zZWdtZW50cy5zbGljZShXKSl9fU8obil7bj1GeCh0aGlzLG4pO24+PTAmJnRoaXMuc2VnbWVudHMuc3BsaWNlKG4sMSl9VFgoKXtyZXR1cm4gdGhpcy5xcX1xZShuKXtyZXR1cm4gWnU/IXRoaXMuWSYmbj49MCYmdGhpcy54JCgpPD1uOnN1cGVyLnFlKG4pfVgobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlgobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07aWYobjx0aGlzLnNlZ21lbnRzWzBdLnN0YXJ0VGltZSlXPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5qJC1NYXRoLmNlaWwoKHRoaXMuc2VnbWVudHNbMF0uc3RhcnRUaW1lLW4pL3RoaXMuTzgpKTtlbHNlIGlmKG4+PVcuZW5kVGltZSlXPVcuaiQrTWF0aC5mbG9vcigobi1XLmVuZFRpbWUpLwp0aGlzLk84KzEpO2Vsc2V7Vz1EZSh0aGlzLnNlZ21lbnRzLGI9Pm48Yi5zdGFydFRpbWU/LTE6bj49Yi5lbmRUaW1lPzE6MCk7CmlmKFc+PTApcmV0dXJuIHRoaXMuc2VnbWVudHNbV107dmFyIEQ9LShXKzEpO1c9dGhpcy5zZWdtZW50c1tELTFdO0Q9dGhpcy5zZWdtZW50c1tEXTtXPU1hdGguZmxvb3IoKG4tVy5lbmRUaW1lKS8oKEQuc3RhcnRUaW1lLVcuZW5kVGltZSkvKEQuaiQtVy5qJC0xKSkrMSkrVy5qJH1yZXR1cm4gdGhpcy5XKFcpfVcobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlcobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPUZ4KHRoaXMsbik7aWYoVz49MClyZXR1cm4gdGhpcy5zZWdtZW50c1tXXTt2YXIgRD0tKFcrMSk7Vz10aGlzLk84O2lmKEQ9PT0wKXZhciBiPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWUtKHRoaXMuc2VnbWVudHNbMF0uaiQtbikqVyk7ZWxzZSBEPT09dGhpcy5zZWdtZW50cy5sZW5ndGg/KGI9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpOihiPQp0aGlzLnNlZ21lbnRzW0QtMV0sVz10aGlzLnNlZ21lbnRzW0RdLFc9KFcuc3RhcnRUaW1lLWIuZW5kVGltZSkvKFcuaiQtYi5qJC0xKSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpO3JldHVybiBuZXcgUjQobixiLFcsMCxgc3EvJHtufWAsdm9pZCAwLHZvaWQgMCwhMCl9fSxadT0hMTt2YXIgV1Q9Y2xhc3MgZXh0ZW5kcyBkdHtjb25zdHJ1Y3RvcihuLFcsRD17fSl7c3VwZXIobixXLCIiLHZvaWQgMCx2b2lkIDAsRC5yYnx8MCk7dGhpcy5pbmRleD1uZXcgZ1MoRCl9VEMoKXtyZXR1cm4hMH1OKCl7cmV0dXJuITB9WChuKXtyZXR1cm4gdGhpcy5EKCkmJm4uSiYmIW4uYVp8fCFuLlBKLmluZGV4LnFlKG4uaiQpfVkoKXt9SyhuLFc9ITEpe3JldHVybiB0eXBlb2YgbiE9PSJudW1iZXIifHxpc0Zpbml0ZShuKT9zdXBlci5LKG4sVyk6bmV3IHdrKFtuZXcgcUkoMyx0aGlzLHZvaWQgMCwibWxMaXZlR2V0UmVxSW5mb1N0dWJGb3JUaW1lIiwtMSx2b2lkIDAsdGhpcy5yYix2b2lkIDAsdGhpcy5yYip0aGlzLmluZm8uTnMpXSwiIil9aihuLFcpe2lmKHRoaXMuaW5kZXguTUkobikpcmV0dXJuIHN1cGVyLmoobixXKTt2YXIgRD10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSxiPU1hdGgucm91bmQodGhpcy5yYip0aGlzLmluZm8uTnMpLHY9dGhpcy5yYjtXJiYodj1iPTApO3JldHVybiBuZXcgd2soW25ldyBxSSgzLAp0aGlzLHZvaWQgMCwibWxMaXZlQ3JlYXRlUmVxSW5mb0ZvclNlZyIsbixELHYsdm9pZCAwLGIsIVcpXSxuPj0wP2BzcS8ke259YDoiIil9fTt2YXIgcnQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKG4sVyk7dGhpcy5pbmRleD1uZXcgZy5qYzt0aGlzLmluZGV4LnR3KCExLCJkIil9Vygpe3JldHVybiExfUQoKXtyZXR1cm4hMX1UQygpe3JldHVybiExfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHZvaWQgMCwib3RmSW5pdCIpXSwic3EvMCIpfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiBNSSh0aGlzLGdrKG4pLCExKX1LKG4sVz0hMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gTUkodGhpcyxuLCEwKX1EdChuKXtuLmluZm8udHlwZT09PTEmJih0aGlzLkp8fCh0aGlzLko9JE0obi5KKSksbi5OJiZuLk4udXJpPT09Imh0dHA6Ly95b3V0dWJlLmNvbS9zdHJlYW1pbmcvb3RmL2R1cmF0aW9ucy8xMTIwMTUiJiZuR1ModGhpcyxuLk4pKX1YKG4pe3JldHVybiBuLko9PT0wPyEwOnRoaXMuaW5kZXgueCQoKT4Kbi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9SEooKXtyZXR1cm4gMH1udSgpe3JldHVybiExfX07dmFyIGE0LGhoYixEODIsbk0sV0t3O2cuVnM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50YWc9bn19O2E0PW5ldyBNYXA7aGhiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXB9fTtEODI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49MTA7dGhpcy5KPURhdGUubm93KCl9fTtuTT1uZXcgTWFwO1dLdz1uZXcgaGhiO3ZhciBiOD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuaW5mbz1uO3RoaXMuSj1XO3RoaXMuTj1udWxsO3RoaXMuWD10aGlzLlc9LTE7dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLmlzTG9ja2VkPXRoaXMuSz0hMTt0aGlzLlY9dGhpcy5pbmZvLlBKLlMkKCkmJiF0aGlzLmluZm8uTn1qKG4sVz0hMSxEPTApe2lmKHRoaXMuaXNMb2NrZWR8fG4uaXNMb2NrZWR8fCFiVCh0aGlzLmluZm8sbi5pbmZvKXx8dGhpcy5pbmZvLmFaKXJldHVybiBudWxsO2lmKEQpe2lmKHRoaXMuSi50b3RhbExlbmd0aCtuLkoudG90YWxMZW5ndGg+RClyZXR1cm4gbnVsbH1lbHNlIGlmKFcmJihXPXRoaXMuSixEPW4uSixXPSEoRC5OLmxlbmd0aD94TShXLEQuTlswXSk6MSkpLFcpcmV0dXJuIG51bGw7Vz1uZXcgcUkodGhpcy5pbmZvLnR5cGUsdGhpcy5pbmZvLlBKLHRoaXMuaW5mby5yYW5nZSx0aGlzLmluZm8uWSx0aGlzLmluZm8uaiQsdGhpcy5pbmZvLnNlZ21lbnRTdGFydFRpbWUsdGhpcy5pbmZvLlcsCnRoaXMuaW5mby5OLHRoaXMuaW5mby5KLHRoaXMuaW5mby5hWix0aGlzLmluZm8udkQsdGhpcy5pbmZvLmNsaXBJZCx0aGlzLmluZm8uRCk7UF8oVyxuLmluZm8pO0Q9bmV3IFM1O2U1KEQsdGhpcy5KKTtlNShELG4uSik7Vz1uZXcgYjgoVyxEKTtXLk4hPW51bGwmJm4uTiE9bnVsbCYmZy5jXygiZGFzaCIsNDE0NjI3OTU3LGBtZXJnZWQgc2xpY2UgZW1zZyBvdmVycmlkZGVuOyBwcmV2OiAke1cuTi5mSygpfSBuZXh0OiAke24uTi5mSygpfWApO1cuTj1uLk58fHRoaXMuTjtXLlc9dGhpcy5XIT09LTE/dGhpcy5XOm4uVztXLlg9dGhpcy5YIT09LTE/dGhpcy5YOm4uWDtyZXR1cm4gV319O2cuQkM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmNvdW50PTA7dGhpcy5KPTE7dGhpcy5XPSExO3RoaXMub2Zmc2V0cz1uZXcgRmxvYXQ2NEFycmF5KDEyOCk7dGhpcy5zdGFydFRpY2tzPW5ldyBGbG9hdDY0QXJyYXkoMTI4KX1NSShuKXtyZXR1cm4gbjw9dGhpcy54JCgpfU4obil7cmV0dXJuIHRoaXMub2Zmc2V0c1tuXX1nZXRTdGFydFRpbWUobil7cmV0dXJuIHRoaXMuc3RhcnRUaWNrc1tuXS90aGlzLkp9akUobil7cmV0dXJuIHRoaXMuZ2V0U3RhcnRUaW1lKG4pK3RoaXMuZ2V0RHVyYXRpb24obil9aEMoKXtyZXR1cm4gTmFOfWdldER1cmF0aW9uKG4pe249dGhpcy5EKG4pO3JldHVybiBuPj0wP24vdGhpcy5KOi0xfUQobil7cmV0dXJuIG4rMTx0aGlzLmNvdW50fHx0aGlzLlc/dGhpcy5zdGFydFRpY2tzW24rMV0tdGhpcy5zdGFydFRpY2tzW25dOi0xfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gMH14JCgpe3JldHVybiB0aGlzLmNvdW50LTF9cWUobil7cmV0dXJuIHRoaXMueCQoKT09PQpuJiZuPj0wfWJRKCl7cmV0dXJuIHRoaXMuVz90aGlzLnN0YXJ0VGlja3NbdGhpcy5jb3VudF0vdGhpcy5KOk5hTn1MZigpe3JldHVybiAwfUg3KCl7cmV0dXJuIHRoaXMuY291bnR9Vigpe3JldHVybiIifVIzKG4pe24qPXRoaXMuSjtuPWcuVzQodGhpcy5zdGFydFRpY2tzLnN1YmFycmF5KDAsdGhpcy5jb3VudCksbik7cmV0dXJuIG4+PTA/bjpNYXRoLm1heCgwLC1uLTIpfWlzTG9hZGVkKCl7cmV0dXJuIHRoaXMueCQoKT49MH1YZChuLFcpe2lmKG4+PXRoaXMueCQoKSlyZXR1cm4gMDt2YXIgRD0wO2ZvcihXPXRoaXMuZ2V0U3RhcnRUaW1lKG4pK1c7bjx0aGlzLngkKCkmJlc+dGhpcy5nZXRTdGFydFRpbWUobik7bisrKUQ9TWF0aC5tYXgoRCx0TSh0aGlzLG4pL3RoaXMuZ2V0RHVyYXRpb24obikpO3JldHVybiBEfXJlc2l6ZShuKXtuKz0yO3ZhciBXPXRoaXMub2Zmc2V0czt0aGlzLm9mZnNldHM9bmV3IEZsb2F0NjRBcnJheShuKzEpO3ZhciBEPXRoaXMuc3RhcnRUaWNrczt0aGlzLnN0YXJ0VGlja3M9Cm5ldyBGbG9hdDY0QXJyYXkobisxKTtmb3Iobj0wO248dGhpcy5jb3VudCsxO24rKyl0aGlzLm9mZnNldHNbbl09V1tuXSx0aGlzLnN0YXJ0VGlja3Nbbl09RFtuXX1jYXAobixXKXskWCh0aGlzKTt0aGlzLlc9ITA7dGhpcy5zdGFydFRpY2tzW3RoaXMuY291bnRdPVc7dGhpcy5vZmZzZXRzW3RoaXMuY291bnRdPW59fTtnLkJDLnByb3RvdHlwZS5VNz1XWigyKTt2YXIgc2s9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcihuLFcsRCxiKTt0aGlzLmo9bnVsbDt0aGlzLmluZGV4PW5ldyBnLkJDfVkobixXKXt2YXIgRD1uZXcgcUkoMix0aGlzLHRoaXMuaW5kZXhSYW5nZSwiaW5kZXhJbmZvIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyksYj1bbmV3IHFJKDEsdGhpcyx0aGlzLmluaXRSYW5nZSwiaW5pdEluZm8iLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxXKSxEXTt0aGlzLmluZm8uY29udGVudExlbmd0aD4wJiZuJiYoRD1ELnJhbmdlLmVuZCsxLG49TWF0aC5taW4obix0aGlzLmluZm8uY29udGVudExlbmd0aC1EKSxuPjAmJmIucHVzaChuZXcgcUkoNCx0aGlzLFdfKEQsbiksInRiZFJhbmdlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVykpKTtyZXR1cm4gbmV3IHdrKGIpfUR0KG4pe2lmKG4uaW5mby50eXBlPT09CjEpe2lmKHRoaXMuSilyZXR1cm47dGhpcy5KPSRNKG4uSil9ZWxzZSBpZihuLmluZm8udHlwZT09PTIpe2lmKHRoaXMuanx8dGhpcy5pbmRleC54JCgpPj0wKXJldHVybjtpZihnLlJCKHRoaXMuaW5mbykpe3ZhciBXPXRoaXMuaW5kZXgsRD1nLldSKG4pO249bi5pbmZvLnJhbmdlLnN0YXJ0O3ZhciBiPWcubnMoRCwwLDE5MzYyODY4NDApO0Q9THMoYik7Vy5KPUQudGltZXNjYWxlO3ZhciB2PUQuZjg7Vy5vZmZzZXRzWzBdPUQuTm8rbitiLnNpemU7Vy5zdGFydFRpY2tzWzBdPXY7Vy5XPSEwO249RC5xZy5sZW5ndGg7Zm9yKHY9MDt2PG47disrKXJ5KFcsRC5Ic1t2XSxELnFnW3ZdKX1lbHNlIHRoaXMuaj1nLldSKG4pfWlmKHRoaXMuaW5mby5xSCgpJiZ0aGlzLkomJnRoaXMuail7bj1uZXcgRGF0YVZpZXcodGhpcy5KLmJ1ZmZlcik7Vz10aGlzLmluZGV4O3Y9dGhpcy5qO0Q9dGhpcy5pbmRleFJhbmdlLmVuZDtiPW5ldyB0WShuKTtuPWI7Yj1uLnBvczt2YXIgaz17Qzk6MUU2LG84OjFFOSwKZHVyYXRpb246MCx4TTowLGJtOjB9O2lmKHNZKG4sNDA4MTI1NTQzKSlpZihrLnhNPU5rKG4sITApLGsuYm09bi5zdGFydCtuLnBvcyxzWShuLDM1NzE0OTAzMCkpe2Zvcih2YXIgaD1yQShuKTshSHcoaCk7KXt2YXIgeD1OayhoLCExKTt4PT09MjgwNzcyOT9rLkM5PWZzKGgpOng9PT0yODA3NzMwP2subzg9ZnMoaCk6eD09PTE3NTQ1P2suZHVyYXRpb249SUIoaCk6SlkoaCl9bi5wb3M9YjtuPWt9ZWxzZSBuLnBvcz1iLG49bnVsbDtlbHNlIG4ucG9zPWIsbj1udWxsO2lmKG4hPT1udWxsKXtXLko9bi5vOC9uLkM5O2I9bmV3IHRZKHYpO3Y9YjtoPW4uYm07Yj12LnBvcztrPVtdO2lmKHNZKHYsNDc1MjQ5NTE1KSl7Zm9yKHg9ckEodik7c1koeCwxODcpOyl7bGV0IEw9ckEoeCk7aWYoIXNZKEwsMTc5KSljb250aW51ZTtsZXQgZT1mcyhMKTtpZighc1koTCwxODMpKWNvbnRpbnVlO0w9ckEoTCk7bGV0IEc9aDtmb3IoO3NZKEwsMjQxKTspRz1mcyhMKStoO2sucHVzaCh7Zm86RyxuODplfSl9aWYoay5sZW5ndGg+CjAmJkQ9PT1rWzBdLmZvKWZvcihEPTA7RDxrLmxlbmd0aDtEKyspa1tEXS5mbys9MTt2LnBvcz1iO0Q9a31lbHNlIHYucG9zPWIsRD1udWxsO2lmKEQhPT1udWxsKXtmb3IobGV0IEwgb2YgRClEPVcsdj1MLmZvLGI9TC5uOCwkWChEKSxELm9mZnNldHNbRC5jb3VudF09dixELnN0YXJ0VGlja3NbRC5jb3VudF09YixELmNvdW50Kys7Vy5jYXAobi54TStuLmJtLG4uZHVyYXRpb24pfX10aGlzLmo9bnVsbH19R0Mobil7dmFyIFc9dGhpcy5WUShuLmluZm8pLEQ9bi5pbmZvLnJhbmdlLnN0YXJ0K24uaW5mby5OLGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPWdkKG4uSixXW3ZdLnJhbmdlLnN0YXJ0K1dbdl0uTi1ELFdbdl0uSik7Yi5wdXNoKG5ldyBiOChXW3ZdLGspKX1yZXR1cm4gYn1WUShuKXtmb3IodmFyIFc9bi5yYW5nZS5zdGFydCtuLk4sRD0wO0Q8dGhpcy5pbmRleC54JCgpJiZXPj10aGlzLmluZGV4Lk4oRCsxKTspRCsrO3JldHVybiBzTih0aGlzLEQsVywKbi5KKS5Bd31YKG4pe24uVigpO3JldHVybiB0aGlzLk4oKT8hMDpuLnJhbmdlLmVuZCsxPHRoaXMuaW5mby5jb250ZW50TGVuZ3RofWJkKG4sVyl7dGhpcy5YKG4pO2lmKCF0aGlzLk4oKSlyZXR1cm4gVz1XXyhuLnJhbmdlLmVuZCsxLFcpLFcuZW5kKzE+dGhpcy5pbmZvLmNvbnRlbnRMZW5ndGgmJihXPW5ldyBhQihXLnN0YXJ0LHRoaXMuaW5mby5jb250ZW50TGVuZ3RoLTEpKSxuZXcgd2soW25ldyBxSSg0LG4uUEosVywiZ2V0TmV4dFJlcXVlc3RJbmZvQnlMZW5ndGgiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNsaXBJZCldKTtuLnR5cGU9PT00JiYobj10aGlzLlZRKG4pLG49bltuLmxlbmd0aC0xXSk7dmFyIEQ9MCxiPW4ucmFuZ2Uuc3RhcnQrbi5OK24uSjtuLnR5cGU9PT0zJiYobi5WKCksRD1uLmokLGI9PT1uLnJhbmdlLmVuZCsxJiYoRCs9MSkpO3JldHVybiBzTih0aGlzLEQsYixXKX1lJCgpe3JldHVybiBudWxsfUsobixXPQohMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gc04odGhpcyxuLHRoaXMuaW5kZXguTihuKSwwKX1XKCl7cmV0dXJuITB9RCgpe3JldHVybiEwfVRDKCl7cmV0dXJuITF9SEooKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlLmxlbmd0aCt0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlJiZ0aGlzLmluaXRSYW5nZSYmdGhpcy5pbml0UmFuZ2UuZW5kKzE9PT10aGlzLmluZGV4UmFuZ2Uuc3RhcnQ/ITA6ITF9fTt2YXIgQU09Y2xhc3N7Y29uc3RydWN0b3Iobj0wLFc9MCxEPSJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSIsYj0hMSx2LGssaD0iQVVESU9fUVVBTElUWV9VTktOT1dOIix4PSExKXt0aGlzLnNhbXBsZVJhdGU9bjt0aGlzLm51bUNoYW5uZWxzPVc7dGhpcy5zcGF0aWFsQXVkaW9UeXBlPUQ7dGhpcy5XPWI7dGhpcy5YPXY7dGhpcy5KPWs7dGhpcy5hdWRpb1F1YWxpdHk9aDt0aGlzLk49eH1pc011bHRpQ2hhbm5lbEF1ZGlvKCl7cmV0dXJuIHRoaXMubnVtQ2hhbm5lbHM+Mn19O3ZhciBLTT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiPSIiLHY9IiIsaz0iIil7dGhpcy5kaXNwbGF5TmFtZT1uO3RoaXMudnNzSWQ9Vzt0aGlzLmxhbmd1YWdlQ29kZT1EO3RoaXMua2luZD1iO3RoaXMueHRhZ3M9djt0aGlzLmlkPWt9fTt2YXIgciR4PXtDT0xPUl9QUklNQVJJRVNfQlQ3MDk6ImJ0NzA5IixDT0xPUl9QUklNQVJJRVNfQlQyMDIwOiJidDIwMjAiLENPTE9SX1BSSU1BUklFU19VTktOT1dOOm51bGwsQ09MT1JfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEOm51bGx9LGJxVT17Q09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUNzA5OiJidDcwOSIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUMjAyMF8xMDoiYnQyMDIwIixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfU01QVEVTVDIwODQ6InNtcHRlMjA4NCIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0FSSUJfU1REX0I2NzoiYXJpYi1zdGQtYjY3IixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfVU5LTk9XTjpudWxsLENPTE9SX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDU19VTlNQRUNJRklFRDpudWxsfTt2YXIgQVQ9e1dJRFRIOntuYW1lOiJ3aWR0aCIsdmlkZW86ITAsdmFsaWQ6NjQwLHZHOjk5OTk5fSxIRUlHSFQ6e25hbWU6ImhlaWdodCIsdmlkZW86ITAsdmFsaWQ6MzYwLHZHOjk5OTk5fSxGUkFNRVJBVEU6e25hbWU6ImZyYW1lcmF0ZSIsdmlkZW86ITAsdmFsaWQ6MzAsdkc6OTk5OX0sQklUUkFURTp7bmFtZToiYml0cmF0ZSIsdmlkZW86ITAsdmFsaWQ6M0U1LHZHOjJFOX0sRU9URjp7bmFtZToiZW90ZiIsdmlkZW86ITAsdmFsaWQ6ImJ0NzA5Iix2RzoiY2F0YXZpc2lvbiJ9LENIQU5ORUxTOntuYW1lOiJjaGFubmVscyIsdmlkZW86ITEsdmFsaWQ6Mix2Rzo5OX0sQ1JZUFRPQkxPQ0tGT1JNQVQ6e25hbWU6ImNyeXB0b2Jsb2NrZm9ybWF0Iix2aWRlbzohMCx2YWxpZDoic3Vic2FtcGxlIix2RzoiaW52YWxpZGZvcm1hdCJ9LERFQ09ERVRPVEVYVFVSRTp7bmFtZToiZGVjb2RlLXRvLXRleHR1cmUiLHZpZGVvOiEwLHZhbGlkOiJmYWxzZSIsdkc6Im5vcGUifSxBVjFfQ09ERUNTOntuYW1lOiJjb2RlY3MiLAp2aWRlbzohMCx2YWxpZDoiYXYwMS4wLjA1TS4wOCIsdkc6ImF2OTkuMC4wNU0uMDgifSxFWFBFUklNRU5UQUw6e25hbWU6ImV4cGVyaW1lbnRhbCIsdmlkZW86ITAsdmFsaWQ6ImFsbG93ZWQiLHZHOiJpbnZhbGlkIn0sVFVOTkVMTU9ERTp7bmFtZToidHVubmVsbW9kZSIsdmlkZW86ITAsdmFsaWQ6InRydWUiLHZHOiJmYWxzZSJ9fTt2YXIgWWc9e1siMCJdOiJmIixbIjE2MCJdOiJoIixbIjEzMyJdOiJoIixbIjEzNCJdOiJoIixbIjEzNSJdOiJoIixbIjEzNiJdOiJoIixbIjEzNyJdOiJoIixbIjI2NCJdOiJoIixbIjI2NiJdOiJoIixbIjEzOCJdOiJoIixbIjI5OCJdOiJoIixbIjI5OSJdOiJoIixbIjMwNCJdOiJoIixbIjMwNSJdOiJoIixbIjIxNCJdOiJoIixbIjIxNiJdOiJoIixbIjM3NCJdOiJoIixbIjM3NSJdOiJoIixbIjE0MCJdOiJhIixbIjE0MSJdOiJhIixbIjMyNyJdOiJzYSIsWyIyNTgiXToibSIsWyIzODAiXToibWFjMyIsWyIzMjgiXToibWVhYzMiLFsiMTYxIl06IkgiLFsiMTQyIl06IkgiLFsiMTQzIl06IkgiLFsiMTQ0Il06IkgiLFsiMjIyIl06IkgiLFsiMjIzIl06IkgiLFsiMTQ1Il06IkgiLFsiMjI0Il06IkgiLFsiMjI1Il06IkgiLFsiMTQ2Il06IkgiLFsiMjI2Il06IkgiLFsiMjI3Il06IkgiLFsiMTQ3Il06IkgiLFsiMzg0Il06IkgiLFsiMzc2Il06IkgiLFsiMzg1Il06IkgiLFsiMzc3Il06IkgiLApbIjE0OSJdOiJBIixbIjI2MSJdOiJNIixbIjM4MSJdOiJNQUMzIixbIjMyOSJdOiJNRUFDMyIsWyI1OTgiXToiOSIsWyIyNzgiXToiOSIsWyIyNDIiXToiOSIsWyIyNDMiXToiOSIsWyIyNDQiXToiOSIsWyI3NzUiXToiOSIsWyI3NzYiXToiOSIsWyI3NzciXToiOSIsWyI3NzgiXToiOSIsWyI3NzkiXToiOSIsWyI3ODAiXToiOSIsWyI3ODEiXToiOSIsWyI3ODIiXToiOSIsWyI3ODMiXToiOSIsWyIyNDciXToiOSIsWyIyNDgiXToiOSIsWyIzNTMiXToiOSIsWyIzNTUiXToiOSIsWyIzNTYiXToiOSIsWyIyNzEiXToiOSIsWyI1NzciXToiOSIsWyIzMTMiXToiOSIsWyI1NzkiXToiOSIsWyIyNzIiXToiOSIsWyIzMDIiXToiOSIsWyIzMDMiXToiOSIsWyI0MDciXToiOSIsWyI0MDgiXToiOSIsWyIzMDgiXToiOSIsWyIzMTUiXToiOSIsWyIzMzAiXToiOWgiLFsiMzMxIl06IjloIixbIjMzMiJdOiI5aCIsWyIzMzMiXToiOWgiLFsiMzM0Il06IjloIixbIjMzNSJdOiI5aCIsWyIzMzYiXToiOWgiLApbIjMzNyJdOiI5aCIsWyIzMzgiXToic28iLFsiNjAwIl06Im8iLFsiMjUwIl06Im8iLFsiMjUxIl06Im8iLFsiNzc0Il06Im8iLFsiMTk0Il06IioiLFsiMTk1Il06IioiLFsiMjIwIl06IioiLFsiMjIxIl06IioiLFsiMTk2Il06IioiLFsiMTk3Il06IioiLFsiMjc5Il06IigiLFsiMjgwIl06IigiLFsiMzE3Il06IigiLFsiMzE4Il06IigiLFsiMjczIl06IigiLFsiMjc0Il06IigiLFsiMzU3Il06IigiLFsiMzU4Il06IigiLFsiMjc1Il06IigiLFsiMzU5Il06IigiLFsiMzYwIl06IigiLFsiMjc2Il06IigiLFsiNTgzIl06IigiLFsiNTg0Il06IigiLFsiMzE0Il06IigiLFsiNTg1Il06IigiLFsiNTYxIl06IigiLFsiMjc3Il06IigiLFsiMzYxIl06IihoIixbIjM2MiJdOiIoaCIsWyIzNjMiXToiKGgiLFsiMzY0Il06IihoIixbIjM2NSJdOiIoaCIsWyIzNjYiXToiKGgiLFsiNTkxIl06IihoIixbIjU5MiJdOiIoaCIsWyIzNjciXToiKGgiLFsiNTg2Il06IihoIixbIjU4NyJdOiIoaCIsClsiMzY4Il06IihoIixbIjU4OCJdOiIoaCIsWyI1NjIiXToiKGgiLFsiNDA5Il06IigiLFsiNDEwIl06IigiLFsiNDExIl06IigiLFsiNDEyIl06IigiLFsiNTU3Il06IigiLFsiNTU4Il06IigiLFsiMzk0Il06IjEiLFsiMzk1Il06IjEiLFsiMzk2Il06IjEiLFsiMzk3Il06IjEiLFsiMzk4Il06IjEiLFsiMzk5Il06IjEiLFsiNzIwIl06IjEiLFsiNzIxIl06IjEiLFsiNDAwIl06IjEiLFsiNDAxIl06IjEiLFsiNTcxIl06IjEiLFsiNDAyIl06IjEiLFsiNjk0Il06IjFoIixbIjY5NSJdOiIxaCIsWyI2OTYiXToiMWgiLFsiNjk3Il06IjFoIixbIjY5OCJdOiIxaCIsWyI2OTkiXToiMWgiLFsiNzAwIl06IjFoIixbIjcwMSJdOiIxaCIsWyI3MDIiXToiMWgiLFsiNzAzIl06IjFoIixbIjM4NiJdOiIzIixbIjM4NyJdOiJ3IixbIjQwNiJdOiI2IixbIjc4NyJdOiIxIixbIjc4OCJdOiIxIixbIjU0OCJdOiIxZSIsWyI1NDkiXToiMWUiLFsiNTUwIl06IjFlIixbIjU1MSJdOiIxZSIsWyI4MDkiXToiMWUiLApbIjgxMCJdOiIxZSIsWyI1NTIiXToiMWUiLFsiODExIl06IjFlIixbIjgxMiJdOiIxZSIsWyI1NTMiXToiMWUiLFsiODEzIl06IjFlIixbIjgxNCJdOiIxZSIsWyI1NTQiXToiMWUiLFsiODE1Il06IjFlIixbIjgxNiJdOiIxZSIsWyI1NTUiXToiMWUiLFsiODE3Il06IjFlIixbIjgxOCJdOiIxZSIsWyI1NzIiXToiMWUiLFsiNTU2Il06IjFlIixbIjY0NSJdOiIoIixbIjY0NiJdOiIoIixbIjY0NyJdOiIoIixbIjY0OCJdOiIoIixbIjY0OSJdOiIoIixbIjY1MCJdOiIoIixbIjY1MSJdOiIoIixbIjY1MiJdOiIoIixbIjY1MyJdOiIoIixbIjY1NCJdOiIoIixbIjY1NSJdOiIoIixbIjY1NiJdOiIoIixbIjY1NyJdOiIoIixbIjY1OCJdOiIoIixbIjY1OSJdOiIoIixbIjY2MCJdOiIoIixbIjY2MSJdOiIoIixbIjY2MiJdOiIoIixbIjY2MyJdOiIoIixbIjY2NCJdOiIoIixbIjY2NSJdOiIoIixbIjY2NiJdOiIoIixbIjY2NyJdOiIoIixbIjY2OCJdOiIoIixbIjY2OSJdOiIoIixbIjY3MCJdOiIoIiwKWyI2NzEiXToiKCIsWyI2NzIiXToiKCIsWyI2NzMiXToiKCIsWyI2NzQiXToiKGgiLFsiNjc1Il06IihoIixbIjY3NiJdOiIoaCIsWyI2NzciXToiKGgiLFsiNjc4Il06IihoIixbIjY3OSJdOiIoaCIsWyI2ODAiXToiKGgiLFsiNjgxIl06IihoIixbIjY4MiJdOiIoaCIsWyI2ODMiXToiKGgiLFsiNjg0Il06IihoIixbIjY4NSJdOiIoaCIsWyI2ODYiXToiKGgiLFsiNjg3Il06IihoIixbIjY4OCJdOiJBIixbIjY4OSJdOiJBIixbIjY5MCJdOiJBIixbIjY5MSJdOiJNRUFDMyIsWyI3NzMiXToiaSIsWyI4MDYiXToiSSIsWyI4MDUiXToiSSIsWyI4MjkiXToiOSIsWyI4MzAiXToiOSIsWyI4MzEiXToiOSIsWyI4MzIiXToiOSIsWyI4MzMiXToiOSIsWyI4MzQiXToiOSIsWyI4MzUiXToiOSIsWyI4MzYiXToiOSIsWyI4OTIiXToiOSIsWyI4OTMiXToiOSIsWyI4MzciXToiOSIsWyI4MzgiXToiOSIsWyI4MzkiXToiOSIsWyI4NDAiXToiOSIsWyI4NDEiXToiKCIsWyI4NDIiXToiKCIsWyI4NDMiXToiKCIsClsiODQ0Il06IigiLFsiODQ1Il06IigiLFsiODQ2Il06IigiLFsiODQ3Il06IigiLFsiODQ4Il06IigiLFsiODk0Il06IigiLFsiODk1Il06IigiLFsiODQ5Il06IigiLFsiODUwIl06IigiLFsiODUxIl06IigiLFsiODUyIl06IigiLFsiODY1Il06IjkiLFsiODY2Il06IjkiLFsiODY3Il06IjkiLFsiODY4Il06IjkiLFsiODY5Il06IjkiLFsiODcwIl06IjkiLFsiODcxIl06IjkiLFsiODcyIl06IjkiLFsiODk2Il06IjkiLFsiODk3Il06IjkiLFsiODczIl06IjkiLFsiODc0Il06IjkiLFsiODc1Il06IjkiLFsiODc2Il06IjkiLFsiODc3Il06IigiLFsiODc4Il06IigiLFsiODc5Il06IigiLFsiODgwIl06IigiLFsiODgxIl06IigiLFsiODgyIl06IigiLFsiODgzIl06IigiLFsiODg0Il06IigiLFsiODk4Il06IigiLFsiODk5Il06IigiLFsiODg1Il06IigiLFsiODg2Il06IigiLFsiODg3Il06IigiLFsiODg4Il06IigiLFsiOTAwIl06IjIiLFsiOTAxIl06IjIiLFsiOTAyIl06IjIiLApbIjkwMyJdOiIyIixbIjkwNCJdOiIyIixbIjkwNSJdOiIyIixbIjkwNiJdOiIyIixbIjkwNyJdOiIyIixbIjkwOCJdOiIyIn07dmFyIHBNPSJoaWdocmVzIGhkMjg4MCBoZDIxNjAgaGQxNDQwIGhkMTA4MCBoZDcyMCBsYXJnZSBtZWRpdW0gc21hbGwgdGlueSIuc3BsaXQoIiAiKTt2YXIgSFI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSxHKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9Vzt0aGlzLlc9eDt0aGlzLnF1YWxpdHk9a3x8WVgobixXKTt0aGlzLnF1YWxpdHlPcmRpbmFsPU5HW3RoaXMucXVhbGl0eV07dGhpcy5mcHM9RHx8MDt0aGlzLnN0ZXJlb0xheW91dD0hdnx8YiE9bnVsbCYmYiE9PSJVTktOT1dOIiYmYiE9PSJSRUNUQU5HVUxBUiI/MDp2O3RoaXMucHJvamVjdGlvblR5cGU9Yj9iPT09IkVRVUlSRUNUQU5HVUxBUiImJnY9PT0yPyJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOmI6IlVOS05PV04iOyhuPWgpfHwoRD1OR1t0aGlzLnF1YWxpdHldLEQ9PT0wP249IkF1dG8iOihuPXRoaXMucHJvamVjdGlvblR5cGUsVz10aGlzLmZwcyxuPUQudG9TdHJpbmcoKSsobj09PSJFUVVJUkVDVEFOR1VMQVIifHxuPT09IkVRVUlSRUNUQU5HVUxBUl9USFJFRURfVE9QX0JPVFRPTSJ8fG49PT0iTUVTSCI/InMiOiJwIikrCihXPjU1PyI2MCI6Vz40OT8iNTAiOlc+Mzk/IjQ4IjoiIikpKTt0aGlzLnF1YWxpdHlMYWJlbD1uO3RoaXMuTj1MfHwiIjt0aGlzLnByaW1hcmllcz1lfHwiIjt0aGlzLlg9Rz8/ITB9Sigpe3JldHVybiB0aGlzLmZwcz4zMn1pc0hkcigpe3JldHVybiB0aGlzLk49PT0ic21wdGUyMDg0Inx8dGhpcy5OPT09ImFyaWItc3RkLWI2NyJ9fTt2YXIgbXU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQ9e30pe3RoaXMuaWQ9bjt0aGlzLm1pbWVUeXBlPVc7RC5Ocz4wfHwoRC5Ocz0xNkUzKTtPYmplY3QuYXNzaWduKHRoaXMsRCk7W3RoaXMuaXRhZyx0aGlzLkpdPXRoaXMuaWQuc3BsaXQoIjsiKTt0aGlzLmNvbnRhaW5lclR5cGU9Sk0oVyk7dGhpcy5JQj1ZZ1t0aGlzLml0YWddfHwiIn1LKCl7cmV0dXJuIHRoaXMudmlkZW99WSgpe3JldHVybiB0aGlzLmF1ZGlvfXFIKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyVHlwZT09PTJ9WCgpe3JldHVybiB0aGlzLklCPT09IjkifHx0aGlzLklCPT09IigifHx0aGlzLklCPT09IjloInx8dGhpcy5JQj09PSIoaCJ9TVcoKXtyZXR1cm4gdGhpcy5JQj09PSIxInx8dGhpcy5JQj09PSIxaCJ8fFBSJiZ0aGlzLklCPT09IjFlIn1WKCl7cmV0dXJuIHRoaXMuSUI9PT0ibWFjMyJ8fHRoaXMuSUI9PT0ibWVhYzMifHx0aGlzLklCPT09Im0ifHx0aGlzLklCPT09ImkifHxtRih0aGlzKX1EKCl7cmV0dXJuIHRoaXMuSUI9PT0KIk1BQzMifHx0aGlzLklCPT09Im1hYzMifHx0aGlzLklCPT09Ik1FQUMzInx8dGhpcy5JQj09PSJtZWFjMyJ9aXNFbmNyeXB0ZWQoKXtyZXR1cm4hIXRoaXMuY29udGVudFByb3RlY3Rpb259ZVMoKXtyZXR1cm4hIXRoaXMuYXVkaW99ZlkoKXtyZXR1cm4hIXRoaXMudmlkZW99Vygpe3JldHVybiB0aGlzLm1pbWVUeXBlPT09ImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCJ9Tigpe3ZhciBuPXRoaXMubWltZVR5cGU7cmV0dXJuIG4uaW5jbHVkZXMoInZ0dCIpfHxuLmluY2x1ZGVzKCJ0ZXh0L21wNCIpfWlzVmVydGljYWwoKXtyZXR1cm4hIXRoaXMudmlkZW8mJnRoaXMudmlkZW8ud2lkdGg8dGhpcy52aWRlby5oZWlnaHR9fSxQUj0hMSxFTj0hMTtnLkZzPWNsYXNzIGV4dGVuZHMgZy5KTHtOTihuLFcsRCxiLHYpe3JldHVybiBzdXBlci5OTihuLFcsRCxiLHYpfX07dmFyIHhnPWNsYXNzIGV4dGVuZHMgZy5GaXtjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcigpO3RoaXMuayQ9bjt0aGlzLnN0YXJ0PVc7dGhpcy5lbmQ9RDt0aGlzLmlzQWN0aXZlPWI7dGhpcy5hcHBlbmRXaW5kb3dTdGFydD0wO3RoaXMuYXBwZW5kV2luZG93RW5kPUluZmluaXR5O3RoaXMudGltZXN0YW1wT2Zmc2V0PTA7dGhpcy5LVT17ZXJyb3I6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJlcnJvciIsdGhpcyl9LAp1cGRhdGVlbmQ6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJ1cGRhdGVlbmQiLHRoaXMpfX07CnRoaXMuayQuaCQodGhpcy5LVSk7dGhpcy5wTj10aGlzLmlzQWN0aXZlfWFwcGVuZEJ1ZmZlcihuLFcsRCl7aWYodGhpcy5rJC5NcigpIT09dGhpcy5hcHBlbmRXaW5kb3dTdGFydCt0aGlzLnN0YXJ0fHx0aGlzLmskLktGKCkhPT10aGlzLmFwcGVuZFdpbmRvd0VuZCt0aGlzLnN0YXJ0fHx0aGlzLmskLlNXKCkhPT10aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KXRoaXMuayQuc3VwcG9ydHMoMSksdGhpcy5rJC5lNyh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0K3RoaXMuc3RhcnQsdGhpcy5hcHBlbmRXaW5kb3dFbmQrdGhpcy5zdGFydCksdGhpcy5rJC55Tyh0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KTt0aGlzLmskLmFwcGVuZEJ1ZmZlcihuLFcsRCl9YWJvcnQoKXt0aGlzLmskLmFib3J0KCl9cmVtb3ZlKG4sVyl7dGhpcy5rJC5yZW1vdmUobit0aGlzLnN0YXJ0LFcrdGhpcy5zdGFydCl9VGkoKXt0aGlzLnJlbW92ZSh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0LHRoaXMuYXBwZW5kV2luZG93RW5kKX1jbGVhcigpe3RoaXMuayQuY2xlYXIoKX1lNyhuLApXKXt0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0PW47dGhpcy5hcHBlbmRXaW5kb3dFbmQ9V31pdygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0fU1yKCl7cmV0dXJuIHRoaXMuYXBwZW5kV2luZG93U3RhcnR9S0YoKXtyZXR1cm4gdGhpcy5hcHBlbmRXaW5kb3dFbmR9eU8obil7dGhpcy50aW1lc3RhbXBPZmZzZXQ9bn1TVygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldH1aRihuPSExKXtuPXRoaXMuayQuWkYobik7cmV0dXJuIFFUKG4sdGhpcy5zdGFydCx0aGlzLmVuZCl9eXUoKXtyZXR1cm4gdGhpcy5rJC55dSgpfWZGKCl7cmV0dXJuIHRoaXMuayQuZkYoKX1nWCgpe3JldHVybiB0aGlzLmskLmdYKCl9RGMoKXtyZXR1cm4gdGhpcy5rJC5EYygpfWg5KCl7dGhpcy5rJC5oOSgpfXRaKG4pe3JldHVybiB0aGlzLmskLnRaKG4pfUQ5KCl7cmV0dXJuIHRoaXMuayQuRDkoKX1MRigpe3JldHVybiB0aGlzLmskLkxGKCl9am4obixXLEQpe3RoaXMuayQuam4obiwKVyxEKX1WbyhuLFcsRCl7dGhpcy5rJC5WbyhuLFcsRCl9bmEobixXKXtyZXR1cm4gdGhpcy5rJC5uYShuLFcpfXN1cHBvcnRzKG4pe3JldHVybiB0aGlzLmskLnN1cHBvcnRzKG4pfVpnKCl7cmV0dXJuIHRoaXMuayQuWmcoKX1pUSgpe3JldHVybiB0aGlzLmskLmlRKCl9aXNWaWV3KCl7cmV0dXJuITB9am8oKXtyZXR1cm4gdGhpcy5rJC5qbygpP3RoaXMuaXNBY3RpdmU6ITF9aXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5wTiYmIXRoaXMuaXNBY3RpdmV9eXIobil7bj10aGlzLmskLnlyKG4pO24udnc9YCR7dGhpcy5zdGFydH0tJHt0aGlzLmVuZH1gO3JldHVybiBufW5GKCl7cmV0dXJuIHRoaXMuayQubkYoKX1Lcygpe3JldHVybiB0aGlzLmskLktzKCl9ejAoKXtyZXR1cm4gdGhpcy5rJC56MCgpfW1BKCl7dGhpcy5rJC5NOSh0aGlzLktVKTtzdXBlci5tQSgpfUtpKCl7cmV0dXJuIHRoaXMuaXNBY3RpdmV9VnUobil7dGhpcy5pc0FjdGl2ZT1uO3RoaXMucE49dGhpcy5wTnx8dGhpcy5pc0FjdGl2ZX19O3ZhciBzND0hMTt2YXIga2c9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG4sVyxELGIsdixrKXtzdXBlcigpO3RoaXMuUUU9bjt0aGlzLkVWPVc7dGhpcy5pZD1EO3RoaXMuY29udGFpbmVyVHlwZT1iO3RoaXMuSUI9djt0aGlzLmZZPWs7dGhpcy5tTz10aGlzLmpxPXRoaXMuZEg9bnVsbDt0aGlzLmVvPSExO3RoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLkY0PVRpKFtdLFtdKTt0aGlzLkhIPSExO3RoaXMuaWs9W107dGhpcy55Nj1QYz9bXTp2b2lkIDA7dGhpcy5oYW5kbGVyPWg9PnRoaXMuV0ooaC50eXBlLHRoaXMpOwp0aGlzLlFFPy5hZGRFdmVudExpc3RlbmVyJiYodGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVlbmQiLHRoaXMuaGFuZGxlciksdGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5oYW5kbGVyKSl9YXBwZW5kQnVmZmVyKG4sVyxEKXt0aGlzLkhIPSExO0QmJih0aGlzLmpxPUQpO24ubGVuZ3RoJiYodGhpcy5RRT8uYXBwZW5kQnVmZmVyP3RoaXMuUUUuYXBwZW5kQnVmZmVyKG4pOnRoaXMuUUU/dGhpcy5RRS5hcHBlbmQobik6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5pZCxuKSk7VyYmKFcuaXNFbmNyeXB0ZWQoKSYmKHRoaXMubU89dGhpcy5qcSksVy50eXBlPT09MyYmKHRoaXMuZEg9VyksdGhpcy5pay5wdXNoKFcuZ2EoKSksdGhpcy5pay5sZW5ndGg+NCYmdGhpcy5pay5zaGlmdCgpKTt0aGlzLnk2JiYodGhpcy55Ni5sZW5ndGg+PTJ8fG4ubGVuZ3RoPjEwNDg1NzY/ZGVsZXRlIHRoaXMueTY6dGhpcy55Ni5wdXNoKG4pKX1hYm9ydCgpe3RyeXt0aGlzLlFFPwp0aGlzLlFFLmFib3J0KCk6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBYm9ydCh0aGlzLmlkKX1jYXRjaChuKXtRalomJmcuR3EobmV3IGcuUXgoYEVycm9yIHdoaWxlIGFib3J0IHRoZSBzb3VyY2UgYnVmZmVyOiAke24ubmFtZX0sICR7bi5tZXNzYWdlfWApKX10aGlzLmpxPXRoaXMuZEg9bnVsbH1yZW1vdmUobixXLEQpe3RoaXMuSEg9ITE7dGhpcy5RRT8ucmVtb3ZlJiYoRCYmRCh7Yjpyayh0aGlzLlpGKCkpLHM6bixlOld9KSx0aGlzLlFFLnJlbW92ZShuLFcpKX1UaSgpe3RoaXMucmVtb3ZlKHRoaXMuTXIoKSx0aGlzLktGKCkpfWNsZWFyKCl7dGhpcy5nWCgpfHwodGhpcy5hYm9ydCgpLHRoaXMuVGkoKSx0aGlzLm1PPXRoaXMuanE9dGhpcy5kSD1udWxsLHRoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MCx0aGlzLkY0PVRpKFtdLFtdKSx0aGlzLkhIPSExLHRoaXMueTY9UGM/W106dm9pZCAwLHRoaXMuZW89ITApfU1yKCl7cmV0dXJuIHM0JiYKdGhpcy5mWT90aGlzLmFwcGVuZFdpbmRvd1N0YXJ0OnRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwfUtGKCl7cmV0dXJuIHRoaXMuUUU/LmFwcGVuZFdpbmRvd0VuZHx8MH1lNyhuLFcpe3RoaXMuUUUmJihzNCYmdGhpcy5mWT8odGhpcy5hcHBlbmRXaW5kb3dTdGFydD1uLHRoaXMuUUUuYXBwZW5kV2luZG93RW5kPVcpOm4+dGhpcy5NcigpPyh0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XLHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bik6KHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bix0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XKSl9aXcoKXtyZXR1cm4gdGhpcy50aW1lc3RhbXBPZmZzZXR9eU8obil7czQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ9bjp0aGlzLnN1cHBvcnRzKDEpJiYodGhpcy5RRS50aW1lc3RhbXBPZmZzZXQ9bil9U1coKXtyZXR1cm4gczQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ6dGhpcy5zdXBwb3J0cygxKT90aGlzLlFFLnRpbWVzdGFtcE9mZnNldDowfVpGKG49CiExKXtpZihuKXJldHVybiB0aGlzLkhIfHx0aGlzLnl1KCl8fCh0aGlzLkY0PXRoaXMuWkYoITEpLHRoaXMuSEg9ITApLHRoaXMuRjQ7dHJ5e3JldHVybiB0aGlzLlFFP3RoaXMuUUUuYnVmZmVyZWQ6dGhpcy5FVj90aGlzLkVWLndlYmtpdFNvdXJjZUJ1ZmZlcmVkKHRoaXMuaWQpOlRpKFswXSxbSW5maW5pdHldKX1jYXRjaChXKXtyZXR1cm4gVGkoW10sW10pfX15dSgpe3JldHVybiB0aGlzLlFFPy51cGRhdGluZ3x8ITF9Z1goKXtyZXR1cm4gdGhpcy5lb31EYygpe3JldHVybiF0aGlzLmVvJiZ0aGlzLnl1KCl9aDkoKXt0aGlzLmVvPSExfXRaKG4pe3ZhciBXPW4/LklCO249bj8uY29udGFpbmVyVHlwZTtyZXR1cm4hVyYmIW58fFc9PT10aGlzLklCJiZuPT09dGhpcy5jb250YWluZXJUeXBlfUQ5KCl7cmV0dXJuIHRoaXMuanF9TEYoKXtyZXR1cm4gdGhpcy5tT31uYShuLFcpe3JldHVybiB0aGlzLmNvbnRhaW5lclR5cGUhPT1ufHx0aGlzLklCIT09V31qbihuLFcsRCl7aWYodGhpcy5jb250YWluZXJUeXBlIT09Cm58fEQmJnRoaXMubmEobixEKSl0aGlzLnN1cHBvcnRzKDQpLFZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShXKSxEJiYodGhpcy5JQj1EKTt0aGlzLmNvbnRhaW5lclR5cGU9bn1WbyhuLFcsRCl7dGhpcy5jb250YWluZXJUeXBlJiZ0aGlzLm5hKG4sVykmJlZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShEKTt0aGlzLmNvbnRhaW5lclR5cGU9bjt0aGlzLklCPVd9WmcoKXtyZXR1cm4gdGhpcy5kSH1pUSgpe3JldHVybiEhdGhpcy5kSCYmIXRoaXMuZEguYVp9aXNWaWV3KCl7cmV0dXJuITF9c3VwcG9ydHMobil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4gdGhpcy5RRT8udGltZXN0YW1wT2Zmc2V0IT09dm9pZCAwO2Nhc2UgMDpyZXR1cm4hIXRoaXMuUUU/LmFwcGVuZEJ1ZmZlcjtjYXNlIDI6cmV0dXJuISF0aGlzLlFFPy5yZW1vdmU7Y2FzZSAzOnJldHVybiEoIXRoaXMuUUU/LmFkZEV2ZW50TGlzdGVuZXJ8fCF0aGlzLlFFPy5yZW1vdmVFdmVudExpc3RlbmVyKTtjYXNlIDQ6cmV0dXJuISghdGhpcy5RRXx8CiF0aGlzLlFFLmNoYW5nZVR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWpvKCl7cmV0dXJuIXRoaXMueXUoKX1pc0xvY2tlZCgpe3JldHVybiExfXlyKG4pe24udG89dGhpcy5TVygpO24udXA9dGhpcy55dSgpO24uYXc9YCR7KHRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwKS50b0ZpeGVkKDMpfS0keyh0aGlzLlFFPy5hcHBlbmRXaW5kb3dFbmR8fEluZmluaXR5KS50b0ZpeGVkKDMpfWA7cmV0dXJuIG59ZkYoKXtyZXR1cm4gdGhpcy5RRT8ud3JpdGVIZWFkfHwwfW5GKCl7dmFyIG49e307Zm9yKGxldCBXPTA7Vzx0aGlzLmlrLmxlbmd0aDtXKyspbltgcyR7V31gXT10aGlzLmlrW1ddO3JldHVybiBufW1BKCl7dGhpcy5zdXBwb3J0cygzKSYmKHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidXBkYXRlZW5kIix0aGlzLmhhbmRsZXIpLHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuaGFuZGxlcikpO3N1cGVyLm1BKCl9S3MoKXtyZXR1cm4gdGhpcy5jb250YWluZXJUeXBlfXowKCl7cmV0dXJuIHRoaXMueTZ9fSwKUGM9ITEsUWpaPSExO3ZhciB3bj1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuWGI9bjt0aGlzLk49Vzt0aGlzLko9ITF9ZGlzcG9zZSgpe2lmKCF0aGlzLnFOKCkpe2lmKHRoaXMuTil0cnl7VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLlhiKX1jYXRjaChuKXt9dGhpcy5KPSEwfX1xTigpe3JldHVybiB0aGlzLkp9Vygpe3JldHVybiB0aGlzLk59ZXF1YWxzKG4pe3JldHVybiBuIT09bnVsbCYmbi5YYj09PXRoaXMuWGJ9dG9TdHJpbmcoKXtyZXR1cm5gTWVkaWFSZXNvdXJjZSB7JHt0aGlzLlhifX1gfX07dmFyIGhaPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuLFcsRD0hMSl7c3VwZXIoKTt0aGlzLm1lZGlhRWxlbWVudD1uO3RoaXMubWVkaWFTb3VyY2U9Vzt0aGlzLmlzVmlldz1EO3RoaXMuWT0wO3RoaXMuVj0hMTt0aGlzLks9ITA7dGhpcy5jSj0wO3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLk89ITE7dGhpcy5tZWRpYVNvdXJjZXx8KHRoaXMuRVY9dGhpcy5tZWRpYUVsZW1lbnQuZV8oKSk7dGhpcy5ldmVudHM9bmV3IGcuRnModGhpcyk7Zy51KHRoaXMsdGhpcy5ldmVudHMpO3RoaXMuaj1uZXcgd24odGhpcy5tZWRpYVNvdXJjZT93aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLm1lZGlhU291cmNlKTp0aGlzLkVWLndlYmtpdE1lZGlhU291cmNlVVJMLCEwKTtuPXRoaXMubWVkaWFTb3VyY2V8fHRoaXMuRVY7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZW9wZW4iLCJ3ZWJraXRzb3VyY2VvcGVuIl0sdGhpcy5TJCk7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZWNsb3NlIiwKIndlYmtpdHNvdXJjZWNsb3NlIl0sdGhpcy5UQyk7dGhpcy5MTD17dXBkYXRlZW5kOnRoaXMuZVh9fXR3KCl7cmV0dXJuIHRoaXMuan1nZXREdXJhdGlvbigpe3JldHVybiB0aGlzLm1lZGlhU291cmNlPy5kdXJhdGlvbnx8dGhpcy5jSn1hVChuKXt0cnl7dGhpcy5tZWRpYVNvdXJjZT90aGlzLm1lZGlhU291cmNlLmR1cmF0aW9uPW46KHRoaXMuY0o9bix0aGlzLkVWLndlYmtpdFNvdXJjZVNldER1cmF0aW9uKG4pKX1jYXRjaChXKXt9fVgoKXtyZXR1cm4hIXRoaXMuTnx8ISF0aGlzLkp9UEEoKXt0cnl7cmV0dXJuIHRoaXMuVygpPT09ImNsb3NlZCJ9Y2F0Y2gobil7cmV0dXJuITB9fVcoKXtpZih0aGlzLm1lZGlhU291cmNlKXJldHVybiB0aGlzLm1lZGlhU291cmNlLnJlYWR5U3RhdGU7c3dpdGNoKHRoaXMuRVYud2Via2l0U291cmNlU3RhdGUpe2Nhc2UgdGhpcy5FVi5TT1VSQ0VfT1BFTjpyZXR1cm4ib3BlbiI7Y2FzZSB0aGlzLkVWLlNPVVJDRV9FTkRFRDpyZXR1cm4iZW5kZWQiOwpkZWZhdWx0OnJldHVybiJjbG9zZWQifX15dSgpe3JldHVybiEhKHRoaXMuTiYmdGhpcy5OLnl1KCl8fHRoaXMuSiYmdGhpcy5KLnl1KCkpfVMkKCl7IXRoaXMucU4oKSYmbjYodGhpcykmJnRoaXMuY2FsbGJhY2smJih0aGlzLmNhbGxiYWNrKHRoaXMpLHRoaXMuY2FsbGJhY2s9bnVsbCl9VEMoKXt0aGlzLmRpc3Bvc2UoKX1lWChuKXtESCYmIXRoaXMuViYmbi5nWCgpJiZuLlpGKCkubGVuZ3RoPT09MCYmKGJBKHRoaXMubWVkaWFFbGVtZW50LHtsOiJtc3dvdWUiLHNyOnRoaXMubWVkaWFFbGVtZW50LllhPy5wZygpfSwhMSksbi5oOSgpLHRoaXMuZ1goKXx8KHRoaXMubWVkaWFFbGVtZW50LkNGPSEwLHRoaXMubWVkaWFFbGVtZW50LnNldEN1cnJlbnRUaW1lKDApKSl9Y2xlYXIoKXtXRih0aGlzLCgpPT57fSk7CnRoaXMuTj8uY2xlYXIoKTt0aGlzLko/LmNsZWFyKCl9RCgpe3RoaXMuTj8uaDkoKTt0aGlzLko/Lmg5KCk7dGhpcy5LPSExfWdYKCl7cmV0dXJuIHRoaXMuSj8uZ1goKXx8dGhpcy5OPy5nWCgpfXRaKG4sVyl7cmV0dXJuISF0aGlzLk4mJiEhdGhpcy5KJiZ0aGlzLk4udFooVykmJnRoaXMuSi50WihuKX1iZCgpe3JldHVybiEhdGhpcy5tZWRpYVNvdXJjZSYmdGhpcy5tZWRpYVNvdXJjZS5zdHJlYW1pbmc9PT0hMX19LERIPSExO3ZhciBnR3I9L2FjdGlvbl9kaXNwbGF5X3Bvc3QvO2cuR3g9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG49IiIsVz1udWxsLEQ9ITEpe3N1cGVyKCk7dGhpcy5zb3VyY2VVcmw9bjt0aGlzLmlzTGl2ZVBsYXliYWNrPUQ7dGhpcy5ISj10aGlzLmR1cmF0aW9uPTA7dGhpcy5pc1ByZW1pZXJlPXRoaXMuWGc9dGhpcy5pc1dpbmRvd2VkTGl2ZT10aGlzLmlzTGl2ZUhlYWRQbGF5YWJsZT10aGlzLmlzTGl2ZT10aGlzLlc9ITE7dGhpcy5IUD10aGlzLkl0PTA7dGhpcy5pc090Zj10aGlzLnpXPSExO3RoaXMuUyQ9KDAsZy5SKSgpO3RoaXMuY0o9SW5maW5pdHk7dGhpcy5OPXt9O3RoaXMuSj1uZXcgTWFwO3RoaXMuc3RhdGU9dGhpcy5sTj0wO3RoaXMuVj1udWxsO3RoaXMuaXNNYW5pZmVzdGxlc3M9ITE7dGhpcy5iZD1bXTt0aGlzLks9bnVsbDt0aGlzLmUkPTA7dGhpcy5qPSIiO3RoaXMuVEM9TmFOO3RoaXMuSlU9dGhpcy5vUj10aGlzLnRpbWVzdGFtcE9mZnNldD10aGlzLkQ9MDt0aGlzLldNPXRoaXMuSDI9TmFOO3RoaXMuSVQ9MDsKdGhpcy5WUT10aGlzLk89ITE7dGhpcy5HQz1bXTt0aGlzLnZKPXt9O3RoaXMuUFg9dGhpcy50dz1OYU47dGhpcy5DdT1XPy5FcSgiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpO016PSEhVyYmVy5FcSgiaHRtbDVfbW9kZXJuX3ZwOV9taW1lX3R5cGUiKTtIRj0hIVc/LkVxKCJodG1sNV9lbmFibGVfZmx1c2hfZHVyaW5nX3NlZWsiKSYmZy5kOCgpO2Y2PSEhVz8uRXEoImh0bWw1X2VuYWJsZV9yZXNldF9hdWRpb19kZWNvZGVyIikmJmcuZDgoKX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTF9dG4oKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTN9bnUoKXtyZXR1cm4gZy5EbCh0aGlzLk4sbj0+ISFuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5xdWFsaXR5T3JkaW5hbD49MjE2MCl9WCgpe3JldHVybiBnLkRsKHRoaXMuTixuPT4hIW4uaW5mby5jb250ZW50UHJvdGVjdGlvbil9eUUobil7dmFyIFc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiUmVwcmVzZW50YXRpb24iKTsKaWYobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudExpc3QiKS5sZW5ndGg+MHx8bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRlbXBsYXRlIikubGVuZ3RoPjApe3RoaXMuelc9dGhpcy5XPSEwO3RoaXMuVnx8KHRoaXMuVj1uZXcga0xDKTtjSGoodGhpcy5WLG4pO3RoaXMuV0ooInJlZnJlc2giKTtmb3Iobj0wO248Vy5sZW5ndGg7bisrKXt2YXIgRD15Qyh0aGlzLFdbbl0pO2lmKCF0aGlzLk5bRC5pZF0pe3ZhciBiPVJ4KFRQKFdbbl0sIkJhc2VVUkwiKS50ZXh0Q29udGVudCksdj1UUChXW25dLCJJbml0aWFsaXphdGlvbiIpLGs9bFQodiwic291cmNlVVJMIik7dj1ueihsVCh2LCJyYW5nZSIpKTt0aGlzLk5bRC5pZF09bmV3IGR0KGIsRCxrLHYpfUQ9dGhpcy5OW0QuaWRdO2s9bFQoV1tuXSwiaWQiLCJBZGFwdGF0aW9uU2V0Iik7az1rIT09IiI/azpsVChXW25dLCJtaW1ldHlwZSIsIkFkYXB0YXRpb25TZXQiKTtiPXRoaXMuVjtrPWIuV1tELmluZm8uaWRdfHxiLkpba118fApiLk58fG51bGw7Yj1rLk47IXRoaXMuRCYmay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkmJih0aGlzLkQ9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO2lmKGsuail7dj1bXTtmb3IodmFyIGggb2YgYil7Yj1ELmluZm8uaWQ7dmFyIHg9RC5pbmZvLk5zKjgsTD1oLmokLGU9aC5zdGFydFNlY3MsRz1rLksuc3BsaXQoIiQkIik7Zm9yKHZhciByPTA7cjxHLmxlbmd0aDtyKyspR1tyXT1HW3JdLnJlcGxhY2UoIiRSZXByZXNlbnRhdGlvbklEJCIsYiksR1tyXT1HW3JdLnJlcGxhY2UoIiROdW1iZXIkIixMLnRvU3RyaW5nKCkpLEdbcl09R1tyXS5yZXBsYWNlKCIkQmFuZHdpZHRoJCIseC50b1N0cmluZygpKSxHW3JdPUdbcl0ucmVwbGFjZSgiJFRpbWUkIixlLnRvU3RyaW5nKCkpO2I9Ry5qb2luKCIkIik7di5wdXNoKG5ldyBSNChoLmokLGguc3RhcnRTZWNzLGguQ2YsaC5OLGIsbnVsbCxoLkopKX1iPXZ9ZWxzZXtMPVYyKFRQKFdbbl0sIlNlZ21lbnRMaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNlZ21lbnRVUkwiKSwKay5WKTtlPVtdO2ZvcihHPTA7RzxMLmxlbmd0aDtHKyspe2s9ZTt2PWsucHVzaDtyPXZvaWQgMDt2YXIgTj1MW0ddO3g9YltHXTtsZXQgSD1OLmdldEF0dHJpYnV0ZSgibWVkaWEiKTtpZihOPU4uZ2V0QXR0cmlidXRlKCJtZWRpYVJhbmdlIikpe2xldCBBPU4uc3BsaXQoIi0iKTtBWzFdJiZOdW1iZXIoQVsxXSk+PTA/cj1ueihOKTpIPWAke0h9P3JhbmdlPSR7Tn1gfXYuY2FsbChrLG5ldyBSNCh4LmokLHguc3RhcnRTZWNzLHguQ2YseC5OLEgscix4LkopKX1iPWV9RC51cGRhdGUoYix0aGlzLmlzTGl2ZSx0aGlzLkhKKX1hRFUodGhpcy5WKTtyZXR1cm4hMH10aGlzLmR1cmF0aW9uPWp4KGxUKG4sIm1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24iKSk7YTp7Zm9yKGg9MDtoPFcubGVuZ3RoO2grKyl7Yj1XW2hdO249eUModGhpcyxiKTtEPVJ4KFRQKGIsIkJhc2VVUkwiKS50ZXh0Q29udGVudCk7az1UUChiLCJTZWdtZW50QmFzZSIpO2I9bnooay5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgiaW5kZXhSYW5nZSIpLnZhbHVlKTsKaz1ueihrLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJbml0aWFsaXphdGlvbiIpWzBdLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJyYW5nZSIpLnZhbHVlKTtuPW5ldyBzayhELG4sayxiKTtpZighbil7Vz0hMTticmVhayBhfSRnKHRoaXMsbil9Vz0hMH1yZXR1cm4gV31EdChuKXtyZXR1cm4gdGhpcy5WP1YyKHRoaXMuVi5YLG4pOnRoaXMuYmQubGVuZ3RoP1YyKHRoaXMuYmQsbik6W119cmVmcmVzaCgpe2lmKCF0aGlzLmlzTG9hZGluZygpJiYhdGhpcy5xTigpKXt2YXIgbj1nLkVUKHRoaXMuc291cmNlVXJsLHtzdGFydF9zZXE6QSRpKHRoaXMpLnRvU3RyaW5nKCl9KTtTNCh0aGlzLG4pLnNQKCgpPT57fSl9fXN1c3BlbmQoKXt0aGlzLksmJnRoaXMuSy5zdG9wKCl9cmVzdW1lKCl7QVoodGhpcyl9ckkoKXtpZih0aGlzLmlzTWFuaWZlc3RsZXNzJiZ0aGlzLmlzV2luZG93ZWRMaXZlJiZpQSh0aGlzKSlyZXR1cm4gaUEodGhpcyk7CnZhciBuPXRoaXMuTixXPSExLEQ9TmFOLGI9TmFOO2ZvcihsZXQgayBpbiBuKXtsZXQgaD1uW2tdO3ZhciB2PWguaW5kZXg7aWYoIXYuaXNMb2FkZWQoKXx8aC5pbmZvLk4oKSljb250aW51ZTtoLlYmJihXPSEwKTt2PXYuYlEoKTtoLmluZm8uZVMoKSYmKGlzTmFOKEQpfHx2PEQpP0Q9djpoLmluZm8uZlkoKSYmKGlzTmFOKGIpfHx2PGIpJiYoYj12KX1yZXR1cm4gV3x8aXNOYU4oYik/RDpNYXRoLm1pbihELGIpfUxmKCl7aWYodGhpcy5pc01hbmlmZXN0bGVzcyl7aWYodUEodGhpcykpcmV0dXJuIHVBKHRoaXMpO2lmKHRoaXMuSVQpe3ZhciBuPXRoaXMuaEModGhpcy5ySSgpKTtpZihuJiYobi09dGhpcy5JVCxuPjApKXJldHVybiB0aGlzLnJJKCktbn19bj10aGlzLk47Zm9yKGxldCBXIGluIG4pe2xldCBEPW5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpJiYhbltXXS5pbmZvLk4oKSlyZXR1cm4gRC5MZigpfXJldHVybiAwfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5EfWhDKG4pe2ZvcihsZXQgVyBpbiB0aGlzLk4pe2xldCBEPQp0aGlzLk5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpKXtsZXQgYj1ELlIzKG4pLHY9RC5oQyhiKTtpZih2KXJldHVybiB2K24tRC5nZXRTdGFydFRpbWUoYil9fXJldHVybiBOYU59cWgoKXtyZXR1cm4gdGhpcy5lJH1qVygpe2ZvcihsZXQgbiBpbiB0aGlzLk4pdGhpcy5OLmhhc093blByb3BlcnR5KG4pJiYodGhpcy5OW25dLko9bnVsbCx0aGlzLk5bbl0uY0o9ITEpfX07Zy5HeC5wcm90b3R5cGUuRkY9V1ooNCk7dmFyIE16LEhGLGY2LHd0PW51bGwsUm89ISFuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyxVaz17Y29tbWVudGFyeToxLGFsdGVybmF0ZToyLGR1YjozLG1haW46NH07dmFyIGNGPW5ldyBTZXQsUUM9bmV3IE1hcDt2YXIgUGVNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMueVE9bjt0aGlzLk5kPXRoaXMuYnY9dGhpcy5ISj10aGlzLlY9dGhpcy5qPXRoaXMuSGk9dGhpcy5HQz10aGlzLmNKPSExO3RoaXMuWT10aGlzLks9MDt0aGlzLkN1PSExO3RoaXMudHc9ITA7dGhpcy5QWD0hMTt0aGlzLm5TPTA7dGhpcy5GRj10aGlzLm51PXRoaXMub0w9dGhpcy5lJD0hMTt0aGlzLk49e307dGhpcy5qVz10aGlzLlJhPXRoaXMudlg9dGhpcy5kaXNhYmxlQXYxPXRoaXMuYmQ9dGhpcy5Rcj10aGlzLnlFPXRoaXMuWVo9dGhpcy5CVj10aGlzLko9dGhpcy5XPXRoaXMuRD0hMTt0aGlzLlMkPTA7dGhpcy5UQz0hMTt0aGlzLnM1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9hYWNfcHJlZmVyZW5jZSIpO3RoaXMud2E9SW5maW5pdHk7dGhpcy54ZD0wO3RoaXMuTEI9dGhpcy55US5XWCgpO3RoaXMuSEQ9dGhpcy55US5leHBlcmltZW50cy5FcSgiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpO3RoaXMuTWQ9dGhpcy55US5TKCJodG1sNV9mb3JjZV9hdjFfZm9yX3Rlc3RpbmciKTsKdGhpcy55dz10aGlzLnlRLlp0KCkuTi5RUShWSWopO3RoaXMudko9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9hdjFfb3JkaW5hbF9jYXAiKTt0aGlzLlU1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9oZnJfd2hlbl92cDlfZW5jcnlwdGVkXzJrNGtfdW5zdXBwb3J0ZWQiKTt0aGlzLkU1PXRoaXMueVEuUygiaHRtbDVfYWNjb3VudF9vbmVzaWVfZm9ybWF0X3NlbGVjdGlvbl9kdXJpbmdfZm9ybWF0X2ZpbHRlciIpO3RoaXMuTnM9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9tYXhfYnl0ZXJhdGUiKTt0aGlzLlZRPXRoaXMueVEuUygiaHRtbDVfZW5hYmxlX2lhbWZfYXVkaW8iKTt0aGlzLmZCPXRoaXMueVEuWnQoKS5OLlFRKFFPeCk7dGhpcy5EdD10aGlzLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9hbGxvd19jYXBhYmlsaXR5X21lcmdlIik7dGhpcy5ZJD10aGlzLnlRLlMoImh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxIik7dGhpcy5ZWj10aGlzLnlRLlp0KCkuTi5RUShaN1UpfHwKdGhpcy55US5TKCJkaXNhYmxlX3ByZWZlcl9oYnJfdnA5Iil9fTt2YXIgcjE9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5mbGF2b3I9bjt0aGlzLmtleVN5c3RlbT1XO3RoaXMuVz1EO3RoaXMuZXhwZXJpbWVudHM9Yjt0aGlzLko9e307dGhpcy5DaT10aGlzLmtleVN5c3RlbUFjY2Vzcz1udWxsO3RoaXMuamk9dGhpcy5WOT0tMTt0aGlzLkZjPW51bGw7dGhpcy5YPSEhYiYmYi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTtiJiZiLkVxKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5Iil9Y2xvbmUobil7cmV0dXJuIG5ldyByMSh0aGlzLmZsYXZvcixuLHRoaXMuVyx0aGlzLmV4cGVyaW1lbnRzKX1OKCl7cmV0dXJuIHRoaXMua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwifXlyKCl7cmV0dXJue2ZsYXZvcjp0aGlzLmZsYXZvcixrZXlTeXN0ZW06dGhpcy5rZXlTeXN0ZW19fWtMKCl7c3dpdGNoKHRoaXMua2V5U3lzdGVtKXtjYXNlICJjb20ueW91dHViZS5wbGF5cmVhZHkiOnJldHVybiJQUlkiO2Nhc2UgImNvbS5taWNyb3NvZnQucGxheXJlYWR5IjpyZXR1cm4iUFJNIjsKY2FzZSAiY29tLndpZGV2aW5lLmFscGhhIjpyZXR1cm4iV1ZBIjtjYXNlICJjb20ueW91dHViZS53aWRldmluZS5sMyI6cmV0dXJuIldWWSI7Y2FzZSAiY29tLnlvdXR1YmUuZmFpcnBsYXkiOnJldHVybiJGUFkiO2Nhc2UgImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwiOnJldHVybiJGUEMiO2Nhc2UgImNvbS5hcHBsZS5mcHMuMV8wIjpyZXR1cm4iRlBBIjtkZWZhdWx0OnJldHVybiB0aGlzLmtleVN5c3RlbX19fSxxVj17cGxheXJlYWR5OlsiY29tLnlvdXR1YmUucGxheXJlYWR5IiwiY29tLm1pY3Jvc29mdC5wbGF5cmVhZHkiXSx3aWRldmluZTpbImNvbS55b3V0dWJlLndpZGV2aW5lLmwzIiwiY29tLndpZGV2aW5lLmFscGhhIl19LHZRQz17d2lkZXZpbmU6IkRSTV9TWVNURU1fV0lERVZJTkUiLGZhaXJwbGF5OiJEUk1fU1lTVEVNX0ZBSVJQTEFZIixwbGF5cmVhZHk6IkRSTV9TWVNURU1fUExBWVJFQURZIn0seFZpPXt3aWRldmluZToxLGZhaXJwbGF5OjIscGxheXJlYWR5OjN9O3ZhciBaV1M9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyxELGI9ITEsdil7c3VwZXIoKTt0aGlzLnlRPVc7dGhpcy51c2VDb2JhbHRXaWRldmluZT1iO3RoaXMuVT12O3RoaXMuSj1bXTt0aGlzLlc9e307dGhpcy5OPXt9O3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLmo9ITE7dGhpcy5YPVtdO3RoaXMuaW5pdGlhbGl6ZShuLCFEKX1pbml0aWFsaXplKG4sVyl7Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKG4pKXt2YXIgRD1iO2ZvcihsZXQgdiBvZiBuW0RdKWlmKHYuY29udGVudFByb3RlY3Rpb24pZm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKHYuY29udGVudFByb3RlY3Rpb24pKXtEPWs7bGV0IGg9cVZba107IWgmJnRoaXMuUygiaHRtbA=="}},"time_used":43,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":27,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/loading.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.591Z","timestamp":1785123386591,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/loading.gif HTTP/1.1\r\nHost: translate.googleapis.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 702\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 21:36:56 GMT\r\nexpires: Sat, 24 Jul 2027 21:36:56 GMT\r\ncache-control: public, max-age=31536000\r\nage: 194370\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":702,"size_decoded":1361,"mime_type":"image/gif","magic":"GIF image data, version 89a, 16 x 16","md5":"eefaa072b284a305c12c06608333abc2","sha1":"58272721ccc1efda26eaa22354022c7c793edbb6","sha256":"fb6b7bcc1ab09f27db17bcbdf5239ce1d52af34f1fc5125b3fc8528a07848d21","sha512":"c5ccfdcd9ce76de85f043a1733c9f0b620e15babbaf2a5639684c7b2bb8e5a66473c9a83f14cb48d9cb6c6a1c6b36f2c5a28e25abaf131fb85ec5eedecbae4ac","ssdeep":"","tlshash":"5d01dd13f3d50473f66d0075a20cc57f010635daaadad7089a48117cfe1983c5239b82","first_seen":"2023-04-05T11:18:23Z","last_seen":"2026-07-31T12:08:53.638661Z","times_seen":18827,"resource_available":false,"data":"R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hVNYWRlIGJ5IEFqYXhMb2FkLmluZm8AIfkECQoAAAAsAAAAABAAEAAAAzMIutz+MMpJaxNjCDoIGZwHTphmCUWxMcK6FJnBti5gxMJx0C1bGDndpgc5GAwHSmvnSAAAIfkECQoAAAAsAAAAABAAEAAAAzQIutz+TowhIBuEDLuw5opEcUJRVGAxGSBgTEVbGqh8HLV13+1hGAeAINcY4oZDGbIlJCoSACH5BAkKAAAALAAAAAAQABAAAAM2CLoyIyvKQciQzJRWLwaFYxwO9BlO8UlCYZircBzwCsyzvRzGqCsCWe0X/AGDww8yqWQan78EACH5BAkKAAAALAAAAAAQABAAAAMzCLpiJSvKMoaR7JxWX4WLpgmFIQwEMUSHYRwRqkaCsNEfA2JSXfM9HzA4LBqPyKRyOUwAACH5BAkKAAAALAAAAAAQABAAAAMyCLpyJytK52QU8BjzTIEMJnbDYFxiVJSFhLkeaFlCKc/KQBADHuk8H8MmLBqPyKRSkgAAIfkECQoAAAAsAAAAABAAEAAAAzMIuiDCkDkX43TnvNqeMBnHHOAhLkK2ncpXrKIxDAYLFHNhu7A195UBgTCwCYm7n20pSgAAIfkECQoAAAAsAAAAABAAEAAAAzIIutz+8AkR2ZxVXZoB7tpxcJVgiN1hnN00loVBRsUwFJBgm7YBDQTCQBCbMYDC1s6RAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P4wykmrZULUnCnXHggIwyCOx3EOBDEwqcqwrlAYwmEYB1bapQIgdWIYgp5bEZAAADsAAAAAAAAAAAAK"}},"time_used":15,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.114.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:27.146Z","timestamp":1785123387146,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"OPTIONS /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.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\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type,x-goog-api-key\r\nReferer: https://www.youtube.com/\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: https://www.youtube.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-api-key\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 03:36:27 GMT\r\ncontent-type: text/html\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":555,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-31T13:42:13.00563Z","times_seen":17635411,"resource_available":true,"data":""}},"time_used":44,"timings":{"blocked":0,"dns":0,"connect":8,"send":0,"wait":17,"receive":0,"ssl":19},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/font-awesome-animation.min.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.303Z","timestamp":1785123385303,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/font-awesome-animation.min.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/css/style-main.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"47fc-65fd8520-3c1185daf514ad74;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1811\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":18428,"size_decoded":2251,"mime_type":"text/css","magic":"ASCII text, with very long lines (18317)","md5":"81b0780cd8d0d4ecfa9fc48c00ebb328","sha1":"9a15d117b356ae093f1f496451a43e96d886e4cb","sha256":"d097082e832b33bd84f81e1950819d5812c6ec311a970272537e8465982f9ad2","sha512":"55e4d1f0a6c516856b1336bfc0fb0ca86a81e5aec9ab12220a0cc37adc0d7d10f8c36b4fb2bb4866c1df7ed11b67a2b43241a04314418e31869e1cb93f94e686","ssdeep":"384:6TCXXcG/ZacYU5vXGHGh6h10+oVaooThCHh:7XXc2acYWvth6h10voA","tlshash":"1a82e7970d921966512f0e6687cd0e744b3dc6a386720dfe7366340b8742badb3ae713","first_seen":"2023-04-07T09:30:33Z","last_seen":"2026-07-27T12:40:24.598112Z","times_seen":562,"resource_available":false,"data":"LyohCiAqIGZvbnQtYXdlc29tZS1hbmltYXRpb24gLSB2MC4wLjgKICogaHR0cHM6Ly9naXRodWIuY29tL2wtbGluL2ZvbnQtYXdlc29tZS1hbmltYXRpb24KICogTGljZW5zZTogTUlUCiAqLwoKQC13ZWJraXQta2V5ZnJhbWVzIHdyZW5jaHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMmRlZyl9OCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEyZGVnKX0xMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI0ZGVnKX0xOCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKX0yOCUsMzAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyl9MzglLDQwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0yNGRlZyl9NDglLDUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjRkZWcpfTU4JSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0yNGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpfTY4JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjRkZWcpfTEwMCUsNzUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHdyZW5jaHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMTJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKX04JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTJkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEyZGVnKX0xMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI0ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyl9MTglLDIwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKX0yOCUsMzAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjRkZWcpfTM4JSw0MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0yNGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0yNGRlZyl9NDglLDUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI0ZGVnKX01OCUsNjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC0yNGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpfTY4JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI0ZGVnKX0xMDAlLDc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX19LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS13cmVuY2gsLmZhYS13cmVuY2guYW5pbWF0ZWQsLmZhYS13cmVuY2guYW5pbWF0ZWQtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246d3JlbmNoIDIuNXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246d3JlbmNoIDIuNXMgZWFzZSBpbmZpbml0ZTt0cmFuc2Zvcm0tb3JpZ2luLXg6OTAlO3RyYW5zZm9ybS1vcmlnaW4teTozNSU7dHJhbnNmb3JtLW9yaWdpbi16OmluaXRpYWx9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS13cmVuY2guZmFhLWZhc3QsLmZhYS13cmVuY2guYW5pbWF0ZWQtaG92ZXIuZmFhLWZhc3Q6aG92ZXIsLmZhYS13cmVuY2guYW5pbWF0ZWQuZmFhLWZhc3R7LXdlYmtpdC1hbmltYXRpb246d3JlbmNoIDEuMnMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246d3JlbmNoIDEuMnMgZWFzZSBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXdyZW5jaC5mYWEtc2xvdywuZmFhLXdyZW5jaC5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLXdyZW5jaC5hbmltYXRlZC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjp3cmVuY2ggMy43cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjp3cmVuY2ggMy43cyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyByaW5nezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE1ZGVnKX0yJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTVkZWcpfTQley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE4ZGVnKX02JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMThkZWcpfTgley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMjJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTIyZGVnKX0xMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDIyZGVnKTt0cmFuc2Zvcm06cm90YXRlKDIyZGVnKX0xMiV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xOGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpfTE0JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMThkZWcpfTE2JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMmRlZyl9MTgley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyl9MTAwJSwyMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fUBrZXlmcmFtZXMgcmluZ3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTE1ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE1ZGVnKX0yJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE1ZGVnKX00JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTE4ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE4ZGVnKX02JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMThkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4ZGVnKX04JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTIyZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMjJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTIyZGVnKX0xMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDIyZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyMmRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyMmRlZyl9MTIley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC0xOGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpfTE0JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMThkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4ZGVnKX0xNiV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMmRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMmRlZyl9MTgley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMTJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTJkZWcpfTEwMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXJpbmcsLmZhYS1yaW5nLmFuaW1hdGVkLC5mYWEtcmluZy5hbmltYXRlZC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpyaW5nIDJzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOnJpbmcgMnMgZWFzZSBpbmZpbml0ZTt0cmFuc2Zvcm0tb3JpZ2luLXg6NTAlO3RyYW5zZm9ybS1vcmlnaW4teTowO3RyYW5zZm9ybS1vcmlnaW4tejppbml0aWFsfS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtcmluZy5mYWEtZmFzdCwuZmFhLXJpbmcuYW5pbWF0ZWQtaG92ZXIuZmFhLWZhc3Q6aG92ZXIsLmZhYS1yaW5nLmFuaW1hdGVkLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOnJpbmcgMXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246cmluZyAxcyBlYXNlIGluZmluaXRlfS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtcmluZy5mYWEtc2xvdywuZmFhLXJpbmcuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS1yaW5nLmFuaW1hdGVkLmZhYS1zbG93ey13ZWJraXQtYW5pbWF0aW9uOnJpbmcgM3MgZWFzZSBpbmZpbml0ZTthbmltYXRpb246cmluZyAzcyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyB2ZXJ0aWNhbHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCl9NCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KX04JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCl9MTIley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCl9MTYley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0zcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KX0xMDAlLDIyJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fUBrZXlmcmFtZXMgdmVydGljYWx7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCl9NCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCl9OCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCl9MTIley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwzcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwzcHgpfTE2JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0zcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCl9MTAwJSwyMiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtdmVydGljYWwsLmZhYS12ZXJ0aWNhbC5hbmltYXRlZCwuZmFhLXZlcnRpY2FsLmFuaW1hdGVkLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOnZlcnRpY2FsIDJzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOnZlcnRpY2FsIDJzIGVhc2UgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS12ZXJ0aWNhbC5mYWEtZmFzdCwuZmFhLXZlcnRpY2FsLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtdmVydGljYWwuYW5pbWF0ZWQuZmFhLWZhc3R7LXdlYmtpdC1hbmltYXRpb246dmVydGljYWwgMXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246dmVydGljYWwgMXMgZWFzZSBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXZlcnRpY2FsLmZhYS1zbG93LC5mYWEtdmVydGljYWwuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS12ZXJ0aWNhbC5hbmltYXRlZC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjp2ZXJ0aWNhbCA0cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjp2ZXJ0aWNhbCA0cyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBob3Jpem9udGFsezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX02JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApfTEyJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9MTgley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCl9MjQley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKX0xMDAlLDM2JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fUBrZXlmcmFtZXMgaG9yaXpvbnRhbHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX02JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKX0xMiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9MTgley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApfTI0JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCl9MTAwJSwzNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fS5mYWEtaG9yaXpvbnRhbC5hbmltYXRlZCwuZmFhLWhvcml6b250YWwuYW5pbWF0ZWQtaG92ZXI6aG92ZXIsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1ob3Jpem9udGFsey13ZWJraXQtYW5pbWF0aW9uOmhvcml6b250YWwgMnMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246aG9yaXpvbnRhbCAycyBlYXNlIGluZmluaXRlfS5mYWEtaG9yaXpvbnRhbC5hbmltYXRlZC1ob3Zlci5mYWEtZmFzdDpob3ZlciwuZmFhLWhvcml6b250YWwuYW5pbWF0ZWQuZmFhLWZhc3QsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1ob3Jpem9udGFsLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOmhvcml6b250YWwgMXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246aG9yaXpvbnRhbCAxcyBlYXNlIGluZmluaXRlfS5mYWEtaG9yaXpvbnRhbC5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLWhvcml6b250YWwuYW5pbWF0ZWQuZmFhLXNsb3csLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1ob3Jpem9udGFsLmZhYS1zbG93ey13ZWJraXQtYW5pbWF0aW9uOmhvcml6b250YWwgM3MgZWFzZSBpbmZpbml0ZTthbmltYXRpb246aG9yaXpvbnRhbCAzcyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBmbGFzaHswJSwxMDAlLDUwJXtvcGFjaXR5OjF9MjUlLDc1JXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmxhc2h7MCUsMTAwJSw1MCV7b3BhY2l0eToxfTI1JSw3NSV7b3BhY2l0eTowfX0uZmFhLWZsYXNoLmFuaW1hdGVkLC5mYWEtZmxhc2guYW5pbWF0ZWQtaG92ZXI6aG92ZXIsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1mbGFzaHstd2Via2l0LWFuaW1hdGlvbjpmbGFzaCAycyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjpmbGFzaCAycyBlYXNlIGluZmluaXRlfS5mYWEtZmxhc2guYW5pbWF0ZWQtaG92ZXIuZmFhLWZhc3Q6aG92ZXIsLmZhYS1mbGFzaC5hbmltYXRlZC5mYWEtZmFzdCwuZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLWZsYXNoLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOmZsYXNoIDFzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOmZsYXNoIDFzIGVhc2UgaW5maW5pdGV9LmZhYS1mbGFzaC5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLWZsYXNoLmFuaW1hdGVkLmZhYS1zbG93LC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtZmxhc2guZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246Zmxhc2ggM3MgZWFzZSBpbmZpbml0ZTthbmltYXRpb246Zmxhc2ggM3MgZWFzZSBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlezAlLDEwJSwxMDAlLDIwJSw1MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NDAlLDYwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9fUBrZXlmcmFtZXMgYm91bmNlezAlLDEwJSwxMDAlLDIwJSw1MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTQwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9fS5mYWEtYm91bmNlLmFuaW1hdGVkLC5mYWEtYm91bmNlLmFuaW1hdGVkLWhvdmVyOmhvdmVyLC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtYm91bmNley13ZWJraXQtYW5pbWF0aW9uOmJvdW5jZSAycyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjpib3VuY2UgMnMgZWFzZSBpbmZpbml0ZX0uZmFhLWJvdW5jZS5hbmltYXRlZC1ob3Zlci5mYWEtZmFzdDpob3ZlciwuZmFhLWJvdW5jZS5hbmltYXRlZC5mYWEtZmFzdCwuZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLWJvdW5jZS5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpib3VuY2UgMXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246Ym91bmNlIDFzIGVhc2UgaW5maW5pdGV9LmZhYS1ib3VuY2UuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS1ib3VuY2UuYW5pbWF0ZWQuZmFhLXNsb3csLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1ib3VuY2UuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246Ym91bmNlIDNzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOmJvdW5jZSAzcyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBzcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX1Aa2V5ZnJhbWVzIHNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1zcGluLC5mYWEtc3Bpbi5hbmltYXRlZCwuZmFhLXNwaW4uYW5pbWF0ZWQtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246c3BpbiAxLjVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246c3BpbiAxLjVzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXNwaW4uZmFhLWZhc3QsLmZhYS1zcGluLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtc3Bpbi5hbmltYXRlZC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpzcGluIC43cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnNwaW4gLjdzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXNwaW4uZmFhLXNsb3csLmZhYS1zcGluLmFuaW1hdGVkLWhvdmVyLmZhYS1zbG93OmhvdmVyLC5mYWEtc3Bpbi5hbmltYXRlZC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjpzcGluIDIuMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpzcGluIDIuMnMgbGluZWFyIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBmbG9hdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBmbG9hdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmZhYS1mbG9hdC5hbmltYXRlZCwuZmFhLWZsb2F0LmFuaW1hdGVkLWhvdmVyOmhvdmVyLC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtZmxvYXR7LXdlYmtpdC1hbmltYXRpb246ZmxvYXQgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpmbG9hdCAycyBsaW5lYXIgaW5maW5pdGV9LmZhYS1mbG9hdC5hbmltYXRlZC1ob3Zlci5mYWEtZmFzdDpob3ZlciwuZmFhLWZsb2F0LmFuaW1hdGVkLmZhYS1mYXN0LC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtZmxvYXQuZmFhLWZhc3R7LXdlYmtpdC1hbmltYXRpb246ZmxvYXQgMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpmbG9hdCAxcyBsaW5lYXIgaW5maW5pdGV9LmZhYS1mbG9hdC5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLWZsb2F0LmFuaW1hdGVkLmZhYS1zbG93LC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtZmxvYXQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246ZmxvYXQgM3MgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpmbG9hdCAzcyBsaW5lYXIgaW5maW5pdGV9QC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOCk7dHJhbnNmb3JtOnNjYWxlKDAuOCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX1Aa2V5ZnJhbWVzIHB1bHNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjgpOy1tcy10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXB1bHNlLC5mYWEtcHVsc2UuYW5pbWF0ZWQsLmZhYS1wdWxzZS5hbmltYXRlZC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpwdWxzZSAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnB1bHNlIDJzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXB1bHNlLmZhYS1mYXN0LC5mYWEtcHVsc2UuYW5pbWF0ZWQtaG92ZXIuZmFhLWZhc3Q6aG92ZXIsLmZhYS1wdWxzZS5hbmltYXRlZC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpwdWxzZSAxcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnB1bHNlIDFzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXB1bHNlLmZhYS1zbG93LC5mYWEtcHVsc2UuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS1wdWxzZS5hbmltYXRlZC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjpwdWxzZSAzcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnB1bHNlIDNzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXNoYWtlLC5mYWEtc2hha2UuYW5pbWF0ZWQsLmZhYS1zaGFrZS5hbmltYXRlZC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjp3cmVuY2ggMi41cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjp3cmVuY2ggMi41cyBlYXNlIGluZmluaXRlfS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtc2hha2UuZmFhLWZhc3QsLmZhYS1zaGFrZS5hbmltYXRlZC1ob3Zlci5mYWEtZmFzdDpob3ZlciwuZmFhLXNoYWtlLmFuaW1hdGVkLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOndyZW5jaCAxLjJzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOndyZW5jaCAxLjJzIGVhc2UgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1zaGFrZS5mYWEtc2xvdywuZmFhLXNoYWtlLmFuaW1hdGVkLWhvdmVyLmZhYS1zbG93OmhvdmVyLC5mYWEtc2hha2UuYW5pbWF0ZWQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246d3JlbmNoIDMuN3MgZWFzZSBpbmZpbml0ZTthbmltYXRpb246d3JlbmNoIDMuN3MgZWFzZSBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9MTAlLDIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOSkgcm90YXRlKC04ZGVnKTt0cmFuc2Zvcm06c2NhbGUoLjkpIHJvdGF0ZSgtOGRlZyl9MzAlLDUwJSw3MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoOGRlZyk7dHJhbnNmb3JtOnNjYWxlKDEuMykgcm90YXRlKDhkZWcpfTQwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoLThkZWcpO3RyYW5zZm9ybTpzY2FsZSgxLjMpIHJvdGF0ZSgtOGRlZyl9MTAwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApO3RyYW5zZm9ybTpzY2FsZSgxKSByb3RhdGUoMCl9fUBrZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0xMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45KSByb3RhdGUoLThkZWcpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjkpIHJvdGF0ZSgtOGRlZyk7dHJhbnNmb3JtOnNjYWxlKC45KSByb3RhdGUoLThkZWcpfTMwJSw1MCUsNzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMykgcm90YXRlKDhkZWcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoOGRlZyk7dHJhbnNmb3JtOnNjYWxlKDEuMykgcm90YXRlKDhkZWcpfTQwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoLThkZWcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoLThkZWcpO3RyYW5zZm9ybTpzY2FsZSgxLjMpIHJvdGF0ZSgtOGRlZyl9MTAwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApOy1tcy10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApO3RyYW5zZm9ybTpzY2FsZSgxKSByb3RhdGUoMCl9fS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtdGFkYSwuZmFhLXRhZGEuYW5pbWF0ZWQsLmZhYS10YWRhLmFuaW1hdGVkLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOnRhZGEgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp0YWRhIDJzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXRhZGEuZmFhLWZhc3QsLmZhYS10YWRhLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtdGFkYS5hbmltYXRlZC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjp0YWRhIDFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246dGFkYSAxcyBsaW5lYXIgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS10YWRhLmZhYS1zbG93LC5mYWEtdGFkYS5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLXRhZGEuYW5pbWF0ZWQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246dGFkYSAzcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnRhZGEgM3MgbGluZWFyIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7b3BhY2l0eTowfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBhc3Npbmd7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7b3BhY2l0eTowfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKTtvcGFjaXR5OjB9fS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtcGFzc2luZywuZmFhLXBhc3NpbmcuYW5pbWF0ZWQsLmZhYS1wYXNzaW5nLmFuaW1hdGVkLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOnBhc3NpbmcgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpwYXNzaW5nIDJzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXBhc3NpbmcuZmFhLWZhc3QsLmZhYS1wYXNzaW5nLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtcGFzc2luZy5hbmltYXRlZC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpwYXNzaW5nIDFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cGFzc2luZyAxcyBsaW5lYXIgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1wYXNzaW5nLmZhYS1zbG93LC5mYWEtcGFzc2luZy5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLXBhc3NpbmcuYW5pbWF0ZWQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246cGFzc2luZyAzcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnBhc3NpbmcgM3MgbGluZWFyIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nLXJldmVyc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7b3BhY2l0eTowfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcGFzc2luZy1yZXZlcnNlezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO29wYWNpdHk6MH01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7b3BhY2l0eTowfX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXBhc3NpbmctcmV2ZXJzZSwuZmFhLXBhc3NpbmctcmV2ZXJzZS5hbmltYXRlZCwuZmFhLXBhc3NpbmctcmV2ZXJzZS5hbmltYXRlZC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpwYXNzaW5nLXJldmVyc2UgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpwYXNzaW5nLXJldmVyc2UgMnMgbGluZWFyIGluZmluaXRlfS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtcGFzc2luZy1yZXZlcnNlLmZhYS1mYXN0LC5mYWEtcGFzc2luZy1yZXZlcnNlLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtcGFzc2luZy1yZXZlcnNlLmFuaW1hdGVkLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOnBhc3NpbmctcmV2ZXJzZSAxcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnBhc3NpbmctcmV2ZXJzZSAxcyBsaW5lYXIgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1wYXNzaW5nLXJldmVyc2UuZmFhLXNsb3csLmZhYS1wYXNzaW5nLXJldmVyc2UuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS1wYXNzaW5nLXJldmVyc2UuYW5pbWF0ZWQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246cGFzc2luZy1yZXZlcnNlIDNzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cGFzc2luZy1yZXZlcnNlIDNzIGxpbmVhciBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgYnVyc3R7MCV7b3BhY2l0eTouNn01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS44KTt0cmFuc2Zvcm06c2NhbGUoMS44KTtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYnVyc3R7MCV7b3BhY2l0eTouNn01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuOCk7dHJhbnNmb3JtOnNjYWxlKDEuOCk7b3BhY2l0eTowfTEwMCV7b3BhY2l0eTowfX0uZmFhLWJ1cnN0LmFuaW1hdGVkLC5mYWEtYnVyc3QuYW5pbWF0ZWQtaG92ZXI6aG92ZXIsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1idXJzdHstd2Via2l0LWFuaW1hdGlvbjpidXJzdCAycyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmJ1cnN0IDJzIGluZmluaXRlIGxpbmVhcn0uZmFhLWJ1cnN0LmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtYnVyc3QuYW5pbWF0ZWQuZmFhLWZhc3QsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1idXJzdC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpidXJzdCAxcyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmJ1cnN0IDFzIGluZmluaXRlIGxpbmVhcn0uZmFhLWJ1cnN0LmFuaW1hdGVkLWhvdmVyLmZhYS1zbG93OmhvdmVyLC5mYWEtYnVyc3QuYW5pbWF0ZWQuZmFhLXNsb3csLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1idXJzdC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjpidXJzdCAzcyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmJ1cnN0IDNzIGluZmluaXRlIGxpbmVhcn0="}},"time_used":101,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":101,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.886Z","timestamp":1785123385886,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1161431244.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:49 GMT","end":"Wed, 02 Sep 2026 14:34:48 GMT"},"fingerprint":{"sha1":"77:06:42:CE:73:9F:CA:05:A3:6E:99:99:F2:3F:B7:EE:E4:60:E9:29","sha256":"E7:6E:68:C5:CD:6C:F6:14:84:A0:18:1A:D7:94:77:7A:28:F6:67:8E:90:58:94:AE:3A:65:6A:B7:95:0F:5D:1B"}}},"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.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://alpha-achieveer.co/\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\ndate: Mon, 27 Jul 2026 03:36:29 GMT\r\ncontent-type: application/javascript\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a2663cd-4668\"\r\nexpires: Mon, 08 Jun 2026 06:46:12 GMT\r\nlast-modified: Mon, 08 Jun 2026 06:40:13 GMT\r\nx-77-nzt: k+51ysk2EyrMAvuuAXUEOfIxyEobZ5L4OOjiobe7DIYk9XhSIz0aZ/ZJwjTeuX9YaMlpwYM\r\nx-77-nzt-ray: e2f75420711ec01a3dd2666a1182d90d\r\nx-77-cache: HIT\r\nx-77-age: 22\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6042,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-07-31T12:31:34.737726Z","times_seen":7860,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbG9hZGVyLnRlbXBsYXRlLmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciB0PXs3MTUodCl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDEwIikmJih0PSEwKTt2YXIgZSxuPVtdLHI9Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQsbz10P3IuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik6ci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwsaT0iRE9NQ29udGVudExvYWRlZCIscz1yJiYobz8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KHIucmVhZHlTdGF0ZSk7cmV0dXJuIXMmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcihpLGU9ZnVuY3Rpb24oKXtmb3Ioci5yZW1vdmVFdmVudExpc3RlbmVyKGksZSkscz0xO2U9bi5zaGlmdCgpOyllKCl9KSxmdW5jdGlvbih0KXtzP3NldFRpbWVvdXQodCwwKTpuLnB1c2godCl9fSgpfSw3NjEodCxlLG4peyJ1c2Ugc3RyaWN0Ijtjb25zdCByPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUucmVqZWN0KG4pfSl9KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHRoaXMoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcih0eXBlb2YgdCsiICIrdCsiIGlzIG5vdCBpdGVyYWJsZShjYW5ub3QgcmVhZCBwcm9wZXJ0eSBTeW1ib2woU3ltYm9sLml0ZXJhdG9yKSkiKSk7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7aWYoMD09PXIubGVuZ3RoKXJldHVybiBlKFtdKTt2YXIgbz1yLmxlbmd0aDtmdW5jdGlvbiBpKHQsbil7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgcz1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKG4sZnVuY3Rpb24oZSl7aSh0LGUpfSxmdW5jdGlvbihuKXtyW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246bn0sMD09PS0tbyYmZShyKX0pfXJbdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpufSwwPT09LS1vJiZlKHIpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWkocyxyW3NdKX0pfTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5uYW1lPSJBZ2dyZWdhdGVFcnJvciIsdGhpcy5lcnJvcnM9dCx0aGlzLm1lc3NhZ2U9ZXx8IiJ9aS5wcm90b3R5cGU9RXJyb3IucHJvdG90eXBlO2NvbnN0IHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IGUoZnVuY3Rpb24obixyKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIHIobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbnkgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIHIoKTtmb3IodmFyIHM9W10sYT0wO2E8by5sZW5ndGg7YSsrKXRyeXtlLnJlc29sdmUob1thXSkudGhlbihuKS5jYXRjaChmdW5jdGlvbih0KXtzLnB1c2godCkscy5sZW5ndGg9PT1vLmxlbmd0aCYmcihuZXcgaShzLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKX0pfWNhdGNoKHQpe3IodCl9fSl9O3ZhciBhPXNldFRpbWVvdXQ7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gQm9vbGVhbih0JiZ2b2lkIDAhPT10Lmxlbmd0aCl9ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBsKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLl9kZWZlcnJlZHM9W10sdyh0LHRoaXMpfWZ1bmN0aW9uIHAodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAsbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgbj0xPT09dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciByO3RyeXtyPW4odC5fdmFsdWUpfWNhdGNoKHQpe3JldHVybiB2b2lkIGQoZS5wcm9taXNlLHQpfWYoZS5wcm9taXNlLHIpfWVsc2UoMT09PXQuX3N0YXRlP2Y6ZCkoZS5wcm9taXNlLHQuX3ZhbHVlKX0pKTp0Ll9kZWZlcnJlZHMucHVzaChlKX1mdW5jdGlvbiBmKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGwpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGgodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgdygocj1uLG89ZSxmdW5jdGlvbigpe3IuYXBwbHkobyxhcmd1bWVudHMpfSksdCl9dC5fc3RhdGU9MSx0Ll92YWx1ZT1lLGgodCl9Y2F0Y2goZSl7ZCh0LGUpfXZhciByLG99ZnVuY3Rpb24gZCh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxoKHQpfWZ1bmN0aW9uIGgodCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxsLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylwKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiB5KHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHcodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxmKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxkKGUsdCkpfSl9Y2F0Y2godCl7aWYobilyZXR1cm47bj0hMCxkKGUsdCl9fWwucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4obnVsbCx0KX0sbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBwKHRoaXMsbmV3IHkodCxlLG4pKSxufSxsLnByb3RvdHlwZS5maW5hbGx5PXIsbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKGUsbil7aWYoIWModCkpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09ci5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPXIubGVuZ3RoO2Z1bmN0aW9uIGkodCxzKXt0cnl7aWYocyYmKCJvYmplY3QiPT10eXBlb2Ygc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMpKXt2YXIgYT1zLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKHMsZnVuY3Rpb24oZSl7aSh0LGUpfSxuKX1yW3RdPXMsMD09PS0tbyYmZShyKX1jYXRjaCh0KXtuKHQpfX1mb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylpKHMscltzXSl9KX0sbC5hbnk9cyxsLmFsbFNldHRsZWQ9byxsLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWw/dDpuZXcgbChmdW5jdGlvbihlKXtlKHQpfSl9LGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe24odCl9KX0sbC5yYWNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe2lmKCFjKHQpKXJldHVybiBuKG5ldyBUeXBlRXJyb3IoIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5IikpO2Zvcih2YXIgcj0wLG89dC5sZW5ndGg7cjxvO3IrKylsLnJlc29sdmUodFtyXSkudGhlbihlLG4pfSl9LGwuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKHQpe3NldEltbWVkaWF0ZSh0KX18fGZ1bmN0aW9uKHQpe2EodCwwKX0sbC5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLHQpfTtjb25zdCB2PWw7dmFyIGc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpOyJmdW5jdGlvbiIhPXR5cGVvZiBnLlByb21pc2U/Zy5Qcm9taXNlPXY6KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1yKSxnLlByb21pc2UuYWxsU2V0dGxlZHx8KGcuUHJvbWlzZS5hbGxTZXR0bGVkPW8pLGcuUHJvbWlzZS5hbnl8fChnLlByb21pc2UuYW55PXMpKX0sMzQ1KHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuU21hcnRzdXBwTG9hZGVyPXZvaWQgMDt2YXIgcj1uKDc0MCksbz1uKDg5MyksaT1uKDEzMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5vcHRpb25zPXQsdGhpcy53aWRnZXRzPXt9LHRoaXMuY2hhdHM9dGhpcy53aWRnZXRzfXJldHVybiB0LnByb3RvdHlwZS5zZXREZWZhdWx0cz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpc30sdC5wcm90b3R5cGUuZ2V0Q2hhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53aWRnZXRzW3RdfSx0LnByb3RvdHlwZS5nZXRXaWRnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud2lkZ2V0c1t0XX0sdC5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSxuLHMpe3ZhciBjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7YShjKTt2YXIgdT10aGlzLndpZGdldHNbdF09bmV3IGkuU21hcnRzdXBwV2lkZ2V0KHQsYyxuKTtyZXR1cm4gdS5faW5pdFByb21pc2U9KDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPSgwLG8ucGFyc2VKU09OKSh0KTtyZXR1cm4gZGVsZXRlIGUuZmVhdHVyZXMsdS5pbml0KCgwLG8ubWVyZ2VEZWVwKShuLGUpLG4uZmVhdHVyZXMpLGUmJmUud2lkZ2V0VHJhY2tlckVuYWJsZWQmJigwLHIudHJhY2tPcHRpb25zKSh1Lm9wdGlvbnMsT2JqZWN0LmtleXMoZSkpLHdpbmRvdy5zbWFydHN1cHAuZ2V0QXNzZXRVcmw9dS5nZXRBc3NldFVybC5iaW5kKHUpLHMmJnModm9pZCAwLHUpLHUub3B0aW9ucy5yZW5kZXJUbyYmdS5yZW5kZXIodS5vcHRpb25zLnJlbmRlclRvKSxudWxsfSkuY2F0Y2goZnVuY3Rpb24odCl7cyYmcyh0KX0pLHV9LHQucHJvdG90eXBlLmNyZWF0ZVdpZGdldD1mdW5jdGlvbih0LGUsbil7dmFyIHM9dGhpcyxjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7cmV0dXJuIGEoYyksKDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciB1PSgwLG8ucGFyc2VKU09OKShhKSxsPXMud2lkZ2V0c1t0XT1uZXcgaS5TbWFydHN1cHBXaWRnZXQodCxjLG4pO3JldHVybiBkZWxldGUgZS5mZWF0dXJlcyxsLmluaXQoKDAsby5tZXJnZURlZXApKHUsZSksdS5mZWF0dXJlcyksZSYmZS53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsci50cmFja09wdGlvbnMpKGwub3B0aW9ucyxPYmplY3Qua2V5cyhlKSksd2luZG93LnNtYXJ0c3VwcC5nZXRBc3NldFVybD1sLmdldEFzc2V0VXJsLmJpbmQobCksbH0pfSx0fSgpO2UuU21hcnRzdXBwTG9hZGVyPXM7dmFyIGE9ZnVuY3Rpb24odCl7aWYoIXQuYm9vdHN0cmFwVXJsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24gYm9vdHN0cmFwVXJsIik7aWYoIXQua2V5KXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24ga2V5Iil9fSw3NDAodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKHQpe3RyeXtjKHIubmV4dCh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7YyhyLnRocm93KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBjKHQpe3ZhciBlO3QuZG9uZT9vKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSkpLnRoZW4ocyxhKX1jKChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2kmJihpPTAsYVswXSYmKHM9MCkpLHM7KXRyeXtpZihuPTEsciYmKG89MiZhWzBdP3IucmV0dXJuOmFbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixhWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihhPVsyJmFbMF0sby52YWx1ZV0pLGFbMF0pe2Nhc2UgMDpjYXNlIDE6bz1hO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTphWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1hWzFdLGE9WzBdO2NvbnRpbnVlO2Nhc2UgNzphPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1hWzBdJiYyIT09YVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09YVswXSYmKCFvfHxhWzFdPm9bMF0mJmFbMV08b1szXSkpe3MubGFiZWw9YVsxXTticmVha31pZig2PT09YVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1hO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goYSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWE9ZS5jYWxsKHQscyl9Y2F0Y2godCl7YT1bNix0XSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmFbMF0pdGhyb3cgYVsxXTtyZXR1cm57dmFsdWU6YVswXT9hWzFdOnZvaWQgMCxkb25lOiEwfX0oW2EsY10pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnRyYWNrT3BlcmF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcyxmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fHMuaW5kZXhPZihlKT49MHx8YS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTApcmV0dXJuWzIsITFdO24ubGFiZWw9MTtjYXNlIDE6cmV0dXJuIG4udHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCwoMCxpLnJlcXVlc3QpKHQud2lkZ2V0VHJhY2tlclVybCsiL3RyYWNrL29wZXJhdGlvbj9rZXk9Ii5jb25jYXQodC5rZXksIiZvcGVyYXRpb249IikuY29uY2F0KGUsIiZkb21haW49IikuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFsyLCEwXTtjYXNlIDM6cmV0dXJuIG4uc2VudCgpLFsyLCExXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUudHJhY2tPcHRpb25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIG8odGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fGEuaW5kZXhPZih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpPj0wKXJldHVyblsyLCExXTtpZigwPT09KG49ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGMuaW5kZXhPZih0KTwwfSkpLmxlbmd0aClyZXR1cm5bMiwhMV07ci5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gci50cnlzLnB1c2goWzEsMywsNF0pLFs0LCgwLGkucmVxdWVzdCkodC53aWRnZXRUcmFja2VyVXJsKyIvdHJhY2svb3B0aW9ucz9rZXk9Ii5jb25jYXQodC5rZXksIiZvcHRpb25zPSIpLmNvbmNhdChuLmpvaW4oIiwiKSwiJmRvbWFpbj0iKS5jb25jYXQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSldO2Nhc2UgMjpyZXR1cm4gci5zZW50KCksWzIsITBdO2Nhc2UgMzpyZXR1cm4gci5zZW50KCksWzIsITFdO2Nhc2UgNDpyZXR1cm5bMl19fSl9KX07dmFyIGk9big4OTMpLHM9WyJodG1sOmFwcGx5IiwiY2hhdDptZXNzYWdlIiwib24iXSxhPVsid3d3LnNtYXJ0c3VwcC5jb20iLCJhcHAuc21hcnRzdXBwLmNvbSJdLGM9WyJrZXkiLCJnYU9wdGlvbnMiLCJnYU5hbWUiLCJjb29raWVQcmVmaXgiLCJjb29raWVQYXRoIiwiY3Jvc3NEb21haW5FbmFibGVkIiwicG9zaXRpb24iLCJvcGVuT25UcmlnZ2VyIl19LDg5Myh0LGUpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5wYXJzZUpTT049ZS5yZXF1ZXN0PWUuY3JlYXRlTGluaz1lLmNyZWF0ZVNjcmlwdD1lLnJlc29sdmVUYXJnZXRFbGVtZW50PWUubWVyZ2VEZWVwPXZvaWQgMDt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0fTtlLm1lcmdlRGVlcD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3JdPWFyZ3VtZW50c1tyXTt2YXIgbz17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9b1tyXSxzPXRbcl07dm9pZCAwIT09cyYmKEFycmF5LmlzQXJyYXkoaSl8fEFycmF5LmlzQXJyYXkocyk/b1tyXT1zOm4oaSkmJm4ocyk/b1tyXT0oMCxlLm1lcmdlRGVlcCkoaSxzKTpvW3JdPXMpfSl9KSxvfSxlLnJlc29sdmVUYXJnZXRFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD90OiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTpkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfSxlLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIG4udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLmNoYXJzZXQ9InV0ZjgiLGUmJihuLnNyYz1lKSxufSxlLmNyZWF0ZUxpbms9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyZXR1cm4gZSYmKG4uaHJlZj1lKSxufSxlLnJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWUucmVhZHlTdGF0ZSYmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMD9uKGUucmVzcG9uc2UpOnIobmV3IEVycm9yKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAiLmNvbmNhdChlLnN0YXR1cykpKSl9LGUub3BlbigiR0VUIix0LCEwKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW4iKSxlLnNlbmQoKX0pfSxlLnBhcnNlSlNPTj1mdW5jdGlvbih0KXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBhcnNlKHQpO2lmKEpTT04uZGVjb2RlKXJldHVybiBKU09OLmRlY29kZSh0KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBwYXJzZSBqc29uLiIpfX0sMTMwKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyh0KXt0cnl7YyhyLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2Moci50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pKS50aGVuKHMsYSl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpJiYoaT0wLGFbMF0mJihzPTApKSxzOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChvPShvPXMudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHMpfWNhdGNoKHQpe2E9WzYsdF0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBXaWRnZXQ9dm9pZCAwO3ZhciBpPW4oNzQwKSxzPW4oODkzKSxhPXdpbmRvdyxjPSItYXBwbGljYXRpb24taWZyYW1lIix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7aWYodm9pZCAwPT09biYmKG49W10pLHRoaXMuaWQ9dCx0aGlzLm9wdGlvbnM9ZSx0aGlzLl9wdXNoQXBpPW4sdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmFwaT1udWxsLHRoaXMuZWw9bnVsbCx0aGlzLmZyYW1lPW51bGwsdGhpcy52ZXJzaW9uPTIsdGhpcy5pbml0aWFsaXplZD0hMSwhZS5ib290c3RyYXBVcmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBib290c3RyYXBVcmwiKTtpZighZS5rZXkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBrZXkiKX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLHMubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpcy5mZWF0dXJlcyYmKHRoaXMuZmVhdHVyZXMucmF0aW5nfHwodGhpcy5vcHRpb25zLnJhdGluZ0VuYWJsZWQ9ITEpLHRoaXMuZmVhdHVyZXMuZ3JvdXBzfHwodGhpcy5vcHRpb25zLmdyb3VwU2VsZWN0RW5hYmxlZD0hMSksdGhpcy5mZWF0dXJlcy5jdXN0b21pemV8fCh0aGlzLm9wdGlvbnMuaGlkZVdpZGdldD0hMSx0aGlzLm9wdGlvbnMuaGlkZU9mZmxpbmVDaGF0PSExLHRoaXMub3B0aW9ucy5udW1iZXJDb250cm9sPSExLHRoaXMub3B0aW9ucy5yZXF1aXJlTG9naW49ITEsdGhpcy5vcHRpb25zLnByaXZhY3lOb3RpY2VFbmFibGVkPSEwLHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj0icmlnaHQiKSx0aGlzLmZlYXR1cmVzLmdhfHwodGhpcy5vcHRpb25zLmdvb2dsZUFuYWx5dGljc0VuYWJsZWQ9ITEpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5mZWF0dXJlcz1lLHRoaXMuc2V0T3B0aW9ucyh0KSx0aGlzLmluaXRpYWxpemVkPSEwLCJhdXRvIj09PXRoaXMub3B0aW9ucy5wb3NpdGlvbiYmKHRoaXMub3B0aW9ucy5wb3NpdGlvbj10aGlzLm9wdGlvbnMucmVuZGVyVG8/InJlbGF0aXZlIjoiZml4ZWQiKX0sdC5wcm90b3R5cGUuY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC5pZD0iIi5jb25jYXQodGhpcy5pZCkuY29uY2F0KGMpLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNtYXJ0c3VwcCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdC5zdHlsZS50b3A9IjAiLHQuc3R5bGUubGVmdD0iMCIsdC5zdHlsZS53aWR0aD0iMXB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLm9wYWNpdHk9IjAiLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnpJbmRleD0iLTEiLHQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsdH0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBvKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5faW5pdFByb21pc2U/WzQsdGhpcy5faW5pdFByb21pc2VdOlszLDJdO2Nhc2UgMTpuLnNlbnQoKSxuLmxhYmVsPTI7Y2FzZSAyOmlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQrYykpcmV0dXJuWzJdO2lmKCF0aGlzLmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGluaXRpYWxpemUgd2lkZ2V0Iik7aWYoIShlPSgwLHMucmVzb2x2ZVRhcmdldEVsZW1lbnQpKHQpKSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCIpO3JldHVybiB0aGlzLnJlbmRlckZyYW1lKGUpLHRoaXMucmVuZGVyZWQ9ITAsWzJdfX0pfSl9LHQucHJvdG90eXBlLnJlbmRlckZyYW1lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmZyYW1lPXRoaXMuY3JlYXRlRnJhbWUoKTtuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIHQsaSxhPW51bGwhPT0odD1uLmNvbnRlbnREb2N1bWVudCkmJnZvaWQgMCE9PXQ/dDpudWxsPT09KGk9bi5jb250ZW50V2luZG93KXx8dm9pZCAwPT09aT92b2lkIDA6aS5kb2N1bWVudDtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIERvY3VtZW50Iik7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLHU9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3UuaWQ9ImJvZHkiLHUuZGF0YXNldC5zbWFydHN1cHBJZD1lLmlkLHUuaW5uZXJIVE1MPSc8ZGl2IGlkPSJhcHAiPjwvZGl2Pic7dmFyIGw9InNyYy9tYWluLnRzIixwPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlU2NyaXB0KShhLGUuZ2V0QmFzZVVybCgpKyIvIi5jb25jYXQodCkpO24udHlwZT0ibW9kdWxlIixjLmFwcGVuZENoaWxkKG4pfSxmPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlTGluaykoYSwiIi5jb25jYXQoZS5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCkpO24ucmVsPSJzdHlsZXNoZWV0IixuLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLGMuYXBwZW5kQ2hpbGQobil9O2Uub3B0aW9ucy53aWRnZXRWM0Rldk1vZGU/WyJAdml0ZS9jbGllbnQiLGxdLmZvckVhY2gocCk6cihlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbyh0aGlzLGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAscy5yZXF1ZXN0KSgiIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi9tYW5pZmVzdC5qc29uIikpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuKDAscy5wYXJzZUpTT04pKHQpfSldO2Nhc2UgMTpyZXR1cm4gdD1vLnNlbnQoKSxuPXRbbF0scChuLmZpbGUpLG51bGw9PT0ocj1uLmltcG9ydHMpfHx2b2lkIDA9PT1yfHxyLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHIsbztyPXRbbl0uZmlsZSwobz0oMCxzLmNyZWF0ZUxpbmspKGEsIiIuY29uY2F0KGUuZ2V0QmFzZVVybCgpLCIvIikuY29uY2F0KHIpKSkucmVsPSJtb2R1bGVwcmVsb2FkIixjLmFwcGVuZENoaWxkKG8pfSksbnVsbD09PShpPW4uY3NzKXx8dm9pZCAwPT09aXx8aS5mb3JFYWNoKGYpLGYodFsic3R5bGUuY3NzIl0uZmlsZSksWzJdfX0pfSl9KSx0LmFwcGVuZENoaWxkKG4pfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5lbCYmdGhpcy5lbC5wYXJlbnROb2RlJiYodGhpcy5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWwpLHRoaXMuZWw9bnVsbCl9LHQucHJvdG90eXBlLmdldE9wdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbdF0/ZTp0aGlzLm9wdGlvbnNbdF19LHQucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLndpZGdldFYzVXJsfSx0LnByb3RvdHlwZS5nZXRBc3NldFVybD1mdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCl9LHQucHJvdG90eXBlLmdldEludGVybmFsQXBpVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMub3B0aW9ucy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KHRoaXMub3B0aW9ucy5rZXksIi9jb2RlLmpzIil9LHQucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dGhpcy5fcHVzaEFwaS5wdXNoKHQpfSx0LnByb3RvdHlwZS5pbnN0YWxsQXBpPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodGhpcy5hcGk9dCxhLnNtYXJ0c3VwcC5hcGk9dCx0aGlzLl9wdXNoQXBpJiYodGhpcy5fcHVzaEFwaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4sMCk7dHJ5e2Uub3B0aW9ucy53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsaS50cmFja09wZXJhdGlvbikoZS5vcHRpb25zLHJbMF0pLHQuZXhlY3V0ZShyKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX19KSx0aGlzLl9wdXNoQXBpLnB1c2g9ZnVuY3Rpb24obil7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwKTt0cnl7ZS5vcHRpb25zLndpZGdldFRyYWNrZXJFbmFibGVkJiYoMCxpLnRyYWNrT3BlcmF0aW9uKShlLm9wdGlvbnMsclswXSksdC5leGVjdXRlKHIpfWNhdGNoKHQpe2NvbnNvbGUubG9nKHQpfX0pLHRoaXMub3B0aW9ucy5vblN0YXJ0dXApdHJ5e3RoaXMub3B0aW9ucy5vblN0YXJ0dXAodCl9Y2F0Y2godCl7Y29uc29sZS5sb2codCl9fSx0fSgpO2UuU21hcnRzdXBwV2lkZ2V0PXV9fSxlPXt9O2Z1bmN0aW9uIG4ocil7dmFyIG89ZVtyXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9ZVtyXT17ZXhwb3J0czp7fX07cmV0dXJuIHRbcl0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfW4uZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLCgoKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2MSk7dmFyIHQ9big3MTUpLGU9bigzNDUpLHI9ImNoYXQiO2lmKHdpbmRvdy5zbWFydHN1cHB8fCh3aW5kb3cuc21hcnRzdXBwPWZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcC5fLnB1c2goYXJndW1lbnRzKX0sd2luZG93LnNtYXJ0c3VwcC5fPVtdKSwhd2luZG93LlNNQVJUU1VQUF9MT0FERUQpe3dpbmRvdy5TTUFSVFNVUFBfTE9BREVEPSEwO3ZhciBvPW5ldyBlLlNtYXJ0c3VwcExvYWRlcih7d2lkZ2V0VmVyc2lvbjozLGJvb3RzdHJhcFVybDoiaHR0cHM6Ly9ib290c3RyYXAuc21hcnRzdXBwY2hhdC5jb20iLGZpbGVzVXJsOiJodHRwczovL2ZpbGVzLnNtYXJ0c3VwcGNkbi5jb20iLHdpZGdldFYzVXJsOiJodHRwczovL3dpZGdldC12My5zbWFydHN1cHBjZG4uY29tIixzdG9yYWdlVXJsOiJodHRwczovL3trZXl9LnN0b3JhZ2Uuc21hcnRzdXBwY2hhdC5jb20iLHdpZGdldEFwaVVybDoiaHR0cHM6Ly9hcGkuc21hcnRzdXBwY2hhdC5jb20iLHpJbmRleDoxZTcscG9zaXRpb246ImF1dG8iLG9yaWVudGF0aW9uOiJyaWdodCIsYXV0b0lubGluZU1vZGU6ITAsd2lkZ2V0VjNEZXZNb2RlOiExfSk7d2luZG93LiRzbWFydHN1cHA9byx3aW5kb3cuc21hcnRzdXBwPU9iamVjdC5hc3NpZ24od2luZG93LnNtYXJ0c3VwcCx7Y2hhdHM6by53aWRnZXRzLGNyZWF0ZTpvLmNyZWF0ZS5iaW5kKG8pLGNyZWF0ZVdpZGdldDpvLmNyZWF0ZVdpZGdldC5iaW5kKG8pLGdldENoYXQ6by5nZXRDaGF0LmJpbmQobyksZ2V0V2lkZ2V0Om8uZ2V0V2lkZ2V0LmJpbmQobyksc2V0RGVmYXVsdHM6by5zZXREZWZhdWx0cy5iaW5kKG8pfSksITEhPT13aW5kb3cuU01BUlRTVVBQX0FVVE9DUkVBVEUmJighMD09PXdpbmRvdy5TTUFSVFNVUFBfQkZDQUNIRSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9d2luZG93LnNtYXJ0c3VwcC5nZXRXaWRnZXQocikpfHx2b2lkIDA9PT10fHx0LnJlbmRlcigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIi5jb25jYXQociwiLWFwcGxpY2F0aW9uLWlmcmFtZSIpKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksbnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzbWFydHN1cHAtd2lkZ2V0LWNvbnRhaW5lciIpKXx8dm9pZCAwPT09ZXx8ZS5yZW1vdmUoKX0pKSx0KGZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcCgiaHRtbDphcHBseSIsZG9jdW1lbnQpLG8uY3JlYXRlV2lkZ2V0KHIsd2luZG93Ll9zbWFydHN1cHAsd2luZG93LnNtYXJ0c3VwcC5fKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbmRlcigpfSkuY2F0Y2goZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKHQpfSl9KSl9fSkoKX0pKCk7"}},"time_used":3350,"timings":{"blocked":-1,"dns":30,"connect":9,"send":0,"wait":8,"receive":0,"ssl":3303},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.615Z","timestamp":1785123386615,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg HTTP/1.1\r\nHost: www.gstatic.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://www.youtube.com/\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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\naccept-ranges: bytes\r\ncontent-encoding: br\r\naccess-control-allow-origin: https://www.youtube.com\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 272\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Jul 2026 10:01:47 GMT\r\nexpires: Tue, 20 Jul 2027 10:01:47 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 06 Sep 2023 03:18:00 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding, Origin\r\nage: 581679\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":478,"size_decoded":997,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"1e78ea4caa31c35bac97a41e5930ffe8","sha1":"dbf99131b9b5087e664b9fdc7097c97655474517","sha256":"6fa88a20839537ae66da730e5bd183035265176d972bc8df075b89da0c6186ea","sha512":"cf798ef67c90f90f23635beb202095a2c76052d491c224aa14535bb9b16f28fa9a850b8db887f158afd01d634aecb9e2b05a27efdfd225d3583e6297bdd78b43","ssdeep":"","tlshash":"2ef09e6d577829d8930f87c0be5974127d9f23e85194b3b541d4f9326138ee2d141cd9","first_seen":"2025-05-26T15:52:21.952281Z","last_seen":"2026-07-31T13:37:22.802668Z","times_seen":47650,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NyA2MCIgZmlsbD0iIj48cGF0aCBkPSJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0ZGRiIgY2xhc3M9ImxvZ28tYXJyb3ciIGQ9Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6Ij48L3BhdGg+PC9zdmc+Cg=="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:29.371Z","timestamp":1785123389371,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /manifest.json HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.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\nContent-Type: text/plain\r\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\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/2 200 \r\ndate: Mon, 27 Jul 2026 03:36:29 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a4cb803-891\"\r\nexpires: Tue, 07 Jul 2026 08:35:15 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k2D04RdPFOlOuUmQEvoYj4VUYU/kbd1KmnY15IsHDYQsZatHzN6ePnhI4SKA7aYgWoHxrX0\r\nx-77-nzt-ray: e2f75420b1f4b63a3dd2666abb0bae19\r\nx-77-cache: HIT\r\nx-77-age: 49\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":2193,"size_decoded":1034,"mime_type":"application/json","magic":"JSON text data","md5":"88bd6816d4679ef7a63e1e6b61490804","sha1":"a592c82f8688d81c4ff12ddda0f42d842dbcf079","sha256":"1147d96bffe9abe8aa663c63cca281edbff049e2211f810da089a1dd90051df8","sha512":"e583bebb86335657d7cca5065967a4e281280f0b4ab1fe0457de1dee47f12f84922daf5fe938c39bfb8f03e086d706f2b0fd1d86a6e79c4cce053f0943dcb762","ssdeep":"","tlshash":"d9414593c0b80e5317cc262bb89545515d5083c7e88a3d0d366d9a7f2f4cea920e6b7e","first_seen":"2026-07-07T11:50:17.724469Z","last_seen":"2026-07-27T07:27:47.909394Z","times_seen":1802,"resource_available":false,"data":"ewogICJfV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VySW5wdXQiLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIgogICAgXSwKICAgICJkeW5hbWljSW1wb3J0cyI6IFsKICAgICAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIgogICAgXQogIH0sCiAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICJuYW1lIjogIkljb25CdXR0b24iLAogICAgImR5bmFtaWNJbXBvcnRzIjogWwogICAgICAibm9kZV9tb2R1bGVzLy5wbnBtL0B0aHVtYm1hcmtqcyt0aHVtYm1hcmtqc0AxLjkuMC9ub2RlX21vZHVsZXMvQHRodW1ibWFya2pzL3RodW1ibWFya2pzL2Rpc3QvdGh1bWJtYXJrLmVzbS5qcyIKICAgIF0KICB9LAogICJub2RlX21vZHVsZXMvLnBucG0vQHRodW1ibWFya2pzK3RodW1ibWFya2pzQDEuOS4wL25vZGVfbW9kdWxlcy9AdGh1bWJtYXJranMvdGh1bWJtYXJranMvZGlzdC90aHVtYm1hcmsuZXNtLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL3RodW1ibWFyay5lc20tQ1A0Q1UweUwuanMiLAogICAgIm5hbWUiOiAidGh1bWJtYXJrLmVzbSIsCiAgICAic3JjIjogIm5vZGVfbW9kdWxlcy8ucG5wbS9AdGh1bWJtYXJranMrdGh1bWJtYXJranNAMS45LjAvbm9kZV9tb2R1bGVzL0B0aHVtYm1hcmtqcy90aHVtYm1hcmtqcy9kaXN0L3RodW1ibWFyay5lc20uanMiLAogICAgImlzRHluYW1pY0VudHJ5IjogdHJ1ZQogIH0sCiAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21vZHVsZS1ERDVudlZEMy5qcyIsCiAgICAibmFtZSI6ICJtb2R1bGUiLAogICAgInNyYyI6ICJub2RlX21vZHVsZXMvLnBucG0vZW1vamktbWFydEA1LjYuMC9ub2RlX21vZHVsZXMvZW1vamktbWFydC9kaXN0L21vZHVsZS5qcyIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlCiAgfSwKICAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VyIiwKICAgICJzcmMiOiAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICAgIl9XaWRnZXRNZXNzZW5nZXJJbnB1dC1DMFhIUHhldi5qcyIsCiAgICAgICJzcmMvbWFpbi50cyIKICAgIF0KICB9LAogICJzcmMvZnJhbWVzL3BvcHVwL1dpZGdldFBvcHVwLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRQb3B1cC1xZXV3a2NCbi5qcyIsCiAgICAibmFtZSI6ICJXaWRnZXRQb3B1cCIsCiAgICAic3JjIjogInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIiwKICAgICJpc0R5bmFtaWNFbnRyeSI6IHRydWUsCiAgICAiaW1wb3J0cyI6IFsKICAgICAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiLAogICAgICAiX1dpZGdldE1lc3NlbmdlcklucHV0LUMwWEhQeGV2LmpzIgogICAgXQogIH0sCiAgInNyYy9tYWluLnRzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21haW4tdDZXeExBQkEuanMiLAogICAgIm5hbWUiOiAibWFpbiIsCiAgICAic3JjIjogInNyYy9tYWluLnRzIiwKICAgICJpc0VudHJ5IjogdHJ1ZSwKICAgICJpbXBvcnRzIjogWwogICAgICAiX3NoYXJlZC1DZ01DQWZvci5qcyIKICAgIF0sCiAgICAiZHluYW1pY0ltcG9ydHMiOiBbCiAgICAgICJzcmMvZnJhbWVzL21lc3Nlbmdlci9XaWRnZXRNZXNzZW5nZXIuc3ZlbHRlIiwKICAgICAgInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIgogICAgXQogIH0sCiAgInN0eWxlLmNzcyI6IHsKICAgICJmaWxlIjogImFzc2V0cy9zdHlsZS1DbGlKd1VUUi5jc3MiLAogICAgInNyYyI6ICJzdHlsZS5jc3MiCiAgfQp9"}},"time_used":64,"timings":{"blocked":-1,"dns":32,"connect":8,"send":0,"wait":8,"receive":0,"ssl":16},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:29.451Z","timestamp":1785123389451,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/shared-CgMCAfor.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.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\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\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\ndate: Mon, 27 Jul 2026 03:36:29 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-42705\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: ky3xJhj9uItpFwWZFcpTW+PQHRRyf+V6+z3tIs9de4EFwun+cjoS54BOi9vu5AOA94dm8iw\r\nx-77-nzt-ray: e2f75420b1f4b63a3dd2666ad2040f1b\r\nx-77-cache: HIT\r\nx-77-age: 1710351\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":272133,"size_decoded":92592,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44710)","md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"resource_available":true,"data":"dmFyIGU9T2JqZWN0LmNyZWF0ZSx0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iscj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxpPU9iamVjdC5nZXRQcm90b3R5cGVPZixhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbz0oZSx0KT0+KCk9PihlJiYodD1lKGU9MCkpLHQpLHM9KGUsdCk9PigpPT4odHx8KGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLGU9bnVsbCksdC5leHBvcnRzKSxjPShlLG4pPT57bGV0IHI9e307Zm9yKHZhciBpIGluIGUpdChyLGkse2dldDplW2ldLGVudW1lcmFibGU6ITB9KTtyZXR1cm4gbnx8dChyLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6YE1vZHVsZWB9KSxyfSxsPShlLGksbyxzKT0+e2lmKGkmJnR5cGVvZiBpPT1gb2JqZWN0YHx8dHlwZW9mIGk9PWBmdW5jdGlvbmApZm9yKHZhciBjPXIoaSksbD0wLHU9Yy5sZW5ndGgsZDtsPHU7bCsrKWQ9Y1tsXSwhYS5jYWxsKGUsZCkmJmQhPT1vJiZ0KGUsZCx7Z2V0OihlPT5pW2VdKS5iaW5kKG51bGwsZCksZW51bWVyYWJsZTohKHM9bihpLGQpKXx8cy5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9LHU9KG4scixhKT0+KGE9bj09bnVsbD97fTplKGkobikpLGwocnx8IW58fCFuLl9fZXNNb2R1bGU/dChhLGBkZWZhdWx0YCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwfSk6YSxuKSksZD1lPT5hLmNhbGwoZSxgbW9kdWxlLmV4cG9ydHNgKT9lW2Btb2R1bGUuZXhwb3J0c2BdOmwodCh7fSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZSksZj1BcnJheS5pc0FycmF5LHA9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsbT1BcnJheS5wcm90b3R5cGUuaW5jbHVkZXMsaD1BcnJheS5mcm9tLGc9T2JqZWN0LmRlZmluZVByb3BlcnR5LF89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLHk9T2JqZWN0LnByb3RvdHlwZSxlZT1BcnJheS5wcm90b3R5cGUsYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsdGU9T2JqZWN0LmlzRXh0ZW5zaWJsZTtmdW5jdGlvbiBuZShlKXtyZXR1cm4gdHlwZW9mIGU9PWBmdW5jdGlvbmB9dmFyIHg9KCk9Pnt9O2Z1bmN0aW9uIHJlKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gaWUoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpfWZ1bmN0aW9uIGFlKCl7dmFyIGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgobixyKT0+e2U9bix0PXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fXZhciBvZT0xPDwyNCxzZT0xMDI0LGNlPTIwNDgsbGU9NDA5Nix1ZT04MTkyLGRlPTE2Mzg0LGZlPTMyNzY4LHBlPTE8PDI1LG1lPTY1NTM2LGhlPTE8PDE5LGdlPTE8PDIwLF9lPTE8PDI1LHZlPTY1NTM2LHllPTE8PDIxLGJlPTE8PDIyLHhlPTE8PDIzLFNlPVN5bWJvbChgJHN0YXRlYCksQ2U9U3ltYm9sKGBsZWdhY3kgcHJvcHNgKSx3ZT1TeW1ib2woYGApLFRlPW5ldyBjbGFzcyBleHRlbmRzIEVycm9ye25hbWU9YFN0YWxlUmVhY3Rpb25FcnJvcmA7bWVzc2FnZT0iVGhlIHJlYWN0aW9uIHRoYXQgY2FsbGVkIGBnZXRBYm9ydFNpZ25hbCgpYCB3YXMgcmUtcnVuIG9yIGRlc3Ryb3llZCJ9LEVlPSEhZ2xvYmFsVGhpcy5kb2N1bWVudD8uY29udGVudFR5cGUmJmdsb2JhbFRoaXMuZG9jdW1lbnQuY29udGVudFR5cGUuaW5jbHVkZXMoYHhtbGApO2Z1bmN0aW9uIERlKGUpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9saWZlY3ljbGVfb3V0c2lkZV9jb21wb25lbnRgKX1mdW5jdGlvbiBPZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9hc3luY19kZXJpdmVkX29ycGhhbmApfWZ1bmN0aW9uIGtlKGUsdCxuKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWFjaF9rZXlfZHVwbGljYXRlYCl9ZnVuY3Rpb24gQWUoZSl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl90ZWFyZG93bmApfWZ1bmN0aW9uIGplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl91bm93bmVkX2Rlcml2ZWRgKX1mdW5jdGlvbiBNZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWZmZWN0X29ycGhhbmApfWZ1bmN0aW9uIE5lKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF91cGRhdGVfZGVwdGhfZXhjZWVkZWRgKX1mdW5jdGlvbiBQZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvcHJvcHNfaW52YWxpZF92YWx1ZWApfWZ1bmN0aW9uIEZlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3NldF9jb250ZXh0X2FmdGVyX2luaXRgKX1mdW5jdGlvbiBJZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9zdGF0ZV9kZXNjcmlwdG9yc19maXhlZGApfWZ1bmN0aW9uIExlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Byb3RvdHlwZV9maXhlZGApfWZ1bmN0aW9uIFJlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Vuc2FmZV9tdXRhdGlvbmApfWZ1bmN0aW9uIHplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N2ZWx0ZV9ib3VuZGFyeV9yZXNldF9vbmVycm9yYCl9dmFyIEJlPXt9LFM9U3ltYm9sKCksVmU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxgLEhlPWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2AsVWU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxgO2Z1bmN0aW9uIFdlKCl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9kZXJpdmVkX2luZXJ0YCl9ZnVuY3Rpb24gR2UoZSl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9oeWRyYXRpb25fbWlzbWF0Y2hgKX1mdW5jdGlvbiBLZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc2VsZWN0X211bHRpcGxlX2ludmFsaWRfdmFsdWVgKX1mdW5jdGlvbiBxZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc3ZlbHRlX2JvdW5kYXJ5X3Jlc2V0X25vb3BgKX12YXIgQz0hMTtmdW5jdGlvbiBKZShlKXtDPWV9dmFyIHc7ZnVuY3Rpb24gVChlKXtpZihlPT09bnVsbCl0aHJvdyBHZSgpLEJlO3JldHVybiB3PWV9ZnVuY3Rpb24gWWUoKXtyZXR1cm4gVChCbih3KSl9ZnVuY3Rpb24gWGUoZSl7aWYoQyl7aWYoQm4odykhPT1udWxsKXRocm93IEdlKCksQmU7dz1lfX1mdW5jdGlvbiBaZShlPTEpe2lmKEMpe2Zvcih2YXIgdD1lLG49dzt0LS07KW49Qm4obik7dz1ufX1mdW5jdGlvbiBRZShlPSEwKXtmb3IodmFyIHQ9MCxuPXc7Oyl7aWYobi5ub2RlVHlwZT09PTgpe3ZhciByPW4uZGF0YTtpZihyPT09YF1gKXtpZih0PT09MClyZXR1cm4gbjstLXR9ZWxzZSAocj09PWBbYHx8cj09PWBbIWB8fHJbMF09PT1gW2AmJiFpc05hTihOdW1iZXIoci5zbGljZSgxKSkpKSYmKHQrPTEpfXZhciBpPUJuKG4pO2UmJm4ucmVtb3ZlKCksbj1pfX1mdW5jdGlvbiAkZShlKXtpZighZXx8ZS5ub2RlVHlwZSE9PTgpdGhyb3cgR2UoKSxCZTtyZXR1cm4gZS5kYXRhfWZ1bmN0aW9uIGV0KGUpe3JldHVybiBlPT09dGhpcy52fWZ1bmN0aW9uIHR0KGUsdCl7cmV0dXJuIGU9PWU/ZSE9PXR8fHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlfHx0eXBlb2YgZT09YGZ1bmN0aW9uYDp0PT10fWZ1bmN0aW9uIG50KGUpe3JldHVybiF0dChlLHRoaXMudil9dmFyIHJ0PSExLGl0PSExO2Z1bmN0aW9uIGF0KCl7aXQ9ITB9dmFyIEU9bnVsbDtmdW5jdGlvbiBvdChlKXtFPWV9ZnVuY3Rpb24gc3QoZSl7cmV0dXJuIGZ0KGBnZXRDb250ZXh0YCkuZ2V0KGUpfWZ1bmN0aW9uIGN0KGUsdCl7bGV0IG49ZnQoYHNldENvbnRleHRgKTtpZihydCl7dmFyIHI9SS5mOyFGJiZyJjMyJiYhRS5pfHxGZSgpfXJldHVybiBuLnNldChlLHQpLHR9ZnVuY3Rpb24gbHQoZSx0PSExLG4pe0U9e3A6RSxpOiExLGM6bnVsbCxlOm51bGwsczplLHg6bnVsbCxyOkksbDppdCYmIXQ/e3M6bnVsbCx1Om51bGwsJDpbXX06bnVsbH19ZnVuY3Rpb24gdXQoZSl7dmFyIHQ9RSxuPXQuZTtpZihuIT09bnVsbCl7dC5lPW51bGw7Zm9yKHZhciByIG9mIG4pc3Iocil9cmV0dXJuIGUhPT12b2lkIDAmJih0Lng9ZSksdC5pPSEwLEU9dC5wLGU/P3t9fWZ1bmN0aW9uIGR0KCl7cmV0dXJuIWl0fHxFIT09bnVsbCYmRS5sPT09bnVsbH1mdW5jdGlvbiBmdChlKXtyZXR1cm4gRT09PW51bGwmJkRlKGUpLEUuYz8/PW5ldyBNYXAocHQoRSl8fHZvaWQgMCl9ZnVuY3Rpb24gcHQoZSl7bGV0IHQ9ZS5wO2Zvcig7dCE9PW51bGw7KXtsZXQgZT10LmM7aWYoZSE9PW51bGwpcmV0dXJuIGU7dD10LnB9cmV0dXJuIG51bGx9dmFyIG10PVtdO2Z1bmN0aW9uIGh0KCl7dmFyIGU9bXQ7bXQ9W10saWUoZSl9ZnVuY3Rpb24gZ3QoZSl7aWYobXQubGVuZ3RoPT09MCYmIXp0KXt2YXIgdD1tdDtxdWV1ZU1pY3JvdGFzaygoKT0+e3Q9PT1tdCYmaHQoKX0pfW10LnB1c2goZSl9ZnVuY3Rpb24gX3QoKXtmb3IoO210Lmxlbmd0aD4wOylodCgpfWZ1bmN0aW9uIHZ0KGUpe3ZhciB0PUk7aWYodD09PW51bGwpcmV0dXJuIEYuZnw9eGUsZTtpZighKHQuZiYzMjc2OCkmJiEodC5mJjQpKXRocm93IGU7eXQoZSx0KX1mdW5jdGlvbiB5dChlLHQpe2Zvcig7dCE9PW51bGw7KXtpZih0LmYmMTI4KXtpZighKHQuZiYzMjc2OCkpdGhyb3cgZTt0cnl7dC5iLmVycm9yKGUpO3JldHVybn1jYXRjaCh0KXtlPXR9fXQ9dC5wYXJlbnR9dGhyb3cgZX12YXIgYnQ9fihjZXxsZXxzZSk7ZnVuY3Rpb24gRChlLHQpe2UuZj1lLmYmYnR8dH1mdW5jdGlvbiB4dChlKXtlLmYmNTEyfHxlLmRlcHM9PT1udWxsP0QoZSxzZSk6RChlLGxlKX1mdW5jdGlvbiBTdChlKXtpZihlIT09bnVsbClmb3IobGV0IHQgb2YgZSkhKHQuZiYyKXx8ISh0LmYmNjU1MzYpfHwodC5mXj12ZSxTdCh0LmRlcHMpKX1mdW5jdGlvbiBDdChlLHQsbil7ZS5mJjIwNDg/dC5hZGQoZSk6ZS5mJjQwOTYmJm4uYWRkKGUpLFN0KGUuZGVwcyksRChlLHNlKX1mdW5jdGlvbiB3dChlLHQsbil7aWYoZT09bnVsbClyZXR1cm4gdCh2b2lkIDApLG4mJm4odm9pZCAwKSx4O2xldCByPSRyKCgpPT5lLnN1YnNjcmliZSh0LG4pKTtyZXR1cm4gci51bnN1YnNjcmliZT8oKT0+ci51bnN1YnNjcmliZSgpOnJ9dmFyIFR0PVtdO2Z1bmN0aW9uIEV0KGUsdCl7cmV0dXJue3N1YnNjcmliZTpPKGUsdCkuc3Vic2NyaWJlfX1mdW5jdGlvbiBPKGUsdD14KXtsZXQgbj1udWxsLHI9bmV3IFNldDtmdW5jdGlvbiBpKHQpe2lmKHR0KGUsdCkmJihlPXQsbikpe2xldCB0PSFUdC5sZW5ndGg7Zm9yKGxldCB0IG9mIHIpdFsxXSgpLFR0LnB1c2godCxlKTtpZih0KXtmb3IobGV0IGU9MDtlPFR0Lmxlbmd0aDtlKz0yKVR0W2VdWzBdKFR0W2UrMV0pO1R0Lmxlbmd0aD0wfX19ZnVuY3Rpb24gYSh0KXtpKHQoZSkpfWZ1bmN0aW9uIG8obyxzPXgpe2xldCBjPVtvLHNdO3JldHVybiByLmFkZChjKSxyLnNpemU9PT0xJiYobj10KGksYSl8fHgpLG8oZSksKCk9PntyLmRlbGV0ZShjKSxyLnNpemU9PT0wJiZuJiYobigpLG49bnVsbCl9fXJldHVybntzZXQ6aSx1cGRhdGU6YSxzdWJzY3JpYmU6b319ZnVuY3Rpb24gayhlLHQsbil7bGV0IHI9IUFycmF5LmlzQXJyYXkoZSksaT1yP1tlXTplO2lmKCFpLmV2ZXJ5KEJvb2xlYW4pKXRocm93IEVycm9yKGBkZXJpdmVkKCkgZXhwZWN0cyBzdG9yZXMgYXMgaW5wdXQsIGdvdCBhIGZhbHN5IHZhbHVlYCk7bGV0IGE9dC5sZW5ndGg8MjtyZXR1cm4gRXQobiwoZSxuKT0+e2xldCBvPSExLHM9W10sYz0wLGw9eCx1PSgpPT57aWYoYylyZXR1cm47bCgpO2xldCBpPXQocj9zWzBdOnMsZSxuKTthP2UoaSk6bD10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOnh9LGQ9aS5tYXAoKGUsdCk9Pnd0KGUsZT0+e3NbdF09ZSxjJj1+KDE8PHQpLG8mJnUoKX0sKCk9PntjfD0xPDx0fSkpO3JldHVybiBvPSEwLHUoKSxmdW5jdGlvbigpe2llKGQpLGwoKSxvPSExfX0pfWZ1bmN0aW9uIEEoZSl7bGV0IHQ7cmV0dXJuIHd0KGUsZT0+dD1lKSgpLHR9dmFyIER0PSExLE90PSExLGt0PVN5bWJvbCgpO2Z1bmN0aW9uIEF0KGUsdCxuKXtsZXQgcj1uW3RdPz89e3N0b3JlOm51bGwsc291cmNlOnduKHZvaWQgMCksdW5zdWJzY3JpYmU6eH07aWYoci5zdG9yZSE9PWUmJiEoa3QgaW4gbikpaWYoci51bnN1YnNjcmliZSgpLHIuc3RvcmU9ZT8/bnVsbCxlPT1udWxsKXIuc291cmNlLnY9dm9pZCAwLHIudW5zdWJzY3JpYmU9eDtlbHNle3ZhciBpPSEwO3IudW5zdWJzY3JpYmU9d3QoZSxlPT57aT9yLnNvdXJjZS52PWU6VG4oci5zb3VyY2UsZSl9KSxpPSExfXJldHVybiBlJiZrdCBpbiBuP0EoZSk6UihyLnNvdXJjZSl9ZnVuY3Rpb24ganQoZSx0KXtyZXR1cm4gTnQoZSx0KSx0fWZ1bmN0aW9uIE10KCl7bGV0IGU9e307ZnVuY3Rpb24gdCgpe2FyKCgpPT57Zm9yKHZhciB0IGluIGUpZVt0XS51bnN1YnNjcmliZSgpO2coZSxrdCx7ZW51bWVyYWJsZTohMSx2YWx1ZTohMH0pfSl9cmV0dXJuW2UsdF19ZnVuY3Rpb24gTnQoZSx0KXtEdD0hMDt0cnl7ZS5zZXQodCl9ZmluYWxseXtEdD0hMX19ZnVuY3Rpb24gUHQoZSx0LG4pe3JldHVybiBOdChlLG4pLHR9ZnVuY3Rpb24gRnQoZSl7dmFyIHQ9T3Q7dHJ5e3JldHVybiBPdD0hMSxbZSgpLE90XX1maW5hbGx5e090PXR9fXZhciBJdD1uZXcgU2V0LGo9bnVsbCxMdD1udWxsLE09bnVsbCxSdD1udWxsLHp0PSExLEJ0PSExLFZ0PW51bGwsSHQ9bnVsbCxVdD0wLFd0PTEsR3Q9Y2xhc3MgZXtpZD1XdCsrO2N1cnJlbnQ9bmV3IE1hcDtwcmV2aW91cz1uZXcgTWFwOyNlPW5ldyBTZXQ7I3Q9bmV3IFNldDsjbj1uZXcgU2V0OyNyPW5ldyBNYXA7I2k9bmV3IE1hcDsjYT1udWxsOyNvPVtdOyNzPVtdOyNjPW5ldyBTZXQ7I2w9bmV3IFNldDsjdT1uZXcgTWFwOyNkPW5ldyBTZXQ7aXNfZm9yaz0hMTsjZj0hMTsjcD1uZXcgU2V0OyNtKCl7cmV0dXJuIHRoaXMuaXNfZm9ya3x8dGhpcy4jaS5zaXplPjB9I2goKXtmb3IobGV0IG4gb2YgdGhpcy4jcClmb3IobGV0IHIgb2Ygbi4jaS5rZXlzKCkpe2Zvcih2YXIgZT0hMSx0PXI7dC5wYXJlbnQhPT1udWxsOyl7aWYodGhpcy4jdS5oYXModCkpe2U9ITA7YnJlYWt9dD10LnBhcmVudH1pZighZSlyZXR1cm4hMH1yZXR1cm4hMX1za2lwX2VmZmVjdChlKXt0aGlzLiN1LmhhcyhlKXx8dGhpcy4jdS5zZXQoZSx7ZDpbXSxtOltdfSksdGhpcy4jZC5kZWxldGUoZSl9dW5za2lwX2VmZmVjdChlLHQ9ZT0+dGhpcy5zY2hlZHVsZShlKSl7dmFyIG49dGhpcy4jdS5nZXQoZSk7aWYobil7dGhpcy4jdS5kZWxldGUoZSk7Zm9yKHZhciByIG9mIG4uZClEKHIsY2UpLHQocik7Zm9yKHIgb2Ygbi5tKUQocixsZSksdChyKX10aGlzLiNkLmFkZChlKX0jZygpe2lmKFV0Kys+MWUzJiYoSXQuZGVsZXRlKHRoaXMpLHF0KCkpLCF0aGlzLiNtKCkpe2ZvcihsZXQgZSBvZiB0aGlzLiNjKXRoaXMuI2wuZGVsZXRlKGUpLEQoZSxjZSksdGhpcy5zY2hlZHVsZShlKTtmb3IobGV0IGUgb2YgdGhpcy4jbClEKGUsbGUpLHRoaXMuc2NoZWR1bGUoZSl9bGV0IHQ9dGhpcy4jbzt0aGlzLiNvPVtdLHRoaXMuYXBwbHkoKTt2YXIgbj1WdD1bXSxyPVtdLGk9SHQ9W107Zm9yKGxldCBlIG9mIHQpdHJ5e3RoaXMuI18oZSxuLHIpfWNhdGNoKHQpe3Rocm93IGVuKGUpLHR9aWYoaj1udWxsLGkubGVuZ3RoPjApe3ZhciBhPWUuZW5zdXJlKCk7Zm9yKGxldCBlIG9mIGkpYS5zY2hlZHVsZShlKX1pZihWdD1udWxsLEh0PW51bGwsdGhpcy4jbSgpfHx0aGlzLiNoKCkpe3RoaXMuI3YociksdGhpcy4jdihuKTtmb3IobGV0W2UsdF1vZiB0aGlzLiN1KSR0KGUsdCl9ZWxzZXt0aGlzLiNyLnNpemU9PT0wJiZJdC5kZWxldGUodGhpcyksdGhpcy4jYy5jbGVhcigpLHRoaXMuI2wuY2xlYXIoKTtmb3IobGV0IGUgb2YgdGhpcy4jZSllKHRoaXMpO3RoaXMuI2UuY2xlYXIoKSxMdD10aGlzLFl0KHIpLFl0KG4pLEx0PW51bGwsdGhpcy4jYT8ucmVzb2x2ZSgpfXZhciBvPWo7aWYodGhpcy4jby5sZW5ndGg+MCl7bGV0IGU9bz8/PXRoaXM7ZS4jby5wdXNoKC4uLnRoaXMuI28uZmlsdGVyKHQ9PiFlLiNvLmluY2x1ZGVzKHQpKSl9byE9PW51bGwmJihJdC5hZGQobyksby4jZygpKSxydCYmIUl0Lmhhcyh0aGlzKSYmdGhpcy4jeSgpfSNfKGUsdCxuKXtlLmZePXNlO2Zvcih2YXIgcj1lLmZpcnN0O3IhPT1udWxsOyl7dmFyIGk9ci5mLGE9KGkmOTYpIT0wO2lmKCEoYSYmaSYxMDI0fHxpJjgxOTJ8fHRoaXMuI3UuaGFzKHIpKSYmci5mbiE9PW51bGwpe2E/ci5mXj1zZTppJjQ/dC5wdXNoKHIpOnJ0JiZpJjE2Nzc3MjI0P24ucHVzaChyKTpXcihyKSYmKGkmMTYmJnRoaXMuI2wuYWRkKHIpLFlyKHIpKTt2YXIgbz1yLmZpcnN0O2lmKG8hPT1udWxsKXtyPW87Y29udGludWV9fWZvcig7ciE9PW51bGw7KXt2YXIgcz1yLm5leHQ7aWYocyE9PW51bGwpe3I9czticmVha31yPXIucGFyZW50fX19I3YoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0xKUN0KGVbdF0sdGhpcy4jYyx0aGlzLiNsKX1jYXB0dXJlKGUsdCxuPSExKXtlLnYhPT1TJiYhdGhpcy5wcmV2aW91cy5oYXMoZSkmJnRoaXMucHJldmlvdXMuc2V0KGUsZS52KSxlLmYmODM4ODYwOHx8KHRoaXMuY3VycmVudC5zZXQoZSxbdCxuXSksTT8uc2V0KGUsdCkpLHRoaXMuaXNfZm9ya3x8KGUudj10KX1hY3RpdmF0ZSgpe2o9dGhpc31kZWFjdGl2YXRlKCl7aj1udWxsLE09bnVsbH1mbHVzaCgpe3RyeXtCdD0hMCxqPXRoaXMsdGhpcy4jZygpfWZpbmFsbHl7VXQ9MCxSdD1udWxsLFZ0PW51bGwsSHQ9bnVsbCxCdD0hMSxqPW51bGwsTT1udWxsLGJuLmNsZWFyKCl9fWRpc2NhcmQoKXtmb3IobGV0IGUgb2YgdGhpcy4jdCllKHRoaXMpO3RoaXMuI3QuY2xlYXIoKSx0aGlzLiNuLmNsZWFyKCksSXQuZGVsZXRlKHRoaXMpfXJlZ2lzdGVyX2NyZWF0ZWRfZWZmZWN0KGUpe3RoaXMuI3MucHVzaChlKX0jeSgpe2ZvcihsZXQgbCBvZiBJdCl7dmFyIGU9bC5pZDx0aGlzLmlkLHQ9W107Zm9yKGxldFtyLFtpLGFdXW9mIHRoaXMuY3VycmVudCl7aWYobC5jdXJyZW50LmhhcyhyKSl7dmFyIG49bC5jdXJyZW50LmdldChyKVswXTtpZihlJiZpIT09bilsLmN1cnJlbnQuc2V0KHIsW2ksYV0pO2Vsc2UgY29udGludWV9dC5wdXNoKHIpfXZhciByPVsuLi5sLmN1cnJlbnQua2V5cygpXS5maWx0ZXIoZT0+IXRoaXMuY3VycmVudC5oYXMoZSkpO2lmKHIubGVuZ3RoPT09MCllJiZsLmRpc2NhcmQoKTtlbHNlIGlmKHQubGVuZ3RoPjApe2lmKGUpZm9yKGxldCBlIG9mIHRoaXMuI2QpbC51bnNraXBfZWZmZWN0KGUsZT0+e2UuZiY0MTk0MzIwP2wuc2NoZWR1bGUoZSk6bC4jdihbZV0pfSk7bC5hY3RpdmF0ZSgpO3ZhciBpPW5ldyBTZXQsYT1uZXcgTWFwO2Zvcih2YXIgbyBvZiB0KVh0KG8scixpLGEpO2E9bmV3IE1hcDt2YXIgcz1bLi4ubC5jdXJyZW50LmtleXMoKV0uZmlsdGVyKGU9PnRoaXMuY3VycmVudC5oYXMoZSk/dGhpcy5jdXJyZW50LmdldChlKVswXSE9PWU6ITApO2ZvcihsZXQgZSBvZiB0aGlzLiNzKSEoZS5mJjE1NTY0OCkmJlp0KGUscyxhKSYmKGUuZiY0MTk0MzIwPyhEKGUsY2UpLGwuc2NoZWR1bGUoZSkpOmwuI2MuYWRkKGUpKTtpZihsLiNvLmxlbmd0aD4wKXtsLmFwcGx5KCk7Zm9yKHZhciBjIG9mIGwuI28pbC4jXyhjLFtdLFtdKTtsLiNvPVtdfWwuZGVhY3RpdmF0ZSgpfX1mb3IobGV0IGUgb2YgSXQpZS4jcC5oYXModGhpcykmJihlLiNwLmRlbGV0ZSh0aGlzKSxlLiNwLnNpemU9PT0wJiYhZS4jbSgpJiYoZS5hY3RpdmF0ZSgpLGUuI2coKSkpfWluY3JlbWVudChlLHQpe2xldCBuPXRoaXMuI3IuZ2V0KHQpPz8wO2lmKHRoaXMuI3Iuc2V0KHQsbisxKSxlKXtsZXQgZT10aGlzLiNpLmdldCh0KT8/MDt0aGlzLiNpLnNldCh0LGUrMSl9fWRlY3JlbWVudChlLHQsbil7bGV0IHI9dGhpcy4jci5nZXQodCk/PzA7aWYocj09PTE/dGhpcy4jci5kZWxldGUodCk6dGhpcy4jci5zZXQodCxyLTEpLGUpe2xldCBlPXRoaXMuI2kuZ2V0KHQpPz8wO2U9PT0xP3RoaXMuI2kuZGVsZXRlKHQpOnRoaXMuI2kuc2V0KHQsZS0xKX10aGlzLiNmfHxufHwodGhpcy4jZj0hMCxndCgoKT0+e3RoaXMuI2Y9ITEsdGhpcy5mbHVzaCgpfSkpfXRyYW5zZmVyX2VmZmVjdHMoZSx0KXtmb3IobGV0IHQgb2YgZSl0aGlzLiNjLmFkZCh0KTtmb3IobGV0IGUgb2YgdCl0aGlzLiNsLmFkZChlKTtlLmNsZWFyKCksdC5jbGVhcigpfW9uY29tbWl0KGUpe3RoaXMuI2UuYWRkKGUpfW9uZGlzY2FyZChlKXt0aGlzLiN0LmFkZChlKX1vbl9mb3JrX2NvbW1pdChlKXt0aGlzLiNuLmFkZChlKX1ydW5fZm9ya19jb21taXRfY2FsbGJhY2tzKCl7Zm9yKGxldCBlIG9mIHRoaXMuI24pZSh0aGlzKTt0aGlzLiNuLmNsZWFyKCl9c2V0dGxlZCgpe3JldHVybih0aGlzLiNhPz89YWUoKSkucHJvbWlzZX1zdGF0aWMgZW5zdXJlKCl7aWYoaj09PW51bGwpe2xldCB0PWo9bmV3IGU7QnR8fChJdC5hZGQoaiksenR8fGd0KCgpPT57aj09PXQmJnQuZmx1c2goKX0pKX1yZXR1cm4gan1hcHBseSgpe2lmKCFydHx8IXRoaXMuaXNfZm9yayYmSXQuc2l6ZT09PTEpe009bnVsbDtyZXR1cm59TT1uZXcgTWFwO2ZvcihsZXRbZSxbdF1db2YgdGhpcy5jdXJyZW50KU0uc2V0KGUsdCk7Zm9yKGxldCBuIG9mIEl0KWlmKCEobj09PXRoaXN8fG4uaXNfZm9yaykpe3ZhciBlPSExLHQ9ITE7aWYobi5pZDx0aGlzLmlkKWZvcihsZXRbcixbLGldXW9mIG4uY3VycmVudClpfHwoZXx8PXRoaXMuY3VycmVudC5oYXMociksdHx8PSF0aGlzLmN1cnJlbnQuaGFzKHIpKTtpZihlJiZ0KXRoaXMuI3AuYWRkKG4pO2Vsc2UgZm9yKGxldFtlLHRdb2Ygbi5wcmV2aW91cylNLmhhcyhlKXx8TS5zZXQoZSx0KX19c2NoZWR1bGUoZSl7aWYoUnQ9ZSxlLmI/LmlzX3BlbmRpbmcmJmUuZiYxNjc3NzIyOCYmIShlLmYmMzI3NjgpKXtlLmIuZGVmZXJfZWZmZWN0KGUpO3JldHVybn1mb3IodmFyIHQ9ZTt0LnBhcmVudCE9PW51bGw7KXt0PXQucGFyZW50O3ZhciBuPXQuZjtpZihWdCE9PW51bGwmJnQ9PT1JJiYocnR8fChGPT09bnVsbHx8IShGLmYmMikpJiYhRHQpKXJldHVybjtpZihuJjk2KXtpZighKG4mMTAyNCkpcmV0dXJuO3QuZl49c2V9fXRoaXMuI28ucHVzaCh0KX19O2Z1bmN0aW9uIEt0KGUpe3ZhciB0PXp0O3p0PSEwO3RyeXt2YXIgbjtmb3IoZSYmKGohPT1udWxsJiYhai5pc19mb3JrJiZqLmZsdXNoKCksbj1lKCkpOzspe2lmKF90KCksaj09PW51bGwpcmV0dXJuIG47ai5mbHVzaCgpfX1maW5hbGx5e3p0PXR9fWZ1bmN0aW9uIHF0KCl7dHJ5e05lKCl9Y2F0Y2goZSl7eXQoZSxSdCl9fXZhciBKdD1udWxsO2Z1bmN0aW9uIFl0KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQhPT0wKXtmb3IodmFyIG49MDtuPHQ7KXt2YXIgcj1lW24rK107aWYoIShyLmYmMjQ1NzYpJiZXcihyKSYmKEp0PW5ldyBTZXQsWXIociksci5kZXBzPT09bnVsbCYmci5maXJzdD09PW51bGwmJnIubm9kZXM9PT1udWxsJiZyLnRlYXJkb3duPT09bnVsbCYmci5hYz09PW51bGwmJnhyKHIpLEp0Py5zaXplPjApKXtibi5jbGVhcigpO2ZvcihsZXQgZSBvZiBKdCl7aWYoZS5mJjI0NTc2KWNvbnRpbnVlO2xldCB0PVtlXSxuPWUucGFyZW50O2Zvcig7biE9PW51bGw7KUp0LmhhcyhuKSYmKEp0LmRlbGV0ZShuKSx0LnB1c2gobikpLG49bi5wYXJlbnQ7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe2xldCBuPXRbZV07bi5mJjI0NTc2fHxZcihuKX19SnQuY2xlYXIoKX19SnQ9bnVsbH19ZnVuY3Rpb24gWHQoZSx0LG4scil7aWYoIW4uaGFzKGUpJiYobi5hZGQoZSksZS5yZWFjdGlvbnMhPT1udWxsKSlmb3IobGV0IGkgb2YgZS5yZWFjdGlvbnMpe2xldCBlPWkuZjtlJjI/WHQoaSx0LG4scik6ZSY0MTk0MzIwJiYhKGUmMjA0OCkmJlp0KGksdCxyKSYmKEQoaSxjZSksUXQoaSkpfX1mdW5jdGlvbiBadChlLHQsbil7bGV0IHI9bi5nZXQoZSk7aWYociE9PXZvaWQgMClyZXR1cm4gcjtpZihlLmRlcHMhPT1udWxsKWZvcihsZXQgciBvZiBlLmRlcHMpe2lmKG0uY2FsbCh0LHIpKXJldHVybiEwO2lmKHIuZiYyJiZadChyLHQsbikpcmV0dXJuIG4uc2V0KHIsITApLCEwfXJldHVybiBuLnNldChlLCExKSwhMX1mdW5jdGlvbiBRdChlKXtqLnNjaGVkdWxlKGUpfWZ1bmN0aW9uICR0KGUsdCl7aWYoIShlLmYmMzImJmUuZiYxMDI0KSl7ZS5mJjIwNDg/dC5kLnB1c2goZSk6ZS5mJjQwOTYmJnQubS5wdXNoKGUpLEQoZSxzZSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KSR0KG4sdCksbj1uLm5leHR9fWZ1bmN0aW9uIGVuKGUpe0QoZSxzZSk7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KWVuKHQpLHQ9dC5uZXh0fWZ1bmN0aW9uIHRuKGUpe2xldCB0PTAsbj1TbigwKSxyO3JldHVybigpPT57aXIoKSYmKFIobiksZnIoKCk9Pih0PT09MCYmKHI9JHIoKCk9PmUoKCk9PmtuKG4pKSkpLHQrPTEsKCk9PntndCgoKT0+ey0tdCx0PT09MCYmKHI/LigpLHI9dm9pZCAwLGtuKG4pKX0pfSkpKX19dmFyIG5uPW1lfGhlO2Z1bmN0aW9uIHJuKGUsdCxuLHIpe25ldyBhbihlLHQsbixyKX12YXIgYW49Y2xhc3N7cGFyZW50O2lzX3BlbmRpbmc9ITE7dHJhbnNmb3JtX2Vycm9yOyNlOyN0PUM/dzpudWxsOyNuOyNyOyNpOyNhPW51bGw7I289bnVsbDsjcz1udWxsOyNjPW51bGw7I2w9MDsjdT0wOyNkPSExOyNmPW5ldyBTZXQ7I3A9bmV3IFNldDsjbT1udWxsOyNoPXRuKCgpPT4odGhpcy4jbT1Tbih0aGlzLiNsKSwoKT0+e3RoaXMuI209bnVsbH0pKTtjb25zdHJ1Y3RvcihlLHQsbixyKXt0aGlzLiNlPWUsdGhpcy4jbj10LHRoaXMuI3I9ZT0+e3ZhciB0PUk7dC5iPXRoaXMsdC5mfD0xMjgsbihlKX0sdGhpcy5wYXJlbnQ9SS5iLHRoaXMudHJhbnNmb3JtX2Vycm9yPXI/P3RoaXMucGFyZW50Py50cmFuc2Zvcm1fZXJyb3I/PyhlPT5lKSx0aGlzLiNpPW1yKCgpPT57aWYoQyl7bGV0IGU9dGhpcy4jdDtZZSgpO2xldCB0PWUuZGF0YT09PWBbIWA7aWYoZS5kYXRhLnN0YXJ0c1dpdGgoYFs/YCkpe2xldCB0PUpTT04ucGFyc2UoZS5kYXRhLnNsaWNlKDIpKTt0aGlzLiNfKHQpfWVsc2UgdD90aGlzLiN2KCk6dGhpcy4jZygpfWVsc2UgdGhpcy4jeSgpfSxubiksQyYmKHRoaXMuI2U9dyl9I2coKXt0cnl7dGhpcy4jYT1ncigoKT0+dGhpcy4jcih0aGlzLiNlKSl9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I18oZSl7bGV0IHQ9dGhpcy4jbi5mYWlsZWQ7dCYmKHRoaXMuI3M9Z3IoKCk9Pnt0KHRoaXMuI2UsKCk9PmUsKCk9PigpPT57fSl9KSl9I3YoKXtsZXQgZT10aGlzLiNuLnBlbmRpbmc7ZSYmKHRoaXMuaXNfcGVuZGluZz0hMCx0aGlzLiNvPWdyKCgpPT5lKHRoaXMuI2UpKSxndCgoKT0+e3ZhciBlPXRoaXMuI2M9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9em4oKTtlLmFwcGVuZCh0KSx0aGlzLiNhPXRoaXMuI3goKCk9PmdyKCgpPT50aGlzLiNyKHQpKSksdGhpcy4jdT09PTAmJih0aGlzLiNlLmJlZm9yZShlKSx0aGlzLiNjPW51bGwsU3IodGhpcy4jbywoKT0+e3RoaXMuI289bnVsbH0pLHRoaXMuI2IoaikpfSkpfSN5KCl7dHJ5e2lmKHRoaXMuaXNfcGVuZGluZz10aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSx0aGlzLiN1PTAsdGhpcy4jbD0wLHRoaXMuI2E9Z3IoKCk9Pnt0aGlzLiNyKHRoaXMuI2UpfSksdGhpcy4jdT4wKXt2YXIgZT10aGlzLiNjPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtFcih0aGlzLiNhLGUpO2xldCB0PXRoaXMuI24ucGVuZGluZzt0aGlzLiNvPWdyKCgpPT50KHRoaXMuI2UpKX1lbHNlIHRoaXMuI2Ioail9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I2IoZSl7dGhpcy5pc19wZW5kaW5nPSExLGUudHJhbnNmZXJfZWZmZWN0cyh0aGlzLiNmLHRoaXMuI3ApfWRlZmVyX2VmZmVjdChlKXtDdChlLHRoaXMuI2YsdGhpcy4jcCl9aXNfcmVuZGVyZWQoKXtyZXR1cm4hdGhpcy5pc19wZW5kaW5nJiYoIXRoaXMucGFyZW50fHx0aGlzLnBhcmVudC5pc19yZW5kZXJlZCgpKX1oYXNfcGVuZGluZ19zbmlwcGV0KCl7cmV0dXJuISF0aGlzLiNuLnBlbmRpbmd9I3goZSl7dmFyIHQ9SSxuPUYscj1FO05yKHRoaXMuI2kpLE1yKHRoaXMuI2kpLG90KHRoaXMuI2kuY3R4KTt0cnl7cmV0dXJuIEd0LmVuc3VyZSgpLGUoKX1jYXRjaChlKXtyZXR1cm4gdnQoZSksbnVsbH1maW5hbGx5e05yKHQpLE1yKG4pLG90KHIpfX0jUyhlLHQpe2lmKCF0aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSl7dGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LiNTKGUsdCk7cmV0dXJufXRoaXMuI3UrPWUsdGhpcy4jdT09PTAmJih0aGlzLiNiKHQpLHRoaXMuI28mJlNyKHRoaXMuI28sKCk9Pnt0aGlzLiNvPW51bGx9KSx0aGlzLiNjJiY9KHRoaXMuI2UuYmVmb3JlKHRoaXMuI2MpLG51bGwpKX11cGRhdGVfcGVuZGluZ19jb3VudChlLHQpe3RoaXMuI1MoZSx0KSx0aGlzLiNsKz1lLCEoIXRoaXMuI218fHRoaXMuI2QpJiYodGhpcy4jZD0hMCxndCgoKT0+e3RoaXMuI2Q9ITEsdGhpcy4jbSYmRW4odGhpcy4jbSx0aGlzLiNsKX0pKX1nZXRfZWZmZWN0X3BlbmRpbmcoKXtyZXR1cm4gdGhpcy4jaCgpLFIodGhpcy4jbSl9ZXJyb3IoZSl7aWYoIXRoaXMuI24ub25lcnJvciYmIXRoaXMuI24uZmFpbGVkKXRocm93IGU7aj8uaXNfZm9yaz8odGhpcy4jYSYmai5za2lwX2VmZmVjdCh0aGlzLiNhKSx0aGlzLiNvJiZqLnNraXBfZWZmZWN0KHRoaXMuI28pLHRoaXMuI3MmJmouc2tpcF9lZmZlY3QodGhpcy4jcyksai5vbl9mb3JrX2NvbW1pdCgoKT0+e3RoaXMuI0MoZSl9KSk6dGhpcy4jQyhlKX0jQyhlKXt0aGlzLiNhJiY9KFAodGhpcy4jYSksbnVsbCksdGhpcy4jbyYmPShQKHRoaXMuI28pLG51bGwpLHRoaXMuI3MmJj0oUCh0aGlzLiNzKSxudWxsKSxDJiYoVCh0aGlzLiN0KSxaZSgpLFQoUWUoKSkpO3ZhciB0PXRoaXMuI24ub25lcnJvcjtsZXQgbj10aGlzLiNuLmZhaWxlZDt2YXIgcj0hMSxpPSExO2xldCBhPSgpPT57aWYocil7cWUoKTtyZXR1cm59cj0hMCxpJiZ6ZSgpLHRoaXMuI3MhPT1udWxsJiZTcih0aGlzLiNzLCgpPT57dGhpcy4jcz1udWxsfSksdGhpcy4jeCgoKT0+e3RoaXMuI3koKX0pfSxvPWU9Pnt0cnl7aT0hMCx0Py4oZSxhKSxpPSExfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpfW4mJih0aGlzLiNzPXRoaXMuI3goKCk9Pnt0cnl7cmV0dXJuIGdyKCgpPT57dmFyIHQ9STt0LmI9dGhpcyx0LmZ8PTEyOCxuKHRoaXMuI2UsKCk9PmUsKCk9PmEpfSl9Y2F0Y2goZSl7cmV0dXJuIHl0KGUsdGhpcy4jaS5wYXJlbnQpLG51bGx9fSkpfTtndCgoKT0+e3ZhciB0O3RyeXt0PXRoaXMudHJhbnNmb3JtX2Vycm9yKGUpfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpO3JldHVybn10eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmA/dC50aGVuKG8sZT0+eXQoZSx0aGlzLiNpJiZ0aGlzLiNpLnBhcmVudCkpOm8odCl9KX19O2Z1bmN0aW9uIG9uKGUsdCxuLHIpe2xldCBpPWR0KCk/dW46cG47dmFyIGE9ZS5maWx0ZXIoZT0+IWUuc2V0dGxlZCk7aWYobi5sZW5ndGg9PT0wJiZhLmxlbmd0aD09PTApe3IodC5tYXAoaSkpO3JldHVybn12YXIgbz1JLHM9c24oKSxjPWEubGVuZ3RoPT09MT9hWzBdLnByb21pc2U6YS5sZW5ndGg+MT9Qcm9taXNlLmFsbChhLm1hcChlPT5lLnByb21pc2UpKTpudWxsO2Z1bmN0aW9uIGwoZSl7cygpO3RyeXtyKGUpfWNhdGNoKGUpe28uZiYxNjM4NHx8eXQoZSxvKX1jbigpfWlmKG4ubGVuZ3RoPT09MCl7Yy50aGVuKCgpPT5sKHQubWFwKGkpKSk7cmV0dXJufXZhciB1PWxuKCk7ZnVuY3Rpb24gZCgpe1Byb21pc2UuYWxsKG4ubWFwKGU9PmRuKGUpKSkudGhlbihlPT5sKFsuLi50Lm1hcChpKSwuLi5lXSkpLmNhdGNoKGU9Pnl0KGUsbykpLmZpbmFsbHkoKCk9PnUoKSl9Yz9jLnRoZW4oKCk9PntzKCksZCgpLGNuKCl9KTpkKCl9ZnVuY3Rpb24gc24oKXt2YXIgZT1JLHQ9RixuPUUscj1qO3JldHVybiBmdW5jdGlvbihpPSEwKXtOcihlKSxNcih0KSxvdChuKSxpJiYhKGUuZiYxNjM4NCkmJihyPy5hY3RpdmF0ZSgpLHI/LmFwcGx5KCkpfX1mdW5jdGlvbiBjbihlPSEwKXtOcihudWxsKSxNcihudWxsKSxvdChudWxsKSxlJiZqPy5kZWFjdGl2YXRlKCl9ZnVuY3Rpb24gbG4oKXt2YXIgZT1JLHQ9ZS5iLG49aixyPXQuaXNfcmVuZGVyZWQoKTtyZXR1cm4gdC51cGRhdGVfcGVuZGluZ19jb3VudCgxLG4pLG4uaW5jcmVtZW50KHIsZSksKGk9ITEpPT57dC51cGRhdGVfcGVuZGluZ19jb3VudCgtMSxuKSxuLmRlY3JlbWVudChyLGUsaSl9fWZ1bmN0aW9uIHVuKGUpe3ZhciB0PTJ8Y2U7cmV0dXJuIEkhPT1udWxsJiYoSS5mfD1oZSkse2N0eDpFLGRlcHM6bnVsbCxlZmZlY3RzOm51bGwsZXF1YWxzOmV0LGY6dCxmbjplLHJlYWN0aW9uczpudWxsLHJ2OjAsdjpTLHd2OjAscGFyZW50OkksYWM6bnVsbH19ZnVuY3Rpb24gZG4oZSx0LG4pe2xldCByPUk7cj09PW51bGwmJk9lKCk7dmFyIGk9dm9pZCAwLGE9U24oUyksbz0hRixzPW5ldyBNYXA7cmV0dXJuIGRyKCgpPT57dmFyIHQ9SSxuPWFlKCk7aT1uLnByb21pc2U7dHJ5e1Byb21pc2UucmVzb2x2ZShlKCkpLnRoZW4obi5yZXNvbHZlLG4ucmVqZWN0KS5maW5hbGx5KGNuKX1jYXRjaChlKXtuLnJlamVjdChlKSxjbigpfXZhciBjPWo7aWYobyl7aWYodC5mJjMyNzY4KXZhciBsPWxuKCk7aWYoci5iLmlzX3JlbmRlcmVkKCkpcy5nZXQoYyk/LnJlamVjdChUZSkscy5kZWxldGUoYyk7ZWxzZXtmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSk7cy5jbGVhcigpfXMuc2V0KGMsbil9bGV0IHU9KGUsbj12b2lkIDApPT57aWYobCYmbChuPT09VGUpLCEobj09PVRlfHx0LmYmMTYzODQpKXtpZihjLmFjdGl2YXRlKCksbilhLmZ8PXhlLEVuKGEsbik7ZWxzZXthLmYmODM4ODYwOCYmKGEuZl49eGUpLEVuKGEsZSk7Zm9yKGxldFtlLHRdb2Ygcyl7aWYocy5kZWxldGUoZSksZT09PWMpYnJlYWs7dC5yZWplY3QoVGUpfX1jLmRlYWN0aXZhdGUoKX19O24ucHJvbWlzZS50aGVuKHUsZT0+dShudWxsLGV8fGB1bmtub3duYCkpfSksYXIoKCk9Pntmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSl9KSxuZXcgUHJvbWlzZShlPT57ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiByKCl7bj09PWk/ZShhKTp0KGkpfW4udGhlbihyLHIpfXQoaSl9KX1mdW5jdGlvbiBmbihlKXtsZXQgdD11bihlKTtyZXR1cm4gcnR8fEZyKHQpLHR9ZnVuY3Rpb24gcG4oZSl7bGV0IHQ9dW4oZSk7cmV0dXJuIHQuZXF1YWxzPW50LHR9ZnVuY3Rpb24gbW4oZSl7dmFyIHQ9ZS5lZmZlY3RzO2lmKHQhPT1udWxsKXtlLmVmZmVjdHM9bnVsbDtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rPTEpUCh0W25dKX19ZnVuY3Rpb24gaG4oZSl7dmFyIHQsbj1JLHI9ZS5wYXJlbnQ7aWYoIWtyJiZyIT09bnVsbCYmci5mJjI0NTc2KXJldHVybiBXZSgpLGUudjtOcihyKTt0cnl7ZS5mJj1+dmUsbW4oZSksdD1LcihlKX1maW5hbGx5e05yKG4pfXJldHVybiB0fWZ1bmN0aW9uIGduKGUpe3ZhciB0PWhuKGUpO2lmKCFlLmVxdWFscyh0KSYmKGUud3Y9VXIoKSwoIWo/LmlzX2Zvcmt8fGUuZGVwcz09PW51bGwpJiYoaj09PW51bGw/ZS52PXQ6ai5jYXB0dXJlKGUsdCwhMCksZS5kZXBzPT09bnVsbCkpKXtEKGUsc2UpO3JldHVybn1rcnx8KE09PT1udWxsP3h0KGUpOihpcigpfHxqPy5pc19mb3JrKSYmTS5zZXQoZSx0KSl9ZnVuY3Rpb24gX24oZSl7aWYoZS5lZmZlY3RzIT09bnVsbClmb3IobGV0IHQgb2YgZS5lZmZlY3RzKSh0LnRlYXJkb3dufHx0LmFjKSYmKHQudGVhcmRvd24/LigpLHQuYWM/LmFib3J0KFRlKSx0LnRlYXJkb3duPXgsdC5hYz1udWxsLEpyKHQsMCksdnIodCkpfWZ1bmN0aW9uIHZuKGUpe2lmKGUuZWZmZWN0cyE9PW51bGwpZm9yKGxldCB0IG9mIGUuZWZmZWN0cyl0LnRlYXJkb3duJiZZcih0KX12YXIgeW49bmV3IFNldCxibj1uZXcgTWFwLHhuPSExO2Z1bmN0aW9uIFNuKGUsdCl7cmV0dXJue2Y6MCx2OmUscmVhY3Rpb25zOm51bGwsZXF1YWxzOmV0LHJ2OjAsd3Y6MH19ZnVuY3Rpb24gQ24oZSx0KXtsZXQgbj1TbihlLHQpO3JldHVybiBGcihuKSxufWZ1bmN0aW9uIHduKGUsdD0hMSxuPSEwKXtsZXQgcj1TbihlKTtyZXR1cm4gdHx8KHIuZXF1YWxzPW50KSxpdCYmbiYmRSE9PW51bGwmJkUubCE9PW51bGwmJihFLmwucz8/PVtdKS5wdXNoKHIpLHJ9ZnVuY3Rpb24gVG4oZSx0LG49ITEpe3JldHVybiBGIT09bnVsbCYmKCFqcnx8Ri5mJjEzMTA3MikmJmR0KCkmJkYuZiY0MzI1Mzk0JiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSYmUmUoKSxFbihlLG4/am4odCk6dCxIdCl9ZnVuY3Rpb24gRW4oZSx0LG49bnVsbCl7aWYoIWUuZXF1YWxzKHQpKXtibi5zZXQoZSxrcj90OmUudik7dmFyIHI9R3QuZW5zdXJlKCk7aWYoci5jYXB0dXJlKGUsdCksZS5mJjIpe2xldCB0PWU7ZS5mJjIwNDgmJmhuKHQpLE09PT1udWxsJiZ4dCh0KX1lLnd2PVVyKCksQW4oZSxjZSxuKSxkdCgpJiZJIT09bnVsbCYmSS5mJjEwMjQmJiEoSS5mJjk2KSYmKExyPT09bnVsbD9ScihbZV0pOkxyLnB1c2goZSkpLCFyLmlzX2ZvcmsmJnluLnNpemU+MCYmIXhuJiZEbigpfXJldHVybiB0fWZ1bmN0aW9uIERuKCl7eG49ITE7Zm9yKGxldCBlIG9mIHluKWUuZiYxMDI0JiZEKGUsbGUpLFdyKGUpJiZZcihlKTt5bi5jbGVhcigpfWZ1bmN0aW9uIE9uKGUsdD0xKXt2YXIgbj1SKGUpLHI9dD09PTE/bisrOm4tLTtyZXR1cm4gVG4oZSxuKSxyfWZ1bmN0aW9uIGtuKGUpe1RuKGUsZS52KzEpfWZ1bmN0aW9uIEFuKGUsdCxuKXt2YXIgcj1lLnJlYWN0aW9ucztpZihyIT09bnVsbClmb3IodmFyIGk9ZHQoKSxhPXIubGVuZ3RoLG89MDtvPGE7bysrKXt2YXIgcz1yW29dLGM9cy5mO2lmKCEoIWkmJnM9PT1JKSl7dmFyIGw9KGMmY2UpPT09MDtpZihsJiZEKHMsdCksYyYyKXt2YXIgdT1zO00/LmRlbGV0ZSh1KSxjJjY1NTM2fHwoYyY1MTImJihJPT09bnVsbHx8IShJLmYmMjA5NzE1MikpJiYocy5mfD12ZSksQW4odSxsZSxuKSl9ZWxzZSBpZihsKXt2YXIgZD1zO2MmMTYmJkp0IT09bnVsbCYmSnQuYWRkKGQpLG49PT1udWxsP1F0KGQpOm4ucHVzaChkKX19fX1mdW5jdGlvbiBqbihlKXtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxTZSBpbiBlKXJldHVybiBlO2xldCB0PWIoZSk7aWYodCE9PXkmJnQhPT1lZSlyZXR1cm4gZTt2YXIgbj1uZXcgTWFwLHI9ZihlKSxpPUNuKDApLGE9bnVsbCxvPVZyLHM9ZT0+e2lmKFZyPT09bylyZXR1cm4gZSgpO3ZhciB0PUYsbj1WcjtNcihudWxsKSxIcihvKTt2YXIgcj1lKCk7cmV0dXJuIE1yKHQpLEhyKG4pLHJ9O3JldHVybiByJiZuLnNldChgbGVuZ3RoYCxDbihlLmxlbmd0aCxhKSksbmV3IFByb3h5KGUse2RlZmluZVByb3BlcnR5KGUsdCxyKXsoIShgdmFsdWVgaW4gcil8fHIuY29uZmlndXJhYmxlPT09ITF8fHIuZW51bWVyYWJsZT09PSExfHxyLndyaXRhYmxlPT09ITEpJiZJZSgpO3ZhciBpPW4uZ2V0KHQpO3JldHVybiBpPT09dm9pZCAwP3MoKCk9Pnt2YXIgZT1DbihyLnZhbHVlLGEpO3JldHVybiBuLnNldCh0LGUpLGV9KTpUbihpLHIudmFsdWUsITApLCEwfSxkZWxldGVQcm9wZXJ0eShlLHQpe3ZhciByPW4uZ2V0KHQpO2lmKHI9PT12b2lkIDApe2lmKHQgaW4gZSl7bGV0IGU9cygoKT0+Q24oUyxhKSk7bi5zZXQodCxlKSxrbihpKX19ZWxzZSBUbihyLFMpLGtuKGkpO3JldHVybiEwfSxnZXQodCxyLGkpe2lmKHI9PT1TZSlyZXR1cm4gZTt2YXIgbz1uLmdldChyKSxjPXIgaW4gdDtpZihvPT09dm9pZCAwJiYoIWN8fF8odCxyKT8ud3JpdGFibGUpJiYobz1zKCgpPT5DbihqbihjP3Rbcl06UyksYSkpLG4uc2V0KHIsbykpLG8hPT12b2lkIDApe3ZhciBsPVIobyk7cmV0dXJuIGw9PT1TP3ZvaWQgMDpsfXJldHVybiBSZWZsZWN0LmdldCh0LHIsaSl9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe3ZhciByPVJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7aWYociYmYHZhbHVlYGluIHIpe3ZhciBpPW4uZ2V0KHQpO2kmJihyLnZhbHVlPVIoaSkpfWVsc2UgaWYocj09PXZvaWQgMCl7dmFyIGE9bi5nZXQodCksbz1hPy52O2lmKGEhPT12b2lkIDAmJm8hPT1TKXJldHVybntlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpvLHdyaXRhYmxlOiEwfX1yZXR1cm4gcn0saGFzKGUsdCl7aWYodD09PVNlKXJldHVybiEwO3ZhciByPW4uZ2V0KHQpLGk9ciE9PXZvaWQgMCYmci52IT09U3x8UmVmbGVjdC5oYXMoZSx0KTtyZXR1cm4ociE9PXZvaWQgMHx8SSE9PW51bGwmJighaXx8XyhlLHQpPy53cml0YWJsZSkpJiYocj09PXZvaWQgMCYmKHI9cygoKT0+Q24oaT9qbihlW3RdKTpTLGEpKSxuLnNldCh0LHIpKSxSKHIpPT09Uyk/ITE6aX0sc2V0KGUsdCxvLGMpe3ZhciBsPW4uZ2V0KHQpLHU9dCBpbiBlO2lmKHImJnQ9PT1gbGVuZ3RoYClmb3IodmFyIGQ9bztkPGwudjtkKz0xKXt2YXIgZj1uLmdldChkK2BgKTtmPT09dm9pZCAwP2QgaW4gZSYmKGY9cygoKT0+Q24oUyxhKSksbi5zZXQoZCtgYCxmKSk6VG4oZixTKX1pZihsPT09dm9pZCAwKSghdXx8XyhlLHQpPy53cml0YWJsZSkmJihsPXMoKCk9PkNuKHZvaWQgMCxhKSksVG4obCxqbihvKSksbi5zZXQodCxsKSk7ZWxzZXt1PWwudiE9PVM7dmFyIHA9cygoKT0+am4obykpO1RuKGwscCl9dmFyIG09UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTtpZihtPy5zZXQmJm0uc2V0LmNhbGwoYyxvKSwhdSl7aWYociYmdHlwZW9mIHQ9PWBzdHJpbmdgKXt2YXIgaD1uLmdldChgbGVuZ3RoYCksZz1OdW1iZXIodCk7TnVtYmVyLmlzSW50ZWdlcihnKSYmZz49aC52JiZUbihoLGcrMSl9a24oaSl9cmV0dXJuITB9LG93bktleXMoZSl7UihpKTt2YXIgdD1SZWZsZWN0Lm93bktleXMoZSkuZmlsdGVyKGU9Pnt2YXIgdD1uLmdldChlKTtyZXR1cm4gdD09PXZvaWQgMHx8dC52IT09U30pO2Zvcih2YXJbcixhXW9mIG4pYS52IT09UyYmIShyIGluIGUpJiZ0LnB1c2gocik7cmV0dXJuIHR9LHNldFByb3RvdHlwZU9mKCl7TGUoKX19KX1mdW5jdGlvbiBNbihlKXt0cnl7aWYodHlwZW9mIGU9PWBvYmplY3RgJiZlJiZTZSBpbiBlKXJldHVybiBlW1NlXX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gTm4oZSx0KXtyZXR1cm4gT2JqZWN0LmlzKE1uKGUpLE1uKHQpKX12YXIgUG4sRm4sSW4sTG47ZnVuY3Rpb24gUm4oKXtpZihQbj09PXZvaWQgMCl7UG49d2luZG93LEZuPS9GaXJlZm94Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO3ZhciBlPUVsZW1lbnQucHJvdG90eXBlLHQ9Tm9kZS5wcm90b3R5cGUsbj1UZXh0LnByb3RvdHlwZTtJbj1fKHQsYGZpcnN0Q2hpbGRgKS5nZXQsTG49Xyh0LGBuZXh0U2libGluZ2ApLmdldCx0ZShlKSYmKGUuX19jbGljaz12b2lkIDAsZS5fX2NsYXNzTmFtZT12b2lkIDAsZS5fX2F0dHJpYnV0ZXM9bnVsbCxlLl9fc3R5bGU9dm9pZCAwLGUuX19lPXZvaWQgMCksdGUobikmJihuLl9fdD12b2lkIDApfX1mdW5jdGlvbiB6bihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gSW4uY2FsbChlKX1mdW5jdGlvbiBCbihlKXtyZXR1cm4gTG4uY2FsbChlKX1mdW5jdGlvbiBWbihlLHQpe2lmKCFDKXJldHVybiBOKGUpO3ZhciBuPU4odyk7aWYobj09PW51bGwpbj13LmFwcGVuZENoaWxkKHpuKCkpO2Vsc2UgaWYodCYmbi5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIG4/LmJlZm9yZShyKSxUKHIpLHJ9cmV0dXJuIHQmJkpuKG4pLFQobiksbn1mdW5jdGlvbiBIbihlLHQ9ITEpe2lmKCFDKXt2YXIgbj1OKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQ29tbWVudCYmbi5kYXRhPT09YGA/Qm4obik6bn1pZih0KXtpZih3Py5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIHc/LmJlZm9yZShyKSxUKHIpLHJ9Sm4odyl9cmV0dXJuIHd9ZnVuY3Rpb24gVW4oZSx0PTEsbj0hMSl7bGV0IHI9Qz93OmU7Zm9yKHZhciBpO3QtLTspaT1yLHI9Qm4ocik7aWYoIUMpcmV0dXJuIHI7aWYobil7aWYocj8ubm9kZVR5cGUhPT0zKXt2YXIgYT16bigpO3JldHVybiByPT09bnVsbD9pPy5hZnRlcihhKTpyLmJlZm9yZShhKSxUKGEpLGF9Sm4ocil9cmV0dXJuIFQocikscn1mdW5jdGlvbiBXbihlKXtlLnRleHRDb250ZW50PWBgfWZ1bmN0aW9uIEduKCl7cmV0dXJuIXJ0fHxKdCE9PW51bGw/ITE6KEkuZiZmZSkhPT0wfWZ1bmN0aW9uIEtuKGUsdCxuKXtsZXQgcj1uP3tpczpufTp2b2lkIDA7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0Pz9gaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbGAsZSxyKX1mdW5jdGlvbiBxbihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlKX1mdW5jdGlvbiBKbihlKXtpZihlLm5vZGVWYWx1ZS5sZW5ndGg8NjU1MzYpcmV0dXJuO2xldCB0PWUubmV4dFNpYmxpbmc7Zm9yKDt0IT09bnVsbCYmdC5ub2RlVHlwZT09PTM7KXQucmVtb3ZlKCksZS5ub2RlVmFsdWUrPXQubm9kZVZhbHVlLHQ9ZS5uZXh0U2libGluZ31mdW5jdGlvbiBZbihlLHQpe2lmKHQpe2xldCB0PWRvY3VtZW50LmJvZHk7ZS5hdXRvZm9jdXM9ITAsZ3QoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dCYmZS5mb2N1cygpfSl9fWZ1bmN0aW9uIFhuKGUpe0MmJk4oZSkhPT1udWxsJiZXbihlKX12YXIgWm49ITE7ZnVuY3Rpb24gUW4oKXtabnx8KFpuPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHJlc2V0YCxlPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2lmKCFlLmRlZmF1bHRQcmV2ZW50ZWQpZm9yKGxldCB0IG9mIGUudGFyZ2V0LmVsZW1lbnRzKXQuX19vbl9yPy4oKX0pfSx7Y2FwdHVyZTohMH0pKX1mdW5jdGlvbiAkbihlKXt2YXIgdD1GLG49STtNcihudWxsKSxOcihudWxsKTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e01yKHQpLE5yKG4pfX1mdW5jdGlvbiBlcihlLHQsbixyPW4pe2UuYWRkRXZlbnRMaXN0ZW5lcih0LCgpPT4kbihuKSk7bGV0IGk9ZS5fX29uX3I7aT9lLl9fb25fcj0oKT0+e2koKSxyKCEwKX06ZS5fX29uX3I9KCk9PnIoITApLFFuKCl9ZnVuY3Rpb24gdHIoZSl7ST09PW51bGwmJihGPT09bnVsbCYmTWUoZSksamUoKSksa3ImJkFlKGUpfWZ1bmN0aW9uIG5yKGUsdCl7dmFyIG49dC5sYXN0O249PT1udWxsP3QubGFzdD10LmZpcnN0PWU6KG4ubmV4dD1lLGUucHJldj1uLHQubGFzdD1lKX1mdW5jdGlvbiBycihlLHQpe3ZhciBuPUk7biE9PW51bGwmJm4uZiY4MTkyJiYoZXw9dWUpO3ZhciByPXtjdHg6RSxkZXBzOm51bGwsbm9kZXM6bnVsbCxmOmV8Y2V8NTEyLGZpcnN0Om51bGwsZm46dCxsYXN0Om51bGwsbmV4dDpudWxsLHBhcmVudDpuLGI6biYmbi5iLHByZXY6bnVsbCx0ZWFyZG93bjpudWxsLHd2OjAsYWM6bnVsbH07aj8ucmVnaXN0ZXJfY3JlYXRlZF9lZmZlY3Qocik7dmFyIGk9cjtpZihlJjQpVnQ9PT1udWxsP0d0LmVuc3VyZSgpLnNjaGVkdWxlKHIpOlZ0LnB1c2gocik7ZWxzZSBpZih0IT09bnVsbCl7dHJ5e1lyKHIpfWNhdGNoKGUpe3Rocm93IFAociksZX1pLmRlcHM9PT1udWxsJiZpLnRlYXJkb3duPT09bnVsbCYmaS5ub2Rlcz09PW51bGwmJmkuZmlyc3Q9PT1pLmxhc3QmJiEoaS5mJjUyNDI4OCkmJihpPWkuZmlyc3QsZSYxNiYmZSY2NTUzNiYmaSE9PW51bGwmJihpLmZ8PW1lKSl9aWYoaSE9PW51bGwmJihpLnBhcmVudD1uLG4hPT1udWxsJiZucihpLG4pLEYhPT1udWxsJiZGLmYmMiYmIShlJjY0KSkpe3ZhciBhPUY7KGEuZWZmZWN0cz8/PVtdKS5wdXNoKGkpfXJldHVybiByfWZ1bmN0aW9uIGlyKCl7cmV0dXJuIEYhPT1udWxsJiYhanJ9ZnVuY3Rpb24gYXIoZSl7bGV0IHQ9cnIoOCxudWxsKTtyZXR1cm4gRCh0LHNlKSx0LnRlYXJkb3duPWUsdH1mdW5jdGlvbiBvcihlKXt0cihgJGVmZmVjdGApO3ZhciB0PUkuZjtpZighRiYmdCYzMiYmISh0JjMyNzY4KSl7dmFyIG49RTsobi5lPz89W10pLnB1c2goZSl9ZWxzZSByZXR1cm4gc3IoZSl9ZnVuY3Rpb24gc3IoZSl7cmV0dXJuIHJyKDR8Z2UsZSl9ZnVuY3Rpb24gY3IoZSl7cmV0dXJuIHRyKGAkZWZmZWN0LnByZWApLHJyKDh8Z2UsZSl9ZnVuY3Rpb24gbHIoZSl7R3QuZW5zdXJlKCk7bGV0IHQ9cnIoNjR8aGUsZSk7cmV0dXJuKGU9e30pPT5uZXcgUHJvbWlzZShuPT57ZS5vdXRybz9Tcih0LCgpPT57UCh0KSxuKHZvaWQgMCl9KTooUCh0KSxuKHZvaWQgMCkpfSl9ZnVuY3Rpb24gdXIoZSl7cmV0dXJuIHJyKDQsZSl9ZnVuY3Rpb24gZHIoZSl7cmV0dXJuIHJyKGJlfGhlLGUpfWZ1bmN0aW9uIGZyKGUsdD0wKXtyZXR1cm4gcnIoOHx0LGUpfWZ1bmN0aW9uIHByKGUsdD1bXSxuPVtdLHI9W10pe29uKHIsdCxuLHQ9Pntycig4LCgpPT5lKC4uLnQubWFwKFIpKSl9KX1mdW5jdGlvbiBtcihlLHQ9MCl7cmV0dXJuIHJyKDE2fHQsZSl9ZnVuY3Rpb24gaHIoZSx0PTApe3JldHVybiBycihvZXx0LGUpfWZ1bmN0aW9uIGdyKGUpe3JldHVybiBycigzMnxoZSxlKX1mdW5jdGlvbiBfcihlKXt2YXIgdD1lLnRlYXJkb3duO2lmKHQhPT1udWxsKXtsZXQgZT1rcixuPUY7QXIoITApLE1yKG51bGwpO3RyeXt0LmNhbGwobnVsbCl9ZmluYWxseXtBcihlKSxNcihuKX19fWZ1bmN0aW9uIHZyKGUsdD0hMSl7dmFyIG49ZS5maXJzdDtmb3IoZS5maXJzdD1lLmxhc3Q9bnVsbDtuIT09bnVsbDspe2xldCBlPW4uYWM7ZSE9PW51bGwmJiRuKCgpPT57ZS5hYm9ydChUZSl9KTt2YXIgcj1uLm5leHQ7bi5mJjY0P24ucGFyZW50PW51bGw6UChuLHQpLG49cn19ZnVuY3Rpb24geXIoZSl7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KXt2YXIgbj10Lm5leHQ7dC5mJjMyfHxQKHQpLHQ9bn19ZnVuY3Rpb24gUChlLHQ9ITApe3ZhciBuPSExOyh0fHxlLmYmMjYyMTQ0KSYmZS5ub2RlcyE9PW51bGwmJmUubm9kZXMuZW5kIT09bnVsbCYmKGJyKGUubm9kZXMuc3RhcnQsZS5ub2Rlcy5lbmQpLG49ITApLEQoZSxwZSksdnIoZSx0JiYhbiksSnIoZSwwKTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpZS5zdG9wKCk7X3IoZSksZS5mXj1wZSxlLmZ8PWRlO3ZhciBpPWUucGFyZW50O2khPT1udWxsJiZpLmZpcnN0IT09bnVsbCYmeHIoZSksZS5uZXh0PWUucHJldj1lLnRlYXJkb3duPWUuY3R4PWUuZGVwcz1lLmZuPWUubm9kZXM9ZS5hYz1lLmI9bnVsbH1mdW5jdGlvbiBicihlLHQpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1lPT09dD9udWxsOkJuKGUpO2UucmVtb3ZlKCksZT1ufX1mdW5jdGlvbiB4cihlKXt2YXIgdD1lLnBhcmVudCxuPWUucHJldixyPWUubmV4dDtuIT09bnVsbCYmKG4ubmV4dD1yKSxyIT09bnVsbCYmKHIucHJldj1uKSx0IT09bnVsbCYmKHQuZmlyc3Q9PT1lJiYodC5maXJzdD1yKSx0Lmxhc3Q9PT1lJiYodC5sYXN0PW4pKX1mdW5jdGlvbiBTcihlLHQsbj0hMCl7dmFyIHI9W107Q3IoZSxyLCEwKTt2YXIgaT0oKT0+e24mJlAoZSksdCYmdCgpfSxhPXIubGVuZ3RoO2lmKGE+MCl7dmFyIG89KCk9Pi0tYXx8aSgpO2Zvcih2YXIgcyBvZiByKXMub3V0KG8pfWVsc2UgaSgpfWZ1bmN0aW9uIENyKGUsdCxuKXtpZighKGUuZiY4MTkyKSl7ZS5mXj11ZTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpKGUuaXNfZ2xvYmFsfHxuKSYmdC5wdXNoKGUpO2Zvcih2YXIgaT1lLmZpcnN0O2khPT1udWxsOyl7dmFyIGE9aS5uZXh0O2lmKCEoaS5mJjY0KSl7dmFyIG89KGkuZiY2NTUzNikhPTB8fChpLmYmMzIpIT0wJiYoZS5mJjE2KSE9MDtDcihpLHQsbz9uOiExKX1pPWF9fX1mdW5jdGlvbiB3cihlKXtUcihlLCEwKX1mdW5jdGlvbiBUcihlLHQpe2lmKGUuZiY4MTkyKXtlLmZePXVlLGUuZiYxMDI0fHwoRChlLGNlKSxHdC5lbnN1cmUoKS5zY2hlZHVsZShlKSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KXt2YXIgcj1uLm5leHQsaT0obi5mJjY1NTM2KSE9MHx8KG4uZiYzMikhPTA7VHIobixpP3Q6ITEpLG49cn12YXIgYT1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYoYSE9PW51bGwpZm9yKGxldCBlIG9mIGEpKGUuaXNfZ2xvYmFsfHx0KSYmZS5pbigpfX1mdW5jdGlvbiBFcihlLHQpe2lmKGUubm9kZXMpZm9yKHZhciBuPWUubm9kZXMuc3RhcnQscj1lLm5vZGVzLmVuZDtuIT09bnVsbDspe3ZhciBpPW49PT1yP251bGw6Qm4obik7dC5hcHBlbmQobiksbj1pfX12YXIgRHI9bnVsbCxPcj0hMSxrcj0hMTtmdW5jdGlvbiBBcihlKXtrcj1lfXZhciBGPW51bGwsanI9ITE7ZnVuY3Rpb24gTXIoZSl7Rj1lfXZhciBJPW51bGw7ZnVuY3Rpb24gTnIoZSl7ST1lfXZhciBQcj1udWxsO2Z1bmN0aW9uIEZyKGUpe0YhPT1udWxsJiYoIXJ0fHxGLmYmMikmJihQcj09PW51bGw/UHI9W2VdOlByLnB1c2goZSkpfXZhciBMPW51bGwsSXI9MCxMcj1udWxsO2Z1bmN0aW9uIFJyKGUpe0xyPWV9dmFyIHpyPTEsQnI9MCxWcj1CcjtmdW5jdGlvbiBIcihlKXtWcj1lfWZ1bmN0aW9uIFVyKCl7cmV0dXJuKyt6cn1mdW5jdGlvbiBXcihlKXt2YXIgdD1lLmY7aWYodCYyMDQ4KXJldHVybiEwO2lmKHQmMiYmKGUuZiY9fnZlKSx0JjQwOTYpe2Zvcih2YXIgbj1lLmRlcHMscj1uLmxlbmd0aCxpPTA7aTxyO2krKyl7dmFyIGE9bltpXTtpZihXcihhKSYmZ24oYSksYS53dj5lLnd2KXJldHVybiEwfXQmNTEyJiZNPT09bnVsbCYmRChlLHNlKX1yZXR1cm4hMX1mdW5jdGlvbiBHcihlLHQsbj0hMCl7dmFyIHI9ZS5yZWFjdGlvbnM7aWYociE9PW51bGwmJiEoIXJ0JiZQciE9PW51bGwmJm0uY2FsbChQcixlKSkpZm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBhPXJbaV07YS5mJjI/R3IoYSx0LCExKTp0PT09YSYmKG4/RChhLGNlKTphLmYmMTAyNCYmRChhLGxlKSxRdChhKSl9fWZ1bmN0aW9uIEtyKGUpe3ZhciB0PUwsbj1JcixyPUxyLGk9RixhPVByLG89RSxzPWpyLGM9VnIsbD1lLmY7TD1udWxsLElyPTAsTHI9bnVsbCxGPWwmOTY/bnVsbDplLFByPW51bGwsb3QoZS5jdHgpLGpyPSExLFZyPSsrQnIsZS5hYyE9PW51bGwmJigkbigoKT0+e2UuYWMuYWJvcnQoVGUpfSksZS5hYz1udWxsKTt0cnl7ZS5mfD15ZTt2YXIgdT1lLmZuLGQ9dSgpO2UuZnw9ZmU7dmFyIGY9ZS5kZXBzLHA9aj8uaXNfZm9yaztpZihMIT09bnVsbCl7dmFyIG07aWYocHx8SnIoZSxJciksZiE9PW51bGwmJklyPjApZm9yKGYubGVuZ3RoPUlyK0wubGVuZ3RoLG09MDttPEwubGVuZ3RoO20rKylmW0lyK21dPUxbbV07ZWxzZSBlLmRlcHM9Zj1MO2lmKGlyKCkmJmUuZiY1MTIpZm9yKG09SXI7bTxmLmxlbmd0aDttKyspKGZbbV0ucmVhY3Rpb25zPz89W10pLnB1c2goZSl9ZWxzZSAhcCYmZiE9PW51bGwmJklyPGYubGVuZ3RoJiYoSnIoZSxJciksZi5sZW5ndGg9SXIpO2lmKGR0KCkmJkxyIT09bnVsbCYmIWpyJiZmIT09bnVsbCYmIShlLmYmNjE0NikpZm9yKG09MDttPExyLmxlbmd0aDttKyspR3IoTHJbbV0sZSk7aWYoaSE9PW51bGwmJmkhPT1lKXtpZihCcisrLGkuZGVwcyE9PW51bGwpZm9yKGxldCBlPTA7ZTxuO2UrPTEpaS5kZXBzW2VdLnJ2PUJyO2lmKHQhPT1udWxsKWZvcihsZXQgZSBvZiB0KWUucnY9QnI7THIhPT1udWxsJiYocj09PW51bGw/cj1McjpyLnB1c2goLi4uTHIpKX1yZXR1cm4gZS5mJjgzODg2MDgmJihlLmZePXhlKSxkfWNhdGNoKGUpe3JldHVybiB2dChlKX1maW5hbGx5e2UuZl49eWUsTD10LElyPW4sTHI9cixGPWksUHI9YSxvdChvKSxqcj1zLFZyPWN9fWZ1bmN0aW9uIHFyKGUsdCl7bGV0IG49dC5yZWFjdGlvbnM7aWYobiE9PW51bGwpe3ZhciByPXAuY2FsbChuLGUpO2lmKHIhPT0tMSl7dmFyIGk9bi5sZW5ndGgtMTtpPT09MD9uPXQucmVhY3Rpb25zPW51bGw6KG5bcl09bltpXSxuLnBvcCgpKX19aWYobj09PW51bGwmJnQuZiYyJiYoTD09PW51bGx8fCFtLmNhbGwoTCx0KSkpe3ZhciBhPXQ7YS5mJjUxMiYmKGEuZl49NTEyLGEuZiY9fnZlKSxhLnYhPT1TJiZ4dChhKSxfbihhKSxKcihhLDApfX1mdW5jdGlvbiBKcihlLHQpe3ZhciBuPWUuZGVwcztpZihuIT09bnVsbClmb3IodmFyIHI9dDtyPG4ubGVuZ3RoO3IrKylxcihlLG5bcl0pfWZ1bmN0aW9uIFlyKGUpe3ZhciB0PWUuZjtpZighKHQmMTYzODQpKXtEKGUsc2UpO3ZhciBuPUkscj1PcjtJPWUsT3I9ITA7dHJ5e3QmMTY3NzcyMzI/eXIoZSk6dnIoZSksX3IoZSk7dmFyIGk9S3IoZSk7ZS50ZWFyZG93bj10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOm51bGwsZS53dj16cn1maW5hbGx5e09yPXIsST1ufX19YXN5bmMgZnVuY3Rpb24gWHIoKXtpZihydClyZXR1cm4gbmV3IFByb21pc2UoZT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+ZSgpKSxzZXRUaW1lb3V0KCgpPT5lKCkpfSk7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCksS3QoKX1mdW5jdGlvbiBSKGUpe3ZhciB0PShlLmYmMikhPTA7aWYoRHI/LmFkZChlKSxGIT09bnVsbCYmIWpyJiYhKEkhPT1udWxsJiZJLmYmMTYzODQpJiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSl7dmFyIG49Ri5kZXBzO2lmKEYuZiYyMDk3MTUyKWUucnY8QnImJihlLnJ2PUJyLEw9PT1udWxsJiZuIT09bnVsbCYmbltJcl09PT1lP0lyKys6TD09PW51bGw/TD1bZV06TC5wdXNoKGUpKTtlbHNleyhGLmRlcHM/Pz1bXSkucHVzaChlKTt2YXIgcj1lLnJlYWN0aW9ucztyPT09bnVsbD9lLnJlYWN0aW9ucz1bRl06bS5jYWxsKHIsRil8fHIucHVzaChGKX19aWYoa3ImJmJuLmhhcyhlKSlyZXR1cm4gYm4uZ2V0KGUpO2lmKHQpe3ZhciBpPWU7aWYoa3Ipe3ZhciBhPWkudjtyZXR1cm4oIShpLmYmMTAyNCkmJmkucmVhY3Rpb25zIT09bnVsbHx8UXIoaSkpJiYoYT1obihpKSksYm4uc2V0KGksYSksYX12YXIgbz0oaS5mJjUxMik9PTAmJiFqciYmRiE9PW51bGwmJihPcnx8KEYuZiY1MTIpIT0wKSxzPShpLmYmZmUpPT09MDtXcihpKSYmKG8mJihpLmZ8PTUxMiksZ24oaSkpLG8mJiFzJiYodm4oaSksWnIoaSkpfWlmKE0/LmhhcyhlKSlyZXR1cm4gTS5nZXQoZSk7aWYoZS5mJjgzODg2MDgpdGhyb3cgZS52O3JldHVybiBlLnZ9ZnVuY3Rpb24gWnIoZSl7aWYoZS5mfD01MTIsZS5kZXBzIT09bnVsbClmb3IobGV0IHQgb2YgZS5kZXBzKSh0LnJlYWN0aW9ucz8/PVtdKS5wdXNoKGUpLHQuZiYyJiYhKHQuZiY1MTIpJiYodm4odCksWnIodCkpfWZ1bmN0aW9uIFFyKGUpe2lmKGUudj09PVMpcmV0dXJuITA7aWYoZS5kZXBzPT09bnVsbClyZXR1cm4hMTtmb3IobGV0IHQgb2YgZS5kZXBzKWlmKGJuLmhhcyh0KXx8dC5mJjImJlFyKHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uICRyKGUpe3ZhciB0PWpyO3RyeXtyZXR1cm4ganI9ITAsZSgpfWZpbmFsbHl7anI9dH19ZnVuY3Rpb24gZWkoZSl7aWYoISh0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxlIGluc3RhbmNlb2YgRXZlbnRUYXJnZXQpKXtpZihTZSBpbiBlKXRpKGUpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCB0IGluIGUpe2xldCBuPWVbdF07dHlwZW9mIG49PWBvYmplY3RgJiZuJiZTZSBpbiBuJiZ0aShuKX19fWZ1bmN0aW9uIHRpKGUsdD1uZXcgU2V0KXtpZih0eXBlb2YgZT09YG9iamVjdGAmJmUmJiEoZSBpbnN0YW5jZW9mIEV2ZW50VGFyZ2V0KSYmIXQuaGFzKGUpKXt0LmFkZChlKSxlIGluc3RhbmNlb2YgRGF0ZSYmZS5nZXRUaW1lKCk7Zm9yKGxldCBuIGluIGUpdHJ5e3RpKGVbbl0sdCl9Y2F0Y2h7fWxldCBuPWIoZSk7aWYobiE9PU9iamVjdC5wcm90b3R5cGUmJm4hPT1BcnJheS5wcm90b3R5cGUmJm4hPT1NYXAucHJvdG90eXBlJiZuIT09U2V0LnByb3RvdHlwZSYmbiE9PURhdGUucHJvdG90eXBlKXtsZXQgdD12KG4pO2ZvcihsZXQgbiBpbiB0KXtsZXQgcj10W25dLmdldDtpZihyKXRyeXtyLmNhbGwoZSl9Y2F0Y2h7fX19fX1mdW5jdGlvbiBuaShlKXtyZXR1cm4gZS5lbmRzV2l0aChgY2FwdHVyZWApJiZlIT09YGdvdHBvaW50ZXJjYXB0dXJlYCYmZSE9PWBsb3N0cG9pbnRlcmNhcHR1cmVgfXZhciByaT1bYGJlZm9yZWlucHV0YCxgY2xpY2tgLGBjaGFuZ2VgLGBkYmxjbGlja2AsYGNvbnRleHRtZW51YCxgZm9jdXNpbmAsYGZvY3Vzb3V0YCxgaW5wdXRgLGBrZXlkb3duYCxga2V5dXBgLGBtb3VzZWRvd25gLGBtb3VzZW1vdmVgLGBtb3VzZW91dGAsYG1vdXNlb3ZlcmAsYG1vdXNldXBgLGBwb2ludGVyZG93bmAsYHBvaW50ZXJtb3ZlYCxgcG9pbnRlcm91dGAsYHBvaW50ZXJvdmVyYCxgcG9pbnRlcnVwYCxgdG91Y2hlbmRgLGB0b3VjaG1vdmVgLGB0b3VjaHN0YXJ0YF07ZnVuY3Rpb24gaWkoZSl7cmV0dXJuIHJpLmluY2x1ZGVzKGUpfXZhciBhaT1gYWxsb3dmdWxsc2NyZWVuLmFzeW5jLmF1dG9mb2N1cy5hdXRvcGxheS5jaGVja2VkLmNvbnRyb2xzLmRlZmF1bHQuZGlzYWJsZWQuZm9ybW5vdmFsaWRhdGUuaW5kZXRlcm1pbmF0ZS5pbmVydC5pc21hcC5sb29wLm11bHRpcGxlLm11dGVkLm5vbW9kdWxlLm5vdmFsaWRhdGUub3Blbi5wbGF5c2lubGluZS5yZWFkb25seS5yZXF1aXJlZC5yZXZlcnNlZC5zZWFtbGVzcy5zZWxlY3RlZC53ZWJraXRkaXJlY3RvcnkuZGVmZXIuZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmUuZGlzYWJsZXJlbW90ZXBsYXliYWNrYC5zcGxpdChgLmApLG9pPXtmb3Jtbm92YWxpZGF0ZTpgZm9ybU5vVmFsaWRhdGVgLGlzbWFwOmBpc01hcGAsbm9tb2R1bGU6YG5vTW9kdWxlYCxwbGF5c2lubGluZTpgcGxheXNJbmxpbmVgLHJlYWRvbmx5OmByZWFkT25seWAsZGVmYXVsdHZhbHVlOmBkZWZhdWx0VmFsdWVgLGRlZmF1bHRjaGVja2VkOmBkZWZhdWx0Q2hlY2tlZGAsc3Jjb2JqZWN0OmBzcmNPYmplY3RgLG5vdmFsaWRhdGU6YG5vVmFsaWRhdGVgLGFsbG93ZnVsbHNjcmVlbjpgYWxsb3dGdWxsc2NyZWVuYCxkaXNhYmxlcGljdHVyZWlucGljdHVyZTpgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmVgLGRpc2FibGVyZW1vdGVwbGF5YmFjazpgZGlzYWJsZVJlbW90ZVBsYXliYWNrYH07ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLG9pW2VdPz9lfVsuLi5haV07dmFyIGNpPVtgdG91Y2hzdGFydGAsYHRvdWNobW92ZWBdO2Z1bmN0aW9uIGxpKGUpe3JldHVybiBjaS5pbmNsdWRlcyhlKX12YXIgdWk9U3ltYm9sKGBldmVudHNgKSxkaT1uZXcgU2V0LGZpPW5ldyBTZXQ7ZnVuY3Rpb24gcGkoZSl7aWYoIUMpcmV0dXJuO2UucmVtb3ZlQXR0cmlidXRlKGBvbmxvYWRgKSxlLnJlbW92ZUF0dHJpYnV0ZShgb25lcnJvcmApO2xldCB0PWUuX19lO3QhPT12b2lkIDAmJihlLl9fZT12b2lkIDAscXVldWVNaWNyb3Rhc2soKCk9PntlLmlzQ29ubmVjdGVkJiZlLmRpc3BhdGNoRXZlbnQodCl9KSl9ZnVuY3Rpb24gbWkoZSx0LG4scj17fSl7ZnVuY3Rpb24gaShlKXtpZihyLmNhcHR1cmV8fHlpLmNhbGwodCxlKSwhZS5jYW5jZWxCdWJibGUpcmV0dXJuICRuKCgpPT5uPy5jYWxsKHRoaXMsZSkpfXJldHVybiBlLnN0YXJ0c1dpdGgoYHBvaW50ZXJgKXx8ZS5zdGFydHNXaXRoKGB0b3VjaGApfHxlPT09YHdoZWVsYD9ndCgoKT0+e3QuYWRkRXZlbnRMaXN0ZW5lcihlLGkscil9KTp0LmFkZEV2ZW50TGlzdGVuZXIoZSxpLHIpLGl9ZnVuY3Rpb24gaGkoZSx0LG4scixpKXt2YXIgYT17Y2FwdHVyZTpyLHBhc3NpdmU6aX0sbz1taShlLHQsbixhKTsodD09PWRvY3VtZW50LmJvZHl8fHQ9PT13aW5kb3d8fHQ9PT1kb2N1bWVudHx8dCBpbnN0YW5jZW9mIEhUTUxNZWRpYUVsZW1lbnQpJiZhcigoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG8sYSl9KX1mdW5jdGlvbiBnaShlLHQsbil7KHRbdWldPz89e30pW2VdPW59ZnVuY3Rpb24gX2koZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZGkuYWRkKGVbdF0pO2Zvcih2YXIgbiBvZiBmaSluKGUpfXZhciB2aT1udWxsO2Z1bmN0aW9uIHlpKGUpe3ZhciB0PXRoaXMsbj10Lm93bmVyRG9jdW1lbnQscj1lLnR5cGUsaT1lLmNvbXBvc2VkUGF0aD8uKCl8fFtdLGE9aVswXXx8ZS50YXJnZXQ7dmk9ZTt2YXIgbz0wLHM9dmk9PT1lJiZlW3VpXTtpZihzKXt2YXIgYz1pLmluZGV4T2Yocyk7aWYoYyE9PS0xJiYodD09PWRvY3VtZW50fHx0PT09d2luZG93KSl7ZVt1aV09dDtyZXR1cm59dmFyIGw9aS5pbmRleE9mKHQpO2lmKGw9PT0tMSlyZXR1cm47Yzw9bCYmKG89Yyl9aWYoYT1pW29dfHxlLnRhcmdldCxhIT09dCl7ZyhlLGBjdXJyZW50VGFyZ2V0YCx7Y29uZmlndXJhYmxlOiEwLGdldCgpe3JldHVybiBhfHxufX0pO3ZhciB1PUYsZD1JO01yKG51bGwpLE5yKG51bGwpO3RyeXtmb3IodmFyIGYscD1bXTthIT09bnVsbDspe3ZhciBtPWEuYXNzaWduZWRTbG90fHxhLnBhcmVudE5vZGV8fGEuaG9zdHx8bnVsbDt0cnl7dmFyIGg9YVt1aV0/LltyXTtoIT1udWxsJiYoIWEuZGlzYWJsZWR8fGUudGFyZ2V0PT09YSkmJmguY2FsbChhLGUpfWNhdGNoKGUpe2Y/cC5wdXNoKGUpOmY9ZX1pZihlLmNhbmNlbEJ1YmJsZXx8bT09PXR8fG09PT1udWxsKWJyZWFrO2E9bX1pZihmKXtmb3IobGV0IGUgb2YgcClxdWV1ZU1pY3JvdGFzaygoKT0+e3Rocm93IGV9KTt0aHJvdyBmfX1maW5hbGx5e2VbdWldPXQsZGVsZXRlIGUuY3VycmVudFRhcmdldCxNcih1KSxOcihkKX19fXZhciBiaT1nbG9iYWxUaGlzPy53aW5kb3c/LnRydXN0ZWRUeXBlcyYmZ2xvYmFsVGhpcy53aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeShgc3ZlbHRlLXRydXN0ZWQtaHRtbGAse2NyZWF0ZUhUTUw6ZT0+ZX0pO2Z1bmN0aW9uIHhpKGUpe3JldHVybiBiaT8uY3JlYXRlSFRNTChlKT8/ZX1mdW5jdGlvbiBTaShlKXt2YXIgdD1LbihgdGVtcGxhdGVgKTtyZXR1cm4gdC5pbm5lckhUTUw9eGkoZS5yZXBsYWNlQWxsKGA8IT5gLGA8IS0tLS0+YCkpLHQuY29udGVudH1mdW5jdGlvbiBDaShlLHQpe3ZhciBuPUk7bi5ub2Rlcz09PW51bGwmJihuLm5vZGVzPXtzdGFydDplLGVuZDp0LGE6bnVsbCx0Om51bGx9KX1mdW5jdGlvbiB3aShlLHQpe3ZhciBuPSh0JjEpIT0wLHI9KHQmMikhPTAsaSxhPSFlLnN0YXJ0c1dpdGgoYDwhPmApO3JldHVybigpPT57aWYoQylyZXR1cm4gQ2kodyxudWxsKSx3O2k9PT12b2lkIDAmJihpPVNpKGE/ZTpgPCE+YCtlKSxufHwoaT1OKGkpKSk7dmFyIHQ9cnx8Rm4/ZG9jdW1lbnQuaW1wb3J0Tm9kZShpLCEwKTppLmNsb25lTm9kZSghMCk7aWYobil7dmFyIG89Tih0KSxzPXQubGFzdENoaWxkO0NpKG8scyl9ZWxzZSBDaSh0LHQpO3JldHVybiB0fX1mdW5jdGlvbiBUaShlLHQsbj1gc3ZnYCl7dmFyIHI9IWUuc3RhcnRzV2l0aChgPCE+YCksaT0odCYxKSE9MCxhPWA8JHtufT4ke3I/ZTpgPCE+YCtlfTwvJHtufT5gLG87cmV0dXJuKCk9PntpZihDKXJldHVybiBDaSh3LG51bGwpLHc7aWYoIW8pe3ZhciBlPU4oU2koYSkpO2lmKGkpZm9yKG89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO04oZSk7KW8uYXBwZW5kQ2hpbGQoTihlKSk7ZWxzZSBvPU4oZSl9dmFyIHQ9by5jbG9uZU5vZGUoITApO2lmKGkpe3ZhciBuPU4odCkscj10Lmxhc3RDaGlsZDtDaShuLHIpfWVsc2UgQ2kodCx0KTtyZXR1cm4gdH19ZnVuY3Rpb24gRWkoZSx0KXtyZXR1cm4gVGkoZSx0LGBzdmdgKX1mdW5jdGlvbiBEaShlPWBgKXtpZighQyl7dmFyIHQ9em4oZStgYCk7cmV0dXJuIENpKHQsdCksdH12YXIgbj13O3JldHVybiBuLm5vZGVUeXBlPT09Mz9KbihuKToobi5iZWZvcmUobj16bigpKSxUKG4pKSxDaShuLG4pLG59ZnVuY3Rpb24gT2koKXtpZihDKXJldHVybiBDaSh3LG51bGwpLHc7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudChgYCksbj16bigpO3JldHVybiBlLmFwcGVuZCh0LG4pLENpKHQsbiksZX1mdW5jdGlvbiBraShlLHQpe2lmKEMpe3ZhciBuPUk7KCEobi5mJjMyNzY4KXx8bi5ub2Rlcy5lbmQ9PT1udWxsKSYmKG4ubm9kZXMuZW5kPXcpLFllKCk7cmV0dXJufWUhPT1udWxsJiZlLmJlZm9yZSh0KX12YXIgQWk9ITA7ZnVuY3Rpb24gamkoZSx0KXt2YXIgbj10PT1udWxsP2BgOnR5cGVvZiB0PT1gb2JqZWN0YD9gJHt0fWA6dDtuIT09KGUuX190Pz89ZS5ub2RlVmFsdWUpJiYoZS5fX3Q9bixlLm5vZGVWYWx1ZT1gJHtufWApfWZ1bmN0aW9uIE1pKGUsdCl7cmV0dXJuIFBpKGUsdCl9dmFyIE5pPW5ldyBNYXA7ZnVuY3Rpb24gUGkoZSx7dGFyZ2V0OnQsYW5jaG9yOm4scHJvcHM6cj17fSxldmVudHM6aSxjb250ZXh0OmEsaW50cm86bz0hMCx0cmFuc2Zvcm1FcnJvcjpzfSl7Um4oKTt2YXIgYz12b2lkIDAsbD1scigoKT0+e3ZhciBsPW4/P3QuYXBwZW5kQ2hpbGQoem4oKSk7cm4obCx7cGVuZGluZzooKT0+e319LHQ9PntsdCh7fSk7dmFyIG49RTtpZihhJiYobi5jPWEpLGkmJihyLiQkZXZlbnRzPWkpLEMmJkNpKHQsbnVsbCksQWk9byxjPWUodCxyKXx8e30sQWk9ITAsQyYmKEkubm9kZXMuZW5kPXcsdz09PW51bGx8fHcubm9kZVR5cGUhPT04fHx3LmRhdGEhPT1gXWApKXRocm93IEdlKCksQmU7dXQoKX0scyk7dmFyIHU9bmV3IFNldCxkPWU9Pntmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtpZighdS5oYXMocikpe3UuYWRkKHIpO3ZhciBpPWxpKHIpO2ZvcihsZXQgZSBvZlt0LGRvY3VtZW50XSl7dmFyIGE9TmkuZ2V0KGUpO2E9PT12b2lkIDAmJihhPW5ldyBNYXAsTmkuc2V0KGUsYSkpO3ZhciBvPWEuZ2V0KHIpO289PT12b2lkIDA/KGUuYWRkRXZlbnRMaXN0ZW5lcihyLHlpLHtwYXNzaXZlOml9KSxhLnNldChyLDEpKTphLnNldChyLG8rMSl9fX19O3JldHVybiBkKGgoZGkpKSxmaS5hZGQoZCksKCk9Pntmb3IodmFyIGUgb2YgdSlmb3IobGV0IG4gb2ZbdCxkb2N1bWVudF0pe3ZhciByPU5pLmdldChuKSxpPXIuZ2V0KGUpOy0taT09MD8obi5yZW1vdmVFdmVudExpc3RlbmVyKGUseWkpLHIuZGVsZXRlKGUpLHIuc2l6ZT09PTAmJk5pLmRlbGV0ZShuKSk6ci5zZXQoZSxpKX1maS5kZWxldGUoZCksbCE9PW4mJmwucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQobCl9fSk7cmV0dXJuIEZpLnNldChjLGwpLGN9dmFyIEZpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIElpKGUsdCl7bGV0IG49RmkuZ2V0KGUpO3JldHVybiBuPyhGaS5kZWxldGUoZSksbih0KSk6UHJvbWlzZS5yZXNvbHZlKCl9dmFyIExpPWNsYXNze2FuY2hvcjsjZT1uZXcgTWFwOyN0PW5ldyBNYXA7I249bmV3IE1hcDsjcj1uZXcgU2V0OyNpPSEwO2NvbnN0cnVjdG9yKGUsdD0hMCl7dGhpcy5hbmNob3I9ZSx0aGlzLiNpPXR9I2E9ZT0+e2lmKHRoaXMuI2UuaGFzKGUpKXt2YXIgdD10aGlzLiNlLmdldChlKSxuPXRoaXMuI3QuZ2V0KHQpO2lmKG4pd3IobiksdGhpcy4jci5kZWxldGUodCk7ZWxzZXt2YXIgcj10aGlzLiNuLmdldCh0KTtyJiYodGhpcy4jdC5zZXQodCxyLmVmZmVjdCksdGhpcy4jbi5kZWxldGUodCksci5mcmFnbWVudC5sYXN0Q2hpbGQucmVtb3ZlKCksdGhpcy5hbmNob3IuYmVmb3JlKHIuZnJhZ21lbnQpLG49ci5lZmZlY3QpfWZvcihsZXRbdCxuXW9mIHRoaXMuI2Upe2lmKHRoaXMuI2UuZGVsZXRlKHQpLHQ9PT1lKWJyZWFrO2xldCByPXRoaXMuI24uZ2V0KG4pO3ImJihQKHIuZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShuKSl9Zm9yKGxldFtlLHJdb2YgdGhpcy4jdCl7aWYoZT09PXR8fHRoaXMuI3IuaGFzKGUpKWNvbnRpbnVlO2xldCBpPSgpPT57aWYoQXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKS5pbmNsdWRlcyhlKSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO0VyKHIsdCksdC5hcHBlbmQoem4oKSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OnIsZnJhZ21lbnQ6dH0pfWVsc2UgUChyKTt0aGlzLiNyLmRlbGV0ZShlKSx0aGlzLiN0LmRlbGV0ZShlKX07dGhpcy4jaXx8IW4/KHRoaXMuI3IuYWRkKGUpLFNyKHIsaSwhMSkpOmkoKX19fTsjbz1lPT57dGhpcy4jZS5kZWxldGUoZSk7bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKTtmb3IobGV0W2Usbl1vZiB0aGlzLiNuKXQuaW5jbHVkZXMoZSl8fChQKG4uZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShlKSl9O2Vuc3VyZShlLHQpe3ZhciBuPWoscj1HbigpO2lmKHQmJiF0aGlzLiN0LmhhcyhlKSYmIXRoaXMuI24uaGFzKGUpKWlmKHIpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxhPXpuKCk7aS5hcHBlbmQoYSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OmdyKCgpPT50KGEpKSxmcmFnbWVudDppfSl9ZWxzZSB0aGlzLiN0LnNldChlLGdyKCgpPT50KHRoaXMuYW5jaG9yKSkpO2lmKHRoaXMuI2Uuc2V0KG4sZSkscil7Zm9yKGxldFt0LHJdb2YgdGhpcy4jdCl0PT09ZT9uLnVuc2tpcF9lZmZlY3Qocik6bi5za2lwX2VmZmVjdChyKTtmb3IobGV0W3Qscl1vZiB0aGlzLiNuKXQ9PT1lP24udW5za2lwX2VmZmVjdChyLmVmZmVjdCk6bi5za2lwX2VmZmVjdChyLmVmZmVjdCk7bi5vbmNvbW1pdCh0aGlzLiNhKSxuLm9uZGlzY2FyZCh0aGlzLiNvKX1lbHNlIEMmJih0aGlzLmFuY2hvcj13KSx0aGlzLiNhKG4pfX07ZnVuY3Rpb24gUmkoZSx0LG49ITEpe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpLGE9bj9tZTowO2Z1bmN0aW9uIG8oZSx0KXtpZihDKXt2YXIgbj0kZShyKTtpZihlIT09cGFyc2VJbnQobi5zdWJzdHJpbmcoMSkpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSx0KSxKZSghMCk7cmV0dXJufX1pLmVuc3VyZShlLHQpfW1yKCgpPT57dmFyIGU9ITE7dCgodCxuPTApPT57ZT0hMCxvKG4sdCl9KSxlfHxvKC0xLG51bGwpfSxhKX12YXIgemk9U3ltYm9sKGBOYU5gKTtmdW5jdGlvbiBCaShlLHQsbil7QyYmWWUoKTt2YXIgcj1uZXcgTGkoZSksaT0hZHQoKTttcigoKT0+e3ZhciBlPXQoKTtlIT09ZSYmKGU9emkpLGkmJnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmKGU9e30pLHIuZW5zdXJlKGUsbil9KX1mdW5jdGlvbiBWaShlLHQpe3JldHVybiB0fWZ1bmN0aW9uIEhpKGUsdCxuKXtmb3IodmFyIHI9W10saT10Lmxlbmd0aCxhLG89dC5sZW5ndGgscz0wO3M8aTtzKyspe2xldCBuPXRbc107U3IobiwoKT0+e2lmKGEpe2lmKGEucGVuZGluZy5kZWxldGUobiksYS5kb25lLmFkZChuKSxhLnBlbmRpbmcuc2l6ZT09PTApe3ZhciB0PWUub3V0cm9ncm91cHM7VWkoZSxoKGEuZG9uZSkpLHQuZGVsZXRlKGEpLHQuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfX1lbHNlIC0tb30sITEpfWlmKG89PT0wKXt2YXIgYz1yLmxlbmd0aD09PTAmJm4hPT1udWxsO2lmKGMpe3ZhciBsPW4sdT1sLnBhcmVudE5vZGU7V24odSksdS5hcHBlbmQobCksZS5pdGVtcy5jbGVhcigpfVVpKGUsdCwhYyl9ZWxzZSBhPXtwZW5kaW5nOm5ldyBTZXQodCksZG9uZTpuZXcgU2V0fSwoZS5vdXRyb2dyb3Vwcz8/PW5ldyBTZXQpLmFkZChhKX1mdW5jdGlvbiBVaShlLHQsbj0hMCl7dmFyIHI7aWYoZS5wZW5kaW5nLnNpemU+MCl7cj1uZXcgU2V0O2ZvcihsZXQgdCBvZiBlLnBlbmRpbmcudmFsdWVzKCkpZm9yKGxldCBuIG9mIHQpci5hZGQoZS5pdGVtcy5nZXQobikuZSl9Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV07cj8uaGFzKGEpPyhhLmZ8PV9lLEVyKGEsZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSk6UCh0W2ldLG4pfX12YXIgV2k7ZnVuY3Rpb24gR2koZSx0LG4scixpLGE9bnVsbCl7dmFyIG89ZSxzPW5ldyBNYXA7aWYodCY0KXt2YXIgYz1lO289Qz9UKE4oYykpOmMuYXBwZW5kQ2hpbGQoem4oKSl9QyYmWWUoKTt2YXIgbD1udWxsLHU9cG4oKCk9Pnt2YXIgZT1uKCk7cmV0dXJuIGYoZSk/ZTplPT1udWxsP1tdOmgoZSl9KSxkLHA9bmV3IE1hcCxtPSEwO2Z1bmN0aW9uIGcoZSl7di5lZmZlY3QuZiYxNjM4NHx8KHYucGVuZGluZy5kZWxldGUoZSksdi5mYWxsYmFjaz1sLHFpKHYsZCxvLHQsciksbCE9PW51bGwmJihkLmxlbmd0aD09PTA/bC5mJjMzNTU0NDMyPyhsLmZePV9lLFlpKGwsbnVsbCxvKSk6d3IobCk6U3IobCwoKT0+e2w9bnVsbH0pKSl9ZnVuY3Rpb24gXyhlKXt2LnBlbmRpbmcuZGVsZXRlKGUpfXZhciB2PXtlZmZlY3Q6bXIoKCk9PntkPVIodSk7dmFyIGU9ZC5sZW5ndGg7bGV0IGM9ITE7QyYmJGUobyk9PT1gWyFgIT0oZT09PTApJiYobz1RZSgpLFQobyksSmUoITEpLGM9ITApO2Zvcih2YXIgZj1uZXcgU2V0LGg9aix2PUduKCkseT0wO3k8ZTt5Kz0xKXtDJiZ3Lm5vZGVUeXBlPT09OCYmdy5kYXRhPT09YF1gJiYobz13LGM9ITAsSmUoITEpKTt2YXIgZWU9ZFt5XSxiPXIoZWUseSksdGU9bT9udWxsOnMuZ2V0KGIpO3RlPyh0ZS52JiZFbih0ZS52LGVlKSx0ZS5pJiZFbih0ZS5pLHkpLHYmJmgudW5za2lwX2VmZmVjdCh0ZS5lKSk6KHRlPUppKHMsbT9vOldpPz89em4oKSxlZSxiLHksaSx0LG4pLG18fCh0ZS5lLmZ8PV9lKSxzLnNldChiLHRlKSksZi5hZGQoYil9aWYoZT09PTAmJmEmJiFsJiYobT9sPWdyKCgpPT5hKG8pKToobD1ncigoKT0+YShXaT8/PXpuKCkpKSxsLmZ8PV9lKSksZT5mLnNpemUmJmtlKGBgLGBgLGBgKSxDJiZlPjAmJlQoUWUoKSksIW0paWYocC5zZXQoaCxmKSx2KXtmb3IobGV0W2UsdF1vZiBzKWYuaGFzKGUpfHxoLnNraXBfZWZmZWN0KHQuZSk7aC5vbmNvbW1pdChnKSxoLm9uZGlzY2FyZChfKX1lbHNlIGcoaCk7YyYmSmUoITApLFIodSl9KSxmbGFnczp0LGl0ZW1zOnMscGVuZGluZzpwLG91dHJvZ3JvdXBzOm51bGwsZmFsbGJhY2s6bH07bT0hMSxDJiYobz13KX1mdW5jdGlvbiBLaShlKXtmb3IoO2UhPT1udWxsJiYhKGUuZiYzMik7KWU9ZS5uZXh0O3JldHVybiBlfWZ1bmN0aW9uIHFpKGUsdCxuLHIsaSl7dmFyIGE9KHImOCkhPTAsbz10Lmxlbmd0aCxzPWUuaXRlbXMsYz1LaShlLmVmZmVjdC5maXJzdCksbCx1PW51bGwsZCxmPVtdLHA9W10sbSxnLF8sdjtpZihhKWZvcih2PTA7djxvO3YrPTEpbT10W3ZdLGc9aShtLHYpLF89cy5nZXQoZykuZSxfLmYmMzM1NTQ0MzJ8fChfLm5vZGVzPy5hPy5tZWFzdXJlKCksKGQ/Pz1uZXcgU2V0KS5hZGQoXykpO2Zvcih2PTA7djxvO3YrPTEpe2lmKG09dFt2XSxnPWkobSx2KSxfPXMuZ2V0KGcpLmUsZS5vdXRyb2dyb3VwcyE9PW51bGwpZm9yKGxldCB0IG9mIGUub3V0cm9ncm91cHMpdC5wZW5kaW5nLmRlbGV0ZShfKSx0LmRvbmUuZGVsZXRlKF8pO2lmKF8uZiY4MTkyJiYod3IoXyksYSYmKF8ubm9kZXM/LmE/LnVuZml4KCksKGQ/Pz1uZXcgU2V0KS5kZWxldGUoXykpKSxfLmYmMzM1NTQ0MzIpaWYoXy5mXj1fZSxfPT09YylZaShfLG51bGwsbik7ZWxzZXt2YXIgeT11P3UubmV4dDpjO189PT1lLmVmZmVjdC5sYXN0JiYoZS5lZmZlY3QubGFzdD1fLnByZXYpLF8ucHJldiYmKF8ucHJldi5uZXh0PV8ubmV4dCksXy5uZXh0JiYoXy5uZXh0LnByZXY9Xy5wcmV2KSxYaShlLHUsXyksWGkoZSxfLHkpLFlpKF8seSxuKSx1PV8sZj1bXSxwPVtdLGM9S2kodS5uZXh0KTtjb250aW51ZX1pZihfIT09Yyl7aWYobCE9PXZvaWQgMCYmbC5oYXMoXykpe2lmKGYubGVuZ3RoPHAubGVuZ3RoKXt2YXIgZWU9cFswXSxiO3U9ZWUucHJldjt2YXIgdGU9ZlswXSxuZT1mW2YubGVuZ3RoLTFdO2ZvcihiPTA7YjxmLmxlbmd0aDtiKz0xKVlpKGZbYl0sZWUsbik7Zm9yKGI9MDtiPHAubGVuZ3RoO2IrPTEpbC5kZWxldGUocFtiXSk7WGkoZSx0ZS5wcmV2LG5lLm5leHQpLFhpKGUsdSx0ZSksWGkoZSxuZSxlZSksYz1lZSx1PW5lLC0tdixmPVtdLHA9W119ZWxzZSBsLmRlbGV0ZShfKSxZaShfLGMsbiksWGkoZSxfLnByZXYsXy5uZXh0KSxYaShlLF8sdT09PW51bGw/ZS5lZmZlY3QuZmlyc3Q6dS5uZXh0KSxYaShlLHUsXyksdT1fO2NvbnRpbnVlfWZvcihmPVtdLHA9W107YyE9PW51bGwmJmMhPT1fOykobD8/PW5ldyBTZXQpLmFkZChjKSxwLnB1c2goYyksYz1LaShjLm5leHQpO2lmKGM9PT1udWxsKWNvbnRpbnVlfV8uZiYzMzU1NDQzMnx8Zi5wdXNoKF8pLHU9XyxjPUtpKF8ubmV4dCl9aWYoZS5vdXRyb2dyb3VwcyE9PW51bGwpe2ZvcihsZXQgdCBvZiBlLm91dHJvZ3JvdXBzKXQucGVuZGluZy5zaXplPT09MCYmKFVpKGUsaCh0LmRvbmUpKSxlLm91dHJvZ3JvdXBzPy5kZWxldGUodCkpO2Uub3V0cm9ncm91cHMuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfWlmKGMhPT1udWxsfHxsIT09dm9pZCAwKXt2YXIgeD1bXTtpZihsIT09dm9pZCAwKWZvcihfIG9mIGwpXy5mJjgxOTJ8fHgucHVzaChfKTtmb3IoO2MhPT1udWxsOykhKGMuZiY4MTkyKSYmYyE9PWUuZmFsbGJhY2smJngucHVzaChjKSxjPUtpKGMubmV4dCk7dmFyIHJlPXgubGVuZ3RoO2lmKHJlPjApe3ZhciBpZT1yJjQmJm89PT0wP246bnVsbDtpZihhKXtmb3Iodj0wO3Y8cmU7dis9MSl4W3ZdLm5vZGVzPy5hPy5tZWFzdXJlKCk7Zm9yKHY9MDt2PHJlO3YrPTEpeFt2XS5ub2Rlcz8uYT8uZml4KCl9SGkoZSx4LGllKX19YSYmZ3QoKCk9PntpZihkIT09dm9pZCAwKWZvcihfIG9mIGQpXy5ub2Rlcz8uYT8uYXBwbHkoKX0pfWZ1bmN0aW9uIEppKGUsdCxuLHIsaSxhLG8scyl7dmFyIGM9byYxP28mMTY/U24obik6d24obiwhMSwhMSk6bnVsbCxsPW8mMj9TbihpKTpudWxsO3JldHVybnt2OmMsaTpsLGU6Z3IoKCk9PihhKHQsYz8/bixsPz9pLHMpLCgpPT57ZS5kZWxldGUocil9KSl9fWZ1bmN0aW9uIFlpKGUsdCxuKXtpZihlLm5vZGVzKWZvcih2YXIgcj1lLm5vZGVzLnN0YXJ0LGk9ZS5ub2Rlcy5lbmQsYT10JiYhKHQuZiYzMzU1NDQzMik/dC5ub2Rlcy5zdGFydDpuO3IhPT1udWxsOyl7dmFyIG89Qm4ocik7aWYoYS5iZWZvcmUocikscj09PWkpcmV0dXJuO3I9b319ZnVuY3Rpb24gWGkoZSx0LG4pe3Q9PT1udWxsP2UuZWZmZWN0LmZpcnN0PW46dC5uZXh0PW4sbj09PW51bGw/ZS5lZmZlY3QubGFzdD10Om4ucHJldj10fWZ1bmN0aW9uIFppKGUsdCxuPSExLHI9ITEsaT0hMSxhPSExKXt2YXIgbz1lLHM9YGA7aWYobil7dmFyIGM9ZTtDJiYobz1UKE4oYykpKX1wcigoKT0+e3ZhciBlPUk7aWYocz09PShzPXQoKT8/YGApKXtDJiZZZSgpO3JldHVybn1pZihuJiYhQyl7ZS5ub2Rlcz1udWxsLGMuaW5uZXJIVE1MPXMscyE9PWBgJiZDaShOKGMpLGMubGFzdENoaWxkKTtyZXR1cm59aWYoZS5ub2RlcyE9PW51bGwmJihicihlLm5vZGVzLnN0YXJ0LGUubm9kZXMuZW5kKSxlLm5vZGVzPW51bGwpLHMhPT1gYCl7aWYoQyl7Zm9yKHZhciBhPXcuZGF0YSxsPVllKCksdT1sO2whPT1udWxsJiYobC5ub2RlVHlwZSE9PTh8fGwuZGF0YSE9PWBgKTspdT1sLGw9Qm4obCk7aWYobD09PW51bGwpdGhyb3cgR2UoKSxCZTtDaSh3LHUpLG89VChsKTtyZXR1cm59dmFyIGQ9S24ocj9gc3ZnYDppP2BtYXRoYDpgdGVtcGxhdGVgLHI/SGU6aT9VZTp2b2lkIDApO2QuaW5uZXJIVE1MPXM7dmFyIGY9cnx8aT9kOmQuY29udGVudDtpZihDaShOKGYpLGYubGFzdENoaWxkKSxyfHxpKWZvcig7TihmKTspby5iZWZvcmUoTihmKSk7ZWxzZSBvLmJlZm9yZShmKX19KX1mdW5jdGlvbiBRaShlLHQsLi4ubil7dmFyIHI9bmV3IExpKGUpO21yKCgpPT57bGV0IGU9dCgpPz9udWxsO3IuZW5zdXJlKGUsZSYmKHQ9PmUodCwuLi5uKSkpfSxtZSl9ZnVuY3Rpb24gJGkoZSx0LG4pe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpO21yKCgpPT57dmFyIGU9dCgpPz9udWxsO2lmKEMmJiRlKHIpPT09YFtgIT0oZSE9PW51bGwpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSxlJiYodD0+bih0LGUpKSksSmUoITApO3JldHVybn1pLmVuc3VyZShlLGUmJih0PT5uKHQsZSkpKX0sbWUpfXZhciBlYT0oKT0+cGVyZm9ybWFuY2Uubm93KCksdGE9e3RpY2s6ZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpLG5vdzooKT0+ZWEoKSx0YXNrczpuZXcgU2V0fTtmdW5jdGlvbiBuYSgpe2xldCBlPXRhLm5vdygpO3RhLnRhc2tzLmZvckVhY2godD0+e3QuYyhlKXx8KHRhLnRhc2tzLmRlbGV0ZSh0KSx0LmYoKSl9KSx0YS50YXNrcy5zaXplIT09MCYmdGEudGljayhuYSl9ZnVuY3Rpb24gcmEoZSl7bGV0IHQ7cmV0dXJuIHRhLnRhc2tzLnNpemU9PT0wJiZ0YS50aWNrKG5hKSx7cHJvbWlzZTpuZXcgUHJvbWlzZShuPT57dGEudGFza3MuYWRkKHQ9e2M6ZSxmOm59KX0pLGFib3J0KCl7dGEudGFza3MuZGVsZXRlKHQpfX19ZnVuY3Rpb24gaWEoZSx0KXskbigoKT0+e2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQodCkpfSl9ZnVuY3Rpb24gYWEoZSl7aWYoZT09PWBmbG9hdGApcmV0dXJuYGNzc0Zsb2F0YDtpZihlPT09YG9mZnNldGApcmV0dXJuYGNzc09mZnNldGA7aWYoZS5zdGFydHNXaXRoKGAtLWApKXJldHVybiBlO2xldCB0PWUuc3BsaXQoYC1gKTtyZXR1cm4gdC5sZW5ndGg9PT0xP3RbMF06dFswXSt0LnNsaWNlKDEpLm1hcChlPT5lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSkuam9pbihgYCl9ZnVuY3Rpb24gb2EoZSl7bGV0IHQ9e30sbj1lLnNwbGl0KGA7YCk7Zm9yKGxldCBlIG9mIG4pe2xldFtuLHJdPWUuc3BsaXQoYDpgKTtpZighbnx8cj09PXZvaWQgMClicmVhaztsZXQgaT1hYShuLnRyaW0oKSk7dFtpXT1yLnRyaW0oKX1yZXR1cm4gdH12YXIgc2E9ZT0+ZTtmdW5jdGlvbiBjYShlLHQsbixyKXt2YXIgaT0oZSYxKSE9MCxhPShlJjIpIT0wLG89aSYmYSxzPShlJjQpIT0wLGM9bz9gYm90aGA6aT9gaW5gOmBvdXRgLGwsdT10LmluZXJ0LGQ9dC5zdHlsZS5vdmVyZmxvdyxmLHA7ZnVuY3Rpb24gbSgpe3JldHVybiAkbigoKT0+bD8/PW4oKSh0LHI/LigpPz97fSx7ZGlyZWN0aW9uOmN9KSl9dmFyIGg9e2lzX2dsb2JhbDpzLGluKCl7aWYodC5pbmVydD11LCFpKXtwPy5hYm9ydCgpLHA/LnJlc2V0Py4oKTtyZXR1cm59YXx8Zj8uYWJvcnQoKSxmPWxhKHQsbSgpLHAsMSwoKT0+e2lhKHQsYGludHJvc3RhcnRgKX0sKCk9PntpYSh0LGBpbnRyb2VuZGApLGY/LmFib3J0KCksZj1sPXZvaWQgMCx0LnN0eWxlLm92ZXJmbG93PWR9KX0sb3V0KGUpe2lmKCFhKXtlPy4oKSxsPXZvaWQgMDtyZXR1cm59dC5pbmVydD0hMCxwPWxhKHQsbSgpLGYsMCwoKT0+e2lhKHQsYG91dHJvc3RhcnRgKX0sKCk9PntpYSh0LGBvdXRyb2VuZGApLGU/LigpfSl9LHN0b3A6KCk9PntmPy5hYm9ydCgpLHA/LmFib3J0KCl9fSxnPUk7aWYoKGcubm9kZXMudD8/PVtdKS5wdXNoKGgpLGkmJkFpKXt2YXIgXz1zO2lmKCFfKXtmb3IodmFyIHY9Zy5wYXJlbnQ7diYmdi5mJjY1NTM2Oylmb3IoOyh2PXYucGFyZW50KSYmISh2LmYmMTYpOyk7Xz0hdnx8KHYuZiYzMjc2OCkhPTB9XyYmdXIoKCk9PnskcigoKT0+aC5pbigpKX0pfX1mdW5jdGlvbiBsYShlLHQsbixyLGksYSl7dmFyIG89cj09PTE7aWYobmUodCkpe3ZhciBzLGM9ITE7cmV0dXJuIGd0KCgpPT57Y3x8KHM9bGEoZSx0KHtkaXJlY3Rpb246bz9gaW5gOmBvdXRgfSksbixyLGksYSkpfSkse2Fib3J0OigpPT57Yz0hMCxzPy5hYm9ydCgpfSxkZWFjdGl2YXRlOigpPT5zLmRlYWN0aXZhdGUoKSxyZXNldDooKT0+cy5yZXNldCgpLHQ6KCk9PnMudCgpfX1pZihuPy5kZWFjdGl2YXRlKCksIXQ/LmR1cmF0aW9uJiYhdD8uZGVsYXkpcmV0dXJuIGkoKSxhKCkse2Fib3J0OngsZGVhY3RpdmF0ZTp4LHJlc2V0OngsdDooKT0+cn07bGV0e2RlbGF5Omw9MCxjc3M6dSx0aWNrOmQsZWFzaW5nOmY9c2F9PXQ7dmFyIHA9W107aWYobyYmbj09PXZvaWQgMCYmKGQmJmQoMCwxKSx1KSl7dmFyIG09b2EodSgwLDEpKTtwLnB1c2gobSxtKX12YXIgaD0oKT0+MS1yLGc9ZS5hbmltYXRlKHAse2R1cmF0aW9uOmwsZmlsbDpgZm9yd2FyZHNgfSk7cmV0dXJuIGcub25maW5pc2g9KCk9PntnLmNhbmNlbCgpLGkoKTt2YXIgbz1uPy50KCk/PzEtcjtuPy5hYm9ydCgpO3ZhciBzPXItbyxjPXQuZHVyYXRpb24qTWF0aC5hYnMocyksbD1bXTtpZihjPjApe3ZhciBwPSExO2lmKHUpZm9yKHZhciBtPU1hdGguY2VpbChjLygxZTMvNjApKSxfPTA7Xzw9bTtfKz0xKXt2YXIgdj1vK3MqZihfL20pLHk9b2EodSh2LDEtdikpO2wucHVzaCh5KSxwfHw9eS5vdmVyZmxvdz09PWBoaWRkZW5gfXAmJihlLnN0eWxlLm92ZXJmbG93PWBoaWRkZW5gKSxoPSgpPT57dmFyIGU9Zy5jdXJyZW50VGltZTtyZXR1cm4gbytzKmYoZS9jKX0sZCYmcmEoKCk9PntpZihnLnBsYXlTdGF0ZSE9PWBydW5uaW5nYClyZXR1cm4hMTt2YXIgZT1oKCk7cmV0dXJuIGQoZSwxLWUpLCEwfSl9Zz1lLmFuaW1hdGUobCx7ZHVyYXRpb246YyxmaWxsOmBmb3J3YXJkc2B9KSxnLm9uZmluaXNoPSgpPT57aD0oKT0+cixkPy4ociwxLXIpLGEoKX19LHthYm9ydDooKT0+e2cmJihnLmNhbmNlbCgpLGcuZWZmZWN0PW51bGwsZy5vbmZpbmlzaD14KX0sZGVhY3RpdmF0ZTooKT0+e2E9eH0scmVzZXQ6KCk9PntyPT09MCYmZD8uKDEsMCl9LHQ6KCk9PmgoKX19ZnVuY3Rpb24gdWEoZSx0LG4pe3VyKCgpPT57dmFyIHI9JHIoKCk9PnQoZSxuPy4oKSl8fHt9KTtpZihuJiZyPy51cGRhdGUpe3ZhciBpPSExLGE9e307ZnIoKCk9Pnt2YXIgZT1uKCk7ZWkoZSksaSYmdHQoYSxlKSYmKGE9ZSxyLnVwZGF0ZShlKSl9KSxpPSEwfWlmKHI/LmRlc3Ryb3kpcmV0dXJuKCk9PnIuZGVzdHJveSgpfSl9ZnVuY3Rpb24gZGEoZSx0KXt2YXIgbj12b2lkIDAscjtocigoKT0+e24hPT0obj10KCkpJiYociYmPShQKHIpLG51bGwpLG4mJihyPWdyKCgpPT57dXIoKCk9Pm4oZSkpfSkpKX0pfWZ1bmN0aW9uIGZhKGUpe3ZhciB0LG4scj1gYDtpZih0eXBlb2YgZT09YHN0cmluZ2B8fHR5cGVvZiBlPT1gbnVtYmVyYClyKz1lO2Vsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgKWlmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciBpPWUubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKyllW3RdJiYobj1mYShlW3RdKSkmJihyJiYocis9YCBgKSxyKz1uKX1lbHNlIGZvcihuIGluIGUpZVtuXSYmKHImJihyKz1gIGApLHIrPW4pO3JldHVybiByfWZ1bmN0aW9uIHBhKCl7Zm9yKHZhciBlLHQsbj0wLHI9YGAsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspKGU9YXJndW1lbnRzW25dKSYmKHQ9ZmEoZSkpJiYociYmKHIrPWAgYCkscis9dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gbWEoZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YD9wYShlKTplPz9gYH12YXIgaGE9Wy4uLmAgCQpcclxmXHhBMFx277u/YF07ZnVuY3Rpb24gZ2EoZSx0LG4pe3ZhciByPWU9PW51bGw/YGA6YGArZTtpZih0JiYocj1yP3IrYCBgK3Q6dCksbil7Zm9yKHZhciBpIG9mIE9iamVjdC5rZXlzKG4pKWlmKG5baV0pcj1yP3IrYCBgK2k6aTtlbHNlIGlmKHIubGVuZ3RoKWZvcih2YXIgYT1pLmxlbmd0aCxvPTA7KG89ci5pbmRleE9mKGksbykpPj0wOyl7dmFyIHM9bythOyhvPT09MHx8aGEuaW5jbHVkZXMocltvLTFdKSkmJihzPT09ci5sZW5ndGh8fGhhLmluY2x1ZGVzKHJbc10pKT9yPShvPT09MD9gYDpyLnN1YnN0cmluZygwLG8pKStyLnN1YnN0cmluZyhzKzEpOm89c319cmV0dXJuIHI9PT1gYD9udWxsOnJ9ZnVuY3Rpb24gX2EoZSx0PSExKXt2YXIgbj10P2AgIWltcG9ydGFudDtgOmA7YCxyPWBgO2Zvcih2YXIgaSBvZiBPYmplY3Qua2V5cyhlKSl7dmFyIGE9ZVtpXTthIT1udWxsJiZhIT09YGAmJihyKz1gIGAraStgOiBgK2Erbil9cmV0dXJuIHJ9ZnVuY3Rpb24gdmEoZSl7cmV0dXJuIGVbMF0hPT1gLWB8fGVbMV0hPT1gLWA/ZS50b0xvd2VyQ2FzZSgpOmV9ZnVuY3Rpb24geWEoZSx0KXtpZih0KXt2YXIgbj1gYCxyLGk7aWYoQXJyYXkuaXNBcnJheSh0KT8ocj10WzBdLGk9dFsxXSk6cj10LGUpe2U9U3RyaW5nKGUpLnJlcGxhY2VBbGwoL1xzKlwvXCouKj9cKlwvXHMqL2csYGApLnRyaW0oKTt2YXIgYT0hMSxvPTAscz0hMSxjPVtdO3ImJmMucHVzaCguLi5PYmplY3Qua2V5cyhyKS5tYXAodmEpKSxpJiZjLnB1c2goLi4uT2JqZWN0LmtleXMoaSkubWFwKHZhKSk7dmFyIGw9MCx1PS0xO2xldCB0PWUubGVuZ3RoO2Zvcih2YXIgZD0wO2Q8dDtkKyspe3ZhciBmPWVbZF07aWYocz9mPT09YC9gJiZlW2QtMV09PT1gKmAmJihzPSExKTphP2E9PT1mJiYoYT0hMSk6Zj09PWAvYCYmZVtkKzFdPT09YCpgP3M9ITA6Zj09PWAiYHx8Zj09PWAnYD9hPWY6Zj09PWAoYD9vKys6Zj09PWApYCYmby0tLCFzJiZhPT09ITEmJm89PT0wKXtpZihmPT09YDpgJiZ1PT09LTEpdT1kO2Vsc2UgaWYoZj09PWA7YHx8ZD09PXQtMSl7aWYodSE9PS0xKXt2YXIgcD12YShlLnN1YnN0cmluZyhsLHUpLnRyaW0oKSk7aWYoIWMuaW5jbHVkZXMocCkpe2YhPT1gO2AmJmQrKzt2YXIgbT1lLnN1YnN0cmluZyhsLGQpLnRyaW0oKTtuKz1gIGArbStgO2B9fWw9ZCsxLHU9LTF9fX19cmV0dXJuIHImJihuKz1fYShyKSksaSYmKG4rPV9hKGksITApKSxuPW4udHJpbSgpLG49PT1gYD9udWxsOm59cmV0dXJuIGU9PW51bGw/bnVsbDpTdHJpbmcoZSl9ZnVuY3Rpb24gYmEoZSx0LG4scixpLGEpe3ZhciBvPWUuX19jbGFzc05hbWU7aWYoQ3x8byE9PW58fG89PT12b2lkIDApe3ZhciBzPWdhKG4scixhKTsoIUN8fHMhPT1lLmdldEF0dHJpYnV0ZShgY2xhc3NgKSkmJihzPT1udWxsP2UucmVtb3ZlQXR0cmlidXRlKGBjbGFzc2ApOnQ/ZS5jbGFzc05hbWU9czplLnNldEF0dHJpYnV0ZShgY2xhc3NgLHMpKSxlLl9fY2xhc3NOYW1lPW59ZWxzZSBpZihhJiZpIT09YSlmb3IodmFyIGMgaW4gYSl7dmFyIGw9ISFhW2NdOyhpPT1udWxsfHxsIT09ISFpW2NdKSYmZS5jbGFzc0xpc3QudG9nZ2xlKGMsbCl9cmV0dXJuIGF9ZnVuY3Rpb24geGEoZSx0PXt9LG4scil7Zm9yKHZhciBpIGluIG4pe3ZhciBhPW5baV07dFtpXSE9PWEmJihuW2ldPT1udWxsP2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkoaSk6ZS5zdHlsZS5zZXRQcm9wZXJ0eShpLGEscikpfX1mdW5jdGlvbiBTYShlLHQsbixyKXt2YXIgaT1lLl9fc3R5bGU7aWYoQ3x8aSE9PXQpe3ZhciBhPXlhKHQscik7KCFDfHxhIT09ZS5nZXRBdHRyaWJ1dGUoYHN0eWxlYCkpJiYoYT09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZShgc3R5bGVgKTplLnN0eWxlLmNzc1RleHQ9YSksZS5fX3N0eWxlPXR9ZWxzZSByJiYoQXJyYXkuaXNBcnJheShyKT8oeGEoZSxuPy5bMF0sclswXSkseGEoZSxuPy5bMV0sclsxXSxgaW1wb3J0YW50YCkpOnhhKGUsbixyKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gQ2EoZSx0LG49ITEpe2lmKGUubXVsdGlwbGUpe2lmKHQ9PW51bGwpcmV0dXJuO2lmKCFmKHQpKXJldHVybiBLZSgpO2Zvcih2YXIgciBvZiBlLm9wdGlvbnMpci5zZWxlY3RlZD10LmluY2x1ZGVzKEVhKHIpKTtyZXR1cm59Zm9yKHIgb2YgZS5vcHRpb25zKWlmKE5uKEVhKHIpLHQpKXtyLnNlbGVjdGVkPSEwO3JldHVybn0oIW58fHQhPT12b2lkIDApJiYoZS5zZWxlY3RlZEluZGV4PS0xKX1mdW5jdGlvbiB3YShlKXt2YXIgdD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e0NhKGUsZS5fX3ZhbHVlKX0pO3Qub2JzZXJ2ZShlLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxhdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbYHZhbHVlYF19KSxhcigoKT0+e3QuZGlzY29ubmVjdCgpfSl9ZnVuY3Rpb24gVGEoZSx0LG49dCl7dmFyIHI9bmV3IFdlYWtTZXQsaT0hMDtlcihlLGBjaGFuZ2VgLHQ9Pnt2YXIgaT10P2Bbc2VsZWN0ZWRdYDpgOmNoZWNrZWRgLGE7aWYoZS5tdWx0aXBsZSlhPVtdLm1hcC5jYWxsKGUucXVlcnlTZWxlY3RvckFsbChpKSxFYSk7ZWxzZXt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoaSk/P2UucXVlcnlTZWxlY3Rvcihgb3B0aW9uOm5vdChbZGlzYWJsZWRdKWApO2E9byYmRWEobyl9bihhKSxlLl9fdmFsdWU9YSxqIT09bnVsbCYmci5hZGQoail9KSx1cigoKT0+e3ZhciBhPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIG89cnQ/THQ6ajtpZihyLmhhcyhvKSlyZXR1cm59aWYoQ2EoZSxhLGkpLGkmJmE9PT12b2lkIDApe3ZhciBzPWUucXVlcnlTZWxlY3RvcihgOmNoZWNrZWRgKTtzIT09bnVsbCYmKGE9RWEocyksbihhKSl9ZS5fX3ZhbHVlPWEsaT0hMX0pLHdhKGUpfWZ1bmN0aW9uIEVhKGUpe3JldHVybmBfX3ZhbHVlYGluIGU/ZS5fX3ZhbHVlOmUudmFsdWV9dmFyIERhPVN5bWJvbChgY2xhc3NgKSxPYT1TeW1ib2woYHN0eWxlYCksa2E9U3ltYm9sKGBpcyBjdXN0b20gZWxlbWVudGApLEFhPVN5bWJvbChgaXMgaHRtbGApLGphPUVlP2BsaW5rYDpgTElOS2AsTWE9RWU/YGlucHV0YDpgSU5QVVRgLE5hPUVlP2BvcHRpb25gOmBPUFRJT05gLFBhPUVlP2BzZWxlY3RgOmBTRUxFQ1RgLEZhPUVlP2Bwcm9ncmVzc2A6YFBST0dSRVNTYDtmdW5jdGlvbiBJYShlKXtpZihDKXt2YXIgdD0hMSxuPSgpPT57aWYoIXQpe2lmKHQ9ITAsZS5oYXNBdHRyaWJ1dGUoYHZhbHVlYCkpe3ZhciBuPWUudmFsdWU7emEoZSxgdmFsdWVgLG51bGwpLGUudmFsdWU9bn1pZihlLmhhc0F0dHJpYnV0ZShgY2hlY2tlZGApKXt2YXIgcj1lLmNoZWNrZWQ7emEoZSxgY2hlY2tlZGAsbnVsbCksZS5jaGVja2VkPXJ9fX07ZS5fX29uX3I9bixndChuKSxRbigpfX1mdW5jdGlvbiBMYShlLHQpe3ZhciBuPUhhKGUpO24udmFsdWU9PT0obi52YWx1ZT10Pz92b2lkIDApfHxlLnZhbHVlPT09dCYmKHQhPT0wfHxlLm5vZGVOYW1lIT09RmEpfHwoZS52YWx1ZT10Pz9gYCl9ZnVuY3Rpb24gUmEoZSx0KXt0P2UuaGFzQXR0cmlidXRlKGBzZWxlY3RlZGApfHxlLnNldEF0dHJpYnV0ZShgc2VsZWN0ZWRgLGBgKTplLnJlbW92ZUF0dHJpYnV0ZShgc2VsZWN0ZWRgKX1mdW5jdGlvbiB6YShlLHQsbixyKXt2YXIgaT1IYShlKTtDJiYoaVt0XT1lLmdldEF0dHJpYnV0ZSh0KSx0PT09YHNyY2B8fHQ9PT1gc3Jjc2V0YHx8dD09PWBocmVmYCYmZS5ub2RlTmFtZT09PWphKXx8aVt0XSE9PShpW3RdPW4pJiYodD09PWBsb2FkaW5nYCYmKGVbd2VdPW4pLG49PW51bGw/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6dHlwZW9mIG4hPWBzdHJpbmdgJiZXYShlKS5pbmNsdWRlcyh0KT9lW3RdPW46ZS5zZXRBdHRyaWJ1dGUodCxuKSl9ZnVuY3Rpb24gQmEoZSx0LG4scixpPSExLGE9ITEpe2lmKEMmJmkmJmUubm9kZU5hbWU9PT1NYSl7dmFyIG89ZTsoby50eXBlPT09YGNoZWNrYm94YD9gZGVmYXVsdENoZWNrZWRgOmBkZWZhdWx0VmFsdWVgKWluIG58fElhKG8pfXZhciBzPUhhKGUpLGM9c1trYV0sbD0hc1tBYV07bGV0IHU9QyYmYzt1JiZKZSghMSk7dmFyIGQ9dHx8e30sZj1lLm5vZGVOYW1lPT09TmE7Zm9yKHZhciBwIGluIHQpcCBpbiBufHwobltwXT1udWxsKTtuLmNsYXNzP24uY2xhc3M9bWEobi5jbGFzcyk6KHJ8fG5bRGFdKSYmKG4uY2xhc3M9bnVsbCksbltPYV0mJihuLnN0eWxlPz89bnVsbCk7dmFyIG09V2EoZSk7Zm9yKGxldCBpIGluIG4pe2xldCBvPW5baV07aWYoZiYmaT09PWB2YWx1ZWAmJm89PW51bGwpe2UudmFsdWU9ZS5fX3ZhbHVlPWBgLGRbaV09bztjb250aW51ZX1pZihpPT09YGNsYXNzYCl7YmEoZSxlLm5hbWVzcGFjZVVSST09PWBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sYCxvLHIsdD8uW0RhXSxuW0RhXSksZFtpXT1vLGRbRGFdPW5bRGFdO2NvbnRpbnVlfWlmKGk9PT1gc3R5bGVgKXtTYShlLG8sdD8uW09hXSxuW09hXSksZFtpXT1vLGRbT2FdPW5bT2FdO2NvbnRpbnVlfXZhciBoPWRbaV07aWYoIShvPT09aCYmIShvPT09dm9pZCAwJiZlLmhhc0F0dHJpYnV0ZShpKSkpKXtkW2ldPW87dmFyIGc9aVswXStpWzFdO2lmKGchPT1gJCRgKWlmKGc9PT1gb25gKXtsZXQgdD17fSxuPWAkJGAraSxyPWkuc2xpY2UoMik7dmFyIF89aWkocik7aWYobmkocikmJihyPXIuc2xpY2UoMCwtNyksdC5jYXB0dXJlPSEwKSwhXyYmaCl7aWYobyE9bnVsbCljb250aW51ZTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIocixkW25dLHQpLGRbbl09bnVsbH1pZihfKWdpKHIsZSxvKSxfaShbcl0pO2Vsc2UgaWYobyE9bnVsbCl7ZnVuY3Rpb24gYShlKXtkW2ldLmNhbGwodGhpcyxlKX1kW25dPW1pKHIsZSxhLHQpfX1lbHNlIGlmKGk9PT1gc3R5bGVgKXphKGUsaSxvKTtlbHNlIGlmKGk9PT1gYXV0b2ZvY3VzYClZbihlLCEhbyk7ZWxzZSBpZighYyYmKGk9PT1gX192YWx1ZWB8fGk9PT1gdmFsdWVgJiZvIT1udWxsKSllLnZhbHVlPWUuX192YWx1ZT1vO2Vsc2UgaWYoaT09PWBzZWxlY3RlZGAmJmYpUmEoZSxvKTtlbHNle3ZhciB2PWk7bHx8KHY9c2kodikpO3ZhciB5PXY9PT1gZGVmYXVsdFZhbHVlYHx8dj09PWBkZWZhdWx0Q2hlY2tlZGA7aWYobz09bnVsbCYmIWMmJiF5KWlmKHNbaV09bnVsbCx2PT09YHZhbHVlYHx8dj09PWBjaGVja2VkYCl7bGV0IG49ZSxyPXQ9PT12b2lkIDA7aWYodj09PWB2YWx1ZWApe2xldCBlPW4uZGVmYXVsdFZhbHVlO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdFZhbHVlPWUsbi52YWx1ZT1uLl9fdmFsdWU9cj9lOm51bGx9ZWxzZXtsZXQgZT1uLmRlZmF1bHRDaGVja2VkO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdENoZWNrZWQ9ZSxuLmNoZWNrZWQ9cj9lOiExfX1lbHNlIGUucmVtb3ZlQXR0cmlidXRlKGkpO2Vsc2UgeXx8bS5pbmNsdWRlcyh2KSYmKGN8fHR5cGVvZiBvIT1gc3RyaW5nYCk/KGVbdl09byx2IGluIHMmJihzW3ZdPVMpKTp0eXBlb2YgbyE9YGZ1bmN0aW9uYCYmemEoZSx2LG8sYSl9fX1yZXR1cm4gdSYmSmUoITApLGR9ZnVuY3Rpb24gVmEoZSx0LG49W10scj1bXSxpPVtdLGEsbz0hMSxzPSExKXtvbihpLG4scixuPT57dmFyIHI9dm9pZCAwLGk9e30sYz1lLm5vZGVOYW1lPT09UGEsbD0hMTtpZihocigoKT0+e3ZhciB1PXQoLi4ubi5tYXAoUikpLGQ9QmEoZSxyLHUsYSxvLHMpO2wmJmMmJmB2YWx1ZWBpbiB1JiZDYShlLHUudmFsdWUpO2ZvcihsZXQgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGkpKXVbZV18fFAoaVtlXSk7Zm9yKGxldCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModSkpe3ZhciBmPXVbdF07dC5kZXNjcmlwdGlvbj09PWBAYXR0YWNoYCYmKCFyfHxmIT09clt0XSkmJihpW3RdJiZQKGlbdF0pLGlbdF09Z3IoKCk9PmRhKGUsKCk9PmYpKSksZFt0XT1mfXI9ZH0pLGMpe3ZhciB1PWU7dXIoKCk9PntDYSh1LHIudmFsdWUsITApLHdhKHUpfSl9bD0hMH0pfWZ1bmN0aW9uIEhhKGUpe3JldHVybiBlLl9fYXR0cmlidXRlcz8/PXtba2FdOmUubm9kZU5hbWUuaW5jbHVkZXMoYC1gKSxbQWFdOmUubmFtZXNwYWNlVVJJPT09VmV9fXZhciBVYT1uZXcgTWFwO2Z1bmN0aW9uIFdhKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKGBpc2ApfHxlLm5vZGVOYW1lLG49VWEuZ2V0KHQpO2lmKG4pcmV0dXJuIG47VWEuc2V0KHQsbj1bXSk7Zm9yKHZhciByLGk9ZSxhPUVsZW1lbnQucHJvdG90eXBlO2EhPT1pOyl7Zm9yKHZhciBvIGluIHI9dihpKSxyKXJbb10uc2V0JiZuLnB1c2gobyk7aT1iKGkpfXJldHVybiBufXZhciBHYT1udWxsO2Z1bmN0aW9uIEthKCl7aWYoR2E9PT1udWxsKXt2YXIgZT1Lbihgc2VsZWN0YCk7ZS5pbm5lckhUTUw9eGkoYDxvcHRpb24+PHNwYW4+dDwvc3Bhbj48L29wdGlvbj5gKSxHYT1lLmZpcnN0Q2hpbGQ/LmZpcnN0Q2hpbGQ/Lm5vZGVUeXBlPT09MX1yZXR1cm4gR2F9ZnVuY3Rpb24gcWEoZSx0KXt2YXIgbj1DO0thKCl8fChKZSghMSksZS50ZXh0Q29udGVudD1gYCxlLmFwcGVuZChxbihgYCkpKTt0cnl7dCgpfWZpbmFsbHl7biYmKEM/WGUoZSk6KEplKCEwKSxUKGUpKSl9fWZ1bmN0aW9uIEphKGUsdCxuPXQpe3ZhciByPW5ldyBXZWFrU2V0O2VyKGUsYGlucHV0YCxhc3luYyBpPT57dmFyIGE9aT9lLmRlZmF1bHRWYWx1ZTplLnZhbHVlO2lmKGE9WGEoZSk/WmEoYSk6YSxuKGEpLGohPT1udWxsJiZyLmFkZChqKSxhd2FpdCBYcigpLGEhPT0oYT10KCkpKXt2YXIgbz1lLnNlbGVjdGlvblN0YXJ0LHM9ZS5zZWxlY3Rpb25FbmQsYz1lLnZhbHVlLmxlbmd0aDtpZihlLnZhbHVlPWE/P2BgLHMhPT1udWxsKXt2YXIgbD1lLnZhbHVlLmxlbmd0aDtvPT09cyYmcz09PWMmJmw+Yz8oZS5zZWxlY3Rpb25TdGFydD1sLGUuc2VsZWN0aW9uRW5kPWwpOihlLnNlbGVjdGlvblN0YXJ0PW8sZS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4ocyxsKSl9fX0pLChDJiZlLmRlZmF1bHRWYWx1ZSE9PWUudmFsdWV8fCRyKHQpPT1udWxsJiZlLnZhbHVlKSYmKG4oWGEoZSk/WmEoZS52YWx1ZSk6ZS52YWx1ZSksaiE9PW51bGwmJnIuYWRkKGopKSxmcigoKT0+e3ZhciBuPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIGk9cnQ/THQ6ajtpZihyLmhhcyhpKSlyZXR1cm59WGEoZSkmJm49PT1aYShlLnZhbHVlKXx8ZS50eXBlPT09YGRhdGVgJiYhbiYmIWUudmFsdWV8fG4hPT1lLnZhbHVlJiYoZS52YWx1ZT1uPz9gYCl9KX1mdW5jdGlvbiBZYShlLHQsbj10KXtlcihlLGBjaGFuZ2VgLHQ9PntuKHQ/ZS5kZWZhdWx0Q2hlY2tlZDplLmNoZWNrZWQpfSksKEMmJmUuZGVmYXVsdENoZWNrZWQhPT1lLmNoZWNrZWR8fCRyKHQpPT1udWxsKSYmbihlLmNoZWNrZWQpLGZyKCgpPT57ZS5jaGVja2VkPSEhdCgpfSl9ZnVuY3Rpb24gWGEoZSl7dmFyIHQ9ZS50eXBlO3JldHVybiB0PT09YG51bWJlcmB8fHQ9PT1gcmFuZ2VgfWZ1bmN0aW9uIFphKGUpe3JldHVybiBlPT09YGA/bnVsbDorZX1mdW5jdGlvbiBRYShlLHQpe3JldHVybiBlPT09dHx8ZT8uW1NlXT09PXR9ZnVuY3Rpb24gJGEoZT17fSx0LG4scil7dmFyIGk9RS5yLGE9STtyZXR1cm4gdXIoKCk9Pnt2YXIgbyxzO3JldHVybiBmcigoKT0+e289cyxzPXI/LigpfHxbXSwkcigoKT0+e2UhPT1uKC4uLnMpJiYodChlLC4uLnMpLG8mJlFhKG4oLi4ubyksZSkmJnQobnVsbCwuLi5vKSl9KX0pLCgpPT57bGV0IHI9YTtmb3IoO3IhPT1pJiZyLnBhcmVudCE9PW51bGwmJnIucGFyZW50LmYmMzM1NTQ0MzI7KXI9ci5wYXJlbnQ7bGV0IG89KCk9PntzJiZRYShuKC4uLnMpLGUpJiZ0KG51bGwsLi4ucyl9LGM9ci50ZWFyZG93bjtyLnRlYXJkb3duPSgpPT57bygpLGM/LigpfX19KSxlfWZ1bmN0aW9uIGVvKGU9ITEpe2xldCB0PUUsbj10LmwudTtpZighbilyZXR1cm47bGV0IHI9KCk9PmVpKHQucyk7aWYoZSl7bGV0IGU9MCxuPXt9LGk9dW4oKCk9PntsZXQgcj0hMSxpPXQucztmb3IobGV0IGUgaW4gaSlpW2VdIT09bltlXSYmKG5bZV09aVtlXSxyPSEwKTtyZXR1cm4gciYmZSsrLGV9KTtyPSgpPT5SKGkpfW4uYi5sZW5ndGgmJmNyKCgpPT57dG8odCxyKSxpZShuLmIpfSksb3IoKCk9PntsZXQgZT0kcigoKT0+bi5tLm1hcChyZSkpO3JldHVybigpPT57Zm9yKGxldCB0IG9mIGUpdHlwZW9mIHQ9PWBmdW5jdGlvbmAmJnQoKX19KSxuLmEubGVuZ3RoJiZvcigoKT0+e3RvKHQsciksaWUobi5hKX0pfWZ1bmN0aW9uIHRvKGUsdCl7aWYoZS5sLnMpZm9yKGxldCB0IG9mIGUubC5zKVIodCk7dCgpfXZhciBubz17Z2V0KGUsdCl7aWYoIWUuZXhjbHVkZS5pbmNsdWRlcyh0KSlyZXR1cm4gZS5wcm9wc1t0XX0sc2V0KGUsdCl7cmV0dXJuITF9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe2lmKCFlLmV4Y2x1ZGUuaW5jbHVkZXModCkmJnQgaW4gZS5wcm9wcylyZXR1cm57ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6ZS5wcm9wc1t0XX19LGhhcyhlLHQpe3JldHVybiBlLmV4Y2x1ZGUuaW5jbHVkZXModCk/ITE6dCBpbiBlLnByb3BzfSxvd25LZXlzKGUpe3JldHVybiBSZWZsZWN0Lm93bktleXMoZS5wcm9wcykuZmlsdGVyKHQ9PiFlLmV4Y2x1ZGUuaW5jbHVkZXModCkpfX07ZnVuY3Rpb24gcm8oZSx0LG4pe3JldHVybiBuZXcgUHJveHkoe3Byb3BzOmUsZXhjbHVkZTp0fSxubyl9dmFyIGlvPXtnZXQoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpcmV0dXJuIHJbdF19fSxzZXQoZSx0LG4pe2xldCByPWUucHJvcHMubGVuZ3RoO2Zvcig7ci0tOyl7bGV0IGk9ZS5wcm9wc1tyXTtuZShpKSYmKGk9aSgpKTtsZXQgYT1fKGksdCk7aWYoYSYmYS5zZXQpcmV0dXJuIGEuc2V0KG4pLCEwfXJldHVybiExfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpe2xldCBlPV8ocix0KTtyZXR1cm4gZSYmIWUuY29uZmlndXJhYmxlJiYoZS5jb25maWd1cmFibGU9ITApLGV9fX0saGFzKGUsdCl7aWYodD09PVNlfHx0PT09Q2UpcmV0dXJuITE7Zm9yKGxldCBuIG9mIGUucHJvcHMpaWYobmUobikmJihuPW4oKSksbiE9bnVsbCYmdCBpbiBuKXJldHVybiEwO3JldHVybiExfSxvd25LZXlzKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlLnByb3BzKWlmKG5lKG4pJiYobj1uKCkpLG4pe2ZvcihsZXQgZSBpbiBuKXQuaW5jbHVkZXMoZSl8fHQucHVzaChlKTtmb3IobGV0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhuKSl0LmluY2x1ZGVzKGUpfHx0LnB1c2goZSl9cmV0dXJuIHR9fTtmdW5jdGlvbiBhbyguLi5lKXtyZXR1cm4gbmV3IFByb3h5KHtwcm9wczplfSxpbyl9ZnVuY3Rpb24gb28oZSx0LG4scil7dmFyIGk9IWl0fHwobiYyKSE9MCxhPShuJjgpIT0wLG89KG4mMTYpIT0wLHM9cixjPSEwLGw9KCk9PihjJiYoYz0hMSxzPW8/JHIocik6cikscyk7bGV0IHU7aWYoYSl7dmFyIGQ9U2UgaW4gZXx8Q2UgaW4gZTt1PV8oZSx0KT8uc2V0Pz8oZCYmdCBpbiBlP249PmVbdF09bjp2b2lkIDApfXZhciBmLHA9ITE7YT9bZixwXT1GdCgoKT0+ZVt0XSk6Zj1lW3RdLGY9PT12b2lkIDAmJnIhPT12b2lkIDAmJihmPWwoKSx1JiYoaSYmUGUodCksdShmKSkpO3ZhciBtPWk/KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuPT09dm9pZCAwP2woKTooYz0hMCxuKX06KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuIT09dm9pZCAwJiYocz12b2lkIDApLG49PT12b2lkIDA/czpufTtpZihpJiYhKG4mNCkpcmV0dXJuIG07aWYodSl7dmFyIGg9ZS4kJGxlZ2FjeTtyZXR1cm4oZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wPygoIWl8fCF0fHxofHxwKSYmdSh0P20oKTplKSxlKTptKCl9KX12YXIgZz0hMSx2PShuJjE/dW46cG4pKCgpPT4oZz0hMSxtKCkpKTthJiZSKHYpO3ZhciB5PUk7cmV0dXJuKGZ1bmN0aW9uKGUsdCl7aWYoYXJndW1lbnRzLmxlbmd0aD4wKXtsZXQgbj10P1Iodik6aSYmYT9qbihlKTplO3JldHVybiBUbih2LG4pLGc9ITAscyE9PXZvaWQgMCYmKHM9biksZX1yZXR1cm4ga3ImJmd8fHkuZiYxNjM4ND92LnY6Uih2KX0pfWZ1bmN0aW9uIHNvKGUpe0U9PT1udWxsJiZEZShgb25Nb3VudGApLGl0JiZFLmwhPT1udWxsP2xvKEUpLm0ucHVzaChlKTpvcigoKT0+e2xldCB0PSRyKGUpO2lmKHR5cGVvZiB0PT1gZnVuY3Rpb25gKXJldHVybiB0fSl9ZnVuY3Rpb24gY28oZSl7RT09PW51bGwmJkRlKGBvbkRlc3Ryb3lgKSxzbygoKT0+KCk9PiRyKGUpKX1mdW5jdGlvbiBsbyhlKXt2YXIgdD1lLmw7cmV0dXJuIHQudT8/PXthOltdLGI6W10sbTpbXX19dmFyIHo9KCgpPT57bGV0IGU9bmV3IE1hcDtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7b246KHQsbik9PntsZXQgcj1lLmdldCh0KTtyP3IucHVzaChuKTplLnNldCh0LFtuXSl9LG9mZjoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJmUuc2V0KHQsci5maWx0ZXIoZT0+ZSE9PW4pKX0sZW1pdDoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJnIuZm9yRWFjaChlPT5lKG4pKX19KX0pKCksdW89YGRhdGEtc21hcnRzdXBwLWlkYCxmbz0oKT0+d2luZG93LnRvcD8/d2luZG93LnBhcmVudCxCPSgpPT53aW5kb3cucGFyZW50LHBvPSgpPT5CKCkuZG9jdW1lbnQsbW89ZT0+ZSYmZS5vd25lckRvY3VtZW50fHxkb2N1bWVudCxobz0oe3ZpZDplfSk9PntsZXQgdD1CKCkuc21hcnRzdXBwfHx7fTt0LnZpZD1lLEIoKS5zbWFydHN1cHA9dH0sZ289YGRlYnVnYCxfbz1lPT57dHJ5e2xldCB0PUIoKS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShnbyk7aWYoIXQpcmV0dXJuITE7aWYodD09PWV8fHQ9PT1gKmApcmV0dXJuITA7bGV0IG49ZS5tYXRjaCgvXlx3KzovZyk7cmV0dXJuIG4/dD09PWAke25bMF19KmA6ITF9Y2F0Y2h7cmV0dXJuITF9fSx2bz0oKGUsdCk9PihuLC4uLnIpPT57X28oZSkmJmNvbnNvbGUuZGVidWcoYCVjJHtlfWAsYGNvbG9yOiAke3R9O2AsbiwuLi5yKX0pKGBzbWFydHN1cHA6d2lkZ2V0YCxgIzEyMzNkZmApLFY9KCgpPT57bGV0IGU9bnVsbCx0PVtdO3JldHVybiBPYmplY3QuZnJlZXplKHtpbml0Om49PntlPW4sdm8oYHdpZGdldCBvcHRpb25zYCxuKSx0LmZvckVhY2goZT0+ZShuKSl9LGdldE9wdGlvbnM6KCk9PntpZighZSl0aHJvdyBFcnJvcihgV2lkZ2V0IG9wdGlvbnMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LGF3YWl0T3B0aW9uczphc3luYygpPT5lfHxuZXcgUHJvbWlzZShlPT57dC5wdXNoKGUpfSksdXBkYXRlT3B0aW9uczp0PT57ZT17Li4uZSwuLi50fX19KX0pKCkseW89ZT0+e2xldCB0PWUuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYGJvZHlgKVswXS5nZXRBdHRyaWJ1dGUodW8pO2lmKCF0KXRocm93IEVycm9yKGBNaXNzaW5nIGNoYXQgSUQgYXR0cmlidXRlIG9uIGJvZHkgZWxlbWVudC5gKTtpZighZS5wYXJlbnQuJHNtYXJ0c3VwcCl0aHJvdyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFNlZW1zIGxpa2UgbG9hZGVyLmpzIGRpZCBub3QgaW5pdGlhbGl6ZSB3aWRnZXQuYCk7aWYoIWUucGFyZW50LiRzbWFydHN1cHAuZ2V0V2lkZ2V0KXRocm93IEVycm9yKGBHZXQgd2lkZ2V0IGZ1bmN0aW9uIHdhcyBub3Qgc3VwcGxpZWQgYnkgbG9hZGVyLmpzLmApO3JldHVybiBlLnBhcmVudC4kc21hcnRzdXBwLmdldFdpZGdldCh0KX07ZnVuY3Rpb24gYm8oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKWVbcl09bltyXX1yZXR1cm4gZX12YXIgeG89e3JlYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMF09PT1gImAmJihlPWUuc2xpY2UoMSwtMSkpLGUucmVwbGFjZSgvKCVbXGRBLUZdezJ9KSsvZ2ksZGVjb2RlVVJJQ29tcG9uZW50KX0sd3JpdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKDJbMzQ2QkZdfDNbQUMtRl18NDB8NVtCREVdfDYwfDdbQkNEXSkvZyxkZWNvZGVVUklDb21wb25lbnQpfX07ZnVuY3Rpb24gU28oZSx0KXtmdW5jdGlvbiBuKG4scixpKXtpZighKHR5cGVvZiBkb2N1bWVudD5gdWApKXtpPWJvKHt9LHQsaSksdHlwZW9mIGkuZXhwaXJlcz09YG51bWJlcmAmJihpLmV4cGlyZXM9bmV3IERhdGUoRGF0ZS5ub3coKStpLmV4cGlyZXMqODY0ZTUpKSxpLmV4cGlyZXMmJj1pLmV4cGlyZXMudG9VVENTdHJpbmcoKSxuPWVuY29kZVVSSUNvbXBvbmVudChuKS5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csZGVjb2RlVVJJQ29tcG9uZW50KS5yZXBsYWNlKC9bKCldL2csZXNjYXBlKTt2YXIgYT1gYDtmb3IodmFyIG8gaW4gaSlpW29dJiYoYSs9YDsgYCtvLGlbb10hPT0hMCYmKGErPWA9YCtpW29dLnNwbGl0KGA7YClbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPW4rYD1gK2Uud3JpdGUocixuKSthfX1mdW5jdGlvbiByKHQpe2lmKCEodHlwZW9mIGRvY3VtZW50PmB1YHx8YXJndW1lbnRzLmxlbmd0aCYmIXQpKXtmb3IodmFyIG49ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdChgOyBgKTpbXSxyPXt9LGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIGE9bltpXS5zcGxpdChgPWApLG89YS5zbGljZSgxKS5qb2luKGA9YCk7dHJ5e3ZhciBzPWRlY29kZVVSSUNvbXBvbmVudChhWzBdKTtpZihyW3NdPWUucmVhZChvLHMpLHQ9PT1zKWJyZWFrfWNhdGNoe319cmV0dXJuIHQ/clt0XTpyfX1yZXR1cm4gT2JqZWN0LmNyZWF0ZSh7c2V0Om4sZ2V0OnIscmVtb3ZlOmZ1bmN0aW9uKGUsdCl7bihlLGBgLGJvKHt9LHQse2V4cGlyZXM6LTF9KSl9LHdpdGhBdHRyaWJ1dGVzOmZ1bmN0aW9uKGUpe3JldHVybiBTbyh0aGlzLmNvbnZlcnRlcixibyh7fSx0aGlzLmF0dHJpYnV0ZXMsZSkpfSx3aXRoQ29udmVydGVyOmZ1bmN0aW9uKGUpe3JldHVybiBTbyhibyh7fSx0aGlzLmNvbnZlcnRlcixlKSx0aGlzLmF0dHJpYnV0ZXMpfX0se2F0dHJpYnV0ZXM6e3ZhbHVlOk9iamVjdC5mcmVlemUodCl9LGNvbnZlcnRlcjp7dmFsdWU6T2JqZWN0LmZyZWV6ZShlKX19KX12YXIgQ289U28oeG8se3BhdGg6YC9gfSksd289YHNzdXBwYCxUbz0oZT0xODIpPT4oe2V4cGlyZXM6ZSxkb21haW46Vi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluLHBhdGg6Vi5nZXRPcHRpb25zKCkuY29va2llUGF0aHx8YC9gLHNhbWVTaXRlOmBzdHJpY3RgLHNlY3VyZTpCKCkubG9jYXRpb24ucHJvdG9jb2w9PT1gaHR0cHM6YH0pLEVvPWU9PmAke1YuZ2V0T3B0aW9ucygpLmNvb2tpZVByZWZpeHx8YGB9JHt3b30uJHtlfWAsRG89KHtuYW1lOmUsdmFsdWU6dCxleHBpcmF0aW9uSW5EYXlzOm49MTgyLG9wdGlvbnM6cn0pPT57Q28uc2V0KEVvKGUpLHQsey4uLlRvKG4pLC4uLnJ9KX0sT289ZT0+Q28uZ2V0KEVvKGUpKSxrbz1lPT57bGV0IHQ9RW8oZSk7aWYoQ28uZ2V0KHQpKXtsZXR7cGF0aDplLGRvbWFpbjpufT1UbygpO0NvLnJlbW92ZSh0LHtwYXRoOmUsZG9tYWluOm59KX19LEFvPWU9Pih0LC4uLm4pPT57ZShgW1NtYXJ0c3VwcF0gJHt0fWAsLi4ubil9LEg9QW8oY29uc29sZS53YXJuKSxqbz1Bbyhjb25zb2xlLmVycm9yKSxNbz0oKT0+e2xldHtrZXk6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7QigpLlNNQVJUU1VQUF9BVVRPQ1JFQVRFPT09ITE/YCR7eW8od2luZG93KS5pZH1fJHt3b31gOndvfV8ke2V9YH0sTm89ZT0+YCR7TW8oKX0ke2U/YF8ke2V9YDpgYH1gLFBvPWU9Pnt0cnl7bGV0IHQ9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKE5vKGUpKT8/YHt9YDtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaHtyZXR1cm57fX19LEZvPShlLHQpPT57dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShObyh0KSxKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7SChgU2V0IHRvIGxvY2FsIHN0b3JhZ2UgZmFpbGVkYCxlKX19LElvPShlLHQpPT57Rm8oey4uLlBvKCksW2VdOlN0cmluZyh0KX0pfSxMbz1lPT57bGV0IHQ9UG8oKTt0W2VdJiYoZGVsZXRlIHRbZV0sRm8odCkpfSxSbz0oKT0+e3dpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShObygpKSx3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTm8oYGNhcmRzYCkpfSxVPWZ1bmN0aW9uKGUpe3JldHVybiBlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuQXV0aEZvcm09YGF1dGhGb3JtYCxlLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZD1gaXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkYCxlLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQ9YG9wZW5lZGAsZS5NYXJrZXRpbmdDb25zZW50PWBtYXJrZXRpbmdDb25zZW50YCxlLk1lc3NhZ2U9YG1lc3NhZ2VgLGUuUG9wdXBDbG9zZWRBdD1gcG9wdXBDbG9zZWRBdGAsZS5SYXRpbmdUZXh0PWByYXRpbmdUZXh0YCxlLlNvdW5kc0VuYWJsZWQ9YGVuYWJsZVNvdW5kc2AsZS5WaXNpdG9ySWQ9YHZpZGAsZS5WaXNpdHM9YHZpc2l0c2AsZS5UaWNrZXRGb3JtPWB0aWNrZXRGb3JtYCxlLlNlc3Npb25JZD1gc2Vzc2lvbklkYCxlfSh7fSksem89ZT0+e2xldCB0PWBgO3JldHVybiBlPT09VS5WaXNpdG9ySWQmJlYuZ2V0T3B0aW9ucygpLmNvb2tpZURvbWFpbiYmKHQ9T28oZSkpLHR8fFBvKClbZV19LEJvPSh7bmFtZTplLHZhbHVlOnR9KT0+e2U9PT1VLlZpc2l0b3JJZCYmVi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluJiZEbyh7bmFtZTplLHZhbHVlOnR9KSxJbyhlLHQpfSxWbz1lPT57TG8oZSl9O3oub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxlPT57Qm8oe25hbWU6VS5BbmFseXRpY3NDb25zZW50LHZhbHVlOlN0cmluZyhlKX0pfSksei5vbihgbWFya2V0aW5nQ29uc2VudENoYW5nZWRgLGU9PntCbyh7bmFtZTpVLk1hcmtldGluZ0NvbnNlbnQsdmFsdWU6U3RyaW5nKGUpfSl9KTt2YXIgSG89KCk9PiEhVi5nZXRPcHRpb25zKCkuY29uc2VudE1vZGVFbmFibGVkLFVvPSgpPT57bGV0IGU9em8oVS5BbmFseXRpY3NDb25zZW50KT09PWB0cnVlYDtyZXR1cm4hKEhvKCkmJiFlKX0sV289KCk9PntsZXQgZT16byhVLk1hcmtldGluZ0NvbnNlbnQpPT09YHRydWVgO3JldHVybiEoSG8oKSYmIWUpfSxHbz1gbW9kdWxlcHJlbG9hZGAsS289ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFVSTChlLHQpLmhyZWZ9LHFvPXt9LEpvPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1Qcm9taXNlLnJlc29sdmUoKTtpZih0JiZ0Lmxlbmd0aD4wKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgbGlua2ApLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtwcm9wZXJ0eT1jc3Atbm9uY2VdYCksYT1pPy5ub25jZXx8aT8uZ2V0QXR0cmlidXRlKGBub25jZWApO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGU9PlByb21pc2UucmVzb2x2ZShlKS50aGVuKGU9Pih7c3RhdHVzOmBmdWxmaWxsZWRgLHZhbHVlOmV9KSxlPT4oe3N0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjplfSkpKSl9cj1vKHQubWFwKHQ9PntpZih0PUtvKHQsbiksdCBpbiBxbylyZXR1cm47cW9bdF09ITA7bGV0IHI9dC5lbmRzV2l0aChgLmNzc2ApLGk9cj9gW3JlbD0ic3R5bGVzaGVldCJdYDpgYDtpZihuKWZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtsZXQgaT1lW25dO2lmKGkuaHJlZj09PXQmJighcnx8aS5yZWw9PT1gc3R5bGVzaGVldGApKXJldHVybn1lbHNlIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj0iJHt0fSJdJHtpfWApKXJldHVybjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBsaW5rYCk7aWYoby5yZWw9cj9gc3R5bGVzaGVldGA6R28scnx8KG8uYXM9YHNjcmlwdGApLG8uY3Jvc3NPcmlnaW49YGAsby5ocmVmPXQsYSYmby5zZXRBdHRyaWJ1dGUoYG5vbmNlYCxhKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pLHIpcmV0dXJuIG5ldyBQcm9taXNlKChlLG4pPT57by5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSxvLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCwoKT0+bihFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke3R9YCkpKX0pfSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9bmV3IEV2ZW50KGB2aXRlOnByZWxvYWRFcnJvcmAse2NhbmNlbGFibGU6ITB9KTtpZih0LnBheWxvYWQ9ZSx3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSwhdC5kZWZhdWx0UHJldmVudGVkKXRocm93IGV9cmV0dXJuIHIudGhlbih0PT57Zm9yKGxldCBlIG9mIHR8fFtdKWUuc3RhdHVzPT09YHJlamVjdGVkYCYmaShlLnJlYXNvbik7cmV0dXJuIGUoKS5jYXRjaChpKX0pfSxZbz0oKT0+ISFWLmdldE9wdGlvbnMoKS5jcm9zc0RvbWFpbkVuYWJsZWQsWG89KCk9PlYuZ2V0T3B0aW9ucygpLmFsbG93ZWREb21haW5zLmxlbmd0aD4wLFpvPWFzeW5jKCk9Pnt0cnl7bGV0IGU9YXdhaXQgbmV3KGF3YWl0KEpvKCgpPT5pbXBvcnQoYC4vdGh1bWJtYXJrLmVzbS1DUDRDVTB5TC5qc2ApLFtdLGltcG9ydC5tZXRhLnVybCkpKS5UaHVtYm1hcmsoKS5nZXQoKTtyZXR1cm4gdm8oYFZpc2l0b3IgZmluZ2VycHJpbnQgY3JlYXRlZGAsZS50aHVtYm1hcmspLGUudGh1bWJtYXJrfWNhdGNoKGUpe0goYEZhaWxlZCB0byBnZW5lcmF0ZSBmaW5nZXJwcmludDpgLGUpfX0sUW89YXN5bmMoKT0+e2lmKCEoIVlvKCl8fCFYbygpKSlyZXR1cm4gWm8oKX0sJG89KCk9PnpvKFUuVmlzaXRvcklkKXx8bnVsbCxlcz1lPT5Cbyh7bmFtZTpVLlZpc2l0b3JJZCx2YWx1ZTpTdHJpbmcoZSl9KSx0cz0oKT0+e2lmKFdvKCkpcmV0dXJuIHpvKFUuVmlzaXRzKT9OdW1iZXIoem8oVS5WaXNpdHMpKTowfSxucz1lPT57V28oKSYmQm8oe25hbWU6VS5WaXNpdHMsdmFsdWU6U3RyaW5nKGUpfSl9O3oub24oYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCxlPT57ZXx8Vm8oVS5WaXNpdHMpfSk7dmFyIHJzPShlLHQsbik9PntsZXR7c2V0OnIsc3Vic2NyaWJlOml9PU8odCx0PT57bGV0IHI9em8oZSk7ciYmdChuP24ocik6cil9KSxhPXQ9PntCbyh7bmFtZTplLHZhbHVlOlN0cmluZyh0KX0pfTtyZXR1cm57c2V0OmU9PnthKGUpLHIoZSl9LHN1YnNjcmliZTppfX0saXM9KCk9PmBvbnRvdWNoc3RhcnRgaW4gd2luZG93fHxuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wLGFzPSgpPT5bYGlQYWQgU2ltdWxhdG9yYCxgaVBob25lIFNpbXVsYXRvcmAsYGlQb2QgU2ltdWxhdG9yYCxgaVBhZGAsYGlQaG9uZWAsYGlQb2RgXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pfHxuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKGBNYWNgKSYmYG9udG91Y2hlbmRgaW4gZG9jdW1lbnQsb3M9TyhudWxsKSxzcz1rKFtvcyxPKHt3aWR0aDpCKCkuaW5uZXJXaWR0aCxoZWlnaHQ6QigpLmlubmVySGVpZ2h0fSldLChbZSx0XSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOm59PVYuZ2V0T3B0aW9ucygpO2lmKG4/LmVuZm9yY2VEZXNrdG9wTW9kZSlyZXR1cm4hMTtpZihlKXtsZXR7aXNNb2JpbGU6dCxpc1RhYmxldDpufT1lO2lmKG4pcmV0dXJuITE7aWYodClyZXR1cm4hMH1yZXR1cm4gdC53aWR0aDw0NTB8fHQuaGVpZ2h0PDUwMH0pLGNzPWsoW3NzXSwoW2VdKT0+e2xldHtmdWxsU2NyZWVuRW5hYmxlZDp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4hIShlfHx0KX0pLGxzPWsoW29zXSwoW2VdKT0+ZT8hIWU/LmlzRGVza3RvcCYmIWFzKCk6IWlzKCkpLHVzPWsoW2xzLGNzXSwoW2UsdF0pPT5lJiYhdCk7ayhbb3NdLChbZV0pPT4hIWU/LmlzVGFibGV0KTt2YXIgZHM9KCgpPT57bGV0IGU9Tyh7fSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lO3JldHVybntzdWJzY3JpYmU6dCxhZGQ6ZT0+e24odD0+KHsuLi50LFtlLmlkXTplfSkpfSxyZW1vdmU6ZT0+e24odD0+e2xldHtbZV06biwuLi5yfT10O3JldHVybiByfSl9LGZpbmQ6dD0+QShlKVt0XXx8bnVsbH19KSgpLGZzPWsoW2RzXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKSkscHM9ZT0+KHQsbj0zZTMpPT57bGV0IHI9YGZtLSR7ZX0tJHt0fWAsaT1kcy5maW5kKHIpLGE9MTtpJiYoY2xlYXJUaW1lb3V0KGkudGltZW91dCksYT1pLnJlY3VycmVuY2UrMSk7bGV0IG87cmV0dXJuIG4+MCYmKG89d2luZG93LnNldFRpbWVvdXQoKCk9PnttcyhyKX0sbikpLGRzLmFkZCh7aWQ6cix0eXBlOmUsdGV4dDp0LHRpbWVvdXQ6byxyZWN1cnJlbmNlOmF9KSwoKT0+bXMocil9LG1zPWU9Pntkcy5yZW1vdmUoZSl9LGhzPXBzKGBzdWNjZXNzYCksZ3M9cHMoYGVycm9yYCksX3M9cHMoYHdhcm5pbmdgKSx2cz1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkdvb2Q9NV09YEdvb2RgLGVbZS5Ob3JtYWw9M109YE5vcm1hbGAsZVtlLkJhZD0xXT1gQmFkYCxlfSh7fSkseXM9e1t2cy5Hb29kXTp7dmFsdWU6dnMuR29vZCx0ZXh0OmBhZ2VudFJhdGluZy5nb29kLmZvcm1UZXh0YCxuYW1lOmBnb29kYH0sW3ZzLk5vcm1hbF06e3ZhbHVlOnZzLk5vcm1hbCx0ZXh0OmBhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHRgLG5hbWU6YG5ldXRyYWxgfSxbdnMuQmFkXTp7dmFsdWU6dnMuQmFkLHRleHQ6YGFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dGAsbmFtZTpgYmFkYH19LGJzPU9iamVjdC52YWx1ZXMoeXMpLnNvcnQoKGUsdCk9PnQudmFsdWUtZS52YWx1ZSkseHM9YHJhdGVfZm9ybV9pZGAsU3M9e2lkOnhzLHR5cGU6YG1lc3NhZ2VgLHN1YlR5cGU6YHN5c3RlbWAsY2hhbm5lbDp7dHlwZTpgZGVmYXVsdGAsaWQ6bnVsbH0sY2hhdElkOmBgLHZpc2l0b3JJZDpgYCxncm91cElkOm51bGwsYWdlbnRJZDpudWxsLHRyaWdnZXI6bnVsbCxjcmVhdGVkQXQ6YGAsY29udGVudDp7dHlwZTpgcmF0ZV9mb3JtYCxkYXRhOnt9fSxhdHRhY2htZW50czpbXSxzdWJqZWN0Om51bGwsZm9yd2FyZGVkTWVzc2FnZUlkOm51bGwscGFydGljaXBhbnRzOltdLHJlcGx5VG9NZXNzYWdlSWQ6bnVsbCxkZWxldGVkQXQ6bnVsbCx3aWRnZXRPcHRpb25zOntkaXNhYmxlSW5wdXQ6ITEsZGlzYWJsZUF1dGhlbnRpY2F0aW9uOiExLGRpc2FibGVBdHRhY2htZW50czohMX19LENzPU8obnVsbCksd3M9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjcscz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBjKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNGaW5pdGUoZSkpcmV0dXJuIHQubG9uZz91KGUpOmwoZSk7dGhyb3cgRXJyb3IoYHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgbnVtYmVyLiB2YWw9YCtKU09OLnN0cmluZ2lmeShlKSl9O2Z1bmN0aW9uIGMoZSl7aWYoZT1TdHJpbmcoZSksIShlLmxlbmd0aD4xMDApKXt2YXIgdD0vXigtPyg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8d2Vla3M/fHd8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIGM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIGMqcztjYXNlYHdlZWtzYDpjYXNlYHdlZWtgOmNhc2Vgd2A6cmV0dXJuIGMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBjKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gYyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIGMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBjKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIGM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gbChlKXt2YXIgdD1NYXRoLmFicyhlKTtyZXR1cm4gdD49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOnQ+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDp0Pj1yP01hdGgucm91bmQoZS9yKStgbWA6dD49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiB1KGUpe3ZhciB0PU1hdGguYWJzKGUpO3JldHVybiB0Pj1hP2QoZSx0LGEsYGRheWApOnQ+PWk/ZChlLHQsaSxgaG91cmApOnQ+PXI/ZChlLHQscixgbWludXRlYCk6dD49bj9kKGUsdCxuLGBzZWNvbmRgKTplK2AgbXNgfWZ1bmN0aW9uIGQoZSx0LG4scil7dmFyIGk9dD49bioxLjU7cmV0dXJuIE1hdGgucm91bmQoZS9uKStgIGArcisoaT9gc2A6YGApfX0pKSxUcz1zKCgoZSx0KT0+e2Z1bmN0aW9uIG4oZSl7bi5kZWJ1Zz1uLG4uZGVmYXVsdD1uLG4uY29lcmNlPWMsbi5kaXNhYmxlPW8sbi5lbmFibGU9aSxuLmVuYWJsZWQ9cyxuLmh1bWFuaXplPXdzKCksbi5kZXN0cm95PWwsT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57blt0XT1lW3RdfSksbi5uYW1lcz1bXSxuLnNraXBzPVtdLG4uZm9ybWF0dGVycz17fTtmdW5jdGlvbiB0KGUpe2xldCB0PTA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdD0odDw8NSktdCtlLmNoYXJDb2RlQXQobiksdHw9MDtyZXR1cm4gbi5jb2xvcnNbTWF0aC5hYnModCklbi5jb2xvcnMubGVuZ3RoXX1uLnNlbGVjdENvbG9yPXQ7ZnVuY3Rpb24gbihlKXtsZXQgdCxpPW51bGwsYSxvO2Z1bmN0aW9uIHMoLi4uZSl7aWYoIXMuZW5hYmxlZClyZXR1cm47bGV0IHI9cyxpPU51bWJlcihuZXcgRGF0ZSk7ci5kaWZmPWktKHR8fGkpLHIucHJldj10LHIuY3Vycj1pLHQ9aSxlWzBdPW4uY29lcmNlKGVbMF0pLHR5cGVvZiBlWzBdIT1gc3RyaW5nYCYmZS51bnNoaWZ0KGAlT2ApO2xldCBhPTA7ZVswXT1lWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCh0LGkpPT57aWYodD09PWAlJWApcmV0dXJuYCVgO2ErKztsZXQgbz1uLmZvcm1hdHRlcnNbaV07aWYodHlwZW9mIG89PWBmdW5jdGlvbmApe2xldCBuPWVbYV07dD1vLmNhbGwocixuKSxlLnNwbGljZShhLDEpLGEtLX1yZXR1cm4gdH0pLG4uZm9ybWF0QXJncy5jYWxsKHIsZSksKHIubG9nfHxuLmxvZykuYXBwbHkocixlKX1yZXR1cm4gcy5uYW1lc3BhY2U9ZSxzLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLHMuY29sb3I9bi5zZWxlY3RDb2xvcihlKSxzLmV4dGVuZD1yLHMuZGVzdHJveT1uLmRlc3Ryb3ksT2JqZWN0LmRlZmluZVByb3BlcnR5KHMsYGVuYWJsZWRgLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMSxnZXQ6KCk9Pmk9PT1udWxsPyhhIT09bi5uYW1lc3BhY2VzJiYoYT1uLm5hbWVzcGFjZXMsbz1uLmVuYWJsZWQoZSkpLG8pOmksc2V0OmU9PntpPWV9fSksdHlwZW9mIG4uaW5pdD09YGZ1bmN0aW9uYCYmbi5pbml0KHMpLHN9ZnVuY3Rpb24gcihlLHQpe2xldCByPW4odGhpcy5uYW1lc3BhY2UrKHQ9PT12b2lkIDA/YDpgOnQpK2UpO3JldHVybiByLmxvZz10aGlzLmxvZyxyfWZ1bmN0aW9uIGkoZSl7bi5zYXZlKGUpLG4ubmFtZXNwYWNlcz1lLG4ubmFtZXM9W10sbi5za2lwcz1bXTtsZXQgdD0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnRyaW0oKS5yZXBsYWNlKC9ccysvZyxgLGApLnNwbGl0KGAsYCkuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZSBvZiB0KWVbMF09PT1gLWA/bi5za2lwcy5wdXNoKGUuc2xpY2UoMSkpOm4ubmFtZXMucHVzaChlKX1mdW5jdGlvbiBhKGUsdCl7bGV0IG49MCxyPTAsaT0tMSxhPTA7Zm9yKDtuPGUubGVuZ3RoOylpZihyPHQubGVuZ3RoJiYodFtyXT09PWVbbl18fHRbcl09PT1gKmApKXRbcl09PT1gKmA/KGk9cixhPW4scisrKToobisrLHIrKyk7ZWxzZSBpZihpIT09LTEpcj1pKzEsYSsrLG49YTtlbHNlIHJldHVybiExO2Zvcig7cjx0Lmxlbmd0aCYmdFtyXT09PWAqYDspcisrO3JldHVybiByPT09dC5sZW5ndGh9ZnVuY3Rpb24gbygpe2xldCBlPVsuLi5uLm5hbWVzLC4uLm4uc2tpcHMubWFwKGU9PmAtYCtlKV0uam9pbihgLGApO3JldHVybiBuLmVuYWJsZShgYCksZX1mdW5jdGlvbiBzKGUpe2ZvcihsZXQgdCBvZiBuLnNraXBzKWlmKGEoZSx0KSlyZXR1cm4hMTtmb3IobGV0IHQgb2Ygbi5uYW1lcylpZihhKGUsdCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yP2Uuc3RhY2t8fGUubWVzc2FnZTplfWZ1bmN0aW9uIGwoKXtjb25zb2xlLndhcm4oIkluc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4iKX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksRXM9cygoKGUsdCk9PntlLmZvcm1hdEFyZ3M9cixlLnNhdmU9aSxlLmxvYWQ9YSxlLnVzZUNvbG9ycz1uLGUuc3RvcmFnZT1vKCksZS5kZXN0cm95PSgoKT0+e2xldCBlPSExO3JldHVybigpPT57ZXx8KGU9ITAsY29uc29sZS53YXJuKCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuIikpfX0pKCksZS5jb2xvcnM9YCMwMDAwQ0MuIzAwMDBGRi4jMDAzM0NDLiMwMDMzRkYuIzAwNjZDQy4jMDA2NkZGLiMwMDk5Q0MuIzAwOTlGRi4jMDBDQzAwLiMwMENDMzMuIzAwQ0M2Ni4jMDBDQzk5LiMwMENDQ0MuIzAwQ0NGRi4jMzMwMENDLiMzMzAwRkYuIzMzMzNDQy4jMzMzM0ZGLiMzMzY2Q0MuIzMzNjZGRi4jMzM5OUNDLiMzMzk5RkYuIzMzQ0MwMC4jMzNDQzMzLiMzM0NDNjYuIzMzQ0M5OS4jMzNDQ0NDLiMzM0NDRkYuIzY2MDBDQy4jNjYwMEZGLiM2NjMzQ0MuIzY2MzNGRi4jNjZDQzAwLiM2NkNDMzMuIzk5MDBDQy4jOTkwMEZGLiM5OTMzQ0MuIzk5MzNGRi4jOTlDQzAwLiM5OUNDMzMuI0NDMDAwMC4jQ0MwMDMzLiNDQzAwNjYuI0NDMDA5OS4jQ0MwMENDLiNDQzAwRkYuI0NDMzMwMC4jQ0MzMzMzLiNDQzMzNjYuI0NDMzM5OS4jQ0MzM0NDLiNDQzMzRkYuI0NDNjYwMC4jQ0M2NjMzLiNDQzk5MDAuI0NDOTkzMy4jQ0NDQzAwLiNDQ0NDMzMuI0ZGMDAwMC4jRkYwMDMzLiNGRjAwNjYuI0ZGMDA5OS4jRkYwMENDLiNGRjAwRkYuI0ZGMzMwMC4jRkYzMzMzLiNGRjMzNjYuI0ZGMzM5OS4jRkYzM0NDLiNGRjMzRkYuI0ZGNjYwMC4jRkY2NjMzLiNGRjk5MDAuI0ZGOTkzMy4jRkZDQzAwLiNGRkNDMzNgLnNwbGl0KGAuYCk7ZnVuY3Rpb24gbigpe2lmKHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpKXJldHVybiEwO2lmKHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pKXJldHVybiExO2xldCBlO3JldHVybiB0eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2V8fHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cuY29uc29sZSYmKHdpbmRvdy5jb25zb2xlLmZpcmVidWd8fHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiYmd2luZG93LmNvbnNvbGUudGFibGUpfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmKGU9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XC8oXGQrKS8pKSYmcGFyc2VJbnQoZVsxXSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZS5sb2c9Y29uc29sZS5kZWJ1Z3x8Y29uc29sZS5sb2d8fCgoKT0+e30pO2Z1bmN0aW9uIGkodCl7dHJ5e3Q/ZS5zdG9yYWdlLnNldEl0ZW0oYGRlYnVnYCx0KTplLnN0b3JhZ2UucmVtb3ZlSXRlbShgZGVidWdgKX1jYXRjaHt9fWZ1bmN0aW9uIGEoKXtsZXQgdDt0cnl7dD1lLnN0b3JhZ2UuZ2V0SXRlbShgZGVidWdgKXx8ZS5zdG9yYWdlLmdldEl0ZW0oYERFQlVHYCl9Y2F0Y2h7fXJldHVybiF0JiZ0eXBlb2YgcHJvY2VzczxgdWAmJmBlbnZgaW4gcHJvY2VzcyYmKHQ9e30uREVCVUcpLHR9ZnVuY3Rpb24gbygpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlfWNhdGNoe319dC5leHBvcnRzPVRzKCkoZSk7dmFye2Zvcm1hdHRlcnM6c309dC5leHBvcnRzO3Muaj1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWNhdGNoKGUpe3JldHVybmBbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogYCtlLm1lc3NhZ2V9fX0pKSxEcz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuY3JlYXRlRW1pdHRlcj1lLmNyZWF0ZUNhbGxiYWNrPWUuYm91bmQ9ZS5jcmVhdGVTb2NrZXRFcnJvcj1lLlNvY2tldEVycm9yPWUuZGVidWc9dm9pZCAwLGUuZGVidWc9bigpO2Z1bmN0aW9uIG4oKXt0cnl7cmV0dXJuIEVzKCkoYHNtYXJ0c3VwcDpjbGllbnRgKX1jYXRjaHtyZXR1cm4gZnVuY3Rpb24oKXt9fX12YXIgcj1mdW5jdGlvbihlKXt0KG4sZSk7ZnVuY3Rpb24gbih0LHIpe3ZhciBpPWUuY2FsbCh0aGlzLHQpfHx0aGlzO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoaSxuLnByb3RvdHlwZSksaS5uYW1lPWkuY29uc3RydWN0b3IubmFtZSxpLmNvZGU9ci5jb2RlLGkudHlwZT1yLnR5cGUsaS5ldmVudD1yLmV2ZW50LHImJnIuc3RhY2smJihpLnN0YWNrPWAke2kuc3RhY2t9CkNhdXNlZCBCeTogJHtyLnN0YWNrfWApLGl9cmV0dXJuIG59KEVycm9yKTtlLlNvY2tldEVycm9yPXI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbmV3IHIoZS5tZXNzYWdlLGUpfWUuY3JlYXRlU29ja2V0RXJyb3I9aTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Wy4uLmFyZ3VtZW50c107ZVt0XS5hcHBseShlLG4pfX1lLmJvdW5kPWE7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBmdW5jdGlvbihuLHIpe24/dChpKG4pKTplKHIpfX1lLmNyZWF0ZUNhbGxiYWNrPW87ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBmdW5jdGlvbihuKXtlLmVtaXQodCxuKX19ZS5jcmVhdGVFbWl0dGVyPXN9KSksT3M9cygoKGUsdCk9Pnt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHI9YH5gO2Z1bmN0aW9uIGkoKXt9T2JqZWN0LmNyZWF0ZSYmKGkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksbmV3IGkoKS5fX3Byb3RvX198fChyPSExKSk7ZnVuY3Rpb24gYShlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBvKGUsdCxuLGksbyl7aWYodHlwZW9mIG4hPWBmdW5jdGlvbmApdGhyb3cgVHlwZUVycm9yKGBUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uYCk7dmFyIHM9bmV3IGEobixpfHxlLG8pLGM9cj9yK3Q6dDtyZXR1cm4gZS5fZXZlbnRzW2NdP2UuX2V2ZW50c1tjXS5mbj9lLl9ldmVudHNbY109W2UuX2V2ZW50c1tjXSxzXTplLl9ldmVudHNbY10ucHVzaChzKTooZS5fZXZlbnRzW2NdPXMsZS5fZXZlbnRzQ291bnQrKyksZX1mdW5jdGlvbiBzKGUsdCl7LS1lLl9ldmVudHNDb3VudD09PTA/ZS5fZXZlbnRzPW5ldyBpOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gYygpe3RoaXMuX2V2ZW50cz1uZXcgaSx0aGlzLl9ldmVudHNDb3VudD0wfWMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0LGk7aWYodGhpcy5fZXZlbnRzQ291bnQ9PT0wKXJldHVybiBlO2ZvcihpIGluIHQ9dGhpcy5fZXZlbnRzKW4uY2FsbCh0LGkpJiZlLnB1c2gocj9pLnNsaWNlKDEpOmkpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2UuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpOmV9LGMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO2lmKCFuKXJldHVybltdO2lmKG4uZm4pcmV0dXJuW24uZm5dO2Zvcih2YXIgaT0wLGE9bi5sZW5ndGgsbz1BcnJheShhKTtpPGE7aSsrKW9baV09bltpXS5mbjtyZXR1cm4gb30sYy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO3JldHVybiBuP24uZm4/MTpuLmxlbmd0aDowfSxjLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUsdCxuLGksYSxvKXt2YXIgcz1yP3IrZTplO2lmKCF0aGlzLl9ldmVudHNbc10pcmV0dXJuITE7dmFyIGM9dGhpcy5fZXZlbnRzW3NdLGw9YXJndW1lbnRzLmxlbmd0aCx1LGQ7aWYoYy5mbil7c3dpdGNoKGMub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGMuZm4sdm9pZCAwLCEwKSxsKXtjYXNlIDE6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0KSwhMDtjYXNlIDM6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuKSwhMDtjYXNlIDQ6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGkpLCEwO2Nhc2UgNTpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0LG4saSxhKSwhMDtjYXNlIDY6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGksYSxvKSwhMH1mb3IoZD0xLHU9QXJyYXkobC0xKTtkPGw7ZCsrKXVbZC0xXT1hcmd1bWVudHNbZF07Yy5mbi5hcHBseShjLmNvbnRleHQsdSl9ZWxzZXt2YXIgZj1jLmxlbmd0aCxwO2ZvcihkPTA7ZDxmO2QrKylzd2l0Y2goY1tkXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsY1tkXS5mbix2b2lkIDAsITApLGwpe2Nhc2UgMTpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0KTticmVhaztjYXNlIDI6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0KTticmVhaztjYXNlIDM6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0LG4pO2JyZWFrO2Nhc2UgNDpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0LHQsbixpKTticmVhaztkZWZhdWx0OmlmKCF1KWZvcihwPTEsdT1BcnJheShsLTEpO3A8bDtwKyspdVtwLTFdPWFyZ3VtZW50c1twXTtjW2RdLmZuLmFwcGx5KGNbZF0uY29udGV4dCx1KX19cmV0dXJuITB9LGMucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbyh0aGlzLGUsdCxuLCExKX0sYy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG8odGhpcyxlLHQsbiwhMCl9LGMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBhPXI/citlOmU7aWYoIXRoaXMuX2V2ZW50c1thXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gcyh0aGlzLGEpLHRoaXM7dmFyIG89dGhpcy5fZXZlbnRzW2FdO2lmKG8uZm4pby5mbj09PXQmJighaXx8by5vbmNlKSYmKCFufHxvLmNvbnRleHQ9PT1uKSYmcyh0aGlzLGEpO2Vsc2V7Zm9yKHZhciBjPTAsbD1bXSx1PW8ubGVuZ3RoO2M8dTtjKyspKG9bY10uZm4hPT10fHxpJiYhb1tjXS5vbmNlfHxuJiZvW2NdLmNvbnRleHQhPT1uKSYmbC5wdXNoKG9bY10pO2wubGVuZ3RoP3RoaXMuX2V2ZW50c1thXT1sLmxlbmd0aD09PTE/bFswXTpsOnModGhpcyxhKX1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlPyh0PXI/citlOmUsdGhpcy5fZXZlbnRzW3RdJiZzKHRoaXMsdCkpOih0aGlzLl9ldmVudHM9bmV3IGksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYy5wcm90b3R5cGUub2ZmPWMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGMucHJvdG90eXBlLmFkZExpc3RlbmVyPWMucHJvdG90eXBlLm9uLGMucHJlZml4ZWQ9cixjLkV2ZW50RW1pdHRlcj1jLHQhPT12b2lkIDAmJih0LmV4cG9ydHM9Yyl9KSksa3M9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsaT1lLmluZGV4T2YoYFtgKSxhPWUuaW5kZXhPZihgXWApO2khPS0xJiZhIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxpKStlLnN1YnN0cmluZyhpLGEpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKGEsZS5sZW5ndGgpKTtmb3IodmFyIG89bi5leGVjKGV8fGBgKSxzPXt9LGM9MTQ7Yy0tOylzW3JbY11dPW9bY118fGBgO3JldHVybiBpIT0tMSYmYSE9LTEmJihzLnNvdXJjZT10LHMuaG9zdD1zLmhvc3Quc3Vic3RyaW5nKDEscy5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxzLmF1dGhvcml0eT1zLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLHMuaXB2NnVyaT0hMCksc319KSksQXM9cygoKGUsdCk9PntmdW5jdGlvbiBuKGUpe24uZGVidWc9bixuLmRlZmF1bHQ9bixuLmNvZXJjZT1sLG4uZGlzYWJsZT1vLG4uZW5hYmxlPWEsbi5lbmFibGVkPXMsbi5odW1hbml6ZT13cygpLE9iamVjdC5rZXlzKGUpLmZvckVhY2godD0+e25bdF09ZVt0XX0pLG4uaW5zdGFuY2VzPVtdLG4ubmFtZXM9W10sbi5za2lwcz1bXSxuLmZvcm1hdHRlcnM9e307ZnVuY3Rpb24gdChlKXtsZXQgdD0wO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQ9KHQ8PDUpLXQrZS5jaGFyQ29kZUF0KG4pLHR8PTA7cmV0dXJuIG4uY29sb3JzW01hdGguYWJzKHQpJW4uY29sb3JzLmxlbmd0aF19bi5zZWxlY3RDb2xvcj10O2Z1bmN0aW9uIG4oZSl7bGV0IGE7ZnVuY3Rpb24gbyguLi5lKXtpZighby5lbmFibGVkKXJldHVybjtsZXQgdD1vLHI9TnVtYmVyKG5ldyBEYXRlKTt0LmRpZmY9ci0oYXx8ciksdC5wcmV2PWEsdC5jdXJyPXIsYT1yLGVbMF09bi5jb2VyY2UoZVswXSksdHlwZW9mIGVbMF0hPWBzdHJpbmdgJiZlLnVuc2hpZnQoYCVPYCk7bGV0IGk9MDtlWzBdPWVbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csKHIsYSk9PntpZihyPT09YCUlYClyZXR1cm4gcjtpKys7bGV0IG89bi5mb3JtYXR0ZXJzW2FdO2lmKHR5cGVvZiBvPT1gZnVuY3Rpb25gKXtsZXQgbj1lW2ldO3I9by5jYWxsKHQsbiksZS5zcGxpY2UoaSwxKSxpLS19cmV0dXJuIHJ9KSxuLmZvcm1hdEFyZ3MuY2FsbCh0LGUpLCh0LmxvZ3x8bi5sb2cpLmFwcGx5KHQsZSl9cmV0dXJuIG8ubmFtZXNwYWNlPWUsby5lbmFibGVkPW4uZW5hYmxlZChlKSxvLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLG8uY29sb3I9dChlKSxvLmRlc3Ryb3k9cixvLmV4dGVuZD1pLHR5cGVvZiBuLmluaXQ9PWBmdW5jdGlvbmAmJm4uaW5pdChvKSxuLmluc3RhbmNlcy5wdXNoKG8pLG99ZnVuY3Rpb24gcigpe2xldCBlPW4uaW5zdGFuY2VzLmluZGV4T2YodGhpcyk7cmV0dXJuIGU9PT0tMT8hMToobi5pbnN0YW5jZXMuc3BsaWNlKGUsMSksITApfWZ1bmN0aW9uIGkoZSx0KXtsZXQgcj1uKHRoaXMubmFtZXNwYWNlKyh0PT09dm9pZCAwP2A6YDp0KStlKTtyZXR1cm4gci5sb2c9dGhpcy5sb2cscn1mdW5jdGlvbiBhKGUpe24uc2F2ZShlKSxuLm5hbWVzPVtdLG4uc2tpcHM9W107bGV0IHQscj0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnNwbGl0KC9bXHMsXSsvKSxpPXIubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKylyW3RdJiYoZT1yW3RdLnJlcGxhY2UoL1wqL2csYC4qP2ApLGVbMF09PT1gLWA/bi5za2lwcy5wdXNoKFJlZ0V4cChgXmArZS5zdWJzdHIoMSkrYCRgKSk6bi5uYW1lcy5wdXNoKFJlZ0V4cChgXmArZStgJGApKSk7Zm9yKHQ9MDt0PG4uaW5zdGFuY2VzLmxlbmd0aDt0Kyspe2xldCBlPW4uaW5zdGFuY2VzW3RdO2UuZW5hYmxlZD1uLmVuYWJsZWQoZS5uYW1lc3BhY2UpfX1mdW5jdGlvbiBvKCl7bGV0IGU9Wy4uLm4ubmFtZXMubWFwKGMpLC4uLm4uc2tpcHMubWFwKGMpLm1hcChlPT5gLWArZSldLmpvaW4oYCxgKTtyZXR1cm4gbi5lbmFibGUoYGApLGV9ZnVuY3Rpb24gcyhlKXtpZihlW2UubGVuZ3RoLTFdPT09YCpgKXJldHVybiEwO2xldCB0LHI7Zm9yKHQ9MCxyPW4uc2tpcHMubGVuZ3RoO3Q8cjt0KyspaWYobi5za2lwc1t0XS50ZXN0KGUpKXJldHVybiExO2Zvcih0PTAscj1uLm5hbWVzLmxlbmd0aDt0PHI7dCsrKWlmKG4ubmFtZXNbdF0udGVzdChlKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIsZS50b1N0cmluZygpLmxlbmd0aC0yKS5yZXBsYWNlKC9cLlwqXD8kLyxgKmApfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksanM9cygoKGUsdCk9PntlLmxvZz1pLGUuZm9ybWF0QXJncz1yLGUuc2F2ZT1hLGUubG9hZD1vLGUudXNlQ29sb3JzPW4sZS5zdG9yYWdlPXMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpPyEwOnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pPyExOnR5cGVvZiBkb2N1bWVudDxgdWAmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZXx8dHlwZW9mIHdpbmRvdzxgdWAmJndpbmRvdy5jb25zb2xlJiYod2luZG93LmNvbnNvbGUuZmlyZWJ1Z3x8d2luZG93LmNvbnNvbGUuZXhjZXB0aW9uJiZ3aW5kb3cuY29uc29sZS50YWJsZSl8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2ZpcmVmb3hcLyhcZCspLykmJnBhcnNlSW50KFJlZ0V4cC4kMSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZnVuY3Rpb24gaSguLi5lKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmY29uc29sZS5sb2coLi4uZSl9ZnVuY3Rpb24gYSh0KXt0cnl7dD9lLnN0b3JhZ2Uuc2V0SXRlbShgZGVidWdgLHQpOmUuc3RvcmFnZS5yZW1vdmVJdGVtKGBkZWJ1Z2ApfWNhdGNoe319ZnVuY3Rpb24gbygpe2xldCB0O3RyeXt0PWUuc3RvcmFnZS5nZXRJdGVtKGBkZWJ1Z2ApfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWZ1bmN0aW9uIHMoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZX1jYXRjaHt9fXQuZXhwb3J0cz1BcygpKGUpO3Zhcntmb3JtYXR0ZXJzOmN9PXQuZXhwb3J0cztjLmo9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtyZXR1cm5gW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06IGArZS5tZXNzYWdlfX19KSksTXM9cygoKGUsdCk9Pnt2YXIgbj1rcygpLHI9anMoKShgc29ja2V0LmlvLWNsaWVudDp1cmxgKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUsdCl7dmFyIGk9ZTt0fHw9dHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24sZT8/PXQucHJvdG9jb2wrYC8vYCt0Lmhvc3QsdHlwZW9mIGU9PWBzdHJpbmdgJiYoZS5jaGFyQXQoMCk9PT1gL2AmJihlPWUuY2hhckF0KDEpPT09YC9gP3QucHJvdG9jb2wrZTp0Lmhvc3QrZSksL14oaHR0cHM/fHdzcz8pOlwvXC8vLnRlc3QoZSl8fChyKGBwcm90b2NvbC1sZXNzIHVybCAlc2AsZSksZT10PT09dm9pZCAwP2BodHRwczovL2ArZTp0LnByb3RvY29sK2AvL2ArZSkscihgcGFyc2UgJXNgLGUpLGk9bihlKSksaS5wb3J0fHwoL14oaHR0cHx3cykkLy50ZXN0KGkucHJvdG9jb2wpP2kucG9ydD1gODBgOi9eKGh0dHB8d3MpcyQvLnRlc3QoaS5wcm90b2NvbCkmJihpLnBvcnQ9YDQ0M2ApKSxpLnBhdGg9aS5wYXRofHxgL2A7dmFyIGE9aS5ob3N0LmluZGV4T2YoYDpgKT09PS0xP2kuaG9zdDpgW2AraS5ob3N0K2BdYDtyZXR1cm4gaS5pZD1pLnByb3RvY29sK2A6Ly9gK2ErYDpgK2kucG9ydCxpLmhyZWY9aS5wcm90b2NvbCtgOi8vYCthKyh0JiZ0LnBvcnQ9PT1pLnBvcnQ/YGA6YDpgK2kucG9ydCksaX19KSksTnM9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBzKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNOYU4oZSk9PT0hMSlyZXR1cm4gdC5sb25nP2woZSk6YyhlKTt0aHJvdyBFcnJvcihgdmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD1gK0pTT04uc3RyaW5naWZ5KGUpKX07ZnVuY3Rpb24gcyhlKXtpZihlPVN0cmluZyhlKSwhKGUubGVuZ3RoPjEwMCkpe3ZhciB0PS9eKCg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIHM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIHMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBzKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gcyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIHMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBzKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIHM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZT49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOmU+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDplPj1yP01hdGgucm91bmQoZS9yKStgbWA6ZT49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiBsKGUpe3JldHVybiB1KGUsYSxgZGF5YCl8fHUoZSxpLGBob3VyYCl8fHUoZSxyLGBtaW51dGVgKXx8dShlLG4sYHNlY29uZGApfHxlK2AgbXNgfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKCEoZTx0KSlyZXR1cm4gZTx0KjEuNT9NYXRoLmZsb29yKGUvdCkrYCBgK246TWF0aC5jZWlsKGUvdCkrYCBgK24rYHNgfX0pKSxQcz1zKCgoZSx0KT0+e2U9dC5leHBvcnRzPXIuZGVidWc9ci5kZWZhdWx0PXIsZS5jb2VyY2U9YyxlLmRpc2FibGU9byxlLmVuYWJsZT1hLGUuZW5hYmxlZD1zLGUuaHVtYW5pemU9TnMoKSxlLmluc3RhbmNlcz1bXSxlLm5hbWVzPVtdLGUuc2tpcHM9W10sZS5mb3JtYXR0ZXJzPXt9O2Z1bmN0aW9uIG4odCl7dmFyIG49MCxyO2ZvcihyIGluIHQpbj0objw8NSktbit0LmNoYXJDb2RlQXQociksbnw9MDtyZXR1cm4gZS5jb2xvcnNbTWF0aC5hYnMobiklZS5jb2xvcnMubGVuZ3RoXX1mdW5jdGlvbiByKHQpe3ZhciByO2Z1bmN0aW9uIGEoKXtpZihhLmVuYWJsZWQpe3ZhciB0PWEsbj0rbmV3IERhdGU7dC5kaWZmPW4tKHJ8fG4pLHQucHJldj1yLHQuY3Vycj1uLHI9bjtmb3IodmFyIGk9QXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbz0wO288aS5sZW5ndGg7bysrKWlbb109YXJndW1lbnRzW29dO2lbMF09ZS5jb2VyY2UoaVswXSksdHlwZW9mIGlbMF0hPWBzdHJpbmdgJiZpLnVuc2hpZnQoYCVPYCk7dmFyIHM9MDtpWzBdPWlbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csZnVuY3Rpb24obixyKXtpZihuPT09YCUlYClyZXR1cm4gbjtzKys7dmFyIGE9ZS5mb3JtYXR0ZXJzW3JdO2lmKHR5cGVvZiBhPT1gZnVuY3Rpb25gKXt2YXIgbz1pW3NdO249YS5jYWxsKHQsbyksaS5zcGxpY2UocywxKSxzLS19cmV0dXJuIG59KSxlLmZvcm1hdEFyZ3MuY2FsbCh0LGkpLChhLmxvZ3x8ZS5sb2d8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSkpLmFwcGx5KHQsaSl9fXJldHVybiBhLm5hbWVzcGFjZT10LGEuZW5hYmxlZD1lLmVuYWJsZWQodCksYS51c2VDb2xvcnM9ZS51c2VDb2xvcnMoKSxhLmNvbG9yPW4odCksYS5kZXN0cm95PWksdHlwZW9mIGUuaW5pdD09YGZ1bmN0aW9uYCYmZS5pbml0KGEpLGUuaW5zdGFuY2VzLnB1c2goYSksYX1mdW5jdGlvbiBpKCl7dmFyIHQ9ZS5pbnN0YW5jZXMuaW5kZXhPZih0aGlzKTtyZXR1cm4gdD09PS0xPyExOihlLmluc3RhbmNlcy5zcGxpY2UodCwxKSwhMCl9ZnVuY3Rpb24gYSh0KXtlLnNhdmUodCksZS5uYW1lcz1bXSxlLnNraXBzPVtdO3ZhciBuLHI9KHR5cGVvZiB0PT1gc3RyaW5nYD90OmBgKS5zcGxpdCgvW1xzLF0rLyksaT1yLmxlbmd0aDtmb3Iobj0wO248aTtuKyspcltuXSYmKHQ9cltuXS5yZXBsYWNlKC9cKi9nLGAuKj9gKSx0WzBdPT09YC1gP2Uuc2tpcHMucHVzaChSZWdFeHAoYF5gK3Quc3Vic3RyKDEpK2AkYCkpOmUubmFtZXMucHVzaChSZWdFeHAoYF5gK3QrYCRgKSkpO2ZvcihuPTA7bjxlLmluc3RhbmNlcy5sZW5ndGg7bisrKXt2YXIgYT1lLmluc3RhbmNlc1tuXTthLmVuYWJsZWQ9ZS5lbmFibGVkKGEubmFtZXNwYWNlKX19ZnVuY3Rpb24gbygpe2UuZW5hYmxlKGBgKX1mdW5jdGlvbiBzKHQpe2lmKHRbdC5sZW5ndGgtMV09PT1gKmApcmV0dXJuITA7dmFyIG4scjtmb3Iobj0wLHI9ZS5za2lwcy5sZW5ndGg7bjxyO24rKylpZihlLnNraXBzW25dLnRlc3QodCkpcmV0dXJuITE7Zm9yKG49MCxyPWUubmFtZXMubGVuZ3RoO248cjtuKyspaWYoZS5uYW1lc1tuXS50ZXN0KHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX19KSksRnM9cygoKGUsdCk9PntlPXQuZXhwb3J0cz1QcygpLGUubG9nPWksZS5mb3JtYXRBcmdzPXIsZS5zYXZlPWEsZS5sb2FkPW8sZS51c2VDb2xvcnM9bixlLnN0b3JhZ2U9dHlwZW9mIGNocm9tZTxgdWAmJmNocm9tZS5zdG9yYWdlIT09dm9pZCAwP2Nocm9tZS5zdG9yYWdlLmxvY2FsOnMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmd2luZG93LnByb2Nlc3MudHlwZT09PWByZW5kZXJlcmA/ITA6dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKGVkZ2V8dHJpZGVudClcLyhcZCspLyk/ITE6dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlfHx0eXBlb2Ygd2luZG93PGB1YCYmd2luZG93LmNvbnNvbGUmJih3aW5kb3cuY29uc29sZS5maXJlYnVnfHx3aW5kb3cuY29uc29sZS5leGNlcHRpb24mJndpbmRvdy5jb25zb2xlLnRhYmxlKXx8dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFwvKFxkKykvKSYmcGFyc2VJbnQoUmVnRXhwLiQxLDEwKT49MzF8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2FwcGxld2Via2l0XC8oXGQrKS8pfWUuZm9ybWF0dGVycy5qPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2goZSl7cmV0dXJuYFtVbmV4cGVjdGVkSlNPTlBhcnNlRXJyb3JdOiBgK2UubWVzc2FnZX19O2Z1bmN0aW9uIHIodCl7dmFyIG49dGhpcy51c2VDb2xvcnM7aWYodFswXT0obj9gJWNgOmBgKSt0aGlzLm5hbWVzcGFjZSsobj9gICVjYDpgIGApK3RbMF0rKG4/YCVjIGA6YCBgKStgK2ArZS5odW1hbml6ZSh0aGlzLmRpZmYpLG4pe3ZhciByPWBjb2xvcjogYCt0aGlzLmNvbG9yO3Quc3BsaWNlKDEsMCxyLGBjb2xvcjogaW5oZXJpdGApO3ZhciBpPTAsYT0wO3RbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLGZ1bmN0aW9uKGUpe2UhPT1gJSVgJiYoaSsrLGU9PT1gJWNgJiYoYT1pKSl9KSx0LnNwbGljZShhLDAscil9fWZ1bmN0aW9uIGkoKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZS5sb2csY29uc29sZSxhcmd1bWVudHMpfWZ1bmN0aW9uIGEodCl7dHJ5e3Q9PW51bGw/ZS5zdG9yYWdlLnJlbW92ZUl0ZW0oYGRlYnVnYCk6ZS5zdG9yYWdlLmRlYnVnPXR9Y2F0Y2h7fX1mdW5jdGlvbiBvKCl7dmFyIHQ7dHJ5e3Q9ZS5zdG9yYWdlLmRlYnVnfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWUuZW5hYmxlKG8oKSk7ZnVuY3Rpb24gcygpe3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHt9fX0pKSxJcz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gbi5sZW5ndGg9PT0wJiZkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzfSxuLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9O2Zvcih2YXIgdD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTEpLG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2lmKG4pe249bi5zbGljZSgwKTtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTsrK3IpbltyXS5hcHBseSh0aGlzLHQpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LHRoaXMuX2NhbGxiYWNrc1tgJGArZV18fFtdfSxuLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuISF0aGlzLmxpc3RlbmVycyhlKS5sZW5ndGh9fSkpLExzPXMoKChlLHQpPT57dmFyIG49e30udG9TdHJpbmc7dC5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiBuLmNhbGwoZSk9PWBbb2JqZWN0IEFycmF5XWB9fSkpLFJzPXMoKChlLHQpPT57dC5leHBvcnRzPWE7dmFyIG49dHlwZW9mIEJ1ZmZlcj09YGZ1bmN0aW9uYCYmdHlwZW9mIEJ1ZmZlci5pc0J1ZmZlcj09YGZ1bmN0aW9uYCxyPXR5cGVvZiBBcnJheUJ1ZmZlcj09YGZ1bmN0aW9uYCxpPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3PT1gZnVuY3Rpb25gP0FycmF5QnVmZmVyLmlzVmlldyhlKTplLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfTtmdW5jdGlvbiBhKGUpe3JldHVybiBuJiZCdWZmZXIuaXNCdWZmZXIoZSl8fHImJihlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkoZSkpfX0pKSx6cz1zKChlPT57dmFyIHQ9THMoKSxuPVJzKCkscj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9dHlwZW9mIEJsb2I9PWBmdW5jdGlvbmB8fHR5cGVvZiBCbG9iPGB1YCYmci5jYWxsKEJsb2IpPT09YFtvYmplY3QgQmxvYkNvbnN0cnVjdG9yXWAsYT10eXBlb2YgRmlsZT09YGZ1bmN0aW9uYHx8dHlwZW9mIEZpbGU8YHVgJiZyLmNhbGwoRmlsZSk9PT1gW29iamVjdCBGaWxlQ29uc3RydWN0b3JdYDtlLmRlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49ZS5kYXRhLHI9ZTtyZXR1cm4gci5kYXRhPW8obix0KSxyLmF0dGFjaG1lbnRzPXQubGVuZ3RoLHtwYWNrZXQ6cixidWZmZXJzOnR9fTtmdW5jdGlvbiBvKGUscil7aWYoIWUpcmV0dXJuIGU7aWYobihlKSl7dmFyIGk9e19wbGFjZWhvbGRlcjohMCxudW06ci5sZW5ndGh9O3JldHVybiByLnB1c2goZSksaX1lbHNlIGlmKHQoZSkpe2Zvcih2YXIgYT1BcnJheShlLmxlbmd0aCkscz0wO3M8ZS5sZW5ndGg7cysrKWFbc109byhlW3NdLHIpO3JldHVybiBhfWVsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgJiYhKGUgaW5zdGFuY2VvZiBEYXRlKSl7dmFyIGE9e307Zm9yKHZhciBjIGluIGUpYVtjXT1vKGVbY10scik7cmV0dXJuIGF9cmV0dXJuIGV9ZS5yZWNvbnN0cnVjdFBhY2tldD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmRhdGE9cyhlLmRhdGEsdCksZS5hdHRhY2htZW50cz12b2lkIDAsZX07ZnVuY3Rpb24gcyhlLG4pe2lmKCFlKXJldHVybiBlO2lmKGUmJmUuX3BsYWNlaG9sZGVyPT09ITApe2lmKHR5cGVvZiBlLm51bT09YG51bWJlcmAmJmUubnVtPj0wJiZlLm51bTxuLmxlbmd0aClyZXR1cm4gbltlLm51bV07dGhyb3cgRXJyb3IoYGlsbGVnYWwgYXR0YWNobWVudHNgKX1lbHNlIGlmKHQoZSkpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXT1zKGVbcl0sbik7ZWxzZSBpZih0eXBlb2YgZT09YG9iamVjdGApZm9yKHZhciBpIGluIGUpZVtpXT1zKGVbaV0sbik7cmV0dXJuIGV9ZS5yZW1vdmVCbG9icz1mdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG8oZSxsLHUpe2lmKCFlKXJldHVybiBlO2lmKGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSl7cysrO3ZhciBkPW5ldyBGaWxlUmVhZGVyO2Qub25sb2FkPWZ1bmN0aW9uKCl7dT91W2xdPXRoaXMucmVzdWx0OmM9dGhpcy5yZXN1bHQsLS1zfHxyKGMpfSxkLnJlYWRBc0FycmF5QnVmZmVyKGUpfWVsc2UgaWYodChlKSlmb3IodmFyIGY9MDtmPGUubGVuZ3RoO2YrKylvKGVbZl0sZixlKTtlbHNlIGlmKHR5cGVvZiBlPT1gb2JqZWN0YCYmIW4oZSkpZm9yKHZhciBwIGluIGUpbyhlW3BdLHAsZSl9dmFyIHM9MCxjPWU7byhjKSxzfHxyKGMpfX0pKSxCcz1zKChlPT57dmFyIHQ9RnMoKShgc29ja2V0LmlvLXBhcnNlcmApLG49SXMoKSxyPXpzKCksaT1McygpLGE9UnMoKTtlLnByb3RvY29sPTQsZS50eXBlcz1bYENPTk5FQ1RgLGBESVNDT05ORUNUYCxgRVZFTlRgLGBBQ0tgLGBFUlJPUmAsYEJJTkFSWV9FVkVOVGAsYEJJTkFSWV9BQ0tgXSxlLkNPTk5FQ1Q9MCxlLkRJU0NPTk5FQ1Q9MSxlLkVWRU5UPTIsZS5BQ0s9MyxlLkVSUk9SPTQsZS5CSU5BUllfRVZFTlQ9NSxlLkJJTkFSWV9BQ0s9NixlLkVuY29kZXI9byxlLkRlY29kZXI9ZDtmdW5jdGlvbiBvKCl7fXZhciBzPWUuRVJST1IrYCJlbmNvZGUgZXJyb3IiYDtvLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24obixyKXt0KGBlbmNvZGluZyBwYWNrZXQgJWpgLG4pLGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGU/dShuLHIpOnIoW2MobildKX07ZnVuY3Rpb24gYyhuKXt2YXIgcj1gYCtuLnR5cGU7aWYoKGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGUpJiYocis9bi5hdHRhY2htZW50cytgLWApLG4ubnNwJiZuLm5zcCE9PWAvYCYmKHIrPW4ubnNwK2AsYCksbi5pZCE9bnVsbCYmKHIrPW4uaWQpLG4uZGF0YSE9bnVsbCl7dmFyIGk9bChuLmRhdGEpO2lmKGkhPT0hMSlyKz1pO2Vsc2UgcmV0dXJuIHN9cmV0dXJuIHQoYGVuY29kZWQgJWogYXMgJXNgLG4scikscn1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSx0KXtmdW5jdGlvbiBuKGUpe3ZhciBuPXIuZGVjb25zdHJ1Y3RQYWNrZXQoZSksaT1jKG4ucGFja2V0KSxhPW4uYnVmZmVyczthLnVuc2hpZnQoaSksdChhKX1yLnJlbW92ZUJsb2JzKGUsbil9ZnVuY3Rpb24gZCgpe3RoaXMucmVjb25zdHJ1Y3Rvcj1udWxsfW4oZC5wcm90b3R5cGUpLGQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgbjtpZih0eXBlb2YgdD09YHN0cmluZ2Ape2lmKHRoaXMucmVjb25zdHJ1Y3Rvcil0aHJvdyBFcnJvcihgZ290IHBsYWludGV4dCBkYXRhIHdoZW4gcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtuPWYodCksZS5CSU5BUllfRVZFTlQ9PT1uLnR5cGV8fGUuQklOQVJZX0FDSz09PW4udHlwZT8odGhpcy5yZWNvbnN0cnVjdG9yPW5ldyBtKG4pLHRoaXMucmVjb25zdHJ1Y3Rvci5yZWNvblBhY2suYXR0YWNobWVudHM9PT0wJiZ0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTp0aGlzLmVtaXQoYGRlY29kZWRgLG4pfWVsc2UgaWYoYSh0KXx8dC5iYXNlNjQpaWYodGhpcy5yZWNvbnN0cnVjdG9yKW49dGhpcy5yZWNvbnN0cnVjdG9yLnRha2VCaW5hcnlEYXRhKHQpLG4mJih0aGlzLnJlY29uc3RydWN0b3I9bnVsbCx0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTtlbHNlIHRocm93IEVycm9yKGBnb3QgYmluYXJ5IGRhdGEgd2hlbiBub3QgcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtlbHNlIHRocm93IEVycm9yKGBVbmtub3duIHR5cGU6IGArdCl9O2Z1bmN0aW9uIGYobil7dmFyIHI9MCxhPXt0eXBlOk51bWJlcihuLmNoYXJBdCgwKSl9O2lmKGUudHlwZXNbYS50eXBlXT09bnVsbClyZXR1cm4gaChgdW5rbm93biBwYWNrZXQgdHlwZSBgK2EudHlwZSk7aWYoZS5CSU5BUllfRVZFTlQ9PT1hLnR5cGV8fGUuQklOQVJZX0FDSz09PWEudHlwZSl7Zm9yKHZhciBvPXIrMTtuLmNoYXJBdCgrK3IpIT09YC1gJiZyIT1uLmxlbmd0aDspO3ZhciBzPW4uc3Vic3RyaW5nKG8scik7aWYocyE9TnVtYmVyKHMpfHxuLmNoYXJBdChyKSE9PWAtYCl0aHJvdyBFcnJvcihgSWxsZWdhbCBhdHRhY2htZW50c2ApO2EuYXR0YWNobWVudHM9TnVtYmVyKHMpfWlmKG4uY2hhckF0KHIrMSk9PT1gL2Ape2Zvcih2YXIgbz1yKzE7KytyOyl7dmFyIGM9bi5jaGFyQXQocik7aWYoYz09PWAsYHx8cj09PW4ubGVuZ3RoKWJyZWFrfWEubnNwPW4uc3Vic3RyaW5nKG8scil9ZWxzZSBhLm5zcD1gL2A7dmFyIGw9bi5jaGFyQXQocisxKTtpZihsIT09YGAmJk51bWJlcihsKT09bCl7Zm9yKHZhciBvPXIrMTsrK3I7KXt2YXIgYz1uLmNoYXJBdChyKTtpZihjPT1udWxsfHxOdW1iZXIoYykhPWMpey0tcjticmVha31pZihyPT09bi5sZW5ndGgpYnJlYWt9YS5pZD1OdW1iZXIobi5zdWJzdHJpbmcobyxyKzEpKX1pZihuLmNoYXJBdCgrK3IpKXt2YXIgdT1wKG4uc3Vic3RyKHIpKTtpZih1IT09ITEmJihhLnR5cGU9PT1lLkVSUk9SfHxpKHUpKSlhLmRhdGE9dTtlbHNlIHJldHVybiBoKGBpbnZhbGlkIHBheWxvYWRgKX1yZXR1cm4gdChgZGVjb2RlZCAlcyBhcyAlamAsbixhKSxhfWZ1bmN0aW9uIHAoZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybiExfX1kLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5yZWNvbnN0cnVjdG9yJiZ0aGlzLnJlY29uc3RydWN0b3IuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpfTtmdW5jdGlvbiBtKGUpe3RoaXMucmVjb25QYWNrPWUsdGhpcy5idWZmZXJzPVtdfW0ucHJvdG90eXBlLnRha2VCaW5hcnlEYXRhPWZ1bmN0aW9uKGUpe2lmKHRoaXMuYnVmZmVycy5wdXNoKGUpLHRoaXMuYnVmZmVycy5sZW5ndGg9PT10aGlzLnJlY29uUGFjay5hdHRhY2htZW50cyl7dmFyIHQ9ci5yZWNvbnN0cnVjdFBhY2tldCh0aGlzLnJlY29uUGFjayx0aGlzLmJ1ZmZlcnMpO3JldHVybiB0aGlzLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24oKSx0fXJldHVybiBudWxsfSxtLnByb3RvdHlwZS5maW5pc2hlZFJlY29uc3RydWN0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZWNvblBhY2s9bnVsbCx0aGlzLmJ1ZmZlcnM9W119O2Z1bmN0aW9uIGgodCl7cmV0dXJue3R5cGU6ZS5FUlJPUixkYXRhOmBwYXJzZXIgZXJyb3I6IGArdH19fSkpLFZzPXMoKChlLHQpPT57dHJ5e3QuZXhwb3J0cz10eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiZgd2l0aENyZWRlbnRpYWxzYGluIG5ldyBYTUxIdHRwUmVxdWVzdH1jYXRjaHt0LmV4cG9ydHM9ITF9fSkpLEhzPXMoKChlLHQpPT57dC5leHBvcnRzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2Ygc2VsZjxgdWA/c2VsZjp0eXBlb2Ygd2luZG93PGB1YD93aW5kb3c6RnVuY3Rpb24oYHJldHVybiB0aGlzYCkoKX0pKCl9KSksVXM9cygoKGUsdCk9Pnt2YXIgbj1WcygpLHI9SHMoKTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS54ZG9tYWluLGk9ZS54c2NoZW1lLGE9ZS5lbmFibGVzWERSO3RyeXtpZih0eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiYoIXR8fG4pKXJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2h7fXRyeXtpZih0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhaSYmYSlyZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0fWNhdGNoe31pZighdCl0cnl7cmV0dXJuIG5ldyByW1tgQWN0aXZlYCxgT2JqZWN0YF0uam9pbihgWGApXShgTWljcm9zb2Z0LlhNTEhUVFBgKX1jYXRjaHt9fX0pKSxXcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Zvcih2YXIgciBpbiBlKW4uY2FsbChlLHIpJiZ0LnB1c2gocik7cmV0dXJuIHR9fSkpLEdzPXMoKChlLHQpPT57dmFyIG49THMoKSxyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsaT10eXBlb2YgQmxvYj09YGZ1bmN0aW9uYHx8dHlwZW9mIEJsb2I8YHVgJiZyLmNhbGwoQmxvYik9PT1gW29iamVjdCBCbG9iQ29uc3RydWN0b3JdYCxhPXR5cGVvZiBGaWxlPT1gZnVuY3Rpb25gfHx0eXBlb2YgRmlsZTxgdWAmJnIuY2FsbChGaWxlKT09PWBbb2JqZWN0IEZpbGVDb25zdHJ1Y3Rvcl1gO3QuZXhwb3J0cz1vO2Z1bmN0aW9uIG8oZSl7aWYoIWV8fHR5cGVvZiBlIT1gb2JqZWN0YClyZXR1cm4hMTtpZihuKGUpKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0KyspaWYobyhlW3RdKSlyZXR1cm4hMDtyZXR1cm4hMX1pZih0eXBlb2YgQnVmZmVyPT1gZnVuY3Rpb25gJiZCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKXx8dHlwZW9mIEFycmF5QnVmZmVyPT1gZnVuY3Rpb25gJiZlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSlyZXR1cm4hMDtpZihlLnRvSlNPTiYmdHlwZW9mIGUudG9KU09OPT1gZnVuY3Rpb25gJiZhcmd1bWVudHMubGVuZ3RoPT09MSlyZXR1cm4gbyhlLnRvSlNPTigpLCEwKTtmb3IodmFyIHMgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmbyhlW3NdKSlyZXR1cm4hMDtyZXR1cm4hMX19KSksS3M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuYnl0ZUxlbmd0aDtpZih0fHw9MCxufHw9cixlLnNsaWNlKXJldHVybiBlLnNsaWNlKHQsbik7aWYodDwwJiYodCs9ciksbjwwJiYobis9ciksbj5yJiYobj1yKSx0Pj1yfHx0Pj1ufHxyPT09MClyZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShlKSxhPW5ldyBVaW50OEFycmF5KG4tdCksbz10LHM9MDtvPG47bysrLHMrKylhW3NdPWlbb107cmV0dXJuIGEuYnVmZmVyfX0pKSxxcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1uO2Z1bmN0aW9uIG4oZSx0LG4pe3ZhciBpPSExO3JldHVybiBufHw9cixhLmNvdW50PWUsZT09PTA/dCgpOmE7ZnVuY3Rpb24gYShlLHIpe2lmKGEuY291bnQ8PTApdGhyb3cgRXJyb3IoYGFmdGVyIGNhbGxlZCB0b28gbWFueSB0aW1lc2ApOy0tYS5jb3VudCxlPyhpPSEwLHQoZSksdD1uKTphLmNvdW50PT09MCYmIWkmJnQobnVsbCxyKX19ZnVuY3Rpb24gcigpe319KSksSnM9cygoKGUsdCk9Pnt2YXIgbj1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIHIoZSl7Zm9yKHZhciB0PVtdLG49MCxyPWUubGVuZ3RoLGksYTtuPHI7KWk9ZS5jaGFyQ29kZUF0KG4rKyksaT49NTUyOTYmJmk8PTU2MzE5JiZuPHI/KGE9ZS5jaGFyQ29kZUF0KG4rKyksKGEmNjQ1MTIpPT01NjMyMD90LnB1c2goKChpJjEwMjMpPDwxMCkrKGEmMTAyMykrNjU1MzYpOih0LnB1c2goaSksbi0tKSk6dC5wdXNoKGkpO3JldHVybiB0fWZ1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PWUubGVuZ3RoLHI9LTEsaSxhPWBgOysrcjx0OylpPWVbcl0saT42NTUzNSYmKGktPTY1NTM2LGErPW4oaT4+PjEwJjEwMjN8NTUyOTYpLGk9NTYzMjB8aSYxMDIzKSxhKz1uKGkpO3JldHVybiBhfWZ1bmN0aW9uIGEoZSx0KXtpZihlPj01NTI5NiYmZTw9NTczNDMpe2lmKHQpdGhyb3cgRXJyb3IoYExvbmUgc3Vycm9nYXRlIFUrYCtlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpK2AgaXMgbm90IGEgc2NhbGFyIHZhbHVlYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBuKGU+PnQmNjN8MTI4KX1mdW5jdGlvbiBzKGUsdCl7aWYoIShlJjQyOTQ5NjcxNjgpKXJldHVybiBuKGUpO3ZhciByPWBgO3JldHVybiBlJjQyOTQ5NjUyNDg/ZSY0Mjk0OTAxNzYwP2UmNDI5Mjg3MDE0NHx8KHI9bihlPj4xOCY3fDI0MCkscis9byhlLDEyKSxyKz1vKGUsNikpOihhKGUsdCl8fChlPTY1NTMzKSxyPW4oZT4+MTImMTV8MjI0KSxyKz1vKGUsNikpOnI9bihlPj42JjMxfDE5Mikscis9bihlJjYzfDEyOCkscn1mdW5jdGlvbiBjKGUsdCl7dHx8PXt9O2Zvcih2YXIgbj0hMSE9PXQuc3RyaWN0LGk9cihlKSxhPWkubGVuZ3RoLG89LTEsYyxsPWBgOysrbzxhOyljPWlbb10sbCs9cyhjLG4pO3JldHVybiBsfWZ1bmN0aW9uIGwoKXtpZihwPj1mKXRocm93IEVycm9yKGBJbnZhbGlkIGJ5dGUgaW5kZXhgKTt2YXIgZT1kW3BdJjI1NTtpZihwKyssKGUmMTkyKT09MTI4KXJldHVybiBlJjYzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9ZnVuY3Rpb24gdShlKXt2YXIgdCxuLHIsaSxvO2lmKHA+Zil0aHJvdyBFcnJvcihgSW52YWxpZCBieXRlIGluZGV4YCk7aWYocD09ZilyZXR1cm4hMTtpZih0PWRbcF0mMjU1LHArKywhKHQmMTI4KSlyZXR1cm4gdDtpZigodCYyMjQpPT0xOTIpe2lmKG49bCgpLG89KHQmMzEpPDw2fG4sbz49MTI4KXJldHVybiBvO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQwKT09MjI0KXtpZihuPWwoKSxyPWwoKSxvPSh0JjE1KTw8MTJ8bjw8NnxyLG8+PTIwNDgpcmV0dXJuIGEobyxlKT9vOjY1NTMzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQ4KT09MjQwJiYobj1sKCkscj1sKCksaT1sKCksbz0odCY3KTw8MTh8bjw8MTJ8cjw8NnxpLG8+PTY1NTM2JiZvPD0xMTE0MTExKSlyZXR1cm4gbzt0aHJvdyBFcnJvcihgSW52YWxpZCBVVEYtOCBkZXRlY3RlZGApfXZhciBkLGYscDtmdW5jdGlvbiBtKGUsdCl7dHx8PXt9O3ZhciBuPSExIT09dC5zdHJpY3Q7ZD1yKGUpLGY9ZC5sZW5ndGgscD0wO2Zvcih2YXIgYT1bXSxvOyhvPXUobikpIT09ITE7KWEucHVzaChvKTtyZXR1cm4gaShhKX10LmV4cG9ydHM9e3ZlcnNpb246YDIuMS4yYCxlbmNvZGU6YyxkZWNvZGU6bX19KSksWXM9cygoZT0+eyhmdW5jdGlvbih0KXtlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgbj1uZXcgVWludDhBcnJheShlKSxyLGk9bi5sZW5ndGgsYT1gYDtmb3Iocj0wO3I8aTtyKz0zKWErPXRbbltyXT4+Ml0sYSs9dFsobltyXSYzKTw8NHxuW3IrMV0+PjRdLGErPXRbKG5bcisxXSYxNSk8PDJ8bltyKzJdPj42XSxhKz10W25bcisyXSY2M107cmV0dXJuIGklMz09Mj9hPWEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMSkrYD1gOmklMz09MSYmKGE9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0yKStgPT1gKSxhfSxlLmRlY29kZT1mdW5jdGlvbihlKXt2YXIgbj1lLmxlbmd0aCouNzUscj1lLmxlbmd0aCxpLGE9MCxvLHMsYyxsO2VbZS5sZW5ndGgtMV09PT1gPWAmJihuLS0sZVtlLmxlbmd0aC0yXT09PWA9YCYmbi0tKTt2YXIgdT1uZXcgQXJyYXlCdWZmZXIobiksZD1uZXcgVWludDhBcnJheSh1KTtmb3IoaT0wO2k8cjtpKz00KW89dC5pbmRleE9mKGVbaV0pLHM9dC5pbmRleE9mKGVbaSsxXSksYz10LmluZGV4T2YoZVtpKzJdKSxsPXQuaW5kZXhPZihlW2krM10pLGRbYSsrXT1vPDwyfHM+PjQsZFthKytdPShzJjE1KTw8NHxjPj4yLGRbYSsrXT0oYyYzKTw8NnxsJjYzO3JldHVybiB1fX0pKGBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvYCl9KSksWHM9cygoKGUsdCk9Pnt2YXIgbj1uPT09dm9pZCAwP3R5cGVvZiBXZWJLaXRCbG9iQnVpbGRlcjxgdWA/V2ViS2l0QmxvYkJ1aWxkZXI6dHlwZW9mIE1TQmxvYkJ1aWxkZXI8YHVgP01TQmxvYkJ1aWxkZXI6dHlwZW9mIE1vekJsb2JCdWlsZGVyPGB1YD9Nb3pCbG9iQnVpbGRlcjohMTpuLHI9KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgQmxvYihbYGhpYF0pLnNpemU9PT0yfWNhdGNoe3JldHVybiExfX0pKCksaT1yJiYoZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKS5zaXplPT09Mn1jYXRjaHtyZXR1cm4hMX19KSgpLGE9biYmbi5wcm90b3R5cGUuYXBwZW5kJiZuLnByb3RvdHlwZS5nZXRCbG9iO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe2lmKGUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpe3ZhciB0PWUuYnVmZmVyO2lmKGUuYnl0ZUxlbmd0aCE9PXQuYnl0ZUxlbmd0aCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoZS5ieXRlTGVuZ3RoKTtuLnNldChuZXcgVWludDhBcnJheSh0LGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpKSx0PW4uYnVmZmVyfXJldHVybiB0fXJldHVybiBlfSl9ZnVuY3Rpb24gcyhlLHQpe3R8fD17fTt2YXIgcj1uZXcgbjtyZXR1cm4gbyhlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3IuYXBwZW5kKGUpfSksdC50eXBlP3IuZ2V0QmxvYih0LnR5cGUpOnIuZ2V0QmxvYigpfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gbmV3IEJsb2IobyhlKSx0fHx7fSl9dHlwZW9mIEJsb2I8YHVgJiYocy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUsYy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUpLHQuZXhwb3J0cz0oZnVuY3Rpb24oKXtpZihyKXJldHVybiBpP0Jsb2I6YztpZihhKXJldHVybiBzfSkoKX0pKSxacz1zKChlPT57dmFyIHQ9V3MoKSxuPUdzKCkscj1LcygpLGk9cXMoKSxhPUpzKCksbzt0eXBlb2YgQXJyYXlCdWZmZXI8YHVgJiYobz1ZcygpKTt2YXIgcz10eXBlb2YgbmF2aWdhdG9yPGB1YCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9QaGFudG9tSlMvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGw9c3x8YztlLnByb3RvY29sPTM7dmFyIHU9ZS5wYWNrZXRzPXtvcGVuOjAsY2xvc2U6MSxwaW5nOjIscG9uZzozLG1lc3NhZ2U6NCx1cGdyYWRlOjUsbm9vcDo2fSxkPXQodSksZj17dHlwZTpgZXJyb3JgLGRhdGE6YHBhcnNlciBlcnJvcmB9LHA9WHMoKTtlLmVuY29kZVBhY2tldD1mdW5jdGlvbihlLHQsbixyKXt0eXBlb2YgdD09YGZ1bmN0aW9uYCYmKHI9dCx0PSExKSx0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpPWUuZGF0YT09PXZvaWQgMD92b2lkIDA6ZS5kYXRhLmJ1ZmZlcnx8ZS5kYXRhO2lmKHR5cGVvZiBBcnJheUJ1ZmZlcjxgdWAmJmkgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gaChlLHQscik7aWYocCE9PXZvaWQgMCYmaSBpbnN0YW5jZW9mIHApcmV0dXJuIF8oZSx0LHIpO2lmKGkmJmkuYmFzZTY0KXJldHVybiBtKGUscik7dmFyIG89dVtlLnR5cGVdO3JldHVybiBlLmRhdGEhPT12b2lkIDAmJihvKz1uP2EuZW5jb2RlKFN0cmluZyhlLmRhdGEpLHtzdHJpY3Q6ITF9KTpTdHJpbmcoZS5kYXRhKSkscihgYCtvKX07ZnVuY3Rpb24gbSh0LG4pe3JldHVybiBuKGBiYCtlLnBhY2tldHNbdC50eXBlXSt0LmRhdGEuZGF0YSl9ZnVuY3Rpb24gaCh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7dmFyIGk9dC5kYXRhLGE9bmV3IFVpbnQ4QXJyYXkoaSksbz1uZXcgVWludDhBcnJheSgxK2kuYnl0ZUxlbmd0aCk7b1swXT11W3QudHlwZV07Zm9yKHZhciBzPTA7czxhLmxlbmd0aDtzKyspb1tzKzFdPWFbc107cmV0dXJuIHIoby5idWZmZXIpfWZ1bmN0aW9uIGcodCxuLHIpe2lmKCFuKXJldHVybiBlLmVuY29kZUJhc2U2NFBhY2tldCh0LHIpO3ZhciBpPW5ldyBGaWxlUmVhZGVyO3JldHVybiBpLm9ubG9hZD1mdW5jdGlvbigpe2UuZW5jb2RlUGFja2V0KHt0eXBlOnQudHlwZSxkYXRhOmkucmVzdWx0fSxuLCEwLHIpfSxpLnJlYWRBc0FycmF5QnVmZmVyKHQuZGF0YSl9ZnVuY3Rpb24gXyh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7aWYobClyZXR1cm4gZyh0LG4scik7dmFyIGk9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIGlbMF09dVt0LnR5cGVdLHIobmV3IHAoW2kuYnVmZmVyLHQuZGF0YV0pKX1lLmVuY29kZUJhc2U2NFBhY2tldD1mdW5jdGlvbih0LG4pe3ZhciByPWBiYCtlLnBhY2tldHNbdC50eXBlXTtpZihwIT09dm9pZCAwJiZ0LmRhdGEgaW5zdGFuY2VvZiBwKXt2YXIgaT1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gaS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT1pLnJlc3VsdC5zcGxpdChgLGApWzFdO24ocitlKX0saS5yZWFkQXNEYXRhVVJMKHQuZGF0YSl9dmFyIGE7dHJ5e2E9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KHQuZGF0YSkpfWNhdGNoe2Zvcih2YXIgbz1uZXcgVWludDhBcnJheSh0LmRhdGEpLHM9QXJyYXkoby5sZW5ndGgpLGM9MDtjPG8ubGVuZ3RoO2MrKylzW2NdPW9bY107YT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwscyl9cmV0dXJuIHIrPWJ0b2EoYSksbihyKX0sZS5kZWNvZGVQYWNrZXQ9ZnVuY3Rpb24odCxuLGkpe2lmKHQ9PT12b2lkIDApcmV0dXJuIGY7aWYodHlwZW9mIHQ9PWBzdHJpbmdgKXtpZih0LmNoYXJBdCgwKT09PWBiYClyZXR1cm4gZS5kZWNvZGVCYXNlNjRQYWNrZXQodC5zdWJzdHIoMSksbik7aWYoaSYmKHQ9dih0KSx0PT09ITEpKXJldHVybiBmO3ZhciBhPXQuY2hhckF0KDApO3JldHVybiBOdW1iZXIoYSkhPWF8fCFkW2FdP2Y6dC5sZW5ndGg+MT97dHlwZTpkW2FdLGRhdGE6dC5zdWJzdHJpbmcoMSl9Ont0eXBlOmRbYV19fXZhciBhPW5ldyBVaW50OEFycmF5KHQpWzBdLG89cih0LDEpO3JldHVybiBwJiZuPT09YGJsb2JgJiYobz1uZXcgcChbb10pKSx7dHlwZTpkW2FdLGRhdGE6b319O2Z1bmN0aW9uIHYoZSl7dHJ5e2U9YS5kZWNvZGUoZSx7c3RyaWN0OiExfSl9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuIGV9ZS5kZWNvZGVCYXNlNjRQYWNrZXQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kW2UuY2hhckF0KDApXTtpZighbylyZXR1cm57dHlwZTpuLGRhdGE6e2Jhc2U2NDohMCxkYXRhOmUuc3Vic3RyKDEpfX07dmFyIHI9by5kZWNvZGUoZS5zdWJzdHIoMSkpO3JldHVybiB0PT09YGJsb2JgJiZwJiYocj1uZXcgcChbcl0pKSx7dHlwZTpuLGRhdGE6cn19LGUuZW5jb2RlUGF5bG9hZD1mdW5jdGlvbih0LHIsaSl7dHlwZW9mIHI9PWBmdW5jdGlvbmAmJihpPXIscj1udWxsKTt2YXIgYT1uKHQpO2lmKHImJmEpcmV0dXJuIHAmJiFsP2UuZW5jb2RlUGF5bG9hZEFzQmxvYih0LGkpOmUuZW5jb2RlUGF5bG9hZEFzQXJyYXlCdWZmZXIodCxpKTtpZighdC5sZW5ndGgpcmV0dXJuIGkoYDA6YCk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZS5sZW5ndGgrYDpgK2V9ZnVuY3Rpb24gcyh0LG4pe2UuZW5jb2RlUGFja2V0KHQsYT9yOiExLCExLGZ1bmN0aW9uKGUpe24obnVsbCxvKGUpKX0pfXkodCxzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodC5qb2luKGBgKSl9KX07ZnVuY3Rpb24geShlLHQsbil7Zm9yKHZhciByPUFycmF5KGUubGVuZ3RoKSxhPWkoZS5sZW5ndGgsbiksbz1mdW5jdGlvbihlLG4saSl7dChuLGZ1bmN0aW9uKHQsbil7cltlXT1uLGkodCxyKX0pfSxzPTA7czxlLmxlbmd0aDtzKyspbyhzLGVbc10sYSl9ZS5kZWNvZGVQYXlsb2FkPWZ1bmN0aW9uKHQsbixyKXtpZih0eXBlb2YgdCE9YHN0cmluZ2ApcmV0dXJuIGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KHQsbixyKTt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpO2lmKHQ9PT1gYClyZXR1cm4gcihmLDAsMSk7Zm9yKHZhciBhPWBgLG8scyxjPTAsbD10Lmxlbmd0aDtjPGw7YysrKXt2YXIgdT10LmNoYXJBdChjKTtpZih1IT09YDpgKXthKz11O2NvbnRpbnVlfWlmKGE9PT1gYHx8YSE9KG89TnVtYmVyKGEpKXx8KHM9dC5zdWJzdHIoYysxLG8pLGEhPXMubGVuZ3RoKSlyZXR1cm4gcihmLDAsMSk7aWYocy5sZW5ndGgpe2lmKGk9ZS5kZWNvZGVQYWNrZXQocyxuLCExKSxmLnR5cGU9PT1pLnR5cGUmJmYuZGF0YT09PWkuZGF0YSlyZXR1cm4gcihmLDAsMSk7aWYoITE9PT1yKGksYytvLGwpKXJldHVybn1jKz1vLGE9YGB9aWYoYSE9PWBgKXJldHVybiByKGYsMCwxKX0sZS5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlcj1mdW5jdGlvbih0LG4pe2lmKCF0Lmxlbmd0aClyZXR1cm4gbihuZXcgQXJyYXlCdWZmZXIoMCkpO2Z1bmN0aW9uIHIodCxuKXtlLmVuY29kZVBhY2tldCh0LCEwLCEwLGZ1bmN0aW9uKGUpe3JldHVybiBuKG51bGwsZSl9KX15KHQscixmdW5jdGlvbihlLHQpe3ZhciByPXQucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIHQ9PWBzdHJpbmdgP3QubGVuZ3RoOnQuYnl0ZUxlbmd0aDtyZXR1cm4gZStuLnRvU3RyaW5nKCkubGVuZ3RoK24rMn0sMCksaT1uZXcgVWludDhBcnJheShyKSxhPTA7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD10eXBlb2YgZT09YHN0cmluZ2Asbj1lO2lmKHQpe2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShlLmxlbmd0aCksbz0wO288ZS5sZW5ndGg7bysrKXJbb109ZS5jaGFyQ29kZUF0KG8pO249ci5idWZmZXJ9dD9pW2ErK109MDppW2ErK109MTtmb3IodmFyIHM9bi5ieXRlTGVuZ3RoLnRvU3RyaW5nKCksbz0wO288cy5sZW5ndGg7bysrKWlbYSsrXT1wYXJzZUludChzW29dKTtpW2ErK109MjU1O2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShuKSxvPTA7bzxyLmxlbmd0aDtvKyspaVthKytdPXJbb119KSxuKGkuYnVmZmVyKX0pfSxlLmVuY29kZVBheWxvYWRBc0Jsb2I9ZnVuY3Rpb24odCxuKXtmdW5jdGlvbiByKHQsbil7ZS5lbmNvZGVQYWNrZXQodCwhMCwhMCxmdW5jdGlvbihlKXt2YXIgdD1uZXcgVWludDhBcnJheSgxKTtpZih0WzBdPTEsdHlwZW9mIGU9PWBzdHJpbmdgKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoO2krKylyW2ldPWUuY2hhckNvZGVBdChpKTtlPXIuYnVmZmVyLHRbMF09MH1mb3IodmFyIGE9KGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9lLmJ5dGVMZW5ndGg6ZS5zaXplKS50b1N0cmluZygpLG89bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgrMSksaT0wO2k8YS5sZW5ndGg7aSsrKW9baV09cGFyc2VJbnQoYVtpXSk7b1thLmxlbmd0aF09MjU1LHAmJm4obnVsbCxuZXcgcChbdC5idWZmZXIsby5idWZmZXIsZV0pKX0pfXkodCxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4obmV3IHAodCkpfSl9LGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5PWZ1bmN0aW9uKHQsbixpKXt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKGk9bixuPW51bGwpO2Zvcih2YXIgYT10LG89W107YS5ieXRlTGVuZ3RoPjA7KXtmb3IodmFyIHM9bmV3IFVpbnQ4QXJyYXkoYSksYz1zWzBdPT09MCxsPWBgLHU9MTtzW3VdIT09MjU1O3UrKyl7aWYobC5sZW5ndGg+MzEwKXJldHVybiBpKGYsMCwxKTtsKz1zW3VdfWE9cihhLDIrbC5sZW5ndGgpLGw9cGFyc2VJbnQobCk7dmFyIGQ9cihhLDAsbCk7aWYoYyl0cnl7ZD1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoZCkpfWNhdGNoe3ZhciBwPW5ldyBVaW50OEFycmF5KGQpO2Q9YGA7Zm9yKHZhciB1PTA7dTxwLmxlbmd0aDt1KyspZCs9U3RyaW5nLmZyb21DaGFyQ29kZShwW3VdKX1vLnB1c2goZCksYT1yKGEsbCl9dmFyIG09by5sZW5ndGg7by5mb3JFYWNoKGZ1bmN0aW9uKHQscil7aShlLmRlY29kZVBhY2tldCh0LG4sITApLHIsbSl9KX19KSksUXM9cygoKGUsdCk9Pnt2YXIgbj1acygpLHI9SXMoKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUpe3RoaXMucGF0aD1lLnBhdGgsdGhpcy5ob3N0bmFtZT1lLmhvc3RuYW1lLHRoaXMucG9ydD1lLnBvcnQsdGhpcy5zZWN1cmU9ZS5zZWN1cmUsdGhpcy5xdWVyeT1lLnF1ZXJ5LHRoaXMudGltZXN0YW1wUGFyYW09ZS50aW1lc3RhbXBQYXJhbSx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPWUudGltZXN0YW1wUmVxdWVzdHMsdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMuYWdlbnQ9ZS5hZ2VudHx8ITEsdGhpcy5zb2NrZXQ9ZS5zb2NrZXQsdGhpcy5lbmFibGVzWERSPWUuZW5hYmxlc1hEUix0aGlzLndpdGhDcmVkZW50aWFscz1lLndpdGhDcmVkZW50aWFscyx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5mb3JjZU5vZGU9ZS5mb3JjZU5vZGUsdGhpcy5pc1JlYWN0TmF0aXZlPWUuaXNSZWFjdE5hdGl2ZSx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0aGlzLmxvY2FsQWRkcmVzcz1lLmxvY2FsQWRkcmVzc31yKGkucHJvdG90eXBlKSxpLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUsdCl7dmFyIG49RXJyb3IoZSk7cmV0dXJuIG4udHlwZT1gVHJhbnNwb3J0RXJyb3JgLG4uZGVzY3JpcHRpb249dCx0aGlzLmVtaXQoYGVycm9yYCxuKSx0aGlzfSxpLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgfHx0aGlzLnJlYWR5U3RhdGU9PT1gYCkmJih0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuZG9PcGVuKCkpLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKSYmKHRoaXMuZG9DbG9zZSgpLHRoaXMub25DbG9zZSgpKSx0aGlzfSxpLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYCl0aGlzLndyaXRlKGUpO2Vsc2UgdGhyb3cgRXJyb3IoYFRyYW5zcG9ydCBub3Qgb3BlbmApfSxpLnByb3RvdHlwZS5vbk9wZW49ZnVuY3Rpb24oKXt0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMud3JpdGFibGU9ITAsdGhpcy5lbWl0KGBvcGVuYCl9LGkucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt2YXIgdD1uLmRlY29kZVBhY2tldChlLHRoaXMuc29ja2V0LmJpbmFyeVR5cGUpO3RoaXMub25QYWNrZXQodCl9LGkucHJvdG90eXBlLm9uUGFja2V0PWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0saS5wcm90b3R5cGUub25DbG9zZT1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCl9fSkpLCRzPXMoKGU9PntlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdD1gYDtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodC5sZW5ndGgmJih0Kz1gJmApLHQrPWVuY29kZVVSSUNvbXBvbmVudChuKStgPWArZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pKTtyZXR1cm4gdH0sZS5kZWNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXt9LG49ZS5zcGxpdChgJmApLHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspe3ZhciBhPW5bcl0uc3BsaXQoYD1gKTt0W2RlY29kZVVSSUNvbXBvbmVudChhWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KGFbMV0pfXJldHVybiB0fX0pKSxlYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKCl7fTtuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX0pKSx0Yz1zKCgoZSx0KT0+e3ZhciBuPWAwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei1fYC5zcGxpdChgYCkscj02NCxpPXt9LGE9MCxvPTAscztmdW5jdGlvbiBjKGUpe3ZhciB0PWBgO2RvIHQ9bltlJXJdK3QsZT1NYXRoLmZsb29yKGUvcik7d2hpbGUoZT4wKTtyZXR1cm4gdH1mdW5jdGlvbiBsKGUpe3ZhciB0PTA7Zm9yKG89MDtvPGUubGVuZ3RoO28rKyl0PXQqcitpW2UuY2hhckF0KG8pXTtyZXR1cm4gdH1mdW5jdGlvbiB1KCl7dmFyIGU9YygrbmV3IERhdGUpO3JldHVybiBlPT09cz9lK2AuYCtjKGErKyk6KGE9MCxzPWUpfWZvcig7bzxyO28rKylpW25bb11dPW87dS5lbmNvZGU9Yyx1LmRlY29kZT1sLHQuZXhwb3J0cz11fSkpLG5jPXMoKChlLHQpPT57dmFyIG49UXMoKSxyPSRzKCksaT1acygpLGE9ZWMoKSxvPXRjKCkscz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmdgKTt0LmV4cG9ydHM9bDt2YXIgYz0oZnVuY3Rpb24oKXtyZXR1cm4gbmV3KFVzKCkpKHt4ZG9tYWluOiExfSkucmVzcG9uc2VUeXBlIT1udWxsfSkoKTtmdW5jdGlvbiBsKGUpe3ZhciB0PWUmJmUuZm9yY2VCYXNlNjQ7KCFjfHx0KSYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLG4uY2FsbCh0aGlzLGUpfWEobCxuKSxsLnByb3RvdHlwZS5uYW1lPWBwb2xsaW5nYCxsLnByb3RvdHlwZS5kb09wZW49ZnVuY3Rpb24oKXt0aGlzLnBvbGwoKX0sbC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLnJlYWR5U3RhdGU9YHBhdXNpbmdgO2Z1bmN0aW9uIG4oKXtzKGBwYXVzZWRgKSx0LnJlYWR5U3RhdGU9YHBhdXNlZGAsZSgpfWlmKHRoaXMucG9sbGluZ3x8IXRoaXMud3JpdGFibGUpe3ZhciByPTA7dGhpcy5wb2xsaW5nJiYocyhgd2UgYXJlIGN1cnJlbnRseSBwb2xsaW5nIC0gd2FpdGluZyB0byBwYXVzZWApLHIrKyx0aGlzLm9uY2UoYHBvbGxDb21wbGV0ZWAsZnVuY3Rpb24oKXtzKGBwcmUtcGF1c2UgcG9sbGluZyBjb21wbGV0ZWApLC0tcnx8bigpfSkpLHRoaXMud3JpdGFibGV8fChzKGB3ZSBhcmUgY3VycmVudGx5IHdyaXRpbmcgLSB3YWl0aW5nIHRvIHBhdXNlYCkscisrLHRoaXMub25jZShgZHJhaW5gLGZ1bmN0aW9uKCl7cyhgcHJlLXBhdXNlIHdyaXRpbmcgY29tcGxldGVgKSwtLXJ8fG4oKX0pKX1lbHNlIG4oKX0sbC5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe3MoYHBvbGxpbmdgKSx0aGlzLnBvbGxpbmc9ITAsdGhpcy5kb1BvbGwoKSx0aGlzLmVtaXQoYHBvbGxgKX0sbC5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cyhgcG9sbGluZyBnb3QgZGF0YSAlc2AsZSksaS5kZWNvZGVQYXlsb2FkKGUsdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSxmdW5jdGlvbihlLG4scil7aWYodC5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0Lm9uT3BlbigpLGUudHlwZT09PWBjbG9zZWApcmV0dXJuIHQub25DbG9zZSgpLCExO3Qub25QYWNrZXQoZSl9KSx0aGlzLnJlYWR5U3RhdGUhPT1gY2xvc2VkYCYmKHRoaXMucG9sbGluZz0hMSx0aGlzLmVtaXQoYHBvbGxDb21wbGV0ZWApLHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD90aGlzLnBvbGwoKTpzKGBpZ25vcmluZyBwb2xsIC0gdHJhbnNwb3J0IHN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSkpfSxsLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiB0KCl7cyhgd3JpdGluZyBjbG9zZSBwYWNrZXRgKSxlLndyaXRlKFt7dHlwZTpgY2xvc2VgfV0pfXRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD8ocyhgdHJhbnNwb3J0IG9wZW4gLSBjbG9zaW5nYCksdCgpKToocyhgdHJhbnNwb3J0IG5vdCBvcGVuIC0gZGVmZXJyaW5nIGNsb3NlYCksdGhpcy5vbmNlKGBvcGVuYCx0KSl9LGwucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy53cml0YWJsZT0hMTt2YXIgbj1mdW5jdGlvbigpe3Qud3JpdGFibGU9ITAsdC5lbWl0KGBkcmFpbmApfTtpLmVuY29kZVBheWxvYWQoZSx0aGlzLnN1cHBvcnRzQmluYXJ5LGZ1bmN0aW9uKGUpe3QuZG9Xcml0ZShlLG4pfSl9LGwucHJvdG90eXBlLnVyaT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucXVlcnl8fHt9LHQ9dGhpcy5zZWN1cmU/YGh0dHBzYDpgaHR0cGAsbj1gYDshMSE9PXRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksIXRoaXMuc3VwcG9ydHNCaW5hcnkmJiFlLnNpZCYmKGUuYjY0PTEpLGU9ci5lbmNvZGUoZSksdGhpcy5wb3J0JiYodD09PWBodHRwc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YGh0dHBgJiZOdW1iZXIodGhpcy5wb3J0KSE9PTgwKSYmKG49YDpgK3RoaXMucG9ydCksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgaT10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhpP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfX0pKSxyYz1zKCgoZSx0KT0+e3ZhciBuPVVzKCkscj1uYygpLGk9SXMoKSxhPWVjKCksbz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyYCkscz1IcygpO3QuZXhwb3J0cz1sLHQuZXhwb3J0cy5SZXF1ZXN0PXU7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe2lmKHIuY2FsbCh0aGlzLGUpLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0eXBlb2YgbG9jYXRpb248YHVgKXt2YXIgdD1sb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgLG49bG9jYXRpb24ucG9ydDtufHw9dD80NDM6ODAsdGhpcy54ZD10eXBlb2YgbG9jYXRpb248YHVgJiZlLmhvc3RuYW1lIT09bG9jYXRpb24uaG9zdG5hbWV8fG4hPT1lLnBvcnQsdGhpcy54cz1lLnNlY3VyZSE9PXR9fWEobCxyKSxsLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeT0hMCxsLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiBlfHw9e30sZS51cmk9dGhpcy51cmkoKSxlLnhkPXRoaXMueGQsZS54cz10aGlzLnhzLGUuYWdlbnQ9dGhpcy5hZ2VudHx8ITEsZS5zdXBwb3J0c0JpbmFyeT10aGlzLnN1cHBvcnRzQmluYXJ5LGUuZW5hYmxlc1hEUj10aGlzLmVuYWJsZXNYRFIsZS53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMsZS5wZng9dGhpcy5wZngsZS5rZXk9dGhpcy5rZXksZS5wYXNzcGhyYXNlPXRoaXMucGFzc3BocmFzZSxlLmNlcnQ9dGhpcy5jZXJ0LGUuY2E9dGhpcy5jYSxlLmNpcGhlcnM9dGhpcy5jaXBoZXJzLGUucmVqZWN0VW5hdXRob3JpemVkPXRoaXMucmVqZWN0VW5hdXRob3JpemVkLGUucmVxdWVzdFRpbWVvdXQ9dGhpcy5yZXF1ZXN0VGltZW91dCxlLmV4dHJhSGVhZGVycz10aGlzLmV4dHJhSGVhZGVycyxuZXcgdShlKX0sbC5wcm90b3R5cGUuZG9Xcml0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlIT1gc3RyaW5nYCYmZSE9PXZvaWQgMCxyPXRoaXMucmVxdWVzdCh7bWV0aG9kOmBQT1NUYCxkYXRhOmUsaXNCaW5hcnk6bn0pLGk9dGhpcztyLm9uKGBzdWNjZXNzYCx0KSxyLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7aS5vbkVycm9yKGB4aHIgcG9zdCBlcnJvcmAsZSl9KSx0aGlzLnNlbmRYaHI9cn0sbC5wcm90b3R5cGUuZG9Qb2xsPWZ1bmN0aW9uKCl7byhgeGhyIHBvbGxgKTt2YXIgZT10aGlzLnJlcXVlc3QoKSx0PXRoaXM7ZS5vbihgZGF0YWAsZnVuY3Rpb24oZSl7dC5vbkRhdGEoZSl9KSxlLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7dC5vbkVycm9yKGB4aHIgcG9sbCBlcnJvcmAsZSl9KSx0aGlzLnBvbGxYaHI9ZX07ZnVuY3Rpb24gdShlKXt0aGlzLm1ldGhvZD1lLm1ldGhvZHx8YEdFVGAsdGhpcy51cmk9ZS51cmksdGhpcy54ZD0hIWUueGQsdGhpcy54cz0hIWUueHMsdGhpcy5hc3luYz0hMSE9PWUuYXN5bmMsdGhpcy5kYXRhPWUuZGF0YT09PXZvaWQgMD9udWxsOmUuZGF0YSx0aGlzLmFnZW50PWUuYWdlbnQsdGhpcy5pc0JpbmFyeT1lLmlzQmluYXJ5LHRoaXMuc3VwcG9ydHNCaW5hcnk9ZS5zdXBwb3J0c0JpbmFyeSx0aGlzLmVuYWJsZXNYRFI9ZS5lbmFibGVzWERSLHRoaXMud2l0aENyZWRlbnRpYWxzPWUud2l0aENyZWRlbnRpYWxzLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5leHRyYUhlYWRlcnM9ZS5leHRyYUhlYWRlcnMsdGhpcy5jcmVhdGUoKX1pZihpKHUucHJvdG90eXBlKSx1LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgZT17YWdlbnQ6dGhpcy5hZ2VudCx4ZG9tYWluOnRoaXMueGQseHNjaGVtZTp0aGlzLnhzLGVuYWJsZXNYRFI6dGhpcy5lbmFibGVzWERSfTtlLnBmeD10aGlzLnBmeCxlLmtleT10aGlzLmtleSxlLnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLGUuY2VydD10aGlzLmNlcnQsZS5jYT10aGlzLmNhLGUuY2lwaGVycz10aGlzLmNpcGhlcnMsZS5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7dmFyIHQ9dGhpcy54aHI9bmV3IG4oZSkscj10aGlzO3RyeXtvKGB4aHIgb3BlbiAlczogJXNgLHRoaXMubWV0aG9kLHRoaXMudXJpKSx0Lm9wZW4odGhpcy5tZXRob2QsdGhpcy51cmksdGhpcy5hc3luYyk7dHJ5e2lmKHRoaXMuZXh0cmFIZWFkZXJzKWZvcih2YXIgaSBpbiB0LnNldERpc2FibGVIZWFkZXJDaGVjayYmdC5zZXREaXNhYmxlSGVhZGVyQ2hlY2soITApLHRoaXMuZXh0cmFIZWFkZXJzKXRoaXMuZXh0cmFIZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiZ0LnNldFJlcXVlc3RIZWFkZXIoaSx0aGlzLmV4dHJhSGVhZGVyc1tpXSl9Y2F0Y2h7fWlmKHRoaXMubWV0aG9kPT09YFBPU1RgKXRyeXt0aGlzLmlzQmluYXJ5P3Quc2V0UmVxdWVzdEhlYWRlcihgQ29udGVudC10eXBlYCxgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCk6dC5zZXRSZXF1ZXN0SGVhZGVyKGBDb250ZW50LXR5cGVgLGB0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLThgKX1jYXRjaHt9dHJ5e3Quc2V0UmVxdWVzdEhlYWRlcihgQWNjZXB0YCxgKi8qYCl9Y2F0Y2h7fWB3aXRoQ3JlZGVudGlhbHNgaW4gdCYmKHQud2l0aENyZWRlbnRpYWxzPXRoaXMud2l0aENyZWRlbnRpYWxzKSx0aGlzLnJlcXVlc3RUaW1lb3V0JiYodC50aW1lb3V0PXRoaXMucmVxdWVzdFRpbWVvdXQpLHRoaXMuaGFzWERSKCk/KHQub25sb2FkPWZ1bmN0aW9uKCl7ci5vbkxvYWQoKX0sdC5vbmVycm9yPWZ1bmN0aW9uKCl7ci5vbkVycm9yKHQucmVzcG9uc2VUZXh0KX0pOnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYodC5yZWFkeVN0YXRlPT09Mil0cnl7dmFyIGU9dC5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCk7KHIuc3VwcG9ydHNCaW5hcnkmJmU9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8ZT09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmKHQucmVzcG9uc2VUeXBlPWBhcnJheWJ1ZmZlcmApfWNhdGNoe310LnJlYWR5U3RhdGU9PT00JiYodC5zdGF0dXM9PT0yMDB8fHQuc3RhdHVzPT09MTIyMz9yLm9uTG9hZCgpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLm9uRXJyb3IodHlwZW9mIHQuc3RhdHVzPT1gbnVtYmVyYD90LnN0YXR1czowKX0sMCkpfSxvKGB4aHIgZGF0YSAlc2AsdGhpcy5kYXRhKSx0LnNlbmQodGhpcy5kYXRhKX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbkVycm9yKGUpfSwwKTtyZXR1cm59dHlwZW9mIGRvY3VtZW50PGB1YCYmKHRoaXMuaW5kZXg9dS5yZXF1ZXN0c0NvdW50KyssdS5yZXF1ZXN0c1t0aGlzLmluZGV4XT10aGlzKX0sdS5wcm90b3R5cGUub25TdWNjZXNzPWZ1bmN0aW9uKCl7dGhpcy5lbWl0KGBzdWNjZXNzYCksdGhpcy5jbGVhbnVwKCl9LHUucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt0aGlzLmVtaXQoYGRhdGFgLGUpLHRoaXMub25TdWNjZXNzKCl9LHUucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5jbGVhbnVwKCEwKX0sdS5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbihlKXtpZighKHRoaXMueGhyPT09dm9pZCAwfHx0aGlzLnhocj09PW51bGwpKXtpZih0aGlzLmhhc1hEUigpP3RoaXMueGhyLm9ubG9hZD10aGlzLnhoci5vbmVycm9yPWM6dGhpcy54aHIub25yZWFkeXN0YXRlY2hhbmdlPWMsZSl0cnl7dGhpcy54aHIuYWJvcnQoKX1jYXRjaHt9dHlwZW9mIGRvY3VtZW50PGB1YCYmZGVsZXRlIHUucmVxdWVzdHNbdGhpcy5pbmRleF0sdGhpcy54aHI9bnVsbH19LHUucHJvdG90eXBlLm9uTG9hZD1mdW5jdGlvbigpe3ZhciBlO3RyeXt2YXIgdDt0cnl7dD10aGlzLnhoci5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCl9Y2F0Y2h7fWU9KHQ9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8dD09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmdGhpcy54aHIucmVzcG9uc2V8fHRoaXMueGhyLnJlc3BvbnNlVGV4dH1jYXRjaChlKXt0aGlzLm9uRXJyb3IoZSl9ZSE9bnVsbCYmdGhpcy5vbkRhdGEoZSl9LHUucHJvdG90eXBlLmhhc1hEUj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhdGhpcy54cyYmdGhpcy5lbmFibGVzWERSfSx1LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuY2xlYW51cCgpfSx1LnJlcXVlc3RzQ291bnQ9MCx1LnJlcXVlc3RzPXt9LHR5cGVvZiBkb2N1bWVudDxgdWApe2lmKHR5cGVvZiBhdHRhY2hFdmVudD09YGZ1bmN0aW9uYClhdHRhY2hFdmVudChgb251bmxvYWRgLGYpO2Vsc2UgaWYodHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmApe3ZhciBkPWBvbnBhZ2VoaWRlYGluIHM/YHBhZ2VoaWRlYDpgdW5sb2FkYDthZGRFdmVudExpc3RlbmVyKGQsZiwhMSl9fWZ1bmN0aW9uIGYoKXtmb3IodmFyIGUgaW4gdS5yZXF1ZXN0cyl1LnJlcXVlc3RzLmhhc093blByb3BlcnR5KGUpJiZ1LnJlcXVlc3RzW2VdLmFib3J0KCl9fSkpLGljPXMoKChlLHQpPT57dmFyIG49bmMoKSxyPWVjKCksaT1IcygpO3QuZXhwb3J0cz1sO3ZhciBhPS9cbi9nLG89L1xcbi9nLHM7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe24uY2FsbCh0aGlzLGUpLHRoaXMucXVlcnk9dGhpcy5xdWVyeXx8e30sc3x8PWkuX19fZWlvPWkuX19fZWlvfHxbXSx0aGlzLmluZGV4PXMubGVuZ3RoO3ZhciB0PXRoaXM7cy5wdXNoKGZ1bmN0aW9uKGUpe3Qub25EYXRhKGUpfSksdGhpcy5xdWVyeS5qPXRoaXMuaW5kZXgsdHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmAmJmFkZEV2ZW50TGlzdGVuZXIoYGJlZm9yZXVubG9hZGAsZnVuY3Rpb24oKXt0LnNjcmlwdCYmKHQuc2NyaXB0Lm9uZXJyb3I9Yyl9LCExKX1yKGwsbiksbC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITEsbC5wcm90b3R5cGUuZG9DbG9zZT1mdW5jdGlvbigpe3RoaXMuc2NyaXB0JiY9KHRoaXMuc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5zY3JpcHQpLG51bGwpLHRoaXMuZm9ybSYmKHRoaXMuZm9ybS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZm9ybSksdGhpcy5mb3JtPW51bGwsdGhpcy5pZnJhbWU9bnVsbCksbi5wcm90b3R5cGUuZG9DbG9zZS5jYWxsKHRoaXMpfSxsLnByb3RvdHlwZS5kb1BvbGw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgc2NyaXB0YCk7dGhpcy5zY3JpcHQmJj0odGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCksbnVsbCksdC5hc3luYz0hMCx0LnNyYz10aGlzLnVyaSgpLHQub25lcnJvcj1mdW5jdGlvbih0KXtlLm9uRXJyb3IoYGpzb25wIHBvbGwgZXJyb3JgLHQpfTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgc2NyaXB0YClbMF07bj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsbik6KGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHQpLHRoaXMuc2NyaXB0PXQsdHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9nZWNrby9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSl9LDEwMCl9LGwucHJvdG90eXBlLmRvV3JpdGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2lmKCF0aGlzLmZvcm0pe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGZvcm1gKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYHRleHRhcmVhYCkscz10aGlzLmlmcmFtZUlkPWBlaW9faWZyYW1lX2ArdGhpcy5pbmRleCxjO3IuY2xhc3NOYW1lPWBzb2NrZXRpb2Asci5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHIuc3R5bGUudG9wPWAtMTAwMHB4YCxyLnN0eWxlLmxlZnQ9YC0xMDAwcHhgLHIudGFyZ2V0PXMsci5tZXRob2Q9YFBPU1RgLHIuc2V0QXR0cmlidXRlKGBhY2NlcHQtY2hhcnNldGAsYHV0Zi04YCksaS5uYW1lPWBkYCxyLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksdGhpcy5mb3JtPXIsdGhpcy5hcmVhPWl9dGhpcy5mb3JtLmFjdGlvbj10aGlzLnVyaSgpO2Z1bmN0aW9uIGwoKXt1KCksdCgpfWZ1bmN0aW9uIHUoKXtpZihuLmlmcmFtZSl0cnl7bi5mb3JtLnJlbW92ZUNoaWxkKG4uaWZyYW1lKX1jYXRjaChlKXtuLm9uRXJyb3IoYGpzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3JgLGUpfXRyeXt2YXIgZT1gPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6MCIgbmFtZT0iYCtuLmlmcmFtZUlkK2AiPmA7Yz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpfWNhdGNoe2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaWZyYW1lYCksYy5uYW1lPW4uaWZyYW1lSWQsYy5zcmM9YGphdmFzY3JpcHQ6MGB9Yy5pZD1uLmlmcmFtZUlkLG4uZm9ybS5hcHBlbmRDaGlsZChjKSxuLmlmcmFtZT1jfXUoKSxlPWUucmVwbGFjZShvLGBcXApgKSx0aGlzLmFyZWEudmFsdWU9ZS5yZXBsYWNlKGEsYFxcbmApO3RyeXt0aGlzLmZvcm0uc3VibWl0KCl9Y2F0Y2h7fXRoaXMuaWZyYW1lLmF0dGFjaEV2ZW50P3RoaXMuaWZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe24uaWZyYW1lLnJlYWR5U3RhdGU9PT1gY29tcGxldGVgJiZsKCl9OnRoaXMuaWZyYW1lLm9ubG9hZD1sfX0pKSxhYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz17fX0pKSxvYz1zKCgoZSx0KT0+e3ZhciBuPVFzKCkscj1acygpLGk9JHMoKSxhPWVjKCksbz10YygpLHM9RnMoKShgZW5naW5lLmlvLWNsaWVudDp3ZWJzb2NrZXRgKSxjLGw7aWYodHlwZW9mIFdlYlNvY2tldDxgdWA/Yz1XZWJTb2NrZXQ6dHlwZW9mIHNlbGY8YHVgJiYoYz1zZWxmLldlYlNvY2tldHx8c2VsZi5Nb3pXZWJTb2NrZXQpLHR5cGVvZiB3aW5kb3c+YHVgKXRyeXtsPWFjKCl9Y2F0Y2h7fXZhciB1PWN8fGw7dC5leHBvcnRzPWQ7ZnVuY3Rpb24gZChlKXtlJiZlLmZvcmNlQmFzZTY0JiYodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT1lLnBlck1lc3NhZ2VEZWZsYXRlLHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0PWMmJiFlLmZvcmNlTm9kZSx0aGlzLnByb3RvY29scz1lLnByb3RvY29scyx0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldHx8KHU9bCksbi5jYWxsKHRoaXMsZSl9YShkLG4pLGQucHJvdG90eXBlLm5hbWU9YHdlYnNvY2tldGAsZC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAsZC5wcm90b3R5cGUuZG9PcGVuPWZ1bmN0aW9uKCl7aWYodGhpcy5jaGVjaygpKXt2YXIgZT10aGlzLnVyaSgpLHQ9dGhpcy5wcm90b2NvbHMsbj17fTt0aGlzLmlzUmVhY3ROYXRpdmV8fChuLmFnZW50PXRoaXMuYWdlbnQsbi5wZXJNZXNzYWdlRGVmbGF0ZT10aGlzLnBlck1lc3NhZ2VEZWZsYXRlLG4ucGZ4PXRoaXMucGZ4LG4ua2V5PXRoaXMua2V5LG4ucGFzc3BocmFzZT10aGlzLnBhc3NwaHJhc2Usbi5jZXJ0PXRoaXMuY2VydCxuLmNhPXRoaXMuY2Esbi5jaXBoZXJzPXRoaXMuY2lwaGVycyxuLnJlamVjdFVuYXV0aG9yaXplZD10aGlzLnJlamVjdFVuYXV0aG9yaXplZCksdGhpcy5leHRyYUhlYWRlcnMmJihuLmhlYWRlcnM9dGhpcy5leHRyYUhlYWRlcnMpLHRoaXMubG9jYWxBZGRyZXNzJiYobi5sb2NhbEFkZHJlc3M9dGhpcy5sb2NhbEFkZHJlc3MpO3RyeXt0aGlzLndzPXRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0JiYhdGhpcy5pc1JlYWN0TmF0aXZlP3Q/bmV3IHUoZSx0KTpuZXcgdShlKTpuZXcgdShlLHQsbil9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuZW1pdChgZXJyb3JgLGUpfXRoaXMud3MuYmluYXJ5VHlwZT09PXZvaWQgMCYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLHRoaXMud3Muc3VwcG9ydHMmJnRoaXMud3Muc3VwcG9ydHMuYmluYXJ5Pyh0aGlzLnN1cHBvcnRzQmluYXJ5PSEwLHRoaXMud3MuYmluYXJ5VHlwZT1gbm9kZWJ1ZmZlcmApOnRoaXMud3MuYmluYXJ5VHlwZT1gYXJyYXlidWZmZXJgLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKX19LGQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLndzLm9ub3Blbj1mdW5jdGlvbigpe2Uub25PcGVuKCl9LHRoaXMud3Mub25jbG9zZT1mdW5jdGlvbigpe2Uub25DbG9zZSgpfSx0aGlzLndzLm9ubWVzc2FnZT1mdW5jdGlvbih0KXtlLm9uRGF0YSh0LmRhdGEpfSx0aGlzLndzLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZS5vbkVycm9yKGB3ZWJzb2NrZXQgZXJyb3JgLHQpfX0sZC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLndyaXRhYmxlPSExO2Zvcih2YXIgbj1lLmxlbmd0aCxpPTAsYT1uO2k8YTtpKyspKGZ1bmN0aW9uKGUpe3IuZW5jb2RlUGFja2V0KGUsdC5zdXBwb3J0c0JpbmFyeSxmdW5jdGlvbihyKXtpZighdC51c2luZ0Jyb3dzZXJXZWJTb2NrZXQpe3ZhciBpPXt9O2Uub3B0aW9ucyYmKGkuY29tcHJlc3M9ZS5vcHRpb25zLmNvbXByZXNzKSx0LnBlck1lc3NhZ2VEZWZsYXRlJiYodHlwZW9mIHI9PWBzdHJpbmdgP0J1ZmZlci5ieXRlTGVuZ3RoKHIpOnIubGVuZ3RoKTx0LnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZCYmKGkuY29tcHJlc3M9ITEpfXRyeXt0LnVzaW5nQnJvd3NlcldlYlNvY2tldD90LndzLnNlbmQocik6dC53cy5zZW5kKHIsaSl9Y2F0Y2h7cyhgd2Vic29ja2V0IGNsb3NlZCBiZWZvcmUgb25jbG9zZSBldmVudGApfS0tbnx8bygpfSl9KShlW2ldKTtmdW5jdGlvbiBvKCl7dC5lbWl0KGBmbHVzaGApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LndyaXRhYmxlPSEwLHQuZW1pdChgZHJhaW5gKX0sMCl9fSxkLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUub25DbG9zZS5jYWxsKHRoaXMpfSxkLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy53cyE9PXZvaWQgMCYmdGhpcy53cy5jbG9zZSgpfSxkLnByb3RvdHlwZS51cmk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnF1ZXJ5fHx7fSx0PXRoaXMuc2VjdXJlP2B3c3NgOmB3c2Asbj1gYDt0aGlzLnBvcnQmJih0PT09YHdzc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YHdzYCYmTnVtYmVyKHRoaXMucG9ydCkhPT04MCkmJihuPWA6YCt0aGlzLnBvcnQpLHRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksdGhpcy5zdXBwb3J0c0JpbmFyeXx8KGUuYjY0PTEpLGU9aS5lbmNvZGUoZSksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgcj10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhyP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfSxkLnByb3RvdHlwZS5jaGVjaz1mdW5jdGlvbigpe3JldHVybiEhdSYmIShgX19pbml0aWFsaXplYGluIHUmJnRoaXMubmFtZT09PWQucHJvdG90eXBlLm5hbWUpfX0pKSxzYz1zKChlPT57dmFyIHQ9VXMoKSxuPXJjKCkscj1pYygpLGk9b2MoKTtlLnBvbGxpbmc9YSxlLndlYnNvY2tldD1pO2Z1bmN0aW9uIGEoZSl7dmFyIGksYT0hMSxvPSExLHM9ITEhPT1lLmpzb25wO2lmKHR5cGVvZiBsb2NhdGlvbjxgdWApe3ZhciBjPWxvY2F0aW9uLnByb3RvY29sPT09YGh0dHBzOmAsbD1sb2NhdGlvbi5wb3J0O2x8fD1jPzQ0Mzo4MCxhPWUuaG9zdG5hbWUhPT1sb2NhdGlvbi5ob3N0bmFtZXx8bCE9PWUucG9ydCxvPWUuc2VjdXJlIT09Y31pZihlLnhkb21haW49YSxlLnhzY2hlbWU9byxpPW5ldyB0KGUpLGBvcGVuYGluIGkmJiFlLmZvcmNlSlNPTlApcmV0dXJuIG5ldyBuKGUpO2lmKCFzKXRocm93IEVycm9yKGBKU09OUCBkaXNhYmxlZGApO3JldHVybiBuZXcgcihlKX19KSksY2M9cygoKGUsdCk9Pnt2YXIgbj1bXS5pbmRleE9mO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKG4pcmV0dXJuIGUuaW5kZXhPZih0KTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcilpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX19KSksbGM9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsbz1lLmluZGV4T2YoYFtgKSxzPWUuaW5kZXhPZihgXWApO28hPS0xJiZzIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxvKStlLnN1YnN0cmluZyhvLHMpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKHMsZS5sZW5ndGgpKTtmb3IodmFyIGM9bi5leGVjKGV8fGBgKSxsPXt9LHU9MTQ7dS0tOylsW3JbdV1dPWNbdV18fGBgO3JldHVybiBvIT0tMSYmcyE9LTEmJihsLnNvdXJjZT10LGwuaG9zdD1sLmhvc3Quc3Vic3RyaW5nKDEsbC5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxsLmF1dGhvcml0eT1sLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLGwuaXB2NnVyaT0hMCksbC5wYXRoTmFtZXM9aShsLGwucGF0aCksbC5xdWVyeUtleT1hKGwsbC5xdWVyeSksbH07ZnVuY3Rpb24gaShlLHQpe3ZhciBuPXQucmVwbGFjZSgvXC97Miw5fS9nLGAvYCkuc3BsaXQoYC9gKTtyZXR1cm4odC5zdWJzdHIoMCwxKT09YC9gfHx0Lmxlbmd0aD09PTApJiZuLnNwbGljZSgwLDEpLHQuc3Vic3RyKHQubGVuZ3RoLTEsMSk9PWAvYCYmbi5zcGxpY2Uobi5sZW5ndGgtMSwxKSxufWZ1bmN0aW9uIGEoZSx0KXt2YXIgbj17fTtyZXR1cm4gdC5yZXBsYWNlKC8oPzpefCYpKFteJj1dKik9PyhbXiZdKikvZyxmdW5jdGlvbihlLHQscil7dCYmKG5bdF09cil9KSxufX0pKSx1Yz1zKCgoZSx0KT0+e3ZhciBuPXNjKCkscj1JcygpLGk9RnMoKShgZW5naW5lLmlvLWNsaWVudDpzb2NrZXRgKSxhPWNjKCksbz1acygpLHM9bGMoKSxjPSRzKCk7dC5leHBvcnRzPWw7ZnVuY3Rpb24gbChlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXJldHVybiBuZXcgbChlLHQpO3R8fD17fSxlJiZ0eXBlb2YgZT09YG9iamVjdGAmJih0PWUsZT1udWxsKSxlPyhlPXMoZSksdC5ob3N0bmFtZT1lLmhvc3QsdC5zZWN1cmU9ZS5wcm90b2NvbD09PWBodHRwc2B8fGUucHJvdG9jb2w9PT1gd3NzYCx0LnBvcnQ9ZS5wb3J0LGUucXVlcnkmJih0LnF1ZXJ5PWUucXVlcnkpKTp0Lmhvc3QmJih0Lmhvc3RuYW1lPXModC5ob3N0KS5ob3N0KSx0aGlzLnNlY3VyZT10LnNlY3VyZT09bnVsbD90eXBlb2YgbG9jYXRpb248YHVgJiZsb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgOnQuc2VjdXJlLHQuaG9zdG5hbWUmJiF0LnBvcnQmJih0LnBvcnQ9dGhpcy5zZWN1cmU/YDQ0M2A6YDgwYCksdGhpcy5hZ2VudD10LmFnZW50fHwhMSx0aGlzLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCh0eXBlb2YgbG9jYXRpb248YHVgP2xvY2F0aW9uLmhvc3RuYW1lOmBsb2NhbGhvc3RgKSx0aGlzLnBvcnQ9dC5wb3J0fHwodHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24ucG9ydD9sb2NhdGlvbi5wb3J0OnRoaXMuc2VjdXJlPzQ0Mzo4MCksdGhpcy5xdWVyeT10LnF1ZXJ5fHx7fSx0eXBlb2YgdGhpcy5xdWVyeT09YHN0cmluZ2AmJih0aGlzLnF1ZXJ5PWMuZGVjb2RlKHRoaXMucXVlcnkpKSx0aGlzLnVwZ3JhZGU9ITEhPT10LnVwZ3JhZGUsdGhpcy5wYXRoPSh0LnBhdGh8fGAvZW5naW5lLmlvYCkucmVwbGFjZSgvXC8kLyxgYCkrYC9gLHRoaXMuZm9yY2VKU09OUD0hIXQuZm9yY2VKU09OUCx0aGlzLmpzb25wPSExIT09dC5qc29ucCx0aGlzLmZvcmNlQmFzZTY0PSEhdC5mb3JjZUJhc2U2NCx0aGlzLmVuYWJsZXNYRFI9ISF0LmVuYWJsZXNYRFIsdGhpcy53aXRoQ3JlZGVudGlhbHM9ITEhPT10LndpdGhDcmVkZW50aWFscyx0aGlzLnRpbWVzdGFtcFBhcmFtPXQudGltZXN0YW1wUGFyYW18fGB0YCx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPXQudGltZXN0YW1wUmVxdWVzdHMsdGhpcy50cmFuc3BvcnRzPXQudHJhbnNwb3J0c3x8W2Bwb2xsaW5nYCxgd2Vic29ja2V0YF0sdGhpcy50cmFuc3BvcnRPcHRpb25zPXQudHJhbnNwb3J0T3B0aW9uc3x8e30sdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMud3JpdGVCdWZmZXI9W10sdGhpcy5wcmV2QnVmZmVyTGVuPTAsdGhpcy5wb2xpY3lQb3J0PXQucG9saWN5UG9ydHx8ODQzLHRoaXMucmVtZW1iZXJVcGdyYWRlPXQucmVtZW1iZXJVcGdyYWRlfHwhMSx0aGlzLmJpbmFyeVR5cGU9bnVsbCx0aGlzLm9ubHlCaW5hcnlVcGdyYWRlcz10Lm9ubHlCaW5hcnlVcGdyYWRlcyx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPSExPT09dC5wZXJNZXNzYWdlRGVmbGF0ZT8hMTp0LnBlck1lc3NhZ2VEZWZsYXRlfHx7fSwhMD09PXRoaXMucGVyTWVzc2FnZURlZmxhdGUmJih0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPXt9KSx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlJiZ0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZD09bnVsbCYmKHRoaXMucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkPTEwMjQpLHRoaXMucGZ4PXQucGZ4fHxudWxsLHRoaXMua2V5PXQua2V5fHxudWxsLHRoaXMucGFzc3BocmFzZT10LnBhc3NwaHJhc2V8fG51bGwsdGhpcy5jZXJ0PXQuY2VydHx8bnVsbCx0aGlzLmNhPXQuY2F8fG51bGwsdGhpcy5jaXBoZXJzPXQuY2lwaGVyc3x8bnVsbCx0aGlzLnJlamVjdFVuYXV0aG9yaXplZD10LnJlamVjdFVuYXV0aG9yaXplZD09PXZvaWQgMD8hMDp0LnJlamVjdFVuYXV0aG9yaXplZCx0aGlzLmZvcmNlTm9kZT0hIXQuZm9yY2VOb2RlLHRoaXMuaXNSZWFjdE5hdGl2ZT10eXBlb2YgbmF2aWdhdG9yPGB1YCYmdHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0PT1gc3RyaW5nYCYmbmF2aWdhdG9yLnByb2R1Y3QudG9Mb3dlckNhc2UoKT09PWByZWFjdG5hdGl2ZWAsKHR5cGVvZiBzZWxmPmB1YHx8dGhpcy5pc1JlYWN0TmF0aXZlKSYmKHQuZXh0cmFIZWFkZXJzJiZPYmplY3Qua2V5cyh0LmV4dHJhSGVhZGVycykubGVuZ3RoPjAmJih0aGlzLmV4dHJhSGVhZGVycz10LmV4dHJhSGVhZGVycyksdC5sb2NhbEFkZHJlc3MmJih0aGlzLmxvY2FsQWRkcmVzcz10LmxvY2FsQWRkcmVzcykpLHRoaXMuaWQ9bnVsbCx0aGlzLnVwZ3JhZGVzPW51bGwsdGhpcy5waW5nSW50ZXJ2YWw9bnVsbCx0aGlzLnBpbmdUaW1lb3V0PW51bGwsdGhpcy5waW5nSW50ZXJ2YWxUaW1lcj1udWxsLHRoaXMucGluZ1RpbWVvdXRUaW1lcj1udWxsLHRoaXMub3BlbigpfWwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSExLHIobC5wcm90b3R5cGUpLGwucHJvdG9jb2w9by5wcm90b2NvbCxsLlNvY2tldD1sLGwuVHJhbnNwb3J0PVFzKCksbC50cmFuc3BvcnRzPXNjKCksbC5wYXJzZXI9WnMoKSxsLnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQ9ZnVuY3Rpb24oZSl7aShgY3JlYXRpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXUodGhpcy5xdWVyeSk7dC5FSU89by5wcm90b2NvbCx0LnRyYW5zcG9ydD1lO3ZhciByPXRoaXMudHJhbnNwb3J0T3B0aW9uc1tlXXx8e307cmV0dXJuIHRoaXMuaWQmJih0LnNpZD10aGlzLmlkKSxuZXcgbltlXSh7cXVlcnk6dCxzb2NrZXQ6dGhpcyxhZ2VudDpyLmFnZW50fHx0aGlzLmFnZW50LGhvc3RuYW1lOnIuaG9zdG5hbWV8fHRoaXMuaG9zdG5hbWUscG9ydDpyLnBvcnR8fHRoaXMucG9ydCxzZWN1cmU6ci5zZWN1cmV8fHRoaXMuc2VjdXJlLHBhdGg6ci5wYXRofHx0aGlzLnBhdGgsZm9yY2VKU09OUDpyLmZvcmNlSlNPTlB8fHRoaXMuZm9yY2VKU09OUCxqc29ucDpyLmpzb25wfHx0aGlzLmpzb25wLGZvcmNlQmFzZTY0OnIuZm9yY2VCYXNlNjR8fHRoaXMuZm9yY2VCYXNlNjQsZW5hYmxlc1hEUjpyLmVuYWJsZXNYRFJ8fHRoaXMuZW5hYmxlc1hEUix3aXRoQ3JlZGVudGlhbHM6ci53aXRoQ3JlZGVudGlhbHN8fHRoaXMud2l0aENyZWRlbnRpYWxzLHRpbWVzdGFtcFJlcXVlc3RzOnIudGltZXN0YW1wUmVxdWVzdHN8fHRoaXMudGltZXN0YW1wUmVxdWVzdHMsdGltZXN0YW1wUGFyYW06ci50aW1lc3RhbXBQYXJhbXx8dGhpcy50aW1lc3RhbXBQYXJhbSxwb2xpY3lQb3J0OnIucG9saWN5UG9ydHx8dGhpcy5wb2xpY3lQb3J0LHBmeDpyLnBmeHx8dGhpcy5wZngsa2V5OnIua2V5fHx0aGlzLmtleSxwYXNzcGhyYXNlOnIucGFzc3BocmFzZXx8dGhpcy5wYXNzcGhyYXNlLGNlcnQ6ci5jZXJ0fHx0aGlzLmNlcnQsY2E6ci5jYXx8dGhpcy5jYSxjaXBoZXJzOnIuY2lwaGVyc3x8dGhpcy5jaXBoZXJzLHJlamVjdFVuYXV0aG9yaXplZDpyLnJlamVjdFVuYXV0aG9yaXplZHx8dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQscGVyTWVzc2FnZURlZmxhdGU6ci5wZXJNZXNzYWdlRGVmbGF0ZXx8dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSxleHRyYUhlYWRlcnM6ci5leHRyYUhlYWRlcnN8fHRoaXMuZXh0cmFIZWFkZXJzLGZvcmNlTm9kZTpyLmZvcmNlTm9kZXx8dGhpcy5mb3JjZU5vZGUsbG9jYWxBZGRyZXNzOnIubG9jYWxBZGRyZXNzfHx0aGlzLmxvY2FsQWRkcmVzcyxyZXF1ZXN0VGltZW91dDpyLnJlcXVlc3RUaW1lb3V0fHx0aGlzLnJlcXVlc3RUaW1lb3V0LHByb3RvY29sczpyLnByb3RvY29sc3x8dm9pZCAwLGlzUmVhY3ROYXRpdmU6dGhpcy5pc1JlYWN0TmF0aXZlfSl9O2Z1bmN0aW9uIHUoZSl7dmFyIHQ9e307Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9bC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMucmVtZW1iZXJVcGdyYWRlJiZsLnByaW9yV2Vic29ja2V0U3VjY2VzcyYmdGhpcy50cmFuc3BvcnRzLmluZGV4T2YoYHdlYnNvY2tldGApIT09LTEpZT1gd2Vic29ja2V0YDtlbHNlIGlmKHRoaXMudHJhbnNwb3J0cy5sZW5ndGg9PT0wKXt2YXIgdD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmVtaXQoYGVycm9yYCxgTm8gdHJhbnNwb3J0cyBhdmFpbGFibGVgKX0sMCk7cmV0dXJufWVsc2UgZT10aGlzLnRyYW5zcG9ydHNbMF07dGhpcy5yZWFkeVN0YXRlPWBvcGVuaW5nYDt0cnl7ZT10aGlzLmNyZWF0ZVRyYW5zcG9ydChlKX1jYXRjaHt0aGlzLnRyYW5zcG9ydHMuc2hpZnQoKSx0aGlzLm9wZW4oKTtyZXR1cm59ZS5vcGVuKCksdGhpcy5zZXRUcmFuc3BvcnQoZSl9LGwucHJvdG90eXBlLnNldFRyYW5zcG9ydD1mdW5jdGlvbihlKXtpKGBzZXR0aW5nIHRyYW5zcG9ydCAlc2AsZS5uYW1lKTt2YXIgdD10aGlzO3RoaXMudHJhbnNwb3J0JiYoaShgY2xlYXJpbmcgZXhpc3RpbmcgdHJhbnNwb3J0ICVzYCx0aGlzLnRyYW5zcG9ydC5uYW1lKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSksdGhpcy50cmFuc3BvcnQ9ZSxlLm9uKGBkcmFpbmAsZnVuY3Rpb24oKXt0Lm9uRHJhaW4oKX0pLm9uKGBwYWNrZXRgLGZ1bmN0aW9uKGUpe3Qub25QYWNrZXQoZSl9KS5vbihgZXJyb3JgLGZ1bmN0aW9uKGUpe3Qub25FcnJvcihlKX0pLm9uKGBjbG9zZWAsZnVuY3Rpb24oKXt0Lm9uQ2xvc2UoYHRyYW5zcG9ydCBjbG9zZWApfSl9LGwucHJvdG90eXBlLnByb2JlPWZ1bmN0aW9uKGUpe2koYHByb2JpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXRoaXMuY3JlYXRlVHJhbnNwb3J0KGUse3Byb2JlOjF9KSxuPSExLHI9dGhpcztsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMTtmdW5jdGlvbiBhKCl7aWYoci5vbmx5QmluYXJ5VXBncmFkZXMpe3ZhciBhPSF0aGlzLnN1cHBvcnRzQmluYXJ5JiZyLnRyYW5zcG9ydC5zdXBwb3J0c0JpbmFyeTtufHw9YX1ufHwoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgb3BlbmVkYCxlKSx0LnNlbmQoW3t0eXBlOmBwaW5nYCxkYXRhOmBwcm9iZWB9XSksdC5vbmNlKGBwYWNrZXRgLGZ1bmN0aW9uKGEpe2lmKCFuKWlmKGEudHlwZT09PWBwb25nYCYmYS5kYXRhPT09YHByb2JlYCl7aWYoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgcG9uZ2AsZSksci51cGdyYWRpbmc9ITAsci5lbWl0KGB1cGdyYWRpbmdgLHQpLCF0KXJldHVybjtsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz10Lm5hbWU9PT1gd2Vic29ja2V0YCxpKGBwYXVzaW5nIGN1cnJlbnQgdHJhbnNwb3J0ICIlcyJgLHIudHJhbnNwb3J0Lm5hbWUpLHIudHJhbnNwb3J0LnBhdXNlKGZ1bmN0aW9uKCl7bnx8ci5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJihpKGBjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXRgKSxmKCksci5zZXRUcmFuc3BvcnQodCksdC5zZW5kKFt7dHlwZTpgdXBncmFkZWB9XSksci5lbWl0KGB1cGdyYWRlYCx0KSx0PW51bGwsci51cGdyYWRpbmc9ITEsci5mbHVzaCgpKX0pfWVsc2V7aShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkYCxlKTt2YXIgbz1FcnJvcihgcHJvYmUgZXJyb3JgKTtvLnRyYW5zcG9ydD10Lm5hbWUsci5lbWl0KGB1cGdyYWRlRXJyb3JgLG8pfX0pKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsZigpLHQuY2xvc2UoKSx0PW51bGwpfWZ1bmN0aW9uIHMobil7dmFyIGE9RXJyb3IoYHByb2JlIGVycm9yOiBgK24pO2EudHJhbnNwb3J0PXQubmFtZSxvKCksaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkIGJlY2F1c2Ugb2YgZXJyb3I6ICVzYCxlLG4pLHIuZW1pdChgdXBncmFkZUVycm9yYCxhKX1mdW5jdGlvbiBjKCl7cyhgdHJhbnNwb3J0IGNsb3NlZGApfWZ1bmN0aW9uIHUoKXtzKGBzb2NrZXQgY2xvc2VkYCl9ZnVuY3Rpb24gZChlKXt0JiZlLm5hbWUhPT10Lm5hbWUmJihpKGAiJXMiIHdvcmtzIC0gYWJvcnRpbmcgIiVzImAsZS5uYW1lLHQubmFtZSksbygpKX1mdW5jdGlvbiBmKCl7dC5yZW1vdmVMaXN0ZW5lcihgb3BlbmAsYSksdC5yZW1vdmVMaXN0ZW5lcihgZXJyb3JgLHMpLHQucmVtb3ZlTGlzdGVuZXIoYGNsb3NlYCxjKSxyLnJlbW92ZUxpc3RlbmVyKGBjbG9zZWAsdSksci5yZW1vdmVMaXN0ZW5lcihgdXBncmFkaW5nYCxkKX10Lm9uY2UoYG9wZW5gLGEpLHQub25jZShgZXJyb3JgLHMpLHQub25jZShgY2xvc2VgLGMpLHRoaXMub25jZShgY2xvc2VgLHUpLHRoaXMub25jZShgdXBncmFkaW5nYCxkKSx0Lm9wZW4oKX0sbC5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7aWYoaShgc29ja2V0IG9wZW5gKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLGwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPXRoaXMudHJhbnNwb3J0Lm5hbWU9PT1gd2Vic29ja2V0YCx0aGlzLmVtaXQoYG9wZW5gKSx0aGlzLmZsdXNoKCksdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gJiZ0aGlzLnVwZ3JhZGUmJnRoaXMudHJhbnNwb3J0LnBhdXNlKXtpKGBzdGFydGluZyB1cGdyYWRlIHByb2Jlc2ApO2Zvcih2YXIgZT0wLHQ9dGhpcy51cGdyYWRlcy5sZW5ndGg7ZTx0O2UrKyl0aGlzLnByb2JlKHRoaXMudXBncmFkZXNbZV0pfX0sbC5wcm90b3R5cGUub25QYWNrZXQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYClzd2l0Y2goaShgc29ja2V0IHJlY2VpdmU6IHR5cGUgIiVzIiwgZGF0YSAiJXMiYCxlLnR5cGUsZS5kYXRhKSx0aGlzLmVtaXQoYHBhY2tldGAsZSksdGhpcy5lbWl0KGBoZWFydGJlYXRgKSxlLnR5cGUpe2Nhc2Vgb3BlbmA6dGhpcy5vbkhhbmRzaGFrZShKU09OLnBhcnNlKGUuZGF0YSkpO2JyZWFrO2Nhc2VgcG9uZ2A6dGhpcy5zZXRQaW5nKCksdGhpcy5lbWl0KGBwb25nYCk7YnJlYWs7Y2FzZWBlcnJvcmA6dmFyIHQ9RXJyb3IoYHNlcnZlciBlcnJvcmApO3QuY29kZT1lLmRhdGEsdGhpcy5vbkVycm9yKHQpO2JyZWFrO2Nhc2VgbWVzc2FnZWA6dGhpcy5lbWl0KGBkYXRhYCxlLmRhdGEpLHRoaXMuZW1pdChgbWVzc2FnZWAsZS5kYXRhKTticmVha31lbHNlIGkoYHBhY2tldCByZWNlaXZlZCB3aXRoIHNvY2tldCByZWFkeVN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSl9LGwucHJvdG90eXBlLm9uSGFuZHNoYWtlPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgaGFuZHNoYWtlYCxlKSx0aGlzLmlkPWUuc2lkLHRoaXMudHJhbnNwb3J0LnF1ZXJ5LnNpZD1lLnNpZCx0aGlzLnVwZ3JhZGVzPXRoaXMuZmlsdGVyVXBncmFkZXMoZS51cGdyYWRlcyksdGhpcy5waW5nSW50ZXJ2YWw9ZS5waW5nSW50ZXJ2YWwsdGhpcy5waW5nVGltZW91dD1lLnBpbmdUaW1lb3V0LHRoaXMub25PcGVuKCksdGhpcy5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJih0aGlzLnNldFBpbmcoKSx0aGlzLnJlbW92ZUxpc3RlbmVyKGBoZWFydGJlYXRgLHRoaXMub25IZWFydGJlYXQpLHRoaXMub24oYGhlYXJ0YmVhdGAsdGhpcy5vbkhlYXJ0YmVhdCkpfSxsLnByb3RvdHlwZS5vbkhlYXJ0YmVhdD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKTt2YXIgdD10aGlzO3QucGluZ1RpbWVvdXRUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJnQub25DbG9zZShgcGluZyB0aW1lb3V0YCl9LGV8fHQucGluZ0ludGVydmFsK3QucGluZ1RpbWVvdXQpfSxsLnByb3RvdHlwZS5zZXRQaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztjbGVhclRpbWVvdXQoZS5waW5nSW50ZXJ2YWxUaW1lciksZS5waW5nSW50ZXJ2YWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aShgd3JpdGluZyBwaW5nIHBhY2tldCAtIGV4cGVjdGluZyBwb25nIHdpdGhpbiAlc21zYCxlLnBpbmdUaW1lb3V0KSxlLnBpbmcoKSxlLm9uSGVhcnRiZWF0KGUucGluZ1RpbWVvdXQpfSxlLnBpbmdJbnRlcnZhbCl9LGwucHJvdG90eXBlLnBpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuc2VuZFBhY2tldChgcGluZ2AsZnVuY3Rpb24oKXtlLmVtaXQoYHBpbmdgKX0pfSxsLnByb3RvdHlwZS5vbkRyYWluPWZ1bmN0aW9uKCl7dGhpcy53cml0ZUJ1ZmZlci5zcGxpY2UoMCx0aGlzLnByZXZCdWZmZXJMZW4pLHRoaXMucHJldkJ1ZmZlckxlbj0wLHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoPT09MD90aGlzLmVtaXQoYGRyYWluYCk6dGhpcy5mbHVzaCgpfSxsLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZSE9PWBjbG9zZWRgJiZ0aGlzLnRyYW5zcG9ydC53cml0YWJsZSYmIXRoaXMudXBncmFkaW5nJiZ0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCYmKGkoYGZsdXNoaW5nICVkIHBhY2tldHMgaW4gc29ja2V0YCx0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCksdGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLndyaXRlQnVmZmVyKSx0aGlzLnByZXZCdWZmZXJMZW49dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgsdGhpcy5lbWl0KGBmbHVzaGApKX0sbC5wcm90b3R5cGUud3JpdGU9bC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuc2VuZFBhY2tldChgbWVzc2FnZWAsZSx0LG4pLHRoaXN9LGwucHJvdG90eXBlLnNlbmRQYWNrZXQ9ZnVuY3Rpb24oZSx0LG4scil7aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmAmJihyPXQsdD12b2lkIDApLHR5cGVvZiBuPT1gZnVuY3Rpb25gJiYocj1uLG49bnVsbCksISh0aGlzLnJlYWR5U3RhdGU9PT1gY2xvc2luZ2B8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgKSl7bnx8PXt9LG4uY29tcHJlc3M9ITEhPT1uLmNvbXByZXNzO3ZhciBpPXt0eXBlOmUsZGF0YTp0LG9wdGlvbnM6bn07dGhpcy5lbWl0KGBwYWNrZXRDcmVhdGVgLGkpLHRoaXMud3JpdGVCdWZmZXIucHVzaChpKSxyJiZ0aGlzLm9uY2UoYGZsdXNoYCxyKSx0aGlzLmZsdXNoKCl9fSxsLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKXt0aGlzLnJlYWR5U3RhdGU9YGNsb3NpbmdgO3ZhciBlPXRoaXM7dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg/dGhpcy5vbmNlKGBkcmFpbmAsZnVuY3Rpb24oKXt0aGlzLnVwZ3JhZGluZz9yKCk6dCgpfSk6dGhpcy51cGdyYWRpbmc/cigpOnQoKX1mdW5jdGlvbiB0KCl7ZS5vbkNsb3NlKGBmb3JjZWQgY2xvc2VgKSxpKGBzb2NrZXQgY2xvc2luZyAtIHRlbGxpbmcgdHJhbnNwb3J0IHRvIGNsb3NlYCksZS50cmFuc3BvcnQuY2xvc2UoKX1mdW5jdGlvbiBuKCl7ZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZWAsbiksZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZUVycm9yYCxuKSx0KCl9ZnVuY3Rpb24gcigpe2Uub25jZShgdXBncmFkZWAsbiksZS5vbmNlKGB1cGdyYWRlRXJyb3JgLG4pfXJldHVybiB0aGlzfSxsLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUpe2koYHNvY2tldCBlcnJvciAlamAsZSksbC5wcmlvcldlYnNvY2tldFN1Y2Nlc3M9ITEsdGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5vbkNsb3NlKGB0cmFuc3BvcnQgZXJyb3JgLGUpfSxsLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYCl7aShgc29ja2V0IGNsb3NlIHdpdGggcmVhc29uOiAiJXMiYCxlKTt2YXIgbj10aGlzO2NsZWFyVGltZW91dCh0aGlzLnBpbmdJbnRlcnZhbFRpbWVyKSxjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoYGNsb3NlYCksdGhpcy50cmFuc3BvcnQuY2xvc2UoKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5pZD1udWxsLHRoaXMuZW1pdChgY2xvc2VgLGUsdCksbi53cml0ZUJ1ZmZlcj1bXSxuLnByZXZCdWZmZXJMZW49MH19LGwucHJvdG90eXBlLmZpbHRlclVwZ3JhZGVzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKX5hKHRoaXMudHJhbnNwb3J0cyxlW25dKSYmdC5wdXNoKGVbbl0pO3JldHVybiB0fX0pKSxkYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz11YygpLHQuZXhwb3J0cy5wYXJzZXI9WnMoKX0pKSxmYz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gdGhpc30sbi5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlKXt0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fTt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxuPXRoaXMuX2NhbGxiYWNrc1tgJGArZV07aWYobil7bj1uLnNsaWNlKDApO2Zvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpOysrciluW3JdLmFwcGx5KHRoaXMsdCl9cmV0dXJuIHRoaXN9LG4ucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sdGhpcy5fY2FsbGJhY2tzW2AkYCtlXXx8W119LG4ucHJvdG90eXBlLmhhc0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4hIXRoaXMubGlzdGVuZXJzKGUpLmxlbmd0aH19KSkscGM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUsdCl7dmFyIG49W107dHx8PTA7Zm9yKHZhciByPXR8fDA7cjxlLmxlbmd0aDtyKyspbltyLXRdPWVbcl07cmV0dXJuIG59fSkpLG1jPXMoKChlLHQpPT57dC5leHBvcnRzPW47ZnVuY3Rpb24gbihlLHQsbil7cmV0dXJuIGUub24odCxuKSx7ZGVzdHJveTpmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIodCxuKX19fX0pKSxoYz1zKCgoZSx0KT0+e3ZhciBuPVtdLnNsaWNlO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmKHQ9ZVt0XSksdHlwZW9mIHQhPWBmdW5jdGlvbmApdGhyb3cgRXJyb3IoYGJpbmQoKSByZXF1aXJlcyBhIGZ1bmN0aW9uYCk7dmFyIHI9bi5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLHIuY29uY2F0KG4uY2FsbChhcmd1bWVudHMpKSl9fX0pKSxnYz1zKChlPT57ZS5lbmNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9YGA7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHQubGVuZ3RoJiYodCs9YCZgKSx0Kz1lbmNvZGVVUklDb21wb25lbnQobikrYD1gK2VuY29kZVVSSUNvbXBvbmVudChlW25dKSk7cmV0dXJuIHR9LGUuZGVjb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD17fSxuPWUuc3BsaXQoYCZgKSxyPTAsaT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgYT1uW3JdLnNwbGl0KGA9YCk7dFtkZWNvZGVVUklDb21wb25lbnQoYVswXSldPWRlY29kZVVSSUNvbXBvbmVudChhWzFdKX1yZXR1cm4gdH19KSksX2M9cygoKGUsdCk9Pnt2YXIgbj1CcygpLHI9ZmMoKSxpPXBjKCksYT1tYygpLG89aGMoKSxzPWpzKCkoYHNvY2tldC5pby1jbGllbnQ6c29ja2V0YCksYz1nYygpLGw9R3MoKTt0LmV4cG9ydHM9ZT1mO3ZhciB1PXtjb25uZWN0OjEsY29ubmVjdF9lcnJvcjoxLGNvbm5lY3RfdGltZW91dDoxLGNvbm5lY3Rpbmc6MSxkaXNjb25uZWN0OjEsZXJyb3I6MSxyZWNvbm5lY3Q6MSxyZWNvbm5lY3RfYXR0ZW1wdDoxLHJlY29ubmVjdF9mYWlsZWQ6MSxyZWNvbm5lY3RfZXJyb3I6MSxyZWNvbm5lY3Rpbmc6MSxwaW5nOjEscG9uZzoxfSxkPXIucHJvdG90eXBlLmVtaXQ7ZnVuY3Rpb24gZihlLHQsbil7dGhpcy5pbz1lLHRoaXMubnNwPXQsdGhpcy5qc29uPXRoaXMsdGhpcy5pZHM9MCx0aGlzLmFja3M9e30sdGhpcy5yZWNlaXZlQnVmZmVyPVtdLHRoaXMuc2VuZEJ1ZmZlcj1bXSx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLmRpc2Nvbm5lY3RlZD0hMCx0aGlzLmZsYWdzPXt9LG4mJm4ucXVlcnkmJih0aGlzLnF1ZXJ5PW4ucXVlcnkpLHRoaXMuaW8uYXV0b0Nvbm5lY3QmJnRoaXMub3BlbigpfXIoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnN1YkV2ZW50cz1mdW5jdGlvbigpe2lmKCF0aGlzLnN1YnMpe3ZhciBlPXRoaXMuaW87dGhpcy5zdWJzPVthKGUsYG9wZW5gLG8odGhpcyxgb25vcGVuYCkpLGEoZSxgcGFja2V0YCxvKHRoaXMsYG9ucGFja2V0YCkpLGEoZSxgY2xvc2VgLG8odGhpcyxgb25jbG9zZWApKV19fSxmLnByb3RvdHlwZS5vcGVuPWYucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/dGhpczoodGhpcy5zdWJFdmVudHMoKSx0aGlzLmlvLm9wZW4oKSx0aGlzLmlvLnJlYWR5U3RhdGU9PT1gb3BlbmAmJnRoaXMub25vcGVuKCksdGhpcy5lbWl0KGBjb25uZWN0aW5nYCksdGhpcyl9LGYucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1pKGFyZ3VtZW50cyk7cmV0dXJuIGUudW5zaGlmdChgbWVzc2FnZWApLHRoaXMuZW1pdC5hcHBseSh0aGlzLGUpLHRoaXN9LGYucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7aWYodS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gZC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpczt2YXIgdD1pKGFyZ3VtZW50cykscj17dHlwZToodGhpcy5mbGFncy5iaW5hcnk9PT12b2lkIDA/bCh0KTp0aGlzLmZsYWdzLmJpbmFyeSk/bi5CSU5BUllfRVZFTlQ6bi5FVkVOVCxkYXRhOnR9O3JldHVybiByLm9wdGlvbnM9e30sci5vcHRpb25zLmNvbXByZXNzPSF0aGlzLmZsYWdzfHwhMSE9PXRoaXMuZmxhZ3MuY29tcHJlc3MsdHlwZW9mIHRbdC5sZW5ndGgtMV09PWBmdW5jdGlvbmAmJihzKGBlbWl0dGluZyBwYWNrZXQgd2l0aCBhY2sgaWQgJWRgLHRoaXMuaWRzKSx0aGlzLmFja3NbdGhpcy5pZHNdPXQucG9wKCksci5pZD10aGlzLmlkcysrKSx0aGlzLmNvbm5lY3RlZD90aGlzLnBhY2tldChyKTp0aGlzLnNlbmRCdWZmZXIucHVzaChyKSx0aGlzLmZsYWdzPXt9LHRoaXN9LGYucHJvdG90eXBlLnBhY2tldD1mdW5jdGlvbihlKXtlLm5zcD10aGlzLm5zcCx0aGlzLmlvLnBhY2tldChlKX0sZi5wcm90b3R5cGUub25vcGVuPWZ1bmN0aW9uKCl7aWYocyhgdHJhbnNwb3J0IGlzIG9wZW4gLSBjb25uZWN0aW5nYCksdGhpcy5uc3AhPT1gL2ApaWYodGhpcy5xdWVyeSl7dmFyIGU9dHlwZW9mIHRoaXMucXVlcnk9PWBvYmplY3RgP2MuZW5jb2RlKHRoaXMucXVlcnkpOnRoaXMucXVlcnk7cyhgc2VuZGluZyBjb25uZWN0IHBhY2tldCB3aXRoIHF1ZXJ5ICVzYCxlKSx0aGlzLnBhY2tldCh7dHlwZTpuLkNPTk5FQ1QscXVlcnk6ZX0pfWVsc2UgdGhpcy5wYWNrZXQoe3R5cGU6bi5DT05ORUNUfSl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7cyhgY2xvc2UgKCVzKWAsZSksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITAsZGVsZXRlIHRoaXMuaWQsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxlKX0sZi5wcm90b3R5cGUub25wYWNrZXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uc3A9PT10aGlzLm5zcCxyPWUudHlwZT09PW4uRVJST1ImJmUubnNwPT09YC9gO2lmKCEoIXQmJiFyKSlzd2l0Y2goZS50eXBlKXtjYXNlIG4uQ09OTkVDVDp0aGlzLm9uY29ubmVjdCgpO2JyZWFrO2Nhc2Ugbi5FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkJJTkFSWV9FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkFDSzp0aGlzLm9uYWNrKGUpO2JyZWFrO2Nhc2Ugbi5CSU5BUllfQUNLOnRoaXMub25hY2soZSk7YnJlYWs7Y2FzZSBuLkRJU0NPTk5FQ1Q6dGhpcy5vbmRpc2Nvbm5lY3QoKTticmVhaztjYXNlIG4uRVJST1I6dGhpcy5lbWl0KGBlcnJvcmAsZS5kYXRhKTticmVha319LGYucHJvdG90eXBlLm9uZXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXRhfHxbXTtzKGBlbWl0dGluZyBldmVudCAlamAsdCksZS5pZCE9bnVsbCYmKHMoYGF0dGFjaGluZyBhY2sgY2FsbGJhY2sgdG8gZXZlbnRgKSx0LnB1c2godGhpcy5hY2soZS5pZCkpKSx0aGlzLmNvbm5lY3RlZD9kLmFwcGx5KHRoaXMsdCk6dGhpcy5yZWNlaXZlQnVmZmVyLnB1c2godCl9LGYucHJvdG90eXBlLmFjaz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXIpe3I9ITA7dmFyIGE9aShhcmd1bWVudHMpO3MoYHNlbmRpbmcgYWNrICVqYCxhKSx0LnBhY2tldCh7dHlwZTpsKGEpP24uQklOQVJZX0FDSzpuLkFDSyxpZDplLGRhdGE6YX0pfX19LGYucHJvdG90eXBlLm9uYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWNrc1tlLmlkXTt0eXBlb2YgdD09YGZ1bmN0aW9uYD8ocyhgY2FsbGluZyBhY2sgJXMgd2l0aCAlamAsZS5pZCxlLmRhdGEpLHQuYXBwbHkodGhpcyxlLmRhdGEpLGRlbGV0ZSB0aGlzLmFja3NbZS5pZF0pOnMoYGJhZCBhY2sgJXNgLGUuaWQpfSxmLnByb3RvdHlwZS5vbmNvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLmRpc2Nvbm5lY3RlZD0hMSx0aGlzLmVtaXQoYGNvbm5lY3RgKSx0aGlzLmVtaXRCdWZmZXJlZCgpfSxmLnByb3RvdHlwZS5lbWl0QnVmZmVyZWQ9ZnVuY3Rpb24oKXt2YXIgZTtmb3IoZT0wO2U8dGhpcy5yZWNlaXZlQnVmZmVyLmxlbmd0aDtlKyspZC5hcHBseSh0aGlzLHRoaXMucmVjZWl2ZUJ1ZmZlcltlXSk7Zm9yKHRoaXMucmVjZWl2ZUJ1ZmZlcj1bXSxlPTA7ZTx0aGlzLnNlbmRCdWZmZXIubGVuZ3RoO2UrKyl0aGlzLnBhY2tldCh0aGlzLnNlbmRCdWZmZXJbZV0pO3RoaXMuc2VuZEJ1ZmZlcj1bXX0sZi5wcm90b3R5cGUub25kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cyhgc2VydmVyIGRpc2Nvbm5lY3QgKCVzKWAsdGhpcy5uc3ApLHRoaXMuZGVzdHJveSgpLHRoaXMub25jbG9zZShgaW8gc2VydmVyIGRpc2Nvbm5lY3RgKX0sZi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2lmKHRoaXMuc3Vicyl7Zm9yKHZhciBlPTA7ZTx0aGlzLnN1YnMubGVuZ3RoO2UrKyl0aGlzLnN1YnNbZV0uZGVzdHJveSgpO3RoaXMuc3Vicz1udWxsfXRoaXMuaW8uZGVzdHJveSh0aGlzKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3RlZCYmKHMoYHBlcmZvcm1pbmcgZGlzY29ubmVjdCAoJXMpYCx0aGlzLm5zcCksdGhpcy5wYWNrZXQoe3R5cGU6bi5ESVNDT05ORUNUfSkpLHRoaXMuZGVzdHJveSgpLHRoaXMuY29ubmVjdGVkJiZ0aGlzLm9uY2xvc2UoYGlvIGNsaWVudCBkaXNjb25uZWN0YCksdGhpc30sZi5wcm90b3R5cGUuY29tcHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuY29tcHJlc3M9ZSx0aGlzfSxmLnByb3RvdHlwZS5iaW5hcnk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuYmluYXJ5PWUsdGhpc319KSksdmM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUpe2V8fD17fSx0aGlzLm1zPWUubWlufHwxMDAsdGhpcy5tYXg9ZS5tYXh8fDFlNCx0aGlzLmZhY3Rvcj1lLmZhY3Rvcnx8Mix0aGlzLmppdHRlcj1lLmppdHRlcj4wJiZlLmppdHRlcjw9MT9lLmppdHRlcjowLHRoaXMuYXR0ZW1wdHM9MH1uLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubXMqdGhpcy5mYWN0b3IqKisgdGhpcy5hdHRlbXB0cysrO2lmKHRoaXMuaml0dGVyKXt2YXIgdD1NYXRoLnJhbmRvbSgpLG49TWF0aC5mbG9vcih0KnRoaXMuaml0dGVyKmUpO2U9TWF0aC5mbG9vcih0KjEwKSYxP2UrbjplLW59cmV0dXJuIE1hdGgubWluKGUsdGhpcy5tYXgpfDB9LG4ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5hdHRlbXB0cz0wfSxuLnByb3RvdHlwZS5zZXRNaW49ZnVuY3Rpb24oZSl7dGhpcy5tcz1lfSxuLnByb3RvdHlwZS5zZXRNYXg9ZnVuY3Rpb24oZSl7dGhpcy5tYXg9ZX0sbi5wcm90b3R5cGUuc2V0Sml0dGVyPWZ1bmN0aW9uKGUpe3RoaXMuaml0dGVyPWV9fSkpLHljPXMoKChlLHQpPT57dmFyIG49ZGMoKSxyPV9jKCksaT1mYygpLGE9QnMoKSxvPW1jKCkscz1oYygpLGM9anMoKShgc29ja2V0LmlvLWNsaWVudDptYW5hZ2VyYCksbD1jYygpLHU9dmMoKSxkPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWY7ZnVuY3Rpb24gZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZihlLHQpO2UmJnR5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9LHQucGF0aD10LnBhdGh8fGAvc29ja2V0LmlvYCx0aGlzLm5zcHM9e30sdGhpcy5zdWJzPVtdLHRoaXMub3B0cz10LHRoaXMucmVjb25uZWN0aW9uKHQucmVjb25uZWN0aW9uIT09ITEpLHRoaXMucmVjb25uZWN0aW9uQXR0ZW1wdHModC5yZWNvbm5lY3Rpb25BdHRlbXB0c3x8MS8wKSx0aGlzLnJlY29ubmVjdGlvbkRlbGF5KHQucmVjb25uZWN0aW9uRGVsYXl8fDFlMyksdGhpcy5yZWNvbm5lY3Rpb25EZWxheU1heCh0LnJlY29ubmVjdGlvbkRlbGF5TWF4fHw1ZTMpLHRoaXMucmFuZG9taXphdGlvbkZhY3Rvcih0LnJhbmRvbWl6YXRpb25GYWN0b3J8fC41KSx0aGlzLmJhY2tvZmY9bmV3IHUoe21pbjp0aGlzLnJlY29ubmVjdGlvbkRlbGF5KCksbWF4OnRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgoKSxqaXR0ZXI6dGhpcy5yYW5kb21pemF0aW9uRmFjdG9yKCl9KSx0aGlzLnRpbWVvdXQodC50aW1lb3V0PT1udWxsPzJlNDp0LnRpbWVvdXQpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLnVyaT1lLHRoaXMuY29ubmVjdGluZz1bXSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5lbmNvZGluZz0hMSx0aGlzLnBhY2tldEJ1ZmZlcj1bXTt2YXIgbj10LnBhcnNlcnx8YTt0aGlzLmVuY29kZXI9bmV3IG4uRW5jb2Rlcix0aGlzLmRlY29kZXI9bmV3IG4uRGVjb2Rlcix0aGlzLmF1dG9Db25uZWN0PXQuYXV0b0Nvbm5lY3QhPT0hMSx0aGlzLmF1dG9Db25uZWN0JiZ0aGlzLm9wZW4oKX1mLnByb3RvdHlwZS5lbWl0QWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMuZW1pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJnRoaXMubnNwc1tlXS5lbWl0LmFwcGx5KHRoaXMubnNwc1tlXSxhcmd1bWVudHMpfSxmLnByb3RvdHlwZS51cGRhdGVTb2NrZXRJZHM9ZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJih0aGlzLm5zcHNbZV0uaWQ9dGhpcy5nZW5lcmF0ZUlkKGUpKX0sZi5wcm90b3R5cGUuZ2VuZXJhdGVJZD1mdW5jdGlvbihlKXtyZXR1cm4oZT09PWAvYD9gYDplK2AjYCkrdGhpcy5lbmdpbmUuaWR9LGkoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnJlY29ubmVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uPSEhZSx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb259LGYucHJvdG90eXBlLnJlY29ubmVjdGlvbkF0dGVtcHRzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cz1lLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzfSxmLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25EZWxheT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uRGVsYXk9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRNaW4oZSksdGhpcyk6dGhpcy5fcmVjb25uZWN0aW9uRGVsYXl9LGYucHJvdG90eXBlLnJhbmRvbWl6YXRpb25GYWN0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JhbmRvbWl6YXRpb25GYWN0b3I9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRKaXR0ZXIoZSksdGhpcyk6dGhpcy5fcmFuZG9taXphdGlvbkZhY3Rvcn0sZi5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXlNYXg9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4PWUsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0TWF4KGUpLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4fSxmLnByb3RvdHlwZS50aW1lb3V0PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lb3V0PWUsdGhpcyk6dGhpcy5fdGltZW91dH0sZi5wcm90b3R5cGUubWF5YmVSZWNvbm5lY3RPbk9wZW49ZnVuY3Rpb24oKXshdGhpcy5yZWNvbm5lY3RpbmcmJnRoaXMuX3JlY29ubmVjdGlvbiYmdGhpcy5iYWNrb2ZmLmF0dGVtcHRzPT09MCYmdGhpcy5yZWNvbm5lY3QoKX0sZi5wcm90b3R5cGUub3Blbj1mLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKGUsdCl7aWYoYyhgcmVhZHlTdGF0ZSAlc2AsdGhpcy5yZWFkeVN0YXRlKSx+dGhpcy5yZWFkeVN0YXRlLmluZGV4T2YoYG9wZW5gKSlyZXR1cm4gdGhpcztjKGBvcGVuaW5nICVzYCx0aGlzLnVyaSksdGhpcy5lbmdpbmU9bih0aGlzLnVyaSx0aGlzLm9wdHMpO3ZhciByPXRoaXMuZW5naW5lLGk9dGhpczt0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuc2tpcFJlY29ubmVjdD0hMTt2YXIgYT1vKHIsYG9wZW5gLGZ1bmN0aW9uKCl7aS5vbm9wZW4oKSxlJiZlKCl9KSxzPW8ocixgZXJyb3JgLGZ1bmN0aW9uKHQpe2lmKGMoYGNvbm5lY3RfZXJyb3JgKSxpLmNsZWFudXAoKSxpLnJlYWR5U3RhdGU9YGNsb3NlZGAsaS5lbWl0QWxsKGBjb25uZWN0X2Vycm9yYCx0KSxlKXt2YXIgbj1FcnJvcihgQ29ubmVjdGlvbiBlcnJvcmApO24uZGF0YT10LGUobil9ZWxzZSBpLm1heWJlUmVjb25uZWN0T25PcGVuKCl9KTtpZighMSE9PXRoaXMuX3RpbWVvdXQpe3ZhciBsPXRoaXMuX3RpbWVvdXQ7YyhgY29ubmVjdCBhdHRlbXB0IHdpbGwgdGltZW91dCBhZnRlciAlZGAsbCk7dmFyIHU9c2V0VGltZW91dChmdW5jdGlvbigpe2MoYGNvbm5lY3QgYXR0ZW1wdCB0aW1lZCBvdXQgYWZ0ZXIgJWRgLGwpLGEuZGVzdHJveSgpLHIuY2xvc2UoKSxyLmVtaXQoYGVycm9yYCxgdGltZW91dGApLGkuZW1pdEFsbChgY29ubmVjdF90aW1lb3V0YCxsKX0sbCk7dGhpcy5zdWJzLnB1c2goe2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodSl9fSl9cmV0dXJuIHRoaXMuc3Vicy5wdXNoKGEpLHRoaXMuc3Vicy5wdXNoKHMpLHRoaXN9LGYucHJvdG90eXBlLm9ub3Blbj1mdW5jdGlvbigpe2MoYG9wZW5gKSx0aGlzLmNsZWFudXAoKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMuZW1pdChgb3BlbmApO3ZhciBlPXRoaXMuZW5naW5lO3RoaXMuc3Vicy5wdXNoKG8oZSxgZGF0YWAscyh0aGlzLGBvbmRhdGFgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcGluZ2Ascyh0aGlzLGBvbnBpbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcG9uZ2Ascyh0aGlzLGBvbnBvbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgZXJyb3JgLHModGhpcyxgb25lcnJvcmApKSksdGhpcy5zdWJzLnB1c2gobyhlLGBjbG9zZWAscyh0aGlzLGBvbmNsb3NlYCkpKSx0aGlzLnN1YnMucHVzaChvKHRoaXMuZGVjb2RlcixgZGVjb2RlZGAscyh0aGlzLGBvbmRlY29kZWRgKSkpfSxmLnByb3RvdHlwZS5vbnBpbmc9ZnVuY3Rpb24oKXt0aGlzLmxhc3RQaW5nPW5ldyBEYXRlLHRoaXMuZW1pdEFsbChgcGluZ2ApfSxmLnByb3RvdHlwZS5vbnBvbmc9ZnVuY3Rpb24oKXt0aGlzLmVtaXRBbGwoYHBvbmdgLG5ldyBEYXRlLXRoaXMubGFzdFBpbmcpfSxmLnByb3RvdHlwZS5vbmRhdGE9ZnVuY3Rpb24oZSl7dGhpcy5kZWNvZGVyLmFkZChlKX0sZi5wcm90b3R5cGUub25kZWNvZGVkPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0sZi5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbihlKXtjKGBlcnJvcmAsZSksdGhpcy5lbWl0QWxsKGBlcnJvcmAsZSl9LGYucHJvdG90eXBlLnNvY2tldD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMubnNwc1tlXTtpZighbil7bj1uZXcgcih0aGlzLGUsdCksdGhpcy5uc3BzW2VdPW47dmFyIGk9dGhpcztuLm9uKGBjb25uZWN0aW5nYCxhKSxuLm9uKGBjb25uZWN0YCxmdW5jdGlvbigpe24uaWQ9aS5nZW5lcmF0ZUlkKGUpfSksdGhpcy5hdXRvQ29ubmVjdCYmYSgpfWZ1bmN0aW9uIGEoKXt+bChpLmNvbm5lY3Rpbmcsbil8fGkuY29ubmVjdGluZy5wdXNoKG4pfXJldHVybiBufSxmLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PWwodGhpcy5jb25uZWN0aW5nLGUpO350JiZ0aGlzLmNvbm5lY3Rpbmcuc3BsaWNlKHQsMSksIXRoaXMuY29ubmVjdGluZy5sZW5ndGgmJnRoaXMuY2xvc2UoKX0sZi5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKGUpe2MoYHdyaXRpbmcgcGFja2V0ICVqYCxlKTt2YXIgdD10aGlzO2UucXVlcnkmJmUudHlwZT09PTAmJihlLm5zcCs9YD9gK2UucXVlcnkpLHQuZW5jb2Rpbmc/dC5wYWNrZXRCdWZmZXIucHVzaChlKToodC5lbmNvZGluZz0hMCx0aGlzLmVuY29kZXIuZW5jb2RlKGUsZnVuY3Rpb24obil7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspdC5lbmdpbmUud3JpdGUobltyXSxlLm9wdGlvbnMpO3QuZW5jb2Rpbmc9ITEsdC5wcm9jZXNzUGFja2V0UXVldWUoKX0pKX0sZi5wcm90b3R5cGUucHJvY2Vzc1BhY2tldFF1ZXVlPWZ1bmN0aW9uKCl7aWYodGhpcy5wYWNrZXRCdWZmZXIubGVuZ3RoPjAmJiF0aGlzLmVuY29kaW5nKXt2YXIgZT10aGlzLnBhY2tldEJ1ZmZlci5zaGlmdCgpO3RoaXMucGFja2V0KGUpfX0sZi5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbigpe2MoYGNsZWFudXBgKTtmb3IodmFyIGU9dGhpcy5zdWJzLmxlbmd0aCx0PTA7dDxlO3QrKyl0aGlzLnN1YnMuc2hpZnQoKS5kZXN0cm95KCk7dGhpcy5wYWNrZXRCdWZmZXI9W10sdGhpcy5lbmNvZGluZz0hMSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5kZWNvZGVyLmRlc3Ryb3koKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe2MoYGRpc2Nvbm5lY3RgKSx0aGlzLnNraXBSZWNvbm5lY3Q9ITAsdGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0aGlzLmNsZWFudXAoKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5lbmdpbmUmJnRoaXMuZW5naW5lLmNsb3NlKCl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7Yyhgb25jbG9zZWApLHRoaXMuY2xlYW51cCgpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCxlKSx0aGlzLl9yZWNvbm5lY3Rpb24mJiF0aGlzLnNraXBSZWNvbm5lY3QmJnRoaXMucmVjb25uZWN0KCl9LGYucHJvdG90eXBlLnJlY29ubmVjdD1mdW5jdGlvbigpe2lmKHRoaXMucmVjb25uZWN0aW5nfHx0aGlzLnNraXBSZWNvbm5lY3QpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcztpZih0aGlzLmJhY2tvZmYuYXR0ZW1wdHM+PXRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzKWMoYHJlY29ubmVjdCBmYWlsZWRgKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLmVtaXRBbGwoYHJlY29ubmVjdF9mYWlsZWRgKSx0aGlzLnJlY29ubmVjdGluZz0hMTtlbHNle3ZhciB0PXRoaXMuYmFja29mZi5kdXJhdGlvbigpO2MoYHdpbGwgd2FpdCAlZG1zIGJlZm9yZSByZWNvbm5lY3QgYXR0ZW1wdGAsdCksdGhpcy5yZWNvbm5lY3Rpbmc9ITA7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe2Uuc2tpcFJlY29ubmVjdHx8KGMoYGF0dGVtcHRpbmcgcmVjb25uZWN0YCksZS5lbWl0QWxsKGByZWNvbm5lY3RfYXR0ZW1wdGAsZS5iYWNrb2ZmLmF0dGVtcHRzKSxlLmVtaXRBbGwoYHJlY29ubmVjdGluZ2AsZS5iYWNrb2ZmLmF0dGVtcHRzKSwhZS5za2lwUmVjb25uZWN0JiZlLm9wZW4oZnVuY3Rpb24odCl7dD8oYyhgcmVjb25uZWN0IGF0dGVtcHQgZXJyb3JgKSxlLnJlY29ubmVjdGluZz0hMSxlLnJlY29ubmVjdCgpLGUuZW1pdEFsbChgcmVjb25uZWN0X2Vycm9yYCx0LmRhdGEpKTooYyhgcmVjb25uZWN0IHN1Y2Nlc3NgKSxlLm9ucmVjb25uZWN0KCkpfSkpfSx0KTt0aGlzLnN1YnMucHVzaCh7ZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKX19KX19LGYucHJvdG90eXBlLm9ucmVjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5iYWNrb2ZmLmF0dGVtcHRzO3RoaXMucmVjb25uZWN0aW5nPSExLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMudXBkYXRlU29ja2V0SWRzKCksdGhpcy5lbWl0QWxsKGByZWNvbm5lY3RgLGUpfX0pKSxiYz1zKCgoZSx0KT0+e3ZhciBuPU1zKCkscj1CcygpLGk9eWMoKSxhPWpzKCkoYHNvY2tldC5pby1jbGllbnRgKTt0LmV4cG9ydHM9ZT1zO3ZhciBvPWUubWFuYWdlcnM9e307ZnVuY3Rpb24gcyhlLHQpe3R5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9O3ZhciByPW4oZSkscz1yLnNvdXJjZSxjPXIuaWQsbD1yLnBhdGgsdT1vW2NdJiZsIGluIG9bY10ubnNwcyxkPXQuZm9yY2VOZXd8fHRbYGZvcmNlIG5ldyBjb25uZWN0aW9uYF18fCExPT09dC5tdWx0aXBsZXh8fHUsZjtyZXR1cm4gZD8oYShgaWdub3Jpbmcgc29ja2V0IGNhY2hlIGZvciAlc2AscyksZj1pKHMsdCkpOihvW2NdfHwoYShgbmV3IGlvIGluc3RhbmNlIGZvciAlc2Ascyksb1tjXT1pKHMsdCkpLGY9b1tjXSksci5xdWVyeSYmIXQucXVlcnkmJih0LnF1ZXJ5PXIucXVlcnkpLGYuc29ja2V0KHIucGF0aCx0KX1lLnByb3RvY29sPXIucHJvdG9jb2wsZS5jb25uZWN0PXMsZS5NYW5hZ2VyPXljKCksZS5Tb2NrZXQ9X2MoKX0pKSx4Yz1jKHtkZWZhdWx0OigpPT5TY30pO2Z1bmN0aW9uIFNjKGUsdCl7cmV0dXJuIHR8fD17fSxuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe3ZhciBpPW5ldyBYTUxIdHRwUmVxdWVzdCxhPVtdLG89W10scz17fSxjPWZ1bmN0aW9uKCl7cmV0dXJue29rOihpLnN0YXR1cy8xMDB8MCk9PTIsc3RhdHVzVGV4dDppLnN0YXR1c1RleHQsc3RhdHVzOmkuc3RhdHVzLHVybDppLnJlc3BvbnNlVVJMLHRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkucmVzcG9uc2VUZXh0KX0sanNvbjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoaS5yZXNwb25zZVRleHQpLnRoZW4oSlNPTi5wYXJzZSl9LGJsb2I6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFtpLnJlc3BvbnNlXSkpfSxjbG9uZTpjLGhlYWRlcnM6e2tleXM6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZW50cmllczpmdW5jdGlvbigpe3JldHVybiBvfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHNbZS50b0xvd2VyQ2FzZSgpXX0saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKClpbiBzfX19fTtmb3IodmFyIGwgaW4gaS5vcGVuKHQubWV0aG9kfHxgZ2V0YCxlLCEwKSxpLm9ubG9hZD1mdW5jdGlvbigpe2kuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkucmVwbGFjZSgvXiguKj8pOlteXFNcbl0qKFtcc1xTXSo/KSQvZ20sZnVuY3Rpb24oZSx0LG4pe2EucHVzaCh0PXQudG9Mb3dlckNhc2UoKSksby5wdXNoKFt0LG5dKSxzW3RdPXNbdF0/c1t0XStgLGArbjpufSksbihjKCkpfSxpLm9uZXJyb3I9cixpLndpdGhDcmVkZW50aWFscz10LmNyZWRlbnRpYWxzPT1gaW5jbHVkZWAsdC5oZWFkZXJzKWkuc2V0UmVxdWVzdEhlYWRlcihsLHQuaGVhZGVyc1tsXSk7aS5zZW5kKHQuYm9keXx8bnVsbCl9KX12YXIgQ2M9bygoKCk9Pnt9KSksd2M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9c2VsZi5mZXRjaHx8KHNlbGYuZmV0Y2g9KENjKCksZCh4YykpLmRlZmF1bHR8fChDYygpLGQoeGMpKSl9KSksVGM9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLmZldGNoQmFsYW5jZXJDb25maWc9dm9pZCAwO3ZhciBuPURzKCkscj10KHdjKCkpO2UuZmV0Y2hCYWxhbmNlckNvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4oMCxuLmRlYnVnKShgdXNpbmcgYmFsYW5jZXIgJHtlfSB0byBnZXQgd2Vic29ja2V0IHVybGApLCgwLHIuZGVmYXVsdCkoYCR7ZX1gKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGU/LnVybCYmZT8udG9rZW4/KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIHVybCAke2U/LnVybH0gYW5kIHRva2VuICR7ZT8udG9rZW59YCksZSk6KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIGludmFsaWQgcmVzcG9uc2VgKSxudWxsKX0pLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybigwLG4uZGVidWcpKGBmYWlsZWQgdG8gcmVzb2x2ZSB1cmw6ICR7ZS5tZXNzYWdlfWApLG51bGx9KX19KSksRWM9cygoZT0+e3ZhciB0PWUmJmUuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbih0LG4pe3JldHVybiBlPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKX0sZSh0LG4pfTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0eXBlb2YgbiE9YGZ1bmN0aW9uYCYmbiE9PW51bGwpdGhyb3cgVHlwZUVycm9yKGBDbGFzcyBleHRlbmRzIHZhbHVlIGArU3RyaW5nKG4pK2AgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbGApO2UodCxuKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPW49PT1udWxsP09iamVjdC5jcmVhdGUobik6KHIucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyByKX19KSgpLG49ZSYmZS5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihlLHQsbil7aWYobnx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT10Lmxlbmd0aCxhO3I8aTtyKyspKGF8fCEociBpbiB0KSkmJihhfHw9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHIpLGFbcl09dFtyXSk7cmV0dXJuIGUuY29uY2F0KGF8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX0scj1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRNb2NrPXZvaWQgMDt2YXIgaT1EcygpO2UuU29ja2V0TW9jaz1mdW5jdGlvbihlKXt0KHIsZSk7ZnVuY3Rpb24gcih0KXt2YXIgbj1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4ub3B0aW9ucz10LG4uaWQ9YG1vY2tgLG4uY29ubmVjdGVkPSExLG4uZGlzY29ubmVjdGVkPSEwLG4uYmluYXJ5VHlwZT1gYmxvYmAsbn1yZXR1cm4gci5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuKDAsaS5kZWJ1ZykoYFNvY2tldElPTW9jazogY29ubmVjdGApLHRoaXMub25jZShgdmlzaXRvci5jb25uZWN0YCxmdW5jdGlvbih0LG4pe24obnVsbCxlLm9wdGlvbnMuY29ubmVjdERhdGEpfSksdGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBjb25uZWN0YCksdGhpc30sci5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLmRlYnVnKShgU29ja2V0SU9Nb2NrOiBkaXNjb25uZWN0YCksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxgaW8gY2xpZW50IGRpc2Nvbm5lY3RgKSx0aGlzfSxyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe3ZhciByPVsuLi5hcmd1bWVudHNdLnNsaWNlKDEpO3JldHVybiBpLmRlYnVnLmFwcGx5KHZvaWQgMCxuKFtgU29ja2V0SU9Nb2NrOiBlbWl0YF0sciwhMSkpLCh0PT09YGNvbm5lY3RgfHx0PT09YGRpc2Nvbm5lY3RgfHx0PT09YHZpc2l0b3IuY29ubmVjdGApJiZlLnByb3RvdHlwZS5lbWl0LmFwcGx5KHRoaXMsbihbdF0sciwhMSkpLHRoaXN9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1bLi4uYXJndW1lbnRzXTtyZXR1cm4gdGhpcy5lbWl0LmFwcGx5KHRoaXMsbihbZVswXV0sZS5zbGljZSgxKSwhMSkpfSxyLnByb3RvdHlwZS5jb21wcmVzcz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3BlbigpfSxyLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvc2UoKX0sci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxpc3RlbmVyQ291bnQoZSk9PT0wfSxyLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx0KSx0aGlzfSxyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KSx0aGlzfSxyfShyKE9zKCkpLmRlZmF1bHQpfSkpLERjPXMoKGU9Pnt2YXIgdD1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiB0PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sbj1lJiZlLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTsoIWl8fChgZ2V0YGluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSkpJiYoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLGkpfSk6KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pLGVbcl09dFtuXX0pKSxyPWUmJmUuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKXIhPT1gZGVmYXVsdGAmJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmbih0LGUscil9LGk9ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLHIpe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pfXJldHVybiBuZXcobnx8PVByb21pc2UpKGZ1bmN0aW9uKG4sYSl7ZnVuY3Rpb24gbyhlKXt0cnl7YyhyLm5leHQoZSkpfWNhdGNoKGUpe2EoZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e2Moci50aHJvdyhlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gYyhlKXtlLmRvbmU/bihlLnZhbHVlKTppKGUudmFsdWUpLnRoZW4obyxzKX1jKChyPXIuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KX0sYT1lJiZlLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihlLHQpe3ZhciBuPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihhWzBdJjEpdGhyb3cgYVsxXTtyZXR1cm4gYVsxXX0sdHJ5czpbXSxvcHM6W119LHIsaSxhLG89T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT1gZnVuY3Rpb25gP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gby5uZXh0PXMoMCksby50aHJvdz1zKDEpLG8ucmV0dXJuPXMoMiksdHlwZW9mIFN5bWJvbD09YGZ1bmN0aW9uYCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBzKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYyhbZSx0XSl9fWZ1bmN0aW9uIGMocyl7aWYocil0aHJvdyBUeXBlRXJyb3IoYEdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5gKTtmb3IoO28mJihvPTAsc1swXSYmKG49MCkpLG47KXRyeXtpZihyPTEsaSYmKGE9c1swXSYyP2kucmV0dXJuOnNbMF0/aS50aHJvd3x8KChhPWkucmV0dXJuKSYmYS5jYWxsKGkpLDApOmkubmV4dCkmJiEoYT1hLmNhbGwoaSxzWzFdKSkuZG9uZSlyZXR1cm4gYTtzd2l0Y2goaT0wLGEmJihzPVtzWzBdJjIsYS52YWx1ZV0pLHNbMF0pe2Nhc2UgMDpjYXNlIDE6YT1zO2JyZWFrO2Nhc2UgNDpyZXR1cm4gbi5sYWJlbCsrLHt2YWx1ZTpzWzFdLGRvbmU6ITF9O2Nhc2UgNTpuLmxhYmVsKyssaT1zWzFdLHM9WzBdO2NvbnRpbnVlO2Nhc2UgNzpzPW4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKChhPW4udHJ5cywhKGE9YS5sZW5ndGg+MCYmYVthLmxlbmd0aC0xXSkpJiYoc1swXT09PTZ8fHNbMF09PT0yKSl7bj0wO2NvbnRpbnVlfWlmKHNbMF09PT0zJiYoIWF8fHNbMV0+YVswXSYmc1sxXTxhWzNdKSl7bi5sYWJlbD1zWzFdO2JyZWFrfWlmKHNbMF09PT02JiZuLmxhYmVsPGFbMV0pe24ubGFiZWw9YVsxXSxhPXM7YnJlYWt9aWYoYSYmbi5sYWJlbDxhWzJdKXtuLmxhYmVsPWFbMl0sbi5vcHMucHVzaChzKTticmVha31hWzJdJiZuLm9wcy5wb3AoKSxuLnRyeXMucG9wKCk7Y29udGludWV9cz10LmNhbGwoZSxuKX1jYXRjaChlKXtzPVs2LGVdLGk9MH1maW5hbGx5e3I9YT0wfWlmKHNbMF0mNSl0aHJvdyBzWzFdO3JldHVybnt2YWx1ZTpzWzBdP3NbMV06dm9pZCAwLGRvbmU6ITB9fX0sbz1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj12b2lkIDA7dmFyIHM9RHMoKSxjPW8oT3MoKSksbD1vKGJjKCkpLHU9VGMoKSxkPXt0cmFuc3BvcnRzOltgd2Vic29ja2V0YF0scGF0aDpgL3NvY2tldGAscmVjb25uZWN0aW9uOiEwLHJlY29ubmVjdGlvbkRlbGF5OjFlMyxyZWNvbm5lY3Rpb25EZWxheU1heDo1ZTMscmVjb25uZWN0aW9uQXR0ZW1wdHM6MS8wfTtlLmRlZmF1bHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMub3B0aW9ucz1lLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5mb3JjZVJlY29ubmVjdD0hMSx0aGlzLmlkZW50aXR5PW51bGwsdGhpcy5jb25uZWN0aW9uPW51bGwsdGhpcy5jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLmRpc2Nvbm5lY3RDYWxsYmFjaz1udWxsLHRoaXMuaW5pdERhdGE9bnVsbCx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITEsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9MCx0aGlzLmVtaXR0ZXI9bmV3IGMuZGVmYXVsdCx0aGlzLnNlbmRCdWZmZXI9W10sdGhpcy5vcHRpb25zLm9wdGlvbnM9dCh0KHQoe30sZCksdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMX0pfXJldHVybiBlLnByb3RvdHlwZS5pbml0Q29ubmVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBhKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDppZih0aGlzLmNvbm5lY3Rpb24pdGhyb3cgRXJyb3IoYENvbm5lY3Rpb24gYWxyZWFkeSBleGlzdHNgKTtyZXR1cm4gdGhpcy5vcHRpb25zLnNvY2tldD8oKDAscy5kZWJ1ZykoYHVzaW5nIHNvY2tldCAke3RoaXMub3B0aW9ucy5zb2NrZXQuaWR9YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMSx0aGlzLnNldENvbm5lY3Rpb24odGhpcy5vcHRpb25zLnNvY2tldCksWzMsNF0pOlszLDFdO2Nhc2UgMTpyZXR1cm4gdGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsP1s0LCgwLHUuZmV0Y2hCYWxhbmNlckNvbmZpZykodGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsKV06WzMsM107Y2FzZSAyOnJldHVybiBlPW4uc2VudCgpLCgwLHMuZGVidWcpKGBjcmVhdGluZyBzb2NrZXQgdG8gJHtlLnVybH0gd2l0aCB0b2tlbiAke2UudG9rZW59YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMCx0aGlzLnNldENvbm5lY3Rpb24oKDAsbC5kZWZhdWx0KShlLnVybCx0KHQoe30sdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITEscXVlcnk6e3Rva2VuOmUudG9rZW59fSkpLCEwKSxbMyw0XTtjYXNlIDM6aWYodGhpcy5vcHRpb25zLnVybCkoMCxzLmRlYnVnKShgY3JlYXRpbmcgc29ja2V0IHRvICR7dGhpcy5vcHRpb25zLnVybH1gKSx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuc2V0Q29ubmVjdGlvbigoMCxsLmRlZmF1bHQpKHRoaXMub3B0aW9ucy51cmwsdCh0KHt9LHRoaXMub3B0aW9ucy5vcHRpb25zKSx7YXV0b0Nvbm5lY3Q6ITF9KSkpO2Vsc2UgdGhyb3cgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyIHVybGApO24ubGFiZWw9NDtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUucHJvdG90eXBlLnNldENvbm5lY3Rpb249ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzO249PT12b2lkIDAmJihuPSExKSx0aGlzLmNvbm5lY3Rpb249ZSx0aGlzLmZvcmNlUmVjb25uZWN0PSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpb249bixlLm9uKGBjb25uZWN0X2Vycm9yYCxmdW5jdGlvbihlKXtyLmludGVybmFsUmVjb25uZWN0aW9uJiYoci5jb25uZWN0Q2FsbGJhY2s9bnVsbCwoMCxzLmRlYnVnKShgY29ubmVjdGlvbiB3YXMgbm90IHJlY29ubmVjdGVkYCksci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdF9lcnJvcmAsZSksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uQXR0ZW1wdHM+ci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQrMT9yLnJlY29ubmVjdChyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdCsxKTpyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGAsci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQpKX0pLGUub24oYGNvbm5lY3RgLGZ1bmN0aW9uKCl7KDAscy5kZWJ1ZykoYHNvY2tldCB3YXMgY29ubmVjdGVkYCksci5pbml0aWFsaXplZD0hMSxyLmludGVybmFsUmVjb25uZWN0aW5nPygoMCxzLmRlYnVnKShgY29ubmVjdGlvbiBpcyByZWNvbm5lY3RlZGApLHIuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RgKSxyLmludGVybmFsUmVjb25uZWN0aW5nPSExLHIuaW50ZXJuYWxSZWNvbm5lY3RpbmdBdHRlbXB0PTApOnIuZW1pdHRlci5lbWl0KGBjb25uZWN0YCksci5pbml0aWFsaXplKCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmRlYnVnKShgc29ja2V0IHdhcyBpbml0aWFsaXplZGApLHIub25Jbml0aWFsaXplZChlKSxyLmNvbm5lY3RDYWxsYmFjayYmPShyLmNvbm5lY3RDYWxsYmFjayhudWxsLGUpLG51bGwpLGV9KS5jYXRjaChmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBub3QgaW5pdGlhbGl6ZWQgYCx0KHt9LGUpKSxyLm9uSW5pdGlhbGl6ZUVycm9yKGUpLHIuY29ubmVjdENhbGxiYWNrJiY9KHIuY29ubmVjdENhbGxiYWNrKGUpLG51bGwpfSl9KSxlLm9uKGBkaXNjb25uZWN0YCxmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBkaXNjb25uZWN0ZWQgcmVhc29uPScke2V9J2ApLHIuaW5pdGlhbGl6ZWQ9ITEsKCFyLmludGVybmFsUmVjb25uZWN0aW5nfHxyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdD09PTEpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYGRpc2Nvbm5lY3RgLGUpLHIuZGlzY29ubmVjdENhbGxiYWNrJiY9KHIuZGlzY29ubmVjdENhbGxiYWNrKCksbnVsbCl9LDEwMCksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uJiZyLmludGVybmFsUmVjb25uZWN0aW9uJiYhci5pbnRlcm5hbFJlY29ubmVjdGluZyYmKHIuZm9yY2VSZWNvbm5lY3R8fGUhPT1gaW8gc2VydmVyIGRpc2Nvbm5lY3RgKSYmci5yZWNvbm5lY3QoKX0pLGUub24oYHJlY29ubmVjdGluZ2AsZnVuY3Rpb24oZSl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGluZ2AsZSl9KSxlLm9uKGByZWNvbm5lY3RgLGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGApfSksZS5vbihgcmVjb25uZWN0X2F0dGVtcHRgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSl9KSxlLm9uKGByZWNvbm5lY3RfZXJyb3JgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfZXJyb3JgLGUpfSksZS5vbihgcmVjb25uZWN0X2ZhaWxlZGAsZnVuY3Rpb24oKXtyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGApfSksZS5vbihgZm9yY2VfcmVjb25uZWN0YCxmdW5jdGlvbigpeygwLHMuZGVidWcpKGByZWNlaXZlZCBldmVudCBmb3JjZV9yZWNvbm5lY3QsIHNldHRpbmcgZmxhZyBmb3JjZVJlY29ubmVjdCA9IHRydWVgKSxyLmZvcmNlUmVjb25uZWN0PSEwfSl9LGUucHJvdG90eXBlLmdldENvbm5lY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9ufSxlLnByb3RvdHlwZS5pc0Nvbm5lY3RlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24/LmNvbm5lY3RlZHx8ITF9LGUucHJvdG90eXBlLmlzSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0aWFsaXplZH0sZS5wcm90b3R5cGUuZ2V0SW5pdERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0RGF0YX0sZS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGEodGhpcyxmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbm5lY3Rpb24/WzMsMl06WzQsdGhpcy5pbml0Q29ubmVjdGlvbigpXTtjYXNlIDE6dC5zZW50KCksdC5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bMixuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2UuaW5pdGlhbGl6ZWQ/dChlLmluaXREYXRhKTooKDAscy5kZWJ1ZykoYHN0YXJ0aW5nIGNvbm5lY3RpbmdgKSxlLmNvbm5lY3RDYWxsYmFjaz0oMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pLGUuY29ubmVjdGlvbi5vcGVuKCkpfSldfX0pfSl9LGUucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4peyFlLmNvbm5lY3Rpb258fGUuY29ubmVjdGlvbi5kaXNjb25uZWN0ZWQ/KGUuY29ubmVjdGlvbj1udWxsLHQoKSk6KCgwLHMuZGVidWcpKGBzdGFydGluZyBkaXNjb25uZWN0aW5nYCksZS5kaXNjb25uZWN0Q2FsbGJhY2s9KDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSxlLmNvbm5lY3Rpb24uY2xvc2UoKSxlLmNvbm5lY3Rpb249bnVsbCl9KX0sZS5wcm90b3R5cGUucmVjb25uZWN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9PT12b2lkIDAmJihlPTEpLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITAsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9ZSx0aGlzLmRpc2Nvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKih0Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheU1heC10Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheSkrdC5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uRGVsYXkpO3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIHdpbGwgcmVjb25uZWN0IGluICR7bn1tc2ApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RpbmdgLGUpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoZSxuKX0pfSkudGhlbihmdW5jdGlvbigpe3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIGlzIHN0YXJ0aW5nIHJlY29ubmVjdGApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSksdC5jb25uZWN0KCl9KX0sZS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtlKHt9KX0pfSxlLnByb3RvdHlwZS5vbkluaXRpYWxpemVkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuaW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbml0RGF0YT1lLCgwLHMuZGVidWcpKGBlbWl0IGluaXRpYWxpemVkYCksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVkYCxlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodC5zZW5kQnVmZmVyLmxlbmd0aD4wKXsoMCxzLmRlYnVnKShgc2VuZGluZyBidWZmZXJlZCAke3Quc2VuZEJ1ZmZlci5sZW5ndGh9IGV2ZW50c2ApO2Zvcih2YXIgZT0wO2U8dC5zZW5kQnVmZmVyLmxlbmd0aDtlKyspe3ZhciBuPXQuc2VuZEJ1ZmZlcltlXTt0LmNvbm5lY3Rpb24uZW1pdChuLm5hbWUsbi5kYXRhLG4uY2FsbGJhY2spfXQuc2VuZEJ1ZmZlcj1bXX19LDEpKX0sZS5wcm90b3R5cGUub25Jbml0aWFsaXplRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5kaXNjb25uZWN0KCksKDAscy5kZWJ1ZykoYGVtaXQgaW5pdGlhbGl6ZV9lcnJvcmAsdCh7fSxlKSksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVfZXJyb3JgLGUpfSxlLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLmluaXRpYWxpemVkP3RoaXMuY29ubmVjdGlvbi5lbWl0KGUsdCxuKTp0aGlzLnNlbmRCdWZmZXIucHVzaCh7bmFtZTplLGRhdGE6dCxjYWxsYmFjazpufSl9LGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGUucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4oZT10aGlzLmVtaXR0ZXIpLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseShlLHQpLHRoaXN9LGV9KCk7dmFyIGY9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmLlNvY2tldEVycm9yfX0pLHIoRWMoKSxlKX0pKSxPYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCksbj1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBuPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSxuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0scj1lJiZlLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4scil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSl9cmV0dXJuIG5ldyhufHw9UHJvbWlzZSkoZnVuY3Rpb24obixhKXtmdW5jdGlvbiBvKGUpe3RyeXtjKHIubmV4dChlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gcyhlKXt0cnl7YyhyLnRocm93KGUpKX1jYXRjaChlKXthKGUpfX1mdW5jdGlvbiBjKGUpe2UuZG9uZT9uKGUudmFsdWUpOmkoZS52YWx1ZSkudGhlbihvLHMpfWMoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pfSxpPWUmJmUuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGUsdCl7dmFyIG49e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKGFbMF0mMSl0aHJvdyBhWzFdO3JldHVybiBhWzFdfSx0cnlzOltdLG9wczpbXX0scixpLGEsbz1PYmplY3QuY3JlYXRlKCh0eXBlb2YgSXRlcmF0b3I9PWBmdW5jdGlvbmA/SXRlcmF0b3I6T2JqZWN0KS5wcm90b3R5cGUpO3JldHVybiBvLm5leHQ9cygwKSxvLnRocm93PXMoMSksby5yZXR1cm49cygyKSx0eXBlb2YgU3ltYm9sPT1gZnVuY3Rpb25gJiYob1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxvO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBjKFtlLHRdKX19ZnVuY3Rpb24gYyhzKXtpZihyKXRocm93IFR5cGVFcnJvcihgR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLmApO2Zvcig7byYmKG89MCxzWzBdJiYobj0wKSksbjspdHJ5e2lmKHI9MSxpJiYoYT1zWzBdJjI/aS5yZXR1cm46c1swXT9pLnRocm93fHwoKGE9aS5yZXR1cm4pJiZhLmNhbGwoaSksMCk6aS5uZXh0KSYmIShhPWEuY2FsbChpLHNbMV0pKS5kb25lKXJldHVybiBhO3N3aXRjaChpPTAsYSYmKHM9W3NbMF0mMixhLnZhbHVlXSksc1swXSl7Y2FzZSAwOmNhc2UgMTphPXM7YnJlYWs7Y2FzZSA0OnJldHVybiBuLmxhYmVsKysse3ZhbHVlOnNbMV0sZG9uZTohMX07Y2FzZSA1Om4ubGFiZWwrKyxpPXNbMV0scz1bMF07Y29udGludWU7Y2FzZSA3OnM9bi5vcHMucG9wKCksbi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoKGE9bi50cnlzLCEoYT1hLmxlbmd0aD4wJiZhW2EubGVuZ3RoLTFdKSkmJihzWzBdPT09Nnx8c1swXT09PTIpKXtuPTA7Y29udGludWV9aWYoc1swXT09PTMmJighYXx8c1sxXT5hWzBdJiZzWzFdPGFbM10pKXtuLmxhYmVsPXNbMV07YnJlYWt9aWYoc1swXT09PTYmJm4ubGFiZWw8YVsxXSl7bi5sYWJlbD1hWzFdLGE9czticmVha31pZihhJiZuLmxhYmVsPGFbMl0pe24ubGFiZWw9YVsyXSxuLm9wcy5wdXNoKHMpO2JyZWFrfWFbMl0mJm4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZX1zPXQuY2FsbChlLG4pfWNhdGNoKGUpe3M9WzYsZV0saT0wfWZpbmFsbHl7cj1hPTB9aWYoc1swXSY1KXRocm93IHNbMV07cmV0dXJue3ZhbHVlOnNbMF0/c1sxXTp2b2lkIDAsZG9uZTohMH19fSxhPWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLldlYnNvY2tldFZpc2l0b3JDbGllbnQ9dm9pZCAwO3ZhciBvPWEoRGMoKSkscz1EcygpLGM9ZnVuY3Rpb24oZSl7dChhLGUpO2Z1bmN0aW9uIGEodCl7dmFyIG49ZS5jYWxsKHRoaXMsdC5jb25uZWN0aW9uKXx8dGhpcztyZXR1cm4gbi5zZXJ2ZXJWZXJzaW9uPW51bGwsbi51cGRhdGVkVmFsdWVzPXt9LG4uY29ubmVjdERhdGE9dC5kYXRhLG4uaWRlbnRpdHk9bnVsbCxufXJldHVybiBhLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uPWZ1bmN0aW9uKHQpe2UucHJvdG90eXBlLnNldENvbm5lY3Rpb24uY2FsbCh0aGlzLHQpLHQub24oYHNlcnZlci5lcnJvcmAsKDAscy5ib3VuZCkodGhpcyxgb25TZXJ2ZXJFcnJvcmApKSx0Lm9uKGBhY2NvdW50LnVwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhY2NvdW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQudXBkYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGFnZW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQuc3RhdHVzX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhZ2VudC5zdGF0dXNfdXBkYXRlZGApKSx0Lm9uKGBhZ2VudC5yZW1vdmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgYWdlbnQucmVtb3ZlZGApKSx0Lm9uKGB2aXNpdG9yLnVwZGF0ZWRgLCgwLHMuYm91bmQpKHRoaXMsYG9uVmlzaXRvclVwZGF0ZWRgKSksdC5vbihgY2hhdC51cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC51cGRhdGVkYCkpLHQub24oYGNoYXQuYWdlbnRfam9pbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF9qb2luZWRgKSksdC5vbihgY2hhdC5hZ2VudF9hc3NpZ25lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfYXNzaWduZWRgKSksdC5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCkpLHQub24oYGNoYXQuYWdlbnRfbGVmdGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfbGVmdGApKSx0Lm9uKGBjaGF0Lm9wZW5lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQub3BlbmVkYCkpLHQub24oYGNoYXQuc2VydmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5zZXJ2ZWRgKSksdC5vbihgY2hhdC5jbG9zZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LmNsb3NlZGApKSx0Lm9uKGBjaGF0LnZpc2l0b3JfY2xvc2VkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC52aXNpdG9yX2Nsb3NlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgKSksdC5vbihgY2hhdC5tZXNzYWdlX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQubWVzc2FnZV9kZWxldGVkYCkpLHQub24oYGNoYXQuYWdlbnRfdHlwaW5nYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF90eXBpbmdgKSksdC5vbihgY2hhdC5yYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0ZWRgKSksdC5vbihgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCkpLHQub24oYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGApKSx0Lm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuY29udGFjdF9yZWFkYCkpLHQub24oYGNoYXQuZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuZGVsZXRlZGApKSx0Lm9uKGBjaGF0LnRpY2tldF9mb3JtX2ZpbmlzaGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCkpLHQub24oYGNoYXQudHJhbnNjcmlwdF9wZGZgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LnRyYW5zY3JpcHRfcGRmYCkpLHQub24oYGNvbnRhY3QuYWNxdWlyZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjb250YWN0LmFjcXVpcmVkYCkpLHQub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgaWRlbnRpdHkuc3RhdHVzX3VwZGF0ZWRgKSl9LGEucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxhLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkZW50aXR5P3RoaXMuaWRlbnRpdHkuaWQ6bnVsbH0sYS5wcm90b3R5cGUuZ2V0SWRlbnRpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZGVudGl0eX0sYS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBlLnByb3RvdHlwZS5jb25uZWN0LmNhbGwodGhpcyl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLGFyZ3VtZW50cyx2b2lkIDAsZnVuY3Rpb24odCl7dmFyIG49dGhpcztyZXR1cm4gdD09PXZvaWQgMCYmKHQ9ITEpLGkodGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOnJldHVybiB0P1s0LG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7bi5zZW5kKGB2aXNpdG9yLmxvZ291dGAse30sKDAscy5jcmVhdGVDYWxsYmFjaykoZSx0KSl9KV06WzMsMl07Y2FzZSAxOnIuc2VudCgpLHIubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzIsZS5wcm90b3R5cGUuZGlzY29ubmVjdC5jYWxsKHRoaXMpXX19KX0pfSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGU9PT12b2lkIDAmJihlPXt9KSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLGUpdGhpcy5pZGVudGl0eVt0XT1lW3RdLHRoaXMudXBkYXRlZFZhbHVlc1t0XT1lW3RdO3RoaXMuc2F2ZVZpc2l0b3JWYWx1ZXMoKX0sYS5wcm90b3R5cGUuYXV0aGVudGljYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYHZpc2l0b3IuYXV0aGVudGljYXRlYCx7dmFsdWVzOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHQ9PT12b2lkIDAmJih0PW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24ocixpKXtuLnNlbmQoYHZpc2l0b3Iubm90aWZ5YCx7bmFtZTplLHZhbHVlOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRSZWFkPWZ1bmN0aW9uKCl7dGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSx0aGlzLnNlbmQoYGNoYXQucmVhZGAsbnVsbCl9LGEucHJvdG90eXBlLmNoYXRUeXBpbmc9ZnVuY3Rpb24oZSx0KXt0PT09dm9pZCAwJiYodD1udWxsKSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLHRoaXMuc2VuZChgY2hhdC50eXBpbmdgLHt0eXBpbmc6e2lzOmUsdGV4dDp0fX0pfSxhLnByb3RvdHlwZS5jaGF0TWVzc2FnZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lm1lc3NhZ2VgLGUsKDAscy5jcmVhdGVDYWxsYmFjaykobixyKSl9KX0sYS5wcm90b3R5cGUuY2hhdENsb3NlPWZ1bmN0aW9uKGUpe2U9PT12b2lkIDAmJihlPW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksdGhpcy5zZW5kKGBjaGF0LmNsb3NlYCx7dHlwZTplfSl9LGEucHJvdG90eXBlLmNoYXRVcGxvYWRJbml0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2Uuc2VuZChgY2hhdC51cGxvYWRfaW5pdGAsbnVsbCwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5jaGF0VXBsb2FkRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudXBsb2FkX2ZpbmlzaGAse3VwbG9hZFRva2VuOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRUcmFuc2NyaXB0PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe24uc2VuZChgY2hhdC50cmFuc2NyaXB0YCx7ZW1haWw6ZSxsYW5nOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRUaWNrZXRGb3JtRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlSW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQucmF0ZV9pbml0YCxudWxsLCgwLHMuY3JlYXRlQ2FsbGJhY2spKHQsbikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQucmF0ZWAsZSwoMCxzLmNyZWF0ZUNhbGxiYWNrKShuLHIpKX0pfSxhLnByb3RvdHlwZS5jaGF0VHJhbnNjcmlwdFBkZj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQudHJhbnNjcmlwdF9wZGZgLG51bGwsKDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSl9KX0sYS5wcm90b3R5cGUubGlua09wZW5lZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lmxpbmtfb3BlbmVkYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JDb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PW4oe3ZlcnNpb246YS5DTElFTlRfVkVSU0lPTn0sdGhpcy5jb25uZWN0RGF0YSk7Zm9yKHZhciByIGluIHRoaXMudXBkYXRlZFZhbHVlcyl0W3JdPXRoaXMudXBkYXRlZFZhbHVlc1tyXTtpZih0aGlzLnVwZGF0ZWRWYWx1ZXM9e30sdGhpcy5pZGVudGl0eSlmb3IodmFyIHIgaW4gdGhpcy5pZGVudGl0eSlbYGJhbm5lZEF0YCxgY2hhdElkYCxgc3RhdHVzYF0uaW5jbHVkZXMocil8fCh0W3JdPXRoaXMuaWRlbnRpdHlbcl0pO3JldHVybiB0aGlzLmVtaXR0ZXIuZW1pdChgaW5pdGlhbGl6ZWAsdCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5jb25uZWN0YCx0LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JEaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5kaXNjb25uZWN0YCx7fSwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5vblZpc2l0b3JVcGRhdGVkPWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLmNoYW5nZXMpYS5pZGVudGl0eVByb3BlcnRpZXMuaW5jbHVkZXMobikmJih0aGlzLmlkZW50aXR5JiYodGhpcy5pZGVudGl0eVtuXT1lLmNoYW5nZXNbbl0pLHRbbl09ZS5jaGFuZ2VzW25dKTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5sZW5ndGg+MCYmdGhpcy5lbWl0dGVyLmVtaXQoYHZpc2l0b3IudXBkYXRlZGAsdCl9LGEucHJvdG90eXBlLm9uU2VydmVyRXJyb3I9ZnVuY3Rpb24oZSl7dmFyIHQ9KDAscy5jcmVhdGVTb2NrZXRFcnJvcikoZSk7dGhpcy5lbWl0dGVyLmVtaXQoYGVycm9yYCx0KX0sYS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMudmlzaXRvckNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlLnNlcnZlclZlcnNpb249dC5zZXJ2ZXJWZXJzaW9uLGUuaWRlbnRpdHk9bihuKHt9LHQudmlzaXRvcikse3ZhcmlhYmxlczpuKHt9LHQudmlzaXRvci52YXJpYWJsZXMpfSksdH0pfSxhLnByb3RvdHlwZS5zYXZlVmlzaXRvclZhbHVlcz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5pbml0aWFsaXplZCYmc2V0VGltZW91dChmdW5jdGlvbigpe2lmKCEoIWUuaW5pdGlhbGl6ZWR8fE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUudXBkYXRlZFZhbHVlcykubGVuZ3RoPT09MCkpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLnVwZGF0ZWRWYWx1ZXMpdFtuXT1lLnVwZGF0ZWRWYWx1ZXNbbl07ZS5zZW5kKGB2aXNpdG9yLnVwZGF0ZWAse3ZhbHVlczp0fSksZS51cGRhdGVkVmFsdWVzPXt9fX0sMSl9LGEucHJvdG90eXBlLmNoZWNrU2VydmVyVmVyc2lvbj1mdW5jdGlvbigpe2lmKHRoaXMuc2VydmVyVmVyc2lvbj09PW51bGwpdGhyb3cgRXJyb3IoYENsaWVudCBub3QgeWV0IGNvbm5lY3RlZCB0byBzZXJ2ZXJgKX0sYS5DTElFTlRfVkVSU0lPTj02LGEuaWRlbnRpdHlQcm9wZXJ0aWVzPVtgaWRgLGBuYW1lYCxgZW1haWxgLGBwaG9uZWAsYGNoYXRJZGAsYHZhcmlhYmxlc2AsYGxhbmdgLGBncm91cGAsYGJhbm5lZEF0YCxgdHJpZ2dlcmFibGVgLGB2aXNpdHNgLGBnZHByQXBwcm92ZWRgXSxhfShvLmRlZmF1bHQpO2UuV2Vic29ja2V0VmlzaXRvckNsaWVudD1jLChmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5XaWRnZXRPcGVuPWB3aWRnZXRfb3BlbmAsZS5XaWRnZXRTaG93PWB3aWRnZXRfc2hvd2AsZS5WaXNpdG9yQWN0aXZlPWB2aXNpdG9yX2FjdGl2ZWAsZS5WaXNpdG9ySW5hY3RpdmU9YHZpc2l0b3JfaW5hY3RpdmVgfSkoZS5FdmVudE5hbWV8fD17fSl9KShjfHwoZS5XZWJzb2NrZXRWaXNpdG9yQ2xpZW50PWM9e30pKX0pKSxrYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLEFjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5SYXRpbmdUYXJnZXQ9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLkFnZW50PWBhZ2VudGAsZS5BaT1gYWlgfSkodHx8KGUuUmF0aW5nVGFyZ2V0PXQ9e30pKX0pKSxqYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj1lLk1lc3NhZ2VEZWxpdmVyeVN0YXR1cz1lLkFnZW50RGV2aWNlUGxhdGZvcm09ZS5BZ2VudERldmljZVR5cGU9ZS5WaXNpdG9yU3RhdHVzPWUuQ2hhdFJlYWRJbmZvVHlwZT1lLkNoYXRTdGF0dXM9ZS5BZ2VudFN0YXR1cz1lLkFjY291bnRTdGF0dXM9dm9pZCAwLGUuQWNjb3VudFN0YXR1cz17T25saW5lOmBvbmxpbmVgLE9mZmxpbmU6YG9mZmxpbmVgLE9mZmxpbmVXaXRoQUk6YG9mZmxpbmVXaXRoQWlgfSxlLkFnZW50U3RhdHVzPXtPbmxpbmU6YG9ubGluZWAsT2ZmbGluZTpgb2ZmbGluZWB9LGUuQ2hhdFN0YXR1cz17UGVuZGluZzpgcGVuZGluZ2AsT3Blbjpgb3BlbmAsQ2xvc2VkOmBjbG9zZWRgLFNlcnZlZDpgc2VydmVkYH0sZS5DaGF0UmVhZEluZm9UeXBlPXtBZ2VudDpgYWdlbnRgLENvbnRhY3Q6YGNvbnRhY3RgfSxlLlZpc2l0b3JTdGF0dXM9e0FjdGl2ZTpgYWN0aXZlYCxDbGlja2VkOmBjbGlja2VkYCxJZGxlOmBpZGxlYCxTZXJ2ZWQ6YHNlcnZlZGAsVW5zZXJ2ZWQ6YHVuc2VydmVkYCxUcmlnZ2VyZWQ6YHRyaWdnZXJlZGB9LGUuQWdlbnREZXZpY2VUeXBlPXtCcm93c2VyOmBicm93c2VyYCxNb2JpbGU6YG1vYmlsZWAsWG1wcDpgeG1wcGAsT3RoZXI6YG90aGVyYH0sZS5BZ2VudERldmljZVBsYXRmb3JtPXtJT1M6YGlvc2AsQU5EUk9JRDpgYW5kcm9pZGB9LGUuTWVzc2FnZURlbGl2ZXJ5U3RhdHVzPXtPazpgb2tgLFBlcm1hbmVudEZhaWw6YHBlcm1hbmVudF9mYWlsYCxUZW1wb3JhcnlGYWlsOmB0ZW1wb3JhcnlfZmFpbGAsQ29tcGxhaW5lZDpgY29tcGxhaW5lZGAsU2Vlbjpgc2VlbmB9LGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj17RmFjZWJvb2syNGhXaW5kb3c6YGZhY2Vib29rLm91dHNpZGVfYWxsb3dlZF93aW5kb3dgLEluc3RhZ3JhbUV4Y2VlZGVkRmlsZVNpemU6YGluc3RhZ3JhbS5leGNlZWRlZF9maWxlX3NpemVgLEluc3RhZ3JhbVVua25vd246YGluc3RhZ3JhbS51bmtub3duYCxJbnN0YWdyYW1VbnN1cHBvcnRlZEZpbGVUeXBlOmBpbnN0YWdyYW0udW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVuc3VwcG9ydGVkRmlsZTpgd2hhdHNhcHAudW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVua25vd246YHdoYXRzYXBwLnVua25vd25gfX0pKSxNYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj1lLmRlZmF1bHQ9dm9pZCAwO3ZhciByPU9jKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYGRlZmF1bHRgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLldlYnNvY2tldFZpc2l0b3JDbGllbnR9fSksbihPYygpLGUpLG4oa2MoKSxlKSxuKEFjKCksZSk7dmFyIGk9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLlNvY2tldEVycm9yfX0pLG4oamMoKSxlKX0pKSxOYz1PKG51bGwpLFBjPU8oITEpLEZjPU8oW10pLEljPWU9PntGYy51cGRhdGUodD0+Wy4uLnQsZV0pfSxMYz0oKT0+e2xldCBlO3JldHVybiBGYy51cGRhdGUodD0+KGU9dC5wb3AoKSx0KSksZT8/bnVsbH0sUmM9KCk9PkEoRmMpLmxlbmd0aD09PTAsemM9ayhOYyxlPT5lIT09bnVsbCksQmM9KGUse3VzZVN0YWNrOnQ9ITF9PXt9KT0+e05jLnVwZGF0ZShuPT4odCYmbiYmSWMobiksUGMuc2V0KG4hPT1udWxsKSxlKSl9LFZjPSgpPT57bGV0IGU9bnVsbDtSYygpfHwoZT1MYygpKSxOYy5zZXQoZSl9LEhjPWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3B0aW9ucz0wXT1gT3B0aW9uc2AsZVtlLkdkcHJBbmRQcml2YWN5PTFdPWBHZHByQW5kUHJpdmFjeWAsZVtlLkF1dGhGb3JtPTJdPWBBdXRoRm9ybWAsZVtlLkNsb3NlQ2hhdD0zXT1gQ2xvc2VDaGF0YCxlW2UuQ2hhdFJhdGluZz00XT1gQ2hhdFJhdGluZ2AsZVtlLlRpY2tldEZvcm09NV09YFRpY2tldEZvcm1gLGV9KHt9KSxVYz0xZTMsV2M9U3ltYm9sKGBjb250ZW50TGlzdEl0ZW1gKSxHYz1TeW1ib2woYGNvbnRlbnRNZXNzYWdlQXR0YWNobWVudGApLEtjPWAtcmVwbGllc2AscWM9LjM1LEpjPTVlMyxZYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLFhjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5DYXJkQWN0aW9uVHlwZT1lLkNhcmRzTGF5b3V0PXZvaWQgMCxlLkNhcmRzTGF5b3V0PXtDYXJvdXNlbDpgY2Fyb3VzZWxgfSxlLkNhcmRBY3Rpb25UeXBlPXtPcGVuVXJsOmBvcGVuX3VybGB9fSkpLFpjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSl9KSksUWM9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLlJhdGluZ1RhcmdldD1lLkdyb3VwVHlwZT1lLkNoYW5uZWxUeXBlPWUuTWVzc2FnZVN1YlR5cGU9ZS5NZXNzYWdlVHlwZT1lLkF0dGFjaG1lbnRJbnZhbGlkUmVhc29uPWUuQXR0YWNobWVudFR5cGU9ZS5NZXNzYWdlQWN0aW9uVHlwZT12b2lkIDAsZS5NZXNzYWdlQWN0aW9uVHlwZT17VGV4dDpgdGV4dGAsT3BlblVybDpgb3Blbl91cmxgfSxlLkF0dGFjaG1lbnRUeXBlPXtDYXJkczpgY2FyZHNgLEZpbGU6YGZpbGVgLEltYWdlOmBpbWFnZWAsTWVkaWE6YG1lZGlhYCxJbnZhbGlkOmBpbnZhbGlkYH0sZS5BdHRhY2htZW50SW52YWxpZFJlYXNvbj17SW52YWxpZFNpemU6YGludmFsaWRfc2l6ZWAsSW52YWxpZFR5cGU6YGludmFsaWRfdHlwZWB9LGUuTWVzc2FnZVR5cGU9e01lc3NhZ2U6YG1lc3NhZ2VgLE5vdGU6YG5vdGVgLEV2ZW50OmBldmVudGAsSGVscDpgaGVscGB9LGUuTWVzc2FnZVN1YlR5cGU9e0FnZW50OmBhZ2VudGAsQ29udGFjdDpgY29udGFjdGAsVHJpZ2dlcjpgdHJpZ2dlcmAsQm90OmBib3RgLFN5c3RlbTpgc3lzdGVtYCxBZ2VudEV4dGVybmFsOmBhZ2VudF9leHRlcm5hbGAsRm91bmRFbWFpbDpgZm91bmRfZW1haWxgLENoYXRSZXNvbHZlOmBjaGF0X3Jlc29sdmVgLEVtYWlsOmBlbWFpbGB9LGUuQ2hhbm5lbFR5cGU9e0RlZmF1bHQ6YGRlZmF1bHRgLEVtYWlsOmBlbWFpbGAsRW1haWxJbnRlZ3JhdGlvbjpgZW1haWxfaW50ZWdyYXRpb25gLEZhY2Vib29rTWVzc2VuZ2VyOmBmYWNlYm9va19tZXNzZW5nZXJgLEdtYWlsOmBnbWFpbGAsU21hcnRzdXBwOmBzbWFydHN1cHBgLEluc3RhZ3JhbTpgaW5zdGFncmFtYCxXaGF0c2FwcDpgd2hhdHNhcHBgfTt2YXIgdDsoZnVuY3Rpb24oZSl7ZS5haT1gYWlgLGUuY2hhdGJvdD1gY2hhdGJvdGAsZS5tZXNzYWdlPWBtZXNzYWdlYH0pKHR8fChlLkdyb3VwVHlwZT10PXt9KSk7dmFyIG47KGZ1bmN0aW9uKGUpe2UuQWdlbnQ9YGFnZW50YCxlLkFpPWBhaWB9KShufHwoZS5SYXRpbmdUYXJnZXQ9bj17fSkpfSkpLCRjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5QYXJ0aWNpcGFudFR5cGU9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLmZyb209YGZyb21gLGUudG89YHRvYCxlLmNjPWBjY2AsZS5iY2M9YGJjY2B9KSh0fHwoZS5QYXJ0aWNpcGFudFR5cGU9dD17fSkpfSkpLGVsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5NZXNzYWdlQ29udGVudFR5cGU9ZS5NZXNzYWdlQ29udGVudD12b2lkIDA7dmFyIHQ7KGZ1bmN0aW9uKGUpeyhmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLFVwbG9hZDpgdXBsb2FkYCxSYXRlRm9ybTpgcmF0ZV9mb3JtYCxUaWNrZXRGb3JtOmB0aWNrZXRfZm9ybWAsRW1haWw6YGVtYWlsYH19KShlLk1lc3NhZ2V8fD17fSksKGZ1bmN0aW9uKGUpe2UuVHlwZT17QWdlbnRKb2luOmBhZ2VudF9qb2luYCxBZ2VudEFzc2lnbjpgYWdlbnRfYXNzaWduYCxBZ2VudFVuYXNzaWduOmBhZ2VudF91bmFzc2lnbmAsQWdlbnRMZWF2ZTpgYWdlbnRfbGVhdmVgLENoYXRDbG9zZTpgY2hhdF9jbG9zZWAsQ2hhdFZpc2l0b3JDbG9zZTpgY2hhdF92aXNpdG9yX2Nsb3NlYH19KShlLkV2ZW50fHw9e30pLChmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLEZvdW5kRW1haWw6YGZvdW5kX2VtYWlsYH19KShlLkhlbHB8fD17fSl9KSh0fHwoZS5NZXNzYWdlQ29udGVudD10PXt9KSksZS5NZXNzYWdlQ29udGVudFR5cGU9ey4uLnQuTWVzc2FnZS5UeXBlLC4uLnQuRXZlbnQuVHlwZSwuLi50LkhlbHAuVHlwZX19KSksdGw9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KX0pKSxubD1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksbihZYygpLGUpLG4oWGMoKSxlKSxuKFpjKCksZSksbihRYygpLGUpLG4oJGMoKSxlKSxuKGVsKCksZSksbih0bCgpLGUpfSkpLHJsPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIG9mIHQpe2xldCB0PVN0cmluZyhyW2VdKTtuW3RdPXJ9cmV0dXJuIG59LGlsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09Tyh7fSk7cmV0dXJue3N1YnNjcmliZTplLHNldEdyb3VwczplPT57dChybChga2V5YCxlKSl9fX0pKCksYWw9ayhbaWxdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpKSxvbD17YXV0aEZvcm1EcmF3ZXI6YGF1dGhGb3JtRHJhd2VyYCxhdXRoRm9ybVByaXZhY3lOb3RpY2U6YGF1dGhGb3JtUHJpdmFjeU5vdGljZWAsYXV0aEZvcm1Qcml2YWN5Tm90aWNlU3dpdGNoOmBhdXRoRm9ybVByaXZhY3lOb3RpY2VTd2l0Y2hgLGF1dGhGb3JtU3VibWl0QnV0dG9uOmBhdXRoRm9ybVN1Ym1pdEJ1dHRvbmAsYXZhdGFyQWdlbnQ6YGF2YXRhckFnZW50YCxhdmF0YXJCb3Q6YGF2YXRhckJvdGAsYXZhdGFyR3JvdXA6YGF2YXRhckdyb3VwYCxhdmF0YXJJbmZvOmBhdmF0YXJJbmZvYCxidXR0b25BdHRhY2htZW50OmBidXR0b25BdHRhY2htZW50YCxidXR0b25DbG9zZUNoYXQ6YGJ1dHRvbkNsb3NlQ2hhdGAsYnV0dG9uQ2xvc2VEcmF3ZXI6YGJ1dHRvbkNsb3NlRHJhd2VyYCxidXR0b25Db2xsYXBzZUNoYXQ6YGJ1dHRvbkNvbGxhcHNlQ2hhdGAsYnV0dG9uRW1vamk6YGJ1dHRvbkVtb2ppYCxidXR0b25FeHBhbmRDaGF0OmBidXR0b25FeHBhbmRDaGF0YCxidXR0b25NaW5pbWl6ZUNoYXQ6YGJ1dHRvbk1pbmltaXplQ2hhdGAsYnV0dG9uT3B0aW9uczpgYnV0dG9uT3B0aW9uc2AsYnV0dG9uU2VuZDpgYnV0dG9uU2VuZGAsY2hhdFJhdGluZ0RyYXdlcjpgY2hhdFJhdGluZ0RyYXdlcmAsY2hhdFJhdGluZ0Vtb2ppQnV0dG9uOmBjaGF0UmF0aW5nRW1vamlgLGNoYXRSYXRpbmdTZW5kQnV0dG9uOmBjaGF0UmF0aW5nU2VuZEJ1dHRvbmAsY2hhdFJhdGluZ1RleHRhcmVhOmBjaGF0UmF0aW5nVGV4dGFyZWFgLGNoYXRSYXRpbmdGZWVkYmFja0J1dHRvbjpgY2hhdFJhdGluZ0ZlZWRiYWNrQnV0dG9uYCxjaGF0UmF0aW5nQnV0dG9uQWk6YGNoYXRSYXRpbmdCdXR0b25BaWAsY2hhdFJhdGluZ0J1dHRvbkFnZW50OmBjaGF0UmF0aW5nQnV0dG9uQWdlbnRgLGNsb3NlQ2hhdENvbmZpcm1CdXR0b246YGNsb3NlQ2hhdENvbmZpcm1CdXR0b25gLGNsb3NlQ2hhdERlY2xpbmVCdXR0b246YGNsb3NlQ2hhdERlY2xpbmVCdXR0b25gLGNsb3NlQ2hhdERyYXdlcjpgY2xvc2VDaGF0RHJhd2VyYCxmbGFzaE1lc3NhZ2U6YGZsYXNoTWVzc2FnZWAsZ2RwckRyYXdlcjpgZ2RwckRyYXdlcmAsaGVhZGVyVGl0bGU6YGhlYWRlclRpdGxlYCxoZWFkZXJTdGF0dXM6YGhlYWRlclN0YXR1c2AsaGVhZGVyQmFkZ2U6YGhlYWRlckJhZGdlYCxpbmxpbmVFbW9qaVBpY2tlcjpgaW5saW5lRW1vamlQaWNrZXJgLG1lc3NhZ2VBdHRhY2htZW50OmBtZXNzYWdlQXR0YWNobWVudGAsbWVzc2FnZUFnZW50OmBtZXNzYWdlQWdlbnRgLG1lc3NhZ2VCb3Q6YG1lc3NhZ2VCb3RgLG1lc3NhZ2VCb3RSZXBseTpgbWVzc2FnZUJvdFJlcGx5YCxtZXNzYWdlQm90QmFjazpgbWVzc2FnZUJvdEJhY2tgLG1lc3NhZ2VDb250YWN0OmBtZXNzYWdlQ29udGFjdGAsbWVzc2FnZUZpbGU6YG1lc3NhZ2VGaWxlYCxtZXNzYWdlR3JvdXA6YG1lc3NhZ2VHcm91cGAsbWVzc2FnZUltYWdlOmBtZXNzYWdlSW1hZ2VgLG9wdGlvbnNBY2Nlc3NpYmlsaXR5OmBvcHRpb25zQWNjZXNzaWJpbGl0eWAsb3B0aW9uc0RyYXdlcjpgb3B0aW9uc0RyYXdlcmAsb3B0aW9uc0V4cGFuZENoYXQ6YG9wdGlvbnNFeHBhbmRDaGF0YCxvcHRpb25zUHJpdmFjeU5vdGljZTpgb3B0aW9uc1ByaXZhY3lOb3RpY2VgLG9wdGlvbnNTb3VuZHM6YG9wdGlvbnNTb3VuZHNgLG9wdGlvbnNUcmFuc2NyaXB0OmBvcHRpb25zVHJhbnNjcmlwdGAscG9wdXA6YHBvcHVwYCxwb3B1cE1lc3NhZ2U6YHBvcHVwTWVzc2FnZWAscG9wdXBCdXR0b246YHBvcHVwQnV0dG9uYCxwb3B1cEJ1dHRvbkNsb3NlOmBwb3B1cEJ1dHRvbkNsb3NlYCxwcm9kdWN0Q2FyZDpgcHJvZHVjdENhcmRgLHByb2R1Y3RDYXJkQXJyb3dMZWZ0OmBwcm9kdWN0Q2FyZEFycm93TGVmdGAscHJvZHVjdENhcmRBcnJvd1JpZ2h0OmBwcm9kdWN0Q2FyZEFycm93UmlnaHRgLHByb2R1Y3RDYXJkQnV0dG9uOmBwcm9kdWN0Q2FyZEJ1dHRvbmAscHJvZHVjdENhcmRDYXJvdXNlbDpgcHJvZHVjdENhcmRDYXJvdXNlbGAscHJvZHVjdENhcmREZXNjcmlwdGlvbjpgcHJvZHVjdENhcmREZXNjcmlwdGlvbmAscHJvZHVjdENhcmRJbWFnZTpgcHJvZHVjdENhcmRJbWFnZWAscHJvZHVjdENhcmRJbmZvOmBwcm9kdWN0Q2FyZEluZm9gLHByb2R1Y3RDYXJkVGl0bGU6YHByb2R1Y3RDYXJkVGl0bGVgLHN5c3RlbU1lc3NhZ2U6YHN5c3RlbU1lc3NhZ2VgLHRleHRhcmVhOmB0ZXh0YXJlYWAsdGV4dGFyZWFQcmV2aWV3RmlsZTpgdGV4dGFyZWFQcmV2aWV3RmlsZWAsdGV4dGFyZWFQcmV2aWV3SW1hZ2U6YHRleHRhcmVhUHJldmlld0ltYWdlYCx0cmFuc2NyaXB0SW5wdXQ6YHRyYW5zY3JpcHRJbnB1dGAsdHJhbnNjcmlwdFNlbmRCdXR0b246YHRyYW5zY3JpcHRTZW5kYCx0aWNrZXRGb3JtRHJhd2VyOmB0aWNrZXRGb3JtRHJhd2VyYCx0aWNrZXRGb3JtU3VibWl0QnV0dG9uOmB0aWNrZXRGb3JtU3VibWl0QnV0dG9uYCx3aWRnZXRCdXR0b246YHdpZGdldEJ1dHRvbmAsd2lkZ2V0QnV0dG9uRnJhbWU6YHdpZGdldEJ1dHRvbkZyYW1lYCx3aWRnZXRCdXR0b25UZXh0OmB3aWRnZXRCdXR0b250ZXh0YCx3aWRnZXRJbWFnZVByZXZpZXc6YHdpZGdldEltYWdlUHJldmlld2Asd2lkZ2V0TWVzc2VuZ2VyOmB3aWRnZXRNZXNzZW5nZXJgLHdpZGdldE1lc3NlbmdlckZyYW1lOmB3aWRnZXRNZXNzZW5nZXJGcmFtZWAsd2lkZ2V0T25saW5lQmFkZ2U6YHdpZGdldE9ubGluZUJhZGdlYCx3aWRnZXRQb3B1cEZyYW1lOmB3aWRnZXRQb3B1cEZyYW1lYCx3aWRnZXRUeXBpbmdGcmFtZTpgd2lkZ2V0VHlwaW5nRnJhbWVgLHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2U6YHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2VgLHdpZGdldEhlYWRlcjpgd2lkZ2V0SGVhZGVyYH0sc2w9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb21gLGNsPWAvcG93ZXJlZC1ieS1zbWFydHN1cHBgLGxsPVtgY3NgLGBlc2AsYGZyYCxgaHVgLGBpdGAsYGRlYCxgbmxgLGBwbGBdLHVsPWBodHRwczovL3d3dy5zbWFydHN1cHAuY29tL215LWRhdGEtYW5kLWdkcHJgLGRsPU8oITEpLGZsPXJzKFUuU2Vzc2lvbklkLGBgKSxwbD0oKT0+e2xldHtwcm90b2NvbDplLGhvc3Q6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7ZT09PWBodHRwYD9gaHR0cGA6YGh0dHBzYH06Ly8ke3R9YH0sbWw9KCk9PntsZXR7bW9iaWxlU2RrOmUsdmlzaXRvcklkOnR9PVYuZ2V0T3B0aW9ucygpO2lmKGUmJnQpcmV0dXJuIHQ7dHJ5e3JldHVybiAkbygpfWNhdGNoKGUpe3JldHVybiBIKFN0cmluZyhlKSksbnVsbH19LGhsPShlLHQpPT57bGV0IG49Zm8oKS5sb2NhdGlvbi5ocmVmO3JldHVybiBlJiZ0JiYobj1gJHtufSR7bi5pbmNsdWRlcyhgP2ApP2AmYDpgP2B9c3MtYm90LXJ1bj0ke3R9YCksbn0sZ2w9KCk9PntKLmNsZWFyTWVzc2FnZXMoKSxtZCgpLEd1LmNsZWFyQXNzaWduZWRBZ2VudElkcygpLFJvKCksa28oVS5WaXNpdG9ySWQpfSxfbD1lPT57dHJ5e2VzKGUpfWNhdGNoKGUpe0goU3RyaW5nKGUpKX19LHZsPWFzeW5jKGU9ITEpPT57bGV0e2tleTp0LGxhbmc6bixpc1ByZXZpZXdNb2RlOnIscHJldmlld1dpdGhvdXRSZXNldDppLHNpdGVQbGF0Zm9ybTphLHRyaWdnZXJhYmxlOm8sX2NoYXRNYXhSZW9wZW5UaW1lOnMsYm90SWQ6Y309Vi5nZXRPcHRpb25zKCk7KHImJiFpfHxlKSYmZ2woKTtsZXQgbD1tbCgpLHU9QShsYik7cmV0dXJue2tleTp0LGlkOmwsY2xpZW50RmluZ2VycHJpbnQ6YXdhaXQgUW8oKSxpc1ByZXZpZXdNb2RlOnIsc2l0ZVBsYXRmb3JtOmEsdHJpZ2dlcmFibGU6byxfY2hhdE1heFJlb3BlblRpbWU6cyxuYW1lOnUubmFtZSxlbWFpbDp1LmVtYWlsLHBob25lOnUucGhvbmUsZ3JvdXA6dS5ncm91cCxsYW5nOnUubGFuZz8/bix2YXJpYWJsZXM6dS52YXJpYWJsZXMsd2lkZ2V0VmVyc2lvbjpgMy4wYCx2aXNpdHM6dHMoKSxpc1dpZGdldFZpc2libGU6QShSXyksaXNXaWRnZXRPcGVuOkEoWCkscGFnZVVybDpobChyLGMpLHBhZ2VUaXRsZTpmbygpLmRvY3VtZW50LnRpdGxlLGRvbWFpbjpmbygpLmxvY2F0aW9uLmhvc3RuYW1lfHxgdW5rbm93bmAscmVmZXJlcjpmbygpLmRvY3VtZW50LnJlZmVycmVyLGJ1bmRsZVZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgfX0seWw9KGUsdCk9PntsZXR7aXNQcmV2aWV3TW9kZTpufT1WLmdldE9wdGlvbnMoKTshZSYmdCE9PUEoZmwpJiYhbiYmKGdsKCksQShYKSYmWC5zZXQoITEpKSxmbC5zZXQodCl9LGJsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09TygpO3JldHVybntzdWJzY3JpYmU6ZSxpbml0aWFsaXplOmU9PnQoZSl9fSkoKSx4bD1gRklMRWAsU2w9MmUzLENsPWU9PmUuc3BsaXQoYC9gKVswXT09PWBpbWFnZWAsd2w9ZT0+ISFlLm1hdGNoKC9edmlkZW9cLyg/Om1wNHx3ZWJtfG9nZyl7MX0kLyk7YXN5bmMgZnVuY3Rpb24gVGwoZSl7aWYoIUZpbGVSZWFkZXIpcmV0dXJuIGpvKGBGaWxlUmVhZGVyIG5vdCBzdXBwb3J0ZWRgKSxudWxsO2xldCB0PW5ldyBGaWxlUmVhZGVyO3JldHVybiBuZXcgUHJvbWlzZShuPT57dC5vbmxvYWQ9KCk9PntpZighdC5yZXN1bHQpe24obnVsbCk7cmV0dXJufW4odHlwZW9mIHQucmVzdWx0PT1gc3RyaW5nYCYmdC5yZXN1bHQuc3RhcnRzV2l0aChgZGF0YTppbWFnZWApP3QucmVzdWx0Om51bGwpfSx0Lm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIGxvYWQgaW1hZ2UgZGF0YWApLG4obnVsbCl9LHQucmVhZEFzRGF0YVVSTChlKX0pfWFzeW5jIGZ1bmN0aW9uIEVsKGUpe3JldHVybiBuZXcgUHJvbWlzZSh0PT57bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaW1nYCk7bi5vbmxvYWQ9KCk9Pnt0KHt3aWR0aDpuLndpZHRoLGhlaWdodDpuLmhlaWdodH0pfSxuLm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIG9idGFpbiBpbWFnZSBkaW1lbnNpb25zYCksdChudWxsKX0sbi5zcmM9ZX0pfWZ1bmN0aW9uIERsKGUpe3JldHVybntob3Jpem9udGFsOmUud2lkdGg+ZS5oZWlnaHQsdmVydGljYWw6ZS5oZWlnaHQ+ZS53aWR0aH19dmFyIE9sPWBhci5hei5iZy5ici5icy5jYS5jbi5jcy5kYS5kZS5lbC5lbi5lcy5ldC5mYS5maS5maWwuZnIuaGUuaGkuaHIuaHUuaXMuaXQuamEua2EubHQubHYubWsubmwubm8ucGwucHQucm8ucnUuc2suc2wuc3Iuc3YudGgudHIudHcudWtgLnNwbGl0KGAuYCksa2w9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLkZldGNoQWRhcHRlcj12b2lkIDA7dmFyIG49dChhYygpKTtlLkZldGNoQWRhcHRlcj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz17fSx0aGlzLm9wdGlvbnM9ZX1hc3luYyByZXF1ZXN0KGUsdCxyLGksYSl7bGV0IG89ey4uLnRoaXMub3B0aW9ucywuLi5hfSxzPWk/YD9gK24uZGVmYXVsdC5zdHJpbmdpZnkoaSk6YGA7dHJ5e2xldCBuPWF3YWl0IGZldGNoKGAke28uYmFzZVVSTHx8YGB9JHt0fSR7c31gLHttZXRob2Q6ZSxib2R5OnI/SlNPTi5zdHJpbmdpZnkocik6bnVsbCwuLi5vfSk7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxzdGF0dXNUZXh0Om4uc3RhdHVzVGV4dCxkYXRhOmF3YWl0IG4uanNvbigpLGhlYWRlcnM6Wy4uLm4uaGVhZGVycy5lbnRyaWVzKCldLnJlZHVjZSgoZSxbdCxuXSk9PihlW3RdPW4sZSkse30pfX1jYXRjaChlKXt0aHJvdyBlLmlzT3BlbkFwaUVycm9yPSEwLGV9fXdpdGhPcHRpb25zKHQpe3JldHVybiBuZXcgZSh0KX19fSkpLEFsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Qcm9qZWN0TmFtZT1lLkVycm9yQ29kZT12b2lkIDAsZS5FcnJvckNvZGU9e0JhZFJlcXVlc3Q6YGJhZF9yZXF1ZXN0YCxOb3RBbGxvd2VkOmBub3RfYWxsb3dlZGAsTm90Rm91bmQ6YG5vdF9mb3VuZGAsRm9yYmlkZGVuOmBmb3JiaWRkZW5gLFRvb01hbnlSZXF1ZXN0czpgdG9vX21hbnlfcmVxdWVzdHNgLFVuYXV0aG9yaXplZDpgdW5hdXRob3JpemVkYCxVbnByb2Nlc3NhYmxlOmB1bnByb2Nlc3NhYmxlYH0sZS5Qcm9qZWN0TmFtZT17V2lkZ2V0OmB3aWRnZXRgLENoYXRib3Q6YGNoYXRib3RgfX0pKSxqbD1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuVHJhbnNsYXRpb25zQ2xpZW50UmF3PWUuVHJhbnNsYXRpb25zQ2xpZW50PXZvaWQgMCxlLlRyYW5zbGF0aW9uc0NsaWVudD1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmFkYXB0ZXI9ZSx0aGlzLnJhdz1uZXcgdCh0aGlzLmFkYXB0ZXIpfWdldERlZmF1bHRzKGUsdCxyKXtyZXR1cm4gdGhpcy5hZGFwdGVyLnJlcXVlc3QoYGdldGAsYC8ke2V9L3RyYW5zbGF0aW9ucy9sYW5nLyR7dH0vZGVmYXVsdHNgLG51bGwsbnVsbCxyKS50aGVuKG4pfX07dmFyIHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5hZGFwdGVyPWV9Z2V0RGVmYXVsdHMoZSx0LG4pe3JldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChgZ2V0YCxgLyR7ZX0vdHJhbnNsYXRpb25zL2xhbmcvJHt0fS9kZWZhdWx0c2AsbnVsbCxudWxsLG4pfX07ZS5UcmFuc2xhdGlvbnNDbGllbnRSYXc9dDtmdW5jdGlvbiBuKGUpe3JldHVybiBlLmRhdGF9fSkpLE1sPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBUcmFuc2xhdGlvbnNDbGllbnRBcGk9dm9pZCAwO3ZhciB0PWpsKCksbj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMuYWRhcHRlcj1lLHRoaXMudHJhbnNsYXRpb25zPW5ldyB0LlRyYW5zbGF0aW9uc0NsaWVudChlKX13aXRoT3B0aW9ucyh0KXtyZXR1cm4gbmV3IGUodGhpcy5hZGFwdGVyLndpdGhPcHRpb25zKHQpKX19O2UuU21hcnRzdXBwVHJhbnNsYXRpb25zQ2xpZW50QXBpPW4sZS5kZWZhdWx0PW59KSksTmw9cygoZT0+e3ZhciB0PWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT8oZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9bik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOyghaXx8KGBnZXRgaW4gaT8hdC5fX2VzTW9kdWxlOmkud3JpdGFibGV8fGkuY29uZmlndXJhYmxlKSkmJihpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsaSl9KTooZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9biksZVtyXT10W25dfSkpLG49ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsbil7Zm9yKHZhciByIGluIGUpciE9PWBkZWZhdWx0YCYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiZ0KG4sZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLG4oQWwoKSxlKSxuKE1sKCksZSksbihqbCgpLGUpLGUuZGVmYXVsdD1NbCgpLlNtYXJ0c3VwcFRyYW5zbGF0aW9uc0NsaWVudEFwaX0pKSxQbD1rbCgpLEZsPU5sKCksSWw9ZT0+T2wuaW5jbHVkZXMoZSksTGw9ZT0+SWwoZSk/ZTpgZW5gLFJsPSgpPT57bGV0e2xhbmc6ZX09Vi5nZXRPcHRpb25zKCkse2xhbmc6dH09QShsYik7cmV0dXJuIExsKHQ/P2UpfTtmdW5jdGlvbiB6bCgpe3JldHVybiBuZXcgRmwuVHJhbnNsYXRpb25zQ2xpZW50KG5ldyBQbC5GZXRjaEFkYXB0ZXIoe2Jhc2VVUkw6YCR7Vi5nZXRPcHRpb25zKCkudHJhbnNsYXRpb25zQmFzZVVybH0vYXBpL3YxYH0pKX12YXIgQmw9YXN5bmMgZT0+emwoKS5nZXREZWZhdWx0cyhGbC5Qcm9qZWN0TmFtZS5XaWRnZXQsZSksVmw9KGUsdCk9PntsZXR7dHJhbnNsYXRlczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm57Li4uZSwuLi5uW3RdJiZuW3RdfX0sSGw9TyhgZW5gKSxVbD1PKHt9KSxXbD1hc3luYyBlPT57dHJ5e2xldCB0PVZsKGF3YWl0IEJsKGUpLGUpO1VsLnVwZGF0ZShuPT4oey4uLm4sW2VdOnR9KSl9Y2F0Y2h7am8oYEZldGNoIHRyYW5zbGF0aW9ucyBvZiAnJHtlfScgbGFuZ3VhZ2UgZmFpbGVkLmApfX0sR2w9YXN5bmMgZT0+e0EoVWwpW2VdfHxhd2FpdCBXbChlKSxIbC5zZXQoZSl9LEtsPWFzeW5jKCk9PntsZXQgZT1SbCgpO0hsLnNldChlKSxhd2FpdCBXbChlKX0scWw9ZT0+e2xldCB0PUEoSGwpLG49ey4uLkEoVWwpW3RdLC4uLmV9O1VsLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LEpsPShlLHQsbik9PntsZXQgcj1BKFVsKSxpPWB8JHt0fXxgO2lmKE9iamVjdC5rZXlzKHIpLmxlbmd0aD09PTApcmV0dXJuIGk7bGV0IGE9cltlXT8uW3RdfHxpO3JldHVybiBPYmplY3Qua2V5cyhuKS5tYXAoZT0+e2xldCB0PVJlZ0V4cChgeyR7ZX19YCxgZ2ApO2E9YS5yZXBsYWNlKHQsbltlXSl9KSxhfSxXPWsoW0hsLFVsXSwoW2VdKT0+KHQsbj17fSk9PkpsKGUsdCxuKSksWWw9KCgpPT57bGV0IGU9TyhbXSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lLHI9KCk9PkEoZSkubWFwKGU9PmUuZmlsZSksaT0odCxuKT0+KG58fEEoZSkpLmZpbmQoZT0+ZS5maWxlLm5hbWU9PT10KXx8bnVsbCxhPWU9Pih7ZmlsZTplLHByZXZpZXc6e30scHJldmlld1N0YXRlOmBub25lYCx1cGxvYWRTdGF0dXM6YG5vbmVgfSksbz1lPT57bGV0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXTtuKGU9PmUubGVuZ3RoK3QubGVuZ3RoPjU/KGdzKGAke0EoVykoYGZpbGVVcGxvYWQudG9vTWFueUZpbGVzYCl9IDVgKSxlKTpbLi4uZSwuLi50Lm1hcChhKV0pLG0odCl9LHM9ZT0+e24odD0+dC5maWx0ZXIodD0+dC5maWxlIT09ZSkpfSxjPSgpPT5BKGUpLmxlbmd0aCxsPSgpPT5jKCk+PTUsdT0oKT0+ZS5zZXQoW10pLGQ9KCk9PntlLnVwZGF0ZShlPT4oZS5mb3JFYWNoKGU9PmUudXBsb2FkU3RhdHVzPWBpbi1wcm9ncmVzc2ApLGUpKX0sZj10PT57ZS51cGRhdGUoZT0+e2xldCBuPWkodCxlKTtyZXR1cm4gbiYmKG4udXBsb2FkU3RhdHVzPWBkb25lYCksZX0pfSxwPWU9PmkoZS5uYW1lKT8ucHJldmlld1N0YXRlIT09YG5vbmVgLG09ZT0+e2UuZm9yRWFjaChlPT52b2lkIGgoZSkpfSxoPWFzeW5jIHQ9PntpZihwKHQpKXJldHVybjtsZXQgbj1hd2FpdCBUbCh0KSxyPW4/YXdhaXQgRWwobik6bnVsbCxhPXI/RGwocik6bnVsbDtlLnVwZGF0ZShlPT57bGV0IG89aSh0Lm5hbWUsZSk7cmV0dXJuIG8/KG8ucHJldmlld1N0YXRlPWByZWFkeWAsby5wcmV2aWV3PXtkYXRhOm4sZGltZW5zaW9uczpyLG9yaWVudGF0aW9uOmF9LFsuLi5lXSk6ZX0pfTtyZXR1cm57c3Vic2NyaWJlOnQsZ2V0RmlsZXM6cixmaW5kOmksYWRkOm8scmVtb3ZlOnMsY291bnQ6Yyxpc0xpbWl0UmVhY2hlZDpsLGNsZWFyOnUsc2V0VXBsb2FkaW5nU3RhdHVzOmQsc2V0RmlsZVVwbG9hZGVkOmZ9fSkoKSxYbD0oKCk9PntsZXQgZT1bXTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7cHVzaDp0PT57ZS5wdXNoKHQpfSxleGVjdXRlQWxsOigpPT57Zm9yKDtlLmxlbmd0aD4wOyl7bGV0IHQ9ZS5zaGlmdCgpO3QmJnQoKX19fSl9KSgpLFpsPSgpPT57bGV0e3dpZGdldFYzVXJsOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke2V9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1haS1pZGVudGl0eS5wbmdgfSxRbD1lPT4oey4uLmUsYXZhdGFyVXJsOmUuYXZhdGFyVXJsfHxabCgpfSksJGw9KCgpPT57bGV0e3VwZGF0ZTplLHN1YnNjcmliZTp0LHNldDpufT1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0SWRlbnRpdGllczplPT57bihybChgaWRgLGUubWFwKFFsKSkpfSxhZGRJZGVudGl0eTp0PT57ZShlPT4oey4uLmUsW3QuaWRdOnR9KSl9LHVwZGF0ZUlkZW50aXR5Oih0LG4pPT57ZShlPT5lW3RdP3suLi5lLFt0XTp7Li4uZVt0XSwuLi5ufX06ZSl9fX0pKCksRz1ubCgpLEs9dShNYygpLDEpLGV1PWU9Pnt2byhgaW5pdCBkYXRhYCxlKSxkbC5zZXQoITApLHlsKGUuY2hhdCxlLnNlc3Npb25JZCk7bGV0IHQ9ZS52aXNpdG9yLmlkO19sKHQpLG5zKGUudmlzaXRvci52aXNpdHMpLE11LnNldFZpc2l0b3JEYXRhKGUudmlzaXRvciksaG8oe3ZpZDp0fSksYmwuaW5pdGlhbGl6ZShlLmZpbGVVcGxvYWQpLG9zLnNldChlLmJyb3dzZXIpLEJ1LnNldEFnZW50cyhlLmFjY291bnQuYWdlbnRzKSwkbC5zZXRJZGVudGl0aWVzKGUuYWNjb3VudC5ib3RJZGVudGl0aWVzKSxlLmNoYXQ/LnZpcnR1YWxBZ2VudCE9PXZvaWQgMCYmQnUuc2V0VmlydHVhbEFnZW50KGUuY2hhdD8udmlydHVhbEFnZW50KSxpbC5zZXRHcm91cHMoZS5hY2NvdW50Lmdyb3VwcyksaGQoZS5hY2NvdW50LnN0YXR1cyksZS5jaGF0JiYocXAoKSYmaWQuc2V0KGUuY2hhdC5yYXRpbmdTdWdnZXN0ZWRUYXJnZXR8fG51bGwpLGVkLnNldChlLmNoYXQuc3RhdHVzKSxkZChlLmNoYXQuaXNDbG9zZWQpLHJkLnNldChlLmNoYXQudW5yZWFkSW5mby5sYXN0UmVhZEF0KSxKLnNldE1lc3NhZ2VzKGUuY2hhdC5tZXNzYWdlcy5maWx0ZXIoZT0+IVpmKGUpKSksR3Uuc2V0QXNzaWduZWRBZ2VudElkcyhlLmNoYXQuYXNzaWduZWRJZHM/P1tdKSxlLmNoYXQud2lkZ2V0T3B0aW9ucyYmWHUudXBkYXRlR2VuZXJhbE9wdGlvbnMoZS5jaGF0LndpZGdldE9wdGlvbnMpKSxDXy5zZXQoITApLHouZW1pdChgd2lkZ2V0SW5pdGAsITApLFhsLmV4ZWN1dGVBbGwoKX0sdHU9ZT0+e2NvbnNvbGUuZXJyb3IoZSl9LG51PSgpPT57ZGwuc2V0KCExKX0scnU9KHtjaGF0SWQ6ZX0pPT57TXAuc2V0KCExKSxhZC5zZXQoZSksZWQuc2V0KEsuQ2hhdFN0YXR1cy5PcGVuKSxYdS5zZXRNZXNzYWdlT3B0aW9ucyh7ZGlzYWJsZUF0dGFjaG1lbnRzOiExfSl9LGl1PSgpPT57ZWQuc2V0KEsuQ2hhdFN0YXR1cy5TZXJ2ZWQpLGRkKCExKX0sYXU9KHttZXNzYWdlOmV9KT0+e2xldHtjbG9zZVR5cGU6dCxhZ2VudElkOm59PWUuY29udGVudC5kYXRhOyh0PT09YGFnZW50X2Nsb3NlYHx8dD09PWBib3RfY2xvc2VgKSYmKEd1LnNldEFzc2lnbmVkQWdlbnRJZHMoW10pLGVkLnNldChLLkNoYXRTdGF0dXMuQ2xvc2VkKSxKLmFkZE1lc3NhZ2UoZSksei5lbWl0KGBjaGF0Q2xvc2VkYCxlKSx0PT09YGFnZW50X2Nsb3NlYCYmUW0obj9BKFZ1KG4pKT8uZnVsbG5hbWU6dm9pZCAwKSl9LG91PSh7bWVzc2FnZTplfSk9PntxcCgpJiZZcCh4cyksZGQoITAse2J5VmlzaXRvcjohMH0pLEouYWRkTWVzc2FnZShlKSx6LmVtaXQoYGNoYXRWaXNpdG9yQ2xvc2VkYCxlKSxabSgpfSxzdT0oe2NoYW5nZXM6ZX0pPT57ZS53aWRnZXRPcHRpb25zJiZYdS51cGRhdGVHZW5lcmFsT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLGUuaXNDbG9zZWQhPT12b2lkIDAmJmRkKGUuaXNDbG9zZWQpLGUudmlydHVhbEFnZW50IT09dm9pZCAwJiZCdS5zZXRWaXJ0dWFsQWdlbnQoZS52aXJ0dWFsQWdlbnQpfSxjdT1hc3luYyh7bWVzc2FnZTplfSk9PntpZihaZihlKSlyZXR1cm47bGV0IHQ9QSh6XykmJllmKGUpOyFBKFgpJiZRZihlKSYmIXQ/QXAoZSk6YXdhaXQgSi5hZGRNZXNzYWdlKGUpLF9kKCksZS53aWRnZXRPcHRpb25zJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLHQmJlVfKCksei5lbWl0KGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxsdT1lPT57Y3UoZSl9LHV1PSh7bWVzc2FnZUlkOmUsZGVsZXRlZEF0OnR9KT0+e0EoSilbZV0/LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNoYXRSZXNvbHZlP0ouZGVsZXRlTWVzc2FnZShlKTpKLm1hcmtNZXNzYWdlQXNEZWxldGVkKGUsdCl9LGR1PSh7bWVzc2FnZTplfSk9PntKLnJlcGxhY2VNZXNzYWdlKGUpLGUud2lkZ2V0T3B0aW9ucyYmZS5pZD09PUEoQnApJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpfSxmdT0oe21lc3NhZ2U6ZSxhZ2VudDp0fSk9PntHdS5hZGRBc3NpZ25lZEFnZW50SWQoZS5jb250ZW50LmRhdGEuYWdlbnRJZCksSi5hZGRNZXNzYWdlKGUpLHouZW1pdChgYWdlbnRKb2luZWRgLHQpfSxwdT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLmFnZW50SWQpLEouYWRkTWVzc2FnZShlKX0sbXU9KHttZXNzYWdlOmV9KT0+e0d1LmFkZEFzc2lnbmVkQWdlbnRJZChlLmNvbnRlbnQuZGF0YS5hc3NpZ25lZCksSi5hZGRNZXNzYWdlKGUpfSxodT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLnVuYXNzaWduZWQpLEouYWRkTWVzc2FnZShlKX0sZ3U9ZT0+eyFlLnR5cGluZy5pcyYmQShNcCl8fG5kLnNldChlLnR5cGluZy5pcyl9LF91PWU9PntyZC5zZXQoZS5sYXN0UmVhZEF0KX0sdnU9KHttZXNzYWdlOmUscmF0aW5nOnR9KT0+e0oudXBkYXRlTWVzc2FnZVJhdGluZyhlKSx6LmVtaXQoYGNoYXRSYXRlZGAsdCl9LHl1PWU9Pnt6LmVtaXQoYHRyYW5zY3JpcHRQZGZgLGUpfSxidT0oe2lkOmUsY2hhbmdlczp0fSk9PntCdS51cGRhdGVBZ2VudChlLHQpfSx4dT0oe2lkOmUsc3RhdHVzOnR9KT0+e0J1LnVwZGF0ZUFnZW50KGUse3N0YXR1czp0fSl9LFN1PSh7c3RhdHVzOmV9KT0+e2hkKGUpfSxDdT1lPT57TXUudXBkYXRlVmlzaXRvckRhdGEoZSl9LHd1PWU9Pnt6LmVtaXQoYGNvbnRhY3RBY3F1aXJlZGAsZSl9LFR1PWU9PnsocXAoKXx8SnAoKSkmJmlkLnNldChlLnJhdGluZ1N1Z2dlc3RlZFRhcmdldCl9LEV1PSgpPT57QShpZCkmJmlkLnNldChudWxsKX0sRHU9KHtpZDplLGlzQWN0aXZlOnR9KT0+eyRsLnVwZGF0ZUlkZW50aXR5KGUse2lzQWN0aXZlOnR9KX0sT3U9RGMoKSxrdT1hc3luYyBlPT57bGV0IHQ9YXdhaXQgVi5hd2FpdE9wdGlvbnMoKTtyZXR1cm4gbmV3IEsuV2Vic29ja2V0VmlzaXRvckNsaWVudCh7ZGF0YTplLGNvbm5lY3Rpb246e3VybDpwbCgpLHNvY2tldDp0Lm1vY2s/bmV3IE91LlNvY2tldE1vY2sodC5tb2NrKTp2b2lkIDAsYmFsYW5jZXJVcmw6dC5iYWxhbmNlclVybCxvcHRpb25zOntwYXRoOmAvc29ja2V0YCxhdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITB9fX0pfSxBdT0oKT0+e2xldCBlPW51bGwsdD0oKT0+ISFlLG49KCk9PntpZighZSl0aHJvdyBFcnJvcihgVmlzaXRvciBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LHI9YXN5bmMgdD0+e2U9YXdhaXQga3UoYXdhaXQgdmwodCkpLGUmJihqdShlKSxhd2FpdCBlLmNvbm5lY3QoKS5jYXRjaChlPT57am8oYEZhaWxlZCBjb25uZWN0IHRvIHNlcnZlci5gLGUpfSkpfTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7Z2V0Q2xpZW50Om4saW5pdENsaWVudDpyLHJlbG9hZENsaWVudDphc3luYyh0LG4pPT57YXdhaXQgZT8uZGlzY29ubmVjdCgpLHQmJlYudXBkYXRlT3B0aW9ucyh7bW9jazp0fSksYXdhaXQgcihuKX0saXNJbml0aWFsaXplZDp0fSl9LGp1PWU9PntlLm9uKGBpbml0aWFsaXplZGAsZXUpLGUub24oYGVycm9yYCx0dSksZS5vbihgZGlzY29ubmVjdGAsbnUpLGUub24oYGNoYXQub3BlbmVkYCxydSksZS5vbihgY2hhdC5zZXJ2ZWRgLGl1KSxlLm9uKGBjaGF0LmNsb3NlZGAsYXUpLGUub24oYGNoYXQudmlzaXRvcl9jbG9zZWRgLG91KSxlLm9uKGBjaGF0LnVwZGF0ZWRgLHN1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLGx1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGAsZHUpLGUub24oYGNoYXQubWVzc2FnZV9kZWxldGVkYCx1dSksZS5vbihgY2hhdC5hZ2VudF9qb2luZWRgLGZ1KSxlLm9uKGBjaGF0LmFnZW50X2xlZnRgLHB1KSxlLm9uKGBjaGF0LmFnZW50X2Fzc2lnbmVkYCxtdSksZS5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCxodSksZS5vbihgY2hhdC5hZ2VudF90eXBpbmdgLGd1KSxlLm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsX3UpLGUub24oYGNoYXQucmF0ZWRgLHZ1KSxlLm9uKGBjaGF0LnJhdGluZ19zdWdnZXN0ZWRgLFR1KSxlLm9uKGBjaGF0LnJhdGluZ19jYW5jZWxsZWRgLEV1KSxlLm9uKGBjaGF0LnRyYW5zY3JpcHRfcGRmYCx5dSksZS5vbihgYWdlbnQudXBkYXRlZGAsYnUpLGUub24oYGFnZW50LnN0YXR1c191cGRhdGVkYCx4dSksZS5vbihgYWNjb3VudC51cGRhdGVkYCxTdSksZS5vbihgdmlzaXRvci51cGRhdGVkYCxDdSksZS5vbihgY29udGFjdC5hY3F1aXJlZGAsd3UpLGUub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCxEdSl9LHE9QXUoKSxNdT0oKCk9PntsZXQgZT1PKG51bGwpLHtzdWJzY3JpYmU6dCxzZXQ6bix1cGRhdGU6cn09ZSxpPWU9PntuKGUpfSxhPWU9PntyKHQ9PnQ/ey4uLnQsLi4uZX06bnVsbCl9LG89KGUsdCk9Pnt0cnl7cS5nZXRDbGllbnQoKS51cGRhdGUoe1tlXTp0fSl9Y2F0Y2godCl7am8oYFVwZGF0ZSBvZiB2aXNpdG9yIHByb3BlcnR5ICcke2V9JyBmYWlsZWQuYCxTdHJpbmcodCkpfX07cmV0dXJue3N1YnNjcmliZTp0LHNldFZpc2l0b3JEYXRhOmksdXBkYXRlVmlzaXRvckRhdGE6YSx1cGRhdGVWaXNpdG9yUHJvcGVydHk6KGUsdCk9PntpZighQShDXykpe3ViKGUsdCk7cmV0dXJufWEoe1tlXTp0fSksbyhlLHQpfSx1cGRhdGVWaXNpdG9yVmFyaWFibGVzOnQ9PntpZighQShDXykpe3ViKGB2YXJpYWJsZXNgLHQpO3JldHVybn1sZXQgbj1BKGUpO2lmKCFuKXJldHVybjtsZXQgcj1uLnZhcmlhYmxlczthKHt2YXJpYWJsZXM6ey4uLnIsLi4udH19KTtsZXQgaT17fTtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9Pnt0W2VdIT09cltlXSYmKGk9ey4uLmksW2VdOnRbZV19KX0pLE9iamVjdC5rZXlzKGkpLmxlbmd0aCE9PTAmJm8oYHZhcmlhYmxlc2AsaSl9LHVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YTp0PT57aWYoIUEoQ18pKXt1YihgY29udGFjdERhdGFgLHtwcm9wZXJ0aWVzOnR9KTtyZXR1cm59bGV0IG49QShlKTtpZighbilyZXR1cm47bGV0IHI9bj8uY29udGFjdERhdGE/LnByb3BlcnRpZXM7YSh7dmFyaWFibGVzOnsuLi5yLC4uLnR9fSk7bGV0IGk9e307T2JqZWN0LmtleXModCkuZm9yRWFjaChlPT57KCFyfHx0W2VdIT09cltlXSkmJihpPXsuLi5pLFtlXTp0W2VdfSl9KSxPYmplY3Qua2V5cyhpKS5sZW5ndGghPT0wJiZvKGBjb250YWN0RGF0YWAse3Byb3BlcnRpZXM6dH0pfX19KSgpLE51PShlLHQpPT5lLmhhc093blByb3BlcnR5KHQpLFB1PWU9PnR5cGVvZiBlPT1gYm9vbGVhbmAsRnU9ZT0+dHlwZW9mIGU9PWBudW1iZXJgLEl1PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxMdT1lPT50eXBlb2YgZT09YHN0cmluZ2B8fGUgaW5zdGFuY2VvZiBTdHJpbmcsUnU9ZT0+THUoZSl8fEZ1KGUpfHxQdShlKSx6dT1lPT57bGV0IHQ9e307cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+e2xldCByPWVbbl07UnUocik/dFtuXT1yOkl1KHIpJiZOdShyLGB2YWx1ZWApJiZSdShyLnZhbHVlKSYmKHRbbl09ci52YWx1ZSl9KSx0fSxCdT0oKCk9PntsZXR7dXBkYXRlOmUsc3Vic2NyaWJlOnQsc2V0Om59PU8oe30pO3JldHVybntzdWJzY3JpYmU6dCxzZXRBZ2VudHM6ZT0+e24ocmwoYGlkYCxlKSl9LGFkZEFnZW50OnQ9PntlKGU9Pih7Li4uZSxbdC5pZF06dH0pKX0sdXBkYXRlQWdlbnQ6KHQsbik9PntlKGU9PmVbdF0/ey4uLmUsW3RdOnsuLi5lW3RdLC4uLm59fTplKX0sc2V0VmlydHVhbEFnZW50OnQ9PntsZXR7ZGVzY3JpcHRpb246bixhdmF0YXI6cixuYW1lOml9PXQsYT17fTtuJiYoYS5kZXNjcmlwdGlvbj1uKSxyJiYoYS5hdmF0YXI9ciksaSYmKGEuZnVsbG5hbWU9aSksZShlPT4oT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57ZVt0XT17Li4uZVt0XSwuLi5hfX0pLGUpKX19fSkoKSxWdT1lPT5rKFtCdV0sKFt0XSk9PnRbZV0/P251bGwpLEh1PWsoW2soW0J1XSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+IWUuZGlzYWJsZWQpKSxNdV0sKFtlLHRdKT0+e2xldCBuPXQ/Lmdyb3VwO3JldHVybiFufHxuPT09YGRlZmF1bHRgP2U6ZS5maWx0ZXIoZT0+ZS5ncm91cHMubGVuZ3RoPT09MHx8ZS5ncm91cHMuaW5jbHVkZXMobikpfSksVXU9ayhbSHVdLChbZV0pPT5lLmZpbHRlcihlPT5lLnN0YXR1cz09PUsuQWdlbnRTdGF0dXMuT25saW5lKSksV3U9ZT0+e2lmKGUpcmV0dXJuYCR7ZX0/c2l6ZT04MGA7bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1hdmF0YXIucG5nYH0sR3U9KCgpPT57bGV0e3N1YnNjcmliZTplLHNldDp0LHVwZGF0ZTpufT1PKFtdKTtyZXR1cm57c3Vic2NyaWJlOmUsc2V0QXNzaWduZWRBZ2VudElkczplPT57dChlKX0sYWRkQXNzaWduZWRBZ2VudElkOmU9PntuKHQ9PlsuLi5uZXcgU2V0KFsuLi50LGVdKV0pfSxyZW1vdmVBc3NpZ25lZEFnZW50SWQ6ZT0+e24odD0+dC5maWx0ZXIodD0+dCE9PWUpKX0sY2xlYXJBc3NpZ25lZEFnZW50SWRzOigpPT57dChbXSl9fX0pKCksS3U9ayhbR3UsQnVdLChbZSx0XSk9PmUubWFwKGU9PnRbZV0pLmZpbHRlcihCb29sZWFuKSkscXU9ayhbS3VdLChbZV0pPT5lLmxlbmd0aD4wKSxKdT1rKFtLdV0sKFtlXSk9PmUuZmlsdGVyKGU9PiFlLmRpc2FibGVkKSksWXU9ayhbS3VdLChbZV0pPT5lLnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLFh1PSgoKT0+e2xldCBlPU8oe2Rpc2FibGVBdHRhY2htZW50czohMSxkaXNhYmxlQXV0aGVudGljYXRpb246ITEsZGlzYWJsZUlucHV0OiExfSksdD1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOmsoW2UsdF0sKFtlLHRdKT0+KHsuLi5lLC4uLnR9KSkuc3Vic2NyaWJlLHVwZGF0ZUdlbmVyYWxPcHRpb25zOnQ9PntlLnVwZGF0ZShlPT4oey4uLmUsLi4udH0pKX0sc2V0TWVzc2FnZU9wdGlvbnM6ZT0+e3Quc2V0KGUpfX19KSgpLFp1PWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXR0YWNobWVudHMpLFF1PWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3Blbj0wXT1gT3BlbmAsZVtlLkNsb3NlZD0xXT1gQ2xvc2VkYCxlW2UuQ2xvc2VkQnlWaXNpdG9yPTJdPWBDbG9zZWRCeVZpc2l0b3JgLGV9KHt9KSwkdT1PKEsuQWNjb3VudFN0YXR1cy5PZmZsaW5lKSxlZD1PKG51bGwpLHRkPU8oUXUuT3BlbiksbmQ9TyghMSkscmQ9TyhudWxsKSxpZD1PKG51bGwpLGFkPU8oYGApLG9kPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5QZW5kaW5nKTtrKFtlZF0sKFtlXSk9PmUhPT1udWxsKTt2YXIgc2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLlNlcnZlZCksY2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLk9wZW4pLGxkPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5DbG9zZWQpLHVkPWsoW3NkLHRkXSwoW2UsdF0pPT5lJiZ0PT09UXUuT3BlbiksZGQ9KGUse2J5VmlzaXRvcjp0PSExfT17fSk9PntlP3RkLnNldCh0P1F1LkNsb3NlZEJ5VmlzaXRvcjpRdS5DbG9zZWQpOnRkLnNldChRdS5PcGVuKX0sZmQ9ayhbJHUsSnVdLChbZSx0XSk9PnQubGVuZ3RoPT09MD9lPT09Sy5BY2NvdW50U3RhdHVzLk9ubGluZTp0LnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLHBkPWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXV0aGVudGljYXRpb24pLG1kPSgpPT57bmQuc2V0KCExKSxlZC5zZXQobnVsbCksZGQoITEpLHJkLnNldChudWxsKX0saGQ9ZT0+e2U9PT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZVdpdGhBST8kdS5zZXQoSy5BY2NvdW50U3RhdHVzLk9ubGluZSk6JHUuc2V0KGUpfSxnZD0oKT0+e3JkLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLHEuZ2V0Q2xpZW50KCkuY2hhdFJlYWQoKX0sX2Q9KCk9PntsZXQgZT1wbygpLnZpc2liaWxpdHlTdGF0ZT09PWB2aXNpYmxlYDshQShMcCl8fCFBKFgpfHwhZXx8IUEoTl8pfHxnZCgpfSx2ZD1lPT4oey4uLlNzLGNoYXRJZDpBKGFkKSxjcmVhdGVkQXQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGNvbnRlbnQ6ey4uLlNzLmNvbnRlbnQsZGF0YTp7dGFyZ2V0OmV9fX0pLHlkPSgpPT57ZGQoITAse2J5VmlzaXRvcjohMH0pLHEuZ2V0Q2xpZW50KCkuY2hhdENsb3NlKCksVmMoKSxxcCgpfHxXXygpfSxiZD1hc3luYyBlPT57YXdhaXQgSi5hZGRNZXNzYWdlKHZkKGUpKX0seGQ9KCk9PntKLmRlbGV0ZU1lc3NhZ2UoeHMpfTtmdW5jdGlvbiBTZChlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6ZVtlLmxlbmd0aC0xXX12YXIgQ2Q9ZT0+ZS5zbGljZSgoZS5sYXN0SW5kZXhPZihgLmApLTE+Pj4wKSsyKS50b0xvd2VyQ2FzZSgpLHdkPWU9PntsZXQgdD1lLG49MCxyPVtgQmAsYEtCYCxgTUJgLGBHQmBdO2Zvcig7dD49MTAyNCYmbjxyLmxlbmd0aC0xOyl0Lz0xMDI0LG4rKztyZXR1cm57c2l6ZTpNYXRoLmZsb29yKHQpLHVuaXQ6cltuXX19LFRkPWU9PntsZXQgdD1TZChlLnNwbGl0KGAuYCkpO3JldHVybiB0P3QudG9VcHBlckNhc2UoKTp4bH0sRWQ9KGUsdCk9PmAke2V9P25hbWU9JHt0fWAsRGQ9YXN5bmMoZSx0KT0+e2xldCBuPXEuZ2V0Q2xpZW50KCkscj1bXTtmb3IobGV0e2ZpbGU6aX1vZiBlKXtsZXQgZT1hd2FpdCBuLmNoYXRVcGxvYWRJbml0KCksYT1uZXcgRm9ybURhdGE7YS5hcHBlbmQoYGZpbGVgLGksaS5uYW1lKTt0cnl7aWYoIShhd2FpdCBmZXRjaChlLnVybCx7bWV0aG9kOmBwb3N0YCxib2R5OmF9KSkub2spdGhyb3cgRXJyb3IoYFVwbG9hZCBmYWlsZWRgKTtyLnB1c2goZS50b2tlbil9Y2F0Y2h7am8oYEZpbGUgWyR7aS5uYW1lfV0gdXBsb2FkIGZhaWxlZGApLGdzKEEoVykoYGZpbGVVcGxvYWQuZmlsZXNXZXJlbnRQcm9jZXNzZWRgKSl9ZmluYWxseXt0KGkpfX1yZXR1cm4gcn0sT2Q9YXN5bmMgZT0+e2xldCB0PXEuZ2V0Q2xpZW50KCk7dHJ5e2F3YWl0IHQuY2hhdFVwbG9hZEZpbmlzaChlKX1jYXRjaHtqbyhgRmFpbGVkIHRvIGZpbmlzaCBmaWxlIHVwbG9hZCBmb3IgJHtlfWApfX0sa2Q9MWUzLEFkPTZlNCxqZD0zNmU1LE1kPTg2NGU1LE5kPTI2MjhlNixQZD0zMTUzNmU2LEZkPWU9Pk1hdGguZmxvb3IoZS9BZCkqQWQsSWQ9KGUsdCk9PkZkKG5ldyBEYXRlKGUpLmdldFRpbWUoKSk9PT1GZChuZXcgRGF0ZSh0KS5nZXRUaW1lKCkpLExkPShlLHQpPT57bGV0IG49bmV3IERhdGUoZSkscj1uZXcgRGF0ZSh0KTtyZXR1cm4gbi5nZXREYXRlKCk9PT1yLmdldERhdGUoKSYmbi5nZXRNb250aCgpPT09ci5nZXRNb250aCgpJiZuLmdldEZ1bGxZZWFyKCk9PT1yLmdldEZ1bGxZZWFyKCl9LFJkPShlLHQpPT5lLmdldFRpbWUoKS10LmdldFRpbWUoKSx6ZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxCZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3llYXI6YG51bWVyaWNgLG1vbnRoOmBudW1lcmljYCxkYXk6YG51bWVyaWNgLGhvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxWZD1lPT5MZChuZXcgRGF0ZSxlKT96ZDpCZCxIZD0oKT0+dHlwZW9mIEludGw8YHVgJiZgUmVsYXRpdmVUaW1lRm9ybWF0YGluIEludGwsVWQ9ZT0+SGQoKT9uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQoZSx7bnVtZXJpYzpgYXV0b2B9KTpudWxsLFdkPVt7dW5pdDpgeWVhcmAsYW1vdW50OlBkfSx7dW5pdDpgbW9udGhgLGFtb3VudDpOZH0se3VuaXQ6YGRheWAsYW1vdW50Ok1kfSx7dW5pdDpgaG91cmAsYW1vdW50OmpkfSx7dW5pdDpgbWludXRlYCxhbW91bnQ6QWR9LHt1bml0OmBzZWNvbmRgLGFtb3VudDprZH1dLEdkPShlLHQpPT57bGV0IG49VWQodCk7aWYoIW4pcmV0dXJuIEgoYFJlbGF0aXZlIHRpbWUgZm9ybWF0IG5vdCBzdXBwb3J0ZWRgKSxgYDtmb3IobGV0e3VuaXQ6dCxhbW91bnQ6cn1vZiBXZCl7aWYodD09PWBzZWNvbmRgKXJldHVybiBuLmZvcm1hdCgwLGBzZWNvbmRgKTtpZihNYXRoLmFicyhlKT5yKXJldHVybiBuLmZvcm1hdChNYXRoLnJvdW5kKGUvciksdCl9cmV0dXJuYGB9LEtkPShlLHQ9MzAwKT0+e2xldCBuO3JldHVybiguLi5yKT0+e258fD0oZSguLi5yKSxzZXRUaW1lb3V0KCgpPT5uPW51bGwsdCkpfX0scWQ9L1tcMC1cdUQ3RkZcdUUwMDAtXHVGRkZGXXxbXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl18W1x1RDgwMC1cdURCRkZdKD8hW1x1REMwMC1cdURGRkZdKXwoPzpbXlx1RDgwMC1cdURCRkZdfF4pW1x1REMwMC1cdURGRkZdLyxKZD0vW1wwLVx4MUZceDdGLVx4OUZdLyxZZD0vWyEtIyUtXCosLVwvOjtcP0BcWy1cXV9ce1x9XHhBMVx4QTdceEFCXHhCNlx4QjdceEJCXHhCRlx1MDM3RVx1MDM4N1x1MDU1QS1cdTA1NUZcdTA1ODlcdTA1OEFcdTA1QkVcdTA1QzBcdTA1QzNcdTA1QzZcdTA1RjNcdTA1RjRcdTA2MDlcdTA2MEFcdTA2MENcdTA2MERcdTA2MUJcdTA2MUQtXHUwNjFGXHUwNjZBLVx1MDY2RFx1MDZENFx1MDcwMC1cdTA3MERcdTA3RjctXHUwN0Y5XHUwODMwLVx1MDgzRVx1MDg1RVx1MDk2NFx1MDk2NVx1MDk3MFx1MDlGRFx1MEE3Nlx1MEFGMFx1MEM3N1x1MEM4NFx1MERGNFx1MEU0Rlx1MEU1QVx1MEU1Qlx1MEYwNC1cdTBGMTJcdTBGMTRcdTBGM0EtXHUwRjNEXHUwRjg1XHUwRkQwLVx1MEZENFx1MEZEOVx1MEZEQVx1MTA0QS1cdTEwNEZcdTEwRkJcdTEzNjAtXHUxMzY4XHUxNDAwXHUxNjZFXHUxNjlCXHUxNjlDXHUxNkVCLVx1MTZFRFx1MTczNVx1MTczNlx1MTdENC1cdTE3RDZcdTE3RDgtXHUxN0RBXHUxODAwLVx1MTgwQVx1MTk0NFx1MTk0NVx1MUExRVx1MUExRlx1MUFBMC1cdTFBQTZcdTFBQTgtXHUxQUFEXHUxQjVBLVx1MUI2MFx1MUI3RFx1MUI3RVx1MUJGQy1cdTFCRkZcdTFDM0ItXHUxQzNGXHUxQzdFXHUxQzdGXHUxQ0MwLVx1MUNDN1x1MUNEM1x1MjAxMC1cdTIwMjdcdTIwMzAtXHUyMDQzXHUyMDQ1LVx1MjA1MVx1MjA1My1cdTIwNUVcdTIwN0RcdTIwN0VcdTIwOERcdTIwOEVcdTIzMDgtXHUyMzBCXHUyMzI5XHUyMzJBXHUyNzY4LVx1Mjc3NVx1MjdDNVx1MjdDNlx1MjdFNi1cdTI3RUZcdTI5ODMtXHUyOTk4XHUyOUQ4LVx1MjlEQlx1MjlGQ1x1MjlGRFx1MkNGOS1cdTJDRkNcdTJDRkVcdTJDRkZcdTJENzBcdTJFMDAtXHUyRTJFXHUyRTMwLVx1MkU0Rlx1MkU1Mi1cdTJFNURcdTMwMDEtXHUzMDAzXHUzMDA4LVx1MzAxMVx1MzAxNC1cdTMwMUZcdTMwMzBcdTMwM0RcdTMwQTBcdTMwRkJcdUE0RkVcdUE0RkZcdUE2MEQtXHVBNjBGXHVBNjczXHVBNjdFXHVBNkYyLVx1QTZGN1x1QTg3NC1cdUE4NzdcdUE4Q0VcdUE4Q0ZcdUE4RjgtXHVBOEZBXHVBOEZDXHVBOTJFXHVBOTJGXHVBOTVGXHVBOUMxLVx1QTlDRFx1QTlERVx1QTlERlx1QUE1Qy1cdUFBNUZcdUFBREVcdUFBREZcdUFBRjBcdUFBRjFcdUFCRUJcdUZEM0VcdUZEM0ZcdUZFMTAtXHVGRTE5XHVGRTMwLVx1RkU1Mlx1RkU1NC1cdUZFNjFcdUZFNjNcdUZFNjhcdUZFNkFcdUZFNkJcdUZGMDEtXHVGRjAzXHVGRjA1LVx1RkYwQVx1RkYwQy1cdUZGMEZcdUZGMUFcdUZGMUJcdUZGMUZcdUZGMjBcdUZGM0ItXHVGRjNEXHVGRjNGXHVGRjVCXHVGRjVEXHVGRjVGLVx1RkY2NV18XHVEODAwW1x1REQwMC1cdUREMDJcdURGOUZcdURGRDBdfFx1RDgwMVx1REQ2RnxcdUQ4MDJbXHVEQzU3XHVERDFGXHVERDNGXHVERTUwLVx1REU1OFx1REU3Rlx1REVGMC1cdURFRjZcdURGMzktXHVERjNGXHVERjk5LVx1REY5Q118XHVEODAzW1x1REVBRFx1REY1NS1cdURGNTlcdURGODYtXHVERjg5XXxcdUQ4MDRbXHVEQzQ3LVx1REM0RFx1RENCQlx1RENCQ1x1RENCRS1cdURDQzFcdURENDAtXHVERDQzXHVERDc0XHVERDc1XHVEREM1LVx1RERDOFx1RERDRFx1REREQlx1RERERC1cdUREREZcdURFMzgtXHVERTNEXHVERUE5XXxcdUQ4MDVbXHVEQzRCLVx1REM0Rlx1REM1QVx1REM1Qlx1REM1RFx1RENDNlx1RERDMS1cdURERDdcdURFNDEtXHVERTQzXHVERTYwLVx1REU2Q1x1REVCOVx1REYzQy1cdURGM0VdfFx1RDgwNltcdURDM0JcdURENDQtXHVERDQ2XHVEREUyXHVERTNGLVx1REU0Nlx1REU5QS1cdURFOUNcdURFOUUtXHVERUEyXHVERjAwLVx1REYwOV18XHVEODA3W1x1REM0MS1cdURDNDVcdURDNzBcdURDNzFcdURFRjdcdURFRjhcdURGNDMtXHVERjRGXHVERkZGXXxcdUQ4MDlbXHVEQzcwLVx1REM3NF18XHVEODBCW1x1REZGMVx1REZGMl18XHVEODFBW1x1REU2RVx1REU2Rlx1REVGNVx1REYzNy1cdURGM0JcdURGNDRdfFx1RDgxQltcdURFOTctXHVERTlBXHVERkUyXXxcdUQ4MkZcdURDOUZ8XHVEODM2W1x1REU4Ny1cdURFOEJdfFx1RDgzQVtcdURENUVcdURENUZdLyxYZD0vWyBceEEwXHUxNjgwXHUyMDAwLVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMF0vO2Z1bmN0aW9uIFpkKGUpe2xldCB0PXt9O2V8fD17fSx0LnNyY19Bbnk9cWQuc291cmNlLHQuc3JjX0NjPUpkLnNvdXJjZSx0LnNyY19aPVhkLnNvdXJjZSx0LnNyY19QPVlkLnNvdXJjZSx0LnNyY19aUENjPVt0LnNyY19aLHQuc3JjX1AsdC5zcmNfQ2NdLmpvaW4oYHxgKSx0LnNyY19aQ2M9W3Quc3JjX1osdC5zcmNfQ2NdLmpvaW4oYHxgKTtsZXQgbj1gWz48772cXWA7cmV0dXJuIHQuc3JjX3BzZXVkb19sZXR0ZXI9YCg/Oig/IWArbitgfGArdC5zcmNfWlBDYytgKWArdC5zcmNfQW55K2ApYCx0LnNyY19pcDQ9YCg/OigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pYCx0LnNyY19hdXRoPWAoPzooPzooPyFgK3Quc3JjX1pDYytgfFtAL1xcW1xcXSgpXSkuKStAKT9gLHQuc3JjX3BvcnQ9YCg/OjooPzo2KD86WzAtNF1cXGR7M318NSg/OlswLTRdXFxkezJ9fDUoPzpbMC0yXVxcZHwzWzAtNV0pKSl8WzEtNV0/XFxkezEsNH0pKT9gLHQuc3JjX2hvc3RfdGVybWluYXRvcj1gKD89JHxgK24rYHxgK3Quc3JjX1pQQ2MrYCkoPyFgKyhlW2AtLS1gXT9gLSg/IS0tKXxgOmAtfGApK2BffDpcXGR8XFwuLXxcXC4oPyEkfGArdC5zcmNfWlBDYytgKSlgLHQuc3JjX3BhdGg9YCg/OlsvPyNdKD86KD8hYCt0LnNyY19aQ2MrYHxbPjzvvZxdfFsoKVtcXF17fS4sIic/IVxcLTtdKS58XFxbKD86KD8hYCt0LnNyY19aQ2MrYHxcXF0pLikqXFxdfFxcKCg/Oig/IWArdC5zcmNfWkNjK2B8WyldKS4pKlxcKXxcXHsoPzooPyFgK3Quc3JjX1pDYytgfFt9XSkuKSpcXH18XFwiKD86KD8hYCt0LnNyY19aQ2MrYHxbIl0pLikrXFwifFxcJyg/Oig/IWArdC5zcmNfWkNjK2B8WyddKS4pK1xcJ3xcXCcoPz1gK3Quc3JjX3BzZXVkb19sZXR0ZXIrYHxbLV0pfFxcLnsyLH1bYS16QS1aMC05JS8mXXxcXC4oPyFgK3Quc3JjX1pDYytgfFsuXXwkKXxgKyhlW2AtLS1gXT9gXFwtKD8hLS0oPzpbXi1dfCQpKSg/Oi0qKXxgOmBcXC0rfGApK2AsKD8hYCt0LnNyY19aQ2MrYHwkKXw7KD8hYCt0LnNyY19aQ2MrYHwkKXxcXCErKD8hYCt0LnNyY19aQ2MrYHxbIV18JCl8XFw/KD8hYCt0LnNyY19aQ2MrYHxbP118JCkpK3xcXC8pP2AsdC5zcmNfZW1haWxfbmFtZT1gW1xcLTs6Jj1cXCtcXCQsXFwuYS16QS1aMC05X11bXFwtOzomPVxcK1xcJCxcXCJcXC5hLXpBLVowLTlfXSpgLHQuc3JjX3huPWB4bi0tW2EtejAtOVxcLV17MSw1OX1gLHQuc3JjX2RvbWFpbl9yb290PWAoPzpgK3Quc3JjX3huK2B8YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2B7MSw2M30pYCx0LnNyY19kb21haW49YCg/OmArdC5zcmNfeG4rYHwoPzpgK3Quc3JjX3BzZXVkb19sZXR0ZXIrYCl8KD86YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2AoPzotfGArdC5zcmNfcHNldWRvX2xldHRlcitgKXswLDYxfWArdC5zcmNfcHNldWRvX2xldHRlcitgKSlgLHQuc3JjX2hvc3Q9YCg/Oig/Oig/Oig/OmArdC5zcmNfZG9tYWluK2ApXFwuKSpgK3Quc3JjX2RvbWFpbitgKSlgLHQudHBsX2hvc3RfZnV6enk9YCg/OmArdC5zcmNfaXA0K2B8KD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpKWAsdC50cGxfaG9zdF9ub19pcF9mdXp6eT1gKD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpYCx0LnNyY19ob3N0X3N0cmljdD10LnNyY19ob3N0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnNyY19ob3N0X3BvcnRfc3RyaWN0PXQuc3JjX2hvc3QrdC5zcmNfcG9ydCt0LnNyY19ob3N0X3Rlcm1pbmF0b3IsdC50cGxfaG9zdF9wb3J0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX3BvcnQrdC5zcmNfaG9zdF90ZXJtaW5hdG9yLHQudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3Q9dC50cGxfaG9zdF9ub19pcF9mdXp6eSt0LnNyY19wb3J0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3Rlc3Q9YGxvY2FsaG9zdHx3d3dcXC58XFwuXFxkezEsM31cXC58KD86XFwuKD86JVRMRFMlKSg/OmArdC5zcmNfWlBDYytgfD58JCkpYCx0LnRwbF9lbWFpbF9mdXp6eT1gKF58YCtuK2B8InxcXCh8YCt0LnNyY19aQ2MrYCkoYCt0LnNyY19lbWFpbF9uYW1lK2BAYCt0LnRwbF9ob3N0X2Z1enp5X3N0cmljdCtgKWAsdC50cGxfbGlua19mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdC50cGxfbGlua19ub19pcF9mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdH1mdW5jdGlvbiBRZChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLmZvckVhY2goZnVuY3Rpb24odCl7dCYmT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtlW25dPXRbbl19KX0pLGV9ZnVuY3Rpb24gJGQoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBlZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBTdHJpbmddYH1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBPYmplY3RdYH1mdW5jdGlvbiBuZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBSZWdFeHBdYH1mdW5jdGlvbiByZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBGdW5jdGlvbl1gfWZ1bmN0aW9uIGFmKGUpe3JldHVybiBlLnJlcGxhY2UoL1suPyorXiRbXF1cXCgpe318LV0vZyxgXFwkJmApfXZhciBvZj17ZnV6enlMaW5rOiEwLGZ1enp5RW1haWw6ITAsZnV6enlJUDohMX07ZnVuY3Rpb24gc2YoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGV8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZXx8b2YuaGFzT3duUHJvcGVydHkodCl9LCExKX12YXIgY2Y9eyJodHRwOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLmh0dHB8fChuLnJlLmh0dHA9UmVnRXhwKGBeXFwvXFwvYCtuLnJlLnNyY19hdXRoK24ucmUuc3JjX2hvc3RfcG9ydF9zdHJpY3Qrbi5yZS5zcmNfcGF0aCxgaWApKSxuLnJlLmh0dHAudGVzdChyKT9yLm1hdGNoKG4ucmUuaHR0cClbMF0ubGVuZ3RoOjB9fSwiaHR0cHM6IjpgaHR0cDpgLCJmdHA6IjpgaHR0cDpgLCIvLyI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm5vX2h0dHB8fChuLnJlLm5vX2h0dHA9UmVnRXhwKGBeYCtuLnJlLnNyY19hdXRoK2AoPzpsb2NhbGhvc3R8KD86KD86YCtuLnJlLnNyY19kb21haW4rYClcXC4pK2Arbi5yZS5zcmNfZG9tYWluX3Jvb3QrYClgK24ucmUuc3JjX3BvcnQrbi5yZS5zcmNfaG9zdF90ZXJtaW5hdG9yK24ucmUuc3JjX3BhdGgsYGlgKSksbi5yZS5ub19odHRwLnRlc3Qocik/dD49MyYmZVt0LTNdPT09YDpgfHx0Pj0zJiZlW3QtM109PT1gL2A/MDpyLm1hdGNoKG4ucmUubm9faHR0cClbMF0ubGVuZ3RoOjB9fSwibWFpbHRvOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm1haWx0b3x8KG4ucmUubWFpbHRvPVJlZ0V4cChgXmArbi5yZS5zcmNfZW1haWxfbmFtZStgQGArbi5yZS5zcmNfaG9zdF9zdHJpY3QsYGlgKSksbi5yZS5tYWlsdG8udGVzdChyKT9yLm1hdGNoKG4ucmUubWFpbHRvKVswXS5sZW5ndGg6MH19fSxsZj1gYVtjZGVmZ2lsbW5vcXJzdHV3eHpdfGJbYWJkZWZnaGlqbW5vcnN0dnd5el18Y1thY2RmZ2hpa2xtbm9ydXZ3eHl6XXxkW2Vqa21vel18ZVtjZWdyc3R1XXxmW2lqa21vcl18Z1thYmRlZmdoaWxtbnBxcnN0dXd5XXxoW2ttbnJ0dV18aVtkZWxtbm9xcnN0XXxqW2Vtb3BdfGtbZWdoaW1ucHJ3eXpdfGxbYWJjaWtyc3R1dnldfG1bYWNkZWdoa2xtbm9wcXJzdHV2d3h5el18blthY2VmZ2lsb3BydXpdfG9tfHBbYWVmZ2hrbG1ucnN0d3ldfHFhfHJbZW9zdXddfHNbYWJjZGVnaGlqa2xtbm9ydHV2eHl6XXx0W2NkZmdoamtsbW5vcnR2d3pdfHVbYWdrc3l6XXx2W2FjZWdpbnVdfHdbZnNdfHlbZXRdfHpbYW13XWAsdWY9YGJpenxjb218ZWR1fGdvdnxuZXR8b3JnfHByb3x3ZWJ8eHh4fGFlcm98YXNpYXxjb29wfGluZm98bXVzZXVtfG5hbWV8c2hvcHzRgNGEYC5zcGxpdChgfGApO2Z1bmN0aW9uIGRmKGUpe2UuX19pbmRleF9fPS0xLGUuX190ZXh0X2NhY2hlX189YGB9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7bGV0IHI9dC5zbGljZShuKTtyZXR1cm4gZS50ZXN0KHIpP3IubWF0Y2goZSlbMF0ubGVuZ3RoOjB9fWZ1bmN0aW9uIHBmKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dC5ub3JtYWxpemUoZSl9fWZ1bmN0aW9uIG1mKGUpe2xldCB0PWUucmU9WmQoZS5fX29wdHNfXyksbj1lLl9fdGxkc19fLnNsaWNlKCk7ZS5vbkNvbXBpbGUoKSxlLl9fdGxkc19yZXBsYWNlZF9ffHxuLnB1c2gobGYpLG4ucHVzaCh0LnNyY194biksdC5zcmNfdGxkcz1uLmpvaW4oYHxgKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLnJlcGxhY2UoYCVUTERTJWAsdC5zcmNfdGxkcyl9dC5lbWFpbF9mdXp6eT1SZWdFeHAocih0LnRwbF9lbWFpbF9mdXp6eSksYGlgKSx0LmxpbmtfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19mdXp6eSksYGlgKSx0Lmxpbmtfbm9faXBfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19ub19pcF9mdXp6eSksYGlgKSx0Lmhvc3RfZnV6enlfdGVzdD1SZWdFeHAocih0LnRwbF9ob3N0X2Z1enp5X3Rlc3QpLGBpYCk7bGV0IGk9W107ZS5fX2NvbXBpbGVkX189e307ZnVuY3Rpb24gYShlLHQpe3Rocm93IEVycm9yKGAoTGlua2lmeUl0KSBJbnZhbGlkIHNjaGVtYSAiYCtlK2AiOiBgK3QpfU9iamVjdC5rZXlzKGUuX19zY2hlbWFzX18pLmZvckVhY2goZnVuY3Rpb24odCl7bGV0IG49ZS5fX3NjaGVtYXNfX1t0XTtpZihuPT09bnVsbClyZXR1cm47bGV0IHI9e3ZhbGlkYXRlOm51bGwsbGluazpudWxsfTtpZihlLl9fY29tcGlsZWRfX1t0XT1yLHRmKG4pKXtuZihuLnZhbGlkYXRlKT9yLnZhbGlkYXRlPWZmKG4udmFsaWRhdGUpOnJmKG4udmFsaWRhdGUpP3IudmFsaWRhdGU9bi52YWxpZGF0ZTphKHQsbikscmYobi5ub3JtYWxpemUpP3Iubm9ybWFsaXplPW4ubm9ybWFsaXplOm4ubm9ybWFsaXplP2EodCxuKTpyLm5vcm1hbGl6ZT1wZigpO3JldHVybn1pZihlZihuKSl7aS5wdXNoKHQpO3JldHVybn1hKHQsbil9KSxpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0mJihlLl9fY29tcGlsZWRfX1t0XS52YWxpZGF0ZT1lLl9fY29tcGlsZWRfX1tlLl9fc2NoZW1hc19fW3RdXS52YWxpZGF0ZSxlLl9fY29tcGlsZWRfX1t0XS5ub3JtYWxpemU9ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0ubm9ybWFsaXplKX0pLGUuX19jb21waWxlZF9fW2BgXT17dmFsaWRhdGU6bnVsbCxub3JtYWxpemU6cGYoKX07bGV0IG89T2JqZWN0LmtleXMoZS5fX2NvbXBpbGVkX18pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MCYmZS5fX2NvbXBpbGVkX19bdF19KS5tYXAoYWYpLmpvaW4oYHxgKTtlLnJlLnNjaGVtYV90ZXN0PVJlZ0V4cChgKF58KD8hXykoPzpbPjzvvZxdfGArdC5zcmNfWlBDYytgKSkoYCtvK2ApYCxgaWApLGUucmUuc2NoZW1hX3NlYXJjaD1SZWdFeHAoYChefCg/IV8pKD86Wz48772cXXxgK3Quc3JjX1pQQ2MrYCkpKGArbytgKWAsYGlnYCksZS5yZS5zY2hlbWFfYXRfc3RhcnQ9UmVnRXhwKGBeYCtlLnJlLnNjaGVtYV9zZWFyY2guc291cmNlLGBpYCksZS5yZS5wcmV0ZXN0PVJlZ0V4cChgKGArZS5yZS5zY2hlbWFfdGVzdC5zb3VyY2UrYCl8KGArZS5yZS5ob3N0X2Z1enp5X3Rlc3Quc291cmNlK2ApfEBgLGBpYCksZGYoZSl9ZnVuY3Rpb24gaGYoZSx0KXtsZXQgbj1lLl9faW5kZXhfXyxyPWUuX19sYXN0X2luZGV4X18saT1lLl9fdGV4dF9jYWNoZV9fLnNsaWNlKG4scik7dGhpcy5zY2hlbWE9ZS5fX3NjaGVtYV9fLnRvTG93ZXJDYXNlKCksdGhpcy5pbmRleD1uK3QsdGhpcy5sYXN0SW5kZXg9cit0LHRoaXMucmF3PWksdGhpcy50ZXh0PWksdGhpcy51cmw9aX1mdW5jdGlvbiBnZihlLHQpe2xldCBuPW5ldyBoZihlLHQpO3JldHVybiBlLl9fY29tcGlsZWRfX1tuLnNjaGVtYV0ubm9ybWFsaXplKG4sZSksbn1mdW5jdGlvbiBfZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIF9mKSlyZXR1cm4gbmV3IF9mKGUsdCk7dHx8c2YoZSkmJih0PWUsZT17fSksdGhpcy5fX29wdHNfXz1RZCh7fSxvZix0KSx0aGlzLl9faW5kZXhfXz0tMSx0aGlzLl9fbGFzdF9pbmRleF9fPS0xLHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9fdGV4dF9jYWNoZV9fPWBgLHRoaXMuX19zY2hlbWFzX189UWQoe30sY2YsZSksdGhpcy5fX2NvbXBpbGVkX189e30sdGhpcy5fX3RsZHNfXz11Zix0aGlzLl9fdGxkc19yZXBsYWNlZF9fPSExLHRoaXMucmU9e30sbWYodGhpcyl9X2YucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9fc2NoZW1hc19fW2VdPXQsbWYodGhpcyksdGhpc30sX2YucHJvdG90eXBlLnNldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fX29wdHNfXz1RZCh0aGlzLl9fb3B0c19fLGUpLHRoaXN9LF9mLnByb3RvdHlwZS50ZXN0PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX190ZXh0X2NhY2hlX189ZSx0aGlzLl9faW5kZXhfXz0tMSwhZS5sZW5ndGgpcmV0dXJuITE7bGV0IHQsbixyLGksYSxvLHMsYyxsO2lmKHRoaXMucmUuc2NoZW1hX3Rlc3QudGVzdChlKSl7Zm9yKHM9dGhpcy5yZS5zY2hlbWFfc2VhcmNoLHMubGFzdEluZGV4PTA7KHQ9cy5leGVjKGUpKSE9PW51bGw7KWlmKGk9dGhpcy50ZXN0U2NoZW1hQXQoZSx0WzJdLHMubGFzdEluZGV4KSxpKXt0aGlzLl9fc2NoZW1hX189dFsyXSx0aGlzLl9faW5kZXhfXz10LmluZGV4K3RbMV0ubGVuZ3RoLHRoaXMuX19sYXN0X2luZGV4X189dC5pbmRleCt0WzBdLmxlbmd0aCtpO2JyZWFrfX1yZXR1cm4gdGhpcy5fX29wdHNfXy5mdXp6eUxpbmsmJnRoaXMuX19jb21waWxlZF9fW2BodHRwOmBdJiYoYz1lLnNlYXJjaCh0aGlzLnJlLmhvc3RfZnV6enlfdGVzdCksYz49MCYmKHRoaXMuX19pbmRleF9fPDB8fGM8dGhpcy5fX2luZGV4X18pJiYobj1lLm1hdGNoKHRoaXMuX19vcHRzX18uZnV6enlJUD90aGlzLnJlLmxpbmtfZnV6enk6dGhpcy5yZS5saW5rX25vX2lwX2Z1enp5KSkhPT1udWxsJiYoYT1uLmluZGV4K25bMV0ubGVuZ3RoLCh0aGlzLl9faW5kZXhfXzwwfHxhPHRoaXMuX19pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9faW5kZXhfXz1hLHRoaXMuX19sYXN0X2luZGV4X189bi5pbmRleCtuWzBdLmxlbmd0aCkpKSx0aGlzLl9fb3B0c19fLmZ1enp5RW1haWwmJnRoaXMuX19jb21waWxlZF9fW2BtYWlsdG86YF0mJihsPWUuaW5kZXhPZihgQGApLGw+PTAmJihyPWUubWF0Y2godGhpcy5yZS5lbWFpbF9mdXp6eSkpIT09bnVsbCYmKGE9ci5pbmRleCtyWzFdLmxlbmd0aCxvPXIuaW5kZXgrclswXS5sZW5ndGgsKHRoaXMuX19pbmRleF9fPDB8fGE8dGhpcy5fX2luZGV4X198fGE9PT10aGlzLl9faW5kZXhfXyYmbz50aGlzLl9fbGFzdF9pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gbWFpbHRvOmAsdGhpcy5fX2luZGV4X189YSx0aGlzLl9fbGFzdF9pbmRleF9fPW8pKSksdGhpcy5fX2luZGV4X18+PTB9LF9mLnByb3RvdHlwZS5wcmV0ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlLnByZXRlc3QudGVzdChlKX0sX2YucHJvdG90eXBlLnRlc3RTY2hlbWFBdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuX19jb21waWxlZF9fW3QudG9Mb3dlckNhc2UoKV0/dGhpcy5fX2NvbXBpbGVkX19bdC50b0xvd2VyQ2FzZSgpXS52YWxpZGF0ZShlLG4sdGhpcyk6MH0sX2YucHJvdG90eXBlLm1hdGNoPWZ1bmN0aW9uKGUpe2xldCB0PVtdLG49MDt0aGlzLl9faW5kZXhfXz49MCYmdGhpcy5fX3RleHRfY2FjaGVfXz09PWUmJih0LnB1c2goZ2YodGhpcyxuKSksbj10aGlzLl9fbGFzdF9pbmRleF9fKTtsZXQgcj1uP2Uuc2xpY2Uobik6ZTtmb3IoO3RoaXMudGVzdChyKTspdC5wdXNoKGdmKHRoaXMsbikpLHI9ci5zbGljZSh0aGlzLl9fbGFzdF9pbmRleF9fKSxuKz10aGlzLl9fbGFzdF9pbmRleF9fO3JldHVybiB0Lmxlbmd0aD90Om51bGx9LF9mLnByb3RvdHlwZS5tYXRjaEF0U3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5fX3RleHRfY2FjaGVfXz1lLHRoaXMuX19pbmRleF9fPS0xLCFlLmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgdD10aGlzLnJlLnNjaGVtYV9hdF9zdGFydC5leGVjKGUpO2lmKCF0KXJldHVybiBudWxsO2xldCBuPXRoaXMudGVzdFNjaGVtYUF0KGUsdFsyXSx0WzBdLmxlbmd0aCk7cmV0dXJuIG4/KHRoaXMuX19zY2hlbWFfXz10WzJdLHRoaXMuX19pbmRleF9fPXQuaW5kZXgrdFsxXS5sZW5ndGgsdGhpcy5fX2xhc3RfaW5kZXhfXz10LmluZGV4K3RbMF0ubGVuZ3RoK24sZ2YodGhpcywwKSk6bnVsbH0sX2YucHJvdG90eXBlLnRsZHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1BcnJheS5pc0FycmF5KGUpP2U6W2VdLHQ/KHRoaXMuX190bGRzX189dGhpcy5fX3RsZHNfXy5jb25jYXQoZSkuc29ydCgpLmZpbHRlcihmdW5jdGlvbihlLHQsbil7cmV0dXJuIGUhPT1uW3QtMV19KS5yZXZlcnNlKCksbWYodGhpcyksdGhpcyk6KHRoaXMuX190bGRzX189ZS5zbGljZSgpLHRoaXMuX190bGRzX3JlcGxhY2VkX189ITAsbWYodGhpcyksdGhpcyl9LF9mLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7ZS5zY2hlbWF8fChlLnVybD1gaHR0cDovL2ArZS51cmwpLGUuc2NoZW1hPT09YG1haWx0bzpgJiYhL15tYWlsdG86L2kudGVzdChlLnVybCkmJihlLnVybD1gbWFpbHRvOmArZS51cmwpfSxfZi5wcm90b3R5cGUub25Db21waWxlPWZ1bmN0aW9uKCl7fTt2YXIgdmY9SlNPTi5wYXJzZShgWyJhYWEiLCJhYXJwIiwiYWJiIiwiYWJib3R0IiwiYWJidmllIiwiYWJjIiwiYWJsZSIsImFib2dhZG8iLCJhYnVkaGFiaSIsImFjIiwiYWNhZGVteSIsImFjY2VudHVyZSIsImFjY291bnRhbnQiLCJhY2NvdW50YW50cyIsImFjbyIsImFjdG9yIiwiYWQiLCJhZHMiLCJhZHVsdCIsImFlIiwiYWVnIiwiYWVybyIsImFldG5hIiwiYWYiLCJhZmwiLCJhZnJpY2EiLCJhZyIsImFnYWtoYW4iLCJhZ2VuY3kiLCJhaSIsImFpZyIsImFpcmJ1cyIsImFpcmZvcmNlIiwiYWlydGVsIiwiYWtkbiIsImFsIiwiYWxpYmFiYSIsImFsaXBheSIsImFsbGZpbmFueiIsImFsbHN0YXRlIiwiYWxseSIsImFsc2FjZSIsImFsc3RvbSIsImFtIiwiYW1hem9uIiwiYW1lcmljYW5leHByZXNzIiwiYW1lcmljYW5mYW1pbHkiLCJhbWV4IiwiYW1mYW0iLCJhbWljYSIsImFtc3RlcmRhbSIsImFuYWx5dGljcyIsImFuZHJvaWQiLCJhbnF1YW4iLCJhbnoiLCJhbyIsImFvbCIsImFwYXJ0bWVudHMiLCJhcHAiLCJhcHBsZSIsImFxIiwiYXF1YXJlbGxlIiwiYXIiLCJhcmFiIiwiYXJhbWNvIiwiYXJjaGkiLCJhcm15IiwiYXJwYSIsImFydCIsImFydGUiLCJhcyIsImFzZGEiLCJhc2lhIiwiYXNzb2NpYXRlcyIsImF0IiwiYXRobGV0YSIsImF0dG9ybmV5IiwiYXUiLCJhdWN0aW9uIiwiYXVkaSIsImF1ZGlibGUiLCJhdWRpbyIsImF1c3Bvc3QiLCJhdXRob3IiLCJhdXRvIiwiYXV0b3MiLCJhdyIsImF3cyIsImF4IiwiYXhhIiwiYXoiLCJhenVyZSIsImJhIiwiYmFieSIsImJhaWR1IiwiYmFuYW1leCIsImJhbmQiLCJiYW5rIiwiYmFyIiwiYmFyY2Vsb25hIiwiYmFyY2xheWNhcmQiLCJiYXJjbGF5cyIsImJhcmVmb290IiwiYmFyZ2FpbnMiLCJiYXNlYmFsbCIsImJhc2tldGJhbGwiLCJiYXVoYXVzIiwiYmF5ZXJuIiwiYmIiLCJiYmMiLCJiYnQiLCJiYnZhIiwiYmNnIiwiYmNuIiwiYmQiLCJiZSIsImJlYXRzIiwiYmVhdXR5IiwiYmVlciIsImJlcmxpbiIsImJlc3QiLCJiZXN0YnV5IiwiYmV0IiwiYmYiLCJiZyIsImJoIiwiYmhhcnRpIiwiYmkiLCJiaWJsZSIsImJpZCIsImJpa2UiLCJiaW5nIiwiYmluZ28iLCJiaW8iLCJiaXoiLCJiaiIsImJsYWNrIiwiYmxhY2tmcmlkYXkiLCJibG9ja2J1c3RlciIsImJsb2ciLCJibG9vbWJlcmciLCJibHVlIiwiYm0iLCJibXMiLCJibXciLCJibiIsImJucHBhcmliYXMiLCJibyIsImJvYXRzIiwiYm9laHJpbmdlciIsImJvZmEiLCJib20iLCJib25kIiwiYm9vIiwiYm9vayIsImJvb2tpbmciLCJib3NjaCIsImJvc3RpayIsImJvc3RvbiIsImJvdCIsImJvdXRpcXVlIiwiYm94IiwiYnIiLCJicmFkZXNjbyIsImJyaWRnZXN0b25lIiwiYnJvYWR3YXkiLCJicm9rZXIiLCJicm90aGVyIiwiYnJ1c3NlbHMiLCJicyIsImJ0IiwiYnVpbGQiLCJidWlsZGVycyIsImJ1c2luZXNzIiwiYnV5IiwiYnV6eiIsImJ2IiwiYnciLCJieSIsImJ6IiwiYnpoIiwiY2EiLCJjYWIiLCJjYWZlIiwiY2FsIiwiY2FsbCIsImNhbHZpbmtsZWluIiwiY2FtIiwiY2FtZXJhIiwiY2FtcCIsImNhbm9uIiwiY2FwZXRvd24iLCJjYXBpdGFsIiwiY2FwaXRhbG9uZSIsImNhciIsImNhcmF2YW4iLCJjYXJkcyIsImNhcmUiLCJjYXJlZXIiLCJjYXJlZXJzIiwiY2FycyIsImNhc2EiLCJjYXNlIiwiY2FzaCIsImNhc2lubyIsImNhdCIsImNhdGVyaW5nIiwiY2F0aG9saWMiLCJjYmEiLCJjYm4iLCJjYnJlIiwiY2MiLCJjZCIsImNlbnRlciIsImNlbyIsImNlcm4iLCJjZiIsImNmYSIsImNmZCIsImNnIiwiY2giLCJjaGFuZWwiLCJjaGFubmVsIiwiY2hhcml0eSIsImNoYXNlIiwiY2hhdCIsImNoZWFwIiwiY2hpbnRhaSIsImNocmlzdG1hcyIsImNocm9tZSIsImNodXJjaCIsImNpIiwiY2lwcmlhbmkiLCJjaXJjbGUiLCJjaXNjbyIsImNpdGFkZWwiLCJjaXRpIiwiY2l0aWMiLCJjaXR5IiwiY2siLCJjbCIsImNsYWltcyIsImNsZWFuaW5nIiwiY2xpY2siLCJjbGluaWMiLCJjbGluaXF1ZSIsImNsb3RoaW5nIiwiY2xvdWQiLCJjbHViIiwiY2x1Ym1lZCIsImNtIiwiY24iLCJjbyIsImNvYWNoIiwiY29kZXMiLCJjb2ZmZWUiLCJjb2xsZWdlIiwiY29sb2duZSIsImNvbSIsImNvbW1iYW5rIiwiY29tbXVuaXR5IiwiY29tcGFueSIsImNvbXBhcmUiLCJjb21wdXRlciIsImNvbXNlYyIsImNvbmRvcyIsImNvbnN0cnVjdGlvbiIsImNvbnN1bHRpbmciLCJjb250YWN0IiwiY29udHJhY3RvcnMiLCJjb29raW5nIiwiY29vbCIsImNvb3AiLCJjb3JzaWNhIiwiY291bnRyeSIsImNvdXBvbiIsImNvdXBvbnMiLCJjb3Vyc2VzIiwiY3BhIiwiY3IiLCJjcmVkaXQiLCJjcmVkaXRjYXJkIiwiY3JlZGl0dW5pb24iLCJjcmlja2V0IiwiY3Jvd24iLCJjcnMiLCJjcnVpc2UiLCJjcnVpc2VzIiwiY3UiLCJjdWlzaW5lbGxhIiwiY3YiLCJjdyIsImN4IiwiY3kiLCJjeW1ydSIsImN5b3UiLCJjeiIsImRhZCIsImRhbmNlIiwiZGF0YSIsImRhdGUiLCJkYXRpbmciLCJkYXRzdW4iLCJkYXkiLCJkY2xrIiwiZGRzIiwiZGUiLCJkZWFsIiwiZGVhbGVyIiwiZGVhbHMiLCJkZWdyZWUiLCJkZWxpdmVyeSIsImRlbGwiLCJkZWxvaXR0ZSIsImRlbHRhIiwiZGVtb2NyYXQiLCJkZW50YWwiLCJkZW50aXN0IiwiZGVzaSIsImRlc2lnbiIsImRldiIsImRobCIsImRpYW1vbmRzIiwiZGlldCIsImRpZ2l0YWwiLCJkaXJlY3QiLCJkaXJlY3RvcnkiLCJkaXNjb3VudCIsImRpc2NvdmVyIiwiZGlzaCIsImRpeSIsImRqIiwiZGsiLCJkbSIsImRucCIsImRvIiwiZG9jcyIsImRvY3RvciIsImRvZyIsImRvbWFpbnMiLCJkb3QiLCJkb3dubG9hZCIsImRyaXZlIiwiZHR2IiwiZHViYWkiLCJkdXBvbnQiLCJkdXJiYW4iLCJkdmFnIiwiZHZyIiwiZHoiLCJlYXJ0aCIsImVhdCIsImVjIiwiZWNvIiwiZWRla2EiLCJlZHUiLCJlZHVjYXRpb24iLCJlZSIsImVnIiwiZW1haWwiLCJlbWVyY2siLCJlbmVyZ3kiLCJlbmdpbmVlciIsImVuZ2luZWVyaW5nIiwiZW50ZXJwcmlzZXMiLCJlcHNvbiIsImVxdWlwbWVudCIsImVyIiwiZXJpY3Nzb24iLCJlcm5pIiwiZXMiLCJlc3EiLCJlc3RhdGUiLCJldCIsImV1IiwiZXVyb3Zpc2lvbiIsImV1cyIsImV2ZW50cyIsImV4Y2hhbmdlIiwiZXhwZXJ0IiwiZXhwb3NlZCIsImV4cHJlc3MiLCJleHRyYXNwYWNlIiwiZmFnZSIsImZhaWwiLCJmYWlyd2luZHMiLCJmYWl0aCIsImZhbWlseSIsImZhbiIsImZhbnMiLCJmYXJtIiwiZmFybWVycyIsImZhc2hpb24iLCJmYXN0IiwiZmVkZXgiLCJmZWVkYmFjayIsImZlcnJhcmkiLCJmZXJyZXJvIiwiZmkiLCJmaWRlbGl0eSIsImZpZG8iLCJmaWxtIiwiZmluYWwiLCJmaW5hbmNlIiwiZmluYW5jaWFsIiwiZmlyZSIsImZpcmVzdG9uZSIsImZpcm1kYWxlIiwiZmlzaCIsImZpc2hpbmciLCJmaXQiLCJmaXRuZXNzIiwiZmoiLCJmayIsImZsaWNrciIsImZsaWdodHMiLCJmbGlyIiwiZmxvcmlzdCIsImZsb3dlcnMiLCJmbHkiLCJmbSIsImZvIiwiZm9vIiwiZm9vZCIsImZvb3RiYWxsIiwiZm9yZCIsImZvcmV4IiwiZm9yc2FsZSIsImZvcnVtIiwiZm91bmRhdGlvbiIsImZveCIsImZyIiwiZnJlZSIsImZyZXNlbml1cyIsImZybCIsImZyb2dhbnMiLCJmcm9udGllciIsImZ0ciIsImZ1aml0c3UiLCJmdW4iLCJmdW5kIiwiZnVybml0dXJlIiwiZnV0Ym9sIiwiZnlpIiwiZ2EiLCJnYWwiLCJnYWxsZXJ5IiwiZ2FsbG8iLCJnYWxsdXAiLCJnYW1lIiwiZ2FtZXMiLCJnYXAiLCJnYXJkZW4iLCJnYXkiLCJnYiIsImdiaXoiLCJnZCIsImdkbiIsImdlIiwiZ2VhIiwiZ2VudCIsImdlbnRpbmciLCJnZW9yZ2UiLCJnZiIsImdnIiwiZ2dlZSIsImdoIiwiZ2kiLCJnaWZ0IiwiZ2lmdHMiLCJnaXZlcyIsImdpdmluZyIsImdsIiwiZ2xhc3MiLCJnbGUiLCJnbG9iYWwiLCJnbG9ibyIsImdtIiwiZ21haWwiLCJnbWJoIiwiZ21vIiwiZ214IiwiZ24iLCJnb2RhZGR5IiwiZ29sZCIsImdvbGRwb2ludCIsImdvbGYiLCJnb28iLCJnb29keWVhciIsImdvb2ciLCJnb29nbGUiLCJnb3AiLCJnb3QiLCJnb3YiLCJncCIsImdxIiwiZ3IiLCJncmFpbmdlciIsImdyYXBoaWNzIiwiZ3JhdGlzIiwiZ3JlZW4iLCJncmlwZSIsImdyb2NlcnkiLCJncm91cCIsImdzIiwiZ3QiLCJndSIsImd1Y2NpIiwiZ3VnZSIsImd1aWRlIiwiZ3VpdGFycyIsImd1cnUiLCJndyIsImd5IiwiaGFpciIsImhhbWJ1cmciLCJoYW5nb3V0IiwiaGF1cyIsImhibyIsImhkZmMiLCJoZGZjYmFuayIsImhlYWx0aCIsImhlYWx0aGNhcmUiLCJoZWxwIiwiaGVsc2lua2kiLCJoZXJlIiwiaGVybWVzIiwiaGlwaG9wIiwiaGlzYW1pdHN1IiwiaGl0YWNoaSIsImhpdiIsImhrIiwiaGt0IiwiaG0iLCJobiIsImhvY2tleSIsImhvbGRpbmdzIiwiaG9saWRheSIsImhvbWVkZXBvdCIsImhvbWVnb29kcyIsImhvbWVzIiwiaG9tZXNlbnNlIiwiaG9uZGEiLCJob3JzZSIsImhvc3BpdGFsIiwiaG9zdCIsImhvc3RpbmciLCJob3QiLCJob3RlbHMiLCJob3RtYWlsIiwiaG91c2UiLCJob3ciLCJociIsImhzYmMiLCJodCIsImh1IiwiaHVnaGVzIiwiaHlhdHQiLCJoeXVuZGFpIiwiaWJtIiwiaWNiYyIsImljZSIsImljdSIsImlkIiwiaWUiLCJpZWVlIiwiaWZtIiwiaWthbm8iLCJpbCIsImltIiwiaW1hbWF0IiwiaW1kYiIsImltbW8iLCJpbW1vYmlsaWVuIiwiaW4iLCJpbmMiLCJpbmR1c3RyaWVzIiwiaW5maW5pdGkiLCJpbmZvIiwiaW5nIiwiaW5rIiwiaW5zdGl0dXRlIiwiaW5zdXJhbmNlIiwiaW5zdXJlIiwiaW50IiwiaW50ZXJuYXRpb25hbCIsImludHVpdCIsImludmVzdG1lbnRzIiwiaW8iLCJpcGlyYW5nYSIsImlxIiwiaXIiLCJpcmlzaCIsImlzIiwiaXNtYWlsaSIsImlzdCIsImlzdGFuYnVsIiwiaXQiLCJpdGF1IiwiaXR2IiwiamFndWFyIiwiamF2YSIsImpjYiIsImplIiwiamVlcCIsImpldHp0IiwiamV3ZWxyeSIsImppbyIsImpsbCIsImptIiwiam1wIiwiam5qIiwiam8iLCJqb2JzIiwiam9idXJnIiwiam90Iiwiam95IiwianAiLCJqcG1vcmdhbiIsImpwcnMiLCJqdWVnb3MiLCJqdW5pcGVyIiwia2F1ZmVuIiwia2RkaSIsImtlIiwia2Vycnlob3RlbHMiLCJrZXJyeXByb3BlcnRpZXMiLCJrZmgiLCJrZyIsImtoIiwia2kiLCJraWEiLCJraWRzIiwia2ltIiwia2luZGxlIiwia2l0Y2hlbiIsImtpd2kiLCJrbSIsImtuIiwia29lbG4iLCJrb21hdHN1Iiwia29zaGVyIiwia3AiLCJrcG1nIiwia3BuIiwia3IiLCJrcmQiLCJrcmVkIiwia3Vva2dyb3VwIiwia3ciLCJreSIsImt5b3RvIiwia3oiLCJsYSIsImxhY2FpeGEiLCJsYW1ib3JnaGluaSIsImxhbWVyIiwibGFuZCIsImxhbmRyb3ZlciIsImxhbnhlc3MiLCJsYXNhbGxlIiwibGF0IiwibGF0aW5vIiwibGF0cm9iZSIsImxhdyIsImxhd3llciIsImxiIiwibGMiLCJsZHMiLCJsZWFzZSIsImxlY2xlcmMiLCJsZWZyYWsiLCJsZWdhbCIsImxlZ28iLCJsZXh1cyIsImxnYnQiLCJsaSIsImxpZGwiLCJsaWZlIiwibGlmZWluc3VyYW5jZSIsImxpZmVzdHlsZSIsImxpZ2h0aW5nIiwibGlrZSIsImxpbGx5IiwibGltaXRlZCIsImxpbW8iLCJsaW5jb2xuIiwibGluayIsImxpdmUiLCJsaXZpbmciLCJsayIsImxsYyIsImxscCIsImxvYW4iLCJsb2FucyIsImxvY2tlciIsImxvY3VzIiwibG9sIiwibG9uZG9uIiwibG90dGUiLCJsb3R0byIsImxvdmUiLCJscGwiLCJscGxmaW5hbmNpYWwiLCJsciIsImxzIiwibHQiLCJsdGQiLCJsdGRhIiwibHUiLCJsdW5kYmVjayIsImx1eGUiLCJsdXh1cnkiLCJsdiIsImx5IiwibWEiLCJtYWRyaWQiLCJtYWlmIiwibWFpc29uIiwibWFrZXVwIiwibWFuIiwibWFuYWdlbWVudCIsIm1hbmdvIiwibWFwIiwibWFya2V0IiwibWFya2V0aW5nIiwibWFya2V0cyIsIm1hcnJpb3R0IiwibWFyc2hhbGxzIiwibWF0dGVsIiwibWJhIiwibWMiLCJtY2tpbnNleSIsIm1kIiwibWUiLCJtZWQiLCJtZWRpYSIsIm1lZXQiLCJtZWxib3VybmUiLCJtZW1lIiwibWVtb3JpYWwiLCJtZW4iLCJtZW51IiwibWVyY2ttc2QiLCJtZyIsIm1oIiwibWlhbWkiLCJtaWNyb3NvZnQiLCJtaWwiLCJtaW5pIiwibWludCIsIm1pdCIsIm1pdHN1YmlzaGkiLCJtayIsIm1sIiwibWxiIiwibWxzIiwibW0iLCJtbWEiLCJtbiIsIm1vIiwibW9iaSIsIm1vYmlsZSIsIm1vZGEiLCJtb2UiLCJtb2kiLCJtb20iLCJtb25hc2giLCJtb25leSIsIm1vbnN0ZXIiLCJtb3Jtb24iLCJtb3J0Z2FnZSIsIm1vc2NvdyIsIm1vdG8iLCJtb3RvcmN5Y2xlcyIsIm1vdiIsIm1vdmllIiwibXAiLCJtcSIsIm1yIiwibXMiLCJtc2QiLCJtdCIsIm10biIsIm10ciIsIm11IiwibXVzZXVtIiwibXVzaWMiLCJtdiIsIm13IiwibXgiLCJteSIsIm16IiwibmEiLCJuYWIiLCJuYWdveWEiLCJuYW1lIiwibmF2eSIsIm5iYSIsIm5jIiwibmUiLCJuZWMiLCJuZXQiLCJuZXRiYW5rIiwibmV0ZmxpeCIsIm5ldHdvcmsiLCJuZXVzdGFyIiwibmV3IiwibmV3cyIsIm5leHQiLCJuZXh0ZGlyZWN0IiwibmV4dXMiLCJuZiIsIm5mbCIsIm5nIiwibmdvIiwibmhrIiwibmkiLCJuaWNvIiwibmlrZSIsIm5pa29uIiwibmluamEiLCJuaXNzYW4iLCJuaXNzYXkiLCJubCIsIm5vIiwibm9raWEiLCJub3J0b24iLCJub3ciLCJub3dydXoiLCJub3d0diIsIm5wIiwibnIiLCJucmEiLCJucnciLCJudHQiLCJudSIsIm55YyIsIm56Iiwib2JpIiwib2JzZXJ2ZXIiLCJvZmZpY2UiLCJva2luYXdhIiwib2xheWFuIiwib2xheWFuZ3JvdXAiLCJvbGxvIiwib20iLCJvbWVnYSIsIm9uZSIsIm9uZyIsIm9ubCIsIm9ubGluZSIsIm9vbyIsIm9wZW4iLCJvcmFjbGUiLCJvcmFuZ2UiLCJvcmciLCJvcmdhbmljIiwib3JpZ2lucyIsIm9zYWthIiwib3RzdWthIiwib3R0Iiwib3ZoIiwicGEiLCJwYWdlIiwicGFuYXNvbmljIiwicGFyaXMiLCJwYXJzIiwicGFydG5lcnMiLCJwYXJ0cyIsInBhcnR5IiwicGF5IiwicGNjdyIsInBlIiwicGV0IiwicGYiLCJwZml6ZXIiLCJwZyIsInBoIiwicGhhcm1hY3kiLCJwaGQiLCJwaGlsaXBzIiwicGhvbmUiLCJwaG90byIsInBob3RvZ3JhcGh5IiwicGhvdG9zIiwicGh5c2lvIiwicGljcyIsInBpY3RldCIsInBpY3R1cmVzIiwicGlkIiwicGluIiwicGluZyIsInBpbmsiLCJwaW9uZWVyIiwicGl6emEiLCJwayIsInBsIiwicGxhY2UiLCJwbGF5IiwicGxheXN0YXRpb24iLCJwbHVtYmluZyIsInBsdXMiLCJwbSIsInBuIiwicG5jIiwicG9obCIsInBva2VyIiwicG9saXRpZSIsInBvcm4iLCJwb3N0IiwicHIiLCJwcmF4aSIsInByZXNzIiwicHJpbWUiLCJwcm8iLCJwcm9kIiwicHJvZHVjdGlvbnMiLCJwcm9mIiwicHJvZ3Jlc3NpdmUiLCJwcm9tbyIsInByb3BlcnRpZXMiLCJwcm9wZXJ0eSIsInByb3RlY3Rpb24iLCJwcnUiLCJwcnVkZW50aWFsIiwicHMiLCJwdCIsInB1YiIsInB3IiwicHdjIiwicHkiLCJxYSIsInFwb24iLCJxdWViZWMiLCJxdWVzdCIsInJhY2luZyIsInJhZGlvIiwicmUiLCJyZWFkIiwicmVhbGVzdGF0ZSIsInJlYWx0b3IiLCJyZWFsdHkiLCJyZWNpcGVzIiwicmVkIiwicmVkdW1icmVsbGEiLCJyZWhhYiIsInJlaXNlIiwicmVpc2VuIiwicmVpdCIsInJlbGlhbmNlIiwicmVuIiwicmVudCIsInJlbnRhbHMiLCJyZXBhaXIiLCJyZXBvcnQiLCJyZXB1YmxpY2FuIiwicmVzdCIsInJlc3RhdXJhbnQiLCJyZXZpZXciLCJyZXZpZXdzIiwicmV4cm90aCIsInJpY2giLCJyaWNoYXJkbGkiLCJyaWNvaCIsInJpbCIsInJpbyIsInJpcCIsInJvIiwicm9ja3MiLCJyb2RlbyIsInJvZ2VycyIsInJvb20iLCJycyIsInJzdnAiLCJydSIsInJ1Z2J5IiwicnVociIsInJ1biIsInJ3IiwicndlIiwicnl1a3l1Iiwic2EiLCJzYWFybGFuZCIsInNhZmUiLCJzYWZldHkiLCJzYWt1cmEiLCJzYWxlIiwic2Fsb24iLCJzYW1zY2x1YiIsInNhbXN1bmciLCJzYW5kdmlrIiwic2FuZHZpa2Nvcm9tYW50Iiwic2Fub2ZpIiwic2FwIiwic2FybCIsInNhcyIsInNhdmUiLCJzYXhvIiwic2IiLCJzYmkiLCJzYnMiLCJzYyIsInNjYiIsInNjaGFlZmZsZXIiLCJzY2htaWR0Iiwic2Nob2xhcnNoaXBzIiwic2Nob29sIiwic2NodWxlIiwic2Nod2FyeiIsInNjaWVuY2UiLCJzY290Iiwic2QiLCJzZSIsInNlYXJjaCIsInNlYXQiLCJzZWN1cmUiLCJzZWN1cml0eSIsInNlZWsiLCJzZWxlY3QiLCJzZW5lciIsInNlcnZpY2VzIiwic2V2ZW4iLCJzZXciLCJzZXgiLCJzZXh5Iiwic2ZyIiwic2ciLCJzaCIsInNoYW5ncmlsYSIsInNoYXJwIiwic2hlbGwiLCJzaGlhIiwic2hpa3NoYSIsInNob2VzIiwic2hvcCIsInNob3BwaW5nIiwic2hvdWppIiwic2hvdyIsInNpIiwic2lsayIsInNpbmEiLCJzaW5nbGVzIiwic2l0ZSIsInNqIiwic2siLCJza2kiLCJza2luIiwic2t5Iiwic2t5cGUiLCJzbCIsInNsaW5nIiwic20iLCJzbWFydCIsInNtaWxlIiwic24iLCJzbmNmIiwic28iLCJzb2NjZXIiLCJzb2NpYWwiLCJzb2Z0YmFuayIsInNvZnR3YXJlIiwic29odSIsInNvbGFyIiwic29sdXRpb25zIiwic29uZyIsInNvbnkiLCJzb3kiLCJzcGEiLCJzcGFjZSIsInNwb3J0Iiwic3BvdCIsInNyIiwic3JsIiwic3MiLCJzdCIsInN0YWRhIiwic3RhcGxlcyIsInN0YXIiLCJzdGF0ZWJhbmsiLCJzdGF0ZWZhcm0iLCJzdGMiLCJzdGNncm91cCIsInN0b2NraG9sbSIsInN0b3JhZ2UiLCJzdG9yZSIsInN0cmVhbSIsInN0dWRpbyIsInN0dWR5Iiwic3R5bGUiLCJzdSIsInN1Y2tzIiwic3VwcGxpZXMiLCJzdXBwbHkiLCJzdXBwb3J0Iiwic3VyZiIsInN1cmdlcnkiLCJzdXp1a2kiLCJzdiIsInN3YXRjaCIsInN3aXNzIiwic3giLCJzeSIsInN5ZG5leSIsInN5c3RlbXMiLCJzeiIsInRhYiIsInRhaXBlaSIsInRhbGsiLCJ0YW9iYW8iLCJ0YXJnZXQiLCJ0YXRhbW90b3JzIiwidGF0YXIiLCJ0YXR0b28iLCJ0YXgiLCJ0YXhpIiwidGMiLCJ0Y2kiLCJ0ZCIsInRkayIsInRlYW0iLCJ0ZWNoIiwidGVjaG5vbG9neSIsInRlbCIsInRlbWFzZWsiLCJ0ZW5uaXMiLCJ0ZXZhIiwidGYiLCJ0ZyIsInRoIiwidGhkIiwidGhlYXRlciIsInRoZWF0cmUiLCJ0aWFhIiwidGlja2V0cyIsInRpZW5kYSIsInRpcHMiLCJ0aXJlcyIsInRpcm9sIiwidGoiLCJ0am1heHgiLCJ0angiLCJ0ayIsInRrbWF4eCIsInRsIiwidG0iLCJ0bWFsbCIsInRuIiwidG8iLCJ0b2RheSIsInRva3lvIiwidG9vbHMiLCJ0b3AiLCJ0b3JheSIsInRvc2hpYmEiLCJ0b3RhbCIsInRvdXJzIiwidG93biIsInRveW90YSIsInRveXMiLCJ0ciIsInRyYWRlIiwidHJhZGluZyIsInRyYWluaW5nIiwidHJhdmVsIiwidHJhdmVsZXJzIiwidHJhdmVsZXJzaW5zdXJhbmNlIiwidHJ1c3QiLCJ0cnYiLCJ0dCIsInR1YmUiLCJ0dWkiLCJ0dW5lcyIsInR1c2h1IiwidHYiLCJ0dnMiLCJ0dyIsInR6IiwidWEiLCJ1YmFuayIsInVicyIsInVnIiwidWsiLCJ1bmljb20iLCJ1bml2ZXJzaXR5IiwidW5vIiwidW9sIiwidXBzIiwidXMiLCJ1eSIsInV6IiwidmEiLCJ2YWNhdGlvbnMiLCJ2YW5hIiwidmFuZ3VhcmQiLCJ2YyIsInZlIiwidmVnYXMiLCJ2ZW50dXJlcyIsInZlcmlzaWduIiwidmVybcO2Z2Vuc2JlcmF0ZXIiLCJ2ZXJtw7ZnZW5zYmVyYXR1bmciLCJ2ZXJzaWNoZXJ1bmciLCJ2ZXQiLCJ2ZyIsInZpIiwidmlhamVzIiwidmlkZW8iLCJ2aWciLCJ2aWtpbmciLCJ2aWxsYXMiLCJ2aW4iLCJ2aXAiLCJ2aXJnaW4iLCJ2aXNhIiwidmlzaW9uIiwidml2YSIsInZpdm8iLCJ2bGFhbmRlcmVuIiwidm4iLCJ2b2RrYSIsInZvbHZvIiwidm90ZSIsInZvdGluZyIsInZvdG8iLCJ2b3lhZ2UiLCJ2dSIsIndhbGVzIiwid2FsbWFydCIsIndhbHRlciIsIndhbmciLCJ3YW5nZ291Iiwid2F0Y2giLCJ3YXRjaGVzIiwid2VhdGhlciIsIndlYXRoZXJjaGFubmVsIiwid2ViY2FtIiwid2ViZXIiLCJ3ZWJzaXRlIiwid2VkIiwid2VkZGluZyIsIndlaWJvIiwid2VpciIsIndmIiwid2hvc3dobyIsIndpZW4iLCJ3aWtpIiwid2lsbGlhbWhpbGwiLCJ3aW4iLCJ3aW5kb3dzIiwid2luZSIsIndpbm5lcnMiLCJ3bWUiLCJ3b2x0ZXJza2x1d2VyIiwid29vZHNpZGUiLCJ3b3JrIiwid29ya3MiLCJ3b3JsZCIsIndvdyIsIndzIiwid3RjIiwid3RmIiwieGJveCIsInhlcm94IiwieGlodWFuIiwieGluIiwieHh4IiwieHl6IiwieWFjaHRzIiwieWFob28iLCJ5YW1heHVuIiwieWFuZGV4IiwieWUiLCJ5b2RvYmFzaGkiLCJ5b2dhIiwieW9rb2hhbWEiLCJ5b3UiLCJ5b3V0dWJlIiwieXQiLCJ5dW4iLCJ6YSIsInphcHBvcyIsInphcmEiLCJ6ZXJvIiwiemlwIiwiem0iLCJ6b25lIiwienVlcmljaCIsInp3IiwizrXOuyIsIs61z4UiLCLQsdCzIiwi0LHQtdC7Iiwi0LTQtdGC0LgiLCLQtdGOIiwi0LrQsNGC0L7Qu9C40LoiLCLQutC+0LwiLCLQvNC60LQiLCLQvNC+0L0iLCLQvNC+0YHQutCy0LAiLCLQvtC90LvQsNC50L0iLCLQvtGA0LMiLCLRgNGD0YEiLCLRgNGEIiwi0YHQsNC50YIiLCLRgdGA0LEiLCLRg9C60YAiLCLSm9Cw0LciLCLVsNWh1bUiLCLXmdep16jXkNecIiwi16fXldedIiwi2KfYqNmI2LjYqNmKIiwi2KfYsdin2YXZg9mIIiwi2KfZhNin2LHYr9mGIiwi2KfZhNio2K3YsdmK2YYiLCLYp9mE2KzYstin2KbYsSIsItin2YTYs9i52YjYr9mK2KkiLCLYp9mE2LnZhNmK2KfZhiIsItin2YTZhdi62LHYqCIsItin2YXYp9ix2KfYqiIsItin24zYsdin2YYiLCLYqNin2LHYqiIsItio2KfYstin2LEiLCLYqNmK2KrZgyIsItio2r7Yp9ix2KoiLCLYqtmI2YbYsyIsItiz2YjYr9in2YYiLCLYs9mI2LHZitipIiwi2LTYqNmD2KkiLCLYudix2KfZgiIsIti52LHYqCIsIti52YXYp9mGIiwi2YHZhNiz2LfZitmGIiwi2YLYt9ixIiwi2YPYp9ir2YjZhNmK2YMiLCLZg9mI2YUiLCLZhdi12LEiLCLZhdmE2YrYs9mK2KciLCLZhdmI2LHZitiq2KfZhtmK2KciLCLZhdmI2YLYuSIsItmH2YXYsdin2YciLCLZvtin2qnYs9iq2KfZhiIsItqA2KfYsdiqIiwi4KSV4KWJ4KSuIiwi4KSo4KWH4KSfIiwi4KSt4KS+4KSw4KSkIiwi4KSt4KS+4KSw4KSk4KSu4KWNIiwi4KSt4KS+4KSw4KWL4KSkIiwi4KS44KSC4KSX4KSg4KSoIiwi4Kas4Ka+4KaC4Kay4Ka+Iiwi4Kat4Ka+4Kaw4KakIiwi4Kat4Ka+4Kew4KakIiwi4Kit4Ki+4Kiw4KikIiwi4Kqt4Kq+4Kqw4KqkIiwi4Kyt4Ky+4Kyw4KykIiwi4K6H4K6o4K+N4K6k4K6/4K6v4K6+Iiwi4K6H4K6y4K6Z4K+N4K6V4K+IIiwi4K6a4K6/4K6Z4K+N4K6V4K6q4K+N4K6q4K+C4K6w4K+NIiwi4LCt4LC+4LCw4LCk4LGNIiwi4LKt4LK+4LKw4LKkIiwi4LSt4LS+4LSw4LSk4LSCIiwi4La94LaC4Laa4LePIiwi4LiE4Lit4LihIiwi4LmE4LiX4LiiIiwi4Lql4Lqy4LqnIiwi4YOS4YOUIiwi44G/44KT44GqIiwi44Ki44Oe44K+44OzIiwi44Kv44Op44Km44OJIiwi44Kw44O844Kw44OrIiwi44Kz44OgIiwi44K544OI44KiIiwi44K744O844OrIiwi44OV44Kh44OD44K344On44OzIiwi44Od44Kk44Oz44OIIiwi5LiW55WMIiwi5Lit5L+hIiwi5Lit5Zu9Iiwi5Lit5ZyLIiwi5Lit5paH572RIiwi5Lqa6ams6YCKIiwi5LyB5LiaIiwi5L2b5bGxIiwi5L+h5oGvIiwi5YGl5bq3Iiwi5YWr5Y2mIiwi5YWs5Y+4Iiwi5YWs55uKIiwi5Y+w5rm+Iiwi5Y+w54GjIiwi5ZWG5Z+OIiwi5ZWG5bqXIiwi5ZWG5qCHIiwi5ZiJ6YeMIiwi5ZiJ6YeM5aSn6YWS5bqXIiwi5Zyo57q/Iiwi5aSn5ou/Iiwi5aSp5Li75pWZIiwi5aix5LmQIiwi5a626Zu7Iiwi5bm/5LicIiwi5b6u5Y2aIiwi5oWI5ZaEIiwi5oiR54ix5L2gIiwi5omL5py6Iiwi5oub6IGYIiwi5pS/5YqhIiwi5pS/5bqcIiwi5paw5Yqg5Z2hIiwi5paw6Ze7Iiwi5pe25bCaIiwi5pu457GNIiwi5py65p6EIiwi5reh6ams6ZShIiwi5ri45oiPIiwi5r6z6ZaAIiwi54K555yLIiwi56e75YqoIiwi57uE57uH5py65p6EIiwi572R5Z2AIiwi572R5bqXIiwi572R56uZIiwi572R57ucIiwi6IGU6YCaIiwi6LC35q2MIiwi6LSt54mpIiwi6YCa6LKpIiwi6ZuG5ZuiIiwi6Zu76KiK55uI56eRIiwi6aOe5Yip5rWmIiwi6aOf5ZOBIiwi6aSQ5Y6FIiwi6aaZ5qC86YeM5ouJIiwi6aaZ5rivIiwi64u364S3Iiwi64u37Lu0Iiwi7IK87ISxIiwi7ZWc6rWtIl1gKSx5Zj0vXlstISMkJSYnKisvMC05PT9BLVpeX2EtemB7fH1+XShcLj9bLSEjJCUmJyorLzAtOT0/QS1aXl9hLXpge3x9fl0pKkBbYS16QS1aMC05XSgtKlwuP1thLXpBLVowLTldKSpcLlthLXpBLVpdKC0/W2EtekEtWjAtOV0pKyQvLGJmPS8oKD86d3d3Lik/W15ccy5dK1wuW15ccy9dK1wvW15ccy5dKykvLHhmPS9bJjw+IiddL2csU2Y9ZT0+e2xldCB0PXsiJiI6YCZhbXA7YCwiPCI6YCZsdDtgLCI+IjpgJmd0O2AsJyInOmAmcXVvdDtgLCInIjpgJiMzOTtgfSxuPVJlZ0V4cCh4Zi5zb3VyY2UpO3JldHVybiBlJiZuLnRlc3QoZSk/ZS5yZXBsYWNlKHhmLGU9PnRbZV0pOmV8fGBgfSxDZj1gb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAtd2Via2l0LWxpbmUtY2xhbXA6IDE7IGxpbmUtY2xhbXA6IDE7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtgLHdmPW5ldyBfZigpLnRsZHModmYpLnNldCh7ZnV6enlJUDohMH0pLFRmPW5ldyBfZigpLnRsZHModmYpLEVmPShlLHQsbik9PntsZXQgcj1CKCkubG9jYXRpb24uaG9zdG5hbWU7cmV0dXJuYDxhIGhyZWY9IiR7ZX0iIHRhcmdldD0iJHtyLmxlbmd0aD4wJiZlLmluY2x1ZGVzKHIpP2BfcGFyZW50YDpgX2JsYW5rYH0iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciIgdGl0bGU9IiR7ZX0iIHN0eWxlPSIke24/LmNsYW1wJiYhbj8ucmVwbGFjZVRleHQ/Q2Y6YGB9Ij4ke3R9PC9hPmB9LERmPShlLHQpPT57aWYoZT09PWBgKXJldHVybiBlO2xldCBuPXdmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBTZihlKTtsZXQgcj1gYCxpPTA7cmV0dXJuIG4uZm9yRWFjaChuPT57bGV0IGE9YGAsbz1gYCxzPU9mKGUsbiksYz10Py5jbGFtcCYmbi50ZXh0Lmxlbmd0aD4zMCYmIXM7bi5pbmRleD5pJiYoYT1lLnN1YnN0cmluZyhpLG4uaW5kZXgpKSxvPUVmKG4udXJsLG4udGV4dCx7Li4udCxjbGFtcDpjfSksaT1uLmxhc3RJbmRleCxzJiYoYT1hLnN1YnN0cmluZygwLGEubGVuZ3RoLTEpLGkrPTEpLGMmJiFrZihlLG4pJiYobz1gXG4ke299XG5gLGE9YS50cmltRW5kKCksZVtpXT8ubWF0Y2goL1xzLykmJihpKz0xKSkscis9U2YoYSkrb30pLGUubGVuZ3RoPmkmJihyKz1TZihlLnN1YnN0cmluZyhpKSkpLHJ9LE9mPShlLHQpPT5lW3QuaW5kZXgtMV09PT1gImAmJmVbdC5sYXN0SW5kZXhdPT09YCJgLGtmPShlLHQpPT4hISh0LmluZGV4PD0xJiZlLnN1YnN0cmluZyh0Lmxhc3RJbmRleCx0Lmxhc3RJbmRleCszKS5tYXRjaCgvW1xuXHJdKy8pfHxlLnN1YnN0cmluZyh0LmluZGV4LTMsdC5pbmRleCkubWF0Y2goL1tcblxyXSsvKSYmZS5zdWJzdHJpbmcodC5sYXN0SW5kZXgsdC5sYXN0SW5kZXgrMykubWF0Y2goL1tcblxyXSsvKXx8ZS5zdWJzdHJpbmcodC5pbmRleC0zLHQuaW5kZXgpLm1hdGNoKC9bXG5ccl0rLykmJnQubGFzdEluZGV4PmUubGVuZ3RoLTN8fHQuaW5kZXg8PTEmJnQubGFzdEluZGV4Pj1lLmxlbmd0aC0yKSxBZj1lPT5lLnJlcGxhY2UoL15odHRwcz86XC9cLy8sYGApLnJlcGxhY2UoL153d3dcLi8sYGApLnJlcGxhY2UoL1wvKyQvLGBgKS50b0xvd2VyQ2FzZSgpLGpmPWU9PntsZXQgdD1bYG1haWx0bzpgLGBmdHA6YCxgLy9gXSxuPVRmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBudWxsO2xldCByPW5ldyBTZXQ7cmV0dXJuIG4uZmlsdGVyKGU9PntpZih0LmluY2x1ZGVzKGUuc2NoZW1hKSlyZXR1cm4hMTtsZXQgbj1BZihlLnVybCk7cmV0dXJuIHIuaGFzKG4pPyExOihyLmFkZChuKSwhMCl9KX0sTWY9KCk9PlBvKGBjYXJkc2ApLE5mPWU9PntGbyh7Li4uZX0sYGNhcmRzYCl9LFBmPWFzeW5jIGU9PntsZXQgdD1uZXcgSGVhZGVycyx7d2lkZ2V0QXBpVXJsOm59PVYuZ2V0T3B0aW9ucygpO3QuYXBwZW5kKGBDb250ZW50LVR5cGVgLGBhcHBsaWNhdGlvbi9qc29uYCk7bGV0IHI9SlNPTi5zdHJpbmdpZnkoe2xpbmtzOmV9KTt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7bn0vbGlua3MvcHJldmlld2Ase21ldGhvZDpgUE9TVGAsaGVhZGVyczp0LGJvZHk6cn0pO3JldHVybiBlLm9rJiZlLmpzb24/YXdhaXQgZS5qc29uKCk6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19LEZmPWU9PmUuZmluZChlPT5lLnR5cGU9PT1gb3Blbl91cmxgKT8udmFsdWV8fGBgLElmPWU9PntsZXQgdD1lLmZpbHRlcihlPT5lLnRpdGxlJiZlLmltYWdlJiYhUmYoRmYoZS5hY3Rpb25zKSkpO3JldHVybiB0Lmxlbmd0aCYmZS5sZW5ndGg+MT9lOnQubGVuZ3RoPT09MT90OltdfSxMZj1lPT57bGV0IHQ9bmV3IERhdGUoKS5nZXRUaW1lKCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+eyghZVtuXS5leHBpcmF0aW9ufHxlW25dLmV4cGlyYXRpb24mJmVbbl0uZXhwaXJhdGlvbjx0KSYmZGVsZXRlIGVbbl19KSxlfSxSZj1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dH09QShibCksbj1lLm1hdGNoKC8oXC4pKFteLl17Myw0fSkkL20pO3JldHVybiBuJiZuWzJdJiZ0LmluY2x1ZGVzKG5bMl0pfSx6Zj1hc3luYyBlPT57dHJ5e2F3YWl0IHEuZ2V0Q2xpZW50KCkubGlua09wZW5lZCh7dXJsOmV9KX1jYXRjaChlKXtqbyhgU2VuZGluZyBsaW5rIG9wZW5lZCBhbmFseXRpY3MgZXZlbnQgZmFpbGVkYCxTdHJpbmcoZSkpfX0sQmY9KGUsdCk9PntpZighdClyZXR1cm47bGV0IG49YXN5bmMgbj0+e2xldCByPW4udGFyZ2V0LmNsb3Nlc3QoYGFgKTtyJiZlLmNvbnRhaW5zKHIpJiZ0JiZhd2FpdCB6ZihyLmhyZWYpfSxyPWU9PnZvaWQgbihlKSxpPWU9PntlLmJ1dHRvbiE9PTImJm4oZSl9LGE9ZT0+dm9pZCBuKGUpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxyKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGF1eGNsaWNrYCxpKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGNvbnRleHRtZW51YCxhKSx7ZGVzdHJveSgpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgYXV4Y2xpY2tgLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY29udGV4dG1lbnVgLGEpfX19LFZmPSExLEhmPU8oKSxVZj1PKCExKSxXZj1PKCExKSxHZj0oZSx0LG4pPT57bGV0IHI9e30saT1uZXcgRGF0ZSgpLmdldFRpbWUoKStNZDtlLmZvckVhY2goKGUsbik9PnJbZV09e2V4cGlyYXRpb246aSxjYXJkOnRbbl19KTtsZXQgYT17Li4ubiwuLi5yfTtIZi5zZXQoYSksTmYoYSl9LEtmPWFzeW5jKGUsdCxuPSExKT0+e2xldCByPVtdLGk9e3R5cGU6YGNhcmRzYCxsYXlvdXQ6YGNhcm91c2VsYCxpdGVtczpbXX07VmZ8fD0oSGYuc2V0KE1mKCkpLCEwKTtsZXQgYT1qZihlKTtpZighYSlyZXR1cm4gbnVsbDtsZXQgbz1MZihBKEhmKSkscz1bXTtpZihhLmZvckVhY2godD0+e09mKGUsdCl8fChvW3QudXJsXT9yLnB1c2gob1t0LnVybF0uY2FyZCk6cy5wdXNoKHQudXJsKSl9KSxzLmxlbmd0aD4wKXt0JiZVZi5zZXQoITApLG4mJldmLnNldCghMCk7bGV0IGU9YXdhaXQgUGYocyk7ZSYmKEdmKHMsZSxvKSxyPVsuLi5yLC4uLmVdKX1yZXR1cm4gaS5pdGVtcz1JZihyKSxVZi5zZXQoITEpLFdmLnNldCghMSksaS5pdGVtcy5sZW5ndGg+MD9pOm51bGx9LHFmPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbnRhY3RNZXNzYWdlPWBjb250YWN0LW1lc3NhZ2VgLGUuQWdlbnRNZXNzYWdlPWBhZ2VudC1tZXNzYWdlYCxlLkJvdE1lc3NhZ2U9YGJvdC1tZXNzYWdlYCxlLkJvdFJlcGxpZXM9YGJvdC1yZXBsaWVzYCxlfSh7fSksSmY9YXN5bmMoe3RleHQ6ZSxxdWlja1JlcGx5OnR9KT0+e3RyeXtsZXQgbj1CKCkubG9jYXRpb24uaHJlZjtyZXR1cm4gYXdhaXQgcS5nZXRDbGllbnQoKS5jaGF0TWVzc2FnZSh7Y29udGVudDp7dHlwZTpHLk1lc3NhZ2VDb250ZW50VHlwZS5UZXh0LHRleHQ6ZX0scXVpY2tSZXBseTp0LHBhZ2VVcmw6bn0pPz9udWxsfWNhdGNoe3JldHVybiBudWxsfX0sWWY9ZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3R8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuVHJpZ2dlcixYZj1lPT5lLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlN5c3RlbSxaZj1lPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk5vdGUsUWY9ZT0+IWUuZGVsZXRlZEF0JiYhWmYoZSkmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxZZihlKSksJGY9ZT0+YGh0bWxgaW4gZSYmISFlLmh0bWwsZXA9ZT0+YHRleHRgaW4gZSYmISFlLnRleHQsdHA9KGUsdCk9Pm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCktbmV3IERhdGUodC5jcmVhdGVkQXQpLmdldFRpbWUoKSxucD0oZSx0KT0+dD09PXFmLkJvdFJlcGxpZXM/YCR7ZS5pZH0tcmVwbGllc2A6ZS5pZCxycD1lPT57bGV0IHQ9e2lzUmlnaHQ6ITEsaXNMZWZ0OiExfSxuPXtpc1ByaW1hcnk6ITEsaXNTZWNvbmRhcnk6ITF9O3N3aXRjaChlKXtjYXNlIHFmLkNvbnRhY3RNZXNzYWdlOnQuaXNSaWdodD0hMCxuLmlzUHJpbWFyeT0hMDticmVhaztkZWZhdWx0OnQuaXNMZWZ0PSEwLG4uaXNTZWNvbmRhcnk9ITB9cmV0dXJue2FsaWduOnQsdmFyaWFudDpufX0saXA9ZT0+ISFlLmFnZW50SWR8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiZlLmNvbnRlbnQudHlwZSE9PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlRpY2tldEZvcm0sYXA9KGUsdCk9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuU3lzdGVtfHx0PT09cWYuQm90UmVwbGllc3x8ZS5jb250ZW50LnR5cGU9PT1HLk1lc3NhZ2VDb250ZW50VHlwZS5UaWNrZXRGb3JtLG9wPWU9PntsZXQgdD1bXSxuPW51bGwscj1udWxsO2ZvcihsZXQgaSBvZiBlKXtpZihpLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiYoaS5jb250ZW50LmRhdGEudGFyZ2V0PT09Ry5SYXRpbmdUYXJnZXQuQWkmJiFKcCgpfHxpLmNvbnRlbnQuZGF0YS50YXJnZXQ9PT1HLlJhdGluZ1RhcmdldC5BZ2VudCYmIXFwKCkpKWNvbnRpbnVlO24mJiFocChpLG4pJiYodC5wdXNoKG4pLG49bnVsbCxyPW51bGwpLG58fD1zcChpKTtsZXQgZT1scChpLG4pO2lmKHIpe2xldCB0PV9wKHIpLG49ZHAocik7ZS5uZWlnaGJvcnMuaGFzVG9wPXQsbi5hbnkubmVpZ2hib3JzLmhhc0JvdHRvbT10LG4uYXR0YWNobWVudENvbnRleHQmJihuLmF0dGFjaG1lbnRDb250ZXh0LmV4dHJhU3BhY2VzLmhhc0JvdHRvbT15cChuLmF0dGFjaG1lbnRDb250ZXh0LmF0dGFjaG1lbnQpKX1sZXQgYT1mcChpKTtpZihhJiZ1cChhLGUsciksbi5tZXNzYWdlc0NvbnRleHQucHVzaChlKSxyPWUsKFlmKGkpfHxYZihpKSkmJlRwKGkpKXt0LnB1c2gobik7bGV0IGU9Y3AoaSk7ZS5tZXNzYWdlc0NvbnRleHQucHVzaChscChpLGUpKSx0LnB1c2goZSksbj1udWxsfX1yZXR1cm4gbiYmdC5wdXNoKG4pLHR9LHNwPWU9PntsZXQgdD1ncChlKSxuPWUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXIse2FsaWduOnIsdmFyaWFudDppfT1ycCh0KTtyZXR1cm57dHlwZTp0LGlzQm90Om4saWQ6bnAoZSx0KSxkYXRlOmUuY3JlYXRlZEF0LGFnZW50SWQ6ZS5hZ2VudElkLGFsaWduOnIsdmFyaWFudDppLG1lc3NhZ2VzQ29udGV4dDpbXSxzaG93QXZhdGFyOmlwKGUpLHVzZUZ1bGxXaWR0aDphcChlLHQpfX0sY3A9ZT0+e2xldCB0PXFmLkJvdFJlcGxpZXMse2FsaWduOm4sdmFyaWFudDpyfT1ycCh0KTtyZXR1cm57dHlwZTpxZi5Cb3RSZXBsaWVzLGlzQm90OiEwLGlkOm5wKGUsdCksZGF0ZTplLmNyZWF0ZWRBdCxhZ2VudElkOmUuYWdlbnRJZCxhbGlnbjpuLHZhcmlhbnQ6cixtZXNzYWdlc0NvbnRleHQ6W10sc2hvd0F2YXRhcjohMSx1c2VGdWxsV2lkdGg6YXAoZSx0KX19LGxwPShlLHQpPT4oe2dyb3VwOnQsbWVzc2FnZTplLG5laWdoYm9yczp7aGFzVG9wOiExLGhhc0JvdHRvbTohMX0sYXR0YWNobWVudHNDb250ZXh0OltdfSksdXA9KGUsdCxuKT0+e2xldCByPW51bGw7Zm9yKGxldCBpIG9mIGUpe2xldCBlPXZwKGkpLGE9e2hhc1RvcDohMSxoYXNCb3R0b206ITF9LG89eXAoaSkscz17aGFzVG9wOm8saGFzQm90dG9tOiExfTtpZihyKXtsZXQgdD12cChyLmF0dGFjaG1lbnQpLG49eXAoci5hdHRhY2htZW50KTtyLm5laWdoYm9ycy5oYXNCb3R0b209dCYmZSxhLmhhc1RvcD10JiZlLHIuZXh0cmFTcGFjZXMuaGFzQm90dG9tPSFvJiZufWVsc2UgaWYodC5uZWlnaGJvcnMuaGFzQm90dG9tPWUsYS5oYXNUb3A9ZSxwcCh0Lm1lc3NhZ2UpKWlmKGEuaGFzVG9wPSExLHQubmVpZ2hib3JzLmhhc1RvcD0hMSx0Lm5laWdoYm9ycy5oYXNCb3R0b209ITEsbil7bGV0IHQ9X3Aobikscj1kcChuKTthLmhhc1RvcD10JiZlLHIuYW55Lm5laWdoYm9ycy5oYXNCb3R0b209dCYmZTtsZXQgaT1yLmF0dGFjaG1lbnRDb250ZXh0O2kmJihpLmV4dHJhU3BhY2VzLmhhc0JvdHRvbT0hbyYmeXAoaS5hdHRhY2htZW50KSl9ZWxzZSBzLmhhc1RvcD0hMTtsZXQgYz17YXR0YWNobWVudDppLG5laWdoYm9yczphLGV4dHJhU3BhY2VzOnMsbWVzc2FnZUNvbnRleHQ6dH07dC5hdHRhY2htZW50c0NvbnRleHQucHVzaChjKSxyPXsuLi5jfX19LGRwPWU9PntsZXQgdD1TZChlLmF0dGFjaG1lbnRzQ29udGV4dCl8fHZvaWQgMDtyZXR1cm57YXR0YWNobWVudENvbnRleHQ6dCxhbnk6dHx8ZX19LGZwPWU9PmU/ZS5jb250ZW50Py50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuVXBsb2FkP1tlLmNvbnRlbnQuZGF0YV06ZS5hdHRhY2htZW50czpbXSxwcD1lPT4hZS5jb250ZW50LnRleHQsbXA9ZT0+e3RyeXtsZXQgdD1CKCkubG9jYXRpb24uaG9zdG5hbWUsbj1uZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGUsYHRleHQvaHRtbGApO3JldHVybiBuLnF1ZXJ5U2VsZWN0b3JBbGwoYGFbaHJlZl1gKS5mb3JFYWNoKGU9PntsZXQgbj1lLmdldEF0dHJpYnV0ZShgaHJlZmApfHxgYDtuPW4ucmVwbGFjZSgvXmh0dHBzPzpcL1wvIj9odHRwcz86XC9cLy8sYGh0dHBzOi8vYCksbj1uLnJlcGxhY2UoL14iK3wiKyQvZyxgYCksZS5zZXRBdHRyaWJ1dGUoYGhyZWZgLG4pO2xldCByPXQubGVuZ3RoPjAmJm4uaW5jbHVkZXModCk7ZS5oYXNBdHRyaWJ1dGUoYHRhcmdldGApfHxlLnNldEF0dHJpYnV0ZShgdGFyZ2V0YCxyP2BfcGFyZW50YDpgX2JsYW5rYCksZS5oYXNBdHRyaWJ1dGUoYHJlbGApfHxlLnNldEF0dHJpYnV0ZShgcmVsYCxgbm9vcGVuZXIgbm9yZWZlcnJlcmApfSksbi5ib2R5LmlubmVySFRNTH1jYXRjaHtyZXR1cm4gZX19LGhwPShlLHQpPT57bGV0IG49Z3AoZSkscj1uPT09cWYuQWdlbnRNZXNzYWdlJiZlLmFnZW50SWQ9PT10LmFnZW50SWQsaT1uPT09cWYuQ29udGFjdE1lc3NhZ2UsYT1lLnN1YlR5cGUhPT1HLk1lc3NhZ2VTdWJUeXBlLkJvdHx8KGUuY29udGVudC5xdWlja1JlcGxpZXN8fFtdKS5sZW5ndGg9PT0wO3JldHVybiB0LnR5cGU9PT1uJiYocnx8aSkmJmEmJklkKHQuZGF0ZSxlLmNyZWF0ZWRBdCl9LGdwPWU9Pntzd2l0Y2goZS5zdWJUeXBlKXtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQWdlbnQ6cmV0dXJuIHFmLkFnZW50TWVzc2FnZTtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdDpyZXR1cm4gcWYuQ29udGFjdE1lc3NhZ2U7Y2FzZSBHLk1lc3NhZ2VTdWJUeXBlLkJvdDpyZXR1cm4gcWYuQm90TWVzc2FnZX1yZXR1cm4gbnVsbH0sX3A9ZT0+e2xldCB0PWUuYXR0YWNobWVudHNDb250ZXh0Lmxlbmd0aDtyZXR1cm4hKHQ+MCYmZS5hdHRhY2htZW50c0NvbnRleHRbdC0xXS5hdHRhY2htZW50LnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUpfSx2cD1lPT5lLnR5cGUhPT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUmJmUudHlwZSE9PUcuQXR0YWNobWVudFR5cGUuQ2FyZHMseXA9ZT0+ISFlJiYoZS50eXBlPT09Ry5BdHRhY2htZW50VHlwZS5GaWxlfHxlLnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkNhcmRzKSxicD0oKT0+e2xldCBlPWdfKCk7ZS52b2x1bWU9cWMsZS5hZGRFdmVudExpc3RlbmVyKGBjYW5wbGF5dGhyb3VnaGAsKCk9PntlLnBsYXkoKS5jYXRjaChlPT5IKGBDb3VsZCBub3QgcGxheSBtZXNzYWdlIHNvdW5kLmAsZSkpfSl9LHhwPUtkKGJwLEpjKSxTcD1lPT5lLmZpbHRlcihlPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk1lc3NhZ2UmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QpKSxDcD0oZSx0PSEwKT0+e2xldCBuPWUucmVkdWNlKChlLHQpPT4oZS5wdXNoKHQpLHQuY29udGVudC50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuQ2hhdENsb3NlfHx0LmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLkNoYXRWaXNpdG9yQ2xvc2U/W106ZSksW10pO3JldHVybiB0P24uZmlsdGVyKGU9PmUudHlwZT09PUcuTWVzc2FnZVR5cGUuTWVzc2FnZSYmZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5TeXN0ZW0pOm59LHdwPWU9PntsZXQgdD17fTtyZXR1cm4gZS5mb3JFYWNoKGU9PntlLnRyaWdnZXImJih0W2UudHJpZ2dlci5pZF09e3NlbnQ6ITB9KX0pLHR9LFRwPWU9PiEhKGUuY29udGVudC5xdWlja1JlcGxpZXMmJmUuY29udGVudC5xdWlja1JlcGxpZXMubGVuZ3RoPjApLEVwPWFzeW5jKGUsdD0hMSk9PntsZXQgbj1RZihlKSxyPSF0JiZuO2lmKGBodG1sYGluIGUuY29udGVudCYmZS5jb250ZW50Lmh0bWwmJihlLmNvbnRlbnQuaHRtbD1tcChlLmNvbnRlbnQuaHRtbCkpLGUuY29udGVudD8udGV4dCYmVi5nZXRPcHRpb25zKCkudXJsQ2FyZHNFbmFibGVkJiZlLmF0dGFjaG1lbnRzLmxlbmd0aD09PTApe2xldCB0PWF3YWl0IEtmKGUuY29udGVudC50ZXh0LGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCxyKTt0JiZ0Lml0ZW1zLmxlbmd0aD4wJiZlLmF0dGFjaG1lbnRzLnB1c2godCl9cmV0dXJuIG5kLnNldCghMSksZX0sRHA9YXN5bmMgZT0+KFYuZ2V0T3B0aW9ucygpLnVybENhcmRzRW5hYmxlZCYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgZT0+YXdhaXQgRXAoZSkpKSxlKSxPcD1lPT5lLmZpbmRJbmRleChlPT5lLm1lc3NhZ2UuY2hhbm5lbC50eXBlPT09YGVtYWlsYCk+LTEsa3A9ZT0+ZS5maW5kKGU9PmUubWVzc2FnZT8udHJpZ2dlcj8uaWRlbnRpdHlJZCk/Lm1lc3NhZ2U/LnRyaWdnZXI/LmlkZW50aXR5SWQsSj0oKCk9PntsZXQgZT1PKHt9KSx7c3Vic2NyaWJlOnQsdXBkYXRlOm4sc2V0OnJ9PWUsaT1hc3luYyBlPT57cihybChgaWRgLGF3YWl0IERwKGUpKSl9LGE9YXN5bmMgZT0+e2xldCB0PWF3YWl0IEVwKGUpO1lmKGUpJiZNcC5zZXQoITEpLG4obj0+KHsuLi5uLFtlLmlkXTp0fSkpLGpwKHQpfSxvPWFzeW5jIGU9PntpZighQShScCkuc29tZSh0PT50LmlkPT09ZS5pZCkpcmV0dXJuO2xldCB0PUEoQnApPT09ZS5pZD9hd2FpdCBFcChlLCEwKTplO24obj0+KHsuLi5uLFtlLmlkXTp0fSkpfTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0TWVzc2FnZXM6aSxhZGRNZXNzYWdlOmEsZGVsZXRlTWVzc2FnZTplPT57bih0PT57bGV0e1tlXTpuLC4uLnJ9PXQ7cmV0dXJuIHJ9KX0sbWFya01lc3NhZ2VBc0RlbGV0ZWQ6KHQscik9PntsZXQgaT1BKGUpW3RdO2kmJm4oZT0+KHsuLi5lLFtpLmlkXTp7Li4uaSxkZWxldGVkQXQ6cj8/bmV3IERhdGUoKS50b0lTT1N0cmluZygpfX0pKX0scmVwbGFjZU1lc3NhZ2U6byx1cGRhdGVNZXNzYWdlUmF0aW5nOmU9PntBKGlkKT09PWUuY29udGVudC5kYXRhPy50YXJnZXQmJnhkKCksbih0PT4hZXx8ZS5jb250ZW50LnR5cGUhPT1HLk1lc3NhZ2VDb250ZW50VHlwZS5SYXRlRm9ybT97Li4udH06KHRbZS5pZF18fFlwKGUuaWQpLHsuLi50LFtlLmlkXTplfSkpfSxzZW5kTWVzc2FnZTphc3luYyhlLHQpPT57S3Auc2V0KGUpO2xldCBuPWF3YWl0IEpmKHt0ZXh0OmV9KTtuJiYoS3Auc2V0KG51bGwpLGF3YWl0IGEobiksei5lbWl0KGBtZXNzYWdlU2VudGAsbiksd2goQSgkdSkpKSxhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChlPT5PZChlKSkpfSxzZW5kQm90UmVwbHk6YXN5bmMoZSx0LG4pPT57bGV0IHI9YXdhaXQgSmYoe3RleHQ6dCxxdWlja1JlcGx5OntyZXBseVRvOmUscGF5bG9hZDpufX0pO24uaXNHb0JhY2tCdXR0b258fEptKHQpLHImJmF3YWl0IG8ocil9LGNsZWFyTWVzc2FnZXM6KCk9PntyKHt9KX19fSkoKSxBcD1lPT57QShSXyl8fElfKCksUV8oKSxzZXRUaW1lb3V0KCgpPT57Si5hZGRNZXNzYWdlKGUpLCRfKCl9LDE2MDApfSxqcD1lPT57ZSYmQShEXykmJkEoUl8pJiYhKEEoa18pJiZBKFgpKSYmX18oZSkmJnhwKCl9LE1wPU8oITEpLE5wPWsoW0pdLChbZV0pPT57bGV0IHQ9T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoUWYpO3JldHVybiB0P1NkKHQuc29ydCgoZSx0KT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpLmdldFRpbWUoKS1uZXcgRGF0ZSh0LmNyZWF0ZWRBdCkuZ2V0VGltZSgpKSk6bnVsbH0pLFBwPWsoW0oscmRdLChbZSx0XSk9PntsZXQgbj1PYmplY3QudmFsdWVzKGUpLmZpbHRlcihRZik7cmV0dXJuIHQ/bi5maWx0ZXIoZT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpPm5ldyBEYXRlKHQpKTpufSksRnA9ayhbUHBdLChbZV0pPT5TZChlKSksSXA9ayhbUHBdLChbZV0pPT5lLmxlbmd0aCksTHA9ayhbSXBdLChbZV0pPT5lPjApLFJwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLnNvcnQodHApKSx6cD1rKFtScF0sKFtlXSk9Pm9wKGUpKSxCcD1rKFtScF0sKFtlXSk9PlNkKGUpPy5pZD8/bnVsbCksVnA9ayhbSl0sKFtlXSk9PlNkKE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKGU9PnR5cGVvZiBlLndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD09YGJvb2xlYW5gKSk/LndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD8/ITEpLEhwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLmZpbHRlcihlPT5lLnN1YlR5cGU9PT1gY29udGFjdGB8fGUuc3ViVHlwZT09PWBhZ2VudGApLmxlbmd0aD4wKSxVcD1rKFtKXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KS5sZW5ndGg+MCksV3A9ayhbSixDc10sKFtlLHRdLG4pPT57aWYodCl7bGV0IHI9ZVt0XTtyJiZyLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiZuKHttZXNzYWdlSWQ6ci5pZCx2YWx1ZTpyLmNvbnRlbnQuZGF0YT8udmFsdWUsdGV4dDpyLmNvbnRlbnQuZGF0YT8udGV4dCx0YXJnZXQ6ci5jb250ZW50LmRhdGE/LnRhcmdldH0pfWVsc2UgbihudWxsKX0pLEdwPWsoW1JwXSwoW2VdKT0+ZS5zbGljZSgpLnJldmVyc2UoKS5maW5kKGU9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCl8fG51bGwpLEtwPU8obnVsbCkscXA9KCk9PiEhVi5nZXRPcHRpb25zKCkucmF0aW5nRW5hYmxlZCxKcD0oKT0+ISFWLmdldE9wdGlvbnMoKS5haVJhdGluZ0VuYWJsZWQsWXA9ZT0+e0NzLnNldChlKSxCYyhIYy5DaGF0UmF0aW5nKX0sWHA9YXN5bmMoe21lc3NhZ2VJZDplLHJhdGluZzp7dGV4dDp0LHZhbHVlOm59LG9uU3VjY2VzczpyfSk9PntsZXQgaT1BKEopW2VdLGE9ZT09PWByYXRlX2Zvcm1faWRgP3ZvaWQgMDplO3RyeXthd2FpdCBxLmdldENsaWVudCgpLmNoYXRSYXRlKHttZXNzYWdlSWQ6YSx2YWx1ZTpuLHRleHQ6dD8/dm9pZCAwfSksciYmcigpfWNhdGNoKGUpe2kmJmF3YWl0IEoucmVwbGFjZU1lc3NhZ2UoaSksam8oYENoYXQgcmF0aW5nIGZhaWxlZC5gLFN0cmluZyhlKSksZ3MoQShXKShgZm9ybS5zdWJtaXQuZXJyb3JgKSl9fSxacD1lPT57bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvcmF0aW5nLyR7ZX0uc3ZnYH0sUXA9LyhHLShbQS1aLDAtOV0qKSkvZywkcD1bXSxlbT0hMSx0bSxubT0hMSxybSxpbT1lPT5lLm1hdGNoKFFwKSxhbT0oKT0+e2xldHtnb29nbGVBbmFseXRpY3NFbmFibGVkOmV9PVYuZ2V0T3B0aW9ucygpO3RtPXdpbmRvdy50b3B8fHdpbmRvdyxlJiYodG0uZ3RhZyYmKHJtPXRtLmd0YWcsbm09ITApLHoub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxvbSksIWVtJiZVbygpJiZzbSgpKX0sb209ZT0+eyFlbSYmZSYmc20oKX0sc209KCk9PntsZXR7Z2FLZXk6ZSxnYU9wdGlvbnM6dCxnb29nbGVBbmFseXRpY3NNYW51YWw6bixnb29nbGVBbmFseXRpY3NNZWFzdXJlbWVudElkczpyfT1WLmdldE9wdGlvbnMoKSxpPXR8fHtjb29raWVEb21haW46YGF1dG9gfTtpZihlKWltKGUpJiYkcC5wdXNoKHtrZXk6ZSxvcHRpb25zOml9KTtlbHNlIGlmKG4mJnIpci5mb3JFYWNoKGU9PntpbShlKSYmJHAucHVzaCh7a2V5OmUsb3B0aW9uczppfSl9KTtlbHNlIHRyeXskcC5wdXNoKC4uLmNtKCkpfWNhdGNoKGUpe3ZvKGBFcnJvciBkdXJpbmcgZ2V0dGluZyBHQSB0b3AgdHJhY2tlcnNgLGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSl9JHAubGVuZ3RoPjAmJiFubSYmbG0oKSwkcC5sZW5ndGg9PT0wP3ZvKGBObyBHQSB0byBzZXR1cGApOihkbSgpLGVtPSEwLHZvKGBHQSBpbml0aWFsaXplZGApKX0sY209KCk9PntsZXQgZT1bXTtyZXR1cm4gdG0uZ29vZ2xlX3RhZ19tYW5hZ2VyJiZPYmplY3Qua2V5cyh0bS5nb29nbGVfdGFnX21hbmFnZXIpLmZvckVhY2godD0+e2ltKHQpJiZlLnB1c2goe2tleTp0LG9wdGlvbnM6e2Nvb2tpZURvbWFpbjpgYXV0b2B9fSl9KSxlfSxsbT0oKT0+e2xldCBlPXRtLmRvY3VtZW50LHtoZWFkOnR9PWUsbj1lLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApO24uaWQ9YGd0YWdgLG4udHlwZT1gdGV4dC9qYXZhc2NyaXB0YCxuLmFzeW5jPSEwLG4uc3JjPWBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzYCx0Lmluc2VydEJlZm9yZShuLHQuZmlyc3RDaGlsZCksdG0uZGF0YUxheWVyPXRtLmRhdGFMYXllcnx8W10sdG0uZ3RhZz1mdW5jdGlvbigpe3RtLmRhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9LHJtPXRtLmd0YWcscm0oYGpzYCxuZXcgRGF0ZSl9LHVtPSgpPT57bGV0IGU9W107aWYobm0pe2xldCB0PWNtKCk7JHAuZm9yRWFjaChuPT57dC5maW5kKCh7a2V5OmV9KT0+ZT09PW4ua2V5KXx8ZS5wdXNoKG4pfSl9ZWxzZSBlPVsuLi4kcF07cmV0dXJuIGV9LGRtPSgpPT57dW0oKS5mb3JFYWNoKGU9PntsZXR7a2V5OnQsb3B0aW9uczpufT1lLHI9e307bj8ocj17Y29va2llX2RvbWFpbjpuLmNvb2tpZURvbWFpbn0sbi5uYW1lJiYoci5uYW1lPW4ubmFtZSkpOnI9e2Nvb2tpZV9kb21haW46dG0/LmxvY2F0aW9uLmhvc3RuYW1lfHxgYH0sci5zZW5kX3BhZ2Vfdmlldz0hMSxybShgY29uZmlnYCx0LHIpfSl9LGZtPShlLHQpPT57bGV0e2dvb2dsZUFuYWx5dGljc0VuYWJsZWQ6bn09Vi5nZXRPcHRpb25zKCk7aWYoISghbnx8IXRtLmd0YWd8fCFVbygpfHx0bS5kb2N1bWVudC5oaWRkZW4pKXRyeXskcC5mb3JFYWNoKG49Pnt0LnNlbmRfdG89bi5rZXkscm0oYGV2ZW50YCxlLHQpLHZvKGBTbWFydHN1cHA6IEdBIGV2ZW50ICR7ZX0gLSAke0pTT04uc3RyaW5naWZ5KHQpfWApfSl9Y2F0Y2goZSl7dm8oYFNtYXJ0c3VwcDogR0EgZXJyb3I6YCxlIGluc3RhbmNlb2YgRXJyb3I/ZS5tZXNzYWdlOmUpfX0scG09YFZpc2l0b3Jfc3RhcnRlZF9jb252ZXJzYXRpb25gLG1tPWBWaXNpdG9yX2Nsb3NlZF9jb252ZXJzYXRpb25gLGhtPWBUcmlnZ2VyX21lc3NhZ2Vfc2VudGAsZ209YFRyaWdnZXJfbWVzc2FnZV92aWV3ZWRgLF9tPWBUcmlnZ2VyX3Zpc2l0b3JfcmVhY3Rpb25gLHZtPWBBdXRvX21lc3NhZ2Vfc2VudGAseW09YEF1dG9fbWVzc2FnZV92aWV3ZWRgLGJtPWBBdXRvX21lc3NhZ2VfdmlzaXRvcl9yZWFjdGlvbmAseG09YENoYXRib3Rfc2VudGAsU209YENoYXRib3Rfdmlld2VkYCxDbT1gQ2hhdGJvdF9pbnRlcmFjdGlvbmAsd209YENoYXRib3RfYnV0dG9uX2ludGVyYWN0aW9uYCxUbT1gQ2hhdGJvdF92aXNpdG9yX3JlYWN0aW9uYCxFbT1gQWlfY2hhdGJvdF9zZW50YCxEbT1gQWlfY2hhdGJvdF9pbnRlcmFjdGlvbmAsT209YEFpX2NoYXRib3RfdmlzaXRvcl9yZWFjdGlvbmAsa209YEFnZW50X3NlcnZlZF9jb252ZXJzYXRpb25gLEFtPWBBZ2VudF9jbG9zZWRfY29udmVyc2F0aW9uYCxqbT1gQ29udGFjdF9hY3F1aXJlZGAsTW09YEF1dGhfZm9ybV9maWxsZWRgLE5tPWBPZmZsaW5lX21lc3NhZ2Vfc2VudGAsUG09YEZlZWRiYWNrX3NlbnRgLEZtPWBGZWVkYmFja190ZXh0X3NlbnRgLEltPWBVcmxfY2FyZF9vcGVuZWRgLExtPWBDaGF0Ym94X29wZW5lZGAsUm09e2V2ZW50X2NhdGVnb3J5OmBTbWFydHN1cHBfdjNgLG5vbl9pbnRlcmFjdGlvbjohMH0sWT0oZSx0KT0+e2ZtKGUsey4uLlJtLC4uLnR9KX0sem09KGU9YGApPT5ZKGhtLHtldmVudF9sYWJlbDplfSksQm09ZT0+WShnbSx7ZXZlbnRfbGFiZWw6ZX0pLFZtPShlPWBgKT0+WShfbSx7ZXZlbnRfbGFiZWw6ZX0pLEhtPShlPWBgKT0+WSh2bSx7ZXZlbnRfbGFiZWw6ZX0pLFVtPWU9PlkoeW0se2V2ZW50X2xhYmVsOmV9KSxXbT0oZT1gYCk9PlkoYm0se2V2ZW50X2xhYmVsOmV9KSxHbT0oZT1gYCk9PlkoeG0se2V2ZW50X2xhYmVsOmV9KSxLbT1lPT5ZKFNtLHtldmVudF9sYWJlbDplfSkscW09KGU9YGApPT5ZKENtLHtldmVudF9sYWJlbDplfSksSm09KGU9YGApPT5ZKHdtLHtldmVudF9sYWJlbDplfSksWW09KGU9YGApPT5ZKFRtLHtldmVudF9sYWJlbDplfSksWG09KCk9PlkocG0pLFptPSgpPT5ZKG1tKSxRbT1lPT5ZKEFtLHtldmVudF9sYWJlbDplfSksJG09ZT0+WShrbSx7ZXZlbnRfbGFiZWw6ZX0pLGVoPSgpPT5ZKE1tKSx0aD0oKT0+WShObSksbmg9KGUsdCk9PntsZXQgbj17ZXZlbnRfbGFiZWw6dHx8dnNbZV18fGBgLHZhbHVlOmV9O1kodD9GbTpQbSxuKX0scmg9ZT0+WShqbSx7ZXZlbnRfbGFiZWw6ZX0pLGloPWU9PlkoSW0se2V2ZW50X2xhYmVsOmV9KSxhaD0oZT1gYCk9PlkoRW0se2V2ZW50X2xhYmVsOmV9KSxvaD0oZT1gYCk9PlkoRG0se2V2ZW50X2xhYmVsOmV9KSxzaD0oZT1gYCk9PlkoT20se2V2ZW50X2xhYmVsOmV9KSxjaD0oKT0+WShMbSksbGg9ITEsdWg9e30sZGg9KCk9PntsaD0hMX0sZmg9KCk9Pnt1aD13cChBKFJwKSl9LHBoPShlLHQpPT5saD8hMTpDcChlKS5sZW5ndGg9PT0xJiZ0PT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0PyhsaD0hMCwhMCk6ITEsbWg9KGUsdCk9PntsZXQgbj1lLnRyaWdnZXI/LmlkfHxgYDtyZXR1cm4gdC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiZlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJiF1aFtuXT8udmlzaXRvclJlc3BvbmRlZD8odWhbbl0udmlzaXRvclJlc3BvbmRlZD0hMCwhMCk6ITF9LGhoPShlLHQpPT57bGV0IG49ZS50cmlnZ2VyPy5pZHx8YGA7cmV0dXJuIHQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCYmISh0LmNvbnRlbnQucXVpY2tSZXBsaWVzfHx0LmNvbnRlbnQucXVpY2tSZXBseSkmJmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiYhdWhbbl0/LnZpc2l0b3JSZXNwb25kZWQmJm4/KHVoW25dLnZpc2l0b3JSZXNwb25kZWQ9ITAsITApOiExfSxnaD0oZSx0KT0+e2xldCBuPWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiB0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QmJmUudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmIXVoW25dPy5yZWFjdGVkPyh1aFtuXS5yZWFjdGVkPSEwLCEwKTohMX0sX2g9ZT0+e2xldCB0PWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiBlLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYhdWhbdF0/LnJlYWN0ZWQ/KHVoW3RdLnJlYWN0ZWQ9ITAsITApOiExfSx2aD0oZSx0LG49ITEpPT57aWYoZS5sZW5ndGg+MCYmIW4pe2xldCB0PWUuc2xpY2UoLTIpLmZpbHRlcihlPT5lLnRyaWdnZXIpO3JldHVybiB0P3RbdC5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZTpgYH1lbHNlIHJldHVybiB0LnRyaWdnZXI/dC50cmlnZ2VyLm5hbWU6YGB9LHloPWU9PntsZXQgdD1BKFJwKTt4aCh0LGUpLFNoKHQsZSkscGgodCxlLnN1YlR5cGUpJiZYbSgpfSxiaD1lPT57bGV0IHQ9ZSxuPUEoUnApLmZpbHRlcihlPT5lLnRyaWdnZXIpO24mJm4ubGVuZ3RoPjAmJih0PW5bbi5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZT8/ZSkscmgodCl9LHhoPShlLHQpPT57bGV0IG49dC50cmlnZ2VyPy5pZHx8YGA7dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJiF1aFtuXT8uc2VudCYmKHQudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmKEdtKHZoKGUsdCwhMCkpLHVoW25dPXtzZW50OiEwfSksdC50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5tZXNzYWdlJiYoSG0odmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSx0LnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYoYWgodmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSk7bGV0IHI9ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtyJiYoaGgocix0KT8oci50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5jaGF0Ym90JiZZbSh2aChlLHQpKSxyLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLm1lc3NhZ2UmJldtKHZoKGUsdCkpLHIudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuYWkmJnNoKHZoKGUsdCkpKTpnaChyLHQpP3FtKHZoKGUsdCkpOl9oKHQpJiZvaCh2aChlLHQpKSl9LFNoPShlLHQpPT57dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5UcmlnZ2VyJiYoem0odD8udHJpZ2dlcj8ubmFtZSksdWhbdC50cmlnZ2VyPy5pZHx8YGBdPXtzZW50OiEwfSk7bGV0IG49ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtuJiZtaChuLHQpJiZWbSh2aChlLHQpKX0sQ2g9KCk9PntsZXQgZT1BKFBwKS5maWx0ZXIoZT0+ZS50cmlnZ2VyKSx0PWVbZS5sZW5ndGgtMV07dCYmdC50cmlnZ2VyJiYodC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJnQuY29udGVudC5xdWlja1JlcGxpZXM/S20odC50cmlnZ2VyLm5hbWUpOnQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90P1VtKHQudHJpZ2dlci5uYW1lKTp0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJkJtKHQudHJpZ2dlci5uYW1lKSl9LHdoPWU9PntlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJnRoKCl9O3oub24oYG1lc3NhZ2VSZWNlaXZlZGAseWgpLHoub24oYGFnZW50Sm9pbmVkYCxlPT57JG0oZS5mdWxsbmFtZSl9KSx6Lm9uKGBjaGF0UmF0ZWRgLGU9PntuaChlLnZhbHVlLGUudGV4dCl9KSx6Lm9uKGBjaGF0Q2xvc2VkYCwoKT0+e2RoKCl9KSx6Lm9uKGBjaGF0VmlzaXRvckNsb3NlZGAsKCk9PntkaCgpfSksei5vbihgY29udGFjdEFjcXVpcmVkYCwoe2FjcXVpcmVkQnk6ZX0pPT57YmgoZSl9KSxYbC5wdXNoKGZoKTt2YXIgVGg9e0Fycm93RG93bjpgQXJyb3dEb3duYCxBcnJvd1VwOmBBcnJvd1VwYCxFbnRlcjpgRW50ZXJgLEVzY2FwZTpgRXNjYXBlYCxUYWI6YFRhYmB9LEVoPTJlMyxEaD0yZTMsT2g9ZT0+ZS5maWx0ZXIoZT0+IWUuaXNIaWRkZW4pLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbHVlLGUpLHt9KSxraD1lPT5lLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbGlkYXRvcnMsZSkse30pLEFoPShlLHQsbik9PntlLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LGpoPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIGluIGUpbltyXT10O3JldHVybiBufSxNaD0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNiksTmg9ZT0+e2lmKCFlKXJldHVybiExO2xldCB0PWUuc3BsaXQoYEBgKTtpZih0Lmxlbmd0aCE9PTIpcmV0dXJuITE7bGV0IG49dFswXSxyPXRbMV07cmV0dXJuIG4ubGVuZ3RoPjY0fHxyLmxlbmd0aD4yNTV8fHIuc3BsaXQoYC5gKS5zb21lKGU9PmUubGVuZ3RoPjYzKT8hMTp5Zi50ZXN0KGUpfSxQaD1udWxsLEZoPWU9PntsZXQgdD1lLmluaXRpYWxWYWx1ZXN8fHt9LHt2YWxpZGF0b3JzOm4sb25DaGFuZ2U6cixvblN1Ym1pdDppfT1lLGE9KCk9Pih7Li4udH0pLG89amgodCxQaCkscz1PKGEoKSksYz1PKG8pLGw9TyhqaCh0LCExKSksdT1PKCExKSxkPWsoYyxlPT5PYmplY3QudmFsdWVzKGUpLmV2ZXJ5KGU9PmU9PT1QaCkpLGY9KCk9PntPYmplY3QuZW50cmllcyhBKHMpKS5mb3JFYWNoKChbZSx0XSk9PntlZShlLHQpfSl9LHA9ZT0+e2xldCB0PWUudGFyZ2V0O3QmJl8odC5uYW1lfHx0LmlkLHQudmFsdWUpfSxtPWFzeW5jIGU9PntpZihlJiZlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksdS5zZXQoITApLGYoKSwhQShkKSl7dS5zZXQoITEpO3JldHVybn1jLnNldChvKSxhd2FpdCBpKEEocykpLHUuc2V0KCExKX0saD0oZSx7c2hvdWxkVmFsaWRhdGU6dD0hMX09e30pPT57cy51cGRhdGUodD0+KHsuLi50LC4uLmV9KSksdCYmZigpfSxnPShlLHQpPT57XyhlLHQpfSxfPShlLHQpPT57dihlLHQpLGVlKGUsdCksciYmcihlLHQpfSx2PShlLHQpPT57QWgocyxlLHQpfSx5PShlLHQpPT57QWgobCxlLHQpfSxlZT0oZSx0KT0+e3koZSx0KTtsZXQgcj1uW2VdO2lmKHIpZm9yKGxldCBuIG9mIHIpe2xldHt0eXBlOnIsaXNWYWxpZDppfT1uKHQpO2lmKEFoKGMsZSxpP1BoOnIpLCFpKXJldHVybn19O3JldHVybntmb3JtOnMsZXJyb3JzOmMsaXNWYWxpZDpkLGlzU3VibWl0dGluZzp1LGhhbmRsZUNoYW5nZTpwLGhhbmRsZVN1Ym1pdDptLHNldEZpZWxkVmFsdWU6ZyxzZXRWYWx1ZXM6aH19LEloPWZ1bmN0aW9uKGUpe3JldHVybiBlLlRleHQ9YHRleHRgLGUuQ2hlY2tib3g9YGNoZWNrYm94YCxlLlNlbGVjdD1gc2VsZWN0YCxlfSh7fSksTGg9KCk9PmU9PntsZXQgdD0hMDtyZXR1cm4gZT8/KHQ9ITEpLEx1KGUpJiYodD1lLnRyaW0oKS5sZW5ndGg+MCkse3R5cGU6YHJlcXVpcmVkYCxpc1ZhbGlkOnR9fSxSaD0oKT0+ZT0+KHt0eXBlOmBjaGVja2VkYCxpc1ZhbGlkOkx1KGUpP2U9PT1gdHJ1ZWA6ZT09PSEwfSksemg9KCk9PmU9Pih7dHlwZTpgZW1haWxgLGlzVmFsaWQ6TmgoU3RyaW5nKGUpKX0pLEJoPSgpPT5lPT4oe3R5cGU6YHBob25lYCxpc1ZhbGlkOi9eWytdKlsoXXswLDF9WzAtOV17MSw0fVspXXswLDF9Wy1zLi8wLTldKiQvLnRlc3QoU3RyaW5nKGUpKX0pLFZoPU8odm9pZCAwKSxIaD1lPT57bGV0e2VtYWlsQ29udHJvbDp0fT1WLmdldE9wdGlvbnMoKSxuPSEhZT8uZW1haWw7cmV0dXJuIHQmJiFufSxVaD1lPT57bGV0e25hbWVDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5uYW1lO3JldHVybiB0JiYhbn0sV2g9ZT0+e2xldHtudW1iZXJDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5waG9uZTtyZXR1cm4hIXQmJiFufSxHaD0oKT0+e2xldHtncm91cFNlbGVjdEVuYWJsZWQ6ZX09Vi5nZXRPcHRpb25zKCksdD1BKGFsKTtyZXR1cm4hIWUmJnQubGVuZ3RoPjB9LEtoPSgpPT57bGV0e3ByaXZhY3lOb3RpY2VFbmFibGVkOmUscHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1jZygpO3JldHVybiEhZSYmdCYmIW59LHFoPWU9PntsZXR7cHJpdmFjeU5vdGljZUVuYWJsZWQ6dH09Vi5nZXRPcHRpb25zKCksbj0hIWU/LnZhcmlhYmxlcz8ucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQ7cmV0dXJuISF0JiYhbn0sSmg9KCk9Pih7dHlwZTpJaC5UZXh0LHN1YlR5cGU6YGVtYWlsYCxuYW1lOmBlbWFpbGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmVtYWlsYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0ueW91ckVtYWlsYCx2YWx1ZTpgYCx2YWxpZGF0b3JzOltMaCgpLHpoKCldLG1heExlbmd0aDoyNTV9KSxZaD0oKT0+KHt0eXBlOkloLlRleHQsc3ViVHlwZTpgdGV4dGAsbmFtZTpgbmFtZWAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLm5hbWVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyTmFtZWAsdmFsdWU6YGAsdmFsaWRhdG9yczpbTGgoKV0sbWF4TGVuZ3RoOjI1NX0pLFhoPSgpPT4oe3R5cGU6SWguVGV4dCxzdWJUeXBlOmB0ZWxgLG5hbWU6YHBob25lYCxsYWJlbDpgYXV0aEZvcm0ubGFiZWwucGhvbmVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyUGhvbmVgLHZhbHVlOmBgLHZhbGlkYXRvcnM6W0xoKCksQmgoKV0sbWF4TGVuZ3RoOjMyfSksWmg9ZT0+e2xldCB0PUEoYWwpO3JldHVybnt0eXBlOkloLlNlbGVjdCxuYW1lOmBncm91cGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmdyb3VwYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0uZ3JvdXBgLHZhbHVlOmU/Lmdyb3VwPz9gYCx2YWxpZGF0b3JzOltMaCgpXSxvcHRpb25zOnQubWFwKGU9Pih7dGV4dDplLm5hbWUsdmFsdWU6ZS5rZXl9KSl9fSxRaD0oKT0+KHt0eXBlOkloLkNoZWNrYm94LG5hbWU6YHBlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50YCxsYWJlbDpgYXV0aEZvcm0uYWNjZXB0VGVybXNgLHZhbHVlOiExLHZhbGlkYXRvcnM6W1JoKCldfSksJGg9KCk9Pih7dHlwZTpJaC5DaGVja2JveCxuYW1lOmBwZXJzb25hbERhdGFQcm9jZXNzaW5nQ29uc2VudGAsbGFiZWw6YHRvcEJhci5nZHByVGl0bGVgLHZhbHVlOiExLHZhbGlkYXRvcnM6W10saXNIaWRkZW46ITB9KSxlZz1lPT4oe3Nob3dFbWFpbDpIaChlKSxzaG93TmFtZTpVaChlKSxzaG93UGhvbmU6V2goZSksc2hvd0dyb3VwczpHaCgpLHNob3dDb25zZW50OktoKCl9KSx0Zz1lPT4oe3Nob3dFbWFpbDohIWUuZW1haWxDb250cm9sLHNob3dOYW1lOiEhZS5uYW1lQ29udHJvbCxzaG93UGhvbmU6ISFlLm51bWJlckNvbnRyb2wsc2hvd0dyb3VwczohIWUuZ3JvdXBTZWxlY3RFbmFibGVkLHNob3dDb25zZW50OiEhZS5wcml2YWN5Tm90aWNlRW5hYmxlZCYmZS5wcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZH0pLG5nPWU9Pk9iamVjdC52YWx1ZXMoZWcoZSkpLnNvbWUoZT0+ZSkscmc9KGUsdCk9PntsZXQgbj1bXSx7c2hvd0VtYWlsOnIsc2hvd05hbWU6aSxzaG93UGhvbmU6YSxzaG93R3JvdXBzOm8sc2hvd0NvbnNlbnQ6c309dD90Zyh0KTplZyhlKTtyZXR1cm4gaSYmbi5wdXNoKFloKCkpLHImJm4ucHVzaChKaCgpKSxhJiZuLnB1c2goWGgoKSksbyYmbi5wdXNoKFpoKGUpKSxzP24ucHVzaChRaCgpKTpuLmxlbmd0aD4wJiYodD90Py5wcml2YWN5Tm90aWNlRW5hYmxlZDpxaChlKSkmJm4ucHVzaCgkaCgpKSxufSxpZz0oKT0+e2xldCBlPXpvKFUuQXV0aEZvcm0pO2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gbnVsbH19LGFnPShlLHQpPT57bGV0IG49aWcoKSxyPXtbZV06dH0saT1uP3suLi5uLC4uLnJ9OnI7Qm8oe25hbWU6VS5BdXRoRm9ybSx2YWx1ZTpKU09OLnN0cmluZ2lmeShpKX0pfSxvZz0oKT0+e0xvKFUuQXV0aEZvcm0pfSxzZz0oKT0+ISFBKE11KT8udmFyaWFibGVzPy5hdXRoZW50aWNhdGVkLGNnPSgpPT5BKE11KT8uZ2RwckFwcHJvdmVkfHwhMSxsZz0oKT0+e2xldHtpc1ByZXZpZXdNb2RlOmV9PVYuZ2V0T3B0aW9ucygpO2lmKGV8fEEocGQpfHxzZygpfHwhbmcoQShNdSkpKXJldHVybiExO2xldHtyZXF1aXJlTG9naW46dH09Vi5nZXRPcHRpb25zKCksbj1BKCR1KT09PUsuQWNjb3VudFN0YXR1cy5PZmZsaW5lLHI9QShVdSkubGVuZ3RoPjA7cmV0dXJuISF0fHxufHwhbiYmIXJ9LHVnPWFzeW5jIGU9PntsZXR7cHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1BKE11KSxyPW4/Lm5hbWU/P2UubmFtZSxpPW4/LmVtYWlsPz9lLmVtYWlsLGE9bj8ucGhvbmU/P2UucGhvbmUsbz1lLmdyb3VwPz9uPy5ncm91cCxzPWUucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQsYz17Li4uciYme25hbWU6cn0sLi4uaSYme2VtYWlsOml9LC4uLmEmJntwaG9uZTphfSwuLi5vJiZ7Z3JvdXA6b30sLi4ucyYmdCYme3BlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50OnN9fTthd2FpdCBxLmdldENsaWVudCgpLmF1dGhlbnRpY2F0ZShjKSxlaCgpLGF3YWl0IHVfKCksVmMoKX0sZGc9YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGVtb2ppLW1hcnQvZGF0YWAsZmc9UmVnRXhwKGA6KFthLXpBLVowLTlfLV0rKTpgLGBnYCkscGc9bnVsbCxtZz1udWxsLGhnPW51bGwsZ2c9TyhbXSksX2c9YXN5bmMoKT0+cGd8fGhnfHwoaGc9ZmV0Y2goZGcpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+KHBnPWUsZSkpLmNhdGNoKGU9Pnt0aHJvdyB2byhgRmFpbGVkIHRvIGxvYWQgZW1vamkgZGF0YWAsZSksaGc9bnVsbCxlfSksaGcpLHZnPWU9Pk9iamVjdC52YWx1ZXMoZS5lbW9qaXMpLm1hcChlPT4oe2lkOmUuaWQsbmFtZTplLm5hbWUsbmF0aXZlOmUuc2tpbnNbMF0/Lm5hdGl2ZT8/YGAsa2V5d29yZHM6ZS5rZXl3b3Jkcz8/W119KSkseWc9e3N1YnNjcmliZTpnZy5zdWJzY3JpYmUsYXN5bmMgbG9hZFJhd0RhdGEoKXtyZXR1cm4gX2coKX0sYXN5bmMgbG9hZERhdGEoKXtyZXR1cm4gbWd8fChtZz12Zyhhd2FpdCBfZygpKSxnZy5zZXQobWcpLG1nKX0sZ2V0QnlJZChlKXtsZXQgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG1nPy5maW5kKGU9PmUuaWQudG9Mb3dlckNhc2UoKT09PXQpfSxpc0xvYWRlZCgpe3JldHVybiBtZyE9PW51bGx9fSxiZz1lPT55Zy5pc0xvYWRlZCgpP2UucmVwbGFjZShmZywoZSx0KT0+e2xldCBuPXlnLmdldEJ5SWQodCk7cmV0dXJuIG4/bi5uYXRpdmU6ZX0pOmUseGc9MjAsU2c9eyI6KSI6YPCfmYJgLCI6LSkiOmDwn5mCYCwiOkQiOmDwn5iAYCwiOi1EIjpg8J+YgGAsIjspIjpg8J+YiWAsIjstKSI6YPCfmIlgLCI8MyI6YOKdpO+4j2AsIjooIjpg8J+YnmAsIjotKCI6YPCfmJ5gLCI6UCI6YPCfmJtgLCI6LVAiOmDwn5ibYCwiOi1vIjpg8J+YrmAsIjpPIjpg8J+YrmAsIjovIjpg8J+YlWAsIjotLyI6YPCfmJVgfSxDZz1lPT57bGV0IHQ9YCgke2U/YCR8YDpgYH0gKWA7cmV0dXJuIG5ldyBSZWdFeHAoT2JqZWN0LmtleXMoU2cpLm1hcChlPT5gJHtlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLGBcXCQmYCl9JHt0fWApLmpvaW4oYHxgKSxgZ2lgKX0sd2c9KGUsdD0hMSk9PntsZXQgbj1DZyh0KTtyZXR1cm4gZS5yZXBsYWNlKG4sZT0+e2xldCB0PU9iamVjdC5rZXlzKFNnKS5maW5kKHQ9PmUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh0KSk7aWYoIXQpcmV0dXJuIGU7bGV0IG49ZS5lbmRzV2l0aChgIGApP2AgYDpgYDtyZXR1cm5gJHtTZ1t0XX0ke259YH0pfSxUZz0oZSx0LG49eGcpPT57aWYoIWV8fGUubGVuZ3RoPDIpcmV0dXJuW107bGV0IHI9ZS50b0xvd2VyQ2FzZSgpLGk9W10sYT1bXSxvPVtdLHM9W107Zm9yKGxldCBlIG9mIHQpe2xldCB0PWUuaWQudG9Mb3dlckNhc2UoKSxuPWUubmFtZS50b0xvd2VyQ2FzZSgpO2lmKHQuc3RhcnRzV2l0aChyKSl7aS5wdXNoKGUpO2NvbnRpbnVlfWlmKHQuaW5jbHVkZXMocikpe2EucHVzaChlKTtjb250aW51ZX1pZihuLmluY2x1ZGVzKHIpKXtvLnB1c2goZSk7Y29udGludWV9ZS5rZXl3b3Jkcy5zb21lKGU9PmUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhyKSkmJnMucHVzaChlKX1yZXR1cm5bLi4uaSwuLi5hLC4uLm8sLi4uc10uc2xpY2UoMCxuKX0sRWc9KGUsdCk9PntsZXQgbj1lLnNsaWNlKDAsdCkscj1uLmxhc3RJbmRleE9mKGA6YCk7aWYocj09PS0xKXJldHVybiBudWxsO2xldCBpPW4uc2xpY2UocisxKTtyZXR1cm4gUmVnRXhwKGBeW2EtekEtWjAtOV8tXSokYCkudGVzdChpKSYmaS5sZW5ndGg+PTI/aTpudWxsfSxEZz0oZSx0LG4pPT57bGV0IHI9ZS5zbGljZSgwLHQpLGk9ZS5zbGljZSh0KSxhPXIubGFzdEluZGV4T2YoYDpgKTtpZihhPT09LTEpcmV0dXJue25ld1RleHQ6ZSxuZXdDdXJzb3JQb3NpdGlvbjp0fTtsZXQgbz1lLnNsaWNlKDAsYSkscz1pLmxlbmd0aD09PTA/bitgIGA6bjtyZXR1cm57bmV3VGV4dDpvK3MraSxuZXdDdXJzb3JQb3NpdGlvbjphK3MubGVuZ3RofX0sT2c9KGUsdD0zMDApPT57bGV0IG47cmV0dXJuKC4uLnIpPT57Y2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dCgoKT0+ZSguLi5yKSx0KX19LGtnPTNlMyxBZz1bYHNtYXJ0c3VwcC5kZXZgLGBzbWFydHN1cHBjaGF0LmxvY2BdLGpnPWZ1bmN0aW9uKGUpe3JldHVybiBlLkRlZmF1bHQ9YGJsYWNrYmVycnkyLm1wM2AsZX0oe30pLE1nPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbm5lY3Rpbmc9YGNvbm5lY3RpbmdgLGUuQ29ubmVjdGVkPWBjb25uZWN0ZWRgLGUuRGlzY29ubmVjdGVkPWBkaXNjb25uZWN0ZWRgLGV9KHt9KSxOZz1mdW5jdGlvbihlKXtyZXR1cm4gZS5JbWFnZT1gaW1hZ2VgLGUuVmlkZW89YHZpZGVvYCxlfSh7fSksUGc9TyghMSksRmc9TyghMSksSWc9TyghMSk7QigpLmFkZEV2ZW50TGlzdGVuZXIoYG9mZmxpbmVgLCgpPT5QZy5zZXQoITApKSxCKCkuYWRkRXZlbnRMaXN0ZW5lcihgb25saW5lYCwoKT0+UGcuc2V0KCExKSk7dmFyIExnPWsoW2RsLFBnLElnXSwoW2UsdCxuXSk9Pm4/TWcuQ29ubmVjdGVkOiFlfHx0P01nLkRpc2Nvbm5lY3RlZDpNZy5Db25uZWN0ZWQsTWcuQ29ubmVjdGluZyksUmcsemc9T2coZT0+e2UmJiFSZyYmKFJnPV9zKEEoVykoYGVycm9yLm5vSW50ZXJuZXRgKSwwKSksIWUmJlJnJiYoUmcoKSxSZz12b2lkIDApfSxrZyk7TGcuc3Vic2NyaWJlKGU9PntlPT09TWcuRGlzY29ubmVjdGVkJiYoRmcuc2V0KCEwKSx6ZyghMCkpLGU9PT1NZy5Db25uZWN0ZWQmJihGZy5zZXQoITEpLHpnKCExKSl9KTt2YXIgQmc9KGUsdCxuKT0+ZT09PU1nLkRpc2Nvbm5lY3RlZHx8IXR8fG4sVmc9KCk9PkJnKEEoTGcpLEEoSHApLEEoWHUpLmRpc2FibGVBdHRhY2htZW50cyksSGc9TyghMSksVWc9ZT0+e2lmKEEoSGcpKXtIKGBUaGVyZSBpcyBhbHJlYWR5IGZpbGUgdXBsb2FkIGluIHByb2dyZXNzYCk7cmV0dXJufWlmKGUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9V2coZSk7dC5sZW5ndGg+MCYmWWwuYWRkKHQpfSxXZz1lPT5lLmxlbmd0aD41PyhncyhgJHtBKFcpKGBmaWxlVXBsb2FkLnRvb01hbnlGaWxlc2ApfSA1YCksW10pOmUuZmlsdGVyKGU9PkdnKGUpKSxHZz1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dCxhY2NlcHRlZEZpbGVUeXBlczpuLG1heEZpbGVTaXplOnJ9PUEoYmwpO2lmKCFlKXJldHVybiExO2xldCBpPXQuaW5jbHVkZXMoQ2QoZS5uYW1lKSksYT1uLnNvbWUodD0+dD09PWUudHlwZSk7aWYoVmcoKSlyZXR1cm4gSChgRmlsZSB1cGxvYWQgaXMgZGlzYWJsZWRgKSwhMTtpZighQShIcCkpcmV0dXJuIGdzKEEoVykoYHdhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0YCkpLCExO2lmKGUuc2l6ZT5yKXtsZXQgZT13ZChyKTtyZXR1cm4gZ3MoYCR7QShXKShgZmlsZVVwbG9hZC5maWxlVG9vQmlnYCl9ICR7ZS5zaXplfSAke2UudW5pdH1gKSwhMX1yZXR1cm4gaXx8YT8hMDooZ3MoQShXKShgZmlsZVVwbG9hZC5iYWRGaWxlVHlwZWApKSwhMSl9LEtnPSgpPT5ZbC5jb3VudCgpPT09MD9bXTooWWwuc2V0VXBsb2FkaW5nU3RhdHVzKCksRGQoQShZbCksZT0+WWwuc2V0RmlsZVVwbG9hZGVkKGUubmFtZSkpKSxxZz0xMCxKZz0xZTQsWWc9M2U0LFhnPTIwLFpnPWU9PntpZihlLmxlbmd0aD4wJiZlLmxlbmd0aCVxZz09PTApe2xldCB0PWUuc2xpY2UoLXFnKSxuPW5ldyBEYXRlKGVbZS5sZW5ndGgtMV0uY3JlYXRlZEF0KS5nZXRUaW1lKCk7aWYobmV3IERhdGUoKS5nZXRUaW1lKCktbj5ZZ3x8IXQuZXZlcnkoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KSlyZXR1cm4hMTtpZihuLW5ldyBEYXRlKHRbMF0uY3JlYXRlZEF0KS5nZXRUaW1lKCk8SmcpcmV0dXJuITB9cmV0dXJuITF9LFFnPWU9PntsZXQgdD1qZihlKTtyZXR1cm4gdD90Lmxlbmd0aD5YZzohMX0sJGc9TygpLGVfPU8oITEpLHRfPU8oKSxuXz0yMDAscl89TyghMSksaV89ayhbJGddLChbZV0pPT5lPT09dm9pZCAwP3pvKFUuTWVzc2FnZSk/P2BgOmUpLGFfPWsoW2lfXSwoW2VdKT0+ZS50cmltKCkubGVuZ3RoPT09MCksb189ZT0+eyRnLnNldChiZyh3ZyhlKSkpfSxzXz0oZSx0KT0+e2xldCBuPUEoaV8pPz9gYCxyPWAke24uc2xpY2UoMCx0KX0ke2V9JHtuLnNsaWNlKHQpfWA7JGcuc2V0KHIpfSxjXz0oKT0+e0EoZV8pfHwocS5nZXRDbGllbnQoKS5jaGF0VHlwaW5nKCEwKSxlXy5zZXQoITApKX0sbF89KCk9PntBKGVfKSYmKHEuZ2V0Q2xpZW50KCkuY2hhdFR5cGluZyghMSksZV8uc2V0KCExKSl9LHVfPWFzeW5jKGU9W10pPT57aWYoQShhXykmJmUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9Ymcod2coQShpXyksITApKS50cmltKCk7YXdhaXQgSi5zZW5kTWVzc2FnZSh0LGUpLG9fKGBgKSxsXygpLHJfLnNldCghMCksZ2QoKX0sZF89T2coYXN5bmMoKT0+e2xldCBlPVlsLmNvdW50KCk+MDtpZihBKGFfKSYmIWUpcmV0dXJuO2lmKCFBKFgpJiZsZygpJiZVXygpLGZfKCkmJiFlKXtfcyhBKFcpKGB3YXJuaW5nQmFyLnNhbWVNZXNzYWdlVHdpY2VgKSk7cmV0dXJufWlmKFpnKEEoUnApKSl7X3MoQShXKShgd2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbmApKTtyZXR1cm59aWYoQShIZykpe2pvKEEoVykoYGNoYXQuZmlsZVVwbG9hZC5lcnJvci5zdGlsbFVwbG9hZGluZ2ApKTtyZXR1cm59aWYoQShVZikpe19zKEEoVykoYGNhcmQuc2VuZGluZ0luUHJvZ3Jlc3NgKSk7cmV0dXJufWlmKFFnKEEoaV8pKSl7X3MoQShXKShgY2FyZC5saW5rc0xpbWl0UmVhY2hlZGApKTtyZXR1cm59aWYobGcoKSl7QmMoSGMuQXV0aEZvcm0pO3JldHVybn1sZXQgdD1bXTtlJiYoSGcuc2V0KCEwKSx0PWF3YWl0IEtnKCksWWwuY2xlYXIoKSxIZy5zZXQoITEpKSxhd2FpdCB1Xyh0KX0sbl8pLGZfPSgpPT57bGV0IGU9QShHcCksdD1BKEtwKSxuPUEoaV8pLnRyaW0oKTtyZXR1cm4gZSYmbj09PWUuY29udGVudC50ZXh0fHx0JiZuPT09dH0scF89ZT0+e2xldCB0PSgpPT57X2QoKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpKSl9LG1fPWU9PntsZXQgdD0oKT0+e0EoWCkmJldfKCEwKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCx0KSwoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsdCkpKX0saF89KCk9PntsZXQgZT1CKCkuX3NtYXJ0c3VwcHx8e307ZS5hcHBWZXJzaW9uPWAwLjAuMWAsZS5jb21taXRIYXNoPWBjMDZkNDVjMzNlMDk5OGVmMmQzMDQ2MmZiNTc4Nzk2MzNjMWRmNWNhYCxlLmNvbW1pdEluZm89YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2EgLSBNZXJnZSBwdWxsIHJlcXVlc3QgIzQ1MiBmcm9tIHNtYXJ0c3VwcC9kZXZlbG9wIC0gMjAyNi0wNy0wNyAxMDoyMjoyOCArMDIwMGAsQigpLl9zbWFydHN1cHA9ZX0sZ189KGU9amcuRGVmYXVsdCk9PntsZXR7d2lkZ2V0VjNVcmw6dH09Vi5nZXRPcHRpb25zKCksbj1uZXcgQXVkaW8oYCR7dH0vYXNzZXRzL3NvdW5kcy8ke2V9YCk7cmV0dXJuIG4uY3Jvc3NPcmlnaW49YGFub255bW91c2Asbi5sb2FkKCksbn0sX189ZT0+ZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiYhW0cuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50Sm9pbixHLk1lc3NhZ2VDb250ZW50VHlwZS5BZ2VudExlYXZlLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50QXNzaWduLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50VW5hc3NpZ25dLmluY2x1ZGVzKGUuY29udGVudC50eXBlKSx2Xz1lPT57cS5pc0luaXRpYWxpemVkKCkmJnEuZ2V0Q2xpZW50KCkubm90aWZ5KGUpfSx5Xz0oKT0+e1YuZ2V0T3B0aW9ucygpLmlzUHJldmlld01vZGV8fHZfKEsuV2Vic29ja2V0VmlzaXRvckNsaWVudC5FdmVudE5hbWUuV2lkZ2V0T3Blbil9LGJfPSgpPT52XyhLLldlYnNvY2tldFZpc2l0b3JDbGllbnQuRXZlbnROYW1lLldpZGdldFNob3cpLHhfPSgpPT5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAsU189KCk9PntpZihBKHNzKSl7VF8uc2V0KCEwKTtsZXQgZT1CKCk7ZS5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLGBgLGUubG9jYXRpb24uaHJlZil9fSxDXz1PKCExKSx3Xz1PKCExKSxUXz1PKCExKSxFXz1lPT4hIUFnLmZpbmQodD0+ZS5pbmNsdWRlcyh0KSksRF89TyghMCk7Vi5hd2FpdE9wdGlvbnMoKS50aGVuKGU9PntsZXQgdD16byhVLlNvdW5kc0VuYWJsZWQpO3Q/RF8uc2V0KHQ9PT1gdHJ1ZWApOnR5cGVvZiBlLmVuYWJsZVNvdW5kcz09YGJvb2xlYW5gJiZEXy5zZXQoZS5lbmFibGVTb3VuZHMpLHdfLnNldChFXyhlLmJvb3RzdHJhcFVybCkpfSk7dmFyIE9fPWU9PntEXy5zZXQoZSksQm8oe25hbWU6VS5Tb3VuZHNFbmFibGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLGUmJmJwKCl9LGtfPU8oeF8oKSksQV89T2coKCk9PmtfLnNldCh4XygpKSw1MDApO0IoKS5hZGRFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCwoKT0+e0FfKCl9KTt2YXIgal89TygwKSxNXz0oKT0+al8udXBkYXRlKGU9PmUrMSksTl89TyghMCksUF89KGUsdCk9Pih2byhgd2lkZ2V0IHZpc2libGU6ICR7U3RyaW5nKHQpfSA9PiByZWFzb246ICR7ZX1gKSx0JiZ0IT09QShSXykmJmJfKCksdCksRl89TygpLElfPSgpPT5GXy5zZXQoITApLExfPSgpPT5GXy5zZXQoITEpLFJfPWsoW011LHNzLEZfLGVkLG9kLGsoWyR1LFJwLGFfLG9kXSwoW2UsdCxuLHJdKT0+e2xldHtoaWRlT2ZmbGluZUNoYXQ6aSxpc1ByZXZpZXdNb2RlOmF9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJiEhaSYmU3AodCkubGVuZ3RoPT09MCYmbiYmIXImJiFhfSldLChbZSx0LG4scixpLGFdKT0+e2xldHtoaWRlTW9iaWxlV2lkZ2V0Om8saGlkZVdpZGdldDpzfT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZT8uYmFubmVkQXQ/UF8oYHZpc2l0b3IgaXMgYmFubmVkYCwhMSk6dCYmbz9QXyhgb3B0aW9uICdoaWRlTW9iaWxlV2lkZ2V0JyBpcyB0cnVlYCwhMSk6dHlwZW9mIG49PWBib29sZWFuYD9QXyhgc2V0IGJ5IEFQSSBjb21tYW5kYCxuKTpyJiYhaT9QXyhgY2hhdCBzdGF0dXMgaXMgbm90IHBlbmRpbmdgLCEwKTphP1BfKGBvcHRpb24gJ2hpZGVPZmZsaW5lQ2hhdCcgaXMgdHJ1ZWAsITEpOlBfKGBvcHRpb24gJ2hpZGVXaWRnZXQnIGlzICR7U3RyaW5nKHMpfWAsIXMpfSksel89ayhbc3NdLChbZV0pPT57bGV0e29wZW5PblRyaWdnZXI6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIHQmJiFlfSksQl89W10sVl89ZT0+KEJfLnB1c2goZSksKCk9PntsZXQgdD1CXy5pbmRleE9mKGUpO3QhPT0tMSYmQl8uc3BsaWNlKHQsMSl9KSxIXz0oKT0+Ql8ubGVuZ3RoPT09MD8hMTooQl8ucG9wKCkoKSwhMCksWD1ycyhVLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQsITEsZT0+IUEoc3MpJiZlPT09YHRydWVgKSxVXz0oZT0hMSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpO3Q/LmRpc2FibGVPcGVuTWVzc2VuZ2VyJiYhZXx8KGNoKCksU18oKSxYLnNldCghMCksZXYoKSxDaCgpLHlfKCkpfSxXXz1lPT57aWYoQShzcykmJkEoVF8pJiYhZSlyZXR1cm4gVF8uc2V0KCExKSxCKCkuaGlzdG9yeS5iYWNrKCk7ei5lbWl0KGBtZXNzZW5nZXJDbG9zZWAsITApLFguc2V0KCExKX0sR189ZT0+e2lmKCFlKXJldHVybjtsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpLG49ZT0+e2lmKGUua2V5PT09VGguRXNjYXBlKXtpZihIXygpfHx0Py5kaXNhYmxlQ2xvc2VCdXR0b24pcmV0dXJuO1dfKCl9fSxyPWUub3duZXJEb2N1bWVudDtyZXR1cm4gci5hZGRFdmVudExpc3RlbmVyKGBrZXlkb3duYCxuLCEwKSx7ZGVzdHJveSgpe3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihga2V5ZG93bmAsbiwhMCl9fX0sS189ayhbQ18sUl8sWF0sKFtlLHQsbl0pPT5lJiZ0JiZuKTtmdW5jdGlvbiBxXygpe2xldCBlPU8oITEpLHtzdWJzY3JpYmU6dH09ZSxuPW51bGw7cmV0dXJue3N1YnNjcmliZTp0LGhhbmRsZURyYWdPdmVyOih0LHI9ITApPT57ciYmdC5wcmV2ZW50RGVmYXVsdCgpLEEoZSl8fGUuc2V0KCEwKSxuJiZjbGVhclRpbWVvdXQobiksbj13aW5kb3cuc2V0VGltZW91dCgoKT0+e2Uuc2V0KCExKX0sMjAwKX0saGFuZGxlRHJvcDp0PT57dC5wcmV2ZW50RGVmYXVsdCgpLG4mJmNsZWFyVGltZW91dChuKSxlLnNldCghMSk7bGV0IHI9dC5kYXRhVHJhbnNmZXI/LmZpbGVzP1suLi50LmRhdGFUcmFuc2Zlci5maWxlc106W107cmV0dXJuIHIubGVuZ3RoPT09MCYmX3MoYERyb3BwZWQgaXRlbShzKSBhcmUgbm90IHByb2Nlc3NhYmxlIGZpbGVzYCkse2Ryb3BwZWRGaWxlczpyfX19fXZhciBKXz1xXygpLFlfPWsoW0NfLFJfLFhdLChbZSx0LG5dKT0+ZSYmdCYmIW4pLFhfPU8oITEpLFpfPU8oITEpLFFfPSgpPT57WF8uc2V0KCEwKSxaXy5zZXQoITEpfSwkXz0oKT0+e1pfLnNldCghMCksWF8uc2V0KCExKX0sZXY9KGU9ITEpPT57Wl8uc2V0KCExKSxlJiZCbyh7bmFtZTpVLlBvcHVwQ2xvc2VkQXQsdmFsdWU6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSl9LHR2PWsoW3NzXSwoW2VdKT0+e2xldHttb2JpbGVQb3B1cHNFbmFibGVkOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPyEhdDohMH0pLG52PWsoW05wXSwoW2VdKT0+e2xldCB0PXpvKFUuUG9wdXBDbG9zZWRBdCk/P251bGw7cmV0dXJuIXR8fCFlPyEwOm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCk+bmV3IERhdGUodCkuZ2V0VGltZSgpfSkscnY9ayhbQ18sUl8sWF8sWCx0dl0sKFtlLHQsbixyLGldKT0+ZSYmdCYmbiYmIXImJmkpLGl2PWsoW0NfLFJfLFpfLFgsTnAsbnYsdHYsV2ZdLChbZSx0LG4scixpLGEsbyxzXSk9PmUmJnQmJm4mJmkmJmEmJiFyJiZvJiYhcyksYXY9e3doaXRlOmAjZmZmZmZmYCxzbGF0ZTEwMDpgI2YxZjVmOWAsc2xhdGUyMDA6YCNlMmU4ZjBgLHNsYXRlMzAwOmAjY2JkNWUxYCxzbGF0ZTkwMDpgIzBmMTcyYWAsYmx1ZTcwMDpgIzFkNGVkOGAsc21hcnRzdXBwQmx1ZTpgIzEyMzNkZmB9O2Z1bmN0aW9uIFooZSx0KXtzdihlKSYmKGU9YDEwMCVgKTtsZXQgbj1jdihlKTtyZXR1cm4gZT10PT09MzYwP2U6TWF0aC5taW4odCxNYXRoLm1heCgwLHBhcnNlRmxvYXQoZSkpKSxuJiYoZT1wYXJzZUludChTdHJpbmcoZSp0KSwxMCkvMTAwKSxNYXRoLmFicyhlLXQpPDFlLTY/MTooZT10PT09MzYwPyhlPDA/ZSV0K3Q6ZSV0KS9wYXJzZUZsb2F0KFN0cmluZyh0KSk6ZSV0L3BhcnNlRmxvYXQoU3RyaW5nKHQpKSxlKX1mdW5jdGlvbiBvdihlKXtyZXR1cm4gTWF0aC5taW4oMSxNYXRoLm1heCgwLGUpKX1mdW5jdGlvbiBzdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYC5gKSE9PS0xJiZwYXJzZUZsb2F0KGUpPT09MX1mdW5jdGlvbiBjdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYCVgKSE9PS0xfWZ1bmN0aW9uIGx2KGUpe3JldHVybiBlPXBhcnNlRmxvYXQoZSksKGlzTmFOKGUpfHxlPDB8fGU+MSkmJihlPTEpLGV9ZnVuY3Rpb24gdXYoZSl7cmV0dXJuIE51bWJlcihlKTw9MT9gJHtOdW1iZXIoZSkqMTAwfSVgOmV9ZnVuY3Rpb24gZHYoZSl7cmV0dXJuIGUubGVuZ3RoPT09MT9gMGArZTpTdHJpbmcoZSl9ZnVuY3Rpb24gZnYoZSx0LG4pe3JldHVybntyOlooZSwyNTUpKjI1NSxnOloodCwyNTUpKjI1NSxiOloobiwyNTUpKjI1NX19ZnVuY3Rpb24gcHYoZSx0LG4pe2U9WihlLDI1NSksdD1aKHQsMjU1KSxuPVoobiwyNTUpO2xldCByPU1hdGgubWF4KGUsdCxuKSxpPU1hdGgubWluKGUsdCxuKSxhPTAsbz0wLHM9KHIraSkvMjtpZihyPT09aSlvPTAsYT0wO2Vsc2V7bGV0IGM9ci1pO3N3aXRjaChvPXM+LjU/Yy8oMi1yLWkpOmMvKHIraSkscil7Y2FzZSBlOmE9KHQtbikvYysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvYysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL2MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOm8sbDpzfX1mdW5jdGlvbiBtdihlLHQsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmLS1uLG48MS82P2UrKHQtZSkqKDYqbik6bjwxLzI/dDpuPDIvMz9lKyh0LWUpKigyLzMtbikqNjplfWZ1bmN0aW9uIGh2KGUsdCxuKXtsZXQgcixpLGE7aWYoZT1aKGUsMzYwKSx0PVoodCwxMDApLG49WihuLDEwMCksdD09PTApaT1uLGE9bixyPW47ZWxzZXtsZXQgbz1uPC41P24qKDErdCk6bit0LW4qdCxzPTIqbi1vO3I9bXYocyxvLGUrMS8zKSxpPW12KHMsbyxlKSxhPW12KHMsbyxlLTEvMyl9cmV0dXJue3I6cioyNTUsZzppKjI1NSxiOmEqMjU1fX1mdW5jdGlvbiBndihlLHQsbil7ZT1aKGUsMjU1KSx0PVoodCwyNTUpLG49WihuLDI1NSk7bGV0IHI9TWF0aC5tYXgoZSx0LG4pLGk9TWF0aC5taW4oZSx0LG4pLGE9MCxvPXIscz1yLWksYz1yPT09MD8wOnMvcjtpZihyPT09aSlhPTA7ZWxzZXtzd2l0Y2gocil7Y2FzZSBlOmE9KHQtbikvcysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvcysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL3MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOmMsdjpvfX1mdW5jdGlvbiBfdihlLHQsbil7ZT1aKGUsMzYwKSo2LHQ9Wih0LDEwMCksbj1aKG4sMTAwKTtsZXQgcj1NYXRoLmZsb29yKGUpLGk9ZS1yLGE9biooMS10KSxvPW4qKDEtaSp0KSxzPW4qKDEtKDEtaSkqdCksYz1yJTYsbD1bbixvLGEsYSxzLG5dW2NdLHU9W3MsbixuLG8sYSxhXVtjXSxkPVthLGEscyxuLG4sb11bY107cmV0dXJue3I6bCoyNTUsZzp1KjI1NSxiOmQqMjU1fX1mdW5jdGlvbiB2dihlLHQsbixyKXtsZXQgaT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSldO3JldHVybiByJiZpWzBdLnN0YXJ0c1dpdGgoaVswXS5jaGFyQXQoMSkpJiZpWzFdLnN0YXJ0c1dpdGgoaVsxXS5jaGFyQXQoMSkpJiZpWzJdLnN0YXJ0c1dpdGgoaVsyXS5jaGFyQXQoMSkpP2lbMF0uY2hhckF0KDApK2lbMV0uY2hhckF0KDApK2lbMl0uY2hhckF0KDApOmkuam9pbihgYCl9ZnVuY3Rpb24geXYoZSx0LG4scixpKXtsZXQgYT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSksZHYoU3YocikpXTtyZXR1cm4gaSYmYVswXS5zdGFydHNXaXRoKGFbMF0uY2hhckF0KDEpKSYmYVsxXS5zdGFydHNXaXRoKGFbMV0uY2hhckF0KDEpKSYmYVsyXS5zdGFydHNXaXRoKGFbMl0uY2hhckF0KDEpKSYmYVszXS5zdGFydHNXaXRoKGFbM10uY2hhckF0KDEpKT9hWzBdLmNoYXJBdCgwKSthWzFdLmNoYXJBdCgwKSthWzJdLmNoYXJBdCgwKSthWzNdLmNoYXJBdCgwKTphLmpvaW4oYGApfWZ1bmN0aW9uIGJ2KGUsdCxuLHIpe2xldCBpPWUvMTAwLGE9dC8xMDAsbz1uLzEwMCxzPXIvMTAwO3JldHVybntyOjI1NSooMS1pKSooMS1zKSxnOjI1NSooMS1hKSooMS1zKSxiOjI1NSooMS1vKSooMS1zKX19ZnVuY3Rpb24geHYoZSx0LG4pe2xldCByPTEtZS8yNTUsaT0xLXQvMjU1LGE9MS1uLzI1NSxvPU1hdGgubWluKHIsaSxhKTtyZXR1cm4gbz09PTE/KHI9MCxpPTAsYT0wKToocj0oci1vKS8oMS1vKSoxMDAsaT0oaS1vKS8oMS1vKSoxMDAsYT0oYS1vKS8oMS1vKSoxMDApLG8qPTEwMCx7YzpNYXRoLnJvdW5kKHIpLG06TWF0aC5yb3VuZChpKSx5Ok1hdGgucm91bmQoYSksazpNYXRoLnJvdW5kKG8pfX1mdW5jdGlvbiBTdihlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKjI1NSkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEN2KGUpe3JldHVybiB3dihlKS8yNTV9ZnVuY3Rpb24gd3YoZSl7cmV0dXJuIHBhcnNlSW50KGUsMTYpfWZ1bmN0aW9uIFR2KGUpe3JldHVybntyOmU+PjE2LGc6KGUmNjUyODApPj44LGI6ZSYyNTV9fXZhciBFdj17YWxpY2VibHVlOmAjZjBmOGZmYCxhbnRpcXVld2hpdGU6YCNmYWViZDdgLGFxdWE6YCMwMGZmZmZgLGFxdWFtYXJpbmU6YCM3ZmZmZDRgLGF6dXJlOmAjZjBmZmZmYCxiZWlnZTpgI2Y1ZjVkY2AsYmlzcXVlOmAjZmZlNGM0YCxibGFjazpgIzAwMDAwMGAsYmxhbmNoZWRhbG1vbmQ6YCNmZmViY2RgLGJsdWU6YCMwMDAwZmZgLGJsdWV2aW9sZXQ6YCM4YTJiZTJgLGJyb3duOmAjYTUyYTJhYCxidXJseXdvb2Q6YCNkZWI4ODdgLGNhZGV0Ymx1ZTpgIzVmOWVhMGAsY2hhcnRyZXVzZTpgIzdmZmYwMGAsY2hvY29sYXRlOmAjZDI2OTFlYCxjb3JhbDpgI2ZmN2Y1MGAsY29ybmZsb3dlcmJsdWU6YCM2NDk1ZWRgLGNvcm5zaWxrOmAjZmZmOGRjYCxjcmltc29uOmAjZGMxNDNjYCxjeWFuOmAjMDBmZmZmYCxkYXJrYmx1ZTpgIzAwMDA4YmAsZGFya2N5YW46YCMwMDhiOGJgLGRhcmtnb2xkZW5yb2Q6YCNiODg2MGJgLGRhcmtncmF5OmAjYTlhOWE5YCxkYXJrZ3JlZW46YCMwMDY0MDBgLGRhcmtncmV5OmAjYTlhOWE5YCxkYXJra2hha2k6YCNiZGI3NmJgLGRhcmttYWdlbnRhOmAjOGIwMDhiYCxkYXJrb2xpdmVncmVlbjpgIzU1NmIyZmAsZGFya29yYW5nZTpgI2ZmOGMwMGAsZGFya29yY2hpZDpgIzk5MzJjY2AsZGFya3JlZDpgIzhiMDAwMGAsZGFya3NhbG1vbjpgI2U5OTY3YWAsZGFya3NlYWdyZWVuOmAjOGZiYzhmYCxkYXJrc2xhdGVibHVlOmAjNDgzZDhiYCxkYXJrc2xhdGVncmF5OmAjMmY0ZjRmYCxkYXJrc2xhdGVncmV5OmAjMmY0ZjRmYCxkYXJrdHVycXVvaXNlOmAjMDBjZWQxYCxkYXJrdmlvbGV0OmAjOTQwMGQzYCxkZWVwcGluazpgI2ZmMTQ5M2AsZGVlcHNreWJsdWU6YCMwMGJmZmZgLGRpbWdyYXk6YCM2OTY5NjlgLGRpbWdyZXk6YCM2OTY5NjlgLGRvZGdlcmJsdWU6YCMxZTkwZmZgLGZpcmVicmljazpgI2IyMjIyMmAsZmxvcmFsd2hpdGU6YCNmZmZhZjBgLGZvcmVzdGdyZWVuOmAjMjI4YjIyYCxmdWNoc2lhOmAjZmYwMGZmYCxnYWluc2Jvcm86YCNkY2RjZGNgLGdob3N0d2hpdGU6YCNmOGY4ZmZgLGdvbGRlbnJvZDpgI2RhYTUyMGAsZ29sZDpgI2ZmZDcwMGAsZ3JheTpgIzgwODA4MGAsZ3JlZW46YCMwMDgwMDBgLGdyZWVueWVsbG93OmAjYWRmZjJmYCxncmV5OmAjODA4MDgwYCxob25leWRldzpgI2YwZmZmMGAsaG90cGluazpgI2ZmNjliNGAsaW5kaWFucmVkOmAjY2Q1YzVjYCxpbmRpZ286YCM0YjAwODJgLGl2b3J5OmAjZmZmZmYwYCxraGFraTpgI2YwZTY4Y2AsbGF2ZW5kZXJibHVzaDpgI2ZmZjBmNWAsbGF2ZW5kZXI6YCNlNmU2ZmFgLGxhd25ncmVlbjpgIzdjZmMwMGAsbGVtb25jaGlmZm9uOmAjZmZmYWNkYCxsaWdodGJsdWU6YCNhZGQ4ZTZgLGxpZ2h0Y29yYWw6YCNmMDgwODBgLGxpZ2h0Y3lhbjpgI2UwZmZmZmAsbGlnaHRnb2xkZW5yb2R5ZWxsb3c6YCNmYWZhZDJgLGxpZ2h0Z3JheTpgI2QzZDNkM2AsbGlnaHRncmVlbjpgIzkwZWU5MGAsbGlnaHRncmV5OmAjZDNkM2QzYCxsaWdodHBpbms6YCNmZmI2YzFgLGxpZ2h0c2FsbW9uOmAjZmZhMDdhYCxsaWdodHNlYWdyZWVuOmAjMjBiMmFhYCxsaWdodHNreWJsdWU6YCM4N2NlZmFgLGxpZ2h0c2xhdGVncmF5OmAjNzc4ODk5YCxsaWdodHNsYXRlZ3JleTpgIzc3ODg5OWAsbGlnaHRzdGVlbGJsdWU6YCNiMGM0ZGVgLGxpZ2h0eWVsbG93OmAjZmZmZmUwYCxsaW1lOmAjMDBmZjAwYCxsaW1lZ3JlZW46YCMzMmNkMzJgLGxpbmVuOmAjZmFmMGU2YCxtYWdlbnRhOmAjZmYwMGZmYCxtYXJvb246YCM4MDAwMDBgLG1lZGl1bWFxdWFtYXJpbmU6YCM2NmNkYWFgLG1lZGl1bWJsdWU6YCMwMDAwY2RgLG1lZGl1bW9yY2hpZDpgI2JhNTVkM2AsbWVkaXVtcHVycGxlOmAjOTM3MGRiYCxtZWRpdW1zZWFncmVlbjpgIzNjYjM3MWAsbWVkaXVtc2xhdGVibHVlOmAjN2I2OGVlYCxtZWRpdW1zcHJpbmdncmVlbjpgIzAwZmE5YWAsbWVkaXVtdHVycXVvaXNlOmAjNDhkMWNjYCxtZWRpdW12aW9sZXRyZWQ6YCNjNzE1ODVgLG1pZG5pZ2h0Ymx1ZTpgIzE5MTk3MGAsbWludGNyZWFtOmAjZjVmZmZhYCxtaXN0eXJvc2U6YCNmZmU0ZTFgLG1vY2Nhc2luOmAjZmZlNGI1YCxuYXZham93aGl0ZTpgI2ZmZGVhZGAsbmF2eTpgIzAwMDA4MGAsb2xkbGFjZTpgI2ZkZjVlNmAsb2xpdmU6YCM4MDgwMDBgLG9saXZlZHJhYjpgIzZiOGUyM2Asb3JhbmdlOmAjZmZhNTAwYCxvcmFuZ2VyZWQ6YCNmZjQ1MDBgLG9yY2hpZDpgI2RhNzBkNmAscGFsZWdvbGRlbnJvZDpgI2VlZThhYWAscGFsZWdyZWVuOmAjOThmYjk4YCxwYWxldHVycXVvaXNlOmAjYWZlZWVlYCxwYWxldmlvbGV0cmVkOmAjZGI3MDkzYCxwYXBheWF3aGlwOmAjZmZlZmQ1YCxwZWFjaHB1ZmY6YCNmZmRhYjlgLHBlcnU6YCNjZDg1M2ZgLHBpbms6YCNmZmMwY2JgLHBsdW06YCNkZGEwZGRgLHBvd2RlcmJsdWU6YCNiMGUwZTZgLHB1cnBsZTpgIzgwMDA4MGAscmViZWNjYXB1cnBsZTpgIzY2MzM5OWAscmVkOmAjZmYwMDAwYCxyb3N5YnJvd246YCNiYzhmOGZgLHJveWFsYmx1ZTpgIzQxNjllMWAsc2FkZGxlYnJvd246YCM4YjQ1MTNgLHNhbG1vbjpgI2ZhODA3MmAsc2FuZHlicm93bjpgI2Y0YTQ2MGAsc2VhZ3JlZW46YCMyZThiNTdgLHNlYXNoZWxsOmAjZmZmNWVlYCxzaWVubmE6YCNhMDUyMmRgLHNpbHZlcjpgI2MwYzBjMGAsc2t5Ymx1ZTpgIzg3Y2VlYmAsc2xhdGVibHVlOmAjNmE1YWNkYCxzbGF0ZWdyYXk6YCM3MDgwOTBgLHNsYXRlZ3JleTpgIzcwODA5MGAsc25vdzpgI2ZmZmFmYWAsc3ByaW5nZ3JlZW46YCMwMGZmN2ZgLHN0ZWVsYmx1ZTpgIzQ2ODJiNGAsdGFuOmAjZDJiNDhjYCx0ZWFsOmAjMDA4MDgwYCx0aGlzdGxlOmAjZDhiZmQ4YCx0b21hdG86YCNmZjYzNDdgLHR1cnF1b2lzZTpgIzQwZTBkMGAsdmlvbGV0OmAjZWU4MmVlYCx3aGVhdDpgI2Y1ZGViM2Asd2hpdGU6YCNmZmZmZmZgLHdoaXRlc21va2U6YCNmNWY1ZjVgLHllbGxvdzpgI2ZmZmYwMGAseWVsbG93Z3JlZW46YCM5YWNkMzJgfTtmdW5jdGlvbiBEdihlKXtsZXQgdD17cjowLGc6MCxiOjB9LG49MSxyPW51bGwsaT1udWxsLGE9bnVsbCxvPSExLHM9ITE7cmV0dXJuIHR5cGVvZiBlPT1gc3RyaW5nYCYmKGU9TXYoZSkpLHR5cGVvZiBlPT1gb2JqZWN0YCYmKE52KGUucikmJk52KGUuZykmJk52KGUuYik/KHQ9ZnYoZS5yLGUuZyxlLmIpLG89ITAscz1TdHJpbmcoZS5yKS5zdWJzdHIoLTEpPT09YCVgP2BwcmdiYDpgcmdiYCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS52KT8ocj11dihlLnMpLGk9dXYoZS52KSx0PV92KGUuaCxyLGkpLG89ITAscz1gaHN2YCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS5sKT8ocj11dihlLnMpLGE9dXYoZS5sKSx0PWh2KGUuaCxyLGEpLG89ITAscz1gaHNsYCk6TnYoZS5jKSYmTnYoZS5tKSYmTnYoZS55KSYmTnYoZS5rKSYmKHQ9YnYoZS5jLGUubSxlLnksZS5rKSxvPSEwLHM9YGNteWtgKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxgYWApJiYobj1lLmEpKSxuPWx2KG4pLHtvazpvLGZvcm1hdDplLmZvcm1hdHx8cyxyOk1hdGgubWluKDI1NSxNYXRoLm1heCh0LnIsMCkpLGc6TWF0aC5taW4oMjU1LE1hdGgubWF4KHQuZywwKSksYjpNYXRoLm1pbigyNTUsTWF0aC5tYXgodC5iLDApKSxhOm59fXZhciBPdj1gKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pYCxrdj1gW1xcc3xcXChdKyhgK092K2ApWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlcXHMqXFwpP2AsQXY9YFtcXHN8XFwoXSsoYCtPditgKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlbLHxcXHNdKygoPzpbLVxcK10/XFxkKlxcLlxcZCslPyl8KD86Wy1cXCtdP1xcZCslPykpWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVxccypcXCk/YCxqdj17Q1NTX1VOSVQ6bmV3IFJlZ0V4cChPdikscmdiOlJlZ0V4cChgcmdiYCtrdikscmdiYTpSZWdFeHAoYHJnYmFgK0F2KSxoc2w6UmVnRXhwKGBoc2xgK2t2KSxoc2xhOlJlZ0V4cChgaHNsYWArQXYpLGhzdjpSZWdFeHAoYGhzdmAra3YpLGhzdmE6UmVnRXhwKGBoc3ZhYCtBdiksY215azpSZWdFeHAoYGNteWtgK0F2KSxoZXgzOi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkkLyxoZXg2Oi9eIz8oWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxoZXg0Oi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8saGV4ODovXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KSQvfTtmdW5jdGlvbiBNdihlKXtpZihlPWUudHJpbSgpLnRvTG93ZXJDYXNlKCksZS5sZW5ndGg9PT0wKXJldHVybiExO2xldCB0PSExO2lmKEV2W2VdKWU9RXZbZV0sdD0hMDtlbHNlIGlmKGU9PT1gdHJhbnNwYXJlbnRgKXJldHVybntyOjAsZzowLGI6MCxhOjAsZm9ybWF0OmBuYW1lYH07bGV0IG49anYucmdiLmV4ZWMoZSk7cmV0dXJuIG4/e3I6blsxXSxnOm5bMl0sYjpuWzNdfToobj1qdi5yZ2JhLmV4ZWMoZSksbj97cjpuWzFdLGc6blsyXSxiOm5bM10sYTpuWzRdfToobj1qdi5oc2wuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLGw6blszXX06KG49anYuaHNsYS5leGVjKGUpLG4/e2g6blsxXSxzOm5bMl0sbDpuWzNdLGE6bls0XX06KG49anYuaHN2LmV4ZWMoZSksbj97aDpuWzFdLHM6blsyXSx2Om5bM119OihuPWp2LmhzdmEuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLHY6blszXSxhOm5bNF19OihuPWp2LmNteWsuZXhlYyhlKSxuP3tjOm5bMV0sbTpuWzJdLHk6blszXSxrOm5bNF19OihuPWp2LmhleDguZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxhOkN2KG5bNF0pLGZvcm1hdDp0P2BuYW1lYDpgaGV4OGB9OihuPWp2LmhleDYuZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxmb3JtYXQ6dD9gbmFtZWA6YGhleGB9OihuPWp2LmhleDQuZXhlYyhlKSxuP3tyOnd2KG5bMV0rblsxXSksZzp3dihuWzJdK25bMl0pLGI6d3YoblszXStuWzNdKSxhOkN2KG5bNF0rbls0XSksZm9ybWF0OnQ/YG5hbWVgOmBoZXg4YH06KG49anYuaGV4My5leGVjKGUpLG4/e3I6d3YoblsxXStuWzFdKSxnOnd2KG5bMl0rblsyXSksYjp3dihuWzNdK25bM10pLGZvcm1hdDp0P2BuYW1lYDpgaGV4YH06ITEpKSkpKSkpKSkpfWZ1bmN0aW9uIE52KGUpe3JldHVybiB0eXBlb2YgZT09YG51bWJlcmA/IU51bWJlci5pc05hTihlKTpqdi5DU1NfVU5JVC50ZXN0KGUpfXZhciBQdj1jbGFzcyBle2NvbnN0cnVjdG9yKHQ9YGAsbj17fSl7aWYodCBpbnN0YW5jZW9mIGUpcmV0dXJuIHQ7dHlwZW9mIHQ9PWBudW1iZXJgJiYodD1Udih0KSksdGhpcy5vcmlnaW5hbElucHV0PXQ7bGV0IHI9RHYodCk7dGhpcy5vcmlnaW5hbElucHV0PXQsdGhpcy5yPXIucix0aGlzLmc9ci5nLHRoaXMuYj1yLmIsdGhpcy5hPXIuYSx0aGlzLnJvdW5kQT1NYXRoLnJvdW5kKDEwMCp0aGlzLmEpLzEwMCx0aGlzLmZvcm1hdD1uLmZvcm1hdD8/ci5mb3JtYXQsdGhpcy5ncmFkaWVudFR5cGU9bi5ncmFkaWVudFR5cGUsdGhpcy5yPDEmJih0aGlzLnI9TWF0aC5yb3VuZCh0aGlzLnIpKSx0aGlzLmc8MSYmKHRoaXMuZz1NYXRoLnJvdW5kKHRoaXMuZykpLHRoaXMuYjwxJiYodGhpcy5iPU1hdGgucm91bmQodGhpcy5iKSksdGhpcy5pc1ZhbGlkPXIub2t9aXNEYXJrKCl7cmV0dXJuIHRoaXMuZ2V0QnJpZ2h0bmVzcygpPDEyOH1pc0xpZ2h0KCl7cmV0dXJuIXRoaXMuaXNEYXJrKCl9Z2V0QnJpZ2h0bmVzcygpe2xldCBlPXRoaXMudG9SZ2IoKTtyZXR1cm4oZS5yKjI5OStlLmcqNTg3K2UuYioxMTQpLzFlM31nZXRMdW1pbmFuY2UoKXtsZXQgZT10aGlzLnRvUmdiKCksdCxuLHIsaT1lLnIvMjU1LGE9ZS5nLzI1NSxvPWUuYi8yNTU7cmV0dXJuIHQ9aTw9LjAzOTI4P2kvMTIuOTI6KChpKy4wNTUpLzEuMDU1KSoqMi40LG49YTw9LjAzOTI4P2EvMTIuOTI6KChhKy4wNTUpLzEuMDU1KSoqMi40LHI9bzw9LjAzOTI4P28vMTIuOTI6KChvKy4wNTUpLzEuMDU1KSoqMi40LC4yMTI2KnQrLjcxNTIqbisuMDcyMipyfWdldEFscGhhKCl7cmV0dXJuIHRoaXMuYX1zZXRBbHBoYShlKXtyZXR1cm4gdGhpcy5hPWx2KGUpLHRoaXMucm91bmRBPU1hdGgucm91bmQoMTAwKnRoaXMuYSkvMTAwLHRoaXN9aXNNb25vY2hyb21lKCl7bGV0e3M6ZX09dGhpcy50b0hzbCgpO3JldHVybiBlPT09MH10b0hzdigpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLHY6ZS52LGE6dGhpcy5hfX10b0hzdlN0cmluZygpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLnYqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHN2KCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc3ZhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hzbCgpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLGw6ZS5sLGE6dGhpcy5hfX10b0hzbFN0cmluZygpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLmwqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHNsKCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc2xhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hleChlPSExKXtyZXR1cm4gdnYodGhpcy5yLHRoaXMuZyx0aGlzLmIsZSl9dG9IZXhTdHJpbmcoZT0hMSl7cmV0dXJuYCNgK3RoaXMudG9IZXgoZSl9dG9IZXg4KGU9ITEpe3JldHVybiB5dih0aGlzLnIsdGhpcy5nLHRoaXMuYix0aGlzLmEsZSl9dG9IZXg4U3RyaW5nKGU9ITEpe3JldHVybmAjYCt0aGlzLnRvSGV4OChlKX10b0hleFNob3J0U3RyaW5nKGU9ITEpe3JldHVybiB0aGlzLmE9PT0xP3RoaXMudG9IZXhTdHJpbmcoZSk6dGhpcy50b0hleDhTdHJpbmcoZSl9dG9SZ2IoKXtyZXR1cm57cjpNYXRoLnJvdW5kKHRoaXMuciksZzpNYXRoLnJvdW5kKHRoaXMuZyksYjpNYXRoLnJvdW5kKHRoaXMuYiksYTp0aGlzLmF9fXRvUmdiU3RyaW5nKCl7bGV0IGU9TWF0aC5yb3VuZCh0aGlzLnIpLHQ9TWF0aC5yb3VuZCh0aGlzLmcpLG49TWF0aC5yb3VuZCh0aGlzLmIpO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlfSwgJHt0fSwgJHtufSlgOmByZ2JhKCR7ZX0sICR7dH0sICR7bn0sICR7dGhpcy5yb3VuZEF9KWB9dG9QZXJjZW50YWdlUmdiKCl7bGV0IGU9ZT0+YCR7TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApfSVgO3JldHVybntyOmUodGhpcy5yKSxnOmUodGhpcy5nKSxiOmUodGhpcy5iKSxhOnRoaXMuYX19dG9QZXJjZW50YWdlUmdiU3RyaW5nKCl7bGV0IGU9ZT0+TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlKHRoaXMucil9JSwgJHtlKHRoaXMuZyl9JSwgJHtlKHRoaXMuYil9JSlgOmByZ2JhKCR7ZSh0aGlzLnIpfSUsICR7ZSh0aGlzLmcpfSUsICR7ZSh0aGlzLmIpfSUsICR7dGhpcy5yb3VuZEF9KWB9dG9DbXlrKCl7cmV0dXJuey4uLnh2KHRoaXMucix0aGlzLmcsdGhpcy5iKX19dG9DbXlrU3RyaW5nKCl7bGV0e2M6ZSxtOnQseTpuLGs6cn09eHYodGhpcy5yLHRoaXMuZyx0aGlzLmIpO3JldHVybmBjbXlrKCR7ZX0sICR7dH0sICR7bn0sICR7cn0pYH10b05hbWUoKXtpZih0aGlzLmE9PT0wKXJldHVybmB0cmFuc3BhcmVudGA7aWYodGhpcy5hPDEpcmV0dXJuITE7bGV0IGU9YCNgK3Z2KHRoaXMucix0aGlzLmcsdGhpcy5iLCExKTtmb3IobGV0W3Qsbl1vZiBPYmplY3QuZW50cmllcyhFdikpaWYoZT09PW4pcmV0dXJuIHQ7cmV0dXJuITF9dG9TdHJpbmcoZSl7bGV0IHQ9ISFlO2U/Pz10aGlzLmZvcm1hdDtsZXQgbj0hMSxyPXRoaXMuYTwxJiZ0aGlzLmE+PTA7cmV0dXJuIXQmJnImJihlLnN0YXJ0c1dpdGgoYGhleGApfHxlPT09YG5hbWVgKT9lPT09YG5hbWVgJiZ0aGlzLmE9PT0wP3RoaXMudG9OYW1lKCk6dGhpcy50b1JnYlN0cmluZygpOihlPT09YHJnYmAmJihuPXRoaXMudG9SZ2JTdHJpbmcoKSksZT09PWBwcmdiYCYmKG49dGhpcy50b1BlcmNlbnRhZ2VSZ2JTdHJpbmcoKSksKGU9PT1gaGV4YHx8ZT09PWBoZXg2YCkmJihuPXRoaXMudG9IZXhTdHJpbmcoKSksZT09PWBoZXgzYCYmKG49dGhpcy50b0hleFN0cmluZyghMCkpLGU9PT1gaGV4NGAmJihuPXRoaXMudG9IZXg4U3RyaW5nKCEwKSksZT09PWBoZXg4YCYmKG49dGhpcy50b0hleDhTdHJpbmcoKSksZT09PWBuYW1lYCYmKG49dGhpcy50b05hbWUoKSksZT09PWBoc2xgJiYobj10aGlzLnRvSHNsU3RyaW5nKCkpLGU9PT1gaHN2YCYmKG49dGhpcy50b0hzdlN0cmluZygpKSxlPT09YGNteWtgJiYobj10aGlzLnRvQ215a1N0cmluZygpKSxufHx0aGlzLnRvSGV4U3RyaW5nKCkpfXRvTnVtYmVyKCl7cmV0dXJuKE1hdGgucm91bmQodGhpcy5yKTw8MTYpKyhNYXRoLnJvdW5kKHRoaXMuZyk8PDgpK01hdGgucm91bmQodGhpcy5iKX1jbG9uZSgpe3JldHVybiBuZXcgZSh0aGlzLnRvU3RyaW5nKCkpfWxpZ2h0ZW4odD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLmwrPXQvMTAwLG4ubD1vdihuLmwpLG5ldyBlKG4pfWJyaWdodGVuKHQ9MTApe2xldCBuPXRoaXMudG9SZ2IoKTtyZXR1cm4gbi5yPU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LG4uci1NYXRoLnJvdW5kKDI1NSotKHQvMTAwKSkpKSxuLmc9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsbi5nLU1hdGgucm91bmQoMjU1Ki0odC8xMDApKSkpLG4uYj1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxuLmItTWF0aC5yb3VuZCgyNTUqLSh0LzEwMCkpKSksbmV3IGUobil9ZGFya2VuKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5sLT10LzEwMCxuLmw9b3Yobi5sKSxuZXcgZShuKX10aW50KGU9MTApe3JldHVybiB0aGlzLm1peChgd2hpdGVgLGUpfXNoYWRlKGU9MTApe3JldHVybiB0aGlzLm1peChgYmxhY2tgLGUpfWRlc2F0dXJhdGUodD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLnMtPXQvMTAwLG4ucz1vdihuLnMpLG5ldyBlKG4pfXNhdHVyYXRlKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5zKz10LzEwMCxuLnM9b3Yobi5zKSxuZXcgZShuKX1ncmV5c2NhbGUoKXtyZXR1cm4gdGhpcy5kZXNhdHVyYXRlKDEwMCl9c3Bpbih0KXtsZXQgbj10aGlzLnRvSHNsKCkscj0obi5oK3QpJTM2MDtyZXR1cm4gbi5oPXI8MD8zNjArcjpyLG5ldyBlKG4pfW1peCh0LG49NTApe2xldCByPXRoaXMudG9SZ2IoKSxpPW5ldyBlKHQpLnRvUmdiKCksYT1uLzEwMDtyZXR1cm4gbmV3IGUoe3I6KGkuci1yLnIpKmErci5yLGc6KGkuZy1yLmcpKmErci5nLGI6KGkuYi1yLmIpKmErci5iLGE6KGkuYS1yLmEpKmErci5hfSl9YW5hbG9nb3VzKHQ9NixuPTMwKXtsZXQgcj10aGlzLnRvSHNsKCksaT0zNjAvbixhPVt0aGlzXTtmb3Ioci5oPShyLmgtKGkqdD4+MSkrNzIwKSUzNjA7LS10OylyLmg9KHIuaCtpKSUzNjAsYS5wdXNoKG5ldyBlKHIpKTtyZXR1cm4gYX1jb21wbGVtZW50KCl7bGV0IHQ9dGhpcy50b0hzbCgpO3JldHVybiB0Lmg9KHQuaCsxODApJTM2MCxuZXcgZSh0KX1tb25vY2hyb21hdGljKHQ9Nil7bGV0IG49dGhpcy50b0hzdigpLHtoOnJ9PW4se3M6aX09bix7djphfT1uLG89W10scz0xL3Q7Zm9yKDt0LS07KW8ucHVzaChuZXcgZSh7aDpyLHM6aSx2OmF9KSksYT0oYStzKSUxO3JldHVybiBvfXNwbGl0Y29tcGxlbWVudCgpe2xldCB0PXRoaXMudG9Ic2woKSx7aDpufT10O3JldHVyblt0aGlzLG5ldyBlKHtoOihuKzcyKSUzNjAsczp0LnMsbDp0Lmx9KSxuZXcgZSh7aDoobisyMTYpJTM2MCxzOnQucyxsOnQubH0pXX1vbkJhY2tncm91bmQodCl7bGV0IG49dGhpcy50b1JnYigpLHI9bmV3IGUodCkudG9SZ2IoKSxpPW4uYStyLmEqKDEtbi5hKTtyZXR1cm4gbmV3IGUoe3I6KG4ucipuLmErci5yKnIuYSooMS1uLmEpKS9pLGc6KG4uZypuLmErci5nKnIuYSooMS1uLmEpKS9pLGI6KG4uYipuLmErci5iKnIuYSooMS1uLmEpKS9pLGE6aX0pfXRyaWFkKCl7cmV0dXJuIHRoaXMucG9seWFkKDMpfXRldHJhZCgpe3JldHVybiB0aGlzLnBvbHlhZCg0KX1wb2x5YWQodCl7bGV0IG49dGhpcy50b0hzbCgpLHtoOnJ9PW4saT1bdGhpc10sYT0zNjAvdDtmb3IobGV0IG89MTtvPHQ7bysrKWkucHVzaChuZXcgZSh7aDoocitvKmEpJTM2MCxzOm4ucyxsOm4ubH0pKTtyZXR1cm4gaX1lcXVhbHModCl7bGV0IG49bmV3IGUodCk7cmV0dXJuIHRoaXMuZm9ybWF0PT09YGNteWtgfHxuLmZvcm1hdD09PWBjbXlrYD90aGlzLnRvQ215a1N0cmluZygpPT09bi50b0NteWtTdHJpbmcoKTp0aGlzLnRvUmdiU3RyaW5nKCk9PT1uLnRvUmdiU3RyaW5nKCl9fTtmdW5jdGlvbiBGdihlLHQpe2xldCBuPW5ldyBQdihlKSxyPW5ldyBQdih0KTtyZXR1cm4oTWF0aC5tYXgobi5nZXRMdW1pbmFuY2UoKSxyLmdldEx1bWluYW5jZSgpKSsuMDUpLyhNYXRoLm1pbihuLmdldEx1bWluYW5jZSgpLHIuZ2V0THVtaW5hbmNlKCkpKy4wNSl9dmFyIEl2PS4yOTksTHY9LjU4NyxSdj0uMTE0LHp2PTE4MCxCdj0tMjAsVnY9LS4yNSxIdj0uMixVdj0tNSxXdj0uMDMsR3Y9LjUsS3Y9NSxxdj0oZSx0KT0+bmV3IFB2KGUpLmRhcmtlbih0KS50b0hleFN0cmluZygpLEp2PWU9PntsZXQgdD1uZXcgUHYoZSkudG9SZ2IoKTtyZXR1cm5gJHt0LnJ9LCAke3QuZ30sICR7dC5ifWB9LFl2PWU9Pi9eI1swLTlBLUZdezZ9JC9pLnRlc3QoZSksWHY9ZT0+e2xldHtyOnQsZzpuLGI6cn09bmV3IFB2KGUpLnRvUmdiKCk7cmV0dXJuIE1hdGguc3FydCh0KnQqSXYrbipuKkx2K3IqcipSdik+enZ9LFp2PWU9PntsZXQgdD1uZXcgUHYoZSkse3M6bixsOnJ9PXQudG9Ic2woKTtyZXR1cm4gdC5zcGluKEJ2KS5kZXNhdHVyYXRlKG4qVnYpLmxpZ2h0ZW4ocipIdikudG9IZXhTdHJpbmcoKX0sUXY9KGUsdD1Hdik9PntsZXQgbj1uZXcgUHYoZSkse3M6cixsOml9PW4udG9Ic2woKTtyZXR1cm4gbi5zcGluKFV2KS5zYXR1cmF0ZShyKld2KS5kYXJrZW4oaSp0KS50b0hleFN0cmluZygpfSwkdj1lPT57bGV0e2NvbG9yOnQsY29sb3IyOm4sY29sb3JHcmFkaWVudDpyfT1lO3JldHVybiByP24/e2Zyb206dCx0bzpufTpYdih0KT97ZnJvbTp0LHRvOlF2KHQpfTp7ZnJvbTpadih0KSx0bzp0fTp7ZnJvbTp0LHRvOnR9fSxleT1lPT5YdihlKT9hdi5zbGF0ZTkwMDphdi53aGl0ZSx0eT1lPT5YdihlKT8uMTouMixueT1lPT57aWYoWHYoZSkpe2xldCB0PW5ldyBQdihlKS5nZXRMdW1pbmFuY2UoKTtyZXR1cm4gdD4uOD9xdihlLCgxMCp0KSoqdCk6ZX1yZXR1cm4gZX0scnk9KGUsdCk9PntsZXQgbj10Py5iYWNrZ3JvdW5kQ29sb3I/P2Uscj0wLGk9bmV3IFB2KGUpLGE9RnYobixpKSxvPXQ/LmZvcmNlTGlnaHRCZz8/bmV3IFB2KG4pLmlzTGlnaHQoKTtmb3IoO2E8My43NSYmcjwyMDspaT1vP2kuZGFya2VuKDUpOmkubGlnaHRlbig1KSxhPUZ2KG4saSkscisrO3JldHVybiBpLnRvSGV4U3RyaW5nKCl9LGl5PShlLHQpPT57bGV0IG49cnkoZSx7YmFja2dyb3VuZENvbG9yOmF2LndoaXRlfSkscj1yeShlKSxpPW5ldyBQdihlKS5pc0xpZ2h0KCksYT1uZXcgUHYodCkuaXNMaWdodCgpO3JldHVybiBpJiZhP3I9cnkodCk6IWkmJiFhP3I9cnkoZSk6aSYmIWE/cj1yeSh0LHtmb3JjZUxpZ2h0Qmc6ITB9KTohaSYmYSYmKHI9cnkoZSx7Zm9yY2VMaWdodEJnOiExfSkpLHtwcmltYXJ5Om4sc2Vjb25kYXJ5OnJ9fSxRPShlLHQsbik9PntlLmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSxheT0oZSx0KT0+e2xldHtjb2xvcjpufT10LHI9JHYodCksaT1yLmZyb209PT1gI2ZmZmZmZmAmJnIuZnJvbT09PXIudG8/e2Zyb206YXYuc2xhdGUzMDAsdG86YXYuc2xhdGUzMDB9OnIsYT1leShuKTtRKGUsYC0tY29sb3ItcHJpbWFyeWAsbiksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudGAsYSksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudC1yZ2JgLEp2KGEpKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1mcm9tYCxyLmZyb20pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvYCxyLnRvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tZnJvbWAsaS5mcm9tKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tdG9gLGkudG8pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLWZyb21gLHF2KHIuZnJvbSxLdikpLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLXRvYCxxdihyLnRvLEt2KSk7bGV0IG89bnkobik7UShlLGAtLWNvbG9yLXByaW1hcnktYnV0dG9uYCxvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24taG92ZXJgLHF2KG8sMTApKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudGAsYSksUShlLGAtLW9wYWNpdHktcHJpbWFyeS1jb250ZW50YCxTdHJpbmcodHkobikpKTtsZXQgcz1peShyLmZyb20sci50byk7UShlLGAtLWNvbG9yLXByaW1hcnktZm9jdXNgLHMucHJpbWFyeSksUShlLGAtLWNvbG9yLXNlY29uZGFyeS1mb2N1c2Ascy5zZWNvbmRhcnkpfSxveT0oKCk9PntsZXR7c3Vic2NyaWJlOmUsc2V0OnR9PU8oe2NvbG9yOmF2LnNtYXJ0c3VwcEJsdWUsY29sb3IyOm51bGwsY29sb3JHcmFkaWVudDohMH0pO3JldHVybntzdWJzY3JpYmU6ZSxzZXRUaGVtZUNvbG9yOmU9PntsZXR7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9PWU7aWYoIVl2KG4pKXtIKGBQcm92aWRlZCBjb2xvciAnJHtufScgaXMgbm90IHZhbGlkLiBEZWZhdWx0IGNvbG9yIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLmApO3JldHVybn1lbHNlIGlmKGkmJnImJiFZdihyKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7cn0nIGlzIG5vdCB2YWxpZC4gRGVmYXVsdCBjb2xvciB3aWxsIGJlIHVzZWQgaW5zdGVhZC5gKTtyZXR1cm59dCh7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9KX19fSkoKSxzeT0yNCxjeT0xMixseT03Mix1eT0zODAsZHk9NjcyLGZ5PTU2MCxweT04NDAsbXk9ZT0+YCR7ZX1weGAsaHk9ZT0+e2lmKGUpcmV0dXJuIEx1KGUpP3BhcnNlSW50KGUsMTApOmV9LGd5PShlLHQpPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8bj8uaGVhZGxlc3NNb2RlP3t3aWR0aDpgMTAwJWAsaGVpZ2h0OmAxMDAlYH06dD97d2lkdGg6ZnksaGVpZ2h0OnB5fTp7d2lkdGg6dXksaGVpZ2h0OmR5fX0sX3k9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS5ib3JkZXJSYWRpdXM9bXkoMjApLHQ/LmhlYWRsZXNzTW9kZT9lLnN0eWxlLmJveFNoYWRvdz1gbm9uZWA6dD8ubGltaXRTaGFkb3c/ZS5zdHlsZS5ib3hTaGFkb3c9YHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDVweCAxMnB4YDplLnN0eWxlLmJveFNoYWRvdz1gcmdiYSgwLCAwLCAwLCAwLjE2KSAwcHggNXB4IDQwcHhgfSx2eT0oKT0+e2xldHtvZmZzZXRZOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBoeShlKT8/c3l9LHl5PSgpPT57bGV0e29mZnNldFg6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGh5KGUpPz9jeX0sYnk9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGV8fHQ/LmhlYWRsZXNzTW9kZT8wOnN5fSx4eT1lPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8dD8uaGVhZGxlc3NNb2RlPzA6Y3l9LFN5PSgpPT57bGV0e3Bvc2l0aW9uOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09YGZpeGVkYH0sQ3k9ZT0+e1N5KCkmJihlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGApfSx3eT0oZSx0KT0+e1N5KCkmJihlLnN0eWxlLmJvdHRvbT1teSh0KSl9LFR5PShlLHQpPT57aWYoU3koKSl7bGV0e29yaWVudGF0aW9uOm59PVYuZ2V0T3B0aW9ucygpO249PT1gcmlnaHRgPyhlLnN0eWxlLmxlZnQ9YGluaXRpYWxgLGUuc3R5bGUucmlnaHQ9bXkodCkpOihlLnN0eWxlLmxlZnQ9bXkodCksZS5zdHlsZS5yaWdodD1gaW5pdGlhbGApfX0sRXk9ZT0+e2xldHt6SW5kZXg6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS56SW5kZXg9U3RyaW5nKHQ/P2BhdXRvYCl9LER5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHQuc3R5bGUud2lkdGg9YDEwMCVgLHQuc3R5bGUuaGVpZ2h0PWAxMDAlYCx0LnN0eWxlLmJvcmRlcj1gbm9uZWAsdC5zdHlsZS5kaXNwbGF5PWBibG9ja2AsdC5zdHlsZS50ZXh0QWxpZ249YGxlZnRgLHQuc3R5bGUubWFyZ2luPWAwYCx0LnN0eWxlLnBhZGRpbmc9YDBgLHQuc3R5bGUudG9wPWAwYCx0LnN0eWxlLmxlZnQ9YDBgLHQuc3R5bGUub3BhY2l0eT1gMWAsZSYmZSh0KSx0LmdldEF0dHJpYnV0ZShgc3R5bGVgKT8/YGB9LE95PWU9PntDeShlKSx3eShlLHZ5KCkpLFR5KGUseXkoKSksRXkoZSl9LGt5PShlLHQpPT57Q3koZSksd3koZSxieSh0KSksVHkoZSx4eSh0KSksRXkoZSksdHx8X3koZSl9LEF5PWU9PntDeShlKSx3eShlLHZ5KCkrbHkpLFR5KGUseXkoKSksRXkoZSl9LGp5PWU9PntlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGAsZS5zdHlsZS53aWR0aD1gMTAwJWAsZS5zdHlsZS5oZWlnaHQ9YDEwMCVgLHd5KGUsMCksVHkoZSwwKSxFeShlKX0sTXk9ZT0+e095KGUpfSxOeT0oZSx0KT0+e2t5KGUsdCl9LFB5PWU9PntBeShlKX0sRnk9ZT0+e0F5KGUpfSxJeT1lPT57ankoZSl9LEx5PU8oMzAwKSxSeT1PKDE2Niksenk9TyghMSksQnk9Tyh2b2lkIDApLFZ5PWsoW3NzLEJ5XSwoW2UsdF0pPT57bGV0e2J1dHRvblN0eWxlOm59PVYuZ2V0T3B0aW9ucygpO3JldHVybiB0P3Q9PT1gYnViYmxlYDplfHxuPT09YGJ1YmJsZWB9KSxIeT1rKFtWeSxMeV0sKFtlLHRdKT0+ZT81Njp0KSxVeT1PKHZvaWQgMCksV3k9ayhbY3MsVXldLChbZSx0XSk9PmU/ITA6KHQ/P1YuZ2V0T3B0aW9ucygpLmhlYWRlclN0eWxlKT09PWBjb21wYWN0YCksR3k9ayhbV3ldLChbZV0pPT5lPzc2OjExNCksS3k9TygpLHF5PWsoW0t5XSwoW2VdKT0+ZT09PXZvaWQgMD96byhVLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZCk9PT1gdHJ1ZWA6ZSksSnk9ZT0+e0JvKHtuYW1lOlUuSXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLEt5LnNldChlKX0sJD1mdW5jdGlvbihlKXtyZXR1cm4gZS5OYW1lPWBuYW1lYCxlLkdyb3VwPWBncm91cGAsZS5FbWFpbD1gZW1haWxgLGUuUGhvbmU9YHBob25lYCxlLlZhcmlhYmxlcz1gdmFyaWFibGVzYCxlLkNvbnRhY3REYXRhPWBjb250YWN0RGF0YWAsZS5MYW5ndWFnZT1gbGFuZ3VhZ2VgLGUuQ2hhdENsb3NlPWBjaGF0OmNsb3NlYCxlLkNoYXRPcGVuPWBjaGF0Om9wZW5gLGUuQ2hhdFNob3c9YGNoYXQ6c2hvd2AsZS5DaGF0SGlkZT1gY2hhdDpoaWRlYCxlLlRoZW1lQ29sb3I9YHRoZW1lOmNvbG9yYCxlLkNoYXRNZXNzYWdlPWBjaGF0Om1lc3NhZ2VgLGUuQ2hhdFNlbmQ9YGNoYXQ6c2VuZGAsZS5IdG1sQXBwbHk9YGh0bWw6YXBwbHlgLGUuT249YG9uYCxlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuTWFya2V0aW5nQ29uc2VudD1gbWFya2V0aW5nQ29uc2VudGAsZS5PcGVuUmF0ZUZvcm09YG9wZW5SYXRlRm9ybWAsZS5PcGVuQXV0aEZvcm09YG9wZW5BdXRoRm9ybWAsZS5XaWRnZXRTdGF0dXM9YHdpZGdldFN0YXR1c2AsZS5UcmFuc2xhdGlvbnM9YHRyYW5zbGF0aW9uc2AsZS5BdXRoRm9ybUZpZWxkcz1gYXV0aEZvcm1GaWVsZHNgLGUuQnV0dG9uU3R5bGU9YGJ1dHRvblN0eWxlYCxlLkhlYWRlclN0eWxlPWBoZWFkZXJTdHlsZWAsZS5QcmV2aWV3VHJhbnNsYXRlPWBwcmV2aWV3VHJhbnNsYXRlYCxlLkRpc2FibGVDb25uZWN0aW9uU3RhdHVzPWBkaXNhYmxlQ29ubmVjdGlvblN0YXR1c2AsZS5SZWxvYWRXaXRoTW9ja0RhdGE9YHJlbG9hZFdpdGhNb2NrRGF0YWAsZS5SZWxvYWQ9YHJlbG9hZGAsZS5Cb3RJZGVudGl0eVVwZGF0ZT1gYm90SWRlbnRpdHk6dXBkYXRlYCxlfSh7fSksWXk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuTWVzc2FnZVNlbnQ9YG1lc3NhZ2Vfc2VudGAsZS5NZXNzYWdlUmVjZWl2ZWQ9YG1lc3NhZ2VfcmVjZWl2ZWRgLGUuTWVzc2VuZ2VyQ2xvc2U9YG1lc3Nlbmdlcl9jbG9zZWAsZS5XaWRnZXRJbml0PWB3aWRnZXRfaW5pdGAsZX0oe30pLFh5PWU9Pnt6Lm9uKGBtZXNzYWdlU2VudGAsZSl9LFp5PWU9Pnt6Lm9uKGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxReT1lPT57ei5vbihgbWVzc2VuZ2VyQ2xvc2VgLGUpfSwkeT1lPT57ei5vbihgd2lkZ2V0SW5pdGAsZSl9LGViPXtbWXkuTWVzc2FnZVNlbnRdOlh5LFtZeS5NZXNzYWdlUmVjZWl2ZWRdOlp5LFtZeS5NZXNzZW5nZXJDbG9zZV06UXksW1l5LldpZGdldEluaXRdOiR5fSx0Yj0oZSx0KT0+e2xldCBuPWViW2VdO24mJm4odCl9LG5iPWBodHRwczovL2RvY3Muc21hcnRzdXBwLmNvbS9jaGF0LWJveC9gLHJiPWAke25ifWxvY2FsaXphdGlvbi8jc3VwcG9ydGVkLWxhbmd1YWdlc2AsaWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLXZpc2l0b3ItZGF0YWAsYWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLWNvbnRhY3QtZGF0YWAsb2I9YCR7bmJ9amF2YXNjcmlwdC1hcGkvZXZlbnRzL2Asc2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vaGVscC9jb29raWUtY29uc2VudC8jd2hlcmUtdG8tZW5hYmxlLWNvb2tpZS1jb25zZW50LWluLXNtYXJ0c3VwcGAsY2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vcHJpY2luZ2AsbGI9Tyh7fSksdWI9KGUsdCk9PntsYi51cGRhdGUobj0+KHsuLi5uLFtlXTp0fSkpfSxkYj1lPT5PYmplY3QudmFsdWVzKCQpLnNvbWUodD0+dD09PWUpLGZiPShlLHQpPT5MdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgc3RyaW5nLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLHBiPShlLHQpPT5QdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgYm9vbGVhbi4gU2VlICR7bmJ9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKSxtYj0oZSx0KT0+dHlwZW9mIHQ9PWBmdW5jdGlvbmA/ITA6KEgoYFBhcmFtZXRlciBvZiAnJHtlfScgQVBJIGNvbW1hbmQgbXVzdCBiZSB0eXBlIGZ1bmN0aW9uLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGhiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHtpYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGdiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHthYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLF9iPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LmApLCExKSx2Yj0oZSx0KT0+IUl1KHQpfHwhKGBpZGBpbiB0KXx8IUx1KHQuaWQpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgYmUgdHlwZSBvYmplY3QgYW5kIGhhcyBhIHZhbGlkICdpZCcgcHJvcGVydHkuYCksITEpOmBuYW1lYGluIHQmJiFMdSh0Lm5hbWUpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICduYW1lJyBwcm9wZXJ0eS5gKSwhMSk6YGF2YXRhclVybGBpbiB0JiYhTHUodC5hdmF0YXJVcmwpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICdhdmF0YXJVcmwnIHByb3BlcnR5LmApLCExKTohMCx5Yj0oZSx0KT0+e2xldCBuPU9iamVjdC52YWx1ZXMoWXkpO3JldHVybiBuLmluY2x1ZGVzKHQpPyEwOihIKGBVbmtub3duIGV2ZW50OiAnJHt0fScuIEF2YWlsYWJsZSBldmVudCBuYW1lcyBhcmU6ICR7bi5qb2luKGAsIGApfS4gU2VlICR7b2J9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKX0sYmI9ZT0+e0goYFVua25vd24gQVBJIGNvbW1hbmQ6ICcke2V9Jy4gU2VlICR7bmJ9IHRvIGNoZWNrIGF2YWlsYWJsZSBBUEkgY29tbWFuZHMuYCl9LHhiPSgpPT4hIVYuZ2V0T3B0aW9ucygpLmZlYXR1cmVzPy5hcGksU2I9KCk9PiEhVi5nZXRPcHRpb25zKCkuZmVhdHVyZXM/Lmdyb3VwcyxDYj0oKT0+Vi5nZXRPcHRpb25zKCkuaXNQcmV2aWV3TW9kZSx3Yj0oKT0+IXhiKCkmJiFDYigpPyhIKGBDaGF0IGJveCBBUEkgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxUYj0oKT0+IXhiKCl8fCFTYigpPyhIKGBDaGF0IGJveCBHcm91cHMgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxFYj0oKT0+e0hvKCl8fEgoYEVuYWJsZSBtYW5hZ2luZyBjb29raWUgY29uc2VudCBpbiB3aWRnZXQgc2V0dGluZ3MgdG8gYWxsb3cgdGhpcyBjb21tYW5kLiBTZWUgJHtzYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCl9LERiPSgpPT57bGV0IGU9KCk9PntVXyghMCksSV8oKX07aWYoIUEoQ18pKXtYbC5wdXNoKGUpO3JldHVybn1lKCl9LE9iPSgpPT57aWYod2IoKSl7aWYoIUEoQ18pKXtYbC5wdXNoKFdfKTtyZXR1cm59V18oKX19LGtiPSgpPT57d2IoKSYmSV8oKX0sQWI9KCk9Pnt3YigpJiZMXygpfSxqYj0oZSx0KT0+e2lmKHdiKCkmJmU9PT0kLkxhbmd1YWdlJiZmYihlLHQpKXtpZighSWwodCkpe0goYFByb3ZpZGVkIGxhbmd1YWdlICcke3R9JyBpcyBub3Qgc3VwcG9ydGVkLiBTZWUgJHtyYn0gdG8gY2hlY2sgc3VwcG9ydGVkIGxhbmd1YWdlcy5gKTtyZXR1cm59aWYoIUEoQ18pKXt1YihgbGFuZ2AsdCk7cmV0dXJufUdsKHQpfX0sTWI9KGUsdCk9PntsZXQgbixyPW51bGwsaT0hMDtpZih3YigpKXtpZih0eXBlb2YgdD09YHN0cmluZ2AmJmZiKGUsdCkpbj10O2Vsc2UgaWYoaGIoZSx0KSl7aWYobj10LmNvbG9yLHI9dC5jb2xvcjIsaT10LmNvbG9yR3JhZGllbnQsIXBiKGUsaSkpcmV0dXJufWVsc2UgcmV0dXJuO2lmKCFZdihuKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7bn0nIGlzIG5vdCB2YWxpZC4gUGxlYXNlIHVzZSBoZXggY29sb3IgY29kZS5gKTtyZXR1cm59ZWxzZSBpZihpJiZyJiYhWXYocikpe0goYFByb3ZpZGVkIGNvbG9yICcke3J9JyBpcyBub3QgdmFsaWQuIERlZmF1bHQgY29sb3Igd2lsbCBiZSB1c2VkIGluc3RlYWQuYCk7cmV0dXJufW95LnNldFRoZW1lQ29sb3Ioe2NvbG9yOm4sY29sb3IyOnIsY29sb3JHcmFkaWVudDppfSl9fSxOYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJm9fKHQpfSxQYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJihvXyh0KSxkXygpKX0sRmI9KGUsdCxuKT0+e2ZiKGUsdCkmJnliKGUsdCkmJm1iKGUsbikmJnRiKHQsbil9LEliPShlLHQpPT57aGIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclZhcmlhYmxlcyh6dSh0KSl9LExiPShlLHQpPT57ZSE9PSQuTmFtZSYmZSE9PSQuRW1haWwmJmUhPT0kLlBob25lJiZlIT09JC5Hcm91cHx8ZmIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclByb3BlcnR5KGUsdCl9LFJiPShlLHQpPT57aWYoIVRiKCl8fCFmYihlLHQpKXJldHVybjtsZXQgbj1BKGlsKVt0XTtpZihBKENfKSYmIW4pe0goYEdyb3VwIHdpdGgga2V5ICcke3R9JyBkb2VzIG5vdCBleGlzdC4gUGxlYXNlIHByb3ZpZGUgY29ycmVjdCBncm91cCBrZXkgZnJvbSB5b3VyIGdyb3VwIHNldHRpbmdzLmApO3JldHVybn1MYihlLHQpfSx6Yj0oZSx0KT0+e2diKGUsdCkmJk11LnVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YSh0KX0sQmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sVmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sSGI9KCk9PntZcChBKEJwKXx8YGApfSxVYj0oKT0+e0JjKEhjLkF1dGhGb3JtKX0sV2I9KGUsdCk9PntmYihlLHQpJiYodCE9PUsuQWNjb3VudFN0YXR1cy5PbmxpbmUmJnQhPT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZXx8JHUuc2V0KHQpKX0sR2I9KGUsdCk9PntoYihlLHQpJiZxbCh0KX0sS2I9KGUsdCk9PntoYihlLHQpJiYoQShWaCl8fFZoLnNldChWLmdldE9wdGlvbnMoKSksVmgudXBkYXRlKGU9Pih7Li4uZSwuLi50fSkpKX0scWI9KGUsdCk9PntmYihlLHQpJiZCeS5zZXQodCl9LEpiPShlLHQpPT57aWYoZT09PSQuSGVhZGVyU3R5bGUmJmZiKGUsdCkpe2lmKHQhPT1gY29tcGFjdGAmJnQhPT1gc3RhbmRhcmRgKXtIKGBQcm92aWRlZCBoZWFkZXIgc3R5bGUgJyR7dH0nIGlzIG5vdCB2YWxpZC4gVXNlICdjb21wYWN0JyBvciAnc3RhbmRhcmQnLmApO3JldHVybn1VeS5zZXQodCl9fSxZYj0oKT0+e2xldCBlPSgpPT57fTtlPUhsLnN1YnNjcmliZSgoKT0+e0EoUnApLmZvckVhY2goZT0+e2xldCB0PWUuY29udGVudD8uZGF0YXx8YGA7dHlwZW9mIHQ9PWBzdHJpbmdgJiZ0Lm1hdGNoKC93aWRnZXRQcmV2aWV3XC4uKi8pJiYoZS5jb250ZW50LnRleHQ9QShXKSh0KSxKLnJlcGxhY2VNZXNzYWdlKGUpKX0pLGUoKX0pfSxYYj0oZSx0KT0+e3BiKGUsdCkmJklnLnNldCh0KX0sWmI9KGUsdCk9PntfYihlLHQpJiZxLnJlbG9hZENsaWVudCh0KX0sUWI9KGUsdCk9PntwYihlLHQpJiZxLnJlbG9hZENsaWVudCh2b2lkIDAsdCl9LCRiPShlLHQpPT57aWYoIXZiKGUsdCkpcmV0dXJuO2xldHtpZDpuLC4uLnJ9PXQ7JGwudXBkYXRlSWRlbnRpdHkobixyKX0sZXg9e3ZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgLGV4ZWN1dGU6ZT0+e2xldCB0PWVbMF07aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmApe3J4KHQpO3JldHVybn1pZighZGIodCkpe2JiKFN0cmluZyh0KSk7cmV0dXJufW54KHQsZVsxXSwuLi5lLnNsaWNlKDIpKX0sZXhlYzpmdW5jdGlvbiguLi5lKXt0aGlzLmV4ZWN1dGUoZSl9fSx0eD17WyQuQ2hhdE9wZW5dOkRiLFskLkNoYXRDbG9zZV06T2IsWyQuQ2hhdFNob3ddOmtiLFskLkNoYXRIaWRlXTpBYixbJC5DaGF0TWVzc2FnZV06TmIsWyQuQ2hhdFNlbmRdOlBiLFskLkxhbmd1YWdlXTpqYixbJC5UaGVtZUNvbG9yXTpNYixbJC5IZWFkZXJTdHlsZV06SmIsWyQuT25dOkZiLFskLlZhcmlhYmxlc106SWIsWyQuQ29udGFjdERhdGFdOnpiLFskLk5hbWVdOkxiLFskLkdyb3VwXTpSYixbJC5FbWFpbF06TGIsWyQuUGhvbmVdOkxiLFskLkFuYWx5dGljc0NvbnNlbnRdOkJiLFskLk1hcmtldGluZ0NvbnNlbnRdOlZiLFskLkh0bWxBcHBseV06bnVsbCxbJC5PcGVuUmF0ZUZvcm1dOkhiLFskLk9wZW5BdXRoRm9ybV06VWIsWyQuV2lkZ2V0U3RhdHVzXTpXYixbJC5UcmFuc2xhdGlvbnNdOkdiLFskLkF1dGhGb3JtRmllbGRzXTpLYixbJC5CdXR0b25TdHlsZV06cWIsWyQuUHJldmlld1RyYW5zbGF0ZV06WWIsWyQuRGlzYWJsZUNvbm5lY3Rpb25TdGF0dXNdOlhiLFskLlJlbG9hZFdpdGhNb2NrRGF0YV06WmIsWyQuUmVsb2FkXTpRYixbJC5Cb3RJZGVudGl0eVVwZGF0ZV06JGJ9LG54PShlLHQsLi4ubik9PntsZXQgcj10eFtlXTtpZihyPT09dm9pZCAwKXtiYihlKTtyZXR1cm59ciE9PW51bGwmJihyKGUsdCwuLi5uKSx2byhg8J+nmeKAjeKZgu+4j1tBUEldICR7ZX0ke3Q/YDpgOmBgfWAsdD8/YGApKX0scng9ZT0+e0EoQ18pP2UoKTpYbC5wdXNoKGUpfTt0eXBlb2Ygd2luZG93PGB1YCYmKCh3aW5kb3cuX19zdmVsdGU/Pz17fSkudj8/PW5ldyBTZXQpLmFkZChgNWApO3ZhciBpeD1lPT5lO2Z1bmN0aW9uIGF4KGUpe2xldCB0PWUtMTtyZXR1cm4gdCp0KnQrMX1mdW5jdGlvbiBveChlKXtsZXQgdD10eXBlb2YgZT09YHN0cmluZ2AmJmUubWF0Y2goL15ccyooLT9bXGQuXSspKFteXHNdKilccyokLyk7cmV0dXJuIHQ/W3BhcnNlRmxvYXQodFsxXSksdFsyXXx8YHB4YF06W2UsYHB4YF19ZnVuY3Rpb24gc3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWl4fT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpuLGVhc2luZzpyLGNzczplPT5gb3BhY2l0eTogJHtlKml9YH19ZnVuY3Rpb24gY3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHg6aT0wLHk6YT0wLG9wYWNpdHk6bz0wfT17fSl7bGV0IHM9Z2V0Q29tcHV0ZWRTdHlsZShlKSxjPStzLm9wYWNpdHksbD1zLnRyYW5zZm9ybT09PWBub25lYD9gYDpzLnRyYW5zZm9ybSx1PWMqKDEtbyksW2QsZl09b3goaSksW3AsbV09b3goYSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246bixlYXNpbmc6cixjc3M6KGUsdCk9PmAKCQkJdHJhbnNmb3JtOiAke2x9IHRyYW5zbGF0ZSgkeygxLWUpKmR9JHtmfSwgJHsoMS1lKSpwfSR7bX0pOwoJCQlvcGFjaXR5OiAke2MtdSp0fWB9fWZ1bmN0aW9uIGx4KGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpuPTQwMCxlYXNpbmc6cj1heCxheGlzOmk9YHlgfT17fSl7bGV0IGE9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPSthLm9wYWNpdHkscz1pPT09YHlgP2BoZWlnaHRgOmB3aWR0aGAsYz1wYXJzZUZsb2F0KGFbc10pLGw9aT09PWB5YD9bYHRvcGAsYGJvdHRvbWBdOltgbGVmdGAsYHJpZ2h0YF0sdT1sLm1hcChlPT5gJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWApLGQ9cGFyc2VGbG9hdChhW2BwYWRkaW5nJHt1WzBdfWBdKSxmPXBhcnNlRmxvYXQoYVtgcGFkZGluZyR7dVsxXX1gXSkscD1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVswXX1gXSksbT1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVsxXX1gXSksaD1wYXJzZUZsb2F0KGFbYGJvcmRlciR7dVswXX1XaWR0aGBdKSxnPXBhcnNlRmxvYXQoYVtgYm9yZGVyJHt1WzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOmU9PmBvdmVyZmxvdzogaGlkZGVuO29wYWNpdHk6ICR7TWF0aC5taW4oZSoyMCwxKSpvfTske3N9OiAke2UqY31weDtwYWRkaW5nLSR7bFswXX06ICR7ZSpkfXB4O3BhZGRpbmctJHtsWzFdfTogJHtlKmZ9cHg7bWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O21hcmdpbi0ke2xbMV19OiAke2UqbX1weDtib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmh9cHg7Ym9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSpnfXB4O21pbi0ke3N9OiAwYH19ZnVuY3Rpb24gdXgoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHN0YXJ0Omk9MCxvcGFjaXR5OmE9MH09e30pe2xldCBvPWdldENvbXB1dGVkU3R5bGUoZSkscz0rby5vcGFjaXR5LGM9by50cmFuc2Zvcm09PT1gbm9uZWA/YGA6by50cmFuc2Zvcm0sbD0xLWksdT1zKigxLWEpO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOihlLHQpPT5gCgkJCXRyYW5zZm9ybTogJHtjfSBzY2FsZSgkezEtbCp0fSk7CgkJCW9wYWNpdHk6ICR7cy11KnR9CgkJYH19YXQoKTt2YXIgZHg9d2koYDxkaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZngoZSx0KXtsdCh0LCEwKTtsZXQgbj1vbyh0LGBoZWlnaHRgLDMsMjApLHI9b28odCxgd2lkdGhgLDMsYDEwMCVgKSxpPW9vKHQsYGNvbG9yU2NoZW1lYCwzLGBncmF5YCksYT1vbyh0LGByb3VuZGVkU3R5bGVgLDMsYHJvdW5kZWQtZnVsbGApLG89Zm4oKCk9PmAke2EoKX0gYW5pbWF0ZS1wdWxzZWApO3ZhciBzPWR4KCk7bGV0IGM7cHIoZT0+e2JhKHMsMSxtYShbUihvKSxpKCk9PT1gZ3JheWAmJmBiZy1ncmF5LTIwMGAsaSgpPT09YGRhcmtHcmF5YCYmYGJnLWdyYXktMzAwYF0pKSxjPVNhKHMsYGAsYyxlKX0sWygpPT4oe2hlaWdodDpteShuKCkpLHdpZHRoOkZ1KHIoKSk/bXkocigpKTpyKCl9KV0pLGtpKGUscyksdXQoKX1mdW5jdGlvbiBweChlLHQpe2xldCBuPW9vKHQsYHNpemVgLDMsMjApO2Z4KGUse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsZ2V0IHdpZHRoKCl7cmV0dXJuIG4oKX0sZ2V0IGhlaWdodCgpe3JldHVybiBuKCl9fSl9dmFyIG14PUVpKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE4IDZMNiAxOE02IDZsMTIgMTIiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBoeChlLHQpe2xldCBuPXJvKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1teCgpO1ZhKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksa2koZSxyKX12YXIgZ3g9d2koYDxidXR0b24gdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdj48IT48L2Rpdj48L2J1dHRvbj5gKTtmdW5jdGlvbiBfeChlLHQpe2x0KHQsITApO2xldCBuPW9vKHQsYGljb25PcmllbnRhdGlvbmAsMyxgcmlnaHRgKSxyPW9vKHQsYGljb25BbmltYXRpb25gLDMsYG5vbmVgKSxpPW9vKHQsYGljb25TY2FsZWAsMywhMSksYT1vbyh0LGBzaXplYCwzLGBtZGApLG89b28odCxgdmFyaWFudGAsMyxgZ2hvc3RgKSxzPW9vKHQsYGZvY3VzYCwzLGBwcmltYXJ5YCksYz1mbigoKT0+bigpPT09YHJpZ2h0YD8xOi0xKSxsPWZuKCgpPT5pKCk/MS40OjEuMiksdT1mbigoKT0+dC5pY29uKSxkPWU9PntlLnN0b3BQcm9wYWdhdGlvbigpLHQub25DbGljayYmdC5vbkNsaWNrKGUpfTt2YXIgZj1neCgpLHA9Vm4oZik7JGkoVm4ocCksKCk9PlIodSksKGUsdCk9Pnt0KGUse3dpZHRoOmAxZW1gLGhlaWdodDpgMWVtYH0pfSksWGUocCksWGUoZikscHIoZT0+e2JhKGYsMSxlLGBzdmVsdGUteXdvZm1sYCksZi5kaXNhYmxlZD10LmRpc2FibGVkLHphKGYsYGRhdGEtdGVzdGlkYCx0LnRlc3RJZCksemEoZixgYXJpYS1sYWJlbGAsdC5pY29uRGVzY3JpcHRpb24pLHphKGYsYGFyaWEtZGlzYWJsZWRgLHQuZGlzYWJsZWQpLGJhKHAsMSxtYShbYHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgLHIoKT09PWBzcGluYCYmYGFuaW1hdGUtc3BpbmBdKSksU2EocCxgdHJhbnNmb3JtOiBzY2FsZSgke1IobCl9KSBzY2FsZVgoJHtSKGMpfSk7YCl9LFsoKT0+bWEoW2BidG4gYnRuLSR7bygpfSBidG4tJHthKCl9YCwhIXQuZGlzYWJsZWQmJmBidG4tZGlzYWJsZWRgLGlzKCk/YGN1cnNvci1hdXRvYDpgY3Vyc29yLXBvaW50ZXJgLHMoKT09PWBwcmltYXJ5YCYmYGJ1dHRvbi1mb2N1c2AscygpPT09YHNlY29uZGFyeWAmJmBidXR0b24tZm9jdXMtc2Vjb25kYXJ5YF0pXSksZ2koYGNsaWNrYCxmLGQpLGtpKGUsZiksdXQoKX1faShbYGNsaWNrYF0pO2V4cG9ydHtkXyBhcyAkLGp0IGFzICRpLFNsIGFzICRuLGFvIGFzICRyLCRmIGFzICR0LCRfIGFzIEEsZ2kgYXMgQWksc2QgYXMgQW4sc3MgYXMgQXIsVGggYXMgQXQsS18gYXMgQixWbiBhcyBCaSxVdSBhcyBCbixqbyBhcyBCcixIcCBhcyBCdCxGeSBhcyBDLElpIGFzIENpLF9kIGFzIENuLGJzIGFzIENyLHpoIGFzIEN0LG95IGFzIEQsRWkgYXMgRGksbmQgYXMgRG4sX3MgYXMgRHIsTWggYXMgRHQsbXkgYXMgRSx3aSBhcyBFaSxlZCBhcyBFbixocyBhcyBFcixGaCBhcyBFdCxKXyBhcyBGLCRyIGFzIEZpLEt1IGFzIEZuLHpvIGFzIEZyLFpwIGFzIEZ0LE9fIGFzIEcsVG4gYXMgR2ksJGwgYXMgR24scG8gYXMgR3IsenAgYXMgR3QsTl8gYXMgSCxVbiBhcyBIaSxMdSBhcyBIbix5byBhcyBIcixNcCBhcyBIdCxYIGFzIEkscHIgYXMgSWksWXUgYXMgSW4sVm8gYXMgSXIsWXAgYXMgSXQsbV8gYXMgSixwbiBhcyBKaSxIbCBhcyBKbix6IGFzIEpyLFJwIGFzIEp0LGdfIGFzIEssQ24gYXMgS2ksWWwgYXMgS24sQiBhcyBLcixKIGFzIEt0LEdfIGFzIEwsb3IgYXMgTGkscXUgYXMgTG4sQm8gYXMgTHIsWHAgYXMgTHQscnYgYXMgTSxwaSBhcyBNaSxpZCBhcyBNbixhcyBhcyBNcixFaCBhcyBNdCxZXyBhcyBOLFIgYXMgTmksWnUgYXMgTm4saXMgYXMgTnIsaWggYXMgTnQsYXkgYXMgTyxEaSBhcyBPaSxsZCBhcyBPbixscyBhcyBPcixraCBhcyBPdCxXXyBhcyBQLFhyIGFzIFBpLEd1IGFzIFBuLEpvIGFzIFByLGFtIGFzIFB0LGlfIGFzIFEsUHQgYXMgUWksd2wgYXMgUW4scm8gYXMgUXIsT3AgYXMgUXQsVV8gYXMgUixjciBhcyBSaSxXdSBhcyBSbixVIGFzIFJyLFdwIGFzIFJ0LFB5IGFzIFMsamkgYXMgU2ksZ2QgYXMgU24seXMgYXMgU3IsYWcgYXMgU3QsZ3kgYXMgVCxPaSBhcyBUaSx1ZCBhcyBUbixmcyBhcyBUcixJaCBhcyBUdCxqXyBhcyBVLGpuIGFzIFVpLE11IGFzIFVuLFYgYXMgVXIsQnAgYXMgVXQsTV8gYXMgVixIbiBhcyBWaSxWdSBhcyBWbixIIGFzIFZyLFZwIGFzIFZ0LERfIGFzIFcsd24gYXMgV2kscSBhcyBXbix2byBhcyBXcixGcCBhcyBXdCxzXyBhcyBYLE10IGFzIFhpLFJsIGFzIFhuLHNvIGFzIFhyLElwIGFzIFh0LHBfIGFzIFksZm4gYXMgWWksVyBhcyBZbixjbyBhcyBZcixQcCBhcyBZdCxhXyBhcyBaLEF0IGFzIFppLENsIGFzIFpuLG9vIGFzIFpyLGtwIGFzIFp0LFJ5IGFzIF8sR2kgYXMgX2ksVGQgYXMgX24sTmMgYXMgX3IsdWcgYXMgX3Qsc3ggYXMgYSxsdCBhcyBhYSxWYSBhcyBhaSxCZiBhcyBhbixsbCBhcyBhcixVZyBhcyBhdCxOeSBhcyBiLFJpIGFzIGJpLHlkIGFzIGJuLENzIGFzIGJyLGlnIGFzIGJ0LGx4IGFzIGMsWGUgYXMgY2EsVGEgYXMgY2ksU2YgYXMgY24sUWMgYXMgY3IsVmcgYXMgY3QsSHkgYXMgZCxtYSBhcyBkaSxHZCBhcyBkbixXYyBhcyBkcixOZyBhcyBkdCxrIGFzIGVhLGVvIGFzIGVpLGVwIGFzIGVuLGJsIGFzIGVyLG9fIGFzIGV0LHp5IGFzIGYsdWEgYXMgZmksVmQgYXMgZm4sR2MgYXMgZnIsT2cgYXMgZnQsR3kgYXMgZyxaaSBhcyBnaSx3ZCBhcyBnbixCYyBhcyBncix5ZyBhcyBndCxWeSBhcyBoLFFpIGFzIGhpLEVkIGFzIGhuLHpjIGFzIGhyLFRnIGFzIGh0LGZ4IGFzIGksdXQgYXMgaWEscWEgYXMgaWksRmYgYXMgaW4sc2wgYXMgaXIsdF8gYXMgaXQsaXYgYXMgaixoaSBhcyBqaSxmZCBhcyBqbix1cyBhcyBqcixEaCBhcyBqdCxldiBhcyBrLF9pIGFzIGtpLGNkIGFzIGtuLGNzIGFzIGtyLE9oIGFzIGt0LGV4IGFzIGwseCBhcyBsYSxTYSBhcyBsaSxiZiBhcyBsbixVYyBhcyBscixMZyBhcyBsdCxxeSBhcyBtLCRpIGFzIG1pLHpkIGFzIG1uLFZjIGFzIG1yLERnIGFzIG10LGh4IGFzIG4sTyBhcyBuYSxZYSBhcyBuaSxxZiBhcyBubix1bCBhcyBucixjXyBhcyBudCxjeCBhcyBvLGN0IGFzIG9hLHphIGFzIG9pLHpmIGFzIG9uLG9sIGFzIG9yLEhnIGFzIG90LFd5IGFzIHAsY2EgYXMgcGksSGQgYXMgcG4sSGMgYXMgcHIsRWcgYXMgcHQsaF8gYXMgcSxPbiBhcyBxaSxLbCBhcyBxbixtbyBhcyBxcixOcCBhcyBxdCxweCBhcyByLHN0IGFzIHJhLEphIGFzIHJpLFVmIGFzIHJuLGNsIGFzIHJyLGxfIGFzIHJ0LHV4IGFzIHMsWmUgYXMgc2EsTGEgYXMgc2ksRGYgYXMgc24sbmwgYXMgc3IsQmcgYXMgc3QsX3ggYXMgdCxBIGFzIHRhLCRhIGFzIHRpLFRwIGFzIHRuLGRsIGFzIHRyLHJfIGFzIHR0LEx5IGFzIHUsdSBhcyB1YSxiYSBhcyB1aSxSZCBhcyB1bixLYyBhcyB1cixGZyBhcyB1dCxKeSBhcyB2LFZpIGFzIHZpLFNkIGFzIHZuLFBjIGFzIHZyLHJnIGFzIHZ0LER5IGFzIHcsa2kgYXMgd2ksJHUgYXMgd24sZ3MgYXMgd3IsTGggYXMgd3QsSXkgYXMgeCxNaSBhcyB4aSx4ZCBhcyB4bix4cyBhcyB4cixvZyBhcyB4dCxNeSBhcyB5LEJpIGFzIHlpLGJkIGFzIHluLE1jIGFzIHlyLFZoIGFzIHl0LFZfIGFzIHosWG4gYXMgemksSHUgYXMgem4sTG8gYXMgenIsVXAgYXMgenR9OwovLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZWQtQ2dNQ0Fmb3IuanMubWFw"}},"time_used":15,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.slideanims.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.233Z","timestamp":1785123385233,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.slideanims.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"72d9-65fd8520-21137043e6f47ea2;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6625\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29401,"size_decoded":7081,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (29149), with CRLF line terminators","md5":"8cc105dfeffdc03367dcbe7ea3ef264a","sha1":"9aa2e656e163d9a3ea622b4897974884583e4cac","sha256":"80a9123891e91ebbb1c06a2d2c79533155a8f17c51ac09013efa57bc007f303a","sha512":"bd11bf18cac33ab7a76618c84aedbaf123d050b4f9bbeedf5ba560e81b514a7e169f95d89afeebe3a28227ed453ae0f8afd43d774be2d3e59b88c31b27cfe08a","ssdeep":"384:Ky1KpMxWR1zy40Islk/4EfoXdOM8w706DvCQ41b0zouFwhq1Tdo+2sb3AB8kNv1A:KsIslkQEfoXdOM8w7HvfzoiHRBm4","tlshash":"a8d2ebebaa265c6290532142c3a54d192168ce36fd32aeda33d6d0f506c305d37fafd6","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-30T05:52:29.074525Z","times_seen":1673,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogUkVWT0xVVElPTiA1LjQuMiBFWFRFTlNJT04gLSBTTElERSBBTklNQVRJT05TDQogKiBAdmVyc2lvbjogMS44ICgxNy4wNS4yMDE3KQ0KICogQHJlcXVpcmVzIGpxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24uanMNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1qUXVlcnkuZm4ucmV2b2x1dGlvbixjPXthbGlhczoiU2xpZGVBbmltYXRpb25zIE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLnNsaWRlYW5pbXMubWluLmpzIixtaW5fY29yZToiNS40LjUiLHZlcnNpb246IjEuOCJ9O2pRdWVyeS5leHRlbmQoITAsYix7YW5pbWF0ZVNsaWRlOmZ1bmN0aW9uKGEsZCxlLGYsaCxpLGosayl7cmV0dXJuInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oYykuY2hlY2s/azpnKGEsZCxlLGYsaCxpLGosayl9fSk7dmFyIGQ9ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGY9YSxnPWYuZmluZCgiLmRlZmF1bHRpbWciKSxoPWcuZGF0YSgibWVkaWFmaWx0ZXIiKSxpPWYuZGF0YSgiem9vbXN0YXJ0Iiksaj1mLmRhdGEoInJvdGF0aW9uc3RhcnQiKTt2b2lkIDAhPWcuZGF0YSgiY3Vycm90YXRlIikmJihqPWcuZGF0YSgiY3Vycm90YXRlIikpLHZvaWQgMCE9Zy5kYXRhKCJjdXJzY2FsZSIpJiYiYm94Ij09ZT9pPTEwMCpnLmRhdGEoImN1cnNjYWxlIik6dm9pZCAwIT1nLmRhdGEoImN1cnNjYWxlIikmJihpPWcuZGF0YSgiY3Vyc2NhbGUiKSksYi5zbG90U2l6ZShnLGMpO3ZhciBrPWcuYXR0cigic3JjIiksbD1nLmRhdGEoImJnY29sb3IiKSxtPWMud2lkdGgsbj1jLmhlaWdodCxvPWcuZGF0YSgiZnhvZiIpLHA9MDt2b2lkIDA9PT1sJiYobD1nLmNzcygiYmFja2dyb3VuZENvbG9yIikpLCJvbiI9PWMuYXV0b0hlaWdodCYmKG49Yy5jLmhlaWdodCgpKSx2b2lkIDA9PW8mJihvPTApO3ZhciBxPTAscj1nLmRhdGEoImJnZml0Iikscz1nLmRhdGEoImJncmVwZWF0IiksdD1nLmRhdGEoImJncG9zaXRpb24iKTt2b2lkIDA9PXImJihyPSJjb3ZlciIpLHZvaWQgMD09cyYmKHM9Im5vLXJlcGVhdCIpLHZvaWQgMD09dCYmKHQ9ImNlbnRlciBjZW50ZXIiKTt2YXIgdT0iIjtzd2l0Y2godT12b2lkIDAhPT1sJiZsLmluZGV4T2YoImdyYWRpZW50Iik+PTA/ImJhY2tncm91bmQ6IitsOiJiYWNrZ3JvdW5kLWNvbG9yOiIrbCsiO2JhY2tncm91bmQtaW1hZ2U6dXJsKCIraysiKTtiYWNrZ3JvdW5kLXJlcGVhdDoiK3MrIjtiYWNrZ3JvdW5kLXNpemU6IityKyI7YmFja2dyb3VuZC1wb3NpdGlvbjoiK3QsZSl7Y2FzZSJib3giOmZvcih2YXIgdj0wLHc9MCx4PTA7eDxjLnNsb3RzO3grKyl7dz0wO2Zvcih2YXIgeT0wO3k8Yy5zbG90czt5KyspZi5hcHBlbmQoJzxkaXYgY2xhc3M9InNsb3QiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysocCt3KSsicHg7bGVmdDoiKyhvK3YpKyJweDt3aWR0aDoiK2Muc2xvdHcrInB4O2hlaWdodDoiK2Muc2xvdGgrJ3B4O292ZXJmbG93OmhpZGRlbjsiPjxkaXYgY2xhc3M9InNsb3RzbGlkZSAnK2grJyIgZGF0YS14PSInK3YrJyIgZGF0YS15PSInK3crJyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7d2lkdGg6JytjLnNsb3R3KyJweDtoZWlnaHQ6IitjLnNsb3RoKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMC13KSsicHg7bGVmdDoiKygwLXYpKyJweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdys9Yy5zbG90aCx2b2lkIDAhPWkmJnZvaWQgMCE9aiYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGYuZmluZCgiLnNsb3QiKS5sYXN0KCkse3JvdGF0aW9uWjpqfSk7dis9Yy5zbG90d31icmVhaztjYXNlInZlcnRpY2FsIjpjYXNlImhvcml6b250YWwiOmlmKCJob3Jpem9udGFsIj09ZSl7aWYoIWQpdmFyIHE9MC1jLnNsb3R3O2Zvcih2YXIgeT0wO3k8Yy5zbG90czt5KyspZi5hcHBlbmQoJzxkaXYgY2xhc3M9InNsb3QiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMCtwKSsicHg7bGVmdDoiKyhvK3kqYy5zbG90dykrInB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoiKyhjLnNsb3R3Ky4zKSsicHg7aGVpZ2h0OiIrbisncHgiPjxkaXYgY2xhc3M9InNsb3RzbGlkZSAnK2grJyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDonK3ErInB4O3dpZHRoOiIrKGMuc2xvdHcrLjYpKyJweDtoZWlnaHQ6IituKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6JysoMC15KmMuc2xvdHcpKyJweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdm9pZCAwIT1pJiZ2b2lkIDAhPWomJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLmZpbmQoIi5zbG90IikubGFzdCgpLHtyb3RhdGlvblo6an0pfWVsc2V7aWYoIWQpdmFyIHE9MC1jLnNsb3RoO2Zvcih2YXIgeT0wO3k8Yy5zbG90cysyO3krKylmLmFwcGVuZCgnPGRpdiBjbGFzcz0ic2xvdCIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDonKyhwK3kqYy5zbG90aCkrInB4O2xlZnQ6IitvKyJweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6IittKyJweDtoZWlnaHQ6IitjLnNsb3RoKydweCI+PGRpdiBjbGFzcz0ic2xvdHNsaWRlICcraCsnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOicrcSsicHg7bGVmdDowcHg7d2lkdGg6IittKyJweDtoZWlnaHQ6IitjLnNsb3RoKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMC15KmMuc2xvdGgpKyJweDtsZWZ0OjBweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdm9pZCAwIT1pJiZ2b2lkIDAhPWomJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLmZpbmQoIi5zbG90IikubGFzdCgpLHtyb3RhdGlvblo6an0pfX19LGU9ZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24geSgpe2pRdWVyeS5lYWNoKHYsZnVuY3Rpb24oYSxjKXtjWzBdIT1iJiZjWzhdIT1ifHwocT1jWzFdLHI9Y1syXSxzPXQpLHQrPTF9KX12YXIgZT1hWzBdLm9wdCxmPXB1bmNoZ3MuUG93ZXIxLmVhc2VJbixnPXB1bmNoZ3MuUG93ZXIxLmVhc2VPdXQsaD1wdW5jaGdzLlBvd2VyMS5lYXNlSW5PdXQsaT1wdW5jaGdzLlBvd2VyMi5lYXNlSW4saj1wdW5jaGdzLlBvd2VyMi5lYXNlT3V0LGs9cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0LG09KHB1bmNoZ3MuUG93ZXIzLmVhc2VJbixwdW5jaGdzLlBvd2VyMy5lYXNlT3V0KSxuPXB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dCxvPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1XSxwPVsxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyN10scT0wLHI9MSxzPTAsdD0wLHY9KG5ldyBBcnJheSxbWyJib3hzbGlkZSIsMCwxLDEwLDAsImJveCIsITEsbnVsbCwwLGcsZyw1MDAsNl0sWyJib3hmYWRlIiwxLDAsMTAsMCwiYm94IiwhMSxudWxsLDEsaCxoLDcwMCw1XSxbInNsb3RzbGlkZS1ob3Jpem9udGFsIiwyLDAsMCwyMDAsImhvcml6b250YWwiLCEwLCExLDIsayxrLDcwMCwzXSxbInNsb3RzbGlkZS12ZXJ0aWNhbCIsMywwLDAsMjAwLCJ2ZXJ0aWNhbCIsITAsITEsMyxrLGssNzAwLDNdLFsiY3VydGFpbi0xIiw0LDMsMCwwLCJob3Jpem9udGFsIiwhMCwhMCw0LGcsZywzMDAsNV0sWyJjdXJ0YWluLTIiLDUsMywwLDAsImhvcml6b250YWwiLCEwLCEwLDUsZyxnLDMwMCw1XSxbImN1cnRhaW4tMyIsNiwzLDI1LDAsImhvcml6b250YWwiLCEwLCEwLDYsZyxnLDMwMCw1XSxbInNsb3R6b29tLWhvcml6b250YWwiLDcsMCwwLDQwMCwiaG9yaXpvbnRhbCIsITAsITAsNyxnLGcsMzAwLDddLFsic2xvdHpvb20tdmVydGljYWwiLDgsMCwwLDAsInZlcnRpY2FsIiwhMCwhMCw4LGosaiw1MDAsOF0sWyJzbG90ZmFkZS1ob3Jpem9udGFsIiw5LDAsMCwxZTMsImhvcml6b250YWwiLCEwLG51bGwsOSxqLGosMmUzLDEwXSxbInNsb3RmYWRlLXZlcnRpY2FsIiwxMCwwLDAsMWUzLCJ2ZXJ0aWNhbCIsITAsbnVsbCwxMCxqLGosMmUzLDEwXSxbImZhZGUiLDExLDAsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImNyb3NzZmFkZSIsMTEsMSwxLDMwMCwiaG9yaXpvbnRhbCIsITAsbnVsbCwxMSxrLGssMWUzLDFdLFsiZmFkZXRocm91Z2hkYXJrIiwxMSwyLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJmYWRldGhyb3VnaGxpZ2h0IiwxMSwzLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJmYWRldGhyb3VnaHRyYW5zcGFyZW50IiwxMSw0LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJzbGlkZWxlZnQiLDEyLDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxMixuLG4sMWUzLDFdLFsic2xpZGV1cCIsMTMsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDEzLG4sbiwxZTMsMV0sWyJzbGlkZWRvd24iLDE0LDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNCxuLG4sMWUzLDFdLFsic2xpZGVyaWdodCIsMTUsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDE1LG4sbiwxZTMsMV0sWyJzbGlkZW92ZXJsZWZ0IiwxMiw3LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTIsbixuLDFlMywxXSxbInNsaWRlb3ZlcnVwIiwxMyw3LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTMsbixuLDFlMywxXSxbInNsaWRlb3ZlcmRvd24iLDE0LDcsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNCxuLG4sMWUzLDFdLFsic2xpZGVvdmVycmlnaHQiLDE1LDcsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNSxuLG4sMWUzLDFdLFsic2xpZGVyZW1vdmVsZWZ0IiwxMiw4LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTIsbixuLDFlMywxXSxbInNsaWRlcmVtb3ZldXAiLDEzLDgsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxMyxuLG4sMWUzLDFdLFsic2xpZGVyZW1vdmVkb3duIiwxNCw4LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTQsbixuLDFlMywxXSxbInNsaWRlcmVtb3ZlcmlnaHQiLDE1LDgsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNSxuLG4sMWUzLDFdLFsicGFwZXJjdXQiLDE2LDAsMCw2MDAsIiIsbnVsbCxudWxsLDE2LG4sbiwxZTMsMl0sWyIzZGN1cnRhaW4taG9yaXpvbnRhbCIsMTcsMCwyMCwxMDAsInZlcnRpY2FsIiwhMSwhMCwxNyxoLGgsNTAwLDddLFsiM2RjdXJ0YWluLXZlcnRpY2FsIiwxOCwwLDEwLDEwMCwiaG9yaXpvbnRhbCIsITEsITAsMTgsaCxoLDUwMCw1XSxbImN1YmljIiwxOSwwLDIwLDYwMCwiaG9yaXpvbnRhbCIsITEsITAsMTksbixuLDUwMCwxXSxbImN1YmUiLDE5LDAsMjAsNjAwLCJob3Jpem9udGFsIiwhMSwhMCwyMCxuLG4sNTAwLDFdLFsiZmx5aW4iLDIwLDAsNCw2MDAsInZlcnRpY2FsIiwhMSwhMCwyMSxtLG4sNTAwLDFdLFsidHVybm9mZiIsMjEsMCwxLDUwMCwiaG9yaXpvbnRhbCIsITEsITAsMjIsbixuLDUwMCwxXSxbImluY3ViZSIsMjIsMCwyMCwyMDAsImhvcml6b250YWwiLCExLCEwLDIzLGssayw1MDAsMV0sWyJjdWJpYy1ob3Jpem9udGFsIiwyMywwLDIwLDUwMCwidmVydGljYWwiLCExLCEwLDI0LGosaiw1MDAsMV0sWyJjdWJlLWhvcml6b250YWwiLDIzLDAsMjAsNTAwLCJ2ZXJ0aWNhbCIsITEsITAsMjUsaixqLDUwMCwxXSxbImluY3ViZS1ob3Jpem9udGFsIiwyNCwwLDIwLDUwMCwidmVydGljYWwiLCExLCEwLDI2LGssayw1MDAsMV0sWyJ0dXJub2ZmLXZlcnRpY2FsIiwyNSwwLDEsMjAwLCJob3Jpem9udGFsIiwhMSwhMCwyNyxrLGssNTAwLDFdLFsiZmFkZWZyb21yaWdodCIsMTIsMSwxLDAsImhvcml6b250YWwiLCEwLCEwLDI4LGssaywxZTMsMV0sWyJmYWRlZnJvbWxlZnQiLDE1LDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwyOSxrLGssMWUzLDFdLFsiZmFkZWZyb210b3AiLDE0LDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMCxrLGssMWUzLDFdLFsiZmFkZWZyb21ib3R0b20iLDEzLDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMSxrLGssMWUzLDFdLFsiZmFkZXRvbGVmdGZhZGVmcm9tcmlnaHQiLDEyLDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMixrLGssMWUzLDFdLFsiZmFkZXRvcmlnaHRmYWRlZnJvbWxlZnQiLDE1LDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMyxrLGssMWUzLDFdLFsiZmFkZXRvYm90dG9tZmFkZWZyb210b3AiLDE0LDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzNCxrLGssMWUzLDFdLFsiZmFkZXRvdG9wZmFkZWZyb21ib3R0b20iLDEzLDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzNSxrLGssMWUzLDFdLFsicGFyYWxsYXh0b3JpZ2h0IiwxNSwzLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMzYsayxpLDE1MDAsMV0sWyJwYXJhbGxheHRvbGVmdCIsMTIsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM3LGssaSwxNTAwLDFdLFsicGFyYWxsYXh0b3RvcCIsMTQsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM4LGssZiwxNTAwLDFdLFsicGFyYWxsYXh0b2JvdHRvbSIsMTMsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM5LGssZiwxNTAwLDFdLFsic2NhbGVkb3duZnJvbXJpZ2h0IiwxMiw0LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDAsayxpLDFlMywxXSxbInNjYWxlZG93bmZyb21sZWZ0IiwxNSw0LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDEsayxpLDFlMywxXSxbInNjYWxlZG93bmZyb210b3AiLDE0LDQsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw0MixrLGksMWUzLDFdLFsic2NhbGVkb3duZnJvbWJvdHRvbSIsMTMsNCwxLDAsImhvcml6b250YWwiLCEwLCEwLDQzLGssaSwxZTMsMV0sWyJ6b29tb3V0IiwxMyw1LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDQsayxpLDFlMywxXSxbInpvb21pbiIsMTMsNiwxLDAsImhvcml6b250YWwiLCEwLCEwLDQ1LGssaSwxZTMsMV0sWyJzbGlkaW5nb3ZlcmxheXVwIiwyNywwLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDcsaCxnLDJlMywxXSxbInNsaWRpbmdvdmVybGF5ZG93biIsMjgsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDQ4LGgsZywyZTMsMV0sWyJzbGlkaW5nb3ZlcmxheXJpZ2h0IiwzMCwwLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDksaCxnLDJlMywxXSxbInNsaWRpbmdvdmVybGF5bGVmdCIsMjksMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUwLGgsZywyZTMsMV0sWyJwYXJhbGxheGNpcmNsZXN1cCIsMzEsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUxLGssZiwxNTAwLDFdLFsicGFyYWxsYXhjaXJjbGVzZG93biIsMzIsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUyLGssZiwxNTAwLDFdLFsicGFyYWxsYXhjaXJjbGVzcmlnaHQiLDMzLDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1MyxrLGYsMTUwMCwxXSxbInBhcmFsbGF4Y2lyY2xlc2xlZnQiLDM0LDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1NCxrLGYsMTUwMCwxXSxbIm5vdHJhbnNpdGlvbiIsMjYsMCwxLDAsImhvcml6b250YWwiLCEwLG51bGwsNDYsayxpLDFlMywxXSxbInBhcmFsbGF4cmlnaHQiLDE1LDMsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1NSxrLGksMTUwMCwxXSxbInBhcmFsbGF4bGVmdCIsMTIsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDU2LGssaSwxNTAwLDFdLFsicGFyYWxsYXh1cCIsMTQsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDU3LGssZiwxNTAwLDFdLFsicGFyYWxsYXhkb3duIiwxMywzLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNTgsayxmLDE1MDAsMV0sWyJncmF5c2NhbGUiLDExLDUsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImdyYXlzY2FsZWNyb3NzIiwxMSw2LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJicmlnaHRuZXNzIiwxMSw3LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJicmlnaHRuZXNzY3Jvc3MiLDExLDgsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImJsdXJsaWdodCIsMTEsOSwxLDMwMCwiaG9yaXpvbnRhbCIsITAsbnVsbCwxMSxrLGssMWUzLDFdLFsiYmx1cmxpZ2h0Y3Jvc3MiLDExLDEwLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJibHVyc3Ryb25nIiwxMSw5LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJibHVyc3Ryb25nY3Jvc3MiLDExLDEwLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV1dKTtlLmR1cmluZ3NsaWRlY2hhbmdlPSEwLGUudGVzdGFuaW1zPSExLDE9PWUudGVzdGFuaW1zJiYoZS5uZXh0dGVzdHRyYW5zZm9ybT12b2lkIDA9PT1lLm5leHR0ZXN0dHJhbnNmb3JtPzM0OmUubmV4dHRlc3R0cmFuc2Zvcm0rMSxlLm5leHR0ZXN0dHJhbnNmb3JtPWUubmV4dHRlc3R0cmFuc2Zvcm0+NzA/MDplLm5leHR0ZXN0dHJhbnNmb3JtLGI9dltlLm5leHR0ZXN0dHJhbnNmb3JtXVswXSxjb25zb2xlLmxvZyhiKyIgICIrZS5uZXh0dGVzdHRyYW5zZm9ybSsiICAiK3ZbZS5uZXh0dGVzdHRyYW5zZm9ybV1bMV0rIiAgIit2W2UubmV4dHRlc3R0cmFuc2Zvcm1dWzJdKSksalF1ZXJ5LmVhY2goWyJwYXJhbGxheGNpcmNsZXMiLCJzbGlkaW5nb3ZlcmxheSIsInNsaWRlIiwic2xpZGVvdmVyIiwic2xpZGVyZW1vdmUiLCJwYXJhbGxheCIsInBhcnJhbGF4dG8iXSxmdW5jdGlvbihhLGMpe2I9PWMrImhvcml6b250YWwiJiYoYj0xIT1kP2MrImxlZnQiOmMrInJpZ2h0IiksYj09YysidmVydGljYWwiJiYoYj0xIT1kP2MrInVwIjpjKyJkb3duIil9KSwicmFuZG9tIj09YiYmKGI9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKnYubGVuZ3RoLTEpKT52Lmxlbmd0aC0xJiYoYj12Lmxlbmd0aC0xKSwicmFuZG9tLXN0YXRpYyI9PWImJihiPU1hdGgucm91bmQoTWF0aC5yYW5kb20oKSpvLmxlbmd0aC0xKSxiPm8ubGVuZ3RoLTEmJihiPW8ubGVuZ3RoLTEpLGI9b1tiXSksInJhbmRvbS1wcmVtaXVtIj09YiYmKGI9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKnAubGVuZ3RoLTEpLGI+cC5sZW5ndGgtMSYmKGI9cC5sZW5ndGgtMSksYj1wW2JdKTt2YXIgdz1bMTIsMTMsMTQsMTUsMTYsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDVdO2lmKDE9PWUuaXNKb29tbGEmJnZvaWQgMCE9d2luZG93Lk1vb1Rvb2xzJiYtMSE9dy5pbmRleE9mKGIpKXt2YXIgeD1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqKHAubGVuZ3RoLTIpKSsxO3g+cC5sZW5ndGgtMSYmKHg9cC5sZW5ndGgtMSksMD09eCYmKHg9MSksYj1wW3hdfXkoKSxxPjMwJiYocT0zMCkscTwwJiYocT0wKTt2YXIgej1uZXcgT2JqZWN0O3JldHVybiB6Lm5leHR0cmFucz1xLHouU1RBPXZbc10sei5zcGVjaWFscz1yLHp9LGY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT1ifHxqUXVlcnkuaXNOdW1lcmljKGEpP2E6dm9pZCAwPT1hP2E6YS5zcGxpdCgiLCIpW2JdfSxnPWZ1bmN0aW9uKGEsYixjLGcsaCxpLGosayl7ZnVuY3Rpb24gVihhLGIsYyxkLGUpe3ZhciBmPWEuZmluZCgiLnNsb3QiKSxnPTYsaD1bMiwxLjIsLjksLjcsLjU1LC40Ml0saj1hLndpZHRoKCksbD1hLmhlaWdodCgpO2Yud3JhcCgnPGRpdiBjbGFzcz0ic2xvdC1jaXJjbGUtd3JhcHBlciIgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MXB4IHNvbGlkICNmZmYiPjwvZGl2PicpO2Zvcih2YXIgbj0wO248ZztuKyspZi5wYXJlbnQoKS5jbG9uZSghMSkuYXBwZW5kVG8oaSk7YS5maW5kKCIuc2xvdC1jaXJjbGUtd3JhcHBlciIpLmVhY2goZnVuY3Rpb24oYSl7aWYoYTxnKXt2YXIgZD1qUXVlcnkodGhpcyksZj1kLmZpbmQoIi5zbG90IiksaT1qPmw/aFthXSpqOmhbYV0qbCxtPWksbj1tLzItai8yKzAsbz1pLzItbC8yKzAscD0wIT1hPyI1MCUiOiIwIixxPWwvMi1pLzIscj0zMz09Yz9qLzItbS8yOjM0PT1jP2otbTpqLzItbS8yLHM9e3NjYWxlOjEsdHJhbnNmb3JtT3JpZ286IjUwJSA1MCUiLHdpZHRoOm0rInB4IixoZWlnaHQ6aSsicHgiLHRvcDpxKyJweCIsbGVmdDpyKyJweCIsYm9yZGVyUmFkaXVzOnB9LHQ9e3NjYWxlOjEsdG9wOmwvMi1pLzIsbGVmdDpqLzItbS8yLGVhc2U6ZX0sdT1vLHY9MzM9PWM/bjozND09Yz9uK2ovMjpuLHc9e3dpZHRoOmosaGVpZ2h0OmwsYXV0b0FscGhhOjEsdG9wOnUrInB4Iixwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6disicHgifSx4PXt0b3A6bysicHgiLGxlZnQ6bisicHgiLGVhc2U6ZX0seT1iLHo9MDtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oZCx5LHMsdCkseiksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGYseSx3LHgpLHopLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhkLC4wMDEse2F1dG9BbHBoYTowfSx7YXV0b0FscGhhOjF9KSwwKX19KX12YXIgbD1jWzBdLm9wdCxtPWguaW5kZXgoKSxuPWcuaW5kZXgoKSxvPW48bT8xOjA7ImFycm93Ij09bC5zY19pbmRpY2F0b3ImJihvPWwuc2NfaW5kaWNhdG9yX2Rpcik7dmFyIHA9ZShjLGIsaSxvKSxxPXAuU1RBLHI9cC5zcGVjaWFscyxhPXAubmV4dHRyYW5zOyJvbiI9PWkuZGF0YSgia2VuYnVybnMiKSYmKGE9MTEpO3ZhciBzPWcuZGF0YSgibmV4dHRyYW5zaWQiKXx8MCx0PWYoZy5kYXRhKCJtYXN0ZXJzcGVlZCIpLHMpO3Q9ImRlZmF1bHQiPT09dD9xWzExXToicmFuZG9tIj09PXQ/TWF0aC5yb3VuZCgxZTMqTWF0aC5yYW5kb20oKSszMDApOnZvaWQgMCE9dD9wYXJzZUludCh0LDApOnFbMTFdLHQ9dD5sLmRlbGF5P2wuZGVsYXk6dCx0Kz1xWzRdLGwuc2xvdHM9ZihnLmRhdGEoInNsb3RhbW91bnQiKSxzKSxsLnNsb3RzPXZvaWQgMD09bC5zbG90c3x8ImRlZmF1bHQiPT1sLnNsb3RzP3FbMTJdOiJyYW5kb20iPT1sLnNsb3RzP01hdGgucm91bmQoMTIqTWF0aC5yYW5kb20oKSs0KTpsLnNsb3RzLGwuc2xvdHM9bC5zbG90czwxPyJib3hzbGlkZSI9PWI/TWF0aC5yb3VuZCg2Kk1hdGgucmFuZG9tKCkrMyk6ImZseWluIj09Yj9NYXRoLnJvdW5kKDQqTWF0aC5yYW5kb20oKSsxKTpsLnNsb3RzOmwuc2xvdHMsbC5zbG90cz0oND09YXx8NT09YXx8Nj09YSkmJmwuc2xvdHM8Mz8zOmwuc2xvdHMsbC5zbG90cz0wIT1xWzNdP01hdGgubWluKGwuc2xvdHMscVszXSk6bC5zbG90cyxsLnNsb3RzPTk9PWE/bC53aWR0aC9sLnNsb3RzOjEwPT1hP2wuaGVpZ2h0L2wuc2xvdHM6bC5zbG90cyxsLnJvdGF0ZT1mKGcuZGF0YSgicm90YXRlIikscyksbC5yb3RhdGU9dm9pZCAwPT1sLnJvdGF0ZXx8ImRlZmF1bHQiPT1sLnJvdGF0ZT8wOjk5OT09bC5yb3RhdGV8fCJyYW5kb20iPT1sLnJvdGF0ZT9NYXRoLnJvdW5kKDM2MCpNYXRoLnJhbmRvbSgpKTpsLnJvdGF0ZSxsLnJvdGF0ZT1sLmllfHxsLmllOT8wOmwucm90YXRlLDExIT1hJiYobnVsbCE9cVs3XSYmZChqLGwscVs3XSxxWzVdKSxudWxsIT1xWzZdJiZkKGksbCxxWzZdLHFbNV0pKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuZGVmYXVsdHZpZCIpLHt5OjAseDowLHRvcDowLGxlZnQ6MCxzY2FsZToxfSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGouZmluZCgiLmRlZmF1bHR2aWQiKSx7eTowLHg6MCx0b3A6MCxsZWZ0OjAsc2NhbGU6MX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5kZWZhdWx0dmlkIikse3k6IiswJSIseDoiKzAlIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLmZpbmQoIi5kZWZhdWx0dmlkIikse3k6IiswJSIseDoiKzAlIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLHthdXRvQWxwaGE6MSx5OiIrMCUiLHg6IiswJSJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaix7YXV0b0FscGhhOjEseToiKzAlIix4OiIrMCUifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkucGFyZW50KCkse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoucGFyZW50KCkse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQifSksMCk7dmFyIHU9ZihnLmRhdGEoImVhc2VpbiIpLHMpLHY9ZihnLmRhdGEoImVhc2VvdXQiKSxzKTtpZih1PSJkZWZhdWx0Ij09PXU/cVs5XXx8cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0OnV8fHFbOV18fHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dCx2PSJkZWZhdWx0Ij09PXY/cVsxMF18fHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dDp2fHxxWzEwXXx8cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0LDA9PWEpe3ZhciB3PU1hdGguY2VpbChsLmhlaWdodC9sLnNsb3RoKSx4PTA7aS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcyk7eCs9MSx4PT13JiYoeD0wKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGIsdC82MDAse29wYWNpdHk6MCx0b3A6MC1sLnNsb3RoLGxlZnQ6MC1sLnNsb3R3LHJvdGF0aW9uOmwucm90YXRlLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dX0pLCgxNSphKzMwKngpLzE1MDApfSl9aWYoMT09YSl7dmFyIHksej0wO2kuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9TWF0aC5yYW5kb20oKSp0KzMwMCxkPTUwMCpNYXRoLnJhbmRvbSgpKzIwMDtjK2Q+eSYmKHk9ZCtkLHo9YSksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbShiLGMvMWUzLHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvbjpsLnJvdGF0ZSxlYXNlOnV9KSxkLzFlMyl9KX1pZigyPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ai5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLHQvMWUzLHtsZWZ0Omwuc2xvdHcsZWFzZTp1LGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOjAtbC5yb3RhdGV9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGEsdC8xZTMse2xlZnQ6MC1sLnNsb3R3LGVhc2U6dSxmb3JjZTNEOiJhdXRvIixyb3RhdGlvbjpsLnJvdGF0ZX0pLDApLGsuYWRkKEEsMCl9KX1pZigzPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ai5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLHQvMWUzLHt0b3A6bC5zbG90aCxlYXNlOnUscm90YXRpb246bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSksMCksay5hZGQoQSwwKX0pLGkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbShhLHQvMWUzLHt0b3A6MC1sLnNsb3RoLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dixmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDB9KSwwKSxrLmFkZChBLDApfSl9aWYoND09YXx8NT09YSl7c2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApO3ZhciBCPXQvMWUzLEE9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO2ouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9alF1ZXJ5KHRoaXMpLGQ9YipCL2wuc2xvdHM7NT09YSYmKGQ9KGwuc2xvdHMtYi0xKSpCL2wuc2xvdHMvMS41KSxBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhjLDMqQix7dHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLGZvcmNlM0Q6ImF1dG8iLHRvcDowK2wuaGVpZ2h0LG9wYWNpdHk6LjUscm90YXRpb246bC5yb3RhdGUsZWFzZTp1LGRlbGF5OmR9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1qUXVlcnkodGhpcyksZD1iKkIvbC5zbG90czs1PT1hJiYoZD0obC5zbG90cy1iLTEpKkIvbC5zbG90cy8xLjUpLEEuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb20oYywzKkIse3RvcDowLWwuaGVpZ2h0LG9wYWNpdHk6LjUscm90YXRpb246bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLmVvLGRlbGF5OmR9KSwwKSxrLmFkZChBLDApfSl9aWYoNj09YSl7bC5zbG90czwyJiYobC5zbG90cz0yKSxsLnNsb3RzJTImJihsLnNsb3RzPWwuc2xvdHMrMSk7dmFyIEE9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtqLmZpbmQoIi5kZWZhdWx0aW1nIikuY3NzKHtvcGFjaXR5OjB9KX0sMTAwKSxqLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtpZihhKzE8bC5zbG90cy8yKXZhciBjPTkwKihhKzIpO2Vsc2UgdmFyIGM9OTAqKDIrbC5zbG90cy1hKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLCh0K2MpLzFlMyx7dG9wOjArbC5oZWlnaHQsb3BhY2l0eToxLGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dX0pLDApLGsuYWRkKEEsMCl9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtpZihhKzE8bC5zbG90cy8yKXZhciBjPTkwKihhKzIpO2Vsc2UgdmFyIGM9OTAqKDIrbC5zbG90cy1hKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGIsKHQrYykvMWUzLHt0b3A6MC1sLmhlaWdodCxvcGFjaXR5OjEsZm9yY2UzRDoiYXV0byIscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCksay5hZGQoQSwwKX0pfWlmKDc9PWEpe3QqPTIsdD5sLmRlbGF5JiYodD1sLmRlbGF5KTt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7c2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcykuZmluZCgiZGl2Iik7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oYSx0LzFlMyx7bGVmdDowLWwuc2xvdHcvMisicHgiLHRvcDowLWwuaGVpZ2h0LzIrInB4Iix3aWR0aDoyKmwuc2xvdHcrInB4IixoZWlnaHQ6MipsLmhlaWdodCsicHgiLG9wYWNpdHk6MCxyb3RhdGlvbjpsLnJvdGF0ZSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcykuZmluZCgiZGl2Iik7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse2xlZnQ6MCx0b3A6MCxvcGFjaXR5OjAsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSx7bGVmdDowLWEqbC5zbG90dysicHgiLGVhc2U6dixmb3JjZTNEOiJhdXRvIix0b3A6IjBweCIsd2lkdGg6bC53aWR0aCxoZWlnaHQ6bC5oZWlnaHQsb3BhY2l0eToxLHJvdGF0aW9uOjAsZGVsYXk6LjF9KSwwKSxrLmFkZChBLDApfSl9aWYoOD09YSl7dCo9Myx0PmwuZGVsYXkmJih0PWwuZGVsYXkpO3ZhciBBPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZTtqLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLmZpbmQoImRpdiIpO0EuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsdC8xZTMse2xlZnQ6MC1sLndpZHRoLzIrInB4Iix0b3A6MC1sLnNsb3RoLzIrInB4Iix3aWR0aDoyKmwud2lkdGgrInB4IixoZWlnaHQ6MipsLnNsb3RoKyJweCIsZm9yY2UzRDoiYXV0byIsZWFzZTp1LG9wYWNpdHk6MCxyb3RhdGlvbjpsLnJvdGF0ZX0pLDApLGsuYWRkKEEsMCl9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKS5maW5kKCJkaXYiKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7bGVmdDowLHRvcDowLG9wYWNpdHk6MCxmb3JjZTNEOiJhdXRvIn0se2xlZnQ6IjBweCIsdG9wOjAtYSpsLnNsb3RoKyJweCIsd2lkdGg6aS5maW5kKCIuZGVmYXVsdGltZyIpLmRhdGEoIm5ld3ciKSsicHgiLGhlaWdodDppLmZpbmQoIi5kZWZhdWx0aW1nIikuZGF0YSgibmV3aCIpKyJweCIsb3BhY2l0eToxLGVhc2U6dixyb3RhdGlvbjowfSksMCksay5hZGQoQSwwKX0pfWlmKDk9PWF8fDEwPT1hKXt2YXIgRD0wO2kuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO0QrKyxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzJlMyx7YXV0b0FscGhhOjAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSx7YXV0b0FscGhhOjEsZWFzZTp1LGRlbGF5OmEqbC5zbG90cy8xMDAvMmUzfSksMCl9KX1pZigyNz09YXx8Mjg9PWF8fDI5PT1hfHwzMD09YSl7dmFyIEU9aS5maW5kKCIuc2xvdCIpLEY9Mjc9PWF8fDI4PT1hPzE6MixHPTI3PT1hfHwyOT09YT8iLTEwMCUiOiIrMTAwJSIsSD0yNz09YXx8Mjk9PWE/IisxMDAlIjoiLTEwMCUiLEk9Mjc9PWF8fDI5PT1hPyItODAlIjoiODAlIixKPTI3PT1hfHwyOT09YT8iKzgwJSI6Ii04MCUiLEs9Mjc9PWF8fDI5PT1hPyIrMTAlIjoiLTEwJSIsTD17b3ZlcndyaXRlOiJhbGwifSxNPXthdXRvQWxwaGE6MCx6SW5kZXg6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9LE49e3Bvc2l0aW9uOiJpbmhlcml0IixhdXRvQWxwaGE6MCxvdmVyd3JpdGU6ImFsbCIsekluZGV4OjF9LE89e2F1dG9BbHBoYToxLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dn0sUD17b3ZlcndyaXRlOiJhbGwiLHpJbmRleDoyLG9wYWNpdHk6MSxhdXRvQWxwaGE6MX0sUT17YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsb3ZlcndyaXRlOiJhbGwiLGVhc2U6dX0sUj17b3ZlcndyaXRlOiJhbGwiLHpJbmRleDoyLGF1dG9BbHBoYToxfSxTPXthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9LFQ9MT09Rj8ieSI6IngiO0xbVF09IjBweCIsTVtUXT1HLE5bVF09SyxPW1RdPSIwJSIsUFtUXT1ILFFbVF09RyxSW1RdPUksU1tUXT1KLEUuYXBwZW5kKCc8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O2Rpc3BsYXk6YmxvY2s7ei1pbmRleDoyIj48L3NwYW4+Jyksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGosdC8xZTMsTCxNKSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaS5maW5kKCIuZGVmYXVsdGltZyIpLHQvMmUzLE4sTyksdC8yZTMpLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhFLHQvMWUzLFAsUSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKEUuZmluZCgiLnNsb3RzbGlkZSBkaXYiKSx0LzFlMyxSLFMpLDApfWlmKDMxPT1hfHwzMj09YXx8MzM9PWF8fDM0PT1hKXt0PTZlMyx1PXB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dDt2YXIgVT10LzFlMzttYXM9VS1VLzUsX250PWEsZnk9MzE9PV9udD8iKzEwMCUiOjMyPT1fbnQ/Ii0xMDAlIjoiMCUiLGZ4PTMzPT1fbnQ/IisxMDAlIjozND09X250PyItMTAwJSI6IjAlIix0eT0zMT09X250PyItMTAwJSI6MzI9PV9udD8iKzEwMCUiOiIwJSIsdHg9MzM9PV9udD8iLTEwMCUiOjM0PT1fbnQ/IisxMDAlIjoiMCUiLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhqLFUtLjIqVSx7eTowLHg6MH0se3k6dHkseDp0eCxlYXNlOnZ9KSwuMipVKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSxVLHt5OmZ5LHg6Znh9LHt5OiIwJSIseDoiMCUiLGVhc2U6dX0pLDApLGkuZmluZCgiLnNsb3QiKS5yZW1vdmUoKSxpLmZpbmQoIi5kZWZhdWx0aW1nIikuY2xvbmUoKS5hcHBlbmRUbyhpKS5hZGRDbGFzcygic2xvdCIpLFYoaSxVLF9udCwiaW4iLHUpfWlmKDExPT1hKXtyPjEyJiYocj0wKTt2YXIgRD0wLFc9Mj09cj8iIzAwMDAwMCI6Mz09cj8iI2ZmZmZmZiI6InRyYW5zcGFyZW50Ijtzd2l0Y2gocil7Y2FzZSAwOmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhpLHQvMWUzLHthdXRvQWxwaGE6MH0se2F1dG9BbHBoYToxLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dX0pLDApO2JyZWFrO2Nhc2UgMTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSx0LzFlMyx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaix0LzFlMyx7YXV0b0FscGhhOjF9LHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKTticmVhaztjYXNlIDI6Y2FzZSAzOmNhc2UgNDprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5wYXJlbnQoKSx7YmFja2dyb3VuZENvbG9yOlcsZm9yY2UzRDoiYXV0byJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5wYXJlbnQoKSx7YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsZm9yY2UzRDoiYXV0byJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhqLHQvMmUzLHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSx0LzJlMyx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSx0LzJlMyk7YnJlYWs7Y2FzZSA1OmNhc2UgNjpjYXNlIDc6Y2FzZSA4OmNhc2UgOTpjYXNlIDEwOmNhc2UgMTE6Y2FzZSAxMjp2YXIgWD1qUXVlcnkuaW5BcnJheShyLFs5LDEwXSk+PTA/NTpqUXVlcnkuaW5BcnJheShyLFsxMSwxMl0pPj0wPzEwOjAsWT1qUXVlcnkuaW5BcnJheShyLFs1LDYsNyw4XSk+PTA/MTAwOjAsWj1qUXVlcnkuaW5BcnJheShyLFs3LDhdKT49MD8zMDA6MCwkPSJibHVyKCIrWCsicHgpIGdyYXlzY2FsZSgiK1krIiUpIGJyaWdodG5lc3MoIitaKyIlKSIsXz0iYmx1cigwcHgpIGdyYXlzY2FsZSgwJSkgYnJpZ2h0bmVzcygxMDAlKSI7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGksdC8xZTMse2F1dG9BbHBoYTowLGZpbHRlcjokLCItd2Via2l0LWZpbHRlciI6JH0se2F1dG9BbHBoYToxLGZpbHRlcjpfLCItd2Via2l0LWZpbHRlciI6Xyxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxqUXVlcnkuaW5BcnJheShyLFs2LDgsMTBdKT49MCYmay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGosdC8xZTMse2F1dG9BbHBoYToxLGZpbHRlcjpfLCItd2Via2l0LWZpbHRlciI6X30se2F1dG9BbHBoYTowLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dSxmaWx0ZXI6JCwiLXdlYmtpdC1maWx0ZXIiOiR9KSwwKX1rLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuZGVmYXVsdGltZyIpLHthdXRvQWxwaGE6MX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLmZpbmQoImRlZmF1bHRpbWciKSx7YXV0b0FscGhhOjF9KSwwKX1pZigyNj09YSl7dmFyIEQ9MDt0PTAsay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGksdC8xZTMse2F1dG9BbHBoYTowfSx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTp1fSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oaix0LzFlMyx7YXV0b0FscGhhOjAsZm9yY2UzRDoiYXV0byIsZWFzZTp1fSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkuZmluZCgiLmRlZmF1bHRpbWciKSx7YXV0b0FscGhhOjF9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5maW5kKCJkZWZhdWx0aW1nIikse2F1dG9BbHBoYToxfSksMCl9aWYoMTI9PWF8fDEzPT1hfHwxND09YXx8MTU9PWEpe3Q9dCx0PmwuZGVsYXkmJih0PWwuZGVsYXkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5maW5kKCIuZGVmYXVsdGltZyIpLHthdXRvQWxwaGE6MH0pfSwxMDApO3ZhciBhYT1sLndpZHRoLGJhPWwuaGVpZ2h0LGNhPWkuZmluZCgiLnNsb3RzbGlkZSwgLmRlZmF1bHR2aWQiKSxkYT0wLGVhPTAsZmE9MSxnYT0xLGhhPTEsaWE9dC8xZTMsamE9aWE7ImZ1bGx3aWR0aCIhPWwuc2xpZGVyTGF5b3V0JiYiZnVsbHNjcmVlbiIhPWwuc2xpZGVyTGF5b3V0fHwoYWE9Y2Eud2lkdGgoKSxiYT1jYS5oZWlnaHQoKSksMTI9PWE/ZGE9YWE6MTU9PWE/ZGE9MC1hYToxMz09YT9lYT1iYToxND09YSYmKGVhPTAtYmEpLDE9PXImJihmYT0wKSwyPT1yJiYoZmE9MCksMz09ciYmKGlhPXQvMTMwMCksNCE9ciYmNSE9cnx8KGdhPS42KSw2PT1yJiYoZ2E9MS40KSw1IT1yJiY2IT1yfHwoaGE9MS40LGZhPTAsYWE9MCxiYT0wLGRhPTAsZWE9MCksNj09ciYmKGhhPS42KTs3PT1yJiYoYWE9MCxiYT0wKTt2YXIgbGE9aS5maW5kKCIuc2xvdHNsaWRlIiksbWE9ai5maW5kKCIuc2xvdHNsaWRlLCAuZGVmYXVsdHZpZCIpO2lmKGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt6SW5kZXg6MTV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZyx7ekluZGV4OjIwfSksMCksOD09cj8oay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3pJbmRleDoyMH0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChnLHt6SW5kZXg6MTV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobGEse2xlZnQ6MCx0b3A6MCxzY2FsZToxLG9wYWNpdHk6MSxyb3RhdGlvbjowLGVhc2U6dSxmb3JjZTNEOiJhdXRvIn0pLDApKTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGxhLGlhLHtsZWZ0OmRhLHRvcDplYSxzY2FsZTpoYSxvcGFjaXR5OmZhLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dSxmb3JjZTNEOiJhdXRvIn0pLDApLDQhPXImJjUhPXJ8fChhYT0wLGJhPTApLDEhPXIpc3dpdGNoKGEpe2Nhc2UgMTI6ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8obWEsamEse2xlZnQ6MC1hYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCk7YnJlYWs7Y2FzZSAxNTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhtYSxqYSx7bGVmdDphYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCk7YnJlYWs7Y2FzZSAxMzprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhtYSxqYSx7dG9wOjAtYmErInB4Iixmb3JjZTNEOiJhdXRvIixzY2FsZTpnYSxvcGFjaXR5OmZhLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dn0pLDApO2JyZWFrO2Nhc2UgMTQ6ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8obWEsamEse3RvcDpiYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCl9fWlmKDE2PT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOjIwfSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGcse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOjE1fSksMCksaC53cmFwSW5uZXIoJzxkaXYgY2xhc3M9InRwLWhhbGYtb25lIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IHdpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiPjwvZGl2PicpLGguZmluZCgiLnRwLWhhbGYtb25lIikuY2xvbmUoITApLmFwcGVuZFRvKGgpLmFkZENsYXNzKCJ0cC1oYWxmLXR3byIpLGguZmluZCgiLnRwLWhhbGYtdHdvIikucmVtb3ZlQ2xhc3MoInRwLWhhbGYtb25lIik7dmFyIGFhPWwud2lkdGgsYmE9bC5oZWlnaHQ7Im9uIj09bC5hdXRvSGVpZ2h0JiYoYmE9Yy5oZWlnaHQoKSksaC5maW5kKCIudHAtaGFsZi1vbmUgLmRlZmF1bHRpbWciKS53cmFwKCc8ZGl2IGNsYXNzPSJ0cC1wYXBlcmN1dCIgc3R5bGU9IndpZHRoOicrYWErInB4O2hlaWdodDoiK2JhKydweDsiPjwvZGl2PicpLGguZmluZCgiLnRwLWhhbGYtdHdvIC5kZWZhdWx0aW1nIikud3JhcCgnPGRpdiBjbGFzcz0idHAtcGFwZXJjdXQiIHN0eWxlPSJ3aWR0aDonK2FhKyJweDtoZWlnaHQ6IitiYSsncHg7Ij48L2Rpdj4nKSxoLmZpbmQoIi50cC1oYWxmLXR3byAuZGVmYXVsdGltZyIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6Ii01MCUifSksaC5maW5kKCIudHAtaGFsZi10d28gLnRwLWNhcHRpb24iKS53cmFwQWxsKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTUwJTtsZWZ0OjBweDsiPjwvZGl2PicpLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLmZpbmQoIi50cC1oYWxmLXR3byIpLHt3aWR0aDphYSxoZWlnaHQ6YmEsb3ZlcmZsb3c6ImhpZGRlbiIsekluZGV4OjE1LHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOmJhLzIsbGVmdDoiMHB4Iix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDAsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgYm90dG9tIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLmZpbmQoIi50cC1oYWxmLW9uZSIpLHt3aWR0aDphYSxoZWlnaHQ6YmEvMixvdmVyZmxvdzoidmlzaWJsZSIsekluZGV4OjEwLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIHRvcCJ9KSwwKTt2YXIgb2E9KGguZmluZCgiLmRlZmF1bHRpbWciKSxNYXRoLnJvdW5kKDIwKk1hdGgucmFuZG9tKCktMTApKSxwYT1NYXRoLnJvdW5kKDIwKk1hdGgucmFuZG9tKCktMTApLHFhPU1hdGgucm91bmQoMjAqTWF0aC5yYW5kb20oKS0xMCkscmE9LjQqTWF0aC5yYW5kb20oKS0uMixzYT0uNCpNYXRoLnJhbmRvbSgpLS4yLHRhPTEqTWF0aC5yYW5kb20oKSsxLHVhPTEqTWF0aC5yYW5kb20oKSsxLHZhPS4zKk1hdGgucmFuZG9tKCkrLjM7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGguZmluZCgiLnRwLWhhbGYtb25lIikse292ZXJmbG93OiJoaWRkZW4ifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGguZmluZCgiLnRwLWhhbGYtb25lIiksdC84MDAse3dpZHRoOmFhLGhlaWdodDpiYS8yLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgdG9wIn0se3NjYWxlOnRhLHJvdGF0aW9uOm9hLHk6MC1iYS1iYS80LGF1dG9BbHBoYTowLGVhc2U6dX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhoLmZpbmQoIi50cC1oYWxmLXR3byIpLHQvODAwLHt3aWR0aDphYSxoZWlnaHQ6YmEsb3ZlcmZsb3c6ImhpZGRlbiIscG9zaXRpb246ImFic29sdXRlIix0b3A6YmEvMixsZWZ0OiIwcHgiLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGJvdHRvbSJ9LHtzY2FsZTp1YSxyb3RhdGlvbjpwYSx5OmJhK2JhLzQsZWFzZTp1LGF1dG9BbHBoYTowLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaCx7cG9zaXRpb246ImFic29sdXRlIiwiei1pbmRleCI6MTV9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZyx7cG9zaXRpb246ImFic29sdXRlIiwiei1pbmRleCI6MjB9KSxoLmZpbmQoIi50cC1oYWxmLW9uZSIpLmxlbmd0aD4wJiYoaC5maW5kKCIudHAtaGFsZi1vbmUgLmRlZmF1bHRpbWciKS51bndyYXAoKSxoLmZpbmQoIi50cC1oYWxmLW9uZSAuc2xvdGhvbGRlciIpLnVud3JhcCgpKSxoLmZpbmQoIi50cC1oYWxmLXR3byIpLnJlbW92ZSgpfX0pLDApLEEuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5kZWZhdWx0aW1nIikse2F1dG9BbHBoYToxfSksMCksbnVsbCE9aC5odG1sKCkmJmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhnLCh0LTIwMCkvMWUzLHtzY2FsZTp2YSx4Omwud2lkdGgvNCpyYSx5OmJhLzQqc2Escm90YXRpb246cWEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgY2VudGVyIixlYXNlOnZ9LHthdXRvQWxwaGE6MSxzY2FsZToxLHg6MCx5OjAscm90YXRpb246MH0pLDApLGsuYWRkKEEsMCl9aWYoMTc9PWEmJmkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvODAwLHtvcGFjaXR5OjAscm90YXRpb25ZOjAsc2NhbGU6Ljkscm90YXRpb25YOi0xMTAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGNlbnRlciJ9LHtvcGFjaXR5OjEsdG9wOjAsbGVmdDowLHNjYWxlOjEscm90YXRpb246MCxyb3RhdGlvblg6MCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6MCxlYXNlOnUsZGVsYXk6LjA2KmF9KSwwKX0pLDE4PT1hJiZpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzUwMCx7YXV0b0FscGhhOjAscm90YXRpb25ZOjExMCxzY2FsZTouOSxyb3RhdGlvblg6MTAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGNlbnRlciJ9LHthdXRvQWxwaGE6MSx0b3A6MCxsZWZ0OjAsc2NhbGU6MSxyb3RhdGlvbjowLHJvdGF0aW9uWDowLGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uWTowLGVhc2U6dSxkZWxheTouMDYqYX0pLDApfSksMTk9PWF8fDIyPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3pJbmRleDoyMH0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChnLHt6SW5kZXg6MjB9KSwwKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ai5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7b3BhY2l0eTowfSl9LDEwMCk7dmFyIHdhPTkwLGZhPTEseGE9ImNlbnRlciBjZW50ZXIgIjsxPT1vJiYod2E9LTkwKSwxOT09YT8oeGE9eGErIi0iK2wuaGVpZ2h0LzIsZmE9MCk6eGErPWwuaGVpZ2h0LzIscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3RyYW5zZm9ybVN0eWxlOiJmbGF0IixiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcyk7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse3RyYW5zZm9ybVN0eWxlOiJmbGF0IixiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsbGVmdDowLHJvdGF0aW9uWTpsLnJvdGF0ZSx6OjEwLHRvcDowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjp4YSxyb3RhdGlvblg6d2F9LHtsZWZ0OjAscm90YXRpb25ZOjAsdG9wOjAsejowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIscm90YXRpb25YOjAsZGVsYXk6NTAqYS8xZTMsZWFzZTp1fSksMCksQS5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oYiwuMSx7YXV0b0FscGhhOjEsZGVsYXk6NTAqYS8xZTN9KSwwKSxrLmFkZChBKX0pLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9LTkwOzE9PW8mJihjPTkwKSxBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7dHJhbnNmb3JtU3R5bGU6ImZsYXQiLGJhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixhdXRvQWxwaGE6MSxyb3RhdGlvblk6MCx0b3A6MCx6OjAsc2NhbGU6MSxmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWDowfSx7YXV0b0FscGhhOjEscm90YXRpb25ZOmwucm90YXRlLHRvcDowLHo6MTAsc2NhbGU6MSxyb3RhdGlvblg6YyxkZWxheTo1MCphLzFlMyxmb3JjZTNEOiJhdXRvIixlYXNlOnZ9KSwwKSxrLmFkZChBKX0pLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt6SW5kZXg6MTh9KSwwKX1pZigyMD09YSl7aWYoc2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApLDE9PW8pdmFyIHlhPS1sLndpZHRoLHdhPTgwLHhhPSIyMCUgNzAlIC0iK2wuaGVpZ2h0LzI7ZWxzZSB2YXIgeWE9bC53aWR0aCx3YT0tODAseGE9IjgwJSA3MCUgLSIrbC5oZWlnaHQvMjtpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPTUwKmEvMWUzO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvMWUzLHtsZWZ0OnlhLHJvdGF0aW9uWDo0MCx6Oi02MDAsb3BhY2l0eTpmYSx0b3A6MCxzY2FsZToxLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjYwMCx0cmFuc2Zvcm1PcmlnaW46eGEsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHJvdGF0aW9uWTp3YX0se2xlZnQ6MCxyb3RhdGlvblg6MCxvcGFjaXR5OjEsdG9wOjAsejowLHNjYWxlOjEscm90YXRpb25ZOjAsZGVsYXk6YyxlYXNlOnV9KSwwKX0pLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9NTAqYS8xZTM7aWYoYz1hPjA/Yyt0LzllMzowLDEhPW8pdmFyIGQ9LWwud2lkdGgvMixlPTMwLGY9IjIwJSA3MCUgLSIrbC5oZWlnaHQvMjtlbHNlIHZhciBkPWwud2lkdGgvMixlPS0zMCxmPSI4MCUgNzAlIC0iK2wuaGVpZ2h0LzI7dj1wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQsay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse29wYWNpdHk6MSxyb3RhdGlvblg6MCx0b3A6MCx6OjAsc2NhbGU6MSxsZWZ0OjAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjpmLHRyYW5zZm9ybVN0eWxlOiJmbGF0Iixyb3RhdGlvblk6MH0se29wYWNpdHk6MSxyb3RhdGlvblg6MjAsdG9wOjAsejotNjAwLGxlZnQ6ZCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6ZSxkZWxheTpjLGVhc2U6dn0pLDApfSl9aWYoMjE9PWF8fDI1PT1hKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ai5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7b3BhY2l0eTowfSl9LDEwMCk7dmFyIHdhPTkwLHlhPS1sLndpZHRoLHphPS13YTtpZigxPT1vKWlmKDI1PT1hKXt2YXIgeGE9ImNlbnRlciB0b3AgMCI7d2E9bC5yb3RhdGV9ZWxzZXt2YXIgeGE9ImxlZnQgY2VudGVyIDAiO3phPWwucm90YXRlfWVsc2UgaWYoeWE9bC53aWR0aCx3YT0tOTAsMjU9PWEpe3ZhciB4YT0iY2VudGVyIGJvdHRvbSAwIjt6YT0td2Esd2E9bC5yb3RhdGV9ZWxzZXt2YXIgeGE9InJpZ2h0IGNlbnRlciAwIjt6YT1sLnJvdGF0ZX1pLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPXQvMS41LzM7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsMipjLzFlMyx7bGVmdDowLHRyYW5zZm9ybVN0eWxlOiJmbGF0Iixyb3RhdGlvblg6emEsejowLGF1dG9BbHBoYTowLHRvcDowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTIwMCx0cmFuc2Zvcm1PcmlnaW46eGEscm90YXRpb25ZOndhfSx7bGVmdDowLHJvdGF0aW9uWDowLHRvcDowLHo6MCxhdXRvQWxwaGE6MSxzY2FsZToxLHJvdGF0aW9uWTowLGZvcmNlM0Q6ImF1dG8iLGRlbGF5OmMvMWUzLGVhc2U6dX0pLDApfSksMSE9bz8oeWE9LWwud2lkdGgsd2E9OTAsMjU9PWE/KHhhPSJjZW50ZXIgdG9wIDAiLHphPS13YSx3YT1sLnJvdGF0ZSk6KHhhPSJsZWZ0IGNlbnRlciAwIix6YT1sLnJvdGF0ZSkpOih5YT1sLndpZHRoLHdhPS05MCwyNT09YT8oeGE9ImNlbnRlciBib3R0b20gMCIsemE9LXdhLHdhPWwucm90YXRlKTooeGE9InJpZ2h0IGNlbnRlciAwIix6YT1sLnJvdGF0ZSkpLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvMWUzLHtsZWZ0OjAsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHJvdGF0aW9uWDowLHo6MCxhdXRvQWxwaGE6MSx0b3A6MCxzY2FsZToxLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTowfSx7bGVmdDowLHJvdGF0aW9uWDp6YSx0b3A6MCx6OjAsYXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsc2NhbGU6MSxyb3RhdGlvblk6d2EsZWFzZTp2fSksMCl9KX1pZigyMz09YXx8MjQ9PWEpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtqLmZpbmQoIi5kZWZhdWx0aW1nIikuY3NzKHtvcGFjaXR5OjB9KX0sMTAwKTt2YXIgd2E9LTkwLGZhPTEsQWE9MDtpZigxPT1vJiYod2E9OTApLDIzPT1hKXt2YXIgeGE9ImNlbnRlciBjZW50ZXIgLSIrbC53aWR0aC8yO2ZhPTB9ZWxzZSB2YXIgeGE9ImNlbnRlciBjZW50ZXIgIitsLndpZHRoLzI7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3RyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCIsYmFja2ZhY2VWaXNpYmlsaXR5OiJoaWRkZW4iLHBlcnNwZWN0aXZlOjI1MDB9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7bGVmdDpBYSxyb3RhdGlvblg6bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsb3BhY2l0eTpmYSx0b3A6MCxzY2FsZToxLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTp3YX0se2xlZnQ6MCxyb3RhdGlvblg6MCxhdXRvQWxwaGE6MSx0b3A6MCx6OjAsc2NhbGU6MSxyb3RhdGlvblk6MCxkZWxheTo1MCphLzUwMCxlYXNlOnV9KSwwKX0pLHdhPTkwLDE9PW8mJih3YT0tOTApLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLHQvMWUzLHtsZWZ0OjAscm90YXRpb25YOjAsdG9wOjAsejowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTowfSx7bGVmdDpBYSxyb3RhdGlvblg6bC5yb3RhdGUsdG9wOjAsc2NhbGU6MSxyb3RhdGlvblk6d2EsZGVsYXk6NTAqYi81MDAsZWFzZTp2fSksMCksMjM9PWEmJmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLHQvMmUzLHthdXRvQWxwaGE6MX0se2F1dG9BbHBoYTowLGRlbGF5OjUwKmIvNTAwK3QvM2UzLGVhc2U6dn0pLDApfSl9cmV0dXJuIGt9fShqUXVlcnkpOw=="}},"time_used":287,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":107,"receive":180,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/bg/bg16.jpg","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.246Z","timestamp":1785123385246,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/bg/bg16.jpg HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"1d139-65fd8520-e23aa28ae8c7f276;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 119097\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":119097,"size_decoded":119497,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1919x1070, components 3","md5":"ad09611741db14a11c83b65a0a0d8072","sha1":"b38d485093c6b4a057ddbf9df0c0fca5d2e82886","sha256":"e35e137c3c5b38d040428c4ad83591fab7e5497c0d6f22ca1c1627a4abd6c863","sha512":"1a87ee0dcaad7b9e081a4899e655adcb7966b22d9bec369cf9424eb3a1641650a1abaa6ff4bbf84f31673516e3d98e0a22adfa1178672dbcdeac40d1e2e72906","ssdeep":"3072:pqfDjWheCnGMuaIUFI7KKttd5OBcTwoxbJtM8:E3wGMuaIUFAtN3TrbJtM8","tlshash":"b6c3f1fc78559d3af4281f7e60e9cb34ae8dd476411f823e228b18e99025c656c36f0e","first_seen":"2023-07-21T08:48:13Z","last_seen":"2026-07-27T12:40:24.600474Z","times_seen":40,"resource_available":false,"data":"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LLLPzyyyzznjLLLLLLLLLLLLLLLLLP5Mss/hz/0G+N/HfG+Nttttttttttttttttttttl/M/jH/4Pvjbf5Nt/g38t/8AQZ+efln4ZZZZ4yyyzxllllllnjLPGWWWWWWWWWWWWWWWWWWWWWf+Sz4fDbb+R/8ADdtt87b4222222223xttttvnf/jeeMssss8ZZZZZ4yyyyyyyyyyyyyzxlllnjLLLLJP4T+c/93vnbbbbbbbbbbbbfw3xtttttttttv47b/8ANMmyyyTxtv4b5P8A4O/g/lttvnbfG222222/nv8A87fL4bfO/hvg/jP/AHj4fw3+fbfx223xtvjf/nb4fO22x5PB/Ef+8f5t/h3xv8W+Ntt/9o/+gf8Az38W22It/DY/jP8A1O/+j3/xN/8Abv8A79/Bn8DwfgPk/gP/AIE/+iP/AJi/k/iRb/4J/wC/f/RH/s3/AOBs+dtt8Ef/AAx/iz/zz/5c/i22222ww2222+N/gP8A3j+Gfhllln/mH/s3/wCCtsNttsMNtttttttttttttttttttvnfG/+yz8cs8ZZZ4yyyyyz+LPGecsssss/wDaP/tn+dtththhthtttttthtttttttttttttttttttttttttttttt8bb42223/AM7LPGWWWfhlllllllllllllln5Z/wDOX8m2G222G2222G3xtttv5bbb4222223xttttttttttttttttttttttttttvjbbbfx23+fLLLPzz8ss85Z/8AP38WYbYYbYYYm2222222222222+Nttt8bbb438Nttttttttt8bbbbbbbbbbbbbbbbbbbbbbbbbbb53zttttv/wDhtm223wGGGG222222222222222222222222222222223xttttttttttttttttttttttttttttttttttttttttttttttttttttttv/APg9/ECDDEG22222G2G2222G222222222222222222222222222222222222223xtttttvjbbbbbfG22222222222222222222222222222222222222222222222222/wDzF8NtiDDDDDbbDbbbbbDbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb42223xtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvnf5tt/8Agb/AxCEGGGGGG2G2G2222222238gbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4222222222222222222222222222222222222222222222222222223zttvjbf/Jf/AE74EIQhCEGG22G3w22223w22222G22222222222222222223+ABtttttttttttttttttvjbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfw23/174EIQhBiEPBsNv84ABvgNtttttttttttttttv4DbbfG2+N874222238N8bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb53xtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttv4b/Pv/AITEIQgwwwww2w+G2+G222/kA8BDyNttttttttttt/MDbYbbYbbbbbbj+LbbbbbfDbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfDbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfG/mwwwxHgMRbFttttttttttv4E8ZCDDbbbbbbbbbbbb/CAEIPgQbbbbbbbbbbbbbbbfDbbbbbbbbbbbbbbbbbbbbbbbbbbbf4AG2222222222+G2222222222+G+TbbbbbbbbbbbfwG/mBtvhttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssEHgEEIIIIILLLPy22Y+QQYgwww2222/htttttttttttsQYgwww222222222/yAA222222222223xtttttv5gbb4bbbbbbbbbbbbbbbbbbbbbbb4b5Ntt/gAbbbbbbbbbbbbbb5N/Abbbbbb4bb5Nttttttt8Ntttttttttttttttttttttttttttttttttttttttt8m+G+TfwG222yxER4BBBBBZZZZZZ4Zll8ZZZBBECCCCyzzln8O2/gCEGGGGHxttttttttttttttttv4Am/gNtttttt8m/iD/AAb5Nttttttttttttttttt/iAG/gNttttttttttttttttt8N/AYseGLfDFv8YAbbbb5Ntttt8MeG2/gNtttsWLHhttjybbbbbbb5Nttttttttttt8N8N8GDDDKGGGGGGG2222UmLLLbb5CCCCCCCCyyyyyyyyyyyyZlltt8EQQQQWfzb52223wHyDDbbbbbb4bbbbbb+Af4gA222222222222222Y/wgDbbbbbbbbbbbbbbbbbbbbbf4wA223ybbb4b4bbb5Ntttt/8wGAAAb+Ibb4bb4bbbbbbbbbbbbbLEeIyhhhiG23yLLMYx8ghBhhhiI/lZllt8hBBBBBBZBZZZZZZZZZZZZZZZMz422IY/LbbfG2222yy2y2222+TfA8GvJttttvhtv4B8D/EAG222222222222222222z4H+Bs1atWvDbbbbbbfDbbbbbbbf/anAAAAoAAAwYhiPEiLfxWWWWYzbbYYYZShhiPw2222222YxjXyAQwxEREHgs8ZZZZZZZJ5ZmWfJHgiyyyyyyyyyyyySSSySyzztttsNttsNttttttttttssvg/yhINtt8Nttttttt8GMa1r+fjbbbfG22222222222222zGMa/+x/gAAQfzPsCCEEEERHnbZjGMY+DbbYYZQyiIj8Ntt/BZZZZZ8g8IZQww+dtttttttt8rLbLMWW0ttiIgg/PLLLJLLLJJLJJn8j+XPDZMyTO3P4b4DbDb4bbbbbbbb5GMa1rX8flKfiDbbbbbbbbbfx2YxrWv8ngG2+G2/mBtttv/AIof/wC784QRBBEeNt8GMa1jH8AGGGPwpEQw2/mssssxi22wwy8hEeD89tttllmMYx8ghBhhhh/LP4WZZZZfDYYiPGfhlllllllllkklknkyfwP52WVlZZWVlmatWohCH8QAb4bbbbMYxjGMfwE8gm22222222222222222222zH/wAT7AACCCIiG3wfAxiyzFt8c2QQeYEHgRHg8H4bLMfIGPg2GPxQhhhht/HfG+VllllmMfARShhiPB+L5fKyyyzGPkEGGIj+HPxySyySyZm238DweM/DPGeEkmSSSSSSyyyyIEEfy7bbLMYxjGP4gIQ/ANttLbbbbfG/g22yzGMY/wAWAP4g3yEREW22yy2yy+GbPA8spSECCCCIIg87bLMfAYxZXxzBBBCHgMMQw222222/isss+QtZseciIYYbbbbbbbbbZZZZZZZeBZmwylDER/Hn4ZZMspjHwEGG2GHxv8DJJJJMYx/EGWfw5ZZZZZ4ZmSSSSSSZ8ZERsbG22222222222222222zGMYxjNtt8hNttttttttttiItt/AP4g23yEEEEEEEEEEEEEFn4LLLLLLMknkKQgQRERHk/gZZZZeQWfBB4jDDDD4G222222222WWWWWUpS+CGUMQYYYbYf4nyyylKW1iGGGGPB4CyyyzwyeEkkkkksss87bbbbbD4I/DLLJLJJJJJJJJJJLLIIIIILLPyyyyyyyyyyZmZZnztttrbbbbbbbbbbbbDb/KHBvhsMMMMMRBBBBERbbbLMYxiy+cLCx5CkIQhAggssssss/BmWWUpnyeCGIYj8dttttt8L4Z8HwZ8bDEIQgww222222222222yyyyy8Cz5IYYYYYj+HJJJJJ8jJJltt/ADbbbDDb+bMzJMyTNlkEEFn4bbb+WWfgzMzMzZM+TyfxH8QAYnwEPBsMMMQgiI8bbb+INa1rH8I0hiIiIIILIIP4llllmfBk8hCCiHhBBZ+eec8ZZJJ5GWXyEIeEMMNttttttttttstssssyST43yFKQhBht/DbfGy+GZmZmZ/I8ERZBBZZZZZZJJJJJJJIyWWQQedtn8AIMMPjbZ8sszMzMy+SCCzxlnh/Lbbbfx38gDERBBCEQwx/ADta1rX8OIQgyjxCCIjwNtttttttsssxjGMW3xxZEIUpSBZZZZZZZZZZZZZZPg/gFLLawsLKUoYYbbbbbbbbbbfDMkkkkyzGvgIeaEGGG2222222W2WW2WWWZnztvkIQgwww/jlkkxjGNa18ZTxJPhmV8bDDDENtttssssssssssstvgj8ltlttttgssss8LLLLbbDEeYIIIIi221/ITVzWta1/ACDHiIQgiPG22222222+RjHxWta+MgwxCCCCz8c85ZZZZ4fDLKUpeDNkEHmBBBZZ+WWWWWWWeCQ8F5Fr4CHkAwxNtt8m+RbZbbZmZmfCzHySlPAIMMNttttsstvhmZsssLJJmZn8CCCPwyySZmSSSZnzkEHjPLLLLb5N4ss8MsxizGbbDDDL8AREW+Ntttt8FlllZ8Mz4I8B+BIYbbbbbbfyAxjXzFrG6hQ+ceJHjfx3wW22222yyz+QAGL4CTypCEyyyz8MsssssssknyOcpZiIQh4Gx45ubW222238Mskkkkk8F4GPjKfhQIQbbbfJvhstttvjLPLLLLLLbbDDDDDHnPGSSSSSTGMY+ApT8ASZmbfw222YxrGMW2GGN8w/CIj8dt/FLJmWWW2GGUvERH57bbbb4MYxipUkra2WQQ/AkNtttttttttvhtv4Bj+RVWtGEYQhBB+eeMsss/BllL8KlL4PxEiBBZZY2WWWWWWWWWWeDGMH4BT4DyJeAYYfDbfxDbbfOfgsspiyyz5BCEINttttsts/gyeGRChjwJMzMz+RjWtY+DVsQQ/AAQggsgssss/DLLJJlmPgtfGeIvwBEedttttt8bbbLLMySeGWeD8IRFttttttttttttsxjGP41VJWIh+BGGG22223xtvjfG22yy/mBQvAb+Cp4pAssssssssssss8MssmMSHifMtsQhCCCCz/wVlllllmPkEIQhCDb4b5Nttt/AILLPLLLKWWfO+GMYxisr5CCEIfgyIj8+Li0tlmP4lVusbCMfwZENtvnbbbbbbbZfDMkyz5Awy8xD+XP4742WWWWUvBmSzwDyqGGIMPhvk22222223wY/kVxeCHgYwEZGRBZZZZZZZZZZZZZZZJPg5TnKWCEIQggiLLLPOfws+DJJJDwfGsMMMLDDbbbbbbbbbb5yCDxtsspZZZZZfG+VlnwklllkREQyhhhhhhtttttttLfBjGPkCvGQfhEYeJEfm/kz4ZZTyL4yDLxUMMMNtttttttttxbbLMz5BJJZZZHnIYYfx3xtttttvkYx8kXkbI8zkQwww2222222222222222kspTlOdy8D8EBAgggssssss/iZJJJ8AQ/AEREEHnLLLLLLLLPx2W2WWWWWWWW22G3i2X8cssgiIjwIiI/PbZZZZZZfBJLLIPOpSlKEhIuPyfxfDL+ACnweVShhhhhttttttttt8bLMzMzJMz4PEYYYYbbbbfy3xttsssvBTMz4IPHdqFhhh/gAbbbbbbbbMY+RPxElkHhizGRBBZZZZZZZZZZZZZZZZZJJJJ+Db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"}},"time_used":329,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":297,"receive":32,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/menuzord-skins/menuzord-boxed.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.006Z","timestamp":1785123385006,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/menuzord-skins/menuzord-boxed.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"962-65fd8520-55e0f40eafc67501;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 497\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":2402,"size_decoded":935,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"484573d5662f838b79ed6d1c6772ea66","sha1":"7e72a60680d7a73566650937aa9230ac39d347dd","sha256":"5db2f4170f0061d634c6a7a43dd32ce9e3708d1b5a95c8dd1489427c34f9a09b","sha512":"1b43c190fa20773d4c17f9a0d8f1e7e7ce589c28c0972808014c2097a711a2223e76e69f6575e0a53dc1ee0f2f1127ecd7e4c6d41a78eb8411d9b9c303c8db5d","ssdeep":"","tlshash":"6c419281f6c9b43922ade8d0017702f05bb7817cce0df9a47ad2449ea784674dde3e94","first_seen":"2023-07-17T13:29:23Z","last_seen":"2026-07-27T14:34:25.231506Z","times_seen":40,"resource_available":false,"data":"LyoNCkJveGVkIFNraW4NCiovDQoNCi8qIE1lbnUgaXRlbXMgKi8NCi5tZW51em9yZC1tZW51ID4gbGl7DQoJcGFkZGluZzogMThweCAwOw0KfQ0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGF7DQoJcGFkZGluZzogOHB4IDE2cHg7DQp9DQoNCi8qIEFjdGl2ZS9ob3ZlciBzdGF0ZSAobWVudSBpdGVtcykgKi8NCi5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwNCi5tZW51em9yZC1tZW51ID4gbGk6aG92ZXIgPiBhew0KCWJhY2tncm91bmQ6ICMzMzM7DQoJY29sb3I6ICNmZmY7DQp9DQoNCi8qIERyb3Bkb3duICovDQoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93bnsNCgl0b3A6IDcxcHg7DQp9DQoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSB1bC5kcm9wZG93bnsNCiAgICB0b3A6IDA7DQp9DQoNCi8qIERyb3Bkb3duIGl0ZW1zICovDQoubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBhew0KCWJhY2tncm91bmQ6ICMzMzM7DQoJY29sb3I6ICNmZmY7DQp9DQoNCi8qIE1lZ2FtZW51ICovDQoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51ew0KCXRvcDogNzFweDsNCn0NCg0KLyogU2VhcmNoIEZpZWxkICovDQoubWVudXpvcmQtbWVudSA+IGxpLnNlYXJjaCBmb3Jtew0KCXBhZGRpbmc6IDJweCAxNnB4Ow0KfQ0KDQovKiBDb2xvciBzY2hlbWVzICovDQovKiBibHVlICovDQoubWVudXpvcmQuYmx1ZSAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIA0KLm1lbnV6b3JkLmJsdWUgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLmJsdWUgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBheyANCgliYWNrZ3JvdW5kOiAjNDVjNGU5Ow0KCWNvbG9yOiAjZmZmOw0KfQ0KLyogZ3JlZW4gKi8NCi5tZW51em9yZC5ncmVlbiAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIA0KLm1lbnV6b3JkLmdyZWVuIC5tZW51em9yZC1tZW51ID4gbGk6aG92ZXIgPiBhLCANCi5tZW51em9yZC5ncmVlbiAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICM0OENGQUQ7DQoJY29sb3I6ICNmZmY7DQp9DQovKiByZWQgKi8NCi5tZW51em9yZC5yZWQgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCANCi5tZW51em9yZC5yZWQgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLnJlZCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICNmMjE4NGY7DQoJY29sb3I6ICNmZmY7DQp9DQovKiBvcmFuZ2UgKi8NCi5tZW51em9yZC5vcmFuZ2UgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCANCi5tZW51em9yZC5vcmFuZ2UgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLm9yYW5nZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICNmZjg1M2Y7DQoJY29sb3I6ICNmZmY7DQp9DQovKiB5ZWxsb3cgKi8NCi5tZW51em9yZC55ZWxsb3cgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCANCi5tZW51em9yZC55ZWxsb3cgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLnllbGxvdyAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICNmZmFlMTE7DQoJY29sb3I6ICNmZmY7DQp9DQovKiBwdXJwbGUgKi8NCi5tZW51em9yZC5wdXJwbGUgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCANCi5tZW51em9yZC5wdXJwbGUgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLnB1cnBsZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICNBQzkyRUM7DQoJY29sb3I6ICNmZmY7DQp9DQovKiBwaW5rICovDQoubWVudXpvcmQucGluayAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIA0KLm1lbnV6b3JkLnBpbmsgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLnBpbmsgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBheyANCgliYWNrZ3JvdW5kOiAjRUM4N0MwOw0KCWNvbG9yOiAjZmZmOw0KfQ0KDQovKiBNb2JpbGUgbW9kZSAoUmVzcG9uc2l2ZSBtb2RlKSAqLw0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KXsNCgkvKiBNZW51IGl0ZW1zICovDQoJLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgPiBsaXsNCgkJcGFkZGluZzogMDsNCgl9DQoJLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGF7DQoJCXBhZGRpbmc6IDEycHggMjBweCAhaW1wb3J0YW50Ow0KCX0NCn0="}},"time_used":192,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":192,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.kenburn.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.225Z","timestamp":1785123385225,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.kenburn.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"eaa-65fd8520-3684f2cfc6b1538b;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1436\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":3754,"size_decoded":1891,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (3515), with CRLF line terminators","md5":"2384ef0e1aa89244caa1e4821ee50bee","sha1":"7416c32035abca45b2d02062193d8a1a99b9e028","sha256":"40d3265afb721403e925443bc7fc2b1acd13150f5bc06f6018669a06a4c59ce4","sha512":"0cd638938bcf7b84aa2067e23bf0797bebc4a08d5978356f190337756768b2f5cda9d65daeb7094fa7fa97f0d76861fb66802e643c2c8c7d6150b5f4a95b5e51","ssdeep":"","tlshash":"8d7142d220166c5e4ca3a39295ef17c663f1ed2835039c1c9772b5802eccd1e28bbb5d","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.075874Z","times_seen":913,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC4yIEVYVEVOU0lPTiAtIEtFTiBCVVJODQogKiBAdmVyc2lvbjogMS4zLjEgKDE1LjA1LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWpRdWVyeS5mbi5yZXZvbHV0aW9uLGM9e2FsaWFzOiJLZW5CdXJucyBNaW4gSlMiLG5hbWU6InJldm9sdXRpb24uZXh0ZW5zaW9ucy5rZW5idXJuLm1pbi5qcyIsbWluX2NvcmU6IjUuNCIsdmVyc2lvbjoiMS4zLjEifTtqUXVlcnkuZXh0ZW5kKCEwLGIse3N0b3BLZW5CdXJuOmZ1bmN0aW9uKGEpe2lmKCJzdG9wIj09PWIuY29tcGFyZV92ZXJzaW9uKGMpLmNoZWNrKXJldHVybiExO3ZvaWQgMCE9YS5kYXRhKCJrYnRsIikmJmEuZGF0YSgia2J0bCIpLnBhdXNlKCl9LHN0YXJ0S2VuQnVybjpmdW5jdGlvbihhLGQsZSl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oYykuY2hlY2spcmV0dXJuITE7dmFyIGY9YS5kYXRhKCksZz1hLmZpbmQoIi5kZWZhdWx0aW1nIiksaD1nLmRhdGEoImxhenlsb2FkIil8fGcuZGF0YSgic3JjIiksaj0oZi5vd2lkdGgsZi5vaGVpZ2h0LCJjYXJvdXNlbCI9PT1kLnNsaWRlclR5cGU/ZC5jYXJvdXNlbC5zbGlkZV93aWR0aDpkLnVsLndpZHRoKCkpLGs9ZC51bC5oZWlnaHQoKTtpZihhLmRhdGEoImtidGwiKSYmYS5kYXRhKCJrYnRsIikua2lsbCgpLGU9ZXx8MCwwPT1hLmZpbmQoIi50cC1rYmltZyIpLmxlbmd0aCl7dmFyIG09Zy5kYXRhKCJtZWRpYWZpbHRlciIpO209dm9pZCAwPT09bT8iIjptLGEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1rYmltZy13cmFwICcrbSsnIiBzdHlsZT0iei1pbmRleDoyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjBweDtsZWZ0OjBweDtwb3NpdGlvbjphYnNvbHV0ZTsiPjxpbWcgY2xhc3M9InRwLWtiaW1nIiBzcmM9IicraCsnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IiB3aWR0aD0iJytmLm93aWR0aCsnIiBoZWlnaHQ9IicrZi5vaGVpZ2h0KyciPjwvZGl2PicpLGEuZGF0YSgia2VuYnVybiIsYS5maW5kKCIudHAta2JpbWciKSl9dmFyIG49ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9YSpjLGk9YipjLGo9TWF0aC5hYnMoZC1oKSxrPU1hdGguYWJzKGUtaSksbD1uZXcgT2JqZWN0O3JldHVybiBsLmw9KDAtZikqaixsLnI9bC5sK2gsbC50PSgwLWcpKmssbC5iPWwudCtpLGwuaD1mLGwudj1nLGx9LG89ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLmJncG9zaXRpb24uc3BsaXQoIiAiKXx8ImNlbnRlciBjZW50ZXIiLGc9ImNlbnRlciI9PWZbMF0/IjUwJSI6ImxlZnQiPT1mWzBdfHwibGVmdCI9PWZbMV0/IjAlIjoicmlnaHQiPT1mWzBdfHwicmlnaHQiPT1mWzFdPyIxMDAlIjpmWzBdLGg9ImNlbnRlciI9PWZbMV0/IjUwJSI6InRvcCI9PWZbMF18fCJ0b3AiPT1mWzFdPyIwJSI6ImJvdHRvbSI9PWZbMF18fCJib3R0b20iPT1mWzFdPyIxMDAlIjpmWzFdO2c9cGFyc2VJbnQoZywwKS8xMDB8fDAsaD1wYXJzZUludChoLDApLzEwMHx8MDt2YXIgaT1uZXcgT2JqZWN0O3JldHVybiBpLnN0YXJ0PW4oZS5zdGFydC53aWR0aCxlLnN0YXJ0LmhlaWdodCxlLnN0YXJ0LnNjYWxlLGIsYyxnLGgpLGkuZW5kPW4oZS5zdGFydC53aWR0aCxlLnN0YXJ0LmhlaWdodCxlLmVuZC5zY2FsZSxiLGMsZyxoKSxpfSxwPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLnNjYWxlc3RhcnQvMTAwLGU9Yy5zY2FsZWVuZC8xMDAsZj12b2lkIDAhPWMub2Zmc2V0c3RhcnQ/Yy5vZmZzZXRzdGFydC5zcGxpdCgiICIpfHxbMCwwXTpbMCwwXSxnPXZvaWQgMCE9Yy5vZmZzZXRlbmQ/Yy5vZmZzZXRlbmQuc3BsaXQoIiAiKXx8WzAsMF06WzAsMF07Yy5iZ3Bvc2l0aW9uPSJjZW50ZXIgY2VudGVyIj09Yy5iZ3Bvc2l0aW9uPyI1MCUgNTAlIjpjLmJncG9zaXRpb247dmFyIGg9bmV3IE9iamVjdCxpPWEqZCxrPShjLm93aWR0aCxjLm9oZWlnaHQsYSplKTtjLm93aWR0aCxjLm9oZWlnaHQ7aWYoaC5zdGFydD1uZXcgT2JqZWN0LGguc3RhcnRvPW5ldyBPYmplY3QsaC5lbmQ9bmV3IE9iamVjdCxoLmVuZG89bmV3IE9iamVjdCxoLnN0YXJ0LndpZHRoPWEsaC5zdGFydC5oZWlnaHQ9aC5zdGFydC53aWR0aC9jLm93aWR0aCpjLm9oZWlnaHQsaC5zdGFydC5oZWlnaHQ8Yil7dmFyIG09Yi9oLnN0YXJ0LmhlaWdodDtoLnN0YXJ0LmhlaWdodD1iLGguc3RhcnQud2lkdGg9aC5zdGFydC53aWR0aCptfWguc3RhcnQudHJhbnNmb3JtT3JpZ2luPWMuYmdwb3NpdGlvbixoLnN0YXJ0LnNjYWxlPWQsaC5lbmQuc2NhbGU9ZSxjLnJvdGF0ZXN0YXJ0PTA9PT1jLnJvdGF0ZXN0YXJ0Py4wMTpjLnJvdGF0ZXN0YXJ0LGguc3RhcnQucm90YXRpb249Yy5yb3RhdGVzdGFydCsiZGVnIixoLmVuZC5yb3RhdGlvbj1jLnJvdGF0ZWVuZCsiZGVnIjt2YXIgbj1vKGMsYSxiLGYsaCk7ZlswXT1wYXJzZUZsb2F0KGZbMF0pK24uc3RhcnQubCxnWzBdPXBhcnNlRmxvYXQoZ1swXSkrbi5lbmQubCxmWzFdPXBhcnNlRmxvYXQoZlsxXSkrbi5zdGFydC50LGdbMV09cGFyc2VGbG9hdChnWzFdKStuLmVuZC50O3ZhciBwPW4uc3RhcnQuci1uLnN0YXJ0LmwscT1uLnN0YXJ0LmItbi5zdGFydC50LHI9bi5lbmQuci1uLmVuZC5sLHM9bi5lbmQuYi1uLmVuZC50O3JldHVybiBmWzBdPWZbMF0+MD8wOnArZlswXTxhP2EtcDpmWzBdLGdbMF09Z1swXT4wPzA6citnWzBdPGE/YS1yOmdbMF0sZlsxXT1mWzFdPjA/MDpxK2ZbMV08Yj9iLXE6ZlsxXSxnWzFdPWdbMV0+MD8wOnMrZ1sxXTxiP2ItczpnWzFdLGguc3RhcnRvLng9ZlswXSsicHgiLGguc3RhcnRvLnk9ZlsxXSsicHgiLGguZW5kby54PWdbMF0rInB4IixoLmVuZG8ueT1nWzFdKyJweCIsaC5lbmQuZWFzZT1oLmVuZG8uZWFzZT1jLmVhc2UsaC5lbmQuZm9yY2UzRD1oLmVuZG8uZm9yY2UzRD0hMCxofTt2b2lkIDAhPWEuZGF0YSgia2J0bCIpJiYoYS5kYXRhKCJrYnRsIikua2lsbCgpLGEucmVtb3ZlRGF0YSgia2J0bCIpKTt2YXIgcT1hLmRhdGEoImtlbmJ1cm4iKSxyPXEucGFyZW50KCkscz1wKGosayxmKSx0PW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZTtpZih0LnBhdXNlKCkscy5zdGFydC50cmFuc2Zvcm1PcmlnaW49IjAlIDAlIixzLnN0YXJ0by50cmFuc2Zvcm1PcmlnaW49IjAlIDAlIix0LmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8ocSxmLmR1cmF0aW9uLzFlMyxzLnN0YXJ0LHMuZW5kKSwwKSx0LmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8ocixmLmR1cmF0aW9uLzFlMyxzLnN0YXJ0byxzLmVuZG8pLDApLHZvaWQgMCE9PWYuYmx1cnN0YXJ0JiZ2b2lkIDAhPT1mLmJsdXJlbmQmJigwIT09Zi5ibHVyc3RhcnR8fDAhPT1mLmJsdXJlbmQpKXt2YXIgdT17YTpmLmJsdXJzdGFydH0sdj17YTpmLmJsdXJlbmQsZWFzZTpzLmVuZG8uZWFzZX0sdz1uZXcgcHVuY2hncy5Ud2VlbkxpdGUodSxmLmR1cmF0aW9uLzFlMyx2KTt3LmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIixmdW5jdGlvbihhKXtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7ZmlsdGVyOiJibHVyKCIrdS5hKyJweCkiLHdlYmtpdEZpbHRlcjoiYmx1cigiK3UuYSsicHgpIn0pfSxbcl0pLHQuYWRkKHcsMCl9dC5wcm9ncmVzcyhlKSx0LnBsYXkoKSxhLmRhdGEoImtidGwiLHQpfX0pfShqUXVlcnkpOw=="}},"time_used":287,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":115,"receive":172,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.357Z","timestamp":1785123386357,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/i/productlogos/translate/v14/24px.svg HTTP/1.1\r\nHost: fonts.gstatic.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ncontent-length: 3340\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:10:10 GMT\r\nexpires: Fri, 23 Jul 2027 10:10:10 GMT\r\ncache-control: public, max-age=31536000\r\nage: 321976\r\nlast-modified: Wed, 20 Apr 2022 14:24:23 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":6225,"size_decoded":4178,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"2bd5c073a88b83ed74db88282a56ddfb","sha1":"d0ebfc376f8c6a44a8d4cd216817dcd7d0c33650","sha256":"ab5c23a05e39deed14d9d8262b0dce9f024f86105a27196cad37d14a3f516e09","sha512":"5c6c4a92e93fc0f6a675658cc84f6187fdebd3eee94efd07e24658736cba598f3bc7156b19834b13fb44c1d43fcb7df9fcca7f0a453037e30da76ba8f4b23b89","ssdeep":"96:+R2K3Z4n7tyVwip82hezk6227gLFoXhu1XuE20ot+pVY3YptWDzOzgXK3Zx:ql3KnxyGGMzb7noR20NTww33","tlshash":"c1d1e6f19309d815cd6a83d8cd9b8002aa1f25ddd50ac6cc7639fb3bd1a50eb1d2d7a4","first_seen":"2023-04-06T21:34:37Z","last_seen":"2026-07-31T12:08:53.704048Z","times_seen":78450,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxkZWZzPjxwYXRoIGQ9Ik0yMS41IDVoLTkuMTdMMTEgMUgyLjVDMS42OCAxIDEgMS42OCAxIDIuNXYxNWMwIC44My42OCAxLjUgMS41IDEuNWg5LjE3TDEzIDIzaDguNWMuODIgMCAxLjUtLjY4IDEuNS0xLjV2LTE1YzAtLjgzLS42OC0xLjUtMS41LTEuNXoiIGlkPSJhIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iYiI+PHVzZSBvdmVyZmxvdz0idmlzaWJsZSIgeGxpbms6aHJlZj0iI2EiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMzEiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMyAxKSIgd2lkdGg9IjI5IiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUIwQUFBQWZDQVlBQUFBYlc4WUVBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQSBHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFCUUJKUkVGVWVOcThWOHR1MjBZVXZYZG0rTENrIFJLaU13STFURkVYaFZaSmQxZ1c2Nnhla3Y5RFBxUHN2WGRVL1VhRHJvSnNrS3krQ0luQ2NHcEt0RnkyU00vZjJERVhaaWEwb2R0S1cgQWtGSjh6aHp6bjNTMFljdnBzKzc5RU1EYmozWWZndjRFTStYVE4vZkVPYjNaZzNBWG1xN2o2NEQ1L2UveC9FZnpaTW5YNWp4K0xGWiBMTHlwNnlORE96c2tZYjZSdWJGZHBiZHZLVWwySmMrZDlQdlA1ZG16VXlINlRWb1lYUU9xK0g1Zzl2YitjT05zTzltYUxwSXl5WlBVIGtaTkFwcG1oOVZwZzVrU1h3Q1NWSjUvVmkvcjhUbDczeTJGOWVQaWRKM29hZ2ErQjR2a1VnRis2RVcxbmR6MTFndk5kRGRMMWJETnIgeUtrQ1dPMTZ0aHlVR1dJSWVhZTJaR3ZuMW9mNXhGRXhvR0Y1ZUhnTTRBTlpzVzAzMlRmMDVNamVXK3htTktlZWRlV0FnOXRteXdQTSA2ckdZek9BUEJTZlE1U3MwTmY0cEFtUnJTbUJQMWVoSXhRNkRweEYxYVhhU0g1WDBiRGNBUjFhT3hMUlB0UGRyWnJ3bmQ1NVN4M2d6IElNTzcyT3dCcTlrbW94MFJTa0hIUk54clJKV0ZEYlFYS3BSMXhONGVPZngwTnFuTWRGSHVsWS9ydy8xUkFFNWNyRXZ2ZmZHQ3ZYL0UgVlVvT0MzTW0yNGVhTzZUeU5aamVCNUUrc0RMTXQydENxWkVXOGxjZ1BTVTJ4MEloS2xBWW9UUDR4VVR1ZVVNdkh2Skszb3VROGZmSCBIUDYySnBHZWcvVlNZY2lxTkFEYkhReHZZNWV0ZHI2NXloTlhsRzJCNXhqemdXZkhKb1NlWjVPbGJ1YXErY3pReVlTdnhhbDcwMWRKIFNXb2lnUk5xWEl0ak9SaHNDK3g3NE5mRHRQUTZhR1BrZ0FVbEdST3BUS0JRUjRnYkIxeDZmanozL0RLOEdzb0hqL1NWRzZwSkFDaSsgTmhRZEFwc1FKRlBDZWxpWUtJbWdlRUpteWxjM1h6dzV5cDl4bklNWU1rWnQ5SGpWaEsvR2VIdHFaSTUrS1VWSlh0U1ZRY3djWURQbyBGSTkzamhXK0RXU2p6WnJHdHMwTlFTd09aVEZvTWFNQmFseTZDVEZaRzJLWFV0M1oxYVF6QzM2cktyRkowY2dVYjZhWlJudVJ3anRJIGxvN0VxM0NMV1N5YTRlSjdhK1ROMmV1ZHZDbGJrMTdJdEZlcG9RTHJweVF5eGtaVGpCWUlpd3FuWHdGLzFtWGVyUWl2dHUrSG9ocDcgdGY3Y1dKbkNUZ0JsZUNRM2JCRWFQaWFDVFJYa05xQkx1OTU1bzJrditOeklJb2dEa0dsQUVmdXdMNTFEWWg5ejNzZEsxeTFBTHlYMiBGeEpMSzNGajMzOU5Zbk8xNlA0ZkVsOEo5SFVTYXl0eFRIRlJZcXJobko2MEFaVTJsTnBETk9VTGFaSDFGcUJYSlM0TGhOOEVDZW9zIE1nYkxXVXgzQUsreHY0K1pLTjZBQ3h4bFp3MHhEemRaS2o3WjZFMUFMeVErOTFXTmNsd2dJVTZ3d1JsaTd4VGt6akE4QlFDU0J4ZkwgK01VaGxuR01ETVlsZnNQdVdzZFNGNEdaYTIyNmlvMU1XNG56UHZrUWJXZ0RuSWxHWUhTQ1RVK1FiT0k5Qk50VFRCN2h4bUVJaCtGVCBLREpHWm9pVnBrQTZLbU5SajkwRTBkdVBObWFOeEoyOVFWaDBSeFdzT01OUmgwSnlESWs3TEJLMWl3NjJCVjFjTEthWHBZMm4rSFdzIEdrWmlkT1pFeXNwM2ZESzRLM1R2SzkwRWlzR2Y2YkQvazZDVHFEcEJadDZFb1RXY1NYUVU1bWhYMUZ2Tm0vWFJpeVFpYXcwWEttRGkgRVhMOWtkVjZGTU11OWt2cHlVRG9CM1NJQjV1WXhwMitmU3I5UDdOYTdJT2lwc1VweFo1QnFJU05UdzFyRnk2YkdyS29JakFiUzl1dSBFS29UMk5vd3FpV0o3Y3FNMEtEOWxUOFgydCtsS3ozUzJsNFovZTR2OXB0WHpjRnluOVpkOG5sSEhjalhhTlpzYUN2S3FsVzZkV1AyIElicjdzZEUyZTY4SDlzeStUdk41SjZud3lkTFV2dHVXZm1vTHVnSDRaZzM0SnpiYkh3Ty93YXZHKzY4VmRKUFhpaHVDL3pjdlVKKzAgMFcydWZ3UVlBR0hLSzJDRk1JcnpBQUFBQUVsRlRrU3VRbUNDIi8+PHJhZGlhbEdyYWRpZW50IGN4PSI3LjM5NCIgY3k9IjUuNDM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImMiIHI9IjIzLjQxNiI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRUVFIi8+PHN0b3Agb2Zmc2V0PSIuNDMyIiBzdG9wLWNvbG9yPSIjRTZFNkU2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTFFMUUxIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMTMgMjNoOC41Yy44MiAwIDEuNS0uNjggMS41LTEuNXYtMTVjMC0uODMtLjY4LTEuNS0xLjUtMS41SDdsNiAxOHoiIGZpbGw9InVybCgjYykiLz48L2c+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTggMTF2LTFoLTF2MWgtMy43NXYxaDUuMzJjLS4yLjQ5LS42IDEuMy0xLjMyIDIuMTQtLjUxLS42LS44Ni0xLjE4LTEuMS0xLjY0aC0xLjExYy4zNi44NC45IDEuNjYgMS41MiAyLjM4bC0yLjYgMi41OC43MS43MSAyLjU4LTIuNTggMi41OCAyLjU4LjcxLS43MS0yLjYtMi41OGMuNzQtLjg2IDEuMzMtMS44NSAxLjY4LTIuODhIMjF2LTFoLTN6IiBmaWxsPSIjNjA3RDhCIi8+PGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iZCIgeDE9IjEyLjMzMyIgeDI9IjIzIiB5MT0iMTQiIHkyPSIxNCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4xIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4wMiIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTIuMzMgNUwyMyAxNS42N1YyM0gxMyIgZmlsbD0idXJsKCNkKSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iOCIgb3BhY2l0eT0iLjEiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC41IDE3LjUpIiB3aWR0aD0iOSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFKQ0FZQUFBQUxwcjBUQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU9GSlJFRlVlTnAwVUQxTEEwRVVuTGU3SnNKaCBDaUZwTFZOWWFTMzQxMUw3Wi9JblVwZ21xUklSTEd4RU9FVlFzb1JjYm5lY3U2QUdUQjRNNzJ2ZXZqZHIrRFBEZitOdnMzODU4cTdhIEZwNG9ET1pCSjVkSk1DVkR6SjJUK0xZWXBlQXlUajM5VU1OWGhBMDBIQUJYS3k4OWJZNlVscXJGb01IbTVRSzBhL21iWFl4U3l5Wm0gZUNCVGU1S3I2OCtOR3ErS3Y0UXpvU004cTNaUDhpbWpYamRFdi82WXNuZCtxNmE3VU40WEZzS1lsaWZiVUpYdmozZnR5dEFxTTF2SiB6NlVnR3ZnaUliTjkwZzhSVmRkRktaL3B6cVgrWTVORHRkb25IVEk3MXZnV1lBRHpXbWR4LzRmcG1RQUFBQUJKUlU1RXJrSmdnZz09Ii8+PHBhdGggZD0iTTE3IDE5bC00IDQtMS4zMy00IiBmaWxsPSIjM0Y1MUI1Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgNUg3bC4wNC4xMkgyMS41Yy44MiAwIDEuNS42NyAxLjUgMS41VjYuNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4wMiIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgMjIuODhIMTNMMTEuNzEgMTloLS4wNEwxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0uMTJjMCAuODItLjY4IDEuNS0xLjUgMS41eiIgZmlsbD0iIzIxMjEyMSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTEyLjk3IDIyLjkxTDEzIDIzbDQtNGgtLjEyIiBmaWxsPSIjMUEyMzdFIiBmaWxsLW9wYWNpdHk9Ii4yIi8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTEuNjcgMTkuMTJoNS4yMUwxNyAxOWgtNS4zMyIgZmlsbD0iIzFBMjM3RSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMjIiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLS41IC0uNSkiIHdpZHRoPSIyMCIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCVUFBQUFYQ0FZQUFBRGszd1NkQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQVVwSlJFRlVlTnFzbGJGT3d6QVFRTy9zUUNSYyBzcUFPbFJnck1qQ1ZyK0VyK0laK0F4L1dUQ3dWZXlWUWw5SU9RWTJQYzJxaE5Gd2NHc2RTckhOc1A1MmZwVFBDZVVQNFg2UFFaQTJaIFBpNDFscVhScENZS3RBNXRzRkJWRmRvOXBlbmg4MjFaU1dzUzExMlgxaEJkUFhHNDRCU3lRTWFFb0hjSjZRSkx1K0x4cmd1S1FEUUIgVUF1T24zbmZMQVRscWMwcHNtdnV2eVFWaWJmQVJ5YVhvUVBlaDZIazlNdzR1TDJidjN4czMxK1A3VVdxNVJkN0xzdk44YWtnNXpCUCBLVFBTSWdXWE4zT0NRbzZBUmtwaUNOUWQzNm1hZWdWNkRHZ2pXMWxCSkZSV01CUWFWREFVR2xRd0F2U3ZnaGhvcDRJWWFLZUNrYURuIENtS2hvb0pZcUtoQXRhbzU5VlYxb2Qzdzk5QlU0RXNmY1FWWHJ1QnVQQk12Z0pJdjFzZG1QU1ZBM0hPaEx2eS9iQ0MwcURrOHJqUDkgVHRXQjM2Z1Z2MUhydmplcTc5MlNqb2tSRi9aN0Z6OENEQUM4RW1XREtWR0RMZ0FBQUFCSlJVNUVya0pnZ2c9PSIvPjxwYXRoIGQ9Ik0xMSAxSDIuNUMxLjY4IDEgMSAxLjY4IDEgMi41djE1YzAgLjgzLjY4IDEuNSAxLjUgMS41SDE3TDExIDF6IiBmaWxsPSIjNDI4NUY0Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIuNSAxQzEuNjggMSAxIDEuNjggMSAyLjV2LjEyYzAtLjgyLjY4LTEuNSAxLjUtMS41SDExVjFIMi41eiIgZmlsbD0iI0ZGRiIgZmlsbC1vcGFjaXR5PSIuMDIiLz48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGQ9Ik0xMSAxdi4xMmw1LjkyIDE3Ljc1SDIuNWMtLjgyIDAtMS41LS42Ny0xLjUtMS41di4xMmMwIC44NC42OCAxLjUxIDEuNSAxLjUxSDE3TDExIDF6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4xIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIj48cGF0aCBkPSJNNy41IDEwdjEuMmgxLjk4Yy0uMDguNTItLjYgMS41MS0xLjk4IDEuNTEtMS4yIDAtMi4xNy0uOTktMi4xNy0yLjIxUzYuMyA4LjI5IDcuNSA4LjI5Yy42OCAwIDEuMTMuMjkgMS4zOS41NGwuOTUtLjkyQzkuMjQgNy4zNSA4LjQ0IDcgNy41IDcgNS41NyA3IDQgOC41NyA0IDEwLjVTNS41NyAxNCA3LjUgMTRjMi4wMiAwIDMuMzYtMS40MiAzLjM2LTMuNDIgMC0uMjMtLjAyLS40MS0uMDYtLjU4SDcuNXoiIGZpbGw9IiNFRUUiLz48cGF0aCBkPSJNNCA3aDd2N0g0eiIgZmlsbD0ibm9uZSIvPjwvZz48cmFkaWFsR3JhZGllbnQgY3g9IjEuNDU3IiBjeT0iMS40MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJlIiByPSIyOS43OTIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIuMSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMjEuNSA1aC05LjE3TDExIDFIMi41QzEuNjggMSAxIDEuNjggMSAyLjV2MTVjMCAuODMuNjggMS41IDEuNSAxLjVoOS4xN0wxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0xNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSJ1cmwoI2UpIi8+PC9zdmc+"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.migration.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.227Z","timestamp":1785123385227,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.migration.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"65f5-65fd8520-7aa7af9d32b6d5b8;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6652\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":26101,"size_decoded":7108,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (25862), with CRLF line terminators","md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.073108Z","times_seen":1645,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuMiBFWFRFTlNJT04gLSBOQVZJR0FUSU9ODQogKiBAdmVyc2lvbjogMS4zLjUgKDA2LjA0LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWpRdWVyeS5mbi5yZXZvbHV0aW9uLGM9Yi5pc19tb2JpbGUoKSxkPXthbGlhczoiTmF2aWdhdGlvbiBNaW4gSlMiLG5hbWU6InJldm9sdXRpb24uZXh0ZW5zaW9ucy5uYXZpZ2F0aW9uLm1pbi5qcyIsbWluX2NvcmU6IjUuNC4wIix2ZXJzaW9uOiIxLjMuNSJ9O2pRdWVyeS5leHRlbmQoITAsYix7aGlkZVVuSGlkZU5hdjpmdW5jdGlvbihhKXt2YXIgYj1hLmMud2lkdGgoKSxjPWEubmF2aWdhdGlvbi5hcnJvd3MsZD1hLm5hdmlnYXRpb24uYnVsbGV0cyxlPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGY9YS5uYXZpZ2F0aW9uLnRhYnM7bShjKSYmeShhLmMuZmluZCgiLnRwYXJyb3dzIiksYy5oaWRlX3VuZGVyLGIsYy5oaWRlX292ZXIpLG0oZCkmJnkoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksZC5oaWRlX3VuZGVyLGIsZC5oaWRlX292ZXIpLG0oZSkmJnkoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxlLmhpZGVfdW5kZXIsYixlLmhpZGVfb3ZlciksbShmKSYmeShhLmMucGFyZW50KCkuZmluZCgiLnRwLXRhYnMiKSxmLmhpZGVfdW5kZXIsYixmLmhpZGVfb3ZlcikseChhKX0scmVzaXplVGh1bWJzVGFiczpmdW5jdGlvbihhLGIpe2lmKGEubmF2aWdhdGlvbiYmYS5uYXZpZ2F0aW9uLnRhYnMuZW5hYmxlfHxhLm5hdmlnYXRpb24mJmEubmF2aWdhdGlvbi50aHVtYm5haWxzLmVuYWJsZSl7dmFyIGM9KGpRdWVyeSh3aW5kb3cpLndpZHRoKCktNDgwKS81MDAsZD1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsZT1hLm5hdmlnYXRpb24udGFicyxnPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGg9YS5uYXZpZ2F0aW9uLmJ1bGxldHM7aWYoZC5wYXVzZSgpLGM9Yz4xPzE6YzwwPzA6YyxtKGUpJiYoYnx8ZS53aWR0aD5lLm1pbl93aWR0aCkmJmYoYyxkLGEuYyxlLGEuc2xpZGVhbW91bnQsInRhYiIpLG0oZykmJihifHxnLndpZHRoPmcubWluX3dpZHRoKSYmZihjLGQsYS5jLGcsYS5zbGlkZWFtb3VudCwidGh1bWIiKSxtKGgpJiZiKXt2YXIgaT1hLmMuZmluZCgiLnRwLWJ1bGxldHMiKTtpLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPWErMSxkPWIub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApLGU9Yi5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApOyJ2ZXJ0aWNhbCI9PT1oLmRpcmVjdGlvbj8oYi5jc3Moe3RvcDooYy0xKSplKyJweCIsbGVmdDoiMHB4In0pLGkuY3NzKHtoZWlnaHQ6KGMtMSkqZStiLm91dGVySGVpZ2h0KCksd2lkdGg6Yi5vdXRlcldpZHRoKCl9KSk6KGIuY3NzKHtsZWZ0OihjLTEpKmQrInB4Iix0b3A6IjBweCJ9KSxpLmNzcyh7d2lkdGg6KGMtMSkqZCtiLm91dGVyV2lkdGgoKSxoZWlnaHQ6Yi5vdXRlckhlaWdodCgpfSkpfSl9ZC5wbGF5KCkseChhKX1yZXR1cm4hMH0sdXBkYXRlTmF2SW5kZXhlczpmdW5jdGlvbihhKXtmdW5jdGlvbiBkKGEpe2MuZmluZChhKS5sZW5naHQ+MCYmYy5maW5kKGEpLmVhY2goZnVuY3Rpb24oYSl7alF1ZXJ5KHRoaXMpLmRhdGEoImxpaW5kZXgiLGEpfSl9dmFyIGM9YS5jO2QoIi50cC10YWIiKSxkKCIudHAtYnVsbGV0IiksZCgiLnRwLXRodW1iIiksYi5yZXNpemVUaHVtYnNUYWJzKGEsITApLGIubWFuYWdlTmF2aWdhdGlvbihhKX0sbWFuYWdlTmF2aWdhdGlvbjpmdW5jdGlvbihhKXt2YXIgYz1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJsZWZ0IiksZD1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJyaWdodCIpO20oYS5uYXZpZ2F0aW9uLmJ1bGxldHMpJiYoImZ1bGxzY3JlZW4iIT1hLnNsaWRlckxheW91dCYmImZ1bGx3aWR0aCIhPWEuc2xpZGVyTGF5b3V0JiYoYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXRfb2xkPXZvaWQgMD09PWEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldDphLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQsYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXQ9ImNlbnRlciI9PT1hLm5hdmlnYXRpb24uYnVsbGV0cy5oX2FsaWduP2EubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLzItZC8yOmEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLWQpLHQoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksYS5uYXZpZ2F0aW9uLmJ1bGxldHMsYSkpLG0oYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMpJiZ0KGEuYy5wYXJlbnQoKS5maW5kKCIudHAtdGh1bWJzIiksYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsYSksbShhLm5hdmlnYXRpb24udGFicykmJnQoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMsYSksbShhLm5hdmlnYXRpb24uYXJyb3dzKSYmKCJmdWxsc2NyZWVuIiE9YS5zbGlkZXJMYXlvdXQmJiJmdWxsd2lkdGgiIT1hLnNsaWRlckxheW91dCYmKGEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ6YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ9InJpZ2h0Ij09PWEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX2FsaWduP2EubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXRfb2xkK2MsYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0PSJyaWdodCI9PT1hLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0LmhfYWxpZ24/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCtjKSx0KGEuYy5maW5kKCIudHAtbGVmdGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0LGEpLHQoYS5jLmZpbmQoIi50cC1yaWdodGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodCxhKSksbShhLm5hdmlnYXRpb24udGh1bWJuYWlscykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxhLm5hdmlnYXRpb24udGh1bWJuYWlscyksbShhLm5hdmlnYXRpb24udGFicykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMpfSxjcmVhdGVOYXZpZ2F0aW9uOmZ1bmN0aW9uKGEsZil7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZCkuY2hlY2spcmV0dXJuITE7dmFyIGc9YS5wYXJlbnQoKSxqPWYubmF2aWdhdGlvbi5hcnJvd3Msbj1mLm5hdmlnYXRpb24uYnVsbGV0cyxyPWYubmF2aWdhdGlvbi50aHVtYm5haWxzLHM9Zi5uYXZpZ2F0aW9uLnRhYnMsdD1tKGopLHY9bShuKSx4PW0ocikseT1tKHMpO2goYSxmKSxpKGEsZiksdCYmcShhLGosZiksZi5saS5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWpRdWVyeShmLmxpW2YubGkubGVuZ3RoLTEtYl0pLGQ9alF1ZXJ5KHRoaXMpO3YmJihmLm5hdmlnYXRpb24uYnVsbGV0cy5ydGw/dShhLG4sYyxmKTp1KGEsbixkLGYpKSx4JiYoZi5uYXZpZ2F0aW9uLnRodW1ibmFpbHMucnRsP3coYSxyLGMsInRwLXRodW1iIixmKTp3KGEscixkLCJ0cC10aHVtYiIsZikpLHkmJihmLm5hdmlnYXRpb24udGFicy5ydGw/dyhhLHMsYywidHAtdGFiIixmKTp3KGEscyxkLCJ0cC10YWIiLGYpKX0pLGEuYmluZCgicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCByZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIixmdW5jdGlvbigpe3ZhciBiPTA9PWEuZmluZCgiLm5leHQtcmV2c2xpZGUiKS5sZW5ndGg/YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTphLmZpbmQoIi5uZXh0LXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTthLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/YS5hZGRDbGFzcygic2VsZWN0ZWQiKTphLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpfSksZy5maW5kKCIudHAtdGh1bWIsIC50cC10YWIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/KGEuYWRkQ2xhc3MoInNlbGVjdGVkIiksYS5oYXNDbGFzcygidHAtdGFiIik/ZShnLmZpbmQoIi50cC10YWJzIikscyk6ZShnLmZpbmQoIi50cC10aHVtYnMiKSxyKSk6YS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX0pO3ZhciBjPTAsZD0hMTtmLnRodW1icyYmalF1ZXJ5LmVhY2goZi50aHVtYnMsZnVuY3Rpb24oYSxlKXtjPSExPT09ZD9hOmMsZD1lLmlkPT09Ynx8YT09PWJ8fGR9KTt2YXIgaD1jPjA/Yy0xOmYuc2xpZGVhbW91bnQtMSxpPWMrMT09Zi5zbGlkZWFtb3VudD8wOmMrMTtpZighMD09PWouZW5hYmxlKXt2YXIgaz1qLnRtcDtpZih2b2lkIDAhPWYudGh1bWJzW2hdJiZqUXVlcnkuZWFjaChmLnRodW1ic1toXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLmxlZnQuai5odG1sKGspLGs9ai50bXAsaT5mLnNsaWRlYW1vdW50KXJldHVybjtqUXVlcnkuZWFjaChmLnRodW1ic1tpXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLnJpZ2h0LmouaHRtbChrKSxqLnJ0bD8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoubGVmdC5qLmZpbmQoIi50cC1hcnItaW1naG9sZGVyIikse2JhY2tncm91bmRJbWFnZToidXJsKCIrZi50aHVtYnNbaV0uc3JjKyIpIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLnJpZ2h0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5sZWZ0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoucmlnaHQuai5maW5kKCIudHAtYXJyLWltZ2hvbGRlciIpLHtiYWNrZ3JvdW5kSW1hZ2U6InVybCgiK2YudGh1bWJzW2ldLnNyYysiKSJ9KSl9fSksbChqKSxsKG4pLGwociksbChzKSxnLm9uKCJtb3VzZWVudGVyIG1vdXNlbW92ZSIsZnVuY3Rpb24oKXtnLmhhc0NsYXNzKCJ0cC1tb3VzZW92ZXIiKXx8KGcuYWRkQ2xhc3MoInRwLW1vdXNlb3ZlciIpLHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxEZWxheWVkQ2FsbHNUbyhwKSx0JiZqLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cGFycm93cyIpLGosInNob3ciKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwic2hvdyIpLHgmJnIuaGlkZV9vbmxlYXZlJiZwKGcuZmluZCgiLnRwLXRodW1icyIpLHIsInNob3ciKSx5JiZzLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC10YWJzIikscywic2hvdyIpLGMmJihnLnJlbW92ZUNsYXNzKCJ0cC1tb3VzZW92ZXIiKSxvKGEsZikpKX0pLGcub24oIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7Zy5yZW1vdmVDbGFzcygidHAtbW91c2VvdmVyIiksbyhhLGYpfSksdCYmai5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHBhcnJvd3MiKSxqLCJoaWRlIiwwKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwiaGlkZSIsMCkseCYmci5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGh1bWJzIiksciwiaGlkZSIsMCkseSYmcy5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGFicyIpLHMsImhpZGUiLDApLHgmJmsoZy5maW5kKCIudHAtdGh1bWJzIiksZikseSYmayhnLmZpbmQoIi50cC10YWJzIiksZiksImNhcm91c2VsIj09PWYuc2xpZGVyVHlwZSYmayhhLGYsITApLCgib24iPT09Zi5uYXZpZ2F0aW9uLnRvdWNoLnRvdWNoT25EZXNrdG9wfHwib24iPT1mLm5hdmlnYXRpb24udG91Y2gudG91Y2hlbmFibGVkJiZjKSYmayhhLGYsInN3aXBlYmFzZWQiKX19KTt2YXIgZT1mdW5jdGlvbihhLGIpe3ZhciBkPShhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKSxhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKT8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siKSxlPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWJzLWlubmVyLXdyYXBwZXIiOiIudHAtdGFicy1pbm5lci13cmFwcGVyIixmPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWIiOiIudHAtdGFiIixnPWEuZmluZChkKSxoPWcuZmluZChlKSxpPWIuZGlyZWN0aW9uLGo9InZlcnRpY2FsIj09PWk/Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK2Iuc3BhY2U6Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkrYi5zcGFjZSxrPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLGw9cGFyc2VJbnQoZy5maW5kKGYrIi5zZWxlY3RlZCIpLmRhdGEoImxpaW5kZXgiKSwwKSxtPWsvaixuPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLG89MC1sKmoscD0idmVydGljYWwiPT09aT9oLmhlaWdodCgpOmgud2lkdGgoKSxxPW88MC0ocC1uKT8wLShwLW4pOnE+MD8wOm8scj1oLmRhdGEoIm9mZnNldCIpO20+MiYmKHE9by0ocitqKTw9MD9vLShyK2opPDAtaj9yOnErajpxLHE9by1qK3IrazxqJiZvKyhNYXRoLnJvdW5kKG0pLTIpKmo8cj9vKyhNYXRoLnJvdW5kKG0pLTIpKmo6cSkscT1xPDAtKHAtbik/MC0ocC1uKTpxPjA/MDpxLCJ2ZXJ0aWNhbCIhPT1pJiZnLndpZHRoKCk+PWgud2lkdGgoKSYmKHE9MCksInZlcnRpY2FsIj09PWkmJmcuaGVpZ2h0KCk+PWguaGVpZ2h0KCkmJihxPTApLGEuaGFzQ2xhc3MoImRyYWdnZWQiKXx8KCJ2ZXJ0aWNhbCI9PT1pP2guZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHt0b3A6cSsicHgiLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpOmguZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHtsZWZ0OnErInB4IixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pKSxoLmRhdGEoIm9mZnNldCIscSkpfSxmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1jLnBhcmVudCgpLmZpbmQoIi50cC0iK2YrInMiKSxoPWcuZmluZCgiLnRwLSIrZisicy1pbm5lci13cmFwcGVyIiksaT1nLmZpbmQoIi50cC0iK2YrIi1tYXNrIiksaj1kLndpZHRoKmE8ZC5taW5fd2lkdGg/ZC5taW5fd2lkdGg6TWF0aC5yb3VuZChkLndpZHRoKmEpLGs9TWF0aC5yb3VuZChqL2Qud2lkdGgqZC5oZWlnaHQpLGw9InZlcnRpY2FsIj09PWQuZGlyZWN0aW9uP2o6aiplK2Quc3BhY2UqKGUtMSksbT0idmVydGljYWwiPT09ZC5kaXJlY3Rpb24/ayplK2Quc3BhY2UqKGUtMSk6ayxuPSJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj97d2lkdGg6aisicHgifTp7aGVpZ2h0OmsrInB4In07Yi5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGcsbikpLGIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt3aWR0aDpsKyJweCIsaGVpZ2h0Om0rInB4In0pKSxiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaSx7d2lkdGg6bCsicHgiLGhlaWdodDptKyJweCJ9KSk7dmFyIG89aC5maW5kKCIudHAtIitmKTtyZXR1cm4gbyYmalF1ZXJ5LmVhY2gobyxmdW5jdGlvbihhLGMpeyJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj9iLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7dG9wOmEqKGsrcGFyc2VJbnQodm9pZCAwPT09ZC5zcGFjZT8wOmQuc3BhY2UsMCkpLHdpZHRoOmorInB4IixoZWlnaHQ6aysicHgifSkpOiJob3Jpem9udGFsIj09PWQuZGlyZWN0aW9uJiZiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7bGVmdDphKihqK3BhcnNlSW50KHZvaWQgMD09PWQuc3BhY2U/MDpkLnNwYWNlLDApKSx3aWR0aDpqKyJweCIsaGVpZ2h0OmsrInB4In0pKX0pLGJ9LGc9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTAsZD0wLGU9MCxmPTEsZz0xLGg9MTtyZXR1cm4iZGV0YWlsImluIGEmJihjPWEuZGV0YWlsKSwid2hlZWxEZWx0YSJpbiBhJiYoYz0tYS53aGVlbERlbHRhLzEyMCksIndoZWVsRGVsdGFZImluIGEmJihjPS1hLndoZWVsRGVsdGFZLzEyMCksIndoZWVsRGVsdGFYImluIGEmJihiPS1hLndoZWVsRGVsdGFYLzEyMCksImF4aXMiaW4gYSYmYS5heGlzPT09YS5IT1JJWk9OVEFMX0FYSVMmJihiPWMsYz0wKSxkPWIqZixlPWMqZiwiZGVsdGFZImluIGEmJihlPWEuZGVsdGFZKSwiZGVsdGFYImluIGEmJihkPWEuZGVsdGFYKSwoZHx8ZSkmJmEuZGVsdGFNb2RlJiYoMT09YS5kZWx0YU1vZGU/KGQqPWcsZSo9Zyk6KGQqPWgsZSo9aCkpLGQmJiFiJiYoYj1kPDE/LTE6MSksZSYmIWMmJihjPWU8MT8tMToxKSxlPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/MTAqZTplLChlPjMwMHx8ZTwtMzAwKSYmKGUvPTEwKSx7c3Bpblg6YixzcGluWTpjLHBpeGVsWDpkLHBpeGVsWTplfX0saD1mdW5jdGlvbihhLGMpeyJvbiI9PT1jLm5hdmlnYXRpb24ua2V5Ym9hcmROYXZpZ2F0aW9uJiZqUXVlcnkoZG9jdW1lbnQpLmtleWRvd24oZnVuY3Rpb24oZCl7KCJob3Jpem9udGFsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmMzk9PWQua2V5Q29kZXx8InZlcnRpY2FsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmNDA9PWQua2V5Q29kZSkmJihjLnNjX2luZGljYXRvcj0iYXJyb3ciLGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLCgiaG9yaXpvbnRhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM3PT1kLmtleUNvZGV8fCJ2ZXJ0aWNhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM4PT1kLmtleUNvZGUpJiYoYy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSl9KX0saT1mdW5jdGlvbihhLGMpe2lmKCJvbiI9PT1jLm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9ufHwiY2Fyb3VzZWwiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsTmF2aWdhdGlvbil7Yy5pc0lFRWxldmVuPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJpZGVudC4qcnZcOjExXC4vKSxjLmlzU2FmYXJpPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvc2FmYXJpL2kpLGMuaXNjaHJvbWU9ISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9jaHJvbWUvaSk7dmFyIGQ9Yy5pc2Nocm9tZT8tNDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPy05Om5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/LTI5Oi00OSxlPWMuaXNjaHJvbWU/NDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPzk6bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbW96aWxsYS9pKT8yOTo0OTthLm9uKCJtb3VzZXdoZWVsIERPTU1vdXNlU2Nyb2xsIixmdW5jdGlvbihmKXt2YXIgaD1nKGYub3JpZ2luYWxFdmVudCksaT1hLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkuYWN0aXZlLXJldnNsaWRlIikuaW5kZXgoKSxqPWEuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaS5wcm9jZXNzaW5nLXJldnNsaWRlIikuaW5kZXgoKSxrPS0xIT1pJiYwPT1pfHwtMSE9aiYmMD09aixsPS0xIT1pJiZpPT1jLnNsaWRlYW1vdW50LTF8fDEhPWomJmo9PWMuc2xpZGVhbW91bnQtMSxtPSEwOyJjYXJvdXNlbCI9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24mJihrPWw9ITEpLC0xPT1qP2gucGl4ZWxZPGQ/KGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSksbHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpKTpoLnBpeGVsWT5lJiYobHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiIT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpLGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIj09PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSkpOm09ITE7dmFyIG49Yy5jLm9mZnNldCgpLnRvcC1qUXVlcnkoImJvZHkiKS5zY3JvbGxUb3AoKSxvPW4rYy5jLmhlaWdodCgpO3JldHVybiJjYXJvdXNlbCIhPWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24/KCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihuPjAmJmgucGl4ZWxZPjB8fG88alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkmJmgucGl4ZWxZPDApJiYobT0hMCksInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKG48MCYmaC5waXhlbFk8MHx8bz5qUXVlcnkod2luZG93KS5oZWlnaHQoKSYmaC5waXhlbFk+MCkmJihtPSEwKSk6bT0hMSwwPT1tPyhmLnByZXZlbnREZWZhdWx0KGYpLCExKTp2b2lkIDB9KX19LGo9ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBhPWM/alF1ZXJ5KGQudGFyZ2V0KS5jbG9zZXN0KCIuIithKS5sZW5ndGh8fGpRdWVyeShkLnNyY0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aDpqUXVlcnkoZC50b0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aHx8alF1ZXJ5KGQub3JpZ2luYWxUYXJnZXQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aCwhMD09PWF8fDE9PT1hPzE6MH0saz1mdW5jdGlvbihhLGQsZSl7dmFyIGY9ZC5jYXJvdXNlbDtqUXVlcnkoIi5idWxsZXQsIC5idWxsZXRzLCAudHAtYnVsbGV0cywgLnRwYXJyb3dzIikuYWRkQ2xhc3MoIm5vU3dpcGUiKSxmLkxpbWl0PSJlbmRsZXNzIjt2YXIgaD0oY3x8Yi5nZXRfYnJvd3NlcigpLGEpLGk9InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50aHVtYm5haWxzLmRpcmVjdGlvbnx8InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50YWJzLmRpcmVjdGlvbj8ibm9uZSI6InZlcnRpY2FsIixrPWQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9kaXJlY3Rpb258fCJob3Jpem9udGFsIjtpPSJzd2lwZWJhc2VkIj09ZSYmInZlcnRpY2FsIj09az8ibm9uZSI6ZT8idmVydGljYWwiOmksalF1ZXJ5LmZuLnN3aXBldHB8fChqUXVlcnkuZm4uc3dpcGV0cD1qUXVlcnkuZm4uc3dpcGUpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzJiZqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0cy5leGNsdWRlZEVsZW1lbnRzfHxqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0c3x8KGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzPW5ldyBPYmplY3QpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzLmV4Y2x1ZGVkRWxlbWVudHM9ImxhYmVsLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCAubm9Td2lwZSIsaC5zd2lwZXRwKHthbGxvd1BhZ2VTY3JvbGw6aSx0cmlnZ2VyT25Ub3VjaExlYXZlOiEwLHRyZXNob2xkOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV90cmVzaG9sZCxmaW5nZXJzOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcyxleGNsdWRlRWxlbWVudHM6alF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMuZXhjbHVkZWRFbGVtZW50cyxzd2lwZVN0YXR1czpmdW5jdGlvbihlLGcsaCxpLGwsbSxuKXt2YXIgbz1qKCJyZXZfc2xpZGVyX3dyYXBwZXIiLGEsZSkscD1qKCJ0cC10aHVtYnMiLGEsZSkscT1qKCJ0cC10YWJzIixhLGUpLHI9alF1ZXJ5KHRoaXMpLmF0dHIoImNsYXNzIikscz0hIXIubWF0Y2goL3RwLXRhYnN8dHAtdGh1bWIvZ2kpO2lmKCJjYXJvdXNlbCI9PT1kLnNsaWRlclR5cGUmJigoIm1vdmUiPT09Z3x8ImVuZCI9PT1nfHwiY2FuY2VsIj09ZykmJmQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyJiYhZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMmJiFkLmRyYWdTdGFydGVkT3ZlclRhYnN8fCJzdGFydCI9PT1nJiZvPjAmJjA9PT1wJiYwPT09cSkpe2lmKGMmJigidXAiPT09aHx8ImRvd24iPT09aCkpcmV0dXJuO3N3aXRjaChkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMCxpPWgmJmgubWF0Y2goL2xlZnR8dXAvZyk/TWF0aC5yb3VuZCgtMSppKTppPU1hdGgucm91bmQoMSppKSxnKXtjYXNlInN0YXJ0Ijp2b2lkIDAhPT1mLnBvc2l0aW9uYW5pbSYmKGYucG9zaXRpb25hbmltLmtpbGwoKSxmLnNsaWRlX2dsb2JhbG9mZnNldD0ib2ZmIj09PWYuaW5maW5pdHk/Zi5zbGlkZV9vZmZzZXQ6Yi5zaW1wKGYuc2xpZGVfb2Zmc2V0LGYubWF4d2lkdGgpKSxmLm92ZXJwdWxsPSJub25lIixmLndyYXAuYWRkQ2xhc3MoImRyYWdnZWQiKTticmVhaztjYXNlIm1vdmUiOmlmKGQuYy5maW5kKCIudHAtd2l0aGFjdGlvbiIpLmFkZENsYXNzKCJ0cC10ZW1wb3JhcnlkaXNhYmxlZCIpLGYuc2xpZGVfb2Zmc2V0PSJvZmYiPT09Zi5pbmZpbml0eT9mLnNsaWRlX2dsb2JhbG9mZnNldCtpOmIuc2ltcChmLnNsaWRlX2dsb2JhbG9mZnNldCtpLGYubWF4d2lkdGgpLCJvZmYiPT09Zi5pbmZpbml0eSl7dmFyIHQ9ImNlbnRlciI9PT1mLmhvcml6b250YWxfYWxpZ24/KGYud3JhcHdpZHRoLzItZi5zbGlkZV93aWR0aC8yLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOigwLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOyJub25lIiE9PWYub3ZlcnB1bGwmJjAhPT1mLm92ZXJwdWxsfHwhKHQ8MHx8dD5kLnNsaWRlYW1vdW50LTEpP3Q+PTAmJnQ8PWQuc2xpZGVhbW91bnQtMSYmKHQ+PTAmJmk+Zi5vdmVycHVsbHx8dDw9ZC5zbGlkZWFtb3VudC0xJiZpPGYub3ZlcnB1bGwpJiYoZi5vdmVycHVsbD0wKTpmLm92ZXJwdWxsPWksZi5zbGlkZV9vZmZzZXQ9dDwwP2Yuc2xpZGVfb2Zmc2V0KyhmLm92ZXJwdWxsLWkpLzEuMStNYXRoLnNxcnQoTWF0aC5hYnMoKGYub3ZlcnB1bGwtaSkvMS4xKSk6dD5kLnNsaWRlYW1vdW50LTE/Zi5zbGlkZV9vZmZzZXQrKGYub3ZlcnB1bGwtaSkvMS4xLU1hdGguc3FydChNYXRoLmFicygoZi5vdmVycHVsbC1pKS8xLjEpKTpmLnNsaWRlX29mZnNldH1iLm9yZ2FuaXNlQ2Fyb3VzZWwoZCxoLCEwLCEwKTticmVhaztjYXNlImVuZCI6Y2FzZSJjYW5jZWwiOmYuc2xpZGVfZ2xvYmFsb2Zmc2V0PWYuc2xpZGVfb2Zmc2V0LGYud3JhcC5yZW1vdmVDbGFzcygiZHJhZ2dlZCIpLGIuY2Fyb3VzZWxUb0V2YWxQb3NpdGlvbihkLGgpLGQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5jLmZpbmQoIi50cC13aXRoYWN0aW9uIikucmVtb3ZlQ2xhc3MoInRwLXRlbXBvcmFyeWRpc2FibGVkIil9LDE5KX19ZWxzZXtpZigoIm1vdmUiIT09ZyYmImVuZCIhPT1nJiYiY2FuY2VsIiE9Z3x8ZC5kcmFnU3RhcnRlZE92ZXJTbGlkZXJ8fCFkLmRyYWdTdGFydGVkT3ZlclRodW1icyYmIWQuZHJhZ1N0YXJ0ZWRPdmVyVGFicykmJiEoInN0YXJ0Ij09PWcmJm8+MCYmKHA+MHx8cT4wKSkpe2lmKCJlbmQiPT1nJiYhcyl7aWYoZC5zY19pbmRpY2F0b3I9ImFycm93IiwiaG9yaXpvbnRhbCI9PWsmJiJsZWZ0Ij09aHx8InZlcnRpY2FsIj09ayYmInVwIj09aClyZXR1cm4gZC5zY19pbmRpY2F0b3JfZGlyPTAsYi5jYWxsaW5nTmV3U2xpZGUoZC5jLDEpLCExO2lmKCJob3Jpem9udGFsIj09ayYmInJpZ2h0Ij09aHx8InZlcnRpY2FsIj09ayYmImRvd24iPT1oKXJldHVybiBkLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShkLmMsLTEpLCExfXJldHVybiBkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITEsITB9cD4wJiYoZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM9ITApLHE+MCYmKGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMCk7dmFyIHU9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMiOiIudHAtdGFicyIsdj1kLmRyYWdTdGFydGVkT3ZlclRodW1icz8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siLHc9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMtaW5uZXItd3JhcHBlciI6Ii50cC10YWJzLWlubmVyLXdyYXBwZXIiLHg9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYiI6Ii50cC10YWIiLHk9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/ZC5uYXZpZ2F0aW9uLnRodW1ibmFpbHM6ZC5uYXZpZ2F0aW9uLnRhYnM7aT1oJiZoLm1hdGNoKC9sZWZ0fHVwL2cpP01hdGgucm91bmQoLTEqaSk6aT1NYXRoLnJvdW5kKDEqaSk7dmFyIHo9YS5wYXJlbnQoKS5maW5kKHYpLEE9ei5maW5kKHcpLEI9eS5kaXJlY3Rpb24sQz0idmVydGljYWwiPT09Qj9BLmhlaWdodCgpOkEud2lkdGgoKSxEPSJ2ZXJ0aWNhbCI9PT1CP3ouaGVpZ2h0KCk6ei53aWR0aCgpLEU9InZlcnRpY2FsIj09PUI/ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK3kuc3BhY2U6ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkreS5zcGFjZSxGPXZvaWQgMD09PUEuZGF0YSgib2Zmc2V0Iik/MDpwYXJzZUludChBLmRhdGEoIm9mZnNldCIpLDApLEc9MDtzd2l0Y2goZyl7Y2FzZSJzdGFydCI6YS5wYXJlbnQoKS5maW5kKHUpLmFkZENsYXNzKCJkcmFnZ2VkIiksRj0idmVydGljYWwiPT09Qj9BLnBvc2l0aW9uKCkudG9wOkEucG9zaXRpb24oKS5sZWZ0LEEuZGF0YSgib2Zmc2V0IixGKSxBLmRhdGEoInRtbW92ZSIpJiZBLmRhdGEoInRtbW92ZSIpLnBhdXNlKCk7YnJlYWs7Y2FzZSJtb3ZlIjppZihDPD1EKXJldHVybiExO0c9RitpLEc9Rz4wPyJob3Jpem9udGFsIj09PUI/Ry1BLndpZHRoKCkqKEcvQS53aWR0aCgpKkcvQS53aWR0aCgpKTpHLUEuaGVpZ2h0KCkqKEcvQS5oZWlnaHQoKSpHL0EuaGVpZ2h0KCkpOkc7dmFyIEg9InZlcnRpY2FsIj09PUI/MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKTowLShBLndpZHRoKCktei53aWR0aCgpKTtHPUc8SD8iaG9yaXpvbnRhbCI9PT1CP0crQS53aWR0aCgpKihHLUgpL0Eud2lkdGgoKSooRy1IKS9BLndpZHRoKCk6RytBLmhlaWdodCgpKihHLUgpL0EuaGVpZ2h0KCkqKEctSCkvQS5oZWlnaHQoKTpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChBLHt0b3A6RysicHgifSk6cHVuY2hncy5Ud2VlbkxpdGUuc2V0KEEse2xlZnQ6RysicHgifSk7YnJlYWs7Y2FzZSJlbmQiOmNhc2UiY2FuY2VsIjppZihzKXJldHVybiBHPUYraSxHPSJ2ZXJ0aWNhbCI9PT1CP0c8MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKT8wLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpOkc6RzwwLShBLndpZHRoKCktei53aWR0aCgpKT8wLShBLndpZHRoKCktei53aWR0aCgpKTpHLEc9Rz4wPzA6RyxHPU1hdGguYWJzKGkpPkUvMTA/aTw9MD9NYXRoLmZsb29yKEcvRSkqRTpNYXRoLmNlaWwoRy9FKSpFOmk8MD9NYXRoLmNlaWwoRy9FKSpFOk1hdGguZmxvb3IoRy9FKSpFLEc9InZlcnRpY2FsIj09PUI/RzwwLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpPzAtKEEuaGVpZ2h0KCktei5oZWlnaHQoKSk6RzpHPDAtKEEud2lkdGgoKS16LndpZHRoKCkpPzAtKEEud2lkdGgoKS16LndpZHRoKCkpOkcsRz1HPjA/MDpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKEEsLjUse3RvcDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oQSwuNSx7bGVmdDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSksRz1HfHwoInZlcnRpY2FsIj09PUI/QS5wb3NpdGlvbigpLnRvcDpBLnBvc2l0aW9uKCkubGVmdCksQS5kYXRhKCJvZmZzZXQiLEcpLEEuZGF0YSgiZGlzdGFuY2UiLGkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITF9LDEwMCksYS5wYXJlbnQoKS5maW5kKHUpLnJlbW92ZUNsYXNzKCJkcmFnZ2VkIiksITF9fX19KX0sbD1mdW5jdGlvbihhKXthLmhpZGVfZGVsYXk9alF1ZXJ5LmlzTnVtZXJpYyhwYXJzZUludChhLmhpZGVfZGVsYXksMCkpP2EuaGlkZV9kZWxheS8xZTM6LjIsYS5oaWRlX2RlbGF5X21vYmlsZT1qUXVlcnkuaXNOdW1lcmljKHBhcnNlSW50KGEuaGlkZV9kZWxheV9tb2JpbGUsMCkpP2EuaGlkZV9kZWxheV9tb2JpbGUvMWUzOi4yfSxtPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLmVuYWJsZX0sbj1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5lbmFibGUmJiEwPT09YS5oaWRlX29ubGVhdmUmJih2b2lkIDA9PT1hLnBvc2l0aW9ufHwhYS5wb3NpdGlvbi5tYXRjaCgvb3V0ZXIvZykpfSxvPWZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wYXJlbnQoKTtuKGIubmF2aWdhdGlvbi5hcnJvd3MpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi5hcnJvd3MuaGlkZV9kZWxheV9tb2JpbGU6Yi5uYXZpZ2F0aW9uLmFycm93cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwYXJyb3dzIiksYi5uYXZpZ2F0aW9uLmFycm93cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi5idWxsZXRzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLWJ1bGxldHMiKSxiLm5hdmlnYXRpb24uYnVsbGV0cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi50aHVtYm5haWxzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLXRodW1icyIpLGIubmF2aWdhdGlvbi50aHVtYm5haWxzLCJoaWRlIl0pLG4oYi5uYXZpZ2F0aW9uLnRhYnMpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXlfbW9iaWxlOmIubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXkscCxbZC5maW5kKCIudHAtdGFicyIpLGIubmF2aWdhdGlvbi50YWJzLCJoaWRlIl0pfSxwPWZ1bmN0aW9uKGEsYixjLGQpe3N3aXRjaChkPXZvaWQgMD09PWQ/LjU6ZCxjKXtjYXNlInNob3ciOnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsZCx7YXV0b0FscGhhOjEsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQsb3ZlcndyaXRlOiJhdXRvIn0pO2JyZWFrO2Nhc2UiaGlkZSI6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxkLHthdXRvQWxwaGE6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91LG92ZXJ3cml0ZToiYXV0byJ9KX19LHE9ZnVuY3Rpb24oYSxiLGMpe2Iuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGIubGVmdC5zdHlsZT12b2lkIDA9PT1iLmxlZnQuc3R5bGU/IiI6Yi5sZWZ0LnN0eWxlLGIucmlnaHQuc3R5bGU9dm9pZCAwPT09Yi5yaWdodC5zdHlsZT8iIjpiLnJpZ2h0LnN0eWxlLDA9PT1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sZWZ0YXJyb3cgdHBhcnJvd3MgJytiLnN0eWxlKyIgIitiLmxlZnQuc3R5bGUrJyI+JytiLnRtcCsiPC9kaXY+IiksMD09PWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1yaWdodGFycm93IHRwYXJyb3dzICcrYi5zdHlsZSsiICIrYi5yaWdodC5zdHlsZSsnIj4nK2IudG1wKyI8L2Rpdj4iKTt2YXIgZD1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKSxlPWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKTtiLnJ0bD8oZC5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxlLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKTooZS5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxkLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKSxiLnJpZ2h0Lmo9YS5maW5kKCIudHAtcmlnaHRhcnJvdy50cGFycm93cyIpLGIubGVmdC5qPWEuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoYy5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGMuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksdChkLGIubGVmdCxjKSx0KGUsYi5yaWdodCxjKSxiLmxlZnQub3B0PWMsYi5yaWdodC5vcHQ9Yywib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChjLm91dGVybmF2PSEwKX0scj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vdXRlckhlaWdodCghMCksZj0oYS5vdXRlcldpZHRoKCEwKSx2b2lkIDA9PWIub3B0PzA6MD09Yy5jb25oP2MuaGVpZ2h0OmMuY29uaCksZz0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImZ1bGxzY3JlZW4iPT1jLnNsaWRlckxheW91dD9jLmhlaWdodC8yLWMuZ3JpZGhlaWdodFtjLmN1cldpblJhbmdlXSpjLmJoLzI6Im9uIj09Yy5hdXRvSGVpZ2h0fHx2b2lkIDAhPWMubWluSGVpZ2h0JiZjLm1pbkhlaWdodD4wP2YvMi1jLmdyaWRoZWlnaHRbYy5jdXJXaW5SYW5nZV0qYy5iaC8yOjA6MCxoPSJ0b3AiPT09Yi52X2FsaWduP3t0b3A6IjBweCIseTpNYXRoLnJvdW5kKGIudl9vZmZzZXQrZykrInB4In06ImNlbnRlciI9PT1iLnZfYWxpZ24/e3RvcDoiNTAlIix5Ok1hdGgucm91bmQoMC1kLzIrYi52X29mZnNldCkrInB4In06e3RvcDoiMTAwJSIseTpNYXRoLnJvdW5kKDAtKGQrYi52X29mZnNldCtnKSkrInB4In07YS5oYXNDbGFzcygib3V0ZXItYm90dG9tIil8fHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGgpfSxzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZT0oYS5vdXRlckhlaWdodCghMCksYS5vdXRlcldpZHRoKCEwKSksZj0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZT8wOmMud2lkdGgvMi1jLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSpjLmJ3LzI6MCxnPSJsZWZ0Ij09PWIuaF9hbGlnbj97bGVmdDoiMHB4Iix4Ok1hdGgucm91bmQoYi5oX29mZnNldCtmKSsicHgifToiY2VudGVyIj09PWIuaF9hbGlnbj97bGVmdDoiNTAlIix4Ok1hdGgucm91bmQoMC1lLzIrYi5oX29mZnNldCkrInB4In06e2xlZnQ6IjEwMCUiLHg6TWF0aC5yb3VuZCgwLShlK2IuaF9vZmZzZXQrZikpKyJweCJ9O3B1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGcpfSx0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIudHAtc2ltcGxlcmVzcG9uc2l2ZSIpOmEuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1tYWludWwiKS5sZW5ndGg+MD9hLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItbWFpbnVsIik6YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIik6YS5wYXJlbnQoKS5maW5kKCIudHAtcmV2c2xpZGVyLW1haW51bCIpLGU9ZC53aWR0aCgpLGY9ZC5oZWlnaHQoKTtpZihyKGEsYixjKSxzKGEsYixjKSwib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9ufHwiZnVsbHdpZHRoIiE9Yi5zbGlkZXJMYXlvdXQmJiJmdWxsc2NyZWVuIiE9Yi5zbGlkZXJMYXlvdXQ/Im91dGVyLXJpZ2h0IiE9PWIucG9zaXRpb258fCJmdWxsd2lkdGgiIT1iLnNsaWRlckxheW91dCYmImZ1bGxzY3JlZW4iIT1iLnNsaWRlckxheW91dHx8cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse3JpZ2h0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pOnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHtsZWZ0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pLGEuaGFzQ2xhc3MoInRwLXRodW1icyIpfHxhLmhhc0NsYXNzKCJ0cC10YWJzIikpe3ZhciBnPWEuZGF0YSgid3JfcGFkZGluZyIpLGg9YS5kYXRhKCJtYXh3IiksaT1hLmRhdGEoIm1heGgiKSxqPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpP2EuZmluZCgiLnRwLXRodW1iLW1hc2siKTphLmZpbmQoIi50cC10YWItbWFzayIpLGs9cGFyc2VJbnQoYi5wYWRkaW5nX3RvcHx8MCwwKSxsPXBhcnNlSW50KGIucGFkZGluZ19ib3R0b218fDAsMCk7aD5lJiYib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9uJiYib3V0ZXItcmlnaHQiIT09Yi5wb3NpdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse2xlZnQ6IjBweCIseDowLG1heFdpZHRoOmUtMipnKyJweCJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaix7bWF4V2lkdGg6ZS0yKmcrInB4In0pKToocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heFdpZHRoOmgrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhXaWR0aDpoKyJweCJ9KSksaSsyKmc+ZiYmIm91dGVyLWJvdHRvbSIhPT1iLnBvc2l0aW9uJiYib3V0ZXItdG9wIiE9PWIucG9zaXRpb24/KHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHt0b3A6IjBweCIseTowLG1heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGose21heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7bWF4SGVpZ2h0OmkrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhIZWlnaHQ6aSsicHgifSkpLCJvdXRlci1sZWZ0IiE9PWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPT1iLnBvc2l0aW9uJiYoaz0wLGw9MCksITA9PT1iLnNwYW4mJiJ2ZXJ0aWNhbCI9PT1iLmRpcmVjdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heEhlaWdodDprK2wrKGYtMipnKSsicHgiLGhlaWdodDprK2wrKGYtMipnKSsicHgiLHRvcDowLWsseTowfSkscihqLGIsYykpOiEwPT09Yi5zcGFuJiYiaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbiYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHttYXhXaWR0aDoiMTAwJSIsd2lkdGg6ZS0yKmcrInB4IixsZWZ0OjAseDowfSkscyhqLGIsYykpfX0sdT1mdW5jdGlvbihhLGIsYyxkKXswPT09YS5maW5kKCIudHAtYnVsbGV0cyIpLmxlbmd0aCYmKGIuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1idWxsZXRzICcrYi5zdHlsZSsiICIrYi5kaXJlY3Rpb24rJyI+PC9kaXY+JykpO3ZhciBlPWEuZmluZCgiLnRwLWJ1bGxldHMiKSxmPWMuZGF0YSgiaW5kZXgiKSxnPWIudG1wO2pRdWVyeS5lYWNoKGQudGh1bWJzW2MuaW5kZXgoKV0ucGFyYW1zLGZ1bmN0aW9uKGEsYil7Zz1nLnJlcGxhY2UoYi5mcm9tLGIudG8pfSksZS5hcHBlbmQoJzxkaXYgY2xhc3M9Imp1c3RhZGRlZGJ1bGxldCB0cC1idWxsZXQiPicrZysiPC9kaXY+Iik7dmFyIGg9YS5maW5kKCIuanVzdGFkZGVkYnVsbGV0IiksaT1hLmZpbmQoIi50cC1idWxsZXQiKS5sZW5ndGgsaj1oLm91dGVyV2lkdGgoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKSxrPWgub3V0ZXJIZWlnaHQoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKTsidmVydGljYWwiPT09Yi5kaXJlY3Rpb24/KGguY3NzKHt0b3A6KGktMSkqaysicHgiLGxlZnQ6IjBweCJ9KSxlLmNzcyh7aGVpZ2h0OihpLTEpKmsraC5vdXRlckhlaWdodCgpLHdpZHRoOmgub3V0ZXJXaWR0aCgpfSkpOihoLmNzcyh7bGVmdDooaS0xKSpqKyJweCIsdG9wOiIwcHgifSksZS5jc3Moe3dpZHRoOihpLTEpKmoraC5vdXRlcldpZHRoKCksaGVpZ2h0Omgub3V0ZXJIZWlnaHQoKX0pKSxoLmZpbmQoIi50cC1idWxsZXQtaW1hZ2UiKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZC50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksaC5kYXRhKCJsaXJlZiIsZiksaC5jbGljayhmdW5jdGlvbigpe2Quc2NfaW5kaWNhdG9yPSJidWxsZXQiLGEucmV2Y2FsbHNsaWRld2l0aGlkKGYpLGEuZmluZCgiLnRwLWJ1bGxldCIpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLGpRdWVyeSh0aGlzKS5hZGRDbGFzcygic2VsZWN0ZWQiKX0pLGgucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZGJ1bGxldCIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoZC5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGQuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksYi5vcHQ9ZCwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChkLm91dGVybmF2PSEwKSxlLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksZS5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLGUuYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChlLGIsZCl9LHc9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icyI6Ii50cC10YWJzIixnPSJ0cC10aHVtYiI9PT1kPyIudHAtdGh1bWItbWFzayI6Ii50cC10YWItbWFzayIsaD0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icy1pbm5lci13cmFwcGVyIjoiLnRwLXRhYnMtaW5uZXItd3JhcHBlciIsaT0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iIjoiLnRwLXRhYiIsaj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iLWltYWdlIjoiLnRwLXRhYi1pbWFnZSI7aWYoYi52aXNpYmxlQW1vdW50PWIudmlzaWJsZUFtb3VudD5lLnNsaWRlYW1vdW50P2Uuc2xpZGVhbW91bnQ6Yi52aXNpYmxlQW1vdW50LGIuc2xpZGVyTGF5b3V0PWUuc2xpZGVyTGF5b3V0LDA9PT1hLnBhcmVudCgpLmZpbmQoZikubGVuZ3RoKXtiLnN0eWxlPXZvaWQgMD09PWIuc3R5bGU/IiI6Yi5zdHlsZTt2YXIgaz0hMD09PWIuc3Bhbj8idHAtc3Bhbi13cmFwcGVyIjoiIixsPSc8ZGl2IGNsYXNzPSInK2QrInMgIitrKyIgIitiLnBvc2l0aW9uKyIgIitiLnN0eWxlKyciPjxkaXYgY2xhc3M9IicrZCsnLW1hc2siPjxkaXYgY2xhc3M9IicrZCsncy1pbm5lci13cmFwcGVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij48L2Rpdj48L2Rpdj48L2Rpdj4nOyJvdXRlci10b3AiPT09Yi5wb3NpdGlvbj9hLnBhcmVudCgpLnByZXBlbmQobCk6Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uP2EuYWZ0ZXIobCk6YS5hcHBlbmQobCksYi5wYWRkaW5nX3RvcD1wYXJzZUludChlLmNhcm91c2VsLnBhZGRpbmdfdG9wfHwwLDApLGIucGFkZGluZ19ib3R0b209cGFyc2VJbnQoZS5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbXx8MCwwKSwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChlLm91dGVybmF2PSEwKX12YXIgbT1jLmRhdGEoImluZGV4Iiksbj1hLnBhcmVudCgpLmZpbmQoZiksbz1uLmZpbmQoZykscD1vLmZpbmQoaCkscT0iaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbj9iLndpZHRoKmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSk6Yi53aWR0aCxyPSJob3Jpem9udGFsIj09PWIuZGlyZWN0aW9uP2IuaGVpZ2h0OmIuaGVpZ2h0KmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSkscz1iLnRtcDtqUXVlcnkuZWFjaChlLnRodW1ic1tjLmluZGV4KCldLnBhcmFtcyxmdW5jdGlvbihhLGIpe3M9cy5yZXBsYWNlKGIuZnJvbSxiLnRvKX0pLHAuYXBwZW5kKCc8ZGl2IGRhdGEtbGlpbmRleD0iJytjLmluZGV4KCkrJyIgZGF0YS1saXJlZj0iJyttKyciIGNsYXNzPSJqdXN0YWRkZWR0aHVtYiAnK2QrJyIgc3R5bGU9IndpZHRoOicrYi53aWR0aCsicHg7aGVpZ2h0OiIrYi5oZWlnaHQrJ3B4OyI+JytzKyI8L2Rpdj4iKTt2YXIgdT1uLmZpbmQoIi5qdXN0YWRkZWR0aHVtYiIpLHY9bi5maW5kKGkpLmxlbmd0aCx3PXUub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApLHg9dS5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApO3UuZmluZChqKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZS50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksInZlcnRpY2FsIj09PWIuZGlyZWN0aW9uPyh1LmNzcyh7dG9wOih2LTEpKngrInB4IixsZWZ0OiIwcHgifSkscC5jc3Moe2hlaWdodDoodi0xKSp4K3Uub3V0ZXJIZWlnaHQoKSx3aWR0aDp1Lm91dGVyV2lkdGgoKX0pKToodS5jc3Moe2xlZnQ6KHYtMSkqdysicHgiLHRvcDoiMHB4In0pLHAuY3NzKHt3aWR0aDoodi0xKSp3K3Uub3V0ZXJXaWR0aCgpLGhlaWdodDp1Lm91dGVySGVpZ2h0KCl9KSksbi5kYXRhKCJtYXh3IixxKSxuLmRhdGEoIm1heGgiLHIpLG4uZGF0YSgid3JfcGFkZGluZyIsYi53cmFwcGVyX3BhZGRpbmcpO3ZhciB5PSJvdXRlci10b3AiPT09Yi5wb3NpdGlvbnx8Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uPyJyZWxhdGl2ZSI6ImFic29sdXRlIjsib3V0ZXItdG9wIiE9PWIucG9zaXRpb24mJiJvdXRlci1ib3R0b20iIT09Yi5wb3NpdGlvbnx8Yi5oX2FsaWduO28uY3NzKHttYXhXaWR0aDpxKyJweCIsbWF4SGVpZ2h0OnIrInB4IixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUifSksbi5jc3Moe21heFdpZHRoOnErInB4IixtYXhIZWlnaHQ6cisicHgiLG92ZXJmbG93OiJ2aXNpYmxlIixwb3NpdGlvbjp5LGJhY2tncm91bmQ6Yi53cmFwcGVyX2NvbG9yLHBhZGRpbmc6Yi53cmFwcGVyX3BhZGRpbmcrInB4Iixib3hTaXppbmc6ImNvbnRldC1ib3gifSksdS5jbGljayhmdW5jdGlvbigpe2Uuc2NfaW5kaWNhdG9yPSJidWxsZXQiO3ZhciBiPWEucGFyZW50KCkuZmluZChoKS5kYXRhKCJkaXN0YW5jZSIpO2I9dm9pZCAwPT09Yj8wOmIsTWF0aC5hYnMoYik8MTAmJihhLnJldmNhbGxzbGlkZXdpdGhpZChtKSxhLnBhcmVudCgpLmZpbmQoZikucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpKX0pLHUucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZHRodW1iIiksYi5vcHQ9ZSxuLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksbi5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLG4uYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChuLGIsZSl9LHg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5jLnBhcmVudCgpLmZpbmQoIi5vdXRlci10b3AiKSxjPWEuYy5wYXJlbnQoKS5maW5kKCIub3V0ZXItYm90dG9tIik7YS50b3Bfb3V0ZXI9Yi5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpiLm91dGVySGVpZ2h0KCl8fDAsYS5ib3R0b21fb3V0ZXI9Yy5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpjLm91dGVySGVpZ2h0KCl8fDB9LHk9ZnVuY3Rpb24oYSxiLGMsZCl7Yj5jfHxjPmQ/YS5hZGRDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik6YS5yZW1vdmVDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIil9fShqUXVlcnkpOw=="}},"time_used":290,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":287,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/bg/bg17.jpg","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.245Z","timestamp":1785123385245,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/bg/bg17.jpg HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"1e5cb-65fd8520-da9437088aaeb031;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 124363\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":124363,"size_decoded":124763,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=6, xresolution=86, yresolution=94, resolutionunit=2, software=Adobe Photoshop CC 2017 Windows, datetime=2018-01-09T01:17:26-18:00], baseline, precision 8, 1920x1080, components 3","md5":"5b3edd99764a910bc62f1f4f6456ebda","sha1":"08898aa0f944a7c31909ca196d0520f95518df33","sha256":"7af51c85a409af7dc41094884cd3796407e433cca90ac4c2e4f920b32cafdce6","sha512":"3c2acebf7d2eccddd1fe999652b89909572530196754c5728a3a36b5235e482c1c9aa9a6b156978f169ac4cd941c461da74131f29395fc879b1a101269b1c4bf","ssdeep":"3072:9sTPL4jpKuIe6K5sYGUvCFRPgwH0tI/c4ec6k75:9sTPL4jp2K5I8CFd9Uu/Ac/75","tlshash":"dcc312cacf0b0f69cc1fc17838fb28913e695029665ac7d16ff9e3d6a5431618eb0658","first_seen":"2023-07-17T13:29:23Z","last_seen":"2026-07-27T14:34:25.234451Z","times_seen":55,"resource_available":false,"data":"/9j/4QDYRXhpZgAASUkqAAgAAAAGABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAADEBAgAgAAAAZgAAADIBAgAaAAAAhgAAAGmHBAABAAAAoAAAAAAAAABIAAAAAQAAAEgAAAABAAAAQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgV2luZG93cwAyMDE4LTAxLTA5VDAxOjE3OjI2LTE4OjAwAAMAAJAHAAQAAAAwMjIwAqAEAAEAAACABwAAA6AEAAEAAAA4BAAAAAAAADgEAAAAAP/sABFEdWNreQABAAQAAAAKAAD/4QPzaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEZBQjgxMkJGNEE4MTFFNzhFNkZFQUE1OUVBQ0U0NEYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEZBQjgxMkFGNEE4MTFFNzhFNkZFQUE1OUVBQ0U0NEYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgV2luZG93cyIgeG1wOkNy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"}},"time_used":298,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":109,"receive":189,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/premium.jpeg","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.249Z","timestamp":1785123385249,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/premium.jpeg HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"2a67b-65fd8520-5dd931302d930d68;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 173691\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":173691,"size_decoded":174091,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1280x720, components 3","md5":"49ef73ed0c29e2729d133c6359e3ac0f","sha1":"5eb20e946ca5bdc78846c515d89270b676ff2c07","sha256":"71e76e30c195fca479162587c4f1596a5c89862d897d2454efdd2b63188dfd6d","sha512":"8005f53179fb2111965ffd12f97441d9d315f2e454c86d6bb4875bc76224dbcb03a25750c7867a81c6c9ecf7519509ce83bf908f242931e7c4c49b824f7d5ec7","ssdeep":"3072:OKLmkW9XM8grpckGTEG7Jt2VBPY8aUM1kR6+VLFEDF4WEKDQ74jNrSXf2:9SNXopcDgG7o8UM1kRNBWF4zKE0tZ","tlshash":"69041269f487f552cff09e77c093ca291044ff62e5db3198d41b8b21f2b0b682c699a1","first_seen":"2026-07-20T01:17:14.327636Z","last_seen":"2026-07-27T04:20:53.403354Z","times_seen":8,"resource_available":false,"data":"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UbjsZvOOo3nWnWbprj+3x8PlbLa42an1jvjk5vy3h1+t77ePTg3ex6pXE9LJgxyw8/OBVklasKQEh5na6xRwcaQhxSWFdBIkOKy6JETqc27DbFvoZd4nsjl43byvQyy9J5qtAtI24C/Nmy66CcOWNddObmkIvT2faeX4W2WkmOJxdFRHScWQ7rr4vsPRPaanC1MmkbECClIBQDQm+Fw9fmc+2V5c66+l9vlW715bze3zme3Qz07vTyS6c92uOvfF0sw0rm/O43ox0tx1zbvFzZzG7pw7HTO7N815vp1S9vXl8xnvy5a7bdYvx26O+dk68Jns644M9djXd7eKW/Jzs487z69PHTmOfYzvpTp5trrvRz3XDryYNeWFzSkC0msKVPfKiNe7HLfrP0vvnzWbweHtt3vzs4TdNr1SZlajWxzMeFyWZV2WLWFRGTHmei6zDm8jNpAnCERpEyscWEYtN2m02ksOz0RjmkoVt+VUc7pEBzg1PT2+ViMuZNacbFaep081LXAdBPR9Hl+VnUiw1wyoRryr0oLM67nO+u7z2Gs8XcwbLUWTVWEACoEEnI5e3hZ7abw31t15detRx085N8rHXv46c3Hp7vbw39/Fe7ee5evv9Pnwrk56Sy1562bvJjdvjuc8s7cnj7OXy9WjXHBrnDEzze2b4W8ym/SXNGdYunHTrVPPp029W/J3+nh5rM+fTVZns0Z3mIsaljb5lfMZljBlaItUqswdecKVtcei3Po/fHjuW93D18TevPOY1svqmTlimqc8U8lc5NY2VLMYDJizPT9Zx83BmorFCIkamMgThjHGitmnG0lH0Crs35vzdyNZWdesnScKNxRplsw215bVtk0SYM2Mnpery+KojF9e16Pp+bk246EMAGMADGqudt7x2RI2FhnV8tG8RlBBIhCm6p3wxlnWzfDq65RZxY3o1MvPvzcdY2a9yN5dXc4/L1dHfnN8CMuOqx26W+OKc7OmK5083y92HHrujVfJ1dc+TnprnPPdvbl4es3z5ufRinOOp0bwg7wcfWa4cizo51esdSiSVOgJKOOudw1zEz6zsOQt1Z6tKPbxxZuLKy31PXPuemfG8enZ4erxPRgqpd70yWc1dnj7nHPwG/PlvICWFRJExEQj2Haee5suaisCIiZCJqkiSLSMM31ztM9fUjNL89xnrrrWyyzTDtnyviqq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"}},"time_used":362,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":334,"receive":28,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/font-awesome.min.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.302Z","timestamp":1785123385302,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/font-awesome.min.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/css/style-main.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"78e5-65fd8520-b12b3201624ffd53;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6607\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":30949,"size_decoded":7047,"mime_type":"text/css","magic":"ASCII text, with very long lines (30786)","md5":"407596fbf790b01c944e361a0bc8f713","sha1":"d1e351676a58e49e4cf7966cb6569860ed0b2ee6","sha256":"8dcea1a70fc0b454b45a8f6e42b29861cdac46dab38571194bfad865b333e3a8","sha512":"21ff7deed22333c1cc4dc92a2a3bfbe55117dfebd6b80d2843828b183adeed3bcf639d1bc76991c6204d39ddf5897706be95366be863ca6ecf5c522618c718ba","ssdeep":"384:nu5yWeTUKW+KlkJ5de2UYDyVfwYUas2l8yQ/8dwmaU8G:Qlr+Klk3Yi+fwYUf2l8yQ/e9vf","tlshash":"89d241e8e54c01d66731c48bff81b36862b6fb3dd5854da9f01f290c29d22a512c5fb9","first_seen":"2025-07-07T00:18:26.159157Z","last_seen":"2026-07-27T12:40:24.607079Z","times_seen":20,"resource_available":false,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovQGZvbnQtZmFjZXtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQzZTZlLmVvdCcpO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnRkNDFkLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQzZTZlLndvZmYnKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250M2U2ZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250M2U2ZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250M2U2ZS5zdmcnKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH0uZmF7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotMTUlfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS1md3t3aWR0aDoxLjI4NTcxNDI5ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLXVse3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0OjIuMTQyODU3MTRlbTtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uZmEtdWw+bGl7cG9zaXRpb246cmVsYXRpdmV9LmZhLWxpe3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTIuMTQyODU3MTRlbTt3aWR0aDoyLjE0Mjg1NzE0ZW07dG9wOi4xNDI4NTcxNGVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS1saS5mYS1sZ3tsZWZ0Oi0xLjg1NzE0Mjg2ZW19LmZhLWJvcmRlcntwYWRkaW5nOi4yZW0gLjI1ZW0gLjE1ZW07Ym9yZGVyOnNvbGlkIC4wOGVtICNlZWU7Ym9yZGVyLXJhZGl1czouMWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS5wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLnB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0uZmEtc3Bpbnstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXJ9LmZhLXB1bHNley13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7YW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCl9QC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fUBrZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhLXJvdGF0ZS05MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZhLXJvdGF0ZS0xODB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MikiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0uZmEtZmxpcC1ob3Jpem9udGFsey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEsIDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoLTEsIDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9LmZhLWZsaXAtdmVydGljYWx7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIjstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7dHJhbnNmb3JtOnNjYWxlKDEsIC0xKX06cm9vdCAuZmEtcm90YXRlLTkwLDpyb290IC5mYS1yb3RhdGUtMTgwLDpyb290IC5mYS1yb3RhdGUtMjcwLDpyb290IC5mYS1mbGlwLWhvcml6b250YWwsOnJvb3QgLmZhLWZsaXAtdmVydGljYWx7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2xpbmUtaGVpZ2h0OjJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZhLXN0YWNrLTF4LC5mYS1zdGFjay0yeHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtc3RhY2stMXh7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtc3RhY2stMnh7Zm9udC1zaXplOjJlbX0uZmEtaW52ZXJzZXtjb2xvcjojZmZmfS5mYS1nbGFzczpiZWZvcmV7Y29udGVudDoiXGYwMDAifS5mYS1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGYwMDEifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtZW52ZWxvcGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMDMifS5mYS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGYwMDQifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXN0YXItbzpiZWZvcmV7Y29udGVudDoiXGYwMDYifS5mYS11c2VyOmJlZm9yZXtjb250ZW50OiJcZjAwNyJ9LmZhLWZpbG06YmVmb3Jle2NvbnRlbnQ6IlxmMDA4In0uZmEtdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDA5In0uZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1yZW1vdmU6YmVmb3JlLC5mYS1jbG9zZTpiZWZvcmUsLmZhLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjAwZCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaC1taW51czpiZWZvcmV7Y29udGVudDoiXGYwMTAifS5mYS1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDExIn0uZmEtc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZjAxMiJ9LmZhLWdlYXI6YmVmb3JlLC5mYS1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMDEzIn0uZmEtdHJhc2gtbzpiZWZvcmV7Y29udGVudDoiXGYwMTQifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWZpbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMTYifS5mYS1jbG9jay1vOmJlZm9yZXtjb250ZW50OiJcZjAxNyJ9LmZhLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE4In0uZmEtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE5In0uZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMWEifS5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmV7Y29udGVudDoiXGYwMWIifS5mYS1pbmJveDpiZWZvcmV7Y29udGVudDoiXGYwMWMifS5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjAxZCJ9LmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsLmZhLXJlcGVhdDpiZWZvcmV7Y29udGVudDoiXGYwMWUifS5mYS1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZjAyMiJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtZmxhZzpiZWZvcmV7Y29udGVudDoiXGYwMjQifS5mYS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjAyNSJ9LmZhLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDI2In0uZmEtdm9sdW1lLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDI3In0uZmEtdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZjAyOCJ9LmZhLXFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYwMjkifS5mYS1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyYSJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDJkIn0uZmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMDJlIn0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzMCJ9LmZhLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMxIn0uZmEtYm9sZDpiZWZvcmV7Y29udGVudDoiXGYwMzIifS5mYS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDMzIn0uZmEtdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM0In0uZmEtdGV4dC13aWR0aDpiZWZvcmV7Y29udGVudDoiXGYwMzUifS5mYS1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjAzNiJ9LmZhLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGYwMzcifS5mYS1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzgifS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZjAzOSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtZGVkZW50OmJlZm9yZSwuZmEtb3V0ZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2IifS5mYS1pbmRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNjIn0uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzZCJ9LmZhLXBob3RvOmJlZm9yZSwuZmEtaW1hZ2U6YmVmb3JlLC5mYS1waWN0dXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcZjA0MCJ9LmZhLW1hcC1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDQxIn0uZmEtYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZjA0MiJ9LmZhLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQzIn0uZmEtZWRpdDpiZWZvcmUsLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDQifS5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDUifS5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDYifS5mYS1hcnJvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ3In0uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNDgifS5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0YSJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDRjIn0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0ZSJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUxIn0uZmEtZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDUyIn0uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA1MyJ9LmZhLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDU0In0uZmEtcGx1cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU1In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLXRpbWVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS1jaGVjay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OSJ9LmZhLWluZm8tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1YSJ9LmZhLWNyb3NzaGFpcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMDViIn0uZmEtdGltZXMtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVjIn0uZmEtY2hlY2stY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVkIn0uZmEtYmFuOmJlZm9yZXtjb250ZW50OiJcZjA1ZSJ9LmZhLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYwIn0uZmEtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYxIn0uZmEtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIn0uZmEtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNjMifS5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLC5mYS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYwNjQifS5mYS1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDY1In0uZmEtY29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDY2In0uZmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwNjcifS5mYS1taW51czpiZWZvcmV7Y29udGVudDoiXGYwNjgifS5mYS1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYwNjkifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGYwNmIifS5mYS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjA2YyJ9LmZhLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZkIn0uZmEtZXllOmJlZm9yZXtjb250ZW50OiJcZjA2ZSJ9LmZhLWV5ZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYwNzAifS5mYS13YXJuaW5nOmJlZm9yZSwuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcyIn0uZmEtY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDczIn0uZmEtcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc1In0uZmEtbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZjA3NiJ9LmZhLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDc3In0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc5In0uZmEtc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGYwN2EifS5mYS1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDdiIn0uZmEtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMDdjIn0uZmEtYXJyb3dzLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMDdkIn0uZmEtYXJyb3dzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMDdlIn0uZmEtYmFyLWNoYXJ0LW86YmVmb3JlLC5mYS1iYXItY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDgwIn0uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgxIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLWNhbWVyYS1yZXRybzpiZWZvcmV7Y29udGVudDoiXGYwODMifS5mYS1rZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDg0In0uZmEtZ2VhcnM6YmVmb3JlLC5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvbW1lbnRzOmJlZm9yZXtjb250ZW50OiJcZjA4NiJ9LmZhLXRodW1icy1vLXVwOmJlZm9yZXtjb250ZW50OiJcZjA4NyJ9LmZhLXRodW1icy1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDg4In0uZmEtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjA4OSJ9LmZhLWhlYXJ0LW86YmVmb3Jle2NvbnRlbnQ6IlxmMDhhIn0uZmEtc2lnbi1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDhiIn0uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4YyJ9LmZhLXRodW1iLXRhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDhkIn0uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmV7Y29udGVudDoiXGYwOGUifS5mYS1zaWduLWluOmJlZm9yZXtjb250ZW50OiJcZjA5MCJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS1naXRodWItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5MiJ9LmZhLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwOTMifS5mYS1sZW1vbi1vOmJlZm9yZXtjb250ZW50OiJcZjA5NCJ9LmZhLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjA5NSJ9LmZhLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA5NiJ9LmZhLWJvb2ttYXJrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk3In0uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5OCJ9LmZhLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDk5In0uZmEtZmFjZWJvb2stZjpiZWZvcmUsLmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS11bmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDljIn0uZmEtY3JlZGl0LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDlkIn0uZmEtZmVlZDpiZWZvcmUsLmZhLXJzczpiZWZvcmV7Y29udGVudDoiXGYwOWUifS5mYS1oZGQtbzpiZWZvcmV7Y29udGVudDoiXGYwYTAifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGYwYTEifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjBmMyJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWhhbmQtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTQifS5mYS1oYW5kLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTUifS5mYS1oYW5kLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGE2In0uZmEtaGFuZC1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGE3In0uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE4In0uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhOSJ9LmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYwYWEifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYWIifS5mYS1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGYwYWMifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZjBiMCJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYwYjEifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWdyb3VwOmJlZm9yZSwuZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtY2hhaW46YmVmb3JlLC5mYS1saW5rOmJlZm9yZXtjb250ZW50OiJcZjBjMSJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjBjMiJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWN1dDpiZWZvcmUsLmZhLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjBjNCJ9LmZhLWNvcHk6YmVmb3JlLC5mYS1maWxlcy1vOmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYwYzYifS5mYS1zYXZlOmJlZm9yZSwuZmEtZmxvcHB5LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGM3In0uZmEtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBjOCJ9LmZhLW5hdmljb246YmVmb3JlLC5mYS1yZW9yZGVyOmJlZm9yZSwuZmEtYmFyczpiZWZvcmV7Y29udGVudDoiXGYwYzkifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZjBjYSJ9LmZhLWxpc3Qtb2w6YmVmb3Jle2NvbnRlbnQ6IlxmMGNiIn0uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmV7Y29udGVudDoiXGYwY2MifS5mYS11bmRlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNkIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNlIn0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQwIn0uZmEtdHJ1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGQxIn0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjBkMiJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQzIn0uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBkNCJ9LmZhLWdvb2dsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjBkNSJ9LmZhLW1vbmV5OmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGQ3In0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwZDkifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwZGEifS5mYS1jb2x1bW5zOmJlZm9yZXtjb250ZW50OiJcZjBkYiJ9LmZhLXVuc29ydGVkOmJlZm9yZSwuZmEtc29ydDpiZWZvcmV7Y29udGVudDoiXGYwZGMifS5mYS1zb3J0LWRvd246YmVmb3JlLC5mYS1zb3J0LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMGRkIn0uZmEtc29ydC11cDpiZWZvcmUsLmZhLXNvcnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjBkZSJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZjBlMCJ9LmZhLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZjBlMSJ9LmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSwuZmEtdW5kbzpiZWZvcmV7Y29udGVudDoiXGYwZTIifS5mYS1sZWdhbDpiZWZvcmUsLmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWRhc2hib2FyZDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGU0In0uZmEtY29tbWVudC1vOmJlZm9yZXtjb250ZW50OiJcZjBlNSJ9LmZhLWNvbW1lbnRzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGU2In0uZmEtZmxhc2g6YmVmb3JlLC5mYS1ib2x0OmJlZm9yZXtjb250ZW50OiJcZjBlNyJ9LmZhLXNpdGVtYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGU4In0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMGU5In0uZmEtcGFzdGU6YmVmb3JlLC5mYS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVhIn0uZmEtbGlnaHRidWxiLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGViIn0uZmEtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGVjIn0uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVkIn0uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjBlZSJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGYwIn0uZmEtc3RldGhvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGYxIn0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGYyIn0uZmEtYmVsbC1vOmJlZm9yZXtjb250ZW50OiJcZjBhMiJ9LmZhLWNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGYwZjQifS5mYS1jdXRsZXJ5OmJlZm9yZXtjb250ZW50OiJcZjBmNSJ9LmZhLWZpbGUtdGV4dC1vOmJlZm9yZXtjb250ZW50OiJcZjBmNiJ9LmZhLWJ1aWxkaW5nLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGY3In0uZmEtaG9zcGl0YWwtbzpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLWZpZ2h0ZXItamV0OmJlZm9yZXtjb250ZW50OiJcZjBmYiJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZlIn0uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAwIn0uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwMSJ9LmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMDIifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtdGFibGV0OmJlZm9yZXtjb250ZW50OiJcZjEwYSJ9LmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsLmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5mYS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMGMifS5mYS1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwZCJ9LmZhLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwZSJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjExMSJ9LmZhLW1haWwtcmVwbHk6YmVmb3JlLC5mYS1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYxMTIifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OiJcZjExMyJ9LmZhLWZvbGRlci1vOmJlZm9yZXtjb250ZW50OiJcZjExNCJ9LmZhLWZvbGRlci1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE1In0uZmEtc21pbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5mYS1mcm93bi1vOmJlZm9yZXtjb250ZW50OiJcZjExOSJ9LmZhLW1laC1vOmJlZm9yZXtjb250ZW50OiJcZjExYSJ9LmZhLWdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFiIn0uZmEta2V5Ym9hcmQtbzpiZWZvcmV7Y29udGVudDoiXGYxMWMifS5mYS1mbGFnLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTFkIn0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uZmEtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIwIn0uZmEtY29kZTpiZWZvcmV7Y29udGVudDoiXGYxMjEifS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsLmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLC5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsLmZhLXN0YXItaGFsZi1vOmJlZm9yZXtjb250ZW50OiJcZjEyMyJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uZmEtY29kZS1mb3JrOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLXVubGluazpiZWZvcmUsLmZhLWNoYWluLWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5mYS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMjgifS5mYS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZjEyOSJ9LmZhLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyYSJ9LmZhLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYiJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9LmZhLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTMwIn0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5mYS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTMyIn0uZmEtY2FsZW5kYXItbzpiZWZvcmV7Y29udGVudDoiXGYxMzMifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDoiXGYxMzQifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM1In0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9LmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM3In0uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4In0uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS11bmxvY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZjEzZSJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTQxIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5mYS1yc3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0MyJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXRpY2tldDpiZWZvcmV7Y29udGVudDoiXGYxNDUifS5mYS1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ2In0uZmEtbWludXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTQ3In0uZmEtbGV2ZWwtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ4In0uZmEtbGV2ZWwtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNDkifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGMifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRkIn0uZmEtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGYxNGUifS5mYS10b2dnbGUtZG93bjpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTUwIn0uZmEtdG9nZ2xlLXVwOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTUxIn0uZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtZXVybzpiZWZvcmUsLmZhLWV1cjpiZWZvcmV7Y29udGVudDoiXGYxNTMifS5mYS1nYnA6YmVmb3Jle2NvbnRlbnQ6IlxmMTU0In0uZmEtZG9sbGFyOmJlZm9yZSwuZmEtdXNkOmJlZm9yZXtjb250ZW50OiJcZjE1NSJ9LmZhLXJ1cGVlOmJlZm9yZSwuZmEtaW5yOmJlZm9yZXtjb250ZW50OiJcZjE1NiJ9LmZhLWNueTpiZWZvcmUsLmZhLXJtYjpiZWZvcmUsLmZhLXllbjpiZWZvcmUsLmZhLWpweTpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS1ydWJsZTpiZWZvcmUsLmZhLXJvdWJsZTpiZWZvcmUsLmZhLXJ1YjpiZWZvcmV7Y29udGVudDoiXGYxNTgifS5mYS13b246YmVmb3JlLC5mYS1rcnc6YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtYml0Y29pbjpiZWZvcmUsLmZhLWJ0YzpiZWZvcmV7Y29udGVudDoiXGYxNWEifS5mYS1maWxlOmJlZm9yZXtjb250ZW50OiJcZjE1YiJ9LmZhLWZpbGUtdGV4dDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNWQifS5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTVlIn0uZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MCJ9LmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTYxIn0uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNjMifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTY1In0uZmEteW91dHViZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY2In0uZmEteW91dHViZTpiZWZvcmV7Y29udGVudDoiXGYxNjcifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXlvdXR1YmUtcGxheTpiZWZvcmV7Y29udGVudDoiXGYxNmEifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjE2YiJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYxNmQifS5mYS1mbGlja3I6YmVmb3Jle2NvbnRlbnQ6IlxmMTZlIn0uZmEtYWRuOmJlZm9yZXtjb250ZW50OiJcZjE3MCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGYxNzEifS5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3MiJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNzUifS5mYS1sb25nLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjE3NiJ9LmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxNzcifS5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjE3OCJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjE3OSJ9LmZhLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTdhIn0uZmEtYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGYxN2IifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDoiXGYxN2MifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYxN2QifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGYxN2UifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLXRyZWxsbzpiZWZvcmV7Y29udGVudDoiXGYxODEifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgyIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1naXR0aXA6YmVmb3JlLC5mYS1ncmF0aXBheTpiZWZvcmV7Y29udGVudDoiXGYxODQifS5mYS1zdW4tbzpiZWZvcmV7Y29udGVudDoiXGYxODUifS5mYS1tb29uLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTg2In0uZmEtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxODcifS5mYS1idWc6YmVmb3Jle2NvbnRlbnQ6IlxmMTg4In0uZmEtdms6YmVmb3Jle2NvbnRlbnQ6IlxmMTg5In0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtcmVucmVuOmJlZm9yZXtjb250ZW50OiJcZjE4YiJ9LmZhLXBhZ2VsaW5lczpiZWZvcmV7Y29udGVudDoiXGYxOGMifS5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYxOGQifS5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxOGUifS5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MCJ9LmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxOTEifS5mYS1kb3QtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTkyIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS12aW1lby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk0In0uZmEtdHVya2lzaC1saXJhOmJlZm9yZSwuZmEtdHJ5OmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLXBsdXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTk2In0uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmV7Y29udGVudDoiXGYxOTcifS5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjE5YSJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1pbnN0aXR1dGlvbjpiZWZvcmUsLmZhLWJhbms6YmVmb3JlLC5mYS11bml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZjE5YyJ9LmZhLW1vcnRhci1ib2FyZDpiZWZvcmUsLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZjE5ZSJ9LmZhLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGYxYTAifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYTIifS5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEzIn0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OiJcZjFhNSJ9LmZhLWRpZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMWE2In0uZmEtcGllZC1waXBlci1wcDpiZWZvcmV7Y29udGVudDoiXGYxYTcifS5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxYTgifS5mYS1kcnVwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWE5In0uZmEtam9vbWxhOmJlZm9yZXtjb250ZW50OiJcZjFhYSJ9LmZhLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjFhYiJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGYxYWQifS5mYS1jaGlsZDpiZWZvcmV7Y29udGVudDoiXGYxYWUifS5mYS1wYXc6YmVmb3Jle2NvbnRlbnQ6IlxmMWIwIn0uZmEtc3Bvb246YmVmb3Jle2NvbnRlbnQ6IlxmMWIxIn0uZmEtY3ViZTpiZWZvcmV7Y29udGVudDoiXGYxYjIifS5mYS1jdWJlczpiZWZvcmV7Y29udGVudDoiXGYxYjMifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLXN0ZWFtOmJlZm9yZXtjb250ZW50OiJcZjFiNiJ9LmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjcifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLWF1dG9tb2JpbGU6YmVmb3JlLC5mYS1jYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWI5In0uZmEtY2FiOmJlZm9yZSwuZmEtdGF4aTpiZWZvcmV7Y29udGVudDoiXGYxYmEifS5mYS10cmVlOmJlZm9yZXtjb250ZW50OiJcZjFiYiJ9LmZhLXNwb3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWJjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjFiZSJ9LmZhLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OiJcZjFjMCJ9LmZhLWZpbGUtcGRmLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMxIn0uZmEtZmlsZS13b3JkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsZS1leGNlbC1vOmJlZm9yZXtjb250ZW50OiJcZjFjMyJ9LmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZXtjb250ZW50OiJcZjFjNCJ9LmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSwuZmEtZmlsZS1pbWFnZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWZpbGUtemlwLW86YmVmb3JlLC5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmV7Y29udGVudDoiXGYxYzYifS5mYS1maWxlLXNvdW5kLW86YmVmb3JlLC5mYS1maWxlLWF1ZGlvLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM3In0uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSwuZmEtZmlsZS12aWRlby1vOmJlZm9yZXtjb250ZW50OiJcZjFjOCJ9LmZhLWZpbGUtY29kZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjOSJ9LmZhLXZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNhIn0uZmEtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGYxY2IifS5mYS1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDoiXGYxY2MifS5mYS1saWZlLWJvdXk6YmVmb3JlLC5mYS1saWZlLWJ1b3k6YmVmb3JlLC5mYS1saWZlLXNhdmVyOmJlZm9yZSwuZmEtc3VwcG9ydDpiZWZvcmUsLmZhLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDoiXGYxY2QifS5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmV7Y29udGVudDoiXGYxY2UifS5mYS1yYTpiZWZvcmUsLmZhLXJlc2lzdGFuY2U6YmVmb3JlLC5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDoiXGYxZDAifS5mYS1nZTpiZWZvcmUsLmZhLWVtcGlyZTpiZWZvcmV7Y29udGVudDoiXGYxZDEifS5mYS1naXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMiJ9LmZhLWdpdDpiZWZvcmV7Y29udGVudDoiXGYxZDMifS5mYS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSwuZmEteWMtc3F1YXJlOmJlZm9yZSwuZmEtaGFja2VyLW5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ0In0uZmEtdGVuY2VudC13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxZDUifS5mYS1xcTpiZWZvcmV7Y29udGVudDoiXGYxZDYifS5mYS13ZWNoYXQ6YmVmb3JlLC5mYS13ZWl4aW46YmVmb3Jle2NvbnRlbnQ6IlxmMWQ3In0uZmEtc2VuZDpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjFkOCJ9LmZhLXNlbmQtbzpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWQ5In0uZmEtaGlzdG9yeTpiZWZvcmV7Y29udGVudDoiXGYxZGEifS5mYS1jaXJjbGUtdGhpbjpiZWZvcmV7Y29udGVudDoiXGYxZGIifS5mYS1oZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWRjIn0uZmEtcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZjFkZCJ9LmZhLXNsaWRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWRlIn0uZmEtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjFlMCJ9LmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWUxIn0uZmEtYm9tYjpiZWZvcmV7Y29udGVudDoiXGYxZTIifS5mYS1zb2NjZXItYmFsbC1vOmJlZm9yZSwuZmEtZnV0Ym9sLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWUzIn0uZmEtdHR5OmJlZm9yZXtjb250ZW50OiJcZjFlNCJ9LmZhLWJpbm9jdWxhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWU1In0uZmEtcGx1ZzpiZWZvcmV7Y29udGVudDoiXGYxZTYifS5mYS1zbGlkZXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjFlNyJ9LmZhLXR3aXRjaDpiZWZvcmV7Y29udGVudDoiXGYxZTgifS5mYS15ZWxwOmJlZm9yZXtjb250ZW50OiJcZjFlOSJ9LmZhLW5ld3NwYXBlci1vOmJlZm9yZXtjb250ZW50OiJcZjFlYSJ9LmZhLXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxmMWViIn0uZmEtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYxZWMifS5mYS1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWVkIn0uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmV7Y29udGVudDoiXGYxZWUifS5mYS1jYy12aXNhOmJlZm9yZXtjb250ZW50OiJcZjFmMCJ9LmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWYxIn0uZmEtY2MtZGlzY292ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWYyIn0uZmEtY2MtYW1leDpiZWZvcmV7Y29udGVudDoiXGYxZjMifS5mYS1jYy1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWY0In0uZmEtY2Mtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZjFmNSJ9LmZhLWJlbGwtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY2In0uZmEtYmVsbC1zbGFzaC1vOmJlZm9yZXtjb250ZW50OiJcZjFmNyJ9LmZhLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmOCJ9LmZhLWNvcHlyaWdodDpiZWZvcmV7Y29udGVudDoiXGYxZjkifS5mYS1hdDpiZWZvcmV7Y29udGVudDoiXGYxZmEifS5mYS1leWVkcm9wcGVyOmJlZm9yZXtjb250ZW50OiJcZjFmYiJ9LmZhLXBhaW50LWJydXNoOmJlZm9yZXtjb250ZW50OiJcZjFmYyJ9LmZhLWJpcnRoZGF5LWNha2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWZkIn0uZmEtYXJlYS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYxZmUifS5mYS1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjAwIn0uZmEtbGluZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYyMDEifS5mYS1sYXN0Zm06YmVmb3Jle2NvbnRlbnQ6IlxmMjAyIn0uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyMDMifS5mYS10b2dnbGUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjIwNCJ9LmZhLXRvZ2dsZS1vbjpiZWZvcmV7Y29udGVudDoiXGYyMDUifS5mYS1iaWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjIwNiJ9LmZhLWJ1czpiZWZvcmV7Y29udGVudDoiXGYyMDcifS5mYS1pb3hob3N0OmJlZm9yZXtjb250ZW50OiJcZjIwOCJ9LmZhLWFuZ2VsbGlzdDpiZWZvcmV7Y29udGVudDoiXGYyMDkifS5mYS1jYzpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5mYS1zaGVrZWw6YmVmb3JlLC5mYS1zaGVxZWw6YmVmb3JlLC5mYS1pbHM6YmVmb3Jle2NvbnRlbnQ6IlxmMjBiIn0uZmEtbWVhbnBhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjBjIn0uZmEtYnV5c2VsbGFkczpiZWZvcmV7Y29udGVudDoiXGYyMGQifS5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmV7Y29udGVudDoiXGYyMGUifS5mYS1kYXNoY3ViZTpiZWZvcmV7Y29udGVudDoiXGYyMTAifS5mYS1mb3J1bWJlZTpiZWZvcmV7Y29udGVudDoiXGYyMTEifS5mYS1sZWFucHViOmJlZm9yZXtjb250ZW50OiJcZjIxMiJ9LmZhLXNlbGxzeTpiZWZvcmV7Y29udGVudDoiXGYyMTMifS5mYS1zaGlydHNpbmJ1bGs6YmVmb3Jle2NvbnRlbnQ6IlxmMjE0In0uZmEtc2ltcGx5YnVpbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE1In0uZmEtc2t5YXRsYXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE2In0uZmEtY2FydC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIxNyJ9LmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYyMTgifS5mYS1kaWFtb25kOmJlZm9yZXtjb250ZW50OiJcZjIxOSJ9LmZhLXNoaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjFhIn0uZmEtdXNlci1zZWNyZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFiIn0uZmEtbW90b3JjeWNsZTpiZWZvcmV7Y29udGVudDoiXGYyMWMifS5mYS1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDoiXGYyMWQifS5mYS1oZWFydGJlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFlIn0uZmEtdmVudXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjIxIn0uZmEtbWFyczpiZWZvcmV7Y29udGVudDoiXGYyMjIifS5mYS1tZXJjdXJ5OmJlZm9yZXtjb250ZW50OiJcZjIyMyJ9LmZhLWludGVyc2V4OmJlZm9yZSwuZmEtdHJhbnNnZW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjI0In0uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjIyNSJ9LmZhLXZlbnVzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjYifS5mYS1tYXJzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjcifS5mYS12ZW51cy1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyOCJ9LmZhLW1hcnMtc3Ryb2tlOmJlZm9yZXtjb250ZW50OiJcZjIyOSJ9LmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMjJhIn0uZmEtbWFycy1zdHJva2UtaDpiZWZvcmV7Y29udGVudDoiXGYyMmIifS5mYS1uZXV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjJjIn0uZmEtZ2VuZGVybGVzczpiZWZvcmV7Y29udGVudDoiXGYyMmQifS5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDoiXGYyMzAifS5mYS1waW50ZXJlc3QtcDpiZWZvcmV7Y29udGVudDoiXGYyMzEifS5mYS13aGF0c2FwcDpiZWZvcmV7Y29udGVudDoiXGYyMzIifS5mYS1zZXJ2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjMzIn0uZmEtdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIzNCJ9LmZhLXVzZXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM1In0uZmEtaG90ZWw6YmVmb3JlLC5mYS1iZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjM2In0uZmEtdmlhY29pbjpiZWZvcmV7Y29udGVudDoiXGYyMzcifS5mYS10cmFpbjpiZWZvcmV7Y29udGVudDoiXGYyMzgifS5mYS1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6IlxmMjM5In0uZmEtbWVkaXVtOmJlZm9yZXtjb250ZW50OiJcZjIzYSJ9LmZhLXljOmJlZm9yZSwuZmEteS1jb21iaW5hdG9yOmJlZm9yZXtjb250ZW50OiJcZjIzYiJ9LmZhLW9wdGluLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjNjIn0uZmEtb3BlbmNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjNkIn0uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZXtjb250ZW50OiJcZjIzZSJ9LmZhLWJhdHRlcnktNDpiZWZvcmUsLmZhLWJhdHRlcnk6YmVmb3JlLC5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMjQwIn0uZmEtYmF0dGVyeS0zOmJlZm9yZSwuZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyNDEifS5mYS1iYXR0ZXJ5LTI6YmVmb3JlLC5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMjQyIn0uZmEtYmF0dGVyeS0xOmJlZm9yZSwuZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZjI0MyJ9LmZhLWJhdHRlcnktMDpiZWZvcmUsLmZhLWJhdHRlcnktZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ0In0uZmEtbW91c2UtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDUifS5mYS1pLWN1cnNvcjpiZWZvcmV7Y29udGVudDoiXGYyNDYifS5mYS1vYmplY3QtZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ3In0uZmEtb2JqZWN0LXVuZ3JvdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ4In0uZmEtc3RpY2t5LW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ5In0uZmEtc3RpY2t5LW5vdGUtbzpiZWZvcmV7Y29udGVudDoiXGYyNGEifS5mYS1jYy1qY2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjRiIn0uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjRjIn0uZmEtY2xvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRkIn0uZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmV7Y29udGVudDoiXGYyNGUifS5mYS1ob3VyZ2xhc3MtbzpiZWZvcmV7Y29udGVudDoiXGYyNTAifS5mYS1ob3VyZ2xhc3MtMTpiZWZvcmUsLmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmV7Y29udGVudDoiXGYyNTEifS5mYS1ob3VyZ2xhc3MtMjpiZWZvcmUsLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI1MiJ9LmZhLWhvdXJnbGFzcy0zOmJlZm9yZSwuZmEtaG91cmdsYXNzLWVuZDpiZWZvcmV7Y29udGVudDoiXGYyNTMifS5mYS1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjU0In0uZmEtaGFuZC1ncmFiLW86YmVmb3JlLC5mYS1oYW5kLXJvY2stbzpiZWZvcmV7Y29udGVudDoiXGYyNTUifS5mYS1oYW5kLXN0b3AtbzpiZWZvcmUsLmZhLWhhbmQtcGFwZXItbzpiZWZvcmV7Y29udGVudDoiXGYyNTYifS5mYS1oYW5kLXNjaXNzb3JzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU3In0uZmEtaGFuZC1saXphcmQtbzpiZWZvcmV7Y29udGVudDoiXGYyNTgifS5mYS1oYW5kLXNwb2NrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU5In0uZmEtaGFuZC1wb2ludGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjVhIn0uZmEtaGFuZC1wZWFjZS1vOmJlZm9yZXtjb250ZW50OiJcZjI1YiJ9LmZhLXRyYWRlbWFyazpiZWZvcmV7Y29udGVudDoiXGYyNWMifS5mYS1yZWdpc3RlcmVkOmJlZm9yZXtjb250ZW50OiJcZjI1ZCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjVlIn0uZmEtZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMjYwIn0uZmEtZ2ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI2MSJ9LmZhLXRyaXBhZHZpc29yOmJlZm9yZXtjb250ZW50OiJcZjI2MiJ9LmZhLW9kbm9rbGFzc25pa2k6YmVmb3Jle2NvbnRlbnQ6IlxmMjYzIn0uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjY0In0uZmEtZ2V0LXBvY2tldDpiZWZvcmV7Y29udGVudDoiXGYyNjUifS5mYS13aWtpcGVkaWEtdzpiZWZvcmV7Y29udGVudDoiXGYyNjYifS5mYS1zYWZhcmk6YmVmb3Jle2NvbnRlbnQ6IlxmMjY3In0uZmEtY2hyb21lOmJlZm9yZXtjb250ZW50OiJcZjI2OCJ9LmZhLWZpcmVmb3g6YmVmb3Jle2NvbnRlbnQ6IlxmMjY5In0uZmEtb3BlcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMjZhIn0uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjZiIn0uZmEtdHY6YmVmb3JlLC5mYS10ZWxldmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZjI2YyJ9LmZhLWNvbnRhbzpiZWZvcmV7Y29udGVudDoiXGYyNmQifS5mYS01MDBweDpiZWZvcmV7Y29udGVudDoiXGYyNmUifS5mYS1hbWF6b246YmVmb3Jle2NvbnRlbnQ6IlxmMjcwIn0uZmEtY2FsZW5kYXItcGx1cy1vOmJlZm9yZXtjb250ZW50OiJcZjI3MSJ9LmZhLWNhbGVuZGFyLW1pbnVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjcyIn0uZmEtY2FsZW5kYXItdGltZXMtbzpiZWZvcmV7Y29udGVudDoiXGYyNzMifS5mYS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZXtjb250ZW50OiJcZjI3NCJ9LmZhLWluZHVzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjI3NSJ9LmZhLW1hcC1waW46YmVmb3Jle2NvbnRlbnQ6IlxmMjc2In0uZmEtbWFwLXNpZ25zOmJlZm9yZXtjb250ZW50OiJcZjI3NyJ9LmZhLW1hcC1vOmJlZm9yZXtjb250ZW50OiJcZjI3OCJ9LmZhLW1hcDpiZWZvcmV7Y29udGVudDoiXGYyNzkifS5mYS1jb21tZW50aW5nOmJlZm9yZXtjb250ZW50OiJcZjI3YSJ9LmZhLWNvbW1lbnRpbmctbzpiZWZvcmV7Y29udGVudDoiXGYyN2IifS5mYS1ob3V6ejpiZWZvcmV7Y29udGVudDoiXGYyN2MifS5mYS12aW1lbzpiZWZvcmV7Y29udGVudDoiXGYyN2QifS5mYS1ibGFjay10aWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjdlIn0uZmEtZm9udGljb25zOmJlZm9yZXtjb250ZW50OiJcZjI4MCJ9LmZhLXJlZGRpdC1hbGllbjpiZWZvcmV7Y29udGVudDoiXGYyODEifS5mYS1lZGdlOmJlZm9yZXtjb250ZW50OiJcZjI4MiJ9LmZhLWNyZWRpdC1jYXJkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyODMifS5mYS1jb2RpZXBpZTpiZWZvcmV7Y29udGVudDoiXGYyODQifS5mYS1tb2R4OmJlZm9yZXtjb250ZW50OiJcZjI4NSJ9LmZhLWZvcnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyODYifS5mYS11c2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjg3In0uZmEtcHJvZHVjdC1odW50OmJlZm9yZXtjb250ZW50OiJcZjI4OCJ9LmZhLW1peGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjI4OSJ9LmZhLXNjcmliZDpiZWZvcmV7Y29udGVudDoiXGYyOGEifS5mYS1wYXVzZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhiIn0uZmEtcGF1c2UtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjhjIn0uZmEtc3RvcC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhkIn0uZmEtc3RvcC1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOGUifS5mYS1zaG9wcGluZy1iYWc6YmVmb3Jle2NvbnRlbnQ6IlxmMjkwIn0uZmEtc2hvcHBpbmctYmFza2V0OmJlZm9yZXtjb250ZW50OiJcZjI5MSJ9LmZhLWhhc2h0YWc6YmVmb3Jle2NvbnRlbnQ6IlxmMjkyIn0uZmEtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZjI5MyJ9LmZhLWJsdWV0b290aC1iOmJlZm9yZXtjb250ZW50OiJcZjI5NCJ9LmZhLXBlcmNlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjk1In0uZmEtZ2l0bGFiOmJlZm9yZXtjb250ZW50OiJcZjI5NiJ9LmZhLXdwYmVnaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk3In0uZmEtd3Bmb3JtczpiZWZvcmV7Y29udGVudDoiXGYyOTgifS5mYS1lbnZpcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMjk5In0uZmEtdW5pdmVyc2FsLWFjY2VzczpiZWZvcmV7Y29udGVudDoiXGYyOWEifS5mYS13aGVlbGNoYWlyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyOWIifS5mYS1xdWVzdGlvbi1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOWMifS5mYS1ibGluZDpiZWZvcmV7Y29udGVudDoiXGYyOWQifS5mYS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDoiXGYyOWUifS5mYS12b2x1bWUtY29udHJvbC1waG9uZTpiZWZvcmV7Y29udGVudDoiXGYyYTAifS5mYS1icmFpbGxlOmJlZm9yZXtjb250ZW50OiJcZjJhMSJ9LmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmV7Y29udGVudDoiXGYyYTIifS5mYS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSwuZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMmEzIn0uZmEtZGVhZm5lc3M6YmVmb3JlLC5mYS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLC5mYS1kZWFmOmJlZm9yZXtjb250ZW50OiJcZjJhNCJ9LmZhLWdsaWRlOmJlZm9yZXtjb250ZW50OiJcZjJhNSJ9LmZhLWdsaWRlLWc6YmVmb3Jle2NvbnRlbnQ6IlxmMmE2In0uZmEtc2lnbmluZzpiZWZvcmUsLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmE3In0uZmEtbG93LXZpc2lvbjpiZWZvcmV7Y29udGVudDoiXGYyYTgifS5mYS12aWFkZW86YmVmb3Jle2NvbnRlbnQ6IlxmMmE5In0uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyYWEifS5mYS1zbmFwY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyYWIifS5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmV7Y29udGVudDoiXGYyYWMifS5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFkIn0uZmEtcGllZC1waXBlcjpiZWZvcmV7Y29udGVudDoiXGYyYWUifS5mYS1maXJzdC1vcmRlcjpiZWZvcmV7Y29udGVudDoiXGYyYjAifS5mYS15b2FzdDpiZWZvcmV7Y29udGVudDoiXGYyYjEifS5mYS10aGVtZWlzbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmIyIn0uZmEtZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSwuZmEtZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMmIzIn0uZmEtZmE6YmVmb3JlLC5mYS1mb250LWF3ZXNvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI0In0uZmEtaGFuZHNoYWtlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmI1In0uZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmV7Y29udGVudDoiXGYyYjYifS5mYS1lbnZlbG9wZS1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmI3In0uZmEtbGlub2RlOmJlZm9yZXtjb250ZW50OiJcZjJiOCJ9LmZhLWFkZHJlc3MtYm9vazpiZWZvcmV7Y29udGVudDoiXGYyYjkifS5mYS1hZGRyZXNzLWJvb2stbzpiZWZvcmV7Y29udGVudDoiXGYyYmEifS5mYS12Y2FyZDpiZWZvcmUsLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYmIifS5mYS12Y2FyZC1vOmJlZm9yZSwuZmEtYWRkcmVzcy1jYXJkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmJjIn0uZmEtdXNlci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmJkIn0uZmEtdXNlci1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyYmUifS5mYS11c2VyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmMwIn0uZmEtaWQtYmFkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmMxIn0uZmEtZHJpdmVycy1saWNlbnNlOmJlZm9yZSwuZmEtaWQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYzIifS5mYS1kcml2ZXJzLWxpY2Vuc2UtbzpiZWZvcmUsLmZhLWlkLWNhcmQtbzpiZWZvcmV7Y29udGVudDoiXGYyYzMifS5mYS1xdW9yYTpiZWZvcmV7Y29udGVudDoiXGYyYzQifS5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyYzUifS5mYS10ZWxlZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYyYzYifS5mYS10aGVybW9tZXRlci00OmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXI6YmVmb3JlLC5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjJjNyJ9LmZhLXRoZXJtb21ldGVyLTM6YmVmb3JlLC5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyYzgifS5mYS10aGVybW9tZXRlci0yOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyYzkifS5mYS10aGVybW9tZXRlci0xOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyY2EifS5mYS10aGVybW9tZXRlci0wOmJlZm9yZSwuZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMmNiIn0uZmEtc2hvd2VyOmJlZm9yZXtjb250ZW50OiJcZjJjYyJ9LmZhLWJhdGh0dWI6YmVmb3JlLC5mYS1zMTU6YmVmb3JlLC5mYS1iYXRoOmJlZm9yZXtjb250ZW50OiJcZjJjZCJ9LmZhLXBvZGNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmNlIn0uZmEtd2luZG93LW1heGltaXplOmJlZm9yZXtjb250ZW50OiJcZjJkMCJ9LmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmV7Y29udGVudDoiXGYyZDEifS5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmV7Y29udGVudDoiXGYyZDIifS5mYS10aW1lcy1yZWN0YW5nbGU6YmVmb3JlLC5mYS13aW5kb3ctY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmQzIn0uZmEtdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlLC5mYS13aW5kb3ctY2xvc2UtbzpiZWZvcmV7Y29udGVudDoiXGYyZDQifS5mYS1iYW5kY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyZDUifS5mYS1ncmF2OmJlZm9yZXtjb250ZW50OiJcZjJkNiJ9LmZhLWV0c3k6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ3In0uZmEtaW1kYjpiZWZvcmV7Y29udGVudDoiXGYyZDgifS5mYS1yYXZlbHJ5OmJlZm9yZXtjb250ZW50OiJcZjJkOSJ9LmZhLWVlcmNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmRhIn0uZmEtbWljcm9jaGlwOmJlZm9yZXtjb250ZW50OiJcZjJkYiJ9LmZhLXNub3dmbGFrZS1vOmJlZm9yZXtjb250ZW50OiJcZjJkYyJ9LmZhLXN1cGVycG93ZXJzOmJlZm9yZXtjb250ZW50OiJcZjJkZCJ9LmZhLXdwZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmRlIn0uZmEtbWVldHVwOmJlZm9yZXtjb250ZW50OiJcZjJlMCJ9LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjB9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG99Cg=="}},"time_used":354,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":100,"receive":254,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-player.css","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.013Z","timestamp":1785123386013,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/www-player.css HTTP/1.1\r\nHost: www.youtube.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/1jE4zHXbNUM\r\nCookie: __Secure-YNID=20.YT=ACUFOM3MDkNlMvNE5tDAPRZqHyc8HUq6iYvUgEF1js7uVm3Y31bhiIf3sVy4Hyrvgc1OCcHOSp3vsPk12xuHnAhC1Cf-xEwH-8JAvj7gSksWox0nkC6On-8HrUpiNpbDsON7P2d2WEPcvLJM09w4iFsjyc_8T-qrQ0o1v2sJWKWT_Z3Uow-3_y6UiAY8Vbe7BIDaKFErBOC2kWOBSpXwq3nYab8hNVEUPvsfWuKC-MRJZnr7wGh8LavkHs5oAOt2osUNkzgjw-nnLgGDpE17OFrXWJtGeCijcF2DuDXuyJlEZANCnD74xKNqRr8pDJRMH9psiz0sP7MpCDXOwn8F6w; YSC=b0pYTBtcjuk; __Secure-ROLLOUT_TOKEN=CJ3oqsnxxYqOfxD6qa3q9vGVAxj6qa3q9vGVAw%3D%3D; VISITOR_INFO1_LIVE=l_LgHcz9JSg; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaA%3D%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\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 57346\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:28:48 GMT\r\nexpires: Thu, 22 Jul 2027 07:28:48 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/css\r\nvary: Accept-Encoding, Origin\r\nage: 418058\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":525369,"size_decoded":58026,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (65534), with no line terminators","md5":"839a152020ccf30ae48724d0b0c7b838","sha1":"dc9e04d667f3ebd589549aaa4cfc8a8e887505e1","sha256":"921b6856085a224b1ca2e5db139b1788c01d4dd1e70daca7006b6a7b381bdae1","sha512":"efc3700ca9d21022fb13b33c526a2f9f6c73c6c063957504b3b8ed58ef9512fa815c7f915f522af2f3fa73dd7cbfd6634566ad1dc6c86f11f4ed0a4b74f824ce","ssdeep":"6144:s8d5Fe/qoMOg7USBfUIoImM5Kia68Oi4u7:3YxMOg7USiIoIr5Kia6Tg","tlshash":"8eb4d972f0a1233cb2278d59a7d9d54d7339d983e2e12aeff11166dacbc77811326206","first_seen":"2026-07-14T08:36:18.809394Z","last_seen":"2026-07-28T16:17:31.518857Z","times_seen":5127,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsuaHRtbDUtdmlkZW8tcGxheWVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MDtvdXRsaW5lOjA7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtjb2xvcjojZWVlO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lmh0bWw1LXZpZGVvLXBsYXllciwueXRwLWNvbnRleHRtZW51ey1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLC5odG1sNS12aWRlby1wbGF5ZXIudW5zdGFydGVkLW1vZGUsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dGQtdmlkZW8tbWFzdGhlYWQtYWQtcHJpbWFyeS12aWRlby1yZW5kZXJlciAuaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLnl0ZC12aWRlby1tYXN0aGVhZC1hZC1wcmltYXJ5LXZpZGVvLXJlbmRlcmVyIC5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllci51bnN0YXJ0ZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWJpZy1tb2Rle2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGV7Y3Vyc29yOm5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllciBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3V0bGluZTowfS5odG1sNS12aWRlby1wbGF5ZXIgYTpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgYTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0uaHRtbDUtdmlkZW8tcGxheWVyIGgxLC5odG1sNS12aWRlby1wbGF5ZXIgaDJ7bWFyZ2luOjB9Lmh0bWw1LXZpZGVvLXBsYXllciBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE1cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOGU4ZThlO2JvcmRlcjoxcHggc29saWQgIzQyNDI0Mjtib3JkZXItcmFkaXVzOjVweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt6LWluZGV4OjEwO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtZW1iZWQtZXJyb3IgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lmh0bWw1LW1haW4tdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3V0bGluZTowfS55dHAtZml0LWNvdmVyLXZpZGVvIC5odG1sNS1tYWluLXZpZGVvey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0uaHRtbDUtbWFpbi12aWRlb1tkYXRhLW5vLWZ1bGxzY3JlZW49dHJ1ZV06Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b257ZGlzcGxheTpub25lfS5odG1sNS1tYWluLXZpZGVvOm5vdChbY29udHJvbHNdKTo6LXdlYmtpdC1tZWRpYS1jb250cm9scywuaHRtbDUtbWFpbi12aWRlbzpub3QoW2NvbnRyb2xzXSk6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZXtkaXNwbGF5OmlubGluZX0udW5zdGFydGVkLW1vZGUgLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyNXB4KXsuaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy13aXJlbGVzcy1wbGF5YmFjay1waWNrZXItYnV0dG9ue2Rpc3BsYXk6bm9uZX19Lmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxheXtkaXNwbGF5Oi13ZWJraXQtZmxleH0ueXRwLXBsYXllci1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDo0OHB4O2JvdHRvbTo2MXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWhhcy1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA5NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpLnl0cC1iaWctbW9kZS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWJpZy1tb2RlLnl0cC1oYXMtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjQ5cHh9Lnl0cC1lbWJlZCAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTo1M3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCl7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50e3RvcDo2OXB4O2JvdHRvbTo3MHB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLnl0cC11cG5leHQpe3RvcDo4OXB4fS55dHAtcGxheWVyLWNvbnRlbnQueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoxMnB4O3JpZ2h0OjEycHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLXBsYXllci1jb250ZW50Lnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e3JpZ2h0OmNhbGMoMjJweCArIHZhcigtLWJyYW5kaW5nLWltYWdlLXdpZHRoKSl9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50Lnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWJpZy1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Lnl0cC1icmFuZGluZy1zaG93bi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudHtyaWdodDpjYWxjKDIycHggKyB2YXIoLS1icmFuZGluZy1pbWFnZS13aWR0aCkpfS55dHAtYXV0b2hpZGUgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLmh0bWw1LWVuZHNjcmVlbiksLnl0cC1hdXRvaGlkZSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCksLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGxheWVyLWNvbnRlbnR7dG9wOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC15cGMtcGxheWVyLWNvbnRlbnQsLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToxMnB4fS55dHAtdGltZWx5LWFjdGlvbnMtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO3otaW5kZXg6MzU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMzNzO3RyYW5zaXRpb24tZGVsYXk6LjMzc30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0IC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWJvdHRvbS1yaWdodCAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7ZGlzcGxheTpub25lfS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjE1MXB4fS55dHAtc21hbGwtbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjEzOXB4fS55dHAtZW1iZWQueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGU6bm90KC55dHAtYWQtb3ZlcmxheS1vcGVuKSAueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToyNHB4fS55dHAtYmlnLW1vZGUueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNjBweH0ueXRwLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246aW5oZXJpdDtmb250LXNpemU6MTAwJTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpkZWZhdWx0O2xpbmUtaGVpZ2h0OmluaGVyaXR9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24ueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo5cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbikgc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo3cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWJ1dHRvbiwueXRwLWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjB9Lnl0cC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYnV0dG9uW2Rpc2FibGVkXXtvcGFjaXR5Oi41fS55dHAtYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1idXR0b246Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1jaHJvbWUtYm90dG9tLC55dHAtY2hyb21lLXRvcHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpfS55dHAtZG5pIC55dHAtY2hyb21lLWJvdHRvbXt0ZXh0LXNoYWRvdzpub25lfS55dHAtY2hyb21lLXRvcHtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bGVmdDoxMnB4O3JpZ2h0OjEycHg7dG9wOjA7ei1pbmRleDo1OH0ueXRwLXNob3J0cy1tb2RlIC55dHAtY2hyb21lLXRvcHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cmlnaHQ6MH0ueXRwLWd2biAueXRwLWNocm9tZS10b3AsLnl0cC1ndm4ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcHt0b3A6MjBweH0ueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTt6LWluZGV4OjU5O3BhZGRpbmctdG9wOjNweDt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cn0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtcG9wb3Zlci1zaG93aW5ne3otaW5kZXg6MTAwMH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDozNnB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDo0MHB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1ib3R0b20sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scywueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OjU0cHg7cGFkZGluZy10b3A6NHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO3BhZGRpbmctdG9wOjB9Lnl0cC1jaHJvbWUtdG9wIC55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1yZXBsYXktYnV0dG9ue29wYWNpdHk6Ljk7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzZweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLC55dHAtcmVwbGF5LWJ1dHRvbntvcGFjaXR5Oi45O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ4cHg7cGFkZGluZzowIDJweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1tdXRlLWJ1dHRvbntwYWRkaW5nOjZweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b257cGFkZGluZzowfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbiwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjAgNHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZCAueXRwLXJlcGxheS1idXR0b257d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbXV0ZS1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czoyOHB4O3BhZGRpbmc6MCAxNnB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257b3BhY2l0eTp1bnNldDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW11dGUtYnV0dG9ue292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbiAueXRwLXZvbHVtZS1pY29ue292ZXJmbG93OnZpc2libGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJlcGxheS1idXR0b257b3BhY2l0eTp1bnNldH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxlZnQtY29udHJvbHN7bWluLXdpZHRoOjA7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MCA0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtib3JkZXItcmFkaXVzOjQwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjQ4cHg7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsIDQ4cHgpIC0gOHB4KX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgNHB4IDAgMDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+KikueXRwLXBsYXlsaXN0LXVpe21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2luc2V0OjRweCA0cHggNHB4IDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gOHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LCA1NnB4KSAtIDI0cHgpLzIpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtbHVtaW5vc2l0eS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmx1bWlub3NpdHk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb247LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAteW91dHViZS1idXR0b24pIHN2ZywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoLnl0cC15b3V0dWJlLWJ1dHRvbikgc3Zne3dpZHRoOjQwcHg7cGFkZGluZy1sZWZ0OjRweH0ueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b257cGFkZGluZy10b3A6NnB4O2hlaWdodDo0MnB4O3ZlcnRpY2FsLWFsaWduOnRvcH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbntwYWRkaW5nLXRvcDo5cHg7aGVpZ2h0OjYzcHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OjEwMCV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbnt3aWR0aDo1NHB4fS55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLXByZXYtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6LTEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjdweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkvMil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXktYnV0dG9uOmFjdGl2ZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO21hcmdpbi1ib3R0b206Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgMCAwIDRweDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHg7aW5zZXQ6NHB4IDAgNHB4IDRweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXByZXYtYnV0dG9uOm5vdCh5dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbjpub3QoeXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKSBzdmd7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtZXhjbHVzaW9uLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZXhjbHVzaW9uOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLWJpZy1tb2RlIC55dHAtcHJldi1idXR0b246YmVmb3Jle3dpZHRoOjI0cHg7bGVmdDotMjRweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlciwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdLC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXSwueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b246aG92ZXIsLnl0cC1yZXBsYXktYnV0dG9uOmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zdmctZmlsbHtmaWxsOiNmZmZ9Lnl0cC1zdmctc2hhZG93e3N0cm9rZTojMDAwO3N0cm9rZS1vcGFjaXR5Oi4xNTtzdHJva2Utd2lkdGg6MnB4O2ZpbGw6bm9uZX0ueXRwLWRuaSAueXRwLXN2Zy1zaGFkb3d7ZGlzcGxheTpub25lfS55dHAtc3ZnLXNoYWRvdy1maWxse2ZpbGw6IzAwMDtmaWxsLW9wYWNpdHk6LjE1O3N0cm9rZTpub25lfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF17cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6M3B4O2JvcmRlci1yYWRpdXM6M3B4O2xlZnQ6MjRweDtib3R0b206OXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpOy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHdpZHRoIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bGVmdCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjJweDtsZWZ0OjIwcHg7Ym90dG9tOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjNweDtsZWZ0OjI3cHg7Ym90dG9tOjEwcHh9Lnl0cC1kbmkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI0cHg7bGVmdDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlcnt3aWR0aDoxOHB4O2xlZnQ6OXB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjIwcHg7bGVmdDoxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI3cHg7bGVmdDoxNHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV06YWZ0ZXJ7bGVmdDoxNXB4fS55dHAtY29sb3Itd2hpdGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtY2hyb21lLXRvcC1idXR0b25zIC55dHAtYnV0dG9ue3RleHQtc2hhZG93OmluaGVyaXR9W2Rpcj1ydGxdIC55dHAtc2hvcnRzLW1vZGUgLnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0OHB4fS55dHAtY29weWxpbmstYnV0dG9uOm5vdCgueXRwLWNvcHlsaW5rLWJ1dHRvbi12aXNpYmxlKSwueXRwLW92ZXJmbG93LWJ1dHRvbjpub3QoLnl0cC1vdmVyZmxvdy1idXR0b24tdmlzaWJsZSksLnl0cC1zaGFyZS1idXR0b246bm90KC55dHAtc2hhcmUtYnV0dG9uLXZpc2libGUpe2Rpc3BsYXk6bm9uZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpsZWZ0O2RpcmVjdGlvbjpsdHJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCk7bGluZS1oZWlnaHQ6dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO2xpbmUtaGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsOTZweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9sc3toZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweH06bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtbGVmdC1jb250cm9sc3tmbG9hdDpsZWZ0fS55dHAtbGVmdC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMueXRwLWxlZnQtY29udHJvbHMtd2l0aC12b2x1bWV7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtbGVmdC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtcmlnaHQtY29udHJvbHN7ZmxvYXQ6cmlnaHR9Lnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDttaW4td2lkdGg6MDttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHggNnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTttYXJnaW46Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDEycHg7cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdHtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzLWxlZnQ6YWZ0ZXJ7aGVpZ2h0OjI4cHg7bWFyZ2luOjEwcHggMTRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LXhzbWFsbC13aWR0aC1tb2RlLDY0cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uLnl0cC1saXZlLWJhZGdle3dpZHRoOmF1dG99Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbjpub3QoLnl0cC1saXZlLWJhZGdlKTpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW5leHQtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDo0MHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xze2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257ZGlzcGxheTpub25lO21hcmdpbjo0cHggMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdDphZnRlcntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXNldHRpbmdzLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbS55dHAteHNtYWxsLXdpZHRoLXJpZ2h0LWNvbnRyb2xzLWV4cGFuZGVkIC55dHAtbGVmdC1jb250cm9scyAueXRwLXRpbWUtZGlzcGxheXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtdm9sdW1lLWFyZWF7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWF7bWFyZ2luOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAwIHZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbiBzdmd7cGFkZGluZzp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWE6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6MjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtc2xpZGVyLWFjdGl2ZSAueXRwLXZvbHVtZS1hcmVhe3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXZvbHVtZS1hcmVhe21hcmdpbjp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCkgMCAwIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDhweDtoZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC1idXR0b257aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1hcmVhIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O3BhZGRpbmc6MTFweH0ueXRwLWF1dG9oaWRlLWZhZGUtdHJhbnNpdGlvbiwueXRwLWNocm9tZS1ib3R0b206bm90KC55dHAtZnJvc3RlZC1nbGFzcy1vcGFjaXR5LWFuaW1hdGlvbiksLnl0cC1jaHJvbWUtdG9wey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYXV0b2hpZGUtZmFkZS10cmFuc2l0aW9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tOm5vdCgueXRwLWZyb3N0ZWQtZ2xhc3Mtb3BhY2l0eS1hbmltYXRpb24pLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1hdXRvaGlkZSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCwueXRwLWF1dG9oaWRlIC55dHAtdGl0bGUsLnl0cC1hdXRvaGlkZSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLWJvdHRvbVthcmlhLWhpZGRlbj10cnVlXSwueXRwLWNocm9tZS10b3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtb3ZlcmZsb3ctYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpOm5vdCgueXRwLWNhcmRzLXRlYXNlci1zaG93bikgLnl0cC1jYXJkcy1idXR0b257ZGlzcGxheTpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3BhZGRpbmctcmlnaHQ6OHB4fS55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtdG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQURHQ0FZQUFBQVQrT3FGQUFBQWRrbEVRVlFvejQyUVFRN0FJQWdFRi9UL0Qra2JxL1JXQWxuUXl5YXpBNGFvQUI0RnNCU0EvYkZqdUYxRU9MN1ZicklyQnV1c21ydDRaWk9SZmI2ZWhiV2RuUkhFSWlJVGFFVUthNUVKcVVha1JTYUVZQkpTQ1kyZEVzdFFZN0F1eGFod1hGcnZabVdsMnJoNEpaMDd6OWRMdGVzZk5qNXEwRlUzQTVPYmJ3QUFBQUJKUlU1RXJrSmdnZz09KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbSwueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFFbUNBWUFBQUNqeS9xekFBQUFoa2xFUVZRNHk1MlJVUTZBTUF4Q0tkNy9KSjdSNmFlSkFkcjUwN1RqUVpxT0FFNENXQVJ3eDdKRTk0NHJjaC9rNnFPV1M3YnE1Ymg3MnpHRjgrTFRhNmdvSmVSUGdYRFlOeFdGZmtTMFFYQ0luTElOMUd4VFhBMGR0UzBvdFdKbnVYSlIxWTlXWVA5R0YxVUNZUlFZSFJTbFhNQVJiVk80dGgzc2Q3WTNPUDVkWTNCbitTa1BzR0oxK0hHR1Z0Y0FBQUFBU1VWT1JLNUNZSUk9KX0ueXRwLWF1dG9oaWRlIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtYm90dG9tW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtZ3JhZGllbnQtdG9wW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZyk6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSkgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo0OHB4O3BhZGRpbmctYm90dG9tOjUwcHg7dG9wOjA7ei1pbmRleDoyNTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH0ueXRwLWVtYmVkLXBmbC55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NzBweDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSksdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMCwwLDAsLjc1KSksdG8odHJhbnNwYXJlbnQpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNzUpIDAsdHJhbnNwYXJlbnQpO3BhZGRpbmctYm90dG9tOjB9Lnl0cC1zaG9ydHMtbW9kZS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1ncmFkaWVudC10b3AsLnl0cC1zaG9ydHMtbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmF1dG8gMjAwJTtiYWNrZ3JvdW5kLXNpemU6YXV0byAyMDAlfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo2OXB4O3BhZGRpbmctYm90dG9tOjc3cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6ODlweDtwYWRkaW5nLWJvdHRvbTo1N3B4fS55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo2MXB4O3BhZGRpbmctdG9wOjM3cHg7Ym90dG9tOjA7ei1pbmRleDoyNDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1ncmFkaWVudC1ib3R0b217aGVpZ2h0OjQ5cHg7cGFkZGluZy10b3A6NDlweH0ueXRwLWVtYmVkIC55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo1M3B4O3BhZGRpbmctdG9wOjQ1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbXtoZWlnaHQ6NzBweDtwYWRkaW5nLXRvcDo3NnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDcwJSAtIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDIwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoMjAlICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9we2hlaWdodDowfS55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZSwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWdyYWRpZW50LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLW92ZXJmbG93LWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXNoYXJlLWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXdhdGNoLWxhdGVyLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUueXRwLWZ1bGwtYmxlZWQtcGxheWVyOm5vdCgueXRwLWdyaWQtc2Nyb2xsYWJsZSkgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKSAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6dmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybi55dHAtYXV0b2hpZGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtY2hyb21lLWJvdHRvbSwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWF1dG9oaWRlKSAueXRwLWNocm9tZS1ib3R0b217b3BhY2l0eTpjYWxjKDEgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGModmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLWNocm9tZS1ib3R0b217cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1jaHJvbWUtYm90dG9te2Rpc3BsYXk6bm9uZX0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7Lnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1ncmFkaWVudC10b3B7YmFja2dyb3VuZDojMDAwO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yezAle2JhY2tncm91bmQtY29sb3I6I2YwMH0yMCV7YmFja2dyb3VuZC1jb2xvcjojMGYwfTQwJXtiYWNrZ3JvdW5kLWNvbG9yOiMwMGZ9NjAle2JhY2tncm91bmQtY29sb3I6I2YwZn04MCV7YmFja2dyb3VuZC1jb2xvcjojZmYwfXRve2JhY2tncm91bmQtY29sb3I6IzBmZn19QGtleWZyYW1lcyB5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvcnswJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDB9MjAle2JhY2tncm91bmQtY29sb3I6IzBmMH00MCV7YmFja2dyb3VuZC1jb2xvcjojMDBmfTYwJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGZ9ODAle2JhY2tncm91bmQtY29sb3I6I2ZmMH10b3tiYWNrZ3JvdW5kLWNvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktY29sb3J7MCV7Y29sb3I6I2YwMH0yMCV7Y29sb3I6IzBmMH00MCV7Y29sb3I6IzAwZn02MCV7Y29sb3I6I2YwZn04MCV7Y29sb3I6I2ZmMH10b3tjb2xvcjojMGZmfX1Aa2V5ZnJhbWVzIHl0cC1wYXJ0eS1jb2xvcnswJXtjb2xvcjojZjAwfTIwJXtjb2xvcjojMGYwfTQwJXtjb2xvcjojMDBmfTYwJXtjb2xvcjojZjBmfTgwJXtjb2xvcjojZmYwfXRve2NvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktZmlsbHswJXtmaWxsOiNmMDB9MjAle2ZpbGw6IzBmMH00MCV7ZmlsbDojMDBmfTYwJXtmaWxsOiNmMGZ9ODAle2ZpbGw6I2ZmMH10b3tmaWxsOiMwZmZ9fUBrZXlmcmFtZXMgeXRwLXBhcnR5LWZpbGx7MCV7ZmlsbDojZjAwfTIwJXtmaWxsOiMwZjB9NDAle2ZpbGw6IzAwZn02MCV7ZmlsbDojZjBmfTgwJXtmaWxsOiNmZjB9dG97ZmlsbDojMGZmfX0ueXRwLW1lbnUtc2hvd24gLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lnl0cC1hZC1kaXNwbGF5LW92ZXJyaWRlIC52aWRlby1hZHN7ZGlzcGxheTppbmhlcml0fS55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyl9Lnl0cC1kbmkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3Itc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6I2FhYX0ueXRwLWNvbG9yLXBhcnR5IC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3IsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9yLC55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvci1zZWNvbmRhcnl7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kOm5vbmV9Lnl0cC1zd2F0Y2gtY29sb3J7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpfS55dHAtc3dhdGNoLWNvbG9yLXdoaXRle2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSl9Lnl0cC1wcmVtaXVtLWxhYmVse2ZvbnQtc2l6ZTo4My4zMzMzJTtjb2xvcjojY2NjfS55dHAtZG5pIC55dHAtc3dhdGNoLWNvbG9ye2NvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1jb2xvcntjb2xvcjojZGRkfS55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtY29sb3J7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWNvbG9yIC4xNXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIHByaW50ey5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpICp7dmlzaWJpbGl0eTpoaWRkZW59Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcil7Ym9yZGVyOjFweCBzb2xpZCAjMDAwOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY2hyb21lLXRvcCw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtbGFyZ2UtcGxheS1idXR0b257b3BhY2l0eToxIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbiAqLDpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC10aXRsZSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdGl0bGUgKntjb2xvcjojMDAwIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fX0ueXRwLXBsYXllci1pbi1iYXItZGlzYWJsZS11aT46bm90KC5odG1sNS12aWRlby1jb250YWluZXIpe2Rpc3BsYXk6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtY29tcG9zaXRlLXZpZGVvLW92ZXJsYXktcmVuZGVyZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDoxMH0ueXRwLWFkLW1vZHVsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEycHgpO3RvcDowfS52aWRlby1hZC1zdGF0dXMtYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3otaW5kZXg6ODUwO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6Ljc7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjUzcHh9Lnl0cC1iaWctbW9kZSAudmlkZW8tYWQtc3RhdHVzLWJhcntib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LmFkLXNob3dpbmcgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7ZGlzcGxheTpibG9ja30uYWQtc2hvd2luZy55dHAtYXV0b2hpZGUgLnZpZGVvLWFkLXN0YXR1cy1iYXIsLmFkLXNob3dpbmcueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LnZpZGVvLWFkLWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo1cHh9LmFkLXNob3dpbmcgLmFkLXZpZGVve3Bvc2l0aW9uOmFic29sdXRlfS5hZC1zaG93aW5nIC5hZC12aWRlb3t0b3A6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1jbGljay10cmFja2luZywuaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1zdHJlYW17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLWNvbnRhaW5lci1zaW5nbGUtbWVkaWEtZWxlbWVudC1hbm5vdGF0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1jb250YWluZXItc2luZ2xlLW1lZGlhLWVsZW1lbnQtYW5ub3RhdGlvbnMtd29ya2Fyb3VuZHt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e2JvdHRvbTo1M3B4fS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLmFkLW92ZXJsYXksLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAuYWQtb3ZlcmxheXtib3R0b206NzBweH0ueXRwLWF1dG9oaWRlLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheSAudmlkZW8tY2xpY2stdHJhY2tpbmd7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+Om5vdCguaW1hLWNvbnRhaW5lcil7ei1pbmRleDo4NzB9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheT4uaW1hLWNvbnRhaW5lcnt6LWluZGV4OmF1dG8haW1wb3J0YW50fS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+LmltYS1jb250YWluZXI+Knt6LWluZGV4Ojg3MCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmV9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpIC5hZC1jb250YWluZXIsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCgueXRwLWFkLW92ZXJsYXktb3BlbikgLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lml2LWVuZGNhcC1iYWNrZ3JvdW5ke3otaW5kZXg6ODIxfS5odG1sNS12aWRlby1wbGF5ZXIgLmF0dHJpYnV0aW9uLWJ1dHRvbnt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLWJ1dHRvbi1pY29uLC55dHAtYWQtYnV0dG9uLXRleHQsLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLC55dHAtYWQtc2tpcC1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXNraXAtYnV0dG9uLXRleHQtY2VudGVyZWR7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSBidXR0b257b3V0bGluZTowfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSAueXRwLWFkLWJ1dHRvbjpmb2N1cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgYnV0dG9uOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtYnV0dG9uLWxpbmt7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLWFkLWJ1dHRvbi1saW5rOmFjdGl2ZSwueXRwLWFkLWJ1dHRvbi1saW5rOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97bGVmdDoyNHB4O2JvdHRvbTo3MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZve2JvdHRvbTo2cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206NjFweDtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjE4cHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KTt6LWluZGV4Ojg1MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1lbWJlZCAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97Ym90dG9tOjUzcHh9Lnl0cC1hZC1jbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1hZC1kaXNjbG9zdXJlLWJhbm5lcntib3JkZXItcmFkaXVzOjA7Ym90dG9tOmF1dG87Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OmF1dG87bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjI0cHg7ei1pbmRleDo4NTB9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWFkLWRpc2Nsb3N1cmUtYmFubmVye2xlZnQ6MjRweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWZseW91dC1jdGF7Ym90dG9tOjg2cHg7bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo4NTB9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3RhLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZW1iZWQgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo3OHB4fS55dHAtZmx5b3V0LWN0YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1mbHlvdXQtY3RhLWxhcmdle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4fS55dHAtZmx5b3V0LWN0YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtZmx5b3V0LWN0YS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JvcmRlci1yYWRpdXM6MnB4O21heC13aWR0aDo0MDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keS1sYXJnZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1mbHlvdXQtY3RhOmhvdmVyIC55dHAtZmx5b3V0LWN0YS1ib2R5e2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWZseW91dC1jdGE6aG92ZXIgLnl0cC1mbHlvdXQtY3RhLWJvZHktbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21heC13aWR0aDoyNTBweDtwYWRkaW5nLWxlZnQ6NThweDtwYWRkaW5nLXJpZ2h0OjIwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtdGV4dC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1yaWdodDoxMHB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaGVhZGxpbmUtY29udGFpbmVye2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi10b3A6MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6M3B4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9ue292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6NTZweDttYXgtd2lkdGg6MTUwcHg7cG9zaXRpb246c3RhdGljOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci1sYXJnZXtsaW5lLWhlaWdodDppbmhlcml0O21hcmdpbjo4cHg7bWluLXdpZHRoOjEwMCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9ue2JhY2tncm91bmQ6IzE2N2FjNjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojMTY3YWM2O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDoyOHB4O21hcmdpbjowIDhweCAwIDA7bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6aW5oZXJpdH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tbGFyZ2V7bWluLXdpZHRoOjEwMCU7Y29sb3I6IzBmMGYwZn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMTI2ZGIzfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24ueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTJweDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3VuZDojMDY1ZmQ0fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLXJvdW5kZWQtbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtZmx5b3V0LWN0YSwueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWJvZHksLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntkaXJlY3Rpb246bHRyO2hlaWdodDphdXRvfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXJ7aGVpZ2h0OjEwMCU7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo0OHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo4cHg7dG9wOi0yNnB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi55dHAtZmx5b3V0LWN0YS1pY29uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0cC1mbHlvdXQtY3RhLnl0cC1mbHlvdXQtY3RhLWluYWN0aXZley13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0ueXRwLWZseW91dC1jdGEueXRwLWZseW91dC1jdGEtaW5hY3RpdmUgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpfS55dHAtZmx5b3V0LWN0YS55dHAtZmx5b3V0LWN0YS1pbmFjdGl2ZSAueXRwLWZseW91dC1jdGEtYm9keXttYXgtd2lkdGg6MDt3aWR0aDowfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo5NXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEsLnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keSwueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjE5MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjQwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nOjRweCAyMHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lcntmb250LXNpemU6MTJweDttYXJnaW4tdG9wOjJweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1kZXNjcmlwdGlvbi1jb250YWluZXJ7Zm9udC1zaXplOjExcHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29uLWNvbnRhaW5lcntsZWZ0OjA7dG9wOjB9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b24sLnl0cC1hZC1zaW1wbGUtYWQtYmFkZ2UsLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdle21hcmdpbi1sZWZ0OjVweDtvcGFjaXR5Oi43NX0ueXRwLWFkLXNpbXBsZS1hZC1iYWRnZS0tY2xlYW4tcGxheWVye21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdlLS1zdXJ2ZXl7Zm9udC13ZWlnaHQ6NTAwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXNpbXBsZS1hZC1iYWRnZXttYXJnaW4tbGVmdDowfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5ne21hcmdpbi1sZWZ0OjNweDtvcGFjaXR5Oi43NX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KTtsZWZ0OjA7bGluZS1oZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVyOmJlZm9yZXtjb250ZW50OiLigKIiO3BhZGRpbmctaW5saW5lOjRweH0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tbXdlYntmb250LXdlaWdodDo2MDA7bWFyZ2luLWxlZnQ6M3B4fS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLS1td2ViLWlvc3tsZXR0ZXItc3BhY2luZzotLjJweH0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MCA1cHg7bWFyZ2luLXJpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMzMzO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTJweDtsZWZ0Oi0xOXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtvcGFjaXR5Oi45O3BhZGRpbmc6N3B4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LXNob3J0e3doaXRlLXNwYWNlOm5vd3JhcH0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGF7Y29sb3I6IzE2N2FjNn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbjpob3ZlciAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyLC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLWhvdmVyLXRleHQtY2FsbG91dHtib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjVweCBzb2xpZCAjZmZmOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDtsZWZ0OjIwcHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MTAwJTt3aWR0aDowfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b257LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi43NTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt3aWR0aDoxM3B4fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtYnV0dG9uLS1jbGVhbi1wbGF5ZXJ7b3BhY2l0eToxOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCA3cHggcmdiYSgwLDAsMCwuOSkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgN3B4IHJnYmEoMCwwLDAsLjkpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1idXR0b257LXdlYmtpdC1maWx0ZXI6dW5zZXQ7ZmlsdGVyOnVuc2V0fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8taWNvbi1idXR0b246aG92ZXJ7b3BhY2l0eToxfS55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1iYWNrZ3JvdW5kLC55dHAtYWQtaW5mby1kaWFsb2ctYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO2Rpc3BsYXk6dGFibGU7aGVpZ2h0OjEwMCU7bGVmdDowO21hcmdpbjphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjIyMDF9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1pbmZvLWRpYWxvZy1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpzY3JvbGw7b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jbG9zZS1vdmVybGF5LWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jbG9zZS1idXR0b24sLnl0cC1hZC1pbmZvLWRpYWxvZy1jbG9zZS1idXR0b257aGVpZ2h0OjI0cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDt0b3A6MTRweDt3aWR0aDoyNHB4fS55dHAtYWQtY29uZmlybS1kaWFsb2ctY2xvc2Utb3ZlcmxheS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVyLC55dHAtYWQtaW5mby1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb250YWluZXIsLnl0cC1hZC1pbmZvLWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLC55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0sLnl0cC1hZC1pbmZvLWRpYWxvZy1mb3Jte2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCBibGFjaztjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDo1MCU7cGFkZGluZzoxNHB4O3RleHQtYWxpZ246bGVmdH0ueXRwLWFkLWluZm8tZGlhbG9nLXJlbGF0aXZlLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjcyfS55dHAtYWQtaW5mby1kaWFsb2ctcmVsYXRpdmUtY29udGFpbmVyIC55dHAtYWQtaW5mby1kaWFsb2ctZm9ybXstd2Via2l0LWJveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JvcmRlci1jb2xvcjojZTJlMmUyO21heC13aWR0aDpub25lfS55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0gYSwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1mb3JtIGE6aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYSwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYTpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9ue2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUsLnl0cC1hZC1pbmZvLWRpYWxvZy10aXRsZXtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUgYSwueXRwLWFkLWluZm8tZGlhbG9nLXRpdGxlIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX11bC55dHAtYWQtaW5mby1kaWFsb2ctYWQtcmVhc29uc3twYWRkaW5nOjA7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1hZC1yZWFzb25zIGxpe2xpc3Qtc3R5bGU6ZGlzYztsaXN0LXN0eWxlLXBvc2l0aW9uOm91dHNpZGU7bWFyZ2luLWxlZnQ6MjBweH0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2VzLC55dHAtYWQtaW5mby1kaWFsb2ctZmVlZGJhY2stb3B0aW9uc3ttYXJnaW4tbGVmdDo4cHh9bGFiZWwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1yZWFzb24tbGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW46OHB4IDB9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tY29udGFpbmVye21hcmdpbi10b3A6OHB4O3RleHQtYWxpZ246cmlnaHR9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b24sLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7bWFyZ2luOjRweCAwIDAgMTJweDtwYWRkaW5nOjEwcHg7Y29sb3I6IzE2N2FjNjtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uOmhvdmVyLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbjpob3ZlciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9uOmhvdmVye2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtYWQtaW5mby1kaWFsb2ctbXV0ZS1jb250YWluZXJ7bWFyZ2luLXRvcDo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1tdXRlLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn0ueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9uIC55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjVweDt3aWR0aDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy11bmRvLW11dGUtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tbGVmdDo1cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1sZWZ0OjVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTJweDtyaWdodDotMnB4O3RvcDotN3B4O2JvdHRvbTotOHB4fS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b24gLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7bWFyZ2luOi00cHggM3B4IC0ycHggMDtwYWRkaW5nOjVweCAwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b246aG92ZXIgLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2N1cnNvcjpwb2ludGVyOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7aGVpZ2h0OjEwcHg7b3BhY2l0eTouNzU7d2lkdGg6MTBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmhvdmVyIC55dHAtYWQtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWJpZy1tb2RlIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo5NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjE1NnB4fS55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWVtYmVkLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206MjVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjg2cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0tdXNlci1zZW50aW1lbnQgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjcwcHh9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciwueXRwLXNldHRpbmdzLXNob3duIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntvcGFjaXR5Oi40O3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDo4NTB9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWFkLW1lc3NhZ2Utb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6ODUwfS55dHAtYWQtbWVzc2FnZS1zbG90LC55dHAtYWQtcHJldmlldy1zbG90LC55dHAtYWQtc2tpcC1hZC1zbG90e3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDo4NTB9Lnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWVtYmVkIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1lbWJlZCAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eToxO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyLC55dHAtYWQtcHJldmlldy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lci1kZXRhY2hlZHttYXJnaW4tcmlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtoZWlnaHQ6MzZweH0ueXRwLWFkLXByZXZpZXctY29udGFpbmVyLWRldGFjaGVkOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNztwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLWRldGFjaGVke21hcmdpbi1yaWdodDoxMnB4O29wYWNpdHk6MX0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtYWQtcHJldmlldy1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLXByZXZpZXctdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtoZWlnaHQ6MzBweDtsZXR0ZXItc3BhY2luZzouMXB4O21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MTFweCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtwYWRkaW5nOjAgOHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLW1lc3NhZ2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtoZWlnaHQ6NTJweDtsaW5lLWhlaWdodDo1MnB4O2xldHRlci1zcGFjaW5nOi4xcHg7bWluLXdpZHRoOjgwcHg7cGFkZGluZzowIDIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtYWQtcHJldmlldy1pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1hZC1wcmV2aWV3LWltYWdlPi55dHAtYWQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo5MnB4O2hlaWdodDo1MnB4fS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm4+Lnl0cC1hZC1pbWFnZXtkaXNwbGF5OmJsb2NrO2hlaWdodDozNnB4O3dpZHRoOjY1cHh9LmNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjQxcHg7d2lkdGg6NzNweH0ubW9kZXJuLWNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDphdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MCA4cHh9Lm1vZGVybi1jb3VudGRvd24tbmV4dC10by10aHVtYm5haWwgLnl0cC1hZC1wcmV2aWV3LXRleHQtbW9kZXJuLXBvc3Ryb2xse3BhZGRpbmc6MCAxNHB4fS5tb2Rlcm4tY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjM2cHg7d2lkdGg6NjVweH0ueXRwLWFkLXNraXAtYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItcmlnaHQ6MDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojZmZmO2RpcmVjdGlvbjpsdHI7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi13aWR0aDowO3BhZGRpbmc6MTBweCA2cHggOHB4IDEwcHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXNraXAtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOSk7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yaWdodDowfS55dHAtYWQtc2tpcC1idXR0b24taWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46LTE0cHggLTZweCAtMTJweCAtNHB4fS55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7Y29sb3I6I2ZmZjtkaXJlY3Rpb246bHRyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDpub3JtYWw7bWluLXdpZHRoOjA7cGFkZGluZzowIDZweCAwIDE2cHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46aG92ZXJ7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSx0byhyZ2JhKDI1NSwyNTUsMjU1LC4yKSkpLC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiKDE1LDE1LDE1KSksdG8ocmdiKDE1LDE1LDE1KSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLGxpbmVhci1ncmFkaWVudChyZ2IoMTUsMTUsMTUpLHJnYigxNSwxNSwxNSkpfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3Vze2JhY2tncm91bmQ6cmdiKDE1LDE1LDE1KTtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWljb24tZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW13ZWItZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLWRlbGhpIC55dHAtYWQtc2tpcC1idXR0b24taWNvbi1tb2Rlcm4gc3Zne2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cGFkZGluZzo0cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46Zm9jdXMtdmlzaWJsZSAueXRwLWFkLXNraXAtYnV0dG9uLWljb24tbW9kZXJuIHN2ZyBwYXRoe2ZpbGw6IzBmMGYwZn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6ODUwfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1vdmVybGF5LXNsb3R7Ym90dG9tOjcwcHh9Lnl0cC1hdXRvaGlkZS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLnl0cC1hZC1vdmVybGF5LXNsb3R7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLWVuaGFuY2VkLW92ZXJsYXksLnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLW92ZXJsYXktaW1hZ2UgaW1nLC55dHAtYWQtb3ZlcmxheS1jb250YWluZXIgLnl0cC1hZC10ZXh0LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1hZC10ZXh0LW92ZXJsYXl7aGVpZ2h0OjYzcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bzttYXgtd2lkdGg6NDQwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtYWQtdGV4dC1vdmVybGF5OmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiKDU4LDU4LDU4KX0ueXRwLWFkLW92ZXJsYXktdGl0bGV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO2ZvbnQ6NzAwIDE0cHggYXJpYWwsc2Fucy1zZXJpZjttYXJnaW46N3B4IDIycHggMCAwO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJvdHRvbTo0cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgLTFweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLXRleHQtb3ZlcmxheTpob3ZlciAueXRwLWFkLW92ZXJsYXktdGl0bGV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktZGVzY3tjb2xvcjojZmZmO2ZvbnQ6MTJweCBhcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1ib3R0b206MnB4O21hcmdpbi10b3A6LTNweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbWFnZS1vdmVybGF5e21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLW92ZXJsYXktaW1hZ2V7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRwLWFkLWltYWdlLW92ZXJsYXk6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktbGlua3tjdXJzb3I6cG9pbnRlcjtib3R0b206OXB4O2NvbG9yOiNlYWRlOTA7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246c3RhdGljO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OnJnYigwLDAsMCkgMCAtMXB4IDB9Lnl0cC1hZC1vdmVybGF5LWxpbmsueXRwLWFkLW92ZXJsYXktbGluay1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lcntjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNXB4O3BhZGRpbmc6NnB4IDFweCAxMHB4IDIwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMXB4O3RvcDowO3dpZHRoOjE1cHh9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lciAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDttYXJnaW46MDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtaG92ZXItdGV4dC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6MX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZpbGwtb3BhY2l0eTouODtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi45O3dpZHRoOmluaGVyaXQ7LXdlYmtpdC1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZTtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7dmVydGljYWwtYWxpZ246dG9wfS55dHAtYWQtb3ZlcmxheS1jbG9zZS1jb250YWluZXJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjE1cHg7bWFyZ2luOjA7cGFkZGluZzo2cHggNnB4IDEwcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MTVweH0ueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtmaWxsLW9wYWNpdHk6Ljg7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OmluaGVyaXQ7b3BhY2l0eTouOTt3aWR0aDppbmhlcml0fS55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1jbG9zZS1idXR0b24gc3Zne2JhY2tncm91bmQ6IzAwMDtmaWxsOiNmZmZ9Lnl0cC1hZC1pbWFnZS1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHN2Z3tiYWNrZ3JvdW5kOiNmZmY7ZmlsbDojNzU3NTc1fS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDppbmhlcml0fS55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1vdmVybGF5LWNsb3NlLWNvbnRhaW5lcjpob3ZlciAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2ZpbGwtb3BhY2l0eToxfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbntib3R0b206OHB4O2NvbG9yOiM4ODg7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4O3BhZGRpbmc6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbjpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktYXR0cmlidXRpb257Y29sb3I6aW5oZXJpdDt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLW92ZXJsYXktdGV4dC1pbWFnZXtmbG9hdDpsZWZ0fS55dHAtYWQtb3ZlcmxheS10ZXh0LWltYWdlIGltZ3std2Via2l0LWJveC1zaGFkb3c6MCAzcHggNXB4IHJnYmEoMCwwLDAsLjQ5ODAzOSk7Ym94LXNoYWRvdzowIDNweCA1cHggcmdiYSgwLDAsMCwuNDk4MDM5KTtoZWlnaHQ6NTdweDttYXJnaW46MnB4IDEwcHggMCAwO3dpZHRoOmF1dG87bWluLXdpZHRoOjU3cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFse2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6NjR9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWJhY2tncm91bmQtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90e3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjY1fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6YmxvY2s7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTE0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDo1MCU7d2lkdGg6MjgwcHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJke21hcmdpbi1sZWZ0Oi05MHB4O3dpZHRoOjE4MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWNhcmQtdW5pZmllZHttYXJnaW4tbGVmdDotMjE1cHg7d2lkdGg6NDMwcHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtY2FyZC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLXVuaWZpZWR7bWFyZ2luLWxlZnQ6MDtsZWZ0OjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI0NXB4O3BhZGRpbmc6MCAwIDAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZS1jb250YWluZXItdW5pZmllZHt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMCAxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci11bmlmaWVke3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXJnaW46MCBhdXRvIDAgMDtwYWRkaW5nOjEwcHggMH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Y29sb3I6IzMzMztkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MjBweDttYXgtaGVpZ2h0OjIuMmVtO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Zm9udC1zaXplOjE2cHg7bWF4LWhlaWdodDoyLjJlbTtwYWRkaW5nLXRvcDo4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lci11bmlmaWVke3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbi1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLXVuaWZpZWR7ZGlzcGxheTpub25lfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbntjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDttYXgtaGVpZ2h0OjEuMWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctYm90dG9tOjhweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci11bmlmaWVke3BhZGRpbmc6NnB4IDB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiMxNjdhYzY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIzcHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweDttaW4td2lkdGg6MTY0cHg7cGFkZGluZzowIDIwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9ue2ZvbnQtc2l6ZToxNXB4O2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7bWluLXdpZHRoOjEyMHB4fS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbntoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O21pbi13aWR0aDowfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtib3JkZXItcmFkaXVzOjI4cHg7aGVpZ2h0OjU2cHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI4cHg7cGFkZGluZzowIDI0cHg7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE1cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87bWF4LXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjpub25lO2hlaWdodDoxMjhweDt3aWR0aDoxMjhweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2V7cG9pbnRlci1ldmVudHM6YXV0bzttYXgtd2lkdGg6MTAwJX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLXVuaWZpZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXJ7aGVpZ2h0OjYwcHg7d2lkdGg6NjBweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lcntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLXVuaWZpZWR7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci11bmlmaWVke21hcmdpbi1sZWZ0Oi02cHg7cGFkZGluZzo2cHg7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXItdW5pZmllZHtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci11bmlmaWVkey13ZWJraXQtZmlsdGVyOmJsdXIoNzBweCk7ZmlsdGVyOmJsdXIoNzBweCl9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLXNsb3QueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC1kYXJrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUwLDUwLDUwLC44KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90LXVuaWZpZWR7aW5zZXQ6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtbGlnaHR7Y29sb3I6I2ZmZn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDozNHB4O21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10b3A6MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6bm9uZTtwYWRkaW5nLXRvcDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtmb250LXNpemU6MTZweDtwYWRkaW5nLXRvcDoxMnB4O3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWxpZ2h0e2NvbG9yOiNmZmZ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLXVuaWZpZWR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNjIsMTY2LDI1NSk7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1tb25vLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2NvbG9yOnJnYigxNSwxNSwxNSk7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyMHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tbW9iaWxlLWNvbXBhbmlvbi1zaXple21pbi13aWR0aDowO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MCAxNnB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tdW5pZmllZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYig2MiwxNjYsMjU1KTtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MThweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQgLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2JhY2tncm91bmQtY29sb3I6cmdiKDYyLDE2NiwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2hlaWdodDoyMnB4O2xpbmUtaGVpZ2h0OjEycHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoyMDBweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQtbW9ubzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDotNnB4IDA7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm8gLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97aGVpZ2h0OjIycHg7bGluZS1oZWlnaHQ6MTJweH0ueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTo0cHg7ZGlzcGxheTpibG9jaztsZWZ0OjZweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjY1fS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1jb250YWluZXIueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVyLXVwcGVyLXJpZ2h0e2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweH1zdmcueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd257YmFja2dyb3VuZDpub25lO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyMHB4O29wYWNpdHk6LjQ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7d2lkdGg6MjBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tYmFja2dyb3VuZHtmaWxsOm5vbmU7c3Ryb2tlOm5vbmV9Y2lyY2xlLnl0cC1hZC10aW1lZC1waWUtY291bnRkb3duLWlubmVye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MTBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS13aWR0aDoxfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjAgMzJweDttYXJnaW46MDtsaW5lLWhlaWdodDpub3JtYWw7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHAtYWQtc3VydmV5LnJlbGF0aXZlLXBvc2l0aW9uaW5nLXN1cnZleXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojg1MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbnN7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1mbGV4LWdyb3c6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCBhdXRvO2hlaWdodDoxMDAlfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3BhZGRpbmctdG9wOjA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWZ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tZm9yZWdyb3VuZHt6LWluZGV4OjJ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtjb2xvcjojMTMxMzEzO2ZvbnQtc2l6ZToyMHB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDJweDttYXJnaW4tcmlnaHQ6NDhweDtsaW5lLWhlaWdodDoyOHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7cmlnaHQ6MDt0b3A6MzVweDt3aWR0aDozMDhweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zley13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmV7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDtwYWRkaW5nLXRvcDo0JX0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle3BhZGRpbmctdG9wOjA7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC10b2dnbGUtYnV0dG9uLWlucHV0e2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyOHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbjpob3ZlciwueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbjpob3Zlcntmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbnttYXJnaW4tbGVmdDoyNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlciAueXRwLWFkLXRvZ2dsZS1idXR0b24tdG9nZ2xlZHtmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDojNjA2MDYwfS55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b2dnbGVkLWljb24gc3ZnIHBhdGg6bGFzdC1vZi10eXBle2ZpbGw6IzA0NWVkZH0ueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyfS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTJweDtyaWdodDowO2hlaWdodDo1MnB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntiYWNrZ3JvdW5kOiMxYjdmY2M7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDttYXJnaW4tcmlnaHQ6NnB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6NTZweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9uLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQ6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDozNnB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXBsYXllci1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1za2lwLW9yLXByZXZpZXcsLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktc2tpcC1vci1wcmV2aWV3e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cmlnaHQ6MH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWx7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjUwMDA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1jb250ZW50c3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbCAueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtY29udGVudHN7aGVpZ2h0OmF1dG99Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tdG9wOjI1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiMxMzEzMTM7d2lkdGg6MjcycHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ297YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2hlaWdodDoyNXB4O21hcmdpbi1sZWZ0OjMycHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTA1cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28taW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE2MXB4O3BhZGRpbmc6MTBweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi10b3A6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyOjB9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQtY29sb3I6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7aGVpZ2h0OjM2cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjU2cHgpey55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1sb2dve21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXRvcDoxNXB4fS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC10ZXh0e2ZvbnQtc2l6ZToyMHB4O21hcmdpbi1sZWZ0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257Zm9udC1zaXplOjE4cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleXtwYWRkaW5nOjAgMzJweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXRleHR7Zm9udC1zaXplOjIwcHg7bWFyZ2luLXJpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MjhweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjI0cHg7d2lkdGg6YXV0b30ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6MjJweDtmb250LXNpemU6MTBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NDhweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjB9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS11c2VyLXNlbnRpbWVudHtkaXNwbGF5Om5vbmV9W2Rpcj1ydGxdIC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVye2JvdHRvbTo0MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyOTRweCkgYW5kIChtaW4taGVpZ2h0OjYzMHB4KXsueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbiwueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtbG9nbywueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtdGV4dHttYXJnaW4tbGVmdDo2NHB4fS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87cGFkZGluZzowIDYwcHh9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1yaWdodDo0OHB4O3dpZHRoOjM1NHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjM4cHg7d2lkdGg6MzkwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vye2hlaWdodDo2MHB4fS55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3ZlLC55dHAtYWQtc3VydmV5LXN1Ym1pdC1idXR0b257aGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE4LjJweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstd2Via2l0LWZsZXg6MCAwIDMycHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDMycHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NjBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjI1cHh9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6NzBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNzIwcHgpIGFuZCAobWluLWhlaWdodDo5ODBweCl7Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6OTZweH0ueXRwLWFkLXN1cnZleXt3aWR0aDoxMDAlO3BhZGRpbmc6MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjQzcHg7bWFyZ2luLXJpZ2h0OjgwcHg7d2lkdGg6NDUwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vyc3t0b3A6NTdweDt3aWR0aDo1MDBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0Ojc2cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6NjdweDtmb250LXNpemU6MjcuNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlci1idXR0b24sLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b257Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDNweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4Oy13ZWJraXQtZmxleDowIDAgMzJweDstd2Via2l0LWJveC1mbGV4OjA7ZmxleDowIDAgMzJweDttYXJnaW4tcmlnaHQ6MjBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle2hlaWdodDo3NnB4fS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtib3R0b206NDVweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9ue21hcmdpbi1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MTEwcHh9fS55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXRvZ2dsZS1idXR0b246aG92ZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvb2x0aXB7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjcpO2JvdHRvbToxNDdweDtkaXNwbGF5OmlubGluZS1ibG9jaztwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDo4NTB9Lnl0cC1lbWJlZCAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lcntib3R0b206MTM5cHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LXNlbGVjdGVkey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtiYWNrZ3JvdW5kOiM0NzgwZWV9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiwueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjJweDtvcGFjaXR5Oi44O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMnB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtwYWRkaW5nOjEycHggMTBweCAxMnB4IDIwcHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cGFkZGluZzoxMnB4IDIwcHggMTJweCAxMHB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbjpob3ZlciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntvcGFjaXR5OjF9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvZ2dsZWQgLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JhY2tncm91bmQ6cmdiYSgzMSwzMSwzMSwuNSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjE4cHg7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46OXB4IDA7cGFkZGluZzo4cHggMTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uOmhvdmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JvdHRvbTo0NnB4O3JpZ2h0OjIwcHh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyLWdyYWRpZW50c3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNDAlLHJnYmEoMCwwLDAsLjc1KSksY29sb3Itc3RvcCg5OSUscmdiYSgwLDAsMCwwKSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItYm90dG9tOm5vbmU7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwJTtvcGFjaXR5Oi44O3RvcDowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbjpiZWZvcmV7Y29udGVudDpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbnttYXJnaW46YXV0byAxMXB4IGF1dG8gYXV0bztwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOmF1dG8gMDtwYWRkaW5nOjAgNHB4IDVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXBsYXllci1vdmVybGF5LXRvcC1iYXItZ3JhZGllbnRzIC55dHAtdmlkZW8tYWQtdG9wLWJhci10aXRsZXstd2Via2l0LWZsZXg6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweDttYXgtd2lkdGg6NTAlO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW46MTBweCA1cHggNXB4IDEwcHg7ei1pbmRleDo4NTA7b3BhY2l0eTouOX0ueXRwLWFkLWNsaWNrYWJsZS1lbGVtZW50OmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtYWQtdW5kZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEzMXB4O2xlZnQ6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gMjYycHgpO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjgwcHgpO3RvcDoxNDBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjIycHgpO3RvcDoxMTFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTUwcHgpO3RvcDo3NXB4fS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXVuZGVybGF5e2hlaWdodDpjYWxjKDEwMCUgLSAxMjJweCk7dG9wOjYxcHh9Lnl0cC1hZC11bmRlcmxheS1jb21wYW5pb257aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRwLWFkLXVuZGVybGF5LXNpZGUtY29udGFpbmVye2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjEyNXB4O3BhZGRpbmctYm90dG9tOjEyNXB4fS55dHAtYWQtdW5kZXJsYXktbGVmdC1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0ueXRwLWFkLXVuZGVybGF5LXJpZ2h0LWNvbnRhaW5lcnttYXJnaW4tbGVmdDo1Mi41JX0ueXRwLWFkLXVuZGVybGF5LWltYWdlLWNvbnRhaW5lcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDo3MnB4O21pbi13aWR0aDo3MnB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTQ0cHg7bWF4LWhlaWdodDoxNDRweDstd2Via2l0LWZsZXgtc2hyaW5rOjI7ZmxleC1zaHJpbms6MjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXVuZGVybGF5LWltYWdle3BvaW50ZXItZXZlbnRzOmF1dG87bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmUtY29udGFpbmVye3dpZHRoOjEwMCU7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToyLjV2dztmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KXsueXRwLWFkLXVuZGVybGF5LWhlYWRsaW5le2ZvbnQtc2l6ZTo0MHB4fX0ueXRwLWFkLXVuZGVybGF5LWRlc2NyaXB0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BhZGRpbmctYm90dG9tOjQwcHh9Lnl0cC1hZC11bmRlcmxheS1kZXNjcmlwdGlvbi1jb250YWluZXJ7LXdlYmtpdC1mbGV4LXNocmluazoxO2ZsZXgtc2hyaW5rOjF9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXVuZGVybGF5LWNsaWNrYWJsZXt6LWluZGV4Ojg1MH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxOHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDtoZWlnaHQ6MzZweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tbWVkaXVte2JvcmRlci1yYWRpdXM6MjRweDtmb250LXNpemU6MThweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWxhcmdle2JvcmRlci1yYWRpdXM6MzJweDtmb250LXNpemU6MjJweDtwYWRkaW5nLWxlZnQ6MjRweDtwYWRkaW5nLXJpZ2h0OjI0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U5ZTllOX0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6IzAzMDMwMztib3JkZXItcmFkaXVzOjJweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NmI4ZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b246Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoycHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjM2VhNmZmO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzNlYTZmZn0uaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmd7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIDEuNXMsaGVpZ2h0IDEuNXMsbGVmdCAxLjVzLHRvcCAxLjVzO3RyYW5zaXRpb246d2lkdGggMS41cyxoZWlnaHQgMS41cyxsZWZ0IDEuNXMsdG9wIDEuNXN9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLXRyYW5zaXRpb257ei1pbmRleDotMX0uY29sb3ItY29udHJhc3QtZml4Lnl0cC1hZC1zdXJ2ZXl7YmFja2dyb3VuZC1jb2xvcjpibGFja30uY29sb3ItY29udHJhc3QtZml4IC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLWJhY2tncm91bmR7b3BhY2l0eTo2MCV9LmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24sLmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2NvbG9yOndoaXRlfS5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDp3aGl0ZX0ueXRwLWFkLWJhZGdle2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IsK3IjtwYWRkaW5nLWlubGluZTo0cHh9Lnl0cC1hZC1iYWRnZV9fcG9kLWluZGV4OmJlZm9yZXtjb250ZW50OiLCtyI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLWJhZGdlLS1zdGFya3tjb2xvcjojZmZmO29wYWNpdHk6Ljc1O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1iYWRnZS0tc3RhcmsgLnl0cC1hZC1iYWRnZV9fdGV4dHtmb250LXdlaWdodDo3MDB9Lnl0cC1hZC1iYWRnZS0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXJ7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjhweDt0ZXh0LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjUpO2xldHRlci1zcGFjaW5nOi4zNXB4fS55dHAtYWQtYmFkZ2UtLXN0YXJrLWNsZWFuLXBsYXllciAueXRwLWFkLWJhZGdlX190ZXh0LS1jbGVhbi1wbGF5ZXJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXItaW9ze2xldHRlci1zcGFjaW5nOi4xcHh9Lnl0cC1hZC1ncmlkLWNhcmQtY29sbGVjdGlvbntkaXNwbGF5OmdyaWQ7Z2FwOjhweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dHttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1hbGlnbi1zZWxmOnN0cmV0Y2g7YWxpZ24tc2VsZjpzdHJldGNoOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fYnV0dG9ue21hcmdpbjoxMnB4IDE2cHggMTJweCAxMnB4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHg7bWluLXdpZHRoOjB9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2hlYWRsaW5le2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxLjhyZW07LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbiA6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjFweDt3aWR0aDotd2Via2l0LW1heC1jb250ZW50O3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9uIDpub3QoOmZpcnN0LWNoaWxkKXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxfS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbl9fbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ueXRwLWFkLXBvZC1pbmRleHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDtsZWZ0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1wb2QtaW5kZXg6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLXBvZC1pbmRleC0tc3Rhcmt7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjI4cHg7dGV4dC1zaGFkb3c6MCAwIDE2cHggcmdiYSgwLDAsMCwuNSk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWFkLXBvZC1pbmRleC0tbXdlYntmb250LXdlaWdodDo2MDB9Lnl0cC1hZC1wb2QtaW5kZXgtLW13ZWItaW9ze2xldHRlci1zcGFjaW5nOi0uMnB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wb2QtaW5kZXgtLWF1dG9oaWRle2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Zm9udC13ZWlnaHQ6NTAwO2JvcmRlcjpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYWQtYnV0dG9uLXZtX190ZXh0e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWFkLWJ1dHRvbi12bV9faWNvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0e2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MCAxMnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWNvbXBhY3QgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS10cmFpbGluZ3std2Via2l0LW1hcmdpbi1zdGFydDo0cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC1tYXJnaW4tZW5kOi00cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS1sZWFkaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0Oi00cHg7bWFyZ2luLWlubGluZS1zdGFydDotNHB4Oy13ZWJraXQtbWFyZ2luLWVuZDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHR7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1zaXplOjE0cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtZGVmYXVsdCAueXRwLWFkLWJ1dHRvbi12bV9faWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLXRyYWlsaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjZweDstd2Via2l0LW1hcmdpbi1lbmQ6LTZweDttYXJnaW4taW5saW5lLWVuZDotNnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjZweDttYXJnaW4taW5saW5lLWVuZDo2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2V7aGVpZ2h0OjQ4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHg7Zm9udC1zaXplOjE4cHg7cGFkZGluZzowIDI0cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1sYXJnZSAueXRwLWFkLWJ1dHRvbi12bV9faWNvbi0tdHJhaWxpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6OHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4Oy13ZWJraXQtbWFyZ2luLWVuZDotOHB4O21hcmdpbi1pbmxpbmUtZW5kOi04cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LThweDttYXJnaW4taW5saW5lLXN0YXJ0Oi04cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLXRyYW5zcGFyZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDU1NmJmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtd2hpdGV7Y29sb3I6IzBmMGYwZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOWQ5ZDl9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZDlkOWQ5fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6cmdiKDE1LDE1LDE1KX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVkLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNjViOGZmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZHtjb2xvcjojZjFmMWYxO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtbW9uby1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHl7cGFkZGluZzowfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHkgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwYWRkaW5nOjAgNnB4fS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjZmJjMDJkO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXRwLWFkLWRpc2Nsb3N1cmUtYmFubmVyX190ZXh0e2JhY2tncm91bmQ6bm9uZTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxZW07cGFkZGluZzo4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJfX2NoZXZyb257LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KTtib3R0b206ODZweDtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo1MnB4O2xpbmUtaGVpZ2h0OjUycHg7bWluLXdpZHRoOjgwcHg7b3BhY2l0eToxO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3otaW5kZXg6NDV9Lnl0cC1lbWJlZCAueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7Ym90dG9tOjc4cHh9Lnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLWJpZy1tb2RlIC55dHAtYWQtbm90aWZpY2F0aW9uLWNvbnRhaW5lcntib3R0b206OTVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVye2JvdHRvbToyNXB4fS55dHAtcHJldmlldy1hZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtcHJldmlldy1hZFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJldmlldy1hZF9fdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMXB4O3BhZGRpbmc6MCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtcHJldmlldy1hZF9fdGV4dC0tZm9udC0tc21hbGx7Zm9udC1zaXplOjEycHg7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjB9Lnl0cC1wcmV2aWV3LWFkX190ZXh0LS1wYWRkaW5nLS13aWRle3BhZGRpbmc6MCAxNHB4fS55dHAtcHJldmlldy1hZF9faW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjY1cHg7aGVpZ2h0OjM2cHg7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXByZXZpZXctYWR7cmlnaHQ6MTJweDtib3R0b206NzVweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9Lnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcHJldmlldy1hZHtib3R0b206MjVweH0ueXRwLWF1dG9oaWRlIC55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLWF1dG9oaWRle2Rpc3BsYXk6bm9uZX0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRze2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJ7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjY0cHg7cGFkZGluZy1yaWdodDo2NHB4O21hcmdpbi1sZWZ0OmNhbGMoNjAlICsgMTZweCl9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2hlYWRlcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19hZF9hdmF0YXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tcmlnaHQ6MTZweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19oZWFkbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2J1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjI0cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2dyaWRfY2FyZF9jb2xsZWN0aW9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O292ZXJmbG93OmhpZGRlbiBhdXRvfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHNfX2NvbnRlbnRfY29udGFpbmVyX19hZF9idXR0b24+YnV0dG9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHMgLnl0cC1hZC1hdmF0YXItLXNpemUtcmVzcG9uc2l2ZXt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dHAtaW1hZ2UtYmFja2dyb3VuZC0tZ3JhZGllbnQtdmVydGljYWx7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjEycHg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjk1KTtjdXJzb3I6cG9pbnRlcjttYXgtd2lkdGg6NDAwcHg7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0tbGFyZ2V7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7bWluLXdpZHRoOjIwMHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7d2lkdGg6MDttYXgtd2lkdGg6MH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fYXZhdGFyX2FuZF90ZXh0X2NvbnRhaW5lci0tbGFyZ2V7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1zZWxmOnN0YXJ0O2FsaWduLXNlbGY6c3RhcnR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2FkX2F2YXRhci0tbGFyZ2V7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fdGV4dF9jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MCAyMHB4IDAgOHB4O21heC13aWR0aDoxOTJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7Y29sb3I6IzBmMGYwZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZS0tbGFyZ2V7Y29sb3I6I2RkZH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWxhcmdle2NvbG9yOiNkZGR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17bWF4LXdpZHRoOjE0MHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdle21hcmdpbi10b3A6OHB4O21pbi13aWR0aDoxMDAlOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiMwZjBmMGY7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzY1YjhmZn0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJke29wYWNpdHk6Ljg2O3BhZGRpbmc6OHB4O21pbi1oZWlnaHQ6NDBweDttYXgtd2lkdGg6MTkwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQtLWxhcmdle21pbi13aWR0aDphdXRvfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0taW5hY3RpdmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXt3aWR0aDowO21heC13aWR0aDowfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZCAueXRwLWFkLWJ1dHRvbi12bSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9faGVhZGxpbmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbntmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWhpZGRlbi0taW4tLXNtYWxsLS1wbGF5ZXIsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbi0taGlkZGVuLS1pbi0tc21hbGwtLXBsYXllcntkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX190ZXh0X2NvbnRhaW5lciwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX3RleHRfY29udGFpbmVye3BhZGRpbmc6MCA0cHggMCA2cHg7bWF4LXdpZHRoOjE0NnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2Rlc2NyaXB0aW9ue2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0zcHg7d2lkdGg6MTAwJTtoZWlnaHQ6M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMik7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1wcm9ncmVzcy1iYXIgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXIsLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBlcnNpc3RlbnQtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntvcGFjaXR5OjE7Ym90dG9tOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzIyMjtoZWlnaHQ6NHB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVyLS1jbGVhbi1wbGF5ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyO2hlaWdodDozcHh9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmMwfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7bGVmdDoxMnB4O2JvdHRvbToxMnB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTo2NXB4O2N1cnNvcjpkZWZhdWx0O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3otaW5kZXg6ODUwOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1kdXJhdGlvbi1yZW1haW5pbmd7bWFyZ2luLWxlZnQ6MH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo5NXB4O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3NraXAtb3ItcHJldmlldy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MnB4O3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0IC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7ei1pbmRleDoyN30ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206NzRweDtsZWZ0OjQwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6NDBweDtib3R0b206MTA0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtZGlzY2xvc3VyZS1iYW5uZXItY29udGFpbmVye2xlZnQ6NDBweDt0b3A6NjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTJweDtib3R0b206NDVweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3BsYXllci1jYXJkLWNvbnRhaW5lcntsZWZ0OjEycHg7Ym90dG9tOjc1cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7bGVmdDoxMnB4O3RvcDoxMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXBvZC1pbmRleCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1wb2QtaW5kZXgsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNTBweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206OXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206MzlweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWRpc2Nsb3N1cmUtYmFubmVyLWNvbnRhaW5lcntsZWZ0OjE2cHg7dG9wOjE2cHh9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbToxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo0NXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjNweHZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpMjRweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc21hbGwtbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1zbWFsbC1tb2RlLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOjdweH0ueXRwLXNtYWxsLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjM3cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHhze3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHN7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS1ze3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1hZC1hdmF0YXItLXNpemUtbXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtYWQtYXZhdGFyLS1zaXplLWx7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS14bHt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtYWQtYXZhdGFyLS1jaXJjdWxhcntib3JkZXItcmFkaXVzOjUwJX0ueXRwLWFkLWF2YXRhci0tcm91bmRlZC1jb3JuZXJ7Ym9yZGVyLXJhZGl1czoyMCV9Lnl0cC1hZC1kZXRhaWxzLWxpbmV7ZGlzcGxheTpibG9ja30ueXRwLWFkLWRldGFpbHMtbGluZV9fdGV4dC0tc3R5bGUtc3RhbmRhcmR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXR7ei1pbmRleDo2NDtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2JhY2tncm91bmQtaW1hZ2UtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1pbWFnZS1iYWNrZ3JvdW5kLWltYWdle2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2t9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50e3otaW5kZXg6NjU7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMTVweDt3aWR0aDo0MzBweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWF2YXRhci1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2hlYWRsaW5le3BhZGRpbmc6MjhweCAwIDEwcHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2RldGFpbHMtbGluZS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo2cHggMDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2luc3RyZWFtLWluZm8tY29udGFpbmVye2JvdHRvbTo2cHg7Y3Vyc29yOmRlZmF1bHQ7bGVmdDoxOHB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSk7ei1pbmRleDo4NTA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWJhZGdlOmFmdGVye3BhZGRpbmctcmlnaHQ6dW5zZXR9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYmFkZ2V7bWFyZ2luLWxlZnQ6NXB4fS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWRldGFpbHMtbGluZXtwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYnV0dG9uLXZtOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX3RpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NjV9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6NjRweDtoZWlnaHQ6NjRweH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1hZC1kZXRhaWxzLWxpbmVfX3RleHQtLXN0eWxlLXJlc3BvbnNpdmV7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jazt0b3A6NTAlO3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi1sZWZ0OjA7bGVmdDowO3RleHQtYWxpZ246bGVmdDt3aWR0aDoyNDVweDtwYWRkaW5nOjAgMCAwIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19hZC1hdmF0YXItY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjAgYXV0byAwIC02cHg7cGFkZGluZzo2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50fS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG8gMCAwfS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmV7cGFkZGluZzoxMHB4IDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19kZXRhaWxzLWxpbmUtY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNraXAtYWR7ei1pbmRleDo4NTB9Lnl0cC1za2lwLWFkLWJ1dHRvbntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztib3JkZXI6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiNmZmY7ZGlyZWN0aW9uOmx0cjttaW4td2lkdGg6MDtwYWRkaW5nOjAgNnB4IDAgMTZweDt3aWR0aDphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXNraXAtYWQtYnV0dG9uW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgyNTUsMjU1LDI1NSwuMikpLHRvKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSksLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoMTUsMTUsMTUpKSx0byhyZ2IoMTUsMTUsMTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDE1LDE1LDE1KSxyZ2IoMTUsMTUsMTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1c3tiYWNrZ3JvdW5kOnJnYigxNSwxNSwxNSk7b3V0bGluZTpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLXNraXAtYWQtYnV0dG9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC55dHAtc2tpcC1hZC1idXR0b25fX2ljb24gc3ZnIHBhdGh7ZmlsbDojMGYwZjBmfS55dHAtc2tpcC1hZC1idXR0b25fX3RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0Om5vcm1hbDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1za2lwLWFkLWJ1dHRvbl9faWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2tpcC1hZC1idXR0b246YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1za2lwLWFkLWJ1dHRvbntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1za2lwLWFkLWJ1dHRvbiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KXZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1za2lwLWFkLWJ1dHRvbntyaWdodDoxMnB4O2JvdHRvbTo3NXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9c3ZnLnl0cC10aW1lZC1waWUtY291bnRkb3due2JhY2tncm91bmQ6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MjBweDtvcGFjaXR5Oi40Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3dpZHRoOjIwcHh9Y2lyY2xlLnl0cC10aW1lZC1waWUtY291bnRkb3duX19iYWNrZ3JvdW5ke3N0cm9rZTpub25lO2ZpbGw6bm9uZX1jaXJjbGUueXRwLXRpbWVkLXBpZS1jb3VudGRvd25fX2lubmVye2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTBweDtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtdGltZWQtcGllLWNvdW50ZG93bl9fb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmt7Y29sb3I6I2ZmZjtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tbGVmdDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lOy13ZWJraXQtYWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24taXRlbXM6YmFzZWxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbms6YmVmb3Jle2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LThweH0ueXRwLXZpc2l0LWFkdmVydGlzZXItbGluazpob3ZlciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eToxO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OjAgMCAxNnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtaXYtdmlkZW8tY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWl2LXZpZGVvLWNvbnRlbnQgLnZpZGVvLWFubm90YXRpb25ze2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwMDA7cGFkZGluZzo1cHg7dGV4dC1hbGlnbjpsZWZ0O3dvcmQtd3JhcDpicmVhay13b3JkO3otaW5kZXg6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnZpZGVvLWxlZ2FjeS1hbm5vdGF0aW9ucyAuYW5ub3RhdGlvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDtsZWZ0OjA7b3BhY2l0eTouODU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTZweH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b246aG92ZXJ7b3BhY2l0eToxfS5hbm5vdGF0aW9uLWxpbmstaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtc2l6ZTpjb250YWluO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uLXR5cGUtY3VzdG9te3BhZGRpbmc6MDtjdXJzb3I6ZGVmYXVsdH0uYW5ub3RhdGlvbi10eXBlLWN1c3RvbT5kaXZ7ZmxvYXQ6bGVmdDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5pdi1jbGljay10YXJnZXR7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLml2LWJyYW5kaW5nLC55dHAtYWQtb3ZlcmxheS1vcGVuIC5pdi1wcm9tb3tkaXNwbGF5Om5vbmV9Lml2LWJyYW5kaW5ne2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDozMDtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4zM3M7dHJhbnNpdGlvbi1kZWxheTouMzNzfS55dHAtaXYtZHJhd2VyLW9wZW4gLml2LWJyYW5kaW5ne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1vdXRlcntib3R0b206MDtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtYnJhbmRpbmcgLmJyYW5kaW5nLWNvbnRleHQtY29udGFpbmVyLWlubmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym90dG9tOjA7Y29sb3I6I2VlZTttYXgtd2lkdGg6MjQ2cHg7b3BhY2l0eTowO3JpZ2h0OjA7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci1yYWRpdXM6OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtYnJhbmRpbmctYWN0aXZlIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1pbm5lcntvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVyIGltZ3tkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc7cG9zaXRpb246cmVsYXRpdmV9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVye2Zsb2F0OnJpZ2h0fS5pdi1icmFuZGluZyBpbWcuaXYtY2xpY2stdGFyZ2V0OmhvdmVye29wYWNpdHk6MX0uaXYtYnJhbmRpbmcgLml2LWJyYW5kaW5nLWNvbnRleHQtbmFtZXttYXgtd2lkdGg6MjE1cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDEwcHggNXB4fS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmV7cGFkZGluZzowIDEwcHggMTBweDtmb250LXNpemU6MTFweDtjb2xvcjojYWFhfS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmUtY2FyZXR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHQgLml2LWJyYW5kaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lml2LXByb21vLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucywuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmRpdiwuaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHh9Lml2LXByb21ve2JvdHRvbTo2MXB4O2xlZnQ6MDt6LWluZGV4OjMxO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2NjYztmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLml2LXByb21ve2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLml2LXByb21ve2JvdHRvbTo3MHB4fS5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjg2cHh9Lnl0cC1lbWJlZC5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjc4cHh9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYmlnLW1vZGUuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjk1cHh9Lml2LXByb21vOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cz5hLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+ZGl2LC5pdi1wcm9tbz5kaXZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmF7Y29sb3I6I2NjY30uaXYtcHJvbW8uaXYtcHJvbW8taW5hY3RpdmV7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1ne2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7ei1pbmRleDoxO3dpZHRoOjQwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHAsLml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZywuaXYtcHJvbW8gLml2LXByb21vLWltZyAuaXYtcHJvbW8tcGxheWxpc3QtbGVuZ3RoLC5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby1iYWRnZS1saXZle21hcmdpbjo0cHggOHB4IDA7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQtY29sb3I6I2U2MjExNztjb2xvcjojZmZmfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGgsLml2LXByb21vIC5pdi1wcm9tby1pbWcgLml2LXByb21vLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGh7dG9wOjA7cmlnaHQ6MDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO3dpZHRoOjMwcHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo0MHB4fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntib3R0b206MnB4O3JpZ2h0OjJweDtwYWRkaW5nOjNweCAycHg7bWF4LXdpZHRoOjMycHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLXJpZ2h0OjMxcHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzExcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1heC13aWR0aCAuMnMgZWFzZS1vdXQscGFkZGluZy1yaWdodCAuMnMgZWFzZS1vdXQ7dHJhbnNpdGlvbjptYXgtd2lkdGggLjJzIGVhc2Utb3V0LHBhZGRpbmctcmlnaHQgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLWxlZnQ6NDBweDttYXgtd2lkdGg6MzUxcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tYnV0dG9uLWNvbnRhaW5lciwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgcHttYXJnaW46M3B4IDhweCAtNHB4O2xpbmUtaGVpZ2h0OjE4cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZ3tjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMnB4fS5pdi1wcm9tby10eHQgcCBzcGFuLC5pdi1wcm9tby10eHQgcCBzdHJvbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjI2NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1wcm9tby13aXRoLWJ1dHRvbiAuaXYtcHJvbW8tdHh0IHAgc3BhbiwuaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLXR4dCBwIHN0cm9uZ3ttYXgtd2lkdGg6MTg0cHh9Lml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHNwYW4sLml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHN0cm9uZ3ttYXJnaW4tYm90dG9tOi02cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MjBweDttYXgtd2lkdGg6MjQ0cHg7Y29sb3I6I2ZmZDEwMH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDowO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQ6aG92ZXIgLml2LXByb21vLWxpbms6YWZ0ZXJ7b3BhY2l0eToxfS5pdi1wcm9tby1idXR0b24tY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMxcHh9Lml2LWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6MCAxMHB4O291dGxpbmU6MDtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxMXB4O3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Km92ZXJmbG93OnZpc2libGU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4wNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5pdi1idXR0b246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWJ1dHRvbjpmb2N1cywuaXYtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjQpfS5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzLC5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uaXYtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0uaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7b3BhY2l0eTouNTtjdXJzb3I6YXV0bzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lml2LWJ1dHRvbiwuaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxNjdhYzY7YmFja2dyb3VuZDojMTY3YWM2O2NvbG9yOiNmZmZ9Lml2LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiMxMjZkYjN9Lml2LWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0uaXYtYnV0dG9uIC5pdi1idXR0b24tY29udGVudHtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc31hLml2LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTAwJX0uaXYtcHJvbW8tYnV0dG9ue3dpZHRoOjY0cHg7bWFyZ2luOjZweCA4cHh9Lml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2UsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmR7dG9wOjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnN7d2lkdGg6MzFweH0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tZXhwYW5ke2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXIsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmQ6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2V7b3BhY2l0eToxfS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXJ7bWFyZ2luOjE2cHggMTBweCAxNXB4IDEycHg7b3BhY2l0eTouNX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZDphZnRlcnttYXJnaW46MTZweCAxMnB4IDE1cHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcsLml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcgaW1ne3dpZHRoOjcxcHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctbGVmdDo3MXB4O21heC13aWR0aDozODJweH0uaXYtcHJvbW8uaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZy1yaWdodDo4MHB4fS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZCwuaXYtcHJvbW8uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1jb250ZW50c3std2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjVzO3RyYW5zaXRpb24tZGVsYXk6LjVzfS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MjhweDttYXgtd2lkdGg6MCFpbXBvcnRhbnR9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aXtsZWZ0OjE2cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHtwYWRkaW5nLWxlZnQ6NjBweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2xpbmUtaGVpZ2h0OjY0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSwueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cz5hLC55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NjRweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b257bWluLXdpZHRoOjExMHB4O2hlaWdodDozNnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZ3t0b3A6NnB4O2xlZnQ6NnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1pbWcgaW1ne2hlaWdodDo1MnB4O3dpZHRoOjUycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7Zm9udC1zaXplOjE2cHg7cGFkZGluZy10b3A6NHB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbntmb250LXNpemU6MTVweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjEycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttaW4td2lkdGg6MjIwcHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjM4cHg7bGVmdDo0MnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbnttYXJnaW46MCAxMnB4IDAgMH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbnt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtsZWZ0OjEycHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3ttYXgtd2lkdGg6NDAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjVzLG1heC13aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRzey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNXM7dHJhbnNpdGlvbi1kZWxheTouNXN9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXIgLml2LXByb21vLWNvbnRlbnRze2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWxlZnQ6NTJweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBwe2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOjE1MHB4O2xpbmUtaGVpZ2h0OjU2cHg7cG9zaXRpb246c3RhdGljfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b257bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjowIDhweCAwIDB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWFjdGlvbnMsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7ZGlzcGxheTpub25lfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduLC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cywuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+ZGl2e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjU2cHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZ3toZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3RvcDo0cHg7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLXJvdW5kLWV4cGFuZC1pY29ue29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLWxlZnQ6MDt6LWluZGV4Ojg1MDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO3RvcDozNHB4O2xlZnQ6MzhweDtiYWNrZ3JvdW5kLWNvbG9yOiM0Njg4ZjE7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAycHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMjQpO2JveC1zaGFkb3c6MCAwIDJweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCAycHggMCByZ2JhKDAsMCwwLC4yNCk7b3BhY2l0eTowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiJ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgc3Ryb25ne2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjJweDtjb2xvcjojMzMzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3BhZGRpbmc6OHB4IDIwcHggMCAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM3Njc2NzZ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWNvbnRlbnRze3dpZHRoOjB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWltZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1pbmFjdGl2ZSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzLC55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZywueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZzo0cHggNHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7cGFkZGluZy10b3A6MDtmb250LXNpemU6MTJweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbmt7cGFkZGluZy10b3A6NHB4O2ZvbnQtc2l6ZToxMXB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjI2cHg7bGVmdDozMHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1ne3RvcDowO2xlZnQ6MH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWd7b3BhY2l0eTouODstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzfS5pdi1kcmF3ZXIsLml2LWRyYXdlci1jb250ZW50LC5pdi1kcmF3ZXItaGVhZGVye3Bvc2l0aW9uOmFic29sdXRlfS5pdi1kcmF3ZXJ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt6LWluZGV4OjMzO3dpZHRoOjE3N3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtZHJhd2VyLXNtYWxsLml2LWRyYXdlcnt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZy5pdi1kcmF3ZXJ7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDt3aWR0aDoyOTVweH1bZGlyPWx0cl0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTc3cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KX1bZGlyPXJ0bF0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE3N3B4KX0ueXRwLWF1dG9oaWRlLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye2Rpc3BsYXk6bm9uZX0uaXYtZHJhd2VyLWNvbnRlbnQgKnt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1pdi1kcmF3ZXItb3BlbiAuaXYtZHJhd2Vyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uaXYtZHJhd2VyLWhlYWRlcnt0b3A6MDtwYWRkaW5nOjE2cHggMzJweCAwIDE2cHg7d2lkdGg6MTc3cHg7aGVpZ2h0OjQxcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjlweCAyNHB4IDAgMTJweDtoZWlnaHQ6MjhweDt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjIwcHggNDhweCAwIDMycHg7aGVpZ2h0OjY0cHg7d2lkdGg6Mjk1cHh9Lml2LWRyYXdlci1oZWFkZXItdGV4dHtmb250LXdlaWdodDo1MDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaHRtbDUtdmlkZW8tcGxheWVyIC5pdi1kcmF3ZXItaGVhZGVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtZHJhd2VyLWNvbnRlbnR7dG9wOjQxcHg7Ym90dG9tOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzowIDE2cHg7d2lkdGg6MTQ1cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0fS5pdi1kcmF3ZXItc21hbGwgLml2LWRyYXdlci1jb250ZW50e3BhZGRpbmc6MCAxMnB4O3RvcDoyOHB4O3dpZHRoOjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1kcmF3ZXItY29udGVudHtwYWRkaW5nOjAgMzJweDt0b3A6NjRweDt3aWR0aDoyMzFweH0uaXYtZHJhd2VyLXNjcm9sbGVkIC5pdi1kcmF3ZXItY29udGVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNCl9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAyLDEwMiwxMDIsLjUpfS5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWF1dG9oaWRlIC5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtZHJhd2VyLWNvbnRlbnQ6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzY2NiFpbXBvcnRhbnR9Lml2LWRyYXdlci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOjE2cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXJ9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjhweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjI0cHh9Lml2LWRyYXdlci1jbG9zZS1idXR0b246YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1kcmF3ZXItY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uaXYtY2FyZCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpmb2N1cywuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpob3ZlcntkaXNwbGF5OmJsb2NrO2NvbG9yOiM3Njc2NzY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWNhcmR7bWFyZ2luLWJvdHRvbToxNnB4O3dpZHRoOjE0NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czo4cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZHt3aWR0aDoxMDlweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZHt3aWR0aDoyMzFweH0uaXYtY2FyZDpob3ZlciAuaXYtY2FyZC1wcmltYXJ5LWxpbmt7Y29sb3I6IzE2N2FjNiFpbXBvcnRhbnR9Lml2LWNhcmQgaDIsLml2LWNhcmQtYWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53ZWJraXQgLml2LWNhcmQgaDI6YWZ0ZXIsLndlYmtpdCAuaXYtY2FyZC1hY3Rpb246YWZ0ZXJ7Y29udGVudDoi4oCMIjtwb3NpdGlvbjpzdGF0aWM7dmlzaWJpbGl0eTpoaWRkZW59Lml2LWNhcmQgaDJ7bWFyZ2luOjAgMCA4cHg7LXdlYmtpdC1saW5lLWNsYW1wOjY7bWF4LWhlaWdodDo5MHB4O2NvbG9yOiMzMzM7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZCBoMntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NzJweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZCBoMntmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6MTQ0cHh9Lml2LWNhcmQgLml2LWNhcmQtYWN0aW9uLC5pdi1jYXJkIC5pdi1jYXJkLW1ldGEtaW5mbywuaXYtY2FyZCBwe21hcmdpbjotNnB4IDAgMnB4fS5pdi1jYXJkLW1ldGEtaW5mb3tsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowfS5pdi1jYXJkLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMmUyZTI7d2lkdGg6MTQ1cHg7aGVpZ2h0OjE0NXB4O2JhY2tncm91bmQ6I2YxZjFmMSBuby1yZXBlYXQgNTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtjb2xvcjojZmZmfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2V7d2lkdGg6MTA5cHg7aGVpZ2h0OjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWltYWdle3dpZHRoOjIzMXB4O2hlaWdodDoyMzFweH0uaXYtY2FyZC1pbWFnZS10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3BhZGRpbmc6MjBweCAxMHB4IDhweDt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsLjYpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCx0cmFuc3BhcmVudCksdG8ocmdiYSgwLDAsMCwuNikpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDAsMCwwLC42KSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2UtdGV4dHtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1pbWFnZS10ZXh0e2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMnB4IDE2cHh9Lml2LWNhcmQtaW1hZ2UtdGV4dCAueXQtYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0uaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6OHB4IDEwcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6MTJweCAxNnB4fS5pdi1jYXJkLWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uaXYtY2FyZC1jb250ZW50PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaXYtY2FyZC1hY3Rpb24sLml2LWNhcmQtbWVzc2FnZXtmb250LXdlaWdodDo1MDB9Lml2LWNhcmQtbWVzc2FnZXttYXJnaW4tYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTJlMmUyO3BhZGRpbmctYm90dG9tOjhweH0uaXYtY2FyZC1hY3Rpb257LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDo1MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWFjdGlvbntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1hY3Rpb257Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0OjgwcHh9Lml2LWNhcmQtYWN0aW9uIHNwYW57d2hpdGUtc3BhY2U6bm9ybWFsfS5pdi1jYXJkLWFjdGlvbi1pY29ue3BhZGRpbmc6MCAwIDAgMzBweDttaW4taGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyNHB4IGF1dG87YmFja2dyb3VuZC1zaXplOjI0cHggYXV0b30uaXYtY2FyZC1saW5rLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9Lml2LWNhcmQtZXBpc29kZSBoMiwuaXYtY2FyZC1tb3ZpZSBoMiwuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtY2FyZC12aWRlbyBoMnstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0OjQ1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtbW92aWUgaDIsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6MzZweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLW1vdmllIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6NzJweH0uaXYtY2FyZC1jaGFubmVsIGgyey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6MzBweH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDoyNHB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDo0OHB4fS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjgycHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC12aWRlbyAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6NjFweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIC5pdi1jYXJkLWltYWdle2hlaWdodDoxMjlweH0uaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MjA5cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MTU3cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjMzNXB4fS5pdi1jYXJkLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1cHg7cmlnaHQ6NXB4O3BhZGRpbmc6MnB4IDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2Utb3ZlcmxheXtkaXNwbGF5OnRhYmxlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NjNweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2NvbG9yOiNjZmNmY2Y7Zm9udC1zaXplOjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xpbmUtaGVpZ2h0OjIxcHh9Lml2LWNhcmQtcGxheWxpc3QtdmlkZW8tY291bnR7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaXYtY2FyZC1wbGF5bGlzdC12aWRlby1jb3VudDphZnRlcntkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtY2FyZC1wb2xse3Bvc2l0aW9uOnJlbGF0aXZlfS5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjEyNXB4O2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wb2xsIHVse21heC13aWR0aDo4OXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjIxMXB4fS5pdi1jYXJkLXBvbGwgZmllbGRzZXR7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowfS5pdi1jYXJkLXBvbGwgbGFiZWx7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtwYWRkaW5nLWJvdHRvbTo1cHg7bWluLWhlaWdodDoxNHB4O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAwIHRvcCA1cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNDFOQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OEwzTjJaejQ9KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAuaXYtY2FyZC1wb2xsIGxhYmVsLml2LWNhcmQtcG9sbC1jaG9pY2UtZm9jdXNlZHstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuNCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KX0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC12b3RlZCBsYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lml2LWNhcmQtcG9sbC5pdi1jYXJkLXBvbGwtdm90ZWQgbGFiZWwuaXYtY2FyZC1wb2xsLWNob2ljZS1jaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpFMk4yRmpOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OFkybHlZMnhsSUdONFBTSTRMalVpSUdONVBTSTRMalVpSUhJOUlqUXVNak1pSUdacGJHdzlJaU14TmpkaFl6WWlMejQ4TDNOMlp6ND0pO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uaXYtY2FyZC1wb2xsIGlucHV0W3R5cGU9Y2hlY2tib3hde29wYWNpdHk6MDt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O21hcmdpbjo1cHggMCAwO2Zsb2F0OmxlZnR9Lml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6MjVweDtwYWRkaW5nLXRvcDo4cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e3BhZGRpbmctdG9wOjJweH0uaXYtY2FyZC1wb2xsIGxpK2xpe21hcmdpbi10b3A6OHB4fS5pdi1jYXJkLXBvbGwgLml2LWNhcmQtcG9sbC1yZXN1bHR7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6I2RmZGZkZjt2aXNpYmlsaXR5OmhpZGRlbn0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtcmVzdWx0IC5pdi1jYXJkLXBvbGwtcmVzdWx0LWJhcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzE2N2FjNjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5pdi1jYXJkLXBvbGwuaXYtY2FyZC1wb2xsLWV4cGFuZGVkIC5pdi1jYXJkLXBvbGwtcmVzdWx0e3Zpc2liaWxpdHk6dmlzaWJsZX0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtY2hvaWNlLXBlcmNlbnR7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjVweH0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC1leHBhbmRlZCAuaXYtY2FyZC1wb2xsLWNob2ljZS1wZXJjZW50e2Rpc3BsYXk6YmxvY2t9Lml2LWNhcmQtc2lnbi1pbnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cGFkZGluZzo4cHggMTBweH0uaXYtY2FyZC1zaWduLWluIHB7bWFyZ2luOjAgMCA4cHh9Lml2LWNhcmQtc2lnbi1pbiBhe2NvbG9yOiNmZmZ9Lml2LWNhcmQtdW5hdmFpbGFibGU6aG92ZXIgLml2LWNhcmQtY29udGVudCwuaXYtY2FyZC11bmF2YWlsYWJsZTpob3ZlciAuaXYtY2xpY2stdGFyZ2V0e3Zpc2liaWxpdHk6aGlkZGVufS5pdi1jYXJkLXVuYXZhaWxhYmxlOmhvdmVyIC5pdi1jYXJkLXNpZ24taW57dmlzaWJpbGl0eTp2aXNpYmxlfS5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyLC5pdi1jYXJkLXNwb25zb3JlZHtwb3NpdGlvbjpyZWxhdGl2ZX0uaXYtY2FyZC1zcG9uc29yZWR7bWFyZ2luOjAgMCA4cHg7Y29sb3I6Izk5OX0uaXYtYWQtaW5mby1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4fS5pdi1hZC1pbmZvLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweH0uaXYtYWQtaW5mb3tib3R0b206MjFweDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkICMwMDA7cGFkZGluZzo3cHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEycHh9Lml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGEsLml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNn0uaXYtYWQtaW5mby1jb250YWluZXIgLml2LWFkLWluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7bGVmdDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3dpZHRoOjA7aGVpZ2h0OjB9Lml2LWFkLWluZm8tY2FsbG91dHtib3R0b206MTZweDtib3JkZXItdG9wLWNvbG9yOiMwMDB9Lml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7Y29udGVudDoiIjtib3R0b206MTdweDtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lml2LWFkLWluZm8sLml2LWFkLWluZm8tY2FsbG91dCwuaXYtYWQtaW5mby1pY29uLWNvbnRhaW5lcjphZnRlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyAuMXM7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIC4xc30uaXYtYWQtaW5mby1jb250YWluZXI6aG92ZXIgLml2LWFkLWluZm8sLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDo0NXB4O2NvbG9yOiM2NjZ9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7bWF4LWhlaWdodDozNnB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXByb2R1Y3QtbGlzdGluZyBoMnttYXgtaGVpZ2h0OjcycHh9Lml2LWNhcmQtb2ZmZXItcHJpY2V7bWFyZ2luLWJvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHg7Y29sb3I6IzMzM30uaXYtY2FyZC1vZmZlci1tZXJjaGFudHtjb2xvcjojMDk3YTQxfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNjBweDtoZWlnaHQ6Y2FsYygxMDAlIC0gMzlweCk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgYXV0bzt6LWluZGV4OjM3fS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e3dpZHRoOjEwMCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXstLXcydy1zdGFydC1iYWNrZ3JvdW5kLWNvbG9yOiMwMDA7LS13MnctZW5kLWJhY2tncm91bmQtY29sb3I6IzAwMDtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6MTBweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjI0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNvdW50ZG93bi1udW1iZXJ7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXItb25seSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LW5vLWFsdGVybmF0aXZlLWhlYWRlciAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgIzRjNGM0Yzstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjM2MHB4O2hlaWdodDoyMDJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsOmhvdmVyLC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtib3R0b206NHB4O3JpZ2h0OjRweDtwYWRkaW5nOjAgNHB4O2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtjb2xvcjojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtbGlzdC1vdmVybGF5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbG9hdDpyaWdodDt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtbWl4LXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLXRvcDozMCV9Lnl0cC1hdXRvbmF2LW1peC1pY29ue3dpZHRoOjQyJTtoZWlnaHQ6MzAlO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMmFXVjNRbTk0UFNJd0lEQWdNellnTXpZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzbDBjQzF6ZG1jdGJXbDRJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxdmNHRmphWFI1UFNJdU1UVWlJSE4wY205clpTMTNhV1IwYUQwaU1pSXZQanh3WVhSb0lHbGtQU0o1ZEhBdGMzWm5MVzFwZUNJZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJMUxqWTFJREU0WXkwdU1ESWdNaTR6TVMwdU9EY2dOQzQwTVMweUxqSTFJRFl1TURac0xqa3VPVFJqTVM0Mk9TMHhMamdnTWk0M0xUUXVNamNnTWk0M0xUZHpMVEV1TURFdE5TNHlNUzB5TGpjdE4yd3RMamt1T1ROQk9TNDFOQ0E1TGpVMElEQWdNQ0F4SURJMUxqWTFJREU0YlMweE5TNHpJREJqTGpBeExUSXVNekl1T0RZdE5DNDBNaUF5TGpJMUxUWXVNRGRzTFM0NUxTNDVNME14TUNBeE1pNDNPU0E1SURFMUxqSTNJRGtnTVRoek1TQTFMaklnTWk0M0lEZHNMamt0TGprMFl5MHhMak01TFRFdU5qVXRNaTR5TkMwekxqYzFMVEl1TWpVdE5pNHdObTB5TGpjZ01HTXRMakEwTFRFdU56TXVORGt0TXk0d09TQXhMak0xTFRRdU1td3RMamt0TGprMFl5MHhMakV6SURFdU1qWXRNUzQ0SURJdU9Ua3RNUzQ0SURVdU1UUWdNQ0F4TGpZM0xqWTNJRE11TkNBeExqZ2dOQzQyTm13dU9TMHVPVE5qTFM0NE5pMHhMakV5TFRFdU16a3RNaTQwTnkweExqTTFMVE11TnpOdE9TMDFMakUwTFM0NUxqazBZeTQ0TlNBeExqRXhJREV1TXpnZ01pNDBOeUF4TGpNMUlEUXVNaTR3TXlBeExqSTJMUzQxSURJdU5qRXRNUzR6TlNBekxqY3piQzQ1TGprell6RXVNVEl0TVM0eU5pQXhMamd0TWk0NU9TQXhMamd0TkM0Mk5pQXdMVEl1TVRVdExqWTRMVE11T0RndE1TNDRMVFV1TVRSdExUVXVOVFVnTWk0NElETXVOaUF4TGpnM0xUTXVOaUF5TGpNemVpSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mb3ttYXJnaW4tdG9wOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206NnB4O21hcmdpbi1sZWZ0Oi0ycHg7d2lkdGg6NzRweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTNNQ0lnYUdWcFoyaDBQU0l4TmlJZ1ptbHNiRDBpYm05dVpTSStQSEpsWTNRZ2QybGtkR2c5SWpjd0lpQm9aV2xuYUhROUlqRTJJaUJtYVd4c1BTSWpabVptSWlCdmNHRmphWFI1UFNJdU1TSWdjbmc5SWpJaUx6NDhjR0YwYUNCbWFXeHNQU0lqWVdGaElpQmtQU0pOTWpBdU16VWdPQzQ0TTFZeE1tZ3RNUzQwT0ZZekxqUTNhRE11TWpaakxqazFJREFnTVM0M01TNHlOU0F5TGpJM0xqYzBMalUyTGpVdU9EUWdNUzR4Tmk0NE5DQXhMamszSURBZ0xqZzBMUzR5TnlBeExqUTVMUzQ0TWlBeExqazFMUzQxTlM0ME55MHhMak15TGpjdE1pNHpMamQ2YlRBdE1TNHhPV2d4TGpjNFl5NDFNeUF3SUM0NU15MHVNVElnTVM0eUxTNHpOeTR5T1MwdU1qVXVOREl0TGpZdU5ESXRNUzR3T0NBd0xTNDBOaTB1TVRRdExqZ3lMUzQwTWkweExqRmhNUzQyTWlBeExqWXlJREFnTUNBd0xURXVNVFl0TGpRemFDMHhMamd5ZW0wNUxqTTNMUzQyT0dFekxqVWdNeTQxSURBZ01DQXdMUzQxT0MwdU1EVmpMUzQyTlNBd0xURXVNRGt1TWpVdE1TNHpNUzQzTlZZeE1rZ3lOaTQwVmpVdU5qWm9NUzR6Tm13dU1EUXVOMkV4TGpZZ01TNDJJREFnTUNBeElERXVORE10TGpneVl5NHlJREFnTGpNM0xqQXpMalV1TURoMk1TNHpOSHB0TXk0MU9DQTFMakUyWXkwdU9TQXdMVEV1TmpRdExqSTVMVEl1TWkwdU9EVmhNeTR4SURNdU1TQXdJREFnTVMwdU9EUXRNaTR5T0hZdExqRTNZekF0TGpZekxqRXlMVEV1TWk0ek55MHhMamRoTWk0M01pQXlMamN5SURBZ01DQXhJREl1TlMweExqVTRZeTQ0TnlBd0lERXVOVE11TWpnZ01pQXVPRE11TkRndU5UVXVOekVnTVM0ek15NDNNU0F5TGpNMGRpNDFOMGd6TVM0M1l5NHdOQzQxTWk0eU1pNDVOQzQxTWlBeExqSTBjeTQzTGpRMklERXVNVFl1TkRaakxqWTFJREFnTVM0eE9DMHVNallnTVM0MkxTNDNPV3d1TnpZdU56TmpMUzR5TlM0ek9DMHVOaTQyT0MweExqQXlMamc1TFM0ME1pNHlMUzQ1TGpNdE1TNDBNaTR6ZW0wdExqRTNMVFV1TkROakxTNDBJREF0TGpjdU1UTXRMamsxTGpRdExqSTBMakk0TFM0MExqWTJMUzQwTmlBeExqRTFhREl1TnpKMkxTNHhZVEV1TnpJZ01TNDNNaUF3SURBZ01DMHVNemt0TVM0d09TQXhMaklnTVM0eUlEQWdNQ0F3TFM0NU1pMHVNelp0TlM0eE5pMHhMakF6TGpBMExqWTJZVEl1TWpnZ01pNHlPQ0F3SURBZ01TQXhMamd6TFM0M09HTXVPRFVnTUNBeExqUXpMak16SURFdU56UXVPVGd1TkRZdExqWTFJREV1TVRFdExqazRJREV1T1RVdExqazRMamNnTUNBeExqSXhMaklnTVM0MU5TNDFPQzR6TlM0ek9TNDFNaTQ1Tmk0MU15QXhMamN4VmpFeWFDMHhMalF5VmpjdU9EZGpNQzB1TkMwdU1Ea3RMamN0TGpJM0xTNDRPQzB1TVRjdExqRTVMUzQwTmkwdU1qZ3RMamczTFM0eU9DMHVNeklnTUMwdU5Ua3VNRGt0TGpndU1qWXRMakl1TVRjdExqTTBMalF0TGpReUxqWTRWakV5YUMweExqUXlWamN1T0ROakxTNHdNaTB1TnpVdExqUXRNUzR4TWkweExqRTBMVEV1TVRJdExqVTNJREF0TGprNExqSXpMVEV1TWpJdU4xWXhNbWd0TVM0ME1sWTFMalkyZWswME9DNDVNU0F4TW1ndE1TNDBNMVkxTGpZMmFERXVORE42VFRRM0xqUWdOQzR3TVdNd0xTNHlNaTR3TmkwdU5DNHlMUzQxTkM0eE5DMHVNVFV1TXpRdExqSXlMall0TGpJeWN5NDBOaTR3Tnk0MkxqSXlZeTR4TkM0eE5DNHlMak15TGpJdU5UUnpMUzR3Tmk0MExTNHlMalUwTFM0ek5DNHlNUzB1Tmk0eU1TMHVORFl0TGpBM0xTNDJMUzR5WVM0M05TNDNOU0F3SURBZ01TMHVNaTB1TlRWdE5pNDVJRGN1TXpkaE1pNHlJREl1TWlBd0lEQWdNUzB4TGpjNExqYzBjUzB4TGpBeUlEQXRNUzQxTmkwdU5tTXRMak0xTFM0MExTNDFNeTB4TFM0MU15MHhMamMxVmpVdU5qWm9NUzQwTTNZMExqQTVZekFnTGpndU16TWdNUzR5SURFZ01TNHlMalk1SURBZ01TNHhOaTB1TWpRZ01TNDBMUzQzTkZZMUxqWTJhREV1TkRKV01USm9MVEV1TXpSNmJUUXVNVGN0TlM0M01pNHdOQzQyTm1FeUxqSTRJREl1TWpnZ01DQXdJREVnTVM0NE15MHVOemhqTGpnMUlEQWdNUzQwTXk0ek15QXhMamMwTGprNExqUTJMUzQyTlNBeExqRXhMUzQ1T0NBeExqazFMUzQ1T0M0M0lEQWdNUzR5TVM0eUlERXVOVFV1TlRndU16VXVNemt1TlRJdU9UWXVOVE1nTVM0M01WWXhNa2cyTkM0M1ZqY3VPRGRqTUMwdU5DMHVNRGt0TGpjdExqSTNMUzQ0T0MwdU1UY3RMakU1TFM0ME5pMHVNamd0TGpnM0xTNHlPQzB1TXpJZ01DMHVOVGt1TURrdExqZ3VNall0TGpJdU1UY3RMak0wTGpRdExqUXlMalk0VmpFeWFDMHhMalF5VmpjdU9ETmpMUzR3TWkwdU56VXRMalF0TVM0eE1pMHhMakUwTFRFdU1USXRMalUzSURBdExqazRMakl6TFRFdU1qSXVOMVl4TW1ndE1TNDBNbFkxTGpZMmFERXVNelI2SWk4K1BIQmhkR2dnWm1sc2JEMGljbVZrSWlCa1BTSk5NU0F5WVRFZ01TQXdJREFnTVNBeExURm9NVE4yTVRSSU1tRXhJREVnTUNBd0lERXRNUzB4ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAyTGpVeUlEbDJNMGcwTGpjMlZqTXVORGRJT0M0eFl5NDJOQ0F3SURFdU1pNHhNaUF4TGpZNUxqTTFjeTQ0Tmk0MU55QXhMakV5SURFZ0xqUXVPVEl1TkNBeExqUTNZekFnTGpnMExTNHpJREV1TlMwdU9EY2dNUzQ1T0hFdExqZzFOUzQzTWkweUxqTTNMamN5U0RZdU5USjZiVEF0TVM0ME0yZ3hMalUzWXk0ME5pQXdJQzQ0TWkwdU1TQXhMakEyTFM0ek15NHlOUzB1TWpJdU16Y3RMalV6TGpNM0xTNDVOSE10TGpFeUxTNDNOUzB1TXpjdE1XTXRMakkxTFM0eU55MHVOVGt0TGpRdE1TNHdNaTB1TkVnMkxqVXllaUl2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXJ9LmF1dG9uYXYtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC5hdXRvbmF2LWVuZHNjcmVlbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtc3VnZ2VzdGlvbnMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxle2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MThweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfS55dHAtYXV0b25hdi1hdXRob3ItYW5kLXZpZXcsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYXV0aG9yLC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NHB4O2NvbG9yOiNhYWE7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoxMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7d2lkdGg6MTc2cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjB9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNhbmNlbC1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtmbG9hdDpsZWZ0fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7ZmxvYXQ6cmlnaHR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyOm5vdCgueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWlzLXByZW1pdW0pIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tcHJlbWl1bS1iYWRnZXtkaXNwbGF5Om5vbmV9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtbWluaXBsYXllci1yZXBsYXktYnV0dG9uLC5jb3VudGRvd24tcnVubmluZyAueXRwLXByZXZpZXd7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7bWFyZ2luOjQwcHggYXV0byBhdXRvIDIwcHg7d2lkdGg6MzYwcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luOjQwcHggMjBweCBhdXRvIGF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7bWFyZ2luLXRvcDowfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJke3dpZHRoOjM2MHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtbWl4LXRleHR7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNzRweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjE4M3B4O2hlaWdodDoxMDRweDtib3JkZXItcmFkaXVzOjhweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxlLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4O2ZvbnQtd2VpZ2h0OjUwMH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mbywueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDowO3dpZHRoOjE4M3B4fS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVyLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHh9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b24sLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9ue3dpZHRoOjE4M3B4O2hlaWdodDozNHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA1OC41cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDozNnB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYWx0ZXJuYXRpdmUtaGVhZGVye2ZvbnQtc2l6ZToxOS41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MjIuNXB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6NTQwcHg7aGVpZ2h0OjMwM3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206OXB4O21hcmdpbi1sZWZ0Oi0zcHg7d2lkdGg6MTExcHg7aGVpZ2h0OjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDoxOHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGl0bGV7Zm9udC1zaXplOjI3cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWF1dGhvciwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjMxLjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b257Zm9udC1zaXplOjIxcHg7d2lkdGg6MjY0cHg7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTJweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbi5tb2Rlcm4tYnV0dG9uc3tib3JkZXItcmFkaXVzOjI3cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10aW1lc3RhbXAsLnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDo1NDBweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e21hcmdpbjphdXRvO21hcmdpbi1yaWdodDozMHB4O2hlaWdodDo0NDRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjMwcHg7d2lkdGg6NDMycHg7aGVpZ2h0OjQ0NHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtc3VnZ2VzdGlvbi1jYXJkLXdpdGgtbWFyZ2lue21hcmdpbi1sZWZ0OjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHttYXJnaW4tdG9wOjA7d2lkdGg6MjEwcHg7aGVpZ2h0OjExOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmR7bWFyZ2luLXRvcDoxMHB4O3dpZHRoOjIxMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDoyMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi10aXRsZS1jYXJke21hcmdpbi10b3A6MTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmR7bWFyZ2luLXRvcDo0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1tb3JlLXZpZGVvc3t2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1zdWdnZXN0aW9ucy1jb250YWluZXIgLnl0cC1zdWdnZXN0aW9uLXNldDpub3QoOmZpcnN0LWNoaWxkKXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVsLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtc3VnZ2VzdGlvbi1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5ey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDpjYWxjKDEwMCUgLSAzOXB4KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5LC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXttYXJnaW4tdG9wOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtc3VnZ2VzdGlvbi1wYW5lbCwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye3dpZHRoOjM3NHB4O2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLXBsYXllci1taW5pbWl6ZWQuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcnttYXJnaW4tdG9wOjE2cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94fS55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7bWFyZ2luLXRvcDo1cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6OHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle2Rpc3BsYXk6LXdlYmtpdC1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye21hcmdpbjphdXRvO21hcmdpbi1yaWdodDo0NXB4O3dpZHRoOjU0MHB4O2hlaWdodDo2NjZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjQ1cHg7d2lkdGg6NjQ4cHg7aGVpZ2h0OjY2NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tY2FyZC13aXRoLW1hcmdpbnttYXJnaW4tbGVmdDoxOHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGh1bWJuYWlsLXNtYWxse3dpZHRoOjMxNXB4O2hlaWdodDoxNzdweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZHttYXJnaW4tdG9wOjE1cHg7d2lkdGg6MzE1cHh9Lnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDozMHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjE1cHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJke21hcmdpbi10b3A6NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmQsLnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjE5LjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LW1peC10ZXh0e2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWF1dG9uYXYtYXV0aG9yLWFuZC12aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZS55dHAtcGxheWVyLWNvbnRlbnQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206MH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LW92ZXJsYXl7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xfS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpc3Q9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtbGl2ZT10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmRbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYzAwfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZDpub3QoW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0pIC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyW2RhdGEtaXMtbGlzdD10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcltkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtYXV0b25hdi1saXZlLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2MwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLXVwY29taW5nPXRydWVdKSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLW1peD10cnVlXSkgLnl0cC1hdXRvbmF2LWxpc3Qtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlLmVuZGVkLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dHAtYWQtb3ZlcmxheS1vcGVuLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7b3BhY2l0eTouM30ueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSAxNDNweCl9Lnl0cC1iaWctbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcntoZWlnaHQ6Y2FsYygxMDAlIC0gMTYwcHgpfS55dHAtYXV0b25hdi1vdmVybGF5LWNhbmNlbGxlZC1zdGF0ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXItY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRFNUlEWXVOREVnTVRjdU5Ua2dOU0F4TWlBeE1DNDFPU0EyTGpReElEVWdOU0EyTGpReElERXdMalU1SURFeUlEVWdNVGN1TlRrZ05pNDBNU0F4T1NBeE1pQXhNeTQwTVNBeE55NDFPU0F4T1NBeE9TQXhOeTQxT1NBeE15NDBNU0F4TW5vaUx6NDhMM04yWno0PSk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JhY2tncm91bmQtc2l6ZToyNHB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtcGxheWVyLWNvbnRlbnR7cG9zaXRpb246dW5zZXR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXJ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdG9wYmFyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmJsb2NrfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXJ7bWFyZ2luLXRvcDowOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi12aWRlby1pbmZve21hcmdpbi10b3A6MTJweDt3aWR0aDoxMDAlfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsey13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXAsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6MTBweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzp1bnNldDtwYWRkaW5nOjAgOHB4fS55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxNC40cHg7d2lkdGg6MzZweDtib3JkZXItcmFkaXVzOjE0LjRweDt0b3A6NTAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCdmNHRmphWFI1UFNJdU5TSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqTWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUY3VNeUF4UXpRdU16VWdNU0F5SURNdU1qRWdNaUEyY3pJdU16VWdOU0ExTGpNZ05XZ3hOUzQwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5T0NBMmJDMHVNRE10TGpVMFFUVXVNVFlnTlM0eE5pQXdJREFnTUNBeU1pNDNJREY2YlRFMUxqUWdNVEZqTXk0ME5TQXdJRFl1TXkweUxqWWdOaTR6TFRaekxUSXVPRFV0TmkwMkxqTXROa2czTGpORE15NDROU0F3SURFZ01pNDJJREVnTm5NeUxqZzFJRFlnTmk0eklEWjZJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUc5d1lXTnBkSGs5SWk0MUlpOCtQQzl6ZG1jKyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1pbWFnZTp1bnNldDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6OXB4O21hcmdpbjowIDlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSl9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257bWFyZ2luOjAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gMzBweCkvMil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEzLjVweDt3aWR0aDoyMi41cHg7Ym9yZGVyLXJhZGl1czo2Ljc1cHg7bWFyZ2luOjAgNXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbiwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxMC44cHg7d2lkdGg6MjdweDtib3JkZXItcmFkaXVzOjEwLjhweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjQ1cHg7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtZW1iZWQgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MzBweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlbTB0TWk0M0xTNDNOWFl0T0M0MWJEWXVOeUEwTGpJMmVpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJ2Y0dGamFYUjVQU0l1TlNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRjdU15QXhRelF1TXpVZ01TQXlJRE11TWpFZ01pQTJjekl1TXpVZ05TQTFMak1nTldneE5TNDBRVFV1TVRZZ05TNHhOaUF3SURBZ01DQXlPQ0EyYkMwdU1ETXRMalUwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5TWk0M0lERjZiVEUxTGpRZ01URmpNeTQwTlNBd0lEWXVNeTB5TGpZZ05pNHpMVFp6TFRJdU9EVXROaTAyTGpNdE5rZzNMak5ETXk0NE5TQXdJREVnTWk0MklERWdObk15TGpnMUlEWWdOaTR6SURaNklpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJRzl3WVdOcGRIazlJaTQxSWk4K1BDOXpkbWMrKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjIwLjRweDt3aWR0aDoyMC40cHg7Ym9yZGVyLXJhZGl1czoyMC40cHg7bWFyZ2luLXRvcDotM3B4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6Y3hOekUzTVNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOT0M0MUlERTJZVGN1TlNBM0xqVWdNQ0F4SURBZ01DMHhOU0EzTGpVZ055NDFJREFnTUNBd0lEQWdNVFVpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpFMUlpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE55QTRMalZoT0M0MUlEZ3VOU0F3SURFZ01TMHhOeUF3SURndU5TQTRMalVnTUNBd0lERWdNVGNnTUcwdE1TQXdZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREFpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAxTGpVZ01USm9NbFkxYUMweWVtMDBMVGQyTjJneVZqVjZJaTgrUEM5emRtYyspOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1pY29ucyAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O2JvcmRlci1yYWRpdXM6N3B4O21hcmdpbjoycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaWJtOXVaU0lnZG1sbGQwSnZlRDBpTUNBd0lETTJJRE0ySWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVEl1TnpVZ05DNDFhQzB6WXkwdU5pQXdMVEV1TVRjdU1qTXRNUzQyTGpZMUxTNDBNaTQwTXkwdU5qVWdNUzB1TmpVZ01TNDJkakl5TGpWak1DQXVOVGt1TWpNZ01TNHhOaTQyTlNBeExqVTVMalF6TGpReUlERWdMalkySURFdU5pNDJObWd6WXk0MU9TQXdJREV1TVRZdExqSTBJREV1TlRrdExqWTJMalF5TFM0ME15NDJOaTB4SUM0Mk5pMHhMalU1VmpZdU56VmpNQzB1TmkwdU1qUXRNUzR4TnkwdU5qWXRNUzQyTFM0ME15MHVOREl0TVMwdU5qVXRNUzQxT1MwdU5qVnRNVE11TlNBd2FDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpVaUx6NDhMM04yWno0PSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKTk1USXVOelVnTkM0MWFDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpWdE1UTXVOU0F3YUMwell5MHVOaUF3TFRFdU1UY3VNak10TVM0MkxqWTFMUzQwTWk0ME15MHVOalVnTVMwdU5qVWdNUzQyZGpJeUxqVmpNQ0F1TlRrdU1qTWdNUzR4Tmk0Mk5TQXhMalU1TGpRekxqUXlJREVnTGpZMklERXVOaTQyTm1nell5NDFPU0F3SURFdU1UWXRMakkwSURFdU5Ua3RMalkyTGpReUxTNDBNeTQyTmkweElDNDJOaTB4TGpVNVZqWXVOelZqTUMwdU5pMHVNalF0TVM0eE55MHVOall0TVM0MkxTNDBNeTB1TkRJdE1TMHVOalV0TVM0MU9TMHVOalVpTHo0OEwzTjJaejQ9KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7aGVpZ2h0OjEwLjVweDt3aWR0aDoxMC41cHg7Ym9yZGVyLXJhZGl1czo1LjI1cHg7bWFyZ2luOjFweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7bGVmdDotMnB4O2hlaWdodDoxNS4zcHg7d2lkdGg6MTUuM3B4O2JvcmRlci1yYWRpdXM6MTUuM3B4O21hcmdpbi10b3A6LTIuMjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uOmFmdGVye2xlZnQ6MDtoZWlnaHQ6MjUuNXB4O3dpZHRoOjI1LjVweDtib3JkZXItcmFkaXVzOjI1LjVweDttYXJnaW4tdG9wOi0zLjc1cHh9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntsZWZ0OjA7aGVpZ2h0OjE3cHg7d2lkdGg6MTdweDtib3JkZXItcmFkaXVzOjE3cHg7bWFyZ2luLXRvcDotMi41cHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVdOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXVNVFVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEUzSURndU5XRTRMalVnT0M0MUlEQWdNU0F4TFRFM0lEQWdPQzQxSURndU5TQXdJREFnTVNBeE55QXdiUzAxSURCTU5pNDFJRFYyTjNwdExURXVPRFlnTUV3M0xqVWdOaTQ0TW5ZekxqTTJlazA0TGpVZ01UWmhOeTQxSURjdU5TQXdJREVnTUNBd0xURTFJRGN1TlNBM0xqVWdNQ0F3SURBZ01DQXhOU0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTVRZZ09DNDFZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREJ0TFRRZ01FdzJMalVnTVRKV05Yb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp3dmMzWm5QZz09KTtsZWZ0OjFweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTUuNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtc29saWQsIzBmMGYwZil9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEuN3B4KX0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTkuNXB4KX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWRlbGhpLW1vZGVybiAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCl9Lnl0cC1iZXplbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7ei1pbmRleDoxOTttYXJnaW4tbGVmdDotMjZweDttYXJnaW4tdG9wOi0yNnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoyNnB4Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVse2xlZnQ6NTAlO3RvcDo1MCU7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0IDFzIGN1YmljLWJlemllciguMDUsMCwwLDEpIDEgbm9ybWFsIGZvcndhcmRzfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYmV6ZWwtaWNvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtYmV6ZWx7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1iZXplbHt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbi1sZWZ0Oi0zMnB4O21hcmdpbi10b3A6LTMycHg7Ym9yZGVyLXJhZGl1czozMnB4fS55dHAtYmV6ZWwtaWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbjo2cHh9Lnl0cC1wbGF5ZXItY29udGVudCAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1iZXplbC1pY29uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYmV6ZWwtaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4O21hcmdpbjoxMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46OHB4fS55dHAtYmV6ZWwtdGV4dC13cmFwcGVye3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDoxMCU7ei1pbmRleDoxOX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHQtd3JhcHBlcnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZGVsaGktbW9kZXJuLWJlemVsLXRleHQtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXQgMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9Lnl0cC1iZXplbC10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MTBweCAyMHB4O2ZvbnQtc2l6ZToxNzUlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjNweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHR7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWJlemVsLXRleHQtaGlkZSAueXRwLWJlemVsLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QGtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjB9MjUlLDc1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zMyk7dHJhbnNmb3JtOnNjYWxlKDEuMzMpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMzKTt0cmFuc2Zvcm06c2NhbGUoMS4zMyl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtdGV4dC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXR7MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjYyfS55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLWNhcmRzLWJ1dHRvbi1pY29ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKTtib3JkZXItcmFkaXVzOjE4cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9ue21heC13aWR0aDo4MHB4O3dpZHRoOjM2cHh9Lnl0cC1zaG93LWNhcmRzLXRpdGxlIC55dHAtY2FyZHMtYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5OmJsb2NrfS55dHAtY2FyZHMtYnV0dG9uLWljb24tc2hvcHBpbmcsLnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUgLnl0cC1jYXJkcy1idXR0b24taWNvbi1zaG9wcGluZ3tkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZSAueXRwLWNhcmRzLWJ1dHRvbi1pY29uLWRlZmF1bHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS55dHAtY2FyZHMtYnV0dG9uLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtYnV0dG9uLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jYXJkcy1idXR0b24tdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLXNoYWRvd3std2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpzdHJva2Utb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3d7c3Ryb2tlLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1czt0cmFuc2l0aW9uOnN0cm9rZS1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXN9Lnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93LWZpbGx7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246ZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXM7dHJhbnNpdGlvbjpmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1c30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMjc5M2U2fS55dHAtY2FyZHMtc2hvcHBpbmctYWN0aXZlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93e3N0cm9rZTojZmZmO3N0cm9rZS1vcGFjaXR5OjF9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjguNXB4O3JpZ2h0OjA7bWF4LXdpZHRoOjkwJTtvcGFjaXR5Oi43NTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjYxOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2Vye3RvcDoxM3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLXRlYXNlcnt0b3A6MTZweH0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmc6bm90KC52aWRlb0FkVWlSZWRlc2lnbikgLnl0cC1jYXJkcy10ZWFzZXJ7dG9wOjQwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXIsLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcntvcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTouOX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcjpob3ZlcntvcGFjaXR5OjF9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtdGVhc2VyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3N9Lnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWNhcmRzLXRlYXNlcnstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3gsLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtoZWlnaHQ6MzFweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveCwueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7aGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItYm94e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czoycHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMCkgdHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDA7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgMDt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDB9Lnl0cC1iaWctbW9kZSAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7cmlnaHQ6MjdweH0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpOy1tcy10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgyN3B4KTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCl9W2Rpcj1ydGxdIC55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xOHB4KX1bZGlyPXJ0bF0gLnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0yN3B4KX0ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAzNnB4IDAgMTBweDttYXgtd2lkdGg6MDtvcGFjaXR5OjA7Y29sb3I6IzAwMDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjEwOS4wOTA5MDklO2xpbmUtaGVpZ2h0OjMxcHg7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1czt0cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1c30ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7cGFkZGluZzowIDY2cHggMCAxMnB4O2xpbmUtaGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHttYXgtd2lkdGg6NDE1cHg7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXN9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7bWF4LXdpZHRoOjYzNXB4fS55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye2Rpc3BsYXk6bm9uZX0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3dpZHRoOjMwcHg7bGVmdDpjYWxjKDEwMCUgLSAzMHB4KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MThweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2hhbm5lbC1hdmF0YXJ7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW46NHB4O2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnR9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye21hcmdpbjoxMnB4fS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHt3aWR0aDoxMDAlO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnMsbGVmdCAuMzNzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4yczt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjJzLGxlZnQgLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnN9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItaW5mby1pY29ue2hlaWdodDozMHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6bGVmdH0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1jbG9zZS1idXR0b257aGVpZ2h0OjMwcHg7d2lkdGg6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MCA1cHg7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHR9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDojNzE3MTcxfS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MzBweDttYXgtd2lkdGg6MzUwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItYm94e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1pbmZvLWljb257aGVpZ2h0OjQ1cHg7d2lkdGg6NDVweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9ue2hlaWdodDo0NXB4O3dpZHRoOjMwcHg7bWFyZ2luOjAgNy41cHh9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2xpbmUtaGVpZ2h0OjQ1cHg7bWF4LXdpZHRoOjUyNXB4fS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3BhZGRpbmc6MH0ueXRwLWVtYmVkLnl0cC1jYXJkcy10ZWFzZXItc2hvd24ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNocm9tZS10b3AtYnV0dG9ucz46bm90KC55dHAtY2FyZHMtdGVhc2VyKXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZXttaW4taGVpZ2h0OjUycHh9Lnl0cC1iaWctbW9kZS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxle21pbi1oZWlnaHQ6NzVweH0ueXRwLXNob3J0cy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGV7bWluLWhlaWdodDo0MnB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZS10ZXh0e3BhZGRpbmctbGVmdDo1MHB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLWxlZnQ6NzVweH0ueXRwLXRpdGxlLWxpbmt7ZGlzcGxheTpibG9jazt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowO21hcmdpbjo1cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtiYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtmbG9hdDpsZWZ0O2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6NjBweDtoZWlnaHQ6NjBweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0OHB4O2hlaWdodDo0OHB4O21hcmdpbjowfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjEwJX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbnswJXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O21heC13aWR0aDoxMCV9MjUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSl9NzUle21heC13aWR0aDoxMDAlfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXR7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MHB4fX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtb3V0ezAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTAwcHh9NzUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTBweH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4tYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDttYXgtd2lkdGg6MTUlfTI1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpfTc1JXttYXgtd2lkdGg6MTAwJX19QGtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjE1JX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLW91dC1iaWctbW9kZXswJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjUwMHB4fTc1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjcwcHh9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXQtYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo3MHB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluezAle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLW91dHswJXtvcGFjaXR5OjF9MjUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtb3V0ezAle29wYWNpdHk6MX0yNSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC10aXRsZS1jaGFubmVse2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyNXB4O2Rpc3BsYXk6bm9uZTtoZWlnaHQ6NTBweDttYXJnaW4tbGVmdDotNXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6N3B4O2xlZnQ6MDt3aWR0aDo1MHB4fS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3dpZHRoOjcwcHg7aGVpZ2h0OjcwcHg7bWFyZ2luLXRvcDoxMHB4fS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxlLWNoYW5uZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1zaG93LWV4cGFuZGVkey13ZWJraXQtYW5pbWF0aW9uOnl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZHstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO2JvcmRlci1yYWRpdXM6MjVweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjE7d2lkdGg6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czozNXB4fS55dHAtdGl0bGUtZXhwYW5kZWQtb3ZlcmxheXtkaXNwbGF5OmNvbnRlbnRzO21heC13aWR0aDoxMDAlO29wYWNpdHk6MDtwYWRkaW5nLXJpZ2h0OjhweDt3aWR0aDphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e21heC13aWR0aDoxMDAlfS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MX0ueXRwLXRpdGxlLXNob3ctZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbiAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZCAueXRwLXRpdGxlLWV4cGFuZGVkLW92ZXJsYXl7LXdlYmtpdC1hbmltYXRpb246eXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW4tYmlnLW1vZGUgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjo1cHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC10aXRsZS1leHBhbmRlZC10aXRsZXtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bWFyZ2luOjB9Lnl0cC1iaWctbW9kZSAueXRwLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToyMnB4fS55dHAtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtZXhwYW5kZWQtc3VidGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1zdWJ0aXRsZXtmb250LXNpemU6MTZweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2J7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW46NXB4O2hlaWdodDphdXRvO3dpZHRoOmF1dG87cGFkZGluZzowO3BhZGRpbmctbGVmdDoxNnB4O3RleHQtc2hhZG93Om5vbmU7bWFyZ2luLXJpZ2h0OjdweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLGEueXRwLXNiLXN1YnNjcmliZXttYXJnaW4tbGVmdDo2NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCAueXRwLXNiLXN1YnNjcmliZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6N3B4fS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1iZWFjb24sLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXN1YnRleHQsLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtYmVhY29uLXB1bHNlezAle2JhY2tncm91bmQ6YmxhY2s7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsZWZ0OjVweDt0b3A6NXB4fTUwJXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7bGVmdDowO3RvcDowfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1iZWFjb24tcHVsc2V7MCV7YmFja2dyb3VuZDpibGFjazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2xlZnQ6NXB4O3RvcDo1cHh9NTAle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtsZWZ0OjA7dG9wOjB9fS55dHAtdGl0bGUtYmVhY29ue2JvcmRlci1yYWRpdXM6MjVweDtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtYmVhY29uLXB1bHNlIDJzIDU7YW5pbWF0aW9uOnl0cC10aXRsZS1iZWFjb24tcHVsc2UgMnMgNX0udW5zdGFydGVkLW1vZGUgLnl0cC10aXRsZS1iZWFjb257ZGlzcGxheTpibG9ja30ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCwueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbi55dHAtY2hhcHRlci1jb250YWluZXItZGlzYWJsZWR7b3BhY2l0eTouOX0ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXgtd2lkdGg6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbnstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbiwueXRwLWVtYmVkIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uLC55dHAtcHJvZmlsZS1wYWdlIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9ue2Rpc3BsYXk6bm9uZX0ueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCAyMHB4O2ZsZXg6MCAwIDIwcHg7d2lkdGg6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3R0b206MXB4fS55dHAtY2hhcHRlci10aXRsZS1jb250ZW50ey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIGF1dG87ZmxleDowIDEgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7bGluZS1oZWlnaHQ6MjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1iaWctbW9kZSAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnt3aWR0aDoyOHB4fS55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jaGFwdGVyLXRpdGxlLXByZWZpeHtwYWRkaW5nLXJpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUtcHJlZml4LC55dHAtbGl2ZSAueXRwLWNoYXB0ZXItdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lciAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hhcHRlci1jb250YWluZXIgLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHQ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItY29udGFpbmVyIC55dHAtcHJvZmlsZS1wYWdlLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHR9Lnl0cC1leHAtYm90dG9tLWNvbnRyb2wtZmxleGJveCAueXRwLWNoYXB0ZXItY29udGFpbmVyey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIDEwMCU7ZmxleDowIDEgMTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZmxvYXQ6bGVmdH0ueXRwLWNoYXB0ZXItY29udGFpbmVye2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxMDklO3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW46MCA1cHggMCAwO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDo0N3B4fS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDozOXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDo1M3B4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDEwMCBhdXRvO2ZsZXg6MCAxMDAgYXV0b30ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNoYXB0ZXItY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIzMDA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wb3B1cC55dHAtZGVsaGktbW9kZXJuLWNvbnRleHRtZW51e2JvcmRlci1yYWRpdXM6MTJweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtY29udGV4dG1lbnUgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLWNvbnRleHRtZW51IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtZG5pLnl0cC1jb250ZXh0bWVudXt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUueXRwLWNvbnRleHRtZW51e2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGUueXRwLWVtYmVkLW92ZXJsYXlzLWF1dG9oaWRlLnl0cC1jb250ZXh0bWVudXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUueXRwLWNvbnRleHRtZW51e2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51IGEsLnl0cC1jb250ZXh0bWVudSBhOmZvY3VzLC55dHAtY29udGV4dG1lbnUgYTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtY29weXRleHR7bWFyZ2luOjAgMTBweDttYXgtd2lkdGg6MjAwcHg7b3V0bGluZTpub25lO3RleHQtc2hhZG93Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0ueXRwLWNvcHl0ZXh0OjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2NvbG9yOmJsYWNrfS55dHAtaHRtbDUtY2xpcGJvYXJke3RvcDowO2xlZnQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS55dHAtc2hvdy1jb3B5bGluay10aXRsZS55dHAtY29weWxpbmstYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXNob3ctY29weWxpbmstdGl0bGUueXRwLWNvcHlsaW5rLWJ1dHRvbnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnttaW4td2lkdGg6NDhweDttYXgtd2lkdGg6ODBweH0ueXRwLWNvcHlsaW5rLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1jb3B5bGluay1pY29ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS55dHAtY29weWxpbmstdGl0bGV7Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstdGl0bGUsLnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLWNvcHlsaW5rLXRpdGxle2ZvbnQtc2l6ZToyMHB4fS55dHAtc2hvdy1jb3B5bGluay10aXRsZSAueXRwLWNvcHlsaW5rLXRpdGxle2Rpc3BsYXk6YmxvY2t9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstdGl0bGV7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW59Lnl0cC1jb3VudGRvd24tdGltZXJ7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzk7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNik7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLWNvdW50ZG93bi10aW1lcntib3R0b206NTJweH0ueXRwLWNvdW50ZG93bi10aW1lci10aW1le2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNGRkY7bGluZS1oZWlnaHQ6MzZweDt3aWR0aDozNnB4O2ZvbnQtd2VpZ2h0OjUwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2IoMCwwLDApfS55dHAtZnJlZS1wcmV2aWV3LWNvdW50ZG93bi10aW1lcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4O2xlZnQ6MjBweDtoZWlnaHQ6MjRweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO3dpZHRoOmF1dG87ei1pbmRleDo4Mjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1mcmVlLXByZXZpZXctY291bnRkb3duLXRpbWVyLXNlcGFyYXRvcntwYWRkaW5nOjAgM3B4fS55dC11aS1lbGxpcHNpc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9Lnl0LXVpLWVsbGlwc2lzLW5vd3JhcC1zaW5nbGUtbGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDoxLjNlbX0ueXQtdWktZWxsaXBzaXM6YWZ0ZXIsLnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGV9Lnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OiLigKYiO3JpZ2h0OjB9Lnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXQtdWktZWxsaXBzaXMtMjpiZWZvcmV7dG9wOjEuM2VtfS55dC11aS1lbGxpcHNpcy0zOmJlZm9yZXt0b3A6Mi42ZW19Lnl0LXVpLWVsbGlwc2lzLTQ6YmVmb3Jle3RvcDozLjllbX0ueXQtdWktZWxsaXBzaXMtNjpiZWZvcmV7dG9wOjYuNWVtfS55dC11aS1lbGxpcHNpcy0xMDpiZWZvcmV7dG9wOjExLjdlbX0ueXQtdWktZWxsaXBzaXMtMnttYXgtaGVpZ2h0OjIuNmVtfS55dC11aS1lbGxpcHNpcy0ze21heC1oZWlnaHQ6My45ZW19Lnl0LXVpLWVsbGlwc2lzLTR7bWF4LWhlaWdodDo1LjJlbX0ueXQtdWktZWxsaXBzaXMtNnttYXgtaGVpZ2h0OjcuOGVtfS55dC11aS1lbGxpcHNpcy0xMHttYXgtaGVpZ2h0OjEzZW19LndlYmtpdCAueXQtdWktZWxsaXBzaXN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtMnstd2Via2l0LWxpbmUtY2xhbXA6Mn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0zey13ZWJraXQtbGluZS1jbGFtcDozfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzLTR7LXdlYmtpdC1saW5lLWNsYW1wOjR9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtNnstd2Via2l0LWxpbmUtY2xhbXA6Nn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0xMHstd2Via2l0LWxpbmUtY2xhbXA6MTB9LndlYmtpdCAueXQtdWktZWxsaXBzaXM6YmVmb3Jle2NvbnRlbnQ6bm9ybWFsfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IuKAjCI7cG9zaXRpb246c3RhdGljO3Zpc2liaWxpdHk6aGlkZGVufS55dC11aS1lbGxpcHNpc1tkaXI9cnRsXTpiZWZvcmV7bGVmdDowO3JpZ2h0OmF1dG99YS55dHAtY2UtbGlua3tkaXNwbGF5OmJsb2NrfWEueXRwLWNlLWxpbmssYS55dHAtY2UtbGluazpob3ZlcixhLnl0cC1jZS1saW5rOnZpc2l0ZWR7Y29sb3I6IzE2N2FjNn1hLnl0cC1jZS1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1jZS1zaGFkb3d7b3BhY2l0eTowO291dGxpbmU6c29saWQgIzAwMDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDoxMn0ueXRwLWNlLXNoYWRvdzpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1lbGVtZW50e2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjUpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4zZW07bWFyZ2luOi0xcHg7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC1mb250LXNtb290aGluZzphdXRvO3otaW5kZXg6MTI7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEycHg7cmlnaHQ6MTJweDt6LWluZGV4OjEzO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3Zpc2liaWxpdHk6aGlkZGVufS55dHAtY2UtaGlkZS1idXR0b24tY29udGFpbmVyLnl0cC1jZS1oaWRlLWJ1dHRvbi1sb3dlcnttYXJnaW4tdG9wOjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjcycHh9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2UtZWxlbWVudCwuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtY2UtZWxlbWVudC55dHAtY2UtcGxhY2Vob2xkZXIgYS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtjdXJzb3I6ZGVmYXVsdH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtc2hvdywueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lci55dHAtY2UtZWxlbWVudC1zaG93e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5ke2JvcmRlcjoxcHggc29saWQgI2ZmZjtvdXRsaW5lOm5vbmU7ei1pbmRleDoxMztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDBzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dmlzaWJpbGl0eTp2aXNpYmxlfS55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmZvY3VzLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmhvdmVye291dGxpbmU6bm9uZX0ueXRwLWNlLWVsZW1lbnQtc2hhZG93e2JhY2tncm91bmQtY29sb3I6IzAwMDtib3R0b206LTFweDtsZWZ0Oi0xcHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0xcHg7dG9wOi0xcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6MTJ9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtc2hhZG93LXNob3cgLnl0cC1jZS1lbGVtZW50LXNoYWRvd3tvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1jb3ZlcmluZy1pbWFnZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JvdHRvbTotMnB4O2xlZnQ6LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMXB4O3RvcDotMXB4fS55dHAtY2UtY292ZXJpbmctc2hhZG93LXRvcHtoZWlnaHQ6MzMlO29wYWNpdHk6Ljg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjMDAwKSx0byh0cmFuc3BhcmVudCkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDAwIDAsdHJhbnNwYXJlbnQpfS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2Utc2hhZG93e2Rpc3BsYXk6bm9uZX0ueXRwLWNlLXBsYXlsaXN0LC55dHAtY2UtdmlkZW97b3ZlcmZsb3c6aGlkZGVufS55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS12aWRlby10aXRsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjZweCA4cHg7bWF4LWhlaWdodDoyOHB4O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuNCl9Lnl0cC1jZS1wbGF5bGlzdC10aXRsZS55dHAtd2Via2l0LWVsbGlwc2lzLC55dHAtY2UtdmlkZW8tdGl0bGUueXRwLXdlYmtpdC1lbGxpcHNpc3tkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNlLXZpZGVvLWR1cmF0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7bWFyZ2luOjAgNHB4IDRweCAwO3BhZGRpbmc6NHB4IDZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS55dHAtY2UtbGl2ZS12aWRlby1kdXJhdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKTtib3JkZXItcmFkaXVzOjJweDtib3R0b206MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KTttYXJnaW46MCA0cHggNHB4IDA7cGFkZGluZzo0cHggNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9Lnl0cC1jZS1wbGF5bGlzdC1jb3VudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweH0ueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDozMnB4fS55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1jb250ZW50e2Rpc3BsYXk6dGFibGV9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5e2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXksLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1mb3JjZS1leHBhbmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXt6LWluZGV4OjEzO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLWltYWdlLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5kIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle3otaW5kZXg6MTN9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDRweCAjMDAwO2JveC1zaGFkb3c6MCAwIDRweCAjMDAwO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46LThweDtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWljb257YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyMHB4IDIwcHg7YmFja2dyb3VuZC1zaXplOjIwcHggMjBweDtib3JkZXItcmFkaXVzOjJweDtib3R0b206MnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjJweDt3aWR0aDoyNHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtaG92ZXIgLnl0cC1jZS1leHBhbmRpbmctaWNvbiwueXRwLWNlLWVsZW1lbnQueXRwLWNlLWZvcmNlLWV4cGFuZCAueXRwLWNlLWV4cGFuZGluZy1pY29ue29wYWNpdHk6MH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXtsZWZ0OjA7cGFkZGluZy1sZWZ0OjEwMCU7dG9wOjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e3BhZGRpbmctcmlnaHQ6MTAwJTtyaWdodDowO3RvcDowfS55dHAtY2UtZWxlbWVudC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTAwJX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7Ym90dG9tOjA7cGFkZGluZy1yaWdodDoxMDAlO3JpZ2h0OjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtaG92ZXIsLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWZvcmNlLWV4cGFuZCwueXRwLWNlLWVsZW1lbnQueXRwLWNlLW1lcmNoYW5kaXNlLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1tZXJjaGFuZGlzZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtbWVyY2hhbmRpc2UueXRwLWNlLWVsZW1lbnQtc2hvdy55dHAtY2UtZm9yY2UtZXhwYW5kLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93LC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1mb3JjZS1leHBhbmR7Ym9yZGVyOjA7bWFyZ2luOjB9Lnl0cC1jZS1jaGFubmVsLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJle2NvbG9yOiM3Njc2NzY7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnR9Lnl0cC1jZS1jaGFubmVsLXN1YnNjcmliZXJzLXRleHR7Y29sb3I6Izc2NzY3NjtkaXNwbGF5Om5vbmU7bWFyZ2luLWJvdHRvbToyNHB4O21hcmdpbi10b3A6NnB4fS55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtjb2xvcjojNzY3Njc2fS55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6bm9uZX0ueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDttYXgtaGVpZ2h0OjQycHh9Lnl0cC1jZS1jaGFubmVsLC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWVsZW1lbnQtc2hhZG93LC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWV4cGFuZGluZy1pbWFnZXtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utd2Vic2l0ZS10aXRsZXtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tYm90dG9tOjJweH0ueXRwLWNlLW1lcmNoYW5kaXNlLW1ldGFkYXRhLC55dHAtY2UtbWVyY2hhbmRpc2UtcHJpY2UtY29udGFpbmVyLC55dHAtY2Utd2Vic2l0ZS1tZXRhZGF0YXtjb2xvcjojNzY3Njc2O21hcmdpbi10b3A6NHB4fS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1jZS13ZWJzaXRlLWdvdG97ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2UsLnl0cC1jZS13ZWJzaXRlIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM2NDY0NjQ7Zm9udC13ZWlnaHQ6ODAwO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tcmlnaHQ6NnB4fS55dHAtY2UtbWVyY2hhbmRpc2UtYWRkaXRpb25hbC1mZWVze2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM3Njc2NzY7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggIzAwMDtvcGFjaXR5Oi44O3BhZGRpbmc6MTBweCAwO3dpZHRoOjEwMCU7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YXtjb2xvcjojZmZmO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWNlLXNpemUtMzQ2IC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lcntwYWRkaW5nOjJweCAwfS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lciwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7cGFkZGluZzo1cHggMH0ueXRwLWNlLWxhcmdlLXJvdW5kIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZCwueXRwLWNlLXBsYXlsaXN0Lnl0cC1jZS1sYXJnZS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1sYXJnZS1yb3VuZHtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1jZS1tZWRpdW0tcm91bmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5kLC55dHAtY2UtcGxheWxpc3QueXRwLWNlLW1lZGl1bS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1tZWRpdW0tcm91bmR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1jZS1wbGF5bGlzdC55dHAtY2Utc21hbGwtcm91bmQsLnl0cC1jZS1zbWFsbC1yb3VuZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmQsLnl0cC1jZS12aWRlby55dHAtY2Utc21hbGwtcm91bmR7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0cC1jZS1tZXJjaGFuZGlzZS1nb3Rve2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0ueXRwLWNlLXNpemUtMzQ2e2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1jb3ZlcmluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTM0Ni55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAwIDAgOHB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDhweCAwIDB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmR7bWFyZ2luOi04cHg7cGFkZGluZzo4cHh9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbToycHg7cmlnaHQ6MnB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7bWFyZ2luLXRvcDowfS55dHAtY2Utc2l6ZS00MjZ7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWNvdmVyaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDI2Lnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQyNi55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXttYXJnaW4tdG9wOjB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLXBsYXlsaXN0LXRpdGxlLC55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS12aWRlby10aXRsZSwueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLXZpZGVvLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LXdpZHRoOjg1JX0ueXRwLWNlLXNpemUtNDcwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtNDcwIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDcwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDcwIC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTUwNntmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtY2hhbm5lbC10aXRsZSwueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtZ290bywueXRwLWNlLXNpemUtNTA2IC55dHAtY2Utd2Vic2l0ZS1nb3Rve2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTUwNi55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA0cHggMCAxMnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01MDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDEycHggMCA0cHh9Lnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS01NzB7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01NzAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNHB4IDAgMTJweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNTcwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxMnB4IDAgNHB4fS55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRwLWNlLXNpemUtNjQwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTVweDttYXgtaGVpZ2h0OjMwcHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS02NDAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgOHB4IDAgMTZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNjQwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgOHB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206OHB4O3JpZ2h0OjhweH0ueXRwLWNlLXNpemUtODUze2ZvbnQtc2l6ZToxNHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDttYXJnaW46MTBweCAxMnB4O21heC1oZWlnaHQ6MzZweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgNnB4IDZweCAwfS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTg1My55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmctdG9wOjhweDttYXgtaGVpZ2h0OjQycHg7ZGlzcGxheTpibG9ja30ueXRwLWNlLXNpemUtODUzLnl0cC1jZS1jaGFubmVsLXRoYXQgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDo1NHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTg1My55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA4cHggMCAxNnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS04NTMueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDE2cHggMCA4cHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLWV4cGFuZGluZy1pY29uey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI0cHggMjRweDtiYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JvdHRvbTo4cHg7aGVpZ2h0OjMycHg7cmlnaHQ6OHB4O3dpZHRoOjMycHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7dG9wOjRweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtcGxheWxpc3QtY291bnQtdGV4dHtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1sZWZ0OjQwcHh9Lnl0cC1jZS1zaXplLTEyODB7Zm9udC1zaXplOjE4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXZpZGVvLXRpdGxle2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjE4cHggMjBweDttYXgtaGVpZ2h0OjQ4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS12aWRlby1kdXJhdGlvbnttYXJnaW46MCAxMnB4IDEycHggMH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS1tZXRhZGF0YSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNlLWNvbnRhaW5lciwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtZ290bywueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtbWV0YWRhdGF7Zm9udC1zaXplOjE4cHg7bWFyZ2luLXRvcDo4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIxcHg7bWF4LWhlaWdodDo2M3B4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjMycHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Lnl0cC1jZS1zaXplLTEyODAueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJlcnMtdGV4dHtkaXNwbGF5OmJsb2NrfS55dHAtY2Utc2l6ZS0xMjgwLnl0cC1jZS1jaGFubmVsLXRoaXMgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe21hcmdpbi10b3A6MTJweDtwYWRkaW5nLXRvcDoxMnB4O2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjI2NHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoyNjRweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgMzJweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTEyODAueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDMycHggMCAxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZHttYXJnaW46LTE2cHg7cGFkZGluZzoxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLWljb257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7Ym90dG9tOjEwcHg7aGVpZ2h0OjQwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtcGxheWxpc3QtaWNvbntsZWZ0OjEwcHg7dG9wOjhweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweDttYXJnaW4tbGVmdDo0NnB4fS55dHAtY2Utc2l6ZS0xOTIwe2ZvbnQtc2l6ZToyOHB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS12aWRlby10aXRsZXtmb250LXNpemU6MzJweDtsaW5lLWhlaWdodDozOHB4O21hcmdpbjoxOHB4IDIwcHg7bWF4LWhlaWdodDo3NnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgMjBweCAyMHB4IDB9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjM4cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtbWV0YWRhdGEsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1wcmljZS1jb250YWluZXIsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLWdvdG8sLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLW1ldGFkYXRhe2ZvbnQtc2l6ZToyOHB4O21hcmdpbi10b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0OjEwMnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjgwcHg7bWFyZ2luLXRvcDotMTZweDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KX0ueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmVycy10ZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTE5MjAueXRwLWNlLWNoYW5uZWwtdGhpcyAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjE4cHg7cGFkZGluZy10b3A6MThweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MzkycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjM5MnB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDI0cHggMCA0OHB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNDhweCAwIDI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke21hcmdpbjotMjRweDtwYWRkaW5nOjI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo1NnB4IDU2cHg7YmFja2dyb3VuZC1zaXplOjU2cHggNTZweDtib3R0b206MjBweDtoZWlnaHQ6NjJweDtyaWdodDoyMHB4O3dpZHRoOjYycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1wbGF5bGlzdC1pY29ue2xlZnQ6MTJweDt0b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6NTZweDttYXJnaW4tbGVmdDo1NnB4fS55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmUueXRwLWNlLXN1YnNjcmliZS1idXR0b257aGVpZ2h0OmF1dG87bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTM0NiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQyNiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQ3MCAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS01MDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTUwNiAueXRwLXNiLXVuc3Vic2NyaWJle2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6OHB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlse2JhY2tncm91bmQtc2l6ZTpjb250YWluOy1tb3otYmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Lnl0cC1leHAtZnJhbWUwIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXt6LWluZGV4OjEwfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlsIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjstbW96LWJhY2tncm91bmQtc2l6ZTpjb250YWluOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW59LmVuZGVkLW1vZGUgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pLC51bnN0YXJ0ZWQtbW9kZTpub3QoLnBsYXlpbmctbW9kZSkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtY2hhcHRlci1zZWVrLXRleHR7ZGlzcGxheTpub25lO3dpZHRoOjgwJTttYXJnaW4tbGVmdDoxMCU7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNoYXB0ZXItc2VlayAueXRwLWNoYXB0ZXItc2Vlay10ZXh0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja31ALXdlYmtpdC1rZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtMXswJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6Ljl9MzMle29wYWNpdHk6LjZ9NTAle29wYWNpdHk6LjN9Njcle29wYWNpdHk6LjN9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTF7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi45fTMzJXtvcGFjaXR5Oi42fTUwJXtvcGFjaXR5Oi4zfTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTJ7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi4zfTMzJXtvcGFjaXR5Oi45fTUwJXtvcGFjaXR5Oi42fTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QGtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0yezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouOX01MCV7b3BhY2l0eTouNn02NyV7b3BhY2l0eTouM304MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0zezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouM301MCV7b3BhY2l0eTouOX02NyV7b3BhY2l0eTouNn04MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtM3swJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6LjN9MzMle29wYWNpdHk6LjN9NTAle29wYWNpdHk6Ljl9Njcle29wYWNpdHk6LjZ9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3l7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNkZGQ7ei1pbmRleDoxOX0ueXRwLWRvdWJsZXRhcC1mYXN0LWZvcndhcmQtdmUsLnl0cC1kb3VibGV0YXAtcmV3aW5kLXZle29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi4yO3otaW5kZXg6LTF9Lnl0cC1kb3VibGV0YXAtc3RhdGljLWNpcmNsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtZG91YmxldGFwLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjE1KTstd2Via2l0LWFuaW1hdGlvbjpncm93LWNpcmNsZSAuOXMgMTthbmltYXRpb246Z3Jvdy1jaXJjbGUgLjlzIDE7dmVydGljYWwtYWxpZ246bWlkZGxlfUAtd2Via2l0LWtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19QGtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19Lnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeS55dHAtdGltZS1zZWVraW5nIC55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtkaXNwbGF5Om5vbmV9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5Lnl0cC1jaGFwdGVyLXNlZWsgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcnt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWJhY2tdOm5vdCgueXRwLWNoYXB0ZXItc2VlaykgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntsZWZ0OjEwJTt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1mb3J3YXJkXTpub3QoLnl0cC1jaGFwdGVyLXNlZWspIC55dHAtZG91YmxldGFwLXNlZWstaW5mby1jb250YWluZXJ7bGVmdDo4MCU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtZG91YmxldGFwLXRvb2x0aXB7cGFkZGluZy10b3A6OHB4O2NvbG9yOiNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC10b29sdGlwe21hcmdpbi1sZWZ0OjhweH0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLXRvb2x0aXB7bWFyZ2luLWxlZnQ6LTVweH0ueXRwLWRvdWJsZXRhcC10b29sdGlwLWxhYmVse3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zZWVrLWljb24tdGV4dC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6MTAlO3dpZHRoOjgwJX0ueXRwLXNlZWstaWNvbnttYXJnaW4tcmlnaHQ6NXB4fS55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtY2hhcHRlci1zZWVrIC55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6YmxvY2t9Lnl0cC1kb3VibGV0YXAtYXJyb3dzLWNvbnRhaW5lcnt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlcjoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjJzOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9Zm9yd2FyZF0gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3tib3JkZXItbGVmdDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93e2JvcmRlci1yaWdodDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgzKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6Zmlyc3QtY2hpbGR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0xO2FuaW1hdGlvbi1uYW1lOmFycm93LWZhZGUtb3V0LTF9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgyKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDIpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMjthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0yfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9YmFja10gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvdzpmaXJzdC1jaGlsZCwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDMpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMzthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0zfS55dHAtc2Vlay1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtc2Vlay1vdmVybGF5e2Rpc3BsYXk6bm9uZX0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24tYmFja3tsZWZ0OjQ4cHh9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmR7cmlnaHQ6NDhweH0ueXRwLXNlZWstb3ZlcmxheS1kdXJhdGlvbntjb2xvcjp3aGl0ZTtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDoyNHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsLjgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1iYWNrIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1yaWdodDoyMHB4fS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1mb3J3YXJkIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3ZnIHBhdGh7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIC41cHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctcGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zbGF0ZTowIC01MCV9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWJhY2sgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtsZWZ0OjB9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmQgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtyaWdodDowfS55dHAtc2Vlay1vdmVybGF5LW1lc3NhZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE4MHB4KX0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLWljb246bm90KDplbXB0eSl7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLXRleHR7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwuOCk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtbW9yZS12aWRlb3Mtdmlld3tvdmVyZmxvdzpoaWRkZW59Lnl0cC1tb3JlLXZpZGVvcy12aWV3IGEueXRwLXN1Z2dlc3Rpb24tbGluazpmb2N1czphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1tb3JlLXZpZGVvcy12aWV3Lnl0cC1zY3JvbGwtbWF4IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXN7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTo3MHB4O21hcmdpbjoyNHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MTJweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3W2FyaWEtaGlkZGVuPXRydWVdIGEueXRwLXN1Z2dlc3Rpb24tbGlua3tvcGFjaXR5OjB9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3cteDphdXRvfS55dHAtdG91Y2gtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7aGVpZ2h0OjE4MHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24taW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6MTA4cHg7d2lkdGg6MTkycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3tiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtoZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKTt3aWR0aDozMnB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQ6aG92ZXIsLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXM6aG92ZXJ7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1iaWctbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3toZWlnaHQ6NjRweDt3aWR0aDo2NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHR7cmlnaHQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXByZXZpb3Vze2xlZnQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtib3R0b206MDtmb250LXNpemU6MTJweDtsZWZ0OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjA7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgxMiwxMiwxMiwuOCksdHJhbnNwYXJlbnQgMTAwcHgpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDEyLDEyLDEyLC44KSAwLHRyYW5zcGFyZW50IDEwMHB4KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtmb250LXNpemU6MjBweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbms6aG92ZXIgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7b3BhY2l0eToxfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbTo0cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNzU7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257Zm9udC1zaXplOjE3cHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbltkYXRhLWlzLWxpdmU9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb246ZW1wdHksLnl0cC1zaG9ydHMtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxlLC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21heC1oZWlnaHQ6MzBweH0ueXRwLWltcHJlc3Npb24tbGlua3tiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjJweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoycHg7Ym90dG9tOjVweDtoZWlnaHQ6NDdweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWltcHJlc3Npb24tbGluay10ZXh0e2NvbG9yOndoaXRlO2Zsb2F0OmxlZnQ7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tdG9wOjE2cHh9Lnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3tmbG9hdDpyaWdodDtoZWlnaHQ6MTZweDttYXJnaW4tbGVmdDo5cHg7bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLXRvcDoxNnB4O3dpZHRoOjcycHh9Lnl0cC1tdXNpYy1pbXByZXNzaW9uLWxpbmsgLnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWxlZnQ6MDtoZWlnaHQ6MTlweH0ueXRwLW1vYmlsZS1hMTF5LWhpZGRlbi1zZWVrLWJ1dHRvbi1mb3J3YXJkLC55dHAtbW9iaWxlLWExMXktaGlkZGVuLXNlZWstYnV0dG9uLXJld2luZHt3aWR0aDoxcHg7aGVpZ2h0OjFweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5LC55dHAtbXV0ZWQtYXV0b3BsYXktb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwMDE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjExcHg7Ym90dG9tOjB9Lnl0cC1tdXRlZC1hdXRvcGxheS1ib3R0b20tYnV0dG9ucyAueXRwLWJ1dHRvbiwueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OnVuc2V0O21hcmdpbjowIDRweH0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre3JpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya3tvcGFjaXR5OjF9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXktZXF1YWxpemVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym90dG9tOjhweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplcntib3R0b206MTBweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplci1pY29ue21hcmdpbjphdXRvO3RvcDozcHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lcXVhbGl6ZXItaWNvbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kLXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjAgMTAlO2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LXNob3ctZW5kLXBhbmVsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS55dHAtbXV0ZWQtYXV0b3BsYXktc2hvdy1lbmQtcGFuZWwgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtcGFuZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7bWFyZ2luLXRvcDo0MHB4fS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHttYXJnaW4tdG9wOjkwcHh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX1Aa2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRwLWVxdWFsaXplci1iYXItbGVmdCwueXRwLWVxdWFsaXplci1iYXItbWlkZGxlLC55dHAtZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDstbXMtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uO2FuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZXF1YWxpemVyLWJhci1sZWZ0ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzfS55dHAtZXF1YWxpemVyLWJhci1taWRkbGV7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4zczthbmltYXRpb24tZHVyYXRpb246MS4zc30ueXRwLWVxdWFsaXplci1iYXItcmlnaHR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjdzO2FuaW1hdGlvbi1kdXJhdGlvbjouN3N9Lnl0cC1wYXVzZS1vdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4O2JvdHRvbTo0OXB4O2RpcmVjdGlvbjpsdHI7bGVmdDowO21hcmdpbjoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDI7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wYXVzZS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1wYXVzZS1vdmVybGF5LWNvbnRyb2xzLWhpZGRlbiAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOjB9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAuYWQtb3ZlcmxheSwueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC5jYXB0aW9uLXdpbmRvd3tkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC55dHAtcGF1c2Utb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cmlnaHQ6MH0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOmF1dG99Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcGF1c2Utb3ZlcmxheXtvcGFjaXR5Oi4yfS55dHAtY2Utc2hvd24gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtbWVudS1zaG93biAueXRwLXBhdXNlLW92ZXJsYXksLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLXBhdXNlLW92ZXJsYXl7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWNvbGxhcHNlLC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLW5leHQsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcHJldmlvdXMsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZSwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5KSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tkaXNwbGF5Om5vbmV9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5e3BhZGRpbmc6MjRweCAzMnB4IDMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2V7aGVpZ2h0OjIwcHg7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O3RvcDoxMnB4O3dpZHRoOjIwcHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6NDhweDtyaWdodDowO3RvcDowO3dpZHRoOjQ4cHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZS1pY29ue21hcmdpbjphdXRvO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MzJweDtyaWdodDozNnB4O3RvcDoyNHB4O3dpZHRoOjMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9iaWxlLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2hlaWdodDo0OHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToyNHB4O3BhZGRpbmc6MTBweCAxNXB4fS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZCBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWFyZ2luLWJvdHRvbToycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1leHBhbmQgc3Zne3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjI0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheXtib3JkZXItcmFkaXVzOjJweDtib3R0b206OHB4O2xlZnQ6OHB4O3JpZ2h0OjhweDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwYWRkaW5nOjE2cHggMjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXl7cGFkZGluZzoxMnB4IDI0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5e2JvdHRvbTozMnB4O2xlZnQ6MjhweDtyaWdodDoyOHB4fS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91cywueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS55dHAtc2Nyb2xsLW1heCAueXRwLW5leHQsLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtdG91Y2gtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2Rpc3BsYXk6bm9uZX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1yZWxhdGVkLXRpdGxle21hcmdpbi1sZWZ0OjhweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjI0cHg7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzJweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb25ze2RpcmVjdGlvbjpsdHI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tdG9wOjhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3ttYXJnaW4tdG9wOjZweH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tvdmVyZmxvdy14OmF1dG99Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWltYWdle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwOHB4O3dpZHRoOjE5MnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2JhY2tncm91bmQ6IzMzMztib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2hlaWdodDozMnB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7Ym90dG9tOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLW5leHR7cmlnaHQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0e3JpZ2h0OjMycHh9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2xlZnQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91c3tsZWZ0OmFkZCgyNHB4LDhweCl9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5e2JvdHRvbTowO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtvcGFjaXR5OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDEyLDEyLDEyLC44KSx0cmFuc3BhcmVudCAxMDBweCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7Zm9udC1zaXplOjIwcHh9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IGEueXRwLXN1Z2dlc3Rpb24tbGluazpob3ZlciAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjF9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjJweDtib3R0b206NHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO29wYWNpdHk6Ljk7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbntmb250LXNpemU6MTdweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb25bZGF0YS1pcy1saXZlPXRydWVde2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1lcnJvci1pbmRpY2F0b3IsI2UxMDAyZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWF1dGhvciwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjhweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOHB4O21heC1oZWlnaHQ6MzBweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye29wYWNpdHk6Ljc7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtc21hbGwtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTJweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoyNnB4O2JvdHRvbTozOHB4O3otaW5kZXg6Mjg7b3BhY2l0eTouOTtwYWRkaW5nLXRvcDoxMXB4O3BhZGRpbmctYm90dG9tOjExcHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyazpub3QoLnl0cC1tdXRlZC1hdXRvcGxheS13YXRlcm1hcmspe3JpZ2h0OjE2cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyay55dHAtd2F0ZXJtYXJrLXNtYWxse3dpZHRoOjg1cHg7aGVpZ2h0OjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre2JvdHRvbTo1OXB4fS55dHAtaGlkZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjVweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW5hdGl2ZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjUwcHg7bGVmdDoxNnB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbm8taG92ZXIpOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayk6aG92ZXJ7b3BhY2l0eToxfTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5IC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowfS55dHAtYXV0b2hpZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJrOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayl7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrKXtkaXNwbGF5Om5vbmV9Om5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVue2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjM2fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tdGFrZW92ZXIuaHRtbDUtZW5kc2NyZWVue2Rpc3BsYXk6bm9uZX0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ286bm90KC55dHAtbXdlYi1wbGF5ZXIpIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvOm5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVuOm5vdCgueXRwLXNob3J0cy1icmFuZGVkLXVpKXttYXJnaW4tdG9wOjMycHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCV9Lnl0cC1lbmRzY3JlZW4tdGFrZW92ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLWNvbnRlbnR7ZGlzcGxheTpub25lfTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6MzJweDtvdmVyZmxvdzp2aXNpYmxlO3JpZ2h0OjMycHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6NDhweDtyaWdodDo0OHB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tbmV4dHtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMzJweDt3aWR0aDozMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0e3JpZ2h0Oi00OHB4O3dpZHRoOjQ4cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wYWdpbmF0ZSAueXRwLWVuZHNjcmVlbi1uZXh0e2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0OmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91c3tkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7bGVmdDotMzJweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2xlZnQ6LTQ4cHg7d2lkdGg6NDhweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXBhZ2luYXRlIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXdlYi1wbGF5ZXIuaHRtbDUtZW5kc2NyZWVue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y3Vyc29yOmRlZmF1bHQ7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MzZ9Lmh0bWw1LWVuZHNjcmVlbi5tb2Rlcm4tdmlkZW93YWxsLWVuZHNjcmVlbntjdXJzb3I6ZGVmYXVsdDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDozNjstd2Via2l0LWFsaWduLWNvbnRlbnQ6Y2VudGVyO2FsaWduLWNvbnRlbnQ6Y2VudGVyfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2ZvbnQtc2l6ZToxMXB4fS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDoxMDAlfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle21hcmdpbi1yaWdodDoxMnB4fS55dHAtZW5kc2NyZWVuLXRha2VvdmVyIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50LC55dHAtZW5kc2NyZWVuLXRha2VvdmVyLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDMxMHB4LDFmcikpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heChjbGFtcCgyNTBweCwyNyUsNDUwcHgpLDFmcikpO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dyaWQtYXV0by1yb3dzOjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtY29sdW1uLWdhcDoxNnB4Oy1tb3otY29sdW1uLWdhcDoxNnB4O2NvbHVtbi1nYXA6MTZweDt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7cGFkZGluZzozMnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXgtaGVpZ2h0OjEwMCV9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLXJvdy0wIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tbGltaXQtcm93cy0xIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1saW1pdC1yb3dzLTIgLnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWNvbnRlbnR7Z3JpZC10ZW1wbGF0ZS1yb3dzOnJlcGVhdCgyLDFmcil9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWxpbWl0LXJvd3MtMyAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDMsMWZyKX0ueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50e29wYWNpdHk6MTtzY3JvbGxiYXItd2lkdGg6bm9uZTtvdmVyZmxvdzpzY3JvbGx9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3RvcDowfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDpjYWxjKDMwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKTtib3R0b206MH0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtZXhwYW5kLWJ1dHRvbiwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1idXR0b25zLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0b3A6MDttYXJnaW4tdG9wOmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpLzIqLTEgKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0KS8yKi0xKTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWJ1dHRvbnMtY29udGFpbmVye21hcmdpbi10b3A6Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCkvMiotMSArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQpLzIqLTEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b257b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpO2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OnZpc2libGU7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7ei1pbmRleDo3Mjtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zne3BhZGRpbmc6Y2FsYygodmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktaWNvbi1zaXplLCAyNHB4KSkvMik7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwyNHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1pY29uLXNpemUsMjRweCl9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KSAtIHZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwgMjRweCkpLzIpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDhweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDhweCk7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOmFsbH06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246aG92ZXI6YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aG92ZXIgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6YWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSAtIDZweCAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSA2cHggLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaGVhZGVye2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWR7ZGlzcGxheTpibG9jaztvdmVyZmxvdzp2aXNpYmxlO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZ3JpZC1zY3JvbGxhYmxlLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsYWJsZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7b3BhY2l0eTouNX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtvcGFjaXR5OjF9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5e2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoxMnB4O2JvcmRlci1yYWRpdXM6MTZweDt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmU6bm90KC5lbmRlZC1tb2RlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4fS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5LC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXl7ZGlzcGxheTpub25lfTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5OmhhcygueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmhvdmVyKSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5KX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aGFzKC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3Zlcil9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlOm5vdCguZW5kZWQtbW9kZSkgLnl0cC1mdWxsc2NyZWVuLWdyaWQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpfS55dHAtZ3JpZC1yZXBsYXktYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxOHB4O21hcmdpbi1yaWdodDoxNnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsLWJsZWVkLXBsYXllciAueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JvcmRlci1yYWRpdXM6MzBweH0ueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6Z3JpZDtwYWRkaW5nOjAgMjRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxNnB4Oy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXIsLnl0cC1ncmlkLXNjcm9sbGluZy55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0b30ueXRwLWZ1bGxzY3JlZW4tZ3JpZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZTttYXgtaGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6MDt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZnVsbHNjcmVlbi1ncmlke2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWR7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3BhY2l0eTowfS55dHAtbW9yZS12aWRlb3MtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4Oy13ZWJraXQtY29sdW1uLWdhcDo4cHg7LW1vei1jb2x1bW4tZ2FwOjhweDtjb2x1bW4tZ2FwOjhweDtib3JkZXItcmFkaXVzOjI4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7bGVmdDo0cHg7d2lkdGg6Y2FsYygxMDAlIC0gOHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGh1bWJuYWlse3dpZHRoOjQwcHg7YXNwZWN0LXJhdGlvOjE2Lzk7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tT3ZlcmxheS1PdmVybGF5LVRleHQtUHJpbWFyeSwjZmZmKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDA7Zm9udC1mYW1pbHk6dmFyKC0tVHlwb2dyYXBoeS1Gb250LUZhbWlseSxSb2JvdG8pO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O2xldHRlci1zcGFjaW5nOi4xNnB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDowO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDcycHgpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZzowIDI0cHh9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZTpub3QoLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYpIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpudGgtY2hpbGQobis0KXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGU6bm90KC55dHAtZW5hYmxlLWhvcml6b250YWwtZW5kc2NyZWVuLXNoZWxmKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6bnRoLWNoaWxkKDQpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93LXg6YXV0bzstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50ey13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWluLXdpZHRoOjMxJX0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b24ueXRwLWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtZ3JpZC1zY3JvbGxpbmcgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0LC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtbW9yZS12aWRlb3MtYnV0dG9uLnl0cC1idXR0b24sLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbi55dHAtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9ye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjQ0O2xpbmUtaGVpZ2h0OjIyMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNDAsNDAsNDApfS55dHAtZW1iZWQtZXJyb3IgLnl0cC1lcnJvcntkaXNwbGF5OmJsb2NrfS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGV7bGluZS1oZWlnaHQ6MTYwJX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZXtsaW5lLWhlaWdodDoyMjAlfS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6ODUlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXh9Lnl0cC1lbWJlZC1lcnJvciAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHttYXJnaW46MCBhdXRvfS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21pbi13aWR0aDo2NHB4O21pbi1oZWlnaHQ6NjRweDtmbG9hdDpsZWZ0fS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lciBzdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5OmlubGluZTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O29wYWNpdHk6Ljd9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0Lm5vLWxpbmt7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9yLnJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS12aXNpYmxlIC55dHAtc21hbGwtcmVkaXJlY3QsLnl0cC1mdWxsc2NyZWVuIC55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5Om5vbmV9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0IGF7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcHttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjEwMCV9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6OTZweDt3aWR0aDo5NnB4O21pbi13aWR0aDo5NnB4O21pbi1oZWlnaHQ6OTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDo2MHB4O3dpZHRoOjYwcHh9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXJlYXNvbntmb250LXNpemU6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZSAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDoycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtsaW5lLWhlaWdodDoxNTAlfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWljb24tY29udGFpbmVye2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3ItaWNvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcC1yZWFzb257Zm9udC1zaXplOjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC10aW55LW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToxMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWZ1bGxlcnNjcmVlbi1lZHUtYnV0dG9uLnl0cC1idXR0b257d2lkdGg6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1idXR0b24ueXRwLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI0cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbjpub3QoLnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUpIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2hlaWdodDo1MCV9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7aGVpZ2h0OjUwJTttYXJnaW4tdG9wOi04cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUgLnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcnt3aWR0aDoyNHB4fS55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAsLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMSwueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfX1Aa2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCl9fUBrZXlmcmFtZXMgeXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbns1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KX19Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTB7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0wLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1idXR0b246bm90KFthcmlhLWRpc2FibGVkPXRydWVdKTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0xey13ZWJraXQtYW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWZ1bGxzY3JlZW4tYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXIgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4NnB4O3JpZ2h0OjI0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOjMzJTt0b3A6MjRweDtsZWZ0OjI0cHg7ei1pbmRleDo1OX0ueXRwLW92ZXJsYXktdG9wLWxlZnQgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe21heC13aWR0aDo2MCV9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbSAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7dG9wOnVuc2V0O2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLXNob3BwaW5nLXBpbGwtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDg2cHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1zaG9wcGluZy1waWxsLXNob3duIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YXtib3R0b206Y2FsYyg4NnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWNocm9tZS10b3AtYnV0dG9uc3t3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MDt6LWluZGV4OjU5Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtY2hyb21lLXRvcC1idXR0b25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjA7ei1pbmRleDo1OH0qIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwqIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntvcGFjaXR5Om1heCgxIC0gMyAqIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSwwKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze29wYWNpdHk6MH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3toZWlnaHQ6MDttYXJnaW46MH0uYWQtc2hvd2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLmFkLXNob3dpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnNlZWtpbmctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLW1lbnUtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtbWVudS1zaG93biAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLXNldHRpbmdzLXNob3duIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7ZGlzcGxheTpub25lfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5e3otaW5kZXg6ODI7b3ZlcmZsb3c6aGlkZGVufS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmR7YmFja2dyb3VuZDpuby1yZXBlYXQgNTAlL2NvdmVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjgyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3otaW5kZXg6ODJ9Lnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktbWluaXBsYXllci1jbG9zZS1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDt6LWluZGV4OjgyfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1taW5pcGxheWVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1iYXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgNnB4O2xlZnQ6MjBweDtoZWlnaHQ6NTZweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjt3aWR0aDozODBweDt6LWluZGV4OjgyfS55dHAtYmlnLW1vZGUgLnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktYmFye3BhZGRpbmc6MCA5cHg7aGVpZ2h0Ojg0cHg7Ym90dG9tOjMwcHg7bGVmdDozMHB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6ODBweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgOHB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym9yZGVyLXJhZGl1czoyNHB4O2JvcmRlci13aWR0aDowO2N1cnNvcjpwb2ludGVyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbi10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgOHB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmZ9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b25ze21hcmdpbjoxOHB4IDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6MTIwcHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czozcHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b24tdGl0bGV7bWFyZ2luOjAgMTJweDtsaW5lLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxMzAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnttaW4td2lkdGg6MjcwcHg7bWFyZ2luOjAgOXB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXN1YnRpdGxlLC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1zdWJ0aXRsZXtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1oZWF0LW1hcC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXIsLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2hlaWdodDo0MHB4O2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWhlYXQtbWFwLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MH0ueXRwLWRlbGhpLW1vZGVybi55dHAtaGVhdC1tYXAueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZTpub3QoLmFkLXNob3dpbmcpIC55dHAtaGVhdC1tYXAtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4xcyxtYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXMsbWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjFzO21hcmdpbi1ib3R0b206OHB4fS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3Zlcjpub3QoLmFkLXNob3dpbmcpIC55dHAtdGltZWQtbWFya2Vycy1lbmFibGVkIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2JvdHRvbTo3cHh9Lnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY2hhcHRlciBzdmd7aGVpZ2h0OjQwcHh9Lnl0cC1iaWctbW9kZS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLWhlYXQtbWFwLWNoYXB0ZXIgc3Zne2hlaWdodDo2MHB4fS55dHAtaGVhdC1tYXAtY29udGFpbmVye29wYWNpdHk6MDtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowO2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWhlYXQtbWFwLnl0cC1iaWctbW9kZS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2hlaWdodDo2MHB4O2JvdHRvbTo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtaGVhdC1tYXAtY2hhcHRlci55dHAtaGVhdG1hcC1ob3Zlcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjNweH0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIgLnl0cC1oZWF0LW1hcC1ob3ZlcntoZWlnaHQ6MTAwJTtmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtaGVhdC1tYXAtaG92ZXIsLnl0cC1oZWF0LW1hcC1wbGF5e2hlaWdodDowfS55dHAtaGVhdC1tYXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWNvbnRhaW5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDowfS55dHAtZmluZS1zY3J1YmJpbmctdGh1bWJuYWlse2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0b30ueXRwLWZpbmUtc2NydWJiaW5nLWRyYWdnYWJsZSwueXRwLWZpbmUtc2NydWJiaW5nLXRodW1ibmFpbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO21pbi13aWR0aDoxNjBweDtoZWlnaHQ6MTAwJX0ueXRwLWZpbmUtc2NydWJiaW5nLWN1cnNvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtoZWlnaHQ6MTAwJTt3aWR0aDozcHg7YmFja2dyb3VuZDojZWVlfS55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLWZpbmUtc2NydWJiaW5nLWRpc21pc3MsLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5LC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLXBsYXl7ZGlzcGxheTpub25lO2hlaWdodDozNXB4O3dpZHRoOjM1cHg7Ym90dG9tOjExMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5e2JvdHRvbToxMjAlfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtZmluZS1zY3J1YmJpbmctcGxheSBzdmd7cGFkZGluZzo4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1kaXNtaXNze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTUlO3JpZ2h0OjEwcHg7aGVpZ2h0OjI1cHg7d2lkdGg6MjVweDtkaXNwbGF5Om5vbmV9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dvcmQtd3JhcDpicmVhay13b3JkOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7cGFkZGluZzoxNXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtZmluZS1zY3J1YmJpbmctY2hhcHRlci10aXRsZXt3aWR0aDoyNDBweDtoZWlnaHQ6MTM1cHh9Lnl0cC1maW5lLXNjcnViYmluZy1lZHV7ZGlzcGxheTpub25lfS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTA3cHh9Lnl0cC1iaWctbW9kZS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTUxcHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVte2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjE2cHggMCAwIDE2cHg7d2lkdGg6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC1iaWctbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjI0cHggMCAwIDI0cHg7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjhweCAxMnB4IDAgMCAwIDhweCAxMnB4IDA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1kaXNjbGFpbWVye2N1cnNvcjpub25lO2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmF1dG87bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1idXR0b257d2lkdGg6MTAwJTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjcycHg7aGVpZ2h0OjU0cHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVse21hcmdpbi1sZWZ0OjEycHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtvdmVyZmxvdzphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVsLC55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW0tbGFiZWx7bWFyZ2luLWxlZnQ6MTJweDtmb250LXNpemU6MTRweDtvdmVyZmxvdzphdXRvfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtc2tyaW17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTt6LWluZGV4OjcxfS55dHAtaW5mby1wYW5lbC1kZXRhaWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDphdXRvO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6NjAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7b3ZlcmZsb3c6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbCwueXRwLXNtYWxsLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbHt3aWR0aDo2MCV9W2Rpcj1sdHJdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9cnRsXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjE2cHg7bGluZS1oZWlnaHQ6MjRweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjI0cHh9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC10aXRsZXttYXJnaW4tcmlnaHQ6MTRweDstd2Via2l0LWZsZXgtZ3JvdzoyOy13ZWJraXQtYm94LWZsZXg6MjtmbGV4LWdyb3c6Mn0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2V7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1ib2R5e2xpbmUtaGVpZ2h0OjI0cHg7bWluLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO21hcmdpbjowIDE2cHg7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtYm9keXttYXJnaW46MCAyNHB4fS55dHAtaW5mby1wYW5lbC1kZXRhaWwtaXRlbXN7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDE2cHggMTZweCAwfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1za3JpbXt6LWluZGV4OjEwMDJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWluZm8tcGFuZWwtcHJldmlld3toZWlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjEycHg7cmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6cG9pbnRlcjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MjY7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjppbmhlcml0O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MDtmb250OmluaGVyaXQ7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDI3MnB4KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlld1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjYwcHh9Lnl0cC1lbWJlZC55dHAtc2hvcnRzLW1vZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjEyMnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtYXV0b2hpZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6MTJweH0ueXRwLW11dGVkLWF1dG9wbGF5IC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3otaW5kZXg6MTAwMjt0b3A6MTJweH0ueXRwLWxhcmdlci10YXAtYnV0dG9ucyAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6ODFweH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3RvcDo4MXB4O2JvdHRvbTphdXRvO2xlZnQ6MjRweDtoZWlnaHQ6YXV0bztsaW5lLWhlaWdodDphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtcHJldmlld3ttaW4td2lkdGg6MTMwcHg7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDIwOHB4KX0ueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZTstd2Via2l0LXRyYW5zaXRpb246ZGlzcGxheSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmRpc3BsYXkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjBweDtwb2ludGVyLWV2ZW50czpub25lO2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbjplbXB0eSwueXRwLWluZm8tcGFuZWwtcHJldmlldy1pY29uOmVtcHR5e2hlaWdodDowO3dpZHRoOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctdGV4dHtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46OHB4O2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7b3BhY2l0eToxO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3doaXRlLXNwYWNlOm5vcm1hbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlldy10ZXh0W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9I2lubGluZS1wcmV2aWV3LXBsYXllciAuY2FwdGlvbi13aW5kb3csI2lubGluZS1wcmV2aWV3LXBsYXllciAueXRwLWNhcHRpb24td2luZG93LWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtbW9kZXJuLWNhcHRpb24ueXRwLW13ZWItcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDQ4cHgpfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC5jYXB0aW9uLXdpbmRvdywueXRwLW1vZGVybi1jYXB0aW9uLnl0cC1td2ViLXBsYXllciAuY2FwdGlvbi13aW5kb3d7Ym9yZGVyOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1tb2Rlcm4tY2FwdGlvbiNpbmxpbmUtcHJldmlldy1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tb2Rlcm4tY2FwdGlvbi55dHAtbXdlYi1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1pbnB1dC1zbGlkZXJ7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtd3JpdGluZy1tb2RlOmhvcml6b250YWwtdGI7LW1zLXdyaXRpbmctbW9kZTpsci10Yjt3cml0aW5nLW1vZGU6aG9yaXpvbnRhbC10YjtkaXJlY3Rpb246bHRyfS55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwuMikgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tdG9wOi02cHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtaW5wdXQtc2xpZGVyOjotbXMtdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmFyaXNwZWVkLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbSgjZmZmKSxjb2xvci1zdG9wKCNmZmYpLGNvbG9yLXN0b3AoIzkwOTA5MCksdG8oIzkwOTA5MCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyey13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOy1tcy13cml0aW5nLW1vZGU6YnQtcmw7d3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsO2RpcmVjdGlvbjpydGw7aGVpZ2h0OmluaGVyaXQ7d2lkdGg6MjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO3dpZHRoOjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsLjIpIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSAxMDAlKTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0cC12ZXJ0aWNhbC1zbGlkZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi1yaWdodDotNnB4fS55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRodW1ie21hcmdpbi1yaWdodDowfX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3dpZHRoOjQ2cHg7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3BhZGRpbmc6OXB4O2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVke2Rpc3BsYXk6YmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3BhZGRpbmctdG9wOjEycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b257cGFkZGluZy10b3A6N3B4fS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVkLC55dHAtdGlueS1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b24ueXRwLWp1bXAtYnV0dG9uLWVuYWJsZWR7ZGlzcGxheTpub25lfS55dHAtanVtcC1idXR0b24tdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjlweDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC13ZWlnaHQ6OTAwfS55dHAtanVtcC1zcGluIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3BpbjthbmltYXRpb24tbmFtZTp5dHAtanVtcC1zcGluOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9Lnl0cC1qdW1wLXNwaW4uYmFja3dhcmRzIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtanVtcC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtanVtcC1zcGluLWJhY2t3YXJkc3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW4tYmFja3dhcmRzezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS55dHAtbGFyZ2UtcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTt3aWR0aDo2OHB4O2hlaWdodDo0OHB4O21hcmdpbi1sZWZ0Oi0zNHB4O21hcmdpbi10b3A6LTI0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo2M30ueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC1zaG9ydHMtbW9kZXt3aWR0aDo2OHB4O2hlaWdodDo5MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtc2hvcnRzLW1vZGV7d2lkdGg6MTAycHg7aGVpZ2h0OjEzNXB4fS55dHAtZG5pIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLXNtYWxsLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbnt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O21hcmdpbi1sZWZ0Oi0zNy41cHg7bWFyZ2luLXRvcDotMzcuNXB4fS5ob3VzZS1icmFuZCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXRvcDotMzBweH0ueXRwLWxhcmdlLXBsYXktYnV0dG9uIHN2Z3toZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ueXRwLWRuaSAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXkgLnl0cC1kbmktbGFyZ2UtcGxheS1idXR0b24tYmd7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ZmlsbC1vcGFjaXR5Oi44fS55dHAtZG5pIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWRuaS1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmaWxsLW9wYWNpdHk6MX0ueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6MTAycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWxlZnQ6LTUxcHg7bWFyZ2luLXRvcDotMzZweH0uaG91c2UtYnJhbmQueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6OTBweDtoZWlnaHQ6OTBweDttYXJnaW4tbGVmdDotNDVweDttYXJnaW4tdG9wOi00NXB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheVthcmlhLWhpZGRlbj10cnVlXSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLC55dHAtbWVudS1zaG93biAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZC1wYW5lbCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtmaWxsOiMyMTIxMjE7ZmlsbC1vcGFjaXR5Oi44fS55dHAtbGFyZ2UtcGxheS1idXR0b24tcmVkLWJnIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyk7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtdG91Y2gtZGV2aWNlIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJney13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2ZpbGw6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpO2ZpbGwtb3BhY2l0eToxfS55dHAtY29sb3ItcGFydHkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1jb2xvci1wYXJ0eSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC10b3VjaC1kZXZpY2UgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZywueXRwLWNvbG9yLXBhcnR5IC55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXk6aG92ZXIgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktZmlsbCAuMTVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWZpbGwgLjE1cyBsaW5lYXIgaW5maW5pdGV9LmhvdXNlLWJyYW5kIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJnLC5ob3VzZS1icmFuZCAueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDojMDAwfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NzI7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6cmdiYSgxNywxNywxNywuOCk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtkaXNwbGF5OmJsb2NrO3dpZHRoOjQwMHB4O292ZXJmbG93LXk6YXV0b31odG1sW2RhcmtdIC55dHAtbGlua2VkLWFjY291bnQtcG9wdXB7YmFja2dyb3VuZDpyZ2JhKDMzLDMzLDMzLC45NSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLWJ1dHRvbnN7cGFkZGluZzo4cHggOHB4IDhweCAyNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYigyMzgsMjM4LDIzOCk7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtYnV0dG9ue2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDA3cHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MTBweCAxNnB4fWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC1idXR0b257Y29sb3I6IzNlYTZmZn0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLXRpdGxle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7bWFyZ2luOjE2cHggMjRweDtjb2xvcjpyZ2IoMywzLDMpfWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC10aXRsZXtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtZGVzY3JpcHRpb257cGFkZGluZzowIDI0cHg7bWFyZ2luOjRweCAwIDI0cHh9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jb25maXJte2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzY2Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jYW5jZWx7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjoxMnB4IDA7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czoycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbWR4LXBvcHVwLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1tZHgtcG9wdXAtZGlhbG9nLWlubmVyLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi03MHB4O2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6MCAyMCV9Lnl0cC1tZHgtcG9wdXAtdGl0bGV7Zm9udC1zaXplOjIwcHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1keC1wb3B1cC1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLW1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDoyMHB4O2hlaWdodDo0NHB4fS55dHAtYmlnLW1vZGUgLm1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDozMHB4O2hlaWdodDo2N3B4fS5odG1sNS12aWRlby1wbGF5ZXIueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5lbmRlZC1tb2RlKTpub3QoLmN1ZWQtbW9kZSk6bm90KC51bnN0YXJ0ZWQtbW9kZSl7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC15cGMtcGxheWVyLWNvbnRlbnR7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci11aXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXt6LWluZGV4OjY4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX0ueXRwLW1pbmlwbGF5ZXItc2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtdHJhbnNpdGlvbjouMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgLjFzO3RyYW5zaXRpb246LjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4xcztvcGFjaXR5OjA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1taW5pcGxheWVyLXNjcmltOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtcGxheWVyLW1pbmltaXplZC51bnN0YXJ0ZWQtbW9kZSAueXRwLW1pbmlwbGF5ZXItc2NyaW17b3BhY2l0eToxfS55dHAtbWluaXBsYXllci1zY3JpbTpob3ZlcntvcGFjaXR5OjF9Lnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5lbmRlZC1tb2RlIC55dHAtbWluaXBsYXllci1idXR0b25ze2Rpc3BsYXk6YmxvY2t9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24tYm90dG9tLXJpZ2h0e2JvdHRvbTo0cHg7cmlnaHQ6MH0ueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbi10b3AtbGVmdHt0b3A6MDtsZWZ0OjB9Lnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo4cHg7Ym90dG9tOjhweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jb250cm9sc3tkaXJlY3Rpb246bHRyO2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjI2NHB4Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcnttaW4td2lkdGg6NjRweH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtbmV4dC1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcHJldi1idXR0b257d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXJ7bWluLXdpZHRoOjMycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcGxheS1idXR0b257d2lkdGg6NDJweDtoZWlnaHQ6NDJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWNvbnRyb2xzIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjdweDtib3R0b206MH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkueXRwLWxpdmUgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aXtkaXNwbGF5OmJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRpdGxle3dpZHRoOjIwMCU7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NDhweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC1leHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdHtib3R0b206MXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjQpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuNCk7dHJhbnNmb3JtOnNjYWxlWSgxLjQpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0xcHg7ei1pbmRleDo2OH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC10aW1lLWRpc3BsYXl7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXJ7Ym90dG9tOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC52aWRlby1hZHMsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC52aWRlby1hZHN7ZGlzcGxheTpibG9ja30ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheXtvdmVyZmxvdzpoaWRkZW59Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktZmx5b3V0LWN0YSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJ7Ym90dG9tOjMycHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206M3B4O2xlZnQ6NnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsIC55dHAtdG9vbHRpcC10aXRsZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2ZvbnQtc2l6ZToxMnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3e21heC13aWR0aDpjYWxjKDEwMCUgLSAyNHB4KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtcGxheWVyLW1pbmltaXplZCAuaHRtbDUtbWFpbi12aWRlbywueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1taW5pcGxheWVyLXNjcmlte2JvcmRlci1yYWRpdXM6MTJweCAxMnB4IDAgMH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLmh0bWw1LW1haW4tdmlkZW97Ym9yZGVyLXJhZGl1czowfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUgLmh0bWw1LW1haW4tdmlkZW8sLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1wbGF5ZXItZG9jdW1lbnQtcGljdHVyZS1pbi1waWN0dXJlIC55dHAtbWluaXBsYXllci1zY3JpbSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUuaHRtbDUtdmlkZW8tcGxheWVye2JvcmRlci1yYWRpdXM6MH0ueXRwLXRpdGxlLW5vdGlmaWNhdGlvbnN7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tcmlnaHQ6NXB4O3RleHQtYWxpZ246Y2VudGVyfWJ1dHRvbi55dHAtYnV0dG9uLnl0cC10aXRsZS1ub3RpZmljYXRpb25ze21hcmdpbi1sZWZ0OjhweDt3aWR0aDo0OHB4fS55dHAtdGl0bGUtbm90aWZpY2F0aW9uczpub3QoLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQpIC55dHAtdGl0bGUtbm90aWZpY2F0aW9ucy1vbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1ub3RpZmljYXRpb25zLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQgLnl0cC10aXRsZS1ub3RpZmljYXRpb25zLW9mZntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRle3otaW5kZXg6MjE7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm8tcmVwZWF0IDUwJS9jb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIyfS55dHAtb2ZmbGluZS1zbGF0ZS55dHAtb2ZmbGluZS1zbGF0ZS1oaWRlLWJhY2tncm91bmQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhY2tncm91bmR7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUueXRwLW9mZmxpbmUtc2xhdGUtaGlkZS1iYWNrZ3JvdW5kIC55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlOm5vdCgueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlcikgLnl0cC1vZmZsaW5lLXNsYXRlLWJhci1mYWRlLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCA2cHg7bGVmdDoxMnB4O2hlaWdodDo1NnB4O2JvdHRvbTo2MHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2ZmZjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo0Njtib3JkZXItcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwuNik7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1iYXIueXRwLW9mZmxpbmUtc2xhdGUtYmFyLWhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0cC1lbWJlZCAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo1MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nOjAgOXB4O2hlaWdodDo4NHB4O2JvdHRvbTo5MHB4O2xlZnQ6MThweH0ueXRwLWVtYmVkLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo5MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntib3R0b206MTJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1iYXJ7Ym90dG9tOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWljb257bWFyZ2luOjAgMTRweDt3aWR0aDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue3dpZHRoOjM2cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257bWluLXdpZHRoOjgwcHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDhweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItcmFkaXVzOjJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6IzI4MjgyOH0ueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbiBzdmd7ZmlsbDojMjgyODI4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MCA4cHg7bGluZS1oZWlnaHQ6MzJweDtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo1MDB9Lnl0cC1yZW1pbmRlci1tZW51e2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjU1cHg7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLXJlbWluZGVyLW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbWluZGVyLW1lbnUtY29udGVudHN7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNlZWU7ZGlzcGxheTp0YWJsZTtwYWRkaW5nOjhweCAwO3dpZHRoOjEwMCV9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW17Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQwcHg7b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW17aGVpZ2h0OjQ5cHh9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLXJlbWluZGVyLW1lbnUtaXRlbTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW0taWNvbiwueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1sYWJlbHtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzowIDE1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWxhYmVse2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW0tbGFiZWx7cGFkZGluZzowIDE1cHggMCAwfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb257cGFkZGluZzowIDEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uc3ttYXJnaW46MThweCA5cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue21pbi13aWR0aDoxMjBweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjNweH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHttYXJnaW46MCAxMnB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtb2ZmbGluZS1zbGF0ZS1tZXNzYWdlc3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtbWVzc2FnZXN7bWluLXdpZHRoOjI3MHB4O21hcmdpbjowIDlweH0ueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0LC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtb2ZmbGluZS1zbGF0ZS1tYWluLXRleHR7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NDAwfS55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e2ZvbnQtc2l6ZToxMTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dG9wOjA7Ym90dG9tOjA7bGVmdDphdXRvO3JpZ2h0OjA7cGFkZGluZzoyNXB4O3BhZGRpbmctdG9wOjQ4cHg7bWluLXdpZHRoOmF1dG87d2lkdGg6MzAwcHg7aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtdHJhbnNpdGlvbjpyaWdodCAuMjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246cmlnaHQgLjI1cyBlYXNlLWluLW91dDt6LWluZGV4OjIzfS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nLXRvcDo2OXB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntyaWdodDotMTAwJX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtaWNvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWNsb3NlLWJ1dHRvbiwueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b257cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDt0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotMjVweDt6LWluZGV4OjIzfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1jbG9zZS1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b246YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4O2xlZnQ6MTVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoyMHB4fS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyLnl0cC1vZmZsaW5lLXNsYXRlLWNvbGxhcHNlZCAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1lc3NhZ2Vzey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6bm9uZTtmbGV4Om5vbmU7bWFyZ2luOjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1haW4tdGV4dHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0e21hcmdpbi10b3A6MH0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtc3VidGl0bGUtdGV4dHtjb2xvcjojYWFhO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuM2VtO21hcmdpbjo1cHggMCAyMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e21hcmdpbi1sZWZ0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWRlc2NyaXB0aW9ue2Rpc3BsYXk6YmxvY2s7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXNpemU6MTNweDttYXJnaW46MjBweCAwO21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b25ze21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnMgLnl0cC1yZW1pbmRlci1tZW51e2JvdHRvbTphdXRvfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDphdXRvO3BhZGRpbmc6NHB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbiBzdmd7ZmlsbDojZmZmfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHtmb250LXNpemU6MTEwJTtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowIDhweH0ueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttaW4td2lkdGg6NDhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1vdmVyZmxvdy1idXR0b257cGFkZGluZy10b3A6MTZweH0ueXRwLW92ZXJmbG93LWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1vdmVyZmxvdy1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc0O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1vdmVyZmxvdy1wYW5lbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1vdmVyZmxvdy1wYW5lbC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luLXRvcDotNDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6MTJweDtwYWRkaW5nOjA7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLW1vYmlsZS55dHAtZW1iZWQtbW9iaWxlIC55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2V7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1vdmVyZmxvdy1wYW5lbC1hY3Rpb24tYnV0dG9uc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo4cHggMTJweCA3MnB4O3otaW5kZXg6NTk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnQ+Kntwb2ludGVyLWV2ZW50czphdXRvO21hcmdpbi1ib3R0b206MTJweH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6YXV0b30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25ze21hcmdpbi1ib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25zPip7bWFyZ2luLWJvdHRvbToxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2JvdHRvbTowfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdD4qe3BvaW50ZXItZXZlbnRzOmF1dG87bWFyZ2luLXRvcDoxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktaW5saW5lLWNvbnRhaW5lcnt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Z2FwOjEycHh9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXI+Kntwb2ludGVyLWV2ZW50czphdXRvfS55dHAtb3ZlcmxheXMtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzO3RyYW5zaXRpb246Ym90dG9tIC4xczstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIDBzO3RyYW5zaXRpb246Ym90dG9tIDBzfS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7aW5zZXQ6OHB4IDI0cHggNzhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1kZWxoaS1tb2Rlcm4pIC55dHAtb3ZlcmxheXMtY29udGFpbmVye3RvcDo2OXB4O2JvdHRvbTo3OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAyNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOjI0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTozNnB4fS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257ZGlzcGxheTpub25lfS55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjUzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwOS4wOTA5MDkwOTA5JTtoZWlnaHQ6MzBweDtsZWZ0OjI1cHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6Mjd9Lnl0cC1iaWctbW9kZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6YXV0bztwb2ludGVyLWV2ZW50czphdXRvO3RvcDoxNnB4O2xlZnQ6MTZweDtyaWdodDphdXRvfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHggMCA4cHggOHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rW2hyZWY9IiMiXXtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6OHB4fS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1jaGV2cm9ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWNoZXZyb246ZW1wdHksLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWljb246ZW1wdHl7aGVpZ2h0OjA7d2lkdGg6MH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTphdXRvO2hlaWdodDphdXRvO2xlZnQ6MTZweDtsaW5lLWhlaWdodDppbmhlcml0fS55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXt0b3A6NjRweH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtaGlkZS1pbmZvLWJhciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7dG9wOjE2cHh9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5Om5vbmV9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXktbGlua3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO3BhZGRpbmc6NXB4O2JvcmRlci1sZWZ0OnVuc2V0fS55dHAtZGVsaGktbW9kZXJuLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7bWFyZ2luOjAgOHB4fS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206NDVweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MzJweDtvcGFjaXR5OjE7cGFkZGluZzowIDE0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTo2MnB4O2hlaWdodDo0MnB4O2xlZnQ6NDRweDtsaW5lLWhlaWdodDo0MnB4fS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym90dG9tOjZweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1iaWctbW9kZS55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206MTJweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHRbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW1lbnVpdGVte2Rpc3BsYXk6dGFibGUtcm93O2N1cnNvcjpkZWZhdWx0O291dGxpbmU6bm9uZX0ueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW06bm90KC55dHAtbWVudWl0ZW0td2l0aC1mb290ZXIpe2hlaWdodDo0OXB4fS55dHAtbWVudWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLW1lbnVpdGVtOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1tZW51aXRlbS1pY29uLC55dHAtbWVudWl0ZW0tbGFiZWwsLnl0cC1tZW51aXRlbS1zZWNvbmRhcnktaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0taWNvbiBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dHAtbWVudWl0ZW0tc2Vjb25kYXJ5LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLWRlbGhpLW1vZGVybikgLnl0cC1tZW51aXRlbS1pY29uIHN2Z3t3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6dW5zZXR9Lnl0cC1tZW51aXRlbS1sYWJlbC13cmFwcGVye2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1tZW51aXRlbS1rZXlib2FyZC1zaG9ydGN1dHtmb250LXNpemU6MTE1JTtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOiNjY2N9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1tZW51aXRlbXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1wYW5lbC1tZW51e21hcmdpbi1yaWdodDoxMHB4fS55dHAtcXVhbGl0eS1tZW51IC55dHAtbWVudWl0ZW0tbGFiZWwgc3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjB9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWxhYmVse3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1sYWJlbHtwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjIwcHg7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVtyb2xlPW1lbnVpdGVtcmFkaW9dIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjUycHg7cGFkZGluZy1yaWdodDozNXB4fS55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS1sYWJlbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUa2dNVFl1TWlBMExqZ2dNVEpzTFRFdU5DQXhMalJNT1NBeE9TQXlNU0EzYkMweExqUXRNUzQwZWlJdlBqd3ZjM1puUGc9PSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAxMHB4IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjE4cHggMThweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToxOHB4IDE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tbGFiZWx7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDE1cHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToyN3B4IDI3cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MjdweCAyN3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI3cHggMjdweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1pY29uey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbDpmaXJzdC1jaGlsZHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDJweCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1lbnVpdGVtOmZvY3VzIC55dHAtbWVudWl0ZW0tY29udGVudHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXTpmb2N1cyAueXRwLW1lbnVpdGVtLWxhYmVsey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW1lbnVpdGVtLWNvbnRlbnR7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpyaWdodH0ueXRwLW1lbnVpdGVtLXN1YmxhYmVse2Zsb2F0OmxlZnR9Lnl0cC1tZW51LWxhYmVsLXNlY29uZGFyeSwueXRwLW1lbnVpdGVtLXN1YmxhYmVse2ZvbnQtc2l6ZTo5MSU7Y29sb3I6I2NjY30ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDlweCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDstbW96LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O3BhZGRpbmctcmlnaHQ6MzhweH0ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfVtkaXI9cnRsXSAueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFNUxqUXhJREl3TGpBNUxUUXVOVGd0TkM0MU9TQTBMalU0TFRRdU5UbE1NVGdnT1M0MWJDMDJJRFlnTmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEzcHggY2VudGVyO2JhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDtwYWRkaW5nLXJpZ2h0OjU3cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS1jb250ZW50e2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEycHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToxOHB4IDE4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjE4cHggMThweDtwYWRkaW5nLXJpZ2h0OjMycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKdE9TNDBJREU0TGpRdExqY3RMamNnTlM0MkxUVXVOaTAxTGpjdE5TNDNMamN0TGpjZ05pNDBJRFl1TkhvaUx6NDhMM04yWno0PSl9Lnl0cC1kZWxoaS1tb2Rlcm4gW2Rpcj1ydGxdIC55dHAtbWVudWl0ZW1bYXJpYS1oYXNwb3B1cD10cnVlXSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKTk1UUXVPVFlnTVRndU9UWWdPQ0F4TW13MkxqazJMVFl1T1RZdU56RXVOekZNT1M0ME1TQXhNbXcyTGpJMUlEWXVNalY2SWk4K1BDOXpkbWMrKX0ueXRwLW1lbnVpdGVtIHN1cHtsaW5lLWhlaWdodDowO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW1lbnVpdGVtLWxhYmVsLWNvdW50e2NvbG9yOiNjY2N9Lnl0cC1tZW51aXRlbXRpdGxle3BhZGRpbmc6MCAxNXB4O21heC13aWR0aDoyMDBweDt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW10aXRsZXtwYWRkaW5nOjAgMjJweDttYXgtd2lkdGg6MzAwcHh9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNle21hcmdpbi1sZWZ0Oi44ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4O21hcmdpbi1ib3R0b206LTRweH0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdWdnZXN0ZWQtYWN0aW9uKX0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodC10cmFuc2l0aW9uLWVuYWJsZWQueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVkKXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzcyBsaW5lYXIgMXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDNzIGxpbmVhciAxc30ueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXRvcDoxNXB4fS55dHAtbWVudWl0ZW0tZm9vdGVye3BhZGRpbmctdG9wOjVweH0ueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7Y29sb3I6I2VlZTtwYWRkaW5nOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZzowfS55dHAtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1wYW5lbHttaW4td2lkdGg6MjUwcHh9Lnl0cC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yKTtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToxMDklO2NvbG9yOiNlZWU7cGFkZGluZzo4cHggMDtoZWlnaHQ6NDBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXNpemU6MTE4JTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2VlZTtwYWRkaW5nOjE2cHggMDttaW4taGVpZ2h0OjQwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI1MHB4fS55dHAtcGFuZWwtZm9vdGVyLWNvbnRlbnR7bWFyZ2luOjAgMTBweH0ueXRwLXBhbmVsLWZvb3Rlci55dHAtcGFuZWwtaGlkZS1mb290ZXJ7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1wYW5lbC1mb290ZXItY29udGVudC1saW5re2NvbG9yOiMxNjdhYzZ9Lnl0cC10b3VjaC1tb2RlIC55dHAtcGFuZWwtaGVhZGVye2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC1oZWFkZXJ7aGVpZ2h0OjQ5cHh9Lnl0cC1wYW5lbC1iYWNrLWJ1dHRvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0OHB4fS55dHAtcGFuZWwtYmFjay1idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGliVEU1TGpReElESXdMakE1TFRRdU5UZ3ROQzQxT1NBMExqVTRMVFF1TlRsTU1UZ2dPUzQxYkMwMklEWWdOaUEyZWlJdlBqd3ZjM1puUGc9PSk7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLXBhbmVsLXRpdGxlOmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtcGFuZWwtb3B0aW9uc3ttYXJnaW4tbGVmdDphdXRvfS55dHAtcGFuZWwtdGl0bGV7Zm9udC13ZWlnaHQ6NTAwfVtkaXI9cnRsXSAueXRwLXBhbmVsLXRpdGxle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC10aXRsZXtiYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7cGFkZGluZzowIDE1cHggMCA1MnB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXBhbmVsLXRpdGxle3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLXBhbmVsLW9wdGlvbnN7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEwcHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWJpZy1tb2RlIC55dHAtcGFuZWwtb3B0aW9uc3twYWRkaW5nOjAgMTVweH0ueXRwLXBhbmVsLW1lbnV7cGFkZGluZzo4cHggMDtkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7Y29sb3I6I2VlZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NDZweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDo4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3BhZGRpbmc6MTBweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7cGFkZGluZzoxOHB4fS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1iaWctbW9kZS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDttYXJnaW4tdG9wOjZweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjE0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEycHggMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7cGFkZGluZzo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo2OXB4fS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NjBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uLXBsYXlsaXN0e21hcmdpbi10b3A6MTJweDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcHJldi1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1uZXh0LWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXByZXYtYnV0dG9uLC55dHAtZW1iZWQueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLW5leHQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheS1idXR0b24sLnl0cC1wcmV2LWJ1dHRvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG99Lnl0cC1wbGF5bGlzdC1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDo0MDBweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjczO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51e2xlZnQ6YXV0bztyaWdodDowfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51e3dpZHRoOjYwMHB4fVtkaXI9bHRyXSAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtcGxheWxpc3QtbWVudVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1bZGlyPXJ0bF0gLnl0cC1wbGF5bGlzdC1tZW51W2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX1bZGlyPXJ0bF0gLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1wbGF5bGlzdC1tZW51LWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1oZWFkZXJ7cGFkZGluZzoyM3B4fS55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmctcmlnaHQ6MTVweDtmb250LXNpemU6MTM2JTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3BhZGRpbmctcmlnaHQ6MjNweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXBsYXlsaXN0LW1lbnUtc3VidGl0bGV7Y29sb3I6I2I4YjhiODtsaW5lLWhlaWdodDoxN3B4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LXN1YnRpdGxle2xpbmUtaGVpZ2h0OjI2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1jbG9zZXt0b3A6MjNweDtyaWdodDoyM3B4O3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtcGxheWxpc3QtbWVudS1jbG9zZTpob3ZlciBwYXRoe2ZpbGw6I2ZmZn0ueXRwLXBsYXlsaXN0LW1lbnUtaXRlbXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjY4cHg7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1pdGVtc3t0b3A6MTAzcHh9Lnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24sLnl0cC1lbWJlZC1wbGF5bGlzdC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue21hcmdpbjphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmctcmlnaHQ6NnB4O2xpbmUtaGVpZ2h0OjM2cHg7b3BhY2l0eToxfS55dHAtZW1iZWQtcGxheWxpc3Q6bm90KC55dHAtc21hbGwtbW9kZSkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmc6MDtsaW5lLWhlaWdodDppbmhlcml0O29wYWNpdHk6MTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHh9Lnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb24sLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7ZGlzcGxheTpibG9ja30ueXRwLWVtYmVkLXBsYXlsaXN0Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRpbnkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e2Rpc3BsYXk6Tm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDo1NHB4fS55dHAtZW1iZWQtcGxheWxpc3QueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToyMHB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbiwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWluLXdpZHRoOjQ4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWFyZ2luLXRvcDo5cHg7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzttaW4td2lkdGg6MzZweDttaW4taGVpZ2h0OjM2cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjlweDtib3JkZXItcmFkaXVzOjI3cHg7bWF4LXdpZHRoOjQwMHB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDpub25lO2ZsZXg6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDp1bnNldDt6LWluZGV4OjU4fS55dHAtaGlkZS1pbmZvLWJhciAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXNjcnViYmVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDtsZWZ0Oi02LjVweDt6LWluZGV4OjQzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItY29udGFpbmVye3RvcDotM3B4O2xlZnQ6LTZweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi05LjVweDtsZWZ0Oi0xMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lcnt0b3A6LTlweDtsZWZ0Oi0xMnB4fS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi02cHg7bGVmdDotMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi04cHg7bGVmdDotMTBweH0ueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6MTNweDt3aWR0aDoxM3B4O2JvcmRlci1yYWRpdXM6Ni41cHg7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9ue2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0qIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLWhpZGUtc2NydWJiZXItYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41NCk7dHJhbnNmb3JtOnNjYWxlKDEuNTQpfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1idXR0b257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7Ym90dG9tOjIwcHg7bGVmdDoxMHB4fS55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntkaXNwbGF5Om5vbmU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9ue2Rpc3BsYXk6YmxvY2t9LnlwYy1sb2FkZWQgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzI3OTNlNn0uYWQtaW50ZXJydXB0aW5nIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmYzB9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLXByb2dyZXNzLWJhcjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS42Nyk7dHJhbnNmb3JtOnNjYWxlKDEuNjcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRyYWcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zY3J1YmJlci1idXR0b24taG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7dHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1kcmFnIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjE2NjY2NjY2NjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTt0cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQyO2JvdHRvbToxNi45cHg7bGVmdDo2LjVweDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ueXRwLXNjcnViYmVyLXB1bGwtaW5kaWNhdG9yOmFmdGVyLC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3dpZHRoOjYuNXB4O2hlaWdodDo2LjVweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O2JvcmRlci1jb2xvcjojZWFlYWVhfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlcnstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xczt0cmFuc2l0aW9uOmFsbCAuMXN9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjpiZWZvcmV7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbjphbGwgLjJzfS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXIsLnl0cC1jaGFwdGVycy1jb250YWluZXJ7ei1pbmRleDozMjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7aGVpZ2h0OjEwMCV9Lnl0cC1jaGFwdGVycy1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItaG92ZXItY29udGFpbmVye2Zsb2F0OmxlZnR9Lnl0cC1wcm9ncmVzcy1saXN0e3otaW5kZXg6Mzk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtoZWlnaHQ6MTAwJTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1saXN0e292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsLjYpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6bHVtaW5vc2l0eX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWV4Y2x1c2lvbi55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtbGlzdHtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb259Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNXB4KSBzY2FsZVkoLjYyNSl9Lnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1wcm9ncmVzcy1saXN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtdG91Y2gtbW9kZSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtZHJhZyAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdCwueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkueXRwLXRpbWVkLW1hcmtlcnMtZW5hYmxlZCAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSB1bnNldDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB1bnNldCwtd2Via2l0LXRyYW5zZm9ybSB1bnNldH0ueXRwLXJlcGVhdGluZy1jaGFwdGVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpfS55dHAtYm91bmQtdGltZS1sZWZ0LC55dHAtYm91bmQtdGltZS1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Om5vbmU7dG9wOi0yOXB4O3otaW5kZXg6Mjk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZTNlM2UzO3BhZGRpbmc6NXB4IDlweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWlufS55dHAtYmlnLW1vZGUgLnl0cC1ib3VuZC10aW1lLWxlZnQsLnl0cC1iaWctbW9kZSAueXRwLWJvdW5kLXRpbWUtcmlnaHR7dG9wOi0zNnB4fS55dHAtYm91bmQtdGltZS1sZWZ0e2xlZnQ6MH0ueXRwLWJvdW5kLXRpbWUtcmlnaHR7cmlnaHQ6MH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlciwueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206LTVweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlcntsZWZ0OjA7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCAwO2JvcmRlci1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cmlnaHQ6MDtib3JkZXItd2lkdGg6MCA1cHggNXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHJnYmEoMjgsMjgsMjgsLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3MsLnl0cC1hZC1wcm9ncmVzcywueXRwLWNsaXAtZW5kLWV4Y2x1ZGUsLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGUsLnl0cC1ob3Zlci1wcm9ncmVzcywueXRwLWxvYWQtcHJvZ3Jlc3MsLnl0cC1wbGF5LXByb2dyZXNzLC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVyLC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDstbXMtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTt0b3A6MXB4O3otaW5kZXg6NDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjgpO3RyYW5zZm9ybTpzY2FsZVkoMS44KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dG9wOi0ycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtdGltZWQtbWFya2VyLnl0cC10aW1lZC1tYXJrZXItaG92ZXJ7d2lkdGg6OXB4O2hlaWdodDozcHg7Ym90dG9tOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXIueXRwLXRpbWVkLW1hcmtlci1ob3ZlciwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVye3dpZHRoOjEycHg7aGVpZ2h0OjQuOHB4O2JvdHRvbTouNnB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlcnt3aWR0aDo1cHg7aGVpZ2h0OjEuNjdweDtib3R0b206MS41cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vye3dpZHRoOjZweDtoZWlnaHQ6Mi40cHg7Ym90dG9tOjJweH0ueXRwLXByb2dyZXNzLWJhci1zdGFydHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS55dHAtcHJvZ3Jlc3MtYmFyLWVuZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS55dHAtcHJvZ3Jlc3MtYmFyLXN0YXJ0Lnl0cC1wcm9ncmVzcy1iYXItZW5ke2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdGltZWQtbWFya2Vye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO3dpZHRoOjNweDtoZWlnaHQ6M3B4O2JvdHRvbToxcHg7Ym9yZGVyLXJhZGl1czo1MCU7b3BhY2l0eToxfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZWQtbWFya2Vye2JvdHRvbToycHh9Lnl0cC1jbGlwLWVuZC1leGNsdWRlLC55dHAtY2xpcC1zdGFydC1leGNsdWRle2Rpc3BsYXk6bm9uZTt6LWluZGV4OjM3O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jbGlwLWVuZC1lbmFibGVkIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtc3RhcnQtZW5hYmxlZCAueXRwLWNsaXAtc3RhcnQtZXhjbHVkZXtkaXNwbGF5OmJsb2NrfS55dHAtbG9vcC1yYW5nZS1lbmFibGVkIC55dHAtY2xpcC1lbmQsLnl0cC1sb29wLXJhbmdlLWVuYWJsZWQgLnl0cC1jbGlwLXN0YXJ0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1jbGlwLWhvdmVyIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtaG92ZXIgLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1saW5lYXItbGl2ZS1idWZmZXJ7ei1pbmRleDo0NTtiYWNrZ3JvdW5kOiNjMDA7b3BhY2l0eTowfS55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVye29wYWNpdHk6LjZ9Lnl0cC1hZC1wcm9ncmVzc3t6LWluZGV4OjM2O2JhY2tncm91bmQ6I2ZjMH0ueXRwLWxvYWQtcHJvZ3Jlc3N7ei1pbmRleDozMztiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS55dHAtbG9hZC1wcm9ncmVzcy55dHAtZmFzdC1sb2Fke2JhY2tncm91bmQ6IzAwODM4Zn0ueXRwLXBsYXktcHJvZ3Jlc3N7ei1pbmRleDozNDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxjb2xvci1zdG9wKDgwJSwjZjAzKSx0bygjZmYyNzkxKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmMDMgODAlLCNmZjI3OTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55cGMtbG9hZGVkIC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZDojMjc5M2U2fS5hZC1pbnRlcnJ1cHRpbmcgLnl0cC1wbGF5LXByb2dyZXNzLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kOiNmYzB9Lnl0cC1ob3Zlci1wcm9ncmVzc3t6LWluZGV4OjM1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTI1KTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1ob3Zlci1wcm9ncmVzc3tvcGFjaXR5OjF9Lnl0cC1kZWxoaS1tb2Rlcm4uYWQtaW50ZXJydXB0aW5nIC55dHAtbG9hZC1wcm9ncmVzcywueXRwLWVuYWJsZS1saXZlLWJ1ZmZlciAueXRwLWhvdmVyLXByb2dyZXNzLC55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtbG9hZC1wcm9ncmVzc3tvcGFjaXR5OjB9Lnl0cC1ob3Zlci1wcm9ncmVzcy1saWdodHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3N7d2lkdGg6MXB4O2JhY2tncm91bmQ6IzAwMDt6LWluZGV4OjM2fS55dHAtMW0tcHJvZ3Jlc3N7aGVpZ2h0OjMwJX0ueXRwLTE1bS1wcm9ncmVzc3toZWlnaHQ6NTAlfS55dHAtMzBtLXByb2dyZXNze2hlaWdodDo1NSV9Lnl0cC02MG0tcHJvZ3Jlc3N7aGVpZ2h0OjYwJX0ueXRwLWNsaXAtZW5kLC55dHAtY2xpcC1zdGFydHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3R0b206LTQuNXB4O21hcmdpbi1sZWZ0Oi03cHg7ei1pbmRleDo0NDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjIxNDI4NTcxNDMpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTt0cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWNsaXAtZW5kLC55dHAtYmlnLW1vZGUgLnl0cC1jbGlwLXN0YXJ0e3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym90dG9tOi02LjVweDttYXJnaW4tbGVmdDotMTAuNXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTstbXMtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTt0cmFuc2Zvcm06c2NhbGVZKC4yMzgwOTUyMzgpfS55dHAtZHJhZyAueXRwLWNsaXAtZW5kLC55dHAtZHJhZyAueXRwLWNsaXAtc3RhcnQsLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1jbGlwLWVuZCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWNsaXAtc3RhcnQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1lbmQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1zdGFydHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1jbGlwLWVuZCBzdmcsLnl0cC1jbGlwLXN0YXJ0IHN2Z3tkaXNwbGF5OmJsb2NrfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7Ym90dG9tOjQ3cHg7aGVpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7ei1pbmRleDo2MDtib3R0b206dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KTtoZWlnaHQ6NnB4fS55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206MzZweDtoZWlnaHQ6NXB4fS55dHAtZW1iZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTozOXB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTo1Mi41cHg7aGVpZ2h0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCw5NnB4KX0ueXRwLXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjMxO291dGxpbmU6bm9uZX0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIueXRwLWhlYXQtbWFwLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXJ7b3BhY2l0eTowfS55dHAtbW9iaWxlIC55dHAtcHJvZ3Jlc3MtYmFye3BhZGRpbmctYm90dG9tOjEwcHh9Lnl0cC1wcm9ncmVzcy1iYXItcGFkZGluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxNnB4O2JvdHRvbTowO3otaW5kZXg6Mjh9Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyNHB4fS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyMnB4O2JvdHRvbTotNnB4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtdG91Y2gtbW9kZSkgLnl0cC1jaGFwdGVyLWhvdmVyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtYmFyLXBhZGRpbmd7aGVpZ2h0OjMzcHg7Ym90dG9tOi05cHh9Lnl0cC10b3VjaC1tb2RlIC55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDo0MHB4O2JvdHRvbTotMTFweH1AcHJvcGVydHkgLS1zZWVrLXNjcnViYmVyLXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1zY3J1YmJlci1jb250YWluZXIteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tcHJvZ3Jlc3Mtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXByb2dyZXNzLWxlZnQtYnVmZmVye3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1wcm9ncmVzcy1yaWdodC1idWZmZXJ7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXVuaWZpZWQtc2Vlay1vZmZzZXQteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxle3N5bnRheDoiPG51bWJlcj4iO2luaXRpYWwtdmFsdWU6MTtpbmhlcml0czpmYWxzZX0ueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey0tcHJvZ3Jlc3Mtd2lkdGg6MHB4Oy0tcHJvZ3Jlc3MtbGVmdC1idWZmZXI6MHB4Oy0tcHJvZ3Jlc3MtcmlnaHQtYnVmZmVyOjBweDstLXNlZWstc2NydWJiZXItd2lkdGg6MHB4Oy0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlOjE7LS1zY3J1YmJlci1jb250YWluZXIteDowcHg7LS1oYWxmLXdpZHRoOmNhbGModmFyKC0tc2Vlay1zY3J1YmJlci13aWR0aCwgMHB4KSowLjUpOy0taGFsZi1oZWlnaHQ6bWluKHZhcigtLWhhbGYtd2lkdGgpLDIwcHgpOy0tdW5pZmllZC1zZWVrLW9mZnNldC14OmNhbGMobWF4KDBweCwKICAgICAgICAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSAtIHZhcigKICAgICAgICAgICAgLS1zY3J1YmJlci1jb250YWluZXIteAogICAgICAgICAgKSAtIHZhcigtLXByb2dyZXNzLWxlZnQtYnVmZmVyKSkgKyBtaW4oMHB4LAogICAgICAgIHZhcigtLXByb2dyZXNzLXdpZHRoKSArIHZhcigtLXByb2dyZXNzLXJpZ2h0LWJ1ZmZlcikgLSB2YXIoLS1zY3J1YmJlci1jb250YWluZXIteCkgLSAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSkpfS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uLC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbiwueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX19Lnl0cC11bmlmaWVkLXNlZWstY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MCAxNnB4O2hlaWdodDoxMDAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9fS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ2O21hcmdpbjowO3dpZHRoOi13ZWJraXQtbWF4LWNvbnRlbnQ7d2lkdGg6LW1vei1tYXgtY29udGVudDt3aWR0aDptYXgtY29udGVudDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTtjbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC01MCUgKyB2YXIoLS11bmlmaWVkLXNlZWstb2Zmc2V0LXgpKSwtNTAlKSBzY2FsZSh2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKTtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI2cHg7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsY29sb3Itc3RvcCg4MCUsI2YwMyksdG8oI2ZmMjc5MSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZjAzIDgwJSwjZmYyNzkxKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjpub3QoOmVtcHR5KT4ueXRwLXVuaWZpZWQtc2Vlay1pY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6bm90KDplbXB0eSk+Lnl0cC11bmlmaWVkLXNlZWstaWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0cC11bmlmaWVkLXNlZWstYWN0aXZlIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXIgLnl0cC11bmlmaWVkLXNlZWstaWNvbi1yaWdodC13cmFwcGVyOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjplbXB0eSwueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0cC11bmlmaWVkLXNlZWstc2hyaW5raW5nIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfX0ueXRwLXVuaWZpZWQtc2Vlay1zaHJpbmtpbmcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntvcGFjaXR5OjF9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2Upey55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19Lnl0cC1wcm9tb3Rvb2x0aXAtd3JhcHBlcnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDozMDBweDtoZWlnaHQ6MTQwcHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzfS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC13cmFwcGVye3dpZHRoOjQ1MHB4O2hlaWdodDoyMTBweH0ueXRwLXByb21vdG9vbHRpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2NvbG9yOiNmZmY7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC10cmFuc2Zvcm06bm9uZTtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wcm9tb3Rvb2x0aXAtY29udGVudHtwYWRkaW5nOjE2cHggMTZweCA0cHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWNvbnRlbnR7cGFkZGluZzoyNHB4IDI0cHggNnB4fS55dHAtcHJvbW90b29sdGlwLXRpdGxle21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4fS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC10aXRsZXttYXJnaW4tYm90dG9tOjEycHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLXByb21vdG9vbHRpcC1idXR0b25ze3BhZGRpbmc6OHB4IDRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWJ1dHRvbnN7cGFkZGluZzoxMnB4IDZweH0ueXRwLXByb21vdG9vbHRpcC1hY2NlcHQtYnV0dG9uLC55dHAtcHJvbW90b29sdGlwLWRpc21pc3MtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjEwcHggMTZweDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtYWNjZXB0LWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGlzbWlzcy1idXR0b257cGFkZGluZzoxNXB4IDI0cHh9Lnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1zdHlsZTpzb2xpZDt0b3A6MTAwJTtib3JkZXItd2lkdGg6MTJweDtib3JkZXItY29sb3I6IzA2NWZkNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntib3JkZXItd2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb257d2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb24gc3Zne2hlaWdodDoyMnB4O3dpZHRoOjIycHg7bWFyZ2luOi03cHggLTVweH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGV0YWlscy1pY29ue3dpZHRoOjIycHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWRldGFpbHMtaWNvbiBzdmd7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweDttYXJnaW46LTlweCAtN3B4fS55dHAtcmVtb3Rle2xlZnQ6MDtib3R0b206NjFweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWVtYmVkIC55dHAtcmVtb3Rle2JvdHRvbTo1M3B4fS55dHAtcmVtb3RlW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZXtib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1yZW1vdGV7Ym90dG9tOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze3otaW5kZXg6MTU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O2JvdHRvbTo2MXB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZy1yaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7b3BhY2l0eTouODV9Lnl0cC1lbWJlZCAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1c3tib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze2JvdHRvbTo3MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLWljb257ZmxvYXQ6bGVmdDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLXRleHR7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtdGV4dHtwYWRkaW5nLXRvcDoxNXB4O2xlZnQ6MTA1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1cy10ZXh0e3RvcDozMHB4fS55dHAtcmVwbGF5LWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDttYXJnaW4tbGVmdDotMjRweDt6LWluZGV4OjU5fS55dHAtZW1iZWQgLnl0cC1yZXBsYXktYnV0dG9ue2JvdHRvbTo0cHg7bWFyZ2luLWxlZnQ6LTIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjcuNXB4O21hcmdpbi1sZWZ0Oi0yN3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjEwcHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjI0LjVweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXBsYXktYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbi55dHAtYXV0b25hdi10b2dnbGV7cGFkZGluZy1sZWZ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC12b2x1bWUtYXJlYXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdm9sdW1lLWFyZWE6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246aG92ZXI6YmVmb3Jle2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b217cGFkZGluZzowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNTAlLHJnYmEoMCwwLDAsMCkpLHRvKHJnYigxOSwxOSwxOSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2IoMTksMTksMTkpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwwKSA1MCUscmdiKDE5LDE5LDE5KSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1wcm9ncmVzcy1saXN0e2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoNjgsNjgsNjgpKSx0byhyZ2IoOTUsOTUsOTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXBsYXktcHJvZ3Jlc3N7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6OHB4O3dpZHRoOjhweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxMzcsMTM3LDEzNykpLHRvKHJnYigxODYsMTg2LDE4NikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTM3LDEzNywxMzcpLHJnYigxODYsMTg2LDE4NikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDEzNywxMzcsMTM3KSxyZ2IoMTg2LDE4NiwxODYpKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uOm5vdCgueXRwLWNoYXB0ZXItdGl0bGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgYmxhY2s7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpO2JveC1zaGFkb3c6MXB4IDAgcmdiYSgyMjcsMjI3LDIyNywuMik7b3BhY2l0eTouOX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b24ueXRwLWF1dG9uYXYtdG9nZ2xle2JvcmRlci1sZWZ0OjFweCBzb2xpZCBibGFjaztwYWRkaW5nLWxlZnQ6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKSxpbnNldCAxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpLGluc2V0IDFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtZGlzcGxheXtwYWRkaW5nLWxlZnQ6MTBweH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b246YWN0aXZlOmZvY3VzLC55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtc3VidGl0bGVzLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtdm9sdW1lLXBhbmVsLnl0cC12b2x1bWUtY29udHJvbC1ob3ZlcnttYXJnaW4tbGVmdDo4cHh9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKTttYXJnaW4tbGVmdDotNnB4fS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtYmV6ZWx7Ym9yZGVyLXJhZGl1czp1bnNldDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgYm90dG9tLGxlZnQgdG9wLGZyb20ocmdiKDE5LDE5LDE5KSksdG8ocmdiKDUyLDUyLDUyKSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYigxOSwxOSwxOSkscmdiKDUyLDUyLDUyKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpOy13ZWJraXQtYW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXRvb2x0aXAtYmcsLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtib3JkZXItcmFkaXVzOjB9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMXB4IDFweCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93Omluc2V0IDFweCAxcHggcmdiYSgyMjcsMjI3LDIyNywuMik7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXNldHRpbmdzLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbiBzdmd7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2V0dGluZ3MtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Zney13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHg7aGVpZ2h0OjlweDt3aWR0aDoxM3B4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpO2JvcmRlci1yYWRpdXM6MXB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NjZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTRrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUVWdOMmd4ZGpGSU5YcHROUzAwZGpGSU9GWXplazB6SURaV05XZ3lkakY2VFRJZ04yZ3hkakZJTW5wdE5TQXdhRE4yTVVnM2VtMHpMVEZvTVhZeGFDMHhlaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVFVnTjFZMVNETjJNa2d5VmpKb01YWXlhREpXTW1neGRqVjZiVFl0TVdndE1YWXhTRGRXTW1nemRqRm9NWHB0TFRFdE1sWXpTRGgyTTJneWVpSXZQand2YzNablBnPT0pfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZHItcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE5DQTJJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1E5SWsweklEVm9NWFl4U0RONmJUVXROSFl4U0RaV01YcE5NU0EwVmpOb01uWXhlazB3SURWb01YWXhTREI2YlRVZ01HZ3pkakZJTlhwdE15MHhhREYyTVVnNGVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweklEVldNMGd4ZGpKSU1GWXdhREYyTW1neVZqQm9NWFkxZW0wMkxURklPSFl4U0RWV01HZ3pkakZvTVhwTk9DQXlWakZJTm5ZemFESjZJaTgrUEhCaGRHZ2dabWxzYkMxdmNHRmphWFI1UFNJdU5qUTNJaUJrUFNKTk1UTWdNbWd4ZGpGb0xURjZiVEFnTTJneGRqRm9MVEY2YlMweUxUSm9Nbll4YUMweWVtMHRNU0F5YURGMk1XZ3RNWHB0TVMwMGFESjJNV2d0TW5vaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTVRRZ00zWXlhQzB4VmpONmJTMHpMVE5vTW5ZeGFDMHlkakZvTW5ZeGFDMHlkakpvTFRGV01IcHRNaUF3YURGMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KTtoZWlnaHQ6NnB4O3dpZHRoOjE0cHg7cmlnaHQ6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2UxMDAyZDtib3JkZXItd2lkdGg6MXB4fS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMDBJRGRvTVhZeFNEUjZUVElnTm1neWRqRklNbnB0TVMweWFERjJNVWd6ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFeElEVjJNbWd0TVZZMWVtMHRNU0F3U0RoMk1rZzNWakpvTVhZeWFESjZUVFFnTkVnemRqRm9NWHB0TUNBelZqWklNbFkwYURGV00yZ3hWakpvTVhZemFERjJNVWcxZGpGNmJUWXROV2d4ZGpKb0xURjZJaTgrUEM5emRtYyspfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMHlJRGRvTTNZeFNESjZiVEF0TW1nemRqRklNbm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB5SURab00zWXhTREp0TXkweWFERjJNVWcxYlRBdE1rZ3pWak5vTTFZeVNESjJNMmd6ZWlJdlBqd3ZjM1puUGc9PSl9Lnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLThrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xXOXdZV05wZEhrOUlpNDJORGNpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV3SURSb01YWXhhQzB4ZW0wd0lETm9NWFl4YUMweGVrMDRJRFZvTW5ZeFNEaDZUVGNnTjJneGRqRklOM3BOTlNBMmFERjJNVWcxZWsweklEVm9Nbll4U0RONmJUQXRNbWd5ZGpGSU0zcHRNaUF4YURGMk1VZzFlazB5SURSb01YWXhTREo2YlRBZ01tZ3hkakZJTW5wdE1TQXhhREoyTVVnemVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXhJRFYyTW1ndE1WWTFlbTB0TVNBd1NEaDJNa2czVmpKb01YWXlhREo2YlRBdE0yZ3hkakpvTFRGNlRUTWdObWd5ZGpGSU0yMHdMVFZvTW5ZeFNETjZiVElnTTJneGRqRklOWHBOTXlBMGFESjJNVWd6ZW0weUxURm9NWFl4U0RWNlRUSWdOV2d4ZGpGSU1ucHRNQzB5YURGMk1VZ3llaUl2UGp3dmMzWm5QZz09KX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NaUF5YURSMk5VZ3lWalpvTTFZMVNESldOR2d6VmpOSU1ucHROU0F3YUROMk1VZzRkak5vTW5ZeFNEZDZiVE1nTVdneGRqTm9MVEY2SWk4K1BIQmhkR2dnWm1sc2JDMXZjR0ZqYVhSNVBTSXVOalEzSWlCa1BTSk5NaUF6YUROMk1VZ3llbTAySURCb01uWXhTRGg2VFRJZ05XZ3pkakZJTW5wdE9DQXhhREYyTVdndE1YcE5NaUEzYURSMk1VZ3llbTAxSURCb00zWXhTRGQ2SWk4K1BDOXpkbWMrKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazAxSURkV05VZ3pkakpJTWxZeWFERjJNbWd5VmpKb01YWTFlbTAyTFRGb0xURjJNVWczVmpKb00zWXhhREY2YlMweExUSldNMGc0ZGpOb01ub2lMejQ4TDNOMlp6ND0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TkNBMUlqNDhjR0YwYUNCa1BTSk5NeUExVmpOSU1YWXlTREJXTUdneGRqSm9NbFl3YURGMk5YcHROaTB4U0RoMk1VZzFWakJvTTNZeGFERjZUVGdnTWxZeFNEWjJNMmd5ZWsweE5DQXpkakpvTFRGV00zcHRMVEVnTUdndE1uWXlhQzB4VmpCb01YWXlhREo2YlRBdE1tZ3RNMVl3YURSMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVrMDBJRFJJTTNZeGFERjZiVEFnTTFZMlNESldOR2d4VmpOb01WWXlhREYyTTJneGRqRklOWFl4ZW0wMkxUVm9NWFl5YUMweGVpSXZQand2YzNablBnPT0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhNU0ExZGpKb0xURldOWHB0TFRFZ01FZzRkakpJTjFZeWFERjJNbWd5ZW0wd0xUTm9NWFl5YUMweGVrMHlJRFpvTTNZeFNESnRNeTB5YURGMk1VZzFiVEF0TWtnelZqTm9NMVl5U0RKMk0yZ3plaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB6SURab01uWXhTRE50TUMwMWFESjJNVWd6ZW0weUlETm9NWFl4U0RWNlRUTWdOR2d5ZGpGSU0zcHRNaTB4YURGMk1VZzFlazB5SURWb01YWXhTREo2YlRBdE1tZ3hkakZJTW5vaUx6NDhMM04yWno0PSl9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQmtQU0pOTWlBeWFEUjJOVWd5Vmpab00xWTFTREpXTkdnelZqTklNbnB0TlNBd2FETjJNVWc0ZGpOb01uWXhTRGQ2YlRNZ01XZ3hkak5vTFRGNklpOCtQQzl6ZG1jKyl9Lnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDoxNXB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtmb250LWZhbWlseTpWZXJkYW5hLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAycHggMCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLXJhZGl1czoxLjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDo0cHg7cmlnaHQ6NHB4fS55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiSEQifS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IkhEUiI7Zm9udC1zaXplOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjRLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjVLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjhLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IjNEIn0ueXRwLWdlbmVyaWMtcG9wdXB7dG9wOjA7bGVmdDowO3BhZGRpbmc6NXB4IDlweDttYXgtd2lkdGg6MTQ0cHg7ei1pbmRleDo3Mn0ueXRwLWJpZy1tb2RlIC55dHAtZ2VuZXJpYy1wb3B1cHttYXgtd2lkdGg6MjE2cHh9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWdlbmVyaWMtcG9wdXAgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBvcHVwey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kbmkgLnl0cC1wb3B1cHt0ZXh0LXNoYWRvdzpub25lfS55dHAtcG9wdXBbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXBvcHVwLWFuaW1hdGluZ3std2Via2l0LXRyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtcG9wdXAtYW5pbWF0aW5nIC55dHAtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1wYW5lbC1hbmltYXRlLWJhY2ssLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7b3BhY2l0eTowfVtkaXI9bHRyXSAueXRwLXBhbmVsLWFuaW1hdGUtYmFja3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1bZGlyPWx0cl0gLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtcGFuZWwtYW5pbWF0ZS1iYWNrey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfVtkaXI9cnRsXSAueXRwLXBhbmVsLWFuaW1hdGUtZm9yd2FyZHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0ueXRwLXNldHRpbmdzLW1lbnV7cmlnaHQ6MTJweDtib3R0b206NjFweDt6LWluZGV4OjcwO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpO2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZW1iZWQgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e3JpZ2h0OjI0cHg7Ym90dG9tOjcwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtbWVudXtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCl9Lnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e3otaW5kZXg6MjMwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1wYW5lbC1tZW51e3BhZGRpbmc6OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbT46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0+Omxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7cGFkZGluZy1yaWdodDo4cHh9Lnl0cC1zcGVlZHNsaWRlci1jb21wb25lbnR7aGVpZ2h0Ojk1cHg7b3V0bGluZTpub25lfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVye2hlaWdodDo0MHB4fS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50e3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNwZWVkc2xpZGVyLWNvbXBvbmVudCAueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2hlaWdodDo1cHh9Lnl0cC1zcGVlZHNsaWRlci10ZXh0e2ZvbnQtc2l6ZToxNTAlO3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXJpZ2h0OjhweDtyaWdodDoxMDAlfS55dHAtbWVudWl0ZW0tcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHAtbWVudWl0ZW0tY29udGFpbmVyLXdpdGgtYmFkZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXNwZWVkLXNsaWRlci1tZW51LWZvb3RlcntwYWRkaW5nOjE2cHh9Lnl0cC1zaG93LXNoYXJlLXRpdGxlLnl0cC1zaGFyZS1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy1zaGFyZS10aXRsZS55dHAtc2hhcmUtYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLDpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNoYXJlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmctdG9wOjRweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b257bWluLXdpZHRoOjQ4cHg7bWF4LXdpZHRoOjgwcHh9Lnl0cC1zaGFyZS1pY29ue21hcmdpbjphdXRvO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hhcmUtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLXNoYXJlLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXRpdGxlLC55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1zaGFyZS10aXRsZXtmb250LXNpemU6MjBweH0ueXRwLXNob3ctc2hhcmUtdGl0bGUgLnl0cC1zaGFyZS10aXRsZXtkaXNwbGF5OmJsb2NrfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLXNoYXJlLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtc2hhcmUtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo3NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc2hhcmUtcGFuZWxbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTY1cHg7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDEwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHttYXJnaW4tdG9wOi05OHB4fS55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6bm9uZTttYXJnaW46MjBweCBhdXRvIDA7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye21hcmdpbi10b3A6MzBweH0ueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6YmxvY2t9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3JpZ2h0OjEycHg7cGFkZGluZzo2cHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtY2xvc2V7dG9wOjlweDtyaWdodDoyNHB4O3BhZGRpbmc6OXB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZSBwYXRoe2ZpbGw6I2FhYX0ueXRwLXNoYXJlLXBhbmVsLWNsb3NlOmhvdmVyIHBhdGh7ZmlsbDojZmZmfS55dHAtc2hhcmUtcGFuZWwtdGl0bGV7Zm9udC1zaXplOjE1NSU7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtdGl0bGV7bGluZS1oZWlnaHQ6MzBweH0ueXRwLXNoYXJlLXBhbmVsLWxpbmt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDttYXJnaW4tdG9wOjE4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MjE4JTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1saW5re2hlaWdodDo0MnB4O21hcmdpbi10b3A6MjdweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7ZGlzcGxheTpub25lO2xpbmUtaGVpZ2h0OjE1cHg7bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxMTglO2NvbG9yOiM5OTl9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7bGluZS1oZWlnaHQ6MjIuNXB4O21hcmdpbi10b3A6MThweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3QgaW5wdXRbdHlwZT1jaGVja2JveF17bWFyZ2luOjAgOHB4IDAgMH0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjIwcHg7aGVpZ2h0OjQ0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjMwcHg7aGVpZ2h0OjY3cHh9Lnl0cC1zaGFyZS1wYW5lbC55dHAtc2hhcmUtcGFuZWwtZmFpbCAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ucywueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtc2VydmljZS1idXR0b25ze2Rpc3BsYXk6bm9uZX0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6M3B4O3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6NXB4O3dpZHRoOjU3cHg7aGVpZ2h0OjU3cHh9Lnl0cC1zaGFyZS1wYW5lbC1lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZToxMDklfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1lcnJvcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1zaGFyZS1wYW5lbC1mYWlsIC55dHAtc2hhcmUtcGFuZWwtZXJyb3J7ZGlzcGxheTpibG9ja30ueXRwLXNob3BwaW5nLXByb2R1Y3QtbWVudXt6LWluZGV4OjcyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxLjM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDt3aWxsLWNoYW5nZTp3aWR0aCxoZWlnaHQ7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtc2hvcHBpbmctcHJvZHVjdC1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbC1sb2dve3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjVweDstd2Via2l0LWJhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2JhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2Zsb2F0OmxlZnQ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo1MHB4O2hlaWdodDo1MHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW46MH0ueXRwLXNob3J0cy10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjozcHg7LXdlYmtpdC1ib3gtZmxleDppbml0aWFsOy13ZWJraXQtZmxleDppbml0aWFsO2ZsZXg6aW5pdGlhbDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjIycHh9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle3dvcmQtYnJlYWs6YnJlYWstd29yZDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToxOHB4fS55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTpub25lO2hlaWdodDphdXRvO21hcmdpbi1sZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnN0YXRpYzt0b3A6N3B4O2xlZnQ6OHB4O3dpZHRoOmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVse21hcmdpbi10b3A6MTBweH0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNocm9tZS10b3AgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCAueXRwLXNiey13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO3BhZGRpbmc6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXNoYWRvdzpub25lOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowfS55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJle21hcmdpbi1sZWZ0OjB9Lnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7bWFyZ2luLWxlZnQ6MH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7bWFyZ2luLXRvcDo3cHh9Lnl0cC1za2lwLWludHJvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkwMTk2MDc4NDMpO2JvdHRvbTo1OHB4O2hlaWdodDo0OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDtyaWdodDoxMHB4O3otaW5kZXg6MTB9Lnl0cC1lbWJlZCAueXRwLXNraXAtaW50cm8tYnV0dG9ue2JvdHRvbTo1MHB4O2hlaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMDAwfS55dHAtYmlnLW1vZGUgLnl0cC1za2lwLWludHJvLWJ1dHRvbntib3R0b206NzlweDtyaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWF4LXdpZHRoOjIwMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTUwcHg7aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTowfS55dHAtc2xpZGVye2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLXRvcDotMTBweDtiYWNrZ3JvdW5kOiNmZmY7b3V0bGluZTowfS55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6MDtoZWlnaHQ6M3B4O21hcmdpbi10b3A6LTJweDt3aWR0aDoxNzBweDtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxlOmJlZm9yZXtsZWZ0Oi0xNjBweDtiYWNrZ3JvdW5kOiNmZmZ9Lnl0cC1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1zbGlkZXItc2VjdGlvbjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW92ZXJsYXl7ei1pbmRleDoxMDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MH0ueXRwLXNwZWVkbWFzdGVyLW92ZXJsYXl7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXNwZWVkbWFzdGVyLXVzZXItZWR1ey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjE4cHg7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDoyMHB4O3BhZGRpbmc6NnB4IDE2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zcGVlZG1hc3Rlci11c2VyLWVkdXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtc3BlZWRtYXN0ZXItdXNlci1lZHUueXRwLXNwZWVkbWFzdGVyLWhhcy1pY29uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1zcGVlZG1hc3Rlci1pY29uLC55dHAtc3BlZWRtYXN0ZXItbGFiZWx7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0cC1zcGVlZG1hc3Rlci1pY29ue21hcmdpbi1sZWZ0OjRweH0ueXRwLXNwZWVkbWFzdGVyLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O2xlZnQ6MTJweDtvcGFjaXR5Oi42O2N1cnNvcjpwb2ludGVyO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6NDM7b3V0bGluZTpub25lfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3RvcDo2MHB4fS55dHAtYmlnLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjlweDt3aWR0aDo3NXB4O2hlaWdodDo3NXB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjBweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sLnl0cC1kcmFnZ2luZywueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sOmhvdmVye29wYWNpdHk6MX0ueXRwLWF1dG9oaWRlIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2wsLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2x7dG9wOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC13ZWJnbC1zcGhlcmljYWw6bm90KC55dHAtbWVudS1zaG93bikgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS55dHAtd2ViZ2wtc3BoZXJpY2FsLnl0cC1kcmFnZ2luZzpub3QoLnl0cC1tZW51LXNob3duKSAuaHRtbDUtdmlkZW8tY29udGFpbmVye2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2w6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9LmVuZGVkLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbCwueXRwLW1lbnUtc2hvd24gLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTtpbnNldDowfS55dHAtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6LTMycHg7ei1pbmRleDoxODtwb2ludGVyLWV2ZW50czpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zcGlubmVye3dpZHRoOjEyOHB4O21hcmdpbi1sZWZ0Oi02NHB4fS55dHAtc3Bpbm5lci1tZXNzYWdle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi10b3A6NTAlO3dpZHRoOjMwMHB4O2ZvbnQtc2l6ZToxMjclO2xpbmUtaGVpZ2h0OjE4MiU7bWFyZ2luLWxlZnQ6LTE1MHB4O2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO29wYWNpdHk6LjV9Lnl0cC1zcGlubmVyLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTAwJTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi10b3A6LTUwJTttYXJnaW4tbGVmdDotNTAlO2FuaW1hdGlvbjp5dHAtc3Bpbm5lci1saW5zcGluIDEuNTY4MjM1Mjk0MTE3NnMgbGluZWFyIGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxpbnNwaW4gMS41NjgyMzUyOTQxMTc2cyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1zcGlubmVyLXJvdGF0b3J7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LWFuaW1hdGlvbjp5dHAtc3Bpbm5lci1lYXNlc3BpbiA1MzMybXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItZWFzZXNwaW4gNTMzMm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9Lnl0cC1zcGlubmVyLWxlZnQsLnl0cC1zcGlubmVyLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ueXRwLXNwaW5uZXItbGVmdHtyaWdodDo0OSV9Lnl0cC1zcGlubmVyLXJpZ2h0e2xlZnQ6NDklfS55dHAtc3Bpbm5lci1jaXJjbGV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjIwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZGRkICNkZGQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjZweH0ueXRwLWJpZy1tb2RlIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjEycHh9Lnl0cC1zcGlubmVyLWxlZnQgLnl0cC1zcGlubmVyLWNpcmNsZXtsZWZ0OjA7cmlnaHQ6LTEwMCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBpbmZpbml0ZSBib3RofS55dHAtc3Bpbm5lci1yaWdodCAueXRwLXNwaW5uZXItY2lyY2xle2xlZnQ6LTEwMCU7cmlnaHQ6MDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFuaW1hdGlvbjp5dHAtcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxpbnNwaW57dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtc3Bpbm5lci1saW5zcGlue3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtc3Bpbm5lci1lYXNlc3BpbnsxMi41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWVhc2VzcGluezEyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDA1ZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDU0MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjc1ZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgxMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MTBkZWcpfTg3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pO3RyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXNwaW5uZXItbGVmdC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxlZnQtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXJpZ2h0LXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1yaWdodC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lnl0cC1zZm57YmFja2dyb3VuZDpyZ2JhKDI4LDI4LDI4LC44KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt6LWluZGV4OjY0O21pbi13aWR0aDoyNmVtfS55dHAtc2ZuLWNsb3Nle2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjVweDt0b3A6NXB4O3BhZGRpbmc6NXB4fS55dHAtc2ZuLWNvbnRlbnR7cGFkZGluZzo1cHh9Lnl0cC1zZm4tY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC1zZm4tY3Bue2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjEycHh9Lnl0cC1ob3Jpem9uY2hhcnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0cC1ob3Jpem9uY2hhcnQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjE2O2JhY2tncm91bmQ6IzAwMDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlld3tjdXJzb3I6cG9pbnRlcn0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eTouNH0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RkZDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMpO2JvcmRlci1yYWRpdXM6MThweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtib3R0b206MzZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo0cHggMTBweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eToxfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5OmluaXRpYWx9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtc3Rvcnlib2FyZC1mcmFtZXByZXZpZXctaW1ne29wYWNpdHk6MX0ueXRwLWlubGluZS1wcmV2aWV3LW1vZGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy10aW1lc3RhbXB7ZGlzcGxheTppbml0aWFsfS55dHAtc2J7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZX0ueXRwLXNiIC55dHAtc2ItdW5zdWJzY3JpYmUsLnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXN1YnNjcmliZXtkaXNwbGF5Om5vbmV9Lnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXVuc3Vic2NyaWJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtc2Itc3Vic2NyaWJlLC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoxOHB4O2JvcmRlcjpub25lO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wMDdweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmc6MTBweCAxNnB4O3doaXRlLXNwYWNlOm5vd3JhcDstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6M3B4IDZweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zYi1zdWJzY3JpYmUsYS55dHAtc2Itc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMDMwMzAzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCl9Lnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpO2NvbG9yOiNmZmZ9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2NjYzt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtc2Itc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZCwueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMsMTQ0LDEzOSk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1zYi1zdWJzY3JpYmU6Zm9jdXMsLnl0cC1zYi11bnN1YnNjcmliZTpmb2N1c3tvdXRsaW5lOm5vbmV9Lnl0cC1zYi55dHAtc2ItY2xhc3NpY3tiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbjo0cHggMH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUueXRwLXNiLWRpc2FibGVkLC55dHAtc2ItY2xhc3NpYyAueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS55dHAtc2ItdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXNiLWNvdW50e21hcmdpbi1sZWZ0OjRweH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoycHg7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmV9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJle2JvcmRlcjoxcHggc29saWQgI2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXI6MXB4IHNvbGlkICNjY2N9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnQsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdGV4dHtwYWRkaW5nOjNweCA2cHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnR7bWFyZ2luOi0xcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjJweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Ym9yZGVyLWxlZnQ6MH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMjUwLDI1MCl9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItdGV4dHtjb2xvcjojZmVmZWZlO2JhY2tncm91bmQtY29sb3I6I2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLXRleHR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOiM3MzczNzN9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItaWNvbntoZWlnaHQ6MTJweDttYXJnaW4tcmlnaHQ6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7d2lkdGg6MTZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItaWNvbntiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQU1DQVlBQUFCcjV6MkJBQUFBblVsRVFWUTRUMlA4Ly8rL0p3TUR3MXdHQmdaSkJ0TEFjd1lHaG1URy8vLy9QeU5ETTh5cTV5QUQvcE5tTWFwcW5BWThrNUpnRUZteGxJSE56aG12K1RnTmVNckp5Y0Fvd01rZ05ITTZBNGRmT0U1RGNCcnduSk9UNGYvdkh3eU1iQXdNWEduSkRQd1Q1bUExaEVnRGtoajRKNEFpQ2hNUTlzS01hUXdjL2hHa2U0SGlRQ1EyYWlsTlNDOUFCbmhCazdJRXNiWkMxVDFsWUdCSUF3QlMxVXhCRTkvMmlBQUFBQUJKUlU1RXJrSmdnZz09KX0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFNQ0FZQUFBQnI1ejJCQUFBQS9VbEVRVlE0VDZXU01Vb0VRUkJGNjA4aWFMcVo0QW5FMERPSVlHWXVHTmpkTTRqUmlMa1lqU0lzTEYwdGdwa2dFM2dBY2NEVUc1aDZBQ01OcDc1TW9NeXV5bzVzcDlYMWZ0WC9CVm53WWNGKytSY2dwYlJHY2lJaVkrLzlReWMrR0JCajNNeXk3RnBFUm1ZMkNTR2NEUWFvNmk2QTgwNlE1TEgzL3U1cjlha0pxcXBhS2N2eW8rY0xWUFVFd0tHSXZKblpmZ2podWUvYk4wQlZqMFRrd016eVBNK2ZVa3JMSk1jQXRrbStBTmh6enIzT210NEg3QUM0RkpFbEVia2d1UVZnZytSajI3YWhLSXIzM3hLYldpSEd1QTdnQnNCcTk5bk1ycHFtT2EzcnV2MHI3aDhwcEpSR0pDT0FlK2ZjN2J3N0dSemo0QW5tS2M3V1B3RldSRjBOYzlSUXh3QUFBQUJKUlU1RXJrSmdnZz09KX0uY2FwdGlvbi13aW5kb3d7cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6bm9ybWFsO3otaW5kZXg6NDE7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFiOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvd3t6LWluZGV4OjIxNDc0ODM2NDd9LmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDo0OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxtYXJnaW4tdG9wIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjY5cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjg5cHh9Lnl0cC1hdXRvaGlkZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlLWFjdGl2ZSAuY2FwdGlvbi13aW5kb3d7cG9pbnRlci1ldmVudHM6bm9uZX15dGQtcmVlbC12aWRlby1yZW5kZXJlciAuc2hvcnQtdmlkZW8tY29udGFpbmVyIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctdG9we21hcmdpbi10b3A6NjlweH0uY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjYxcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksbWFyZ2luLXRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjExMHB4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToyMDBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTVweH0ueXRwLWVtYmVkIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ueXRwLWF1dG9oaWRlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5IC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWF1dG9oaWRlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1hdXRvaGlkZS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scy55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWhpZGUtY29udHJvbHMueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tdXRlZC1hdXRvcGxheS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTowfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NDVweDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTFweH0ueXRwLWVtYmVkLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNjBweH0ueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217ZGlzcGxheTpub25lO29wYWNpdHk6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtYWQtb3ZlcmxheS1vcGVuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtZGVsaGktbW9kZXJuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmU7Y3Vyc29yOm1vdmU7Y3Vyc29yOi13ZWJraXQtZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZXtvdmVyZmxvdzpoaWRkZW59LmNhcHRpb24td2luZG93IC55dHAtaWNvbiwuY2FwdGlvbi13aW5kb3cgc3Zne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246Ym90dG9tO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxZW07bWF4LWhlaWdodDoxZW19Lnl0cC1lbWJlZCAuY2FwdGlvbi13aW5kb3cgLnl0cC1pY29uLC55dHAtZW1iZWQgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZSAuY2FwdGlvbnMtdGV4dHstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjQzM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC40MzNzIGN1YmljLWJlemllcigwLDAsLjIsMSl9LmNhcHRpb24tZWRpdHtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQ6cmdiYSg4LDgsOCwuNzUpO2JvcmRlcjpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcn0uY2FwdGlvbi1lZGl0IHN2Z3ttYXgtaGVpZ2h0OjYwJTttYXgtd2lkdGg6NjAlfS5jYXB0aW9uLWVkaXQ6Zm9jdXMsLmNhcHRpb24td2luZG93OmZvY3VzIC5jYXB0aW9uLWVkaXQsLnl0cC1jYXB0aW9uLXdpbmRvdy1yb2xsdXAgLmNhcHRpb24tZWRpdDpob3ZlciwueXRwLWNhcHRpb24td2luZG93LXJvbGx1cDpob3ZlciAuY2FwdGlvbi1lZGl0e29wYWNpdHk6MX0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXZpc3VhbC1saW5lIC55dHAtY2FwdGlvbi1zZWdtZW50OmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDouMjVlbTtwYWRkaW5nLXRvcDowfS5odG1sNS12aWRlby1wbGF5ZXIgLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0Oi4yNWVtO3BhZGRpbmctYm90dG9tOjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6LjI1ZW07cGFkZGluZy1sZWZ0OjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTouMjVlbTtwYWRkaW5nLXJpZ2h0OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otanVzdGlmeS1jb250ZW50OmxlZnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6bGVmdDstd2Via2l0LWJveC1wYWNrOmxlZnQ7anVzdGlmeS1jb250ZW50OmxlZnR9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo2MHB4O2xlZnQ6NjBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo5MHB4O2xlZnQ6OTBweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ei1pbmRleDo2MDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTZweDtsZWZ0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6MzRweDtoZWlnaHQ6MzRweDt3aWR0aDozNHB4O3BhZGRpbmc6N3B4O2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTp1bnNldH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfXl0ZC13YXRjaC1mbGV4eVt0aGVhdGVyXSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6dW5zZXR9eXRkLXdhdGNoLWZsZXh5W3RoZWF0ZXJdIC5hZC1zaG93aW5nIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO2JvcmRlcjpub25lO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czo0MHB4O3BhZGRpbmc6MTJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6bm90KC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCl7cGFkZGluZzowIDhweH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ZGlzcGxheTpub25lfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtvcGFjaXR5OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlOmhvdmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JhY2tncm91bmQtY29sb3I6cmdiYSgzMywzMywzMywuOTUpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTlweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygodmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA2cHgpKi0xKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4KSotMSkpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtODBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQpe3dpZHRoOmF1dG99Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaUkyWm1aaUlnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWo0OGNHRjBhQ0JtYVd4c1BTSnViMjVsSWlCa1BTSk5NQ0F3YURJMGRqSTBTREI2SWk4K1BIQmhkR2dnWkQwaVRURTRJRFpvTFRKak1DMHlMakl4TFRFdU56a3ROQzAwTFRSVE9DQXpMamM1SURnZ05rZzJZeTB4TGpFZ01DMHlJQzQ1TFRJZ01uWXhNbU13SURFdU1TNDVJRElnTWlBeWFERXlZekV1TVNBd0lESXRMamtnTWkweVZqaGpNQzB4TGpFdExqa3RNaTB5TFRKdExUWXRNbU14TGpFZ01DQXlJQzQ1SURJZ01tZ3ROR013TFRFdU1TNDVMVElnTWkweWJUWWdNVFpJTmxZNGFESjJNbU13SUM0MU5TNDBOU0F4SURFZ01YTXhMUzQwTlNBeExURldPR2cwZGpKak1DQXVOVFV1TkRVZ01TQXhJREZ6TVMwdU5EVWdNUzB4Vmpob01ub2lMejQ4TDNOMlp6ND0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi1jdXN0b20taWNvbiwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29uLWN1c3RvbS1pY29ue2JhY2tncm91bmQtaW1hZ2U6bm9uZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6NnB4O2N1cnNvcjpwb2ludGVyfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS10aXRsZXtmb250LXdlaWdodDo1MDB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoyOThweDtoZWlnaHQ6NjRweDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI5MHB4O3BhZGRpbmc6NHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tZGV0YWlscyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWRldGFpbHMgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLXN1YnRpdGxle292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NDAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxzIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1tZXRhZGF0YS10ZXh0e29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NTAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWd7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojZmZmO2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWc+aW1ne3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbn06aXMoOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCksLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCkgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb257ZGlzcGxheTpub25lfTppcygueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1jb2xsYXBzZWQsLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWNvbnRlbnQtZm9yd2FyZC1jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3dpZHRoOjA7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4taW5saW5lLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC1tYXJnaW4tc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbHtoZWlnaHQ6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MTt3aWR0aDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWV4cGFuZGVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7d2lkdGg6MjRweH06aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctY29sbGFwc2VkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHg7b3BhY2l0eToxO3dpZHRoOjE4cHg7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4gOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtY29udGVudC1mb3J3YXJkLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkKSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWw6Zmlyc3QtY2hpbGR7d2lkdGg6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTJweDt3aWR0aDoycHg7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zMjstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLW1vcmUtcHJvZHVjdHMtaWNvbntoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6dW5zZXR9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ1ptbHNiRDBpSTJabVppSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQmtQU0pOTVRZdU1qUWdPUzR4TnlBeE15NDBNU0F4TW13eUxqZ3pJREl1T0RNdE1TNDBNU0F4TGpReFRERXlJREV6TGpReGJDMHlMamd6SURJdU9ETXRNUzQwTVMweExqUXhUREV3TGpVNUlERXlJRGN1TnpZZ09TNHhOMnd4TGpReExURXVOREZNTVRJZ01UQXVOVGxzTWk0NE15MHlMamd6ZWswMExqa3pJRFF1T1ROakxUTXVPVEVnTXk0NU1TMHpMamt4SURFd0xqSTBJREFnTVRRdU1UUWdNeTQ1TVNBekxqa3hJREV3TGpJMElETXVPVEVnTVRRdU1UUWdNQ0F6TGpreExUTXVPVEVnTXk0NU1TMHhNQzR5TkNBd0xURTBMakUwTFRNdU9TMHpMamt4TFRFd0xqSTBMVE11T1RFdE1UUXVNVFFnTUcweE15NDBNeTQzTVdNekxqVXhJRE11TlRFZ015NDFNU0E1TGpJeUlEQWdNVEl1TnpOekxUa3VNaklnTXk0MU1TMHhNaTQzTXlBd0xUTXVOVEV0T1M0eU1pQXdMVEV5TGpjell6TXVOVEl0TXk0MU1TQTVMakl5TFRNdU5URWdNVEl1TnpNZ01DSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47b3BhY2l0eTouNjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRURTVJRFl1TkRFZ01UY3VOVGtnTlNBeE1pQXhNQzQxT1NBMkxqUXhJRFVnTlNBMkxqUXhJREV3TGpVNUlERXlJRFVnTVRjdU5Ua2dOaTQwTVNBeE9TQXhNaUF4TXk0ME1TQXhOeTQxT1NBeE9TQXhPU0F4Tnk0MU9TQXhNeTQwTVNBeE1ub2lMejQ4TDNOMlp6ND0pO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZGlzbWlzcy1idXR0b24taWNvbjpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1vZmZsaW5lLXNsYXRle2JvdHRvbTozMnB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjI4MHB4O2hlaWdodDo2NHB4O3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtZmVhdHVyZWQtcHJvZHVjdD4ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI3MnB4O3BhZGRpbmc6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEU1SURZdU5ERWdNVGN1TlRrZ05TQXhNaUF4TUM0MU9TQTJMalF4SURVZ05TQTJMalF4SURFd0xqVTVJREV5SURVZ01UY3VOVGtnTmk0ME1TQXhPU0F4TWlBeE15NDBNU0F4Tnk0MU9TQXhPU0F4T1NBeE55NDFPU0F4TXk0ME1TQXhNbm9pTHo0OEwzTjJaejQ9KTtvcGFjaXR5Oi44O2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbHtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbD5pbWd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWlufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vcGVuLWluLW5ld3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NHB4O3JpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWswek9DQXpPRWd4TUZZeE1HZ3hORlkyU0RFd1l5MHlMakl4SURBdE5DQXhMamM1TFRRZ05IWXlPR013SURJdU1qRWdNUzQzT1NBMElEUWdOR2d5T0dNeUxqSXhJREFnTkMweExqYzVJRFF0TkZZeU5HZ3ROSHBOTWpnZ05uWTBhRGN1TVRkTU1UVXVOVEVnTWprdU5qWnNNaTQ0TXlBeUxqZ3pURE00SURFeUxqZ3pWakl3YURSV05ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LWNvdW50ZG93bntmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtYWZmaWxpYXRlLWRpc2NsYWltZXJ7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWR7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1yaWdodDo0cHg7b3BhY2l0eTouN30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtaW5mby1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWsweU1pQXpOR2cwVmpJeWFDMDBlbTB5TFRNd1F6RXlMamsxSURRZ05DQXhNaTQ1TlNBMElESTBjemd1T1RVZ01qQWdNakFnTWpBZ01qQXRPQzQ1TlNBeU1DMHlNRk16TlM0d05TQTBJREkwSURSdE1DQXpObU10T0M0NE1pQXdMVEUyTFRjdU1UZ3RNVFl0TVRaVE1UVXVNVGdnT0NBeU5DQTRjekUySURjdU1UZ2dNVFlnTVRZdE55NHhPQ0F4TmkweE5pQXhObTB0TWkweU1tZzBkaTAwYUMwMGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7bWFyZ2luLXJpZ2h0OjhweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vdmVyZmxvdy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlpMDFJQzAxSURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKTk1USWdPR014TGpFZ01DQXlMUzQ1SURJdE1uTXRMamt0TWkweUxUSXRNaUF1T1MweUlESWdMamtnTWlBeUlESnRNQ0F5WXkweExqRWdNQzB5SUM0NUxUSWdNbk11T1NBeUlESWdNaUF5TFM0NUlESXRNaTB1T1MweUxUSXRNbTB3SURaakxURXVNU0F3TFRJZ0xqa3RNaUF5Y3k0NUlESWdNaUF5SURJdExqa2dNaTB5TFM0NUxUSXRNaTB5SWk4K1BDOXpkbWMrKTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O29wYWNpdHk6Ljg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXZlbmRvcntvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdmVuZG9yLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVke2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5ne292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVkIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy10ZXh0e29wYWNpdHk6Ljc7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5nPi55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdMVGsyTUNBNU5qQWdPVFl3SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSnRNVEl6TFRJME1DMDBNeTAwTXlBeU9USXRNamt4SURFMk55QXhOamNnTWpReExUSTBNVWcyTlROMkxUWXdhREl5TjNZeU1qZG9MVFU1ZGkweE1qTk1OVE00TFRNeU1TQXpOekV0TkRnNGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bWFyZ2luLXRvcDoycHg7bWFyZ2luLXJpZ2h0OjRweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZ3tkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByaWNlLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVyIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcm9tb3Rpb24tdGV4dHtmb250LXdlaWdodDo1MDA7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO21hcmdpbi1sZWZ0OjRweH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2V7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByb21vdGlvbi10ZXh0OmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2U6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQ6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtY29udGFpbmVyLC55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWV4Y2x1c2l2ZS1iYWRnZXtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20oIzdmMGU3ZiksY29sb3Itc3RvcCgjZGIxZGRiKSx0bygjZWQ1NThmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCM3ZjBlN2YsI2RiMWRkYiwjZWQ1NThmKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmLCNkYjFkZGIsI2VkNTU4Zik7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtdGV4dHtsaW5lLWhlaWdodDoxMDAlO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtZXhjbHVzaXZlLWNvdW50ZG93bnttYXJnaW4tbGVmdDo0cHg7bGluZS1oZWlnaHQ6MTAwJX0ueXRwLXRpbWUtZGlzcGxheXtmb250LXNpemU6MTA5JTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzowIDVweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6NDdweH0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC10aW1lLWRpc3BsYXksLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUxcHh9Lnl0cC1lbWJlZCAueXRwLXRpbWUtZGlzcGxheSwueXRwLXNtYWxsLW1vZGUgLnl0cC10aW1lLWRpc3BsYXl7bGluZS1oZWlnaHQ6MzlweH0ueXRwLWJpZy1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUzcHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWRpc3BsYXk6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtmb250LXNpemU6MTRweDttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSA4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtZGlzcGxheXtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtmb250LXNpemU6MTZweDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtdG9wLWhlaWdodCwyMHB4KSAxMnB4fS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC10aW1lLWRpc3BsYXktYWxsb3ctYXV0b2hpZGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7bWluLXdpZHRoOjA7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtd3JhcHBlcntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jdXJyZW50LC55dHAtdGltZS1kdXJhdGlvbiwueXRwLXRpbWUtc2VwYXJhdG9ye2NvbG9yOiNkZGR9Lnl0cC10aW1lLXdyYXBwZXItZGVsaGl7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWN1cnJlbnR7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtcHJpbWFyeSwjZmZmKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtZHVyYXRpb24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXNlcGFyYXRvcntjb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpO2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWxpdmUgLnl0cC10aW1lLWNvbnRlbnRze2Rpc3BsYXk6bm9uZX0qIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdlLC55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxpdmUtYmFkZ2V7dGV4dC10cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2UsLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlIC55dHAtbGl2ZS1iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOjQlO21hcmdpbi1yaWdodDo1cHg7YmFja2dyb3VuZDojNzU3NTc1O2NvbnRlbnQ6IiI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6OXB4fS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1saXZlLWJhZGdlW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWxpdmUtYmFkZ2VbZGlzYWJsZWRde29wYWNpdHk6MX0ueXRwLWxpdmViYWRnZS1jb2xvciAueXRwLWxpdmUtYmFkZ2UueXRwLWxpdmUtYmFkZ2UtaXMtbGl2ZWhlYWQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpfS55dHAtdGltZS1kaXNwbGF5Lnl0cC1jbGlwe292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24sLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvciwueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9yLC55dHAtY2xpcCAueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6aW5saW5lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLWxlZnQ6OHB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NXB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MH0ueXRwLXRpbWUtY2xpcC1pY29uIHN2Z3t3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206LTNweDtmaWxsOiNkZGR9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjhweDtmb250LXdlaWdodDo3MDB9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2V7d2lkdGg6YXV0b30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtY29udGVudHN7b3ZlcmZsb3c6aGlkZGVufS55dHAtbm8tbGluayxzcGFuLnl0cC10aXRsZS1jaGFubmVsLW5hbWV7Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXRpdGxle292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC10aXRsZSAueXRwLXRpdGxlLXRleHQsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLXRvcCAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dCwueXRwLWhpZGUtZnVsbHNjcmVlbi10aXRsZSAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dHtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS10ZXh0e3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToxOHB4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1sZWZ0OjRweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxOHB4O2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmctbGVmdDo2cHh9Lnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoyMXB4fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS10ZXh0e2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOm5vcm1hbDtwYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctcmlnaHQ6NTNweH0ueXRwLWJpZy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDozNnB4fS55dHAtYmlnLW1vZGUueXRwLXNob3J0cy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxN3B4O2ZvbnQtc2l6ZToyM3B4O3BhZGRpbmctcmlnaHQ6NjRweH0ueXRwLXRpdGxlLXRleHQtbGFyZ2VyLWxpbmUtaGVpZ2h0IC55dHAtdGl0bGUtdGV4dHtsaW5lLWhlaWdodDoxLjM1fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS1saW5re292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC10aXRsZS1zdWJ0ZXh0e2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtY2hhbm5lbC1uYW1le21hcmdpbi10b3A6LjI1cmVtO2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5KX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc3VidGV4dHtmb250LXNpemU6MjBweH0ueXRwLXRpdGxlLXN1YnRleHQgYTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1mdWxsZXJzY3JlZW4tbGlua3tjdXJzb3I6ZGVmYXVsdH0ueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtoZWlnaHQ6MTRweDt3aWR0aDozNnB4O2Zsb2F0OnJpZ2h0O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyMXB4O3dpZHRoOjU0cHg7Ym9yZGVyLXJhZGl1czoyMXB4fS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtvcGFjaXR5Oi4zfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjojOTA5MDkwfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSBwYXRoe2ZpbGw6IzkwOTA5MH0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JvcmRlci1yYWRpdXM6MDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtY29udGV4dG1lbnUueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1jb250ZXh0bWVudSAueXRwLW1lbnVpdGVtIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRrZ01UWXVNaUEwTGpnZ01USnNMVEV1TkNBeExqUk1PU0F4T1NBeU1TQTNiQzB4TGpRdE1TNDBlaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29udGV4dG1lbnUgLnl0cC1tZW51aXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi10b3A6LTNweDtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjYpO2JveC1zaGFkb3c6MCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuNik7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7bGVmdDowO2hlaWdodDozMHB4O3dpZHRoOjMwcHg7Ym9yZGVyLXJhZGl1czozMHB4O21hcmdpbi10b3A6ZGl2aWRlKHN1YigyMXB4LDMwcHgpLDIpfS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjRweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyNHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveCwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tcHJpbWFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWRpc2FibGVkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4uYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXRvcDoycHg7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlciwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzO2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7b3BhY2l0eTowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwe2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3e3BhZGRpbmc6MnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3tib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3Lnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbjpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5OjF9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGl0bGV7cGFkZGluZzowIDlweDt0ZXh0LWFsaWduOnN0YXJ0O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6NXB4IDlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1iZ3ttYXJnaW46NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLXRpdGxlIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHttYXJnaW4tbGVmdDo4cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGV4dHtwYWRkaW5nOjAgOXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXA6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JvcmRlci1yYWRpdXM6NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1wcmV2aWV3KSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC10b29sdGlwLWJnLC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtwYWRkaW5nOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOjE4cHg7dG9wOjQ1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGUgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxle21hcmdpbi1sZWZ0OjhweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHt0b3A6LTE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6MTBweDt0b3A6dW5zZXQ7bWF4LXdpZHRoOnVuc2V0O2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntib3R0b206OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KFthcmlhLWhpZGRlbj10cnVlXSkgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxse2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7dG9wOjY3cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxMnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTJweH0ueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVye2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NXB4O2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MX0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjRweCAwO292ZXJmbG93OmhpZGRlbjttYXgtaGVpZ2h0OjQ2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjZweCAwO21heC1oZWlnaHQ6NjlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9uIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKTpub3QoW2FyaWEtaGlkZGVuPXRydWVdKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjVweCA5cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdG9vbHRpcC1vcGFxdWUgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQtY29sb3I6cmdiKDI4LDI4LDI4KX0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6aW5saW5lO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6MzRweH0ueXRwLWJpZy1tb2RlIC55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6NDVweH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0ueXRwLXRvb2x0aXAtYmd7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKS55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb246aXMoW2FyaWEtaGlkZGVuPXRydWVdKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtcHJvZ3Jlc3MtYmFyLXNuYXAgLnl0cC10b29sdGlwLWJne291dGxpbmU6MXB4IHNvbGlkICNmZmY7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJne2Rpc3BsYXk6YmxvY2t9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7ZmxvYXQ6bGVmdH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAtYmcueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pIC55dHAtdG9vbHRpcC1iZy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eToxfS55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtaGFzLWR1cmF0aW9uIC55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDtib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7cGFkZGluZzoycHggNHB4O2JvcmRlci1yYWRpdXM6MnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcueXRwLWhhcy1kdXJhdGlvbiAueXRwLXRvb2x0aXAtZHVyYXRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOiNmZmZ9Lnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXAtdGl0bGUgc3Zne2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2ZvbnQtc2l6ZToxOHB4fS55dHAtYmlnLW1vZGUueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3Zne2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAzJTtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3ZnLC55dHAtcHJvZ3Jlc3MtYmFyLWRlY29yYXRpb24gLnl0cC10b29sdGlwLXRpdGxlIHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbi1yaWdodDozcHg7ZmlsbDp3aGl0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjgwcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7aGVpZ2h0OjE2cHg7Ym9yZGVyOjA7dG9wOjQ1cHg7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjEyMHB4O3RvcDo2MXB4O2hlaWdodDoyNHB4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQ6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NDVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWJpZy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e3RvcDo2NXB4fS55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWtleWJvYXJkLXNob3J0Y3V0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zMDE5NjA3ODQzKTttaW4td2lkdGg6MTFweDtib3JkZXItcmFkaXVzOjRweDttYXJnaW4tbGVmdDo0cHg7Y29sb3I6I2ZmZjtwYWRkaW5nOjAgMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dDplbXB0eXtkaXNwbGF5Om5vbmU7d2lkdGg6MH0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDozM3B4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUueXRwLW1vZGVybi10b29sdGlwLXRleHR7dG9wOjI1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDo0MXB4fS55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwgLnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2FhYTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC10b29sdGlwLWltYWdle3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTt0b3A6MnB4O2xlZnQ6N3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAtaW1hZ2V7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtib3JkZXItcmFkaXVzOjEyLjVweDt0b3A6M3B4O2xlZnQ6MTBweH0ueXRwLXRvb2x0aXAtaW1hZ2UtZW5hYmxlZCAueXRwLXRvb2x0aXAtaW1hZ2V7ZGlzcGxheTppbmhlcml0fS55dHAtaW5saW5lLXByZXZpZXctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGV7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWVkdSwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLXVubXV0ZS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOnN1Yig0OHB4LDEycHgpO2xlZnQ6MDt6LWluZGV4OjEwMDE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEyNyU7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjEycHh9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS55dHAtcG9wdXB7dG9wOnN1Yig0OHB4LDE4cHgpO3BhZGRpbmc6MThweH0ueXRwLWF1dG9oaWRlIC55dHAtdW5tdXRlLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLXVubXV0ZXt0b3A6MH0ueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6M3B4O3BhZGRpbmctcmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTt0ZXh0LXNoYWRvdzpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6MThweH0ueXRwLXVubXV0ZS1pY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLWVtYmVkIC55dHAtdW5tdXRlLWljb257d2lkdGg6NDBweDtoZWlnaHQ6NDBweH0ueXRwLXVubXV0ZS1pY29uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMDAwfS55dHAtdW5tdXRlLXRleHR7bWF4LXdpZHRoOjIwMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC11bm11dGUueXRwLXBvcHVwLnl0cC11bm11dGUtYW5pbWF0ZWQgLnl0cC11bm11dGUtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzowfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWljb257cGFkZGluZy1sZWZ0OjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtib3JkZXItcmFkaXVzOjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjFmMWYxfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWJveHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMX0ueXRwLXVubXV0ZS1hbmltYXRlZCAueXRwLXVubXV0ZS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MXB4O3BhZGRpbmctcmlnaHQ6MTBweH0ueXRwLXVubXV0ZS1leHBhbmQgLnl0cC11bm11dGUtYm94e3dpZHRoOjA7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuNXMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtd2lkdGgtYW5pbSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAzLjVzIGZvcndhcmRzfS55dHAtdW5tdXRlLWV4cGFuZCAueXRwLXVubXV0ZS10ZXh0e29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbjp5dHAtdW5tdXRlLWFscGhhLWFuaW0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuOHMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgMy44cyBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtYm94e3dpZHRoOjEwMCU7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkczthbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtdGV4dHtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS1hbHBoYS1hbmltIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSA1LjRzIHJldmVyc2UgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSkgNS40cyByZXZlcnNlIGZvcndhcmRzfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLXdpZHRoLWFuaW17MCV7d2lkdGg6MH10b3t3aWR0aDoxMDAlfX1Aa2V5ZnJhbWVzIHl0cC11bm11dGUtd2lkdGgtYW5pbXswJXt3aWR0aDowfXRve3dpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0cC11cG5leHR7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ei1pbmRleDozOX0ueXRwLXVwbmV4dC10b3B7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvdHRvbTo1MCU7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10b3B7bWFyZ2luLWJvdHRvbToyNnB4fS55dHAtc21hbGwtbW9kZS55dHAtZW1iZWQgLnl0cC11cG5leHQtbW9iaWxlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjB9Lnl0cC11cG5leHQtYm90dG9te3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0b3A6NTAlO21hcmdpbi10b3A6NDhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYm90dG9te21hcmdpbi10b3A6MjZweH0ueXRwLXNtYWxsLW1vZGUueXRwLWVtYmVkIC55dHAtdXBuZXh0LW1vYmlsZSAueXRwLXVwbmV4dC1ib3R0b217bWFyZ2luLXRvcDo0OHB4fS55dHAtdXBuZXh0LXRpdGxle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowIDEwcHggMnB4O21hcmdpbi1sZWZ0OjMycHg7bWFyZ2luLXJpZ2h0OjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjIwMCU7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTUwJX0ueXRwLXVwbmV4dC1hdXRob3J7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEwcHggMTBweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMzAlfS55dHAtdXBuZXh0LWhlYWRlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNDAlO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtaGVhZGVye3BhZGRpbmctYm90dG9tOjB9Lnl0cC11cG5leHQtY2FuY2Vse2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDIwcHg7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JvcmRlci1yYWRpdXM6MnB4fS55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbjotMzJweCAwIDAgLTMycHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O21hcmdpbjotMjVweCAwIDAgLTI1cHh9Lnl0cC1zbWFsbC1tb2RlLnl0cC1lbWJlZCAueXRwLXVwbmV4dC1tb2JpbGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnttYXJnaW4tdG9wOjB9Lnl0cC1lbWJlZCAueXRwLWVuZHNjcmVlbi10YWtlb3Zlcn4ueXRwLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtdXBuZXh0LXBhdXNlZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtc3R5bGU6aXRhbGljO29wYWNpdHk6MH0ueXRwLXVwbmV4dC1hdXRvcGxheS1wYXVzZWQgLnl0cC11cG5leHQtcGF1c2Vke29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtdXBuZXh0IC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtvcGFjaXR5Oi40fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXktaW1hZ2V7b3BhY2l0eTouNjR9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRvcHt0b3A6MDttYXJnaW46MTJweCAwIDAgMTJweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRpdGxle3RleHQtYWxpZ246bGVmdDttYXJnaW4tYm90dG9tOjRweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO3BhZGRpbmc6MH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtdGl0bGV7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmY7cGFkZGluZzowIDc1cHggMCAwfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjYycHg7aGVpZ2h0OjYycHg7bWFyZ2luOi0zMXB4IDAgMCAtMzFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbiwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtcGF1c2Vke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbntwYWRkaW5nOjhweDttYXJnaW4tdG9wOjhweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjE0NnB4O2hlaWdodDoxNDZweDttYXJnaW46LTczcHggMCAwIC03M3B4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjc2cHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC11cG5leHQtdG9we21hcmdpbi1ib3R0b206NzZweH0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjA7Ym90dG9tOjUwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257dG9wOjYwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjA7dG9wOjcwJX0ueXRwLXVzZXItaW5mby1wYW5lbHtiYWNrZ3JvdW5kOnJnYmEoMjgsMjgsMjgsLjgpO2NvbG9yOiNmZmY7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyOTJweDtoZWlnaHQ6NzRweDtib3R0b206MDt6LWluZGV4OjgwO21pbi13aWR0aDoyNmVtO2Rpc3BsYXk6dGFibGV9Lnl0cC11c2VyLWluZm8tcGFuZWwgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLXVzZXItaW5mby1wYW5lbCAueXRwLWNvbGxhcHNlOmhvdmVye29wYWNpdHk6MX0ueXRwLXVzZXItaW5mby1wYW5lbC1jb250ZW50e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZzoxNHB4IDA7Zm9udC1zaXplOjE2cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC11c2VyLWluZm8tcGFuZWwtaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHg7cGFkZGluZzowIDE0cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtbG9naW57Y29sb3I6IzNlYTZmZjtjdXJzb3I6cG9pbnRlcn0ueXRwLXVzZXItaW5mby1wYW5lbC1pbmZve21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC12aWRlby1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztoZWlnaHQ6NDRweDtwYWRkaW5nOjEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXZpZGVvLW1lbnUtaXRlbXtoZWlnaHQ6NjZweDtwYWRkaW5nOjE1cHh9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC12aWRlby1tZW51LWl0ZW06aG92ZXIsLnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpfS55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne3BhZGRpbmctcmlnaHQ6OXB4O21pbi13aWR0aDoxMHB4O2hlaWdodDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7ZmxvYXQ6bGVmdH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7cGFkZGluZy1yaWdodDoxM3B4O2hlaWdodDo2NnB4O2xpbmUtaGVpZ2h0OjY2cHh9Lnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTpub25lO2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne2NvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLXZpZGVvLW1lbnUtaXRlbS1ub3ctcGxheWluZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1jb2xvciAuMTVzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTppbmxpbmV9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4e2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvLW1lbnUtaXRlbS10aXRsZXtwYWRkaW5nLWxlZnQ6OXB4O2ZvbnQtc2l6ZToxMjAlO21heC1oZWlnaHQ6Mi42ZW07b3ZlcmZsb3c6aGlkZGVufS55dHAtdmlkZW8tbWVudS1pdGVtLWF1dGhvcntwYWRkaW5nLWxlZnQ6OXB4O2NvbG9yOiNiOGI4Yjg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse2Zsb2F0OmxlZnQ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDttYXJnaW46NHB4O2JvcmRlcjowIHNvbGlkIHZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTZweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo2NHB4IDQ4cHg7YmFja2dyb3VuZC1zaXplOjY0cHggNDhweH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHtib3JkZXItY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHstd2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlfS55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse3dpZHRoOjk2cHg7aGVpZ2h0OjU0cHg7bWFyZ2luOjZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTlweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5NnB4IDcycHg7YmFja2dyb3VuZC1zaXplOjk2cHggNzJweH0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse21hcmdpbjoycHg7Ym9yZGVyLXdpZHRoOjJweH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLXZpZGVvLW1lbnUtaXRlbS10aHVtYm5haWx7bWFyZ2luOjRweH0ueXRwLXZpZGVvd2FsbC1zdGlsbHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2Zvcm06c2NhbGUoLjEpfS55dHAtc2hvdy10aWxlcyAueXRwLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3IsLnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWR1cmF0aW9uLC55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpub25lO2hlaWdodDoyLjE1ZW07cGFkZGluZy1yaWdodDoxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peCwueXRwLXZpZGVvd2FsbC1zdGlsbC1taW5pIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFye2ZvbnQtc2l6ZToxMDAlfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RjR3hoZVd4cGMzUWlJSE4wY205clpUMGlJekF3TUNJZ2MzUnliMnRsTFc5d1lXTnBkSGs5SWk0eE5TSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlpOCtQSEJoZEdnZ2FXUTlJbmwwY0MxemRtY3RjR3hoZVd4cGMzUWlJR1pwYkd3OUlpTm1abVlpSUdROUlrMHlNaTQxTXlBeU1TNDBNblkyTGpnMWJEVXVOall0TXk0ME1pMDFMalkyTFRNdU5ESjZiUzB4TVM0ek15QXdhRGt1TURaMk1pNHlPRWd4TVM0eWVtMHdMVGt1TVRSb01UTXVObll5TGpJNFNERXhMako2YlRBZ05DNDFOMmd4TXk0MmRqSXVNamhJTVRFdU1ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjIuMTVlbTtoZWlnaHQ6Mi4xNWVtfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0YldsNElpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzF2Y0dGamFYUjVQU0l1TVRVaUlITjBjbTlyWlMxM2FXUjBhRDBpTWlJdlBqeHdZWFJvSUdsa1BTSjVkSEF0YzNabkxXMXBlQ0lnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEkxTGpZMUlERTRZeTB1TURJZ01pNHpNUzB1T0RjZ05DNDBNUzB5TGpJMUlEWXVNRFpzTGprdU9UUmpNUzQyT1MweExqZ2dNaTQzTFRRdU1qY2dNaTQzTFRkekxURXVNREV0TlM0eU1TMHlMamN0TjJ3dExqa3VPVE5CT1M0MU5DQTVMalUwSURBZ01DQXhJREkxTGpZMUlERTRiUzB4TlM0eklEQmpMakF4TFRJdU16SXVPRFl0TkM0ME1pQXlMakkxTFRZdU1EZHNMUzQ1TFM0NU0wTXhNQ0F4TWk0M09TQTVJREUxTGpJM0lEa2dNVGh6TVNBMUxqSWdNaTQzSURkc0xqa3RMamswWXkweExqTTVMVEV1TmpVdE1pNHlOQzB6TGpjMUxUSXVNalV0Tmk0d05tMHlMamNnTUdNdExqQTBMVEV1TnpNdU5Ea3RNeTR3T1NBeExqTTFMVFF1TW13dExqa3RMamswWXkweExqRXpJREV1TWpZdE1TNDRJREl1T1RrdE1TNDRJRFV1TVRRZ01DQXhMalkzTGpZM0lETXVOQ0F4TGpnZ05DNDJObXd1T1MwdU9UTmpMUzQ0TmkweExqRXlMVEV1TXprdE1pNDBOeTB4TGpNMUxUTXVOek50T1MwMUxqRTBMUzQ1TGprMFl5NDROU0F4TGpFeElERXVNemdnTWk0ME55QXhMak0xSURRdU1pNHdNeUF4TGpJMkxTNDFJREl1TmpFdE1TNHpOU0F6TGpjemJDNDVMamt6WXpFdU1USXRNUzR5TmlBeExqZ3RNaTQ1T1NBeExqZ3ROQzQyTmlBd0xUSXVNVFV0TGpZNExUTXVPRGd0TVM0NExUVXVNVFJ0TFRVdU5UVWdNaTQ0SURNdU5pQXhMamczTFRNdU5pQXlMak16ZWlJdlBqd3ZjM1puUGc9PSk7d2lkdGg6Mi4xNWVtO2hlaWdodDoyLjE1ZW19Lnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbGVuZ3Roe2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtdmlkZW93YWxsLXN0aWxsOmZvY3VzIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFyLC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbWl4PXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC1yb3VuZC1sYXJnZSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtcm91bmQtbWVkaXVtIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLXJvdW5kLWxhcmdlIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tYXV0aG9ye2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgxMiwxMiwxMiwuOCkgMCx0cmFuc3BhcmVudCAxMDBweCk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2JvdHRvbTowO2NvbG9yOiNmZmY7bGVmdDowO29wYWNpdHk6MDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC55dHAtdmlkZW93YWxsLXNob3ctdGV4dCAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnQsLnl0cC12aWRlb3dhbGwtc3RpbGw6Zm9jdXMgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50LC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tY29udGVudHtvcGFjaXR5OjF9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjJweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouOTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7ZGlzcGxheTpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaGVpZ2h0OjMwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXtmb250LXdlaWdodDo0MDA7bWF4LWhlaWdodDo0OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg2KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVse2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuODYpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1ib3R0b206MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmb250LXNpemU6MTFweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1zaG93LXRpbGVzIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb257ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjIuMTVlbTtwYWRkaW5nLXJpZ2h0OjEwcHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNHhOU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJaTgrUEhCaGRHZ2dhV1E5SW5sMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB5TWk0MU15QXlNUzQwTW5ZMkxqZzFiRFV1TmpZdE15NDBNaTAxTGpZMkxUTXVOREo2YlMweE1TNHpNeUF3YURrdU1EWjJNaTR5T0VneE1TNHllbTB3TFRrdU1UUm9NVE11Tm5ZeUxqSTRTREV4TGpKNmJUQWdOQzQxTjJneE15NDJkakl1TWpoSU1URXVNbm9pTHo0OEwzTjJaejQ9KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RiV2w0SWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMXZjR0ZqYVhSNVBTSXVNVFVpSUhOMGNtOXJaUzEzYVdSMGFEMGlNaUl2UGp4d1lYUm9JR2xrUFNKNWRIQXRjM1puTFcxcGVDSWdabWxzYkQwaUkyWm1aaUlnWkQwaVRUSTFMalkxSURFNFl5MHVNRElnTWk0ek1TMHVPRGNnTkM0ME1TMHlMakkxSURZdU1EWnNMamt1T1RSak1TNDJPUzB4TGpnZ01pNDNMVFF1TWpjZ01pNDNMVGR6TFRFdU1ERXROUzR5TVMweUxqY3ROMnd0TGprdU9UTkJPUzQxTkNBNUxqVTBJREFnTUNBeElESTFMalkxSURFNGJTMHhOUzR6SURCakxqQXhMVEl1TXpJdU9EWXROQzQwTWlBeUxqSTFMVFl1TURkc0xTNDVMUzQ1TTBNeE1DQXhNaTQzT1NBNUlERTFMakkzSURrZ01UaHpNU0ExTGpJZ01pNDNJRGRzTGprdExqazBZeTB4TGpNNUxURXVOalV0TWk0eU5DMHpMamMxTFRJdU1qVXROaTR3Tm0weUxqY2dNR010TGpBMExURXVOek11TkRrdE15NHdPU0F4TGpNMUxUUXVNbXd0TGprdExqazBZeTB4TGpFeklERXVNall0TVM0NElESXVPVGt0TVM0NElEVXVNVFFnTUNBeExqWTNMalkzSURNdU5DQXhMamdnTkM0Mk5td3VPUzB1T1ROakxTNDROaTB4TGpFeUxURXVNemt0TWk0ME55MHhMak0xTFRNdU56TnRPUzAxTGpFMExTNDVMamswWXk0NE5TQXhMakV4SURFdU16Z2dNaTQwTnlBeExqTTFJRFF1TWk0d015QXhMakkyTFM0MUlESXVOakV0TVM0ek5TQXpMamN6YkM0NUxqa3pZekV1TVRJdE1TNHlOaUF4TGpndE1pNDVPU0F4TGpndE5DNDJOaUF3TFRJdU1UVXRMalk0TFRNdU9EZ3RNUzQ0TFRVdU1UUnRMVFV1TlRVZ01pNDRJRE11TmlBeExqZzNMVE11TmlBeUxqTXplaUl2UGp3dmMzWm5QZz09KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7Ym94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6OHB4fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyKTtib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpO2JvcmRlci1yYWRpdXM6OHB4fUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjEvMSl7Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle2FzcGVjdC1yYXRpbzoxNi85fX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MS8xKXsueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7aGVpZ2h0OjA7cGFkZGluZy1ib3R0b206NTYuMjUlfX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3ttYXJnaW4tdG9wOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3I6bm90KDplbXB0eSl7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEzMCU7bWF4LWhlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtdmlldy1jb3VudC1hbmQtZGF0ZS1pbmZvOm5vdCg6ZW1wdHkpe2ZvbnQtc2l6ZToxMzAlO21heC1oZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvciwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvcnttYXgtaGVpZ2h0OnVuc2V0fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnR7Y29sb3I6I2ZmZjt3aWR0aDoxMDAlO29wYWNpdHk6MTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb24sLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtib3JkZXItcmFkaXVzOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206OHB4O3JpZ2h0OjhweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtmb250LXNpemU6MTIwJX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6Ljc1fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWxpdmV7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7b3BhY2l0eTouOTtkaXNwbGF5Om5vbmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpub3QoW2RhdGEtaXMtbGl2ZT10cnVlXSkgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5Om5vbmV9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb246ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxlOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tdGl0bGUsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXttYXgtaGVpZ2h0OnVuc2V0fS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4IDE2cHggMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1zcGVlZC1kaXNwbGF5LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1kaXNwbGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6OTAwO2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXNsaWRlci1jb250YWluZXIgLnl0cC1pbnB1dC1zbGlkZXJ7d2lkdGg6MTAwJX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWNoaXBze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtjb2xvcjojZmZmO2hlaWdodDozMnB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY2hpcHMgLnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Zm9udC1zaXplOjEycHg7d2lkdGg6NTNweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVyIC55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjMycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLWxhYmVsLXRleHR7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXByZW1pdW0tdXBzZWxsLWljb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGxpbmVhcix2aXNpYmlsaXR5IDBzIGxpbmVhciAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBsaW5lYXIsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjFzfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZS12aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3Zlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoxMnB4IDEwcHg7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXItc2VjdGlvbi55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVye2hlaWdodDo5NnB4fX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyIC55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7bWFyZ2luLXJpZ2h0Oi01cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3ZlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tcy10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre3dpZHRoOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7d2lkdGg6MnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIueXRwLXZvbHVtZS1wb3BvdmVyLWhvdmVyaW5ne3Zpc2liaWxpdHk6dmlzaWJsZTttYXJnaW4tYm90dG9tOjhweDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0Oi00cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuOm5vdCguc2Vla2luZy1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0OjRweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtdm9sdW1lLXBhbmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjB9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXBhbmVsey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7d2lkdGg6NTJweDttYXJnaW4tcmlnaHQ6M3B4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246bWFyZ2luIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItYWN0aXZlIC55dHAtdm9sdW1lLXBhbmVse3dpZHRoOjc4cHg7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtdm9sdW1lLXBhbmVsOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVye21pbi1oZWlnaHQ6NTRweH0ueXRwLXZvbHVtZS1zbGlkZXJ7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjZweDttYXJnaW4tdG9wOi02cHg7YmFja2dyb3VuZDojZmZmfS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZXstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo5cHg7bWFyZ2luLXRvcDotOXB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW4tdG9wOi02cHg7Ym9yZGVyLXJhZGl1czo2cHg7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7bWFyZ2luLXRvcDotMnB4O3dpZHRoOjY0cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZSwueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6MnB4O21hcmdpbi10b3A6LTFweH0ueXRwLWJpZy1tb2RlIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6NHB4O21hcmdpbi10b3A6LTJweDt3aWR0aDo5NnB4fS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YmVmb3Jle2xlZnQ6LTU4cHg7YmFja2dyb3VuZDojZmZmfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7bGVmdDotODdweH0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6NnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6OXB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MWVtfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b257Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC40cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtY29udGludWUtd2F0Y2hpbmctYnV0dG9uLnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1jb250aW51ZS13YXRjaGluZy1idXR0b24ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtjb2xvcjojMGYwZjBmfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZX0ueXRwLWNvbnRpbnVlLXdhdGNoaW5nLWJ1dHRvbi55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjk0KTt0cmFuc2Zvcm06c2NhbGUoLjk0KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9LndhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS53YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lcnt3aWR0aDoxMDAlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbi1tb3JlLXZpZGVvcy1jb250YWluZXIgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTp1bnNldH0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lciAueXRwLW1vcmUtdmlkZW9zLXZpZXd7Ym9yZGVyLXJhZGl1czoycHg7ZGlyZWN0aW9uOmx0cjttYXJnaW46MTJweDtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlLnl0cC13YXRjaC1sYXRlci1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy13YXRjaC1sYXRlci10aXRsZS55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21pbi13aWR0aDo0OHB4O21heC13aWR0aDo4MHB4fS55dHAtd2F0Y2gtbGF0ZXItaWNvbnttYXJnaW46YXV0bzt3aWR0aDozNnB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXdhdGNoLWxhdGVyLWljb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW4tYm90dG9tOjEwcHh9Lnl0cC13YXRjaC1sYXRlci10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci10aXRsZSwueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7Zm9udC1zaXplOjIwcHh9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7ZGlzcGxheTpibG9ja30uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci10aXRsZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNvbnRhaW5lcnt3aWR0aDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMTBweH0ueXRwLWJpZy1tb2RlIC55dHAtd2F0Y2gtbGF0ZXItaWNvbiAueXRwLXNwaW5uZXItY29udGFpbmVye3dpZHRoOjM1cHg7cGFkZGluZy1ib3R0b206MzVweDttYXJnaW4tdG9wOi0xNy41cHg7bWFyZ2luLWxlZnQ6LTE3LjVweH0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNpcmNsZXtib3JkZXItd2lkdGg6M3B4fS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29uIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjVweH0ud2ViZ2x7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjExO3dpZHRoOjEwMCV9LmVuZGVkLW1vZGUgLndlYmdse2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9ue3dpZHRoOjY3cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue3dpZHRoOjEyMHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLnl0cC15b3V0dWJlLW11c2ljLWJ1dHRvbiBzdmd7bWFyZ2luLWxlZnQ6LTI1cHg7aGVpZ2h0OjI0cHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLm5vLWxpbmssLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbi5uby1saW5re2N1cnNvcjpkZWZhdWx0O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbnt3aWR0aDoxMDBweH0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue2hlaWdodDoyNXB4O21hcmdpbi1ib3R0b206N3B4fS55dHAtZHJhd2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MzUwcHg7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6NDc7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2Vye3dpZHRoOjQyNXB4fS55dHAtZHJhd2VyLWNsb3NlZHt3aWR0aDoyNXB4fS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2Vke3dpZHRoOjM4cHh9Lnl0cC1kcmF3ZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MzUwcHg7aGVpZ2h0OjEwMCU7cGFkZGluZzo0OHB4IDI1cHggMjVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLWNvbnRlbnR7d2lkdGg6NDI1cHg7cGFkZGluZzo3MHB4IDE1cHggMTVweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItY29udGVudHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjVweDtmaWxsOndoaXRlfS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7cGFkZGluZzo3cHh9Lnl0cC1kcmF3ZXItY2xvc2VkIC55dHAtZHJhd2VyLWNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3dpZHRoOjE1cHg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDotMTZweDtwYWRkaW5nOjEwcHggNXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyl9Lnl0cC1iaWctbW9kZSAueXRwLWRyYXdlci1vcGVuLWJ1dHRvbnt3aWR0aDoyM3B4O2hlaWdodDo0OHB4O21hcmdpbi10b3A6LTI0cHg7cGFkZGluZzoxNXB4IDhweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLWRyYXdlci1vcGVuLWJ1dHRvbjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjojYWFhO2JvcmRlci1sZWZ0Om5vbmU7Y29udGVudDoiIn0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLW9wZW4tYnV0dG9uOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6OHB4O2JvcmRlci1yaWdodC13aWR0aDo4cHg7Ym9yZGVyLXRvcC13aWR0aDo4cHh9Lmh0bWw1LXlwYy1tb2R1bGV7bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246bGVmdH0uaHRtbDUteXBjLWFjdGlvbi1oZWFkaW5ne21hcmdpbi1ib3R0b206NXB4O2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiM5OTl9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtYWN0aW9uLWhlYWRpbmd7ZGlzcGxheTpub25lfS5odG1sNS15cGMtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXlwYy10aHVtYm5haWx7ZmxvYXQ6bGVmdH0uaHRtbDUteXBjLXRodW1ibmFpbCBpbWd7d2lkdGg6MTAwcHg7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmxhbmRzY2FwZXt3aWR0aDoxNjBweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy10aHVtYm5haWwgaW1ne3dpZHRoOjUwcHh9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6ODBweH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZ3t3aWR0aDoxNTBweDttYXJnaW46MCAxNXB4IDE4cHggMH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6MjQwcHh9Lmh0bWw1LXlwYy1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOjEwcHh9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLWRlc2NyaXB0aW9ue21hcmdpbi10b3A6MzhweH0uaHRtbDUteXBjLXB1cmNoYXNle2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzI3OTNlNn0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtcHVyY2hhc2V7bWFyZ2luOjE4cHggMDtwYWRkaW5nOjE1cHggMjBweDtib3JkZXItcmFkaXVzOjNweH0uaHRtbDUteXBjLXB1cmNoYXNlOmhvdmVye2JhY2tncm91bmQ6IzEyNmRiM30uaHRtbDUteXBjLXB1cmNoYXNlLmh0bWw1LXlwYy1yb3VuZGVke2JvcmRlci1yYWRpdXM6MThweH0uaHRtbDUteXBjLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2Njtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLW92ZXJsYXl7cGFkZGluZzo4cHg7bWFyZ2luLWxlZnQ6MjRweH0uaHRtbDUteXBjLWVuZHNjcmVlbntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzo1MXB4IDIxcHggMjFweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTt6LWluZGV4OjM2fS55dHAtc21hbGwtbW9kZSAuaHRtbDUteXBjLWVuZHNjcmVlbntwYWRkaW5nLXRvcDoyMXB4fS55dHAteXBjLWNsaWNrd3JhcC1vdmVybGF5e3BhZGRpbmc6MjVweCAyMHB4IDA7ei1pbmRleDo2OX0ueXRwLXlwYy1jbGlja3dyYXAtaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM4ODg7cGFkZGluZzowIDAgMTVweCA1cHg7Zm9udC1zaXplOjE4MiU7Zm9udC13ZWlnaHQ6NDAwfS55dHAteXBjLWNsaWNrd3JhcC1kZXNjcmlwdGlvbnttYXJnaW46MTVweCAwIDAgNXB4O2ZvbnQtc2l6ZToxMjclfS55dHAteXBjLWNsaWNrd3JhcC1jb25maXJte21hcmdpbjoyMHB4IDAgMCA1cHg7cGFkZGluZzo3cHggMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiMzN2Q7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC15cGMtY2xpY2t3cmFwLWNvbmZpcm06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjZjfS55dHAteXRvLXByZXJvbGwtbWVzc2FnZXtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2NTtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC15dG8tcHJlcm9sbCAueXRwLXl0by1wcmVyb2xsLW1lc3NhZ2V7ZGlzcGxheTpibG9ja31zZW50aW5lbHt9"}},"time_used":25,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":15,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.687Z","timestamp":1785123386687,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 26596\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:16 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:32 GMT\r\ncontent-type: font/woff2\r\nage: 397570\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":26596,"size_decoded":27409,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 26596, version 1.0","md5":"dae1850484b86d299c31bc08aaa563cf","sha1":"dca808d6d16965c40bfba4e4b3c8a819f843890d","sha256":"8f80f993e523f2e6c2d097552740fd26331658da23ffad31d26edcdd3aeec370","sha512":"69b34f2652aa731ad29fe49a8cea85ebe4ef402573a10048598667f94b7a7855e534121f22d7749b81762b3176f437de607745df82b71484c4ab7c9f8bfd40e9","ssdeep":"384:nYOl9Z/81DjYTaXQMfCMNASNEVM9mYQdpx1sLt/zEkNKxgmS8AXACAU:pJ8NY2XQk0omjdKvKxgCAXACAU","tlshash":"9ac2e13f487a2046c71227f8ee5fc9b571c360a35ab32345c26748650db0ea93f86776","first_seen":"2025-05-29T21:46:50.299968Z","last_seen":"2026-07-31T13:44:03.76869Z","times_seen":43246,"resource_available":false,"data":"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"}},"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":"alpha-achieveer.co/css/icomoon.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.310Z","timestamp":1785123385310,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/icomoon.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/css/style-main.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"749f-65fd8520-3e5b04d790b1bcf4;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3854\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29855,"size_decoded":4294,"mime_type":"text/css","magic":"ASCII text","md5":"193d96887f59ca490e1672508b721681","sha1":"90f335068725e6ae52693e48d8954a20d42ee866","sha256":"9e0f71d66b77a6228b0b9bccd1114dffdd7fd29de559cc22cf8fd7e8a6a1a6ed","sha512":"37292130723a3148b0d1f92d36cefcb7137ad76edaacbe5bd711ca24347ded80bba65cd5ea2b6b9dff6419f053ca50f1f8cbb133ee0b6b2d634fb9310dae9a9e","ssdeep":"384:5ovKIuaj8lev3D8+HzU86jLt174iq1gqq2:gF84v3DpYqV","tlshash":"04d267a4e9bd1c8113a1d0d5726b3602eb19b36ac90e6d1cf653fa8cbbc1695c5c23dc","first_seen":"2023-07-02T17:41:12Z","last_seen":"2026-07-27T12:40:24.593815Z","times_seen":97,"resource_available":false,"data":"QGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ2ljb21vb24nOwogICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ljb21vb24udHRmJykgZm9ybWF0KCd0cnVldHlwZScpOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKCltjbGFzc149Imljb21vb24tIl0sIFtjbGFzcyo9IiBpY29tb29uLSJdIHsKICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovCiAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7CiAgICBzcGVhazogbm9uZTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgbGluZS1oZWlnaHQ6IDE7CgogICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovCiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7Cn0KCi5pY29tb29uLWhvbWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwMCI7Cn0KLmljb21vb24taG9tZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwMSI7Cn0KLmljb21vb24taG9tZTM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwMiI7Cn0KLmljb21vb24tb2ZmaWNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MDMiOwp9Ci5pY29tb29uLW5ld3NwYXBlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTA0IjsKfQouaWNvbW9vbi1wZW5jaWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwNSI7Cn0KLmljb21vb24tcGVuY2lsMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTA2IjsKfQouaWNvbW9vbi1xdWlsbDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTA3IjsKfQouaWNvbW9vbi1wZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwOCI7Cn0KLmljb21vb24tYmxvZzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTA5IjsKfQouaWNvbW9vbi1leWVkcm9wcGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MGEiOwp9Ci5pY29tb29uLWRyb3BsZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwYiI7Cn0KLmljb21vb24tcGFpbnQtZm9ybWF0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MGMiOwp9Ci5pY29tb29uLWltYWdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MGQiOwp9Ci5pY29tb29uLWltYWdlczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTBlIjsKfQouaWNvbW9vbi1jYW1lcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwZiI7Cn0KLmljb21vb24taGVhZHBob25lczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTEwIjsKfQouaWNvbW9vbi1tdXNpYzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTExIjsKfQouaWNvbW9vbi1wbGF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MTIiOwp9Ci5pY29tb29uLWZpbG06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkxMyI7Cn0KLmljb21vb24tdmlkZW8tY2FtZXJhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MTQiOwp9Ci5pY29tb29uLWRpY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkxNSI7Cn0KLmljb21vb24tcGFjbWFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MTYiOwp9Ci5pY29tb29uLXNwYWRlczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTE3IjsKfQouaWNvbW9vbi1jbHViczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTE4IjsKfQouaWNvbW9vbi1kaWFtb25kczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTE5IjsKfQouaWNvbW9vbi1idWxsaG9ybjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTFhIjsKfQouaWNvbW9vbi1jb25uZWN0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MWIiOwp9Ci5pY29tb29uLXBvZGNhc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkxYyI7Cn0KLmljb21vb24tZmVlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTFkIjsKfQouaWNvbW9vbi1taWM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkxZSI7Cn0KLmljb21vb24tYm9vazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTFmIjsKfQouaWNvbW9vbi1ib29rczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTIwIjsKfQouaWNvbW9vbi1saWJyYXJ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MjEiOwp9Ci5pY29tb29uLWZpbGUtdGV4dDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTIyIjsKfQouaWNvbW9vbi1wcm9maWxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MjMiOwp9Ci5pY29tb29uLWZpbGUtZW1wdHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkyNCI7Cn0KLmljb21vb24tZmlsZXMtZW1wdHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkyNSI7Cn0KLmljb21vb24tZmlsZS10ZXh0MjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTI2IjsKfQouaWNvbW9vbi1maWxlLXBpY3R1cmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkyNyI7Cn0KLmljb21vb24tZmlsZS1tdXNpYzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTI4IjsKfQouaWNvbW9vbi1maWxlLXBsYXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkyOSI7Cn0KLmljb21vb24tZmlsZS12aWRlbzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTJhIjsKfQouaWNvbW9vbi1maWxlLXppcDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTJiIjsKfQouaWNvbW9vbi1jb3B5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MmMiOwp9Ci5pY29tb29uLXBhc3RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MmQiOwp9Ci5pY29tb29uLXN0YWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MmUiOwp9Ci5pY29tb29uLWZvbGRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTJmIjsKfQouaWNvbW9vbi1mb2xkZXItb3BlbjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTMwIjsKfQouaWNvbW9vbi1mb2xkZXItcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxlOTMxIjsKfQouaWNvbW9vbi1mb2xkZXItbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzMiI7Cn0KLmljb21vb24tZm9sZGVyLWRvd25sb2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MzMiOwp9Ci5pY29tb29uLWZvbGRlci11cGxvYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzNCI7Cn0KLmljb21vb24tcHJpY2UtdGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MzUiOwp9Ci5pY29tb29uLXByaWNlLXRhZ3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzNiI7Cn0KLmljb21vb24tYmFyY29kZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTM3IjsKfQouaWNvbW9vbi1xcmNvZGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzOCI7Cn0KLmljb21vb24tdGlja2V0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MzkiOwp9Ci5pY29tb29uLWNhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzYSI7Cn0KLmljb21vb24tY29pbi1kb2xsYXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzYiI7Cn0KLmljb21vb24tY29pbi1ldXJvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5M2MiOwp9Ci5pY29tb29uLWNvaW4tcG91bmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzZCI7Cn0KLmljb21vb24tY29pbi15ZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzZSI7Cn0KLmljb21vb24tY3JlZGl0LWNhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzZiI7Cn0KLmljb21vb24tY2FsY3VsYXRvcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTQwIjsKfQouaWNvbW9vbi1saWZlYnVveTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTQxIjsKfQouaWNvbW9vbi1waG9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTQyIjsKfQouaWNvbW9vbi1waG9uZS1oYW5nLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NDMiOwp9Ci5pY29tb29uLWFkZHJlc3MtYm9vazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTQ0IjsKfQouaWNvbW9vbi1lbnZlbG9wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NDUiOwp9Ci5pY29tb29uLXB1c2hwaW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0NiI7Cn0KLmljb21vb24tbG9jYXRpb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0NyI7Cn0KLmljb21vb24tbG9jYXRpb24yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NDgiOwp9Ci5pY29tb29uLWNvbXBhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0OSI7Cn0KLmljb21vb24tY29tcGFzczI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0YSI7Cn0KLmljb21vb24tbWFwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NGIiOwp9Ci5pY29tb29uLW1hcDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0YyI7Cn0KLmljb21vb24taGlzdG9yeTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTRkIjsKfQouaWNvbW9vbi1jbG9jazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTRlIjsKfQouaWNvbW9vbi1jbG9jazI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0ZiI7Cn0KLmljb21vb24tYWxhcm06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1MCI7Cn0KLmljb21vb24tYmVsbDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTUxIjsKfQouaWNvbW9vbi1zdG9wd2F0Y2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1MiI7Cn0KLmljb21vb24tY2FsZW5kYXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1MyI7Cn0KLmljb21vb24tcHJpbnRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTU0IjsKfQouaWNvbW9vbi1rZXlib2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTU1IjsKfQouaWNvbW9vbi1kaXNwbGF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NTYiOwp9Ci5pY29tb29uLWxhcHRvcDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTU3IjsKfQouaWNvbW9vbi1tb2JpbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1OCI7Cn0KLmljb21vb24tbW9iaWxlMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTU5IjsKfQouaWNvbW9vbi10YWJsZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1YSI7Cn0KLmljb21vb24tdHY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1YiI7Cn0KLmljb21vb24tZHJhd2VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NWMiOwp9Ci5pY29tb29uLWRyYXdlcjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1ZCI7Cn0KLmljb21vb24tYm94LWFkZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTVlIjsKfQouaWNvbW9vbi1ib3gtcmVtb3ZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NWYiOwp9Ci5pY29tb29uLWRvd25sb2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NjAiOwp9Ci5pY29tb29uLXVwbG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTYxIjsKfQouaWNvbW9vbi1mbG9wcHktZGlzazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTYyIjsKfQouaWNvbW9vbi1kcml2ZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTYzIjsKfQouaWNvbW9vbi1kYXRhYmFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTY0IjsKfQouaWNvbW9vbi11bmRvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NjUiOwp9Ci5pY29tb29uLXJlZG86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk2NiI7Cn0KLmljb21vb24tdW5kbzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk2NyI7Cn0KLmljb21vb24tcmVkbzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk2OCI7Cn0KLmljb21vb24tZm9yd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTY5IjsKfQouaWNvbW9vbi1yZXBseTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTZhIjsKfQouaWNvbW9vbi1idWJibGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk2YiI7Cn0KLmljb21vb24tYnViYmxlczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTZjIjsKfQouaWNvbW9vbi1idWJibGVzMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTZkIjsKfQouaWNvbW9vbi1idWJibGUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NmUiOwp9Ci5pY29tb29uLWJ1YmJsZXMzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NmYiOwp9Ci5pY29tb29uLWJ1YmJsZXM0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NzAiOwp9Ci5pY29tb29uLXVzZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk3MSI7Cn0KLmljb21vb24tdXNlcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk3MiI7Cn0KLmljb21vb24tdXNlci1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NzMiOwp9Ci5pY29tb29uLXVzZXItbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk3NCI7Cn0KLmljb21vb24tdXNlci1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTc1IjsKfQouaWNvbW9vbi11c2VyLXRpZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTc2IjsKfQouaWNvbW9vbi1xdW90ZXMtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTc3IjsKfQouaWNvbW9vbi1xdW90ZXMtcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk3OCI7Cn0KLmljb21vb24taG91ci1nbGFzczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTc5IjsKfQouaWNvbW9vbi1zcGlubmVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2EiOwp9Ci5pY29tb29uLXNwaW5uZXIyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2IiOwp9Ci5pY29tb29uLXNwaW5uZXIzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2MiOwp9Ci5pY29tb29uLXNwaW5uZXI0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2QiOwp9Ci5pY29tb29uLXNwaW5uZXI1OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2UiOwp9Ci5pY29tb29uLXNwaW5uZXI2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2YiOwp9Ci5pY29tb29uLXNwaW5uZXI3OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ODAiOwp9Ci5pY29tb29uLXNwaW5uZXI4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ODEiOwp9Ci5pY29tb29uLXNwaW5uZXI5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ODIiOwp9Ci5pY29tb29uLXNwaW5uZXIxMDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTgzIjsKfQouaWNvbW9vbi1zcGlubmVyMTE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk4NCI7Cn0KLmljb21vb24tYmlub2N1bGFyczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTg1IjsKfQouaWNvbW9vbi1zZWFyY2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk4NiI7Cn0KLmljb21vb24tem9vbS1pbjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTg3IjsKfQouaWNvbW9vbi16b29tLW91dDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTg4IjsKfQouaWNvbW9vbi1lbmxhcmdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ODkiOwp9Ci5pY29tb29uLXNocmluazpiZWZvcmUgewogICAgY29udGVudDogIlxlOThhIjsKfQouaWNvbW9vbi1lbmxhcmdlMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOThiIjsKfQouaWNvbW9vbi1zaHJpbmsyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OGMiOwp9Ci5pY29tb29uLWtleTpiZWZvcmUgewogICAgY29udGVudDogIlxlOThkIjsKfQouaWNvbW9vbi1rZXkyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OGUiOwp9Ci5pY29tb29uLWxvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk4ZiI7Cn0KLmljb21vb24tdW5sb2NrZWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5MCI7Cn0KLmljb21vb24td3JlbmNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTEiOwp9Ci5pY29tb29uLWVxdWFsaXplcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTkyIjsKfQouaWNvbW9vbi1lcXVhbGl6ZXIyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTMiOwp9Ci5pY29tb29uLWNvZzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTk0IjsKfQouaWNvbW9vbi1jb2dzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTUiOwp9Ci5pY29tb29uLWhhbW1lcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTk2IjsKfQouaWNvbW9vbi1tYWdpYy13YW5kOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTciOwp9Ci5pY29tb29uLWFpZC1raXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5OCI7Cn0KLmljb21vb24tYnVnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTkiOwp9Ci5pY29tb29uLXBpZS1jaGFydDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTlhIjsKfQouaWNvbW9vbi1zdGF0cy1kb3RzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OWIiOwp9Ci5pY29tb29uLXN0YXRzLWJhcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5YyI7Cn0KLmljb21vb24tc3RhdHMtYmFyczI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5ZCI7Cn0KLmljb21vb24tdHJvcGh5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OWUiOwp9Ci5pY29tb29uLWdpZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5ZiI7Cn0KLmljb21vb24tZ2xhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlhMCI7Cn0KLmljb21vb24tZ2xhc3MyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YTEiOwp9Ci5pY29tb29uLW11ZzpiZWZvcmUgewogICAgY29udGVudDogIlxlOWEyIjsKfQouaWNvbW9vbi1zcG9vbi1rbmlmZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWEzIjsKfQouaWNvbW9vbi1sZWFmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YTQiOwp9Ci5pY29tb29uLXJvY2tldDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWE1IjsKfQouaWNvbW9vbi1tZXRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWE2IjsKfQouaWNvbW9vbi1tZXRlcjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlhNyI7Cn0KLmljb21vb24taGFtbWVyMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWE4IjsKfQouaWNvbW9vbi1maXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YTkiOwp9Ci5pY29tb29uLWxhYjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWFhIjsKfQouaWNvbW9vbi1tYWduZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlhYiI7Cn0KLmljb21vb24tYmluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YWMiOwp9Ci5pY29tb29uLWJpbjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlhZCI7Cn0KLmljb21vb24tYnJpZWZjYXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YWUiOwp9Ci5pY29tb29uLWFpcnBsYW5lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YWYiOwp9Ci5pY29tb29uLXRydWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjAiOwp9Ci5pY29tb29uLXJvYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTliMSI7Cn0KLmljb21vb24tYWNjZXNzaWJpbGl0eTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWIyIjsKfQouaWNvbW9vbi10YXJnZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTliMyI7Cn0KLmljb21vb24tc2hpZWxkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjQiOwp9Ci5pY29tb29uLXBvd2VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjUiOwp9Ci5pY29tb29uLXN3aXRjaDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWI2IjsKfQouaWNvbW9vbi1wb3dlci1jb3JkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjciOwp9Ci5pY29tb29uLWNsaXBib2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWI4IjsKfQouaWNvbW9vbi1saXN0LW51bWJlcmVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjkiOwp9Ci5pY29tb29uLWxpc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTliYSI7Cn0KLmljb21vb24tbGlzdDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTliYiI7Cn0KLmljb21vb24tdHJlZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWJjIjsKfQouaWNvbW9vbi1tZW51OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YmQiOwp9Ci5pY29tb29uLW1lbnUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YmUiOwp9Ci5pY29tb29uLW1lbnUzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YmYiOwp9Ci5pY29tb29uLW1lbnU0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YzAiOwp9Ci5pY29tb29uLWNsb3VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YzEiOwp9Ci5pY29tb29uLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YzIiOwp9Ci5pY29tb29uLWNsb3VkLXVwbG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWMzIjsKfQouaWNvbW9vbi1jbG91ZC1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxlOWM0IjsKfQouaWNvbW9vbi1kb3dubG9hZDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljNSI7Cn0KLmljb21vb24tdXBsb2FkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWM2IjsKfQouaWNvbW9vbi1kb3dubG9hZDM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljNyI7Cn0KLmljb21vb24tdXBsb2FkMzpiZWZvcmUgewogICAgY29udGVudDogIlxlOWM4IjsKfQouaWNvbW9vbi1zcGhlcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljOSI7Cn0KLmljb21vb24tZWFydGg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljYSI7Cn0KLmljb21vb24tbGluazpiZWZvcmUgewogICAgY29udGVudDogIlxlOWNiIjsKfQouaWNvbW9vbi1mbGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5Y2MiOwp9Ci5pY29tb29uLWF0dGFjaG1lbnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljZCI7Cn0KLmljb21vb24tZXllOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5Y2UiOwp9Ci5pY29tb29uLWV5ZS1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5Y2YiOwp9Ci5pY29tb29uLWV5ZS1taW51czpiZWZvcmUgewogICAgY29udGVudDogIlxlOWQwIjsKfQouaWNvbW9vbi1leWUtYmxvY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWQxIjsKfQouaWNvbW9vbi1ib29rbWFyazpiZWZvcmUgewogICAgY29udGVudDogIlxlOWQyIjsKfQouaWNvbW9vbi1ib29rbWFya3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkMyI7Cn0KLmljb21vb24tc3VuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZDQiOwp9Ci5pY29tb29uLWNvbnRyYXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZDUiOwp9Ci5pY29tb29uLWJyaWdodG5lc3MtY29udHJhc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkNiI7Cn0KLmljb21vb24tc3Rhci1lbXB0eTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWQ3IjsKfQouaWNvbW9vbi1zdGFyLWhhbGY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkOCI7Cn0KLmljb21vb24tc3Rhci1mdWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZDkiOwp9Ci5pY29tb29uLWhlYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZGEiOwp9Ci5pY29tb29uLWhlYXJ0LWJyb2tlbjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWRiIjsKfQouaWNvbW9vbi1tYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkYyI7Cn0KLmljb21vb24td29tYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkZCI7Cn0KLmljb21vb24tbWFuLXdvbWFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZGUiOwp9Ci5pY29tb29uLWhhcHB5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZGYiOwp9Ci5pY29tb29uLWhhcHB5MjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWUwIjsKfQouaWNvbW9vbi1zbWlsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWUxIjsKfQouaWNvbW9vbi1zbWlsZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllMiI7Cn0KLmljb21vb24tdG9uZ3VlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZTMiOwp9Ci5pY29tb29uLXRvbmd1ZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllNCI7Cn0KLmljb21vb24tc2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZTUiOwp9Ci5pY29tb29uLXNhZDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllNiI7Cn0KLmljb21vb24td2luazpiZWZvcmUgewogICAgY29udGVudDogIlxlOWU3IjsKfQouaWNvbW9vbi13aW5rMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWU4IjsKfQouaWNvbW9vbi1ncmluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZTkiOwp9Ci5pY29tb29uLWdyaW4yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZWEiOwp9Ci5pY29tb29uLWNvb2w6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllYiI7Cn0KLmljb21vb24tY29vbDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllYyI7Cn0KLmljb21vb24tYW5ncnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllZCI7Cn0KLmljb21vb24tYW5ncnkyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZWUiOwp9Ci5pY29tb29uLWV2aWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllZiI7Cn0KLmljb21vb24tZXZpbDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmMCI7Cn0KLmljb21vb24tc2hvY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWYxIjsKfQouaWNvbW9vbi1zaG9ja2VkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWYyIjsKfQouaWNvbW9vbi1iYWZmbGVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjMiOwp9Ci5pY29tb29uLWJhZmZsZWQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjQiOwp9Ci5pY29tb29uLWNvbmZ1c2VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjUiOwp9Ci5pY29tb29uLWNvbmZ1c2VkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWY2IjsKfQouaWNvbW9vbi1uZXV0cmFsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjciOwp9Ci5pY29tb29uLW5ldXRyYWwyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjgiOwp9Ci5pY29tb29uLWhpcHN0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmOSI7Cn0KLmljb21vb24taGlwc3RlcjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmYSI7Cn0KLmljb21vb24td29uZGVyaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZmIiOwp9Ci5pY29tb29uLXdvbmRlcmluZzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmYyI7Cn0KLmljb21vb24tc2xlZXB5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZmQiOwp9Ci5pY29tb29uLXNsZWVweTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmZSI7Cn0KLmljb21vb24tZnJ1c3RyYXRlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWZmIjsKfQouaWNvbW9vbi1mcnVzdHJhdGVkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTAwIjsKfQouaWNvbW9vbi1jcnlpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwMSI7Cn0KLmljb21vb24tY3J5aW5nMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTAyIjsKfQouaWNvbW9vbi1wb2ludC11cDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTAzIjsKfQouaWNvbW9vbi1wb2ludC1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTA0IjsKfQouaWNvbW9vbi1wb2ludC1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMDUiOwp9Ci5pY29tb29uLXBvaW50LWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwNiI7Cn0KLmljb21vb24td2FybmluZzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTA3IjsKfQouaWNvbW9vbi1ub3RpZmljYXRpb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwOCI7Cn0KLmljb21vb24tcXVlc3Rpb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwOSI7Cn0KLmljb21vb24tcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxlYTBhIjsKfQouaWNvbW9vbi1taW51czpiZWZvcmUgewogICAgY29udGVudDogIlxlYTBiIjsKfQouaWNvbW9vbi1pbmZvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMGMiOwp9Ci5pY29tb29uLWNhbmNlbC1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwZCI7Cn0KLmljb21vb24tYmxvY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTBlIjsKfQouaWNvbW9vbi1jcm9zczpiZWZvcmUgewogICAgY29udGVudDogIlxlYTBmIjsKfQouaWNvbW9vbi1jaGVja21hcms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExMCI7Cn0KLmljb21vb24tY2hlY2ttYXJrMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTExIjsKfQouaWNvbW9vbi1zcGVsbC1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxlYTEyIjsKfQouaWNvbW9vbi1lbnRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTEzIjsKfQouaWNvbW9vbi1leGl0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMTQiOwp9Ci5pY29tb29uLXBsYXkyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMTUiOwp9Ci5pY29tb29uLXBhdXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMTYiOwp9Ci5pY29tb29uLXN0b3A6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExNyI7Cn0KLmljb21vb24tcHJldmlvdXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExOCI7Cn0KLmljb21vb24tbmV4dDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTE5IjsKfQouaWNvbW9vbi1iYWNrd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTFhIjsKfQouaWNvbW9vbi1mb3J3YXJkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTFiIjsKfQouaWNvbW9vbi1wbGF5MzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTFjIjsKfQouaWNvbW9vbi1wYXVzZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExZCI7Cn0KLmljb21vb24tc3RvcDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExZSI7Cn0KLmljb21vb24tYmFja3dhcmQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMWYiOwp9Ci5pY29tb29uLWZvcndhcmQzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjAiOwp9Ci5pY29tb29uLWZpcnN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjEiOwp9Ci5pY29tb29uLWxhc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEyMiI7Cn0KLmljb21vb24tcHJldmlvdXMyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjMiOwp9Ci5pY29tb29uLW5leHQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjQiOwp9Ci5pY29tb29uLWVqZWN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjUiOwp9Ci5pY29tb29uLXZvbHVtZS1oaWdoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjYiOwp9Ci5pY29tb29uLXZvbHVtZS1tZWRpdW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEyNyI7Cn0KLmljb21vb24tdm9sdW1lLWxvdzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTI4IjsKfQouaWNvbW9vbi12b2x1bWUtbXV0ZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTI5IjsKfQouaWNvbW9vbi12b2x1bWUtbXV0ZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEyYSI7Cn0KLmljb21vb24tdm9sdW1lLWluY3JlYXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMmIiOwp9Ci5pY29tb29uLXZvbHVtZS1kZWNyZWFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTJjIjsKfQouaWNvbW9vbi1sb29wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMmQiOwp9Ci5pY29tb29uLWxvb3AyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMmUiOwp9Ci5pY29tb29uLWluZmluaXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMmYiOwp9Ci5pY29tb29uLXNodWZmbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzMCI7Cn0KLmljb21vb24tYXJyb3ctdXAtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTMxIjsKfQouaWNvbW9vbi1hcnJvdy11cDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTMyIjsKfQouaWNvbW9vbi1hcnJvdy11cC1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTMzIjsKfQouaWNvbW9vbi1hcnJvdy1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTM0IjsKfQouaWNvbW9vbi1hcnJvdy1kb3duLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMzUiOwp9Ci5pY29tb29uLWFycm93LWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzNiI7Cn0KLmljb21vb24tYXJyb3ctZG93bi1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMzciOwp9Ci5pY29tb29uLWFycm93LWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzOCI7Cn0KLmljb21vb24tYXJyb3ctdXAtbGVmdDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzOSI7Cn0KLmljb21vb24tYXJyb3ctdXAyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhM2EiOwp9Ci5pY29tb29uLWFycm93LXVwLXJpZ2h0MjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTNiIjsKfQouaWNvbW9vbi1hcnJvdy1yaWdodDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzYyI7Cn0KLmljb21vb24tYXJyb3ctZG93bi1yaWdodDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzZCI7Cn0KLmljb21vb24tYXJyb3ctZG93bjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzZSI7Cn0KLmljb21vb24tYXJyb3ctZG93bi1sZWZ0MjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTNmIjsKfQouaWNvbW9vbi1hcnJvdy1sZWZ0MjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTQwIjsKfQouaWNvbW9vbi1jaXJjbGUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE0MSI7Cn0KLmljb21vb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNDIiOwp9Ci5pY29tb29uLWNpcmNsZS1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNDMiOwp9Ci5pY29tb29uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNDQiOwp9Ci5pY29tb29uLXRhYjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTQ1IjsKfQouaWNvbW9vbi1tb3ZlLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNDYiOwp9Ci5pY29tb29uLW1vdmUtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTQ3IjsKfQouaWNvbW9vbi1zb3J0LWFscGhhLWFzYzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTQ4IjsKfQouaWNvbW9vbi1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE0OSI7Cn0KLmljb21vb24tc29ydC1udW1lcmljLWFzYzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTRhIjsKfQouaWNvbW9vbi1zb3J0LW51bWJlcmljLWRlc2M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE0YiI7Cn0KLmljb21vb24tc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNGMiOwp9Ci5pY29tb29uLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE0ZCI7Cn0KLmljb21vb24tY29tbWFuZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTRlIjsKfQouaWNvbW9vbi1zaGlmdDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTRmIjsKfQouaWNvbW9vbi1jdHJsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTAiOwp9Ci5pY29tb29uLW9wdDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTUxIjsKfQouaWNvbW9vbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTIiOwp9Ci5pY29tb29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTUzIjsKfQouaWNvbW9vbi1yYWRpby1jaGVja2VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTQiOwp9Ci5pY29tb29uLXJhZGlvLWNoZWNrZWQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTUiOwp9Ci5pY29tb29uLXJhZGlvLXVuY2hlY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTU2IjsKfQouaWNvbW9vbi1jcm9wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTciOwp9Ci5pY29tb29uLW1ha2UtZ3JvdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE1OCI7Cn0KLmljb21vb24tdW5ncm91cDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTU5IjsKfQouaWNvbW9vbi1zY2lzc29yczpiZWZvcmUgewogICAgY29udGVudDogIlxlYTVhIjsKfQouaWNvbW9vbi1maWx0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE1YiI7Cn0KLmljb21vb24tZm9udDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTVjIjsKfQouaWNvbW9vbi1saWdhdHVyZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTVkIjsKfQouaWNvbW9vbi1saWdhdHVyZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE1ZSI7Cn0KLmljb21vb24tdGV4dC1oZWlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE1ZiI7Cn0KLmljb21vb24tdGV4dC13aWR0aDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTYwIjsKfQouaWNvbW9vbi1mb250LXNpemU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2MSI7Cn0KLmljb21vb24tYm9sZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTYyIjsKfQouaWNvbW9vbi11bmRlcmxpbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2MyI7Cn0KLmljb21vb24taXRhbGljOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNjQiOwp9Ci5pY29tb29uLXN0cmlrZXRocm91Z2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2NSI7Cn0KLmljb21vb24tb21lZ2E6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2NiI7Cn0KLmljb21vb24tc2lnbWE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2NyI7Cn0KLmljb21vb24tcGFnZS1icmVhazpiZWZvcmUgewogICAgY29udGVudDogIlxlYTY4IjsKfQouaWNvbW9vbi1zdXBlcnNjcmlwdDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTY5IjsKfQouaWNvbW9vbi1zdWJzY3JpcHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2YSI7Cn0KLmljb21vb24tc3VwZXJzY3JpcHQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNmIiOwp9Ci5pY29tb29uLXN1YnNjcmlwdDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2YyI7Cn0KLmljb21vb24tdGV4dC1jb2xvcjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTZkIjsKfQouaWNvbW9vbi1wYWdlYnJlYWs6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2ZSI7Cn0KLmljb21vb24tY2xlYXItZm9ybWF0dGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTZmIjsKfQouaWNvbW9vbi10YWJsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTcwIjsKfQouaWNvbW9vbi10YWJsZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3MSI7Cn0KLmljb21vb24taW5zZXJ0LXRlbXBsYXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzIiOwp9Ci5pY29tb29uLXBpbGNyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3MyI7Cn0KLmljb21vb24tbHRyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzQiOwp9Ci5pY29tb29uLXJ0bDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTc1IjsKfQouaWNvbW9vbi1zZWN0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzYiOwp9Ci5pY29tb29uLXBhcmFncmFwaC1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzciOwp9Ci5pY29tb29uLXBhcmFncmFwaC1jZW50ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3OCI7Cn0KLmljb21vb24tcGFyYWdyYXBoLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzkiOwp9Ci5pY29tb29uLXBhcmFncmFwaC1qdXN0aWZ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhN2EiOwp9Ci5pY29tb29uLWluZGVudC1pbmNyZWFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTdiIjsKfQouaWNvbW9vbi1pbmRlbnQtZGVjcmVhc2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3YyI7Cn0KLmljb21vb24tc2hhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3ZCI7Cn0KLmljb21vb24tbmV3LXRhYjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTdlIjsKfQouaWNvbW9vbi1lbWJlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTdmIjsKfQouaWNvbW9vbi1lbWJlZDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4MCI7Cn0KLmljb21vb24tdGVybWluYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4MSI7Cn0KLmljb21vb24tc2hhcmUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhODIiOwp9Ci5pY29tb29uLW1haWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4MyI7Cn0KLmljb21vb24tbWFpbDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4NCI7Cn0KLmljb21vb24tbWFpbDM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4NSI7Cn0KLmljb21vb24tbWFpbDQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4NiI7Cn0KLmljb21vb24tYW1hem9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhODciOwp9Ci5pY29tb29uLWdvb2dsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTg4IjsKfQouaWNvbW9vbi1nb29nbGUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhODkiOwp9Ci5pY29tb29uLWdvb2dsZTM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4YSI7Cn0KLmljb21vb24tZ29vZ2xlLXBsdXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4YiI7Cn0KLmljb21vb24tZ29vZ2xlLXBsdXMyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOGMiOwp9Ci5pY29tb29uLWdvb2dsZS1wbHVzMzpiZWZvcmUgewogICAgY29udGVudDogIlxlYThkIjsKfQouaWNvbW9vbi1oYW5nb3V0czpiZWZvcmUgewogICAgY29udGVudDogIlxlYThlIjsKfQouaWNvbW9vbi1nb29nbGUtZHJpdmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4ZiI7Cn0KLmljb21vb24tZmFjZWJvb2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE5MCI7Cn0KLmljb21vb24tZmFjZWJvb2syOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOTEiOwp9Ci5pY29tb29uLWluc3RhZ3JhbTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTkyIjsKfQouaWNvbW9vbi13aGF0c2FwcDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTkzIjsKfQouaWNvbW9vbi1zcG90aWZ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOTQiOwp9Ci5pY29tb29uLXRlbGVncmFtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOTUiOwp9Ci5pY29tb29uLXR3aXR0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE5NiI7Cn0KLmljb21vb24tdmluZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTk3IjsKfQouaWNvbW9vbi12azpiZWZvcmUgewogICAgY29udGVudDogIlxlYTk4IjsKfQouaWNvbW9vbi1yZW5yZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE5OSI7Cn0KLmljb21vb24tc2luYS13ZWlibzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTlhIjsKfQouaWNvbW9vbi1yc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE5YiI7Cn0KLmljb21vb24tcnNzMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTljIjsKfQouaWNvbW9vbi15b3V0dWJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOWQiOwp9Ci5pY29tb29uLXlvdXR1YmUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOWUiOwp9Ci5pY29tb29uLXR3aXRjaDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTlmIjsKfQouaWNvbW9vbi12aW1lbzpiZWZvcmUgewogICAgY29udGVudDogIlxlYWEwIjsKfQouaWNvbW9vbi12aW1lbzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhMSI7Cn0KLmljb21vb24tbGFueXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYTIiOwp9Ci5pY29tb29uLWZsaWNrcjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWEzIjsKfQouaWNvbW9vbi1mbGlja3IyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYTQiOwp9Ci5pY29tb29uLWZsaWNrcjM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhNSI7Cn0KLmljb21vb24tZmxpY2tyNDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWE2IjsKfQouaWNvbW9vbi1kcmliYmJsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWE3IjsKfQouaWNvbW9vbi1iZWhhbmNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYTgiOwp9Ci5pY29tb29uLWJlaGFuY2UyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYTkiOwp9Ci5pY29tb29uLWRldmlhbnRhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhYSI7Cn0KLmljb21vb24tNTAwcHg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhYiI7Cn0KLmljb21vb24tc3RlYW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhYyI7Cn0KLmljb21vb24tc3RlYW0yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYWQiOwp9Ci5pY29tb29uLWRyb3Bib3g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhZSI7Cn0KLmljb21vb24tb25lZHJpdmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhZiI7Cn0KLmljb21vb24tZ2l0aHViOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYjAiOwp9Ci5pY29tb29uLW5wbTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWIxIjsKfQouaWNvbW9vbi1iYXNlY2FtcDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWIyIjsKfQouaWNvbW9vbi10cmVsbG86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiMyI7Cn0KLmljb21vb24td29yZHByZXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYjQiOwp9Ci5pY29tb29uLWpvb21sYTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWI1IjsKfQouaWNvbW9vbi1lbGxvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYjYiOwp9Ci5pY29tb29uLWJsb2dnZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiNyI7Cn0KLmljb21vb24tYmxvZ2dlcjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiOCI7Cn0KLmljb21vb24tdHVtYmxyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYjkiOwp9Ci5pY29tb29uLXR1bWJscjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiYSI7Cn0KLmljb21vb24teWFob286YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiYiI7Cn0KLmljb21vb24teWFob28yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYmMiOwp9Ci5pY29tb29uLXR1eDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWJkIjsKfQouaWNvbW9vbi1hcHBsZWluYzpiZWZvcmUgewogICAgY29udGVudDogIlxlYWJlIjsKfQouaWNvbW9vbi1maW5kZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiZiI7Cn0KLmljb21vb24tYW5kcm9pZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWMwIjsKfQouaWNvbW9vbi13aW5kb3dzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzEiOwp9Ci5pY29tb29uLXdpbmRvd3M4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzIiOwp9Ci5pY29tb29uLXNvdW5kY2xvdWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjMyI7Cn0KLmljb21vb24tc291bmRjbG91ZDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjNCI7Cn0KLmljb21vb24tc2t5cGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjNSI7Cn0KLmljb21vb24tcmVkZGl0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzYiOwp9Ci5pY29tb29uLWhhY2tlcm5ld3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjNyI7Cn0KLmljb21vb24td2lraXBlZGlhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzgiOwp9Ci5pY29tb29uLWxpbmtlZGluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzkiOwp9Ci5pY29tb29uLWxpbmtlZGluMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWNhIjsKfQouaWNvbW9vbi1sYXN0Zm06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjYiI7Cn0KLmljb21vb24tbGFzdGZtMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWNjIjsKfQouaWNvbW9vbi1kZWxpY2lvdXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjZCI7Cn0KLmljb21vb24tc3R1bWJsZXVwb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjZSI7Cn0KLmljb21vb24tc3R1bWJsZXVwb24yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhY2YiOwp9Ci5pY29tb29uLXN0YWNrb3ZlcmZsb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFkMCI7Cn0KLmljb21vb24tcGludGVyZXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZDEiOwp9Ci5pY29tb29uLXBpbnRlcmVzdDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFkMiI7Cn0KLmljb21vb24teGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxlYWQzIjsKfQouaWNvbW9vbi14aW5nMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWQ0IjsKfQouaWNvbW9vbi1mbGF0dHI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFkNSI7Cn0KLmljb21vb24tZm91cnNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWQ2IjsKfQouaWNvbW9vbi15ZWxwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZDciOwp9Ci5pY29tb29uLXBheXBhbDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWQ4IjsKfQouaWNvbW9vbi1jaHJvbWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFkOSI7Cn0KLmljb21vb24tZmlyZWZveDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRhIjsKfQouaWNvbW9vbi1JRTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRiIjsKfQouaWNvbW9vbi1lZGdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZGMiOwp9Ci5pY29tb29uLXNhZmFyaTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRkIjsKfQouaWNvbW9vbi1vcGVyYTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRlIjsKfQouaWNvbW9vbi1maWxlLXBkZjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRmIjsKfQouaWNvbW9vbi1maWxlLW9wZW5vZmZpY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlMCI7Cn0KLmljb21vb24tZmlsZS13b3JkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZTEiOwp9Ci5pY29tb29uLWZpbGUtZXhjZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlMiI7Cn0KLmljb21vb24tbGlicmVvZmZpY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlMyI7Cn0KLmljb21vb24taHRtbC1maXZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZTQiOwp9Ci5pY29tb29uLWh0bWwtZml2ZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlNSI7Cn0KLmljb21vb24tY3NzMzpiZWZvcmUgewogICAgY29udGVudDogIlxlYWU2IjsKfQouaWNvbW9vbi1naXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlNyI7Cn0KLmljb21vb24tY29kZXBlbjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWU4IjsKfQouaWNvbW9vbi1zdmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlOSI7Cn0KLmljb21vb24tSWNvTW9vbjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWVhIjsKfQouaWNvbW9vbi11bmkyMTpiZWZvcmUgewogICAgY29udGVudDogIlwyMSI7Cn0KLmljb21vb24tdW5pMjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMjIiOwp9Ci5pY29tb29uLXVuaTIzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDIzIjsKfQouaWNvbW9vbi11bmkyNDpiZWZvcmUgewogICAgY29udGVudDogIlwyNCI7Cn0KLmljb21vb24tdW5pMjU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMjUiOwp9Ci5pY29tb29uLXVuaTI2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDI2IjsKfQouaWNvbW9vbi11bmkyNzpiZWZvcmUgewogICAgY29udGVudDogIlwyNyI7Cn0KLmljb21vb24tdW5pMjg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMjgiOwp9Ci5pY29tb29uLXVuaTI5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDI5IjsKfQouaWNvbW9vbi11bmkyQTpiZWZvcmUgewogICAgY29udGVudDogIlwyYSI7Cn0KLmljb21vb24tdW5pMkI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMmIiOwp9Ci5pY29tb29uLXVuaTJDOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDJjIjsKfQouaWNvbW9vbi11bmkyRDpiZWZvcmUgewogICAgY29udGVudDogIlwyZCI7Cn0KLmljb21vb24tdW5pMkU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMmUiOwp9Ci5pY29tb29uLXVuaTJGOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDJmIjsKfQouaWNvbW9vbi11bmkzMDpiZWZvcmUgewogICAgY29udGVudDogIlwzMCI7Cn0KLmljb21vb24tdW5pMzE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMzEiOwp9Ci5pY29tb29uLXVuaTMyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDMyIjsKfQouaWNvbW9vbi11bmkzMzpiZWZvcmUgewogICAgY29udGVudDogIlwzMyI7Cn0KLmljb21vb24tdW5pMzQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMzQiOwp9Ci5pY29tb29uLXVuaTM1OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDM1IjsKfQouaWNvbW9vbi11bmkzNjpiZWZvcmUgewogICAgY29udGVudDogIlwzNiI7Cn0KLmljb21vb24tdW5pMzc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMzciOwp9Ci5pY29tb29uLXVuaTM4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDM4IjsKfQouaWNvbW9vbi11bmkzOTpiZWZvcmUgewogICAgY29udGVudDogIlwzOSI7Cn0KLmljb21vb24tdW5pM0E6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcM2EiOwp9Ci5pY29tb29uLXVuaTNCOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDNiIjsKfQouaWNvbW9vbi11bmkzQzpiZWZvcmUgewogICAgY29udGVudDogIlwzYyI7Cn0KLmljb21vb24tdW5pM0Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcM2QiOwp9Ci5pY29tb29uLXVuaTNFOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDNlIjsKfQouaWNvbW9vbi11bmkzRjpiZWZvcmUgewogICAgY29udGVudDogIlwzZiI7Cn0KLmljb21vb24tdW5pNDA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNDAiOwp9Ci5pY29tb29uLXVuaTQxOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDQxIjsKfQouaWNvbW9vbi11bmk0MjpiZWZvcmUgewogICAgY29udGVudDogIlw0MiI7Cn0KLmljb21vb24tdW5pNDM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNDMiOwp9Ci5pY29tb29uLXVuaTQ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDQ0IjsKfQouaWNvbW9vbi11bmk0NTpiZWZvcmUgewogICAgY29udGVudDogIlw0NSI7Cn0KLmljb21vb24tdW5pNDY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNDYiOwp9Ci5pY29tb29uLXVuaTQ3OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDQ3IjsKfQouaWNvbW9vbi11bmk0ODpiZWZvcmUgewogICAgY29udGVudDogIlw0OCI7Cn0KLmljb21vb24tdW5pNDk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNDkiOwp9Ci5pY29tb29uLXVuaTRBOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDRhIjsKfQouaWNvbW9vbi11bmk0QjpiZWZvcmUgewogICAgY29udGVudDogIlw0YiI7Cn0KLmljb21vb24tdW5pNEM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNGMiOwp9Ci5pY29tb29uLXVuaTREOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDRkIjsKfQouaWNvbW9vbi11bmk0RTpiZWZvcmUgewogICAgY29udGVudDogIlw0ZSI7Cn0KLmljb21vb24tdW5pNEY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNGYiOwp9Ci5pY29tb29uLXVuaTUwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDUwIjsKfQouaWNvbW9vbi11bmk1MTpiZWZvcmUgewogICAgY29udGVudDogIlw1MSI7Cn0KLmljb21vb24tdW5pNTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNTIiOwp9Ci5pY29tb29uLXVuaTUzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDUzIjsKfQouaWNvbW9vbi11bmk1NDpiZWZvcmUgewogICAgY29udGVudDogIlw1NCI7Cn0KLmljb21vb24tdW5pNTU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNTUiOwp9Ci5pY29tb29uLXVuaTU2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDU2IjsKfQouaWNvbW9vbi11bmk1NzpiZWZvcmUgewogICAgY29udGVudDogIlw1NyI7Cn0KLmljb21vb24tdW5pNTg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNTgiOwp9Ci5pY29tb29uLXVuaTU5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDU5IjsKfQouaWNvbW9vbi11bmk1QTpiZWZvcmUgewogICAgY29udGVudDogIlw1YSI7Cn0KLmljb21vb24tdW5pNUI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNWIiOwp9Ci5pY29tb29uLXVuaTVDOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDVjIjsKfQouaWNvbW9vbi11bmk1RDpiZWZvcmUgewogICAgY29udGVudDogIlw1ZCI7Cn0KLmljb21vb24tdW5pNUU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNWUiOwp9Ci5pY29tb29uLXVuaTVGOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDVmIjsKfQouaWNvbW9vbi11bmk2MDpiZWZvcmUgewogICAgY29udGVudDogIlw2MCI7Cn0KLmljb21vb24tdW5pNjE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNjEiOwp9Ci5pY29tb29uLXVuaTYyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDYyIjsKfQouaWNvbW9vbi11bmk2MzpiZWZvcmUgewogICAgY29udGVudDogIlw2MyI7Cn0KLmljb21vb24tdW5pNjQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNjQiOwp9Ci5pY29tb29uLXVuaTY1OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDY1IjsKfQouaWNvbW9vbi11bmk2NjpiZWZvcmUgewogICAgY29udGVudDogIlw2NiI7Cn0KLmljb21vb24tdW5pNjc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNjciOwp9Ci5pY29tb29uLXVuaTY4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDY4IjsKfQouaWNvbW9vbi11bmk2OTpiZWZvcmUgewogICAgY29udGVudDogIlw2OSI7Cn0KLmljb21vb24tdW5pNkE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNmEiOwp9Ci5pY29tb29uLXVuaTZCOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDZiIjsKfQouaWNvbW9vbi11bmk2QzpiZWZvcmUgewogICAgY29udGVudDogIlw2YyI7Cn0KLmljb21vb24tdW5pNkQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNmQiOwp9Ci5pY29tb29uLXVuaTZFOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDZlIjsKfQouaWNvbW9vbi11bmk2RjpiZWZvcmUgewogICAgY29udGVudDogIlw2ZiI7Cn0KLmljb21vb24tdW5pNzA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzAiOwp9Ci5pY29tb29uLXVuaTcxOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDcxIjsKfQouaWNvbW9vbi11bmk3MjpiZWZvcmUgewogICAgY29udGVudDogIlw3MiI7Cn0KLmljb21vb24tdW5pNzM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzMiOwp9Ci5pY29tb29uLXVuaTc0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDc0IjsKfQouaWNvbW9vbi11bmk3NTpiZWZvcmUgewogICAgY29udGVudDogIlw3NSI7Cn0KLmljb21vb24tdW5pNzY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzYiOwp9Ci5pY29tb29uLXVuaTc3OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDc3IjsKfQouaWNvbW9vbi11bmk3ODpiZWZvcmUgewogICAgY29udGVudDogIlw3OCI7Cn0KLmljb21vb24tdW5pNzk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzkiOwp9Ci5pY29tb29uLXVuaTdBOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDdhIjsKfQouaWNvbW9vbi11bmk3QjpiZWZvcmUgewogICAgY29udGVudDogIlw3YiI7Cn0KLmljb21vb24tdW5pN0M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcN2MiOwp9Ci5pY29tb29uLXVuaTdEOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDdkIjsKfQouaWNvbW9vbi11bmk3RTpiZWZvcmUgewogICAgY29udGVudDogIlw3ZSI7Cn0KLmljb21vb24tdW5pQTk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcYTkiOwp9Cgo="}},"time_used":100,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":99,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/logo.png","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.244Z","timestamp":1785123385244,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/logo.png HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: image/png\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"f43-65fd8520-db0d2633a61cda2c;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 3907\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3907,"size_decoded":4302,"mime_type":"image/png","magic":"PNG image data, 2 x 3, 8-bit/color RGBA, non-interlaced","md5":"867a1400124bc728c69efa9bb6b49310","sha1":"e3f974fad2661e1093d6eba0685983e144df798f","sha256":"dd2fdad62627a7a23572d81e55003d0caff6b75e6c6686c509cf3e2bcec44edd","sha512":"0cb8c65197a7607d133f4ae530781aec28d97e1a36aa92a26e62061c9e7529c645fc5fe473c69bb1f0b44d981de8e81bc24018db29158bbf1ccb81c73ee4b251","ssdeep":"","tlshash":"d7814c3859d61171c458d3b1c9c11508d8f68adffe56e215bbcc8da36f406c5643768c","first_seen":"2025-07-07T00:18:26.17188Z","last_seen":"2026-07-27T03:38:03.734455Z","times_seen":7,"resource_available":false,"data":"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lxwAB3IPPP859ecbB8MPthxiHao7bHW48gj9SHE9Up9f39cgbOhuTG7sODrxaEuTd9ORX8b9svuY+bGK43rHV55QO1F4YvBkwcn+Zmnzy1MZpx61zGi5c3ry6WtnJp1pPxt+9vy5kHOnW9mtJ8/7nD92wevC0Yusiw2X3C/Vt7m1HfnV7dcj7e7t9Zc9Ljde8bzS1DGh40SnX+epq0FXz13jXLt0Pep6x42EGze7pnZ13+TffHpLfOv17bzbA3cW3iXcLb6nda/svvH9qt/sftvf7d59/EHQg7aHcQ/vPOI9evFY/vhLT2EvtbfsidmT6qfOT489C3l25fmU5z0vpC8GXhb9S/tfla9sXx3+3f/3tr7JfT2vZa8H35S+NXy7+53ru5b+mP7777PfD3wo/mj4cc8n1qfWz0mfnwzM+kL6Uv7V7mvTt/BvdwezBwelXBlXtRXAYEPT0wF4sxvuE5IBoF+B284pQ2cglSFD5zYVAv+Eh85JKnMHYEcz3L34A5AA+23KY8dCqA3/x8AW7w9QF5c/2rDJ012ch7TUG+DWpGxw8C3c45PsAPjaNTg40DA4+HUXXOxtAJrfD529lMZ8DPcy2eAfbOhc9qcY/94D5Qpcwd/7fwMrNGjOuKFR/wAAAGJlWElmTU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA5KGAAcAAAASAAAAUKACAAQAAAABAAAAAqADAAQAAAABAAAAAwAAAABBU0NJSQAAAFNjcmVlbnNob3Q9ms0gAAACOWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CvU3O+MAAAALSURBVAgdY2DACQAAGwABPdl6wQAAAABJRU5ErkJggg=="}},"time_used":110,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":103,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.721Z","timestamp":1785123385721,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:19 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:19 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:41 GMT\r\ncontent-type: font/woff2\r\nage: 397566\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48320,"size_decoded":49133,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48320, version 1.0","md5":"dcf31ebe107435bd68e0164d59e19b87","sha1":"b68160c9333af833fe483928b3ef7128c07a56a0","sha256":"d8e4fe0452aa2076429a9bb5d8757d00a994dd95986cf950e9a1a371b9a072a0","sha512":"130cd52c3cccc36a7029bf92b2ddb363b8b36d206454aacc246739919552fccec5cacbad615ba4ac3817da3e83239371fe51324bdadd08357e3495087f62cb08","ssdeep":"768:Jzqdwl5YV7FVmpudK5a8dF8D8Z7J78VGnNFZEKh02dmSTPe9UiallHcOEi2c0NC1:9q+SYuMaVwZ7oGRNh02dd6UialBcOEpE","tlshash":"1623f218f29471f7edecd4d500a18c72baa528d442f116ed07b8d53ca36ca817a729fb","first_seen":"2025-09-17T00:07:53.723302Z","last_seen":"2026-07-31T13:42:10.650403Z","times_seen":318889,"resource_available":false,"data":"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"}},"time_used":62,"timings":{"blocked":0,"dns":2,"connect":29,"send":0,"wait":16,"receive":15,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.879Z","timestamp":1785123385879,"http_version":"HTTP/2","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 397541\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":20284,"size_decoded":4819,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-07-31T12:14:51.355902Z","times_seen":18946,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":65,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":17,"receive":0,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.015Z","timestamp":1785123386015,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ/m=root,base HTTP/1.1\r\nHost: www.youtube.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/1jE4zHXbNUM\r\nCookie: __Secure-YNID=20.YT=ACUFOM3MDkNlMvNE5tDAPRZqHyc8HUq6iYvUgEF1js7uVm3Y31bhiIf3sVy4Hyrvgc1OCcHOSp3vsPk12xuHnAhC1Cf-xEwH-8JAvj7gSksWox0nkC6On-8HrUpiNpbDsON7P2d2WEPcvLJM09w4iFsjyc_8T-qrQ0o1v2sJWKWT_Z3Uow-3_y6UiAY8Vbe7BIDaKFErBOC2kWOBSpXwq3nYab8hNVEUPvsfWuKC-MRJZnr7wGh8LavkHs5oAOt2osUNkzgjw-nnLgGDpE17OFrXWJtGeCijcF2DuDXuyJlEZANCnD74xKNqRr8pDJRMH9psiz0sP7MpCDXOwn8F6w; YSC=b0pYTBtcjuk; __Secure-ROLLOUT_TOKEN=CJ3oqsnxxYqOfxD6qa3q9vGVAxj6qa3q9vGVAw%3D%3D; VISITOR_INFO1_LIVE=l_LgHcz9JSg; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaA%3D%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\naccept-ranges: bytes\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 0\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:01:30 GMT\r\nexpires: Sat, 24 Jul 2027 13:01:30 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nage: 225296\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":857,"mime_type":"text/css; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-31T13:42:13.00563Z","times_seen":17635411,"resource_available":true,"data":""}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://websocket-visitors.smartsupp.com/socket/?EIO=3\u0026transport=websocket","fqdn":"websocket-visitors.smartsupp.com","domain":"smartsupp.com","tld":"com"},"ip":{"addr":"18.195.200.162","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:29.621Z","timestamp":1785123389621,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsupp.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Wed, 24 Jun 2026 00:00:00 GMT","end":"Thu, 07 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"4F:1A:3B:79:00:E3:DC:1F:92:62:7C:DC:85:3A:BE:8C:D1:68:F2:57","sha256":"7F:93:E6:29:5D:CA:78:BD:30:0D:25:11:3B:E2:01:C9:DC:80:3C:80:90:3F:84:D2:72:1B:0D:42:F1:20:13:D9"}}},"request":{"raw":"GET /socket/?EIO=3\u0026transport=websocket HTTP/1.1\r\nHost: websocket-visitors.smartsupp.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://alpha-achieveer.co\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: zOcP5RzQ/jq3eiOoLpdAdw==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\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 03:36:29 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: HMrjPoLwZfW6731rkieydCkbCpg=\r\nSec-WebSocket-Version: 13\r\nWebSocket-Server: uWebSockets\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"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-07-31T13:42:13.00563Z","times_seen":17635411,"resource_available":true,"data":""}},"time_used":238,"timings":{"blocked":0,"dns":82,"connect":103,"send":0,"wait":26,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/ionicons.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.311Z","timestamp":1785123385311,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/ionicons.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/css/style-main.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"df46-65fd8520-7e567700fa665c29;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 7590\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":57158,"size_decoded":8030,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (20240)","md5":"234f6a6c8f2978cbca91855fb7f42b44","sha1":"8aed0ff57525a952e849a273b926ff9bb186ecf6","sha256":"cc62299988e3ec08274ce165ee7c3424d825d9c2a9b2708b07d1a8bc4be7ade0","sha512":"bbaf736ef9d2378931b790edd31f91c5bad41af8258d1e1bece32040226a1abc95a20567df49f10a60f761eab9f299c74acd55f5e0e09fea3fd1baf4fe5e887f","ssdeep":"384:j48nrtpbxxYlbDiLq2LEg+KjL5w62s1zIZbyzid:j4UrTxilbOLVLEj+LfJ1kZmzid","tlshash":"ed4310f6d71e0ee14e35d480330bab905775b5fda4580c59e00ba88df6cba28e2d29dd","first_seen":"2025-07-07T00:18:26.182126Z","last_seen":"2026-07-27T14:34:25.246552Z","times_seen":31,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsKLyohCiAgSW9uaWNvbnMsIHYyLjAuMQogIENyZWF0ZWQgYnkgQmVuIFNwZXJyeSBmb3IgdGhlIElvbmljIEZyYW1ld29yaywgaHR0cDovL2lvbmljb25zLmNvbS8KICBodHRwczovL3R3aXR0ZXIuY29tL2JlbmpzcGVycnkgIGh0dHBzOi8vdHdpdHRlci5jb20vaW9uaWNmcmFtZXdvcmsKICBNSVQgTGljZW5zZTogaHR0cHM6Ly9naXRodWIuY29tL2RyaWZ0eWNvL2lvbmljb25zCgogIEFuZHJvaWQtc3R5bGUgaWNvbnMgb3JpZ2luYWxseSBidWlsdCBieSBHb29nbGXigJlzCiAgTWF0ZXJpYWwgRGVzaWduIEljb25zOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL21hdGVyaWFsLWRlc2lnbi1pY29ucwogIHVzZWQgdW5kZXIgQ0MgQlkgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLwogIE1vZGlmaWVkIGljb25zIHRvIGZpdCBpb25pY29u4oCZcyBncmlkIGZyb20gb3JpZ2luYWwuCiovCkBmb250LWZhY2UgeyBmb250LWZhbWlseTogIklvbmljb25zIjsgc3JjOiB1cmwoIi4uL2ZvbnRzL2lvbmljb25zNzkwZi5lb3QiKTsgc3JjOiB1cmwoIi4uL2ZvbnRzL2lvbmljb25zNzkwZi5lb3QiKSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksIHVybCgiLi4vZm9udHMvaW9uaWNvbnM3OTBmLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKSwgdXJsKCIuLi9mb250cy9pb25pY29uczc5MGYud29mZiIpIGZvcm1hdCgid29mZiIpLCB1cmwoIi4uL2ZvbnRzL2lvbmljb25zNzkwZi5zdmciKSBmb3JtYXQoInN2ZyIpOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IH0KLmlvbiwgLmlvbmljb25zLCAuaW9uLWFsZXJ0OmJlZm9yZSwgLmlvbi1hbGVydC1jaXJjbGVkOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFkZDpiZWZvcmUsIC5pb24tYW5kcm9pZC1hZGQtY2lyY2xlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFsYXJtLWNsb2NrOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFsZXJ0OmJlZm9yZSwgLmlvbi1vaWQtYXBwczpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcmNoaXZlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFycm93LWJhY2s6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXJyb3ctZG93bjpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wZG93bjpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wZG93bi1jaXJjbGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGxlZnQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGxlZnQtY2lyY2xlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFycm93LWRyb3ByaWdodDpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wcmlnaHQtY2lyY2xlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFycm93LWRyb3B1cDpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFycm93LWZvcndhcmQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXJyb3ctdXA6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXR0YWNoOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWJhcjpiZWZvcmUsIC5pb24tYW5kcm9pZC1iaWN5Y2xlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWJvYXQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYm9va21hcms6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYnVsYjpiZWZvcmUsIC5pb24tYW5kcm9pZC1idXM6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2FsZW5kYXI6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2FsbDpiZWZvcmUsIC5pb24tYW5kcm9pZC1jYW1lcmE6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2FuY2VsOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNhcjpiZWZvcmUsIC5pb24tYW5kcm9pZC1jYXJ0OmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNoYXQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2hlY2tib3g6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2hlY2tib3gtYmxhbms6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2hlY2tib3gtb3V0bGluZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1jaGVja2JveC1vdXRsaW5lLWJsYW5rOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNoZWNrbWFyay1jaXJjbGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2xpcGJvYXJkOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNsb3NlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNsb3VkOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNsb3VkLWNpcmNsZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1jbG91ZC1kb25lOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNsb3VkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY29sb3ItcGFsZXR0ZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1jb21wYXNzOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNvbnRhY3Q6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY29udGFjdHM6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY29udHJhY3Q6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY3JlYXRlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWRlbGV0ZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1kZXNrdG9wOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWRvY3VtZW50OmJlZm9yZSwgLmlvbi1hbmRyb2lkLWRvbmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZG9uZS1hbGw6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZG93bmxvYWQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZHJhZnRzOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWV4aXQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZXhwYW5kOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWZhdm9yaXRlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWZhdm9yaXRlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZmlsbTpiZWZvcmUsIC5pb24tYW5kcm9pZC1mb2xkZXI6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZm9sZGVyLW9wZW46YmVmb3JlLCAuaW9uLWFuZHJvaWQtZnVubmVsOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWdsb2JlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWhhbmQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtaGFuZ291dDpiZWZvcmUsIC5pb24tYW5kcm9pZC1oYXBweTpiZWZvcmUsIC5pb24tYW5kcm9pZC1ob21lOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWltYWdlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWxhcHRvcDpiZWZvcmUsIC5pb24tYW5kcm9pZC1saXN0OmJlZm9yZSwgLmlvbi1hbmRyb2lkLWxvY2F0ZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1sb2NrOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW1haWw6YmVmb3JlLCAuaW9uLWFuZHJvaWQtbWFwOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW1lbnU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtbWljcm9waG9uZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1taWNyb3Bob25lLW9mZjpiZWZvcmUsIC5pb24tYW5kcm9pZC1tb3JlLWhvcml6b250YWw6YmVmb3JlLCAuaW9uLWFuZHJvaWQtbW9yZS12ZXJ0aWNhbDpiZWZvcmUsIC5pb24tYW5kcm9pZC1uYXZpZ2F0ZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnMtbm9uZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zLW9mZjpiZWZvcmUsIC5pb24tYW5kcm9pZC1vcGVuOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW9wdGlvbnM6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcGVvcGxlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXBlcnNvbjpiZWZvcmUsIC5pb24tYW5kcm9pZC1wZXJzb24tYWRkOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXBob25lLWxhbmRzY2FwZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1waG9uZS1wb3J0cmFpdDpiZWZvcmUsIC5pb24tYW5kcm9pZC1waW46YmVmb3JlLCAuaW9uLWFuZHJvaWQtcGxhbmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcGxheXN0b3JlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXByaW50OmJlZm9yZSwgLmlvbi1hbmRyb2lkLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXJlZnJlc2g6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcmVtb3ZlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXJlbW92ZS1jaXJjbGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcmVzdGF1cmFudDpiZWZvcmUsIC5pb24tYW5kcm9pZC1zYWQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc2VhcmNoOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXNlbmQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc2V0dGluZ3M6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc2hhcmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc2hhcmUtYWx0OmJlZm9yZSwgLmlvbi1hbmRyb2lkLXN0YXI6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc3Rhci1oYWxmOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXN0YXItb3V0bGluZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1zdG9wd2F0Y2g6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc3Vid2F5OmJlZm9yZSwgLmlvbi1hbmRyb2lkLXN1bm55OmJlZm9yZSwgLmlvbi1hbmRyb2lkLXN5bmM6YmVmb3JlLCAuaW9uLWFuZHJvaWQtdGV4dHNtczpiZWZvcmUsIC5pb24tYW5kcm9pZC10aW1lOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXRyYWluOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXVubG9jazpiZWZvcmUsIC5pb24tYW5kcm9pZC11cGxvYWQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtdm9sdW1lLWRvd246YmVmb3JlLCAuaW9uLWFuZHJvaWQtdm9sdW1lLW11dGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtdm9sdW1lLW9mZjpiZWZvcmUsIC5pb24tYW5kcm9pZC12b2x1bWUtdXA6YmVmb3JlLCAuaW9uLWFuZHJvaWQtd2FsazpiZWZvcmUsIC5pb24tYW5kcm9pZC13YXJuaW5nOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXdhdGNoOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXdpZmk6YmVmb3JlLCAuaW9uLWFwZXJ0dXJlOmJlZm9yZSwgLmlvbi1hcmNoaXZlOmJlZm9yZSwgLmlvbi1hcnJvdy1kb3duLWE6YmVmb3JlLCAuaW9uLWFycm93LWRvd24tYjpiZWZvcmUsIC5pb24tYXJyb3ctZG93bi1jOmJlZm9yZSwgLmlvbi1hcnJvdy1leHBhbmQ6YmVmb3JlLCAuaW9uLWFycm93LWdyYXBoLWRvd24tbGVmdDpiZWZvcmUsIC5pb24tYXJyb3ctZ3JhcGgtZG93bi1yaWdodDpiZWZvcmUsIC5pb24tYXJyb3ctZ3JhcGgtdXAtbGVmdDpiZWZvcmUsIC5pb24tYXJyb3ctZ3JhcGgtdXAtcmlnaHQ6YmVmb3JlLCAuaW9uLWFycm93LWxlZnQtYTpiZWZvcmUsIC5pb24tYXJyb3ctbGVmdC1iOmJlZm9yZSwgLmlvbi1hcnJvdy1sZWZ0LWM6YmVmb3JlLCAuaW9uLWFycm93LW1vdmU6YmVmb3JlLCAuaW9uLWFycm93LXJlc2l6ZTpiZWZvcmUsIC5pb24tYXJyb3ctcmV0dXJuLWxlZnQ6YmVmb3JlLCAuaW9uLWFycm93LXJldHVybi1yaWdodDpiZWZvcmUsIC5pb24tYXJyb3ctcmlnaHQtYTpiZWZvcmUsIC5pb24tYXJyb3ctcmlnaHQtYjpiZWZvcmUsIC5pb24tYXJyb3ctcmlnaHQtYzpiZWZvcmUsIC5pb24tYXJyb3ctc2hyaW5rOmJlZm9yZSwgLmlvbi1hcnJvdy1zd2FwOmJlZm9yZSwgLmlvbi1hcnJvdy11cC1hOmJlZm9yZSwgLmlvbi1hcnJvdy11cC1iOmJlZm9yZSwgLmlvbi1hcnJvdy11cC1jOmJlZm9yZSwgLmlvbi1hc3RlcmlzazpiZWZvcmUsIC5pb24tYXQ6YmVmb3JlLCAuaW9uLWJhY2tzcGFjZTpiZWZvcmUsIC5pb24tYmFja3NwYWNlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWJhZzpiZWZvcmUsIC5pb24tYmF0dGVyeS1jaGFyZ2luZzpiZWZvcmUsIC5pb24tYmF0dGVyeS1lbXB0eTpiZWZvcmUsIC5pb24tYmF0dGVyeS1mdWxsOmJlZm9yZSwgLmlvbi1iYXR0ZXJ5LWhhbGY6YmVmb3JlLCAuaW9uLWJhdHRlcnktbG93OmJlZm9yZSwgLmlvbi1iZWFrZXI6YmVmb3JlLCAuaW9uLWJlZXI6YmVmb3JlLCAuaW9uLWJsdWV0b290aDpiZWZvcmUsIC5pb24tYm9uZmlyZTpiZWZvcmUsIC5pb24tYm9va21hcms6YmVmb3JlLCAuaW9uLWJvd3RpZTpiZWZvcmUsIC5pb24tYnJpZWZjYXNlOmJlZm9yZSwgLmlvbi1idWc6YmVmb3JlLCAuaW9uLWNhbGN1bGF0b3I6YmVmb3JlLCAuaW9uLWNhbGVuZGFyOmJlZm9yZSwgLmlvbi1jYW1lcmE6YmVmb3JlLCAuaW9uLWNhcmQ6YmVmb3JlLCAuaW9uLWNhc2g6YmVmb3JlLCAuaW9uLWNoYXRib3g6YmVmb3JlLCAuaW9uLWNoYXRib3gtd29ya2luZzpiZWZvcmUsIC5pb24tY2hhdGJveGVzOmJlZm9yZSwgLmlvbi1jaGF0YnViYmxlOmJlZm9yZSwgLmlvbi1jaGF0YnViYmxlLXdvcmtpbmc6YmVmb3JlLCAuaW9uLWNoYXRidWJibGVzOmJlZm9yZSwgLmlvbi1jaGVja21hcms6YmVmb3JlLCAuaW9uLWNoZWNrbWFyay1jaXJjbGVkOmJlZm9yZSwgLmlvbi1jaGVja21hcmstcm91bmQ6YmVmb3JlLCAuaW9uLWNoZXZyb24tZG93bjpiZWZvcmUsIC5pb24tY2hldnJvbi1sZWZ0OmJlZm9yZSwgLmlvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSwgLmlvbi1jaGV2cm9uLXVwOmJlZm9yZSwgLmlvbi1jbGlwYm9hcmQ6YmVmb3JlLCAuaW9uLWNsb2NrOmJlZm9yZSwgLmlvbi1jbG9zZTpiZWZvcmUsIC5pb24tY2xvc2UtY2lyY2xlZDpiZWZvcmUsIC5pb24tY2xvc2Utcm91bmQ6YmVmb3JlLCAuaW9uLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSwgLmlvbi1jbG91ZDpiZWZvcmUsIC5pb24tY29kZTpiZWZvcmUsIC5pb24tY29kZS1kb3dubG9hZDpiZWZvcmUsIC5pb24tY29kZS13b3JraW5nOmJlZm9yZSwgLmlvbi1jb2ZmZWU6YmVmb3JlLCAuaW9uLWNvbXBhc3M6YmVmb3JlLCAuaW9uLWNvbXBvc2U6YmVmb3JlLCAuaW9uLWNvbm5lY3Rpb24tYmFyczpiZWZvcmUsIC5pb24tY29udHJhc3Q6YmVmb3JlLCAuaW9uLWNyb3A6YmVmb3JlLCAuaW9uLWN1YmU6YmVmb3JlLCAuaW9uLWRpc2M6YmVmb3JlLCAuaW9uLWRvY3VtZW50OmJlZm9yZSwgLmlvbi1kb2N1bWVudC10ZXh0OmJlZm9yZSwgLmlvbi1kcmFnOmJlZm9yZSwgLmlvbi1lYXJ0aDpiZWZvcmUsIC5pb24tZWFzZWw6YmVmb3JlLCAuaW9uLWVkaXQ6YmVmb3JlLCAuaW9uLWVnZzpiZWZvcmUsIC5pb24tZWplY3Q6YmVmb3JlLCAuaW9uLWVtYWlsOmJlZm9yZSwgLmlvbi1lbWFpbC11bnJlYWQ6YmVmb3JlLCAuaW9uLWVybGVubWV5ZXItZmxhc2s6YmVmb3JlLCAuaW9uLWVybGVubWV5ZXItZmxhc2stYnViYmxlczpiZWZvcmUsIC5pb24tZXllOmJlZm9yZSwgLmlvbi1leWUtZGlzYWJsZWQ6YmVmb3JlLCAuaW9uLWZlbWFsZTpiZWZvcmUsIC5pb24tZmlsaW5nOmJlZm9yZSwgLmlvbi1maWxtLW1hcmtlcjpiZWZvcmUsIC5pb24tZmlyZWJhbGw6YmVmb3JlLCAuaW9uLWZsYWc6YmVmb3JlLCAuaW9uLWZsYW1lOmJlZm9yZSwgLmlvbi1mbGFzaDpiZWZvcmUsIC5pb24tZmxhc2gtb2ZmOmJlZm9yZSwgLmlvbi1mb2xkZXI6YmVmb3JlLCAuaW9uLWZvcms6YmVmb3JlLCAuaW9uLWZvcmstcmVwbzpiZWZvcmUsIC5pb24tZm9yd2FyZDpiZWZvcmUsIC5pb24tZnVubmVsOmJlZm9yZSwgLmlvbi1nZWFyLWE6YmVmb3JlLCAuaW9uLWdlYXItYjpiZWZvcmUsIC5pb24tZ3JpZDpiZWZvcmUsIC5pb24taGFtbWVyOmJlZm9yZSwgLmlvbi1oYXBweTpiZWZvcmUsIC5pb24taGFwcHktb3V0bGluZTpiZWZvcmUsIC5pb24taGVhZHBob25lOmJlZm9yZSwgLmlvbi1oZWFydDpiZWZvcmUsIC5pb24taGVhcnQtYnJva2VuOmJlZm9yZSwgLmlvbi1oZWxwOmJlZm9yZSwgLmlvbi1oZWxwLWJ1b3k6YmVmb3JlLCAuaW9uLWhlbHAtY2lyY2xlZDpiZWZvcmUsIC5pb24taG9tZTpiZWZvcmUsIC5pb24taWNlY3JlYW06YmVmb3JlLCAuaW9uLWltYWdlOmJlZm9yZSwgLmlvbi1pbWFnZXM6YmVmb3JlLCAuaW9uLWluZm9ybWF0aW9uOmJlZm9yZSwgLmlvbi1pbmZvcm1hdGlvbi1jaXJjbGVkOmJlZm9yZSwgLmlvbi1pb25pYzpiZWZvcmUsIC5pb24taW9zLWFsYXJtOmJlZm9yZSwgLmlvbi1pb3MtYWxhcm0tb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWFsYnVtczpiZWZvcmUsIC5pb24taW9zLWFsYnVtcy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYW1lcmljYW5mb290YmFsbDpiZWZvcmUsIC5pb24taW9zLWFtZXJpY2FuZm9vdGJhbGwtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWFuYWx5dGljczpiZWZvcmUsIC5pb24taW9zLWFuYWx5dGljcy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYXJyb3ctYmFjazpiZWZvcmUsIC5pb24taW9zLWFycm93LWRvd246YmVmb3JlLCAuaW9uLWlvcy1hcnJvdy1mb3J3YXJkOmJlZm9yZSwgLmlvbi1pb3MtYXJyb3ctbGVmdDpiZWZvcmUsIC5pb24taW9zLWFycm93LXJpZ2h0OmJlZm9yZSwgLmlvbi1pb3MtYXJyb3ctdGhpbi1kb3duOmJlZm9yZSwgLmlvbi1pb3MtYXJyb3ctdGhpbi1sZWZ0OmJlZm9yZSwgLmlvbi1pb3MtYXJyb3ctdGhpbi1yaWdodDpiZWZvcmUsIC5pb24taW9zLWFycm93LXRoaW4tdXA6YmVmb3JlLCAuaW9uLWlvcy1hcnJvdy11cDpiZWZvcmUsIC5pb24taW9zLWF0OmJlZm9yZSwgLmlvbi1pb3MtYXQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWJhcmNvZGU6YmVmb3JlLCAuaW9uLWlvcy1iYXJjb2RlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1iYXNlYmFsbDpiZWZvcmUsIC5pb24taW9zLWJhc2ViYWxsLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1iYXNrZXRiYWxsOmJlZm9yZSwgLmlvbi1pb3MtYmFza2V0YmFsbC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYmVsbDpiZWZvcmUsIC5pb24taW9zLWJlbGwtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWJvZHk6YmVmb3JlLCAuaW9uLWlvcy1ib2R5LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1ib2x0OmJlZm9yZSwgLmlvbi1pb3MtYm9sdC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYm9vazpiZWZvcmUsIC5pb24taW9zLWJvb2stb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWJvb2ttYXJrczpiZWZvcmUsIC5pb24taW9zLWJvb2ttYXJrcy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYm94OmJlZm9yZSwgLmlvbi1pb3MtYm94LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1icmllZmNhc2U6YmVmb3JlLCAuaW9uLWlvcy1icmllZmNhc2Utb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWJyb3dzZXJzOmJlZm9yZSwgLmlvbi1pb3MtYnJvd3NlcnMtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNhbGN1bGF0b3I6YmVmb3JlLCAuaW9uLWlvcy1jYWxjdWxhdG9yLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jYWxlbmRhcjpiZWZvcmUsIC5pb24taW9zLWNhbGVuZGFyLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jYW1lcmE6YmVmb3JlLCAuaW9uLWlvcy1jYW1lcmEtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNhcnQ6YmVmb3JlLCAuaW9uLWlvcy1jYXJ0LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jaGF0Ym94ZXM6YmVmb3JlLCAuaW9uLWlvcy1jaGF0Ym94ZXMtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNoYXRidWJibGU6YmVmb3JlLCAuaW9uLWlvcy1jaGF0YnViYmxlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jaGVja21hcms6YmVmb3JlLCAuaW9uLWlvcy1jaGVja21hcmstZW1wdHk6YmVmb3JlLCAuaW9uLWlvcy1jaGVja21hcmstb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNpcmNsZS1maWxsZWQ6YmVmb3JlLCAuaW9uLWlvcy1jaXJjbGUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNsb2NrOmJlZm9yZSwgLmlvbi1pb3MtY2xvY2stb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNsb3NlOmJlZm9yZSwgLmlvbi1pb3MtY2xvc2UtZW1wdHk6YmVmb3JlLCAuaW9uLWlvcy1jbG9zZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2xvdWQ6YmVmb3JlLCAuaW9uLWlvcy1jbG91ZC1kb3dubG9hZDpiZWZvcmUsIC5pb24taW9zLWNsb3VkLWRvd25sb2FkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jbG91ZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2xvdWQtdXBsb2FkOmJlZm9yZSwgLmlvbi1pb3MtY2xvdWQtdXBsb2FkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jbG91ZHk6YmVmb3JlLCAuaW9uLWlvcy1jbG91ZHktbmlnaHQ6YmVmb3JlLCAuaW9uLWlvcy1jbG91ZHktbmlnaHQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNsb3VkeS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY29nOmJlZm9yZSwgLmlvbi1pb3MtY29nLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jb2xvci1maWx0ZXI6YmVmb3JlLCAuaW9uLWlvcy1jb2xvci1maWx0ZXItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNvbG9yLXdhbmQ6YmVmb3JlLCAuaW9uLWlvcy1jb2xvci13YW5kLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jb21wb3NlOmJlZm9yZSwgLmlvbi1pb3MtY29tcG9zZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY29udGFjdDpiZWZvcmUsIC5pb24taW9zLWNvbnRhY3Qtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNvcHk6YmVmb3JlLCAuaW9uLWlvcy1jb3B5LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jcm9wOmJlZm9yZSwgLmlvbi1pb3MtY3JvcC1zdHJvbmc6YmVmb3JlLCAuaW9uLWlvcy1kb3dubG9hZDpiZWZvcmUsIC5pb24taW9zLWRvd25sb2FkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1kcmFnOmJlZm9yZSwgLmlvbi1pb3MtZW1haWw6YmVmb3JlLCAuaW9uLWlvcy1lbWFpbC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZXllOmJlZm9yZSwgLmlvbi1pb3MtZXllLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1mYXN0Zm9yd2FyZDpiZWZvcmUsIC5pb24taW9zLWZhc3Rmb3J3YXJkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1maWxpbmc6YmVmb3JlLCAuaW9uLWlvcy1maWxpbmctb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWZpbG06YmVmb3JlLCAuaW9uLWlvcy1maWxtLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1mbGFnOmJlZm9yZSwgLmlvbi1pb3MtZmxhZy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZmxhbWU6YmVmb3JlLCAuaW9uLWlvcy1mbGFtZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZmxhc2s6YmVmb3JlLCAuaW9uLWlvcy1mbGFzay1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZmxvd2VyOmJlZm9yZSwgLmlvbi1pb3MtZmxvd2VyLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1mb2xkZXI6YmVmb3JlLCAuaW9uLWlvcy1mb2xkZXItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWZvb3RiYWxsOmJlZm9yZSwgLmlvbi1pb3MtZm9vdGJhbGwtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWdhbWUtY29udHJvbGxlci1hOmJlZm9yZSwgLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWEtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWdhbWUtY29udHJvbGxlci1iOmJlZm9yZSwgLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWdlYXI6YmVmb3JlLCAuaW9uLWlvcy1nZWFyLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1nbGFzc2VzOmJlZm9yZSwgLmlvbi1pb3MtZ2xhc3Nlcy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZ3JpZC12aWV3OmJlZm9yZSwgLmlvbi1pb3MtZ3JpZC12aWV3LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1oZWFydDpiZWZvcmUsIC5pb24taW9zLWhlYXJ0LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1oZWxwOmJlZm9yZSwgLmlvbi1pb3MtaGVscC1lbXB0eTpiZWZvcmUsIC5pb24taW9zLWhlbHAtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWhvbWU6YmVmb3JlLCAuaW9uLWlvcy1ob21lLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1pbmZpbml0ZTpiZWZvcmUsIC5pb24taW9zLWluZmluaXRlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1pbmZvcm1hdGlvbjpiZWZvcmUsIC5pb24taW9zLWluZm9ybWF0aW9uLWVtcHR5OmJlZm9yZSwgLmlvbi1pb3MtaW5mb3JtYXRpb24tb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWlvbmljLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1rZXlwYWQ6YmVmb3JlLCAuaW9uLWlvcy1rZXlwYWQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWxpZ2h0YnVsYjpiZWZvcmUsIC5pb24taW9zLWxpZ2h0YnVsYi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbGlzdDpiZWZvcmUsIC5pb24taW9zLWxpc3Qtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWxvY2F0aW9uOmJlZm9yZSwgLmlvbi1pb3MtbG9jYXRpb24tb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWxvY2tlZDpiZWZvcmUsIC5pb24taW9zLWxvY2tlZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbG9vcDpiZWZvcmUsIC5pb24taW9zLWxvb3Atc3Ryb25nOmJlZm9yZSwgLmlvbi1pb3MtbWVkaWNhbDpiZWZvcmUsIC5pb24taW9zLW1lZGljYWwtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLW1lZGtpdDpiZWZvcmUsIC5pb24taW9zLW1lZGtpdC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbWljOmJlZm9yZSwgLmlvbi1pb3MtbWljLW9mZjpiZWZvcmUsIC5pb24taW9zLW1pYy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbWludXM6YmVmb3JlLCAuaW9uLWlvcy1taW51cy1lbXB0eTpiZWZvcmUsIC5pb24taW9zLW1pbnVzLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1tb25pdG9yOmJlZm9yZSwgLmlvbi1pb3MtbW9uaXRvci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbW9vbjpiZWZvcmUsIC5pb24taW9zLW1vb24tb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLW1vcmU6YmVmb3JlLCAuaW9uLWlvcy1tb3JlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1tdXNpY2FsLW5vdGU6YmVmb3JlLCAuaW9uLWlvcy1tdXNpY2FsLW5vdGVzOmJlZm9yZSwgLmlvbi1pb3MtbmF2aWdhdGU6YmVmb3JlLCAuaW9uLWlvcy1uYXZpZ2F0ZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbnV0cml0aW9uOmJlZm9yZSwgLmlvbi1pb3MtbnV0cml0aW9uLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wYXBlcjpiZWZvcmUsIC5pb24taW9zLXBhcGVyLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wYXBlcnBsYW5lOmJlZm9yZSwgLmlvbi1pb3MtcGFwZXJwbGFuZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcGFydGx5c3Vubnk6YmVmb3JlLCAuaW9uLWlvcy1wYXJ0bHlzdW5ueS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcGF1c2U6YmVmb3JlLCAuaW9uLWlvcy1wYXVzZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcGF3OmJlZm9yZSwgLmlvbi1pb3MtcGF3LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wZW9wbGU6YmVmb3JlLCAuaW9uLWlvcy1wZW9wbGUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXBlcnNvbjpiZWZvcmUsIC5pb24taW9zLXBlcnNvbi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcGVyc29uYWRkOmJlZm9yZSwgLmlvbi1pb3MtcGVyc29uYWRkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1waG90b3M6YmVmb3JlLCAuaW9uLWlvcy1waG90b3Mtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXBpZTpiZWZvcmUsIC5pb24taW9zLXBpZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcGludDpiZWZvcmUsIC5pb24taW9zLXBpbnQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXBsYXk6YmVmb3JlLCAuaW9uLWlvcy1wbGF5LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wbHVzOmJlZm9yZSwgLmlvbi1pb3MtcGx1cy1lbXB0eTpiZWZvcmUsIC5pb24taW9zLXBsdXMtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXByaWNldGFnOmJlZm9yZSwgLmlvbi1pb3MtcHJpY2V0YWctb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXByaWNldGFnczpiZWZvcmUsIC5pb24taW9zLXByaWNldGFncy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcHJpbnRlcjpiZWZvcmUsIC5pb24taW9zLXByaW50ZXItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXB1bHNlOmJlZm9yZSwgLmlvbi1pb3MtcHVsc2Utc3Ryb25nOmJlZm9yZSwgLmlvbi1pb3MtcmFpbnk6YmVmb3JlLCAuaW9uLWlvcy1yYWlueS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcmVjb3JkaW5nOmJlZm9yZSwgLmlvbi1pb3MtcmVjb3JkaW5nLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1yZWRvOmJlZm9yZSwgLmlvbi1pb3MtcmVkby1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcmVmcmVzaDpiZWZvcmUsIC5pb24taW9zLXJlZnJlc2gtZW1wdHk6YmVmb3JlLCAuaW9uLWlvcy1yZWZyZXNoLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1yZWxvYWQ6YmVmb3JlLCAuaW9uLWlvcy1yZXZlcnNlLWNhbWVyYTpiZWZvcmUsIC5pb24taW9zLXJldmVyc2UtY2FtZXJhLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1yZXdpbmQ6YmVmb3JlLCAuaW9uLWlvcy1yZXdpbmQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXJvc2U6YmVmb3JlLCAuaW9uLWlvcy1yb3NlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1zZWFyY2g6YmVmb3JlLCAuaW9uLWlvcy1zZWFyY2gtc3Ryb25nOmJlZm9yZSwgLmlvbi1pb3Mtc2V0dGluZ3M6YmVmb3JlLCAuaW9uLWlvcy1zZXR0aW5ncy1zdHJvbmc6YmVmb3JlLCAuaW9uLWlvcy1zaHVmZmxlOmJlZm9yZSwgLmlvbi1pb3Mtc2h1ZmZsZS1zdHJvbmc6YmVmb3JlLCAuaW9uLWlvcy1za2lwYmFja3dhcmQ6YmVmb3JlLCAuaW9uLWlvcy1za2lwYmFja3dhcmQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXNraXBmb3J3YXJkOmJlZm9yZSwgLmlvbi1pb3Mtc2tpcGZvcndhcmQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXNub3d5OmJlZm9yZSwgLmlvbi1pb3Mtc3BlZWRvbWV0ZXI6YmVmb3JlLCAuaW9uLWlvcy1zcGVlZG9tZXRlci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3Mtc3RhcjpiZWZvcmUsIC5pb24taW9zLXN0YXItaGFsZjpiZWZvcmUsIC5pb24taW9zLXN0YXItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXN0b3B3YXRjaDpiZWZvcmUsIC5pb24taW9zLXN0b3B3YXRjaC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3Mtc3Vubnk6YmVmb3JlLCAuaW9uLWlvcy1zdW5ueS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtdGVsZXBob25lOmJlZm9yZSwgLmlvbi1pb3MtdGVsZXBob25lLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy10ZW5uaXNiYWxsOmJlZm9yZSwgLmlvbi1pb3MtdGVubmlzYmFsbC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtdGh1bmRlcnN0b3JtOmJlZm9yZSwgLmlvbi1pb3MtdGh1bmRlcnN0b3JtLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy10aW1lOmJlZm9yZSwgLmlvbi1pb3MtdGltZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtdGltZXI6YmVmb3JlLCAuaW9uLWlvcy10aW1lci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtdG9nZ2xlOmJlZm9yZSwgLmlvbi1pb3MtdG9nZ2xlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy10cmFzaDpiZWZvcmUsIC5pb24taW9zLXRyYXNoLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy11bmRvOmJlZm9yZSwgLmlvbi1pb3MtdW5kby1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtdW5sb2NrZWQ6YmVmb3JlLCAuaW9uLWlvcy11bmxvY2tlZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtdXBsb2FkOmJlZm9yZSwgLmlvbi1pb3MtdXBsb2FkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy12aWRlb2NhbTpiZWZvcmUsIC5pb24taW9zLXZpZGVvY2FtLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy12b2x1bWUtaGlnaDpiZWZvcmUsIC5pb24taW9zLXZvbHVtZS1sb3c6YmVmb3JlLCAuaW9uLWlvcy13aW5lZ2xhc3M6YmVmb3JlLCAuaW9uLWlvcy13aW5lZ2xhc3Mtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXdvcmxkOmJlZm9yZSwgLmlvbi1pb3Mtd29ybGQtb3V0bGluZTpiZWZvcmUsIC5pb24taXBhZDpiZWZvcmUsIC5pb24taXBob25lOmJlZm9yZSwgLmlvbi1pcG9kOmJlZm9yZSwgLmlvbi1qZXQ6YmVmb3JlLCAuaW9uLWtleTpiZWZvcmUsIC5pb24ta25pZmU6YmVmb3JlLCAuaW9uLWxhcHRvcDpiZWZvcmUsIC5pb24tbGVhZjpiZWZvcmUsIC5pb24tbGV2ZWxzOmJlZm9yZSwgLmlvbi1saWdodGJ1bGI6YmVmb3JlLCAuaW9uLWxpbms6YmVmb3JlLCAuaW9uLWxvYWQtYTpiZWZvcmUsIC5pb24tbG9hZC1iOmJlZm9yZSwgLmlvbi1sb2FkLWM6YmVmb3JlLCAuaW9uLWxvYWQtZDpiZWZvcmUsIC5pb24tbG9jYXRpb246YmVmb3JlLCAuaW9uLWxvY2stY29tYmluYXRpb246YmVmb3JlLCAuaW9uLWxvY2tlZDpiZWZvcmUsIC5pb24tbG9nLWluOmJlZm9yZSwgLmlvbi1sb2ctb3V0OmJlZm9yZSwgLmlvbi1sb29wOmJlZm9yZSwgLmlvbi1tYWduZXQ6YmVmb3JlLCAuaW9uLW1hbGU6YmVmb3JlLCAuaW9uLW1hbjpiZWZvcmUsIC5pb24tbWFwOmJlZm9yZSwgLmlvbi1tZWRraXQ6YmVmb3JlLCAuaW9uLW1lcmdlOmJlZm9yZSwgLmlvbi1taWMtYTpiZWZvcmUsIC5pb24tbWljLWI6YmVmb3JlLCAuaW9uLW1pYy1jOmJlZm9yZSwgLmlvbi1taW51czpiZWZvcmUsIC5pb24tbWludXMtY2lyY2xlZDpiZWZvcmUsIC5pb24tbWludXMtcm91bmQ6YmVmb3JlLCAuaW9uLW1vZGVsLXM6YmVmb3JlLCAuaW9uLW1vbml0b3I6YmVmb3JlLCAuaW9uLW1vcmU6YmVmb3JlLCAuaW9uLW1vdXNlOmJlZm9yZSwgLmlvbi1tdXNpYy1ub3RlOmJlZm9yZSwgLmlvbi1uYXZpY29uOmJlZm9yZSwgLmlvbi1uYXZpY29uLXJvdW5kOmJlZm9yZSwgLmlvbi1uYXZpZ2F0ZTpiZWZvcmUsIC5pb24tbmV0d29yazpiZWZvcmUsIC5pb24tbm8tc21va2luZzpiZWZvcmUsIC5pb24tbnVjbGVhcjpiZWZvcmUsIC5pb24tb3V0bGV0OmJlZm9yZSwgLmlvbi1wYWludGJydXNoOmJlZm9yZSwgLmlvbi1wYWludGJ1Y2tldDpiZWZvcmUsIC5pb24tcGFwZXItYWlycGxhbmU6YmVmb3JlLCAuaW9uLXBhcGVyY2xpcDpiZWZvcmUsIC5pb24tcGF1c2U6YmVmb3JlLCAuaW9uLXBlcnNvbjpiZWZvcmUsIC5pb24tcGVyc29uLWFkZDpiZWZvcmUsIC5pb24tcGVyc29uLXN0YWxrZXI6YmVmb3JlLCAuaW9uLXBpZS1ncmFwaDpiZWZvcmUsIC5pb24tcGluOmJlZm9yZSwgLmlvbi1waW5wb2ludDpiZWZvcmUsIC5pb24tcGl6emE6YmVmb3JlLCAuaW9uLXBsYW5lOmJlZm9yZSwgLmlvbi1wbGFuZXQ6YmVmb3JlLCAuaW9uLXBsYXk6YmVmb3JlLCAuaW9uLXBsYXlzdGF0aW9uOmJlZm9yZSwgLmlvbi1wbHVzOmJlZm9yZSwgLmlvbi1wbHVzLWNpcmNsZWQ6YmVmb3JlLCAuaW9uLXBsdXMtcm91bmQ6YmVmb3JlLCAuaW9uLXBvZGl1bTpiZWZvcmUsIC5pb24tcG91bmQ6YmVmb3JlLCAuaW9uLXBvd2VyOmJlZm9yZSwgLmlvbi1wcmljZXRhZzpiZWZvcmUsIC5pb24tcHJpY2V0YWdzOmJlZm9yZSwgLmlvbi1wcmludGVyOmJlZm9yZSwgLmlvbi1wdWxsLXJlcXVlc3Q6YmVmb3JlLCAuaW9uLXFyLXNjYW5uZXI6YmVmb3JlLCAuaW9uLXF1b3RlOmJlZm9yZSwgLmlvbi1yYWRpby13YXZlczpiZWZvcmUsIC5pb24tcmVjb3JkOmJlZm9yZSwgLmlvbi1yZWZyZXNoOmJlZm9yZSwgLmlvbi1yZXBseTpiZWZvcmUsIC5pb24tcmVwbHktYWxsOmJlZm9yZSwgLmlvbi1yaWJib24tYTpiZWZvcmUsIC5pb24tcmliYm9uLWI6YmVmb3JlLCAuaW9uLXNhZDpiZWZvcmUsIC5pb24tc2FkLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNjaXNzb3JzOmJlZm9yZSwgLmlvbi1zZWFyY2g6YmVmb3JlLCAuaW9uLXNldHRpbmdzOmJlZm9yZSwgLmlvbi1zaGFyZTpiZWZvcmUsIC5pb24tc2h1ZmZsZTpiZWZvcmUsIC5pb24tc2tpcC1iYWNrd2FyZDpiZWZvcmUsIC5pb24tc2tpcC1mb3J3YXJkOmJlZm9yZSwgLmlvbi1zb2NpYWwtYW5kcm9pZDpiZWZvcmUsIC5pb24tc29jaWFsLWFuZHJvaWQtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWFuZ3VsYXI6YmVmb3JlLCAuaW9uLXNvY2lhbC1hbmd1bGFyLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1hcHBsZTpiZWZvcmUsIC5pb24tc29jaWFsLWFwcGxlLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1iaXRjb2luOmJlZm9yZSwgLmlvbi1zb2NpYWwtYml0Y29pbi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtYnVmZmVyOmJlZm9yZSwgLmlvbi1zb2NpYWwtYnVmZmVyLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1jaHJvbWU6YmVmb3JlLCAuaW9uLXNvY2lhbC1jaHJvbWUtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWNvZGVwZW46YmVmb3JlLCAuaW9uLXNvY2lhbC1jb2RlcGVuLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1jc3MzOmJlZm9yZSwgLmlvbi1zb2NpYWwtY3NzMy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtZGVzaWduZXJuZXdzOmJlZm9yZSwgLmlvbi1zb2NpYWwtZGVzaWduZXJuZXdzLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1kcmliYmJsZTpiZWZvcmUsIC5pb24tc29jaWFsLWRyaWJiYmxlLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1kcm9wYm94OmJlZm9yZSwgLmlvbi1zb2NpYWwtZHJvcGJveC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtZXVybzpiZWZvcmUsIC5pb24tc29jaWFsLWV1cm8tb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWZhY2Vib29rOmJlZm9yZSwgLmlvbi1zb2NpYWwtZmFjZWJvb2stb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWZvdXJzcXVhcmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1mb3Vyc3F1YXJlLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1mcmVlYnNkLWRldmlsOmJlZm9yZSwgLmlvbi1zb2NpYWwtZ2l0aHViOmJlZm9yZSwgLmlvbi1zb2NpYWwtZ2l0aHViLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1nb29nbGU6YmVmb3JlLCAuaW9uLXNvY2lhbC1nb29nbGUtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWdvb2dsZXBsdXM6YmVmb3JlLCAuaW9uLXNvY2lhbC1nb29nbGVwbHVzLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1oYWNrZXJuZXdzOmJlZm9yZSwgLmlvbi1zb2NpYWwtaGFja2VybmV3cy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtaHRtbDU6YmVmb3JlLCAuaW9uLXNvY2lhbC1odG1sNS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZSwgLmlvbi1zb2NpYWwtaW5zdGFncmFtLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1qYXZhc2NyaXB0OmJlZm9yZSwgLmlvbi1zb2NpYWwtamF2YXNjcmlwdC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtbGlua2VkaW46YmVmb3JlLCAuaW9uLXNvY2lhbC1saW5rZWRpbi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtbWFya2Rvd246YmVmb3JlLCAuaW9uLXNvY2lhbC1ub2RlanM6YmVmb3JlLCAuaW9uLXNvY2lhbC1vY3RvY2F0OmJlZm9yZSwgLmlvbi1zb2NpYWwtcGludGVyZXN0OmJlZm9yZSwgLmlvbi1zb2NpYWwtcGludGVyZXN0LW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1weXRob246YmVmb3JlLCAuaW9uLXNvY2lhbC1yZWRkaXQ6YmVmb3JlLCAuaW9uLXNvY2lhbC1yZWRkaXQtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXJzczpiZWZvcmUsIC5pb24tc29jaWFsLXJzcy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtc2FzczpiZWZvcmUsIC5pb24tc29jaWFsLXNreXBlOmJlZm9yZSwgLmlvbi1zb2NpYWwtc2t5cGUtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXNuYXBjaGF0OmJlZm9yZSwgLmlvbi1zb2NpYWwtc25hcGNoYXQtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXR1bWJscjpiZWZvcmUsIC5pb24tc29jaWFsLXR1bWJsci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtdHV4OmJlZm9yZSwgLmlvbi1zb2NpYWwtdHdpdGNoOmJlZm9yZSwgLmlvbi1zb2NpYWwtdHdpdGNoLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC10d2l0dGVyOmJlZm9yZSwgLmlvbi1zb2NpYWwtdHdpdHRlci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtdXNkOmJlZm9yZSwgLmlvbi1zb2NpYWwtdXNkLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC12aW1lbzpiZWZvcmUsIC5pb24tc29jaWFsLXZpbWVvLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC13aGF0c2FwcDpiZWZvcmUsIC5pb24tc29jaWFsLXdoYXRzYXBwLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC13aW5kb3dzOmJlZm9yZSwgLmlvbi1zb2NpYWwtd2luZG93cy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtd29yZHByZXNzOmJlZm9yZSwgLmlvbi1zb2NpYWwtd29yZHByZXNzLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC15YWhvbzpiZWZvcmUsIC5pb24tc29jaWFsLXlhaG9vLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC15ZW46YmVmb3JlLCAuaW9uLXNvY2lhbC15ZW4tb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXlvdXR1YmU6YmVmb3JlLCAuaW9uLXNvY2lhbC15b3V0dWJlLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvdXAtY2FuOmJlZm9yZSwgLmlvbi1zb3VwLWNhbi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zcGVha2VycGhvbmU6YmVmb3JlLCAuaW9uLXNwZWVkb21ldGVyOmJlZm9yZSwgLmlvbi1zcG9vbjpiZWZvcmUsIC5pb24tc3RhcjpiZWZvcmUsIC5pb24tc3RhdHMtYmFyczpiZWZvcmUsIC5pb24tc3RlYW06YmVmb3JlLCAuaW9uLXN0b3A6YmVmb3JlLCAuaW9uLXRoZXJtb21ldGVyOmJlZm9yZSwgLmlvbi10aHVtYnNkb3duOmJlZm9yZSwgLmlvbi10aHVtYnN1cDpiZWZvcmUsIC5pb24tdG9nZ2xlOmJlZm9yZSwgLmlvbi10b2dnbGUtZmlsbGVkOmJlZm9yZSwgLmlvbi10cmFuc2dlbmRlcjpiZWZvcmUsIC5pb24tdHJhc2gtYTpiZWZvcmUsIC5pb24tdHJhc2gtYjpiZWZvcmUsIC5pb24tdHJvcGh5OmJlZm9yZSwgLmlvbi10c2hpcnQ6YmVmb3JlLCAuaW9uLXRzaGlydC1vdXRsaW5lOmJlZm9yZSwgLmlvbi11bWJyZWxsYTpiZWZvcmUsIC5pb24tdW5pdmVyc2l0eTpiZWZvcmUsIC5pb24tdW5sb2NrZWQ6YmVmb3JlLCAuaW9uLXVwbG9hZDpiZWZvcmUsIC5pb24tdXNiOmJlZm9yZSwgLmlvbi12aWRlb2NhbWVyYTpiZWZvcmUsIC5pb24tdm9sdW1lLWhpZ2g6YmVmb3JlLCAuaW9uLXZvbHVtZS1sb3c6YmVmb3JlLCAuaW9uLXZvbHVtZS1tZWRpdW06YmVmb3JlLCAuaW9uLXZvbHVtZS1tdXRlOmJlZm9yZSwgLmlvbi13YW5kOmJlZm9yZSwgLmlvbi13YXRlcmRyb3A6YmVmb3JlLCAuaW9uLXdpZmk6YmVmb3JlLCAuaW9uLXdpbmVnbGFzczpiZWZvcmUsIC5pb24td29tYW46YmVmb3JlLCAuaW9uLXdyZW5jaDpiZWZvcmUsIC5pb24teGJveDpiZWZvcmUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtZmFtaWx5OiAiSW9uaWNvbnMiOyBzcGVhazogbm9uZTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHRleHQtcmVuZGVyaW5nOiBhdXRvOyBsaW5lLWhlaWdodDogMTsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH0KCi5pb24tYWxlcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTAxIjsgfQoKLmlvbi1hbGVydC1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwMCI7IH0KCi5pb24tYW5kcm9pZC1hZGQ6YmVmb3JlIHsgY29udGVudDogIlxmMmM3IjsgfQoKLmlvbi1hbmRyb2lkLWFkZC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogIlxmMzU5IjsgfQoKLmlvbi1hbmRyb2lkLWFsYXJtLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1YSI7IH0KCi5pb24tYW5kcm9pZC1hbGVydDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNWIiOyB9CgouaW9uLWFuZHJvaWQtYXBwczpiZWZvcmUgeyBjb250ZW50OiAiXGYzNWMiOyB9CgouaW9uLWFuZHJvaWQtYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyYzkiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctYmFjazpiZWZvcmUgeyBjb250ZW50OiAiXGYyY2EiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYzNWQiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGRvd246YmVmb3JlIHsgY29udGVudDogIlxmMzVmIjsgfQoKLmlvbi1hbmRyb2lkLWFycm93LWRyb3Bkb3duLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNWUiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGxlZnQ6YmVmb3JlIHsgY29udGVudDogIlxmMzYxIjsgfQoKLmlvbi1hbmRyb2lkLWFycm93LWRyb3BsZWZ0LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNjAiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2MyI7IH0KCi5pb24tYW5kcm9pZC1hcnJvdy1kcm9wcmlnaHQtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2MiI7IH0KCi5pb24tYW5kcm9pZC1hcnJvdy1kcm9wdXA6YmVmb3JlIHsgY29udGVudDogIlxmMzY1IjsgfQoKLmlvbi1hbmRyb2lkLWFycm93LWRyb3B1cC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogIlxmMzY0IjsgfQoKLmlvbi1hbmRyb2lkLWFycm93LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMzBmIjsgfQoKLmlvbi1hbmRyb2lkLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2NiI7IH0KCi5pb24tYW5kcm9pZC1hdHRhY2g6YmVmb3JlIHsgY29udGVudDogIlxmMzY3IjsgfQoKLmlvbi1hbmRyb2lkLWJhcjpiZWZvcmUgeyBjb250ZW50OiAiXGYzNjgiOyB9CgouaW9uLWFuZHJvaWQtYmljeWNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNjkiOyB9CgouaW9uLWFuZHJvaWQtYm9hdDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNmEiOyB9CgouaW9uLWFuZHJvaWQtYm9va21hcms6YmVmb3JlIHsgY29udGVudDogIlxmMzZiIjsgfQoKLmlvbi1hbmRyb2lkLWJ1bGI6YmVmb3JlIHsgY29udGVudDogIlxmMzZjIjsgfQoKLmlvbi1hbmRyb2lkLWJ1czpiZWZvcmUgeyBjb250ZW50OiAiXGYzNmQiOyB9CgouaW9uLWFuZHJvaWQtY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogIlxmMmQxIjsgfQoKLmlvbi1hbmRyb2lkLWNhbGw6YmVmb3JlIHsgY29udGVudDogIlxmMmQyIjsgfQoKLmlvbi1hbmRyb2lkLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAiXGYyZDMiOyB9CgouaW9uLWFuZHJvaWQtY2FuY2VsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2ZSI7IH0KCi5pb24tYW5kcm9pZC1jYXI6YmVmb3JlIHsgY29udGVudDogIlxmMzZmIjsgfQoKLmlvbi1hbmRyb2lkLWNhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMzcwIjsgfQoKLmlvbi1hbmRyb2lkLWNoYXQ6YmVmb3JlIHsgY29udGVudDogIlxmMmQ0IjsgfQoKLmlvbi1hbmRyb2lkLWNoZWNrYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3NCI7IH0KCi5pb24tYW5kcm9pZC1jaGVja2JveC1ibGFuazpiZWZvcmUgeyBjb250ZW50OiAiXGYzNzEiOyB9CgouaW9uLWFuZHJvaWQtY2hlY2tib3gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNzMiOyB9CgouaW9uLWFuZHJvaWQtY2hlY2tib3gtb3V0bGluZS1ibGFuazpiZWZvcmUgeyBjb250ZW50OiAiXGYzNzIiOyB9CgouaW9uLWFuZHJvaWQtY2hlY2ttYXJrLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNzUiOyB9CgouaW9uLWFuZHJvaWQtY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3NiI7IH0KCi5pb24tYW5kcm9pZC1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyZDciOyB9CgouaW9uLWFuZHJvaWQtY2xvdWQ6YmVmb3JlIHsgY29udGVudDogIlxmMzdhIjsgfQoKLmlvbi1hbmRyb2lkLWNsb3VkLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNzciOyB9CgouaW9uLWFuZHJvaWQtY2xvdWQtZG9uZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNzgiOyB9CgouaW9uLWFuZHJvaWQtY2xvdWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNzkiOyB9CgouaW9uLWFuZHJvaWQtY29sb3ItcGFsZXR0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzN2IiOyB9CgouaW9uLWFuZHJvaWQtY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiAiXGYzN2MiOyB9CgouaW9uLWFuZHJvaWQtY29udGFjdDpiZWZvcmUgeyBjb250ZW50OiAiXGYyZDgiOyB9CgouaW9uLWFuZHJvaWQtY29udGFjdHM6YmVmb3JlIHsgY29udGVudDogIlxmMmQ5IjsgfQoKLmlvbi1hbmRyb2lkLWNvbnRyYWN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3ZCI7IH0KCi5pb24tYW5kcm9pZC1jcmVhdGU6YmVmb3JlIHsgY29udGVudDogIlxmMzdlIjsgfQoKLmlvbi1hbmRyb2lkLWRlbGV0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzN2YiOyB9CgouaW9uLWFuZHJvaWQtZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiAiXGYzODAiOyB9CgouaW9uLWFuZHJvaWQtZG9jdW1lbnQ6YmVmb3JlIHsgY29udGVudDogIlxmMzgxIjsgfQoKLmlvbi1hbmRyb2lkLWRvbmU6YmVmb3JlIHsgY29udGVudDogIlxmMzgzIjsgfQoKLmlvbi1hbmRyb2lkLWRvbmUtYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4MiI7IH0KCi5pb24tYW5kcm9pZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyZGQiOyB9CgouaW9uLWFuZHJvaWQtZHJhZnRzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4NCI7IH0KCi5pb24tYW5kcm9pZC1leGl0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4NSI7IH0KCi5pb24tYW5kcm9pZC1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogIlxmMzg2IjsgfQoKLmlvbi1hbmRyb2lkLWZhdm9yaXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4OCI7IH0KCi5pb24tYW5kcm9pZC1mYXZvcml0ZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4NyI7IH0KCi5pb24tYW5kcm9pZC1maWxtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4OSI7IH0KCi5pb24tYW5kcm9pZC1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogIlxmMmUwIjsgfQoKLmlvbi1hbmRyb2lkLWZvbGRlci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4YSI7IH0KCi5pb24tYW5kcm9pZC1mdW5uZWw6YmVmb3JlIHsgY29udGVudDogIlxmMzhiIjsgfQoKLmlvbi1hbmRyb2lkLWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4YyI7IH0KCi5pb24tYW5kcm9pZC1oYW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJlMyI7IH0KCi5pb24tYW5kcm9pZC1oYW5nb3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4ZCI7IH0KCi5pb24tYW5kcm9pZC1oYXBweTpiZWZvcmUgeyBjb250ZW50OiAiXGYzOGUiOyB9CgouaW9uLWFuZHJvaWQtaG9tZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzOGYiOyB9CgouaW9uLWFuZHJvaWQtaW1hZ2U6YmVmb3JlIHsgY29udGVudDogIlxmMmU0IjsgfQoKLmlvbi1hbmRyb2lkLWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiAiXGYzOTAiOyB9CgouaW9uLWFuZHJvaWQtbGlzdDpiZWZvcmUgeyBjb250ZW50OiAiXGYzOTEiOyB9CgouaW9uLWFuZHJvaWQtbG9jYXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJlOSI7IH0KCi5pb24tYW5kcm9pZC1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5MiI7IH0KCi5pb24tYW5kcm9pZC1tYWlsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJlYiI7IH0KCi5pb24tYW5kcm9pZC1tYXA6YmVmb3JlIHsgY29udGVudDogIlxmMzkzIjsgfQoKLmlvbi1hbmRyb2lkLW1lbnU6YmVmb3JlIHsgY29udGVudDogIlxmMzk0IjsgfQoKLmlvbi1hbmRyb2lkLW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogIlxmMmVjIjsgfQoKLmlvbi1hbmRyb2lkLW1pY3JvcGhvbmUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5NSI7IH0KCi5pb24tYW5kcm9pZC1tb3JlLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogIlxmMzk2IjsgfQoKLmlvbi1hbmRyb2lkLW1vcmUtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogIlxmMzk3IjsgfQoKLmlvbi1hbmRyb2lkLW5hdmlnYXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5OCI7IH0KCi5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5YiI7IH0KCi5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zLW5vbmU6YmVmb3JlIHsgY29udGVudDogIlxmMzk5IjsgfQoKLmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnMtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5YSI7IH0KCi5pb24tYW5kcm9pZC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5YyI7IH0KCi5pb24tYW5kcm9pZC1vcHRpb25zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5ZCI7IH0KCi5pb24tYW5kcm9pZC1wZW9wbGU6YmVmb3JlIHsgY29udGVudDogIlxmMzllIjsgfQoKLmlvbi1hbmRyb2lkLXBlcnNvbjpiZWZvcmUgeyBjb250ZW50OiAiXGYzYTAiOyB9CgouaW9uLWFuZHJvaWQtcGVyc29uLWFkZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzOWYiOyB9CgouaW9uLWFuZHJvaWQtcGhvbmUtbGFuZHNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhMSI7IH0KCi5pb24tYW5kcm9pZC1waG9uZS1wb3J0cmFpdDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYTIiOyB9CgouaW9uLWFuZHJvaWQtcGluOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhMyI7IH0KCi5pb24tYW5kcm9pZC1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYTQiOyB9CgouaW9uLWFuZHJvaWQtcGxheXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJmMCI7IH0KCi5pb24tYW5kcm9pZC1wcmludDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYTUiOyB9CgouaW9uLWFuZHJvaWQtcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUgeyBjb250ZW50OiAiXGYzYTYiOyB9CgouaW9uLWFuZHJvaWQtcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhNyI7IH0KCi5pb24tYW5kcm9pZC1yZWZyZXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhOCI7IH0KCi5pb24tYW5kcm9pZC1yZW1vdmU6YmVmb3JlIHsgY29udGVudDogIlxmMmY0IjsgfQoKLmlvbi1hbmRyb2lkLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogIlxmM2E5IjsgfQoKLmlvbi1hbmRyb2lkLXJlc3RhdXJhbnQ6YmVmb3JlIHsgY29udGVudDogIlxmM2FhIjsgfQoKLmlvbi1hbmRyb2lkLXNhZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYWIiOyB9CgouaW9uLWFuZHJvaWQtc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJmNSI7IH0KCi5pb24tYW5kcm9pZC1zZW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJmNiI7IH0KCi5pb24tYW5kcm9pZC1zZXR0aW5nczpiZWZvcmUgeyBjb250ZW50OiAiXGYyZjciOyB9CgouaW9uLWFuZHJvaWQtc2hhcmU6YmVmb3JlIHsgY29udGVudDogIlxmMmY4IjsgfQoKLmlvbi1hbmRyb2lkLXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYWMiOyB9CgouaW9uLWFuZHJvaWQtc3RhcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyZmMiOyB9CgouaW9uLWFuZHJvaWQtc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhZCI7IH0KCi5pb24tYW5kcm9pZC1zdGFyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2FlIjsgfQoKLmlvbi1hbmRyb2lkLXN0b3B3YXRjaDpiZWZvcmUgeyBjb250ZW50OiAiXGYyZmQiOyB9CgouaW9uLWFuZHJvaWQtc3Vid2F5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhZiI7IH0KCi5pb24tYW5kcm9pZC1zdW5ueTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjAiOyB9CgouaW9uLWFuZHJvaWQtc3luYzpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjEiOyB9CgouaW9uLWFuZHJvaWQtdGV4dHNtczpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjIiOyB9CgouaW9uLWFuZHJvaWQtdGltZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjMiOyB9CgouaW9uLWFuZHJvaWQtdHJhaW46YmVmb3JlIHsgY29udGVudDogIlxmM2I0IjsgfQoKLmlvbi1hbmRyb2lkLXVubG9jazpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjUiOyB9CgouaW9uLWFuZHJvaWQtdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiNiI7IH0KCi5pb24tYW5kcm9pZC12b2x1bWUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjciOyB9CgouaW9uLWFuZHJvaWQtdm9sdW1lLW11dGU6YmVmb3JlIHsgY29udGVudDogIlxmM2I4IjsgfQoKLmlvbi1hbmRyb2lkLXZvbHVtZS1vZmY6YmVmb3JlIHsgY29udGVudDogIlxmM2I5IjsgfQoKLmlvbi1hbmRyb2lkLXZvbHVtZS11cDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYmEiOyB9CgouaW9uLWFuZHJvaWQtd2FsazpiZWZvcmUgeyBjb250ZW50OiAiXGYzYmIiOyB9CgouaW9uLWFuZHJvaWQtd2FybmluZzpiZWZvcmUgeyBjb250ZW50OiAiXGYzYmMiOyB9CgouaW9uLWFuZHJvaWQtd2F0Y2g6YmVmb3JlIHsgY29udGVudDogIlxmM2JkIjsgfQoKLmlvbi1hbmRyb2lkLXdpZmk6YmVmb3JlIHsgY29udGVudDogIlxmMzA1IjsgfQoKLmlvbi1hcGVydHVyZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzMTMiOyB9CgouaW9uLWFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogIlxmMTAyIjsgfQoKLmlvbi1hcnJvdy1kb3duLWE6YmVmb3JlIHsgY29udGVudDogIlxmMTAzIjsgfQoKLmlvbi1hcnJvdy1kb3duLWI6YmVmb3JlIHsgY29udGVudDogIlxmMTA0IjsgfQoKLmlvbi1hcnJvdy1kb3duLWM6YmVmb3JlIHsgY29udGVudDogIlxmMTA1IjsgfQoKLmlvbi1hcnJvdy1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogIlxmMjVlIjsgfQoKLmlvbi1hcnJvdy1ncmFwaC1kb3duLWxlZnQ6YmVmb3JlIHsgY29udGVudDogIlxmMjVmIjsgfQoKLmlvbi1hcnJvdy1ncmFwaC1kb3duLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2MCI7IH0KCi5pb24tYXJyb3ctZ3JhcGgtdXAtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAiXGYyNjEiOyB9CgouaW9uLWFycm93LWdyYXBoLXVwLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2MiI7IH0KCi5pb24tYXJyb3ctbGVmdC1hOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwNiI7IH0KCi5pb24tYXJyb3ctbGVmdC1iOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwNyI7IH0KCi5pb24tYXJyb3ctbGVmdC1jOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwOCI7IH0KCi5pb24tYXJyb3ctbW92ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNjMiOyB9CgouaW9uLWFycm93LXJlc2l6ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNjQiOyB9CgouaW9uLWFycm93LXJldHVybi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2NSI7IH0KCi5pb24tYXJyb3ctcmV0dXJuLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2NiI7IH0KCi5pb24tYXJyb3ctcmlnaHQtYTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDkiOyB9CgouaW9uLWFycm93LXJpZ2h0LWI6YmVmb3JlIHsgY29udGVudDogIlxmMTBhIjsgfQoKLmlvbi1hcnJvdy1yaWdodC1jOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwYiI7IH0KCi5pb24tYXJyb3ctc2hyaW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2NyI7IH0KCi5pb24tYXJyb3ctc3dhcDpiZWZvcmUgeyBjb250ZW50OiAiXGYyNjgiOyB9CgouaW9uLWFycm93LXVwLWE6YmVmb3JlIHsgY29udGVudDogIlxmMTBjIjsgfQoKLmlvbi1hcnJvdy11cC1iOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwZCI7IH0KCi5pb24tYXJyb3ctdXAtYzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGUiOyB9CgouaW9uLWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxNCI7IH0KCi5pb24tYXQ6YmVmb3JlIHsgY29udGVudDogIlxmMTBmIjsgfQoKLmlvbi1iYWNrc3BhY2U6YmVmb3JlIHsgY29udGVudDogIlxmM2JmIjsgfQoKLmlvbi1iYWNrc3BhY2Utb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYmUiOyB9CgouaW9uLWJhZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTAiOyB9CgouaW9uLWJhdHRlcnktY2hhcmdpbmc6YmVmb3JlIHsgY29udGVudDogIlxmMTExIjsgfQoKLmlvbi1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMiI7IH0KCi5pb24tYmF0dGVyeS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMyI7IH0KCi5pb24tYmF0dGVyeS1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExNCI7IH0KCi5pb24tYmF0dGVyeS1sb3c6YmVmb3JlIHsgY29udGVudDogIlxmMTE1IjsgfQoKLmlvbi1iZWFrZXI6YmVmb3JlIHsgY29udGVudDogIlxmMjY5IjsgfQoKLmlvbi1iZWVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2YSI7IH0KCi5pb24tYmx1ZXRvb3RoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExNiI7IH0KCi5pb24tYm9uZmlyZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzMTUiOyB9CgouaW9uLWJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2YiI7IH0KCi5pb24tYm93dGllOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjMCI7IH0KCi5pb24tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2YyI7IH0KCi5pb24tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiZSI7IH0KCi5pb24tY2FsY3VsYXRvcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyNmQiOyB9CgouaW9uLWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExNyI7IH0KCi5pb24tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExOCI7IH0KCi5pb24tY2FyZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTkiOyB9CgouaW9uLWNhc2g6YmVmb3JlIHsgY29udGVudDogIlxmMzE2IjsgfQoKLmlvbi1jaGF0Ym94OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExYiI7IH0KCi5pb24tY2hhdGJveC13b3JraW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExYSI7IH0KCi5pb24tY2hhdGJveGVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExYyI7IH0KCi5pb24tY2hhdGJ1YmJsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMWUiOyB9CgouaW9uLWNoYXRidWJibGUtd29ya2luZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMWQiOyB9CgouaW9uLWNoYXRidWJibGVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExZiI7IH0KCi5pb24tY2hlY2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyMiI7IH0KCi5pb24tY2hlY2ttYXJrLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTIwIjsgfQoKLmlvbi1jaGVja21hcmstcm91bmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTIxIjsgfQoKLmlvbi1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogIlxmMTIzIjsgfQoKLmlvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTI0IjsgfQoKLmlvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyNSI7IH0KCi5pb24tY2hldnJvbi11cDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjYiOyB9CgouaW9uLWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjciOyB9CgouaW9uLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2ZSI7IH0KCi5pb24tY2xvc2U6YmVmb3JlIHsgY29udGVudDogIlxmMTJhIjsgfQoKLmlvbi1jbG9zZS1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyOCI7IH0KCi5pb24tY2xvc2Utcm91bmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTI5IjsgfQoKLmlvbi1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUgeyBjb250ZW50OiAiXGYzMTciOyB9CgouaW9uLWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyYiI7IH0KCi5pb24tY29kZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNzEiOyB9CgouaW9uLWNvZGUtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogIlxmMjZmIjsgfQoKLmlvbi1jb2RlLXdvcmtpbmc6YmVmb3JlIHsgY29udGVudDogIlxmMjcwIjsgfQoKLmlvbi1jb2ZmZWU6YmVmb3JlIHsgY29udGVudDogIlxmMjcyIjsgfQoKLmlvbi1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI3MyI7IH0KCi5pb24tY29tcG9zZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmMiOyB9CgouaW9uLWNvbm5lY3Rpb24tYmFyczpiZWZvcmUgeyBjb250ZW50OiAiXGYyNzQiOyB9CgouaW9uLWNvbnRyYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI3NSI7IH0KCi5pb24tY3JvcDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYzEiOyB9CgouaW9uLWN1YmU6YmVmb3JlIHsgY29udGVudDogIlxmMzE4IjsgfQoKLmlvbi1kaXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyZCI7IH0KCi5pb24tZG9jdW1lbnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTJmIjsgfQoKLmlvbi1kb2N1bWVudC10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyZSI7IH0KCi5pb24tZHJhZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzAiOyB9CgouaW9uLWVhcnRoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI3NiI7IH0KCi5pb24tZWFzZWw6YmVmb3JlIHsgY29udGVudDogIlxmM2MyIjsgfQoKLmlvbi1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiZiI7IH0KCi5pb24tZWdnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI3NyI7IH0KCi5pb24tZWplY3Q6YmVmb3JlIHsgY29udGVudDogIlxmMTMxIjsgfQoKLmlvbi1lbWFpbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzIiOyB9CgouaW9uLWVtYWlsLXVucmVhZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYzMiOyB9CgouaW9uLWVybGVubWV5ZXItZmxhc2s6YmVmb3JlIHsgY29udGVudDogIlxmM2M1IjsgfQoKLmlvbi1lcmxlbm1leWVyLWZsYXNrLWJ1YmJsZXM6YmVmb3JlIHsgY29udGVudDogIlxmM2M0IjsgfQoKLmlvbi1leWU6YmVmb3JlIHsgY29udGVudDogIlxmMTMzIjsgfQoKLmlvbi1leWUtZGlzYWJsZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMzA2IjsgfQoKLmlvbi1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogIlxmMjc4IjsgfQoKLmlvbi1maWxpbmc6YmVmb3JlIHsgY29udGVudDogIlxmMTM0IjsgfQoKLmlvbi1maWxtLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzUiOyB9CgouaW9uLWZpcmViYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxOSI7IH0KCi5pb24tZmxhZzpiZWZvcmUgeyBjb250ZW50OiAiXGYyNzkiOyB9CgouaW9uLWZsYW1lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxYSI7IH0KCi5pb24tZmxhc2g6YmVmb3JlIHsgY29udGVudDogIlxmMTM3IjsgfQoKLmlvbi1mbGFzaC1vZmY6YmVmb3JlIHsgY29udGVudDogIlxmMTM2IjsgfQoKLmlvbi1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogIlxmMTM5IjsgfQoKLmlvbi1mb3JrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI3YSI7IH0KCi5pb24tZm9yay1yZXBvOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJjMCI7IH0KCi5pb24tZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2EiOyB9CgouaW9uLWZ1bm5lbDpiZWZvcmUgeyBjb250ZW50OiAiXGYzMWIiOyB9CgouaW9uLWdlYXItYTpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2QiOyB9CgouaW9uLWdlYXItYjpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2UiOyB9CgouaW9uLWdyaWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTNmIjsgfQoKLmlvbi1oYW1tZXI6YmVmb3JlIHsgY29udGVudDogIlxmMjdiIjsgfQoKLmlvbi1oYXBweTpiZWZvcmUgeyBjb250ZW50OiAiXGYzMWMiOyB9CgouaW9uLWhhcHB5LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2M2IjsgfQoKLmlvbi1oZWFkcGhvbmU6YmVmb3JlIHsgY29udGVudDogIlxmMTQwIjsgfQoKLmlvbi1oZWFydDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDEiOyB9CgouaW9uLWhlYXJ0LWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiAiXGYzMWQiOyB9CgouaW9uLWhlbHA6YmVmb3JlIHsgY29udGVudDogIlxmMTQzIjsgfQoKLmlvbi1oZWxwLWJ1b3k6YmVmb3JlIHsgY29udGVudDogIlxmMjdjIjsgfQoKLmlvbi1oZWxwLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTQyIjsgfQoKLmlvbi1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0NCI7IH0KCi5pb24taWNlY3JlYW06YmVmb3JlIHsgY29udGVudDogIlxmMjdkIjsgfQoKLmlvbi1pbWFnZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDciOyB9CgouaW9uLWltYWdlczpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDgiOyB9CgouaW9uLWluZm9ybWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0YSI7IH0KCi5pb24taW5mb3JtYXRpb24tY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDkiOyB9CgouaW9uLWlvbmljOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0YiI7IH0KCi5pb24taW9zLWFsYXJtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjOCI7IH0KCi5pb24taW9zLWFsYXJtLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2M3IjsgfQoKLmlvbi1pb3MtYWxidW1zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjYSI7IH0KCi5pb24taW9zLWFsYnVtcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjOSI7IH0KCi5pb24taW9zLWFtZXJpY2FuZm9vdGJhbGw6YmVmb3JlIHsgY29udGVudDogIlxmM2NjIjsgfQoKLmlvbi1pb3MtYW1lcmljYW5mb290YmFsbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjYiI7IH0KCi5pb24taW9zLWFuYWx5dGljczpiZWZvcmUgeyBjb250ZW50OiAiXGYzY2UiOyB9CgouaW9uLWlvcy1hbmFseXRpY3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzY2QiOyB9CgouaW9uLWlvcy1hcnJvdy1iYWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjZiI7IH0KCi5pb24taW9zLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogIlxmM2QwIjsgfQoKLmlvbi1pb3MtYXJyb3ctZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzZDEiOyB9CgouaW9uLWlvcy1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkMiI7IH0KCi5pb24taW9zLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkMyI7IH0KCi5pb24taW9zLWFycm93LXRoaW4tZG93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYzZDQiOyB9CgouaW9uLWlvcy1hcnJvdy10aGluLWxlZnQ6YmVmb3JlIHsgY29udGVudDogIlxmM2Q1IjsgfQoKLmlvbi1pb3MtYXJyb3ctdGhpbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAiXGYzZDYiOyB9CgouaW9uLWlvcy1hcnJvdy10aGluLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkNyI7IH0KCi5pb24taW9zLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkOCI7IH0KCi5pb24taW9zLWF0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkYSI7IH0KCi5pb24taW9zLWF0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2Q5IjsgfQoKLmlvbi1pb3MtYmFyY29kZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZGMiOyB9CgouaW9uLWlvcy1iYXJjb2RlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2RiIjsgfQoKLmlvbi1pb3MtYmFzZWJhbGw6YmVmb3JlIHsgY29udGVudDogIlxmM2RlIjsgfQoKLmlvbi1pb3MtYmFzZWJhbGwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZGQiOyB9CgouaW9uLWlvcy1iYXNrZXRiYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlMCI7IH0KCi5pb24taW9zLWJhc2tldGJhbGwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZGYiOyB9CgouaW9uLWlvcy1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlMiI7IH0KCi5pb24taW9zLWJlbGwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZTEiOyB9CgouaW9uLWlvcy1ib2R5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlNCI7IH0KCi5pb24taW9zLWJvZHktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZTMiOyB9CgouaW9uLWlvcy1ib2x0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlNiI7IH0KCi5pb24taW9zLWJvbHQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZTUiOyB9CgouaW9uLWlvcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlOCI7IH0KCi5pb24taW9zLWJvb2stb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZTciOyB9CgouaW9uLWlvcy1ib29rbWFya3M6YmVmb3JlIHsgY29udGVudDogIlxmM2VhIjsgfQoKLmlvbi1pb3MtYm9va21hcmtzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2U5IjsgfQoKLmlvbi1pb3MtYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlYyI7IH0KCi5pb24taW9zLWJveC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlYiI7IH0KCi5pb24taW9zLWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZWUiOyB9CgouaW9uLWlvcy1icmllZmNhc2Utb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZWQiOyB9CgouaW9uLWlvcy1icm93c2VyczpiZWZvcmUgeyBjb250ZW50OiAiXGYzZjAiOyB9CgouaW9uLWlvcy1icm93c2Vycy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlZiI7IH0KCi5pb24taW9zLWNhbGN1bGF0b3I6YmVmb3JlIHsgY29udGVudDogIlxmM2YyIjsgfQoKLmlvbi1pb3MtY2FsY3VsYXRvci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmMSI7IH0KCi5pb24taW9zLWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmNCI7IH0KCi5pb24taW9zLWNhbGVuZGFyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2YzIjsgfQoKLmlvbi1pb3MtY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmNiI7IH0KCi5pb24taW9zLWNhbWVyYS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmNSI7IH0KCi5pb24taW9zLWNhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmM2Y4IjsgfQoKLmlvbi1pb3MtY2FydC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmNyI7IH0KCi5pb24taW9zLWNoYXRib3hlczpiZWZvcmUgeyBjb250ZW50OiAiXGYzZmEiOyB9CgouaW9uLWlvcy1jaGF0Ym94ZXMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZjkiOyB9CgouaW9uLWlvcy1jaGF0YnViYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmYyI7IH0KCi5pb24taW9zLWNoYXRidWJibGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZmIiOyB9CgouaW9uLWlvcy1jaGVja21hcms6YmVmb3JlIHsgY29udGVudDogIlxmM2ZmIjsgfQoKLmlvbi1pb3MtY2hlY2ttYXJrLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmZCI7IH0KCi5pb24taW9zLWNoZWNrbWFyay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmZSI7IH0KCi5pb24taW9zLWNpcmNsZS1maWxsZWQ6YmVmb3JlIHsgY29udGVudDogIlxmNDAwIjsgfQoKLmlvbi1pb3MtY2lyY2xlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDAxIjsgfQoKLmlvbi1pb3MtY2xvY2s6YmVmb3JlIHsgY29udGVudDogIlxmNDAzIjsgfQoKLmlvbi1pb3MtY2xvY2stb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MDIiOyB9CgouaW9uLWlvcy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MDYiOyB9CgouaW9uLWlvcy1jbG9zZS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MDQiOyB9CgouaW9uLWlvcy1jbG9zZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwNSI7IH0KCi5pb24taW9zLWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwYyI7IH0KCi5pb24taW9zLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwOCI7IH0KCi5pb24taW9zLWNsb3VkLWRvd25sb2FkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDA3IjsgfQoKLmlvbi1pb3MtY2xvdWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MDkiOyB9CgouaW9uLWlvcy1jbG91ZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogIlxmNDBiIjsgfQoKLmlvbi1pb3MtY2xvdWQtdXBsb2FkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDBhIjsgfQoKLmlvbi1pb3MtY2xvdWR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQxMCI7IH0KCi5pb24taW9zLWNsb3VkeS1uaWdodDpiZWZvcmUgeyBjb250ZW50OiAiXGY0MGUiOyB9CgouaW9uLWlvcy1jbG91ZHktbmlnaHQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MGQiOyB9CgouaW9uLWlvcy1jbG91ZHktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MGYiOyB9CgouaW9uLWlvcy1jb2c6YmVmb3JlIHsgY29udGVudDogIlxmNDEyIjsgfQoKLmlvbi1pb3MtY29nLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDExIjsgfQoKLmlvbi1pb3MtY29sb3ItZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQxNCI7IH0KCi5pb24taW9zLWNvbG9yLWZpbHRlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQxMyI7IH0KCi5pb24taW9zLWNvbG9yLXdhbmQ6YmVmb3JlIHsgY29udGVudDogIlxmNDE2IjsgfQoKLmlvbi1pb3MtY29sb3Itd2FuZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQxNSI7IH0KCi5pb24taW9zLWNvbXBvc2U6YmVmb3JlIHsgY29udGVudDogIlxmNDE4IjsgfQoKLmlvbi1pb3MtY29tcG9zZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQxNyI7IH0KCi5pb24taW9zLWNvbnRhY3Q6YmVmb3JlIHsgY29udGVudDogIlxmNDFhIjsgfQoKLmlvbi1pb3MtY29udGFjdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQxOSI7IH0KCi5pb24taW9zLWNvcHk6YmVmb3JlIHsgY29udGVudDogIlxmNDFjIjsgfQoKLmlvbi1pb3MtY29weS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQxYiI7IH0KCi5pb24taW9zLWNyb3A6YmVmb3JlIHsgY29udGVudDogIlxmNDFlIjsgfQoKLmlvbi1pb3MtY3JvcC1zdHJvbmc6YmVmb3JlIHsgY29udGVudDogIlxmNDFkIjsgfQoKLmlvbi1pb3MtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogIlxmNDIwIjsgfQoKLmlvbi1pb3MtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MWYiOyB9CgouaW9uLWlvcy1kcmFnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyMSI7IH0KCi5pb24taW9zLWVtYWlsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyMyI7IH0KCi5pb24taW9zLWVtYWlsLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDIyIjsgfQoKLmlvbi1pb3MtZXllOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyNSI7IH0KCi5pb24taW9zLWV5ZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyNCI7IH0KCi5pb24taW9zLWZhc3Rmb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyNyI7IH0KCi5pb24taW9zLWZhc3Rmb3J3YXJkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDI2IjsgfQoKLmlvbi1pb3MtZmlsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyOSI7IH0KCi5pb24taW9zLWZpbGluZy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyOCI7IH0KCi5pb24taW9zLWZpbG06YmVmb3JlIHsgY29udGVudDogIlxmNDJiIjsgfQoKLmlvbi1pb3MtZmlsbS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyYSI7IH0KCi5pb24taW9zLWZsYWc6YmVmb3JlIHsgY29udGVudDogIlxmNDJkIjsgfQoKLmlvbi1pb3MtZmxhZy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyYyI7IH0KCi5pb24taW9zLWZsYW1lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQyZiI7IH0KCi5pb24taW9zLWZsYW1lLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDJlIjsgfQoKLmlvbi1pb3MtZmxhc2s6YmVmb3JlIHsgY29udGVudDogIlxmNDMxIjsgfQoKLmlvbi1pb3MtZmxhc2stb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MzAiOyB9CgouaW9uLWlvcy1mbG93ZXI6YmVmb3JlIHsgY29udGVudDogIlxmNDMzIjsgfQoKLmlvbi1pb3MtZmxvd2VyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDMyIjsgfQoKLmlvbi1pb3MtZm9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzNSI7IH0KCi5pb24taW9zLWZvbGRlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzNCI7IH0KCi5pb24taW9zLWZvb3RiYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzNyI7IH0KCi5pb24taW9zLWZvb3RiYWxsLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDM2IjsgfQoKLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWE6YmVmb3JlIHsgY29udGVudDogIlxmNDM5IjsgfQoKLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWEtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MzgiOyB9CgouaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYjpiZWZvcmUgeyBjb250ZW50OiAiXGY0M2IiOyB9CgouaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzYSI7IH0KCi5pb24taW9zLWdlYXI6YmVmb3JlIHsgY29udGVudDogIlxmNDNkIjsgfQoKLmlvbi1pb3MtZ2Vhci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzYyI7IH0KCi5pb24taW9zLWdsYXNzZXM6YmVmb3JlIHsgY29udGVudDogIlxmNDNmIjsgfQoKLmlvbi1pb3MtZ2xhc3Nlcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzZSI7IH0KCi5pb24taW9zLWdyaWQtdmlldzpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDEiOyB9CgouaW9uLWlvcy1ncmlkLXZpZXctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDAiOyB9CgouaW9uLWlvcy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDMiOyB9CgouaW9uLWlvcy1oZWFydC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0MiI7IH0KCi5pb24taW9zLWhlbHA6YmVmb3JlIHsgY29udGVudDogIlxmNDQ2IjsgfQoKLmlvbi1pb3MtaGVscC1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDQiOyB9CgouaW9uLWlvcy1oZWxwLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDQ1IjsgfQoKLmlvbi1pb3MtaG9tZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDgiOyB9CgouaW9uLWlvcy1ob21lLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDQ3IjsgfQoKLmlvbi1pb3MtaW5maW5pdGU6YmVmb3JlIHsgY29udGVudDogIlxmNDRhIjsgfQoKLmlvbi1pb3MtaW5maW5pdGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDkiOyB9CgouaW9uLWlvcy1pbmZvcm1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiAiXGY0NGQiOyB9CgouaW9uLWlvcy1pbmZvcm1hdGlvbi1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NGIiOyB9CgouaW9uLWlvcy1pbmZvcm1hdGlvbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0YyI7IH0KCi5pb24taW9zLWlvbmljLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDRlIjsgfQoKLmlvbi1pb3Mta2V5cGFkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1MCI7IH0KCi5pb24taW9zLWtleXBhZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0ZiI7IH0KCi5pb24taW9zLWxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiAiXGY0NTIiOyB9CgouaW9uLWlvcy1saWdodGJ1bGItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NTEiOyB9CgouaW9uLWlvcy1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1NCI7IH0KCi5pb24taW9zLWxpc3Qtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NTMiOyB9CgouaW9uLWlvcy1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiAiXGY0NTYiOyB9CgouaW9uLWlvcy1sb2NhdGlvbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1NSI7IH0KCi5pb24taW9zLWxvY2tlZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0NTgiOyB9CgouaW9uLWlvcy1sb2NrZWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NTciOyB9CgouaW9uLWlvcy1sb29wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1YSI7IH0KCi5pb24taW9zLWxvb3Atc3Ryb25nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1OSI7IH0KCi5pb24taW9zLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogIlxmNDVjIjsgfQoKLmlvbi1pb3MtbWVkaWNhbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1YiI7IH0KCi5pb24taW9zLW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiAiXGY0NWUiOyB9CgouaW9uLWlvcy1tZWRraXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NWQiOyB9CgouaW9uLWlvcy1taWM6YmVmb3JlIHsgY29udGVudDogIlxmNDYxIjsgfQoKLmlvbi1pb3MtbWljLW9mZjpiZWZvcmUgeyBjb250ZW50OiAiXGY0NWYiOyB9CgouaW9uLWlvcy1taWMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NjAiOyB9CgouaW9uLWlvcy1taW51czpiZWZvcmUgeyBjb250ZW50OiAiXGY0NjQiOyB9CgouaW9uLWlvcy1taW51cy1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NjIiOyB9CgouaW9uLWlvcy1taW51cy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2MyI7IH0KCi5pb24taW9zLW1vbml0b3I6YmVmb3JlIHsgY29udGVudDogIlxmNDY2IjsgfQoKLmlvbi1pb3MtbW9uaXRvci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2NSI7IH0KCi5pb24taW9zLW1vb246YmVmb3JlIHsgY29udGVudDogIlxmNDY4IjsgfQoKLmlvbi1pb3MtbW9vbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2NyI7IH0KCi5pb24taW9zLW1vcmU6YmVmb3JlIHsgY29udGVudDogIlxmNDZhIjsgfQoKLmlvbi1pb3MtbW9yZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2OSI7IH0KCi5pb24taW9zLW11c2ljYWwtbm90ZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NmIiOyB9CgouaW9uLWlvcy1tdXNpY2FsLW5vdGVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2YyI7IH0KCi5pb24taW9zLW5hdmlnYXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2ZSI7IH0KCi5pb24taW9zLW5hdmlnYXRlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDZkIjsgfQoKLmlvbi1pb3MtbnV0cml0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3MCI7IH0KCi5pb24taW9zLW51dHJpdGlvbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2ZiI7IH0KCi5pb24taW9zLXBhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3MiI7IH0KCi5pb24taW9zLXBhcGVyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDcxIjsgfQoKLmlvbi1pb3MtcGFwZXJwbGFuZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NzQiOyB9CgouaW9uLWlvcy1wYXBlcnBsYW5lLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDczIjsgfQoKLmlvbi1pb3MtcGFydGx5c3Vubnk6YmVmb3JlIHsgY29udGVudDogIlxmNDc2IjsgfQoKLmlvbi1pb3MtcGFydGx5c3Vubnktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NzUiOyB9CgouaW9uLWlvcy1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NzgiOyB9CgouaW9uLWlvcy1wYXVzZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3NyI7IH0KCi5pb24taW9zLXBhdzpiZWZvcmUgeyBjb250ZW50OiAiXGY0N2EiOyB9CgouaW9uLWlvcy1wYXctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NzkiOyB9CgouaW9uLWlvcy1wZW9wbGU6YmVmb3JlIHsgY29udGVudDogIlxmNDdjIjsgfQoKLmlvbi1pb3MtcGVvcGxlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDdiIjsgfQoKLmlvbi1pb3MtcGVyc29uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3ZSI7IH0KCi5pb24taW9zLXBlcnNvbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3ZCI7IH0KCi5pb24taW9zLXBlcnNvbmFkZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0ODAiOyB9CgouaW9uLWlvcy1wZXJzb25hZGQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0N2YiOyB9CgouaW9uLWlvcy1waG90b3M6YmVmb3JlIHsgY29udGVudDogIlxmNDgyIjsgfQoKLmlvbi1pb3MtcGhvdG9zLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDgxIjsgfQoKLmlvbi1pb3MtcGllOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ4NCI7IH0KCi5pb24taW9zLXBpZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ4MyI7IH0KCi5pb24taW9zLXBpbnQ6YmVmb3JlIHsgY29udGVudDogIlxmNDg2IjsgfQoKLmlvbi1pb3MtcGludC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ4NSI7IH0KCi5pb24taW9zLXBsYXk6YmVmb3JlIHsgY29udGVudDogIlxmNDg4IjsgfQoKLmlvbi1pb3MtcGxheS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ4NyI7IH0KCi5pb24taW9zLXBsdXM6YmVmb3JlIHsgY29udGVudDogIlxmNDhiIjsgfQoKLmlvbi1pb3MtcGx1cy1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ODkiOyB9CgouaW9uLWlvcy1wbHVzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDhhIjsgfQoKLmlvbi1pb3MtcHJpY2V0YWc6YmVmb3JlIHsgY29udGVudDogIlxmNDhkIjsgfQoKLmlvbi1pb3MtcHJpY2V0YWctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OGMiOyB9CgouaW9uLWlvcy1wcmljZXRhZ3M6YmVmb3JlIHsgY29udGVudDogIlxmNDhmIjsgfQoKLmlvbi1pb3MtcHJpY2V0YWdzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDhlIjsgfQoKLmlvbi1pb3MtcHJpbnRlcjpiZWZvcmUgeyBjb250ZW50OiAiXGY0OTEiOyB9CgouaW9uLWlvcy1wcmludGVyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDkwIjsgfQoKLmlvbi1pb3MtcHVsc2U6YmVmb3JlIHsgY29udGVudDogIlxmNDkzIjsgfQoKLmlvbi1pb3MtcHVsc2Utc3Ryb25nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5MiI7IH0KCi5pb24taW9zLXJhaW55OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5NSI7IH0KCi5pb24taW9zLXJhaW55LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDk0IjsgfQoKLmlvbi1pb3MtcmVjb3JkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5NyI7IH0KCi5pb24taW9zLXJlY29yZGluZy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5NiI7IH0KCi5pb24taW9zLXJlZG86YmVmb3JlIHsgY29udGVudDogIlxmNDk5IjsgfQoKLmlvbi1pb3MtcmVkby1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5OCI7IH0KCi5pb24taW9zLXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogIlxmNDljIjsgfQoKLmlvbi1pb3MtcmVmcmVzaC1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OWEiOyB9CgouaW9uLWlvcy1yZWZyZXNoLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDliIjsgfQoKLmlvbi1pb3MtcmVsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5ZCI7IH0KCi5pb24taW9zLXJldmVyc2UtY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5ZiI7IH0KCi5pb24taW9zLXJldmVyc2UtY2FtZXJhLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDllIjsgfQoKLmlvbi1pb3MtcmV3aW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhMSI7IH0KCi5pb24taW9zLXJld2luZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhMCI7IH0KCi5pb24taW9zLXJvc2U6YmVmb3JlIHsgY29udGVudDogIlxmNGEzIjsgfQoKLmlvbi1pb3Mtcm9zZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhMiI7IH0KCi5pb24taW9zLXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiAiXGY0YTUiOyB9CgouaW9uLWlvcy1zZWFyY2gtc3Ryb25nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhNCI7IH0KCi5pb24taW9zLXNldHRpbmdzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhNyI7IH0KCi5pb24taW9zLXNldHRpbmdzLXN0cm9uZzpiZWZvcmUgeyBjb250ZW50OiAiXGY0YTYiOyB9CgouaW9uLWlvcy1zaHVmZmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhOSI7IH0KCi5pb24taW9zLXNodWZmbGUtc3Ryb25nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhOCI7IH0KCi5pb24taW9zLXNraXBiYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0YWIiOyB9CgouaW9uLWlvcy1za2lwYmFja3dhcmQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YWEiOyB9CgouaW9uLWlvcy1za2lwZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0YWQiOyB9CgouaW9uLWlvcy1za2lwZm9yd2FyZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhYyI7IH0KCi5pb24taW9zLXNub3d5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhZSI7IH0KCi5pb24taW9zLXNwZWVkb21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiMCI7IH0KCi5pb24taW9zLXNwZWVkb21ldGVyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGFmIjsgfQoKLmlvbi1pb3Mtc3RhcjpiZWZvcmUgeyBjb250ZW50OiAiXGY0YjMiOyB9CgouaW9uLWlvcy1zdGFyLWhhbGY6YmVmb3JlIHsgY29udGVudDogIlxmNGIxIjsgfQoKLmlvbi1pb3Mtc3Rhci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiMiI7IH0KCi5pb24taW9zLXN0b3B3YXRjaDpiZWZvcmUgeyBjb250ZW50OiAiXGY0YjUiOyB9CgouaW9uLWlvcy1zdG9wd2F0Y2gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YjQiOyB9CgouaW9uLWlvcy1zdW5ueTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YjciOyB9CgouaW9uLWlvcy1zdW5ueS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiNiI7IH0KCi5pb24taW9zLXRlbGVwaG9uZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YjkiOyB9CgouaW9uLWlvcy10ZWxlcGhvbmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YjgiOyB9CgouaW9uLWlvcy10ZW5uaXNiYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiYiI7IH0KCi5pb24taW9zLXRlbm5pc2JhbGwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YmEiOyB9CgouaW9uLWlvcy10aHVuZGVyc3Rvcm06YmVmb3JlIHsgY29udGVudDogIlxmNGJkIjsgfQoKLmlvbi1pb3MtdGh1bmRlcnN0b3JtLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGJjIjsgfQoKLmlvbi1pb3MtdGltZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YmYiOyB9CgouaW9uLWlvcy10aW1lLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGJlIjsgfQoKLmlvbi1pb3MtdGltZXI6YmVmb3JlIHsgY29udGVudDogIlxmNGMxIjsgfQoKLmlvbi1pb3MtdGltZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YzAiOyB9CgouaW9uLWlvcy10b2dnbGU6YmVmb3JlIHsgY29udGVudDogIlxmNGMzIjsgfQoKLmlvbi1pb3MtdG9nZ2xlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGMyIjsgfQoKLmlvbi1pb3MtdHJhc2g6YmVmb3JlIHsgY29udGVudDogIlxmNGM1IjsgfQoKLmlvbi1pb3MtdHJhc2gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YzQiOyB9CgouaW9uLWlvcy11bmRvOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjNyI7IH0KCi5pb24taW9zLXVuZG8tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YzYiOyB9CgouaW9uLWlvcy11bmxvY2tlZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0YzkiOyB9CgouaW9uLWlvcy11bmxvY2tlZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjOCI7IH0KCi5pb24taW9zLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0Y2IiOyB9CgouaW9uLWlvcy11cGxvYWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0Y2EiOyB9CgouaW9uLWlvcy12aWRlb2NhbTpiZWZvcmUgeyBjb250ZW50OiAiXGY0Y2QiOyB9CgouaW9uLWlvcy12aWRlb2NhbS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjYyI7IH0KCi5pb24taW9zLXZvbHVtZS1oaWdoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjZSI7IH0KCi5pb24taW9zLXZvbHVtZS1sb3c6YmVmb3JlIHsgY29udGVudDogIlxmNGNmIjsgfQoKLmlvbi1pb3Mtd2luZWdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkMSI7IH0KCi5pb24taW9zLXdpbmVnbGFzcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkMCI7IH0KCi5pb24taW9zLXdvcmxkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkMyI7IH0KCi5pb24taW9zLXdvcmxkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGQyIjsgfQoKLmlvbi1pcGFkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmOSI7IH0KCi5pb24taXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmYSI7IH0KCi5pb24taXBvZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxZmIiOyB9CgouaW9uLWpldDpiZWZvcmUgeyBjb250ZW50OiAiXGYyOTUiOyB9CgouaW9uLWtleTpiZWZvcmUgeyBjb250ZW50OiAiXGYyOTYiOyB9CgouaW9uLWtuaWZlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI5NyI7IH0KCi5pb24tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmYyI7IH0KCi5pb24tbGVhZjpiZWZvcmUgeyBjb250ZW50OiAiXGYxZmQiOyB9CgouaW9uLWxldmVsczpiZWZvcmUgeyBjb250ZW50OiAiXGYyOTgiOyB9CgouaW9uLWxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiAiXGYyOTkiOyB9CgouaW9uLWxpbms6YmVmb3JlIHsgY29udGVudDogIlxmMWZlIjsgfQoKLmlvbi1sb2FkLWE6YmVmb3JlIHsgY29udGVudDogIlxmMjlhIjsgfQoKLmlvbi1sb2FkLWI6YmVmb3JlIHsgY29udGVudDogIlxmMjliIjsgfQoKLmlvbi1sb2FkLWM6YmVmb3JlIHsgY29udGVudDogIlxmMjljIjsgfQoKLmlvbi1sb2FkLWQ6YmVmb3JlIHsgY29udGVudDogIlxmMjlkIjsgfQoKLmlvbi1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiAiXGYxZmYiOyB9CgouaW9uLWxvY2stY29tYmluYXRpb246YmVmb3JlIHsgY29udGVudDogIlxmNGQ0IjsgfQoKLmlvbi1sb2NrZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMjAwIjsgfQoKLmlvbi1sb2ctaW46YmVmb3JlIHsgY29udGVudDogIlxmMjllIjsgfQoKLmlvbi1sb2ctb3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI5ZiI7IH0KCi5pb24tbG9vcDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDEiOyB9CgouaW9uLW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTAiOyB9CgouaW9uLW1hbGU6YmVmb3JlIHsgY29udGVudDogIlxmMmExIjsgfQoKLmlvbi1tYW46YmVmb3JlIHsgY29udGVudDogIlxmMjAyIjsgfQoKLmlvbi1tYXA6YmVmb3JlIHsgY29udGVudDogIlxmMjAzIjsgfQoKLmlvbi1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogIlxmMmEyIjsgfQoKLmlvbi1tZXJnZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzM2YiOyB9CgouaW9uLW1pYy1hOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwNCI7IH0KCi5pb24tbWljLWI6YmVmb3JlIHsgY29udGVudDogIlxmMjA1IjsgfQoKLmlvbi1taWMtYzpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDYiOyB9CgouaW9uLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwOSI7IH0KCi5pb24tbWludXMtY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDciOyB9CgouaW9uLW1pbnVzLXJvdW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwOCI7IH0KCi5pb24tbW9kZWwtczpiZWZvcmUgeyBjb250ZW50OiAiXGYyYzEiOyB9CgouaW9uLW1vbml0b3I6YmVmb3JlIHsgY29udGVudDogIlxmMjBhIjsgfQoKLmlvbi1tb3JlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwYiI7IH0KCi5pb24tbW91c2U6YmVmb3JlIHsgY29udGVudDogIlxmMzQwIjsgfQoKLmlvbi1tdXNpYy1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwYyI7IH0KCi5pb24tbmF2aWNvbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMGUiOyB9CgouaW9uLW5hdmljb24tcm91bmQ6YmVmb3JlIHsgY29udGVudDogIlxmMjBkIjsgfQoKLmlvbi1uYXZpZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTMiOyB9CgouaW9uLW5ldHdvcms6YmVmb3JlIHsgY29udGVudDogIlxmMzQxIjsgfQoKLmlvbi1uby1zbW9raW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJjMiI7IH0KCi5pb24tbnVjbGVhcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTQiOyB9CgouaW9uLW91dGxldDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNDIiOyB9CgouaW9uLXBhaW50YnJ1c2g6YmVmb3JlIHsgY29udGVudDogIlxmNGQ1IjsgfQoKLmlvbi1wYWludGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZDYiOyB9CgouaW9uLXBhcGVyLWFpcnBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJjMyI7IH0KCi5pb24tcGFwZXJjbGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwZiI7IH0KCi5pb24tcGF1c2U6YmVmb3JlIHsgY29udGVudDogIlxmMjEwIjsgfQoKLmlvbi1wZXJzb246YmVmb3JlIHsgY29udGVudDogIlxmMjEzIjsgfQoKLmlvbi1wZXJzb24tYWRkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxMSI7IH0KCi5pb24tcGVyc29uLXN0YWxrZXI6YmVmb3JlIHsgY29udGVudDogIlxmMjEyIjsgfQoKLmlvbi1waWUtZ3JhcGg6YmVmb3JlIHsgY29udGVudDogIlxmMmE1IjsgfQoKLmlvbi1waW46YmVmb3JlIHsgY29udGVudDogIlxmMmE2IjsgfQoKLmlvbi1waW5wb2ludDpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTciOyB9CgouaW9uLXBpenphOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhOCI7IH0KCi5pb24tcGxhbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjE0IjsgfQoKLmlvbi1wbGFuZXQ6YmVmb3JlIHsgY29udGVudDogIlxmMzQzIjsgfQoKLmlvbi1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxNSI7IH0KCi5pb24tcGxheXN0YXRpb246YmVmb3JlIHsgY29udGVudDogIlxmMzBhIjsgfQoKLmlvbi1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxOCI7IH0KCi5pb24tcGx1cy1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxNiI7IH0KCi5pb24tcGx1cy1yb3VuZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTciOyB9CgouaW9uLXBvZGl1bTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNDQiOyB9CgouaW9uLXBvdW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxOSI7IH0KCi5pb24tcG93ZXI6YmVmb3JlIHsgY29udGVudDogIlxmMmE5IjsgfQoKLmlvbi1wcmljZXRhZzpiZWZvcmUgeyBjb250ZW50OiAiXGYyYWEiOyB9CgouaW9uLXByaWNldGFnczpiZWZvcmUgeyBjb250ZW50OiAiXGYyYWIiOyB9CgouaW9uLXByaW50ZXI6YmVmb3JlIHsgY29udGVudDogIlxmMjFhIjsgfQoKLmlvbi1wdWxsLXJlcXVlc3Q6YmVmb3JlIHsgY29udGVudDogIlxmMzQ1IjsgfQoKLmlvbi1xci1zY2FubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM0NiI7IH0KCi5pb24tcXVvdGU6YmVmb3JlIHsgY29udGVudDogIlxmMzQ3IjsgfQoKLmlvbi1yYWRpby13YXZlczpiZWZvcmUgeyBjb250ZW50OiAiXGYyYWMiOyB9CgouaW9uLXJlY29yZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMWIiOyB9CgouaW9uLXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogIlxmMjFjIjsgfQoKLmlvbi1yZXBseTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMWUiOyB9CgouaW9uLXJlcGx5LWFsbDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMWQiOyB9CgouaW9uLXJpYmJvbi1hOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM0OCI7IH0KCi5pb24tcmliYm9uLWI6YmVmb3JlIHsgY29udGVudDogIlxmMzQ5IjsgfQoKLmlvbi1zYWQ6YmVmb3JlIHsgY29udGVudDogIlxmMzRhIjsgfQoKLmlvbi1zYWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZDciOyB9CgouaW9uLXNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM0YiI7IH0KCi5pb24tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxZiI7IH0KCi5pb24tc2V0dGluZ3M6YmVmb3JlIHsgY29udGVudDogIlxmMmFkIjsgfQoKLmlvbi1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMjAiOyB9CgouaW9uLXNodWZmbGU6YmVmb3JlIHsgY29udGVudDogIlxmMjIxIjsgfQoKLmlvbi1za2lwLWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyMiI7IH0KCi5pb24tc2tpcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyMyI7IH0KCi5pb24tc29jaWFsLWFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogIlxmMjI1IjsgfQoKLmlvbi1zb2NpYWwtYW5kcm9pZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyNCI7IH0KCi5pb24tc29jaWFsLWFuZ3VsYXI6YmVmb3JlIHsgY29udGVudDogIlxmNGQ5IjsgfQoKLmlvbi1zb2NpYWwtYW5ndWxhci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkOCI7IH0KCi5pb24tc29jaWFsLWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyNyI7IH0KCi5pb24tc29jaWFsLWFwcGxlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjI2IjsgfQoKLmlvbi1zb2NpYWwtYml0Y29pbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyYWYiOyB9CgouaW9uLXNvY2lhbC1iaXRjb2luLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMmFlIjsgfQoKLmlvbi1zb2NpYWwtYnVmZmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyOSI7IH0KCi5pb24tc29jaWFsLWJ1ZmZlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyOCI7IH0KCi5pb24tc29jaWFsLWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZGIiOyB9CgouaW9uLXNvY2lhbC1jaHJvbWUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZGEiOyB9CgouaW9uLXNvY2lhbC1jb2RlcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkZCI7IH0KCi5pb24tc29jaWFsLWNvZGVwZW4tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZGMiOyB9CgouaW9uLXNvY2lhbC1jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkZiI7IH0KCi5pb24tc29jaWFsLWNzczMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZGUiOyB9CgouaW9uLXNvY2lhbC1kZXNpZ25lcm5ld3M6YmVmb3JlIHsgY29udGVudDogIlxmMjJiIjsgfQoKLmlvbi1zb2NpYWwtZGVzaWduZXJuZXdzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjJhIjsgfQoKLmlvbi1zb2NpYWwtZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogIlxmMjJkIjsgfQoKLmlvbi1zb2NpYWwtZHJpYmJibGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMmMiOyB9CgouaW9uLXNvY2lhbC1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyZiI7IH0KCi5pb24tc29jaWFsLWRyb3Bib3gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMmUiOyB9CgouaW9uLXNvY2lhbC1ldXJvOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlMSI7IH0KCi5pb24tc29jaWFsLWV1cm8tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZTAiOyB9CgouaW9uLXNvY2lhbC1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiAiXGYyMzEiOyB9CgouaW9uLXNvY2lhbC1mYWNlYm9vay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzMCI7IH0KCi5pb24tc29jaWFsLWZvdXJzcXVhcmU6YmVmb3JlIHsgY29udGVudDogIlxmMzRkIjsgfQoKLmlvbi1zb2NpYWwtZm91cnNxdWFyZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM0YyI7IH0KCi5pb24tc29jaWFsLWZyZWVic2QtZGV2aWw6YmVmb3JlIHsgY29udGVudDogIlxmMmM0IjsgfQoKLmlvbi1zb2NpYWwtZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzMyI7IH0KCi5pb24tc29jaWFsLWdpdGh1Yi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzMiI7IH0KCi5pb24tc29jaWFsLWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNGYiOyB9CgouaW9uLXNvY2lhbC1nb29nbGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNGUiOyB9CgouaW9uLXNvY2lhbC1nb29nbGVwbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzNSI7IH0KCi5pb24tc29jaWFsLWdvb2dsZXBsdXMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMzQiOyB9CgouaW9uLXNvY2lhbC1oYWNrZXJuZXdzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzNyI7IH0KCi5pb24tc29jaWFsLWhhY2tlcm5ld3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMzYiOyB9CgouaW9uLXNvY2lhbC1odG1sNTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZTMiOyB9CgouaW9uLXNvY2lhbC1odG1sNS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlMiI7IH0KCi5pb24tc29jaWFsLWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNTEiOyB9CgouaW9uLXNvY2lhbC1pbnN0YWdyYW0tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNTAiOyB9CgouaW9uLXNvY2lhbC1qYXZhc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlNSI7IH0KCi5pb24tc29jaWFsLWphdmFzY3JpcHQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZTQiOyB9CgouaW9uLXNvY2lhbC1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMzkiOyB9CgouaW9uLXNvY2lhbC1saW5rZWRpbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzOCI7IH0KCi5pb24tc29jaWFsLW1hcmtkb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlNiI7IH0KCi5pb24tc29jaWFsLW5vZGVqczpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZTciOyB9CgouaW9uLXNvY2lhbC1vY3RvY2F0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlOCI7IH0KCi5pb24tc29jaWFsLXBpbnRlcmVzdDpiZWZvcmUgeyBjb250ZW50OiAiXGYyYjEiOyB9CgouaW9uLXNvY2lhbC1waW50ZXJlc3Qtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyYjAiOyB9CgouaW9uLXNvY2lhbC1weXRob246YmVmb3JlIHsgY29udGVudDogIlxmNGU5IjsgfQoKLmlvbi1zb2NpYWwtcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzYiI7IH0KCi5pb24tc29jaWFsLXJlZGRpdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzYSI7IH0KCi5pb24tc29jaWFsLXJzczpiZWZvcmUgeyBjb250ZW50OiAiXGYyM2QiOyB9CgouaW9uLXNvY2lhbC1yc3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyM2MiOyB9CgouaW9uLXNvY2lhbC1zYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlYSI7IH0KCi5pb24tc29jaWFsLXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzZiI7IH0KCi5pb24tc29jaWFsLXNreXBlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjNlIjsgfQoKLmlvbi1zb2NpYWwtc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogIlxmNGVjIjsgfQoKLmlvbi1zb2NpYWwtc25hcGNoYXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZWIiOyB9CgouaW9uLXNvY2lhbC10dW1ibHI6YmVmb3JlIHsgY29udGVudDogIlxmMjQxIjsgfQoKLmlvbi1zb2NpYWwtdHVtYmxyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjQwIjsgfQoKLmlvbi1zb2NpYWwtdHV4OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJjNSI7IH0KCi5pb24tc29jaWFsLXR3aXRjaDpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZWUiOyB9CgouaW9uLXNvY2lhbC10d2l0Y2gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZWQiOyB9CgouaW9uLXNvY2lhbC10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0MyI7IH0KCi5pb24tc29jaWFsLXR3aXR0ZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNDIiOyB9CgouaW9uLXNvY2lhbC11c2Q6YmVmb3JlIHsgY29udGVudDogIlxmMzUzIjsgfQoKLmlvbi1zb2NpYWwtdXNkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMzUyIjsgfQoKLmlvbi1zb2NpYWwtdmltZW86YmVmb3JlIHsgY29udGVudDogIlxmMjQ1IjsgfQoKLmlvbi1zb2NpYWwtdmltZW8tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNDQiOyB9CgouaW9uLXNvY2lhbC13aGF0c2FwcDpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZjAiOyB9CgouaW9uLXNvY2lhbC13aGF0c2FwcC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlZiI7IH0KCi5pb24tc29jaWFsLXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogIlxmMjQ3IjsgfQoKLmlvbi1zb2NpYWwtd2luZG93cy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0NiI7IH0KCi5pb24tc29jaWFsLXdvcmRwcmVzczpiZWZvcmUgeyBjb250ZW50OiAiXGYyNDkiOyB9CgouaW9uLXNvY2lhbC13b3JkcHJlc3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNDgiOyB9CgouaW9uLXNvY2lhbC15YWhvbzpiZWZvcmUgeyBjb250ZW50OiAiXGYyNGIiOyB9CgouaW9uLXNvY2lhbC15YWhvby1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0YSI7IH0KCi5pb24tc29jaWFsLXllbjpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZjIiOyB9CgouaW9uLXNvY2lhbC15ZW4tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZjEiOyB9CgouaW9uLXNvY2lhbC15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0ZCI7IH0KCi5pb24tc29jaWFsLXlvdXR1YmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNGMiOyB9CgouaW9uLXNvdXAtY2FuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRmNCI7IH0KCi5pb24tc291cC1jYW4tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZjMiOyB9CgouaW9uLXNwZWFrZXJwaG9uZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyYjIiOyB9CgouaW9uLXNwZWVkb21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiMyI7IH0KCi5pb24tc3Bvb246YmVmb3JlIHsgY29udGVudDogIlxmMmI0IjsgfQoKLmlvbi1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0ZSI7IH0KCi5pb24tc3RhdHMtYmFyczpiZWZvcmUgeyBjb250ZW50OiAiXGYyYjUiOyB9CgouaW9uLXN0ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMwYiI7IH0KCi5pb24tc3RvcDpiZWZvcmUgeyBjb250ZW50OiAiXGYyNGYiOyB9CgouaW9uLXRoZXJtb21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiNiI7IH0KCi5pb24tdGh1bWJzZG93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYyNTAiOyB9CgouaW9uLXRodW1ic3VwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1MSI7IH0KCi5pb24tdG9nZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1NSI7IH0KCi5pb24tdG9nZ2xlLWZpbGxlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNTQiOyB9CgouaW9uLXRyYW5zZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRmNSI7IH0KCi5pb24tdHJhc2gtYTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNTIiOyB9CgouaW9uLXRyYXNoLWI6YmVmb3JlIHsgY29udGVudDogIlxmMjUzIjsgfQoKLmlvbi10cm9waHk6YmVmb3JlIHsgY29udGVudDogIlxmMzU2IjsgfQoKLmlvbi10c2hpcnQ6YmVmb3JlIHsgY29udGVudDogIlxmNGY3IjsgfQoKLmlvbi10c2hpcnQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZjYiOyB9CgouaW9uLXVtYnJlbGxhOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiNyI7IH0KCi5pb24tdW5pdmVyc2l0eTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNTciOyB9CgouaW9uLXVubG9ja2VkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1NCI7IH0KCi5pb24tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1NSI7IH0KCi5pb24tdXNiOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiOCI7IH0KCi5pb24tdmlkZW9jYW1lcmE6YmVmb3JlIHsgY29udGVudDogIlxmMjU2IjsgfQoKLmlvbi12b2x1bWUtaGlnaDpiZWZvcmUgeyBjb250ZW50OiAiXGYyNTciOyB9CgouaW9uLXZvbHVtZS1sb3c6YmVmb3JlIHsgY29udGVudDogIlxmMjU4IjsgfQoKLmlvbi12b2x1bWUtbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1OSI7IH0KCi5pb24tdm9sdW1lLW11dGU6YmVmb3JlIHsgY29udGVudDogIlxmMjVhIjsgfQoKLmlvbi13YW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1OCI7IH0KCi5pb24td2F0ZXJkcm9wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1YiI7IH0KCi5pb24td2lmaTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNWMiOyB9CgouaW9uLXdpbmVnbGFzczpiZWZvcmUgeyBjb250ZW50OiAiXGYyYjkiOyB9CgouaW9uLXdvbWFuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1ZCI7IH0KCi5pb24td3JlbmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiYSI7IH0KCi5pb24teGJveDpiZWZvcmUgeyBjb250ZW50OiAiXGYzMGMiOyB9Cg=="}},"time_used":344,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":98,"receive":246,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.863Z","timestamp":1785123385863,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:19 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:19 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:41 GMT\r\ncontent-type: font/woff2\r\nage: 397566\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48320,"size_decoded":49133,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48320, version 1.0","md5":"dcf31ebe107435bd68e0164d59e19b87","sha1":"b68160c9333af833fe483928b3ef7128c07a56a0","sha256":"d8e4fe0452aa2076429a9bb5d8757d00a994dd95986cf950e9a1a371b9a072a0","sha512":"130cd52c3cccc36a7029bf92b2ddb363b8b36d206454aacc246739919552fccec5cacbad615ba4ac3817da3e83239371fe51324bdadd08357e3495087f62cb08","ssdeep":"768:Jzqdwl5YV7FVmpudK5a8dF8D8Z7J78VGnNFZEKh02dmSTPe9UiallHcOEi2c0NC1:9q+SYuMaVwZ7oGRNh02dd6UialBcOEpE","tlshash":"1623f218f29471f7edecd4d500a18c72baa528d442f116ed07b8d53ca36ca817a729fb","first_seen":"2025-09-17T00:07:53.723302Z","last_seen":"2026-07-31T13:42:10.650403Z","times_seen":318889,"resource_available":false,"data":"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"}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":11,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/style-CliJwUTR.css","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:29.452Z","timestamp":1785123389452,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/style-CliJwUTR.css HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.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\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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/2 200 \r\ndate: Mon, 27 Jul 2026 03:36:29 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-8d68\"\r\nexpires: Wed, 07 Jul 2027 08:30:01 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k+eurH2281cgv92QoQ3CUo8WBp+7yJI2ksu/43smA5NuRGsMDrKHPM62n8Gh+ILELhP7Kjg\r\nx-77-nzt-ray: e2f75420b1f4b63a3dd2666acce7251b\r\nx-77-cache: HIT\r\nx-77-age: 1710347\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":36200,"size_decoded":8208,"mime_type":"text/css","magic":"ASCII text, with very long lines (36187)","md5":"840dfdb09fc1a11a5c3a5b5f808e3160","sha1":"46140a50b100fa33b974027c13bb9f2de5c784b7","sha256":"b5b9a339413a55a0d828ab6be236e2a495594a19fb3283f846c607d7b6996ad7","sha512":"61e37700ee60ed584c8ae7b6313c5dddf6950c9664aa57f32bb4a70d775b1a1d5bfc249c6c1238495ef2cb7e12bae5f00c4ddb3df4dde44a01081117b74e2ba2","ssdeep":"384:F8fY2l091g7Tc6/WYtGLadKzSVX8Kj6+eZcrNSN56qB56YR9evZLLq51vZLLq5G:F8wM091gTcCWYtG4XqcrNSN56DwQ43","tlshash":"05f2966daad9093dac23c179e3f8e58c911af5d5df3226daf74239008ac17ff0986514","first_seen":"2026-07-07T11:50:17.712499Z","last_seen":"2026-07-31T12:31:34.739352Z","times_seen":2993,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":19,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/menuzord-megamenu.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:24.997Z","timestamp":1785123384997,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/menuzord-megamenu.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"2e43-65fd8520-c73c257600221755;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2277\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":11843,"size_decoded":2717,"mime_type":"text/css","magic":"ASCII text, with very long lines (11624)","md5":"0e3720a1c9ffc470a819dd9858e979fc","sha1":"1300050e9d7ab2d8fdb9bc8da3da6f6e8ba4b83e","sha256":"03385e8e4e1a6f7a05c16f5e5a1bc0467a8cbfd955fac03dbb80829afce39fad","sha512":"42523b5bc51abfc0adcea914c0d08fa46bc26e34a682c2340e1b74a419ffb0518425c32c95966792bba1501a786f27925791362d5624459a99c6dde722cced29","ssdeep":"192:y/TvbH7o4Z851cII+sn6NA7ul/RyQdkb+sZ7GnfEcDMsdct9U6HFvf4tEhCKabUs:WTG51cII+sn6NA7ul/kQdk6stGnfEcDt","tlshash":"28320e84fdd5603c55eed2859493abf043374379fb0dd4a069d340aeae8972168e3f8a","first_seen":"2023-06-16T06:27:18Z","last_seen":"2026-07-27T14:34:25.265982Z","times_seen":83,"resource_available":false,"data":"LyoKICogCU1lbnV6b3JkLVJlc3BvbnNpdmUtTWVnYW1lbnUKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLypJdGVtIG5hbWU6IE1lbnV6b3JkIC0gUmVzcG9uc2l2ZSAKTWVnYW1lbnVBdXRob3I6IG1hcmNvYXJpYiAtIG1hcmNvLmFyaWJAZ21haWwuY29tCkxpY2Vuc2U6IGh0dHA6Ly9jb2RlY2FueW9uLm5ldC9saWNlbnNlcwoqLwoubWVudXpvcmQsLm1lbnV6b3JkICp7Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7fS5tZW51em9yZHt3aWR0aDogMTAwJTtwYWRkaW5nOiAwIDMwcHg7ZmxvYXQ6IGxlZnQ7cG9zaXRpb246IHJlbGF0aXZlO2JhY2tncm91bmQ6ICNmZmY7fS5tZW51em9yZCBhey1vLXRyYW5zaXRpb246IGNvbG9yIC4zcyBsaW5lYXIsIGJhY2tncm91bmQgLjNzIGxpbmVhcjstbW96LXRyYW5zaXRpb246IGNvbG9yIC4zcyBsaW5lYXIsIGJhY2tncm91bmQgLjNzIGxpbmVhcjstd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIC4zcyBsaW5lYXIsIGJhY2tncm91bmQgLjNzIGxpbmVhcjt0cmFuc2l0aW9uOiBjb2xvciAuM3MgbGluZWFyLCBiYWNrZ3JvdW5kIC4zcyBsaW5lYXI7fS8qIHNjcm9sbGFibGUgbWVudSAqLy5tZW51em9yZC1tZW51LnNjcm9sbGFibGUgPiAuc2Nyb2xsYWJsZS1maXh7ZGlzcGxheTogbm9uZTt9LyogMiAtIEJSQU5EPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5tZW51em9yZC1icmFuZHttYXJnaW46IDE4cHggMzBweCAwIDA7ZmxvYXQ6IGxlZnQ7Y29sb3I6ICM2NjY7dGV4dC1kZWNvcmF0aW9uOiBub25lO2ZvbnQtc2l6ZTogMjRweDtmb250LXdlaWdodDogNjAwO2xpbmUtaGVpZ2h0OiAxLjM7Y3Vyc29yOiBwb2ludGVyO30vKiAzIC0gTUVOVT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8ubWVudXpvcmQtbWVudXttYXJnaW46IDA7cGFkZGluZzogMDtsaXN0LXN0eWxlOiBub25lO30vKiBSaWdodCBhbGlnbm1lbnQgKi8ubWVudXpvcmQtbWVudS5tZW51em9yZC1yaWdodHtmbG9hdDogcmlnaHQ7fS8qIE1lbnUgaXRlbXMgKi8ubWVudXpvcmQtbWVudSA+IGxpe2Rpc3BsYXk6IGlubGluZS1ibG9jaztmbG9hdDogbGVmdDt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IGF7cGFkZGluZzogMjZweCAxNnB4O2Rpc3BsYXk6IGlubGluZS1ibG9jazt0ZXh0LWRlY29yYXRpb246IG5vbmU7Zm9udC1zaXplOiAxNHB4O2ZvbnQtd2VpZ2h0OiA2MDA7Y29sb3I6ICM4ODg7b3V0bGluZTogMDtsaW5lLWhlaWdodDogMS40Mjg1NzE0Mzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDt9LyogQWN0aXZlL2hvdmVyIHN0YXRlIChNZW51IGl0ZW1zKSAqLy5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwubWVudXpvcmQtbWVudSA+IGxpOmhvdmVyID4gYXtjb2xvcjogIzMzMzt9LyogNCAtIERST1BET1dOPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duLC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpIHVsLmRyb3Bkb3due2xpc3Qtc3R5bGU6IG5vbmU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7ICAgZGlzcGxheTogbm9uZTtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk7bWluLXdpZHRoOiAxODBweDt3aGl0ZS1zcGFjZTogbm93cmFwO2JhY2tncm91bmQ6ICNmZmY7fS5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpIHVsLmRyb3Bkb3due2xlZnQ6IDEwMCU7fS8qIERyb3Bkb3duIGl0ZW1zICovLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGl7Y2xlYXI6IGJvdGg7d2lkdGg6IDEwMCU7Ym9yZGVyOiAwIG5vbmU7Zm9udC1zaXplOiAxMnB4O3Bvc2l0aW9uOiByZWxhdGl2ZTt9Lm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGkgYXt3aWR0aDogMTAwJTtiYWNrZ3JvdW5kOiBub25lO3BhZGRpbmc6IDEwcHggMjVweCAxMHB4IDIycHg7Y29sb3I6ICM4ODg7dGV4dC1kZWNvcmF0aW9uOiBub25lO2Rpc3BsYXk6IGlubGluZS1ibG9jaztmbG9hdDogbGVmdDtjbGVhcjogYm90aDtwb3NpdGlvbjogcmVsYXRpdmU7b3V0bGluZTogMDstby10cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBsaW5lYXI7LW1vei10cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBsaW5lYXI7LXdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBsaW5lYXI7dHJhbnNpdGlvbjogcGFkZGluZyAuMnMgbGluZWFyO30vKiBIb3ZlciBzdGF0ZSAoZHJvcGRvd24gaXRlbXMpICovLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBhe3BhZGRpbmctbGVmdDogMjhweDtwYWRkaW5nLXJpZ2h0OiAxOXB4O2NvbG9yOiAjMzMzO30vKiBEcm9wZG93biBsZWZ0IGFsaWdubWVudCAqLy5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duLmRyb3Bkb3duLWxlZnR7bGVmdDogbm9uZTt9Lm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGkgdWwuZHJvcGRvd24uZHJvcGRvd24tbGVmdHtsZWZ0OiAtMTAwJTt9LyogNSAtIERST1BET1dOL01FR0FNRU5VIElORElDQVRPUlM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLm1lbnV6b3JkLW1lbnUgbGkgLmluZGljYXRvcnttYXJnaW4tbGVmdDogM3B4O30ubWVudXpvcmQtbWVudSBsaSB1bC5kcm9wZG93biBsaSAuaW5kaWNhdG9ye3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDhweDtyaWdodDogMTBweDtmb250LXNpemU6IDE1cHg7fS8qIDYgLSBNRUdBTUVOVT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51e3dpZHRoOiAxMDAlO3BhZGRpbmc6IDIwcHggMzBweDtsZWZ0OiAwO3Bvc2l0aW9uOiBhYnNvbHV0ZTtkaXNwbGF5OiBub25lO3otaW5kZXg6IDk5O2JvcmRlci10b3A6IHNvbGlkIDFweCAjZjBmMGYwO2JhY2tncm91bmQ6ICNmZmY7fS8qIDcgLSBNRUdBTUVOVSBXSURUSFM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLyogSGFsZiB3aWR0aCAqLy5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUubWVnYW1lbnUtaGFsZi13aWR0aHt3aWR0aDogNTAlO2xlZnQ6IGF1dG87fS8qIFF1YXJ0ZXIgd2lkdGggKi8ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51Lm1lZ2FtZW51LXF1YXJ0ZXItd2lkdGh7d2lkdGg6IDI1JTtsZWZ0OiBhdXRvO30vKiA4IC0gR1JJRCBTWVNURU09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93e3dpZHRoOiAxMDAlO21hcmdpbi10b3A6IDE1cHg7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdzpmaXJzdC1jaGlsZCB7bWFyZ2luLXRvcDogMDt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93OmJlZm9yZSwubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3c6YWZ0ZXIge2Rpc3BsYXk6IHRhYmxlO2NvbnRlbnQ6ICIiO2xpbmUtaGVpZ2h0OiAwO30ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3c6YWZ0ZXIge2NsZWFyOiBib3RoO30ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEsLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wyLC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMywubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDQsLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w1LC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNiwubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDcsLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w4LC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOSwubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEwLC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTEsLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wxMntkaXNwbGF5OiBibG9jazttaW4taGVpZ2h0OiAyMHB4O2Zsb2F0OiBsZWZ0O21hcmdpbi1sZWZ0OiAzJTt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IFtjbGFzcyo9ImNvbCJdOmZpcnN0LWNoaWxkIHttYXJnaW4tbGVmdDogMDt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wxe3dpZHRoOiA1LjU4MzMzMzMzMzMzMyU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMnt3aWR0aDogMTQuMTY2NjY2NjY2NjY2JTt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wze3dpZHRoOiAyMi43NSU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNHt3aWR0aDogMzEuMzMzMzMzMzMzMzMzJTt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w1e3dpZHRoOiAzOS45MTY2NjY2NjY2NjclO30ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDZ7d2lkdGg6IDQ4LjUlO30ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDd7d2lkdGg6IDU3LjA4MzMzMzMzMzMzMyU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOHt3aWR0aDogNjUuNjY2NjY2NjY2NjY3JTt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w5e3dpZHRoOiA3NC4yNSU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTB7d2lkdGg6IDgyLjgzMzMzMzMzMzMzNCU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTF7d2lkdGg6IDkxLjQxNjY2NjY2NjY2NyU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTJ7d2lkdGg6IDEwMCU7fS8qIDkgLSBTSE9XL0hJREUgQlVUVE9OIChNT0JJTEUgTU9ERSk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLm1lbnV6b3JkIC5zaG93aGlkZXt3aWR0aDogNjBweDtoZWlnaHQ6IDQ2cHg7cGFkZGluZzogMTNweCAwIDA7ZGlzcGxheTogbm9uZTtmbG9hdDogcmlnaHQ7dGV4dC1kZWNvcmF0aW9uOiBub25lO291dGxpbmU6IG5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7fS8qIFNob3cvaGlkZSBidXR0b24gaWNvbiAqLy5tZW51em9yZCAuc2hvd2hpZGUgZW17d2lkdGg6IDIwcHg7aGVpZ2h0OiAzcHg7bWFyZ2luOiAzLjVweCAyMHB4IDA7ZmxvYXQ6IHJpZ2h0O2JhY2tncm91bmQ6ICM3Nzc7fS8qIDEwIC0gSUNPTlMgKHBhcmVudCBtZW51IGl0ZW1zKT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8ubWVudXpvcmQtbWVudSA+IGxpID4gYSA+IGl7bWFyZ2luOiAwIDVweCAwIDA7Zm9udC1zaXplOiAxOHB4O2Zsb2F0OiBsZWZ0O2xpbmUtaGVpZ2h0OiAyMHB4O30vKiAxMSAtIFNFQVJDSCBGSUVMRD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8vKiBGb3JtICovLm1lbnV6b3JkLW1lbnUgPiBsaS5zZWFyY2ggZm9ybXtmbG9hdDogbGVmdDtwYWRkaW5nOiAyMnB4IDE2cHggMTdweDt9LyogSW5wdXQgKi8ubWVudXpvcmQtbWVudSA+IGxpLnNlYXJjaCBmb3JtIGlucHV0W3R5cGU9InRleHQiXXt3aWR0aDogMTYwcHg7cGFkZGluZzogNXB4IDEwcHg7Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO2JvcmRlcjogbm9uZTtiYWNrZ3JvdW5kOiAjZjBmMGYwO2JvcmRlci1yYWRpdXM6IDJweDtvdXRsaW5lOiAwOy1vLXRyYW5zaXRpb246IHdpZHRoIDFzIGVhc2Utb3V0Oy1tb3otdHJhbnNpdGlvbjogd2lkdGggMXMgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAxcyBlYXNlLW91dDt0cmFuc2l0aW9uOiB3aWR0aCAxcyBlYXNlLW91dDt9Lm1lbnV6b3JkLW1lbnUgPiBsaS5zZWFyY2ggZm9ybTpob3ZlciBpbnB1dFt0eXBlPSJ0ZXh0Il17d2lkdGg6IDE2MHB4O30vKiAxMiAtIFZFUlRJQ0FMIFRBQlM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLm1lbnV6b3JkLXRhYnN7d2lkdGg6IDEwMCU7ZmxvYXQ6IGxlZnQ7fS5tZW51em9yZC10YWJzLW5hdnt3aWR0aDogMjAlO21hcmdpbjogMDtwYWRkaW5nOiAwO2Zsb2F0OiBsZWZ0O2xpc3Qtc3R5bGU6IG5vbmU7fS5tZW51em9yZC10YWJzLW5hdiA+IGxpID4gYXt3aWR0aDogMTAwJTtwYWRkaW5nOiA3cHggMTZweDtmbG9hdDogbGVmdDtmb250LXNpemU6IDEzcHg7dGV4dC1kZWNvcmF0aW9uOiBub25lO2NvbG9yOiAjNjY2O2JvcmRlcjogc29saWQgMXB4ICNmMGYwZjA7b3V0bGluZTogMDt9Lm1lbnV6b3JkLXRhYnMtbmF2IGxpLmFjdGl2ZSBhLC5tZW51em9yZC10YWJzLW5hdiBsaTpob3ZlciBhe2JhY2tncm91bmQ6ICNmMGYwZjA7fS5tZW51em9yZC10YWJzLWNvbnRlbnR7d2lkdGg6IDgwJTttaW4taGVpZ2h0OiAzMHB4O3BhZGRpbmc6IDIwcHg7ZmxvYXQ6IHJpZ2h0O2Rpc3BsYXk6IG5vbmU7Zm9udC1zaXplOiAxM3B4O2JvcmRlcjogc29saWQgMXB4ICNmMGYwZjA7fS5tZW51em9yZC10YWJzLWNvbnRlbnQuYWN0aXZle2Rpc3BsYXk6IGJsb2NrO30vKiAxMyAtIENPTE9SIFNDSEVNRVM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLyogYmx1ZSAqLy5tZW51em9yZC5ibHVlIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwgLm1lbnV6b3JkLmJsdWUgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5tZW51em9yZC5ibHVlIC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpOmhvdmVyID4gYXsgY29sb3I6ICM0QTg5REM7IH0vKiBncmVlbiAqLy5tZW51em9yZC5ncmVlbiAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIC5tZW51em9yZC5ncmVlbiAubWVudXpvcmQtbWVudSA+IGxpOmhvdmVyID4gYSwgLm1lbnV6b3JkLmdyZWVuIC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpOmhvdmVyID4gYXsgY29sb3I6ICMzN0JDOUI7IH0vKiByZWQgKi8ubWVudXpvcmQucmVkIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwgLm1lbnV6b3JkLnJlZCAubWVudXpvcmQtbWVudSA+IGxpOmhvdmVyID4gYSwgLm1lbnV6b3JkLnJlZCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IGNvbG9yOiAjRTk1NzNGOyB9Lyogb3JhbmdlICovLm1lbnV6b3JkLm9yYW5nZSAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIC5tZW51em9yZC5vcmFuZ2UgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5tZW51em9yZC5vcmFuZ2UgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBheyBjb2xvcjogI2ZmNjcwZjsgfS8qIHllbGxvdyAqLy5tZW51em9yZC55ZWxsb3cgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCAubWVudXpvcmQueWVsbG93IC5tZW51em9yZC1tZW51ID4gbGk6aG92ZXIgPiBhLCAubWVudXpvcmQueWVsbG93IC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpOmhvdmVyID4gYXsgY29sb3I6ICNGNkJCNDI7IH0vKiBwdXJwbGUgKi8ubWVudXpvcmQucHVycGxlIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwgLm1lbnV6b3JkLnB1cnBsZSAubWVudXpvcmQtbWVudSA+IGxpOmhvdmVyID4gYSwgLm1lbnV6b3JkLnB1cnBsZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IGNvbG9yOiAjOTY3QURDOyB9LyogcGluayAqLy5tZW51em9yZC5waW5rIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwgLm1lbnV6b3JkLnBpbmsgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5tZW51em9yZC5waW5rIC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpOmhvdmVyID4gYXsgY29sb3I6ICNENzcwQUQ7IH0vKiAxNCAtIE1PQklMRSBNT0RFIChSRVNQT05TSVZFIE1PREUpPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL0BtZWRpYSAobWF4LXdpZHRoOiA5MDBweCl7LyogUmVzcG9uc2l2ZSBtZW51IGNvbnRhaW5lciAqLy5tZW51em9yZC1yZXNwb25zaXZlLm1lbnV6b3Jke3BhZGRpbmc6IDA7fS8qIEJyYW5kICovLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLWJyYW5ke21hcmdpbjogOHB4IDMwcHggMTBweCAyMHB4O2ZvbnQtc2l6ZTogMjBweDtsaW5lLWhlaWdodDogMS41NTt9LyogU2hvdy9oaWRlIGJ1dHRvbiAqLy5tZW51em9yZC1yZXNwb25zaXZlIC5zaG93aGlkZXttYXJnaW46IDA7fS8qIE1lbnUgKi8ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudXt3aWR0aDogMTAwJTtmbG9hdDogbGVmdCAhaW1wb3J0YW50O30vKiBzY3JvbGxhYmxlIG1lbnUqLy5tZW51em9yZC1yZXNwb25zaXZlIC5tZW51em9yZC1tZW51LnNjcm9sbGFibGV7b3ZlcmZsb3cteTogYXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7fS5tZW51em9yZC1yZXNwb25zaXZlIC5tZW51em9yZC1tZW51LnNjcm9sbGFibGUgPiAuc2Nyb2xsYWJsZS1maXh7ZGlzcGxheTogYmxvY2s7fS8qIE1lbnUgaXRlbXMgKi8ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpe3dpZHRoOiAxMDAlO2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiByZWxhdGl2ZTt9Lm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGF7d2lkdGg6IDEwMCU7cGFkZGluZzogMTJweCAyMHB4O2Rpc3BsYXk6IGJsb2NrO2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjBmMGYwO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpOmZpcnN0LWNoaWxkID4gYXtib3JkZXItdG9wOiBzb2xpZCAxcHggI2YwZjBmMDt9LyogRHJvcGRvd24gKi8ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biwubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSB1bC5kcm9wZG93bnt3aWR0aDogMTAwJTtsZWZ0OiAwO3Bvc2l0aW9uOiBzdGF0aWM7Ym9yZGVyOiBub25lO2JhY2tncm91bmQ6ICNmZmY7ZmxvYXQ6IGxlZnQ7fS8qIERyb3Bkb3duIGl0ZW1zICovLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGl7cG9zaXRpb246IHJlbGF0aXZlO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSBhe2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjBmMGYwO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudS5tZW51em9yZC1pbmRlbnRlZCA+IGxpID4gdWwuZHJvcGRvd24gPiBsaSA+IGF7IHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50OyB9Lm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUubWVudXpvcmQtaW5kZW50ZWQgPiBsaSA+IHVsLmRyb3Bkb3duID4gbGkgPiB1bC5kcm9wZG93biA+IGxpID4gYXsgcGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnQ7IH0ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudS5tZW51em9yZC1pbmRlbnRlZCA+IGxpID4gdWwuZHJvcGRvd24gPiBsaSA+IHVsLmRyb3Bkb3duID4gbGkgPiB1bC5kcm9wZG93biA+IGxpID4gYXsgcGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7IH0ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudS5tZW51em9yZC1pbmRlbnRlZCA+IGxpID4gdWwuZHJvcGRvd24gPiBsaTpob3ZlciA+IGF7IHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50OyB9Lm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUubWVudXpvcmQtaW5kZW50ZWQgPiBsaSA+IHVsLmRyb3Bkb3duID4gbGkgPiB1bC5kcm9wZG93biA+IGxpOmhvdmVyID4gYXsgcGFkZGluZy1sZWZ0OiA3MHB4ICFpbXBvcnRhbnQ7IH0ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudS5tZW51em9yZC1pbmRlbnRlZCA+IGxpID4gdWwuZHJvcGRvd24gPiBsaSA+IHVsLmRyb3Bkb3duID4gbGkgPiB1bC5kcm9wZG93biA+IGxpOmhvdmVyID4gYXsgcGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnQ7IH0vKiBEcm9wZG93bi9tZWdhbWVudSBpbmRpY2F0b3JzICovLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgbGkgLmluZGljYXRvcnsJCXdpZHRoOiA2MHB4O2hlaWdodDogNDVweDtwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDA7dG9wOiAwO2ZvbnQtc2l6ZTogMjJweDt0ZXh0LWFsaWduOiBjZW50ZXI7bGluZS1oZWlnaHQ6IDQzcHg7Ym9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjZjVmNWY1O30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSBsaSB1bC5kcm9wZG93biBsaSAuaW5kaWNhdG9ye2hlaWdodDogMzhweDtyaWdodDogMDt0b3A6IDA7Zm9udC1zaXplOiAxOHB4O2xpbmUtaGVpZ2h0OiAzNnB4O30vKiBNZWdhbWVudSAqLy5tZW51em9yZC1yZXNwb25zaXZlIC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnV7d2lkdGg6IDEwMCUgIWltcG9ydGFudDtsZWZ0OiAwICFpbXBvcnRhbnQ7cG9zaXRpb246IHN0YXRpYztib3JkZXItdG9wOiBub25lO2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjBmMGYwO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgW2NsYXNzKj0iY29sIl17ZmxvYXQ6IG5vbmU7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDEwMCUgIWltcG9ydGFudDttYXJnaW4tbGVmdDogMDttYXJnaW4tdG9wOiAxNXB4O30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3c6Zmlyc3QtY2hpbGQgIFtjbGFzcyo9ImNvbCJdOmZpcnN0LWNoaWxkIHttYXJnaW4tdG9wOiAwO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3d7bWFyZ2luLXRvcDogMDt9LyogU2VhcmNoIGZpZWxkICovLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgPiBsaS5zZWFyY2ggZm9ybXt3aWR0aDogMTAwJTttYXJnaW46IDRweCAwO3BhZGRpbmc6IDEwcHggMTZweCAhaW1wb3J0YW50O30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpLnNlYXJjaCBmb3JtIGlucHV0W3R5cGU9InRleHQiXXt3aWR0aDogMTAwJTt9LyogVGFicyAqLy5tZW51em9yZC1yZXNwb25zaXZlIC5tZW51em9yZC10YWJzLW5hdnt3aWR0aDogMTAwJTt9Lm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLXRhYnMtY29udGVudHt3aWR0aDogMTAwJTt9fQo="}},"time_used":223,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":221,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/style-main.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.009Z","timestamp":1785123385009,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/style-main.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"336a9-65fd8520-63f3a79897b99853;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 28655\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":210601,"size_decoded":29097,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"95fdff766aa9717ac38121e3ac3431da","sha1":"f2919ff56f2be43354016eb591ddf4805e287e47","sha256":"d4865def468d6374891e5f0c01cfa3d1e7f91bf6c8b50f86a4e3342908fab826","sha512":"6068372988ac4b5e5b5fc0c8da4eede1bef7aad286af0f8b49e97cd1cf2c253cfbfa025afbec01354eb1fd9cb72550ce4e67a39e808de7ef3c218304f26132f9","ssdeep":"6144:JHOv7oQ4bQbp16L6Vnyrrsw0KZbMsQug6nltJ6MmZHLJlG:JHOv7oQ4bQbp16L6Vnyrrsw0KZbMsQun","tlshash":"182473d5aeb11504301bd2adb1826aa5f73c5012ea0fdcbcbbd2205d9fc96d8817fb49","first_seen":"2025-07-07T00:18:26.2006Z","last_seen":"2026-07-27T12:40:24.59924Z","times_seen":20,"resource_available":false,"data":"QGNoYXJzZXQgInV0Zi04IjsKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KW01hc3RlciBTdHlsZXNoZWV0XQoKUHJvamVjdDogICAgICAgIENyeXB0b1ByZXNzClZlcnNpb246ICAgICAgICAyLjAKTGFzdCBjaGFuZ2U6ICAgIDAxLjE1LjIwMTgKUHJpbWFyeSB1c2U6ICAgIENyeXB0b1ByZXNzIC0gQ3J5cHRvY3VycmVuY3kgUmVzcG9uc2l2ZSBIVE1MNSBUZW1wbGF0ZQpBdXRob3I6ICAgICAgICAgVGhlbWVNYXNjb3QKVVJMOiAgICAgICAgICAgIGh0dHA6Ly90aGVtZWZvcmVzdC5uZXQvdXNlci9UaGVtZU1hc2NvdAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyoKVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBjb21tb24gc3R5bGVzIG9mIHRoaXMgdGhlbWUuCiovCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClt0YWJsZSBvZiBjb250ZW50c10KCiogdHlwb2dyYXBoeS5sZXNzCiogY29tbW9uLmxlc3MKKiBleHRyYS5sZXNzCiogb3ZlcmxheS5sZXNzCiogaGVhZGVyLmxlc3MKKiBuYXYubGVzcwoqIHRvcGJhci5sZXNzCiogaW5uZXItaGVhZGVyLXRpdGxlLmxlc3MKKiB2ZXJ0aWNhbC1uYXYubGVzcwoqIG1lbnUtZnVsbC1wYWdlLmxlc3MKKiBib3hlZC1sYXlvdXQubGVzcwoqIGZvcm0ubGVzcwoqIHNpZGUtcHVzaC1wYW5lbC5sZXNzCiogYm94LWhvdmVyLWVmZmVjdC5sZXNzCiogZ2FsbGVyeS1pc290b3BlLmxlc3MKKiBzbGlkZXIubGVzcwoqIGhvbWUubGVzcwoqIGFib3V0Lmxlc3MKKiBjYXVzZXMubGVzcwoqIHZvbHVudGVlci5sZXNzCiogY29udGFjdC5sZXNzCiogZXZlbnQubGVzcwoqIHByYWN0aWNlLWFyZWEubGVzcwoqIHNlcnZpY2VzLmxlc3MKKiBqb2IubGVzcwoqIHNob3AubGVzcwoqIGJsb2cubGVzcwoqIHNob3J0Y29kZXMubGVzcyAKCSogYWxlcnRzLmxlc3MKCSogYmxvY2txdW90ZS5sZXNzCgkqIGJ1dHRvbnMubGVzcwoJKiBjbGllbnRzLmxlc3MKCSogY291bnRkb3duLVRpbWVyLmxlc3MKCSogY291bnRkb3duLmxlc3MKCSogZGl2aWRlcnMubGVzcwoJKiBmYWNlYm9vay1kaXNxdXMtY29tbWVudHMubGVzcwoJKiBmYXFzLmxlc3MKCSogZmxleC1zbGlkZXIubGVzcwoJKiBmbGlwLWJveC5sZXNzCgkqIGZvbnQtaWNvbnMubGVzcwoJKiBmdW5mYWN0cy5sZXNzCgkqIGluZmluaXRlc2Nyb2xsLmxlc3MKCSogaW5zdGFncmFtLmxlc3MKCSogbGlnaHRib3gubGVzcwoJKiBtYXAubGVzcwoJKiBwZWdpbmF0aW9uLmxlc3MKCSogcHJpY2luZy5sZXNzCgkqIHByb2Nlc3Mtc3RlcHMubGVzcwoJKiBwcm9ncmVzcy1iYXIubGVzcwoJKiBwcm9tby5sZXNzCgkqIHNlY3Rpb24tdGl0bGUubGVzcwoJKiBzZXBhcmF0b3JzLmxlc3MKCSogc3R5bGVkLWljb25zLmxlc3MKCSogdGFicy5sZXNzCgkqIHRlYW1zLmxlc3MKCSogdGVzdGltb25pYWxzLmxlc3MKCSogdG9nZ2xlcy1hY2NvcmRpb25zLmxlc3MKCSogdmVydGljYWwtdGltZWxpbmUubGVzcwoJKiB3b3JraW5nLXByb2Nlc3MubGVzcwoqIEZvb3RlcgoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiovCkBpbXBvcnQgImZvbnQtYXdlc29tZS5taW4uY3NzIjsKQGltcG9ydCAiZm9udC1hd2Vzb21lLWFuaW1hdGlvbi5taW4uY3NzIjsKQGltcG9ydCAicGUtaWNvbi03LXN0cm9rZS5jc3MiOwpAaW1wb3J0ICJlbGVnYW50LWljb25zLmNzcyI7CkBpbXBvcnQgImljb21vb24uY3NzIjsKQGltcG9ydCAiaW9uaWNvbnMuY3NzIjsKLyogQGltcG9ydCAic3Ryb2tlLWdhcC1pY29ucy5jc3MiOyAqLwpAaW1wb3J0ICJ1dGlsaXR5LWNsYXNzZXMuY3NzIjsKQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDYwMCw3MDB8UFQrU2VyaWY6NDAwLDcwMCcpOwovKgogKiB0eXBvZ3JhcGh5Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KOjpzZWxlY3Rpb24gewogIGJhY2tncm91bmQ6ICMzMzMzMzM7CiAgY29sb3I6ICNmZmY7CiAgdGV4dC1zaGFkb3c6IG5vbmU7Cn0KOjotbW96LXNlbGVjdGlvbiB7CiAgYmFja2dyb3VuZDogIzMzMzMzMzsKICAvKiBGaXJlZm94ICovCiAgY29sb3I6ICNmZmY7CiAgdGV4dC1zaGFkb3c6IG5vbmU7Cn0KOjotd2Via2l0LXNlbGVjdGlvbiB7CiAgYmFja2dyb3VuZDogIzMzMzMzMzsKICAvKiBTYWZhcmkgKi8KICBjb2xvcjogI2ZmZjsKICB0ZXh0LXNoYWRvdzogbm9uZTsKfQo6YWN0aXZlLAo6Zm9jdXMgewogIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsKfQpib2R5IHsKICBsaW5lLWhlaWdodDogMS43OwogIGNvbG9yOiAjNzc3Nzc3OwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7Cn0KYSB7CiAgY29sb3I6ICM5OTk5OTk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CmE6aG92ZXIsCmE6Zm9jdXMgewogIGNvbG9yOiAjNzM3MzczOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQphIGltZyB7CiAgYm9yZGVyOiBub25lOwp9CmltZyB7CiAgbWF4LXdpZHRoOiAxMDAlOwp9CmlmcmFtZSB7CiAgYm9yZGVyOiBub25lOwp9Ci8qIC0tLS0tLS0tIEhlYWRpbmdzIC0tLS0tLS0tLS0gKi8KaDEsCi5oMSB7CiAgZm9udC1zaXplOiAzLjRyZW07Cn0KaDIsCi5oMiB7CiAgZm9udC1zaXplOiAycmVtOwp9CmgzLAouaDMgewogIGZvbnQtc2l6ZTogMjRweDsKfQpoNCwKLmg0IHsKICBmb250LXNpemU6IDE4cHg7Cn0KaDUsCi5oNSB7CiAgZm9udC1zaXplOiAxNHB4Owp9Cmg2LAouaDYgewogIGZvbnQtc2l6ZTogMTJweDsKfQpoMSwKaDIsCmgzLApoNCwKaDUsCmg2LAouaDEsCi5oMiwKLmgzLAouaDQsCi5oNSwKLmg2IHsKICBmb250LWZhbWlseTogJ1BUIFNlcmlmJywgc2VyaWY7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsKICBjb2xvcjogIzMzMzMzMzsKfQpoMSBzbWFsbCwKaDIgc21hbGwsCmgzIHNtYWxsLApoNCBzbWFsbCwKaDUgc21hbGwsCmg2IHNtYWxsLAouaDEgc21hbGwsCi5oMiBzbWFsbCwKLmgzIHNtYWxsLAouaDQgc21hbGwsCi5oNSBzbWFsbCwKLmg2IHNtYWxsLApoMSAuc21hbGwsCmgyIC5zbWFsbCwKaDMgLnNtYWxsLApoNCAuc21hbGwsCmg1IC5zbWFsbCwKaDYgLnNtYWxsLAouaDEgLnNtYWxsLAouaDIgLnNtYWxsLAouaDMgLnNtYWxsLAouaDQgLnNtYWxsLAouaDUgLnNtYWxsLAouaDYgLnNtYWxsIHsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGxpbmUtaGVpZ2h0OiAxOwogIGNvbG9yOiAjMzMzMzMzOwp9CmgxIGEsCmgyIGEsCmgzIGEsCmg0IGEsCmg1IGEsCmg2IGEsCi5oMSBhLAouaDIgYSwKLmgzIGEsCi5oNCBhLAouaDUgYSwKLmg2IGEgewogIGNvbG9yOiAjMzMzMzMzOwp9Ci5oMSwKLmgyLAouaDMsCmgxLApoMiwKaDMgewogIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgbWFyZ2luLXRvcDogMTVweDsKfQpoNCwKaDUsCmg2LAouaDQsCi5oNSwKLmg2IHsKICBmb250LXdlaWdodDogNjAwOwp9Ci8qIC0tLS0tLS0tIEJvZHkgVGV4dCAtLS0tLS0tLS0tICovCnAsCnByZSwKdWwsCm9sLApkbCwKZGQsCmJsb2NrcXVvdGUsCmFkZHJlc3MsCnRhYmxlLApmaWVsZHNldCwKZm9ybSB7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKfQovKiAtLS0tLS0tLSBDdXN0b20gRm9udCBGYW1pbHkgLS0tLS0tLS0tLSAqLwouZm9udC1PcGVuc2FucyB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwp9Ci5mb250LU1vbnRzZXJyYXQgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnLCBzZXJpZjsKfQovKiBicmVhZGNydW1iICovCi5icmVhZGNydW1iIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KLmJyZWFkY3J1bWIgPiBsaSArIGxpOjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjIyZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogOXB4Owp9Ci5icmVhZGNydW1iIGxpLmFjdGl2ZSB7CiAgY29sb3I6ICMxMTExMTE7Cn0KLmJyZWFkY3J1bWIgbGkgYSB7CiAgY29sb3I6ICM1NTU1NTU7Cn0KLmJyZWFkY3J1bWIud2hpdGUgbGkgYSB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQouYnJlYWRjcnVtYi53aGl0ZSBsaS5hY3RpdmUgewogIGNvbG9yOiAjYzBjMGMwOwogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgewogIC5icmVhZGNydW1iLnRleHQtcmlnaHQgewogICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgfQp9Ci8qRHJvcCBDYXBzKi8KLmRyb3AtY2FwcyBwIHsKICB0ZXh0LWFsaWduOiBqdXN0aWZ5Owp9Ci5kcm9wLWNhcHMgcDpmaXJzdC1jaGlsZDpmaXJzdC1sZXR0ZXIgewogIGNvbG9yOiAjMTExMTExOwogIGRpc3BsYXk6IGJsb2NrOwogIGZsb2F0OiBsZWZ0OwogIGZvbnQtc2l6ZTogNDhweDsKICBsaW5lLWhlaWdodDogNDhweDsKICBtYXJnaW46IDZweCAzcHg7CiAgcGFkZGluZzogMTBweCAxOHB4Owp9Ci5kcm9wLWNhcHMudGV4dC1jb2xvcmVkIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbGVmdDsKICBmb250LXNpemU6IDQ4cHg7CiAgbGluZS1oZWlnaHQ6IDQ4cHg7CiAgbWFyZ2luOiA2cHggM3B4OwogIHBhZGRpbmc6IDEwcHggMThweDsKfQouZHJvcC1jYXBzLmJvcmRlciBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7CiAgYm9yZGVyOiAxcHggc29saWQ7CiAgbWFyZ2luOiA4cHggMTZweCAwIDA7CiAgcGFkZGluZzogMTVweCAyMHB4Owp9Ci5kcm9wLWNhcHMuYm9yZGVyLXJvdW5kZWQgcDpmaXJzdC1jaGlsZDpmaXJzdC1sZXR0ZXIgewogIGJvcmRlcjogMXB4IHNvbGlkOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBtYXJnaW46IDhweCAxNnB4IDAgMDsKICBwYWRkaW5nOiAxNXB4IDIwcHg7Cn0KLmRyb3AtY2Fwcy5jb2xvcmVkLXNxdWFyZSBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7CiAgY29sb3I6ICNmZmY7CiAgbWFyZ2luOiA4cHggMTZweCAwIDA7CiAgcGFkZGluZzogMTVweCAyMHB4Owp9Ci5kcm9wLWNhcHMuY29sb3JlZC1yb3VuZGVkIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyIHsKICBjb2xvcjogI2ZmZjsKICBtYXJnaW46IDhweCAxNnB4IDAgMDsKICBwYWRkaW5nOiAxNXB4IDIwcHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOwp9Ci5kcm9wLWNhcHMuZGFyay1zcXVhcmUgcDpmaXJzdC1jaGlsZDpmaXJzdC1sZXR0ZXIgewogIGJhY2tncm91bmQ6ICMyMjIyMjI7CiAgY29sb3I6ICNmZmY7CiAgbWFyZ2luOiA4cHggMTZweCAwIDA7CiAgcGFkZGluZzogMTVweCAyMHB4Owp9Ci5kcm9wLWNhcHMuZGFyay1yb3VuZGVkIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyIHsKICBiYWNrZ3JvdW5kOiAjMjIyMjIyOwogIGNvbG9yOiAjZmZmOwogIG1hcmdpbjogOHB4IDE2cHggMCAwOwogIHBhZGRpbmc6IDE1cHggMjBweDsKICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KLypUZXh0IEhpZ2hsaWdodCovCi50ZXh0LWhpZ2hsaWdodCB7CiAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjMTExMTExOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogI2ZmZjsKICBwYWRkaW5nOiAwIDVweCAzcHg7Cn0KLnRleHQtaGlnaGxpZ2h0LmxpZ2h0IHsKICBiYWNrZ3JvdW5kOiAjODA4MDgwOwp9Ci8qCiAqIGNvbW1vbi5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIC0tLS0tLS0tIEJhc2ljIFN0cnVjdHVyZSAtLS0tLS0tLS0tICovCmh0bWwgewogIGZvbnQtc2l6ZTogMTAwJTsKICBtYXgtd2lkdGg6IDEwMCU7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIGh0bWwgewogICAgZm9udC1zaXplOiA5MCU7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICBodG1sIHsKICAgIGZvbnQtc2l6ZTogODUlOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7CiAgaHRtbCB7CiAgICBmb250LXNpemU6IDgwJTsKICB9Cn0KaHRtbCwKaHRtbCBhIHsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKfQpib2R5IHsKICBtYXgtd2lkdGg6IDEwMCU7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwp9CmltZyB7CiAgbWF4LXdpZHRoOiAxMDAlOwp9CnVsLApvbCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKfQouZmx1aWQtdmlkZW8td3JhcHBlciB7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7Cn0KaWZyYW1lIHsKICBib3JkZXI6IG5vbmU7CiAgd2lkdGg6IDEwMCU7Cn0KLmxlYWQgewogIGZvbnQtc2l6ZTogMThweDsKfQoudGV4dC1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgIzExMTExMTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6ICNmZmY7CiAgcGFkZGluZzogMCA1cHggM3B4Owp9Ci50ZXh0LWhpZ2hsaWdodC5saWdodCB7CiAgYmFja2dyb3VuZDogIzgwODA4MDsKfQouaW5saW5lLWJsb2NrIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLmRpc3BsYXktYmxvY2sgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci5mdWxsd2lkdGggewogIHdpZHRoOiAxMDAlOwp9Ci5iZy1ob3Zlci10aGVtZS1jb2xvcmVkIHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwp9Ci8qIFRleHQtZGVjb3JhdGlvbiAqLwoudGV4dC11bmRlcmxpbmUgewogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwp9Ci8qIC0tLS0tLS0tIExpbmUtQm90dG9tIC0tLS0tLS0tLS0gKi8KLmhlYWRpbmctbGluZS1ib3R0b20gewogIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzgwODA4MDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbWFyZ2luOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW46IDIwcHggMDsKfQouaGVhZGluZy1saW5lLWJvdHRvbTo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMnB4OwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNHB4OwogIHdpZHRoOiAyMHB4Owp9Ci5oZWFkaW5nLXRpdGxlIHsKICBtYXJnaW4tdG9wOiAxMHB4Owp9Ci5saW5lLWJvdHRvbSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7Cn0KLmxpbmUtYm90dG9tOmFmdGVyIHsKICBib3R0b206IC0xcHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAycHg7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDUwcHg7Cn0KLnRpdGxlLWljb24gW2NsYXNzXj0iZmxhdGljb24tIl06OmFmdGVyLAoudGl0bGUtaWNvbiBbY2xhc3NePSJmbGF0aWNvbi0iXTo6YmVmb3JlIHsKICBmb250LXNpemU6IDQ4cHg7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7Cn0KLnRpdGxlLWljb24gewogIG1hcmdpbjogMCBhdXRvOwogIG1heC13aWR0aDogMTYwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci50aXRsZS1pY29uOjphZnRlciB7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAycHg7CiAgbGVmdDogMjRweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAxMHB4OwogIHdpZHRoOiAzMHB4Owp9Ci50aXRsZS1pY29uOjpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMnB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMjBweDsKICB0b3A6IDEwcHg7CiAgd2lkdGg6IDMwcHg7Cn0KLyogLS0tLS0tLS0gTGlzdCAtLS0tLS0tLS0tICovCnVsLApvbCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKfQp1bCB1bCwKb2wgdWwgewogIG1hcmdpbi1sZWZ0OiAxNXB4Owp9CnVsLmxpc3QgewogIGxpc3Qtc3R5bGU6IG91dHNpZGUgbm9uZSBub25lOwogIG1hcmdpbi10b3A6IDEzcHg7CiAgcGFkZGluZy1sZWZ0OiAwOwp9CnVsLmxpc3QgbGkgewogIG1hcmdpbjogNXB4IDA7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsLmxpc3QgbGk6YmVmb3JlIHsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6ICNhOWE5YTk7CiAgY29udGVudDogIlxmMTExIjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogOXB4OwogIG1hcmdpbi1yaWdodDogMTBweDsKICBwYWRkaW5nOiAwOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMXB4Owp9CnVsLmxpc3QgbGk6aG92ZXI6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KdWwubGlzdCBsaSBhIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbjsKICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbjsKICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbjsKfQovKiAtLS0tLS0tLSBMaXN0IFdoaXRlIC0tLS0tLS0tLS0gKi8KdWwubGlzdC5saXN0LXdoaXRlIGxpOmJlZm9yZSB7CiAgY29sb3I6ICNmZmY7Cn0KdWwubGlzdC5saXN0LXdoaXRlIGxpOmhvdmVyOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Owp9CnVsLmxpc3QubGlzdC13aGl0ZSBsaSBhIHsKICBjb2xvcjogI2ZmZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbjsKICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbjsKICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbjsKfQovKiAtLS0tLS0tLSBMaXN0IGJvcmRlciBib3R0b20gLS0tLS0tLS0tLSAqLwp1bC5saXN0LWJvcmRlci1ib3R0b20gbGkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOwogIHBhZGRpbmctYm90dG9tOiAxMHB4Owp9CnVsLmxpc3QubGlzdC1ib3JkZXItYm90dG9tIGxpOmxhc3QtY2hpbGQgewogIGJvcmRlci1ib3R0b206IG5vbmU7Cn0KdWwubGlzdC1ib3JkZXItYm90dG9tLm5vLXBhZGRpbmcgbGkgewogIHBhZGRpbmctYm90dG9tOiAwcHg7Cn0KdWwubGlzdC1ib3JkZXItYm90dG9tLm5vLXBhZGRpbmcgbGk6bGFzdC1jaGlsZCB7CiAgYm9yZGVyLWJvdHRvbTogbm9uZTsKfQovKiAtLS0tLS0tLSBMaXN0IEljb25zIC0tLS0tLS0tLS0gKi8KLmxpc3QtYm9yZGVyIGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNkM2QzZDM7CiAgcGFkZGluZzogMTBweCAwOwp9Ci5kYXJrIC5saXN0LWJvcmRlciBsaSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMzMzMzMzOwp9Ci5saXN0LWljb24gbGkgewogIGZvbnQtc2l6ZTogMTRweDsKICBtYXJnaW46IDA7Cn0KLmxpc3QtaWNvbiBsaSBpIHsKICBjb2xvcjogIzU1NTU1NTsKICBmb250LXNpemU6IDE0cHg7CiAgaGVpZ2h0OiAyOHB4OwogIGxpbmUtaGVpZ2h0OiAyOHB4OwogIG1hcmdpbjogNXB4IDEwcHggNXB4IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdpZHRoOiAyOHB4Owp9Ci5saXN0LWljb24uc3F1YXJlIGxpIGkgewogIGJhY2tncm91bmQ6ICNjMGMwYzA7CiAgY29sb3I6ICM1NTU1NTU7CiAgZm9udC1zaXplOiAxMnB4OwogIGhlaWdodDogMjhweDsKICBsaW5lLWhlaWdodDogMjhweDsKICBtYXJnaW46IDVweCAxMHB4IDVweCAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogMjhweDsKfQoubGlzdC1pY29uLnJvdW5kZWQgbGkgaSB7CiAgY29sb3I6ICM1NTU1NTU7CiAgYmFja2dyb3VuZDogI2MwYzBjMDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgZm9udC1zaXplOiAxMnB4OwogIGhlaWdodDogMjhweDsKICBsaW5lLWhlaWdodDogMjhweDsKICBtYXJnaW46IDVweCAxMHB4IDVweCAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogMjhweDsKfQoubGlzdC1pY29uLnRoZW1lLWNvbG9yZWQuc3F1YXJlIGxpIGkgewogIGNvbG9yOiAjZmZmOwp9Ci5saXN0LWljb24udGhlbWUtY29sb3JlZC5yb3VuZGVkIGxpIGkgewogIGNvbG9yOiAjZmZmOwp9Ci8qIC0tLS0tLS0tIFBlcnNvbmFsIEluZm8gTGlzdCAtLS0tLS0tLS0tICovCi5saXN0LWluZm8gbGkgewogIGNsZWFyOiBib3RoOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubGlzdC1pbmZvIGxpIGxhYmVsIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgcGFkZGluZzogNXB4IDAgMDsKfQoubGlzdC1pbmZvIGxpIHNwYW4gewogIGxlZnQ6IDExMHB4OwogIHBhZGRpbmc6IDVweCAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoubGlzdC1mZWF0dXJlcyB7CiAgLW1vei1jb2x1bW4tY291bnQ6IDM7CiAgY29sdW1uLWNvdW50OiAzOwp9Ci5saXN0LWRhc2hlZCA+IGFydGljbGUgewogIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2QzZDNkMyAhaW1wb3J0YW50OwogIG1hcmdpbi1ib3R0b206IDdweDsKICBwYWRkaW5nLWJvdHRvbTogN3B4Owp9Ci5saXN0LWRhc2hlZCA+IGRpdiB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjZDNkM2QzICFpbXBvcnRhbnQ7CiAgbWFyZ2luLWJvdHRvbTogN3B4OwogIHBhZGRpbmctYm90dG9tOiA3cHg7Cn0KLmxpc3QtZGFzaGVkID4gbGkgewogIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2QzZDNkMyAhaW1wb3J0YW50OwogIG1hcmdpbi1ib3R0b206IDdweDsKICBwYWRkaW5nLWJvdHRvbTogN3B4Owp9Ci5saXN0LWRhc2hlZC5kYXJrLWRhc2ggPiBhcnRpY2xlIHsKICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMzMzMzMzMgIWltcG9ydGFudDsKfQoubGlzdC1kYXNoZWQuZGFyay1kYXNoID4gZGl2IHsKICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMzMzMzMzMgIWltcG9ydGFudDsKfQoubGlzdC1kYXNoZWQuZGFyay1kYXNoID4gbGkgewogIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzMzMzMzMyAhaW1wb3J0YW50Owp9CnVsLmxpc3QuY2hlY2sgbGk6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwMGMiOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKICBmb250LXNpemU6IDEycHg7Cn0KdWwubGlzdC5hbmdsZS1kb3VibGUtcmlnaHQgbGk6YmVmb3JlIHsKICBjb250ZW50OiAiXGYxMDEiOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKICBmb250LXNpemU6IDEycHg7Cn0KdWwubGlzdC5hbmdsZS1yaWdodCBsaTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjEwNSI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwp9CnVsLmxpc3QuY2hlY2stY2lyY2xlIGxpOmJlZm9yZSB7CiAgY29udGVudDogIlxmMDU4IjsKICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7CiAgZm9udC1zaXplOiAxNHB4Owp9Ci8qIC0tLS0tLS0tIENhbGwgVG8gQWN0aW9ucyAtLS0tLS0tLS0tICovCi5jYWxsLXRvLWFjdGlvbiB7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZy1ib3R0b206IDIwcHg7CiAgcGFkZGluZy10b3A6IDIwcHg7Cn0KLyogLS0tLS0tLS0gU2VjdGlvbiAmIERpdmlkZXIgLS0tLS0tLS0tLSAqLwpzZWN0aW9uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0Kc2VjdGlvbiA+IC5jb250YWluZXIsCnNlY3Rpb24gPiAuY29udGFpbmVyLWZsdWlkIHsKICBwYWRkaW5nLXRvcDogNjBweDsKICBwYWRkaW5nLWJvdHRvbTogNjBweDsKfQovKiAtLS0tLS0tLSBCYWNrZ3JvdW5kIFZpZGVvIC0tLS0tLS0tLS0gKi8KLmJnLXZpZGVvIHsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAtMTsKfQouYmctdmlkZW8gLnZpZGVvIHsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICBtYXJnaW46IDAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLmJnLXZpZGVvIC52aWRlbyAubWJZVFBfd3JhcHBlciB7CiAgei1pbmRleDogLTEgIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBCb3ggVGFibGUgLS0tLS0tLS0tLSAqLwouZGlzcGxheS10YWJsZS1wYXJlbnQgewogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLmRpc3BsYXktdGFibGUgewogIGRpc3BsYXk6IHRhYmxlOwogIGhlaWdodDogMTAwJTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7Cn0KLmRpc3BsYXktdGFibGUtY2VsbCB7CiAgZGlzcGxheTogdGFibGUtY2VsbDsKICBoZWlnaHQ6IDEwMCU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQovKiAtLS0tLS0tLSBTY3JvbGwgVG8gVG9wIC0tLS0tLS0tLS0gKi8KLnNjcm9sbFRvVG9wIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgYm90dG9tOiAxNXB4OwogIGRpc3BsYXk6IG5vbmU7CiAgaGVpZ2h0OiA1MHB4OwogIHBhZGRpbmc6IDJweDsKICBwb3NpdGlvbjogZml4ZWQ7CiAgcmlnaHQ6IDE1cHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogNTBweDsKICB6LWluZGV4OiA5OTk5OTsKfQouc2Nyb2xsVG9Ub3AgaSB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiA0MnB4Owp9Ci5zY3JvbGxUb1RvcDpob3ZlciB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQovKiAtLS0tLS0tLSBtYWduaWZpYyBwb3B1cCAtLS0tLS0tLS0tICovCi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2UgewogIGNvbG9yOiAjZWVlOwogIGZvbnQtc2l6ZTogNjRweDsKfQovKiAgCiAqIGV4dHJhLmxlc3MgCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIC0tLS0tLS0tIEhlYWRpbmcgU3R5bGUgLS0tLS0tLS0tLSAqLwouaGVhZGluZy1ib3JkZXIgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzOwogIG1hcmdpbjogMzBweCAwOwogIHBhZGRpbmc6IDIwcHggMDsKfQovKiAtLS0tLS0tLSBGdWxsQ2FsZW5kYXIgLSBQbHVnaW4gLS0tLS0tLS0tLSAqLwouZmMtZGF5LW51bWJlciB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLmZjLWRheS1udW1iZXIuZmMtb3RoZXItbW9udGggewogIG9wYWNpdHk6IDAuNDsKfQovKiBzY3JvbGx0b2ZpeGVkLWNvbnRhaW5lciAqLwouc2Nyb2xsdG9maXhlZC1jb250YWluZXIgewogIHBvc2l0aW9uOiBzdGF0aWM7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5zY3JvbGx0b2ZpeGVkLWNvbnRhaW5lciAuc2Nyb2xsdG9maXhlZCB7CiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7CiAgfQogIC5zY3JvbGx0b2ZpeGVkLWNvbnRhaW5lciAuc2Nyb2xsdG9maXhlZCArIGRpdiB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgfQp9Ci8qIHNsaWRlciByZXZvbHV0aW9uICovCi50cC1iYW5uZXJ0aW1lciB7CiAgei1pbmRleDogMjE7Cn0KLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiA0OHB4Owp9Ci5tZnAtYmcgewogIHotaW5kZXg6IDExMTI7Cn0KLm1mcC13cmFwIHsKICB6LWluZGV4OiAxMTEzOwp9Ci8qCiAqIG92ZXJsYXlzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmxheWVyLW92ZXJsYXkgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAvKiBvdmVybGF5LWRhcmsgKi8KICAvKiBvdmVybGF5LXdoaXRlICovCn0KLmxheWVyLW92ZXJsYXk6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgxNywgMTcsIDE3LCAwLjUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgY29udGVudDogIiAiOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMDsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWxpZ2h0OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWxpZ2h0ZXI6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZGVlcDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1kYXJrOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC44NSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1kYXJrLTE6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjEpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZGFyay0yOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC4yKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWRhcmstMzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuMyk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1kYXJrLTQ6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjQpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZGFyay01OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC41KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWRhcmstNjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuNik7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1kYXJrLTc6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjcpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZGFyay04OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC44KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWRhcmstOTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuOSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS13aGl0ZTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS13aGl0ZS0xOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXdoaXRlLTI6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktd2hpdGUtMzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS13aGl0ZS00OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXdoaXRlLTU6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktd2hpdGUtNjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS13aGl0ZS03OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXdoaXRlLTg6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktd2hpdGUtOTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7Cn0KLmxheWVyLW92ZXJsYXkubGF5ZXItcGF0dGVybjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3BhdHRlcm4xLnBuZyk7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOwp9Ci5sYXllci1vdmVybGF5LmxheWVyLXBhdHRlcm4yOjpiZWZvcmUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvcGF0dGVybjIucG5nKTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7Cn0KLmxheWVyLW92ZXJsYXkubGF5ZXItcGF0dGVybjM6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuMy5wbmcpOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsKfQoubGF5ZXItb3ZlcmxheS5tYXhpbWFnZS1sYXllci1vdmVybGF5OjpiZWZvcmUgewogIHotaW5kZXg6IDE7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1ibHVlOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgMTYyLCAyMDgsIDAuOSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1ibHVlLWxpZ2h0OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgMTYyLCAyMDgsIDAuNDUpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktcGluazo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNSwgMTEwLCAxNDIsIDAuOSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1waW5rLWxpZ2h0OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM1LCAxMTAsIDE0MiwgMC40NSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1icm93bjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYwLCAxNzEsIDExMSwgMC45KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWJyb3duLWxpZ2h0OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjAsIDE3MSwgMTExLCAwLjQ1KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXllbGxvdzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTg3LCAzNCwgMC45KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXllbGxvdy1saWdodDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTg3LCAzNCwgMC40NSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1ncmVlbjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2LCAxOTYsIDkyLCAwLjkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZ3JlZW4tbGlnaHQ6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTk2LCA5MiwgMC40NSk7Cn0KLmhhbGYtZGl2aWRlciAub3ZlcmxheS10aGVtZS1jb2xvci0xLAouaGFsZi1kaXZpZGVyIC5vdmVybGF5LXRoZW1lLWNvbG9yLTIsCi5oYWxmLWRpdmlkZXIgLm92ZXJsYXktdGhlbWUtY29sb3ItMyB7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxMDAlOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7CiAgd2lkdGg6IDUwJTsKfQovKgogKiBoZWFkZXIubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoubmF2YmFyLXNjcm9sbHRvZml4ZWQgewogIHotaW5kZXg6IDk5OSAhaW1wb3J0YW50Owp9Ci5oZWFkZXItdG9wIHsKICBwYWRkaW5nOiAwOwp9Ci5oZWFkZXItdG9wIC53aWRnZXQgewogIGxpbmUtaGVpZ2h0OiAyLjVyZW07CiAgbWFyZ2luLWJvdHRvbTogMDsKICBmb250LXNpemU6IDEzcHg7Cn0KLmhlYWRlci10b3AgLndpZGdldCB1bCBsaSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQouaGVhZGVyLXRvcCAud2lkZ2V0IHVsIGxpOmZpcnN0LWNoaWxkIHsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KLmhlYWRlci10b3AgLndpZGdldCAuc3R5bGVkLWljb25zIHsKICBsaW5lLWhlaWdodDogMTsKfQouaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7Cn0KLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpIHsKICBwYWRkaW5nLWxlZnQ6IDFyZW07CiAgcGFkZGluZy1yaWdodDogMXJlbTsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpIHsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpOmZpcnN0LWNoaWxkIHsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQgbGk6Zmlyc3QtY2hpbGQgewogICAgYm9yZGVyOiBub25lOwogIH0KfQouaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQubmF2YmFyLW5hdiBsaSB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAuaGVhZGVyLXRvcCAubGFuZ3VhZ2Utc3dpdGNoZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsKICB9Cn0KLmhlYWRlci10b3AgLmxhbmd1YWdlLXN3aXRjaGVyIGxpIGEgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIHBhZGRpbmctYm90dG9tOiAxMHB4Owp9Ci5tZW51em9yZC1icmFuZCBpbWcgewogIG1heC1oZWlnaHQ6IDM4cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5tZW51em9yZC1icmFuZCBpbWcgewogICAgbWF4LWhlaWdodDogMzBweDsKICB9Cn0KLyogLS0tLS0tLS0gSW5uZXIgSGVhZGVyIC0tLS0tLS0tLS0gKi8KLmlubmVyLWhlYWRlciAudGl0bGUgewogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLyogLS0tLS0tLS0gQ3VzdG9tIHRoZW1lIHN0eWxlIC0tLS0tLS0tLS0gKi8KLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciAubWVudXpvcmQgewogIHBhZGRpbmc6IDA7Cn0KLyogVHJhbnNwYXJlbnQgSGVhZGVyICovCi5oZWFkZXIgewogIC8qIC0tLS0tLS0tIEhlYWRlciBmbG9hdGluZyAtLS0tLS0tLS0tICovCn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICB6LWluZGV4OiAxMTExOwogIC8qIC0tLS0tLS0tIEhlYWRlciBUcmFuc3BhcmVudCBEYXJrIC0tLS0tLS0tLS0gKi8KICAvKiAtLS0tLS0tLSBIZWFkZXIgVHJhbnNwYXJlbnQgRGFyayAtLS0tLS0tLS0tICovCiAgLyogLS0tLS0tLS0gSGVhZGVyIFRyYW5zcGFyZW50IFdoaXRlIC0tLS0tLS0tLS0gKi8KICAvKiAtLS0tLS0tLSBIZWFkZXIgVHJhbnNwYXJlbnQgRGFyayAtLS0tLS0tLS0tICovCn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcgLmhlYWRlci10b3AsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIC5oZWFkZXItbWlkIHsKICBjb2xvcjogI2ZmZjsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZyAuaGVhZGVyLXRvcCAud2lkZ2V0IGEsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIC5oZWFkZXItbWlkIC53aWRnZXQgYSB7CiAgY29sb3I6ICNmZmY7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZyAuaGVhZGVyLW5hdi5uYXZiYXItc2Nyb2xsdG9maXhlZDpub3QoLnNjcm9sbC10by1maXhlZC1maXhlZCkgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjZmZmOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIC5zdGlja3ktd3JhcHBlcjpub3QoLmlzLXN0aWNreSkgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSAubWVudXpvcmQtbWVudSA+IGxpOm5vdCguYWN0aXZlKTpub3QoOmhvdmVyKSA+IGEgewogICAgY29sb3I6ICNmZmY7CiAgfQp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIgewogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcgLnN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuaGVhZGVyLW5hdi5uYXZiYXItc3RpY2t5IHsKICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcgLnN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuaGVhZGVyLW5hdi5uYXZiYXItc3RpY2t5IC5oZWFkZXItbmF2LXdyYXBwZXIgewogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcgLmhlYWRlci1uYXYuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIC5oZWFkZXItbmF2LXdyYXBwZXIgewogIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5ib3R0b20tYm94LXNoYWRvdyAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyIHsKICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC1kYXJrIC5oZWFkZXItdG9wLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC1kYXJrIC5oZWFkZXItbWlkIHsKICBjb2xvcjogIzMzMzsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC1kYXJrIC5oZWFkZXItdG9wIC53aWRnZXQgYSwKLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtZGFyayAuaGVhZGVyLW1pZCAud2lkZ2V0IGEgewogIGNvbG9yOiAjMzMzOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtZGFyayAuaGVhZGVyLW5hdi5uYXZiYXItc2Nyb2xsdG9maXhlZDpub3QoLnNjcm9sbC10by1maXhlZC1maXhlZCkgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjMzMzOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci1mbG9hdGluZy10ZXh0LWRhcmsgLnN0aWNreS13cmFwcGVyOm5vdCguaXMtc3RpY2t5KSAuaGVhZGVyLW5hdi5uYXZiYXItc3RpY2t5IC5tZW51em9yZC1tZW51ID4gbGk6bm90KC5hY3RpdmUpOm5vdCg6aG92ZXIpID4gYSB7CiAgICBjb2xvcjogIzMzMzsKICB9Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtd2hpdGUgLmhlYWRlci10b3AsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci1mbG9hdGluZy10ZXh0LXdoaXRlIC5oZWFkZXItbWlkIHsKICBjb2xvcjogI2ZmZjsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC13aGl0ZSAuaGVhZGVyLXRvcCAud2lkZ2V0IGEsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci1mbG9hdGluZy10ZXh0LXdoaXRlIC5oZWFkZXItbWlkIC53aWRnZXQgYSB7CiAgY29sb3I6ICNmZmY7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC13aGl0ZSAuaGVhZGVyLW5hdi5uYXZiYXItc2Nyb2xsdG9maXhlZDpub3QoLnNjcm9sbC10by1maXhlZC1maXhlZCkgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjZmZmOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci1mbG9hdGluZy10ZXh0LXdoaXRlIC5zdGlja3ktd3JhcHBlcjpub3QoLmlzLXN0aWNreSkgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSAubWVudXpvcmQtbWVudSA+IGxpOm5vdCguYWN0aXZlKTpub3QoOmhvdmVyKSA+IGEgewogICAgY29sb3I6ICNmZmY7CiAgfQp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLXRvcCwKLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItbWlkLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci1uYXYgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItdG9wLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci1taWQgewogIGNvbG9yOiAjMzMzOwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLXRvcCAud2lkZ2V0IGEsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLW1pZCAud2lkZ2V0IGEgewogIGNvbG9yOiAjMzMzOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItbmF2Lm5hdmJhci1zY3JvbGx0b2ZpeGVkOm5vdCguc2Nyb2xsLXRvLWZpeGVkLWZpeGVkKSAubWVudXpvcmQtbWVudSA+IGxpOm5vdCguYWN0aXZlKTpub3QoOmhvdmVyKSA+IGEgewogICAgY29sb3I6ICMzMzM7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5zdGlja3ktd3JhcHBlcjpub3QoLmlzLXN0aWNreSkgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSAubWVudXpvcmQtbWVudSA+IGxpOm5vdCguYWN0aXZlKTpub3QoOmhvdmVyKSA+IGEgewogICAgY29sb3I6ICMzMzM7CiAgfQp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZCBsaSB7CiAgcGFkZGluZy1sZWZ0OiAxcmVtOwogIHBhZGRpbmctcmlnaHQ6IDFyZW07CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQgbGkgewogICAgYm9yZGVyOiBub25lOwogIH0KfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpOmZpcnN0LWNoaWxkIHsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGQ7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZC5uYXZiYXItbmF2IGxpIHsKICBwYWRkaW5nLWxlZnQ6IDA7CiAgcGFkZGluZy1yaWdodDogMDsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci1uYXYuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5oZWFkZXItdG9wLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLW1pZCwKLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci1uYXYgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci10b3AsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5oZWFkZXItbWlkIHsKICBjb2xvcjogI2ZmZjsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLXRvcCAud2lkZ2V0IGEsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5oZWFkZXItbWlkIC53aWRnZXQgYSB7CiAgY29sb3I6ICNmZmY7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLW5hdi5uYXZiYXItc2Nyb2xsdG9maXhlZDpub3QoLnNjcm9sbC10by1maXhlZC1maXhlZCkgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjZmZmOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5zdGlja3ktd3JhcHBlcjpub3QoLmlzLXN0aWNreSkgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSAubWVudXpvcmQtbWVudSA+IGxpOm5vdCguYWN0aXZlKTpub3QoOmhvdmVyKSA+IGEgewogICAgY29sb3I6ICNmZmY7CiAgfQp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMzsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQgbGkgewogIHBhZGRpbmctbGVmdDogMXJlbTsKICBwYWRkaW5nLXJpZ2h0OiAxcmVtOwogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMzMzM7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQgbGkgewogICAgYm9yZGVyOiBub25lOwogIH0KfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQgbGk6Zmlyc3QtY2hpbGQgewogIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzMzMzsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZCBsaTpmaXJzdC1jaGlsZCB7CiAgICBib3JkZXI6IG5vbmU7CiAgfQp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZC5uYXZiYXItbmF2IGxpIHsKICBwYWRkaW5nLWxlZnQ6IDA7CiAgcGFkZGluZy1yaWdodDogMDsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLW5hdi5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgewogIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MTY7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLnN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuaGVhZGVyLW5hdi5uYXZiYXItc3RpY2t5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjE2Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsKICB9CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtZGFyayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOwogIH0KICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICB9Cn0KLyogLS0tLS0tLS0gU2Nyb2xsdG9maXhlZCAtLS0tLS0tLS0tICovCi5oZWFkZXItbmF2IHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0IDBzOwogIC8qIC0tLS0tLS0tIE5hdmJhciBTdGlja3kgQW5pbWF0ZWQgLS0tLS0tLS0tLSAqLwp9Ci5oZWFkZXItbmF2Lm5hdmJhci1zY3JvbGx0b2ZpeGVkLnNjcm9sbC10by1maXhlZC1maXhlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQouaGVhZGVyLW5hdi5uYXZiYXItc3RpY2t5LWFuaW1hdGVkIC5jb250YWluZXIgewogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7Cn0KLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreS1hbmltYXRlZDpub3QoLnNjcm9sbC10by1maXhlZC1maXhlZCkgLmNvbnRhaW5lciB7CiAgcGFkZGluZy10b3A6IDEwcHg7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7Cn0KLyogLS0tLS0tLS0gc3RpY2t5LmpzIC0tLS0tLS0tLS0gKi8KLnN0aWNreS13cmFwcGVyIC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kubmF2YmFyLXN0aWNreS1hbmltYXRlZCAuY29udGFpbmVyIHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwp9Ci5zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQouc3RpY2t5LXdyYXBwZXI6bm90KC5pcy1zdGlja3kpIC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kubmF2YmFyLXN0aWNreS1hbmltYXRlZCAuY29udGFpbmVyIHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBwYWRkaW5nLWJvdHRvbTogMTBweDsKfQovKiAtLS0tLS0tLSBTd2l0Y2hhYmxlIExvZ28gLS0tLS0tLS0tLSAqLwouaGVhZGVyLW5hdiAuc3dpdGNoYWJsZS1sb2dvIC5sb2dvLXNjcm9sbGVkLXRvLWZpeGVkIHsKICBkaXNwbGF5OiBub25lOwp9Ci5oZWFkZXItbmF2LnNjcm9sbC10by1maXhlZC1maXhlZCAuc3dpdGNoYWJsZS1sb2dvIC5sb2dvLWRlZmF1bHQsCi5oZWFkZXItbmF2IC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgLnN3aXRjaGFibGUtbG9nbyAubG9nby1kZWZhdWx0IHsKICBkaXNwbGF5OiBub25lOwp9Ci5oZWFkZXItbmF2LnNjcm9sbC10by1maXhlZC1maXhlZCAuc3dpdGNoYWJsZS1sb2dvIC5sb2dvLXNjcm9sbGVkLXRvLWZpeGVkLAouaGVhZGVyLW5hdiAuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIC5zd2l0Y2hhYmxlLWxvZ28gLmxvZ28tc2Nyb2xsZWQtdG8tZml4ZWQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQouc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kgLnN3aXRjaGFibGUtbG9nbyAubG9nby1kZWZhdWx0IHsKICBkaXNwbGF5OiBub25lOwp9Ci5zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSAuc3dpdGNoYWJsZS1sb2dvIC5sb2dvLXNjcm9sbGVkLXRvLWZpeGVkIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLyogTW9kZXJuIEhlYWRlciAqLwoubW9kZXJuLWhlYWRlciAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyIHsKICBtYXJnaW4tdG9wOiAtMzVweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogMTExMTsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwp9Ci5tb2Rlcm4taGVhZGVyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXI6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci5tb2Rlcm4taGVhZGVyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXI6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIG5hdiB7CiAgYmFja2dyb3VuZDogIzIyMjsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgewogIC5tb2Rlcm4taGVhZGVyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luLXRvcDogMDsKICB9CiAgLm1vZGVybi1oZWFkZXIgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciAuY29udGFpbmVyIHsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLm1vZGVybi1oZWFkZXIgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciAubWVudXpvcmQtbWVudSA+IGxpID4gYSB7CiAgICBjb2xvcjogI2ZmZjsKICB9Cn0KLm1vZGVybi1oZWFkZXIgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciAubWVudXpvcmQtbWVudSA+IGxpLmhvbWUgPiBhIHsKICBwYWRkaW5nOiAyMHB4IDMwcHg7Cn0KLm1vZGVybi1oZWFkZXIgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgewogIG1hcmdpbi10b3A6IDA7CiAgYmFja2dyb3VuZDogIzIyMjsKfQoubW9kZXJuLWhlYWRlciAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyLnNjcm9sbC10by1maXhlZC1maXhlZCBuYXYgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9Ci5tb2Rlcm4taGVhZGVyOm5vdCgubW9kZXJuLWhlYWRlci1uYXYtYXV0b3BhZGRpbmcpIC5tZW51em9yZC1tZW51ID4gbGkgewogIHBhZGRpbmc6IDA7Cn0KLm1vZGVybi1oZWFkZXI6bm90KC5tb2Rlcm4taGVhZGVyLW5hdi1hdXRvcGFkZGluZykgLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGEgewogIHBhZGRpbmc6IDI1cHggMzBweDsKfQoubW9kZXJuLWhlYWRlci5tb2Rlcm4taGVhZGVyLXdoaXRlIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXI6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIG5hdiB7CiAgYmFja2dyb3VuZDogI2ZmZjsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5tb2Rlcm4taGVhZGVyLm1vZGVybi1oZWFkZXItd2hpdGUgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciAubWVudXpvcmQtbWVudSA+IGxpOm5vdCguYWN0aXZlKTpub3QoOmhvdmVyKSA+IGEgewogICAgY29sb3I6ICMyMjI7CiAgfQp9Ci5tb2Rlcm4taGVhZGVyLm1vZGVybi1oZWFkZXItd2hpdGUgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgewogIGJhY2tncm91bmQ6ICNmZmY7Cn0KLm1vZGVybi1oZWFkZXIgLm5hdmJhci1zdGlja3ktYW5pbWF0ZWQgLmNvbnRhaW5lciBuYXYgewogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7Cn0KLm1vZGVybi1oZWFkZXIgLm5hdmJhci1zdGlja3ktYW5pbWF0ZWQ6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIC5jb250YWluZXIgbmF2IHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBwYWRkaW5nLWJvdHRvbTogMTBweDsKfQouc3R5bGVkLWljb24taW5mbyBpIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgY29sb3I6ICNmZmZmZmY7CiAgaGVpZ2h0OiAzMHB4OwogIGxpbmUtaGVpZ2h0OiAzMHB4OwogIG1hcmdpbi1yaWdodDogMTBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgd2lkdGg6IDMwcHg7Cn0KLyogaGVhZGVyIHdpZGdldCBjb250YWN0IGluZm8gYm94ICovCi5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggewogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7CiAgLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5lbGVtZW50IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKICBtYXJnaW4tdG9wOiAxMHB4OwogIHBhZGRpbmctcmlnaHQ6IDEwcHg7CiAgbWFyZ2luLWxlZnQ6IDIwcHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CiAgLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCAuZWxlbWVudCB7CiAgICBkaXNwbGF5OiBibG9jazsKICB9Cn0KLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCAuY29udGFjdC1pbmZvIHsKICBmbG9hdDogcmlnaHQ7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDc5cHgpIHsKICAuaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8gewogICAgZmxvYXQ6IG5vbmU7CiAgfQp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mby5tZWRpYSB7CiAgbWFyZ2luLXRvcDogMTBweDsKfQouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8gLm1lZGlhLWJvZHkgewogIHdpZHRoOiBhdXRvOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKICAuaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8gLm1lZGlhLWJvZHksCiAgLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCAuY29udGFjdC1pbmZvIC5tZWRpYS1sZWZ0LAogIC5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mbyAubWVkaWEtcmlnaHQgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nLXJpZ2h0OiAwOwogIH0KfQouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8gLmZvbnQtaWNvbiB7CiAgZm9udC1zaXplOiAzMHB4OwogIG1hcmdpbi10b3A6IDVweDsKfQouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8gLnRpdGxlIHsKICBjb2xvcjogIzgwODA4MDsKICBmb250LXNpemU6IDEycHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8gLnN1YnRpdGxlIHsKICBmb250LXNpemU6IDEycHg7CiAgbWFyZ2luOiAwOwp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mby5zbWFsbC1pY29uIC5mb250LWljb24gewogIGZvbnQtc2l6ZTogMTVweDsKICBtYXJnaW4tdG9wOiAwOwp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mby5zbWFsbC1pY29uIC5pY29uIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgcGFkZGluZy1yaWdodDogNXB4OwogIG1hcmdpbi10b3A6IDA7Cn0KLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCAuY29udGFjdC1pbmZvLnNtYWxsLWljb24gLnRpdGxlIHsKICBjb2xvcjogIzMzMzMzMzsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8uc21hbGwtaWNvbiAuc3VidGl0bGUgewogIGNvbG9yOiAjODA4MDgwOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogbm9ybWFsOwogIG1hcmdpbjogMDsKfQovKgogKiBuYXYubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBuYXYgc2lkZWJhciAtLS0tLS0tLS0tICovCi5uYXYtc2lkZWJhciBsaSB7CiAgYmFja2dyb3VuZDogI2YxZjFmMTsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQoubmF2LXNpZGViYXIgbGkgYSB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQoubmF2LXBpbGxzIGxpIGE6aG92ZXIsCi5uYXYtcGlsbHMgbGkuYWN0aXZlID4gYSwKLm5hdi1waWxscyBsaS5hY3RpdmUgPiBhOmhvdmVyLAoubmF2LXBpbGxzIGxpLmFjdGl2ZSA+IGE6Zm9jdXMgewogIGJhY2tncm91bmQ6ICNkM2QzZDM7CiAgY29sb3I6ICM3Nzc3Nzc7Cn0KLyogLS0tLS0tLS0gSGVhZGVyIE5hdiAtLS0tLS0tLS0tICovCi5oZWFkZXItbmF2IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciB7CiAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpOwp9Ci5oZWFkZXItbmF2IC5oZWFkZXItbmF2LWFic29sdXRlLXdyYXBwZXIgewogIHdpZHRoOiAxMDAlOwp9Ci5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIgLm1lbnV6b3JkIHsKICBwYWRkaW5nOiAwOwp9Ci8qIC0tLS0tLS0tIE1lbnV6b3JkIC0tLS0tLS0tLS0gKi8KLm1lbnV6b3JkLW1lbnUgPiBsaS5ob21lID4gYSA+IGkgewogIGZsb2F0OiBub25lOwogIGxpbmUtaGVpZ2h0OiAxOwogIG1hcmdpbjogMDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIHsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICB9Cn0KLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGkgewogIG1hcmdpbjogMDsKfQoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSBhIHsKICBjb2xvcjogIzY2NjY2NjsKICBmb250LXNpemU6IDEzcHg7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBwYWRkaW5nOiA3cHggMjVweCA3cHggMjJweDsKfQoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSAuaW5kaWNhdG9yIHsKICB0b3A6IDRweDsKfQoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biwKLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGkgdWwuZHJvcGRvd24gewogIG1pbi13aWR0aDogMjMwcHg7Cn0KLyogLS0tLS0tLS0gTWVnYW1lbnUtUm93IC0tLS0tLS0tLS0gKi8KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSB7CiAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0Owp9Ci5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUubWVnYW1lbnUtYmctaW1nIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tZWdhbWVudS9tZWdhbWVudS1kcm9wZG93bi5qcGcnKTsKfQoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgdWwgewogIG1hcmdpbi1sZWZ0OiAwOwp9Ci5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyB1bCBsaSB7CiAgYm9yZGVyOiAwIG5vbmU7CiAgY2xlYXI6IGJvdGg7CiAgZm9udC1zaXplOiAxMnB4OwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAycHggMCAycHggMTVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHVsIGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIHBhZGRpbmc6IDhweCAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGxpbmVhcjsKICAtby10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyOwogIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBsaW5lYXI7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHVsIGxpLmFjdGl2ZSA+IGEsCi5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyB1bCBsaTpob3ZlciA+IGEgewogIGNvbG9yOiAjMTExOwogIHBhZGRpbmctbGVmdDogNXB4Owp9Ci5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyB1bCBsaSBhIGkgewogIGNvbG9yOiAjNDQ0Owp9Ci5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyB1bCBsaS5hY3RpdmUgYSBpLAoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHVsIGxpOmhvdmVyIGEgaSB7CiAgY29sb3I6ICNmZmY7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHVsLmxpc3QtaWNvbiBsaTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjEwMSI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwcHg7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5tZWdhbWVudS1jb2wtdGl0bGUgewogIG1hcmdpbi1ib3R0b206IDE1cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAubWVudXpvcmQtbWVudSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogIH0KfQoubmF2LXNpZGUtaWNvbi1saXN0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDc5cHgpIHsKICAubmF2LXNpZGUtaWNvbi1saXN0IHsKICAgIGZsb2F0OiBsZWZ0OwogIH0KfQoubmF2LXNpZGUtaWNvbi1saXN0ID4gbGkgewogIGZsb2F0OiBsZWZ0OwogIHBhZGRpbmc6IDIwcHggMTJweDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogIC5uYXYtc2lkZS1pY29uLWxpc3QgPiBsaSB7CiAgICBwYWRkaW5nOiAxM3B4IDEycHg7CiAgfQp9Ci5uYXYtc2lkZS1pY29uLWxpc3QgPiBsaSAuY3VzdG9tLWJ1dHRvbiB7CiAgbWFyZ2luLXRvcDogLTVweDsKfQovKiBmdWxsc2NyZWVuIHNlYXJjaCBmb3JtICovCiNmdWxsc2NyZWVuLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uIHsKICBjb2xvcjogIzU1NTsKICBmb250LXNpemU6IDE3cHg7CiAgbGluZS1oZWlnaHQ6IDE7CiAgcGFkZGluZzogNXB4Owp9CiNmdWxsc2NyZWVuLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogICNmdWxsc2NyZWVuLXNlYXJjaC1idG4gewogICAgbWFyZ2luLXRvcDogMTJweDsKICB9Cn0KI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0gewogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDBweDsKICBsZWZ0OiAwcHg7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OwogIC1tcy10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTEwMCUpIHNjYWxlKDAsIDApOwogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtMTAwJSkgc2NhbGUoMCwgMCk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtMTAwJSkgc2NhbGUoMCwgMCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTEwMCUpIHNjYWxlKDAsIDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTEwMCUpIHNjYWxlKDAsIDApOwogIG9wYWNpdHk6IDA7CiAgei1pbmRleDogMTsKfQojZnVsbHNjcmVlbi1zZWFyY2gtZm9ybSBmb3JtIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiA1MCU7CiAgd2lkdGg6IDQwMHB4OwogIG1heC13aWR0aDogOTYlOwogIG1hcmdpbjogMHB4IGF1dG87CiAgbWFyZ2luLXRvcDogLTUxcHg7CiAgb3V0bGluZTogbm9uZTsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIHBhZGRpbmctbGVmdDogMTVweDsKICBwYWRkaW5nLXJpZ2h0OiAxNXB4Owp9CiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtIGZvcm0gaW5wdXRbdHlwZT0ic2VhcmNoIl0gewogIGNvbG9yOiAjZmZmZmZmOwogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7CiAgZm9udC1zaXplOiAzMHB4OwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgbWF4LXdpZHRoOiAxMDAlOwogIGJvcmRlcjogMHB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzc3Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA3OXB4KSB7CiAgI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0gZm9ybSBpbnB1dFt0eXBlPSJzZWFyY2giXSB7CiAgICBmb250LXNpemU6IDIwcHg7CiAgfQp9CiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtIGZvcm0gYnV0dG9uW3R5cGU9InN1Ym1pdCJdIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDhweDsKICB0b3A6IDA7CiAgaGVpZ2h0OiAxMDAlOwogIGZvbnQtc2l6ZTogMjRweDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogMDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogICNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtIGZvcm0gYnV0dG9uW3R5cGU9InN1Ym1pdCJdIHsKICAgIGZvbnQtc2l6ZTogMjBweDsKICB9Cn0KI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0gLmNsb3NlIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgdG9wOiAxNXB4OwogIHJpZ2h0OiAxNXB4OwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogZ3JlZW47CiAgb3BhY2l0eTogMTsKICBwYWRkaW5nOiAxMHB4IDE3cHg7CiAgZm9udC1zaXplOiAzNnB4Owp9CiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtLmhhbmdpbmctdG9wLXNlYXJjaC1mb3JtIHsKICBoZWlnaHQ6IGF1dG87CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwogIC1tb3otdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cn0KI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0uaGFuZ2luZy10b3Atc2VhcmNoLWZvcm0gZm9ybSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1hcmdpbjogM2VtIDA7CiAgcGFkZGluZzogMCAxNXB4OwogIHdpZHRoOiAxMDAlOwp9CiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtLmhhbmdpbmctdG9wLXNlYXJjaC1mb3JtIGZvcm0gaW5wdXRbdHlwZT0ic2VhcmNoIl0gewogIGhlaWdodDogNjBweDsKICB3aWR0aDogMTAwJTsKfQojZnVsbHNjcmVlbi1zZWFyY2gtZm9ybS5vcGVuIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxLCAxKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxLCAxKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgc2NhbGUoMSwgMSk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxLCAxKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgc2NhbGUoMSwgMSk7CiAgb3BhY2l0eTogMTsKfQovKiBUb3AgTmF2IFNlYXJjaCBCdXR0b24gJiBGb3JtICovCiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uIHsKICBjb2xvcjogIzU1NTsKICBmb250LXNpemU6IDE3cHg7CiAgbGluZS1oZWlnaHQ6IDE7CiAgcGFkZGluZzogNXB4Owp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogICNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1idG4gewogICAgbWFyZ2luLXRvcDogMTJweDsKICB9Cn0KI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0gewogIGJhY2tncm91bmQ6ICMyMjI7CiAgYm9yZGVyOiAzcHggc29saWQgIzExMTsKICBkaXNwbGF5OiBub25lOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogOTk5OTE7Cn0KI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0uZHJvcGRvd24tc2VhcmNoLWZvcm0gewogIHRvcDogMTAwJTsKfQojaW5saW5lLWZ1bGx3aWR0aC1zZWFyY2gtZm9ybSBmb3JtIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9InRleHQiXSB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDI0cHg7CiAgaGVpZ2h0OiAxMDAlOwogIGxlZnQ6IDE1cHg7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICBvdXRsaW5lOiBtZWRpdW0gbm9uZTsKICBwYWRkaW5nOiAwIDUwcHggMCAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogOTAlOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA3OXB4KSB7CiAgI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT0idGV4dCJdIHsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIHdpZHRoOiA4MCU7CiAgfQp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtIGJ1dHRvblt0eXBlPSJzdWJtaXQiXSB7CiAgcmlnaHQ6IDUwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGhlaWdodDogMTAwJTsKICBmb250LXNpemU6IDI0cHg7CiAgdG9wOiAwOwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiAwOwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtICNjbG9zZS1zZWFyY2gtYnRuIHsKICBjb2xvcjogI2ZmZjsKICBmbG9hdDogcmlnaHQ7CiAgZm9udC1zaXplOiAyOHB4OwogIGxpbmUtaGVpZ2h0OiA3NXB4OwogIG1hcmdpbjogMCAxNXB4IDAgMDsKICBwYWRkaW5nOiAwOwp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtICNjbG9zZS1zZWFyY2gtYnRuOmhvdmVyIHsKICBjb2xvcjogIzU1NTsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogICNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtICNjbG9zZS1zZWFyY2gtYnRuIHsKICAgIGxpbmUtaGVpZ2h0OiA2MHB4OwogIH0KfQoubW9kZXJuLWhlYWRlcjpub3QoLm1vZGVybi1oZWFkZXItd2hpdGUpICNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uIHsKICBjb2xvcjogI2ZmZjsKfQoubW9kZXJuLWhlYWRlcjpub3QoLm1vZGVybi1oZWFkZXItd2hpdGUpIC50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAubWluaS1jYXJ0LWljb24gaSB7CiAgY29sb3I6ICNmZmY7Cn0KLm1vZGVybi1oZWFkZXI6bm90KC5tb2Rlcm4taGVhZGVyLXdoaXRlKSAuc2lkZS1wYW5lbC10cmlnZ2VyIGkgewogIGNvbG9yOiAjZmZmOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLmhlYWRlci1uYXYtY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICB9CiAgLmhlYWRlci1uYXYtY2VudGVyIC5tZW51em9yZCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmbG9hdDogbm9uZTsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXItbmF2LWNlbnRlcmVkLWxvZ28gbmF2Lm1lbnV6b3JkIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CiAgLmhlYWRlci1uYXYtY2VudGVyZWQtbG9nbyBuYXYubWVudXpvcmQgLm1lbnV6b3JkLWJyYW5kIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgd2lkdGg6IDIyMHB4OwogICAgdG9wOiAxMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogIH0KICAuaGVhZGVyLW5hdi1jZW50ZXJlZC1sb2dvIG5hdi5tZW51em9yZCAubWVudXpvcmQtYnJhbmQgaW1nIHsKICAgIG1heC1oZWlnaHQ6IDgwcHg7CiAgfQogIC5oZWFkZXItbmF2LWNlbnRlcmVkLWxvZ28gbmF2Lm1lbnV6b3JkIC5tZW51em9yZC1tZW51ID4gbGkgPiBhIHsKICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgIHBhZGRpbmc6IDM1cHggMTZweCAzNXB4OwogIH0KICAuaGVhZGVyLW5hdi1jZW50ZXJlZC1sb2dvIG5hdi5tZW51em9yZCAubWVudXpvcmQtbWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGEgewogICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsKICB9CiAgLmhlYWRlci1uYXYtY2VudGVyZWQtbG9nbyBuYXYubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgPiBsaTpsYXN0LWNoaWxkID4gYSB7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgLmhlYWRlci1uYXYtY2VudGVyZWQtbG9nbyBuYXYubWVudXpvcmQgLm1lbnV6b3JkLWJyYW5kIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZmxvYXQ6IG5vbmU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBtYXJnaW46IDEwcHg7CiAgfQogIC5oZWFkZXItbmF2LWNlbnRlcmVkLWxvZ28gbmF2Lm1lbnV6b3JkIC5tZW51em9yZC1icmFuZCBpbWcgewogICAgbWF4LWhlaWdodDogODBweDsKICB9CiAgLmhlYWRlci1uYXYtY2VudGVyZWQtbG9nbyBuYXYubWVudXpvcmQgLnNob3doaWRlICsgLm1lbnV6b3JkLWJyYW5kIHsKICAgIG1hcmdpbi1sZWZ0OiA2MHB4OwogIH0KfQovKiBUb3AgUHVzaCBEb3duIFNlYXJjaCBGb3JtICovCi50b3AtcHVzaGRvd24tc2VhcmNoLWJ0biAuc2VhcmNoLWljb24gewogIGNvbG9yOiAjNTU1OwogIGZvbnQtc2l6ZTogMTdweDsKICBsaW5lLWhlaWdodDogMTsKICBwYWRkaW5nOiA1cHg7Cn0KLnRvcC1wdXNoZG93bi1zZWFyY2gtYnRuIC5zZWFyY2gtaWNvbjpob3ZlciB7CiAgY29sb3I6ICM4ODg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDc5cHgpIHsKICAudG9wLXB1c2hkb3duLXNlYXJjaC1idG4gewogICAgbWFyZ2luLXRvcDogMTJweDsKICB9Cn0KLyogRHJvcGRvd24gU2VhcmNoIEZvcm0gKi8KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouZHJvcGRvd24tc2VhcmNoLWZvcm0tY29udGVudCAuc2VhcmNoLWljb24gewogIGNvbG9yOiAjNTU1OwogIGZvbnQtc2l6ZTogMTdweDsKICBsaW5lLWhlaWdodDogMTsKICBwYWRkaW5nOiA1cHg7Cn0KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgLnNlYXJjaC1pY29uOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKfQouZHJvcGRvd24tc2VhcmNoLWZvcm0tY29udGVudCAuZHJvcGRvd24tc2VhcmNoLWZvcm0gewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogbm9uZTsKICBib3gtc2hhZG93OiBub25lOwogIGxlZnQ6IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdG9wOiAxMDAlOwogIHBhZGRpbmctdG9wOiAyN3B4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgd2lkdGg6IDMwMHB4OwogIHotaW5kZXg6IDEwMDA7Cn0KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgLmRyb3Bkb3duLXNlYXJjaC1mb3JtIC5pbnB1dC1ncm91cCB7CiAgYm9yZGVyLXJhZGl1czogM3B4OwogIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7Cn0KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgLmRyb3Bkb3duLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9InNlYXJjaCJdIHsKICBmb250LXNpemU6IDE2cHg7Cn0KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgLmRyb3Bkb3duLXNlYXJjaC1mb3JtIGJ1dHRvblt0eXBlPSJzdWJtaXQiXSB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYmFja2dyb3VuZDogI2YzZjNmMzsKfQovKgogKiBpbm5lci1oZWFkZXItdGl0bGUubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouaW5uZXItaGVhZGVyIC50aXRsZSB7CiAgZm9udC1zaXplOiAzNnB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLyoKICoJVmVydGljYWwtTmF2Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KYm9keS52ZXJ0aWNhbC1uYXYgLmNvbnRhaW5lciB7CiAgbWF4LXdpZHRoOiAxMTAwcHg7Cn0KYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlciB7CiAgd2lkdGg6IDI2MHB4OwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgbGVmdDogMDsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGNvbG9yOiAjNTU1OwogIHotaW5kZXg6IDEwMTsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkOwogIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTsKICAtby10cmFuc2l0aW9uOiBub25lOwogIHRyYW5zaXRpb246IG5vbmU7Cn0KYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlciAuY29udGFpbmVyIHsKICBtYXgtd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogMDsKfQpib2R5LnZlcnRpY2FsLW5hdiBoZWFkZXIjaGVhZGVyIC5oZWFkZXItbmF2LXdyYXBwZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICBib2R5LnZlcnRpY2FsLW5hdiBoZWFkZXIjaGVhZGVyIC5oZWFkZXItbmF2LXdyYXBwZXIgewogICAgYm94LXNoYWRvdzogbm9uZTsKICB9Cn0KYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlci52ZXJ0aWNhbC1uYXYtYmxhY2sgewogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyMjI7Cn0KYm9keS52ZXJ0aWNhbC1uYXYgLm1haW4tY29udGVudCwKYm9keS52ZXJ0aWNhbC1uYXYgLmZvb3RlciB7CiAgbWFyZ2luLWxlZnQ6IDI2MHB4Owp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCB7CiAgYmFja2dyb3VuZDogbm9uZTsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIGJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIGJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtYnJhbmQgewogICAgcGFkZGluZzogMTVweDsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgfQp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGEgewogIGJhY2tncm91bmQ6ICNlZWVlZWUgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBjb2xvcjogIzExMTExMTsKfQpib2R5LnZlcnRpY2FsLW5hdiAubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgbGkgewogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAxMDAlOwp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSBsaSAuaW5kaWNhdG9yIHsKICBmbG9hdDogcmlnaHQ7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLXJpZ2h0OiAxNXB4Owp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSBsaSBhIHsKICB3aWR0aDogMTAwJTsKfQpib2R5LnZlcnRpY2FsLW5hdiAubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgPiBsaSB7CiAgcGFkZGluZzogNXB4IDA7Cn0KYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwKYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkIC5tZW51em9yZC1tZW51ID4gbGk6aG92ZXIgPiBhIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGNvbG9yOiAjMzMzOwp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biwKYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkIC5tZW51em9yZC1tZW51IC5tZWdhbWVudSB7CiAgbGVmdDogMTAwJTsKICB0b3A6IDRweDsKfQpib2R5LnZlcnRpY2FsLW5hdiAudmVydGljYWwtbmF2LXdpZGdldCB7CiAgcGFkZGluZzogMTVweDsKfQpib2R5LnZlcnRpY2FsLW5hdi52ZXJ0aWNhbC1uYXYtcmlnaHQgaGVhZGVyI2hlYWRlciB7CiAgbGVmdDogYXV0bzsKICByaWdodDogMDsKfQpib2R5LnZlcnRpY2FsLW5hdi52ZXJ0aWNhbC1uYXYtcmlnaHQgLm1haW4tY29udGVudCwKYm9keS52ZXJ0aWNhbC1uYXYudmVydGljYWwtbmF2LXJpZ2h0IC5mb290ZXIgewogIHBhZGRpbmctbGVmdDogYXV0bzsKICBtYXJnaW4tcmlnaHQ6IDI2MHB4OwogIHBhZGRpbmctdG9wOiAwOwp9CmJvZHkudmVydGljYWwtbmF2LnZlcnRpY2FsLW5hdi1yaWdodCAubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24sCmJvZHkudmVydGljYWwtbmF2LnZlcnRpY2FsLW5hdi1yaWdodCAubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgLm1lZ2FtZW51IHsKICBsZWZ0OiBhdXRvOwogIHJpZ2h0OiAxMDAlOwogIHRvcDogMDsKfQpib2R5LnZlcnRpY2FsLW5hdiAucmV2X3NsaWRlcl93cmFwcGVyIHsKICBsZWZ0OiAwICFpbXBvcnRhbnQ7CiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkgewogIGJvZHkudmVydGljYWwtbmF2IC5jb250YWluZXIgewogICAgd2lkdGg6IDEwMCU7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlciAuc2l0ZS1icmFuZCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZsb2F0OiBub25lOwogICAgbWFyZ2luOiA1MHB4IDAgMzBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYgLm1lZ2FtZW51IHsKICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsKICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogODAwcHggIWltcG9ydGFudDsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkIC5tZW51em9yZC1tZW51IHsKICAgIHBhZGRpbmc6IDA7CiAgICBtYXJnaW4tbGVmdDogMTVweDsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGEgewogICAgcGFkZGluZy1sZWZ0OiAwOwogICAgcGFkZGluZy1yaWdodDogMDsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYgLnZlcnRpY2FsLW5hdi1zaWRlYmFyLXdpZGdldC13cmFwcGVyIHsKICAgIHBhZGRpbmc6IDMwcHggMTVweCA1cHg7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlciB7CiAgICBib3JkZXI6IDA7CiAgICBwYWRkaW5nOiAwOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiAwOwogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7CiAgfQogIGJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSA+IGxpIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIGJvZHkudmVydGljYWwtbmF2IC52ZXJ0aWNhbC1uYXYtd2lkZ2V0IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQogIGJvZHkudmVydGljYWwtbmF2IC5tYWluLWNvbnRlbnQsCiAgYm9keS52ZXJ0aWNhbC1uYXYgLmZvb3RlciB7CiAgICBtYXJnaW4tbGVmdDogMDsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYudmVydGljYWwtbmF2LXJpZ2h0IC5tYWluLWNvbnRlbnQsCiAgYm9keS52ZXJ0aWNhbC1uYXYudmVydGljYWwtbmF2LXJpZ2h0IC5mb290ZXIgewogICAgbWFyZ2luLXJpZ2h0OiAwOwogIH0KICBib2R5LnZlcnRpY2FsLW5hdiAudmVydGljYWwtbmF2LXNpZGViYXItd2lkZ2V0LXdyYXBwZXIgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KLyoKICoJbWVudS1mdWxsLXBhZ2UubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiBtZW51LWZ1bGwtcGFnZSBwbHVnaW4gY29kZSAqLwoubWVudS1mdWxsLXBhZ2UgI2Z1bGxwYWdlLW5hdiB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk3KTsKICB6LWluZGV4OiAtMTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgLypsZWZ0OiAtMTAwJTsqLwogIC8qbGVmdCBvciByaWdodCBhbmQgdGhlIHdpZHRoIG9mIHlvdXIgbmF2aWdhdGlvbiBwYW5lbCovCiAgbGVmdDogMCAhaW1wb3J0YW50OwogIC8qbGVmdCBvciByaWdodCBhbmQgdGhlIHdpZHRoIG9mIHlvdXIgbmF2aWdhdGlvbiBwYW5lbCovCiAgb3BhY2l0eTogMDsKICB3aWR0aDogMTAwJTsKICAvKnNob3VsZCBtYXRjaCB0aGUgYWJvdmUgdmFsdWUqLwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDJzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAycyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMnMgZWFzZS1pbi1vdXQ7Cn0KLm1lbnUtZnVsbC1wYWdlICNmdWxscGFnZS1uYXYgdWwgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luLXRvcDogNTBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0OwogIHRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0Owp9Ci5tZW51LWZ1bGwtcGFnZSAjZnVsbHBhZ2UtbmF2IHVsIGxpIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICBwYWRkaW5nOiAxMHB4IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5tZW51LWZ1bGwtcGFnZSAjZnVsbHBhZ2UtbmF2IHVsIGxpIGEgewogIGNvbG9yOiAjMTExOwogIGZvbnQtc2l6ZTogMThweDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubWVudS1mdWxsLXBhZ2UgI2Z1bGxwYWdlLW5hdiB1bCBsaSBhOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDJzIHRpbWU7CiAgLW8tdHJhbnNpdGlvbjogY29sb3IgMnMgdGltZTsKICB0cmFuc2l0aW9uOiBjb2xvciAycyB0aW1lOwp9Ci5tZW51LWZ1bGwtcGFnZSAjZnVsbHBhZ2UtbmF2IHVsIGxpOmhvdmVyOmFmdGVyIGEgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBjb250ZW50OiAnJzsKICBjb2xvcjogI0ZGRjsKfQoubWVudS1mdWxsLXBhZ2UgI2Z1bGxwYWdlLW5hdiB1bCB1bCB7CiAgZGlzcGxheTogbm9uZTsKfQoubWVudS1mdWxsLXBhZ2UgI2Z1bGxwYWdlLW5hdiB1bCB1bCBsaSBhIHsKICBmb250LXNpemU6IDEzcHg7Cn0KLm1lbnUtZnVsbC1wYWdlICNmdWxscGFnZS1uYXYgdWwgdWwgbGkgYTpob3ZlciB7CiAgY29sb3I6ICM4ODg7Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlLm1lbnUtb3BlbiArICNmdWxscGFnZS1uYXYgewogIG9wYWNpdHk6IDE7CiAgei1pbmRleDogMTExMTsKfQoubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUubWVudS1vcGVuICsgI2Z1bGxwYWdlLW5hdiA+IHVsIHsKICBtYXJnaW4tdG9wOiA3MHB4Owp9Ci5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZSB7CiAgei1pbmRleDogMTExMjsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogZml4ZWQ7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDcwcHg7CiAgaGVpZ2h0OiA3MHB4OwogIGZvbnQtc2l6ZTogMDsKICB0ZXh0LWluZGVudDogLTk5OTlweDsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItcmFkaXVzOiBub25lOwogIGJvcmRlcjogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7CiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zczsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAvKiBhY3RpdmUgc3RhdGUsIGkuZS4gbWVudSBvcGVuICovCn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlIGkgewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBmb250LXNpemU6IDQwcHg7CiAgY29sb3I6ICNmZmY7Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwp9Ci5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZSBzcGFuIHsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiA0NXB4OwogIGxlZnQ6IDE4cHg7CiAgcmlnaHQ6IDE4cHg7CiAgaGVpZ2h0OiA0cHg7CiAgYm9yZGVyLXJhZGl1czogMnB4OwogIGJhY2tncm91bmQ6ICM4ODg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAgMC4zczsKICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAgMC4zczsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAgMC4zczsKfQoubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUgc3BhbjpiZWZvcmUsCi5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZSBzcGFuOmFmdGVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgZGlzcGxheTogYmxvY2s7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDRweDsKICBib3JkZXItcmFkaXVzOiAwOwogIGJhY2tncm91bmQtY29sb3I6ICM4ODg7CiAgY29udGVudDogIiI7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzLCAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MsIDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjNzLCAwOwogIHRyYW5zaXRpb24tZGVsYXk6IDAuM3MsIDA7Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlIHNwYW46YmVmb3JlIHsKICB0b3A6IC0xMnB4OwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCAtd2Via2l0LXRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHRyYW5zZm9ybTsKfQoubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUgc3BhbjphZnRlciB7CiAgYm90dG9tOiAtMTJweDsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgLXdlYmtpdC10cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlLm1lbnUtb3BlbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlLm1lbnUtb3BlbiBzcGFuIHsKICBiYWNrZ3JvdW5kOiBub25lOwp9Ci5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZS5tZW51LW9wZW4gc3BhbjpiZWZvcmUsCi5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZS5tZW51LW9wZW4gc3BhbjphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTsKICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAsIDAuM3M7CiAgdHJhbnNpdGlvbi1kZWxheTogMCwgMC4zczsKfQoubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUubWVudS1vcGVuIHNwYW46YmVmb3JlIHsKICB0b3A6IDA7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwp9Ci5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZS5tZW51LW9wZW4gc3BhbjphZnRlciB7CiAgYm90dG9tOiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7Cn0KLyogbWVudS1mdWxsLXBhZ2UgY3VzdG9tIGNvZGUgKi8KLm1lbnUtZnVsbC1wYWdlIC5oZWFkZXIgI2Z1bGxwYWdlLW5hdiBsaSB7CiAgcGFkZGluZzogNXB4IDA7Cn0KLm1lbnUtZnVsbC1wYWdlIC5oZWFkZXIgI2Z1bGxwYWdlLW5hdiBsaSBhIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGRpc3BsYXk6IGlubGluZTsKICBmb250LXNpemU6IDE4cHg7CiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7Cn0KLm1lbnUtZnVsbC1wYWdlIC5oZWFkZXIgI2Z1bGxwYWdlLW5hdiB1bCB1bCB7CiAgbWFyZ2luLXRvcDogMDsKfQoubWVudS1mdWxsLXBhZ2UgLmhlYWRlciAjZnVsbHBhZ2UtbmF2IHVsIHVsIGxpIHsKICBwYWRkaW5nOiAzcHggMDsKfQoubWVudS1mdWxsLXBhZ2UgLmhlYWRlciAjZnVsbHBhZ2UtbmF2IHVsIHVsIGxpIGEgewogIGZvbnQtc2l6ZTogMTJweDsKfQoubWVudS1mdWxsLXBhZ2UgLmhlYWRlciAjZnVsbHBhZ2UtbmF2IHVsIGxpIC5kcm9wZG93biB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3gtc2hhZG93OiBub25lOwogIGJvcmRlcjogbm9uZTsKICBmbG9hdDogbm9uZTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXgtaGVpZ2h0OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC45cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xNzUsIDEpICFpbXBvcnRhbnQ7CiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC45cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xNzUsIDEpICFpbXBvcnRhbnQ7CiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjlzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjE3NSwgMSkgIWltcG9ydGFudDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC45cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xNzUsIDEpICFpbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuOXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMTc1LCAxKSAhaW1wb3J0YW50OwogIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51LWZ1bGwtcGFnZSAuaGVhZGVyICNmdWxscGFnZS1uYXYgdWwgbGk6aG92ZXIgLmRyb3Bkb3duIHsKICBtYXgtaGVpZ2h0OiA3MDBweDsKfQovKgogKglib3hlZC1sYXlvdXQubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwpib2R5LmNvbnRhaW5lci0xMzQwcHggLmNvbnRhaW5lciB7CiAgd2lkdGg6IDEzNDBweDsKfQpib2R5LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyIHsKICB3aWR0aDogOTcwcHg7Cn0KLmJveGVkLWxheW91dCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDA0MDsKICBwYWRkaW5nLXRvcDogNDBweDsKICBwYWRkaW5nLWJvdHRvbTogNDBweDsKICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgcGFkZGluZy1yaWdodDogMTVweDsKfQouYm94ZWQtbGF5b3V0LmxheWVyLW92ZXJsYXk6YmVmb3JlIHsKICB6LWluZGV4OiAtMTsKfQouYm94ZWQtbGF5b3V0ICN3cmFwcGVyIHsKICBtYXJnaW46IDAgYXV0bzsKfQpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgLmJveGVkLWxheW91dCAjd3JhcHBlciB7CiAgICB3aWR0aDogY2FsYygxMTcwcHgpOwogIH0KfQouYm94ZWQtbGF5b3V0IC5jb250YWluZXIgLmNvbnRhaW5lciB7CiAgd2lkdGg6IDEwMCU7Cn0KQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogIC5ib3hlZC1sYXlvdXQgLmNvbnRhaW5lciB7CiAgICB3aWR0aDogMTE0MHB4OwogIH0KfQpAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7CiAgLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4ICN3cmFwcGVyIHsKICAgIHdpZHRoOiBjYWxjKDEzMzBweCk7CiAgfQp9Ci5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTEzNDBweCAuY29udGFpbmVyLAouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci0xMzQwcHggLmNvbnRhaW5lci1mbHVpZCB7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZy1sZWZ0OiAyMHB4OwogIHBhZGRpbmctcmlnaHQ6IDIwcHg7Cn0KLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4IC5jb250YWluZXIgLmNvbnRhaW5lciwKLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4IC5jb250YWluZXItZmx1aWQgLmNvbnRhaW5lciwKLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4IC5jb250YWluZXIgLmNvbnRhaW5lci1mbHVpZCwKLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4IC5jb250YWluZXItZmx1aWQgLmNvbnRhaW5lci1mbHVpZCB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLmJveGVkLWxheW91dC5jb250YWluZXItOTcwcHggI3dyYXBwZXIgewogICAgd2lkdGg6IGNhbGMoOTcwcHgpOwogIH0KfQouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyLAouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyLWZsdWlkIHsKICB3aWR0aDogMTAwJTsKICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgcGFkZGluZy1yaWdodDogMjBweDsKfQouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyIC5jb250YWluZXIsCi5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTk3MHB4IC5jb250YWluZXItZmx1aWQgLmNvbnRhaW5lciwKLmJveGVkLWxheW91dC5jb250YWluZXItOTcwcHggLmNvbnRhaW5lciAuY29udGFpbmVyLWZsdWlkLAouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyLWZsdWlkIC5jb250YWluZXItZmx1aWQgewogIHBhZGRpbmctbGVmdDogMDsKICBwYWRkaW5nLXJpZ2h0OiAwOwp9Ci5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTEwMHByICN3cmFwcGVyIHsKICB3aWR0aDogOTUlOwp9Ci5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTEwMHByICN3cmFwcGVyIC5jb250YWluZXIsCi5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTEwMHByICN3cmFwcGVyIC5jb250YWluZXItZmx1aWQgewogIHdpZHRoOiAxMDAlOwp9Ci5ib3hlZC1sYXlvdXQuY29udGFpbmVyLXNoYWRvdyAjd3JhcHBlciB7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMjVweCAwICM3Nzc7CiAgYm94LXNoYWRvdzogMCAwIDI1cHggMCAjNzc3Owp9Ci5ib3hlZC1sYXlvdXQgLmhlYWRlciwKLmJveGVkLWxheW91dCBzZWN0aW9uLAouYm94ZWQtbGF5b3V0IC5mb290ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7Cn0KLmJveGVkLWxheW91dCAuaGVhZGVyIC5uYXZiYXItZGVmYXVsdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICNmZmY7CiAgcGFkZGluZzogMDsKfQouYm94ZWQtbGF5b3V0IC5oZWFkZXIgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhIHsKICBwYWRkaW5nOiAzMHB4IDVweDsKfQouYm94ZWQtbGF5b3V0IC5oZWFkZXIgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItY29sbGFwc2UgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZmZmOwogIG1hcmdpbi1yaWdodDogMzBweDsKfQouYm94ZWQtbGF5b3V0IC5oZWFkZXIgI2hlYWRlci1sb2dvIHsKICBtYXJnaW46IDA7CiAgcGFkZGluZy10b3A6IDI3cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5ib3hlZC1sYXlvdXQgewogICAgcGFkZGluZy10b3A6IDE1cHg7CiAgfQogIC5ib3hlZC1sYXlvdXQgLmhlYWRlciAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGEgewogICAgcGFkZGluZzogMTBweDsKICB9CiAgLmJveGVkLWxheW91dCAuaGVhZGVyIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlIHsKICAgIG1hcmdpbi1yaWdodDogMTVweDsKICB9CiAgLmJveGVkLWxheW91dCAubmF2YmFyLWhlYWRlciB7CiAgICBwYWRkaW5nOiAxNXB4IDA7CiAgfQogIC5ib3hlZC1sYXlvdXQgLm5hdmJhci1jb2xsYXBzZSAubmF2YmFyLW5hdiBsaSBhIC5jYXJldCB7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgfQp9Ci8qCiAqIGZvcm0ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBGb3JtIC0tLS0tLS0tLS0gKi8KLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCwKLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLAouaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7CiAgZm9udC1zaXplOiAxNHB4Owp9Ci5mb3JtLWNvbnRyb2wgewogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogbm9uZTsKICBoZWlnaHQ6IDQ1cHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsKfQpsYWJlbCB7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKfQouZm9ybS1jb250cm9sOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InRleHQiXTpmb2N1cywKZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9Im51bWJlciJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InVybCJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InNlYXJjaCJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsCmZvcm0gaW5wdXRbdHlwZT0iZGF0ZSJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9ImNvbG9yIl06Zm9jdXMsCmZvcm0gc2VsZWN0OmZvY3VzLApmb3JtIHRleHRhcmVhOmZvY3VzIHsKICBjb2xvcjogIzQwNDA0MDsKICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIC1tb3otYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgb3V0bGluZTogbm9uZTsKfQouZm9ybS10cmFuc3BhcmVudCAuZm9ybS1jb250cm9sIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogI2Y3ZjdmNzsKfQouZm9ybS10cmFuc3BhcmVudCAuZm9ybS1jb250cm9sOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InRleHQiXTpmb2N1cywKLmZvcm0tdHJhbnNwYXJlbnQgZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9Im51bWJlciJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InVybCJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InNlYXJjaCJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsCi5mb3JtLXRyYW5zcGFyZW50IGZvcm0gaW5wdXRbdHlwZT0iZGF0ZSJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9ImNvbG9yIl06Zm9jdXMsCi5mb3JtLXRyYW5zcGFyZW50IGZvcm0gc2VsZWN0OmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIHRleHRhcmVhOmZvY3VzIHsKICBjb2xvcjogI2Y3ZjdmNzsKfQouZm9ybS10cmFuc3BhcmVudCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsCi5mb3JtLXdoaXRlIHRleHRhcmVhLmZvcm0tY29udHJvbCB7CiAgaGVpZ2h0OiAxNTBweDsKfQouZm9ybS13aGl0ZSAuZm9ybS1jb250cm9sIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwp9Ci5mb3JtLXRyYW5zcGFyZW50LmZvcm0tbGluZSAuZm9ybS1jb250cm9sIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMGMwYzA7CiAgcGFkZGluZy1sZWZ0OiAwOwp9Ci5mb3JtLXRyYW5zcGFyZW50LmZvcm0tbGluZSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wgewogIGhlaWdodDogNzBweDsKfQpmb3JtIGxhYmVsIHsKICBmb250LXdlaWdodDogYm9sZDsKfQovKiBmb3JtIGVycm9yICovCmZvcm0gLmZvcm0tY29udHJvbC5lcnJvciB7CiAgYm9yZGVyOiAycHggc29saWQgI2VlMTYzYjsKfQpmb3JtIC5lcnJvciB7CiAgY29sb3I6ICNlZTE2M2I7Cn0KLyogLS0tLS0tLS0gRG9uYXRpb24gRm9ybSAtLS0tLS0tLS0tICovCi5kb25hdGlvbi1mb3JtIC5mb3JtLWdyb3VwIGxhYmVsLnJhZGlvLWlubGluZSB7CiAgY29sb3I6ICM4MDgwODA7Cn0KLyotLS0tLS0tLSBmb3JtLXRleHQtd2hpdGUgLS0tLS0tLS0tKi8KLmZvcm0tdGV4dC13aGl0ZSAuZm9ybS1ncm91cCBsYWJlbCB7CiAgY29sb3I6ICNmZmY7Cn0KLyoKICogIHNpZGUtcHVzaC1wYW5lbC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5zaWRlLXB1c2gtcGFuZWwgewogIG92ZXJmbG93LXg6IGhpZGRlbjsKfQouc2lkZS1wdXNoLXBhbmVsLmZ1bGx3aWR0aC1wYWdlICN3cmFwcGVyIHsKICByaWdodDogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZSBoZWFkZXIgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgLmNvbnRhaW5lciB7CiAgcmlnaHQ6IDA7Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZS5zaWRlLXBhbmVsLWxlZnQgI3dyYXBwZXIgewogIGxlZnQ6IDA7CiAgcmlnaHQ6IGF1dG87Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZS5zaWRlLXBhbmVsLWxlZnQgaGVhZGVyIC5oZWFkZXItbmF2LXdyYXBwZXIuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIC5jb250YWluZXIgewogIGxlZnQ6IDA7CiAgcmlnaHQ6IGF1dG87Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZS5zaWRlLXBhbmVsLW9wZW4gI3dyYXBwZXIgewogIHJpZ2h0OiAzNTBweDsKfQouc2lkZS1wdXNoLXBhbmVsLmZ1bGx3aWR0aC1wYWdlLnNpZGUtcGFuZWwtb3BlbiBoZWFkZXIgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgLmNvbnRhaW5lciB7CiAgcmlnaHQ6IDM1MHB4Owp9Ci5zaWRlLXB1c2gtcGFuZWwuZnVsbHdpZHRoLXBhZ2Uuc2lkZS1wYW5lbC1sZWZ0LnNpZGUtcGFuZWwtb3BlbiAjd3JhcHBlciB7CiAgbGVmdDogMzUwcHg7CiAgcmlnaHQ6IGF1dG87Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZS5zaWRlLXBhbmVsLWxlZnQuc2lkZS1wYW5lbC1vcGVuIGhlYWRlciAuaGVhZGVyLW5hdi13cmFwcGVyLnNjcm9sbC10by1maXhlZC1maXhlZCAuY29udGFpbmVyIHsKICBsZWZ0OiAzNTBweDsKICByaWdodDogYXV0bzsKfQovKiAtLS0tLS0tLSBIYXMgU2lkZSBQYW5lbCAtLS0tLS0tLS0tICovCi5zaWRlLXB1c2gtcGFuZWwuaGFzLXNpZGUtcGFuZWwgLm1lbnV6b3JkIC5zaG93aGlkZSB7CiAgZmxvYXQ6IGxlZnQ7Cn0KLyogLS0tLS0tLS0gQm9keSBPdmVybGF5IC0tLS0tLS0tLS0gKi8KLmhhcy1zaWRlLXBhbmVsIC5ib2R5LW92ZXJsYXkgewogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIG9wYWNpdHk6IDA7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAtMTsKfQouaGFzLXNpZGUtcGFuZWwuc2lkZS1wYW5lbC1vcGVuIC5ib2R5LW92ZXJsYXkgewogIG9wYWNpdHk6IDE7CiAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgei1pbmRleDogMTExMjsKfQouc2lkZS1wYW5lbC1vcGVuOm5vdCguZGV2aWNlLXh4cyk6bm90KC5kZXZpY2UteHMpOm5vdCguZGV2aWNlLXNtKSAuYm9keS1vdmVybGF5OmhvdmVyIHsKICBjdXJzb3I6IHVybCgnLi4vaW1hZ2VzL2Nsb3NlLnBuZycpIDE1IDE1LCBkZWZhdWx0Owp9Ci8qIC0tLS0tLS0tIFNpZGUgUGFuZWwgLS0tLS0tLS0tLSAqLwojc2lkZS1wYW5lbCB7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsKICBoZWlnaHQ6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwb3NpdGlvbjogZml4ZWQ7CiAgcmlnaHQ6IC0zNTBweDsKICB0b3A6IDA7CiAgd2lkdGg6IDM1MHB4OwogIHotaW5kZXg6IDExMTM7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgewogICNzaWRlLXBhbmVsIHsKICAgIHdpZHRoOiAzMDBweDsKICB9Cn0KI3NpZGUtcGFuZWwgLnNpZGUtcGFuZWwtd3JhcCB7CiAgYm90dG9tOiAwOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIG92ZXJmbG93OiBhdXRvOwogIHBhZGRpbmc6IDQwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKfQojc2lkZS1wYW5lbCAud2lkZ2V0IHsKICBtYXJnaW4tYm90dG9tOiAyMHB4OwogIHBhZGRpbmctYm90dG9tOiAyMHB4OwogIHdpZHRoOiAxMDAlOwp9Ci5zaWRlLXBhbmVsLW9wZW4gI3NpZGUtcGFuZWwgewogIHJpZ2h0OiAwOwp9Ci5zaWRlLXBhbmVsLWxlZnQgI3NpZGUtcGFuZWwgewogIGxlZnQ6IC0zNTBweDsKICByaWdodDogYXV0bzsKfQouc2lkZS1wYW5lbC1sZWZ0LnNpZGUtcGFuZWwtb3BlbiAjc2lkZS1wYW5lbCB7CiAgbGVmdDogMDsKICByaWdodDogYXV0bzsKfQouZGV2aWNlLXRvdWNoICNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLXdyYXAgewogIG92ZXJmbG93LXk6IHNjcm9sbDsKfQovKiAtLS0tLS0tLSBTaWRlLVBhbmVsLU5hdiAtLS0tLS0tLS0tICovCiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLW5hdiAubmF2IGxpIGEsCiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLXdpZGdldCAubmF2IGxpIGEgewogIHBhZGRpbmc6IDNweCAwOwp9CiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLW5hdiAubmF2IGxpIGE6aG92ZXIsCiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLXdpZGdldCAubmF2IGxpIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGNvbG9yOiAjYTlhOWE5Owp9CiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLW5hdiAubmF2IHVsLnRyZWUsCiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLXdpZGdldCAubmF2IHVsLnRyZWUgewogIGRpc3BsYXk6IG5vbmU7CiAgbWFyZ2luLWxlZnQ6IDE1cHg7Cn0KLyogLS0tLS0tLS0gU2lkZS1QYW5lbC1UcmlnZ2VyIEFuZCBDbG9zZSAtLS0tLS0tLS0tICovCiNzaWRlLXBhbmVsLXRyaWdnZXIgewogIGN1cnNvcjogcG9pbnRlcjsKICBtYXJnaW4tbGVmdDogMTBweDsKICBtYXJnaW4tcmlnaHQ6IDVweDsKICB6LWluZGV4OiAxMTsKfQojc2lkZS1wYW5lbC10cmlnZ2VyLWNsb3NlIHsKICBsZWZ0OiAwOwogIG1hcmdpbjogMTBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwp9Ci8qIC0tLS0tLS0tIFRyYW5zaXRpb24gLS0tLS0tLS0tLSAqLwouc2lkZS1wdXNoLXBhbmVsLmZ1bGx3aWR0aC1wYWdlICN3cmFwcGVyLAouc2lkZS1wdXNoLXBhbmVsLmZ1bGx3aWR0aC1wYWdlIGhlYWRlciAuaGVhZGVyLW5hdi13cmFwcGVyLnNjcm9sbC10by1maXhlZC1maXhlZCAuY29udGFpbmVyIHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwp9Ci8qCiAqICBib3gtaG92ZXItZWZmZWN0Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJveC1ob3Zlci1lZmZlY3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luOiAwOwogIHdpZHRoOiAxMDAlOwogIC8qIEljb25zIEhvbGRlciAqLwogIC8qIEljb25zIEhvbGRlciBtaWRkbGUgKi8KICAvKiBJY29ucyBIb2xkZXIgdG9wIGxlZnQgKi8KICAvKiBJY29ucyBIb2xkZXIgdG9wIHJpZ2h0ICovCiAgLyogSWNvbnMgSG9sZGVyIGJvdHRvbSBsZWZ0ICovCiAgLyogSWNvbnMgSG9sZGVyIGJvdHRvbSByaWdodCAqLwogIC8qIFRleHQgSG9sZGVyICovCiAgLyogVGV4dCBIb2xkZXIgbWlkZGxlICovCiAgLyogVGV4dCBIb2xkZXIgdG9wICovCiAgLyogVGV4dCBIb2xkZXIgYm90dG9tICovCn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50aHVtYiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLnRodW1iLmdyYWRpZW50LWVmZmVjdDphZnRlciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICIiOwogIHRvcDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzYwZGVnLCByZ2JhKDAsIDAsIDAsIDAuNikgMTBweCwgdHJhbnNwYXJlbnQpOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAuaG92ZXItbGluayB7CiAgYm90dG9tOiAwOwogIGRpc3BsYXk6IGJsb2NrOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICBiYWNrZ3JvdW5kOiBub25lIWltcG9ydGFudDsKICBjb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50OwogIHotaW5kZXg6IDExOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAub3ZlcmxheS1zaGFkZSB7CiAgYm90dG9tOiAwOwogIGRpc3BsYXk6IGJsb2NrOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICB6LWluZGV4OiAxMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOwogIG9wYWNpdHk6IDA7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5vdmVybGF5LXNoYWRlLnNoYWRlLXdoaXRlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAuaWNvbnMtaG9sZGVyIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgb3BhY2l0eTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogMTM7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlciAuaWNvbnMtaG9sZGVyLWlubmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAwOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAuaWNvbnMtaG9sZGVyIC5pY29ucy1ob2xkZXItaW5uZXIgYSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci1taWRkbGUgewogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRvcDogNDAlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDgwJTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci1taWRkbGUgLmljb25zLWhvbGRlci1pbm5lciB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItbWlkZGxlIC5pY29ucy1ob2xkZXItaW5uZXIgYSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci10b3AtbGVmdCB7CiAgdG9wOiAtMjAlOwogIGxlZnQ6IDA7CiAgcGFkZGluZzogMTVweDsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci10b3AtbGVmdCAuaWNvbnMtaG9sZGVyLWlubmVyIHsKICBkaXNwbGF5OiBibG9jazsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci10b3AtcmlnaHQgewogIHRvcDogLTIwJTsKICByaWdodDogMDsKICBwYWRkaW5nOiAxNXB4Owp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAuaWNvbnMtaG9sZGVyLXRvcC1yaWdodCAuaWNvbnMtaG9sZGVyLWlubmVyIHsKICBkaXNwbGF5OiBibG9jazsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci1ib3R0b20tbGVmdCB7CiAgYm90dG9tOiAtMjAlOwogIGxlZnQ6IDA7CiAgcGFkZGluZzogNXB4IDE1cHg7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLWxlZnQgLmljb25zLWhvbGRlci1pbm5lciB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLXJpZ2h0IHsKICBib3R0b206IC0yMCU7CiAgcmlnaHQ6IDA7CiAgcGFkZGluZzogNXB4IDE1cHg7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLXJpZ2h0IC5pY29ucy1ob2xkZXItaW5uZXIgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXIgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBvcGFjaXR5OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IGFic29sdXRlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgei1pbmRleDogMTM7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlciAudGl0bGUgewogIGNvbG9yOiAjZmZmOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXIgLnRleHRfaG9sZGVyX2lubmVyIHsKICBkaXNwbGF5OiB0YWJsZTsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAxMDAlOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXIgLnRleHRfaG9sZGVyX2lubmVyMiB7CiAgZGlzcGxheTogdGFibGUtY2VsbDsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiAxMDAlOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAub3ZlcmxheS1zaGFkZS5zaGFkZS13aGl0ZSArIC50ZXh0LWhvbGRlciAudGl0bGUgewogIGNvbG9yOiAjMzMzOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXItbWlkZGxlIHsKICBkaXNwbGF5OiBibG9jazsKICBsZWZ0OiAwOwogIG1hcmdpbjogMCBhdXRvOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0b3A6IDMwJTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiA4MCU7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci10b3AgewogIGRpc3BsYXk6IGJsb2NrOwogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRvcDogLTQwcHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogODAlOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXItYm90dG9tIHsKICBkaXNwbGF5OiBibG9jazsKICBsZWZ0OiAwOwogIG1hcmdpbjogMCBhdXRvOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBib3R0b206IC00MHB4OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDgwJTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLnRleHQtaG9sZGVyLXRvcC1sZWZ0IHsKICBsZWZ0OiAwOwogIHBhZGRpbmc6IDVweCAxNXB4OwogIHRvcDogLTQwcHg7CiAgd2lkdGg6IGF1dG87Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci10b3AtcmlnaHQgewogIHJpZ2h0OiAwOwogIHBhZGRpbmc6IDVweCAxNXB4OwogIHRvcDogLTQwcHg7CiAgd2lkdGg6IGF1dG87Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci1ib3R0b20tbGVmdCB7CiAgbGVmdDogMDsKICBwYWRkaW5nOiA1cHggMTVweDsKICBib3R0b206IC00MHB4OwogIHdpZHRoOiBhdXRvOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXItYm90dG9tLXJpZ2h0IHsKICByaWdodDogMDsKICBwYWRkaW5nOiA1cHggMTVweDsKICBib3R0b206IC00MHB4OwogIHdpZHRoOiBhdXRvOwp9Ci5ib3gtaG92ZXItZWZmZWN0OmhvdmVyIC5lZmZlY3Qtd3JhcHBlciAudGh1bWIgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC5vdmVybGF5LXNoYWRlIHsKICBvcGFjaXR5OiAwLjg7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTsKfQouYm94LWhvdmVyLWVmZmVjdDpob3ZlciAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlciB7CiAgb3BhY2l0eTogMTsKfQouYm94LWhvdmVyLWVmZmVjdDpob3ZlciAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci1taWRkbGUgewogIHRvcDogNDUlOwp9Ci5ib3gtaG92ZXItZWZmZWN0OmhvdmVyIC5lZmZlY3Qtd3JhcHBlciAuaWNvbnMtaG9sZGVyLXRvcC1sZWZ0IHsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItdG9wLXJpZ2h0IHsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLWxlZnQgewogIGJvdHRvbTogMiU7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLXJpZ2h0IHsKICBib3R0b206IDIlOwp9Ci5ib3gtaG92ZXItZWZmZWN0OmhvdmVyIC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXIgewogIG9wYWNpdHk6IDE7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci1taWRkbGUgewogIHRvcDogNDAlOwp9Ci5ib3gtaG92ZXItZWZmZWN0OmhvdmVyIC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXItdG9wIHsKICB0b3A6IDIwcHg7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci1ib3R0b20gewogIGJvdHRvbTogMjBweDsKfQouYm94LWhvdmVyLWVmZmVjdDpob3ZlciAuZWZmZWN0LXdyYXBwZXIgLnRleHQtaG9sZGVyLXRvcC1sZWZ0IHsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci10b3AtcmlnaHQgewogIHRvcDogMDsKfQouYm94LWhvdmVyLWVmZmVjdDpob3ZlciAuZWZmZWN0LXdyYXBwZXIgLnRleHQtaG9sZGVyLWJvdHRvbS1sZWZ0IHsKICBib3R0b206IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci1ib3R0b20tcmlnaHQgewogIGJvdHRvbTogMDsKfQouc2hhZG93LW92ZXJsYXkgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1hZ2VzL3NoYWRvdy1vdmVybGF5LnBuZyIpOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207CiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OwogIGJvdHRvbTogMDsKICBjb2xvcjogI2ZmZjsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3RzICovCi8qIEluZGl2aWR1YWwgZWZmZWN0ID0gaW1hZ2Utem9vbS1pbiAqLwouYm94LWhvdmVyLWVmZmVjdC5pbWFnZS16b29tLWluIC50aHVtYiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQouYm94LWhvdmVyLWVmZmVjdC5pbWFnZS16b29tLWluOmhvdmVyIC50aHVtYiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwp9Ci8qIEluZGl2aWR1YWwgZWZmZWN0ID0gaW1hZ2Utem9vbS1vdXQgKi8KLmJveC1ob3Zlci1lZmZlY3QuaW1hZ2Utem9vbS1vdXQgLnRodW1iIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7Cn0KLmJveC1ob3Zlci1lZmZlY3QuaW1hZ2Utem9vbS1vdXQ6aG92ZXIgLnRodW1iIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwp9Ci8qIEluZGl2aWR1YWwgZWZmZWN0ID0gcGxheSBidXR0b24gKi8KLmJveC1ob3Zlci1lZmZlY3QucGxheS1idXR0b24gewogIC8qIFRleHQgSG9sZGVyICovCn0KLmJveC1ob3Zlci1lZmZlY3QucGxheS1idXR0b24gLnRodW1iIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwp9Ci5ib3gtaG92ZXItZWZmZWN0LnBsYXktYnV0dG9uOmhvdmVyIC50aHVtYiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQouYm94LWhvdmVyLWVmZmVjdC5wbGF5LWJ1dHRvbiAudGV4dC1ob2xkZXIgewogIG9wYWNpdHk6IDE7Cn0KLmJveC1ob3Zlci1lZmZlY3QucGxheS1idXR0b24gLnRleHQtaG9sZGVyLW1pZGRsZSB7CiAgdG9wOiAzNCU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQouYm94LWhvdmVyLWVmZmVjdC5wbGF5LWJ1dHRvbjpob3ZlciAudGV4dC1ob2xkZXItbWlkZGxlIHsKICB0b3A6IDM0JTsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7Cn0KLmJveC1ob3Zlci1lZmZlY3QucGxheS1idXR0b24gLnZpZGVvLWJ1dHRvbiB7CiAgei1pbmRleDogMTE7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIGxlZnQ6IDUwJTsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgd2lkdGg6IDYwcHg7CiAgaGVpZ2h0OiA2MHB4OwogIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdC5wbGF5LWJ1dHRvbiAudmlkZW8tYnV0dG9uOmJlZm9yZSB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIGxlZnQ6IDUwJTsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMDsKICBoZWlnaHQ6IDA7CiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjNjY2OwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1JSwgLTUwJSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1JSwgLTUwJSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdC5wbGF5LWJ1dHRvbjpob3ZlciAudmlkZW8tYnV0dG9uIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgNTEsIDUxLCAwLjkpOwogIHdpZHRoOiA4MHB4OwogIGhlaWdodDogODBweDsKICBib3gtc2hhZG93OiAxcHggMXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjMpOwp9Ci5ib3gtaG92ZXItZWZmZWN0LnBsYXktYnV0dG9uOmhvdmVyIC52aWRlby1idXR0b246YmVmb3JlIHsKICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmZmOwp9Ci8qIEluZGl2aWR1YWwgZWZmZWN0ID0gYWxhc2thICovCi5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1hbGFza2EgLmJvdHRvbS1pbmZvLWJveCB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgcGFkZGluZzogMTVweCAzMHB4IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogNzUlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWFsYXNrYSAuYm90dG9tLWluZm8tYm94IC5pbnZpc2libGUtcGFydHMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWFsYXNrYTpob3ZlciAuYm90dG9tLWluZm8tYm94IHsKICBwYWRkaW5nLXRvcDogMzhweDsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWFsYXNrYTpob3ZlciAuYm90dG9tLWluZm8tYm94IC5pbnZpc2libGUtcGFydHMgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci8qIEluZGl2aWR1YWwgZWZmZWN0ID0gc2liZXJpYSAqLwouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3Qtc2liZXJpYSAuaW5mby1ib3ggLmluZm8tdGl0bGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBwYWRkaW5nOiAxNXB4IDcwcHggMTVweCAxNXB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1zaWJlcmlhIC5pbmZvLWJveCAuaW5mby10aXRsZTpiZWZvcmUgewogIGNvbG9yOiAjZmZmOwogIGNvbnRlbnQ6ICJcZjA1NCI7CiAgZm9udC1mYW1pbHk6ICJmb250QXdlc29tZSI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBsaW5lLWhlaWdodDogNTBweDsKICBib3R0b206IDVweDsKICB0b3A6IDdweDsKICByaWdodDogN3B4OwogIHdpZHRoOiA1MHB4OwogIGhlaWdodDogNTBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDksIDksIDksIDAuMyk7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNSk7CiAgZm9udC1zaXplOiAxOHB4Owp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1zaWJlcmlhIC5pbmZvLWJveCAuaW5mby1jb250ZW50IHsKICBjb2xvcjogI2ZmZmZmZjsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB0b3A6IDA7CiAgcGFkZGluZzogMzBweDsKICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOwogIC13ZWJraXQtb3BhY2l0eTogMDsKICAta2h0bWwtb3BhY2l0eTogMDsKICAtbW96LW9wYWNpdHk6IDA7CiAgb3BhY2l0eTogMDsKICAtbXMtZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEob3BhY2l0eT0wKTsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OwogIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKfQouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3Qtc2liZXJpYTpob3ZlciAuaW5mby1ib3ggLmluZm8tdGl0bGUgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsKfQouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3Qtc2liZXJpYTpob3ZlciAuaW5mby1ib3ggLmluZm8tY29udGVudCB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIHZpc2liaWxpdHk6IHZpc2libGU7CiAgLXdlYmtpdC1vcGFjaXR5OiAxOwogIC1raHRtbC1vcGFjaXR5OiAxOwogIC1tb3otb3BhY2l0eTogMTsKICBvcGFjaXR5OiAxOwogIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PTEwMCk7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3QgPSBmbG9yaWRhICovCi5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1mbG9yaWRhIC5pbmZvLWJveCAuaW5mby10aXRsZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDE1cHg7CiAgcmlnaHQ6IDE1cHg7CiAgYm90dG9tOiAxNXB4OwogIHBhZGRpbmc6IDE1cHggNzBweCAxNXB4IDE1cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWZsb3JpZGEgLmluZm8tYm94IC5pbmZvLXRpdGxlOmJlZm9yZSB7CiAgY29sb3I6ICNmZmY7CiAgY29udGVudDogIlxmMDU0IjsKICBmb250LWZhbWlseTogImZvbnRBd2Vzb21lIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGxpbmUtaGVpZ2h0OiA1MHB4OwogIGJvdHRvbTogNXB4OwogIHRvcDogN3B4OwogIHJpZ2h0OiA3cHg7CiAgd2lkdGg6IDUwcHg7CiAgaGVpZ2h0OiA1MHB4OwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOSwgOSwgOSwgMC4zKTsKICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KTsKICBmb250LXNpemU6IDE4cHg7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWZsb3JpZGEgLmluZm8tYm94IC5pbmZvLWNvbnRlbnQgewogIGNvbG9yOiAjZmZmZmZmOwogIGJvdHRvbTogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICBwYWRkaW5nOiAzMHB4OwogIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7CiAgLXdlYmtpdC1vcGFjaXR5OiAwOwogIC1raHRtbC1vcGFjaXR5OiAwOwogIC1tb3otb3BhY2l0eTogMDsKICBvcGFjaXR5OiAwOwogIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PTApOwogIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OwogIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0Owp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1mbG9yaWRhOmhvdmVyIC5pbmZvLWJveCAuaW5mby10aXRsZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1mbG9yaWRhOmhvdmVyIC5pbmZvLWJveCAuaW5mby1jb250ZW50IHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAtd2Via2l0LW9wYWNpdHk6IDE7CiAgLWtodG1sLW9wYWNpdHk6IDE7CiAgLW1vei1vcGFjaXR5OiAxOwogIG9wYWNpdHk6IDE7CiAgLW1zLWZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKG9wYWNpdHk9MTAwKTsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsKfQovKiBJbmRpdmlkdWFsIGVmZmVjdCA9IGxvbmRvbiAqLwouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3QtbG9uZG9uIC50ZXh0LWhvbGRlciB7CiAgdG9wOiAtMzBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1sb25kb246aG92ZXIgLnRleHQtaG9sZGVyIHsKICB0b3A6IDA7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3QgPSByb21lICovCi5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1yb21lOmhvdmVyIC50ZXh0LWhvbGRlciB7CiAgdG9wOiBhdXRvOwogIGJvdHRvbTogMDsKfQovKiBJbmRpdmlkdWFsIGVmZmVjdCA9IHBhcmlzICovCi5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1wYXJpczpob3ZlciAudGh1bWIgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNzBweCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC03MHB4KTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNzBweCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTcwcHgpOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1wYXJpcyAudGV4dC1ob2xkZXIgewogIGJhY2tncm91bmQ6ICMzMzM7CiAgcGFkZGluZzogNXB4IDE1cHggNXB4OwogIHRvcDogYXV0bzsKICBib3R0b206IC0zMHB4OwogIHdpZHRoOiAxMDAlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LXBhcmlzOmhvdmVyIC50ZXh0LWhvbGRlciB7CiAgdG9wOiBhdXRvOwogIGJvdHRvbTogMDsKfQovKiBJbmRpdmlkdWFsIGVmZmVjdCA9IGJhcmxpbiAqLwouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3QtYmFybGluOmhvdmVyIC50aHVtYiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3QtYmFybGluIC50ZXh0LWhvbGRlci1taWRkbGUgewogIGJvdHRvbTogMDsKICBwYWRkaW5nOiAyMHB4OwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKfQouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3QtYmFybGluIC50ZXh0LWhvbGRlci1taWRkbGUgLnRleHRfaG9sZGVyX2lubmVyIC50ZXh0X2hvbGRlcl9pbm5lcjIgLnRpdGxlMSB7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOwogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMC4yczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDAuMnM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwLjJzOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1iYXJsaW4gLnRleHQtaG9sZGVyLW1pZGRsZSAudGV4dF9ob2xkZXJfaW5uZXIgLnRleHRfaG9sZGVyX2lubmVyMiAudGl0bGUyIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOwogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwLjNzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMC4zczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDAuM3M7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWJhcmxpbjpob3ZlciAudGV4dC1ob2xkZXItbWlkZGxlIHsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWJhcmxpbjpob3ZlciAudGV4dC1ob2xkZXItbWlkZGxlIC50ZXh0X2hvbGRlcl9pbm5lciAudGV4dF9ob2xkZXJfaW5uZXIyIC50aXRsZTEgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWJhcmxpbjpob3ZlciAudGV4dC1ob2xkZXItbWlkZGxlIC50ZXh0X2hvbGRlcl9pbm5lciAudGV4dF9ob2xkZXJfaW5uZXIyIC50aXRsZTIgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWJhcmxpbiAuaG92ZXItbGluayB7CiAgei1pbmRleDogMTM7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3QgPSB0aHVtYi1hbmdsZS1lZmZlY3QgKi8KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItYW5nbGUtZWZmZWN0IC50aHVtYjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsKICBsZWZ0OiAtNDAlOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTUwJTsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC00MCU7CiAgd2lkdGg6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC03MGRlZyk7CiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC03MGRlZyk7CiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTcwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzBkZWcpOwogIHotaW5kZXg6IDE7Cn0KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItYW5nbGUtZWZmZWN0OmhvdmVyIC50aHVtYjpiZWZvcmUgewogIG9wYWNpdHk6IDE7Cn0KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItYW5nbGUtZWZmZWN0OmhvdmVyIGltZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3QgPSB0aHVtYi1jcm9zcy1lZmZlY3QgKi8KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItY3Jvc3MtZWZmZWN0IC50aHVtYjphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOwogIGJvdHRvbTogMDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgd2lkdGg6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItY3Jvc3MtZWZmZWN0IC50aHVtYjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsKICBsZWZ0OiAwOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgd2lkdGg6IDA7CiAgei1pbmRleDogMTsKfQouYm94LWhvdmVyLWVmZmVjdC50aHVtYi1jcm9zcy1lZmZlY3Q6aG92ZXIgLnRodW1iOmJlZm9yZSwKLmJveC1ob3Zlci1lZmZlY3QudGh1bWItY3Jvc3MtZWZmZWN0OmhvdmVyIC50aHVtYjphZnRlciB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxMDAlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1vdXQgMHM7Cn0KLyoKICogZ2FsbGVyeS1pc290b3BlLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0gUG9ydGZvbGlvIElzb3RvcCBGaWx0ZXIgLS0tLS0tLS0tLSAqLwoucG9ydGZvbGlvLWZpbHRlciB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoucG9ydGZvbGlvLWZpbHRlciBhIHsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZsb2F0OiBub25lOwogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LXdlaWdodDogNDAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgb3V0bGluZTogbWVkaXVtIG5vbmU7CiAgcGFkZGluZzogNXB4IDE1cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDEwMG1zIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluLW91dCAwczsKfQoucG9ydGZvbGlvLWZpbHRlciBhLmFjdGl2ZSwKLnBvcnRmb2xpby1maWx0ZXIgYTpob3ZlciB7CiAgY29sb3I6ICNmZmY7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkgewogIC5wb3J0Zm9saW8tZmlsdGVyIGEgewogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICB9Cn0KLyogLS0tLS0tLS0gUG9ydGZvbGlvIElzb3RvcCBHYWxsZXJ5IC0tLS0tLS0tLS0gKi8KLmdhbGxlcnktaXNvdG9wZSB7CiAgLypndXR0ZXIqLwogIC8qIGl0ZW0gc2l6ZXIgKi8KICAvKiBieSBkZWZhdWx0IDQgZ3JpZHMgKi8KICAvKnBvcnRmb2xpbyAyIGdyaWRzKi8KICAvKnBvcnRmb2xpbyAyIGdyaWRzKi8KICAvKnBvcnRmb2xpbyAzIGdyaWRzKi8KICAvKnBvcnRmb2xpbyA0IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA1IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA2IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA3IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA4IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA5IGdyaWRzKi8KICAvKnBvcnRmb2xpbyAxMCBncmlkcyovCn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXIgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogNXB4OwogIHBhZGRpbmctYm90dG9tOiA1cHg7Cn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXItc21hbGwgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogMnB4OwogIHBhZGRpbmctYm90dG9tOiAycHg7Cn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXItMCAuZ2FsbGVyeS1pdGVtIHsKICBwYWRkaW5nLXJpZ2h0OiAwOwogIHBhZGRpbmctYm90dG9tOiAwOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3V0dGVyLTUgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogNXB4OwogIHBhZGRpbmctYm90dG9tOiA1cHg7Cn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXItMTAgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICBwYWRkaW5nLWJvdHRvbTogMTBweDsKfQouZ2FsbGVyeS1pc290b3BlLmd1dHRlci0yMCAuZ2FsbGVyeS1pdGVtIHsKICBwYWRkaW5nLXJpZ2h0OiAyMHB4OwogIHBhZGRpbmctYm90dG9tOiAyMHB4Owp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3V0dGVyLTMwIC5nYWxsZXJ5LWl0ZW0gewogIHBhZGRpbmctcmlnaHQ6IDMwcHg7CiAgcGFkZGluZy1ib3R0b206IDMwcHg7Cn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXItNDAgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogNDBweDsKICBwYWRkaW5nLWJvdHRvbTogNDBweDsKfQouZ2FsbGVyeS1pc290b3BlLmd1dHRlci01MCAuZ2FsbGVyeS1pdGVtIHsKICBwYWRkaW5nLXJpZ2h0OiA1MHB4OwogIHBhZGRpbmctYm90dG9tOiA1MHB4Owp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3V0dGVyLTYwIC5nYWxsZXJ5LWl0ZW0gewogIHBhZGRpbmctcmlnaHQ6IDYwcHg7CiAgcGFkZGluZy1ib3R0b206IDYwcHg7Cn0KLmdhbGxlcnktaXNvdG9wZSAuZ2FsbGVyeS1pdGVtLXNpemVyIHsKICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB3aWR0aDogMjUlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbS1zaXplci53aWRlIHsKICB3aWR0aDogNTAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogMDsKICBwYWRkaW5nLWJvdHRvbTogMDsKICB3aWR0aDogMjUlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbS53aWRlIHsKICB3aWR0aDogNTAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0xIC5nYWxsZXJ5LWl0ZW0gewogIHdpZHRoOiAxMDAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0xIC5nYWxsZXJ5LWl0ZW0ud2lkZSB7CiAgd2lkdGg6IDEwMCU7Cn0KLmdhbGxlcnktaXNvdG9wZS5ncmlkLTIgLmdhbGxlcnktaXRlbSB7CiAgd2lkdGg6IDUwJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtMiAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiAxMDAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0zIC5nYWxsZXJ5LWl0ZW0gewogIHdpZHRoOiAzMy4zMzMzJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtMyAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiA2Ni42NjY3JTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNCAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMjUlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC00IC5nYWxsZXJ5LWl0ZW0ud2lkZSB7CiAgd2lkdGg6IDUwJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNSAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMjAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC01IC5nYWxsZXJ5LWl0ZW0ud2lkZSB7CiAgd2lkdGg6IDQwJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNiAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMTYuNjY2NjY2NjY3JTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNiAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiAzMy4zMzMlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC03IC5nYWxsZXJ5LWl0ZW0gewogIHdpZHRoOiAxNC4yODU3MTQzJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNyAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiAyOC41NzE0Mjg2JTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtOCAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMTIuNSU7Cn0KLmdhbGxlcnktaXNvdG9wZS5ncmlkLTggLmdhbGxlcnktaXRlbS53aWRlIHsKICB3aWR0aDogMjUlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC05IC5nYWxsZXJ5LWl0ZW0gewogIHdpZHRoOiAxMS4xMSU7Cn0KLmdhbGxlcnktaXNvdG9wZS5ncmlkLTkgLmdhbGxlcnktaXRlbS53aWRlIHsKICB3aWR0aDogMjIuMjIlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0xMCAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMTAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0xMCAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiAyMCU7Cn0KLyogLS0tLS0tLS0gUG9ydGZvbGlvIElzb3RvcCBJdGVtIE1lZGlhIFF1ZXJ5IC0tLS0tLS0tLS0gKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbSB7CiAgICB3aWR0aDogMzMuMzMzJSAhaW1wb3J0YW50OwogIH0KICAuZ2FsbGVyeS1pc290b3BlIC5nYWxsZXJ5LWl0ZW0ud2lkZSB7CiAgICB3aWR0aDogNjYuNjY2NyUgIWltcG9ydGFudDsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbSB7CiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7CiAgfQogIC5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbS53aWRlIHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsKICAuZ2FsbGVyeS1pc290b3BlIC5nYWxsZXJ5LWl0ZW0gewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICB9CiAgLmdhbGxlcnktaXNvdG9wZSAuZ2FsbGVyeS1pdGVtLndpZGUgewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICB9Cn0KLyogLS0tLS0tLS0gUG9ydGZvbGlvIElzb3RvcCBPdmVybGF5IEVmZmVjdCAtLS0tLS0tLS0tICovCi5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW0gewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAudGh1bWIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW0gLmhvdmVyLWxpbmsgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7CiAgY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDsKICB6LWluZGV4OiAxMTsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtIC5vdmVybGF5LXNoYWRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIHotaW5kZXg6IDEyOwogIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgb3BhY2l0eTogMDsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0OwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5vdmVybGF5LXNoYWRlIHsKICBvcGFjaXR5OiAwLjk7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtIC5pY29ucy1ob2xkZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDAlOwogIGxlZnQ6IDUwJTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IGF1dG87CiAgaGVpZ2h0OiAzNnB4OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgei1pbmRleDogMTM7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtIC5pY29ucy1ob2xkZXIgLmljb25zLWhvbGRlci1pbm5lciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIG1hcmdpbjogLTE4cHggMCAwIC01MCU7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAuaWNvbnMtaG9sZGVyIC5pY29ucy1ob2xkZXItaW5uZXIgYSB7CiAgb3BhY2l0eTogMDsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5pY29ucy1ob2xkZXIgewogIHRvcDogNTAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW06aG92ZXIgLmljb25zLWhvbGRlciAuaWNvbnMtaG9sZGVyLWlubmVyIGEgewogIG9wYWNpdHk6IDE7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEpOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW0gLnBvcnRmb2xpby1kZXNjcmlwdGlvbiB7CiAgcGFkZGluZzogMTBweCAxNXB4OwogIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAucG9ydGZvbGlvLWRlc2NyaXB0aW9uIC50aXRsZSB7CiAgbWFyZ2luOiAwOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW0gLnBvcnRmb2xpby1kZXNjcmlwdGlvbiAudGl0bGUgYSB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAudGV4dC1ob2xkZXIgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAxMDAlOwogIGxlZnQ6IDA7CiAgb3BhY2l0eTogMDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IDI1cHggMzBweCA2MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwMHB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTM7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAudGV4dC1ob2xkZXIgLnRpdGxlIHsKICBjb2xvcjogI2ZmZjsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtOmhvdmVyIC50ZXh0LWhvbGRlciB7CiAgb3BhY2l0eTogMTsKICB0b3A6IDA7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmZsZXgtY29udHJvbC1uYXYgewogIHotaW5kZXg6IDExMTsKfQovKgogKiBzbGlkZXIubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBSZXYgU2xpZGVyIC0tLS0tLS0tLS0gKi8KI2hvbWUgLnJldnNsaWRlci1mdWxsc2NyZWVuIHsKICBtaW4taGVpZ2h0OiBhdXRvOwp9Ci8qIC0tLS0tLS0tIEhvbWUgUmV2b2x1dGlvbiBTbGlkZXIgRm9yIE1pbmltYWwgTGF5b3V0cyAtLS0tLS0tLS0tICovCi5taW5pbWFsLXJldnNsaWRlci13cmFwcGVyIHsKICBsZWZ0OiAwIWltcG9ydGFudDsKICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7Cn0KLm1pbmltYWwtcmV2c2xpZGVyLXdyYXBwZXIgLnRwLWxlZnRhcnJvdyB7CiAgbGVmdDogMCFpbXBvcnRhbnQ7Cn0KLm1pbmltYWwtcmV2c2xpZGVyLXdyYXBwZXIgLnRwLXJpZ2h0YXJyb3cgewogIHJpZ2h0OiAwIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBUYWItU2xpZGVyIC0tLS0tLS0tLS0gKi8KLnRhYi1zbGlkZXIgLnRhYi1jb250ZW50IHsKICBwYWRkaW5nOiAwOwogIGJvcmRlcjogMDsKfQoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyA+IGRpdiB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7Cn0KLnRhYi1zbGlkZXIgLm5hdi5uYXYtcGlsbHMgaSB7CiAgY29sb3I6ICNkM2QzZDM7Cn0KLnRhYi1zbGlkZXIgLm5hdi5uYXYtcGlsbHMgYSB7CiAgZGlzcGxheTogYmxvY2s7CiAgcGFkZGluZzogNDBweCAzMHB4OwogIGJhY2tncm91bmQ6ICNmM2YzZjM7Cn0KLnRhYi1zbGlkZXIgLm5hdi5uYXYtcGlsbHMgYTpob3ZlciBpLAoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyBhOmhvdmVyIGg2LAoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyBhLmFjdGl2ZSBpLAoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyBhLmFjdGl2ZSBoNiB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gTWF4SW1hZ2UgU2xpZGVyIC0tLS0tLS0tLS0gKi8KLm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLXByZXYsCi5tYXhpbWFnZS1zbGlkZXIgLmZ1bGxzY3JlZW4tY29udHJvbHMgLmltZy1uZXh0IHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7Cn0KLyogLS0tLS0tLS0gVGVzdGltb25pYWwtQ2Fyb3VzZWwgLS0tLS0tLS0tLSAqLwoudGVzdGltb25pYWwtY2Fyb3VzZWwsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIgewogIC8qIGZ1bGx3aWR0aCAqLwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbCAucXVvdGUsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIgLnF1b3RlLAoudGVzdGltb25pYWwtY2Fyb3VzZWwgLnRodW1iLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyIC50aHVtYiB7CiAgbWFyZ2luLWJvdHRvbTogNDBweDsKfQoudGVzdGltb25pYWwtY2Fyb3VzZWwgLnF1b3RlIGksCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIgLnF1b3RlIGkgewogIGJhY2tncm91bmQ6ICM1NTU1NTU7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiAjZmZmOwogIGZvbnQtc2l6ZTogMjVweDsKICBoZWlnaHQ6IDYwcHg7CiAgbGluZS1oZWlnaHQ6IDE7CiAgcGFkZGluZzogMjBweCAwIDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdpZHRoOiA2MHB4Owp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuYXV0aG9yLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyIC5hdXRob3IgewogIG1hcmdpbi10b3A6IDMwcHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoudGVzdGltb25pYWwtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtY29udHJvbHMsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgewogIG1hcmdpbi10b3A6IDEwcHg7Cn0KLnRlc3RpbW9uaWFsLWNhcm91c2VsLmZ1bGx3aWR0aCAuY29udGVudCBwLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyLmZ1bGx3aWR0aCAuY29udGVudCBwIHsKICBmb250LXNpemU6IDE1cHg7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGNvbG9yOiAjZmZmOwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbC5mdWxsd2lkdGggLmNvbnRlbnQgcDo6YWZ0ZXIsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIuZnVsbHdpZHRoIC5jb250ZW50IHA6OmFmdGVyIHsKICBjb250ZW50OiAiXGYxMGUiOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKICBmb250LXNpemU6IDEwMHB4OwogIGxlZnQ6IDQyJTsKICBvcGFjaXR5OiAwLjE7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbC5idWxsZXQtd2hpdGUgLm93bC1kb3RzIHNwYW4sCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIuYnVsbGV0LXdoaXRlIC5vd2wtZG90cyBzcGFuIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyIC5vd2wtaXRlbSBpbWcgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDogYXV0bzsKICBtYXgtd2lkdGg6IDkwcHg7Cn0KLnRlc3RpbW9uaWFsLWNhcm91c2VsLmJveGVkIC5xdW90ZSwKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXN0eWxlMi5ib3hlZCAucXVvdGUsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC5ib3hlZCAudGh1bWIsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIuYm94ZWQgLnRodW1iIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbC5ib3hlZCAub3dsLWl0ZW0gaW1nLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyLmJveGVkIC5vd2wtaXRlbSBpbWcgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDogYXV0bzsKICBtYXgtd2lkdGg6IDY1cHg7Cn0KLnRlc3RpbW9uaWFsLWNhcm91c2VsLmJveGVkIC5jb250ZW50OjphZnRlciwKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXN0eWxlMi5ib3hlZCAuY29udGVudDo6YWZ0ZXIgewogIGJvdHRvbTogMTJweDsKICBjb250ZW50OiAiXGYxMGUiOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKICBmb250LXNpemU6IDU1cHg7CiAgb3BhY2l0eTogMC4yOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMTBweDsKfQoudGVzdGltb25pYWwtY2Fyb3VzZWwuYm94ZWQgLm93bC1jb250cm9scywKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXN0eWxlMi5ib3hlZCAub3dsLWNvbnRyb2xzIHsKICBtYXJnaW4tdG9wOiAwOwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbC5ib3hlZC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyLmJveGVkLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC5ib3hlZC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHNwYW4sCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIuYm94ZWQub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHsKICBvcGFjaXR5OiAxOwp9Ci8qIC0tLS0tLS0tIFdpZGdldC1UZXN0aW1vbmlhbC1DYXJvdXNlbCAtLS0tLS0tLS0tICovCi53aWRnZXQtdGVzdGltb25pYWwtY2Fyb3VzZWwgLml0ZW0gaW1nIHsKICBtYXgtd2lkdGg6IDc1cHg7CiAgZmxvYXQ6IHJpZ2h0Owp9Ci8qCiAqIG93bC1jYXJvdXNlbC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5vd2wtY2Fyb3VzZWwgewogIC8qIG93bCBkb3RzICovCn0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IGF1dG87Cn0KLm93bC1jYXJvdXNlbCAub3dsLWRvdHMgewogIHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW4tdG9wOiAxMHB4Owp9Ci5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIC5vd2wtZG90IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgem9vbTogMTsKfQoub3dsLWNhcm91c2VsIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHsKICBiYWNrZ3JvdW5kOiAjRDZENkQ2OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDEycHg7CiAgbWFyZ2luOiA1cHggM3B4OwogIG9wYWNpdHk6IDAuODsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOwogIHdpZHRoOiAxMnB4Owp9Ci5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLAoub3dsLWNhcm91c2VsIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHsKICBiYWNrZ3JvdW5kOiAjODY5NzkxOwp9Ci5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwogIGRpc3BsYXk6IGJsb2NrOwogIHotaW5kZXg6IDY7CiAgbWFyZ2luOiAtMzVweCBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBvcGFjaXR5OiAwLjQ7CiAgdG9wOiA1MCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwczsKfQoub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbiBpIHsKICBjb2xvcjogIzU1NTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIGZvbnQtc2l6ZTogMTZweDsKfQoub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldiB7CiAgbGVmdDogMDsKICBiYWNrZ3JvdW5kOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuOCkgIWltcG9ydGFudDsKICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7Cn0KLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQgewogIHJpZ2h0OiAwOwogIGJhY2tncm91bmQ6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC44KSAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDsKfQoub3dsLWNhcm91c2VsOmhvdmVyIC5vd2wtbmF2ID4gYnV0dG9uIHsKICBvcGFjaXR5OiAxOwp9Ci8qIE93bCBEb3RzCSovCi5vd2wtZG90cy1ib3R0b20tcmlnaHQgLm93bC1kb3RzIHsKICBib3R0b206IC0xMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKfQoub3dsLWRvdHMtY2VudGVyLWJvdHRvbSAub3dsLWRvdHMgewogIGJvdHRvbTogMTVweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLyogSW1hZ2UgQ2Fyb3VzZWwgKi8KLmltYWdlLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIG9wYWNpdHk6IDA7Cn0KLmltYWdlLWNhcm91c2VsOmhvdmVyIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIG9wYWNpdHk6IDE7Cn0KLyogT3dsIHRvcCBuYXYgc3R5bGUgKi8KLm93bC1jYXJvdXNlbC5vd2wtbmF2LXRvcC5idWxsZXQtd2hpdGUgLm93bC1kb3RzIHNwYW4gewogIGJhY2tncm91bmQ6ICNmZmY7Cn0KLm93bC1jYXJvdXNlbC5vd2wtbmF2LXRvcCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2ID4gZGl2IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB0b3A6IC02MHB4OwogIHJpZ2h0OiAwOwp9Ci5vd2wtY2Fyb3VzZWwub3dsLW5hdi10b3AgLm93bC1jb250cm9scyAub3dsLW5hdiA+IGRpdjpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMzsKfQoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1wcmV2IHsKICByaWdodDogMzVweDsKfQoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1uZXh0IHsKICByaWdodDogMDsKfQoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1wcmV2LAoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1uZXh0IHsKICBiYWNrZ3JvdW5kOiAjZWVlZWVlOwogIGJvcmRlcjogbm9uZTsKICBsaW5lLWhlaWdodDogMjhweDsKICBwYWRkaW5nOiAwIDEycHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5vd2wtY2Fyb3VzZWwub3dsLW5hdi10b3AgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLXByZXYgaSwKLm93bC1jYXJvdXNlbC5vd2wtbmF2LXRvcCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtbmV4dCBpIHsKICBjb2xvcjogIzg4ODsKICBmb250LXNpemU6IDE0cHg7Cn0KLm93bC1jYXJvdXNlbC5uby1idWxsZXQgLm93bC1uYXYgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnJlY2VudC1wcm9qZWN0IC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIHRvcDogMzglOwp9Ci5yZWNlbnQtcHJvamVjdCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtcHJldiBpLAoucmVjZW50LXByb2plY3QgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLW5leHQgaSB7CiAgcGFkZGluZzogMnB4IDE2cHg7Cn0KLmZlYXR1cmVkLWdhbGxlcnkuc3R5bGUyIHsKICBmbG9hdDogcmlnaHQ7CiAgd2lkdGg6IDkyJTsKfQouZmVhdHVyZWQtZ2FsbGVyeS5zdHlsZTIgLm93bC1jb250cm9scyB7CiAgYm90dG9tOiA1OHB4OwogIGxlZnQ6IC04MHB4OwogIG1hcmdpbjogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLmZlYXR1cmVkLWdhbGxlcnkuc3R5bGUyIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIHRvcDogOTUlOwp9Ci5mZWF0dXJlZC1nYWxsZXJ5LnN0eWxlMiAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtcHJldiB7CiAgbGVmdDogMHB4Owp9Ci5mZWF0dXJlZC1nYWxsZXJ5LnN0eWxlMiAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtbmV4dCB7CiAgZGlzcGxheTogaW5saW5lLXRhYmxlOwogIGxlZnQ6IDQwcHg7Cn0KLmZlYXR1cmVkLWdhbGxlcnkuc3R5bGUyIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1wcmV2IGksCi5mZWF0dXJlZC1nYWxsZXJ5LnN0eWxlMiAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtbmV4dCBpIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDM1cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5mZWF0dXJlZC1nYWxsZXJ5LnN0eWxlMiB7CiAgICBmbG9hdDogbm9uZTsKICAgIG1hcmdpbi10b3A6IDU4cHg7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLmZlYXR1cmVkLWdhbGxlcnkuc3R5bGUyIC5vd2wtY29udHJvbHMgewogICAgYm90dG9tOiBhdXRvOwogICAgbGVmdDogYXV0bzsKICAgIHRvcDogLTQ1cHg7CiAgfQp9Ci5pbWFnZS1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2ID4gZGl2IHsKICBvcGFjaXR5OiAwOwp9Ci5pbWFnZS1jYXJvdXNlbDpob3ZlciAub3dsLWNvbnRyb2xzIC5vd2wtbmF2ID4gZGl2IHsKICBvcGFjaXR5OiAxOwp9Ci8qIC0tLS0tLS0tIE93bCBGdWxsd2lkdGggQ2Fyb3VzZWwgLS0tLS0tLS0tLSAqLwouZnVsbHdpZHRoLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIHRvcDogNDUlOwp9Ci5mdWxsd2lkdGgtY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0gewogIG1pbi1oZWlnaHQ6IDYxNXB4OwogIHdpZHRoOiAxMDAlOwp9Ci5mdWxsd2lkdGgtY2Fyb3VzZWwuYmxvZy1mdWxsd2lkdGgtY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0gewogIGhlaWdodDogNjAwcHg7CiAgbWluLWhlaWdodDogYXV0bzsKICB3aWR0aDogMTAwJTsKfQouZnVsbHdpZHRoLWNhcm91c2VsLmJsb2ctZnVsbHdpZHRoLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLyogLS0tLS0tLS0gVHdpdHRlciBGZWVkIENhcm91c2VsIC0tLS0tLS0tLS0gKi8KLm93bC1kb3RzLWJvdHRvbS1yaWdodCAub3dsLWRvdHMgewogIGJvdHRvbTogLTEwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwp9Ci8qIC0tLS0tLS0tIFR3aXR0ZXIgRmVlZCBDYXJvdXNlbCAtLS0tLS0tLS0tICovCi50d2l0dGVyLWZlZWQudHdpdHRlci1jYXJvdXNlbCB7CiAgY29sb3I6ICMxMTExMTE7CiAgZm9udC1zaXplOiAxNnB4Owp9Ci50d2l0dGVyLWZlZWQudHdpdHRlci1jYXJvdXNlbCBhIHsKICBjb2xvcjogIzExMTExMTsKfQoudHdpdHRlci1mZWVkIC5kYXRlIHsKICBmb250LXNpemU6IDEycHg7Cn0KLnR3aXR0ZXItZmVlZC50d2l0dGVyLXdoaXRlLAoudHdpdHRlci1mZWVkLnR3aXR0ZXItd2hpdGUgYSB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gQlggU2xpZGVyIC0tLS0tLS0tLS0gKi8KLmJ4LXdyYXBwZXIgewogIG1hcmdpbjogMCBhdXRvIDdweDsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouYngtd3JhcHBlciAuYngtdmlld3BvcnQgewogIGJhY2tncm91bmQ6IGluaGVyaXQ7CiAgYm9yZGVyOiAwIHNvbGlkICNmZmY7CiAgYm94LXNoYWRvdzogMCAwIDAgI2NjYzsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpOwp9Ci8qIGJ4IHRvcCBuYXYgc3R5bGUgKi8KLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24gPiBhIHsKICBiYWNrZ3JvdW5kOiAjZWVlIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyOiBtZWRpdW0gbm9uZTsKICBoZWlnaHQ6IGF1dG87CiAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgcGFkZGluZzogMCAxMnB4OwogIHdpZHRoOiBhdXRvOwogIHRleHQtaW5kZW50OiAwOwogIHRvcDogLTMwcHg7CiAgei1pbmRleDogMDsKfQouYngtY29udHJvbHMgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiA+IGE6aG92ZXIgewogIGJhY2tncm91bmQ6ICNkZGQ7Cn0KLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24gPiBhIGkgewogIGNvbG9yOiAjODg4Owp9Ci5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIC5ieC1wcmV2IHsKICByaWdodDogMzVweDsKICBsZWZ0OiBhdXRvOwp9Ci5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIC5ieC1uZXh0IHsKICByaWdodDogMDsKfQovKiAtLS0tLS0tLSBUeXBlZCBBbmltYXRpb24gU2xpZGVyIC0tLS0tLS0tLS0gKi8KLnR5cGVkLWN1cnNvciB7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LWFuaW1hdGlvbjogYmxpbmsgMC43cyBpbmZpbml0ZTsKICAtbW96LWFuaW1hdGlvbjogYmxpbmsgMC43cyBpbmZpbml0ZTsKICBhbmltYXRpb246IGJsaW5rIDAuN3MgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBibGluayB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICB9CiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICB9Cn0KQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9CiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQpALW1vei1rZXlmcmFtZXMgYmxpbmsgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQogIDUwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQp9Ci8qCiAqIGhvbWUubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBTZXRpb24tQm90dG9tLUFic29sdXRlLURpdiAtLS0tLS0tLS0tICovCi5zZXRpb24tYm90dG9tLWFic29sdXRlLWRpdiB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwp9Ci8qCiAqIGFib3V0Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0gQmcgSW1nIEJveCAtLS0tLS0tLS0tICovCi5iZy1pbWctYm94IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmJnLWltZy1ib3ggLmNhcHRpb24gewogIHBhZGRpbmctbGVmdDogMzBweDsKICBwYWRkaW5nLXJpZ2h0OiAzMHB4OwogIHBhZGRpbmctdG9wOiAyMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7Cn0KLmJnLWltZy1ib3ggLmNhcHRpb24gLnRpdGxlIHsKICBmb250LXNpemU6IDMwcHg7CiAgbGluZS1oZWlnaHQ6IDM5cHg7Cn0KLmJnLWltZy1ib3ggLmNhcHRpb24gcCB7CiAgbWF4LXdpZHRoOiAyODBweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi13aGl0ZTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQouaGFsZi1kaXZpZGVyIC5oYWxmIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICB3aWR0aDogNTAlOwp9Ci52aWRlby1pY29uIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBtYXJnaW46IGF1dG87CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRvcDogNDAlOwp9Ci8qCiAqIHZvbHVudGVlci5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi52b2x1bnRlZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudm9sdW50ZWVyIC5vdmVybGF5IHsKICBoZWlnaHQ6IDA7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKfQoudm9sdW50ZWVyIC5jb250ZW50IHsKICBsZWZ0OiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0IDBzOwp9Ci52b2x1bnRlZXI6aG92ZXIgLm92ZXJsYXkgewogIG9wYWNpdHk6IDE7CiAgaGVpZ2h0OiAxMDAlOwp9Ci52b2x1bnRlZXI6aG92ZXIgLmNvbnRlbnQgewogIG9wYWNpdHk6IDE7CiAgdG9wOiAzMCU7Cn0KLnZvbHVudGVlci5ib3JkZXIgewogIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7Cn0KLnZvbHVudGVlciAuaW5mbyB7CiAgcGFkZGluZzogMTVweCAwOwogIHBhZGRpbmctYm90dG9tOiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoudm9sdW50ZWVyIC5pbmZvIC5uYW1lIHsKICBmb250LXdlaWdodDogNzAwOwogIG1hcmdpbjogMHB4Owp9Ci52b2x1bnRlZXIgLmluZm8gLm5hbWUgYSB7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoudm9sdW50ZWVyIC5pbmZvIC5vY2N1cGF0aW9uIHsKICBjb2xvcjogIzk5OTsKICBtYXJnaW4tYm90dG9tOiAxMHB4OwogIG1hcmdpbi10b3A6IDBweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci8qCiAqIGNvbnRhY3QubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouY29udGFjdC13cmFwcGVyIHsKICBwYWRkaW5nOiA1MHB4IDUwcHggNTBweCAxMDBweDsKfQouY29udGFjdC1mb3JtIC5mb3JtLWdyb3VwIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5jb250YWN0LWZvcm0gLmZvcm0tY29udHJvbCB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogbm9uZTsKICBoZWlnaHQ6IDQ4cHg7Cn0KLmNvbnRhY3QtZm9ybSAuZm9ybS1jb250cm9sOmZvY3VzLAouY29udGFjdC1mb3JtIC5mb3JtLWNvbnRyb2w6YWN0aXZlIHsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiAjMzMzMzMzOwp9Ci5jb250YWN0LWZvcm0gLmZvcm0tY29udHJvbDIgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsKICBjb2xvcjogI2MwYzBjMDsKfQouY29udGFjdC1mb3JtIC5mb3JtLWdyb3VwIGJ1dHRvbiB7CiAgbWFyZ2luLXRvcDogMDsKfQouY29udGFjdC1mb3JtIHRleHRhcmVhLmZvcm0tY29udHJvbCB7CiAgaGVpZ2h0OiAxMTBweDsKICByZXNpemU6IG5vbmU7Cn0KdGV4dGFyZWEgewogIHJlc2l6ZTogbm9uZTsKfQovKgogKiBldmVudC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5ldmVudCB7CiAgYmFja2dyb3VuZDogI2Y2ZjZmNjsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOwp9Ci5ldmVudDpob3ZlciB7CiAgYmFja2dyb3VuZDogI2ZhZmFmYTsKfQouZXZlbnQgLmV2ZW50LWNvbnRlbnQgLm1lZGlhLWhlYWRpbmcgYSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwczsKfQouZXZlbnQgLmV2ZW50LWNvbnRlbnQgdWwgbGkgewogIGZvbnQtc2l6ZTogMTJweDsKICBsaW5lLWhlaWdodDogMTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLmV2ZW50IC5ldmVudC1kYXRlIHVsIGxpIHsKICBsaW5lLWhlaWdodDogMTsKfQouZXZlbnQgLmV2ZW50LWRhdGUgdWwgbGk6Zmlyc3QtY2hpbGQgewogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLyogLS0tLS0tLS0gU2NoZWR1bGUtQm94IFN0eWxlIC0tLS0tLS0tLS0gKi8KLnNjaGVkdWxlLWJveCAudGh1bWIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdy14OiBoaWRkZW47Cn0KLnNjaGVkdWxlLWJveCAudGh1bWIgLm92ZXJsYXkgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgb3BhY2l0eTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdG9wOiAtMTAwJTsKfQouc2NoZWR1bGUtYm94IC50aHVtYiAub3ZlcmxheSBhIGkgewogIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgY29sb3I6ICNmZmY7CiAgbWFyZ2luOiAwIGF1dG87CiAgcGFkZGluZzogMTNweCAxMnB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40NXMgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNDVzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjQ1cyBlYXNlLWluLW91dCAwczsKICB0b3A6IDA7Cn0KLnNjaGVkdWxlLWJveCAuc2NoZWR1bGUtZGV0YWlscyB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7Cn0KLnNjaGVkdWxlLWJveCAuc2NoZWR1bGUtZGV0YWlscyB1bCBsaSB7CiAgbWFyZ2luOiAwOwp9Ci5zY2hlZHVsZS1ib3ggLnNjaGVkdWxlLWRldGFpbHMgLnRpdGxlIGEgewogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7Cn0KLnNjaGVkdWxlLWJveDpob3ZlciAudGh1bWIgLm92ZXJsYXkgewogIG9wYWNpdHk6IDE7CiAgdG9wOiAwOwp9Ci5zY2hlZHVsZS1ib3g6aG92ZXIgLnRodW1iIC5vdmVybGF5IGEgaSB7CiAgb3BhY2l0eTogMTsKICB0b3A6IDQwJTsKfQovKiAtLS0tLS0tLSBFdmVudC1UYWJsZSAtLS0tLS0tLS0tICovCi50YWJsZS1zY2hlZHVsZSB0aGVhZCB0ciB0aCB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiAxNnB4OwogIHBhZGRpbmc6IDE1cHggMjVweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci50YWJsZS1zY2hlZHVsZSA+IHRib2R5ID4gdHIgewogIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7Cn0KLnRhYmxlLXNjaGVkdWxlID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4rMSkgewogIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7Cn0KLnRhYmxlLXNjaGVkdWxlIHRib2R5IHRyIHRkIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsKICBjb2xvcjogIzMzMzsKICBmb250LXdlaWdodDogMzAwOwogIHBhZGRpbmc6IDE1cHggMjVweDsKfQoudGFibGUtc2NoZWR1bGUgdGJvZHkgdHIgdGQgLnNwZWFrZXItdGh1bWIgewogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbi1yaWdodDogMTVweDsKICBtYXJnaW4tdG9wOiA1cHg7CiAgd2lkdGg6IDU1cHg7Cn0KLnRhYmxlLXNjaGVkdWxlIHRib2R5IHRyIHRkIC50aXRsZSB7CiAgZm9udC1zaXplOiAxNXB4OwogIG1hcmdpbi1ib3R0b206IDA7CiAgbWFyZ2luLXRvcDogM3B4Owp9Ci50YWJsZS1zY2hlZHVsZSB0Ym9keSB0ciB0ZCAubmFtZSB7CiAgZm9udC1zaXplOiAxM3B4OwogIG1hcmdpbjogMDsKfQoudGFibGUtc2NoZWR1bGUgdGJvZHkgdHIgdGQgc3Ryb25nIHsKICBmb250LXdlaWdodDogNzAwOwp9Ci50YWJsZS1zY2hlZHVsZSAudG9nZ2xlLWNvbnRlbnQgewogIGN1cnNvcjogcG9pbnRlcjsKfQoudGFibGUtc2NoZWR1bGUgLnNlc3Npb24tZGV0YWlscyB7CiAgZGlzcGxheTogbm9uZTsKfQovKgogKiBwcmFjdGljZS1hcmVhLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnByYWN0aWNlLWFyZWEgewogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wcmFjdGljZS1hcmVhOmhvdmVyIC5wcmFjdGljZS1uYW1lIHsKICBvcGFjaXR5OiAxOwogIHJpZ2h0OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7Cn0KLyoKICogc2VydmljZXMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucm90YXRlZC1zZXJ2aWNlLWJveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yb3RhdGVkLXNlcnZpY2UtYm94IC5pY29uIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDkwcHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwYWRkaW5nOiAzMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IC00NXB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICB3aWR0aDogOTBweDsKfQoucm90YXRlZC1zZXJ2aWNlLWJveCAuaWNvbiBpIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDMycHg7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKfQoucm90YXRlZC1zZXJ2aWNlLWJveCAuaGVhZGluZyB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKfQouc2VydmljZXMtbGlzdCBsaSB7CiAgYm9yZGVyOiBtZWRpdW0gbm9uZTsKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KLnNlcnZpY2VzLWxpc3QgbGkuYWN0aXZlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1sZWZ0OiAzMHB4Owp9Ci5zZXJ2aWNlcy1saXN0IHVsIGxpIGEgewogIGJhY2tncm91bmQ6ICNmOGY4Zjggbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxOwogIGNvbG9yOiAjMTExMTExOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDE1cHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBwYWRkaW5nOiAyMHB4IDQ1cHg7CiAgd2lkdGg6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTBtcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCA1MG1zIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDUwbXMgZWFzZTsKfQouc2VydmljZXMtbGlzdCBsaS5hY3RpdmUgYSB7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgY29sb3I6ICNmZmY7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQouc2VydmljZXMtbGlzdCBsaS5hY3RpdmU6OmFmdGVyIHsKICBjb2xvcjogI2ZmZjsKICBjb250ZW50OiAiXGU2ODYiOwogIGZvbnQtZmFtaWx5OiAiUGUtaWNvbi03LXN0cm9rZSI7CiAgZm9udC1zaXplOiAzNXB4OwogIHJpZ2h0OiAxMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDVweDsKfQouYnJvY2h1cmVkIGxpIGEgewogIGJhY2tncm91bmQ6ICNmOGY4Zjggbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwYWRkaW5nOiAxNnB4IDMwcHg7CiAgd2lkdGg6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlICFpbXBvcnRhbnQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZSAhaW1wb3J0YW50OwogIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UgIWltcG9ydGFudDsKfQouYnJvY2h1cmVkIGxpIGEgaSB7CiAgZm9udC1zaXplOiAxOHB4OwogIG1hcmdpbi1yaWdodDogMTJweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci8qCiAqIGpvYi5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5qb2Itb3ZlcnZpZXcgewogIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZWVlOwogIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7Cn0KLmpvYi1vdmVydmlldyAuZGwtaG9yaXpvbnRhbCBkdCB7CiAgd2lkdGg6IGF1dG87Cn0KLmpvYi1vdmVydmlldyAuZGwtaG9yaXpvbnRhbCBkZCB7CiAgbWFyZ2luLWxlZnQ6IDQwcHg7Cn0KLyoKICogc2hvcC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIC0tLS0tLS0tIFByb2R1Y3QgRGV0YWlscyBQYWdlIC0tLS0tLS0tLS0gKi8KLnByb2R1Y3QgewogIG1hcmdpbi1sZWZ0OiBhdXRvOwogIG1hcmdpbi1yaWdodDogYXV0bzsKICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucHJvZHVjdHMgLnByb2R1Y3QgewogIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7Cn0KLnByb2R1Y3RzIC5wcm9kdWN0OmhvdmVyIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZWVlOwp9Ci5idG4tYWRkLXRvLWNhcnQtd3JhcHBlciB7CiAgb3BhY2l0eTogMC45OwogIGhlaWdodDogYXV0bzsKICBtYXJnaW46IDAgMCAxNXB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogIC13ZWJraXQtdHJhbnNpdGlvbjogNDAwbXM7CiAgLW8tdHJhbnNpdGlvbjogNDAwbXM7CiAgdHJhbnNpdGlvbjogNDAwbXM7Cn0KLyogLS0tLS0tLS0gUHJpY2UgLS0tLS0tLS0tLSAqLwoucHJvZHVjdCAucHJpY2UgewogIGNvbG9yOiAjMzMzMDM4OwogIGZvbnQtc2l6ZTogMTVweDsKICBmb250LXdlaWdodDogNTAwOwogIHBhZGRpbmc6IDVweCAwIDE1cHg7Cn0KLnByb2R1Y3QgLnByaWNlIGRlbCB7CiAgY29sb3I6ICM5ZTlkOWU7CiAgZm9udC1zaXplOiAxM3B4OwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci5wcm9kdWN0IC5wcmljZSBpbnMgewogIGNvbG9yOiAjMzMzMzMzOwogIGZvbnQtc2l6ZTogMTZweDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnByb2R1Y3QgLnByaWNlIGlucywKLnByb2R1Y3QgLnByaWNlIGlucyB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKSBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KLyogLS0tLS0tLS0gUHJvZHVjdC1TdW1tYXJ5IC0tLS0tLS0tLS0gKi8KLnByb2R1Y3QgLnByb2R1Y3Qtc3VtbWFyeSAucHJvZHVjdC10aXRsZSB7CiAgbWFyZ2luLXRvcDogMDsKfQoucHJvZHVjdCAucHJvZHVjdC1zdW1tYXJ5IC5zaG9ydC1kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKfQoucHJvZHVjdCAucHJvZHVjdC1zdW1tYXJ5IC5jYXJ0LWZvcm0td3JhcHBlciAuYnRuIHsKICBtYXJnaW4tdG9wOiAwOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLnZhcmlhdGlvbnMgewogIHdpZHRoOiAxMDAlOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXRhYiB7CiAgbWFyZ2luLXRvcDogMzBweDsKfQoucHJvZHVjdCAuY29tbWVudGxpc3QgLmNvbW1lbnQgewogIG1hcmdpbi10b3A6IDMwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wcm9kdWN0IC5jb21tZW50bGlzdCAuY29tbWVudCAubWV0YSB7CiAgZm9udC1zaXplOiAxMnB4Owp9Ci5wcm9kdWN0IC5jb21tZW50bGlzdCAuY29tbWVudCAuYXV0aG9yIHsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KLnByb2R1Y3QgLnByb2R1Y3QtdGh1bWIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucHJvZHVjdCAucHJvZHVjdC10aHVtYjpob3ZlciAub3ZlcmxheSB7CiAgb3BhY2l0eTogMTsKfQoucHJvZHVjdCAucHJvZHVjdC10aHVtYiAub3ZlcmxheSAuYWRkLXRvLXdpc2hsaXN0IHsKICBjb2xvcjogI2ZmZjsKICByaWdodDogMTBweDsKICB0b3A6IDEwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLmNhcnQtZm9ybS13cmFwcGVyIC5xdWFudGl0eSwKLnRibC1zaG9wcGluZy1jYXJ0IC5xdWFudGl0eSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1yaWdodDogLjg1NzFlbTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDQuMTQyOWVtOwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KLnByb2R1Y3QgLnByb2R1Y3Qtc3VtbWFyeSAuY2FydC1mb3JtLXdyYXBwZXIgLnF1YW50aXR5IC5taW51cywKLnRibC1zaG9wcGluZy1jYXJ0IC5xdWFudGl0eSAubWludXMsCi5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLmNhcnQtZm9ybS13cmFwcGVyIC5xdWFudGl0eSAucGx1cywKLnRibC1zaG9wcGluZy1jYXJ0IC5xdWFudGl0eSAucGx1cyB7CiAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDsKICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOwogIGJvcmRlci1yYWRpdXM6IDNweDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgaGVpZ2h0OiAxOHB4OwogIGxlZnQ6IDNlbTsKICBsaW5lLWhlaWdodDogMTsKICBvdXRsaW5lOiBtZWRpdW0gbm9uZTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMThweDsKfQoucHJvZHVjdCAucHJvZHVjdC1zdW1tYXJ5IC5jYXJ0LWZvcm0td3JhcHBlciAucXVhbnRpdHkgLm1pbnVzLAoudGJsLXNob3BwaW5nLWNhcnQgLnF1YW50aXR5IC5taW51cyB7CiAgYm90dG9tOiAwOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLmNhcnQtZm9ybS13cmFwcGVyIC5xdWFudGl0eSAucGx1cywKLnRibC1zaG9wcGluZy1jYXJ0IC5xdWFudGl0eSAucGx1cyB7CiAgdG9wOiAwOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLmNhcnQtZm9ybS13cmFwcGVyIC5xdWFudGl0eSAucXR5LAoudGJsLXNob3BwaW5nLWNhcnQgLnF1YW50aXR5IC5xdHkgewogIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOwogIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7CiAgaGVpZ2h0OiA0MXB4OwogIHBhZGRpbmctbGVmdDogMDsKICBwYWRkaW5nLXJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogNDBweDsKfQovKiAtLS0tLS0tLSBTdGFyLVJhdGluZyAtLS0tLS0tLS0tICovCi5zdGFyLXJhdGluZyB7CiAgZm9udC1zaXplOiAxNHB4OwogIGhlaWdodDogMTZweDsKICBsaW5lLWhlaWdodDogMTsKICBtYXJnaW46IDAgYXV0bzsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6IDVweDsKICB3aWR0aDogNzVweDsKfQouc3Rhci1yYXRpbmc6OmJlZm9yZSwKLnN0YXItcmF0aW5nIHNwYW46OmJlZm9yZSB7CiAgY29sb3I6ICNhOWE5YTk7CiAgY29udGVudDogIu+Ahu+Ahu+Ahu+Ahu+AhiI7CiAgZmxvYXQ6IGxlZnQ7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGxlZnQ6IDA7CiAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwp9Ci5zdGFyLXJhdGluZyBzcGFuIHsKICBmbG9hdDogbGVmdDsKICBsZWZ0OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZy10b3A6IDEuNWVtOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7Cn0KLyogLS0tLS0tLS0gVGFnIFNhbGUgLS0tLS0tLS0tLSAqLwoucHJvZHVjdCAudGFnLXNhbGUgewogIG1hcmdpbjogMDsKICB0b3A6IDA7CiAgZGlzcGxheTogYmxvY2s7CiAgbGVmdDogYXV0bzsKICByaWdodDogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIC1vLXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIGNvbG9yOiAjZmZmOwogIGZvbnQtc2l6ZTogMTNweDsKICBmb250LXdlaWdodDogNjAwOwogIGxpbmUtaGVpZ2h0OiAxOHB4OwogIHBhZGRpbmc6IDRweCAxMHB4IDRweCAxNnB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiByaWdodDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIHotaW5kZXg6IDk7Cn0KLnByb2R1Y3QgLnRhZy1zYWxlIC50YWctc2FsZTo6YmVmb3JlIHsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNkZGQ7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICBib3JkZXItd2lkdGg6IDEycHggMTNweCAxM3B4IDhweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDA7CiAgbGVmdDogMDsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAxcHg7CiAgd2lkdGg6IDA7Cn0KLyogLS0tLS0tLS0gQ2FydCBQYWdlIC0tLS0tLS0tLS0gKi8KLnRibC1zaG9wcGluZy1jYXJ0IC5wcm9kdWN0LXRodW1ibmFpbCBpbWcgewogIG1heC13aWR0aDogNzJweDsKICBtYXgtaGVpZ2h0OiA3MnB4Owp9Ci50Ymwtc2hvcHBpbmctY2FydCAucHJvZHVjdC1yZW1vdmUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoudGJsLXNob3BwaW5nLWNhcnQgLnZhcmlhdGlvbiAudmFyaWF0aW9uLXNpemUsCi50Ymwtc2hvcHBpbmctY2FydCAudmFyaWF0aW9uIC52YXJpYXRpb24tc2l6ZSBzcGFuIHsKICBmb250LXNpemU6IDEycHg7Cn0KLnRibC1zaG9wcGluZy1jYXJ0IHRyIHRoLAoudGJsLXNob3BwaW5nLWNhcnQgdHIgdGQsCi50Ymwtc2hvcHBpbmctY2FydCAuY291cG9uIGxhYmVsLAoudGJsLXNob3BwaW5nLWNhcnQgLmNvdXBvbiBpbnB1dCwKLnRibC1zaG9wcGluZy1jYXJ0IC5jb3Vwb24gYnV0dG9uIHsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIWltcG9ydGFudDsKfQoudGJsLXNob3BwaW5nLWNhcnQgdHIgdGQgewogIHBhZGRpbmc6IDEwcHggMTJweCFpbXBvcnRhbnQ7Cn0KdGFibGUubm8tYm9yZGVyIHRkIHsKICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBDaGVja291dCBQYWdlIC0tLS0tLS0tLS0gKi8KLnBheW1lbnQtbWV0aG9kIC5yYWRpbyB7CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTsKICBwYWRkaW5nOiAxMHB4Owp9Ci5wYXltZW50LW1ldGhvZCAucmFkaW8gPiBsYWJlbCB7CiAgY29sb3I6ICMxMTE7CiAgZm9udC1zaXplOiAxN3B4Owp9Ci5wYXltZW50LW1ldGhvZCAucmFkaW8gaW5wdXQgewogIG1hcmdpbi10b3A6IDhweDsKICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDsKfQoucGF5bWVudC1tZXRob2QgLnJhZGlvID4gcCB7CiAgbWFyZ2luLWxlZnQ6IDIwcHg7Cn0KI2NoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgewogIGRpc3BsYXk6IG5vbmU7Cn0KLyogLS0tLS0tLS0gVG9wIE5hdiBTZWFyY2ggQW5kIENhcnQgLS0tLS0tLS0tLSAqLwoudG9wLW5hdi1zZWFyY2gtYm94IC5pbmRpY2F0b3IsCi50b3AtbmF2LWNhcnQtYm94IC5pbmRpY2F0b3IgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmRyb3Bkb3duLWNhcnQgewogIHBhZGRpbmc6IDEwcHg7Cn0KLmRyb3Bkb3duLWNhcnQgLmNhcnQtdGFibGUtbGlzdCwKLmRyb3Bkb3duLWNhcnQgLmNhcnQtdGFibGUtbGlzdCBpIHsKICBjb2xvcjogIzIyMjsKICBib3JkZXI6IG5vbmU7Cn0KLmRyb3Bkb3duLWNhcnQgLmNhcnQtdGFibGUtbGlzdCBhIHsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIGNvbG9yOiAjMjIyOwp9Ci5kcm9wZG93bi1jYXJ0IC5jYXJ0LXRhYmxlLWxpc3QgdGQgaW1nIHsKICB3aWR0aDogNTBweDsKICBoZWlnaHQ6IGF1dG87Cn0KLmRyb3Bkb3duLWNhcnQgLmNhcnQtdGFibGUtbGlzdC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7CiAgYm9yZGVyOiBub25lOwogIGxpbmUtaGVpZ2h0OiAyMHB4OwogIGhlaWdodDogMjBweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5kcm9wZG93bi1jYXJ0IC50b3RhbC1jYXJ0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZy10b3A6IDIwcHg7CiAgY29sb3I6ICMyMjI7CiAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgdWwgewogIGZsb2F0OiByaWdodDsKICBsaXN0LXN0eWxlOiBub25lOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgdWwgbGkgewogIGRpc3BsYXk6IGJsb2NrOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgdWwgbGkgc3BhbiB7CiAgd2lkdGg6IDEwMHB4OwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB0ZXh0LWFsaWduOiByaWdodDsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5kcm9wZG93bi1jYXJ0IC50b3RhbC1jYXJ0IC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwKLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLAouZHJvcGRvd24tY2FydCAudG90YWwtY2FydCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQsCi5kcm9wZG93bi1jYXJ0IC50b3RhbC1jYXJ0IC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwKLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLAouZHJvcGRvd24tY2FydCAudG90YWwtY2FydCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGggewogIGJvcmRlcjogMDsKfQouZHJvcGRvd24tY2FydCAuY2FydC1idG4gLmJ0biB7CiAgd2lkdGg6IGF1dG87CiAgZmxvYXQ6IG5vbmU7CiAgcGFkZGluZzogNXB4IDE1cHg7Cn0KLyoKICogc2hvcC1taW5pLWNhcnQubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKioKICogQ2FydCBzaWRlYmFyCiAqLwp1bC5jYXJ0X2xpc3QsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgewogIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTsKICBwYWRkaW5nOiAwOwogIG1hcmdpbjogMDsKfQp1bC5jYXJ0X2xpc3QgbGksCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgewogIHBhZGRpbmc6IDRweCAwOwogIG1hcmdpbjogMDsKICBsaXN0LXN0eWxlOiBub25lOwp9CnVsLmNhcnRfbGlzdCBsaSBhLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KdWwuY2FydF9saXN0IGxpIGltZywKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBpbWcgewogIGZsb2F0OiByaWdodDsKICBtYXJnaW4tbGVmdDogNHB4OwogIHdpZHRoOiA2NHB4OwogIGhlaWdodDogYXV0bzsKICBib3gtc2hhZG93OiBub25lOwp9CnVsLmNhcnRfbGlzdCBsaSBkbCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbCB7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmctbGVmdDogMWVtOwogIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpOwp9CnVsLmNhcnRfbGlzdCBsaSBkbCBkdCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbCBkdCwKdWwuY2FydF9saXN0IGxpIGRsIGRkLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGRkIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZmxvYXQ6IGxlZnQ7CiAgbWFyZ2luLWJvdHRvbTogMWVtOwp9CnVsLmNhcnRfbGlzdCBsaSBkbCBkdCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbCBkdCB7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBwYWRkaW5nOiAwIDAgMC4yNWVtOwogIG1hcmdpbjogMCA0cHggMCAwOwogIGNsZWFyOiBsZWZ0Owp9CnVsLmNhcnRfbGlzdCBsaSBkbCBkZCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbCBkZCB7CiAgcGFkZGluZzogMCAwIDAuMjVlbTsKfQp1bC5jYXJ0X2xpc3QgbGkgZGwgZGQgcDpsYXN0LWNoaWxkLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGRkIHA6bGFzdC1jaGlsZCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQp1bC5jYXJ0X2xpc3QgbGkgLnN0YXItcmF0aW5nLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIC5zdGFyLXJhdGluZyB7CiAgZmxvYXQ6IG5vbmU7Cn0KdWwuY2FydF9saXN0LAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IHsKICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDA7Cn0KdWwuY2FydF9saXN0IGxpLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsKICBwYWRkaW5nOiA0cHggMCAxMHB4OwogIG1hcmdpbjogMCAwIDEwcHg7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQp1bC5jYXJ0X2xpc3QgbGk6YmVmb3JlLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpOmJlZm9yZSwKdWwuY2FydF9saXN0IGxpOmFmdGVyLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpOmFmdGVyIHsKICBjb250ZW50OiAiICI7CiAgZGlzcGxheTogdGFibGU7Cn0KdWwuY2FydF9saXN0IGxpOmFmdGVyLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpOmFmdGVyIHsKICBjbGVhcjogYm90aDsKfQp1bC5jYXJ0X2xpc3QgbGkgYSwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBhIHsKICBkaXNwbGF5OiBibG9jazsKICBjb2xvcjogIzQwNDA0MDsKfQp1bC5jYXJ0X2xpc3QgbGkgYS5yZW1vdmUsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgYS5yZW1vdmUgewogIGNvbG9yOiAjZTgxMTIzOwogIGZsb2F0OiBsZWZ0OwogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LXdlaWdodDogODAwOwogIG1hcmdpbi1sZWZ0OiAwOwogIG1hcmdpbi1yaWdodDogNnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6IC00cHg7Cn0KdWwuY2FydF9saXN0IGxpIC5hdHRhY2htZW50LXNob3BfdGh1bWJuYWlsLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIC5hdHRhY2htZW50LXNob3BfdGh1bWJuYWlsIHsKICB3aWR0aDogNjRweDsKfQp1bC5jYXJ0X2xpc3QgbGkgaW1nLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGltZyB7CiAgZmxvYXQ6IHJpZ2h0OwogIG1hcmdpbi1sZWZ0OiA0cHg7CiAgd2lkdGg6IDUwcHg7CiAgaGVpZ2h0OiBhdXRvOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KdWwuY2FydF9saXN0IGxpIGRsLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIHsKICBtYXJnaW46IDA7CiAgcGFkZGluZy1sZWZ0OiAxZW07CiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KdWwuY2FydF9saXN0IGxpIGRsOmJlZm9yZSwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbDpiZWZvcmUsCnVsLmNhcnRfbGlzdCBsaSBkbDphZnRlciwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbDphZnRlciB7CiAgY29udGVudDogIiAiOwogIGRpc3BsYXk6IHRhYmxlOwp9CnVsLmNhcnRfbGlzdCBsaSBkbDphZnRlciwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbDphZnRlciB7CiAgY2xlYXI6IGJvdGg7Cn0KdWwuY2FydF9saXN0IGxpIGRsIGR0LAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGR0LAp1bC5jYXJ0X2xpc3QgbGkgZGwgZGQsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgZGwgZGQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tYm90dG9tOiAxZW07Cn0KdWwuY2FydF9saXN0IGxpIGRsIGR0LAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGR0IHsKICBmb250LXdlaWdodDogNzAwOwogIHBhZGRpbmc6IDAgMCAwLjI1ZW07CiAgbWFyZ2luOiAwIDRweCAwIDA7CiAgY2xlYXI6IGxlZnQ7Cn0KdWwuY2FydF9saXN0IGxpIGRsIGRkLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGRkIHsKICBwYWRkaW5nOiAwIDAgMC4yNWVtOwp9CnVsLmNhcnRfbGlzdCBsaSBkbCBkZCBwOmxhc3QtY2hpbGQsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgZGwgZGQgcDpsYXN0LWNoaWxkIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CnVsLmNhcnRfbGlzdCBsaSBkZWwsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgZGVsLAp1bC5jYXJ0X2xpc3QgbGkgaW5zLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGlucyB7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQp1bC5jYXJ0X2xpc3QgbGkgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHsKICBjb2xvcjogIzc3YTQ2NDsKfQp1bC5jYXJ0X2xpc3QgbGkgaW5zLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGlucyB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CnVsLmNhcnRfbGlzdCBsaSBkZWwsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgZGVsIHsKICBtYXJnaW4tcmlnaHQ6IDVweDsKICBmb250LXdlaWdodDogNDAwOwp9CnVsLmNhcnRfbGlzdCBsaSBkZWwgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkZWwgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCB7CiAgY29sb3I6ICNhYWE7Cn0KdWwuY2FydF9saXN0IGxpIC5zdGFyLXJhdGluZywKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSAuc3Rhci1yYXRpbmcgewogIGZsb2F0OiBub25lOwp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAubWluaS1jYXJ0LWljb24gewogIGNvbG9yOiAjNTU1OwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMjBweDsKICBsaW5lLWhlaWdodDogMTsKICBwYWRkaW5nOiA1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAubWluaS1jYXJ0LWljb24gLml0ZW1zLWNvdW50IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDExcHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBoZWlnaHQ6IDE4cHg7CiAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgbWFyZ2luLXJpZ2h0OiAtM3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdG9wOiAtM3B4OwogIHdpZHRoOiAxOHB4Owp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAubWluaS1jYXJ0LWljb24gLmNhcnQtcXVpY2staW5mbyB7CiAgZGlzcGxheTogbm9uZTsKfQoudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHMgLmRyb3Bkb3duLWNvbnRlbnQgewogIGxlZnQ6IGF1dG87CiAgb3BhY2l0eTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogbGVmdDsKICB0b3A6IDEwMCU7CiAgcGFkZGluZy10b3A6IDI3cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgd2lkdGg6IDMwMHB4OwogIHotaW5kZXg6IDEwMDA7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHMgLmRyb3Bkb3duLWNvbnRlbnQgewogICAgZGlzcGxheTogbm9uZTsKICAgIC8qIGxlZnQ6IDA7CgkJCQl0b3A6IGNhbGMoMTAwJSArIDU0cHgpOyAqLwogIH0KfQoudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHMgLmRyb3Bkb3duLWNvbnRlbnQgLmRyb3Bkb3duLWNvbnRlbnQtd3JhcHBlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCAjZWVlOwogIHBhZGRpbmc6IDIwcHg7Cn0KLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGFpbmVyIC50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRlbnRzIC5kcm9wZG93bi1jb250ZW50IHVsIHsKICBsaXN0LXN0eWxlOiBub25lOwp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAuZHJvcGRvd24tY29udGVudCAuY2FydC1zdWJ0b3RhbCB7CiAgcGFkZGluZzogMTBweCAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHMgLmRyb3Bkb3duLWNvbnRlbnQgLmNhcnRfbGlzdCAubWluaV9jYXJ0X2l0ZW0gYSB7CiAgY29sb3I6ICM0MDQwNDA7Cn0KLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGFpbmVyIC50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRlbnRzIC5kcm9wZG93bi1jb250ZW50IC5jYXJ0X2xpc3QgLm1pbmlfY2FydF9pdGVtIGEucmVtb3ZlIHsKICBjb2xvcjogI2U4MTEyMzsKICBmbG9hdDogbGVmdDsKICBmb250LXNpemU6IDE2cHg7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tbGVmdDogMDsKICBtYXJnaW4tcmlnaHQ6IDZweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdG9wOiAtNHB4Owp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAuZHJvcGRvd24tY29udGVudCAuY2FydF9saXN0IC5taW5pX2NhcnRfaXRlbSAuYXR0YWNobWVudC1zaG9wX3RodW1ibmFpbCB7CiAgd2lkdGg6IDY0cHg7Cn0KLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGFpbmVyIC50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRlbnRzOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKfQoudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHM6aG92ZXIgLmRyb3Bkb3duLWNvbnRlbnQgewogIG9wYWNpdHk6IDE7CiAgdmlzaWJpbGl0eTogdmlzaWJsZTsKfQovKgogKiBibG9nLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJsb2ctcG9zdHMgLnBvc3QgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouYmxvZy1wb3N0cyAucG9zdCAuZW50cnktdGl0bGUgewogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLmJsb2ctcG9zdHMgLnBvc3QgLnBvc3QtdGh1bWIgewogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5lbnRyeS1jb250ZW50IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmJsb2ctcG9zdHMgLnBvc3QgLmVudHJ5LWNvbnRlbnQgLnBvc3QtZGF0ZSwKLmJsb2ctcG9zdHMgLnBvc3QgLmVudHJ5LWNvbnRlbnQgLnBvc3QtdmlzaXRlZCB7CiAgY29sb3I6ICNhOWE5YTk7CiAgZm9udC1zaXplOiAxM3B4Owp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5lbnRyeS1jb250ZW50IC5wb3N0LWRhdGUucmlnaHQgewogIHRvcDogLTEwcHg7CiAgaGVpZ2h0OiA2MHB4OwogIHBhZGRpbmc6IDZweCA4cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogNjBweDsKfQouYmxvZy1wb3N0cyAucG9zdCAuZW50cnktY29udGVudCAucG9zdC1kYXRlIHsKICBiYWNrZ3JvdW5kOiAjMjIyMjIyIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBhZGRpbmc6IDBweCAxNHB4OwogIHRvcDogMDsKfQouYmxvZy1wb3N0cyAucG9zdCAuZW50cnktY29udGVudCB1bCBsaSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBtYXJnaW4tdG9wOiAwOwp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5lbnRyeS1tZXRhIHNwYW4gaSB7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7Cn0KLmJsb2ctcG9zdHMgLnBvc3QgLmVudHJ5LW1ldGEgc3BhbiB7CiAgZm9udC1zaXplOiAxMnB4OwogIG1hcmdpbi1yaWdodDogMTVweDsKfQouYmxvZy1wb3N0cyAucG9zdCAucG9zdC1kYXRlIHAsCi5ibG9nLXBvc3RzIC5wb3N0IC5wb3N0LWRhdGUgYSB7CiAgZm9udC1zaXplOiAxNHB4OwogIGNvbG9yOiAjYTlhOWE5Owp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5wb3N0LWRhdGUgYTpob3ZlciB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLmJsb2ctcG9zdHMgLnBvc3QgLmxpa2UtY29tbWVudCBsaSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBtYXJnaW4tdG9wOiAwOwp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5wb3N0LXRodW1iIC5vd2wtZG90cyB7CiAgYm90dG9tOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMTBweDsKfQouYmxvZy1wb3N0cyAucG9zdCAucG9zdC10aHVtYiAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGhlaWdodDogMTBweDsKICB3aWR0aDogMTBweDsKfQoubGlrZS1jb21tZW50IGxpIGkgewogIGZvbnQtc2l6ZTogMjBweDsKICBtYXJnaW4tcmlnaHQ6IDNweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5saWtlLWNvbW1lbnQuc21hbGwtZm9udCBsaSBpIHsKICBmb250LXNpemU6IDE2cHg7Cn0KLmJsb2ctcHVsbC1yaWdodCB7CiAgZmxvYXQ6IHJpZ2h0Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAuYmxvZy1wdWxsLXJpZ2h0IHsKICAgIGZsb2F0OiBub25lOwogIH0KfQoubWVkaWEtcG9zdCAucG9zdC10aHVtYiB7CiAgZmxvYXQ6IGxlZnQ7CiAgbWFyZ2luOiAwIDEwcHggMTBweCAwOwp9Ci5tZWRpYS1wb3N0IC5wb3N0LXJpZ2h0IHsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5tZWRpYS1wb3N0IC5wb3N0LXRpdGxlIGEgewogIGZvbnQtc2l6ZTogMTNweDsKICBsZXR0ZXItc3BhY2luZzogMXB4Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKICAuYmxvZy1wb3N0cyAucG9zdCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIH0KfQovKiAtLS0tLS0tLSBFbnRyeS1NZXRhIEFic29sdXRlIC0tLS0tLS0tLS0gKi8KLnBvc3QgLmVudHJ5LWhlYWRlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLnBvc3QgLmVudHJ5LW1ldGEubWV0YS1hYnNvbHV0ZSB7CiAgaGVpZ2h0OiAxMDAlOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7Cn0KLnBvc3QgLmVudHJ5LW1ldGEubWV0YS1hYnNvbHV0ZSBpIHsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXNpemU6IDI4cHg7Cn0KLnBvc3QgLmVudHJ5LWhlYWRlciAuZW50cnktZGF0ZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKfQoucG9zdC1vdmVybGF5OjphZnRlciB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxMDAlOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTEwMCU7CiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzOwogIHdpZHRoOiAxMDAlOwp9Ci5wb3N0OmhvdmVyIC5wb3N0LW92ZXJsYXk6OmFmdGVyIHsKICBvcGFjaXR5OiAxOwogIHRvcDogMDsKfQoucG9zdCAuZW50cnktaGVhZGVyIC5wb3N0LWxpbmsgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IGF1dG87CiAgdG9wOiAwOwogIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsKICBvcGFjaXR5OiAwOwp9Ci5wb3N0OmhvdmVyIC5lbnRyeS1oZWFkZXIgLnBvc3QtbGluayB7CiAgb3BhY2l0eTogMTsKICB0b3A6IDQ1JTsKfQoucG9zdCAuZW50cnktaGVhZGVyIC5wb3N0LWxpbmsgYSB7CiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgaGVpZ2h0OiAzMnB4OwogIGxpbmUtaGVpZ2h0OiAzMnB4OwogIHdpZHRoOiAzMnB4Owp9Ci5wb3N0IC5lbnRyeS1oZWFkZXIgLnBvc3QtbGluayBpIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDE0cHg7Cn0KLnBvc3QgLmVudHJ5LWhlYWRlciAucG9zdC1saW5rIGE6aG92ZXIgaSB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gQmxvZyBTaW5nbGUgLS0tLS0tLS0tLSAqLwouc2luZ2xlLXBvc3QgYXJ0aWNsZSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7CiAgbWFyZ2luLWJvdHRvbTogMjBweDsKICBwYWRkaW5nLWJvdHRvbTogMzBweDsKfQouc2luZ2xlLXBvc3QgYXJ0aWNsZSAuZW50cnktdGl0bGUgewogIGZvbnQtZmFtaWx5OiAiT3BlbiBTYW5zIiwgc2Fucy1zZXJpZjsKICBwYWRkaW5nOiAxNXB4IDAgMDsKICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKfQouc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgewogIGJvcmRlcjogbm9uZTsKfQouc2luZ2xlLXBvc3QgLmF1dGhvci1kZXRhaWxzIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMzsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMzsKICBtYXJnaW46IDIwcHggMDsKICBwYWRkaW5nOiAyMHB4IDA7Cn0KLnNpbmdsZS1wb3N0IC5wb3N0LXNoYXJlIHVsIHsKICBtYXJnaW4tYm90dG9tOiAxNXB4Owp9Ci5zaW5nbGUtcG9zdCAucG9zdC1zaGFyZSB1bCBsaSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci5zaW5nbGUtcG9zdCAucG9zdC1zaGFyZSB1bCBsaSBhIHsKICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICNlZWVlZWU7CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zaW5nbGUtcG9zdCAucG9zdC1zaGFyZSB1bCBsaSBhIGkgewogIGNvbG9yOiAjNTU1NTU1Owp9Ci5zaW5nbGUtcG9zdCAucG9zdC1zaGFyZSB1bCBsaSBhOmhvdmVyIGkgewogIGNvbG9yOiAjMTExMTExOwp9Ci5zaW5nbGUtcG9zdCAubWVkaWEtaGVhZGluZyB7CiAgbWFyZ2luLWJvdHRvbTogNXB4OwogIG1hcmdpbi10b3A6IDA7Cn0KLnNpbmdsZS1wb3N0IC5jb21tZW50cy10aXRsZSB7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKfQouc2luZ2xlLXBvc3QgLmNvbW1lbnQtbGlzdCB7CiAgcGFkZGluZy1sZWZ0OiAwOwp9Ci5zaW5nbGUtcG9zdCAuY29tbWVudC1saXN0IGg2IHsKICBmb250LWZhbWlseTogaGVsdmV0aWNhOwp9Ci5zaW5nbGUtcG9zdCAuY29tbWVudC1saXN0IGxpIHsKICBsaXN0LXN0eWxlOiBub25lOwp9Ci5zaW5nbGUtcG9zdCAuY29tbWVudC1saXN0IC5jb21tZW50LWF1dGhvciB7CiAgbWFyZ2luLXRvcDogMzBweDsKfQouc2luZ2xlLXBvc3QgLmNvbW1lbnQtbGlzdCAuY29tbWVudC1kYXRlLAouc2luZ2xlLXBvc3QgLmNvbW1lbnQtbGlzdCAuY29tbWVudC1oZWFkaW5nIHsKICBmb250LXNpemU6IDEzcHg7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggaDQgewogIG1hcmdpbi1ib3R0b206IDE1cHg7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggLmZvcm0tZ3JvdXAgaW5wdXQgewogIGJvcmRlci1yYWRpdXM6IDA7CiAgaGVpZ2h0OiA0NXB4OwogIG1hcmdpbi1ib3R0b206IDI4cHg7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggLmZvcm0tZ3JvdXAgdGV4dGFyZWEgewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggI2NvbW1lbnQtZm9ybSBidXR0b24uYnRuIHsKICBtYXJnaW4tcmlnaHQ6IDA7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggLmJ0bi1wcmltYXJ5IHsKICBtYXJnaW4tcmlnaHQ6IDA7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggLnRhZ2xpbmUgewogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDNkM2QzOwp9Ci5yZXBseS1ib3ggLmZvcm0tZ3JvdXAgaW5wdXQgewogIGJvcmRlci1yYWRpdXM6IDA7CiAgaGVpZ2h0OiA0NXB4OwogIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KLnBvc3QgLmVudHJ5LWNvbnRlbnQgewogIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsKfQoucG9zdDpob3ZlciAuZW50cnktY29udGVudCB7CiAgYm94LXNoYWRvdzogMnB4IDEwcHggMjhweCAtMTVweCAjYWFhOwp9Ci5ibG9nLXBvc3RzLnNpbmdsZS1wb3N0IC5wb3N0IC5lbnRyeS1jb250ZW50IHsKICBib3JkZXI6IG1lZGl1bSBub25lOwp9Ci5ibG9nLXBvc3RzLnNpbmdsZS1wb3N0IC5wb3N0OmhvdmVyIC5lbnRyeS1jb250ZW50IHsKICBib3gtc2hhZG93OiBub25lOwp9Ci8qCiAqIHNob3J0Y29kZS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qCiAqIFNob3J0Y29kZTogQWxlcnRzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyoKICogU2hvcnRjb2RlOiBCdXR0b25zLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0gQnRuLURlZmF1bHQgLS0tLS0tLS0tLSAqLwouYnRuLWRlZmF1bHQgewogIGNvbG9yOiAjMzMzOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjY2NjOwp9Ci5idG4tZGVmYXVsdDpmb2N1cywKLmJ0bi1kZWZhdWx0LmZvY3VzIHsKICBjb2xvcjogIzMzMzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzhjOGM4YzsKfQouYnRuLWRlZmF1bHQ6aG92ZXIgewogIGNvbG9yOiAjMzMzOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOwp9Ci5idG4tZGVmYXVsdDphY3RpdmUsCi5idG4tZGVmYXVsdC5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdCB7CiAgY29sb3I6ICMzMzM7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICNhZGFkYWQ7Cn0KLmJ0bi1kZWZhdWx0OmFjdGl2ZTpob3ZlciwKLmJ0bi1kZWZhdWx0LmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmhvdmVyLAouYnRuLWRlZmF1bHQ6YWN0aXZlOmZvY3VzLAouYnRuLWRlZmF1bHQuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQ6Zm9jdXMsCi5idG4tZGVmYXVsdDphY3RpdmUuZm9jdXMsCi5idG4tZGVmYXVsdC5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5mb2N1cyB7CiAgY29sb3I6ICMzMzM7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDsKICBib3JkZXItY29sb3I6ICM4YzhjOGM7Cn0KLmJ0bi1kZWZhdWx0OmFjdGl2ZSwKLmJ0bi1kZWZhdWx0LmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0IHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tZGVmYXVsdC5kaXNhYmxlZDpob3ZlciwKLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpob3ZlciwKLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmZvY3VzLAouYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmZvY3VzLAouYnRuLWRlZmF1bHQuZGlzYWJsZWQuZm9jdXMsCi5idG4tZGVmYXVsdFtkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjY2NjOwp9Ci5idG4tZGVmYXVsdCAuYmFkZ2UgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMzMzM7Cn0KLmJ0bi1kZWZhdWx0OmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1jb2xvcjogI2VlZWVlZTsKfQovKiAtLS0tLS0tLSBCdG4tQm9yZGVyIC0tLS0tLS0tLS0gKi8KLmJ0bi1ib3JkZXIgewogIGNvbG9yOiAjMjIyMjIyOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjMjIyMjIyOwp9Ci5idG4tYm9yZGVyOmZvY3VzLAouYnRuLWJvcmRlci5mb2N1cyB7CiAgY29sb3I6ICMyMjIyMjI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi1ib3JkZXI6aG92ZXIgewogIGNvbG9yOiAjMjIyMjIyOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMDQwNDA0Owp9Ci5idG4tYm9yZGVyOmFjdGl2ZSwKLmJ0bi1ib3JkZXIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlciB7CiAgY29sb3I6ICMyMjIyMjI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMwNDA0MDQ7Cn0KLmJ0bi1ib3JkZXI6YWN0aXZlOmhvdmVyLAouYnRuLWJvcmRlci5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyOmhvdmVyLAouYnRuLWJvcmRlcjphY3RpdmU6Zm9jdXMsCi5idG4tYm9yZGVyLmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXI6Zm9jdXMsCi5idG4tYm9yZGVyOmFjdGl2ZS5mb2N1cywKLmJ0bi1ib3JkZXIuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlci5mb2N1cyB7CiAgY29sb3I6ICMyMjIyMjI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi1ib3JkZXI6YWN0aXZlLAouYnRuLWJvcmRlci5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tYm9yZGVyLmRpc2FibGVkOmhvdmVyLAouYnRuLWJvcmRlcltkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWJvcmRlcjpob3ZlciwKLmJ0bi1ib3JkZXIuZGlzYWJsZWQ6Zm9jdXMsCi5idG4tYm9yZGVyW2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tYm9yZGVyOmZvY3VzLAouYnRuLWJvcmRlci5kaXNhYmxlZC5mb2N1cywKLmJ0bi1ib3JkZXJbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ib3JkZXIuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjMjIyMjIyOwp9Ci5idG4tYm9yZGVyIC5iYWRnZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjsKfQouYnRuLWJvcmRlciB7CiAgYm9yZGVyLXdpZHRoOiAycHg7Cn0KLmJ0bi1ib3JkZXI6aG92ZXIsCi5idG4tYm9yZGVyOmFjdGl2ZSwKLmJ0bi1ib3JkZXI6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7CiAgYm9yZGVyLWNvbG9yOiAjMjIyMjIyOwogIGNvbG9yOiAjZmZmOwp9Ci8qIC0tLS0tLS0tIEJ0bi1EYXJrIC0tLS0tLS0tLS0gKi8KLmJ0bi1kYXJrIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOwogIGJvcmRlci1jb2xvcjogIzIyMjIyMjsKfQouYnRuLWRhcms6Zm9jdXMsCi5idG4tZGFyay5mb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzA5MDkwOTsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi1kYXJrOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwOTA5OwogIGJvcmRlci1jb2xvcjogIzA0MDQwNDsKfQouYnRuLWRhcms6YWN0aXZlLAouYnRuLWRhcmsuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwOTA5MDk7CiAgYm9yZGVyLWNvbG9yOiAjMDQwNDA0Owp9Ci5idG4tZGFyazphY3RpdmU6aG92ZXIsCi5idG4tZGFyay5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyazpob3ZlciwKLmJ0bi1kYXJrOmFjdGl2ZTpmb2N1cywKLmJ0bi1kYXJrLmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrOmZvY3VzLAouYnRuLWRhcms6YWN0aXZlLmZvY3VzLAouYnRuLWRhcmsuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuZm9jdXMgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tZGFyazphY3RpdmUsCi5idG4tZGFyay5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyayB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLWRhcmsuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZGFya1tkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhcms6aG92ZXIsCi5idG4tZGFyay5kaXNhYmxlZDpmb2N1cywKLmJ0bi1kYXJrW2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFyazpmb2N1cywKLmJ0bi1kYXJrLmRpc2FibGVkLmZvY3VzLAouYnRuLWRhcmtbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYXJrLmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOwogIGJvcmRlci1jb2xvcjogIzIyMjIyMjsKfQouYnRuLWRhcmsgLmJhZGdlIHsKICBjb2xvcjogIzIyMjIyMjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci8qIC0tLS0tLS0tIEJ0bi1HcmF5IC0tLS0tLS0tLS0gKi8KLmJ0bi1ncmF5IHsKICBjb2xvcjogIzMzMzMzMzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1jb2xvcjogI2VlZWVlZTsKfQouYnRuLWdyYXk6Zm9jdXMsCi5idG4tZ3JheS5mb2N1cyB7CiAgY29sb3I6ICMzMzMzMzM7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTsKICBib3JkZXItY29sb3I6ICNhZmFmYWY7Cn0KLmJ0bi1ncmF5OmhvdmVyIHsKICBjb2xvcjogIzMzMzMzMzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1OwogIGJvcmRlci1jb2xvcjogI2QwZDBkMDsKfQouYnRuLWdyYXk6YWN0aXZlLAouYnRuLWdyYXkuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkgewogIGNvbG9yOiAjMzMzMzMzOwogIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7CiAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOwp9Ci5idG4tZ3JheTphY3RpdmU6aG92ZXIsCi5idG4tZ3JheS5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheTpob3ZlciwKLmJ0bi1ncmF5OmFjdGl2ZTpmb2N1cywKLmJ0bi1ncmF5LmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ncmF5OmZvY3VzLAouYnRuLWdyYXk6YWN0aXZlLmZvY3VzLAouYnRuLWdyYXkuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuZm9jdXMgewogIGNvbG9yOiAjMzMzMzMzOwogIGJhY2tncm91bmQtY29sb3I6ICNjM2MzYzM7CiAgYm9yZGVyLWNvbG9yOiAjYWZhZmFmOwp9Ci5idG4tZ3JheTphY3RpdmUsCi5idG4tZ3JheS5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheSB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLWdyYXkuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZ3JheVtkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWdyYXk6aG92ZXIsCi5idG4tZ3JheS5kaXNhYmxlZDpmb2N1cywKLmJ0bi1ncmF5W2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZ3JheTpmb2N1cywKLmJ0bi1ncmF5LmRpc2FibGVkLmZvY3VzLAouYnRuLWdyYXlbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ncmF5LmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1jb2xvcjogI2VlZWVlZTsKfQouYnRuLWdyYXkgLmJhZGdlIHsKICBjb2xvcjogI2VlZWVlZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOwp9Ci5idG4tY2lyY2xlZCB7CiAgYm9yZGVyLXJhZGl1czogMjVweDsKfQouYnRuLWZsYXQgewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLyogLS0tLS0tLS0gQnRuLURlZmF1bHQgLS0tLS0tLS0tLSAqLwouYnRuIHsKICBmb250LXNpemU6IDE0cHg7CiAgcGFkZGluZzogOHB4IDIycHg7CiAgbGluZS1oZWlnaHQ6IDEuMzg7Cn0KLyogLS0tLS0tLS0gQnRuLXhzIC0tLS0tLS0tLS0gKi8KLmJ0bi14cyB7CiAgZm9udC1zaXplOiAxMXB4OwogIHBhZGRpbmc6IDNweCAxNHB4Owp9Ci8qIC0tLS0tLS0tIEJ0bi1zbSAtLS0tLS0tLS0tICovCi5idG4tc20gewogIGZvbnQtc2l6ZTogMTJweDsKICBwYWRkaW5nOiA1cHggMTdweDsKfQovKiAtLS0tLS0tLSBCdG4tbGcgLS0tLS0tLS0tLSAqLwouYnRuLWxnIHsKICBmb250LXNpemU6IDE0cHg7CiAgcGFkZGluZzogMTBweCAyNnB4Owp9Ci8qIC0tLS0tLS0tIEJ0bi14bCAtLS0tLS0tLS0tICovCi5idG4teGwgewogIGZvbnQtc2l6ZTogMTZweDsKICBwYWRkaW5nOiAxM3B4IDMycHg7Cn0KLyogLS0tLS0tLS0gQnRuLXRyYW5zcGFyZW50IC0tLS0tLS0tLS0gKi8KLmJ0bi10cmFuc3BhcmVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgY29sb3I6ICNmZmY7Cn0KLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOjpiZWZvcmUgewogIGJhY2tncm91bmQ6ICMwMDA7Cn0KLyoKICogQmxvY2txdW90ZS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCmJsb2NrcXVvdGUgewogIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2VlZWVlZTsKICBtYXJnaW46IDIwcHggMDsKICBwYWRkaW5nOiAzMHB4Owp9CmJsb2NrcXVvdGUuZ3JheSB7CiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNjY2NjY2OwogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7CiAgY29sb3I6ICMzMzMzMzM7Cn0KYmxvY2txdW90ZS5ncmF5LmJnLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7Cn0KYmxvY2txdW90ZS5kYXJrIHsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMzYzNjM2M7CiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTsKICBjb2xvcjogI2ZmZjsKfQpibG9ja3F1b3RlLmRhcmsgZm9vdGVyIHsKICBjb2xvcjogI2QzZDNkMzsKfQpibG9ja3F1b3RlIHAgewogIGZvbnQtZmFtaWx5OiAiUGxheWZhaXIgRGlzcGxheSIsIHNlcmlmOwogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LXN0eWxlOiBpdGFsaWM7Cn0KLyoKICogU2hvcnRjb2RlOiBjbGllbnRzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmNsaWVudHMtbG9nbyAuaXRlbSB7CiAgYmFja2dyb3VuZDogI2VlZWVlZTsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggI2ZmZmZmZjsKICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIHBhZGRpbmc6IDEwcHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKfQouY2xpZW50cy1sb2dvIGltZyB7CiAgbWF4LWhlaWdodDogOTBweDsKICB3aWR0aDogYXV0bzsKICBkaXNwbGF5OiBpbmxpbmU7CiAgb3BhY2l0eTogMC42Owp9Ci5jbGllbnRzLWxvZ28gaW1nOmhvdmVyIHsKICBvcGFjaXR5OiAxOwp9Ci5jbGllbnRzLWxvZ28uY2Fyb3VzZWwgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2xpZW50cy1sb2dvLmNhcm91c2VsIC5pdGVtIHsKICBib3gtc2hhZG93OiBub25lOwogIG1hcmdpbjogMCAxMHB4Owp9Ci5jbGllbnRzLWxvZ28uc3R5bGUyIC5pdGVtIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci5jbGllbnRzLWxvZ28uc3R5bGUyIC5pdGVtIGltZyB7CiAgbWF4LWhlaWdodDogMTIwcHg7Cn0KLmNsaWVudC1pbWcgewogIG9wYWNpdHk6IDAuNjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKfQouY2xpZW50LWltZzpob3ZlciB7CiAgb3BhY2l0eTogMTsKfQouY2xpZW50LWltZyBpbWcgewogIG1heC1oZWlnaHQ6IDkwcHg7Cn0KLmNsaWVudHMtbG9nby5jYXJvdXNlbCB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jbGllbnRzLWxvZ28uY2Fyb3VzZWwgLml0ZW0gewogIGJveC1zaGFkb3c6IG5vbmU7CiAgbWFyZ2luOiAwIDEwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBDb3VudGRvd24ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouY291bnRkb3duLXRpbWVyIGxpIHsKICBjb2xvcjogIzgwODA4MDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogMzBweCAyMHB4OwogIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7CiAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogIGZvbnQtc2l6ZTogNDBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbWluLXdpZHRoOiAxMjBweDsKICBtaW4taGVpZ2h0OiAxMjBweDsKfQouY291bnRkb3duLXRpbWVyIGxpIHNwYW4gewogIGNvbG9yOiAjYzBjMGMwOwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMTVweDsKICBtYXJnaW4tdG9wOiA1cHg7Cn0KLmNvdW50ZG93bi10aW1lci50aW1lci1ib3ggewogIHBhZGRpbmc6IDIwcHg7CiAgcGFkZGluZy10b3A6IDQwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jb3VudGRvd24tdGltZXIudGltZXItYm94IGxpIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwogIG1hcmdpbi1ib3R0b206IDE1cHg7Cn0KLmNvdW50ZG93bi10aW1lci50aW1lci1ib3ggbGkgc3BhbiB7CiAgY29sb3I6ICNlZWVlZWU7Cn0KLmNvdW50ZG93bi10aW1lci50aW1lci1kZWVwLWJnIGxpIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAudGltZXItcmVzcG9uc2l2ZSBsaSB7CiAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgZm9udC1zaXplOiAyMHB4OwogICAgbWluLXdpZHRoOiA2MHB4OwogICAgbWluLWhlaWdodDogNjBweDsKICAgIHBhZGRpbmc6IDIwcHggMTBweDsKICB9CiAgLmNvdW50ZG93bi10aW1lciBsaSBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICB9Cn0KLyoKICogU2hvcnRjb2RlOiBDb3VudGRvd24tVGltZXIubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKgogKiBTaG9ydGNvZGU6IERpdmlkZXJzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmRpdmlkZXIsCi5wYXJhbGxheCB7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB3aWR0aDogMTAwJTsKfQovKiAtLS0tLS0tLSBQYXJhbGxheCAtLS0tLS0tLS0tICovCi5wYXJhbGxheCB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIG1hcmdpbjogMCBhdXRvOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsKfQoubW9iaWxlLXBhcmFsbGF4IHsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7Cn0KLmRpdmlkZXIgLmNvbnRhaW5lciB7CiAgcGFkZGluZy10b3A6IDYwcHg7CiAgcGFkZGluZy1ib3R0b206IDYwcHg7Cn0KLmRpdmlkZXIgLmNvbnRhaW5lci5zbWFsbC1wYWRkaW5nIHsKICBwYWRkaW5nLXRvcDogMzBweDsKICBwYWRkaW5nLWJvdHRvbTogMzBweDsKfQouZGl2aWRlciAuY29udGFpbmVyLmV4dHJhLXBhZGRpbmcgewogIHBhZGRpbmctdG9wOiAxODBweDsKICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBGYWNlYm9vay1EaXNxdXMtQ29tbWVudHMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouZmItY29tbWVudHMsCi5mYl9pZnJhbWVfd2lkZ2V0LAouZmItY29tbWVudHMgPiBzcGFuLAouZmJfaWZyYW1lX3dpZGdldCA+IHNwYW4sCi5mYi1jb21tZW50cyA+IHNwYW4gPiBpZnJhbWUsCi5mYl9pZnJhbWVfd2lkZ2V0ID4gc3BhbiA+IGlmcmFtZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci8qCiAqIFNob3J0Y29kZTogZmFxcy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qCiAqIFNob3J0Y29kZTogRmxleHNsaWRlci5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5mbGV4LWNvbnRhaW5lciBhOmFjdGl2ZSwKLmZsZXhzbGlkZXIgYTphY3RpdmUsCi5mbGV4LWNvbnRhaW5lciBhOmZvY3VzLAouZmxleHNsaWRlciBhOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwogIGJvcmRlcjogbm9uZTsKfQouZmxleC1kaXJlY3Rpb24tbmF2IHsKICBkaXNwbGF5OiBub25lOwp9Ci5mbGV4c2xpZGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgYm9yZGVyOiAwOwp9Ci5mbGV4LXZpZXdwb3J0IHsKICBtYXgtaGVpZ2h0OiAyMDAwcHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsKfQouZmxleC1jb250cm9sLW5hdiB7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgd2lkdGg6IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IDEwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBib3R0b206IDE1cHg7CiAgcmlnaHQ6IDE1cHg7Cn0KLmZsZXgtY29udHJvbC1uYXYgbGkgewogIGZsb2F0OiBsZWZ0OwogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbjogMCAzcHg7CiAgd2lkdGg6IDEwcHg7CiAgaGVpZ2h0OiAxMHB4Owp9Ci5mbGV4LWNvbnRyb2wtbmF2IGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIGN1cnNvcjogcG9pbnRlcjsKICB0ZXh0LWluZGVudDogLTk5OTlweDsKICB3aWR0aDogMTBweDsKICBoZWlnaHQ6IDEwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKfQouZmxleC1jb250cm9sLW5hdiBsaTpob3ZlciBhLAouZmxleC1jb250cm9sLW5hdiBsaSBhLmZsZXgtYWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci8qCiAqIFNob3J0Y29kZTogRmxpcCBCb3gKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmNhcmQgewogIGZsb2F0OiBsZWZ0OwogIG1pbi1oZWlnaHQ6IDMwMHB4OwogIHBhZGRpbmctYm90dG9tOiAyNSU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogMTAwJTsKfQouY2FyZDpudGgtY2hpbGQoMSkgewogIG1hcmdpbi1sZWZ0OiAtM3B4OwogIG1hcmdpbi1yaWdodDogMXB4Owp9Ci5jYXJkOm50aC1jaGlsZCgxKSwKLmNhcmQgLmNhcmQ6bnRoLWNoaWxkKDMpIHsKICBtYXJnaW4tcmlnaHQ6IDFweDsKfQouY2FyZCAuY2FyZF9fZnJvbnQsCi5jYXJkIC5jYXJkX19iYWNrIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7Cn0KLmNhcmQgLmNhcmRfX2JhY2sgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKfQouY2FyZCAuY2FyZF9fdGV4dCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgbWFyZ2luOiBhdXRvOwogIGxpbmUtaGVpZ2h0OiAyMHB4Owp9Ci5jYXJkLmVmZmVjdF9faG92ZXI6aG92ZXIgLmNhcmRfX2Zyb250IHsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7Cn0KLmNhcmQuZWZmZWN0X19ob3Zlcjpob3ZlciAuY2FyZF9fYmFjayB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMCk7CiAgdHJhbnNmb3JtOiByb3RhdGVZKDApOwp9Ci5jYXJkLmVmZmVjdF9fY2xpY2suZmxpcHBlZCAuY2FyZF9fZnJvbnQgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKfQouY2FyZC5lZmZlY3RfX2NsaWNrLmZsaXBwZWQgLmNhcmRfX2JhY2sgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDApOwogIHRyYW5zZm9ybTogcm90YXRlWSgwKTsKfQouY2FyZC5lZmZlY3RfX3JhbmRvbS5mbGlwcGVkIC5jYXJkX19mcm9udCB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOwp9Ci5jYXJkLmVmZmVjdF9fcmFuZG9tLmZsaXBwZWQgLmNhcmRfX2JhY2sgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDApOwogIHRyYW5zZm9ybTogcm90YXRlWSgwKTsKfQovKgogKiBSZXNwb25zaXZlIDogRmxpcCBCb3gKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5jYXJkIHsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICBtaW4taGVpZ2h0OiA0ODlweDsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDFweCkgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgLmNhcmQgewogICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIG1pbi1oZWlnaHQ6IDQwMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MHB4KSBhbmQgKG1heC13aWR0aDogNTAwcHgpIHsKICAuY2FyZCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgbWluLWhlaWdodDogMzUwcHg7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0NDlweCkgewogIC5jYXJkIHsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICBtaW4taGVpZ2h0OiAzMDBweDsKICB9Cn0KLyoKICogU2hvcnRjb2RlOiBmdW5mYWN0cy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5mdW5mYWN0IHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOwp9Ci5mdW5mYWN0LmJvcmRlciB7CiAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMzsKfQouZnVuZmFjdC5uby1ib3JkZXIgewogIGJvcmRlcjogMDsKfQouZnVuZmFjdC5ib3JkZXIgewogIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7Cn0KLmZ1bmZhY3QgaSB7CiAgZm9udC1zaXplOiA0NXB4Owp9Ci5mdW5mYWN0IGgyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZ1bmZhY3QgaDI6YWZ0ZXIgewogIGJvdHRvbTogMDsKfQouZnVuZmFjdCAuYW5pbWF0ZS1udW1iZXIgewogIGxpbmUtaGVpZ2h0OiAxOwp9Ci8qIGZ1bmZhY3Qgc3R5bGUtMSovCi5mdW5mYWN0LnN0eWxlLTEgaSwKLmZ1bmZhY3Quc3R5bGUtMSAuZnVuZmFjdC10aXRsZSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKfQouZnVuZmFjdC5zdHlsZS0xIC5mdW5mYWN0LXRpdGxlIHsKICBjb2xvcjogIzk5OTk5OTsKICBmb250LXNpemU6IDE0cHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQouZnVuZmFjdC5zdHlsZS0xOmhvdmVyIGkgewogIGZvbnQtc2l6ZTogNDBweDsKICBvcGFjaXR5OiAwLjM7Cn0KLmZ1bmZhY3Quc3R5bGUtMTpob3ZlciAuZnVuZmFjdC10aXRsZSB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLyoKICogU2hvcnRjb2RlOiBJY29uIEJveGVzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5pY29uLWJveCB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQouaWNvbi1ib3ggLmljb24gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDcwcHg7CiAgbWFyZ2luLWJvdHRvbTogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIHdpZHRoOiA3MHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouaWNvbi1ib3ggLmljb24gaSB7CiAgbGluZS1oZWlnaHQ6IDcwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tZ3JheSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsKICBjb2xvcjogIzU1NTU1NTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1ncmF5OmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1OwogIGNvbG9yOiAjYmJiYmJiOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1ncmF5Lmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7CiAgY29sb3I6ICM1NTU1NTU7Cn0KLmljb24tYm94IC5pY29uLmljb24tZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1kYXJrOmhvdmVyIHsKICBjb2xvcjogIzVlNWU1ZTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1kYXJrLmljb24tYm9yZGVyZWQgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogMnB4IHNvbGlkICMxMTExMTE7CiAgY29sb3I6ICMxMTExMTE7Cn0KLmljb24tYm94IC5pY29uLmljb24tZGFyay5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOwogIGJvcmRlci1jb2xvcjogIzExMTExMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3ggLmljb24uaWNvbi13aGl0ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBjb2xvcjogIzMzMzMzMzsKfQouaWNvbi1ib3ggLmljb24uaWNvbi13aGl0ZTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjNiMzsKICBjb2xvcjogIzAwMDAwMDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi13aGl0ZS5pY29uLWJvcmRlcmVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDJweCBzb2xpZCAjZmZmOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZmZmOwogIGNvbG9yOiAjMTExMTExOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyLWVmZmVjdCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyLWVmZmVjdDo6YWZ0ZXIgewogIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjZmZmOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWJvcmRlcmVkIHsKICBib3JkZXI6IDFweCBzb2xpZCAjNzc3Nzc3Owp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3OwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXJvdW5kZWQgewogIGJvcmRlci1yYWRpdXM6IDNweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1jaXJjbGVkIHsKICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KLmljb24tYm94IC5pY29uLmljb24teHMgewogIGhlaWdodDogMzBweDsKICB3aWR0aDogMzBweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi14cyBpIHsKICBmb250LXNpemU6IDE4cHg7CiAgbGluZS1oZWlnaHQ6IDMwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tc20gewogIGhlaWdodDogNTBweDsKICB3aWR0aDogNTBweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1zbSBpIHsKICBmb250LXNpemU6IDIycHg7CiAgbGluZS1oZWlnaHQ6IDUwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tbWQgewogIGhlaWdodDogNzVweDsKICB3aWR0aDogNzVweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1tZCBpIHsKICBmb250LXNpemU6IDM2cHg7CiAgbGluZS1oZWlnaHQ6IDc1cHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tbGcgewogIGhlaWdodDogOTBweDsKICB3aWR0aDogOTBweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1sZyBpIHsKICBmb250LXNpemU6IDQ4cHg7CiAgbGluZS1oZWlnaHQ6IDkwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24teGwgewogIGhlaWdodDogMTIwcHg7CiAgd2lkdGg6IDEyMHB4Owp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXhsIGkgewogIGZvbnQtc2l6ZTogNjBweDsKICBsaW5lLWhlaWdodDogMTIwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tYm9yZGVyLWVmZmVjdCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWJvcmRlci1lZmZlY3Q6OmFmdGVyIHsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IDsKICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogLTRweDsKICBvcGFjaXR5OiAwOwogIHBhZGRpbmc6IDRweDsKICB0b3A6IC00cHg7CiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UgMHMsIG9wYWNpdHkgMC4ycyBlYXNlIDBzOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwJTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1ib3JkZXItZWZmZWN0LmVmZmVjdC1mbGF0OjphZnRlciB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1ib3JkZXItZWZmZWN0LmVmZmVjdC1yb3VuZGVkOjphZnRlciB7CiAgYm9yZGVyLXJhZGl1czogM3B4Owp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWJvcmRlci1lZmZlY3QuZWZmZWN0LWNpcmNsZWQ6OmFmdGVyIHsKICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KLmljb24tYm94IC5pY29uLmljb24tYm9yZGVyLWVmZmVjdC5pY29uLWdyYXk6OmFmdGVyIHsKICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2VlZWVlZTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi10b3AgewogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogLTMycHg7Cn0KLmljb24tYm94IGkgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDQwcHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKfQouaWNvbi1ib3ggaVtjbGFzcyo9InBlLTdzLSJdIHsKICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207Cn0KLmljb24tYm94LmxlZnQgewogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmljb24tYm94LmxlZnQgYSB7CiAgbWFyZ2luLXJpZ2h0OiAzMHB4OwogIHBhZGRpbmc6IDA7Cn0KLmljb24tYm94Lmljb25ib3gtYm9yZGVyIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjOwp9Ci5pY29uLWJveC5pY29uYm94LWJnIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOwp9Ci5pY29uLWJveC5pY29uYm94LWJnLmljb25ib3gtYmctZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsKfQouaWNvbi1ib3guaWNvbi1sZWZ0IC5pY29uIHsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5pY29uLWJveC5pY29uLWxlZnQgLmljb24gewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbi1yaWdodDogMDsKICB9Cn0KLmljb24tYm94Lmljb24tbGVmdCAuaWNvbi5uby1iZyB7CiAgd2lkdGg6IGF1dG87CiAgaGVpZ2h0OiBhdXRvOwp9Ci5yb3RhdGUgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA3MDBtcyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgNzAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDcwMG1zIGVhc2UtaW4tb3V0IDBzOwp9Ci5uby1yb3RhdGUgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNzAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDcwMG1zIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCA3MDBtcyBlYXNlLWluLW91dCAwczsKfQouaWNvbi1ib3g6aG92ZXIgLmljb24tYm9yZGVyLWVmZmVjdDo6YWZ0ZXIgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQouaWNvbi1ib3ggLmljb24tYm9yZGVyLWVmZmVjdDpob3Zlcjo6YWZ0ZXIgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQovKgogKiA1LjAgLT4gSW1nIEljb24gQm94CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5pbWctaWNvbi1ib3ggewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpIDBzOwogIHRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSkgMHM7Cn0KLmltZy1pY29uLWJveDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgY29udGVudDogJyc7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxMDAlOwogIGRpc3BsYXk6IGJsb2NrOwp9Ci5pbWctaWNvbi1ib3ggaSwKLmltZy1pY29uLWJveCAuaW1nLWljb24tYm94IGgzIHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSkgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KSAwczsKICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpIDBzOwp9Ci5pbWctaWNvbi1ib3ggLmltZy1pY29uLWRldGFpbHMgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtaW4taGVpZ2h0OiAzMzBweDsKfQouaW1nLWljb24tYm94IC5pbWctaWNvbi1kZXRhaWxzIGkgewogIGNvbG9yOiAjRkZGOwp9Ci5pbWctaWNvbi1ib3ggLmltZy1pY29uLWNvbnRlbnQgewogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSkgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KSAwczsKfQouaW1nLWljb24tYm94OmhvdmVyIGkgewogIGZvbnQtc2l6ZTogMDsKfQouaW1nLWljb24tYm94OmhvdmVyIC5pbWctaWNvbi1jb250ZW50IHsKICBvcGFjaXR5OiAxOwp9Ci8qIC0tLS0tLS0tIEljb24gQm94IFNlcnZpY2VzIC0tLS0tLS0tLS0gKi8KLnNlcnZpY2UtaWNvbi1ib3ggewogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouc2VydmljZS1pY29uLWJveCBhIHsKICBiYWNrZ3JvdW5kOiAjZWVlZWVlOwogIGNvbG9yOiAjZmZmOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDcwcHg7CiAgbGluZS1oZWlnaHQ6IDgwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHdpZHRoOiA3MHB4Owp9Ci5zZXJ2aWNlLWljb24tYm94IGEgaSB7CiAgZm9udC1zaXplOiAyOHB4Owp9Ci5zZXJ2aWNlLWljb24tYm94OmhvdmVyIGEgaSB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gRmVhdHVyZXMgU2VydmljZXMgLS0tLS0tLQotLS0gKi8KLmZlYXR1cmUtaWNvbi1ib3ggewogIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7Cn0KLmZlYXR1cmUtaWNvbi1ib3ggLmZlYXR1cmUtaWNvbiB7CiAgYm9yZGVyOiA0cHggc29saWQgI2YxZjFmMTsKICBwYWRkaW5nOiAxMHB4IDE1cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTMwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBJbmZpbml0ZXNjcm9sbC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCiNpbmZzY3ItbG9hZGluZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTsKICBib3JkZXItcmFkaXVzOiAzcHg7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiAyNHB4OwogIGhlaWdodDogNTBweDsKICBsaW5lLWhlaWdodDogNTBweDsKICBsZWZ0OiA0OCU7CiAgcG9zaXRpb246IGZpeGVkOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0b3A6IDUwJTsKICB3aWR0aDogNTBweDsKICB6LWluZGV4OiAxMDA7Cn0KI2luZnNjci1sb2FkaW5nIGltZyB7CiAgZGlzcGxheTogbm9uZTsKfQovKgogKiBTaG9ydGNvZGU6IEluc3RhZ3JhbS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIC0tLS0tLS0tIEluc3RhZ3JhbS1GZWVkIC0tLS0tLS0tLS0gKi8KLmluc3RhZ3JhbS1mZWVkLWNhcm91c2VsIGZpZ3VyZSwKLmluc3RhZ3JhbS1mZWVkIGZpZ3VyZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5pbnN0YWdyYW0tZmVlZC1jYXJvdXNlbCBmaWd1cmUgLmxpbmstb3V0LAouaW5zdGFncmFtLWZlZWQgZmlndXJlIC5saW5rLW91dCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxMHB4OwogIGJvdHRvbTogMTBweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDUpOwogIGNvbG9yOiAjZjhmOGY4OwogIGxpbmUtaGVpZ2h0OiAxOwogIHBhZGRpbmc6IDEwcHg7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBvcGFjaXR5OiAwOwp9Ci5pbnN0YWdyYW0tZmVlZC1jYXJvdXNlbCBmaWd1cmUgLmxpbmstb3V0OmhvdmVyLAouaW5zdGFncmFtLWZlZWQgZmlndXJlIC5saW5rLW91dDpob3ZlciB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOwogIGNvbG9yOiAjZjhmOGY4Owp9Ci5pbnN0YWdyYW0tZmVlZC1jYXJvdXNlbCBmaWd1cmU6aG92ZXIgLmxpbmstb3V0LAouaW5zdGFncmFtLWZlZWQgZmlndXJlOmhvdmVyIC5saW5rLW91dCB7CiAgb3BhY2l0eTogMTsKfQovKiAtLS0tLS0tLSBJbnN0YWdyYW0tRmVlZCAtLS0tLS0tLS0tICovCi5pbnN0YWdyYW0tZmVlZCAuaXRlbSB7CiAgd2lkdGg6IDEwMHB4OwogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbi1ib3R0b206IDJweDsKICBtYXJnaW4tcmlnaHQ6IDJweDsKfQovKiAtLS0tLS0tLSBXaWRnZXQgLSBJbnN0YWdyYW0tRmVlZCAtLS0tLS0tLS0tICovCi53aWRnZXQgLmluc3RhZ3JhbS1mZWVkIC5pdGVtIHsKICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgd2lkdGg6IDcwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBsaWdodGJveC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtbmF2IHsKICBoZWlnaHQ6IDEwMCU7CiAgdG9wOiAwOwp9Ci5saWdodGJveCAubGItZGF0YUNvbnRhaW5lciB7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAtNDVweDsKfQovKioKICogRmFkZS16b29tIGFuaW1hdGlvbiBmb3IgZmlyc3QgZGlhbG9nCiAqLwovKiBzdGFydCBzdGF0ZSAqLwoubXktbWZwLXpvb20taW4gLnpvb20tYW5pbS1kaWFsb2cgewogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIHRyYW5zZm9ybTogc2NhbGUoMC44KTsKfQovKiBhbmltYXRlIGluICovCi5teS1tZnAtem9vbS1pbi5tZnAtcmVhZHkgLnpvb20tYW5pbS1kaWFsb2cgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7Cn0KLyogYW5pbWF0ZSBvdXQgKi8KLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZyAuem9vbS1hbmltLWRpYWxvZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIG9wYWNpdHk6IDA7Cn0KLyogRGFyayBvdmVybGF5LCBzdGFydCBzdGF0ZSAqLwoubXktbWZwLXpvb20taW4ubWZwLWJnIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0OwogIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0OwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDsKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7Cn0KLyogYW5pbWF0ZSBpbiAqLwoubXktbWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZyB7CiAgb3BhY2l0eTogMC44Owp9Ci8qIGFuaW1hdGUgb3V0ICovCi5teS1tZnAtem9vbS1pbi5tZnAtcmVtb3ZpbmcubWZwLWJnIHsKICBvcGFjaXR5OiAwOwp9Ci8qKgogKiBGYWRlLW1vdmUgYW5pbWF0aW9uIGZvciBzZWNvbmQgZGlhbG9nCiAqLwovKiBhdCBzdGFydCAqLwoubXktbWZwLXNsaWRlLWJvdHRvbSAuem9vbS1hbmltLWRpYWxvZyB7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OwogIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpOwogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKfQovKiBhbmltYXRlIGluICovCi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZWFkeSAuem9vbS1hbmltLWRpYWxvZyB7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgwKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDApOwogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMCk7Cn0KLyogYW5pbWF0ZSBvdXQgKi8KLm15LW1mcC1zbGlkZS1ib3R0b20ubWZwLXJlbW92aW5nIC56b29tLWFuaW0tZGlhbG9nIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7CiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7Cn0KLyogRGFyayBvdmVybGF5LCBzdGFydCBzdGF0ZSAqLwoubXktbWZwLXNsaWRlLWJvdHRvbS5tZnAtYmcgewogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7CiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0OwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDsKfQovKiBhbmltYXRlIGluICovCi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZWFkeS5tZnAtYmcgewogIG9wYWNpdHk6IDAuODsKfQovKiBhbmltYXRlIG91dCAqLwoubXktbWZwLXNsaWRlLWJvdHRvbS5tZnAtcmVtb3ZpbmcubWZwLWJnIHsKICBvcGFjaXR5OiAwOwp9Ci8qCiAqIFNob3J0Y29kZTogTWFwLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnRvZ2dsZS1tYXAgewogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsKICBjb2xvcjogI2ZmZjsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxNnB4OwogIHBhZGRpbmc6IDMwcHggMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMjAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsKICAtby10cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOwogIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7Cn0KLnRvZ2dsZS1tYXA6aG92ZXIgewogIGNvbG9yOiAjZmZmOwp9Ci50b2dnbGUtbWFwIHNwYW46YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjEwNyI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIG1hcmdpbi1sZWZ0OiAxMHB4Owp9Ci50b2dnbGUtbWFwLm9wZW4gc3BhbjphZnRlciB7CiAgY29udGVudDogIlxmMTA2IjsKfQoubWFwLWNhbnZhcyB7CiAgaGVpZ2h0OiA0MDBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhciAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXIgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzOwp9Ci5tYXAtY2FudmFzLmJpZyB7CiAgaGVpZ2h0OiA3MjBweDsKfQoubWFwLWNhbnZhcy5tYXAtaGlkZGVuIHsKICBoZWlnaHQ6IDA7Cn0KLmJ0bi1zaG93LW1hcCB7CiAgY29sb3I6ICMxMTExMTE7CiAgZm9udC1zaXplOiAxOHB4OwogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0b3A6IDQ1JTsKfQouYnRuLXNob3ctbWFwIGkgewogIGZvbnQtc2l6ZTogNDhweDsKfQovKgogKiBTaG9ydGNvZGU6IG9kb21ldGVyLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQsCi5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsIHsKICBkaXNwbGF5OiBibG9jazsKfQovKgogKiBTaG9ydGNvZGU6IG9wZW5pbmctaG91cnMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoub3BlbmluZy1ob3VycyB1bCBsaSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7CiAgcGFkZGluZzogMTBweCAwOwogIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKfQoub3BlbmluZy1ob3VycyB1bCBsaSBzcGFuIHsKICBmbG9hdDogbGVmdDsKfQoub3BlbmluZy1ob3VycyB1bCBsaSAudmFsdWUgewogIGZsb2F0OiByaWdodDsKfQovKgogKiBTaG9ydGNvZGU6IFBlZ2luYXRpb24ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucGFnaW5hdGlvbi50aGVtZS1jb2xvcmVkIGxpLmFjdGl2ZSBhIHsKICBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoucGFnaW5hdGlvbi50aGVtZS1jb2xvcmVkIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5wYWdpbmF0aW9uLmRhcmsgbGkgYSB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLnBhZ2luYXRpb24uZGFyayBsaS5hY3RpdmUgYSB7CiAgYmFja2dyb3VuZDogIzMzMzMzMzsKICBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoucGFnZXIudGhlbWUtY29sb3JlZCBsaS5hY3RpdmUgYSB7CiAgY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLnBhZ2VyLmRhcmsgbGkgYSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQovKgogKiBTaG9ydGNvZGU6IHByaWNpbmcubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucHJpY2luZy10YWJsZSB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnByaWNpbmctdGFibGUgLnRhYmxlLXByaWNlIHsKICBjb2xvcjogIzExMTExMTsKICBmb250LXNpemU6IDQ1cHg7Cn0KLnByaWNpbmctdGFibGUgLnRhYmxlLXByaWNlIHNwYW4gewogIGZvbnQtc2l6ZTogMTNweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5wcmljaW5nLXRhYmxlLmZlYXR1cmVkIHsKICBib3JkZXI6IDFweCBzb2xpZCAjMTExMTExOwp9Ci5wcmljaW5nLXRhYmxlIC50YWJsZS10eXBlIHsKICBkaXNwbGF5OiBpbmxpbmU7Cn0KLnByaWNpbmctdGFibGUgLmJ0bi1zaWdudXAgewogIG1hcmdpbi1yaWdodDogMDsKICB3aWR0aDogMTAwJTsKfQoucHJpY2luZy10YWJsZSAudGFibGUtbGlzdCB7CiAgbGlzdC1zdHlsZTogb3V0c2lkZSBub25lIG5vbmU7CiAgcGFkZGluZzogMTBweCAwIDEwcHggMjBweDsKfQoucHJpY2luZy10YWJsZSAudGFibGUtbGlzdCBsaSB7CiAgYm9yZGVyLWJvdHRvbTogMDsKICBmb250LXNpemU6IDEycHg7CiAgcGFkZGluZzogMTBweCAwOwp9Ci5wcmljaW5nLXRhYmxlIC50YWJsZS1saXN0IGxpIGkgewogIG1hcmdpbi1yaWdodDogOHB4Owp9Ci8qCiAqIFNob3J0Y29kZTogUHJvY2Vzcy1TdGVwcy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qCiAqIFNob3J0Y29kZTogcGllLWNoYXJ0Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnBpZWNoYXJ0IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiAxMTBweDsKICBoZWlnaHQ6IDExMHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoucGllY2hhcnQgY2FudmFzIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7Cn0KLnBpZWNoYXJ0IC5wZXJjZW50IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbGluZS1oZWlnaHQ6IDExMHB4OwogIHotaW5kZXg6IDI7Cn0KLnBpZWNoYXJ0IC5wZXJjZW50OmFmdGVyIHsKICBjb250ZW50OiAnJSc7CiAgbWFyZ2luLWxlZnQ6IDAuMWVtOwogIGZvbnQtc2l6ZTogLjhlbTsKfQovKgogKiBTaG9ydGNvZGU6IFByb2dyZXNzLUJhci5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5wcm9ncmVzcy1pdGVtIHsKICBtYXJnaW4tdG9wOiAyMHB4Owp9Ci5wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC40KSBpbnNldDsKICBib3JkZXItcmFkaXVzOiAwOwogIGhlaWdodDogMTBweDsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIG92ZXJmbG93OiB2aXNpYmxlOwp9Ci5wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcy1iYXIgewogIGZvbnQtc2l6ZTogMTFweDsKICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgd2lkdGg6IDA7CiAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZSAwczsKfQoucHJvZ3Jlc3MtaXRlbSAucHJvZ3Jlc3MtYmFyIC5wZXJjZW50IHsKICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICM1NTU1NTU7CiAgYm9yZGVyLXJhZGl1czogOHB4IDAgMDsKICBwYWRkaW5nOiAzcHggNXB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IC0zMHB4Owp9Ci5wcm9ncmVzcy1pdGVtLnByb2dyZXNzLXdoaXRlIC5wcm9ncmVzcyB7CiAgcGFkZGluZzogMnB4Owp9Ci5wcm9ncmVzcy1pdGVtLnN0eWxlMiAucHJvZ3Jlc3MgewogIGhlaWdodDogMjVweDsKfQoucHJvZ3Jlc3MtaXRlbS5zdHlsZTIgLnByb2dyZXNzLWJhciAucGVyY2VudCB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBjb2xvcjogIzU1NTU1NTsKICBmb250LXNpemU6IDE0cHg7Cn0KLyoKICogU2hvcnRjb2RlOiBQcm9tby5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5tb2RhbC1wcm9tby1ib3ggewogIG1heC13aWR0aDogNzAwcHg7CiAgcGFkZGluZzogOTBweCA2MHB4OwogIG1hcmdpbjogMCBhdXRvOwp9Ci8qCiAqIFNob3J0Y29kZTogc2VjdGlvbi10aXRsZS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5zbWFsbC10aXRsZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5zbWFsbC10aXRsZSBpIHsKICBmb250LXNpemU6IDM2cHg7CiAgbWFyZ2luLXRvcDogN3B4OwogIHBhZGRpbmctdG9wOiAwcHg7Cn0KLnNtYWxsLXRpdGxlIC50aXRsZSB7CiAgbWFyZ2luLWxlZnQ6IDE1cHg7Cn0KLnNtYWxsLXRpdGxlIC50aXRsZTphZnRlciB7CiAgYm90dG9tOiAtNnB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMXB4OwogIGxlZnQ6IDQ1cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA0NXB4Owp9Ci5zZWN0aW9uLXRpdGxlIC5ib3RoLXNpZGUtbGluZTo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMnB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogLTQwcHg7CiAgdG9wOiAxMHB4OwogIHdpZHRoOiAzMHB4Owp9Ci5zZWN0aW9uLXRpdGxlIC5ib3RoLXNpZGUtbGluZTo6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogLTQwcHg7CiAgdG9wOiAxMHB4OwogIHdpZHRoOiAzMHB4Owp9Ci5zZWN0aW9uLXRpdGxlIC50b3Atc2lkZS1saW5lOjphZnRlciB7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAycHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAtOHB4OwogIHdpZHRoOiA0MHB4Owp9Ci5zZWN0aW9uLXRpdGxlIC5sZWZ0LXNpZGUtbGluZTo6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC04cHg7CiAgd2lkdGg6IDM1cHg7Cn0KLnNlY3Rpb24tdGl0bGUgLnJpZ2h0LXNpZGUtbGluZTo6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAtOHB4OwogIHdpZHRoOiAzNXB4Owp9Ci5zZWN0aW9uLXRpdGxlIC5zdWItdGl0bGUgewogIG1hcmdpbjogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Ci5zZWN0aW9uLXRpdGxlIC50aXRsZSB7CiAgbWFyZ2luLXRvcDogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbGluZS1oZWlnaHQ6IDE7Cn0KLnNlY3Rpb24tdGl0bGUgLmljb24gaSB7CiAgZm9udC1zaXplOiA1MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC0zcHg7CiAgbGVmdDogMTRweDsKICBvcGFjaXR5OiAwLjEwOwp9Ci5zZWN0aW9uLXRpdGxlIHAgewogIGZvbnQtc2l6ZTogMTVweDsKfQouc2VjdGlvbi10aXRsZSBwLmxlZnQtYm9yZGVyZWQgewogIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2MwYzBjMDsKICBwYWRkaW5nLWxlZnQ6IDEwcHg7Cn0KLnNlY3Rpb24tdGl0bGUgcC5yaWdodC1ib3JkZXJlZCB7CiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2MwYzBjMDsKICBwYWRkaW5nLXJpZ2h0OiAxMHB4Owp9Ci8qVGhlbWUgU2VjdGlvbiBUaXRsZSovCi5zZWN0aW9uLXRpdGxlIHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9Ci5zZWN0aW9uLXRpdGxlLnRpdGxlLWJvcmRlciB7CiAgcGFkZGluZy1sZWZ0OiAzMHB4Owp9Ci5zZWN0aW9uLXRpdGxlLnRpdGxlLWJvcmRlci50aXRsZS1yaWdodCB7CiAgYm9yZGVyLWxlZnQ6IDA7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDMwcHg7CiAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KLnNlY3Rpb24tdGl0bGUuaWNvbi1iZyBwIHsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnNlY3Rpb24tdGl0bGUuaWNvbi1iZyAucGFnZS10aXRsZSB7CiAgZm9udC1zaXplOiAzOHB4OwogIGxpbmUtaGVpZ2h0OiA1MnB4Owp9Ci5zZWN0aW9uLXRpdGxlLmljb24tYmcgLnBhZ2UtdGl0bGUgaSB7CiAgZm9udC1zaXplOiA0MnB4OwogIGxpbmUtaGVpZ2h0OiAxLjM7CiAgcG9zaXRpb246IGFic29sdXRlOwogIG9wYWNpdHk6IDAuMTU7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBtYXJnaW46IDAgYXV0bzsKfQovKgogKiBTaG9ydGNvZGU6IFNlcGFyYXRvcnMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudGl0bGUtc2VwYXJhdG9yIHsKICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsKICBib3JkZXItdG9wLXdpZHRoOiAxcHg7CiAgZm9udC1zaXplOiAxNnB4OwogIGhlaWdodDogYXV0bzsKICBsaW5lLWhlaWdodDogMjBweDsKICBtYXJnaW46IDEwcHggMDsKICB3aWR0aDogNzAlOwp9Ci50aXRsZS1zZXBhcmF0b3Igc3BhbiB7CiAgYmFja2dyb3VuZDogI2ZmZiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvcmRlci1yYWRpdXM6IDJweDsKICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgcGFkZGluZzogMnB4IDEwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgdG9wOiAtMTJweDsKfQouc2VwYXJhdG9yIHsKICBjb2xvcjogI2MwYzBjMDsKICBsaW5lLWhlaWdodDogMS4yZW07CiAgbWFyZ2luOiAzMHB4IGF1dG87CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlcGFyYXRvcjo6YmVmb3JlLAouc2VwYXJhdG9yOjphZnRlciB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogLjY1ZW07CiAgbWFyZ2luOiAwIC00cHggMCAtMTAwJTsKICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogIHdpZHRoOiA1MCU7Cn0KLnNlcGFyYXRvcjo6YWZ0ZXIgewogIG1hcmdpbjogMCAtMTAwJSAwIDA7Cn0KLnNlcGFyYXRvciBpLAouc2VwYXJhdG9yIHNwYW4sCi5zZXBhcmF0b3IgYSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbjogMCAyMHB4IDAgMjRweDsKICBmb250LXNpemU6IDIwcHg7Cn0KLnNlcGFyYXRvci5zZXBhcmF0b3ItbGVmdCwKLnNlcGFyYXRvci5sZWZ0IGkgewogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbjogMnB4IDUwcHggMCAwOwp9Ci5zZXBhcmF0b3IucmlnaHQgaSB7CiAgZmxvYXQ6IHJpZ2h0OwogIG1hcmdpbjogMCAwIDJweCA1MHB4Owp9Ci5zZXBhcmF0b3Iuc2VwYXJhdG9yLW1lZGl1bS1saW5lIHsKICBtYXJnaW46IDEwcHggYXV0bzsKICB3aWR0aDogMjAlOwp9Ci5zZXBhcmF0b3Iuc2VwYXJhdG9yLXNtYWxsLWxpbmUgewogIHdpZHRoOiAxMCU7Cn0KLnNlcGFyYXRvci5zZXBhcmF0b3Itcm91bmVkIGksCi5zZXBhcmF0b3Iuc2VwYXJhdG9yLWJvcmRlci1yb3VuZWQgaSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgaGVpZ2h0OiA0MHB4OwogIGxlZnQ6IDA7CiAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgbWFyZ2luOiAtMTJweCBhdXRvIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHdpZHRoOiA0MHB4Owp9Ci5zZXBhcmF0b3Iuc2VwYXJhdG9yLWJvcmRlci1yb3VuZWQgaSB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAxcHggc29saWQgI2Y1ZjVmNTsKfQouc2VwYXJhdG9yLnNlcGFyYXRvci1yb3VuZWQuc2VwYXJhdG9yLXJvdW5lZC1sZWZ0IGkgewogIG1hcmdpbjogLTEycHggYXV0byBhdXRvOwogIHJpZ2h0OiBhdXRvOwogIGxlZnQ6IDA7Cn0KLnNlcGFyYXRvci5zZXBhcmF0b3Itcm91bmVkLnNlcGFyYXRvci1yb3VuZWQtcmlnaHQgaSB7CiAgbWFyZ2luOiAtMTJweCBhdXRvIGF1dG87CiAgcmlnaHQ6IDA7CiAgbGVmdDogYXV0bzsKfQouc2VwYXJhdG9yLmRvdHRlZDo6YmVmb3JlLAouc2VwYXJhdG9yLmRvdHRlZDo6YWZ0ZXIgewogIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgI2MwYzBjMDsKfQovKgogKiBTaG9ydGNvZGU6IHN0eWxlZC1pY29ucy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5zdHlsZWQtaWNvbnMgYSB7CiAgY29sb3I6ICMzMzMzMzM7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogMzJweDsKICBsaW5lLWhlaWdodDogMzJweDsKICB3aWR0aDogMzJweDsKICBmbG9hdDogbGVmdDsKICBtYXJnaW46IDVweCA3cHggNXB4IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7Cn0KLnN0eWxlZC1pY29ucyBhOmhvdmVyIHsKICBjb2xvcjogIzY2NjY2NjsKfQouc3R5bGVkLWljb25zLmljb24tZ3JheSBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGNvbG9yOiAjNTU1NTU1OwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMThweDsKICBoZWlnaHQ6IDM2cHg7CiAgbGluZS1oZWlnaHQ6IDM2cHg7CiAgd2lkdGg6IDM2cHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWdyYXkgYTpob3ZlciB7CiAgY29sb3I6ICNiYmJiYmI7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDJweCBzb2xpZCAjZWVlZWVlOwp9Ci5zdHlsZWQtaWNvbnMuaWNvbi1ncmF5Lmljb24tYm9yZGVyZWQgYTpob3ZlciB7CiAgYm9yZGVyOiAycHggc29saWQgI2Q1ZDVkNTsKfQouc3R5bGVkLWljb25zLmljb24tZGFyayBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOwogIGNvbG9yOiAjZWVlZWVlOwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMThweDsKICBoZWlnaHQ6IDM2cHg7CiAgbGluZS1oZWlnaHQ6IDM2cHg7CiAgd2lkdGg6IDM2cHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWRhcmsuaWNvbi1ib3JkZXJlZCBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDJweCBzb2xpZCAjMTExMTExOwogIGNvbG9yOiAjMTExMTExOwp9Ci5zdHlsZWQtaWNvbnMuaWNvbi1kYXJrLmljb24tYm9yZGVyZWQgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsKICBib3JkZXItY29sb3I6ICMxMTExMTE7CiAgY29sb3I6ICNmZmY7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWJvcmRlcmVkIGEgewogIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc3Nzc7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWJvcmRlcmVkIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7CiAgY29sb3I6ICNmZmY7Cn0KLnN0eWxlZC1pY29ucy5pY29uLXJvdW5kZWQgYSB7CiAgYm9yZGVyLXJhZGl1czogM3B4Owp9Ci5zdHlsZWQtaWNvbnMuaWNvbi1jaXJjbGVkIGEgewogIGJvcmRlci1yYWRpdXM6IDUwJTsKfQouc3R5bGVkLWljb25zLmljb24tc20gYSB7CiAgZm9udC1zaXplOiAxM3B4OwogIGhlaWdodDogMzBweDsKICBsaW5lLWhlaWdodDogMzBweDsKICBtYXJnaW46IDJweCA3cHggMnB4IDA7CiAgd2lkdGg6IDMwcHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLW1kIGEgewogIGZvbnQtc2l6ZTogMjRweDsKICBoZWlnaHQ6IDUwcHg7CiAgbGluZS1oZWlnaHQ6IDUwcHg7CiAgd2lkdGg6IDUwcHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWxnIGEgewogIGZvbnQtc2l6ZTogMzJweDsKICBoZWlnaHQ6IDYwcHg7CiAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgd2lkdGg6IDYwcHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLXhsIGEgewogIGZvbnQtc2l6ZTogNjBweDsKICBoZWlnaHQ6IDEyMHB4OwogIGxpbmUtaGVpZ2h0OiAxMjBweDsKICB3aWR0aDogMTIwcHg7Cn0KLnN0eWxlZC1pY29ucyBsaSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1ib3R0b206IDA7CiAgbWFyZ2luLXRvcDogMDsKfQovKgogKiBTaG9ydGNvZGU6IFRhYnMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudGFiLWNvbnRlbnQgewogIHBhZGRpbmc6IDE1cHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsKfQoubmF2LXRhYnMgewogIGJvcmRlcjogbm9uZTsKfQoubmF2LXRhYnMgPiBsaSB7CiAgZmxvYXQ6IGxlZnQ7CiAgbWFyZ2luLWJvdHRvbTogLTFweDsKfQoubmF2LXRhYnMgPiBsaS5hY3RpdmUgYSwKLm5hdi10YWJzID4gbGkuYWN0aXZlIGE6aG92ZXIsCi5uYXYtdGFicyA+IGxpLmFjdGl2ZSBhOmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKfQoubmF2LXRhYnMgPiBsaSA+IGEgewogIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7CiAgYm9yZGVyLXJhZGl1czogMDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMnB4OwogIGNvbG9yOiAjNTU1NTU1OwogIHBhZGRpbmc6IDdweCAxNXB4OwogIG1hcmdpbi1yaWdodDogMDsKfQoubmF2LXRhYnMgPiBsaSA+IGEgLmZhIHsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7Cn0KLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyLAoubmF2LXRhYnMgPiBsaSA+IGE6Zm9jdXMgewogIGNvbG9yOiAjMzMzMzMzOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5uYXYtdGFicyA+IGxpID4gYSBpIHsKICBmb250LXNpemU6IDMycHg7CiAgbWFyZ2luLXJpZ2h0OiAyMHB4OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLyogLS0tLS0tLS0gTmF2IFRhYnMgLS0tLS0tLS0tLSAqLwoubmF2LXRhYnMgPiBsaSB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5uYXYtdGFicyA+IGxpID4gYSBpIHsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXNpemU6IDQ4cHg7CiAgbWFyZ2luLXJpZ2h0OiAwOwogIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQovKiAtLS0tLS0tLSBIb3Jpem9udGFsLVRhYi1DZW50ZXJlZCAtLS0tLS0tLS0tICovCi5ob3Jpem9udGFsLXRhYi1jZW50ZXJlZCAubmF2LXBpbGxzIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLmhvcml6b250YWwtdGFiLWNlbnRlcmVkIC5uYXYtcGlsbHMgPiBsaSA+IGEgewogIGJhY2tncm91bmQ6ICNlZWVlZWU7CiAgY29sb3I6ICM1NTU1NTU7CiAgZm9udC1zaXplOiAxNHB4OwogIHBhZGRpbmc6IDhweCAxMHB4OwogIG1hcmdpbi1yaWdodDogMTBweDsKICBtYXJnaW4tYm90dG9tOiAxMHB4OwogIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwp9Ci5ob3Jpem9udGFsLXRhYi1jZW50ZXJlZCAubmF2LXBpbGxzID4gbGkgPiBhOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKfQouaG9yaXpvbnRhbC10YWItY2VudGVyZWQgLm5hdi1waWxscyA+IGxpID4gYSBpIHsKICBmb250LXNpemU6IDE0cHg7CiAgbWFyZ2luLXJpZ2h0OiA4cHg7Cn0KLmhvcml6b250YWwtdGFiLWNlbnRlcmVkIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhLAouaG9yaXpvbnRhbC10YWItY2VudGVyZWQgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsCi5ob3Jpem9udGFsLXRhYi1jZW50ZXJlZCAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gSG9yaXpvbnRhbC1UYWIgRnVsbHdpZGUgLS0tLS0tLS0tLSAqLwouaG9yaXpvbnRhbC10YWIuZnVsbHdpZGUgLm5hdi10YWJzID4gbGkgewogIHdpZHRoOiAyMCU7Cn0KLyogLS0tLS0tLS0gVmVydGljYWwgTmF2LVRhYnMgLS0tLS0tLS0tLSAqLwoudmVydGljYWwtdGFiIC50YWItY29udGVudCB7CiAgcGFkZGluZzogNXB4IDVweCAyMHB4IDIwcHg7CiAgYm9yZGVyOiBub25lOwp9Ci52ZXJ0aWNhbC10YWIgLm5hdi10YWJzID4gbGkgewogIGZsb2F0OiBub25lOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnZlcnRpY2FsLXRhYiAubmF2LXRhYnMgPiBsaSA+IGEgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMzsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDNkM2QzOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGZvbnQtc2l6ZTogMTRweDsKICBwYWRkaW5nOiAzMHB4IDAgMzBweCAxNXB4Owp9Ci52ZXJ0aWNhbC10YWIgLm5hdi10YWJzID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMyAhaW1wb3J0YW50Owp9Ci52ZXJ0aWNhbC10YWIgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSwKLnZlcnRpY2FsLXRhYiAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLAoudmVydGljYWwtdGFiIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7Cn0KLnZlcnRpY2FsLXRhYiAuc21hbGwtcGFkZGluZyAubmF2LXRhYnMgPiBsaSBhIHsKICBwYWRkaW5nOiAyMHB4IDAgMjBweCAxNXB4Owp9Ci52ZXJ0aWNhbC10YWIgLnNtYWxsLXBhZGRpbmcgLm5hdi10YWJzID4gbGkgaSB7CiAgZm9udC1zaXplOiAyNHB4Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAudmVydGljYWwtdGFiIC50YWItY29udGVudCB7CiAgICBwYWRkaW5nOiAyMHB4IDVweDsKICB9CiAgLm5hdi10YWJzID4gbGkgPiBhIHsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZDNkM2QzOwogIH0KICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhLAogIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsCiAgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7CiAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZDNkM2QzOwogIH0KfQouY3VzdG9tLW5hdi10YWJzIHsKICAtbW96LWJvcmRlci1ib3R0b20tY29sb3JzOiBub25lOwogIC1tb3otYm9yZGVyLWxlZnQtY29sb3JzOiBub25lOwogIC1tb3otYm9yZGVyLXJpZ2h0LWNvbG9yczogbm9uZTsKICAtbW96LWJvcmRlci10b3AtY29sb3JzOiBub25lOwogIGJvcmRlci1jb2xvcjogLW1vei11c2UtdGV4dC1jb2xvcjsKICBib3JkZXItaW1hZ2U6IG5vbmU7CiAgYm9yZGVyLXN0eWxlOiBub25lIHNvbGlkIG5vbmUgbm9uZTsKICBib3JkZXItd2lkdGg6IG1lZGl1bSAwcHggbWVkaXVtIG1lZGl1bTsKICBtYXJnaW4tcmlnaHQ6IDUzcHg7Cn0KLmN1c3RvbS1uYXYtdGFicyA+IGxpIHsKICBmbG9hdDogbm9uZTsKICBtYXJnaW46IDAgMCAxcHg7Cn0KLmN1c3RvbS1uYXYtdGFicyA+IGxpIGEgewogIGJhY2tncm91bmQ6ICNlZWVlZWUgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IG1lZGl1bSBub25lOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxN3B4OwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGluZS1oZWlnaHQ6IDU5cHg7CiAgbWFyZ2luOiAwOwogIG91dGxpbmU6IG1lZGl1bSBub25lOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLmN1c3RvbS1uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEsCi5jdXN0b20tbmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLAouY3VzdG9tLW5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cywKLmN1c3RvbS1uYXYtdGFicyA+IGxpID4gYTpob3ZlciwKLmN1c3RvbS1uYXYtdGFicyA+IGxpID4gYTpmb2N1cyB7CiAgYm9yZGVyOiBtZWRpdW0gbm9uZTsKICBjb2xvcjogIzAwMDsKICBwYWRkaW5nOiAwOwp9Ci8qIC0tLS0tLS0tIFNlcnZpY2VzIFRhYiAtLS0tLS0tLS0tICovCi5zZXJ2aWNlcy10YWIgLm5hdi10YWJzIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaSB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWVlZWVlOwogIG1hcmdpbi1ib3R0b206IDA7CiAgd2lkdGg6IDIwJTsKfQouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpOmZpcnN0LWNoaWxkIHsKICBib3JkZXItbGVmdDogbm9uZTsKfQouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpID4gYSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBjb2xvcjogI2E5YTlhOTsKICBmb250LXNpemU6IDEzcHg7CiAgbWFyZ2luLXJpZ2h0OiAwOwogIHBhZGRpbmc6IDM1cHggMjBweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci5zZXJ2aWNlcy10YWIgLm5hdi10YWJzID4gbGkgPiBhIGkgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMzZweDsKICBtYXJnaW4tcmlnaHQ6IDA7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5zZXJ2aWNlcy10YWIgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSwKLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLAouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMsCi5zZXJ2aWNlcy10YWIgLm5hdi10YWJzID4gbGkgYTpob3ZlciwKLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaSBhOmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKfQouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEgaSwKLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyIGksCi5zZXJ2aWNlcy10YWIgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cyBpLAouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpIGE6aG92ZXIgaSwKLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaSBhOmZvY3VzIGkgewogIGNvbG9yOiAjZmZmOwp9Ci5zZXJ2aWNlcy10YWIgLnRhYi1jb250ZW50IC5zZXJ2aWNlLWNvbnRlbnQgLnN1Yi10aXRsZSB7CiAgY29sb3I6ICNjOGM4Yzg7CiAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2Fucy1zZXJpZjsKfQouc2VydmljZXMtdGFiIC50YWItY29udGVudCAuc2VydmljZS1jb250ZW50IC50aXRsZSB7CiAgY29sb3I6ICM1NTU1NTU7CiAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2Fucy1zZXJpZjsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkgewogIC5zZXJ2aWNlcy10YWIgLnNlcnZpY2UtY29udGVudCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7CiAgLnNlcnZpY2VzLXRhYiAuc2VydmljZS1jb250ZW50IHsKICAgIHBhZGRpbmc6IDAgMjBweDsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5zZXJ2aWNlcy10YWIgLm5hdi5uYXYtdGFicyBhIHsKICAgIHBhZGRpbmc6IDEwcHggMDsKICAgIGZvbnQtc2l6ZTogOXB4OwogIH0KICAuc2VydmljZXMtdGFiIC5uYXYubmF2LXRhYnMgYSBpIHsKICAgIGZvbnQtc2l6ZTogMjhweDsKICB9Cn0KLnZlcnRpY2FsLXRhYiAubmF2LXRhYnMgbGkgYTphY3RpdmUgewogIGNvbG9yOiAjZDNkM2QzOwp9Ci8qCiAqIFNob3J0Y29kZTogdGVhbXMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudGVhbS1tZW1iZXIgLnRodW1iIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudGVhbS1tZW1iZXIgLnRodW1iIGltZyB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsKfQoudGVhbS1tZW1iZXI6aG92ZXIgLnRodW1iIGltZyB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwp9Ci50ZWFtLW1lbWJlciAudGh1bWIgLmluZm8gewogIGJvdHRvbTogLTUwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgd2lkdGg6IDEwMCU7Cn0KLnRlYW0tbWVtYmVyOmhvdmVyIC50aHVtYiAuaW5mbyB7CiAgYm90dG9tOiAwOwp9Ci5kbC1ob3Jpem9udGFsLmRvY3Rvci1pbmZvIGR0IHsKICBjb2xvcjogIzMzMzMzMzsKICBmb250LXNpemU6IDE0cHg7CiAgd2lkdGg6IGF1dG87Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5kbC1ob3Jpem9udGFsLmRvY3Rvci1pbmZvIGR0IHsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgfQp9Ci8qCiAqIFNob3J0Y29kZTogdGVzdGltb25pYWxzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnRlc3RpbW9uaWFsIC5pdGVtIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudGVzdGltb25pYWwgLml0ZW0gLnRodW1iIGltZyB7CiAgbWFyZ2luOiBhdXRvOwogIG1heC13aWR0aDogNzVweDsKfQoudGVzdGltb25pYWwgLmNvbW1lbnQgcCB7CiAgY29sb3I6ICNhOWE5YTk7CiAgZm9udC13ZWlnaHQ6IDQwMDsKfQovKiAtLS0tLS0tLSBUZXN0aW1vbmlhbC1TdHlsZTEgLS0tLS0tLS0tLSAqLwoudGVzdGltb25pYWxzLmF0dG9ybmV5LWRldGFpbHMgLnRodW1iIGltZyB7CiAgd2lkdGg6IGF1dG87Cn0KLyogLS0tLS0tLS0gVGVzdGltb25pYWwtU3R5bGUyIC0tLS0tLS0tLS0gKi8KLnRlc3RpbW9uaWFsLnN0eWxlMiB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50ZXN0aW1vbmlhbC5zdHlsZTIgLnRodW1iIGltZyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiA3NXB4Owp9Ci8qIC0tLS0tLS0tIFRlc3RpbW9uaWFsLVN0eWxlMSAtLS0tLS0tLS0tICovCi50ZXN0aW1vbmlhbC5zdHlsZTEgLml0ZW0gewogIGJvcmRlcjogbm9uZTsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5pdGVtOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAucXVvdGUsCi50ZXN0aW1vbmlhbC5zdHlsZTEgLnRodW1iIHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9Ci50ZXN0aW1vbmlhbC5zdHlsZTEgLmF1dGhvciB7CiAgbWFyZ2luLWJvdHRvbTogNXB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAudGl0bGUgewogIGNvbG9yOiAjYzBjMGMwOwogIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAuY29tbWVudCB7CiAgcGFkZGluZzogMzVweCAyNXB4Owp9Ci50ZXN0aW1vbmlhbC5zdHlsZTEgLmNvbW1lbnQgcCB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBtYXJnaW4tbGVmdDogMzBweDsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5jb21tZW50IHsKICBiYWNrZ3JvdW5kOiAjZjhmOGY4OwogIGNvbG9yOiAjNzc3Nzc3OwogIGJvcmRlcjogM3B4IHNvbGlkIHdoaXRlOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpOwogIG1hcmdpbjogMXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5jb21tZW50OjpiZWZvcmUgewogIGNvbG9yOiAjZDNkM2QzOwogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMzBweDsKICBsZWZ0OiAyMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDdweDsKfQovKi50ZXN0aW1vbmlhbC5zdHlsZTEgLmNvbW1lbnQ6OmFmdGVyIHsKICBib3R0b206IC0xOHB4OwogIHJpZ2h0OiAxOXB4OwogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMDsKICBoZWlnaHQ6IDA7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICBib3JkZXItd2lkdGg6IDE1cHggMTVweCAwIDE1cHg7CiAgYm9yZGVyLWNvbG9yOiBmYWRlKEBibGFjaywgMDQlKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKfSovCi50ZXN0aW1vbmlhbC5zdHlsZTEgLmNvbW1lbnQ6OmFmdGVyIHsKICBjb250ZW50OiAiIjsKICB3aWR0aDogMTRweDsKICBoZWlnaHQ6IDE0cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDMwcHg7CiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvdGVzdGltb25pYWxzL3F1b3RlX2Fycm93LnBuZycpIDBweCAwcHggbm8tcmVwZWF0OwogIHRvcDogOTclOwp9Ci5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC50ZXN0aW1vbmlhbCBpbWcgewogIGRpc3BsYXk6IGlubGluZTsKICB3aWR0aDogYXV0bzsKfQoudGVzdGltb25pYWwgLnNpZ25hdHVyZSB7CiAgd2lkdGg6IDYwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBUb2dnbGVzLUFjY29yZGlvbnMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgewogIHBhZGRpbmc6IDA7Cn0KLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSB7CiAgZm9udC1zaXplOiAxM3B4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIGNvbG9yOiAjMTExMTExOwogIGRpc3BsYXk6IGJsb2NrOwogIHBhZGRpbmc6IDEwcHggMTVweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tcmlnaHQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjA2OCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTBweDsKICByaWdodDogMDsKICBwYWRkaW5nOiA0cHggMTBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLXJpZ2h0IC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhLmNvbGxhcHNlZDo6YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjA2NyI7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIHBhZGRpbmctbGVmdDogMzBweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tbGVmdCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjA2OCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTBweDsKICBsZWZ0OiAwOwogIHBhZGRpbmc6IDNweCAxMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tbGVmdCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYS5jb2xsYXBzZWQ6OmJlZm9yZSB7CiAgY29udGVudDogIlxmMDY3IjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWJvcmRlcmVkIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tYm9yZGVyZWQgLnBhbmVsIHsKICBib3JkZXI6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZGRkZDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWJvcmRlcmVkIC5wYW5lbDpsYXN0LWNoaWxkIHsKICBib3JkZXItYm90dG9tOiBub25lOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tYm9yZGVyZWQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWZsYXQgLnBhbmVsIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tZmxhdCAucGFuZWwgLnBhbmVsLWhlYWRpbmcgewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIgewogIGJvcmRlcjogMDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLW5vLWJvcmRlciAucGFuZWwgewogIGJvcmRlcjogbm9uZTsKICBib3gtc2hhZG93OiBub25lOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tbm8tYm9yZGVyIC5wYW5lbDpsYXN0LWNoaWxkIHsKICBib3JkZXItYm90dG9tOiBub25lOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tbm8tYm9yZGVyIC5wYW5lbCAucGFuZWwtaGVhZGluZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSB7CiAgZm9udC1zaXplOiAxNHB4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tbm8tYm9yZGVyIC5wYW5lbCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYSB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIgLnBhbmVsIC5wYW5lbC1ib2R5IHsKICBib3JkZXItdG9wOiBub25lOwogIHBhZGRpbmctbGVmdDogMDsKICBwYWRkaW5nLXJpZ2h0OiAwOwogIHBhZGRpbmctdG9wOiAwOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tbm8tYm9yZGVyLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhIHsKICBwYWRkaW5nLWxlZnQ6IDIwcHg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIuYWNjb3JkaW9uLWljb24tbGVmdCAucGFuZWwgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YmVmb3JlIHsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIuYWNjb3JkaW9uLWljb24tbGVmdCAucGFuZWwgLnBhbmVsLWJvZHkgewogIHBhZGRpbmctbGVmdDogMjBweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLW5vLWJvcmRlci5hY2NvcmRpb24taWNvbi1yaWdodCAucGFuZWwgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIHBhZGRpbmctcmlnaHQ6IDIwcHg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIuYWNjb3JkaW9uLWljb24tcmlnaHQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhOmJlZm9yZSB7CiAgcGFkZGluZy1yaWdodDogMDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhIHsKICBwYWRkaW5nLWxlZnQ6IDMwcHg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWZpbGxlZC5hY2NvcmRpb24taWNvbi1sZWZ0IC5wYW5lbCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7CiAgY29sb3I6ICNmZmY7CiAgcGFkZGluZzogNHB4IDZweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1ib2R5IHsKICBwYWRkaW5nLWxlZnQ6IDMwcHg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWZpbGxlZC5hY2NvcmRpb24taWNvbi1yaWdodCAucGFuZWwgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7CiAgY29sb3I6ICNmZmY7CiAgcGFkZGluZzogNHB4IDZweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLXJpZ2h0IC5wYW5lbCAucGFuZWwtYm9keSB7CiAgcGFkZGluZy1yaWdodDogMzBweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLXN0eWxpc2hlZC1sZWZ0LWJvcmRlciAucGFuZWwgewogIGJveC1zaGFkb3c6IG5vbmU7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDAgMCAwOwogIC1tb3otYm9yZGVyLXJhZGl1czogMDsKICAtbXMtYm9yZGVyLXJhZGl1czogMCAwIDAgMDsKICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOwogIGJvcmRlcjogbm9uZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1zdHlsaXNoZWQtbGVmdC1ib3JkZXIgLnBhbmVsOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHsKICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjY2NjY2NjOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAxNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDE1cHg7CiAgd2lkdGg6IDFweDsKICB6LWluZGV4OiAwOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tc3R5bGlzaGVkLWxlZnQtYm9yZGVyLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIHsKICBwYWRkaW5nLWJvdHRvbTogMTVweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLXN0eWxpc2hlZC1sZWZ0LWJvcmRlci5hY2NvcmRpb24taWNvbi1sZWZ0IC5wYW5lbCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYSB7CiAgcGFkZGluZy1sZWZ0OiA0MHB4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tc3R5bGlzaGVkLWxlZnQtYm9yZGVyLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhOmJlZm9yZSB7CiAgYm9yZGVyLXJhZGl1czogNXB4OwogIGZvbnQtc2l6ZTogMTJweDsKICBwYWRkaW5nOiA2cHggMTBweDsKICB0b3A6IDVweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLXN0eWxpc2hlZC1sZWZ0LWJvcmRlci5hY2NvcmRpb24taWNvbi1sZWZ0IC5wYW5lbCAucGFuZWwtYm9keSB7CiAgcGFkZGluZy1sZWZ0OiA0MHB4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYyAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYSB7CiAgcGFkZGluZy1sZWZ0OiA0NXB4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYyAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICNlZWU7CiAgY29udGVudDogIlxmMDY4IjsKICBjb2xvcjogIzMzMzsKICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7CiAgZm9udC1zaXplOiAxMHB4OwogIGxlZnQ6IDA7CiAgcGFkZGluZzogMTJweCAxNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEuY29sbGFwc2VkOjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjA2NyI7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhLmFjdGl2ZTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICMzMzM7CiAgY29sb3I6ICNmZmY7CiAgcGFkZGluZzogMTIuNXB4IDE0cHg7Cn0KLyogLS0tLS0tLS0gVG9nZ2xlIC0tLS0tLS0tLS0gKi8KLyoKICogU2hvcnRjb2RlOiB0aW1ldGFibGUtZnVsbGNhbGVuZGFyLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1zY3JvbGxlciB7CiAgaGVpZ2h0OiBhdXRvOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy10b29sYmFyIHsKICBkaXNwbGF5OiBub25lOwogIGhlaWdodDogMzhweDsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciBoMiB7CiAgY29sb3I6ICM3ZjdmN2Y7CiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE4cHg7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBsaW5lLWhlaWdodDogMzhweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciAuZmMtYnV0dG9uIHsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGhlaWdodDogMzhweDsKICBsaW5lLWhlaWdodDogMzZweDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIHdpZHRoOiA0MHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciAuZmMtYnV0dG9uOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjNWZjN2FlOwogIGJvcmRlci1jb2xvcjogIzVmYzdhZTsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRvb2xiYXIgLmZjLWJ1dHRvbjpob3ZlciAuZmMtaWNvbi5mYy1pY29uLWxlZnQtc2luZ2xlLWFycm93IHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTUwcHg7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy10b29sYmFyIC5mYy1idXR0b246aG92ZXIgLmZjLWljb24uZmMtaWNvbi1yaWdodC1zaW5nbGUtYXJyb3cgewogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTVweCAtNTBweDsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRvb2xiYXIgLmZjLWJ1dHRvbiAuZmMtaWNvbiB7CiAgaGVpZ2h0OiAxMXB4OwogIHRvcDogLTFweDsKICB3aWR0aDogNnB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciAuZmMtYnV0dG9uIC5mYy1pY29uOmFmdGVyIHsKICBkaXNwbGF5OiBub25lOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciAuZmMtYnV0dG9uIC5mYy1pY29uLmZjLWljb24tbGVmdC1zaW5nbGUtYXJyb3cgewogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNTBweDsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRvb2xiYXIgLmZjLWJ1dHRvbiAuZmMtaWNvbi5mYy1pY29uLXJpZ2h0LXNpbmdsZS1hcnJvdyB7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMnB4IC01MHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZGF5LWhlYWRlciB7CiAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICBjb2xvcjogIzdmN2Y3ZjsKICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogMzAwOwogIGxpbmUtaGVpZ2h0OiA1MnB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdGltZS1ncmlkIC5mYy1kYXkuZmMtd2lkZ2V0LWNvbnRlbnQgewogIGJhY2tncm91bmQ6ICNmZmZmZmY7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1heGlzIHsKICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIGxpIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIGEgewogIGJhY2tncm91bmQ6ICNlZWVlZWU7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1yYWRpdXM6IDVweDsKICBjb2xvcjogIzMzMzMzMzsKICBwYWRkaW5nOiA1cHg7CiAgcGFkZGluZzogN3B4IDE1cHg7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5maWx0ZXItZGVwYXJ0bWVudHMgLmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogIzg4ODg4ODsKICBib3JkZXItY29sb3I6ICM4ODg4ODg7CiAgY29sb3I6ICNmZmZmZmY7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5maWx0ZXItZGVwYXJ0bWVudHMgLmZjLWRlcGFydG1lbnRzLW9ydGhvcGFlZGljcyB7CiAgYmFja2dyb3VuZDogIzcyYTIzMDsKICBib3JkZXItY29sb3I6ICM3MmEyMzA7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5maWx0ZXItZGVwYXJ0bWVudHMgLmZjLWRlcGFydG1lbnRzLWNhcmRpb2xvZ3kgewogIGJhY2tncm91bmQ6ICNmZmFiMDA7CiAgYm9yZGVyLWNvbG9yOiAjZmZhYjAwOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIC5mYy1kZXBhcnRtZW50cy1uZXVyb2xvZ3kgewogIGJhY2tncm91bmQ6ICNmZDQwODQ7CiAgYm9yZGVyLWNvbG9yOiAjZmQ0MDg0Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIC5mYy1kZXBhcnRtZW50cy1kZW50YWwgewogIGJhY2tncm91bmQ6ICMwMGE0ZWY7CiAgYm9yZGVyLWNvbG9yOiAjMDBhNGVmOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIC5mYy1kZXBhcnRtZW50cy1oYWVtYXRvbG9neSB7CiAgYmFja2dyb3VuZDogIzgwYWNkZDsKICBib3JkZXItY29sb3I6ICM4MGFjZGQ7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1ldmVudCB7CiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm9yZGVyOiAwOwogIGJvcmRlcjogMnB4IHNvbGlkICM1ZmM3YWU7CiAgY29sb3I6ICNmZmZmZmY7CiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE2cHg7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZXZlbnQgLmZjLWJnIHsKICBvcGFjaXR5OiAwOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZXZlbnQgLmZjLWNvbnRlbnQgewogIHBhZGRpbmctbGVmdDogMTBweDsKICBwYWRkaW5nLXRvcDogMTBweDsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWV2ZW50IC5mYy1jb250ZW50IGRpdi5mYy10aW1lIHsKICBkaXNwbGF5OiBub25lOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZXZlbnQuaGlkZSB7CiAgb3BhY2l0eTogMDsKICB6LWluZGV4OiAtMjsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWV2ZW50LmZjLWRlcGFydG1lbnRzLW9ydGhvcGFlZGljcyB7CiAgYmFja2dyb3VuZDogIzcyYTIzMDsKICBib3JkZXItY29sb3I6ICM3MmEyMzA7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1ldmVudC5mYy1kZXBhcnRtZW50cy1jYXJkaW9sb2d5IHsKICBiYWNrZ3JvdW5kOiAjZmZhYjAwOwogIGJvcmRlci1jb2xvcjogI2ZmYWIwMDsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWV2ZW50LmZjLWRlcGFydG1lbnRzLW5ldXJvbG9neSB7CiAgYmFja2dyb3VuZDogI2ZkNDA4NDsKICBib3JkZXItY29sb3I6ICNmZDQwODQ7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1ldmVudC5mYy1kZXBhcnRtZW50cy1kZW50YWwgewogIGJhY2tncm91bmQ6ICMwMGE0ZWY7CiAgYm9yZGVyLWNvbG9yOiAjMDBhNGVmOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZXZlbnQuZmMtZGVwYXJ0bWVudHMtaGFlbWF0b2xvZ3kgewogIGJhY2tncm91bmQ6ICM4MGFjZGQ7CiAgYm9yZGVyLWNvbG9yOiAjODBhY2RkOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciB0ZC5mYy10aW1lIHsKICBjb2xvcjogIzdmN2Y3ZjsKICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogNDAwOwogIGxpbmUtaGVpZ2h0OiA3MHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRpbWUtZ3JpZC1jb250YWluZXIgewogIGhlaWdodDogYXV0bzsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWNvbnRlbnQtc2tlbGV0b24gLmZjLWV2ZW50LWNvbnRhaW5lciB7CiAgbWFyZ2luOiAwOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAuZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWRheS1oZWFkZXIgewogICAgZm9udC1zaXplOiAxMHB4OwogIH0KICAuZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGltZSwKICAuZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGl0bGUgewogICAgZm9udC1zaXplOiAxMnB4OwogIH0KICAuZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWV2ZW50IC5mYy1jb250ZW50IHsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIHBhZGRpbmctdG9wOiAwOwogIH0KfQovKgogKiBTaG9ydGNvZGU6IFZlcnRpY2FsLVRpbWVsaW5lLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmNkLXRpbWVsaW5lLWNvbnRlbnQgewogIGJhY2tncm91bmQ6ICNmMWYxZjE7Cn0KLmNkLXRpbWVsaW5lLWNvbnRlbnQ6OmJlZm9yZSB7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWVlOwp9Ci5jZC10aW1lbGluZS1ibG9jazpudGgtY2hpbGQoMm4pIC5jZC10aW1lbGluZS1jb250ZW50OjpiZWZvcmUgewogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2VlZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKfQojY2QtdGltZWxpbmUuY2QtdGltZWxpbmUtc2ltcGxlOjpiZWZvcmUgewogIGJhY2tncm91bmQ6ICNjY2Mgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBoZWlnaHQ6IDgyJTsKICB0b3A6IDY1cHg7CiAgd2lkdGg6IDJweDsKfQojY2QtdGltZWxpbmUuY2QtdGltZWxpbmUtc2ltcGxlLnRpbWUtbGluZS1tZWRpYTo6YmVmb3JlIHsKICBoZWlnaHQ6IDY1JTsKfQouY2QtdGltZWxpbmUtc2ltcGxlIC5jZC10aW1lbGluZS1ibG9jayB7CiAgbWFyZ2luOiAzOHB4IDAgMjBweCAwOwp9Ci5jZC10aW1lbGluZS1zaW1wbGUgLmNkLXRpbWVsaW5lLWJsb2NrIC5jZC10aW1lbGluZS1jb250ZW50OjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWNvbnRlbnQgewogIHBhZGRpbmctdG9wOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKfQouY2QtdGltZWxpbmUtc2ltcGxlIC5jZC10aW1lbGluZS1ibG9jayAuY2QtdGltZWxpbmUtY29udGVudCBwIHsKICBmb250LXNpemU6IDE0cHg7Cn0KLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWltZyB7CiAgYmFja2dyb3VuZDogIzMzMyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjY2NjLCAwIDNweCAwIHJnYmEoMCwgMCwgMCwgMC4wNikgaW5zZXQsIDAgMHB4IDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5jZC10aW1lbGluZS1zaW1wbGUgLmNkLXRpbWVsaW5lLWJsb2NrIC5jZC10aW1lbGluZS1jb250ZW50IHsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAuY2QtdGltZWxpbmUtc2ltcGxlIC5jZC10aW1lbGluZS1ibG9jayAuY2QtdGltZWxpbmUtY29udGVudCB7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWNvbnRlbnQgaDIgewogICAgZm9udC1zaXplOiAyMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWNvbnRlbnQgaDIgewogICAgZm9udC1zaXplOiAxOHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWNvbnRlbnQgLmNkLWRhdGUgewogICAgZm9udC1zaXplOiAxNHB4OwogIH0KfQovKiBWZXJ0aWNhbCBNYXNvbnJ5IFRpbWVsaW5lICovCi52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiA1MCU7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDIpIHsKICBtYXJnaW4tdG9wOiA4MHB4Owp9Ci52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbTpudGgtY2hpbGQoMm4pIHsKICBwYWRkaW5nLWxlZnQ6IDUwcHg7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgybisxKSB7CiAgcGFkZGluZy1yaWdodDogNTBweDsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0gLnRpbWVsaW5lLWJsb2NrIHsKICBiYWNrZ3JvdW5kOiAjZmZmIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZTRlZDsKICBoZWlnaHQ6IDEwMCU7CiAgcGFkZGluZzogMjBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtIC50aW1lbGluZS1ibG9jazpiZWZvcmUsCi52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbSAudGltZWxpbmUtYmxvY2s6YWZ0ZXIgewogIGJvcmRlci1zdHlsZTogc29saWQ7CiAgYm9yZGVyLXdpZHRoOiA4cHg7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMjBweDsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIC50aW1lbGluZS1ibG9jazpiZWZvcmUgewogIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApIHJnYmEoMCwgMCwgMCwgMCkgI2M2ZDJkYjsKICBsZWZ0OiBhdXRvOwogIHJpZ2h0OiAtMTZweDsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIC50aW1lbGluZS1ibG9jazphZnRlciB7CiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKSAjZmZmZmZmOwogIGxlZnQ6IGF1dG87CiAgcmlnaHQ6IC0xNXB4Owp9Ci52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbTpudGgtY2hpbGQoMm4pIC50aW1lbGluZS1ibG9jazpiZWZvcmUgewogIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSAjYzZkMmRiIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKTsKICBsZWZ0OiAtMTZweDsKICByaWdodDogYXV0bzsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKSAudGltZWxpbmUtYmxvY2s6YWZ0ZXIgewogIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSAjZmZmZmZmIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKTsKICBsZWZ0OiAtMTVweDsKICByaWdodDogYXV0bzsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIC50aW1lbGluZS1wb3N0LWZvcm1hdCB7CiAgbGVmdDogYXV0bzsKICByaWdodDogLTgycHg7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgybikgLnRpbWVsaW5lLXBvc3QtZm9ybWF0IHsKICBsZWZ0OiAtODBweDsKICByaWdodDogYXV0bzsKfQoudGltZWxpbmUtcG9zdC1mb3JtYXQgewogIGJvcmRlcjogM3B4IHNvbGlkICNiYmI7CiAgYm9yZGVyLXJhZGl1czogMTAwJTsKICBjb2xvcjogI2JiYjsKICBoZWlnaHQ6IDYwcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAtMnB4OwogIHdpZHRoOiA2MHB4OwogIHotaW5kZXg6IDE7Cn0KLnRpbWVsaW5lLXBvc3QtZm9ybWF0OmFmdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgY29sb3I6ICNmZmY7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAxMDAlOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtcG9zdC1mb3JtYXQgaSB7CiAgZm9udC1zaXplOiAxOHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAxOwogIGxlZnQ6IDUwJTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZS13cmFwcGVyOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogI2RkZCBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvdHRvbTogMDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogNTAlOwogIG1hcmdpbi1sZWZ0OiAwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA0cHg7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUtd3JhcHBlcjphZnRlciB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKSBsaW5lYXItZ3JhZGllbnQoI2RkZCwgdHJhbnNwYXJlbnQpIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvdHRvbTogLTEwMHB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTAwcHg7CiAgbGVmdDogNTAlOwogIG1hcmdpbi1sZWZ0OiAwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA0cHg7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmU6OmFmdGVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgI2RkZCkgcmVwZWF0IHNjcm9sbCAwIDA7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxMDBweDsKICBsZWZ0OiA1MCU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTY1cHg7CiAgd2lkdGg6IDRweDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtLml0ZW0tcmlnaHQgewogICAgcGFkZGluZy1yaWdodDogMHB4OwogICAgcGFkZGluZy1sZWZ0OiA1MHB4OwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0uaXRlbS1yaWdodCAudGltZWxpbmUtYmxvY2s6YmVmb3JlIHsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSAjYzZkMmRiIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKTsKICAgIGxlZnQ6IC0xNnB4OwogICAgcmlnaHQ6IGF1dG87CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbS5pdGVtLXJpZ2h0IC50aW1lbGluZS1ibG9jazphZnRlciB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgI2ZmZmZmZiByZ2JhKDAsIDAsIDAsIDApIHJnYmEoMCwgMCwgMCwgMCk7CiAgICBsZWZ0OiAtMTVweDsKICAgIHJpZ2h0OiBhdXRvOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0uaXRlbS1yaWdodCAudGltZWxpbmUtcG9zdC1mb3JtYXQgewogICAgbGVmdDogLTgwcHg7CiAgICByaWdodDogYXV0bzsKICB9CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtLml0ZW0tbGVmdCB7CiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OwogICAgcGFkZGluZy1sZWZ0OiAwcHg7CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbS5pdGVtLWxlZnQgLnRpbWVsaW5lLWJsb2NrOmJlZm9yZSB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApICNjNmQyZGI7CiAgICByaWdodDogLTE2cHg7CiAgICBsZWZ0OiBhdXRvOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0uaXRlbS1sZWZ0IC50aW1lbGluZS1ibG9jazphZnRlciB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApICNmZmZmZmY7CiAgICByaWdodDogLTE1cHg7CiAgICBsZWZ0OiBhdXRvOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0uaXRlbS1sZWZ0IC50aW1lbGluZS1wb3N0LWZvcm1hdCB7CiAgICByaWdodDogLTgxcHg7CiAgICBsZWZ0OiBhdXRvOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtIHsKICAgIHdpZHRoOiAxMDAlOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIHsKICAgIHBhZGRpbmctcmlnaHQ6IDBweDsKICAgIHBhZGRpbmctbGVmdDogNzFweDsKICB9CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgybikgewogICAgcGFkZGluZy1sZWZ0OiA3MXB4OwogICAgcGFkZGluZy1yaWdodDogaW5oZXJpdDsKICB9CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgyKSB7CiAgICBtYXJnaW4tdG9wOiAwOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIC50aW1lbGluZS1wb3N0LWZvcm1hdCB7CiAgICBsZWZ0OiAtNzJweDsKICAgIHJpZ2h0OiBhdXRvOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKSAudGltZWxpbmUtcG9zdC1mb3JtYXQgewogICAgbGVmdDogLTcycHg7CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbTpudGgtY2hpbGQoMm4rMSkgLnRpbWVsaW5lLWJsb2NrOjpiZWZvcmUgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApICNjNmQyZGIgcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApOwogICAgbGVmdDogLTE2cHg7CiAgICByaWdodDogYXV0bzsKICB9CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgybisxKSAudGltZWxpbmUtYmxvY2s6OmFmdGVyIHsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSAjZmZmZmZmIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKTsKICAgIGxlZnQ6IC0xNXB4OwogICAgcmlnaHQ6IGF1dG87CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lOmFmdGVyIHsKICAgIGxlZnQ6IDI5cHg7CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lLXdyYXBwZXI6YmVmb3JlLAogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lLXdyYXBwZXI6YWZ0ZXIgewogICAgbGVmdDogNDRweDsKICB9Cn0KLyoKICogU2hvcnRjb2RlOiBXb3JraW5nLVByb2Nlc3MubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoud29ya2luZy1wcm9jZXNzID4gbGkgewogIGZsb2F0OiBsZWZ0OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoud29ya2luZy1wcm9jZXNzID4gbGk6OmFmdGVyIHsKICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzMzMzMzM7CiAgY29udGVudDogIiI7CiAgbGVmdDogNnB4OwogIG1hcmdpbi1sZWZ0OiAtMzJweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDI1cHg7CiAgd2lkdGg6IDUwJTsKfQoud29ya2luZy1wcm9jZXNzID4gbGk6OmJlZm9yZSB7CiAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMzMzMzMzOwogIGNvbnRlbnQ6ICIiOwogIG1hcmdpbi1yaWdodDogLTI1cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMjVweDsKICB3aWR0aDogNTAlOwp9Ci53b3JraW5nLXByb2Nlc3MgPiBsaSA6Zmlyc3QtY2hpbGQ6OmFmdGVyIHsKICBib3JkZXItdG9wOiBtZWRpdW0gbm9uZTsKfQoud29ya2luZy1wcm9jZXNzID4gbGkgOmxhc3QtY2hpbGQ6OmJlZm9yZSB7CiAgYm9yZGVyLXRvcDogbWVkaXVtIG5vbmU7Cn0KLndvcmtpbmctcHJvY2VzcyBsaSBhIHsKICBib3JkZXI6IDFweCBzb2xpZDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgaGVpZ2h0OiA1MHB4OwogIGxpbmUtaGVpZ2h0OiA1MHB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgd2lkdGg6IDUwcHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOwp9Ci53b3JraW5nLXByb2Nlc3MgbGkgYTpob3ZlciB7CiAgYmFja2dyb3VuZDogIzMzMzMzMyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGNvbG9yOiAjZmZmOwp9Ci53b3JraW5nLXByb2Nlc3MgbGkgYSBpIHsKICBmb250LXNpemU6IDE4cHg7Cn0KLndvcmtpbmctcHJvY2Vzcy5zcXVhcmUgbGkgYSwKLndvcmtpbmctcHJvY2Vzcy5zcXVhcmUubGFyZ2UtY2lyY2xlIGxpIGEgewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLndvcmtpbmctcHJvY2Vzcy5sYXJnZS1jaXJjbGUgbGkgYSB7CiAgaGVpZ2h0OiAxMjBweDsKICBsaW5lLWhlaWdodDogMTMwcHg7CiAgd2lkdGg6IDEyMHB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKfQoud29ya2luZy1wcm9jZXNzLmxhcmdlLWNpcmNsZSBsaSBhIGkgewogIGZvbnQtc2l6ZTogMjhweDsKfQoud29ya2luZy1wcm9jZXNzLmxhcmdlLWNpcmNsZSA+IGxpOjpiZWZvcmUgewogIG1hcmdpbi1yaWdodDogLTYwcHg7CiAgdG9wOiA2MHB4Owp9Ci53b3JraW5nLXByb2Nlc3MubGFyZ2UtY2lyY2xlID4gbGk6OmFmdGVyIHsKICBtYXJnaW4tbGVmdDogLTY0cHg7CiAgdG9wOiA2MHB4Owp9Ci53b3JraW5nLXByb2Nlc3MudGhlbWUtY29sb3JlZCBsaSBhIHsKICBjb2xvcjogI2ZmZjsKfQovKgogKiBTaG9ydGNvZGU6IHNsaWNrLXNsaWRlci5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHsKICBtYXJnaW46IDBweCAyMHB4OwogIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAwLjNzOwogIG9wYWNpdHk6IC4yOwp9Ci5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIGltZyB7CiAgd2lkdGg6IDEwMCU7Cn0KLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpiZWZvcmUsCi5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQ6YmVmb3JlIHsKICBjb2xvcjogYmxhY2s7Cn0KLnNsaWNrLXNsaWRlciAuc2xpY2stYWN0aXZlIHsKICBvcGFjaXR5OiAuNTsKfQouc2xpY2stc2xpZGVyIC5zbGljay1jdXJyZW50IHsKICBvcGFjaXR5OiAxOwp9Ci8qIHNsaWNrIHNsaWRlciB3aXRoIGNlbnRlciBmb2N1cyBtb2RlICovCi5zbGljay1zbGlkZXItY2VudGVyLW1vZGUgewogIHBhZGRpbmctdG9wOiA4MHB4OwogIHBhZGRpbmctYm90dG9tOiA4MHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1zbGlkZXIgewogIHRleHQtYWxpZ246IGNlbnRlcjsKICBwb3NpdGlvbjogc3RhdGljOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LAouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQgewogIHotaW5kZXg6IDExMTsKICB3aWR0aDogNDBweDsKICBoZWlnaHQ6IDQwcHg7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2OmJlZm9yZSwKLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0OmJlZm9yZSB7CiAgZm9udC1zaXplOiA0MHB4Owp9Ci5zbGljay1zbGlkZXItY2VudGVyLW1vZGUgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsCi5zbGljay1zbGlkZXItY2VudGVyLW1vZGUgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUgewogIG9wYWNpdHk6IC42NTsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1zbGlkZSB7CiAgbWFyZ2luOiAwcHg7CiAgb3BhY2l0eTogaW5oZXJpdDsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1saXN0IHsKICBvdmVyZmxvdzogdmlzaWJsZTsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1zbGlkZXItaW5uZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwogIG1hcmdpbi1sZWZ0OiAxNXB4OwogIG1hcmdpbi1yaWdodDogMTVweDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyLWlubmVyIC5zbGljay1zbGlkZXItb3ZlcmxheSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIHRvcDogMDsKICB6LWluZGV4OiAxMDA7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyLWlubmVyIC50aHVtYiB7CiAgZGlzcGxheTogYmxvY2s7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQ6ICMyNTI1MjU7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyLWlubmVyIC50aHVtYiBpbWcgewogIHdpZHRoOiAxMDAlOwogIGRpc3BsYXk6IGJsb2NrOwogIG9wYWNpdHk6IDAuMzsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0OwogIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1jZW50ZXIgLnNsaWNrLXNsaWRlci1pbm5lciB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgei1pbmRleDogMjsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1jZW50ZXIgLnNsaWNrLXNsaWRlci1pbm5lciAuc2xpY2stc2xpZGVyLW92ZXJsYXkgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stY2VudGVyIC5zbGljay1zbGlkZXItaW5uZXIgLnRodW1iIGltZyB7CiAgb3BhY2l0eTogMTsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsKfQovKgogKiBXaWRnZXRzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0gVG9wIFNlYXJjaCBCYXIgLS0tLS0tLS0tLSAqLwouc2VhcmNoLWZvcm0td3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC8qIGZvcm0gYWJzb2x1dGUgKi8KfQouc2VhcmNoLWZvcm0td3JhcHBlci50b2dnbGUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIudG9nZ2xlLmFjdGl2ZSB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIgZm9ybSB7CiAgcGFkZGluZzogMTBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIgZm9ybSBsYWJlbCB7CiAgbWFyZ2luOiAwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxMXB4OwogIHRvcDogMTFweDsKfQouc2VhcmNoLWZvcm0td3JhcHBlciBmb3JtIGxhYmVsOmJlZm9yZSB7CiAgY29sb3I6ICM1NTU1NTU7CiAgY3Vyc29yOiBwb2ludGVyOwogIGNvbnRlbnQ6ICJcZjAwMiI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTZweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDEzcHg7CiAgdG9wOiA2cHg7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0gewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsKICBoZWlnaHQ6IDQ2cHg7CiAgcGFkZGluZzogOHB4IDE3cHg7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dFt0eXBlPSJzdWJtaXQiXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjMGMwYzA7CiAgYm9yZGVyOiBub25lOwogIGhlaWdodDogNDRweDsKICB3aWR0aDogNTBweDsKICB0ZXh0LWluZGVudDogLTk5OXB4Owp9Ci5zZWFyY2gtZm9ybS13cmFwcGVyLmZvcm0tYWJzb2x1dGUgZm9ybSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDBweDsKICB0b3A6IDEycHg7CiAgd2lkdGg6IDM3MHB4OwogIHotaW5kZXg6IDk5Owp9Ci8qIC0tLS0tLS0tIEZvcm0gUm91bmQgLS0tLS0tLS0tLSAqLwouc2VhcmNoLWZvcm0td3JhcHBlci5yb3VuZCBmb3JtIGlucHV0W3R5cGU9InRleHQiXSB7CiAgYm9yZGVyLXJhZGl1czogMzBweDsKICBib3JkZXItd2lkdGg6IDRweDsKfQouc2VhcmNoLWZvcm0td3JhcHBlci5yb3VuZCBmb3JtIGlucHV0W3R5cGU9InN1Ym1pdCJdIHsKICBoZWlnaHQ6IGF1dG87CiAgd2lkdGg6IGF1dG87CiAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogIG1hcmdpbi10b3A6IDEwcHg7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIucm91bmQgZm9ybSBsYWJlbDo6YmVmb3JlIHsKICBjb2xvcjogI2MwYzBjMDsKfQovKiAtLS0tLS0tLSBGb290ZXIgJiBTaWRlYmFyIFdpZGdldHMgLS0tLS0tLS0tLSAqLwoud2lkZ2V0IHsKICBtYXJnaW4tYm90dG9tOiA0MHB4Owp9Ci53aWRnZXQgLndpZGdldC10aXRsZSB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAyMHB4OwogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE4cHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoud2lkZ2V0IHVsIGxpIHsKICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgcGFkZGluZy1ib3R0b206IDVweDsKfQoud2lkZ2V0IHVsLmxpc3QgbGksCi53aWRnZXQgLnBvc3QgewogIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7Cn0KLndpZGdldCAubGlzdC1ib3JkZXIgbGkgewogIG1hcmdpbi1ib3R0b206IDA7CiAgcGFkZGluZzogMTBweCAwOwp9Ci53aWRnZXQuYnJvY2h1cmVzID4gbGkgewogIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgcGFkZGluZzogMTBweDsKfQoud2lkZ2V0LmJyb2NodXJlcyBpIHsKICBjb2xvcjogIzY2NjY2NjsKICBmb250LXNpemU6IDE2cHg7CiAgbWFyZ2luLXJpZ2h0OiAxMHB4Owp9Ci53aWRnZXQuYWRkcmVzcyA+IGxpIHsKICBmb250LXNpemU6IDEzcHg7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKICBwYWRkaW5nOiA1cHggMTBweDsKfQoud2lkZ2V0LmFkZHJlc3MgPiBsaSBpIHsKICBmb250LXNpemU6IDE2cHg7CiAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoud2lkZ2V0IC50d2l0dGVyLWZlZWQgbGksCi53aWRnZXQgLnR3aXR0ZXItZmVlZC1jYXJvdXNlbCBsaSB7CiAgZm9udC1zaXplOiAxM3B4OwogIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgbWFyZ2luLXRvcDogMHB4OwogIHBhZGRpbmctbGVmdDogMzBweDsKfQoud2lkZ2V0IC50d2l0dGVyLWZlZWQgbGkuaXRlbSwKLndpZGdldCAudHdpdHRlci1mZWVkLWNhcm91c2VsIGxpLml0ZW0gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoud2lkZ2V0IC50d2l0dGVyLWZlZWQgbGk6OmFmdGVyLAoud2lkZ2V0IC50d2l0dGVyLWZlZWQtY2Fyb3VzZWwgbGk6OmFmdGVyIHsKICBjb250ZW50OiAiXGYwOTkiOwogIGZvbnQtc2l6ZTogMjRweDsKICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwp9Ci53aWRnZXQgLnN0eWxlZC1pY29ucyBsaSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQoud2lkZ2V0IC5zdHlsZWQtaWNvbnMgbGkgYSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoud2lkZ2V0IC50YWdzIGEgewogIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogMTFweDsKICBtYXJnaW46IDVweCA0cHggNXB4IC0ycHg7CiAgcGFkZGluZzogNXB4IDEwcHg7Cn0KLndpZGdldCAudGFncyBhOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKfQoud2lkZ2V0IC5zZWFyY2gtaW5wdXQgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsKICBib3JkZXItcmFkaXVzOiBpbml0aWFsOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgaGVpZ2h0OiA0NXB4OwogIHBhZGRpbmc6IDEwcHg7Cn0KLndpZGdldCAuc2VhcmNoLWJ1dHRvbiB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgaGVpZ2h0OiA0NXB4Owp9Ci53aWRnZXQgLm5hdi10YWJzIGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWJvdHRvbTogLTJweDsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQoud2lkZ2V0IC5uYXYtdGFicyBsaTpob3ZlciB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci53aWRnZXQgLnBvc3QtdGl0bGUgYSB7CiAgbGV0dGVyLXNwYWNpbmc6IDA7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogNTAwOwp9Ci53aWRnZXQgLnF1aWNrLWNvbnRhY3QtZm9ybSAuZm9ybS1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MSwgMjQxLCAyNDEsIDAuOCk7CiAgYm9yZGVyLWNvbG9yOiAjZDNkM2QzOwogIGNvbG9yOiAjYTlhOWE5Owp9Ci53aWRnZXQgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC10aXRsZSB7CiAgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiA0MDA7Cn0KLndpZGdldCAudGVzdGltb25pYWwtd2lkZ2V0LWNhcm91c2VsIC5pdGVtIGltZyB7CiAgZGlzcGxheTogaW5saW5lOwogIHdpZHRoOiBhdXRvOwogIGZsb2F0OiByaWdodDsKfQoud2lkZ2V0LmRhcmsgLndpZGdldC10aXRsZSB7CiAgY29sb3I6ICNmZmY7Cn0KLndpZGdldC5kYXJrIC50YWdzIGEgewogIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc3Nzc7Cn0KLndpZGdldC5kYXJrIC53aWRnZXQtaW1hZ2UtY2Fyb3VzZWwgLnRpdGxlIHsKICBjb2xvcjogI2ZmZjsKfQoud2lkZ2V0LmRhcmsgLnNlYXJjaC1pbnB1dCB7CiAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsKfQoud2lkZ2V0LmRhcmsgLnN0eWxlZC1pY29ucyBsaSBhOmhvdmVyIGkgewogIGNvbG9yOiAjZmZmOwp9Ci53aWRnZXQuZGFyayAuc2VhcmNoLWJ1dHRvbiB7CiAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsKfQoud2lkZ2V0LmRhcmsgLndpZGdldC1zdWJzY3JpYmUgLnN1YnNjcmliZS10aXRsZSB7CiAgY29sb3I6ICNmZmY7Cn0KLndpZGdldC5kYXJrIC53aWRnZXQtc3Vic2NyaWJlIC5zdWJzY3JpYmUtc3ViLXRpdGxlIHsKICBjb2xvcjogIzY2NjY2NjsKfQoud2lkZ2V0LmRhcmsgLm5hdi10YWJzIGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWJvdHRvbTogLTJweDsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQoud2lkZ2V0LmRhcmsgLm5hdi10YWJzIGxpOmhvdmVyIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLndpZGdldC5kYXJrIC5uYXYtdGFicyBsaTpob3ZlciBhIHsKICBib3JkZXI6IDFweCBzb2xpZCAjNTU1NTU1Owp9Ci53aWRnZXQuZGFyayAubmF2LXRhYnMgbGkuYWN0aXZlIGEgewogIC1tb3otYm9yZGVyLWJvdHRvbS1jb2xvcnM6IG5vbmU7CiAgLW1vei1ib3JkZXItbGVmdC1jb2xvcnM6IG5vbmU7CiAgLW1vei1ib3JkZXItcmlnaHQtY29sb3JzOiBub25lOwogIC1tb3otYm9yZGVyLXRvcC1jb2xvcnM6IG5vbmU7CiAgYmFja2dyb3VuZDogIzMzMzMzMyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvcmRlci1jb2xvcjogIzU1NTU1NSAjNTU1NTU1IHRyYW5zcGFyZW50OwogIGJvcmRlci1pbWFnZTogbm9uZTsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIGJvcmRlci13aWR0aDogMXB4Owp9Ci53aWRnZXQuZGFyayAucHJvZHVjdC10aXRsZSBhIHsKICBjb2xvcjogIzgwODA4MDsKfQoud2lkZ2V0LmRhcmsgLnBvc3QtdGl0bGUgYSB7CiAgY29sb3I6ICNkZGQ7Cn0KLndpZGdldC5kYXJrIC50YWItY29udGVudCB7CiAgYmFja2dyb3VuZDogIzMzMzMzMyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvcmRlcjogMXB4IHNvbGlkICM1NTU1NTU7Cn0KLndpZGdldC5kYXJrIC5xdWljay1jb250YWN0LWZvcm0gLmZvcm0tY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjMpOwogIGJvcmRlci1jb2xvcjogIzMzMzMzMzsKfQoud2lkZ2V0Lm5vLWJvcmRlciB1bCBsaSB7CiAgYm9yZGVyOiBub25lOwogIHBhZGRpbmctYm90dG9tOiAwOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLndpZGdldCB1bC5saXN0IGxpOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLndpZGdldC5kYXJrIHVsLmxpc3QgbGk6OmJlZm9yZSB7CiAgZGlzcGxheTogbm9uZTsKfQovKiAtLS0tLS0tLUhvcml6b250YWwgQ29udGFjdCBXaWRnZXQgIC0tLS0tLS0tLS0gKi8KLmhvcml6b250YWwtY29udGFjdC13aWRnZXQgewogIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2QzZDNkMzsKfQouaG9yaXpvbnRhbC1jb250YWN0LXdpZGdldCAuZWFjaC13aWRnZXQ6OmJlZm9yZSB7CiAgY29udGVudDogIlxmMTExIjsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAtNDJweDsKfQovKiAtLS0tLS0tLSBIb3Jpem9udGFsIENvbnRhY3QgV2lkZ2V0IERhcmsgLS0tLS0tLS0tLSAqLwouaG9yaXpvbnRhbC1jb250YWN0LXdpZGdldC5kYXJrIHsKICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzMzMzMzM7Cn0KLndpZGdldC5kYXJrIC5idG4uYnRuLWRlZmF1bHQgewogIGJvcmRlci1jb2xvcjogIzMzMzsKfQovKiAtLS0tLS0tLSBGbGlja3ItRmVlZCAtLS0tLS0tLS0tICovCiNmbGlja3ItZmVlZCBpbWcgewogIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgIzAwMDsKICBmbG9hdDogbGVmdDsKICBoZWlnaHQ6IDYwcHg7CiAgbWFyZ2luOiAwIDVweCA1cHggMDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiA3MHB4Owp9Ci50ZXh0LWhvdmVyLXRoZW1lLWNvbG9yZWQgewogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7Cn0KLyogQGltcG9ydCAidGVhbS5sZXNzIjsgKi8KLyoKICogbGluZS1ib3R0b20ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoubGluZS1ib3R0b20gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIHBhZGRpbmctYm90dG9tOiAxMHB4Owp9Ci5saW5lLWJvdHRvbTphZnRlciB7CiAgYm90dG9tOiAtMXB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMnB4OwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA1MHB4Owp9Ci5saW5lLWJvdHRvbS10aGVtZS1jb2xvcmVkMiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7Cn0KLmxpbmUtYm90dG9tLXRoZW1lLWNvbG9yZWQyOmFmdGVyIHsKICBib3JkZXItcmFkaXVzOiAxMHB4OwogIGJvdHRvbTogLTFweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogNTBweDsKfQoubGluZS1ib3R0b20tcm91bmRlZC10aGVtZS1jb2xvcmVkMiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1hcmdpbi1ib3R0b206IDEycHg7CiAgcGFkZGluZy1ib3R0b206IDRweDsKfQoubGluZS1ib3R0b20tcm91bmRlZC10aGVtZS1jb2xvcmVkMjphZnRlciB7CiAgYm9yZGVyLXJhZGl1czogMTVweDsKICBib3R0b206IC0xcHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiA0cHg7CiAgYm9yZGVyLXJhZGl1czogNnB4OwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA0MnB4Owp9Ci5kb3VibGUtbGluZS1ib3R0b20tdGhlbWUtY29sb3JlZDIgewogIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgbWFyZ2luLXRvcDogOHB4OwogIHBhZGRpbmctYm90dG9tOiA1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5kb3VibGUtbGluZS1ib3R0b20tdGhlbWUtY29sb3JlZDI6YWZ0ZXIgewogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3R0b206IDFweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogNjRweDsKfQouZG91YmxlLWxpbmUtYm90dG9tLXRoZW1lLWNvbG9yZWQyOmJlZm9yZSB7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGJvdHRvbTogLTFweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDZweDsKICBsZWZ0OiAxMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMjRweDsKfQouZGlhbW9uZC1saW5lLWNlbnRlcmVkLXRoZW1lLWNvbG9yZWQyIHsKICBtYXJnaW4tYm90dG9tOiAyNXB4OwogIG1hcmdpbi10b3A6IDI1cHg7CiAgcGFkZGluZy1ib3R0b206IDVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRpYW1vbmQtbGluZS1jZW50ZXJlZC10aGVtZS1jb2xvcmVkMjphZnRlciB7CiAgYm90dG9tOiAwOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogM3B4OwogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHdpZHRoOiA5MHB4Owp9Ci5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDI6YmVmb3JlIHsKICBib3JkZXI6IDNweCBzb2xpZCAjZmZmOwogIGJvdHRvbTogLTVweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE0cHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDE0cHg7CiAgei1pbmRleDogMzsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7Cn0KLmRpYW1vbmQtbGluZS1jZW50ZXJlZC10aGVtZS13aGl0ZSB7CiAgbWFyZ2luLWJvdHRvbTogMjVweDsKICBtYXJnaW4tdG9wOiAyNXB4OwogIHBhZGRpbmctYm90dG9tOiA1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtd2hpdGU6YWZ0ZXIgewogIGJvdHRvbTogMDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDNweDsKICBsZWZ0OiAwOwogIG1hcmdpbjogMCBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB3aWR0aDogOTBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtd2hpdGU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7CiAgYm90dG9tOiAtNXB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTRweDsKICBsZWZ0OiAwOwogIG1hcmdpbjogMCBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB3aWR0aDogMTRweDsKICB6LWluZGV4OiAzOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKfQouZGlhbW9uZC1saW5lLWxlZnQtdGhlbWUtY29sb3JlZDIgewogIG1hcmdpbi1ib3R0b206IDI1cHg7CiAgbWFyZ2luLXRvcDogMjVweDsKICBwYWRkaW5nLWJvdHRvbTogNXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouZGlhbW9uZC1saW5lLWxlZnQtdGhlbWUtY29sb3JlZDI6YWZ0ZXIgewogIGJvdHRvbTogMDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDNweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB3aWR0aDogOTBweDsKfQouZGlhbW9uZC1saW5lLWxlZnQtdGhlbWUtY29sb3JlZDI6YmVmb3JlIHsKICBib3JkZXI6IDNweCBzb2xpZCAjZmZmOwogIGJvdHRvbTogLTVweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE0cHg7CiAgbGVmdDogMTVweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDE0cHg7CiAgei1pbmRleDogMzsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7Cn0KLmxpbmUtYm90dG9tLWNlbnRlcmVkIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAxMHB4IDAgMzVweDsKfQoubGluZS1ib3R0b20tY2VudGVyZWQ6YWZ0ZXIgewogIGJvdHRvbTogLTEzcHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAzcHg7CiAgbGVmdDogMDsKICBtYXJnaW4tbGVmdDogYXV0bzsKICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgbWFyZ2luLXRvcDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDQwcHg7Cn0KLmxpbmUtYm90dG9tLWRvdWJsZS1saW5lLWNlbnRlcmVkIHsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIHBhZGRpbmctYm90dG9tOiAxNXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubGluZS1ib3R0b20tZG91YmxlLWxpbmUtY2VudGVyZWQ6OmJlZm9yZSB7CiAgYm90dG9tOiAzcHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxcHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDIwcHg7Cn0KLmxpbmUtYm90dG9tLWRvdWJsZS1saW5lLWNlbnRlcmVkOjphZnRlciB7CiAgYm90dG9tOiA3cHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxcHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDQ1cHg7Cn0KLyoKICogdGVhbS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi50ZWFtLW1lbWJlciB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nLWJvdHRvbTogMzVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnRlYW0tbWVtYmVyIC50ZWFtLWluZm8gewogIGJvdHRvbTogLTE4cHg7CiAgbGVmdDogMDsKICBwYWRkaW5nOiAxNXB4OwogIG1hcmdpbjogMTVweCAzMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB6LWluZGV4OiAxOwp9Ci50ZWFtLW1lbWJlcjpob3ZlciAudGVhbS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMsIDMsIDMsIDAuOTUpOwp9Ci50ZWFtLW1lbWJlciAudGVhbS1pbmZvIC5hdXRob3IgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnRlYW0tbWVtYmVyIC50ZWFtLWluZm8gLnN0eWxlZC1pY29ucyB7CiAgbGVmdDogMDsKICBtYXJnaW46IDA7CiAgb3BhY2l0eTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB0b3A6IC0yMHB4Owp9Ci50ZWFtLW1lbWJlcjpob3ZlciAudGVhbS1pbmZvIC5zdHlsZWQtaWNvbnMgewogIG9wYWNpdHk6IDE7CiAgdG9wOiAtODBweDsKfQoudGVhbS1tZW1iZXIgLnRlYW0tdGh1bWIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGVhbS1tZW1iZXIgLnRlYW0tdGh1bWIgLm92ZXJsYXkgewogIGJvdHRvbTogMDsKICBsZWZ0OiAwOwogIG9wYWNpdHk6IDA7CiAgcGFkZGluZzogMzBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdG9wOiAtMTAwJTsKfQoudGVhbS1tZW1iZXIgLnRlYW0tdGh1bWIgLm92ZXJsYXkgLmNvbnRlbnQgewogIGxlZnQ6IDA7CiAgcGFkZGluZzogNDBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAyNSU7Cn0KLnRlYW0tbWVtYmVyOmhvdmVyIC50ZWFtLXRodW1iIC5vdmVybGF5IHsKICBvcGFjaXR5OiAxOwogIHRvcDogMDsKfQovKgogKiB0ZXN0aW1vbmlhbHMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudGVzdGltb25pYWwgLmNvbW1lbnQ6OmFmdGVyIHsKICB0b3A6IC0xMHB4OwogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogNDhweDsKICBvcGFjaXR5OiAwLjI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDA7Cn0KLm93bC1jYXJvdXNlbC5vd2wtbmF2LWJvdHRvbSAub3dsLW5hdiB7CiAgYm90dG9tOiAtNDVweDsKICBsZWZ0OiAzMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoub3dsLWNhcm91c2VsLm93bC1uYXYtYm90dG9tIC5vd2wtbmF2IC5vd2wtcHJldiB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDZweCAxOHB4ICFpbXBvcnRhbnQ7CiAgbGVmdDogLTMwcHg7Cn0KLm93bC1jYXJvdXNlbC5vd2wtbmF2LWJvdHRvbSAub3dsLW5hdiAub3dsLW5leHQgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgIWltcG9ydGFudDsKICBwYWRkaW5nOiA2cHggMThweCAhaW1wb3J0YW50OwogIGxlZnQ6IDI2cHg7Cn0KLyogLS0tLS0tLS0gVGVzdGltb25pYWwtU3R5bGUyIC0tLS0tLS0tLS0gKi8KLnRlc3RpbW9uaWFsLnN0eWxlMiB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50ZXN0aW1vbmlhbC5zdHlsZTIgLnRodW1iIGltZyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiA3NXB4Owp9Ci8qIC0tLS0tLS0tIFRlc3RpbW9uaWFsLVN0eWxlMSAtLS0tLS0tLS0tICovCi50ZXN0aW1vbmlhbC5zdHlsZTEgLml0ZW0gewogIGJvcmRlcjogbm9uZTsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5pdGVtOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAucXVvdGUsCi50ZXN0aW1vbmlhbC5zdHlsZTEgLnRodW1iIHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9Ci50ZXN0aW1vbmlhbC5zdHlsZTEgLmF1dGhvciB7CiAgbWFyZ2luLWJvdHRvbTogNXB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAudGl0bGUgewogIGNvbG9yOiAjYzBjMGMwOwogIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAuY29tbWVudCB7CiAgcGFkZGluZzogMzVweCAyNXB4Owp9Ci50ZXN0aW1vbmlhbC5zdHlsZTEgLmNvbW1lbnQgcCB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBtYXJnaW4tbGVmdDogMzBweDsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5jb21tZW50IHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGNvbG9yOiAjNzc3Nzc3OwogIGJvcmRlcjogM3B4IHNvbGlkIHdoaXRlOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpOwogIG1hcmdpbjogMXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5jb21tZW50OjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMzBweDsKICBsZWZ0OiAyMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDdweDsKICBvcGFjaXR5OiAwLjg7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAuY29tbWVudDo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIHdpZHRoOiAxNHB4OwogIGhlaWdodDogMTRweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMzBweDsKICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy90ZXN0aW1vbmlhbHMvcXVvdGVfYXJyb3cucG5nJykgMHB4IDBweCBuby1yZXBlYXQ7CiAgdG9wOiA5NyU7Cn0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLnRlc3RpbW9uaWFsIGltZyB7CiAgZGlzcGxheTogaW5saW5lOwogIHdpZHRoOiBhdXRvOwp9Ci50ZXN0aW1vbmlhbCAuc2lnbmF0dXJlIHsKICB3aWR0aDogNjBweDsKfQoudGVzdGltb25pYWwtY29udGVudDo6YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogNjFweDsKICByaWdodDogNTBweDsKICBvcGFjaXR5OiAwLjE7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogLTMycHg7Cn0KLnRlc3RpbW9uaWFsLWNvbnRlbnQgewogIG1hcmdpbi10b3A6IDBweDsKICBtYXJnaW4tbGVmdDogMTQwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci8qCiAqIFNob3J0Y29kZTogcHJpY2luZy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5wcmljaW5nLXRhYmxlIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wcmljaW5nLXRhYmxlIC50YWJsZS1wcmljZSB7CiAgY29sb3I6ICMxMTExMTE7CiAgZm9udC1zaXplOiA0NXB4Owp9Ci5wcmljaW5nLXRhYmxlIC50YWJsZS1wcmljZSBzcGFuIHsKICBmb250LXNpemU6IDEzcHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoucHJpY2luZy10YWJsZS5mZWF0dXJlZCB7CiAgYm9yZGVyOiAxcHggc29saWQgIzExMTExMTsKfQoucHJpY2luZy10YWJsZSAudGFibGUtdHlwZSB7CiAgZGlzcGxheTogaW5saW5lOwp9Ci5wcmljaW5nLXRhYmxlIC5idG4tc2lnbnVwIHsKICBtYXJnaW4tcmlnaHQ6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLnByaWNpbmctdGFibGUgLnRhYmxlLWxpc3QgewogIGxpc3Qtc3R5bGU6IG91dHNpZGUgbm9uZSBub25lOwogIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7Cn0KLnByaWNpbmctdGFibGUgLnRhYmxlLWxpc3QgbGkgewogIGJvcmRlci1ib3R0b206IDA7CiAgZm9udC1zaXplOiAxM3B4OwogIHBhZGRpbmc6IDEwcHggMDsKfQoucHJpY2luZy10YWJsZSAudGFibGUtbGlzdCBsaSBpIHsKICBtYXJnaW4tcmlnaHQ6IDhweDsKfQoucHJpY2luZy10YWJsZSAucGFja2FnZS10eXBlIHNwYW4gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7Cn0KLnByaWNpbmctdGFibGUgLnBhY2thZ2UtdHlwZSBzcGFuOjphZnRlciB7CiAgYmFja2dyb3VuZDogIzJkOTE1YjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDIwcHg7CiAgbGVmdDogLTIwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTFweDsKICB3aWR0aDogMjBweDsKfQoucHJpY2luZy10YWJsZSAucHJpY2UtbGlzdCBsaTo6YmVmb3JlIHsKICBsZWZ0OiAxOHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDExcHg7Cn0KLnByaWNpbmctdGFibGUgLnByaWNlLWxpc3QgbGkgewogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlOwogIHBhZGRpbmc6IDEwcHggNDVweDsKfQoucHJpY2luZy10YWJsZSAucHJpY2UtbGlzdCBsaTpmaXJzdC1jaGlsZCB7CiAgbWFyZ2luLXRvcDogMDsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgewogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wcmljaW5nLXRhYmxlLnN0eWxlMiAudGFibGUtcHJpY2UgewogIGNvbG9yOiAjMTExMTExOwogIGZvbnQtc2l6ZTogNDVweDsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnRhYmxlLXByaWNlIHNwYW4gewogIGZvbnQtc2l6ZTogMTNweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5wcmljaW5nLXRhYmxlLnN0eWxlMi5mZWF0dXJlZCB7CiAgYm9yZGVyOiAxcHggc29saWQgIzExMTExMTsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnRhYmxlLXR5cGUgewogIGRpc3BsYXk6IGlubGluZTsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLmJ0bi1zaWdudXAgewogIG1hcmdpbi1yaWdodDogMDsKICB3aWR0aDogMTAwJTsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnRhYmxlLWxpc3QgewogIGxpc3Qtc3R5bGU6IG91dHNpZGUgbm9uZSBub25lOwogIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7Cn0KLnByaWNpbmctdGFibGUuc3R5bGUyIC50YWJsZS1saXN0IGxpIHsKICBib3JkZXItYm90dG9tOiAwOwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgcGFkZGluZzogMTBweCAwOwp9Ci5wcmljaW5nLXRhYmxlLnN0eWxlMiAudGFibGUtbGlzdCBsaSBpIHsKICBtYXJnaW4tcmlnaHQ6IDhweDsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnRhYmxlLWxpc3QgbGk6bnRoLWNoaWxkKDJuKzEpIHsKICBiYWNrZ3JvdW5kOiAjZjhmOGY4IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7Cn0KLnByaWNpbmctdGFibGUuc3R5bGUyIC5wYWNrYWdlLXR5cGUgc3BhbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctbGVmdDogMTVweDsKICBtYXJnaW4tbGVmdDogMTBweDsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnBhY2thZ2UtdHlwZSBzcGFuOjphZnRlciB7CiAgYmFja2dyb3VuZDogIzJkOTE1YjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDIwcHg7CiAgbGVmdDogLTIwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTFweDsKICB3aWR0aDogMjBweDsKfQoucGFja2FnZS1pY29uIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDYwcHg7CiAgb3BhY2l0eTogMC4xNTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDE1cHg7CiAgdG9wOiAtOHB4Owp9Ci5wcmljZSAuY3VycmVuY3kgewogIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsKfQouZC1uYW1lIHsKICBkaXNwbGF5OiBibG9jazsKICBsaW5lLWhlaWdodDogMTVweDsKfQoucHJpY2luZy1yaWJib24gaDUgewogIGNvbG9yOiAjZmZmOwogIGxlZnQ6IC02MHB4OwogIGxpbmUtaGVpZ2h0OiA0MHB4OwogIG1hcmdpbjogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICB0b3A6IDE1cHg7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICB3aWR0aDogMTkwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBQcm9qZWN0Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnByb2plY3QtYmxvY2sgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5wcm9qZWN0LWRldGFpbHMgewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB0cmFuc2Zvcm06IHNjYWxlKDAuNSkgcm90YXRlWSgxODBkZWcpOwogIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2UgMHM7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwp9Ci5wcm9qZWN0LWJsb2NrOmhvdmVyIC5wcm9qZWN0LWRldGFpbHMgewogIG9wYWNpdHk6IDY7CiAgcGFkZGluZy10b3A6IDExMHB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGVZKDBkZWcpOwogIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGVZKDBkZWcpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZVkoMGRlZyk7CiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGVZKDBkZWcpOwogIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlWSgwZGVnKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5jcnlwdG9uYXRvcndpZGdldCB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50Owp9Ci5jcnlwdG9uYXRvcndpZGdldCBpbnB1dCwKLmNyeXB0b25hdG9yd2lkZ2V0IHNlbGVjdCB7CiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDsKICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgYm9yZGVyLXJhZGl1czogMTZweDsKfQpAbWVkaWEgKG1heC13aWR0aDogNDk5cHgpIHsKICAuY3J5cHRvbmF0b3J3aWRnZXQgaW5wdXQsCiAgLmNyeXB0b25hdG9yd2lkZ2V0IHNlbGVjdCB7CiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgfQp9Ci5jcnlwdG9uYXRvcndpZGdldCBzZWxlY3QgewogIHBhZGRpbmctcmlnaHQ6IDQwcHg7Cn0KLmNyeXB0b25hdG9yd2lkZ2V0IC5zZWxlY3QtZ3JvdXAgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KLmNyeXB0b25hdG9yd2lkZ2V0ID4gZGl2Omxhc3QtY2hpbGQgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRkIHsKICBwYWRkaW5nOiA1cHg7Cn0KLyoKICogZm9vdGVyLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmZvb3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MTUxNTsKfQouZm9vdGVyIGEgewogIGNvbG9yOiAjODA4MDgwOwp9Ci5mb290ZXIgYTpmb2N1cywKLmZvb3RlciBhOmhvdmVyLAouZm9vdGVyIGE6YWN0aXZlIHsKICBjb2xvcjogIzY2NjY2NjsKfQouZm9vdGVyIC53aWRnZXQgLndpZGdldC10aXRsZSB7CiAgbWFyZ2luLXRvcDogMHB4Owp9Ci5mb290ZXIgLndpZGdldC5kYXJrIC5xdWljay1jb250YWN0LWZvcm0gYnV0dG9uIHsKICBib3JkZXItY29sb3I6ICMzMzMzMzM7CiAgY29sb3I6ICM5MDkwOTA7Cn0KLmZvb3RlciAud2lkZ2V0LmRhcmsgLnF1aWNrLWNvbnRhY3QtZm9ybSBidXR0b246aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwogIGNvbG9yOiAjMzMzMzMzOwp9Ci5mb290ZXIgLmZvb3Rlci1ib3R0b20gewogIGJhY2tncm91bmQtY29sb3I6ICMxMjEyMTI7Cn0KLyogZml4ZWQgZm9vdGVyICovCmZvb3RlciNmb290ZXIuZml4ZWQtZm9vdGVyIHsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogZml4ZWQ7CiAgcmlnaHQ6IDA7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIGZvb3RlciNmb290ZXIuZml4ZWQtZm9vdGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9Cn0KYm9keS5oYXMtZml4ZWQtZm9vdGVyIC5tYWluLWNvbnRlbnQgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICBib2R5Lmhhcy1maXhlZC1mb290ZXIgLm1haW4tY29udGVudCB7CiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQp9Cg=="}},"time_used":240,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":190,"receive":50,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/1jE4zHXbNUM","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.814Z","timestamp":1785123385814,"http_version":"HTTP/2","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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /embed/1jE4zHXbNUM HTTP/1.1\r\nHost: www.youtube.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\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\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/2 200 \r\ncontent-type: text/html; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, require-trusted-types-for 'script', base-uri 'self';object-src 'none';script-src 'nonce-j5VQyh28ZCeySw_SGiMZMA' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nstrict-transport-security: max-age=31536000\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\ncross-origin-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\ncross-origin-resource-policy: cross-origin\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=ACUFOM3MDkNlMvNE5tDAPRZqHyc8HUq6iYvUgEF1js7uVm3Y31bhiIf3sVy4Hyrvgc1OCcHOSp3vsPk12xuHnAhC1Cf-xEwH-8JAvj7gSksWox0nkC6On-8HrUpiNpbDsON7P2d2WEPcvLJM09w4iFsjyc_8T-qrQ0o1v2sJWKWT_Z3Uow-3_y6UiAY8Vbe7BIDaKFErBOC2kWOBSpXwq3nYab8hNVEUPvsfWuKC-MRJZnr7wGh8LavkHs5oAOt2osUNkzgjw-nnLgGDpE17OFrXWJtGeCijcF2DuDXuyJlEZANCnD74xKNqRr8pDJRMH9psiz0sP7MpCDXOwn8F6w; expires=Sat, 23-Jan-2027 03:36:25 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=b0pYTBtcjuk; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CJ3oqsnxxYqOfxD6qa3q9vGVAxj6qa3q9vGVAw%3D%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 03:36:25 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 03:36:25 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=l_LgHcz9JSg; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 03:36:25 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaA%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 03:36:25 GMT; Path=/; Secure; HttpOnly; SameSite=none\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\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":144204,"size_decoded":60419,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52128)","md5":"9dca93d1606eef326ced0e4abdfee937","sha1":"ac95a92fa28b28b2bae413b7adb973add00a6d33","sha256":"2fada62c86844157e0633e6f59ae50f4e823ed50cd29bb14db06f6827be7a166","sha512":"945165ccf4b060eeffdb8a11cdb6485f1f499af527fa0c8eb60543607ebca04575ee98a5c1a2ad60cef21aa24225c205d2e9ec660edaf386d77e0214f6c4c681","ssdeep":"3072:dZerp4YoJtIGa0Ewg0ho+IMBbgvrtKJlkk:feuYoJGGdoMBbg0lkk","tlshash":"a6e30a254868a872c5a39407eebaff3e9ce8023947c9956dbcbbd75c01dc6520e9f413","first_seen":"2026-07-27T03:37:09.869602Z","last_seen":"2026-07-27T03:37:09.869602Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0iajVWUXloMjhaQ2V5U3dfU0dpTVpNQSI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSIzek1ONVVyS0hya2xUVy1BSkxIZ2hRIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0iajVWUXloMjhaQ2V5U3dfU0dpTVpNQSI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9IjN6TU41VXJLSHJrbFRXLUFKTEhnaFEiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MS9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEvbT1yb290LGJhc2UiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0iM3pNTjVVcktIcmtsVFctQUpMSGdoUSI+PHN0eWxlIG5vbmNlPSIzek1ONVVyS0hya2xUVy1BSkxIZ2hRIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0iajVWUXloMjhaQ2V5U3dfU0dpTVpNQSI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJqNVZReWgyOFpDZXlTd19TR2lNWk1BIj52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiJPZEptYXRhZE5MWG9xN1lQM2Z5R3dBVSIsIkVYUEVSSU1FTlRfRkxBR1MiOnsiYWJfZGV0X2FwbSI6dHJ1ZSwiYWJfZGV0X2VsX2giOnRydWUsImFiX2ZrX3NrX2NsIjp0cnVlLCJhY3Rpb25fY29tcGFuaW9uX2NlbnRlcl9hbGlnbl9kZXNjcmlwdGlvbiI6dHJ1ZSwiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyI6dHJ1ZSwiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJhdHRfd2ViX3JlY29yZF9tZXRyaWNzIjp0cnVlLCJhdHRtdXNpIjp0cnVlLCJjM19lbmFibGVfYnV0dG9uX2ltcHJlc3Npb25fbG9nZ2luZyI6dHJ1ZSwiYzNfd2F0Y2hfcGFnZV9jb21wb25lbnQiOnRydWUsImNhbmNlbF9wZW5kaW5nX25hdnMiOnRydWUsImNsaWVudF91aV9lbmFibGVfbXVsdGlfdHJhY2tfYXVkaW9fb25fd2ViX2VtYmVkZGVkX3BsYXllciI6dHJ1ZSwiY29uZmlnX2FnZV9yZXBvcnRfa2lsbHN3aXRjaCI6dHJ1ZSwiY293X29wdGltaXplX2lkb21fY29tcGF0Ijp0cnVlLCJjc2lfb25fZ2VsIjp0cnVlLCJkZWR1cHBpbmdfc2VydmVyX3ZlIjp0cnVlLCJkZWxoaV9td2ViX2NvbG9yZnVsX3NkIjp0cnVlLCJkZWxoaV9td2ViX2NvbG9yZnVsX3NkX3YyIjp0cnVlLCJkZXByZWNhdGVfcGFpcl9zZXJ2bGV0X2VuYWJsZWQiOnRydWUsImRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvbiI6dHJ1ZSwiZGlzYWJsZV9jaGlsZF9ub2RlX2F1dG9fZm9ybWF0dGVkX3N0cmluZ3MiOnRydWUsImRpc2FibGVfbG9nX3RvX3Zpc2l0b3JfbGF5ZXIiOnRydWUsImRpc2FibGVfbWluaV9hcHBfY29udGFpbmVyX3dlYl92aWV3X2luc2V0cyI6dHJ1ZSwiZGlzYWJsZV9wYWNmX2xvZ2dpbmdfZm9yX21lbW9yeV9saW1pdGVkX3R2Ijp0cnVlLCJlbWJlZHNfZGVza3RvZmZfbm9ubW9iaWxlX2VsaWdpYmxlIjp0cnVlLCJlbWJlZHNfZGVza3RvZmZfbm9ubW9iaWxlX2VuYWJsZWQiOnRydWUsImVtYmVkc19kZXNrdG9mZl9zYXZlX3VzZXJfdm9sdW1lIjp0cnVlLCJlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlciI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9jaGFubmVsX3N1YnNjcmliZV9kZXByZWNhdGlvbiI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9kZWxheV9jb250cm9sc19oaWRlIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2VpZF9lbmZvcmNlbWVudF9mb3JfeW91dHViZSI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIjp0cnVlLCJlbWJlZHNfbXV0ZWRfYXV0b3BsYXlfc291bmRfZml4Ijp0cnVlLCJlbWJlZHNfc2VydmVfZXM2X2NsaWVudCI6dHJ1ZSwiZW1iZWRzX3dlYl91cGRhdGVkX3Nob3J0c19kZWZpbml0aW9uX2ZpeCI6dHJ1ZSwiZW5hYmxlX2ExMXlfZm9jdXNfZml4X2Zvcl9tYWNfcGFuZWxfb25fZGVza3RvcCI6dHJ1ZSwiZW5hYmxlX2FjY2Vzc19jb2RlX3NlcnZpY2VfcnBjIjp0cnVlLCJlbmFibGVfYWN0aXZlX3ZpZXdfZGlzcGxheV9hZF9yZW5kZXJlcl93ZWJfaG9tZSI6dHJ1ZSwiZW5hYmxlX2FpX3NlYXJjaF9pbm5lcnR1YmVfbTBfZml4ZXMiOnRydWUsImVuYWJsZV9hbmRyb2lkX3dlYl92aWV3X3RvcF9pbnNldHNfYnVnZml4Ijp0cnVlLCJlbmFibGVfYXR0ZW50aW9uX2xvZ2dpbmdfbWVhc3VyZV9vbl9zaG93biI6dHJ1ZSwiZW5hYmxlX2F1X3UxNl92ZXJpZnlfYWdlX3BhZ2UiOnRydWUsImVuYWJsZV9hdXRvbW90aXZlX2Zvcm1fZmFjdG9yX2NoZWNrIjp0cnVlLCJlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nIjp0cnVlLCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIjp0cnVlLCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiOnRydWUsImVuYWJsZV9jbG91ZF9zYXZlX2Vycm9yX3BvcHVwX2FmdGVyX3JldHJ5Ijp0cnVlLCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIjp0cnVlLCJlbmFibGVfZGFpX3NkZl9oNV9wcmVyb2xsIjp0cnVlLCJlbmFibGVfZGF0YXN5bmNfaWRfaGVhZGVyX2luX3dlYl92c3NfcGluZ3MiOnRydWUsImVuYWJsZV9kZWZhdWx0X21vbm9fY3RhX21pZ3JhdGlvbl93ZWJfY2xpZW50Ijp0cnVlLCJlbmFibGVfZG9ja2VkX2NoYXRfbWVzc2FnZXMiOnRydWUsImVuYWJsZV9kcm9wX3NoYWRvd19leHBlcmltZW50Ijp0cnVlLCJlbmFibGVfZW1iZWRzX25ld19jYXB0aW9uX2xhbmd1YWdlX3BpY2tlciI6dHJ1ZSwiZW5hYmxlX2VuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfaDUiOnRydWUsImVuYWJsZV9lbnRpdHlfc3RvcmVfZnJvbV9kZXBlbmRlbmN5X2luamVjdGlvbiI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoIjp0cnVlLCJlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkYyI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNiIjp0cnVlLCJlbmFibGVfaXNfZXh0ZW5kZWRfbW9uaXRvcmluZyI6dHJ1ZSwiZW5hYmxlX2xvZ2dpbmdfZmlyc3RfdXNlcl9hY3Rpb25fYWZ0ZXJfZ2FtZV9yZWFkeSI6dHJ1ZSwiZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX20wX2xvZ2dpbmdfZml4ZXMiOnRydWUsImVuYWJsZV9tZW51X3JlbmRlcmVyX2J1dHRvbl9pbl9td2ViX2hjbHIiOnRydWUsImVuYWJsZV9taW5pX2FwcF9jb21tYW5kX2hhbmRsZXJfbXdlYl9maXgiOnRydWUsImVuYWJsZV9taW5pX2d1aWRlX2Rvd25sb2Fkc19pdGVtIjp0cnVlLCJlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXIiOnRydWUsImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyI6dHJ1ZSwiZW5hYmxlX25hbWVzX2hhbmRsZXNfYWNjb3VudF9zd2l0Y2hlciI6dHJ1ZSwiZW5hYmxlX25hdGl2ZV9icmlkZ2Vfdmlld19zYXZlZF9wbGF5YWJsZXMiOnRydWUsImVuYWJsZV9uZXR3b3JrX3JlcXVlc3RfbG9nZ2luZ19vbl9nYW1lX2V2ZW50cyI6dHJ1ZSwiZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50Ijp0cnVlLCJlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX29wZW5feXRfY29udGVudCI6dHJ1ZSwiZW5hYmxlX29yaWdpbl9xdWVyeV9wYXJhbWV0ZXJfYnVnZml4Ijp0cnVlLCJlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNSI6dHJ1ZSwiZW5hYmxlX3BheW1lbnRzX3B1cmNoYXNlX21hbmFnZXIiOnRydWUsImVuYWJsZV9wZHBfaWNvbl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX3BsYWNlX3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2NvbnRhaW5lcl9zYXZlX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2VudGl0eV9zYXZlX21lbnVfaXRlbSI6dHJ1ZSwiZW5hYmxlX3B0Y19ob21lX2xvY2F0aW9uX29uX3dlYiI6dHJ1ZSwiZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dCI6dHJ1ZSwiZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvbiI6dHJ1ZSwiZW5hYmxlX3NkZl9jb21wYW5pb25faDUiOnRydWUsImVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsIjp0cnVlLCJlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1Ijp0cnVlLCJlbmFibGVfc2VuZGluZ191bndyYXBwZWRfZ2FtZV9hdWRpb19hc19zZXJpYWxpemVkX21ldGFkYXRhIjp0cnVlLCJlbmFibGVfc2V0X3ZpZGVvX2lkX2luX3Nob3J0c19sb2NrdXBfdmlld19tb2RlbCI6dHJ1ZSwiZW5hYmxlX3Nmdl9lZmZlY3RfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfc2hvcnRzX25ld19jYXJvdXNlbCI6dHJ1ZSwiZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZCI6dHJ1ZSwiZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWkiOnRydWUsImVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmUiOnRydWUsImVuYWJsZV90aW1lX291dF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX3RpbWVsaW5lX3ZpZXdfbW9kZXJuX3RyYW5zY3JpcHRfZmUiOnRydWUsImVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyI6dHJ1ZSwiZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrIjp0cnVlLCJlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFjayI6dHJ1ZSwiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIjp0cnVlLCJlbmFibGVfd2luZG93X2NvbnN0cmFpbmVkX2J1eV9mbG93X2RpYWxvZyI6dHJ1ZSwiZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zIjp0cnVlLCJlbmFibGVfeXBjX3NwaW5uZXJzIjp0cnVlLCJlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlciI6dHJ1ZSwiZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnMiOnRydWUsImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyI6dHJ1ZSwiZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzciI6dHJ1ZSwiZml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViIjp0cnVlLCJoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWQiOnRydWUsImhpZGVfY2hhbm5lbF9jcmVhdGlvbl90aXRsZV9mb3JfbXdlYiI6dHJ1ZSwiaGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNSI6dHJ1ZSwiaHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YSI6dHJ1ZSwiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiOnRydWUsImlkYl9pbW1lZGlhdGVfY29tbWl0Ijp0cnVlLCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiOnRydWUsImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCI6dHJ1ZSwiaXNfYnJvd3Nlcl9zdXBwb3J0X2Zvcl93ZWJjYW1fc3RyZWFtaW5nIjp0cnVlLCJqc29uX2NvbmRlbnNlZF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2ZpbHRlcl91bmtub3duX3NvdXJjZSI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdHJpbV9wbGF5ZXJfYmVoYXZpb3IiOnRydWUsImtldmxhcl93YXRjaF9jaW5lbWF0aWNzIjp0cnVlLCJsaW1pdF95dGNzaV9kZWJ1Z19hcnJheV9zaXplIjp0cnVlLCJsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIjp0cnVlLCJtYXdfZW5hYmxlX25ldHdvcmtfbWFjaGluZSI6dHJ1ZSwibWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWkiOnRydWUsIm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHQiOnRydWUsIm1lZGl1bV9wcm9ncmVzc19iYXJfbW9kaWZpY2F0aW9uIjp0cnVlLCJtb2JpbGVfYWNjb3VudF9tZW51X3JlZnJlc2giOnRydWUsIm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwIjp0cnVlLCJtd2ViX2FsbG93X21vZGVybl9zZWFyY2hfc3VnZ2VzdF9iZWhhdmlvciI6dHJ1ZSwibXdlYl9hbmltYXRlZF9hY3Rpb25zIjp0cnVlLCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uX2RpcmVjdF90b19hcHAiOnRydWUsIm13ZWJfYmFkZ2Vfc2hhcGVfZGVmcmFnIjp0cnVlLCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiOnRydWUsIm13ZWJfYzNfYXBwX3Byb21vX2VuYWJsZV9yZWZlcnJpbmdfYXBwIjp0cnVlLCJtd2ViX2MzX2VuYWJsZV9hZGFwdGl2ZV9zaWduYWxzIjp0cnVlLCJtd2ViX2MzX2xpYnJhcnlfcGFnZV9lbmFibGVfcmVjZW50X3NoZWxmIjp0cnVlLCJtd2ViX2MzX21lbnVfc2lnbmFsc19yZW5kZXIiOnRydWUsIm13ZWJfYzNfcmVtb3ZlX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X2RhdGEiOnRydWUsIm13ZWJfYzNfdG9hc3RfdXNlX3dpel9yZWFjdGl2ZV9yZW5kZXIiOnRydWUsIm13ZWJfYzNfdXNlX2Nhbm9uaWNhbF9mcm9tX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl9jYXJ2ZV9vdXRfaW9zX2FwcF9zdG9yZV9yZWRpcmVjdCI6dHJ1ZSwibXdlYl9jYXJ2ZV9vdXRfdGVybXNfcGFnZXMiOnRydWUsIm13ZWJfY2luZW1hdGljX3dhdGNoIjp0cnVlLCJtd2ViX2NvbW1hbmRfaGFuZGxlciI6dHJ1ZSwibXdlYl9kZWJ1Z19zdGlja3lfc2V0dGluZ3MiOnRydWUsIm13ZWJfZGVsYXlfd2F0Y2hfaW5pdGlhbF9kYXRhIjp0cnVlLCJtd2ViX2Rpc2FibGVfc2VhcmNoYmFyX3Njcm9sbCI6dHJ1ZSwibXdlYl9lbmFibGVfY2xpY2tfdG9fcGxheV9wYXVzZSI6dHJ1ZSwibXdlYl9lbmFibGVfY29sb3JmdWxfYWlfc3VtbWFyeSI6dHJ1ZSwibXdlYl9lbmFibGVfZHluYW1pY19kb3VibGVfdGFwX3RvX2xpa2UiOnRydWUsIm13ZWJfZW5hYmxlX2ZpbmVfc2NydWJiaW5nX2Zvcl9yZWNzIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl9mdWxsc2NyZWVuIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl9wcm9ncmVzc19iYXIiOnRydWUsIm13ZWJfZW5hYmxlX2tldG9fYmF0Y2hfcGxheWVyX3Rvb2x0aXBzIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2NvbnRlbnQiOnRydWUsIm13ZWJfZW5hYmxlX2xvY2t1cF92aWV3X21vZGVsX2Zvcl91Y3AiOnRydWUsIm13ZWJfZW5hYmxlX21peF9wYW5lbF90aXRsZV9tZXRhZGF0YSI6dHJ1ZSwibXdlYl9lbmFibGVfbW9yZV9jaHVua3MiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfZHJhd2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9vcHRpb25hbF9mdWxsc2NyZWVuX2xhbmRzY2FwZV9sb2NraW5nIjp0cnVlLCJtd2ViX2VuYWJsZV9vdmVybGF5X3RvdWNoX21hbmFnZXIiOnRydWUsIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyI6dHJ1ZSwibXdlYl9lbmFibGVfcHJlbWl1bV9jYXJ2ZV9vdXRfZml4Ijp0cnVlLCJtd2ViX2VuYWJsZV9yZWZyZXNoX2RldGVjdGlvbiI6dHJ1ZSwibXdlYl9lbmFibGVfc2VhcmNoX2ltcCI6dHJ1ZSwibXdlYl9lbmFibGVfc2hvcnRzX3ZpZGVvX3ByZWxvYWQiOnRydWUsIm13ZWJfZW5hYmxlX3R3b19saW5lX3RpdGxlX29uX3Nob3J0cyI6dHJ1ZSwibXdlYl9lbmFibGVfdmFyaXNwZWVkX2NvbnRyb2xsZXIiOnRydWUsIm13ZWJfZW5hYmxlX3ZpZGVvX2xvb3BfdG9nZ2xlIjp0cnVlLCJtd2ViX2VuYWJsZV93YXRjaF9mZWVkX2luZmluaXRlX3Njcm9sbCI6dHJ1ZSwibXdlYl9maXhfY29sZF9sb2FkX3Jlc3BvbnNlX2FjdGlvbnMiOnRydWUsIm13ZWJfZml4X21vbml0b3JfdmlzaWJpbGl0eV9hZnRlcl9yZW5kZXIiOnRydWUsIm13ZWJfZm9yY2VfaW9zX2ZhbGxiYWNrX3RvX25hdGl2ZV9jb250cm9sIjp0cnVlLCJtd2ViX2ZwX2F1dG9fZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9mcF9lbmFibGVfc2hvcnRzX3N3aXBlX2xvZ2dpbmciOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9scyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX2NvbnRyb2xzX2FjdGlvbl9idXR0b25zIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fd2F0Y2hfc3lzdGVtIjp0cnVlLCJtd2ViX2Z1bGx5X3JlYWN0aXZlX2NiIjp0cnVlLCJtd2ViX2hvbWVfcmVhY3RpdmVfc2hvcnRzIjp0cnVlLCJtd2ViX2lubmVydHViZV9zZWFyY2hfY29tbWFuZCI6dHJ1ZSwibXdlYl9rYWlvc19lbmFibGVfYXV0b3BsYXlfc3dpdGNoX3ZpZXdfbW9kZWwiOnRydWUsIm13ZWJfbGFuZ19pbl9odG1sIjp0cnVlLCJtd2ViX2xpa2VfYnV0dG9uX3N5bmNlZF93aXRoX2VudGl0aWVzIjp0cnVlLCJtd2ViX2xvZ29fdXNlX2hvbWVfcGFnZV92ZSI6dHJ1ZSwibXdlYl9sb25nX3ByZXNzX3NwZWVkdXBfdmlicmF0aW9uIjp0cnVlLCJtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWQiOnRydWUsIm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXIiOnRydWUsIm13ZWJfcGxheWVyX2RlbGhpX2R0dHMiOnRydWUsIm13ZWJfcGxheWVyX2hpZGVfdW5hdmFpbGFibGVfc3VidGl0bGVzX2J1dHRvbiI6dHJ1ZSwibXdlYl9wbGF5ZXJfc2hvd19wcmV2aW91c19uZXh0X2J1dHRvbnNfaW5fcGxheWxpc3QiOnRydWUsIm13ZWJfcGxheWVyX3NraXBfbm9fb3Bfc3RhdGVfY2hhbmdlcyI6dHJ1ZSwibXdlYl9wbGF5ZXJfdXNlcl9zZWxlY3Rfbm9uZSI6dHJ1ZSwibXdlYl9wbGF5bGlzdF9lbmdhZ2VtZW50X3BhbmVsIjp0cnVlLCJtd2ViX3Byb2dyZXNzX2Jhcl9zZWVrX29uX21vdXNlX2NsaWNrIjp0cnVlLCJtd2ViX3Byb3BhZ2F0ZV9wbGF5ZXJfbGlua19jbGlja3MiOnRydWUsIm13ZWJfcHVsbF8yX2Z1bGwiOnRydWUsIm13ZWJfcHVsbF8yX2Z1bGxfZW5hYmxlX3RvdWNoX2hhbmRsZXJzIjp0cnVlLCJtd2ViX3NjaGVkdWxlX3dhcm1fd2F0Y2hfcmVzcG9uc2UiOnRydWUsIm13ZWJfc2VhcmNoYm94X2xlZ2FjeV9uYXZpZ2F0aW9uIjp0cnVlLCJtd2ViX3NlZV9mZXdlcl9zaG9ydHMiOnRydWUsIm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZSI6dHJ1ZSwibXdlYl9zaG9ydHNfZWFybHlfY29udGludWF0aW9uIjp0cnVlLCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIjp0cnVlLCJtd2ViX3Nob3J0c19vdmVybGF5X2RlcHJlY2F0ZV9rYWlvc19sYXlvdXQiOnRydWUsIm13ZWJfc2hvd19zaWduX2luX2J1dHRvbl9mcm9tX2hlYWRlciI6dHJ1ZSwibXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzIjp0cnVlLCJtd2ViX3VzZV9zZXJ2ZXJfdXJsX29uX3N0YXJ0dXAiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZW5hYmxlX2F1dG9fdHJhbnNsYXRlIjp0cnVlLCJtd2ViX3dhdGNoX2NhcHRpb25zX3NldF9kZWZhdWx0X3NpemUiOnRydWUsIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIjp0cnVlLCJtd2ViX3dhdGNoX3N0b3Bfc2NoZWR1bGVyX29uX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl93YXRjaGZlZWRfYmlnX3RodW1ibmFpbHMiOnRydWUsIm13ZWJfeXRfc2VhcmNoYm94Ijp0cnVlLCJuZXR3b3JrbGVzc19sb2dnaW5nIjp0cnVlLCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biI6dHJ1ZSwicGFnZWlkX2FzX2hlYWRlcl93ZWIiOnRydWUsInBsYXllcl9jb250cm9sc19hdXRvbmF2X2ZpeCI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3NraXBfZG91YmxlX3NpZ25hbF91cGRhdGUiOnRydWUsInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHMiOnRydWUsInBvbHltZXJfYmFkX2J1aWxkX2xhYmVscyI6dHJ1ZSwicG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZSI6dHJ1ZSwicW9lX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJyZW1vdmVfY2hldnJvbl9mcm9tX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2g1Ijp0cnVlLCJyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaCI6dHJ1ZSwicmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmUiOnRydWUsInJvc2NhcyI6dHJ1ZSwic2VydmljZV93b3JrZXJfZW5hYmxlZCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2hvbWVfcGFnZV9wcm9tcHQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfd2F0Y2hfcGFnZV9wcm9tcHQiOnRydWUsInNoZWxsX2xvYWRfZ2NmIjp0cnVlLCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOnRydWUsInNob3J0c19lbmFibGVfcmVlbF9jYXJvdXNlbCI6dHJ1ZSwic2hvdWxkX3VzZV95dF92b2ljZV9lbmRwb2ludF9pbl9rYWlvcyI6dHJ1ZSwic21hcnRlcl92ZV9kZWR1cHBpbmciOnRydWUsInN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXQiOnRydWUsInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIjp0cnVlLCJzeW5jZWRfcGFuZWxfc2Nyb2xsaW5nX2NvbnRyb2xsZXIiOnRydWUsInRvb2x0aXBfcmVmYWN0b3JfZm9yX2hvdGtleSI6dHJ1ZSwidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiOnRydWUsInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2Vfc2Vzc2lvbl9iYXNlZF9zYW1wbGluZyI6dHJ1ZSwidXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlIjp0cnVlLCJ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwidnNzX3BsYXliYWNrX3VzZV9zZW5kX2FuZF93cml0ZSI6dHJ1ZSwid2F0Y2hfcHVic3ViX3JlZmFjdG9yIjp0cnVlLCJ3ZWJfYWRhcHRpdmVfcmVwZWF0X2FzZSI6dHJ1ZSwid2ViX2Fsd2F5c19sb2FkX2NoYXRfc3VwcG9ydCI6dHJ1ZSwid2ViX2FwaV91cmwiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkIjp0cnVlLCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZXhwb3J0X3RvX2dlbCI6dHJ1ZSwid2ViX2F0dHJpYnV0ZWRfc3RyaW5nX2RlZXBfZXF1YWxfYnVnZml4Ijp0cnVlLCJ3ZWJfYXV0b25hdl9hbGxvd19vZmZfYnlfZGVmYXVsdCI6dHJ1ZSwid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfbm9uX251bGxpc2hfZGF0YSI6dHJ1ZSwid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCI6dHJ1ZSwid2ViX2MzX2xvZ19hcHBfaW5pdF9maW5pc2giOnRydWUsIndlYl9jb21tZW50X3BhbmVsX2Vhc3lfZXhwYW5kIjp0cnVlLCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIjp0cnVlLCJ3ZWJfZGVkdXBlX3ZlX2dyYWZ0aW5nIjp0cnVlLCJ3ZWJfZGlzYWJsZV9iYWNrZHJvcF9maWx0ZXIiOnRydWUsIndlYl9kaXNhYmxlX2NoaXBfdmlld19tb2RlbF9tdXRhdGlvbiI6dHJ1ZSwid2ViX2VuYWJsZV9hYl9yc3BfY2wiOnRydWUsIndlYl9lbmFibGVfYWRfYnV0dG9uX3N0eWxlX292ZXJyaWRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Fza19kaXNjbGFpbWVyX3VwZGF0ZSI6dHJ1ZSwid2ViX2VuYWJsZV9jYW5vbmljYWxfdXJsX21hbmFnZXIiOnRydWUsIndlYl9lbmFibGVfY2FwdGlvbnNfc2V0X3RhcmdldF9jb250YWluZXIiOnRydWUsIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Vycm9yXzIwNCI6dHJ1ZSwid2ViX2VuYWJsZV9sYXp5X2NzcyI6dHJ1ZSwid2ViX2VuYWJsZV90aHVtYm5haWxfb3ZlcmxheV9hbGlnbm1lbnQiOnRydWUsIndlYl9nY2ZfaGFzaGVzX2lubmVydHViZSI6dHJ1ZSwid2ViX2dlbF90aW1lb3V0X2NhcCI6dHJ1ZSwid2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmUiOnRydWUsIndlYl9pbXBfZW5hYmxlX2NzaV9zdGFydF90aWNrIjp0cnVlLCJ3ZWJfaW5jbHVkZV9jb3dfdHJhY2luZyI6dHJ1ZSwid2ViX21vbm9tZXJfd2ViX2NvbXBvbmVudF93cmFwcGVyX2hhbmRsZV9lcnJvcnMiOnRydWUsIndlYl9ub25fbmF2aWdhdGluZ19hdGFnIjp0cnVlLCJ3ZWJfcGFyZW50X3RhcmdldF9mb3Jfc2hlZXRzIjp0cnVlLCJ3ZWJfcGVyc2lzdF9zZXJ2ZXJfYXV0b25hdl9zdGF0ZV9vbl9jbGllbnQiOnRydWUsIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIjp0cnVlLCJ3ZWJfcGxheWVyX3VwZGF0ZWRfZW50cnlwb2ludCI6dHJ1ZSwid2ViX3ByZWZldGNoX3ByZWxvYWRfdmlkZW8iOnRydWUsIndlYl9wcm9ncmVzc19iYXJfZHJhZ2dhYmxlIjp0cnVlLCJ3ZWJfcHJvcGFnYXRlX3Zpc2liaWxpdHlfdG9fYXBwbGljYXRpb25fc3RhdGUiOnRydWUsIndlYl9yZW1vdmVfc25hY2tiYXJfYWN0aW9ucyI6dHJ1ZSwid2ViX3NlY3Rpb25fbGlzdF9yZW5kZXJlcl93cmFwcGVkX2NvbnRlbnRzIjp0cnVlLCJ3ZWJfc2hvcnRzX2F1ZGlvX3RyYWNrX3BpY2tlciI6dHJ1ZSwid2ViX3Nob3J0c19lbmFibGVfcmVtb3ZlX3NlYXJjaF9waXZvdF9iYWNrX2J1dHRvbiI6dHJ1ZSwid2ViX3Nob3J0c193bl9zaGVsZl9oZWFkZXJfdHVuaW5nIjp0cnVlLCJ3ZWJfdW5pZmllZF9mZXRjaCI6dHJ1ZSwid2ViX3VwZGF0ZV9wYW5lbF92aXNpYmlsaXR5X2xvZ2dpbmdfZml4Ijp0cnVlLCJ3ZWJfd2F0Y2hfY29udHJvbHNfc3RhdGVfc2lnbmFscyI6dHJ1ZSwid2ViZmVfbXdlYl93YXRjaF9taWNyb2RhdGEiOnRydWUsIndlYmZlX3dhdGNoX3Nob3J0c19jYW5vbmljYWxfdXJsX2ZpeCI6dHJ1ZSwid2VicG9fZXhpdF9vbl9uZXRfZXJyIjp0cnVlLCJ3aXpfZGlmZl9vdmVyd3JpdGFibGUiOnRydWUsIndpel93cmFwcGVyX2NhbGxiYWNrX3Byb3BzX2ZpeCI6dHJ1ZSwid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0Ijp0cnVlLCJINV9hc3luY19sb2dnaW5nX2RlbGF5X21zIjozMDAwMC4wLCJhdXRvcGxheV9wYXVzZV9ieV9sYWN0X3NhbXBsaW5nX2ZyYWN0aW9uIjowLjAsImNpbmVtYXRpY193YXRjaF9lZmZlY3Rfb3BhY2l0eSI6MC40LCJsb2dfd2luZG93X29uZXJyb3JfZnJhY3Rpb24iOjAuMSwic3BlZWRtYXN0ZXJfcGxheWJhY2tfcmF0ZSI6Mi4wLCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfc2Nyb2xsX3Rocm90dGxlIjo1MDAuMCwid2ViX2RlYWRfY29kZV9kZXRlY3Rvcl9zYW1wbGluZ19yYXRlIjowLjAsIndlYl9sb2FkX3ByZWRpY3Rpb25fdGhyZXNob2xkIjowLjMsIndlYl9uYXZpZ2F0aW9uX3ByZWRpY3Rpb25fdGhyZXNob2xkIjowLjEsIndlYl9wYmpfbG9nX3dhcm5pbmdfcmF0ZSI6MC4wLCJ3ZWJfc3lzdGVtX2hlYWx0aF9mcmFjdGlvbiI6MC4wMSwieXRpZGJfdHJhbnNhY3Rpb25fZW5kZWRfZXZlbnRfcmF0ZV9saW1pdCI6MC4wMiwiYXR0X2luaXRfZGVsYXkiOjUwMCwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zZWMiOjAsImJvdGd1YXJkX2FzeW5jX3NuYXBzaG90X3RpbWVvdXRfbXMiOjMwMDAsImNoZWNrX25hdmlnYXRvcl9hY2N1cmFjeV90aW1lb3V0X21zIjowLCJjaW5lbWF0aWNfd2F0Y2hfY3NzX2ZpbHRlcl9ibHVyX3N0cmVuZ3RoIjo0MCwiY2luZW1hdGljX3dhdGNoX2ZhZGVfb3V0X2R1cmF0aW9uIjo1MDAsImNsb3NlX3dlYnZpZXdfZGVsYXlfbXMiOjEwMCwiY2xvdWRfc2F2ZV9nYW1lX2RhdGFfcmF0ZV9saW1pdF9tcyI6MzAwMCwiY29tcHJlc3Npb25fZGlzYWJsZV9wb2ludCI6MTAsImN1c3RvbV9hY3RpdmVfdmlld190b3NfdGltZW91dF9tcyI6MzYwMDAwMCwiZW1iZWRzX3dpZGdldF9wb2xsX2ludGVydmFsX21zIjowLCJlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX21heF93aW5kb3dfc2Vjb25kcyI6NjAsImdlbF9taW5fYmF0Y2hfc2l6ZSI6MywiZ2VsX3F1ZXVlX3RpbWVvdXRfbWF4X21zIjo2MDAwMCwiZ2V0X2FzeW5jX3RpbWVvdXRfbXMiOjYwMDAwLCJodG1sNV9ieXRlcmF0ZV9zb2Z0X2NhcCI6MCwiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCI6MjAwMCwibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyI6NTAwMDAwLCJtYXhfcHJlZmV0Y2hfd2luZG93X3NlY19mb3JfbGl2ZXN0cmVhbV9vcHRpbWl6YXRpb24iOjEwLCJtaW5fcHJlZmV0Y2hfb2Zmc2V0X3NlY19mb3JfbGl2ZXN0cmVhbV9vcHRpbWl6YXRpb24iOjIwLCJtaW5pX2FwcF9jb250YWluZXJfaWZyYW1lX3NyY191cGRhdGVfZGVsYXlfbXMiOjAsIm11bHRpcGxlX3ByZXZpZXdfbmV3c19kdXJhdGlvbl90aW1lIjoxMTAwMCwibXdlYl9jM190b2FzdF9kdXJhdGlvbl9tcyI6NTAwMCwibXdlYl9kZWVwX2xpbmtfZmFsbGJhY2tfdGltZW91dF9tcyI6MTAwMDAsIm13ZWJfZGVsYXlfcmVzcG9uc2VfcmVjZWl2ZWRfYWN0aW9ucyI6MTAwLCJtd2ViX2R3ZWxsX2RlbGF5X21zIjo1MDAsIm13ZWJfZnBfZHBhZF9yYXRlX2xpbWl0X21zIjowLCJtd2ViX2ZwX2RwYWRfd2F0Y2hfdGl0bGVfY2xhbXBfbGluZXMiOjAsIm13ZWJfaGlzdG9yeV9tYW5hZ2VyX2NhY2hlX3NpemUiOjEwMCwibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uX2RlbGF5X21zIjo1MDAsIm13ZWJfaW9zX2Z1bGxzY3JlZW5fc3lzdGVtX3BhdXNlX2VwaWxzb25fbXMiOjAsIm13ZWJfb3ZlcnJpZGVfcmVzcG9uc2Vfc3RvcmVfZXhwaXJhdGlvbl9tcyI6MCwibXdlYl9zaG9ydHNfZWFybHlfY29udGludWF0aW9uX3RyaWdnZXJfdGhyZXNob2xkIjo0LCJtd2ViX3Nob3J0c19udW1iZXJfb2ZfdGh1bWJuYWlsc19zaG93biI6MiwibXdlYl93MndfbWF4X2FnZV9zZWNvbmRzIjowLCJtd2ViX3dhdGNoX2NhcHRpb25zX2RlZmF1bHRfc2l6ZSI6MiwibmVvbl9kYXJrX2xhdW5jaF9ncmFkaWVudF9jb3VudCI6MCwibmV0d29ya19wb2xsaW5nX2ludGVydmFsIjozMDAwMCwicGxheV9waW5nX2ludGVydmFsX21zIjoxMDAwMCwic2VuZF9jb25maWdfaGFzaF90aW1lciI6MCwic2VydmljZV93b3JrZXJfcHVzaF9sb2dnZWRfb3V0X3Byb21wdF93YXRjaGVzIjotMSwic2VydmljZV93b3JrZXJfcHVzaF9wcm9tcHRfY2FwIjotMSwic2VydmljZV93b3JrZXJfcHVzaF9wcm9tcHRfZGVsYXlfbWljcm9zZWNvbmRzIjozODg4MDAwMDAwMDAwLCJzaG93X21pbmlfYXBwX2FkX3dlYl9yZWd1bGFyX2ZyZXF1ZW5jeV9jYXBfbXMiOjI0MDAwMCwic2hvd19taW5pX2FwcF9hZF93ZWJfcmV3YXJkZWRfZnJlcXVlbmN5X2NhcF9tcyI6MCwic2xvd19jb21wcmVzc2lvbnNfYmVmb3JlX2FiYW5kb25fY291bnQiOjQsInNwZWVkbWFzdGVyX2NhbmNlbGxhdGlvbl9tb3ZlbWVudF9kcCI6MTAsInNwZWVkbWFzdGVyX3RvdWNoX2FjdGl2YXRpb25fbXMiOjUwMCwid2ViX2FpX3NlYXJjaF9yb2xsb3V0X3ZlcnNpb24iOjEsIndlYl9mb3JlZ3JvdW5kX2hlYXJ0YmVhdF9pbnRlcnZhbF9tcyI6MjgwMDAsIndlYl9nZWxfZGVib3VuY2VfbXMiOjEwMDAwLCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giOjEwMCwid2ViX21heF90cmFjaW5nX2V2ZW50cyI6NTAsIndlYl9zZXNzaW9uX3JlcGxheV9tb3VzZW1vdmVfaW50ZXJ2YWwiOjAsIndlYl9zZXNzaW9uX3JlcGxheV9zY3JvbGxfaW50ZXJ2YWwiOjAsIndlYl9zZXNzaW9uX3JlcGxheV9zZW5kX2FmdGVyX3RpbWVvdXQiOjAsIndlYl90cmFjaW5nX3Nlc3Npb25fcmVwbGF5IjowLCJ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzIjo5OTk5LCJ5dGNzaV9kZWJ1Z19tYXhfc2l6ZSI6MTAwLCJ5dGlkYl9yZW1ha2VfZGJfcmV0cmllcyI6MSwieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiOjAsIldlYkNsaWVudFJlbGVhc2VQcm9jZXNzQ3JpdGljYWxfX3lvdXR1YmVfZW1iZWRzX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlIjoiIiwiV2ViQ2xpZW50UmVsZWFzZVByb2Nlc3NDcml0aWNhbF9feW91dHViZV9lbWJlZHNfd2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlIjoiIiwiZGVidWdfZm9yY2VkX2ludGVybmFsY291bnRyeWNvZGUiOiIiLCJlbmFibGVfd2ViX21lZGlhX3NlcnZpY2UiOiJESVNBQkxFRCIsImlsX3BheWxvYWRfc2NyYXBpbmciOiIiLCJsaXZlX2NoYXRfdW5pY29kZV9lbW9qaV9qc29uX3VybCI6Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2Vtb2ppcy9lbW9qaXMtc3ZnLTkuanNvbiIsIm13ZWJfZGVlcF9saW5rX2ZlYXR1cmVfdGFnX3N1ZmZpeCI6IjUxODMxNjE1IiwibXdlYl9lbmFibGVfc2hvcnRzX2lubmVydHViZV9wbGF5ZXJfcHJlZmV0Y2hfdHJpZ2dlciI6Ik5PTkUiLCJtd2ViX2ZwX2RwYWQiOiJob21lLHNlYXJjaCxicm93c2UsY2hhbm5lbCxjcmVhdGVfY2hhbm5lbCxleHBlcmltZW50cyxzZXR0aW5ncyx0cmVuZGluZyxvb3BzLDQwNCxwYWlkX21lbWJlcnNoaXBzLHNwb25zb3JzaGlwLHByZW1pdW0sc2hvcnRzIiwibXdlYl9mcF9kcGFkX2xpbmVhcl9uYXZpZ2F0aW9uIjoiIiwibXdlYl9mcF9kcGFkX2xpbmVhcl9uYXZpZ2F0aW9uX3Zpc2l0b3IiOiIiLCJtd2ViX2ZwX2RwYWRfdmlzaXRvciI6IiIsIm13ZWJfcHJlbG9hZF92aWRlb19ieV9wbGF5ZXJfdmFycyI6IiIsInBsYWNlX3Bpdm90X3RyaWdnZXJpbmdfY29udGFpbmVyX2FsdGVybmF0ZSI6IiIsInBsYWNlX3Bpdm90X3RyaWdnZXJpbmdfY291bnRlcmZhY3R1YWxfY29udGFpbmVyX2FsdGVybmF0ZSI6IiIsInNlcnZpY2Vfd29ya2VyX3B1c2hfZm9yY2Vfbm90aWZpY2F0aW9uX3Byb21wdF90YWciOiIxIiwic2VydmljZV93b3JrZXJfc2NvcGUiOiIvIiwic3VnZ2VzdF9leHBfc3RyIjoiIiwid2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlIjoiIiwiZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19hbGxvd2VkX3ZpZGVvX2lkcyI6WyJPSmx3SWRvRno5QSIsIkFyS2JBeDFLLTJVIiwibV9kaE1TdlVDSWMiLCJDMURocEowN1p1RSIsIk5xMndZbFdGdWNnIiwiSkM3ZjNFVURhcXciLCJ2cjNYeVZDUjRUMCIsImdDTmVEV0NJMHZvIiwia0JUdWRtNGdlTXMiLCJGeHNmVlg2QjFNayIsInlsWUpTQlVnYU1BIiwiVldoUTZ4c3BuU2MiLCJSSFVhdU1jWWxYMCIsImNiMTJLbU1NREpBIiwiV0p4RWpfaHJwU2ciLCJldWhZLXRtZzl4OCIsIlRsSVZJMkVXN1IwIiwiTUlOZnZPWDRCekkiLCJ5SG1QV3praGNaOCIsInAzdzF2TzlYdjI0IiwiVmxhQ25wMWZ4STgiLCItT2ZBMDRCRDRHQSIsIjFvZFkzSVlzTm5vIiwid2lUVHJWcVJWRHciLCJEZm0yckItblE5WSIsIlFtMUZ0ejhsVm5JIiwiOWl0QXhxX1NHRE0iLCJ5Rkkzd3BYeTR6QSIsIlB5NUpZWlhKdnpvIiwiYjR0RTVhS2h0bGciLCI1SkR4anNBVmFHayIsImVVbWZHUGF6dUVNIiwiVzhuVGhxNjJWYjQiLCJWTGp2UzN1ZmxYYyIsIkJmZExLdkpCTV9jIiwid2VMWGR3VmpTeHMiLCIySmEtdVBPa3o3SSIsIkE5UUJWRkVZeE9RIiwiay1aRlFra0hVZmMiLCJ3dXUwRDIwQVpxSSIsIl9IdmlTeUM3elNVIiwiX194T3pfUTNxUjQiLCJ3MnNCODdqTEUxSSIsIjhyVFRFTWRNaDhRIiwiLWs2bXBnbXhlclUiLCI5N2NrbnJKeUxXZyIsIjJGSXRWeXhMTk5jIiwib3RueGZjc0dFLVkiLCJzOXhMMURwQnNmUSIsIndmQUdCVmdVcnJvIiwiblhINlR4US1zaTgiLCJXaUkxWGdfbkV1OCIsIjNmbGFzR1ZVckNBIiwiZURZX0hlOTJsY1UiLCJhNDdja1hLWmp4SSIsIkk2V1JYZUtaSzY0IiwiVDlKNURxUDJES3ciLCJLdGtfSTBwVXBHOCIsImVRMmN6R3FPQ1BnIiwiaExtVTQ5aG1aNGMiLCI3ZjdNZ2FNRTdTYyIsIlFCNUJOZEJGdWpFIiwiQUdodE1VX2ZpNzAiLCJwMlJhUVVSUkF3QSIsIm16X19FTVlwV1B3IiwiNmpoTHVTUVZJeFUiLCJyQzgzdl91dUlxbyIsIjZEYUdkSlJfZUxnIiwiY200M3VYamZ2WlkiLCJZMUpzUHBtMmJtUSIsInowOTdqUHlLZWVvIiwiVFlWWldVVGpreDAiLCJWSGFBdmVuZlREayIsInR2OU9VXzVRMHBRIiwiNm9LQ3Z6bTZIbWciLCJCRUZVRVJoVDBuMCIsInVUTi1ldTAtT1hFIiwiaGJhcHJoUjd6VG8iLCIyQ1YwVi1vTU5GTSIsInU4ZFNPS29OSnAwIiwiSDhNcXF3bUZzeFkiLCJJc2trbU5QSmRVayIsIlg5SF9FenBER1hRIl0sImtldmxhcl9jb21tYW5kX2hhbmRsZXJfY29tbWFuZF9iYW5saXN0IjpbXSwibWluaV9hcHBfaWRzX3dpdGhvdXRfZ2FtZV9yZWFkeSI6WyJVZ2t4SEh0c2FrMVNDOG1SR0hNWmV3YzRIemVBWTN5aFBQbUoiLCJVZ2t4N09nekZxRTZ6XzVNdGY0WXNvdEdmUU5JSTFERl9SQm0iXSwid2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3QiOltdLCJ3ZWJfdHJhY2luZ19lbmFibGVkX3NwYW5zIjpbImV2ZW50IiwiY29tbWFuZCJdfSwiR0FQSV9ISU5UX1BBUkFNUyI6Im07L18vc2NzL2FiYy1zdGF0aWMvXy9qcy9rXHUwMDNkZ2FwaS5nYXBpLmVuLjU0X0hEdmVPdGtRLk8vZFx1MDAzZDEvcnNcdTAwM2RBSHBPb285UXVmT2RQWVRSa2JUSmFkVFc2c21zeGxXTE13L21cdTAwM2RfX2ZlYXR1cmVzX18iLCJHQVBJX0hPU1QiOiJodHRwczovL2FwaXMuZ29vZ2xlLmNvbSIsIkdBUElfTE9DQUxFIjoiZW5fVVMiLCJHTCI6Ik5PIiwiSEwiOiJlbiIsIkhUTUxfRElSIjoibHRyIiwiSFRNTF9MQU5HIjoiZW4iLCJJTk5FUlRVQkVfQVBJX0tFWSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsIklOTkVSVFVCRV9BUElfVkVSU0lPTiI6InYxIiwiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsIklOTkVSVFVCRV9DTElFTlRfVkVSU0lPTiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJJTk5FUlRVQkVfQ09OVEVYVCI6eyJjbGllbnQiOnsiaGwiOiJlbiIsImdsIjoiTk8iLCJyZW1vdGVIb3N0IjoiMTk1LjY0LjExOC4xNTIiLCJkZXZpY2VNYWtlIjoiIiwiZGV2aWNlTW9kZWwiOiIiLCJ2aXNpdG9yRGF0YSI6IkNndHNYMHhuU0dONk9VcFRaeWk1cEp2VEJqSW9DZ0pPVHhJaUVoNFNIQXNNRGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUl5UWxKaWNnYUdMZkFncmNBakl3TGxsVVBVRkRWVVpQVFROTlJHdE9iRTEyVGtVMWRFUkJVRkphY1VoNVl6aElWWEUyYVZsMlZXZEZSakZxY3pkMVZtMHpXVE14WW1ocFNXWXpjMVo1TkVoNWNuWm5ZekZQUTJOSVQxTndNM1p6VUdzeE1uaDFTRzVCYUVNeFEyWXRlRVYzU0MwNFNrRjJhamRuVTJ0elYyOTRNRzVyUXpaUGJpMDRTSEpWY0dsT2NHSkVjMDlPTjFBeVpESlhSVkJqZGt4S1RUQTVkelJwUm5OcWVXTmZPRlF0Y1hKUk1HOHhkakp6U2xkTFYxUmZXak5WYjNjdE0xOTVObFZwUVZrNFZtSmxOMEpKUkdGTFJrVnlRazlETW10WFQwSlRjRmgzY1ROdVdXRmlPR2hPVmtWVlVIWnpabGQxUzBNdFRWSktXbTV5TjNkSGFEaE1ZWFpyU0hNMWIwRlBkREp2YzFWT2EzcG5hbmN0Ym01TVowZEVjRVV4TjA5R2NsaFhTblJIWlVOcGFtTkdNa1IxUkZoMWVVcHNSVnBCVGtOdVJEYzBlRXRPY1ZKeU9IQkVTbEpOU0Rsd2MybDZNSE5RTjAxd1EwUllUM2R1T0VZMmR3JTNEJTNEIiwidXNlckFnZW50IjoiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6MTM0LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTM0LjAsZ3ppcChnZmUpIiwiY2xpZW50TmFtZSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJjbGllbnRWZXJzaW9uIjoiMi4yMDI2MDcyNC4wMS4wMCIsIm9zTmFtZSI6IldpbmRvd3MiLCJvc1ZlcnNpb24iOiIxMC4wIiwib3JpZ2luYWxVcmwiOiJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8xakU0ekhYYk5VTSIsInBsYXRmb3JtIjoiREVTS1RPUCIsImNsaWVudEZvcm1GYWN0b3IiOiJVTktOT1dOX0ZPUk1fRkFDVE9SIiwiY29uZmlnSW5mbyI6eyJhcHBJbnN0YWxsRGF0YSI6IkNMbWttOU1HRU9uNDBSd1FuOC1BRXhEQmo5QWNFSW13emh3UWpwRFJIQkRndDlFY0VJcUh1Q0lRdllxd0JSREhfSUFURUluazBSd1FudEN3QlJENTh0RWNFSWVzemh3UXg0M1NIQkR4bkxBRkVQeXl6aHdRdmJhdUJSREstNEFURUxqdzBSd1E5dmZSSEJDa3FkRWNFTGpremh3UWdjM09IQkNkaHJnaUVPRHEwUndRdHZpQUV4REo5b0FURUwyWnNBVVFodUdBRXhBQUVQYXJzQVVROThTQUV4Q1c3OUVjRVBEZTBSd1FpSkRSSEJDTDk4OGNFTDZFMFJ3UXZLVFFIQkN1MXM4Y0VNemZyZ1VRa3ZMUkhCQ1pqYkVGRU5yM3pod1EzcnpPSEJEeHROQWNFSU9IdUNJUTV1dlJIQkRVOW9BVEVKbnowUndRN00zUUhCRDE2ZEVjRUttbTBSd3FkRU5CVFZOVlVsWkxMVnB4TFVSTlpWVkZjRlZEYmtFM05VWllZV2RDZFVGWGNVNVZVSGxCVFUwemR6TmpRblZSUnpSblZESjJaV3RNVFhGRGMwSkJUMUZ5WjFBM1NuSmlhMEoxVTBaR09VUk5Rbk5UVTBKamN6bDRVMlphTVZGWVkweFBaRWMzVXpkMkxVOUJaVEozV1dSQ2R6MDlNQUElM0QifSwiYnJvd3Nlck5hbWUiOiJGaXJlZm94IiwiYnJvd3NlclZlcnNpb24iOiIxMzQuMCIsImFjY2VwdEhlYWRlciI6InRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3FcdTAwM2QwLjksKi8qO3FcdTAwM2QwLjgiLCJkZXZpY2VFeHBlcmltZW50SWQiOiJDaHhPZWxreVRucEJNRTVxVlRGUFZGa3dUbXBGZWsxcWF6Uk5VVDA5RUxta205TUdHTG1rbTlNRyIsInJvbGxvdXRUb2tlbiI6IkNKM29xc254eFlxT2Z4RDZxYTNxOXZHVkF4ajZxYTNxOXZHVkF3JTNEJTNEIn0sInVzZXIiOnsibG9ja2VkU2FmZXR5TW9kZSI6ZmFsc2V9LCJyZXF1ZXN0Ijp7InVzZVNzbCI6dHJ1ZX0sImNsaWNrVHJhY2tpbmciOnsiY2xpY2tUcmFja2luZ1BhcmFtcyI6IkloTUlscDZ0NnZieGxRTVZOZlRLQUIxZHZnRlkifSwidGhpcmRQYXJ0eSI6eyJlbWJlZGRlZFBsYXllckNvbnRleHQiOnsiZW1iZWRkZWRQbGF5ZXJFbmNyeXB0ZWRDb250ZXh0IjoiQUNtYmxCV1pFVFhCV01HTjQtMUVMWm40SGdTQmtGRGMzbDlBVmd3S3NpTTRKNUZLdFdKTTRwT1Z6VVQwc2R2VlRNU3NZbGh2VjR2SHpkcm1uNS16R01mbjdVd1Q1MC05clE0U2JfUGd0d2t5dmUxdnZ4NnhEZER5OERORE9naC1IZGJmZVRNIiwiYW5jZXN0b3JPcmlnaW5zU3VwcG9ydGVkIjpmYWxzZX19fSwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiOjU2LCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJJTk5FUlRVQkVfQ09OVEVYVF9HTCI6Ik5PIiwiSU5ORVJUVUJFX0NPTlRFWFRfSEwiOiJlbiIsIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyI6eyJjbGllbnQubmFtZSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJjbGllbnQuanNmZWF0IjoiMjAyMSJ9LCJMT0dHRURfSU4iOmZhbHNlLCJQQUdFX0JVSUxEX0xBQkVMIjoieW91dHViZS5lbWJlZHMud2ViXzIwMjYwNzI0XzAxX1JDMDAiLCJQQUdFX0NMIjo5NTMyMDYwMTAsIlNFUlZFUl9OQU1FIjoiV2ViRkUiLCJWSVNJVE9SX0RBVEEiOiJDZ3RzWDB4blNHTjZPVXBUWnlpNXBKdlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ2FHTGZBZ3JjQWpJd0xsbFVQVUZEVlVaUFRUTk5SR3RPYkUxMlRrVTFkRVJCVUZKYWNVaDVZemhJVlhFMmFWbDJWV2RGUmpGcWN6ZDFWbTB6V1RNeFltaHBTV1l6YzFaNU5FaDVjblpuWXpGUFEyTklUMU53TTNaelVHc3hNbmgxU0c1QmFFTXhRMll0ZUVWM1NDMDRTa0YyYWpkblUydHpWMjk0TUc1clF6WlBiaTA0U0hKVmNHbE9jR0pFYzA5T04xQXlaREpYUlZCamRreEtUVEE1ZHpScFJuTnFlV05mT0ZRdGNYSlJNRzh4ZGpKelNsZExWMVJmV2pOVmIzY3RNMTk1TmxWcFFWazRWbUpsTjBKSlJHRkxSa1Z5UWs5RE1tdFhUMEpUY0ZoM2NUTnVXV0ZpT0doT1ZrVlZVSFp6WmxkMVMwTXRUVkpLV201eU4zZEhhRGhNWVhaclNITTFiMEZQZERKdmMxVk9hM3BuYW5jdGJtNU1aMGRFY0VVeE4wOUdjbGhYU25SSFpVTnBhbU5HTWtSMVJGaDFlVXBzUlZwQlRrTnVSRGMwZUV0T2NWSnlPSEJFU2xKTlNEbHdjMmw2TUhOUU4wMXdRMFJZVDNkdU9FWTJkdyUzRCUzRCIsIldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdTIjp7IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfRU1CRURERURfUExBWUVSIjp7InJvb3RFbGVtZW50SWQiOiJtb3ZpZV9wbGF5ZXIiLCJqc1VybCI6Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIiwiY3NzVXJsIjoiL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIiwiY29udGV4dElkIjoiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9FTUJFRERFRF9QTEFZRVIiLCJldmVudExhYmVsIjoiZW1iZWRkZWQiLCJjb250ZW50UmVnaW9uIjoiTk8iLCJobCI6ImVuX1VTIiwiaG9zdExhbmd1YWdlIjoiZW4iLCJpbm5lcnR1YmVBcGlLZXkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJpbm5lcnR1YmVBcGlWZXJzaW9uIjoidjEiLCJpbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJkZXZpY2UiOnsiYnJhbmQiOiIiLCJtb2RlbCI6IiIsImJyb3dzZXIiOiJGaXJlZm94IiwiYnJvd3NlclZlcnNpb24iOiIxMzQuMCIsIm9zIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJwbGF0Zm9ybSI6IkRFU0tUT1AiLCJpbnRlcmZhY2VOYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImludGVyZmFjZVZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIn0sInNlcmlhbGl6ZWRFeHBlcmltZW50SWRzIjoiMjQwMDQ2NDQsNTEwNjM2NDMsNTEwOTgyOTksNTEyMjI5NzMsNTEzNDA2NjIsNTEzNDk5MTQsNTEzNTMzOTMsNTEzNjY0MjMsNTEzNzI2ODEsNTEzODk2MjksNTE0OTAzMzEsNTE0OTMyMDgsNTE1MDU0MzYsNTE1MzA0OTUsNTE1MzQ2NjksNTE1NjUxMTYsNTE1ODM4MjEsNTE2MDUyNTgsNTE2MDk4MjksNTE2MjI4NDQsNTE2MzU5NTQsNTE2Mzg5MzIsNTE2NDU1NTMsNTE2NDgzMzYsNTE2NzIxNjIsNTE2ODE2NjIsNTE2ODM1MDIsNTE3MDE2MTUsNTE3MTMxNzUsNTE3MjkyMTcsNTE3MzcxMzQsNTE3NDIzNzcsNTE3NDI4MjgsNTE3NzgzMzksNTE3OTg5MjgsNTE4MDMxMjcsNTE4MDM1ODYsNTE4Mjg5NzEsNTE4MzMyNDEsNTE4NDI0MjIsNTE4NTc4MzgsNTE4NTc5MjAsNTE4ODc4ODAsNTE4OTQ3NzUsNTE4OTU0MDUsNTE4OTU3NzEsNTE5MDE0MzcsNTE5MDI2MDUsNTE5MDI5NzcsNTE5MTA3MzUsNTE5MjcxODgsNTE5MjczNjAsNTE5MzYyMjgsNTE5Mzk3MDMsNTE5NDUwNTYsNTE5NTQ5MjIsNTE5NTY1MTgsNTE5NTc0NDUsNTE5NTk2OTQsNTE5NTk4MDksNTE5NTk4ODAsNTE5NTk5NjcsNTE5NjgwODMsNTE5NzE3NzYsNTE5ODMzNjMsNTE5ODQ3MTcsNTE5ODQ4MjcsNTE5ODU1ODAsNTIwMDI4MDYsNTIwMDM5NDgsNTIwMTI1MjIsNTIwMTYxMzYsNTIwMTYzMjMsNTIwMjAwMzIsNTIwMjI0ODcsNTIwMjMzMzMsNTIwMjQyMTcsNTIwMjYxOTQsNTIwMjY4MTMsNTIwMjcwOTgsNTIwMjc3NTEsNTIwMjc3NTMsNTIwMzU2NDQsNTIwMzY5MzksNTIwMzc0MjQsNTIwNDAzODYsNTIwNDMyMjcsNTIwNDY1MTksNTIwNDc2ODUsNTIwNDc2ODcsNTIwNDc2OTAsNTIwNDg0MzQsNTIwNTY1MDMsNTIwNjQxMzUsNTIwNjU1OTAsNTIwNjk5MDMsNTIwNzM5NjEsNTIwNzU5MjIsNTIwNzY3MDUsNTIwOTI4NjYsNTIwOTg2ODQiLCJzZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzIjoiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tc1x1MDAzZDMwMDAwLjBcdTAwMjZhMTF5X2g1X2Fzc29jaWF0ZV9zdXJ2ZXlfcXVlc3Rpb25cdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2FwbVx1MDAzZHRydWVcdTAwMjZhYl9kZXRfZWxfaFx1MDAzZHRydWVcdTAwMjZhYl9ma19za19jbFx1MDAzZHRydWVcdTAwMjZhY3Rpb25fY29tcGFuaW9uX2NlbnRlcl9hbGlnbl9kZXNjcmlwdGlvblx1MDAzZHRydWVcdTAwMjZhZF9wb2RfZGlzYWJsZV9jb21wYW5pb25fcGVyc2lzdF9hZHNfcXVhbGl0eVx1MDAzZHRydWVcdTAwMjZhbGxvd19hdXRvaGlkZV9vbl9wYXVzZWRfdmlkZW9zXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2RybV9vdmVycmlkZVx1MDAzZHRydWVcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3BvbHRlcmd1c3RfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfc2tpcF9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZhbGxvd192cDlfMTA4MHBfbXFfZW5jXHUwMDNkdHJ1ZVx1MDAyNmFsd2F5c19jYWNoZV9yZWRpcmVjdF9lbmRwb2ludFx1MDAzZHRydWVcdTAwMjZhbHdheXNfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2YW5ub3RhdGlvbl9tb2R1bGVfdmFzdF9jYXJkc19sb2FkX2xvZ2dpbmdfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZhc3NpZ25fZHJtX2ZhbWlseV9ieV9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2YXR0X3dlYl9yZWNvcmRfbWV0cmljc1x1MDAzZHRydWVcdTAwMjZhdHRhY2hfZXhwZXJpbWVudF9wcm9wYWdhdGlvbl9jb250ZXh0X3RvX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZhdHRtdXNpXHUwMDNkdHJ1ZVx1MDAyNmF1dG9wbGF5X3RpbWVcdTAwM2QxMDAwMFx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX2Z1bGxzY3JlZW5cdTAwM2QtMVx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnRcdTAwM2QtMVx1MDAyNmJnX3ZtX3JlaW5pdF90aHJlc2hvbGRcdTAwM2Q3MjAwMDAwXHUwMDI2YmxvY2tfdHZodG1sNV9zaW1wbHlfZW1iZWRkZWRcdTAwM2R0cnVlXHUwMDI2YmxvY2tlZF9wYWNrYWdlc19mb3Jfc3BzXHUwMDNkW11cdTAwMjZib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zXHUwMDNkMzAwMFx1MDAyNmJ5cGFzc19saWNlbnNlX2NoZWNrX2Zvcl9pbmxpbmVfbXV0ZWRcdTAwM2R0cnVlXHUwMDI2Y2FwdGlvbnNfdXJsX2FkZF9laVx1MDAzZHRydWVcdTAwMjZjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZjaGVja19wbGF5YWJpbGl0eV9zdGF0dXNfaW5fZmlsbGVyc1x1MDAzZHRydWVcdTAwMjZjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2Y29tcHJlc3Npb25fZGlzYWJsZV9wb2ludFx1MDAzZDEwXHUwMDI2Y293X29wdGltaXplX2lkb21fY29tcGF0XHUwMDNkdHJ1ZVx1MDAyNmNzaV9vbl9nZWxcdTAwM2R0cnVlXHUwMDI2Y3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zXHUwMDNkMzYwMDAwMFx1MDAyNmRhc2hfbWFuaWZlc3RfdmVyc2lvblx1MDAzZDVcdTAwMjZkZWJ1Z19iYW5kYWlkX2hvc3RuYW1lXHUwMDNkXHUwMDI2ZGVidWdfYmFuZGFpZF9wb3J0XHUwMDNkMFx1MDAyNmRlYnVnX3NoZXJsb2dfdXNlcm5hbWVcdTAwM2RcdTAwMjZkZWR1cHBpbmdfc2VydmVyX3ZlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX2Zhc3RfZm9sbG93X2F1dG9uYXZfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZGVmYXVsdF90aHVtYm5haWxfcGVyY2VudGFnZVx1MDAzZDAuMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZmFzdGVyX2F1dG9oaWRlX2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfcGF1c2VfdGh1bWJuYWlsX3BlcmNlbnRhZ2VcdTAwM2QwLjZcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9ibGVuZGluZ19tb2RlXHUwMDNkXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfZGlzYWJsZV9mcm9zdGVkX2dsYXNzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2hvcml6b250YWxfdm9sdW1lX2NvbnRyb2xzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2xoc192b2x1bWVfY29udHJvbHNcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfcmVzcG9uc2l2ZV9jb21wYWN0X2NvbnRyb2xzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZkZXByZWNhdGVfY2FwdGlvbnNfdHJhY2tfY291bnRfZGlzcGxheVx1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfZGVsYXlfcGluZ1x1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfcGFpcl9zZXJ2bGV0X2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2ZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfYXYxX3NldHRpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9jaGlsZF9ub2RlX2F1dG9fZm9ybWF0dGVkX3N0cmluZ3NcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9saWZhX2luXzJrXzRrXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfbG9nX3RvX3Zpc2l0b3JfbGF5ZXJcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9wYWNmX2xvZ2dpbmdfZm9yX21lbW9yeV9saW1pdGVkX3R2XHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVkdWNlZF9mdWxsc2NyZWVuX2F1dG9wbGF5X2NvdW50ZG93bl9mb3JfbWlub3JzXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVlbF9pdGVtX3dhdGNoX2Zvcm1hdF9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV90b3VjaF9ldmVudHNfb25fc2tpcF9idXR0b25cdTAwM2R0cnVlXHUwMDI2ZHVyYXRpb25fYmVmb3JlX3BhdXNlX2FkX2JyZWFrX21zX2Zvcl9zeXN0ZW1fcGF1c2VcdTAwM2Q1MDAwXHUwMDI2ZWRnZV9lbmNyeXB0aW9uX2ZpbGxfcHJpbWFyeV9rZXlfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZGVza3RvZmZfZW5hYmxlX2Fkc190b3BfYmFyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9lbWJlZF9jb25maWdfZm9yX211dGVkX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfaW5uZXJ0dWJlX3N0b3JlXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfbW92ZV9zZXRfY2VudGVyX2Nyb3BfdG9fcHVibGljXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfcGVyX3ZpZGVvX2VtYmVkX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZlbWJlZHNfd2ViX2xpdGVfbW9kZVx1MDAzZDFcdTAwMjZlbmFibGVfYTExeV9mb2N1c19maXhfZm9yX21hY19wYW5lbF9vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hYmFuZG9uX3BpbmdfZm9yX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWNpX29uX2xyX2ZlZWRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19kaXNwbGF5X2FkX3JlbmRlcmVyX3dlYl9ob21lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19scl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X3dlYl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FkX2Nwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9hMTF5X2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYW50aXNjcmFwaW5nX3dlYl9wbGF5ZXJfZXhwaXJlZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXBwX3Byb21vX2VuZGNhcF9lbWxfb25fdGFibGV0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdHRlbnRpb25fbG9nZ2luZ19tZWFzdXJlX29uX3Nob3duXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdXRvbW90aXZlX2Zvcm1fZmFjdG9yX2NoZWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdjFfZm9yX3l0dl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9iYXRjaGVkX2Nyb3NzX2RldmljZV9waW5nc19pbl9nZWxfZmFub3V0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jYXBhYmlsaXR5X2Zvcm1hdF9maWx0ZXJfaW5fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jYXN0X2Zvcl93ZWJfdW5wbHVnZ2VkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jZW50ZXJlZF9jYXB0aW9uX2Zvcl90dmZpbG1fdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NpcGhlcl9mb3JfbWFuaWZlc3RfdXJsc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xlYW51cF9tYXN0aGVhZF9hdXRvcGxheV9oYWNrX2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3BhZ2VfaWRfaGVhZGVyX2Zvcl9maXJzdF9wYXJ0eV9waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfdmVfc3BlY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY3RhX2Jhbm5lcl9vbl91bnBsdWdnZWRfbHJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N1c3RvbV9wbGF5aGVhZF9wYXJzaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZGF0YXN5bmNfaWRfaGVhZGVyX2luX3dlYl92c3NfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RlZmF1bHRfbW9ub19jdGFfbWlncmF0aW9uX3dlYl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RzYV9hZF9iYWRnZV9mb3JfYWN0aW9uX2VuZGNhcF9vbl9hbmRyb2lkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kc2FfYWRfYmFkZ2VfZm9yX2FjdGlvbl9lbmRjYXBfb25faW9zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lbnRpdHlfc3RvcmVfZnJvbV9kZXBlbmRlbmN5X2luamVjdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfZXJyb3JfY29ycmVjdGlvbnNfaW5mb2NhcmRfd2ViX2NsaWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZXJyb3JfY29ycmVjdGlvbnNfaW5mb2NhcmRzX2ljb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9nZXRfcmVtaW5kZXJfYnV0dG9uX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNiXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pc19leHRlbmRlZF9tb25pdG9yaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9sdGNfcGFyYW1fZmV0Y2hfZnJvbV9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfbW9kZXJuX3NraXBfYnV0dG9uX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9uZXdfcGFpZF9wcm9kdWN0X3BsYWNlbWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfb3V0X29mX3N0b2NrX3RleHRfYWxsX3N1cmZhY2VzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BhdXNlX2Fkc19vbl95dHZfaHRtbDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BsYXllcl9jYXB0aW9uc19wZXJzaXN0ZW5jZV9zdGF0ZV9tYWNoaW5lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wb19kZWNvcmF0aW9uX29mX2ZvcmNlZF90cmFja3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BvbGljeV9iYXNlZF9ocWFfZmlsdGVyX2luX3dhdGNoX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc19jb21tYW5kc19scl9mZWVkc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc3NfY29tbWFuZHNfZWxfZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzc19jb21tYW5kc19scl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3B1Ymxpc2hpbmdfcmVnaW9uX3BhcmFtX2luX3N1c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHZfc2NyZWVuX21vZGVybl90ZXh0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9ycHJfdG9rZW5fb25fbHRsX2xvb2t1cFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2NvbXBhbmlvbl9oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2RhaV9oNV9taWRyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfb25faDVfdW5wbHVnZ2VkX3ZvZF9taWRyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfc2hvcnRzX3BsYXllcl9ieXRlc19oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyX2Zvcl9iYWNrZ3JvdW5kYWJsZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJfdXJsX2dlbmVyYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVhZGFoZWFkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwX2FkX2d1aWRhbmNlX3Byb21wdFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcF90b19uZXh0X21lc3NhZ2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9wbGF5ZXJfY29udHJvbHNfc2hvd25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3BsYXllcl9jb250cm9sc19zaG93bl9vbl93ZWJfaW5jcmVhc2VkX3RyaWdnZXJpbmdfc2Vuc2l0aXZpdHlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfc3BlZWRtYXN0ZXJfb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWVhcmluZ19leHBhbnNpb25fZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zcGxpdF9zY3JlZW5fYWRfYmFzZWxpbmVfZXhwZXJpZW5jZV9lbmRlbWljX2xpdmVfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3N1YmZyYWdtZW50ZWRfY2FwdGlvbl9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3N1cGV4X213ZWJfZGVtb193ZWJmZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdG9fY2FsbF9wbGF5cmVhZHlfYmFja2VuZF9kaXJlY3RseVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdW5pZmllZF9hY3Rpb25fZW5kY2FwX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfdmVub21fbm90aWZpY2F0aW9uX2NhY2hlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfdm9pY2VfYm9vc3RfZmVhdHVyZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdnA5X2FwcGxldHY1X29uX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX2RlbGhpX2ljb25zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfaG9tZV90b3BfbGFuZHNjYXBlX2ltYWdlX2xheW91dF9sZXZlbF9jbGlja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX21lZGlhX3Nlc3Npb25fbWV0YWRhdGFfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfcHJlbWl1bV92YXJpc3BlZWRfdXBzZWxsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfc2hvcnRzX2F1ZGlvX3RyYWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfdGllcmVkX2dlbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2l6X3F1ZXVlX2VmZmVjdF9hbmRfb25faW5pdF9pbml0aWFsX3J1bnNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3l0X2F0YV9pZnJhbWVfYXV0aHVzZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3l0dl9jc2RhaV92cDlcdTAwM2R0cnVlXHUwMDI2ZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19hbGxvd2VkX3ZpZGVvX2lkc1x1MDAzZFtPSmx3SWRvRno5QSwgQXJLYkF4MUstMlUsIG1fZGhNU3ZVQ0ljLCBDMURocEowN1p1RSwgTnEyd1lsV0Z1Y2csIEpDN2YzRVVEYXF3LCB2cjNYeVZDUjRUMCwgZ0NOZURXQ0kwdm8sIGtCVHVkbTRnZU1zLCBGeHNmVlg2QjFNaywgeWxZSlNCVWdhTUEsIFZXaFE2eHNwblNjLCBSSFVhdU1jWWxYMCwgY2IxMkttTU1ESkEsIFdKeEVqX2hycFNnLCBldWhZLXRtZzl4OCwgVGxJVkkyRVc3UjAsIE1JTmZ2T1g0QnpJLCB5SG1QV3praGNaOCwgcDN3MXZPOVh2MjQsIFZsYUNucDFmeEk4LCAtT2ZBMDRCRDRHQSwgMW9kWTNJWXNObm8sIHdpVFRyVnFSVkR3LCBEZm0yckItblE5WSwgUW0xRnR6OGxWbkksIDlpdEF4cV9TR0RNLCB5Rkkzd3BYeTR6QSwgUHk1SllaWEp2em8sIGI0dEU1YUtodGxnLCA1SkR4anNBVmFHaywgZVVtZkdQYXp1RU0sIFc4blRocTYyVmI0LCBWTGp2UzN1ZmxYYywgQmZkTEt2SkJNX2MsIHdlTFhkd1ZqU3hzLCAySmEtdVBPa3o3SSwgQTlRQlZGRVl4T1EsIGstWkZRa2tIVWZjLCB3dXUwRDIwQVpxSSwgX0h2aVN5Qzd6U1UsIF9feE96X1EzcVI0LCB3MnNCODdqTEUxSSwgOHJUVEVNZE1oOFEsIC1rNm1wZ214ZXJVLCA5N2NrbnJKeUxXZywgMkZJdFZ5eExOTmMsIG90bnhmY3NHRS1ZLCBzOXhMMURwQnNmUSwgd2ZBR0JWZ1Vycm8sIG5YSDZUeFEtc2k4LCBXaUkxWGdfbkV1OCwgM2ZsYXNHVlVyQ0EsIGVEWV9IZTkybGNVLCBhNDdja1hLWmp4SSwgSTZXUlhlS1pLNjQsIFQ5SjVEcVAyREt3LCBLdGtfSTBwVXBHOCwgZVEyY3pHcU9DUGcsIGhMbVU0OWhtWjRjLCA3ZjdNZ2FNRTdTYywgUUI1Qk5kQkZ1akUsIEFHaHRNVV9maTcwLCBwMlJhUVVSUkF3QSwgbXpfX0VNWXBXUHcsIDZqaEx1U1FWSXhVLCByQzgzdl91dUlxbywgNkRhR2RKUl9lTGcsIGNtNDN1WGpmdlpZLCBZMUpzUHBtMmJtUSwgejA5N2pQeUtlZW8sIFRZVlpXVVRqa3gwLCBWSGFBdmVuZlREaywgdHY5T1VfNVEwcFEsIDZvS0N2em02SG1nLCBCRUZVRVJoVDBuMCwgdVROLWV1MC1PWEUsIGhiYXByaFI3elRvLCAyQ1YwVi1vTU5GTSwgdThkU09Lb05KcDAsIEg4TXFxd21Gc3hZLCBJc2trbU5QSmRVaywgWDlIX0V6cERHWFFdXHUwMDI2ZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19tYXhfd2luZG93X3NlY29uZHNcdTAwM2Q2MFx1MDAyNmV4cGFuZF9tZWRpYXRla19kZW55bGlzdF90b19hbGxfbGl2ZV92cDlfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkW11cdTAwMjZleHBvcnRfbmV0d29ya2xlc3Nfb3B0aW9uc1x1MDAzZHRydWVcdTAwMjZleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9hZHNfdXN0cmVhbWVyX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX2xpdmVfcmVxdWVzdF9jb25maWdfaW5fdXN0cmVhbWVyX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX3NpbmdsZV92aWRlb193aXRoX25vdGlmeV90b19sYXNyXHUwMDNkdHJ1ZVx1MDAyNmZpbHRlcl92Yl93aXRob3V0X25vbl92Yl9lcXVpdmFsZW50c1x1MDAzZHRydWVcdTAwMjZmaWx0ZXJfdnA5X2Zvcl9saXZlX2RhaVx1MDAzZHRydWVcdTAwMjZmaXhfYWRfbWluaXBsYXllcl9jb250cm9sc19yZW5kZXJpbmdcdTAwM2R0cnVlXHUwMDI2Zml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViXHUwMDNkdHJ1ZVx1MDAyNmZpeF9oNV90b2dnbGVfYnV0dG9uX2ExMXlcdTAwM2R0cnVlXHUwMDI2Zml4X3N1cnZleV9jb2xvcl9jb250cmFzdF9vbl9kZXN0b3BcdTAwM2R0cnVlXHUwMDI2ZnJlc2NhX3BvbGxpbmdfZGVsYXlfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2Z2FiX3JldHVybl9zYWJyX3NzZGFpX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZnZWxfbWluX2JhdGNoX3NpemVcdTAwM2QzXHUwMDI2Z2VsX3F1ZXVlX3RpbWVvdXRfbWF4X21zXHUwMDNkNjAwMDBcdTAwMjZndmlfY2hhbm5lbF9jbGllbnRfc2NyZWVuXHUwMDNkdHJ1ZVx1MDAyNmg1X2NvbXBhbmlvbl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZoNV9lbmFibGVfYWRfbWJzXHUwMDNkdHJ1ZVx1MDAyNmg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmg1X3Jlc2V0X2NhY2hlX2FuZF9maWx0ZXJfYmVmb3JlX3VwZGF0ZV9tYXN0aGVhZFx1MDAzZHRydWVcdTAwMjZoNV96ZXJvX2R1cmF0aW9uX2N1ZV9yYW5nZV9mb3JfZGlic1x1MDAzZHRydWVcdTAwMjZoZnJfZHJvcHBlZF9mcmFtZXJhdGVfZmFsbGJhY2tfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmhpZ2hfY2N2X2NsaWVudF9zaWRlX2NhY2hpbmdfaDVcdTAwM2R0cnVlXHUwMDI2aGxzX3VzZV9uZXdfY29kZWNzX3N0cmluZ19hcGlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWRfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9hZGFwdGF0aW9uX3N0ZXBfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfYWRzX3ByZXJvbGxfbG9ja190aW1lb3V0X2RlbGF5X21zXHUwMDNkMTUwMDBcdTAwMjZodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ByZWxvYWRpbmdfd2l0aF9pZGxlX29ubHlfbmV0d29ya19mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9hbGxvd192aWRlb19rZXlmcmFtZV93aXRob3V0X2F1ZGlvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X2NvbnN0cmFpbnRzX2luX2NsaWVudF9mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9taW5fZmFpbHVyZXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfc3RhcnRfdGltZV93aXRoaW5fYWRzX2Zvcl9zc2RhaV90cmFuc2l0aW9uc1x1MDAzZHRydWVcdTAwMjZodG1sNV9hdHJfZGlzYWJsZV9mb3JjZV9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9hdHRfcGxheWJhY2tfdGltZW91dF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfYXR0YWNoX251bV9yYW5kb21fYnl0ZXNfdG9fYmFuZGFpZFx1MDAzZDBcdTAwMjZodG1sNV9hdHRhY2hfcG9fdG9rZW5fdG9fYmFuZGFpZFx1MDAzZHRydWVcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcFx1MDAzZDcyMFx1MDAyNmh0bWw1X2F1dG9wbGF5X2RlZmF1bHRfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfYXV4aWxpYXJ5X2VzdGltYXRlX3dlaWdodFx1MDAzZDAuMFx1MDAyNmh0bWw1X2F2MV9vcmRpbmFsX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9iYW5kYWlkX2F0dGFjaF9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Jsb2NrX3BpcF9zYWZhcmlfZGVsYXlcdTAwM2QwXHUwMDI2aHRtbDVfYnlwYXNzX2NvbnRlbnRpb25fc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2NoZWNrX2Zvcl9pZGxlX25ldHdvcmtfaW50ZXJ2YWxfbXNcdTAwM2QxMDAwXHUwMDI2aHRtbDVfY2hpcHNldF9zb2Z0X2NhcFx1MDAzZDgxOTJcdTAwMjZodG1sNV9jbGFtcF9pbnZhbGlkX3NlZWtfdG9fbWluX3NlZWthYmxlX3RpbWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfY29uc3VtZV9hbGxfYnVmZmVyZWRfYnl0ZXNfb25lX3BvbGxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfY29udGludW91c19nb29kcHV0X3Byb2JlX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X2Q2ZGU0X2Nsb3VkX3Byb2plY3RfbnVtYmVyXHUwMDNkODY4NjE4Njc2OTUyXHUwMDI2aHRtbDVfZGVidWdfZGF0YV9sb2dfcHJvYmFiaWxpdHlcdTAwM2QwLjBcdTAwMjZodG1sNV9kZWNvZGVfdG9fdGV4dHVyZV9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVmYXVsdF9hZF9nYWluXHUwMDNkMC41XHUwMDI2aHRtbDVfZGVmYXVsdF9hdjFfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmh0bWw1X2RlZmF1bHRfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfZGVmZXJfZmV0Y2hfYXR0X21zXHUwMDNkMFx1MDAyNmh0bWw1X2RlbGF5ZWRfcmV0cnlfY291bnRcdTAwM2QxXHUwMDI2aHRtbDVfZGVsYXllZF9yZXRyeV9kZWxheV9tc1x1MDAzZDUwMDBcdTAwMjZodG1sNV9kZXByZWNhdGVfYWRhcHRpdmVfZm9ybWF0c19zdHJpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX2Fkc2VydmljZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXByZWNhdGVfbWFuaWZlc3RmdWxfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX3ZpZGVvX3RhZ19wb29sXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rlc2t0b3BfdnIxODBfYWxsb3dfcGFubmluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoXHUwMDNkMC42XHUwMDI2aHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9jbGllbnRfYXV0b25hdl9jYXBfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX2xvb3BfcmFuZ2VfZm9yX3Nob3J0c19hZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9ub25fY29udGlndW91c1x1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3BlYWtfc2hhdmVfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3VzdHJlYW1lcl9jb25zdHJhaW50X2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfd2ViX3NhZmFyaV9kYWlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzcGxheWVkX2ZyYW1lX3JhdGVfZG93bmdyYWRlX3RocmVzaG9sZFx1MDAzZDQ1XHUwMDI2aHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2RybV9jaGVja19hbGxfa2V5X2Vycm9yX3N0YXRlc1x1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fY3BpX2xpY2Vuc2Vfa2V5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RybV9saXZlX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9zaGFycGVyX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzX3BoYXNlX3R3b1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfY2FwdGlvbl9jaGFuZ2VzX2Zvcl9tb3NhaWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NvbXBvc2l0ZV9lbWJhcmdvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRfY29sZF9zdGFydF9hbmRfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2RyY190b2dnbGVfYXBpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbWJlZGRlZF9wbGF5ZXJfdmlzaWJpbGl0eV9zaWduYWxzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9vZHVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zvcm1hdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfZnJvbV93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9vbl95dF9lbWJlZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfdm9kX3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVxdWVzdF9jYW5jZWxsYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3Nwc19yZXRyeV9iYWNrb2ZmX21ldGFkYXRhX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zc2RhaV90cmFuc2l0aW9uX3dpdGhfb25seV9lbnRlcl9jdWVyYW5nZVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHJpZ2dlcmluZ19jdWVwb2ludF9mb3Jfc2xvdFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19kYXNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV90dm9zX2VuY3J5cHRlZF92cDlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2NpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZmlsbF9kZWZhdWx0X21vc2FpY19hdWRpb190cmFja19pZFx1MDAzZHRydWVcdTAwMjZodG1sNV9maXhlZF9tZWRpYV9kdXJhdGlvbl9mb3JfcmVxdWVzdFx1MDAzZDBcdTAwMjZodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yY2Vfc2Ficl9mcm9tX3dhdGNoX3NlcnZlcl9mb3JfZGZzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9mb3J3YXJkX2NsaWNrX3RyYWNraW5nX3BhcmFtc19vbl9yZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9hdXRvcGxheV9vbl92aWRlb190b19hZF9vbmx5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXNcdTAwM2QyMDBcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfaGFuZG9mZl9jbG9zZV9lbmRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX2xvb3Bfc2Vla19vZmZzZXRfaW5fbWlsbGlcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3NlZWtfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nZW5lcmF0ZV9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzXHUwMDNkMFx1MDAyNmh0bWw1X2hkY3BfcHJvYmluZ19zdHJlYW1fdXJsXHUwMDNkXHUwMDI2aHRtbDVfaGVhZF9taXNzX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfaGlnaF9yZXNfbG9nZ2luZ19wZXJjZW50XHUwMDNkMC4wMVx1MDAyNmh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9ob3BlbGVzc19zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X2h1bGlfc3NkYWlfdXNlX3BsYXliYWNrX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lkbGVfcmF0ZV9saW1pdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9pZ25vcmVfcGFydGlhbF9zZWdtZW50X2Zyb21fbGl2ZV9yZWFkYWhlYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaWdub3JlX3NhYnJzZWVrX2R1cmluZ19hZHNraXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaW5uZXJ0dWJlX2hlYXJ0YmVhdHNfZm9yX2ZhaXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl93aWRldmluZVx1MDAzZHRydWVcdTAwMjZodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMy4wXHUwMDI2aHRtbDVfanVtYm9fdWxsX25vbnN0cmVhbWluZ19tZmZhX21zXHUwMDNkNDAwMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRcdTAwM2QxLjNcdTAwMjZodG1sNV9rYWJ1a2lfZHJtX2xpdmVfNTFfZGVmYXVsdF9vZmZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbGljZW5zZV9jb25zdHJhaW50X2RlbGF5XHUwMDNkNTAwMFx1MDAyNmh0bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfYWJyX3JlcHJlZGljdF9mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfY2h1bmtfcmVhZGFoZWFkX3Byb3hpbWFfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9saXZlX3VsdHJhX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3dcdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9jaHVua19vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xvZ19hdWRpb19hYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX2V4cGVyaW1lbnRfaWRfZnJvbV9wbGF5ZXJfcmVzcG9uc2VfdG9fY3RtcFx1MDAzZFx1MDAyNmh0bWw1X2xvZ19maXJzdF9zc2RhaV9yZXF1ZXN0c19raWxsc3dpdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19yZWJ1ZmZlcl9ldmVudHNcdTAwM2Q1XHUwMDI2aHRtbDVfbG9nX3NhYnJfbWFsZm9ybWVkX2NvbmZpZ19wcm90b19zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YVx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfdnNzX2V4dHJhX2xyX2NwYXJhbXNfZnJlcVx1MDAzZFx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX3RocmVzaG9sZF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J5dGVyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X21heF9kaXNjb250aW51aXR5X3Jld3JpdGVfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X2RyaWZ0X3Blcl90cmFja19zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2hlYWRtX2Zvcl9zdHJlYW1pbmdfeGhyXHUwMDNkMFx1MDAyNmh0bWw1X21heF9saXZlX2R2cl93aW5kb3dfcGx1c19tYXJnaW5fc2Vjc1x1MDAzZDQ2ODAwLjBcdTAwMjZodG1sNV9tYXhfcXVhbGl0eV9zZWxfdXBncmFkZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfcmVkaXJlY3RfcmVzcG9uc2VfbGVuZ3RoXHUwMDNkODE5Mlx1MDAyNmh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9tYXhfdmVydGljYWxfcmVzb2x1dGlvblx1MDAzZDBcdTAwMjZodG1sNV9tYXhpbXVtX3JlYWRhaGVhZF9zZWNvbmRzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWVkaWFfZnVsbHNjcmVlblx1MDAzZHRydWVcdTAwMjZodG1sNV9tZWRpYV90aW1lX3dlaWdodF9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWZjX21heF9xdWV1ZV9sZW5ndGhcdTAwM2QxXHUwMDI2aHRtbDVfbWZjX21pbl9idWZmZXJfaGVhbHRoXHUwMDNkMFx1MDAyNmh0bWw1X21mY19zZWNzX2xlZnRfdG9fc3RhcnRfcHJlbG9hZFx1MDAzZDBcdTAwMjZodG1sNV9taW5fZmFpbHVyZXNfdG9fZGVsYXlfcmV0cnlcdTAwM2QzXHUwMDI2aHRtbDVfbWluX21lZGlhX2R1cmF0aW9uX2Zvcl9hcHBlbmRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfY2Ficl9zbGljZVx1MDAzZDAuMDFcdTAwMjZodG1sNV9taW5fcGxheWJhY2tfYWR2YW5jZV9mb3Jfc3RlYWR5X3N0YXRlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9jYXBfc2Vjc1x1MDAzZDYwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fc2Vjb25kc19iZXR3ZWVuX2Zvcm1hdF9zZWxlY3Rpb25zXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3NlbGVjdGFibGVfcXVhbGl0eV9vcmRpbmFsXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2J1ZmZlcmVkX21lZGlhX2R1cmF0aW9uX2Zvcl9saXZlX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9zZWNzXHUwMDNkMS4yXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfZHVyYXRpb25fbGl2ZV9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zXHUwMDNkMFx1MDAyNmh0bWw1X21pbl91cGdyYWRlX2hlYWx0aF9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21vY2tfY29udGVudF9iaW5kaW5nX2Zvcl9zZXNzaW9uX3Rva2VuXHUwMDNkXHUwMDI2aHRtbDVfbW92ZV9kaXNhYmxlX2FpcnBsYXlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbm9fcGxhY2Vob2xkZXJfcm9sbGJhY2tzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vbl9vbmVzaWVfYXR0YWNoX3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfZG93bmxvYWRfdGltZW91dF9yZXRyeV9saW1pdFx1MDAzZDRcdTAwMjZodG1sNV9vZmZsaW5lX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QyXHUwMDI2aHRtbDVfb2ZmbGluZV9wbGF5YmFja19wb3NpdGlvbl9zeW5jXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfcHJldmVudF9yZWRvd25sb2FkX2Rvd25sb2FkZWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2NoZWNrX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2RlZmVyX2NvbnRlbnRfbG9hZGVyX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9saXZlX3R0bF9zZWNzXHUwMDNkOFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX21heF9sYWN0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9yZWRpcmVjdG9yX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfb25lc2llX3NlbmRfc3RyZWFtZXJfY29udGV4dFx1MDAzZHRydWVcdTAwMjZodG1sNV9vdmVycmlkZV9taWNyb19kaXNjb250aW51aXRpZXNfdGhyZXNob2xkX21zXHUwMDNkLTFcdTAwMjZodG1sNV9wYWNlZF9wb2xsX21pbl9oZWFsdGhfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9wYXVzZV9vbl9ub25mb3JlZ3JvdW5kX3BsYXRmb3JtX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wZWFrX3NoYXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BlcmZfY2FwX292ZXJyaWRlX3N0aWNreVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3JcdTAwM2QzNjBcdTAwMjZodG1sNV9wZXJzZXJ2ZV9hdjFfcGVyZl9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGljdHVyZV9pbl9waWN0dXJlX2xvZ2dpbmdfb25yZXNpemVfcmF0aW9cdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV9tYXhfYnVmZmVyX2hlYWx0aF9vdmVyc2VuZF9kdXJhdGlvbl9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX3doaXRlbGlzdGVkX2Zvcl9mcmFtZV9hY2N1cmF0ZV9zZWVrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfYXR0X2luaXRpYWxfZGVsYXlfbXNcdTAwM2QzMDAwXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9yZXRyeV9kZWxheV9tc1x1MDAzZDE1MDBcdTAwMjZodG1sNV9wbGF5ZXJfYXV0b25hdl9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9lczZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX21pbl9idWlsZF9jbFx1MDAzZC0xXHUwMDI2aHRtbDVfcGxheWVyX3ByZWxvYWRfYWRfZml4XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Bvc3RfaW50ZXJydXB0X3JlYWRhaGVhZFx1MDAzZDIwXHUwMDI2aHRtbDVfcHJlZmVyX2xhbmd1YWdlX292ZXJfY29kZWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlZmVyX3NlcnZlcl9id2UzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfYmVmb3JlX2luaXRpYWxfc2Vla193aXRoX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlbG9hZF93YWl0X3RpbWVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3ByZXZlbnRfbW9iaWxlX2JhY2tncm91bmRfcGxheV9vbl9ldmVudF9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJvYmVfcHJpbWFyeV9kZWxheV9iYXNlX21zXHUwMDNkMFx1MDAyNmh0bWw1X3Byb2Nlc3NfYWxsX2VuY3J5cHRlZF9ldmVudHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcW9lX3Byb3RvX21vY2tfbGVuZ3RoXHUwMDNkMFx1MDAyNmh0bWw1X3F1ZXJ5X3N3X3NlY3VyZV9jcnlwdG9fZm9yX2FuZHJvaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmFuZG9tX3BsYXliYWNrX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9yZWNvcmRfaXNfb2ZmbGluZV9vbl9wbGF5YmFja19hdHRlbXB0X3N0YXJ0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlY29yZF91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbG9hZF9ieV9rYWJ1a2lfYXBwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9jb21tYW5kX3RyaWdnZXJlZF9jb21wYW5pb25zXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9ub3Rfc2VydmFibGVfY2hlY2tfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfZmF0YWxfZHJtX3Jlc3RyaWN0ZWRfZXJyb3Jfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfc2xvd19hZHNfYXNfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwcmVkaWN0X2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X3JlcXVlc3Rfb25seV9oZHJfb3Jfc2RyX2tleXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21heF9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcmVzZXRfYmFja29mZl9vbl91c2VyX3NlZWtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVzb3VyY2VfYmFkX3N0YXR1c19kZWxheV9zY2FsaW5nXHUwMDNkMS41XHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfZG93bmxvYWRzX2Zvcl9leHBpcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV9rZXlfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfb25fZHJtX3VuYXZhaWxhYmxlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X3F1b3RhX2V4Y2VlZGVkX3ZpYV9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHVybl9wbGF5YmFja19pZl9hbHJlYWR5X3ByZWxvYWRlZFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2VuYWJsZV9zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mZXRjaF9vbl9pZGxlX25ldHdvcmtfcHJlbG9hZGVkX3BsYXllcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mb3JjZV9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX25vcm1hbF9sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xpdmVfdWx0cmFfbG93X2xhdGVuY3lfc3RyZWFtaW5nX3hoclx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xvZ19zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25fb25lc2llX21pc21hdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbWluX21lZGlhX2J5dGVzX2ZhY3Rvcl90b19hcHBlbmRfZm9yX3N0cmVhbVx1MDAzZDAuMFx1MDAyNmh0bWw1X3NhYnJfbm9uX3N0cmVhbWluZ194aHJfcmVxdWVzdF9jYW5jZWxsYXRpb25fdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcG9ydF9yZXF1ZXN0X2NhbmNlbGxhdGlvbl9pbmZvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfcmVxdWVzdF9saW1pdF9wZXJfcGVyaW9kXHUwMDNkMjBcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3Rfb25fY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NlZWtfbm9fc2hpZnRfdG9sZXJhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc2tpcF9jbGllbnRfYXVkaW9faW5pdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zdWNjZXNzZnVsX3Byb2JlX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfdW51c2VkX2Jsb2F0X3NpemVfYnl0ZXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ftc3VuZ19rYW50X2xpbWl0X21heF9iaXRyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDgwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX2RlbGF5X21zXHUwMDNkMTIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX3Nob3J0c19kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19tZWRpYV9lbGVtZW50X3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla190aW1lb3V0X2RlbGF5X21zXHUwMDNkMjAwMDBcdTAwMjZodG1sNV9zZW5kX2N1ZXBvaW50X2lkX2luX2FkX2JyZWFrX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VuZF9zZXJpYWxpemVkX29uZV90aW1lX3FvZV9jb250ZXh0X2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9zZXJ2ZXJfc3RpdGNoZWRfZGFpX2RlY29yYXRlZF91cmxfcmV0cnlfbGltaXRcdTAwM2Q1XHUwMDI2aHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zXHUwMDNkOTAwMDAwXHUwMDI2aHRtbDVfc2V0X3ZpZGVvX2lkX2FzX2V4cGVjdGVkX2NvbnRlbnRfYmluZGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25leHRfYnVmZmVyX2luX3NlY29uZHNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfbm9fZ2xsYXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG93X2RyY190b2dnbGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2ltcGxpZmllZF9iYWNrdXBfdGltZW91dF9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9lbXB0eV9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9za2lwX3Nsb3dfYWRfZGVsYXlfbXNcdTAwM2QxNTAwMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfbm9fbWVkaWFfc291cmNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3NkYWlfZmFpbHVyZV9yZXRyeV9saW1pdFx1MDAzZDBcdTAwMjZodG1sNV9zc2RhaV9sb2dfbWlzc2luZ19hZF9jb25maWdfcmVhc29uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0YWxsX2ZhY3Rvclx1MDAzZDAuMFx1MDAyNmh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RpY2t5X2R1cmF0aW9uX21vc1x1MDAzZDBcdTAwMjZodG1sNV9zdG9yZV94aHJfaGVhZGVyc19yZWFkYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfcmVzaWxpZW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfeGhyX3RpbWVfYmFzZWRfY29uc29saWRhdGlvbl9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbG9hZF9zcGVlZF9jaGVja19pbnRlcnZhbFx1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3NcdTAwM2QwLjI1XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjc19vbl90aW1lb3V0XHUwMDNkMC4xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2xvYWRfc3BlZWRcdTAwM2QxLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9zZWVrX2xhdGVuY3lfZnVkZ2VcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRfYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGltZW91dF9zZWNzXHUwMDNkMi4wXHUwMDI2aHRtbDVfdHJhY2tfb3ZlcnNob290XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3RyYW5zZmVyX3Byb2Nlc3NpbmdfbG9nc19pbnRlcnZhbFx1MDAzZDEwMDBcdTAwMjZodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29ya1x1MDAzZHRydWVcdTAwMjZodG1sNV91Z2NfbGl2ZV9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91Z2Nfdm9kX2F1ZGlvXzUxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VucmVwb3J0ZWRfc2Vla19yZXNlZWtfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfdXBkYXRlX3RpbWVfb25fc2Vla2VkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfaW5pdF9zZWxlY3RlZF9hdWRpb1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2Vfbm9uX2FjdGl2ZV9icm9hZGNhc3RfZm9yX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfcG9zdF9mb3JfbWVkaWFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3NoYXJlZF9vd2xfaW5zdGFuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3JlcXVlc3Rfc2xpY2VyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb19xdWFsaXR5X2NhcF9mb3JfdXN0cmVhbWVyX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3ZpZGVvX3RyYW5zaXRpb25fZW5kcG9pbnRfaGVhcnRiZWF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ZpZGVvX3RiZF9taW5fa2JcdTAwM2QwXHUwMDI2aHRtbDVfdmlld3BvcnRfdW5kZXJzZW5kX21heGltdW1cdTAwM2QwLjBcdTAwMjZodG1sNV92b2x1bWVfc2xpZGVyX3Rvb2x0aXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd2ViX3BvX2V4cGVyaW1lbnRfaWRzXHUwMDNkW11cdTAwMjZodG1sNV93ZWJfcG9fcmVxdWVzdF9rZXlcdTAwM2RcdTAwMjZodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfd29mZmxlX3Jlc3VtZVx1MDAzZHRydWVcdTAwMjZodG1sNV93b3JrYXJvdW5kX2RlbGF5X3RyaWdnZXJcdTAwM2R0cnVlXHUwMDI2aWRiX2ltbWVkaWF0ZV9jb21taXRcdTAwM2R0cnVlXHUwMDI2aWdub3JlX292ZXJsYXBwaW5nX2N1ZV9wb2ludHNfb25fZW5kZW1pY19saXZlX2h0bWw1XHUwMDNkdHJ1ZVx1MDAyNmlsX2F0dGFjaF9jYWNoZV9saW1pdFx1MDAzZHRydWVcdTAwMjZpbF9wYXlsb2FkX3NjcmFwaW5nXHUwMDNkXHUwMDI2aWxfdXNlX3ZpZXdfbW9kZWxfbG9nZ2luZ19jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNmluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2QyMDAwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2xpY2Vuc2Vfc3RhdHVzXHUwMDNkMFx1MDAyNmlvc19hbmRfYW5kcm9pZF9mcmVzY2FfcG9sbGluZ19kZWxheV9vdmVycmlkZVx1MDAzZDBcdTAwMjZpdGRybV9hbHdheXNfdXNlX3dpZGV2aW5lX3Nka1x1MDAzZHRydWVcdTAwMjZpdGRybV9kaXNhYmxlX2V4dGVybmFsX2tleV9yb3RhdGlvbl9zeXN0ZW1faWRzXHUwMDNkW11cdTAwMjZpdGRybV9lbmFibGVfcmV2b2NhdGlvbl9yZXBvcnRpbmdcdTAwM2R0cnVlXHUwMDI2aXRkcm1faW5qZWN0ZWRfbGljZW5zZV9zZXJ2aWNlX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aXRkcm1fc2V0X3NhYnJfbGljZW5zZV9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV9mYWlycGxheV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fdXNlX3dpZGV2aW5lX3Nka19mb3JfcHJlbWl1bV9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3dpZGV2aW5lX2hhcmRlbmVkX3ZtcF9tb2RlXHUwMDNkbG9nXHUwMDI2anNvbl9jb25kZW5zZWRfcmVzcG9uc2VcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3RcdTAwM2RbXVx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9pZGVhbF90aWxlX3dpZHRoX3BlcmNlbnRhZ2VcdTAwM2QwLjI3XHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21heF9yb3dzXHUwMDNkMlx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfd2lkdGhcdTAwM2Q1MDBcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWluX3dpZHRoXHUwMDNkMjAwXHUwMDI2a2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX2V4cGFuZF90b3BcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXJfcGxheV9wYXVzZV9vbl9zY3JpbVx1MDAzZHRydWVcdTAwMjZrZXZsYXJfcGxheWJhY2tfYXNzb2NpYXRlZF9xdWV1ZVx1MDAzZHRydWVcdTAwMjZsYXVuY2hfbGljZW5zZV9zZXJ2aWNlX2FsbF9vdHRfdmlkZW9zX2F1dG9tYXRpY19mYWlsX29wZW5cdTAwM2R0cnVlXHUwMDI2bGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZVx1MDAzZHRydWVcdTAwMjZsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyXHUwMDNkdHJ1ZVx1MDAyNmxpdmVfY2h1bmtfcmVhZGFoZWFkXHUwMDNkM1x1MDAyNmxvZ19jbGlja193aXRoX2xheWVyX2Zyb21fZWxlbWVudF9pbl9jb21tYW5kX2hhbmRsZXJcdTAwM2R0cnVlXHUwMDI2bG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uXHUwMDNkMC4xXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlX3VmcGhcdTAwM2R0cnVlXHUwMDI2bWF4X2JvZHlfc2l6ZV90b19jb21wcmVzc1x1MDAzZDUwMDAwMFx1MDAyNm1heF9jZGZlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZtYXhfcHJlZmV0Y2hfd2luZG93X3NlY19mb3JfbGl2ZXN0cmVhbV9vcHRpbWl6YXRpb25cdTAwM2QxMFx1MDAyNm1heF9yZXNvbHV0aW9uX2Zvcl93aGl0ZV9ub2lzZVx1MDAzZDM2MFx1MDAyNm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpXHUwMDNkdHJ1ZVx1MDAyNm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHRcdTAwM2R0cnVlXHUwMDI2bWluX3ByZWZldGNoX29mZnNldF9zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMjBcdTAwMjZtdGFfZHJjX211dHVhbF9leGNsdXNpb25fcmVtb3ZhbFx1MDAzZHRydWVcdTAwMjZtdXNpY19lbmFibGVfc2hhcmVkX2F1ZGlvX3RpZXJfbG9naWNcdTAwM2R0cnVlXHUwMDI2bXdlYl9hY2NvdW50X2xpbmtpbmdfbm9hcHBcdTAwM2R0cnVlXHUwMDI2bXdlYl9kZWJ1Z19zdGlja3lfc2V0dGluZ3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfY2xpY2tfdG9fcGxheV9wYXVzZVx1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjc1x1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9tb3JlX2NodW5rc1x1MDAzZHRydWVcdTAwMjZtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2bXdlYl9wbGF5ZXJfY29udHJvbF9vbl9ob3Zlclx1MDAzZHRydWVcdTAwMjZtd2ViX3Byb2dyZXNzX2Jhcl9zZWVrX29uX21vdXNlX2NsaWNrXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZVx1MDAzZHRydWVcdTAwMjZtd2ViX3VzZV9taWNyb2Zvcm1hdF90aXRsZV9mb3JfcG9zdHNcdTAwM2R0cnVlXHUwMDI2bmV0d29ya19wb2xsaW5nX2ludGVydmFsXHUwMDNkMzAwMDBcdTAwMjZuZXR3b3JrbGVzc19sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNm5ld19jb2RlY3Nfc3RyaW5nX2FwaV91c2VzX2xlZ2FjeV9zdHlsZVx1MDAzZHRydWVcdTAwMjZub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93blx1MDAzZHRydWVcdTAwMjZub19maWxsZXJfdmlkZW9fZm9yX3NzYV9wbGF5YmFja3NcdTAwM2R0cnVlXHUwMDI2b3ZlcnJpZGVfZHJtX3JlcXVpcmVkX3BsYXliYWNrX3BvbGljeV9jaGFubmVsc1x1MDAzZFtdXHUwMDI2cGFnZWlkX2FzX2hlYWRlcl93ZWJcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Fkc19zZXRfYWRmb3JtYXRfb25fY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9ib290c3RyYXBfbWV0aG9kXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9jb250cm9sc192b2x1bWVfY29udHJvbHNfdXNlX3BsYXllcl9wcm9wc1x1MDAzZHRydWVcdTAwMjZwbGF5ZXJfZGVzdHJveV9vbGRfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfZW5hYmxlX3BsYXliYWNrX3BsYXlsaXN0X2NoYW5nZVx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfbmV3X2luZm9fY2FyZF9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2cGxheWVyX3VuZGVybGF5X21pbl9wbGF5ZXJfd2lkdGhcdTAwM2Q3NjguMFx1MDAyNnBsYXllcl91bmRlcmxheV92aWRlb193aWR0aF9mcmFjdGlvblx1MDAzZDAuNlx1MDAyNnBsYXllcl93ZWJfY2FuYXJ5X3N0YWdlXHUwMDNkMFx1MDAyNnBsYXlyZWFkeV9maXJzdF9wbGF5X2V4cGlyYXRpb25cdTAwM2QtMVx1MDAyNnBvZGNhc3RzX3ZpZGVvc3RhdHNfZGVmYXVsdF9mbHVzaF9pbnRlcnZhbF9zZWNvbmRzXHUwMDNkMFx1MDAyNnBvbHltZXJfYmFkX2J1aWxkX2xhYmVsc1x1MDAzZHRydWVcdTAwMjZwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNnBvcHVsYXRlX2Zvcm1hdF9zZXRfaW5mb19pbl9jZGZlX2Zvcm1hdHNcdTAwM2R0cnVlXHUwMDI2cHJlc2tpcF9idXR0b25fc3R5bGVfYWRzX2JhY2tlbmRcdTAwM2RcdTAwMjZwcm94aW1hX2F1dG9fdGhyZXNob2xkX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tc1x1MDAzZDBcdTAwMjZwcm94aW1hX2F1dG9fdGhyZXNob2xkX21pbl9iYW5kd2lkdGhfZXN0aW1hdGVfYnl0ZXNfcGVyX3NlY1x1MDAzZDBcdTAwMjZxb2Vfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9ub25fYXBwX2Fkc1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrXHUwMDNkMFx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfcGxheWJhY2tfYWRzXHUwMDNkMFx1MDAyNnJlYWRfYWhlYWRfbW9kZWxfbmFtZVx1MDAzZFx1MDAyNnJlamVjdF9oaWRkZW5fbGl2ZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnJlamVjdF9saXZlX3ZwOV9tcV9jbGVhcl93aXRoX25vX2Ficl9sYWRkZXJcdTAwM2R0cnVlXHUwMDI2cmVsYXhfYmdfbm90aWZpY2F0aW9uX3Rocm90dGxpbmdcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX2NoZXZyb25fZnJvbV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9oNVx1MDAzZHRydWVcdTAwMjZyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaFx1MDAzZHRydWVcdTAwMjZyZW1vdmVfc2xvdF9pZF9leGl0ZWRfdHJpZ2dlcl9mb3JfZGFpX2luX3BsYXllcl9zbG90X2V4cGlyZVx1MDAzZHRydWVcdTAwMjZyZXBsYWNlX3BsYXlhYmlsaXR5X3JldHJpZXZlcl9pbl93YXRjaFx1MDAzZHRydWVcdTAwMjZyb3NjYXNcdTAwM2R0cnVlXHUwMDI2c2Ficl9lbmFibGVfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZzZWxmX3BvZGRpbmdfaGVhZGVyX3N0cmluZ190ZW1wbGF0ZVx1MDAzZHNlbGZfcG9kZGluZ19pbnRlcnN0aXRpYWxfbWVzc2FnZVx1MDAyNnNlbGZfcG9kZGluZ19taWRyb2xsX2Nob2ljZV9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2VcdTAwMjZzZW5kX2NvbmZpZ19oYXNoX3RpbWVyXHUwMDNkMFx1MDAyNnNlcnZlX2FkYXB0aXZlX2ZtdHNfZm9yX2xpdmVfc3RyZWFtc1x1MDAzZHRydWVcdTAwMjZzZXRfbW9ja19pZF9hc19leHBlY3RlZF9jb250ZW50X2JpbmRpbmdcdTAwM2RcdTAwMjZzaGVsbF9sb2FkX2djZlx1MDAzZHRydWVcdTAwMjZzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2c2hvcnRzX21vZGVfdG9fcGxheWVyX2FwaVx1MDAzZHRydWVcdTAwMjZzaG91bGRfYXR0cmlidXRlX3RvX3dhdGNoX3dpdGhfc291cmNlXHUwMDNkW11cdTAwMjZzaG91bGRfYXR0cmlidXRlX3ZpZXdzX3RvX3dhdGNoX3dpdGhfc291cmNlXHUwMDNkdHJ1ZVx1MDAyNnNpbXBseV9lbWJlZGRlZF9lbmFibGVfYm90Z3VhcmRcdTAwM2R0cnVlXHUwMDI2c2xvd19jb21wcmVzc2lvbnNfYmVmb3JlX2FiYW5kb25fY291bnRcdTAwM2Q0XHUwMDI2c21hbGxfYXZhdGFyc19mb3JfY29tbWVudHNcdTAwM2R0cnVlXHUwMDI2c21hcnRfc2tpcF93ZWJfcGxheWVyX2Jhcl9taW5faG92ZXJfbGVuZ3RoX21pbGxpc2Vjb25kc1x1MDAzZDEwMDBcdTAwMjZzbWFydGVyX3ZlX2RlZHVwcGluZ1x1MDAzZHRydWVcdTAwMjZzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHBcdTAwM2QxMFx1MDAyNnNwZWVkbWFzdGVyX3BsYXliYWNrX3JhdGVcdTAwM2QyLjBcdTAwMjZzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zXHUwMDNkNTAwXHUwMDI2c3RvcF9oYW5kbGluZ19jbGlja19mb3Jfbm9uX3JlbmRlcmluZ19vdmVybGF5X2xheW91dFx1MDAzZHRydWVcdTAwMjZzdHJlYW1pbmdfZGF0YV9lbWVyZ2VuY3lfaXRhZ19ibGFja2xpc3RcdTAwM2RbXVx1MDAyNnN1YnN0aXR1dGVfYWRfY3BuX21hY3JvX2luX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNnN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNnRyaW1fYWRhcHRpdmVfZm9ybWF0c19zaWduYXR1cmVfY2lwaGVyX2Zvcl9zYWJyX2NvbnRlbnRcdTAwM2R0cnVlXHUwMDI2dHZodG1sNV91bnBsdWdnZWRfcHJlbG9hZF9jYWNoZV9zaXplXHUwMDNkNVx1MDAyNnVzZV9jdWVfcmFuZ2VfbWFya2VyX3Bvc2l0aW9uXHUwMDNkdHJ1ZVx1MDAyNnVzZV9ldmVudF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfZXh0cmFfcmVhZGFoZWFkX25vcm1hbF9sYXRlbmN5X2ZyYW1lX2xldmVsX3N0cmVhbWluZ19pbl9iYWNrZW5kX2V4cGVyaW1lbnRcdTAwM2RbXVx1MDAyNnVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZ1c2VfZ2VuZXJhdGVkX21lZGlhX2tleXNfaW5fZmFpcnBsYXlfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwY1x1MDAzZHRydWVcdTAwMjZ1c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNnVzZV9wbGF5YWJpbGl0eV9yZXN1bHRfZm9yX2Nhbl9wbGF5X3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfcnRhX2Zvcl9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2dXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmdcdTAwM2R0cnVlXHUwMDI2dXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlXHUwMDNkdHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNnZwOV9kcm1fbGl2ZVx1MDAzZHRydWVcdTAwMjZ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc191c2VfcG9zdF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNndlYl9hcGlfdXJsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGVcdTAwM2Q1MDAuMFx1MDAyNndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlXHUwMDNkXHUwMDI2d2ViX2NvbGxlY3Rfb2ZmbGluZV9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9kZWR1cGVfdmVfZ3JhZnRpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2Rpc2FibGVfY2FwdGlvbl9vcGFjaXR5X2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb25cdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9hYl9yc3BfY2xcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jYXB0aW9uX2xhbmd1YWdlX3ByZWZlcmVuY2Vfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NhcHRpb25zX3NldF90YXJnZXRfY29udGFpbmVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9lcnJvcl8yMDRcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9rZXlib2FyZF9zaG9ydGN1dF9mb3JfdGltZWx5X2FjdGlvbnNcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9sYXp5X2Nzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3Nob3BwaW5nX3RpbWVseV9zaGVsZl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9zbWFsbF9zcGVlZG1hc3Rlclx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9maXhfZmluZV9zY3J1YmJpbmdfZmFsc2VfcGxheVx1MDAzZHRydWVcdTAwMjZ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXNcdTAwM2QyODAwMFx1MDAyNndlYl9mdWxsc2NyZWVuX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZnVsbHNjcmVlbl9zaG9ydHNfbWVudV9pdGVtXHUwMDNkdHJ1ZVx1MDAyNndlYl9nY2ZfaGFzaGVzX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZ2VsX2RlYm91bmNlX21zXHUwMDNkMTAwMDBcdTAwMjZ3ZWJfZ2VsX3RpbWVvdXRfY2FwXHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX25leHRfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX3dhdGNoX2luZm9fZW1wdHlcdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmVcdTAwM2R0cnVlXHUwMDI2d2ViX2luY2x1ZGVfY293X3RyYWNpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGRcdTAwM2QwLjNcdTAwMjZ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2hcdTAwM2QxMDBcdTAwMjZ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzXHUwMDNkNTBcdTAwMjZ3ZWJfbW9ub21lcl93ZWJfY29tcG9uZW50X3dyYXBwZXJfaGFuZGxlX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZ3ZWJfbmF2aWdhdGlvbl9wcmVkaWN0aW9uX3RocmVzaG9sZFx1MDAzZDAuMVx1MDAyNndlYl9ub25fbmF2aWdhdGluZ19hdGFnXHUwMDNkdHJ1ZVx1MDAyNndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0XHUwMDNkW11cdTAwMjZ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2FwaV9sb2dnaW5nX2ZyYWN0aW9uXHUwMDNkMC4wMVx1MDAyNndlYl9wbGF5ZXJfYmlnX21vZGVfc2NyZWVuX3dpZHRoX2N1dG9mZlx1MDAzZDQwMDFcdTAwMjZ3ZWJfcGxheWVyX2RlZmF1bHRfcGVla2luZ19weFx1MDAzZDM2XHUwMDI2d2ViX3BsYXllcl9kaXNhYmxlX2dyaWRfb25fb2ZmbGluZV9zbGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2VuYWJsZV9mZWF0dXJlZF9wcm9kdWN0X2Jhbm5lcl9leGNsdXNpdmVzX29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9lbmFibGVfZmVhdHVyZWRfcHJvZHVjdF9iYW5uZXJfcHJvbW90aW9uX3RleHRfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2Zyb3N0ZWRfZ2xhc3NfYmx1cl9yYWRpdXNcdTAwM2QxNlx1MDAyNndlYl9wbGF5ZXJfZnJvc3RlZF9nbGFzc19ibHVyX3JhZGl1c19mbG9hdFx1MDAzZDE2LjBcdTAwMjZ3ZWJfcGxheWVyX2lubmVydHViZV9wbGF5bGlzdF91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9pbnZpc2libGVfZnVsbHNjcmVlbl9idXR0b25cdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9pcHBfY2FuYXJ5X3R5cGVfZm9yX2xvZ2dpbmdcdTAwM2RcdTAwMjZ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtc1x1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX21pbmlwbGF5ZXJfaW5fY29udGV4dF9tZW51XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbW91c2VfaWRsZV93YWl0X3RpbWVfbXNcdTAwM2QzMDAwXHUwMDI2d2ViX3BsYXllcl9tdXNpY192aXN1YWxpemVyX3RyZWF0bWVudFx1MDAzZGZha2VcdTAwMjZ3ZWJfcGxheWVyX29mZmxpbmVfcGxheWxpc3RfYXV0b19yZWZyZXNoXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcGxheWFibGVfc2VxdWVuY2VzX3JlZmFjdG9yXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcXVpY2tfaGlkZV90aW1lb3V0X21zXHUwMDNkMjUwXHUwMDI2d2ViX3BsYXllcl9zZWVrX2NoYXB0ZXJzX2J5X3Nob3J0Y3V0XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2FkZGl0aW9uYWxfYXJyb3dfdGhyZXNob2xkXHUwMDNkMjAwXHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfZHVyYXRpb25fYnVtcF9zY2FsZVx1MDAzZDAuOVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2xpbmdlcl9kdXJhdGlvblx1MDAzZDEwMDBcdTAwMjZ3ZWJfcGxheWVyX3NlbnRpbmVsX2lzX3VuaXBsYXllclx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3Nob3dfbXVzaWNfaW5fdGhpc192aWRlb19ncmFwaGljXHUwMDNkdmlkZW9fdGh1bWJuYWlsXHUwMDI2d2ViX3BsYXllcl9zc19kYWlfYWRfZmV0Y2hpbmdfdGltZW91dF9tc1x1MDAzZDE1MDAwXHUwMDI2d2ViX3BsYXllcl90b3VjaF9pZGxlX3dhaXRfdGltZV9tc1x1MDAzZDQwMDBcdTAwMjZ3ZWJfcGxheWVyX3RyYW5zZmVyX3RpbWVvdXRfdGhyZXNob2xkX21zXHUwMDNkMTA4MDAwMDBcdTAwMjZ3ZWJfcGxheWVyX3VwZGF0ZWRfZW50cnlwb2ludFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9jaW5lbWF0aWNfbGFiZWxfMlx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9uZXdfYXBpX2Zvcl9xdWFsaXR5X3B1bGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX3NjcmVlbl93aWR0aF9mb3JfYmlnX21vZGVcdTAwM2R0cnVlXHUwMDI2d2ViX3ByZWZldGNoX3ByZWxvYWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2d2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGVcdTAwM2R0cnVlXHUwMDI2d2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1peF9hbGxvd191cF90b18zeF9wbGF5YmFja19yYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1vdmVfYnJva2VuX3N1YnNjcmliZV9lbmRzY3JlZW5cdTAwM2R0cnVlXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbFx1MDAzZDBcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsXHUwMDNkMFx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9zZW5kX2FmdGVyX3RpbWVvdXRcdTAwM2QwXHUwMDI2d2ViX3NldHRpbmdzX21lbnVfc3VyZmFjZV9jdXN0b21fcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2d2ViX3NldHRpbmdzX3VzZV9pbnB1dF9zbGlkZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFuc1x1MDAzZFtldmVudCwgY29tbWFuZF1cdTAwMjZ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheVx1MDAzZDBcdTAwMjZ3ZWJfdW5pZmllZF9mZXRjaFx1MDAzZHRydWVcdTAwMjZ3ZWJfd2F0Y2hfZGlzYWJsZV9hY2NvdW50X2xldmVsX2NhcHRpb25zX3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNndlYnBvX2V4aXRfb25fbmV0X2Vyclx1MDAzZHRydWVcdTAwMjZ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzXHUwMDNkOTk5OVx1MDAyNndpel9kaWZmX292ZXJ3cml0YWJsZVx1MDAzZHRydWVcdTAwMjZ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXhcdTAwM2R0cnVlXHUwMDI2d29mZmxlX2VuYWJsZV9kb3dubG9hZF9zdGF0dXNcdTAwM2R0cnVlXHUwMDI2d3JpdGVfcmVsb2FkX3BsYXllcl9yZXNwb25zZV90b2tlbl90b191c3RyZWFtZXJfY29uZmlnX2Zvcl92b2RcdTAwM2R0cnVlXHUwMDI2d3NfYXYxX21heF9oZWlnaHRfZmxvb3JcdTAwM2QwXHUwMDI2d3NfYXYxX21heF93aWR0aF9mbG9vclx1MDAzZDBcdTAwMjZ3c191c2VfY2VudHJhbGl6ZWRfaHFhX2ZpbHRlclx1MDAzZHRydWVcdTAwMjZ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2eXRjc2lfZGVidWdfbWF4X3NpemVcdTAwM2QxMDBcdTAwMjZ5dGlkYl9yZW1ha2VfZGJfcmV0cmllc1x1MDAzZDFcdTAwMjZ5dGlkYl9yZW9wZW5fZGJfcmV0cmllc1x1MDAzZDBcdTAwMjZ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0XHUwMDNkMC4wMiIsInN0YXJ0TXV0ZWQiOmZhbHNlLCJtb2JpbGVJcGhvbmVTdXBwb3J0c0lubGluZVBsYXliYWNrIjp0cnVlLCJpc01vYmlsZURldmljZSI6ZmFsc2UsImNzcE5vbmNlIjoiajVWUXloMjhaQ2V5U3dfU0dpTVpNQSIsImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImxvYWRlclVybCI6Imh0dHBzOi8vYWxwaGEtYWNoaWV2ZWVyLmNvLyIsImRpc2FibGVBdXRvbmF2IjpmYWxzZSwiaXNFbWJlZCI6dHJ1ZSwiZGlzYWJsZUNhc3RBcGkiOmZhbHNlLCJzZXJpYWxpemVkRW1iZWRDb25maWciOiJ7fSIsImRpc2FibGVNZHhDYXN0IjpmYWxzZSwiZGF0YXN5bmNJZCI6IlZiOWJiNjE4YXx8Iiwic3RvcmVVc2VyVm9sdW1lIjp0cnVlLCJkaXNhYmxlUGFpZENvbnRlbnRPdmVybGF5Ijp0cnVlLCJlbmNyeXB0ZWRIb3N0RmxhZ3MiOiJBQ21ibEJVUUlZdUNDTlg4N19tOVJMbnQzV3BheDRGX2FtNXZQWlJ0SWQ4ZGwyNnVKZDNDQ3FxSnRZNHVUV0FWN1BheEZ0N0ZJM2JHUXpZS1hUcmcyUjQwemRLRV85SXdJTWh2LXdDYUtHMTI2SUw3RkZicmc0UThDc1piZV8tMUtRIiwiY2FuYXJ5U3RhZ2UiOiIiLCJ0cnVzdGVkSnNVcmwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMifSwidHJ1c3RlZENzc1VybCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvd3d3LXBsYXllci5jc3MifSwiaG91c2VCcmFuZFVzZXJTdGF0dXMiOiJub3RfcHJlc2VudCIsImVtYmVkc0VuYWJsZUVtYzNkcyI6dHJ1ZSwiZGlzYWJsZU9yZ2FuaWNVaSI6dHJ1ZSwiZW5hYmxlU2Fick9uRW1iZWQiOmZhbHNlLCJzZXJpYWxpemVkQ2xpZW50RXhwZXJpbWVudEZsYWdzIjoiNDU3MTgxNzVcdTAwM2QwLjBcdTAwMjY0NTcxODE3Nlx1MDAzZDAuMDFcdTAwMjY0NTcyNTUzOFx1MDAzZDAuMFx1MDAyNjQ1NzI1NTM5XHUwMDNkMC4wXHUwMDI2NDU3MjU1NDBcdTAwM2QwLjBcdTAwMjY0NTcyNTU0MVx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQyXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDNcdTAwM2QwLjBcdTAwMjY0NTcyODU1M1x1MDAzZHRydWVcdTAwMjY0NTcyODU3Mlx1MDAzZHRydWVcdTAwMjY0NTcyOTIxNVx1MDAzZHRydWVcdTAwMjY0NTczMjcwNFx1MDAzZHRydWVcdTAwMjY0NTczMjc5MVx1MDAzZHRydWVcdTAwMjY0NTczNTQyOFx1MDAzZDQwMDAuMFx1MDAyNjQ1NzM3NDg4XHUwMDNkMC4wXHUwMDI2NDU3Mzc0ODlcdTAwM2QwLjBcdTAwMjY0NTczOTAyM1x1MDAzZDAuMFx1MDAyNjQ1NzM5MTk4XHUwMDNkdHJ1ZVx1MDAyNjQ1NzQxMzM5XHUwMDNkMC4wXHUwMDI2NDU3NDE3NzNcdTAwM2QwLjBcdTAwMjY0NTc0MzIyOFx1MDAzZDAuMFx1MDAyNjQ1NzQ1NjEwXHUwMDNkdHJ1ZVx1MDAyNjQ1NzQ2OTY2XHUwMDNkMC4wXHUwMDI2NDU3NDY5NjdcdTAwM2QwLjBcdTAwMjY0NTc0NzA1M1x1MDAzZDAuMFx1MDAyNjQ1NzUwOTQ3XHUwMDNkMTAyNDBcdTAwMjY0NTc1NjIwMVx1MDAzZHRydWVcdTAwMjY0NTc1Njg3Mlx1MDAzZDAuMFx1MDAyNjQ1NzU3NDI2XHUwMDNkMC4wXHUwMDI2NDU3NTc0MjdcdTAwM2QwLjBcdTAwMjY0NTc1Nzc1MFx1MDAzZDAuMFx1MDAyNjQ1NzU3OTU3XHUwMDNkMC4wXHUwMDI2NDU3NTg0NjdcdTAwM2QwLjBcdTAwMjY0NTc2MDAxOFx1MDAzZHRydWVcdTAwMjY0NTc2MTc2MFx1MDAzZDIwMFx1MDAyNjQ1NzYyODM4XHUwMDNkMFx1MDAyNjQ1NzY0MjE3XHUwMDNkMC4wXHUwMDI2NDU3NjQyNTJcdTAwM2QwLjBcdTAwMjY0NTc2NDUyM1x1MDAzZDAuMFx1MDAyNjQ1NzY0NTI0XHUwMDNkMC4wXHUwMDI2NDU3NjQ1OTNcdTAwM2QwLjBcdTAwMjY0NTc2NTA3N1x1MDAzZHRydWVcdTAwMjY0NTc2NTU2OFx1MDAzZDAuMFx1MDAyNjQ1NzY1NjAyXHUwMDNkMC4wXHUwMDI2NDU3NjU2ODBcdTAwM2R0cnVlXHUwMDI2NDU3NjY1MTFcdTAwM2R0cnVlXHUwMDI2NDU3Njc3NjNcdTAwM2QwLjBcdTAwMjY0NTc2Nzk0M1x1MDAzZDAuMFx1MDAyNjQ1NzY4MzQwXHUwMDNkMC4wXHUwMDI2NDU3Njg0MzBcdTAwM2QwLjBcdTAwMjY0NTc2OTExOVx1MDAzZHRydWVcdTAwMjY0NTc2OTIxNFx1MDAzZDAuMFx1MDAyNjQ1NzcwMDAxXHUwMDNkMC4wXHUwMDI2NDU3NzAwMDJcdTAwM2QwLjBcdTAwMjY0NTc3MDEzNVx1MDAzZHRydWVcdTAwMjY0NTc3MTI4OFx1MDAzZHRydWVcdTAwMjY0NTc3MTg5MFx1MDAzZDQuMFx1MDAyNjQ1NzczNjAzXHUwMDNkMC4wXHUwMDI2NDU3NzM2MDRcdTAwM2QwLjBcdTAwMjY0NTc3NTc1N1x1MDAzZHRydWVcdTAwMjY0NTc3NTc5MVx1MDAzZDAuMFx1MDAyNjQ1Nzc1NzkyXHUwMDNkMC4wXHUwMDI2NDU3NzYxOTBcdTAwM2QwLjBcdTAwMjY0NTc3ODY2M1x1MDAzZDAuMFx1MDAyNjQ1Nzc4NjcxXHUwMDNkMC4wXHUwMDI2NDU3ODM4NzVcdTAwM2R0cnVlXHUwMDI2NDU3ODQ0MzlcdTAwM2QwXHUwMDI2NDU3ODY0NDNcdTAwM2QwLjBcdTAwMjY0NTc4Nzk0OFx1MDAzZHRydWVcdTAwMjY0NTc4OTQ3NFx1MDAzZHRydWVcdTAwMjY0NTc5MTExN1x1MDAzZDAuMFx1MDAyNjQ1NzkxMTE4XHUwMDNkMC4wXHUwMDI2NDU3OTExMTlcdTAwM2QwLjBcdTAwMjY0NTc5MzcxMFx1MDAzZDAuMFx1MDAyNjQ1Nzk0NDQxXHUwMDNkMC4wXHUwMDI2NDU3OTQ4NjhcdTAwM2R0cnVlXHUwMDI2NDU3OTc3MjFcdTAwM2R0cnVlXHUwMDI2NDU3OTc5NjNcdTAwM2QwLjBcdTAwMjY0NTgwMjEyM1x1MDAzZDAuMFx1MDAyNjQ1ODAzNzU0XHUwMDNkMC4wXHUwMDI2NDU4MDQ3NzFcdTAwM2QwLjBcdTAwMjY0NTgwNTY5NVx1MDAzZDAuMFx1MDAyNjQ1ODA2NTU1XHUwMDNkMlx1MDAyNjQ1ODA3NDMyXHUwMDNkMC4wXHUwMDI2NDU4MDc0ODRcdTAwM2RcdTAwMjY0NTgwNzc3MVx1MDAzZDAuMFx1MDAyNjQ1ODA3NzcyXHUwMDNkMC4wXHUwMDI2NDU4MDc3NzNcdTAwM2QwLjBcdTAwMjY0NTgwODc2Mlx1MDAzZDBcdTAwMjY0NTgxNDQ4MFx1MDAzZHRydWVcdTAwMjY0NTgxNTAxMVx1MDAzZDAuMFx1MDAyNjQ1ODE1NjMwXHUwMDNkMFx1MDAyNjQ1ODE2ODg4XHUwMDNkMC4wXHUwMDI2NDU4MTgxMjhcdTAwM2QwLjAifX0sIlhTUkZfRklFTERfTkFNRSI6InNlc3Npb25fdG9rZW4iLCJYU1JGX1RPS0VOIjoiUVVNNFptOXJVVGh5U1V4dWRXMDJjRlF6YzNKTlZYaFFkRWg2ZDN4QlIzSmlTMkZ1ZVVsdlNIaFZSMjVWUVVGNE9UQXhlak5ZUVZKVVdWRmhiSFJDTmtoRGRrVkJjbmhmZUhsRWFVSkhaVVI0ZW5ObVpXUnlVbDh5VFdzd1ZFMVZjV2RKTjJGWWJtSXpVVE5DYkRodFlVVllaV0oyYjBNeVNIWnpkVTlsUzNjXHUwMDNkIiwiU0VSVkVSX1ZFUlNJT04iOiJwcm9kIiwiREFUQVNZTkNfSUQiOiJWYjliYjYxOGF8fCIsIlNFUklBTElaRURfQ0xJRU5UX0NPTkZJR19EQVRBIjoiQ0xta205TUdFT240MFJ3UW44LUFFeERCajlBY0VJbXd6aHdRanBEUkhCRGd0OUVjRUlxSHVDSVF2WXF3QlJESF9JQVRFSW5rMFJ3UW50Q3dCUkQ1OHRFY0VJZXN6aHdReDQzU0hCRHhuTEFGRVB5eXpod1F2YmF1QlJESy00QVRFTGp3MFJ3UTl2ZlJIQkNrcWRFY0VMamt6aHdRZ2MzT0hCQ2RocmdpRU9EcTBSd1F0dmlBRXhESjlvQVRFTDJac0FVUWh1R0FFeEFBRVBhcnNBVVE5OFNBRXhDVzc5RWNFUERlMFJ3UWlKRFJIQkNMOTg4Y0VMNkUwUndRdktUUUhCQ3UxczhjRU16ZnJnVVFrdkxSSEJDWmpiRUZFTnIzemh3UTNyek9IQkR4dE5BY0VJT0h1Q0lRNXV2UkhCRFU5b0FURUpuejBSd1E3TTNRSEJEMTZkRWNFS21tMFJ3cWRFTkJUVk5WVWxaTExWcHhMVVJOWlZWRmNGVkRia0UzTlVaWVlXZENkVUZYY1U1VlVIbEJUVTB6ZHpOalFuVlJSelJuVkRKMlpXdE1UWEZEYzBKQlQxRnlaMUEzU25KaWEwSjFVMFpHT1VSTlFuTlRVMEpqY3psNFUyWmFNVkZZWTB4UFpFYzNVemQyTFU5QlpUSjNXV1JDZHowOU1BQSUzRCIsIlJPT1RfVkVfVFlQRSI6MTY2MjMsIkNMSUVOVF9QUk9UT0NPTCI6ImgyIiwiQ0xJRU5UX1RSQU5TUE9SVCI6InRjcCIsIlBMQVlFUl9DTElFTlRfVkVSU0lPTiI6IjEuMjAyNjA3MjEuMDguMDAiLCJUSU1FX0NSRUFURURfTVMiOjE3ODUxMjMzODU4NzAsIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyI6WyJ5b3V0dS5iZSIsInlvdXR1YmUuY29tIiwid3d3LnlvdXR1YmUuY29tIiwid2ViLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwid2ViLXJlbGVhc2UtcWEueW91dHViZS5jb20iLCJ3ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJtLnlvdXR1YmUuY29tIiwibXdlYi1ncmVlbi1xYS55b3V0dWJlLmNvbSIsIm13ZWItcmVsZWFzZS1xYS55b3V0dWJlLmNvbSIsIm13ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJzdHVkaW8ueW91dHViZS5jb20iLCJzdHVkaW8tZ3JlZW4tcWEueW91dHViZS5jb20iLCJzdHVkaW8taW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iXSwiTE9UVElFX1VSTCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9lbWJlZHMvMzJkMmFjODMvbG90dGllLWxpZ2h0LnZmbHNldC9sb3R0aWUtbGlnaHQuanMifSwiSURFTlRJVFlfTUVNRU5UTyI6eyJ2aXNpdG9yX2RhdGEiOiJDZ3RzWDB4blNHTjZPVXBUWnlpNXBKdlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ2FHTGZBZ3JjQWpJd0xsbFVQVUZEVlVaUFRUTk5SR3RPYkUxMlRrVTFkRVJCVUZKYWNVaDVZemhJVlhFMmFWbDJWV2RGUmpGcWN6ZDFWbTB6V1RNeFltaHBTV1l6YzFaNU5FaDVjblpuWXpGUFEyTklUMU53TTNaelVHc3hNbmgxU0c1QmFFTXhRMll0ZUVWM1NDMDRTa0YyYWpkblUydHpWMjk0TUc1clF6WlBiaTA0U0hKVmNHbE9jR0pFYzA5T04xQXlaREpYUlZCamRreEtUVEE1ZHpScFJuTnFlV05mT0ZRdGNYSlJNRzh4ZGpKelNsZExWMVJmV2pOVmIzY3RNMTk1TmxWcFFWazRWbUpsTjBKSlJHRkxSa1Z5UWs5RE1tdFhUMEpUY0ZoM2NUTnVXV0ZpT0doT1ZrVlZVSFp6WmxkMVMwTXRUVkpLV201eU4zZEhhRGhNWVhaclNITTFiMEZQZERKdmMxVk9hM3BuYW5jdGJtNU1aMGRFY0VVeE4wOUdjbGhYU25SSFpVTnBhbU5HTWtSMVJGaDFlVXBzUlZwQlRrTnVSRGMwZUV0T2NWSnlPSEJFU2xKTlNEbHdjMmw2TUhOUU4wMXdRMFJZVDNkdU9FWTJkdyUzRCUzRCJ9LCJNV0VCX1NVUFBPUlRTX0RPVUJMRV9UQVBfVE9fU0VFSyI6dHJ1ZSwiUExBWUVSX1ZBUlMiOnsiZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlIjoie1wicmVzcG9uc2VDb250ZXh0XCI6e1wic2VydmljZVRyYWNraW5nUGFyYW1zXCI6W3tcInNlcnZpY2VcIjpcIkNTSVwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY1wiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn0se1wia2V5XCI6XCJjdmVyXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNC4wMS4wMFwifSx7XCJrZXlcIjpcInl0X2xpXCIsXCJ2YWx1ZVwiOlwiMFwifSx7XCJrZXlcIjpcIkdldEVtYmVkZGVkUGxheWVyX3JpZFwiLFwidmFsdWVcIjpcIjB4NzVkNjUwZmIwMWM5ZTNlOVwifV19LHtcInNlcnZpY2VcIjpcIkdGRUVEQkFDS1wiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkdVSURFRF9IRUxQXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiRUNBVENIRVJcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNsaWVudC52ZXJzaW9uXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNFwifSx7XCJrZXlcIjpcImNsaWVudC5uYW1lXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifV19XSxcInJlc3BvbnNlSWRcIjpcIkloTUk0SmV1NnZieGxRTVZSNWowQngxR2ZSenVcIixcIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFcIjp7XCJoYXNEZWNvcmF0ZWRcIjp0cnVlfX0sXCJlbWJlZFByZXZpZXdcIjp7XCJ0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiSnVuZSAxMywgMjAyNFwifV19LFwiZGVmYXVsdFRodW1ibmFpbFwiOntcInRodW1ibmFpbHNcIjpbe1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpLzFqRTR6SFhiTlVNL2RlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VrQ0hnUVd2S3JpcWtER3ZBQkFmZ0JfZ21BQXRBRmlnSU1DQUFRQVJoWklGZ29aVEFQXFx1MDAyNnJzXHUwMDNkQU9uNENMQTlIRl9KRXdlUnZkSmhlN25xUE9FZkN0SWtCZ1wiLFwid2lkdGhcIjoxMjAsXCJoZWlnaHRcIjo5MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpLzFqRTR6SFhiTlVNL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RTFDS2dCRUY1SVZmS3JpcWtES0FnQkZRQUFpRUlZQVhBQndBRUc4QUVCLUFILUNZQUMwQVdLQWd3SUFCQUJHRmtnV0NobE1BOFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTEFHem84aDBMT0wxcVFub1RPWjFjM0ZDVEtNSkFcIixcIndpZHRoXCI6MTY4LFwiaGVpZ2h0XCI6OTR9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8xakU0ekhYYk5VTS9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0UxQ01RQkVHNUlWZktyaXFrREtBZ0JGUUFBaUVJWUFYQUJ3QUVHOEFFQi1BSC1DWUFDMEFXS0Fnd0lBQkFCR0ZrZ1dDaGxNQThcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xDSG5tQTVYTkdEYzRVN1NWS0tHQkpGOGV5VFJ3XCIsXCJ3aWR0aFwiOjE5NixcImhlaWdodFwiOjExMH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpLzFqRTR6SFhiTlVNL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RTJDUFlCRUlvQlNGWHlxNHFwQXlnSUFSVUFBSWhDR0FGd0FjQUJCdkFCQWZnQl9nbUFBdEFGaWdJTUNBQVFBUmhaSUZnb1pUQVBcXHUwMDI2cnNcdTAwM2RBT240Q0xEekJwWWp0VlR2R1ZvZy1aWk45T2xWM1Z5ZVJ3XCIsXCJ3aWR0aFwiOjI0NixcImhlaWdodFwiOjEzOH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpLzFqRTR6SFhiTlVNL21xZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RW1DTUFDRUxRQjhxdUtxUU1hOEFFQi1BSC1DWUFDMEFXS0Fnd0lBQkFCR0ZrZ1dDaGxNQThcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xBSWJGM2RPazRCd3lKMWFCaVVUX3Y0UWlfYlNBXCIsXCJ3aWR0aFwiOjMyMCxcImhlaWdodFwiOjE4MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpLzFqRTR6SFhiTlVNL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RTJDTkFDRUx3QlNGWHlxNHFwQXlnSUFSVUFBSWhDR0FGd0FjQUJCdkFCQWZnQl9nbUFBdEFGaWdJTUNBQVFBUmhaSUZnb1pUQVBcXHUwMDI2cnNcdTAwM2RBT240Q0xDX3dhb3dQX25YVzFia1c2SHRySU90TnpsNnR3XCIsXCJ3aWR0aFwiOjMzNixcImhlaWdodFwiOjE4OH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpLzFqRTR6SFhiTlVNL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RW1DT0FERU9nQzhxdUtxUU1hOEFFQi1BSC1DWUFDMEFXS0Fnd0lBQkFCR0ZrZ1dDaGxNQThcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xCMF9rTXhWUzN2WVZfa0dvNjNTMWZNTTZrQm1nXCIsXCJ3aWR0aFwiOjQ4MCxcImhlaWdodFwiOjM2MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpLzFqRTR6SFhiTlVNL3NkZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RW1DSUFGRU9BRDhxdUtxUU1hOEFFQi1BSC1DWUFDMEFXS0Fnd0lBQkFCR0ZrZ1dDaGxNQThcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xBUEpDb3o2TnJ5amFTMzhxVkpLYVpWdnRuSTh3XCIsXCJ3aWR0aFwiOjY0MCxcImhlaWdodFwiOjQ4MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpLzFqRTR6SFhiTlVNL21heHJlc2RlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VtQ0lBS0VOQUY4cXVLcVFNYThBRUItQUgtQ1lBQzBBV0tBZ3dJQUJBQkdGa2dXQ2hsTUE4XHUwMDNkXFx1MDAyNnJzXHUwMDNkQU9uNENMQjlTQkE2aWpXaF9ucmwyODVicWJTZERQTlFvUVwiLFwid2lkdGhcIjoxOTIwLFwiaGVpZ2h0XCI6MTA4MH1dfSxcInBsYXlCdXR0b25cIjp7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9ERUZBVUxUXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBY1E4RnNpRXdqZ2w2N3E5dkdWQXhWSG1QUUhIVVo5SE83S0FRVEQ1NnljXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi93YXRjaD92XHUwMDNkMWpFNHpIWGJOVU1cIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1dBVENIXCIsXCJyb290VmVcIjozODMyfX0sXCJ3YXRjaEVuZHBvaW50XCI6e1widmlkZW9JZFwiOlwiMWpFNHpIWGJOVU1cIn19LFwiYWNjZXNzaWJpbGl0eVwiOntcImxhYmVsXCI6XCJQbGF5IEp1bmUgMTMsIDIwMjRcIn0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FjUThGc2lFd2pnbDY3cTl2R1ZBeFZIbVBRSEhVWjlITzRcdTAwM2RcIn19LFwidmlkZW9EZXRhaWxzXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXJcIjp7XCJjaGFubmVsVGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8veXQzLmdncGh0LmNvbS95dGMvQUlkcm9fbWVZQWg2TlBrYzNxWjlSUWJ6dGZvelgyamtuVXFjNjloY2FzUVRMWmE3Q0NXWTZNSG16UkkxSTZJNTlnWUZoRWlRWEFcdTAwM2RzNjgtYy1rLWMweDAwZmZmZmZmLW5vLXJqXCIsXCJ3aWR0aFwiOjY4LFwiaGVpZ2h0XCI6Njh9XX0sXCJjb2xsYXBzZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0NvbGxhcHNlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIkp1bmUgMTMsIDIwMjRcIixcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBWVE0NklDSWhNSTRKZXU2dmJ4bFFNVlI1ajBCeDFHZlJ6dXlnRUV3LWVzbkFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZDFqRTR6SFhiTlVNXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2QxakU0ekhYYk5VTVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19XX0sXCJzdWJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiMzggdmlld3NcIn1dfSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQVlRNDZJQ0loTUk0SmV1NnZieGxRTVZSNWowQngxR2ZSenVcIn19LFwiZXhwYW5kZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiQWx0ZXJuYXRpdmVxYXZlaHViXCJ9XX0sXCJzdWJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiTm8gc3Vic2NyaWJlcnNcIn1dfSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQVVRNUtJQ0loTUk0SmV1NnZieGxRTVZSNWowQngxR2ZSenVcIn19LFwiY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JNEpldTZ2YnhsUU1WUjVqMEJ4MUdmUnp1eWdFRXctZXNuQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCIvY2hhbm5lbC9VQ294ckExZzB5amZ6azU4d2xLLU9BSXdcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiL2NoYW5uZWwvVUNveHJBMWcweWpmems1OHdsSy1PQUl3XCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX19LFwidmlkZW9EdXJhdGlvblNlY29uZHNcIjpcIjk5XCIsXCJ3ZWJQbGF5ZXJBY3Rpb25zUG9ydGluZ1wiOntcImdldFNoYXJlUGFuZWxDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JNEpldTZ2YnhsUU1WUjVqMEJ4MUdmUnp1eWdFRXctZXNuQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvc2hhcmUvZ2V0X3dlYl9wbGF5ZXJfc2hhcmVfcGFuZWxcIn19LFwid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnRcIjp7XCJzZXJpYWxpemVkU2hhcmVFbnRpdHlcIjpcIkNnc3hha1UwZWtoWVlrNVZUUSUzRCUzRFwifX0sXCJzdWJzY3JpYmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JNEpldTZ2YnhsUU1WUjVqMEJ4MUdmUnp1eWdFRXctZXNuQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wic2VuZFBvc3RcIjp0cnVlLFwiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvc3Vic2NyaXB0aW9uL3N1YnNjcmliZVwifX0sXCJzdWJzY3JpYmVFbmRwb2ludFwiOntcImNoYW5uZWxJZHNcIjpbXCJVQ294ckExZzB5amZ6azU4d2xLLU9BSXdcIl0sXCJwYXJhbXNcIjpcIkVnSUlCeGdBXCJ9fSxcInVuc3Vic2NyaWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSTRKZXU2dmJ4bFFNVlI1ajBCeDFHZlJ6dXlnRUV3LWVzbkFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInNlbmRQb3N0XCI6dHJ1ZSxcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3N1YnNjcmlwdGlvbi91bnN1YnNjcmliZVwifX0sXCJ1bnN1YnNjcmliZUVuZHBvaW50XCI6e1wiY2hhbm5lbElkc1wiOltcIlVDb3hyQTFnMHlqZnprNTh3bEstT0FJd1wiXSxcInBhcmFtc1wiOlwiQ2dJSUJ4Z0FcIn19LFwiYWRkVG9XYXRjaExhdGVyQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSTRKZXU2dmJ4bFFNVlI1ajBCeDFHZlJ6dXlnRUV3LWVzbkFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL2Jyb3dzZS9lZGl0X3BsYXlsaXN0XCJ9fSxcInBsYXlsaXN0RWRpdEVuZHBvaW50XCI6e1wicGxheWxpc3RJZFwiOlwiV0xcIixcImFjdGlvbnNcIjpbe1wiYWRkZWRWaWRlb0lkXCI6XCIxakU0ekhYYk5VTVwiLFwiYWN0aW9uXCI6XCJBQ1RJT05fQUREX1ZJREVPXCJ9XX19LFwicmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JNEpldTZ2YnhsUU1WUjVqMEJ4MUdmUnp1eWdFRXctZXNuQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvYnJvd3NlL2VkaXRfcGxheWxpc3RcIn19LFwicGxheWxpc3RFZGl0RW5kcG9pbnRcIjp7XCJwbGF5bGlzdElkXCI6XCJXTFwiLFwiYWN0aW9uc1wiOlt7XCJhY3Rpb25cIjpcIkFDVElPTl9SRU1PVkVfVklERU9fQllfVklERU9fSURcIixcInJlbW92ZWRWaWRlb0lkXCI6XCIxakU0ekhYYk5VTVwifV19fX0sXCJhY3Rpb25CYXJCdXR0b25zXCI6W3tcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX09QQUNJVFlcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwiaWNvblwiOntcImljb25UeXBlXCI6XCJTSEFSRV9BUlJPV1wifSxcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBUVEtTjhCR0FBaUV3amdsNjdxOXZHVkF4VkhtUFFISFVaOUhPN0tBUVRENTZ5Y1wiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiaWdub3JlTmF2aWdhdGlvblwiOnRydWV9fSxcInNoYXJlRW50aXR5RW5kcG9pbnRcIjp7XCJzZXJpYWxpemVkU2hhcmVFbnRpdHlcIjpcIkNnc3hha1UwZWtoWVlrNVZUUSUzRCUzRFwiLFwic2hhcmVQYW5lbFR5cGVcIjpcIlNIQVJFX1BBTkVMX1RZUEVfVU5JRklFRF9TSEFSRV9QQU5FTFwifX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FRUS1OOEJHQUFpRXdqZ2w2N3E5dkdWQXhWSG1QUUhIVVo5SE80XHUwMDNkXCIsXCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wibGFiZWxcIjpcIlNoYXJlXCJ9fX19LHtcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX09QQUNJVFlcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwic2VydmljZUVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdqZ2w2N3E5dkdWQXhWSG1QUUhIVVo5SE83S0FRVEQ1NnljXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9icm93c2UvZWRpdF9wbGF5bGlzdFwifX0sXCJwbGF5bGlzdEVkaXRFbmRwb2ludFwiOntcInBsYXlsaXN0SWRcIjpcIldMXCIsXCJhY3Rpb25zXCI6W3tcImFkZGVkVmlkZW9JZFwiOlwiMWpFNHpIWGJOVU1cIixcImFjdGlvblwiOlwiQUNUSU9OX0FERF9WSURFT1wifV19fSxcImljb25cIjp7XCJpY29uVHlwZVwiOlwiQUREX1RPX1dBVENIX0xBVEVSXCJ9LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3amdsNjdxOXZHVkF4VkhtUFFISFVaOUhPNFx1MDAzZFwiLFwiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImxhYmVsXCI6XCJXYXRjaCBsYXRlclwifX0sXCJjb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdqZ2w2N3E5dkdWQXhWSG1QUUhIVVo5SE83S0FRVEQ1NnljXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4/c2VydmljZVx1MDAzZHlvdXR1YmVcXHUwMDI2dWlsZWxcdTAwM2QzXFx1MDAyNnBhc3NpdmVcdTAwM2R0cnVlXFx1MDAyNmNvbnRpbnVlXHUwMDNkaHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZzaWduaW4lM0ZhY3Rpb25faGFuZGxlX3NpZ25pbiUzRHRydWUlMjZobCUzRGVuJTI2bmV4dCUzRCUyNTJGcG9zdF9sb2dpblxcdTAwMjZobFx1MDAzZGVuXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwic2lnbkluRW5kcG9pbnRcIjp7XCJuZXh0RW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2pnbDY3cTl2R1ZBeFZIbVBRSEhVWjlITzdLQVFURDU2eWNcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL3Bvc3RfbG9naW5cIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiL3Bvc3RfbG9naW5cIn19fX19fV0sXCJxdWlja0FjdGlvbnNCYXJcIjp7XCJxdWlja0FjdGlvbnNWaWV3TW9kZWxcIjp7XCJ3YXRjaE9uWW91dHViZUJ1dHRvblwiOntcIndhdGNoT25Zb3V0dWJlQnV0dG9uVmlld01vZGVsXCI6e1wid2F0Y2hPbll0TGFiZWxCdXR0b25cIjp7XCJidXR0b25WaWV3TW9kZWxcIjp7XCJvblRhcFwiOntcImlubmVydHViZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUlReXZNRkloTUk0SmV1NnZieGxRTVZSNWowQngxR2ZSenV5Z0VFdy1lc25BXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2QxakU0ekhYYk5VTVwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkMWpFNHpIWGJOVU1cIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fSxcImFjY2Vzc2liaWxpdHlUZXh0XCI6XCJXYXRjaCBvbiBZb3VUdWJlXCIsXCJzdHlsZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfT1ZFUkxBWV9EQVJLXCIsXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FJUXl2TUZJaE1JNEpldTZ2YnhsUU1WUjVqMEJ4MUdmUnp1XCIsXCJ0eXBlXCI6XCJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RFWFRcIixcImJ1dHRvblNpemVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfTEFSR0VcIixcInRpdGxlRm9ybWF0dGVkXCI6e1wiY29udGVudFwiOlwiV2F0Y2ggb25cIixcInN0eWxlUnVuc1wiOlt7XCJ3ZWlnaHRMYWJlbFwiOlwiRk9OVF9XRUlHSFRfVEhJTlwifV0sXCJhdHRhY2htZW50UnVuc1wiOlt7XCJzdGFydEluZGV4XCI6OCxcImxlbmd0aFwiOjAsXCJlbGVtZW50XCI6e1widHlwZVwiOntcImltYWdlVHlwZVwiOntcImltYWdlXCI6e1wic291cmNlc1wiOlt7XCJjbGllbnRSZXNvdXJjZVwiOntcImltYWdlTmFtZVwiOlwid2F0ZXJtYXJrXCJ9fV19fX0sXCJwcm9wZXJ0aWVzXCI6e1wibGF5b3V0UHJvcGVydGllc1wiOntcImhlaWdodFwiOntcInZhbHVlXCI6MjAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIndpZHRoXCI6e1widmFsdWVcIjo5MCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwibWFyZ2luXCI6e1wibGVmdFwiOntcInZhbHVlXCI6NX19fX19LFwiYWxpZ25tZW50XCI6XCJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSXCJ9XX19fSxcInl0TG9nb09ubHlCdXR0b25cIjp7XCJidXR0b25WaWV3TW9kZWxcIjp7XCJvblRhcFwiOntcImlubmVydHViZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUVRMXRjRUloTUk0SmV1NnZieGxRTVZSNWowQngxR2ZSenV5Z0VFdy1lc25BXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2QxakU0ekhYYk5VTVwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkMWpFNHpIWGJOVU1cIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fSxcImFjY2Vzc2liaWxpdHlUZXh0XCI6XCJXYXRjaCBvbiBZb3VUdWJlXCIsXCJzdHlsZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfTU9OT1wiLFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBRVExdGNFSWhNSTRKZXU2dmJ4bFFNVlI1ajBCeDFHZlJ6dVwiLFwidHlwZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUXCIsXCJidXR0b25TaXplXCI6XCJCVVRUT05fVklFV19NT0RFTF9TSVpFX0NPTVBBQ1RcIixcInRpdGxlRm9ybWF0dGVkXCI6e1wiY29udGVudFwiOlwiIFwiLFwiYXR0YWNobWVudFJ1bnNcIjpbe1wic3RhcnRJbmRleFwiOjAsXCJsZW5ndGhcIjowLFwiZWxlbWVudFwiOntcInR5cGVcIjp7XCJpbWFnZVR5cGVcIjp7XCJpbWFnZVwiOntcInNvdXJjZXNcIjpbe1wiY2xpZW50UmVzb3VyY2VcIjp7XCJpbWFnZU5hbWVcIjpcIndhdGVybWFya1wifX1dfX19LFwicHJvcGVydGllc1wiOntcImxheW91dFByb3BlcnRpZXNcIjp7XCJoZWlnaHRcIjp7XCJ2YWx1ZVwiOjIwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJ3aWR0aFwiOntcInZhbHVlXCI6OTAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIm1hcmdpblwiOntcImxlZnRcIjp7XCJ2YWx1ZVwiOjV9fX19fSxcImFsaWdubWVudFwiOlwiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUlwifV19fX19fX19fX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JNEpldTZ2YnhsUU1WUjVqMEJ4MUdmUnp1eWdFRXctZXNuQVx1MDAzZFx1MDAzZFwiLFwicGVybWlzc2lvbnNcIjp7XCJhbGxvd0ltYU1vbmV0aXphdGlvblwiOmZhbHNlLFwiYWxsb3dQZnBVbmJyYW5kZWRcIjpmYWxzZX0sXCJ2aWRlb0ZsYWdzXCI6e1wicGxheWFibGVJbkVtYmVkXCI6dHJ1ZSxcImlzQ3Jhd2xhYmxlXCI6dHJ1ZX0sXCJwcmV2aWV3UGxheWFiaWxpdHlTdGF0dXNcIjp7XCJzdGF0dXNcIjpcIk9LXCIsXCJwbGF5YWJsZUluRW1iZWRcIjp0cnVlLFwiY29udGV4dFBhcmFtc1wiOlwiUTBGRlUwRm5aMEVcdTAwM2RcIn0sXCJlbWJlZGRlZFBsYXllck1vZGVcIjpcIkVNQkVEREVEX1BMQVlFUl9NT0RFX0RFRkFVTFRcIixcImVtYmVkZGVkUGxheWVyQ29uZmlnXCI6e1wiZW1iZWRkZWRQbGF5ZXJNb2RlXCI6XCJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUXCIsXCJlbWJlZGRlZFBsYXllckZsYWdzXCI6e319LFwiZW1iZWRkZWRQbGF5ZXJDb250ZXh0XCI6e1wiZW1iZWRkZWRQbGF5ZXJFbmNyeXB0ZWRDb250ZXh0XCI6XCJBQ21ibEJXWkVUWEJXTUdONC0xRUxabjRIZ1NCa0ZEYzNsOUFWZ3dLc2lNNEo1Rkt0V0pNNHBPVnpVVDBzZHZWVE1Tc1lsaHZWNHZIemRybW41LXpHTWZuN1V3VDUwLTlyUTRTYl9QZ3R3a3l2ZTF2dng2eERkRHk4RE5ET2doLUhkYmZlVE1cIixcImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZFwiOmZhbHNlfX0iLCJ2aWRlb19pZCI6IjFqRTR6SFhiTlVNIiwicmVzb2x2ZV91cmxfcmVzcG9uc2UiOiJ7XCJyZXNwb25zZUNvbnRleHRcIjp7XCJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNcIjpbe1wic2VydmljZVwiOlwiQ1NJXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifSx7XCJrZXlcIjpcImN2ZXJcIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0LjAxLjAwXCJ9LHtcImtleVwiOlwieXRfbGlcIixcInZhbHVlXCI6XCIwXCJ9LHtcImtleVwiOlwiUmVzb2x2ZVVybF9yaWRcIixcInZhbHVlXCI6XCIweDc1ZDY1MGZiMDFjOWUzZTlcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1JeS1XdDZ2YnhsUU1WeVJFZUJSMTJtUkF5XCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJJaE1JeS1XdDZ2YnhsUU1WeVJFZUJSMTJtUkF5TWdobGVIUmxjbTVoYk1vQkJNUG5ySndcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOnt9fX0ifSwiUE9TVF9NRVNTQUdFX09SSUdJTiI6IioiLCJWSURFT19JRCI6IjFqRTR6SFhiTlVNIiwiRE9NQUlOX0FETUlOX1NUQVRFIjoiIn0pO3dpbmRvdy55dGNmZy5vYmZ1c2NhdGVkRGF0YV8gPSBbXTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJqNVZReWgyOFpDZXlTd19TR2lNWk1BIj53aW5kb3cueXRBdFAgPSBuZXcgUHJvbWlzZShyZXMgPT4gd2luZG93Lnl0QXROID0gcmVzKTsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7d2luZG93Lnl0QXROKCk7IGRlbGV0ZSB3aW5kb3cueXRBdE47fSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iajVWUXloMjhaQ2V5U3dfU0dpTVpNQSI+d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8dHJ1ZTt3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlcz17fTsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24obXNnLHVybCxsaW5lLG9wdF9jb2x1bW5OdW1iZXIsb3B0X2Vycm9yKXt2YXIgZXJyO2lmKG9wdF9lcnJvcillcnI9b3B0X2Vycm9yO2Vsc2V7ZXJyPW5ldyBFcnJvcjtlcnIubWVzc2FnZT1tc2c7ZXJyLmZpbGVOYW1lPXVybDtlcnIubGluZU51bWJlcj1saW5lO2lmKCFpc05hTihvcHRfY29sdW1uTnVtYmVyKSllcnJbImNvbHVtbk51bWJlciJdPW9wdF9jb2x1bW5OdW1iZXJ9dmFyIG1lc3NhZ2U9U3RyaW5nKGVyci5tZXNzYWdlKTtpZighZXJyLm1lc3NhZ2V8fG1lc3NhZ2UgaW4gd2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXMpcmV0dXJuO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW21lc3NhZ2VdPXRydWU7dmFyIGltZz1uZXcgSW1hZ2U7d2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWc9aW1nO2ltZy5vbmxvYWQ9aW1nLm9uZXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgd2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWd9O3ZhciB2YWx1ZXM9CnsiY2xpZW50Lm5hbWUiOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSwiY2xpZW50LnZlcnNpb24iOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iKSwibXNnIjptZXNzYWdlLCJ0eXBlIjoiVW5oYW5kbGVkV2luZG93IitlcnIubmFtZSwiZmlsZSI6ZXJyLmZpbGVOYW1lLCJsaW5lIjplcnIubGluZU51bWJlciwic3RhY2siOihlcnIuc3RhY2t8fCIiKS5zdWJzdHIoMCw1MDApfTt2YXIgcGFydHM9W3l0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiL2Vycm9yXzIwND90PWpzZXJyb3ImbGV2ZWw9RVJST1IiKV07dmFyIGtleTtmb3Ioa2V5IGluIHZhbHVlcyl7dmFyIHZhbHVlPXZhbHVlc1trZXldO2lmKHZhbHVlKXBhcnRzLnB1c2goa2V5KyI9IitlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKX1pbWcuc3JjPXBhcnRzLmpvaW4oIiYiKX07Cjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9Imo1VlF5aDI4WkNleVN3X1NHaU1aTUEiPnZhciB5dGVyciA9IHl0ZXJyIHx8IHRydWU7PC9zY3JpcHQ+PHNjcmlwdCBkYXRhLWlkPSJfZ2QiIG5vbmNlPSJqNVZReWgyOFpDZXlTd19TR2lNWk1BIj53aW5kb3cuV0laX2dsb2JhbF9kYXRhID0geyJBZlk4SGYiOmZhbHNlLCJGTDFhbiI6ZmFsc2UsIkhpUHNiYiI6MCwiTVVFNk5lIjoieW91dHViZV93ZWIiLCJNdUpXamQiOmZhbHNlLCJVVUZhV2MiOiIlLkAubnVsbCwxMDAwLDJdIiwiY2ZiMmgiOiJ5b3V0dWJlLndlYi1mcm9udC1lbmQtY3JpdGljYWxfMjAyNjA3MjIuMDFfcDAiLCJmUER4d2QiOltdLCJoc0ZMVCI6IiUuQC5udWxsLDEwLDNdIiwiaUN6aEZjIjpmYWxzZSwiblF5QUUiOnt9LCJveE4zbmIiOnsiMSI6ZmFsc2UsIjAiOmZhbHNlLCI2MTA0MDEzMDEiOmZhbHNlLCI4OTk1ODg0MzciOmZhbHNlLCI3NzI2NTc3NjgiOnRydWUsIjUxMzY1OTUyMyI6ZmFsc2UsIjU2ODMzMzk0NSI6dHJ1ZSwiMTMzMTc2MTQwMyI6dHJ1ZSwiNjUxMTc1ODI4IjpmYWxzZSwiNzIyNzY0NTQyIjpmYWxzZSwiNzQ4NDAyMTQ1IjpmYWxzZSwiNzQ4NDAyMTQ2IjpmYWxzZSwiNzQ4NDAyMTQ3Ijp0cnVlLCIxNjAyNjEzMTg1IjpmYWxzZSwiODYxMzc3NzIzIjpmYWxzZSwiODYxMzc3NzI0IjpmYWxzZSwiODY5MzM2OTAzIjpmYWxzZSwiODgyNjc0NTA3IjpmYWxzZSwiODY5MzM2OTA0IjpmYWxzZSwiODY5MzM2OTA1IjpmYWxzZSwiMjgzOTUzMTU1IjpmYWxzZSwiOTE5NDQ0ODI0IjpmYWxzZSwiOTMxNDY4MDQ3IjpmYWxzZSwiOTI4ODc1Mzk4IjpmYWxzZSwiNjgzNzQ5MjAxIjpmYWxzZX0sInU0ZzdyIjoiJS5ALm51bGwsMSwzXSIsInhuSTlQIjpmYWxzZSwieHdBZkUiOnRydWUsInlGbnhyZiI6MjQ4Nn07PC9zY3JpcHQ+PHRpdGxlPllvdVR1YmU8L3RpdGxlPjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTFqRTR6SFhiTlVNIj48L2hlYWQ+PGJvZHkgY2xhc3M9ImRhdGUtMjAyNjA3MjYgZW5fVVMgbHRyICBzaXRlLWNlbnRlci1hbGlnbmVkIHNpdGUtYXMtZ2lhbnQtY2FyZCBnZWNrbyBnZWNrby0xMzQiIGRpcj0ibHRyIj48ZGl2IGlkPSJwbGF5ZXIiPjwvZGl2PjxzY3JpcHQgbm9uY2U9Imo1VlF5aDI4WkNleVN3X1NHaU1aTUEiPnZhciBzZXRNZXNzYWdlPWZ1bmN0aW9uKG1zZyl7aWYod2luZG93Lnl0JiZ5dC5zZXRNc2cpeXQuc2V0TXNnKG1zZyk7ZWxzZXt3aW5kb3cueXRjZmc9d2luZG93Lnl0Y2ZnfHx7fTt5dGNmZy5tc2dzPW1zZ319OwpzZXRNZXNzYWdlKHsiQUNDT1VOVF9MQUJFTCI6IkFjY291bnQiLCJBQ1RfT05fVEhJU19DT01NRU5UIjoiQWN0IG9uIHRoaXMgY29tbWVudCIsIkFERF9UT19EUk9QRE9XTl9MQUJFTCI6IkFkZCB0byBwbGF5bGlzdCIsIkFEX0JBREdFX0hJTlQiOiJBZHZlcnRpc2VtZW50IiwiQURfQkFER0VfVEVYVCI6IkFEIiwiQUxMX0NIQU5ORUxTX0xBQkVMIjoiQWxsIGNoYW5uZWxzIiwiQU1CSUVOVF9NT0RFIjoiQW1iaWVudCBtb2RlIiwiQU1CSUVOVF9NT0RFX09GRiI6IkFtYmllbnQgbW9kZSBvZmYiLCJBTUJJRU5UX01PREVfT04iOiJBbWJpZW50IG1vZGUgb24iLCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSI6IlBsZWFzZSB1cGRhdGUgeW91ciBkZXZpY2UgdG8gQW5kcm9pZCA0LjAgYmVmb3JlIE9jdCAyMiwgMjAyMCB0byBrZWVwIHVzaW5nIFlvdVR1YmUgd2l0aG91dCBpbnRlcnJ1cHRpb25zLiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiOiJZb3VUdWJlIHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZCBvbiB5b3VyIGRldmljZSBhZnRlciAyMDIwLTEwLTIyIiwiQVBQX1VQU0VMTF9TVUJUSVRMRSI6IlVwbG9hZCwgc2F2ZSwgYW5kIGNvbW1lbnQgb24gdmlkZW9zIHdpdGggdGhlIFlvdVR1YmUgYXBwIiwiQVBQX1VQU0VMTF9USVRMRSI6IlN3aXRjaCB0byB0aGUgYXBwIGZvciBhIGJldHRlciB2aWV3aW5nIGV4cGVyaWVuY2UiLCJBVURJT19UUkFDSyI6IkF1ZGlvIFRyYWNrIiwiQVVUT05BVl9UT0dHTEUiOiJBdXRvcGxheSIsIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIjoiTmV4dCB2aWRlbyB3aWxsIGJlIHBsYXllZCBpbiB0ZW4gc2Vjb25kcyIsIkFVVE9QTEFZX1BBVVNFRCI6IkF1dG9wbGF5IGlzIHBhdXNlZCIsIkFVVE9QTEFZX1BMQVlfTk9XIjoiUGxheSBub3ciLCJBVVRPUExBWV9VUF9ORVhUX0lOIjoiVXAgbmV4dCBpbiBzZWNvbmRzX3BsYWNlaG9sZGVyIiwiQVVUT19UUkFOU0xBVEUiOiJBdXRvLXRyYW5zbGF0ZSIsIkFVVE9fWk9PTSI6IkF1dG8gem9vbSIsIkJBQ0siOiJCYWNrIiwiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiI6IkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiLCJDQU5DRUwiOiJDYW5jZWwiLCJDSEFOTkVMX1NXSVRDSEVSX0xBQkVMIjoiU3dpdGNoIGFjY291bnQiLCJDSEFSQUNURVJfTElNSVQiOiJVc2UgZmV3ZXIgdGhhbiAkbnVtYmVyIGNoYXJhY3RlcnMiLCJDTE9TRSI6IkNsb3NlIiwiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIjoiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIsIkNMT1NFRF9DQVBUSU9OU19PRkYiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIsIkNMT1NFRF9DQVBUSU9OU19PTiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iLCJDTE9TRURfQ0FQVElPTlNfT05fTEFOR1VBR0UiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIChsYW5ndWFnZV9wbGFjZWhvbGRlcikiLCJDTE9TRV9TRUFSQ0hfTEFCRUwiOiJDbG9zZSBzZWFyY2giLCJDTE9TRV9TRVRUSU5HU19MQUJFTCI6IkNsb3NlIFNldHRpbmdzIiwiQ09NTUVOVEJPWF9QT1NUIjoiUG9zdCIsIkNPTU1FTlRfTU9EQUxfQ09OVEVOVCI6IlBsZWFzZSBzaWduIGluIHRvIGFjdCBvbiB0aGlzIGNvbW1lbnQuIiwiQ09ORklSTV9PSyI6Ik9LIiwiQ09OTkVDVF9UT19USEVfSU5URVJORVQiOiJDb25uZWN0IHRvIHRoZSBpbnRlcm5ldCIsIkNPUElFRF9UT19DTElQQk9BUkQiOiJDb3BpZWQgdG8gY2xpcGJvYXJkIiwiQ09QWSI6IkNvcHkiLCJDT1BZX0RFQlVHX0lORk8iOiJDb3B5IERlYnVnIEluZm8iLCJDT1BZX0VNQkVEX0NPREUiOiJDb3B5IGVtYmVkIGNvZGUiLCJDT1BZX0xJTktfTEFCRUwiOiJDb3B5IGxpbmsiLCJDT1BZX1ZJREVPX1VSTCI6IkNvcHkgdmlkZW8gVVJMIiwiQ09QWV9WSURFT19VUkxfQVRfQ1VSUkVOVF9USU1FIjoiQ29weSB2aWRlbyBVUkwgYXQgY3VycmVudCB0aW1lIiwiQ1JFQVRFX0NIQU5ORUxfVElUTEUiOiJDcmVhdGUgY2hhbm5lbCIsIkRFTEVURV9GUk9NX0RPV05MT0FEUyI6IkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIsIkRJQUxPRyI6IkRpYWxvZyIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIHdpbGwgdGFrZSBlZmZlY3Qgb24gTWFyY2ggNiwgMjAyNC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9DT05GSVJNQVRJT04yIjoiWW91ciBjaG9pY2VzIGhhdmUgYmVlbiBzYXZlZC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9HRU5FUkFMX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgbG9hZGluZyIsIkRNQV9DT05TRU5UX1JFQ09SRF9FUlJPUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB5b3VyIGNob2ljZXMgd2VyZSBub3Qgc2F2ZWQiLCJET05FIjoiRG9uZSIsIkRPV05MT0FEIjoiRG93bmxvYWQiLCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIjoiQ29weSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UsIGZhaWxlZCB0byBjb3B5LiIsIkZMQUdfQ09ORklSTSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBmbGFnIHRoaXMgdmlkZW8/IiwiRkxBR19DT05URU5UIjoiU2lnbiBpbiB0byBmbGFnIGl0LiIsIkZMQUdfTEFCRUwiOiJGbGFnIGFzIGluYXBwcm9wcmlhdGUiLCJGTEFHX1RJVExFIjoiSW5hcHByb3ByaWF0ZSB2aWRlbz8iLCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiOiJGdWxsIHNjcmVlbiBpcyB1bmF2YWlsYWJsZS4iLCJHT09HTEVfQ09NUEFOWSI6IllvdVR1YmUsIGEgR29vZ2xlIGNvbXBhbnkiLCJISURFX0FMRVJUIjoiSGlkZSB0aGlzIGFsZXJ0IiwiSElERV9QTEFZRVJfQ09OVFJPTFMiOiJIaWRlIHBsYXllciBjb250cm9scyIsIkhJREVfUExBWUxJU1RfVklERU9TIjoiSGlkZSBwbGF5bGlzdCB2aWRlb3MiLCJISURFX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiSGlkZSBzZWFyY2ggZmlsdGVycyIsIkhPTUUiOiJIb21lIiwiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCI6IkludmFsaWQgcmVzcG9uc2UgcmVjZWl2ZWQuIiwiTEVBVkVfQV9DT01NRU5UX1RJVExFIjoiTGVhdmUgYSBjb21tZW50PyIsIkxJQlJBUlkiOiJMaWJyYXJ5IiwiTElLRV9DT1VOVF9URVhUIjp7ImNhc2UwIjoiTm8gbGlrZXMiLCJjYXNlMSI6IjEgbGlrZSIsIm90aGVyIjoiIyBsaWtlcyJ9LCJMSUtFX0NPVU5UX1RFWFRfTEFCRUwiOiJ7XCJjYXNlMFwiOiBcIk5vIHBlb3BsZSBoYXZlIGxpa2VkIHRoaXMgdmlkZW8uXCIsIFwiY2FzZTFcIjogXCIxIHBlcnNvbiBoYXMgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJvdGhlclwiOiBcIiMgcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIn0iLCJMSVNURU5JTkciOiJMaXN0ZW5pbmcuLi4iLCJMT0FESU5HIjoiTG9hZGluZy4uLiIsIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIjoiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIsIkxPT1AiOiJMb29wIiwiTUVOVV9ERVNLVE9QIjoiRGVza3RvcCIsIk1FTlVfRVhJVCI6IkV4aXQiLCJNRU5VX0ZFRURCQUNLIjoiRmVlZGJhY2siLCJNRU5VX0hFTFAiOiJIZWxwIiwiTUVOVV9JTVBSRVNTVU0iOiJJbXByaW50IiwiTUVOVV9QTEFZRVJfU0VUVElOR1MiOiJQbGF5YmFjayBTZXR0aW5ncyIsIk1FTlVfUkVQT1JUX0FfUFJPQkxFTSI6IlJlcG9ydCBhIHByb2JsZW0gd2l0aCBZb3VUdWJlIiwiTUVOVV9TRU5EX0ZFRURCQUNLIjoiU2VuZCBmZWVkYmFjayIsIk1FTlVfU0VUVElOR1MiOiJTZXR0aW5ncyIsIk1FTlVfU0lHTl9JTiI6IlNpZ24gSW4iLCJNRU5VX1RFUk1TIjoiUHJpdmFjeSBcdTAwMjYgVGVybXMiLCJNRU5VX1RJVExFIjoiTWVudSIsIk1FTlVfWU9VUl9EQVRBIjoiWW91ciBkYXRhIGluIFlvdVR1YmUiLCJNRVRBREFUQV9TVUJUSVRMRV9DSEFOTkVMX05BTUVfTEFCRUwiOiJVcGxvYWRlZCBieSAke2NoYW5uZWxfbmFtZV9wbGFjZWhvbGRlcn0uIiwiTU1HX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIGhhcyBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB0aGlzIHNldHRpbmcgYW55dGltZSBpbiBNeSBBZCBDZW50ZXIuIiwiTU1HX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlIHdhcyBub3Qgc2F2ZWQiLCJNT1JFIjoiTW9yZSIsIk1PUkVfSU5GTyI6Ik1vcmUgaW5mbyIsIk1PUkVfTE9XRVJDQVNFIjoibW9yZSIsIk1PUkVfT1BUSU9OUyI6Ik1vcmUgb3B0aW9ucyIsIk1PUkVfVklERU9TIjoiTW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19DTE9TRV9CVVRUT05fQVJJQV9MQUJFTCI6IkhpZGUgbW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19GUk9NX0NIQU5ORUwiOiJNb3JlIHZpZGVvcyBmcm9tICRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLCJNT1JFX1ZJREVPU19ORVhUX0JVVFRPTl9BUklBX0xBQkVMIjoiTmV4dCB2aWRlb3MiLCJNT1JFX1ZJREVPU19QUkVWSU9VU19CVVRUT05fQVJJQV9MQUJFTCI6IlByZXZpb3VzIHZpZGVvcyIsIk1VVEVfVk9MVU1FIjoiTXV0ZSIsIk5FV19QTEFZTElTVCI6Ik5ldyBwbGF5bGlzdCIsIk5FWFRfVklERU8iOiJOZXh0IHZpZGVvIiwiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiOiJTb21ldGhpbmcgd2VudCB3cm9uZywgcGxlYXNlIHRyeSBhZ2Fpbi4iLCJOT1RfRk9VTkRfQ1RBIjoiQnJvd3NlIFZpZGVvcyIsIk5PVF9GT1VORF9NRVNTQUdFIjoiUGxlYXNlIHNlYXJjaCBmb3Igc29tZXRoaW5nIGVsc2UsIG9yIGJyb3dzZSB5b3VyIEhvbWUgZmVlZC4iLCJOT1RfRk9VTkRfVElUTEUiOiJUaGlzIHBhZ2UgaXNuXHUwMDI3dCBhdmFpbGFibGUiLCJOT19ET1dOTE9BRFMiOiJObyBkb3dubG9hZHMiLCJOT19NSUNfSU5QVVQiOiJEaWRuXHUwMDI3dCBoZWFyIHRoYXQuIFRyeSBzcGVha2luZyBhZ2Fpbi4iLCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iOiJZb3VcdTAwMjdyZSBvZmZsaW5lLiBDaGVjayB5b3VyIGNvbm5lY3Rpb24uIiwiT09QU19NRVNTQUdFIjoiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIiwiT1BFTl9BUFAiOiJPcGVuIEFwcCIsIk9QRU5fWU9VVFVCRSI6Ik9wZW4gdGhlIGFwcCIsIk9QRU5fWU9VVFVCRV9BUFAiOiJPcGVuIFlvdVR1YmUgYXBwIiwiUEFVU0UiOiJQYXVzZSIsIlBMQVkiOiJQbGF5IiwiUExBWUJBQ0tfU1BFRURfWCI6IiR7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcn14IiwiUExBWUVSX0NBUFRJT04iOiJDYXB0aW9ucyIsIlBMQVlFUl9DQVBUSU9OX09GRiI6Ik9mZiIsIlBMQVlFUl9DQVBUSU9OX09OIjoiT24iLCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIjoiMngiLCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIjoiRG91YmxlIHRhcCBsZWZ0IG9yIHJpZ2h0IHRvIHNraXAgMTAgc2Vjb25kcyIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiOiJEb3VibGUgdGFwIHRvIHNob3cgb3IgaGlkZSBwbGF5ZXIgY29udHJvbHMiLCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIjoiRXhpdCBmdWxsIHNjcmVlbiIsIlBMQVlFUl9GQVNURk9SV0FSRF9TRUNPTkRTIjoiRmFzdCBmb3J3YXJkICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfRlVMTFNDUkVFTiI6IkVudGVyIGZ1bGwgc2NyZWVuIiwiUExBWUVSX0xJVkVfTEFCRUwiOiJMaXZlIiwiUExBWUVSX0xJVkVfTk9XIjoiTGl2ZSBub3ciLCJQTEFZRVJfTUlOSU1JWkUiOiJNaW5pbWl6ZSIsIlBMQVlFUl9ORVhUIjoiTmV4dCB2aWRlbyIsIlBMQVlFUl9QQVVTRSI6IlBhdXNlIHZpZGVvIiwiUExBWUVSX1BMQVkiOiJQbGF5IHZpZGVvIiwiUExBWUVSX1BSRU1JRVJFX0xBQkVMIjoiUHJlbWllcmUiLCJQTEFZRVJfUFJFVklPVVMiOiJQcmV2aW91cyB2aWRlbyIsIlBMQVlFUl9QUk9HUkVTU19CQVIiOiJTZWVrIHNsaWRlciIsIlBMQVlFUl9RVUFMSVRZIjoiUXVhbGl0eSIsIlBMQVlFUl9RVUFMSVRZX0FVVE8iOiJBdXRvIiwiUExBWUVSX1JFUExBWSI6IlJlcGxheSBWaWRlbyIsIlBMQVlFUl9SRVdJTkRfU0VDT05EUyI6IlJld2luZCAkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NFQ09ORFMiOiIkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NQRUVEIjoiU3BlZWQiLCJQTEFZRVJfU1BFRURVUF9VU0VSX0VEVSI6IlBsYXlpbmcgYXQgc3BlZWRfcmF0ZV9wbGFjZWhvbGRlcnggc3BlZWQiLCJQTEFZRVJfU1BFRURfREVDUkVBU0UiOiJEZWNyZWFzZSBwbGF5YmFjayBzcGVlZCIsIlBMQVlFUl9TUEVFRF9JTkNSRUFTRSI6IkluY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX05PUk1BTCI6Ik5vcm1hbCIsIlBMQVlFUl9TUEVFRF9SRUNFTlQiOiJSZWNlbnQiLCJQTEFZRVJfVElNRV9EVVJBVElPTiI6IlRpbWUgZHVyYXRpb24iLCJQTEFZRVJfVElNRV9FTEFQU0VEIjoiVGltZSBlbGFwc2VkIiwiUExBWUVSX1RJTUVfRk9STUFUVEVEIjp7ImNhc2UwIjoiJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJjYXNlMSI6IjEgaG91ciwgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJvdGhlciI6IiMgaG91cnMsICR7bWludXRlc30gbWludXRlcyBhbmQgJHtzZWNvbmRzfSBzZWNvbmRzIn0sIlBMQVlMSVNUX0NVUlJFTlRfVklERU9fSU5ERVgiOiIke2N1cnJlbnRfdmlkZW9faW5kZXh9IG9mICR7bGFzdF9pbmRleH0uIiwiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIjoiUGxheWxpc3QgZGVzY3JpcHRpb24gY2FuXHUwMDI3dCB1c2UgXHUwMDNjIG9yIFx1MDAzZSIsIlBMQVlMSVNUX01JWF9ERVRBSUxFRF9MT05HX0JZTElORSI6Ik1peGVzIGFyZSBwbGF5bGlzdHMgWW91VHViZSBtYWtlcyBmb3IgeW91IiwiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCB0aXRsZSBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTkFNRV9NSVNTSU5HIjoiUGxheWxpc3QgdGl0bGUgcmVxdWlyZWQuIiwiUExBWUxJU1RfTkFNRV9UT09fTE9ORyI6IlBsYXlsaXN0IHRpdGxlIGlzIHRvbyBsb25nLiIsIlBMQVlMSVNUX1BBTkVMX0VORF9PRl9QTEFZTElTVCI6IkVuZCBvZiBQbGF5bGlzdCIsIlBMQVlMSVNUX1BBTkVMX05FWFQiOiJOZXh0OiIsIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIjoiVW5saXN0ZWQgUGxheWxpc3QiLCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiOiJjdXJyZW50X2NvdW50X3BsYWNlaG9sZGVyIG9mIG1heF9jb3VudF9wbGFjZWhvbGRlciBjaGFyYWN0ZXJzIHVzZWQiLCJQTEFZX0FMTCI6IlBsYXkgYWxsIiwiUExFQVNFX0ZJWF9FUlJPUlMiOiJQbGVhc2UgZml4IGVycm9ycyBhbmQgdHJ5IGFnYWluLiIsIlBSRU1JVU1fQkFER0VfTEFCRUwiOiJQcmVtaXVtIiwiUFJFVklPVVNfVklERU8iOiJQcmV2aW91cyB2aWRlbyIsIlBSSVZBQ1lfUE9MSUNZIjoiUHJpdmFjeSBQb2xpY3kiLCJSRUxPQUQiOiJSZWxvYWQiLCJSRVBMSUVTX1NIT1dfTU9SRSI6IlNob3cgbW9yZSByZXBsaWVzIiwiUkVRVUlSRURfTEFCRUwiOiJSZXF1aXJlZCIsIlNBVkVfUExBWUxJU1QiOiJTYXZlIiwiU0NSVUJfU0xJREVfVVNFUl9FRFUiOiJTbGlkZSBsZWZ0IG9yIHJpZ2h0IHRvIHNlZWsiLCJTRUFSQ0giOiJTZWFyY2giLCJTRUFSQ0hfQVBQRU5EX0xBQkVMIjoiQXBwZW5kIHN1Z2dlc3Rpb24gdG8gc2VhcmNoIGZpZWxkIiwiU0VBUkNIX0NIQU5ORUwiOiJTZWFyY2ggY2hhbm5lbCIsIlNFQVJDSF9DTEVBUl9MQUJFTCI6IkNsZWFyIGN1cnJlbnQgc2VhcmNoIHRleHQiLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU0iOiJBbGJ1bSBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU1fTk9fQVJUSVNUIjoiQWxidW0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fTU9WSUUiOiJNb3ZpZSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HIjoiU29uZyBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiOiJTb25nIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciOiJUViBzaG93IiwiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTZWFyY2ggZmlsdGVycyIsIlNFQVJDSF9MQUJFTCI6IlNlYXJjaCBZb3VUdWJlIiwiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIjoiU2VhcmNoIHBhaWQgcHJvZHVjdCBwbGFjZW1lbnQgdmlkZW9zIiwiU0VFS19TTElERVIiOiJTZWVrIHNsaWRlciIsIlNFVFRJTkdTX0xBQkVMIjoiU2V0dGluZ3MiLCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSBhbGxvdyBtaWNyb3Bob25lIHBlcm1pc3Npb24gaW4gZGV2aWNlIHNldHRpbmdzLiIsIlNFVF9QTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXggc3BlZWQiLCJTSE9SVFNfVEFCX0xBQkVMIjoiU2hvcnRzIiwiU0hPV19MRVNTIjoiU2hvdyBsZXNzIiwiU0hPV19NT1JFIjoiU2hvdyBtb3JlIiwiU0hPV19QTEFZRVJfQ09OVFJPTFMiOiJTaG93IHBsYXllciBjb250cm9scyIsIlNIT1dfUExBWUxJU1RfVklERU9TIjoiU2hvdyBwbGF5bGlzdCB2aWRlb3MiLCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiU2hvdyBzZWFyY2ggZmlsdGVycyIsIlNJR05fSU5fTEFCRUwiOiJTaWduIGluIiwiU0lHTl9JTl9PTl9XRUIiOiJTaWduIGluIG9uIHdlYiIsIlNUQUJMRV9WT0xVTUUiOiJTdGFibGUgdm9sdW1lIiwiU1RBQkxFX1ZPTFVNRV9PRkYiOiJTdGFibGUgdm9sdW1lIG9mZiIsIlNUQUJMRV9WT0xVTUVfT04iOiJTdGFibGUgdm9sdW1lIG9uIiwiU1RBVFNfRk9SX05FUkRTIjoiU3RhdHMgRm9yIE5lcmRzIiwiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdnZXN0aW9uIFJlbW92ZWQiLCJTVUdHRVNUSU9OX0RJU01JU1NfSU5fU0VUVElOR1NfTEFCRUwiOiJSZW1vdmUgaW4gc2V0dGluZ3MiLCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmUiLCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCI6Ik5ldyB2aWRlb3MiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfQlVUVE9OX0xBQkVMIjoiVmlzaXQgc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX0RFU0NSSVBUSU9OIjoiVmlzaXQgaW1hZ2Ugc291cmNlIHdlYnNpdGU/IiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX1RJVExFIjoiSW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fTEFCRUwiOiJWaWV3IGltYWdlIHNvdXJjZSIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIjoiSW1hZ2UgZm9yIHN1Z2dlc3Rpb24iLCJURVJNU19PRl9TRVJWSUNFIjoiVGVybXMgb2YgU2VydmljZSIsIlRJTUVTVEFNUF9NSU5VVEVTIjoidGltZXN0YW1wIG1pbnV0ZXMgcmVxdWlyZWQiLCJUSU1FU1RBTVBfU0VDT05EUyI6InRpbWVzdGFtcCBzZWNvbmRzIHJlcXVpcmVkIiwiVE9HR0xFX09GRiI6Ik9mZiIsIlRPR0dMRV9PTiI6Ik9uIiwiVFJFTkRJTkciOiJUcmVuZGluZyIsIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSI6IlRyb3VibGVzaG9vdCBwbGF5YmFjayBpc3N1ZSIsIlRSWV9BR0FJTl9MQVRFUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSB0cnkgYWdhaW4gYW5kIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbi4iLCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSI6IlR1cm4gb2ZmIiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIjoiV2hlbiBhdXRvcGxheSBpcyBvZmYsIGEgc3VnZ2VzdGVkIHZpZGVvIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkgcGxheSBuZXh0IiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIjoiVHVybiBvZmYgYXV0b3BsYXk/IiwiVU5NVVRFX1ZPTFVNRSI6IlVubXV0ZSIsIlZJREVPUyI6Int2aWRlb3MscGx1cmFsLCBcdTAwM2QwezAgdmlkZW9zfVx1MDAzZDF7MSB2aWRlb31vdGhlcnsjIHZpZGVvc319IiwiVklERU9fTElOS19MQUJFTCI6IlZpZGVvIGxpbmsiLCJXQVRDSEVEIjoiV2F0Y2hlZCIsIl9fbGFuZ19fIjoiZW4ifSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iajVWUXloMjhaQ2V5U3dfU0dpTVpNQSI+dmFyIF9GX2Nzc1Jvd0tleSA9ICd5dGVtYmVkcy5iYXNlLk54bml1dVpFVFp3LkwuRjQuTyc7IHZhciBfRl9jb21iaW5lZFNpZ25hdHVyZSA9ICdBR0tNeXdIVTZxSE5pdG5zNVhxWUVLLTJ5eVVFYUdPVmtRJzs8L3NjcmlwdD48c2NyaXB0IHNyYz0iL3MvXy95dGVtYmVkcy9fL2pzL2s9eXRlbWJlZHMuYmFzZS5lbl9VUy5fODhUd3l5SEtIcy4yMDIxLk8vYW09QUFBQWdBL2Q9MS9leGNtPWJhc2Uscm9vdC9icj0xL3JzPUFHS015d0V1MlRRVXpkU0YwQWNzRkJNVXJGcXl1cktsdXcvbT1yb290LGJhc2UiIG5hbWU9ImVtYmVkX2NsaWVudCIgaWQ9ImJhc2UtanMiIG5vbmNlPSJqNVZReWgyOFpDZXlTd19TR2lNWk1BIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMiIG5hbWU9InBsYXllci9iYXNlIiBub25jZT0iajVWUXloMjhaQ2V5U3dfU0dpTVpNQSI+PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iajVWUXloMjhaQ2V5U3dfU0dpTVpNQSI+d3JpdGVFbWJlZCgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9Imo1VlF5aDI4WkNleVN3X1NHaU1aTUEiPihmdW5jdGlvbigpIHtpZiAod2luZG93Lnl0QXROKSB7d2luZG93Lnl0QXROKHsnUic6ICdceDdiXHgyMnJlc3BvbnNlQ29udGV4dFx4MjI6XHg3Ylx4MjJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNceDIyOlx4NWJceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJDU0lceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmNceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMldFQl9FTUJFRERFRF9QTEFZRVJceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMmN2ZXJceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjIuMjAyNjA3MjQuMDEuMDBceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMnl0X2xpXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJHZXRBdHRlc3RhdGlvbkNoYWxsZW5nZV9yaWRceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjB4NzVkNjUwZmIwMWM5ZTNlOVx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyR0ZFRURCQUNLXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJsb2dnZWRfaW5ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkdVSURFRF9IRUxQXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJsb2dnZWRfaW5ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkVDQVRDSEVSXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJjbGllbnQudmVyc2lvblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMi4yMDI2MDcyNFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyY2xpZW50Lm5hbWVceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMldFQl9FTUJFRERFRF9QTEFZRVJceDIyXHg3ZFx4NWRceDdkXHg1ZCxceDIycmVzcG9uc2VJZFx4MjI6XHgyMkloTUl2cXl1NnZieGxRTVZQczVQQ0IzWWVBaHVceDIyLFx4MjJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXHgyMjpceDdiXHgyMmhhc0RlY29yYXRlZFx4MjI6dHJ1ZVx4N2RceDdkLFx4MjJjaGFsbGVuZ2VceDIyOlx4MjJhXHgzZDZcXHUwMDI2YTJceDNkMTBcXHUwMDI2Y1x4M2QxNzg1MTIzMzg1XFx1MDAyNmRceDNkNTZcXHUwMDI2dFx4M2QyMTYwMFxcdTAwMjZjMWFceDNkMVxcdTAwMjZjNmFceDNkMVxcdTAwMjZjNmJceDNkMVxcdTAwMjZoaFx4M2RtMGJMd2dFYlItSDFfMXFrLTNoeGlHYmU5MEJVX2FsbXlhUHZ2MVd5UlNnXHgyMixceDIyYmdDaGFsbGVuZ2VceDIyOlx4N2JceDIyaW50ZXJwcmV0ZXJVcmxceDIyOlx4N2JceDIycHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlXHgyMjpceDIyXC9cL3d3dy5nb29nbGUuY29tXC9qc1wvdGhcL2I4cVhyRkF1OVBIVnJHcU1aaTJucUttOVRVTlBycnpFaDQwUEFsLTZvVm8uanNceDIyXHg3ZCxceDIyaW50ZXJwcmV0ZXJIYXNoXHgyMjpceDIyYjhxWHJGQXU5UEhWckdxTVppMm5xS205VFVOUHJyekVoNDBQQWwtNm9Wb1x4MjIsXHgyMnByb2dyYW1ceDIyOlx4MjJScnY2V1JVNlVEUTFoelpOdGhOaVllSmp5dm5DK1R3YmlnSkVPSmhnSEFpZUJjVkxUamdpZTRuSDBXUnMrY1cwREIzWUdPT3lVQm9xK2dlNGZ6VUNCb1J3MElJZEM0NncybmZaY0VwZzRHSlFsdFhaWTZzODZWN2RBTUR2WCtzaGZQVVNnU1E4Mzg2VFNTeXpGakpPYnVQaURrQ0dTUldRU1NyWTJlMDdselNcL29CRXRFM3BURzJNNXZQYUN0MlpCcnQyaGRFUHN6UDdtYWFyZ1FDemVOYUxjZ2pqOG8zblFuTnhnU1hXdG8xVlFCZEFNbVpOMlB5dXVIaVJXXC9iNnJBVWVycTE4ZDZGYzAzclQxUG53M1VDZlBROFdIVjlZenV3bFFrTU1FNTlqeHFzXC9rTnNEWGdoTHJpV1krQ3BtckhMRjR4U3E0U3RFWGxwTjk1WVZSaVBYOFNoNWZHN1RuTzlraitHeHVaRTRsWVdybW1QM2VXWTRDZFhxVm5raDlFVnVBMUZCeE5DajlUdk5GSU15SzVwRHZQMFBqUFdHUUZ3MVdrS01lUmlyNVU2SXFkck1BbVJXMEh4V28wRU9jQWNHK1N5TkRpZnplaGFkR2pHdTQ5a2xlUWZcL00wM3dFQzB5YklseGZ0TjN2eXdcL24xVXJ5SEtPdnJnNHBhWVhjTTFRQnFJQURHRGZGQjlBSzBkUytFaUgwYUZrTXBuXC95ZnFDd2RzdFpWZXBlM1haeWJIcWpRTk1qZFFFcldvNGc0NGQxU3JoaW41ZE45WXFoWklOWU82VlhKQW1qZitPSkxoOXhRdFJuK1htMTdzdzUwbGlSWk16MHV5UjJxemlaUUJWMTUxNGFLaytjNUN2c0xOUTVieTJpclBjQnBGQUxZNlVrN0NFSGtTamZjSWdzeXhOMlAwZGpiSHVxbFVqVnJVVWZDanpXN2tZbzY0OE04TWtNcWJMUEtWdlJOZFhMNVU0b3pleXdYQzY3SjFEYkl2T09ZQ3lxM1NoSWs3NUVBakx0a0NMck9nYjNFTFhtb1BnTU85aFRudU9mUjF0QlR1VW1LSUpZYXJQTW9qVGY5OE1ZVFo1NzNSS3ZFVlhVeTdiazB6UHZOMytSZW4xRzhsU2xKSlc1Q1BwR2RjdW43RkQ4czJHazk5VCtGcEdYd09wZE9Yc2J5eEFxU0Z1WTFqclVsXC9cL1QxR1hUTjBwdU80UmtCSGp4ZUJQbEFvWDFnNGFoRWlTc0hCMDN3YjlLRGRZQnBiMGlvNWZxa1pSRWtYaWFxeURsMUdqb2NuUUdBd2xpSG9hb2lBc1lvZkh2K1NoK1wvejg0T0ZsWVk4cWtQblBzTnliR2JiSVlyWVZ6MkVoNWhcL04wcE5hXC92aUFROWw5Q0dvXC9obHBUanZsbHRUaG5jcWh5RldKdk4rKzI5Rm9OOEFUTXY0c3ltWlV2bHUwU2dcL3U4NWkxdndWSWwwMkF4VXlBUzBFRXVPYWRCc29IVVNiMkw5NWxVT2JKUDFNUlp0RUF1ZVVmQWQ0a0dUUnJDYWU2ZUE4ZXhiQlU5MWV5YmhZNVRiSEF3S1wvdEpicjlRWGR5cGt1VkZOajNiODNIVnRWZTVCcWoySHZVS1ZhMERFTlMxQU5uNWR2RkxqMDE0d25INGk0bVlvUHdsaWEyVDQ5SnNKdUhiajJIMlBSejBXUTNQa01cL3E0QjdEZmNsV2tUY2ptNUtqYjdKNG1haXJRYjNaQ0RtdkxpY2NabTJ3WnFpcTFPUk14d1lGRVlpdHRpS3kza2Q1WjlXaUZrcjJzNTRPck90ZzRNY2QrenBZY1h0QngrTVFNZzdmalduRDZVUVBWQjBvKzBJVGNCRmVYWUtnc3V5SnNIMXRzKzh4T1wveDRiMk13N2ZlZjk2UXRHMUp1NzkzUE92MjhHTTgwT2FsMTNTOHExc0pEQWx3UEZZZFk2Q1VpWGRRTCsyWWFkOVBnVHpoakRLNkdIMGFiZVMwMGtQQWxjeXJ5TkNnTVRpbUlia1VaSWFQWEVoNm5LWnB0a2R2RHFnY1dVelp2M1RoZCtMTjU1UHRoK1VaeEg0alpSZXpGUVpyd0FudzF6V2hUK1UyckhyZVFqSUtaT3BwQTFXR2J6THZRaTVXR3lSYUNGK1VtbTJKVjVkMlE3b1IwM1k0TVAyQ21zeUp4ajE5RWYwT3R6QVpjRVB4RWtkQWF5TXNXRDFXRkFwZW4wTXRtU1QyS3FZQmdrMDVkdWVsVWo0dXdiMFRLTjcyVSsyMUJLeGdDK1RpdU5mMnEzRTVTN3pcL01SUnZUMGJYUmJycjRmU1RXb3RcL2JDdlVKeFwvSWRoQkE4cjlHN2tTOVhoNjc3R0MxUVBCSkdkeXNJaStjMGFranRYQTFTbjBSK0VobHVqU25ac0VaaXQ4UEVNSUNJTjVCYXk5MVwvOUJpcjVlZ1FzYllpRmhvT0oxaXJQREZLQlhzWU9wSTY4MWJrQXhlK2FFSlRHeUJ2Z1plYjhSQ3ExWWZtdHU0NExmY2NIclVNQTFMQUNSZkJLUCtWT1Frc3JVMmFoTzh0NzFkMkE2elRrc3JmS2QzQk5MaGtLYnU1Q0dRZmliRWtyc2pSaVJxc3RcL2p2bE5udlJHenY1bHVJUHpmM28zaUFwWHlIb2ppOVwvY3F4WlUzSE1oaUkyT2xMcnI2U1lSMW5rVVpKR2tiWlwvMmdSM2RpUUFWUW9JaG95aDNYSlVJN0dnZU82Mk14NmNpbXdadHZHaFlZQWhcL3lURlVpbzRTVk5YSEFhVURmWmtzNE9BRHFnZm9TNlJIZGhPUklxXC91QklxRlwvMnVFV1Q3am5zUGJmclB3b0UwR2E5NUVZT3ZNanVqZXVPQ1BZYWNveWh5cmNNcCszeDhcL2NVaWxaNGJwQlZcL0FmdW85NEwxalwvcUFrY0RseHQ4cUtyNlk1MUhDdDdnQnBMeHJaSjdoek1qV3JaejkwT01NZ3FsOUhWeU1sWnhWT3V6cldINFIyRERxQkxPN2IwSDBDbUZMbVVLSGk5OEIyS01FdFZ1OXZpOFNJYWgwS000SkVKcnhqXC9FbkIwcDN2dGNkTnpmKzlCcEtMbzJ5SmtvZkt5WWgrZk5YRGdtR1dERFM1Y2tjY1o3UFZwc0lrYTBYb1NTOWpNXC82UFRwSHcwQlQxTHhGaFJJUXRGQXRraCtcL1NxUlM3TUJrSHJFSUNuampzNmd4Q29SNnZuRlNvYVZFK2xwaVJrZ1Azb1RxT3BLQXlRN0VnRGxub3BHQlNlYnA1ZUtQa3YwYVwvMkNYeXZJQnZxNTRZZmVJWVJuT3ZXSnU1RlZMSk5XMEF2TnVMdFh4NmhYcVwvdklBMm03RkxVOGtVNHo3NUI3VXNKVmM2RENwOUMxbU41VUIwMFFYTzFlbUlwUVZRWnMyMTdsMnh5blAzMUdiZ1N5RlRZYWVKTkg0YzRSbU9Ibkg2VzRtZW5GRFU5NlFScXo1YVZTZjNXSW1rZHhoWmNlOHJXSkswQytwbnZnbVNCeVpaaUZ6M0ZmbVhMT3NJXC9wcXk1QVFxV28xV2d2UVA0MDNKS1dXcW9KT2FUN3YyOGo4eng5eWYxdFV4SFp4YUlkRDVTbzNrTWV6MFh5QTFCZEplc3BYemQ5eVRiUmQySkcyR0ZPUlRJVUdKNnpVYWpMMDY3bnhPTWMxU2xNWElNNU5yK20xck43d2pKZVwvWG5UbDN4ZUJcL0N3MWdNQ25KUjFXTWpvRlg5TmJpRXRtNEM1QkVvSFhxYnhqdnlVUFlmVHNESkdrNzdsRVNBTmJSdFhXYURyR2t5ckFHK1ZQektHSWs2eGFyWFFOOFdOb3dWTEl6N1BZU2x3OGh4QU1XanNIVGUyWWV6UkFyamhRTjZTUEJBaHErcGpEbmx2RXRQM0pzWXRyT1JWK3BiQ0drUmRjOHZQbENMNXFUb1hsdXdEenFXekNFeE9iZ0dZanhkQVBYdTA1bFdSZVVkXC9xU29NYlQ3TXkzZzg2RVdsVnA3M3AwVmo5emJZcjNHN0IrVnNTa0hMT25SQjM1djgwY2pKanczRGhUdEN5cTJSaWhJeHk3VmxNSVJqWTZBOTFsVnRXMmpWRGpWd01la24xTHpuUTcrQ1AyZ01pTHFhd09NQk1SaVo2MTJ6NVdJNDhIUTA5ZjROcGp4MHJ3dmJhWkx5QTZJbERxUTQzN09SOFhHXC9pdmlYTWliNVlWZERnenI1d1lhb3BibzVYR1J3MlwvME1KMnYyc2N5SXpEWk9rUG1DTVwvU01ydTQxamdsSFpYMWtGUWRuWUpNZ29veG5WXC9DWmt1RGNsbkFrcEpmQm4xcU9xZHRxaHNOVUJTb2dhN1ltY1pFVVd2Nm4yTDh4SjhYalwvK1B1TXBYVnJEVHZMS3VHZ1NETWU1S3JtZWFZcWtNcjhuU1dQNFwveE11aFliZVpJVzJNXC9hTGcxRCtqem41UFp5SDQ1K1RSZEJXKzN6NGZEN1JtbDhcLzYzN0dDeDV0WFBIME1NMTBtbjVDaXhtWUFxSmFRY1wvZE05YnBhYklSVlFCVzlKMkxcL3YyYWQwaFwvS3F6NHlQVGhRRk5HRnMreHhFRGQ2akdZUHMwc09idWFScTA4b1ZjMmhWXC9NeG5VUjd6aHMycFVBMjZod1ZMbjNVaHpXR2pmVVYyU0QzdmhHTHg3RW9BUnZZMTZGaUFUOWh5M1JrekpITSs1ZEExK0dKbjhDZ2c0SkdWZjFnNmo2U2JvdmhkWDVaVVVndm5XNllSU0liVHEzd1ZqTmlvbUZoR2poUERLaitWaVpQTlFnTnBUZUU3T0pvMXZwVTh3UjMzRzE0Rlp4Uk55dlI5VlFBUDg5RmQ5SzlrdjJsdnhiTyt2U0lUQVwvMjRRSnoySWNPMFdsdCtoclFLT0VQOCt4ak5BUWwxY1BvN1pYWUQxOTBQN3VQcE5LbmllWHpkekI1XC9oUmNtXC8rWU1KMVZ6dkppaklLTUlMZDdtbDF4S1RpVE50NCtWSUh6SUM0Rmc3eEN3Yk9aVDd3K0NONHhwbUtCemJNRGNTOXN2WVZ1RXZJaHVrRGlUVTYxZUw5bGFYRmFaQkNCVWNNTDFobXhSZ0RJY1A3VVZlTElKSHVrMXR0S2JLYU5qMTJOZGFTOEtVZjd6cDdDcnFYRmlMejR3VkVjTTF3OGdYb1hkeWlydUZRT01EVXE2WGc1V2xobTFFZFhuQlZkOWltWFY5OTNQeHlja2p3c1pqS2F1OG5uajM5ZnVuTjlhcDJxbDBwQ280Y0hYSkg0NUREb0xUd0llUGYwWGdlaHJTOFN2SkJBdWNXMWJGMDlmMlJPallsVkJcL29wM2JmT01ZYWtCbmMxZHNkaGRGMFNnOUxOQWQwSm9OcUV2YUQzQXZDa2ZNWlljSytraE4xZFFac214XC9TY2FNQ0NDVnVsbnNlQUtRMFd1YTJCUWNKM2l6dHVwWGxcL2JqRW45bFlQZHYrcFlwQ211SUppVWpKd2Q5bmZpUHNOOGV2TmhXd0Q4b1p6M0ROK3p5ZzdwMVFcL3U0cVo2NWFQb1BBV1wvSGFRcXNFVVJTcndVT2g5YmZ1TTNnM1wvbDFhc0ZPMjFEWVhyOHBCanBlNm1pNUE4OWdMajVCWHkzbThSODJDZVBjb0djN2QxME9PQXNYalBOWENMNVwvcWdyTm5oNWw3SnQ2cFF5aVRaODM2WFhWNVhkVGZhVHdTelRhNHg5Qm9lcVVIWHlnSkt4Nm9FeDR0ZDJJUlZ0dEtmazFCZU5jOVFMRUZJRm1zWUZEdEErd3pBZUVwM2pIRjUwVnZKSnM5b3A5bFRyV2QybDROVXBSZU92bnBxMngzUWRZeGswb1c4Rm9rb3JjaUdXVDBlOEtWU0wxQVVkWGJrVVhaSHplekVMa1ZuR2k0NWpKRStSMTY0QlVCMEsxOUdkWXJuVStpXC9vdHNNU1NyZFNpWDVmYm1jQ3UyUDN4S3ErcEVFTHdhTHhYdXlGa0o0QnFuU3NSQmZiNStRMEo2M0pOTEl4WkE0eWFQb1ZPTnoyMzNTbStBcjVNNEVtNkRCOFZrVjduRFF0N1dKandFblZxV0k0V1hJU25WY2lWR0x1R3NtcitSQTB3SDRuTUFUTk5KWFhFS0lpWTRnN2JyKzZTazI2V2gzb0pLQVl3dTh5ZVwvaVZUMmc3eHZ6bGxNdmg1Sk5oajYzTkFrb1d0TldNQWxmcG1cL2F4QndMaTZaQWswVEhJK2R3M05DR0lpXC9TWDdOeHZHRVd5WGpqN01HcEoxM1lSRmp1TFwvMWhBV3c1R1FaeWRKZFc0ek8rN0ttZjlMS1RqbjBJenNuemdod2d4MHVnVXVXck1vS3JtcGY2RithVEx2YllWc2t5T1ZxOW1PQmkzUk16WVwvdW9uc0NLR2J6a3BJVlpyR3hJaWxHWU5HTDRFd0tHVG9jS2xzUFhWTW9PN1NoZW44VERcL3JcL05abWtuODExVkxJa1hiK1dJbUpsN0IxVlpPRkpcLzV0WXdYWE85eTRZZzFRY0RuUVc5XC9qQ3BZa0haRUUyck5nY2ZsdlNka3BRdWFXMkxCUmI0UXZ0U0RKXC9MZFhUbDM5UFwvcXBhdEpkdlpBTUE2UzJRZ0dRRW9pTnFFZGtBWGxJMWM0T0JKNFBKcG82Z1R0XC9OUVRFM00zOTg2dm9YbmpiZHBER3ZuQytXckIrSG1Ha2RMVThpMmtnb1hCRlJIS1Mwb3JvYzd1ZkhtekZZRzBwV1R1Q09cL2VjWVhyNXZxaExXV2hrelVBR2VTTzNqSXBpODZwQU00RkJzdyswUStCaXQ4N1NMSUhSc2hTQ0Rwd1hzTHZtQk5KRnlHRThpVndqRmxsUzF0Y3hVY3pHeGo2bTRWN2NCOVBWSFVIbVlJS0JPU2pJQkF6MTRYN2hKQ1VQMXZma1hOdCtVRFFFd1VPYWdBVnFiZW9qNTZJQUV2RUhuVDhqTkMxTEdFRVJ3aTlXRW8yQmYrdFprZG9iYU81SDd3VUczU0FYZEdoS3Znd1o5bkh0MTk5aDBMdWtOQ2JpYXV2ZXNwdU04RHIwQTZXaVpZamwwQ2F2cjdSaUhZVjdZNGt0aTNjVWQxOUNGU05jMmo5dndURjlJZ3paZFNLb2xTSVwvY0IzZ0FsMTJBWXUwTllPWFJyTEswaWdXSDNCVG4rZWkwSlg5VXJaYlhrUmdKbTNCQ3BaSlFcL3ZoV2lvS2Fhc1JQMmNcL1o4VkZRZWgzN0NpZ2t3MGM4Rmp0WUtSTGJ3QjRjQ014U2ZFaHpsTmYrem16bWFYaHc1cTh0UHUwRFFZQjliNzF2RzIrZHJuVUVuRHFBRXZ2SmJFNEptSENXZk5jTGRDRXltZWs1cCtlWWdrRVZNRGZ2cHA2bUV6SkU4c01rM3VCQlFMQ0twbHY2UXQwWWZZZE9Oc3lGZncyUzBpZ0MrYjNZQVpMaWhFSzd0RXBjM25qZTNjblF4RTlPS2VpSVpidmRpOHp3ZjlHbEVzQllCdTMzQ1U5TnQ0OEd5XC9KZHV2VENyWkxxRGsrNnVyeVhmXC9UbFdVT3lKaDFZXC9CTEpJKzlOcDlUYTlWWTlJc1hrZHhhVEJ6YkRQaUlsQmttV1wvZ1Y5VFZzaHVOc0haQUVxNmZpUWpxeHZLandmXC92Wll1dHBrWlBSVnJMQTg0TURqYysxVGJWK2xaNkFwNmE4b2E1anFtOXE3MGk1eVlENFNZY0xOR1FRbmdQNkdMeWN6RUdPMlRBZmdkWTBqK3B3cFgybXpzakYzXC9acXZFZVNsVUtCWGZkZ3lHVXVWRmdHS3VWcjRXN3pkaXBGbFBGVG1MaVwvWUcrakZzaE5WajhmOWU4MWdIcTFDNytvV3BxOHBhZHljTm1wVHVYR1pyT3RpZTFGTlFOSHgyak95XC9lNHhIMTlKYXpqWFJyR1VBWmMxU0oyV0Jlb3ZlUDZPeDMydTJSTkZmcTdzdkJ2M2pXeVFXOTFcLzlOSFlFcEVNYXlxZ0ZIK25KVGZiTDROeTk4UkhlcG5UZWMramF5OE9cL1JhZ0o4Ynp5aG1ZZkc0T2R4T2pKNVJ3cm1KZkNoeTBsNnlwNU00dWY2TDBcL0pDUFYxUzJaVmVuRko3T1VwWThxTGl5SEx6NkZoVTNRaWlnYzUwZlZcL0J4WnhCMk1DQjFPZE03M2NCbFY2RXQ0YkJJdkRhbGtGXC9pdXZwMVZjWFBsT1ZPOXcxUk5MUU1rWVNjQVFYXC9hcTQ0MHNYb1RiZU56NnZHNlI2Q0JMNGxUb05cL21LdHZcLzB6NzlrVG84cHh1ZzV6SDJDeFNoWWlSSDFLWTk1Sks0SUtXODFJVzRya1U3RjRsTlpOUTYxTmMxM0VDSFVTTkN0a20ycG9HQ0ZWN2V6aUYzV0xub1BZOVBVSzBKdEFTTkpJeFBYdlNMcUE3b3RXUkNybEJOdktDSnhIcm9oYWFIMWZUVmF3WEJZdlwvS0JPN0YwTG85aVwvRlJNVHdrZ1ZpNjFHaHJzXC9ORE5vMTZ0VUpJR1ZjakFsVGw1SjBDWEtLcUJQazZENlhmZTNVdjZDenRHTmpMd2VjWDVuRWNid1ZnUGFTVGdENno5ZUJkYUhHRFdBY1VjWG45TG1WWkR5R0NCdzJIcXJ0N1oranBZSmRLWElXRTJUaWwrSTZNQ3hjZ0VweVdvK2JlZE5CQUJ4UWwzXC8wVVwvMENDcU9uVWIwYjZadkF6VXY5ZzA0T3ZjNFBGXC9ZOWwxMmk3U25yQ2o4V2FjZEFnc3RabUhGT3o3eHBiUGJJWlUxK0gxVWFHVTJNV2MxWlUwc3R1NFliU1pJajlXSjZQdnYxS2Z1RlNaWEIrSTJUTTg5QXlUTmRIZXZqZUlPNWpUMGJMYWxCVktua0tZZlVIeDYwYWs0VlVFWTMzanR3bXNJeGtJYmRKSytlVXJyNU1WaTFTbTlGR3dJNGlOcHoxMVwvYnFnb3JEMlNaS3AybFdkc0h3K24wSTBqZE0rOEdHcGpZRmU5dXZ0TTNYSUp5cnk4XC9Vc2NuQUZPd3lqclUrY004azl6dHZtcGdqNWhLQ2h4eTlXcHZaeHFsRDJ0V1MzUlhKYTVVZWpoaXpHTmtrOEZ4ZTkydUl2XC9PdFJQa3FlbE9TOUQwb0syNHltTDE0OVNTZ1IrV3p4cWVPdlVrM0F4KzZmMkh1aUNCbXJwU2MrekdLWGwrT0wxMVhPUXVVakdUWVwvNW9tazd2TGhrZlE0dkZpT0xEemIrNUNISnpiV0RPZmtMWDBJaEVGRWdpd25Qbkhwa0orSWVaOTJTejRkam1vamFkYStzT01qcU5VNjlkWTJpTitFdEhweHRhNEZwczUrT09NN2N5MlZXZ09ZUUp3XC80SWhOT0tVWTZjbCtqOTQ0bFlGMk1ONXRJbFwvYVVySHRMRVpBWVwvbkNLZVB2VUh0T013dUFJQVJSemFDd3Aya1pYS2crTkVESzJUZVBDYlF4RTJic0tkUU9hT20wWXRTZFpMVkk0cU5KZTc5VTg3Z3lCRHBST1ZFZ25NVzN6MzVhR2Q3OWs5WnJcL25JMElMOVV5enRWREkrXC9MT1FmWG1TVzA5TmpRd0JJZ0FtMndIQlVEa2FOaTdXOHJUblBsZDdtNjUrT2tnalZ0V1hHVjQ3Uk52YnlqMXhQV1BVaVwvT0l2Y1FMNTlQMzd4QUhvQnozb2RvenZcL05mcnBLZWU0U2tcL240MTZwUEk3UTNGZWRsYXVzN25QSzJYcHJ2UkFIaGhQV1lrYitJNlhvQkozeERuODZIRW9FNlZnTXgrZldvYW1xZENxMEtIWVpiRDNaRjdhemU1NmxGMktJUnpUdnFjQjJobTc3KzR4aGRlcHVrZTh6a3lTZWlIMmdUamtjTXhBcmlOSU1ncmFDUTFuZjgwSkxZbk9Cd0tZVHg4MWlicUNOWmsyNWNFYlIzaGVcL1hya0Rsb21zVlVwcTdBMFFPWCt2RmJcL3Y4XC9Ic2tMRW54cXRnZFQ4c014MENpNUlsN1JZYU44S1ROVEJjTnU4bStXQUkxYjYrV1phOWlNS2djV3RIU1JJQk52TVNuR2pmVW1mQkRZRmVsVGhFNUVrN0k2NURNQWNGRmZrME4wUGs1eGFJZ2tEQlBYXC9YdVZFeHBmMTcxOEdGaVlBQnZXTkRwZGQza3BBdE1adEI2Y3doaWg4Zk5IS1dsaXp5UjAwN25Rcmk1NmFrdE03ZGtzNTJvYWNDU3labXJMbzBnSlpGZmNQdjJDY2h1M3BUMmhYWVRUMWR4Z0psZmtlNVJxaStFRmphNXlaU0NVWWdmUHVrdEQwXC84K25nMDRMa3JnNHRnc2luOFlzcVJ1Y2JDZm5pOHprOHMwc1wvZlh0REE3aU9EdFhQWTJpK0tia3REWHZNNFRaOWpKWkdQMmxzVEl5UmJDR0JmR2d1RVhmdzRXR1FDWFF5NWV1RHNuclBFXC83TlZ4YkNRMm5ZMktoTTU1RzJsZitpSDdLYWZpVzNobHhwRXVGT1N5cStIeE0xTFwvQlBaUDhQbEhpSVRPMVo1NnR5MlwvTXdCbWxYdGw4UVZuaENobXBHOHIxdEFCYVl5d3FKU0NWZG8rYzZObGJsTTFoTDE5ZW9TWUxMRzdpN2ZqSWVhbkVRTzhCVDVrQVwvRmhobTl1R3pDdWpYWFFyZmxwYXpaWGNJekYwV3VubE5RR1B4Y1hMZ2NKUXdJQW03OXRXdTZBUlpcL0UwZGRlUTlKMFBhTWdJaG5YRlBZK0JPSkNjbGN3MjU4dStmQjBVaXdiakxqM3ZGKzlUXC9pb2FjWnJZSmR5a2RBa3Q1b2dQME05Uzh0aXVyd0IyUlQ3aVc1VjBGbE41Q1lFYkNpOXltaXdaTzZDNFwvSCt1Q0JZaE02dmJsa1I0UWRCMjJ5UW9udlNFbUI2eE9HSGxReDQ1TGprRjhYeXVTZmFTZEROdkFEZFB5cWUwemZGdmpqNFVKcnJRY2JoNlNOOVZmakluMm11Uk5WNktnMDR2SnpwYXc4b1wvc2VzenlKcHBoMU1Sd2wxbjZvY2w1bjhUTnFpWmZcL0huWVVMczIraDdOOU51WHJrejFrSU9EOXNrSG9EYXM4VzdTWWVpamR0bVwvaWE1dEIwZDFmYWkrUEFnM2s1M1pIdFAzQ1wveU51ckJUMlJNYTFHM3pabVBCajd6VStGUnhrTkxudG14Nis3aUVqQm1vcUtIdFVNenBpZVZTRkNUSDl1VnNkTzhodm1NU212ZUJRZFJ5bEJycHNzVW5LWnhOV2RYMGZmdVBjNnRXMHI3aGdydmJrQlFSa3VXNjBNUnJrS1V0NzZWM0Z0QkVCcjYzSXUzUTFQTXRWVVBlT0JIdTVOOE1za0hLWW1qa1R1aXNVdjNxT2tsM3IxTjlQYjdpRGRiUXpZdk1rUDNXMWNaQWY2QlwveitZdGRnVGpHdlN2K3FKelgxQVwvTzQwaDdCYUQycVwvZWhiRHZENUF5V3NnTmdUdVFTZTN2bTRRbWpvM2RMUWxjMUl6MVJvU2U2bjVGM2pxTnBEM3JZTEVDMjhMeFNhbVRtOFNhZFFQb2xtREdBU1l0TDl1eUthdjJzRVJPcnFIU01XQmNrTWNVdTBmRFdadjUzMUQ2SzBKcERYSVNlR1lJWUF5MFYwT3hnU20yMmtnalB5cnU5OExSYjhKenllaU1aU09jTHZDajBjXC9adm9YWWdldWlUYjBLQ1MzK2tcLytsNjVVQmV4cjg1VzJjeWJ4ZDdoaHhIOTlYNTNTaGZzaEM3dXRxWDFpNDhLeExEaWsrNXFTdDRiNmx3WUZ3WlJtTXd1aWJBVmdseXcwaFZ6Z2JpdVorVkV6NlVpZEdnclZkRWR2emJRckVvb0pPN3hkOEZMVHZaRFlKeWZraEtlbzY0S0lFVzVuYjdRelZycFl1amt2WTNoXC9VUkJLN0lpazRqcUVNSVJ2UXB2ZEs5SU10XC8rMGNReFBqNUFOMktmOWk1MmNJdjcxMTRPZXRTMHhcLzFhRHJpRitoa2NLdzFzMkR2MTdoc2RmajB6MytXbHpBMFhhS3drOTh5dW1XanlVOEdhWHVsWXozWHFEQmlDdjR5d2dHVXp2alBwV09CbFl3eDBoU2U5NnZWM3VKNGdCaXVtVHE3NDFTUjh2bDV4aVJxQ1E1NTRKeHRVbHJHU2FBdFlhTjFDcmZxYTdwekxPWHorNUczRDNzWWtudk9sanY5WWpPQ2F4Vk1aRVBWZzJOXC9MY0huQ1hzR1Y5TkkwTkErTFg0WjRGRXZNYVhqTG9oUWRLajlCT1ZvbDJnaThUQjNhNENGTkxmZWFrbkFxUW5HZkdGMlM4STFGNU9Ob2dKN2J6R0dlc2VPOHp6Q1JsWStLZElDK3ozN2hYbFlRU1hyN3lpNFpBZGNHNkFYc1lXOEUrZE00VjhwS2tSYW5cL2dJWmhnNzRXMm5peGRzMnNoYnZ2bmw3QzNlVks1Q0Fzbkc4V0ltSWhaODVDd1YrRVVKYzhMaWROTzJZN2k2eG1NSnRzYjY2K1I0UllSOTA2T1FpZ1hyM3VrUTVxWGhcL3hiQXJIKys3d0VMallXd2xXcTFcLzRjWDNzYWcwODRZTjBwZENQbXFVOGF2NERWWWdScDNDQ2RsMDJPWXpjWjY2dDRFTWNZb29TYWVqWlFnZDNnVUh3OUVkUEVySmwrSTRrNEVkT3JaYVNKeDRLeHZkU2NmUXo4UlhxalpHdEZ6R0xJM2hGeTdOZUkrb3V5bmZQRFZ2T3dtSDRrNFA1UFMxUStVNTZiWnVaSEFWS2FLTCszVmVQMFMreXNyOUtXRmtHclRTUnhHQ0k4VHBFOUoxYjUyaGZRaDAyRmhZZkxMR3BKNWpvdlI1OWJMSXE3anJNY3VhdWtCaDU2aXBUQVF1dExMaE9XQnlFT280QmI5biswQng5MHhrM1RhTU1UYWNLQXEwNVRpc2g1Y2ZSelhsWjRlQXNCTmk3Zms0MlVIWiswdE5QUHJ3VDJjZitcL2xpNWQzMU1ZWGVFd2cwQ3lnNmhBdVpubHJpeWpcL1RXZGZJK0I3bzR5TVNnZXd6OG90N2VXZEZqb3U1c0xaaWdMZHh3T3dscjVGQlRHa3E3S3QrbEg2S1dxUGw2WEUxeVNaWU1CODYwckFxQkRmYjlsWERaSVY5dTFmeWhNRk84aWViazVXbjlHMytCcll5SENvMkhzbXdrcmtOSmswZUtQZ1pyS0YrVW1nVWw4OXRBSWtWM3NnSEJhd3N2eVUwZ3ZtRUNYaHV0azRZKzUyTEJqdkF4dUhva1BLa1B3aGY4ZmVhR0xCN0c1N2h5OEJ6SDYxM3Z3SUJxb3d0VkRLcUUwTUVcL1dnRFg0TUU3bExwazNTK0ZiQk1Nc1dRQit0QlQyeVBidldyY28yZWRnVlZENFY0cmY4aU4raWFLODZGVURvenBMQXhcL3FJSUtEcFpoNWZSSjgwTDRaQ2pWTEliOHN1NEp3S1hYVHFcLzE5c1wvNVZ4S3JPYis1cEh6c3pMSE9BTUREWnMwNzRlTnlRcEM3Ynk4cmJiWm9xcjFzRlp6bWwweUJWS1RRYk1zQ0p1YmdUbFVuaVlNSXRCdWZ1M09KT2l1VGo1YnREYmsyV2ZjNDRRdEoyQ1NZMG4xSHhYM0NcL3EyTVRubXAyXC9CRUt1RWp1dG5OaUhIY1VtKzRkNzJQamkzREtheGs0VzFNWGViNWJtS3F6dk9XVzF1ckZLeEdUMEVCK3FHTitXaVVzczNWZSswNlg0dnhGQmdOZkFGQzhreHdhbU5cL1wvTVwvTmt2azgrZm9PdThhMWRSVFBDR1RBKyt2MEZ3WWRzcjNTbEkreDQzVW9TaUlwMGJMK1ZWTlZcL1NRSmJqV2dpSUErMmZ4MmtadmdSSlVlSE1CZW1wXC9EaG9ObVU0SmpVZk9uZ3J5UjliMUp5TTEyM3p2Y1hYUFZWa0xhdktwZjFhSEF2TFZoSDI1YjVFNTJ5RW9DcVVoaFR3UmhNdWM0VjY5bTVNRXZvTnNwS2Q3cDlCdWhJWUpCMzcxa0RleDRLeDA5bDZBZ1I0eEl6VzVDS0FaQlNYa0NaR0ZFbDByZk8wRmtaRU0yT3NBQXFyQmpoMU80TVQ0aEN0RStCYnFWZkxTdmtnNVJWWUxkcXdBWG5zWkhxYjVHXC9yME9mWElMVUIyNzdtNVwvRXRhdWVIa0tiM0FyTmtwM2dvZ3lQM0hIcHJDTURId0YxbVNncFM1Sm1iSWNUNVE5Mjg2YTlpb2RlMlN1U3ExXC9LQWNPTmxNQnJqM2tPbExrUm96TXhqck94SWhiN2s1bFpIOFdLbXNFc0lScnh1dSttVUtXU2ZWdjE2bExzdU5BdHI0VTZTWHYzWVQzb0VDNDN2MnprZzdsNXJSSVV5MElDcXF0NUlCQTliSU4rd21Ib3ZJVkJkRnBSbXVqcWdLWkFSWTQxV2tuanRoNFM1RzcwNWJlU3hoOFYwNEE1YWdsODFGY1BvXC9DSWJxak85SUNYdnozK3J3bGZsQUdBT3doeWlrbkk1SWwzZDhkNXc5TlcxMURYNFB6MmhXa0xIY3VPRExUeTIyTVNhQ29STDZyOGJiclhCYzF4OTZGdXl2TTZXdlVrM1VLSEJkelB1ZFk1cEs0NjRuRGZCU1ZGXC83M3NjK0hUeG1mOVYzbys5R2x2b1Z0UTNwcDRMdWk5TVQrbUxpTWQ1czhXbjNcL21LR1FkYUpcL1pRUkpzTUFJXC8zbzFOdXJaaCt0UEFnY2hGRzlONGJSNVJYVnlYOE9ORkRVMnVIdm9zMkV6eTdyZEJGOW9DOWF6XC9qZ0ZLeU15YlJ2SEl6cVpDS2RKS1QxUzBEUWtkdmxod3grT3RsZnAxMjVLekhmMnNTT2djYnNRQytKaXd4eGo3aENnOU1wM3g4bERvdjR1TnRxYWFyWGxwaWhqVk5UM25DWlZPYXFIcHQ5UDVUS09URHcyZUJxT3RMSjIyM2hSQ2NxS203dEZYUDRUOCtobDFaUUFyTTJhcmwxdHVTaTRKbTR4a1lNbit2aVRoRGZSK2JzTnZUMEs1MjZWQ3htZFwvZ01VRXoyN1d2QWJrbWNBUURcL08yNis2OFREZElVaEtPWEMybHBqaWRrZTFFSndcLytVK1ZXWUVwQ0w5d081cFA4QkwzVkcrMFwvMUhabzJ1M21VcDdmRnE5eXMxNHNYQThIaWhWTDQyRXllSHRHNHZvWDVOXC9FQ1RKWFY2R0lKT0l0Mlg5RjY2aWM1Y0RpYiszamNDK0loemFtalNhK1p2dkdtRGZBUTJoTTA4cFNYT2F5WVZGbWZXdk9pS01ZaUlPOXlGS1JEWUhTSHhpbWRVS0JyYWErUjU2K1hsR01yYmpTR2tyeVFZUEhyVE1zczBIbCtLVTR2dmhzUlZUR3lJK25CVCtuTkVEUTgxR2xPb3pvc3pFdVFzeFRjaEdoV040QUd1VDQ4TmppWkNESkV5QnoxREs3RTJ2SEJ3clBBUjdqZWhWUjNUS3FIXC96MmpUM29lMDBRTXhIbEpyeWcwbkhYazRiU1VaY1R1cVJ5VFFsVmhpXC9TNVprXC9cL2dVVkQxeWZPKzIrZjRDa1hVOENxQkthaUE0dlBMZVppMHQ2ejIwc2Q4RlhnMG12RHorZzRQNDJYWFZSQTAxbTBaaTI3cXd6MzI4OE8wdWpORXo3VDY3MXg0cUowRzhwd1NrRlI4XC9Dem1BMTVseTlQSlh0YmFZUHdqRGlnNHBEOUcxQUxNTHJkQUtZV3JIYzlXZ0g2dFwvMVYwRGFPWnFPV1ZMdXV2N0lQbTJidmF4NnlRVThrQTVZWVZubUtKOXBsZDJpWGt2bkh6N3luSDYyTlpnSUdhQXpVNnQ3UkZFdEhaa2w0eDVUMUd2YzFJUXZEb2hVRHRhU3JFUkQyV0w2UGxVUnZ6VkFIdGo0YlNIZ3FiTTV5UUNSWFlOS0FrWFUwMkM2elZsMXJqNUhyUHRyMmd0M1p6QitHR0huWTVvQkYrdlNickxSRHJhdkJDSCtKWVpkUDNkUFwvZnpLckVtOUFoRXdQeWpoWVwvQml5dnVjYlwvdVp3Z01FNHFramZPano2Rkh2Y0d0cnNcL0JOZjVHVlpMR2tSR0gyNjUwTWU5Z0d6SkYxcFVGWEdHRStJWE54ZGxMeDlwWEU0YWNzdEVZeHVWVlBPUHVTVW14aHp3anFSUTFSdUxOVFRnOWlaOUZDYlJJenFqMlVVd0t1TVhrcXQwRllRUmVtSkt1UkNHV0F3cWY2aFdBSkN3TnJLM1VkbTRHVlwveTJ6aHlzN3FzT3NKYU5NaXIxWmR2N1BMMENVNDRkbDNJTlUwdXNlK2hsMzRoc1hWNHUxRDcrcmMrV1pWVmpBd0FsdVA4WVVPTlBlYXNJd2NEd3lObGt3b3U1NUZpdVZRXC9wYTJ5VGd0YWxuWXhiVUVKUE04Ujlic1U3UlRjK3NIQ2tRSFFnbWQ1MzlkbHlKVGhJRExQS0xnd0ZhZGlod3VoMGhNTjVzcFR2OWgzU2xWSVZkdjh4Q3UzVkhiWm5PXC9yMlE5cDhoaFFOOVNcL201YUUrWW05azlLR01nUU1iNW9wZnBqbW9KQnZFS2o0MCt4MThpXC9ZXC9qd2FEbUQ0VTQ5MVwvSUVKZHVLYWk3KzVQVUJSTk9NeXhnN2M5V2NaNXpVVVBlTW80U3p5QXpkYUlvR0RNK0JCb2N2M2dkN2tZaGNhU1VcL0hjQ1pPK1doQUZiTXV5MDkzY1pvZTlLWEtEdmJIaUhOdnZibzNzK2lEM3ZVb016MlNNcDFTbjBWeUhIXC9raWRKeThBVlczMkZQdnFEV2lBekZkN1RQWXV4bmNtdmNhYUVKbXZOR3hLbWRhcGtRUnR3RGt3THNZQjVNNGRlRjFwa1RxODhmODRDbzA5YkNZQ0EyM1pOU3ptODI1ejFLa0ZEXC91QmJUQk90VzNacTMyOWM2aG1DNE1heUVBS2dxdmFtbEFDSEN3ZHgwSTBqMEJXVlhQM01OV3E5R3lMKzhUYkJoNGNYYTFJT0RqcGN1eWxPWkxCdUFYWWR6NzVmK0tPaVh2UjhqSVwvWEdCXC80UU9TMWtIZTIrZUVRcXM1SEZwdnJHS0pFVEJKd2hRelFFRnR6MmJIUytUREhzNFZkYklHSWRPdzU0SzE0N2JOSEhNcGZNSStDdWZPZHRzaTIyeFE0VkRrMGk3VHpDM0RUVTQxenZnbER3dkp6NGFKc3ZqVXo1aXZcL2VmRnUyTThWU0x3aDN3cVBnRUV3QllBN0NsZGRkN2VQSnIyZE9jbFFFUjRDWHhHODR2WmlpQ2QzRW1WdHprM2ViS2J6R1JPaVVCQktUTmxkV0puaSt5Wk1wNjhhbFd0bVVER1NUVHFrWGlnTEQ0SHNOZ0NQV2pGang1TVZQMDRCUjZWUXBGekEwNmdYMnpORUV5ajg0ZkRuSFNnTkErZ3FSVHFqdXBibDNCZlFQZDAwcXkyY25pWGE0NGdaRXZNSlAyMElsNENyVFlKY0lvcmRNZ3RFMUFRaWxWdGRZR0pBa3phR1V4enlZUWhvU3NXSEo1QnM1akI5Q2hSNm9sWUNkM3JuZXJJK1ZVQXpSMnBxT2VuMTVkK0FtWmhsODVSSWNEMkwzT1dqZHhwbGVWZERCRFF3dXNUcFhRbHJjK0x6R1wvVnBPT3ZsNENqVWNFODFaRDFTU20yeG5FRXMyZFZXM2xpOGdUcHdPckNkSDNhcm1Zd2UzWG5VRkhDTW9CTjRwUVp5RHFIdlFSekY1VjBBXC9QZkMxOFFNRWxZZFU0QUNSWGkxelBQaDYxWEtsdXdzdVVmOWd3XC9kdkQ4Q1hRMnlGeldlWlNURXBVMVNYbGN3YVZaS3drME5wbkJLTEUwbzl3Z3FRRzRBdEFUT2UwZUZQbUtRZE9UXC91eG9qQ2lrWWlWbEFoSFwvMnUrTXpOY2JtalJcL1B6ZkIrMjFnblhXbVZVMTlPQ0xyUTEzNEhBYnlnTE1IUlA3ZzhGM3duV1R1V1FkQTQ3UzhaSlFScDA4K3VHRVRuRTNmWHVMSTlIWnRmM1I4REdZVVMxZUUyU2VCUXRoVXR2cmlXRTlnUUk0TWZkZmFjVlRBbzdudXFPSTRcL0tUS2dpZVFmTjI0R0pUTnVRRDBkTjFKdjdRbFI0OFR3ZjRjVVA0UitCTXRSMXBkWkg4YnE2SWRFUmpkWEFuSUFDSFwvbjR2WFdYaW9qUWNuK01POSsxT0pLS3pPMHhEeUVaOWU2eDVuZzBoRjJUTUI3UmwwbmdjV1JlQ2g4VGFtVG5XUEE5V1RlMG1jaTBKeGN3U0swSVdLYTlzQUlXOXNRdWREQlZBQmZXRXZxSHpHeU9GVitPNElqVkhpR2pBS1JZVlQrUHFxUzRkZWRBc3Z5U1hNdVhVNTZWV0tLU1gxZ0x4U3NBK2E0WVR5U2JNWmNLZTcwXC95VGQ4MGNwYURvUCtSRnBpQU9kb3Bwa3RDb2xTR2w4SE84UTN6VEd3NGwyZndPdWFqNlgrYlJJd09WbUl4ajBCOUk4WFo5TnFSY1ErdDNIWVp6ZG5PamJOUVhvcVJrbTNPR3ZhT2xXQXpCdHkxTElJUHlUekNRQ0lCam05Y1Q4Z3Bhb0gzSmxQTTZSYmhjcjZmbHhpXC9DUzMyMVl0UmhMZEdNNmhBRkNEQTRSbmljMjB1YmtZVkZuakZaWDd6cXlSOWcyZEs2WDVaODQrRDBxajd2QVZHaVpcL241WkZQNTZBdEVHSGRlSDA5UHZBUzVFQ3F4SE9oOHNOTGRFaDJod2wrN2F4amF6Wm94NUhqeWlERW80d1laVmRNdVhEdTRtNGFSUkJoTjZjQTdqS1ZoNE40OTNoN2I3c1E3OVc1YXVcL05ETlUydkRrUFNsV01oUitGMWNWRWNLWkJGODlDWW01eGN0TDJQTmltWnZsd0JkREM2UHhDK2xwVldYY1d3cW1OZjZiY05DczlTRTUwWFlkMWExbFMyaGJjbUE1U2pTT1wvR0Z1RFBSUm9MQlNmSjgycW9KbHRtcHI4UCtEbSt0S2paVE5JMVwvbUgxOXlycnE2eGdTeCtCYVR1eHFtUXp1TlwvRnNZbGliWXFQa3ZhdWJRNE4waW51MXowaDNUbGtcLzdFak1Ya1ZZU3A0WERVSFwvSHhodGRFNHNaYlArTllHZ2l0R3Q5NlR5WXBGeGROd3FCNENscTNVcVROSjRKakVkQXhtUzJzWDN5blpLOVNHT2w2UlpUN0dtckltTkZ5clhQUmlRaWlcL2RjUW5IK0trSWRvRnl5WjlXb0dTUmoyZWZqRVhWZVl6WVVmU00zMjNRdlFOS1FibDZ2R3ozYldDSjFBV0FRQkwyZUZmRUlaTTg4NkhVWEFDSnZtQkJhc1M5dnFtRXRpdlZQOStYQ1NrdHdNS2tlMjBGWE9RWVZTbHJrVVNZS0x6NlJCM3gzRWx1WkVKYmV3TWRmSG01QXdJbEcwYXh3OWlNUXlkdnlFNng2UmpKRDNJS05TaGFvbWw1Wmh2dGlzZldBXC9TZHZqQk1VOFlOS3hOYzFKS1ZXMWRQZVJWcWpEdVB5b0RuWnh0OFJnTGpySDdDTkZzdDJZcUQrbmpFQ0FCc0czeGI3a2RFTzI1bG50c0FPd1RjeTJmN290bXo0dDh1bEtScGhVVitRdU5WOVVoamdjZkgzSlg4MXphVlZ5VVJ5ZVJRVU4waDFHZTZJTjl3alM0azN0c2RnWE1NRmpGVGl6cVNJenNkYnJkM1hYVDJOdTVCb3JhRmJ0THArSTdZSnFuUmI1bkV5TjY3aHMzMFpUOGFoS3VCNDQ2WHJQTVVkK0ZseTJkVTNUUVc0eFZPNk9XM1hIOVNyTktKWEpvaWx6dlJCc2FnemhYbHNDMU80WWVkWkZyUmRrZGg0b0hTQzRMcTQ5OVdvaEFxM2xwVGhKMG9NMnJWdUJQTHB1bjFJYyt5NjRIdHl5ZXJLTHNOaGdNT3NZUHo4SFVYSnZiZVVpS3JcL2l3VlVtaFF0NERxN3MzS05zaTFtUmlBRkQ3U2J6Y0k4eTVuOXJtZFM0WHlxN0VhcnhDQTBPSzVKN0tKWktlemJXeUp3bUhaUDM5OWxmVitJczVwaDc5Nlh4SFZzQXVvOWltblVVd2FWXC9CbXRkREd4YXJhazMxaVluejVKbzdOelVpVGludHprNVZYSnRoXC9iTlBxdnJYV2VqbEhRXC91ekRhdTdIVDhFVFJzbzNNSjFnb0pLdjNpWUxUdE9yRkFNdFJEZ1pxRng3K0RIeUpoK0doMUg3V3ZTa2ZkU3VjRUVcL0RCdWg2bkYzazFPSytKalJqeUhick5TbVVYY2dZS0RPY3pQYlF3eGU5SVNYM2phclZESlA2UWR4KzU5TW1WRTJraGpBcGhFY1grRHFsYUdxZTVJdmFJZzRIaFwvUHNpaDVwK21UWTlNN1FqbU5Cc0hZbVM0bHhKY09zY1hsakxSdVl1d2hOXC83N1pQYTBlSVhTU043MFwvdlZrd3p2V1lYQXlpWmV2eUZMTEZxTmo3QkVqbzJaMmEwc0h4VFFPVHlIZldyMm9aOFdzU1psTkdISlpjaHpVcmlxZHZqRVpLUnlydlB4TnMydVhLM3VuZUI0TE9KRU5sTUNaNTVkdiszaHdqb2tMcmxJd3NYQU1udms4blpMaUQzRUZ5YUJOak12N1FkMGFQSVNYWk5uVkVsQzB5bkl2UWQ4RWZcL3o0eE9NdzFudkp6dW5HdHpnMzNrVUNcL0tpYlFOXC9qdHFubENyS2RmcFdlYXNOc09jd3h1WDZ4clBGTWtWTm1OMkZ2V21FSlBLZWFDcmQ4bGdFSHlybWU5ZlBVVHI5blwvcE00MHA3cjBwdUJOSDI5bVlCNXVxOG95cjRFKzN0MDNWOGh5dllsTEFyRkZwdnVSODBPM0hkbVlheEduVHNIN0JJMXJ3YmZFc2IxcUlYRVJQemh1MytDNEE4eU1QYUQ1TXljK3JQdUJ2RGNEaE5sSmY3TURzWlN4elhueG02c2w2aThSTGNZYVlKSnpVRVwveUhieVRuVW9GXC9QcHJWbUZmaU0xdmxvKzFJZUtscXFpNGlOZjJvZW1naFAyTldzYTh3cjM2TmVhZlI5RExEalNRUEdNN3ZHZjU0WlA0Sk04VWljSmdBTlJnOXRcLzVVRnozOWJ2MGlHUEw0TVMzMzkxNWJQdlF0QzA5aU5cL2UzcmdVN0FmbDk4SlVCY3pZNGUzQW1SK1hHVGFiT2JndFRBdmpxbkhRVWx2ME5vQ3dKZFJJVWhyM2VkeVFLM1ZSNTZLNE1zZ3pFRW5pQkJVT3Q0NlY3ZmtiRlNyOTAxVTVaSzdJOFAxc0RQZ0pHdkxZNXZ1NUg0am5waDY3TlNkb3Z1TFwvZ0tGekZWUlRNSnhMK0tuNFE5d1M3b1wvdDlraHQ0anJYTnE5MDduMU9lbldLa3lLVWFQRktDTUNEZFJ6RklKcnZWWFphc1RGV1ZkREpHS3lNa1NkeDZvT21DVVwvM0FheVJtMHZJd3kxdW1cL1hVZ0sxSE9kOVE1V1FHOWtxejVmT0FWT1wvaHlMVkE5RE9QUXNwNjFkd1ZBSDU5XC85SHNWdnNuZ3pENjRzcm5jcjhQMVlHbGlZQVZ0OFg4NG5pZkNQcmk1bERHcnVLdmhWY1ZTSEZFWG9jc2E5eG9nbllvZjlxcGVmQWNqNG5FV25zK2ZvbGZHeStwR1U3ZFNaS1FhWTM1bWdzYUtMb2d4NHQ0UEFUc09sTHBsUlZGYmNTOUlLS3l0RnRORTF2akRKRkgxY1hmTkNGdU52blVkSVpjNERKR2liZFkxXC9IU0NnZmxBaE9ITmliK1wvdmRIdWQyWWY5Z1FpQnJvYjRseG5EXC9uNldjYWpVUWM3RVJFQStlMTl5YjU5Z1dNcUxTd09lUkMyd2ZjMlNaXC9hbGNnZUJEWUhEakJoMWJNWVd6OXhHV29FNjRYcUh0N2t3eHgwKzhFdndwSWlHaW9XcENuYTY2Q1NDTUJ6dVJUR1dMUTQraGoyU3VuaTJBOXZ3RTh2UHlBTXlWeVZcL3ZcLzBOM25TQ1JleWlac2VMbGtPa1Z6QVFhTnBNZ01ZUnpRXC9pV3RibXduRFpFNEtZb05lWnB1VkdtanhVN0dXVmZcL3RobXBMOGxXNlluaDJEdUlKN2VGakRKaW9sUk9PN3laRmdzQ21qVnhSQkZcL1VPczNlODlzSnlSNDRBblZBNFRkTXFIRk9INjBlendwa2FxMGtFQW5oeWlOZ3czUVBPOFd5bmZMQnNuc1U4Wlo5SzlpTTNZZ2tOYnVmdExjWWZ1WW5GUjczZDhwd0ptSmVpM0pOVjM5MHZuRzVzR3k4RTZYOVhqUEc1NXFiWWpKcUdhb205bkUwdGQzMkhwWVJabVpFVjdGWSs4dzFTSFhHQ25URkR1SjNHazZHTDZ4RHJJeHl3M2ZJOFBSbytWWmdybjArWFV4aHdKbUxRcDdTMTZVS1o3VTVDUXZSMXZERTFoUW5wa3hVeVVZSjFodGJrWTZOdDRRazd5Wm9HMVJua0ZtcWFcL1ZFV3NcL2FNS2lGbWNDZng4N1VvSFZxU3NvN3RBdTN4akVMNnY2Y1FWZDZhZU9lQnFUTnhZTktxWXlRWlwvZXVEUTM1VENudDdxWDBqMGZTTmVqdXpzVVFPdThrWlVuMXM0Zk1nN1QyRiticW9XZFNOMFZkaHNCRGdjY1dzN1Z3S3dHalYyRW9WamswMmxncGVTZStLcHNWXC9WaE1BaEt3cWRKbE9BRnJYXC9wQzd4Zk01TEc0RlZCd2k0UXdvVkxrWVVyWkViVWp5elVVTmZVeEtkVlAxVXFXXC9kS2hVaUxnSnVhUmp5TWgwaHc1YnBBRmlFcXZPZUtCMGdBK3A2cU5ySFM0WTVpbWw5WnA5bUFOSnRvRHRWeDN2YzYxRkpocGhqd2ZmemJNd040TXIwTmJCd1wvYTZuZTlQUTMyaGVacWpxWjNGVStUV2t0U0FHdXAwYXlLbzRmb2IxbGZQSjFTSndqRHFnV09xK09cL2haSXVVaFdneGRHRG5jb3E5U2wzeFwvM3RFWktWQ2JpWVowUHAwK3FBVGZ4RHBMbGNrTitmcU1BUG9iVmV3dG5oaTBsNW1WTGtxMHA4OWVNekZYbngwbENyOE54TVVJWVhOdzJsSm1hOHVIM3NONWJGeWNxTVRiazFYb1wvZCtzM1ZWcDAwaENcL2lNR1dnckQ0ZGpaZTlFYzAxclcwdThkelZHNnlnenQ4cUNUTGFFZUlXMFAwUHZSdjFuVEIra3pZY0tQZnVuWHE0SitkTG5VcXBWM2g1RDRQYnk3MjZzdzJhUEtPNmZURXk2Z09vWXRLaEdtbVlmYm9DNjNMNk9EdDBsNG53blYydjNKQ3BSTWU0NG01NEFtOFF5V1Q0YjEzV2lWOHQ4ODhUZW50dTY3WGFSRUJIclI3N04xTmdcL1YwMjY1bVBhVWpqV1RkaDdNMytDOGtoUkVIVlhnN2lZVWY0b3JKWlc2dXh0bkdpdFQ1Q2pKVmlPQTgzSzVVRGdDMEhiU2dxTVMzdVZRUEduQ0E2VFE0RFc0UkJEVXJTYnFadTJCblJTNlhlYk1tWkwxOXIwQTFJRVlNcHd0VHE2OHhYdHp1VmNLSmtXMmVvQksxK21ldnZ6QVMxRGx5SUhvWFNXU2QyVnBHSFNGdTVwdDM5cHJCQms2WWJTa2xwNm5yOWZMcmhxdGRMVnNvdFFocHVOQSsxR1VBQytWOWI2Y0R5TlBmZHM0TzVLTjUyUHJSaGZ0NlJtQjFiNFNlWU1JcTAyRVhJUGFMRFREMHh3Q0htTHpIMXFQRlZmMmdORkcxMUFiUWpcL092N2YxSEpoaU9oMHJ5d3EwdWtXcUk2alhpSE45NUQ0WkN2S3UxNjcrbkx3bW1VSzJ1dkd6ME5rUDRsM2x4SUFmbGlRbEw5YmNJV25yZWROMTdDOGtoSWRERkROOStDNDNYQytveUZ1OG00WFJad0ZFVlR1Z1BIaThCcFlFNHo1WUJHQ2JGXC9XNTFIVDdQNlByMnZreEZOaytrZDRTTjhBeWhFVmNNMkJjNmJzcFN6dVg0VXBibG5XK1V1amxqY05PTVFQM0R2cStpNCtBMDB0eVZZcFcrNGQzbTRPUTVDSWlXdDRhTU5HKzB3bk9WWk1JNExUK0lcLytPSVV0OGxWakZZUXcrNUVCWVcxWEN5a29WM3VQcGVcLzNqUE56VDVwWEhJY1NUQXhmeDh1VUYzUVFcL2FhRTJySzJDZlQ2bHRSWFZWWGdOZVFVM0haQzgwQmZQaDh4NmZtQWdEYVkzckNxTlFEd2t2b1BuV1ZcL2x0cnoxMCtiTzhtdVVjRURiM0hTMXk3ZGFtK1ROdUU0T2RxZExXdzJVbVI1MVBTVDBQZDBja29NRjJUWVFXZE1LdThpMU9YeEE2ZzlHOUUzQUZqV21VYjlUR1haREt3ZkdUd3hPU3R5NkhpSXBKZzM2U25HR2NKVk9XaE5DU1d1Z0NUV1cxcUtXNVJueHRZSm5vYXFMaHhZc1ZjblZrWXYxdnlUdHl0VnFFM0dlMGlpaTR3YmFwTEVLVE9Edk9WejlpN3BCXC85a0Y5RXZqVERpV1ZkcDk1aG5Fd1liaFwvbFJBOG8ySnd2UDBzSnF2eFpIV3IyS0lmbWZPOVJHM01qTjBhbkQwVkZwcVpDYnZYYXNETXRIRjJDRjhqamZlbmE0ekdyQkRDeWd2Q2N4ZG1DRG1jTXdhbSs3N3FlR0hLQ0VqXC9CZTJBT0hVMHpIK1wvK0p1Ulc4Ujc1ZVJ0YTNjR3cxaXVkbXFsUlFmVWNMY05RV2lWUndMSHh5Ykp2ZWZDZmJ4VGhMK1JVdU5mbEtzcTVENU9xSlQ3NUg4VUJZc0JFM1wvdU1kTHgzM05qVXBuQ1dyakhaOG4yVmlvVHpzaWZJQk1PWUIydk9YTjl3QXFMOGF1RksrTk9Ub3haRFAwZENkdFh4Y1wvN2xsZGs1N2tZTXJTTGp4R2JGV3VENXU2WVJGdHBFaEVoZ05rSHJDNXMrSDQ3MDBWNFZUXC8zaGxpbSt2cG5XdUFQSndyQnpNeStTT29LcUlVUnZkaURmQThmRjY0WWdPYlFuSWxBUGVXVHlLd1wvaGJGQWVjRDFVWmlpV3hxYmI1a0hVQjZyeU9NdUVPZ2lXejBCa3FmK3R2R3M3WlNzNGd1eWFIdGpLRFlraVVHVmpXNjlJUE9nQ1R5M2hFS2krVU84RGxNQ1VFMkRueTdITmlwZ3ZjNmNHSG9UdU9lY3ZUMEtKWFg2RGVYU09KcUpnbTh6ZlV3THpnUEp5UURLcmZ3RXNyYzgxZWh3bWJmSEJyNVwvdnhHRDVkS3BUTDhURGZLaXRtSGNmYXVmWWQxTVN6bEJ0UTU5eXVvWDRyQTNWR1JEK0NDQlZ0QVY3azZGRGV3SGpRc082XC9WOEZnWWE4UTRKYmlFZDJHUHhPWDZpNDFIV2pFY1RidUYrc2huaFlGTnhRUUZMZXR2WTJaSW9kSmpuNUw3QkwyN2pjdmFcL1Z5eUVSaHJqdEJoNlBlNXB1WFRlVU5Bcnc0SVFGVXJkRTg3cDVOdkhBXC9vbVl2Y0h4Y3lRbkZxWWlVTzhQWUpnajhLSTdvOGpIdVRSUjBZdnhoZHd3VXNXRWhZN1BDYXhJS0F4VVwvd1pOWTNXVHlOMVJNakxMR1NQQXphT2tScU9ud2c4RmVzbVBOdzRmVXVmMStBMnR6WHh6ekdWQmU1XC80WnV4Z1RXRXF5M1J3emx3ZXhNM3k3N1wvMFwvYUMwXC9mTUVhSVRhR2VMdGJRSklXejhCWmZycTkzUkdWUUVOcm4wVmVBbTVoUWRhYWRzenRWZVJGNkgrRmJcLzBIOU1mWUJjUTNnZ1cxMUEwXC9LM3RYNUNFaFFQelpNeHVNc3hPTjhlY01GclVuRHZBWEgzVTZmdHh5XC9peGI1XC92NThTQUIxaG9tZjNqMjAxVzhoMkwwZDkydDBZQ0tmTW1YWjBDQXFUUGpUVmJMTlBiUFwvY3BMSjIwZ29MSDNsc1FwOFhKa3Z6NmkyY3o5M2dSejlodERnTU9RTzExaGJaTnRvdzg5OXhnN1hUSXJUV2NmOUdwZDhvRTI3M2E0Y0dwb0djQ3pmaHFtU0ZrV1c3VFwvaTVQTmpCSVV0ek5zeWwwQ21GNzNSSU1CXC9yMzZOSXVMUktFUExxQTIyTHJXdENqOE9HaWtSQWQ1S1UrdlIxK05ESjFhOEdPQkJQXC9OckJHem1PNW51NWdNeVMxZTJhTXNMZU5lTjUxSlBRN1wvNXZoTENTS0RHNjJqTWw1Tm9HNGxCa25qdktSbDh5WTVSNjBzZDJjcnAxM0lMdFRwQ0RNQm1lVTJ0cEFmZE83bWdIUGNVMlRGZDVyWThuVURhaVBPTERldEQrVFAwVmZKdm12RmJsMDJEUDdQTjNmQ01GRDJoYWlqWkNNZjRlNVNBeE5OV3ZxZHNHWURDMnhOOVlHNW5YM0krRzBjRXBuTXE2a1VBTmlwWXd2REhpZEpyK1wvTVVPSXJzRWJ6Z1FhcHVCRzdobWlHUThWTTRQeUYrS2xjdHVSQU4yR3J6UzBTZTNTTVdFd3lKamdIaVwvYmdaMG84VWIwOUxMY3hRd3lzU2pxTGhCMEhySnlYbWVITnFQTG9xY0tnd2V0SThWcnJjM0NxeVlqUnJQOFErQnkwMGc3WXh0QmF5U0R5cU45VnMzUmlPVXpjUGhUNFZMWWJXSDdpQ29IZjA3TWFQQW9tVUFcL1wvNGZacWlNQ01PcGoyUVVRelZJVFwvSFwvWFcyOUNjbThFZ0I0YWNyUEJSdWRKNmtiSHNTNWk1K0czNTZSWVI0TVExS1Bid1oxdXprREdxc0doczNVWkg1aFlNbXlMSDZJMkNDQytnbEhHZTRUTWoyTnRYUUxXVm5uNjR0M0oxN01BM1llQ25hbUlnU0tacEtXZStDNGZVQk5KTjF4dTVDcEdDTFJPWnhzemdwM016alh4YUZHS3NUUlwvOVJVMzlacGdcLzZFcXFzbW5GNWRKQmduY3V3K1wvclA1WlhHenFuOXVVRGVsSGh1Y0J5SUx3OG9tTkJQZWdpUCtXN3hzNlNJMmNPYTUzdW5zU2p0cGo4RE16V00zOVl2amdjQTJHdGZDckRFcWVTQnJBSHRQNHFGVmsrdE9TUXB1cnFqUnljOVJNSUc1MzNQNUc5VTFnVVhDZzM4bkpQXC9YdFBxMGFuU0RTTVpCQ3lxTUY4VUY4RE9TOEFjQWRKZmlRMWI1R2Q2UWxIeHNqbmRsYlNnTzdOcWlEQVNkbVU2Y05mXC9HaEZ5S3g2dkNOOUpQbG5nTEVIN0czNU1XTGRreGRcLzRUSEFnaUd0bkhpdnpnTlNkcFdvSWE2XC9LOHJ3OW95OFd0V3ZUcUNaNW84U1wvYXdZbEdobkl1SHhKT1oyeG5IczNLSFB1S2JTdXNJbjE2eWRZOTU3YTUzUGc4SkhHclN2Qjl5aEhMSThCZUdLeGhQVzNlYUptWUtvaWdaa0VsTFNDejJ1VExzZlo0TXhvUnEwWWRvSmI0UHNkSmZjYlM4b1JmbzBmc0lDa0FQK0Y3Qm4wbEtrcXorZXdcL2I5cnlveUlncnRqczJ2WTlHQlJnRGV4M2szZXFYRTh6VW1DM1RUbGJtUFJkb3RzcHgxMTF1K1FJZ0pVRjRsZ1hXejJsRE82UWt4enllVFZ3Uys3bkNyVmdrbW9PMXVUZjF1VXZvRUdrcUVHYmdZM2NIdTBmQTBJZ0NnbVA5MG50eGlUTEd2SE9KU2Z4K3ZNRFwvMkdwaUo5Tk0rTlFQSVwvd1EyR3MyRzlhMFwvcXJkSmtnVitORXBXM0FPaVdsVWhEQWowcVZwUEd5RnNOanhrN2lEd1M1UXRTOFlDK0NoV3liNFk5ZkJPSVk2ZkFMV3hCdzcxdmZNbml2ZlF2RmR3eCtWeWxOelVIYVRRRTBBcVZVQlc3dlFidk85b2pcLzZzMUhEVHMxQ1paa0JvWnFtQ1lzVmpQbFR2QWhPTDlMUDdYTUxJYWU0bFhaRUMyeVZNUW9oV1wvXC9uMk1UWHVZMzBKcTI3TDduOStTUTZidVQ1bFkwc0dSdkZMRkhnYzhZem9CN2xZTXNiSHJISlJ5TGxQWTNTM1E1djNGQ2NKU3c0QWdUZEhkQnFZTFhiZWpyYWNrNzNLWHhhZ1A0QUIxNHRPZ0hYaHBLdlVtTlZRb1dhd0NLY1N5RmI4bTNjVHRIMjhFY3kxV3RjV1J1QjUyOXRnOXBjeTl2MEtVWXo3S0xVRXliK0xhYjNGZ2IyV0EzTmNBcUNXQUw3MFcxb0VlM1gyZEVvZklMSVwvMWJVUGgxOHhoUDBnUUxzUU9iemNtUG1FQXhxTUswTVByVjJmSXRzRndkQTNQT3ZCQ052YkdpZG41Y09xd1RPekhlQk5maENPNjZ0aGk0NGt6c0o3aDM5SHpPU2VwQ1k3bkxoZFJaSXJPYUNhcFV2UjlBXC90aWZEbmNKOVNLRFlaXC83TDh0RkkwZlwvZXJEQW9TRWdmK1BBbng4XC8xSk1JbkpJQ2dobTVZS1Fnc2dWUHQyaE5kRVRveE03am5HQ1BhRTFFemZZd1g3YVB5SllBeDdqVWU3UVpydUNGSFlDakZNTnFOOHRES0FxVlZsVCtzcTFSa2FNWlc0alVzdlZYYVBBcWdHeVNocDdWUHhMWnZmSHhHTlZZNm1nU0htZ3dlV20zTEZKYVBKV1hBWkZsaGlra2Rzb0FvZjF4MWJOSHF3dUJvblQ3VHN4Snpwc2E1OHk3b2tVbnFpbFhCV282SUFhanUwSlBKd0xnaVFpOXBvZ21YRDdka1BMRHpSUVM1N3V6SjNTclwveWpTRk9pQkRRS0xURVwvN3FOV251WFZ5VUw3WlBvUlh0U2w2OFl4K2NpM0JLbDJSTVVNSkJvaEYwM1BTTnhVZm53dnIxWWpudVdJc0ljaUMwYWNlMlZnbkQrZStZaFc1bzFINkk5cU5ZNXpXQ2FmTTN5eCs4SEpYb3dQaFF0R2x1SnNTOWUzWTZvUXlHR1wvd3hlcmY0VDQyWFwvSUpuRVVtSmtCZkxmNWFUaUJpZDFlZENaQm9iZzNqSHN2TXFNVnJKd2pJR3d1bDFrbnFrdFpNVGJud25TRnd4MytVXC91V0VvWEZwQTlVeXJ4RWluRTI2eTN2XC9VdGNnek1BQzRBNzVYZXdvQUZIcU9GXC92M2pYaG5KeGRRVHh4WkhWWjQreDFpbnNwVURncjBzNFFnTVBYQVdWRlV5T1FjRmtydzk1QjFLb1NxK0lXNUpKVUlIdTFIcVQ2aytFYVdIRExMSjZwYjZySVJoaWFoMU1tbU84VTEzVXdTNlRrNWZqVFBHWDJabzQrSGxpQkVWWThpUFwvaXpmVmRWQTJDTHVucFJwenIxaVNNd0ZkNHc3UnBGYmZ4M1JuT3BqWk93UjFnK1RpSHhDZjFzcjBqWTc0UllidUM0YWUreURuTmJuRzZ0dDhmdEMrWVRzcDFaNEZLWlhYcEVLWHhuR2JuK1VMakFmM2NKbGk1clV0TDhqWmZ1Z1lScEZLRWc2RGxZRExGclBCQk80MGljcnNNWTVBdUQwMkJEbGYzZkFHekEzamhrcXZmZjFpRThlSHBkQloxdWt0ODlwZFFGTE5VRG9CTkpnRkM3XC9WQXlleG5QV1dtM1hVck9hMjhHRTFWMDdSOXRyXC9qcEt4MURqNmVMc0ZXeXdRS1h0MmV5alBWbnBYYndzRG91bHQyRFBQTFBPOXpqejExNWxhOXJcL2hZZFlHT2srQTNTZ2o2bmVIUGtzWXVGZ2NRNExZN2JqaUpzTGowV3l0OENEZlJcL3ZBRFwvMWdsNWFBSzRPWTY2dnZTSkxzWU1PWGFFOWZHWXRBVEhWY1M3a2V0bXdWQ21iazFsN3JDcTZjXC9wMjZlWnN5dFdBWU9jRzV5WnhIaTdXeDM2V00yYklBbXlraDVjbytuUllIUEJkNnhJR3R1RUU5aXhZaEZoMitvUVFsb016MlE3SWszXC83TVwvaHZOcmtMNndrdzB3RXFidmRkakZCdFhMNU1jVUxFWU13bHFBdE04WWZ3cXNHKytoeHh0WDJFSzdEMmxmdEEwSGsxV1ZSME9kMkdxSUlmemZhRk0zbFwvbjNYeXZLTG51WnV4Q1pjTVg0bFM5djZQWnhzVDZ5TDNUVGVKRkNGODBJQURaQXlXOXI4UXg2ZVBtd3Q2WkN1ekpxUFFka1JTQ2RQMDR6MWFtUlRZNlFpTlVKclhzNm5vMlFyNGZwbmNCWnV0VzVqUkFSSk1iNUQrbllJMEg0bTkyWFEwMWFiUGZsUDZndld3TlBDTGk3NDIwNFBjXC9WZHQ1SDlUdWVUNVNteVR0OWZubDRva3RGWlFsejNZQ21DRkxxRUZYcnFMRU5LR0JVM1dHQ1Z6a1lFWHZpRjZqM2d0cVZlOGRjdXNLTjIza3YyMUg4a3VpOGlPOFwvOFN6TUgwckVmR2dCZFdWZ21uXC8xdkxoRlBJUVF6TzlHV282c1YxMzdmeHplaUlBWkdyeU5ZMjlUczUyMnV4Z3FZTHFrRFlpQytUYmxPREQ4eHlpOUFvNGZWWjFGWlVrdVBUTE84Q1wvXC9JcHk2YWRlQ3RDMGZBcGhQK25VQTJFcUoza3RYOTA5K1FtT2xRRXVvMjFYa2FUN3dScDJubkEzQmJZOForOU5KeVJYTHZ4cEZnWXBiakJKTWU2cGQ2clwvUGF1MWs5SjJhWEpzZXRwZU0zTXpGUG56NEUzWXdXZFBLRTdTTmZVWWdiem05aDNXRXp5eXN4cXVOak11WkY0dHJrakhLRnBacCtHVENmVlAxbDVrTGdpc09ZY0dSM2ZiTHJFZmtHMXJCZ2ZMczF5a1EwNVFiOElTR3F3Q1Q0dGpRK0ZqNkZyMVBZeHZEUStpNkFNT21pcWUzcmpxOFFVQ1FcL0RJSHltRytKeHFrVGRlbnVGVjBHU1hFRGRGNzdzMDU2QlA1NXFaMXlaN1p3bzVmK1wvN0tLZ1ZJWnlLdEJCbzZOa0JiOFRqV2VFeTU3cVR0ZEFKbWR3Y0dicU9VbCtBdDNEclYxR3lNamlaamdyN1ZuZisrSEZER3czZURyTjFnUEFOczBsZUxBQTErd3RcL0I4d0lxMTd3alV2c1NxMDBsWjZ2dSsxcm5XeFY2NFF3UVZwbXMwY010WjdJYzNFMnUyenRUOCs1ZjIxYW1UN21yU1Fsc2tPdGxKNHdlSzRIbUpjaG9xdUtrdndsemNhN2IxTVRUUlR3TUlcL0h6TFdQNmJoWThLdmZpRDdxUE5WM2pRZDFlUTVRQzYzMERIME1WWk1BYTYrUExQdnUwZWxcL05oTnA4TVlTRXBKM3FzZ1dZZkxTVk8wT0Q0djl6eDI3KzZSSzlWa2N4Z0NpNnlTeXBadkY1d1JudXNxajRNNDdOSlVaOEExU1o3TDNUN2szNVVKQUpOaFh5MnVVenR2XC82QTNaZWs3dDRrQUgybmdtUVE4enhMUnFlckd6eEV3R1NXM21PeTZpRDJtU3NzOUdHUXBHZjZKUXV1akc2SFpzSm1yalwvUXd2TXIycnBUTEtTeUJRcGlEYmt6TmRmcDFYM3RTeW5mVE4rSUYxZDViMisrdXZwajluaWY0bnNjU0VjTlp1V29HMnpqQ2ZHTXJVWUxGNkpuejgrQU1uUDlWZElObmpKK3JNMXVTaXhYVjFZSnhSbmMzOWdLdkhRTVwvZHZPUjlPWktCajdQQVwvcEcwcTFJY0xWS0ZxbWR5c2NYR3d3aFhqaU5LVllJUWJnMnJ5T1d2Q01ic2NQMlhteEFjYitmb0Nxb2NPMmREWFJJaVVBa3JvdDRKS1l6clFtODYzcXZHUnllV2ozQVNCMVljOGNIK2tDekhKV0hBTjg3ZjVjbEMwOTFmY0VFZEM4elh2MmlENWh0cDFSRTRLd2NZRkh4TE4xejBtOHJlXC9KdTNqSVRsNnBCUml6clI4Q1ZNUzNUUG9wQ2Z0MlJGZUE5V1pRUDZOYnlPTFRHQThTS1VLSjVseGNZZlBVYWhnc09EdDFhZ3FoRmlcL1ArbHdqYWxURjFrNEpyWnF5dHRxRWY0TTExSTJJRjF3Wjdadjg5UGdUbHRnRDJ1eXRNalpEcUdSR3lOR3BhWlpTUXpmam1aNlg1ZFRYbDJJMUJkVWpSZ1pFaHljT1pWZlJOaWNIMkExdWcwNDhzN0hDcFRxek0rUFVWak02RXZXdmI3MGlQb2k4SXAzVFNkMzhJa2RhckJhRWFzcjRETm5RYkF3Q3NXcVRtaWxLbjRVcmVTd3RKeUFiV0xoRUVZbkdUTnArbWpMTGlqNkI0dmhNYmFkdUZ3c2VqN2wzdjJVNGs0d2FPdFF1MFdPSU05OXdtWVNjYytxVzR2eWs4K1wvOVFXXC9YRW40Tk94Q1pIXC93WWxsbFlJNTFTcFZENTBSQmY5QzZuZmZPdnFmRDVOY29IalhFazY5VmxvRTVWc3gzU21aRUp2UVNwTGZnRWZRRXFEY3laN3hrWXBGV2p5dkdoaVJXYklyMWlKV0xKSFl0aXBCRHBnUjdTaGlHTFk5bDlXSEFsc3B4VDhMOTBBT3JYM0cyeHpUSzZncE41ck1Xc1RVQUQyZzZvU0JYOW9VSFdnbW1XZ0pqRTdlSFRSZzB1Y05DR2x3Sm5LcGNLU3RLSTFyM0lBa2tLK2h2aitONktEYkM1cjV1TXlCM3pCYnJYblVwaVlvTWVZV0VianpUTW53UkF4V0QzMmI1OXB5K0k0V3d5Z1ZKNXVvbDhQcFdOYkRyVkx0T0pBVGJpVjVUVmJZWlk4XC9DRDRGRHBSbElcL2lCU2VsRTdyTU1ud1BwK0xaRXhvaE9rNzJ1dmg3TnN6ZmJKNHBZT3pFdHhUQXNDRGVQSkk2cFJ3UmtvdjliUDJWNlwvZzc2NlphbWt6bncxcDNMR1N0a21LaXlWeXk0TTJDanFuREtQYVJGajFkNXFpbm9pSFR4cU05K09VYlRreldXWmRjY1pHOU9SY0xTbURxVkJXWlpIc1ZWR0dnTU95ZE56bTllME0yOGRNK2tyMHpqdDhJazQ5aExsRVwvb1dzTXI4N3NpOG82MktqN2JNZkhMSkxCdDdIYmFaMmowT0dKVndCMEJlK0dyeHRsUmVNZXM4RDBrTjVmYk4wSVlpT0liblZjWE9rZXdVamgwRStGdXVnQW5VNlJUVTRiTXlrQWVPXC9yV083Ylk3RDhNSk1QYm5qNnlCRERRbHRVMFk4M2xMMk9MWlVBRW5tMVA2OGUyNXBBTlVvRHp0Z3AxZVg3Nk5zZmlEQ2gzamVTcDFHK3VWOUxnNEdLRmdyc2JFdlwvaFlCT2pRQnVqa1RQTG1NODVMU3BpaVdIdm92RkNBdnA2U3Y4VkFHS3JRRThFbDNPSFRtVGJKckVPK3EwUTIzOUNQOTJBeFhcL2pFSCs4OXFhd09SZU5FWm9wbndHdUZJVFNRcFhvRzh2d3U5eVdVNk1uTGZlQXhCYXBtXC9ZY0JudzQ1cFBVK3drTHE0enNXMmJ0dmVYSkhDb05tcWliazdcL21BaVwvalBCOWExbHgrMTNyRHJ1dld4Mmw2bHhCODlZUlYwa1Z5ZEFVb0F6eFREd21Od3lNRFBUQlU5bkx4MkZucVJYK0dHM28xTzcrbDFOeHJtQzIrWVduOGxuMVZDZFwvN3B5VGNqMXFYd3ZsaWhQbGc5SFBLNGNBbU5TN3ZtZ29tYTQ4V0QwZktGTlwveVVwUUpLME5MREVZVVpHKzhKSlY1MEVCVzZRMURUWGhpY0xwdDkwbUptbFVBT0VjeFBKMXA4Z25qaUFLSjFJdTR5VVdIN1d3a2puakFod0VQdENLNWlQNXlnQkFIdktcL1BIMGZkaVg4Sml2OHQzQlAwRU51QU95aDZXZG9OZFdhalVHVmtzRFNtS0ZudDE5R1pwWWc0Rm5CZVB5dmlqZVNhTlVjVGZFcDlmT2s0Y3RXQlpSUFBXblJYZFFnQms2d1lBQmtpK1BZa1QzNGFNQ1d2QnFDSldDbFdZcDVuc2cyNktSZVc1d0o2dHRNYnN5VGVYNzdwSWpGS3BIRHFtWjB0KzJWWVFUcW1nU1ByMUhVTW9DTURuT3J3WWlCV1F4T0JJaUs4QzRhVEtcL1FDVDg0RlZRdXVOVHNTRUJNWDJVMzRqN21QdERGMmVsS3hwNnBXR3ZFYkNVb3h1TjNXcHZEUklYQkNQY2Z5MXdhYkhoQVVMeEx6MkNxZlRDcFwvSFZ1MUdlOE9vQnNxcmo0MHRYTnFvVGxCdmg2M2crS1RNajVqWUJYQkJ6UDZxaDZGY2xNNEFZYW45YjZKZmdydE42WW1zODdxRWZKb2k4TExnUittcFVpWkVxZ3pONzA1UGlYWCtyNkVYTVFTUEM5a0JZZUtiVE9mdnZzR3JiQU1aanhjYlg5VnRTUEl2MzRrTUp3cmticnFSWU9ueTI4TU9NSHk3dFhSQ0NSRnBLNlhhQXNyOW42V0JxMTRSaENSUHNBUVdrc0pkVVNjbEw3WVEzcVpDb0c5em9lcUlVUEdzYmRJQUpUWGV3S1wvS1FBY3l3V1l5c3ZEQ1dtSzB4aE5rZG1YU09lZjRTV3M5eVVkSlR2aURpb2NKOHkzekk5TGNBMHUzcVZsbGRVNEpMRmMyZ3hrQ0kxM1hPQXN4UGhJQWFtQko0bTBVbHNZeGVtcWZFemFSQUdveW11cXZsRldvcWdkT1ZwRzhodXg5dEVhWmdBRWdZMktIWnBmRmRZM09cL3VaYWdHWnQ2S3FLMUxlVGw4S240bjJKV3VJVm1tT0VNV2NXRndzT0Jtd3J3XC9yUEJqZXdCNHYxSEFKc000Z0pEckJobGx5czcybjlKZEZuTGJRajJhVERRNjY2UGZmRHU1VHlRejNEbEF2U0RBcDdXc1VOS0lTdTU1d1JNZVlVeUh2WUZaSm5pbG9rRDRqSnRNaCtSWGsrQlNySEtFSHN0OEgwN0sxc25RWjdKZWI3YnRXRzFKejd2ZmlLelJub1FWWkJDeEVFYm50SlZCXC9VNWpSQ3FrTlQzZXVmUXNkUFBGTm9cL2RLUmRLVVFpVGtZKzZJUStZcHFJaitYSG9QOXZIRGxBb1VldFBNNVc5bWpPNUtCdjc1Um80aTZUK1d0amxWeCtTUFpUeVY1RFJ3QXdXdG9jd216Rkx2WDJJK09taTJXU3NVam9LNlVDYVBZWmR1QTVZVExzVmo5aFduTnl5NkphZ2k0b2JyTHpMRjhCM0NDXC9xa3V0OU5WaDhCemNMU01ZeGdQTG5QYWNTb3FJOGlydHFKeVBaMlNYR0lhcGdtZGR4Q0p6QmN5b2xZcitzM2ZZTVg2SCsycHNkTkc1V0dTY24rU1pnelRTZFF1M1QxNElZR3d0bnlBZEdoc1JWNTlvTmYyXC9cL0txTXFudjlyRVV6ZzZ3VWFqXC9INmhEQXMyaVwvTUNBZGYxXC9ZS20yRjZ1dVpxWVVwbGlIaVwvWG13V2pTcytobXVscElMNHRYdUxWOXVQV1lOOGhSS0dCdng4anIyMFVvdGFycFVOQXJnYU1MRUl3bU9ZaDJveTlcL3J1a2RHbGxMWU9kbkNtbWlTK1BsOFA0WlljMzVoc2YyTktURjBtMXN0M2hKY1AyZ21KbWZlS1RvTmZpSmYwQVVzVDNkbVowMEJOSEtsb05QTU9CUjdMSERyWUZiYVwvVU1nS3hTMVBYR04xUUhOdTFEMUwrR3F1NUZSQjBhR2tsVU9rakxcLzR5NnVNREFLclhQcnlFSDRBMWtcL0NyMjU2SFFUYklrN1VTVnVjc05FYXBtN3NoeXFvOSsxaDBEUlZ1aHZjWVhMQ0dvcWZiTUJmcjlYcmljTENJRWxmUEI0eWdlTzlWYXNRQ2srQk01ZlVLSmloRkZnNHhcLzNqbURzeUZha0JaZkNoVUg3RlFWNzhCZUVrcHA0WEFrYnl5c1pXaEs3a3hxemZReXBidFZxRWRyZWNPaUJPZWljVThIbmhuRmtGcVRrNnB3RHAxeERDSkVnQ09tQkMrSTJPWmtJTnQ1VWV3eWlzNDF2VDh5Ym9BeWJ0WU9rUHhleUtITXdmS0FNTXJvMEN1cGNvcVBMdkhqZ1hBcXlpdEcrTjl3ZjI3eHV5TlwvWXdHZkNDS3paQ1h3bTFCeVVDbWpaMGJrdkFtT1JHblRVWW9YSGVzejBITWE2cWl4UGhmK0ErVWpyejB4SHBJc3Q4ZlVhTEpWd2tlT0t3TEhoZCs5blpac0ZsQXo3OURqaHBGajlCSUU4UlJKRkRUR3BlTGorTFlTeENaQ3UxOUxYdmtlblwvU0k2QW1CRlVGVUxObFRsWURENnVZRytEdzZLcW1hS1VmNEZEWnBkRFlvRU83eE5lZ2ZTZ0twUFhoREQ3TFJURlM0ckJKeXJaODBNU2xEVDNWWVB2NForRG44YXVuQ3o3MXNXVFBNYitGaU8rSTEyemFpUVpTemJyXC83Z243YWtqUjB6dklqR2s1aWwyeVBqb3F3OStjOU9tcG50U1pOUk9cL01hWE1YcnVFRFM5eDhkQ2ZZZVZnWkpLdEVKdHBmVlo0cFJmWDU4YzB6Nit5OVlrSFlTSDc2V0ZYK2NsMTRycWd6OUZEZWhUMlhYelNLMVY0NUVzNENVa0x6RjM2c0ExbGNhblY5UTd1ZVhHWko3Q2tRQ0t3emp6cTdmZTN1Y2VxVDgrSm9VbDhJQ1hQZFpmZldcL3FveVYxcXB1YnJudUVnTkZVRXN1MXBNc3d1Z3FCVWh0T21CWUV4dmliTnBZeld1K083VTFNV1lqOExUaXlWVitLbXQ0akRFZkJWN3pxOHpqdGxBNHdUVXFjb2VoeGVNSGU0QUNpNWhsK2ZRTFBYVWh2TUVueDlJRHMxVVpFaVNRR2dLbDJOb1NxdjIyY3ZzK2NuMkZYVjlNXC9CMzAwYjc0VGk1Vks4OHJiY1FEQ3F1T2NVdzdRTmdmRXBmbFRkXC9oN2tOXC9nZEJ3OE1tNm9DMEJ1VFpCdlBcL1ZxY1RjZWNINXZEQjNIWWp5dHQ3MVR6d1h5WUx1b2R2aHZCK2t1Q24rd2UrXC9UZSs1NUJxWXNsTXRKS3A3S2dibGk4cEp6UWd6R1wvU3hnWld0OWZkZ3VKQmNtQzhnVDZDRmtYVFJkQjd3eUdhVFJaYUFtZ0xKNkhKNCtcL000TEk5b3ozWFFRQ01EYkJzcG5Mb2tqUXU5aXF4S2haOWxHM2hBb2JDd1lTSVFaSXo2UmNUZlhMVzZ1Zzdydm95SU9UTHNRSlZOeDZpMmphM1wvaU5BNVB1c0F2K2YxUFZyUXFzbXVPSXVydzNYQmpiQjd3MndvKzZDbmI5cUxlXC9MK011SGNyd1lXWVBOSUp3XC9VUHdkUDhBZVd0d2Fpb1dwVGpNbUZHSW9JQVNNSGhSQWxOWm5tcmRFN2dqVUdGR3UwWmREY2REZXhvYU1BWEVrcmxjZ2hqVndNQlltUmxcL3cyY2liclwvdTByRFVPcWhrVWxVQWZ5ODY5ZjMwTnluQlF2UWhPN1JrZ2xzd09NaU95cU01ZU01OTQ5c0xYUUVlV1hZaG1WcW5MVW5Td1UrVDM2QXRcLzZwdGJkOWFKTXZFekY0TnhSRkdMeEp2VHp0MVhsRWlKeHRjOWlVd3lFaGVcLzc3bTA0QUlpeHFJdTRreVNOcG83NnYrK0JWOFJhNlFLTnh5VnRmSUJMR0xrT1hBNTRGd3RxY1NEQ2NlSnZ1RE5oeXFSbnFIR2dRVlwvY1VRTVNETjhPZjljYjFpQzhQeU1xZktRYlwvTElTRzd2ajdqdGVpdkdkZ1JVcnZRdlN6WGFvMkVyWVlxcU5VRUxFSEJHdVwvVFBIbFE5bFJzSVRKSmJQVFc2QVlCVmVZVDhjN0dlOFpINlBLY09lR1JZUjdGSG9PbEsxUWFrRndkZ0MrcjlBOEVmK1NhbjRkWThyd2tESjhUd2dcL3NodXZPak5PbEV0UlZZcGMzTGdyRGc5aUhqS0tGT1VrVDI0bEhoYUUxYjlyT1JHbWtEMUNQZm5OeldVNWpneHM2R2xRbEhmU3kyTUF5bmIxc3JcL0R3NlZHYnhRMFlaNWRGcUJDWUhqZjRCWUErSVVUT3loaXFPNXZiUEZHNHFxcm1Beld0c3R0SWpSeTlHYzE2M0NKUFgzY21cL0FnakVtcTZLRHhwMTFOSm11Q2RyR1VRaGludHVjdE9XY29QTHQ0OXk0Y3Q1VUtXb0xiV25QcE95RUZJUlFIUVRZXC96dmhcLzdMRDhtTmFoOEx0cDk2RVl6MTdsaWs2ZGU0VzNLeUFkZ2tmdms4M0ZXSHA5Wmxic1QrdkJPaGtPT2RSeHNcL0ZHczZZNlkyMjVYbHNuM2p4MXRidHZLcjc0cXUxcyt2MktxWUlURE5TaFdpbHpyVDdVQUE0b3BUQStzMEw3QXRZQjNPdHJ1VlRsalwvYVpZSlhiV3RuSXFHMmNFWlVpUG01V0dcLzl6OWFGZDBzMHZYY2k3eFdjVXRcLzFmVmZ4NTRyWWlOazRYWHA1ZmJsbjl1ZnlFOVdLMTBrbkZZdWhuYnhwYkhkV2l6MVdEV0VlMG1vd3ErVzJPd3JpRkFpa1RNVUJZcTcydlJYbzlmeGFGemdCZFBMTk5pbCtIaDFyaTc3R2M3d2szWTNuaGM2cFN0UGNNWnI2NHVjbXpQREwrQWQyVEY4dGI4c21PYzFCWDF5NElvdEdMTkE2a2FwMHNsbkFBcjZEVHdBQkQzUTU4K3NkXC95ZXNnTGNKN1FaeGpmdmo2UGRLUWJvUU1NWWppQldaZVNnT2wyNG9WdDRFelFRM0k1Y0RteVREWExkZ0ppWCtuNEpDU2NmclVtdHRHdnBybmIzZmttSjZBZUI0VkNrWlJhWVhSZnI0TmNnWFBjbXBhM1ZiYkpmVk5cL3hWTEFKdWxETmJ1cWY5bVM2ZzM3RUtFRFh2dmVTTTJNVGtUaXBUUUp5d3ZXc2hzalwvakNHdnhTNHc1RndCN0pta2FMeDVFcnp6T0QyaDBBekc5UW9FVWRzMDQ1a0VnWEZKTVJPWVg2TWhNaGNvTDUrU2t4Z3VaOUhsVnpRWkl1RVE4Z05mcDVqbEE0S2pXOGpRRTRGK0doamlyNTJPR2I3a1VIKzdrbklYRjE2cXpyWCtUR0lmM0g3aUpZNFJudHNIYnYyYytjQ2ZDeTE4dm1STWl2NVlmNTJnUjVUdmFCVVpMUTFoYmVKQ1wvVTBMTE1sWENcL0xaaFhrWFhEc1NFdzVsV1wvTFJYcCtCM09pMG1RZ3ZwVFJUaUZIek5TUEhMeUlOTFUyREV2bENick1GNERGV0pWWU5uUkNlZm04cmlZaXFZeW82bGxoTlNta0NhY0xsV09hSWRVOGxRRWJNd0Rqc2luQVwvQm9lRnA2SldsU3BTd3hxMEpiTHo1VTY3dG5ZMGhuUjh1ZUdkYlJlOVNZWVpCc0JEZXlnaTB1UkZLWlYxejhUNk4weXVIQ0dhdnpTQjB2ZkVmbGlwXC9wYzVwa0s5S1VGdUxqTmx0UktSdXRIN0VwWmhHams5NmVRYlwvZTI2NGFpdG1xYWU3XC9MRkxrbnVpK3lRYjA4SWZSaGlXSXFKN202S0hcLzl5RUlpRHcyVkQ4cG0zMlJ4Q2hJWDFMNmx6eW4rTVk3NFNwWmNrbFZZOWRUK01lXC8ybG1OUnBFWlpIVmtMb2NxWEVESWdTMGpSU3Q1M00rU0ViMGV1NTFuVkoreXcrTXZnaDVNRzBCakxQSGRacmN5ZkRUMm1sK1N4c2psMGtnMkNROUUycU1pZUQ3MXdVVXB0RUNQMUJjNUhrSllVZkdoSjZYUGZKSURrdE11ZlFcLytSTXhYa1lcL1pmUlVGcFFEXC8zYkkzZnA0ZnQ3ZVF2VUpjTmhOa1Zrd3cyUHhJcXF0WisydDd0UFhmcGs5YXVwUDQ0WjlnWkxcL29MQnZpXC9HWUxoT3pDZjBsbXZHekFjNFwvRXhTUytmYjgwUVk3M3BOblBwYnhrSFR3UFFSdlhCNGg1RWRyZ0hJS2RhWGx3WXFZMllcL0ZBMGEwand2T2lER1wvblIyQTNtYWFjTkdIK0JFdHBBZTAwSWk5R0R2VjIrMHN0NGZyUTVpTTdERkp1N01OT0VBb1YyU1BEYVc2dXBuYTlmVjI2dzRXXC9FR0VoKzZSU2ZNUTI2UVRnYk5tSFVcL0tOYlhDS0tPNmpEMHZTR1lPZWNWYnpzeXkxYVBnOWx3M1JVWlErNFhrR3I4WFVTc1hvMmZDcThYeFhvSkE0N29JdlhsS2luTFF1RVNYUUlYQWNXQ3J6TnlJMFRRSnFJd3YzOXIyRVwvMEp6YllURzVrVzhzSlwveXllbG1aSGtRQjVZaVl2aSt2dTJIK21wdUN1S1N6XC9yeE55UXJHNVN6NGtTXC9aODJudlhXQ2NxODR3eUdWTXNEelk0d0k3cFNpb2s2TEhaT21IWVVVbjJaSFJzYlF4WGZzWnVla2lCUWtJNG81R3BkQlNmQ1UyZEY5c0tnM2NwNlJtNmFIZmttSm9kTzF1SnVBU3Vla25OM1hRWDhGTWhqOXdGck12ZSszS3JiWmhmUjZ4VFU3cXZQK2t3ZXd6NFwvVGk5ZEVjMytLeDN2WXNVdUFIYjU4VWhUaDhhMlQrSzFPNkhLVWJXTUZ3ekF1cEtDdXNaMnhCdllZMndwUU1Zc3dtNThPR0M4M0grTTBpaURKSWtScjFUZWJIQmdBRTVuc0ljM1Zva1p6R1JmSWlndldFRm1xbU5lanQxTmpNNTdcL3ExNWFYcVZUTjczVjdFejJYU21UYjBTYlZrU1VjNEpoOTBJOVFQXC9ZNW14a3dhcEhVa3ZyUjVNWVhcL1BGMFlzYlVSRUp5SjVZTFU4VVBWdXcwKytDRXB4ZGM3cEtxUnZGM21SQTNxMW02UkcxMTA0cmd5YW1kMGNoMlRDT0ExbGtiQnJjVE5WOUdFdmx2bGVGTVducWV0RVFiRXFJMCtMUVwvNmFQNkJTclBYN0hjVVlhTEkxbHQ2Mkh0aVN4b0ZMTCtMU295ZjlmRGFmeTd5cXJnaERKd2FZd2gyRVo5MmFzblMrdXNzUWpKRVEwaGxKRlNudjB4Zmw0MFF1cWM4K0pQc1BLRmV5cnNVR2hCWDAxS0h1MmdTb0RcL1NRZ05WNnlsdUJkVEw3XC9LN1wvWVA5K2pPdldlN1pRdHUrN1dHRVdIeFhVYXZBRGJLMFJcL2NvSFdPc3hneHlsN1d2MjdPb1VJWWQ3Q1R1dlVtSktzcUx0QXprNTdBM2NxMElBYVBlZlwvZXZ5cndwMm92WVlYUDdJd3JFTGJjQjdZcGhSQUEwdVVic0NDT3BLekVoemxOc1VPTlJ6S3dZU1VmaG45ckFzSmNaU1JnbmM5bFk3aTdaSWY4S0lPTGpDblwvNnFXY2tUaWxqVjNNZkVlQmdIaEhkU2Q3VUp2cyszVnZhVG44WW5CVVhOR25adzQzaVp3QmlrNVROakJRMW91SXg4U3RzQkdpNklibWxvNHR2YitkVVZDN1VaRnl6TTgwVWVLUzg1azd1SWxUaFBCcnN3Rkk4dlhFdXQ0WVBkKzlOMk9BdVdKeSt2S01cL2FSWkY1aFEwbU0yOGVacnpVdGQrTXltNjBRVThUTWdaYkl6OXFjMmdBUk9YeDFyVFZLZHc4eTJZbGo3VHVTdHA3YWVxcVhncktFeHo4ZEI0dGlORE5lNnJKR1h1cnRwMjdka3k2TnRZaXo5ZStSMUFFUzBqbUpQZWNENHZFY2ROREoyd1NBcUJFXC9vcEJzam9JSWZSc2JHZW9BT0xoZ2IxQllWd0JUZDlBR3dQWmZHbDF3YXBLVXN0T213NG1vNjhjVXltdjdEQkNmQ2dQRlwvVTVPXC9uQXduMWxYMDdVaU1YbVQ1XC8yOUNsK1NyRUJEa1wvUXhaNWNhczF6TXlhYnFLMjMxeWdLajBiYnRWQ2NxVWJFMHpyZkhraGdcL2d6S3JHWGd3Wk82Y0VpTmo4U2RFTzFHV3BaYmNQbUQ2SG43ejhkc2dYOW9EcjEzNFNScFFrNElRc2VhRGJZeVI5anZEMkNHOHJEVDN5dFhRNFRCQm1VNkxDMGRycFFtcTQrNTkzV1A5TWtpcVR1cVY5ZXM5QWxnZEFHWWlHaGFnYnV2TGQrV2tsRFU3KzZSb0drblRPM2xvSHZIQWtQaERvZ2tMODkzbmRFZUYwQmZRVnZoc211TzhIZGtoQ3BTR2Y4KzhuWDhOMVV5VHhUSHliVkFUS0FKdTlNK1lPK1JQOVJXbk9JWFN4Zk9abFVMUGVpWmdSRUxINFwvekp0SkFCVlJVWWFOWFhITlJqMmJhREFFVURYV0dcL3NCXC85WEw5cUJLZXhKTW83VWhpZExjTjV4SmFuamltVWNJNHhZSFAyT1o3RXBNNURIQkdJdDZoNkdiY3NiUmxLU0NMVlhkOFgzZk40MDN0YmFMOW5SZThBaFpibVVyR0N0NTNubmpvSnFSSEloUGdHQ2twZWhIR0FOY3Q3SWJBaHFRaHdzTG1ESXltR1JEUjc2TUpacnAyOWtcL2RHaFFJV2JNMTh6TlRpUFV1ZDZaWlpHcUpcL1F0QUNBbDZISzBKaHFjbW9TNk9TYlNxK1NJOWc5QTBxdWluNjJBVjROMmNxYndTTlFXT1V1Q3gzSGF4SFI5QXZtalJ5QlpST083cEdyZVZmaG5cL1wvRjlwczhLeXpHREh2a3VSTittb1VvcEFyelNkcHVVYlwvNFBWaHZ6amlGQnlHUEhwTFwvYzk4RmpUcWs4bFdpaE9IT1VyUWRXRno5Q1pKRGIwZ044bXJiYUc3MzlHTk1JZFI2Z29NYmpMN1dCNU4zSnpaR1lcL1lTZVVlK2JVVitUOFFZQWtpa2I5QWZXS2NUYnFTdTdYTW9VbDViOHBkV1hjOVlwQVdPNzdXVzJDWWJDOUtJWmxmQjJNTG9nSDhNRmc5SGlrc1ZEZzY0aGdcL3ZSckxCTmNmMTNCRW5sYlJObnNURk5DckRjMEIyMXNcL09qYmVoYnRIdDlRSG5qU3JVYzVSRDZyOEJvWUFyU25SbVdFSnBLYVlLaUQxdUdkQTZUZlFsTkxKa1Q3VVwvRFVkYnpRdzhvZXVQRXE1TlwvU2lMNXRoNXhUcjlveFlVSWl4ck1oWVJodzU0ekxSWUwrMklLSHRzQ29NRzNJdlI4NVwvZ0xOTEpTNFwvWVN0WFE5QkdwSGxKNEl1eXRsV0JIbzBObTViVkFDZGRpK01qQ3lRd3R4WG5iTnh5eTQwajFkMlpvc0RBQUxYMmxqUnhPMXF0ZG1Ka3ZJNUd4VElnUWo3SWpIWVRrMjJFb2ZWN202VzJaNmFLNForYjluRFRNK0VpUWJtTEpLbGNRUmdoM1BcL1V5Ymw1QnNlWDczUTg3NDRnTU1NOVliZmlGQmRXTWRVNlVnT0xsT05ubmpyVmpaZEdueFV5TE0yeVd0UThMa05IUzQrbEY4dlFTbTQ1akhjdUZcL1VTM2ZpVEQ3VmMwZmNrQk1mazNUenlrbjRrbVVJdm83WngwenJjenNCNlV1QVhUN1M4QUN6aVBjV0lDaEh2SFBibFJzY09ZSnZCblwvdXV2UllyZFpzMllyK1BUTVwvRVJQMzhEblJXQzZvR3g2eGtkWVZrakRGVlZWcmFRZkhVaUcxN3lkSGxiT0dsYUtpNlBpb1ViUElkUXdMVXVYMXNCS3hsbVpmUjJ2UXBmdXo4bmExRTgyVEhrWWh1WWREakhud01RVkEwbU5YMzNWVGk2bW9RV3lyekI2eUNEWW5jclwvSE5ETjdzSmdOYXNwS1FxS2hBK25cL2NuMzhyeU13VnYzMlJUOTBcL29tU3NPU0hUajV1c0FXUE9cLzVLaVI0dldyaDJMMG9kUWhHRGtTRDFRYUl4d0VCTHhKMzFCVlV3bUpCOHFpN2E3ZHJTUTY2ZWVIdmRSZExKTk1aRENINThZNlpVRzFXYSt2NEJZQk1qUjJJbVhrbEtsWEdSK1pOMzBaRWY1aExDcUZaWlwvbk5Md2VvVk1zTDBiWFdHV21nMVhjWUYzQ0dkYXVIcmNWbjRMbGZ1SGVvelk4UjFJN2srdHBCT3FFbTAwMnZ3ZEl4WUtYWGdUa1BtSW5VbG96d2htRklFSDF1UmNTZ1oyM2QyMU94YmdYZHpyQk1mUGRvMkxwMGtcL3duS056d2xIV2lZQ25WMjJNM3FON2JIY2xzZ2RjdDBOZVhwTk9aT2tZNkcwM20rS0R0Sm1WU1wvUnhSU3JwbzNMWmVNZVdURkoxdnhoNkFYa0l1STRxMTVwZXF4bVM0SXo2VU55RDN2UytTWmVTXC9uRkpNMFVaK0JPZlNQaGowRmc1V1hoamFXSDUxVVE2Q3U1STFXZllqYVo5REFSZFROR2V2YzM1T25PMjZYcWdoWXVqaXdHbTRCYStaQkNhOThRN2E4SFlKeE5NenpKS0JUZEx6Yk9tMGk0ZTd4M3MreklmYjZUZUZIcWc1STNWM0xEalUxQzY1N1htNDBpVU5YdDdlWlRpU0FXSk02b1pPZ3V4Unc3RUZYYWFaTmxUU1BRckwxRWFicE5qXC9GVEd2Mk9WNU5JSnBjOGFQRm5EUFlyZzdPWHk5NlR2N2ZcL1dYUzVla0J0VHZcL0luR2NoMzlrTkRIcVd5ckJOSkpENXpZc0c5Q2RHZVwvUnFteUdndEc2Y0dRRXI2RFpRYzFjUUxoN0FWV1N1NkdDQ1drMjFyRVNOOGtiblwvU25Xb3Rrb2paNUprSTR6YzZ0TE9JN3RzNUlGdnJGK29Dc1wvNjkrY3d0K3hLYVI3MnpkN1NMZ2daTjM2Skh5Tk84XC9ZM2VzU1kwdUVudUttTGRwOW96cjR3dXlOTGYrSjQzYjI5T3M1MER0WEkxaTIrZmxmOVMyU2dzanQrRUpSRnJJMVBCdUpUUWtwMTgzOXZrWkxJRnVSYkVtQzBSRVBMQklxVkpqem9KQklFRGZLZDRlcCtyK1NCXC9mNGVxa1wvMmI3bUxaT00rVTRuTWY3cm5OWUhRbnd3eXRKMjdtbExiT0VKRFFzSjdhNFBZcmtBSHg1VWl4T0lLcWdjMCt3elBaNFMrUDdMSEd4eVl5MlJyT09uajhNNVY5S3V3QzN3VXFTaVYrRU9NTWRpMFZLXC9aY2pzbDNDYWw3SE1iU2traG9mS3VrY2tkdVVtTnpEZURvRERSNFM3aGpRYzVjVlMwS2F4M1ZDa2Jjbmc2MDZjZldkenFaSUtcL1BGamQzS3BNWEdId3pFVGZnaDRCRFJwVjNuUUhzYXE1bTU1aVFvazR2bnppZHhjZWtjUFYzVUNFU1Q5N1hrUEdWc1I3UDM0cWw1dTNNTm1mRXNhWUN5bTlINjgyU2JuYVlEYXRLa0JyZUU0anN5Q0wxWlM5NndFaVJyeTVIQTVFcStMWXNJZEZKK1JTODJldzhOcENmXC9cL2xPcVhOVm9rSzh5eTV4MUxCUitWaFlyT24xWlFTWXVscmtvcW9USE1mTHBWVXBNSE9NOTBkZnllVXVhK2pXdTJTcmRzeDRNWWJNV210QitcL212R1RrRTRrV0hTamZ2RnBscGZmYVBrU1BsakMwOHc5eTdhZk5FVWN5eUtjV0RyUGdlcGZSeHE4dml3WHNaRkFZY2k2WG9hQlNnMTFqb29vQ0VJWVowTXJZZkdrU2Z0bmxmXC9aQktDd3l4MWFlNENMR0ZhSmNSa2hpT1BsSzhQeG8yV3phMG9FbWUwQzZJcHdua1BVSHpOUGhzeGhTYjNNQXcwY1BBbEI5WVwvWHNpY0hZMjAyVWFqXC9aSlwvallYekw1a2pqcXZBVklMM2FpRzFudW5mejlnWTUzMDljME4yN0F5UEhPamZ3NmsyTzJaQUFWS1VSM2x6cHJVMFhYdDBkaEJZUVd6NTJyQlUzdVM2Z2VDN0hDcXNoUmZEek1pcXdSc1pNczQ0a0xNUFJWXC85ZDBcLzhmUU11bSszaEN1amp2MFRxMXM4ekloMmFXdlhvZWpTTkplYVAyNGJvTWF6cjVLbzJQK2Q0NDdvcHJWbmRRKzVzTmRCWHFZdmhQbE9jM3N0M3E3cXJTOFFCR3Ewc1hCeGkwNWRYUEhCKzJzQ21jZnJLRGxrQlhoN1A1NGNwNVRjUU1VbUY4XC9BVElId1x4MjIsXHgyMmdsb2JhbE5hbWVceDIyOlx4MjJ0cmF5cmlkZVx4MjIsXHgyMmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iXHgyMjpceDIyXHg1Ym51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXHg1Ylx4NWQsXHg1Ylx4NWRceDVkXHgyMlx4N2RceDdkJywnVCc6ICdBU0FGQVVLZVNqM0pxcm5TQWFlREtXaUpzZWVHaEpwUHpxa05IQXVvR0tmXzdjSnFXbmstZGxsSHV6QUhMdlhpeHJ6UHZMZ2JtcXZUT3ZhQ2J3QkQwdEVPN1dBXHgzZCcsfSk7fX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iajVWUXloMjhaQ2V5U3dfU0dpTVpNQSI+aWYgKHdpbmRvdy55dGNzaSkge3l0Y3NpLmluZm9HZWwoe3NlcnZlclRpbWVNczogIDQ2LjAgfSwgJycpO308L3NjcmlwdD48bm9zY3JpcHQ+PGRpdiBjbGFzcz0icGxheWVyLXVuYXZhaWxhYmxlIj48aDEgY2xhc3M9Im1lc3NhZ2UiPkFuIGVycm9yIG9jY3VycmVkLjwvaDE+PGRpdiBjbGFzcz0ic3VibWVzc2FnZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0xakU0ekhYYk5VTSIgdGFyZ2V0PSJfYmxhbmsiPlRyeSB3YXRjaGluZyB0aGlzIHZpZGVvIG9uIHd3dy55b3V0dWJlLmNvbTwvYT4sIG9yIGVuYWJsZSBKYXZhU2NyaXB0IGlmIGl0IGlzIGRpc2FibGVkIGluIHlvdXIgYnJvd3Nlci48L2Rpdj48L2Rpdj48L25vc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"time_used":96,"timings":{"blocked":0,"dns":2,"connect":8,"send":0,"wait":64,"receive":0,"ssl":22},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/ptserif/v19/EJRSQgYoZZY2vCFuvAnt66qSVys.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.862Z","timestamp":1785123385862,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/ptserif/v19/EJRSQgYoZZY2vCFuvAnt66qSVys.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 29588\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:18 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:18 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 04 Sep 2025 17:42:06 GMT\r\ncontent-type: font/woff2\r\nage: 397567\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":29588,"size_decoded":30401,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 29588, version 1.0","md5":"cd87c62c9c9c1728e4ce6069e20b1104","sha1":"0480db0094dec698acf12620a246bd9134766119","sha256":"bf23a7a4eebedbb87d4084a69496b29815914a18e339a00f5dc73a03c9c9328f","sha512":"e178b41b16c3d5f417530f28a9a6ba23d7bee8dcf9325ffa06a03fe0edd68654f1f801181c296bc7d81046fa4e8fe2b4f83e8d9c4a3990de397fc390e1c326d1","ssdeep":"768:qtH/eucpHv7uQbBXaNQyIlxW1cfu0Q0bdKSYJ0ZTPIt4eMz:qBeum9B23aTfu0DdLjIt6","tlshash":"fad2e1adb117b13e4c2cc6b66b1b9d65629026ce619ffad031e88134f5f61b11e11c64","first_seen":"2023-05-03T04:45:14Z","last_seen":"2026-07-31T13:05:29.599779Z","times_seen":11046,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":12,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"i.ytimg.com/vi/1jE4zHXbNUM/maxresdefault.jpg?sqp=-oaymwEmCIAKENAF8quKqQMa8AEB-AH-CYAC0AWKAgwIABABGFkgWChlMA8=\u0026rs=AOn4CLB9SBA6ijWh_nrl285bqbSdDPNQoQ","fqdn":"i.ytimg.com","domain":"ytimg.com","tld":"com"},"ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.606Z","timestamp":1785123386606,"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":"edgestatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:24 GMT","end":"Mon, 21 Sep 2026 08:37:23 GMT"},"fingerprint":{"sha1":"99:EB:44:FC:A9:EB:62:72:A5:7C:E5:77:BF:06:63:47:1B:54:C7:D7","sha256":"CD:4A:F6:7A:9F:60:AA:84:9F:37:94:1B:BE:E7:AB:41:46:38:9E:68:4A:4F:36:B3:D0:84:EC:FA:44:D7:A9:DD"}}},"request":{"raw":"GET /vi/1jE4zHXbNUM/maxresdefault.jpg?sqp=-oaymwEmCIAKENAF8quKqQMa8AEB-AH-CYAC0AWKAgwIABABGFkgWChlMA8=\u0026rs=AOn4CLB9SBA6ijWh_nrl285bqbSdDPNQoQ HTTP/1.1\r\nHost: i.ytimg.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 47026\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 03:08:17 GMT\r\nexpires: Mon, 27 Jul 2026 05:08:17 GMT\r\ncache-control: public, max-age=7200\r\netag: \"0\"\r\ncontent-type: image/jpeg\r\nage: 1689\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":47026,"size_decoded":47690,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 1280x720, components 3","md5":"c5cd93babd4fb653583ef7cb55992268","sha1":"cda72e69793c83084002127ce4080020886157f4","sha256":"728c86662a5a2ecebfea0823c493b27da52387ce4bb3fbd192fb8db14b51af91","sha512":"e089bb5430f7d8f6f4d2158fe0519a4d61901ca355891e3c861ce7d2a35423093915a083ce7dbdcf96116b1991130815f6360253119416f84891ee0e2bb37491","ssdeep":"768:839YYAksm4gY68FWuaBk6hjL5fPLGN02qzf/X3+C/Y7ZLhXWNq7Gbl7ON6MoX2L3:WseX8FckYL5bGe2qT+3LhXWNKvLNGE","tlshash":"a423f18d06123511c99e371ef07c8ad37927b63a20864a1f9fd9b61e79036e78ff0218","first_seen":"2026-07-27T03:09:07.618834Z","last_seen":"2026-07-27T03:38:03.695672Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":84,"timings":{"blocked":0,"dns":2,"connect":15,"send":0,"wait":17,"receive":19,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Open+Sans:400,600,700|PT+Serif:400,700","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.315Z","timestamp":1785123385315,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css?family=Open+Sans:400,600,700|PT+Serif:400,700 HTTP/1.1\r\nHost: fonts.googleapis.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/2 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 03:36:25 GMT\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\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":20132,"size_decoded":2565,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"3e86b2ba70d8197111073cd9c94d3d90","sha1":"df9a6ab3569d0388db93f9b9d880b21220d8d613","sha256":"c9fe9703430cd438d49341d228b541a1203587daae629ef8aaa3bcdbe73318ae","sha512":"6e0bd9a50ebcd71ef9c4ed59aba116ba16dcfde1385f85e1a36aba85daab57f0ece655e30c88cba4f9756433286f85aa5cd48884e86e974173118ed8d9020904","ssdeep":"192:wCAAN21/rqbnbqGIwV4RazqbCuuH2PlrqxnbqGIwV478zM4CZZE2s6rqmnbqGIw4:TjXqY4ahhqY4tU8qY40uV","tlshash":"5c925da1002b585067431dd623ce7e34ee0f92657044d0766bfe8b9aeedad7963b031d","first_seen":"2025-09-28T21:01:26.594192Z","last_seen":"2026-07-27T12:40:24.591222Z","times_seen":57,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0ttdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3VtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNPbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN5bXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTMm11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRWT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFVHbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNDbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTLW11dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNLbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN1bXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTeW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogaGVicmV3ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUzJtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNy0wMzA4LCBVKzA1OTAtMDVGRiwgVSsyMDBDLTIwMTAsIFUrMjBBQSwgVSsyNUNDLCBVK0ZCMUQtRkI0RjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVk9tdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRVR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTQ211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0dtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUy1tdXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTS211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTdW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU09tdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3ltdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGhlYnJldyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMybXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDctMDMwOCwgVSswNTkwLTA1RkYsIFUrMjAwQy0yMDEwLCBVKzIwQUEsIFUrMjVDQywgVStGQjFELUZCNEY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFZPbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVUdtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0NtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNHbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMtbXV3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNlcmlmL3YxOS9FSlJWUWdZb1paWTJ2Q0Z1dkFGYnpyLXRkZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNlcmlmL3YxOS9FSlJWUWdZb1paWTJ2Q0Z1dkFGU3pyLXRkZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BUIFNlcmlmJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcHRzZXJpZi92MTkvRUpSVlFnWW9aWlkydkNGdXZBRll6ci10ZGcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BUIFNlcmlmJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcHRzZXJpZi92MTkvRUpSVlFnWW9aWlkydkNGdXZBRld6cjgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQVCBTZXJpZic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3B0c2VyaWYvdjE5L0VKUlNRZ1lvWlpZMnZDRnV2QW50NjZxZlZ5dkhwQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNlcmlmL3YxOS9FSlJTUWdZb1paWTJ2Q0Z1dkFudDY2cVdWeXZIcEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQVCBTZXJpZic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3B0c2VyaWYvdjE5L0VKUlNRZ1lvWlpZMnZDRnV2QW50NjZxY1Z5dkhwQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNlcmlmL3YxOS9FSlJTUWdZb1paWTJ2Q0Z1dkFudDY2cVNWeXMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":85,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":33,"receive":0,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.carousel.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.222Z","timestamp":1785123385222,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.carousel.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"1db7-65fd8520-ea9ee5d0b143ca7f;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2461\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":7607,"size_decoded":2917,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (7370), with CRLF line terminators","md5":"54aac3fc68b283e8ad22894408ae47a2","sha1":"8164c126f5b57e1ebf04b7440cce2e3aae7e5ba9","sha256":"6180c6c38c4e3b9ac75b0c51215dcf0d6aa5b62757be3d993df8a28ca17a8820","sha512":"35d94cffaa30b5bde92cf0400ccd3c7b309215a6d486dac7f46249ed949fe7a1ea21ab81cd48253a9fa740d2be063b7e4ec7d90051cff7b7b435d2c789766e41","ssdeep":"192:euN8q7sZ9sfpCfQcwaxXTZTn1WUCfl8YafSutLZgO:mqIypeQsZWqf9","tlshash":"13f1628460153daf0652b349966680f953fc294c672be8647cff7165085cacd027feee","first_seen":"2023-03-07T01:02:47Z","last_seen":"2026-07-29T03:06:32.056493Z","times_seen":1692,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNCBFWFRFTlNJT04gLSBDQVJPVVNFTA0KICogQHZlcnNpb246IDEuMi4xICgxOC4xMS4yMDE2KQ0KICogQHJlcXVpcmVzIGpxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24uanMNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1qUXVlcnkuZm4ucmV2b2x1dGlvbixjPXthbGlhczoiQ2Fyb3VzZWwgTWluIEpTIixuYW1lOiJyZXZvbHV0aW9uLmV4dGVuc2lvbnMuY2Fyb3VzZWwubWluLmpzIixtaW5fY29yZToiNS4zLjAiLHZlcnNpb246IjEuMi4xIn07alF1ZXJ5LmV4dGVuZCghMCxiLHtwcmVwYXJlQ2Fyb3VzZWw6ZnVuY3Rpb24oYSxkLGgsaSl7cmV0dXJuInN0b3AiIT09Yi5jb21wYXJlX3ZlcnNpb24oYykuY2hlY2smJihoPWEuY2Fyb3VzZWwubGFzdGRpcmVjdGlvbj1mKGgsYS5jYXJvdXNlbC5sYXN0ZGlyZWN0aW9uKSxlKGEpLGEuY2Fyb3VzZWwuc2xpZGVfb2Zmc2V0X3RhcmdldD1qKGEpLHZvaWQodm9pZCAwIT09aT9nKGEsaCwhMSwwKTp2b2lkIDA9PWQ/Yi5jYXJvdXNlbFRvRXZhbFBvc2l0aW9uKGEsaCk6ZyhhLGgsITEpKSl9LGNhcm91c2VsVG9FdmFsUG9zaXRpb246ZnVuY3Rpb24oYSxjKXt2YXIgZD1hLmNhcm91c2VsO2M9ZC5sYXN0ZGlyZWN0aW9uPWYoYyxkLmxhc3RkaXJlY3Rpb24pO3ZhciBlPSJjZW50ZXIiPT09ZC5ob3Jpem9udGFsX2FsaWduPyhkLndyYXB3aWR0aC8yLWQuc2xpZGVfd2lkdGgvMi1kLnNsaWRlX2dsb2JhbG9mZnNldCkvZC5zbGlkZV93aWR0aDooMC1kLnNsaWRlX2dsb2JhbG9mZnNldCkvZC5zbGlkZV93aWR0aCxoPWIuc2ltcChlLGEuc2xpZGVhbW91bnQsITEpLGk9aC1NYXRoLmZsb29yKGgpLGo9MCxrPS0xKihNYXRoLmNlaWwoaCktaCksbD0tMSooTWF0aC5mbG9vcihoKS1oKTtqPWk+PS4zJiYibGVmdCI9PT1jfHxpPj0uNyYmInJpZ2h0Ij09PWM/azppPC4zJiYibGVmdCI9PT1jfHxpPC43JiYicmlnaHQiPT09Yz9sOmosaj0ib2ZmIj09PWQuaW5maW5pdHk/aDwwP2g6ZT5hLnNsaWRlYW1vdW50LTE/ZS0oYS5zbGlkZWFtb3VudC0xKTpqOmosZC5zbGlkZV9vZmZzZXRfdGFyZ2V0PWoqZC5zbGlkZV93aWR0aCwwIT09TWF0aC5hYnMoZC5zbGlkZV9vZmZzZXRfdGFyZ2V0KT9nKGEsYywhMCk6Yi5vcmdhbmlzZUNhcm91c2VsKGEsYyl9LG9yZ2FuaXNlQ2Fyb3VzZWw6ZnVuY3Rpb24oYSxiLGMsZCl7Yj12b2lkIDA9PT1ifHwiZG93biI9PWJ8fCJ1cCI9PWJ8fG51bGw9PT1ifHxqUXVlcnkuaXNFbXB0eU9iamVjdChiKT8ibGVmdCI6Yjtmb3IodmFyIGU9YS5jYXJvdXNlbCxmPW5ldyBBcnJheSxnPWUuc2xpZGVzLmxlbmd0aCxpPSgicmlnaHQiPT09ZS5ob3Jpem9udGFsX2FsaWduP2Eud2lkdGg6MCwwKTtpPGc7aSsrKXt2YXIgaj1pKmUuc2xpZGVfd2lkdGgrZS5zbGlkZV9vZmZzZXQ7Im9uIj09PWUuaW5maW5pdHkmJihqPWo+ZS53cmFwd2lkdGgtZS5pbm5lcm9mZnNldCYmInJpZ2h0Ij09Yj9lLnNsaWRlX29mZnNldC0oZS5zbGlkZXMubGVuZ3RoLWkpKmUuc2xpZGVfd2lkdGg6aixqPWo8MC1lLmlubmVyb2Zmc2V0LWUuc2xpZGVfd2lkdGgmJiJsZWZ0Ij09Yj9qK2UubWF4d2lkdGg6aiksZltpXT1qfXZhciBrPTk5OTtlLnNsaWRlcyYmalF1ZXJ5LmVhY2goZS5zbGlkZXMsZnVuY3Rpb24oZCxoKXt2YXIgaT1mW2RdOyJvbiI9PT1lLmluZmluaXR5JiYoaT1pPmUud3JhcHdpZHRoLWUuaW5uZXJvZmZzZXQmJiJsZWZ0Ij09PWI/ZlswXS0oZy1kKSplLnNsaWRlX3dpZHRoOmksaT1pPDAtZS5pbm5lcm9mZnNldC1lLnNsaWRlX3dpZHRoPyJsZWZ0Ij09Yj9pK2UubWF4d2lkdGg6InJpZ2h0Ij09PWI/ZltnLTFdKyhkKzEpKmUuc2xpZGVfd2lkdGg6aTppKTt2YXIgaj1uZXcgT2JqZWN0O2oubGVmdD1pK2UuaW5uZXJvZmZzZXQ7dmFyIGw9ImNlbnRlciI9PT1lLmhvcml6b250YWxfYWxpZ24/KE1hdGguYWJzKGUud3JhcHdpZHRoLzIpLShqLmxlZnQrZS5zbGlkZV93aWR0aC8yKSkvZS5zbGlkZV93aWR0aDooZS5pbm5lcm9mZnNldC1qLmxlZnQpL2Uuc2xpZGVfd2lkdGgsbj0iY2VudGVyIj09PWUuaG9yaXpvbnRhbF9hbGlnbj8yOjE7aWYoKGMmJk1hdGguYWJzKGwpPGt8fDA9PT1sKSYmKGs9TWF0aC5hYnMobCksZS5mb2N1c2VkPWQpLGoud2lkdGg9ZS5zbGlkZV93aWR0aCxqLng9MCxqLnRyYW5zZm9ybVBlcnNwZWN0aXZlPTEyMDAsai50cmFuc2Zvcm1PcmlnaW49IjUwJSAiK2UudmVydGljYWxfYWxpZ24sIm9uIj09PWUuZmFkZW91dClpZigib24iPT09ZS52YXJ5X2ZhZGUpai5hdXRvQWxwaGE9MS1NYXRoLmFicygxL01hdGguY2VpbChlLm1heFZpc2libGVJdGVtcy9uKSpsKTtlbHNlIHN3aXRjaChlLmhvcml6b250YWxfYWxpZ24pe2Nhc2UiY2VudGVyIjpqLmF1dG9BbHBoYT1NYXRoLmFicyhsKTxNYXRoLmNlaWwoZS5tYXhWaXNpYmxlSXRlbXMvbi0xKT8xOjEtKE1hdGguYWJzKGwpLU1hdGguZmxvb3IoTWF0aC5hYnMobCkpKTticmVhaztjYXNlImxlZnQiOmouYXV0b0FscGhhPWw8MSYmbD4wPzEtbDpNYXRoLmFicyhsKT5lLm1heFZpc2libGVJdGVtcy0xPzEtKE1hdGguYWJzKGwpLShlLm1heFZpc2libGVJdGVtcy0xKSk6MTticmVhaztjYXNlInJpZ2h0IjpqLmF1dG9BbHBoYT1sPi0xJiZsPDA/MS1NYXRoLmFicyhsKTpsPmUubWF4VmlzaWJsZUl0ZW1zLTE/MS0oTWF0aC5hYnMobCktKGUubWF4VmlzaWJsZUl0ZW1zLTEpKToxfWVsc2Ugai5hdXRvQWxwaGE9TWF0aC5hYnMobCk8TWF0aC5jZWlsKGUubWF4VmlzaWJsZUl0ZW1zL24pPzE6MDtpZih2b2lkIDAhPT1lLm1pblNjYWxlJiZlLm1pblNjYWxlPjApaWYoIm9uIj09PWUudmFyeV9zY2FsZSl7ai5zY2FsZT0xLU1hdGguYWJzKGUubWluU2NhbGUvMTAwL01hdGguY2VpbChlLm1heFZpc2libGVJdGVtcy9uKSpsKTt2YXIgbz0oZS5zbGlkZV93aWR0aC1lLnNsaWRlX3dpZHRoKmouc2NhbGUpKk1hdGguYWJzKGwpfWVsc2V7ai5zY2FsZT1sPj0xfHxsPD0tMT8xLWUubWluU2NhbGUvMTAwOigxMDAtZS5taW5TY2FsZSpNYXRoLmFicyhsKSkvMTAwO3ZhciBvPShlLnNsaWRlX3dpZHRoLWUuc2xpZGVfd2lkdGgqKDEtZS5taW5TY2FsZS8xMDApKSpNYXRoLmFicyhsKX12b2lkIDAhPT1lLm1heFJvdGF0aW9uJiYwIT1NYXRoLmFicyhlLm1heFJvdGF0aW9uKSYmKCJvbiI9PT1lLnZhcnlfcm90YXRpb24/KGoucm90YXRpb25ZPU1hdGguYWJzKGUubWF4Um90YXRpb24pLU1hdGguYWJzKCgxLU1hdGguYWJzKDEvTWF0aC5jZWlsKGUubWF4VmlzaWJsZUl0ZW1zL24pKmwpKSplLm1heFJvdGF0aW9uKSxqLmF1dG9BbHBoYT1NYXRoLmFicyhqLnJvdGF0aW9uWSk+OTA/MDpqLmF1dG9BbHBoYSk6ai5yb3RhdGlvblk9bD49MXx8bDw9LTE/ZS5tYXhSb3RhdGlvbjpNYXRoLmFicyhsKSplLm1heFJvdGF0aW9uLGoucm90YXRpb25ZPWw8MD9qLnJvdGF0aW9uWSotMTpqLnJvdGF0aW9uWSksai54PS0xKmUuc3BhY2UqbCxqLmxlZnQ9TWF0aC5mbG9vcihqLmxlZnQpLGoueD1NYXRoLmZsb29yKGoueCksdm9pZCAwIT09ai5zY2FsZT9sPDA/ai54LW86ai54K286ai54LGouekluZGV4PU1hdGgucm91bmQoMTAwLU1hdGguYWJzKDUqbCkpLGoudHJhbnNmb3JtU3R5bGU9IjNEIiE9YS5wYXJhbGxheC50eXBlJiYiM2QiIT1hLnBhcmFsbGF4LnR5cGU/ImZsYXQiOiJwcmVzZXJ2ZS0zZCIscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgsail9KSxkJiYoYS5jLmZpbmQoIi5uZXh0LXJldnNsaWRlIikucmVtb3ZlQ2xhc3MoIm5leHQtcmV2c2xpZGUiKSxqUXVlcnkoZS5zbGlkZXNbZS5mb2N1c2VkXSkuYWRkQ2xhc3MoIm5leHQtcmV2c2xpZGUiKSxhLmMudHJpZ2dlcigicmV2b2x1dGlvbi5uZXh0c2xpZGUud2FpdGluZyIpKTtlLndyYXB3aWR0aC8yLWUuc2xpZGVfb2Zmc2V0LGUubWF4d2lkdGgrZS5zbGlkZV9vZmZzZXQtZS53cmFwd2lkdGgvMn19KTt2YXIgZD1mdW5jdGlvbihhKXt2YXIgYj1hLmNhcm91c2VsO2IuaW5mYmFja3VwPWIuaW5maW5pdHksYi5tYXhWaXNpYmxlYmFja3VwPWIubWF4VmlzaWJsZUl0ZW1zLGIuc2xpZGVfZ2xvYmFsb2Zmc2V0PSJub25lIixiLnNsaWRlX29mZnNldD0wLGIud3JhcD1hLmMuZmluZCgiLnRwLWNhcm91c2VsLXdyYXBwZXIiKSxiLnNsaWRlcz1hLmMuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLDAhPT1iLm1heFJvdGF0aW9uJiYoIjNEIiE9YS5wYXJhbGxheC50eXBlJiYiM2QiIT1hLnBhcmFsbGF4LnR5cGU/cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIud3JhcCx7cGVyc3BlY3RpdmU6MTIwMCx0cmFuc2Zvcm1TdHlsZToiZmxhdCJ9KTpwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYi53cmFwLHtwZXJzcGVjdGl2ZToxNjAwLHRyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCJ9KSksdm9pZCAwIT09Yi5ib3JkZXJfcmFkaXVzJiZwYXJzZUludChiLmJvcmRlcl9yYWRpdXMsMCk+MCYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEuYy5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikse2JvcmRlclJhZGl1czpiLmJvcmRlcl9yYWRpdXN9KX0sZT1mdW5jdGlvbihhKXt2b2lkIDA9PT1hLmJ3JiZiLnNldFNpemUoYSk7dmFyIGM9YS5jYXJvdXNlbCxlPWIuZ2V0SG9yaXpvbnRhbE9mZnNldChhLmMsImxlZnQiKSxmPWIuZ2V0SG9yaXpvbnRhbE9mZnNldChhLmMsInJpZ2h0Iik7dm9pZCAwPT09Yy53cmFwJiZkKGEpLGMuc2xpZGVfd2lkdGg9Im9uIiE9PWMuc3RyZXRjaD9hLmdyaWR3aWR0aFthLmN1cldpblJhbmdlXSphLmJ3OmEuYy53aWR0aCgpLGMubWF4d2lkdGg9YS5zbGlkZWFtb3VudCpjLnNsaWRlX3dpZHRoLGMubWF4VmlzaWJsZWJhY2t1cD5jLnNsaWRlcy5sZW5ndGgrMSYmKGMubWF4VmlzaWJsZUl0ZW1zPWMuc2xpZGVzLmxlbmd0aCsyKSxjLndyYXB3aWR0aD1jLm1heFZpc2libGVJdGVtcypjLnNsaWRlX3dpZHRoKyhjLm1heFZpc2libGVJdGVtcy0xKSpjLnNwYWNlLGMud3JhcHdpZHRoPSJhdXRvIiE9YS5zbGlkZXJMYXlvdXQ/Yy53cmFwd2lkdGg+YS5jLmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikud2lkdGgoKT9hLmMuY2xvc2VzdCgiLnRwLXNpbXBsZXJlc3BvbnNpdmUiKS53aWR0aCgpOmMud3JhcHdpZHRoOmMud3JhcHdpZHRoPmEudWwud2lkdGgoKT9hLnVsLndpZHRoKCk6Yy53cmFwd2lkdGgsYy5pbmZpbml0eT1jLndyYXB3aWR0aD49Yy5tYXh3aWR0aD8ib2ZmIjpjLmluZmJhY2t1cCxjLndyYXBvZmZzZXQ9ImNlbnRlciI9PT1jLmhvcml6b250YWxfYWxpZ24/KGEuYy53aWR0aCgpLWYtZS1jLndyYXB3aWR0aCkvMjowLGMud3JhcG9mZnNldD0iYXV0byIhPWEuc2xpZGVyTGF5b3V0JiZhLm91dGVybmF2PzA6Yy53cmFwb2Zmc2V0PGU/ZTpjLndyYXBvZmZzZXQ7dmFyIGc9ImhpZGRlbiI7IjNEIiE9YS5wYXJhbGxheC50eXBlJiYiM2QiIT1hLnBhcmFsbGF4LnR5cGV8fChnPSJ2aXNpYmxlIiksInJpZ2h0Ij09PWMuaG9yaXpvbnRhbF9hbGlnbj9wdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYy53cmFwLHtsZWZ0OiJhdXRvIixyaWdodDpjLndyYXBvZmZzZXQrInB4Iix3aWR0aDpjLndyYXB3aWR0aCxvdmVyZmxvdzpnfSk6cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMud3JhcCx7cmlnaHQ6ImF1dG8iLGxlZnQ6Yy53cmFwb2Zmc2V0KyJweCIsd2lkdGg6Yy53cmFwd2lkdGgsb3ZlcmZsb3c6Z30pLGMuaW5uZXJvZmZzZXQ9InJpZ2h0Ij09PWMuaG9yaXpvbnRhbF9hbGlnbj9jLndyYXB3aWR0aC1jLnNsaWRlX3dpZHRoOjAsYy5yZWFsb2Zmc2V0PU1hdGguYWJzKGMud3JhcC5wb3NpdGlvbigpLmxlZnQpLGMud2luZGhhbGY9alF1ZXJ5KHdpbmRvdykud2lkdGgoKS8yfSxmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGw9PT1hfHxqUXVlcnkuaXNFbXB0eU9iamVjdChhKT9iOnZvaWQgMD09PWE/InJpZ2h0IjphfSxnPWZ1bmN0aW9uKGEsYyxkLGUpe3ZhciBnPWEuY2Fyb3VzZWw7Yz1nLmxhc3RkaXJlY3Rpb249ZihjLGcubGFzdGRpcmVjdGlvbik7dmFyIGg9bmV3IE9iamVjdCxpPWQ/cHVuY2hncy5Qb3dlcjIuZWFzZU91dDpnLmVhc2luZztoLmZyb209MCxoLnRvPWcuc2xpZGVfb2Zmc2V0X3RhcmdldCxlPXZvaWQgMD09PWU/Zy5zcGVlZC8xZTM6ZSxlPWQ/LjQ6ZSx2b2lkIDAhPT1nLnBvc2l0aW9uYW5pbSYmZy5wb3NpdGlvbmFuaW0ucGF1c2UoKSxnLnBvc2l0aW9uYW5pbT1wdW5jaGdzLlR3ZWVuTGl0ZS50byhoLGUse2Zyb206aC50byxvblVwZGF0ZTpmdW5jdGlvbigpe2cuc2xpZGVfb2Zmc2V0PWcuc2xpZGVfZ2xvYmFsb2Zmc2V0K2guZnJvbSxnLnNsaWRlX29mZnNldD1iLnNpbXAoZy5zbGlkZV9vZmZzZXQsZy5tYXh3aWR0aCksYi5vcmdhbmlzZUNhcm91c2VsKGEsYywhMSwhMSl9LG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtnLnNsaWRlX2dsb2JhbG9mZnNldD0ib2ZmIj09PWcuaW5maW5pdHk/Zy5zbGlkZV9nbG9iYWxvZmZzZXQrZy5zbGlkZV9vZmZzZXRfdGFyZ2V0OmIuc2ltcChnLnNsaWRlX2dsb2JhbG9mZnNldCtnLnNsaWRlX29mZnNldF90YXJnZXQsZy5tYXh3aWR0aCksZy5zbGlkZV9vZmZzZXQ9Yi5zaW1wKGcuc2xpZGVfb2Zmc2V0LGcubWF4d2lkdGgpLGIub3JnYW5pc2VDYXJvdXNlbChhLGMsITEsITApO3ZhciBlPWpRdWVyeShhLmxpW2cuZm9jdXNlZF0pO2EuYy5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIiksZCYmYi5jYWxsaW5nTmV3U2xpZGUoYS5jLGUuZGF0YSgiaW5kZXgiKSl9LGVhc2U6aX0pfSxoPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE1hdGguYWJzKGEpPk1hdGguYWJzKGIpP2E+MD9hLU1hdGguYWJzKE1hdGguZmxvb3IoYS9iKSpiKTphK01hdGguYWJzKE1hdGguZmxvb3IoYS9iKSpiKTphfSxpPWZ1bmN0aW9uKGEsYixjKXt2YXIgYyxjLGQ9Yi1hLGU9Yi1jLWE7cmV0dXJuIGQ9aChkLGMpLGU9aChlLGMpLE1hdGguYWJzKGQpPk1hdGguYWJzKGUpP2U6ZH0saj1mdW5jdGlvbihhKXt2YXIgYz0wLGQ9YS5jYXJvdXNlbDtpZih2b2lkIDAhPT1kLnBvc2l0aW9uYW5pbSYmZC5wb3NpdGlvbmFuaW0ua2lsbCgpLCJub25lIj09ZC5zbGlkZV9nbG9iYWxvZmZzZXQpZC5zbGlkZV9nbG9iYWxvZmZzZXQ9Yz0iY2VudGVyIj09PWQuaG9yaXpvbnRhbF9hbGlnbj9kLndyYXB3aWR0aC8yLWQuc2xpZGVfd2lkdGgvMjowO2Vsc2V7ZC5zbGlkZV9nbG9iYWxvZmZzZXQ9ZC5zbGlkZV9vZmZzZXQsZC5zbGlkZV9vZmZzZXQ9MDt2YXIgZT1hLmMuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUiKS5pbmRleCgpLGY9ImNlbnRlciI9PT1kLmhvcml6b250YWxfYWxpZ24/KGQud3JhcHdpZHRoLzItZC5zbGlkZV93aWR0aC8yLWQuc2xpZGVfZ2xvYmFsb2Zmc2V0KS9kLnNsaWRlX3dpZHRoOigwLWQuc2xpZGVfZ2xvYmFsb2Zmc2V0KS9kLnNsaWRlX3dpZHRoO2Y9Yi5zaW1wKGYsYS5zbGlkZWFtb3VudCwhMSksZT1lPj0wP2U6YS5jLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKS5pbmRleCgpLGU9ZT49MD9lOjAsYz0ib2ZmIj09PWQuaW5maW5pdHk/Zi1lOi1pKGYsZSxhLnNsaWRlYW1vdW50KSxjKj1kLnNsaWRlX3dpZHRofXJldHVybiBjfX0oalF1ZXJ5KTs="}},"time_used":289,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":117,"receive":172,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/css/layers.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.015Z","timestamp":1785123385015,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/css/layers.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"23ca5-65fd8520-3bf967c531ed0b8b;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 9581\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":146597,"size_decoded":10022,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"67b50bc0d49c4b80742a835113b03562","sha1":"29ce5433ed65387f6f6ef97159071e5987ae1599","sha256":"cc830234af8b0e2ac01ad515ff209c43b29ba78d5145505a1088b18beefd2ac9","sha512":"5991d613af7c17ff93728dff20841b8996f8ae8e0b34f891ea6066f76d836ca58140d2ef5774abaa7a6711dc8fef91acc221a0f12a2c55dca2702d01982478e4","ssdeep":"384:0jgGE3ZtaszFwt62cEGrmvNNRLv3A2qsbJNaNT8KiiOSGO2TK5NTXNG6IPXuuK2m:r3TreNNRIzGTTYIv+Yby","tlshash":"77e3ee61f90541c77073d91833729fc8eb690253ae078a35fbad23648f7d2acaa5179c","first_seen":"2023-04-11T01:29:53Z","last_seen":"2026-07-31T06:28:11.529128Z","times_seen":1694,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotCVJldm9sdXRpb24gU2xpZGVyIDUuMCBMYXllciBTdHlsZSBTZXR0aW5ncyAtDQoNClNjcmVlbiBTdHlsZXNoZWV0DQoNCnZlcnNpb246ICAgCTUuMC4wDQpkYXRlOiAgICAgIAkxOC8wMy8xNQ0KYXV0aG9yOgkJdGhlbWVwdW5jaA0KZW1haWw6ICAgICAJaW5mb0B0aGVtZXB1bmNoLmNvbQ0Kd2Vic2l0ZTogICAJaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQoqIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhLC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQNCnsNCgljb2xvcjojMDA4NEI0IWltcG9ydGFudDsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXINCnsNCgljb2xvcjojMDA4NEI0IWltcG9ydGFudDsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIWltcG9ydGFudDsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2dyZXksLm1lZGl1bV9ncmV5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjojODg4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoycHggNHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93OjAgMnB4IDVweCByZ2JhKDAsMCwwLDAuNSk7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF90ZXh0LC5zbWFsbF90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6MTRweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwwLjUpOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX3RleHQsLm1lZGl1bV90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwwLjUpOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfdGV4dCwubGFyZ2VfdGV4dA0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjQwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsMC41KTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLnZlcnlfbGFyZ2VfdGV4dCwudmVyeV9sYXJnZV90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGV0dGVyLXNwYWNpbmc6LTJweDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCW1hcmdpbjowOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93OjAgMnB4IDVweCByZ2JhKDAsMCwwLDAuNSk7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi52ZXJ5X2JpZ193aGl0ZSwudmVyeV9iaWdfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24udmVyeV9iaWdfYmxhY2ssLnZlcnlfYmlnX2JsYWNrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggNHB4IDA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fZmF0LC5tb2Rlcm5fbWVkaXVtX2ZhdA0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyIsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fZmF0X3doaXRlLC5tb2Rlcm5fbWVkaXVtX2ZhdF93aGl0ZQ0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyIsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fbGlnaHQsLm1vZGVybl9tZWRpdW1fbGlnaHQNCnsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMDAwOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCW1hcmdpbjowOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi5tb2Rlcm5fYmlnX2JsdWViZywubW9kZXJuX2JpZ19ibHVlYmcNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiM0ZTViNmM7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIiwgc2Fucy1zZXJpZjsNCglmb250LXNpemU6MzBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCW1hcmdpbjowOw0KCXBhZGRpbmc6M3B4IDEwcHg7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubW9kZXJuX2JpZ19yZWRiZywubW9kZXJuX2JpZ19yZWRiZw0Kew0KCWJhY2tncm91bmQtY29sb3I6I2RlNTQzZTsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsZXR0ZXItc3BhY2luZzowOw0KCWxpbmUtaGVpZ2h0OjM2cHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggMTBweCAzcHg7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubW9kZXJuX3NtYWxsX3RleHRfZGFyaywubW9kZXJuX3NtYWxsX3RleHRfZGFyaw0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiM1NTU7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MjJweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24uYm94c2hhZG93LC5ib3hzaGFkb3cNCnsJCQ0KCWJveC1zaGFkb3c6MCAwIDIwcHggcmdiYSgwLDAsMCwwLjUpOw0KfQ0KDQoudHAtY2FwdGlvbi5ibGFjaywuYmxhY2sNCnsNCgljb2xvcjojMDAwOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm5vc2hhZG93LC5ub3NoYWRvdw0Kew0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLnRoaW5oZWFkbGluZV9kYXJrLC50aGluaGVhZGxpbmVfZGFyaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJY29sb3I6cmdiYSgwLDAsMCwwLjg1KTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MzBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi50aGludGV4dF9kYXJrLC50aGludGV4dF9kYXJrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCgljb2xvcjpyZ2JhKDAsMCwwLDAuODUpOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyNnB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlYmxhY2tiZywubGFyZ2VibGFja2JnDQp7DQoJDQoJDQoJYmFja2dyb3VuZC1jb2xvcjojMDAwOw0KCWJvcmRlci1yYWRpdXM6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTo1MHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDo3MHB4Ow0KCXBhZGRpbmc6MCAyMHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlcGlua2JnLC5sYXJnZXBpbmtiZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6I2RiNDM2MDsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZXdoaXRlYmcsLmxhcmdld2hpdGViZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6I2ZmZjsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6IzAwMDsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZWdyZWVuYmcsLmxhcmdlZ3JlZW5iZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6IzY3YWU3MzsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5leGNlcnB0LC5leGNlcnB0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDEpOw0KCWJvcmRlci1jb2xvcjojZmZmOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjM2cHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWhlaWdodDphdXRvOw0KCWxldHRlci1zcGFjaW5nOi0xLjVweDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MXB4IDRweCAwOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQoJd2hpdGUtc3BhY2U6bm9ybWFsIWltcG9ydGFudDsNCgl3aWR0aDoxNTBweDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfYm9sZF9ncmV5LC5sYXJnZV9ib2xkX2dyZXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiM2NjY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggNHB4IDA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX3RoaW5fZ3JleSwubWVkaXVtX3RoaW5fZ3JleQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzY2NjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MzRweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF90aGluX2dyZXksLnNtYWxsX3RoaW5fZ3JleQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6Izc1NzU3NTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MThweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5saWdodGdyZXlfZGl2aWRlciwubGlnaHRncmV5X2RpdmlkZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM1LDIzNSwyMzUsMSk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjppbml0aWFsOw0KCWJhY2tncm91bmQtcmVwZWF0OmluaXRpYWw7DQoJYm9yZGVyLWNvbG9yOiMyMjI7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJaGVpZ2h0OjNweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl3aWR0aDozNzBweDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfYm9sZF9kYXJrYmx1ZSwubGFyZ2VfYm9sZF9kYXJrYmx1ZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzM0NDk1ZTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NThweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2JnX2RhcmtibHVlLC5tZWRpdW1fYmdfZGFya2JsdWUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMzNDQ5NWU7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjEwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9ib2xkX3JlZCwubWVkaXVtX2JvbGRfcmVkDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZTMzYTBjOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2xpZ2h0X3JlZCwubWVkaXVtX2xpZ2h0X3JlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2UzM2EwYzsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjFweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9iZ19yZWQsLm1lZGl1bV9iZ19yZWQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlMzNhMGM7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjEwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9ib2xkX29yYW5nZSwubWVkaXVtX2JvbGRfb3JhbmdlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZjM5YzEyOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1fYmdfb3JhbmdlLC5tZWRpdW1fYmdfb3JhbmdlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZjM5YzEyOw0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzoxMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5ncmFzc2Zsb29yLC5ncmFzc2Zsb29yDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE2MCwxNzksMTUxLDEpOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWhlaWdodDoxNTBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl3aWR0aDo0MDAwcHg7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlX2JvbGRfd2hpdGUsLmxhcmdlX2JvbGRfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjU4cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9saWdodF93aGl0ZSwubWVkaXVtX2xpZ2h0X3doaXRlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtbGFyZ2VfbGlnaHRfd2hpdGUsLm1lZGl1bWxhcmdlX2xpZ2h0X3doaXRlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTozNHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDo0MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtbGFyZ2VfbGlnaHRfd2hpdGVfY2VudGVyLC5tZWRpdW1sYXJnZV9saWdodF93aGl0ZV9jZW50ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjM0cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1fYmdfYXNiZXN0b3MsLm1lZGl1bV9iZ19hc2Jlc3Rvcw0Kew0KCWJhY2tncm91bmQtY29sb3I6IzdmOGM4ZDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MTBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2xpZ2h0X2JsYWNrLC5tZWRpdW1fbGlnaHRfYmxhY2sNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjM2cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZV9ib2xkX2JsYWNrLC5sYXJnZV9ib2xkX2JsYWNrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMDAwOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTo1OHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1sYXJnZV9saWdodF9kYXJrYmx1ZSwubWVkaXVtbGFyZ2VfbGlnaHRfZGFya2JsdWUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMzNDQ5NWU7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjM0cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF9saWdodF93aGl0ZSwuc21hbGxfbGlnaHRfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjI4cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5yb3VuZGVkaW1hZ2UsLnJvdW5kZWRpbWFnZQ0Kew0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZV9iZ19ibGFjaywubGFyZ2VfYmdfYmxhY2sNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDA7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NDBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NDBweDsNCglwYWRkaW5nOjEwcHggMjBweCAxNXB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW13aGl0ZWJnLC5tZWRpdW13aGl0ZWJnDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1jb2xvcjojMDAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzo1cHggMTVweCAxMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1haW5jYXB0aW9uLC5tYWluY2FwdGlvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzIxMmE0MDsNCglmb250LWZhbWlseTpyb2JvdG87DQoJZm9udC1zaXplOjMzcHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjQzcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfdGl0bGVfNjBweCwubWlhbWlfdGl0bGVfNjBweA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfc3VidGl0bGUsLm1pYW1pX3N1YnRpdGxlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6IzAwMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCWZvbnQtZmFtaWx5OiJTb3VyY2UgU2FucyBQcm8iOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MjRweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5kaXZpZGVsaW5lMzBweCwuZGl2aWRlbGluZTMwcHgNCnsNCgliYWNrZ3JvdW5kOiNmZmY7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWhlaWdodDoycHg7DQoJbWluLXdpZHRoOjMwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk1pYW1pX25vc3R5bGUsLk1pYW1pX25vc3R5bGUNCnsNCglib3JkZXItY29sb3I6IzIyMjsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfY29udGVudF9saWdodCwubWlhbWlfY29udGVudF9saWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1pYW1pX3RpdGxlXzYwcHhfZGFyaywubWlhbWlfdGl0bGVfNjBweF9kYXJrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6IzAwMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMzMzOw0KCWZvbnQtZmFtaWx5OiJTb3VyY2UgU2FucyBQcm8iOw0KCWZvbnQtc2l6ZTo2MHB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5taWFtaV9jb250ZW50X2RhcmssLm1pYW1pX2NvbnRlbnRfZGFyaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzY2NjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmRpdmlkZWxpbmUzMHB4X2RhcmssLmRpdmlkZWxpbmUzMHB4X2RhcmsNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMzMzM7DQoJYm9yZGVyLWNvbG9yOiMyMjI7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJaGVpZ2h0OjJweDsNCgltaW4td2lkdGg6MzBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uZWxsaXBzZTcwcHgsLmVsbGlwc2U3MHB4DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMTQ5MDIpOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1yYWRpdXM6NTBweCA1MHB4IDUwcHggNTBweDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljdXJzb3I6cG9pbnRlcjsNCglsaW5lLWhlaWdodDoxcHg7DQoJbWluLWhlaWdodDo3MHB4Ow0KCW1pbi13aWR0aDo3MHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5hcnJvd2ljb24sLmFycm93aWNvbg0Kew0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWxpbmUtaGVpZ2h0OjFweDsNCn0NCg0KLnRwLWNhcHRpb24uTWFya2VyRGlzcGxheSwuTWFya2VyRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWZvbnQtZmFtaWx5OiJQZXJtYW5lbnQgTWFya2VyIjsNCglmb250LXN0eWxlOm5vcm1hbDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUmVzdGF1cmFudC1EaXNwbGF5LC5SZXN0YXVyYW50LURpc3BsYXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjEyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsaW5lLWhlaWdodDoxMjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtQ3Vyc2l2ZSwuUmVzdGF1cmFudC1DdXJzaXZlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik5vdGhpbmcgeW91IGNvdWxkIGRvIjsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LVNjcm9sbERvd25UZXh0LC5SZXN0YXVyYW50LVNjcm9sbERvd25UZXh0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtRGVzY3JpcHRpb24sLlJlc3RhdXJhbnQtRGVzY3JpcHRpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUmVzdGF1cmFudC1QcmljZSwuUmVzdGF1cmFudC1QcmljZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LU1lbnVpdGVtLC5SZXN0YXVyYW50LU1lbnVpdGVtDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRnVybml0dXJlLUxvZ29UZXh0LC5GdXJuaXR1cmUtTG9nb1RleHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyMzAsMjA3LDE2MywxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MTUwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZ1cm5pdHVyZS1QbHVzLC5GdXJuaXR1cmUtUGx1cw0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWJveC1zaGFkb3c6cmdiYSgwLDAsMCwwLjEpIDAgMXB4IDNweDsNCgljb2xvcjpyZ2JhKDIzMCwyMDcsMTYzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzo2cHggN3B4IDRweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GdXJuaXR1cmUtVGl0bGUsLkZ1cm5pdHVyZS1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GdXJuaXR1cmUtU3VidGl0bGUsLkZ1cm5pdHVyZS1TdWJ0aXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1EaXNwbGF5LC5HeW0tRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjgwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5HeW0tU3VibGluZSwuR3ltLVN1YmxpbmUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjEwMDsNCglsZXR0ZXItc3BhY2luZzo1cHg7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1TbWFsbFRleHQsLkd5bS1TbWFsbFRleHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyMjsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmFzaGlvbi1TbWFsbFRleHQsLkZhc2hpb24tU21hbGxUZXh0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTJweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GYXNoaW9uLUJpZ0Rpc3BsYXksLkZhc2hpb24tQmlnRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmFzaGlvbi1UZXh0QmxvY2ssLkZhc2hpb24tVGV4dEJsb2NrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtRGlzcGxheSwuU3BvcnRzLURpc3BsYXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxMzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGV0dGVyLXNwYWNpbmc6MTNweDsNCglsaW5lLWhlaWdodDoxMzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1EaXNwbGF5RmF0LC5TcG9ydHMtRGlzcGxheUZhdA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjEzMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDoxMzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1TdWJsaW5lLC5TcG9ydHMtU3VibGluZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjMycHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxldHRlci1zcGFjaW5nOjRweDsNCglsaW5lLWhlaWdodDozMnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSW5zdGFncmFtLUNhcHRpb24sLkluc3RhZ3JhbS1DYXB0aW9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3cy1UaXRsZSwuTmV3cy1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJSb2JvdG8gU2xhYiI7DQoJZm9udC1zaXplOjcwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzLVN1YnRpdGxlLC5OZXdzLVN1YnRpdGxlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseToiUm9ib3RvIFNsYWIiOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3cy1TdWJ0aXRsZTpob3ZlciwuTmV3cy1TdWJ0aXRsZTpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1EaXNwbGF5LC5QaG90b2dyYXBoeS1EaXNwbGF5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6ODBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGV0dGVyLXNwYWNpbmc6NXB4Ow0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1TdWJsaW5lLC5QaG90b2dyYXBoeS1TdWJsaW5lDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTE5LDExOSwxMTksMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1JbWFnZUhvdmVyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjI7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1JbWFnZUhvdmVyOmhvdmVyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LU1lbnVpdGVtLC5QaG90b2dyYXBoeS1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjY1KTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzozcHggNXB4IDNweCA4cHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LU1lbnVpdGVtOmhvdmVyLC5QaG90b2dyYXBoeS1NZW51aXRlbTpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDI1NSwyMjIsMC42NSk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1UZXh0YmxvY2ssLlBob3RvZ3JhcGh5LVRleHRibG9jaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktU3VibGluZS0yLC5QaG90b2dyYXBoeS1TdWJsaW5lLTINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjM1KTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LUltYWdlSG92ZXIyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyMg0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIyOw0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktSW1hZ2VIb3ZlcjI6aG92ZXIsLlBob3RvZ3JhcGh5LUltYWdlSG92ZXIyOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtVGl0bGUsLldlYlByb2R1Y3QtVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSg1MSw1MSw1MSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTo5MHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjEwMDsNCglsaW5lLWhlaWdodDo5MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uV2ViUHJvZHVjdC1TdWJUaXRsZSwuV2ViUHJvZHVjdC1TdWJUaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUNvbnRlbnQsLldlYlByb2R1Y3QtQ29udGVudA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LU1lbnVpdGVtLC5XZWJQcm9kdWN0LU1lbnVpdGVtDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjNweCA1cHggM3B4IDhweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtTWVudWl0ZW06aG92ZXIsLldlYlByb2R1Y3QtTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LVRpdGxlLUxpZ2h0LC5XZWJQcm9kdWN0LVRpdGxlLUxpZ2h0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6OTBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGluZS1oZWlnaHQ6OTBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LVN1YlRpdGxlLUxpZ2h0LC5XZWJQcm9kdWN0LVN1YlRpdGxlLUxpZ2h0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zNSk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUNvbnRlbnQtTGlnaHQsLldlYlByb2R1Y3QtQ29udGVudC1MaWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmF0Um91bmRlZCwuRmF0Um91bmRlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjUwKTsNCglib3JkZXItY29sb3I6cmdiYSgyMTEsMjExLDIxMSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjUwcHggNTBweCA1MHB4IDUwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MjBweCAyMnB4IDIwcHggMjVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmF0Um91bmRlZDpob3ZlciwuRmF0Um91bmRlZDpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyMTEsMjExLDIxMSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjUwcHggNTBweCA1MHB4IDUwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1UaXRsZSwuTm90R2VuZXJpYy1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjcwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzoxMHB4IDA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk5vdEdlbmVyaWMtU3ViVGl0bGUsLk5vdEdlbmVyaWMtU3ViVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxM3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzo0cHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUNhbGxUb0FjdGlvbiwuTm90R2VuZXJpYy1DYWxsVG9BY3Rpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTRweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo1MDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjE0cHg7DQoJcGFkZGluZzoxMHB4IDMwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUNhbGxUb0FjdGlvbjpob3ZlciwuTm90R2VuZXJpYy1DYWxsVG9BY3Rpb246aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUljb24sLk5vdEdlbmVyaWMtSWNvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1NZW51aXRlbSwuTm90R2VuZXJpYy1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MTRweDsNCglwYWRkaW5nOjI3cHggMzBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk5vdEdlbmVyaWMtTWVudWl0ZW06aG92ZXIsLk5vdEdlbmVyaWMtTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk1hcmtlclN0eWxlLC5NYXJrZXJTdHlsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJQZXJtYW5lbnQgTWFya2VyIjsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5HeW0tTWVudWl0ZW0sLkd5bS1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjNweCAzcHggM3B4IDNweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6M3B4IDVweCAzcHggOHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLU1lbnVpdGVtOmhvdmVyLC5HeW0tTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozcHggM3B4IDNweCAzcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbiwuTmV3c3BhcGVyLUJ1dHRvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjI1KTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjEzcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTJweCAzNXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbjpob3ZlciwuTmV3c3BhcGVyLUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVN1YnRpdGxlLC5OZXdzcGFwZXItU3VidGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgxNjgsMjE2LDIzOCwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVRpdGxlLC5OZXdzcGFwZXItVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseToiUm9ib3RvIFNsYWIiOw0KCWZvbnQtc2l6ZTo1MHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDo1NXB4Ow0KCXBhZGRpbmc6MCAwIDEwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzcGFwZXItVGl0bGUtQ2VudGVyZWQsLk5ld3NwYXBlci1UaXRsZS1DZW50ZXJlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJSb2JvdG8gU2xhYiI7DQoJZm9udC1zaXplOjUwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjU1cHg7DQoJcGFkZGluZzowIDAgMTBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSGVyby1CdXR0b24sLkhlcm8tQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNTApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSGVyby1CdXR0b246aG92ZXIsLkhlcm8tQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5WaWRlby1UaXRsZSwuVmlkZW8tVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzo1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5WaWRlby1TdWJUaXRsZSwuVmlkZW8tU3ViVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zNSk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjEycHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxMnB4Ow0KCXBhZGRpbmc6NXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CdXR0b24sLk5vdEdlbmVyaWMtQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNTApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CdXR0b246aG92ZXIsLk5vdEdlbmVyaWMtQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CaWdCdXR0b24sLk5vdEdlbmVyaWMtQmlnQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MjdweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CaWdCdXR0b246aG92ZXIsLk5vdEdlbmVyaWMtQmlnQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUJ1dHRvbiwuV2ViUHJvZHVjdC1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6NDhweDsNCglwYWRkaW5nOjAgNDBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtQnV0dG9uOmhvdmVyLC5XZWJQcm9kdWN0LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDUxLDUxLDUxLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LUJ1dHRvbiwuUmVzdGF1cmFudC1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAsMTAsMTAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtQnV0dG9uOmhvdmVyLC5SZXN0YXVyYW50LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjI0LDEyOSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLUJ1dHRvbiwuR3ltLUJ1dHRvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6MTVweDsNCglwYWRkaW5nOjEzcHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1CdXR0b246aG92ZXIsLkd5bS1CdXR0b246aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTE0LDE2OCwwLDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLUJ1dHRvbi1MaWdodCwuR3ltLUJ1dHRvbi1MaWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGluZS1oZWlnaHQ6MTVweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1CdXR0b24tTGlnaHQ6aG92ZXIsLkd5bS1CdXR0b24tTGlnaHQ6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTE0LDE2OCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDEzOSwxOTIsMzksMS4wMCk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1CdXR0b24tTGlnaHQsLlNwb3J0cy1CdXR0b24tTGlnaHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxMnB4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtQnV0dG9uLUxpZ2h0OmhvdmVyLC5TcG9ydHMtQnV0dG9uLUxpZ2h0OmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtQnV0dG9uLVJlZCwuU3BvcnRzLUJ1dHRvbi1SZWQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjE5LDI4LDM0LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDIxOSwyOCwzNCwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1CdXR0b24tUmVkOmhvdmVyLC5TcG9ydHMtQnV0dG9uLVJlZDpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktQnV0dG9uLC5QaG90b2dyYXBoeS1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxM3B4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1CdXR0b246aG92ZXIsLlBob3RvZ3JhcGh5LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbi0yLC5OZXdzcGFwZXItQnV0dG9uLTINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czozcHggM3B4IDNweCAzcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxMHB4IDMwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzcGFwZXItQnV0dG9uLTI6aG92ZXIsLk5ld3NwYXBlci1CdXR0b24tMjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjNweCAzcHggM3B4IDNweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLVRvdXIsLkZlYXR1cmUtVG91cg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxN3B4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLVRvdXI6aG92ZXIsLkZlYXR1cmUtVG91cjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMTQsMTY4LDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLUV4YW1wbGVzLC5GZWF0dXJlLUV4YW1wbGVzDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgzMyw0Miw2NCwwLjE1KTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgzMyw0Miw2NCwwLjUwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxNXB4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLUV4YW1wbGVzOmhvdmVyLC5GZWF0dXJlLUV4YW1wbGVzOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDEzOSwxOTIsMzksMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLnN1YmNhcHRpb24sLnN1YmNhcHRpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDExMSwxMjQsMTMwLDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MTlweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lbnV0YWIsLm1lbnV0YWINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDQxLDQ2LDQ5LDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MjVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lbnV0YWI6aG92ZXIsLm1lbnV0YWI6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyMTMsMCwwLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tYWluY29udGVudCwubWFpbmNvbnRlbnQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDQxLDQ2LDQ5LDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MjFweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1pbml0ZXh0LC5taW5pdGV4dA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTg1LDE4NiwxODcsMS4wMCk7DQoJZm9udC1mYW1pbHk6cm9ib3RvOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmVhdHVyZS1CdXksLkZlYXR1cmUtQnV5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTU0LDIzOCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTdweCAzNXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmVhdHVyZS1CdXk6aG92ZXIsLkZlYXR1cmUtQnV5OmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTMzLDIxNCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQsLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjE1cHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQ6aG92ZXIsLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQ6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GYWNlYm9vay1MaWtlcywuRmFjZWJvb2stTGlrZXMNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTksODksMTUzLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjIycHg7DQoJcGFkZGluZzo1cHggMTVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItRmF2b3JpdGVzLC5Ud2l0dGVyLUZhdm9yaXRlcw0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTM2LDE1MywxNjYsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoyMnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItTGluaywuVHdpdHRlci1MaW5rDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgxMzUsMTUzLDE2NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxMXB4IDExcHggOXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1MaW5rOmhvdmVyLC5Ud2l0dGVyLUxpbms6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMzIsMTgwLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1SZXR3ZWV0LC5Ud2l0dGVyLVJldHdlZXQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDEzNiwxNTMsMTY2LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MjJweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQsLlR3aXR0ZXItQ29udGVudA0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoNDEsNDcsNTEsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXBhZGRpbmc6MzBweCAzMHB4IDcwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQoucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KLnJldnRwLWZvcm0gaW5wdXRbdHlwZT0idGV4dCJdLA0KLnJldnRwLWZvcm0gaW5wdXRbdHlwZT0iZW1haWwiXXsgCQ0KCWZvbnQtZmFtaWx5OiAiQXJpYWwiLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBjb2xvcjogIzAwMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIHBhZGRpbmc6IDAgMjBweDsNCiAgICBjdXJzb3I6IHRleHQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiA0MDBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIA0KICAgIA0KICAgIGJvcmRlci1yYWRpdXM6IDBweDsNCn0NCg0KDQoudHAtY2FwdGlvbi5CaWdCb2xkLVRpdGxlLA0KLkJpZ0JvbGQtVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTEwcHg7DQogICAgbGluZS1oZWlnaHQ6IDEwMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkJpZ0JvbGQtU3ViVGl0bGUsDQouQmlnQm9sZC1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41MCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQmlnQm9sZC1CdXR0b24sDQouQmlnQm9sZC1CdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBsaW5lLWhlaWdodDogMTNweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAxNXB4IDUwcHggMTVweCA1MHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLkJpZ0JvbGQtQnV0dG9uOmhvdmVyLA0KLkJpZ0JvbGQtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQp9DQoudHAtY2FwdGlvbi5Gb29kQ2Fyb3VzZWwtQ29udGVudCwNCi5Gb29kQ2Fyb3VzZWwtQ29udGVudCB7DQogICAgY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxN3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkZvb2RDYXJvdXNlbC1CdXR0b24sDQouRm9vZENhcm91c2VsLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxM3B4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDE1cHggNzBweCAxNXB4IDUwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uRm9vZENhcm91c2VsLUJ1dHRvbjpob3ZlciwNCi5Gb29kQ2Fyb3VzZWwtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkZvb2RDYXJvdXNlbC1DbG9zZUJ1dHRvbiwNCi5Gb29kQ2Fyb3VzZWwtQ2xvc2VCdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAxNHB4IDE0cHggMTRweCAxNnB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4DQp9DQoudHAtY2FwdGlvbi5Gb29kQ2Fyb3VzZWwtQ2xvc2VCdXR0b246aG92ZXIsDQouRm9vZENhcm91c2VsLUNsb3NlQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4DQp9DQoudHAtY2FwdGlvbi5WaWRlby1TdWJUaXRsZSwNCi5WaWRlby1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5WaWRlby1UaXRsZSwNCi5WaWRlby1UaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHJhdmVsLUJpZ0NhcHRpb24sDQouVHJhdmVsLUJpZ0NhcHRpb24gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlRyYXZlbC1TbWFsbENhcHRpb24sDQouVHJhdmVsLVNtYWxsQ2FwdGlvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHJhdmVsLUNhbGxUb0FjdGlvbiwNCi5UcmF2ZWwtQ2FsbFRvQWN0aW9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDI1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAxMnB4IDIwcHggMTJweCAyMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLlRyYXZlbC1DYWxsVG9BY3Rpb246aG92ZXIsDQouVHJhdmVsLUNhbGxUb0FjdGlvbjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4DQp9DQoNCg0KLnRwLWNhcHRpb24uUm90YXRpbmdXb3Jkcy1UaXRsZVdoaXRlLA0KLlJvdGF0aW5nV29yZHMtVGl0bGVXaGl0ZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA3MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Sb3RhdGluZ1dvcmRzLUJ1dHRvbiwNCi5Sb3RhdGluZ1dvcmRzLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDIwcHggNTBweCAyMHB4IDUwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDNweA0KfQ0KLnRwLWNhcHRpb24uUm90YXRpbmdXb3Jkcy1CdXR0b246aG92ZXIsDQouUm90YXRpbmdXb3Jkcy1CdXR0b246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLlJvdGF0aW5nV29yZHMtU21hbGxUZXh0LA0KLlJvdGF0aW5nV29yZHMtU21hbGxUZXh0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZQ0KfQ0KDQoNCg0KDQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbFRpdGxlLA0KLkNvbnRlbnRab29tLVNtYWxsVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMzNweDsNCiAgICBsaW5lLWhlaWdodDogNDVweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbFN1YnRpdGxlLA0KLkNvbnRlbnRab29tLVNtYWxsU3VidGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbEljb24sDQouQ29udGVudFpvb20tU21hbGxJY29uIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLVNtYWxsSWNvbjpob3ZlciwNCi5Db250ZW50Wm9vbS1TbWFsbEljb246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHgNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLURldGFpbFRpdGxlLA0KLkNvbnRlbnRab29tLURldGFpbFRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDcwcHg7DQogICAgbGluZS1oZWlnaHQ6IDcwcHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uQ29udGVudFpvb20tRGV0YWlsU3ViVGl0bGUsDQouQ29udGVudFpvb20tRGV0YWlsU3ViVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICBsaW5lLWhlaWdodDogMjVweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1EZXRhaWxDb250ZW50LA0KLkNvbnRlbnRab29tLURldGFpbENvbnRlbnQgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICBsaW5lLWhlaWdodDogMjhweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1CdXR0b24sDQouQ29udGVudFpvb20tQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggNTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMC41MCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1CdXR0b246aG92ZXIsDQouQ29udGVudFpvb20tQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLUJ1dHRvbkNsb3NlLA0KLkNvbnRlbnRab29tLUJ1dHRvbkNsb3NlIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTRweCAxNHB4IDE0cHggMTZweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMC41MCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQ29udGVudFpvb20tQnV0dG9uQ2xvc2U6aG92ZXIsDQouQ29udGVudFpvb20tQnV0dG9uQ2xvc2U6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHgNCn0NCi50cC1jYXB0aW9uLk5ld3NwYXBlci1UaXRsZSwNCi5OZXdzcGFwZXItVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTVweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogIlJvYm90byBTbGFiIjsNCiAgICBwYWRkaW5nOiAwIDAgMTBweCAwOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVN1YnRpdGxlLA0KLk5ld3NwYXBlci1TdWJ0aXRsZSB7DQogICAgY29sb3I6IHJnYmEoMTY4LCAyMTYsIDIzOCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbiwNCi5OZXdzcGFwZXItQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDE3cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLk5ld3NwYXBlci1CdXR0b246aG92ZXIsDQouTmV3c3BhcGVyLUJ1dHRvbjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQp9DQoudHAtY2FwdGlvbi5ydHdoaXRlbWVkaXVtLA0KLnJ0d2hpdGVtZWRpdW0gew0KICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICBsaW5lLWhlaWdodDogMjZweDsNCiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItY29sb3I6IHJnYigwLCAwLCAwKTsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgdGV4dC1zaGFkb3c6IG5vbmUNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgew0KCS5yZXZ0cC1zZWFyY2hmb3JtIGlucHV0W3R5cGU9InRleHQiXSwNCgkucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KCS5yZXZ0cC1mb3JtIGlucHV0W3R5cGU9InRleHQiXSwNCgkucmV2dHAtZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdIHsgd2lkdGg6IDIwMHB4ICFpbXBvcnRhbnQ7IH0NCn0NCg0KLnJldnRwLXNlYXJjaGZvcm0gaW5wdXRbdHlwZT0ic3VibWl0Il0sDQoucmV2dHAtZm9ybSBpbnB1dFt0eXBlPSJzdWJtaXQiXSB7CQ0KCWZvbnQtZmFtaWx5OiAiQXJpYWwiLCBzYW5zLXNlcmlmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBwYWRkaW5nOiAwIDIwcHg7DQogICAgYm9yZGVyOiAwOw0KICAgIGJhY2tncm91bmQ6ICMwMDlhZWU7DQogICAgY29sb3I6ICNmZmY7DQogICAgDQogICAgDQogICAgYm9yZGVyLXJhZGl1czogMHB4Ow0KfQ0KDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYSwNCiAgICAudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICAgICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQ7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1UaXRsZSwNCiAgICAuQ29uY2VwdC1UaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDcwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiAiUm9ib3RvIENvbmRlbnNlZCI7DQogICAgICAgIHBhZGRpbmc6IDBweCAwcHggMTBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LVN1YlRpdGxlLA0KICAgIC5Db25jZXB0LVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgICAgICAgZm9udC1mYW1pbHk6ICIiUGxheWZhaXIgRGlzcGxheSIiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDEwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Db250ZW50LA0KICAgIC5Db25jZXB0LUNvbnRlbnQgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LU1vcmVCdG4sDQogICAgLkNvbmNlcHQtTW9yZUJ0biB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDMwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDEwcHggOHB4IDdweCAxMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4IDUwcHggNTBweCA1MHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtTW9yZUJ0bjpob3ZlciwNCiAgICAuQ29uY2VwdC1Nb3JlQnRuOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUxlc3NCdG4sDQogICAgLkNvbmNlcHQtTGVzc0J0biB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDMwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDEwcHggOHB4IDdweCAxMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHggNTBweCA1MHB4IDUwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1MZXNzQnRuOmhvdmVyLA0KICAgIC5Db25jZXB0LUxlc3NCdG46aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4IDUwcHggNTBweCA1MHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtU3ViVGl0bGUtRGFyaywNCiAgICAuQ29uY2VwdC1TdWJUaXRsZS1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAxMHB4IDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtVGl0bGUtRGFyaywNCiAgICAuQ29uY2VwdC1UaXRsZS1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJSb2JvdG8gQ29uZGVuc2VkIjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAxMHB4IDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Nb3JlQnRuLURhcmssDQogICAgLkNvbmNlcHQtTW9yZUJ0bi1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTBweCA4cHggN3B4IDEwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHggNTBweCA1MHB4IDUwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Nb3JlQnRuLURhcms6aG92ZXIsDQogICAgLkNvbmNlcHQtTW9yZUJ0bi1EYXJrOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQtRGFyaywNCiAgICAuQ29uY2VwdC1Db250ZW50LURhcmsgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LU5vdGljZSwNCiAgICAuQ29uY2VwdC1Ob3RpY2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYSwNCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmYgIWltcG9ydGFudDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYTpob3ZlciB7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQtRGFyayBhLA0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtQ29udGVudC1EYXJrIGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Db250ZW50LURhcmsgYTpob3ZlciB7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhLA0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOmhvdmVyIHsNCiAgICAgICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5DcmVhdGl2ZS1UaXRsZSwNCiAgICAuQ3JlYXRpdmUtVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA3MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLVN1YlRpdGxlLA0KICAgIC5DcmVhdGl2ZS1TdWJUaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLUJ1dHRvbiwNCiAgICAuQ3JlYXRpdmUtQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjA1LCAxNzYsIDEzMSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDE1cHggNTBweCAxNXB4IDUwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDAuMjUpOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLUJ1dHRvbjpob3ZlciwNCiAgICAuQ3JlYXRpdmUtQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjA1LCAxNzYsIDEzMSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KDQoudHAtY2FwdGlvbi5zdWJjYXB0aW9uLA0KICAgIC5zdWJjYXB0aW9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMTExLCAxMjQsIDEzMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTlweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uUmVkRG90LA0KICAgIC5SZWREb3Qgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsgICAgICAgIA0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7ICAgICAgICANCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEzLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDVweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5SZWREb3Q6aG92ZXIsDQogICAgLlJlZERvdDpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTMsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDVweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLlNsaWRpbmdPdmVybGF5cy1UaXRsZSwNCiAgICAuU2xpZGluZ092ZXJsYXlzLVRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uU2xpZGluZ092ZXJsYXlzLVRpdGxlLA0KICAgIC5TbGlkaW5nT3ZlcmxheXMtVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCg0KICAgICAudHAtY2FwdGlvbi5Xb28tVGl0bGVMYXJnZSwNCiAgICAuV29vLVRpdGxlTGFyZ2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVJhdGluZywNCiAgICAuV29vLVJhdGluZyB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVN1YlRpdGxlLA0KICAgIC5Xb28tU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMThweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVByaWNlTGFyZ2UsDQogICAgLldvby1QcmljZUxhcmdlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1Qcm9kdWN0SW5mbywNCiAgICAuV29vLVByb2R1Y3RJbmZvIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTJweCA3NXB4IDEycHggNTBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjA3LCAxMTQsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCA0cHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tUHJvZHVjdEluZm86aG92ZXIsDQogICAgLldvby1Qcm9kdWN0SW5mbzpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAxNjgsIDcxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQsDQogICAgLldvby1BZGRUb0NhcnQgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyMDcsIDExNCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQ6aG92ZXIsDQogICAgLldvby1BZGRUb0NhcnQ6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMTY4LCA3MSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tVGl0bGVMYXJnZSwNCiAgICAuV29vLVRpdGxlTGFyZ2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVN1YlRpdGxlLA0KICAgIC5Xb28tU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMThweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVByaWNlTGFyZ2UsDQogICAgLldvby1QcmljZUxhcmdlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1Qcm9kdWN0SW5mbywNCiAgICAuV29vLVByb2R1Y3RJbmZvIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTJweCA3NXB4IDEycHggNTBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjA3LCAxMTQsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCA0cHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tUHJvZHVjdEluZm86aG92ZXIsDQogICAgLldvby1Qcm9kdWN0SW5mbzpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAxNjgsIDcxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQsDQogICAgLldvby1BZGRUb0NhcnQgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyMDcsIDExNCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQ6aG92ZXIsDQogICAgLldvby1BZGRUb0NhcnQ6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMTY4LCA3MSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLkZ1bGxTY3JlZW4tVG9nZ2xlLA0KICAgIC5GdWxsU2NyZWVuLVRvZ2dsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDIwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgICAgICBwYWRkaW5nOiAxMXB4IDhweCAxMXB4IDEycHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTY3JlZW4tVG9nZ2xlOmhvdmVyLA0KICAgIC5GdWxsU2NyZWVuLVRvZ2dsZTpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLkFnZW5jeS1UaXRsZSwNCi5BZ2VuY3ktVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogbGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxMHB4DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU3ViVGl0bGUsDQouQWdlbmN5LVN1YlRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQogICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVBsYXlCdG4sDQouQWdlbmN5LVBsYXlCdG4gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNzFweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktUGxheUJ0bjpob3ZlciwNCi5BZ2VuY3ktUGxheUJ0bjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsVGV4dCwNCi5BZ2VuY3ktU21hbGxUZXh0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEycHg7DQogICAgZm9udC13ZWlnaHQ6IDkwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogNXB4DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU29jaWFsLA0KLkFnZW5jeS1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNvY2lhbDpob3ZlciwNCi5BZ2VuY3ktU29jaWFsOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LUNsb3NlQnRuLA0KLkFnZW5jeS1DbG9zZUJ0biB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LUNsb3NlQnRuOmhvdmVyLA0KLkFnZW5jeS1DbG9zZUJ0bjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoNCi50cC1jYXB0aW9uLkRpbmluZy1UaXRsZSwNCi5EaW5pbmctVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMTBweA0KfQ0KLnRwLWNhcHRpb24uRGluaW5nLVN1YlRpdGxlLA0KLkRpbmluZy1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5EaW5pbmctQnRuTGlnaHQsDQouRGluaW5nLUJ0bkxpZ2h0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMTdweCA3M3B4IDE3cHggNTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtY2FwdGlvbi5EaW5pbmctQnRuTGlnaHQ6aG92ZXIsDQouRGluaW5nLUJ0bkxpZ2h0OmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkRpbmluZy1Tb2NpYWwsDQouRGluaW5nLVNvY2lhbCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5EaW5pbmctU29jaWFsOmhvdmVyLA0KLkRpbmluZy1Tb2NpYWw6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KdHAtY2FwdGlvbi5UZWFtLVRodW1iLA0KLlRlYW0tVGh1bWIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjJweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1UaHVtYjpob3ZlciwNCi5UZWFtLVRodW1iOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVGVhbS1OYW1lLA0KLlRlYW0tTmFtZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA3MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1Qb3NpdGlvbiwNCi5UZWFtLVBvc2l0aW9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlRlYW0tRGVzY3JpcHRpb24sDQouVGVhbS1EZXNjcmlwdGlvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1Tb2NpYWwsDQouVGVhbS1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5UZWFtLVNvY2lhbDpob3ZlciwNCi5UZWFtLVNvY2lhbDpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCg0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1QbGF5LA0KLlZpZGVvQ29udHJvbHMtUGxheSB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMjBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDdweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvQ29udHJvbHMtUGxheTpob3ZlciwNCi5WaWRlb0NvbnRyb2xzLVBsYXk6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9QbGF5ZXItVGl0bGUsDQouVmlkZW9QbGF5ZXItVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNDBweDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxMHB4DQp9DQoudHAtY2FwdGlvbi5WaWRlb1BsYXllci1TdWJUaXRsZSwNCi5WaWRlb1BsYXllci1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvUGxheWVyLVNvY2lhbCwNCi5WaWRlb1BsYXllci1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5WaWRlb1BsYXllci1Tb2NpYWw6aG92ZXIsDQouVmlkZW9QbGF5ZXItU29jaWFsOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1NdXRlLA0KLlZpZGVvQ29udHJvbHMtTXV0ZSB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1NdXRlOmhvdmVyLA0KLlZpZGVvQ29udHJvbHMtTXV0ZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5WaWRlb0NvbnRyb2xzLVBhdXNlLA0KLlZpZGVvQ29udHJvbHMtUGF1c2Ugew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvQ29udHJvbHMtUGF1c2U6aG92ZXIsDQouVmlkZW9Db250cm9scy1QYXVzZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQogfQ0KDQouc291bmRjbG91ZHdyYXBwZXIgaWZyYW1lIHsNCiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctVGl0bGUsDQouU2xlZWtMYW5kaW5nLVRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDM1cHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiA1cHgNCn0NCi50cC1jYXB0aW9uLlNsZWVrTGFuZGluZy1CdXR0b25CRywNCi5TbGVla0xhbmRpbmctQnV0dG9uQkcgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICANCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgICAgDQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7ICAgIA0KICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAycHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpDQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctU21hbGxUaXRsZSwNCi5TbGVla0xhbmRpbmctU21hbGxUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctQm90dG9tVGV4dCwNCi5TbGVla0xhbmRpbmctQm90dG9tVGV4dCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uU2xlZWtMYW5kaW5nLVNvY2lhbCwNCi5TbGVla0xhbmRpbmctU29jaWFsIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIycHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEFyaWFsOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlNsZWVrTGFuZGluZy1Tb2NpYWw6aG92ZXIsDQouU2xlZWtMYW5kaW5nLVNvY2lhbDpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCiNyZXZfc2xpZGVyXzQyOV8xX3dyYXBwZXIgLnRwLWxvYWRlci5zcGlubmVyMiB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NSAhaW1wb3J0YW50Ow0KfQ0KLnRwLWZhdCB7DQogICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50Ow0KfQ0KDQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUNhdGVnb3J5LA0KLlBvc3RTbGlkZXItQ2F0ZWdvcnkgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICBmb250LXdlaWdodDogMzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAzcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uUG9zdFNsaWRlci1UaXRsZSwNCi5Qb3N0U2xpZGVyLVRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBmb250LXNpemU6IDQwcHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUNvbnRlbnQsDQouUG9zdFNsaWRlci1Db250ZW50IHsNCiAgICBjb2xvcjogcmdiYSgxMTksIDExOSwgMTE5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDIzcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUJ1dHRvbiwNCi5Qb3N0U2xpZGVyLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMXB4IDU2cHggMXB4IDMycHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlBvc3RTbGlkZXItQnV0dG9uOmhvdmVyLA0KLlBvc3RTbGlkZXItQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzgsIDIzOCwgMjM4LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoNCi8qIG1lZGlhIHF1ZXJpZXMgKi8NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge30gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge30gLnRwLWNhcHRpb24uTGFuZGluZ1BhZ2UtVGl0bGUsDQouTGFuZGluZ1BhZ2UtVGl0bGUgew0KICAgIGNvbG9yOnJnYmEoMjU1LA0KICAgIDI1NSwNCiAgICAyNTUsDQogICAgMS4wMCk7DQogICAgZm9udC1zaXplOjcwcHg7DQogICAgbGluZS1oZWlnaHQ6ODBweDsNCiAgICBmb250LXdlaWdodDo5MDA7DQogICAgZm9udC1zdHlsZTpub3JtYWw7DQogICAgZm9udC1mYW1pbHk6TGF0bzsNCiAgICBwYWRkaW5nOjAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6bm9uZTsNCiAgICBib3JkZXItd2lkdGg6MHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6MCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246bGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzoxMHB4DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1TdWJUaXRsZSwNCi5MYW5kaW5nUGFnZS1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1CdXR0b24sDQouTGFuZGluZ1BhZ2UtQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDU0cHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAwcHggMzVweCAwcHggMzVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogM3B4DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1CdXR0b246aG92ZXIsDQouTGFuZGluZ1BhZ2UtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BcHAtQ29udGVudCBhLA0KLnRwLWNhcHRpb24uQXBwLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzg5MTI0ZSAhaW1wb3J0YW50Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7DQp9DQoudHAtY2FwdGlvbi5BcHAtQ29udGVudCBhOmhvdmVyIHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg5MTI0ZSAhaW1wb3J0YW50Ow0KfQ0KLnRwLWNhcHRpb24uUm9ja0JhbmQtTG9nb1RleHQsDQouUm9ja0JhbmQtTG9nb1RleHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICBsaW5lLWhlaWdodDogNjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogT3N3YWxkOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsNCn0NCi5zb3VuZGNsb3Vkd3JhcHBlciBpZnJhbWUgew0KICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQNCn0NCg0KLnRwLWNhcHRpb24uQWdlbmN5LUxvZ29UZXh0LA0KLkFnZW5jeS1Mb2dvVGV4dCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQ29taW5nU29vbi1IaWdobGlnaHQsDQouQ29taW5nU29vbi1IaWdobGlnaHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMzdweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDIwcHggM3B4IDIwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNTQsIDIzOCwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkNvbWluZ1Nvb24tQ291bnQsDQouQ29taW5nU29vbi1Db3VudCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uQ29taW5nU29vbi1Db3VudFVuaXQsDQouQ29taW5nU29vbi1Db3VudFVuaXQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5Db21pbmdTb29uLU5vdGlmeU1lLA0KLkNvbWluZ1Nvb24tTm90aWZ5TWUgew0KICAgIGNvbG9yOiByZ2JhKDE2NCwgMTU3LCAxNDMsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjdweDsNCiAgICBsaW5lLWhlaWdodDogMzVweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoNCiNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWNlLUVNQUlMIHsNCiAgICBmb250LWZhbWlseTogIkxhdG8iLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBjb2xvcjogIzAwMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIHBhZGRpbmc6IDAgMjBweDsNCiAgICBjdXJzb3I6IHRleHQ7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsNCiAgICB3aWR0aDogNDAwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICANCiAgICANCiAgICBib3JkZXItcmFkaXVzOiAwcHg7DQp9DQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jZS1FTUFJTFt0eXBlPSJlbWFpbCJdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KfQ0KI21jX2VtYmVkX3NpZ251cCBpbnB1dCNtYy1lbWJlZGRlZC1zdWJzY3JpYmUsDQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jLWVtYmVkZGVkLXN1YnNjcmliZTpmb2N1cyB7DQogICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4Ow0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgcGFkZGluZzogMCAyMHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDlhZWU7DQogICAgYmFja2dyb3VuZDogIzAwOWFlZTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICANCiAgICANCiAgICBib3JkZXItcmFkaXVzOiAwcHg7DQp9DQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jLWVtYmVkZGVkLXN1YnNjcmliZTpob3ZlciB7DQogICAgYmFja2dyb3VuZDogIzAwODNkNDsNCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jZS1FTUFJTCB7DQogICAgICAgIHdpZHRoOiAyMDBweDsNCiAgICB9DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxUaXRsZSwNCi5BZ2VuY3ktU21hbGxUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDZweA0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsQ29udGVudCwNCi5BZ2VuY3ktU21hbGxDb250ZW50IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsTGluaywNCi5BZ2VuY3ktU21hbGxMaW5rIHsNCiAgICBjb2xvcjogcmdiYSgyNDgsIDEyNCwgOSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y4N2MwOSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rOmhvdmVyLA0KLkFnZW5jeS1TbWFsbExpbms6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktTmF2QnV0dG9uLA0KLkFnZW5jeS1OYXZCdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LU5hdkJ1dHRvbjpob3ZlciwNCi5BZ2VuY3ktTmF2QnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rR3JlZW4sDQouQWdlbmN5LVNtYWxsTGlua0dyZWVuIHsNCiAgICBjb2xvcjogcmdiYSgxMDksIDE3NywgMTU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDIycHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDBweCAwOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmRiMTliICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1TbWFsbExpbmtHcmVlbjpob3ZlciwNCi5BZ2VuY3ktU21hbGxMaW5rR3JlZW46aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rQmx1ZSwNCi5BZ2VuY3ktU21hbGxMaW5rQmx1ZSB7DQogICAgY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5OSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rQmx1ZTpob3ZlciwNCi5BZ2VuY3ktU21hbGxMaW5rQmx1ZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1Mb2dvVGV4dCwNCi5BZ2VuY3ktTG9nb1RleHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1BcnJvd1Rvb2x0aXAsDQouQWdlbmN5LUFycm93VG9vbHRpcCB7DQogICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiAiUGVybWFuZW50IE1hcmtlciI7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxTb2NpYWwsDQouQWdlbmN5LVNtYWxsU29jaWFsIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEFyaWFsOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1TbWFsbFNvY2lhbDpob3ZlciwNCi5BZ2VuY3ktU21hbGxTb2NpYWw6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYSwNCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQgew0KICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOmhvdmVyIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLUJ0biwNCi5DcmVhdGl2ZUZyb250UGFnZS1CdG4gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBsaW5lLWhlaWdodDogNjBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCA1MHB4IDBweCA1MHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTA0LCA5MiwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAycHgNCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLUJ0bjpob3ZlciwNCi5DcmVhdGl2ZUZyb250UGFnZS1CdG46aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLU1lbnUsDQouQ3JlYXRpdmVGcm9udFBhZ2UtTWVudSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiByb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtZmxpcC1pbmRleCB7DQogICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50Ow0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5GdWxsU2NyZWVuTWVudS1DYXRlZ29yeSwNCi5GdWxsU2NyZWVuTWVudS1DYXRlZ29yeSB7DQogICAgY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBCZW5jaE5pbmU7DQogICAgcGFkZGluZzogMjFweCAzMHB4IDE2cHggMzBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTApOw0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogM3B4DQp9DQoudHAtY2FwdGlvbi5GdWxsU2NyZWVuTWVudS1UaXRsZSwNCi5GdWxsU2NyZWVuTWVudS1UaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA2NXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBCZW5jaE5pbmU7DQogICAgcGFkZGluZzogMjFweCAzMHB4IDE2cHggMzBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuOTApOw0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweA0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5UZWNoSm91cm5hbC1CdXR0b24sDQouVGVjaEpvdXJuYWwtQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDkwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMXB4IDMwcHggMXB4IDMwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzgsIDAsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAzcHgNCn0NCi50cC1jYXB0aW9uLlRlY2hKb3VybmFsLUJ1dHRvbjpob3ZlciwNCi5UZWNoSm91cm5hbC1CdXR0b246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLlRlY2hKb3VybmFsLUJpZywNCi5UZWNoSm91cm5hbC1CaWcgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDEyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IDBweA0KfQ0KLnJldl9zbGlkZXIgew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQouZWZmZWN0X2xheWVyIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwcHg7DQogICAgbGVmdDogMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXIgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgICNtZW51X2ZvcmNlZnVsbHdpZHRoIHsNCiAgICAgICAgei1pbmRleDogNTAwMDsNCiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluaywNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uLA0KICAgIC5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b24gew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxcHggMXB4IDFweCAxcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluaywNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uLA0KICAgIC5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b24gew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxcHggMXB4IDFweCAxcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbiwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMXB4IDFweCAxcHggMXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b246aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDY1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbmssDQogICAgLkZ1bGxTaXRlQmxvY2stTGluayB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluazpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbiwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMXB4IDFweCAxcHggMXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b246aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAucmV2X3NsaWRlciB7DQogICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgfQ0KICAgIC5lZmZlY3RfbGF5ZXIgew0KICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWIgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWItaW1nLXdyYXAgew0KICAgICAgICBwYWRkaW5nOiAzcHg7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7DQogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIGhlaWdodDogMTAwJTsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7DQogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7DQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWItaW1hZ2Ugew0KICAgICAgICBwYWRkaW5nOiAzcHg7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgICAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsNCiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgIH0NCiAgICAuZ3lnZXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi1pbWctd3JhcCwNCiAgICAuZ3lnZXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1pbWctd3JhcCB7DQogICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkpKTsNCiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpOw0KICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpOw0KICAgICAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1UaXRsZSwNCiAgICAuRnVsbFNpdGVCbG9jay1UaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDU1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1TdWJUaXRsZSwNCiAgICAuRnVsbFNpdGVCbG9jay1TdWJUaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbmsgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAxNTAsIDI1NSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stTGluazpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUZvb3RlckxpbmssDQogICAgLkZ1bGxTaXRlQmxvY2stRm9vdGVyTGluayB7DQogICAgICAgIGNvbG9yOiByZ2JhKDg1LCA4NSwgODUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUZvb3Rlckxpbms6aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRm9vdGVyTGluazpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLmZiLXNoYXJlLWJ1dHRvbi5mYl9pZnJhbWVfd2lkZ2V0IGlmcmFtZSB7DQogICAgICAgIHdpZHRoOiAxMTVweCFpbXBvcnRhbnQ7DQogICAgfQ0KICAgICN0cC1zb2NpYWx3cmFwcGVyIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQoNCiAgICAgICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXIgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgICNtZW51X2ZvcmNlZnVsbHdpZHRoIHsNCiAgICAgICAgei1pbmRleDogNTAwMDsNCiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlDQogICAgfQ0KICAgICN0cC1tZW51Ymcgew0KICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC43NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7DQogICAgICAgIC8qIEZGMy42LTE1ICovDQogICAgICAgIA0KICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC43NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7DQogICAgICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovDQogICAgICAgIA0KICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNzUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpOw0KICAgICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi8NCiAgICAgICAgDQogICAgICAgIGZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2Q5MDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0wKTsNCiAgICAgICAgLyogSUU2LTkgKi8NCiAgICB9DQogICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgICAgICAgcGFkZGluZzogMCAyMHB4Ow0KICAgICAgICBjdXJzb3I6IHRleHQ7DQogICAgICAgIGJvcmRlcjogMDsNCiAgICAgICAgd2lkdGg6IDQwMHB4Ow0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06Oi1tb3otcGxhY2Vob2xkZXIgew0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsNCiAgICAgICAgY29sb3I6ICM4ODggIWltcG9ydGFudDsNCiAgICB9DQogICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICAgICAgY29sb3I6ICM0NTQ1NDU7DQogICAgfQ0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlLA0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlOmZvY3VzIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgcGFkZGluZzogMCAzMHB4Ow0KICAgICAgICBib3JkZXI6IDA7DQogICAgICAgIGJhY2tncm91bmQ6ICNmMDQ1MzE7DQogICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogICAgfQ0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlOmhvdmVyIHsNCiAgICAgICAgYmFja2dyb3VuZDogI2UwMzcyNzsNCiAgICB9DQogICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgICAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl0gew0KICAgICAgICAgICAgd2lkdGg6IDI2MHB4Ow0KICAgICAgICB9DQogICAgfQ0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHsNCiAgICAgICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdIHsNCiAgICAgICAgICAgIHdpZHRoOiAxNjBweDsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAjcmV2X3NsaWRlcl8xNjdfNiAudXJhbnVzLnRwYXJyb3dzIHsNCiAgICAgICAgd2lkdGg6IDUwcHg7DQogICAgICAgIGhlaWdodDogNTBweDsNCiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICB9DQogICAgI3Jldl9zbGlkZXJfMTY3XzYgLnVyYW51cy50cGFycm93czpiZWZvcmUgew0KICAgICAgICB3aWR0aDogNTBweDsNCiAgICAgICAgaGVpZ2h0OiA1MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsNCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsNCiAgICB9DQogICAgI3Jldl9zbGlkZXJfMTY3XzYgLnVyYW51cy50cGFycm93czpob3ZlcjpiZWZvcmUgew0KICAgICAgICBvcGFjaXR5OiAwLjc1Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5QYXJhbGxheFdlYnNpdGUtRm9vdGVySXRlbSwNCiAgICAuUGFyYWxsYXhXZWJzaXRlLUZvb3Rlckl0ZW0gew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uUGFyYWxsYXhXZWJzaXRlLUZvb3Rlckl0ZW06aG92ZXIsDQogICAgLlBhcmFsbGF4V2Vic2l0ZS1Gb290ZXJJdGVtOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC5mYi1zaGFyZS1idXR0b24uZmJfaWZyYW1lX3dpZGdldCBpZnJhbWUgew0KICAgICAgICB3aWR0aDogMTE1cHghaW1wb3J0YW50Ow0KICAgIH0NCiAgICBpZnJhbWUudHdpdHRlci1zaGFyZS1idXR0b24gew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCiAgICAuZmItc2hhcmUtYnV0dG9uLmZiX2lmcmFtZV93aWRnZXQgaWZyYW1lIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbmssIA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbmsgew0KICAgIGNvbG9yOiByZ2JhKDAsMTUwLDI1NSwxLjAwKTsNCiAgICBmb250LXNpemU6IDI1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0="}},"time_used":258,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":247,"receive":11,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/pe-icon-7-stroke.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.305Z","timestamp":1785123385305,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/pe-icon-7-stroke.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/css/style-main.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"25e8-65fd8520-b8fd773bd00c62e5;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1658\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":9704,"size_decoded":2098,"mime_type":"text/css","magic":"ASCII text","md5":"63a2cca465e359d322d31ced6e655d83","sha1":"d58998501d785e48951634306471bf6c8e280f63","sha256":"27dd8217d5cc0f5546a189914f25af299ce69012ba7bf65a3ecca976e709427c","sha512":"4d7ef37a27d94323ef6ab2b54e52b85b7bda860722edb8af0a8364d0c18acafc28ba89cd236d974b6c9f90c2e81aa73d5861a4c93ef63b05b7ca4663f22e22d1","ssdeep":"96:wx4nzuudOeo9qjwYKoZc3AHdOJz5BJOSTrbI2RLcwR/UGkqmMMO0s+9o/4DmXVVp:wUzCTq18t05xpoCr6vHZ","tlshash":"e512c9a4fd6f3ca21791e0d16ac82e552f1de26d9f412c79c81a7e7cb3d321ca5806d8","first_seen":"2023-10-27T16:38:40Z","last_seen":"2026-07-27T12:40:24.607709Z","times_seen":25,"resource_available":false,"data":"QGZvbnQtZmFjZSB7Cglmb250LWZhbWlseTogJ1BlLWljb24tNy1zdHJva2UnOwoJc3JjOnVybCgnLi4vZm9udHMvUGUtaWNvbi03LXN0cm9rZWJiMWQuZW90Jyk7CglzcmM6dXJsKCcuLi9mb250cy9QZS1pY29uLTctc3Ryb2tlZDQxZC5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksCgkJdXJsKCcuLi9mb250cy9QZS1pY29uLTctc3Ryb2tlYmIxZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksCgkJdXJsKCcuLi9mb250cy9QZS1pY29uLTctc3Ryb2tlYmIxZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksCgkJdXJsKCcuLi9mb250cy9QZS1pY29uLTctc3Ryb2tlYmIxZC5zdmcnKSBmb3JtYXQoJ3N2ZycpOwoJZm9udC13ZWlnaHQ6IG5vcm1hbDsKCWZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKW2NsYXNzXj0icGUtN3MtIl0sIFtjbGFzcyo9IiBwZS03cy0iXSB7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cglmb250LWZhbWlseTogJ1BlLWljb24tNy1zdHJva2UnOwoJc3BlYWs6IG5vbmU7Cglmb250LXN0eWxlOiBub3JtYWw7Cglmb250LXdlaWdodDogbm9ybWFsOwoJZm9udC12YXJpYW50OiBub3JtYWw7Cgl0ZXh0LXRyYW5zZm9ybTogbm9uZTsKCWxpbmUtaGVpZ2h0OiAxOwoKCS8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqLwoJLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CgktbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9CgoucGUtN3MtYWxidW06YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhYSI7Cn0KLnBlLTdzLWFyYzpiZWZvcmUgewoJY29udGVudDogIlxlNmFiIjsKfQoucGUtN3MtYmFjay0yOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YWMiOwp9Ci5wZS03cy1iYW5kYWlkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YWQiOwp9Ci5wZS03cy1jYXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhZSI7Cn0KLnBlLTdzLWRpYW1vbmQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhZiI7Cn0KLnBlLTdzLWRvb3ItbG9jazpiZWZvcmUgewoJY29udGVudDogIlxlNmIwIjsKfQoucGUtN3MtZXllZHJvcHBlcjpiZWZvcmUgewoJY29udGVudDogIlxlNmIxIjsKfQoucGUtN3MtZmVtYWxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjIiOwp9Ci5wZS03cy1neW06YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiMyI7Cn0KLnBlLTdzLWhhbW1lcjpiZWZvcmUgewoJY29udGVudDogIlxlNmI0IjsKfQoucGUtN3MtaGVhZHBob25lczpiZWZvcmUgewoJY29udGVudDogIlxlNmI1IjsKfQoucGUtN3MtaGVsbTpiZWZvcmUgewoJY29udGVudDogIlxlNmI2IjsKfQoucGUtN3MtaG91cmdsYXNzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjciOwp9Ci5wZS03cy1sZWFmOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjgiOwp9Ci5wZS03cy1tYWdpYy13YW5kOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjkiOwp9Ci5wZS03cy1tYWxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YmEiOwp9Ci5wZS03cy1tYXAtMjpiZWZvcmUgewoJY29udGVudDogIlxlNmJiIjsKfQoucGUtN3MtbmV4dC0yOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YmMiOwp9Ci5wZS03cy1wYWludC1idWNrZXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiZCI7Cn0KLnBlLTdzLXBlbmRyaXZlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YmUiOwp9Ci5wZS03cy1waG90bzpiZWZvcmUgewoJY29udGVudDogIlxlNmJmIjsKfQoucGUtN3MtcGlnZ3k6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZjMCI7Cn0KLnBlLTdzLXBsdWdpbjpiZWZvcmUgewoJY29udGVudDogIlxlNmMxIjsKfQoucGUtN3MtcmVmcmVzaC0yOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YzIiOwp9Ci5wZS03cy1yb2NrZXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZjMyI7Cn0KLnBlLTdzLXNldHRpbmdzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YzQiOwp9Ci5wZS03cy1zaGllbGQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZjNSI7Cn0KLnBlLTdzLXNtaWxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YzYiOwp9Ci5wZS03cy11c2I6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZjNyI7Cn0KLnBlLTdzLXZlY3RvcjpiZWZvcmUgewoJY29udGVudDogIlxlNmM4IjsKfQoucGUtN3Mtd2luZTpiZWZvcmUgewoJY29udGVudDogIlxlNmM5IjsKfQoucGUtN3MtY2xvdWQtdXBsb2FkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OGEiOwp9Ci5wZS03cy1jYXNoOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OGMiOwp9Ci5wZS03cy1jbG9zZTpiZWZvcmUgewoJY29udGVudDogIlxlNjgwIjsKfQoucGUtN3MtYmx1ZXRvb3RoOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OGQiOwp9Ci5wZS03cy1jbG91ZC1kb3dubG9hZDpiZWZvcmUgewoJY29udGVudDogIlxlNjhiIjsKfQoucGUtN3Mtd2F5OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OGUiOwp9Ci5wZS03cy1jbG9zZS1jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4MSI7Cn0KLnBlLTdzLWlkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OGYiOwp9Ci5wZS03cy1hbmdsZS11cDpiZWZvcmUgewoJY29udGVudDogIlxlNjgyIjsKfQoucGUtN3Mtd3Jpc3R3YXRjaDpiZWZvcmUgewoJY29udGVudDogIlxlNjkwIjsKfQoucGUtN3MtYW5nbGUtdXAtY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2ODMiOwp9Ci5wZS03cy13b3JsZDpiZWZvcmUgewoJY29udGVudDogIlxlNjkxIjsKfQoucGUtN3MtYW5nbGUtcmlnaHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4NCI7Cn0KLnBlLTdzLXZvbHVtZTpiZWZvcmUgewoJY29udGVudDogIlxlNjkyIjsKfQoucGUtN3MtYW5nbGUtcmlnaHQtY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2ODUiOwp9Ci5wZS03cy11c2VyczpiZWZvcmUgewoJY29udGVudDogIlxlNjkzIjsKfQoucGUtN3MtYW5nbGUtbGVmdDpiZWZvcmUgewoJY29udGVudDogIlxlNjg2IjsKfQoucGUtN3MtdXNlci1mZW1hbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5NCI7Cn0KLnBlLTdzLWFuZ2xlLWxlZnQtY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2ODciOwp9Ci5wZS03cy11cC1hcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlNjk1IjsKfQoucGUtN3MtYW5nbGUtZG93bjpiZWZvcmUgewoJY29udGVudDogIlxlNjg4IjsKfQoucGUtN3Mtc3dpdGNoOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OTYiOwp9Ci5wZS03cy1hbmdsZS1kb3duLWNpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlNjg5IjsKfQoucGUtN3Mtc2Npc3NvcnM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5NyI7Cn0KLnBlLTdzLXdhbGxldDpiZWZvcmUgewoJY29udGVudDogIlxlNjAwIjsKfQoucGUtN3Mtc2FmZTpiZWZvcmUgewoJY29udGVudDogIlxlNjk4IjsKfQoucGUtN3Mtdm9sdW1lMjpiZWZvcmUgewoJY29udGVudDogIlxlNjAxIjsKfQoucGUtN3Mtdm9sdW1lMTpiZWZvcmUgewoJY29udGVudDogIlxlNjAyIjsKfQoucGUtN3Mtdm9pY2VtYWlsOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDMiOwp9Ci5wZS03cy12aWRlbzpiZWZvcmUgewoJY29udGVudDogIlxlNjA0IjsKfQoucGUtN3MtdXNlcjpiZWZvcmUgewoJY29udGVudDogIlxlNjA1IjsKfQoucGUtN3MtdXBsb2FkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDYiOwp9Ci5wZS03cy11bmxvY2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYwNyI7Cn0KLnBlLTdzLXVtYnJlbGxhOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDgiOwp9Ci5wZS03cy10cmFzaDpiZWZvcmUgewoJY29udGVudDogIlxlNjA5IjsKfQoucGUtN3MtdG9vbHM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYwYSI7Cn0KLnBlLTdzLXRpbWVyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MGIiOwp9Ci5wZS03cy10aWNrZXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYwYyI7Cn0KLnBlLTdzLXRhcmdldDpiZWZvcmUgewoJY29udGVudDogIlxlNjBkIjsKfQoucGUtN3Mtc3VuOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MGUiOwp9Ci5wZS03cy1zdHVkeTpiZWZvcmUgewoJY29udGVudDogIlxlNjBmIjsKfQoucGUtN3Mtc3RvcHdhdGNoOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MTAiOwp9Ci5wZS03cy1zdGFyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MTEiOwp9Ci5wZS03cy1zcGVha2VyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MTIiOwp9Ci5wZS03cy1zaWduYWw6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxMyI7Cn0KLnBlLTdzLXNodWZmbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxNCI7Cn0KLnBlLTdzLXNob3BiYWc6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxNSI7Cn0KLnBlLTdzLXNoYXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MTYiOwp9Ci5wZS03cy1zZXJ2ZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxNyI7Cn0KLnBlLTdzLXNlYXJjaDpiZWZvcmUgewoJY29udGVudDogIlxlNjE4IjsKfQoucGUtN3MtZmlsbTpiZWZvcmUgewoJY29udGVudDogIlxlNmE1IjsKfQoucGUtN3Mtc2NpZW5jZTpiZWZvcmUgewoJY29udGVudDogIlxlNjE5IjsKfQoucGUtN3MtZGlzazpiZWZvcmUgewoJY29udGVudDogIlxlNmE2IjsKfQoucGUtN3MtcmliYm9uOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MWEiOwp9Ci5wZS03cy1yZXBlYXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxYiI7Cn0KLnBlLTdzLXJlZnJlc2g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxYyI7Cn0KLnBlLTdzLWFkZC11c2VyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YTkiOwp9Ci5wZS03cy1yZWZyZXNoLWNsb3VkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MWQiOwp9Ci5wZS03cy1wYXBlcmNsaXA6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5YyI7Cn0KLnBlLTdzLXJhZGlvOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MWUiOwp9Ci5wZS03cy1ub3RlMjpiZWZvcmUgewoJY29udGVudDogIlxlNjlkIjsKfQoucGUtN3MtcHJpbnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxZiI7Cn0KLnBlLTdzLW5ldHdvcms6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5ZSI7Cn0KLnBlLTdzLXByZXY6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyMCI7Cn0KLnBlLTdzLW11dGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5ZiI7Cn0KLnBlLTdzLXBvd2VyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MjEiOwp9Ci5wZS03cy1tZWRhbDpiZWZvcmUgewoJY29udGVudDogIlxlNmEwIjsKfQoucGUtN3MtcG9ydGZvbGlvOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MjIiOwp9Ci5wZS03cy1saWtlMjpiZWZvcmUgewoJY29udGVudDogIlxlNmExIjsKfQoucGUtN3MtcGx1czpiZWZvcmUgewoJY29udGVudDogIlxlNjIzIjsKfQoucGUtN3MtbGVmdC1hcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlNmEyIjsKfQoucGUtN3MtcGxheTpiZWZvcmUgewoJY29udGVudDogIlxlNjI0IjsKfQoucGUtN3Mta2V5OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YTMiOwp9Ci5wZS03cy1wbGFuZTpiZWZvcmUgewoJY29udGVudDogIlxlNjI1IjsKfQoucGUtN3Mtam95OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YTQiOwp9Ci5wZS03cy1waG90by1nYWxsZXJ5OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MjYiOwp9Ci5wZS03cy1waW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5YiI7Cn0KLnBlLTdzLXBob25lOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MjciOwp9Ci5wZS03cy1wbHVnOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OWEiOwp9Ci5wZS03cy1wZW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyOCI7Cn0KLnBlLTdzLXJpZ2h0LWFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OTkiOwp9Ci5wZS03cy1wYXBlci1wbGFuZTpiZWZvcmUgewoJY29udGVudDogIlxlNjI5IjsKfQoucGUtN3MtZGVsZXRlLXVzZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhNyI7Cn0KLnBlLTdzLXBhaW50OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MmEiOwp9Ci5wZS03cy1ib3R0b20tYXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhOCI7Cn0KLnBlLTdzLW5vdGVib29rOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MmIiOwp9Ci5wZS03cy1ub3RlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MmMiOwp9Ci5wZS03cy1uZXh0OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MmQiOwp9Ci5wZS03cy1uZXdzLXBhcGVyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MmUiOwp9Ci5wZS03cy1tdXNpY2xpc3Q6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyZiI7Cn0KLnBlLTdzLW11c2ljOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MzAiOwp9Ci5wZS03cy1tb3VzZTpiZWZvcmUgewoJY29udGVudDogIlxlNjMxIjsKfQoucGUtN3MtbW9yZTpiZWZvcmUgewoJY29udGVudDogIlxlNjMyIjsKfQoucGUtN3MtbW9vbjpiZWZvcmUgewoJY29udGVudDogIlxlNjMzIjsKfQoucGUtN3MtbW9uaXRvcjpiZWZvcmUgewoJY29udGVudDogIlxlNjM0IjsKfQoucGUtN3MtbWljcm86YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYzNSI7Cn0KLnBlLTdzLW1lbnU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYzNiI7Cn0KLnBlLTdzLW1hcDpiZWZvcmUgewoJY29udGVudDogIlxlNjM3IjsKfQoucGUtN3MtbWFwLW1hcmtlcjpiZWZvcmUgewoJY29udGVudDogIlxlNjM4IjsKfQoucGUtN3MtbWFpbDpiZWZvcmUgewoJY29udGVudDogIlxlNjM5IjsKfQoucGUtN3MtbWFpbC1vcGVuOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2M2EiOwp9Ci5wZS03cy1tYWlsLW9wZW4tZmlsZTpiZWZvcmUgewoJY29udGVudDogIlxlNjNiIjsKfQoucGUtN3MtbWFnbmV0OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2M2MiOwp9Ci5wZS03cy1sb29wOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2M2QiOwp9Ci5wZS03cy1sb29rOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2M2UiOwp9Ci5wZS03cy1sb2NrOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2M2YiOwp9Ci5wZS03cy1saW50ZXJuOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDAiOwp9Ci5wZS03cy1saW5rOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDEiOwp9Ci5wZS03cy1saWtlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDIiOwp9Ci5wZS03cy1saWdodDpiZWZvcmUgewoJY29udGVudDogIlxlNjQzIjsKfQoucGUtN3MtbGVzczpiZWZvcmUgewoJY29udGVudDogIlxlNjQ0IjsKfQoucGUtN3Mta2V5cGFkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDUiOwp9Ci5wZS03cy1qdW5rOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDYiOwp9Ci5wZS03cy1pbmZvOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDciOwp9Ci5wZS03cy1ob21lOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDgiOwp9Ci5wZS03cy1oZWxwMjpiZWZvcmUgewoJY29udGVudDogIlxlNjQ5IjsKfQoucGUtN3MtaGVscDE6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0YSI7Cn0KLnBlLTdzLWdyYXBoMzpiZWZvcmUgewoJY29udGVudDogIlxlNjRiIjsKfQoucGUtN3MtZ3JhcGgyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NGMiOwp9Ci5wZS03cy1ncmFwaDE6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0ZCI7Cn0KLnBlLTdzLWdyYXBoOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NGUiOwp9Ci5wZS03cy1nbG9iYWw6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0ZiI7Cn0KLnBlLTdzLWdsZWFtOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NTAiOwp9Ci5wZS03cy1nbGFzc2VzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NTEiOwp9Ci5wZS03cy1naWZ0OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NTIiOwp9Ci5wZS03cy1mb2xkZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY1MyI7Cn0KLnBlLTdzLWZsYWc6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY1NCI7Cn0KLnBlLTdzLWZpbHRlcjpiZWZvcmUgewoJY29udGVudDogIlxlNjU1IjsKfQoucGUtN3MtZmlsZTpiZWZvcmUgewoJY29udGVudDogIlxlNjU2IjsKfQoucGUtN3MtZXhwYW5kMTpiZWZvcmUgewoJY29udGVudDogIlxlNjU3IjsKfQoucGUtN3MtZXhhcG5kMjpiZWZvcmUgewoJY29udGVudDogIlxlNjU4IjsKfQoucGUtN3MtZWRpdDpiZWZvcmUgewoJY29udGVudDogIlxlNjU5IjsKfQoucGUtN3MtZHJvcDpiZWZvcmUgewoJY29udGVudDogIlxlNjVhIjsKfQoucGUtN3MtZHJhd2VyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NWIiOwp9Ci5wZS03cy1kb3dubG9hZDpiZWZvcmUgewoJY29udGVudDogIlxlNjVjIjsKfQoucGUtN3MtZGlzcGxheTI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY1ZCI7Cn0KLnBlLTdzLWRpc3BsYXkxOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NWUiOwp9Ci5wZS03cy1kaXNrZXR0ZTpiZWZvcmUgewoJY29udGVudDogIlxlNjVmIjsKfQoucGUtN3MtZGF0ZTpiZWZvcmUgewoJY29udGVudDogIlxlNjYwIjsKfQoucGUtN3MtY3VwOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NjEiOwp9Ci5wZS03cy1jdWx0dXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NjIiOwp9Ci5wZS03cy1jcm9wOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NjMiOwp9Ci5wZS03cy1jcmVkaXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2NCI7Cn0KLnBlLTdzLWNvcHktZmlsZTpiZWZvcmUgewoJY29udGVudDogIlxlNjY1IjsKfQoucGUtN3MtY29uZmlnOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NjYiOwp9Ci5wZS03cy1jb21wYXNzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NjciOwp9Ci5wZS03cy1jb21tZW50OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NjgiOwp9Ci5wZS03cy1jb2ZmZWU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2OSI7Cn0KLnBlLTdzLWNsb3VkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NmEiOwp9Ci5wZS03cy1jbG9jazpiZWZvcmUgewoJY29udGVudDogIlxlNjZiIjsKfQoucGUtN3MtY2hlY2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2YyI7Cn0KLnBlLTdzLWNoYXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2ZCI7Cn0KLnBlLTdzLWNhcnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2ZSI7Cn0KLnBlLTdzLWNhbWVyYTpiZWZvcmUgewoJY29udGVudDogIlxlNjZmIjsKfQoucGUtN3MtY2FsbDpiZWZvcmUgewoJY29udGVudDogIlxlNjcwIjsKfQoucGUtN3MtY2FsY3VsYXRvcjpiZWZvcmUgewoJY29udGVudDogIlxlNjcxIjsKfQoucGUtN3MtYnJvd3NlcjpiZWZvcmUgewoJY29udGVudDogIlxlNjcyIjsKfQoucGUtN3MtYm94MjpiZWZvcmUgewoJY29udGVudDogIlxlNjczIjsKfQoucGUtN3MtYm94MTpiZWZvcmUgewoJY29udGVudDogIlxlNjc0IjsKfQoucGUtN3MtYm9va21hcmtzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzUiOwp9Ci5wZS03cy1iaWN5Y2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzYiOwp9Ci5wZS03cy1iZWxsOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzciOwp9Ci5wZS03cy1iYXR0ZXJ5OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzgiOwp9Ci5wZS03cy1iYWxsOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzkiOwp9Ci5wZS03cy1iYWNrOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2N2EiOwp9Ci5wZS03cy1hdHRlbnRpb246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY3YiI7Cn0KLnBlLTdzLWFuY2hvcjpiZWZvcmUgewoJY29udGVudDogIlxlNjdjIjsKfQoucGUtN3MtYWxidW1zOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2N2QiOwp9Ci5wZS03cy1hbGFybTpiZWZvcmUgewoJY29udGVudDogIlxlNjdlIjsKfQoucGUtN3MtYWlycGxheTpiZWZvcmUgewoJY29udGVudDogIlxlNjdmIjsKfQo="}},"time_used":100,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":100,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/product/2x/translate_24dp.png","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.341Z","timestamp":1785123386341,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /images/branding/product/2x/translate_24dp.png HTTP/1.1\r\nHost: www.gstatic.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1842\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 07:17:13 GMT\r\nexpires: Sat, 24 Jul 2027 07:17:13 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 14 Oct 2021 09:08:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 245953\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1842,"size_decoded":2516,"mime_type":"image/png","magic":"PNG image data, 48 x 48, 8-bit/color RGBA, non-interlaced","md5":"c69c796362406f9e11c7f4bf5bb628da","sha1":"e489ce95ab56208090868882113d7416abf46775","sha256":"4dac0026fbfa2615dce30c0af12830863fe885f84387a0147b9e338f548d5d82","sha512":"d3ad560ed0fd29be7d2cc434694f09e5a6fbea8b29c0611aecb54a1b73b4d722c53f42a19dae9e3d5d358444e50fb8fffbc39d67ce751bdbc8c861f6f95d3162","ssdeep":"","tlshash":"4e31f9fd129220437101ade72165eef798347c15f412da60ce65ba389c9fe20ed9a619","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-07-31T12:08:53.703215Z","times_seen":73527,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.861Z","timestamp":1785123385861,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 48320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:19 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:19 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:41 GMT\r\ncontent-type: font/woff2\r\nage: 397566\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":48320,"size_decoded":49133,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48320, version 1.0","md5":"dcf31ebe107435bd68e0164d59e19b87","sha1":"b68160c9333af833fe483928b3ef7128c07a56a0","sha256":"d8e4fe0452aa2076429a9bb5d8757d00a994dd95986cf950e9a1a371b9a072a0","sha512":"130cd52c3cccc36a7029bf92b2ddb363b8b36d206454aacc246739919552fccec5cacbad615ba4ac3817da3e83239371fe51324bdadd08357e3495087f62cb08","ssdeep":"768:Jzqdwl5YV7FVmpudK5a8dF8D8Z7J78VGnNFZEKh02dmSTPe9UiallHcOEi2c0NC1:9q+SYuMaVwZ7oGRNh02dd6UialBcOEpE","tlshash":"1623f218f29471f7edecd4d500a18c72baa528d442f116ed07b8d53ca36ca817a729fb","first_seen":"2025-09-17T00:07:53.723302Z","last_seen":"2026-07-31T13:42:10.650403Z","times_seen":318889,"resource_available":false,"data":"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"}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/bootstrap.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.022Z","timestamp":1785123385022,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/bootstrap.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"9004-65fd8520-8b19cbd67197b3b5;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 9328\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":36868,"size_decoded":9784,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (32003)","md5":"c5b5b2fa19bd66ff23211d9f844e0131","sha1":"791aa054a026bddc0de92bad6cf7a1c6e73713d5","sha256":"2979f9a6e32fc42c3e7406339ee9fe76b31d1b52059776a02b4a7fa6a4fd280a","sha512":"d9ef2aab411371f5912381c9073422037528c8593ab5b3721bea926880592f25bd5dfdec5991cdfe5c5ef5f4e1d54e390e93dfd3bca3f782ac5071d67b8624d4","ssdeep":"768:4UfYD27UwlNHMl9lqNuCPNjhqg8epm5CCJFXflA8Gf3ZTbQ:z/76whqKGvlm3ZXQ","tlshash":"47f29606b23031a147efb1e1525b020a7239696ee906907c78b9daf53db9c48717bf3d","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-07-31T13:13:43.011471Z","times_seen":21693,"resource_available":true,"data":"LyohCiAqIEJvb3RzdHJhcCB2My4zLjYgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MXx8YlswXT4yKXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkgdmVyc2lvbiAxLjkuMSBvciBoaWdoZXIsIGJ1dCBsb3dlciB0aGFuIHZlcnNpb24gMyIpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvb3RzdHJhcCIpLGI9e1dlYmtpdFRyYW5zaXRpb246IndlYmtpdFRyYW5zaXRpb25FbmQiLE1velRyYW5zaXRpb246InRyYW5zaXRpb25lbmQiLE9UcmFuc2l0aW9uOiJvVHJhbnNpdGlvbkVuZCBvdHJhbnNpdGlvbmVuZCIsdHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCJ9O2Zvcih2YXIgYyBpbiBiKWlmKHZvaWQgMCE9PWEuc3R5bGVbY10pcmV0dXJue2VuZDpiW2NdfTtyZXR1cm4hMX1hLmZuLmVtdWxhdGVUcmFuc2l0aW9uRW5kPWZ1bmN0aW9uKGIpe3ZhciBjPSExLGQ9dGhpczthKHRoaXMpLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe2M9ITB9KTt2YXIgZT1mdW5jdGlvbigpe2N8fGEoZCkudHJpZ2dlcihhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpfTtyZXR1cm4gc2V0VGltZW91dChlLGIpLHRoaXN9LGEoZnVuY3Rpb24oKXthLnN1cHBvcnQudHJhbnNpdGlvbj1iKCksYS5zdXBwb3J0LnRyYW5zaXRpb24mJihhLmV2ZW50LnNwZWNpYWwuYnNUcmFuc2l0aW9uRW5kPXtiaW5kVHlwZTphLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsZGVsZWdhdGVUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxoYW5kbGU6ZnVuY3Rpb24oYil7cmV0dXJuIGEoYi50YXJnZXQpLmlzKHRoaXMpP2IuaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpOnZvaWQgMH19KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuYWxlcnQiKTtlfHxjLmRhdGEoImJzLmFsZXJ0IixlPW5ldyBkKHRoaXMpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0uY2FsbChjKX0pfXZhciBjPSdbZGF0YS1kaXNtaXNzPSJhbGVydCJdJyxkPWZ1bmN0aW9uKGIpe2EoYikub24oImNsaWNrIixjLHRoaXMuY2xvc2UpfTtkLlZFUlNJT049IjMuMy42IixkLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGQucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoKXtnLmRldGFjaCgpLnRyaWdnZXIoImNsb3NlZC5icy5hbGVydCIpLnJlbW92ZSgpfXZhciBlPWEodGhpcyksZj1lLmF0dHIoImRhdGEtdGFyZ2V0Iik7Znx8KGY9ZS5hdHRyKCJocmVmIiksZj1mJiZmLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywiIikpO3ZhciBnPWEoZik7YiYmYi5wcmV2ZW50RGVmYXVsdCgpLGcubGVuZ3RofHwoZz1lLmNsb3Nlc3QoIi5hbGVydCIpKSxnLnRyaWdnZXIoYj1hLkV2ZW50KCJjbG9zZS5icy5hbGVydCIpKSxiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoZy5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZy5oYXNDbGFzcygiZmFkZSIpP2cub25lKCJic1RyYW5zaXRpb25FbmQiLGMpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGQuVFJBTlNJVElPTl9EVVJBVElPTik6YygpKX07dmFyIGU9YS5mbi5hbGVydDthLmZuLmFsZXJ0PWIsYS5mbi5hbGVydC5Db25zdHJ1Y3Rvcj1kLGEuZm4uYWxlcnQubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmFsZXJ0PWUsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmFsZXJ0LmRhdGEtYXBpIixjLGQucHJvdG90eXBlLmNsb3NlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmJ1dHRvbiIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiO2V8fGQuZGF0YSgiYnMuYnV0dG9uIixlPW5ldyBjKHRoaXMsZikpLCJ0b2dnbGUiPT1iP2UudG9nZ2xlKCk6YiYmZS5zZXRTdGF0ZShiKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQpLHRoaXMuaXNMb2FkaW5nPSExfTtjLlZFUlNJT049IjMuMy42IixjLkRFRkFVTFRTPXtsb2FkaW5nVGV4dDoibG9hZGluZy4uLiJ9LGMucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGIpe3ZhciBjPSJkaXNhYmxlZCIsZD10aGlzLiRlbGVtZW50LGU9ZC5pcygiaW5wdXQiKT8idmFsIjoiaHRtbCIsZj1kLmRhdGEoKTtiKz0iVGV4dCIsbnVsbD09Zi5yZXNldFRleHQmJmQuZGF0YSgicmVzZXRUZXh0IixkW2VdKCkpLHNldFRpbWVvdXQoYS5wcm94eShmdW5jdGlvbigpe2RbZV0obnVsbD09ZltiXT90aGlzLm9wdGlvbnNbYl06ZltiXSksImxvYWRpbmdUZXh0Ij09Yj8odGhpcy5pc0xvYWRpbmc9ITAsZC5hZGRDbGFzcyhjKS5hdHRyKGMsYykpOnRoaXMuaXNMb2FkaW5nJiYodGhpcy5pc0xvYWRpbmc9ITEsZC5yZW1vdmVDbGFzcyhjKS5yZW1vdmVBdHRyKGMpKX0sdGhpcyksMCl9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbigpe3ZhciBhPSEwLGI9dGhpcy4kZWxlbWVudC5jbG9zZXN0KCdbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXScpO2lmKGIubGVuZ3RoKXt2YXIgYz10aGlzLiRlbGVtZW50LmZpbmQoImlucHV0Iik7InJhZGlvIj09Yy5wcm9wKCJ0eXBlIik/KGMucHJvcCgiY2hlY2tlZCIpJiYoYT0hMSksYi5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuJGVsZW1lbnQuYWRkQ2xhc3MoImFjdGl2ZSIpKToiY2hlY2tib3giPT1jLnByb3AoInR5cGUiKSYmKGMucHJvcCgiY2hlY2tlZCIpIT09dGhpcy4kZWxlbWVudC5oYXNDbGFzcygiYWN0aXZlIikmJihhPSExKSx0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCJhY3RpdmUiKSksYy5wcm9wKCJjaGVja2VkIix0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksYSYmYy50cmlnZ2VyKCJjaGFuZ2UiKX1lbHNlIHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1wcmVzc2VkIiwhdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiYWN0aXZlIikpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLmJ1dHRvbjthLmZuLmJ1dHRvbj1iLGEuZm4uYnV0dG9uLkNvbnN0cnVjdG9yPWMsYS5mbi5idXR0b24ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmJ1dHRvbj1kLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5idXR0b24uZGF0YS1hcGkiLCdbZGF0YS10b2dnbGVePSJidXR0b24iXScsZnVuY3Rpb24oYyl7dmFyIGQ9YShjLnRhcmdldCk7ZC5oYXNDbGFzcygiYnRuIil8fChkPWQuY2xvc2VzdCgiLmJ0biIpKSxiLmNhbGwoZCwidG9nZ2xlIiksYShjLnRhcmdldCkuaXMoJ2lucHV0W3R5cGU9InJhZGlvIl0nKXx8YShjLnRhcmdldCkuaXMoJ2lucHV0W3R5cGU9ImNoZWNrYm94Il0nKXx8Yy5wcmV2ZW50RGVmYXVsdCgpfSkub24oImZvY3VzLmJzLmJ1dHRvbi5kYXRhLWFwaSBibHVyLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihiKXthKGIudGFyZ2V0KS5jbG9zZXN0KCIuYnRuIikudG9nZ2xlQ2xhc3MoImZvY3VzIiwvXmZvY3VzKGluKT8kLy50ZXN0KGIudHlwZSkpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5jYXJvdXNlbCIpLGY9YS5leHRlbmQoe30sYy5ERUZBVUxUUyxkLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGc9InN0cmluZyI9PXR5cGVvZiBiP2I6Zi5zbGlkZTtlfHxkLmRhdGEoImJzLmNhcm91c2VsIixlPW5ldyBjKHRoaXMsZikpLCJudW1iZXIiPT10eXBlb2YgYj9lLnRvKGIpOmc/ZVtnXSgpOmYuaW50ZXJ2YWwmJmUucGF1c2UoKS5jeWNsZSgpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy4kaW5kaWNhdG9ycz10aGlzLiRlbGVtZW50LmZpbmQoIi5jYXJvdXNlbC1pbmRpY2F0b3JzIiksdGhpcy5vcHRpb25zPWMsdGhpcy5wYXVzZWQ9bnVsbCx0aGlzLnNsaWRpbmc9bnVsbCx0aGlzLmludGVydmFsPW51bGwsdGhpcy4kYWN0aXZlPW51bGwsdGhpcy4kaXRlbXM9bnVsbCx0aGlzLm9wdGlvbnMua2V5Ym9hcmQmJnRoaXMuJGVsZW1lbnQub24oImtleWRvd24uYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5rZXlkb3duLHRoaXMpKSwiaG92ZXIiPT10aGlzLm9wdGlvbnMucGF1c2UmJiEoIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpJiZ0aGlzLiRlbGVtZW50Lm9uKCJtb3VzZWVudGVyLmJzLmNhcm91c2VsIixhLnByb3h5KHRoaXMucGF1c2UsdGhpcykpLm9uKCJtb3VzZWxlYXZlLmJzLmNhcm91c2VsIixhLnByb3h5KHRoaXMuY3ljbGUsdGhpcykpfTtjLlZFUlNJT049IjMuMy42IixjLlRSQU5TSVRJT05fRFVSQVRJT049NjAwLGMuREVGQVVMVFM9e2ludGVydmFsOjVlMyxwYXVzZToiaG92ZXIiLHdyYXA6ITAsa2V5Ym9hcmQ6ITB9LGMucHJvdG90eXBlLmtleWRvd249ZnVuY3Rpb24oYSl7aWYoIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoYS50YXJnZXQudGFnTmFtZSkpe3N3aXRjaChhLndoaWNoKXtjYXNlIDM3OnRoaXMucHJldigpO2JyZWFrO2Nhc2UgMzk6dGhpcy5uZXh0KCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59YS5wcmV2ZW50RGVmYXVsdCgpfX0sYy5wcm90b3R5cGUuY3ljbGU9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMSksdGhpcy5pbnRlcnZhbCYmY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwmJiF0aGlzLnBhdXNlZCYmKHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwoYS5wcm94eSh0aGlzLm5leHQsdGhpcyksdGhpcy5vcHRpb25zLmludGVydmFsKSksdGhpc30sYy5wcm90b3R5cGUuZ2V0SXRlbUluZGV4PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLiRpdGVtcz1hLnBhcmVudCgpLmNoaWxkcmVuKCIuaXRlbSIpLHRoaXMuJGl0ZW1zLmluZGV4KGF8fHRoaXMuJGFjdGl2ZSl9LGMucHJvdG90eXBlLmdldEl0ZW1Gb3JEaXJlY3Rpb249ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmdldEl0ZW1JbmRleChiKSxkPSJwcmV2Ij09YSYmMD09PWN8fCJuZXh0Ij09YSYmYz09dGhpcy4kaXRlbXMubGVuZ3RoLTE7aWYoZCYmIXRoaXMub3B0aW9ucy53cmFwKXJldHVybiBiO3ZhciBlPSJwcmV2Ij09YT8tMToxLGY9KGMrZSkldGhpcy4kaXRlbXMubGVuZ3RoO3JldHVybiB0aGlzLiRpdGVtcy5lcShmKX0sYy5wcm90b3R5cGUudG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPXRoaXMuZ2V0SXRlbUluZGV4KHRoaXMuJGFjdGl2ZT10aGlzLiRlbGVtZW50LmZpbmQoIi5pdGVtLmFjdGl2ZSIpKTtyZXR1cm4gYT50aGlzLiRpdGVtcy5sZW5ndGgtMXx8MD5hP3ZvaWQgMDp0aGlzLnNsaWRpbmc/dGhpcy4kZWxlbWVudC5vbmUoInNsaWQuYnMuY2Fyb3VzZWwiLGZ1bmN0aW9uKCl7Yi50byhhKX0pOmM9PWE/dGhpcy5wYXVzZSgpLmN5Y2xlKCk6dGhpcy5zbGlkZShhPmM/Im5leHQiOiJwcmV2Iix0aGlzLiRpdGVtcy5lcShhKSl9LGMucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKGIpe3JldHVybiBifHwodGhpcy5wYXVzZWQ9ITApLHRoaXMuJGVsZW1lbnQuZmluZCgiLm5leHQsIC5wcmV2IikubGVuZ3RoJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpLHRoaXMuY3ljbGUoITApKSx0aGlzLmludGVydmFsPWNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCksdGhpc30sYy5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNsaWRpbmc/dm9pZCAwOnRoaXMuc2xpZGUoIm5leHQiKX0sYy5wcm90b3R5cGUucHJldj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNsaWRpbmc/dm9pZCAwOnRoaXMuc2xpZGUoInByZXYiKX0sYy5wcm90b3R5cGUuc2xpZGU9ZnVuY3Rpb24oYixkKXt2YXIgZT10aGlzLiRlbGVtZW50LmZpbmQoIi5pdGVtLmFjdGl2ZSIpLGY9ZHx8dGhpcy5nZXRJdGVtRm9yRGlyZWN0aW9uKGIsZSksZz10aGlzLmludGVydmFsLGg9Im5leHQiPT1iPyJsZWZ0IjoicmlnaHQiLGk9dGhpcztpZihmLmhhc0NsYXNzKCJhY3RpdmUiKSlyZXR1cm4gdGhpcy5zbGlkaW5nPSExO3ZhciBqPWZbMF0saz1hLkV2ZW50KCJzbGlkZS5icy5jYXJvdXNlbCIse3JlbGF0ZWRUYXJnZXQ6aixkaXJlY3Rpb246aH0pO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihrKSwhay5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7aWYodGhpcy5zbGlkaW5nPSEwLGcmJnRoaXMucGF1c2UoKSx0aGlzLiRpbmRpY2F0b3JzLmxlbmd0aCl7dGhpcy4kaW5kaWNhdG9ycy5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpO3ZhciBsPWEodGhpcy4kaW5kaWNhdG9ycy5jaGlsZHJlbigpW3RoaXMuZ2V0SXRlbUluZGV4KGYpXSk7bCYmbC5hZGRDbGFzcygiYWN0aXZlIil9dmFyIG09YS5FdmVudCgic2xpZC5icy5jYXJvdXNlbCIse3JlbGF0ZWRUYXJnZXQ6aixkaXJlY3Rpb246aH0pO3JldHVybiBhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygic2xpZGUiKT8oZi5hZGRDbGFzcyhiKSxmWzBdLm9mZnNldFdpZHRoLGUuYWRkQ2xhc3MoaCksZi5hZGRDbGFzcyhoKSxlLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe2YucmVtb3ZlQ2xhc3MoW2IsaF0uam9pbigiICIpKS5hZGRDbGFzcygiYWN0aXZlIiksZS5yZW1vdmVDbGFzcyhbImFjdGl2ZSIsaF0uam9pbigiICIpKSxpLnNsaWRpbmc9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe2kuJGVsZW1lbnQudHJpZ2dlcihtKX0sMCl9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pKTooZS5yZW1vdmVDbGFzcygiYWN0aXZlIiksZi5hZGRDbGFzcygiYWN0aXZlIiksdGhpcy5zbGlkaW5nPSExLHRoaXMuJGVsZW1lbnQudHJpZ2dlcihtKSksZyYmdGhpcy5jeWNsZSgpLHRoaXN9fTt2YXIgZD1hLmZuLmNhcm91c2VsO2EuZm4uY2Fyb3VzZWw9YixhLmZuLmNhcm91c2VsLkNvbnN0cnVjdG9yPWMsYS5mbi5jYXJvdXNlbC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uY2Fyb3VzZWw9ZCx0aGlzfTt2YXIgZT1mdW5jdGlvbihjKXt2YXIgZCxlPWEodGhpcyksZj1hKGUuYXR0cigiZGF0YS10YXJnZXQiKXx8KGQ9ZS5hdHRyKCJocmVmIikpJiZkLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIikpO2lmKGYuaGFzQ2xhc3MoImNhcm91c2VsIikpe3ZhciBnPWEuZXh0ZW5kKHt9LGYuZGF0YSgpLGUuZGF0YSgpKSxoPWUuYXR0cigiZGF0YS1zbGlkZS10byIpO2gmJihnLmludGVydmFsPSExKSxiLmNhbGwoZixnKSxoJiZmLmRhdGEoImJzLmNhcm91c2VsIikudG8oaCksYy5wcmV2ZW50RGVmYXVsdCgpfX07YShkb2N1bWVudCkub24oImNsaWNrLmJzLmNhcm91c2VsLmRhdGEtYXBpIiwiW2RhdGEtc2xpZGVdIixlKS5vbigiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZS10b10iLGUpLGEod2luZG93KS5vbigibG9hZCIsZnVuY3Rpb24oKXthKCdbZGF0YS1yaWRlPSJjYXJvdXNlbCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyk7Yi5jYWxsKGMsYy5kYXRhKCkpfSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7dmFyIGMsZD1iLmF0dHIoImRhdGEtdGFyZ2V0Iil8fChjPWIuYXR0cigiaHJlZiIpKSYmYy5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpO3JldHVybiBhKGQpfWZ1bmN0aW9uIGMoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZT1jLmRhdGEoImJzLmNvbGxhcHNlIiksZj1hLmV4dGVuZCh7fSxkLkRFRkFVTFRTLGMuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYik7IWUmJmYudG9nZ2xlJiYvc2hvd3xoaWRlLy50ZXN0KGIpJiYoZi50b2dnbGU9ITEpLGV8fGMuZGF0YSgiYnMuY29sbGFwc2UiLGU9bmV3IGQodGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgZD1mdW5jdGlvbihiLGMpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sZC5ERUZBVUxUUyxjKSx0aGlzLiR0cmlnZ2VyPWEoJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtocmVmPSIjJytiLmlkKyciXSxbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1bZGF0YS10YXJnZXQ9IiMnK2IuaWQrJyJdJyksdGhpcy50cmFuc2l0aW9uaW5nPW51bGwsdGhpcy5vcHRpb25zLnBhcmVudD90aGlzLiRwYXJlbnQ9dGhpcy5nZXRQYXJlbnQoKTp0aGlzLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyh0aGlzLiRlbGVtZW50LHRoaXMuJHRyaWdnZXIpLHRoaXMub3B0aW9ucy50b2dnbGUmJnRoaXMudG9nZ2xlKCl9O2QuVkVSU0lPTj0iMy4zLjYiLGQuVFJBTlNJVElPTl9EVVJBVElPTj0zNTAsZC5ERUZBVUxUUz17dG9nZ2xlOiEwfSxkLnByb3RvdHlwZS5kaW1lbnNpb249ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJ3aWR0aCIpO3JldHVybiBhPyJ3aWR0aCI6ImhlaWdodCJ9LGQucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXtpZighdGhpcy50cmFuc2l0aW9uaW5nJiYhdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSl7dmFyIGIsZT10aGlzLiRwYXJlbnQmJnRoaXMuJHBhcmVudC5jaGlsZHJlbigiLnBhbmVsIikuY2hpbGRyZW4oIi5pbiwgLmNvbGxhcHNpbmciKTtpZighKGUmJmUubGVuZ3RoJiYoYj1lLmRhdGEoImJzLmNvbGxhcHNlIiksYiYmYi50cmFuc2l0aW9uaW5nKSkpe3ZhciBmPWEuRXZlbnQoInNob3cuYnMuY29sbGFwc2UiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoZiksIWYuaXNEZWZhdWx0UHJldmVudGVkKCkpe2UmJmUubGVuZ3RoJiYoYy5jYWxsKGUsImhpZGUiKSxifHxlLmRhdGEoImJzLmNvbGxhcHNlIixudWxsKSk7dmFyIGc9dGhpcy5kaW1lbnNpb24oKTt0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJjb2xsYXBzZSIpLmFkZENsYXNzKCJjb2xsYXBzaW5nIilbZ10oMCkuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHRoaXMuJHRyaWdnZXIucmVtb3ZlQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLnRyYW5zaXRpb25pbmc9MTt2YXIgaD1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2UgaW4iKVtnXSgiIiksdGhpcy50cmFuc2l0aW9uaW5nPTAsdGhpcy4kZWxlbWVudC50cmlnZ2VyKCJzaG93bi5icy5jb2xsYXBzZSIpfTtpZighYS5zdXBwb3J0LnRyYW5zaXRpb24pcmV0dXJuIGguY2FsbCh0aGlzKTt2YXIgaT1hLmNhbWVsQ2FzZShbInNjcm9sbCIsZ10uam9pbigiLSIpKTt0aGlzLiRlbGVtZW50Lm9uZSgiYnNUcmFuc2l0aW9uRW5kIixhLnByb3h5KGgsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGQuVFJBTlNJVElPTl9EVVJBVElPTilbZ10odGhpcy4kZWxlbWVudFswXVtpXSl9fX19LGQucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXtpZighdGhpcy50cmFuc2l0aW9uaW5nJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpKXt2YXIgYj1hLkV2ZW50KCJoaWRlLmJzLmNvbGxhcHNlIik7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpLCFiLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgYz10aGlzLmRpbWVuc2lvbigpO3RoaXMuJGVsZW1lbnRbY10odGhpcy4kZWxlbWVudFtjXSgpKVswXS5vZmZzZXRIZWlnaHQsdGhpcy4kZWxlbWVudC5hZGRDbGFzcygiY29sbGFwc2luZyIpLnJlbW92ZUNsYXNzKCJjb2xsYXBzZSBpbiIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSx0aGlzLiR0cmlnZ2VyLmFkZENsYXNzKCJjb2xsYXBzZWQiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSksdGhpcy50cmFuc2l0aW9uaW5nPTE7dmFyIGU9ZnVuY3Rpb24oKXt0aGlzLnRyYW5zaXRpb25pbmc9MCx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJjb2xsYXBzaW5nIikuYWRkQ2xhc3MoImNvbGxhcHNlIikudHJpZ2dlcigiaGlkZGVuLmJzLmNvbGxhcHNlIil9O3JldHVybiBhLnN1cHBvcnQudHJhbnNpdGlvbj92b2lkIHRoaXMuJGVsZW1lbnRbY10oMCkub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkoZSx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTplLmNhbGwodGhpcyl9fX0sZC5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dGhpc1t0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpPyJoaWRlIjoic2hvdyJdKCl9LGQucHJvdG90eXBlLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiBhKHRoaXMub3B0aW9ucy5wYXJlbnQpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXBhcmVudD0iJyt0aGlzLm9wdGlvbnMucGFyZW50KyciXScpLmVhY2goYS5wcm94eShmdW5jdGlvbihjLGQpe3ZhciBlPWEoZCk7dGhpcy5hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MoYihlKSxlKX0sdGhpcykpLmVuZCgpfSxkLnByb3RvdHlwZS5hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3M9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmhhc0NsYXNzKCJpbiIpO2EuYXR0cigiYXJpYS1leHBhbmRlZCIsYyksYi50b2dnbGVDbGFzcygiY29sbGFwc2VkIiwhYykuYXR0cigiYXJpYS1leHBhbmRlZCIsYyl9O3ZhciBlPWEuZm4uY29sbGFwc2U7YS5mbi5jb2xsYXBzZT1jLGEuZm4uY29sbGFwc2UuQ29uc3RydWN0b3I9ZCxhLmZuLmNvbGxhcHNlLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5jb2xsYXBzZT1lLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5jb2xsYXBzZS5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXScsZnVuY3Rpb24oZCl7dmFyIGU9YSh0aGlzKTtlLmF0dHIoImRhdGEtdGFyZ2V0Iil8fGQucHJldmVudERlZmF1bHQoKTt2YXIgZj1iKGUpLGc9Zi5kYXRhKCJicy5jb2xsYXBzZSIpLGg9Zz8idG9nZ2xlIjplLmRhdGEoKTtjLmNhbGwoZixoKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXt2YXIgYz1iLmF0dHIoImRhdGEtdGFyZ2V0Iik7Y3x8KGM9Yi5hdHRyKCJocmVmIiksYz1jJiYvI1tBLVphLXpdLy50ZXN0KGMpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywiIikpO3ZhciBkPWMmJmEoYyk7cmV0dXJuIGQmJmQubGVuZ3RoP2Q6Yi5wYXJlbnQoKX1mdW5jdGlvbiBjKGMpe2MmJjM9PT1jLndoaWNofHwoYShlKS5yZW1vdmUoKSxhKGYpLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9YihkKSxmPXtyZWxhdGVkVGFyZ2V0OnRoaXN9O2UuaGFzQ2xhc3MoIm9wZW4iKSYmKGMmJiJjbGljayI9PWMudHlwZSYmL2lucHV0fHRleHRhcmVhL2kudGVzdChjLnRhcmdldC50YWdOYW1lKSYmYS5jb250YWlucyhlWzBdLGMudGFyZ2V0KXx8KGUudHJpZ2dlcihjPWEuRXZlbnQoImhpZGUuYnMuZHJvcGRvd24iLGYpKSxjLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoZC5hdHRyKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSxlLnJlbW92ZUNsYXNzKCJvcGVuIikudHJpZ2dlcihhLkV2ZW50KCJoaWRkZW4uYnMuZHJvcGRvd24iLGYpKSkpKX0pKX1mdW5jdGlvbiBkKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGQ9Yy5kYXRhKCJicy5kcm9wZG93biIpO2R8fGMuZGF0YSgiYnMuZHJvcGRvd24iLGQ9bmV3IGcodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZFtiXS5jYWxsKGMpfSl9dmFyIGU9Ii5kcm9wZG93bi1iYWNrZHJvcCIsZj0nW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJyxnPWZ1bmN0aW9uKGIpe2EoYikub24oImNsaWNrLmJzLmRyb3Bkb3duIix0aGlzLnRvZ2dsZSl9O2cuVkVSU0lPTj0iMy4zLjYiLGcucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2lmKCFlLmlzKCIuZGlzYWJsZWQsIDpkaXNhYmxlZCIpKXt2YXIgZj1iKGUpLGc9Zi5oYXNDbGFzcygib3BlbiIpO2lmKGMoKSwhZyl7Im9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJiFmLmNsb3Nlc3QoIi5uYXZiYXItbmF2IikubGVuZ3RoJiZhKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcygiZHJvcGRvd24tYmFja2Ryb3AiKS5pbnNlcnRBZnRlcihhKHRoaXMpKS5vbigiY2xpY2siLGMpO3ZhciBoPXtyZWxhdGVkVGFyZ2V0OnRoaXN9O2lmKGYudHJpZ2dlcihkPWEuRXZlbnQoInNob3cuYnMuZHJvcGRvd24iLGgpKSxkLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybjtlLnRyaWdnZXIoImZvY3VzIikuYXR0cigiYXJpYS1leHBhbmRlZCIsInRydWUiKSxmLnRvZ2dsZUNsYXNzKCJvcGVuIikudHJpZ2dlcihhLkV2ZW50KCJzaG93bi5icy5kcm9wZG93biIsaCkpfXJldHVybiExfX0sZy5wcm90b3R5cGUua2V5ZG93bj1mdW5jdGlvbihjKXtpZigvKDM4fDQwfDI3fDMyKS8udGVzdChjLndoaWNoKSYmIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoYy50YXJnZXQudGFnTmFtZSkpe3ZhciBkPWEodGhpcyk7aWYoYy5wcmV2ZW50RGVmYXVsdCgpLGMuc3RvcFByb3BhZ2F0aW9uKCksIWQuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpe3ZhciBlPWIoZCksZz1lLmhhc0NsYXNzKCJvcGVuIik7aWYoIWcmJjI3IT1jLndoaWNofHxnJiYyNz09Yy53aGljaClyZXR1cm4gMjc9PWMud2hpY2gmJmUuZmluZChmKS50cmlnZ2VyKCJmb2N1cyIpLGQudHJpZ2dlcigiY2xpY2siKTt2YXIgaD0iIGxpOm5vdCguZGlzYWJsZWQpOnZpc2libGUgYSIsaT1lLmZpbmQoIi5kcm9wZG93bi1tZW51IitoKTtpZihpLmxlbmd0aCl7dmFyIGo9aS5pbmRleChjLnRhcmdldCk7Mzg9PWMud2hpY2gmJmo+MCYmai0tLDQwPT1jLndoaWNoJiZqPGkubGVuZ3RoLTEmJmorKyx+anx8KGo9MCksaS5lcShqKS50cmlnZ2VyKCJmb2N1cyIpfX19fTt2YXIgaD1hLmZuLmRyb3Bkb3duO2EuZm4uZHJvcGRvd249ZCxhLmZuLmRyb3Bkb3duLkNvbnN0cnVjdG9yPWcsYS5mbi5kcm9wZG93bi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uZHJvcGRvd249aCx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGMpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93biBmb3JtIixmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpfSkub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIixmLGcucHJvdG90eXBlLnRvZ2dsZSkub24oImtleWRvd24uYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUua2V5ZG93bikub24oImtleWRvd24uYnMuZHJvcGRvd24uZGF0YS1hcGkiLCIuZHJvcGRvd24tbWVudSIsZy5wcm90b3R5cGUua2V5ZG93bil9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIsZCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPWEodGhpcyksZj1lLmRhdGEoImJzLm1vZGFsIiksZz1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGUuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYik7Znx8ZS5kYXRhKCJicy5tb2RhbCIsZj1uZXcgYyh0aGlzLGcpKSwic3RyaW5nIj09dHlwZW9mIGI/ZltiXShkKTpnLnNob3cmJmYuc2hvdyhkKX0pfXZhciBjPWZ1bmN0aW9uKGIsYyl7dGhpcy5vcHRpb25zPWMsdGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLiRkaWFsb2c9dGhpcy4kZWxlbWVudC5maW5kKCIubW9kYWwtZGlhbG9nIiksdGhpcy4kYmFja2Ryb3A9bnVsbCx0aGlzLmlzU2hvd249bnVsbCx0aGlzLm9yaWdpbmFsQm9keVBhZD1udWxsLHRoaXMuc2Nyb2xsYmFyV2lkdGg9MCx0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEsdGhpcy5vcHRpb25zLnJlbW90ZSYmdGhpcy4kZWxlbWVudC5maW5kKCIubW9kYWwtY29udGVudCIpLmxvYWQodGhpcy5vcHRpb25zLnJlbW90ZSxhLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJsb2FkZWQuYnMubW9kYWwiKX0sdGhpcykpfTtjLlZFUlNJT049IjMuMy42IixjLlRSQU5TSVRJT05fRFVSQVRJT049MzAwLGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsYy5ERUZBVUxUUz17YmFja2Ryb3A6ITAsa2V5Ym9hcmQ6ITAsc2hvdzohMH0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlzU2hvd24/dGhpcy5oaWRlKCk6dGhpcy5zaG93KGEpfSxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT1hLkV2ZW50KCJzaG93LmJzLm1vZGFsIix7cmVsYXRlZFRhcmdldDpifSk7dGhpcy4kZWxlbWVudC50cmlnZ2VyKGUpLHRoaXMuaXNTaG93bnx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHRoaXMuaXNTaG93bj0hMCx0aGlzLmNoZWNrU2Nyb2xsYmFyKCksdGhpcy5zZXRTY3JvbGxiYXIoKSx0aGlzLiRib2R5LmFkZENsYXNzKCJtb2RhbC1vcGVuIiksdGhpcy5lc2NhcGUoKSx0aGlzLnJlc2l6ZSgpLHRoaXMuJGVsZW1lbnQub24oImNsaWNrLmRpc21pc3MuYnMubW9kYWwiLCdbZGF0YS1kaXNtaXNzPSJtb2RhbCJdJyxhLnByb3h5KHRoaXMuaGlkZSx0aGlzKSksdGhpcy4kZGlhbG9nLm9uKCJtb3VzZWRvd24uZGlzbWlzcy5icy5tb2RhbCIsZnVuY3Rpb24oKXtkLiRlbGVtZW50Lm9uZSgibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIixmdW5jdGlvbihiKXthKGIudGFyZ2V0KS5pcyhkLiRlbGVtZW50KSYmKGQuaWdub3JlQmFja2Ryb3BDbGljaz0hMCl9KX0pLHRoaXMuYmFja2Ryb3AoZnVuY3Rpb24oKXt2YXIgZT1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZC4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpO2QuJGVsZW1lbnQucGFyZW50KCkubGVuZ3RofHxkLiRlbGVtZW50LmFwcGVuZFRvKGQuJGJvZHkpLGQuJGVsZW1lbnQuc2hvdygpLnNjcm9sbFRvcCgwKSxkLmFkanVzdERpYWxvZygpLGUmJmQuJGVsZW1lbnRbMF0ub2Zmc2V0V2lkdGgsZC4kZWxlbWVudC5hZGRDbGFzcygiaW4iKSxkLmVuZm9yY2VGb2N1cygpO3ZhciBmPWEuRXZlbnQoInNob3duLmJzLm1vZGFsIix7cmVsYXRlZFRhcmdldDpifSk7ZT9kLiRkaWFsb2cub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmQuJGVsZW1lbnQudHJpZ2dlcigiZm9jdXMiKS50cmlnZ2VyKGYpfSkpfSxjLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKGIpe2ImJmIucHJldmVudERlZmF1bHQoKSxiPWEuRXZlbnQoImhpZGUuYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksdGhpcy5pc1Nob3duJiYhYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKHRoaXMuaXNTaG93bj0hMSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksYShkb2N1bWVudCkub2ZmKCJmb2N1c2luLmJzLm1vZGFsIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiaW4iKS5vZmYoImNsaWNrLmRpc21pc3MuYnMubW9kYWwiKS5vZmYoIm1vdXNldXAuZGlzbWlzcy5icy5tb2RhbCIpLHRoaXMuJGRpYWxvZy5vZmYoIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIiksYS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRlbGVtZW50Lm9uZSgiYnNUcmFuc2l0aW9uRW5kIixhLnByb3h5KHRoaXMuaGlkZU1vZGFsLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOnRoaXMuaGlkZU1vZGFsKCkpfSxjLnByb3RvdHlwZS5lbmZvcmNlRm9jdXM9ZnVuY3Rpb24oKXthKGRvY3VtZW50KS5vZmYoImZvY3VzaW4uYnMubW9kYWwiKS5vbigiZm9jdXNpbi5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXt0aGlzLiRlbGVtZW50WzBdPT09YS50YXJnZXR8fHRoaXMuJGVsZW1lbnQuaGFzKGEudGFyZ2V0KS5sZW5ndGh8fHRoaXMuJGVsZW1lbnQudHJpZ2dlcigiZm9jdXMiKX0sdGhpcykpfSxjLnByb3RvdHlwZS5lc2NhcGU9ZnVuY3Rpb24oKXt0aGlzLmlzU2hvd24mJnRoaXMub3B0aW9ucy5rZXlib2FyZD90aGlzLiRlbGVtZW50Lm9uKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiLGEucHJveHkoZnVuY3Rpb24oYSl7Mjc9PWEud2hpY2gmJnRoaXMuaGlkZSgpfSx0aGlzKSk6dGhpcy5pc1Nob3dufHx0aGlzLiRlbGVtZW50Lm9mZigia2V5ZG93bi5kaXNtaXNzLmJzLm1vZGFsIil9LGMucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93bj9hKHdpbmRvdykub24oInJlc2l6ZS5icy5tb2RhbCIsYS5wcm94eSh0aGlzLmhhbmRsZVVwZGF0ZSx0aGlzKSk6YSh3aW5kb3cpLm9mZigicmVzaXplLmJzLm1vZGFsIil9LGMucHJvdG90eXBlLmhpZGVNb2RhbD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy4kZWxlbWVudC5oaWRlKCksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe2EuJGJvZHkucmVtb3ZlQ2xhc3MoIm1vZGFsLW9wZW4iKSxhLnJlc2V0QWRqdXN0bWVudHMoKSxhLnJlc2V0U2Nyb2xsYmFyKCksYS4kZWxlbWVudC50cmlnZ2VyKCJoaWRkZW4uYnMubW9kYWwiKX0pfSxjLnByb3RvdHlwZS5yZW1vdmVCYWNrZHJvcD1mdW5jdGlvbigpe3RoaXMuJGJhY2tkcm9wJiZ0aGlzLiRiYWNrZHJvcC5yZW1vdmUoKSx0aGlzLiRiYWNrZHJvcD1udWxsfSxjLnByb3RvdHlwZS5iYWNrZHJvcD1mdW5jdGlvbihiKXt2YXIgZD10aGlzLGU9dGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpPyJmYWRlIjoiIjtpZih0aGlzLmlzU2hvd24mJnRoaXMub3B0aW9ucy5iYWNrZHJvcCl7dmFyIGY9YS5zdXBwb3J0LnRyYW5zaXRpb24mJmU7aWYodGhpcy4kYmFja2Ryb3A9YShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYWRkQ2xhc3MoIm1vZGFsLWJhY2tkcm9wICIrZSkuYXBwZW5kVG8odGhpcy4kYm9keSksdGhpcy4kZWxlbWVudC5vbigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pZ25vcmVCYWNrZHJvcENsaWNrP3ZvaWQodGhpcy5pZ25vcmVCYWNrZHJvcENsaWNrPSExKTp2b2lkKGEudGFyZ2V0PT09YS5jdXJyZW50VGFyZ2V0JiYoInN0YXRpYyI9PXRoaXMub3B0aW9ucy5iYWNrZHJvcD90aGlzLiRlbGVtZW50WzBdLmZvY3VzKCk6dGhpcy5oaWRlKCkpKX0sdGhpcykpLGYmJnRoaXMuJGJhY2tkcm9wWzBdLm9mZnNldFdpZHRoLHRoaXMuJGJhY2tkcm9wLmFkZENsYXNzKCJpbiIpLCFiKXJldHVybjtmP3RoaXMuJGJhY2tkcm9wLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixiKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLkJBQ0tEUk9QX1RSQU5TSVRJT05fRFVSQVRJT04pOmIoKX1lbHNlIGlmKCF0aGlzLmlzU2hvd24mJnRoaXMuJGJhY2tkcm9wKXt0aGlzLiRiYWNrZHJvcC5yZW1vdmVDbGFzcygiaW4iKTt2YXIgZz1mdW5jdGlvbigpe2QucmVtb3ZlQmFja2Ryb3AoKSxiJiZiKCl9O2Euc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGcpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6ZygpfWVsc2UgYiYmYigpfSxjLnByb3RvdHlwZS5oYW5kbGVVcGRhdGU9ZnVuY3Rpb24oKXt0aGlzLmFkanVzdERpYWxvZygpfSxjLnByb3RvdHlwZS5hZGp1c3REaWFsb2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50WzBdLnNjcm9sbEhlaWdodD5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0O3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDohdGhpcy5ib2R5SXNPdmVyZmxvd2luZyYmYT90aGlzLnNjcm9sbGJhcldpZHRoOiIiLHBhZGRpbmdSaWdodDp0aGlzLmJvZHlJc092ZXJmbG93aW5nJiYhYT90aGlzLnNjcm9sbGJhcldpZHRoOiIifSl9LGMucHJvdG90eXBlLnJlc2V0QWRqdXN0bWVudHM9ZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LmNzcyh7cGFkZGluZ0xlZnQ6IiIscGFkZGluZ1JpZ2h0OiIifSl9LGMucHJvdG90eXBlLmNoZWNrU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LmlubmVyV2lkdGg7aWYoIWEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthPWIucmlnaHQtTWF0aC5hYnMoYi5sZWZ0KX10aGlzLmJvZHlJc092ZXJmbG93aW5nPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg8YSx0aGlzLnNjcm9sbGJhcldpZHRoPXRoaXMubWVhc3VyZVNjcm9sbGJhcigpfSxjLnByb3RvdHlwZS5zZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT1wYXJzZUludCh0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIpfHwwLDEwKTt0aGlzLm9yaWdpbmFsQm9keVBhZD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodHx8IiIsdGhpcy5ib2R5SXNPdmVyZmxvd2luZyYmdGhpcy4kYm9keS5jc3MoInBhZGRpbmctcmlnaHQiLGErdGhpcy5zY3JvbGxiYXJXaWR0aCl9LGMucHJvdG90eXBlLnJlc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dGhpcy4kYm9keS5jc3MoInBhZGRpbmctcmlnaHQiLHRoaXMub3JpZ2luYWxCb2R5UGFkKX0sYy5wcm90b3R5cGUubWVhc3VyZVNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NOYW1lPSJtb2RhbC1zY3JvbGxiYXItbWVhc3VyZSIsdGhpcy4kYm9keS5hcHBlbmQoYSk7dmFyIGI9YS5vZmZzZXRXaWR0aC1hLmNsaWVudFdpZHRoO3JldHVybiB0aGlzLiRib2R5WzBdLnJlbW92ZUNoaWxkKGEpLGJ9O3ZhciBkPWEuZm4ubW9kYWw7YS5mbi5tb2RhbD1iLGEuZm4ubW9kYWwuQ29uc3RydWN0b3I9YyxhLmZuLm1vZGFsLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5tb2RhbD1kLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5tb2RhbC5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0ibW9kYWwiXScsZnVuY3Rpb24oYyl7dmFyIGQ9YSh0aGlzKSxlPWQuYXR0cigiaHJlZiIpLGY9YShkLmF0dHIoImRhdGEtdGFyZ2V0Iil8fGUmJmUucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSksZz1mLmRhdGEoImJzLm1vZGFsIik/InRvZ2dsZSI6YS5leHRlbmQoe3JlbW90ZTohLyMvLnRlc3QoZSkmJmV9LGYuZGF0YSgpLGQuZGF0YSgpKTtkLmlzKCJhIikmJmMucHJldmVudERlZmF1bHQoKSxmLm9uZSgic2hvdy5icy5tb2RhbCIsZnVuY3Rpb24oYSl7YS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8Zi5vbmUoImhpZGRlbi5icy5tb2RhbCIsZnVuY3Rpb24oKXtkLmlzKCI6dmlzaWJsZSIpJiZkLnRyaWdnZXIoImZvY3VzIil9KX0pLGIuY2FsbChmLGcsdGhpcyl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnRvb2x0aXAiKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjsoZXx8IS9kZXN0cm95fGhpZGUvLnRlc3QoYikpJiYoZXx8ZC5kYXRhKCJicy50b29sdGlwIixlPW5ldyBjKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpKX0pfXZhciBjPWZ1bmN0aW9uKGEsYil7dGhpcy50eXBlPW51bGwsdGhpcy5vcHRpb25zPW51bGwsdGhpcy5lbmFibGVkPW51bGwsdGhpcy50aW1lb3V0PW51bGwsdGhpcy5ob3ZlclN0YXRlPW51bGwsdGhpcy4kZWxlbWVudD1udWxsLHRoaXMuaW5TdGF0ZT1udWxsLHRoaXMuaW5pdCgidG9vbHRpcCIsYSxiKX07Yy5WRVJTSU9OPSIzLjMuNiIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXthbmltYXRpb246ITAscGxhY2VtZW50OiJ0b3AiLHNlbGVjdG9yOiExLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0b29sdGlwIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJ0b29sdGlwLWFycm93Ij48L2Rpdj48ZGl2IGNsYXNzPSJ0b29sdGlwLWlubmVyIj48L2Rpdj48L2Rpdj4nLHRyaWdnZXI6ImhvdmVyIGZvY3VzIix0aXRsZToiIixkZWxheTowLGh0bWw6ITEsY29udGFpbmVyOiExLHZpZXdwb3J0OntzZWxlY3RvcjoiYm9keSIscGFkZGluZzowfX0sYy5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihiLGMsZCl7aWYodGhpcy5lbmFibGVkPSEwLHRoaXMudHlwZT1iLHRoaXMuJGVsZW1lbnQ9YShjKSx0aGlzLm9wdGlvbnM9dGhpcy5nZXRPcHRpb25zKGQpLHRoaXMuJHZpZXdwb3J0PXRoaXMub3B0aW9ucy52aWV3cG9ydCYmYShhLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLnZpZXdwb3J0KT90aGlzLm9wdGlvbnMudmlld3BvcnQuY2FsbCh0aGlzLHRoaXMuJGVsZW1lbnQpOnRoaXMub3B0aW9ucy52aWV3cG9ydC5zZWxlY3Rvcnx8dGhpcy5vcHRpb25zLnZpZXdwb3J0KSx0aGlzLmluU3RhdGU9e2NsaWNrOiExLGhvdmVyOiExLGZvY3VzOiExfSx0aGlzLiRlbGVtZW50WzBdaW5zdGFuY2VvZiBkb2N1bWVudC5jb25zdHJ1Y3RvciYmIXRoaXMub3B0aW9ucy5zZWxlY3Rvcil0aHJvdyBuZXcgRXJyb3IoImBzZWxlY3RvcmAgb3B0aW9uIG11c3QgYmUgc3BlY2lmaWVkIHdoZW4gaW5pdGlhbGl6aW5nICIrdGhpcy50eXBlKyIgb24gdGhlIHdpbmRvdy5kb2N1bWVudCBvYmplY3QhIik7Zm9yKHZhciBlPXRoaXMub3B0aW9ucy50cmlnZ2VyLnNwbGl0KCIgIiksZj1lLmxlbmd0aDtmLS07KXt2YXIgZz1lW2ZdO2lmKCJjbGljayI9PWcpdGhpcy4kZWxlbWVudC5vbigiY2xpY2suIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy50b2dnbGUsdGhpcykpO2Vsc2UgaWYoIm1hbnVhbCIhPWcpe3ZhciBoPSJob3ZlciI9PWc/Im1vdXNlZW50ZXIiOiJmb2N1c2luIixpPSJob3ZlciI9PWc/Im1vdXNlbGVhdmUiOiJmb2N1c291dCI7dGhpcy4kZWxlbWVudC5vbihoKyIuIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy5lbnRlcix0aGlzKSksdGhpcy4kZWxlbWVudC5vbihpKyIuIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy5sZWF2ZSx0aGlzKSl9fXRoaXMub3B0aW9ucy5zZWxlY3Rvcj90aGlzLl9vcHRpb25zPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyx7dHJpZ2dlcjoibWFudWFsIixzZWxlY3RvcjoiIn0pOnRoaXMuZml4VGl0bGUoKX0sYy5wcm90b3R5cGUuZ2V0RGVmYXVsdHM9ZnVuY3Rpb24oKXtyZXR1cm4gYy5ERUZBVUxUU30sYy5wcm90b3R5cGUuZ2V0T3B0aW9ucz1mdW5jdGlvbihiKXtyZXR1cm4gYj1hLmV4dGVuZCh7fSx0aGlzLmdldERlZmF1bHRzKCksdGhpcy4kZWxlbWVudC5kYXRhKCksYiksYi5kZWxheSYmIm51bWJlciI9PXR5cGVvZiBiLmRlbGF5JiYoYi5kZWxheT17c2hvdzpiLmRlbGF5LGhpZGU6Yi5kZWxheX0pLGJ9LGMucHJvdG90eXBlLmdldERlbGVnYXRlT3B0aW9ucz1mdW5jdGlvbigpe3ZhciBiPXt9LGM9dGhpcy5nZXREZWZhdWx0cygpO3JldHVybiB0aGlzLl9vcHRpb25zJiZhLmVhY2godGhpcy5fb3B0aW9ucyxmdW5jdGlvbihhLGQpe2NbYV0hPWQmJihiW2FdPWQpfSksYn0sYy5wcm90b3R5cGUuZW50ZXI9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNpbiI9PWIudHlwZT8iZm9jdXMiOiJob3ZlciJdPSEwKSxjLnRpcCgpLmhhc0NsYXNzKCJpbiIpfHwiaW4iPT1jLmhvdmVyU3RhdGU/dm9pZChjLmhvdmVyU3RhdGU9ImluIik6KGNsZWFyVGltZW91dChjLnRpbWVvdXQpLGMuaG92ZXJTdGF0ZT0iaW4iLGMub3B0aW9ucy5kZWxheSYmYy5vcHRpb25zLmRlbGF5LnNob3c/dm9pZChjLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpeyJpbiI9PWMuaG92ZXJTdGF0ZSYmYy5zaG93KCl9LGMub3B0aW9ucy5kZWxheS5zaG93KSk6Yy5zaG93KCkpfSxjLnByb3RvdHlwZS5pc0luU3RhdGVUcnVlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIHRoaXMuaW5TdGF0ZSlpZih0aGlzLmluU3RhdGVbYV0pcmV0dXJuITA7cmV0dXJuITF9LGMucHJvdG90eXBlLmxlYXZlPWZ1bmN0aW9uKGIpe3ZhciBjPWIgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yP2I6YShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlKTtyZXR1cm4gY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSksYiBpbnN0YW5jZW9mIGEuRXZlbnQmJihjLmluU3RhdGVbImZvY3Vzb3V0Ij09Yi50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITEpLGMuaXNJblN0YXRlVHJ1ZSgpP3ZvaWQgMDooY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJvdXQiLGMub3B0aW9ucy5kZWxheSYmYy5vcHRpb25zLmRlbGF5LmhpZGU/dm9pZChjLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpeyJvdXQiPT1jLmhvdmVyU3RhdGUmJmMuaGlkZSgpfSxjLm9wdGlvbnMuZGVsYXkuaGlkZSkpOmMuaGlkZSgpKX0sYy5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3ZhciBiPWEuRXZlbnQoInNob3cuYnMuIit0aGlzLnR5cGUpO2lmKHRoaXMuaGFzQ29udGVudCgpJiZ0aGlzLmVuYWJsZWQpe3RoaXMuJGVsZW1lbnQudHJpZ2dlcihiKTt2YXIgZD1hLmNvbnRhaW5zKHRoaXMuJGVsZW1lbnRbMF0ub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy4kZWxlbWVudFswXSk7aWYoYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8IWQpcmV0dXJuO3ZhciBlPXRoaXMsZj10aGlzLnRpcCgpLGc9dGhpcy5nZXRVSUQodGhpcy50eXBlKTt0aGlzLnNldENvbnRlbnQoKSxmLmF0dHIoImlkIixnKSx0aGlzLiRlbGVtZW50LmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLGcpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJmYuYWRkQ2xhc3MoImZhZGUiKTt2YXIgaD0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5vcHRpb25zLnBsYWNlbWVudD90aGlzLm9wdGlvbnMucGxhY2VtZW50LmNhbGwodGhpcyxmWzBdLHRoaXMuJGVsZW1lbnRbMF0pOnRoaXMub3B0aW9ucy5wbGFjZW1lbnQsaT0vXHM/YXV0bz9ccz8vaSxqPWkudGVzdChoKTtqJiYoaD1oLnJlcGxhY2UoaSwiIil8fCJ0b3AiKSxmLmRldGFjaCgpLmNzcyh7dG9wOjAsbGVmdDowLGRpc3BsYXk6ImJsb2NrIn0pLmFkZENsYXNzKGgpLmRhdGEoImJzLiIrdGhpcy50eXBlLHRoaXMpLHRoaXMub3B0aW9ucy5jb250YWluZXI/Zi5hcHBlbmRUbyh0aGlzLm9wdGlvbnMuY29udGFpbmVyKTpmLmluc2VydEFmdGVyKHRoaXMuJGVsZW1lbnQpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcigiaW5zZXJ0ZWQuYnMuIit0aGlzLnR5cGUpO3ZhciBrPXRoaXMuZ2V0UG9zaXRpb24oKSxsPWZbMF0ub2Zmc2V0V2lkdGgsbT1mWzBdLm9mZnNldEhlaWdodDtpZihqKXt2YXIgbj1oLG89dGhpcy5nZXRQb3NpdGlvbih0aGlzLiR2aWV3cG9ydCk7aD0iYm90dG9tIj09aCYmay5ib3R0b20rbT5vLmJvdHRvbT8idG9wIjoidG9wIj09aCYmay50b3AtbTxvLnRvcD8iYm90dG9tIjoicmlnaHQiPT1oJiZrLnJpZ2h0K2w+by53aWR0aD8ibGVmdCI6ImxlZnQiPT1oJiZrLmxlZnQtbDxvLmxlZnQ/InJpZ2h0IjpoLGYucmVtb3ZlQ2xhc3MobikuYWRkQ2xhc3MoaCl9dmFyIHA9dGhpcy5nZXRDYWxjdWxhdGVkT2Zmc2V0KGgsayxsLG0pO3RoaXMuYXBwbHlQbGFjZW1lbnQocCxoKTt2YXIgcT1mdW5jdGlvbigpe3ZhciBhPWUuaG92ZXJTdGF0ZTtlLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLiIrZS50eXBlKSxlLmhvdmVyU3RhdGU9bnVsbCwib3V0Ij09YSYmZS5sZWF2ZShlKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJHRpcC5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLHEpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6cSgpfX0sYy5wcm90b3R5cGUuYXBwbHlQbGFjZW1lbnQ9ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLnRpcCgpLGU9ZFswXS5vZmZzZXRXaWR0aCxmPWRbMF0ub2Zmc2V0SGVpZ2h0LGc9cGFyc2VJbnQoZC5jc3MoIm1hcmdpbi10b3AiKSwxMCksaD1wYXJzZUludChkLmNzcygibWFyZ2luLWxlZnQiKSwxMCk7aXNOYU4oZykmJihnPTApLGlzTmFOKGgpJiYoaD0wKSxiLnRvcCs9ZyxiLmxlZnQrPWgsYS5vZmZzZXQuc2V0T2Zmc2V0KGRbMF0sYS5leHRlbmQoe3VzaW5nOmZ1bmN0aW9uKGEpe2QuY3NzKHt0b3A6TWF0aC5yb3VuZChhLnRvcCksbGVmdDpNYXRoLnJvdW5kKGEubGVmdCl9KX19LGIpLDApLGQuYWRkQ2xhc3MoImluIik7dmFyIGk9ZFswXS5vZmZzZXRXaWR0aCxqPWRbMF0ub2Zmc2V0SGVpZ2h0OyJ0b3AiPT1jJiZqIT1mJiYoYi50b3A9Yi50b3ArZi1qKTt2YXIgaz10aGlzLmdldFZpZXdwb3J0QWRqdXN0ZWREZWx0YShjLGIsaSxqKTtrLmxlZnQ/Yi5sZWZ0Kz1rLmxlZnQ6Yi50b3ArPWsudG9wO3ZhciBsPS90b3B8Ym90dG9tLy50ZXN0KGMpLG09bD8yKmsubGVmdC1lK2k6MiprLnRvcC1mK2osbj1sPyJvZmZzZXRXaWR0aCI6Im9mZnNldEhlaWdodCI7ZC5vZmZzZXQoYiksdGhpcy5yZXBsYWNlQXJyb3cobSxkWzBdW25dLGwpfSxjLnByb3RvdHlwZS5yZXBsYWNlQXJyb3c9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuYXJyb3coKS5jc3MoYz8ibGVmdCI6InRvcCIsNTAqKDEtYS9iKSsiJSIpLmNzcyhjPyJ0b3AiOiJsZWZ0IiwiIil9LGMucHJvdG90eXBlLnNldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnRpcCgpLGI9dGhpcy5nZXRUaXRsZSgpO2EuZmluZCgiLnRvb2x0aXAtaW5uZXIiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLnJlbW92ZUNsYXNzKCJmYWRlIGluIHRvcCBib3R0b20gbGVmdCByaWdodCIpfSxjLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoKXsiaW4iIT1lLmhvdmVyU3RhdGUmJmYuZGV0YWNoKCksZS4kZWxlbWVudC5yZW1vdmVBdHRyKCJhcmlhLWRlc2NyaWJlZGJ5IikudHJpZ2dlcigiaGlkZGVuLmJzLiIrZS50eXBlKSxiJiZiKCl9dmFyIGU9dGhpcyxmPWEodGhpcy4kdGlwKSxnPWEuRXZlbnQoImhpZGUuYnMuIit0aGlzLnR5cGUpO3JldHVybiB0aGlzLiRlbGVtZW50LnRyaWdnZXIoZyksZy5pc0RlZmF1bHRQcmV2ZW50ZWQoKT92b2lkIDA6KGYucmVtb3ZlQ2xhc3MoImluIiksYS5zdXBwb3J0LnRyYW5zaXRpb24mJmYuaGFzQ2xhc3MoImZhZGUiKT9mLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixkKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmQoKSx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzKX0sYy5wcm90b3R5cGUuZml4VGl0bGU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50OyhhLmF0dHIoInRpdGxlIil8fCJzdHJpbmciIT10eXBlb2YgYS5hdHRyKCJkYXRhLW9yaWdpbmFsLXRpdGxlIikpJiZhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiLGEuYXR0cigidGl0bGUiKXx8IiIpLmF0dHIoInRpdGxlIiwiIil9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfSxjLnByb3RvdHlwZS5nZXRQb3NpdGlvbj1mdW5jdGlvbihiKXtiPWJ8fHRoaXMuJGVsZW1lbnQ7dmFyIGM9YlswXSxkPSJCT0RZIj09Yy50YWdOYW1lLGU9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtudWxsPT1lLndpZHRoJiYoZT1hLmV4dGVuZCh7fSxlLHt3aWR0aDplLnJpZ2h0LWUubGVmdCxoZWlnaHQ6ZS5ib3R0b20tZS50b3B9KSk7dmFyIGY9ZD97dG9wOjAsbGVmdDowfTpiLm9mZnNldCgpLGc9e3Njcm9sbDpkP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOmIuc2Nyb2xsVG9wKCl9LGg9ZD97d2lkdGg6YSh3aW5kb3cpLndpZHRoKCksaGVpZ2h0OmEod2luZG93KS5oZWlnaHQoKX06bnVsbDtyZXR1cm4gYS5leHRlbmQoe30sZSxnLGgsZil9LGMucHJvdG90eXBlLmdldENhbGN1bGF0ZWRPZmZzZXQ9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuImJvdHRvbSI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToidG9wIj09YT97dG9wOmIudG9wLWQsbGVmdDpiLmxlZnQrYi53aWR0aC8yLWMvMn06ImxlZnQiPT1hP3t0b3A6Yi50b3ArYi5oZWlnaHQvMi1kLzIsbGVmdDpiLmxlZnQtY306e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdCtiLndpZHRofX0sYy5wcm90b3R5cGUuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXt0b3A6MCxsZWZ0OjB9O2lmKCF0aGlzLiR2aWV3cG9ydClyZXR1cm4gZTt2YXIgZj10aGlzLm9wdGlvbnMudmlld3BvcnQmJnRoaXMub3B0aW9ucy52aWV3cG9ydC5wYWRkaW5nfHwwLGc9dGhpcy5nZXRQb3NpdGlvbih0aGlzLiR2aWV3cG9ydCk7aWYoL3JpZ2h0fGxlZnQvLnRlc3QoYSkpe3ZhciBoPWIudG9wLWYtZy5zY3JvbGwsaT1iLnRvcCtmLWcuc2Nyb2xsK2Q7aDxnLnRvcD9lLnRvcD1nLnRvcC1oOmk+Zy50b3ArZy5oZWlnaHQmJihlLnRvcD1nLnRvcCtnLmhlaWdodC1pKX1lbHNle3ZhciBqPWIubGVmdC1mLGs9Yi5sZWZ0K2YrYztqPGcubGVmdD9lLmxlZnQ9Zy5sZWZ0LWo6az5nLnJpZ2h0JiYoZS5sZWZ0PWcubGVmdCtnLndpZHRoLWspfXJldHVybiBlfSxjLnByb3RvdHlwZS5nZXRUaXRsZT1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kZWxlbWVudCxjPXRoaXMub3B0aW9ucztyZXR1cm4gYT1iLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKXx8KCJmdW5jdGlvbiI9PXR5cGVvZiBjLnRpdGxlP2MudGl0bGUuY2FsbChiWzBdKTpjLnRpdGxlKX0sYy5wcm90b3R5cGUuZ2V0VUlEPWZ1bmN0aW9uKGEpe2RvIGErPX5+KDFlNipNYXRoLnJhbmRvbSgpKTt3aGlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhKSk7cmV0dXJuIGF9LGMucHJvdG90eXBlLnRpcD1mdW5jdGlvbigpe2lmKCF0aGlzLiR0aXAmJih0aGlzLiR0aXA9YSh0aGlzLm9wdGlvbnMudGVtcGxhdGUpLDEhPXRoaXMuJHRpcC5sZW5ndGgpKXRocm93IG5ldyBFcnJvcih0aGlzLnR5cGUrIiBgdGVtcGxhdGVgIG9wdGlvbiBtdXN0IGNvbnNpc3Qgb2YgZXhhY3RseSAxIHRvcC1sZXZlbCBlbGVtZW50ISIpO3JldHVybiB0aGlzLiR0aXB9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi50b29sdGlwLWFycm93Iil9LGMucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMH0sYy5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMX0sYy5wcm90b3R5cGUudG9nZ2xlRW5hYmxlZD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hdGhpcy5lbmFibGVkfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztiJiYoYz1hKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpLGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpKSxiPyhjLmluU3RhdGUuY2xpY2s9IWMuaW5TdGF0ZS5jbGljayxjLmlzSW5TdGF0ZVRydWUoKT9jLmVudGVyKGMpOmMubGVhdmUoYykpOmMudGlwKCkuaGFzQ2xhc3MoImluIik/Yy5sZWF2ZShjKTpjLmVudGVyKGMpfSxjLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KSx0aGlzLmhpZGUoZnVuY3Rpb24oKXthLiRlbGVtZW50Lm9mZigiLiIrYS50eXBlKS5yZW1vdmVEYXRhKCJicy4iK2EudHlwZSksYS4kdGlwJiZhLiR0aXAuZGV0YWNoKCksYS4kdGlwPW51bGwsYS4kYXJyb3c9bnVsbCxhLiR2aWV3cG9ydD1udWxsfSl9O3ZhciBkPWEuZm4udG9vbHRpcDthLmZuLnRvb2x0aXA9YixhLmZuLnRvb2x0aXAuQ29uc3RydWN0b3I9YyxhLmZuLnRvb2x0aXAubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRvb2x0aXA9ZCx0aGlzfX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnBvcG92ZXIiKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjsoZXx8IS9kZXN0cm95fGhpZGUvLnRlc3QoYikpJiYoZXx8ZC5kYXRhKCJicy5wb3BvdmVyIixlPW5ldyBjKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpKX0pfXZhciBjPWZ1bmN0aW9uKGEsYil7dGhpcy5pbml0KCJwb3BvdmVyIixhLGIpfTtpZighYS5mbi50b29sdGlwKXRocm93IG5ldyBFcnJvcigiUG9wb3ZlciByZXF1aXJlcyB0b29sdGlwLmpzIik7Yy5WRVJTSU9OPSIzLjMuNiIsYy5ERUZBVUxUUz1hLmV4dGVuZCh7fSxhLmZuLnRvb2x0aXAuQ29uc3RydWN0b3IuREVGQVVMVFMse3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGgzIGNsYXNzPSJwb3BvdmVyLXRpdGxlIj48L2gzPjxkaXYgY2xhc3M9InBvcG92ZXItY29udGVudCI+PC9kaXY+PC9kaXY+J30pLGMucHJvdG90eXBlPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5wcm90b3R5cGUpLGMucHJvdG90eXBlLmNvbnN0cnVjdG9yPWMsYy5wcm90b3R5cGUuZ2V0RGVmYXVsdHM9ZnVuY3Rpb24oKXtyZXR1cm4gYy5ERUZBVUxUU30sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCksYz10aGlzLmdldENvbnRlbnQoKTthLmZpbmQoIi5wb3BvdmVyLXRpdGxlIilbdGhpcy5vcHRpb25zLmh0bWw/Imh0bWwiOiJ0ZXh0Il0oYiksYS5maW5kKCIucG9wb3Zlci1jb250ZW50IikuY2hpbGRyZW4oKS5kZXRhY2goKS5lbmQoKVt0aGlzLm9wdGlvbnMuaHRtbD8ic3RyaW5nIj09dHlwZW9mIGM/Imh0bWwiOiJhcHBlbmQiOiJ0ZXh0Il0oYyksYS5yZW1vdmVDbGFzcygiZmFkZSB0b3AgYm90dG9tIGxlZnQgcmlnaHQgaW4iKSxhLmZpbmQoIi5wb3BvdmVyLXRpdGxlIikuaHRtbCgpfHxhLmZpbmQoIi5wb3BvdmVyLXRpdGxlIikuaGlkZSgpfSxjLnByb3RvdHlwZS5oYXNDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VGl0bGUoKXx8dGhpcy5nZXRDb250ZW50KCl9LGMucHJvdG90eXBlLmdldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50LGI9dGhpcy5vcHRpb25zO3JldHVybiBhLmF0dHIoImRhdGEtY29udGVudCIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGIuY29udGVudD9iLmNvbnRlbnQuY2FsbChhWzBdKTpiLmNvbnRlbnQpfSxjLnByb3RvdHlwZS5hcnJvdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRhcnJvdz10aGlzLiRhcnJvd3x8dGhpcy50aXAoKS5maW5kKCIuYXJyb3ciKX07dmFyIGQ9YS5mbi5wb3BvdmVyO2EuZm4ucG9wb3Zlcj1iLGEuZm4ucG9wb3Zlci5Db25zdHJ1Y3Rvcj1jLGEuZm4ucG9wb3Zlci5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4ucG9wb3Zlcj1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihjLGQpe3RoaXMuJGJvZHk9YShkb2N1bWVudC5ib2R5KSx0aGlzLiRzY3JvbGxFbGVtZW50PWEoYShjKS5pcyhkb2N1bWVudC5ib2R5KT93aW5kb3c6YyksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGIuREVGQVVMVFMsZCksdGhpcy5zZWxlY3Rvcj0odGhpcy5vcHRpb25zLnRhcmdldHx8IiIpKyIgLm5hdiBsaSA+IGEiLHRoaXMub2Zmc2V0cz1bXSx0aGlzLnRhcmdldHM9W10sdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLnNjcm9sbEhlaWdodD0wLHRoaXMuJHNjcm9sbEVsZW1lbnQub24oInNjcm9sbC5icy5zY3JvbGxzcHkiLGEucHJveHkodGhpcy5wcm9jZXNzLHRoaXMpKSx0aGlzLnJlZnJlc2goKSx0aGlzLnByb2Nlc3MoKX1mdW5jdGlvbiBjKGMpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5zY3JvbGxzcHkiKSxmPSJvYmplY3QiPT10eXBlb2YgYyYmYztlfHxkLmRhdGEoImJzLnNjcm9sbHNweSIsZT1uZXcgYih0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGMmJmVbY10oKX0pfWIuVkVSU0lPTj0iMy4zLjYiLGIuREVGQVVMVFM9e29mZnNldDoxMH0sYi5wcm90b3R5cGUuZ2V0U2Nyb2xsSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHNjcm9sbEVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0fHxNYXRoLm1heCh0aGlzLiRib2R5WzBdLnNjcm9sbEhlaWdodCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0KX0sYi5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3ZhciBiPXRoaXMsYz0ib2Zmc2V0IixkPTA7dGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLnNjcm9sbEhlaWdodD10aGlzLmdldFNjcm9sbEhlaWdodCgpLGEuaXNXaW5kb3codGhpcy4kc2Nyb2xsRWxlbWVudFswXSl8fChjPSJwb3NpdGlvbiIsZD10aGlzLiRzY3JvbGxFbGVtZW50LnNjcm9sbFRvcCgpKSx0aGlzLiRib2R5LmZpbmQodGhpcy5zZWxlY3RvcikubWFwKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKSxlPWIuZGF0YSgidGFyZ2V0Iil8fGIuYXR0cigiaHJlZiIpLGY9L14jLi8udGVzdChlKSYmYShlKTtyZXR1cm4gZiYmZi5sZW5ndGgmJmYuaXMoIjp2aXNpYmxlIikmJltbZltjXSgpLnRvcCtkLGVdXXx8bnVsbH0pLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYVswXS1iWzBdfSkuZWFjaChmdW5jdGlvbigpe2Iub2Zmc2V0cy5wdXNoKHRoaXNbMF0pLGIudGFyZ2V0cy5wdXNoKHRoaXNbMV0pfSl9LGIucHJvdG90eXBlLnByb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYSxiPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkrdGhpcy5vcHRpb25zLm9mZnNldCxjPXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksZD10aGlzLm9wdGlvbnMub2Zmc2V0K2MtdGhpcy4kc2Nyb2xsRWxlbWVudC5oZWlnaHQoKSxlPXRoaXMub2Zmc2V0cyxmPXRoaXMudGFyZ2V0cyxnPXRoaXMuYWN0aXZlVGFyZ2V0O2lmKHRoaXMuc2Nyb2xsSGVpZ2h0IT1jJiZ0aGlzLnJlZnJlc2goKSxiPj1kKXJldHVybiBnIT0oYT1mW2YubGVuZ3RoLTFdKSYmdGhpcy5hY3RpdmF0ZShhKTtpZihnJiZiPGVbMF0pcmV0dXJuIHRoaXMuYWN0aXZlVGFyZ2V0PW51bGwsdGhpcy5jbGVhcigpO2ZvcihhPWUubGVuZ3RoO2EtLTspZyE9ZlthXSYmYj49ZVthXSYmKHZvaWQgMD09PWVbYSsxXXx8YjxlW2ErMV0pJiZ0aGlzLmFjdGl2YXRlKGZbYV0pfSxiLnByb3RvdHlwZS5hY3RpdmF0ZT1mdW5jdGlvbihiKXt0aGlzLmFjdGl2ZVRhcmdldD1iLHRoaXMuY2xlYXIoKTt2YXIgYz10aGlzLnNlbGVjdG9yKydbZGF0YS10YXJnZXQ9IicrYisnIl0sJyt0aGlzLnNlbGVjdG9yKydbaHJlZj0iJytiKyciXScsZD1hKGMpLnBhcmVudHMoImxpIikuYWRkQ2xhc3MoImFjdGl2ZSIpOwpkLnBhcmVudCgiLmRyb3Bkb3duLW1lbnUiKS5sZW5ndGgmJihkPWQuY2xvc2VzdCgibGkuZHJvcGRvd24iKS5hZGRDbGFzcygiYWN0aXZlIikpLGQudHJpZ2dlcigiYWN0aXZhdGUuYnMuc2Nyb2xsc3B5Iil9LGIucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7YSh0aGlzLnNlbGVjdG9yKS5wYXJlbnRzVW50aWwodGhpcy5vcHRpb25zLnRhcmdldCwiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKX07dmFyIGQ9YS5mbi5zY3JvbGxzcHk7YS5mbi5zY3JvbGxzcHk9YyxhLmZuLnNjcm9sbHNweS5Db25zdHJ1Y3Rvcj1iLGEuZm4uc2Nyb2xsc3B5Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5zY3JvbGxzcHk9ZCx0aGlzfSxhKHdpbmRvdykub24oImxvYWQuYnMuc2Nyb2xsc3B5LmRhdGEtYXBpIixmdW5jdGlvbigpe2EoJ1tkYXRhLXNweT0ic2Nyb2xsIl0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKTtjLmNhbGwoYixiLmRhdGEoKSl9KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudGFiIik7ZXx8ZC5kYXRhKCJicy50YWIiLGU9bmV3IGModGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpfSl9dmFyIGM9ZnVuY3Rpb24oYil7dGhpcy5lbGVtZW50PWEoYil9O2MuVkVSU0lPTj0iMy4zLjYiLGMuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsYy5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3ZhciBiPXRoaXMuZWxlbWVudCxjPWIuY2xvc2VzdCgidWw6bm90KC5kcm9wZG93bi1tZW51KSIpLGQ9Yi5kYXRhKCJ0YXJnZXQiKTtpZihkfHwoZD1iLmF0dHIoImhyZWYiKSxkPWQmJmQucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSksIWIucGFyZW50KCJsaSIpLmhhc0NsYXNzKCJhY3RpdmUiKSl7dmFyIGU9Yy5maW5kKCIuYWN0aXZlOmxhc3QgYSIpLGY9YS5FdmVudCgiaGlkZS5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmJbMF19KSxnPWEuRXZlbnQoInNob3cuYnMudGFiIix7cmVsYXRlZFRhcmdldDplWzBdfSk7aWYoZS50cmlnZ2VyKGYpLGIudHJpZ2dlcihnKSwhZy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmIWYuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBoPWEoZCk7dGhpcy5hY3RpdmF0ZShiLmNsb3Nlc3QoImxpIiksYyksdGhpcy5hY3RpdmF0ZShoLGgucGFyZW50KCksZnVuY3Rpb24oKXtlLnRyaWdnZXIoe3R5cGU6ImhpZGRlbi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6YlswXX0pLGIudHJpZ2dlcih7dHlwZToic2hvd24uYnMudGFiIixyZWxhdGVkVGFyZ2V0OmVbMF19KX0pfX19LGMucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIsZCxlKXtmdW5jdGlvbiBmKCl7Zy5yZW1vdmVDbGFzcygiYWN0aXZlIikuZmluZCgiPiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIikuZW5kKCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJ0YWIiXScpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSxiLmFkZENsYXNzKCJhY3RpdmUiKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLGg/KGJbMF0ub2Zmc2V0V2lkdGgsYi5hZGRDbGFzcygiaW4iKSk6Yi5yZW1vdmVDbGFzcygiZmFkZSIpLGIucGFyZW50KCIuZHJvcGRvd24tbWVudSIpLmxlbmd0aCYmYi5jbG9zZXN0KCJsaS5kcm9wZG93biIpLmFkZENsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLGUmJmUoKX12YXIgZz1kLmZpbmQoIj4gLmFjdGl2ZSIpLGg9ZSYmYS5zdXBwb3J0LnRyYW5zaXRpb24mJihnLmxlbmd0aCYmZy5oYXNDbGFzcygiZmFkZSIpfHwhIWQuZmluZCgiPiAuZmFkZSIpLmxlbmd0aCk7Zy5sZW5ndGgmJmg/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZikuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTpmKCksZy5yZW1vdmVDbGFzcygiaW4iKX07dmFyIGQ9YS5mbi50YWI7YS5mbi50YWI9YixhLmZuLnRhYi5Db25zdHJ1Y3Rvcj1jLGEuZm4udGFiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi50YWI9ZCx0aGlzfTt2YXIgZT1mdW5jdGlvbihjKXtjLnByZXZlbnREZWZhdWx0KCksYi5jYWxsKGEodGhpcyksInNob3ciKX07YShkb2N1bWVudCkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0idGFiIl0nLGUpLm9uKCJjbGljay5icy50YWIuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9InBpbGwiXScsZSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5hZmZpeCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiO2V8fGQuZGF0YSgiYnMuYWZmaXgiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgYz1mdW5jdGlvbihiLGQpe3RoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQpLHRoaXMuJHRhcmdldD1hKHRoaXMub3B0aW9ucy50YXJnZXQpLm9uKCJzY3JvbGwuYnMuYWZmaXguZGF0YS1hcGkiLGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpKS5vbigiY2xpY2suYnMuYWZmaXguZGF0YS1hcGkiLGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uV2l0aEV2ZW50TG9vcCx0aGlzKSksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuYWZmaXhlZD1udWxsLHRoaXMudW5waW49bnVsbCx0aGlzLnBpbm5lZE9mZnNldD1udWxsLHRoaXMuY2hlY2tQb3NpdGlvbigpfTtjLlZFUlNJT049IjMuMy42IixjLlJFU0VUPSJhZmZpeCBhZmZpeC10b3AgYWZmaXgtYm90dG9tIixjLkRFRkFVTFRTPXtvZmZzZXQ6MCx0YXJnZXQ6d2luZG93fSxjLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT10aGlzLiR0YXJnZXQuc2Nyb2xsVG9wKCksZj10aGlzLiRlbGVtZW50Lm9mZnNldCgpLGc9dGhpcy4kdGFyZ2V0LmhlaWdodCgpO2lmKG51bGwhPWMmJiJ0b3AiPT10aGlzLmFmZml4ZWQpcmV0dXJuIGM+ZT8idG9wIjohMTtpZigiYm90dG9tIj09dGhpcy5hZmZpeGVkKXJldHVybiBudWxsIT1jP2UrdGhpcy51bnBpbjw9Zi50b3A/ITE6ImJvdHRvbSI6YS1kPj1lK2c/ITE6ImJvdHRvbSI7dmFyIGg9bnVsbD09dGhpcy5hZmZpeGVkLGk9aD9lOmYudG9wLGo9aD9nOmI7cmV0dXJuIG51bGwhPWMmJmM+PWU/InRvcCI6bnVsbCE9ZCYmaStqPj1hLWQ/ImJvdHRvbSI6ITF9LGMucHJvdG90eXBlLmdldFBpbm5lZE9mZnNldD1mdW5jdGlvbigpe2lmKHRoaXMucGlubmVkT2Zmc2V0KXJldHVybiB0aGlzLnBpbm5lZE9mZnNldDt0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKGMuUkVTRVQpLmFkZENsYXNzKCJhZmZpeCIpO3ZhciBhPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxiPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCk7cmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0PWIudG9wLWF9LGMucHJvdG90eXBlLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wPWZ1bmN0aW9uKCl7c2V0VGltZW91dChhLnByb3h5KHRoaXMuY2hlY2tQb3NpdGlvbix0aGlzKSwxKX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikpe3ZhciBiPXRoaXMuJGVsZW1lbnQuaGVpZ2h0KCksZD10aGlzLm9wdGlvbnMub2Zmc2V0LGU9ZC50b3AsZj1kLmJvdHRvbSxnPU1hdGgubWF4KGEoZG9jdW1lbnQpLmhlaWdodCgpLGEoZG9jdW1lbnQuYm9keSkuaGVpZ2h0KCkpOyJvYmplY3QiIT10eXBlb2YgZCYmKGY9ZT1kKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZC50b3AodGhpcy4kZWxlbWVudCkpLCJmdW5jdGlvbiI9PXR5cGVvZiBmJiYoZj1kLmJvdHRvbSh0aGlzLiRlbGVtZW50KSk7dmFyIGg9dGhpcy5nZXRTdGF0ZShnLGIsZSxmKTtpZih0aGlzLmFmZml4ZWQhPWgpe251bGwhPXRoaXMudW5waW4mJnRoaXMuJGVsZW1lbnQuY3NzKCJ0b3AiLCIiKTt2YXIgaT0iYWZmaXgiKyhoPyItIitoOiIiKSxqPWEuRXZlbnQoaSsiLmJzLmFmZml4Iik7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGopLGouaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO3RoaXMuYWZmaXhlZD1oLHRoaXMudW5waW49ImJvdHRvbSI9PWg/dGhpcy5nZXRQaW5uZWRPZmZzZXQoKTpudWxsLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoaSkudHJpZ2dlcihpLnJlcGxhY2UoImFmZml4IiwiYWZmaXhlZCIpKyIuYnMuYWZmaXgiKX0iYm90dG9tIj09aCYmdGhpcy4kZWxlbWVudC5vZmZzZXQoe3RvcDpnLWItZn0pfX07dmFyIGQ9YS5mbi5hZmZpeDthLmZuLmFmZml4PWIsYS5mbi5hZmZpeC5Db25zdHJ1Y3Rvcj1jLGEuZm4uYWZmaXgubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmFmZml4PWQsdGhpc30sYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXNweT0iYWZmaXgiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGQ9Yy5kYXRhKCk7ZC5vZmZzZXQ9ZC5vZmZzZXR8fHt9LG51bGwhPWQub2Zmc2V0Qm90dG9tJiYoZC5vZmZzZXQuYm90dG9tPWQub2Zmc2V0Qm90dG9tKSxudWxsIT1kLm9mZnNldFRvcCYmKGQub2Zmc2V0LnRvcD1kLm9mZnNldFRvcCksYi5jYWxsKGMsZCl9KX0pfShqUXVlcnkpOw=="}},"time_used":370,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":364,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.587Z","timestamp":1785123386587,"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":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722 HTTP/1.1\r\nHost: translate.google.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-type: image/gif; charset=utf-8\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 03:36:26 GMT\r\ncross-origin-resource-policy: cross-origin\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncross-origin-opener-policy: same-origin\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\r\ncontent-security-policy: script-src 'nonce-CYHkSnJkugUQxVgiPjC6UQ' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /_/TranslateApiHttp/cspreport;worker-src 'self', require-trusted-types-for 'script';report-uri /_/TranslateApiHttp/cspreport\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\nreporting-endpoints: default=\"/_/TranslateApiHttp/web-reports?context=eJzj4tDikmLw15BiEOLh2LVk9mU2gQVz16xjVlJKyi-MLylKzCvOSSxJLU4tKkstijcyMDIzMDcy0jMwji8wAAARdRJi\"\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: __Secure-ENID=35.SE=FKyaIIbbDOv8XjuHgHlGVvmGnz7cyXV8HeCboZrsJfhqHvSFIb6uuUpmp3Le7cG-1uHJ8M_sPmnuMRHgrHZUN8eRX5aLHqU-ZozQZOxbLCKFgV5GaxB3FoRHx7mRh-_9skbuLgEpqgGQW3aQTlE2REeCyz3UxlhbwWFsDgDT93EHRw4Jsp57nbRZRc4JQTGqYdpfS7bBxSedz-2_6XBWGsyx8yAiCnEawVNHevJTtJO7; expires=Thu, 26-Aug-2027 19:54:44 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"image/gif; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-31T13:42:13.00563Z","times_seen":17635411,"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":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.navigation.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.229Z","timestamp":1785123385229,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.navigation.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"65f5-65fd8520-cab1e817d9440b8f;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6652\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":26101,"size_decoded":7108,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (25862), with CRLF line terminators","md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.073108Z","times_seen":1645,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuMiBFWFRFTlNJT04gLSBOQVZJR0FUSU9ODQogKiBAdmVyc2lvbjogMS4zLjUgKDA2LjA0LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWpRdWVyeS5mbi5yZXZvbHV0aW9uLGM9Yi5pc19tb2JpbGUoKSxkPXthbGlhczoiTmF2aWdhdGlvbiBNaW4gSlMiLG5hbWU6InJldm9sdXRpb24uZXh0ZW5zaW9ucy5uYXZpZ2F0aW9uLm1pbi5qcyIsbWluX2NvcmU6IjUuNC4wIix2ZXJzaW9uOiIxLjMuNSJ9O2pRdWVyeS5leHRlbmQoITAsYix7aGlkZVVuSGlkZU5hdjpmdW5jdGlvbihhKXt2YXIgYj1hLmMud2lkdGgoKSxjPWEubmF2aWdhdGlvbi5hcnJvd3MsZD1hLm5hdmlnYXRpb24uYnVsbGV0cyxlPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGY9YS5uYXZpZ2F0aW9uLnRhYnM7bShjKSYmeShhLmMuZmluZCgiLnRwYXJyb3dzIiksYy5oaWRlX3VuZGVyLGIsYy5oaWRlX292ZXIpLG0oZCkmJnkoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksZC5oaWRlX3VuZGVyLGIsZC5oaWRlX292ZXIpLG0oZSkmJnkoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxlLmhpZGVfdW5kZXIsYixlLmhpZGVfb3ZlciksbShmKSYmeShhLmMucGFyZW50KCkuZmluZCgiLnRwLXRhYnMiKSxmLmhpZGVfdW5kZXIsYixmLmhpZGVfb3ZlcikseChhKX0scmVzaXplVGh1bWJzVGFiczpmdW5jdGlvbihhLGIpe2lmKGEubmF2aWdhdGlvbiYmYS5uYXZpZ2F0aW9uLnRhYnMuZW5hYmxlfHxhLm5hdmlnYXRpb24mJmEubmF2aWdhdGlvbi50aHVtYm5haWxzLmVuYWJsZSl7dmFyIGM9KGpRdWVyeSh3aW5kb3cpLndpZHRoKCktNDgwKS81MDAsZD1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsZT1hLm5hdmlnYXRpb24udGFicyxnPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGg9YS5uYXZpZ2F0aW9uLmJ1bGxldHM7aWYoZC5wYXVzZSgpLGM9Yz4xPzE6YzwwPzA6YyxtKGUpJiYoYnx8ZS53aWR0aD5lLm1pbl93aWR0aCkmJmYoYyxkLGEuYyxlLGEuc2xpZGVhbW91bnQsInRhYiIpLG0oZykmJihifHxnLndpZHRoPmcubWluX3dpZHRoKSYmZihjLGQsYS5jLGcsYS5zbGlkZWFtb3VudCwidGh1bWIiKSxtKGgpJiZiKXt2YXIgaT1hLmMuZmluZCgiLnRwLWJ1bGxldHMiKTtpLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPWErMSxkPWIub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApLGU9Yi5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApOyJ2ZXJ0aWNhbCI9PT1oLmRpcmVjdGlvbj8oYi5jc3Moe3RvcDooYy0xKSplKyJweCIsbGVmdDoiMHB4In0pLGkuY3NzKHtoZWlnaHQ6KGMtMSkqZStiLm91dGVySGVpZ2h0KCksd2lkdGg6Yi5vdXRlcldpZHRoKCl9KSk6KGIuY3NzKHtsZWZ0OihjLTEpKmQrInB4Iix0b3A6IjBweCJ9KSxpLmNzcyh7d2lkdGg6KGMtMSkqZCtiLm91dGVyV2lkdGgoKSxoZWlnaHQ6Yi5vdXRlckhlaWdodCgpfSkpfSl9ZC5wbGF5KCkseChhKX1yZXR1cm4hMH0sdXBkYXRlTmF2SW5kZXhlczpmdW5jdGlvbihhKXtmdW5jdGlvbiBkKGEpe2MuZmluZChhKS5sZW5naHQ+MCYmYy5maW5kKGEpLmVhY2goZnVuY3Rpb24oYSl7alF1ZXJ5KHRoaXMpLmRhdGEoImxpaW5kZXgiLGEpfSl9dmFyIGM9YS5jO2QoIi50cC10YWIiKSxkKCIudHAtYnVsbGV0IiksZCgiLnRwLXRodW1iIiksYi5yZXNpemVUaHVtYnNUYWJzKGEsITApLGIubWFuYWdlTmF2aWdhdGlvbihhKX0sbWFuYWdlTmF2aWdhdGlvbjpmdW5jdGlvbihhKXt2YXIgYz1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJsZWZ0IiksZD1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJyaWdodCIpO20oYS5uYXZpZ2F0aW9uLmJ1bGxldHMpJiYoImZ1bGxzY3JlZW4iIT1hLnNsaWRlckxheW91dCYmImZ1bGx3aWR0aCIhPWEuc2xpZGVyTGF5b3V0JiYoYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXRfb2xkPXZvaWQgMD09PWEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldDphLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQsYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXQ9ImNlbnRlciI9PT1hLm5hdmlnYXRpb24uYnVsbGV0cy5oX2FsaWduP2EubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLzItZC8yOmEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLWQpLHQoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksYS5uYXZpZ2F0aW9uLmJ1bGxldHMsYSkpLG0oYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMpJiZ0KGEuYy5wYXJlbnQoKS5maW5kKCIudHAtdGh1bWJzIiksYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsYSksbShhLm5hdmlnYXRpb24udGFicykmJnQoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMsYSksbShhLm5hdmlnYXRpb24uYXJyb3dzKSYmKCJmdWxsc2NyZWVuIiE9YS5zbGlkZXJMYXlvdXQmJiJmdWxsd2lkdGgiIT1hLnNsaWRlckxheW91dCYmKGEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ6YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ9InJpZ2h0Ij09PWEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX2FsaWduP2EubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXRfb2xkK2MsYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0PSJyaWdodCI9PT1hLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0LmhfYWxpZ24/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCtjKSx0KGEuYy5maW5kKCIudHAtbGVmdGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0LGEpLHQoYS5jLmZpbmQoIi50cC1yaWdodGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodCxhKSksbShhLm5hdmlnYXRpb24udGh1bWJuYWlscykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxhLm5hdmlnYXRpb24udGh1bWJuYWlscyksbShhLm5hdmlnYXRpb24udGFicykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMpfSxjcmVhdGVOYXZpZ2F0aW9uOmZ1bmN0aW9uKGEsZil7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZCkuY2hlY2spcmV0dXJuITE7dmFyIGc9YS5wYXJlbnQoKSxqPWYubmF2aWdhdGlvbi5hcnJvd3Msbj1mLm5hdmlnYXRpb24uYnVsbGV0cyxyPWYubmF2aWdhdGlvbi50aHVtYm5haWxzLHM9Zi5uYXZpZ2F0aW9uLnRhYnMsdD1tKGopLHY9bShuKSx4PW0ocikseT1tKHMpO2goYSxmKSxpKGEsZiksdCYmcShhLGosZiksZi5saS5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWpRdWVyeShmLmxpW2YubGkubGVuZ3RoLTEtYl0pLGQ9alF1ZXJ5KHRoaXMpO3YmJihmLm5hdmlnYXRpb24uYnVsbGV0cy5ydGw/dShhLG4sYyxmKTp1KGEsbixkLGYpKSx4JiYoZi5uYXZpZ2F0aW9uLnRodW1ibmFpbHMucnRsP3coYSxyLGMsInRwLXRodW1iIixmKTp3KGEscixkLCJ0cC10aHVtYiIsZikpLHkmJihmLm5hdmlnYXRpb24udGFicy5ydGw/dyhhLHMsYywidHAtdGFiIixmKTp3KGEscyxkLCJ0cC10YWIiLGYpKX0pLGEuYmluZCgicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCByZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIixmdW5jdGlvbigpe3ZhciBiPTA9PWEuZmluZCgiLm5leHQtcmV2c2xpZGUiKS5sZW5ndGg/YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTphLmZpbmQoIi5uZXh0LXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTthLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/YS5hZGRDbGFzcygic2VsZWN0ZWQiKTphLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpfSksZy5maW5kKCIudHAtdGh1bWIsIC50cC10YWIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/KGEuYWRkQ2xhc3MoInNlbGVjdGVkIiksYS5oYXNDbGFzcygidHAtdGFiIik/ZShnLmZpbmQoIi50cC10YWJzIikscyk6ZShnLmZpbmQoIi50cC10aHVtYnMiKSxyKSk6YS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX0pO3ZhciBjPTAsZD0hMTtmLnRodW1icyYmalF1ZXJ5LmVhY2goZi50aHVtYnMsZnVuY3Rpb24oYSxlKXtjPSExPT09ZD9hOmMsZD1lLmlkPT09Ynx8YT09PWJ8fGR9KTt2YXIgaD1jPjA/Yy0xOmYuc2xpZGVhbW91bnQtMSxpPWMrMT09Zi5zbGlkZWFtb3VudD8wOmMrMTtpZighMD09PWouZW5hYmxlKXt2YXIgaz1qLnRtcDtpZih2b2lkIDAhPWYudGh1bWJzW2hdJiZqUXVlcnkuZWFjaChmLnRodW1ic1toXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLmxlZnQuai5odG1sKGspLGs9ai50bXAsaT5mLnNsaWRlYW1vdW50KXJldHVybjtqUXVlcnkuZWFjaChmLnRodW1ic1tpXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLnJpZ2h0LmouaHRtbChrKSxqLnJ0bD8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoubGVmdC5qLmZpbmQoIi50cC1hcnItaW1naG9sZGVyIikse2JhY2tncm91bmRJbWFnZToidXJsKCIrZi50aHVtYnNbaV0uc3JjKyIpIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLnJpZ2h0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5sZWZ0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoucmlnaHQuai5maW5kKCIudHAtYXJyLWltZ2hvbGRlciIpLHtiYWNrZ3JvdW5kSW1hZ2U6InVybCgiK2YudGh1bWJzW2ldLnNyYysiKSJ9KSl9fSksbChqKSxsKG4pLGwociksbChzKSxnLm9uKCJtb3VzZWVudGVyIG1vdXNlbW92ZSIsZnVuY3Rpb24oKXtnLmhhc0NsYXNzKCJ0cC1tb3VzZW92ZXIiKXx8KGcuYWRkQ2xhc3MoInRwLW1vdXNlb3ZlciIpLHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxEZWxheWVkQ2FsbHNUbyhwKSx0JiZqLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cGFycm93cyIpLGosInNob3ciKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwic2hvdyIpLHgmJnIuaGlkZV9vbmxlYXZlJiZwKGcuZmluZCgiLnRwLXRodW1icyIpLHIsInNob3ciKSx5JiZzLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC10YWJzIikscywic2hvdyIpLGMmJihnLnJlbW92ZUNsYXNzKCJ0cC1tb3VzZW92ZXIiKSxvKGEsZikpKX0pLGcub24oIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7Zy5yZW1vdmVDbGFzcygidHAtbW91c2VvdmVyIiksbyhhLGYpfSksdCYmai5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHBhcnJvd3MiKSxqLCJoaWRlIiwwKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwiaGlkZSIsMCkseCYmci5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGh1bWJzIiksciwiaGlkZSIsMCkseSYmcy5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGFicyIpLHMsImhpZGUiLDApLHgmJmsoZy5maW5kKCIudHAtdGh1bWJzIiksZikseSYmayhnLmZpbmQoIi50cC10YWJzIiksZiksImNhcm91c2VsIj09PWYuc2xpZGVyVHlwZSYmayhhLGYsITApLCgib24iPT09Zi5uYXZpZ2F0aW9uLnRvdWNoLnRvdWNoT25EZXNrdG9wfHwib24iPT1mLm5hdmlnYXRpb24udG91Y2gudG91Y2hlbmFibGVkJiZjKSYmayhhLGYsInN3aXBlYmFzZWQiKX19KTt2YXIgZT1mdW5jdGlvbihhLGIpe3ZhciBkPShhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKSxhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKT8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siKSxlPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWJzLWlubmVyLXdyYXBwZXIiOiIudHAtdGFicy1pbm5lci13cmFwcGVyIixmPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWIiOiIudHAtdGFiIixnPWEuZmluZChkKSxoPWcuZmluZChlKSxpPWIuZGlyZWN0aW9uLGo9InZlcnRpY2FsIj09PWk/Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK2Iuc3BhY2U6Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkrYi5zcGFjZSxrPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLGw9cGFyc2VJbnQoZy5maW5kKGYrIi5zZWxlY3RlZCIpLmRhdGEoImxpaW5kZXgiKSwwKSxtPWsvaixuPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLG89MC1sKmoscD0idmVydGljYWwiPT09aT9oLmhlaWdodCgpOmgud2lkdGgoKSxxPW88MC0ocC1uKT8wLShwLW4pOnE+MD8wOm8scj1oLmRhdGEoIm9mZnNldCIpO20+MiYmKHE9by0ocitqKTw9MD9vLShyK2opPDAtaj9yOnErajpxLHE9by1qK3IrazxqJiZvKyhNYXRoLnJvdW5kKG0pLTIpKmo8cj9vKyhNYXRoLnJvdW5kKG0pLTIpKmo6cSkscT1xPDAtKHAtbik/MC0ocC1uKTpxPjA/MDpxLCJ2ZXJ0aWNhbCIhPT1pJiZnLndpZHRoKCk+PWgud2lkdGgoKSYmKHE9MCksInZlcnRpY2FsIj09PWkmJmcuaGVpZ2h0KCk+PWguaGVpZ2h0KCkmJihxPTApLGEuaGFzQ2xhc3MoImRyYWdnZWQiKXx8KCJ2ZXJ0aWNhbCI9PT1pP2guZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHt0b3A6cSsicHgiLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpOmguZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHtsZWZ0OnErInB4IixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pKSxoLmRhdGEoIm9mZnNldCIscSkpfSxmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1jLnBhcmVudCgpLmZpbmQoIi50cC0iK2YrInMiKSxoPWcuZmluZCgiLnRwLSIrZisicy1pbm5lci13cmFwcGVyIiksaT1nLmZpbmQoIi50cC0iK2YrIi1tYXNrIiksaj1kLndpZHRoKmE8ZC5taW5fd2lkdGg/ZC5taW5fd2lkdGg6TWF0aC5yb3VuZChkLndpZHRoKmEpLGs9TWF0aC5yb3VuZChqL2Qud2lkdGgqZC5oZWlnaHQpLGw9InZlcnRpY2FsIj09PWQuZGlyZWN0aW9uP2o6aiplK2Quc3BhY2UqKGUtMSksbT0idmVydGljYWwiPT09ZC5kaXJlY3Rpb24/ayplK2Quc3BhY2UqKGUtMSk6ayxuPSJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj97d2lkdGg6aisicHgifTp7aGVpZ2h0OmsrInB4In07Yi5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGcsbikpLGIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt3aWR0aDpsKyJweCIsaGVpZ2h0Om0rInB4In0pKSxiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaSx7d2lkdGg6bCsicHgiLGhlaWdodDptKyJweCJ9KSk7dmFyIG89aC5maW5kKCIudHAtIitmKTtyZXR1cm4gbyYmalF1ZXJ5LmVhY2gobyxmdW5jdGlvbihhLGMpeyJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj9iLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7dG9wOmEqKGsrcGFyc2VJbnQodm9pZCAwPT09ZC5zcGFjZT8wOmQuc3BhY2UsMCkpLHdpZHRoOmorInB4IixoZWlnaHQ6aysicHgifSkpOiJob3Jpem9udGFsIj09PWQuZGlyZWN0aW9uJiZiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7bGVmdDphKihqK3BhcnNlSW50KHZvaWQgMD09PWQuc3BhY2U/MDpkLnNwYWNlLDApKSx3aWR0aDpqKyJweCIsaGVpZ2h0OmsrInB4In0pKX0pLGJ9LGc9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTAsZD0wLGU9MCxmPTEsZz0xLGg9MTtyZXR1cm4iZGV0YWlsImluIGEmJihjPWEuZGV0YWlsKSwid2hlZWxEZWx0YSJpbiBhJiYoYz0tYS53aGVlbERlbHRhLzEyMCksIndoZWVsRGVsdGFZImluIGEmJihjPS1hLndoZWVsRGVsdGFZLzEyMCksIndoZWVsRGVsdGFYImluIGEmJihiPS1hLndoZWVsRGVsdGFYLzEyMCksImF4aXMiaW4gYSYmYS5heGlzPT09YS5IT1JJWk9OVEFMX0FYSVMmJihiPWMsYz0wKSxkPWIqZixlPWMqZiwiZGVsdGFZImluIGEmJihlPWEuZGVsdGFZKSwiZGVsdGFYImluIGEmJihkPWEuZGVsdGFYKSwoZHx8ZSkmJmEuZGVsdGFNb2RlJiYoMT09YS5kZWx0YU1vZGU/KGQqPWcsZSo9Zyk6KGQqPWgsZSo9aCkpLGQmJiFiJiYoYj1kPDE/LTE6MSksZSYmIWMmJihjPWU8MT8tMToxKSxlPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/MTAqZTplLChlPjMwMHx8ZTwtMzAwKSYmKGUvPTEwKSx7c3Bpblg6YixzcGluWTpjLHBpeGVsWDpkLHBpeGVsWTplfX0saD1mdW5jdGlvbihhLGMpeyJvbiI9PT1jLm5hdmlnYXRpb24ua2V5Ym9hcmROYXZpZ2F0aW9uJiZqUXVlcnkoZG9jdW1lbnQpLmtleWRvd24oZnVuY3Rpb24oZCl7KCJob3Jpem9udGFsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmMzk9PWQua2V5Q29kZXx8InZlcnRpY2FsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmNDA9PWQua2V5Q29kZSkmJihjLnNjX2luZGljYXRvcj0iYXJyb3ciLGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLCgiaG9yaXpvbnRhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM3PT1kLmtleUNvZGV8fCJ2ZXJ0aWNhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM4PT1kLmtleUNvZGUpJiYoYy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSl9KX0saT1mdW5jdGlvbihhLGMpe2lmKCJvbiI9PT1jLm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9ufHwiY2Fyb3VzZWwiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsTmF2aWdhdGlvbil7Yy5pc0lFRWxldmVuPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJpZGVudC4qcnZcOjExXC4vKSxjLmlzU2FmYXJpPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvc2FmYXJpL2kpLGMuaXNjaHJvbWU9ISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9jaHJvbWUvaSk7dmFyIGQ9Yy5pc2Nocm9tZT8tNDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPy05Om5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/LTI5Oi00OSxlPWMuaXNjaHJvbWU/NDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPzk6bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbW96aWxsYS9pKT8yOTo0OTthLm9uKCJtb3VzZXdoZWVsIERPTU1vdXNlU2Nyb2xsIixmdW5jdGlvbihmKXt2YXIgaD1nKGYub3JpZ2luYWxFdmVudCksaT1hLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkuYWN0aXZlLXJldnNsaWRlIikuaW5kZXgoKSxqPWEuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaS5wcm9jZXNzaW5nLXJldnNsaWRlIikuaW5kZXgoKSxrPS0xIT1pJiYwPT1pfHwtMSE9aiYmMD09aixsPS0xIT1pJiZpPT1jLnNsaWRlYW1vdW50LTF8fDEhPWomJmo9PWMuc2xpZGVhbW91bnQtMSxtPSEwOyJjYXJvdXNlbCI9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24mJihrPWw9ITEpLC0xPT1qP2gucGl4ZWxZPGQ/KGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSksbHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpKTpoLnBpeGVsWT5lJiYobHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiIT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpLGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIj09PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSkpOm09ITE7dmFyIG49Yy5jLm9mZnNldCgpLnRvcC1qUXVlcnkoImJvZHkiKS5zY3JvbGxUb3AoKSxvPW4rYy5jLmhlaWdodCgpO3JldHVybiJjYXJvdXNlbCIhPWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24/KCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihuPjAmJmgucGl4ZWxZPjB8fG88alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkmJmgucGl4ZWxZPDApJiYobT0hMCksInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKG48MCYmaC5waXhlbFk8MHx8bz5qUXVlcnkod2luZG93KS5oZWlnaHQoKSYmaC5waXhlbFk+MCkmJihtPSEwKSk6bT0hMSwwPT1tPyhmLnByZXZlbnREZWZhdWx0KGYpLCExKTp2b2lkIDB9KX19LGo9ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBhPWM/alF1ZXJ5KGQudGFyZ2V0KS5jbG9zZXN0KCIuIithKS5sZW5ndGh8fGpRdWVyeShkLnNyY0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aDpqUXVlcnkoZC50b0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aHx8alF1ZXJ5KGQub3JpZ2luYWxUYXJnZXQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aCwhMD09PWF8fDE9PT1hPzE6MH0saz1mdW5jdGlvbihhLGQsZSl7dmFyIGY9ZC5jYXJvdXNlbDtqUXVlcnkoIi5idWxsZXQsIC5idWxsZXRzLCAudHAtYnVsbGV0cywgLnRwYXJyb3dzIikuYWRkQ2xhc3MoIm5vU3dpcGUiKSxmLkxpbWl0PSJlbmRsZXNzIjt2YXIgaD0oY3x8Yi5nZXRfYnJvd3NlcigpLGEpLGk9InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50aHVtYm5haWxzLmRpcmVjdGlvbnx8InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50YWJzLmRpcmVjdGlvbj8ibm9uZSI6InZlcnRpY2FsIixrPWQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9kaXJlY3Rpb258fCJob3Jpem9udGFsIjtpPSJzd2lwZWJhc2VkIj09ZSYmInZlcnRpY2FsIj09az8ibm9uZSI6ZT8idmVydGljYWwiOmksalF1ZXJ5LmZuLnN3aXBldHB8fChqUXVlcnkuZm4uc3dpcGV0cD1qUXVlcnkuZm4uc3dpcGUpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzJiZqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0cy5leGNsdWRlZEVsZW1lbnRzfHxqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0c3x8KGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzPW5ldyBPYmplY3QpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzLmV4Y2x1ZGVkRWxlbWVudHM9ImxhYmVsLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCAubm9Td2lwZSIsaC5zd2lwZXRwKHthbGxvd1BhZ2VTY3JvbGw6aSx0cmlnZ2VyT25Ub3VjaExlYXZlOiEwLHRyZXNob2xkOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV90cmVzaG9sZCxmaW5nZXJzOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcyxleGNsdWRlRWxlbWVudHM6alF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMuZXhjbHVkZWRFbGVtZW50cyxzd2lwZVN0YXR1czpmdW5jdGlvbihlLGcsaCxpLGwsbSxuKXt2YXIgbz1qKCJyZXZfc2xpZGVyX3dyYXBwZXIiLGEsZSkscD1qKCJ0cC10aHVtYnMiLGEsZSkscT1qKCJ0cC10YWJzIixhLGUpLHI9alF1ZXJ5KHRoaXMpLmF0dHIoImNsYXNzIikscz0hIXIubWF0Y2goL3RwLXRhYnN8dHAtdGh1bWIvZ2kpO2lmKCJjYXJvdXNlbCI9PT1kLnNsaWRlclR5cGUmJigoIm1vdmUiPT09Z3x8ImVuZCI9PT1nfHwiY2FuY2VsIj09ZykmJmQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyJiYhZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMmJiFkLmRyYWdTdGFydGVkT3ZlclRhYnN8fCJzdGFydCI9PT1nJiZvPjAmJjA9PT1wJiYwPT09cSkpe2lmKGMmJigidXAiPT09aHx8ImRvd24iPT09aCkpcmV0dXJuO3N3aXRjaChkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMCxpPWgmJmgubWF0Y2goL2xlZnR8dXAvZyk/TWF0aC5yb3VuZCgtMSppKTppPU1hdGgucm91bmQoMSppKSxnKXtjYXNlInN0YXJ0Ijp2b2lkIDAhPT1mLnBvc2l0aW9uYW5pbSYmKGYucG9zaXRpb25hbmltLmtpbGwoKSxmLnNsaWRlX2dsb2JhbG9mZnNldD0ib2ZmIj09PWYuaW5maW5pdHk/Zi5zbGlkZV9vZmZzZXQ6Yi5zaW1wKGYuc2xpZGVfb2Zmc2V0LGYubWF4d2lkdGgpKSxmLm92ZXJwdWxsPSJub25lIixmLndyYXAuYWRkQ2xhc3MoImRyYWdnZWQiKTticmVhaztjYXNlIm1vdmUiOmlmKGQuYy5maW5kKCIudHAtd2l0aGFjdGlvbiIpLmFkZENsYXNzKCJ0cC10ZW1wb3JhcnlkaXNhYmxlZCIpLGYuc2xpZGVfb2Zmc2V0PSJvZmYiPT09Zi5pbmZpbml0eT9mLnNsaWRlX2dsb2JhbG9mZnNldCtpOmIuc2ltcChmLnNsaWRlX2dsb2JhbG9mZnNldCtpLGYubWF4d2lkdGgpLCJvZmYiPT09Zi5pbmZpbml0eSl7dmFyIHQ9ImNlbnRlciI9PT1mLmhvcml6b250YWxfYWxpZ24/KGYud3JhcHdpZHRoLzItZi5zbGlkZV93aWR0aC8yLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOigwLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOyJub25lIiE9PWYub3ZlcnB1bGwmJjAhPT1mLm92ZXJwdWxsfHwhKHQ8MHx8dD5kLnNsaWRlYW1vdW50LTEpP3Q+PTAmJnQ8PWQuc2xpZGVhbW91bnQtMSYmKHQ+PTAmJmk+Zi5vdmVycHVsbHx8dDw9ZC5zbGlkZWFtb3VudC0xJiZpPGYub3ZlcnB1bGwpJiYoZi5vdmVycHVsbD0wKTpmLm92ZXJwdWxsPWksZi5zbGlkZV9vZmZzZXQ9dDwwP2Yuc2xpZGVfb2Zmc2V0KyhmLm92ZXJwdWxsLWkpLzEuMStNYXRoLnNxcnQoTWF0aC5hYnMoKGYub3ZlcnB1bGwtaSkvMS4xKSk6dD5kLnNsaWRlYW1vdW50LTE/Zi5zbGlkZV9vZmZzZXQrKGYub3ZlcnB1bGwtaSkvMS4xLU1hdGguc3FydChNYXRoLmFicygoZi5vdmVycHVsbC1pKS8xLjEpKTpmLnNsaWRlX29mZnNldH1iLm9yZ2FuaXNlQ2Fyb3VzZWwoZCxoLCEwLCEwKTticmVhaztjYXNlImVuZCI6Y2FzZSJjYW5jZWwiOmYuc2xpZGVfZ2xvYmFsb2Zmc2V0PWYuc2xpZGVfb2Zmc2V0LGYud3JhcC5yZW1vdmVDbGFzcygiZHJhZ2dlZCIpLGIuY2Fyb3VzZWxUb0V2YWxQb3NpdGlvbihkLGgpLGQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5jLmZpbmQoIi50cC13aXRoYWN0aW9uIikucmVtb3ZlQ2xhc3MoInRwLXRlbXBvcmFyeWRpc2FibGVkIil9LDE5KX19ZWxzZXtpZigoIm1vdmUiIT09ZyYmImVuZCIhPT1nJiYiY2FuY2VsIiE9Z3x8ZC5kcmFnU3RhcnRlZE92ZXJTbGlkZXJ8fCFkLmRyYWdTdGFydGVkT3ZlclRodW1icyYmIWQuZHJhZ1N0YXJ0ZWRPdmVyVGFicykmJiEoInN0YXJ0Ij09PWcmJm8+MCYmKHA+MHx8cT4wKSkpe2lmKCJlbmQiPT1nJiYhcyl7aWYoZC5zY19pbmRpY2F0b3I9ImFycm93IiwiaG9yaXpvbnRhbCI9PWsmJiJsZWZ0Ij09aHx8InZlcnRpY2FsIj09ayYmInVwIj09aClyZXR1cm4gZC5zY19pbmRpY2F0b3JfZGlyPTAsYi5jYWxsaW5nTmV3U2xpZGUoZC5jLDEpLCExO2lmKCJob3Jpem9udGFsIj09ayYmInJpZ2h0Ij09aHx8InZlcnRpY2FsIj09ayYmImRvd24iPT1oKXJldHVybiBkLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShkLmMsLTEpLCExfXJldHVybiBkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITEsITB9cD4wJiYoZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM9ITApLHE+MCYmKGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMCk7dmFyIHU9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMiOiIudHAtdGFicyIsdj1kLmRyYWdTdGFydGVkT3ZlclRodW1icz8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siLHc9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMtaW5uZXItd3JhcHBlciI6Ii50cC10YWJzLWlubmVyLXdyYXBwZXIiLHg9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYiI6Ii50cC10YWIiLHk9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/ZC5uYXZpZ2F0aW9uLnRodW1ibmFpbHM6ZC5uYXZpZ2F0aW9uLnRhYnM7aT1oJiZoLm1hdGNoKC9sZWZ0fHVwL2cpP01hdGgucm91bmQoLTEqaSk6aT1NYXRoLnJvdW5kKDEqaSk7dmFyIHo9YS5wYXJlbnQoKS5maW5kKHYpLEE9ei5maW5kKHcpLEI9eS5kaXJlY3Rpb24sQz0idmVydGljYWwiPT09Qj9BLmhlaWdodCgpOkEud2lkdGgoKSxEPSJ2ZXJ0aWNhbCI9PT1CP3ouaGVpZ2h0KCk6ei53aWR0aCgpLEU9InZlcnRpY2FsIj09PUI/ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK3kuc3BhY2U6ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkreS5zcGFjZSxGPXZvaWQgMD09PUEuZGF0YSgib2Zmc2V0Iik/MDpwYXJzZUludChBLmRhdGEoIm9mZnNldCIpLDApLEc9MDtzd2l0Y2goZyl7Y2FzZSJzdGFydCI6YS5wYXJlbnQoKS5maW5kKHUpLmFkZENsYXNzKCJkcmFnZ2VkIiksRj0idmVydGljYWwiPT09Qj9BLnBvc2l0aW9uKCkudG9wOkEucG9zaXRpb24oKS5sZWZ0LEEuZGF0YSgib2Zmc2V0IixGKSxBLmRhdGEoInRtbW92ZSIpJiZBLmRhdGEoInRtbW92ZSIpLnBhdXNlKCk7YnJlYWs7Y2FzZSJtb3ZlIjppZihDPD1EKXJldHVybiExO0c9RitpLEc9Rz4wPyJob3Jpem9udGFsIj09PUI/Ry1BLndpZHRoKCkqKEcvQS53aWR0aCgpKkcvQS53aWR0aCgpKTpHLUEuaGVpZ2h0KCkqKEcvQS5oZWlnaHQoKSpHL0EuaGVpZ2h0KCkpOkc7dmFyIEg9InZlcnRpY2FsIj09PUI/MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKTowLShBLndpZHRoKCktei53aWR0aCgpKTtHPUc8SD8iaG9yaXpvbnRhbCI9PT1CP0crQS53aWR0aCgpKihHLUgpL0Eud2lkdGgoKSooRy1IKS9BLndpZHRoKCk6RytBLmhlaWdodCgpKihHLUgpL0EuaGVpZ2h0KCkqKEctSCkvQS5oZWlnaHQoKTpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChBLHt0b3A6RysicHgifSk6cHVuY2hncy5Ud2VlbkxpdGUuc2V0KEEse2xlZnQ6RysicHgifSk7YnJlYWs7Y2FzZSJlbmQiOmNhc2UiY2FuY2VsIjppZihzKXJldHVybiBHPUYraSxHPSJ2ZXJ0aWNhbCI9PT1CP0c8MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKT8wLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpOkc6RzwwLShBLndpZHRoKCktei53aWR0aCgpKT8wLShBLndpZHRoKCktei53aWR0aCgpKTpHLEc9Rz4wPzA6RyxHPU1hdGguYWJzKGkpPkUvMTA/aTw9MD9NYXRoLmZsb29yKEcvRSkqRTpNYXRoLmNlaWwoRy9FKSpFOmk8MD9NYXRoLmNlaWwoRy9FKSpFOk1hdGguZmxvb3IoRy9FKSpFLEc9InZlcnRpY2FsIj09PUI/RzwwLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpPzAtKEEuaGVpZ2h0KCktei5oZWlnaHQoKSk6RzpHPDAtKEEud2lkdGgoKS16LndpZHRoKCkpPzAtKEEud2lkdGgoKS16LndpZHRoKCkpOkcsRz1HPjA/MDpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKEEsLjUse3RvcDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oQSwuNSx7bGVmdDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSksRz1HfHwoInZlcnRpY2FsIj09PUI/QS5wb3NpdGlvbigpLnRvcDpBLnBvc2l0aW9uKCkubGVmdCksQS5kYXRhKCJvZmZzZXQiLEcpLEEuZGF0YSgiZGlzdGFuY2UiLGkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITF9LDEwMCksYS5wYXJlbnQoKS5maW5kKHUpLnJlbW92ZUNsYXNzKCJkcmFnZ2VkIiksITF9fX19KX0sbD1mdW5jdGlvbihhKXthLmhpZGVfZGVsYXk9alF1ZXJ5LmlzTnVtZXJpYyhwYXJzZUludChhLmhpZGVfZGVsYXksMCkpP2EuaGlkZV9kZWxheS8xZTM6LjIsYS5oaWRlX2RlbGF5X21vYmlsZT1qUXVlcnkuaXNOdW1lcmljKHBhcnNlSW50KGEuaGlkZV9kZWxheV9tb2JpbGUsMCkpP2EuaGlkZV9kZWxheV9tb2JpbGUvMWUzOi4yfSxtPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLmVuYWJsZX0sbj1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5lbmFibGUmJiEwPT09YS5oaWRlX29ubGVhdmUmJih2b2lkIDA9PT1hLnBvc2l0aW9ufHwhYS5wb3NpdGlvbi5tYXRjaCgvb3V0ZXIvZykpfSxvPWZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wYXJlbnQoKTtuKGIubmF2aWdhdGlvbi5hcnJvd3MpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi5hcnJvd3MuaGlkZV9kZWxheV9tb2JpbGU6Yi5uYXZpZ2F0aW9uLmFycm93cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwYXJyb3dzIiksYi5uYXZpZ2F0aW9uLmFycm93cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi5idWxsZXRzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLWJ1bGxldHMiKSxiLm5hdmlnYXRpb24uYnVsbGV0cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi50aHVtYm5haWxzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLXRodW1icyIpLGIubmF2aWdhdGlvbi50aHVtYm5haWxzLCJoaWRlIl0pLG4oYi5uYXZpZ2F0aW9uLnRhYnMpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXlfbW9iaWxlOmIubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXkscCxbZC5maW5kKCIudHAtdGFicyIpLGIubmF2aWdhdGlvbi50YWJzLCJoaWRlIl0pfSxwPWZ1bmN0aW9uKGEsYixjLGQpe3N3aXRjaChkPXZvaWQgMD09PWQ/LjU6ZCxjKXtjYXNlInNob3ciOnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsZCx7YXV0b0FscGhhOjEsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQsb3ZlcndyaXRlOiJhdXRvIn0pO2JyZWFrO2Nhc2UiaGlkZSI6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxkLHthdXRvQWxwaGE6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91LG92ZXJ3cml0ZToiYXV0byJ9KX19LHE9ZnVuY3Rpb24oYSxiLGMpe2Iuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGIubGVmdC5zdHlsZT12b2lkIDA9PT1iLmxlZnQuc3R5bGU/IiI6Yi5sZWZ0LnN0eWxlLGIucmlnaHQuc3R5bGU9dm9pZCAwPT09Yi5yaWdodC5zdHlsZT8iIjpiLnJpZ2h0LnN0eWxlLDA9PT1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sZWZ0YXJyb3cgdHBhcnJvd3MgJytiLnN0eWxlKyIgIitiLmxlZnQuc3R5bGUrJyI+JytiLnRtcCsiPC9kaXY+IiksMD09PWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1yaWdodGFycm93IHRwYXJyb3dzICcrYi5zdHlsZSsiICIrYi5yaWdodC5zdHlsZSsnIj4nK2IudG1wKyI8L2Rpdj4iKTt2YXIgZD1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKSxlPWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKTtiLnJ0bD8oZC5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxlLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKTooZS5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxkLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKSxiLnJpZ2h0Lmo9YS5maW5kKCIudHAtcmlnaHRhcnJvdy50cGFycm93cyIpLGIubGVmdC5qPWEuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoYy5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGMuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksdChkLGIubGVmdCxjKSx0KGUsYi5yaWdodCxjKSxiLmxlZnQub3B0PWMsYi5yaWdodC5vcHQ9Yywib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChjLm91dGVybmF2PSEwKX0scj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vdXRlckhlaWdodCghMCksZj0oYS5vdXRlcldpZHRoKCEwKSx2b2lkIDA9PWIub3B0PzA6MD09Yy5jb25oP2MuaGVpZ2h0OmMuY29uaCksZz0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImZ1bGxzY3JlZW4iPT1jLnNsaWRlckxheW91dD9jLmhlaWdodC8yLWMuZ3JpZGhlaWdodFtjLmN1cldpblJhbmdlXSpjLmJoLzI6Im9uIj09Yy5hdXRvSGVpZ2h0fHx2b2lkIDAhPWMubWluSGVpZ2h0JiZjLm1pbkhlaWdodD4wP2YvMi1jLmdyaWRoZWlnaHRbYy5jdXJXaW5SYW5nZV0qYy5iaC8yOjA6MCxoPSJ0b3AiPT09Yi52X2FsaWduP3t0b3A6IjBweCIseTpNYXRoLnJvdW5kKGIudl9vZmZzZXQrZykrInB4In06ImNlbnRlciI9PT1iLnZfYWxpZ24/e3RvcDoiNTAlIix5Ok1hdGgucm91bmQoMC1kLzIrYi52X29mZnNldCkrInB4In06e3RvcDoiMTAwJSIseTpNYXRoLnJvdW5kKDAtKGQrYi52X29mZnNldCtnKSkrInB4In07YS5oYXNDbGFzcygib3V0ZXItYm90dG9tIil8fHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGgpfSxzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZT0oYS5vdXRlckhlaWdodCghMCksYS5vdXRlcldpZHRoKCEwKSksZj0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZT8wOmMud2lkdGgvMi1jLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSpjLmJ3LzI6MCxnPSJsZWZ0Ij09PWIuaF9hbGlnbj97bGVmdDoiMHB4Iix4Ok1hdGgucm91bmQoYi5oX29mZnNldCtmKSsicHgifToiY2VudGVyIj09PWIuaF9hbGlnbj97bGVmdDoiNTAlIix4Ok1hdGgucm91bmQoMC1lLzIrYi5oX29mZnNldCkrInB4In06e2xlZnQ6IjEwMCUiLHg6TWF0aC5yb3VuZCgwLShlK2IuaF9vZmZzZXQrZikpKyJweCJ9O3B1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGcpfSx0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIudHAtc2ltcGxlcmVzcG9uc2l2ZSIpOmEuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1tYWludWwiKS5sZW5ndGg+MD9hLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItbWFpbnVsIik6YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIik6YS5wYXJlbnQoKS5maW5kKCIudHAtcmV2c2xpZGVyLW1haW51bCIpLGU9ZC53aWR0aCgpLGY9ZC5oZWlnaHQoKTtpZihyKGEsYixjKSxzKGEsYixjKSwib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9ufHwiZnVsbHdpZHRoIiE9Yi5zbGlkZXJMYXlvdXQmJiJmdWxsc2NyZWVuIiE9Yi5zbGlkZXJMYXlvdXQ/Im91dGVyLXJpZ2h0IiE9PWIucG9zaXRpb258fCJmdWxsd2lkdGgiIT1iLnNsaWRlckxheW91dCYmImZ1bGxzY3JlZW4iIT1iLnNsaWRlckxheW91dHx8cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse3JpZ2h0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pOnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHtsZWZ0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pLGEuaGFzQ2xhc3MoInRwLXRodW1icyIpfHxhLmhhc0NsYXNzKCJ0cC10YWJzIikpe3ZhciBnPWEuZGF0YSgid3JfcGFkZGluZyIpLGg9YS5kYXRhKCJtYXh3IiksaT1hLmRhdGEoIm1heGgiKSxqPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpP2EuZmluZCgiLnRwLXRodW1iLW1hc2siKTphLmZpbmQoIi50cC10YWItbWFzayIpLGs9cGFyc2VJbnQoYi5wYWRkaW5nX3RvcHx8MCwwKSxsPXBhcnNlSW50KGIucGFkZGluZ19ib3R0b218fDAsMCk7aD5lJiYib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9uJiYib3V0ZXItcmlnaHQiIT09Yi5wb3NpdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse2xlZnQ6IjBweCIseDowLG1heFdpZHRoOmUtMipnKyJweCJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaix7bWF4V2lkdGg6ZS0yKmcrInB4In0pKToocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heFdpZHRoOmgrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhXaWR0aDpoKyJweCJ9KSksaSsyKmc+ZiYmIm91dGVyLWJvdHRvbSIhPT1iLnBvc2l0aW9uJiYib3V0ZXItdG9wIiE9PWIucG9zaXRpb24/KHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHt0b3A6IjBweCIseTowLG1heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGose21heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7bWF4SGVpZ2h0OmkrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhIZWlnaHQ6aSsicHgifSkpLCJvdXRlci1sZWZ0IiE9PWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPT1iLnBvc2l0aW9uJiYoaz0wLGw9MCksITA9PT1iLnNwYW4mJiJ2ZXJ0aWNhbCI9PT1iLmRpcmVjdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heEhlaWdodDprK2wrKGYtMipnKSsicHgiLGhlaWdodDprK2wrKGYtMipnKSsicHgiLHRvcDowLWsseTowfSkscihqLGIsYykpOiEwPT09Yi5zcGFuJiYiaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbiYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHttYXhXaWR0aDoiMTAwJSIsd2lkdGg6ZS0yKmcrInB4IixsZWZ0OjAseDowfSkscyhqLGIsYykpfX0sdT1mdW5jdGlvbihhLGIsYyxkKXswPT09YS5maW5kKCIudHAtYnVsbGV0cyIpLmxlbmd0aCYmKGIuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1idWxsZXRzICcrYi5zdHlsZSsiICIrYi5kaXJlY3Rpb24rJyI+PC9kaXY+JykpO3ZhciBlPWEuZmluZCgiLnRwLWJ1bGxldHMiKSxmPWMuZGF0YSgiaW5kZXgiKSxnPWIudG1wO2pRdWVyeS5lYWNoKGQudGh1bWJzW2MuaW5kZXgoKV0ucGFyYW1zLGZ1bmN0aW9uKGEsYil7Zz1nLnJlcGxhY2UoYi5mcm9tLGIudG8pfSksZS5hcHBlbmQoJzxkaXYgY2xhc3M9Imp1c3RhZGRlZGJ1bGxldCB0cC1idWxsZXQiPicrZysiPC9kaXY+Iik7dmFyIGg9YS5maW5kKCIuanVzdGFkZGVkYnVsbGV0IiksaT1hLmZpbmQoIi50cC1idWxsZXQiKS5sZW5ndGgsaj1oLm91dGVyV2lkdGgoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKSxrPWgub3V0ZXJIZWlnaHQoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKTsidmVydGljYWwiPT09Yi5kaXJlY3Rpb24/KGguY3NzKHt0b3A6KGktMSkqaysicHgiLGxlZnQ6IjBweCJ9KSxlLmNzcyh7aGVpZ2h0OihpLTEpKmsraC5vdXRlckhlaWdodCgpLHdpZHRoOmgub3V0ZXJXaWR0aCgpfSkpOihoLmNzcyh7bGVmdDooaS0xKSpqKyJweCIsdG9wOiIwcHgifSksZS5jc3Moe3dpZHRoOihpLTEpKmoraC5vdXRlcldpZHRoKCksaGVpZ2h0Omgub3V0ZXJIZWlnaHQoKX0pKSxoLmZpbmQoIi50cC1idWxsZXQtaW1hZ2UiKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZC50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksaC5kYXRhKCJsaXJlZiIsZiksaC5jbGljayhmdW5jdGlvbigpe2Quc2NfaW5kaWNhdG9yPSJidWxsZXQiLGEucmV2Y2FsbHNsaWRld2l0aGlkKGYpLGEuZmluZCgiLnRwLWJ1bGxldCIpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLGpRdWVyeSh0aGlzKS5hZGRDbGFzcygic2VsZWN0ZWQiKX0pLGgucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZGJ1bGxldCIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoZC5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGQuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksYi5vcHQ9ZCwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChkLm91dGVybmF2PSEwKSxlLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksZS5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLGUuYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChlLGIsZCl9LHc9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icyI6Ii50cC10YWJzIixnPSJ0cC10aHVtYiI9PT1kPyIudHAtdGh1bWItbWFzayI6Ii50cC10YWItbWFzayIsaD0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icy1pbm5lci13cmFwcGVyIjoiLnRwLXRhYnMtaW5uZXItd3JhcHBlciIsaT0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iIjoiLnRwLXRhYiIsaj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iLWltYWdlIjoiLnRwLXRhYi1pbWFnZSI7aWYoYi52aXNpYmxlQW1vdW50PWIudmlzaWJsZUFtb3VudD5lLnNsaWRlYW1vdW50P2Uuc2xpZGVhbW91bnQ6Yi52aXNpYmxlQW1vdW50LGIuc2xpZGVyTGF5b3V0PWUuc2xpZGVyTGF5b3V0LDA9PT1hLnBhcmVudCgpLmZpbmQoZikubGVuZ3RoKXtiLnN0eWxlPXZvaWQgMD09PWIuc3R5bGU/IiI6Yi5zdHlsZTt2YXIgaz0hMD09PWIuc3Bhbj8idHAtc3Bhbi13cmFwcGVyIjoiIixsPSc8ZGl2IGNsYXNzPSInK2QrInMgIitrKyIgIitiLnBvc2l0aW9uKyIgIitiLnN0eWxlKyciPjxkaXYgY2xhc3M9IicrZCsnLW1hc2siPjxkaXYgY2xhc3M9IicrZCsncy1pbm5lci13cmFwcGVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij48L2Rpdj48L2Rpdj48L2Rpdj4nOyJvdXRlci10b3AiPT09Yi5wb3NpdGlvbj9hLnBhcmVudCgpLnByZXBlbmQobCk6Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uP2EuYWZ0ZXIobCk6YS5hcHBlbmQobCksYi5wYWRkaW5nX3RvcD1wYXJzZUludChlLmNhcm91c2VsLnBhZGRpbmdfdG9wfHwwLDApLGIucGFkZGluZ19ib3R0b209cGFyc2VJbnQoZS5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbXx8MCwwKSwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChlLm91dGVybmF2PSEwKX12YXIgbT1jLmRhdGEoImluZGV4Iiksbj1hLnBhcmVudCgpLmZpbmQoZiksbz1uLmZpbmQoZykscD1vLmZpbmQoaCkscT0iaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbj9iLndpZHRoKmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSk6Yi53aWR0aCxyPSJob3Jpem9udGFsIj09PWIuZGlyZWN0aW9uP2IuaGVpZ2h0OmIuaGVpZ2h0KmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSkscz1iLnRtcDtqUXVlcnkuZWFjaChlLnRodW1ic1tjLmluZGV4KCldLnBhcmFtcyxmdW5jdGlvbihhLGIpe3M9cy5yZXBsYWNlKGIuZnJvbSxiLnRvKX0pLHAuYXBwZW5kKCc8ZGl2IGRhdGEtbGlpbmRleD0iJytjLmluZGV4KCkrJyIgZGF0YS1saXJlZj0iJyttKyciIGNsYXNzPSJqdXN0YWRkZWR0aHVtYiAnK2QrJyIgc3R5bGU9IndpZHRoOicrYi53aWR0aCsicHg7aGVpZ2h0OiIrYi5oZWlnaHQrJ3B4OyI+JytzKyI8L2Rpdj4iKTt2YXIgdT1uLmZpbmQoIi5qdXN0YWRkZWR0aHVtYiIpLHY9bi5maW5kKGkpLmxlbmd0aCx3PXUub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApLHg9dS5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApO3UuZmluZChqKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZS50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksInZlcnRpY2FsIj09PWIuZGlyZWN0aW9uPyh1LmNzcyh7dG9wOih2LTEpKngrInB4IixsZWZ0OiIwcHgifSkscC5jc3Moe2hlaWdodDoodi0xKSp4K3Uub3V0ZXJIZWlnaHQoKSx3aWR0aDp1Lm91dGVyV2lkdGgoKX0pKToodS5jc3Moe2xlZnQ6KHYtMSkqdysicHgiLHRvcDoiMHB4In0pLHAuY3NzKHt3aWR0aDoodi0xKSp3K3Uub3V0ZXJXaWR0aCgpLGhlaWdodDp1Lm91dGVySGVpZ2h0KCl9KSksbi5kYXRhKCJtYXh3IixxKSxuLmRhdGEoIm1heGgiLHIpLG4uZGF0YSgid3JfcGFkZGluZyIsYi53cmFwcGVyX3BhZGRpbmcpO3ZhciB5PSJvdXRlci10b3AiPT09Yi5wb3NpdGlvbnx8Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uPyJyZWxhdGl2ZSI6ImFic29sdXRlIjsib3V0ZXItdG9wIiE9PWIucG9zaXRpb24mJiJvdXRlci1ib3R0b20iIT09Yi5wb3NpdGlvbnx8Yi5oX2FsaWduO28uY3NzKHttYXhXaWR0aDpxKyJweCIsbWF4SGVpZ2h0OnIrInB4IixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUifSksbi5jc3Moe21heFdpZHRoOnErInB4IixtYXhIZWlnaHQ6cisicHgiLG92ZXJmbG93OiJ2aXNpYmxlIixwb3NpdGlvbjp5LGJhY2tncm91bmQ6Yi53cmFwcGVyX2NvbG9yLHBhZGRpbmc6Yi53cmFwcGVyX3BhZGRpbmcrInB4Iixib3hTaXppbmc6ImNvbnRldC1ib3gifSksdS5jbGljayhmdW5jdGlvbigpe2Uuc2NfaW5kaWNhdG9yPSJidWxsZXQiO3ZhciBiPWEucGFyZW50KCkuZmluZChoKS5kYXRhKCJkaXN0YW5jZSIpO2I9dm9pZCAwPT09Yj8wOmIsTWF0aC5hYnMoYik8MTAmJihhLnJldmNhbGxzbGlkZXdpdGhpZChtKSxhLnBhcmVudCgpLmZpbmQoZikucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpKX0pLHUucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZHRodW1iIiksYi5vcHQ9ZSxuLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksbi5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLG4uYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChuLGIsZSl9LHg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5jLnBhcmVudCgpLmZpbmQoIi5vdXRlci10b3AiKSxjPWEuYy5wYXJlbnQoKS5maW5kKCIub3V0ZXItYm90dG9tIik7YS50b3Bfb3V0ZXI9Yi5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpiLm91dGVySGVpZ2h0KCl8fDAsYS5ib3R0b21fb3V0ZXI9Yy5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpjLm91dGVySGVpZ2h0KCl8fDB9LHk9ZnVuY3Rpb24oYSxiLGMsZCl7Yj5jfHxjPmQ/YS5hZGRDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik6YS5yZW1vdmVDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIil9fShqUXVlcnkpOw=="}},"time_used":289,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":286,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.parallax.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.231Z","timestamp":1785123385231,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.parallax.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"2ab3-65fd8520-e429e677d4560f3a;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3004\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10931,"size_decoded":3460,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (10692), with CRLF line terminators","md5":"aaf7e95e34f292b1a098887db6cf9ee3","sha1":"e00d5e9a3dca546921b83d15a0cb7a9261467027","sha256":"149d1060d155832cca22142423c095866d6b03277f372ebc1967ecdf579a435b","sha512":"824a519d23ccf5819ec06039fb8ab8b9a43679052bfd7d644b7c5c596b7a9ed5f51e1fbc82b2558db2c3314a2a4982c8f54154ea1bd0338bed5675a7dda76d16","ssdeep":"192:BcLK1q1e1XfU9dciEK5FKw0Vm7Wgput9mHJnGN82PbZ7:n1q1e1Xf4+KL6m7WgpAmHUNVPbZ7","tlshash":"7432d95a6e2028f640f3132cf9ad45d273228572e5068d41f9e6f9b9566ce9c037abcc","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.086486Z","times_seen":1205,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC41IEVYVEVOU0lPTiAtIFBBUkFMTEFYDQogKiBAdmVyc2lvbjogMi4yLjMgKDE3LjA1LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoYSxiKXthLmxhc3RzY3JvbGx0b3A9Yn12YXIgYj1qUXVlcnkuZm4ucmV2b2x1dGlvbixjPWIuaXNfbW9iaWxlKCksZD17YWxpYXM6IlBhcmFsbGF4IE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLnBhcmFsbGF4Lm1pbi5qcyIsbWluX2NvcmU6IjUuNC41Iix2ZXJzaW9uOiIyLjIuMyJ9O2pRdWVyeS5leHRlbmQoITAsYix7Y2hlY2tGb3JQYXJhbGxheDpmdW5jdGlvbihhLGUpe2Z1bmN0aW9uIGcoYSl7aWYoIjNEIj09Zi50eXBlfHwiM2QiPT1mLnR5cGUpe2EuZmluZCgiLnNsb3Rob2xkZXIiKS53cmFwQWxsKCc8ZGl2IGNsYXNzPSJkZGR3cmFwcGVyIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O292ZXJmbG93OmhpZGRlbiI+PC9kaXY+JyksYS5maW5kKCIudHAtcGFyYWxsYXgtd3JhcCIpLndyYXBBbGwoJzxkaXYgY2xhc3M9ImRkZHdyYXBwZXItbGF5ZXIiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7ei1pbmRleDo1O292ZXJmbG93OicrZi5kZGRfbGF5ZXJfb3ZlcmZsb3crJzsiPjwvZGl2PicpLGEuZmluZCgiLnJzLXBhcmFsbGF4bGV2ZWwtdG9iZ2dyb3VwIikuY2xvc2VzdCgiLnRwLXBhcmFsbGF4LXdyYXAiKS53cmFwQWxsKCc8ZGl2IGNsYXNzPSJkZGR3cmFwcGVyLWxheWVydG9iZ2dyb3VwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDt6LWluZGV4OjUwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiPjwvZGl2PicpO3ZhciBiPWEuZmluZCgiLmRkZHdyYXBwZXIiKSxjPWEuZmluZCgiLmRkZHdyYXBwZXItbGF5ZXIiKTthLmZpbmQoIi5kZGR3cmFwcGVyLWxheWVydG9iZ2dyb3VwIikuYXBwZW5kVG8oYiksImNhcm91c2VsIj09ZS5zbGlkZXJUeXBlJiYoIm9uIj09Zi5kZGRfc2hhZG93JiZiLmFkZENsYXNzKCJkZGR3cmFwcGVyc2hhZG93IikscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIse2JvcmRlclJhZGl1czplLmNhcm91c2VsLmJvcmRlcl9yYWRpdXN9KSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse292ZXJmbG93OiJ2aXNpYmxlIix0cmFuc2Zvcm1TdHlsZToicHJlc2VydmUtM2QiLHBlcnNwZWN0aXZlOjE2MDB9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYix7Zm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiI1MCUgNTAlIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHtmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1PcmlnaW46IjUwJSA1MCUiLHpJbmRleDo1fSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUudWwse3RyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTYwMH0pfX1pZigic3RvcCI9PT1iLmNvbXBhcmVfdmVyc2lvbihkKS5jaGVjaylyZXR1cm4hMTt2YXIgZj1lLnBhcmFsbGF4O2lmKCFmLmRvbmUpe2lmKGYuZG9uZT0hMCxjJiYib24iPT1mLmRpc2FibGVfb25tb2JpbGUpcmV0dXJuITE7IjNEIiE9Zi50eXBlJiYiM2QiIT1mLnR5cGV8fChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5jLHtvdmVyZmxvdzpmLmRkZF9vdmVyZmxvd30pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLnVsLHtvdmVyZmxvdzpmLmRkZF9vdmVyZmxvd30pLCJjYXJvdXNlbCIhPWUuc2xpZGVyVHlwZSYmIm9uIj09Zi5kZGRfc2hhZG93JiYoZS5jLnByZXBlbmQoJzxkaXYgY2xhc3M9ImRkZHdyYXBwZXJzaGFkb3ciPjwvZGl2PicpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLmMuZmluZCgiLmRkZHdyYXBwZXJzaGFkb3ciKSx7Zm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTYwMCx0cmFuc2Zvcm1PcmlnaW46IjUwJSA1MCUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHpJbmRleDowfSkpKSxlLmxpLmVhY2goZnVuY3Rpb24oKXtnKGpRdWVyeSh0aGlzKSl9KSwoIjNEIj09Zi50eXBlfHwiM2QiPT1mLnR5cGUpJiZlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKS5sZW5ndGg+MCYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSx7dG9wOjAsbGVmdDowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSksZyhlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSkpLGYucGNvbnRhaW5lcnM9bmV3IEFycmF5LGYucGNvbnRhaW5lcl9kZXB0aHM9bmV3IEFycmF5LGYuYmdjb250YWluZXJzPW5ldyBBcnJheSxmLmJnY29udGFpbmVyX2RlcHRocz1uZXcgQXJyYXksZS5jLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkgLnNsb3Rob2xkZXIsIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9YS5kYXRhKCJiZ3BhcmFsbGF4Iil8fGUucGFyYWxsYXguYmdwYXJhbGxheDt2b2lkIDAhPT0oYj0ib24iPT1iPzE6YikmJiJvZmYiIT09YiYmKGYuYmdjb250YWluZXJzLnB1c2goYSksZi5iZ2NvbnRhaW5lcl9kZXB0aHMucHVzaChlLnBhcmFsbGF4LmxldmVsc1twYXJzZUludChiLDApLTFdLzEwMCkpfSk7Zm9yKHZhciBoPTE7aDw9Zi5sZXZlbHMubGVuZ3RoO2grKyllLmMuZmluZCgiLnJzLXBhcmFsbGF4bGV2ZWwtIitoKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9YS5jbG9zZXN0KCIudHAtcGFyYWxsYXgtd3JhcCIpO2IuZGF0YSgicGFyYWxsYXhsZXZlbCIsZi5sZXZlbHNbaC0xXSksYi5hZGRDbGFzcygidHAtcGFyYWxsYXgtY29udGFpbmVyIiksZi5wY29udGFpbmVycy5wdXNoKGIpLGYucGNvbnRhaW5lcl9kZXB0aHMucHVzaChmLmxldmVsc1toLTFdKX0pOyJtb3VzZSIhPWYudHlwZSYmInNjcm9sbCttb3VzZSIhPWYudHlwZSYmIm1vdXNlK3Njcm9sbCIhPWYudHlwZSYmIjNEIiE9Zi50eXBlJiYiM2QiIT1mLnR5cGV8fChhLm1vdXNlZW50ZXIoZnVuY3Rpb24oYil7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksZD1hLm9mZnNldCgpLnRvcCxlPWEub2Zmc2V0KCkubGVmdCxmPWIucGFnZVgtZSxnPWIucGFnZVktZDtjLmRhdGEoImVudGVyeCIsZiksYy5kYXRhKCJlbnRlcnkiLGcpfSksYS5vbigibW91c2Vtb3ZlLmhvdmVyZGlyLCBtb3VzZWxlYXZlLmhvdmVyZGlyLCB0cmlnZ2VyM2RwYXRoIixmdW5jdGlvbihiLGMpe3ZhciBkPWMmJmMubGk/Yy5saTphLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKTtpZigiZW50ZXJwb2ludCI9PWYub3JpZ28pe3ZhciBnPWEub2Zmc2V0KCkudG9wLGg9YS5vZmZzZXQoKS5sZWZ0O3ZvaWQgMD09ZC5kYXRhKCJlbnRlcngiKSYmZC5kYXRhKCJlbnRlcngiLGIucGFnZVgtaCksdm9pZCAwPT1kLmRhdGEoImVudGVyeSIpJiZkLmRhdGEoImVudGVyeSIsYi5wYWdlWS1nKTt2YXIgaT1kLmRhdGEoImVudGVyeCIpfHxiLnBhZ2VYLWgsaj1kLmRhdGEoImVudGVyeSIpfHxiLnBhZ2VZLWcsaz1pLShiLnBhZ2VYLWgpLGw9ai0oYi5wYWdlWS1nKSxtPWYuc3BlZWQvMWUzfHwuNH1lbHNlIHZhciBnPWEub2Zmc2V0KCkudG9wLGg9YS5vZmZzZXQoKS5sZWZ0LGs9ZS5jb253LzItKGIucGFnZVgtaCksbD1lLmNvbmgvMi0oYi5wYWdlWS1nKSxtPWYuc3BlZWQvMWUzfHwzOyJtb3VzZWxlYXZlIj09Yi50eXBlJiYoaz1mLmRkZF9sYXN0aHx8MCxsPWYuZGRkX2xhc3R2fHwwLG09MS41KTtmb3IodmFyIG49MDtuPGYucGNvbnRhaW5lcnMubGVuZ3RoO24rKyl7dmFyIG89Zi5wY29udGFpbmVyc1tuXSxwPWYucGNvbnRhaW5lcl9kZXB0aHNbbl0scT0iM0QiPT1mLnR5cGV8fCIzZCI9PWYudHlwZT9wLzIwMDpwLzEwMCxyPWsqcSxzPWwqcTsic2Nyb2xsK21vdXNlIj09Zi50eXBlfHwibW91c2Urc2Nyb2xsIj09Zi50eXBlP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKG8sbSx7Zm9yY2UzRDoiYXV0byIseDpyLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KTpwdW5jaGdzLlR3ZWVuTGl0ZS50byhvLG0se2ZvcmNlM0Q6ImF1dG8iLHg6cix5OnMsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pfWlmKCIzRCI9PWYudHlwZXx8IjNkIj09Zi50eXBlKXt2YXIgdD0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLmRkZHdyYXBwZXJzaGFkb3csIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXItbGF5ZXIsIC50cC1zdGF0aWMtbGF5ZXJzIC5kZGR3cmFwcGVyLWxheWVyIjsiY2Fyb3VzZWwiPT09ZS5zbGlkZXJUeXBlJiYodD0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlci1sYXllciwgLnRwLXN0YXRpYy1sYXllcnMgLmRkZHdyYXBwZXItbGF5ZXIiKSxlLmMuZmluZCh0KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9Zi5sZXZlbHNbZi5sZXZlbHMubGVuZ3RoLTFdLzIwMCxkPWsqYyxnPWwqYyxoPTA9PWUuY29udz8wOk1hdGgucm91bmQoay9lLmNvbncqYyoxMDApfHwwLGk9MD09ZS5jb25oPzA6TWF0aC5yb3VuZChsL2UuY29uaCpjKjEwMCl8fDAsaj1hLmNsb3Nlc3QoImxpIiksbj0wLG89ITE7YS5oYXNDbGFzcygiZGRkd3JhcHBlci1sYXllciIpJiYobj1mLmRkZF96X2NvcnJlY3Rpb258fDY1LG89ITApLGEuaGFzQ2xhc3MoImRkZHdyYXBwZXItbGF5ZXIiKSYmKGQ9MCxnPTApLGouaGFzQ2xhc3MoImFjdGl2ZS1yZXZzbGlkZSIpfHwiY2Fyb3VzZWwiIT1lLnNsaWRlclR5cGU/Im9uIiE9Zi5kZGRfYmdmcmVlemV8fG8/cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxtLHtyb3RhdGlvblg6aSxyb3RhdGlvblk6LWgseDpkLHo6bix5OmcsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pOnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsLjUse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uWTowLHJvdGF0aW9uWDowLHo6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSwuNSx7Zm9yY2UzRDoiYXV0byIscm90YXRpb25ZOjAseDowLHk6MCxyb3RhdGlvblg6MCx6OjAsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pLCJtb3VzZWxlYXZlIj09Yi50eXBlJiZwdW5jaGdzLlR3ZWVuTGl0ZS50byhqUXVlcnkodGhpcyksMy44LHt6OjAsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSl9KX19KSxjJiYod2luZG93Lm9uZGV2aWNlb3JpZW50YXRpb249ZnVuY3Rpb24oYil7dmFyIGM9TWF0aC5yb3VuZChiLmJldGF8fDApLTcwLGQ9TWF0aC5yb3VuZChiLmdhbW1hfHwwKSxnPWEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpO2lmKGpRdWVyeSh3aW5kb3cpLndpZHRoKCk+alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkpe3ZhciBoPWQ7ZD1jLGM9aH12YXIgaT1hLndpZHRoKCksaj1hLmhlaWdodCgpLGs9MzYwL2kqZCxsPTE4MC9qKmMsbT1mLnNwZWVkLzFlM3x8MyxuPVtdO2lmKGcuZmluZCgiLnRwLXBhcmFsbGF4LWNvbnRhaW5lciIpLmVhY2goZnVuY3Rpb24oYSl7bi5wdXNoKGpRdWVyeSh0aGlzKSl9KSxhLmZpbmQoIi50cC1zdGF0aWMtbGF5ZXJzIC50cC1wYXJhbGxheC1jb250YWluZXIiKS5lYWNoKGZ1bmN0aW9uKCl7bi5wdXNoKGpRdWVyeSh0aGlzKSl9KSxqUXVlcnkuZWFjaChuLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9cGFyc2VJbnQoYS5kYXRhKCJwYXJhbGxheGxldmVsIiksMCksYz1iLzEwMCxkPWsqYyoyLGU9bCpjKjQ7cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxtLHtmb3JjZTNEOiJhdXRvIix4OmQseTplLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KX0pLCIzRCI9PWYudHlwZXx8IjNkIj09Zi50eXBlKXt2YXIgbz0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLmRkZHdyYXBwZXJzaGFkb3csIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXItbGF5ZXIsIC50cC1zdGF0aWMtbGF5ZXJzIC5kZGR3cmFwcGVyLWxheWVyIjsiY2Fyb3VzZWwiPT09ZS5zbGlkZXJUeXBlJiYobz0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlci1sYXllciwgLnRwLXN0YXRpYy1sYXllcnMgLmRkZHdyYXBwZXItbGF5ZXIiKSxlLmMuZmluZChvKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9Zi5sZXZlbHNbZi5sZXZlbHMubGVuZ3RoLTFdLzIwMCxkPWsqYyxnPWwqYyozLGg9MD09ZS5jb253PzA6TWF0aC5yb3VuZChrL2UuY29udypjKjUwMCl8fDAsaT0wPT1lLmNvbmg/MDpNYXRoLnJvdW5kKGwvZS5jb25oKmMqNzAwKXx8MCxqPWEuY2xvc2VzdCgibGkiKSxuPTAsbz0hMTthLmhhc0NsYXNzKCJkZGR3cmFwcGVyLWxheWVyIikmJihuPWYuZGRkX3pfY29ycmVjdGlvbnx8NjUsbz0hMCksYS5oYXNDbGFzcygiZGRkd3JhcHBlci1sYXllciIpJiYoZD0wLGc9MCksai5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIil8fCJjYXJvdXNlbCIhPWUuc2xpZGVyVHlwZT8ib24iIT1mLmRkZF9iZ2ZyZWV6ZXx8bz9wdW5jaGdzLlR3ZWVuTGl0ZS50byhhLG0se3JvdGF0aW9uWDppLHJvdGF0aW9uWTotaCx4OmQsejpuLHk6ZyxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSwuNSx7Zm9yY2UzRDoiYXV0byIscm90YXRpb25ZOjAscm90YXRpb25YOjAsejowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KTpwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLC41LHtmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6MCx6OjAseDowLHk6MCxyb3RhdGlvblg6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSksIm1vdXNlbGVhdmUiPT1iLnR5cGUmJnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGpRdWVyeSh0aGlzKSwzLjgse3o6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXR9KX0pfX0pKTt2YXIgaT1lLnNjcm9sbGVmZmVjdDtpZihpLmJncz1uZXcgQXJyYXksaS5vbil7aWYoIm9uIj09PWkub25fc2xpZGViZylmb3IodmFyIGg9MDtoPGUuYWxsc2xvdGhvbGRlci5sZW5ndGg7aCsrKWkuYmdzLnB1c2goZS5hbGxzbG90aG9sZGVyW2hdKTtpLm11bHRpcGxpY2F0b3JfbGF5ZXJzPXBhcnNlRmxvYXQoaS5tdWx0aXBsaWNhdG9yX2xheWVycyksaS5tdWx0aXBsaWNhdG9yPXBhcnNlRmxvYXQoaS5tdWx0aXBsaWNhdG9yKX12b2lkIDAhPT1pLmxheWVycyYmMD09PWkubGF5ZXJzLmxlbmd0aCYmKGkubGF5ZXJzPSExKSx2b2lkIDAhPT1pLmJncyYmMD09PWkuYmdzLmxlbmd0aCYmKGkuYmdzPSExKSxiLnNjcm9sbFRpY2tlcihlLGEpfX0sc2Nyb2xsVGlja2VyOmZ1bmN0aW9uKGEsZCl7MSE9YS5zY3JvbGxUaWNrZXImJihhLnNjcm9sbFRpY2tlcj0hMCxjPyhwdW5jaGdzLlR3ZWVuTGl0ZS50aWNrZXIuZnBzKDE1MCkscHVuY2hncy5Ud2VlbkxpdGUudGlja2VyLmFkZEV2ZW50TGlzdGVuZXIoInRpY2siLGZ1bmN0aW9uKCl7Yi5zY3JvbGxIYW5kbGluZyhhKX0sZCwhMSwxKSk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixmdW5jdGlvbihjKXtiLnNjcm9sbEhhbmRsaW5nKGEsITApfSx7cGFzc2l2ZTohMH0pKSxiLnNjcm9sbEhhbmRsaW5nKGEsITApfSxzY3JvbGxIYW5kbGluZzpmdW5jdGlvbihhLGQsZil7aWYoYS5sYXN0d2luZG93aGVpZ2h0PWEubGFzdHdpbmRvd2hlaWdodHx8d2luZG93LmlubmVySGVpZ2h0LGEuY29uaD0wPT09YS5jb25ofHx2b2lkIDA9PT1hLmNvbmg/YS5pbmZ1bGxzY3JlZW5tb2RlP2EubWluSGVpZ2h0OmEuYy5oZWlnaHQoKTphLmNvbmgsYS5sYXN0c2Nyb2xsdG9wPT13aW5kb3cuc2Nyb2xsWSYmIWEuZHVyaW5nc2xpZGVjaGFuZ2UmJiFkKXJldHVybiExO3B1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKC4yLGUsW2Esd2luZG93LnNjcm9sbFldKTt2YXIgZz1hLmNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaD1hLnZpZXdQb3J0LGk9YS5wYXJhbGxheCxqPWcudG9wPDB8fGcuaGVpZ2h0PmEubGFzdHdpbmRvd2hlaWdodD9nLnRvcC9nLmhlaWdodDpnLmJvdHRvbT5hLmxhc3R3aW5kb3doZWlnaHQ/KGcuYm90dG9tLWEubGFzdHdpbmRvd2hlaWdodCkvZy5oZWlnaHQ6MDtpZihhLnNjcm9sbHByb2M9aixiLmNhbGxCYWNrSGFuZGxpbmcmJmIuY2FsbEJhY2tIYW5kbGluZyhhLCJwYXJhbGxheCIsInN0YXJ0IiksaC5lbmFibGUpe3ZhciBrPTEtTWF0aC5hYnMoaik7az1rPDA/MDprLGpRdWVyeS5pc051bWVyaWMoaC52aXNpYmxlX2FyZWEpfHwtMSE9PWgudmlzaWJsZV9hcmVhLmluZGV4T2YoIiUiKSYmKGgudmlzaWJsZV9hcmVhPXBhcnNlSW50KGgudmlzaWJsZV9hcmVhKS8xMDApLDEtaC52aXNpYmxlX2FyZWE8PWs/YS5pbnZpZXdwb3J0fHwoYS5pbnZpZXdwb3J0PSEwLGIuZW50ZXJJblZpZXdQb3J0KGEpKTphLmludmlld3BvcnQmJihhLmludmlld3BvcnQ9ITEsYi5sZWF2ZVZpZXdQb3J0KGEpKX1pZihjJiYib24iPT1pLmRpc2FibGVfb25tb2JpbGUpcmV0dXJuITE7aWYoIjNkIiE9aS50eXBlJiYiM0QiIT1pLnR5cGUpe2lmKCgic2Nyb2xsIj09aS50eXBlfHwic2Nyb2xsK21vdXNlIj09aS50eXBlfHwibW91c2Urc2Nyb2xsIj09aS50eXBlKSYmaS5wY29udGFpbmVycylmb3IodmFyIGw9MDtsPGkucGNvbnRhaW5lcnMubGVuZ3RoO2wrKylpZihpLnBjb250YWluZXJzW2xdLmxlbmd0aD4wKXt2YXIgbT1pLnBjb250YWluZXJzW2xdLG49aS5wY29udGFpbmVyX2RlcHRoc1tsXS8xMDAsbz1NYXRoLnJvdW5kKGoqKC1uKmEuY29uaCkqMTApLzEwfHwwLHA9dm9pZCAwIT09Zj9mOmkuc3BlZWRscy8xZTN8fDA7bS5kYXRhKCJwYXJhbGxheG9mZnNldCIsbykscHVuY2hncy5Ud2VlbkxpdGUudG8obSxwLHtvdmVyd3JpdGU6ImF1dG8iLGZvcmNlM0Q6ImF1dG8iLHk6b30pfWlmKGkuYmdjb250YWluZXJzKWZvcih2YXIgbD0wO2w8aS5iZ2NvbnRhaW5lcnMubGVuZ3RoO2wrKyl7dmFyIHE9aS5iZ2NvbnRhaW5lcnNbbF0scj1pLmJnY29udGFpbmVyX2RlcHRoc1tsXSxvPWoqKC1yKmEuY29uaCl8fDAscD12b2lkIDAhPT1mP2Y6aS5zcGVlZGJnLzFlM3x8MDtwdW5jaGdzLlR3ZWVuTGl0ZS50byhxLHAse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsYmFja2ZhY2VWaXNpYmlsaXR5OiJoaWRkZW4iLGZvcmNlM0Q6InRydWUiLHk6bysicHgifSl9fXZhciBzPWEuc2Nyb2xsZWZmZWN0O2lmKHMub24mJigib24iIT09cy5kaXNhYmxlX29uX21vYmlsZXx8IWMpKXt2YXIgdD1NYXRoLmFicyhqKS1zLnRpbHQvMTAwO2lmKHQ9dDwwPzA6dCwhMSE9PXMubGF5ZXJzKXt2YXIgdT0xLXQqcy5tdWx0aXBsaWNhdG9yX2xheWVycyx2PXtiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsZm9yY2UzRDoidHJ1ZSIsejouMDAxLHBlcnNwZWN0aXZlOjYwMH07aWYoInRvcCI9PXMuZGlyZWN0aW9uJiZqPj0wJiYodT0xKSwiYm90dG9tIj09cy5kaXJlY3Rpb24mJmo8PTAmJih1PTEpLHU9dT4xPzE6dTwwPzA6dSwib24iPT09cy5mYWRlJiYodi5vcGFjaXR5PXUpLCJvbiI9PT1zLnNjYWxlKXt2YXIgdz11O3Yuc2NhbGU9MS13KzF9aWYoIm9uIj09PXMuYmx1cil7dmFyIHg9KDEtdSkqcy5tYXhibHVyO3ZbIi13ZWJraXQtZmlsdGVyIl09ImJsdXIoIit4KyJweCkiLHYuZmlsdGVyPSJibHVyKCIreCsicHgpIn1pZigib24iPT09cy5ncmF5c2NhbGUpe3ZhciB5PTEwMCooMS11KSx6PSJncmF5c2NhbGUoIit5KyIlKSI7dlsiLXdlYmtpdC1maWx0ZXIiXT12b2lkIDA9PT12WyItd2Via2l0LWZpbHRlciJdP3o6dlsiLXdlYmtpdC1maWx0ZXIiXSsiICIreix2LmZpbHRlcj12b2lkIDA9PT12LmZpbHRlcj96OnYuZmlsdGVyKyIgIit6fXB1bmNoZ3MuVHdlZW5MaXRlLnNldChzLmxheWVycyx2KX1pZighMSE9PXMuYmdzKXt2YXIgdT0xLXQqcy5tdWx0aXBsaWNhdG9yLHY9e2JhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixmb3JjZTNEOiJ0cnVlIn07aWYoInRvcCI9PXMuZGlyZWN0aW9uJiZqPj0wJiYodT0xKSwiYm90dG9tIj09cy5kaXJlY3Rpb24mJmo8PTAmJih1PTEpLHU9dT4xPzE6dTwwPzA6dSwib24iPT09cy5mYWRlJiYodi5vcGFjaXR5PXUpLCJvbiI9PT1zLnNjYWxlKXt2YXIgdz11O3B1bmNoZ3MuVHdlZW5MaXRlLnNldChqUXVlcnkoIi50cC1rYmltZy13cmFwIikse3RyYW5zZm9ybU9yaWdpbjoiNTAlIDUwJSIsc2NhbGU6dyxmb3JjZTNEOiEwfSl9aWYoIm9uIj09PXMuYmx1cil7dmFyIHg9KDEtdSkqcy5tYXhibHVyO3ZbIi13ZWJraXQtZmlsdGVyIl09ImJsdXIoIit4KyJweCkiLHYuZmlsdGVyPSJibHVyKCIreCsicHgpIn1pZigib24iPT09cy5ncmF5c2NhbGUpe3ZhciB5PTEwMCooMS11KSx6PSJncmF5c2NhbGUoIit5KyIlKSI7dlsiLXdlYmtpdC1maWx0ZXIiXT12b2lkIDA9PT12WyItd2Via2l0LWZpbHRlciJdP3o6dlsiLXdlYmtpdC1maWx0ZXIiXSsiICIreix2LmZpbHRlcj12b2lkIDA9PT12LmZpbHRlcj96OnYuZmlsdGVyKyIgIit6fXB1bmNoZ3MuVHdlZW5MaXRlLnNldChzLmJncyx2KX19Yi5jYWxsQmFja0hhbmRsaW5nJiZiLmNhbGxCYWNrSGFuZGxpbmcoYSwicGFyYWxsYXgiLCJlbmQiKX19KX0oalF1ZXJ5KTs="}},"time_used":286,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":109,"receive":177,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.026Z","timestamp":1785123386026,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 350359\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-07-31T13:42:52.803055Z","times_seen":951003,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"bootstrap.smartsuppchat.com/widget/fa108877bab8da6e712c62d5f1392e9fd5373045.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"18.195.8.146","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:29.267Z","timestamp":1785123389267,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsuppchat.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Tue, 02 Dec 2025 00:00:00 GMT","end":"Wed, 30 Dec 2026 23:59:59 GMT"},"fingerprint":{"sha1":"DC:47:26:FC:2D:4B:14:19:23:BC:B7:70:14:DA:60:A6:21:B0:1E:81","sha256":"0D:5E:FD:70:25:9E:DE:DD:47:CF:0C:58:1C:08:A2:A1:05:AC:A6:7E:0C:43:6F:50:E7:49:E0:A1:60:D0:0E:0F"}}},"request":{"raw":"GET /widget/fa108877bab8da6e712c62d5f1392e9fd5373045.json HTTP/1.1\r\nHost: bootstrap.smartsuppchat.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\nContent-Type: text/plain\r\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\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/2 200 \r\ndate: Mon, 27 Jul 2026 03:36:29 GMT\r\ncontent-type: application/json; charset=utf-8\r\nx-version: 6cb79abf75047496934c7756b55ec6f26e7d2373\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: private, max-age=0, must-revalidate\r\nx-hit: redis\r\netag: \"4c7-B/6NfaaDpZne/g/uc5qfSnm44ZA\"\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1223,"size_decoded":879,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"1623b3b9e850c9c1491c70aef8d248c2","sha1":"07fe8d7da683a599defe0fee739a9f4a79b8e190","sha256":"b5b4d35c58c664f860fdab342e28e4f7337c31f56e8da3582e65972af84deb9e","sha512":"bcfb7323cde3f50f57c38880ba4f962f1f35f106a93074f2f3da73256fe2b54698c6065b11f1bc93d6f74811f6d2543fc6f5aa7afea2e5df1ff45b4f25fcc6d2","ssdeep":"","tlshash":"5321766d4a6822fd5245c7d6c5047a036bacdcb371003e7eea0d0a0e70db2e6223646b","first_seen":"2026-06-06T06:44:39.646667Z","last_seen":"2026-07-31T12:31:34.733325Z","times_seen":2285,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzEyMzNkZiIsImNvbG9yMiI6bnVsbCwiY29sb3JHcmFkaWVudCI6dHJ1ZSwiY29uc2VudE1vZGVFbmFibGVkIjpmYWxzZSwiY3Jvc3NEb21haW5FbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdFbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdMaW5rIjoiIiwiY3VzdG9tQnJhbmRpbmdUZXh0IjoiIiwiZW1haWxDb250cm9sIjp0cnVlLCJmZWF0dXJlcyI6eyJhcGkiOmZhbHNlLCJjdXN0b21pemUiOmZhbHNlLCJnYSI6ZmFsc2UsImdyb3VwcyI6ZmFsc2UsInJhdGluZyI6ZmFsc2UsIndoaXRlTGFiZWwiOmZhbHNlfSwiZ29vZ2xlQW5hbHl0aWNzRW5hYmxlZCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01hbnVhbCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01lYXN1cmVtZW50SWRzIjpbXSwiZ3JvdXBTZWxlY3RFbmFibGVkIjpmYWxzZSwiaGVhZGVyU3R5bGUiOiJzdGFuZGFyZCIsImhpZGVPZmZsaW5lQ2hhdCI6ZmFsc2UsImhpZGVXaWRnZXQiOmZhbHNlLCJob3N0Ijoid2Vic29ja2V0LXZpc2l0b3JzLnNtYXJ0c3VwcC5jb20iLCJpbnRlcm5hbEFuYWx5dGljc0VuYWJsZWQiOmZhbHNlLCJpc0Jsb2NrZWQiOmZhbHNlLCJsYW5nIjoiZW4iLCJtb2JpbGVQb3B1cHNFbmFibGVkIjp0cnVlLCJuYW1lQ29udHJvbCI6dHJ1ZSwibnVtYmVyQ29udHJvbCI6ZmFsc2UsIm9wZW5PblRyaWdnZXIiOmZhbHNlLCJvcmllbnRhdGlvbiI6InJpZ2h0IiwicGFja2FnZU5hbWUiOiJmcmVlIiwicG9wdXBUZXh0YXJlYUVuYWJsZWQiOmZhbHNlLCJwcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZCI6ZmFsc2UsInByaXZhY3lOb3RpY2VFbmFibGVkIjp0cnVlLCJwcml2YWN5Tm90aWNlVXJsIjoiIiwicmF0aW5nRW5hYmxlZCI6ZmFsc2UsInJlcXVpcmVMb2dpbiI6ZmFsc2UsInRyYW5zbGF0ZXMiOnt9LCJ1cmxDYXJkc0VuYWJsZWQiOnRydWUsIndpZGdldFZlcnNpb24iOjMsImhhc0ludGVybmFsQXBpIjpmYWxzZSwiY29uZmlnIjp7fSwiYnJvd3NlckxhbmciOiJlbiIsIndpZGdldFRyYWNrZXJVcmwiOiJodHRwczovL3dpZGdldC10cmFja2VyLnNtYXJ0c3VwcC5jb20iLCJ0cmFuc2xhdGlvbnNCYXNlVXJsIjoiaHR0cHM6Ly90cmFuc2xhdGlvbnMuc21hcnRzdXBwY2RuLmNvbSIsIndpZGdldFRyYWNrZXJFbmFibGVkIjpmYWxzZX0="}},"time_used":77,"timings":{"blocked":0,"dns":3,"connect":21,"send":0,"wait":26,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/custom.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.218Z","timestamp":1785123385218,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/custom.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"1a7fd-65fd8520-3b9100a62873a31e;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 13182\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":108541,"size_decoded":13640,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"7c5c58ac096cbb1ca991ba8048faea93","sha1":"b99d4d8998c217918d7d076390eca22af5331e75","sha256":"02b07e8f0a652edd6adee2df49a0ad60d43086aa6d8d0564aba8ced11021773d","sha512":"c8863796c2668d2057478bc7783007340eaca3bcf2f3163d2bb202eee5202145de08a65343c85618b209175f1543c71de0360829a787075ccd1765b9e23645bb","ssdeep":"1536:QpPSOsM+V5G0id0+/Vyus4us8RHueu/8H:QwOX+V5G0iA","tlshash":"12b37305bc91205294bbf33eaf3f6109fb75522b92019b657cbd46540f7260492aefec","first_seen":"2025-07-07T00:18:26.204185Z","last_seen":"2026-07-27T12:40:24.605498Z","times_seen":20,"resource_available":true,"data":"dmFyIFRIRU1FTUFTQ09UID0ge307DQoNCihmdW5jdGlvbigkKSB7DQogICAgInVzZSBzdHJpY3QiOw0KDQogICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERlY2xhcmUgVmFyaWFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgdmFyICRkb2N1bWVudCA9ICQoZG9jdW1lbnQpOw0KICAgIHZhciAkZG9jdW1lbnRfYm9keSA9ICQoZG9jdW1lbnQuYm9keSk7DQogICAgdmFyICR3aW5kb3cgPSAkKHdpbmRvdyk7DQogICAgdmFyICRodG1sID0gJCgnaHRtbCcpOw0KICAgIHZhciAkYm9keSA9ICQoJ2JvZHknKTsNCiAgICB2YXIgJHdyYXBwZXIgPSAkKCcjd3JhcHBlcicpOw0KICAgIHZhciAkaGVhZGVyID0gJCgnI2hlYWRlcicpOw0KICAgIHZhciAkZm9vdGVyID0gJCgnI2Zvb3RlcicpOw0KICAgIHZhciAkc2VjdGlvbnMgPSAkKCdzZWN0aW9uJyk7DQogICAgdmFyICRwb3J0Zm9saW9fZ2FsbGVyeSA9ICQoIi5nYWxsZXJ5LWlzb3RvcGUiKTsNCiAgICB2YXIgcG9ydGZvbGlvX2ZpbHRlciA9ICIucG9ydGZvbGlvLWZpbHRlciBhIjsNCiAgICB2YXIgJHBvcnRmb2xpb19maWx0ZXJfZmlyc3RfY2hpbGQgPSAkKCIucG9ydGZvbGlvLWZpbHRlciBhOmVxKDApIik7DQogICAgdmFyICRwb3J0Zm9saW9fZmxleF9zbGlkZXIgPSAkKCIucG9ydGZvbGlvLXNsaWRlciIpOw0KDQoNCiAgICBUSEVNRU1BU0NPVC5pc01vYmlsZSA9IHsNCiAgICAgICAgQW5kcm9pZDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQW5kcm9pZC9pKTsNCiAgICAgICAgfSwNCiAgICAgICAgQmxhY2tCZXJyeTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQmxhY2tCZXJyeS9pKTsNCiAgICAgICAgfSwNCiAgICAgICAgaU9TOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGhvbmV8aVBhZHxpUG9kL2kpOw0KICAgICAgICB9LA0KICAgICAgICBPcGVyYTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvT3BlcmEgTWluaS9pKTsNCiAgICAgICAgfSwNCiAgICAgICAgV2luZG93czogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvSUVNb2JpbGUvaSk7DQogICAgICAgIH0sDQogICAgICAgIGFueTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gKFRIRU1FTUFTQ09ULmlzTW9iaWxlLkFuZHJvaWQoKSB8fCBUSEVNRU1BU0NPVC5pc01vYmlsZS5CbGFja0JlcnJ5KCkgfHwgVEhFTUVNQVNDT1QuaXNNb2JpbGUuaU9TKCkgfHwgVEhFTUVNQVNDT1QuaXNNb2JpbGUuT3BlcmEoKSB8fCBUSEVNRU1BU0NPVC5pc01vYmlsZS5XaW5kb3dzKCkpOw0KICAgICAgICB9DQogICAgfTsNCg0KICAgIFRIRU1FTUFTQ09ULmlzUlRMID0gew0KICAgICAgICBjaGVjazogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiggJCggImh0bWwiICkuYXR0cigiZGlyIikgPT09ICJydGwiICkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9Ow0KDQogICAgVEhFTUVNQVNDT1QudXJsUGFyYW1ldGVyID0gew0KICAgICAgICBnZXQ6IGZ1bmN0aW9uKHNQYXJhbSkgew0KICAgICAgICAgICAgdmFyIHNQYWdlVVJMID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpKSwNCiAgICAgICAgICAgICAgICBzVVJMVmFyaWFibGVzID0gc1BhZ2VVUkwuc3BsaXQoJyYnKSwNCiAgICAgICAgICAgICAgICBzUGFyYW1ldGVyTmFtZSwNCiAgICAgICAgICAgICAgICBpOw0KDQogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc1VSTFZhcmlhYmxlcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICAgIHNQYXJhbWV0ZXJOYW1lID0gc1VSTFZhcmlhYmxlc1tpXS5zcGxpdCgnPScpOw0KDQogICAgICAgICAgICAgICAgaWYgKHNQYXJhbWV0ZXJOYW1lWzBdID09PSBzUGFyYW0pIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNQYXJhbWV0ZXJOYW1lWzFdID09PSB1bmRlZmluZWQgPyB0cnVlIDogc1BhcmFtZXRlck5hbWVbMV07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfTsNCg0KDQogICAgVEhFTUVNQVNDT1QuYm1pQ2FsY3VsYXRvciA9IHsNCiAgICAgICAgbWFnaWM6IGZ1bmN0aW9uKGJtaSkgew0KICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcnOw0KICAgICAgICAgICAgdmFyIGluZm8gPSAnJzsNCiAgICAgICAgICAgIGlmIChibWkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYm1pIDwgMTUpIHsNCiAgICAgICAgICAgICAgICAgICAgaW5mbyA9ICJ2ZXJ5IHNldmVyZWx5IHVuZGVyd2VpZ2h0IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKChibWkgPj0gMTUpJiYoYm1pIDwgMTYpKSB7DQogICAgICAgICAgICAgICAgICAgIGluZm8gPSAic2V2ZXJlbHkgdW5kZXJ3ZWlnaHQiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoKGJtaSA+PSAxNikmJihibWkgPCAxOC41KSkgew0KICAgICAgICAgICAgICAgICAgICBpbmZvID0gInVuZGVyd2VpZ2h0IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKChibWkgPj0gMTguNSkmJihibWkgPCAyNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgaW5mbyA9ICJub3JtYWwiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoKGJtaSA+PSAyNSkmJihibWkgPCAzMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgaW5mbyA9ICJvdmVyd2VpZ2h0IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKChibWkgPj0gMzApJiYoYm1pIDwgMzUpKSB7DQogICAgICAgICAgICAgICAgICAgIGluZm8gPSAibW9kZXJhdGVseSBvYmVzZSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgoYm1pID49IDM1KSYmKGJtaSA8PSA0MCkpIHsNCiAgICAgICAgICAgICAgICAgICAgaW5mbyA9ICJzZXZlcmVseSBvYmVzZSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChibWkgPjQwKSB7DQogICAgICAgICAgICAgICAgICAgIGluZm8gPSAidmVyeSBzZXZlcmVseSBvYmVzZSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIG91dHB1dCA9ICJZb3VyIEJNSSBpcyA8c3Bhbj4iICArIGJtaSArICI8L3NwYW4+PGJyIC8+IiArIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWW91IGFyZSA8c3Bhbj4iICArIGluZm8gKyAiPC9zcGFuPi4iOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBvdXRwdXQgPSAiWW91IGJyb2tlIGl0ISI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgcmV0dXJuIG91dHB1dDsNCiAgICAgICAgfSwNCiAgICAgICAgDQogICAgICAgIGNhbGN1bGF0ZVN0YW5kYXJkOiBmdW5jdGlvbiAoYm1pX2Zvcm0pIHsNCiAgICAgICAgICAgIHZhciB3ZWlnaHRfbGJzID0gYm1pX2Zvcm0uZmluZCgnaW5wdXRbbmFtZT0iYm1pX3N0YW5kYXJkX3dlaWdodF9sYnMiXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGhlaWdodF9mdCA9IGJtaV9mb3JtLmZpbmQoJ2lucHV0W25hbWU9ImJtaV9zdGFuZGFyZF9oZWlnaHRfZnQiXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGhlaWdodF9pbiA9IGJtaV9mb3JtLmZpbmQoJ2lucHV0W25hbWU9ImJtaV9zdGFuZGFyZF9oZWlnaHRfaW4iXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGFnZSA9IGJtaV9mb3JtLmZpbmQoJ2lucHV0W25hbWU9ImJtaV9zdGFuZGFyZF9hZ2UiXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGdlbmRlciA9IGJtaV9mb3JtLmZpbmQoJ3JhZGlvW25hbWU9ImJtaV9zdGFuZGFyZF9nZW5kZXIiXScpLnZhbCgpOw0KDQogICAgICAgICAgICB2YXIgdG90YWxfaGVpZ2h0X2luYyA9ICggcGFyc2VJbnQoaGVpZ2h0X2Z0LCAxMCkgKiAxMiApICsgcGFyc2VJbnQoaGVpZ2h0X2luLCAxMCk7DQogICAgICAgICAgICB2YXIgYm1pID0gKCBwYXJzZUZsb2F0KHdlaWdodF9sYnMpIC8gKHRvdGFsX2hlaWdodF9pbmMgKiB0b3RhbF9oZWlnaHRfaW5jKSApICogNzAzOw0KICAgICAgICAgICAgdmFyIG91dHB1dCA9IFRIRU1FTUFTQ09ULmJtaUNhbGN1bGF0b3IubWFnaWMoYm1pKTsNCg0KICAgICAgICAgICAgYm1pX2Zvcm0uZmluZCgnI2JtaV9zdGFuZGFyZF9jYWxjdWxhdG9yX2Zvcm1fcmVzdWx0JykuaHRtbChvdXRwdXQpLmZhZGVJbignc2xvdycpOw0KICAgICAgICB9LA0KICAgICAgICANCiAgICAgICAgY2FsY3VsYXRlTWV0cmljOiBmdW5jdGlvbiAoYm1pX2Zvcm0pIHsNCiAgICAgICAgICAgIHZhciB3ZWlnaHRfa2cgPSBibWlfZm9ybS5maW5kKCdpbnB1dFtuYW1lPSJibWlfbWV0cmljX3dlaWdodF9rZyJdJykudmFsKCk7DQogICAgICAgICAgICB2YXIgaGVpZ2h0X2NtID0gYm1pX2Zvcm0uZmluZCgnaW5wdXRbbmFtZT0iYm1pX21ldHJpY19oZWlnaHRfY20iXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGFnZSA9IGJtaV9mb3JtLmZpbmQoJ2lucHV0W25hbWU9ImJtaV9zdGFuZGFyZF9hZ2UiXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGdlbmRlciA9IGJtaV9mb3JtLmZpbmQoJ3JhZGlvW25hbWU9ImJtaV9zdGFuZGFyZF9nZW5kZXIiXScpLnZhbCgpOw0KDQogICAgICAgICAgICB2YXIgdG90YWxfd2VpZ2h0X2tnID0gcGFyc2VGbG9hdCh3ZWlnaHRfa2cpIDsNCiAgICAgICAgICAgIHZhciB0b3RhbF9oZWlnaHRfbSA9IHBhcnNlRmxvYXQoaGVpZ2h0X2NtKSAqIDAuMDE7DQogICAgICAgICAgICB2YXIgYm1pID0gKCB0b3RhbF93ZWlnaHRfa2cgLyAodG90YWxfaGVpZ2h0X20gKiB0b3RhbF9oZWlnaHRfbSkgKTsNCiAgICAgICAgICAgIHZhciBvdXRwdXQgPSBUSEVNRU1BU0NPVC5ibWlDYWxjdWxhdG9yLm1hZ2ljKGJtaSk7DQoNCiAgICAgICAgICAgIGJtaV9mb3JtLmZpbmQoJyNibWlfbWV0cmljX2NhbGN1bGF0b3JfZm9ybV9yZXN1bHQnKS5odG1sKG91dHB1dCkuZmFkZUluKCdzbG93Jyk7DQogICAgICAgIH0sDQogICAgICAgIA0KICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgYm1pX1N0YW5kYXJkX0Zvcm0gPSAkKCcjZm9ybV9ibWlfc3RhbmRhcmRfY2FsY3VsYXRvcicpOw0KICAgICAgICAgICAgYm1pX1N0YW5kYXJkX0Zvcm0ub24oJ3N1Ym1pdCcsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuYm1pQ2FsY3VsYXRvci5jYWxjdWxhdGVTdGFuZGFyZChibWlfU3RhbmRhcmRfRm9ybSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBibWlfTWV0cmljX0Zvcm0gPSAkKCcjZm9ybV9ibWlfbWV0cmljX2NhbGN1bGF0b3InKTsNCiAgICAgICAgICAgIGJtaV9NZXRyaWNfRm9ybS5vbignc3VibWl0JywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5ibWlDYWxjdWxhdG9yLmNhbGN1bGF0ZU1ldHJpYyhibWlfTWV0cmljX0Zvcm0pOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQoNCiAgICB9Ow0KDQogICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZSA9IHsNCg0KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmJtaUNhbGN1bGF0b3IuaW5pdCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV90b2dnbGVOYXZTZWFyY2hJY29uKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2ZpeGVkRm9vdGVyKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2RhdGVQaWNrZXIoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fZGRzbGljaygpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9zbGlkZXJSYW5nZSgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9sb2FkQlNQYXJlbnRNb2RhbCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9kZW1vU3dpdGNoZXIoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fcGxhdGZvcm1EZXRlY3QoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fb25Mb2FkUG9wdXBQcm9tb0JveCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9jdXN0b21EYXRhQXR0cmlidXRlcygpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9wYXJhbGxheEJnSW5pdCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9yZXNpemVGdWxsc2NyZWVuKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX3ByZXR0eVBob3RvX2xpZ2h0Ym94KCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX25pdm9saWdodGJveCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9maXRWaWRzKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX1lUUGxheWVyKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2VxdWFsSGVpZ2h0RGl2cygpOw0KICAgICAgICB9LA0KICAgICAgICANCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVG9nZ2xlIE5hdiBTZWFyY2ggSWNvbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fdG9nZ2xlTmF2U2VhcmNoSWNvbjogZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgIC8qIGlubGluZSBmdWxsd2lkdGggc2VhcmNoIGZvcm0gKi8NCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcjaW5saW5lLWZ1bGx3aWR0aC1zZWFyY2gtYnRuJywgZnVuY3Rpb24oZSkgew0KDQogICAgICAgICAgICAgICAgaWYoICQoJyNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtJykuaGFzQ2xhc3MoJ2Ryb3Bkb3duLXNlYXJjaC1mb3JtJykgKSB7DQogICAgICAgICAgICAgICAgICAgICQoJyNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtJykuc3RvcCh0cnVlLHRydWUpLnRvZ2dsZSgzMDApLmZpbmQoJ2lucHV0W3R5cGU9dGV4dF0nKS5mb2N1cygpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICQoJyNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtJykuc3RvcCh0cnVlLHRydWUpLmZhZGVJbigxMDApLmZpbmQoJ2lucHV0W3R5cGU9dGV4dF0nKS5mb2N1cygpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcjY2xvc2Utc2VhcmNoLWJ0bicsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBpZiggJCgnI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0nKS5oYXNDbGFzcygnZHJvcGRvd24tc2VhcmNoLWZvcm0nKSApIHsNCiAgICAgICAgICAgICAgICAgICAgJCgnI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0nKS5zdG9wKHRydWUsdHJ1ZSkudG9nZ2xlKDMwMCk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgJCgnI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0nKS5zdG9wKHRydWUsdHJ1ZSkuZmFkZU91dCgxMDApOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCg0KDQoNCiAgICAgICAgICAgIC8qIGZ1bGxzY3JlZW4gc2VhcmNoIGZvcm0gKi8NCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICdhW2hyZWY9IiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtIl0nLCBmdW5jdGlvbihldmVudCkgew0KICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICAgICAgJCgiI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0iKS5hZGRDbGFzcygib3BlbiIpOw0KICAgICAgICAgICAgICAgICQoJyNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtID4gZm9ybSA+IGlucHV0W3R5cGU9InNlYXJjaCJdJykuZm9jdXMoKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrIGtleXVwJywgJyNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtLCAjZnVsbHNjcmVlbi1zZWFyY2gtZm9ybSBidXR0b24uY2xvc2UnLCBmdW5jdGlvbihldmVudCkgew0KICAgICAgICAgICAgICAgIGlmICgNCiAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0ID09PSB0aGlzIHx8DQogICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5jbGFzc05hbWUgPT09ICJjbG9zZSIgfHwNCiAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gMjcNCiAgICAgICAgICAgICAgICApIHsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygib3BlbiIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQoNCiAgICAgICAgICAgIC8qIHB1c2hkb3duIGZyb20gdG9wIHNlYXJjaCBmb3JtICovDQogICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignY2xpY2snLCAnLnRvcC1wdXNoZG93bi1zZWFyY2gtYnRuJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIGlmKCAhJCgnLnRvcC1wdXNoZG93bi1zZWFyY2hiYXIuY29sbGFwc2UnKS5oYXNDbGFzcygnaW4nKSApIHsNCiAgICAgICAgICAgICAgICAgICAgJCgnaHRtbCwgYm9keScpLmFuaW1hdGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiAwDQogICAgICAgICAgICAgICAgICAgIH0sIDgwMCwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIC8vIEFuaW1hdGlvbiBjb21wbGV0ZS4NCiAgICAgICAgICAgICAgICAgICAgJCgnI3RvcC1wdXNoZG93bi1zZWFyY2hiYXIgZm9ybScpLmZpbmQoJ2lucHV0W3R5cGU9InNlYXJjaCJdJykuZm9jdXMoKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGaXhlZCBGb290ZXIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9maXhlZEZvb3RlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJGZpeGVkX2Zvb3RlciA9ICQoJy5maXhlZC1mb290ZXInKTsNCg0KICAgICAgICAgICAgaWYoICRmaXhlZF9mb290ZXIubGVuZ3RoID4gMCApew0KICAgICAgICAgICAgICAgICQoJ2JvZHkuaGFzLWZpeGVkLWZvb3RlciAubWFpbi1jb250ZW50JykuY3NzKCdtYXJnaW4tYm90dG9tJywgJGZpeGVkX2Zvb3Rlci5oZWlnaHQoKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIA0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBEYXRlIFBpY2tlciAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9kYXRlUGlja2VyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQoICIuZGF0ZS1waWNrZXIiICkuZGF0ZXBpY2tlcigpOw0KICAgICAgICAgICAgJCggIi50aW1lLXBpY2tlciIgKS50aW1lcGlja2VyKCk7DQogICAgICAgICAgICAkKCAiLmRhdGV0aW1lLXBpY2tlciIgKS5kYXRldGltZXBpY2tlcigpOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZGRzbGljayAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2Rkc2xpY2s6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRkZHNsaWNrID0gJCgic2VsZWN0LmRkc2xpY2siKTsNCiAgICAgICAgICAgIGlmKCAkZGRzbGljay5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRkZHNsaWNrLmVhY2goZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSAgJCh0aGlzKS5hdHRyKCduYW1lJyk7DQogICAgICAgICAgICAgICAgICAgIHZhciBpZCA9ICQodGhpcykuYXR0cignaWQnKTsNCiAgICAgICAgICAgICAgICAgICAgJCgiIyIraWQpLmRkc2xpY2soew0KICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlUG9zaXRpb246ICJsZWZ0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0ZWQ6IGZ1bmN0aW9uKHNlbGVjdGVkRGF0YSl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgiIyIraWQrICIgLmRkLXNlbGVjdGVkLXZhbHVlIikucHJvcCAoJ25hbWUnLCBuYW1lKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICB9ICANCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBzbGlkZXIgcmFuZ2UgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fc2xpZGVyUmFuZ2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRzbGlkZXJfcmFuZ2UgPSAkKCIuc2xpZGVyLXJhbmdlIik7DQogICAgICAgICAgICBpZiggJHNsaWRlcl9yYW5nZS5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRzbGlkZXJfcmFuZ2UuZWFjaChmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICB2YXIgaWQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7DQogICAgICAgICAgICAgICAgICAgIHZhciB0YXJnZXRfaWQgPSAkKHRoaXMpLmRhdGEoJ3RhcmdldCcpOw0KICAgICAgICAgICAgICAgICAgICAkKCAiIyIgKyB0YXJnZXRfaWQgKS5zbGlkZXIoew0KICAgICAgICAgICAgICAgICAgICAgIHJhbmdlOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgICBtaW46IDIwMDEsDQogICAgICAgICAgICAgICAgICAgICAgbWF4OiAyMDE2LA0KICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgICAgICAgICAgIHNsaWRlOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJCggIiMiICsgaWQgKS52YWwoIHVpLnZhbHVlICk7DQogICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgJCggIiMiICsgaWQgKS52YWwoICQoICIjIiArIHRhcmdldF9pZCApLnNsaWRlciggInZhbHVlIiApICk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQm9vdHN0cmFwIFBhcmVudCBNb2RhbCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCi8qDQogICAgICAgIFRNX2xvYWRCU1BhcmVudE1vZGFsOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciBhamF4TG9hZENvbnRlbnQgPSB0cnVlOw0KICAgICAgICAgICAgaWYoIGFqYXhMb2FkQ29udGVudCApIHsNCiAgICAgICAgICAgICAgICAkLmFqYXgoew0KICAgICAgICAgICAgICAgICAgICB1cmw6ICJhamF4LWxvYWQvYm9vdHN0cmFwLXBhcmVudC1tb2RhbC5odG1sIiwNCiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEpIHsgJGJvZHkuYXBwZW5kKGRhdGEpOyB9LA0KICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2h0bWwnDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogKi8NCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBEZW1vIFN3aXRjaGVyICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLyoNCiAgICAgICAgVE1fZGVtb1N3aXRjaGVyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciBzaG93U3dpdGNoZXIgPSB0cnVlOw0KICAgICAgICAgICAgdmFyICRzdHlsZV9zd2l0Y2hlciA9ICQoJyNzdHlsZS1zd2l0Y2hlcicpOw0KICAgICAgICAgICAgaWYoICEkc3R5bGVfc3dpdGNoZXIubGVuZ3RoICYmIHNob3dTd2l0Y2hlciApIHsNCiAgICAgICAgICAgICAgICAkLmFqYXgoew0KICAgICAgICAgICAgICAgICAgICB1cmw6ICJjb2xvci1zd2l0Y2hlci9zdHlsZS1zd2l0Y2hlci5odG1sIiwNCiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEpIHsgJGJvZHkuYXBwZW5kKGRhdGEpOyB9LA0KICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2h0bWwnDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcmVsb2FkZXIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9wcmVMb2FkZXJDbGlja0Rpc2FibGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRwcmVsb2FkZXIgPSAkKCcjcHJlbG9hZGVyJyk7DQogICAgICAgICAgICAkcHJlbG9hZGVyLmNoaWxkcmVuKCcjZGlzYWJsZS1wcmVsb2FkZXInKS5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgJHByZWxvYWRlci5mYWRlT3V0KCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgVE1fcHJlTG9hZGVyT25Mb2FkOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkcHJlbG9hZGVyID0gJCgnI3ByZWxvYWRlcicpOw0KICAgICAgICAgICAgaWYoICRwcmVsb2FkZXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcHJlbG9hZGVyLmRlbGF5KDIwMCkuZmFkZU91dCgnc2xvdycpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBsYXRmb3JtIGRldGVjdCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fcGxhdGZvcm1EZXRlY3Q6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKFRIRU1FTUFTQ09ULmlzTW9iaWxlLmFueSgpKSB7DQogICAgICAgICAgICAgICAgJGh0bWwuYWRkQ2xhc3MoIm1vYmlsZSIpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkaHRtbC5hZGRDbGFzcygibm8tbW9iaWxlIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUG9wdXAgUHJvbW8gQm94ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fb25Mb2FkUG9wdXBQcm9tb0JveDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJG1vZGFsID0gJCgnLm9uLXBhZ2Vsb2FkLXBvcHVwLXByb21vYm94Jyk7DQogICAgICAgICAgICBpZiggJG1vZGFsLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1vZGFsLmVhY2goIGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgIHZhciAkY3VycmVudF9pdGVtICAgICAgID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCAgICAgICAgICAgICAgPSAkY3VycmVudF9pdGVtLmRhdGEoJ3RhcmdldCcpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgdGltZW91dCAgICAgICAgICAgICA9ICRjdXJyZW50X2l0ZW0uZGF0YSgndGltZW91dCcpOw0KDQogICAgICAgICAgICAgICAgICAgIHZhciBkZWxheSAgICAgICAgICAgICAgID0gJGN1cnJlbnRfaXRlbS5kYXRhKCdkZWxheScpOw0KICAgICAgICAgICAgICAgICAgICBkZWxheSA9ICggIWRlbGF5ICkgPyAyNTAwIDogTnVtYmVyKGRlbGF5KSArIDI1MDA7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYoICRjdXJyZW50X2l0ZW0uaGFzQ2xhc3MoJ2Nvb2tpZS1lbmFibGVkJykgKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudENvb2tpZSA9ICQuY29va2llKCB0YXJnZXQgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggISFlbGVtZW50Q29va2llICYmIGVsZW1lbnRDb29raWUgPT09ICdlbmFibGVkJyApew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgJC5yZW1vdmVDb29raWUoIHRhcmdldCApOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgdmFyIHRfZW5hYmxlcG9wdXAgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJC5tYWduaWZpY1BvcHVwLm9wZW4oew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHNyYzogdGFyZ2V0IH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lubGluZScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLW5vLW1hcmdpbnMgbWZwLWZhZGUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZhbERlbGF5OiA1MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyQ2xvc2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoICRjdXJyZW50X2l0ZW0uaGFzQ2xhc3MoJ2Nvb2tpZS1lbmFibGVkJykgKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5jb29raWUoIHRhcmdldCwgJ2VuYWJsZWQnICk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTsNCiAgICAgICAgICAgICAgICAgICAgfSwgTnVtYmVyKGRlbGF5KSApOw0KDQogICAgICAgICAgICAgICAgICAgIGlmKCB0aW1lb3V0ICE9PSAnJyApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0X2Nsb3NlcG9wdXAgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICQubWFnbmlmaWNQb3B1cC5jbG9zZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgTnVtYmVyKGRlbGF5KSArIE51bWJlcih0aW1lb3V0KSApOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSGFzaCBGb3J3YXJkaW5nICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1faGFzaEZvcndhcmRpbmc6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoKSB7DQogICAgICAgICAgICAgICAgdmFyIGhhc2hfb2Zmc2V0ID0gJCh3aW5kb3cubG9jYXRpb24uaGFzaCkub2Zmc2V0KCkudG9wOw0KICAgICAgICAgICAgICAgICQoImh0bWwsIGJvZHkiKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiBoYXNoX29mZnNldA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCYWNrZ3JvdW5kIGltYWdlLCBjb2xvciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fY3VzdG9tRGF0YUF0dHJpYnV0ZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJCgnW2RhdGEtYmctY29sb3JdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygiY3NzVGV4dCIsICJiYWNrZ3JvdW5kOiAiICsgJCh0aGlzKS5kYXRhKCJiZy1jb2xvciIpICsgIiAhaW1wb3J0YW50OyIpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS1iZy1pbWddJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnYmFja2dyb3VuZC1pbWFnZScsICd1cmwoJyArICQodGhpcykuZGF0YSgiYmctaW1nIikgKyAnKScpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS10ZXh0LWNvbG9yXScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ2NvbG9yJywgJCh0aGlzKS5kYXRhKCJ0ZXh0LWNvbG9yIikpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS1mb250LXNpemVdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnZm9udC1zaXplJywgJCh0aGlzKS5kYXRhKCJmb250LXNpemUiKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICQoJ1tkYXRhLWhlaWdodF0nKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICQodGhpcykuY3NzKCdoZWlnaHQnLCAkKHRoaXMpLmRhdGEoImhlaWdodCIpKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJCgnW2RhdGEtd2lkdGhdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnd2lkdGgnLCAkKHRoaXMpLmRhdGEoIndpZHRoIikpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS1ib3JkZXJdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnYm9yZGVyJywgJCh0aGlzKS5kYXRhKCJib3JkZXIiKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICQoJ1tkYXRhLW1hcmdpbi10b3BdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnbWFyZ2luLXRvcCcsICQodGhpcykuZGF0YSgibWFyZ2luLXRvcCIpKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJCgnW2RhdGEtbWFyZ2luLXJpZ2h0XScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ21hcmdpbi1yaWdodCcsICQodGhpcykuZGF0YSgibWFyZ2luLXJpZ2h0IikpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS1tYXJnaW4tYm90dG9tXScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ21hcmdpbi1ib3R0b20nLCAkKHRoaXMpLmRhdGEoIm1hcmdpbi1ib3R0b20iKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICQoJ1tkYXRhLW1hcmdpbi1sZWZ0XScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ21hcmdpbi1sZWZ0JywgJCh0aGlzKS5kYXRhKCJtYXJnaW4tbGVmdCIpKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEJhY2tncm91bmQgUGFyYWxsYXggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9wYXJhbGxheEJnSW5pdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAoIVRIRU1FTUFTQ09ULmlzTW9iaWxlLmFueSgpICYmICR3aW5kb3cud2lkdGgoKSA+PSA4MDAgKSB7DQogICAgICAgICAgICAgICAgJCgnLnBhcmFsbGF4JykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfcGFyYWxsYXhfcmF0aW8gPSAoICQodGhpcykuZGF0YSgicGFyYWxsYXgtcmF0aW8iKSA9PT0gdW5kZWZpbmVkICkgPyAnMC41JzogJCh0aGlzKS5kYXRhKCJwYXJhbGxheC1yYXRpbyIpOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmFsbGF4KCI1MCUiLCBkYXRhX3BhcmFsbGF4X3JhdGlvKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJCgnLnBhcmFsbGF4JykuYWRkQ2xhc3MoIm1vYmlsZS1wYXJhbGxheCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEhvbWUgUmVzaXplIEZ1bGxzY3JlZW4gLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3Jlc2l6ZUZ1bGxzY3JlZW46IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHdpbmRvd0hlaWdodCA9ICR3aW5kb3cuaGVpZ2h0KCk7DQogICAgICAgICAgICAkKCcuZnVsbHNjcmVlbiwgLnJldnNsaWRlci1mdWxsc2NyZWVuJykuaGVpZ2h0KHdpbmRvd0hlaWdodCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNYWduaWZpYyBQb3B1cCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgDQogICAgICAgIFRNX21hZ25pZmljUG9wdXBfbGlnaHRib3g6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgJGltYWdlX3BvcHVwX2xpZ2h0Ym94ID0gJCgnLmltYWdlLXBvcHVwLWxpZ2h0Ym94Jyk7DQogICAgICAgICAgICBpZiggJGltYWdlX3BvcHVwX2xpZ2h0Ym94Lmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGltYWdlX3BvcHVwX2xpZ2h0Ym94Lm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLW5vLW1hcmdpbnMgbWZwLWZhZGUnLCAvLyBjbGFzcyB0byByZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBsZWZ0IGFuZCByaWdodCBzaWRlDQogICAgICAgICAgICAgICAgICAgIGltYWdlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbEZpdDogdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkaW1hZ2VfcG9wdXBfdmVydGljYWxfZml0ID0gJCgnLmltYWdlLXBvcHVwLXZlcnRpY2FsLWZpdCcpOw0KICAgICAgICAgICAgaWYoICRpbWFnZV9wb3B1cF92ZXJ0aWNhbF9maXQubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkaW1hZ2VfcG9wdXBfdmVydGljYWxfZml0Lm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdtZnAtaW1nLW1vYmlsZScsDQogICAgICAgICAgICAgICAgICAgIGltYWdlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbEZpdDogdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkaW1hZ2VfcG9wdXBfZml0X3dpZHRoID0gJCgnLmltYWdlLXBvcHVwLWZpdC13aWR0aCcpOw0KICAgICAgICAgICAgaWYoICRpbWFnZV9wb3B1cF9maXRfd2lkdGgubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkaW1hZ2VfcG9wdXBfZml0X3dpZHRoLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBpbWFnZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxGaXQ6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRpbWFnZV9wb3B1cF9ub19tYXJnaW5zID0gJCgnLmltYWdlLXBvcHVwLW5vLW1hcmdpbnMnKTsNCiAgICAgICAgICAgIGlmKCAkaW1hZ2VfcG9wdXBfbm9fbWFyZ2lucy5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRpbWFnZV9wb3B1cF9ub19tYXJnaW5zLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLW5vLW1hcmdpbnMgbWZwLXdpdGgtem9vbScsIC8vIGNsYXNzIHRvIHJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGxlZnQgYW5kIHJpZ2h0IHNpZGUNCiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsRml0OiB0cnVlDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHpvb206IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwIC8vIGRvbid0IGZvZ2V0IHRvIGNoYW5nZSB0aGUgZHVyYXRpb24gYWxzbyBpbiBDU1MNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJHBvcHVwX2dhbGxlcnkgPSAkKCcucG9wdXAtZ2FsbGVyeScpOw0KICAgICAgICAgICAgaWYoICRwb3B1cF9nYWxsZXJ5Lmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHBvcHVwX2dhbGxlcnkubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlOiAnYScsDQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsDQogICAgICAgICAgICAgICAgICAgIHRMb2FkaW5nOiAnTG9hZGluZyBpbWFnZSAjJWN1cnIlLi4uJywNCiAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLWltZy1tb2JpbGUnLA0KICAgICAgICAgICAgICAgICAgICBnYWxsZXJ5OiB7DQogICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGVCeUltZ0NsaWNrOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgcHJlbG9hZDogWzAsMV0gLy8gV2lsbCBwcmVsb2FkIDAgLSBiZWZvcmUgY3VycmVudCwgYW5kIDEgYWZ0ZXIgdGhlIGN1cnJlbnQgaW1hZ2UNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRFcnJvcjogJzxhIGhyZWY9IiV1cmwlIj5UaGUgaW1hZ2UgIyVjdXJyJTwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVTcmM6IGZ1bmN0aW9uKGl0ZW0pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5lbC5hdHRyKCd0aXRsZScpICsgJzxzbWFsbD5ieSBNYXJzZWwgVmFuIE9vc3Rlbjwvc21hbGw+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJHpvb21fZ2FsbGVyeSA9ICQoJy56b29tLWdhbGxlcnknKTsNCiAgICAgICAgICAgIGlmKCAkem9vbV9nYWxsZXJ5Lmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHpvb21fZ2FsbGVyeS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgICAgICAgICAgZGVsZWdhdGU6ICdhJywNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltYWdlJywNCiAgICAgICAgICAgICAgICAgICAgY2xvc2VPbkNvbnRlbnRDbGljazogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLXdpdGgtem9vbSBtZnAtaW1nLW1vYmlsZScsDQogICAgICAgICAgICAgICAgICAgIGltYWdlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbEZpdDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlU3JjOiBmdW5jdGlvbihpdGVtKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZWwuYXR0cigndGl0bGUnKSArICcgJm1pZGRvdDsgPGEgY2xhc3M9ImltYWdlLXNvdXJjZS1saW5rIiBocmVmPSInK2l0ZW0uZWwuYXR0cignZGF0YS1zb3VyY2UnKSsnIiB0YXJnZXQ9Il9ibGFuayI+aW1hZ2Ugc291cmNlPC9hPic7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGdhbGxlcnk6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgem9vbTogew0KICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAsIC8vIGRvbid0IGZvZ2V0IHRvIGNoYW5nZSB0aGUgZHVyYXRpb24gYWxzbyBpbiBDU1MNCiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lcjogZnVuY3Rpb24oZWxlbWVudCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50LmZpbmQoJ2ltZycpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgJHBvcHVwX3l0X3ZpbWVvX2dtYXAgPSAkKCcucG9wdXAteW91dHViZSwgLnBvcHVwLXZpbWVvLCAucG9wdXAtZ21hcHMnKTsNCiAgICAgICAgICAgIGlmKCAkcG9wdXBfeXRfdmltZW9fZ21hcC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRwb3B1cF95dF92aW1lb19nbWFwLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICBkaXNhYmxlT246IDcwMCwNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lmcmFtZScsDQogICAgICAgICAgICAgICAgICAgIG1haW5DbGFzczogJ21mcC1mYWRlJywNCiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhbERlbGF5OiAxNjAsDQogICAgICAgICAgICAgICAgICAgIHByZWxvYWRlcjogZmFsc2UsDQoNCiAgICAgICAgICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJHBvcHVwX3dpdGhfem9vbV9hbmltID0gJCgnLnBvcHVwLXdpdGgtem9vbS1hbmltJyk7DQogICAgICAgICAgICBpZiggJHBvcHVwX3dpdGhfem9vbV9hbmltLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHBvcHVwX3dpdGhfem9vbV9hbmltLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW5saW5lJywNCg0KICAgICAgICAgICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBmaXhlZEJnUG9zOiB0cnVlLA0KDQogICAgICAgICAgICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLA0KDQogICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBwcmVsb2FkZXI6IGZhbHNlLA0KDQogICAgICAgICAgICAgICAgICAgIG1pZENsaWNrOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICByZW1vdmFsRGVsYXk6IDMwMCwNCiAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbXktbWZwLXpvb20taW4nDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkcG9wdXBfd2l0aF9tb3ZlX2FuaW0gPSAkKCcucG9wdXAtd2l0aC1tb3ZlLWFuaW0nKTsNCiAgICAgICAgICAgIGlmKCAkcG9wdXBfd2l0aF9tb3ZlX2FuaW0ubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcG9wdXBfd2l0aF9tb3ZlX2FuaW0ubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbmxpbmUnLA0KDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQmdQb3M6IHRydWUsDQoNCiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsDQoNCiAgICAgICAgICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIHByZWxvYWRlcjogZmFsc2UsDQoNCiAgICAgICAgICAgICAgICAgICAgbWlkQ2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIHJlbW92YWxEZWxheTogMzAwLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdteS1tZnAtc2xpZGUtYm90dG9tJw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgJGFqYXhsb2FkX3BvcHVwID0gJCgnLmFqYXhsb2FkLXBvcHVwJyk7DQogICAgICAgICAgICBpZiggJGFqYXhsb2FkX3BvcHVwLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGFqYXhsb2FkX3BvcHVwLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgdHlwZTogJ2FqYXgnLA0KICAgICAgICAgICAgICAgICAgYWxpZ25Ub3A6IHRydWUsDQogICAgICAgICAgICAgICAgICBvdmVyZmxvd1k6ICdzY3JvbGwnLCAvLyBhcyB3ZSBrbm93IHRoYXQgcG9wdXAgY29udGVudCBpcyB0YWxsIHdlIHNldCBzY3JvbGwgb3ZlcmZsb3cgYnkgZGVmYXVsdCB0byBhdm9pZCBqdW1wDQogICAgICAgICAgICAgICAgICBjYWxsYmFja3M6IHsNCiAgICAgICAgICAgICAgICAgICAgcGFyc2VBamF4OiBmdW5jdGlvbihtZnBSZXNwb25zZSkgew0KICAgICAgICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fZGF0ZVBpY2tlcigpOw0KICAgICAgICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fc2xpZGVyUmFuZ2UoKTsNCiAgICAgICAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2Rkc2xpY2soKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJGZvcm1fYWpheF9sb2FkID0gJCgnLmZvcm0tYWpheC1sb2FkJyk7DQogICAgICAgICAgICBpZiggJGZvcm1fYWpheF9sb2FkLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGZvcm1fYWpheF9sb2FkLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgdHlwZTogJ2FqYXgnDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIHZhciAkcG9wdXBfd2l0aF9mb3JtID0gJCgnLnBvcHVwLXdpdGgtZm9ybScpOw0KICAgICAgICAgICAgaWYoICRwb3B1cF93aXRoX2Zvcm0ubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcG9wdXBfd2l0aF9mb3JtLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW5saW5lJywNCiAgICAgICAgICAgICAgICAgICAgcHJlbG9hZGVyOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgZm9jdXM6ICcjbmFtZScsDQoNCiAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLW5vLW1hcmdpbnMgbWZwLWZhZGUnLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogdHJ1ZSwNCg0KICAgICAgICAgICAgICAgICAgICAvLyBXaGVuIGVsZW1lbmVkIGlzIGZvY3VzZWQsIHNvbWUgbW9iaWxlIGJyb3dzZXJzIGluIHNvbWUgY2FzZXMgem9vbSBpbg0KICAgICAgICAgICAgICAgICAgICAvLyBJdCBsb29rcyBub3QgbmljZSwgc28gd2UgZGlzYWJsZSBpdDoNCiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgICAgICAgYmVmb3JlT3BlbjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZigkd2luZG93LndpZHRoKCkgPCA3MDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdC5mb2N1cyA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdC5mb2N1cyA9ICcjbmFtZSc7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkbWZwTGlnaHRib3hBamF4ID0gJCgnW2RhdGEtbGlnaHRib3g9ImFqYXgiXScpOw0KICAgICAgICAgICAgaWYoICRtZnBMaWdodGJveEFqYXgubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWZwTGlnaHRib3hBamF4Lm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYWpheCcsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBhamF4Q29udGVudEFkZGVkOiBmdW5jdGlvbihtZnBSZXNwb25zZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW46IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvL2xpZ2h0Ym94IGltYWdlDQogICAgICAgICAgICB2YXIgJG1mcExpZ2h0Ym94SW1hZ2UgPSAkKCdbZGF0YS1saWdodGJveD0iaW1hZ2UiXScpOw0KICAgICAgICAgICAgaWYoICRtZnBMaWdodGJveEltYWdlLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1mcExpZ2h0Ym94SW1hZ2UubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlT25Db250ZW50Q2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdtZnAtbm8tbWFyZ2lucyBtZnAtd2l0aC16b29tJywgLy8gY2xhc3MgdG8gcmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gbGVmdCBhbmQgcmlnaHQgc2lkZQ0KICAgICAgICAgICAgICAgICAgICBpbWFnZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxGaXQ6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvL2xpZ2h0Ym94IGdhbGxlcnkNCiAgICAgICAgICAgIHZhciAkbWZwTGlnaHRib3hHYWxsZXJ5ID0gJCgnW2RhdGEtbGlnaHRib3g9ImdhbGxlcnkiXScpOw0KICAgICAgICAgICAgaWYoICRtZnBMaWdodGJveEdhbGxlcnkubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWZwTGlnaHRib3hHYWxsZXJ5LmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlOiAnYVtkYXRhLWxpZ2h0Ym94PSJnYWxsZXJ5LWl0ZW0iXScsDQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLA0KICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VPbkNvbnRlbnRDbGljazogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1haW5DbGFzczogJ21mcC1uby1tYXJnaW5zIG1mcC13aXRoLXpvb20nLCAvLyBjbGFzcyB0byByZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBsZWZ0IGFuZCByaWdodCBzaWRlDQogICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsRml0OiB0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgZ2FsbGVyeTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGVCeUltZ0NsaWNrOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWxvYWQ6IFswLDFdIC8vIFdpbGwgcHJlbG9hZCAwIC0gYmVmb3JlIGN1cnJlbnQsIGFuZCAxIGFmdGVyIHRoZSBjdXJyZW50IGltYWdlDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwLCAvLyBkb24ndCBmb2dldCB0byBjaGFuZ2UgdGhlIGR1cmF0aW9uIGFsc28gaW4gQ1NTDQogICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lcjogZnVuY3Rpb24oZWxlbWVudCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50LmZpbmQoJ2ltZycpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vbGlnaHRib3ggaWZyYW1lDQogICAgICAgICAgICB2YXIgJG1mcExpZ2h0Ym94SWZyYW1lID0gJCgnW2RhdGEtbGlnaHRib3g9ImlmcmFtZSJdJyk7DQogICAgICAgICAgICBpZiggJG1mcExpZ2h0Ym94SWZyYW1lLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1mcExpZ2h0Ym94SWZyYW1lLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICBkaXNhYmxlT246IDYwMCwNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lmcmFtZScsDQogICAgICAgICAgICAgICAgICAgIHJlbW92YWxEZWxheTogMTYwLA0KICAgICAgICAgICAgICAgICAgICBwcmVsb2FkZXI6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vbGlnaHRib3ggaW5saW5lDQogICAgICAgICAgICB2YXIgJG1mcExpZ2h0Ym94SW5saW5lID0gJCgnW2RhdGEtbGlnaHRib3g9ImlubGluZSJdJyk7DQogICAgICAgICAgICBpZiggJG1mcExpZ2h0Ym94SW5saW5lLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1mcExpZ2h0Ym94SW5saW5lLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW5saW5lJywNCiAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLW5vLW1hcmdpbnMgbWZwLXpvb20taW4nLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbGlnaHRib3ggcG9wdXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3ByZXR0eVBob3RvX2xpZ2h0Ym94OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIC8vcHJldHR5UGhvdG8gbGlnaHRib3gNCiAgICAgICAgICAgIHZhciAkcHJldHR5X3Bob3RvX2xpZ2h0Ym94ID0gJCgiYVtkYXRhLXJlbF49J3ByZXR0eVBob3RvJ10iKTsNCiAgICAgICAgICAgIGlmKCAkcHJldHR5X3Bob3RvX2xpZ2h0Ym94Lmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHByZXR0eV9waG90b19saWdodGJveC5wcmV0dHlQaG90byh7DQogICAgICAgICAgICAgICAgICAgIGhvb2s6ICdkYXRhLXJlbCcsDQogICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbl9zcGVlZDonbm9ybWFsJywNCiAgICAgICAgICAgICAgICAgICAgdGhlbWU6J2xpZ2h0X3NxdWFyZScsDQogICAgICAgICAgICAgICAgICAgIHNsaWRlc2hvdzozMDAwLCANCiAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXlfc2xpZGVzaG93OiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgc29jaWFsX3Rvb2xzOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE5pdm8gTGlnaHRib3ggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX25pdm9saWdodGJveDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJG5pdm9fbGlnaHRib3ggPSAkKCdhW2RhdGEtbGlnaHRib3gtZ2FsbGVyeV0nKTsNCiAgICAgICAgICAgIGlmKCAkbml2b19saWdodGJveC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRuaXZvX2xpZ2h0Ym94Lm5pdm9MaWdodGJveCh7DQogICAgICAgICAgICAgICAgICAgIGVmZmVjdDogJ2ZhZGVTY2FsZScsDQogICAgICAgICAgICAgICAgICAgIGFmdGVyU2hvd0xpZ2h0Ym94OiBmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyICRuaXZvX2lmcmFtZSA9ICQoJy5uaXZvLWxpZ2h0Ym94LWNvbnRlbnQgPiBpZnJhbWUnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAkbml2b19pZnJhbWUubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3JjID0gJG5pdm9faWZyYW1lLmF0dHIoJ3NyYycpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRuaXZvX2lmcmFtZS5hdHRyKCdzcmMnLCBzcmMgKyAnP2F1dG9wbGF5PTEnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gV293IGluaXRpYWxpemUgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV93b3c6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHdvdyA9IG5ldyBXT1coew0KICAgICAgICAgICAgICAgIG1vYmlsZTogZmFsc2UgLy8gdHJpZ2dlciBhbmltYXRpb25zIG9uIG1vYmlsZSBkZXZpY2VzIChkZWZhdWx0IGlzIHRydWUpDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHdvdy5pbml0KCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGaXQgVmlkcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fZml0VmlkczogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkYm9keS5maXRWaWRzKCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBZVCBQbGF5ZXIgZm9yIFZpZGVvIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fWVRQbGF5ZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICR5dHViZV9wbGF5ZXIgPSAkKCIucGxheWVyIik7DQogICAgICAgICAgICBpZiggJHl0dWJlX3BsYXllci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICR5dHViZV9wbGF5ZXIubWJfWVRQbGF5ZXIoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZXF1YWxIZWlnaHRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9lcXVhbEhlaWdodERpdnM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgLyogZXF1YWwgaGVpZ2ggKi8NCiAgICAgICAgICAgIHZhciAkZXF1YWxfaGVpZ2h0ID0gJCgnLmVxdWFsLWhlaWdodCcpOw0KICAgICAgICAgICAgaWYoICRlcXVhbF9oZWlnaHQubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkZXF1YWxfaGVpZ2h0LmNoaWxkcmVuKCdkaXYnKS5jc3MoJ21pbi1oZWlnaHQnLCAnYXV0bycpOw0KICAgICAgICAgICAgICAgICRlcXVhbF9oZWlnaHQuZXF1YWxIZWlnaHRzKCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8qIGVxdWFsIGhlaWdoIGlubmVyIGRpdiAqLw0KICAgICAgICAgICAgdmFyICRlcXVhbF9oZWlnaHRfaW5uZXIgPSAkKCcuZXF1YWwtaGVpZ2h0LWlubmVyJyk7DQogICAgICAgICAgICBpZiggJGVxdWFsX2hlaWdodF9pbm5lci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRlcXVhbF9oZWlnaHRfaW5uZXIuY2hpbGRyZW4oJ2RpdicpLmNzcygnbWluLWhlaWdodCcsICdhdXRvJyk7DQogICAgICAgICAgICAgICAgJGVxdWFsX2hlaWdodF9pbm5lci5jaGlsZHJlbignZGl2JykuY2hpbGRyZW4oJ2RpdicpLmNzcygnbWluLWhlaWdodCcsICdhdXRvJyk7DQogICAgICAgICAgICAgICAgJGVxdWFsX2hlaWdodF9pbm5lci5lcXVhbEhlaWdodHMoKTsNCiAgICAgICAgICAgICAgICAkZXF1YWxfaGVpZ2h0X2lubmVyLmNoaWxkcmVuKCdkaXYnKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKCdkaXYnKS5jc3MoJ21pbi1oZWlnaHQnLCAkKHRoaXMpLmNzcygnbWluLWhlaWdodCcpKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLyogcHJpY2luZy10YWJsZSBlcXVhbCBoZWlnaCovDQogICAgICAgICAgICB2YXIgJGVxdWFsX2hlaWdodF9wcmljaW5nX3RhYmxlID0gJCgnLmVxdWFsLWhlaWdodC1wcmljaW5nLXRhYmxlJyk7DQogICAgICAgICAgICBpZiggJGVxdWFsX2hlaWdodF9wcmljaW5nX3RhYmxlLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGVxdWFsX2hlaWdodF9wcmljaW5nX3RhYmxlLmNoaWxkcmVuKCdkaXYnKS5jc3MoJ21pbi1oZWlnaHQnLCAnYXV0bycpOw0KICAgICAgICAgICAgICAgICRlcXVhbF9oZWlnaHRfcHJpY2luZ190YWJsZS5jaGlsZHJlbignZGl2JykuY2hpbGRyZW4oJ2RpdicpLmNzcygnbWluLWhlaWdodCcsICdhdXRvJyk7DQogICAgICAgICAgICAgICAgJGVxdWFsX2hlaWdodF9wcmljaW5nX3RhYmxlLmVxdWFsSGVpZ2h0cygpOw0KICAgICAgICAgICAgICAgICRlcXVhbF9oZWlnaHRfcHJpY2luZ190YWJsZS5jaGlsZHJlbignZGl2JykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jaGlsZHJlbignZGl2JykuY3NzKCdtaW4taGVpZ2h0JywgJCh0aGlzKS5jc3MoJ21pbi1oZWlnaHQnKSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICB9Ow0KDQoNCiAgICBUSEVNRU1BU0NPVC5oZWFkZXIgPSB7DQoNCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgIHZhciB0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fZnVsbHNjcmVlbk1lbnUoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fc2lkZVBhbmVsUmV2ZWFsKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3NpZGVQdXNoUGFuZWxDb250ZW50KCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3Njcm9vbFRvVG9wT25DbGljaygpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmhlYWRlci5UTV9zY3JvbGxUb0ZpeGVkKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3N0aWNreSgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmhlYWRlci5UTV90b3BuYXZBbmltYXRlKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3Njcm9sbHRvVGFyZ2V0KCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX25hdkxvY2FsU2NvcmxsKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX21lbnVDb2xsYXBzZU9uQ2xpY2soKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1faG9tZVBhcmFsbGF4RmFkZUVmZmVjdCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmhlYWRlci5UTV90b3BzZWFyY2hfdG9nZ2xlKCk7DQogICAgICAgICAgICB9LCAwKTsNCg0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1lbnVmdWxscGFnZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fZnVsbHNjcmVlbk1lbnU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRtZW51ZnVsbHBhZ2UgPSAkKCcubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUnKTsNCiAgICAgICAgICAgIGlmKCAkbWVudWZ1bGxwYWdlLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1lbnVmdWxscGFnZS5tZW51ZnVsbHBhZ2UoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTaWRlIFB1c2ggUGFuZWwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3NpZGVQYW5lbFJldmVhbDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignY2xpY2snLCAnLnNpZGUtcGFuZWwtdHJpZ2dlcicsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAkYm9keS50b2dnbGVDbGFzcygic2lkZS1wYW5lbC1vcGVuIik7DQogICAgICAgICAgICAgICAgaWYgKCBUSEVNRU1BU0NPVC5pc01vYmlsZS5hbnkoKSApIHsNCiAgICAgICAgICAgICAgICAgICAgJGJvZHkudG9nZ2xlQ2xhc3MoIm92ZXJmbG93LWhpZGRlbiIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgLy8kKCcuaGFzLXNpZGUtcGFuZWwgLmJvZHktb3ZlcmxheScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcuYm9keS1vdmVybGF5JywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICRib2R5LnRvZ2dsZUNsYXNzKCJzaWRlLXBhbmVsLW9wZW4iKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgLy9zaXRlYmFyIHRyZWUNCiAgICAgICAgICAgIC8vJCgnLnNpZGUtcGFuZWwtbmF2IC5uYXYgLnRyZWUtdG9nZ2xlciwgLnNpZGUtcGFuZWwtd2lkZ2V0IC5uYXYgLnRyZWUtdG9nZ2xlcicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcuc2lkZS1wYW5lbC1uYXYgLm5hdiAudHJlZS10b2dnbGVyLCAuc2lkZS1wYW5lbC13aWRnZXQgLm5hdiAudHJlZS10b2dnbGVyJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCkuY2hpbGRyZW4oJ3VsLnRyZWUnKS50b2dnbGUoMzAwKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERlbW8gU3dpdGNoZXIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQovKg0KICAgICAgICBUTV9zaWRlUHVzaFBhbmVsQ29udGVudDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiggJGJvZHkuaGFzQ2xhc3MoJ2hhcy1zaWRlLXBhbmVsJykgKSB7DQogICAgICAgICAgICAgICAgJC5hamF4KHsNCiAgICAgICAgICAgICAgICAgICAgdXJsOiAiYWpheC1sb2FkL3NpZGUtcHVzaC1wYW5lbC1jb250ZW50Lmh0bWwiLA0KICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkgeyAkYm9keS5hcHBlbmQoZGF0YSk7IH0sDQogICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnaHRtbCcNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBzY3JvbGxUb1RvcCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3Njcm9vbFRvVG9wOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGlmICgkd2luZG93LnNjcm9sbFRvcCgpID4gNjAwKSB7DQogICAgICAgICAgICAgICAgJCgnLnNjcm9sbFRvVG9wJykuZmFkZUluKCk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICQoJy5zY3JvbGxUb1RvcCcpLmZhZGVPdXQoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICBUTV9zY3Jvb2xUb1RvcE9uQ2xpY2s6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrJywgJy5zY3JvbGxUb1RvcCcsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAkKCdodG1sLCBib2R5JykuYW5pbWF0ZSh7DQogICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogMA0KICAgICAgICAgICAgICAgIH0sIDgwMCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBPbmUgUGFnZSBOYXYgY2xvc2Ugb24gY2xpY2sgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9tZW51Q29sbGFwc2VPbkNsaWNrOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICRkb2N1bWVudC5vbignY2xpY2snLCAnLm9uZXBhZ2UtbmF2IGEnLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgJCgnLnNob3doaWRlJykudHJpZ2dlcignY2xpY2snKTsNCiAgICAgICAgICAgICAgICAvL3JldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0gQWN0aXZlIE1lbnUgSXRlbSBvbiBSZWFjaGluZyBEaWZmZXJlbnQgU2VjdGlvbnMgLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2FjdGl2YXRlTWVudUl0ZW1PblJlYWNoOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkb25lcGFnZV9uYXYgPSAkKCcub25lcGFnZS1uYXYnKTsNCiAgICAgICAgICAgIHZhciBjdXJfcG9zID0gJHdpbmRvdy5zY3JvbGxUb3AoKSArIDI7DQogICAgICAgICAgICB2YXIgbmF2X2hlaWdodCA9ICRvbmVwYWdlX25hdi5vdXRlckhlaWdodCgpOw0KICAgICAgICAgICAgJHNlY3Rpb25zLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIHRvcCA9ICQodGhpcykub2Zmc2V0KCkudG9wIC0gbmF2X2hlaWdodCAtIDgwLA0KICAgICAgICAgICAgICAgICAgICBib3R0b20gPSB0b3AgKyAkKHRoaXMpLm91dGVySGVpZ2h0KCk7DQoNCiAgICAgICAgICAgICAgICBpZiAoY3VyX3BvcyA+PSB0b3AgJiYgY3VyX3BvcyA8PSBib3R0b20pIHsNCiAgICAgICAgICAgICAgICAgICAgJG9uZXBhZ2VfbmF2LmZpbmQoJ2EnKS5wYXJlbnQoKS5yZW1vdmVDbGFzcygnY3VycmVudCcpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsNCiAgICAgICAgICAgICAgICAgICAgJHNlY3Rpb25zLnJlbW92ZUNsYXNzKCdjdXJyZW50JykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KDQogICAgICAgICAgICAgICAgICAgIC8vJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpLmFkZENsYXNzKCdhY3RpdmUnKTsNCiAgICAgICAgICAgICAgICAgICAgJG9uZXBhZ2VfbmF2LmZpbmQoJ2FbaHJlZj0iIycgKyAkKHRoaXMpLmF0dHIoJ2lkJykgKyAnIl0nKS5wYXJlbnQoKS5hZGRDbGFzcygnY3VycmVudCcpLmFkZENsYXNzKCdhY3RpdmUnKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gb24gY2xpY2sgc2Nyb29sIHRvIHRhcmdldCB3aXRoIHNtb290aG5lc3MgLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9zY3JvbGx0b1RhcmdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAvL2pRdWVyeSBmb3IgcGFnZSBzY3JvbGxpbmcgZmVhdHVyZSAtIHJlcXVpcmVzIGpRdWVyeSBFYXNpbmcgcGx1Z2luDQogICAgICAgICAgICAkKCcuc21vb3RoLXNjcm9sbC10by10YXJnZXQsIC5mdWxsc2NyZWVuLW9uZXBhZ2UtbmF2IGEnKS5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KDQogICAgICAgICAgICAgICAgdmFyICRhbmNob3IgPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIHZhciAkaGVhcmRlcl90b3AgPSAkKCcuaGVhZGVyIC5oZWFkZXItbmF2Jyk7DQogICAgICAgICAgICAgICAgdmFyIGhlYXJkZXJfdG9wX29mZnNldCA9IDA7DQogICAgICAgICAgICAgICAgaWYgKCRoZWFyZGVyX3RvcFswXSl7DQogICAgICAgICAgICAgICAgICAgIGhlYXJkZXJfdG9wX29mZnNldCA9ICRoZWFyZGVyX3RvcC5vdXRlckhlaWdodCh0cnVlKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBoZWFyZGVyX3RvcF9vZmZzZXQgPSAwOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIC8vZm9yIHZlcnRpY2FsIG5hdiwgb2Zmc2V0IDANCiAgICAgICAgICAgICAgICBpZiAoJGJvZHkuaGFzQ2xhc3MoInZlcnRpY2FsLW5hdiIpKXsNCiAgICAgICAgICAgICAgICAgICAgaGVhcmRlcl90b3Bfb2Zmc2V0ID0gMDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB2YXIgdG9wID0gJCgkYW5jaG9yLmF0dHIoJ2hyZWYnKSkub2Zmc2V0KCkudG9wIC0gaGVhcmRlcl90b3Bfb2Zmc2V0Ow0KICAgICAgICAgICAgICAgICQoJ2h0bWwsIGJvZHknKS5zdG9wKCkuYW5pbWF0ZSh7DQogICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogdG9wDQogICAgICAgICAgICAgICAgfSwgMTUwMCwgJ2Vhc2VJbk91dEV4cG8nKTsNCg0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTY3JvbGwgbmF2aWdhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fbmF2TG9jYWxTY29ybGw6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGRhdGFfb2Zmc2V0ID0gLTYwOw0KICAgICAgICAgICAgdmFyICRsb2NhbF9zY3JvbGwgPSAkKCIjbWVudXpvcmQgLm1lbnV6b3JkLW1lbnUsICNtZW51em9yZC1yaWdodCAubWVudXpvcmQtbWVudSIpOw0KICAgICAgICAgICAgaWYoICRsb2NhbF9zY3JvbGwubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbG9jYWxfc2Nyb2xsLmxvY2FsU2Nyb2xsKHsNCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiAiYm9keSIsDQogICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiA4MDAsDQogICAgICAgICAgICAgICAgICAgIG9mZnNldDogZGF0YV9vZmZzZXQsDQogICAgICAgICAgICAgICAgICAgIGVhc2luZzogImVhc2VJbk91dEV4cG8iDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkbG9jYWxfc2Nyb2xsX290aGVyID0gJCgiI21lbnV6b3JkLXNpZGUtcGFuZWwgLm1lbnV6b3JkLW1lbnUsICNtZW51em9yZC12ZXJ0aWNhbG5hdiAubWVudXpvcmQtbWVudSwgI2Z1bGxwYWdlLW5hdiIpOw0KICAgICAgICAgICAgaWYoICRsb2NhbF9zY3JvbGxfb3RoZXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbG9jYWxfc2Nyb2xsX290aGVyLmxvY2FsU2Nyb2xsKHsNCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiAiYm9keSIsDQogICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiA4MDAsDQogICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCwNCiAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiAiZWFzZUluT3V0RXhwbyINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjb2xsYXBzZWQgbWVudSBjbG9zZSBvbiBjbGljayAtLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9zY3JvbGxUb0ZpeGVkOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQoJy5uYXZiYXItc2Nyb2xsdG9maXhlZCcpLnNjcm9sbFRvRml4ZWQoe3pJbmRleDogOTk5fSk7DQogICAgICAgICAgICAkKCcuc2Nyb2xsdG9maXhlZCcpLnNjcm9sbFRvRml4ZWQoew0KICAgICAgICAgICAgICAgIG1hcmdpblRvcDogJCgnLmhlYWRlciAuaGVhZGVyLW5hdicpLm91dGVySGVpZ2h0KHRydWUpICsgMTAsDQogICAgICAgICAgICAgICAgbGltaXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgbGltaXQgPSAkKCcjZm9vdGVyJykub2Zmc2V0KCkudG9wIC0gJCh0aGlzKS5vdXRlckhlaWdodCh0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxpbWl0Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJCgnI3NpZGViYXInKS5zY3JvbGxUb0ZpeGVkKHsNCiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICQoJy5oZWFkZXIgLmhlYWRlci1uYXYnKS5vdXRlckhlaWdodCgpICsgMjAsDQogICAgICAgICAgICAgICAgbGltaXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgbGltaXQgPSAkKCcjZm9vdGVyJykub2Zmc2V0KCkudG9wIC0gJCgnI3NpZGViYXInKS5vdXRlckhlaWdodCgpIC0gMjA7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBsaW1pdDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdGlja3kgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9zdGlja3k6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJCgiLm5hdmJhci1zdGlja3kiKS5zdGlja3koe3RvcFNwYWNpbmc6MH0pOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFdheXBvaW50IFRvcCBOYXYgU3RpY2t5IC0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3RvcG5hdkFuaW1hdGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgLyppZiAoJHdpbmRvdy5zY3JvbGxUb3AoKSA+ICg1MCkpIHsNCiAgICAgICAgICAgICAgICAkKCIubmF2YmFyLXN0aWNreS1hbmltYXRlZCIpLnJlbW92ZUNsYXNzKCJhbmltYXRlZC1hY3RpdmUiKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJCgiLm5hdmJhci1zdGlja3ktYW5pbWF0ZWQiKS5hZGRDbGFzcygiYW5pbWF0ZWQtYWN0aXZlIik7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICgkd2luZG93LnNjcm9sbFRvcCgpID4gKDUwKSkgew0KICAgICAgICAgICAgICAgICQoIi5uYXZiYXItc3RpY2t5LWFuaW1hdGVkIC5oZWFkZXItbmF2LXdyYXBwZXIgLmNvbnRhaW5lciwgLm5hdmJhci1zdGlja3ktYW5pbWF0ZWQgLmhlYWRlci1uYXYtd3JhcHBlciAuY29udGFpbmVyLWZsdWlkIikucmVtb3ZlQ2xhc3MoImFkZC1wYWRkaW5nIik7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICQoIi5uYXZiYXItc3RpY2t5LWFuaW1hdGVkIC5oZWFkZXItbmF2LXdyYXBwZXIgLmNvbnRhaW5lciwgLm5hdmJhci1zdGlja3ktYW5pbWF0ZWQgLmhlYWRlci1uYXYtd3JhcHBlciAuY29udGFpbmVyLWZsdWlkIikuYWRkQ2xhc3MoImFkZC1wYWRkaW5nIik7DQogICAgICAgICAgICB9Ki8NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTWVudXpvcmQgLSBSZXNwb25zaXZlIE1lZ2FtZW51IC0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9tZW51em9yZDogZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgIHZhciAkbWVudXpvcmQgPSAkKCIjbWVudXpvcmQiKTsNCiAgICAgICAgICAgIGlmKCAkbWVudXpvcmQubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWVudXpvcmQubWVudXpvcmQoew0KICAgICAgICAgICAgICAgICAgICBhbGlnbjogImxlZnQiLA0KICAgICAgICAgICAgICAgICAgICBlZmZlY3Q6ICJzbGlkZSIsDQogICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogIm5vbmUiLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JGaXJzdExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLWRvd24nPjwvaT4iLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JTZWNvbmRMZXZlbDogIjxpIGNsYXNzPSdmYSBmYS1hbmdsZS1yaWdodCc+PC9pPiINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRtZW51em9yZF9ydGwgPSAkKCIjbWVudXpvcmQtcnRsIik7DQogICAgICAgICAgICBpZiggJG1lbnV6b3JkX3J0bC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRtZW51em9yZF9ydGwubWVudXpvcmQoew0KICAgICAgICAgICAgICAgICAgICBhbGlnbjogImxlZnQiLA0KICAgICAgICAgICAgICAgICAgICBlZmZlY3Q6ICJzbGlkZSIsDQogICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogIm5vbmUiLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JGaXJzdExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLWRvd24nPjwvaT4iLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JTZWNvbmRMZXZlbDogIjxpIGNsYXNzPSdmYSBmYS1hbmdsZS1yaWdodCc+PC9pPiINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRtZW51em9yZF9yaWdodCA9ICQoIiNtZW51em9yZC1yaWdodCIpOw0KICAgICAgICAgICAgaWYoICRtZW51em9yZF9yaWdodC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRtZW51em9yZF9yaWdodC5tZW51em9yZCh7DQogICAgICAgICAgICAgICAgICAgIGFsaWduOiAicmlnaHQiLA0KICAgICAgICAgICAgICAgICAgICBlZmZlY3Q6ICJzbGlkZSIsDQogICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogIm5vbmUiLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JGaXJzdExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLWRvd24nPjwvaT4iLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JTZWNvbmRMZXZlbDogIjxpIGNsYXNzPSdmYSBmYS1hbmdsZS1yaWdodCc+PC9pPiINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRtZW51em9yZF9yaWdodF9ydGwgPSAkKCIjbWVudXpvcmQtcmlnaHQtcnRsIik7DQogICAgICAgICAgICBpZiggJG1lbnV6b3JkX3JpZ2h0X3J0bC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRtZW51em9yZF9yaWdodF9ydGwubWVudXpvcmQoew0KICAgICAgICAgICAgICAgICAgICBhbGlnbjogInJpZ2h0IiwNCiAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiAic2xpZGUiLA0KICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246ICJub25lIiwNCiAgICAgICAgICAgICAgICAgICAgaW5kaWNhdG9yRmlyc3RMZXZlbDogIjxpIGNsYXNzPSdmYSBmYS1hbmdsZS1kb3duJz48L2k+IiwNCiAgICAgICAgICAgICAgICAgICAgaW5kaWNhdG9yU2Vjb25kTGV2ZWw6ICI8aSBjbGFzcz0nZmEgZmEtYW5nbGUtbGVmdCc+PC9pPiINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRtZW51em9yZF9zaWRlX3BhbmVsID0gJCgiI21lbnV6b3JkLXNpZGUtcGFuZWwiKTsNCiAgICAgICAgICAgIGlmKCAkbWVudXpvcmRfc2lkZV9wYW5lbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRtZW51em9yZF9zaWRlX3BhbmVsLm1lbnV6b3JkKHsNCiAgICAgICAgICAgICAgICAgICAgYWxpZ246ICJyaWdodCIsDQogICAgICAgICAgICAgICAgICAgIGVmZmVjdDogInNsaWRlIiwNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAibm9uZSIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvckZpcnN0TGV2ZWw6ICIiLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JTZWNvbmRMZXZlbDogIjxpIGNsYXNzPSdmYSBmYS1hbmdsZS1yaWdodCc+PC9pPiINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgdmFyICRtZW51em9yZF92ZXJ0aWNhbF9uYXYgPSAkKCIjbWVudXpvcmQtdmVydGljYWxuYXYiKTsNCiAgICAgICAgICAgIGlmKCAkbWVudXpvcmRfdmVydGljYWxfbmF2Lmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1lbnV6b3JkX3ZlcnRpY2FsX25hdi5tZW51em9yZCh7DQogICAgICAgICAgICAgICAgICAgIGFsaWduOiAicmlnaHQiLA0KICAgICAgICAgICAgICAgICAgICBlZmZlY3Q6ICJzbGlkZSIsDQogICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogIm5vbmUiLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JGaXJzdExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLWRvd24nPjwvaT4iLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JTZWNvbmRMZXZlbDogIjxpIGNsYXNzPSdmYSBmYS1hbmdsZS1yaWdodCc+PC9pPiINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLSBob21lIHNlY3Rpb24gb24gc2Nyb2xsIHBhcmFsbGF4ICYgZmFkZSAtLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2hvbWVQYXJhbGxheEZhZGVFZmZlY3Q6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKCR3aW5kb3cud2lkdGgoKSA+PSAxMjAwKSB7DQogICAgICAgICAgICAgICAgdmFyIHNjcm9sbGVkID0gJHdpbmRvdy5zY3JvbGxUb3AoKTsNCiAgICAgICAgICAgICAgICAkKCcuY29udGVudC1mYWRlLWVmZmVjdCAuaG9tZS1jb250ZW50IC5ob21lLXRleHQnKS5jc3MoJ3BhZGRpbmctdG9wJywgKHNjcm9sbGVkICogMC4wNjEwKSArICclJykuY3NzKCdvcGFjaXR5JywgMSAtIChzY3JvbGxlZCAqIDAuMDAxMjApKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUb3Agc2VhcmNoIHRvZ2dsZSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV90b3BzZWFyY2hfdG9nZ2xlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcjdG9wLXNlYXJjaC10b2dnbGUnLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgICQoJy5zZWFyY2gtZm9ybS13cmFwcGVyLnRvZ2dsZScpLnRvZ2dsZUNsYXNzKCdhY3RpdmUnKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KDQogICAgfTsNCg0KICAgIFRIRU1FTUFTQ09ULndpZGdldCA9IHsNCg0KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsNCg0KICAgICAgICAgICAgdmFyIHQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9zaG9wQ2xpY2tFdmVudHMoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC53aWRnZXQuVE1fZmNDYWxlbmRlcigpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV92ZXJ0aWNhbFRpbWVsaW5lKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX3ZlcnRpY2FsTWFzb25yeVRpbWVsaW5lKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX21hc29ucnlJc290b3AoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC53aWRnZXQuVE1fcGllQ2hhcnQoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC53aWRnZXQuVE1fcHJvZ3Jlc3NCYXIoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC53aWRnZXQuVE1fZnVuZmFjdCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9vZG9tZXRlckZ1bmZhY3QoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC53aWRnZXQuVE1faW5zdGFncmFtRmVlZCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9qZmxpY2tyZmVlZCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9hY2NvcmRpb25fdG9nZ2xlcygpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV90b29sdGlwKCk7DQogICAgICAgICAgICAgICAgLy9USEVNRU1BU0NPVC53aWRnZXQuVE1fY291bnREb3duVGltZXIoKTsNCiAgICAgICAgICAgIH0sIDApOw0KDQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU2hvcCBQbHVzIE1pbnVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fc2hvcENsaWNrRXZlbnRzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcucXVhbnRpdHkgLnBsdXMnLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWwgPSBwYXJzZUludCgkKHRoaXMpLnBhcmVudCgpLmNoaWxkcmVuKCIucXR5IikudmFsKCksIDEwKTsNCiAgICAgICAgICAgICAgICBpZiAoIWlzTmFOKGN1cnJlbnRWYWwpKSB7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCkuY2hpbGRyZW4oIi5xdHkiKS52YWwoY3VycmVudFZhbCArIDEpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrJywgJy5xdWFudGl0eSAubWludXMnLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWwgPSBwYXJzZUludCgkKHRoaXMpLnBhcmVudCgpLmNoaWxkcmVuKCIucXR5IikudmFsKCksIDEwKTsNCiAgICAgICAgICAgICAgICBpZiAoIWlzTmFOKGN1cnJlbnRWYWwpICYmIGN1cnJlbnRWYWwgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCkuY2hpbGRyZW4oIi5xdHkiKS52YWwoY3VycmVudFZhbCAtIDEpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrJywgJyNjaGVja2JveC1zaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICQoIiNjaGVja291dC1zaGlwcGluZy1hZGRyZXNzIikudG9nZ2xlKHRoaXMuY2hlY2tlZCk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCg0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEV2ZW50IENhbGVuZGFyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2ZjQ2FsZW5kZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxlbmRhckV2ZW50cyAhPT0gInVuZGVmaW5lZCIgKSB7DQogICAgICAgICAgICAgICAgdmFyICRmdWxsX2V2ZW50X2NhbGVuZGFyID0gJCgnI2Z1bGwtZXZlbnQtY2FsZW5kYXInKTsNCiAgICAgICAgICAgICAgICBpZiggJGZ1bGxfZXZlbnRfY2FsZW5kYXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAgICAgJGZ1bGxfZXZlbnRfY2FsZW5kYXIuZnVsbENhbGVuZGFyKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcjogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6ICdwcmV2LG5leHQgdG9kYXknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogJ3RpdGxlJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJ21vbnRoLGFnZW5kYVdlZWssYWdlbmRhRGF5Jw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHREYXRlOiAnMjAxOC0wMS0xMicsDQogICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0SGVscGVyOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0OiBmdW5jdGlvbihzdGFydCwgZW5kKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gcHJvbXB0KCdFdmVudCBUaXRsZTonKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXZlbnREYXRhOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aXRsZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudERhdGEgPSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogc3RhcnQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjY2FsZW5kYXInKS5mdWxsQ2FsZW5kYXIoJ3JlbmRlckV2ZW50JywgZXZlbnREYXRhLCB0cnVlKTsgLy8gc3RpY2s/ID0gdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjY2FsZW5kYXInKS5mdWxsQ2FsZW5kYXIoJ3Vuc2VsZWN0Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgZWRpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBldmVudExpbWl0OiB0cnVlLCAvLyBhbGxvdyAibW9yZSIgbGluayB3aGVuIHRvbyBtYW55IGV2ZW50cw0KICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRzOiBjYWxlbmRhckV2ZW50cw0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVGltZWxpbmUgQmxvY2sgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fdmVydGljYWxUaW1lbGluZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdGltZWxpbmVCbG9ja3MgPSAkKCcuY2QtdGltZWxpbmUtYmxvY2snKSwNCiAgICAgICAgICAgICAgb2Zmc2V0ID0gMC44Ow0KDQogICAgICAgICAgICBpZiggdGltZWxpbmVCbG9ja3MubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAvL2hpZGUgdGltZWxpbmUgYmxvY2tzIHdoaWNoIGFyZSBvdXRzaWRlIHRoZSB2aWV3cG9ydA0KICAgICAgICAgICAgICAgIGhpZGVCbG9ja3ModGltZWxpbmVCbG9ja3MsIG9mZnNldCk7DQogICAgICAgICAgICAgICAgLy9vbiBzY29sbGluZywgc2hvdy9hbmltYXRlIHRpbWVsaW5lIGJsb2NrcyB3aGVuIGVudGVyIHRoZSB2aWV3cG9ydA0KICAgICAgICAgICAgICAgICR3aW5kb3cub24oJ3Njcm9sbCcsIGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAoIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpICA/IHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgc2hvd0Jsb2Nrcyh0aW1lbGluZUJsb2Nrcywgb2Zmc2V0KTsgfSwgMTAwKSA6IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXsgc2hvd0Jsb2Nrcyh0aW1lbGluZUJsb2Nrcywgb2Zmc2V0KTsgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGhpZGVCbG9ja3MoYmxvY2tzLCBvZmZzZXQpIHsNCiAgICAgICAgICAgICAgYmxvY2tzLmVhY2goZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAoICQodGhpcykub2Zmc2V0KCkudG9wID4gJHdpbmRvdy5zY3JvbGxUb3AoKSskd2luZG93LmhlaWdodCgpKm9mZnNldCApICYmICQodGhpcykuZmluZCgnLmNkLXRpbWVsaW5lLWltZywgLmNkLXRpbWVsaW5lLWNvbnRlbnQnKS5hZGRDbGFzcygnaXMtaGlkZGVuJyk7DQogICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBmdW5jdGlvbiBzaG93QmxvY2tzKGJsb2Nrcywgb2Zmc2V0KSB7DQogICAgICAgICAgICAgIGJsb2Nrcy5lYWNoKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgKCAkKHRoaXMpLm9mZnNldCgpLnRvcCA8PSAkd2luZG93LnNjcm9sbFRvcCgpKyR3aW5kb3cuaGVpZ2h0KCkqb2Zmc2V0ICYmICQodGhpcykuZmluZCgnLmNkLXRpbWVsaW5lLWltZycpLmhhc0NsYXNzKCdpcy1oaWRkZW4nKSApICYmICQodGhpcykuZmluZCgnLmNkLXRpbWVsaW5lLWltZywgLmNkLXRpbWVsaW5lLWNvbnRlbnQnKS5yZW1vdmVDbGFzcygnaXMtaGlkZGVuJykuYWRkQ2xhc3MoJ2JvdW5jZS1pbicpOw0KICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFZlcnRpY2FsIE1hc29ucnkgVGltZWxpbmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV92ZXJ0aWNhbE1hc29ucnlUaW1lbGluZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJG1hc29ucnlfdGltZWxpbmUgPSAkKCcudmVydGljYWwtbWFzb25yeS10aW1lbGluZScpOw0KICAgICAgICAgICAgaWYoICRtYXNvbnJ5X3RpbWVsaW5lLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1hc29ucnlfdGltZWxpbmUuaXNvdG9wZSh7DQogICAgICAgICAgICAgICAgICAgIGl0ZW1TZWxlY3RvciA6ICcuZWFjaC1tYXNvbnJ5LWl0ZW0nLA0KICAgICAgICAgICAgICAgICAgICBzb3J0Qnk6ICdvcmlnaW5hbC1vcmRlcicsDQogICAgICAgICAgICAgICAgICAgIGxheW91dE1vZGU6ICdtYXNvbnJ5JywNCiAgICAgICAgICAgICAgICAgICAgcmVzaXphYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLz09PT09PiBUaW1lbGluZSBQb3NpdGlvbnMNCiAgICAgICAgICAgIGZ1bmN0aW9uICB0aW1lbGluZV9vbl9sZWZ0X2FuZF9yaWdodCgpew0KICAgICAgICAgICAgICAgICRtYXNvbnJ5X3RpbWVsaW5lLmNoaWxkcmVuKCcuZWFjaC1tYXNvbnJ5LWl0ZW0nKS5lYWNoKGZ1bmN0aW9uKGluZGV4LCBlbGVtZW50KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBsYXN0X2NoaWxkID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHByZXZfbGFzdCAgPSAkKHRoaXMpLnByZXYoKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3RfY2hpbGRfb2Zmc2V0ID0gcGFyc2VJbnQobGFzdF9jaGlsZC5jc3MoJ3RvcCcpLCAxMCk7DQogICAgICAgICAgICAgICAgICAgIHZhciBwcmV2X2xhc3Rfb2Zmc2V0ICA9IHBhcnNlSW50KHByZXZfbGFzdC5jc3MoJ3RvcCcpLCAxMCk7DQogICAgICAgICAgICAgICAgICAgIHZhciBvZmZzZXRfaWNvbiAgICAgICA9IGxhc3RfY2hpbGRfb2Zmc2V0IC0gcHJldl9sYXN0X29mZnNldDsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIHZhciBnb190b3BfdG8gPSAwOw0KICAgICAgICAgICAgICAgICAgICBpZihvZmZzZXRfaWNvbil7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIG9mZnNldF9pY29uIDw9IDg3ICl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29fdG9wX3RvID0gODcgLSBvZmZzZXRfaWNvbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X2NoaWxkLmZpbmQoJy50aW1lbGluZS1wb3N0LWZvcm1hdCcpLmFuaW1hdGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGdvX3RvcF90bw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDMwMCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIGlmKCAkKHRoaXMpLnBvc2l0aW9uKCkubGVmdCA9PT0gMCApew0KICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnaXRlbS1yaWdodCcpOw0KICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnaXRlbS1sZWZ0Jyk7DQogICAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnaXRlbS1sZWZ0Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdpdGVtLXJpZ2h0Jyk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYoICRtYXNvbnJ5X3RpbWVsaW5lLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgdGltZWxpbmVfb25fbGVmdF9hbmRfcmlnaHQoKTsNCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAkd2luZG93Lm9uKCdyZXNpemUnLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHRpbWVsaW5lX29uX2xlZnRfYW5kX3JpZ2h0KCk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNYXNvbnJ5IElzb3RvcGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fbWFzb25yeUlzb3RvcDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAvL2lzb3RvcGUgZmlyc3R0aW1lIGxvYWRpbmcNCiAgICAgICAgICAgIGlmKCAkcG9ydGZvbGlvX2dhbGxlcnkubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcG9ydGZvbGlvX2dhbGxlcnkuaW1hZ2VzTG9hZGVkKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgIGlmICgkcG9ydGZvbGlvX2dhbGxlcnkuaGFzQ2xhc3MoIm1hc29ucnkiKSl7DQogICAgICAgICAgICAgICAgICAgICAgICAkcG9ydGZvbGlvX2dhbGxlcnkuaXNvdG9wZSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNlbGVjdG9yOiAnLmdhbGxlcnktaXRlbScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0TW9kZTogIm1hc29ucnkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc29ucnk6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uV2lkdGg6ICcuZ2FsbGVyeS1pdGVtLXNpemVyJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAiKiINCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2V7DQogICAgICAgICAgICAgICAgICAgICAgICAkcG9ydGZvbGlvX2dhbGxlcnkuaXNvdG9wZSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNlbGVjdG9yOiAnLmdhbGxlcnktaXRlbScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0TW9kZTogImZpdFJvd3MiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogIioiDQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICAvL2lzb3RvcGUgZmlsdGVyDQogICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignY2xpY2snLCBwb3J0Zm9saW9fZmlsdGVyLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgJChwb3J0Zm9saW9fZmlsdGVyKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygiYWN0aXZlIik7DQogICAgICAgICAgICAgICAgdmFyIGZzZWxlY3RvciA9ICQodGhpcykuZGF0YSgnZmlsdGVyJyk7DQogICAgICAgICAgICAgICAgaWYgKCRwb3J0Zm9saW9fZ2FsbGVyeS5oYXNDbGFzcygibWFzb25yeSIpKXsNCiAgICAgICAgICAgICAgICAgICAgJHBvcnRmb2xpb19nYWxsZXJ5Lmlzb3RvcGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNlbGVjdG9yOiAnLmdhbGxlcnktaXRlbScsDQogICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRNb2RlOiAibWFzb25yeSIsDQogICAgICAgICAgICAgICAgICAgICAgICBtYXNvbnJ5OiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uV2lkdGg6ICcuZ2FsbGVyeS1pdGVtLXNpemVyJw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogZnNlbGVjdG9yDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0gZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgJHBvcnRmb2xpb19nYWxsZXJ5Lmlzb3RvcGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNlbGVjdG9yOiAnLmdhbGxlcnktaXRlbScsDQogICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRNb2RlOiAiZml0Um93cyIsDQogICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGZzZWxlY3Rvcg0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULnNsaWRlci5UTV9mbGV4c2xpZGVyKCk7DQoNCiAgICAgICAgfSwNCg0KICAgICAgICBUTV9wb3J0Zm9saW9GbGV4U2xpZGVyR2FsbGVyeVBvcFVwSW5pdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJGZsZXhTbGlkZXJzID0gJHBvcnRmb2xpb19nYWxsZXJ5LmZpbmQoJy5zbGlkZXMnKTsNCiAgICAgICAgICAgIGlmKCAkZmxleFNsaWRlcnMubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkZmxleFNsaWRlcnMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBfaXRlbXMgPSAkKHRoaXMpLmZpbmQoImxpID4gYSIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbXMgPSBbXTsNCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfaXRlbXMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goe3NyYzogJChfaXRlbXNbaV0pLmF0dHIoImhyZWYiKSwgdGl0bGU6ICQoX2l0ZW1zW2ldKS5hdHRyKCJ0aXRsZSIpfSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5maW5kKCIuaWNvbnMtaG9sZGVyIikubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogaXRlbXMsDQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLA0KICAgICAgICAgICAgICAgICAgICAgICAgZ2FsbGVyeTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgVE1faXNvdG9wZUdyaWRSZWFycmFuZ2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKCRwb3J0Zm9saW9fZ2FsbGVyeS5oYXNDbGFzcygibWFzb25yeSIpKXsNCiAgICAgICAgICAgICAgICAkcG9ydGZvbGlvX2dhbGxlcnkuaXNvdG9wZSh7DQogICAgICAgICAgICAgICAgICAgIGl0ZW1TZWxlY3RvcjogJy5nYWxsZXJ5LWl0ZW0nLA0KICAgICAgICAgICAgICAgICAgICBsYXlvdXRNb2RlOiAibWFzb25yeSINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gZWxzZXsNCiAgICAgICAgICAgICAgICAkcG9ydGZvbGlvX2dhbGxlcnkuaXNvdG9wZSh7DQogICAgICAgICAgICAgICAgICAgIGl0ZW1TZWxlY3RvcjogJy5nYWxsZXJ5LWl0ZW0nLA0KICAgICAgICAgICAgICAgICAgICBsYXlvdXRNb2RlOiAiZml0Um93cyINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICBUTV9pc290b3BlR3JpZFNodWZmbGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJHBvcnRmb2xpb19nYWxsZXJ5Lmlzb3RvcGUoJ3NodWZmbGUnKTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvdW50RG93biAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9jb3VudERvd25UaW1lcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJGNsb2NrID0gJCgnI2Nsb2NrLWNvdW50LWRvd24nKTsNCiAgICAgICAgICAgIHZhciBlbmRpbmdkYXRlID0gJGNsb2NrLmRhdGEoImVuZGluZ2RhdGUiKTsNCiAgICAgICAgICAgIGlmKCAkY2xvY2subGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkY2xvY2suY291bnRkb3duKGVuZGluZ2RhdGUsIGZ1bmN0aW9uKGV2ZW50KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjb3VudGRvd25fdGV4dCA9ICcnICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8dWwgY2xhc3M9ImNvdW50ZG93bi10aW1lciI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGxpPiVEIDxzcGFuPkRheXM8L3NwYW4+PC9saT4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8bGk+JUggPHNwYW4+SG91cnM8L3NwYW4+PC9saT4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8bGk+JU0gPHNwYW4+TWludXRlczwvc3Bhbj48L2xpPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxsaT4lUyA8c3Bhbj5TZWNvbmRzPC9zcGFuPjwvbGk+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC91bD4nOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmh0bWwoZXZlbnQuc3RyZnRpbWUoY291bnRkb3duX3RleHQpKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICANCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBwaWUgY2hhcnQgLyBjaXJjbGUgc2tpbGwgYmFyIC0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fcGllQ2hhcnQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRwaWVjaGFydCA9ICQoJy5waWVjaGFydCcpOw0KICAgICAgICAgICAgaWYoICRwaWVjaGFydC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRwaWVjaGFydC5hcHBlYXIoKTsNCiAgICAgICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignYXBwZWFyJywgJy5waWVjaGFydCcsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudF9pdGVtID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50X2l0ZW0uaGFzQ2xhc3MoJ2FwcGVhcmVkJykpIHsNCg0KDQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgYmFyY29sb3IgPSAoIGN1cnJlbnRfaXRlbS5kYXRhKCJiYXJjb2xvciIpID09PSB1bmRlZmluZWQgKSA/ICcjZWYxZTI1JzogY3VycmVudF9pdGVtLmRhdGEoImJhcmNvbG9yIik7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHJhY2tjb2xvciA9ICggY3VycmVudF9pdGVtLmRhdGEoInRyYWNrY29sb3IiKSA9PT0gdW5kZWZpbmVkICkgPyAnI2Y5ZjlmOSc6IGN1cnJlbnRfaXRlbS5kYXRhKCJ0cmFja2NvbG9yIik7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2NhbGVjb2xvciA9ICggY3VycmVudF9pdGVtLmRhdGEoInNjYWxlY29sb3IiKSA9PT0gdW5kZWZpbmVkICkgPyAnI2RmZTBlMCc6IGN1cnJlbnRfaXRlbS5kYXRhKCJzY2FsZWNvbG9yIik7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGluZXdpZHRoID0gKCBjdXJyZW50X2l0ZW0uZGF0YSgibGluZXdpZHRoIikgPT09IHVuZGVmaW5lZCApID8gJzMnOiBjdXJyZW50X2l0ZW0uZGF0YSgibGluZXdpZHRoIik7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2l6ZSA9ICggY3VycmVudF9pdGVtLmRhdGEoInNpemUiKSA9PT0gdW5kZWZpbmVkICkgPyAnMTEwJzogY3VycmVudF9pdGVtLmRhdGEoInNpemUiKTsNCg0KDQogICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2l0ZW0uY3NzKCJ3aWR0aCIsIHNpemUpLmNzcygiaGVpZ2h0Iiwgc2l6ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2l0ZW0uY2hpbGRyZW4oJy5wZXJjZW50JykuY3NzKCJsaW5lLWhlaWdodCIsIHNpemUrJ3B4Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2l0ZW0uZWFzeVBpZUNoYXJ0KHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlOiAzMDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhckNvbG9yOiBiYXJjb2xvciwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja0NvbG9yOiB0cmFja2NvbG9yLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlQ29sb3I6IHNjYWxlY29sb3IsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiAnZWFzZU91dEJvdW5jZScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVdpZHRoOiBsaW5ld2lkdGgsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogc2l6ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lQ2FwOiAnc3F1YXJlJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblN0ZXA6IGZ1bmN0aW9uKGZyb20sIHRvLCBwZXJjZW50KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcy5lbCkuZmluZCgnc3BhbicpLnRleHQoTWF0aC5yb3VuZChwZXJjZW50KSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2l0ZW0uYWRkQ2xhc3MoJ2FwcGVhcmVkJyk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLSBwcm9ncmVzcyBiYXIgLyBob3Jpem9udGFsIHNraWxsIGJhciAtLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3Byb2dyZXNzQmFyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkcHJvZ3Jlc3NfYmFyID0gJCgnLnByb2dyZXNzLWJhcicpOw0KICAgICAgICAgICAgaWYoICRwcm9ncmVzc19iYXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcHJvZ3Jlc3NfYmFyLmFwcGVhcigpOw0KICAgICAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdhcHBlYXInLCAnLnByb2dyZXNzLWJhcicsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudF9pdGVtID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50X2l0ZW0uaGFzQ2xhc3MoJ2FwcGVhcmVkJykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwZXJjZW50ID0gY3VycmVudF9pdGVtLmRhdGEoJ3BlcmNlbnQnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1bml0ID0gKCBjdXJyZW50X2l0ZW0uZGF0YSgidW5pdCIpID09PSB1bmRlZmluZWQgKSA/ICIlIiA6IGN1cnJlbnRfaXRlbS5kYXRhKCJ1bml0Iik7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgYmFyY29sb3IgPSBjdXJyZW50X2l0ZW0uZGF0YSgnYmFyY29sb3InKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfaXRlbS5hcHBlbmQoJzxzcGFuIGNsYXNzPSJwZXJjZW50Ij4nICsgcGVyY2VudCArIHVuaXQgKyAnPC9zcGFuPicpLmNzcygnYmFja2dyb3VuZC1jb2xvcicsIGJhcmNvbG9yKS5jc3MoJ3dpZHRoJywgcGVyY2VudCArICclJykuYWRkQ2xhc3MoJ2FwcGVhcmVkJyk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRnVuZmFjdCBOdW1iZXIgQ291bnRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fZnVuZmFjdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJGFuaW1hdGVfbnVtYmVyID0gJCgnLmFuaW1hdGUtbnVtYmVyJyk7DQogICAgICAgICAgICBpZiggJGFuaW1hdGVfbnVtYmVyLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGFuaW1hdGVfbnVtYmVyLmFwcGVhcigpOw0KICAgICAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdhcHBlYXInLCAnLmFuaW1hdGUtbnVtYmVyJywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICRhbmltYXRlX251bWJlci5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRfaXRlbSA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRfaXRlbS5oYXNDbGFzcygnYXBwZWFyZWQnKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfaXRlbS5hbmltYXRlTnVtYmVycyhjdXJyZW50X2l0ZW0uYXR0cigiZGF0YS12YWx1ZSIpLCB0cnVlLCBwYXJzZUludChjdXJyZW50X2l0ZW0uYXR0cigiZGF0YS1hbmltYXRpb24tZHVyYXRpb24iKSwgMTApKS5hZGRDbGFzcygnYXBwZWFyZWQnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tIE9kb21ldGVyIEZ1bmZhY3QgTnVtYmVyIENvdW50ZXIgLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fb2RvbWV0ZXJGdW5mYWN0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkYW5pbWF0ZV9udW1iZXIgPSAkKCcub2RvbWV0ZXItYW5pbWF0ZS1udW1iZXInKTsNCiAgICAgICAgICAgIGlmKCAkYW5pbWF0ZV9udW1iZXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkYW5pbWF0ZV9udW1iZXIuYXBwZWFyKCk7DQogICAgICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2FwcGVhcicsICcub2RvbWV0ZXItYW5pbWF0ZS1udW1iZXInLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgJGFuaW1hdGVfbnVtYmVyLmVhY2goZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudF9pdGVtID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgICB2YXIgdiA9IGN1cnJlbnRfaXRlbS5kYXRhKCd2YWx1ZScpOw0KICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gbmV3IE9kb21ldGVyKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgZWw6IHRoaXMsDQogICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZTogKCBjdXJyZW50X2l0ZW0uZGF0YSgidGhlbWUiKSA9PT0gdW5kZWZpbmVkICkgPyAnbWluaW1hbCc6IGN1cnJlbnRfaXRlbS5kYXRhKCJ0aGVtZSIpDQogICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgby5yZW5kZXIoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICAgICAgIG8udXBkYXRlKHYpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgLyogJGFuaW1hdGVfbnVtYmVyLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudF9pdGVtID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2ID0gY3VycmVudF9pdGVtLmF0dHIoImRhdGEtdmFsdWUiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY3VycmVudF9pdGVtLmhhc0NsYXNzKCdhcHBlYXJlZCcpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3RhcnNPZG9tZXRlciA9IG5ldyBPZG9tZXRlcih7IGVsOiB0aGlzLCB0aGVtZTogJ21pbmltYWwnLCB2YWx1ZTogJzAnIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnNPZG9tZXRlci5yZW5kZXIoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJzT2RvbWV0ZXIudXBkYXRlKHYpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICAgICAgby51cGRhdGUodisrKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7DQogICAgICAgICAgICAgICAgICAgIH0pOyovDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBJbnN0YWdyYW0gRmVlZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1faW5zdGFncmFtRmVlZDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJGluc3RhZ3JhbV9mZWVkID0gJCgnLmluc3RhZ3JhbS1mZWVkJyk7DQogICAgICAgICAgICBpZiggJGluc3RhZ3JhbV9mZWVkLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGluc3RhZ3JhbV9mZWVkLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50X2RpdiA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIHZhciBpbnN0YWdyYW1GZWVkID0gbmV3IEluc3RhZmVlZCh7DQogICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGN1cnJlbnRfZGl2LmF0dHIoJ2lkJyksDQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6ICd1c2VyJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJJZDogY3VycmVudF9kaXYuZGF0YSgndXNlcmlkJyksDQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogY3VycmVudF9kaXYuZGF0YSgnYWNjZXNzdG9rZW4nKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb246IGN1cnJlbnRfZGl2LmRhdGEoJ3Jlc29sdXRpb24nKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0OiBjdXJyZW50X2Rpdi5kYXRhKCdsaW1pdCcpLA0KICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPSJpdGVtIj48ZmlndXJlPjxpbWcgc3JjPSJ7e2ltYWdlfX0iIC8+PGEgaHJlZj0ie3tsaW5rfX0iIGNsYXNzPSJsaW5rLW91dCIgdGFyZ2V0PSJfYmxhbmsiPjxpIGNsYXNzPSJmYSBmYS1saW5rIj48L2k+PC9hPjwvZmlndXJlPjwvZGl2PicsDQogICAgICAgICAgICAgICAgICAgICAgICBhZnRlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBpbnN0YWdyYW1GZWVkLnJ1bigpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJGluc3RhZ3JhbV9mZWVkX2Nhcm91c2VsID0gJCgnLmluc3RhZ3JhbS1mZWVkLWNhcm91c2VsJyk7DQogICAgICAgICAgICBpZiggJGluc3RhZ3JhbV9mZWVkX2Nhcm91c2VsLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGluc3RhZ3JhbV9mZWVkX2Nhcm91c2VsLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50X2RpdiA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIHZhciBpbnN0YWdyYW1GZWVkID0gbmV3IEluc3RhZmVlZCh7DQogICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGN1cnJlbnRfZGl2LmF0dHIoJ2lkJyksDQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6ICd1c2VyJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJJZDogY3VycmVudF9kaXYuZGF0YSgndXNlcmlkJyksDQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogY3VycmVudF9kaXYuZGF0YSgnYWNjZXNzdG9rZW4nKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdXRpb246IGN1cnJlbnRfZGl2LmRhdGEoJ3Jlc29sdXRpb24nKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0OiBjdXJyZW50X2Rpdi5kYXRhKCdsaW1pdCcpLA0KICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPSJpdGVtIj48ZmlndXJlPjxpbWcgc3JjPSJ7e2ltYWdlfX0iIC8+PGEgaHJlZj0ie3tsaW5rfX0iIGNsYXNzPSJsaW5rLW91dCIgdGFyZ2V0PSJfYmxhbmsiPjxpIGNsYXNzPSJmYSBmYS1saW5rIj48L2k+PC9hPjwvZmlndXJlPjwvZGl2PicsDQogICAgICAgICAgICAgICAgICAgICAgICBhZnRlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWN1cnJlbnRfZGl2Lmhhc0NsYXNzKCJvd2wtY2Fyb3VzZWwiKSl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfZGl2LmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfZGl2Lm93bENhcm91c2VsKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBUSEVNRU1BU0NPVC5pc1JUTC5jaGVjaygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiA0MDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb29wOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaXZlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3Njg6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBpbnN0YWdyYW1GZWVkLnJ1bigpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGbGlja3IgRmVlZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2pmbGlja3JmZWVkOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkamZsaWNrcmZlZWQgPSAkKCIuZmxpY2tyLXdpZGdldCAuZmxpY2tyLWZlZWQsIC5qZmxpY2tyZmVlZCIpOw0KICAgICAgICAgICAgaWYoICRqZmxpY2tyZmVlZC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRqZmxpY2tyZmVlZC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudF9kaXYgPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2Rpdi5qZmxpY2tyZmVlZCh7DQogICAgICAgICAgICAgICAgICAgICAgICBsaW1pdDogOSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHFzdHJpbmdzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGN1cnJlbnRfZGl2LmRhdGEoJ3VzZXJpZCcpDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVRlbXBsYXRlOiAnPGEgaHJlZj0ie3tsaW5rfX0iIHRpdGxlPSJ7e3RpdGxlfX0iIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0ie3tpbWFnZV9tfX0iIGFsdD0ie3t0aXRsZX19Ij4gIDwvYT4nDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBhY2NvcmRpb24gJiB0b2dnbGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2FjY29yZGlvbl90b2dnbGVzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkcGFuZWxfZ3JvdXBfY29sbGFwc2UgPSAkKCcucGFuZWwtZ3JvdXAgLmNvbGxhcHNlJyk7DQogICAgICAgICAgICAkcGFuZWxfZ3JvdXBfY29sbGFwc2Uub24oInNob3cuYnMuY29sbGFwc2UiLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jbG9zZXN0KCIucGFuZWwtZ3JvdXAiKS5maW5kKCJbaHJlZj0nIyIgKyAkKHRoaXMpLmF0dHIoImlkIikgKyAiJ10iKS5hZGRDbGFzcygiYWN0aXZlIik7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICRwYW5lbF9ncm91cF9jb2xsYXBzZS5vbigiaGlkZS5icy5jb2xsYXBzZSIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoIi5wYW5lbC1ncm91cCIpLmZpbmQoIltocmVmPScjIiArICQodGhpcykuYXR0cigiaWQiKSArICInXSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB0b29sdGlwICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3Rvb2x0aXA6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICR0b29sdGlwID0gJCgnW2RhdGEtdG9nZ2xlPSJ0b29sdGlwIl0nKTsNCiAgICAgICAgICAgIGlmKCAkdG9vbHRpcC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICR0b29sdGlwLnRvb2x0aXAoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVHdpdHRlciBGZWVkICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV90d2l0dGllOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkdHdpdHRlcl9mZWVkID0gJCgnLnR3aXR0ZXItZmVlZCcpOw0KICAgICAgICAgICAgdmFyICR0d2l0dGVyX2ZlZWRfY2Fyb3VzZWwgPSAkKCcudHdpdHRlci1mZWVkLWNhcm91c2VsJyk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmKCAkdHdpdHRlcl9mZWVkLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHR3aXR0ZXJfZmVlZC50d2l0dGllKHsNCiAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWU6ICR0d2l0dGVyX2ZlZWQuZGF0YSgndXNlcm5hbWUnKSwNCiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdDogJyViLiAlZCwgJVknLA0KICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJ3t7dHdlZXR9fSA8ZGl2IGNsYXNzPSJkYXRlIj57e2RhdGV9fTwvZGl2PicsDQogICAgICAgICAgICAgICAgICAgIGNvdW50OiAoICR0d2l0dGVyX2ZlZWQuZGF0YSgiY291bnQiKSA9PT0gdW5kZWZpbmVkICkgPyA0OiAkdHdpdHRlcl9mZWVkLmRhdGEoImNvdW50IiksDQogICAgICAgICAgICAgICAgICAgIGxvYWRpbmdUZXh0OiAnTG9hZGluZyEnDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmKCAkdHdpdHRlcl9mZWVkX2Nhcm91c2VsLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHR3aXR0ZXJfZmVlZF9jYXJvdXNlbC50d2l0dGllKHsNCiAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWU6ICR0d2l0dGVyX2ZlZWRfY2Fyb3VzZWwuZGF0YSgndXNlcm5hbWUnKSwNCiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdDogJyViLiAlZCwgJVknLA0KICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJ3t7dHdlZXR9fSA8ZGl2IGNsYXNzPSJkYXRlIj57e2RhdGV9fTwvZGl2PicsDQogICAgICAgICAgICAgICAgICAgIGNvdW50OiAoICR0d2l0dGVyX2ZlZWRfY2Fyb3VzZWwuZGF0YSgiY291bnQiKSA9PT0gdW5kZWZpbmVkICkgPyA0OiAkdHdpdHRlcl9mZWVkX2Nhcm91c2VsLmRhdGEoImNvdW50IiksDQogICAgICAgICAgICAgICAgICAgIGxvYWRpbmdUZXh0OiAnTG9hZGluZyEnDQogICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciAkdGhpc19jYXJvdXNlbCA9ICR0d2l0dGVyX2ZlZWRfY2Fyb3VzZWwuZmluZCgndWwnKTsNCiAgICAgICAgICAgICAgICAgICAgaWYoISR0aGlzX2Nhcm91c2VsLmhhc0NsYXNzKCJvd2wtY2Fyb3VzZWwiKSl7DQogICAgICAgICAgICAgICAgICAgICAgICAkdGhpc19jYXJvdXNlbC5hZGRDbGFzcygib3dsLWNhcm91c2VsIG93bC10aGVtZSIpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2RvdHMgPSAoICR0aGlzX2Nhcm91c2VsLmRhdGEoImRvdHMiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJHRoaXNfY2Fyb3VzZWwuZGF0YSgiZG90cyIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9uYXYgPSAoICR0aGlzX2Nhcm91c2VsLmRhdGEoIm5hdiIpPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICR0aGlzX2Nhcm91c2VsLmRhdGEoIm5hdiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kdXJhdGlvbiA9ICggJHRoaXNfY2Fyb3VzZWwuZGF0YSgiZHVyYXRpb24iKSA9PT0gdW5kZWZpbmVkICkgPyA0MDAwOiAkdGhpc19jYXJvdXNlbC5kYXRhKCJkdXJhdGlvbiIpOw0KDQogICAgICAgICAgICAgICAgICAgICR0aGlzX2Nhcm91c2VsLm93bENhcm91c2VsKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogVEhFTUVNQVNDT1QuaXNSVEwuY2hlY2soKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiBkYXRhX2R1cmF0aW9uLA0KICAgICAgICAgICAgICAgICAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTUsDQogICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiBkYXRhX2RvdHMsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGRhdGFfbmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc2ODogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9Ow0KDQogICAgVEhFTUVNQVNDT1Quc2xpZGVyID0gew0KDQogICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkgew0KDQogICAgICAgICAgICB2YXIgdCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Quc2xpZGVyLlRNX3R5cGVkQW5pbWF0aW9uKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Quc2xpZGVyLlRNX2ZsZXhzbGlkZXIoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5zbGlkZXIuVE1fb3dsQ2Fyb3VzZWwoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5zbGlkZXIuVE1fbWF4aW1hZ2VTbGlkZXIoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5zbGlkZXIuVE1fYnhzbGlkZXIoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5zbGlkZXIuVE1fYmVmb3JlQWZ0ZXJTbGlkZXIoKTsNCiAgICAgICAgICAgIH0sIDApOw0KDQogICAgICAgIH0sDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFR5cGVkIFRleHQgQ2Fyb3VzZWwgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV90eXBlZEFuaW1hdGlvbjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJHR5cGVkX3RleHRfY2Fyb3VzZWwgPSAkKCcudHlwZWQtdGV4dC1jYXJvdXNlbCcpOw0KICAgICAgICAgICAgaWYgKCAkdHlwZWRfdGV4dF9jYXJvdXNlbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICR0eXBlZF90ZXh0X2Nhcm91c2VsLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBzdHJpbmdfMSA9ICQodGhpcykuZmluZCgnc3BhbjpmaXJzdC1jaGlsZCcpLnRleHQoKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHN0cmluZ18yID0gJCh0aGlzKS5maW5kKCdzcGFuOm50aC1jaGlsZCgyKScpLnRleHQoKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHN0cmluZ18zID0gJCh0aGlzKS5maW5kKCdzcGFuOm50aC1jaGlsZCgzKScpLnRleHQoKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHN0ciA9ICcnOw0KICAgICAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmluZ18yLnRyaW0oKSB8fCAhc3RyaW5nXzMudHJpbSgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdHIgPSBbc3RyaW5nXzFdOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmICghc3RyaW5nXzMudHJpbSgpICYmIHN0cmluZ18yLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgc3RyID0gW3N0cmluZ18xLCBzdHJpbmdfMl07DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmluZ18xLmxlbmd0aCAmJiBzdHJpbmdfMi5sZW5ndGggJiYgc3RyaW5nXzMubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdHIgPSBbc3RyaW5nXzEsIHN0cmluZ18yLCBzdHJpbmdfM107DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgdmFyIHNwZWVkID0gJCh0aGlzKS5kYXRhKCdzcGVlZCcpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgYmFja19kZWxheSA9ICQodGhpcykuZGF0YSgnYmFja19kZWxheScpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgbG9vcCA9ICQodGhpcykuZGF0YSgnbG9vcCcpOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnR5cGVkKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ3M6IHN0ciwNCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVTcGVlZDogc3BlZWQsDQogICAgICAgICAgICAgICAgICAgICAgICBiYWNrU3BlZWQ6IDAsDQogICAgICAgICAgICAgICAgICAgICAgICBiYWNrRGVsYXk6IGJhY2tfZGVsYXksDQogICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3JDaGFyOiAifCIsDQogICAgICAgICAgICAgICAgICAgICAgICBsb29wOiBsb29wLA0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICd0ZXh0JywNCiAgICAgICAgICAgICAgICAgICAgICAgIGxvb3BDb3VudDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGZsZXhzbGlkZXIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9mbGV4c2xpZGVyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkZWFjaF9mbGV4X3NsaWRlciA9ICQoJy5mbGV4c2xpZGVyLXdyYXBwZXInKS5maW5kKCcuZmxleHNsaWRlcicpOw0KICAgICAgICAgICAgaWYgKCAkZWFjaF9mbGV4X3NsaWRlci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9wb3J0Zm9saW9GbGV4U2xpZGVyR2FsbGVyeVBvcFVwSW5pdCgpOw0KICAgICAgICAgICAgICAgICRlYWNoX2ZsZXhfc2xpZGVyLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciAkZmxleF9zbGlkZXIgPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kaXJlY3Rpb24gPSAoICRmbGV4X3NsaWRlci5wYXJlbnQoKS5kYXRhKCJkaXJlY3Rpb24iKSA9PT0gdW5kZWZpbmVkICkgPyAnaG9yaXpvbnRhbCc6ICRmbGV4X3NsaWRlci5wYXJlbnQoKS5kYXRhKCJkaXJlY3Rpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfY29udHJvbE5hdiA9ICggJGZsZXhfc2xpZGVyLnBhcmVudCgpLmRhdGEoImNvbnRyb2xuYXYiKSA9PT0gdW5kZWZpbmVkICkgPyB0cnVlOiAkZmxleF9zbGlkZXIucGFyZW50KCkuZGF0YSgiY29udHJvbG5hdiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kaXJlY3Rpb25uYXYgPSAoICRmbGV4X3NsaWRlci5wYXJlbnQoKS5kYXRhKCJkaXJlY3Rpb25uYXYiKSA9PT0gdW5kZWZpbmVkICkgPyB0cnVlOiAkZmxleF9zbGlkZXIucGFyZW50KCkuZGF0YSgiZGlyZWN0aW9ubmF2Iik7DQogICAgICAgICAgICAgICAgICAgICRmbGV4X3NsaWRlci5mbGV4c2xpZGVyKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogVEhFTUVNQVNDT1QuaXNSVEwuY2hlY2soKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOiAiLnNsaWRlcyA+IGxpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogInNsaWRlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2luZzogInN3aW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogZGF0YV9kaXJlY3Rpb24sDQogICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNob3c6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNob3dTcGVlZDogNzAwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvblNwZWVkOiA2MDAsDQogICAgICAgICAgICAgICAgICAgICAgICBwYXVzZU9uSG92ZXI6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbE5hdjogZGF0YV9jb250cm9sTmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uTmF2OiBkYXRhX2RpcmVjdGlvbm5hdiwNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmdW5jdGlvbihzbGlkZXIpew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlc0xvYWRlZCgkcG9ydGZvbGlvX2dhbGxlcnksIGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0Zm9saW9fZmlsdGVyX2ZpcnN0X2NoaWxkLnRyaWdnZXIoImNsaWNrIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sNTAwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX21hZ25pZmljUG9wdXBfbGlnaHRib3goKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX3ByZXR0eVBob3RvX2xpZ2h0Ym94KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9uaXZvbGlnaHRib3goKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBhZnRlcjogZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBPd2wgQ2Fyb3VzZWwgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fb3dsQ2Fyb3VzZWw6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRvd2xfY2Fyb3VzZWxfMWNvbCA9ICQoJy5vd2wtY2Fyb3VzZWwtMWNvbCwgLnRleHQtY2Fyb3VzZWwsIC5pbWFnZS1jYXJvdXNlbCwgLmZ1bGx3aWR0aC1jYXJvdXNlbCcpOw0KICAgICAgICAgICAgaWYgKCAkb3dsX2Nhcm91c2VsXzFjb2wubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICBpZighJG93bF9jYXJvdXNlbF8xY29sLmhhc0NsYXNzKCJvd2wtY2Fyb3VzZWwiKSl7DQogICAgICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfMWNvbC5hZGRDbGFzcygib3dsLWNhcm91c2VsIG93bC10aGVtZSIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzFjb2wuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZG90cyA9ICggJCh0aGlzKS5kYXRhKCJkb3RzIikgPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgiZG90cyIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9uYXYgPSAoICQodGhpcykuZGF0YSgibmF2IikgPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgibmF2Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2R1cmF0aW9uID0gKCAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIikgPT09IHVuZGVmaW5lZCApID8gNDAwMDogJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm93bENhcm91c2VsKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogVEhFTUVNQVNDT1QuaXNSVEwuY2hlY2soKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiBkYXRhX2R1cmF0aW9uLA0KICAgICAgICAgICAgICAgICAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgZG90czogZGF0YV9kb3RzLA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2OiBkYXRhX25hdiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdlRleHQ6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tbGVmdCI+PC9pPicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXJpZ2h0Ij48L2k+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRvd2xfY2Fyb3VzZWxfMmNvbCA9ICQoJy5vd2wtY2Fyb3VzZWwtMmNvbCcpOw0KICAgICAgICAgICAgaWYgKCAkb3dsX2Nhcm91c2VsXzJjb2wubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICBpZighJG93bF9jYXJvdXNlbF8yY29sLmhhc0NsYXNzKCJvd2wtY2Fyb3VzZWwiKSl7DQogICAgICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfMmNvbC5hZGRDbGFzcygib3dsLWNhcm91c2VsIG93bC10aGVtZSIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzJjb2wuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZG90cyA9ICggJCh0aGlzKS5kYXRhKCJkb3RzIikgPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgiZG90cyIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9uYXYgPSAoICQodGhpcykuZGF0YSgibmF2Iik9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJuYXYiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZHVyYXRpb24gPSAoICQodGhpcykuZGF0YSgiZHVyYXRpb24iKSA9PT0gdW5kZWZpbmVkICkgPyA0MDAwOiAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIik7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBUSEVNRU1BU0NPVC5pc1JUTC5jaGVjaygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXk6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6IGRhdGFfZHVyYXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgICBsb29wOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDIsDQogICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1LA0KICAgICAgICAgICAgICAgICAgICAgICAgZG90czogZGF0YV9kb3RzLA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2OiBkYXRhX25hdiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdlRleHQ6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tbGVmdCI+PC9pPicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXJpZ2h0Ij48L2k+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ODA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA5NjA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExNzA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG93bF9jYXJvdXNlbF8zY29sID0gJCgnLm93bC1jYXJvdXNlbC0zY29sJyk7DQogICAgICAgICAgICBpZiAoICRvd2xfY2Fyb3VzZWxfM2NvbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIGlmKCEkb3dsX2Nhcm91c2VsXzNjb2wuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF8zY29sLmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfM2NvbC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kb3RzID0gKCAkKHRoaXMpLmRhdGEoImRvdHMiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJkb3RzIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25hdiA9ICggJCh0aGlzKS5kYXRhKCJuYXYiKT09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoIm5hdiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kdXJhdGlvbiA9ICggJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpID09PSB1bmRlZmluZWQgKSA/IDQwMDA6ICQodGhpcykuZGF0YSgiZHVyYXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgICAgICAgICAgICAgICBydGw6IFRIRU1FTUFTQ09ULmlzUlRMLmNoZWNrKCksDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5VGltZW91dDogZGF0YV9kdXJhdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMywNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTUsDQogICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiBkYXRhX2RvdHMsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGRhdGFfbmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2VGV4dDogWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1sZWZ0Ij48L2k+JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tcmlnaHQiPjwvaT4nDQogICAgICAgICAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ4MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTE3MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCg0KICAgICAgICAgICAgdmFyICRvd2xfY2Fyb3VzZWxfNGNvbCA9ICQoJy5vd2wtY2Fyb3VzZWwtNGNvbCcpOw0KICAgICAgICAgICAgaWYgKCAkb3dsX2Nhcm91c2VsXzRjb2wubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICBpZighJG93bF9jYXJvdXNlbF80Y29sLmhhc0NsYXNzKCJvd2wtY2Fyb3VzZWwiKSl7DQogICAgICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfNGNvbC5hZGRDbGFzcygib3dsLWNhcm91c2VsIG93bC10aGVtZSIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzRjb2wuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZG90cyA9ICggJCh0aGlzKS5kYXRhKCJkb3RzIikgPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgiZG90cyIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9uYXYgPSAoICQodGhpcykuZGF0YSgibmF2Iik9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJuYXYiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZHVyYXRpb24gPSAoICQodGhpcykuZGF0YSgiZHVyYXRpb24iKSA9PT0gdW5kZWZpbmVkICkgPyA0MDAwOiAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIik7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBUSEVNRU1BU0NPVC5pc1JUTC5jaGVjaygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXk6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6IGRhdGFfZHVyYXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgICBsb29wOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDQsDQogICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1LA0KICAgICAgICAgICAgICAgICAgICAgICAgZG90czogZGF0YV9kb3RzLA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2OiBkYXRhX25hdiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdlRleHQ6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tbGVmdCI+PC9pPicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXJpZ2h0Ij48L2k+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ4MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTE3MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkb3dsX2Nhcm91c2VsXzVjb2wgPSAkKCcub3dsLWNhcm91c2VsLTVjb2wnKTsNCiAgICAgICAgICAgIGlmICggJG93bF9jYXJvdXNlbF81Y29sLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgaWYoISRvd2xfY2Fyb3VzZWxfNWNvbC5oYXNDbGFzcygib3dsLWNhcm91c2VsIikpew0KICAgICAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzVjb2wuYWRkQ2xhc3MoIm93bC1jYXJvdXNlbCBvd2wtdGhlbWUiKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF81Y29sLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2RvdHMgPSAoICQodGhpcykuZGF0YSgiZG90cyIpID09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoImRvdHMiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfbmF2ID0gKCAkKHRoaXMpLmRhdGEoIm5hdiIpPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgibmF2Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2R1cmF0aW9uID0gKCAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIikgPT09IHVuZGVmaW5lZCApID8gNDAwMDogJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm93bENhcm91c2VsKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogVEhFTUVNQVNDT1QuaXNSVEwuY2hlY2soKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiBkYXRhX2R1cmF0aW9uLA0KICAgICAgICAgICAgICAgICAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiA1LA0KICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGRvdHM6IGRhdGFfZG90cywNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdjogZGF0YV9uYXYsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXZUZXh0OiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWxlZnQiPjwvaT4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1yaWdodCI+PC9pPicNCiAgICAgICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaXZlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDgwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOTYwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiA0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTcwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiA1DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiA1DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRvd2xfY2Fyb3VzZWxfNmNvbCA9ICQoJy5vd2wtY2Fyb3VzZWwtNmNvbCcpOw0KICAgICAgICAgICAgaWYgKCAkb3dsX2Nhcm91c2VsXzZjb2wubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICBpZighJG93bF9jYXJvdXNlbF82Y29sLmhhc0NsYXNzKCJvd2wtY2Fyb3VzZWwiKSl7DQogICAgICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfNmNvbC5hZGRDbGFzcygib3dsLWNhcm91c2VsIG93bC10aGVtZSIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzZjb2wuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZG90cyA9ICggJCh0aGlzKS5kYXRhKCJkb3RzIikgPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgiZG90cyIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9uYXYgPSAoICQodGhpcykuZGF0YSgibmF2Iik9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJuYXYiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZHVyYXRpb24gPSAoICQodGhpcykuZGF0YSgiZHVyYXRpb24iKSA9PT0gdW5kZWZpbmVkICkgPyA0MDAwOiAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIik7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBUSEVNRU1BU0NPVC5pc1JUTC5jaGVjaygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXk6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6IGRhdGFfZHVyYXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgICBsb29wOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDYsDQogICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1LA0KICAgICAgICAgICAgICAgICAgICAgICAgZG90czogZGF0YV9kb3RzLA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2OiBkYXRhX25hdiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdlRleHQ6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tbGVmdCI+PC9pPicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXJpZ2h0Ij48L2k+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ODA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA5NjA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExNzA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG93bF9jYXJvdXNlbF83Y29sID0gJCgnLm93bC1jYXJvdXNlbC03Y29sJyk7DQogICAgICAgICAgICBpZiAoICRvd2xfY2Fyb3VzZWxfN2NvbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIGlmKCEkb3dsX2Nhcm91c2VsXzdjb2wuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF83Y29sLmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfN2NvbC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kb3RzID0gKCAkKHRoaXMpLmRhdGEoImRvdHMiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJkb3RzIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25hdiA9ICggJCh0aGlzKS5kYXRhKCJuYXYiKT09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoIm5hdiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kdXJhdGlvbiA9ICggJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpID09PSB1bmRlZmluZWQgKSA/IDQwMDA6ICQodGhpcykuZGF0YSgiZHVyYXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgICAgICAgICAgICAgICBydGw6IFRIRU1FTUFTQ09ULmlzUlRMLmNoZWNrKCksDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5VGltZW91dDogZGF0YV9kdXJhdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNywNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTUsDQogICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiBkYXRhX2RvdHMsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGRhdGFfbmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2VGV4dDogWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1sZWZ0Ij48L2k+JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tcmlnaHQiPjwvaT4nDQogICAgICAgICAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA5NjA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExNzA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG93bF9jYXJvdXNlbF84Y29sID0gJCgnLm93bC1jYXJvdXNlbC04Y29sJyk7DQogICAgICAgICAgICBpZiAoICRvd2xfY2Fyb3VzZWxfOGNvbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIGlmKCEkb3dsX2Nhcm91c2VsXzhjb2wuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF84Y29sLmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfOGNvbC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kb3RzID0gKCAkKHRoaXMpLmRhdGEoImRvdHMiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJkb3RzIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25hdiA9ICggJCh0aGlzKS5kYXRhKCJuYXYiKT09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoIm5hdiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kdXJhdGlvbiA9ICggJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpID09PSB1bmRlZmluZWQgKSA/IDQwMDA6ICQodGhpcykuZGF0YSgiZHVyYXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgICAgICAgICAgICAgICBydGw6IFRIRU1FTUFTQ09ULmlzUlRMLmNoZWNrKCksDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5VGltZW91dDogZGF0YV9kdXJhdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogOCwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTUsDQogICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiBkYXRhX2RvdHMsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGRhdGFfbmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2VGV4dDogWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1sZWZ0Ij48L2k+JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tcmlnaHQiPjwvaT4nDQogICAgICAgICAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA5NjA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExNzA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgIH0sDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0gbWF4aW1hZ2UgRnVsbHNjcmVlbiBQYXJhbGxheCBCYWNrZ3JvdW5kIFNsaWRlciAgLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9tYXhpbWFnZVNsaWRlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJG1heGltYWdlX3NsaWRlciA9ICQoJyNtYXhpbWFnZScpOw0KICAgICAgICAgICAgaWYoICRtYXhpbWFnZV9zbGlkZXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWF4aW1hZ2Vfc2xpZGVyLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykubWF4aW1hZ2Uoew0KICAgICAgICAgICAgICAgICAgICAgICAgY3ljbGVPcHRpb25zOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZng6ICdmYWRlJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVlZDogMTUwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2OiAnLmltZy1wcmV2JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0OiAnLmltZy1uZXh0Jw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQnhTbGlkZXIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2J4c2xpZGVyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkYnhzbGlkZXIgPSAkKCcuYnhzbGlkZXInKTsNCiAgICAgICAgICAgIGlmKCAkYnhzbGlkZXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkYnhzbGlkZXIuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgJHRoaXMuYnhTbGlkZXIoew0KICAgICAgICAgICAgICAgICAgICAgICAgbW9kZTogJ3ZlcnRpY2FsJywNCiAgICAgICAgICAgICAgICAgICAgICAgIG1pblNsaWRlczogKCAkdGhpcy5kYXRhKCJtaW5zbGlkZXMiKSA9PT0gdW5kZWZpbmVkICkgPyAyOiAkdGhpcy5kYXRhKCJtaW5zbGlkZXMiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlTWFyZ2luOiAyMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VyOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZUZXh0OiAnPGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWxlZnQiPjwvaT4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFRleHQ6ICc8aSBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvaT4nDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQmVmb3JlIEFmdGVyIFNsaWRlciAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fYmVmb3JlQWZ0ZXJTbGlkZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRiZWZvcmVfYWZ0ZXJfc2xpZGVyID0gJCgnLnR3ZW50eXR3ZW50eS1jb250YWluZXInKTsNCiAgICAgICAgICAgIGlmKCAkYmVmb3JlX2FmdGVyX3NsaWRlci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRiZWZvcmVfYWZ0ZXJfc2xpZGVyLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX29mZnNldF9wY3QgPSAoICR0aGlzLmRhdGEoIm9mZnNldC1wZXJjZW50IikgPT09IHVuZGVmaW5lZCApID8gMC41OiAkdGhpcy5kYXRhKCJvZmZzZXQtcGVyY2VudCIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9vcmllbnRhdGlvbiA9ICggJHRoaXMuZGF0YSgib3JpZW50YXRpb24iKSA9PT0gdW5kZWZpbmVkICkgPyAnaG9yaXpvbnRhbCc6ICR0aGlzLmRhdGEoIm9yaWVudGF0aW9uIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2JlZm9yZV9sYWJlbCA9ICggJHRoaXMuZGF0YSgiYmVmb3JlLWxhYmVsIikgPT09IHVuZGVmaW5lZCApID8gJ0JlZm9yZSc6ICR0aGlzLmRhdGEoImJlZm9yZS1sYWJlbCIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9hZnRlcl9sYWJlbCA9ICggJHRoaXMuZGF0YSgiYWZ0ZXItbGFiZWwiKSA9PT0gdW5kZWZpbmVkICkgPyAnQWZ0ZXInOiAkdGhpcy5kYXRhKCJhZnRlci1sYWJlbCIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9ub19vdmVybGF5ID0gKCAkdGhpcy5kYXRhKCJuby1vdmVybGF5IikgPT09IHVuZGVmaW5lZCApID8gdHJ1ZTogJHRoaXMuZGF0YSgibm8tb3ZlcmxheSIpOw0KICAgICAgICAgICAgICAgICAgICAkdGhpcy50d2VudHl0d2VudHkoew0KICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9vZmZzZXRfcGN0OiBkYXRhX29mZnNldF9wY3QsIC8vIEhvdyBtdWNoIG9mIHRoZSBiZWZvcmUgaW1hZ2UgaXMgdmlzaWJsZSB3aGVuIHRoZSBwYWdlIGxvYWRzDQogICAgICAgICAgICAgICAgICAgICAgICBvcmllbnRhdGlvbjogZGF0YV9vcmllbnRhdGlvbiwgLy8gT3JpZW50YXRpb24gb2YgdGhlIGJlZm9yZSBhbmQgYWZ0ZXIgaW1hZ2VzICgnaG9yaXpvbnRhbCcgb3IgJ3ZlcnRpY2FsJykNCiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZV9sYWJlbDogZGF0YV9iZWZvcmVfbGFiZWwsIC8vIFNldCBhIGN1c3RvbSBiZWZvcmUgbGFiZWwNCiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyX2xhYmVsOiBkYXRhX2FmdGVyX2xhYmVsLCAvLyBTZXQgYSBjdXN0b20gYWZ0ZXIgbGFiZWwNCiAgICAgICAgICAgICAgICAgICAgICAgIG5vX292ZXJsYXk6IGRhdGFfbm9fb3ZlcmxheSAvL0RvIG5vdCBzaG93IHRoZSBvdmVybGF5IHdpdGggYmVmb3JlIGFuZCBhZnRlcg0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH07DQoNCg0KICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAvKiAtLS0tLS0tLS0tIGRvY3VtZW50IHJlYWR5LCB3aW5kb3cgbG9hZCwgc2Nyb2xsIGFuZCByZXNpemUgLS0tLS0tLS0tLS0tICovDQogICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgIC8vZG9jdW1lbnQgcmVhZHkNCiAgICBUSEVNRU1BU0NPVC5kb2N1bWVudE9uUmVhZHkgPSB7DQogICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5pbml0KCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuaW5pdCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1Quc2xpZGVyLmluaXQoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5pbml0KCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC53aW5kb3dPbnNjcm9sbC5pbml0KCk7DQogICAgICAgIH0NCiAgICB9Ow0KDQogICAgLy93aW5kb3cgb24gbG9hZA0KICAgIFRIRU1FTUFTQ09ULndpbmRvd09uTG9hZCA9IHsNCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV93b3coKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC53aWRnZXQuVE1fdHdpdHRpZSgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fbWFnbmlmaWNQb3B1cF9saWdodGJveCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fcHJlTG9hZGVyT25Mb2FkKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9oYXNoRm9yd2FyZGluZygpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fcGFyYWxsYXhCZ0luaXQoKTsNCiAgICAgICAgICAgIH0sIDApOw0KICAgICAgICAgICAgJHdpbmRvdy50cmlnZ2VyKCJzY3JvbGwiKTsNCiAgICAgICAgICAgICR3aW5kb3cudHJpZ2dlcigicmVzaXplIik7DQogICAgICAgIH0NCiAgICB9Ow0KDQogICAgLy93aW5kb3cgb24gc2Nyb2xsDQogICAgVEhFTUVNQVNDT1Qud2luZG93T25zY3JvbGwgPSB7DQogICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJHdpbmRvdy5vbiggJ3Njcm9sbCcsIGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3Njcm9vbFRvVG9wKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX2FjdGl2YXRlTWVudUl0ZW1PblJlYWNoKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3RvcG5hdkFuaW1hdGUoKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfTsNCg0KICAgIC8vd2luZG93IG9uIHJlc2l6ZQ0KICAgIFRIRU1FTUFTQ09ULndpbmRvd09uUmVzaXplID0gew0KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2VxdWFsSGVpZ2h0RGl2cygpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fcmVzaXplRnVsbHNjcmVlbigpOw0KICAgICAgICAgICAgfSwgNDAwKTsNCiAgICAgICAgfQ0KICAgIH07DQoNCg0KICAgIFRIRU1FTUFTQ09ULmhlYWRlci5UTV9tZW51em9yZCgpOw0KDQogICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2FsbCBGdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgJGRvY3VtZW50LnJlYWR5KA0KICAgICAgICBUSEVNRU1BU0NPVC5kb2N1bWVudE9uUmVhZHkuaW5pdA0KICAgICk7DQogICAgJHdpbmRvdy5vbignbG9hZCcsDQogICAgICAgIFRIRU1FTUFTQ09ULndpbmRvd09uTG9hZC5pbml0DQogICAgKTsNCiAgICAkd2luZG93Lm9uKCdyZXNpemUnLCANCiAgICAgICAgVEhFTUVNQVNDT1Qud2luZG93T25SZXNpemUuaW5pdA0KICAgICk7DQoNCiAgICAvL2NhbGwgZnVuY3Rpb24gYmVmb3JlIGRvY3VtZW50IHJlYWR5DQogICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9wcmVMb2FkZXJDbGlja0Rpc2FibGUoKTsNCg0KfSkoalF1ZXJ5KTsNCg=="}},"time_used":293,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":98,"receive":195,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/images/cleardot.gif","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.360Z","timestamp":1785123386360,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /images/cleardot.gif HTTP/1.1\r\nHost: www.google.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncontent-type: image/gif\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 43\r\ndate: Mon, 27 Jul 2026 03:36:26 GMT\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, no-store, must-revalidate\r\nlast-modified: Tue, 22 Oct 2019 18:30:00 GMT\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":43,"size_decoded":717,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 1","md5":"fc94fb0c3ed8a8f909dbc7630a0987ff","sha1":"56d45f8a17f5078a20af9962c992ca4678450765","sha256":"2dfe28cbdb83f01c940de6a88ab86200154fd772d568035ac568664e52068363","sha512":"c87bf81fd70cf6434ca3a6c05ad6e9bd3f1d96f77dddad8d45ee043b126b2cb07a5cf23b4137b9d8462cd8a9adf2b463ab6de2b38c93db72d2d511ca60e3b57e","ssdeep":"","tlshash":"cb900003cac8c022c2a2c0300a0c03002bbaa8300228030ec0bc30fcec2a3a38c02000","first_seen":"2023-04-05T02:54:04Z","last_seen":"2026-07-31T13:00:12.134609Z","times_seen":81902,"resource_available":true,"data":"R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}},"time_used":38,"timings":{"blocked":-1,"dns":2,"connect":20,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_bk.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.698Z","timestamp":1785123386698,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_bk.gif HTTP/1.1\r\nHost: translate.googleapis.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 848\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:11:17 GMT\r\nexpires: Fri, 23 Jul 2027 10:11:17 GMT\r\ncache-control: public, max-age=31536000\r\nage: 321909\r\nlast-modified: Sun, 25 Jun 2023 02:58:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":848,"size_decoded":1507,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 59","md5":"daf9b48977041ac85a62dc9b7c16b38d","sha1":"049dcb061470572d06fd83b287ebd1d96e6bb870","sha256":"cb1fd0e051209c32622e91cdeda967e50d80a184b185ac6a656a807986e8eb75","sha512":"99f5f27990b6b5559c751a92c04037f5d42e848a966893484af66d3f66828c29a2dddc8788d7dd4cd835e8ab6d834e74fb3eaa4e2cd72d55b2813d7aab990af2","ssdeep":"","tlshash":"1c018c0cc8700a19e3422fb0ca5b6e0429675b465d88b20fb6aa22c27d04ba48049b1c","first_seen":"2023-04-05T23:29:53Z","last_seen":"2026-07-31T12:08:53.636456Z","times_seen":11052,"resource_available":false,"data":"R0lGODlhAQA7APcAANfX19/f3+Hh4eLi4uTk5Obm5ujo6Orq6uvr6+3t7e7u7uTv++bw++fw/Ojx/Ory/O30/O71/fHx8fP4/fT5/fb6/vj7/vr8/vz9//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAQA7AAAINQAzCBxIUCCGCwgtVFhIYcKECA8jQHgw8UEDBg4aLGCwIIOEjyAlKEiA4ICBAgQGCAgQAEBAADs="}},"time_used":16,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/jquery.themepunch.tools.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.024Z","timestamp":1785123385024,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/jquery.themepunch.tools.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"1afe3-65fd8520-2ec56b8b20c6916d;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 36752\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":110563,"size_decoded":37210,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (27287), with CRLF line terminators","md5":"a748a9e56b2c639013c770506f1fd529","sha1":"537edd9b364ac005df2d1c57be873945b2fecdf6","sha256":"6eabb193731278713f4208ea84b8c7334c3dfc98f01cb074778280e1df536e62","sha512":"ade8062894443994d5dc96497426dde1e238adfb9600aab7b3713ce804934aca5e12ae3267d961268ac8a146bd06754aa110006964af95e9394dfb1ea5b825b8","ssdeep":"1536:iQpnayKBPfF5aknBDU0KsIu5XOKvITONqvUejr3P99cN7H98rYx5s14/gCsBMXw7:iJfFYoDU0xVqvUejbs7dCYdInBwD0a+","tlshash":"96b329ca35517022859622a5517f0643723bdcbab4098d3cf548d9ed3e2cc8921bffba","first_seen":"2023-03-07T01:03:49Z","last_seen":"2026-07-31T12:54:59.327744Z","times_seen":5169,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoJLQlUSEVNRVBVTkNIIFRPT0xTIFZlci4gMS4wICAgICAtDQoJIExhc3QgVXBkYXRlIG9mIFRvb2xzIDI3LjAyLjIwMTUNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KDQovKg0KKiBAZmlsZU92ZXJ2aWV3IFRvdWNoU3dpcGUgLSBqUXVlcnkgUGx1Z2luDQoqIEB2ZXJzaW9uIDEuNi45DQoqDQoqIEBhdXRob3IgTWF0dCBCcnlzb24gaHR0cDovL3d3dy5naXRodWIuY29tL21hdHRicnlzb24NCiogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWF0dGJyeXNvbi9Ub3VjaFN3aXBlLUpxdWVyeS1QbHVnaW4NCiogQHNlZSBodHRwOi8vbGFicy5za2lua2Vycy5jb20vdG91Y2hTd2lwZS8NCiogQHNlZSBodHRwOi8vcGx1Z2lucy5qcXVlcnkuY29tL3Byb2plY3QvdG91Y2hTd2lwZQ0KKg0KKiBDb3B5cmlnaHQgKGMpIDIwMTAgTWF0dCBCcnlzb24NCiogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuDQoqDQoqLw0KDQoNCg0KKGZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kJiZkZWZpbmUuYW1kLmpRdWVyeSl7ZGVmaW5lKFsianF1ZXJ5Il0sYSl9ZWxzZXthKGpRdWVyeSl9fShmdW5jdGlvbihmKXt2YXIgeT0iMS42LjkiLHA9ImxlZnQiLG89InJpZ2h0IixlPSJ1cCIseD0iZG93biIsYz0iaW4iLEE9Im91dCIsbT0ibm9uZSIscz0iYXV0byIsbD0ic3dpcGUiLHQ9InBpbmNoIixCPSJ0YXAiLGo9ImRvdWJsZXRhcCIsYj0ibG9uZ3RhcCIsej0iaG9sZCIsRT0iaG9yaXpvbnRhbCIsdT0idmVydGljYWwiLGk9ImFsbCIscj0xMCxnPSJzdGFydCIsaz0ibW92ZSIsaD0iZW5kIixxPSJjYW5jZWwiLGE9Im9udG91Y2hzdGFydCIgaW4gd2luZG93LHY9d2luZG93Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkJiYhd2luZG93Lm5hdmlnYXRvci5wb2ludGVyRW5hYmxlZCxkPXdpbmRvdy5uYXZpZ2F0b3IucG9pbnRlckVuYWJsZWR8fHdpbmRvdy5uYXZpZ2F0b3IubXNQb2ludGVyRW5hYmxlZCxDPSJUb3VjaFN3aXBlIjt2YXIgbj17ZmluZ2VyczoxLHRocmVzaG9sZDo3NSxjYW5jZWxUaHJlc2hvbGQ6bnVsbCxwaW5jaFRocmVzaG9sZDoyMCxtYXhUaW1lVGhyZXNob2xkOm51bGwsZmluZ2VyUmVsZWFzZVRocmVzaG9sZDoyNTAsbG9uZ1RhcFRocmVzaG9sZDo1MDAsZG91YmxlVGFwVGhyZXNob2xkOjIwMCxzd2lwZTpudWxsLHN3aXBlTGVmdDpudWxsLHN3aXBlUmlnaHQ6bnVsbCxzd2lwZVVwOm51bGwsc3dpcGVEb3duOm51bGwsc3dpcGVTdGF0dXM6bnVsbCxwaW5jaEluOm51bGwscGluY2hPdXQ6bnVsbCxwaW5jaFN0YXR1czpudWxsLGNsaWNrOm51bGwsdGFwOm51bGwsZG91YmxlVGFwOm51bGwsbG9uZ1RhcDpudWxsLGhvbGQ6bnVsbCx0cmlnZ2VyT25Ub3VjaEVuZDp0cnVlLHRyaWdnZXJPblRvdWNoTGVhdmU6ZmFsc2UsYWxsb3dQYWdlU2Nyb2xsOiJhdXRvIixmYWxsYmFja1RvTW91c2VFdmVudHM6dHJ1ZSxleGNsdWRlZEVsZW1lbnRzOiJsYWJlbCwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgYSwgLm5vU3dpcGUiLHByZXZlbnREZWZhdWx0RXZlbnRzOnRydWV9O2YuZm4uc3dpcGV0cD1mdW5jdGlvbihIKXt2YXIgRz1mKHRoaXMpLEY9Ry5kYXRhKEMpO2lmKEYmJnR5cGVvZiBIPT09InN0cmluZyIpe2lmKEZbSF0pe3JldHVybiBGW0hdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX1lbHNle2YuZXJyb3IoIk1ldGhvZCAiK0grIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3dpcGV0cCIpfX1lbHNle2lmKCFGJiYodHlwZW9mIEg9PT0ib2JqZWN0Inx8IUgpKXtyZXR1cm4gdy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fXJldHVybiBHfTtmLmZuLnN3aXBldHAudmVyc2lvbj15O2YuZm4uc3dpcGV0cC5kZWZhdWx0cz1uO2YuZm4uc3dpcGV0cC5waGFzZXM9e1BIQVNFX1NUQVJUOmcsUEhBU0VfTU9WRTprLFBIQVNFX0VORDpoLFBIQVNFX0NBTkNFTDpxfTtmLmZuLnN3aXBldHAuZGlyZWN0aW9ucz17TEVGVDpwLFJJR0hUOm8sVVA6ZSxET1dOOngsSU46YyxPVVQ6QX07Zi5mbi5zd2lwZXRwLnBhZ2VTY3JvbGw9e05PTkU6bSxIT1JJWk9OVEFMOkUsVkVSVElDQUw6dSxBVVRPOnN9O2YuZm4uc3dpcGV0cC5maW5nZXJzPXtPTkU6MSxUV086MixUSFJFRTozLEFMTDppfTtmdW5jdGlvbiB3KEYpe2lmKEYmJihGLmFsbG93UGFnZVNjcm9sbD09PXVuZGVmaW5lZCYmKEYuc3dpcGUhPT11bmRlZmluZWR8fEYuc3dpcGVTdGF0dXMhPT11bmRlZmluZWQpKSl7Ri5hbGxvd1BhZ2VTY3JvbGw9bX1pZihGLmNsaWNrIT09dW5kZWZpbmVkJiZGLnRhcD09PXVuZGVmaW5lZCl7Ri50YXA9Ri5jbGlja31pZighRil7Rj17fX1GPWYuZXh0ZW5kKHt9LGYuZm4uc3dpcGV0cC5kZWZhdWx0cyxGKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIEg9Zih0aGlzKTt2YXIgRz1ILmRhdGEoQyk7aWYoIUcpe0c9bmV3IEQodGhpcyxGKTtILmRhdGEoQyxHKX19KX1mdW5jdGlvbiBEKGE1LGF3KXt2YXIgYUE9KGF8fGR8fCFhdy5mYWxsYmFja1RvTW91c2VFdmVudHMpLEs9YUE/KGQ/KHY/Ik1TUG9pbnRlckRvd24iOiJwb2ludGVyZG93biIpOiJ0b3VjaHN0YXJ0Iik6Im1vdXNlZG93biIsYXo9YUE/KGQ/KHY/Ik1TUG9pbnRlck1vdmUiOiJwb2ludGVybW92ZSIpOiJ0b3VjaG1vdmUiKToibW91c2Vtb3ZlIixWPWFBPyhkPyh2PyJNU1BvaW50ZXJVcCI6InBvaW50ZXJ1cCIpOiJ0b3VjaGVuZCIpOiJtb3VzZXVwIixUPWFBP251bGw6Im1vdXNlbGVhdmUiLGFFPShkPyh2PyJNU1BvaW50ZXJDYW5jZWwiOiJwb2ludGVyY2FuY2VsIik6InRvdWNoY2FuY2VsIik7dmFyIGFoPTAsYVE9bnVsbCxhYz0wLGEyPTAsYTA9MCxIPTEsYXI9MCxhSz0wLE49bnVsbDt2YXIgYVM9ZihhNSk7dmFyIGFhPSJzdGFydCI7dmFyIFg9MDt2YXIgYVI9bnVsbDt2YXIgVT0wLGEzPTAsYTY9MCxhZT0wLE89MDt2YXIgYVg9bnVsbCxhZz1udWxsO3RyeXthUy5iaW5kKEssYU8pO2FTLmJpbmQoYUUsYmEpfWNhdGNoKGFsKXtmLmVycm9yKCJldmVudHMgbm90IHN1cHBvcnRlZCAiK0srIiwiK2FFKyIgb24galF1ZXJ5LnN3aXBldHAiKX10aGlzLmVuYWJsZT1mdW5jdGlvbigpe2FTLmJpbmQoSyxhTyk7YVMuYmluZChhRSxiYSk7cmV0dXJuIGFTfTt0aGlzLmRpc2FibGU9ZnVuY3Rpb24oKXthTCgpO3JldHVybiBhU307dGhpcy5kZXN0cm95PWZ1bmN0aW9uKCl7YUwoKTthUy5kYXRhKEMsbnVsbCk7YVM9bnVsbH07dGhpcy5vcHRpb249ZnVuY3Rpb24oYmQsYmMpe2lmKGF3W2JkXSE9PXVuZGVmaW5lZCl7aWYoYmM9PT11bmRlZmluZWQpe3JldHVybiBhd1tiZF19ZWxzZXthd1tiZF09YmN9fWVsc2V7Zi5lcnJvcigiT3B0aW9uICIrYmQrIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3dpcGV0cC5vcHRpb25zIil9cmV0dXJuIG51bGx9O2Z1bmN0aW9uIGFPKGJlKXtpZihhQygpKXtyZXR1cm59aWYoZihiZS50YXJnZXQpLmNsb3Nlc3QoYXcuZXhjbHVkZWRFbGVtZW50cyxhUykubGVuZ3RoPjApe3JldHVybn12YXIgYmY9YmUub3JpZ2luYWxFdmVudD9iZS5vcmlnaW5hbEV2ZW50OmJlO3ZhciBiZCxiZz1iZi50b3VjaGVzLGJjPWJnP2JnWzBdOmJmO2FhPWc7aWYoYmcpe1g9YmcubGVuZ3RofWVsc2V7YmUucHJldmVudERlZmF1bHQoKX1haD0wO2FRPW51bGw7YUs9bnVsbDthYz0wO2EyPTA7YTA9MDtIPTE7YXI9MDthUj1haygpO049YWIoKTtTKCk7aWYoIWJnfHwoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8YVkoKSl7YWooMCxiYyk7VT1hdSgpO2lmKFg9PTIpe2FqKDEsYmdbMV0pO2EyPWEwPWF2KGFSWzBdLnN0YXJ0LGFSWzFdLnN0YXJ0KX1pZihhdy5zd2lwZVN0YXR1c3x8YXcucGluY2hTdGF0dXMpe2JkPVAoYmYsYWEpfX1lbHNle2JkPWZhbHNlfWlmKGJkPT09ZmFsc2Upe2FhPXE7UChiZixhYSk7cmV0dXJuIGJkfWVsc2V7aWYoYXcuaG9sZCl7YWc9c2V0VGltZW91dChmLnByb3h5KGZ1bmN0aW9uKCl7YVMudHJpZ2dlcigiaG9sZCIsW2JmLnRhcmdldF0pO2lmKGF3LmhvbGQpe2JkPWF3LmhvbGQuY2FsbChhUyxiZixiZi50YXJnZXQpfX0sdGhpcyksYXcubG9uZ1RhcFRocmVzaG9sZCl9YXAodHJ1ZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYTQoYmYpe3ZhciBiaT1iZi5vcmlnaW5hbEV2ZW50P2JmLm9yaWdpbmFsRXZlbnQ6YmY7aWYoYWE9PT1ofHxhYT09PXF8fGFuKCkpe3JldHVybn12YXIgYmUsYmo9YmkudG91Y2hlcyxiZD1iaj9ialswXTpiaTt2YXIgYmc9YUkoYmQpO2EzPWF1KCk7aWYoYmope1g9YmoubGVuZ3RofWlmKGF3LmhvbGQpe2NsZWFyVGltZW91dChhZyl9YWE9aztpZihYPT0yKXtpZihhMj09MCl7YWooMSxialsxXSk7YTI9YTA9YXYoYVJbMF0uc3RhcnQsYVJbMV0uc3RhcnQpfWVsc2V7YUkoYmpbMV0pO2EwPWF2KGFSWzBdLmVuZCxhUlsxXS5lbmQpO2FLPWF0KGFSWzBdLmVuZCxhUlsxXS5lbmQpfUg9YTgoYTIsYTApO2FyPU1hdGguYWJzKGEyLWEwKX1pZigoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8IWJqfHxhWSgpKXthUT1hTShiZy5zdGFydCxiZy5lbmQpO2FtKGJmLGFRKTthaD1hVChiZy5zdGFydCxiZy5lbmQpO2FjPWFOKCk7YUooYVEsYWgpO2lmKGF3LnN3aXBlU3RhdHVzfHxhdy5waW5jaFN0YXR1cyl7YmU9UChiaSxhYSl9aWYoIWF3LnRyaWdnZXJPblRvdWNoRW5kfHxhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXt2YXIgYmM9dHJ1ZTtpZihhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXt2YXIgYmg9YVoodGhpcyk7YmM9RihiZy5lbmQsYmgpfWlmKCFhdy50cmlnZ2VyT25Ub3VjaEVuZCYmYmMpe2FhPWFEKGspfWVsc2V7aWYoYXcudHJpZ2dlck9uVG91Y2hMZWF2ZSYmIWJjKXthYT1hRChoKX19aWYoYWE9PXF8fGFhPT1oKXtQKGJpLGFhKX19fWVsc2V7YWE9cTtQKGJpLGFhKX1pZihiZT09PWZhbHNlKXthYT1xO1AoYmksYWEpfX1mdW5jdGlvbiBNKGJjKXt2YXIgYmQ9YmMub3JpZ2luYWxFdmVudD9iYy5vcmlnaW5hbEV2ZW50OmJjLGJlPWJkLnRvdWNoZXM7aWYoYmUpe2lmKGJlLmxlbmd0aCl7RygpO3JldHVybiB0cnVlfX1pZihhbigpKXtYPWFlfWEzPWF1KCk7YWM9YU4oKTtpZihiYigpfHwhYW8oKSl7YWE9cTtQKGJkLGFhKX1lbHNle2lmKGF3LnRyaWdnZXJPblRvdWNoRW5kfHwoYXcudHJpZ2dlck9uVG91Y2hFbmQ9PWZhbHNlJiZhYT09PWspKXtiYy5wcmV2ZW50RGVmYXVsdCgpO2FhPWg7UChiZCxhYSl9ZWxzZXtpZighYXcudHJpZ2dlck9uVG91Y2hFbmQmJmE3KCkpe2FhPWg7YUcoYmQsYWEsQil9ZWxzZXtpZihhYT09PWspe2FhPXE7UChiZCxhYSl9fX19YXAoZmFsc2UpO3JldHVybiBudWxsfWZ1bmN0aW9uIGJhKCl7WD0wO2EzPTA7VT0wO2EyPTA7YTA9MDtIPTE7UygpO2FwKGZhbHNlKX1mdW5jdGlvbiBMKGJjKXt2YXIgYmQ9YmMub3JpZ2luYWxFdmVudD9iYy5vcmlnaW5hbEV2ZW50OmJjO2lmKGF3LnRyaWdnZXJPblRvdWNoTGVhdmUpe2FhPWFEKGgpO1AoYmQsYWEpfX1mdW5jdGlvbiBhTCgpe2FTLnVuYmluZChLLGFPKTthUy51bmJpbmQoYUUsYmEpO2FTLnVuYmluZChheixhNCk7YVMudW5iaW5kKFYsTSk7aWYoVCl7YVMudW5iaW5kKFQsTCl9YXAoZmFsc2UpfWZ1bmN0aW9uIGFEKGJnKXt2YXIgYmY9Ymc7dmFyIGJlPWFCKCk7dmFyIGJkPWFvKCk7dmFyIGJjPWJiKCk7aWYoIWJlfHxiYyl7YmY9cX1lbHNle2lmKGJkJiZiZz09ayYmKCFhdy50cmlnZ2VyT25Ub3VjaEVuZHx8YXcudHJpZ2dlck9uVG91Y2hMZWF2ZSkpe2JmPWh9ZWxzZXtpZighYmQmJmJnPT1oJiZhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXtiZj1xfX19cmV0dXJuIGJmfWZ1bmN0aW9uIFAoYmUsYmMpe3ZhciBiZCxiZj1iZS50b3VjaGVzO2lmKChKKCl8fFcoKSl8fChRKCl8fGFZKCkpKXtpZihKKCl8fFcoKSl7YmQ9YUcoYmUsYmMsbCl9aWYoKFEoKXx8YVkoKSkmJmJkIT09ZmFsc2Upe2JkPWFHKGJlLGJjLHQpfX1lbHNle2lmKGFIKCkmJmJkIT09ZmFsc2Upe2JkPWFHKGJlLGJjLGopfWVsc2V7aWYoYXEoKSYmYmQhPT1mYWxzZSl7YmQ9YUcoYmUsYmMsYil9ZWxzZXtpZihhaSgpJiZiZCE9PWZhbHNlKXtiZD1hRyhiZSxiYyxCKX19fX1pZihiYz09PXEpe2JhKGJlKX1pZihiYz09PWgpe2lmKGJmKXtpZighYmYubGVuZ3RoKXtiYShiZSl9fWVsc2V7YmEoYmUpfX1yZXR1cm4gYmR9ZnVuY3Rpb24gYUcoYmYsYmMsYmUpe3ZhciBiZDtpZihiZT09bCl7YVMudHJpZ2dlcigic3dpcGVTdGF0dXMiLFtiYyxhUXx8bnVsbCxhaHx8MCxhY3x8MCxYLGFSXSk7aWYoYXcuc3dpcGVTdGF0dXMpe2JkPWF3LnN3aXBlU3RhdHVzLmNhbGwoYVMsYmYsYmMsYVF8fG51bGwsYWh8fDAsYWN8fDAsWCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1pZihiYz09aCYmYVcoKSl7YVMudHJpZ2dlcigic3dpcGUiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGUpe2JkPWF3LnN3aXBlLmNhbGwoYVMsYmYsYVEsYWgsYWMsWCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1zd2l0Y2goYVEpe2Nhc2UgcDphUy50cmlnZ2VyKCJzd2lwZUxlZnQiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVMZWZ0KXtiZD1hdy5zd2lwZUxlZnQuY2FsbChhUyxiZixhUSxhaCxhYyxYLGFSKX1icmVhaztjYXNlIG86YVMudHJpZ2dlcigic3dpcGVSaWdodCIsW2FRLGFoLGFjLFgsYVJdKTtpZihhdy5zd2lwZVJpZ2h0KXtiZD1hdy5zd2lwZVJpZ2h0LmNhbGwoYVMsYmYsYVEsYWgsYWMsWCxhUil9YnJlYWs7Y2FzZSBlOmFTLnRyaWdnZXIoInN3aXBlVXAiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVVcCl7YmQ9YXcuc3dpcGVVcC5jYWxsKGFTLGJmLGFRLGFoLGFjLFgsYVIpfWJyZWFrO2Nhc2UgeDphUy50cmlnZ2VyKCJzd2lwZURvd24iLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVEb3duKXtiZD1hdy5zd2lwZURvd24uY2FsbChhUyxiZixhUSxhaCxhYyxYLGFSKX1icmVha319fWlmKGJlPT10KXthUy50cmlnZ2VyKCJwaW5jaFN0YXR1cyIsW2JjLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoU3RhdHVzKXtiZD1hdy5waW5jaFN0YXR1cy5jYWxsKGFTLGJmLGJjLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1pZihiYz09aCYmYTkoKSl7c3dpdGNoKGFLKXtjYXNlIGM6YVMudHJpZ2dlcigicGluY2hJbiIsW2FLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoSW4pe2JkPWF3LnBpbmNoSW4uY2FsbChhUyxiZixhS3x8bnVsbCxhcnx8MCxhY3x8MCxYLEgsYVIpfWJyZWFrO2Nhc2UgQTphUy50cmlnZ2VyKCJwaW5jaE91dCIsW2FLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoT3V0KXtiZD1hdy5waW5jaE91dC5jYWxsKGFTLGJmLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUil9YnJlYWt9fX1pZihiZT09Qil7aWYoYmM9PT1xfHxiYz09PWgpe2NsZWFyVGltZW91dChhWCk7Y2xlYXJUaW1lb3V0KGFnKTtpZihaKCkmJiFJKCkpe089YXUoKTthWD1zZXRUaW1lb3V0KGYucHJveHkoZnVuY3Rpb24oKXtPPW51bGw7YVMudHJpZ2dlcigidGFwIixbYmYudGFyZ2V0XSk7aWYoYXcudGFwKXtiZD1hdy50YXAuY2FsbChhUyxiZixiZi50YXJnZXQpfX0sdGhpcyksYXcuZG91YmxlVGFwVGhyZXNob2xkKX1lbHNle089bnVsbDthUy50cmlnZ2VyKCJ0YXAiLFtiZi50YXJnZXRdKTtpZihhdy50YXApe2JkPWF3LnRhcC5jYWxsKGFTLGJmLGJmLnRhcmdldCl9fX19ZWxzZXtpZihiZT09ail7aWYoYmM9PT1xfHxiYz09PWgpe2NsZWFyVGltZW91dChhWCk7Tz1udWxsO2FTLnRyaWdnZXIoImRvdWJsZXRhcCIsW2JmLnRhcmdldF0pO2lmKGF3LmRvdWJsZVRhcCl7YmQ9YXcuZG91YmxlVGFwLmNhbGwoYVMsYmYsYmYudGFyZ2V0KX19fWVsc2V7aWYoYmU9PWIpe2lmKGJjPT09cXx8YmM9PT1oKXtjbGVhclRpbWVvdXQoYVgpO089bnVsbDthUy50cmlnZ2VyKCJsb25ndGFwIixbYmYudGFyZ2V0XSk7aWYoYXcubG9uZ1RhcCl7YmQ9YXcubG9uZ1RhcC5jYWxsKGFTLGJmLGJmLnRhcmdldCl9fX19fXJldHVybiBiZH1mdW5jdGlvbiBhbygpe3ZhciBiYz10cnVlO2lmKGF3LnRocmVzaG9sZCE9PW51bGwpe2JjPWFoPj1hdy50aHJlc2hvbGR9cmV0dXJuIGJjfWZ1bmN0aW9uIGJiKCl7dmFyIGJjPWZhbHNlO2lmKGF3LmNhbmNlbFRocmVzaG9sZCE9PW51bGwmJmFRIT09bnVsbCl7YmM9KGFVKGFRKS1haCk+PWF3LmNhbmNlbFRocmVzaG9sZH1yZXR1cm4gYmN9ZnVuY3Rpb24gYWYoKXtpZihhdy5waW5jaFRocmVzaG9sZCE9PW51bGwpe3JldHVybiBhcj49YXcucGluY2hUaHJlc2hvbGR9cmV0dXJuIHRydWV9ZnVuY3Rpb24gYUIoKXt2YXIgYmM7aWYoYXcubWF4VGltZVRocmVzaG9sZCl7aWYoYWM+PWF3Lm1heFRpbWVUaHJlc2hvbGQpe2JjPWZhbHNlfWVsc2V7YmM9dHJ1ZX19ZWxzZXtiYz10cnVlfXJldHVybiBiY31mdW5jdGlvbiBhbShiYyxiZCl7aWYoYXcucHJldmVudERlZmF1bHRFdmVudHM9PT1mYWxzZSl7cmV0dXJufWlmKGF3LmFsbG93UGFnZVNjcm9sbD09PW0pe2JjLnByZXZlbnREZWZhdWx0KCl9ZWxzZXt2YXIgYmU9YXcuYWxsb3dQYWdlU2Nyb2xsPT09cztzd2l0Y2goYmQpe2Nhc2UgcDppZigoYXcuc3dpcGVMZWZ0JiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9RSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSBvOmlmKChhdy5zd2lwZVJpZ2h0JiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9RSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSBlOmlmKChhdy5zd2lwZVVwJiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9dSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSB4OmlmKChhdy5zd2lwZURvd24mJmJlKXx8KCFiZSYmYXcuYWxsb3dQYWdlU2Nyb2xsIT11KSl7YmMucHJldmVudERlZmF1bHQoKX1icmVha319fWZ1bmN0aW9uIGE5KCl7dmFyIGJkPWFQKCk7dmFyIGJjPVkoKTt2YXIgYmU9YWYoKTtyZXR1cm4gYmQmJmJjJiZiZX1mdW5jdGlvbiBhWSgpe3JldHVybiAhIShhdy5waW5jaFN0YXR1c3x8YXcucGluY2hJbnx8YXcucGluY2hPdXQpfWZ1bmN0aW9uIFEoKXtyZXR1cm4gISEoYTkoKSYmYVkoKSl9ZnVuY3Rpb24gYVcoKXt2YXIgYmY9YUIoKTt2YXIgYmg9YW8oKTt2YXIgYmU9YVAoKTt2YXIgYmM9WSgpO3ZhciBiZD1iYigpO3ZhciBiZz0hYmQmJmJjJiZiZSYmYmgmJmJmO3JldHVybiBiZ31mdW5jdGlvbiBXKCl7cmV0dXJuICEhKGF3LnN3aXBlfHxhdy5zd2lwZVN0YXR1c3x8YXcuc3dpcGVMZWZ0fHxhdy5zd2lwZVJpZ2h0fHxhdy5zd2lwZVVwfHxhdy5zd2lwZURvd24pfWZ1bmN0aW9uIEooKXtyZXR1cm4gISEoYVcoKSYmVygpKX1mdW5jdGlvbiBhUCgpe3JldHVybigoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8IWEpfWZ1bmN0aW9uIFkoKXtyZXR1cm4gYVJbMF0uZW5kLnghPT0wfWZ1bmN0aW9uIGE3KCl7cmV0dXJuICEhKGF3LnRhcCl9ZnVuY3Rpb24gWigpe3JldHVybiAhIShhdy5kb3VibGVUYXApfWZ1bmN0aW9uIGFWKCl7cmV0dXJuICEhKGF3LmxvbmdUYXApfWZ1bmN0aW9uIFIoKXtpZihPPT1udWxsKXtyZXR1cm4gZmFsc2V9dmFyIGJjPWF1KCk7cmV0dXJuKFooKSYmKChiYy1PKTw9YXcuZG91YmxlVGFwVGhyZXNob2xkKSl9ZnVuY3Rpb24gSSgpe3JldHVybiBSKCl9ZnVuY3Rpb24gYXkoKXtyZXR1cm4oKFg9PT0xfHwhYSkmJihpc05hTihhaCl8fGFoPGF3LnRocmVzaG9sZCkpfWZ1bmN0aW9uIGExKCl7cmV0dXJuKChhYz5hdy5sb25nVGFwVGhyZXNob2xkKSYmKGFoPHIpKX1mdW5jdGlvbiBhaSgpe3JldHVybiAhIShheSgpJiZhNygpKX1mdW5jdGlvbiBhSCgpe3JldHVybiAhIShSKCkmJlooKSl9ZnVuY3Rpb24gYXEoKXtyZXR1cm4gISEoYTEoKSYmYVYoKSl9ZnVuY3Rpb24gRygpe2E2PWF1KCk7YWU9ZXZlbnQudG91Y2hlcy5sZW5ndGgrMX1mdW5jdGlvbiBTKCl7YTY9MDthZT0wfWZ1bmN0aW9uIGFuKCl7dmFyIGJjPWZhbHNlO2lmKGE2KXt2YXIgYmQ9YXUoKS1hNjtpZihiZDw9YXcuZmluZ2VyUmVsZWFzZVRocmVzaG9sZCl7YmM9dHJ1ZX19cmV0dXJuIGJjfWZ1bmN0aW9uIGFDKCl7cmV0dXJuICEhKGFTLmRhdGEoQysiX2ludG91Y2giKT09PXRydWUpfWZ1bmN0aW9uIGFwKGJjKXtpZihiYz09PXRydWUpe2FTLmJpbmQoYXosYTQpO2FTLmJpbmQoVixNKTtpZihUKXthUy5iaW5kKFQsTCl9fWVsc2V7YVMudW5iaW5kKGF6LGE0LGZhbHNlKTthUy51bmJpbmQoVixNLGZhbHNlKTtpZihUKXthUy51bmJpbmQoVCxMLGZhbHNlKX19YVMuZGF0YShDKyJfaW50b3VjaCIsYmM9PT10cnVlKX1mdW5jdGlvbiBhaihiZCxiYyl7dmFyIGJlPWJjLmlkZW50aWZpZXIhPT11bmRlZmluZWQ/YmMuaWRlbnRpZmllcjowO2FSW2JkXS5pZGVudGlmaWVyPWJlO2FSW2JkXS5zdGFydC54PWFSW2JkXS5lbmQueD1iYy5wYWdlWHx8YmMuY2xpZW50WDthUltiZF0uc3RhcnQueT1hUltiZF0uZW5kLnk9YmMucGFnZVl8fGJjLmNsaWVudFk7cmV0dXJuIGFSW2JkXX1mdW5jdGlvbiBhSShiYyl7dmFyIGJlPWJjLmlkZW50aWZpZXIhPT11bmRlZmluZWQ/YmMuaWRlbnRpZmllcjowO3ZhciBiZD1hZChiZSk7YmQuZW5kLng9YmMucGFnZVh8fGJjLmNsaWVudFg7YmQuZW5kLnk9YmMucGFnZVl8fGJjLmNsaWVudFk7cmV0dXJuIGJkfWZ1bmN0aW9uIGFkKGJkKXtmb3IodmFyIGJjPTA7YmM8YVIubGVuZ3RoO2JjKyspe2lmKGFSW2JjXS5pZGVudGlmaWVyPT1iZCl7cmV0dXJuIGFSW2JjXX19fWZ1bmN0aW9uIGFrKCl7dmFyIGJjPVtdO2Zvcih2YXIgYmQ9MDtiZDw9NTtiZCsrKXtiYy5wdXNoKHtzdGFydDp7eDowLHk6MH0sZW5kOnt4OjAseTowfSxpZGVudGlmaWVyOjB9KX1yZXR1cm4gYmN9ZnVuY3Rpb24gYUooYmMsYmQpe2JkPU1hdGgubWF4KGJkLGFVKGJjKSk7TltiY10uZGlzdGFuY2U9YmR9ZnVuY3Rpb24gYVUoYmMpe2lmKE5bYmNdKXtyZXR1cm4gTltiY10uZGlzdGFuY2V9cmV0dXJuIHVuZGVmaW5lZH1mdW5jdGlvbiBhYigpe3ZhciBiYz17fTtiY1twXT1heChwKTtiY1tvXT1heChvKTtiY1tlXT1heChlKTtiY1t4XT1heCh4KTtyZXR1cm4gYmN9ZnVuY3Rpb24gYXgoYmMpe3JldHVybntkaXJlY3Rpb246YmMsZGlzdGFuY2U6MH19ZnVuY3Rpb24gYU4oKXtyZXR1cm4gYTMtVX1mdW5jdGlvbiBhdihiZixiZSl7dmFyIGJkPU1hdGguYWJzKGJmLngtYmUueCk7dmFyIGJjPU1hdGguYWJzKGJmLnktYmUueSk7cmV0dXJuIE1hdGgucm91bmQoTWF0aC5zcXJ0KGJkKmJkK2JjKmJjKSl9ZnVuY3Rpb24gYTgoYmMsYmQpe3ZhciBiZT0oYmQvYmMpKjE7cmV0dXJuIGJlLnRvRml4ZWQoMil9ZnVuY3Rpb24gYXQoKXtpZihIPDEpe3JldHVybiBBfWVsc2V7cmV0dXJuIGN9fWZ1bmN0aW9uIGFUKGJkLGJjKXtyZXR1cm4gTWF0aC5yb3VuZChNYXRoLnNxcnQoTWF0aC5wb3coYmMueC1iZC54LDIpK01hdGgucG93KGJjLnktYmQueSwyKSkpfWZ1bmN0aW9uIGFGKGJmLGJkKXt2YXIgYmM9YmYueC1iZC54O3ZhciBiaD1iZC55LWJmLnk7dmFyIGJlPU1hdGguYXRhbjIoYmgsYmMpO3ZhciBiZz1NYXRoLnJvdW5kKGJlKjE4MC9NYXRoLlBJKTtpZihiZzwwKXtiZz0zNjAtTWF0aC5hYnMoYmcpfXJldHVybiBiZ31mdW5jdGlvbiBhTShiZCxiYyl7dmFyIGJlPWFGKGJkLGJjKTtpZigoYmU8PTQ1KSYmKGJlPj0wKSl7cmV0dXJuIHB9ZWxzZXtpZigoYmU8PTM2MCkmJihiZT49MzE1KSl7cmV0dXJuIHB9ZWxzZXtpZigoYmU+PTEzNSkmJihiZTw9MjI1KSl7cmV0dXJuIG99ZWxzZXtpZigoYmU+NDUpJiYoYmU8MTM1KSl7cmV0dXJuIHh9ZWxzZXtyZXR1cm4gZX19fX19ZnVuY3Rpb24gYXUoKXt2YXIgYmM9bmV3IERhdGUoKTtyZXR1cm4gYmMuZ2V0VGltZSgpfWZ1bmN0aW9uIGFaKGJjKXtiYz1mKGJjKTt2YXIgYmU9YmMub2Zmc2V0KCk7dmFyIGJkPXtsZWZ0OmJlLmxlZnQscmlnaHQ6YmUubGVmdCtiYy5vdXRlcldpZHRoKCksdG9wOmJlLnRvcCxib3R0b206YmUudG9wK2JjLm91dGVySGVpZ2h0KCl9O3JldHVybiBiZH1mdW5jdGlvbiBGKGJjLGJkKXtyZXR1cm4oYmMueD5iZC5sZWZ0JiZiYy54PGJkLnJpZ2h0JiZiYy55PmJkLnRvcCYmYmMueTxiZC5ib3R0b20pfX19KSk7DQoNCmlmKHR5cGVvZihjb25zb2xlKSA9PT0gJ3VuZGVmaW5lZCcpIHsNCiAgICB2YXIgY29uc29sZSA9IHt9Ow0KICAgIGNvbnNvbGUubG9nID0gY29uc29sZS5lcnJvciA9IGNvbnNvbGUuaW5mbyA9IGNvbnNvbGUuZGVidWcgPSBjb25zb2xlLndhcm4gPSBjb25zb2xlLnRyYWNlID0gY29uc29sZS5kaXIgPSBjb25zb2xlLmRpcnhtbCA9IGNvbnNvbGUuZ3JvdXAgPSBjb25zb2xlLmdyb3VwRW5kID0gY29uc29sZS50aW1lID0gY29uc29sZS50aW1lRW5kID0gY29uc29sZS5hc3NlcnQgPSBjb25zb2xlLnByb2ZpbGUgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkID0gZnVuY3Rpb24oKSB7fTsNCn0NCg0KaWYgKHdpbmRvdy50cGxvZ3M9PXRydWUpDQoJdHJ5IHsNCgkJY29uc29sZS5ncm91cENvbGxhcHNlZCgiVGhlbWVQdW5jaCBHcmVlblNvY2tzIExvZ3MiKTsNCgl9IGNhdGNoKGUpIHsgfQ0KDQoNCnZhciBvbGRncyA9IHdpbmRvdy5HcmVlblNvY2tHbG9iYWxzOw0KCW9sZGdzX3F1ZXVlID0gd2luZG93Ll9nc1F1ZXVlOw0KCQ0KdmFyIHB1bmNoZ3MgPSB3aW5kb3cuR3JlZW5Tb2NrR2xvYmFscyA9IHt9Ow0KDQppZiAod2luZG93LnRwbG9ncz09dHJ1ZSkNCgl0cnkgew0KCQljb25zb2xlLmluZm8oIkJ1aWxkIEdyZWVuU29jayBTYW5kQm94IGZvciBUaGVtZVB1bmNoIFBsdWdpbnMiKTsNCgkJY29uc29sZS5pbmZvKCJHcmVlblNvY2sgVHdlZW5MaXRlIEVuZ2luZSBJbml0YWxpc2VkIGJ5IFRoZW1lUHVuY2ggUGx1Z2luIik7DQoJfSBjYXRjaChlKSB7fQ0KDQoNCi8qIFRXRUVOIExJVEUgKi8NCi8qIQ0KICogVkVSU0lPTjogMS4xOS4xDQogKiBEQVRFOiAyMDE3LTAxLTE3DQogKiBVUERBVEVTIEFORCBET0NTIEFUOiBodHRwOi8vZ3JlZW5zb2NrLmNvbQ0KICoNCiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwOC0yMDE3LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKiBUaGlzIHdvcmsgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYXQgaHR0cDovL2dyZWVuc29jay5jb20vc3RhbmRhcmQtbGljZW5zZSBvciBmb3INCiAqIENsdWIgR3JlZW5Tb2NrIG1lbWJlcnMsIHRoZSBzb2Z0d2FyZSBhZ3JlZW1lbnQgdGhhdCB3YXMgaXNzdWVkIHdpdGggeW91ciBtZW1iZXJzaGlwLg0KICogDQogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20NCiAqLw0KIWZ1bmN0aW9uKGEsYil7InVzZSBzdHJpY3QiO3ZhciBjPXt9LGQ9YS5kb2N1bWVudCxlPWEuR3JlZW5Tb2NrR2xvYmFscz1hLkdyZWVuU29ja0dsb2JhbHN8fGE7aWYoIWUuVHdlZW5MaXRlKXt2YXIgZixnLGgsaSxqLGs9ZnVuY3Rpb24oYSl7dmFyIGIsYz1hLnNwbGl0KCIuIiksZD1lO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspZFtjW2JdXT1kPWRbY1tiXV18fHt9O3JldHVybiBkfSxsPWsoImNvbS5ncmVlbnNvY2siKSxtPTFlLTEwLG49ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPWEubGVuZ3RoO2ZvcihiPTA7YiE9PWQ7Yy5wdXNoKGFbYisrXSkpO3JldHVybiBjfSxvPWZ1bmN0aW9uKCl7fSxwPWZ1bmN0aW9uKCl7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxiPWEuY2FsbChbXSk7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBudWxsIT1jJiYoYyBpbnN0YW5jZW9mIEFycmF5fHwib2JqZWN0Ij09dHlwZW9mIGMmJiEhYy5wdXNoJiZhLmNhbGwoYyk9PT1iKX19KCkscT17fSxyPWZ1bmN0aW9uKGQsZixnLGgpe3RoaXMuc2M9cVtkXT9xW2RdLnNjOltdLHFbZF09dGhpcyx0aGlzLmdzQ2xhc3M9bnVsbCx0aGlzLmZ1bmM9Zzt2YXIgaT1bXTt0aGlzLmNoZWNrPWZ1bmN0aW9uKGope2Zvcih2YXIgbCxtLG4sbyxwLHM9Zi5sZW5ndGgsdD1zOy0tcz4tMTspKGw9cVtmW3NdXXx8bmV3IHIoZltzXSxbXSkpLmdzQ2xhc3M/KGlbc109bC5nc0NsYXNzLHQtLSk6aiYmbC5zYy5wdXNoKHRoaXMpO2lmKDA9PT10JiZnKXtpZihtPSgiY29tLmdyZWVuc29jay4iK2QpLnNwbGl0KCIuIiksbj1tLnBvcCgpLG89ayhtLmpvaW4oIi4iKSlbbl09dGhpcy5nc0NsYXNzPWcuYXBwbHkoZyxpKSxoKWlmKGVbbl09Y1tuXT1vLHA9InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzLCFwJiYiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZSgoYS5HcmVlblNvY2tBTURQYXRoP2EuR3JlZW5Tb2NrQU1EUGF0aCsiLyI6IiIpK2Quc3BsaXQoIi4iKS5wb3AoKSxbXSxmdW5jdGlvbigpe3JldHVybiBvfSk7ZWxzZSBpZihwKWlmKGQ9PT1iKXttb2R1bGUuZXhwb3J0cz1jW2JdPW87Zm9yKHMgaW4gYylvW3NdPWNbc119ZWxzZSBjW2JdJiYoY1tiXVtuXT1vKTtmb3Iocz0wO3M8dGhpcy5zYy5sZW5ndGg7cysrKXRoaXMuc2Nbc10uY2hlY2soKX19LHRoaXMuY2hlY2soITApfSxzPWEuX2dzRGVmaW5lPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBuZXcgcihhLGIsYyxkKX0sdD1sLl9jbGFzcz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9Ynx8ZnVuY3Rpb24oKXt9LHMoYSxbXSxmdW5jdGlvbigpe3JldHVybiBifSxjKSxifTtzLmdsb2JhbHM9ZTt2YXIgdT1bMCwwLDEsMV0sdj10KCJlYXNpbmcuRWFzZSIsZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5fZnVuYz1hLHRoaXMuX3R5cGU9Y3x8MCx0aGlzLl9wb3dlcj1kfHwwLHRoaXMuX3BhcmFtcz1iP3UuY29uY2F0KGIpOnV9LCEwKSx3PXYubWFwPXt9LHg9di5yZWdpc3Rlcj1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGUsZixnLGgsaT1iLnNwbGl0KCIsIiksaj1pLmxlbmd0aCxrPShjfHwiZWFzZUluLGVhc2VPdXQsZWFzZUluT3V0Iikuc3BsaXQoIiwiKTstLWo+LTE7KWZvcihmPWlbal0sZT1kP3QoImVhc2luZy4iK2YsbnVsbCwhMCk6bC5lYXNpbmdbZl18fHt9LGc9ay5sZW5ndGg7LS1nPi0xOyloPWtbZ10sd1tmKyIuIitoXT13W2grZl09ZVtoXT1hLmdldFJhdGlvP2E6YVtoXXx8bmV3IGF9O2ZvcihoPXYucHJvdG90eXBlLGguX2NhbGNFbmQ9ITEsaC5nZXRSYXRpbz1mdW5jdGlvbihhKXtpZih0aGlzLl9mdW5jKXJldHVybiB0aGlzLl9wYXJhbXNbMF09YSx0aGlzLl9mdW5jLmFwcGx5KG51bGwsdGhpcy5fcGFyYW1zKTt2YXIgYj10aGlzLl90eXBlLGM9dGhpcy5fcG93ZXIsZD0xPT09Yj8xLWE6Mj09PWI/YTouNT5hPzIqYToyKigxLWEpO3JldHVybiAxPT09Yz9kKj1kOjI9PT1jP2QqPWQqZDozPT09Yz9kKj1kKmQqZDo0PT09YyYmKGQqPWQqZCpkKmQpLDE9PT1iPzEtZDoyPT09Yj9kOi41PmE/ZC8yOjEtZC8yfSxmPVsiTGluZWFyIiwiUXVhZCIsIkN1YmljIiwiUXVhcnQiLCJRdWludCxTdHJvbmciXSxnPWYubGVuZ3RoOy0tZz4tMTspaD1mW2ddKyIsUG93ZXIiK2cseChuZXcgdihudWxsLG51bGwsMSxnKSxoLCJlYXNlT3V0IiwhMCkseChuZXcgdihudWxsLG51bGwsMixnKSxoLCJlYXNlSW4iKygwPT09Zz8iLGVhc2VOb25lIjoiIikpLHgobmV3IHYobnVsbCxudWxsLDMsZyksaCwiZWFzZUluT3V0Iik7dy5saW5lYXI9bC5lYXNpbmcuTGluZWFyLmVhc2VJbix3LnN3aW5nPWwuZWFzaW5nLlF1YWQuZWFzZUluT3V0O3ZhciB5PXQoImV2ZW50cy5FdmVudERpc3BhdGNoZXIiLGZ1bmN0aW9uKGEpe3RoaXMuX2xpc3RlbmVycz17fSx0aGlzLl9ldmVudFRhcmdldD1hfHx0aGlzfSk7aD15LnByb3RvdHlwZSxoLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlPWV8fDA7dmFyIGYsZyxoPXRoaXMuX2xpc3RlbmVyc1thXSxrPTA7Zm9yKHRoaXMhPT1pfHxqfHxpLndha2UoKSxudWxsPT1oJiYodGhpcy5fbGlzdGVuZXJzW2FdPWg9W10pLGc9aC5sZW5ndGg7LS1nPi0xOylmPWhbZ10sZi5jPT09YiYmZi5zPT09Yz9oLnNwbGljZShnLDEpOjA9PT1rJiZmLnByPGUmJihrPWcrMSk7aC5zcGxpY2UoaywwLHtjOmIsczpjLHVwOmQscHI6ZX0pfSxoLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPXRoaXMuX2xpc3RlbmVyc1thXTtpZihkKWZvcihjPWQubGVuZ3RoOy0tYz4tMTspaWYoZFtjXS5jPT09YilyZXR1cm4gdm9pZCBkLnNwbGljZShjLDEpfSxoLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9dGhpcy5fbGlzdGVuZXJzW2FdO2lmKGUpZm9yKGI9ZS5sZW5ndGgsYj4xJiYoZT1lLnNsaWNlKDApKSxjPXRoaXMuX2V2ZW50VGFyZ2V0Oy0tYj4tMTspZD1lW2JdLGQmJihkLnVwP2QuYy5jYWxsKGQuc3x8Yyx7dHlwZTphLHRhcmdldDpjfSk6ZC5jLmNhbGwoZC5zfHxjKSl9O3ZhciB6PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lLEE9YS5jYW5jZWxBbmltYXRpb25GcmFtZSxCPURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSxDPUIoKTtmb3IoZj1bIm1zIiwibW96Iiwid2Via2l0IiwibyJdLGc9Zi5sZW5ndGg7LS1nPi0xJiYhejspej1hW2ZbZ10rIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdLEE9YVtmW2ddKyJDYW5jZWxBbmltYXRpb25GcmFtZSJdfHxhW2ZbZ10rIkNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSJdO3QoIlRpY2tlciIsZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGs9dGhpcyxsPUIoKSxuPWIhPT0hMSYmej8iYXV0byI6ITEscD01MDAscT0zMyxyPSJ0aWNrIixzPWZ1bmN0aW9uKGEpe3ZhciBiLGQsaT1CKCktQztpPnAmJihsKz1pLXEpLEMrPWksay50aW1lPShDLWwpLzFlMyxiPWsudGltZS1oLCghY3x8Yj4wfHxhPT09ITApJiYoay5mcmFtZSsrLGgrPWIrKGI+PWc/LjAwNDpnLWIpLGQ9ITApLGEhPT0hMCYmKGY9ZShzKSksZCYmay5kaXNwYXRjaEV2ZW50KHIpfTt5LmNhbGwoayksay50aW1lPWsuZnJhbWU9MCxrLnRpY2s9ZnVuY3Rpb24oKXtzKCEwKX0say5sYWdTbW9vdGhpbmc9ZnVuY3Rpb24oYSxiKXtwPWF8fDEvbSxxPU1hdGgubWluKGIscCwwKX0say5zbGVlcD1mdW5jdGlvbigpe251bGwhPWYmJihuJiZBP0EoZik6Y2xlYXJUaW1lb3V0KGYpLGU9byxmPW51bGwsaz09PWkmJihqPSExKSl9LGsud2FrZT1mdW5jdGlvbihhKXtudWxsIT09Zj9rLnNsZWVwKCk6YT9sKz0tQysoQz1CKCkpOmsuZnJhbWU+MTAmJihDPUIoKS1wKzUpLGU9MD09PWM/bzpuJiZ6P3o6ZnVuY3Rpb24oYSl7cmV0dXJuIHNldFRpbWVvdXQoYSwxZTMqKGgtay50aW1lKSsxfDApfSxrPT09aSYmKGo9ITApLHMoMil9LGsuZnBzPWZ1bmN0aW9uKGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPWEsZz0xLyhjfHw2MCksaD10aGlzLnRpbWUrZyx2b2lkIGsud2FrZSgpKTpjfSxrLnVzZVJBRj1mdW5jdGlvbihhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oay5zbGVlcCgpLG49YSx2b2lkIGsuZnBzKGMpKTpufSxrLmZwcyhhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImF1dG8iPT09biYmay5mcmFtZTw1JiYiaGlkZGVuIiE9PWQudmlzaWJpbGl0eVN0YXRlJiZrLnVzZVJBRighMSl9LDE1MDApfSksaD1sLlRpY2tlci5wcm90b3R5cGU9bmV3IGwuZXZlbnRzLkV2ZW50RGlzcGF0Y2hlcixoLmNvbnN0cnVjdG9yPWwuVGlja2VyO3ZhciBEPXQoImNvcmUuQW5pbWF0aW9uIixmdW5jdGlvbihhLGIpe2lmKHRoaXMudmFycz1iPWJ8fHt9LHRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249YXx8MCx0aGlzLl9kZWxheT1OdW1iZXIoYi5kZWxheSl8fDAsdGhpcy5fdGltZVNjYWxlPTEsdGhpcy5fYWN0aXZlPWIuaW1tZWRpYXRlUmVuZGVyPT09ITAsdGhpcy5kYXRhPWIuZGF0YSx0aGlzLl9yZXZlcnNlZD1iLnJldmVyc2VkPT09ITAsVyl7anx8aS53YWtlKCk7dmFyIGM9dGhpcy52YXJzLnVzZUZyYW1lcz9WOlc7Yy5hZGQodGhpcyxjLl90aW1lKSx0aGlzLnZhcnMucGF1c2VkJiZ0aGlzLnBhdXNlZCghMCl9fSk7aT1ELnRpY2tlcj1uZXcgbC5UaWNrZXIsaD1ELnByb3RvdHlwZSxoLl9kaXJ0eT1oLl9nYz1oLl9pbml0dGVkPWguX3BhdXNlZD0hMSxoLl90b3RhbFRpbWU9aC5fdGltZT0wLGguX3Jhd1ByZXZUaW1lPS0xLGguX25leHQ9aC5fbGFzdD1oLl9vblVwZGF0ZT1oLl90aW1lbGluZT1oLnRpbWVsaW5lPW51bGwsaC5fcGF1c2VkPSExO3ZhciBFPWZ1bmN0aW9uKCl7aiYmQigpLUM+MmUzJiZpLndha2UoKSxzZXRUaW1lb3V0KEUsMmUzKX07RSgpLGgucGxheT1mdW5jdGlvbihhLGIpe3JldHVybiBudWxsIT1hJiZ0aGlzLnNlZWsoYSxiKSx0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpfSxoLnBhdXNlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWEmJnRoaXMuc2VlayhhLGIpLHRoaXMucGF1c2VkKCEwKX0saC5yZXN1bWU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbCE9YSYmdGhpcy5zZWVrKGEsYiksdGhpcy5wYXVzZWQoITEpfSxoLnNlZWs9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoTnVtYmVyKGEpLGIhPT0hMSl9LGgucmVzdGFydD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpLnRvdGFsVGltZShhPy10aGlzLl9kZWxheTowLGIhPT0hMSwhMCl9LGgucmV2ZXJzZT1mdW5jdGlvbihhLGIpe3JldHVybiBudWxsIT1hJiZ0aGlzLnNlZWsoYXx8dGhpcy50b3RhbER1cmF0aW9uKCksYiksdGhpcy5yZXZlcnNlZCghMCkucGF1c2VkKCExKX0saC5yZW5kZXI9ZnVuY3Rpb24oYSxiLGMpe30saC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPTAsdGhpcy5faW5pdHRlZD10aGlzLl9nYz0hMSx0aGlzLl9yYXdQcmV2VGltZT0tMSwodGhpcy5fZ2N8fCF0aGlzLnRpbWVsaW5lKSYmdGhpcy5fZW5hYmxlZCghMCksdGhpc30saC5pc0FjdGl2ZT1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy5fdGltZWxpbmUsYz10aGlzLl9zdGFydFRpbWU7cmV0dXJuIWJ8fCF0aGlzLl9nYyYmIXRoaXMuX3BhdXNlZCYmYi5pc0FjdGl2ZSgpJiYoYT1iLnJhd1RpbWUoITApKT49YyYmYTxjK3RoaXMudG90YWxEdXJhdGlvbigpL3RoaXMuX3RpbWVTY2FsZX0saC5fZW5hYmxlZD1mdW5jdGlvbihhLGIpe3JldHVybiBqfHxpLndha2UoKSx0aGlzLl9nYz0hYSx0aGlzLl9hY3RpdmU9dGhpcy5pc0FjdGl2ZSgpLGIhPT0hMCYmKGEmJiF0aGlzLnRpbWVsaW5lP3RoaXMuX3RpbWVsaW5lLmFkZCh0aGlzLHRoaXMuX3N0YXJ0VGltZS10aGlzLl9kZWxheSk6IWEmJnRoaXMudGltZWxpbmUmJnRoaXMuX3RpbWVsaW5lLl9yZW1vdmUodGhpcywhMCkpLCExfSxoLl9raWxsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuX2VuYWJsZWQoITEsITEpfSxoLmtpbGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5fa2lsbChhLGIpLHRoaXN9LGguX3VuY2FjaGU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWE/dGhpczp0aGlzLnRpbWVsaW5lO2I7KWIuX2RpcnR5PSEwLGI9Yi50aW1lbGluZTtyZXR1cm4gdGhpc30saC5fc3dhcFNlbGZJblBhcmFtcz1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGgsYz1hLmNvbmNhdCgpOy0tYj4tMTspIntzZWxmfSI9PT1hW2JdJiYoY1tiXT10aGlzKTtyZXR1cm4gY30saC5fY2FsbGJhY2s9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy52YXJzLGM9YlthXSxkPWJbYSsiUGFyYW1zIl0sZT1iW2ErIlNjb3BlIl18fGIuY2FsbGJhY2tTY29wZXx8dGhpcyxmPWQ/ZC5sZW5ndGg6MDtzd2l0Y2goZil7Y2FzZSAwOmMuY2FsbChlKTticmVhaztjYXNlIDE6Yy5jYWxsKGUsZFswXSk7YnJlYWs7Y2FzZSAyOmMuY2FsbChlLGRbMF0sZFsxXSk7YnJlYWs7ZGVmYXVsdDpjLmFwcGx5KGUsZCl9fSxoLmV2ZW50Q2FsbGJhY2s9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoIm9uIj09PShhfHwiIikuc3Vic3RyKDAsMikpe3ZhciBlPXRoaXMudmFycztpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZVthXTtudWxsPT1iP2RlbGV0ZSBlW2FdOihlW2FdPWIsZVthKyJQYXJhbXMiXT1wKGMpJiYtMSE9PWMuam9pbigiIikuaW5kZXhPZigie3NlbGZ9Iik/dGhpcy5fc3dhcFNlbGZJblBhcmFtcyhjKTpjLGVbYSsiU2NvcGUiXT1kKSwib25VcGRhdGUiPT09YSYmKHRoaXMuX29uVXBkYXRlPWIpfXJldHVybiB0aGlzfSxoLmRlbGF5PWZ1bmN0aW9uKGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmdGhpcy5zdGFydFRpbWUodGhpcy5fc3RhcnRUaW1lK2EtdGhpcy5fZGVsYXkpLHRoaXMuX2RlbGF5PWEsdGhpcyk6dGhpcy5fZGVsYXl9LGguZHVyYXRpb249ZnVuY3Rpb24oYSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249YSx0aGlzLl91bmNhY2hlKCEwKSx0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmdGhpcy5fdGltZT4wJiZ0aGlzLl90aW1lPHRoaXMuX2R1cmF0aW9uJiYwIT09YSYmdGhpcy50b3RhbFRpbWUodGhpcy5fdG90YWxUaW1lKihhL3RoaXMuX2R1cmF0aW9uKSwhMCksdGhpcyk6KHRoaXMuX2RpcnR5PSExLHRoaXMuX2R1cmF0aW9uKX0saC50b3RhbER1cmF0aW9uPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9kaXJ0eT0hMSxhcmd1bWVudHMubGVuZ3RoP3RoaXMuZHVyYXRpb24oYSk6dGhpcy5fdG90YWxEdXJhdGlvbn0saC50aW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2RpcnR5JiZ0aGlzLnRvdGFsRHVyYXRpb24oKSx0aGlzLnRvdGFsVGltZShhPnRoaXMuX2R1cmF0aW9uP3RoaXMuX2R1cmF0aW9uOmEsYikpOnRoaXMuX3RpbWV9LGgudG90YWxUaW1lPWZ1bmN0aW9uKGEsYixjKXtpZihqfHxpLndha2UoKSwhYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5fdG90YWxUaW1lO2lmKHRoaXMuX3RpbWVsaW5lKXtpZigwPmEmJiFjJiYoYSs9dGhpcy50b3RhbER1cmF0aW9uKCkpLHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nKXt0aGlzLl9kaXJ0eSYmdGhpcy50b3RhbER1cmF0aW9uKCk7dmFyIGQ9dGhpcy5fdG90YWxEdXJhdGlvbixlPXRoaXMuX3RpbWVsaW5lO2lmKGE+ZCYmIWMmJihhPWQpLHRoaXMuX3N0YXJ0VGltZT0odGhpcy5fcGF1c2VkP3RoaXMuX3BhdXNlVGltZTplLl90aW1lKS0odGhpcy5fcmV2ZXJzZWQ/ZC1hOmEpL3RoaXMuX3RpbWVTY2FsZSxlLl9kaXJ0eXx8dGhpcy5fdW5jYWNoZSghMSksZS5fdGltZWxpbmUpZm9yKDtlLl90aW1lbGluZTspZS5fdGltZWxpbmUuX3RpbWUhPT0oZS5fc3RhcnRUaW1lK2UuX3RvdGFsVGltZSkvZS5fdGltZVNjYWxlJiZlLnRvdGFsVGltZShlLl90b3RhbFRpbWUsITApLGU9ZS5fdGltZWxpbmV9dGhpcy5fZ2MmJnRoaXMuX2VuYWJsZWQoITAsITEpLCh0aGlzLl90b3RhbFRpbWUhPT1hfHwwPT09dGhpcy5fZHVyYXRpb24pJiYoSi5sZW5ndGgmJlkoKSx0aGlzLnJlbmRlcihhLGIsITEpLEoubGVuZ3RoJiZZKCkpfXJldHVybiB0aGlzfSxoLnByb2dyZXNzPWgudG90YWxQcm9ncmVzcz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZHVyYXRpb24oKTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnRvdGFsVGltZShjKmEsYik6Yz90aGlzLl90aW1lL2M6dGhpcy5yYXRpb30saC5zdGFydFRpbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGEhPT10aGlzLl9zdGFydFRpbWUmJih0aGlzLl9zdGFydFRpbWU9YSx0aGlzLnRpbWVsaW5lJiZ0aGlzLnRpbWVsaW5lLl9zb3J0Q2hpbGRyZW4mJnRoaXMudGltZWxpbmUuYWRkKHRoaXMsYS10aGlzLl9kZWxheSkpLHRoaXMpOnRoaXMuX3N0YXJ0VGltZX0saC5lbmRUaW1lPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9zdGFydFRpbWUrKDAhPWE/dGhpcy50b3RhbER1cmF0aW9uKCk6dGhpcy5kdXJhdGlvbigpKS90aGlzLl90aW1lU2NhbGV9LGgudGltZVNjYWxlPWZ1bmN0aW9uKGEpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl90aW1lU2NhbGU7aWYoYT1hfHxtLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyl7dmFyIGI9dGhpcy5fcGF1c2VUaW1lLGM9Ynx8MD09PWI/Yjp0aGlzLl90aW1lbGluZS50b3RhbFRpbWUoKTt0aGlzLl9zdGFydFRpbWU9Yy0oYy10aGlzLl9zdGFydFRpbWUpKnRoaXMuX3RpbWVTY2FsZS9hfXJldHVybiB0aGlzLl90aW1lU2NhbGU9YSx0aGlzLl91bmNhY2hlKCExKX0saC5yZXZlcnNlZD1mdW5jdGlvbihhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSE9dGhpcy5fcmV2ZXJzZWQmJih0aGlzLl9yZXZlcnNlZD1hLHRoaXMudG90YWxUaW1lKHRoaXMuX3RpbWVsaW5lJiYhdGhpcy5fdGltZWxpbmUuc21vb3RoQ2hpbGRUaW1pbmc/dGhpcy50b3RhbER1cmF0aW9uKCktdGhpcy5fdG90YWxUaW1lOnRoaXMuX3RvdGFsVGltZSwhMCkpLHRoaXMpOnRoaXMuX3JldmVyc2VkfSxoLnBhdXNlZD1mdW5jdGlvbihhKXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5fcGF1c2VkO3ZhciBiLGMsZD10aGlzLl90aW1lbGluZTtyZXR1cm4gYSE9dGhpcy5fcGF1c2VkJiZkJiYoanx8YXx8aS53YWtlKCksYj1kLnJhd1RpbWUoKSxjPWItdGhpcy5fcGF1c2VUaW1lLCFhJiZkLnNtb290aENoaWxkVGltaW5nJiYodGhpcy5fc3RhcnRUaW1lKz1jLHRoaXMuX3VuY2FjaGUoITEpKSx0aGlzLl9wYXVzZVRpbWU9YT9iOm51bGwsdGhpcy5fcGF1c2VkPWEsdGhpcy5fYWN0aXZlPXRoaXMuaXNBY3RpdmUoKSwhYSYmMCE9PWMmJnRoaXMuX2luaXR0ZWQmJnRoaXMuZHVyYXRpb24oKSYmKGI9ZC5zbW9vdGhDaGlsZFRpbWluZz90aGlzLl90b3RhbFRpbWU6KGItdGhpcy5fc3RhcnRUaW1lKS90aGlzLl90aW1lU2NhbGUsdGhpcy5yZW5kZXIoYixiPT09dGhpcy5fdG90YWxUaW1lLCEwKSkpLHRoaXMuX2djJiYhYSYmdGhpcy5fZW5hYmxlZCghMCwhMSksdGhpc307dmFyIEY9dCgiY29yZS5TaW1wbGVUaW1lbGluZSIsZnVuY3Rpb24oYSl7RC5jYWxsKHRoaXMsMCxhKSx0aGlzLmF1dG9SZW1vdmVDaGlsZHJlbj10aGlzLnNtb290aENoaWxkVGltaW5nPSEwfSk7aD1GLnByb3RvdHlwZT1uZXcgRCxoLmNvbnN0cnVjdG9yPUYsaC5raWxsKCkuX2djPSExLGguX2ZpcnN0PWguX2xhc3Q9aC5fcmVjZW50PW51bGwsaC5fc29ydENoaWxkcmVuPSExLGguYWRkPWguaW5zZXJ0PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGY7aWYoYS5fc3RhcnRUaW1lPU51bWJlcihifHwwKSthLl9kZWxheSxhLl9wYXVzZWQmJnRoaXMhPT1hLl90aW1lbGluZSYmKGEuX3BhdXNlVGltZT1hLl9zdGFydFRpbWUrKHRoaXMucmF3VGltZSgpLWEuX3N0YXJ0VGltZSkvYS5fdGltZVNjYWxlKSxhLnRpbWVsaW5lJiZhLnRpbWVsaW5lLl9yZW1vdmUoYSwhMCksYS50aW1lbGluZT1hLl90aW1lbGluZT10aGlzLGEuX2djJiZhLl9lbmFibGVkKCEwLCEwKSxlPXRoaXMuX2xhc3QsdGhpcy5fc29ydENoaWxkcmVuKWZvcihmPWEuX3N0YXJ0VGltZTtlJiZlLl9zdGFydFRpbWU+ZjspZT1lLl9wcmV2O3JldHVybiBlPyhhLl9uZXh0PWUuX25leHQsZS5fbmV4dD1hKTooYS5fbmV4dD10aGlzLl9maXJzdCx0aGlzLl9maXJzdD1hKSxhLl9uZXh0P2EuX25leHQuX3ByZXY9YTp0aGlzLl9sYXN0PWEsYS5fcHJldj1lLHRoaXMuX3JlY2VudD1hLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl91bmNhY2hlKCEwKSx0aGlzfSxoLl9yZW1vdmU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS50aW1lbGluZT09PXRoaXMmJihifHxhLl9lbmFibGVkKCExLCEwKSxhLl9wcmV2P2EuX3ByZXYuX25leHQ9YS5fbmV4dDp0aGlzLl9maXJzdD09PWEmJih0aGlzLl9maXJzdD1hLl9uZXh0KSxhLl9uZXh0P2EuX25leHQuX3ByZXY9YS5fcHJldjp0aGlzLl9sYXN0PT09YSYmKHRoaXMuX2xhc3Q9YS5fcHJldiksYS5fbmV4dD1hLl9wcmV2PWEudGltZWxpbmU9bnVsbCxhPT09dGhpcy5fcmVjZW50JiYodGhpcy5fcmVjZW50PXRoaXMuX2xhc3QpLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl91bmNhY2hlKCEwKSksdGhpc30saC5yZW5kZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9dGhpcy5fZmlyc3Q7Zm9yKHRoaXMuX3RvdGFsVGltZT10aGlzLl90aW1lPXRoaXMuX3Jhd1ByZXZUaW1lPWE7ZTspZD1lLl9uZXh0LChlLl9hY3RpdmV8fGE+PWUuX3N0YXJ0VGltZSYmIWUuX3BhdXNlZCkmJihlLl9yZXZlcnNlZD9lLnJlbmRlcigoZS5fZGlydHk/ZS50b3RhbER1cmF0aW9uKCk6ZS5fdG90YWxEdXJhdGlvbiktKGEtZS5fc3RhcnRUaW1lKSplLl90aW1lU2NhbGUsYixjKTplLnJlbmRlcigoYS1lLl9zdGFydFRpbWUpKmUuX3RpbWVTY2FsZSxiLGMpKSxlPWR9LGgucmF3VGltZT1mdW5jdGlvbigpe3JldHVybiBqfHxpLndha2UoKSx0aGlzLl90b3RhbFRpbWV9O3ZhciBHPXQoIlR3ZWVuTGl0ZSIsZnVuY3Rpb24oYixjLGQpe2lmKEQuY2FsbCh0aGlzLGMsZCksdGhpcy5yZW5kZXI9Ry5wcm90b3R5cGUucmVuZGVyLG51bGw9PWIpdGhyb3ciQ2Fubm90IHR3ZWVuIGEgbnVsbCB0YXJnZXQuIjt0aGlzLnRhcmdldD1iPSJzdHJpbmciIT10eXBlb2YgYj9iOkcuc2VsZWN0b3IoYil8fGI7dmFyIGUsZixnLGg9Yi5qcXVlcnl8fGIubGVuZ3RoJiZiIT09YSYmYlswXSYmKGJbMF09PT1hfHxiWzBdLm5vZGVUeXBlJiZiWzBdLnN0eWxlJiYhYi5ub2RlVHlwZSksaT10aGlzLnZhcnMub3ZlcndyaXRlO2lmKHRoaXMuX292ZXJ3cml0ZT1pPW51bGw9PWk/VVtHLmRlZmF1bHRPdmVyd3JpdGVdOiJudW1iZXIiPT10eXBlb2YgaT9pPj4wOlVbaV0sKGh8fGIgaW5zdGFuY2VvZiBBcnJheXx8Yi5wdXNoJiZwKGIpKSYmIm51bWJlciIhPXR5cGVvZiBiWzBdKWZvcih0aGlzLl90YXJnZXRzPWc9bihiKSx0aGlzLl9wcm9wTG9va3VwPVtdLHRoaXMuX3NpYmxpbmdzPVtdLGU9MDtlPGcubGVuZ3RoO2UrKylmPWdbZV0sZj8ic3RyaW5nIiE9dHlwZW9mIGY/Zi5sZW5ndGgmJmYhPT1hJiZmWzBdJiYoZlswXT09PWF8fGZbMF0ubm9kZVR5cGUmJmZbMF0uc3R5bGUmJiFmLm5vZGVUeXBlKT8oZy5zcGxpY2UoZS0tLDEpLHRoaXMuX3RhcmdldHM9Zz1nLmNvbmNhdChuKGYpKSk6KHRoaXMuX3NpYmxpbmdzW2VdPVooZix0aGlzLCExKSwxPT09aSYmdGhpcy5fc2libGluZ3NbZV0ubGVuZ3RoPjEmJl8oZix0aGlzLG51bGwsMSx0aGlzLl9zaWJsaW5nc1tlXSkpOihmPWdbZS0tXT1HLnNlbGVjdG9yKGYpLCJzdHJpbmciPT10eXBlb2YgZiYmZy5zcGxpY2UoZSsxLDEpKTpnLnNwbGljZShlLS0sMSk7ZWxzZSB0aGlzLl9wcm9wTG9va3VwPXt9LHRoaXMuX3NpYmxpbmdzPVooYix0aGlzLCExKSwxPT09aSYmdGhpcy5fc2libGluZ3MubGVuZ3RoPjEmJl8oYix0aGlzLG51bGwsMSx0aGlzLl9zaWJsaW5ncyk7KHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXJ8fDA9PT1jJiYwPT09dGhpcy5fZGVsYXkmJnRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXIhPT0hMSkmJih0aGlzLl90aW1lPS1tLHRoaXMucmVuZGVyKE1hdGgubWluKDAsLXRoaXMuX2RlbGF5KSkpfSwhMCksSD1mdW5jdGlvbihiKXtyZXR1cm4gYiYmYi5sZW5ndGgmJmIhPT1hJiZiWzBdJiYoYlswXT09PWF8fGJbMF0ubm9kZVR5cGUmJmJbMF0uc3R5bGUmJiFiLm5vZGVUeXBlKX0sST1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9e307Zm9yKGMgaW4gYSlUW2NdfHxjIGluIGImJiJ0cmFuc2Zvcm0iIT09YyYmIngiIT09YyYmInkiIT09YyYmIndpZHRoIiE9PWMmJiJoZWlnaHQiIT09YyYmImNsYXNzTmFtZSIhPT1jJiYiYm9yZGVyIiE9PWN8fCEoIVFbY118fFFbY10mJlFbY10uX2F1dG9DU1MpfHwoZFtjXT1hW2NdLGRlbGV0ZSBhW2NdKTthLmNzcz1kfTtoPUcucHJvdG90eXBlPW5ldyBELGguY29uc3RydWN0b3I9RyxoLmtpbGwoKS5fZ2M9ITEsaC5yYXRpbz0wLGguX2ZpcnN0UFQ9aC5fdGFyZ2V0cz1oLl9vdmVyd3JpdHRlblByb3BzPWguX3N0YXJ0QXQ9bnVsbCxoLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkPWguX2xhenk9ITEsRy52ZXJzaW9uPSIxLjE5LjEiLEcuZGVmYXVsdEVhc2U9aC5fZWFzZT1uZXcgdihudWxsLG51bGwsMSwxKSxHLmRlZmF1bHRPdmVyd3JpdGU9ImF1dG8iLEcudGlja2VyPWksRy5hdXRvU2xlZXA9MTIwLEcubGFnU21vb3RoaW5nPWZ1bmN0aW9uKGEsYil7aS5sYWdTbW9vdGhpbmcoYSxiKX0sRy5zZWxlY3Rvcj1hLiR8fGEualF1ZXJ5fHxmdW5jdGlvbihiKXt2YXIgYz1hLiR8fGEualF1ZXJ5O3JldHVybiBjPyhHLnNlbGVjdG9yPWMsYyhiKSk6InVuZGVmaW5lZCI9PXR5cGVvZiBkP2I6ZC5xdWVyeVNlbGVjdG9yQWxsP2QucXVlcnlTZWxlY3RvckFsbChiKTpkLmdldEVsZW1lbnRCeUlkKCIjIj09PWIuY2hhckF0KDApP2Iuc3Vic3RyKDEpOmIpfTt2YXIgSj1bXSxLPXt9LEw9Lyg/OigtfC09fFwrPSk/XGQqXC4/XGQqKD86ZVtcLStdP1xkKyk/KVswLTldL2dpLE09ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGM9dGhpcy5fZmlyc3RQVCxkPTFlLTY7YzspYj1jLmJsb2I/MT09PWE/dGhpcy5lbmQ6YT90aGlzLmpvaW4oIiIpOnRoaXMuc3RhcnQ6Yy5jKmErYy5zLGMubT9iPWMubShiLHRoaXMuX3RhcmdldHx8Yy50KTpkPmImJmI+LWQmJiFjLmJsb2ImJihiPTApLGMuZj9jLmZwP2MudFtjLnBdKGMuZnAsYik6Yy50W2MucF0oYik6Yy50W2MucF09YixjPWMuX25leHR9LE49ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqLGssbD1bXSxtPTAsbj0iIixvPTA7Zm9yKGwuc3RhcnQ9YSxsLmVuZD1iLGE9bFswXT1hKyIiLGI9bFsxXT1iKyIiLGMmJihjKGwpLGE9bFswXSxiPWxbMV0pLGwubGVuZ3RoPTAsZT1hLm1hdGNoKEwpfHxbXSxmPWIubWF0Y2goTCl8fFtdLGQmJihkLl9uZXh0PW51bGwsZC5ibG9iPTEsbC5fZmlyc3RQVD1sLl9hcHBseVBUPWQpLGk9Zi5sZW5ndGgsaD0wO2k+aDtoKyspaz1mW2hdLGo9Yi5zdWJzdHIobSxiLmluZGV4T2YoayxtKS1tKSxuKz1qfHwhaD9qOiIsIixtKz1qLmxlbmd0aCxvP289KG8rMSklNToicmdiYSgiPT09ai5zdWJzdHIoLTUpJiYobz0xKSxrPT09ZVtoXXx8ZS5sZW5ndGg8PWg/bis9azoobiYmKGwucHVzaChuKSxuPSIiKSxnPXBhcnNlRmxvYXQoZVtoXSksbC5wdXNoKGcpLGwuX2ZpcnN0UFQ9e19uZXh0OmwuX2ZpcnN0UFQsdDpsLHA6bC5sZW5ndGgtMSxzOmcsYzooIj0iPT09ay5jaGFyQXQoMSk/cGFyc2VJbnQoay5jaGFyQXQoMCkrIjEiLDEwKSpwYXJzZUZsb2F0KGsuc3Vic3RyKDIpKTpwYXJzZUZsb2F0KGspLWcpfHwwLGY6MCxtOm8mJjQ+bz9NYXRoLnJvdW5kOjB9KSxtKz1rLmxlbmd0aDtyZXR1cm4gbis9Yi5zdWJzdHIobSksbiYmbC5wdXNoKG4pLGwuc2V0UmF0aW89TSxsfSxPPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxpKXsiZnVuY3Rpb24iPT10eXBlb2YgZCYmKGQ9ZChpfHwwLGEpKTt2YXIgaixrPXR5cGVvZiBhW2JdLGw9ImZ1bmN0aW9uIiE9PWs/IiI6Yi5pbmRleE9mKCJzZXQiKXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGFbImdldCIrYi5zdWJzdHIoMyldP2I6ImdldCIrYi5zdWJzdHIoMyksbT0iZ2V0IiE9PWM/YzpsP2c/YVtsXShnKTphW2xdKCk6YVtiXSxuPSJzdHJpbmciPT10eXBlb2YgZCYmIj0iPT09ZC5jaGFyQXQoMSksbz17dDphLHA6YixzOm0sZjoiZnVuY3Rpb24iPT09ayxwZzowLG46ZXx8YixtOmY/ImZ1bmN0aW9uIj09dHlwZW9mIGY/ZjpNYXRoLnJvdW5kOjAscHI6MCxjOm4/cGFyc2VJbnQoZC5jaGFyQXQoMCkrIjEiLDEwKSpwYXJzZUZsb2F0KGQuc3Vic3RyKDIpKTpwYXJzZUZsb2F0KGQpLW18fDB9O3JldHVybigibnVtYmVyIiE9dHlwZW9mIG18fCJudW1iZXIiIT10eXBlb2YgZCYmIW4pJiYoZ3x8aXNOYU4obSl8fCFuJiZpc05hTihkKXx8ImJvb2xlYW4iPT10eXBlb2YgbXx8ImJvb2xlYW4iPT10eXBlb2YgZD8oby5mcD1nLGo9TihtLG4/by5zK28uYzpkLGh8fEcuZGVmYXVsdFN0cmluZ0ZpbHRlcixvKSxvPXt0OmoscDoic2V0UmF0aW8iLHM6MCxjOjEsZjoyLHBnOjAsbjplfHxiLHByOjAsbTowfSk6KG8ucz1wYXJzZUZsb2F0KG0pLG58fChvLmM9cGFyc2VGbG9hdChkKS1vLnN8fDApKSksby5jPygoby5fbmV4dD10aGlzLl9maXJzdFBUKSYmKG8uX25leHQuX3ByZXY9byksdGhpcy5fZmlyc3RQVD1vLG8pOnZvaWQgMH0sUD1HLl9pbnRlcm5hbHM9e2lzQXJyYXk6cCxpc1NlbGVjdG9yOkgsbGF6eVR3ZWVuczpKLGJsb2JEaWY6Tn0sUT1HLl9wbHVnaW5zPXt9LFI9UC50d2Vlbkxvb2t1cD17fSxTPTAsVD1QLnJlc2VydmVkUHJvcHM9e2Vhc2U6MSxkZWxheToxLG92ZXJ3cml0ZToxLG9uQ29tcGxldGU6MSxvbkNvbXBsZXRlUGFyYW1zOjEsb25Db21wbGV0ZVNjb3BlOjEsdXNlRnJhbWVzOjEscnVuQmFja3dhcmRzOjEsc3RhcnRBdDoxLG9uVXBkYXRlOjEsb25VcGRhdGVQYXJhbXM6MSxvblVwZGF0ZVNjb3BlOjEsb25TdGFydDoxLG9uU3RhcnRQYXJhbXM6MSxvblN0YXJ0U2NvcGU6MSxvblJldmVyc2VDb21wbGV0ZToxLG9uUmV2ZXJzZUNvbXBsZXRlUGFyYW1zOjEsb25SZXZlcnNlQ29tcGxldGVTY29wZToxLG9uUmVwZWF0OjEsb25SZXBlYXRQYXJhbXM6MSxvblJlcGVhdFNjb3BlOjEsZWFzZVBhcmFtczoxLHlveW86MSxpbW1lZGlhdGVSZW5kZXI6MSxyZXBlYXQ6MSxyZXBlYXREZWxheToxLGRhdGE6MSxwYXVzZWQ6MSxyZXZlcnNlZDoxLGF1dG9DU1M6MSxsYXp5OjEsb25PdmVyd3JpdGU6MSxjYWxsYmFja1Njb3BlOjEsc3RyaW5nRmlsdGVyOjEsaWQ6MX0sVT17bm9uZTowLGFsbDoxLGF1dG86Mixjb25jdXJyZW50OjMsYWxsT25TdGFydDo0LHByZWV4aXN0aW5nOjUsInRydWUiOjEsImZhbHNlIjowfSxWPUQuX3Jvb3RGcmFtZXNUaW1lbGluZT1uZXcgRixXPUQuX3Jvb3RUaW1lbGluZT1uZXcgRixYPTMwLFk9UC5sYXp5UmVuZGVyPWZ1bmN0aW9uKCl7dmFyIGEsYj1KLmxlbmd0aDtmb3IoSz17fTstLWI+LTE7KWE9SltiXSxhJiZhLl9sYXp5IT09ITEmJihhLnJlbmRlcihhLl9sYXp5WzBdLGEuX2xhenlbMV0sITApLGEuX2xhenk9ITEpO0oubGVuZ3RoPTB9O1cuX3N0YXJ0VGltZT1pLnRpbWUsVi5fc3RhcnRUaW1lPWkuZnJhbWUsVy5fYWN0aXZlPVYuX2FjdGl2ZT0hMCxzZXRUaW1lb3V0KFksMSksRC5fdXBkYXRlUm9vdD1HLnJlbmRlcj1mdW5jdGlvbigpe3ZhciBhLGIsYztpZihKLmxlbmd0aCYmWSgpLFcucmVuZGVyKChpLnRpbWUtVy5fc3RhcnRUaW1lKSpXLl90aW1lU2NhbGUsITEsITEpLFYucmVuZGVyKChpLmZyYW1lLVYuX3N0YXJ0VGltZSkqVi5fdGltZVNjYWxlLCExLCExKSxKLmxlbmd0aCYmWSgpLGkuZnJhbWU+PVgpe1g9aS5mcmFtZSsocGFyc2VJbnQoRy5hdXRvU2xlZXAsMTApfHwxMjApO2ZvcihjIGluIFIpe2ZvcihiPVJbY10udHdlZW5zLGE9Yi5sZW5ndGg7LS1hPi0xOyliW2FdLl9nYyYmYi5zcGxpY2UoYSwxKTswPT09Yi5sZW5ndGgmJmRlbGV0ZSBSW2NdfWlmKGM9Vy5fZmlyc3QsKCFjfHxjLl9wYXVzZWQpJiZHLmF1dG9TbGVlcCYmIVYuX2ZpcnN0JiYxPT09aS5fbGlzdGVuZXJzLnRpY2subGVuZ3RoKXtmb3IoO2MmJmMuX3BhdXNlZDspYz1jLl9uZXh0O2N8fGkuc2xlZXAoKX19fSxpLmFkZEV2ZW50TGlzdGVuZXIoInRpY2siLEQuX3VwZGF0ZVJvb3QpO3ZhciBaPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5fZ3NUd2VlbklEO2lmKFJbZnx8KGEuX2dzVHdlZW5JRD1mPSJ0IitTKyspXXx8KFJbZl09e3RhcmdldDphLHR3ZWVuczpbXX0pLGImJihkPVJbZl0udHdlZW5zLGRbZT1kLmxlbmd0aF09YixjKSlmb3IoOy0tZT4tMTspZFtlXT09PWImJmQuc3BsaWNlKGUsMSk7cmV0dXJuIFJbZl0udHdlZW5zfSwkPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz1hLnZhcnMub25PdmVyd3JpdGU7cmV0dXJuIGcmJihlPWcoYSxiLGMsZCkpLGc9Ry5vbk92ZXJ3cml0ZSxnJiYoZj1nKGEsYixjLGQpKSxlIT09ITEmJmYhPT0hMX0sXz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpO2lmKDE9PT1kfHxkPj00KXtmb3IoaT1lLmxlbmd0aCxmPTA7aT5mO2YrKylpZigoaD1lW2ZdKSE9PWIpaC5fZ2N8fGguX2tpbGwobnVsbCxhLGIpJiYoZz0hMCk7ZWxzZSBpZig1PT09ZClicmVhaztyZXR1cm4gZ312YXIgaixrPWIuX3N0YXJ0VGltZSttLGw9W10sbj0wLG89MD09PWIuX2R1cmF0aW9uO2ZvcihmPWUubGVuZ3RoOy0tZj4tMTspKGg9ZVtmXSk9PT1ifHxoLl9nY3x8aC5fcGF1c2VkfHwoaC5fdGltZWxpbmUhPT1iLl90aW1lbGluZT8oaj1qfHxhYShiLDAsbyksMD09PWFhKGgsaixvKSYmKGxbbisrXT1oKSk6aC5fc3RhcnRUaW1lPD1rJiZoLl9zdGFydFRpbWUraC50b3RhbER1cmF0aW9uKCkvaC5fdGltZVNjYWxlPmsmJigob3x8IWguX2luaXR0ZWQpJiZrLWguX3N0YXJ0VGltZTw9MmUtMTB8fChsW24rK109aCkpKTtmb3IoZj1uOy0tZj4tMTspaWYoaD1sW2ZdLDI9PT1kJiZoLl9raWxsKGMsYSxiKSYmKGc9ITApLDIhPT1kfHwhaC5fZmlyc3RQVCYmaC5faW5pdHRlZCl7aWYoMiE9PWQmJiEkKGgsYikpY29udGludWU7aC5fZW5hYmxlZCghMSwhMSkmJihnPSEwKX1yZXR1cm4gZ30sYWE9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1hLl90aW1lbGluZSxlPWQuX3RpbWVTY2FsZSxmPWEuX3N0YXJ0VGltZTtkLl90aW1lbGluZTspe2lmKGYrPWQuX3N0YXJ0VGltZSxlKj1kLl90aW1lU2NhbGUsZC5fcGF1c2VkKXJldHVybi0xMDA7ZD1kLl90aW1lbGluZX1yZXR1cm4gZi89ZSxmPmI/Zi1iOmMmJmY9PT1ifHwhYS5faW5pdHRlZCYmMiptPmYtYj9tOihmKz1hLnRvdGFsRHVyYXRpb24oKS9hLl90aW1lU2NhbGUvZSk+YittPzA6Zi1iLW19O2guX2luaXQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz10aGlzLnZhcnMsaD10aGlzLl9vdmVyd3JpdHRlblByb3BzLGk9dGhpcy5fZHVyYXRpb24saj0hIWcuaW1tZWRpYXRlUmVuZGVyLGs9Zy5lYXNlO2lmKGcuc3RhcnRBdCl7dGhpcy5fc3RhcnRBdCYmKHRoaXMuX3N0YXJ0QXQucmVuZGVyKC0xLCEwKSx0aGlzLl9zdGFydEF0LmtpbGwoKSksZT17fTtmb3IoZCBpbiBnLnN0YXJ0QXQpZVtkXT1nLnN0YXJ0QXRbZF07aWYoZS5vdmVyd3JpdGU9ITEsZS5pbW1lZGlhdGVSZW5kZXI9ITAsZS5sYXp5PWomJmcubGF6eSE9PSExLGUuc3RhcnRBdD1lLmRlbGF5PW51bGwsdGhpcy5fc3RhcnRBdD1HLnRvKHRoaXMudGFyZ2V0LDAsZSksailpZih0aGlzLl90aW1lPjApdGhpcy5fc3RhcnRBdD1udWxsO2Vsc2UgaWYoMCE9PWkpcmV0dXJufWVsc2UgaWYoZy5ydW5CYWNrd2FyZHMmJjAhPT1pKWlmKHRoaXMuX3N0YXJ0QXQpdGhpcy5fc3RhcnRBdC5yZW5kZXIoLTEsITApLHRoaXMuX3N0YXJ0QXQua2lsbCgpLHRoaXMuX3N0YXJ0QXQ9bnVsbDtlbHNlezAhPT10aGlzLl90aW1lJiYoaj0hMSksYz17fTtmb3IoZCBpbiBnKVRbZF0mJiJhdXRvQ1NTIiE9PWR8fChjW2RdPWdbZF0pO2lmKGMub3ZlcndyaXRlPTAsYy5kYXRhPSJpc0Zyb21TdGFydCIsYy5sYXp5PWomJmcubGF6eSE9PSExLGMuaW1tZWRpYXRlUmVuZGVyPWosdGhpcy5fc3RhcnRBdD1HLnRvKHRoaXMudGFyZ2V0LDAsYyksail7aWYoMD09PXRoaXMuX3RpbWUpcmV0dXJufWVsc2UgdGhpcy5fc3RhcnRBdC5faW5pdCgpLHRoaXMuX3N0YXJ0QXQuX2VuYWJsZWQoITEpLHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXImJih0aGlzLl9zdGFydEF0PW51bGwpfWlmKHRoaXMuX2Vhc2U9az1rP2sgaW5zdGFuY2VvZiB2P2s6ImZ1bmN0aW9uIj09dHlwZW9mIGs/bmV3IHYoayxnLmVhc2VQYXJhbXMpOndba118fEcuZGVmYXVsdEVhc2U6Ry5kZWZhdWx0RWFzZSxnLmVhc2VQYXJhbXMgaW5zdGFuY2VvZiBBcnJheSYmay5jb25maWcmJih0aGlzLl9lYXNlPWsuY29uZmlnLmFwcGx5KGssZy5lYXNlUGFyYW1zKSksdGhpcy5fZWFzZVR5cGU9dGhpcy5fZWFzZS5fdHlwZSx0aGlzLl9lYXNlUG93ZXI9dGhpcy5fZWFzZS5fcG93ZXIsdGhpcy5fZmlyc3RQVD1udWxsLHRoaXMuX3RhcmdldHMpZm9yKGY9dGhpcy5fdGFyZ2V0cy5sZW5ndGgsYT0wO2Y+YTthKyspdGhpcy5faW5pdFByb3BzKHRoaXMuX3RhcmdldHNbYV0sdGhpcy5fcHJvcExvb2t1cFthXT17fSx0aGlzLl9zaWJsaW5nc1thXSxoP2hbYV06bnVsbCxhKSYmKGI9ITApO2Vsc2UgYj10aGlzLl9pbml0UHJvcHModGhpcy50YXJnZXQsdGhpcy5fcHJvcExvb2t1cCx0aGlzLl9zaWJsaW5ncyxoLDApO2lmKGImJkcuX29uUGx1Z2luRXZlbnQoIl9vbkluaXRBbGxQcm9wcyIsdGhpcyksaCYmKHRoaXMuX2ZpcnN0UFR8fCJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzLnRhcmdldCYmdGhpcy5fZW5hYmxlZCghMSwhMSkpLGcucnVuQmFja3dhcmRzKWZvcihjPXRoaXMuX2ZpcnN0UFQ7YzspYy5zKz1jLmMsYy5jPS1jLmMsYz1jLl9uZXh0O3RoaXMuX29uVXBkYXRlPWcub25VcGRhdGUsdGhpcy5faW5pdHRlZD0hMH0saC5faW5pdFByb3BzPWZ1bmN0aW9uKGIsYyxkLGUsZil7dmFyIGcsaCxpLGosayxsO2lmKG51bGw9PWIpcmV0dXJuITE7S1tiLl9nc1R3ZWVuSURdJiZZKCksdGhpcy52YXJzLmNzc3x8Yi5zdHlsZSYmYiE9PWEmJmIubm9kZVR5cGUmJlEuY3NzJiZ0aGlzLnZhcnMuYXV0b0NTUyE9PSExJiZJKHRoaXMudmFycyxiKTtmb3IoZyBpbiB0aGlzLnZhcnMpaWYobD10aGlzLnZhcnNbZ10sVFtnXSlsJiYobCBpbnN0YW5jZW9mIEFycmF5fHxsLnB1c2gmJnAobCkpJiYtMSE9PWwuam9pbigiIikuaW5kZXhPZigie3NlbGZ9IikmJih0aGlzLnZhcnNbZ109bD10aGlzLl9zd2FwU2VsZkluUGFyYW1zKGwsdGhpcykpO2Vsc2UgaWYoUVtnXSYmKGo9bmV3IFFbZ10pLl9vbkluaXRUd2VlbihiLHRoaXMudmFyc1tnXSx0aGlzLGYpKXtmb3IodGhpcy5fZmlyc3RQVD1rPXtfbmV4dDp0aGlzLl9maXJzdFBULHQ6aixwOiJzZXRSYXRpbyIsczowLGM6MSxmOjEsbjpnLHBnOjEscHI6ai5fcHJpb3JpdHksbTowfSxoPWouX292ZXJ3cml0ZVByb3BzLmxlbmd0aDstLWg+LTE7KWNbai5fb3ZlcndyaXRlUHJvcHNbaF1dPXRoaXMuX2ZpcnN0UFQ7KGouX3ByaW9yaXR5fHxqLl9vbkluaXRBbGxQcm9wcykmJihpPSEwKSwoai5fb25EaXNhYmxlfHxqLl9vbkVuYWJsZSkmJih0aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkPSEwKSxrLl9uZXh0JiYoay5fbmV4dC5fcHJldj1rKX1lbHNlIGNbZ109Ty5jYWxsKHRoaXMsYixnLCJnZXQiLGwsZywwLG51bGwsdGhpcy52YXJzLnN0cmluZ0ZpbHRlcixmKTtyZXR1cm4gZSYmdGhpcy5fa2lsbChlLGIpP3RoaXMuX2luaXRQcm9wcyhiLGMsZCxlLGYpOnRoaXMuX292ZXJ3cml0ZT4xJiZ0aGlzLl9maXJzdFBUJiZkLmxlbmd0aD4xJiZfKGIsdGhpcyxjLHRoaXMuX292ZXJ3cml0ZSxkKT8odGhpcy5fa2lsbChjLGIpLHRoaXMuX2luaXRQcm9wcyhiLGMsZCxlLGYpKToodGhpcy5fZmlyc3RQVCYmKHRoaXMudmFycy5sYXp5IT09ITEmJnRoaXMuX2R1cmF0aW9ufHx0aGlzLnZhcnMubGF6eSYmIXRoaXMuX2R1cmF0aW9uKSYmKEtbYi5fZ3NUd2VlbklEXT0hMCksaSl9LGgucmVuZGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoPXRoaXMuX3RpbWUsaT10aGlzLl9kdXJhdGlvbixqPXRoaXMuX3Jhd1ByZXZUaW1lO2lmKGE+PWktMWUtNyYmYT49MCl0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT1pLHRoaXMucmF0aW89dGhpcy5fZWFzZS5fY2FsY0VuZD90aGlzLl9lYXNlLmdldFJhdGlvKDEpOjEsdGhpcy5fcmV2ZXJzZWR8fChkPSEwLGU9Im9uQ29tcGxldGUiLGM9Y3x8dGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuKSwwPT09aSYmKHRoaXMuX2luaXR0ZWR8fCF0aGlzLnZhcnMubGF6eXx8YykmJih0aGlzLl9zdGFydFRpbWU9PT10aGlzLl90aW1lbGluZS5fZHVyYXRpb24mJihhPTApLCgwPmp8fDA+PWEmJmE+PS0xZS03fHxqPT09bSYmImlzUGF1c2UiIT09dGhpcy5kYXRhKSYmaiE9PWEmJihjPSEwLGo+bSYmKGU9Im9uUmV2ZXJzZUNvbXBsZXRlIikpLHRoaXMuX3Jhd1ByZXZUaW1lPWc9IWJ8fGF8fGo9PT1hP2E6bSk7ZWxzZSBpZigxZS03PmEpdGhpcy5fdG90YWxUaW1lPXRoaXMuX3RpbWU9MCx0aGlzLnJhdGlvPXRoaXMuX2Vhc2UuX2NhbGNFbmQ/dGhpcy5fZWFzZS5nZXRSYXRpbygwKTowLCgwIT09aHx8MD09PWkmJmo+MCkmJihlPSJvblJldmVyc2VDb21wbGV0ZSIsZD10aGlzLl9yZXZlcnNlZCksMD5hJiYodGhpcy5fYWN0aXZlPSExLDA9PT1pJiYodGhpcy5faW5pdHRlZHx8IXRoaXMudmFycy5sYXp5fHxjKSYmKGo+PTAmJihqIT09bXx8ImlzUGF1c2UiIT09dGhpcy5kYXRhKSYmKGM9ITApLHRoaXMuX3Jhd1ByZXZUaW1lPWc9IWJ8fGF8fGo9PT1hP2E6bSkpLHRoaXMuX2luaXR0ZWR8fChjPSEwKTtlbHNlIGlmKHRoaXMuX3RvdGFsVGltZT10aGlzLl90aW1lPWEsdGhpcy5fZWFzZVR5cGUpe3ZhciBrPWEvaSxsPXRoaXMuX2Vhc2VUeXBlLG49dGhpcy5fZWFzZVBvd2VyOygxPT09bHx8Mz09PWwmJms+PS41KSYmKGs9MS1rKSwzPT09bCYmKGsqPTIpLDE9PT1uP2sqPWs6Mj09PW4/ayo9ayprOjM9PT1uP2sqPWsqayprOjQ9PT1uJiYoayo9ayprKmsqayksMT09PWw/dGhpcy5yYXRpbz0xLWs6Mj09PWw/dGhpcy5yYXRpbz1rOi41PmEvaT90aGlzLnJhdGlvPWsvMjp0aGlzLnJhdGlvPTEtay8yfWVsc2UgdGhpcy5yYXRpbz10aGlzLl9lYXNlLmdldFJhdGlvKGEvaSk7aWYodGhpcy5fdGltZSE9PWh8fGMpe2lmKCF0aGlzLl9pbml0dGVkKXtpZih0aGlzLl9pbml0KCksIXRoaXMuX2luaXR0ZWR8fHRoaXMuX2djKXJldHVybjtpZighYyYmdGhpcy5fZmlyc3RQVCYmKHRoaXMudmFycy5sYXp5IT09ITEmJnRoaXMuX2R1cmF0aW9ufHx0aGlzLnZhcnMubGF6eSYmIXRoaXMuX2R1cmF0aW9uKSlyZXR1cm4gdGhpcy5fdGltZT10aGlzLl90b3RhbFRpbWU9aCx0aGlzLl9yYXdQcmV2VGltZT1qLEoucHVzaCh0aGlzKSx2b2lkKHRoaXMuX2xhenk9W2EsYl0pO3RoaXMuX3RpbWUmJiFkP3RoaXMucmF0aW89dGhpcy5fZWFzZS5nZXRSYXRpbyh0aGlzLl90aW1lL2kpOmQmJnRoaXMuX2Vhc2UuX2NhbGNFbmQmJih0aGlzLnJhdGlvPXRoaXMuX2Vhc2UuZ2V0UmF0aW8oMD09PXRoaXMuX3RpbWU/MDoxKSl9Zm9yKHRoaXMuX2xhenkhPT0hMSYmKHRoaXMuX2xhenk9ITEpLHRoaXMuX2FjdGl2ZXx8IXRoaXMuX3BhdXNlZCYmdGhpcy5fdGltZSE9PWgmJmE+PTAmJih0aGlzLl9hY3RpdmU9ITApLDA9PT1oJiYodGhpcy5fc3RhcnRBdCYmKGE+PTA/dGhpcy5fc3RhcnRBdC5yZW5kZXIoYSxiLGMpOmV8fChlPSJfZHVtbXlHUyIpKSx0aGlzLnZhcnMub25TdGFydCYmKDAhPT10aGlzLl90aW1lfHwwPT09aSkmJihifHx0aGlzLl9jYWxsYmFjaygib25TdGFydCIpKSksZj10aGlzLl9maXJzdFBUO2Y7KWYuZj9mLnRbZi5wXShmLmMqdGhpcy5yYXRpbytmLnMpOmYudFtmLnBdPWYuYyp0aGlzLnJhdGlvK2YucyxmPWYuX25leHQ7dGhpcy5fb25VcGRhdGUmJigwPmEmJnRoaXMuX3N0YXJ0QXQmJmEhPT0tMWUtNCYmdGhpcy5fc3RhcnRBdC5yZW5kZXIoYSxiLGMpLGJ8fCh0aGlzLl90aW1lIT09aHx8ZHx8YykmJnRoaXMuX2NhbGxiYWNrKCJvblVwZGF0ZSIpKSxlJiYoIXRoaXMuX2djfHxjKSYmKDA+YSYmdGhpcy5fc3RhcnRBdCYmIXRoaXMuX29uVXBkYXRlJiZhIT09LTFlLTQmJnRoaXMuX3N0YXJ0QXQucmVuZGVyKGEsYixjKSxkJiYodGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuJiZ0aGlzLl9lbmFibGVkKCExLCExKSx0aGlzLl9hY3RpdmU9ITEpLCFiJiZ0aGlzLnZhcnNbZV0mJnRoaXMuX2NhbGxiYWNrKGUpLDA9PT1pJiZ0aGlzLl9yYXdQcmV2VGltZT09PW0mJmchPT1tJiYodGhpcy5fcmF3UHJldlRpbWU9MCkpfX0saC5fa2lsbD1mdW5jdGlvbihhLGIsYyl7aWYoImFsbCI9PT1hJiYoYT1udWxsKSxudWxsPT1hJiYobnVsbD09Ynx8Yj09PXRoaXMudGFyZ2V0KSlyZXR1cm4gdGhpcy5fbGF6eT0hMSx0aGlzLl9lbmFibGVkKCExLCExKTtiPSJzdHJpbmciIT10eXBlb2YgYj9ifHx0aGlzLl90YXJnZXRzfHx0aGlzLnRhcmdldDpHLnNlbGVjdG9yKGIpfHxiO3ZhciBkLGUsZixnLGgsaSxqLGssbCxtPWMmJnRoaXMuX3RpbWUmJmMuX3N0YXJ0VGltZT09PXRoaXMuX3N0YXJ0VGltZSYmdGhpcy5fdGltZWxpbmU9PT1jLl90aW1lbGluZTtpZigocChiKXx8SChiKSkmJiJudW1iZXIiIT10eXBlb2YgYlswXSlmb3IoZD1iLmxlbmd0aDstLWQ+LTE7KXRoaXMuX2tpbGwoYSxiW2RdLGMpJiYoaT0hMCk7ZWxzZXtpZih0aGlzLl90YXJnZXRzKXtmb3IoZD10aGlzLl90YXJnZXRzLmxlbmd0aDstLWQ+LTE7KWlmKGI9PT10aGlzLl90YXJnZXRzW2RdKXtoPXRoaXMuX3Byb3BMb29rdXBbZF18fHt9LHRoaXMuX292ZXJ3cml0dGVuUHJvcHM9dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wc3x8W10sZT10aGlzLl9vdmVyd3JpdHRlblByb3BzW2RdPWE/dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wc1tkXXx8e306ImFsbCI7YnJlYWt9fWVsc2V7aWYoYiE9PXRoaXMudGFyZ2V0KXJldHVybiExO2g9dGhpcy5fcHJvcExvb2t1cCxlPXRoaXMuX292ZXJ3cml0dGVuUHJvcHM9YT90aGlzLl9vdmVyd3JpdHRlblByb3BzfHx7fToiYWxsIn1pZihoKXtpZihqPWF8fGgsaz1hIT09ZSYmImFsbCIhPT1lJiZhIT09aCYmKCJvYmplY3QiIT10eXBlb2YgYXx8IWEuX3RlbXBLaWxsKSxjJiYoRy5vbk92ZXJ3cml0ZXx8dGhpcy52YXJzLm9uT3ZlcndyaXRlKSl7Zm9yKGYgaW4gailoW2ZdJiYobHx8KGw9W10pLGwucHVzaChmKSk7aWYoKGx8fCFhKSYmISQodGhpcyxjLGIsbCkpcmV0dXJuITF9Zm9yKGYgaW4gaikoZz1oW2ZdKSYmKG0mJihnLmY/Zy50W2cucF0oZy5zKTpnLnRbZy5wXT1nLnMsaT0hMCksZy5wZyYmZy50Ll9raWxsKGopJiYoaT0hMCksZy5wZyYmMCE9PWcudC5fb3ZlcndyaXRlUHJvcHMubGVuZ3RofHwoZy5fcHJldj9nLl9wcmV2Ll9uZXh0PWcuX25leHQ6Zz09PXRoaXMuX2ZpcnN0UFQmJih0aGlzLl9maXJzdFBUPWcuX25leHQpLGcuX25leHQmJihnLl9uZXh0Ll9wcmV2PWcuX3ByZXYpLGcuX25leHQ9Zy5fcHJldj1udWxsKSxkZWxldGUgaFtmXSksayYmKGVbZl09MSk7IXRoaXMuX2ZpcnN0UFQmJnRoaXMuX2luaXR0ZWQmJnRoaXMuX2VuYWJsZWQoITEsITEpfX1yZXR1cm4gaX0saC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25vdGlmeVBsdWdpbnNPZkVuYWJsZWQmJkcuX29uUGx1Z2luRXZlbnQoIl9vbkRpc2FibGUiLHRoaXMpLHRoaXMuX2ZpcnN0UFQ9dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wcz10aGlzLl9zdGFydEF0PXRoaXMuX29uVXBkYXRlPW51bGwsdGhpcy5fbm90aWZ5UGx1Z2luc09mRW5hYmxlZD10aGlzLl9hY3RpdmU9dGhpcy5fbGF6eT0hMSx0aGlzLl9wcm9wTG9va3VwPXRoaXMuX3RhcmdldHM/e306W10sRC5wcm90b3R5cGUuaW52YWxpZGF0ZS5jYWxsKHRoaXMpLHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXImJih0aGlzLl90aW1lPS1tLHRoaXMucmVuZGVyKE1hdGgubWluKDAsLXRoaXMuX2RlbGF5KSkpLHRoaXN9LGguX2VuYWJsZWQ9ZnVuY3Rpb24oYSxiKXtpZihqfHxpLndha2UoKSxhJiZ0aGlzLl9nYyl7dmFyIGMsZD10aGlzLl90YXJnZXRzO2lmKGQpZm9yKGM9ZC5sZW5ndGg7LS1jPi0xOyl0aGlzLl9zaWJsaW5nc1tjXT1aKGRbY10sdGhpcywhMCk7ZWxzZSB0aGlzLl9zaWJsaW5ncz1aKHRoaXMudGFyZ2V0LHRoaXMsITApfXJldHVybiBELnByb3RvdHlwZS5fZW5hYmxlZC5jYWxsKHRoaXMsYSxiKSx0aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkJiZ0aGlzLl9maXJzdFBUP0cuX29uUGx1Z2luRXZlbnQoYT8iX29uRW5hYmxlIjoiX29uRGlzYWJsZSIsdGhpcyk6ITF9LEcudG89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgRyhhLGIsYyl9LEcuZnJvbT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMucnVuQmFja3dhcmRzPSEwLGMuaW1tZWRpYXRlUmVuZGVyPTAhPWMuaW1tZWRpYXRlUmVuZGVyLG5ldyBHKGEsYixjKX0sRy5mcm9tVG89ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGQuc3RhcnRBdD1jLGQuaW1tZWRpYXRlUmVuZGVyPTAhPWQuaW1tZWRpYXRlUmVuZGVyJiYwIT1jLmltbWVkaWF0ZVJlbmRlcixuZXcgRyhhLGIsZCl9LEcuZGVsYXllZENhbGw9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gbmV3IEcoYiwwLHtkZWxheTphLG9uQ29tcGxldGU6YixvbkNvbXBsZXRlUGFyYW1zOmMsY2FsbGJhY2tTY29wZTpkLG9uUmV2ZXJzZUNvbXBsZXRlOmIsb25SZXZlcnNlQ29tcGxldGVQYXJhbXM6YyxpbW1lZGlhdGVSZW5kZXI6ITEsbGF6eTohMSx1c2VGcmFtZXM6ZSxvdmVyd3JpdGU6MH0pfSxHLnNldD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgRyhhLDAsYil9LEcuZ2V0VHdlZW5zT2Y9ZnVuY3Rpb24oYSxiKXtpZihudWxsPT1hKXJldHVybltdO2E9InN0cmluZyIhPXR5cGVvZiBhP2E6Ry5zZWxlY3RvcihhKXx8YTt2YXIgYyxkLGUsZjtpZigocChhKXx8SChhKSkmJiJudW1iZXIiIT10eXBlb2YgYVswXSl7Zm9yKGM9YS5sZW5ndGgsZD1bXTstLWM+LTE7KWQ9ZC5jb25jYXQoRy5nZXRUd2VlbnNPZihhW2NdLGIpKTtmb3IoYz1kLmxlbmd0aDstLWM+LTE7KWZvcihmPWRbY10sZT1jOy0tZT4tMTspZj09PWRbZV0mJmQuc3BsaWNlKGMsMSl9ZWxzZSBmb3IoZD1aKGEpLmNvbmNhdCgpLGM9ZC5sZW5ndGg7LS1jPi0xOykoZFtjXS5fZ2N8fGImJiFkW2NdLmlzQWN0aXZlKCkpJiZkLnNwbGljZShjLDEpO3JldHVybiBkfSxHLmtpbGxUd2VlbnNPZj1HLmtpbGxEZWxheWVkQ2FsbHNUbz1mdW5jdGlvbihhLGIsYyl7Im9iamVjdCI9PXR5cGVvZiBiJiYoYz1iLGI9ITEpO2Zvcih2YXIgZD1HLmdldFR3ZWVuc09mKGEsYiksZT1kLmxlbmd0aDstLWU+LTE7KWRbZV0uX2tpbGwoYyxhKX07dmFyIGJhPXQoInBsdWdpbnMuVHdlZW5QbHVnaW4iLGZ1bmN0aW9uKGEsYil7dGhpcy5fb3ZlcndyaXRlUHJvcHM9KGF8fCIiKS5zcGxpdCgiLCIpLHRoaXMuX3Byb3BOYW1lPXRoaXMuX292ZXJ3cml0ZVByb3BzWzBdLHRoaXMuX3ByaW9yaXR5PWJ8fDAsdGhpcy5fc3VwZXI9YmEucHJvdG90eXBlfSwhMCk7aWYoaD1iYS5wcm90b3R5cGUsYmEudmVyc2lvbj0iMS4xOS4wIixiYS5BUEk9MixoLl9maXJzdFBUPW51bGwsaC5fYWRkVHdlZW49TyxoLnNldFJhdGlvPU0saC5fa2lsbD1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMuX292ZXJ3cml0ZVByb3BzLGQ9dGhpcy5fZmlyc3RQVDtpZihudWxsIT1hW3RoaXMuX3Byb3BOYW1lXSl0aGlzLl9vdmVyd3JpdGVQcm9wcz1bXTtlbHNlIGZvcihiPWMubGVuZ3RoOy0tYj4tMTspbnVsbCE9YVtjW2JdXSYmYy5zcGxpY2UoYiwxKTtmb3IoO2Q7KW51bGwhPWFbZC5uXSYmKGQuX25leHQmJihkLl9uZXh0Ll9wcmV2PWQuX3ByZXYpLGQuX3ByZXY/KGQuX3ByZXYuX25leHQ9ZC5fbmV4dCxkLl9wcmV2PW51bGwpOnRoaXMuX2ZpcnN0UFQ9PT1kJiYodGhpcy5fZmlyc3RQVD1kLl9uZXh0KSksZD1kLl9uZXh0O3JldHVybiExfSxoLl9tb2Q9aC5fcm91bmRQcm9wcz1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz10aGlzLl9maXJzdFBUO2M7KWI9YVt0aGlzLl9wcm9wTmFtZV18fG51bGwhPWMubiYmYVtjLm4uc3BsaXQodGhpcy5fcHJvcE5hbWUrIl8iKS5qb2luKCIiKV0sYiYmImZ1bmN0aW9uIj09dHlwZW9mIGImJigyPT09Yy5mP2MudC5fYXBwbHlQVC5tPWI6Yy5tPWIpLGM9Yy5fbmV4dH0sRy5fb25QbHVnaW5FdmVudD1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaD1iLl9maXJzdFBUO2lmKCJfb25Jbml0QWxsUHJvcHMiPT09YSl7Zm9yKDtoOyl7Zm9yKGc9aC5fbmV4dCxkPWU7ZCYmZC5wcj5oLnByOylkPWQuX25leHQ7KGguX3ByZXY9ZD9kLl9wcmV2OmYpP2guX3ByZXYuX25leHQ9aDplPWgsKGguX25leHQ9ZCk/ZC5fcHJldj1oOmY9aCxoPWd9aD1iLl9maXJzdFBUPWV9Zm9yKDtoOyloLnBnJiYiZnVuY3Rpb24iPT10eXBlb2YgaC50W2FdJiZoLnRbYV0oKSYmKGM9ITApLGg9aC5fbmV4dDtyZXR1cm4gY30sYmEuYWN0aXZhdGU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj4tMTspYVtiXS5BUEk9PT1iYS5BUEkmJihRWyhuZXcgYVtiXSkuX3Byb3BOYW1lXT1hW2JdKTtyZXR1cm4hMH0scy5wbHVnaW49ZnVuY3Rpb24oYSl7aWYoIShhJiZhLnByb3BOYW1lJiZhLmluaXQmJmEuQVBJKSl0aHJvdyJpbGxlZ2FsIHBsdWdpbiBkZWZpbml0aW9uLiI7dmFyIGIsYz1hLnByb3BOYW1lLGQ9YS5wcmlvcml0eXx8MCxlPWEub3ZlcndyaXRlUHJvcHMsZj17aW5pdDoiX29uSW5pdFR3ZWVuIixzZXQ6InNldFJhdGlvIixraWxsOiJfa2lsbCIscm91bmQ6Il9tb2QiLG1vZDoiX21vZCIsaW5pdEFsbDoiX29uSW5pdEFsbFByb3BzIn0sZz10KCJwbHVnaW5zLiIrYy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnN1YnN0cigxKSsiUGx1Z2luIixmdW5jdGlvbigpe2JhLmNhbGwodGhpcyxjLGQpLHRoaXMuX292ZXJ3cml0ZVByb3BzPWV8fFtdfSxhLmdsb2JhbD09PSEwKSxoPWcucHJvdG90eXBlPW5ldyBiYShjKTtoLmNvbnN0cnVjdG9yPWcsZy5BUEk9YS5BUEk7Zm9yKGIgaW4gZikiZnVuY3Rpb24iPT10eXBlb2YgYVtiXSYmKGhbZltiXV09YVtiXSk7cmV0dXJuIGcudmVyc2lvbj1hLnZlcnNpb24sYmEuYWN0aXZhdGUoW2ddKSxnfSxmPWEuX2dzUXVldWUpe2ZvcihnPTA7ZzxmLmxlbmd0aDtnKyspZltnXSgpO2ZvcihoIGluIHEpcVtoXS5mdW5jfHxhLmNvbnNvbGUubG9nKCJHU0FQIGVuY291bnRlcmVkIG1pc3NpbmcgZGVwZW5kZW5jeTogIitoKX1qPSExfX0oInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6dGhpc3x8d2luZG93LCJUd2VlbkxpdGUiKTsNCi8qIFRJTUUgTElORSBMSVRFICovDQovKiENCiAqIFZFUlNJT046IDEuMTcuMA0KICogREFURTogMjAxNS0wNS0yNw0KICogVVBEQVRFUyBBTkQgRE9DUyBBVDogaHR0cDovL2dyZWVuc29jay5jb20NCiAqDQogKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDgtMjAxNSwgR3JlZW5Tb2NrLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KICogVGhpcyB3b3JrIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGF0IGh0dHA6Ly9ncmVlbnNvY2suY29tL3N0YW5kYXJkLWxpY2Vuc2Ugb3IgZm9yDQogKiBDbHViIEdyZWVuU29jayBtZW1iZXJzLCB0aGUgc29mdHdhcmUgYWdyZWVtZW50IHRoYXQgd2FzIGlzc3VlZCB3aXRoIHlvdXIgbWVtYmVyc2hpcC4NCiAqIA0KICogQGF1dGhvcjogSmFjayBEb3lsZSwgamFja0BncmVlbnNvY2suY29tDQogKi8NCnZhciBfZ3NTY29wZT0idW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDp0aGlzfHx3aW5kb3c7KF9nc1Njb3BlLl9nc1F1ZXVlfHwoX2dzU2NvcGUuX2dzUXVldWU9W10pKS5wdXNoKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO19nc1Njb3BlLl9nc0RlZmluZSgiVGltZWxpbmVMaXRlIixbImNvcmUuQW5pbWF0aW9uIiwiY29yZS5TaW1wbGVUaW1lbGluZSIsIlR3ZWVuTGl0ZSJdLGZ1bmN0aW9uKHQsZSxpKXt2YXIgcz1mdW5jdGlvbih0KXtlLmNhbGwodGhpcyx0KSx0aGlzLl9sYWJlbHM9e30sdGhpcy5hdXRvUmVtb3ZlQ2hpbGRyZW49dGhpcy52YXJzLmF1dG9SZW1vdmVDaGlsZHJlbj09PSEwLHRoaXMuc21vb3RoQ2hpbGRUaW1pbmc9dGhpcy52YXJzLnNtb290aENoaWxkVGltaW5nPT09ITAsdGhpcy5fc29ydENoaWxkcmVuPSEwLHRoaXMuX29uVXBkYXRlPXRoaXMudmFycy5vblVwZGF0ZTt2YXIgaSxzLHI9dGhpcy52YXJzO2ZvcihzIGluIHIpaT1yW3NdLGgoaSkmJi0xIT09aS5qb2luKCIiKS5pbmRleE9mKCJ7c2VsZn0iKSYmKHJbc109dGhpcy5fc3dhcFNlbGZJblBhcmFtcyhpKSk7aChyLnR3ZWVucykmJnRoaXMuYWRkKHIudHdlZW5zLDAsci5hbGlnbixyLnN0YWdnZXIpfSxyPTFlLTEwLG49aS5faW50ZXJuYWxzLGE9cy5faW50ZXJuYWxzPXt9LG89bi5pc1NlbGVjdG9yLGg9bi5pc0FycmF5LGw9bi5sYXp5VHdlZW5zLF89bi5sYXp5UmVuZGVyLHU9W10sZj1fZ3NTY29wZS5fZ3NEZWZpbmUuZ2xvYmFscyxjPWZ1bmN0aW9uKHQpe3ZhciBlLGk9e307Zm9yKGUgaW4gdClpW2VdPXRbZV07cmV0dXJuIGl9LHA9YS5wYXVzZUNhbGxiYWNrPWZ1bmN0aW9uKHQsZSxpLHMpe3ZhciBuLGE9dC5fdGltZWxpbmUsbz1hLl90b3RhbFRpbWUsaD10Ll9zdGFydFRpbWUsbD0wPnQuX3Jhd1ByZXZUaW1lfHwwPT09dC5fcmF3UHJldlRpbWUmJmEuX3JldmVyc2VkLF89bD8wOnIsZj1sP3I6MDtpZihlfHwhdGhpcy5fZm9yY2luZ1BsYXloZWFkKXtmb3IoYS5wYXVzZShoKSxuPXQuX3ByZXY7biYmbi5fc3RhcnRUaW1lPT09aDspbi5fcmF3UHJldlRpbWU9ZixuPW4uX3ByZXY7Zm9yKG49dC5fbmV4dDtuJiZuLl9zdGFydFRpbWU9PT1oOyluLl9yYXdQcmV2VGltZT1fLG49bi5fbmV4dDtlJiZlLmFwcGx5KHN8fGEudmFycy5jYWxsYmFja1Njb3BlfHxhLGl8fHUpLCh0aGlzLl9mb3JjaW5nUGxheWhlYWR8fCFhLl9wYXVzZWQpJiZhLnNlZWsobyl9fSxtPWZ1bmN0aW9uKHQpe3ZhciBlLGk9W10scz10Lmxlbmd0aDtmb3IoZT0wO2UhPT1zO2kucHVzaCh0W2UrK10pKTtyZXR1cm4gaX0sZD1zLnByb3RvdHlwZT1uZXcgZTtyZXR1cm4gcy52ZXJzaW9uPSIxLjE3LjAiLGQuY29uc3RydWN0b3I9cyxkLmtpbGwoKS5fZ2M9ZC5fZm9yY2luZ1BsYXloZWFkPSExLGQudG89ZnVuY3Rpb24odCxlLHMscil7dmFyIG49cy5yZXBlYXQmJmYuVHdlZW5NYXh8fGk7cmV0dXJuIGU/dGhpcy5hZGQobmV3IG4odCxlLHMpLHIpOnRoaXMuc2V0KHQscyxyKX0sZC5mcm9tPWZ1bmN0aW9uKHQsZSxzLHIpe3JldHVybiB0aGlzLmFkZCgocy5yZXBlYXQmJmYuVHdlZW5NYXh8fGkpLmZyb20odCxlLHMpLHIpfSxkLmZyb21Ubz1mdW5jdGlvbih0LGUscyxyLG4pe3ZhciBhPXIucmVwZWF0JiZmLlR3ZWVuTWF4fHxpO3JldHVybiBlP3RoaXMuYWRkKGEuZnJvbVRvKHQsZSxzLHIpLG4pOnRoaXMuc2V0KHQscixuKX0sZC5zdGFnZ2VyVG89ZnVuY3Rpb24odCxlLHIsbixhLGgsbCxfKXt2YXIgdSxmPW5ldyBzKHtvbkNvbXBsZXRlOmgsb25Db21wbGV0ZVBhcmFtczpsLGNhbGxiYWNrU2NvcGU6XyxzbW9vdGhDaGlsZFRpbWluZzp0aGlzLnNtb290aENoaWxkVGltaW5nfSk7Zm9yKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9aS5zZWxlY3Rvcih0KXx8dCksdD10fHxbXSxvKHQpJiYodD1tKHQpKSxuPW58fDAsMD5uJiYodD1tKHQpLHQucmV2ZXJzZSgpLG4qPS0xKSx1PTA7dC5sZW5ndGg+dTt1Kyspci5zdGFydEF0JiYoci5zdGFydEF0PWMoci5zdGFydEF0KSksZi50byh0W3VdLGUsYyhyKSx1Km4pO3JldHVybiB0aGlzLmFkZChmLGEpfSxkLnN0YWdnZXJGcm9tPWZ1bmN0aW9uKHQsZSxpLHMscixuLGEsbyl7cmV0dXJuIGkuaW1tZWRpYXRlUmVuZGVyPTAhPWkuaW1tZWRpYXRlUmVuZGVyLGkucnVuQmFja3dhcmRzPSEwLHRoaXMuc3RhZ2dlclRvKHQsZSxpLHMscixuLGEsbyl9LGQuc3RhZ2dlckZyb21Ubz1mdW5jdGlvbih0LGUsaSxzLHIsbixhLG8saCl7cmV0dXJuIHMuc3RhcnRBdD1pLHMuaW1tZWRpYXRlUmVuZGVyPTAhPXMuaW1tZWRpYXRlUmVuZGVyJiYwIT1pLmltbWVkaWF0ZVJlbmRlcix0aGlzLnN0YWdnZXJUbyh0LGUscyxyLG4sYSxvLGgpfSxkLmNhbGw9ZnVuY3Rpb24odCxlLHMscil7cmV0dXJuIHRoaXMuYWRkKGkuZGVsYXllZENhbGwoMCx0LGUscykscil9LGQuc2V0PWZ1bmN0aW9uKHQsZSxzKXtyZXR1cm4gcz10aGlzLl9wYXJzZVRpbWVPckxhYmVsKHMsMCwhMCksbnVsbD09ZS5pbW1lZGlhdGVSZW5kZXImJihlLmltbWVkaWF0ZVJlbmRlcj1zPT09dGhpcy5fdGltZSYmIXRoaXMuX3BhdXNlZCksdGhpcy5hZGQobmV3IGkodCwwLGUpLHMpfSxzLmV4cG9ydFJvb3Q9ZnVuY3Rpb24odCxlKXt0PXR8fHt9LG51bGw9PXQuc21vb3RoQ2hpbGRUaW1pbmcmJih0LnNtb290aENoaWxkVGltaW5nPSEwKTt2YXIgcixuLGE9bmV3IHModCksbz1hLl90aW1lbGluZTtmb3IobnVsbD09ZSYmKGU9ITApLG8uX3JlbW92ZShhLCEwKSxhLl9zdGFydFRpbWU9MCxhLl9yYXdQcmV2VGltZT1hLl90aW1lPWEuX3RvdGFsVGltZT1vLl90aW1lLHI9by5fZmlyc3Q7cjspbj1yLl9uZXh0LGUmJnIgaW5zdGFuY2VvZiBpJiZyLnRhcmdldD09PXIudmFycy5vbkNvbXBsZXRlfHxhLmFkZChyLHIuX3N0YXJ0VGltZS1yLl9kZWxheSkscj1uO3JldHVybiBvLmFkZChhLDApLGF9LGQuYWRkPWZ1bmN0aW9uKHIsbixhLG8pe3ZhciBsLF8sdSxmLGMscDtpZigibnVtYmVyIiE9dHlwZW9mIG4mJihuPXRoaXMuX3BhcnNlVGltZU9yTGFiZWwobiwwLCEwLHIpKSwhKHIgaW5zdGFuY2VvZiB0KSl7aWYociBpbnN0YW5jZW9mIEFycmF5fHxyJiZyLnB1c2gmJmgocikpe2ZvcihhPWF8fCJub3JtYWwiLG89b3x8MCxsPW4sXz1yLmxlbmd0aCx1PTA7Xz51O3UrKyloKGY9clt1XSkmJihmPW5ldyBzKHt0d2VlbnM6Zn0pKSx0aGlzLmFkZChmLGwpLCJzdHJpbmciIT10eXBlb2YgZiYmImZ1bmN0aW9uIiE9dHlwZW9mIGYmJigic2VxdWVuY2UiPT09YT9sPWYuX3N0YXJ0VGltZStmLnRvdGFsRHVyYXRpb24oKS9mLl90aW1lU2NhbGU6InN0YXJ0Ij09PWEmJihmLl9zdGFydFRpbWUtPWYuZGVsYXkoKSkpLGwrPW87cmV0dXJuIHRoaXMuX3VuY2FjaGUoITApfWlmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4gdGhpcy5hZGRMYWJlbChyLG4pO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IkNhbm5vdCBhZGQgIityKyIgaW50byB0aGUgdGltZWxpbmU7IGl0IGlzIG5vdCBhIHR3ZWVuLCB0aW1lbGluZSwgZnVuY3Rpb24sIG9yIHN0cmluZy4iO3I9aS5kZWxheWVkQ2FsbCgwLHIpfWlmKGUucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMscixuKSwodGhpcy5fZ2N8fHRoaXMuX3RpbWU9PT10aGlzLl9kdXJhdGlvbikmJiF0aGlzLl9wYXVzZWQmJnRoaXMuX2R1cmF0aW9uPHRoaXMuZHVyYXRpb24oKSlmb3IoYz10aGlzLHA9Yy5yYXdUaW1lKCk+ci5fc3RhcnRUaW1lO2MuX3RpbWVsaW5lOylwJiZjLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZz9jLnRvdGFsVGltZShjLl90b3RhbFRpbWUsITApOmMuX2djJiZjLl9lbmFibGVkKCEwLCExKSxjPWMuX3RpbWVsaW5lO3JldHVybiB0aGlzfSxkLnJlbW92ZT1mdW5jdGlvbihlKXtpZihlIGluc3RhbmNlb2YgdClyZXR1cm4gdGhpcy5fcmVtb3ZlKGUsITEpO2lmKGUgaW5zdGFuY2VvZiBBcnJheXx8ZSYmZS5wdXNoJiZoKGUpKXtmb3IodmFyIGk9ZS5sZW5ndGg7LS1pPi0xOyl0aGlzLnJlbW92ZShlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/dGhpcy5yZW1vdmVMYWJlbChlKTp0aGlzLmtpbGwobnVsbCxlKX0sZC5fcmVtb3ZlPWZ1bmN0aW9uKHQsaSl7ZS5wcm90b3R5cGUuX3JlbW92ZS5jYWxsKHRoaXMsdCxpKTt2YXIgcz10aGlzLl9sYXN0O3JldHVybiBzP3RoaXMuX3RpbWU+cy5fc3RhcnRUaW1lK3MuX3RvdGFsRHVyYXRpb24vcy5fdGltZVNjYWxlJiYodGhpcy5fdGltZT10aGlzLmR1cmF0aW9uKCksdGhpcy5fdG90YWxUaW1lPXRoaXMuX3RvdGFsRHVyYXRpb24pOnRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPXRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249MCx0aGlzfSxkLmFwcGVuZD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmFkZCh0LHRoaXMuX3BhcnNlVGltZU9yTGFiZWwobnVsbCxlLCEwLHQpKX0sZC5pbnNlcnQ9ZC5pbnNlcnRNdWx0aXBsZT1mdW5jdGlvbih0LGUsaSxzKXtyZXR1cm4gdGhpcy5hZGQodCxlfHwwLGkscyl9LGQuYXBwZW5kTXVsdGlwbGU9ZnVuY3Rpb24odCxlLGkscyl7cmV0dXJuIHRoaXMuYWRkKHQsdGhpcy5fcGFyc2VUaW1lT3JMYWJlbChudWxsLGUsITAsdCksaSxzKX0sZC5hZGRMYWJlbD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9sYWJlbHNbdF09dGhpcy5fcGFyc2VUaW1lT3JMYWJlbChlKSx0aGlzfSxkLmFkZFBhdXNlPWZ1bmN0aW9uKHQsZSxzLHIpe3ZhciBuPWkuZGVsYXllZENhbGwoMCxwLFsie3NlbGZ9IixlLHMscl0sdGhpcyk7cmV0dXJuIG4uZGF0YT0iaXNQYXVzZSIsdGhpcy5hZGQobix0KX0sZC5yZW1vdmVMYWJlbD1mdW5jdGlvbih0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX2xhYmVsc1t0XSx0aGlzfSxkLmdldExhYmVsVGltZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dGhpcy5fbGFiZWxzW3RdP3RoaXMuX2xhYmVsc1t0XTotMX0sZC5fcGFyc2VUaW1lT3JMYWJlbD1mdW5jdGlvbihlLGkscyxyKXt2YXIgbjtpZihyIGluc3RhbmNlb2YgdCYmci50aW1lbGluZT09PXRoaXMpdGhpcy5yZW1vdmUocik7ZWxzZSBpZihyJiYociBpbnN0YW5jZW9mIEFycmF5fHxyLnB1c2gmJmgocikpKWZvcihuPXIubGVuZ3RoOy0tbj4tMTspcltuXWluc3RhbmNlb2YgdCYmcltuXS50aW1lbGluZT09PXRoaXMmJnRoaXMucmVtb3ZlKHJbbl0pO2lmKCJzdHJpbmciPT10eXBlb2YgaSlyZXR1cm4gdGhpcy5fcGFyc2VUaW1lT3JMYWJlbChpLHMmJiJudW1iZXIiPT10eXBlb2YgZSYmbnVsbD09dGhpcy5fbGFiZWxzW2ldP2UtdGhpcy5kdXJhdGlvbigpOjAscyk7aWYoaT1pfHwwLCJzdHJpbmciIT10eXBlb2YgZXx8IWlzTmFOKGUpJiZudWxsPT10aGlzLl9sYWJlbHNbZV0pbnVsbD09ZSYmKGU9dGhpcy5kdXJhdGlvbigpKTtlbHNle2lmKG49ZS5pbmRleE9mKCI9IiksLTE9PT1uKXJldHVybiBudWxsPT10aGlzLl9sYWJlbHNbZV0/cz90aGlzLl9sYWJlbHNbZV09dGhpcy5kdXJhdGlvbigpK2k6aTp0aGlzLl9sYWJlbHNbZV0raTtpPXBhcnNlSW50KGUuY2hhckF0KG4tMSkrIjEiLDEwKSpOdW1iZXIoZS5zdWJzdHIobisxKSksZT1uPjE/dGhpcy5fcGFyc2VUaW1lT3JMYWJlbChlLnN1YnN0cigwLG4tMSksMCxzKTp0aGlzLmR1cmF0aW9uKCl9cmV0dXJuIE51bWJlcihlKStpfSxkLnNlZWs9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoIm51bWJlciI9PXR5cGVvZiB0P3Q6dGhpcy5fcGFyc2VUaW1lT3JMYWJlbCh0KSxlIT09ITEpfSxkLnN0b3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXVzZWQoITApfSxkLmdvdG9BbmRQbGF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucGxheSh0LGUpfSxkLmdvdG9BbmRTdG9wPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucGF1c2UodCxlKX0sZC5yZW5kZXI9ZnVuY3Rpb24odCxlLGkpe3RoaXMuX2djJiZ0aGlzLl9lbmFibGVkKCEwLCExKTt2YXIgcyxuLGEsbyxoLHU9dGhpcy5fZGlydHk/dGhpcy50b3RhbER1cmF0aW9uKCk6dGhpcy5fdG90YWxEdXJhdGlvbixmPXRoaXMuX3RpbWUsYz10aGlzLl9zdGFydFRpbWUscD10aGlzLl90aW1lU2NhbGUsbT10aGlzLl9wYXVzZWQ7aWYodD49dSl0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT11LHRoaXMuX3JldmVyc2VkfHx0aGlzLl9oYXNQYXVzZWRDaGlsZCgpfHwobj0hMCxvPSJvbkNvbXBsZXRlIixoPSEhdGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuLDA9PT10aGlzLl9kdXJhdGlvbiYmKDA9PT10fHwwPnRoaXMuX3Jhd1ByZXZUaW1lfHx0aGlzLl9yYXdQcmV2VGltZT09PXIpJiZ0aGlzLl9yYXdQcmV2VGltZSE9PXQmJnRoaXMuX2ZpcnN0JiYoaD0hMCx0aGlzLl9yYXdQcmV2VGltZT5yJiYobz0ib25SZXZlcnNlQ29tcGxldGUiKSkpLHRoaXMuX3Jhd1ByZXZUaW1lPXRoaXMuX2R1cmF0aW9ufHwhZXx8dHx8dGhpcy5fcmF3UHJldlRpbWU9PT10P3Q6cix0PXUrMWUtNDtlbHNlIGlmKDFlLTc+dClpZih0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT0wLCgwIT09Znx8MD09PXRoaXMuX2R1cmF0aW9uJiZ0aGlzLl9yYXdQcmV2VGltZSE9PXImJih0aGlzLl9yYXdQcmV2VGltZT4wfHwwPnQmJnRoaXMuX3Jhd1ByZXZUaW1lPj0wKSkmJihvPSJvblJldmVyc2VDb21wbGV0ZSIsbj10aGlzLl9yZXZlcnNlZCksMD50KXRoaXMuX2FjdGl2ZT0hMSx0aGlzLl90aW1lbGluZS5hdXRvUmVtb3ZlQ2hpbGRyZW4mJnRoaXMuX3JldmVyc2VkPyhoPW49ITAsbz0ib25SZXZlcnNlQ29tcGxldGUiKTp0aGlzLl9yYXdQcmV2VGltZT49MCYmdGhpcy5fZmlyc3QmJihoPSEwKSx0aGlzLl9yYXdQcmV2VGltZT10O2Vsc2V7aWYodGhpcy5fcmF3UHJldlRpbWU9dGhpcy5fZHVyYXRpb258fCFlfHx0fHx0aGlzLl9yYXdQcmV2VGltZT09PXQ/dDpyLDA9PT10JiZuKWZvcihzPXRoaXMuX2ZpcnN0O3MmJjA9PT1zLl9zdGFydFRpbWU7KXMuX2R1cmF0aW9ufHwobj0hMSkscz1zLl9uZXh0O3Q9MCx0aGlzLl9pbml0dGVkfHwoaD0hMCl9ZWxzZSB0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT10aGlzLl9yYXdQcmV2VGltZT10O2lmKHRoaXMuX3RpbWUhPT1mJiZ0aGlzLl9maXJzdHx8aXx8aCl7aWYodGhpcy5faW5pdHRlZHx8KHRoaXMuX2luaXR0ZWQ9ITApLHRoaXMuX2FjdGl2ZXx8IXRoaXMuX3BhdXNlZCYmdGhpcy5fdGltZSE9PWYmJnQ+MCYmKHRoaXMuX2FjdGl2ZT0hMCksMD09PWYmJnRoaXMudmFycy5vblN0YXJ0JiYwIT09dGhpcy5fdGltZSYmKGV8fHRoaXMuX2NhbGxiYWNrKCJvblN0YXJ0IikpLHRoaXMuX3RpbWU+PWYpZm9yKHM9dGhpcy5fZmlyc3Q7cyYmKGE9cy5fbmV4dCwhdGhpcy5fcGF1c2VkfHxtKTspKHMuX2FjdGl2ZXx8cy5fc3RhcnRUaW1lPD10aGlzLl90aW1lJiYhcy5fcGF1c2VkJiYhcy5fZ2MpJiYocy5fcmV2ZXJzZWQ/cy5yZW5kZXIoKHMuX2RpcnR5P3MudG90YWxEdXJhdGlvbigpOnMuX3RvdGFsRHVyYXRpb24pLSh0LXMuX3N0YXJ0VGltZSkqcy5fdGltZVNjYWxlLGUsaSk6cy5yZW5kZXIoKHQtcy5fc3RhcnRUaW1lKSpzLl90aW1lU2NhbGUsZSxpKSkscz1hO2Vsc2UgZm9yKHM9dGhpcy5fbGFzdDtzJiYoYT1zLl9wcmV2LCF0aGlzLl9wYXVzZWR8fG0pOykocy5fYWN0aXZlfHxmPj1zLl9zdGFydFRpbWUmJiFzLl9wYXVzZWQmJiFzLl9nYykmJihzLl9yZXZlcnNlZD9zLnJlbmRlcigocy5fZGlydHk/cy50b3RhbER1cmF0aW9uKCk6cy5fdG90YWxEdXJhdGlvbiktKHQtcy5fc3RhcnRUaW1lKSpzLl90aW1lU2NhbGUsZSxpKTpzLnJlbmRlcigodC1zLl9zdGFydFRpbWUpKnMuX3RpbWVTY2FsZSxlLGkpKSxzPWE7dGhpcy5fb25VcGRhdGUmJihlfHwobC5sZW5ndGgmJl8oKSx0aGlzLl9jYWxsYmFjaygib25VcGRhdGUiKSkpLG8mJih0aGlzLl9nY3x8KGM9PT10aGlzLl9zdGFydFRpbWV8fHAhPT10aGlzLl90aW1lU2NhbGUpJiYoMD09PXRoaXMuX3RpbWV8fHU+PXRoaXMudG90YWxEdXJhdGlvbigpKSYmKG4mJihsLmxlbmd0aCYmXygpLHRoaXMuX3RpbWVsaW5lLmF1dG9SZW1vdmVDaGlsZHJlbiYmdGhpcy5fZW5hYmxlZCghMSwhMSksdGhpcy5fYWN0aXZlPSExKSwhZSYmdGhpcy52YXJzW29dJiZ0aGlzLl9jYWxsYmFjayhvKSkpfX0sZC5faGFzUGF1c2VkQ2hpbGQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fZmlyc3Q7dDspe2lmKHQuX3BhdXNlZHx8dCBpbnN0YW5jZW9mIHMmJnQuX2hhc1BhdXNlZENoaWxkKCkpcmV0dXJuITA7dD10Ll9uZXh0fXJldHVybiExfSxkLmdldENoaWxkcmVuPWZ1bmN0aW9uKHQsZSxzLHIpe3I9cnx8LTk5OTk5OTk5OTk7Zm9yKHZhciBuPVtdLGE9dGhpcy5fZmlyc3Qsbz0wO2E7KXI+YS5fc3RhcnRUaW1lfHwoYSBpbnN0YW5jZW9mIGk/ZSE9PSExJiYobltvKytdPWEpOihzIT09ITEmJihuW28rK109YSksdCE9PSExJiYobj1uLmNvbmNhdChhLmdldENoaWxkcmVuKCEwLGUscykpLG89bi5sZW5ndGgpKSksYT1hLl9uZXh0O3JldHVybiBufSxkLmdldFR3ZWVuc09mPWZ1bmN0aW9uKHQsZSl7dmFyIHMscixuPXRoaXMuX2djLGE9W10sbz0wO2ZvcihuJiZ0aGlzLl9lbmFibGVkKCEwLCEwKSxzPWkuZ2V0VHdlZW5zT2YodCkscj1zLmxlbmd0aDstLXI+LTE7KShzW3JdLnRpbWVsaW5lPT09dGhpc3x8ZSYmdGhpcy5fY29udGFpbnMoc1tyXSkpJiYoYVtvKytdPXNbcl0pO3JldHVybiBuJiZ0aGlzLl9lbmFibGVkKCExLCEwKSxhfSxkLnJlY2VudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWNlbnR9LGQuX2NvbnRhaW5zPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LnRpbWVsaW5lO2U7KXtpZihlPT09dGhpcylyZXR1cm4hMDtlPWUudGltZWxpbmV9cmV0dXJuITF9LGQuc2hpZnRDaGlsZHJlbj1mdW5jdGlvbih0LGUsaSl7aT1pfHwwO2Zvcih2YXIgcyxyPXRoaXMuX2ZpcnN0LG49dGhpcy5fbGFiZWxzO3I7KXIuX3N0YXJ0VGltZT49aSYmKHIuX3N0YXJ0VGltZSs9dCkscj1yLl9uZXh0O2lmKGUpZm9yKHMgaW4gbiluW3NdPj1pJiYobltzXSs9dCk7cmV0dXJuIHRoaXMuX3VuY2FjaGUoITApfSxkLl9raWxsPWZ1bmN0aW9uKHQsZSl7aWYoIXQmJiFlKXJldHVybiB0aGlzLl9lbmFibGVkKCExLCExKTtmb3IodmFyIGk9ZT90aGlzLmdldFR3ZWVuc09mKGUpOnRoaXMuZ2V0Q2hpbGRyZW4oITAsITAsITEpLHM9aS5sZW5ndGgscj0hMTstLXM+LTE7KWlbc10uX2tpbGwodCxlKSYmKHI9ITApO3JldHVybiByfSxkLmNsZWFyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0Q2hpbGRyZW4oITEsITAsITApLGk9ZS5sZW5ndGg7Zm9yKHRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPTA7LS1pPi0xOyllW2ldLl9lbmFibGVkKCExLCExKTtyZXR1cm4gdCE9PSExJiYodGhpcy5fbGFiZWxzPXt9KSx0aGlzLl91bmNhY2hlKCEwKX0sZC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuX2ZpcnN0O2U7KWUuaW52YWxpZGF0ZSgpLGU9ZS5fbmV4dDtyZXR1cm4gdC5wcm90b3R5cGUuaW52YWxpZGF0ZS5jYWxsKHRoaXMpfSxkLl9lbmFibGVkPWZ1bmN0aW9uKHQsaSl7aWYodD09PXRoaXMuX2djKWZvcih2YXIgcz10aGlzLl9maXJzdDtzOylzLl9lbmFibGVkKHQsITApLHM9cy5fbmV4dDtyZXR1cm4gZS5wcm90b3R5cGUuX2VuYWJsZWQuY2FsbCh0aGlzLHQsaSl9LGQudG90YWxUaW1lPWZ1bmN0aW9uKCl7dGhpcy5fZm9yY2luZ1BsYXloZWFkPSEwO3ZhciBlPXQucHJvdG90eXBlLnRvdGFsVGltZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuX2ZvcmNpbmdQbGF5aGVhZD0hMSxlfSxkLmR1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPygwIT09dGhpcy5kdXJhdGlvbigpJiYwIT09dCYmdGhpcy50aW1lU2NhbGUodGhpcy5fZHVyYXRpb24vdCksdGhpcyk6KHRoaXMuX2RpcnR5JiZ0aGlzLnRvdGFsRHVyYXRpb24oKSx0aGlzLl9kdXJhdGlvbil9LGQudG90YWxEdXJhdGlvbj1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aCl7aWYodGhpcy5fZGlydHkpe2Zvcih2YXIgZSxpLHM9MCxyPXRoaXMuX2xhc3Qsbj05OTk5OTk5OTk5OTk7cjspZT1yLl9wcmV2LHIuX2RpcnR5JiZyLnRvdGFsRHVyYXRpb24oKSxyLl9zdGFydFRpbWU+biYmdGhpcy5fc29ydENoaWxkcmVuJiYhci5fcGF1c2VkP3RoaXMuYWRkKHIsci5fc3RhcnRUaW1lLXIuX2RlbGF5KTpuPXIuX3N0YXJ0VGltZSwwPnIuX3N0YXJ0VGltZSYmIXIuX3BhdXNlZCYmKHMtPXIuX3N0YXJ0VGltZSx0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmKHRoaXMuX3N0YXJ0VGltZSs9ci5fc3RhcnRUaW1lL3RoaXMuX3RpbWVTY2FsZSksdGhpcy5zaGlmdENoaWxkcmVuKC1yLl9zdGFydFRpbWUsITEsLTk5OTk5OTk5OTkpLG49MCksaT1yLl9zdGFydFRpbWUrci5fdG90YWxEdXJhdGlvbi9yLl90aW1lU2NhbGUsaT5zJiYocz1pKSxyPWU7dGhpcy5fZHVyYXRpb249dGhpcy5fdG90YWxEdXJhdGlvbj1zLHRoaXMuX2RpcnR5PSExfXJldHVybiB0aGlzLl90b3RhbER1cmF0aW9ufXJldHVybiAwIT09dGhpcy50b3RhbER1cmF0aW9uKCkmJjAhPT10JiZ0aGlzLnRpbWVTY2FsZSh0aGlzLl90b3RhbER1cmF0aW9uL3QpLHRoaXN9LGQucGF1c2VkPWZ1bmN0aW9uKGUpe2lmKCFlKWZvcih2YXIgaT10aGlzLl9maXJzdCxzPXRoaXMuX3RpbWU7aTspaS5fc3RhcnRUaW1lPT09cyYmImlzUGF1c2UiPT09aS5kYXRhJiYoaS5fcmF3UHJldlRpbWU9MCksaT1pLl9uZXh0O3JldHVybiB0LnByb3RvdHlwZS5wYXVzZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxkLnVzZXNGcmFtZXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fdGltZWxpbmU7ZS5fdGltZWxpbmU7KWU9ZS5fdGltZWxpbmU7cmV0dXJuIGU9PT10Ll9yb290RnJhbWVzVGltZWxpbmV9LGQucmF3VGltZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYXVzZWQ/dGhpcy5fdG90YWxUaW1lOih0aGlzLl90aW1lbGluZS5yYXdUaW1lKCktdGhpcy5fc3RhcnRUaW1lKSp0aGlzLl90aW1lU2NhbGV9LHN9LCEwKX0pLF9nc1Njb3BlLl9nc0RlZmluZSYmX2dzU2NvcGUuX2dzUXVldWUucG9wKCkoKSxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4oX2dzU2NvcGUuR3JlZW5Tb2NrR2xvYmFsc3x8X2dzU2NvcGUpW3RdfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIlR3ZWVuTGl0ZSJdLGUpOiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmKHJlcXVpcmUoIi4vVHdlZW5MaXRlLmpzIiksbW9kdWxlLmV4cG9ydHM9ZSgpKX0oIlRpbWVsaW5lTGl0ZSIpOw0KDQoNCi8qIEVBU0lORyBQTFVHSU4qLw0KLyohDQogKiBWRVJTSU9OOiAxLjE1LjUNCiAqIERBVEU6IDIwMTYtMDctMDgNCiAqIFVQREFURVMgQU5EIERPQ1MgQVQ6IGh0dHA6Ly9ncmVlbnNvY2suY29tDQogKg0KICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDA4LTIwMTYsIEdyZWVuU29jay4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwOi8vZ3JlZW5zb2NrLmNvbS9zdGFuZGFyZC1saWNlbnNlIG9yIGZvcg0KICogQ2x1YiBHcmVlblNvY2sgbWVtYmVycywgdGhlIHNvZnR3YXJlIGFncmVlbWVudCB0aGF0IHdhcyBpc3N1ZWQgd2l0aCB5b3VyIG1lbWJlcnNoaXAuDQogKiANCiAqIEBhdXRob3I6IEphY2sgRG95bGUsIGphY2tAZ3JlZW5zb2NrLmNvbQ0KICoqLw0KdmFyIF9nc1Njb3BlPSJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOnRoaXN8fHdpbmRvdzsoX2dzU2NvcGUuX2dzUXVldWV8fChfZ3NTY29wZS5fZ3NRdWV1ZT1bXSkpLnB1c2goZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7X2dzU2NvcGUuX2dzRGVmaW5lKCJlYXNpbmcuQmFjayIsWyJlYXNpbmcuRWFzZSJdLGZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPV9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlLGY9ZS5jb20uZ3JlZW5zb2NrLGc9MipNYXRoLlBJLGg9TWF0aC5QSS8yLGk9Zi5fY2xhc3Msaj1mdW5jdGlvbihiLGMpe3ZhciBkPWkoImVhc2luZy4iK2IsZnVuY3Rpb24oKXt9LCEwKSxlPWQucHJvdG90eXBlPW5ldyBhO3JldHVybiBlLmNvbnN0cnVjdG9yPWQsZS5nZXRSYXRpbz1jLGR9LGs9YS5yZWdpc3Rlcnx8ZnVuY3Rpb24oKXt9LGw9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1pKCJlYXNpbmcuIithLHtlYXNlT3V0Om5ldyBiLGVhc2VJbjpuZXcgYyxlYXNlSW5PdXQ6bmV3IGR9LCEwKTtyZXR1cm4gayhmLGEpLGZ9LG09ZnVuY3Rpb24oYSxiLGMpe3RoaXMudD1hLHRoaXMudj1iLGMmJih0aGlzLm5leHQ9YyxjLnByZXY9dGhpcyx0aGlzLmM9Yy52LWIsdGhpcy5nYXA9Yy50LWEpfSxuPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9aSgiZWFzaW5nLiIrYixmdW5jdGlvbihhKXt0aGlzLl9wMT1hfHwwPT09YT9hOjEuNzAxNTgsdGhpcy5fcDI9MS41MjUqdGhpcy5fcDF9LCEwKSxlPWQucHJvdG90eXBlPW5ldyBhO3JldHVybiBlLmNvbnN0cnVjdG9yPWQsZS5nZXRSYXRpbz1jLGUuY29uZmlnPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgZChhKX0sZH0sbz1sKCJCYWNrIixuKCJCYWNrT3V0IixmdW5jdGlvbihhKXtyZXR1cm4oYS09MSkqYSooKHRoaXMuX3AxKzEpKmErdGhpcy5fcDEpKzF9KSxuKCJCYWNrSW4iLGZ1bmN0aW9uKGEpe3JldHVybiBhKmEqKCh0aGlzLl9wMSsxKSphLXRoaXMuX3AxKX0pLG4oIkJhY2tJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LjUqYSphKigodGhpcy5fcDIrMSkqYS10aGlzLl9wMik6LjUqKChhLT0yKSphKigodGhpcy5fcDIrMSkqYSt0aGlzLl9wMikrMil9KSkscD1pKCJlYXNpbmcuU2xvd01vIixmdW5jdGlvbihhLGIsYyl7Yj1ifHwwPT09Yj9iOi43LG51bGw9PWE/YT0uNzphPjEmJihhPTEpLHRoaXMuX3A9MSE9PWE/YjowLHRoaXMuX3AxPSgxLWEpLzIsdGhpcy5fcDI9YSx0aGlzLl9wMz10aGlzLl9wMSt0aGlzLl9wMix0aGlzLl9jYWxjRW5kPWM9PT0hMH0sITApLHE9cC5wcm90b3R5cGU9bmV3IGE7cmV0dXJuIHEuY29uc3RydWN0b3I9cCxxLmdldFJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiPWErKC41LWEpKnRoaXMuX3A7cmV0dXJuIGE8dGhpcy5fcDE/dGhpcy5fY2FsY0VuZD8xLShhPTEtYS90aGlzLl9wMSkqYTpiLShhPTEtYS90aGlzLl9wMSkqYSphKmEqYjphPnRoaXMuX3AzP3RoaXMuX2NhbGNFbmQ/MS0oYT0oYS10aGlzLl9wMykvdGhpcy5fcDEpKmE6YisoYS1iKSooYT0oYS10aGlzLl9wMykvdGhpcy5fcDEpKmEqYSphOnRoaXMuX2NhbGNFbmQ/MTpifSxwLmVhc2U9bmV3IHAoLjcsLjcpLHEuY29uZmlnPXAuY29uZmlnPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbmV3IHAoYSxiLGMpfSxiPWkoImVhc2luZy5TdGVwcGVkRWFzZSIsZnVuY3Rpb24oYSl7YT1hfHwxLHRoaXMuX3AxPTEvYSx0aGlzLl9wMj1hKzF9LCEwKSxxPWIucHJvdG90eXBlPW5ldyBhLHEuY29uc3RydWN0b3I9YixxLmdldFJhdGlvPWZ1bmN0aW9uKGEpe3JldHVybiAwPmE/YT0wOmE+PTEmJihhPS45OTk5OTk5OTkpLCh0aGlzLl9wMiphPj4wKSp0aGlzLl9wMX0scS5jb25maWc9Yi5jb25maWc9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBiKGEpfSxjPWkoImVhc2luZy5Sb3VnaEVhc2UiLGZ1bmN0aW9uKGIpe2I9Ynx8e307Zm9yKHZhciBjLGQsZSxmLGcsaCxpPWIudGFwZXJ8fCJub25lIixqPVtdLGs9MCxsPTB8KGIucG9pbnRzfHwyMCksbj1sLG89Yi5yYW5kb21pemUhPT0hMSxwPWIuY2xhbXA9PT0hMCxxPWIudGVtcGxhdGUgaW5zdGFuY2VvZiBhP2IudGVtcGxhdGU6bnVsbCxyPSJudW1iZXIiPT10eXBlb2YgYi5zdHJlbmd0aD8uNCpiLnN0cmVuZ3RoOi40Oy0tbj4tMTspYz1vP01hdGgucmFuZG9tKCk6MS9sKm4sZD1xP3EuZ2V0UmF0aW8oYyk6Yywibm9uZSI9PT1pP2U9cjoib3V0Ij09PWk/KGY9MS1jLGU9ZipmKnIpOiJpbiI9PT1pP2U9YypjKnI6LjU+Yz8oZj0yKmMsZT1mKmYqLjUqcik6KGY9MiooMS1jKSxlPWYqZiouNSpyKSxvP2QrPU1hdGgucmFuZG9tKCkqZS0uNSplOm4lMj9kKz0uNSplOmQtPS41KmUscCYmKGQ+MT9kPTE6MD5kJiYoZD0wKSksaltrKytdPXt4OmMseTpkfTtmb3Ioai5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEueC1iLnh9KSxoPW5ldyBtKDEsMSxudWxsKSxuPWw7LS1uPi0xOylnPWpbbl0saD1uZXcgbShnLngsZy55LGgpO3RoaXMuX3ByZXY9bmV3IG0oMCwwLDAhPT1oLnQ/aDpoLm5leHQpfSwhMCkscT1jLnByb3RvdHlwZT1uZXcgYSxxLmNvbnN0cnVjdG9yPWMscS5nZXRSYXRpbz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLl9wcmV2O2lmKGE+Yi50KXtmb3IoO2IubmV4dCYmYT49Yi50OyliPWIubmV4dDtiPWIucHJldn1lbHNlIGZvcig7Yi5wcmV2JiZhPD1iLnQ7KWI9Yi5wcmV2O3JldHVybiB0aGlzLl9wcmV2PWIsYi52KyhhLWIudCkvYi5nYXAqYi5jfSxxLmNvbmZpZz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGMoYSl9LGMuZWFzZT1uZXcgYyxsKCJCb3VuY2UiLGooIkJvdW5jZU91dCIsZnVuY3Rpb24oYSl7cmV0dXJuIDEvMi43NT5hPzcuNTYyNSphKmE6Mi8yLjc1PmE/Ny41NjI1KihhLT0xLjUvMi43NSkqYSsuNzU6Mi41LzIuNzU+YT83LjU2MjUqKGEtPTIuMjUvMi43NSkqYSsuOTM3NTo3LjU2MjUqKGEtPTIuNjI1LzIuNzUpKmErLjk4NDM3NX0pLGooIkJvdW5jZUluIixmdW5jdGlvbihhKXtyZXR1cm4oYT0xLWEpPDEvMi43NT8xLTcuNTYyNSphKmE6Mi8yLjc1PmE/MS0oNy41NjI1KihhLT0xLjUvMi43NSkqYSsuNzUpOjIuNS8yLjc1PmE/MS0oNy41NjI1KihhLT0yLjI1LzIuNzUpKmErLjkzNzUpOjEtKDcuNTYyNSooYS09Mi42MjUvMi43NSkqYSsuOTg0Mzc1KX0pLGooIkJvdW5jZUluT3V0IixmdW5jdGlvbihhKXt2YXIgYj0uNT5hO3JldHVybiBhPWI/MS0yKmE6MiphLTEsYT0xLzIuNzU+YT83LjU2MjUqYSphOjIvMi43NT5hPzcuNTYyNSooYS09MS41LzIuNzUpKmErLjc1OjIuNS8yLjc1PmE/Ny41NjI1KihhLT0yLjI1LzIuNzUpKmErLjkzNzU6Ny41NjI1KihhLT0yLjYyNS8yLjc1KSphKy45ODQzNzUsYj8uNSooMS1hKTouNSphKy41fSkpLGwoIkNpcmMiLGooIkNpcmNPdXQiLGZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnNxcnQoMS0oYS09MSkqYSl9KSxqKCJDaXJjSW4iLGZ1bmN0aW9uKGEpe3JldHVybi0oTWF0aC5zcXJ0KDEtYSphKS0xKX0pLGooIkNpcmNJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LS41KihNYXRoLnNxcnQoMS1hKmEpLTEpOi41KihNYXRoLnNxcnQoMS0oYS09MikqYSkrMSl9KSksZD1mdW5jdGlvbihiLGMsZCl7dmFyIGU9aSgiZWFzaW5nLiIrYixmdW5jdGlvbihhLGIpe3RoaXMuX3AxPWE+PTE/YToxLHRoaXMuX3AyPShifHxkKS8oMT5hP2E6MSksdGhpcy5fcDM9dGhpcy5fcDIvZyooTWF0aC5hc2luKDEvdGhpcy5fcDEpfHwwKSx0aGlzLl9wMj1nL3RoaXMuX3AyfSwhMCksZj1lLnByb3RvdHlwZT1uZXcgYTtyZXR1cm4gZi5jb25zdHJ1Y3Rvcj1lLGYuZ2V0UmF0aW89YyxmLmNvbmZpZz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgZShhLGIpfSxlfSxsKCJFbGFzdGljIixkKCJFbGFzdGljT3V0IixmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcDEqTWF0aC5wb3coMiwtMTAqYSkqTWF0aC5zaW4oKGEtdGhpcy5fcDMpKnRoaXMuX3AyKSsxfSwuMyksZCgiRWxhc3RpY0luIixmdW5jdGlvbihhKXtyZXR1cm4tKHRoaXMuX3AxKk1hdGgucG93KDIsMTAqKGEtPTEpKSpNYXRoLnNpbigoYS10aGlzLl9wMykqdGhpcy5fcDIpKX0sLjMpLGQoIkVsYXN0aWNJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LS41Kih0aGlzLl9wMSpNYXRoLnBvdygyLDEwKihhLT0xKSkqTWF0aC5zaW4oKGEtdGhpcy5fcDMpKnRoaXMuX3AyKSk6dGhpcy5fcDEqTWF0aC5wb3coMiwtMTAqKGEtPTEpKSpNYXRoLnNpbigoYS10aGlzLl9wMykqdGhpcy5fcDIpKi41KzF9LC40NSkpLGwoIkV4cG8iLGooIkV4cG9PdXQiLGZ1bmN0aW9uKGEpe3JldHVybiAxLU1hdGgucG93KDIsLTEwKmEpfSksaigiRXhwb0luIixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5wb3coMiwxMCooYS0xKSktLjAwMX0pLGooIkV4cG9Jbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LjUqTWF0aC5wb3coMiwxMCooYS0xKSk6LjUqKDItTWF0aC5wb3coMiwtMTAqKGEtMSkpKX0pKSxsKCJTaW5lIixqKCJTaW5lT3V0IixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5zaW4oYSpoKX0pLGooIlNpbmVJbiIsZnVuY3Rpb24oYSl7cmV0dXJuLU1hdGguY29zKGEqaCkrMX0pLGooIlNpbmVJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuLS41KihNYXRoLmNvcyhNYXRoLlBJKmEpLTEpfSkpLGkoImVhc2luZy5FYXNlTG9va3VwIix7ZmluZDpmdW5jdGlvbihiKXtyZXR1cm4gYS5tYXBbYl19fSwhMCksayhlLlNsb3dNbywiU2xvd01vIiwiZWFzZSwiKSxrKGMsIlJvdWdoRWFzZSIsImVhc2UsIiksayhiLCJTdGVwcGVkRWFzZSIsImVhc2UsIiksb30sITApfSksX2dzU2NvcGUuX2dzRGVmaW5lJiZfZ3NTY29wZS5fZ3NRdWV1ZS5wb3AoKSgpLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuIF9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIlR3ZWVuTGl0ZSJdLGEpOiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmKHJlcXVpcmUoIi4uL1R3ZWVuTGl0ZS5qcyIpLG1vZHVsZS5leHBvcnRzPWEoKSl9KCk7DQoNCg0KLyogQ1NTIFBMVUdJTiAqLw0KLyohDQogKiBWRVJTSU9OOiAxLjE5LjENCiAqIERBVEU6IDIwMTctMDEtMTcNCiAqIFVQREFURVMgQU5EIERPQ1MgQVQ6IGh0dHA6Ly9ncmVlbnNvY2suY29tDQogKg0KICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDA4LTIwMTcsIEdyZWVuU29jay4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwOi8vZ3JlZW5zb2NrLmNvbS9zdGFuZGFyZC1saWNlbnNlIG9yIGZvcg0KICogQ2x1YiBHcmVlblNvY2sgbWVtYmVycywgdGhlIHNvZnR3YXJlIGFncmVlbWVudCB0aGF0IHdhcyBpc3N1ZWQgd2l0aCB5b3VyIG1lbWJlcnNoaXAuDQogKiANCiAqIEBhdXRob3I6IEphY2sgRG95bGUsIGphY2tAZ3JlZW5zb2NrLmNvbQ0KICovDQp2YXIgX2dzU2NvcGU9InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6dGhpc3x8d2luZG93OyhfZ3NTY29wZS5fZ3NRdWV1ZXx8KF9nc1Njb3BlLl9nc1F1ZXVlPVtdKSkucHVzaChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtfZ3NTY29wZS5fZ3NEZWZpbmUoInBsdWdpbnMuQ1NTUGx1Z2luIixbInBsdWdpbnMuVHdlZW5QbHVnaW4iLCJUd2VlbkxpdGUiXSxmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9ZnVuY3Rpb24oKXthLmNhbGwodGhpcywiY3NzIiksdGhpcy5fb3ZlcndyaXRlUHJvcHMubGVuZ3RoPTAsdGhpcy5zZXRSYXRpbz1nLnByb3RvdHlwZS5zZXRSYXRpb30saD1fZ3NTY29wZS5fZ3NEZWZpbmUuZ2xvYmFscyxpPXt9LGo9Zy5wcm90b3R5cGU9bmV3IGEoImNzcyIpO2ouY29uc3RydWN0b3I9ZyxnLnZlcnNpb249IjEuMTkuMSIsZy5BUEk9MixnLmRlZmF1bHRUcmFuc2Zvcm1QZXJzcGVjdGl2ZT0wLGcuZGVmYXVsdFNrZXdUeXBlPSJjb21wZW5zYXRlZCIsZy5kZWZhdWx0U21vb3RoT3JpZ2luPSEwLGo9InB4IixnLnN1ZmZpeE1hcD17dG9wOmoscmlnaHQ6aixib3R0b206aixsZWZ0Omosd2lkdGg6aixoZWlnaHQ6aixmb250U2l6ZTpqLHBhZGRpbmc6aixtYXJnaW46aixwZXJzcGVjdGl2ZTpqLGxpbmVIZWlnaHQ6IiJ9O3ZhciBrLGwsbSxuLG8scCxxLHIscz0vKD86XC18XC58XGIpKFxkfFwufGVcLSkrL2csdD0vKD86XGR8XC1cZHxcLlxkfFwtXC5cZHxcKz1cZHxcLT1cZHxcKz0uXGR8XC09XC5cZCkrL2csdT0vKD86XCs9fFwtPXxcLXxcYilbXGRcLVwuXStbYS16QS1aMC05XSooPzolfFxiKS9naSx2PS8oPyFbKy1dP1xkKlwuP1xkK3xbKy1dfGVbKy1dXGQrKVteMC05XS9nLHc9Lyg/OlxkfFwtfFwrfD18I3xcLikqL2cseD0vb3BhY2l0eSAqPSAqKFteKV0qKS9pLHk9L29wYWNpdHk6KFteO10qKS9pLHo9L2FscGhhXChvcGFjaXR5ICo9Lis/XCkvaSxBPS9eKHJnYnxoc2wpLyxCPS8oW0EtWl0pL2csQz0vLShbYS16XSkvZ2ksRD0vKF4oPzp1cmxcKFwifHVybFwoKSl8KD86KFwiXCkpJHxcKSQpL2dpLEU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfSxGPS8oPzpMZWZ0fFJpZ2h0fFdpZHRoKS9pLEc9LyhNMTF8TTEyfE0yMXxNMjIpPVtcZFwtXC5lXSsvZ2ksSD0vcHJvZ2lkXDpEWEltYWdlVHJhbnNmb3JtXC5NaWNyb3NvZnRcLk1hdHJpeFwoLis/XCkvaSxJPS8sKD89W15cKV0qKD86XCh8JCkpL2dpLEo9L1tccyxcKF0vaSxLPU1hdGguUEkvMTgwLEw9MTgwL01hdGguUEksTT17fSxOPXtzdHlsZTp7fX0sTz1fZ3NTY29wZS5kb2N1bWVudHx8e2NyZWF0ZUVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gTn19LFA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTy5jcmVhdGVFbGVtZW50TlM/Ty5jcmVhdGVFbGVtZW50TlMoYnx8Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLGEpOk8uY3JlYXRlRWxlbWVudChhKX0sUT1QKCJkaXYiKSxSPVAoImltZyIpLFM9Zy5faW50ZXJuYWxzPXtfc3BlY2lhbFByb3BzOml9LFQ9KF9nc1Njb3BlLm5hdmlnYXRvcnx8e30pLnVzZXJBZ2VudHx8IiIsVT1mdW5jdGlvbigpe3ZhciBhPVQuaW5kZXhPZigiQW5kcm9pZCIpLGI9UCgiYSIpO3JldHVybiBtPS0xIT09VC5pbmRleE9mKCJTYWZhcmkiKSYmLTE9PT1ULmluZGV4T2YoIkNocm9tZSIpJiYoLTE9PT1hfHxwYXJzZUZsb2F0KFQuc3Vic3RyKGErOCwyKSk+Myksbz1tJiZwYXJzZUZsb2F0KFQuc3Vic3RyKFQuaW5kZXhPZigiVmVyc2lvbi8iKSs4LDIpKTw2LG49LTEhPT1ULmluZGV4T2YoIkZpcmVmb3giKSwoL01TSUUgKFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhUKXx8L1RyaWRlbnRcLy4qcnY6KFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhUKSkmJihwPXBhcnNlRmxvYXQoUmVnRXhwLiQxKSksYj8oYi5zdHlsZS5jc3NUZXh0PSJ0b3A6MXB4O29wYWNpdHk6LjU1OyIsL14wLjU1Ly50ZXN0KGIuc3R5bGUub3BhY2l0eSkpOiExfSgpLFY9ZnVuY3Rpb24oYSl7cmV0dXJuIHgudGVzdCgic3RyaW5nIj09dHlwZW9mIGE/YTooYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDA6MX0sVz1mdW5jdGlvbihhKXtfZ3NTY29wZS5jb25zb2xlJiZjb25zb2xlLmxvZyhhKX0sWD0iIixZPSIiLFo9ZnVuY3Rpb24oYSxiKXtiPWJ8fFE7dmFyIGMsZCxlPWIuc3R5bGU7aWYodm9pZCAwIT09ZVthXSlyZXR1cm4gYTtmb3IoYT1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyKDEpLGM9WyJPIiwiTW96IiwibXMiLCJNcyIsIldlYmtpdCJdLGQ9NTstLWQ+LTEmJnZvaWQgMD09PWVbY1tkXSthXTspO3JldHVybiBkPj0wPyhZPTM9PT1kPyJtcyI6Y1tkXSxYPSItIitZLnRvTG93ZXJDYXNlKCkrIi0iLFkrYSk6bnVsbH0sJD1PLmRlZmF1bHRWaWV3P08uZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZTpmdW5jdGlvbigpe30sXz1nLmdldFN0eWxlPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY7cmV0dXJuIFV8fCJvcGFjaXR5IiE9PWI/KCFkJiZhLnN0eWxlW2JdP2Y9YS5zdHlsZVtiXTooYz1jfHwkKGEpKT9mPWNbYl18fGMuZ2V0UHJvcGVydHlWYWx1ZShiKXx8Yy5nZXRQcm9wZXJ0eVZhbHVlKGIucmVwbGFjZShCLCItJDEiKS50b0xvd2VyQ2FzZSgpKTphLmN1cnJlbnRTdHlsZSYmKGY9YS5jdXJyZW50U3R5bGVbYl0pLG51bGw9PWV8fGYmJiJub25lIiE9PWYmJiJhdXRvIiE9PWYmJiJhdXRvIGF1dG8iIT09Zj9mOmUpOlYoYSl9LGFhPVMuY29udmVydFRvUGl4ZWxzPWZ1bmN0aW9uKGEsYyxkLGUsZil7aWYoInB4Ij09PWV8fCFlKXJldHVybiBkO2lmKCJhdXRvIj09PWV8fCFkKXJldHVybiAwO3ZhciBoLGksaixrPUYudGVzdChjKSxsPWEsbT1RLnN0eWxlLG49MD5kLG89MT09PWQ7aWYobiYmKGQ9LWQpLG8mJihkKj0xMDApLCIlIj09PWUmJi0xIT09Yy5pbmRleE9mKCJib3JkZXIiKSloPWQvMTAwKihrP2EuY2xpZW50V2lkdGg6YS5jbGllbnRIZWlnaHQpO2Vsc2V7aWYobS5jc3NUZXh0PSJib3JkZXI6MCBzb2xpZCByZWQ7cG9zaXRpb246IitfKGEsInBvc2l0aW9uIikrIjtsaW5lLWhlaWdodDowOyIsIiUiIT09ZSYmbC5hcHBlbmRDaGlsZCYmInYiIT09ZS5jaGFyQXQoMCkmJiJyZW0iIT09ZSltW2s/ImJvcmRlckxlZnRXaWR0aCI6ImJvcmRlclRvcFdpZHRoIl09ZCtlO2Vsc2V7aWYobD1hLnBhcmVudE5vZGV8fE8uYm9keSxpPWwuX2dzQ2FjaGUsaj1iLnRpY2tlci5mcmFtZSxpJiZrJiZpLnRpbWU9PT1qKXJldHVybiBpLndpZHRoKmQvMTAwO21baz8id2lkdGgiOiJoZWlnaHQiXT1kK2V9bC5hcHBlbmRDaGlsZChRKSxoPXBhcnNlRmxvYXQoUVtrPyJvZmZzZXRXaWR0aCI6Im9mZnNldEhlaWdodCJdKSxsLnJlbW92ZUNoaWxkKFEpLGsmJiIlIj09PWUmJmcuY2FjaGVXaWR0aHMhPT0hMSYmKGk9bC5fZ3NDYWNoZT1sLl9nc0NhY2hlfHx7fSxpLnRpbWU9aixpLndpZHRoPWgvZCoxMDApLDAhPT1ofHxmfHwoaD1hYShhLGMsZCxlLCEwKSl9cmV0dXJuIG8mJihoLz0xMDApLG4/LWg6aH0sYmE9Uy5jYWxjdWxhdGVPZmZzZXQ9ZnVuY3Rpb24oYSxiLGMpe2lmKCJhYnNvbHV0ZSIhPT1fKGEsInBvc2l0aW9uIixjKSlyZXR1cm4gMDt2YXIgZD0ibGVmdCI9PT1iPyJMZWZ0IjoiVG9wIixlPV8oYSwibWFyZ2luIitkLGMpO3JldHVybiBhWyJvZmZzZXQiK2RdLShhYShhLGIscGFyc2VGbG9hdChlKSxlLnJlcGxhY2UodywiIikpfHwwKX0sY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj17fTtpZihiPWJ8fCQoYSxudWxsKSlpZihjPWIubGVuZ3RoKWZvcig7LS1jPi0xOyllPWJbY10sKC0xPT09ZS5pbmRleE9mKCItdHJhbnNmb3JtIil8fERhPT09ZSkmJihmW2UucmVwbGFjZShDLEUpXT1iLmdldFByb3BlcnR5VmFsdWUoZSkpO2Vsc2UgZm9yKGMgaW4gYikoLTE9PT1jLmluZGV4T2YoIlRyYW5zZm9ybSIpfHxDYT09PWMpJiYoZltjXT1iW2NdKTtlbHNlIGlmKGI9YS5jdXJyZW50U3R5bGV8fGEuc3R5bGUpZm9yKGMgaW4gYikic3RyaW5nIj09dHlwZW9mIGMmJnZvaWQgMD09PWZbY10mJihmW2MucmVwbGFjZShDLEUpXT1iW2NdKTtyZXR1cm4gVXx8KGYub3BhY2l0eT1WKGEpKSxkPVJhKGEsYiwhMSksZi5yb3RhdGlvbj1kLnJvdGF0aW9uLGYuc2tld1g9ZC5za2V3WCxmLnNjYWxlWD1kLnNjYWxlWCxmLnNjYWxlWT1kLnNjYWxlWSxmLng9ZC54LGYueT1kLnksRmEmJihmLno9ZC56LGYucm90YXRpb25YPWQucm90YXRpb25YLGYucm90YXRpb25ZPWQucm90YXRpb25ZLGYuc2NhbGVaPWQuc2NhbGVaKSxmLmZpbHRlcnMmJmRlbGV0ZSBmLmZpbHRlcnMsZn0sZGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaT17fSxqPWEuc3R5bGU7Zm9yKGcgaW4gYykiY3NzVGV4dCIhPT1nJiYibGVuZ3RoIiE9PWcmJmlzTmFOKGcpJiYoYltnXSE9PShmPWNbZ10pfHxlJiZlW2ddKSYmLTE9PT1nLmluZGV4T2YoIk9yaWdpbiIpJiYoIm51bWJlciI9PXR5cGVvZiBmfHwic3RyaW5nIj09dHlwZW9mIGYpJiYoaVtnXT0iYXV0byIhPT1mfHwibGVmdCIhPT1nJiYidG9wIiE9PWc/IiIhPT1mJiYiYXV0byIhPT1mJiYibm9uZSIhPT1mfHwic3RyaW5nIiE9dHlwZW9mIGJbZ118fCIiPT09YltnXS5yZXBsYWNlKHYsIiIpP2Y6MDpiYShhLGcpLHZvaWQgMCE9PWpbZ10mJihoPW5ldyBzYShqLGcsaltnXSxoKSkpO2lmKGQpZm9yKGcgaW4gZCkiY2xhc3NOYW1lIiE9PWcmJihpW2ddPWRbZ10pO3JldHVybntkaWZzOmksZmlyc3RNUFQ6aH19LGVhPXt3aWR0aDpbIkxlZnQiLCJSaWdodCJdLGhlaWdodDpbIlRvcCIsIkJvdHRvbSJdfSxmYT1bIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSJdLGdhPWZ1bmN0aW9uKGEsYixjKXtpZigic3ZnIj09PShhLm5vZGVOYW1lKyIiKS50b0xvd2VyQ2FzZSgpKXJldHVybihjfHwkKGEpKVtiXXx8MDtpZihhLmdldENUTSYmT2EoYSkpcmV0dXJuIGEuZ2V0QkJveCgpW2JdfHwwO3ZhciBkPXBhcnNlRmxvYXQoIndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCksZT1lYVtiXSxmPWUubGVuZ3RoO2ZvcihjPWN8fCQoYSxudWxsKTstLWY+LTE7KWQtPXBhcnNlRmxvYXQoXyhhLCJwYWRkaW5nIitlW2ZdLGMsITApKXx8MCxkLT1wYXJzZUZsb2F0KF8oYSwiYm9yZGVyIitlW2ZdKyJXaWR0aCIsYywhMCkpfHwwO3JldHVybiBkfSxoYT1mdW5jdGlvbihhLGIpe2lmKCJjb250YWluIj09PWF8fCJhdXRvIj09PWF8fCJhdXRvIGF1dG8iPT09YSlyZXR1cm4gYSsiICI7KG51bGw9PWF8fCIiPT09YSkmJihhPSIwIDAiKTt2YXIgYyxkPWEuc3BsaXQoIiAiKSxlPS0xIT09YS5pbmRleE9mKCJsZWZ0Iik/IjAlIjotMSE9PWEuaW5kZXhPZigicmlnaHQiKT8iMTAwJSI6ZFswXSxmPS0xIT09YS5pbmRleE9mKCJ0b3AiKT8iMCUiOi0xIT09YS5pbmRleE9mKCJib3R0b20iKT8iMTAwJSI6ZFsxXTtpZihkLmxlbmd0aD4zJiYhYil7Zm9yKGQ9YS5zcGxpdCgiLCAiKS5qb2luKCIsIikuc3BsaXQoIiwiKSxhPVtdLGM9MDtjPGQubGVuZ3RoO2MrKylhLnB1c2goaGEoZFtjXSkpO3JldHVybiBhLmpvaW4oIiwiKX1yZXR1cm4gbnVsbD09Zj9mPSJjZW50ZXIiPT09ZT8iNTAlIjoiMCI6ImNlbnRlciI9PT1mJiYoZj0iNTAlIiksKCJjZW50ZXIiPT09ZXx8aXNOYU4ocGFyc2VGbG9hdChlKSkmJi0xPT09KGUrIiIpLmluZGV4T2YoIj0iKSkmJihlPSI1MCUiKSxhPWUrIiAiK2YrKGQubGVuZ3RoPjI/IiAiK2RbMl06IiIpLGImJihiLm94cD0tMSE9PWUuaW5kZXhPZigiJSIpLGIub3lwPS0xIT09Zi5pbmRleE9mKCIlIiksYi5veHI9Ij0iPT09ZS5jaGFyQXQoMSksYi5veXI9Ij0iPT09Zi5jaGFyQXQoMSksYi5veD1wYXJzZUZsb2F0KGUucmVwbGFjZSh2LCIiKSksYi5veT1wYXJzZUZsb2F0KGYucmVwbGFjZSh2LCIiKSksYi52PWEpLGJ8fGF9LGlhPWZ1bmN0aW9uKGEsYil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGEmJihhPWEocixxKSksInN0cmluZyI9PXR5cGVvZiBhJiYiPSI9PT1hLmNoYXJBdCgxKT9wYXJzZUludChhLmNoYXJBdCgwKSsiMSIsMTApKnBhcnNlRmxvYXQoYS5zdWJzdHIoMikpOnBhcnNlRmxvYXQoYSktcGFyc2VGbG9hdChiKXx8MH0samE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYSYmKGE9YShyLHEpKSxudWxsPT1hP2I6InN0cmluZyI9PXR5cGVvZiBhJiYiPSI9PT1hLmNoYXJBdCgxKT9wYXJzZUludChhLmNoYXJBdCgwKSsiMSIsMTApKnBhcnNlRmxvYXQoYS5zdWJzdHIoMikpK2I6cGFyc2VGbG9hdChhKXx8MH0sa2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPTFlLTY7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGEmJihhPWEocixxKSksbnVsbD09YT9oPWI6Im51bWJlciI9PXR5cGVvZiBhP2g9YTooZT0zNjAsZj1hLnNwbGl0KCJfIiksaT0iPSI9PT1hLmNoYXJBdCgxKSxnPShpP3BhcnNlSW50KGEuY2hhckF0KDApKyIxIiwxMCkqcGFyc2VGbG9hdChmWzBdLnN1YnN0cigyKSk6cGFyc2VGbG9hdChmWzBdKSkqKC0xPT09YS5pbmRleE9mKCJyYWQiKT8xOkwpLShpPzA6YiksZi5sZW5ndGgmJihkJiYoZFtjXT1iK2cpLC0xIT09YS5pbmRleE9mKCJzaG9ydCIpJiYoZyU9ZSxnIT09ZyUoZS8yKSYmKGc9MD5nP2crZTpnLWUpKSwtMSE9PWEuaW5kZXhPZigiX2N3IikmJjA+Zz9nPShnKzk5OTk5OTk5OTkqZSklZS0oZy9lfDApKmU6LTEhPT1hLmluZGV4T2YoImNjdyIpJiZnPjAmJihnPShnLTk5OTk5OTk5OTkqZSklZS0oZy9lfDApKmUpKSxoPWIrZyksaj5oJiZoPi1qJiYoaD0wKSxofSxsYT17YXF1YTpbMCwyNTUsMjU1XSxsaW1lOlswLDI1NSwwXSxzaWx2ZXI6WzE5MiwxOTIsMTkyXSxibGFjazpbMCwwLDBdLG1hcm9vbjpbMTI4LDAsMF0sdGVhbDpbMCwxMjgsMTI4XSxibHVlOlswLDAsMjU1XSxuYXZ5OlswLDAsMTI4XSx3aGl0ZTpbMjU1LDI1NSwyNTVdLGZ1Y2hzaWE6WzI1NSwwLDI1NV0sb2xpdmU6WzEyOCwxMjgsMF0seWVsbG93OlsyNTUsMjU1LDBdLG9yYW5nZTpbMjU1LDE2NSwwXSxncmF5OlsxMjgsMTI4LDEyOF0scHVycGxlOlsxMjgsMCwxMjhdLGdyZWVuOlswLDEyOCwwXSxyZWQ6WzI1NSwwLDBdLHBpbms6WzI1NSwxOTIsMjAzXSxjeWFuOlswLDI1NSwyNTVdLHRyYW5zcGFyZW50OlsyNTUsMjU1LDI1NSwwXX0sbWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhPTA+YT9hKzE6YT4xP2EtMTphLDI1NSooMT42KmE/YisoYy1iKSphKjY6LjU+YT9jOjI+MyphP2IrKGMtYikqKDIvMy1hKSo2OmIpKy41fDB9LG5hPWcucGFyc2VDb2xvcj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxpLGosayxsLG07aWYoYSlpZigibnVtYmVyIj09dHlwZW9mIGEpYz1bYT4+MTYsYT4+OCYyNTUsMjU1JmFdO2Vsc2V7aWYoIiwiPT09YS5jaGFyQXQoYS5sZW5ndGgtMSkmJihhPWEuc3Vic3RyKDAsYS5sZW5ndGgtMSkpLGxhW2FdKWM9bGFbYV07ZWxzZSBpZigiIyI9PT1hLmNoYXJBdCgwKSk0PT09YS5sZW5ndGgmJihkPWEuY2hhckF0KDEpLGU9YS5jaGFyQXQoMiksZj1hLmNoYXJBdCgzKSxhPSIjIitkK2QrZStlK2YrZiksYT1wYXJzZUludChhLnN1YnN0cigxKSwxNiksYz1bYT4+MTYsYT4+OCYyNTUsMjU1JmFdO2Vsc2UgaWYoImhzbCI9PT1hLnN1YnN0cigwLDMpKWlmKGM9bT1hLm1hdGNoKHMpLGIpe2lmKC0xIT09YS5pbmRleE9mKCI9IikpcmV0dXJuIGEubWF0Y2godCl9ZWxzZSBnPU51bWJlcihjWzBdKSUzNjAvMzYwLGg9TnVtYmVyKGNbMV0pLzEwMCxpPU51bWJlcihjWzJdKS8xMDAsZT0uNT49aT9pKihoKzEpOmkraC1pKmgsZD0yKmktZSxjLmxlbmd0aD4zJiYoY1szXT1OdW1iZXIoYVszXSkpLGNbMF09bWEoZysxLzMsZCxlKSxjWzFdPW1hKGcsZCxlKSxjWzJdPW1hKGctMS8zLGQsZSk7ZWxzZSBjPWEubWF0Y2gocyl8fGxhLnRyYW5zcGFyZW50O2NbMF09TnVtYmVyKGNbMF0pLGNbMV09TnVtYmVyKGNbMV0pLGNbMl09TnVtYmVyKGNbMl0pLGMubGVuZ3RoPjMmJihjWzNdPU51bWJlcihjWzNdKSl9ZWxzZSBjPWxhLmJsYWNrO3JldHVybiBiJiYhbSYmKGQ9Y1swXS8yNTUsZT1jWzFdLzI1NSxmPWNbMl0vMjU1LGo9TWF0aC5tYXgoZCxlLGYpLGs9TWF0aC5taW4oZCxlLGYpLGk9KGoraykvMixqPT09az9nPWg9MDoobD1qLWssaD1pPi41P2wvKDItai1rKTpsLyhqK2spLGc9aj09PWQ/KGUtZikvbCsoZj5lPzY6MCk6aj09PWU/KGYtZCkvbCsyOihkLWUpL2wrNCxnKj02MCksY1swXT1nKy41fDAsY1sxXT0xMDAqaCsuNXwwLGNbMl09MTAwKmkrLjV8MCksY30sb2E9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hLm1hdGNoKHBhKXx8W10sZz0wLGg9Zi5sZW5ndGg/IiI6YTtmb3IoYz0wO2M8Zi5sZW5ndGg7YysrKWQ9ZltjXSxlPWEuc3Vic3RyKGcsYS5pbmRleE9mKGQsZyktZyksZys9ZS5sZW5ndGgrZC5sZW5ndGgsZD1uYShkLGIpLDM9PT1kLmxlbmd0aCYmZC5wdXNoKDEpLGgrPWUrKGI/ImhzbGEoIitkWzBdKyIsIitkWzFdKyIlLCIrZFsyXSsiJSwiK2RbM106InJnYmEoIitkLmpvaW4oIiwiKSkrIikiO3JldHVybiBoK2Euc3Vic3RyKGcpfSxwYT0iKD86XFxiKD86KD86cmdifHJnYmF8aHNsfGhzbGEpXFwoLis/XFwpKXxcXEIjKD86WzAtOWEtZl17M30pezEsMn1cXGIiO2ZvcihqIGluIGxhKXBhKz0ifCIraisiXFxiIjtwYT1uZXcgUmVnRXhwKHBhKyIpIiwiZ2kiKSxnLmNvbG9yU3RyaW5nRmlsdGVyPWZ1bmN0aW9uKGEpe3ZhciBiLGM9YVswXSthWzFdO3BhLnRlc3QoYykmJihiPS0xIT09Yy5pbmRleE9mKCJoc2woIil8fC0xIT09Yy5pbmRleE9mKCJoc2xhKCIpLGFbMF09b2EoYVswXSxiKSxhWzFdPW9hKGFbMV0sYikpLHBhLmxhc3RJbmRleD0wfSxiLmRlZmF1bHRTdHJpbmdGaWx0ZXJ8fChiLmRlZmF1bHRTdHJpbmdGaWx0ZXI9Zy5jb2xvclN0cmluZ0ZpbHRlcik7dmFyIHFhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKG51bGw9PWEpcmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhfTt2YXIgZSxmPWI/KGEubWF0Y2gocGEpfHxbIiJdKVswXToiIixnPWEuc3BsaXQoZikuam9pbigiIikubWF0Y2godSl8fFtdLGg9YS5zdWJzdHIoMCxhLmluZGV4T2YoZ1swXSkpLGk9IikiPT09YS5jaGFyQXQoYS5sZW5ndGgtMSk/IikiOiIiLGo9LTEhPT1hLmluZGV4T2YoIiAiKT8iICI6IiwiLGs9Zy5sZW5ndGgsbD1rPjA/Z1swXS5yZXBsYWNlKHMsIiIpOiIiO3JldHVybiBrP2U9Yj9mdW5jdGlvbihhKXt2YXIgYixtLG4sbztpZigibnVtYmVyIj09dHlwZW9mIGEpYSs9bDtlbHNlIGlmKGQmJkkudGVzdChhKSl7Zm9yKG89YS5yZXBsYWNlKEksInwiKS5zcGxpdCgifCIpLG49MDtuPG8ubGVuZ3RoO24rKylvW25dPWUob1tuXSk7cmV0dXJuIG8uam9pbigiLCIpfWlmKGI9KGEubWF0Y2gocGEpfHxbZl0pWzBdLG09YS5zcGxpdChiKS5qb2luKCIiKS5tYXRjaCh1KXx8W10sbj1tLmxlbmd0aCxrPm4tLSlmb3IoOysrbjxrOyltW25dPWM/bVsobi0xKS8yfDBdOmdbbl07cmV0dXJuIGgrbS5qb2luKGopK2orYitpKygtMSE9PWEuaW5kZXhPZigiaW5zZXQiKT8iIGluc2V0IjoiIil9OmZ1bmN0aW9uKGEpe3ZhciBiLGYsbTtpZigibnVtYmVyIj09dHlwZW9mIGEpYSs9bDtlbHNlIGlmKGQmJkkudGVzdChhKSl7Zm9yKGY9YS5yZXBsYWNlKEksInwiKS5zcGxpdCgifCIpLG09MDttPGYubGVuZ3RoO20rKylmW21dPWUoZlttXSk7cmV0dXJuIGYuam9pbigiLCIpfWlmKGI9YS5tYXRjaCh1KXx8W10sbT1iLmxlbmd0aCxrPm0tLSlmb3IoOysrbTxrOyliW21dPWM/YlsobS0xKS8yfDBdOmdbbV07cmV0dXJuIGgrYi5qb2luKGopK2l9OmZ1bmN0aW9uKGEpe3JldHVybiBhfX0scmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5zcGxpdCgiLCIpLGZ1bmN0aW9uKGIsYyxkLGUsZixnLGgpe3ZhciBpLGo9KGMrIiIpLnNwbGl0KCIgIik7Zm9yKGg9e30saT0wOzQ+aTtpKyspaFthW2ldXT1qW2ldPWpbaV18fGpbKGktMSkvMj4+MF07cmV0dXJuIGUucGFyc2UoYixoLGYsZyl9fSxzYT0oUy5fc2V0UGx1Z2luUmF0aW89ZnVuY3Rpb24oYSl7dGhpcy5wbHVnaW4uc2V0UmF0aW8oYSk7Zm9yKHZhciBiLGMsZCxlLGYsZz10aGlzLmRhdGEsaD1nLnByb3h5LGk9Zy5maXJzdE1QVCxqPTFlLTY7aTspYj1oW2kudl0saS5yP2I9TWF0aC5yb3VuZChiKTpqPmImJmI+LWomJihiPTApLGkudFtpLnBdPWIsaT1pLl9uZXh0O2lmKGcuYXV0b1JvdGF0ZSYmKGcuYXV0b1JvdGF0ZS5yb3RhdGlvbj1nLm1vZD9nLm1vZChoLnJvdGF0aW9uLHRoaXMudCk6aC5yb3RhdGlvbiksMT09PWF8fDA9PT1hKWZvcihpPWcuZmlyc3RNUFQsZj0xPT09YT8iZSI6ImIiO2k7KXtpZihjPWkudCxjLnR5cGUpe2lmKDE9PT1jLnR5cGUpe2ZvcihlPWMueHMwK2MucytjLnhzMSxkPTE7ZDxjLmw7ZCsrKWUrPWNbInhuIitkXStjWyJ4cyIrKGQrMSldO2NbZl09ZX19ZWxzZSBjW2ZdPWMucytjLnhzMDtpPWkuX25leHR9fSxmdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudD1hLHRoaXMucD1iLHRoaXMudj1jLHRoaXMucj1lLGQmJihkLl9wcmV2PXRoaXMsdGhpcy5fbmV4dD1kKX0pLHRhPShTLl9wYXJzZVRvUHJveHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnLGgsaSxqLGssbD1kLG09e30sbj17fSxvPWMuX3RyYW5zZm9ybSxwPU07Zm9yKGMuX3RyYW5zZm9ybT1udWxsLE09YixkPWs9Yy5wYXJzZShhLGIsZCxlKSxNPXAsZiYmKGMuX3RyYW5zZm9ybT1vLGwmJihsLl9wcmV2PW51bGwsbC5fcHJldiYmKGwuX3ByZXYuX25leHQ9bnVsbCkpKTtkJiZkIT09bDspe2lmKGQudHlwZTw9MSYmKGg9ZC5wLG5baF09ZC5zK2QuYyxtW2hdPWQucyxmfHwoaj1uZXcgc2EoZCwicyIsaCxqLGQuciksZC5jPTApLDE9PT1kLnR5cGUpKWZvcihnPWQubDstLWc+MDspaT0ieG4iK2csaD1kLnArIl8iK2ksbltoXT1kLmRhdGFbaV0sbVtoXT1kW2ldLGZ8fChqPW5ldyBzYShkLGksaCxqLGQucnhwW2ldKSk7ZD1kLl9uZXh0fXJldHVybntwcm94eTptLGVuZDpuLGZpcnN0TVBUOmoscHQ6a319LFMuQ1NTUHJvcFR3ZWVuPWZ1bmN0aW9uKGEsYixkLGUsZyxoLGksaixrLGwsbSl7dGhpcy50PWEsdGhpcy5wPWIsdGhpcy5zPWQsdGhpcy5jPWUsdGhpcy5uPWl8fGIsYSBpbnN0YW5jZW9mIHRhfHxmLnB1c2godGhpcy5uKSx0aGlzLnI9aix0aGlzLnR5cGU9aHx8MCxrJiYodGhpcy5wcj1rLGM9ITApLHRoaXMuYj12b2lkIDA9PT1sP2Q6bCx0aGlzLmU9dm9pZCAwPT09bT9kK2U6bSxnJiYodGhpcy5fbmV4dD1nLGcuX3ByZXY9dGhpcyl9KSx1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9bmV3IHRhKGEsYixjLGQtYyxlLC0xLGYpO3JldHVybiBnLmI9YyxnLmU9Zy54czA9ZCxnfSx2YT1nLnBhcnNlQ29tcGxleD1mdW5jdGlvbihhLGIsYyxkLGUsZixoLGksaixsKXtjPWN8fGZ8fCIiLCJmdW5jdGlvbiI9PXR5cGVvZiBkJiYoZD1kKHIscSkpLGg9bmV3IHRhKGEsYiwwLDAsaCxsPzI6MSxudWxsLCExLGksYyxkKSxkKz0iIixlJiZwYS50ZXN0KGQrYykmJihkPVtjLGRdLGcuY29sb3JTdHJpbmdGaWx0ZXIoZCksYz1kWzBdLGQ9ZFsxXSk7dmFyIG0sbixvLHAsdSx2LHcseCx5LHosQSxCLEMsRD1jLnNwbGl0KCIsICIpLmpvaW4oIiwiKS5zcGxpdCgiICIpLEU9ZC5zcGxpdCgiLCAiKS5qb2luKCIsIikuc3BsaXQoIiAiKSxGPUQubGVuZ3RoLEc9ayE9PSExO2ZvcigoLTEhPT1kLmluZGV4T2YoIiwiKXx8LTEhPT1jLmluZGV4T2YoIiwiKSkmJihEPUQuam9pbigiICIpLnJlcGxhY2UoSSwiLCAiKS5zcGxpdCgiICIpLEU9RS5qb2luKCIgIikucmVwbGFjZShJLCIsICIpLnNwbGl0KCIgIiksRj1ELmxlbmd0aCksRiE9PUUubGVuZ3RoJiYoRD0oZnx8IiIpLnNwbGl0KCIgIiksRj1ELmxlbmd0aCksaC5wbHVnaW49aixoLnNldFJhdGlvPWwscGEubGFzdEluZGV4PTAsbT0wO0Y+bTttKyspaWYocD1EW21dLHU9RVttXSx4PXBhcnNlRmxvYXQocCkseHx8MD09PXgpaC5hcHBlbmRYdHJhKCIiLHgsaWEodSx4KSx1LnJlcGxhY2UodCwiIiksRyYmLTEhPT11LmluZGV4T2YoInB4IiksITApO2Vsc2UgaWYoZSYmcGEudGVzdChwKSlCPXUuaW5kZXhPZigiKSIpKzEsQj0iKSIrKEI/dS5zdWJzdHIoQik6IiIpLEM9LTEhPT11LmluZGV4T2YoImhzbCIpJiZVLHA9bmEocCxDKSx1PW5hKHUsQykseT1wLmxlbmd0aCt1Lmxlbmd0aD42LHkmJiFVJiYwPT09dVszXT8oaFsieHMiK2gubF0rPWgubD8iIHRyYW5zcGFyZW50IjoidHJhbnNwYXJlbnQiLGguZT1oLmUuc3BsaXQoRVttXSkuam9pbigidHJhbnNwYXJlbnQiKSk6KFV8fCh5PSExKSxDP2guYXBwZW5kWHRyYSh5PyJoc2xhKCI6ImhzbCgiLHBbMF0saWEodVswXSxwWzBdKSwiLCIsITEsITApLmFwcGVuZFh0cmEoIiIscFsxXSxpYSh1WzFdLHBbMV0pLCIlLCIsITEpLmFwcGVuZFh0cmEoIiIscFsyXSxpYSh1WzJdLHBbMl0pLHk/IiUsIjoiJSIrQiwhMSk6aC5hcHBlbmRYdHJhKHk/InJnYmEoIjoicmdiKCIscFswXSx1WzBdLXBbMF0sIiwiLCEwLCEwKS5hcHBlbmRYdHJhKCIiLHBbMV0sdVsxXS1wWzFdLCIsIiwhMCkuYXBwZW5kWHRyYSgiIixwWzJdLHVbMl0tcFsyXSx5PyIsIjpCLCEwKSx5JiYocD1wLmxlbmd0aDw0PzE6cFszXSxoLmFwcGVuZFh0cmEoIiIscCwodS5sZW5ndGg8ND8xOnVbM10pLXAsQiwhMSkpKSxwYS5sYXN0SW5kZXg9MDtlbHNlIGlmKHY9cC5tYXRjaChzKSl7aWYodz11Lm1hdGNoKHQpLCF3fHx3Lmxlbmd0aCE9PXYubGVuZ3RoKXJldHVybiBoO2ZvcihvPTAsbj0wO248di5sZW5ndGg7bisrKUE9dltuXSx6PXAuaW5kZXhPZihBLG8pLGguYXBwZW5kWHRyYShwLnN1YnN0cihvLHotbyksTnVtYmVyKEEpLGlhKHdbbl0sQSksIiIsRyYmInB4Ij09PXAuc3Vic3RyKHorQS5sZW5ndGgsMiksMD09PW4pLG89eitBLmxlbmd0aDtoWyJ4cyIraC5sXSs9cC5zdWJzdHIobyl9ZWxzZSBoWyJ4cyIraC5sXSs9aC5sfHxoWyJ4cyIraC5sXT8iICIrdTp1O2lmKC0xIT09ZC5pbmRleE9mKCI9IikmJmguZGF0YSl7Zm9yKEI9aC54czAraC5kYXRhLnMsbT0xO208aC5sO20rKylCKz1oWyJ4cyIrbV0raC5kYXRhWyJ4biIrbV07aC5lPUIraFsieHMiK21dfXJldHVybiBoLmx8fChoLnR5cGU9LTEsaC54czA9aC5lKSxoLnhmaXJzdHx8aH0sd2E9OTtmb3Ioaj10YS5wcm90b3R5cGUsai5sPWoucHI9MDstLXdhPjA7KWpbInhuIit3YV09MCxqWyJ4cyIrd2FdPSIiO2oueHMwPSIiLGouX25leHQ9ai5fcHJldj1qLnhmaXJzdD1qLmRhdGE9ai5wbHVnaW49ai5zZXRSYXRpbz1qLnJ4cD1udWxsLGouYXBwZW5kWHRyYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9dGhpcyxoPWcubDtyZXR1cm4gZ1sieHMiK2hdKz1mJiYoaHx8Z1sieHMiK2hdKT8iICIrYTphfHwiIixjfHwwPT09aHx8Zy5wbHVnaW4/KGcubCsrLGcudHlwZT1nLnNldFJhdGlvPzI6MSxnWyJ4cyIrZy5sXT1kfHwiIixoPjA/KGcuZGF0YVsieG4iK2hdPWIrYyxnLnJ4cFsieG4iK2hdPWUsZ1sieG4iK2hdPWIsZy5wbHVnaW58fChnLnhmaXJzdD1uZXcgdGEoZywieG4iK2gsYixjLGcueGZpcnN0fHxnLDAsZy5uLGUsZy5wciksZy54Zmlyc3QueHMwPTApLGcpOihnLmRhdGE9e3M6YitjfSxnLnJ4cD17fSxnLnM9YixnLmM9YyxnLnI9ZSxnKSk6KGdbInhzIitoXSs9YisoZHx8IiIpLGcpfTt2YXIgeGE9ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9LHRoaXMucD1iLnByZWZpeD9aKGEpfHxhOmEsaVthXT1pW3RoaXMucF09dGhpcyx0aGlzLmZvcm1hdD1iLmZvcm1hdHRlcnx8cWEoYi5kZWZhdWx0VmFsdWUsYi5jb2xvcixiLmNvbGxhcHNpYmxlLGIubXVsdGkpLGIucGFyc2VyJiYodGhpcy5wYXJzZT1iLnBhcnNlciksdGhpcy5jbHJzPWIuY29sb3IsdGhpcy5tdWx0aT1iLm11bHRpLHRoaXMua2V5d29yZD1iLmtleXdvcmQsdGhpcy5kZmx0PWIuZGVmYXVsdFZhbHVlLHRoaXMucHI9Yi5wcmlvcml0eXx8MH0seWE9Uy5fcmVnaXN0ZXJDb21wbGV4U3BlY2lhbFByb3A9ZnVuY3Rpb24oYSxiLGMpeyJvYmplY3QiIT10eXBlb2YgYiYmKGI9e3BhcnNlcjpjfSk7dmFyIGQsZSxmPWEuc3BsaXQoIiwiKSxnPWIuZGVmYXVsdFZhbHVlO2ZvcihjPWN8fFtnXSxkPTA7ZDxmLmxlbmd0aDtkKyspYi5wcmVmaXg9MD09PWQmJmIucHJlZml4LGIuZGVmYXVsdFZhbHVlPWNbZF18fGcsZT1uZXcgeGEoZltkXSxiKX0semE9Uy5fcmVnaXN0ZXJQbHVnaW5Qcm9wPWZ1bmN0aW9uKGEpe2lmKCFpW2FdKXt2YXIgYj1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyKDEpKyJQbHVnaW4iO3lhKGEse3BhcnNlcjpmdW5jdGlvbihhLGMsZCxlLGYsZyxqKXt2YXIgaz1oLmNvbS5ncmVlbnNvY2sucGx1Z2luc1tiXTtyZXR1cm4gaz8oay5fY3NzUmVnaXN0ZXIoKSxpW2RdLnBhcnNlKGEsYyxkLGUsZixnLGopKTooVygiRXJyb3I6ICIrYisiIGpzIGZpbGUgbm90IGxvYWRlZC4iKSxmKX19KX19O2o9eGEucHJvdG90eXBlLGoucGFyc2VDb21wbGV4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZyxoLGksaixrLGwsbT10aGlzLmtleXdvcmQ7aWYodGhpcy5tdWx0aSYmKEkudGVzdChjKXx8SS50ZXN0KGIpPyhoPWIucmVwbGFjZShJLCJ8Iikuc3BsaXQoInwiKSxpPWMucmVwbGFjZShJLCJ8Iikuc3BsaXQoInwiKSk6bSYmKGg9W2JdLGk9W2NdKSksaSl7Zm9yKGo9aS5sZW5ndGg+aC5sZW5ndGg/aS5sZW5ndGg6aC5sZW5ndGgsZz0wO2o+ZztnKyspYj1oW2ddPWhbZ118fHRoaXMuZGZsdCxjPWlbZ109aVtnXXx8dGhpcy5kZmx0LG0mJihrPWIuaW5kZXhPZihtKSxsPWMuaW5kZXhPZihtKSxrIT09bCYmKC0xPT09bD9oW2ddPWhbZ10uc3BsaXQobSkuam9pbigiIik6LTE9PT1rJiYoaFtnXSs9IiAiK20pKSk7Yj1oLmpvaW4oIiwgIiksYz1pLmpvaW4oIiwgIil9cmV0dXJuIHZhKGEsdGhpcy5wLGIsYyx0aGlzLmNscnMsdGhpcy5kZmx0LGQsdGhpcy5wcixlLGYpfSxqLnBhcnNlPWZ1bmN0aW9uKGEsYixjLGQsZixnLGgpe3JldHVybiB0aGlzLnBhcnNlQ29tcGxleChhLnN0eWxlLHRoaXMuZm9ybWF0KF8oYSx0aGlzLnAsZSwhMSx0aGlzLmRmbHQpKSx0aGlzLmZvcm1hdChiKSxmLGcpfSxnLnJlZ2lzdGVyU3BlY2lhbFByb3A9ZnVuY3Rpb24oYSxiLGMpe3lhKGEse3BhcnNlcjpmdW5jdGlvbihhLGQsZSxmLGcsaCxpKXt2YXIgaj1uZXcgdGEoYSxlLDAsMCxnLDIsZSwhMSxjKTtyZXR1cm4gai5wbHVnaW49aCxqLnNldFJhdGlvPWIoYSxkLGYuX3R3ZWVuLGUpLGp9LHByaW9yaXR5OmN9KX0sZy51c2VTVkdUcmFuc2Zvcm1BdHRyPSEwO3ZhciBBYSxCYT0ic2NhbGVYLHNjYWxlWSxzY2FsZVoseCx5LHosc2tld1gsc2tld1kscm90YXRpb24scm90YXRpb25YLHJvdGF0aW9uWSxwZXJzcGVjdGl2ZSx4UGVyY2VudCx5UGVyY2VudCIuc3BsaXQoIiwiKSxDYT1aKCJ0cmFuc2Zvcm0iKSxEYT1YKyJ0cmFuc2Zvcm0iLEVhPVooInRyYW5zZm9ybU9yaWdpbiIpLEZhPW51bGwhPT1aKCJwZXJzcGVjdGl2ZSIpLEdhPVMuVHJhbnNmb3JtPWZ1bmN0aW9uKCl7dGhpcy5wZXJzcGVjdGl2ZT1wYXJzZUZsb2F0KGcuZGVmYXVsdFRyYW5zZm9ybVBlcnNwZWN0aXZlKXx8MCx0aGlzLmZvcmNlM0Q9Zy5kZWZhdWx0Rm9yY2UzRCE9PSExJiZGYT9nLmRlZmF1bHRGb3JjZTNEfHwiYXV0byI6ITF9LEhhPV9nc1Njb3BlLlNWR0VsZW1lbnQsSWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9Ty5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixhKSxmPS8oW2Etel0pKFtBLVpdKS9nO2ZvcihkIGluIGMpZS5zZXRBdHRyaWJ1dGVOUyhudWxsLGQucmVwbGFjZShmLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksY1tkXSk7cmV0dXJuIGIuYXBwZW5kQ2hpbGQoZSksZX0sSmE9Ty5kb2N1bWVudEVsZW1lbnR8fHt9LEthPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ9cHx8L0FuZHJvaWQvaS50ZXN0KFQpJiYhX2dzU2NvcGUuY2hyb21lO3JldHVybiBPLmNyZWF0ZUVsZW1lbnROUyYmIWQmJihhPUlhKCJzdmciLEphKSxiPUlhKCJyZWN0IixhLHt3aWR0aDoxMDAsaGVpZ2h0OjUwLHg6MTAwfSksYz1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLGIuc3R5bGVbRWFdPSI1MCUgNTAlIixiLnN0eWxlW0NhXT0ic2NhbGVYKDAuNSkiLGQ9Yz09PWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgmJiEobiYmRmEpLEphLnJlbW92ZUNoaWxkKGEpKSxkfSgpLExhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1LHY9YS5fZ3NUcmFuc2Zvcm0sdz1RYShhLCEwKTt2JiYodD12LnhPcmlnaW4sdT12LnlPcmlnaW4pLCghZHx8KGg9ZC5zcGxpdCgiICIpKS5sZW5ndGg8MikmJihuPWEuZ2V0QkJveCgpLDA9PT1uLngmJjA9PT1uLnkmJm4ud2lkdGgrbi5oZWlnaHQ9PT0wJiYobj17eDpwYXJzZUZsb2F0KGEuaGFzQXR0cmlidXRlKCJ4Iik/YS5nZXRBdHRyaWJ1dGUoIngiKTphLmhhc0F0dHJpYnV0ZSgiY3giKT9hLmdldEF0dHJpYnV0ZSgiY3giKTowKXx8MCx5OnBhcnNlRmxvYXQoYS5oYXNBdHRyaWJ1dGUoInkiKT9hLmdldEF0dHJpYnV0ZSgieSIpOmEuaGFzQXR0cmlidXRlKCJjeSIpP2EuZ2V0QXR0cmlidXRlKCJjeSIpOjApfHwwLHdpZHRoOjAsaGVpZ2h0OjB9KSxiPWhhKGIpLnNwbGl0KCIgIiksaD1bKC0xIT09YlswXS5pbmRleE9mKCIlIik/cGFyc2VGbG9hdChiWzBdKS8xMDAqbi53aWR0aDpwYXJzZUZsb2F0KGJbMF0pKStuLngsKC0xIT09YlsxXS5pbmRleE9mKCIlIik/cGFyc2VGbG9hdChiWzFdKS8xMDAqbi5oZWlnaHQ6cGFyc2VGbG9hdChiWzFdKSkrbi55XSksYy54T3JpZ2luPWs9cGFyc2VGbG9hdChoWzBdKSxjLnlPcmlnaW49bD1wYXJzZUZsb2F0KGhbMV0pLGQmJnchPT1QYSYmKG09d1swXSxuPXdbMV0sbz13WzJdLHA9d1szXSxxPXdbNF0scj13WzVdLHM9bSpwLW4qbyxzJiYoaT1rKihwL3MpK2wqKC1vL3MpKyhvKnItcCpxKS9zLGo9ayooLW4vcykrbCoobS9zKS0obSpyLW4qcSkvcyxrPWMueE9yaWdpbj1oWzBdPWksbD1jLnlPcmlnaW49aFsxXT1qKSksdiYmKGYmJihjLnhPZmZzZXQ9di54T2Zmc2V0LGMueU9mZnNldD12LnlPZmZzZXQsdj1jKSxlfHxlIT09ITEmJmcuZGVmYXVsdFNtb290aE9yaWdpbiE9PSExPyhpPWstdCxqPWwtdSx2LnhPZmZzZXQrPWkqd1swXStqKndbMl0taSx2LnlPZmZzZXQrPWkqd1sxXStqKndbM10taik6di54T2Zmc2V0PXYueU9mZnNldD0wKSxmfHxhLnNldEF0dHJpYnV0ZSgiZGF0YS1zdmctb3JpZ2luIixoLmpvaW4oIiAiKSl9LE1hPWZ1bmN0aW9uKGEpe3ZhciBiLGM9UCgic3ZnIix0aGlzLm93bmVyU1ZHRWxlbWVudC5nZXRBdHRyaWJ1dGUoInhtbG5zIil8fCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpLGQ9dGhpcy5wYXJlbnROb2RlLGU9dGhpcy5uZXh0U2libGluZyxmPXRoaXMuc3R5bGUuY3NzVGV4dDtpZihKYS5hcHBlbmRDaGlsZChjKSxjLmFwcGVuZENoaWxkKHRoaXMpLHRoaXMuc3R5bGUuZGlzcGxheT0iYmxvY2siLGEpdHJ5e2I9dGhpcy5nZXRCQm94KCksdGhpcy5fb3JpZ2luYWxHZXRCQm94PXRoaXMuZ2V0QkJveCx0aGlzLmdldEJCb3g9TWF9Y2F0Y2goZyl7fWVsc2UgdGhpcy5fb3JpZ2luYWxHZXRCQm94JiYoYj10aGlzLl9vcmlnaW5hbEdldEJCb3goKSk7cmV0dXJuIGU/ZC5pbnNlcnRCZWZvcmUodGhpcyxlKTpkLmFwcGVuZENoaWxkKHRoaXMpLEphLnJlbW92ZUNoaWxkKGMpLHRoaXMuc3R5bGUuY3NzVGV4dD1mLGJ9LE5hPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCQm94KCl9Y2F0Y2goYil7cmV0dXJuIE1hLmNhbGwoYSwhMCl9fSxPYT1mdW5jdGlvbihhKXtyZXR1cm4hKCEoSGEmJmEuZ2V0Q1RNJiZOYShhKSl8fGEucGFyZW50Tm9kZSYmIWEub3duZXJTVkdFbGVtZW50KX0sUGE9WzEsMCwwLDEsMCwwXSxRYT1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxpPWEuX2dzVHJhbnNmb3JtfHxuZXcgR2Esaj0xZTUsaz1hLnN0eWxlO2lmKENhP2Q9XyhhLERhLG51bGwsITApOmEuY3VycmVudFN0eWxlJiYoZD1hLmN1cnJlbnRTdHlsZS5maWx0ZXIubWF0Y2goRyksZD1kJiY0PT09ZC5sZW5ndGg/W2RbMF0uc3Vic3RyKDQpLE51bWJlcihkWzJdLnN1YnN0cig0KSksTnVtYmVyKGRbMV0uc3Vic3RyKDQpKSxkWzNdLnN1YnN0cig0KSxpLnh8fDAsaS55fHwwXS5qb2luKCIsIik6IiIpLGM9IWR8fCJub25lIj09PWR8fCJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCkiPT09ZCxjJiZDYSYmKChoPSJub25lIj09PSQoYSkuZGlzcGxheSl8fCFhLnBhcmVudE5vZGUpJiYoaCYmKGY9ay5kaXNwbGF5LGsuZGlzcGxheT0iYmxvY2siKSxhLnBhcmVudE5vZGV8fChnPTEsSmEuYXBwZW5kQ2hpbGQoYSkpLGQ9XyhhLERhLG51bGwsITApLGM9IWR8fCJub25lIj09PWR8fCJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCkiPT09ZCxmP2suZGlzcGxheT1mOmgmJlZhKGssImRpc3BsYXkiKSxnJiZKYS5yZW1vdmVDaGlsZChhKSksKGkuc3ZnfHxhLmdldENUTSYmT2EoYSkpJiYoYyYmLTEhPT0oa1tDYV0rIiIpLmluZGV4T2YoIm1hdHJpeCIpJiYoZD1rW0NhXSxjPTApLGU9YS5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpLGMmJmUmJigtMSE9PWUuaW5kZXhPZigibWF0cml4Iik/KGQ9ZSxjPTApOi0xIT09ZS5pbmRleE9mKCJ0cmFuc2xhdGUiKSYmKGQ9Im1hdHJpeCgxLDAsMCwxLCIrZS5tYXRjaCgvKD86XC18XGIpW1xkXC1cLmVdK1xiL2dpKS5qb2luKCIsIikrIikiLGM9MCkpKSxjKXJldHVybiBQYTtmb3IoZT0oZHx8IiIpLm1hdGNoKHMpfHxbXSx3YT1lLmxlbmd0aDstLXdhPi0xOylmPU51bWJlcihlW3dhXSksZVt3YV09KGc9Zi0oZnw9MCkpPyhnKmorKDA+Zz8tLjU6LjUpfDApL2orZjpmO3JldHVybiBiJiZlLmxlbmd0aD42P1tlWzBdLGVbMV0sZVs0XSxlWzVdLGVbMTJdLGVbMTNdXTplfSxSYT1TLmdldFRyYW5zZm9ybT1mdW5jdGlvbihhLGMsZCxlKXtpZihhLl9nc1RyYW5zZm9ybSYmZCYmIWUpcmV0dXJuIGEuX2dzVHJhbnNmb3JtO3ZhciBmLGgsaSxqLGssbCxtPWQ/YS5fZ3NUcmFuc2Zvcm18fG5ldyBHYTpuZXcgR2Esbj1tLnNjYWxlWDwwLG89MmUtNSxwPTFlNSxxPUZhP3BhcnNlRmxvYXQoXyhhLEVhLGMsITEsIjAgMCAwIikuc3BsaXQoIiAiKVsyXSl8fG0uek9yaWdpbnx8MDowLHI9cGFyc2VGbG9hdChnLmRlZmF1bHRUcmFuc2Zvcm1QZXJzcGVjdGl2ZSl8fDA7aWYobS5zdmc9ISghYS5nZXRDVE18fCFPYShhKSksbS5zdmcmJihMYShhLF8oYSxFYSxjLCExLCI1MCUgNTAlIikrIiIsbSxhLmdldEF0dHJpYnV0ZSgiZGF0YS1zdmctb3JpZ2luIikpLEFhPWcudXNlU1ZHVHJhbnNmb3JtQXR0cnx8S2EpLGY9UWEoYSksZiE9PVBhKXtpZigxNj09PWYubGVuZ3RoKXt2YXIgcyx0LHUsdix3LHg9ZlswXSx5PWZbMV0sej1mWzJdLEE9ZlszXSxCPWZbNF0sQz1mWzVdLEQ9Zls2XSxFPWZbN10sRj1mWzhdLEc9Zls5XSxIPWZbMTBdLEk9ZlsxMl0sSj1mWzEzXSxLPWZbMTRdLE09ZlsxMV0sTj1NYXRoLmF0YW4yKEQsSCk7bS56T3JpZ2luJiYoSz0tbS56T3JpZ2luLEk9RipLLWZbMTJdLEo9RypLLWZbMTNdLEs9SCpLK20uek9yaWdpbi1mWzE0XSksbS5yb3RhdGlvblg9TipMLE4mJih2PU1hdGguY29zKC1OKSx3PU1hdGguc2luKC1OKSxzPUIqditGKncsdD1DKnYrRyp3LHU9RCp2K0gqdyxGPUIqLXcrRip2LEc9QyotdytHKnYsSD1EKi13K0gqdixNPUUqLXcrTSp2LEI9cyxDPXQsRD11KSxOPU1hdGguYXRhbjIoLXosSCksbS5yb3RhdGlvblk9TipMLE4mJih2PU1hdGguY29zKC1OKSx3PU1hdGguc2luKC1OKSxzPXgqdi1GKncsdD15KnYtRyp3LHU9eip2LUgqdyxHPXkqdytHKnYsSD16KncrSCp2LE09QSp3K00qdix4PXMseT10LHo9dSksTj1NYXRoLmF0YW4yKHkseCksbS5yb3RhdGlvbj1OKkwsTiYmKHY9TWF0aC5jb3MoLU4pLHc9TWF0aC5zaW4oLU4pLHg9eCp2K0Iqdyx0PXkqditDKncsQz15Ki13K0MqdixEPXoqLXcrRCp2LHk9dCksbS5yb3RhdGlvblgmJk1hdGguYWJzKG0ucm90YXRpb25YKStNYXRoLmFicyhtLnJvdGF0aW9uKT4zNTkuOSYmKG0ucm90YXRpb25YPW0ucm90YXRpb249MCxtLnJvdGF0aW9uWT0xODAtbS5yb3RhdGlvblkpLG0uc2NhbGVYPShNYXRoLnNxcnQoeCp4K3kqeSkqcCsuNXwwKS9wLG0uc2NhbGVZPShNYXRoLnNxcnQoQypDK0cqRykqcCsuNXwwKS9wLG0uc2NhbGVaPShNYXRoLnNxcnQoRCpEK0gqSCkqcCsuNXwwKS9wLG0ucm90YXRpb25YfHxtLnJvdGF0aW9uWT9tLnNrZXdYPTA6KG0uc2tld1g9Qnx8Qz9NYXRoLmF0YW4yKEIsQykqTCttLnJvdGF0aW9uOm0uc2tld1h8fDAsTWF0aC5hYnMobS5za2V3WCk+OTAmJk1hdGguYWJzKG0uc2tld1gpPDI3MCYmKG4/KG0uc2NhbGVYKj0tMSxtLnNrZXdYKz1tLnJvdGF0aW9uPD0wPzE4MDotMTgwLG0ucm90YXRpb24rPW0ucm90YXRpb248PTA/MTgwOi0xODApOihtLnNjYWxlWSo9LTEsbS5za2V3WCs9bS5za2V3WDw9MD8xODA6LTE4MCkpKSxtLnBlcnNwZWN0aXZlPU0/MS8oMD5NPy1NOk0pOjAsbS54PUksbS55PUosbS56PUssbS5zdmcmJihtLngtPW0ueE9yaWdpbi0obS54T3JpZ2luKngtbS55T3JpZ2luKkIpLG0ueS09bS55T3JpZ2luLShtLnlPcmlnaW4qeS1tLnhPcmlnaW4qQykpfWVsc2UgaWYoIUZhfHxlfHwhZi5sZW5ndGh8fG0ueCE9PWZbNF18fG0ueSE9PWZbNV18fCFtLnJvdGF0aW9uWCYmIW0ucm90YXRpb25ZKXt2YXIgTz1mLmxlbmd0aD49NixQPU8/ZlswXToxLFE9ZlsxXXx8MCxSPWZbMl18fDAsUz1PP2ZbM106MTttLng9Zls0XXx8MCxtLnk9Zls1XXx8MCxpPU1hdGguc3FydChQKlArUSpRKSxqPU1hdGguc3FydChTKlMrUipSKSxrPVB8fFE/TWF0aC5hdGFuMihRLFApKkw6bS5yb3RhdGlvbnx8MCxsPVJ8fFM/TWF0aC5hdGFuMihSLFMpKkwrazptLnNrZXdYfHwwLE1hdGguYWJzKGwpPjkwJiZNYXRoLmFicyhsKTwyNzAmJihuPyhpKj0tMSxsKz0wPj1rPzE4MDotMTgwLGsrPTA+PWs/MTgwOi0xODApOihqKj0tMSxsKz0wPj1sPzE4MDotMTgwKSksbS5zY2FsZVg9aSxtLnNjYWxlWT1qLG0ucm90YXRpb249ayxtLnNrZXdYPWwsRmEmJihtLnJvdGF0aW9uWD1tLnJvdGF0aW9uWT1tLno9MCxtLnBlcnNwZWN0aXZlPXIsbS5zY2FsZVo9MSksbS5zdmcmJihtLngtPW0ueE9yaWdpbi0obS54T3JpZ2luKlArbS55T3JpZ2luKlIpLG0ueS09bS55T3JpZ2luLShtLnhPcmlnaW4qUSttLnlPcmlnaW4qUykpfW0uek9yaWdpbj1xO2ZvcihoIGluIG0pbVtoXTxvJiZtW2hdPi1vJiYobVtoXT0wKX1yZXR1cm4gZCYmKGEuX2dzVHJhbnNmb3JtPW0sbS5zdmcmJihBYSYmYS5zdHlsZVtDYV0/Yi5kZWxheWVkQ2FsbCguMDAxLGZ1bmN0aW9uKCl7VmEoYS5zdHlsZSxDYSl9KTohQWEmJmEuZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSYmYi5kZWxheWVkQ2FsbCguMDAxLGZ1bmN0aW9uKCl7YS5yZW1vdmVBdHRyaWJ1dGUoInRyYW5zZm9ybSIpfSkpKSxtfSxTYT1mdW5jdGlvbihhKXt2YXIgYixjLGQ9dGhpcy5kYXRhLGU9LWQucm90YXRpb24qSyxmPWUrZC5za2V3WCpLLGc9MWU1LGg9KE1hdGguY29zKGUpKmQuc2NhbGVYKmd8MCkvZyxpPShNYXRoLnNpbihlKSpkLnNjYWxlWCpnfDApL2csaj0oTWF0aC5zaW4oZikqLWQuc2NhbGVZKmd8MCkvZyxrPShNYXRoLmNvcyhmKSpkLnNjYWxlWSpnfDApL2csbD10aGlzLnQuc3R5bGUsbT10aGlzLnQuY3VycmVudFN0eWxlO2lmKG0pe2M9aSxpPS1qLGo9LWMsYj1tLmZpbHRlcixsLmZpbHRlcj0iIjt2YXIgbixvLHE9dGhpcy50Lm9mZnNldFdpZHRoLHI9dGhpcy50Lm9mZnNldEhlaWdodCxzPSJhYnNvbHV0ZSIhPT1tLnBvc2l0aW9uLHQ9InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPSIraCsiLCBNMTI9IitpKyIsIE0yMT0iK2orIiwgTTIyPSIrayx1PWQueCtxKmQueFBlcmNlbnQvMTAwLHY9ZC55K3IqZC55UGVyY2VudC8xMDA7aWYobnVsbCE9ZC5veCYmKG49KGQub3hwP3EqZC5veCouMDE6ZC5veCktcS8yLG89KGQub3lwP3IqZC5veSouMDE6ZC5veSktci8yLHUrPW4tKG4qaCtvKmkpLHYrPW8tKG4qaitvKmspKSxzPyhuPXEvMixvPXIvMix0Kz0iLCBEeD0iKyhuLShuKmgrbyppKSt1KSsiLCBEeT0iKyhvLShuKmorbyprKSt2KSsiKSIpOnQrPSIsIHNpemluZ01ldGhvZD0nYXV0byBleHBhbmQnKSIsLTEhPT1iLmluZGV4T2YoIkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeCgiKT9sLmZpbHRlcj1iLnJlcGxhY2UoSCx0KTpsLmZpbHRlcj10KyIgIitiLCgwPT09YXx8MT09PWEpJiYxPT09aCYmMD09PWkmJjA9PT1qJiYxPT09ayYmKHMmJi0xPT09dC5pbmRleE9mKCJEeD0wLCBEeT0wIil8fHgudGVzdChiKSYmMTAwIT09cGFyc2VGbG9hdChSZWdFeHAuJDEpfHwtMT09PWIuaW5kZXhPZihiLmluZGV4T2YoIkFscGhhIikpJiZsLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIikpLCFzKXt2YXIgeSx6LEEsQj04PnA/MTotMTtmb3Iobj1kLmllT2Zmc2V0WHx8MCxvPWQuaWVPZmZzZXRZfHwwLGQuaWVPZmZzZXRYPU1hdGgucm91bmQoKHEtKCgwPmg/LWg6aCkqcSsoMD5pPy1pOmkpKnIpKS8yK3UpLGQuaWVPZmZzZXRZPU1hdGgucm91bmQoKHItKCgwPms/LWs6aykqcisoMD5qPy1qOmopKnEpKS8yK3YpLHdhPTA7ND53YTt3YSsrKXo9ZmFbd2FdLHk9bVt6XSxjPS0xIT09eS5pbmRleE9mKCJweCIpP3BhcnNlRmxvYXQoeSk6YWEodGhpcy50LHoscGFyc2VGbG9hdCh5KSx5LnJlcGxhY2UodywiIikpfHwwLEE9YyE9PWRbel0/Mj53YT8tZC5pZU9mZnNldFg6LWQuaWVPZmZzZXRZOjI+d2E/bi1kLmllT2Zmc2V0WDpvLWQuaWVPZmZzZXRZLGxbel09KGRbel09TWF0aC5yb3VuZChjLUEqKDA9PT13YXx8Mj09PXdhPzE6QikpKSsicHgifX19LFRhPVMuc2V0M0RUcmFuc2Zvcm1SYXRpbz1TLnNldFRyYW5zZm9ybVJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxvLHAscSxyLHMsdCx1LHYsdyx4LHksej10aGlzLmRhdGEsQT10aGlzLnQuc3R5bGUsQj16LnJvdGF0aW9uLEM9ei5yb3RhdGlvblgsRD16LnJvdGF0aW9uWSxFPXouc2NhbGVYLEY9ei5zY2FsZVksRz16LnNjYWxlWixIPXoueCxJPXoueSxKPXoueixMPXouc3ZnLE09ei5wZXJzcGVjdGl2ZSxOPXouZm9yY2UzRCxPPXouc2tld1ksUD16LnNrZXdYO2lmKE8mJihQKz1PLEIrPU8pLCgoMT09PWF8fDA9PT1hKSYmImF1dG8iPT09TiYmKHRoaXMudHdlZW4uX3RvdGFsVGltZT09PXRoaXMudHdlZW4uX3RvdGFsRHVyYXRpb258fCF0aGlzLnR3ZWVuLl90b3RhbFRpbWUpfHwhTikmJiFKJiYhTSYmIUQmJiFDJiYxPT09R3x8QWEmJkx8fCFGYSlyZXR1cm4gdm9pZChCfHxQfHxMPyhCKj1LLHg9UCpLLHk9MWU1LGM9TWF0aC5jb3MoQikqRSxmPU1hdGguc2luKEIpKkUsZD1NYXRoLnNpbihCLXgpKi1GLGc9TWF0aC5jb3MoQi14KSpGLHgmJiJzaW1wbGUiPT09ei5za2V3VHlwZSYmKGI9TWF0aC50YW4oeC1PKkspLGI9TWF0aC5zcXJ0KDErYipiKSxkKj1iLGcqPWIsTyYmKGI9TWF0aC50YW4oTypLKSxiPU1hdGguc3FydCgxK2IqYiksYyo9YixmKj1iKSksTCYmKEgrPXoueE9yaWdpbi0oei54T3JpZ2luKmMrei55T3JpZ2luKmQpK3oueE9mZnNldCxJKz16LnlPcmlnaW4tKHoueE9yaWdpbipmK3oueU9yaWdpbipnKSt6LnlPZmZzZXQsQWEmJih6LnhQZXJjZW50fHx6LnlQZXJjZW50KSYmKHE9dGhpcy50LmdldEJCb3goKSxIKz0uMDEqei54UGVyY2VudCpxLndpZHRoLEkrPS4wMSp6LnlQZXJjZW50KnEuaGVpZ2h0KSxxPTFlLTYscT5IJiZIPi1xJiYoSD0wKSxxPkkmJkk+LXEmJihJPTApKSx1PShjKnl8MCkveSsiLCIrKGYqeXwwKS95KyIsIisoZCp5fDApL3krIiwiKyhnKnl8MCkveSsiLCIrSCsiLCIrSSsiKSIsTCYmQWE/dGhpcy50LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwibWF0cml4KCIrdSk6QVtDYV09KHoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSBtYXRyaXgoIjoibWF0cml4KCIpK3UpOkFbQ2FdPSh6LnhQZXJjZW50fHx6LnlQZXJjZW50PyJ0cmFuc2xhdGUoIit6LnhQZXJjZW50KyIlLCIrei55UGVyY2VudCsiJSkgbWF0cml4KCI6Im1hdHJpeCgiKStFKyIsMCwwLCIrRisiLCIrSCsiLCIrSSsiKSIpO2lmKG4mJihxPTFlLTQscT5FJiZFPi1xJiYoRT1HPTJlLTUpLHE+RiYmRj4tcSYmKEY9Rz0yZS01KSwhTXx8ei56fHx6LnJvdGF0aW9uWHx8ei5yb3RhdGlvbll8fChNPTApKSxCfHxQKUIqPUsscj1jPU1hdGguY29zKEIpLHM9Zj1NYXRoLnNpbihCKSxQJiYoQi09UCpLLHI9TWF0aC5jb3MoQikscz1NYXRoLnNpbihCKSwic2ltcGxlIj09PXouc2tld1R5cGUmJihiPU1hdGgudGFuKChQLU8pKkspLGI9TWF0aC5zcXJ0KDErYipiKSxyKj1iLHMqPWIsei5za2V3WSYmKGI9TWF0aC50YW4oTypLKSxiPU1hdGguc3FydCgxK2IqYiksYyo9YixmKj1iKSkpLGQ9LXMsZz1yO2Vsc2V7aWYoIShEfHxDfHwxIT09R3x8TXx8TCkpcmV0dXJuIHZvaWQoQVtDYV09KHoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSB0cmFuc2xhdGUzZCgiOiJ0cmFuc2xhdGUzZCgiKStIKyJweCwiK0krInB4LCIrSisicHgpIisoMSE9PUV8fDEhPT1GPyIgc2NhbGUoIitFKyIsIitGKyIpIjoiIikpO2M9Zz0xLGQ9Zj0wfWs9MSxlPWg9aT1qPWw9bT0wLG89TT8tMS9NOjAscD16LnpPcmlnaW4scT0xZS02LHY9IiwiLHc9IjAiLEI9RCpLLEImJihyPU1hdGguY29zKEIpLHM9TWF0aC5zaW4oQiksaT0tcyxsPW8qLXMsZT1jKnMsaD1mKnMsaz1yLG8qPXIsYyo9cixmKj1yKSxCPUMqSyxCJiYocj1NYXRoLmNvcyhCKSxzPU1hdGguc2luKEIpLGI9ZCpyK2Uqcyx0PWcqcitoKnMsaj1rKnMsbT1vKnMsZT1kKi1zK2UqcixoPWcqLXMraCpyLGsqPXIsbyo9cixkPWIsZz10KSwxIT09RyYmKGUqPUcsaCo9RyxrKj1HLG8qPUcpLDEhPT1GJiYoZCo9RixnKj1GLGoqPUYsbSo9RiksMSE9PUUmJihjKj1FLGYqPUUsaSo9RSxsKj1FKSwocHx8TCkmJihwJiYoSCs9ZSotcCxJKz1oKi1wLEorPWsqLXArcCksTCYmKEgrPXoueE9yaWdpbi0oei54T3JpZ2luKmMrei55T3JpZ2luKmQpK3oueE9mZnNldCxJKz16LnlPcmlnaW4tKHoueE9yaWdpbipmK3oueU9yaWdpbipnKSt6LnlPZmZzZXQpLHE+SCYmSD4tcSYmKEg9dykscT5JJiZJPi1xJiYoST13KSxxPkomJko+LXEmJihKPTApKSx1PXoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSBtYXRyaXgzZCgiOiJtYXRyaXgzZCgiLHUrPShxPmMmJmM+LXE/dzpjKSt2KyhxPmYmJmY+LXE/dzpmKSt2KyhxPmkmJmk+LXE/dzppKSx1Kz12KyhxPmwmJmw+LXE/dzpsKSt2KyhxPmQmJmQ+LXE/dzpkKSt2KyhxPmcmJmc+LXE/dzpnKSxDfHxEfHwxIT09Rz8odSs9disocT5qJiZqPi1xP3c6aikrdisocT5tJiZtPi1xP3c6bSkrdisocT5lJiZlPi1xP3c6ZSksdSs9disocT5oJiZoPi1xP3c6aCkrdisocT5rJiZrPi1xP3c6aykrdisocT5vJiZvPi1xP3c6bykrdik6dSs9IiwwLDAsMCwwLDEsMCwiLHUrPUgrditJK3YrSit2KyhNPzErLUovTToxKSsiKSIsQVtDYV09dX07aj1HYS5wcm90b3R5cGUsai54PWoueT1qLno9ai5za2V3WD1qLnNrZXdZPWoucm90YXRpb249ai5yb3RhdGlvblg9ai5yb3RhdGlvblk9ai56T3JpZ2luPWoueFBlcmNlbnQ9ai55UGVyY2VudD1qLnhPZmZzZXQ9ai55T2Zmc2V0PTAsai5zY2FsZVg9ai5zY2FsZVk9ai5zY2FsZVo9MSx5YSgidHJhbnNmb3JtLHNjYWxlLHNjYWxlWCxzY2FsZVksc2NhbGVaLHgseSx6LHJvdGF0aW9uLHJvdGF0aW9uWCxyb3RhdGlvblkscm90YXRpb25aLHNrZXdYLHNrZXdZLHNob3J0Um90YXRpb24sc2hvcnRSb3RhdGlvblgsc2hvcnRSb3RhdGlvblksc2hvcnRSb3RhdGlvblosdHJhbnNmb3JtT3JpZ2luLHN2Z09yaWdpbix0cmFuc2Zvcm1QZXJzcGVjdGl2ZSxkaXJlY3Rpb25hbFJvdGF0aW9uLHBhcnNlVHJhbnNmb3JtLGZvcmNlM0Qsc2tld1R5cGUseFBlcmNlbnQseVBlcmNlbnQsc21vb3RoT3JpZ2luIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixjLGQsZixoLGkpe2lmKGQuX2xhc3RQYXJzZWRUcmFuc2Zvcm09PT1pKXJldHVybiBmO2QuX2xhc3RQYXJzZWRUcmFuc2Zvcm09aTt2YXIgaixrPWkuc2NhbGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBpLnNjYWxlP2kuc2NhbGU6MDsiZnVuY3Rpb24iPT10eXBlb2YgaVtjXSYmKGo9aVtjXSxpW2NdPWIpLGsmJihpLnNjYWxlPWsocixhKSk7dmFyIGwsbSxuLG8scCxzLHQsdSx2LHc9YS5fZ3NUcmFuc2Zvcm0seD1hLnN0eWxlLHk9MWUtNix6PUJhLmxlbmd0aCxBPWksQj17fSxDPSJ0cmFuc2Zvcm1PcmlnaW4iLEQ9UmEoYSxlLCEwLEEucGFyc2VUcmFuc2Zvcm0pLEU9QS50cmFuc2Zvcm0mJigiZnVuY3Rpb24iPT10eXBlb2YgQS50cmFuc2Zvcm0/QS50cmFuc2Zvcm0ocixxKTpBLnRyYW5zZm9ybSk7aWYoZC5fdHJhbnNmb3JtPUQsRSYmInN0cmluZyI9PXR5cGVvZiBFJiZDYSltPVEuc3R5bGUsbVtDYV09RSxtLmRpc3BsYXk9ImJsb2NrIixtLnBvc2l0aW9uPSJhYnNvbHV0ZSIsTy5ib2R5LmFwcGVuZENoaWxkKFEpLGw9UmEoUSxudWxsLCExKSxELnN2ZyYmKHM9RC54T3JpZ2luLHQ9RC55T3JpZ2luLGwueC09RC54T2Zmc2V0LGwueS09RC55T2Zmc2V0LChBLnRyYW5zZm9ybU9yaWdpbnx8QS5zdmdPcmlnaW4pJiYoRT17fSxMYShhLGhhKEEudHJhbnNmb3JtT3JpZ2luKSxFLEEuc3ZnT3JpZ2luLEEuc21vb3RoT3JpZ2luLCEwKSxzPUUueE9yaWdpbix0PUUueU9yaWdpbixsLngtPUUueE9mZnNldC1ELnhPZmZzZXQsbC55LT1FLnlPZmZzZXQtRC55T2Zmc2V0KSwoc3x8dCkmJih1PVFhKFEsITApLGwueC09cy0ocyp1WzBdK3QqdVsyXSksbC55LT10LShzKnVbMV0rdCp1WzNdKSkpLE8uYm9keS5yZW1vdmVDaGlsZChRKSxsLnBlcnNwZWN0aXZlfHwobC5wZXJzcGVjdGl2ZT1ELnBlcnNwZWN0aXZlKSxudWxsIT1BLnhQZXJjZW50JiYobC54UGVyY2VudD1qYShBLnhQZXJjZW50LEQueFBlcmNlbnQpKSxudWxsIT1BLnlQZXJjZW50JiYobC55UGVyY2VudD1qYShBLnlQZXJjZW50LEQueVBlcmNlbnQpKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgQSl7aWYobD17c2NhbGVYOmphKG51bGwhPUEuc2NhbGVYP0Euc2NhbGVYOkEuc2NhbGUsRC5zY2FsZVgpLHNjYWxlWTpqYShudWxsIT1BLnNjYWxlWT9BLnNjYWxlWTpBLnNjYWxlLEQuc2NhbGVZKSxzY2FsZVo6amEoQS5zY2FsZVosRC5zY2FsZVopLHg6amEoQS54LEQueCkseTpqYShBLnksRC55KSx6OmphKEEueixELnopLHhQZXJjZW50OmphKEEueFBlcmNlbnQsRC54UGVyY2VudCkseVBlcmNlbnQ6amEoQS55UGVyY2VudCxELnlQZXJjZW50KSxwZXJzcGVjdGl2ZTpqYShBLnRyYW5zZm9ybVBlcnNwZWN0aXZlLEQucGVyc3BlY3RpdmUpfSxwPUEuZGlyZWN0aW9uYWxSb3RhdGlvbixudWxsIT1wKWlmKCJvYmplY3QiPT10eXBlb2YgcClmb3IobSBpbiBwKUFbbV09cFttXTtlbHNlIEEucm90YXRpb249cDsic3RyaW5nIj09dHlwZW9mIEEueCYmLTEhPT1BLnguaW5kZXhPZigiJSIpJiYobC54PTAsbC54UGVyY2VudD1qYShBLngsRC54UGVyY2VudCkpLCJzdHJpbmciPT10eXBlb2YgQS55JiYtMSE9PUEueS5pbmRleE9mKCIlIikmJihsLnk9MCxsLnlQZXJjZW50PWphKEEueSxELnlQZXJjZW50KSksbC5yb3RhdGlvbj1rYSgicm90YXRpb24iaW4gQT9BLnJvdGF0aW9uOiJzaG9ydFJvdGF0aW9uImluIEE/QS5zaG9ydFJvdGF0aW9uKyJfc2hvcnQiOiJyb3RhdGlvbloiaW4gQT9BLnJvdGF0aW9uWjpELnJvdGF0aW9uLEQucm90YXRpb24sInJvdGF0aW9uIixCKSxGYSYmKGwucm90YXRpb25YPWthKCJyb3RhdGlvblgiaW4gQT9BLnJvdGF0aW9uWDoic2hvcnRSb3RhdGlvblgiaW4gQT9BLnNob3J0Um90YXRpb25YKyJfc2hvcnQiOkQucm90YXRpb25YfHwwLEQucm90YXRpb25YLCJyb3RhdGlvblgiLEIpLGwucm90YXRpb25ZPWthKCJyb3RhdGlvblkiaW4gQT9BLnJvdGF0aW9uWToic2hvcnRSb3RhdGlvblkiaW4gQT9BLnNob3J0Um90YXRpb25ZKyJfc2hvcnQiOkQucm90YXRpb25ZfHwwLEQucm90YXRpb25ZLCJyb3RhdGlvblkiLEIpKSxsLnNrZXdYPWthKEEuc2tld1gsRC5za2V3WCksbC5za2V3WT1rYShBLnNrZXdZLEQuc2tld1kpfWZvcihGYSYmbnVsbCE9QS5mb3JjZTNEJiYoRC5mb3JjZTNEPUEuZm9yY2UzRCxvPSEwKSxELnNrZXdUeXBlPUEuc2tld1R5cGV8fEQuc2tld1R5cGV8fGcuZGVmYXVsdFNrZXdUeXBlLG49RC5mb3JjZTNEfHxELnp8fEQucm90YXRpb25YfHxELnJvdGF0aW9uWXx8bC56fHxsLnJvdGF0aW9uWHx8bC5yb3RhdGlvbll8fGwucGVyc3BlY3RpdmUsbnx8bnVsbD09QS5zY2FsZXx8KGwuc2NhbGVaPTEpOy0tej4tMTspdj1CYVt6XSxFPWxbdl0tRFt2XSwoRT55fHwteT5FfHxudWxsIT1BW3ZdfHxudWxsIT1NW3ZdKSYmKG89ITAsZj1uZXcgdGEoRCx2LERbdl0sRSxmKSx2IGluIEImJihmLmU9Qlt2XSksZi54czA9MCxmLnBsdWdpbj1oLGQuX292ZXJ3cml0ZVByb3BzLnB1c2goZi5uKSk7cmV0dXJuIEU9QS50cmFuc2Zvcm1PcmlnaW4sRC5zdmcmJihFfHxBLnN2Z09yaWdpbikmJihzPUQueE9mZnNldCx0PUQueU9mZnNldCxMYShhLGhhKEUpLGwsQS5zdmdPcmlnaW4sQS5zbW9vdGhPcmlnaW4pLGY9dWEoRCwieE9yaWdpbiIsKHc/RDpsKS54T3JpZ2luLGwueE9yaWdpbixmLEMpLGY9dWEoRCwieU9yaWdpbiIsKHc/RDpsKS55T3JpZ2luLGwueU9yaWdpbixmLEMpLChzIT09RC54T2Zmc2V0fHx0IT09RC55T2Zmc2V0KSYmKGY9dWEoRCwieE9mZnNldCIsdz9zOkQueE9mZnNldCxELnhPZmZzZXQsZixDKSxmPXVhKEQsInlPZmZzZXQiLHc/dDpELnlPZmZzZXQsRC55T2Zmc2V0LGYsQykpLEU9IjBweCAwcHgiKSwoRXx8RmEmJm4mJkQuek9yaWdpbikmJihDYT8obz0hMCx2PUVhLEU9KEV8fF8oYSx2LGUsITEsIjUwJSA1MCUiKSkrIiIsZj1uZXcgdGEoeCx2LDAsMCxmLC0xLEMpLGYuYj14W3ZdLGYucGx1Z2luPWgsRmE/KG09RC56T3JpZ2luLEU9RS5zcGxpdCgiICIpLEQuek9yaWdpbj0oRS5sZW5ndGg+MiYmKDA9PT1tfHwiMHB4IiE9PUVbMl0pP3BhcnNlRmxvYXQoRVsyXSk6bSl8fDAsZi54czA9Zi5lPUVbMF0rIiAiKyhFWzFdfHwiNTAlIikrIiAwcHgiLGY9bmV3IHRhKEQsInpPcmlnaW4iLDAsMCxmLC0xLGYubiksZi5iPW0sZi54czA9Zi5lPUQuek9yaWdpbik6Zi54czA9Zi5lPUUpOmhhKEUrIiIsRCkpLG8mJihkLl90cmFuc2Zvcm1UeXBlPUQuc3ZnJiZBYXx8IW4mJjMhPT10aGlzLl90cmFuc2Zvcm1UeXBlPzI6MyksaiYmKGlbY109aiksayYmKGkuc2NhbGU9ayksZn0scHJlZml4OiEwfSkseWEoImJveFNoYWRvdyIse2RlZmF1bHRWYWx1ZToiMHB4IDBweCAwcHggMHB4ICM5OTkiLHByZWZpeDohMCxjb2xvcjohMCxtdWx0aTohMCxrZXl3b3JkOiJpbnNldCJ9KSx5YSgiYm9yZGVyUmFkaXVzIix7ZGVmYXVsdFZhbHVlOiIwcHgiLHBhcnNlcjpmdW5jdGlvbihhLGIsYyxmLGcsaCl7Yj10aGlzLmZvcm1hdChiKTt2YXIgaSxqLGssbCxtLG4sbyxwLHEscixzLHQsdSx2LHcseCx5PVsiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIl0sej1hLnN0eWxlO2ZvcihxPXBhcnNlRmxvYXQoYS5vZmZzZXRXaWR0aCkscj1wYXJzZUZsb2F0KGEub2Zmc2V0SGVpZ2h0KSxpPWIuc3BsaXQoIiAiKSxqPTA7ajx5Lmxlbmd0aDtqKyspdGhpcy5wLmluZGV4T2YoImJvcmRlciIpJiYoeVtqXT1aKHlbal0pKSxtPWw9XyhhLHlbal0sZSwhMSwiMHB4IiksLTEhPT1tLmluZGV4T2YoIiAiKSYmKGw9bS5zcGxpdCgiICIpLG09bFswXSxsPWxbMV0pLG49az1pW2pdLG89cGFyc2VGbG9hdChtKSx0PW0uc3Vic3RyKChvKyIiKS5sZW5ndGgpLHU9Ij0iPT09bi5jaGFyQXQoMSksdT8ocD1wYXJzZUludChuLmNoYXJBdCgwKSsiMSIsMTApLG49bi5zdWJzdHIoMikscCo9cGFyc2VGbG9hdChuKSxzPW4uc3Vic3RyKChwKyIiKS5sZW5ndGgtKDA+cD8xOjApKXx8IiIpOihwPXBhcnNlRmxvYXQobikscz1uLnN1YnN0cigocCsiIikubGVuZ3RoKSksIiI9PT1zJiYocz1kW2NdfHx0KSxzIT09dCYmKHY9YWEoYSwiYm9yZGVyTGVmdCIsbyx0KSx3PWFhKGEsImJvcmRlclRvcCIsbyx0KSwiJSI9PT1zPyhtPXYvcSoxMDArIiUiLGw9dy9yKjEwMCsiJSIpOiJlbSI9PT1zPyh4PWFhKGEsImJvcmRlckxlZnQiLDEsImVtIiksbT12L3grImVtIixsPXcveCsiZW0iKToobT12KyJweCIsbD13KyJweCIpLHUmJihuPXBhcnNlRmxvYXQobSkrcCtzLGs9cGFyc2VGbG9hdChsKStwK3MpKSxnPXZhKHoseVtqXSxtKyIgIitsLG4rIiAiK2ssITEsIjBweCIsZyk7cmV0dXJuIGd9LHByZWZpeDohMCxmb3JtYXR0ZXI6cWEoIjBweCAwcHggMHB4IDBweCIsITEsITApfSkseWEoImJvcmRlckJvdHRvbUxlZnRSYWRpdXMsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMsYm9yZGVyVG9wTGVmdFJhZGl1cyxib3JkZXJUb3BSaWdodFJhZGl1cyIse2RlZmF1bHRWYWx1ZToiMHB4IixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3JldHVybiB2YShhLnN0eWxlLGMsdGhpcy5mb3JtYXQoXyhhLGMsZSwhMSwiMHB4IDBweCIpKSx0aGlzLmZvcm1hdChiKSwhMSwiMHB4IixmKX0scHJlZml4OiEwLGZvcm1hdHRlcjpxYSgiMHB4IDBweCIsITEsITApfSkseWEoImJhY2tncm91bmRQb3NpdGlvbiIse2RlZmF1bHRWYWx1ZToiMCAwIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoLGksaixrLGwsbSxuPSJiYWNrZ3JvdW5kLXBvc2l0aW9uIixvPWV8fCQoYSxudWxsKSxxPXRoaXMuZm9ybWF0KChvP3A/by5nZXRQcm9wZXJ0eVZhbHVlKG4rIi14IikrIiAiK28uZ2V0UHJvcGVydHlWYWx1ZShuKyIteSIpOm8uZ2V0UHJvcGVydHlWYWx1ZShuKTphLmN1cnJlbnRTdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb25YKyIgIithLmN1cnJlbnRTdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb25ZKXx8IjAgMCIpLHI9dGhpcy5mb3JtYXQoYik7aWYoLTEhPT1xLmluZGV4T2YoIiUiKSE9KC0xIT09ci5pbmRleE9mKCIlIikpJiZyLnNwbGl0KCIsIikubGVuZ3RoPDImJihtPV8oYSwiYmFja2dyb3VuZEltYWdlIikucmVwbGFjZShELCIiKSxtJiYibm9uZSIhPT1tKSl7Zm9yKGg9cS5zcGxpdCgiICIpLGk9ci5zcGxpdCgiICIpLFIuc2V0QXR0cmlidXRlKCJzcmMiLG0pLGo9MjstLWo+LTE7KXE9aFtqXSxrPS0xIT09cS5pbmRleE9mKCIlIiksayE9PSgtMSE9PWlbal0uaW5kZXhPZigiJSIpKSYmKGw9MD09PWo/YS5vZmZzZXRXaWR0aC1SLndpZHRoOmEub2Zmc2V0SGVpZ2h0LVIuaGVpZ2h0LGhbal09az9wYXJzZUZsb2F0KHEpLzEwMCpsKyJweCI6cGFyc2VGbG9hdChxKS9sKjEwMCsiJSIpO3E9aC5qb2luKCIgIil9cmV0dXJuIHRoaXMucGFyc2VDb21wbGV4KGEuc3R5bGUscSxyLGYsZyl9LGZvcm1hdHRlcjpoYX0pLHlhKCJiYWNrZ3JvdW5kU2l6ZSIse2RlZmF1bHRWYWx1ZToiMCAwIixmb3JtYXR0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGErPSIiLGhhKC0xPT09YS5pbmRleE9mKCIgIik/YSsiICIrYTphKX19KSx5YSgicGVyc3BlY3RpdmUiLHtkZWZhdWx0VmFsdWU6IjBweCIscHJlZml4OiEwfSkseWEoInBlcnNwZWN0aXZlT3JpZ2luIix7ZGVmYXVsdFZhbHVlOiI1MCUgNTAlIixwcmVmaXg6ITB9KSx5YSgidHJhbnNmb3JtU3R5bGUiLHtwcmVmaXg6ITB9KSx5YSgiYmFja2ZhY2VWaXNpYmlsaXR5Iix7cHJlZml4OiEwfSkseWEoInVzZXJTZWxlY3QiLHtwcmVmaXg6ITB9KSx5YSgibWFyZ2luIix7cGFyc2VyOnJhKCJtYXJnaW5Ub3AsbWFyZ2luUmlnaHQsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQiKX0pLHlhKCJwYWRkaW5nIix7cGFyc2VyOnJhKCJwYWRkaW5nVG9wLHBhZGRpbmdSaWdodCxwYWRkaW5nQm90dG9tLHBhZGRpbmdMZWZ0Iil9KSx5YSgiY2xpcCIse2RlZmF1bHRWYWx1ZToicmVjdCgwcHgsMHB4LDBweCwwcHgpIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoLGksajtyZXR1cm4gOT5wPyhpPWEuY3VycmVudFN0eWxlLGo9OD5wPyIgIjoiLCIsaD0icmVjdCgiK2kuY2xpcFRvcCtqK2kuY2xpcFJpZ2h0K2oraS5jbGlwQm90dG9tK2oraS5jbGlwTGVmdCsiKSIsDQpiPXRoaXMuZm9ybWF0KGIpLnNwbGl0KCIsIikuam9pbihqKSk6KGg9dGhpcy5mb3JtYXQoXyhhLHRoaXMucCxlLCExLHRoaXMuZGZsdCkpLGI9dGhpcy5mb3JtYXQoYikpLHRoaXMucGFyc2VDb21wbGV4KGEuc3R5bGUsaCxiLGYsZyl9fSkseWEoInRleHRTaGFkb3ciLHtkZWZhdWx0VmFsdWU6IjBweCAwcHggMHB4ICM5OTkiLGNvbG9yOiEwLG11bHRpOiEwfSkseWEoImF1dG9Sb3VuZCxzdHJpY3RVbml0cyIse3BhcnNlcjpmdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBlfX0pLHlhKCJib3JkZXIiLHtkZWZhdWx0VmFsdWU6IjBweCBzb2xpZCAjMDAwIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoPV8oYSwiYm9yZGVyVG9wV2lkdGgiLGUsITEsIjBweCIpLGk9dGhpcy5mb3JtYXQoYikuc3BsaXQoIiAiKSxqPWlbMF0ucmVwbGFjZSh3LCIiKTtyZXR1cm4icHgiIT09aiYmKGg9cGFyc2VGbG9hdChoKS9hYShhLCJib3JkZXJUb3BXaWR0aCIsMSxqKStqKSx0aGlzLnBhcnNlQ29tcGxleChhLnN0eWxlLHRoaXMuZm9ybWF0KGgrIiAiK18oYSwiYm9yZGVyVG9wU3R5bGUiLGUsITEsInNvbGlkIikrIiAiK18oYSwiYm9yZGVyVG9wQ29sb3IiLGUsITEsIiMwMDAiKSksaS5qb2luKCIgIiksZixnKX0sY29sb3I6ITAsZm9ybWF0dGVyOmZ1bmN0aW9uKGEpe3ZhciBiPWEuc3BsaXQoIiAiKTtyZXR1cm4gYlswXSsiICIrKGJbMV18fCJzb2xpZCIpKyIgIisoYS5tYXRjaChwYSl8fFsiIzAwMCJdKVswXX19KSx5YSgiYm9yZGVyV2lkdGgiLHtwYXJzZXI6cmEoImJvcmRlclRvcFdpZHRoLGJvcmRlclJpZ2h0V2lkdGgsYm9yZGVyQm90dG9tV2lkdGgsYm9yZGVyTGVmdFdpZHRoIil9KSx5YSgiZmxvYXQsY3NzRmxvYXQsc3R5bGVGbG9hdCIse3BhcnNlcjpmdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9YS5zdHlsZSxoPSJjc3NGbG9hdCJpbiBnPyJjc3NGbG9hdCI6InN0eWxlRmxvYXQiO3JldHVybiBuZXcgdGEoZyxoLDAsMCxlLC0xLGMsITEsMCxnW2hdLGIpfX0pO3ZhciBVYT1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMudCxkPWMuZmlsdGVyfHxfKHRoaXMuZGF0YSwiZmlsdGVyIil8fCIiLGU9dGhpcy5zK3RoaXMuYyphfDA7MTAwPT09ZSYmKC0xPT09ZC5pbmRleE9mKCJhdHJpeCgiKSYmLTE9PT1kLmluZGV4T2YoInJhZGllbnQoIikmJi0xPT09ZC5pbmRleE9mKCJvYWRlcigiKT8oYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLGI9IV8odGhpcy5kYXRhLCJmaWx0ZXIiKSk6KGMuZmlsdGVyPWQucmVwbGFjZSh6LCIiKSxiPSEwKSksYnx8KHRoaXMueG4xJiYoYy5maWx0ZXI9ZD1kfHwiYWxwaGEob3BhY2l0eT0iK2UrIikiKSwtMT09PWQuaW5kZXhPZigicGFjaXR5Iik/MD09PWUmJnRoaXMueG4xfHwoYy5maWx0ZXI9ZCsiIGFscGhhKG9wYWNpdHk9IitlKyIpIik6Yy5maWx0ZXI9ZC5yZXBsYWNlKHgsIm9wYWNpdHk9IitlKSl9O3lhKCJvcGFjaXR5LGFscGhhLGF1dG9BbHBoYSIse2RlZmF1bHRWYWx1ZToiMSIscGFyc2VyOmZ1bmN0aW9uKGEsYixjLGQsZixnKXt2YXIgaD1wYXJzZUZsb2F0KF8oYSwib3BhY2l0eSIsZSwhMSwiMSIpKSxpPWEuc3R5bGUsaj0iYXV0b0FscGhhIj09PWM7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiJiYiPSI9PT1iLmNoYXJBdCgxKSYmKGI9KCItIj09PWIuY2hhckF0KDApPy0xOjEpKnBhcnNlRmxvYXQoYi5zdWJzdHIoMikpK2gpLGomJjE9PT1oJiYiaGlkZGVuIj09PV8oYSwidmlzaWJpbGl0eSIsZSkmJjAhPT1iJiYoaD0wKSxVP2Y9bmV3IHRhKGksIm9wYWNpdHkiLGgsYi1oLGYpOihmPW5ldyB0YShpLCJvcGFjaXR5IiwxMDAqaCwxMDAqKGItaCksZiksZi54bjE9aj8xOjAsaS56b29tPTEsZi50eXBlPTIsZi5iPSJhbHBoYShvcGFjaXR5PSIrZi5zKyIpIixmLmU9ImFscGhhKG9wYWNpdHk9IisoZi5zK2YuYykrIikiLGYuZGF0YT1hLGYucGx1Z2luPWcsZi5zZXRSYXRpbz1VYSksaiYmKGY9bmV3IHRhKGksInZpc2liaWxpdHkiLDAsMCxmLC0xLG51bGwsITEsMCwwIT09aD8iaW5oZXJpdCI6ImhpZGRlbiIsMD09PWI/ImhpZGRlbiI6ImluaGVyaXQiKSxmLnhzMD0iaW5oZXJpdCIsZC5fb3ZlcndyaXRlUHJvcHMucHVzaChmLm4pLGQuX292ZXJ3cml0ZVByb3BzLnB1c2goYykpLGZ9fSk7dmFyIFZhPWZ1bmN0aW9uKGEsYil7YiYmKGEucmVtb3ZlUHJvcGVydHk/KCgibXMiPT09Yi5zdWJzdHIoMCwyKXx8IndlYmtpdCI9PT1iLnN1YnN0cigwLDYpKSYmKGI9Ii0iK2IpLGEucmVtb3ZlUHJvcGVydHkoYi5yZXBsYWNlKEIsIi0kMSIpLnRvTG93ZXJDYXNlKCkpKTphLnJlbW92ZUF0dHJpYnV0ZShiKSl9LFdhPWZ1bmN0aW9uKGEpe2lmKHRoaXMudC5fZ3NDbGFzc1BUPXRoaXMsMT09PWF8fDA9PT1hKXt0aGlzLnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsMD09PWE/dGhpcy5iOnRoaXMuZSk7Zm9yKHZhciBiPXRoaXMuZGF0YSxjPXRoaXMudC5zdHlsZTtiOyliLnY/Y1tiLnBdPWIudjpWYShjLGIucCksYj1iLl9uZXh0OzE9PT1hJiZ0aGlzLnQuX2dzQ2xhc3NQVD09PXRoaXMmJih0aGlzLnQuX2dzQ2xhc3NQVD1udWxsKX1lbHNlIHRoaXMudC5nZXRBdHRyaWJ1dGUoImNsYXNzIikhPT10aGlzLmUmJnRoaXMudC5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLmUpfTt5YSgiY2xhc3NOYW1lIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixkLGYsZyxoLGkpe3ZhciBqLGssbCxtLG4sbz1hLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIscD1hLnN0eWxlLmNzc1RleHQ7aWYoZz1mLl9jbGFzc05hbWVQVD1uZXcgdGEoYSxkLDAsMCxnLDIpLGcuc2V0UmF0aW89V2EsZy5wcj0tMTEsYz0hMCxnLmI9byxrPWNhKGEsZSksbD1hLl9nc0NsYXNzUFQpe2ZvcihtPXt9LG49bC5kYXRhO247KW1bbi5wXT0xLG49bi5fbmV4dDtsLnNldFJhdGlvKDEpfXJldHVybiBhLl9nc0NsYXNzUFQ9ZyxnLmU9Ij0iIT09Yi5jaGFyQXQoMSk/YjpvLnJlcGxhY2UobmV3IFJlZ0V4cCgiKD86XFxzfF4pIitiLnN1YnN0cigyKSsiKD8hW1xcdy1dKSIpLCIiKSsoIisiPT09Yi5jaGFyQXQoMCk/IiAiK2Iuc3Vic3RyKDIpOiIiKSxhLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGcuZSksaj1kYShhLGssY2EoYSksaSxtKSxhLnNldEF0dHJpYnV0ZSgiY2xhc3MiLG8pLGcuZGF0YT1qLmZpcnN0TVBULGEuc3R5bGUuY3NzVGV4dD1wLGc9Zy54Zmlyc3Q9Zi5wYXJzZShhLGouZGlmcyxnLGgpfX0pO3ZhciBYYT1mdW5jdGlvbihhKXtpZigoMT09PWF8fDA9PT1hKSYmdGhpcy5kYXRhLl90b3RhbFRpbWU9PT10aGlzLmRhdGEuX3RvdGFsRHVyYXRpb24mJiJpc0Zyb21TdGFydCIhPT10aGlzLmRhdGEuZGF0YSl7dmFyIGIsYyxkLGUsZixnPXRoaXMudC5zdHlsZSxoPWkudHJhbnNmb3JtLnBhcnNlO2lmKCJhbGwiPT09dGhpcy5lKWcuY3NzVGV4dD0iIixlPSEwO2Vsc2UgZm9yKGI9dGhpcy5lLnNwbGl0KCIgIikuam9pbigiIikuc3BsaXQoIiwiKSxkPWIubGVuZ3RoOy0tZD4tMTspYz1iW2RdLGlbY10mJihpW2NdLnBhcnNlPT09aD9lPSEwOmM9InRyYW5zZm9ybU9yaWdpbiI9PT1jP0VhOmlbY10ucCksVmEoZyxjKTtlJiYoVmEoZyxDYSksZj10aGlzLnQuX2dzVHJhbnNmb3JtLGYmJihmLnN2ZyYmKHRoaXMudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc3ZnLW9yaWdpbiIpLHRoaXMudC5yZW1vdmVBdHRyaWJ1dGUoInRyYW5zZm9ybSIpKSxkZWxldGUgdGhpcy50Ll9nc1RyYW5zZm9ybSkpfX07Zm9yKHlhKCJjbGVhclByb3BzIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixkLGUsZil7cmV0dXJuIGY9bmV3IHRhKGEsZCwwLDAsZiwyKSxmLnNldFJhdGlvPVhhLGYuZT1iLGYucHI9LTEwLGYuZGF0YT1lLl90d2VlbixjPSEwLGZ9fSksaj0iYmV6aWVyLHRocm93UHJvcHMscGh5c2ljc1Byb3BzLHBoeXNpY3MyRCIuc3BsaXQoIiwiKSx3YT1qLmxlbmd0aDt3YS0tOyl6YShqW3dhXSk7aj1nLnByb3RvdHlwZSxqLl9maXJzdFBUPWouX2xhc3RQYXJzZWRUcmFuc2Zvcm09ai5fdHJhbnNmb3JtPW51bGwsai5fb25Jbml0VHdlZW49ZnVuY3Rpb24oYSxiLGgsail7aWYoIWEubm9kZVR5cGUpcmV0dXJuITE7dGhpcy5fdGFyZ2V0PXE9YSx0aGlzLl90d2Vlbj1oLHRoaXMuX3ZhcnM9YixyPWosaz1iLmF1dG9Sb3VuZCxjPSExLGQ9Yi5zdWZmaXhNYXB8fGcuc3VmZml4TWFwLGU9JChhLCIiKSxmPXRoaXMuX292ZXJ3cml0ZVByb3BzO3ZhciBuLHAscyx0LHUsdix3LHgseixBPWEuc3R5bGU7aWYobCYmIiI9PT1BLnpJbmRleCYmKG49XyhhLCJ6SW5kZXgiLGUpLCgiYXV0byI9PT1ufHwiIj09PW4pJiZ0aGlzLl9hZGRMYXp5U2V0KEEsInpJbmRleCIsMCkpLCJzdHJpbmciPT10eXBlb2YgYiYmKHQ9QS5jc3NUZXh0LG49Y2EoYSxlKSxBLmNzc1RleHQ9dCsiOyIrYixuPWRhKGEsbixjYShhKSkuZGlmcywhVSYmeS50ZXN0KGIpJiYobi5vcGFjaXR5PXBhcnNlRmxvYXQoUmVnRXhwLiQxKSksYj1uLEEuY3NzVGV4dD10KSxiLmNsYXNzTmFtZT90aGlzLl9maXJzdFBUPXA9aS5jbGFzc05hbWUucGFyc2UoYSxiLmNsYXNzTmFtZSwiY2xhc3NOYW1lIix0aGlzLG51bGwsbnVsbCxiKTp0aGlzLl9maXJzdFBUPXA9dGhpcy5wYXJzZShhLGIsbnVsbCksdGhpcy5fdHJhbnNmb3JtVHlwZSl7Zm9yKHo9Mz09PXRoaXMuX3RyYW5zZm9ybVR5cGUsQ2E/bSYmKGw9ITAsIiI9PT1BLnpJbmRleCYmKHc9XyhhLCJ6SW5kZXgiLGUpLCgiYXV0byI9PT13fHwiIj09PXcpJiZ0aGlzLl9hZGRMYXp5U2V0KEEsInpJbmRleCIsMCkpLG8mJnRoaXMuX2FkZExhenlTZXQoQSwiV2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5Iix0aGlzLl92YXJzLldlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eXx8KHo/InZpc2libGUiOiJoaWRkZW4iKSkpOkEuem9vbT0xLHM9cDtzJiZzLl9uZXh0OylzPXMuX25leHQ7eD1uZXcgdGEoYSwidHJhbnNmb3JtIiwwLDAsbnVsbCwyKSx0aGlzLl9saW5rQ1NTUCh4LG51bGwscykseC5zZXRSYXRpbz1DYT9UYTpTYSx4LmRhdGE9dGhpcy5fdHJhbnNmb3JtfHxSYShhLGUsITApLHgudHdlZW49aCx4LnByPS0xLGYucG9wKCl9aWYoYyl7Zm9yKDtwOyl7Zm9yKHY9cC5fbmV4dCxzPXQ7cyYmcy5wcj5wLnByOylzPXMuX25leHQ7KHAuX3ByZXY9cz9zLl9wcmV2OnUpP3AuX3ByZXYuX25leHQ9cDp0PXAsKHAuX25leHQ9cyk/cy5fcHJldj1wOnU9cCxwPXZ9dGhpcy5fZmlyc3RQVD10fXJldHVybiEwfSxqLnBhcnNlPWZ1bmN0aW9uKGEsYixjLGYpe3ZhciBnLGgsaixsLG0sbixvLHAscyx0LHU9YS5zdHlsZTtmb3IoZyBpbiBiKW49YltnXSwiZnVuY3Rpb24iPT10eXBlb2YgbiYmKG49bihyLHEpKSxoPWlbZ10saD9jPWgucGFyc2UoYSxuLGcsdGhpcyxjLGYsYik6KG09XyhhLGcsZSkrIiIscz0ic3RyaW5nIj09dHlwZW9mIG4sImNvbG9yIj09PWd8fCJmaWxsIj09PWd8fCJzdHJva2UiPT09Z3x8LTEhPT1nLmluZGV4T2YoIkNvbG9yIil8fHMmJkEudGVzdChuKT8oc3x8KG49bmEobiksbj0obi5sZW5ndGg+Mz8icmdiYSgiOiJyZ2IoIikrbi5qb2luKCIsIikrIikiKSxjPXZhKHUsZyxtLG4sITAsInRyYW5zcGFyZW50IixjLDAsZikpOnMmJkoudGVzdChuKT9jPXZhKHUsZyxtLG4sITAsbnVsbCxjLDAsZik6KGo9cGFyc2VGbG9hdChtKSxvPWp8fDA9PT1qP20uc3Vic3RyKChqKyIiKS5sZW5ndGgpOiIiLCgiIj09PW18fCJhdXRvIj09PW0pJiYoIndpZHRoIj09PWd8fCJoZWlnaHQiPT09Zz8oaj1nYShhLGcsZSksbz0icHgiKToibGVmdCI9PT1nfHwidG9wIj09PWc/KGo9YmEoYSxnLGUpLG89InB4Iik6KGo9Im9wYWNpdHkiIT09Zz8wOjEsbz0iIikpLHQ9cyYmIj0iPT09bi5jaGFyQXQoMSksdD8obD1wYXJzZUludChuLmNoYXJBdCgwKSsiMSIsMTApLG49bi5zdWJzdHIoMiksbCo9cGFyc2VGbG9hdChuKSxwPW4ucmVwbGFjZSh3LCIiKSk6KGw9cGFyc2VGbG9hdChuKSxwPXM/bi5yZXBsYWNlKHcsIiIpOiIiKSwiIj09PXAmJihwPWcgaW4gZD9kW2ddOm8pLG49bHx8MD09PWw/KHQ/bCtqOmwpK3A6YltnXSxvIT09cCYmIiIhPT1wJiYobHx8MD09PWwpJiZqJiYoaj1hYShhLGcsaixvKSwiJSI9PT1wPyhqLz1hYShhLGcsMTAwLCIlIikvMTAwLGIuc3RyaWN0VW5pdHMhPT0hMCYmKG09aisiJSIpKToiZW0iPT09cHx8InJlbSI9PT1wfHwidnciPT09cHx8InZoIj09PXA/ai89YWEoYSxnLDEscCk6InB4IiE9PXAmJihsPWFhKGEsZyxsLHApLHA9InB4IiksdCYmKGx8fDA9PT1sKSYmKG49bCtqK3ApKSx0JiYobCs9aiksIWomJjAhPT1qfHwhbCYmMCE9PWw/dm9pZCAwIT09dVtnXSYmKG58fG4rIiIhPSJOYU4iJiZudWxsIT1uKT8oYz1uZXcgdGEodSxnLGx8fGp8fDAsMCxjLC0xLGcsITEsMCxtLG4pLGMueHMwPSJub25lIiE9PW58fCJkaXNwbGF5IiE9PWcmJi0xPT09Zy5pbmRleE9mKCJTdHlsZSIpP246bSk6VygiaW52YWxpZCAiK2crIiB0d2VlbiB2YWx1ZTogIitiW2ddKTooYz1uZXcgdGEodSxnLGosbC1qLGMsMCxnLGshPT0hMSYmKCJweCI9PT1wfHwiekluZGV4Ij09PWcpLDAsbSxuKSxjLnhzMD1wKSkpLGYmJmMmJiFjLnBsdWdpbiYmKGMucGx1Z2luPWYpO3JldHVybiBjfSxqLnNldFJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXMuX2ZpcnN0UFQsZj0xZS02O2lmKDEhPT1hfHx0aGlzLl90d2Vlbi5fdGltZSE9PXRoaXMuX3R3ZWVuLl9kdXJhdGlvbiYmMCE9PXRoaXMuX3R3ZWVuLl90aW1lKWlmKGF8fHRoaXMuX3R3ZWVuLl90aW1lIT09dGhpcy5fdHdlZW4uX2R1cmF0aW9uJiYwIT09dGhpcy5fdHdlZW4uX3RpbWV8fHRoaXMuX3R3ZWVuLl9yYXdQcmV2VGltZT09PS0xZS02KWZvcig7ZTspe2lmKGI9ZS5jKmErZS5zLGUucj9iPU1hdGgucm91bmQoYik6Zj5iJiZiPi1mJiYoYj0wKSxlLnR5cGUpaWYoMT09PWUudHlwZSlpZihkPWUubCwyPT09ZCllLnRbZS5wXT1lLnhzMCtiK2UueHMxK2UueG4xK2UueHMyO2Vsc2UgaWYoMz09PWQpZS50W2UucF09ZS54czArYitlLnhzMStlLnhuMStlLnhzMitlLnhuMitlLnhzMztlbHNlIGlmKDQ9PT1kKWUudFtlLnBdPWUueHMwK2IrZS54czErZS54bjErZS54czIrZS54bjIrZS54czMrZS54bjMrZS54czQ7ZWxzZSBpZig1PT09ZCllLnRbZS5wXT1lLnhzMCtiK2UueHMxK2UueG4xK2UueHMyK2UueG4yK2UueHMzK2UueG4zK2UueHM0K2UueG40K2UueHM1O2Vsc2V7Zm9yKGM9ZS54czArYitlLnhzMSxkPTE7ZDxlLmw7ZCsrKWMrPWVbInhuIitkXStlWyJ4cyIrKGQrMSldO2UudFtlLnBdPWN9ZWxzZS0xPT09ZS50eXBlP2UudFtlLnBdPWUueHMwOmUuc2V0UmF0aW8mJmUuc2V0UmF0aW8oYSk7ZWxzZSBlLnRbZS5wXT1iK2UueHMwO2U9ZS5fbmV4dH1lbHNlIGZvcig7ZTspMiE9PWUudHlwZT9lLnRbZS5wXT1lLmI6ZS5zZXRSYXRpbyhhKSxlPWUuX25leHQ7ZWxzZSBmb3IoO2U7KXtpZigyIT09ZS50eXBlKWlmKGUuciYmLTEhPT1lLnR5cGUpaWYoYj1NYXRoLnJvdW5kKGUucytlLmMpLGUudHlwZSl7aWYoMT09PWUudHlwZSl7Zm9yKGQ9ZS5sLGM9ZS54czArYitlLnhzMSxkPTE7ZDxlLmw7ZCsrKWMrPWVbInhuIitkXStlWyJ4cyIrKGQrMSldO2UudFtlLnBdPWN9fWVsc2UgZS50W2UucF09YitlLnhzMDtlbHNlIGUudFtlLnBdPWUuZTtlbHNlIGUuc2V0UmF0aW8oYSk7ZT1lLl9uZXh0fX0sai5fZW5hYmxlVHJhbnNmb3Jtcz1mdW5jdGlvbihhKXt0aGlzLl90cmFuc2Zvcm09dGhpcy5fdHJhbnNmb3JtfHxSYSh0aGlzLl90YXJnZXQsZSwhMCksdGhpcy5fdHJhbnNmb3JtVHlwZT10aGlzLl90cmFuc2Zvcm0uc3ZnJiZBYXx8IWEmJjMhPT10aGlzLl90cmFuc2Zvcm1UeXBlPzI6M307dmFyIFlhPWZ1bmN0aW9uKGEpe3RoaXMudFt0aGlzLnBdPXRoaXMuZSx0aGlzLmRhdGEuX2xpbmtDU1NQKHRoaXMsdGhpcy5fbmV4dCxudWxsLCEwKX07ai5fYWRkTGF6eVNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5fZmlyc3RQVD1uZXcgdGEoYSxiLDAsMCx0aGlzLl9maXJzdFBULDIpO2QuZT1jLGQuc2V0UmF0aW89WWEsZC5kYXRhPXRoaXN9LGouX2xpbmtDU1NQPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBhJiYoYiYmKGIuX3ByZXY9YSksYS5fbmV4dCYmKGEuX25leHQuX3ByZXY9YS5fcHJldiksYS5fcHJldj9hLl9wcmV2Ll9uZXh0PWEuX25leHQ6dGhpcy5fZmlyc3RQVD09PWEmJih0aGlzLl9maXJzdFBUPWEuX25leHQsZD0hMCksYz9jLl9uZXh0PWE6ZHx8bnVsbCE9PXRoaXMuX2ZpcnN0UFR8fCh0aGlzLl9maXJzdFBUPWEpLGEuX25leHQ9YixhLl9wcmV2PWMpLGF9LGouX21vZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcy5fZmlyc3RQVDtiOykiZnVuY3Rpb24iPT10eXBlb2YgYVtiLnBdJiZhW2IucF09PT1NYXRoLnJvdW5kJiYoYi5yPTEpLGI9Yi5fbmV4dH0sai5fa2lsbD1mdW5jdGlvbihiKXt2YXIgYyxkLGUsZj1iO2lmKGIuYXV0b0FscGhhfHxiLmFscGhhKXtmPXt9O2ZvcihkIGluIGIpZltkXT1iW2RdO2Yub3BhY2l0eT0xLGYuYXV0b0FscGhhJiYoZi52aXNpYmlsaXR5PTEpfWZvcihiLmNsYXNzTmFtZSYmKGM9dGhpcy5fY2xhc3NOYW1lUFQpJiYoZT1jLnhmaXJzdCxlJiZlLl9wcmV2P3RoaXMuX2xpbmtDU1NQKGUuX3ByZXYsYy5fbmV4dCxlLl9wcmV2Ll9wcmV2KTplPT09dGhpcy5fZmlyc3RQVCYmKHRoaXMuX2ZpcnN0UFQ9Yy5fbmV4dCksYy5fbmV4dCYmdGhpcy5fbGlua0NTU1AoYy5fbmV4dCxjLl9uZXh0Ll9uZXh0LGUuX3ByZXYpLHRoaXMuX2NsYXNzTmFtZVBUPW51bGwpLGM9dGhpcy5fZmlyc3RQVDtjOyljLnBsdWdpbiYmYy5wbHVnaW4hPT1kJiZjLnBsdWdpbi5fa2lsbCYmKGMucGx1Z2luLl9raWxsKGIpLGQ9Yy5wbHVnaW4pLGM9Yy5fbmV4dDtyZXR1cm4gYS5wcm90b3R5cGUuX2tpbGwuY2FsbCh0aGlzLGYpfTt2YXIgWmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnO2lmKGEuc2xpY2UpZm9yKGU9YS5sZW5ndGg7LS1lPi0xOylaYShhW2VdLGIsYyk7ZWxzZSBmb3IoZD1hLmNoaWxkTm9kZXMsZT1kLmxlbmd0aDstLWU+LTE7KWY9ZFtlXSxnPWYudHlwZSxmLnN0eWxlJiYoYi5wdXNoKGNhKGYpKSxjJiZjLnB1c2goZikpLDEhPT1nJiY5IT09ZyYmMTEhPT1nfHwhZi5jaGlsZE5vZGVzLmxlbmd0aHx8WmEoZixiLGMpfTtyZXR1cm4gZy5jYXNjYWRlVG89ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGYsZyxoLGk9Yi50byhhLGMsZCksaj1baV0saz1bXSxsPVtdLG09W10sbj1iLl9pbnRlcm5hbHMucmVzZXJ2ZWRQcm9wcztmb3IoYT1pLl90YXJnZXRzfHxpLnRhcmdldCxaYShhLGssbSksaS5yZW5kZXIoYywhMCwhMCksWmEoYSxsKSxpLnJlbmRlcigwLCEwLCEwKSxpLl9lbmFibGVkKCEwKSxlPW0ubGVuZ3RoOy0tZT4tMTspaWYoZj1kYShtW2VdLGtbZV0sbFtlXSksZi5maXJzdE1QVCl7Zj1mLmRpZnM7Zm9yKGcgaW4gZCluW2ddJiYoZltnXT1kW2ddKTtoPXt9O2ZvcihnIGluIGYpaFtnXT1rW2VdW2ddO2oucHVzaChiLmZyb21UbyhtW2VdLGMsaCxmKSl9cmV0dXJuIGp9LGEuYWN0aXZhdGUoW2ddKSxnfSwhMCl9KSxfZ3NTY29wZS5fZ3NEZWZpbmUmJl9nc1Njb3BlLl9nc1F1ZXVlLnBvcCgpKCksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWZ1bmN0aW9uKCl7cmV0dXJuKF9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlKVthXX07ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJUd2VlbkxpdGUiXSxiKToidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJihyZXF1aXJlKCIuLi9Ud2VlbkxpdGUuanMiKSxtb2R1bGUuZXhwb3J0cz1iKCkpfSgiQ1NTUGx1Z2luIik7DQoNCg0KLyogU1BMSVQgVEVYVCBVVElMICovDQovKiENCiAqIFZFUlNJT046IDAuNS42DQogKiBEQVRFOiAyMDE3LTAxLTE3DQogKiBVUERBVEVTIEFORCBET0NTIEFUOiBodHRwOi8vZ3JlZW5zb2NrLmNvbQ0KICoNCiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwOC0yMDE3LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKiBTcGxpdFRleHQgaXMgYSBDbHViIEdyZWVuU29jayBtZW1iZXJzaGlwIGJlbmVmaXQ7IFlvdSBtdXN0IGhhdmUgYSB2YWxpZCBtZW1iZXJzaGlwIHRvIHVzZQ0KICogdGhpcyBjb2RlIHdpdGhvdXQgdmlvbGF0aW5nIHRoZSB0ZXJtcyBvZiB1c2UuIFZpc2l0IGh0dHA6Ly9ncmVlbnNvY2suY29tL2NsdWIvIHRvIHNpZ24gdXAgb3IgZ2V0IG1vcmUgZGV0YWlscy4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSBzb2Z0d2FyZSBhZ3JlZW1lbnQgdGhhdCB3YXMgaXNzdWVkIHdpdGggeW91ciBtZW1iZXJzaGlwLg0KICogDQogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20NCiAqLw0KdmFyIF9nc1Njb3BlPSJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOnRoaXN8fHdpbmRvdzshZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWEuR3JlZW5Tb2NrR2xvYmFsc3x8YSxjPWZ1bmN0aW9uKGEpe3ZhciBjLGQ9YS5zcGxpdCgiLiIpLGU9Yjtmb3IoYz0wO2M8ZC5sZW5ndGg7YysrKWVbZFtjXV09ZT1lW2RbY11dfHx7fTtyZXR1cm4gZX0sZD1jKCJjb20uZ3JlZW5zb2NrLnV0aWxzIiksZT1mdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVUeXBlLGM9IiI7aWYoMT09PWJ8fDk9PT1ifHwxMT09PWIpe2lmKCJzdHJpbmciPT10eXBlb2YgYS50ZXh0Q29udGVudClyZXR1cm4gYS50ZXh0Q29udGVudDtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpYys9ZShhKX1lbHNlIGlmKDM9PT1ifHw0PT09YilyZXR1cm4gYS5ub2RlVmFsdWU7cmV0dXJuIGN9LGY9ZG9jdW1lbnQsZz1mLmRlZmF1bHRWaWV3P2YuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZTpmdW5jdGlvbigpe30saD0vKFtBLVpdKS9nLGk9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU7cmV0dXJuKGM9Y3x8ZyhhLG51bGwpKT8oYT1jLmdldFByb3BlcnR5VmFsdWUoYi5yZXBsYWNlKGgsIi0kMSIpLnRvTG93ZXJDYXNlKCkpLGU9YXx8Yy5sZW5ndGg/YTpjW2JdKTphLmN1cnJlbnRTdHlsZSYmKGM9YS5jdXJyZW50U3R5bGUsZT1jW2JdKSxkP2U6cGFyc2VJbnQoZSwxMCl8fDB9LGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoJiZhWzBdJiYoYVswXS5ub2RlVHlwZSYmYVswXS5zdHlsZSYmIWEubm9kZVR5cGV8fGFbMF0ubGVuZ3RoJiZhWzBdWzBdKT8hMDohMX0saz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZT1bXSxmPWEubGVuZ3RoO2ZvcihiPTA7Zj5iO2IrKylpZihjPWFbYl0saihjKSlmb3IoZD1jLmxlbmd0aCxkPTA7ZDxjLmxlbmd0aDtkKyspZS5wdXNoKGNbZF0pO2Vsc2UgZS5wdXNoKGMpO3JldHVybiBlfSxsPS8oPzpccnxcbnxcdFx0KS9nLG09Lyg/OlxzXHMrKS9nLG49NTUyOTYsbz01NjMxOSxwPTU2MzIwLHE9MTI3NDYyLHI9MTI3NDg3LHM9MTI3OTk1LHQ9MTI3OTk5LHU9ZnVuY3Rpb24oYSl7cmV0dXJuKGEuY2hhckNvZGVBdCgwKS1uPDwxMCkrKGEuY2hhckNvZGVBdCgxKS1wKSs2NTUzNn0sdj1mLmFsbCYmIWYuYWRkRXZlbnRMaXN0ZW5lcix3PSIgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrOyIrKHY/IipkaXNwbGF5OmlubGluZTsqem9vbToxOyciOiInIikseD1mdW5jdGlvbihhLGIpe2E9YXx8IiI7dmFyIGM9LTEhPT1hLmluZGV4T2YoIisrIiksZD0xO3JldHVybiBjJiYoYT1hLnNwbGl0KCIrKyIpLmpvaW4oIiIpKSxmdW5jdGlvbigpe3JldHVybiI8IitiK3crKGE/IiBjbGFzcz0nIithKyhjP2QrKzoiIikrIic+IjoiPiIpfX0seT1kLlNwbGl0VGV4dD1iLlNwbGl0VGV4dD1mdW5jdGlvbihhLGIpe2lmKCJzdHJpbmciPT10eXBlb2YgYSYmKGE9eS5zZWxlY3RvcihhKSksIWEpdGhyb3ciY2Fubm90IHNwbGl0IGEgbnVsbCBlbGVtZW50LiI7dGhpcy5lbGVtZW50cz1qKGEpP2soYSk6W2FdLHRoaXMuY2hhcnM9W10sdGhpcy53b3Jkcz1bXSx0aGlzLmxpbmVzPVtdLHRoaXMuX29yaWdpbmFscz1bXSx0aGlzLnZhcnM9Ynx8e30sdGhpcy5zcGxpdChiKX0sej1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5ub2RlVHlwZTtpZigxPT09ZHx8OT09PWR8fDExPT09ZClmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpeihhLGIsYyk7ZWxzZSgzPT09ZHx8ND09PWQpJiYoYS5ub2RlVmFsdWU9YS5ub2RlVmFsdWUuc3BsaXQoYikuam9pbihjKSl9LEE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yi5sZW5ndGg7LS1jPi0xOylhLnB1c2goYltjXSl9LEI9ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPWEubGVuZ3RoO2ZvcihiPTA7YiE9PWQ7Yy5wdXNoKGFbYisrXSkpO3JldHVybiBjfSxDPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ7YSYmYSE9PWI7KXtpZihkPWEuX25leHR8fGEubmV4dFNpYmxpbmcpcmV0dXJuIGQudGV4dENvbnRlbnQuY2hhckF0KDApPT09YzthPWEucGFyZW50Tm9kZXx8YS5fcGFyZW50fXJldHVybiExfSxEPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1CKGEuY2hpbGROb2RlcyksZT1kLmxlbmd0aDtmb3IoYj0wO2U+YjtiKyspYz1kW2JdLGMuX2lzU3BsaXQ/RChjKTooYiYmMz09PWMucHJldmlvdXNTaWJsaW5nLm5vZGVUeXBlP2MucHJldmlvdXNTaWJsaW5nLm5vZGVWYWx1ZSs9Mz09PWMubm9kZVR5cGU/Yy5ub2RlVmFsdWU6Yy5maXJzdENoaWxkLm5vZGVWYWx1ZTozIT09Yy5ub2RlVHlwZSYmYS5pbnNlcnRCZWZvcmUoYy5maXJzdENoaWxkLGMpLGEucmVtb3ZlQ2hpbGQoYykpfSxFPWZ1bmN0aW9uKGEsYixjLGQsZSxoLGope3ZhciBrLGwsbSxuLG8scCxxLHIscyx0LHUsdix3PWcoYSkseD1pKGEsInBhZGRpbmdMZWZ0Iix3KSx5PS05OTksQj1pKGEsImJvcmRlckJvdHRvbVdpZHRoIix3KStpKGEsImJvcmRlclRvcFdpZHRoIix3KSxFPWkoYSwiYm9yZGVyTGVmdFdpZHRoIix3KStpKGEsImJvcmRlclJpZ2h0V2lkdGgiLHcpLEY9aShhLCJwYWRkaW5nVG9wIix3KStpKGEsInBhZGRpbmdCb3R0b20iLHcpLEc9aShhLCJwYWRkaW5nTGVmdCIsdykraShhLCJwYWRkaW5nUmlnaHQiLHcpLEg9LjIqaShhLCJmb250U2l6ZSIpLEk9aShhLCJ0ZXh0QWxpZ24iLHcsITApLEo9W10sSz1bXSxMPVtdLE09Yi53b3JkRGVsaW1pdGVyfHwiICIsTj1iLnNwYW4/InNwYW4iOiJkaXYiLE89Yi50eXBlfHxiLnNwbGl0fHwiY2hhcnMsd29yZHMsbGluZXMiLFA9ZSYmLTEhPT1PLmluZGV4T2YoImxpbmVzIik/W106bnVsbCxRPS0xIT09Ty5pbmRleE9mKCJ3b3JkcyIpLFI9LTEhPT1PLmluZGV4T2YoImNoYXJzIiksUz0iYWJzb2x1dGUiPT09Yi5wb3NpdGlvbnx8Yi5hYnNvbHV0ZT09PSEwLFQ9Yi5saW5lc0NsYXNzLFU9LTEhPT0oVHx8IiIpLmluZGV4T2YoIisrIiksVj1bXTtmb3IoUCYmMT09PWEuY2hpbGRyZW4ubGVuZ3RoJiZhLmNoaWxkcmVuWzBdLl9pc1NwbGl0JiYoYT1hLmNoaWxkcmVuWzBdKSxVJiYoVD1ULnNwbGl0KCIrKyIpLmpvaW4oIiIpKSxsPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxtPWwubGVuZ3RoLG89W10saz0wO20+aztrKyspb1trXT1sW2tdO2lmKFB8fFMpZm9yKGs9MDttPms7aysrKW49b1trXSxwPW4ucGFyZW50Tm9kZT09PWEsKHB8fFN8fFImJiFRKSYmKHY9bi5vZmZzZXRUb3AsUCYmcCYmTWF0aC5hYnModi15KT5IJiYiQlIiIT09bi5ub2RlTmFtZSYmKHE9W10sUC5wdXNoKHEpLHk9diksUyYmKG4uX3g9bi5vZmZzZXRMZWZ0LG4uX3k9dixuLl93PW4ub2Zmc2V0V2lkdGgsbi5faD1uLm9mZnNldEhlaWdodCksUCYmKChuLl9pc1NwbGl0JiZwfHwhUiYmcHx8USYmcHx8IVEmJm4ucGFyZW50Tm9kZS5wYXJlbnROb2RlPT09YSYmIW4ucGFyZW50Tm9kZS5faXNTcGxpdCkmJihxLnB1c2gobiksbi5feC09eCxDKG4sYSxNKSYmKG4uX3dvcmRFbmQ9ITApKSwiQlIiPT09bi5ub2RlTmFtZSYmbi5uZXh0U2libGluZyYmIkJSIj09PW4ubmV4dFNpYmxpbmcubm9kZU5hbWUmJlAucHVzaChbXSkpKTtmb3Ioaz0wO20+aztrKyspbj1vW2tdLHA9bi5wYXJlbnROb2RlPT09YSwiQlIiIT09bi5ub2RlTmFtZT8oUyYmKHM9bi5zdHlsZSxRfHxwfHwobi5feCs9bi5wYXJlbnROb2RlLl94LG4uX3krPW4ucGFyZW50Tm9kZS5feSkscy5sZWZ0PW4uX3grInB4IixzLnRvcD1uLl95KyJweCIscy5wb3NpdGlvbj0iYWJzb2x1dGUiLHMuZGlzcGxheT0iYmxvY2siLHMud2lkdGg9bi5fdysxKyJweCIscy5oZWlnaHQ9bi5faCsicHgiKSwhUSYmUj9uLl9pc1NwbGl0PyhuLl9uZXh0PW4ubmV4dFNpYmxpbmcsbi5wYXJlbnROb2RlLmFwcGVuZENoaWxkKG4pKTpuLnBhcmVudE5vZGUuX2lzU3BsaXQ/KG4uX3BhcmVudD1uLnBhcmVudE5vZGUsIW4ucHJldmlvdXNTaWJsaW5nJiZuLmZpcnN0Q2hpbGQmJihuLmZpcnN0Q2hpbGQuX2lzRmlyc3Q9ITApLG4ubmV4dFNpYmxpbmcmJiIgIj09PW4ubmV4dFNpYmxpbmcudGV4dENvbnRlbnQmJiFuLm5leHRTaWJsaW5nLm5leHRTaWJsaW5nJiZWLnB1c2gobi5uZXh0U2libGluZyksbi5fbmV4dD1uLm5leHRTaWJsaW5nJiZuLm5leHRTaWJsaW5nLl9pc0ZpcnN0P251bGw6bi5uZXh0U2libGluZyxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksby5zcGxpY2Uoay0tLDEpLG0tLSk6cHx8KHY9IW4ubmV4dFNpYmxpbmcmJkMobi5wYXJlbnROb2RlLGEsTSksbi5wYXJlbnROb2RlLl9wYXJlbnQmJm4ucGFyZW50Tm9kZS5fcGFyZW50LmFwcGVuZENoaWxkKG4pLHYmJm4ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChmLmNyZWF0ZVRleHROb2RlKCIgIikpLGIuc3BhbiYmKG4uc3R5bGUuZGlzcGxheT0iaW5saW5lIiksSi5wdXNoKG4pKTpuLnBhcmVudE5vZGUuX2lzU3BsaXQmJiFuLl9pc1NwbGl0JiYiIiE9PW4uaW5uZXJIVE1MP0sucHVzaChuKTpSJiYhbi5faXNTcGxpdCYmKGIuc3BhbiYmKG4uc3R5bGUuZGlzcGxheT0iaW5saW5lIiksSi5wdXNoKG4pKSk6UHx8Uz8obi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksby5zcGxpY2Uoay0tLDEpLG0tLSk6UXx8YS5hcHBlbmRDaGlsZChuKTtmb3Ioaz1WLmxlbmd0aDstLWs+LTE7KVZba10ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChWW2tdKTtpZihQKXtmb3IoUyYmKHQ9Zi5jcmVhdGVFbGVtZW50KE4pLGEuYXBwZW5kQ2hpbGQodCksdT10Lm9mZnNldFdpZHRoKyJweCIsdj10Lm9mZnNldFBhcmVudD09PWE/MDphLm9mZnNldExlZnQsYS5yZW1vdmVDaGlsZCh0KSkscz1hLnN0eWxlLmNzc1RleHQsYS5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5Om5vbmU7IjthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKTtmb3Iocj0iICI9PT1NJiYoIVN8fCFRJiYhUiksaz0wO2s8UC5sZW5ndGg7aysrKXtmb3IocT1QW2tdLHQ9Zi5jcmVhdGVFbGVtZW50KE4pLHQuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOiIrSSsiO3Bvc2l0aW9uOiIrKFM/ImFic29sdXRlOyI6InJlbGF0aXZlOyIpLFQmJih0LmNsYXNzTmFtZT1UKyhVP2srMToiIikpLEwucHVzaCh0KSxtPXEubGVuZ3RoLGw9MDttPmw7bCsrKSJCUiIhPT1xW2xdLm5vZGVOYW1lJiYobj1xW2xdLHQuYXBwZW5kQ2hpbGQobiksciYmbi5fd29yZEVuZCYmdC5hcHBlbmRDaGlsZChmLmNyZWF0ZVRleHROb2RlKCIgIikpLFMmJigwPT09bCYmKHQuc3R5bGUudG9wPW4uX3krInB4Iix0LnN0eWxlLmxlZnQ9eCt2KyJweCIpLG4uc3R5bGUudG9wPSIwcHgiLHYmJihuLnN0eWxlLmxlZnQ9bi5feC12KyJweCIpKSk7MD09PW0/dC5pbm5lckhUTUw9IiZuYnNwOyI6UXx8Unx8KEQodCkseih0LFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKSwiICIpKSxTJiYodC5zdHlsZS53aWR0aD11LHQuc3R5bGUuaGVpZ2h0PW4uX2grInB4IiksYS5hcHBlbmRDaGlsZCh0KX1hLnN0eWxlLmNzc1RleHQ9c31TJiYoaj5hLmNsaWVudEhlaWdodCYmKGEuc3R5bGUuaGVpZ2h0PWotRisicHgiLGEuY2xpZW50SGVpZ2h0PGomJihhLnN0eWxlLmhlaWdodD1qK0IrInB4IikpLGg+YS5jbGllbnRXaWR0aCYmKGEuc3R5bGUud2lkdGg9aC1HKyJweCIsYS5jbGllbnRXaWR0aDxoJiYoYS5zdHlsZS53aWR0aD1oK0UrInB4IikpKSxBKGMsSiksQShkLEspLEEoZSxMKX0sRj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZyxoLGksaixrLHAsdix3LHgseT1iLnNwYW4/InNwYW4iOiJkaXYiLEE9Yi50eXBlfHxiLnNwbGl0fHwiY2hhcnMsd29yZHMsbGluZXMiLEI9KC0xIT09QS5pbmRleE9mKCJ3b3JkcyIpLC0xIT09QS5pbmRleE9mKCJjaGFycyIpKSxDPSJhYnNvbHV0ZSI9PT1iLnBvc2l0aW9ufHxiLmFic29sdXRlPT09ITAsRD1iLndvcmREZWxpbWl0ZXJ8fCIgIixFPSIgIiE9PUQ/IiI6Qz8iJiMxNzM7ICI6IiAiLEY9Yi5zcGFuPyI8L3NwYW4+IjoiPC9kaXY+IixHPSEwLEg9Zi5jcmVhdGVFbGVtZW50KCJkaXYiKSxJPWEucGFyZW50Tm9kZTtmb3IoSS5pbnNlcnRCZWZvcmUoSCxhKSxILnRleHRDb250ZW50PWEubm9kZVZhbHVlLEkucmVtb3ZlQ2hpbGQoYSksYT1ILGc9ZShhKSx2PS0xIT09Zy5pbmRleE9mKCI8IiksYi5yZWR1Y2VXaGl0ZVNwYWNlIT09ITEmJihnPWcucmVwbGFjZShtLCIgIikucmVwbGFjZShsLCIiKSksdiYmKGc9Zy5zcGxpdCgiPCIpLmpvaW4oInt7TFR9fSIpKSxrPWcubGVuZ3RoLGg9KCIgIj09PWcuY2hhckF0KDApP0U6IiIpK2MoKSxpPTA7az5pO2krKylpZihwPWcuY2hhckF0KGkpLHA9PT1EJiZnLmNoYXJBdChpLTEpIT09RCYmaSl7Zm9yKGgrPUc/RjoiIixHPSExO2cuY2hhckF0KGkrMSk9PT1EOyloKz1FLGkrKztpPT09ay0xP2grPUU6IikiIT09Zy5jaGFyQXQoaSsxKSYmKGgrPUUrYygpLEc9ITApfWVsc2UieyI9PT1wJiYie3tMVH19Ij09PWcuc3Vic3RyKGksNik/KGgrPUI/ZCgpKyJ7e0xUfX08LyIreSsiPiI6Int7TFR9fSIsaSs9NSk6cC5jaGFyQ29kZUF0KDApPj1uJiZwLmNoYXJDb2RlQXQoMCk8PW98fGcuY2hhckNvZGVBdChpKzEpPj02NTAyNCYmZy5jaGFyQ29kZUF0KGkrMSk8PTY1MDM5Pyh3PXUoZy5zdWJzdHIoaSwyKSkseD11KGcuc3Vic3RyKGkrMiwyKSksaj13Pj1xJiZyPj13JiZ4Pj1xJiZyPj14fHx4Pj1zJiZ0Pj14PzQ6MixoKz1CJiYiICIhPT1wP2QoKStnLnN1YnN0cihpLGopKyI8LyIreSsiPiI6Zy5zdWJzdHIoaSxqKSxpKz1qLTEpOmgrPUImJiIgIiE9PXA/ZCgpK3ArIjwvIit5KyI+IjpwO2Eub3V0ZXJIVE1MPWgrKEc/RjoiIiksdiYmeihJLCJ7e0xUfX0iLCI8Iil9LEc9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPUIoYS5jaGlsZE5vZGVzKSxoPWcubGVuZ3RoLGo9ImFic29sdXRlIj09PWIucG9zaXRpb258fGIuYWJzb2x1dGU9PT0hMDtpZigzIT09YS5ub2RlVHlwZXx8aD4xKXtmb3IoYi5hYnNvbHV0ZT0hMSxlPTA7aD5lO2UrKylmPWdbZV0sKDMhPT1mLm5vZGVUeXBlfHwvXFMrLy50ZXN0KGYubm9kZVZhbHVlKSkmJihqJiYzIT09Zi5ub2RlVHlwZSYmImlubGluZSI9PT1pKGYsImRpc3BsYXkiLG51bGwsITApJiYoZi5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siLGYuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksZi5faXNTcGxpdD0hMCxHKGYsYixjLGQpKTtyZXR1cm4gYi5hYnNvbHV0ZT1qLHZvaWQoYS5faXNTcGxpdD0hMCl9RihhLGIsYyxkKX0sSD15LnByb3RvdHlwZTtILnNwbGl0PWZ1bmN0aW9uKGEpe3RoaXMuaXNTcGxpdCYmdGhpcy5yZXZlcnQoKSx0aGlzLnZhcnM9YT1hfHx0aGlzLnZhcnMsdGhpcy5fb3JpZ2luYWxzLmxlbmd0aD10aGlzLmNoYXJzLmxlbmd0aD10aGlzLndvcmRzLmxlbmd0aD10aGlzLmxpbmVzLmxlbmd0aD0wO2Zvcih2YXIgYixjLGQsZT10aGlzLmVsZW1lbnRzLmxlbmd0aCxmPWEuc3Bhbj8ic3BhbiI6ImRpdiIsZz0oImFic29sdXRlIj09PWEucG9zaXRpb258fGEuYWJzb2x1dGU9PT0hMCx4KGEud29yZHNDbGFzcyxmKSksaD14KGEuY2hhcnNDbGFzcyxmKTstLWU+LTE7KWQ9dGhpcy5lbGVtZW50c1tlXSx0aGlzLl9vcmlnaW5hbHNbZV09ZC5pbm5lckhUTUwsYj1kLmNsaWVudEhlaWdodCxjPWQuY2xpZW50V2lkdGgsRyhkLGEsZyxoKSxFKGQsYSx0aGlzLmNoYXJzLHRoaXMud29yZHMsdGhpcy5saW5lcyxjLGIpO3JldHVybiB0aGlzLmNoYXJzLnJldmVyc2UoKSx0aGlzLndvcmRzLnJldmVyc2UoKSx0aGlzLmxpbmVzLnJldmVyc2UoKSx0aGlzLmlzU3BsaXQ9ITAsdGhpc30sSC5yZXZlcnQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fb3JpZ2luYWxzKXRocm93InJldmVydCgpIGNhbGwgd2Fzbid0IHNjb3BlZCBwcm9wZXJseS4iO2Zvcih2YXIgYT10aGlzLl9vcmlnaW5hbHMubGVuZ3RoOy0tYT4tMTspdGhpcy5lbGVtZW50c1thXS5pbm5lckhUTUw9dGhpcy5fb3JpZ2luYWxzW2FdO3JldHVybiB0aGlzLmNoYXJzPVtdLHRoaXMud29yZHM9W10sdGhpcy5saW5lcz1bXSx0aGlzLmlzU3BsaXQ9ITEsdGhpc30seS5zZWxlY3Rvcj1hLiR8fGEualF1ZXJ5fHxmdW5jdGlvbihiKXt2YXIgYz1hLiR8fGEualF1ZXJ5O3JldHVybiBjPyh5LnNlbGVjdG9yPWMsYyhiKSk6InVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudD9iOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw/ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChiKTpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiIyI9PT1iLmNoYXJBdCgwKT9iLnN1YnN0cigxKTpiKX0seS52ZXJzaW9uPSIwLjUuNiJ9KF9nc1Njb3BlKSxmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7dmFyIGI9ZnVuY3Rpb24oKXtyZXR1cm4oX2dzU2NvcGUuR3JlZW5Tb2NrR2xvYmFsc3x8X2dzU2NvcGUpW2FdfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxiKToidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJihtb2R1bGUuZXhwb3J0cz1iKCkpfSgiU3BsaXRUZXh0Iik7DQoNCg0KdHJ5ew0KCXdpbmRvdy5HcmVlblNvY2tHbG9iYWxzID0gbnVsbDsNCgl3aW5kb3cuX2dzUXVldWUgPSBudWxsOw0KCXdpbmRvdy5fZ3NEZWZpbmUgPSBudWxsOw0KDQoJZGVsZXRlKHdpbmRvdy5HcmVlblNvY2tHbG9iYWxzKTsNCglkZWxldGUod2luZG93Ll9nc1F1ZXVlKTsNCglkZWxldGUod2luZG93Ll9nc0RlZmluZSk7CQ0KICAgfSBjYXRjaChlKSB7fQ0KDQp0cnl7DQoJd2luZG93LkdyZWVuU29ja0dsb2JhbHMgPSBvbGRnczsNCgl3aW5kb3cuX2dzUXVldWUgPSBvbGRnc19xdWV1ZTsNCgl9IGNhdGNoKGUpIHt9DQoNCmlmICh3aW5kb3cudHBsb2dzPT10cnVlKQ0KCXRyeSB7DQoJCWNvbnNvbGUuZ3JvdXBFbmQoKTsNCgl9IGNhdGNoKGUpIHt9DQoNCihmdW5jdGlvbihlLHQpew0KCQllLndhaXRGb3JJbWFnZXM9e2hhc0ltYWdlUHJvcGVydGllczpbImJhY2tncm91bmRJbWFnZSIsImxpc3RTdHlsZUltYWdlIiwiYm9yZGVySW1hZ2UiLCJib3JkZXJDb3JuZXJJbWFnZSJdfTtlLmV4cHJbIjoiXS51bmNhY2hlZD1mdW5jdGlvbih0KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtuLnNyYz10LnNyYztyZXR1cm4gZSh0KS5pcygnaW1nW3NyYyE9IiJdJykmJiFuLmNvbXBsZXRlfTtlLmZuLndhaXRGb3JJbWFnZXM9ZnVuY3Rpb24odCxuLHIpe2lmKGUuaXNQbGFpbk9iamVjdChhcmd1bWVudHNbMF0pKXtuPXQuZWFjaDtyPXQud2FpdEZvckFsbDt0PXQuZmluaXNoZWR9dD10fHxlLm5vb3A7bj1ufHxlLm5vb3A7cj0hIXI7aWYoIWUuaXNGdW5jdGlvbih0KXx8IWUuaXNGdW5jdGlvbihuKSl7dGhyb3cgbmV3IFR5cGVFcnJvcigiQW4gaW52YWxpZCBjYWxsYmFjayB3YXMgc3VwcGxpZWQuIil9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPWUodGhpcykscz1bXTtpZihyKXt2YXIgbz1lLndhaXRGb3JJbWFnZXMuaGFzSW1hZ2VQcm9wZXJ0aWVzfHxbXSx1PS91cmxcKChbJyJdPykoLio/KVwxXCkvZztpLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtpZih0LmlzKCJpbWc6dW5jYWNoZWQiKSl7cy5wdXNoKHtzcmM6dC5hdHRyKCJzcmMiKSxlbGVtZW50OnRbMF19KX1lLmVhY2gobyxmdW5jdGlvbihlLG4pe3ZhciByPXQuY3NzKG4pO2lmKCFyKXtyZXR1cm4gdHJ1ZX12YXIgaTt3aGlsZShpPXUuZXhlYyhyKSl7cy5wdXNoKHtzcmM6aVsyXSxlbGVtZW50OnRbMF19KX19KX0pfWVsc2V7aS5maW5kKCJpbWc6dW5jYWNoZWQiKS5lYWNoKGZ1bmN0aW9uKCl7cy5wdXNoKHtzcmM6dGhpcy5zcmMsZWxlbWVudDp0aGlzfSl9KX12YXIgZj1zLmxlbmd0aCxsPTA7aWYoZj09MCl7dC5jYWxsKGlbMF0pfWUuZWFjaChzLGZ1bmN0aW9uKHIscyl7dmFyIG89bmV3IEltYWdlO2UobykuYmluZCgibG9hZCBlcnJvciIsZnVuY3Rpb24oZSl7bCsrO24uY2FsbChzLmVsZW1lbnQsbCxmLGUudHlwZT09ImxvYWQiKTtpZihsPT1mKXt0LmNhbGwoaVswXSk7cmV0dXJuIGZhbHNlfX0pO28uc3JjPXMuc3JjfSl9KX07CQkNCn0pKGpRdWVyeSkNCg=="}},"time_used":481,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":470,"receive":11,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.video.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.234Z","timestamp":1785123385234,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.video.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"5e93-65fd8520-21ab98b71ad36e87;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6070\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":24211,"size_decoded":6526,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (23965), with CRLF line terminators","md5":"02bf3ed4a0eaebfb8eccd78d58acb3c1","sha1":"d24d3cf3002ad0f2d1aa3d17b9d330e8bb343712","sha256":"8c31c97858196d93a06ad02300c31b25acbb40b1b6e63c11c77ac6644f0cff01","sha512":"bf443cd79b8e5460dbca4a5e3369df02e8fc1b0fa687fd482a5e85ffb5ab7da584a545ece35fa9e5e4ca9e1cd87270b7a11700396974e5797301366ff615c765","ssdeep":"384:ZJf1dVyV0HW8Tn5rk4kcpNWpVbwhqASaR6R/fl1WkZtqjVM1e48ENrLHMHzA9bn+:1dVyV02A5pU6AASag+RjVh4xwzAEUS1J","tlshash":"5cb2c867f50418a5c419f9969daf115132b1fa7de0058ef068f7e2b41f3ce8220daade","first_seen":"2023-03-07T13:53:39Z","last_seen":"2026-07-27T14:34:25.227962Z","times_seen":546,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC4yIEVYVEVOU0lPTiAtIFZJREVPIEZVTkNUSU9OUw0KICogQHZlcnNpb246IDIuMS42ICgxNS4wNS4yMDE3KQ0KICogQHJlcXVpcmVzIGpxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24uanMNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBmKGEpe3JldHVybiB2b2lkIDA9PWE/LTE6alF1ZXJ5LmlzTnVtZXJpYyhhKT9hOmEuc3BsaXQoIjoiKS5sZW5ndGg+MT82MCpwYXJzZUludChhLnNwbGl0KCI6IilbMF0sMCkrcGFyc2VJbnQoYS5zcGxpdCgiOiIpWzFdLDApOmF9dmFyIGI9alF1ZXJ5LmZuLnJldm9sdXRpb24sYz1iLmlzX21vYmlsZSgpLGQ9Yi5pc19hbmRyb2lkKCksZT17YWxpYXM6IlZpZGVvIE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLnZpZGVvLm1pbi5qcyIsbWluX2NvcmU6IjUuNC41Iix2ZXJzaW9uOiIyLjEuNiJ9O2pRdWVyeS5leHRlbmQoITAsYix7cHJlTG9hZEF1ZGlvOmZ1bmN0aW9uKGEsYyl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spcmV0dXJuITE7YS5maW5kKCIudHAtYXVkaW9sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyksZD17fTswPT09YS5maW5kKCJhdWRpbyIpLmxlbmd0aCYmKGQuc3JjPXZvaWQgMCE9YS5kYXRhKCJ2aWRlb21wNCIpP2EuZGF0YSgidmlkZW9tcDQiKToiIixkLnByZT1hLmRhdGEoInZpZGVvcHJlbG9hZCIpfHwiIix2b2lkIDA9PT1hLmF0dHIoImlkIikmJmEuYXR0cigiYXVkaW8tbGF5ZXItIitNYXRoLnJvdW5kKDE5OTk5OSpNYXRoLnJhbmRvbSgpKSksZC5pZD1hLmF0dHIoImlkIiksZC5zdGF0dXM9InByZXBhcmVkIixkLnN0YXJ0PWpRdWVyeS5ub3coKSxkLndhaXR0aW1lPTFlMyphLmRhdGEoInZpZGVvcHJlbG9hZHdhaXQiKXx8NWUzLCJhdXRvIiE9ZC5wcmUmJiJjYW5wbGF5dGhyb3VnaCIhPWQucHJlJiYiY2FucGxheSIhPWQucHJlJiYicHJvZ3Jlc3MiIT1kLnByZXx8KHZvaWQgMD09PWMuYXVkaW9xdWV1ZSYmKGMuYXVkaW9xdWV1ZT1bXSksYy5hdWRpb3F1ZXVlLnB1c2goZCksYi5tYW5hZ2VWaWRlb0xheWVyKGEsYykpKX0pfSxwcmVMb2FkQXVkaW9Eb25lOmZ1bmN0aW9uKGEsYixjKXtiLmF1ZGlvcXVldWUmJmIuYXVkaW9xdWV1ZS5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYi5hdWRpb3F1ZXVlLGZ1bmN0aW9uKGIsZCl7YS5kYXRhKCJ2aWRlb21wNCIpIT09ZC5zcmN8fGQucHJlIT09YyYmImF1dG8iIT09ZC5wcmV8fChkLnN0YXR1cz0ibG9hZGVkIil9KX0scmVzZXRWaWRlbzpmdW5jdGlvbihhLGQsZSl7dmFyIGc9YS5kYXRhKCk7c3dpdGNoKGcudmlkZW90eXBlKXtjYXNlInlvdXR1YmUiOmcucGxheWVyO3RyeXtpZigib24iPT1nLmZvcmNlcmV3aW5kKXt2YXIgaT1mKGEuZGF0YSgidmlkZW9zdGFydGF0IikpOzE9PT1nLmJndmlkZW98fGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoO3ZvaWQgMCE9Zy5wbGF5ZXImJihpPS0xPT1pPzA6aSxnLnBsYXllci5zZWVrVG8oaSksZy5wbGF5ZXIucGF1c2VWaWRlbygpKX19Y2F0Y2goYSl7fTA9PWEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoJiYxIT09Zy5iZ3ZpZGVvJiYhMCE9PWUmJnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiaWZyYW1lIiksLjMse2F1dG9BbHBoYToxLGRpc3BsYXk6ImJsb2NrIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pO2JyZWFrO2Nhc2UidmltZW8iOnZhciBsPSRmKGEuZmluZCgiaWZyYW1lIikuYXR0cigiaWQiKSk7dHJ5e2lmKCJvbiI9PWcuZm9yY2VyZXdpbmQpe3ZhciBpPWYoZy52aWRlb3N0YXJ0YXQpOzE9PT1nLmJndmlkZW98fGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoO2k9LTE9PWk/MDppLGwuYXBpKCJzZWVrVG8iLGkpLGwuYXBpKCJwYXVzZSIpfX1jYXRjaChhKXt9MD09YS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5sZW5ndGgmJjEhPT1nLmJndmlkZW8mJiEwIT09ZSYmcHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCJpZnJhbWUiKSwuMyx7YXV0b0FscGhhOjEsZGlzcGxheToiYmxvY2siLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSk7YnJlYWs7Y2FzZSJodG1sNSI6aWYoYyYmMT09Zy5kaXNhYmxldmlkZW9vbm1vYmlsZSlyZXR1cm4hMTt2YXIgbj0iaHRtbDUiPT1nLmF1ZGlvPyJhdWRpbyI6InZpZGVvIixvPWEuZmluZChuKSxwPW9bMF07aWYocHVuY2hncy5Ud2VlbkxpdGUudG8obywuMyx7YXV0b0FscGhhOjEsZGlzcGxheToiYmxvY2siLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSksIm9uIj09Zy5mb3JjZXJld2luZCYmIWEuaGFzQ2xhc3MoInZpZGVvaXNwbGF5aW5nIikpdHJ5e3ZhciBpPWYoZy52aWRlb3N0YXJ0YXQpO3AuY3VycmVudFRpbWU9LTE9PWk/MDppfWNhdGNoKGEpe30oIm11dGUiPT1nLnZvbHVtZXx8Yi5sYXN0VG9nZ2xlU3RhdGUoYS52aWRlb211dGV0b2dnbGVkYnkpfHwhMD09PWQuZ2xvYmFsbXV0ZSkmJihwLm11dGVkPSEwKX19LGlzVmlkZW9NdXRlZDpmdW5jdGlvbihhLGIpe3ZhciBjPSExLGQ9YS5kYXRhKCk7c3dpdGNoKGQudmlkZW90eXBlKXtjYXNlInlvdXR1YmUiOnRyeXtjPWQucGxheWVyLmlzTXV0ZWQoKX1jYXRjaChhKXt9YnJlYWs7Y2FzZSJ2aW1lbyI6dHJ5eyRmKGEuZmluZCgiaWZyYW1lIikuYXR0cigiaWQiKSk7Im11dGUiPT1kLnZvbHVtZSYmKGM9ITApfWNhdGNoKGEpe31icmVhaztjYXNlImh0bWw1Ijp2YXIgZz0iaHRtbDUiPT1kLmF1ZGlvPyJhdWRpbyI6InZpZGVvIjthLmZpbmQoZylbMF0ubXV0ZWQmJihjPSEwKX1yZXR1cm4gY30sbXV0ZVZpZGVvOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kYXRhKCk7c3dpdGNoKGMudmlkZW90eXBlKXtjYXNlInlvdXR1YmUiOnRyeXtjLnBsYXllci5tdXRlKCl9Y2F0Y2goYSl7fWJyZWFrO2Nhc2UidmltZW8iOnRyeXt2YXIgZT0kZihhLmZpbmQoImlmcmFtZSIpLmF0dHIoImlkIikpO2EuZGF0YSgidm9sdW1lIiwibXV0ZSIpLGUuYXBpKCJzZXRWb2x1bWUiLDApfWNhdGNoKGEpe31icmVhaztjYXNlImh0bWw1Ijp2YXIgZj0iaHRtbDUiPT1jLmF1ZGlvPyJhdWRpbyI6InZpZGVvIjthLmZpbmQoZilbMF0ubXV0ZWQ9ITB9fSx1bk11dGVWaWRlbzpmdW5jdGlvbihhLGIpe2lmKCEwIT09Yi5nbG9iYWxtdXRlKXt2YXIgYz1hLmRhdGEoKTtzd2l0Y2goYy52aWRlb3R5cGUpe2Nhc2UieW91dHViZSI6dHJ5e2MucGxheWVyLnVuTXV0ZSgpfWNhdGNoKGEpe31icmVhaztjYXNlInZpbWVvIjp0cnl7dmFyIGU9JGYoYS5maW5kKCJpZnJhbWUiKS5hdHRyKCJpZCIpKTthLmRhdGEoInZvbHVtZSIsIjEiKSxlLmFwaSgic2V0Vm9sdW1lIiwxKX1jYXRjaChhKXt9YnJlYWs7Y2FzZSJodG1sNSI6dmFyIGY9Imh0bWw1Ij09Yy5hdWRpbz8iYXVkaW8iOiJ2aWRlbyI7YS5maW5kKGYpWzBdLm11dGVkPSExfX19LHN0b3BWaWRlbzpmdW5jdGlvbihhLGIpe3ZhciBjPWEuZGF0YSgpO3N3aXRjaChiLmxlYXZlVmlld1BvcnRCYXNlZFN0b3B8fChiLmxhc3RwbGF5ZWR2aWRlb3M9W10pLGIubGVhdmVWaWV3UG9ydEJhc2VkU3RvcD0hMSxjLnZpZGVvdHlwZSl7Y2FzZSJ5b3V0dWJlIjp0cnl7dmFyIGQ9Yy5wbGF5ZXI7aWYoMj09PWQuZ2V0UGxheWVyU3RhdGUoKXx8NT09PWQuZ2V0UGxheWVyU3RhdGUoKSlyZXR1cm47ZC5wYXVzZVZpZGVvKCksYy55b3V0dWJlcGF1c2VjYWxsZWQ9ITAsc2V0VGltZW91dChmdW5jdGlvbigpe2MueW91dHViZXBhdXNlY2FsbGVkPSExfSw4MCl9Y2F0Y2goYSl7Y29uc29sZS5sb2coIklzc3VlIGF0IFlvdVR1YmUgVmlkZW8gUGF1c2U6IiksY29uc29sZS5sb2coYSl9YnJlYWs7Y2FzZSJ2aW1lbyI6dHJ5eyRmKGEuZmluZCgiaWZyYW1lIikuYXR0cigiaWQiKSkuYXBpKCJwYXVzZSIpLGMudmltZW9wYXVzZWNhbGxlZD0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy52aW1lb3BhdXNlY2FsbGVkPSExfSw4MCl9Y2F0Y2goYSl7Y29uc29sZS5sb2coIklzc3VlIGF0IFZpbWVvIFZpZGVvIFBhdXNlOiIpLGNvbnNvbGUubG9nKGEpfWJyZWFrO2Nhc2UiaHRtbDUiOnZhciBmPSJodG1sNSI9PWMuYXVkaW8/ImF1ZGlvIjoidmlkZW8iLGc9YS5maW5kKGYpLGg9Z1swXTt2b2lkIDAhPWcmJnZvaWQgMCE9aCYmaC5wYXVzZSgpfX0scGxheVZpZGVvOmZ1bmN0aW9uKGEsYyl7Y2xlYXJUaW1lb3V0KGEuZGF0YSgidmlkZW9wbGF5d2FpdCIpKTt2YXIgZD1hLmRhdGEoKTtzd2l0Y2goZC52aWRlb3R5cGUpe2Nhc2UieW91dHViZSI6aWYoMD09YS5maW5kKCJpZnJhbWUiKS5sZW5ndGgpYS5hcHBlbmQoYS5kYXRhKCJ2aWRlb21hcmt1cCIpKSxpKGEsYywhMCk7ZWxzZSBpZih2b2lkIDAhPWQucGxheWVyLnBsYXlWaWRlbyl7dmFyIGU9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKSxoPWQucGxheWVyLmdldEN1cnJlbnRUaW1lKCk7MT09YS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiKSYmKGg9LTEsYS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiLDApKSwtMSE9ZSYmZT5oJiZkLnBsYXllci5zZWVrVG8oZSksITAhPT1kLnlvdXR1YmVwYXVzZWNhbGxlZCYmZC5wbGF5ZXIucGxheVZpZGVvKCl9ZWxzZSBhLmRhdGEoInZpZGVvcGxheXdhaXQiLHNldFRpbWVvdXQoZnVuY3Rpb24oKXshMCE9PWQueW91dHViZXBhdXNlY2FsbGVkJiZiLnBsYXlWaWRlbyhhLGMpfSw1MCkpO2JyZWFrO2Nhc2UidmltZW8iOmlmKDA9PWEuZmluZCgiaWZyYW1lIikubGVuZ3RoKWEuYXBwZW5kKGEuZGF0YSgidmlkZW9tYXJrdXAiKSksaShhLGMsITApO2Vsc2UgaWYoYS5oYXNDbGFzcygicnMtYXBpcmVhZHkiKSl7dmFyIGo9YS5maW5kKCJpZnJhbWUiKS5hdHRyKCJpZCIpLGs9JGYoaik7dm9pZCAwPT1rLmFwaSgicGxheSIpP2EuZGF0YSgidmlkZW9wbGF5d2FpdCIsc2V0VGltZW91dChmdW5jdGlvbigpeyEwIT09ZC52aW1lb3BhdXNlY2FsbGVkJiZiLnBsYXlWaWRlbyhhLGMpfSw1MCkpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtrLmFwaSgicGxheSIpO3ZhciBiPWYoYS5kYXRhKCJ2aWRlb3N0YXJ0YXQiKSksYz1hLmRhdGEoImN1cnJlbnR0aW1lIik7MT09YS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiKSYmKGM9LTEsYS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiLDApKSwtMSE9YiYmYj5jJiZrLmFwaSgic2Vla1RvIixiKX0sNTEwKX1lbHNlIGEuZGF0YSgidmlkZW9wbGF5d2FpdCIsc2V0VGltZW91dChmdW5jdGlvbigpeyEwIT09ZC52aW1lb3BhdXNlY2FsbGVkJiZiLnBsYXlWaWRlbyhhLGMpfSw1MCkpO2JyZWFrO2Nhc2UiaHRtbDUiOnZhciBsPSJodG1sNSI9PWQuYXVkaW8/ImF1ZGlvIjoidmlkZW8iLG09YS5maW5kKGwpLG49bVswXTtpZigxIT1tLnBhcmVudCgpLmRhdGEoIm1ldGFsb2FkZWQiKSlnKG4sImxvYWRlZG1ldGFkYXRhIixmdW5jdGlvbihhKXtiLnJlc2V0VmlkZW8oYSxjKSxuLnBsYXkoKTt2YXIgZD1mKGEuZGF0YSgidmlkZW9zdGFydGF0IikpLGU9bi5jdXJyZW50VGltZTsxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIpJiYoZT0tMSxhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMCkpLC0xIT1kJiZkPmUmJihuLmN1cnJlbnRUaW1lPWQpfShhKSk7ZWxzZXtuLnBsYXkoKTt2YXIgZT1mKGEuZGF0YSgidmlkZW9zdGFydGF0IikpLGg9bi5jdXJyZW50VGltZTsxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIpJiYoaD0tMSxhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMCkpLC0xIT1lJiZlPmgmJihuLmN1cnJlbnRUaW1lPWUpfX19LGlzVmlkZW9QbGF5aW5nOmZ1bmN0aW9uKGEsYil7dmFyIGM9ITE7cmV0dXJuIHZvaWQgMCE9Yi5wbGF5aW5ndmlkZW9zJiZqUXVlcnkuZWFjaChiLnBsYXlpbmd2aWRlb3MsZnVuY3Rpb24oYixkKXthLmF0dHIoImlkIik9PWQuYXR0cigiaWQiKSYmKGM9ITApfSksY30scmVtb3ZlTWVkaWFGcm9tTGlzdDpmdW5jdGlvbihhLGIpe24oYSxiKX0scHJlcGFyZUNvdmVyZWRWaWRlbzpmdW5jdGlvbihhLGMsZCl7dmFyIGU9ZC5maW5kKCJpZnJhbWUsIHZpZGVvIiksZj1hLnNwbGl0KCI6IilbMF0sZz1hLnNwbGl0KCI6IilbMV0saD1kLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKSxpPWgud2lkdGgoKS9oLmhlaWdodCgpLGo9Zi9nLGs9aS9qKjEwMCxsPWovaSoxMDA7aT5qP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsLjAwMSx7aGVpZ2h0OmsrIiUiLHdpZHRoOiIxMDAlIix0b3A6LShrLTEwMCkvMisiJSIsbGVmdDoiMHB4Iixwb3NpdGlvbjoiYWJzb2x1dGUifSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oZSwuMDAxLHt3aWR0aDpsKyIlIixoZWlnaHQ6IjEwMCUiLGxlZnQ6LShsLTEwMCkvMisiJSIsdG9wOiIwcHgiLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KSxlLmhhc0NsYXNzKCJyZXNpemVsaXN0ZW5lciIpfHwoZS5hZGRDbGFzcygicmVzaXplbGlzdGVuZXIiKSxqUXVlcnkod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZS5kYXRhKCJyZXNpemVsaXN0ZW5lciIpKSxlLmRhdGEoInJlc2l6ZWxpc3RlbmVyIixzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5wcmVwYXJlQ292ZXJlZFZpZGVvKGEsYyxkKX0sMzApKX0pKX0sY2hlY2tWaWRlb0FwaXM6ZnVuY3Rpb24oYSxiLGMpe2xvY2F0aW9uLnByb3RvY29sO2lmKCh2b2lkIDAhPWEuZGF0YSgieXRpZCIpfHxhLmZpbmQoImlmcmFtZSIpLmxlbmd0aD4wJiZhLmZpbmQoImlmcmFtZSIpLmF0dHIoInNyYyIpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigieW91dHViZSIpPjApJiYoYi55b3V0dWJlYXBpbmVlZGVkPSEwKSwodm9pZCAwIT1hLmRhdGEoInl0aWQiKXx8YS5maW5kKCJpZnJhbWUiKS5sZW5ndGg+MCYmYS5maW5kKCJpZnJhbWUiKS5hdHRyKCJzcmMiKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoInlvdXR1YmUiKT4wKSYmMD09Yy5hZGRlZHl0KXtiLnlvdXR1YmVzdGFydHRpbWU9alF1ZXJ5Lm5vdygpLGMuYWRkZWR5dD0xO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Uuc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpIjt2YXIgZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF0sZz0hMDtqUXVlcnkoImhlYWQiKS5maW5kKCIqIikuZWFjaChmdW5jdGlvbigpeyJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpIj09alF1ZXJ5KHRoaXMpLmF0dHIoInNyYyIpJiYoZz0hMSl9KSxnJiZmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsZil9aWYoKHZvaWQgMCE9YS5kYXRhKCJ2aW1lb2lkIil8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ2aW1lbyIpPjApJiYoYi52aW1lb2FwaW5lZWRlZD0hMCksKHZvaWQgMCE9YS5kYXRhKCJ2aW1lb2lkIil8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ2aW1lbyIpPjApJiYwPT1jLmFkZGVkdmltKXtiLnZpbWVvc3RhcnR0aW1lPWpRdWVyeS5ub3coKSxjLmFkZGVkdmltPTE7dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF0sZz0hMDtoLnNyYz0iaHR0cHM6Ly9zZWN1cmUtYS52aW1lb2Nkbi5jb20vanMvZnJvb2dhbG9vcDIubWluLmpzIixqUXVlcnkoImhlYWQiKS5maW5kKCIqIikuZWFjaChmdW5jdGlvbigpeyJodHRwczovL3NlY3VyZS1hLnZpbWVvY2RuLmNvbS9qcy9mcm9vZ2Fsb29wMi5taW4uanMiPT1qUXVlcnkodGhpcykuYXR0cigic3JjIikmJihnPSExKX0pLGcmJmYucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaCxmKX1yZXR1cm4gY30sbWFuYWdlVmlkZW9MYXllcjpmdW5jdGlvbihhLGQsaCxqKXtpZigic3RvcCI9PT1iLmNvbXBhcmVfdmVyc2lvbihlKS5jaGVjaylyZXR1cm4hMTt2YXIgaz1hLmRhdGEoKSxtPWsudmlkZW9hdHRyaWJ1dGVzLG49ay55dGlkLG89ay52aW1lb2lkLHA9ImF1dG8iPT09ay52aWRlb3ByZWxvYWR8fCJjYW5wbGF5Ij09PWsudmlkZW9wcmVsb2FkfHwiY2FucGxheXRocm91Z2giPT09ay52aWRlb3ByZWxvYWR8fCJwcm9ncmVzcyI9PT1rLnZpZGVvcHJlbG9hZD8iYXV0byI6ay52aWRlb3ByZWxvYWQscT1rLnZpZGVvbXA0LHI9ay52aWRlb3dlYm0scz1rLnZpZGVvb2d2LHQ9ay5hbGxvd2Z1bGxzY3JlZW52aWRlbyx1PWsudmlkZW9jb250cm9scyx2PSJodHRwIix3PSJsb29wIj09ay52aWRlb2xvb3A/Imxvb3AiOiJsb29wYW5kbm9zbGlkZXN0b3AiPT1rLnZpZGVvbG9vcD8ibG9vcCI6IiIseD12b2lkIDAhPXF8fHZvaWQgMCE9cj8iaHRtbDUiOnZvaWQgMCE9biYmU3RyaW5nKG4pLmxlbmd0aD4xPyJ5b3V0dWJlIjp2b2lkIDAhPW8mJlN0cmluZyhvKS5sZW5ndGg+MT8idmltZW8iOiJub25lIix5PSJodG1sNSI9PWsuYXVkaW8/ImF1ZGlvIjoidmlkZW8iLHo9Imh0bWw1Ij09eCYmMD09YS5maW5kKHkpLmxlbmd0aD8iaHRtbDUiOiJ5b3V0dWJlIj09eCYmMD09YS5maW5kKCJpZnJhbWUiKS5sZW5ndGg/InlvdXR1YmUiOiJ2aW1lbyI9PXgmJjA9PWEuZmluZCgiaWZyYW1lIikubGVuZ3RoPyJ2aW1lbyI6Im5vbmUiO3N3aXRjaCh3PSEwPT09ay5uZXh0c2xpZGVhdGVuZD8iIjp3LGsudmlkZW90eXBlPXgseil7Y2FzZSJodG1sNSI6ImNvbnRyb2xzIiE9dSYmKHU9IiIpO3ZhciB5PSJ2aWRlbyI7Imh0bWw1Ij09ay5hdWRpbyYmKHk9ImF1ZGlvIixhLmFkZENsYXNzKCJ0cC1hdWRpby1odG1sNSIpKTt2YXIgQT1kLmZhbGxiYWNrcy5hbGxvd0hUTUw1QXV0b1BsYXlPbkFuZHJvaWQ/Im11dGVkIHBsYXlzaW5saW5lIjoiIixCPSI8Iit5KyIgIitBKycgc3R5bGU9Im9iamVjdC1maXQ6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Zpc2libGU6aGlkZGVuO3dpZHRoOjEwMCU7IGhlaWdodDoxMDAlIiBjbGFzcz0iIiAnK3crJyBwcmVsb2FkPSInK3ArJyI+JzsiYXV0byI9PXAmJihkLm1lZGlhcHJlbG9hZD0hMCksdm9pZCAwIT1yJiYiZmlyZWZveCI9PWIuZ2V0X2Jyb3dzZXIoKS50b0xvd2VyQ2FzZSgpJiYoQj1CKyc8c291cmNlIHNyYz0iJytyKyciIHR5cGU9InZpZGVvL3dlYm0iIC8+Jyksdm9pZCAwIT1xJiYoQj1CKyc8c291cmNlIHNyYz0iJytxKyciIHR5cGU9InZpZGVvL21wNCIgLz4nKSx2b2lkIDAhPXMmJihCPUIrJzxzb3VyY2Ugc3JjPSInK3MrJyIgdHlwZT0idmlkZW8vb2dnIiAvPicpLEI9QisiPC8iK3krIj4iO3ZhciBDPSIiOyJ0cnVlIiE9PXQmJiEwIT09dHx8KEM9JzxkaXYgY2xhc3M9InRwLXZpZGVvLWJ1dHRvbi13cmFwIj48YnV0dG9uICB0eXBlPSJidXR0b24iIGNsYXNzPSJ0cC12aWRlby1idXR0b24gdHAtdmlkLWZ1bGwtc2NyZWVuIj5GdWxsLVNjcmVlbjwvYnV0dG9uPjwvZGl2PicpLCJjb250cm9scyI9PXUmJihCPUIrJzxkaXYgY2xhc3M9InRwLXZpZGVvLWNvbnRyb2xzIj48ZGl2IGNsYXNzPSJ0cC12aWRlby1idXR0b24td3JhcCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ0cC12aWRlby1idXR0b24gdHAtdmlkLXBsYXktcGF1c2UiPlBsYXk8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJ0cC12aWRlby1zZWVrLWJhci13cmFwIj48aW5wdXQgIHR5cGU9InJhbmdlIiBjbGFzcz0idHAtc2Vlay1iYXIiIHZhbHVlPSIwIj48L2Rpdj48ZGl2IGNsYXNzPSJ0cC12aWRlby1idXR0b24td3JhcCI+PGJ1dHRvbiAgdHlwZT0iYnV0dG9uIiBjbGFzcz0idHAtdmlkZW8tYnV0dG9uIHRwLXZpZC1tdXRlIj5NdXRlPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0idHAtdmlkZW8tdm9sLWJhci13cmFwIj48aW5wdXQgIHR5cGU9InJhbmdlIiBjbGFzcz0idHAtdm9sdW1lLWJhciIgbWluPSIwIiBtYXg9IjEiIHN0ZXA9IjAuMSIgdmFsdWU9IjEiPjwvZGl2PicrQysiPC9kaXY+IiksYS5kYXRhKCJ2aWRlb21hcmt1cCIsQiksYS5hcHBlbmQoQiksKGMmJjE9PWEuZGF0YSgiZGlzYWJsZXZpZGVvb25tb2JpbGUiKXx8Yi5pc0lFKDgpKSYmYS5maW5kKHkpLnJlbW92ZSgpLGEuZmluZCh5KS5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBlPXRoaXMsZj1qUXVlcnkodGhpcyk7Zi5wYXJlbnQoKS5oYXNDbGFzcygiaHRtbDV2aWQiKXx8Zi53cmFwKCc8ZGl2IGNsYXNzPSJodG1sNXZpZCIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO3RvcDowcHg7bGVmdDowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsgb3ZlcmZsb3c6aGlkZGVuOyI+PC9kaXY+JyksMSE9Zi5wYXJlbnQoKS5kYXRhKCJtZXRhbG9hZGVkIikmJmcoZSwibG9hZGVkbWV0YWRhdGEiLGZ1bmN0aW9uKGEpe2woYSxkKSxiLnJlc2V0VmlkZW8oYSxkKX0oYSkpfSk7YnJlYWs7Y2FzZSJ5b3V0dWJlIjp2PSJodHRwcyIsIm5vbmUiPT11JiYobT1tLnJlcGxhY2UoImNvbnRyb2xzPTEiLCJjb250cm9scz0wIiksLTE9PW0udG9Mb3dlckNhc2UoKS5pbmRleE9mKCJjb250cm9scyIpJiYobSs9IiZjb250cm9scz0wIikpLCEwIT09ay52aWRlb2lubGluZSYmInRydWUiIT09ay52aWRlb2lubGluZSYmMSE9PWsudmlkZW9pbmxpbmV8fChtKz0iJnBsYXlzaW5saW5lPTEiKTt2YXIgRD1mKGEuZGF0YSgidmlkZW9zdGFydGF0IikpLEU9ZihhLmRhdGEoInZpZGVvZW5kYXQiKSk7LTEhPUQmJihtPW0rIiZzdGFydD0iK0QpLC0xIT1FJiYobT1tKyImZW5kPSIrRSk7dmFyIEY9bS5zcGxpdCgib3JpZ2luPSIrdisiOi8vIiksRz0iIjtGLmxlbmd0aD4xPyhHPUZbMF0rIm9yaWdpbj0iK3YrIjovLyIsc2VsZi5sb2NhdGlvbi5ocmVmLm1hdGNoKC93d3cvZ2kpJiYhRlsxXS5tYXRjaCgvd3d3L2dpKSYmKEcrPSJ3d3cuIiksRys9RlsxXSk6Rz1tO3ZhciBIPSJ0cnVlIj09PXR8fCEwPT09dD8iYWxsb3dmdWxsc2NyZWVuIjoiIjthLmRhdGEoInZpZGVvbWFya3VwIiwnPGlmcmFtZSB0eXBlPSJ0ZXh0L2h0bWwiIHNyYz0iJyt2KyI6Ly93d3cueW91dHViZS5jb20vZW1iZWQvIituKyI/IitHKyciICcrSCsnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJSI+PC9pZnJhbWU+Jyk7YnJlYWs7Y2FzZSJ2aW1lbyI6dj0iaHR0cHMiLGEuZGF0YSgidmlkZW9tYXJrdXAiLCc8aWZyYW1lIHNyYz0iJyt2KyI6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLyIrbysiP2F1dG9wbGF5PTAmIittKyciIHdlYmtpdGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dmdWxsc2NyZWVuIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47MTAwJTtoZWlnaHQ6MTAwJSI+PC9pZnJhbWU+Jyl9dmFyIEk9YyYmIm9uIj09YS5kYXRhKCJub3Bvc3Rlcm9ubW9iaWxlIik7aWYodm9pZCAwIT1rLnZpZGVvcG9zdGVyJiZrLnZpZGVvcG9zdGVyLmxlbmd0aD4yJiYhSSkwPT1hLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLmxlbmd0aCYmYS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLXZpZGVvcG9zdGVyIG5vU3dpcGUiIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsgcG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MztiYWNrZ3JvdW5kLWltYWdlOnVybCgnK2sudmlkZW9wb3N0ZXIrJyk7IGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7Ij48L2Rpdj4nKSwwPT1hLmZpbmQoImlmcmFtZSIpLmxlbmd0aCYmYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5jbGljayhmdW5jdGlvbigpe2lmKGIucGxheVZpZGVvKGEsZCksYyl7aWYoMT09YS5kYXRhKCJkaXNhYmxldmlkZW9vbm1vYmlsZSIpKXJldHVybiExO3B1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIiksLjMse2F1dG9BbHBoYTowLGZvcmNlM0Q6ImF1dG8iLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkscHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCJpZnJhbWUiKSwuMyx7YXV0b0FscGhhOjEsZGlzcGxheToiYmxvY2siLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSl9fSk7ZWxzZXtpZihjJiYxPT1hLmRhdGEoImRpc2FibGV2aWRlb29ubW9iaWxlIikpcmV0dXJuITE7MCE9YS5maW5kKCJpZnJhbWUiKS5sZW5ndGh8fCJ5b3V0dWJlIiE9eCYmInZpbWVvIiE9eHx8KGEuYXBwZW5kKGEuZGF0YSgidmlkZW9tYXJrdXAiKSksaShhLGQsITEpKX0ibm9uZSIhPWEuZGF0YSgiZG90dGVkb3ZlcmxheSIpJiZ2b2lkIDAhPWEuZGF0YSgiZG90dGVkb3ZlcmxheSIpJiYxIT1hLmZpbmQoIi50cC1kb3R0ZWRvdmVybGF5IikubGVuZ3RoJiZhLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtZG90dGVkb3ZlcmxheSAnK2EuZGF0YSgiZG90dGVkb3ZlcmxheSIpKyciPjwvZGl2PicpLGEuYWRkQ2xhc3MoIkhhc0xpc3RlbmVyIiksMT09YS5kYXRhKCJiZ3ZpZGVvIikmJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLmZpbmQoInZpZGVvLCBpZnJhbWUiKSx7YXV0b0FscGhhOjB9KX19KTt2YXIgZz1mdW5jdGlvbihhLGIsYyl7YS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihiLGMse2NhcHR1cmU6ITEscGFzc2l2ZTohMH0pOmEuYXR0YWNoRXZlbnQoYixjLHtjYXB0dXJlOiExLHBhc3NpdmU6ITB9KX0saD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9e307cmV0dXJuIGQudmlkZW89YSxkLnZpZGVvdHlwZT1iLGQuc2V0dGluZ3M9YyxkfSxpPWZ1bmN0aW9uKGEsZCxlKXt2YXIgZz1hLmRhdGEoKSxpPWEuZmluZCgiaWZyYW1lIiksbD0iaWZyYW1lIitNYXRoLnJvdW5kKDFlNSpNYXRoLnJhbmRvbSgpKzEpLG89Zy52aWRlb2xvb3AscD0ibG9vcGFuZG5vc2xpZGVzdG9wIiE9bztpZihvPSJsb29wIj09b3x8Imxvb3BhbmRub3NsaWRlc3RvcCI9PW8sMT09YS5kYXRhKCJmb3JjZWNvdmVyIikpe2EucmVtb3ZlQ2xhc3MoImZ1bGxzY3JlZW52aWRlbyIpLmFkZENsYXNzKCJjb3ZlcnNjcmVlbnZpZGVvIik7dmFyIHE9YS5kYXRhKCJhc3BlY3RyYXRpbyIpO3ZvaWQgMCE9cSYmcS5zcGxpdCgiOiIpLmxlbmd0aD4xJiYoY29uc29sZS5sb2coImkiKSxiLnByZXBhcmVDb3ZlcmVkVmlkZW8ocSxkLGEpKX1pZigxPT1hLmRhdGEoImJndmlkZW8iKSl7dmFyIHE9YS5kYXRhKCJhc3BlY3RyYXRpbyIpO3ZvaWQgMCE9cSYmcS5zcGxpdCgiOiIpLmxlbmd0aD4xJiYoY29uc29sZS5sb2coImFrIiksYi5wcmVwYXJlQ292ZXJlZFZpZGVvKHEsZCxhKSl9aWYoaS5hdHRyKCJpZCIsbCksZSYmYS5kYXRhKCJzdGFydHZpZGVvbm93IiwhMCksMSE9PWEuZGF0YSgidmlkZW9saXN0ZW5lcmV4aXN0Iikpc3dpdGNoKGcudmlkZW90eXBlKXtjYXNlInlvdXR1YmUiOnZhciByPW5ldyBZVC5QbGF5ZXIobCx7ZXZlbnRzOntvblN0YXRlQ2hhbmdlOmZ1bmN0aW9uKGMpe3ZhciBlPWEuY2xvc2VzdCgiLnRwLXNpbXBsZXJlc3BvbnNpdmUiKSxxPShnLnZpZGVvcmF0ZSxhLmRhdGEoInZpZGVvc3RhcnQiKSxrKCkpO2lmKGMuZGF0YT09WVQuUGxheWVyU3RhdGUuUExBWUlORylwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLC4zLHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiaWZyYW1lIiksLjMse2F1dG9BbHBoYToxLGRpc3BsYXk6ImJsb2NrIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pLCJtdXRlIj09YS5kYXRhKCJ2b2x1bWUiKXx8Yi5sYXN0VG9nZ2xlU3RhdGUoYS5kYXRhKCJ2aWRlb211dGV0b2dnbGVkYnkiKSl8fCEwPT09ZC5nbG9iYWxtdXRlP3IubXV0ZSgpOihyLnVuTXV0ZSgpLHIuc2V0Vm9sdW1lKHBhcnNlSW50KGEuZGF0YSgidm9sdW1lIiksMCl8fDc1KSksZC52aWRlb3BsYXlpbmc9ITAsbShhLGQpLHA/ZC5jLnRyaWdnZXIoInN0b3B0aW1lciIpOmQudmlkZW9wbGF5aW5nPSExLGQuYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9wbGF5IixoKHIsInlvdXR1YmUiLGEuZGF0YSgpKSksYi50b2dnbGVTdGF0ZShnLnZpZGVvdG9nZ2xlZGJ5KTtlbHNle2lmKDA9PWMuZGF0YSYmbyl7dmFyIHM9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTstMSE9cyYmci5zZWVrVG8ocyksci5wbGF5VmlkZW8oKSxiLnRvZ2dsZVN0YXRlKGcudmlkZW90b2dnbGVkYnkpfXF8fDAhPWMuZGF0YSYmMiE9Yy5kYXRhfHwhKCJvbiI9PWEuZGF0YSgic2hvd2NvdmVyb25wYXVzZSIpJiZhLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLmxlbmd0aD4wfHwxPT09YS5kYXRhKCJiZ3ZpZGVvIikmJmEuZmluZCgiLnJzLWZ1bGx2aWRlby1jb3ZlciIpLmxlbmd0aD4wKXx8KDE9PT1hLmRhdGEoImJndmlkZW8iKT9wdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoIi5ycy1mdWxsdmlkZW8tY292ZXIiKSwuMSx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXR9KTpwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLC4xLHthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiaWZyYW1lIiksLjEse2F1dG9BbHBoYTowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpLC0xIT1jLmRhdGEmJjMhPWMuZGF0YSYmKGQudmlkZW9wbGF5aW5nPSExLGQudG9ucGF1c2U9ITEsbihhLGQpLGUudHJpZ2dlcigic3RhcnR0aW1lciIpLGQuYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9zdG9wIixoKHIsInlvdXR1YmUiLGEuZGF0YSgpKSksdm9pZCAwIT1kLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nJiZkLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nLmF0dHIoImlkIikhPWEuYXR0cigiaWQiKXx8Yi51blRvZ2dsZVN0YXRlKGcudmlkZW90b2dnbGVkYnkpKSwwPT1jLmRhdGEmJjE9PWEuZGF0YSgibmV4dHNsaWRlYXRlbmQiKT8oaigpLGEuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwxKSxkLmMucmV2bmV4dCgpLG4oYSxkKSk6KG4oYSxkKSxkLnZpZGVvcGxheWluZz0hMSxlLnRyaWdnZXIoInN0YXJ0dGltZXIiKSxkLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsaChyLCJ5b3V0dWJlIixhLmRhdGEoKSkpLHZvaWQgMCE9ZC5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyYmZC5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZy5hdHRyKCJpZCIpIT1hLmF0dHIoImlkIil8fGIudW5Ub2dnbGVTdGF0ZShnLnZpZGVvdG9nZ2xlZGJ5KSl9fSxvblJlYWR5OmZ1bmN0aW9uKGIpe3ZhciBkPWcudmlkZW9yYXRlO2EuZGF0YSgidmlkZW9zdGFydCIpO2lmKGEuYWRkQ2xhc3MoInJzLWFwaXJlYWR5Iiksdm9pZCAwIT1kJiZiLnRhcmdldC5zZXRQbGF5YmFja1JhdGUocGFyc2VGbG9hdChkKSksYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS51bmJpbmQoImNsaWNrIiksYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5jbGljayhmdW5jdGlvbigpe2N8fHIucGxheVZpZGVvKCl9KSxhLmRhdGEoInN0YXJ0dmlkZW9ub3ciKSl7Zy5wbGF5ZXIucGxheVZpZGVvKCk7dmFyIGg9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTstMSE9aCYmZy5wbGF5ZXIuc2Vla1RvKGgpfWEuZGF0YSgidmlkZW9saXN0ZW5lcmV4aXN0IiwxKX19fSk7YS5kYXRhKCJwbGF5ZXIiLHIpO2JyZWFrO2Nhc2UidmltZW8iOmZvcih2YXIgdyxzPWkuYXR0cigic3JjIiksdD17fSx1PXMsdj0vKFteJj1dKyk9KFteJl0qKS9nO3c9di5leGVjKHUpOyl0W2RlY29kZVVSSUNvbXBvbmVudCh3WzFdKV09ZGVjb2RlVVJJQ29tcG9uZW50KHdbMl0pO3M9dm9pZCAwIT10LnBsYXllcl9pZD9zLnJlcGxhY2UodC5wbGF5ZXJfaWQsbCk6cysiJnBsYXllcl9pZD0iK2w7dHJ5e3M9cy5yZXBsYWNlKCJhcGk9MCIsImFwaT0xIil9Y2F0Y2goYSl7fXMrPSImYXBpPTEiLGkuYXR0cigic3JjIixzKTt2YXIgcj1hLmZpbmQoImlmcmFtZSIpWzBdLHk9KGpRdWVyeSgiIyIrbCksJGYobCkpO3kuYWRkRXZlbnQoInJlYWR5IixmdW5jdGlvbigpe2lmKGEuYWRkQ2xhc3MoInJzLWFwaXJlYWR5IikseS5hZGRFdmVudCgicGxheSIsZnVuY3Rpb24oYyl7YS5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiLDApLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIiksLjMse2F1dG9BbHBoYTowLGZvcmNlM0Q6ImF1dG8iLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkscHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCJpZnJhbWUiKSwuMyx7YXV0b0FscGhhOjEsZGlzcGxheToiYmxvY2siLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSksZC5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3BsYXkiLGgoeSwidmltZW8iLGEuZGF0YSgpKSksZC52aWRlb3BsYXlpbmc9ITAsbShhLGQpLHA/ZC5jLnRyaWdnZXIoInN0b3B0aW1lciIpOmQudmlkZW9wbGF5aW5nPSExLCJtdXRlIj09YS5kYXRhKCJ2b2x1bWUiKXx8Yi5sYXN0VG9nZ2xlU3RhdGUoYS5kYXRhKCJ2aWRlb211dGV0b2dnbGVkYnkiKSl8fCEwPT09ZC5nbG9iYWxtdXRlP3kuYXBpKCJzZXRWb2x1bWUiLCIwIik6eS5hcGkoInNldFZvbHVtZSIscGFyc2VJbnQoYS5kYXRhKCJ2b2x1bWUiKSwwKS8xMDB8fC43NSksYi50b2dnbGVTdGF0ZShnLnZpZGVvdG9nZ2xlZGJ5KX0pLHkuYWRkRXZlbnQoInBsYXlQcm9ncmVzcyIsZnVuY3Rpb24oYil7dmFyIGM9ZihhLmRhdGEoInZpZGVvZW5kYXQiKSk7aWYoYS5kYXRhKCJjdXJyZW50dGltZSIsYi5zZWNvbmRzKSwwIT1jJiZNYXRoLmFicyhjLWIuc2Vjb25kcyk8LjMmJmM+Yi5zZWNvbmRzJiYxIT1hLmRhdGEoIm5leHRzbGlkZWNhbGxlZCIpKWlmKG8pe3kuYXBpKCJwbGF5Iik7dmFyIGU9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTstMSE9ZSYmeS5hcGkoInNlZWtUbyIsZSl9ZWxzZSAxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kIikmJihhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMSksYS5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiLDEpLGQuYy5yZXZuZXh0KCkpLHkuYXBpKCJwYXVzZSIpfSkseS5hZGRFdmVudCgiZmluaXNoIixmdW5jdGlvbihjKXtuKGEsZCksZC52aWRlb3BsYXlpbmc9ITEsZC5jLnRyaWdnZXIoInN0YXJ0dGltZXIiKSxkLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsaCh5LCJ2aW1lbyIsYS5kYXRhKCkpKSwxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kIikmJihhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMSksZC5jLnJldm5leHQoKSksdm9pZCAwIT1kLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nJiZkLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nLmF0dHIoImlkIikhPWEuYXR0cigiaWQiKXx8Yi51blRvZ2dsZVN0YXRlKGcudmlkZW90b2dnbGVkYnkpfSkseS5hZGRFdmVudCgicGF1c2UiLGZ1bmN0aW9uKGMpeygib24iPT1hLmRhdGEoInNob3djb3Zlcm9ucGF1c2UiKSYmYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5sZW5ndGg+MHx8MT09PWEuZGF0YSgiYmd2aWRlbyIpJiZhLmZpbmQoIi5ycy1mdWxsdmlkZW8tY292ZXIiKS5sZW5ndGg+MCkmJigxPT09YS5kYXRhKCJiZ3ZpZGVvIik/cHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCIucnMtZnVsbHZpZGVvLWNvdmVyIiksLjEse2F1dG9BbHBoYToxLGZvcmNlM0Q6ImF1dG8iLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwuMSx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXR9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoImlmcmFtZSIpLC4xLHthdXRvQWxwaGE6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pKSxkLnZpZGVvcGxheWluZz0hMSxkLnRvbnBhdXNlPSExLG4oYSxkKSxkLmMudHJpZ2dlcigic3RhcnR0aW1lciIpLGQuYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9zdG9wIixoKHksInZpbWVvIixhLmRhdGEoKSkpLHZvaWQgMCE9ZC5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyYmZC5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZy5hdHRyKCJpZCIpIT1hLmF0dHIoImlkIil8fGIudW5Ub2dnbGVTdGF0ZShnLnZpZGVvdG9nZ2xlZGJ5KX0pLGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikudW5iaW5kKCJjbGljayIpLGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikuY2xpY2soZnVuY3Rpb24oKXtpZighYylyZXR1cm4geS5hcGkoInBsYXkiKSwhMX0pLGEuZGF0YSgic3RhcnR2aWRlb25vdyIpKXt5LmFwaSgicGxheSIpO3ZhciBlPWYoYS5kYXRhKCJ2aWRlb3N0YXJ0YXQiKSk7LTEhPWUmJnkuYXBpKCJzZWVrVG8iLGUpfWEuZGF0YSgidmlkZW9saXN0ZW5lcmV4aXN0IiwxKX0pfWVsc2V7dmFyIHo9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTtzd2l0Y2goZy52aWRlb3R5cGUpe2Nhc2UieW91dHViZSI6ZSYmKGcucGxheWVyLnBsYXlWaWRlbygpLC0xIT16JiZnLnBsYXllci5zZWVrVG8oKSk7YnJlYWs7Y2FzZSJ2aW1lbyI6aWYoZSl7dmFyIHk9JGYoYS5maW5kKCJpZnJhbWUiKS5hdHRyKCJpZCIpKTt5LmFwaSgicGxheSIpLC0xIT16JiZ5LmFwaSgic2Vla1RvIix6KX19fX0saj1mdW5jdGlvbigpe2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuP2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk6ZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbj9kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKCk6ZG9jdW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4mJmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCl9LGs9ZnVuY3Rpb24oKXt0cnl7aWYodm9pZCAwIT09d2luZG93LmZ1bGxTY3JlZW4pcmV0dXJuIHdpbmRvdy5mdWxsU2NyZWVuO3ZhciBhPTU7cmV0dXJuIGpRdWVyeS5icm93c2VyLndlYmtpdCYmL0FwcGxlIENvbXB1dGVyLy50ZXN0KG5hdmlnYXRvci52ZW5kb3IpJiYoYT00Miksc2NyZWVuLndpZHRoPT13aW5kb3cuaW5uZXJXaWR0aCYmTWF0aC5hYnMoc2NyZWVuLmhlaWdodC13aW5kb3cuaW5uZXJIZWlnaHQpPGF9Y2F0Y2goYSl7fX0sbD1mdW5jdGlvbihhLGUsaSl7aWYoYyYmMT09YS5kYXRhKCJkaXNhYmxldmlkZW9vbm1vYmlsZSIpKXJldHVybiExO3ZhciBsPWEuZGF0YSgpLG89Imh0bWw1Ij09bC5hdWRpbz8iYXVkaW8iOiJ2aWRlbyIscD1hLmZpbmQobykscT1wWzBdLHI9cC5wYXJlbnQoKSxzPWwudmlkZW9sb29wLHQ9Imxvb3BhbmRub3NsaWRlc3RvcCIhPXM7aWYocz0ibG9vcCI9PXN8fCJsb29wYW5kbm9zbGlkZXN0b3AiPT1zLHIuZGF0YSgibWV0YWxvYWRlZCIsMSksMSE9YS5kYXRhKCJiZ3ZpZGVvIil8fCJub25lIiE9PWwudmlkZW9sb29wJiYhMSE9PWwudmlkZW9sb29wfHwodD0hMSksdm9pZCAwPT1wLmF0dHIoImNvbnRyb2wiKSYmKDAhPWEuZmluZCgiLnRwLXZpZGVvLXBsYXktYnV0dG9uIikubGVuZ3RofHxjfHxhLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtdmlkZW8tcGxheS1idXR0b24iPjxpIGNsYXNzPSJyZXZpY29uLXJpZ2h0LWRpciI+PC9pPjxzcGFuIGNsYXNzPSJ0cC1yZXZzdG9wIj4mbmJzcDs8L3NwYW4+PC9kaXY+JyksYS5maW5kKCJ2aWRlbywgLnRwLXBvc3RlciwgLnRwLXZpZGVvLXBsYXktYnV0dG9uIikuY2xpY2soZnVuY3Rpb24oKXthLmhhc0NsYXNzKCJ2aWRlb2lzcGxheWluZyIpP3EucGF1c2UoKTpxLnBsYXkoKX0pKSwxPT1hLmRhdGEoImZvcmNlY292ZXIiKXx8YS5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIil8fDE9PWEuZGF0YSgiYmd2aWRlbyIpKWlmKDE9PWEuZGF0YSgiZm9yY2Vjb3ZlciIpfHwxPT1hLmRhdGEoImJndmlkZW8iKSl7ci5hZGRDbGFzcygiZnVsbGNvdmVyZWR2aWRlbyIpO3ZhciB1PWEuZGF0YSgiYXNwZWN0cmF0aW8iKXx8IjQ6MyI7Yi5zZXRTaXplKGUpLGIucHJlcGFyZUNvdmVyZWRWaWRlbyh1LGUsYSl9ZWxzZSByLmFkZENsYXNzKCJmdWxsc2NyZWVudmlkZW8iKTt2YXIgdj1hLmZpbmQoIi50cC12aWQtcGxheS1wYXVzZSIpWzBdLHc9YS5maW5kKCIudHAtdmlkLW11dGUiKVswXSx4PWEuZmluZCgiLnRwLXZpZC1mdWxsLXNjcmVlbiIpWzBdLHk9YS5maW5kKCIudHAtc2Vlay1iYXIiKVswXSx6PWEuZmluZCgiLnRwLXZvbHVtZS1iYXIiKVswXTt2b2lkIDAhPXYmJmcodiwiY2xpY2siLGZ1bmN0aW9uKCl7MT09cS5wYXVzZWQ/cS5wbGF5KCk6cS5wYXVzZSgpfSksdm9pZCAwIT13JiZnKHcsImNsaWNrIixmdW5jdGlvbigpezA9PXEubXV0ZWQ/KHEubXV0ZWQ9ITAsdy5pbm5lckhUTUw9IlVubXV0ZSIpOihxLm11dGVkPSExLHcuaW5uZXJIVE1MPSJNdXRlIil9KSx2b2lkIDAhPXgmJngmJmcoeCwiY2xpY2siLGZ1bmN0aW9uKCl7cS5yZXF1ZXN0RnVsbHNjcmVlbj9xLnJlcXVlc3RGdWxsc2NyZWVuKCk6cS5tb3pSZXF1ZXN0RnVsbFNjcmVlbj9xLm1velJlcXVlc3RGdWxsU2NyZWVuKCk6cS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiYmcS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpfSksdm9pZCAwIT15JiYoZyh5LCJjaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIGE9cS5kdXJhdGlvbiooeS52YWx1ZS8xMDApO3EuY3VycmVudFRpbWU9YX0pLGcoeSwibW91c2Vkb3duIixmdW5jdGlvbigpe2EuYWRkQ2xhc3MoInNlZWtiYXJkcmFnZ2VkIikscS5wYXVzZSgpfSksZyh5LCJtb3VzZXVwIixmdW5jdGlvbigpe2EucmVtb3ZlQ2xhc3MoInNlZWtiYXJkcmFnZ2VkIikscS5wbGF5KCl9KSksZyhxLCJjYW5wbGF5dGhyb3VnaCIsZnVuY3Rpb24oKXtiLnByZUxvYWRBdWRpb0RvbmUoYSxlLCJjYW5wbGF5dGhyb3VnaCIpfSksZyhxLCJjYW5wbGF5IixmdW5jdGlvbigpe2IucHJlTG9hZEF1ZGlvRG9uZShhLGUsImNhbnBsYXkiKX0pLGcocSwicHJvZ3Jlc3MiLGZ1bmN0aW9uKCl7Yi5wcmVMb2FkQXVkaW9Eb25lKGEsZSwicHJvZ3Jlc3MiKX0pLGcocSwidGltZXVwZGF0ZSIsZnVuY3Rpb24oKXt2YXIgYj0xMDAvcS5kdXJhdGlvbipxLmN1cnJlbnRUaW1lLGM9ZihhLmRhdGEoInZpZGVvZW5kYXQiKSksZD1xLmN1cnJlbnRUaW1lO2lmKHZvaWQgMCE9eSYmKHkudmFsdWU9YiksMCE9YyYmLTEhPWMmJk1hdGguYWJzKGMtZCk8PS4zJiZjPmQmJjEhPWEuZGF0YSgibmV4dHNsaWRlY2FsbGVkIikpaWYocyl7cS5wbGF5KCk7dmFyIGc9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTstMSE9ZyYmKHEuY3VycmVudFRpbWU9Zyl9ZWxzZSAxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kIikmJihhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMSksYS5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiLDEpLGUuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lcj0hMCxlLmMucmV2bmV4dCgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLmp1c3RfY2FsbGVkX25leHRzbGlkZV9hdF9odG1sdGltZXI9ITF9LDFlMykpLHEucGF1c2UoKX0pLHZvaWQgMCE9eiYmZyh6LCJjaGFuZ2UiLGZ1bmN0aW9uKCl7cS52b2x1bWU9ei52YWx1ZX0pLGcocSwicGxheSIsZnVuY3Rpb24oKXthLmRhdGEoIm5leHRzbGlkZWNhbGxlZCIsMCk7dmFyIGM9YS5kYXRhKCJ2b2x1bWUiKTtjPXZvaWQgMCE9YyYmIm11dGUiIT1jP3BhcnNlRmxvYXQoYykvMTAwOmMsZHx8KCEwPT09ZS5nbG9iYWxtdXRlP3EubXV0ZWQ9ITA6cS5tdXRlZD0hMSxjPjEmJihjLz0xMDApLCJtdXRlIj09Yz9xLm11dGVkPSEwOnZvaWQgMCE9YyYmKHEudm9sdW1lPWMpKSxhLmFkZENsYXNzKCJ2aWRlb2lzcGxheWluZyIpO3ZhciBmPSJodG1sNSI9PWwuYXVkaW8/ImF1ZGlvIjoidmlkZW8iO20oYSxlKSx0JiYiYXVkaW8iIT1mPyhlLnZpZGVvcGxheWluZz0hMCxlLmMudHJpZ2dlcigic3RvcHRpbWVyIiksZS5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3BsYXkiLGgocSwiaHRtbDUiLGwpKSk6KGUudmlkZW9wbGF5aW5nPSExLCJhdWRpbyIhPWYmJmUuYy50cmlnZ2VyKCJzdGFydHRpbWVyIiksZS5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3N0b3AiLGgocSwiaHRtbDUiLGwpKSkscHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwuMyx7YXV0b0FscGhhOjAsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXR9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoZiksLjMse2F1dG9BbHBoYToxLGRpc3BsYXk6ImJsb2NrIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pO3ZhciBnPWEuZmluZCgiLnRwLXZpZC1wbGF5LXBhdXNlIilbMF0saT1hLmZpbmQoIi50cC12aWQtbXV0ZSIpWzBdO3ZvaWQgMCE9ZyYmKGcuaW5uZXJIVE1MPSJQYXVzZSIpLHZvaWQgMCE9aSYmcS5tdXRlZCYmKGkuaW5uZXJIVE1MPSJVbm11dGUiKSxiLnRvZ2dsZVN0YXRlKGwudmlkZW90b2dnbGVkYnkpfSksZyhxLCJwYXVzZSIsZnVuY3Rpb24oYyl7dmFyIGQ9Imh0bWw1Ij09bC5hdWRpbz8iYXVkaW8iOiJ2aWRlbyI7IWsoKSYmYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5sZW5ndGg+MCYmIm9uIj09YS5kYXRhKCJzaG93Y292ZXJvbnBhdXNlIikmJiFhLmhhc0NsYXNzKCJzZWVrYmFyZHJhZ2dlZCIpJiYocHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwuMyx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXR9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoZCksLjMse2F1dG9BbHBoYTowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpLGEucmVtb3ZlQ2xhc3MoInZpZGVvaXNwbGF5aW5nIiksZS52aWRlb3BsYXlpbmc9ITEsbihhLGUpLCJhdWRpbyIhPWQmJmUuYy50cmlnZ2VyKCJzdGFydHRpbWVyIiksZS5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3N0b3AiLGgocSwiaHRtbDUiLGEuZGF0YSgpKSk7dmFyIGc9YS5maW5kKCIudHAtdmlkLXBsYXktcGF1c2UiKVswXTt2b2lkIDAhPWcmJihnLmlubmVySFRNTD0iUGxheSIpLHZvaWQgMCE9ZS5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyYmZS5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZy5hdHRyKCJpZCIpIT1hLmF0dHIoImlkIil8fGIudW5Ub2dnbGVTdGF0ZShsLnZpZGVvdG9nZ2xlZGJ5KX0pLGcocSwiZW5kZWQiLGZ1bmN0aW9uKCl7aigpLG4oYSxlKSxlLnZpZGVvcGxheWluZz0hMSxuKGEsZSksImF1ZGlvIiE9byYmZS5jLnRyaWdnZXIoInN0YXJ0dGltZXIiKSxlLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsaChxLCJodG1sNSIsYS5kYXRhKCkpKSwhMD09PWEuZGF0YSgibmV4dHNsaWRlYXRlbmQiKSYmcS5jdXJyZW50VGltZT4wJiYoMT09IWUuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lciYmKGEuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwxKSxlLmMucmV2bmV4dCgpLGUuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lcj0hMCksc2V0VGltZW91dChmdW5jdGlvbigpe2UuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lcj0hMX0sMTUwMCkpLGEucmVtb3ZlQ2xhc3MoInZpZGVvaXNwbGF5aW5nIil9KX0sbT1mdW5jdGlvbihhLGMpe3ZvaWQgMD09Yy5wbGF5aW5ndmlkZW9zJiYoYy5wbGF5aW5ndmlkZW9zPW5ldyBBcnJheSksYS5kYXRhKCJzdG9wYWxsdmlkZW9zIikmJnZvaWQgMCE9Yy5wbGF5aW5ndmlkZW9zJiZjLnBsYXlpbmd2aWRlb3MubGVuZ3RoPjAmJihjLmxhc3RwbGF5ZWR2aWRlb3M9alF1ZXJ5LmV4dGVuZCghMCxbXSxjLnBsYXlpbmd2aWRlb3MpLGpRdWVyeS5lYWNoKGMucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihhLGQpe2Iuc3RvcFZpZGVvKGQsYyl9KSksYy5wbGF5aW5ndmlkZW9zLnB1c2goYSksYy5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZz1hfSxuPWZ1bmN0aW9uKGEsYil7dm9pZCAwIT1iLnBsYXlpbmd2aWRlb3MmJmpRdWVyeS5pbkFycmF5KGEsYi5wbGF5aW5ndmlkZW9zKT49MCYmYi5wbGF5aW5ndmlkZW9zLnNwbGljZShqUXVlcnkuaW5BcnJheShhLGIucGxheWluZ3ZpZGVvcyksMSl9fShqUXVlcnkpOw=="}},"time_used":286,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":285,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/about.jpeg","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.247Z","timestamp":1785123385247,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/about.jpeg HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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 404 \r\ncontent-type: text/html\r\nlast-modified: Tue, 22 Apr 2025 07:41:12 GMT\r\netag: \"119f-68074818-50a8cf69a1493aef;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1626\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4511,"size_decoded":1936,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-07-31T13:43:18.980552Z","times_seen":38021,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":117,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":117,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.layeranimation.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.226Z","timestamp":1785123385226,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.layeranimation.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"dac0-65fd8520-1c790364eaeff75e;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 13728\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":56000,"size_decoded":14185,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (55747), with CRLF line terminators","md5":"c8447797a143c1450fc568df80d84644","sha1":"5a53d554a8bb9ed2806ca5c334908b23c9ad4bb0","sha256":"6867ff7eec8e29d555e5bfcadc9e19f04d1e3a34de99255647f9ca573536b7ef","sha512":"ce076a2702f1c93dff9a90dfc01bca938763e0b3fd331988a865553f5a90f865d8441a05e54110eaac359b8278ed11abad48a3b43a96c3717f911fd746825764","ssdeep":"384:/xzdbsv52ydfPEnYpF5BzJCP0bRjB6Y3tsq4dtS1YD2JQu/BDY8+wEGNc8zOluDk:jwpFDO+tsq4dtLsQEBDYHPGNm6GV+UfH","tlshash":"3543eac6ea102ce551ab8145d1bf44593220ffb8b10285f1fd56a49a1a4cf8621ebf7f","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-30T05:52:29.065902Z","times_seen":1574,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogUkVWT0xVVElPTiA1LjQuMiBFWFRFTlNJT04gLSBMQVlFUiBBTklNQVRJT04NCiAqIEB2ZXJzaW9uOiAzLjYuMyAoMTcuMDUuMjAxNykNCiAqIEByZXF1aXJlcyBqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLmpzDQogKiBAYXV0aG9yIFRoZW1lUHVuY2gNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiFmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdyhhLGIsYyxkLGUsZixnKXt2YXIgaD1hLmZpbmQoYik7aC5jc3MoImJvcmRlcldpZHRoIixmKyJweCIpLGguY3NzKGMsMC1mKyJweCIpLGguY3NzKGQsIjBweCBzb2xpZCB0cmFuc3BhcmVudCIpLGguY3NzKGUsZyl9dmFyIGI9alF1ZXJ5LmZuLnJldm9sdXRpb24sZT0oYi5pc19tb2JpbGUoKSxiLmlzX2FuZHJvaWQoKSx7YWxpYXM6IkxheWVyQW5pbWF0aW9uIE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLmxheWVyYW5pbWF0aW9uLm1pbi5qcyIsbWluX2NvcmU6IjUuNC41Iix2ZXJzaW9uOiIzLjYuMyJ9KTtqUXVlcnkuZXh0ZW5kKCEwLGIse3VwZGF0ZU1hcmt1cDpmdW5jdGlvbihhLGIpe3ZhciBjPWpRdWVyeShhKS5kYXRhKCk7aWYodm9pZCAwIT09Yy5zdGFydCYmIWMuZnJhbWVzX2FkZGVkJiZ2b2lkIDA9PT1jLmZyYW1lcyl7dmFyIGQ9bmV3IEFycmF5LGU9dChtKCksYy50cmFuc2Zvcm1faW4sdm9pZCAwLCExKSxmPXQobSgpLGMudHJhbnNmb3JtX291dCx2b2lkIDAsITEpLGc9dChtKCksYy50cmFuc2Zvcm1faG92ZXIsdm9pZCAwLCExKTtqUXVlcnkuaXNOdW1lcmljKGMuZW5kKSYmalF1ZXJ5LmlzTnVtZXJpYyhjLnN0YXJ0KSYmalF1ZXJ5LmlzTnVtZXJpYyhlLnNwZWVkKSYmKGMuZW5kPXBhcnNlSW50KGMuZW5kLDApLShwYXJzZUludChjLnN0YXJ0LDApK3BhcnNlRmxvYXQoZS5zcGVlZCwwKSkpLGQucHVzaCh7ZnJhbWU6IjAiLGRlbGF5OmMuc3RhcnQsZnJvbTpjLnRyYW5zZm9ybV9pbix0bzpjLnRyYW5zZm9ybV9pZGxlLHNwbGl0OmMuc3BsaXRpbixzcGVlZDplLnNwZWVkLGVhc2U6ZS5hbmltLmVhc2UsbWFzazpjLm1hc2tfaW4sc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGQucHVzaCh7ZnJhbWU6IjUiLGRlbGF5OmMuZW5kLHRvOmMudHJhbnNmb3JtX291dCxzcGxpdDpjLnNwbGl0b3V0LHNwZWVkOmYuc3BlZWQsZWFzZTpmLmFuaW0uZWFzZSxtYXNrOmMubWFza19vdXQsc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGMudHJhbnNmb3JtX2hvdmVyJiZkLnB1c2goe2ZyYW1lOiJob3ZlciIsdG86Yy50cmFuc2Zvcm1faG92ZXIsc3R5bGU6Yy5zdHlsZV9ob3ZlcixzcGVlZDpnLnNwZWVkLGVhc2U6Zy5hbmltLmVhc2Usc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGMuZnJhbWVzPWR9aWYoIWMuZnJhbWVzX2FkZGVkKXtpZihjLmluZnJhbWVpbmRleD0wLGMub3V0ZnJhbWVpbmRleD0tMSxjLmhvdmVyZnJhbWVpbmRleD0tMSx2b2lkIDAhPT1jLmZyYW1lcylmb3IodmFyIGg9MDtoPGMuZnJhbWVzLmxlbmd0aDtoKyspdm9pZCAwIT09Yy5mcmFtZXNbaF0uc2Z4X2VmZmVjdCYmYy5mcmFtZXNbaF0uc2Z4X2VmZmVjdC5pbmRleE9mKCJibG9jayIpPj0wJiYoMD09PWg/KGMuZnJhbWVzW2hdLmZyb209Im86MCIsYy5mcmFtZXNbaF0udG89Im86MSIpOmMuZnJhbWVzW2hdLnRvPSJvOjAiLGMuX3NmeD0iYmxvY2siKSx2b2lkIDA9PT1jLmZyYW1lc1swXS5mcm9tJiYoYy5mcmFtZXNbMF0uZnJvbT0ibzppbmhlcml0IiksMD09PWMuZnJhbWVzWzBdLmRlbGF5JiYoYy5mcmFtZXNbMF0uZGVsYXk9MjApLCJob3ZlciI9PT1jLmZyYW1lc1toXS5mcmFtZT9jLmhvdmVyZnJhbWVpbmRleD1oOiJmcmFtZV85OTkiIT09Yy5mcmFtZXNbaF0uZnJhbWUmJiJmcmFtZV9vdXQiIT09Yy5mcmFtZXNbaF0uZnJhbWUmJiJsYXN0IiE9PWMuZnJhbWVzW2hdLmZyYW1lJiYiZW5kIiE9PWMuZnJhbWVzW2hdLmZyYW1lfHwoYy5vdXRmcmFtZWluZGV4PWgpLHZvaWQgMCE9PWMuZnJhbWVzW2hdLnNwbGl0JiZjLmZyYW1lc1toXS5zcGxpdC5tYXRjaCgvY2hhcnN8d29yZHN8bGluZXMvZykmJihjLnNwbGl0dGV4dD0hMCk7Yy5vdXRmcmFtZWluZGV4PS0xPT09Yy5vdXRmcmFtZWluZGV4Py0xPT09Yy5ob3ZlcmZyYW1laW5kZXg/Yy5mcmFtZXMubGVuZ3RoLTE6Yy5mcmFtZXMubGVuZ3RoLTI6Yy5vdXRmcmFtZWluZGV4LGMuZnJhbWVzX2FkZGVkPSEwfX0sYW5pbWNvbXBsZXRlZDpmdW5jdGlvbihhLGMpe3ZhciBkPWEuZGF0YSgpLGU9ZC52aWRlb3R5cGUsZj1kLmF1dG9wbGF5LGc9ZC5hdXRvcGxheW9ubHlmaXJzdHRpbWU7dm9pZCAwIT1lJiYibm9uZSIhPWUmJigxPT1mfHwidHJ1ZSI9PWZ8fCJvbiI9PWZ8fCIxc3R0aW1lIj09Znx8Zz8oKCJjYXJvdXNlbCIhPT1jLnNsaWRlclR5cGV8fCJjYXJvdXNlbCI9PT1jLnNsaWRlclR5cGUmJiJvbiI9PT1jLmNhcm91c2VsLnNob3dMYXllcnNBbGxUaW1lJiZhLmNsb3Nlc3QoImxpIikuaGFzQ2xhc3MoImFjdGl2ZS1yZXZzbGlkZSIpfHwiY2Fyb3VzZWwiPT09Yy5zbGlkZXJUeXBlJiYib24iIT09Yy5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSYmYS5jbG9zZXN0KCJsaSIpLmhhc0NsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKSkmJmIucGxheVZpZGVvKGEsYyksYi50b2dnbGVTdGF0ZShhLmRhdGEoInZpZGVvdG9nZ2xlZGJ5IikpLChnfHwiMXN0dGltZSI9PWYpJiYoZC5hdXRvcGxheW9ubHlmaXJzdHRpbWU9ITEsZC5hdXRvcGxheT0ib2ZmIikpOigibm8xc3R0aW1lIj09ZiYmKGQuZGF0YXNldGF1dG9wbGF5PSJvbiIpLGIudW5Ub2dnbGVTdGF0ZShhLmRhdGEoInZpZGVvdG9nZ2xlZGJ5IikpKSl9LGhhbmRsZVN0YXRpY0xheWVyczpmdW5jdGlvbihhLGIpe3ZhciBjPXBhcnNlSW50KGEuZGF0YSgic3RhcnRzbGlkZSIpLDApLGQ9cGFyc2VJbnQoYS5kYXRhKCJlbmRzbGlkZSIpLDApO2M8MCYmKGM9MCksZDwwJiYoZD1iLnJlYWxzbGlkZWFtb3VudCksMD09PWMmJmQ9PT1iLnJlYWxzbGlkZWFtb3VudC0xJiYoZD1iLnJlYWxzbGlkZWFtb3VudCsxKSxhLmRhdGEoInN0YXJ0c2xpZGUiLGMpLGEuZGF0YSgiZW5kc2xpZGUiLGQpfSxhbmltYXRlVGhlQ2FwdGlvbnM6ZnVuY3Rpb24oYSl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spcmV0dXJuITE7dmFyIGM9YS5vcHQsZD1hLnNsaWRlLGY9YS5yZWNhbGwsZz1hLm1haW50aW1lbGluZSxoPWEucHJlc2V0LGk9YS5zdGFydHNsaWRlYW5pbWF0LGo9ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZT8wOmMud2lkdGgvMi1jLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSpjLmJ3LzIsaz0wLGw9ZC5kYXRhKCJpbmRleCIpO2lmKGMubGF5ZXJzPWMubGF5ZXJzfHxuZXcgT2JqZWN0LGMubGF5ZXJzW2xdPWMubGF5ZXJzW2xdfHxkLmZpbmQoIi50cC1jYXB0aW9uIiksYy5sYXllcnMuc3RhdGljPWMubGF5ZXJzLnN0YXRpY3x8Yy5jLmZpbmQoIi50cC1zdGF0aWMtbGF5ZXJzIikuZmluZCgiLnRwLWNhcHRpb24iKSx2b2lkIDA9PT1jLnRpbWVsaW5lcyYmYi5jcmVhdGVUaW1lbGluZVN0cnVjdHVyZShjKSxjLmNvbmg9Yy5jLmhlaWdodCgpLGMuY29udz1jLmMud2lkdGgoKSxjLnVsdz1jLnVsLndpZHRoKCksYy51bGg9Yy51bC5oZWlnaHQoKSxjLmRlYnVnTW9kZSl7ZC5hZGRDbGFzcygiaW5kZWJ1Z21vZGUiKSxkLmZpbmQoIi5oZWxwZ3JpZCIpLnJlbW92ZSgpLGMuYy5maW5kKCIuaGdsYXllcmluZm8iKS5yZW1vdmUoKSxkLmFwcGVuZCgnPGRpdiBjbGFzcz0iaGVscGdyaWQiIHN0eWxlPSJ3aWR0aDonK2MuZ3JpZHdpZHRoW2MuY3VyV2luUmFuZ2VdKmMuYncrInB4O2hlaWdodDoiK2MuZ3JpZGhlaWdodFtjLmN1cldpblJhbmdlXSpjLmJ3KydweDsiPjwvZGl2PicpO3ZhciBtPWQuZmluZCgiLmhlbHBncmlkIik7bS5hcHBlbmQoJzxkaXYgY2xhc3M9ImhnaW5mbyI+Wm9vbTonK01hdGgucm91bmQoMTAwKmMuYncpKyIlICZuYnNwOyZuYnNwOyZuYnNwOyBEZXZpY2UgTGV2ZWw6IitjLmN1cldpblJhbmdlKyImbmJzcDsmbmJzcDsmbmJzcDsgR3JpZCBQcmVzZXQ6IitjLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSsieCIrYy5ncmlkaGVpZ2h0W2MuY3VyV2luUmFuZ2VdKyI8L2Rpdj4iKSxjLmMuYXBwZW5kKCc8ZGl2IGNsYXNzPSJoZ2xheWVyaW5mbyI+PC9kaXY+JyksbS5hcHBlbmQoJzxkaXYgY2xhc3M9InRsaGciPjwvZGl2PicpfXZvaWQgMCE9PWwmJmMubGF5ZXJzW2xdJiZqUXVlcnkuZWFjaChjLmxheWVyc1tsXSxmdW5jdGlvbihhLGQpe3ZhciBlPWpRdWVyeSh0aGlzKTtiLnVwZGF0ZU1hcmt1cCh0aGlzLGMpLGIucHJlcGFyZVNpbmdsZUNhcHRpb24oe2NhcHRpb246ZSxvcHQ6YyxvZmZzZXR4Omosb2Zmc2V0eTprLGluZGV4OmEscmVjYWxsOmYscHJlc2V0Omh9KSxoJiYwIT09aXx8Yi5idWlsZEZ1bGxUaW1lTGluZSh7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aCxyZWdlbmVyYXRlOjA9PT1pfSksZiYmImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZSYmIm9uIj09PWMuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWUmJmIuYW5pbWNvbXBsZXRlZChlLGMpfSksYy5sYXllcnMuc3RhdGljJiZqUXVlcnkuZWFjaChjLmxheWVycy5zdGF0aWMsZnVuY3Rpb24oYSxkKXt2YXIgZT1qUXVlcnkodGhpcyksZz1lLmRhdGEoKTshMCE9PWcuaG92ZXJlZHN0YXR1cyYmITAhPT1nLmluaG92ZXJvdXRhbmltYXRpb24/KGIudXBkYXRlTWFya3VwKHRoaXMsYyksYi5wcmVwYXJlU2luZ2xlQ2FwdGlvbih7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aH0pLGgmJjAhPT1pfHwhMD09PWcudmVyeWZpcnN0c3RzdGljfHwoYi5idWlsZEZ1bGxUaW1lTGluZSh7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aCxyZWdlbmVyYXRlOjA9PT1pfSksZy52ZXJ5Zmlyc3RzdHN0aWM9ITApLGYmJiJjYXJvdXNlbCI9PT1jLnNsaWRlclR5cGUmJiJvbiI9PT1jLmNhcm91c2VsLnNob3dMYXllcnNBbGxUaW1lJiZiLmFuaW1jb21wbGV0ZWQoZSxjKSk6Yi5wcmVwYXJlU2luZ2xlQ2FwdGlvbih7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aH0pfSk7dmFyIG49LTE9PT1jLm5leHRTbGlkZXx8dm9pZCAwPT09Yy5uZXh0U2xpZGU/MDpjLm5leHRTbGlkZTt2b2lkIDAhPT1jLnJvd3pvbmVzJiYobj1uPmMucm93em9uZXMubGVuZ3RoP2Mucm93em9uZXMubGVuZ3RoOm4pLHZvaWQgMCE9Yy5yb3d6b25lcyYmYy5yb3d6b25lcy5sZW5ndGg+MCYmdm9pZCAwIT1jLnJvd3pvbmVzW25dJiZuPj0wJiZuPD1jLnJvd3pvbmVzLmxlbmd0aCYmYy5yb3d6b25lc1tuXS5sZW5ndGg+MCYmYi5zZXRTaXplKGMpLGh8fHZvaWQgMCE9PWkmJih2b2lkIDAhPT1sJiZqUXVlcnkuZWFjaChjLnRpbWVsaW5lc1tsXS5sYXllcnMsZnVuY3Rpb24oYSxkKXt2YXIgZT1kLmxheWVyLmRhdGEoKTsibm9uZSIhPT1kLndyYXBwZXImJnZvaWQgMCE9PWQud3JhcHBlcnx8KCJrZWVwIj09ZC50cmlnZ2Vyc3RhdGUmJiJvbiI9PT1lLnRyaWdnZXJzdGF0ZT9iLnBsYXlBbmltYXRpb25GcmFtZSh7Y2FwdGlvbjpkLmxheWVyLG9wdDpjLGZyYW1lOiJmcmFtZV8wIix0cmlnZ2VyZGlyZWN0aW9uOiJpbiIsdHJpZ2dlcmZyYW1laW46ImZyYW1lXzAiLHRyaWdnZXJmcmFtZW91dDoiZnJhbWVfOTk5In0pOmQudGltZWxpbmUucmVzdGFydCgpKX0pLGMudGltZWxpbmVzLnN0YXRpY2xheWVycyYmalF1ZXJ5LmVhY2goYy50aW1lbGluZXMuc3RhdGljbGF5ZXJzLmxheWVycyxmdW5jdGlvbihhLGQpe3ZhciBlPWQubGF5ZXIuZGF0YSgpLGY9bj49ZC5maXJzdHNsaWRlJiZuPD1kLmxhc3RzbGlkZSxnPW48ZC5maXJzdHNsaWRlfHxuPmQubGFzdHNsaWRlLGg9ZC50aW1lbGluZS5nZXRMYWJlbFRpbWUoInNsaWRlXyIrZC5maXJzdHNsaWRlKSxpPWQudGltZWxpbmUuZ2V0TGFiZWxUaW1lKCJzbGlkZV8iK2QubGFzdHNsaWRlKSxqPWUuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWUsaz0iaW4iPT09ZS5hbmltZGlyZWN0aW9ufHwib3V0IiE9PWUuYW5pbWRpcmVjdGlvbiYmdm9pZCAwLGw9ImJ5dHJpZ2dlciI9PT1lLmZyYW1lc1swXS5kZWxheSxvPShlLmZyYW1lc1tlLmZyYW1lcy5sZW5ndGgtMV0uZGVsYXksZS50cmlnZ2VyZWRfc3RhcnRzdGF0dXMpLHA9ZS5sYXN0dHJpZ2dlcnN0YXRlOyEwIT09ZS5ob3ZlcmVkc3RhdHVzJiYxIT1lLmluaG92ZXJvdXRhbmltYXRpb24mJih2b2lkIDAhPT1qJiZrJiYoImtlZXAiPT1wPyhiLnBsYXlBbmltYXRpb25GcmFtZSh7Y2FwdGlvbjpkLmxheWVyLG9wdDpjLGZyYW1lOiJmcmFtZV8wIix0cmlnZ2VyZGlyZWN0aW9uOiJpbiIsdHJpZ2dlcmZyYW1laW46ImZyYW1lXzAiLHRyaWdnZXJmcmFtZW91dDoiZnJhbWVfOTk5In0pLGUudHJpZ2dlcmVkdGltZWxpbmUudGltZShqKSk6ITAhPT1lLmhvdmVyZWRzdGF0dXMmJmQudGltZWxpbmUudGltZShqKSksInJlc2V0Ij09PXAmJiJoaWRkZW4iPT09byYmKGQudGltZWxpbmUudGltZSgwKSxlLmFuaW1kaXJlY3Rpb249Im91dCIpLGY/az9uPT09ZC5sYXN0c2xpZGUmJihkLnRpbWVsaW5lLnBsYXkoaSksZS5hbmltZGlyZWN0aW9uPSJpbiIpOihsfHwiaW4iPT09ZS5hbmltZGlyZWN0aW9ufHxkLnRpbWVsaW5lLnBsYXkoaCksKCJ2aXNpYmxlIj09byYmImtlZXAiIT09cHx8ImtlZXAiPT09cCYmITA9PT1rfHwidmlzaWJsZSI9PW8mJnZvaWQgMD09PWspJiYoZC50aW1lbGluZS5wbGF5KGgrLjAxKSxlLmFuaW1kaXJlY3Rpb249ImluIikpOmcmJmsmJmQudGltZWxpbmUucGxheSgiZnJhbWVfOTk5IikpfSkpLHZvaWQgMCE9ZyYmc2V0VGltZW91dChmdW5jdGlvbigpe2cucmVzdW1lKCl9LDMwKX0scHJlcGFyZVNpbmdsZUNhcHRpb246ZnVuY3Rpb24oYSl7dmFyIGM9YS5jYXB0aW9uLGQ9Yy5kYXRhKCksZT1hLm9wdCxmPWEucmVjYWxsLGc9YS5yZWNhbGwsaT0oYS5wcmVzZXQsalF1ZXJ5KCJib2R5IikuaGFzQ2xhc3MoInJ0bCIpKTtpZihkLl9wdz12b2lkIDA9PT1kLl9wdz9jLmNsb3Nlc3QoIi50cC1wYXJhbGxheC13cmFwIik6ZC5fcHcsZC5fbHc9dm9pZCAwPT09ZC5fbHc/Yy5jbG9zZXN0KCIudHAtbG9vcC13cmFwIik6ZC5fbHcsZC5fbXc9dm9pZCAwPT09ZC5fbXc/Yy5jbG9zZXN0KCIudHAtbWFzay13cmFwIik6ZC5fbXcsZC5fcmVzcG9uc2l2ZT1kLnJlc3BvbnNpdmV8fCJvbiIsZC5fcmVzcG9mZnNldD1kLnJlc3BvbnNpdmVfb2Zmc2V0fHwib24iLGQuX2JhPWQuYmFzZWFsaWdufHwiZ3JpZCIsZC5fZ3c9ImdyaWQiPT09ZC5fYmE/ZS53aWR0aDplLnVsdyxkLl9naD0iZ3JpZCI9PT1kLl9iYT9lLmhlaWdodDplLnVsaCxkLl9saWc9dm9pZCAwPT09ZC5fbGlnP2MuaGFzQ2xhc3MoInJldl9sYXllcl9pbl9ncm91cCIpP2MuY2xvc2VzdCgiLnJldl9ncm91cCIpOmMuaGFzQ2xhc3MoInJldl9sYXllcl9pbl9jb2x1bW4iKT9jLmNsb3Nlc3QoIi5yZXZfY29sdW1uX2lubmVyIik6Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9yb3ciKToibm9uZSI6ZC5fbGlnLGQuX2NvbHVtbj12b2lkIDA9PT1kLl9jb2x1bW4/Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9jb2x1bW4iKToibm9uZSI6ZC5fY29sdW1uLGQuX3Jvdz12b2lkIDA9PT1kLl9yb3c/Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9yb3ciKToibm9uZSI6ZC5fcm93LGQuX2luZ3JvdXA9dm9pZCAwPT09ZC5faW5ncm91cD8hKGMuaGFzQ2xhc3MoInJldl9ncm91cCIpfHwhYy5jbG9zZXN0KCIucmV2X2dyb3VwIikpOmQuX2luZ3JvdXAsZC5faXNncm91cD12b2lkIDA9PT1kLl9pc2dyb3VwPyEhYy5oYXNDbGFzcygicmV2X2dyb3VwIik6ZC5faXNncm91cCxkLl9uY3R5cGU9ZC50eXBlfHwibm9uZSIsZC5fY2JnY19hdXRvPXZvaWQgMD09PWQuX2NiZ2NfYXV0bz8iY29sdW1uIj09PWQuX25jdHlwZSYmZC5fcHcuZmluZCgiLnJldl9jb2x1bW5fYmdfYXV0b19zaXplZCIpOmQuX2NiZ2NfYXV0byxkLl9jYmdjX21hbj12b2lkIDA9PT1kLl9jYmdjX21hbj8iY29sdW1uIj09PWQuX25jdHlwZSYmZC5fcHcuZmluZCgiLnJldl9jb2x1bW5fYmdfbWFuX3NpemVkIik6ZC5fY2JnY19tYW4sZC5fc2xpZGVpZD1kLl9zbGlkZWlkfHxjLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKS5kYXRhKCJpbmRleCIpLGQuX2lkPXZvaWQgMD09PWQuX2lkP2MuZGF0YSgiaWQiKXx8Yy5hdHRyKCJpZCIpOmQuX2lkLGQuX3NsaWRlbGluaz12b2lkIDA9PT1kLl9zbGlkZWxpbms/dm9pZCAwIT09Yy5oYXNDbGFzcygic2xpZGVsaW5rIikmJmMuaGFzQ2xhc3MoInNsaWRlbGluayIpOmQuX3NsaWRlbGluayx2b2lkIDA9PT1kLl9saSYmKGMuaGFzQ2xhc3MoInRwLXN0YXRpYy1sYXllciIpPyhkLl9pc3N0YXRpYz0hMCxkLl9saT1jLmNsb3Nlc3QoIi50cC1zdGF0aWMtbGF5ZXJzIiksZC5fc2xpZGVpZD0ic3RhdGljbGF5ZXJzIik6ZC5fbGk9Yy5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikpLGQuX3Jvdz12b2lkIDA9PT1kLl9yb3c/ImNvbHVtbiI9PT1kLl9uY3R5cGUmJmQuX3B3LmNsb3Nlc3QoIi5yZXZfcm93Iik6ZC5fcm93LHZvaWQgMD09PWQuX3RvZ2dsZWxpc3RlbmVycyYmYy5maW5kKCIucnMtdG9nZ2xlZC1jb250ZW50Iik/KGQuX3RvZ2dsZWxpc3RlbmVycz0hMCx2b2lkIDA9PT1kLmFjdGlvbnMmJmMuY2xpY2soZnVuY3Rpb24oKXtiLnN3YXB0b2dnbGVTdGF0ZShjKX0pKTpkLl90b2dnbGVsaXN0ZW5lcnM9ITEsImZ1bGxzY3JlZW4iPT1lLnNsaWRlckxheW91dCYmKGEub2Zmc2V0eT1kLl9naC8yLWUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJoLzIpLCgib24iPT1lLmF1dG9IZWlnaHR8fHZvaWQgMCE9ZS5taW5IZWlnaHQmJmUubWluSGVpZ2h0PjApJiYoYS5vZmZzZXR5PWUuY29uaC8yLWUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJoLzIpLGEub2Zmc2V0eTwwJiYoYS5vZmZzZXR5PTApLGUuZGVidWdNb2RlKXtjLmNsb3Nlc3QoImxpIikuZmluZCgiLmhlbHBncmlkIikuY3NzKHt0b3A6YS5vZmZzZXR5KyJweCIsbGVmdDphLm9mZnNldHgrInB4In0pO3ZhciBrPWUuYy5maW5kKCIuaGdsYXllcmluZm8iKTtjLm9uKCJob3ZlciwgbW91c2VlbnRlciIsZnVuY3Rpb24oKXt2YXIgYT0iIjtjLmRhdGEoKSYmalF1ZXJ5LmVhY2goYy5kYXRhKCksZnVuY3Rpb24oYixjKXsib2JqZWN0IiE9dHlwZW9mIGMmJihhPWErJzxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpub3dyYXAiPjxzcGFuIHN0eWxlPSJjb2xvcjojMjdhZTYwIj4nK2IrIjo8L3NwYW4+IitjKyI8L3NwYW4+Jm5ic3A7ICZuYnNwOyAiKX0pLGsuaHRtbChhKX0pfWlmKCJvZmYiPT09KHZvaWQgMD09PWQudmlzaWJpbGl0eT8ib29uIjp2KGQudmlzaWJpbGl0eSxlKVtlLmZvcmNlZFdpblJhbmdlXXx8dihkLnZpc2liaWxpdHksZSl8fCJvb29uIil8fGQuX2d3PGUuaGlkZUNhcHRpb25BdExpbWl0JiYib24iPT1kLmNhcHRpb25oaWRkZW58fGQuX2d3PGUuaGlkZUFsbENhcHRpb25BdExpbWl0P2QuX3B3LmFkZENsYXNzKCJ0cC1oaWRkZW4tY2FwdGlvbiIpOmQuX3B3LnJlbW92ZUNsYXNzKCJ0cC1oaWRkZW4tY2FwdGlvbiIpLGQubGF5ZXJ0eXBlPSJodG1sIixhLm9mZnNldHg8MCYmKGEub2Zmc2V0eD0wKSx2b2lkIDAhPWQudGh1bWJpbWFnZSYmdm9pZCAwPT1kLnZpZGVvcG9zdGVyJiYoZC52aWRlb3Bvc3Rlcj1kLnRodW1iaW1hZ2UpLGMuZmluZCgiaW1nIikubGVuZ3RoPjApe3ZhciBuPWMuZmluZCgiaW1nIik7ZC5sYXllcnR5cGU9ImltYWdlIiwwPT1uLndpZHRoKCkmJm4uY3NzKHt3aWR0aDoiYXV0byJ9KSwwPT1uLmhlaWdodCgpJiZuLmNzcyh7aGVpZ2h0OiJhdXRvIn0pLHZvaWQgMD09bi5kYXRhKCJ3dyIpJiZuLndpZHRoKCk+MCYmbi5kYXRhKCJ3dyIsbi53aWR0aCgpKSx2b2lkIDA9PW4uZGF0YSgiaGgiKSYmbi5oZWlnaHQoKT4wJiZuLmRhdGEoImhoIixuLmhlaWdodCgpKTt2YXIgbz1uLmRhdGEoInd3IikscD1uLmRhdGEoImhoIikscT0ic2xpZGUiPT1kLl9iYT9lLnVsdzplLmdyaWR3aWR0aFtlLmN1cldpblJhbmdlXSxyPSJzbGlkZSI9PWQuX2JhP2UudWxoOmUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXTtvPXYobi5kYXRhKCJ3dyIpLGUpW2UuY3VyV2luUmFuZ2VdfHx2KG4uZGF0YSgid3ciKSxlKXx8ImF1dG8iLHA9dihuLmRhdGEoImhoIiksZSlbZS5jdXJXaW5SYW5nZV18fHYobi5kYXRhKCJoaCIpLGUpfHwiYXV0byI7dmFyIHM9ImZ1bGwiPT09b3x8ImZ1bGwtcHJvcG9ydGlvbmFsIj09PW8sdD0iZnVsbCI9PT1wfHwiZnVsbC1wcm9wb3J0aW9uYWwiPT09cDtpZigiZnVsbC1wcm9wb3J0aW9uYWwiPT09byl7dmFyIHU9bi5kYXRhKCJvd2lkdGgiKSx4PW4uZGF0YSgib2hlaWdodCIpO3UvcTx4L3I/KG89cSxwPXgqKHEvdSkpOihwPXIsbz11KihyL3gpKX1lbHNlIG89cz9xOiFqUXVlcnkuaXNOdW1lcmljKG8pJiZvLmluZGV4T2YoIiUiKT4wP286cGFyc2VGbG9hdChvKSxwPXQ/cjohalF1ZXJ5LmlzTnVtZXJpYyhwKSYmcC5pbmRleE9mKCIlIik+MD9wOnBhcnNlRmxvYXQocCk7bz12b2lkIDA9PT1vPzA6byxwPXZvaWQgMD09PXA/MDpwLCJvZmYiIT09ZC5fcmVzcG9uc2l2ZT8oImdyaWQiIT1kLl9iYSYmcz9qUXVlcnkuaXNOdW1lcmljKG8pP24uY3NzKHt3aWR0aDpvKyJweCJ9KTpuLmNzcyh7d2lkdGg6b30pOmpRdWVyeS5pc051bWVyaWMobyk/bi5jc3Moe3dpZHRoOm8qZS5idysicHgifSk6bi5jc3Moe3dpZHRoOm99KSwiZ3JpZCIhPWQuX2JhJiZ0P2pRdWVyeS5pc051bWVyaWMocCk/bi5jc3Moe2hlaWdodDpwKyJweCJ9KTpuLmNzcyh7aGVpZ2h0OnB9KTpqUXVlcnkuaXNOdW1lcmljKHApP24uY3NzKHtoZWlnaHQ6cCplLmJoKyJweCJ9KTpuLmNzcyh7aGVpZ2h0OnB9KSk6bi5jc3Moe3dpZHRoOm8saGVpZ2h0OnB9KSxkLl9pbmdyb3VwJiYicm93IiE9PWQuX25jdHlwZSYmKHZvaWQgMCE9PW8mJiFqUXVlcnkuaXNOdW1lcmljKG8pJiYic3RyaW5nIj09PWpRdWVyeS50eXBlKG8pJiZvLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluV2lkdGg6b30pLHZvaWQgMCE9PXAmJiFqUXVlcnkuaXNOdW1lcmljKHApJiYic3RyaW5nIj09PWpRdWVyeS50eXBlKHApJiZwLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluSGVpZ2h0OnB9KSl9aWYoInNsaWRlIj09PWQuX2JhKWEub2Zmc2V0eD0wLGEub2Zmc2V0eT0wO2Vsc2UgaWYoZC5faXNzdGF0aWMmJnZvaWQgMCE9PWUuY2Fyb3VzZWwmJnZvaWQgMCE9PWUuY2Fyb3VzZWwuaG9yaXpvbnRhbF9hbGlnbiYmImNhcm91c2VsIj09PWUuc2xpZGVyVHlwZSl7c3dpdGNoKGUuY2Fyb3VzZWwuaG9yaXpvbnRhbF9hbGlnbil7Y2FzZSJjZW50ZXIiOmEub2Zmc2V0eD0wKyhlLnVsdy1lLmdyaWR3aWR0aFtlLmN1cldpblJhbmdlXSplLmJ3KS8yO2JyZWFrO2Nhc2UibGVmdCI6YnJlYWs7Y2FzZSJyaWdodCI6YS5vZmZzZXR4PWUudWx3LWUuZ3JpZHdpZHRoW2UuY3VyV2luUmFuZ2VdKmUuYnd9YS5vZmZzZXR4PWEub2Zmc2V0eDwwPzA6YS5vZmZzZXR4fXZhciBBPSJodG1sNSI9PWQuYXVkaW8/ImF1ZGlvIjoidmlkZW8iO2lmKGMuaGFzQ2xhc3MoInRwLXZpZGVvbGF5ZXIiKXx8Yy5oYXNDbGFzcygidHAtYXVkaW9sYXllciIpfHxjLmZpbmQoImlmcmFtZSIpLmxlbmd0aD4wfHxjLmZpbmQoQSkubGVuZ3RoPjApe2lmKGQubGF5ZXJ0eXBlPSJ2aWRlbyIsYi5tYW5hZ2VWaWRlb0xheWVyJiZiLm1hbmFnZVZpZGVvTGF5ZXIoYyxlLGYsZyksIWYmJiFnKXtkLnZpZGVvdHlwZTtiLnJlc2V0VmlkZW8mJmIucmVzZXRWaWRlbyhjLGUsYS5wcmVzZXQpfXZhciBEPWQuYXNwZWN0cmF0aW87dm9pZCAwIT1EJiZELnNwbGl0KCI6IikubGVuZ3RoPjEmJmIucHJlcGFyZUNvdmVyZWRWaWRlbyhELGUsYyk7dmFyIG49Yy5maW5kKCJpZnJhbWUiKT9jLmZpbmQoImlmcmFtZSIpOm49Yy5maW5kKEEpLEU9IWMuZmluZCgiaWZyYW1lIiksRj1jLmhhc0NsYXNzKCJjb3ZlcnNjcmVlbnZpZGVvIik7bi5jc3Moe2Rpc3BsYXk6ImJsb2NrIn0pLHZvaWQgMD09Yy5kYXRhKCJ2aWRlb3dpZHRoIikmJihjLmRhdGEoInZpZGVvd2lkdGgiLG4ud2lkdGgoKSksYy5kYXRhKCJ2aWRlb2hlaWdodCIsbi5oZWlnaHQoKSkpO3ZhciBvPXYoYy5kYXRhKCJ2aWRlb3dpZHRoIiksZSlbZS5jdXJXaW5SYW5nZV18fHYoYy5kYXRhKCJ2aWRlb3dpZHRoIiksZSl8fCJhdXRvIixwPXYoYy5kYXRhKCJ2aWRlb2hlaWdodCIpLGUpW2UuY3VyV2luUmFuZ2VdfHx2KGMuZGF0YSgidmlkZW9oZWlnaHQiKSxlKXx8ImF1dG8iO289ImF1dG8iPT09b3x8IWpRdWVyeS5pc051bWVyaWMobykmJm8uaW5kZXhPZigiJSIpPjA/ImF1dG8iPT09bz8iYXV0byI6ImdyaWQiPT09ZC5fYmE/ZS5ncmlkd2lkdGhbZS5jdXJXaW5SYW5nZV0qZS5idzpkLl9ndzpwYXJzZUZsb2F0KG8pKmUuYncrInB4IixwPSJhdXRvIj09PXB8fCFqUXVlcnkuaXNOdW1lcmljKHApJiZwLmluZGV4T2YoIiUiKT4wPyJhdXRvIj09PXA/ImF1dG8iOiJncmlkIj09PWQuX2JhP2UuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJ3OmQuX2doOnBhcnNlRmxvYXQocCkqZS5iaCsicHgiLGQuY3Nzb2JqPXZvaWQgMD09PWQuY3Nzb2JqP3koYywwKTpkLmNzc29iajt2YXIgRz16KGQuY3Nzb2JqLGUpO2lmKCJhdXRvIj09Ry5saW5lSGVpZ2h0JiYoRy5saW5lSGVpZ2h0PUcuZm9udFNpemUrNCksYy5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIil8fEYpe2Eub2Zmc2V0eD0wLGEub2Zmc2V0eT0wLGMuZGF0YSgieCIsMCksYy5kYXRhKCJ5IiwwKTt2YXIgSD1kLl9naDsib24iPT1lLmF1dG9IZWlnaHQmJihIPWUuY29uaCksYy5jc3Moe3dpZHRoOmQuX2d3LGhlaWdodDpIfSl9ZWxzZSBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7cGFkZGluZ1RvcDpNYXRoLnJvdW5kKEcucGFkZGluZ1RvcCplLmJoKSsicHgiLHBhZGRpbmdCb3R0b206TWF0aC5yb3VuZChHLnBhZGRpbmdCb3R0b20qZS5iaCkrInB4IixwYWRkaW5nTGVmdDpNYXRoLnJvdW5kKEcucGFkZGluZ0xlZnQqZS5idykrInB4IixwYWRkaW5nUmlnaHQ6TWF0aC5yb3VuZChHLnBhZGRpbmdSaWdodCplLmJ3KSsicHgiLG1hcmdpblRvcDpHLm1hcmdpblRvcCplLmJoKyJweCIsbWFyZ2luQm90dG9tOkcubWFyZ2luQm90dG9tKmUuYmgrInB4IixtYXJnaW5MZWZ0OkcubWFyZ2luTGVmdCplLmJ3KyJweCIsbWFyZ2luUmlnaHQ6Ry5tYXJnaW5SaWdodCplLmJ3KyJweCIsYm9yZGVyVG9wV2lkdGg6TWF0aC5yb3VuZChHLmJvcmRlclRvcFdpZHRoKmUuYmgpKyJweCIsYm9yZGVyQm90dG9tV2lkdGg6TWF0aC5yb3VuZChHLmJvcmRlckJvdHRvbVdpZHRoKmUuYmgpKyJweCIsYm9yZGVyTGVmdFdpZHRoOk1hdGgucm91bmQoRy5ib3JkZXJMZWZ0V2lkdGgqZS5idykrInB4Iixib3JkZXJSaWdodFdpZHRoOk1hdGgucm91bmQoRy5ib3JkZXJSaWdodFdpZHRoKmUuYncpKyJweCIsd2lkdGg6byxoZWlnaHQ6cH0pOygwPT1FJiYhRnx8MSE9ZC5mb3JjZWNvdmVyJiYhYy5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIikmJiFGKSYmKG4ud2lkdGgobyksbi5oZWlnaHQocCkpLGQuX2luZ3JvdXAmJm51bGwhPT1kLnZpZGVvd2lkdGgmJnZvaWQgMCE9PWQudmlkZW93aWR0aCYmIWpRdWVyeS5pc051bWVyaWMoZC52aWRlb3dpZHRoKSYmZC52aWRlb3dpZHRoLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluV2lkdGg6ZC52aWRlb3dpZHRofSl9QihjLGUsMCxkLl9yZXNwb25zaXZlKSxjLmhhc0NsYXNzKCJ0cC1yZXNpemVtZSIpJiZjLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCl7QihqUXVlcnkodGhpcyksZSwicmVrdXJzaXZlIixkLl9yZXNwb25zaXZlKX0pO3ZhciBJPWMub3V0ZXJIZWlnaHQoKSxKPWMuY3NzKCJiYWNrZ3JvdW5kQ29sb3IiKTt3KGMsIi5mcm9udGNvcm5lciIsImxlZnQiLCJib3JkZXJSaWdodCIsImJvcmRlclRvcENvbG9yIixJLEopLHcoYywiLmZyb250Y29ybmVydG9wIiwibGVmdCIsImJvcmRlclJpZ2h0IiwiYm9yZGVyQm90dG9tQ29sb3IiLEksSiksdyhjLCIuYmFja2Nvcm5lciIsInJpZ2h0IiwiYm9yZGVyTGVmdCIsImJvcmRlckJvdHRvbUNvbG9yIixJLEopLHcoYywiLmJhY2tjb3JuZXJ0b3AiLCJyaWdodCIsImJvcmRlckxlZnQiLCJib3JkZXJUb3BDb2xvciIsSSxKKSwib24iPT1lLmZ1bGxTY3JlZW5BbGlnbkZvcmNlJiYoYS5vZmZzZXR4PTAsYS5vZmZzZXR5PTApLCJibG9jayI9PT1kLl9zZngmJnZvaWQgMD09PWQuX2JtYXNrJiYoZC5fYm1hc2s9alF1ZXJ5KCc8ZGl2IGNsYXNzPSJ0cC1ibG9ja21hc2siPjwvZGl2PicpLGQuX213LmFwcGVuZChkLl9ibWFzaykpLGQuYXJyb2JqPW5ldyBPYmplY3QsZC5hcnJvYmoudm9hPXYoZC52b2Zmc2V0LGUpW2UuY3VyV2luUmFuZ2VdfHx2KGQudm9mZnNldCxlKVswXSxkLmFycm9iai5ob2E9dihkLmhvZmZzZXQsZSlbZS5jdXJXaW5SYW5nZV18fHYoZC5ob2Zmc2V0LGUpWzBdLGQuYXJyb2JqLmVseD12KGQueCxlKVtlLmN1cldpblJhbmdlXXx8dihkLngsZSlbMF0sZC5hcnJvYmouZWx5PXYoZC55LGUpW2UuY3VyV2luUmFuZ2VdfHx2KGQueSxlKVswXTt2YXIgSz0wPT1kLmFycm9iai52b2EubGVuZ3RoPzA6ZC5hcnJvYmoudm9hLEw9MD09ZC5hcnJvYmouaG9hLmxlbmd0aD8wOmQuYXJyb2JqLmhvYSxNPTA9PWQuYXJyb2JqLmVseC5sZW5ndGg/MDpkLmFycm9iai5lbHgsTj0wPT1kLmFycm9iai5lbHkubGVuZ3RoPzA6ZC5hcnJvYmouZWx5O2QuZW93PWMub3V0ZXJXaWR0aCghMCksZC5lb2g9Yy5vdXRlckhlaWdodCghMCksMD09ZC5lb3cmJjA9PWQuZW9oJiYoZC5lb3c9ZS51bHcsZC5lb2g9ZS51bGgpO3ZhciBPPSJvZmYiIT09ZC5fcmVzcG9mZnNldD9wYXJzZUludChLLDApKmUuYnc6cGFyc2VJbnQoSywwKSxQPSJvZmYiIT09ZC5fcmVzcG9mZnNldD9wYXJzZUludChMLDApKmUuYnc6cGFyc2VJbnQoTCwwKSxRPSJncmlkIj09PWQuX2JhP2UuZ3JpZHdpZHRoW2UuY3VyV2luUmFuZ2VdKmUuYnc6ZC5fZ3csUj0iZ3JpZCI9PT1kLl9iYT9lLmdyaWRoZWlnaHRbZS5jdXJXaW5SYW5nZV0qZS5idzpkLl9naDsib24iPT1lLmZ1bGxTY3JlZW5BbGlnbkZvcmNlJiYoUT1lLnVsdyxSPWUudWxoKSwibm9uZSIhPT1kLl9saWcmJnZvaWQgMCE9ZC5fbGlnJiYoUT1kLl9saWcud2lkdGgoKSxSPWQuX2xpZy5oZWlnaHQoKSxhLm9mZnNldHg9MCxhLm9mZnNldHk9MCksTT0iY2VudGVyIj09PU18fCJtaWRkbGUiPT09TT9RLzItZC5lb3cvMitQOiJsZWZ0Ij09PU0/UDoicmlnaHQiPT09TT9RLWQuZW93LVA6Im9mZiIhPT1kLl9yZXNwb2Zmc2V0P00qZS5idzpNLE49ImNlbnRlciI9PU58fCJtaWRkbGUiPT1OP1IvMi1kLmVvaC8yK086InRvcCI9PU4/TzoiYm90dG9tIj09Tj9SLWQuZW9oLU86Im9mZiIhPT1kLl9yZXNwb2Zmc2V0P04qZS5idzpOLGkmJiFkLl9zbGlkZWxpbmsmJihNKz1kLmVvdyksZC5fc2xpZGVsaW5rJiYoTT0wKSxkLmNhbGN4PXBhcnNlSW50KE0sMCkrYS5vZmZzZXR4LGQuY2FsY3k9cGFyc2VJbnQoTiwwKSthLm9mZnNldHk7dmFyIFM9Yy5jc3MoInotSW5kZXgiKTtpZigicm93IiE9PWQuX25jdHlwZSYmImNvbHVtbiIhPT1kLl9uY3R5cGUpcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX3B3LHt6SW5kZXg6Uyx0b3A6ZC5jYWxjeSxsZWZ0OmQuY2FsY3gsb3ZlcndyaXRlOiJhdXRvIn0pO2Vsc2UgaWYoInJvdyIhPT1kLl9uY3R5cGUpcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX3B3LHt6SW5kZXg6Uyx3aWR0aDpkLmNvbHVtbndpZHRoLHRvcDowLGxlZnQ6MCxvdmVyd3JpdGU6ImF1dG8ifSk7ZWxzZSBpZigicm93Ij09PWQuX25jdHlwZSl7dmFyIFQ9ImdyaWQiPT09ZC5fYmE/USsicHgiOiIxMDAlIjtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZC5fcHcse3pJbmRleDpTLHdpZHRoOlQsdG9wOjAsbGVmdDphLm9mZnNldHgsb3ZlcndyaXRlOiJhdXRvIn0pfWlmKHZvaWQgMCE9PWQuYmxlbmRtb2RlJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZC5fcHcse21peEJsZW5kTW9kZTpkLmJsZW5kbW9kZX0pLCJyb3ciPT09ZC5fbmN0eXBlJiYoZC5jb2x1bW5icmVhazw9ZS5jdXJXaW5SYW5nZT9jLmFkZENsYXNzKCJyZXZfYnJlYWtfY29sdW1ucyIpOmMucmVtb3ZlQ2xhc3MoInJldl9icmVha19jb2x1bW5zIikpLCJvbiI9PWQubG9vcGFuaW1hdGlvbiYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX2x3LHttaW5XaWR0aDpkLmVvdyxtaW5IZWlnaHQ6ZC5lb2h9KSwiY29sdW1uIj09PWQuX25jdHlwZSl7dmFyIFU9dm9pZCAwIT09Y1swXS5fZ3NUcmFuc2Zvcm0/Y1swXS5fZ3NUcmFuc2Zvcm0ueTowLFY9cGFyc2VJbnQoZC5fY29sdW1uWzBdLnN0eWxlLnBhZGRpbmdUb3AsMCk7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3k6MH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLl9jYmdjX21hbix7eTpwYXJzZUludChWK2QuX2NvbHVtbi5vZmZzZXQoKS50b3AtYy5vZmZzZXQoKS50b3AsMCl9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7eTpVfSl9ZC5faW5ncm91cCYmInJvdyIhPT1kLl9uY3R5cGUmJih2b2lkIDAhPT1kLl9ncm91cHcmJiFqUXVlcnkuaXNOdW1lcmljKGQuX2dyb3VwdykmJmQuX2dyb3Vwdy5pbmRleE9mKCIlIik+MCYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KFtkLl9sdyxkLl9wdyxkLl9td10se21pbldpZHRoOmQuX2dyb3Vwd30pLHZvaWQgMCE9PWQuX2dyb3VwaCYmIWpRdWVyeS5pc051bWVyaWMoZC5fZ3JvdXBoKSYmZC5fZ3JvdXBoLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluSGVpZ2h0OmQuX2dyb3VwaH0pKX0sY3JlYXRlVGltZWxpbmVTdHJ1Y3R1cmU6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhLGIsYyxkKXt2YXIgZixlPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7cGF1c2VkOiEwfSk7Yz1jfHxuZXcgT2JqZWN0LGNbYS5hdHRyKCJpZCIpXT1jW2EuYXR0cigiaWQiKV18fG5ldyBPYmplY3QsInN0YXRpY2xheWVycyI9PT1kJiYoY1thLmF0dHIoImlkIildLmZpcnN0c2xpZGU9YS5kYXRhKCJzdGFydHNsaWRlIiksY1thLmF0dHIoImlkIildLmxhc3RzbGlkZT1hLmRhdGEoImVuZHNsaWRlIikpLGEuZGF0YSgic2xpZGVpZCIsZCksY1thLmF0dHIoImlkIildLmRlZmNsYXNzZXM9Zj1hWzBdLmNsYXNzTmFtZSxjW2EuYXR0cigiaWQiKV0ud3JhcHBlcj1mLmluZGV4T2YoInJldl9sYXllcl9pbl9jb2x1bW4iKT49MD9hLmNsb3Nlc3QoIi5yZXZfY29sdW1uX2lubmVyIik6Zi5pbmRleE9mKCJyZXZfY29sdW1uX2lubmVyIik+PTA/YS5jbG9zZXN0KCIucmV2X3JvdyIpOmYuaW5kZXhPZigicmV2X2xheWVyX2luX2dyb3VwIik+PTA/YS5jbG9zZXN0KCIucmV2X2dyb3VwIik6Im5vbmUiLGNbYS5hdHRyKCJpZCIpXS50aW1lbGluZT1lLGNbYS5hdHRyKCJpZCIpXS5sYXllcj1hLGNbYS5hdHRyKCJpZCIpXS50cmlnZ2Vyc3RhdGU9YS5kYXRhKCJsYXN0dHJpZ2dlcnN0YXRlIiksY1thLmF0dHIoImlkIildLmRjaGlsZHJlbj1mLmluZGV4T2YoInJldl9yb3ciKT49MD9hWzBdLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInJldl9jb2x1bW5faW5uZXIiKTpmLmluZGV4T2YoInJldl9jb2x1bW5faW5uZXIiKT49MD9hWzBdLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRwLWNhcHRpb24iKTpmLmluZGV4T2YoInJldl9ncm91cCIpPj0wP2FbMF0uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgicmV2X2xheWVyX2luX2dyb3VwIik6Im5vbmUiLGEuZGF0YSgidGltZWxpbmUiLGUpfWEudGltZWxpbmVzPWEudGltZWxpbmVzfHxuZXcgT2JqZWN0LGEuYy5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpLCAudHAtc3RhdGljLWxheWVycyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1qUXVlcnkodGhpcyksZD1jLmRhdGEoImluZGV4Iik7YS50aW1lbGluZXNbZF09YS50aW1lbGluZXNbZF18fHt9LGEudGltZWxpbmVzW2RdLmxheWVycz1hLnRpbWVsaW5lc1tkXS5sYXllcnN8fG5ldyBPYmplY3QsYy5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oYyl7YihqUXVlcnkodGhpcyksYSxhLnRpbWVsaW5lc1tkXS5sYXllcnMsZCl9KX0pfSxidWlsZEZ1bGxUaW1lTGluZTpmdW5jdGlvbihhKXt2YXIgZyxoLGM9YS5jYXB0aW9uLGQ9Yy5kYXRhKCksZT1hLm9wdCxmPXt9LGo9cSgpO2lmKGc9ZS50aW1lbGluZXNbZC5fc2xpZGVpZF0ubGF5ZXJzW2QuX2lkXSwhZy5nZW5lcmF0ZWR8fCEwPT09YS5yZWdlbmVyYXRlKXtpZihoPWcudGltZWxpbmUsZy5nZW5lcmF0ZWQ9ITAsdm9pZCAwIT09ZC5jdXJyZW50X3RpbWVsaW5lJiYhMCE9PWEucmVnZW5lcmF0ZT8oZC5jdXJyZW50X3RpbWVsaW5lX3BhdXNlPWQuY3VycmVudF90aW1lbGluZS5wYXVzZWQoKSxkLmN1cnJlbnRfdGltZWxpbmVfdGltZT1kLmN1cnJlbnRfdGltZWxpbmUudGltZSgpLGQuY3VycmVudF9pc19uY190aW1lbGluZT1oPT09ZC5jdXJyZW50X3RpbWVsaW5lLGQuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWU9ZC5jdXJyZW50X3RpbWVsaW5lX3RpbWUpOihkLnN0YXRpY19sYXllcl90aW1lbGluZV90aW1lPWQuY3VycmVudF90aW1lbGluZV90aW1lLGQuY3VycmVudF90aW1lbGluZV90aW1lPTAsZC5jdXJyZW50X3RpbWVsaW5lJiZkLmN1cnJlbnRfdGltZWxpbmUuY2xlYXIoKSksaC5jbGVhcigpLGYuc3ZnPXZvaWQgMCE9ZC5zdmdfc3JjJiZjLmZpbmQoInN2ZyIpLGYuc3ZnJiYoZC5pZGxlc3ZnPW8oZC5zdmdfaWRsZSxuKCkpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLnN2ZyxkLmlkbGVzdmcuYW5pbSkpLC0xIT09ZC5ob3ZlcmZyYW1laW5kZXgmJnZvaWQgMCE9PWQuaG92ZXJmcmFtZWluZGV4JiYhYy5oYXNDbGFzcygicnMtaG92ZXItcmVhZHkiKSl7aWYoYy5hZGRDbGFzcygicnMtaG92ZXItcmVhZHkiKSxkLmhvdmVydGltZWxpbmVzPXt9LGQuaG92ZXJhbmltPXQoaixkLmZyYW1lc1tkLmhvdmVyZnJhbWVpbmRleF0udG8pLGQuaG92ZXJhbmltPXgoZC5ob3ZlcmFuaW0sZC5mcmFtZXNbZC5ob3ZlcmZyYW1laW5kZXhdLnN0eWxlKSxmLnN2Zyl7dmFyIGw9byhkLnN2Z19ob3ZlcixuKCkpO3ZvaWQgMCE9ZC5ob3ZlcmFuaW0uYW5pbS5jb2xvciYmKGwuYW5pbS5maWxsPWQuaG92ZXJhbmltLmFuaW0uY29sb3IsZC5pZGxlc3ZnLmFuaW0uY3NzLmZpbGw9Zi5zdmcuY3NzKCJmaWxsIikpLGQuaG92ZXJzdmc9bH1jLmhvdmVyKGZ1bmN0aW9uKGEpe3ZhciBiPXtjYXB0aW9uOmpRdWVyeShhLmN1cnJlbnRUYXJnZXQpLG9wdDplLGZpcnN0ZnJhbWU6ImZyYW1lXzAiLGxhc3RmcmFtZToiZnJhbWVfOTk5In0sZD0oaShiKSxiLmNhcHRpb24pLGc9ZC5kYXRhKCksaD1nLmZyYW1lc1tnLmhvdmVyZnJhbWVpbmRleF07Zy5mb3JjZWhvdmVyPWguZm9yY2UsZy5ob3ZlcnRpbWVsaW5lcy5pdGVtPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGQsaC5zcGVlZC8xZTMsZy5ob3ZlcmFuaW0uYW5pbSksKGcuaG92ZXJ6SW5kZXh8fGcuaG92ZXJhbmltLmFuaW0mJmcuaG92ZXJhbmltLmFuaW0uekluZGV4KSYmKGcuYmFzaWN6aW5kZXg9dm9pZCAwPT09Zy5iYXNpY3ppbmRleD9nLmNzc29iai56SW5kZXg6Zy5iYXNpY3ppbmRleCxnLmhvdmVyekluZGV4PXZvaWQgMD09PWcuaG92ZXJ6SW5kZXg/Zy5ob3ZlcmFuaW0uYW5pbS56SW5kZXg6Zy5ob3ZlcnpJbmRleCxnLmluaG92ZXJpbmFuaW1hdGlvbj0hMCwwPT09aC5zcGVlZCYmKGcuaW5ob3ZlcmluYW5pbWF0aW9uPSExKSxnLmhvdmVydGltZWxpbmVzLnB3aG92ZXJhbmltPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGcuX3B3LGguc3BlZWQvMWUzLHtvdmVyd3JpdGU6ImF1dG8iLHpJbmRleDpnLmhvdmVyekluZGV4fSksZy5ob3ZlcnRpbWVsaW5lcy5wd2hvdmVyYW5pbS5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixmdW5jdGlvbihhKXthLmluaG92ZXJpbmFuaW1hdGlvbj0hMX0sW2ddKSksZi5zdmcmJihnLmhvdmVydGltZWxpbmVzLnN2Z2hvdmVyYW5pbT1wdW5jaGdzLlR3ZWVuTGl0ZS50byhbZi5zdmcsZi5zdmcuZmluZCgicGF0aCIpXSxoLnNwZWVkLzFlMyxnLmhvdmVyc3ZnLmFuaW0pKSxnLmhvdmVyZWRzdGF0dXM9ITB9LGZ1bmN0aW9uKGEpe3ZhciBiPXtjYXB0aW9uOmpRdWVyeShhLmN1cnJlbnRUYXJnZXQpLG9wdDplLGZpcnN0ZnJhbWU6ImZyYW1lXzAiLGxhc3RmcmFtZToiZnJhbWVfOTk5In0sZD0oaShiKSxiLmNhcHRpb24pLGc9ZC5kYXRhKCksaD1nLmZyYW1lc1tnLmhvdmVyZnJhbWVpbmRleF07Zy5ob3ZlcmVkc3RhdHVzPSExLGcuaW5ob3Zlcm91dGFuaW1hdGlvbj0hMCxnLmhvdmVydGltZWxpbmVzLml0ZW0ucGF1c2UoKSxnLmhvdmVydGltZWxpbmVzLml0ZW09cHVuY2hncy5Ud2VlbkxpdGUudG8oZCxoLnNwZWVkLzFlMyxqUXVlcnkuZXh0ZW5kKCEwLHt9LGcuX2dzVHJhbnNmb3JtVG8pKSwwPT1oLnNwZWVkJiYoZy5pbmhvdmVyb3V0YW5pbWF0aW9uPSExKSxnLmhvdmVydGltZWxpbmVzLml0ZW0uZXZlbnRDYWxsYmFjaygib25Db21wbGV0ZSIsZnVuY3Rpb24oYSl7YS5pbmhvdmVyb3V0YW5pbWF0aW9uPSExfSxbZ10pLHZvaWQgMCE9PWcuaG92ZXJ0aW1lbGluZXMucHdob3ZlcmFuaW0mJihnLmhvdmVydGltZWxpbmVzLnB3aG92ZXJhbmltPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGcuX3B3LGguc3BlZWQvMWUzLHtvdmVyd3JpdGU6ImF1dG8iLHpJbmRleDpnLmJhc2ljemluZGV4fSkpLGYuc3ZnJiZwdW5jaGdzLlR3ZWVuTGl0ZS50byhbZi5zdmcsZi5zdmcuZmluZCgicGF0aCIpXSxoLnNwZWVkLzFlMyxnLmlkbGVzdmcuYW5pbSl9KX1mb3IodmFyIG09MDttPGQuZnJhbWVzLmxlbmd0aDttKyspaWYobSE9PWQuaG92ZXJmcmFtZWluZGV4KXt2YXIgcD1tPT09ZC5pbmZyYW1laW5kZXg/ImZyYW1lXzAiOm09PT1kLm91dGZyYW1laW5kZXh8fCJmcmFtZV85OTkiPT09ZC5mcmFtZXNbbV0uZnJhbWU/ImZyYW1lXzk5OSI6ImZyYW1lXyIrbTtkLmZyYW1lc1ttXS5mcmFtZW5hbWU9cCxnW3BdPXt9LGdbcF0udGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlKHthbGlnbjoibm9ybWFsIn0pO3ZhciByPWQuZnJhbWVzW21dLmRlbGF5LHU9KGQudHJpZ2dlcmVkX3N0YXJ0c3RhdHVzLHZvaWQgMCE9PXI/alF1ZXJ5LmluQXJyYXkocixbInNsaWRlZW50ZXIiLCJieXRyaWdnZXIiLCJ3YWl0Il0pPj0wP3I6cGFyc2VJbnQociwwKS8xZTM6IndhaXQiKTt2b2lkIDAhPT1nLmZpcnN0c2xpZGUmJiJmcmFtZV8wIj09PXAmJihoLmFkZExhYmVsKCJzbGlkZV8iK2cuZmlyc3RzbGlkZSsiX3BhdXNlIiwwKSxoLmFkZFBhdXNlKCJzbGlkZV8iK2cuZmlyc3RzbGlkZSsiX3BhdXNlIiksaC5hZGRMYWJlbCgic2xpZGVfIitnLmZpcnN0c2xpZGUsIis9MC4wMDUiKSksdm9pZCAwIT09Zy5sYXN0c2xpZGUmJiJmcmFtZV85OTkiPT09cCYmKGguYWRkTGFiZWwoInNsaWRlXyIrZy5sYXN0c2xpZGUrIl9wYXVzZSIsIis9MC4wMSIpLGguYWRkUGF1c2UoInNsaWRlXyIrZy5sYXN0c2xpZGUrIl9wYXVzZSIpLGguYWRkTGFiZWwoInNsaWRlXyIrZy5sYXN0c2xpZGUsIis9MC4wMDUiKSksalF1ZXJ5LmlzTnVtZXJpYyh1KT9oLmFkZExhYmVsKHAsIis9Iit1KTooaC5hZGRMYWJlbCgicGF1c2VfIittLCIrPTAuMDEiKSxoLmFkZFBhdXNlKCJwYXVzZV8iK20pLGguYWRkTGFiZWwocCwiKz0wLjAxIikpLGg9Yi5jcmVhdGVGcmFtZU9uVGltZWxpbmUoe2NhcHRpb246YS5jYXB0aW9uLHRpbWVsaW5lOmgsbGFiZWw6cCxmcmFtZWluZGV4Om0sb3B0OmV9KX1hLnJlZ2VuZXJhdGV8fChkLmN1cnJlbnRfaXNfbmNfdGltZWxpbmUmJihkLmN1cnJlbnRfdGltZWxpbmU9aCksZC5jdXJyZW50X3RpbWVsaW5lX3BhdXNlP2gucGF1c2UoZC5jdXJyZW50X3RpbWVsaW5lX3RpbWUpOmgudGltZShkLmN1cnJlbnRfdGltZWxpbmVfdGltZSkpfX0sY3JlYXRlRnJhbWVPblRpbWVsaW5lOmZ1bmN0aW9uKGEpe3ZhciBiPWEuY2FwdGlvbixjPWIuZGF0YSgpLGQ9YS5sYWJlbCxlPWEudGltZWxpbmUsaT1hLmZyYW1laW5kZXgsaj1hLm9wdCxuPWIsbz17fSxxPWoudGltZWxpbmVzW2MuX3NsaWRlaWRdLmxheWVyc1tjLl9pZF0scj1jLmZyYW1lcy5sZW5ndGgtMSx2PWMuZnJhbWVzW2ldLnNwbGl0LHc9Yy5mcmFtZXNbaV0uc3BsaXRfZGlyZWN0aW9uLHg9Yy5mcmFtZXNbaV0uc2Z4X2VmZmVjdCx5PSExO2lmKHc9dm9pZCAwPT09dz8iZm9yd2FyZCI6dywtMSE9PWMuaG92ZXJmcmFtZWluZGV4JiZjLmhvdmVyZnJhbWVpbmRleD09ciYmKHItPTEpLG8uY29udGVudD1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUoe2FsaWduOiJub3JtYWwifSksby5tYXNrPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7YWxpZ246Im5vcm1hbCJ9KSx2b2lkIDA9PT1lLnZhcnMuaWQmJihlLnZhcnMuaWQ9TWF0aC5yb3VuZCgxZTUqTWF0aC5yYW5kb20oKSkpLCJjb2x1bW4iPT09Yy5fbmN0eXBlJiYoZS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMuX2NiZ2NfbWFuLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLGQpLGUuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLl9jYmdjX2F1dG8se3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxkKSksYy5zcGxpdHRleHQmJjA9PT1pKXt2b2lkIDAhPT1jLm15U3BsaXRUZXh0JiZjLm15U3BsaXRUZXh0LnJldmVydCgpO3ZhciB6PWIuZmluZCgiYSIpLmxlbmd0aD4wP2IuZmluZCgiYSIpOmI7Yy5teVNwbGl0VGV4dD1uZXcgcHVuY2hncy5TcGxpdFRleHQoeix7dHlwZToiY2hhcnMsd29yZHMsbGluZXMiLGNoYXJzQ2xhc3M6InRwLXNwbGl0dGVkIHRwLWNoYXJzcGxpdCIsd29yZHNDbGFzczoidHAtc3BsaXR0ZWQgdHAtd29yZHNwbGl0IixsaW5lc0NsYXNzOiJ0cC1zcGxpdHRlZCB0cC1saW5lc3BsaXQifSksYi5hZGRDbGFzcygic3BsaXR0ZWQiKX12b2lkIDAhPT1jLm15U3BsaXRUZXh0JiZ2JiZ2Lm1hdGNoKC9jaGFyc3x3b3Jkc3xsaW5lcy9nKSYmKG49Yy5teVNwbGl0VGV4dFt2XSx5PSEwKTt2YXIgRCxFLEE9aSE9PWMub3V0ZnJhbWVpbmRleD90KG0oKSxjLmZyYW1lc1tpXS50byx2b2lkIDAseSxuLmxlbmd0aC0xKTp2b2lkIDAhPT1jLmZyYW1lc1tpXS50byYmbnVsbD09PWMuZnJhbWVzW2ldLnRvLm1hdGNoKC9hdXRvOmF1dG8vZyk/dChwKCksYy5mcmFtZXNbaV0udG8sMT09ai5zZGlyLHksbi5sZW5ndGgtMSk6dChwKCksYy5mcmFtZXNbYy5pbmZyYW1laW5kZXhdLmZyb20sMD09ai5zZGlyLHksbi5sZW5ndGgtMSksQj12b2lkIDAhPT1jLmZyYW1lc1tpXS5mcm9tP3QoQSxjLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uZnJvbSwxPT1qLnNkaXIseSxuLmxlbmd0aC0xKTp2b2lkIDAsQz1jLmZyYW1lc1tpXS5zcGxpdGRlbGF5O2lmKDAhPT1pfHxhLmZyb21jdXJyZW50c3RhdGU/RT11KGMuZnJhbWVzW2ldLm1hc2spOkQ9dShjLmZyYW1lc1tpXS5tYXNrKSxBLmFuaW0uZWFzZT12b2lkIDA9PT1jLmZyYW1lc1tpXS5lYXNlP3B1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dDpjLmZyYW1lc1tpXS5lYXNlLHZvaWQgMCE9PUImJihCLmFuaW0uZWFzZT12b2lkIDA9PT1jLmZyYW1lc1tpXS5lYXNlP3B1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dDpjLmZyYW1lc1tpXS5lYXNlLEIuc3BlZWQ9dm9pZCAwPT09Yy5mcmFtZXNbaV0uc3BlZWQ/Qi5zcGVlZDpjLmZyYW1lc1tpXS5zcGVlZCxCLmFuaW0ueD1CLmFuaW0ueCpqLmJ3fHxzKEIuYW5pbS54LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJob3Jpem9udGFsIiksQi5hbmltLnk9Qi5hbmltLnkqai5id3x8cyhCLmFuaW0ueSxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwidmVydGljYWwiKSksdm9pZCAwIT09QSYmKEEuYW5pbS5lYXNlPXZvaWQgMD09PWMuZnJhbWVzW2ldLmVhc2U/cHVuY2hncy5Qb3dlcjEuZWFzZUluT3V0OmMuZnJhbWVzW2ldLmVhc2UsQS5zcGVlZD12b2lkIDA9PT1jLmZyYW1lc1tpXS5zcGVlZD9BLnNwZWVkOmMuZnJhbWVzW2ldLnNwZWVkLEEuYW5pbS54PUEuYW5pbS54KmouYnd8fHMoQS5hbmltLngsaixjLmVvdyxjLmVvaCxjLmNhbGN5LGMuY2FsY3gsImhvcml6b250YWwiKSxBLmFuaW0ueT1BLmFuaW0ueSpqLmJ3fHxzKEEuYW5pbS55LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJ2ZXJ0aWNhbCIpKSxiLmRhdGEoImlmcmFtZXMiKSYmZS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIuZmluZCgiaWZyYW1lIikse2F1dG9BbHBoYToxfSksZCsiKz0wLjAwMSIpLGk9PT1jLm91dGZyYW1laW5kZXgmJihjLmZyYW1lc1tpXS50byYmYy5mcmFtZXNbaV0udG8ubWF0Y2goL2F1dG86YXV0by9nKSxBLnNwZWVkPXZvaWQgMD09PWMuZnJhbWVzW2ldLnNwZWVkfHwiaW5oZXJpdCI9PT1jLmZyYW1lc1tpXS5zcGVlZD9jLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uc3BlZWQ6Yy5mcmFtZXNbaV0uc3BlZWQsQS5hbmltLmVhc2U9dm9pZCAwPT09Yy5mcmFtZXNbaV0uZWFzZXx8ImluaGVyaXQiPT09Yy5mcmFtZXNbaV0uZWFzZT9jLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uZWFzZTpjLmZyYW1lc1tpXS5lYXNlLEEuYW5pbS5vdmVyd3JpdGU9ImF1dG8iKSwwIT09aXx8YS5mcm9tY3VycmVudHN0YXRlKTA9PT1pJiZhLmZyb21jdXJyZW50c3RhdGUmJihBLnNwZWVkPUIuc3BlZWQpO2Vsc2V7aWYobiE9Yil7dmFyIEY9alF1ZXJ5LmV4dGVuZCh7fSxBLmFuaW0sITApO2UuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChiLEEuYW5pbSksZCksQT1tKCksQS5lYXNlPUYuZWFzZSx2b2lkIDAhPT1GLmZpbHRlciYmKEEuYW5pbS5maWx0ZXI9Ri5maWx0ZXIpLHZvaWQgMCE9PUZbIi13ZWJraXQtZmlsdGVyIl0mJihBLmFuaW1bIi13ZWJraXQtZmlsdGVyIl09RlsiLXdlYmtpdC1maWx0ZXIiXSl9Qi5hbmltLnZpc2liaWxpdHk9ImhpZGRlbiIsQi5hbmltLmltbWVkaWF0ZVJlbmRlcj0hMCxBLmFuaW0udmlzaWJpbGl0eT0idmlzaWJsZSJ9YS5mcm9tY3VycmVudHN0YXRlJiYoQS5hbmltLmltbWVkaWF0ZVJlbmRlcj0hMCk7dmFyIEc9LTE7aWYoMD09PWkmJiFhLmZyb21jdXJyZW50c3RhdGUmJnZvaWQgMCE9PWMuX2JtYXNrJiZ2b2lkIDAhPT14JiZ4LmluZGV4T2YoImJsb2NrIik+PTB8fGk9PT1jLm91dGZyYW1laW5kZXgmJiFhLmZyb21jdXJyZW50c3RhdGUmJnZvaWQgMCE9PWMuX2JtYXNrJiZ2b2lkIDAhPT14JiZ4LmluZGV4T2YoImJsb2NrIik+PTApe3ZhciBIPTA9PT1pP0Iuc3BlZWQvMWUzLzI6QS5zcGVlZC8xZTMvMixJPVt7c2NhbGVZOjEsc2NhbGVYOjAsdHJhbnNmb3JtT3JpZ2luOiIwJSA1MCUifSx7c2NhbGVZOjEsc2NhbGVYOjEsZWFzZTpBLmFuaW0uZWFzZX1dLEo9e3NjYWxlWToxLHNjYWxlWDowLHRyYW5zZm9ybU9yaWdpbjoiMTAwJSA1MCUiLGVhc2U6QS5hbmltLmVhc2V9O3N3aXRjaChHPXZvaWQgMD09PUM/SDpDK0gseCl7Y2FzZSJibG9ja3RvbGVmdCI6Y2FzZSJibG9ja2Zyb21yaWdodCI6SVswXS50cmFuc2Zvcm1PcmlnaW49IjEwMCUgNTAlIixKLnRyYW5zZm9ybU9yaWdpbj0iMCUgNTAlIjticmVhaztjYXNlImJsb2NrZnJvbXRvcCI6Y2FzZSJibG9ja3RvYm90dG9tIjpJPVt7c2NhbGVYOjEsc2NhbGVZOjAsdHJhbnNmb3JtT3JpZ2luOiI1MCUgMCUifSx7c2NhbGVYOjEsc2NhbGVZOjEsZWFzZTpBLmFuaW0uZWFzZX1dLEo9e3NjYWxlWDoxLHNjYWxlWTowLHRyYW5zZm9ybU9yaWdpbjoiNTAlIDEwMCUiLGVhc2U6QS5hbmltLmVhc2V9O2JyZWFrO2Nhc2UiYmxvY2t0b3RvcCI6Y2FzZSJibG9ja2Zyb21ib3R0b20iOkk9W3tzY2FsZVg6MSxzY2FsZVk6MCx0cmFuc2Zvcm1PcmlnaW46IjUwJSAxMDAlIn0se3NjYWxlWDoxLHNjYWxlWToxLGVhc2U6QS5hbmltLmVhc2V9XSxKPXtzY2FsZVg6MSxzY2FsZVk6MCx0cmFuc2Zvcm1PcmlnaW46IjUwJSAwJSIsZWFzZTpBLmFuaW0uZWFzZX19SVswXS5iYWNrZ3JvdW5kPWMuZnJhbWVzW2ldLnNmeGNvbG9yLGUuYWRkKG8ubWFzay5mcm9tVG8oYy5fYm1hc2ssSCxJWzBdLElbMV0sQyksZCksZS5hZGQoby5tYXNrLnRvKGMuX2JtYXNrLEgsSixHKSxkKX1pZih5KXZhciBLPWsobi5sZW5ndGgtMSx3KTtpZigwIT09aXx8YS5mcm9tY3VycmVudHN0YXRlKWlmKCJibG9jayI9PT1jLl9zZnhfb3V0JiZpPT09Yy5vdXRmcmFtZWluZGV4KWUuYWRkKG8uY29udGVudC5zdGFnZ2VyVG8obiwuMDAxLHthdXRvQWxwaGE6MCxkZWxheTpHfSksZCksZS5hZGQoby5jb250ZW50LnN0YWdnZXJUbyhuLEEuc3BlZWQvMWUzLzItLjAwMSx7eDowLGRlbGF5Okd9KSxkKyIrPTAuMDAxIik7ZWxzZSBpZih5JiZ2b2lkIDAhPT1LKXt2YXIgTD17dG86bChBLmFuaW0pfTtmb3IodmFyIE0gaW4gbil7dmFyIE89alF1ZXJ5LmV4dGVuZCh7fSxBLmFuaW0pO2Zvcih2YXIgUCBpbiBMLnRvKU9bUF09cGFyc2VJbnQoTC50b1tQXS52YWx1ZXNbTC50b1tQXS5pbmRleF0sMCksTC50b1tQXS5pbmRleD1MLnRvW1BdLmluZGV4PEwudG9bUF0ubGVuP0wudG9bUF0uaW5kZXgrMTowO3ZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoTy5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvciksdm9pZCAwIT09Yy5mcmFtZXNbaV0uYmdjb2xvciYmKE8uYmFja2dyb3VuZENvbG9yPWMuZnJhbWVzW2ldLmJnY29sb3IpLGUuYWRkKG8uY29udGVudC50byhuW0tbTV1dLEEuc3BlZWQvMWUzLE8sQypNKSxkKX19ZWxzZSB2b2lkIDAhPT1jLmZyYW1lc1tpXS5jb2xvciYmKEEuYW5pbS5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvciksdm9pZCAwIT09Yy5mcmFtZXNbaV0uYmdjb2xvciYmKEEuYW5pbS5iYWNrZ3JvdW5kQ29sb3I9Yy5mcmFtZXNbaV0uYmdjb2xvciksZS5hZGQoby5jb250ZW50LnN0YWdnZXJUbyhuLEEuc3BlZWQvMWUzLEEuYW5pbSxDKSxkKTtlbHNlIGlmKCJibG9jayI9PT1jLl9zZnhfaW4pZS5hZGQoby5jb250ZW50LnN0YWdnZXJGcm9tVG8obiwuMDUse3g6MCx5OjAsYXV0b0FscGhhOjB9LHt4OjAseTowLGF1dG9BbHBoYToxLGRlbGF5Okd9KSxkKTtlbHNlIGlmKHkmJnZvaWQgMCE9PUspe3ZhciBMPXtmcm9tOmwoQi5hbmltKSx0bzpsKEEuYW5pbSl9O2Zvcih2YXIgTSBpbiBuKXt2YXIgTj1qUXVlcnkuZXh0ZW5kKHt9LEIuYW5pbSksTz1qUXVlcnkuZXh0ZW5kKHt9LEEuYW5pbSk7Zm9yKHZhciBQIGluIEwuZnJvbSlOW1BdPXBhcnNlSW50KEwuZnJvbVtQXS52YWx1ZXNbTC5mcm9tW1BdLmluZGV4XSwwKSxMLmZyb21bUF0uaW5kZXg9TC5mcm9tW1BdLmluZGV4PEwuZnJvbVtQXS5sZW4/TC5mcm9tW1BdLmluZGV4KzE6MDtPLmVhc2U9Ti5lYXNlLHZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoTi5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvcixPLmNvbG9yPWMuY3Nzb2JqLnN0eWxlUHJvcHMuY29sb3IpLHZvaWQgMCE9PWMuZnJhbWVzW2ldLmJnY29sb3ImJihOLmJhY2tncm91bmRDb2xvcj1jLmZyYW1lc1tpXS5iZ2NvbG9yLE8uYmFja2dyb3VuZENvbG9yPWMuY3Nzb2JqLnN0eWxlUHJvcHNbImJhY2tncm91bmQtY29sb3IiXSksZS5hZGQoby5jb250ZW50LmZyb21UbyhuW0tbTV1dLEIuc3BlZWQvMWUzLE4sTyxDKk0pLGQpfX1lbHNlIHZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoQi5hbmltLmNvbG9yPWMuZnJhbWVzW2ldLmNvbG9yLEEuYW5pbS5jb2xvcj1jLmNzc29iai5zdHlsZVByb3BzLmNvbG9yKSx2b2lkIDAhPT1jLmZyYW1lc1tpXS5iZ2NvbG9yJiYoQi5hbmltLmJhY2tncm91bmRDb2xvcj1jLmZyYW1lc1tpXS5iZ2NvbG9yLEEuYW5pbS5iYWNrZ3JvdW5kQ29sb3I9Yy5jc3NvYmouc3R5bGVQcm9wc1siYmFja2dyb3VuZC1jb2xvciJdKSxlLmFkZChvLmNvbnRlbnQuc3RhZ2dlckZyb21UbyhuLEIuc3BlZWQvMWUzLEIuYW5pbSxBLmFuaW0sQyksZCk7cmV0dXJuIHZvaWQgMD09PUV8fCExPT09RXx8MD09PWkmJmEuaWdub3JlZmlyc3RmcmFtZXx8KEUuYW5pbS5lYXNlPXZvaWQgMD09PUUuYW5pbS5lYXNlfHwiaW5oZXJpdCI9PT1FLmFuaW0uZWFzZT9jLmZyYW1lc1swXS5lYXNlOkUuYW5pbS5lYXNlLEUuYW5pbS5vdmVyZmxvdz0iaGlkZGVuIixFLmFuaW0ueD1FLmFuaW0ueCpqLmJ3fHxzKEUuYW5pbS54LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJob3Jpem9udGFsIiksRS5hbmltLnk9RS5hbmltLnkqai5id3x8cyhFLmFuaW0ueSxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwidmVydGljYWwiKSksMD09PWkmJkQmJiExIT09RCYmIWEuZnJvbWN1cnJlbnRzdGF0ZXx8MD09PWkmJmEuaWdub3JlZmlyc3RmcmFtZT8oRT1uZXcgT2JqZWN0LEUuYW5pbT1uZXcgT2JqZWN0LEUuYW5pbS5vdmVyd3JpdGU9ImF1dG8iLEUuYW5pbS5lYXNlPUEuYW5pbS5lYXNlLEUuYW5pbS54PUUuYW5pbS55PTAsRCYmITEhPT1EJiYoRC5hbmltLng9RC5hbmltLngqai5id3x8cyhELmFuaW0ueCxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwiaG9yaXpvbnRhbCIpLEQuYW5pbS55PUQuYW5pbS55KmouYnd8fHMoRC5hbmltLnksaixjLmVvdyxjLmVvaCxjLmNhbGN5LGMuY2FsY3gsInZlcnRpY2FsIiksRC5hbmltLm92ZXJmbG93PSJoaWRkZW4iKSk6MD09PWkmJmUuYWRkKG8ubWFzay5zZXQoYy5fbXcse292ZXJmbG93OiJ2aXNpYmxlIn0pLGQpLHZvaWQgMCE9PUQmJnZvaWQgMCE9PUUmJiExIT09RCYmITEhPT1FP2UuYWRkKG8ubWFzay5mcm9tVG8oYy5fbXcsQi5zcGVlZC8xZTMsRC5hbmltLEUuYW5pbSxDKSxkKTp2b2lkIDAhPT1FJiYhMSE9PUUmJmUuYWRkKG8ubWFzay50byhjLl9tdyxBLnNwZWVkLzFlMyxFLmFuaW0sQyksZCksZS5hZGRMYWJlbChkKyJfZW5kIiksYy5fZ3NUcmFuc2Zvcm1UbyYmaT09PXImJmMuaG92ZXJlZHN0YXR1cyYmKGMuaG92ZXJ0aW1lbGluZXMuaXRlbT1wdW5jaGdzLlR3ZWVuTGl0ZS50byhiLDAsYy5fZ3NUcmFuc2Zvcm1UbykpLGMuX2dzVHJhbnNmb3JtVG89ITEsby5jb250ZW50LmV2ZW50Q2FsbGJhY2soIm9uU3RhcnQiLGYsW2kscSxjLl9wdyxjLGUsQS5hbmltLGIsYS51cGRhdGVTdGF0aWNUaW1lbGluZSxqXSksby5jb250ZW50LmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIixnLFtkLGMuX2lkLGMuX3B3LGMsZSxpLGpRdWVyeS5leHRlbmQoITAse30sQS5hbmltKSxhLnVwZGF0ZVN0YXRpY1RpbWVsaW5lLGIsal0pLG8uY29udGVudC5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixoLFtpLGMuZnJhbWVzLmxlbmd0aCxyLGMuX3B3LGMsZSxhLnVwZGF0ZVN0YXRpY1RpbWVsaW5lLGIsal0pLGV9LGVuZE1vdmVDYXB0aW9uOmZ1bmN0aW9uKGEpe2EuZmlyc3RmcmFtZT0iZnJhbWVfMCIsYS5sYXN0ZnJhbWU9ImZyYW1lXzk5OSI7dmFyIGM9aShhKSxkPWEuY2FwdGlvbi5kYXRhKCk7aWYodm9pZCAwIT09YS5mcmFtZT9jLnRpbWVsaW5lLnBsYXkoYS5mcmFtZSk6KCFjLnN0YXRpY3x8YS5jdXJyZW50c2xpZGU+PWMucmVtb3Zlb25zbGlkZXx8YS5jdXJyZW50c2xpZGU8Yy5zaG93b25zbGlkZSkmJihjLm91dG5vdz1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsYy50aW1lbGluZS5wYXVzZSgpLCEwPT09ZC52aXNpYmxlZWxlbWVudCYmYi5jcmVhdGVGcmFtZU9uVGltZWxpbmUoe2NhcHRpb246YS5jYXB0aW9uLHRpbWVsaW5lOmMub3V0bm93LGxhYmVsOiJvdXRub3ciLGZyYW1laW5kZXg6YS5jYXB0aW9uLmRhdGEoIm91dGZyYW1laW5kZXgiKSxvcHQ6YS5vcHQsZnJvbWN1cnJlbnRzdGF0ZTohMH0pLnBsYXkoKSksYS5jaGVja2NoaWxkcmVucyYmYy50aW1lbGluZV9vYmomJmMudGltZWxpbmVfb2JqLmRjaGlsZHJlbiYmIm5vbmUiIT09Yy50aW1lbGluZV9vYmouZGNoaWxkcmVuJiZjLnRpbWVsaW5lX29iai5kY2hpbGRyZW4ubGVuZ3RoPjApZm9yKHZhciBlPTA7ZTxjLnRpbWVsaW5lX29iai5kY2hpbGRyZW4ubGVuZ3RoO2UrKyliLmVuZE1vdmVDYXB0aW9uKHtjYXB0aW9uOmpRdWVyeShjLnRpbWVsaW5lX29iai5kY2hpbGRyZW5bZV0pLG9wdDphLm9wdH0pfSxwbGF5QW5pbWF0aW9uRnJhbWU6ZnVuY3Rpb24oYSl7YS5maXJzdGZyYW1lPWEudHJpZ2dlcmZyYW1laW4sYS5sYXN0ZnJhbWU9YS50cmlnZ2VyZnJhbWVvdXQ7dmFyIGUsYz1pKGEpLGQ9YS5jYXB0aW9uLmRhdGEoKSxmPTA7Zm9yKHZhciBnIGluIGQuZnJhbWVzKWQuZnJhbWVzW2ddLmZyYW1lbmFtZT09PWEuZnJhbWUmJihlPWYpLGYrKzt2b2lkIDAhPT1kLnRyaWdnZXJlZHRpbWVsaW5lJiZkLnRyaWdnZXJlZHRpbWVsaW5lLnBhdXNlKCksZC50cmlnZ2VyZWR0aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsYy50aW1lbGluZS5wYXVzZSgpO3ZhciBoPSEwPT09ZC52aXNpYmxlZWxlbWVudDtkLnRyaWdnZXJlZHRpbWVsaW5lPWIuY3JlYXRlRnJhbWVPblRpbWVsaW5lKHtjYXB0aW9uOmEuY2FwdGlvbix0aW1lbGluZTpkLnRyaWdnZXJlZHRpbWVsaW5lLGxhYmVsOiJ0cmlnZ2VyZWQiLGZyYW1laW5kZXg6ZSx1cGRhdGVTdGF0aWNUaW1lbGluZTohMCxvcHQ6YS5vcHQsaWdub3JlZmlyc3RmcmFtZTohMCxmcm9tY3VycmVudHN0YXRlOmh9KS5wbGF5KCl9LHJlbW92ZVRoZUNhcHRpb25zOmZ1bmN0aW9uKGEsYyl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spcmV0dXJuITE7dmFyIGY9YS5kYXRhKCJpbmRleCIpLGc9bmV3IEFycmF5O2MubGF5ZXJzW2ZdJiZqUXVlcnkuZWFjaChjLmxheWVyc1tmXSxmdW5jdGlvbihhLGIpe2cucHVzaChiKX0pO3ZhciBoPWIuY3VycmVudFNsaWRlSW5kZXgoYyk7ZyYmalF1ZXJ5LmVhY2goZyxmdW5jdGlvbihhKXt2YXIgZD1qUXVlcnkodGhpcyk7ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZSYmIm9uIj09PWMuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWU/KGNsZWFyVGltZW91dChkLmRhdGEoInZpZGVvcGxheXdhaXQiKSksYi5zdG9wVmlkZW8mJmIuc3RvcFZpZGVvKGQsYyksYi5yZW1vdmVNZWRpYUZyb21MaXN0JiZiLnJlbW92ZU1lZGlhRnJvbUxpc3QoZCxjKSxjLmxhc3RwbGF5ZWR2aWRlb3M9W10pOihFKGQpLGNsZWFyVGltZW91dChkLmRhdGEoInZpZGVvcGxheXdhaXQiKSksYi5lbmRNb3ZlQ2FwdGlvbih7Y2FwdGlvbjpkLG9wdDpjLGN1cnJlbnRzbGlkZTpofSksYi5yZW1vdmVNZWRpYUZyb21MaXN0JiZiLnJlbW92ZU1lZGlhRnJvbUxpc3QoZCxjKSxjLmxhc3RwbGF5ZWR2aWRlb3M9W10pfSl9fSk7dmFyIGY9ZnVuY3Rpb24oYSxjLGQsZSxmLGcsaCxpLGope3ZhciBrPXt9O2lmKGsubGF5ZXI9aCxrLmV2ZW50dHlwZT0wPT09YT8iZW50ZXJzdGFnZSI6YT09PWUub3V0ZnJhbWVpbmRleD8ibGVhdmVzdGFnZSI6ImZyYW1lc3RhcnRlZCIsay5sYXllcnR5cGU9aC5kYXRhKCJsYXllcnR5cGUiKSxlLmFjdGl2ZT0hMCxrLmZyYW1lX2luZGV4PWEsay5sYXllcnNldHRpbmdzPWguZGF0YSgpLGouYy50cmlnZ2VyKCJyZXZvbHV0aW9uLmxheWVyYWN0aW9uIixba10pLCJvbiI9PWUubG9vcGFuaW1hdGlvbiYmRChlLl9sdyxqLmJ3KSwiZW50ZXJzdGFnZSI9PT1rLmV2ZW50dHlwZSYmKGUuYW5pbWRpcmVjdGlvbj0iaW4iLGUudmlzaWJsZWVsZW1lbnQ9ITAsYi50b2dnbGVTdGF0ZShlLmxheWVydG9nZ2xlZGJ5KSksIm5vbmUiIT09Yy5kY2hpbGRyZW4mJnZvaWQgMCE9PWMuZGNoaWxkcmVuJiZjLmRjaGlsZHJlbi5sZW5ndGg+MClpZigwPT09YSlmb3IodmFyIGw9MDtsPGMuZGNoaWxkcmVuLmxlbmd0aDtsKyspalF1ZXJ5KGMuZGNoaWxkcmVuW2xdKS5kYXRhKCJ0aW1lbGluZSIpLnBsYXkoMCk7ZWxzZSBpZihhPT09ZS5vdXRmcmFtZWluZGV4KWZvcih2YXIgbD0wO2w8Yy5kY2hpbGRyZW4ubGVuZ3RoO2wrKyliLmVuZE1vdmVDYXB0aW9uKHtjYXB0aW9uOmpRdWVyeShjLmRjaGlsZHJlbltsXSksb3B0OmosY2hlY2tjaGlsZHJlbnM6ITB9KTtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZCx7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSxlLmN1cnJlbnRfZnJhbWU9YSxlLmN1cnJlbnRfdGltZWxpbmU9ZixlLmN1cnJlbnRfdGltZWxpbmVfdGltZT1mLnRpbWUoKSxpJiYoZS5zdGF0aWNfbGF5ZXJfdGltZWxpbmVfdGltZT1lLmN1cnJlbnRfdGltZWxpbmVfdGltZSksZS5sYXN0X2ZyYW1lX3N0YXJ0ZWQ9YX0sZz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsaSxqKXsiY29sdW1uIj09PWQuX25jdHlwZSYmQyhpLGopLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLGQuY3VycmVudF9mcmFtZT1mLGQuY3VycmVudF90aW1lbGluZT1lLGQuY3VycmVudF90aW1lbGluZV90aW1lPWUudGltZSgpLGgmJihkLnN0YXRpY19sYXllcl90aW1lbGluZV90aW1lPWQuY3VycmVudF90aW1lbGluZV90aW1lKSx2b2lkIDAhPT1kLmhvdmVyYW5pbSYmITE9PT1kLl9nc1RyYW5zZm9ybVRvJiYoZC5fZ3NUcmFuc2Zvcm1Ubz1nLGQuX2dzVHJhbnNmb3JtVG8mJmQuX2dzVHJhbnNmb3JtVG8uc3RhcnRBdCYmZGVsZXRlIGQuX2dzVHJhbnNmb3JtVG8uc3RhcnRBdCx2b2lkIDA9PT1kLmNzc29iai5zdHlsZVByb3BzLmNzcz9kLl9nc1RyYW5zZm9ybVRvPWpRdWVyeS5leHRlbmQoITAse30sZC5jc3NvYmouc3R5bGVQcm9wcyxkLl9nc1RyYW5zZm9ybVRvKTpkLl9nc1RyYW5zZm9ybVRvPWpRdWVyeS5leHRlbmQoITAse30sZC5jc3NvYmouc3R5bGVQcm9wcy5jc3MsZC5fZ3NUcmFuc2Zvcm1UbykpLGQudmlzaWJsZWVsZW1lbnQ9ITB9LGg9ZnVuY3Rpb24oYSxjLGQsZSxmLGcsaCxpLGope3ZhciBrPXt9O2subGF5ZXI9aSxrLmV2ZW50dHlwZT0wPT09YT8iZW50ZXJlZHN0YWdlIjphPT09Yy0xfHxhPT09ZD8ibGVmdHN0YWdlIjoiZnJhbWVlbmRlZCIsay5sYXllcnR5cGU9aS5kYXRhKCJsYXllcnR5cGUiKSxrLmxheWVyc2V0dGluZ3M9aS5kYXRhKCksai5jLnRyaWdnZXIoInJldm9sdXRpb24ubGF5ZXJhY3Rpb24iLFtrXSksImxlZnRzdGFnZSIhPT1rLmV2ZW50dHlwZSYmYi5hbmltY29tcGxldGVkKGksaiksImxlZnRzdGFnZSI9PT1rLmV2ZW50dHlwZSYmYi5zdG9wVmlkZW8mJmIuc3RvcFZpZGVvKGksaiksImNvbHVtbiI9PT1mLl9uY3R5cGUmJihwdW5jaGdzLlR3ZWVuTGl0ZS50byhmLl9jYmdjX21hbiwuMDEse3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhmLl9jYmdjX2F1dG8sLjAxLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pKSwibGVmdHN0YWdlIj09PWsuZXZlbnR0eXBlJiYoZi5hY3RpdmU9ITEscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUse3Zpc2liaWxpdHk6ImhpZGRlbiIsb3ZlcndyaXRlOiJhdXRvIn0pLGYuYW5pbWRpcmVjdGlvbj0ib3V0IixmLnZpc2libGVlbGVtZW50PSExLGIudW5Ub2dnbGVTdGF0ZShmLmxheWVydG9nZ2xlZGJ5KSksZi5jdXJyZW50X2ZyYW1lPWEsZi5jdXJyZW50X3RpbWVsaW5lPWcsZi5jdXJyZW50X3RpbWVsaW5lX3RpbWU9Zy50aW1lKCksaCYmKGYuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWU9Zi5jdXJyZW50X3RpbWVsaW5lX3RpbWUpfSxpPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O3JldHVybiBhLmZpcnN0ZnJhbWU9dm9pZCAwPT09YS5maXJzdGZyYW1lPyJmcmFtZV8wIjphLmZpcnN0ZnJhbWUsYS5sYXN0ZnJhbWU9dm9pZCAwPT09YS5sYXN0ZnJhbWU/ImZyYW1lXzk5OSI6YS5sYXN0ZnJhbWUsYi5pZD1hLmNhcHRpb24uZGF0YSgiaWQiKXx8YS5jYXB0aW9uLmF0dHIoImlkIiksYi5zbGlkZWlkPWEuY2FwdGlvbi5kYXRhKCJzbGlkZWlkIil8fGEuY2FwdGlvbi5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuZGF0YSgiaW5kZXgiKSxiLnRpbWVsaW5lX29iaj1hLm9wdC50aW1lbGluZXNbYi5zbGlkZWlkXS5sYXllcnNbYi5pZF0sYi50aW1lbGluZT1iLnRpbWVsaW5lX29iai50aW1lbGluZSxiLmZmcz1iLnRpbWVsaW5lLmdldExhYmVsVGltZShhLmZpcnN0ZnJhbWUpLGIuZmZlPWIudGltZWxpbmUuZ2V0TGFiZWxUaW1lKGEuZmlyc3RmcmFtZSsiX2VuZCIpLGIubGZzPWIudGltZWxpbmUuZ2V0TGFiZWxUaW1lKGEubGFzdGZyYW1lKSxiLmxmZT1iLnRpbWVsaW5lLmdldExhYmVsVGltZShhLmxhc3RmcmFtZSsiX2VuZCIpLGIuY3Q9Yi50aW1lbGluZS50aW1lKCksYi5zdGF0aWM9dm9pZCAwIT1iLnRpbWVsaW5lX29iai5maXJzdHNsaWRlfHx2b2lkIDAhPWIudGltZWxpbmVfb2JqLmxhc3RzbGlkZSxiLnN0YXRpYyYmKGIuc2hvd29uc2xpZGU9Yi50aW1lbGluZV9vYmouZmlyc3RzbGlkZSxiLnJlbW92ZW9uc2xpZGU9Yi50aW1lbGluZV9vYmoubGFzdHNsaWRlKSxifSxqPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkLGI9YS5sZW5ndGg7MCE9PWI7KWQ9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmIpLGItPTEsYz1hW2JdLGFbYl09YVtkXSxhW2RdPWM7cmV0dXJuIGF9LGs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgQXJyYXk7c3dpdGNoKGIpe2Nhc2UiZm9yd2FyZCI6Y2FzZSJyYW5kb20iOmZvcih2YXIgZD0wO2Q8PWE7ZCsrKWMucHVzaChkKTsicmFuZG9tIj09PWImJihjPWooYykpO2JyZWFrO2Nhc2UiYmFja3dhcmQiOmZvcih2YXIgZD0wO2Q8PWE7ZCsrKWMucHVzaChhLWQpO2JyZWFrO2Nhc2UibWlkZGxldG9lZGdlIjp2YXIgZT1NYXRoLmNlaWwoYS8yKSxmPWUtMSxnPWUrMTtjLnB1c2goZSk7Zm9yKHZhciBkPTA7ZDxlO2QrKylmPj0wJiZjLnB1c2goZiksZzw9YSYmYy5wdXNoKGcpLGYtLSxnKys7YnJlYWs7Y2FzZSJlZGdldG9taWRkbGUiOmZvcih2YXIgZj1hLGc9MCxkPTA7ZDw9TWF0aC5mbG9vcihhLzIpO2QrKyljLnB1c2goZiksZzxmJiZjLnB1c2goZyksZi0tLGcrK31yZXR1cm4gY30sbD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IodmFyIGMgaW4gYSkic3RyaW5nIj09dHlwZW9mIGFbY10mJmFbY10uaW5kZXhPZigifCIpPj0wJiYodm9pZCAwPT09YltjXSYmKGJbY109e2luZGV4OjB9KSxiW2NdLnZhbHVlcz1hW2NdLnJlcGxhY2UoIlsiLCIiKS5yZXBsYWNlKCJdIiwiIikuc3BsaXQoInwiKSxiW2NdLmxlbj1iW2NdLnZhbHVlcy5sZW5ndGgtMSk7cmV0dXJuIGJ9LG09ZnVuY3Rpb24oYSl7cmV0dXJuIGE9dm9pZCAwPT09YT9uZXcgT2JqZWN0OmEsYS5hbmltPXZvaWQgMD09PWEuYW5pbT9uZXcgT2JqZWN0OmEuYW5pbSxhLmFuaW0ueD12b2lkIDA9PT1hLmFuaW0ueD8wOmEuYW5pbS54LGEuYW5pbS55PXZvaWQgMD09PWEuYW5pbS55PzA6YS5hbmltLnksYS5hbmltLno9dm9pZCAwPT09YS5hbmltLno/MDphLmFuaW0ueixhLmFuaW0ucm90YXRpb25YPXZvaWQgMD09PWEuYW5pbS5yb3RhdGlvblg/MDphLmFuaW0ucm90YXRpb25YLGEuYW5pbS5yb3RhdGlvblk9dm9pZCAwPT09YS5hbmltLnJvdGF0aW9uWT8wOmEuYW5pbS5yb3RhdGlvblksYS5hbmltLnJvdGF0aW9uWj12b2lkIDA9PT1hLmFuaW0ucm90YXRpb25aPzA6YS5hbmltLnJvdGF0aW9uWixhLmFuaW0uc2NhbGVYPXZvaWQgMD09PWEuYW5pbS5zY2FsZVg/MTphLmFuaW0uc2NhbGVYLGEuYW5pbS5zY2FsZVk9dm9pZCAwPT09YS5hbmltLnNjYWxlWT8xOmEuYW5pbS5zY2FsZVksYS5hbmltLnNrZXdYPXZvaWQgMD09PWEuYW5pbS5za2V3WD8wOmEuYW5pbS5za2V3WCxhLmFuaW0uc2tld1k9dm9pZCAwPT09YS5hbmltLnNrZXdZPzA6YS5hbmltLnNrZXdZLGEuYW5pbS5vcGFjaXR5PXZvaWQgMD09PWEuYW5pbS5vcGFjaXR5PzE6YS5hbmltLm9wYWNpdHksYS5hbmltLnRyYW5zZm9ybU9yaWdpbj12b2lkIDA9PT1hLmFuaW0udHJhbnNmb3JtT3JpZ2luPyI1MCUgNTAlIjphLmFuaW0udHJhbnNmb3JtT3JpZ2luLGEuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZT12b2lkIDA9PT1hLmFuaW0udHJhbnNmb3JtUGVyc3BlY3RpdmU/NjAwOmEuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZSxhLmFuaW0ucm90YXRpb249dm9pZCAwPT09YS5hbmltLnJvdGF0aW9uPzA6YS5hbmltLnJvdGF0aW9uLGEuYW5pbS5mb3JjZTNEPXZvaWQgMD09PWEuYW5pbS5mb3JjZTNEPyJhdXRvIjphLmFuaW0uZm9yY2UzRCxhLmFuaW0uYXV0b0FscGhhPXZvaWQgMD09PWEuYW5pbS5hdXRvQWxwaGE/MTphLmFuaW0uYXV0b0FscGhhLGEuYW5pbS52aXNpYmlsaXR5PXZvaWQgMD09PWEuYW5pbS52aXNpYmlsaXR5PyJ2aXNpYmxlIjphLmFuaW0udmlzaWJpbGl0eSxhLmFuaW0ub3ZlcndyaXRlPXZvaWQgMD09PWEuYW5pbS5vdmVyd3JpdGU/ImF1dG8iOmEuYW5pbS5vdmVyd3JpdGUsYS5zcGVlZD12b2lkIDA9PT1hLnNwZWVkPy4zOmEuc3BlZWQsYS5maWx0ZXI9dm9pZCAwPT09YS5maWx0ZXI/ImJsdXIoMHB4KSBncmF5c2NhbGUoMCUpIGJyaWdodG5lc3MoMTAwJSkiOmEuZmlsdGVyLGFbIi13ZWJraXQtZmlsdGVyIl09dm9pZCAwPT09YVsiLXdlYmtpdC1maWx0ZXIiXT8iYmx1cigwcHgpIGdyYXlzY2FsZSgwJSkgYnJpZ2h0bmVzcygxMDAlKSI6YVsiLXdlYmtpdC1maWx0ZXIiXSxhfSxuPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE9iamVjdDtyZXR1cm4gYS5hbmltPW5ldyBPYmplY3QsYS5hbmltLnN0cm9rZT0ibm9uZSIsYS5hbmltLnN0cm9rZVdpZHRoPTAsYS5hbmltLnN0cm9rZURhc2hhcnJheT0ibm9uZSIsYS5hbmltLnN0cm9rZURhc2hvZmZzZXQ9IjAiLGF9LG89ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnNwbGl0KCI7Iik7cmV0dXJuIGMmJmpRdWVyeS5lYWNoKGMsZnVuY3Rpb24oYSxjKXt2YXIgZD1jLnNwbGl0KCI6IiksZT1kWzBdLGY9ZFsxXTsic2MiPT1lJiYoYi5hbmltLnN0cm9rZT1mKSwic3ciPT1lJiYoYi5hbmltLnN0cm9rZVdpZHRoPWYpLCJzZGEiPT1lJiYoYi5hbmltLnN0cm9rZURhc2hhcnJheT1mKSwic2RvIj09ZSYmKGIuYW5pbS5zdHJva2VEYXNob2Zmc2V0PWYpfSksYn0scD1mdW5jdGlvbigpe3ZhciBhPW5ldyBPYmplY3Q7cmV0dXJuIGEuYW5pbT1uZXcgT2JqZWN0LGEuYW5pbS54PTAsYS5hbmltLnk9MCxhLmFuaW0uej0wLGF9LHE9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgT2JqZWN0O3JldHVybiBhLmFuaW09bmV3IE9iamVjdCxhLnNwZWVkPS4yLGF9LHI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihlPXZvaWQgMD09PWU/IiI6ZSxqUXVlcnkuaXNOdW1lcmljKHBhcnNlRmxvYXQoYSkpKXJldHVybiBwYXJzZUZsb2F0KGEpK2U7aWYodm9pZCAwPT09YXx8ImluaGVyaXQiPT09YSlyZXR1cm4gYisiZXh0IjtpZihhLnNwbGl0KCJ7IikubGVuZ3RoPjEpe3ZhciBmPWEuc3BsaXQoIiwiKSxnPXBhcnNlRmxvYXQoZlsxXS5zcGxpdCgifSIpWzBdKTtpZihmPXBhcnNlRmxvYXQoZlswXS5zcGxpdCgieyIpWzFdKSx2b2lkIDAhPT1jJiZ2b2lkIDAhPT1kKXtwYXJzZUludChNYXRoLnJhbmRvbSgpKihnLWYpLDApLHBhcnNlSW50KGYsMCk7Zm9yKHZhciBoPTA7aDxkO2grKylhPWErInwiKyhwYXJzZUludChNYXRoLnJhbmRvbSgpKihnLWYpLDApK3BhcnNlSW50KGYsMCkpK2U7YSs9Il0ifWVsc2UgYT1NYXRoLnJhbmRvbSgpKihnLWYpK2Z9cmV0dXJuIGF9LHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7cmV0dXJuIWpRdWVyeS5pc051bWVyaWMoYSkmJmEubWF0Y2goLyVdL2cpPyhhPWEuc3BsaXQoIlsiKVsxXS5zcGxpdCgiXSIpWzBdLCJob3Jpem9udGFsIj09Zz9hPShjKzIpKnBhcnNlSW50KGEsMCkvMTAwOiJ2ZXJ0aWNhbCI9PWcmJihhPShkKzIpKnBhcnNlSW50KGEsMCkvMTAwKSk6KGE9ImxheWVyX2xlZnQiPT09YT8wLWM6ImxheWVyX3JpZ2h0Ij09PWE/YzphLGE9ImxheWVyX3RvcCI9PT1hPzAtZDoibGF5ZXJfYm90dG9tIj09PWE/ZDphLGE9ImxlZnQiPT09YXx8InN0YWdlX2xlZnQiPT09YT8wLWMtZjoicmlnaHQiPT09YXx8InN0YWdlX3JpZ2h0Ij09PWE/Yi5jb253LWY6ImNlbnRlciI9PT1hfHwic3RhZ2VfY2VudGVyIj09PWE/Yi5jb253LzItYy8yLWY6YSxhPSJ0b3AiPT09YXx8InN0YWdlX3RvcCI9PT1hPzAtZC1lOiJib3R0b20iPT09YXx8InN0YWdlX2JvdHRvbSI9PT1hP2IuY29uaC1lOiJtaWRkbGUiPT09YXx8InN0YWdlX21pZGRsZSI9PT1hP2IuY29uaC8yLWQvMi1lOmEpLGF9LHQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1uZXcgT2JqZWN0O2lmKGY9alF1ZXJ5LmV4dGVuZCghMCx7fSxmLGEpLHZvaWQgMD09PWIpcmV0dXJuIGY7dmFyIGc9Yi5zcGxpdCgiOyIpLGg9IiI7cmV0dXJuIGcmJmpRdWVyeS5lYWNoKGcsZnVuY3Rpb24oYSxiKXt2YXIgZz1iLnNwbGl0KCI6IiksaT1nWzBdLGo9Z1sxXTtjJiYibm9uZSIhPT1jJiZ2b2lkIDAhPWomJmoubGVuZ3RoPjAmJmoubWF0Y2goL1woUlwpLykmJihqPWoucmVwbGFjZSgiKFIpIiwiIiksaj0icmlnaHQiPT09aj8ibGVmdCI6ImxlZnQiPT09aj8icmlnaHQiOiJ0b3AiPT09aj8iYm90dG9tIjoiYm90dG9tIj09PWo/InRvcCI6aiwiWyI9PT1qWzBdJiYiLSI9PT1qWzFdP2o9ai5yZXBsYWNlKCJbLSIsIlsiKToiWyI9PT1qWzBdJiYiLSIhPT1qWzFdP2o9ai5yZXBsYWNlKCJbIiwiWy0iKToiLSI9PT1qWzBdP2o9ai5yZXBsYWNlKCItIiwiIik6alswXS5tYXRjaCgvWzEtOV0vKSYmKGo9Ii0iK2opKSx2b2lkIDAhPWomJihqPWoucmVwbGFjZSgvXChSXCkvLCIiKSwicm90YXRpb25YIiE9aSYmInJYIiE9aXx8KGYuYW5pbS5yb3RhdGlvblg9cihqLGYuYW5pbS5yb3RhdGlvblgsZCxlLCJkZWciKSksInJvdGF0aW9uWSIhPWkmJiJyWSIhPWl8fChmLmFuaW0ucm90YXRpb25ZPXIoaixmLmFuaW0ucm90YXRpb25ZLGQsZSwiZGVnIikpLCJyb3RhdGlvbloiIT1pJiYicloiIT1pfHwoZi5hbmltLnJvdGF0aW9uPXIoaixmLmFuaW0ucm90YXRpb25aLGQsZSwiZGVnIikpLCJzY2FsZVgiIT1pJiYic1giIT1pfHwoZi5hbmltLnNjYWxlWD1yKGosZi5hbmltLnNjYWxlWCxkLGUpKSwic2NhbGVZIiE9aSYmInNZIiE9aXx8KGYuYW5pbS5zY2FsZVk9cihqLGYuYW5pbS5zY2FsZVksZCxlKSksIm9wYWNpdHkiIT1pJiYibyIhPWl8fChmLmFuaW0ub3BhY2l0eT1yKGosZi5hbmltLm9wYWNpdHksZCxlKSksImZiIj09aSYmKGg9IiI9PT1oPyJibHVyKCIrcGFyc2VJbnQoaiwwKSsicHgpIjpoKyIgYmx1cigiK3BhcnNlSW50KGosMCkrInB4KSIpLCJmZyI9PWkmJihoPSIiPT09aD8iZ3JheXNjYWxlKCIrcGFyc2VJbnQoaiwwKSsiJSkiOmgrIiBncmF5c2NhbGUoIitwYXJzZUludChqLDApKyIlKSIpLCJmYnIiPT1pJiYoaD0iIj09PWg/ImJyaWdodG5lc3MoIitwYXJzZUludChqLDApKyIlKSI6aCsiIGJyaWdodG5lc3MoIitwYXJzZUludChqLDApKyIlKSIpLDA9PT1mLmFuaW0ub3BhY2l0eSYmKGYuYW5pbS5hdXRvQWxwaGE9MCksZi5hbmltLm9wYWNpdHk9MD09Zi5hbmltLm9wYWNpdHk/MWUtNDpmLmFuaW0ub3BhY2l0eSwic2tld1giIT1pJiYic2tYIiE9aXx8KGYuYW5pbS5za2V3WD1yKGosZi5hbmltLnNrZXdYLGQsZSkpLCJza2V3WSIhPWkmJiJza1kiIT1pfHwoZi5hbmltLnNrZXdZPXIoaixmLmFuaW0uc2tld1ksZCxlKSksIngiPT1pJiYoZi5hbmltLng9cihqLGYuYW5pbS54LGQsZSkpLCJ5Ij09aSYmKGYuYW5pbS55PXIoaixmLmFuaW0ueSxkLGUpKSwieiI9PWkmJihmLmFuaW0uej1yKGosZi5hbmltLnosZCxlKSksInRyYW5zZm9ybU9yaWdpbiIhPWkmJiJ0TyIhPWl8fChmLmFuaW0udHJhbnNmb3JtT3JpZ2luPWoudG9TdHJpbmcoKSksInRyYW5zZm9ybVBlcnNwZWN0aXZlIiE9aSYmInRQIiE9aXx8KGYuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZT1wYXJzZUludChqLDApKSwic3BlZWQiIT1pJiYicyIhPWl8fChmLnNwZWVkPXBhcnNlRmxvYXQoaikpKX0pLCIiIT09aCYmKGYuYW5pbVsiLXdlYmtpdC1maWx0ZXIiXT1oLGYuYW5pbS5maWx0ZXI9aCksZn0sdT1mdW5jdGlvbihhKXtpZih2b2lkIDA9PT1hKXJldHVybiExO3ZhciBiPW5ldyBPYmplY3Q7Yi5hbmltPW5ldyBPYmplY3Q7dmFyIGM9YS5zcGxpdCgiOyIpO3JldHVybiBjJiZqUXVlcnkuZWFjaChjLGZ1bmN0aW9uKGEsYyl7Yz1jLnNwbGl0KCI6Iik7dmFyIGQ9Y1swXSxlPWNbMV07IngiPT1kJiYoYi5hbmltLng9ZSksInkiPT1kJiYoYi5hbmltLnk9ZSksInMiPT1kJiYoYi5zcGVlZD1wYXJzZUZsb2F0KGUpKSwiZSIhPWQmJiJlYXNlIiE9ZHx8KGIuYW5pbS5lYXNlPWUpfSksYn0sdj1mdW5jdGlvbihhLGIsYyl7aWYodm9pZCAwPT1hJiYoYT0wKSwhalF1ZXJ5LmlzQXJyYXkoYSkmJiJzdHJpbmciPT09alF1ZXJ5LnR5cGUoYSkmJihhLnNwbGl0KCIsIikubGVuZ3RoPjF8fGEuc3BsaXQoIlsiKS5sZW5ndGg+MSkpe2E9YS5yZXBsYWNlKCJbIiwiIiksYT1hLnJlcGxhY2UoIl0iLCIiKTt2YXIgZD1hLm1hdGNoKC8nL2cpP2Euc3BsaXQoIicsIik6YS5zcGxpdCgiLCIpO2E9bmV3IEFycmF5LGQmJmpRdWVyeS5lYWNoKGQsZnVuY3Rpb24oYixjKXtjPWMucmVwbGFjZSgiJyIsIiIpLGM9Yy5yZXBsYWNlKCInIiwiIiksYS5wdXNoKGMpfSl9ZWxzZXt2YXIgZT1hO2pRdWVyeS5pc0FycmF5KGEpfHwoYT1uZXcgQXJyYXksYS5wdXNoKGUpKX12YXIgZT1hW2EubGVuZ3RoLTFdO2lmKGEubGVuZ3RoPGIucmxlKWZvcih2YXIgZj0xO2Y8PWIuY3VyV2luUmFuZ2U7ZisrKWEucHVzaChlKTtyZXR1cm4gYX0seD1mdW5jdGlvbihhLGIpe2lmKHZvaWQgMD09PWIpcmV0dXJuIGE7Yj1iLnJlcGxhY2UoImM6IiwiY29sb3I6IiksYj1iLnJlcGxhY2UoImJnOiIsImJhY2tncm91bmQtY29sb3I6IiksYj1iLnJlcGxhY2UoImJ3OiIsImJvcmRlci13aWR0aDoiKSxiPWIucmVwbGFjZSgiYmM6IiwiYm9yZGVyLWNvbG9yOiIpLGI9Yi5yZXBsYWNlKCJicjoiLCJib3JkZXJSYWRpdXM6IiksYj1iLnJlcGxhY2UoImJzOiIsImJvcmRlci1zdHlsZToiKSxiPWIucmVwbGFjZSgidGQ6IiwidGV4dC1kZWNvcmF0aW9uOiIpLGI9Yi5yZXBsYWNlKCJ6aToiLCJ6SW5kZXg6Iik7dmFyIGM9Yi5zcGxpdCgiOyIpO3JldHVybiBjJiZqUXVlcnkuZWFjaChjLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9Yy5zcGxpdCgiOiIpO2RbMF0ubGVuZ3RoPjAmJigiYmFja2dyb3VuZC1jb2xvciI9PT1kWzBdJiZkWzFdLmluZGV4T2YoImdyYWRpZW50Iik+PTAmJihkWzBdPSJiYWNrZ3JvdW5kIiksYS5hbmltW2RbMF1dPWRbMV0pfSksYX0seT1mdW5jdGlvbihhLGIpe3ZhciBlLGM9bmV3IE9iamVjdCxkPSExO2lmKCJyZWt1cnNpdmUiPT1iJiYoZT1hLmNsb3Nlc3QoIi50cC1jYXB0aW9uIikpJiZhLmNzcygiZm9udFNpemUiKT09PWUuY3NzKCJmb250U2l6ZSIpJiZhLmNzcygiZm9udFdlaWdodCIpPT09ZS5jc3MoImZvbnRXZWlnaHQiKSYmYS5jc3MoImxpbmVIZWlnaHQiKT09PWUuY3NzKCJsaW5lSGVpZ2h0IikmJihkPSEwKSxjLmJhc2VhbGlnbj1hLmRhdGEoImJhc2VhbGlnbiIpfHwiZ3JpZCIsYy5mb250U2l6ZT1kP3ZvaWQgMD09PWUuZGF0YSgiZm9udHNpemUiKT9wYXJzZUludChlLmNzcygiZm9udFNpemUiKSwwKXx8MDplLmRhdGEoImZvbnRzaXplIik6dm9pZCAwPT09YS5kYXRhKCJmb250c2l6ZSIpP3BhcnNlSW50KGEuY3NzKCJmb250U2l6ZSIpLDApfHwwOmEuZGF0YSgiZm9udHNpemUiKSxjLmZvbnRXZWlnaHQ9ZD92b2lkIDA9PT1lLmRhdGEoImZvbnR3ZWlnaHQiKT9wYXJzZUludChlLmNzcygiZm9udFdlaWdodCIpLDApfHwwOmUuZGF0YSgiZm9udHdlaWdodCIpOnZvaWQgMD09PWEuZGF0YSgiZm9udHdlaWdodCIpP3BhcnNlSW50KGEuY3NzKCJmb250V2VpZ2h0IiksMCl8fDA6YS5kYXRhKCJmb250d2VpZ2h0IiksYy53aGl0ZVNwYWNlPWQ/dm9pZCAwPT09ZS5kYXRhKCJ3aGl0ZXNwYWNlIik/ZS5jc3MoIndoaXRlc3BhY2UiKXx8Im5vcm1hbCI6ZS5kYXRhKCJ3aGl0ZXNwYWNlIik6dm9pZCAwPT09YS5kYXRhKCJ3aGl0ZXNwYWNlIik/YS5jc3MoIndoaXRlc3BhY2UiKXx8Im5vcm1hbCI6YS5kYXRhKCJ3aGl0ZXNwYWNlIiksYy50ZXh0QWxpZ249ZD92b2lkIDA9PT1lLmRhdGEoInRleHRhbGlnbiIpP2UuY3NzKCJ0ZXh0YWxpZ24iKXx8ImluaGVyaXQiOmUuZGF0YSgidGV4dGFsaWduIik6dm9pZCAwPT09YS5kYXRhKCJ0ZXh0YWxpZ24iKT9hLmNzcygidGV4dGFsaWduIil8fCJpbmhlcml0IjphLmRhdGEoInRleHRhbGlnbiIpLGMuekluZGV4PWQ/dm9pZCAwPT09ZS5kYXRhKCJ6SW5kZXgiKT9lLmNzcygiekluZGV4Iil8fCJpbmhlcml0IjplLmRhdGEoInpJbmRleCIpOnZvaWQgMD09PWEuZGF0YSgiekluZGV4Iik/YS5jc3MoInpJbmRleCIpfHwiaW5oZXJpdCI6YS5kYXRhKCJ6SW5kZXgiKSwtMSE9PWpRdWVyeS5pbkFycmF5KGEuZGF0YSgibGF5ZXJ0eXBlIiksWyJ2aWRlbyIsImltYWdlIiwiYXVkaW8iXSl8fGEuaXMoImltZyIpP2MubGluZUhlaWdodD0wOmMubGluZUhlaWdodD1kP3ZvaWQgMD09PWUuZGF0YSgibGluZWhlaWdodCIpP3BhcnNlSW50KGUuY3NzKCJsaW5lSGVpZ2h0IiksMCl8fDA6ZS5kYXRhKCJsaW5laGVpZ2h0Iik6dm9pZCAwPT09YS5kYXRhKCJsaW5laGVpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoImxpbmVIZWlnaHQiKSwwKXx8MDphLmRhdGEoImxpbmVoZWlnaHQiKSxjLmxldHRlclNwYWNpbmc9ZD92b2lkIDA9PT1lLmRhdGEoImxldHRlcnNwYWNpbmciKT9wYXJzZUZsb2F0KGUuY3NzKCJsZXR0ZXJTcGFjaW5nIiksMCl8fDA6ZS5kYXRhKCJsZXR0ZXJzcGFjaW5nIik6dm9pZCAwPT09YS5kYXRhKCJsZXR0ZXJzcGFjaW5nIik/cGFyc2VGbG9hdChhLmNzcygibGV0dGVyU3BhY2luZyIpKXx8MDphLmRhdGEoImxldHRlcnNwYWNpbmciKSxjLnBhZGRpbmdUb3A9dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5ndG9wIik/cGFyc2VJbnQoYS5jc3MoInBhZGRpbmdUb3AiKSwwKXx8MDphLmRhdGEoInBhZGRpbmd0b3AiKSxjLnBhZGRpbmdCb3R0b209dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5nYm90dG9tIik/cGFyc2VJbnQoYS5jc3MoInBhZGRpbmdCb3R0b20iKSwwKXx8MDphLmRhdGEoInBhZGRpbmdib3R0b20iKSxjLnBhZGRpbmdMZWZ0PXZvaWQgMD09PWEuZGF0YSgicGFkZGluZ2xlZnQiKT9wYXJzZUludChhLmNzcygicGFkZGluZ0xlZnQiKSwwKXx8MDphLmRhdGEoInBhZGRpbmdsZWZ0IiksYy5wYWRkaW5nUmlnaHQ9dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5ncmlnaHQiKT9wYXJzZUludChhLmNzcygicGFkZGluZ1JpZ2h0IiksMCl8fDA6YS5kYXRhKCJwYWRkaW5ncmlnaHQiKSxjLm1hcmdpblRvcD12b2lkIDA9PT1hLmRhdGEoIm1hcmdpbnRvcCIpP3BhcnNlSW50KGEuY3NzKCJtYXJnaW5Ub3AiKSwwKXx8MDphLmRhdGEoIm1hcmdpbnRvcCIpLGMubWFyZ2luQm90dG9tPXZvaWQgMD09PWEuZGF0YSgibWFyZ2luYm90dG9tIik/cGFyc2VJbnQoYS5jc3MoIm1hcmdpbkJvdHRvbSIpLDApfHwwOmEuZGF0YSgibWFyZ2luYm90dG9tIiksYy5tYXJnaW5MZWZ0PXZvaWQgMD09PWEuZGF0YSgibWFyZ2lubGVmdCIpP3BhcnNlSW50KGEuY3NzKCJtYXJnaW5MZWZ0IiksMCl8fDA6YS5kYXRhKCJtYXJnaW5sZWZ0IiksYy5tYXJnaW5SaWdodD12b2lkIDA9PT1hLmRhdGEoIm1hcmdpbnJpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoIm1hcmdpblJpZ2h0IiksMCl8fDA6YS5kYXRhKCJtYXJnaW5yaWdodCIpLGMuYm9yZGVyVG9wV2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJ0b3B3aWR0aCIpP3BhcnNlSW50KGEuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDApfHwwOmEuZGF0YSgiYm9yZGVydG9wd2lkdGgiKSxjLmJvcmRlckJvdHRvbVdpZHRoPXZvaWQgMD09PWEuZGF0YSgiYm9yZGVyYm90dG9td2lkdGgiKT9wYXJzZUludChhLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSwwKXx8MDphLmRhdGEoImJvcmRlcmJvdHRvbXdpZHRoIiksYy5ib3JkZXJMZWZ0V2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJsZWZ0d2lkdGgiKT9wYXJzZUludChhLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMCl8fDA6YS5kYXRhKCJib3JkZXJsZWZ0d2lkdGgiKSxjLmJvcmRlclJpZ2h0V2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJyaWdodHdpZHRoIik/cGFyc2VJbnQoYS5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSwwKXx8MDphLmRhdGEoImJvcmRlcnJpZ2h0d2lkdGgiKSwicmVrdXJzaXZlIiE9Yil7aWYoYy5jb2xvcj12b2lkIDA9PT1hLmRhdGEoImNvbG9yIik/Im5vcHJlZGVmaW5lZGNvbG9yIjphLmRhdGEoImNvbG9yIiksYy53aGl0ZVNwYWNlPWQ/dm9pZCAwPT09ZS5kYXRhKCJ3aGl0ZXNwYWNlIik/ZS5jc3MoIndoaXRlU3BhY2UiKXx8Im5vd3JhcCI6ZS5kYXRhKCJ3aGl0ZXNwYWNlIik6dm9pZCAwPT09YS5kYXRhKCJ3aGl0ZXNwYWNlIik/YS5jc3MoIndoaXRlU3BhY2UiKXx8Im5vd3JhcCI6YS5kYXRhKCJ3aGl0ZXNwYWNlIiksYy50ZXh0QWxpZ249ZD92b2lkIDA9PT1lLmRhdGEoInRleHRhbGlnbiIpP2UuY3NzKCJ0ZXh0YWxpZ24iKXx8ImluaGVyaXQiOmUuZGF0YSgidGV4dGFsaWduIik6dm9pZCAwPT09YS5kYXRhKCJ0ZXh0YWxpZ24iKT9hLmNzcygidGV4dGFsaWduIil8fCJpbmhlcml0IjphLmRhdGEoInRleHRhbGlnbiIpLGMuZm9udFdlaWdodD1kP3ZvaWQgMD09PWUuZGF0YSgiZm9udHdlaWdodCIpP3BhcnNlSW50KGUuY3NzKCJmb250V2VpZ2h0IiksMCl8fDA6ZS5kYXRhKCJmb250d2VpZ2h0Iik6dm9pZCAwPT09YS5kYXRhKCJmb250d2VpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoImZvbnRXZWlnaHQiKSwwKXx8MDphLmRhdGEoImZvbnR3ZWlnaHQiKSxjLm1pbldpZHRoPXZvaWQgMD09PWEuZGF0YSgid2lkdGgiKT9wYXJzZUludChhLmNzcygibWluV2lkdGgiKSwwKXx8MDphLmRhdGEoIndpZHRoIiksYy5taW5IZWlnaHQ9dm9pZCAwPT09YS5kYXRhKCJoZWlnaHQiKT9wYXJzZUludChhLmNzcygibWluSGVpZ2h0IiksMCl8fDA6YS5kYXRhKCJoZWlnaHQiKSx2b2lkIDAhPWEuZGF0YSgidmlkZW93aWR0aCIpJiZ2b2lkIDAhPWEuZGF0YSgidmlkZW9oZWlnaHQiKSl7dmFyIGY9YS5kYXRhKCJ2aWRlb3dpZHRoIiksZz1hLmRhdGEoInZpZGVvaGVpZ2h0Iik7Zj0iMTAwJSI9PT1mPyJub25lIjpmLGc9IjEwMCUiPT09Zz8ibm9uZSI6ZyxhLmRhdGEoIndpZHRoIixmKSxhLmRhdGEoImhlaWdodCIsZyl9Yy5tYXhXaWR0aD12b2lkIDA9PT1hLmRhdGEoIndpZHRoIik/cGFyc2VJbnQoYS5jc3MoIm1heFdpZHRoIiksMCl8fCJub25lIjphLmRhdGEoIndpZHRoIiksYy5tYXhIZWlnaHQ9LTEhPT1qUXVlcnkuaW5BcnJheShhLmRhdGEoInR5cGUiKSxbImNvbHVtbiIsInJvdyJdKT8ibm9uZSI6dm9pZCAwPT09YS5kYXRhKCJoZWlnaHQiKT9wYXJzZUludChhLmNzcygibWF4SGVpZ2h0IiksMCl8fCJub25lIjphLmRhdGEoImhlaWdodCIpLGMud2FuPXZvaWQgMD09PWEuZGF0YSgid2FuIik/cGFyc2VJbnQoYS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIpLDApfHwibm9uZSI6YS5kYXRhKCJ3YW4iKSxjLm1vYW49dm9pZCAwPT09YS5kYXRhKCJtb2FuIik/cGFyc2VJbnQoYS5jc3MoIi1tb3otYW5pbWF0aW9uLXRyYW5zaXRpb24iKSwwKXx8Im5vbmUiOmEuZGF0YSgibW9hbiIpLGMubWFuPXZvaWQgMD09PWEuZGF0YSgibWFuIik/cGFyc2VJbnQoYS5jc3MoIi1tcy1hbmltYXRpb24tdHJhbnNpdGlvbiIpLDApfHwibm9uZSI6YS5kYXRhKCJtYW4iKSxjLmFuaT12b2lkIDA9PT1hLmRhdGEoImFuaSIpP3BhcnNlSW50KGEuY3NzKCJ0cmFuc2l0aW9uIiksMCl8fCJub25lIjphLmRhdGEoImFuaSIpfXJldHVybiBjLnN0eWxlUHJvcHM9e2JvcmRlclRvcExlZnRSYWRpdXM6YVswXS5zdHlsZS5ib3JkZXJUb3BMZWZ0UmFkaXVzLGJvcmRlclRvcFJpZ2h0UmFkaXVzOmFbMF0uc3R5bGUuYm9yZGVyVG9wUmlnaHRSYWRpdXMsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6YVswXS5zdHlsZS5ib3JkZXJCb3R0b21SaWdodFJhZGl1cyxib3JkZXJCb3R0b21MZWZ0UmFkaXVzOmFbMF0uc3R5bGUuYm9yZGVyQm90dG9tTGVmdFJhZGl1cyxiYWNrZ3JvdW5kOmFbMF0uc3R5bGUuYmFja2dyb3VuZCxib3hTaGFkb3c6YVswXS5zdHlsZS5ib3hTaGFkb3csImJhY2tncm91bmQtY29sb3IiOmFbMF0uc3R5bGVbImJhY2tncm91bmQtY29sb3IiXSwiYm9yZGVyLXRvcC1jb2xvciI6YVswXS5zdHlsZVsiYm9yZGVyLXRvcC1jb2xvciJdLCJib3JkZXItYm90dG9tLWNvbG9yIjphWzBdLnN0eWxlWyJib3JkZXItYm90dG9tLWNvbG9yIl0sImJvcmRlci1yaWdodC1jb2xvciI6YVswXS5zdHlsZVsiYm9yZGVyLXJpZ2h0LWNvbG9yIl0sImJvcmRlci1sZWZ0LWNvbG9yIjphWzBdLnN0eWxlWyJib3JkZXItbGVmdC1jb2xvciJdLCJib3JkZXItdG9wLXN0eWxlIjphWzBdLnN0eWxlWyJib3JkZXItdG9wLXN0eWxlIl0sImJvcmRlci1ib3R0b20tc3R5bGUiOmFbMF0uc3R5bGVbImJvcmRlci1ib3R0b20tc3R5bGUiXSwiYm9yZGVyLWxlZnQtc3R5bGUiOmFbMF0uc3R5bGVbImJvcmRlci1sZWZ0LXN0eWxlIl0sImJvcmRlci1yaWdodC1zdHlsZSI6YVswXS5zdHlsZVsiYm9yZGVyLXJpZ2h0LXN0eWxlIl0sImJvcmRlci1sZWZ0LXdpZHRoIjphWzBdLnN0eWxlWyJib3JkZXItbGVmdC13aWR0aCJdLCJib3JkZXItcmlnaHQtd2lkdGgiOmFbMF0uc3R5bGVbImJvcmRlci1yaWdodC13aWR0aCJdLCJib3JkZXItYm90dG9tLXdpZHRoIjphWzBdLnN0eWxlWyJib3JkZXItYm90dG9tLXdpZHRoIl0sImJvcmRlci10b3Atd2lkdGgiOmFbMF0uc3R5bGVbImJvcmRlci10b3Atd2lkdGgiXSxjb2xvcjphWzBdLnN0eWxlLmNvbG9yLCJ0ZXh0LWRlY29yYXRpb24iOmFbMF0uc3R5bGVbInRleHQtZGVjb3JhdGlvbiJdLCJmb250LXN0eWxlIjphWzBdLnN0eWxlWyJmb250LXN0eWxlIl19LCIiIT09Yy5zdHlsZVByb3BzLmJhY2tncm91bmQmJnZvaWQgMCE9PWMuc3R5bGVQcm9wcy5iYWNrZ3JvdW5kJiZjLnN0eWxlUHJvcHMuYmFja2dyb3VuZCE9PWMuc3R5bGVQcm9wc1siYmFja2dyb3VuZC1jb2xvciJdfHxkZWxldGUgYy5zdHlsZVByb3BzLmJhY2tncm91bmQsIiI9PWMuc3R5bGVQcm9wcy5jb2xvciYmKGMuc3R5bGVQcm9wcy5jb2xvcj1hLmNzcygiY29sb3IiKSksY30sej1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBPYmplY3Q7cmV0dXJuIGEmJmpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oZCxlKXt2YXIgZj12KGUsYilbYi5jdXJXaW5SYW5nZV07Y1tkXT12b2lkIDAhPT1mP2Y6YVtkXX0pLGN9LEE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGE9alF1ZXJ5LmlzTnVtZXJpYyhhKT9hKmIrInB4IjphLGE9ImZ1bGwiPT09YT9kOiJhdXRvIj09PWF8fCJub25lIj09PWE/YzphfSxCPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuZGF0YSgpO2U9dm9pZCAwPT09ZT97fTplO3RyeXtpZigiQlIiPT1hWzBdLm5vZGVOYW1lfHwiYnIiPT1hWzBdLnRhZ05hbWUpcmV0dXJuITF9Y2F0Y2goYSl7fWUuY3Nzb2JqPXZvaWQgMD09PWUuY3Nzb2JqP3koYSxjKTplLmNzc29iajt2YXIgZj16KGUuY3Nzb2JqLGIpLGc9Yi5idyxoPWIuYmg7Im9mZiI9PT1kJiYoZz0xLGg9MSksImF1dG8iPT1mLmxpbmVIZWlnaHQmJihmLmxpbmVIZWlnaHQ9Zi5mb250U2l6ZSs0KTt2YXIgaT17VG9wOmYubWFyZ2luVG9wLEJvdHRvbTpmLm1hcmdpbkJvdHRvbSxMZWZ0OmYubWFyZ2luTGVmdCxSaWdodDpmLm1hcmdpblJpZ2h0fTtpZigiY29sdW1uIj09PWUuX25jdHlwZSYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLl9jb2x1bW4se3BhZGRpbmdUb3A6TWF0aC5yb3VuZChmLm1hcmdpblRvcCpoKSsicHgiLHBhZGRpbmdCb3R0b206TWF0aC5yb3VuZChmLm1hcmdpbkJvdHRvbSpoKSsicHgiLHBhZGRpbmdMZWZ0Ok1hdGgucm91bmQoZi5tYXJnaW5MZWZ0KmcpKyJweCIscGFkZGluZ1JpZ2h0Ok1hdGgucm91bmQoZi5tYXJnaW5SaWdodCpnKSsicHgifSksaT17VG9wOjAsQm90dG9tOjAsTGVmdDowLFJpZ2h0OjB9KSwhYS5oYXNDbGFzcygidHAtc3BsaXR0ZWQiKSl7YS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIsIm5vbmUiKSxhLmNzcygiLW1vei10cmFuc2l0aW9uIiwibm9uZSIpLGEuY3NzKCItbXMtdHJhbnNpdGlvbiIsIm5vbmUiKSxhLmNzcygidHJhbnNpdGlvbiIsIm5vbmUiKTtpZigodm9pZCAwIT09YS5kYXRhKCJ0cmFuc2Zvcm1faG92ZXIiKXx8dm9pZCAwIT09YS5kYXRhKCJzdHlsZV9ob3ZlciIpKSYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEsZi5zdHlsZVByb3BzKSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7Zm9udFNpemU6TWF0aC5yb3VuZChmLmZvbnRTaXplKmcpKyJweCIsZm9udFdlaWdodDpmLmZvbnRXZWlnaHQsbGV0dGVyU3BhY2luZzpNYXRoLmZsb29yKGYubGV0dGVyU3BhY2luZypnKSsicHgiLHBhZGRpbmdUb3A6TWF0aC5yb3VuZChmLnBhZGRpbmdUb3AqaCkrInB4IixwYWRkaW5nQm90dG9tOk1hdGgucm91bmQoZi5wYWRkaW5nQm90dG9tKmgpKyJweCIscGFkZGluZ0xlZnQ6TWF0aC5yb3VuZChmLnBhZGRpbmdMZWZ0KmcpKyJweCIscGFkZGluZ1JpZ2h0Ok1hdGgucm91bmQoZi5wYWRkaW5nUmlnaHQqZykrInB4IixtYXJnaW5Ub3A6aS5Ub3AqaCsicHgiLG1hcmdpbkJvdHRvbTppLkJvdHRvbSpoKyJweCIsbWFyZ2luTGVmdDppLkxlZnQqZysicHgiLG1hcmdpblJpZ2h0OmkuUmlnaHQqZysicHgiLGJvcmRlclRvcFdpZHRoOk1hdGgucm91bmQoZi5ib3JkZXJUb3BXaWR0aCpoKSsicHgiLGJvcmRlckJvdHRvbVdpZHRoOk1hdGgucm91bmQoZi5ib3JkZXJCb3R0b21XaWR0aCpoKSsicHgiLGJvcmRlckxlZnRXaWR0aDpNYXRoLnJvdW5kKGYuYm9yZGVyTGVmdFdpZHRoKmcpKyJweCIsYm9yZGVyUmlnaHRXaWR0aDpNYXRoLnJvdW5kKGYuYm9yZGVyUmlnaHRXaWR0aCpnKSsicHgiLGxpbmVIZWlnaHQ6TWF0aC5yb3VuZChmLmxpbmVIZWlnaHQqaCkrInB4Iix0ZXh0QWxpZ246Zi50ZXh0QWxpZ24sb3ZlcndyaXRlOiJhdXRvIn0pLCJyZWt1cnNpdmUiIT1jKXt2YXIgaz0ic2xpZGUiPT1mLmJhc2VhbGlnbj9iLnVsdzpiLmdyaWR3aWR0aFtiLmN1cldpblJhbmdlXSxsPSJzbGlkZSI9PWYuYmFzZWFsaWduP2IudWxoOmIuZ3JpZGhlaWdodFtiLmN1cldpblJhbmdlXSxtPUEoZi5tYXhXaWR0aCxnLCJub25lIixrKSxuPUEoZi5tYXhIZWlnaHQsaCwibm9uZSIsbCksbz1BKGYubWluV2lkdGgsZywiMHB4IixrKSxwPUEoZi5taW5IZWlnaHQsaCwiMHB4IixsKTtpZihvPXZvaWQgMD09PW8/MDpvLHA9dm9pZCAwPT09cD8wOnAsbT12b2lkIDA9PT1tPyJub25lIjptLG49dm9pZCAwPT09bj8ibm9uZSI6bixlLl9pc2dyb3VwJiYoIiMxLzEjIj09PW8mJihvPW09ayksIiMxLzIjIj09PW8mJihvPW09ay8yKSwiIzEvMyMiPT09byYmKG89bT1rLzMpLCIjMS80IyI9PT1vJiYobz1tPWsvNCksIiMxLzUjIj09PW8mJihvPW09ay81KSwiIzEvNiMiPT09byYmKG89bT1rLzYpLCIjMi8zIyI9PT1vJiYobz1tPWsvMyoyKSwiIzMvNCMiPT09byYmKG89bT1rLzQqMyksIiMyLzUjIj09PW8mJihvPW09ay81KjIpLCIjMy81IyI9PT1vJiYobz1tPWsvNSozKSwiIzQvNSMiPT09byYmKG89bT1rLzUqNCksIiMzLzYjIj09PW8mJihvPW09ay82KjMpLCIjNC82IyI9PT1vJiYobz1tPWsvNio0KSwiIzUvNiMiPT09byYmKG89bT1rLzYqNSkpLGUuX2luZ3JvdXAmJihlLl9ncm91cHc9byxlLl9ncm91cGg9cCkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heFdpZHRoOm0sbWF4SGVpZ2h0Om4sbWluV2lkdGg6byxtaW5IZWlnaHQ6cCx3aGl0ZVNwYWNlOmYud2hpdGVTcGFjZSx0ZXh0QWxpZ246Zi50ZXh0QWxpZ24sb3ZlcndyaXRlOiJhdXRvIn0pLCJub3ByZWRlZmluZWRjb2xvciIhPWYuY29sb3ImJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHtjb2xvcjpmLmNvbG9yLG92ZXJ3cml0ZToiYXV0byJ9KSx2b2lkIDAhPWUuc3ZnX3NyYyl7dmFyIHE9Im5vcHJlZGVmaW5lZGNvbG9yIiE9Zi5jb2xvciYmdm9pZCAwIT1mLmNvbG9yP2YuY29sb3I6dm9pZCAwIT1mLmNzcyYmIm5vcHJlZGVmaW5lZGNvbG9yIiE9Zi5jc3MuY29sb3ImJnZvaWQgMCE9Zi5jc3MuY29sb3I/Zi5jc3MuY29sb3I6dm9pZCAwIT1mLnN0eWxlUHJvcHMuY29sb3I/Zi5zdHlsZVByb3BzLmNvbG9yOnZvaWQgMCE9Zi5zdHlsZVByb3BzLmNzcyYmdm9pZCAwIT1mLnN0eWxlUHJvcHMuY3NzLmNvbG9yJiZmLnN0eWxlUHJvcHMuY3NzLmNvbG9yOzAhPXEmJihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5maW5kKCJzdmciKSx7ZmlsbDpxLG92ZXJ3cml0ZToiYXV0byJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5maW5kKCJzdmcgcGF0aCIpLHtmaWxsOnEsb3ZlcndyaXRlOiJhdXRvIn0pKX19ImNvbHVtbiI9PT1lLl9uY3R5cGUmJih2b2lkIDA9PT1lLl9jb2x1bW5fYmdfc2V0JiYoZS5fY29sdW1uX2JnX3NldD1hLmNzcygiYmFja2dyb3VuZENvbG9yIiksZS5fY29sdW1uX2JnX2ltYWdlPWEuY3NzKCJiYWNrZ3JvdW5kSW1hZ2UiKSxlLl9jb2x1bW5fYmdfaW1hZ2VfcmVwZWF0PWEuY3NzKCJiYWNrZ3JvdW5kUmVwZWF0IiksZS5fY29sdW1uX2JnX2ltYWdlX3Bvc2l0aW9uPWEuY3NzKCJiYWNrZ3JvdW5kUG9zaXRpb24iKSxlLl9jb2x1bW5fYmdfaW1hZ2Vfc2l6ZT1hLmNzcygiYmFja2dyb3VuZFNpemUiKSxlLl9jb2x1bW5fYmdfb3BhY2l0eT1hLmRhdGEoImJnb3BhY2l0eSIpLGUuX2NvbHVtbl9iZ19vcGFjaXR5PXZvaWQgMD09PWUuX2NvbHVtbl9iZ19vcGFjaXR5PzE6ZS5fY29sdW1uX2JnX29wYWNpdHkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQiLGJhY2tncm91bmRJbWFnZToiIn0pKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7QyhhLGIpfSwxKSxlLl9jYmdjX2F1dG8mJmUuX2NiZ2NfYXV0by5sZW5ndGg+MCYmKGUuX2NiZ2NfYXV0b1swXS5zdHlsZS5iYWNrZ3JvdW5kU2l6ZT1lLl9jb2x1bW5fYmdfaW1hZ2Vfc2l6ZSxqUXVlcnkuaXNBcnJheShmLm1hcmdpbkxlZnQpP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChlLl9jYmdjX2F1dG8se2JvcmRlclRvcFdpZHRoOmYubWFyZ2luVG9wW2IuY3VyV2luUmFuZ2VdKmgrInB4Iixib3JkZXJMZWZ0V2lkdGg6Zi5tYXJnaW5MZWZ0W2IuY3VyV2luUmFuZ2VdKmcrInB4Iixib3JkZXJSaWdodFdpZHRoOmYubWFyZ2luUmlnaHRbYi5jdXJXaW5SYW5nZV0qZysicHgiLGJvcmRlckJvdHRvbVdpZHRoOmYubWFyZ2luQm90dG9tW2IuY3VyV2luUmFuZ2VdKmgrInB4IixiYWNrZ3JvdW5kQ29sb3I6ZS5fY29sdW1uX2JnX3NldCxiYWNrZ3JvdW5kSW1hZ2U6ZS5fY29sdW1uX2JnX2ltYWdlLGJhY2tncm91bmRSZXBlYXQ6ZS5fY29sdW1uX2JnX2ltYWdlX3JlcGVhdCxiYWNrZ3JvdW5kUG9zaXRpb246ZS5fY29sdW1uX2JnX2ltYWdlX3Bvc2l0aW9uLG9wYWNpdHk6ZS5fY29sdW1uX2JnX29wYWNpdHl9KTpwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5fY2JnY19hdXRvLHtib3JkZXJUb3BXaWR0aDpmLm1hcmdpblRvcCpoKyJweCIsYm9yZGVyTGVmdFdpZHRoOmYubWFyZ2luTGVmdCpnKyJweCIsYm9yZGVyUmlnaHRXaWR0aDpmLm1hcmdpblJpZ2h0KmcrInB4Iixib3JkZXJCb3R0b21XaWR0aDpmLm1hcmdpbkJvdHRvbSpoKyJweCIsYmFja2dyb3VuZENvbG9yOmUuX2NvbHVtbl9iZ19zZXQsYmFja2dyb3VuZEltYWdlOmUuX2NvbHVtbl9iZ19pbWFnZSxiYWNrZ3JvdW5kUmVwZWF0OmUuX2NvbHVtbl9iZ19pbWFnZV9yZXBlYXQsYmFja2dyb3VuZFBvc2l0aW9uOmUuX2NvbHVtbl9iZ19pbWFnZV9wb3NpdGlvbixvcGFjaXR5OmUuX2NvbHVtbl9iZ19vcGFjaXR5fSkpKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIsYS5kYXRhKCJ3YW4iKSksYS5jc3MoIi1tb3otdHJhbnNpdGlvbiIsYS5kYXRhKCJtb2FuIikpLGEuY3NzKCItbXMtdHJhbnNpdGlvbiIsYS5kYXRhKCJtYW4iKSksYS5jc3MoInRyYW5zaXRpb24iLGEuZGF0YSgiYW5pIikpfSwzMCl9fSxDPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kYXRhKCk7aWYoYy5fY2JnY19tYW4mJmMuX2NiZ2NfbWFuLmxlbmd0aD4wKXt2YXIgZSxmLGg7alF1ZXJ5LmlzQXJyYXkoYy5jc3NvYmoubWFyZ2luTGVmdCk/KGMuY3Nzb2JqLm1hcmdpbkxlZnRbYi5jdXJXaW5SYW5nZV0qYi5idyxlPWMuY3Nzb2JqLm1hcmdpblRvcFtiLmN1cldpblJhbmdlXSpiLmJoLGY9Yy5jc3NvYmoubWFyZ2luQm90dG9tW2IuY3VyV2luUmFuZ2VdKmIuYmgsYy5jc3NvYmoubWFyZ2luUmlnaHRbYi5jdXJXaW5SYW5nZV0qYi5idyk6KGMuY3Nzb2JqLm1hcmdpbkxlZnQqYi5idyxlPWMuY3Nzb2JqLm1hcmdpblRvcCpiLmJoLGY9Yy5jc3NvYmoubWFyZ2luQm90dG9tKmIuYmgsYy5jc3NvYmoubWFyZ2luUmlnaHQqYi5idyksaD1jLl9yb3cuaGFzQ2xhc3MoInJldl9icmVha19jb2x1bW5zIik/IjEwMCUiOmMuX3Jvdy5oZWlnaHQoKS0oZStmKSsicHgiLGMuX2NiZ2NfbWFuWzBdLnN0eWxlLmJhY2tncm91bmRTaXplPWMuX2NvbHVtbl9iZ19pbWFnZV9zaXplLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLl9jYmdjX21hbix7d2lkdGg6IjEwMCUiLGhlaWdodDpoLGJhY2tncm91bmRDb2xvcjpjLl9jb2x1bW5fYmdfc2V0LGJhY2tncm91bmRJbWFnZTpjLl9jb2x1bW5fYmdfaW1hZ2UsYmFja2dyb3VuZFJlcGVhdDpjLl9jb2x1bW5fYmdfaW1hZ2VfcmVwZWF0LGJhY2tncm91bmRQb3NpdGlvbjpjLl9jb2x1bW5fYmdfaW1hZ2VfcG9zaXRpb24sb3ZlcndyaXRlOiJhdXRvIixvcGFjaXR5OmMuX2NvbHVtbl9iZ19vcGFjaXR5fSl9fSxEPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kYXRhKCk7aWYoYS5oYXNDbGFzcygicnMtcGVuZHVsdW0iKSYmdm9pZCAwPT1jLl9sb29wX3RpbWVsaW5lKXtjLl9sb29wX3RpbWVsaW5lPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZTt2YXIgZD12b2lkIDA9PWEuZGF0YSgic3RhcnRkZWciKT8tMjA6YS5kYXRhKCJzdGFydGRlZyIpLGU9dm9pZCAwPT1hLmRhdGEoImVuZGRlZyIpPzIwOmEuZGF0YSgiZW5kZGVnIiksZj12b2lkIDA9PWEuZGF0YSgic3BlZWQiKT8yOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxoPXZvaWQgMD09YS5kYXRhKCJlYXNpbmciKT9wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQ6YS5kYXRhKCJlYXNpbmciKTtkKj1iLGUqPWIsYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmQsdHJhbnNmb3JtT3JpZ2luOmd9LHtyb3RhdGlvbjplLGVhc2U6aH0pKSxjLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGEsZix7Zm9yY2UzRDoiYXV0byIscm90YXRpb246ZSx0cmFuc2Zvcm1PcmlnaW46Z30se3JvdGF0aW9uOmQsZWFzZTpoLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtjLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX19KSl9aWYoYS5oYXNDbGFzcygicnMtcm90YXRlIikmJnZvaWQgMD09Yy5fbG9vcF90aW1lbGluZSl7Yy5fbG9vcF90aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7dmFyIGQ9dm9pZCAwPT1hLmRhdGEoInN0YXJ0ZGVnIik/MDphLmRhdGEoInN0YXJ0ZGVnIiksZT12b2lkIDA9PWEuZGF0YSgiZW5kZGVnIik/MzYwOmEuZGF0YSgiZW5kZGVnIiksZj12b2lkIDA9PWEuZGF0YSgic3BlZWQiKT8yOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxoPXZvaWQgMD09YS5kYXRhKCJlYXNpbmciKT9wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQ6YS5kYXRhKCJlYXNpbmciKTtkKj1iLGUqPWIsYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmQsdHJhbnNmb3JtT3JpZ2luOmd9LHtyb3RhdGlvbjplLGVhc2U6aCxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7Yy5fbG9vcF90aW1lbGluZS5yZXN0YXJ0KCl9fSkpfWlmKGEuaGFzQ2xhc3MoInJzLXNsaWRlbG9vcCIpJiZ2b2lkIDA9PWMuX2xvb3BfdGltZWxpbmUpe2MuX2xvb3BfdGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3ZhciBpPXZvaWQgMD09YS5kYXRhKCJ4cyIpPzA6YS5kYXRhKCJ4cyIpLGo9dm9pZCAwPT1hLmRhdGEoInlzIik/MDphLmRhdGEoInlzIiksaz12b2lkIDA9PWEuZGF0YSgieGUiKT8wOmEuZGF0YSgieGUiKSxsPXZvaWQgMD09YS5kYXRhKCJ5ZSIpPzA6YS5kYXRhKCJ5ZSIpLGY9dm9pZCAwPT1hLmRhdGEoInNwZWVkIik/MjphLmRhdGEoInNwZWVkIiksaD12b2lkIDA9PWEuZGF0YSgiZWFzaW5nIik/cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0OmEuZGF0YSgiZWFzaW5nIik7aSo9YixqKj1iLGsqPWIsbCo9YixjLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGEsZix7Zm9yY2UzRDoiYXV0byIseDppLHk6an0se3g6ayx5OmwsZWFzZTpofSkpLGMuX2xvb3BfdGltZWxpbmUuYXBwZW5kKG5ldyBwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYSxmLHtmb3JjZTNEOiJhdXRvIix4OmsseTpsfSx7eDppLHk6aixvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7Yy5fbG9vcF90aW1lbGluZS5yZXN0YXJ0KCl9fSkpfWlmKGEuaGFzQ2xhc3MoInJzLXB1bHNlIikmJnZvaWQgMD09Yy5fbG9vcF90aW1lbGluZSl7Yy5fbG9vcF90aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7dmFyIG09dm9pZCAwPT1hLmRhdGEoInpvb21zdGFydCIpPzA6YS5kYXRhKCJ6b29tc3RhcnQiKSxuPXZvaWQgMD09YS5kYXRhKCJ6b29tZW5kIik/MDphLmRhdGEoInpvb21lbmQiKSxmPXZvaWQgMD09YS5kYXRhKCJzcGVlZCIpPzI6YS5kYXRhKCJzcGVlZCIpLGg9dm9pZCAwPT1hLmRhdGEoImVhc2luZyIpP3B1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dDphLmRhdGEoImVhc2luZyIpO2MuX2xvb3BfdGltZWxpbmUuYXBwZW5kKG5ldyBwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYSxmLHtmb3JjZTNEOiJhdXRvIixzY2FsZTptfSx7c2NhbGU6bixlYXNlOmh9KSksYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHNjYWxlOm59LHtzY2FsZTptLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtjLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX19KSl9aWYoYS5oYXNDbGFzcygicnMtd2F2ZSIpJiZ2b2lkIDA9PWMuX2xvb3BfdGltZWxpbmUpe2MuX2xvb3BfdGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3ZhciBvPXZvaWQgMD09YS5kYXRhKCJhbmdsZSIpPzEwOnBhcnNlSW50KGEuZGF0YSgiYW5nbGUiKSwwKSxwPXZvaWQgMD09YS5kYXRhKCJyYWRpdXMiKT8xMDpwYXJzZUludChhLmRhdGEoInJhZGl1cyIpLDApLGY9dm9pZCAwPT1hLmRhdGEoInNwZWVkIik/LTIwOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxxPWcuc3BsaXQoIiAiKSxyPW5ldyBPYmplY3Q7cS5sZW5ndGg+PTE/KHIueD1xWzBdLHIueT1xWzFdKTooci54PSI1MCUiLHIueT0iNTAlIikscCo9Yjt2YXIgcz0ocGFyc2VJbnQoci54LDApLzEwMC0uNSkqYS53aWR0aCgpLHQ9KHBhcnNlSW50KHIueSwwKS8xMDAtLjUpKmEuaGVpZ2h0KCksdT0tMSpwK3Qsdj0wK3Msdz17YTowLGFuZzpvLGVsZW1lbnQ6YSx1bml0OnAseG9mZnNldDp2LHlvZmZzZXQ6dX0seD1wYXJzZUludChvLDApLHk9bmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21Ubyh3LGYse2E6MCt4fSx7YTozNjAreCxmb3JjZTNEOiJhdXRvIixlYXNlOnB1bmNoZ3MuTGluZWFyLmVhc2VOb25lfSk7eS5ldmVudENhbGxiYWNrKCJvblVwZGF0ZSIsZnVuY3Rpb24oYSl7dmFyIGI9YS5hKihNYXRoLlBJLzE4MCksYz1hLnlvZmZzZXQrYS51bml0KigxLU1hdGguc2luKGIpKSxkPWEueG9mZnNldCtNYXRoLmNvcyhiKSphLnVuaXQ7cHVuY2hncy5Ud2VlbkxpdGUudG8oYS5lbGVtZW50LC4xLHtmb3JjZTNEOiJhdXRvIix4OmQseTpjfSl9LFt3XSkseS5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixmdW5jdGlvbihhKXthLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX0sW2NdKSxjLl9sb29wX3RpbWVsaW5lLmFwcGVuZCh5KX19LEU9ZnVuY3Rpb24oYSl7YS5jbG9zZXN0KCIucnMtcGVuZHVsdW0sIC5ycy1zbGlkZWxvb3AsIC5ycy1wdWxzZSwgLnJzLXdhdmUiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt2b2lkIDAhPWEuX2xvb3BfdGltZWxpbmUmJihhLl9sb29wX3RpbWVsaW5lLnBhdXNlKCksYS5fbG9vcF90aW1lbGluZT1udWxsKX0pfX0oalF1ZXJ5KTs="}},"time_used":290,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":286,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/css/navigation.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.017Z","timestamp":1785123385017,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/css/navigation.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"e8b8-65fd8520-27234268d4e71794;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 7183\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":59576,"size_decoded":7623,"mime_type":"text/css","magic":"ASCII text","md5":"c8f8666090883e07c43c886896157556","sha1":"0a8f9fe0f46c959954bd69173062d8b042a2db70","sha256":"c9c5f901eeef711f631164c4cd4108b433cf07adfa16cf1d544bc6f8505bf128","sha512":"fdd15582e7c1073eee77d974340453f597fc5b22e4625019779cd82540b5df21a0bf3823c349f16935ceb43c51100e5017564deb476271a82fef6220ddc4c0a3","ssdeep":"1536:Gww1nwqr7ymxY5XYWlSDWLam+aIjU742TzJq3:Vt9Xt/2","tlshash":"ac4372aa5e936100b127c6049fc54bace33e8017e552cdaeb79e74cedf415c891ae38d","first_seen":"2023-04-07T16:02:15Z","last_seen":"2026-07-31T06:28:11.472039Z","times_seen":2580,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBBUkVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLmFyZXMudHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NjBweDsKICAgIG1pbi1oZWlnaHQ6NjBweDsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBkaXNwbGF5OmJsb2NrOwogIHotaW5kZXg6MTAwOwogICAgYm9yZGVyLXJhZGl1czo1MCU7Cn0KLmFyZXMudHBhcnJvd3M6aG92ZXIgewp9Ci5hcmVzLnRwYXJyb3dzOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7CiAgZm9udC1zaXplOjI1cHg7CiAgY29sb3I6I2FhYTsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiA2MHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICB6LWluZGV4OjI7CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQouYXJlcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWYiOwp9Ci5hcmVzLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWUiOwp9Ci5hcmVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiBjb2xvcjojMDAwOwogICAgICB9Ci5hcmVzIC50cC10aXRsZS13cmFwIHsgCiAgcG9zaXRpb246YWJzb2x1dGU7CiAgei1pbmRleDoxOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4taGVpZ2h0OjYwcHg7CiAgbGluZS1oZWlnaHQ6NjBweDsKICB0b3A6MHB4OwogIG1hcmdpbi1sZWZ0OjMwcHg7CiAgYm9yZGVyLXJhZGl1czowcHggMzBweCAzMHB4IDBweDsKICBvdmVyZmxvdzpoaWRkZW47CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOwogIHRyYW5zZm9ybTpzY2FsZVgoMCk7ICAKICAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMCk7ICAKICB0cmFuc2Zvcm0tb3JpZ2luOjAlIDUwJTsgCiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowJSA1MCU7Cn0KIC5hcmVzLnRwLXJpZ2h0YXJyb3cgLnRwLXRpdGxlLXdyYXAgeyAKICAgcmlnaHQ6MHB4OwogICBtYXJnaW4tcmlnaHQ6MzBweDttYXJnaW4tbGVmdDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKYm9yZGVyLXJhZGl1czozMHB4IDBweCAwcHggMzBweDsKIH0KLmFyZXMudHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogIHRyYW5zZm9ybTpzY2FsZVgoMSkgc2NhbGVZKDEpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHNjYWxlWSgxKTsKfQouYXJlcyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwcHgpOyAgCiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogIGNvbG9yOiMwMDA7CiAgZm9udC13ZWlnaHQ6NDAwOwogIGZvbnQtc2l6ZToxNHB4OwogIGxpbmUtaGVpZ2h0OjYwcHg7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwogIHBhZGRpbmc6MHB4IDIwcHg7CiAgbWFyZ2luLWxlZnQ6MTBweDsKICBvcGFjaXR5OjA7Cn0KCi5hcmVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDBweCk7IAogICBtYXJnaW4tbGVmdDowcHg7IG1hcmdpbi1yaWdodDoxMHB4OwogICAgICB9CgouYXJlcy50cGFycm93czpob3ZlciAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7CiAgb3BhY2l0eToxOwp9CgovKiBCVUxMRVRTICovCi5hcmVzLnRwLWJ1bGxldHMgewp9Ci5hcmVzLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmFyZXMgLnRwLWJ1bGxldCB7Cgl3aWR0aDoxM3B4OwoJaGVpZ2h0OjEzcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6I2U1ZTVlNTsKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouYXJlcyAudHAtYnVsbGV0OmhvdmVyLAouYXJlcyAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6I2ZmZjsKfQouYXJlcyAudHAtYnVsbGV0LXRpdGxlIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBjb2xvcjojODg4OwogIGZvbnQtc2l6ZToxMnB4OwogIHBhZGRpbmc6MHB4IDEwcHg7CiAgZm9udC13ZWlnaHQ6NjAwOwogIHJpZ2h0OjI3cHg7CiAgdG9wOi00cHg7CiAgYmFja2dyb3VuZDojZmZmOwogIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjc1KTsKICB2aXNpYmlsaXR5OmhpZGRlbjsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIDAuM3M7CiAgbGluZS1oZWlnaHQ6MjBweDsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0gICAgIAoKLmFyZXMgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICB3aWR0aDogMHB4OwoJaGVpZ2h0OiAwcHg7Cglib3JkZXItc3R5bGU6IHNvbGlkOwoJYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxMHB4OwoJYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwoJY29udGVudDoiICI7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgIHJpZ2h0Oi0xMHB4OwoJdG9wOjBweDsKfQogICAgCi5hcmVzIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC10aXRsZXsKICB2aXNpYmlsaXR5OnZpc2libGU7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwp9CgouYXJlcyAudHAtYnVsbGV0LnNlbGVjdGVkOmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgYmFja2dyb3VuZDojZmZmOwogICAgICAgIH0KLmFyZXMgLnRwLWJ1bGxldC5zZWxlY3RlZDpob3ZlciAudHAtYnVsbGV0LXRpdGxlOmFmdGVyIHsKICBib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjsKfQouYXJlcy50cC1idWxsZXRzOmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgICAgIHZpc2liaWxpdHk6aGlkZGVuOwp9Ci5hcmVzLnRwLWJ1bGxldHM6aG92ZXIgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LXRpdGxlIHsKICAgIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgICAgfQoKLyogVEFCUyAqLwouYXJlcyAudHAtdGFiIHsgCiAgb3BhY2l0eToxOyAgICAgIAogIHBhZGRpbmc6MTBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgZm9udC1mYW1pbHk6ICJSb2JvdG8iLCBzYW5zLXNlcmlmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OwogfQouYXJlcyAudHAtdGFiLWltYWdlIAp7IAogIHdpZHRoOjYwcHg7CiAgaGVpZ2h0OjYwcHg7IG1heC1oZWlnaHQ6MTAwJTsgbWF4LXdpZHRoOjEwMCU7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTppbmxpbmUtYmxvY2s7CiAgZmxvYXQ6bGVmdDsKCn0KLmFyZXMgLnRwLXRhYi1jb250ZW50IAp7CiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7IAogICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICBwYWRkaW5nOjE1cHggMTVweCAxNXB4IDg1cHg7CiBsZWZ0OjBweDsKIG92ZXJmbG93OmhpZGRlbjsKIG1hcmdpbi10b3A6LTE1cHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojMzMzOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6MTAwJTsKICAgIGhlaWdodDoxMDAlOwogcG9zaXRpb246YWJzb2x1dGU7IH0KLmFyZXMgLnRwLXRhYi1kYXRlCiAgewogIGRpc3BsYXk6YmxvY2s7CiAgY29sb3I6ICNhYWE7CiAgZm9udC13ZWlnaHQ6NTAwOwogIGZvbnQtc2l6ZToxMnB4OwogIG1hcmdpbi1ib3R0b206MHB4OwogIH0KLmFyZXMgLnRwLXRhYi10aXRsZSAKewogICAgZGlzcGxheTpibG9jazsJCiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgICBjb2xvcjojMzMzOwogICAgZm9udC1zaXplOjE0cHg7CiAgICBmb250LXdlaWdodDo1MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTpub25lOwogICAgbGluZS1oZWlnaHQ6MTdweDsKfQouYXJlcyAudHAtdGFiOmhvdmVyLAouYXJlcyAudHAtdGFiLnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6I2VlZTsgCn0KCi5hcmVzIC50cC10YWItbWFzayB7Cn0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewoKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7Cgp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIENVU1RPTSBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwouY3VzdG9tLnRwYXJyb3dzIHsKCWN1cnNvcjpwb2ludGVyOwoJYmFja2dyb3VuZDojMDAwOwoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDAwOwp9Ci5jdXN0b20udHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5jdXN0b20udHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjE1cHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiA0MHB4OwoJdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jdXN0b20udHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5jdXN0b20udHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQoKCgovKiBCVUxMRVRTICovCi5jdXN0b20udHAtYnVsbGV0cyB7Cn0KLmN1c3RvbS50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKCXBhZGRpbmc6MTBweDsKCW1hcmdpbi1sZWZ0Oi0xMHB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94Owp9Ci5jdXN0b20gLnRwLWJ1bGxldCB7Cgl3aWR0aDoxMnB4OwoJaGVpZ2h0OjEycHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6I2FhYTsKICAgIGJhY2tncm91bmQ6cmdiYSgxMjUsMTI1LDEyNSwwLjUpOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouY3VzdG9tIC50cC1idWxsZXQ6aG92ZXIsCi5jdXN0b20gLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOnJnYigxMjUsMTI1LDEyNSk7Cn0KLmN1c3RvbSAudHAtYnVsbGV0LWltYWdlIHsKfQouY3VzdG9tIC50cC1idWxsZXQtdGl0bGUgewp9CgoKLyogVEhVTUJTICovCgoKLyogVEFCUyAqLwoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogRElPTkUgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmRpb25lLnRwYXJyb3dzIHsKICBoZWlnaHQ6MTAwJTsKICB3aWR0aDoxMDBweDsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTsKICBsaW5lLWhlaWdodDoxMDAlOwogIHRyYW5zaXRpb246YWxsIDAuM3M7Ci13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLmRpb25lLnRwYXJyb3dzOmhvdmVyIHsKIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjQ1KTsKIH0KLmRpb25lIC50cC1hcnItaW1nd3JhcHBlciB7CiB3aWR0aDoxMDBweDsKIGxlZnQ6MHB4OwogcG9zaXRpb246YWJzb2x1dGU7CiBoZWlnaHQ6MTAwJTsKIHRvcDowcHg7CiBvdmVyZmxvdzpoaWRkZW47CiB9Ci5kaW9uZS50cC1yaWdodGFycm93IC50cC1hcnItaW1nd3JhcHBlciB7CmxlZnQ6YXV0bzsKcmlnaHQ6MHB4Owp9CgouZGlvbmUgLnRwLWFyci1pbWdob2xkZXIgewpiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CmJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKd2lkdGg6MTAwcHg7CmhlaWdodDoxMDAlOwp0b3A6MHB4Owp2aXNpYmlsaXR5OmhpZGRlbjsKdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwcHgpOwotd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MHB4KTsKdHJhbnNpdGlvbjphbGwgMC4zczsKLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwpvcGFjaXR5OjA7CmxlZnQ6MHB4Owp9CgouZGlvbmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdyAudHAtYXJyLWltZ2hvbGRlciB7CiAgcmlnaHQ6MHB4OwogIGxlZnQ6YXV0bzsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MHB4KTsKIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTBweCk7Cn0KCi5kaW9uZS50cGFycm93czpiZWZvcmUgewpwb3NpdGlvbjphYnNvbHV0ZTsKbGluZS1oZWlnaHQ6MzBweDsKbWFyZ2luLWxlZnQ6LTIycHg7CnRvcDo1MCU7CmxlZnQ6NTAlOwpmb250LXNpemU6MzBweDsKbWFyZ2luLXRvcDotMTVweDsKdHJhbnNpdGlvbjphbGwgMC4zczsKLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwp9CgouZGlvbmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewptYXJnaW4tbGVmdDo2cHg7Cn0KCi5kaW9uZS50cGFycm93czpob3ZlcjpiZWZvcmUgewogIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTsKLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7Cm9wYWNpdHk6MDsKfQoKLmRpb25lLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6aG92ZXI6YmVmb3JlIHsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTsKLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTsKfQoKLmRpb25lLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItaW1naG9sZGVyIHsKIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7Ci13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKb3BhY2l0eToxOwp2aXNpYmlsaXR5OnZpc2libGU7Cn0KCgoKLyogQlVMTEVUUyAqLwouZGlvbmUgLnRwLWJ1bGxldCB7IAogICAgb3BhY2l0eToxOwogICAgd2lkdGg6NTBweDsKICAgIGhlaWdodDo1MHB4OyAgICAKICAgIHBhZGRpbmc6M3B4OwogICAgYmFja2dyb3VuZDojMDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMjUpOwogICAgbWFyZ2luOjBweDsKICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CgogIH0KCi5kaW9uZSAudHAtYnVsbGV0LWltYWdlIHsKICAgZGlzcGxheTpibG9jazsKICAgYm94LXNpemluZzpib3JkZXItYm94OwogICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIC1tb3otYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICB3aWR0aDo0NHB4OwogIGhlaWdodDo0NHB4OwogIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiB9ICAKLmRpb25lIC50cC1idWxsZXQtdGl0bGUgeyAKICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgCiAgIGJvdHRvbTo2NXB4OwogICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogICAgIGxlZnQ6NTAlOwogICAgIGJhY2tncm91bmQ6IzAwMDsKICAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43NSk7CiAgICAgY29sb3I6I2ZmZjsKICAgICBwYWRkaW5nOjEwcHggMzBweDsKICAgICBib3JkZXItcmFkaXVzOjRweDsKICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KCi5kaW9uZSAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgIHRyYW5zZm9ybTpyb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBvcGFjaXR5OjE7Cn0KCi5kaW9uZSAudHAtYnVsbGV0LnNlbGVjdGVkLAouZGlvbmUgLnRwLWJ1bGxldDpob3ZlciAgewogIAogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDEpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmYiLCBlbmRDb2xvcnN0cj0iIzc3Nzc3NyIsIEdyYWRpZW50VHlwZT0wICk7CiAKICAgICAgfQouZGlvbmUgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICAgICAgY29udGVudDoiICI7CiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LThweDsKICAgICAgICB3aWR0aDogMDsKICAgIGhlaWdodDogMDsKICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICBib3JkZXItd2lkdGg6IDhweCA4cHggMCA4cHg7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEVSSU5ZRU4gU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmVyaW55ZW4udHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKICBtaW4td2lkdGg6NzBweDsKICBtaW4taGVpZ2h0OjcwcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgZGlzcGxheTpibG9jazsKICB6LWluZGV4OjEwMDA7CiAgYm9yZGVyLXJhZGl1czozNXB4OyAgIAp9CgouZXJpbnllbi50cGFycm93czpiZWZvcmUgewogIGZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwogIGZvbnQtc2l6ZToyMHB4OwogIGNvbG9yOiNmZmY7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogNzBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQouZXJpbnllbi50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjQiOwp9Ci5lcmlueWVuLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouZXJpbnllbiAudHAtdGl0bGUtd3JhcCB7IAogIHBvc2l0aW9uOmFic29sdXRlOwogIHotaW5kZXg6MTsKICBkaXNwbGF5OmlubGluZS1ibG9jazsKICBiYWNrZ3JvdW5kOiMwMDA7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7CiAgbWluLWhlaWdodDo3MHB4OwogIGxpbmUtaGVpZ2h0OjcwcHg7CiAgdG9wOjBweDsKICBtYXJnaW4tbGVmdDowcHg7CiAgYm9yZGVyLXJhZGl1czozNXB4OwogIG92ZXJmbG93OmhpZGRlbjsgCiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3M7CiAgLW1vei10cmFuc2l0aW9uOm9wYWNpdHkgMC4zczsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7ICAKICB2aXNpYmlsaXR5OmhpZGRlbjsKICBvcGFjaXR5OjA7Cn0KCi5lcmlueWVuLnRwYXJyb3dzOmhvdmVyIC50cC10aXRsZS13cmFwewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICBvcGFjaXR5OjE7CiAgdmlzaWJpbGl0eTp2aXNpYmxlOwp9CiAgICAgICAgCiAuZXJpbnllbi50cC1yaWdodGFycm93IC50cC10aXRsZS13cmFwIHsgCiAgIHJpZ2h0OjBweDsKICAgbWFyZ2luLXJpZ2h0OjBweDttYXJnaW4tbGVmdDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKICBib3JkZXItcmFkaXVzOjM1cHg7CiAgcGFkZGluZy1yaWdodDoyMHB4OwogIHBhZGRpbmctbGVmdDoxMHB4OwogfQoKCi5lcmlueWVuLnRwLWxlZnRhcnJvdyAudHAtdGl0bGUtd3JhcCB7IAogICBwYWRkaW5nLWxlZnQ6MjBweDsKICBwYWRkaW5nLXJpZ2h0OjEwcHg7Cn0KCi5lcmlueWVuIC50cC1hcnItdGl0bGVob2xkZXIgewogIGxldHRlci1zcGFjaW5nOiAzcHg7CiAgIHBvc2l0aW9uOnJlbGF0aXZlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zczsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zczsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDBweCk7ICAKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgY29sb3I6I2ZmZjsKICBmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOjEzcHg7CiAgbGluZS1oZWlnaHQ6NzBweDsKICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgcGFkZGluZzowcHggMjBweDsKICBtYXJnaW4tbGVmdDoxMXB4OwogIG9wYWNpdHk6MDsgIAp9CgouZXJpbnllbiAudHAtYXJyLWltZ2hvbGRlciB7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7CiAgICB9CiAuZXJpbnllbiAudHAtYXJyLWltZy1vdmVyIHsKICAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogICBiYWNrZ3JvdW5kOiMwMDA7CiAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOwogICAgICAgIH0KLmVyaW55ZW4udHAtcmlnaHRhcnJvdyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMHB4KTsgCiAgIG1hcmdpbi1sZWZ0OjBweDsgbWFyZ2luLXJpZ2h0OjExcHg7CiAgICAgIH0KCi5lcmlueWVuLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItdGl0bGVob2xkZXIgewogICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgdHJhbnNpdGlvbi1kZWxheTogMC4xczsKICBvcGFjaXR5OjE7Cn0KCi8qIEJVTExFVFMgKi8KLmVyaW55ZW4udHAtYnVsbGV0cyB7Cn0KLmVyaW55ZW4udHAtYnVsbGV0czpiZWZvcmUgewoJY29udGVudDoiICI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCWJhY2tncm91bmQ6ICM1NTU1NTU7IC8qIG9sZCBicm93c2VycyAqLwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgIzU1NTU1NSAwJSwgIzIyMjIyMiAxMDAlKTsgLyogZmYzLjYrICovCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCM1NTU1NTUpLCBjb2xvci1zdG9wKDEwMCUsIzIyMjIyMikpOyAvKiBjaHJvbWUsc2FmYXJpNCsgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICM1NTU1NTUgMCUsIzIyMjIyMiAxMDAlKTsgLyogY2hyb21lMTArLHNhZmFyaTUuMSsgKi8KICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNTU1NTU1IDAlLCMyMjIyMjIgMTAwJSk7IC8qIG9wZXJhIDExLjEwKyAqLwogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNTU1NTU1IDAlLCMyMjIyMjIgMTAwJSk7IC8qIGllMTArICovCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgIzU1NTU1NSAwJSwjMjIyMjIyIDEwMCUpOyAvKiB3M2MgKi8KICAgIGZpbHRlcjogcHJvZ2lkOmR4aW1hZ2V0cmFuc2Zvcm0ubWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydGNvbG9yc3RyPSIjNTU1NTU1IiwgZW5kY29sb3JzdHI9IiMyMjIyMjIiLGdyYWRpZW50dHlwZT0wICk7IC8qIGllNi05ICovCglwYWRkaW5nOjEwcHggMTVweDsKCW1hcmdpbi1sZWZ0Oi0xNXB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94OwogICBib3JkZXItcmFkaXVzOjEwcHg7CiAgIGJveC1zaGFkb3c6MHB4IDBweCAycHggMXB4IHJnYmEoMzMsMzMsMzMsMC4zKTsKfQouZXJpbnllbiAudHAtYnVsbGV0IHsKCXdpZHRoOjEzcHg7CgloZWlnaHQ6MTNweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojMTExOwkKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouZXJpbnllbiAudHAtYnVsbGV0OmhvdmVyLAouZXJpbnllbiAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6ICNlNWU1ZTU7IC8qIG9sZCBicm93c2VycyAqLwpiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZTVlNWU1IDAlLCAjOTk5OTk5IDEwMCUpOyAvKiBmZjMuNisgKi8KYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwjZTVlNWU1KSwgY29sb3Itc3RvcCgxMDAlLCM5OTk5OTkpKTsgLyogY2hyb21lLHNhZmFyaTQrICovCmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNlNWU1ZTUgMCUsIzk5OTk5OSAxMDAlKTsgLyogY2hyb21lMTArLHNhZmFyaTUuMSsgKi8KYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgICNlNWU1ZTUgMCUsIzk5OTk5OSAxMDAlKTsgLyogb3BlcmEgMTEuMTArICovCmJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgI2U1ZTVlNSAwJSwjOTk5OTk5IDEwMCUpOyAvKiBpZTEwKyAqLwpiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2U1ZTVlNSAwJSwjOTk5OTk5IDEwMCUpOyAvKiB3M2MgKi8KZmlsdGVyOiBwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Y29sb3JzdHI9IiNlNWU1ZTUiLCBlbmRjb2xvcnN0cj0iIzk5OTk5OSIsZ3JhZGllbnR0eXBlPTAgKTsgLyogaWU2LTkgKi8KICBib3JkZXI6MXB4IHNvbGlkICM1NTU7CiAgd2lkdGg6MTJweDtoZWlnaHQ6MTJweDsKfQouZXJpbnllbiAudHAtYnVsbGV0LWltYWdlIHsKfQouZXJpbnllbiAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qIFRIVU1CUyAqLwouZXJpbnllbiAudHAtdGh1bWIgewpvcGFjaXR5OjEKfQoKLmVyaW55ZW4gLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MTsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLmVyaW55ZW4gLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojYWFhOwogIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43NSk7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogMTJweDsKICB0ZXh0LWFsaWduOiBsZWZ0OyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgdG9wOjIwcHg7CiAgcmlnaHQ6MjBweDsKICB6LWluZGV4OjI7Cn0KLmVyaW55ZW4gLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouZXJpbnllbiAudHAtdGh1bWItdGl0bGUgewogIGZvbnQtZmFtaWx5OiJSYWxld2F5IjsKICBsZXR0ZXItc3BhY2luZzoxcHg7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2ZmZjsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiAxNXB4OwogIHRleHQtYWxpZ246IGxlZnQ7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MjsKICBwYWRkaW5nOjIwcHggMzVweCAyMHB4IDIwcHg7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgZm9udC13ZWlnaHQ6NTAwOwp9CgouZXJpbnllbiAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW1vcmU6YmVmb3JlLAouZXJpbnllbiAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgouZXJpbnllbiAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW92ZXIsCi5lcmlueWVuIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItb3ZlciB7CiBiYWNrZ3JvdW5kOiNmZmY7Cn0KLmVyaW55ZW4gLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLmVyaW55ZW4gLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgY29sb3I6IzAwMDsKCn0KCgovKiBUQUJTICovCi5lcmlueWVuIC50cC10YWItdGl0bGUgewogICAgY29sb3I6I2E4ZDhlZTsKICAgIGZvbnQtc2l6ZToxM3B4OwogICAgZm9udC13ZWlnaHQ6NzAwOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIgogICAgbWFyZ2luLWJvdHRvbTo1cHg7Cn0KCi5lcmlueWVuIC50cC10YWItZGVzYyB7Cglmb250LXNpemU6MThweDsKICAgIGZvbnQtd2VpZ2h0OjQwMDsKICAgIGNvbG9yOiNmZmY7CiAgICBsaW5lLWhlaWdodDoyNXB4OwoJZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIjsKfQogICAgICAKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogR1lHRVMgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KCgovKiBCVUxMRVRTICovCi5neWdlcy50cC1idWxsZXRzIHsKfQouZ3lnZXMudHAtYnVsbGV0czpiZWZvcmUgewoJY29udGVudDoiICI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCWJhY2tncm91bmQ6ICM3Nzc3Nzc7IC8qIE9sZCBicm93c2VycyAqLwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgIzc3Nzc3NyAwJSwgIzY2NjY2NiAxMDAlKTsgCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCAKICAgIGNvbG9yLXN0b3AoMCUsIzc3Nzc3NyksIGNvbG9yLXN0b3AoMTAwJSwjNjY2NjY2KSk7IAogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgIzc3Nzc3NyAwJSwjNjY2NjY2IDEwMCUpOyAKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNzc3Nzc3IDAlLCM2NjY2NjYgMTAwJSk7IAogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNzc3Nzc3IDAlLCM2NjY2NjYgMTAwJSk7IAogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICM3Nzc3NzcgMCUsIzY2NjY2NiAxMDAlKTsgCiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iIzc3Nzc3NyIsIAogICAgZW5kQ29sb3JzdHI9IiM2NjY2NjYiLEdyYWRpZW50VHlwZT0wICk7IAoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7CiAgYm9yZGVyLXJhZGl1czoxMHB4Owp9Ci5neWdlcyAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojMzMzOwoJYm9yZGVyOjNweCBzb2xpZCAjNDQ0OwoJYm9yZGVyLXJhZGl1czo1MCU7CgljdXJzb3I6IHBvaW50ZXI7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94Owp9Ci5neWdlcyAudHAtYnVsbGV0OmhvdmVyLAouZ3lnZXMgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiAjZmZmZmZmOyAvKiBPbGQgYnJvd3NlcnMgKi8KICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsICNlMWUxZTEgMTAwJSk7IC8qIEZGMy42KyAqLwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgCiAgICBjb2xvci1zdG9wKDAlLCNmZmZmZmYpLCBjb2xvci1zdG9wKDEwMCUsI2UxZTFlMSkpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsI2UxZTFlMSAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi8KICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmZmZmIDAlLCNlMWUxZTEgMTAwJSk7IC8qIE9wZXJhIDExLjEwKyAqLwogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmZmZmIDAlLCNlMWUxZTEgMTAwJSk7IC8qIElFMTArICovCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2ZmZmZmZiAwJSwjZTFlMWUxIDEwMCUpOyAvKiBXM0MgKi8KICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSIjZmZmZmZmIiwgCiAgICBlbmRDb2xvcnN0cj0iI2UxZTFlMSIsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi8KCn0KLmd5Z2VzIC50cC1idWxsZXQtaW1hZ2Ugewp9Ci5neWdlcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoJCgovKiBUSFVNQlMgKi8KLmd5Z2VzIC50cC10aHVtYiB7IAogICAgICBvcGFjaXR5OjEKICB9Ci5neWdlcyAudHAtdGh1bWItaW1nLXdyYXAgewogIHBhZGRpbmc6M3B4OwogICAgYmFja2dyb3VuZDojMDAwOwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjI1KTsKICBkaXNwbGF5OmlubGluZS1ibG9jazsKCiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBtYXJnaW46MHB4OwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmd5Z2VzIC50cC10aHVtYi1pbWFnZSB7CiAgIHBhZGRpbmc6M3B4OyAKICAgZGlzcGxheTpibG9jazsKICAgYm94LXNpemluZzpib3JkZXItYm94OwogICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIC1tb3otYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKIH0gIAouZ3lnZXMgLnRwLXRodW1iLXRpdGxlIHsgCiAgICAgcG9zaXRpb246YWJzb2x1dGU7IAogICAgIGJvdHRvbToxMDAlOyAKICAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgICBsZWZ0OjUwJTsKICAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC44KTsKICAgICBwYWRkaW5nOjEwcHggMzBweDsKICAgICBib3JkZXItcmFkaXVzOjRweDsKCSAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4OwogICAgIG1hcmdpbi1ib3R0b206MjBweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KLmd5Z2VzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItdGl0bGUgewogIAkgdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIG9wYWNpdHk6MTsKfQoKLmd5Z2VzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItaW1nLXdyYXAsCiAuZ3lnZXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1pbWctd3JhcCB7CgogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDExOSwxMTksMTE5LDEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iI2ZmZmZmZiIsIGVuZENvbG9yc3RyPSIjNzc3Nzc3IiwgR3JhZGllbnRUeXBlPTAgKTsKIH0KLmd5Z2VzIC50cC10aHVtYi10aXRsZTphZnRlciB7CiAgICAgICAgY29udGVudDoiICI7CiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LThweDsKICAgICAgICB3aWR0aDogMDsKCQloZWlnaHQ6IDA7CgkJYm9yZGVyLXN0eWxlOiBzb2xpZDsKCQlib3JkZXItd2lkdGg6IDhweCA4cHggMCA4cHg7CgkJYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKiBUQUJTICovCi5neWdlcyAudHAtdGFiIHsgCiAgb3BhY2l0eToxOyAgICAgIAogIHBhZGRpbmc6MTBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgZm9udC1mYW1pbHk6ICJSb2JvdG8iLCBzYW5zLXNlcmlmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOwogfQouZ3lnZXMgLnRwLXRhYi1pbWFnZSAKeyAKICB3aWR0aDo2MHB4OwogIGhlaWdodDo2MHB4OyBtYXgtaGVpZ2h0OjEwMCU7IG1heC13aWR0aDoxMDAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGZsb2F0OmxlZnQ7Cgp9Ci5neWdlcyAudHAtdGFiLWNvbnRlbnQgCnsKICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTsgCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIHBhZGRpbmc6MTVweCAxNXB4IDE1cHggODVweDsKIGxlZnQ6MHB4OwogIG92ZXJmbG93OmhpZGRlbjsKIG1hcmdpbi10b3A6LTE1cHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojMzMzOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6MTAwJTsKICAgIGhlaWdodDoxMDAlOwogcG9zaXRpb246YWJzb2x1dGU7IH0KLmd5Z2VzIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpOwogIGZvbnQtd2VpZ2h0OjUwMDsKICBmb250LXNpemU6MTJweDsKICBtYXJnaW4tYm90dG9tOjBweDsKICB9Ci5neWdlcyAudHAtdGFiLXRpdGxlIAp7CiAgICBkaXNwbGF5OmJsb2NrOyAgCiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgICBjb2xvcjojZmZmOwogICAgZm9udC1zaXplOjE0cHg7CiAgICBmb250LXdlaWdodDo1MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTpub25lOwogICAgbGluZS1oZWlnaHQ6MTdweDsKfQouZ3lnZXMgLnRwLXRhYjpob3ZlciwKLmd5Z2VzIC50cC10YWIuc2VsZWN0ZWQgewogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOyAKfQoKLmd5Z2VzIC50cC10YWItbWFzayB7Cn0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewoKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7Cgp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEhBREVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oYWRlcy50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6IzAwMDsKCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjE1KTsKCXdpZHRoOjEwMHB4OwoJaGVpZ2h0OjEwMHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDAwOwp9CgouaGFkZXMudHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjMwcHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiAxMDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGNvbG9yIDAuM3M7Cn0KLmhhZGVzLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI0IjsKfQouaGFkZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQoKLmhhZGVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgIGNvbG9yOiNhYWE7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDEpOwogfQouaGFkZXMgLnRwLWFyci1hbGx3cmFwcGVyIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjEwMCU7CiAgdG9wOjBweDsKICBiYWNrZ3JvdW5kOiM4ODg7IAogIHdpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC1tcy1maWx0ZXI6ICJwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuYWxwaGEob3BhY2l0eT0wKSI7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOwogIC1tb3otb3BhY2l0eTogMC4wOwogIC1raHRtbC1vcGFjaXR5OiAwLjA7CiAgb3BhY2l0eTogMC4wOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KC05MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGV5KC05MGRlZyk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlOwp9Ci5oYWRlcy50cC1yaWdodGFycm93IC50cC1hcnItYWxsd3JhcHBlciB7CiAgIGxlZnQ6YXV0bzsKICAgcmlnaHQ6MTAwJTsKICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsKICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsKICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZXkoOTBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRleSg5MGRlZyk7Cn0KCi5oYWRlczpob3ZlciAudHAtYXJyLWFsbHdyYXBwZXIgewogICAtbXMtZmlsdGVyOiAicHJvZ2lkOmR4aW1hZ2V0cmFuc2Zvcm0ubWljcm9zb2Z0LmFscGhhKG9wYWNpdHk9MTAwKSI7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7CiAgLW1vei1vcGFjaXR5OiAxOwogIC1raHRtbC1vcGFjaXR5OiAxOwogIG9wYWNpdHk6IDE7ICAKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KDBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRleSgwZGVnKTsKCiB9CiAgICAKLmhhZGVzIC50cC1hcnItaXdyYXBwZXIgewp9Ci5oYWRlcyAudHAtYXJyLWltZ2hvbGRlciB7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7bGVmdDowcHg7CiAgd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsKfQouaGFkZXMgLnRwLWFyci10aXRsZWhvbGRlciB7Cn0KLmhhZGVzIC50cC1hcnItc3VidGl0bGVob2xkZXIgewp9CgoKLyogQlVMTEVUUyAqLwouaGFkZXMudHAtYnVsbGV0cyB7Cn0KLmhhZGVzLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhhZGVzIC50cC1idWxsZXQgewoJd2lkdGg6M3B4OwoJaGVpZ2h0OjNweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojODg4OwkKCWN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlcjo1cHggc29saWQgI2ZmZjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7CiAgICBib3gtc2hhZG93OjBweCAwcHggM3B4IDFweCByZ2JhKDAsMCwwLDAuMik7CiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOjQwMDsKICAgIHBlcnNwZWN0aXZlOjQwMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZXooMC4wMXB4KTsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGV6KDAuMDFweCk7Cn0KLmhhZGVzIC50cC1idWxsZXQ6aG92ZXIsCi5oYWRlcyAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6IzU1NTsKICAKfQoKLmhhZGVzIC50cC1idWxsZXQtaW1hZ2UgewogIHBvc2l0aW9uOmFic29sdXRlO3RvcDotODBweDsgbGVmdDotNjBweDt3aWR0aDoxMjBweDtoZWlnaHQ6NjBweDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHZpc2liaWxpdHk6aGlkZGVuOwogIG9wYWNpdHk6MDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgcGVyc3BlY3RpdmU6NjAwOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6NjAwOwogIHRyYW5zZm9ybTogcm90YXRleCgtOTBkZWcpOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV4KC05MGRlZyk7CiAgYm94LXNoYWRvdzowcHggMHB4IDNweCAxcHggcmdiYSgwLDAsMCwwLjIpOwogIHRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwogIAogIAp9Ci5oYWRlcyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW1hZ2UgewogIGRpc3BsYXk6YmxvY2s7CiAgb3BhY2l0eToxOwogIHRyYW5zZm9ybTogcm90YXRleCgwZGVnKTsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleCgwZGVnKTsKICB2aXNpYmlsaXR5OnZpc2libGU7CiAgICB9Ci5oYWRlcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qIFRIVU1CUyAqLwouaGFkZXMgLnRwLXRodW1iIHsgCiAgICAgIG9wYWNpdHk6MQogIH0KLmhhZGVzIC50cC10aHVtYi1pbWctd3JhcCB7CiAgYm9yZGVyLXJhZGl1czo1MCU7CiAgcGFkZGluZzozcHg7CiAgZGlzcGxheTppbmxpbmUtYmxvY2s7CmJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBtYXJnaW46MHB4OwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmhhZGVzIC50cC10aHVtYi1pbWFnZSB7CiAgIHBhZGRpbmc6M3B4OyAKICAgYm9yZGVyLXJhZGl1czo1MCU7CiAgIGRpc3BsYXk6YmxvY2s7CiAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICBib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiB9ICAKCgouaGFkZXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi1pbWctd3JhcCwKLmhhZGVzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItaW1nLXdyYXAgewogIAogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDEpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmYiLCBlbmRDb2xvcnN0cj0iIzc3Nzc3NyIsIEdyYWRpZW50VHlwZT0wICk7CiAKICAgICAgfQouaGFkZXMgLnRwLXRodW1iLXRpdGxlOmFmdGVyIHsKICAgICAgICBjb250ZW50OiIgIjsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBsZWZ0OjUwJTsKICAgICAgICBtYXJnaW4tbGVmdDotOHB4OwogICAgICAgIHdpZHRoOiAwOwoJCWhlaWdodDogMDsKCQlib3JkZXItc3R5bGU6IHNvbGlkOwoJCWJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKCQlib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKiBUQUJTICovCi5oYWRlcyAudHAtdGFiIHsKICBvcGFjaXR5OjE7CiB9CiAgICAKLmhhZGVzIC50cC10YWItdGl0bGUKIHsKICAgICAgZGlzcGxheTpibG9jazsKICAgICAgY29sb3I6IzMzMzsKICAgICAgZm9udC13ZWlnaHQ6NjAwOwogICAgICBmb250LXNpemU6MThweDsKICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICAgIGxpbmUtaGVpZ2h0OjI1cHg7ICAgICAgCiAgICB9IAouaGFkZXMgLnRwLXRhYi1wcmljZQogewoJZGlzcGxheTpibG9jazsKICAgIHRleHQtYWxpZ246Y2VudGVyOwogICAgY29sb3I6Izk5OTsKICAgIGZvbnQtc2l6ZToxNnB4OwogICAgbWFyZ2luLXRvcDoxMHB4OwogICBsaW5lLWhlaWdodDoyMHB4Cn0KCi5oYWRlcyAudHAtdGFiLWJ1dHRvbiB7CiAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgIG1hcmdpbi10b3A6MTVweDsKICAgIHRleHQtYWxpZ246Y2VudGVyOwoJcGFkZGluZzo1cHggMTVweDsKICAJY29sb3I6I2ZmZjsKICAJZm9udC1zaXplOjE0cHg7CiAgCWJhY2tncm91bmQ6IzIxOWJkNzsKICAgCWJvcmRlci1yYWRpdXM6NHB4OwogICBmb250LXdlaWdodDo0MDA7Cn0KLmhhZGVzIC50cC10YWItaW5uZXIgewoJdGV4dC1hbGlnbjpjZW50ZXI7Cn0KCiAgICAgICAgICAgICAgCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEhFQkUgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmhlYmUudHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NzBweDsKICAgIG1pbi1oZWlnaHQ6NzBweDsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBkaXNwbGF5OmJsb2NrOwogIHotaW5kZXg6MTAwMDsKfQouaGViZS50cGFycm93czpob3ZlciB7Cn0KLmhlYmUudHBhcnJvd3M6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MzBweDsKICBjb2xvcjojYWFhOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDcwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICB6LWluZGV4OjI7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NzBweDsKICAgIG1pbi1oZWlnaHQ6NzBweDsKfQouaGViZS50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjQiOwp9Ci5oZWJlLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9Ci5oZWJlLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiBjb2xvcjojMDAwOwogICAgICB9Ci5oZWJlIC50cC10aXRsZS13cmFwIHsgCiAgcG9zaXRpb246YWJzb2x1dGU7CiAgei1pbmRleDowOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43NSk7CiAgbWluLWhlaWdodDo2MHB4OwogIGxpbmUtaGVpZ2h0OjYwcHg7CiAgdG9wOi0xMHB4OwogIG1hcmdpbi1sZWZ0OjBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNmb3JtOnNjYWxlWCgwKTsgIAogIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgwKTsgIAogIHRyYW5zZm9ybS1vcmlnaW46MCUgNTAlOyAKICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAlIDUwJTsKfQogLmhlYmUudHAtcmlnaHRhcnJvdyAudHAtdGl0bGUtd3JhcCB7IAogICByaWdodDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKIH0KLmhlYmUudHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogIHRyYW5zZm9ybTpzY2FsZVgoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpOwp9Ci5oZWJlIC50cC1hcnItdGl0bGVob2xkZXIgewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICBjb2xvcjojZmZmOwogIGZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6MTJweDsKICBsaW5lLWhlaWdodDo5MHB4OwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKICBwYWRkaW5nOjBweCAyMHB4IDBweCA5MHB4Owp9CgouaGViZS50cC1yaWdodGFycm93IC50cC1hcnItdGl0bGVob2xkZXIgewogICBtYXJnaW4tbGVmdDowcHg7IAogICBwYWRkaW5nOjBweCA5MHB4IDBweCAyMHB4OwogfQoKLmhlYmUudHBhcnJvd3M6aG92ZXIgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzOwogIG9wYWNpdHk6MTsKfQoKLmhlYmUgLnRwLWFyci1pbWdob2xkZXJ7CiAgICAgIHdpZHRoOjkwcHg7CiAgICAgIGhlaWdodDo5MHB4OwogICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgbGVmdDoxMDAlOwogICAgICBkaXNwbGF5OmJsb2NrOwogICAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7CiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKICAJIHRvcDowcHg7IHJpZ2h0Oi05MHB4OwogICAgfQouaGViZS50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyewogICAgICAgIHJpZ2h0OmF1dG87bGVmdDotOTBweDsKICAgICAgfQoKLyogQlVMTEVUUyAqLwouaGViZS50cC1idWxsZXRzIHsKfQouaGViZS50cC1idWxsZXRzOmJlZm9yZSB7CiAgY29udGVudDoiICI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwogIHBhZGRpbmc6MTBweDsKICBtYXJnaW4tbGVmdDotMTBweDttYXJnaW4tdG9wOi0xMHB4OwogIGJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KCi5oZWJlIC50cC1idWxsZXQgewogIHdpZHRoOjNweDsKICBoZWlnaHQ6M3B4OwogIHBvc2l0aW9uOmFic29sdXRlOwogIGJhY2tncm91bmQ6I2ZmZjsgIAogIGN1cnNvcjogcG9pbnRlcjsKICBib3JkZXI6NXB4IHNvbGlkICMyMjI7CiAgYm9yZGVyLXJhZGl1czo1MCU7CiAgYm94LXNpemluZzpjb250ZW50LWJveDsKICAtd2Via2l0LXBlcnNwZWN0aXZlOjQwMDsKICBwZXJzcGVjdGl2ZTo0MDA7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwLjAxcHgpOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVaKDAuMDFweCk7CiAgIHRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmhlYmUgLnRwLWJ1bGxldDpob3ZlciwKLmhlYmUgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CiAgYmFja2dyb3VuZDojMjIyOwogIGJvcmRlci1jb2xvcjojZmZmOwp9CgouaGViZSAudHAtYnVsbGV0LWltYWdlIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6LTkwcHg7IGxlZnQ6LTQwcHg7CiAgd2lkdGg6NzBweDsKICBoZWlnaHQ6NzBweDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHZpc2liaWxpdHk6aGlkZGVuOwogIG9wYWNpdHk6MDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgcGVyc3BlY3RpdmU6NjAwOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6NjAwOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwpib3JkZXItcmFkaXVzOjZweDsKICAKICAKfQouaGViZSAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW1hZ2UgewogIGRpc3BsYXk6YmxvY2s7CiAgb3BhY2l0eToxOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgIH0KLmhlYmUgLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKiBUQUJTICovCi5oZWJlIC50cC10YWItdGl0bGUgewogICAgY29sb3I6I2E4ZDhlZTsKICAgIGZvbnQtc2l6ZToxM3B4OwogICAgZm9udC13ZWlnaHQ6NzAwOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIgogICAgbWFyZ2luLWJvdHRvbTo1cHg7Cn0KCi5oZWJlIC50cC10YWItZGVzYyB7Cglmb250LXNpemU6MThweDsKICAgIGZvbnQtd2VpZ2h0OjQwMDsKICAgIGNvbG9yOiNmZmY7CiAgICBsaW5lLWhlaWdodDoyNXB4OwoJZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIjsKfQoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogSEVQSEFJU1RPUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwouaGVwaGFpc3Rvcy50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6IzAwMDsKCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDAwOwogICAgYm9yZGVyLXJhZGl1czo1MCU7Cn0KLmhlcGhhaXN0b3MudHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5oZXBoYWlzdG9zLnRwYXJyb3dzOmJlZm9yZSB7Cglmb250LWZhbWlseTogInJldmljb25zIjsKCWZvbnQtc2l6ZToxOHB4OwoJY29sb3I6I2ZmZjsKCWRpc3BsYXk6YmxvY2s7CglsaW5lLWhlaWdodDogNDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQouaGVwaGFpc3Rvcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyYyI7CiAgbWFyZ2luLWxlZnQ6LTJweDsKICAKfQouaGVwaGFpc3Rvcy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MmQiOwogICBtYXJnaW4tcmlnaHQ6LTJweDsKfQoKCgovKiBCVUxMRVRTICovCi5oZXBoYWlzdG9zLnRwLWJ1bGxldHMgewp9Ci5oZXBoYWlzdG9zLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhlcGhhaXN0b3MgLnRwLWJ1bGxldCB7Cgl3aWR0aDoxMnB4OwoJaGVpZ2h0OjEycHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6Izk5OTsKCWJvcmRlcjozcHggc29saWQgI2Y1ZjVmNTsKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKICBib3gtc2hhZG93OiAwcHggMHB4IDJweCAxcHggcmdiYSgxMzAsMTMwLDEzMCwgMC4zKTsKCn0KLmhlcGhhaXN0b3MgLnRwLWJ1bGxldDpob3ZlciwKLmhlcGhhaXN0b3MgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiNmZmY7CiAgICBib3JkZXItY29sb3I6IzAwMDsKfQouaGVwaGFpc3RvcyAudHAtYnVsbGV0LWltYWdlIHsKfQouaGVwaGFpc3RvcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogSEVSTUVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oZXJtZXMudHBhcnJvd3MgewoJY3Vyc29yOnBvaW50ZXI7CgliYWNrZ3JvdW5kOiMwMDA7CgliYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKCXdpZHRoOjMwcHg7CgloZWlnaHQ6MTEwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDA7Cn0KCi5oZXJtZXMudHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjE1cHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiAxMTBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQouaGVybWVzLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpob3ZlcjpiZWZvcmUgewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgICAgb3BhY2l0eTowOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpob3ZlcjpiZWZvcmUgewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpOwogICAgIG9wYWNpdHk6MDsKfQoKLmhlcm1lcyAudHAtYXJyLWFsbHdyYXBwZXIgewogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxODBweDsKICAgIGhlaWdodDoxNDBweDsKICAgIHRvcDowcHg7CiAgICBsZWZ0OjBweDsKICAgIHZpc2liaWxpdHk6aGlkZGVuOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgMC4zczsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAwLjNzOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDsKICBwZXJzcGVjdGl2ZTogMTAwMHB4OwogICAgfQouaGVybWVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci1hbGx3cmFwcGVyIHsKICAgcmlnaHQ6MHB4O2xlZnQ6YXV0bzsKICAgICAgfQouaGVybWVzLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItYWxsd3JhcHBlciB7CiAgIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgICAgICAgIH0KLmhlcm1lcyAudHAtYXJyLWltZ2hvbGRlciB7CiAgd2lkdGg6MTgwcHg7cG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDowcHg7dG9wOjBweDtoZWlnaHQ6MTEwcHg7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE4MHB4KTsKICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xODBweCk7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICB0cmFuc2l0aW9uLWRlbGF5OjAuM3M7Cn0KLmhlcm1lcy50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTgwcHgpOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTgwcHgpOwogICAgICB9CiAgCi5oZXJtZXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci1pbWdob2xkZXIgewogICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7ICAgICAgICAgICAgCn0KLmhlcm1lcyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICB0b3A6MTEwcHg7CiAgd2lkdGg6MTgwcHg7CiAgdGV4dC1hbGlnbjpsZWZ0OyAKICBkaXNwbGF5OmJsb2NrOwogIHBhZGRpbmc6MHB4IDEwcHg7CiAgbGluZS1oZWlnaHQ6MzBweDsgYmFja2dyb3VuZDojMDAwOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjc1KTtjb2xvcjojZmZmOwogIGZvbnQtd2VpZ2h0OjYwMDsgcG9zaXRpb246YWJzb2x1dGU7CiAgZm9udC1zaXplOjEycHg7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwogIGxldHRlci1zcGFjaW5nOjFweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZyk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7Cgp9Ci5oZXJtZXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuNnM7CiAgdHJhbnNpdGlvbi1kZWxheTogMC42czsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7Cn0KCgovKiBCVUxMRVRTICovCi5oZXJtZXMudHAtYnVsbGV0cyB7Cn0KCi5oZXJtZXMgLnRwLWJ1bGxldCB7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBib3JkZXItcmFkaXVzOjUwJTsKICAgIHdpZHRoOjE2cHg7CiAgICBoZWlnaHQ6MTZweDsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI0ZGRjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTsKICAgIHBvc2l0aW9uOmFic29sdXRlOwp9CgouaGVybWVzIC50cC1idWxsZXQ6aG92ZXIgewoJICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7Cn0KLmhlcm1lcyAudHAtYnVsbGV0OmFmdGVyIHsKICBjb250ZW50OiAnICc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMDsKICBoZWlnaHQ6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOwogIGJveC1zaGFkb3c6IDAgMCAxcHggI0ZGRjsKICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTsKfQouaGVybWVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6YWZ0ZXIgewogIGhlaWdodDoxMDAlOwp9CgoKLyogVEFCUyAqLwouaGVybWVzIC50cC10YWIgeyAKICBvcGFjaXR5OjE7ICAKICBwYWRkaW5nLXJpZ2h0OjEwcHg7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogfQouaGVybWVzIC50cC10YWItaW1hZ2UgCnsgCiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6NjAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwp9Ci5oZXJtZXMgLnRwLXRhYi1jb250ZW50IAp7CiAgICBiYWNrZ3JvdW5kOnJnYig1NCw1NCw1NCk7IAogICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICBwYWRkaW5nOjIwcHggMjBweCAyMHB4IDMwcHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgd2lkdGg6MTAwJTsKICBtaW4taGVpZ2h0OjQwJTsKICBib3R0b206MHB4OwogIGxlZnQ6LTEwcHg7CiAgfQouaGVybWVzIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiM4ODg7CiAgZm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZToxMnB4OwogIG1hcmdpbi1ib3R0b206MTBweDsKICB9Ci5oZXJtZXMgLnRwLXRhYi10aXRsZSAKewogICAgZGlzcGxheTpibG9jazsJCiAgICBjb2xvcjojZmZmOwogICAgZm9udC1zaXplOjE2cHg7CiAgICBmb250LXdlaWdodDo4MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgIGxpbmUtaGVpZ2h0OjE5cHg7Cn0KCi5oZXJtZXMgLnRwLXRhYi5zZWxlY3RlZCAudHAtdGFiLXRpdGxlOmFmdGVyIHsKICAgIHdpZHRoOiAwcHg7CgloZWlnaHQ6IDBweDsKCWJvcmRlci1zdHlsZTogc29saWQ7Cglib3JkZXItd2lkdGg6IDMwcHggMCAzMHB4IDEwcHg7Cglib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYig1NCw1NCw1NCk7Cgljb250ZW50OiIgIjsKICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgcmlnaHQ6LTlweDsKICAgIGJvdHRvbTo1MCU7CiAgICBtYXJnaW4tYm90dG9tOi0zMHB4Owp9Ci5oZXJtZXMgLnRwLXRhYi1tYXNrIHsKICAgICBwYWRkaW5nLXJpZ2h0OjEwcHggIWltcG9ydGFudDsKICAgICAgICAgIH0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewogIC5oZXJtZXMgLnRwLXRhYiAudHAtdGFiLXRpdGxlIHtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O30KICAuaGVybWVzIC50cC10YWItZGF0ZSB7IGZvbnQtc2l6ZToxMXB4OyBsaW5lLWhlaWdodDoxM3B4O21hcmdpbi1ib3R0b206MTBweDt9CiAgLmhlcm1lcyAudHAtdGFiLWNvbnRlbnQgeyBwYWRkaW5nOjE1cHggMTVweCAxNXB4IDI1cHg7fQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAuaGVybWVzIC50cC10YWIgLnRwLXRhYi10aXRsZSB7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDt9CiAgLmhlcm1lcyAudHAtdGFiLWRhdGUge2ZvbnQtc2l6ZToxMHB4OyBsaW5lLWhlaWdodDoxMnB4O21hcmdpbi1ib3R0b206NXB4O30KICAuaGVybWVzIC50cC10YWItY29udGVudCB7cGFkZGluZzoxMHB4IDEwcHggMTBweCAyMHB4O30KfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBIRVNQRVJJREVOIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oZXNwZXJpZGVuLnRwYXJyb3dzIHsKCWN1cnNvcjpwb2ludGVyOwoJYmFja2dyb3VuZDojMDAwOwoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDA7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KLmhlc3BlcmlkZW4udHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5oZXNwZXJpZGVuLnRwYXJyb3dzOmJlZm9yZSB7Cglmb250LWZhbWlseTogInJldmljb25zIjsKCWZvbnQtc2l6ZToyMHB4OwoJY29sb3I6I2ZmZjsKCWRpc3BsYXk6YmxvY2s7CglsaW5lLWhlaWdodDogNDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQouaGVzcGVyaWRlbi50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyYyI7CiAgICBtYXJnaW4tbGVmdDotM3B4Owp9Ci5oZXNwZXJpZGVuLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyZCI7CiAgICBtYXJnaW4tcmlnaHQ6LTNweDsKfQoKLyogQlVMTEVUUyAqLwouaGVzcGVyaWRlbi50cC1idWxsZXRzIHsKfQouaGVzcGVyaWRlbi50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKCXBhZGRpbmc6MTBweDsKCW1hcmdpbi1sZWZ0Oi0xMHB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94OwogICBib3JkZXItcmFkaXVzOjhweDsKICAKfQouaGVzcGVyaWRlbiAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDogIzk5OTk5OTsgLyogb2xkIGJyb3dzZXJzICovCiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjOTk5OTk5IDAlLCAjZTFlMWUxIDEwMCUpOyAvKiBmZjMuNisgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIzk5OTk5OSksIAogICAgY29sb3Itc3RvcCgxMDAlLCNlMWUxZTEpKTsgLyogY2hyb21lLHNhZmFyaTQrICovCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjOTk5OTk5IDAlLCNlMWUxZTEgMTAwJSk7IC8qIGNocm9tZTEwKyxzYWZhcmk1LjErICovCiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgIzk5OTk5OSAwJSwjZTFlMWUxIDEwMCUpOyAvKiBvcGVyYSAxMS4xMCsgKi8KICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgIzk5OTk5OSAwJSwjZTFlMWUxIDEwMCUpOyAvKiBpZTEwKyAqLwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICM5OTk5OTkgMCUsI2UxZTFlMSAxMDAlKTsgLyogdzNjICovCiAgICBmaWx0ZXI6IHByb2dpZDpkeGltYWdldHJhbnNmb3JtLm1pY3Jvc29mdC5ncmFkaWVudCggCiAgICBzdGFydGNvbG9yc3RyPSIjOTk5OTk5IiwgZW5kY29sb3JzdHI9IiNlMWUxZTEiLGdyYWRpZW50dHlwZT0wICk7IC8qIGllNi05ICovCglib3JkZXI6M3B4IHNvbGlkICNlNWU1ZTU7Cglib3JkZXItcmFkaXVzOjUwJTsKCWN1cnNvcjogcG9pbnRlcjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldDpob3ZlciwKLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiM2NjY7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC1pbWFnZSB7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKiBUSFVNQlMgKi8KLmhlc3BlcmlkZW4gLnRwLXRodW1iIHsKICBvcGFjaXR5OjE7CiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogNjAwcHg7CiAgcGVyc3BlY3RpdmU6IDYwMHB4Owp9Ci5oZXNwZXJpZGVuIC50cC10aHVtYiAudHAtdGh1bWItdGl0bGUgewogICAgZm9udC1zaXplOjEycHg7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgIG1hcmdpbi10b3A6LTEwcHg7CiAgICBjb2xvcjojZmZmOwogICAgZGlzcGxheTpibG9jazsKICAgIHotaW5kZXg6MTAwMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7CiAgICBwYWRkaW5nOjVweCAxMHB4OyAKICAgIGJvdHRvbTowcHg7CiAgICBsZWZ0OjBweDsKICAgIHdpZHRoOjEwMCU7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgdHJhbnNmb3JtOnJvdGF0ZXgoOTBkZWcpIHRyYW5zbGF0ZXooMC4wMDFweCk7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06cm90YXRleCg5MGRlZykgdHJhbnNsYXRleigwLjAwMXB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKIH0KLmhlc3BlcmlkZW4gLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgCSB0cmFuc2Zvcm06cm90YXRleCgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZXgoMGRlZyk7CiAgICBvcGFjaXR5OjE7Cn0KCi8qIFRBQlMgKi8KLmhlc3BlcmlkZW4gLnRwLXRhYiB7IAogIG9wYWNpdHk6MTsgICAgICAKICBwYWRkaW5nOjEwcHg7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogIGZvbnQtZmFtaWx5OiAiUm9ib3RvIiwgc2Fucy1zZXJpZjsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsKIH0KLmhlc3BlcmlkZW4gLnRwLXRhYi1pbWFnZSAKeyAKICB3aWR0aDo2MHB4OwogIGhlaWdodDo2MHB4OyBtYXgtaGVpZ2h0OjEwMCU7IG1heC13aWR0aDoxMDAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGZsb2F0OmxlZnQ7Cgp9Ci5oZXNwZXJpZGVuIC50cC10YWItY29udGVudCAKewogICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApOyAKICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgcGFkZGluZzoxNXB4IDE1cHggMTVweCA4NXB4OwogbGVmdDowcHg7CiBvdmVyZmxvdzpoaWRkZW47CiBtYXJnaW4tdG9wOi0xNXB4OwogICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgY29sb3I6IzMzMzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOjEwMCU7CiAgICBoZWlnaHQ6MTAwJTsKIHBvc2l0aW9uOmFic29sdXRlOyB9Ci5oZXNwZXJpZGVuIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiAjYWFhOwogIGZvbnQtd2VpZ2h0OjUwMDsKICBmb250LXNpemU6MTJweDsKICBtYXJnaW4tYm90dG9tOjBweDsKICB9Ci5oZXNwZXJpZGVuIC50cC10YWItdGl0bGUgCnsKICAgIGRpc3BsYXk6YmxvY2s7CQogICAgdGV4dC1hbGlnbjpsZWZ0OwogICAgY29sb3I6IzMzMzsKICAgIGZvbnQtc2l6ZToxNHB4OwogICAgZm9udC13ZWlnaHQ6NTAwOwogICAgdGV4dC10cmFuc2Zvcm06bm9uZTsKICAgIGxpbmUtaGVpZ2h0OjE3cHg7Cn0KLmhlc3BlcmlkZW4gLnRwLXRhYjpob3ZlciwKLmhlc3BlcmlkZW4gLnRwLXRhYi5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiNlZWU7IAp9CgouaGVzcGVyaWRlbiAudHAtdGFiLW1hc2sgewp9CgovKiBNRURJQSBRVUVSSUVTICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHsKCn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoKfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBNRVRJUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoubWV0aXMudHBhcnJvd3MgewogIGJhY2tncm91bmQ6I2ZmZjsKICBwYWRkaW5nOjEwcHg7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgd2lkdGg6NjBweDsKICBoZWlnaHQ6NjBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiB9CiAKIC5tZXRpcy50cGFycm93czpob3ZlciB7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwogfQogCiAubWV0aXMudHBhcnJvd3M6YmVmb3JlIHsKICBjb2xvcjojMDAwOyAgCiAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogfQogCiAubWV0aXMudHBhcnJvd3M6aG92ZXI6YmVmb3JlIHsKICAgdHJhbnNmb3JtOnNjYWxlKDEuNSk7CiAgfQogCgovKiBCVUxMRVRTICovCi5tZXRpcyAudHAtYnVsbGV0IHsgCiAgICBvcGFjaXR5OjE7CiAgICB3aWR0aDo1MHB4OwogICAgaGVpZ2h0OjUwcHg7ICAgIAogICAgcGFkZGluZzozcHg7CiAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4yNSk7CiAgICBtYXJnaW46MHB4OwogICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICAgIGJvcmRlci1yYWRpdXM6NTAlOwogIH0KCi5tZXRpcyAudHAtYnVsbGV0LWltYWdlIHsKCiAgIGJvcmRlci1yYWRpdXM6NTAlOwogICBkaXNwbGF5OmJsb2NrOwogICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiAgYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIHdpZHRoOjQ0cHg7CiAgaGVpZ2h0OjQ0cHg7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKIH0gIAoubWV0aXMgLnRwLWJ1bGxldC10aXRsZSB7IAogICAgIHBvc2l0aW9uOmFic29sdXRlOyAKCSBib3R0b206NjVweDsKICAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgICBsZWZ0OjUwJTsKICAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNzUpOwogICAgIGNvbG9yOiNmZmY7CiAgICAgcGFkZGluZzoxMHB4IDMwcHg7CiAgICAgYm9yZGVyLXJhZGl1czo0cHg7CgkgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KCi5tZXRpcyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogIAkgdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIG9wYWNpdHk6MTsKfQoKLm1ldGlzIC50cC1idWxsZXQuc2VsZWN0ZWQsCi5tZXRpcyAudHAtYnVsbGV0OmhvdmVyICB7CiAgCiAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDExOSwxMTksMTE5LDEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iI2ZmZmZmZiIsIGVuZENvbG9yc3RyPSIjNzc3Nzc3IiwgR3JhZGllbnRUeXBlPTAgKTsKIAogICAgICB9Ci5tZXRpcyAudHAtYnVsbGV0LXRpdGxlOmFmdGVyIHsKICAgICAgICBjb250ZW50OiIgIjsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBsZWZ0OjUwJTsKICAgICAgICBtYXJnaW4tbGVmdDotOHB4OwogICAgICAgIHdpZHRoOiAwOwoJCWhlaWdodDogMDsKCQlib3JkZXItc3R5bGU6IHNvbGlkOwoJCWJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKCQlib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCi5tZXRpcyAudHAtdGFiLW51bWJlciB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1zaXplOiA0MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsKICAgICAgICB3aWR0aDogNTBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgfQogICAgLm1ldGlzIC50cC10YWItbWFzayB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICBtYXgtd2lkdGg6IDkwcHggIWltcG9ydGFudDsKICAgICAgICB0cmFuc2l0aW9uOiAwLjRzIHBhZGRpbmctbGVmdCwgMC40cyBsZWZ0LCAwLjRzIG1heC13aWR0aDsKICAgIH0KICAgIC5tZXRpczpob3ZlciAudHAtdGFiLW1hc2sgewogICAgICAgIHBhZGRpbmctbGVmdDogMHB4OwogICAgICAgIGxlZnQ6IDUwcHg7CiAgICAgICAgbWF4LXdpZHRoOiA1MDBweCAhaW1wb3J0YW50OwogICAgfQogICAgLm1ldGlzIC50cC10YWItZGl2aWRlciB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmbG9hdDogbGVmdDsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiLXRpdGxlIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAgICAgdHJhbnNpdGlvbjogMC40cyBhbGw7CiAgICB9CiAgICAubWV0aXMgLnRwLXRhYi10aXRsZS1tYXNrIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBsZWZ0OiA2N3B4OwogICAgfQogICAgLm1ldGlzOmhvdmVyIC50cC10YWItdGl0bGUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiIHsKICAgICAgICBvcGFjaXR5OiAwLjE1OwogICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsOwogICAgfQogICAgLm1ldGlzIC50cC10YWI6aG92ZXIsCiAgICAubWV0aXMgLnRwLXRhYi5zZWxlY3RlZCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiLnNlbGVjdGVkIC50cC10YWItZGl2aWRlciB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NkYjA4MzsKICAgIH0KICAgIC5tZXRpcy50cC10YWJzIHsKICAgICAgICBtYXgtd2lkdGg6IDExOHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OwogICAgfQogICAgLm1ldGlzLnRwLXRhYnM6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAiICI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiA4OHB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEwKTsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsOwogICAgfQogICAgLm1ldGlzLnRwLXRhYnM6aG92ZXI6YmVmb3JlIHsKICAgICAgICB3aWR0aDogMTE4cHg7CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDk5cHgpIHsKICAgICAgICAubWV0aXMudHAtdGFiczpiZWZvcmUgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzUpOwogICAgICAgIH0KICAgIH0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogUEVSU0VQSE9ORSBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoucGVyc2VwaG9uZS50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6I2FhYTsKCWJhY2tncm91bmQ6cmdiYSgyMDAsMjAwLDIwMCwwLjUpOwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDA7CiAgYm9yZGVyOjFweCBzb2xpZCAjZjVmNWY1Owp9Ci5wZXJzZXBob25lLnRwYXJyb3dzOmhvdmVyIHsKCWJhY2tncm91bmQ6IzMzMzsKfQoucGVyc2VwaG9uZS50cGFycm93czpiZWZvcmUgewoJZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7Cglmb250LXNpemU6MTVweDsKCWNvbG9yOiNmZmY7CglkaXNwbGF5OmJsb2NrOwoJbGluZS1oZWlnaHQ6IDQwcHg7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLnBlcnNlcGhvbmUudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5wZXJzZXBob25lLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyNSI7Cn0KCgoKLyogQlVMTEVUUyAqLwoucGVyc2VwaG9uZS50cC1idWxsZXRzIHsKfQoucGVyc2VwaG9uZS50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDojdHJhbnNwYXJlbnQ7CglwYWRkaW5nOjEwcHg7CgltYXJnaW4tbGVmdDotMTBweDttYXJnaW4tdG9wOi0xMHB4OwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQoucGVyc2VwaG9uZSAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojYWFhOwoJYm9yZGVyOjFweCBzb2xpZCAjZTVlNWU1OwkKCWN1cnNvcjogcG9pbnRlcjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldDpob3ZlciwKLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiMyMjI7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC1pbWFnZSB7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIFVSQU5VUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoudXJhbnVzLnRwYXJyb3dzIHsKICB3aWR0aDo1MHB4OwogIGhlaWdodDo1MHB4OwogIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7CiB9CiAudXJhbnVzLnRwYXJyb3dzOmJlZm9yZSB7CiB3aWR0aDo1MHB4OwogaGVpZ2h0OjUwcHg7CiBsaW5lLWhlaWdodDo1MHB4OwogZm9udC1zaXplOjQwcHg7CiB0cmFuc2l0aW9uOmFsbCAwLjNzOwotd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiB9CiAKICAudXJhbnVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgICBvcGFjaXR5OjAuNzU7CiAgfQoKLyogQlVMTEVUUyAqLwoudXJhbnVzIC50cC1idWxsZXR7Cglib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Owp9Ci51cmFudXMgLnRwLWJ1bGxldC5zZWxlY3RlZCwKLnVyYW51cyAudHAtYnVsbGV0OmhvdmVyIHsKICBib3gtc2hhZG93OiAwIDAgMCAycHggI0ZGRjsKICBib3JkZXI6bm9uZTsKICBib3JkZXItcmFkaXVzOiA1MCU7CgogICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Owp9CgoKCi51cmFudXMgLnRwLWJ1bGxldC1pbm5lciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgb3V0bGluZTogbm9uZTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgdGV4dC1pbmRlbnQ6IC05OTllbTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgcG9zaXRpb246IGFic29sdXRlOwp9CgoudXJhbnVzIC50cC1idWxsZXQuc2VsZWN0ZWQgLnRwLWJ1bGxldC1pbm5lciwKLnVyYW51cyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW5uZXJ7CiB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7CiAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC40KTsKIGJhY2tncm91bmQtY29sb3I6I2ZmZjsKfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBaRVVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi56ZXVzLnRwYXJyb3dzIHsKICBjdXJzb3I6cG9pbnRlcjsKICBtaW4td2lkdGg6NzBweDsKICBtaW4taGVpZ2h0OjcwcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgZGlzcGxheTpibG9jazsKICB6LWluZGV4OjEwMDsKICBib3JkZXItcmFkaXVzOjM1cHg7ICAgCiAgb3ZlcmZsb3c6aGlkZGVuOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEwKTsKfQoKLnpldXMudHBhcnJvd3M6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MjBweDsKICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDcwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246cmVsYXRpdmU7Cn0KLnpldXMudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7CiAgY29udGVudDogIlxlODI0IjsKfQouemV1cy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgY29udGVudDogIlxlODI1IjsKfQoKLnpldXMgLnRwLXRpdGxlLXdyYXAgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgb3BhY2l0eTowOwogIHRyYW5zZm9ybTpzY2FsZSgwKTsKICAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTsKICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogIC1tb3otdHJhbnNpdGlvbjphbGwgMC4zczsKICAgYm9yZGVyLXJhZGl1czo1MCU7CiB9Ci56ZXVzIC50cC1hcnItaW1naG9sZGVyIHsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOwogIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICBib3JkZXItcmFkaXVzOjUwJTsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7CiAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICAtbW96LXRyYW5zaXRpb246YWxsIDAuM3M7CgogfQouemV1cy50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyIHsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7CiAgICAgIH0KLnpldXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci1pbWdob2xkZXIgewogIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7CiAgb3BhY2l0eToxOwp9CiAgICAgIAouemV1cy50cGFycm93czpob3ZlciAudHAtdGl0bGUtd3JhcCB7CiAgdHJhbnNmb3JtOnNjYWxlKDEpOwogIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOwogIG9wYWNpdHk6MTsKfQogCgovKiBCVUxMRVRTICovCi56ZXVzIC50cC1idWxsZXQgewogICAgIGJveC1zaXppbmc6Y29udGVudC1ib3g7IC13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDsgYm9yZGVyLXJhZGl1czo1MCU7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOwoJICB3aWR0aDoxM3B4O2hlaWdodDoxM3B4OwoJICBib3JkZXI6MnB4IHNvbGlkICNmZmY7CiB9Ci56ZXVzIC50cC1idWxsZXQ6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOwp9Ci56ZXVzIC50cC1idWxsZXQ6aG92ZXI6YWZ0ZXIsCi56ZXVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6YWZ0ZXJ7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7Cn0KICAKIC56ZXVzIC50cC1idWxsZXQtaW1hZ2UsCiAuemV1cyAudHAtYnVsbGV0LWltYWdlb3ZlcmxheXsKICAgICAgICB3aWR0aDoxMzVweDsKICAgICAgICBoZWlnaHQ6NjBweDsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7CiAgICAgICAgYm90dG9tOjI1cHg7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LTY1cHg7CiAgICAgICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47CiAgICAgICAgb3BhY2l0eTowOwogICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgCiAgICAgIAliYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwoJCXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgCQktd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgCQl0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIGJvcmRlci1yYWRpdXM6NHB4OwoKfQogICAgICAgICAgCgouemV1cyAudHAtYnVsbGV0LXRpdGxlLAouemV1cyAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSB7CiAgICAgICAgei1pbmRleDoyOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKCSAgCXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7Cn0gICAgIAouemV1cyAudHAtYnVsbGV0LXRpdGxlIHsgCiAgICAgICAgY29sb3I6I2ZmZjsKICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKICAgICAgICBsaW5lLWhlaWdodDoxNXB4OwogICAgICAgIGZvbnQtc2l6ZToxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OjYwMDsgIAogICAgICAgIHotaW5kZXg6MzsKICAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47CiAgICAgICAgb3BhY2l0eTowOwogICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgCiAgICAgIAliYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwoJCXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgCQktd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgCQl0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICAgIGJvdHRvbTo0NXB4OwogICAgICAgIHdpZHRoOjEzNXB4OwogICAgCXZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICAgICAgICBsZWZ0Oi01N3B4Owp9CiAgICAgIAouemV1cyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUsCi56ZXVzIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC1pbWFnZSwKLnpldXMgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LWltYWdlb3ZlcmxheXsKICAgICAgb3BhY2l0eToxOwogICAgICB2aXNpYmlsaXR5OnZpc2libGU7CgkgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTsKICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTsgICAgICAgICAKICAgIH0KCi8qIFRIVU1CUyAqLwouemV1cyAudHAtdGh1bWIgewpvcGFjaXR5OjEKfQoKLnpldXMgLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MTsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLnpldXMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojYWFhOwogIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43NSk7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogMTJweDsKICB0ZXh0LWFsaWduOiBsZWZ0OyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgdG9wOjIwcHg7CiAgcmlnaHQ6MjBweDsKICB6LWluZGV4OjI7Cn0KLnpldXMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouemV1cyAudHAtdGh1bWItdGl0bGUgewogIGZvbnQtZmFtaWx5OiJSYWxld2F5IjsKICBsZXR0ZXItc3BhY2luZzoxcHg7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2ZmZjsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiAxNXB4OwogIHRleHQtYWxpZ246IGxlZnQ7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MjsKICBwYWRkaW5nOjIwcHggMzVweCAyMHB4IDIwcHg7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgZm9udC13ZWlnaHQ6NTAwOwp9CgouemV1cyAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW1vcmU6YmVmb3JlLAouemV1cyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgouemV1cyAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW92ZXIsCi56ZXVzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItb3ZlciB7CiBiYWNrZ3JvdW5kOiMwMDA7Cn0KLnpldXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLnpldXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgY29sb3I6I2ZmZjsKCn0KCgovKiBUQUJTICovCi56ZXVzIC50cC10YWIgeyAKICBvcGFjaXR5OjE7ICAgICAgCiAgYm94LXNpemluZzpib3JkZXItYm94Owp9CgouemV1cyAudHAtdGFiLXRpdGxlIHsgCmRpc3BsYXk6IGJsb2NrOwp0ZXh0LWFsaWduOiBjZW50ZXI7CmJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yNSk7CmZvbnQtZmFtaWx5OiAiUm9ib3RvIFNsYWIiLCBzZXJpZjsgCmZvbnQtd2VpZ2h0OiA3MDA7IApmb250LXNpemU6IDEzcHg7IApsaW5lLWhlaWdodDogMTNweDsKY29sb3I6ICNmZmY7IApwYWRkaW5nOiA5cHggMTBweDsgfQoKLnpldXMgLnRwLXRhYjpob3ZlciAudHAtdGFiLXRpdGxlLAouemV1cyAudHAtdGFiLnNlbGVjdGVkIC50cC10YWItdGl0bGUgewogY29sb3I6ICMwMDA7CiAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDEpOyAKfQoKCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIFpFVVMgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKCi5wb3N0LXRhYnMgLnRwLXRodW1iIHsKb3BhY2l0eToxCn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzI1MjUyNTsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgei1pbmRleDoxOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwp9CgoucG9zdC10YWJzIC50cC10aHVtYi1tb3JlOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2FhYTsKICBjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDEycHg7CiAgdGV4dC1hbGlnbjogbGVmdDsgICAgCiAgei1pbmRleDoyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDoxNXB4OwogIHJpZ2h0OjE1cHg7CiAgei1pbmRleDoyOwp9Ci5wb3N0LXRhYnMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgoucG9zdC10YWJzIC50cC10aHVtYi10aXRsZSB7CiAgZm9udC1mYW1pbHk6InJhbGV3YXkiOwogIGxldHRlci1zcGFjaW5nOjFweDsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDE1cHg7CiAgdGV4dC1hbGlnbjogbGVmdDsgICAgCiAgei1pbmRleDoyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgei1pbmRleDoyOwogIHBhZGRpbmc6MTVweCAzMHB4IDE1cHggMTVweDsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICBmb250LXdlaWdodDo1MDA7Cn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1tb3JlOmJlZm9yZSwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgoucG9zdC10YWJzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItb3ZlciwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW92ZXIgewogYmFja2dyb3VuZDojZmZmOwp9Ci5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLXRpdGxlIHsKICBjb2xvcjojMDAwOwoKfQo="}},"time_used":262,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":256,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/bootstrap.min.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:24.986Z","timestamp":1785123384986,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/bootstrap.min.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"1d991-65fd8520-abbbeab08c477a2f;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 17913\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":121233,"size_decoded":18533,"mime_type":"text/css","magic":"ASCII text, with very long lines (65367), with CRLF line terminators","md5":"db74a88236e66ce657a5ebe586d89b75","sha1":"81808364d178c386009af4ede78dc478fd26900e","sha256":"9237ad1e699336df9c72d8669535c2669ea6947294245c70e2b96b04ef9c1fd6","sha512":"393d3ac716a77161958792c4f2b05c42692c41e952714c49df41a6a91f238393c429c48d3ba733a6f59be58887fa08f176b82c91e44b1d2b9fc44191a9d2a0c6","ssdeep":"768:RyfGxw/jc/QWlJxtQ8IuiHlqLmzI4X8OAduFKbv2ctg2Bd8JP7ecQVvH1Fx:fw/o1BIuiHlqLmN8lDbNmPbU","tlshash":"01c3c7a0f21031ea7333c55a75d0ed872219a153e66a4fb7f22f25d88f845ca1673f1a","first_seen":"2025-07-07T00:18:26.214328Z","last_seen":"2026-07-27T12:40:24.595904Z","times_seen":20,"resource_available":false,"data":"LyohDQogKiBCb290c3RyYXAgdjMuMy42IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSkNCiAqIENvcHlyaWdodCAyMDExLTIwMTUgVHdpdHRlciwgSW5jLg0KICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAqLy8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e21hcmdpbjowfWFydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxtYWluLG1lbnUsbmF2LHNlY3Rpb24sc3VtbWFyeXtkaXNwbGF5OmJsb2NrfWF1ZGlvLGNhbnZhcyxwcm9ncmVzcyx2aWRlb3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lO2hlaWdodDowfVtoaWRkZW5dLHRlbXBsYXRle2Rpc3BsYXk6bm9uZX1he2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9YTphY3RpdmUsYTpob3ZlcntvdXRsaW5lOjB9YWJiclt0aXRsZV17Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OjcwMH1kZm57Zm9udC1zdHlsZTppdGFsaWN9aDF7bWFyZ2luOi42N2VtIDA7Zm9udC1zaXplOjJlbX1tYXJre2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmYwfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vwe3RvcDotLjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1pbWd7Ym9yZGVyOjB9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWZpZ3VyZXttYXJnaW46MWVtIDQwcHh9aHJ7aGVpZ2h0OjA7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94fXByZXtvdmVyZmxvdzphdXRvfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe21hcmdpbjowO2ZvbnQ6aW5oZXJpdDtjb2xvcjppbmhlcml0fWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uW2Rpc2FibGVkXSxodG1sIGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfWlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfWlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkfWlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9ZmllbGRzZXR7cGFkZGluZzouMzVlbSAuNjI1ZW0gLjc1ZW07bWFyZ2luOjAgMnB4O2JvcmRlcjoxcHggc29saWQgc2lsdmVyfWxlZ2VuZHtwYWRkaW5nOjA7Ym9yZGVyOjB9dGV4dGFyZWF7b3ZlcmZsb3c6YXV0b31vcHRncm91cHtmb250LXdlaWdodDo3MDB9dGFibGV7Ym9yZGVyLXNwYWNpbmc6MDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9dGQsdGh7cGFkZGluZzowfS8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9AbWVkaWEgcHJpbnR7Kiw6YWZ0ZXIsOmJlZm9yZXtjb2xvcjojMDAwIWltcG9ydGFudDt0ZXh0LXNoYWRvdzpub25lIWltcG9ydGFudDtiYWNrZ3JvdW5kOjAgMCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9YSxhOnZpc2l0ZWR7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hW2hyZWZdOmFmdGVye2NvbnRlbnQ6IiAoIiBhdHRyKGhyZWYpICIpIn1hYmJyW3RpdGxlXTphZnRlcntjb250ZW50OiIgKCIgYXR0cih0aXRsZSkgIikifWFbaHJlZl49ImphdmFzY3JpcHQ6Il06YWZ0ZXIsYVtocmVmXj0iIyJdOmFmdGVye2NvbnRlbnQ6IiJ9YmxvY2txdW90ZSxwcmV7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfXRoZWFke2Rpc3BsYXk6dGFibGUtaGVhZGVyLWdyb3VwfWltZyx0cntwYWdlLWJyZWFrLWluc2lkZTphdm9pZH1pbWd7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50fWgyLGgzLHB7b3JwaGFuczozO3dpZG93czozfWgyLGgze3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWR9Lm5hdmJhcntkaXNwbGF5Om5vbmV9LmJ0bj4uY2FyZXQsLmRyb3B1cD4uYnRuPi5jYXJldHtib3JkZXItdG9wLWNvbG9yOiMwMDAhaW1wb3J0YW50fS5sYWJlbHtib3JkZXI6MXB4IHNvbGlkICMwMDB9LnRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9LnRhYmxlIHRkLC50YWJsZSB0aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGRkIWltcG9ydGFudH19QGZvbnQtZmFjZXtmb250LWZhbWlseTonR2x5cGhpY29ucyBIYWxmbGluZ3MnO3NyYzp1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3QpO3NyYzp1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhcmQ0MWQuZW90KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKC4uL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmMicpLHVybCguLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLndvZmYpIGZvcm1hdCgnd29mZicpLHVybCguLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpLHVybCguLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnN2ZykgZm9ybWF0KCdzdmcnKX0uZ2x5cGhpY29ue3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoxcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6J0dseXBoaWNvbnMgSGFsZmxpbmdzJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uZ2x5cGhpY29uLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OiJcMDAyYSJ9LmdseXBoaWNvbi1wbHVzOmJlZm9yZXtjb250ZW50OiJcMDAyYiJ9LmdseXBoaWNvbi1ldXI6YmVmb3JlLC5nbHlwaGljb24tZXVybzpiZWZvcmV7Y29udGVudDoiXDIwYWMifS5nbHlwaGljb24tbWludXM6YmVmb3Jle2NvbnRlbnQ6IlwyMjEyIn0uZ2x5cGhpY29uLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcMjYwMSJ9LmdseXBoaWNvbi1lbnZlbG9wZTpiZWZvcmV7Y29udGVudDoiXDI3MDkifS5nbHlwaGljb24tcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcMjcwZiJ9LmdseXBoaWNvbi1nbGFzczpiZWZvcmV7Y29udGVudDoiXGUwMDEifS5nbHlwaGljb24tbXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxlMDAyIn0uZ2x5cGhpY29uLXNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGUwMDMifS5nbHlwaGljb24taGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDA1In0uZ2x5cGhpY29uLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDA2In0uZ2x5cGhpY29uLXN0YXItZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxlMDA3In0uZ2x5cGhpY29uLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDA4In0uZ2x5cGhpY29uLWZpbG06YmVmb3Jle2NvbnRlbnQ6IlxlMDA5In0uZ2x5cGhpY29uLXRoLWxhcmdlOmJlZm9yZXtjb250ZW50OiJcZTAxMCJ9LmdseXBoaWNvbi10aDpiZWZvcmV7Y29udGVudDoiXGUwMTEifS5nbHlwaGljb24tdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGUwMTIifS5nbHlwaGljb24tb2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDEzIn0uZ2x5cGhpY29uLXJlbW92ZTpiZWZvcmV7Y29udGVudDoiXGUwMTQifS5nbHlwaGljb24tem9vbS1pbjpiZWZvcmV7Y29udGVudDoiXGUwMTUifS5nbHlwaGljb24tem9vbS1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDE2In0uZ2x5cGhpY29uLW9mZjpiZWZvcmV7Y29udGVudDoiXGUwMTcifS5nbHlwaGljb24tc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZTAxOCJ9LmdseXBoaWNvbi1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxlMDE5In0uZ2x5cGhpY29uLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZTAyMCJ9LmdseXBoaWNvbi1ob21lOmJlZm9yZXtjb250ZW50OiJcZTAyMSJ9LmdseXBoaWNvbi1maWxlOmJlZm9yZXtjb250ZW50OiJcZTAyMiJ9LmdseXBoaWNvbi10aW1lOmJlZm9yZXtjb250ZW50OiJcZTAyMyJ9LmdseXBoaWNvbi1yb2FkOmJlZm9yZXtjb250ZW50OiJcZTAyNCJ9LmdseXBoaWNvbi1kb3dubG9hZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDI1In0uZ2x5cGhpY29uLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZTAyNiJ9LmdseXBoaWNvbi11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDI3In0uZ2x5cGhpY29uLWluYm94OmJlZm9yZXtjb250ZW50OiJcZTAyOCJ9LmdseXBoaWNvbi1wbGF5LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGUwMjkifS5nbHlwaGljb24tcmVwZWF0OmJlZm9yZXtjb250ZW50OiJcZTAzMCJ9LmdseXBoaWNvbi1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZTAzMSJ9LmdseXBoaWNvbi1saXN0LWFsdDpiZWZvcmV7Y29udGVudDoiXGUwMzIifS5nbHlwaGljb24tbG9jazpiZWZvcmV7Y29udGVudDoiXGUwMzMifS5nbHlwaGljb24tZmxhZzpiZWZvcmV7Y29udGVudDoiXGUwMzQifS5nbHlwaGljb24taGVhZHBob25lczpiZWZvcmV7Y29udGVudDoiXGUwMzUifS5nbHlwaGljb24tdm9sdW1lLW9mZjpiZWZvcmV7Y29udGVudDoiXGUwMzYifS5nbHlwaGljb24tdm9sdW1lLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMDM3In0uZ2x5cGhpY29uLXZvbHVtZS11cDpiZWZvcmV7Y29udGVudDoiXGUwMzgifS5nbHlwaGljb24tcXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZTAzOSJ9LmdseXBoaWNvbi1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZTA0MCJ9LmdseXBoaWNvbi10YWc6YmVmb3Jle2NvbnRlbnQ6IlxlMDQxIn0uZ2x5cGhpY29uLXRhZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlMDQyIn0uZ2x5cGhpY29uLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDQzIn0uZ2x5cGhpY29uLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZTA0NCJ9LmdseXBoaWNvbi1wcmludDpiZWZvcmV7Y29udGVudDoiXGUwNDUifS5nbHlwaGljb24tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZTA0NiJ9LmdseXBoaWNvbi1mb250OmJlZm9yZXtjb250ZW50OiJcZTA0NyJ9LmdseXBoaWNvbi1ib2xkOmJlZm9yZXtjb250ZW50OiJcZTA0OCJ9LmdseXBoaWNvbi1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ5In0uZ2x5cGhpY29uLXRleHQtaGVpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTA1MCJ9LmdseXBoaWNvbi10ZXh0LXdpZHRoOmJlZm9yZXtjb250ZW50OiJcZTA1MSJ9LmdseXBoaWNvbi1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTA1MiJ9LmdseXBoaWNvbi1hbGlnbi1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDUzIn0uZ2x5cGhpY29uLWFsaWduLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTA1NCJ9LmdseXBoaWNvbi1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZTA1NSJ9LmdseXBoaWNvbi1saXN0OmJlZm9yZXtjb250ZW50OiJcZTA1NiJ9LmdseXBoaWNvbi1pbmRlbnQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGUwNTcifS5nbHlwaGljb24taW5kZW50LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTA1OCJ9LmdseXBoaWNvbi1mYWNldGltZS12aWRlbzpiZWZvcmV7Y29udGVudDoiXGUwNTkifS5nbHlwaGljb24tcGljdHVyZTpiZWZvcmV7Y29udGVudDoiXGUwNjAifS5nbHlwaGljb24tbWFwLW1hcmtlcjpiZWZvcmV7Y29udGVudDoiXGUwNjIifS5nbHlwaGljb24tYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZTA2MyJ9LmdseXBoaWNvbi10aW50OmJlZm9yZXtjb250ZW50OiJcZTA2NCJ9LmdseXBoaWNvbi1lZGl0OmJlZm9yZXtjb250ZW50OiJcZTA2NSJ9LmdseXBoaWNvbi1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGUwNjYifS5nbHlwaGljb24tY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDY3In0uZ2x5cGhpY29uLW1vdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDY4In0uZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDY5In0uZ2x5cGhpY29uLWZhc3QtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDcwIn0uZ2x5cGhpY29uLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZTA3MSJ9LmdseXBoaWNvbi1wbGF5OmJlZm9yZXtjb250ZW50OiJcZTA3MiJ9LmdseXBoaWNvbi1wYXVzZTpiZWZvcmV7Y29udGVudDoiXGUwNzMifS5nbHlwaGljb24tc3RvcDpiZWZvcmV7Y29udGVudDoiXGUwNzQifS5nbHlwaGljb24tZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNzUifS5nbHlwaGljb24tZmFzdC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZTA3NiJ9LmdseXBoaWNvbi1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDc3In0uZ2x5cGhpY29uLWVqZWN0OmJlZm9yZXtjb250ZW50OiJcZTA3OCJ9LmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDc5In0uZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDgwIn0uZ2x5cGhpY29uLXBsdXMtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODEifS5nbHlwaGljb24tbWludXMtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODIifS5nbHlwaGljb24tcmVtb3ZlLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMDgzIn0uZ2x5cGhpY29uLW9rLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMDg0In0uZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMDg1In0uZ2x5cGhpY29uLWluZm8tc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODYifS5nbHlwaGljb24tc2NyZWVuc2hvdDpiZWZvcmV7Y29udGVudDoiXGUwODcifS5nbHlwaGljb24tcmVtb3ZlLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGUwODgifS5nbHlwaGljb24tb2stY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTA4OSJ9LmdseXBoaWNvbi1iYW4tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTA5MCJ9LmdseXBoaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTA5MSJ9LmdseXBoaWNvbi1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUwOTIifS5nbHlwaGljb24tYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDkzIn0uZ2x5cGhpY29uLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMDk0In0uZ2x5cGhpY29uLXNoYXJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGUwOTUifS5nbHlwaGljb24tcmVzaXplLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxlMDk2In0uZ2x5cGhpY29uLXJlc2l6ZS1zbWFsbDpiZWZvcmV7Y29udGVudDoiXGUwOTcifS5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbjpiZWZvcmV7Y29udGVudDoiXGUxMDEifS5nbHlwaGljb24tZ2lmdDpiZWZvcmV7Y29udGVudDoiXGUxMDIifS5nbHlwaGljb24tbGVhZjpiZWZvcmV7Y29udGVudDoiXGUxMDMifS5nbHlwaGljb24tZmlyZTpiZWZvcmV7Y29udGVudDoiXGUxMDQifS5nbHlwaGljb24tZXllLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlMTA1In0uZ2x5cGhpY29uLWV5ZS1jbG9zZTpiZWZvcmV7Y29udGVudDoiXGUxMDYifS5nbHlwaGljb24td2FybmluZy1zaWduOmJlZm9yZXtjb250ZW50OiJcZTEwNyJ9LmdseXBoaWNvbi1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGUxMDgifS5nbHlwaGljb24tY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTA5In0uZ2x5cGhpY29uLXJhbmRvbTpiZWZvcmV7Y29udGVudDoiXGUxMTAifS5nbHlwaGljb24tY29tbWVudDpiZWZvcmV7Y29udGVudDoiXGUxMTEifS5nbHlwaGljb24tbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZTExMiJ9LmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZXtjb250ZW50OiJcZTExMyJ9LmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMTE0In0uZ2x5cGhpY29uLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTE1In0uZ2x5cGhpY29uLXNob3BwaW5nLWNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTE2In0uZ2x5cGhpY29uLWZvbGRlci1jbG9zZTpiZWZvcmV7Y29udGVudDoiXGUxMTcifS5nbHlwaGljb24tZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlMTE4In0uZ2x5cGhpY29uLXJlc2l6ZS12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGUxMTkifS5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxlMTIwIn0uZ2x5cGhpY29uLWhkZDpiZWZvcmV7Y29udGVudDoiXGUxMjEifS5nbHlwaGljb24tYnVsbGhvcm46YmVmb3Jle2NvbnRlbnQ6IlxlMTIyIn0uZ2x5cGhpY29uLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxlMTIzIn0uZ2x5cGhpY29uLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZTEyNCJ9LmdseXBoaWNvbi10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMTI1In0uZ2x5cGhpY29uLXRodW1icy1kb3duOmJlZm9yZXtjb250ZW50OiJcZTEyNiJ9LmdseXBoaWNvbi1oYW5kLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTEyNyJ9LmdseXBoaWNvbi1oYW5kLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTI4In0uZ2x5cGhpY29uLWhhbmQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMTI5In0uZ2x5cGhpY29uLWhhbmQtZG93bjpiZWZvcmV7Y29udGVudDoiXGUxMzAifS5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTEzMSJ9LmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGUxMzIifS5nbHlwaGljb24tY2lyY2xlLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZTEzMyJ9LmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGUxMzQifS5nbHlwaGljb24tZ2xvYmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTM1In0uZ2x5cGhpY29uLXdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGUxMzYifS5nbHlwaGljb24tdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxlMTM3In0uZ2x5cGhpY29uLWZpbHRlcjpiZWZvcmV7Y29udGVudDoiXGUxMzgifS5nbHlwaGljb24tYnJpZWZjYXNlOmJlZm9yZXtjb250ZW50OiJcZTEzOSJ9LmdseXBoaWNvbi1mdWxsc2NyZWVuOmJlZm9yZXtjb250ZW50OiJcZTE0MCJ9LmdseXBoaWNvbi1kYXNoYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTQxIn0uZ2x5cGhpY29uLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGUxNDIifS5nbHlwaGljb24taGVhcnQtZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxlMTQzIn0uZ2x5cGhpY29uLWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlMTQ0In0uZ2x5cGhpY29uLXBob25lOmJlZm9yZXtjb250ZW50OiJcZTE0NSJ9LmdseXBoaWNvbi1wdXNocGluOmJlZm9yZXtjb250ZW50OiJcZTE0NiJ9LmdseXBoaWNvbi11c2Q6YmVmb3Jle2NvbnRlbnQ6IlxlMTQ4In0uZ2x5cGhpY29uLWdicDpiZWZvcmV7Y29udGVudDoiXGUxNDkifS5nbHlwaGljb24tc29ydDpiZWZvcmV7Y29udGVudDoiXGUxNTAifS5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldDpiZWZvcmV7Y29udGVudDoiXGUxNTEifS5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTUyIn0uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTUzIn0uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZTE1NCJ9LmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMTU1In0uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTU2In0uZ2x5cGhpY29uLXVuY2hlY2tlZDpiZWZvcmV7Y29udGVudDoiXGUxNTcifS5nbHlwaGljb24tZXhwYW5kOmJlZm9yZXtjb250ZW50OiJcZTE1OCJ9LmdseXBoaWNvbi1jb2xsYXBzZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZTE1OSJ9LmdseXBoaWNvbi1jb2xsYXBzZS11cDpiZWZvcmV7Y29udGVudDoiXGUxNjAifS5nbHlwaGljb24tbG9nLWluOmJlZm9yZXtjb250ZW50OiJcZTE2MSJ9LmdseXBoaWNvbi1mbGFzaDpiZWZvcmV7Y29udGVudDoiXGUxNjIifS5nbHlwaGljb24tbG9nLW91dDpiZWZvcmV7Y29udGVudDoiXGUxNjMifS5nbHlwaGljb24tbmV3LXdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGUxNjQifS5nbHlwaGljb24tcmVjb3JkOmJlZm9yZXtjb250ZW50OiJcZTE2NSJ9LmdseXBoaWNvbi1zYXZlOmJlZm9yZXtjb250ZW50OiJcZTE2NiJ9LmdseXBoaWNvbi1vcGVuOmJlZm9yZXtjb250ZW50OiJcZTE2NyJ9LmdseXBoaWNvbi1zYXZlZDpiZWZvcmV7Y29udGVudDoiXGUxNjgifS5nbHlwaGljb24taW1wb3J0OmJlZm9yZXtjb250ZW50OiJcZTE2OSJ9LmdseXBoaWNvbi1leHBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTcwIn0uZ2x5cGhpY29uLXNlbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTcxIn0uZ2x5cGhpY29uLWZsb3BweS1kaXNrOmJlZm9yZXtjb250ZW50OiJcZTE3MiJ9LmdseXBoaWNvbi1mbG9wcHktc2F2ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTczIn0uZ2x5cGhpY29uLWZsb3BweS1yZW1vdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTc0In0uZ2x5cGhpY29uLWZsb3BweS1zYXZlOmJlZm9yZXtjb250ZW50OiJcZTE3NSJ9LmdseXBoaWNvbi1mbG9wcHktb3BlbjpiZWZvcmV7Y29udGVudDoiXGUxNzYifS5nbHlwaGljb24tY3JlZGl0LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTc3In0uZ2x5cGhpY29uLXRyYW5zZmVyOmJlZm9yZXtjb250ZW50OiJcZTE3OCJ9LmdseXBoaWNvbi1jdXRsZXJ5OmJlZm9yZXtjb250ZW50OiJcZTE3OSJ9LmdseXBoaWNvbi1oZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTgwIn0uZ2x5cGhpY29uLWNvbXByZXNzZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTgxIn0uZ2x5cGhpY29uLWVhcnBob25lOmJlZm9yZXtjb250ZW50OiJcZTE4MiJ9LmdseXBoaWNvbi1waG9uZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTgzIn0uZ2x5cGhpY29uLXRvd2VyOmJlZm9yZXtjb250ZW50OiJcZTE4NCJ9LmdseXBoaWNvbi1zdGF0czpiZWZvcmV7Y29udGVudDoiXGUxODUifS5nbHlwaGljb24tc2QtdmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlMTg2In0uZ2x5cGhpY29uLWhkLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTE4NyJ9LmdseXBoaWNvbi1zdWJ0aXRsZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMTg4In0uZ2x5cGhpY29uLXNvdW5kLXN0ZXJlbzpiZWZvcmV7Y29udGVudDoiXGUxODkifS5nbHlwaGljb24tc291bmQtZG9sYnk6YmVmb3Jle2NvbnRlbnQ6IlxlMTkwIn0uZ2x5cGhpY29uLXNvdW5kLTUtMTpiZWZvcmV7Y29udGVudDoiXGUxOTEifS5nbHlwaGljb24tc291bmQtNi0xOmJlZm9yZXtjb250ZW50OiJcZTE5MiJ9LmdseXBoaWNvbi1zb3VuZC03LTE6YmVmb3Jle2NvbnRlbnQ6IlxlMTkzIn0uZ2x5cGhpY29uLWNvcHlyaWdodC1tYXJrOmJlZm9yZXtjb250ZW50OiJcZTE5NCJ9LmdseXBoaWNvbi1yZWdpc3RyYXRpb24tbWFyazpiZWZvcmV7Y29udGVudDoiXGUxOTUifS5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTk3In0uZ2x5cGhpY29uLWNsb3VkLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGUxOTgifS5nbHlwaGljb24tdHJlZS1jb25pZmVyOmJlZm9yZXtjb250ZW50OiJcZTE5OSJ9LmdseXBoaWNvbi10cmVlLWRlY2lkdW91czpiZWZvcmV7Y29udGVudDoiXGUyMDAifS5nbHlwaGljb24tY2Q6YmVmb3Jle2NvbnRlbnQ6IlxlMjAxIn0uZ2x5cGhpY29uLXNhdmUtZmlsZTpiZWZvcmV7Y29udGVudDoiXGUyMDIifS5nbHlwaGljb24tb3Blbi1maWxlOmJlZm9yZXtjb250ZW50OiJcZTIwMyJ9LmdseXBoaWNvbi1sZXZlbC11cDpiZWZvcmV7Y29udGVudDoiXGUyMDQifS5nbHlwaGljb24tY29weTpiZWZvcmV7Y29udGVudDoiXGUyMDUifS5nbHlwaGljb24tcGFzdGU6YmVmb3Jle2NvbnRlbnQ6IlxlMjA2In0uZ2x5cGhpY29uLWFsZXJ0OmJlZm9yZXtjb250ZW50OiJcZTIwOSJ9LmdseXBoaWNvbi1lcXVhbGl6ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMjEwIn0uZ2x5cGhpY29uLWtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlMjExIn0uZ2x5cGhpY29uLXF1ZWVuOmJlZm9yZXtjb250ZW50OiJcZTIxMiJ9LmdseXBoaWNvbi1wYXduOmJlZm9yZXtjb250ZW50OiJcZTIxMyJ9LmdseXBoaWNvbi1iaXNob3A6YmVmb3Jle2NvbnRlbnQ6IlxlMjE0In0uZ2x5cGhpY29uLWtuaWdodDpiZWZvcmV7Y29udGVudDoiXGUyMTUifS5nbHlwaGljb24tYmFieS1mb3JtdWxhOmJlZm9yZXtjb250ZW50OiJcZTIxNiJ9LmdseXBoaWNvbi10ZW50OmJlZm9yZXtjb250ZW50OiJcMjZmYSJ9LmdseXBoaWNvbi1ibGFja2JvYXJkOmJlZm9yZXtjb250ZW50OiJcZTIxOCJ9LmdseXBoaWNvbi1iZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjE5In0uZ2x5cGhpY29uLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjhmZiJ9LmdseXBoaWNvbi1lcmFzZTpiZWZvcmV7Y29udGVudDoiXGUyMjEifS5nbHlwaGljb24taG91cmdsYXNzOmJlZm9yZXtjb250ZW50OiJcMjMxYiJ9LmdseXBoaWNvbi1sYW1wOmJlZm9yZXtjb250ZW50OiJcZTIyMyJ9LmdseXBoaWNvbi1kdXBsaWNhdGU6YmVmb3Jle2NvbnRlbnQ6IlxlMjI0In0uZ2x5cGhpY29uLXBpZ2d5LWJhbms6YmVmb3Jle2NvbnRlbnQ6IlxlMjI1In0uZ2x5cGhpY29uLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZTIyNiJ9LmdseXBoaWNvbi1iaXRjb2luOmJlZm9yZXtjb250ZW50OiJcZTIyNyJ9LmdseXBoaWNvbi1idGM6YmVmb3Jle2NvbnRlbnQ6IlxlMjI3In0uZ2x5cGhpY29uLXhidDpiZWZvcmV7Y29udGVudDoiXGUyMjcifS5nbHlwaGljb24teWVuOmJlZm9yZXtjb250ZW50OiJcMDBhNSJ9LmdseXBoaWNvbi1qcHk6YmVmb3Jle2NvbnRlbnQ6IlwwMGE1In0uZ2x5cGhpY29uLXJ1YmxlOmJlZm9yZXtjb250ZW50OiJcMjBiZCJ9LmdseXBoaWNvbi1ydWI6YmVmb3Jle2NvbnRlbnQ6IlwyMGJkIn0uZ2x5cGhpY29uLXNjYWxlOmJlZm9yZXtjb250ZW50OiJcZTIzMCJ9LmdseXBoaWNvbi1pY2UtbG9sbHk6YmVmb3Jle2NvbnRlbnQ6IlxlMjMxIn0uZ2x5cGhpY29uLWljZS1sb2xseS10YXN0ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjMyIn0uZ2x5cGhpY29uLWVkdWNhdGlvbjpiZWZvcmV7Y29udGVudDoiXGUyMzMifS5nbHlwaGljb24tb3B0aW9uLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxlMjM0In0uZ2x5cGhpY29uLW9wdGlvbi12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGUyMzUifS5nbHlwaGljb24tbWVudS1oYW1idXJnZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMjM2In0uZ2x5cGhpY29uLW1vZGFsLXdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGUyMzcifS5nbHlwaGljb24tb2lsOmJlZm9yZXtjb250ZW50OiJcZTIzOCJ9LmdseXBoaWNvbi1ncmFpbjpiZWZvcmV7Y29udGVudDoiXGUyMzkifS5nbHlwaGljb24tc3VuZ2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGUyNDAifS5nbHlwaGljb24tdGV4dC1zaXplOmJlZm9yZXtjb250ZW50OiJcZTI0MSJ9LmdseXBoaWNvbi10ZXh0LWNvbG9yOmJlZm9yZXtjb250ZW50OiJcZTI0MiJ9LmdseXBoaWNvbi10ZXh0LWJhY2tncm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjQzIn0uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi10b3A6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ0In0uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ib3R0b206YmVmb3Jle2NvbnRlbnQ6IlxlMjQ1In0uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZTI0NiJ9LmdseXBoaWNvbi1vYmplY3QtYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGUyNDcifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTI0OCJ9LmdseXBoaWNvbi1vYmplY3QtYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ5In0uZ2x5cGhpY29uLXRyaWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTI1MCJ9LmdseXBoaWNvbi10cmlhbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTI1MSJ9LmdseXBoaWNvbi10cmlhbmdsZS1ib3R0b206YmVmb3Jle2NvbnRlbnQ6IlxlMjUyIn0uZ2x5cGhpY29uLXRyaWFuZ2xlLXRvcDpiZWZvcmV7Y29udGVudDoiXGUyNTMifS5nbHlwaGljb24tY29uc29sZTpiZWZvcmV7Y29udGVudDoiXGUyNTQifS5nbHlwaGljb24tc3VwZXJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjU1In0uZ2x5cGhpY29uLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGUyNTYifS5nbHlwaGljb24tbWVudS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTI1NyJ9LmdseXBoaWNvbi1tZW51LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTI1OCJ9LmdseXBoaWNvbi1tZW51LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMjU5In0uZ2x5cGhpY29uLW1lbnUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMjYwIn0qey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH06YWZ0ZXIsOmJlZm9yZXstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9aHRtbHtmb250LXNpemU6MTBweDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKX1ib2R5e2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2ZmZn1idXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhe2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdH1he2NvbG9yOiMzMzdhYjc7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YTpmb2N1cyxhOmhvdmVye2NvbG9yOiMyMzUyN2M7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hOmZvY3Vze291dGxpbmU6dGhpbiBkb3R0ZWQ7b3V0bGluZTo1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7b3V0bGluZS1vZmZzZXQ6LTJweH1maWd1cmV7bWFyZ2luOjB9aW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0+YT5pbWcsLmNhcm91c2VsLWlubmVyPi5pdGVtPmltZywuaW1nLXJlc3BvbnNpdmUsLnRodW1ibmFpbCBhPmltZywudGh1bWJuYWlsPmltZ3tkaXNwbGF5OmJsb2NrO21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfS5pbWctcm91bmRlZHtib3JkZXItcmFkaXVzOjZweH0uaW1nLXRodW1ibmFpbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztwYWRkaW5nOjRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dH0uaW1nLWNpcmNsZXtib3JkZXItcmFkaXVzOjUwJX1ocnttYXJnaW4tdG9wOjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4O2JvcmRlcjowO2JvcmRlci10b3A6MXB4IHNvbGlkICNlZWV9LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7Ym9yZGVyOjB9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG99W3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn0uaDEsLmgyLC5oMywuaDQsLmg1LC5oNixoMSxoMixoMyxoNCxoNSxoNntmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjE7Y29sb3I6aW5oZXJpdH0uaDEgLnNtYWxsLC5oMSBzbWFsbCwuaDIgLnNtYWxsLC5oMiBzbWFsbCwuaDMgLnNtYWxsLC5oMyBzbWFsbCwuaDQgLnNtYWxsLC5oNCBzbWFsbCwuaDUgLnNtYWxsLC5oNSBzbWFsbCwuaDYgLnNtYWxsLC5oNiBzbWFsbCxoMSAuc21hbGwsaDEgc21hbGwsaDIgLnNtYWxsLGgyIHNtYWxsLGgzIC5zbWFsbCxoMyBzbWFsbCxoNCAuc21hbGwsaDQgc21hbGwsaDUgLnNtYWxsLGg1IHNtYWxsLGg2IC5zbWFsbCxoNiBzbWFsbHtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojNzc3fS5oMSwuaDIsLmgzLGgxLGgyLGgze21hcmdpbi10b3A6MjBweDttYXJnaW4tYm90dG9tOjEwcHh9LmgxIC5zbWFsbCwuaDEgc21hbGwsLmgyIC5zbWFsbCwuaDIgc21hbGwsLmgzIC5zbWFsbCwuaDMgc21hbGwsaDEgLnNtYWxsLGgxIHNtYWxsLGgyIC5zbWFsbCxoMiBzbWFsbCxoMyAuc21hbGwsaDMgc21hbGx7Zm9udC1zaXplOjY1JX0uaDQsLmg1LC5oNixoNCxoNSxoNnttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5oNCAuc21hbGwsLmg0IHNtYWxsLC5oNSAuc21hbGwsLmg1IHNtYWxsLC5oNiAuc21hbGwsLmg2IHNtYWxsLGg0IC5zbWFsbCxoNCBzbWFsbCxoNSAuc21hbGwsaDUgc21hbGwsaDYgLnNtYWxsLGg2IHNtYWxse2ZvbnQtc2l6ZTo3NSV9LmgxLGgxe2ZvbnQtc2l6ZTozNnB4fS5oMixoMntmb250LXNpemU6MzBweH0uaDMsaDN7Zm9udC1zaXplOjI0cHh9Lmg0LGg0e2ZvbnQtc2l6ZToxOHB4fS5oNSxoNXtmb250LXNpemU6MTRweH0uaDYsaDZ7Zm9udC1zaXplOjEycHh9cHttYXJnaW46MCAwIDEwcHh9LmxlYWR7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjMwMDtsaW5lLWhlaWdodDoxLjR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5sZWFke2ZvbnQtc2l6ZToyMXB4fX0uc21hbGwsc21hbGx7Zm9udC1zaXplOjg1JX0ubWFyayxtYXJre3BhZGRpbmc6LjJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9LnRleHQtbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udGV4dC1sb3dlcmNhc2V7dGV4dC10cmFuc2Zvcm06bG93ZXJjYXNlfS50ZXh0LXVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnRleHQtY2FwaXRhbGl6ZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplfS50ZXh0LW11dGVke2NvbG9yOiM3Nzd9LnRleHQtcHJpbWFyeXtjb2xvcjojMzM3YWI3fWEudGV4dC1wcmltYXJ5OmZvY3VzLGEudGV4dC1wcmltYXJ5OmhvdmVye2NvbG9yOiMyODYwOTB9LnRleHQtc3VjY2Vzc3tjb2xvcjojM2M3NjNkfWEudGV4dC1zdWNjZXNzOmZvY3VzLGEudGV4dC1zdWNjZXNzOmhvdmVye2NvbG9yOiMyYjU0MmN9LnRleHQtaW5mb3tjb2xvcjojMzE3MDhmfWEudGV4dC1pbmZvOmZvY3VzLGEudGV4dC1pbmZvOmhvdmVye2NvbG9yOiMyNDUyNjl9LnRleHQtd2FybmluZ3tjb2xvcjojOGE2ZDNifWEudGV4dC13YXJuaW5nOmZvY3VzLGEudGV4dC13YXJuaW5nOmhvdmVye2NvbG9yOiM2NjUxMmN9LnRleHQtZGFuZ2Vye2NvbG9yOiNhOTQ0NDJ9YS50ZXh0LWRhbmdlcjpmb2N1cyxhLnRleHQtZGFuZ2VyOmhvdmVye2NvbG9yOiM4NDM1MzR9LmJnLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjd9YS5iZy1wcmltYXJ5OmZvY3VzLGEuYmctcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTB9LmJnLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4fWEuYmctc3VjY2Vzczpmb2N1cyxhLmJnLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzFlMmIzfS5iZy1pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmN31hLmJnLWluZm86Zm9jdXMsYS5iZy1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2FmZDllZX0uYmctd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9YS5iZy13YXJuaW5nOmZvY3VzLGEuYmctd2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmN2VjYjV9LmJnLWRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGV9YS5iZy1kYW5nZXI6Zm9jdXMsYS5iZy1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTRiOWI5fS5wYWdlLWhlYWRlcntwYWRkaW5nLWJvdHRvbTo5cHg7bWFyZ2luOjQwcHggMCAyMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZWV9b2wsdWx7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MTBweH1vbCBvbCxvbCB1bCx1bCBvbCx1bCB1bHttYXJnaW4tYm90dG9tOjB9Lmxpc3QtdW5zdHlsZWR7cGFkZGluZy1sZWZ0OjA7bGlzdC1zdHlsZTpub25lfS5saXN0LWlubGluZXtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDotNXB4O2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1pbmxpbmU+bGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1yaWdodDo1cHg7cGFkZGluZy1sZWZ0OjVweH1kbHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToyMHB4fWRkLGR0e2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDN9ZHR7Zm9udC13ZWlnaHQ6NzAwfWRke21hcmdpbi1sZWZ0OjB9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5kbC1ob3Jpem9udGFsIGR0e2Zsb2F0OmxlZnQ7d2lkdGg6MTYwcHg7b3ZlcmZsb3c6aGlkZGVuO2NsZWFyOmxlZnQ7dGV4dC1hbGlnbjpyaWdodDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uZGwtaG9yaXpvbnRhbCBkZHttYXJnaW4tbGVmdDoxODBweH19YWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSxhYmJyW3RpdGxlXXtjdXJzb3I6aGVscDtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgIzc3N30uaW5pdGlhbGlzbXtmb250LXNpemU6OTAlO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX1ibG9ja3F1b3Rle3BhZGRpbmc6MTBweCAyMHB4O21hcmdpbjowIDAgMjBweDtmb250LXNpemU6MTcuNXB4O2JvcmRlci1sZWZ0OjVweCBzb2xpZCAjZWVlfWJsb2NrcXVvdGUgb2w6bGFzdC1jaGlsZCxibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCxibG9ja3F1b3RlIHVsOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfWJsb2NrcXVvdGUgLnNtYWxsLGJsb2NrcXVvdGUgZm9vdGVyLGJsb2NrcXVvdGUgc21hbGx7ZGlzcGxheTpibG9jaztmb250LXNpemU6ODAlO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6Izc3N31ibG9ja3F1b3RlIC5zbWFsbDpiZWZvcmUsYmxvY2txdW90ZSBmb290ZXI6YmVmb3JlLGJsb2NrcXVvdGUgc21hbGw6YmVmb3Jle2NvbnRlbnQ6J1wyMDE0IFwwMEEwJ30uYmxvY2txdW90ZS1yZXZlcnNlLGJsb2NrcXVvdGUucHVsbC1yaWdodHtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjA7dGV4dC1hbGlnbjpyaWdodDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkICNlZWU7Ym9yZGVyLWxlZnQ6MH0uYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDpiZWZvcmUsLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YmVmb3JlLC5ibG9ja3F1b3RlLXJldmVyc2Ugc21hbGw6YmVmb3JlLGJsb2NrcXVvdGUucHVsbC1yaWdodCAuc21hbGw6YmVmb3JlLGJsb2NrcXVvdGUucHVsbC1yaWdodCBmb290ZXI6YmVmb3JlLGJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDpiZWZvcmV7Y29udGVudDonJ30uYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDphZnRlciwuYmxvY2txdW90ZS1yZXZlcnNlIGZvb3RlcjphZnRlciwuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmFmdGVyLGJsb2NrcXVvdGUucHVsbC1yaWdodCAuc21hbGw6YWZ0ZXIsYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjphZnRlcixibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YWZ0ZXJ7Y29udGVudDonXDAwQTAgXDIwMTQnfWFkZHJlc3N7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDN9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6TWVubG8sTW9uYWNvLENvbnNvbGFzLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlfWNvZGV7cGFkZGluZzoycHggNHB4O2ZvbnQtc2l6ZTo5MCU7Y29sb3I6I2M3MjU0ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmOWYyZjQ7Ym9yZGVyLXJhZGl1czo0cHh9a2Jke3BhZGRpbmc6MnB4IDRweDtmb250LXNpemU6OTAlO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzMzO2JvcmRlci1yYWRpdXM6M3B4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7Ym94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSl9a2JkIGtiZHtwYWRkaW5nOjA7Zm9udC1zaXplOjEwMCU7Zm9udC13ZWlnaHQ6NzAwOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX1wcmV7ZGlzcGxheTpibG9jaztwYWRkaW5nOjkuNXB4O21hcmdpbjowIDAgMTBweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiMzMzM7d29yZC1icmVhazpicmVhay1hbGw7d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjRweH1wcmUgY29kZXtwYWRkaW5nOjA7Zm9udC1zaXplOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MH0ucHJlLXNjcm9sbGFibGV7bWF4LWhlaWdodDozNDBweDtvdmVyZmxvdy15OnNjcm9sbH0uY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuY29udGFpbmVye3dpZHRoOjc1MHB4fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbnRhaW5lcnt3aWR0aDo5NzBweH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuY29udGFpbmVye3dpZHRoOjExNzBweH19LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b30ucm93e21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tbGVmdDotMTVweH0uY29sLWxnLTEsLmNvbC1sZy0xMCwuY29sLWxnLTExLC5jb2wtbGctMTIsLmNvbC1sZy0yLC5jb2wtbGctMywuY29sLWxnLTQsLmNvbC1sZy01LC5jb2wtbGctNiwuY29sLWxnLTcsLmNvbC1sZy04LC5jb2wtbGctOSwuY29sLW1kLTEsLmNvbC1tZC0xMCwuY29sLW1kLTExLC5jb2wtbWQtMTIsLmNvbC1tZC0yLC5jb2wtbWQtMywuY29sLW1kLTQsLmNvbC1tZC01LC5jb2wtbWQtNiwuY29sLW1kLTcsLmNvbC1tZC04LC5jb2wtbWQtOSwuY29sLXNtLTEsLmNvbC1zbS0xMCwuY29sLXNtLTExLC5jb2wtc20tMTIsLmNvbC1zbS0yLC5jb2wtc20tMywuY29sLXNtLTQsLmNvbC1zbS01LC5jb2wtc20tNiwuY29sLXNtLTcsLmNvbC1zbS04LC5jb2wtc20tOSwuY29sLXhzLTEsLmNvbC14cy0xMCwuY29sLXhzLTExLC5jb2wteHMtMTIsLmNvbC14cy0yLC5jb2wteHMtMywuY29sLXhzLTQsLmNvbC14cy01LC5jb2wteHMtNiwuY29sLXhzLTcsLmNvbC14cy04LC5jb2wteHMtOXtwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjFweDtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHh9LmNvbC14cy0xLC5jb2wteHMtMTAsLmNvbC14cy0xMSwuY29sLXhzLTEyLC5jb2wteHMtMiwuY29sLXhzLTMsLmNvbC14cy00LC5jb2wteHMtNSwuY29sLXhzLTYsLmNvbC14cy03LC5jb2wteHMtOCwuY29sLXhzLTl7ZmxvYXQ6bGVmdH0uY29sLXhzLTEye3dpZHRoOjEwMCV9LmNvbC14cy0xMXt3aWR0aDo5MS42NjY2NjY2NyV9LmNvbC14cy0xMHt3aWR0aDo4My4zMzMzMzMzMyV9LmNvbC14cy05e3dpZHRoOjc1JX0uY29sLXhzLTh7d2lkdGg6NjYuNjY2NjY2NjclfS5jb2wteHMtN3t3aWR0aDo1OC4zMzMzMzMzMyV9LmNvbC14cy02e3dpZHRoOjUwJX0uY29sLXhzLTV7d2lkdGg6NDEuNjY2NjY2NjclfS5jb2wteHMtNHt3aWR0aDozMy4zMzMzMzMzMyV9LmNvbC14cy0ze3dpZHRoOjI1JX0uY29sLXhzLTJ7d2lkdGg6MTYuNjY2NjY2NjclfS5jb2wteHMtMXt3aWR0aDo4LjMzMzMzMzMzJX0uY29sLXhzLXB1bGwtMTJ7cmlnaHQ6MTAwJX0uY29sLXhzLXB1bGwtMTF7cmlnaHQ6OTEuNjY2NjY2NjclfS5jb2wteHMtcHVsbC0xMHtyaWdodDo4My4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTl7cmlnaHQ6NzUlfS5jb2wteHMtcHVsbC04e3JpZ2h0OjY2LjY2NjY2NjY3JX0uY29sLXhzLXB1bGwtN3tyaWdodDo1OC4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTZ7cmlnaHQ6NTAlfS5jb2wteHMtcHVsbC01e3JpZ2h0OjQxLjY2NjY2NjY3JX0uY29sLXhzLXB1bGwtNHtyaWdodDozMy4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTN7cmlnaHQ6MjUlfS5jb2wteHMtcHVsbC0ye3JpZ2h0OjE2LjY2NjY2NjY3JX0uY29sLXhzLXB1bGwtMXtyaWdodDo4LjMzMzMzMzMzJX0uY29sLXhzLXB1bGwtMHtyaWdodDphdXRvfS5jb2wteHMtcHVzaC0xMntsZWZ0OjEwMCV9LmNvbC14cy1wdXNoLTExe2xlZnQ6OTEuNjY2NjY2NjclfS5jb2wteHMtcHVzaC0xMHtsZWZ0OjgzLjMzMzMzMzMzJX0uY29sLXhzLXB1c2gtOXtsZWZ0Ojc1JX0uY29sLXhzLXB1c2gtOHtsZWZ0OjY2LjY2NjY2NjY3JX0uY29sLXhzLXB1c2gtN3tsZWZ0OjU4LjMzMzMzMzMzJX0uY29sLXhzLXB1c2gtNntsZWZ0OjUwJX0uY29sLXhzLXB1c2gtNXtsZWZ0OjQxLjY2NjY2NjY3JX0uY29sLXhzLXB1c2gtNHtsZWZ0OjMzLjMzMzMzMzMzJX0uY29sLXhzLXB1c2gtM3tsZWZ0OjI1JX0uY29sLXhzLXB1c2gtMntsZWZ0OjE2LjY2NjY2NjY3JX0uY29sLXhzLXB1c2gtMXtsZWZ0OjguMzMzMzMzMzMlfS5jb2wteHMtcHVzaC0we2xlZnQ6YXV0b30uY29sLXhzLW9mZnNldC0xMnttYXJnaW4tbGVmdDoxMDAlfS5jb2wteHMtb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY3JX0uY29sLXhzLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMyV9LmNvbC14cy1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmNvbC14cy1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NyV9LmNvbC14cy1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMyV9LmNvbC14cy1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmNvbC14cy1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NyV9LmNvbC14cy1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMyV9LmNvbC14cy1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmNvbC14cy1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NyV9LmNvbC14cy1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzJX0uY29sLXhzLW9mZnNldC0we21hcmdpbi1sZWZ0OjB9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb2wtc20tMSwuY29sLXNtLTEwLC5jb2wtc20tMTEsLmNvbC1zbS0xMiwuY29sLXNtLTIsLmNvbC1zbS0zLC5jb2wtc20tNCwuY29sLXNtLTUsLmNvbC1zbS02LC5jb2wtc20tNywuY29sLXNtLTgsLmNvbC1zbS05e2Zsb2F0OmxlZnR9LmNvbC1zbS0xMnt3aWR0aDoxMDAlfS5jb2wtc20tMTF7d2lkdGg6OTEuNjY2NjY2NjclfS5jb2wtc20tMTB7d2lkdGg6ODMuMzMzMzMzMzMlfS5jb2wtc20tOXt3aWR0aDo3NSV9LmNvbC1zbS04e3dpZHRoOjY2LjY2NjY2NjY3JX0uY29sLXNtLTd7d2lkdGg6NTguMzMzMzMzMzMlfS5jb2wtc20tNnt3aWR0aDo1MCV9LmNvbC1zbS01e3dpZHRoOjQxLjY2NjY2NjY3JX0uY29sLXNtLTR7d2lkdGg6MzMuMzMzMzMzMzMlfS5jb2wtc20tM3t3aWR0aDoyNSV9LmNvbC1zbS0ye3dpZHRoOjE2LjY2NjY2NjY3JX0uY29sLXNtLTF7d2lkdGg6OC4zMzMzMzMzMyV9LmNvbC1zbS1wdWxsLTEye3JpZ2h0OjEwMCV9LmNvbC1zbS1wdWxsLTExe3JpZ2h0OjkxLjY2NjY2NjY3JX0uY29sLXNtLXB1bGwtMTB7cmlnaHQ6ODMuMzMzMzMzMzMlfS5jb2wtc20tcHVsbC05e3JpZ2h0Ojc1JX0uY29sLXNtLXB1bGwtOHtyaWdodDo2Ni42NjY2NjY2NyV9LmNvbC1zbS1wdWxsLTd7cmlnaHQ6NTguMzMzMzMzMzMlfS5jb2wtc20tcHVsbC02e3JpZ2h0OjUwJX0uY29sLXNtLXB1bGwtNXtyaWdodDo0MS42NjY2NjY2NyV9LmNvbC1zbS1wdWxsLTR7cmlnaHQ6MzMuMzMzMzMzMzMlfS5jb2wtc20tcHVsbC0ze3JpZ2h0OjI1JX0uY29sLXNtLXB1bGwtMntyaWdodDoxNi42NjY2NjY2NyV9LmNvbC1zbS1wdWxsLTF7cmlnaHQ6OC4zMzMzMzMzMyV9LmNvbC1zbS1wdWxsLTB7cmlnaHQ6YXV0b30uY29sLXNtLXB1c2gtMTJ7bGVmdDoxMDAlfS5jb2wtc20tcHVzaC0xMXtsZWZ0OjkxLjY2NjY2NjY3JX0uY29sLXNtLXB1c2gtMTB7bGVmdDo4My4zMzMzMzMzMyV9LmNvbC1zbS1wdXNoLTl7bGVmdDo3NSV9LmNvbC1zbS1wdXNoLTh7bGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1zbS1wdXNoLTd7bGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1zbS1wdXNoLTZ7bGVmdDo1MCV9LmNvbC1zbS1wdXNoLTV7bGVmdDo0MS42NjY2NjY2NyV9LmNvbC1zbS1wdXNoLTR7bGVmdDozMy4zMzMzMzMzMyV9LmNvbC1zbS1wdXNoLTN7bGVmdDoyNSV9LmNvbC1zbS1wdXNoLTJ7bGVmdDoxNi42NjY2NjY2NyV9LmNvbC1zbS1wdXNoLTF7bGVmdDo4LjMzMzMzMzMzJX0uY29sLXNtLXB1c2gtMHtsZWZ0OmF1dG99LmNvbC1zbS1vZmZzZXQtMTJ7bWFyZ2luLWxlZnQ6MTAwJX0uY29sLXNtLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NyV9LmNvbC1zbS1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtc20tb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5jb2wtc20tb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjclfS5jb2wtc20tb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMlfS5jb2wtc20tb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5jb2wtc20tb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjclfS5jb2wtc20tb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtc20tb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5jb2wtc20tb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjclfS5jb2wtc20tb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMyV9LmNvbC1zbS1vZmZzZXQtMHttYXJnaW4tbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbC1tZC0xLC5jb2wtbWQtMTAsLmNvbC1tZC0xMSwuY29sLW1kLTEyLC5jb2wtbWQtMiwuY29sLW1kLTMsLmNvbC1tZC00LC5jb2wtbWQtNSwuY29sLW1kLTYsLmNvbC1tZC03LC5jb2wtbWQtOCwuY29sLW1kLTl7ZmxvYXQ6bGVmdH0uY29sLW1kLTEye3dpZHRoOjEwMCV9LmNvbC1tZC0xMXt3aWR0aDo5MS42NjY2NjY2NyV9LmNvbC1tZC0xMHt3aWR0aDo4My4zMzMzMzMzMyV9LmNvbC1tZC05e3dpZHRoOjc1JX0uY29sLW1kLTh7d2lkdGg6NjYuNjY2NjY2NjclfS5jb2wtbWQtN3t3aWR0aDo1OC4zMzMzMzMzMyV9LmNvbC1tZC02e3dpZHRoOjUwJX0uY29sLW1kLTV7d2lkdGg6NDEuNjY2NjY2NjclfS5jb2wtbWQtNHt3aWR0aDozMy4zMzMzMzMzMyV9LmNvbC1tZC0ze3dpZHRoOjI1JX0uY29sLW1kLTJ7d2lkdGg6MTYuNjY2NjY2NjclfS5jb2wtbWQtMXt3aWR0aDo4LjMzMzMzMzMzJX0uY29sLW1kLXB1bGwtMTJ7cmlnaHQ6MTAwJX0uY29sLW1kLXB1bGwtMTF7cmlnaHQ6OTEuNjY2NjY2NjclfS5jb2wtbWQtcHVsbC0xMHtyaWdodDo4My4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTl7cmlnaHQ6NzUlfS5jb2wtbWQtcHVsbC04e3JpZ2h0OjY2LjY2NjY2NjY3JX0uY29sLW1kLXB1bGwtN3tyaWdodDo1OC4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTZ7cmlnaHQ6NTAlfS5jb2wtbWQtcHVsbC01e3JpZ2h0OjQxLjY2NjY2NjY3JX0uY29sLW1kLXB1bGwtNHtyaWdodDozMy4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTN7cmlnaHQ6MjUlfS5jb2wtbWQtcHVsbC0ye3JpZ2h0OjE2LjY2NjY2NjY3JX0uY29sLW1kLXB1bGwtMXtyaWdodDo4LjMzMzMzMzMzJX0uY29sLW1kLXB1bGwtMHtyaWdodDphdXRvfS5jb2wtbWQtcHVzaC0xMntsZWZ0OjEwMCV9LmNvbC1tZC1wdXNoLTExe2xlZnQ6OTEuNjY2NjY2NjclfS5jb2wtbWQtcHVzaC0xMHtsZWZ0OjgzLjMzMzMzMzMzJX0uY29sLW1kLXB1c2gtOXtsZWZ0Ojc1JX0uY29sLW1kLXB1c2gtOHtsZWZ0OjY2LjY2NjY2NjY3JX0uY29sLW1kLXB1c2gtN3tsZWZ0OjU4LjMzMzMzMzMzJX0uY29sLW1kLXB1c2gtNntsZWZ0OjUwJX0uY29sLW1kLXB1c2gtNXtsZWZ0OjQxLjY2NjY2NjY3JX0uY29sLW1kLXB1c2gtNHtsZWZ0OjMzLjMzMzMzMzMzJX0uY29sLW1kLXB1c2gtM3tsZWZ0OjI1JX0uY29sLW1kLXB1c2gtMntsZWZ0OjE2LjY2NjY2NjY3JX0uY29sLW1kLXB1c2gtMXtsZWZ0OjguMzMzMzMzMzMlfS5jb2wtbWQtcHVzaC0we2xlZnQ6YXV0b30uY29sLW1kLW9mZnNldC0xMnttYXJnaW4tbGVmdDoxMDAlfS5jb2wtbWQtb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY3JX0uY29sLW1kLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMyV9LmNvbC1tZC1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmNvbC1tZC1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1tZC1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1tZC1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmNvbC1tZC1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NyV9LmNvbC1tZC1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMyV9LmNvbC1tZC1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmNvbC1tZC1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NyV9LmNvbC1tZC1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzJX0uY29sLW1kLW9mZnNldC0we21hcmdpbi1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmNvbC1sZy0xLC5jb2wtbGctMTAsLmNvbC1sZy0xMSwuY29sLWxnLTEyLC5jb2wtbGctMiwuY29sLWxnLTMsLmNvbC1sZy00LC5jb2wtbGctNSwuY29sLWxnLTYsLmNvbC1sZy03LC5jb2wtbGctOCwuY29sLWxnLTl7ZmxvYXQ6bGVmdH0uY29sLWxnLTEye3dpZHRoOjEwMCV9LmNvbC1sZy0xMXt3aWR0aDo5MS42NjY2NjY2NyV9LmNvbC1sZy0xMHt3aWR0aDo4My4zMzMzMzMzMyV9LmNvbC1sZy05e3dpZHRoOjc1JX0uY29sLWxnLTh7d2lkdGg6NjYuNjY2NjY2NjclfS5jb2wtbGctN3t3aWR0aDo1OC4zMzMzMzMzMyV9LmNvbC1sZy02e3dpZHRoOjUwJX0uY29sLWxnLTV7d2lkdGg6NDEuNjY2NjY2NjclfS5jb2wtbGctNHt3aWR0aDozMy4zMzMzMzMzMyV9LmNvbC1sZy0ze3dpZHRoOjI1JX0uY29sLWxnLTJ7d2lkdGg6MTYuNjY2NjY2NjclfS5jb2wtbGctMXt3aWR0aDo4LjMzMzMzMzMzJX0uY29sLWxnLXB1bGwtMTJ7cmlnaHQ6MTAwJX0uY29sLWxnLXB1bGwtMTF7cmlnaHQ6OTEuNjY2NjY2NjclfS5jb2wtbGctcHVsbC0xMHtyaWdodDo4My4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTl7cmlnaHQ6NzUlfS5jb2wtbGctcHVsbC04e3JpZ2h0OjY2LjY2NjY2NjY3JX0uY29sLWxnLXB1bGwtN3tyaWdodDo1OC4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTZ7cmlnaHQ6NTAlfS5jb2wtbGctcHVsbC01e3JpZ2h0OjQxLjY2NjY2NjY3JX0uY29sLWxnLXB1bGwtNHtyaWdodDozMy4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTN7cmlnaHQ6MjUlfS5jb2wtbGctcHVsbC0ye3JpZ2h0OjE2LjY2NjY2NjY3JX0uY29sLWxnLXB1bGwtMXtyaWdodDo4LjMzMzMzMzMzJX0uY29sLWxnLXB1bGwtMHtyaWdodDphdXRvfS5jb2wtbGctcHVzaC0xMntsZWZ0OjEwMCV9LmNvbC1sZy1wdXNoLTExe2xlZnQ6OTEuNjY2NjY2NjclfS5jb2wtbGctcHVzaC0xMHtsZWZ0OjgzLjMzMzMzMzMzJX0uY29sLWxnLXB1c2gtOXtsZWZ0Ojc1JX0uY29sLWxnLXB1c2gtOHtsZWZ0OjY2LjY2NjY2NjY3JX0uY29sLWxnLXB1c2gtN3tsZWZ0OjU4LjMzMzMzMzMzJX0uY29sLWxnLXB1c2gtNntsZWZ0OjUwJX0uY29sLWxnLXB1c2gtNXtsZWZ0OjQxLjY2NjY2NjY3JX0uY29sLWxnLXB1c2gtNHtsZWZ0OjMzLjMzMzMzMzMzJX0uY29sLWxnLXB1c2gtM3tsZWZ0OjI1JX0uY29sLWxnLXB1c2gtMntsZWZ0OjE2LjY2NjY2NjY3JX0uY29sLWxnLXB1c2gtMXtsZWZ0OjguMzMzMzMzMzMlfS5jb2wtbGctcHVzaC0we2xlZnQ6YXV0b30uY29sLWxnLW9mZnNldC0xMnttYXJnaW4tbGVmdDoxMDAlfS5jb2wtbGctb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY3JX0uY29sLWxnLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMyV9LmNvbC1sZy1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmNvbC1sZy1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1sZy1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1sZy1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmNvbC1sZy1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NyV9LmNvbC1sZy1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMyV9LmNvbC1sZy1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmNvbC1sZy1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NyV9LmNvbC1sZy1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzJX0uY29sLWxnLW9mZnNldC0we21hcmdpbi1sZWZ0OjB9fXRhYmxle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Y2FwdGlvbntwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4O2NvbG9yOiM3Nzc7dGV4dC1hbGlnbjpsZWZ0fXRoe3RleHQtYWxpZ246bGVmdH0udGFibGV7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjIwcHh9LnRhYmxlPnRib2R5PnRyPnRkLC50YWJsZT50Ym9keT50cj50aCwudGFibGU+dGZvb3Q+dHI+dGQsLnRhYmxlPnRmb290PnRyPnRoLC50YWJsZT50aGVhZD50cj50ZCwudGFibGU+dGhlYWQ+dHI+dGh7cGFkZGluZzo4cHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZH0udGFibGU+dGhlYWQ+dHI+dGh7dmVydGljYWwtYWxpZ246Ym90dG9tO2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNkZGR9LnRhYmxlPmNhcHRpb24rdGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGQsLnRhYmxlPmNhcHRpb24rdGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGgsLnRhYmxlPmNvbGdyb3VwK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC50YWJsZT5jb2xncm91cCt0aGVhZD50cjpmaXJzdC1jaGlsZD50aCwudGFibGU+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQ+dGQsLnRhYmxlPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkPnRoe2JvcmRlci10b3A6MH0udGFibGU+dGJvZHkrdGJvZHl7Ym9yZGVyLXRvcDoycHggc29saWQgI2RkZH0udGFibGUgLnRhYmxle2JhY2tncm91bmQtY29sb3I6I2ZmZn0udGFibGUtY29uZGVuc2VkPnRib2R5PnRyPnRkLC50YWJsZS1jb25kZW5zZWQ+dGJvZHk+dHI+dGgsLnRhYmxlLWNvbmRlbnNlZD50Zm9vdD50cj50ZCwudGFibGUtY29uZGVuc2VkPnRmb290PnRyPnRoLC50YWJsZS1jb25kZW5zZWQ+dGhlYWQ+dHI+dGQsLnRhYmxlLWNvbmRlbnNlZD50aGVhZD50cj50aHtwYWRkaW5nOjVweH0udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZCwudGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGgsLnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkLC50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aCwudGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQsLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoe2JvcmRlcjoxcHggc29saWQgI2RkZH0udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQsLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoe2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS50YWJsZS1zdHJpcGVkPnRib2R5PnRyOm50aC1vZi10eXBlKG9kZCl7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5fS50YWJsZS1ob3Zlcj50Ym9keT50cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9dGFibGUgY29sW2NsYXNzKj1jb2wtXXtwb3NpdGlvbjpzdGF0aWM7ZGlzcGxheTp0YWJsZS1jb2x1bW47ZmxvYXQ6bm9uZX10YWJsZSB0ZFtjbGFzcyo9Y29sLV0sdGFibGUgdGhbY2xhc3MqPWNvbC1de3Bvc2l0aW9uOnN0YXRpYztkaXNwbGF5OnRhYmxlLWNlbGw7ZmxvYXQ6bm9uZX0udGFibGU+dGJvZHk+dHIuYWN0aXZlPnRkLC50YWJsZT50Ym9keT50ci5hY3RpdmU+dGgsLnRhYmxlPnRib2R5PnRyPnRkLmFjdGl2ZSwudGFibGU+dGJvZHk+dHI+dGguYWN0aXZlLC50YWJsZT50Zm9vdD50ci5hY3RpdmU+dGQsLnRhYmxlPnRmb290PnRyLmFjdGl2ZT50aCwudGFibGU+dGZvb3Q+dHI+dGQuYWN0aXZlLC50YWJsZT50Zm9vdD50cj50aC5hY3RpdmUsLnRhYmxlPnRoZWFkPnRyLmFjdGl2ZT50ZCwudGFibGU+dGhlYWQ+dHIuYWN0aXZlPnRoLC50YWJsZT50aGVhZD50cj50ZC5hY3RpdmUsLnRhYmxlPnRoZWFkPnRyPnRoLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9LnRhYmxlLWhvdmVyPnRib2R5PnRyLmFjdGl2ZTpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIuYWN0aXZlOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4uYWN0aXZlLC50YWJsZS1ob3Zlcj50Ym9keT50cj50ZC5hY3RpdmU6aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTh9LnRhYmxlPnRib2R5PnRyLnN1Y2Nlc3M+dGQsLnRhYmxlPnRib2R5PnRyLnN1Y2Nlc3M+dGgsLnRhYmxlPnRib2R5PnRyPnRkLnN1Y2Nlc3MsLnRhYmxlPnRib2R5PnRyPnRoLnN1Y2Nlc3MsLnRhYmxlPnRmb290PnRyLnN1Y2Nlc3M+dGQsLnRhYmxlPnRmb290PnRyLnN1Y2Nlc3M+dGgsLnRhYmxlPnRmb290PnRyPnRkLnN1Y2Nlc3MsLnRhYmxlPnRmb290PnRyPnRoLnN1Y2Nlc3MsLnRhYmxlPnRoZWFkPnRyLnN1Y2Nlc3M+dGQsLnRhYmxlPnRoZWFkPnRyLnN1Y2Nlc3M+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLnN1Y2Nlc3MsLnRhYmxlPnRoZWFkPnRyPnRoLnN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4fS50YWJsZS1ob3Zlcj50Ym9keT50ci5zdWNjZXNzOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci5zdWNjZXNzOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4uc3VjY2VzcywudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQuc3VjY2Vzczpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGguc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkMGU5YzZ9LnRhYmxlPnRib2R5PnRyLmluZm8+dGQsLnRhYmxlPnRib2R5PnRyLmluZm8+dGgsLnRhYmxlPnRib2R5PnRyPnRkLmluZm8sLnRhYmxlPnRib2R5PnRyPnRoLmluZm8sLnRhYmxlPnRmb290PnRyLmluZm8+dGQsLnRhYmxlPnRmb290PnRyLmluZm8+dGgsLnRhYmxlPnRmb290PnRyPnRkLmluZm8sLnRhYmxlPnRmb290PnRyPnRoLmluZm8sLnRhYmxlPnRoZWFkPnRyLmluZm8+dGQsLnRhYmxlPnRoZWFkPnRyLmluZm8+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLmluZm8sLnRhYmxlPnRoZWFkPnRyPnRoLmluZm97YmFja2dyb3VuZC1jb2xvcjojZDllZGY3fS50YWJsZS1ob3Zlcj50Ym9keT50ci5pbmZvOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci5pbmZvOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4uaW5mbywudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQuaW5mbzpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGguaW5mbzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjNGUzZjN9LnRhYmxlPnRib2R5PnRyLndhcm5pbmc+dGQsLnRhYmxlPnRib2R5PnRyLndhcm5pbmc+dGgsLnRhYmxlPnRib2R5PnRyPnRkLndhcm5pbmcsLnRhYmxlPnRib2R5PnRyPnRoLndhcm5pbmcsLnRhYmxlPnRmb290PnRyLndhcm5pbmc+dGQsLnRhYmxlPnRmb290PnRyLndhcm5pbmc+dGgsLnRhYmxlPnRmb290PnRyPnRkLndhcm5pbmcsLnRhYmxlPnRmb290PnRyPnRoLndhcm5pbmcsLnRhYmxlPnRoZWFkPnRyLndhcm5pbmc+dGQsLnRhYmxlPnRoZWFkPnRyLndhcm5pbmc+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLndhcm5pbmcsLnRhYmxlPnRoZWFkPnRyPnRoLndhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzfS50YWJsZS1ob3Zlcj50Ym9keT50ci53YXJuaW5nOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci53YXJuaW5nOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4ud2FybmluZywudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQud2FybmluZzpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGgud2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmYWYyY2N9LnRhYmxlPnRib2R5PnRyLmRhbmdlcj50ZCwudGFibGU+dGJvZHk+dHIuZGFuZ2VyPnRoLC50YWJsZT50Ym9keT50cj50ZC5kYW5nZXIsLnRhYmxlPnRib2R5PnRyPnRoLmRhbmdlciwudGFibGU+dGZvb3Q+dHIuZGFuZ2VyPnRkLC50YWJsZT50Zm9vdD50ci5kYW5nZXI+dGgsLnRhYmxlPnRmb290PnRyPnRkLmRhbmdlciwudGFibGU+dGZvb3Q+dHI+dGguZGFuZ2VyLC50YWJsZT50aGVhZD50ci5kYW5nZXI+dGQsLnRhYmxlPnRoZWFkPnRyLmRhbmdlcj50aCwudGFibGU+dGhlYWQ+dHI+dGQuZGFuZ2VyLC50YWJsZT50aGVhZD50cj50aC5kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlfS50YWJsZS1ob3Zlcj50Ym9keT50ci5kYW5nZXI6aG92ZXI+dGQsLnRhYmxlLWhvdmVyPnRib2R5PnRyLmRhbmdlcjpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+LmRhbmdlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQuZGFuZ2VyOmhvdmVyLC50YWJsZS1ob3Zlcj50Ym9keT50cj50aC5kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWJjY2NjfS50YWJsZS1yZXNwb25zaXZle21pbi1oZWlnaHQ6LjAxJTtvdmVyZmxvdy14OmF1dG99QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7LnRhYmxlLXJlc3BvbnNpdmV7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjE1cHg7b3ZlcmZsb3cteTpoaWRkZW47LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtib3JkZXI6MXB4IHNvbGlkICNkZGR9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxle21hcmdpbi1ib3R0b206MH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGJvZHk+dHI+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRib2R5PnRyPnRoLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50Zm9vdD50cj50ZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGZvb3Q+dHI+dGgsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRoZWFkPnRyPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50aGVhZD50cj50aHt3aGl0ZS1zcGFjZTpub3dyYXB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpmaXJzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkOmZpcnN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpmaXJzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoOmZpcnN0LWNoaWxke2JvcmRlci1sZWZ0OjB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoOmxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGgsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGh7Ym9yZGVyLWJvdHRvbTowfX1maWVsZHNldHttaW4td2lkdGg6MDtwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjB9bGVnZW5ke2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtwYWRkaW5nOjA7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6IzMzMztib3JkZXI6MDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTVlNWU1fWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO21hcmdpbi1ib3R0b206NXB4O2ZvbnQtd2VpZ2h0OjcwMH1pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fWlucHV0W3R5cGU9Y2hlY2tib3hdLGlucHV0W3R5cGU9cmFkaW9de21hcmdpbjo0cHggMCAwO21hcmdpbi10b3A6MXB4XDk7bGluZS1oZWlnaHQ6bm9ybWFsfWlucHV0W3R5cGU9ZmlsZV17ZGlzcGxheTpibG9ja31pbnB1dFt0eXBlPXJhbmdlXXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9c2VsZWN0W211bHRpcGxlXSxzZWxlY3Rbc2l6ZV17aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1maWxlXTpmb2N1cyxpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyxpbnB1dFt0eXBlPXJhZGlvXTpmb2N1c3tvdXRsaW5lOnRoaW4gZG90dGVkO291dGxpbmU6NXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHh9b3V0cHV0e2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6N3B4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzU1NX0uZm9ybS1jb250cm9se2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MzRweDtwYWRkaW5nOjZweCAxMnB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzU1NTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsLXdlYmtpdC1ib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7LW8tdHJhbnNpdGlvbjpib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXN9LmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6IzY2YWZlOTtvdXRsaW5lOjA7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA4cHggcmdiYSgxMDIsMTc1LDIzMywuNik7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgOHB4IHJnYmEoMTAyLDE3NSwyMzMsLjYpfS5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6Izk5OTtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6Izk5OX0uZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9LmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldLGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9se2JhY2tncm91bmQtY29sb3I6I2VlZTtvcGFjaXR5OjF9LmZvcm0tY29udHJvbFtkaXNhYmxlZF0sZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2x7Y3Vyc29yOm5vdC1hbGxvd2VkfXRleHRhcmVhLmZvcm0tY29udHJvbHtoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKXtpbnB1dFt0eXBlPWRhdGVdLmZvcm0tY29udHJvbCxpbnB1dFt0eXBlPXRpbWVdLmZvcm0tY29udHJvbCxpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT1tb250aF0uZm9ybS1jb250cm9se2xpbmUtaGVpZ2h0OjM0cHh9LmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9ZGF0ZV0sLmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9dGltZV0sLmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPW1vbnRoXSxpbnB1dFt0eXBlPWRhdGVdLmlucHV0LXNtLGlucHV0W3R5cGU9dGltZV0uaW5wdXQtc20saW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uaW5wdXQtc20saW5wdXRbdHlwZT1tb250aF0uaW5wdXQtc217bGluZS1oZWlnaHQ6MzBweH0uaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT1kYXRlXSwuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT10aW1lXSwuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9bW9udGhdLGlucHV0W3R5cGU9ZGF0ZV0uaW5wdXQtbGcsaW5wdXRbdHlwZT10aW1lXS5pbnB1dC1sZyxpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXS5pbnB1dC1sZyxpbnB1dFt0eXBlPW1vbnRoXS5pbnB1dC1sZ3tsaW5lLWhlaWdodDo0NnB4fX0uZm9ybS1ncm91cHttYXJnaW4tYm90dG9tOjE1cHh9LmNoZWNrYm94LC5yYWRpb3twb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjEwcHh9LmNoZWNrYm94IGxhYmVsLC5yYWRpbyBsYWJlbHttaW4taGVpZ2h0OjIwcHg7cGFkZGluZy1sZWZ0OjIwcHg7bWFyZ2luLWJvdHRvbTowO2ZvbnQtd2VpZ2h0OjQwMDtjdXJzb3I6cG9pbnRlcn0uY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSwucmFkaW8gaW5wdXRbdHlwZT1yYWRpb10sLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXXtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tdG9wOjRweFw5O21hcmdpbi1sZWZ0Oi0yMHB4fS5jaGVja2JveCsuY2hlY2tib3gsLnJhZGlvKy5yYWRpb3ttYXJnaW4tdG9wOi01cHh9LmNoZWNrYm94LWlubGluZSwucmFkaW8taW5saW5le3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDoyMHB4O21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo0MDA7dmVydGljYWwtYWxpZ246bWlkZGxlO2N1cnNvcjpwb2ludGVyfS5jaGVja2JveC1pbmxpbmUrLmNoZWNrYm94LWlubGluZSwucmFkaW8taW5saW5lKy5yYWRpby1pbmxpbmV7bWFyZ2luLXRvcDowO21hcmdpbi1sZWZ0OjEwcHh9ZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9Y2hlY2tib3hdLGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPXJhZGlvXSxpbnB1dFt0eXBlPWNoZWNrYm94XS5kaXNhYmxlZCxpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0saW5wdXRbdHlwZT1yYWRpb10uZGlzYWJsZWQsaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRde2N1cnNvcjpub3QtYWxsb3dlZH0uY2hlY2tib3gtaW5saW5lLmRpc2FibGVkLC5yYWRpby1pbmxpbmUuZGlzYWJsZWQsZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveC1pbmxpbmUsZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpby1pbmxpbmV7Y3Vyc29yOm5vdC1hbGxvd2VkfS5jaGVja2JveC5kaXNhYmxlZCBsYWJlbCwucmFkaW8uZGlzYWJsZWQgbGFiZWwsZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveCBsYWJlbCxmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVse2N1cnNvcjpub3QtYWxsb3dlZH0uZm9ybS1jb250cm9sLXN0YXRpY3ttaW4taGVpZ2h0OjM0cHg7cGFkZGluZy10b3A6N3B4O3BhZGRpbmctYm90dG9tOjdweDttYXJnaW4tYm90dG9tOjB9LmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtbGcsLmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtc217cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5pbnB1dC1zbXtoZWlnaHQ6MzBweDtwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOjNweH1zZWxlY3QuaW5wdXQtc217aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweH1zZWxlY3RbbXVsdGlwbGVdLmlucHV0LXNtLHRleHRhcmVhLmlucHV0LXNte2hlaWdodDphdXRvfS5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2x7aGVpZ2h0OjMwcHg7cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9LmZvcm0tZ3JvdXAtc20gc2VsZWN0LmZvcm0tY29udHJvbHtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4fS5mb3JtLWdyb3VwLXNtIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sLC5mb3JtLWdyb3VwLXNtIHRleHRhcmVhLmZvcm0tY29udHJvbHtoZWlnaHQ6YXV0b30uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN0YXRpY3toZWlnaHQ6MzBweDttaW4taGVpZ2h0OjMycHg7cGFkZGluZzo2cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjV9LmlucHV0LWxne2hlaWdodDo0NnB4O3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjEuMzMzMzMzMztib3JkZXItcmFkaXVzOjZweH1zZWxlY3QuaW5wdXQtbGd7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweH1zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWxnLHRleHRhcmVhLmlucHV0LWxne2hlaWdodDphdXRvfS5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2x7aGVpZ2h0OjQ2cHg7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO2JvcmRlci1yYWRpdXM6NnB4fS5mb3JtLWdyb3VwLWxnIHNlbGVjdC5mb3JtLWNvbnRyb2x7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweH0uZm9ybS1ncm91cC1sZyBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCwuZm9ybS1ncm91cC1sZyB0ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99LmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdGF0aWN7aGVpZ2h0OjQ2cHg7bWluLWhlaWdodDozOHB4O3BhZGRpbmc6MTFweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjEuMzMzMzMzM30uaGFzLWZlZWRiYWNre3Bvc2l0aW9uOnJlbGF0aXZlfS5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbHtwYWRkaW5nLXJpZ2h0OjQyLjVweH0uZm9ybS1jb250cm9sLWZlZWRiYWNre3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7ei1pbmRleDoyO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MzRweDtoZWlnaHQ6MzRweDtsaW5lLWhlaWdodDozNHB4O3RleHQtYWxpZ246Y2VudGVyO3BvaW50ZXItZXZlbnRzOm5vbmV9LmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCsuZm9ybS1jb250cm9sLWZlZWRiYWNrLC5pbnB1dC1ncm91cC1sZysuZm9ybS1jb250cm9sLWZlZWRiYWNrLC5pbnB1dC1sZysuZm9ybS1jb250cm9sLWZlZWRiYWNre3dpZHRoOjQ2cHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweH0uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sKy5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssLmlucHV0LWdyb3VwLXNtKy5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssLmlucHV0LXNtKy5mb3JtLWNvbnRyb2wtZmVlZGJhY2t7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4fS5oYXMtc3VjY2VzcyAuY2hlY2tib3gsLmhhcy1zdWNjZXNzIC5jaGVja2JveC1pbmxpbmUsLmhhcy1zdWNjZXNzIC5jb250cm9sLWxhYmVsLC5oYXMtc3VjY2VzcyAuaGVscC1ibG9jaywuaGFzLXN1Y2Nlc3MgLnJhZGlvLC5oYXMtc3VjY2VzcyAucmFkaW8taW5saW5lLC5oYXMtc3VjY2Vzcy5jaGVja2JveCBsYWJlbCwuaGFzLXN1Y2Nlc3MuY2hlY2tib3gtaW5saW5lIGxhYmVsLC5oYXMtc3VjY2Vzcy5yYWRpbyBsYWJlbCwuaGFzLXN1Y2Nlc3MucmFkaW8taW5saW5lIGxhYmVse2NvbG9yOiMzYzc2M2R9Lmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiMzYzc2M2Q7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9Lmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMyYjU0MmM7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggIzY3YjE2ODtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggIzY3YjE2OH0uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9ue2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4O2JvcmRlci1jb2xvcjojM2M3NjNkfS5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWZlZWRiYWNre2NvbG9yOiMzYzc2M2R9Lmhhcy13YXJuaW5nIC5jaGVja2JveCwuaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSwuaGFzLXdhcm5pbmcgLmNvbnRyb2wtbGFiZWwsLmhhcy13YXJuaW5nIC5oZWxwLWJsb2NrLC5oYXMtd2FybmluZyAucmFkaW8sLmhhcy13YXJuaW5nIC5yYWRpby1pbmxpbmUsLmhhcy13YXJuaW5nLmNoZWNrYm94IGxhYmVsLC5oYXMtd2FybmluZy5jaGVja2JveC1pbmxpbmUgbGFiZWwsLmhhcy13YXJuaW5nLnJhZGlvIGxhYmVsLC5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWx7Y29sb3I6IzhhNmQzYn0uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbHtib3JkZXItY29sb3I6IzhhNmQzYjstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KX0uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6IzY2NTEyYzstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjYzBhMTZiO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjYzBhMTZifS5oYXMtd2FybmluZyAuaW5wdXQtZ3JvdXAtYWRkb257Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTM7Ym9yZGVyLWNvbG9yOiM4YTZkM2J9Lmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2t7Y29sb3I6IzhhNmQzYn0uaGFzLWVycm9yIC5jaGVja2JveCwuaGFzLWVycm9yIC5jaGVja2JveC1pbmxpbmUsLmhhcy1lcnJvciAuY29udHJvbC1sYWJlbCwuaGFzLWVycm9yIC5oZWxwLWJsb2NrLC5oYXMtZXJyb3IgLnJhZGlvLC5oYXMtZXJyb3IgLnJhZGlvLWlubGluZSwuaGFzLWVycm9yLmNoZWNrYm94IGxhYmVsLC5oYXMtZXJyb3IuY2hlY2tib3gtaW5saW5lIGxhYmVsLC5oYXMtZXJyb3IucmFkaW8gbGFiZWwsLmhhcy1lcnJvci5yYWRpby1pbmxpbmUgbGFiZWx7Y29sb3I6I2E5NDQ0Mn0uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiNhOTQ0NDI7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9Lmhhcy1lcnJvciAuZm9ybS1jb250cm9sOmZvY3Vze2JvcmRlci1jb2xvcjojODQzNTM0Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICNjZTg0ODM7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICNjZTg0ODN9Lmhhcy1lcnJvciAuaW5wdXQtZ3JvdXAtYWRkb257Y29sb3I6I2E5NDQ0MjtiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNhOTQ0NDJ9Lmhhcy1lcnJvciAuZm9ybS1jb250cm9sLWZlZWRiYWNre2NvbG9yOiNhOTQ0NDJ9Lmhhcy1mZWVkYmFjayBsYWJlbH4uZm9ybS1jb250cm9sLWZlZWRiYWNre3RvcDoyNXB4fS5oYXMtZmVlZGJhY2sgbGFiZWwuc3Itb25seX4uZm9ybS1jb250cm9sLWZlZWRiYWNre3RvcDowfS5oZWxwLWJsb2Nre2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDo1cHg7bWFyZ2luLWJvdHRvbToxMHB4O2NvbG9yOiM3MzczNzN9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWlubGluZSAuZm9ybS1ncm91cHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9se2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXN0YXRpY3tkaXNwbGF5OmlubGluZS1ibG9ja30uZm9ybS1pbmxpbmUgLmlucHV0LWdyb3Vwe2Rpc3BsYXk6aW5saW5lLXRhYmxlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRue3dpZHRoOmF1dG99LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9se3dpZHRoOjEwMCV9LmZvcm0taW5saW5lIC5jb250cm9sLWxhYmVse21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvcm0taW5saW5lIC5jaGVja2JveCwuZm9ybS1pbmxpbmUgLnJhZGlve2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuY2hlY2tib3ggbGFiZWwsLmZvcm0taW5saW5lIC5yYWRpbyBsYWJlbHtwYWRkaW5nLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5mb3JtLWlubGluZSAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNre3RvcDowfX0uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCwuZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveC1pbmxpbmUsLmZvcm0taG9yaXpvbnRhbCAucmFkaW8sLmZvcm0taG9yaXpvbnRhbCAucmFkaW8taW5saW5le3BhZGRpbmctdG9wOjdweDttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWhvcml6b250YWwgLmNoZWNrYm94LC5mb3JtLWhvcml6b250YWwgLnJhZGlve21pbi1oZWlnaHQ6MjdweH0uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3Vwe21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tbGVmdDotMTVweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1sYWJlbHtwYWRkaW5nLXRvcDo3cHg7bWFyZ2luLWJvdHRvbTowO3RleHQtYWxpZ246cmlnaHR9fS5mb3JtLWhvcml6b250YWwgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNre3JpZ2h0OjE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtbGcgLmNvbnRyb2wtbGFiZWx7cGFkZGluZy10b3A6MTFweDtmb250LXNpemU6MThweH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtc20gLmNvbnRyb2wtbGFiZWx7cGFkZGluZy10b3A6NnB4O2ZvbnQtc2l6ZToxMnB4fX0uYnRue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6NnB4IDEycHg7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LW1zLXRvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHh9LmJ0bi5hY3RpdmUuZm9jdXMsLmJ0bi5hY3RpdmU6Zm9jdXMsLmJ0bi5mb2N1cywuYnRuOmFjdGl2ZS5mb2N1cywuYnRuOmFjdGl2ZTpmb2N1cywuYnRuOmZvY3Vze291dGxpbmU6dGhpbiBkb3R0ZWQ7b3V0bGluZTo1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7b3V0bGluZS1vZmZzZXQ6LTJweH0uYnRuLmZvY3VzLC5idG46Zm9jdXMsLmJ0bjpob3Zlcntjb2xvcjojMzMzO3RleHQtZGVjb3JhdGlvbjpub25lfS5idG4uYWN0aXZlLC5idG46YWN0aXZle2JhY2tncm91bmQtaW1hZ2U6bm9uZTtvdXRsaW5lOjA7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpO2JveC1zaGFkb3c6aW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSl9LmJ0bi5kaXNhYmxlZCwuYnRuW2Rpc2FibGVkXSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bntjdXJzb3I6bm90LWFsbG93ZWQ7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NjUpOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZTtvcGFjaXR5Oi42NX1hLmJ0bi5kaXNhYmxlZCxmaWVsZHNldFtkaXNhYmxlZF0gYS5idG57cG9pbnRlci1ldmVudHM6bm9uZX0uYnRuLWRlZmF1bHR7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNjY2N9LmJ0bi1kZWZhdWx0LmZvY3VzLC5idG4tZGVmYXVsdDpmb2N1c3tjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtib3JkZXItY29sb3I6IzhjOGM4Y30uYnRuLWRlZmF1bHQ6aG92ZXJ7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOiNhZGFkYWR9LmJ0bi1kZWZhdWx0LmFjdGl2ZSwuYnRuLWRlZmF1bHQ6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHR7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOiNhZGFkYWR9LmJ0bi1kZWZhdWx0LmFjdGl2ZS5mb2N1cywuYnRuLWRlZmF1bHQuYWN0aXZlOmZvY3VzLC5idG4tZGVmYXVsdC5hY3RpdmU6aG92ZXIsLmJ0bi1kZWZhdWx0OmFjdGl2ZS5mb2N1cywuYnRuLWRlZmF1bHQ6YWN0aXZlOmZvY3VzLC5idG4tZGVmYXVsdDphY3RpdmU6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQ6aG92ZXJ7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNkNGQ0ZDQ7Ym9yZGVyLWNvbG9yOiM4YzhjOGN9LmJ0bi1kZWZhdWx0LmFjdGl2ZSwuYnRuLWRlZmF1bHQ6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHR7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4tZGVmYXVsdC5kaXNhYmxlZC5mb2N1cywuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmhvdmVyLC5idG4tZGVmYXVsdFtkaXNhYmxlZF0uZm9jdXMsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpmb2N1cywuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2NjY30uYnRuLWRlZmF1bHQgLmJhZGdle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzMzfS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzJlNmRhNH0uYnRuLXByaW1hcnkuZm9jdXMsLmJ0bi1wcmltYXJ5OmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwO2JvcmRlci1jb2xvcjojMTIyYjQwfS5idG4tcHJpbWFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzIwNGQ3NH0uYnRuLXByaW1hcnkuYWN0aXZlLC5idG4tcHJpbWFyeTphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzIwNGQ3NH0uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsLmJ0bi1wcmltYXJ5LmFjdGl2ZTpob3ZlciwuYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsLmJ0bi1wcmltYXJ5OmFjdGl2ZTpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5LmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnk6Zm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIwNGQ3NDtib3JkZXItY29sb3I6IzEyMmI0MH0uYnRuLXByaW1hcnkuYWN0aXZlLC5idG4tcHJpbWFyeTphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeXtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLC5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywuYnRuLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXS5mb2N1cywuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLC5idG4tcHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMmU2ZGE0fS5idG4tcHJpbWFyeSAuYmFkZ2V7Y29sb3I6IzMzN2FiNztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi1zdWNjZXNze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNWNiODVjO2JvcmRlci1jb2xvcjojNGNhZTRjfS5idG4tc3VjY2Vzcy5mb2N1cywuYnRuLXN1Y2Nlc3M6Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0NDlkNDQ7Ym9yZGVyLWNvbG9yOiMyNTU2MjV9LmJ0bi1zdWNjZXNzOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNDQ5ZDQ0O2JvcmRlci1jb2xvcjojMzk4NDM5fS5idG4tc3VjY2Vzcy5hY3RpdmUsLmJ0bi1zdWNjZXNzOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNDQ5ZDQ0O2JvcmRlci1jb2xvcjojMzk4NDM5fS5idG4tc3VjY2Vzcy5hY3RpdmUuZm9jdXMsLmJ0bi1zdWNjZXNzLmFjdGl2ZTpmb2N1cywuYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLC5idG4tc3VjY2VzczphY3RpdmUuZm9jdXMsLmJ0bi1zdWNjZXNzOmFjdGl2ZTpmb2N1cywuYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3MuZm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzczpmb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzk4NDM5O2JvcmRlci1jb2xvcjojMjU1NjI1fS5idG4tc3VjY2Vzcy5hY3RpdmUsLmJ0bi1zdWNjZXNzOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNze2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLmZvY3VzLC5idG4tc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM1Y2I4NWM7Ym9yZGVyLWNvbG9yOiM0Y2FlNGN9LmJ0bi1zdWNjZXNzIC5iYWRnZXtjb2xvcjojNWNiODVjO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uYnRuLWluZm97Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGU7Ym9yZGVyLWNvbG9yOiM0NmI4ZGF9LmJ0bi1pbmZvLmZvY3VzLC5idG4taW5mbzpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMxYjBkNTtib3JkZXItY29sb3I6IzFiNmQ4NX0uYnRuLWluZm86aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMWIwZDU7Ym9yZGVyLWNvbG9yOiMyNjlhYmN9LmJ0bi1pbmZvLmFjdGl2ZSwuYnRuLWluZm86YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWluZm97Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMWIwZDU7Ym9yZGVyLWNvbG9yOiMyNjlhYmN9LmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywuYnRuLWluZm8uYWN0aXZlOmZvY3VzLC5idG4taW5mby5hY3RpdmU6aG92ZXIsLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywuYnRuLWluZm86YWN0aXZlOmZvY3VzLC5idG4taW5mbzphY3RpdmU6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mby5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWluZm86aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyNjlhYmM7Ym9yZGVyLWNvbG9yOiMxYjZkODV9LmJ0bi1pbmZvLmFjdGl2ZSwuYnRuLWluZm86YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWluZm97YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4taW5mby5kaXNhYmxlZC5mb2N1cywuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsLmJ0bi1pbmZvLmRpc2FibGVkOmhvdmVyLC5idG4taW5mb1tkaXNhYmxlZF0uZm9jdXMsLmJ0bi1pbmZvW2Rpc2FibGVkXTpmb2N1cywuYnRuLWluZm9bZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzViYzBkZTtib3JkZXItY29sb3I6IzQ2YjhkYX0uYnRuLWluZm8gLmJhZGdle2NvbG9yOiM1YmMwZGU7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4td2FybmluZ3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2YwYWQ0ZTtib3JkZXItY29sb3I6I2VlYTIzNn0uYnRuLXdhcm5pbmcuZm9jdXMsLmJ0bi13YXJuaW5nOmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZWM5NzFmO2JvcmRlci1jb2xvcjojOTg1ZjBkfS5idG4td2FybmluZzpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2VjOTcxZjtib3JkZXItY29sb3I6I2Q1ODUxMn0uYnRuLXdhcm5pbmcuYWN0aXZlLC5idG4td2FybmluZzphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZ3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2VjOTcxZjtib3JkZXItY29sb3I6I2Q1ODUxMn0uYnRuLXdhcm5pbmcuYWN0aXZlLmZvY3VzLC5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsLmJ0bi13YXJuaW5nLmFjdGl2ZTpob3ZlciwuYnRuLXdhcm5pbmc6YWN0aXZlLmZvY3VzLC5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsLmJ0bi13YXJuaW5nOmFjdGl2ZTpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nLmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmc6Zm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZzpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2Q1ODUxMjtib3JkZXItY29sb3I6Izk4NWYwZH0uYnRuLXdhcm5pbmcuYWN0aXZlLC5idG4td2FybmluZzphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZ3tiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLC5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cywuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsLmJ0bi13YXJuaW5nW2Rpc2FibGVkXS5mb2N1cywuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLC5idG4td2FybmluZ1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjBhZDRlO2JvcmRlci1jb2xvcjojZWVhMjM2fS5idG4td2FybmluZyAuYmFkZ2V7Y29sb3I6I2YwYWQ0ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi1kYW5nZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkOTUzNGY7Ym9yZGVyLWNvbG9yOiNkNDNmM2F9LmJ0bi1kYW5nZXIuZm9jdXMsLmJ0bi1kYW5nZXI6Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNjOTMwMmM7Ym9yZGVyLWNvbG9yOiM3NjFjMTl9LmJ0bi1kYW5nZXI6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNjOTMwMmM7Ym9yZGVyLWNvbG9yOiNhYzI5MjV9LmJ0bi1kYW5nZXIuYWN0aXZlLC5idG4tZGFuZ2VyOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNjOTMwMmM7Ym9yZGVyLWNvbG9yOiNhYzI5MjV9LmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLC5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cywuYnRuLWRhbmdlci5hY3RpdmU6aG92ZXIsLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLC5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywuYnRuLWRhbmdlcjphY3RpdmU6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyLmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlcjpmb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNhYzI5MjU7Ym9yZGVyLWNvbG9yOiM3NjFjMTl9LmJ0bi1kYW5nZXIuYWN0aXZlLC5idG4tZGFuZ2VyOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXJ7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLC5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLC5idG4tZGFuZ2VyLmRpc2FibGVkOmhvdmVyLC5idG4tZGFuZ2VyW2Rpc2FibGVkXS5mb2N1cywuYnRuLWRhbmdlcltkaXNhYmxlZF06Zm9jdXMsLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlci5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zjtib3JkZXItY29sb3I6I2Q0M2YzYX0uYnRuLWRhbmdlciAuYmFkZ2V7Y29sb3I6I2Q5NTM0ZjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi1saW5re2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojMzM3YWI3O2JvcmRlci1yYWRpdXM6MH0uYnRuLWxpbmssLmJ0bi1saW5rLmFjdGl2ZSwuYnRuLWxpbms6YWN0aXZlLC5idG4tbGlua1tkaXNhYmxlZF0sZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGlua3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uYnRuLWxpbmssLmJ0bi1saW5rOmFjdGl2ZSwuYnRuLWxpbms6Zm9jdXMsLmJ0bi1saW5rOmhvdmVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWxpbms6Zm9jdXMsLmJ0bi1saW5rOmhvdmVye2NvbG9yOiMyMzUyN2M7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbms6aG92ZXJ7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnRuLWdyb3VwLWxnPi5idG4sLmJ0bi1sZ3twYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzM7Ym9yZGVyLXJhZGl1czo2cHh9LmJ0bi1ncm91cC1zbT4uYnRuLC5idG4tc217cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9LmJ0bi1ncm91cC14cz4uYnRuLC5idG4teHN7cGFkZGluZzoxcHggNXB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOjNweH0uYnRuLWJsb2Nre2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0uYnRuLWJsb2NrKy5idG4tYmxvY2t7bWFyZ2luLXRvcDo1cHh9aW5wdXRbdHlwZT1idXR0b25dLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXJlc2V0XS5idG4tYmxvY2ssaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bi1ibG9ja3t3aWR0aDoxMDAlfS5mYWRle29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjstby10cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyfS5mYWRlLmlue29wYWNpdHk6MX0uY29sbGFwc2V7ZGlzcGxheTpub25lfS5jb2xsYXBzZS5pbntkaXNwbGF5OmJsb2NrfXRyLmNvbGxhcHNlLmlue2Rpc3BsYXk6dGFibGUtcm93fXRib2R5LmNvbGxhcHNlLmlue2Rpc3BsYXk6dGFibGUtcm93LWdyb3VwfS5jb2xsYXBzaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7LW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjM1czt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zNXM7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx2aXNpYmlsaXR5Oy1vLXRyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHZpc2liaWxpdHk7dHJhbnNpdGlvbi1wcm9wZXJ0eTpoZWlnaHQsdmlzaWJpbGl0eX0uY2FyZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlci10b3A6NHB4IGRhc2hlZDtib3JkZXItdG9wOjRweCBzb2xpZFw5O2JvcmRlci1yaWdodDo0cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50fS5kcm9wZG93biwuZHJvcHVwe3Bvc2l0aW9uOnJlbGF0aXZlfS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7b3V0bGluZTowfS5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MDt6LWluZGV4OjEwMDA7ZGlzcGxheTpub25lO2Zsb2F0OmxlZnQ7bWluLXdpZHRoOjE2MHB4O3BhZGRpbmc6NXB4IDA7bWFyZ2luOjJweCAwIDA7Zm9udC1zaXplOjE0cHg7dGV4dC1hbGlnbjpsZWZ0O2xpc3Qtc3R5bGU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6MCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpO2JveC1zaGFkb3c6MCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpfS5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99LmRyb3Bkb3duLW1lbnUgLmRpdmlkZXJ7aGVpZ2h0OjFweDttYXJnaW46OXB4IDA7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNX0uZHJvcGRvd24tbWVudT5saT5he2Rpc3BsYXk6YmxvY2s7cGFkZGluZzozcHggMjBweDtjbGVhcjpib3RoO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiMzMzM7d2hpdGUtc3BhY2U6bm93cmFwfS5kcm9wZG93bi1tZW51PmxpPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+bGk+YTpob3Zlcntjb2xvcjojMjYyNjI2O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNX0uZHJvcGRvd24tbWVudT4uYWN0aXZlPmEsLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmZvY3VzLC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztvdXRsaW5lOjB9LmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmEsLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6Izc3N30uZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpmb2N1cywuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6bm90LWFsbG93ZWQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKX0ub3Blbj4uZHJvcGRvd24tbWVudXtkaXNwbGF5OmJsb2NrfS5vcGVuPmF7b3V0bGluZTowfS5kcm9wZG93bi1tZW51LXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wZG93bi1tZW51LWxlZnR7cmlnaHQ6YXV0bztsZWZ0OjB9LmRyb3Bkb3duLWhlYWRlcntkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDIwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojNzc3O3doaXRlLXNwYWNlOm5vd3JhcH0uZHJvcGRvd24tYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDo5OTB9LnB1bGwtcmlnaHQ+LmRyb3Bkb3duLW1lbnV7cmlnaHQ6MDtsZWZ0OmF1dG99LmRyb3B1cCAuY2FyZXQsLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5jYXJldHtjb250ZW50OiIiO2JvcmRlci10b3A6MDtib3JkZXItYm90dG9tOjRweCBkYXNoZWQ7Ym9yZGVyLWJvdHRvbTo0cHggc29saWRcOX0uZHJvcHVwIC5kcm9wZG93bi1tZW51LC5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJTttYXJnaW4tYm90dG9tOjJweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudXtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyLXJpZ2h0IC5kcm9wZG93bi1tZW51LWxlZnR7cmlnaHQ6YXV0bztsZWZ0OjB9fS5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLC5idG4tZ3JvdXA+LmJ0bntwb3NpdGlvbjpyZWxhdGl2ZTtmbG9hdDpsZWZ0fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi5hY3RpdmUsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmFjdGl2ZSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46Zm9jdXMsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmhvdmVyLC5idG4tZ3JvdXA+LmJ0bi5hY3RpdmUsLmJ0bi1ncm91cD4uYnRuOmFjdGl2ZSwuYnRuLWdyb3VwPi5idG46Zm9jdXMsLmJ0bi1ncm91cD4uYnRuOmhvdmVye3otaW5kZXg6Mn0uYnRuLWdyb3VwIC5idG4rLmJ0biwuYnRuLWdyb3VwIC5idG4rLmJ0bi1ncm91cCwuYnRuLWdyb3VwIC5idG4tZ3JvdXArLmJ0biwuYnRuLWdyb3VwIC5idG4tZ3JvdXArLmJ0bi1ncm91cHttYXJnaW4tbGVmdDotMXB4fS5idG4tdG9vbGJhcnttYXJnaW4tbGVmdDotNXB4fS5idG4tdG9vbGJhciAuYnRuLC5idG4tdG9vbGJhciAuYnRuLWdyb3VwLC5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXB7ZmxvYXQ6bGVmdH0uYnRuLXRvb2xiYXI+LmJ0biwuYnRuLXRvb2xiYXI+LmJ0bi1ncm91cCwuYnRuLXRvb2xiYXI+LmlucHV0LWdyb3Vwe21hcmdpbi1sZWZ0OjVweH0uYnRuLWdyb3VwPi5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXA+LmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksLmJ0bi1ncm91cD4uZHJvcGRvd24tdG9nZ2xlOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuLWdyb3Vwe2Zsb2F0OmxlZnR9LmJ0bi1ncm91cD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk+LmJ0bntib3JkZXItcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk+LmJ0bjpsYXN0LWNoaWxkLC5idG4tZ3JvdXA+LmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpPi5kcm9wZG93bi10b2dnbGV7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uYnRuLWdyb3VwIC5kcm9wZG93bi10b2dnbGU6YWN0aXZlLC5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xle291dGxpbmU6MH0uYnRuLWdyb3VwPi5idG4rLmRyb3Bkb3duLXRvZ2dsZXtwYWRkaW5nLXJpZ2h0OjhweDtwYWRkaW5nLWxlZnQ6OHB4fS5idG4tZ3JvdXA+LmJ0bi1sZysuZHJvcGRvd24tdG9nZ2xle3BhZGRpbmctcmlnaHQ6MTJweDtwYWRkaW5nLWxlZnQ6MTJweH0uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSk7Ym94LXNoYWRvdzppbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KX0uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tbGlua3std2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9LmJ0biAuY2FyZXR7bWFyZ2luLWxlZnQ6MH0uYnRuLWxnIC5jYXJldHtib3JkZXItd2lkdGg6NXB4IDVweCAwO2JvcmRlci1ib3R0b20td2lkdGg6MH0uZHJvcHVwIC5idG4tbGcgLmNhcmV0e2JvcmRlci13aWR0aDowIDVweCA1cHh9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA+LmJ0bntkaXNwbGF5OmJsb2NrO2Zsb2F0Om5vbmU7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA+LmJ0bntmbG9hdDpub25lfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bisuYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bisuYnRuLWdyb3VwLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCsuYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCsuYnRuLWdyb3Vwe21hcmdpbi10b3A6LTFweDttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1yYWRpdXM6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpPi5idG57Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpPi5idG46bGFzdC1jaGlsZCwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKT4uZHJvcGRvd24tdG9nZ2xle2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmJ0bi1ncm91cC1qdXN0aWZpZWR7ZGlzcGxheTp0YWJsZTt3aWR0aDoxMDAlO3RhYmxlLWxheW91dDpmaXhlZDtib3JkZXItY29sbGFwc2U6c2VwYXJhdGV9LmJ0bi1ncm91cC1qdXN0aWZpZWQ+LmJ0biwuYnRuLWdyb3VwLWp1c3RpZmllZD4uYnRuLWdyb3Vwe2Rpc3BsYXk6dGFibGUtY2VsbDtmbG9hdDpub25lO3dpZHRoOjElfS5idG4tZ3JvdXAtanVzdGlmaWVkPi5idG4tZ3JvdXAgLmJ0bnt3aWR0aDoxMDAlfS5idG4tZ3JvdXAtanVzdGlmaWVkPi5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnV7bGVmdDphdXRvfVtkYXRhLXRvZ2dsZT1idXR0b25zXT4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLFtkYXRhLXRvZ2dsZT1idXR0b25zXT4uYnRuIGlucHV0W3R5cGU9cmFkaW9dLFtkYXRhLXRvZ2dsZT1idXR0b25zXT4uYnRuLWdyb3VwPi5idG4gaW5wdXRbdHlwZT1jaGVja2JveF0sW2RhdGEtdG9nZ2xlPWJ1dHRvbnNdPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXXtwb3NpdGlvbjphYnNvbHV0ZTtjbGlwOnJlY3QoMCwwLDAsMCk7cG9pbnRlci1ldmVudHM6bm9uZX0uaW5wdXQtZ3JvdXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTp0YWJsZTtib3JkZXItY29sbGFwc2U6c2VwYXJhdGV9LmlucHV0LWdyb3VwW2NsYXNzKj1jb2wtXXtmbG9hdDpub25lO3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7ZmxvYXQ6bGVmdDt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MH0uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmb2N1c3t6LWluZGV4OjN9LmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hZGRvbiwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDo0NnB4O3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjEuMzMzMzMzMztib3JkZXItcmFkaXVzOjZweH1zZWxlY3QuaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCxzZWxlY3QuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFkZG9uLHNlbGVjdC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweH1zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wsc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYWRkb24sc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYnRuPi5idG4sdGV4dGFyZWEuaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCx0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYWRkb24sdGV4dGFyZWEuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDphdXRvfS5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYWRkb24sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6MzBweDtwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOjNweH1zZWxlY3QuaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCxzZWxlY3QuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFkZG9uLHNlbGVjdC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweH1zZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYWRkb24sc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYnRuPi5idG4sdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCx0ZXh0YXJlYS5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYWRkb24sdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDphdXRvfS5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1hZGRvbiwuaW5wdXQtZ3JvdXAtYnRue2Rpc3BsYXk6dGFibGUtY2VsbH0uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLC5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItcmFkaXVzOjB9LmlucHV0LWdyb3VwLWFkZG9uLC5pbnB1dC1ncm91cC1idG57d2lkdGg6MSU7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaW5wdXQtZ3JvdXAtYWRkb257cGFkZGluZzo2cHggMTJweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojNTU1O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czo0cHh9LmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LXNte3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7Ym9yZGVyLXJhZGl1czozcHh9LmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LWxne3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2JvcmRlci1yYWRpdXM6NnB4fS5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPWNoZWNrYm94XSwuaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT1yYWRpb117bWFyZ2luLXRvcDowfS5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLC5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuLWdyb3VwPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uZHJvcGRvd24tdG9nZ2xlLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCk+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxke2JvcmRlci1yaWdodDowfS5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLWdyb3VwPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5kcm9wZG93bi10b2dnbGV7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZHtib3JkZXItbGVmdDowfS5pbnB1dC1ncm91cC1idG57cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjA7d2hpdGUtc3BhY2U6bm93cmFwfS5pbnB1dC1ncm91cC1idG4+LmJ0bntwb3NpdGlvbjpyZWxhdGl2ZX0uaW5wdXQtZ3JvdXAtYnRuPi5idG4rLmJ0bnttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1ncm91cC1idG4+LmJ0bjphY3RpdmUsLmlucHV0LWdyb3VwLWJ0bj4uYnRuOmZvY3VzLC5pbnB1dC1ncm91cC1idG4+LmJ0bjpob3Zlcnt6LWluZGV4OjJ9LmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bi1ncm91cHttYXJnaW4tcmlnaHQ6LTFweH0uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0bi1ncm91cHt6LWluZGV4OjI7bWFyZ2luLWxlZnQ6LTFweH0ubmF2e3BhZGRpbmctbGVmdDowO21hcmdpbi1ib3R0b206MDtsaXN0LXN0eWxlOm5vbmV9Lm5hdj5saXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS5uYXY+bGk+YXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweCAxNXB4fS5uYXY+bGk+YTpmb2N1cywubmF2PmxpPmE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5uYXY+bGkuZGlzYWJsZWQ+YXtjb2xvcjojNzc3fS5uYXY+bGkuZGlzYWJsZWQ+YTpmb2N1cywubmF2PmxpLmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6bm90LWFsbG93ZWQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2IC5vcGVuPmEsLm5hdiAub3Blbj5hOmZvY3VzLC5uYXYgLm9wZW4+YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9Lm5hdiAubmF2LWRpdmlkZXJ7aGVpZ2h0OjFweDttYXJnaW46OXB4IDA7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNX0ubmF2PmxpPmE+aW1ne21heC13aWR0aDpub25lfS5uYXYtdGFic3tib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkfS5uYXYtdGFicz5saXtmbG9hdDpsZWZ0O21hcmdpbi1ib3R0b206LTFweH0ubmF2LXRhYnM+bGk+YXttYXJnaW4tcmlnaHQ6MnB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfS5uYXYtdGFicz5saT5hOmhvdmVye2JvcmRlci1jb2xvcjojZWVlICNlZWUgI2RkZH0ubmF2LXRhYnM+bGkuYWN0aXZlPmEsLm5hdi10YWJzPmxpLmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicz5saS5hY3RpdmU+YTpob3Zlcntjb2xvcjojNTU1O2N1cnNvcjpkZWZhdWx0O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudH0ubmF2LXRhYnMubmF2LWp1c3RpZmllZHt3aWR0aDoxMDAlO2JvcmRlci1ib3R0b206MH0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saXtmbG9hdDpub25lfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpPmF7bWFyZ2luLWJvdHRvbTo1cHg7dGV4dC1hbGlnbjpjZW50ZXJ9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmRyb3Bkb3duIC5kcm9wZG93bi1tZW51e3RvcDphdXRvO2xlZnQ6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGl7ZGlzcGxheTp0YWJsZS1jZWxsO3dpZHRoOjElfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpPmF7bWFyZ2luLWJvdHRvbTowfX0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1yaWdodDowO2JvcmRlci1yYWRpdXM6NHB4fS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YSwubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2RkZH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGk+YXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDB9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hLC5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmE6aG92ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfX0ubmF2LXBpbGxzPmxpe2Zsb2F0OmxlZnR9Lm5hdi1waWxscz5saT5he2JvcmRlci1yYWRpdXM6NHB4fS5uYXYtcGlsbHM+bGkrbGl7bWFyZ2luLWxlZnQ6MnB4fS5uYXYtcGlsbHM+bGkuYWN0aXZlPmEsLm5hdi1waWxscz5saS5hY3RpdmU+YTpmb2N1cywubmF2LXBpbGxzPmxpLmFjdGl2ZT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3fS5uYXYtc3RhY2tlZD5saXtmbG9hdDpub25lfS5uYXYtc3RhY2tlZD5saStsaXttYXJnaW4tdG9wOjJweDttYXJnaW4tbGVmdDowfS5uYXYtanVzdGlmaWVke3dpZHRoOjEwMCV9Lm5hdi1qdXN0aWZpZWQ+bGl7ZmxvYXQ6bm9uZX0ubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1ib3R0b206NXB4O3RleHQtYWxpZ246Y2VudGVyfS5uYXYtanVzdGlmaWVkPi5kcm9wZG93biAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztsZWZ0OmF1dG99QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtanVzdGlmaWVkPmxpe2Rpc3BsYXk6dGFibGUtY2VsbDt3aWR0aDoxJX0ubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1ib3R0b206MH19Lm5hdi10YWJzLWp1c3RpZmllZHtib3JkZXItYm90dG9tOjB9Lm5hdi10YWJzLWp1c3RpZmllZD5saT5he21hcmdpbi1yaWdodDowO2JvcmRlci1yYWRpdXM6NHB4fS5uYXYtdGFicy1qdXN0aWZpZWQ+LmFjdGl2ZT5hLC5uYXYtdGFicy1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicy1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2RkZH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdi10YWJzLWp1c3RpZmllZD5saT5he2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YSwubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YTpob3Zlcntib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9fS50YWItY29udGVudD4udGFiLXBhbmV7ZGlzcGxheTpub25lfS50YWItY29udGVudD4uYWN0aXZle2Rpc3BsYXk6YmxvY2t9Lm5hdi10YWJzIC5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6LTFweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubmF2YmFye3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6NTBweDttYXJnaW4tYm90dG9tOjIwcHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhcntib3JkZXItcmFkaXVzOjRweH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItaGVhZGVye2Zsb2F0OmxlZnR9fS5uYXZiYXItY29sbGFwc2V7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4O292ZXJmbG93LXg6dmlzaWJsZTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtib3JkZXItdG9wOjFweCBzb2xpZCB0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm5hdmJhci1jb2xsYXBzZS5pbntvdmVyZmxvdy15OmF1dG99QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItY29sbGFwc2V7d2lkdGg6YXV0bztib3JkZXItdG9wOjA7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5uYXZiYXItY29sbGFwc2UuY29sbGFwc2V7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8haW1wb3J0YW50O3BhZGRpbmctYm90dG9tOjA7b3ZlcmZsb3c6dmlzaWJsZSFpbXBvcnRhbnR9Lm5hdmJhci1jb2xsYXBzZS5pbntvdmVyZmxvdy15OnZpc2libGV9Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLC5uYXZiYXItc3RhdGljLXRvcCAubmF2YmFyLWNvbGxhcHNle3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH19Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNle21heC1oZWlnaHQ6MzQwcHh9QG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOjQ4MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNle21heC1oZWlnaHQ6MjAwcHh9fS5jb250YWluZXItZmx1aWQ+Lm5hdmJhci1jb2xsYXBzZSwuY29udGFpbmVyLWZsdWlkPi5uYXZiYXItaGVhZGVyLC5jb250YWluZXI+Lm5hdmJhci1jb2xsYXBzZSwuY29udGFpbmVyPi5uYXZiYXItaGVhZGVye21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tbGVmdDotMTVweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lci1mbHVpZD4ubmF2YmFyLWNvbGxhcHNlLC5jb250YWluZXItZmx1aWQ+Lm5hdmJhci1oZWFkZXIsLmNvbnRhaW5lcj4ubmF2YmFyLWNvbGxhcHNlLC5jb250YWluZXI+Lm5hdmJhci1oZWFkZXJ7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH19Lm5hdmJhci1zdGF0aWMtdG9we3otaW5kZXg6MTAwMDtib3JkZXItd2lkdGg6MCAwIDFweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1zdGF0aWMtdG9we2JvcmRlci1yYWRpdXM6MH19Lm5hdmJhci1maXhlZC1ib3R0b20sLm5hdmJhci1maXhlZC10b3B7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDtsZWZ0OjA7ei1pbmRleDoxMDMwfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWZpeGVkLWJvdHRvbSwubmF2YmFyLWZpeGVkLXRvcHtib3JkZXItcmFkaXVzOjB9fS5uYXZiYXItZml4ZWQtdG9we3RvcDowO2JvcmRlci13aWR0aDowIDAgMXB4fS5uYXZiYXItZml4ZWQtYm90dG9te2JvdHRvbTowO21hcmdpbi1ib3R0b206MDtib3JkZXItd2lkdGg6MXB4IDAgMH0ubmF2YmFyLWJyYW5ke2Zsb2F0OmxlZnQ7aGVpZ2h0OjUwcHg7cGFkZGluZzoxNXB4IDE1cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweH0ubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItYnJhbmQ6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdmJhci1icmFuZD5pbWd7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhcj4uY29udGFpbmVyIC5uYXZiYXItYnJhbmQsLm5hdmJhcj4uY29udGFpbmVyLWZsdWlkIC5uYXZiYXItYnJhbmR7bWFyZ2luLWxlZnQ6LTE1cHh9fS5uYXZiYXItdG9nZ2xle3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OnJpZ2h0O3BhZGRpbmc6OXB4IDEwcHg7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLXJpZ2h0OjE1cHg7bWFyZ2luLWJvdHRvbTo4cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweH0ubmF2YmFyLXRvZ2dsZTpmb2N1c3tvdXRsaW5lOjB9Lm5hdmJhci10b2dnbGUgLmljb24tYmFye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjJweDtoZWlnaHQ6MnB4O2JvcmRlci1yYWRpdXM6MXB4fS5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcisuaWNvbi1iYXJ7bWFyZ2luLXRvcDo0cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItdG9nZ2xle2Rpc3BsYXk6bm9uZX19Lm5hdmJhci1uYXZ7bWFyZ2luOjcuNXB4IC0xNXB4fS5uYXZiYXItbmF2PmxpPmF7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O2xpbmUtaGVpZ2h0OjIwcHh9QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOnN0YXRpYztmbG9hdDpub25lO3dpZHRoOmF1dG87bWFyZ2luLXRvcDowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIsLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YXtwYWRkaW5nOjVweCAxNXB4IDVweCAyNXB4fS5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmF7bGluZS1oZWlnaHQ6MjBweH0ubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXJ7YmFja2dyb3VuZC1pbWFnZTpub25lfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1uYXZ7ZmxvYXQ6bGVmdDttYXJnaW46MH0ubmF2YmFyLW5hdj5saXtmbG9hdDpsZWZ0fS5uYXZiYXItbmF2PmxpPmF7cGFkZGluZy10b3A6MTVweDtwYWRkaW5nLWJvdHRvbToxNXB4fX0ubmF2YmFyLWZvcm17cGFkZGluZzoxMHB4IDE1cHg7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1sZWZ0Oi0xNXB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHRyYW5zcGFyZW50Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpLDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpLDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSl9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItZm9ybSAuZm9ybS1ncm91cHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9se2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sLXN0YXRpY3tkaXNwbGF5OmlubGluZS1ibG9ja30ubmF2YmFyLWZvcm0gLmlucHV0LWdyb3Vwe2Rpc3BsYXk6aW5saW5lLXRhYmxlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRue3dpZHRoOmF1dG99Lm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9se3dpZHRoOjEwMCV9Lm5hdmJhci1mb3JtIC5jb250cm9sLWxhYmVse21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm5hdmJhci1mb3JtIC5jaGVja2JveCwubmF2YmFyLWZvcm0gLnJhZGlve2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuY2hlY2tib3ggbGFiZWwsLm5hdmJhci1mb3JtIC5yYWRpbyBsYWJlbHtwYWRkaW5nLWxlZnQ6MH0ubmF2YmFyLWZvcm0gLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5uYXZiYXItZm9ybSAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWxlZnQ6MH0ubmF2YmFyLWZvcm0gLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNre3RvcDowfX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm5hdmJhci1mb3JtIC5mb3JtLWdyb3Vwe21hcmdpbi1ib3R0b206NXB4fS5uYXZiYXItZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItZm9ybXt3aWR0aDphdXRvO3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MDttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowO2JvcmRlcjowOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX19Lm5hdmJhci1uYXY+bGk+LmRyb3Bkb3duLW1lbnV7bWFyZ2luLXRvcDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2PmxpPi5kcm9wZG93bi1tZW51e21hcmdpbi1ib3R0b206MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9Lm5hdmJhci1idG57bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWJvdHRvbTo4cHh9Lm5hdmJhci1idG4uYnRuLXNte21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjEwcHh9Lm5hdmJhci1idG4uYnRuLXhze21hcmdpbi10b3A6MTRweDttYXJnaW4tYm90dG9tOjE0cHh9Lm5hdmJhci10ZXh0e21hcmdpbi10b3A6MTVweDttYXJnaW4tYm90dG9tOjE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItdGV4dHtmbG9hdDpsZWZ0O21hcmdpbi1yaWdodDoxNXB4O21hcmdpbi1sZWZ0OjE1cHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9Lm5hdmJhci1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0Oi0xNXB4fS5uYXZiYXItcmlnaHR+Lm5hdmJhci1yaWdodHttYXJnaW4tcmlnaHQ6MH19Lm5hdmJhci1kZWZhdWx0e2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtib3JkZXItY29sb3I6I2U3ZTdlN30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZHtjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOiM1ZTVlNWU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0e2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2PmxpPmF7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+bGk+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+bGk+YTpob3Zlcntjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6IzU1NTtiYWNrZ3JvdW5kLWNvbG9yOiNlN2U3ZTd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6I2NjYztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZXtib3JkZXItY29sb3I6I2RkZH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUgLmljb24tYmFye2JhY2tncm91bmQtY29sb3I6Izg4OH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1mb3Jte2JvcmRlci1jb2xvcjojZTdlN2U3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4ub3Blbj5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4ub3Blbj5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4ub3Blbj5hOmhvdmVye2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZTdlN2U3fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YXtjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmhvdmVye2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojNTU1O2JhY2tncm91bmQtY29sb3I6I2U3ZTdlN30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmEsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpob3Zlcntjb2xvcjojY2NjO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWxpbmt7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rOmhvdmVye2NvbG9yOiMzMzN9Lm5hdmJhci1kZWZhdWx0IC5idG4tbGlua3tjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3Zlcntjb2xvcjojMzMzfS5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVye2NvbG9yOiNjY2N9Lm5hdmJhci1pbnZlcnNle2JhY2tncm91bmQtY29sb3I6IzIyMjtib3JkZXItY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZHtjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci10ZXh0e2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2PmxpPmF7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+bGk+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+bGk+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5hY3RpdmU+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwODA4MDh9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6IzQ0NDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZXtib3JkZXItY29sb3I6IzMzM30ubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGU6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzMzM30ubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGUgLmljb24tYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1mb3Jte2JvcmRlci1jb2xvcjojMTAxMDEwfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4ub3Blbj5hLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4ub3Blbj5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4ub3Blbj5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDgwODA4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRyb3Bkb3duLWhlYWRlcntib3JkZXItY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXJ7YmFja2dyb3VuZC1jb2xvcjojMDgwODA4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5he2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmEsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDgwODA4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM0NDQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH19Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGlua3tjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWxpbms6aG92ZXJ7Y29sb3I6I2ZmZn0ubmF2YmFyLWludmVyc2UgLmJ0bi1saW5re2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpmb2N1cywubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6aG92ZXJ7Y29sb3I6IzQ0NH0uYnJlYWRjcnVtYntwYWRkaW5nOjhweCAxNXB4O21hcmdpbi1ib3R0b206MjBweDtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci1yYWRpdXM6NHB4fS5icmVhZGNydW1iPmxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5icmVhZGNydW1iPmxpK2xpOmJlZm9yZXtwYWRkaW5nOjAgNXB4O2NvbG9yOiNjY2M7Y29udGVudDoiL1wwMGEwIn0uYnJlYWRjcnVtYj4uYWN0aXZle2NvbG9yOiM3Nzd9LnBhZ2luYXRpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1sZWZ0OjA7bWFyZ2luOjIwcHggMDtib3JkZXItcmFkaXVzOjRweH0ucGFnaW5hdGlvbj5saXtkaXNwbGF5OmlubGluZX0ucGFnaW5hdGlvbj5saT5hLC5wYWdpbmF0aW9uPmxpPnNwYW57cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bGVmdDtwYWRkaW5nOjZweCAxMnB4O21hcmdpbi1sZWZ0Oi0xcHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojMzM3YWI3O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGR9LnBhZ2luYXRpb24+bGk6Zmlyc3QtY2hpbGQ+YSwucGFnaW5hdGlvbj5saTpmaXJzdC1jaGlsZD5zcGFue21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHh9LnBhZ2luYXRpb24+bGk6bGFzdC1jaGlsZD5hLC5wYWdpbmF0aW9uPmxpOmxhc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4fS5wYWdpbmF0aW9uPmxpPmE6Zm9jdXMsLnBhZ2luYXRpb24+bGk+YTpob3ZlciwucGFnaW5hdGlvbj5saT5zcGFuOmZvY3VzLC5wYWdpbmF0aW9uPmxpPnNwYW46aG92ZXJ7ei1pbmRleDoyO2NvbG9yOiMyMzUyN2M7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlci1jb2xvcjojZGRkfS5wYWdpbmF0aW9uPi5hY3RpdmU+YSwucGFnaW5hdGlvbj4uYWN0aXZlPmE6Zm9jdXMsLnBhZ2luYXRpb24+LmFjdGl2ZT5hOmhvdmVyLC5wYWdpbmF0aW9uPi5hY3RpdmU+c3BhbiwucGFnaW5hdGlvbj4uYWN0aXZlPnNwYW46Zm9jdXMsLnBhZ2luYXRpb24+LmFjdGl2ZT5zcGFuOmhvdmVye3otaW5kZXg6Mztjb2xvcjojZmZmO2N1cnNvcjpkZWZhdWx0O2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzMzN2FiN30ucGFnaW5hdGlvbj4uZGlzYWJsZWQ+YSwucGFnaW5hdGlvbj4uZGlzYWJsZWQ+YTpmb2N1cywucGFnaW5hdGlvbj4uZGlzYWJsZWQ+YTpob3ZlciwucGFnaW5hdGlvbj4uZGlzYWJsZWQ+c3BhbiwucGFnaW5hdGlvbj4uZGlzYWJsZWQ+c3Bhbjpmb2N1cywucGFnaW5hdGlvbj4uZGlzYWJsZWQ+c3Bhbjpob3Zlcntjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZGR9LnBhZ2luYXRpb24tbGc+bGk+YSwucGFnaW5hdGlvbi1sZz5saT5zcGFue3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjEuMzMzMzMzM30ucGFnaW5hdGlvbi1sZz5saTpmaXJzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLWxnPmxpOmZpcnN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo2cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo2cHh9LnBhZ2luYXRpb24tbGc+bGk6bGFzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLWxnPmxpOmxhc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo2cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NnB4fS5wYWdpbmF0aW9uLXNtPmxpPmEsLnBhZ2luYXRpb24tc20+bGk+c3BhbntwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNX0ucGFnaW5hdGlvbi1zbT5saTpmaXJzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLXNtPmxpOmZpcnN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhZ2luYXRpb24tc20+bGk6bGFzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLXNtPmxpOmxhc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4fS5wYWdlcntwYWRkaW5nLWxlZnQ6MDttYXJnaW46MjBweCAwO3RleHQtYWxpZ246Y2VudGVyO2xpc3Qtc3R5bGU6bm9uZX0ucGFnZXIgbGl7ZGlzcGxheTppbmxpbmV9LnBhZ2VyIGxpPmEsLnBhZ2VyIGxpPnNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo1cHggMTRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6MTVweH0ucGFnZXIgbGk+YTpmb2N1cywucGFnZXIgbGk+YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9LnBhZ2VyIC5uZXh0PmEsLnBhZ2VyIC5uZXh0PnNwYW57ZmxvYXQ6cmlnaHR9LnBhZ2VyIC5wcmV2aW91cz5hLC5wYWdlciAucHJldmlvdXM+c3BhbntmbG9hdDpsZWZ0fS5wYWdlciAuZGlzYWJsZWQ+YSwucGFnZXIgLmRpc2FibGVkPmE6Zm9jdXMsLnBhZ2VyIC5kaXNhYmxlZD5hOmhvdmVyLC5wYWdlciAuZGlzYWJsZWQ+c3Bhbntjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmxhYmVse2Rpc3BsYXk6aW5saW5lO3BhZGRpbmc6LjJlbSAuNmVtIC4zZW07Zm9udC1zaXplOjc1JTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtib3JkZXItcmFkaXVzOi4yNWVtfWEubGFiZWw6Zm9jdXMsYS5sYWJlbDpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyfS5sYWJlbDplbXB0eXtkaXNwbGF5Om5vbmV9LmJ0biAubGFiZWx7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0xcHh9LmxhYmVsLWRlZmF1bHR7YmFja2dyb3VuZC1jb2xvcjojNzc3fS5sYWJlbC1kZWZhdWx0W2hyZWZdOmZvY3VzLC5sYWJlbC1kZWZhdWx0W2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzVlNWU1ZX0ubGFiZWwtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjd9LmxhYmVsLXByaW1hcnlbaHJlZl06Zm9jdXMsLmxhYmVsLXByaW1hcnlbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwfS5sYWJlbC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzVjYjg1Y30ubGFiZWwtc3VjY2Vzc1tocmVmXTpmb2N1cywubGFiZWwtc3VjY2Vzc1tocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM0NDlkNDR9LmxhYmVsLWluZm97YmFja2dyb3VuZC1jb2xvcjojNWJjMGRlfS5sYWJlbC1pbmZvW2hyZWZdOmZvY3VzLC5sYWJlbC1pbmZvW2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzMxYjBkNX0ubGFiZWwtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmMGFkNGV9LmxhYmVsLXdhcm5pbmdbaHJlZl06Zm9jdXMsLmxhYmVsLXdhcm5pbmdbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWM5NzFmfS5sYWJlbC1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZDk1MzRmfS5sYWJlbC1kYW5nZXJbaHJlZl06Zm9jdXMsLmxhYmVsLWRhbmdlcltocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjOTMwMmN9LmJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDoxMHB4O3BhZGRpbmc6M3B4IDdweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1jb2xvcjojNzc3O2JvcmRlci1yYWRpdXM6MTBweH0uYmFkZ2U6ZW1wdHl7ZGlzcGxheTpub25lfS5idG4gLmJhZGdle3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4fS5idG4tZ3JvdXAteHM+LmJ0biAuYmFkZ2UsLmJ0bi14cyAuYmFkZ2V7dG9wOjA7cGFkZGluZzoxcHggNXB4fWEuYmFkZ2U6Zm9jdXMsYS5iYWRnZTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyfS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlPi5iYWRnZSwubmF2LXBpbGxzPi5hY3RpdmU+YT4uYmFkZ2V7Y29sb3I6IzMzN2FiNztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lmxpc3QtZ3JvdXAtaXRlbT4uYmFkZ2V7ZmxvYXQ6cmlnaHR9Lmxpc3QtZ3JvdXAtaXRlbT4uYmFkZ2UrLmJhZGdle21hcmdpbi1yaWdodDo1cHh9Lm5hdi1waWxscz5saT5hPi5iYWRnZXttYXJnaW4tbGVmdDozcHh9Lmp1bWJvdHJvbntwYWRkaW5nLXRvcDozMHB4O3BhZGRpbmctYm90dG9tOjMwcHg7bWFyZ2luLWJvdHRvbTozMHB4O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5qdW1ib3Ryb24gLmgxLC5qdW1ib3Ryb24gaDF7Y29sb3I6aW5oZXJpdH0uanVtYm90cm9uIHB7bWFyZ2luLWJvdHRvbToxNXB4O2ZvbnQtc2l6ZToyMXB4O2ZvbnQtd2VpZ2h0OjIwMH0uanVtYm90cm9uPmhye2JvcmRlci10b3AtY29sb3I6I2Q1ZDVkNX0uY29udGFpbmVyIC5qdW1ib3Ryb24sLmNvbnRhaW5lci1mbHVpZCAuanVtYm90cm9ue3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDtib3JkZXItcmFkaXVzOjZweH0uanVtYm90cm9uIC5jb250YWluZXJ7bWF4LXdpZHRoOjEwMCV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCl7Lmp1bWJvdHJvbntwYWRkaW5nLXRvcDo0OHB4O3BhZGRpbmctYm90dG9tOjQ4cHh9LmNvbnRhaW5lciAuanVtYm90cm9uLC5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbntwYWRkaW5nLXJpZ2h0OjYwcHg7cGFkZGluZy1sZWZ0OjYwcHh9Lmp1bWJvdHJvbiAuaDEsLmp1bWJvdHJvbiBoMXtmb250LXNpemU6NjNweH19LnRodW1ibmFpbHtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6NHB4O21hcmdpbi1ib3R0b206MjBweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjpib3JkZXIgLjJzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246Ym9yZGVyIC4ycyBlYXNlLWluLW91dH0udGh1bWJuYWlsIGE+aW1nLC50aHVtYm5haWw+aW1ne21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99YS50aHVtYm5haWwuYWN0aXZlLGEudGh1bWJuYWlsOmZvY3VzLGEudGh1bWJuYWlsOmhvdmVye2JvcmRlci1jb2xvcjojMzM3YWI3fS50aHVtYm5haWwgLmNhcHRpb257cGFkZGluZzo5cHg7Y29sb3I6IzMzM30uYWxlcnR7cGFkZGluZzoxNXB4O21hcmdpbi1ib3R0b206MjBweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4fS5hbGVydCBoNHttYXJnaW4tdG9wOjA7Y29sb3I6aW5oZXJpdH0uYWxlcnQgLmFsZXJ0LWxpbmt7Zm9udC13ZWlnaHQ6NzAwfS5hbGVydD5wLC5hbGVydD51bHttYXJnaW4tYm90dG9tOjB9LmFsZXJ0PnArcHttYXJnaW4tdG9wOjVweH0uYWxlcnQtZGlzbWlzc2FibGUsLmFsZXJ0LWRpc21pc3NpYmxle3BhZGRpbmctcmlnaHQ6MzVweH0uYWxlcnQtZGlzbWlzc2FibGUgLmNsb3NlLC5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2V7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0ycHg7cmlnaHQ6LTIxcHg7Y29sb3I6aW5oZXJpdH0uYWxlcnQtc3VjY2Vzc3tjb2xvcjojM2M3NjNkO2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6I2Q2ZTljNn0uYWxlcnQtc3VjY2VzcyBocntib3JkZXItdG9wLWNvbG9yOiNjOWUyYjN9LmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWxpbmt7Y29sb3I6IzJiNTQyY30uYWxlcnQtaW5mb3tjb2xvcjojMzE3MDhmO2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6I2JjZThmMX0uYWxlcnQtaW5mbyBocntib3JkZXItdG9wLWNvbG9yOiNhNmUxZWN9LmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmt7Y29sb3I6IzI0NTI2OX0uYWxlcnQtd2FybmluZ3tjb2xvcjojOGE2ZDNiO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztib3JkZXItY29sb3I6I2ZhZWJjY30uYWxlcnQtd2FybmluZyBocntib3JkZXItdG9wLWNvbG9yOiNmN2UxYjV9LmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmt7Y29sb3I6IzY2NTEyY30uYWxlcnQtZGFuZ2Vye2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlO2JvcmRlci1jb2xvcjojZWJjY2QxfS5hbGVydC1kYW5nZXIgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZTRiOWMwfS5hbGVydC1kYW5nZXIgLmFsZXJ0LWxpbmt7Y29sb3I6Izg0MzUzNH1ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjQwcHggMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19QC1vLWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246NDBweCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX1Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjo0MHB4IDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fS5wcm9ncmVzc3toZWlnaHQ6MjBweDttYXJnaW4tYm90dG9tOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5wcm9ncmVzcy1iYXJ7ZmxvYXQ6bGVmdDt3aWR0aDowO2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjE1KTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjE1KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjZzIGVhc2U7LW8tdHJhbnNpdGlvbjp3aWR0aCAuNnMgZWFzZTt0cmFuc2l0aW9uOndpZHRoIC42cyBlYXNlfS5wcm9ncmVzcy1iYXItc3RyaXBlZCwucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFye2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6NDBweCA0MHB4O2JhY2tncm91bmQtc2l6ZTo0MHB4IDQwcHh9LnByb2dyZXNzLWJhci5hY3RpdmUsLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyey13ZWJraXQtYW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTstby1hbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGV9LnByb2dyZXNzLWJhci1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzVjYjg1Y30ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3N7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KX0ucHJvZ3Jlc3MtYmFyLWluZm97YmFja2dyb3VuZC1jb2xvcjojNWJjMGRlfS5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItaW5mb3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpfS5wcm9ncmVzcy1iYXItd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmMGFkNGV9LnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci13YXJuaW5ne2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCl9LnByb2dyZXNzLWJhci1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZDk1MzRmfS5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItZGFuZ2Vye2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCl9Lm1lZGlhe21hcmdpbi10b3A6MTVweH0ubWVkaWE6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5tZWRpYSwubWVkaWEtYm9keXtvdmVyZmxvdzpoaWRkZW47em9vbToxfS5tZWRpYS1ib2R5e3dpZHRoOjEwMDAwcHh9Lm1lZGlhLW9iamVjdHtkaXNwbGF5OmJsb2NrfS5tZWRpYS1vYmplY3QuaW1nLXRodW1ibmFpbHttYXgtd2lkdGg6bm9uZX0ubWVkaWEtcmlnaHQsLm1lZGlhPi5wdWxsLXJpZ2h0e3BhZGRpbmctbGVmdDoxMHB4fS5tZWRpYS1sZWZ0LC5tZWRpYT4ucHVsbC1sZWZ0e3BhZGRpbmctcmlnaHQ6MTBweH0ubWVkaWEtYm9keSwubWVkaWEtbGVmdCwubWVkaWEtcmlnaHR7ZGlzcGxheTp0YWJsZS1jZWxsO3ZlcnRpY2FsLWFsaWduOnRvcH0ubWVkaWEtbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWVkaWEtYm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0ubWVkaWEtaGVhZGluZ3ttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTo1cHh9Lm1lZGlhLWxpc3R7cGFkZGluZy1sZWZ0OjA7bGlzdC1zdHlsZTpub25lfS5saXN0LWdyb3Vwe3BhZGRpbmctbGVmdDowO21hcmdpbi1ib3R0b206MjBweH0ubGlzdC1ncm91cC1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxMHB4IDE1cHg7bWFyZ2luLWJvdHRvbTotMXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGR9Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHh9Lmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHh9YS5saXN0LWdyb3VwLWl0ZW0sYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbXtjb2xvcjojNTU1fWEubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3tjb2xvcjojMzMzfWEubGlzdC1ncm91cC1pdGVtOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbTpob3Zlcntjb2xvcjojNTU1O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNX1idXR0b24ubGlzdC1ncm91cC1pdGVte3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpsZWZ0fS5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cywubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVye2NvbG9yOiM3Nzc7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6I2VlZX0ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3tjb2xvcjppbmhlcml0fS5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0e2NvbG9yOiM3Nzd9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXJ7ei1pbmRleDoyO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMzM3YWI3fS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+LnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz5zbWFsbCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPi5zbWFsbCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+c21hbGwsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz4uc21hbGwsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPnNtYWxse2NvbG9yOmluaGVyaXR9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHR7Y29sb3I6I2M3ZGRlZn0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3N7Y29sb3I6IzNjNzYzZDtiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDh9YS5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3N7Y29sb3I6IzNjNzYzZH1hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOmluaGVyaXR9YS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6IzNjNzYzZDtiYWNrZ3JvdW5kLWNvbG9yOiNkMGU5YzZ9YS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmUsYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSxidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzYzc2M2Q7Ym9yZGVyLWNvbG9yOiMzYzc2M2R9Lmxpc3QtZ3JvdXAtaXRlbS1pbmZve2NvbG9yOiMzMTcwOGY7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3fWEubGlzdC1ncm91cC1pdGVtLWluZm8sYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZve2NvbG9yOiMzMTcwOGZ9YS5saXN0LWdyb3VwLWl0ZW0taW5mbyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3tjb2xvcjppbmhlcml0fWEubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmhvdmVye2NvbG9yOiMzMTcwOGY7YmFja2dyb3VuZC1jb2xvcjojYzRlM2YzfWEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzE3MDhmO2JvcmRlci1jb2xvcjojMzE3MDhmfS5saXN0LWdyb3VwLWl0ZW0td2FybmluZ3tjb2xvcjojOGE2ZDNiO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM31hLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZ3tjb2xvcjojOGE2ZDNifWEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH1hLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3Zlcntjb2xvcjojOGE2ZDNiO2JhY2tncm91bmQtY29sb3I6I2ZhZjJjY31hLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSxhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzhhNmQzYjtib3JkZXItY29sb3I6IzhhNmQzYn0ubGlzdC1ncm91cC1pdGVtLWRhbmdlcntjb2xvcjojYTk0NDQyO2JhY2tncm91bmQtY29sb3I6I2YyZGVkZX1hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXJ7Y29sb3I6I2E5NDQ0Mn1hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3tjb2xvcjppbmhlcml0fWEubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6aG92ZXJ7Y29sb3I6I2E5NDQ0MjtiYWNrZ3JvdW5kLWNvbG9yOiNlYmNjY2N9YS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZSxhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNhOTQ0NDI7Ym9yZGVyLWNvbG9yOiNhOTQ0NDJ9Lmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjVweH0ubGlzdC1ncm91cC1pdGVtLXRleHR7bWFyZ2luLWJvdHRvbTowO2xpbmUtaGVpZ2h0OjEuM30ucGFuZWx7bWFyZ2luLWJvdHRvbToyMHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KX0ucGFuZWwtYm9keXtwYWRkaW5nOjE1cHh9LnBhbmVsLWhlYWRpbmd7cGFkZGluZzoxMHB4IDE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbC1oZWFkaW5nPi5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xle2NvbG9yOmluaGVyaXR9LnBhbmVsLXRpdGxle21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjE2cHg7Y29sb3I6aW5oZXJpdH0ucGFuZWwtdGl0bGU+LnNtYWxsLC5wYW5lbC10aXRsZT4uc21hbGw+YSwucGFuZWwtdGl0bGU+YSwucGFuZWwtdGl0bGU+c21hbGwsLnBhbmVsLXRpdGxlPnNtYWxsPmF7Y29sb3I6aW5oZXJpdH0ucGFuZWwtZm9vdGVye3BhZGRpbmc6MTBweCAxNXB4O2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+Lmxpc3QtZ3JvdXAsLnBhbmVsPi5wYW5lbC1jb2xsYXBzZT4ubGlzdC1ncm91cHttYXJnaW4tYm90dG9tOjB9LnBhbmVsPi5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0sLnBhbmVsPi5wYW5lbC1jb2xsYXBzZT4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVte2JvcmRlci13aWR0aDoxcHggMDtib3JkZXItcmFkaXVzOjB9LnBhbmVsPi5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQsLnBhbmVsPi5wYW5lbC1jb2xsYXBzZT4ubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxke2JvcmRlci10b3A6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsPi5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LnBhbmVsLWhlYWRpbmcrLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLXdpZHRoOjB9Lmxpc3QtZ3JvdXArLnBhbmVsLWZvb3Rlcntib3JkZXItdG9wLXdpZHRoOjB9LnBhbmVsPi5wYW5lbC1jb2xsYXBzZT4udGFibGUsLnBhbmVsPi50YWJsZSwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxle21hcmdpbi1ib3R0b206MH0ucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi50YWJsZSBjYXB0aW9uLC5wYW5lbD4udGFibGUgY2FwdGlvbiwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlIGNhcHRpb257cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsPi5wYW5lbC1ib2R5Ky50YWJsZSwucGFuZWw+LnBhbmVsLWJvZHkrLnRhYmxlLXJlc3BvbnNpdmUsLnBhbmVsPi50YWJsZSsucGFuZWwtYm9keSwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmUrLnBhbmVsLWJvZHl7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZH0ucGFuZWw+LnRhYmxlPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkLC5wYW5lbD4udGFibGU+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGh7Ym9yZGVyLXRvcDowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpmaXJzdC1jaGlsZHtib3JkZXItbGVmdDowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpsYXN0LWNoaWxke2JvcmRlci1yaWdodDowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpmaXJzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpmaXJzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmZpcnN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cjpmaXJzdC1jaGlsZD50aHtib3JkZXItYm90dG9tOjB9LnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50aHtib3JkZXItYm90dG9tOjB9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZle21hcmdpbi1ib3R0b206MDtib3JkZXI6MH0ucGFuZWwtZ3JvdXB7bWFyZ2luLWJvdHRvbToyMHB4fS5wYW5lbC1ncm91cCAucGFuZWx7bWFyZ2luLWJvdHRvbTowO2JvcmRlci1yYWRpdXM6NHB4fS5wYW5lbC1ncm91cCAucGFuZWwrLnBhbmVse21hcmdpbi10b3A6NXB4fS5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZ3tib3JkZXItYm90dG9tOjB9LnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ubGlzdC1ncm91cCwucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9LnBhbmVsLWdyb3VwIC5wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDowfS5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkfS5wYW5lbC1kZWZhdWx0e2JvcmRlci1jb2xvcjojZGRkfS5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1oZWFkaW5ne2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci1jb2xvcjojZGRkfS5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNkZGR9LnBhbmVsLWRlZmF1bHQ+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiNmNWY1ZjU7YmFja2dyb3VuZC1jb2xvcjojMzMzfS5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2RkZH0ucGFuZWwtcHJpbWFyeXtib3JkZXItY29sb3I6IzMzN2FiN30ucGFuZWwtcHJpbWFyeT4ucGFuZWwtaGVhZGluZ3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzMzN2FiN30ucGFuZWwtcHJpbWFyeT4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojMzM3YWI3fS5wYW5lbC1wcmltYXJ5Pi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojMzM3YWI3O2JhY2tncm91bmQtY29sb3I6I2ZmZn0ucGFuZWwtcHJpbWFyeT4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiMzMzdhYjd9LnBhbmVsLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiNkNmU5YzZ9LnBhbmVsLXN1Y2Nlc3M+LnBhbmVsLWhlYWRpbmd7Y29sb3I6IzNjNzYzZDtiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDg7Ym9yZGVyLWNvbG9yOiNkNmU5YzZ9LnBhbmVsLXN1Y2Nlc3M+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6I2Q2ZTljNn0ucGFuZWwtc3VjY2Vzcz4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6I2RmZjBkODtiYWNrZ3JvdW5kLWNvbG9yOiMzYzc2M2R9LnBhbmVsLXN1Y2Nlc3M+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZDZlOWM2fS5wYW5lbC1pbmZve2JvcmRlci1jb2xvcjojYmNlOGYxfS5wYW5lbC1pbmZvPi5wYW5lbC1oZWFkaW5ne2NvbG9yOiMzMTcwOGY7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojYmNlOGYxfS5wYW5lbC1pbmZvPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNiY2U4ZjF9LnBhbmVsLWluZm8+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiNkOWVkZjc7YmFja2dyb3VuZC1jb2xvcjojMzE3MDhmfS5wYW5lbC1pbmZvPi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2JjZThmMX0ucGFuZWwtd2FybmluZ3tib3JkZXItY29sb3I6I2ZhZWJjY30ucGFuZWwtd2FybmluZz4ucGFuZWwtaGVhZGluZ3tjb2xvcjojOGE2ZDNiO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztib3JkZXItY29sb3I6I2ZhZWJjY30ucGFuZWwtd2FybmluZz4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojZmFlYmNjfS5wYW5lbC13YXJuaW5nPi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZmNmOGUzO2JhY2tncm91bmQtY29sb3I6IzhhNmQzYn0ucGFuZWwtd2FybmluZz4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNmYWViY2N9LnBhbmVsLWRhbmdlcntib3JkZXItY29sb3I6I2ViY2NkMX0ucGFuZWwtZGFuZ2VyPi5wYW5lbC1oZWFkaW5ne2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlO2JvcmRlci1jb2xvcjojZWJjY2QxfS5wYW5lbC1kYW5nZXI+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6I2ViY2NkMX0ucGFuZWwtZGFuZ2VyPi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZjJkZWRlO2JhY2tncm91bmQtY29sb3I6I2E5NDQ0Mn0ucGFuZWwtZGFuZ2VyPi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2ViY2NkMX0uZW1iZWQtcmVzcG9uc2l2ZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW59LmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSwuZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwuZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LC5lbWJlZC1yZXNwb25zaXZlIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowfS5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5e3BhZGRpbmctYm90dG9tOjU2LjI1JX0uZW1iZWQtcmVzcG9uc2l2ZS00Ynkze3BhZGRpbmctYm90dG9tOjc1JX0ud2VsbHttaW4taGVpZ2h0OjIwcHg7cGFkZGluZzoxOXB4O21hcmdpbi1ib3R0b206MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyOjFweCBzb2xpZCAjZTNlM2UzO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KX0ud2VsbCBibG9ja3F1b3Rle2JvcmRlci1jb2xvcjojZGRkO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xNSl9LndlbGwtbGd7cGFkZGluZzoyNHB4O2JvcmRlci1yYWRpdXM6NnB4fS53ZWxsLXNte3BhZGRpbmc6OXB4O2JvcmRlci1yYWRpdXM6M3B4fS5jbG9zZXtmbG9hdDpyaWdodDtmb250LXNpemU6MjFweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojMDAwO3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjtmaWx0ZXI6YWxwaGEob3BhY2l0eT0yMCk7b3BhY2l0eTouMn0uY2xvc2U6Zm9jdXMsLmNsb3NlOmhvdmVye2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NTApO29wYWNpdHk6LjV9YnV0dG9uLmNsb3Nley13ZWJraXQtYXBwZWFyYW5jZTpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MH0ubW9kYWwtb3BlbntvdmVyZmxvdzpoaWRkZW59Lm1vZGFse3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTA1MDtkaXNwbGF5Om5vbmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO291dGxpbmU6MH0ubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9ney13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlLW91dDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0yNSUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSl9Lm1vZGFsLmluIC5tb2RhbC1kaWFsb2d7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfS5tb2RhbC1vcGVuIC5tb2RhbHtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG99Lm1vZGFsLWRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDphdXRvO21hcmdpbjoxMHB4fS5tb2RhbC1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXJhZGl1czo2cHg7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzowIDNweCA5cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDNweCA5cHggcmdiYSgwLDAsMCwuNSl9Lm1vZGFsLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTA0MDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1vZGFsLWJhY2tkcm9wLmZhZGV7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MCk7b3BhY2l0eTowfS5tb2RhbC1iYWNrZHJvcC5pbntmaWx0ZXI6YWxwaGEob3BhY2l0eT01MCk7b3BhY2l0eTouNX0ubW9kYWwtaGVhZGVye3BhZGRpbmc6MTVweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTVlNWU1fS5tb2RhbC1oZWFkZXIgLmNsb3Nle21hcmdpbi10b3A6LTJweH0ubW9kYWwtdGl0bGV7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0M30ubW9kYWwtYm9keXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjE1cHh9Lm1vZGFsLWZvb3RlcntwYWRkaW5nOjE1cHg7dGV4dC1hbGlnbjpyaWdodDtib3JkZXItdG9wOjFweCBzb2xpZCAjZTVlNWU1fS5tb2RhbC1mb290ZXIgLmJ0bisuYnRue21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDo1cHh9Lm1vZGFsLWZvb3RlciAuYnRuLWdyb3VwIC5idG4rLmJ0bnttYXJnaW4tbGVmdDotMXB4fS5tb2RhbC1mb290ZXIgLmJ0bi1ibG9jaysuYnRuLWJsb2Nre21hcmdpbi1sZWZ0OjB9Lm1vZGFsLXNjcm9sbGJhci1tZWFzdXJle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOTk5OXB4O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6c2Nyb2xsfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubW9kYWwtZGlhbG9ne3dpZHRoOjYwMHB4O21hcmdpbjozMHB4IGF1dG99Lm1vZGFsLWNvbnRlbnR7LXdlYmtpdC1ib3gtc2hhZG93OjAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpfS5tb2RhbC1zbXt3aWR0aDozMDBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5tb2RhbC1sZ3t3aWR0aDo5MDBweH19LnRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDcwO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6IkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXNoYWRvdzpub25lO3RleHQtdHJhbnNmb3JtOm5vbmU7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7d29yZC13cmFwOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3JtYWw7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MCk7b3BhY2l0eTowO2xpbmUtYnJlYWs6YXV0b30udG9vbHRpcC5pbntmaWx0ZXI6YWxwaGEob3BhY2l0eT05MCk7b3BhY2l0eTouOX0udG9vbHRpcC50b3B7cGFkZGluZzo1cHggMDttYXJnaW4tdG9wOi0zcHh9LnRvb2x0aXAucmlnaHR7cGFkZGluZzowIDVweDttYXJnaW4tbGVmdDozcHh9LnRvb2x0aXAuYm90dG9te3BhZGRpbmc6NXB4IDA7bWFyZ2luLXRvcDozcHh9LnRvb2x0aXAubGVmdHtwYWRkaW5nOjAgNXB4O21hcmdpbi1sZWZ0Oi0zcHh9LnRvb2x0aXAtaW5uZXJ7bWF4LXdpZHRoOjIwMHB4O3BhZGRpbmc6M3B4IDhweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweH0udG9vbHRpcC1hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LnRvb2x0aXAudG9wIC50b29sdGlwLWFycm93e2JvdHRvbTowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LnRvb2x0aXAudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3d7cmlnaHQ6NXB4O2JvdHRvbTowO21hcmdpbi1ib3R0b206LTVweDtib3JkZXItd2lkdGg6NXB4IDVweCAwO2JvcmRlci10b3AtY29sb3I6IzAwMH0udG9vbHRpcC50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3d7Ym90dG9tOjA7bGVmdDo1cHg7bWFyZ2luLWJvdHRvbTotNXB4O2JvcmRlci13aWR0aDo1cHggNXB4IDA7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS50b29sdGlwLnJpZ2h0IC50b29sdGlwLWFycm93e3RvcDo1MCU7bGVmdDowO21hcmdpbi10b3A6LTVweDtib3JkZXItd2lkdGg6NXB4IDVweCA1cHggMDtib3JkZXItcmlnaHQtY29sb3I6IzAwMH0udG9vbHRpcC5sZWZ0IC50b29sdGlwLWFycm93e3RvcDo1MCU7cmlnaHQ6MDttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLXdpZHRoOjVweCAwIDVweCA1cHg7Ym9yZGVyLWxlZnQtY29sb3I6IzAwMH0udG9vbHRpcC5ib3R0b20gLnRvb2x0aXAtYXJyb3d7dG9wOjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItd2lkdGg6MCA1cHggNXB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAwMH0udG9vbHRpcC5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvd3t0b3A6MDtyaWdodDo1cHg7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDowIDVweCA1cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwfS50b29sdGlwLmJvdHRvbS1yaWdodCAudG9vbHRpcC1hcnJvd3t0b3A6MDtsZWZ0OjVweDttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9LnBvcG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3otaW5kZXg6MTA2MDtkaXNwbGF5Om5vbmU7bWF4LXdpZHRoOjI3NnB4O3BhZGRpbmc6MXB4O2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7dGV4dC1hbGlnbjpsZWZ0O3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1zaGFkb3c6bm9uZTt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLWJyZWFrOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3dvcmQtd3JhcDpub3JtYWw7d2hpdGUtc3BhY2U6bm9ybWFsO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXJhZGl1czo2cHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMik7Ym94LXNoYWRvdzowIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2xpbmUtYnJlYWs6YXV0b30ucG9wb3Zlci50b3B7bWFyZ2luLXRvcDotMTBweH0ucG9wb3Zlci5yaWdodHttYXJnaW4tbGVmdDoxMHB4fS5wb3BvdmVyLmJvdHRvbXttYXJnaW4tdG9wOjEwcHh9LnBvcG92ZXIubGVmdHttYXJnaW4tbGVmdDotMTBweH0ucG9wb3Zlci10aXRsZXtwYWRkaW5nOjhweCAxNHB4O21hcmdpbjowO2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmNztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6NXB4IDVweCAwIDB9LnBvcG92ZXItY29udGVudHtwYWRkaW5nOjlweCAxNHB4fS5wb3BvdmVyPi5hcnJvdywucG9wb3Zlcj4uYXJyb3c6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LnBvcG92ZXI+LmFycm93e2JvcmRlci13aWR0aDoxMXB4fS5wb3BvdmVyPi5hcnJvdzphZnRlcntjb250ZW50OiIiO2JvcmRlci13aWR0aDoxMHB4fS5wb3BvdmVyLnRvcD4uYXJyb3d7Ym90dG9tOi0xMXB4O2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xMXB4O2JvcmRlci10b3AtY29sb3I6Izk5OTtib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3JkZXItYm90dG9tLXdpZHRoOjB9LnBvcG92ZXIudG9wPi5hcnJvdzphZnRlcntib3R0b206MXB4O21hcmdpbi1sZWZ0Oi0xMHB4O2NvbnRlbnQ6IiAiO2JvcmRlci10b3AtY29sb3I6I2ZmZjtib3JkZXItYm90dG9tLXdpZHRoOjB9LnBvcG92ZXIucmlnaHQ+LmFycm93e3RvcDo1MCU7bGVmdDotMTFweDttYXJnaW4tdG9wOi0xMXB4O2JvcmRlci1yaWdodC1jb2xvcjojOTk5O2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyLWxlZnQtd2lkdGg6MH0ucG9wb3Zlci5yaWdodD4uYXJyb3c6YWZ0ZXJ7Ym90dG9tOi0xMHB4O2xlZnQ6MXB4O2NvbnRlbnQ6IiAiO2JvcmRlci1yaWdodC1jb2xvcjojZmZmO2JvcmRlci1sZWZ0LXdpZHRoOjB9LnBvcG92ZXIuYm90dG9tPi5hcnJvd3t0b3A6LTExcHg7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTExcHg7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1ib3R0b20tY29sb3I6Izk5OTtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsLjI1KX0ucG9wb3Zlci5ib3R0b20+LmFycm93OmFmdGVye3RvcDoxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Y29udGVudDoiICI7Ym9yZGVyLXRvcC13aWR0aDowO2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0ucG9wb3Zlci5sZWZ0Pi5hcnJvd3t0b3A6NTAlO3JpZ2h0Oi0xMXB4O21hcmdpbi10b3A6LTExcHg7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtY29sb3I6Izk5OTtib3JkZXItbGVmdC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LnBvcG92ZXIubGVmdD4uYXJyb3c6YWZ0ZXJ7cmlnaHQ6MXB4O2JvdHRvbTotMTBweDtjb250ZW50OiIgIjtib3JkZXItcmlnaHQtd2lkdGg6MDtib3JkZXItbGVmdC1jb2xvcjojZmZmfS5jYXJvdXNlbHtwb3NpdGlvbjpyZWxhdGl2ZX0uY2Fyb3VzZWwtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LmNhcm91c2VsLWlubmVyPi5pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6bm9uZTstd2Via2l0LXRyYW5zaXRpb246LjZzIGVhc2UtaW4tb3V0IGxlZnQ7LW8tdHJhbnNpdGlvbjouNnMgZWFzZS1pbi1vdXQgbGVmdDt0cmFuc2l0aW9uOi42cyBlYXNlLWluLW91dCBsZWZ0fS5jYXJvdXNlbC1pbm5lcj4uaXRlbT5hPmltZywuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0+aW1ne2xpbmUtaGVpZ2h0OjF9QG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksKC13ZWJraXQtdHJhbnNmb3JtLTNkKXsuY2Fyb3VzZWwtaW5uZXI+Lml0ZW17LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0Oy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC1wZXJzcGVjdGl2ZToxMDAwcHg7cGVyc3BlY3RpdmU6MTAwMHB4fS5jYXJvdXNlbC1pbm5lcj4uaXRlbS5hY3RpdmUucmlnaHQsLmNhcm91c2VsLWlubmVyPi5pdGVtLm5leHR7bGVmdDowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfS5jYXJvdXNlbC1pbm5lcj4uaXRlbS5hY3RpdmUubGVmdCwuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0ucHJldntsZWZ0OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0uYWN0aXZlLC5jYXJvdXNlbC1pbm5lcj4uaXRlbS5uZXh0LmxlZnQsLmNhcm91c2VsLWlubmVyPi5pdGVtLnByZXYucmlnaHR7bGVmdDowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfX0uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZSwuY2Fyb3VzZWwtaW5uZXI+Lm5leHQsLmNhcm91c2VsLWlubmVyPi5wcmV2e2Rpc3BsYXk6YmxvY2t9LmNhcm91c2VsLWlubmVyPi5hY3RpdmV7bGVmdDowfS5jYXJvdXNlbC1pbm5lcj4ubmV4dCwuY2Fyb3VzZWwtaW5uZXI+LnByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0uY2Fyb3VzZWwtaW5uZXI+Lm5leHR7bGVmdDoxMDAlfS5jYXJvdXNlbC1pbm5lcj4ucHJldntsZWZ0Oi0xMDAlfS5jYXJvdXNlbC1pbm5lcj4ubmV4dC5sZWZ0LC5jYXJvdXNlbC1pbm5lcj4ucHJldi5yaWdodHtsZWZ0OjB9LmNhcm91c2VsLWlubmVyPi5hY3RpdmUubGVmdHtsZWZ0Oi0xMDAlfS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZlLnJpZ2h0e2xlZnQ6MTAwJX0uY2Fyb3VzZWwtY29udHJvbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTUlO2ZvbnQtc2l6ZToyMHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT01MCk7b3BhY2l0eTouNX0uY2Fyb3VzZWwtY29udHJvbC5sZWZ0e2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLC41KSAwLHJnYmEoMCwwLDAsLjAwMDEpIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgwLDAsMCwuNSkgMCxyZ2JhKDAsMCwwLC4wMDAxKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKHJnYmEoMCwwLDAsLjUpKSx0byhyZ2JhKDAsMCwwLC4wMDAxKSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjUpIDAscmdiYSgwLDAsMCwuMDAwMSkgMTAwJSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjODAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5jYXJvdXNlbC1jb250cm9sLnJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLC4wMDAxKSAwLHJnYmEoMCwwLDAsLjUpIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgwLDAsMCwuMDAwMSkgMCxyZ2JhKDAsMCwwLC41KSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKHJnYmEoMCwwLDAsLjAwMDEpKSx0byhyZ2JhKDAsMCwwLC41KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjAwMDEpIDAscmdiYSgwLDAsMCwuNSkgMTAwJSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzgwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5jYXJvdXNlbC1jb250cm9sOmZvY3VzLC5jYXJvdXNlbC1jb250cm9sOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZmlsdGVyOmFscGhhKG9wYWNpdHk9OTApO291dGxpbmU6MDtvcGFjaXR5Oi45fS5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt6LWluZGV4OjU7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDotMTBweH0uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xMHB4fS5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0e3JpZ2h0OjUwJTttYXJnaW4tcmlnaHQ6LTEwcHh9LmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Zm9udC1mYW1pbHk6c2VyaWY7bGluZS1oZWlnaHQ6MX0uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2OmJlZm9yZXtjb250ZW50OidcMjAzOSd9LmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dDpiZWZvcmV7Y29udGVudDonXDIwM2EnfS5jYXJvdXNlbC1pbmRpY2F0b3Jze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMHB4O2xlZnQ6NTAlO3otaW5kZXg6MTU7d2lkdGg6NjAlO3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0Oi0zMCU7dGV4dC1hbGlnbjpjZW50ZXI7bGlzdC1zdHlsZTpub25lfS5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7bWFyZ2luOjFweDt0ZXh0LWluZGVudDotOTk5cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMDAwXDk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApO2JvcmRlcjoxcHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjEwcHh9LmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZXt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY2Fyb3VzZWwtY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNSU7Ym90dG9tOjIwcHg7bGVmdDoxNSU7ei1pbmRleDoxMDtwYWRkaW5nLXRvcDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuNil9LmNhcm91c2VsLWNhcHRpb24gLmJ0bnt0ZXh0LXNoYWRvdzpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpey5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXZ7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttYXJnaW4tdG9wOi0xMHB4O2ZvbnQtc2l6ZTozMHB4fS5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXZ7bWFyZ2luLWxlZnQ6LTEwcHh9LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHR7bWFyZ2luLXJpZ2h0Oi0xMHB4fS5jYXJvdXNlbC1jYXB0aW9ue3JpZ2h0OjIwJTtsZWZ0OjIwJTtwYWRkaW5nLWJvdHRvbTozMHB4fS5jYXJvdXNlbC1pbmRpY2F0b3Jze2JvdHRvbToyMHB4fX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6YWZ0ZXIsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmJlZm9yZSwuYnRuLXRvb2xiYXI6YWZ0ZXIsLmJ0bi10b29sYmFyOmJlZm9yZSwuY2xlYXJmaXg6YWZ0ZXIsLmNsZWFyZml4OmJlZm9yZSwuY29udGFpbmVyLWZsdWlkOmFmdGVyLC5jb250YWluZXItZmx1aWQ6YmVmb3JlLC5jb250YWluZXI6YWZ0ZXIsLmNvbnRhaW5lcjpiZWZvcmUsLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIsLmRsLWhvcml6b250YWwgZGQ6YmVmb3JlLC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIsLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDpiZWZvcmUsLm1vZGFsLWZvb3RlcjphZnRlciwubW9kYWwtZm9vdGVyOmJlZm9yZSwubW9kYWwtaGVhZGVyOmFmdGVyLC5tb2RhbC1oZWFkZXI6YmVmb3JlLC5uYXY6YWZ0ZXIsLm5hdjpiZWZvcmUsLm5hdmJhci1jb2xsYXBzZTphZnRlciwubmF2YmFyLWNvbGxhcHNlOmJlZm9yZSwubmF2YmFyLWhlYWRlcjphZnRlciwubmF2YmFyLWhlYWRlcjpiZWZvcmUsLm5hdmJhcjphZnRlciwubmF2YmFyOmJlZm9yZSwucGFnZXI6YWZ0ZXIsLnBhZ2VyOmJlZm9yZSwucGFuZWwtYm9keTphZnRlciwucGFuZWwtYm9keTpiZWZvcmUsLnJvdzphZnRlciwucm93OmJlZm9yZXtkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6IiAifS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDphZnRlciwuYnRuLXRvb2xiYXI6YWZ0ZXIsLmNsZWFyZml4OmFmdGVyLC5jb250YWluZXItZmx1aWQ6YWZ0ZXIsLmNvbnRhaW5lcjphZnRlciwuZGwtaG9yaXpvbnRhbCBkZDphZnRlciwuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmFmdGVyLC5tb2RhbC1mb290ZXI6YWZ0ZXIsLm1vZGFsLWhlYWRlcjphZnRlciwubmF2OmFmdGVyLC5uYXZiYXItY29sbGFwc2U6YWZ0ZXIsLm5hdmJhci1oZWFkZXI6YWZ0ZXIsLm5hdmJhcjphZnRlciwucGFnZXI6YWZ0ZXIsLnBhbmVsLWJvZHk6YWZ0ZXIsLnJvdzphZnRlcntjbGVhcjpib3RofS5jZW50ZXItYmxvY2t7ZGlzcGxheTpibG9jazttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfS5wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0ucHVsbC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5oaWRle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnNob3d7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbn0udGV4dC1oaWRle2ZvbnQ6MC8wIGE7Y29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5oaWRkZW57ZGlzcGxheTpub25lIWltcG9ydGFudH0uYWZmaXh7cG9zaXRpb246Zml4ZWR9QC1tcy12aWV3cG9ydHt3aWR0aDpkZXZpY2Utd2lkdGh9LnZpc2libGUtbGcsLnZpc2libGUtbWQsLnZpc2libGUtc20sLnZpc2libGUteHN7ZGlzcGxheTpub25lIWltcG9ydGFudH0udmlzaWJsZS1sZy1ibG9jaywudmlzaWJsZS1sZy1pbmxpbmUsLnZpc2libGUtbGctaW5saW5lLWJsb2NrLC52aXNpYmxlLW1kLWJsb2NrLC52aXNpYmxlLW1kLWlubGluZSwudmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssLnZpc2libGUtc20tYmxvY2ssLnZpc2libGUtc20taW5saW5lLC52aXNpYmxlLXNtLWlubGluZS1ibG9jaywudmlzaWJsZS14cy1ibG9jaywudmlzaWJsZS14cy1pbmxpbmUsLnZpc2libGUteHMtaW5saW5lLWJsb2Nre2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey52aXNpYmxlLXhze2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fXRhYmxlLnZpc2libGUteHN7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9dHIudmlzaWJsZS14c3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9dGQudmlzaWJsZS14cyx0aC52aXNpYmxlLXhze2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudmlzaWJsZS14cy1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey52aXNpYmxlLXhzLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudmlzaWJsZS14cy1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNte2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fXRhYmxlLnZpc2libGUtc217ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9dHIudmlzaWJsZS1zbXtkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9dGQudmlzaWJsZS1zbSx0aC52aXNpYmxlLXNte2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo5OTFweCl7LnZpc2libGUtc20tYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo5OTFweCl7LnZpc2libGUtc20taW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjk5MXB4KXsudmlzaWJsZS1zbS1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KXsudmlzaWJsZS1tZHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLW1ke2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fXRyLnZpc2libGUtbWR7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUtbWQsdGgudmlzaWJsZS1tZHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KXsudmlzaWJsZS1tZC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTlweCl7LnZpc2libGUtbWQtaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTlweCl7LnZpc2libGUtbWQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudmlzaWJsZS1sZ3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLWxne2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fXRyLnZpc2libGUtbGd7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUtbGcsdGgudmlzaWJsZS1sZ3tkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey52aXNpYmxlLWxnLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey52aXNpYmxlLWxnLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnZpc2libGUtbGctaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5oaWRkZW4teHN7ZGlzcGxheTpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjk5MXB4KXsuaGlkZGVuLXNte2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSBhbmQgKG1heC13aWR0aDoxMTk5cHgpey5oaWRkZW4tbWR7ZGlzcGxheTpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuaGlkZGVuLWxne2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fS52aXNpYmxlLXByaW50e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIHByaW50ey52aXNpYmxlLXByaW50e2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fXRhYmxlLnZpc2libGUtcHJpbnR7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9dHIudmlzaWJsZS1wcmludHtkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9dGQudmlzaWJsZS1wcmludCx0aC52aXNpYmxlLXByaW50e2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9fS52aXNpYmxlLXByaW50LWJsb2Nre2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIHByaW50ey52aXNpYmxlLXByaW50LWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX0udmlzaWJsZS1wcmludC1pbmxpbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7LnZpc2libGUtcHJpbnQtaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH19LnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIHByaW50ey52aXNpYmxlLXByaW50LWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9fUBtZWRpYSBwcmludHsuaGlkZGVuLXByaW50e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fQ0KLyojIHNvdXJjZU1hcHBpbmdVUkw9Ym9vdHN0cmFwLm1pbi5jc3MubWFwICov"}},"time_used":104,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":99,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.363Z","timestamp":1785123386363,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/1jE4zHXbNUM\r\nCookie: __Secure-YNID=20.YT=ACUFOM3MDkNlMvNE5tDAPRZqHyc8HUq6iYvUgEF1js7uVm3Y31bhiIf3sVy4Hyrvgc1OCcHOSp3vsPk12xuHnAhC1Cf-xEwH-8JAvj7gSksWox0nkC6On-8HrUpiNpbDsON7P2d2WEPcvLJM09w4iFsjyc_8T-qrQ0o1v2sJWKWT_Z3Uow-3_y6UiAY8Vbe7BIDaKFErBOC2kWOBSpXwq3nYab8hNVEUPvsfWuKC-MRJZnr7wGh8LavkHs5oAOt2osUNkzgjw-nnLgGDpE17OFrXWJtGeCijcF2DuDXuyJlEZANCnD74xKNqRr8pDJRMH9psiz0sP7MpCDXOwn8F6w; YSC=b0pYTBtcjuk; __Secure-ROLLOUT_TOKEN=CJ3oqsnxxYqOfxD6qa3q9vGVAxj6qa3q9vGVAw%3D%3D; VISITOR_INFO1_LIVE=l_LgHcz9JSg; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaA%3D%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\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 235736\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:01:31 GMT\r\nexpires: Sat, 24 Jul 2027 13:01:31 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 225295\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":942843,"size_decoded":236650,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65533), with no line terminators","md5":"6f2dc696d3e2c5e8b0536728ac5a3aea","sha1":"8da6a7915f0b3ff607db13862fc417574d8d4999","sha256":"4036991c2199a96276eabd866d75631508768ad958639f2ef3d985061bddef47","sha512":"481bcb7979552bb2b61e9faaf2cc6abdeeb36c7e5e4e0a483ba1e93c62bea4c29bd94f525ec183b9a9bb4518f02e3e9748be080d771f801fa3cc7d4e73a09116","ssdeep":"12288:Rhrh0EencTyXGld16WDVcIm4zDSG8UvCeoBJjlXc7WPz6/wWXqkZTNvl6hkTeubf:R41jofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"a2159ff0b25271b4d147b926fab7c003b57e4903e2081879f0a7ae9c55fca942e77729","first_seen":"2026-07-24T13:38:07.888738Z","last_seen":"2026-07-27T16:56:48.650117Z","times_seen":570,"resource_available":true,"data":"InVzZSBzdHJpY3QiO19GX2luc3RhbGxDc3MoIjpyb290ey0tdDdmNGYyYzZkNTQ4MzZjZTA6aW5pdGlhbDstLXQ3ZDhiOGU1ZWUyOTFhZWMwOmluaXRpYWw7LS10NDcyNmM2OGVmNmQ3YjA4Zjppbml0aWFsOy0tdGYwYTBkMTE1NDgyNzg0N2Y6aW5pdGlhbDstLXQzZTQxZDdiMTdiMTg3ZjY5OmluaXRpYWw7LS10ZmY2NTk5MzM4NGJiNDU2MDppbml0aWFsOy0tdGUyODY3YjEzZDc3MWQwNTU6aW5pdGlhbDstLXQ5MzNkNzkyMmYzMTU4ZGM1OmluaXRpYWw7LS10MjY0ZTJjOWNiODc4OTFmOTppbml0aWFsOy0tdDIwNmYzZmEyZTAxYWYyMmQ6aW5pdGlhbDstLXQzNGY0NmYwZjJjMTNkMzI4OmluaXRpYWw7LS10ODU0Yzc5MzM4ZDhjYThhNzppbml0aWFsOy0tdDIwNDgwNzE3ZGU4MGY1NTU6aW5pdGlhbDstLXQyZDgwN2JiNzllNzU2MDZkOmluaXRpYWw7LS10NjE3ZGI3NzZhZjBkZTE5Njppbml0aWFsOy0tdGI2MjgxMTdmYzE2NGFkODc6aW5pdGlhbDstLXRkNTQ1ZGYwNGUyYzY1OWQ3OmluaXRpYWw7LS10NTM5OTFkNTk5YjE0ODhmNTppbml0aWFsOy0tdGE4ODlkZmRhOTYwNWEzNTg6aW5pdGlhbDstLXQ1OTc4ZGE4ZDU4NGI4ZmU5OmluaXRpYWw7LS10MTI0YjdkYWZlOWJjMzY2ZDppbml0aWFsOy0tdGRiZTUwZDI3ZDUxZjUwOTM6aW5pdGlhbDstLXRhNTY0ZDgyMTJiY2NiMTZhOmluaXRpYWw7LS10OTlmNzc0Njg0Y2JiOTcwMzppbml0aWFsOy0tdDRlNmRmOWIyYjZiOTdlMDA6aW5pdGlhbDstLXRiOGIzMWFjNTYyZmJlOWI1OmluaXRpYWw7LS10NTg4NDY3MjAwNGQ1NjEyMDppbml0aWFsOy0tdGVmNzBjYTI0NTQ0NWI1MmI6aW5pdGlhbDstLXQ0ZjA5MjJlNWEzZDBjMjBmOmluaXRpYWw7LS10N2RmYTZmODRjOTM0NmVkZjppbml0aWFsOy0tdGVjYmRmOTI0YjYzYjI3ZmM6aW5pdGlhbDstLXQxNDA1ZTcwYTM5Mjc2MjkzOmluaXRpYWw7LS10YWQ4NDQzZmFlZDY2YzExMTppbml0aWFsOy0tdGU2ZDJiNDI4ZGU2ODU1NGE6aW5pdGlhbDstLXRjOTgwYzU0NzgxMjRjOGM3OmluaXRpYWw7LS10OTY1NjQ0ZWNkYmU0YjdiODppbml0aWFsOy0tdGIxNGExMGMzYjQzYTE1YTM6aW5pdGlhbDstLXRiMTNmZjg3OTc4MjllNzllOmluaXRpYWw7LS10ZTU2NjhlNjExMWFiYTBlZDppbml0aWFsOy0tdGE3ZDYyOGZhY2ZlODRkMTg6aW5pdGlhbDstLXRiZTQyMjY5NTM0NjU1ZTY3OmluaXRpYWw7LS10YWI4MDU5MjM2MDYzY2FkYjppbml0aWFsOy0tdDczNWU0MzVhOGI3YWQ2N2M6aW5pdGlhbDstLXQyMWFmMDhmZGJmNmExNDA2OmluaXRpYWw7LS10YzYwNDExM2QwOWZlZTA1ZDppbml0aWFsOy0tdDA4YTdjNmMxNzZjYmM1YzI6aW5pdGlhbDstLXQ4Y2RjOTg0NmE3NmNhZjFmOmluaXRpYWw7LS10ZTFiNjRlNjk3MTA0MDM5Njppbml0aWFsOy0tdDQxNmU1OTMxZmM0NjQ1ODk6aW5pdGlhbDstLXRiN2Q3NGJiMzI5MWM5NTFkOmluaXRpYWw7LS10ZjNmYzg1NWFmMjI4NWY1Zjppbml0aWFsOy0tdDBhMTI0OWY3YzllODJiNWU6aW5pdGlhbDstLXQwMmMwYTJjODY4YzE0Y2U4OmluaXRpYWw7LS10ZDg1NjJjZGMyMDNiYzY4Mzppbml0aWFsOy0tdDUzZGRhOTEyNWU4ZDEzMjQ6aW5pdGlhbDstLXQ1NDRlMzE3MTRmNjNkNTNjOmluaXRpYWw7LS10ODdlYWJmMTEzYTE1YWM5Njppbml0aWFsOy0tdDg1OGI4MDlmODA0NGU5NjI6aW5pdGlhbDstLXQwZjU5MjkxY2U1NTA0NTQzOmluaXRpYWw7LS10ZmFhZTk2NjkyY2MxODJlNDppbml0aWFsOy0tdDUxOGU5MjVmNjFiZGNiOTE6aW5pdGlhbDstLXRiOTI3ZjVjMDE0OTAwNGM2OmluaXRpYWw7LS10ODMyZjIyY2U2NjE4ZTk5ZTppbml0aWFsOy0tdDQ1YjJhMzgzMTQ5MjQzNTc6aW5pdGlhbDstLXQ2OTMxYWExODI2YjM3M2IyOmluaXRpYWw7LS10ZWQ0MjM2NTM2ODk5ZTRiMzppbml0aWFsOy0tdGRjOGFmNjc1MGYwZGFkMGQ6aW5pdGlhbDstLXQzNDEwYzkxNjQ5ZTVlYjhhOmluaXRpYWw7LS10NGFlYWE4NTdkZThhNzg2Yjppbml0aWFsOy0tdDI5NmM3ZjgxZGQwOWE5YzM6aW5pdGlhbDstLXRmYTM0NzVjNTA4ZjVkZmVmOmluaXRpYWw7LS10OWJjMGI3NDAyNDJkYTAxNzppbml0aWFsOy0tdDQ0MWEwZTQ0ZTQ5NTM4MWE6aW5pdGlhbDstLXRkZTQxMzM4ZmMyYmQ0YmE1OmluaXRpYWw7LS10NGQ3Nzc2YzI4ZGIyMTEyMjppbml0aWFsOy0tdDdlMzRkNWJhYTRlYTYyNzc6aW5pdGlhbDstLXRjNGIyNjA0MmQ0Y2IxNDFmOmluaXRpYWw7LS10NTIwOGZkMTc3YTc4OGNmYTppbml0aWFsOy0tdGZmYzJmZDNhNjQ0ZjYyNzU6aW5pdGlhbDstLXQ2MjE2MTg2YzI4YjM4MzRiOmluaXRpYWw7LS10NGE2ZGExOWUxNmJmMjIxYTppbml0aWFsOy0tdGQ5YzE5ZjRmOGNlY2Q1NmU6aW5pdGlhbDstLXQzZjNiZGI0MTQwZDNlYWQ3OmluaXRpYWw7LS10OTA0YTg4YzYyM2NhMjdhYjppbml0aWFsOy0tdDJjM2JiZmY2YzE1YTNlYjI6aW5pdGlhbDstLXQwY2NkMWFjZTAwMGQ1ZTkzOmluaXRpYWw7LS10Yzg3ZjZhN2YwNWU2NWZjNDppbml0aWFsOy0tdGMwNGJhM2U3MzU2MTk1M2M6aW5pdGlhbDstLXQ3YzQ5NjVjMTFmODUzN2MwOmluaXRpYWw7LS10NDMyZmJkYmQ3ZjJmM2Y3MTppbml0aWFsOy0tdGFmMWJkZDk2MTQyM2MxNWY6aW5pdGlhbDstLXQ5ZDdiZGNhZWZjOTc1ZDQ0OmluaXRpYWw7LS10NGZiMGY2N2IyNTFlMWE0Mjppbml0aWFsOy0tdGEwOGUwMzY0MTBjMTQ1Mzg6aW5pdGlhbDstLXQ3ZjliN2UxNjAzZTIwYjk0OmluaXRpYWx9LmRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxNnB4O21hcmdpbjowIGF1dG87b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2ZvbnQtc2l6ZToxLjNyZW07Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOm5vbmV9LmRpYWxvZy5tb2Rlcm4tZGlhbG9ne2JveC1zaGFkb3c6MCAwIDI0cHggMTJweCByZ2JhKDAsMCwwLDAuMjUpfS5kaWFsb2cucm91bmRlZC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czoxMnB4fS5kaWFsb2cubW9kZXJuLWRpYWxvZy1sYXlvdXR7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MjRweH0uZGlhbG9nLWJvZHl7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO21heC1oZWlnaHQ6MzAwcHg7bWF4LWhlaWdodDoxMDB2aH0uZGlhbG9nLnNjcm9sbGFibGUgLmRpYWxvZy1ib2R5e292ZXJmbG93LXk6dmlzaWJsZTtvdmVyZmxvdy14OnZpc2libGU7bWF4LWhlaWdodDp1bnNldH0uZGlhbG9nLWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS5kaWFsb2ctaGVhZGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGlhbG9nLWJ1dHRvbnMsLmRpYWxvZy1oZWFkZXJ7ZmxleC1zaHJpbms6MH0uZGlhbG9nLWJ1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDoxMnB4fS5kaWFsb2ctYnV0dG9ucz4qe21hcmdpbi1sZWZ0OjhweH0uZGlhbG9nLWJ1dHRvbnM+OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LmRpYWxvZy1mbGV4LWJ1dHRvbnstbW96LWJveC1mbGV4OjE7ZmxleDoxfS5kaWFsb2ctZmxleC1idXR0b24gLmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW46MH0uZGlhbG9nLWJvZHkgYSwuZGlhbG9nLWhlYWRlciBhe2NvbG9yOiMwNjVmZDR9LmRpYWxvZy1ib2R5IHl0bS1tZW51LWl0ZW0gYXtjb2xvcjpjdXJyZW50Y29sb3J9QG1lZGlhIChtaW4td2lkdGg6MzMwcHgpIGFuZCAobWluLWhlaWdodDozMzBweCl7LmRpYWxvZ3ttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjM1NnB4fS5kaWFsb2ctY29udGFpbmVye21hcmdpbjowIDQwcHg7cGFkZGluZzowO3BhZGRpbmc6MCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KX19LmRpYWxvZy1mdWxsc2NyZWVue21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjFweH0uZGlhbG9nLWZ1bGxzY3JlZW4+LmRpYWxvZy1ib2R5e2hlaWdodDoxMDAlfS5kaWFsb2cubW9kZXJuLWRpYWxvZy1sYXlvdXQuZGlhbG9nLWZ1bGxzY3JlZW57Ym9yZGVyLXJhZGl1czowfS5kaWFsb2ctY29udGFpbmVyLmRpYWxvZy1mdWxsc2NyZWVue21hcmdpbjowfWMzLXRvYXN0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1O2xlZnQ6MDtyaWdodDowO2JvdHRvbTowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjE0cHggMjRweDtmb250LXNpemU6MS40cmVtO2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMGYwZjBmO3dpbGwtY2hhbmdlOnRyYW5zZm9ybTttYXJnaW4tYm90dG9tOi0xMDAlfWMzLXRvYXN0Lmh1Zy10b2FzdHttYXgtd2lkdGg6MzQ0cHh9YzMtdG9hc3QuaW52ZXJzZS10aGVtZXtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzAzMDMwM31jMy10b2FzdC5pbnZlcnNlLXRoZW1lIC5idXR0b24td2l0aC1pY29ue2NvbG9yOiMwNjVmZDR9W2hhcy1zYWZlLWFyZWEtaW4tbWF4PXRydWVdIGMzLXRvYXN0e3BhZGRpbmc6MTRweCAyNHB4O3BhZGRpbmc6MTRweCBtYXgoMjRweCxlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgMTRweCBtYXgoMjRweCxlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKX1baGFzLXBpdm90LWJhcj10cnVlXSBjMy10b2FzdHstLXNhZmUtYXJlYS1pbnNldC10b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApOy0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbTplbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7Ym90dG9tOjQ4cHg7Ym90dG9tOmNhbGMoNDhweCArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTttYXJnaW4tYm90dG9tOi0xMDAlO21hcmdpbi1ib3R0b206Y2FsYygtMTAwJSArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTt6LWluZGV4OjJ9W21vZGFsLW9wZW4tYm9keV0gYzMtdG9hc3QsW3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gYzMtdG9hc3R7Ym90dG9tOjhweDttYXJnaW4tYm90dG9tOi0xMDAlO3otaW5kZXg6NX1jMy10b2FzdFtkaXI9b3V0XXt0cmFuc2l0aW9uOm1hcmdpbiAxOTVtcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfWMzLXRvYXN0W2Rpcj1pbl17dHJhbnNpdGlvbjptYXJnaW4gMjI1bXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTttYXJnaW4tYm90dG9tOjB9QGtleWZyYW1lcyBzcGlubmVyezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5zcGlubmVyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zcGlubmVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjoxMnB4IGF1dG87d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXRvcC1jb2xvcjojNjY2O2FuaW1hdGlvbjpzcGlubmVyIC44cyBsaW5lYXIgaW5maW5pdGV9LnNwaW5uZXI+LmhpZGRlbntkaXNwbGF5Om5vbmV9LnNwaW5uZXI6bm90KFtoaWRkZW5dKXtjb2xvcjojMzMzO2ZvbnQtc2l6ZToxLjZyZW19aHRtbHtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250LXNpemU6MTBweDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn1ib2R5e21hcmdpbjowO3BhZGRpbmc6MDtwYWRkaW5nOjAgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdy14OmhpZGRlbn1baGlkZGVuXVtoaWRkZW5de2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn15dG0tYXBwPi5zcGlubmVye21hcmdpbi10b3A6MTAwcHh9eXRtLWhlYWRlcntkaXNwbGF5OmJsb2NrfWhlYWRlcntoZWlnaHQ6NDhweH0ucGxheWVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NDhweDtyaWdodDowO3JpZ2h0OmVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn1baGFzLXBsYXllci1jdXN0b20tY29udHJvbD10cnVlXSAucGxheWVyLWNvbnRhaW5lcntvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0jcGxheWVyLmlubGluZS1wbGF5ZXItaGlkZGVuLC5pbmxpbmUtcGxheWVyLWhpZGRlbntvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZX0ucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjU2LjI1JTtvdmVyZmxvdzpoaWRkZW59LnBsYXllci1jb250YWluZXIgI3BsYXllci5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple2JhY2tncm91bmQtY29sb3I6IzAwMH0ucGxheWVyLWNpbmVtYXRpY3N7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6IzAwMH0ucGxheWVyLWNpbmVtYXRpY3N+I3BsYXllci5wbGF5ZXItc2l6ZSwucGxheWVyLWNpbmVtYXRpY3N+LnBsYXllci1zaXple2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnBhZ2Utc2hvcnRzIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwucGFnZS1zaG9ydHMgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTowfS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItYXBpe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGxheWVyLWFwaVtoaWRkZW5dLC5wbGF5ZXItYXBpW2xvYWRpbmc9dHJ1ZV0sLnBsYXllci1hcGlbcGxheWFibGU9ZmFsc2Vde2Rpc3BsYXk6bm9uZX0jcGxheWVyLmlubGluZS1vbi10aHVtYm5haWx7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowfS5wbGF5ZXItY29udGFpbmVyIC5odG1sNS12aWRlby1wbGF5ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9eXRtLWFwcHtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6aGlkZGVufVtoYXMtc29mdC1iYXI9dHJ1ZV0geXRtLWFwcHtwYWRkaW5nLWJvdHRvbTozMHB4fVtoYXMtcGl2b3QtYmFyPXRydWVdIHl0bS1hcHB7cGFkZGluZy1ib3R0b206NDhweH15dG0taGVhZGVyLmlzLWF1dG9tb3RpdmUseXRtLWhlYWRlci5zdGlja3ktcGxheWVyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLmlzLWF1dG9tb3RpdmUseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuc2hvcnRzLXRvcGJhcix5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6NDtwYWRkaW5nOjA7cGFkZGluZzowIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIDAgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KX15dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVyLm91dHt0b3A6LTQ4cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTk1bXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbH15dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVyLmlue3RvcDowO3RyYW5zaXRpb246dHJhbnNmb3JtIDIyNW1zIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9LnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntwb3NpdGlvbjpmaXhlZDt0b3A6NDhweDtyaWdodDowO3JpZ2h0OmVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn0ucGxheWVyLWNvbnRhaW5lci5oZWFkZXItaW4tcGxheWVyLC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXIuaGVhZGVyLWluLXBsYXllcnt0b3A6MH15dG0tYXBwLmlzLWF1dG9tb3RpdmUseXRtLWFwcC5zdGlja3ktcGxheWVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NDhweH15dG0tYXBwLmlzLWF1dG9tb3RpdmUuaGVhZGVyLWluLXBsYXllcix5dG0tYXBwLnN0aWNreS1wbGF5ZXIuaGVhZGVyLWluLXBsYXllcntwYWRkaW5nLXRvcDowfUBtZWRpYSAobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjI1NnB4fWJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjU2cHgpfWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIsYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjI1NnB4fWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDI1NnB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MzM2cHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MzM2cHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLWFsbC1sYW5kc2NhcGUtdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1Ac3VwcG9ydHMgKGFzcGVjdC1yYXRpbzoxNi85KXsubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTp1bnNldDthc3BlY3QtcmF0aW86MTYvOX19Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIHl0bS13YXRjaCAucGxheWVyLXNpemV7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDhweCk7bWF4LWhlaWdodDpjYWxjKDEwMHN2aCAtIDQ4cHgpfX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MjEvMTApIGFuZCAobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn19QG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOjE2LzkpIGFuZCAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDMzNnB4KX0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IC5wbGF5ZXItY29udGFpbmVye2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QHN1cHBvcnRzIChhc3BlY3QtcmF0aW86MTYvOSl7Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDphdXRvO2FzcGVjdC1yYXRpbzoxNi85fX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjUwMHB4fWJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIsYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjUwMHB4fWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDUwMHB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfX1AbWVkaWEgKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnNob3J0cy10b3BiYXJ7cmlnaHQ6NzJweH0ucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTpjYWxjKDU2LjI1JSAtIDk2cHgpfS5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciB5dG0td2F0Y2ggLnBsYXllci1zaXple2hlaWdodDpjYWxjKDU2LjI1dncgLSA5NnB4KTtwYWRkaW5nLWJvdHRvbTp1bnNldDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwc3ZoIC0gNDhweCl9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206NTYuMjUlfX1AbWVkaWEgKG1heC13aWR0aDozMjBweCkgYW5kIChtYXgtaGVpZ2h0OjI0MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206NTYuMjUlfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1hcHB7cGFkZGluZy10b3A6NDhweH15dG0taGVhZGVyLHl0bS1oZWFkZXItYmFyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6NH19LmNvbnRlbnQtZXJyb3J7Zm9udC1zaXplOjEuNHJlbTtwYWRkaW5nOjEycHg7dGV4dC1hbGlnbjpjZW50ZXJ9I3BsYXllci10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtvYmplY3QtZml0OmNvdmVyO21pbi1oZWlnaHQ6MH0jcGxheWVyLWNvbnRhaW5lci1pZFtwbGF5YWJsZT10cnVlXSAjcGxheWVyLXRodW1ibmFpbC1vdmVybGF5e3Zpc2liaWxpdHk6aGlkZGVufWJvZHkucGFnZS1zaG9ydHMsaHRtbFtwYWdlLXNob3J0c117b3ZlcnNjcm9sbC1iZWhhdmlvci15Om5vbmV9Ym9keS5sb2FkaW5nLnBhZ2Utc2hvcnRzICNoZWFkZXIsYm9keS5sb2FkaW5nLnBhZ2Utc2hvcnRzIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcntkaXNwbGF5Om5vbmV9Ym9keS5wYWdlLXNob3J0cyAjcGxheWVyLWNvbnRhaW5lci1pZCxib2R5LnBhZ2Utc2hvcnRzIC5wbGF5ZXItY29udGFpbmVyICNwbGF5ZXJ7aGVpZ2h0OjEwMCU7dG9wOjB9KnstbXMtZmxleDowIDEgYXV0b31idXR0b257cGFkZGluZzowO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9aHRtbHt3b3JkLXdyYXA6YnJlYWstd29yZDtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5W2Rpc2FibGUtdGFwLWhpZ2hsaWdodD10cnVlXSBbcm9sZT1idXR0b25dLGJvZHlbZGlzYWJsZS10YXAtaGlnaGxpZ2h0PXRydWVdIGEsYm9keVtkaXNhYmxlLXRhcC1oaWdobGlnaHQ9dHJ1ZV0gYnV0dG9uey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1odG1sW2Rhcmtlci1kYXJrLXRoZW1lXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9aHRtbC53YXRjaC1zY3JvbGx7c2Nyb2xsLXBhZGRpbmctdG9wOjQ4cHh9aHRtbC53YXRjaC1zY3JvbGwuc3RpY2t5LXBsYXllcntzY3JvbGwtcGFkZGluZy10b3A6Y2FsYyg0OHB4ICsgNTYuMjV2dyl9aW5wdXR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLWJvdHRvbTo0cHg7b3V0bGluZTpub25lOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxcHg7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzczNzM3Mzt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9aW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9aW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfXRleHRhcmVhe2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZy1ib3R0b206NHB4O291dGxpbmU6bm9uZTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO21hcmdpbi1ib3R0b206MXB4O2ZvbnQ6aW5oZXJpdDtjb2xvcjojMDMwMzAzOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttaW4taGVpZ2h0OjguNHJlbTt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6OHB4fXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfXRleHRhcmVhOjpwbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX1mb3Jte21hcmdpbjowfWF7Y29sb3I6Y3VycmVudENvbG9yO3RleHQtZGVjb3JhdGlvbjpub25lfWgxe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7bWFyZ2luLWJvdHRvbTowfWgye2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuOHJlbTttYXJnaW4tYm90dG9tOjB9aDN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS40cmVtO21hcmdpbi1ib3R0b206MH1oNHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjNyZW07bWFyZ2luLWJvdHRvbTowfWltZ3ttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4O2ZpbHRlcjpub25lfWltZzpub3QoW3NyY10pe3Zpc2liaWxpdHk6aGlkZGVufTpmb2N1c3tvdXRsaW5lOm5vbmV9cHttYXJnaW46MH0uaXRlbXttYXJnaW4tdG9wOjEycHg7ZGlzcGxheTpibG9ja30uaXRlbTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5pdGVte21hcmdpbi10b3A6OHB4fX0uaW1hZ2Utb3ZlcmxheS10ZXh0e3RleHQtc2hhZG93OjFweCAxcHggaHNsYSgwLDAlLDYuNyUsLjIpLC0xcHggMXB4IGhzbGEoMCwwJSw2LjclLC4yKSwtMXB4IC0xcHggaHNsYSgwLDAlLDYuNyUsLjIpLDFweCAtMXB4IGhzbGEoMCwwJSw2LjclLC4yKX0jcGxheWVyLWNvbnRyb2wtY29udGFpbmVyey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX1bZGlyPXJ0bF0gI3BsYXllci1zaG9ydHMtY29udGFpbmVye2RpcmVjdGlvbjpydGx9W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAjcGxheWVyLWNvbnRyb2wtY29udGFpbmVyLFtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIgI3BsYXllcixbc2hvcnRzLXBsYXllcj10cnVlXSAjcGxheWVyLXNob3J0cy1jb250YWluZXIsW3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgI3BsYXllcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwYWRkaW5nLWJvdHRvbTowfS5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyOmZ1bGxzY3JlZW4gLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIFtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXple2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTthc3BlY3QtcmF0aW86YXV0b31bZmF1eC1mdWxsc2NyZWVuPXRydWVdW2Z1bGxzY3JlZW4tcmVqZWN0ZWQ9dHJ1ZV0gI2FwcHtkaXNwbGF5Om5vbmV9W3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIsW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSB5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlcixbc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lcixbc2hvcnRzLXBsYXllcj10cnVlXSB5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlcjpub3QoLnNob3J0cy10b3BiYXIpe292ZXJmbG93OnZpc2libGU7ei1pbmRleDo0fVtzaG9ydHMtcGxheWVyPXRydWVdIC5wbGF5ZXItY29udGFpbmVyIC55dHAtdW5tdXRlLnl0cC1wb3B1cHt0b3A6NzVweDtsZWZ0OjA7bGVmdDplbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfVtyb2xlPWJ1dHRvbl0sYnV0dG9uLGlucHV0W3R5cGU9Y2hlY2tib3hdLHNlbGVjdHtjdXJzb3I6cG9pbnRlcn15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCU7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl17d2lkdGg6dmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpO2hlaWdodDp2YXIoLS15dGQtc2hvcnRzLXBsYXllci1oZWlnaHQpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl0gLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGF7bWFyZ2luLXJpZ2h0OnZhcigtLWFjdGlvbi1idXR0b24tZnVsbC13aWR0aC1uZWdhdGl2ZSk7cGFkZGluZy1yaWdodDp2YXIoLS1hY3Rpb24tYnV0dG9uLWZ1bGwtd2lkdGgpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1hY3Rpb24tYmFyXXt3aWR0aDpjYWxjKHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSArIDcycHgpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1hY3Rpb24tYmFyXSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXttYXJnaW4tcmlnaHQ6MDtwYWRkaW5nLXJpZ2h0OjB9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJdIC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7bWFyZ2luLWJvdHRvbToxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XXt3aWR0aDoxMDAlfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXt3aWR0aDpjYWxjKCgxMDAlIC0gbWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwgMzE1cHgpKS8yKTttYXJnaW4tcmlnaHQ6bWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwzMTVweCk7cGFkZGluZy1yaWdodDowO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtmaWx0ZXI6dW5zZXQ7bWluLXdpZHRoOjM2MHB4O21heC13aWR0aDo0ODBweDtwYWRkaW5nLWxlZnQ6MTZweH15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcltpcy13ZWJdW2V4dHJhY3Qtb3ZlcmxheV0gLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9uc3stbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXIgYnV0dG9uOm5vdChbYXJpYS1wcmVzc2VkPXRydWVdKSBjMy1pY29ue2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCA2cHggcmdiYSgwLDAsMCwuNCkpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse3RleHQtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLDAuOCl9LnJlZWwtcGxheWVyLW92ZXJsYXktbWFpbi1jb250ZW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kOy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIDAlO2FsaWduLXNlbGY6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21pbi13aWR0aDowO21hcmdpbjowIDAgMTZweCAxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2RhdGEtaGFzLWluZm8tcGFuZWw9dHJ1ZV0rLlByb2dyZXNzQmFyU2hvd2luZ3twYWRkaW5nLXRvcDoxNnB4fS5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhIHl0LW1ldGFkYXRhLWJhZGdlLXJlbmRlcmVye2hlaWdodDoyNHB4O3BhZGRpbmc6M3B4IDRweCAzcHggMH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDRweCAxNnB4IDRweDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnJlZWwtcGxheWVyLW92ZXJsYXktdG9wLWJhcntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctdG9wOjJweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIC5idXR0b24td2l0aC1pY29ue21hcmdpbjowIWltcG9ydGFudDttaW4td2lkdGg6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24gLmJ1dHRvbi1yZW5kZXJlci10ZXh0e21hcmdpbi10b3A6N3B4O21heC13aWR0aDo2NHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1idXR0b24tcmVuZGVyZXJ7bWF4LXdpZHRoOjY0cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXJ7bWFyZ2luLXRvcDo0cHg7ZGlzcGxheTpibG9jazstbW96LWJveC1mbGV4OjE7ZmxleDoxO3BhZGRpbmctcmlnaHQ6NHB4O3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyBwaXZvdC1idXR0b24tdmlldy1tb2RlbCwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1idXR0b24tcmVuZGVyZXIsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlcntkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luOjB9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHBpdm90LWJ1dHRvbi12aWV3LW1vZGVsLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDouM2VtfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJvdHRvbS1zaGVldC1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1tZW51LXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDowfX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1tZW51LXJlbmRlcmVyIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgYnV0dG9uPi5idXR0b24td2l0aC1pY29uLWlubmVyey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciB5dG0tcHJvZmlsZS1pY29ue2JvcmRlcjoxcHggc29saWQgI2ZmZn1AbWVkaWEgKG1heC1oZWlnaHQ6NDExcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIC5idXR0b24td2l0aC1pY29uLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UtcmVuZGVyZXJ7bWluLWhlaWdodDo0MHB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24gLmJ1dHRvbi1yZW5kZXJlci10ZXh0LC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3R7ZGlzcGxheTpub25lfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXIgLmljb24tYnV0dG9ue2hlaWdodDozMnB4fX0ubG9nby1pbi1wbGF5ZXIsLm1vYmlsZS10b3BiYXItbG9nb3tjb2xvcjojZjAzO3BhZGRpbmc6MCAxMnB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luLWxlZnQ6LTFweH0ubG9nby1pbi1wbGF5ZXIuZnVsbC1sb2dvLC5tb2JpbGUtdG9wYmFyLWxvZ28uZnVsbC1sb2dve3dpZHRoOjkzcHg7aGVpZ2h0OjIwcHg7Y29sb3I6IzAwMDttYXJnaW4tbGVmdDowfS5sb2dvLWluLXBsYXllci5zaG9ydHMtbG9nbywubW9iaWxlLXRvcGJhci1sb2dvLnNob3J0cy1sb2dve3dpZHRoOjczcHg7aGVpZ2h0OjI1cHg7Y29sb3I6IzAwMDttYXJnaW4tbGVmdDowfS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ28tcmVkLC5tb2JpbGUtdG9wYmFyLWxvZ28uZnVsbC1sb2dvLXJlZHt3aWR0aDoxMDFweH0ubG9nby1pbi1wbGF5ZXItZW5kcG9pbnQsLm1vYmlsZS10b3BiYXItaGVhZGVyLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7dGV4dC1hbGlnbjpsZWZ0fS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ297Y29sb3I6I2ZmZn0ubW9ub2Nocm9tYXRpYyBzdmcgcGF0aHtmaWxsOiNmZmZ9eXRtLXN1YnNjcmliZS1idXR0b24tcmVuZGVyZXJ7ZGlzcGxheTpibG9ja315dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlciAuYnV0dG9uLXJlbmRlcmVyLWljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubW9kZXJuLXN1YnNjcmliZS1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtjb2xvcjojNjA2MDYwO2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luOjAgOHB4fUBrZXlmcmFtZXMgbm90aWZpY2F0aW9uLWJlbGwtZmFkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19Lm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NTtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lci5oaWRkZW57ZGlzcGxheTpub25lfS5ub3RpZmljYXRpb24tYmVsbHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LTJweDthbmltYXRpb246bm90aWZpY2F0aW9uLWJlbGwtZmFkZS1pbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7cGFkZGluZy1sZWZ0OjB9Lll0bVZpZGVvSW5mb0V4cGFuZGVkIC5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdCwueXRtVmlkZW9JbmZvRXhwYW5kZWQgLm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3RyYW5zaXRpb246bm9uZX0ud2l0aC1ub3RpZmljYXRpb24tYmVsbCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtwYWRkaW5nLWxlZnQ6MjRweH0ueXRDb3JlSW1hZ2VIb3N0e3Zpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi1oZWlnaHQ6MXB4O21pbi13aWR0aDoxcHh9Lnl0Q29yZUltYWdlTG9hZGVke3Zpc2liaWxpdHk6aW5oZXJpdH0ueXRDb3JlSW1hZ2VGaWxsUGFyZW50SGVpZ2h0e2hlaWdodDoxMDAlfS55dENvcmVJbWFnZUZpbGxQYXJlbnRXaWR0aHt3aWR0aDoxMDAlfS55dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wTGVmdHtvYmplY3QtcG9zaXRpb246dG9wIGxlZnR9Lnl0Q29yZUltYWdlT2JqZWN0UG9zaXRpb25Ub3BSaWdodHtvYmplY3QtcG9zaXRpb246dG9wIHJpZ2h0fS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVUb0ZpbGx7b2JqZWN0LWZpdDpmaWxsfS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaXR7b2JqZWN0LWZpdDpjb250YWlufS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaWxse29iamVjdC1maXQ6Y292ZXJ9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVDZW50ZXJ7b2JqZWN0LWZpdDpub25lO29iamVjdC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyfS55dENvcmVJbWFnZUZsaXBSdGx7dHJhbnNmb3JtOnNjYWxlWCgtMSl9Lnl0Q29yZUltYWdlR3JhZGllbnRDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRDb3JlSW1hZ2VHcmFkaWVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX06cm9vdHstLXl0LWF0dHJpYnV0ZWQtc3RyaW5nLWxpbmstaG92ZXItY29sb3I6dW5zZXR9Lnl0QXR0cmlidXRlZFN0cmluZ0lubGluZUJsb2NrTW9ke2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUFsaWdubWVudEJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50QmFzZWxpbmV7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50VmVydGljYWxDZW50ZXJ7dmVydGljYWwtYWxpZ246bWlkZGxlO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotLjA3ZW19Lnl0QXR0cmlidXRlZFN0cmluZ0xpc3RHcm91cHstbW96LXBhZGRpbmctc3RhcnQ6MjBweDtwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5re3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6aW5saW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rQ2FsbFRvQWN0aW9uQ29sb3J7Y29sb3I6IzA2NWZkNH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua092ZXJsYXlDYWxsVG9BY3Rpb25Db2xvcntjb2xvcjojM2VhNmZmfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciAueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9ye2NvbG9yOmluaGVyaXR9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IgLnl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvcjpob3Zlcntjb2xvcjp2YXIoLS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yKX0ueXRBdHRyaWJ1dGVkU3RyaW5nRWxsaXBzaXNUcnVuY2F0ZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZU5vV3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VQcmVXcmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS55dEF0dHJpYnV0ZWRTdHJpbmdJZ25vcmVTcGxpdExpbmVze3doaXRlLXNwYWNlOm5vcm1hbH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExlZnR7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmxlZnR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRSaWdodHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246cmlnaHR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRDZW50ZXJ7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudEp1c3RpZmllZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246anVzdGlmeX0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExheW91dFN0YXJ0e2Rpc3BsYXk6YmxvY2s7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50VW5rbm93bntkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246aW5oZXJpdH0ueXRBdHRyaWJ1dGVkU3RyaW5nV29yZFdyYXBwaW5ne292ZXJmbG93LXdyYXA6YW55d2hlcmV9Lnl0QXR0cmlidXRlZFN0cmluZ1VuZGVybGluZWR7LW1vei10ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdTdHJpa2V0aHJvdWdoey1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdoO3RleHQtZGVjb3JhdGlvbi1saW5lOmxpbmUtdGhyb3VnaH0ueXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lU3RyaWtldGhyb3VnaHstbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZSBsaW5lLXRocm91Z2g7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lIGxpbmUtdGhyb3VnaH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlTm9uZXt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlU2luZ2xley1tb3otdGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlRG90ey1tb3otdGV4dC1kZWNvcmF0aW9uLXN0eWxlOmRvdHRlZDt0ZXh0LWRlY29yYXRpb24tc3R5bGU6ZG90dGVkfS55dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1YnNjcmlwdHt2ZXJ0aWNhbC1hbGlnbjpzdWJ9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3VwZXJzY3JpcHR7dmVydGljYWwtYWxpZ246c3VwZXJ9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0VW5rbm93bnt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRBdHRyaWJ1dGVkU3RyaW5nSXRhbGljaXplZHtmb250LXN0eWxlOml0YWxpY30ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzF7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzN7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QnV0dG9uT3JBbmNob3JIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEJ1dHRvbk9yQW5jaG9yQnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7cGFkZGluZzowO21hcmdpbjowO2N1cnNvcjpwb2ludGVyO291dGxpbmUtd2lkdGg6MDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpub25lO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtYWxpZ246dW5zZXQ7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lnl0QnV0dG9uT3JBbmNob3JBbmNob3J7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjA7bWFyZ2luOjA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCV9Lnl0UmFkaW9TaGFwZUhvc3R7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ueXRSYWRpb1NoYXBlSW5wdXR7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouMDAwMDAxO21hcmdpbjowO2xlZnQ6MTJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UmFkaW9TaGFwZUxhYmVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCU7Y29sb3I6IzAzMDMwM30ueXRSYWRpb1NoYXBlS2V5Ym9hcmRGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dFJhZGlvU2hhcGVEaXNhYmxlZHtjb2xvcjojOTA5MDkwfS55dFJhZGlvU2hhcGVMYWJlbHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9aW5wdXQ6Y2hlY2tlZCtsYWJlbD4ueXRSYWRpb1NoYXBlUmFkaW8+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpK2xhYmVsPi55dFJhZGlvU2hhcGVSYWRpbz46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0UmFkaW9TaGFwZVJhZGlvRGVmYXVsdFN0eWxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMnB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9aW5wdXQ6bm90KDpjaGVja2VkKStsYWJlbD4ueXRSYWRpb1NoYXBlQ2hlY2tJY29uPjpmaXJzdC1jaGlsZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRSYWRpb1NoYXBlQ29tcGFjdHttaW4taGVpZ2h0OjQwcHh9Lnl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2h7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRSYWRpb1NoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzAzMDMwM30ueXRMaXN0SXRlbVZpZXdNb2RlbEhvc3Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW57ZGlzcGxheTpub25lfS55dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25PckFuY2hvcnt3aWR0aDphdXRvfS55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3I6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxOb1RyYWlsaW5nVGV4dCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yLC55dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLWhlaWdodDo0NHB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle21heC1oZWlnaHQ6Mi4ycmVtfS55dExpc3RJdGVtVmlld01vZGVsU3VidGl0bGV7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdle21hcmdpbi1sZWZ0OjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVye21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7bWFyZ2luLWJvdHRvbToycHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRMaXN0SXRlbVZpZXdNb2RlbFNlbGVjdGlvblRleHR7Y29sb3I6IzYwNjA2MDttYXJnaW4tbGVmdDo0cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHR7bWFyZ2luLWxlZnQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3J7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtmbGV4LXNocmluazowfS55dExpc3RJdGVtVmlld01vZGVsTGVhZGluZ3ttYXJnaW4tcmlnaHQ6MTJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEycHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDoxMnB4fS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciwueXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVye21pbi13aWR0aDowfS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmcsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZsZXgtc2hyaW5rOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcnthbGlnbi1zZWxmOnN0YXJ0O2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjM2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExpc3RJdGVtVmlld01vZGVsQXZhdGFyLC55dExpc3RJdGVtVmlld01vZGVsSW1hZ2V7bWF4LWhlaWdodDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5e2JvcmRlci1yYWRpdXM6MnB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjojMDMwMzAzfS55dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3Nvcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXJ7cGFkZGluZzoycHggMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZ3twYWRkaW5nOjJweCAwfS55dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cHtib3JkZXItcmFkaXVzOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZHtjb2xvcjojNjA2MDYwO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZCAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSwueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVkIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6IzYwNjA2MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7bWF4LWhlaWdodDoyLjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGV7cGFkZGluZzo2cHggMTZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzo2cHggMH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4taGVpZ2h0OjM2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbENoZXZyb25JY29ue2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVye2hlaWdodDozNnB4O21pbi13aWR0aDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye2hlaWdodDozNnB4O21pbi13aWR0aDoyNHB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdle21heC1oZWlnaHQ6MjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlIC55dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXJ7bWluLWhlaWdodDo0MnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZSAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye2hlaWdodDo0MnB4fS55dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5LC55dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZn0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxle2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeXtjb2xvcjojZmZmfS55dENoZWNrYm94U2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCU7Y29sb3I6IzAzMDMwMztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDaGVja2JveFNoYXBlSG9zdENvbXBhY3R7bWluLWhlaWdodDo0MHB4fS55dENoZWNrYm94U2hhcGVJbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO29wYWNpdHk6LjAwMDAwMTt6LWluZGV4OjE7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRDaGVja2JveFNoYXBlTGFiZWx7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENoZWNrYm94U2hhcGVEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmcgLnl0Q2hlY2tib3hTaGFwZUxhYmVse3BhZGRpbmctcmlnaHQ6MH0ueXRDaGVja2JveFNoYXBlQ2hlY2tib3hEZWZhdWx0U3R5bGV7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzowIDEycHh9aW5wdXQ6Y2hlY2tlZH4ueXRDaGVja2JveFNoYXBlQ2hlY2tib3g+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpfi55dENoZWNrYm94U2hhcGVDaGVja2JveD46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0U3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9LnRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRMaXN0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0TGlzdFZpZXdNb2RlbEhvc3RLYWlvc1NwYXROYXZ7cGFkZGluZzozcHh9fS55dERvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3R7cGFkZGluZzowIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtaGFzLXN1YnNjcmliZS1idXR0b249dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtwYWRkaW5nOjA7LW1vei1ib3gtYWxpZ246bm9ybWFsO2FsaWduLWl0ZW1zOm5vcm1hbDttYXJnaW46YXV0bzstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtaGFzLXN1YnNjcmliZS1idXR0b249dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YSB5dG0tbWVudS1yZW5kZXJlcntoZWlnaHQ6MTAwJX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbUNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAudmlkZW8tdGh1bWJuYWlsLWltZ3t3aWR0aDo2N3B4O2hlaWdodDo2N3B4O21pbi1oZWlnaHQ6MDtib3JkZXItcmFkaXVzOjUwJX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuY2hhbm5lbC1zdWJzY3JpYmUtYnV0dG9ue3BhZGRpbmc6MCAwIDAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWNvbG9yLXBhbGV0dGUtYXBwbGllZD10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWR7b3BhY2l0eToxfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdD5he2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItY29tcGFjdHt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX19Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0IC5lbmdhZ2VtZW50LWJhcntoZWlnaHQ6MjRweDttYXJnaW4tdG9wOjRweH0uWXRtQ29tcGFjdE1lZGlhSXRlbU11bHRpY29sdW1ue3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0uWXRtQ29tcGFjdE1lZGlhSXRlbUltYWdle2ZsZXgtc2hyaW5rOjB9Lll0bUNvbXBhY3RNZWRpYUl0ZW1JbWFnZS5zdGFja2Vke3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGF7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO292ZXJmbG93OnZpc2libGV9QG1lZGlhIChtaW4td2lkdGg6NTUwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhW2RhdGEtaGFzLWJhZGdlcz10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfX1AbWVkaWEgKG1heC13aWR0aDo1NDlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6Mn0uWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhLmhhcy1lbmdhZ2VtZW50LWJhciAuWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YS5oYXMtZW5nYWdlbWVudC1iYXJbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoxLjI1ZW07LXdlYmtpdC1saW5lLWNsYW1wOjF9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtwYWRkaW5nOjRweCAwfS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDt3aGl0ZS1zcGFjZTpub3JtYWx9fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50e2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50LnN0YWNrZWR7bWFyZ2luLXRvcDo4cHh9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhQ29udGVudHtwYWRkaW5nOjB9fS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmVQbGFjZWhvbGRlcntoZWlnaHQ6MTZweDttYXgtd2lkdGg6MzAwcHg7bWFyZ2luLWJvdHRvbTo4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLXJhZGl1czoycHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdWJoZWFke2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7b3BhY2l0eTouNn0uWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWRQbGFjZWhvbGRlcntoZWlnaHQ6MTZweDt3aWR0aDoxMjBweDttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS4zcmVtO292ZXJmbG93OmhpZGRlbjttYXJnaW46MDtmb250LXNpemU6MS40cmVtfS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmUgLnl0bS1jaGFubmVsLW5hbWV7Zm9udC1zaXplOjEuNHJlbX1AbWVkaWEgKG1heC13aWR0aDo1NDlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDozLjc1ZW07LXdlYmtpdC1saW5lLWNsYW1wOjN9fS5ZdG1Db21wYWN0TWVkaWFJdGVtQnlsaW5le2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtc2l6ZToxLjJyZW19Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdGF0c3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbVN0YXRzfi5ZdG1Db21wYWN0TWVkaWFJdGVtU3RhdHM6YmVmb3Jle2NvbnRlbnQ6XCLCoMK3wqBcIn0uWXRtQ29tcGFjdE1lZGlhSXRlbURlc2NyaXB0aW9ue21hcmdpbjo4cHggMDtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbU1lbnV7ZmxleC1zaHJpbms6MDtjb2xvcjojMDMwMzAzfS5mb3JtYXR0ZWQtc3RyaW5nLWRlZW1waGFzaXple2NvbG9yOiM2MDYwNjB9LmZvcm1hdHRlZC1zdHJpbmctYm9sZHtmb250LXdlaWdodDo1MDB9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRze3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0e3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJFZmZlY3R7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle3dpbGwtY2hhbmdlOm9wYWNpdHk7b3BhY2l0eTowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4xfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplU21hbGx7bWFyZ2luOi00cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW17bWFyZ2luOi04cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwsLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTWVkaXVtIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZXttYXJnaW46LTEycHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czoxNnB4fS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXIgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxse2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgIzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgI2ZmZn0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4yfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZU92ZXJsYXlUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVN0cm9rZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9QGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW57MCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1vdXR7dG97b3BhY2l0eTowfX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdHttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdC5cXDpwb3BvdmVyLW9wZW4sLnl0UG9wb3ZlckNvbXBvbmVudEhvc3Q6cG9wb3Zlci1vcGVue2FuaW1hdGlvbjpwb3BvdmVyLWZhZGUtaW4gLjE1cyBlYXNlLWlufS55dFBvcG92ZXJDb21wb25lbnRIb3N0Q2xvc2luZy5cXDpwb3BvdmVyLW9wZW4sLnl0UG9wb3ZlckNvbXBvbmVudEhvc3RDbG9zaW5nOnBvcG92ZXItb3BlbnthbmltYXRpb246cG9wb3Zlci1mYWRlLW91dCA3NW1zIGVhc2Utb3V0IGZvcndhcmRzfS55dFRvb2x0aXBDb250YWluZXJIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0VG9vbHRpcENvbnRhaW5lckRlZmF1bHRUb29sdGlwQ29udGVudHtwYWRkaW5nOjhweDtib3JkZXItc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzYwNjA2MDtvcGFjaXR5Oi45O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0VG9vbHRpcENvbnRhaW5lclBsYXllclRvb2x0aXBDb250ZW50LC55dFRvb2x0aXBDb250YWluZXJQbGF5ZXJUb29sdGlwQ29udGVudEJsdXJyZWR7cGFkZGluZzo0cHggOHB4O2JvcmRlci1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAycHggOHB4ICMwMDA7b3BhY2l0eTouOTtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnRCbHVycmVke29wYWNpdHk6dW5zZXQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUb29sdGlwQ29udGFpbmVyRWZmZWN0TWFrZXJUb29sdGlwQ29udGVudHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVySG90a2V5e2Rpc3BsYXk6aW5saW5lO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MCA2cHg7bWFyZ2luLWxlZnQ6OHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfTpyb290ey0teXQtbGlnaHQtcmltLWNvbG9yOnVuc2V0Oy0teXQtbGlnaHQtd2FzaC1vcGFjaXR5OjA7LS15dC1saWdodC13YXNoLXg6MDstLXl0LWxpZ2h0LXdhc2gteTowOy0teXQtbGlnaHQtd2FzaC1zaXplOjk2cHg7LS15dC1saWdodC13YXNoLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0uY29udHJpYll0TGlnaHRTaGFwZUhvc3R7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7cG9pbnRlci1ldmVudHM6bm9uZX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0OmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7cGFkZGluZzouNXB4Oy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDAsMCwwLDAuMDUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE91dGxpbmU6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMykpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWxJbnZlcnNlOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2V7aW5zZXQ6LTFweH0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMikpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlUb25hbDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4xNSkpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodHtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3R0b206NTAlO2xlZnQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7ZmlsdGVyOmJsdXIoMTBweCl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTYWZhcml7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFNvbGlkSW52ZXJzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFRvbmFsSW52ZXJzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5U29saWR7YmFja2dyb3VuZDojZmZmfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVRvbmFse2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjE1KX0uY29udHJpYll0TGlnaHRTaGFwZUR5bmFtaWNXYXNoTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgdHJhbnNsYXRlKHZhcigtLXl0LWxpZ2h0LXdhc2gteCwwKSx2YXIoLS15dC1saWdodC13YXNoLXksMCkpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDt3aWR0aDp2YXIoLS15dC1saWdodC13YXNoLXNpemUsOTZweCk7aGVpZ2h0OnZhcigtLXl0LWxpZ2h0LXdhc2gtc2l6ZSw5NnB4KTtvcGFjaXR5OnZhcigtLXl0LWxpZ2h0LXdhc2gtb3BhY2l0eSwwKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IGNlbnRlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSAwLHRyYW5zcGFyZW50IDEwMCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ZmlsdGVyOmJsdXIoMTVweCl9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0e2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjb250YWluOmxheW91dCBzdHlsZSBwYWludDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXt0cmFuc2l0aW9uOm9wYWNpdHkgLjQ1cyBjdWJpYy1iZXppZXIoLjI1LDEsLjgsMSl9fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXt0cmFuc2l0aW9uLWR1cmF0aW9uOjQwbXN9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0IC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQ6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMDV9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVQcmVzc2VkIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjF9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0IC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQ6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMn06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouM30ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZTpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4yfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4zfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlOmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjA1fTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4xfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtmaWx0ZXI6Ymx1cigyNHB4KTtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsI2ZmZiAwLHJnYmEoMjU1LDI1NSwyNTUsLjYpIDM1JSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzAlLHRyYW5zcGFyZW50IDEwMCUpO2JvcmRlci1yYWRpdXM6NTAlfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ZmlsdGVyOmJsdXIoMzJweCk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgMCxyZ2JhKDI1NSwyNTUsMjU1LC41KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDgwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JvcmRlci1yYWRpdXM6NTAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlLHdpZHRoIC4xNXMgY3ViaWMtYmV6aWVyKC4yNSwxLC41LDEpLGhlaWdodCAuMTVzIGN1YmljLWJlemllciguMjUsMSwuNSwxKX19Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodHtvcGFjaXR5Oi4yfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7b3BhY2l0eTouMzU7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDRzfS5hbmltYXRlZFJvbGxpbmdDaGFyYWN0ZXJIb3N0e2Rpc3BsYXk6aW5saW5lfS5hbmltYXRlZFJvbGxpbmdOdW1iZXJIb3N0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93OmhpZGRlbn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MDt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lLXdpZHRoOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtmbGV4LWJhc2lzOjAuMDAwMDAwMDAxcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnR7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb24sLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bGluZS1oZWlnaHQ6MDtmaWxsOmN1cnJlbnRDb2xvcn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnstbW96LWJveC1mbGV4OjA7ZmxleDpub25lfS55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWlkZGxlZ3JvdW5kQXNzZXR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7d2lkdGg6cm91bmQodXAsMTAwJSwxcHgpO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS55dFNwZWNCdXR0b25TaGFwZU5leHRGZWF0dXJlUGhvbmVXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYc3twYWRkaW5nOjAgOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgN3B4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhze2hlaWdodDoyNHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjI0cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxMnB4IDAgMCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnQ6YWZ0ZXJ7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDdweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3twYWRkaW5nOjAgMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3toZWlnaHQ6MzJweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozMnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxNnB4IDAgMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OlwiXCI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6OHB4O2hlaWdodDoxNnB4O3dpZHRoOjFweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke2JvcmRlci1yYWRpdXM6MCAxNnB4IDE2cHggMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24pIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmd7cGFkZGluZzowIDEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAxMHB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAxMnB4O3dpZHRoOjQ0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo0cHg7bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU17cGFkZGluZzowIDE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDE2cHg7d2lkdGg6NTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTXtoZWlnaHQ6MzZweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0gLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozNnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydHtib3JkZXItcmFkaXVzOjE4cHggMCAwIDE4cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo2cHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDE4cHggMThweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbiwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uKTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdCkgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZ3twYWRkaW5nOjAgMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAxNXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDE2cHg7d2lkdGg6NTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMe3BhZGRpbmc6MCAyNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAyM3B4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAyMnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAyNHB4O3dpZHRoOjcycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUx7aGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMIC55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtib3JkZXItcmFkaXVzOjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6NDhweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjRweCAwIDAgMjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnQ6YWZ0ZXJ7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjEycHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI0cHggMjRweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAyMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE5cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMThweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjBweDt3aWR0aDo2OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse3BhZGRpbmc6MCAzMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMzFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDMwcHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0zMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDMycHg7d2lkdGg6ODhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse2hlaWdodDo1NnB4O2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoyOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjU2cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjhweCAwIDAgMjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDoxNnB4O2hlaWdodDoyNHB4O3dpZHRoOjFweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMjhweCAyOHB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZ3twYWRkaW5nOjAgMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMjNweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMjJweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0yNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjRweDt3aWR0aDo4MHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVye2hlaWdodDphdXRvO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHstd2Via2l0LWxpbmUtY2xhbXA6NDttYXgtaGVpZ2h0Om5vbmV9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlVGV4dEVsbGlwc2lzIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHt0ZXh0LW92ZXJmbG93OmNsaXB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdHttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFdvcmthcm91bmRJY29uTm9Cb3JkZXJSYWRpdXN7Ym9yZGVyLXJhZGl1czp1bnNldH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkYWRmZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGFkZmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Y29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNjM4NTA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI2Mzg1MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMzZWE2ZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzNlYTZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzY1YjhmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOiMzZWE2ZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojNjViOGZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjcyNzI3O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2Q5ZDlkOTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkOWQ5ZDk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMil9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzAwMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZTZlNmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlQmFja2Ryb3BGaWx0ZXJFeHBlcmltZW50e2JhY2tkcm9wLWZpbHRlcjpibHVyKDRweCl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVCYWNrZHJvcEZpbHRlckV4cGVyaW1lbnR7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNlMTAwMmQgMzAlLCNlMDEzNzggODUlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNlMTAwMmQgMzAlLCNlMDEzNzggODUlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM319QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgwLDEyMiwxMDEsMC4yKSAwLHJnYmEoMTI3LDE0LDEyNywwLjIpIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgwLDEyMiwxMDEsMC4yKSAwLHJnYmEoMTI3LDE0LDEyNywwLjIpIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojOTA5MDkwfS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiM5MDkwOTB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojOTA5MDkwfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDRweCAxNnB4IDAgcmdiYSgwLDAsMCwwLjEpLDAgMnB4IDhweCAwIHJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHttYXJnaW46NHB4IC04cHggMDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbElzT3ZlcmxheSAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHttYXgtd2lkdGg6NjRweDtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dEJhZGdlVmlld01vZGVsSG9zdHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRCck56QmFkZ2VTaGFwZUhvc3R7ZGlzcGxheTpibG9ja30ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdSZWRTcXVhcmV7YmFja2dyb3VuZDojZjAzOTM2O2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2JvcmRlci1yYWRpdXM6MDtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1llbGxvd0NpcmNsZXtiYWNrZ3JvdW5kOiNmZmVmMDA7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6YmxhY2s7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdHcmVlbkNpcmNsZXtiYWNrZ3JvdW5kOiM0MmM3NTg7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6YmxhY2s7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEdyZWVuU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTY2LDgxKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbHVlU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTQ5LDIxOCk7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmx1ZVNxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDE0OSwyMTgpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFllbGxvd1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNTEsMTkzLDIxKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VZZWxsb3dTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjUxLDE5MywyMSk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsT3JhbmdlU3F1YXJle2JhY2tncm91bmQ6cmdiKDI0NSwxMzAsMzIpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZU9yYW5nZVNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNDUsMTMwLDMyKTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxSZWRTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjM2LDI5LDM3KTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VSZWRTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjM2LDI5LDM3KTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbGFja1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDAsMCk7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmxhY2tTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwwLDApO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZVdpdGhMYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VzOm5vdCg6bGFzdC1jaGlsZCl7LW1vei1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0FjdGlvbnNDb250YWluZXI+Om5vdCg6bGFzdC1jaGlsZCl7LW1vei1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb246bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEVycm9ye2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6I2MzMDAyN30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyMHB4fS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlUmFkaW9CdXR0b257aGVpZ2h0OjA7bGVmdDowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lnl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVke2N1cnNvcjpkZWZhdWx0fS55dENhcmRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDYXJkVmlld01vZGVsT3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0Q2FyZFZpZXdNb2RlbFJhaXNlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvdXRsaW5lLWNvbG9yIC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS13aWR0aCAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWR7Ym94LXNoYWRvdzowIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmU6IzAzMDMwMyBzb2xpZCAycHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS1jb2xvciAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG91dGxpbmUtd2lkdGggLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRDYXJkVmlld01vZGVsVG9uYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dENhcmRWaWV3TW9kZWxJbnZlcnRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGZ9Lnl0Q2FyZFZpZXdNb2RlbENvbnRlbnRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lnl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJX0ueXRDYXJkVmlld01vZGVsVG9wQ29udGVudHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9ue2FsaWduLXNlbGY6ZmxleC1zdGFydH0ueXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2lue21hcmdpbjo2cHh9Lnl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDoxMnB4fS55dENhcmRWaWV3TW9kZWxDYXJkVmlld01vZGVsSW5uZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dENhcmRWaWV3TW9kZWxTZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjMDMwMzAzfS55dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZywueXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmd7cGFkZGluZzoxMnB4fS55dENhcmRWaWV3TW9kZWxDbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS55dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH0ueXRDYXJkVmlld01vZGVsQmFja2dyb3VuZHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6ZmlsbH0ueXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0Q2hlY2tib3hJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVye2JvcmRlci10b3A6bm9uZX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MTJweCAwIDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxEaXNhYmxlUGFkZGluZy55dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXJ7cGFkZGluZy10b3A6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmd7cGFkZGluZy1ib3R0b206MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5ne3BhZGRpbmctcmlnaHQ6MjRweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFja3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFja1RvcEJ1dHRvbnttYXJnaW46MCAwIDhweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd1RyYWlsaW5ney1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0xlZnRCdXR0b257bWFyZ2luLXJpZ2h0OjhweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0Z1bGxXaWR0aHt3aWR0aDoxMDAlfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RXhwYW5key1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dTaHJpbmt7LW1vei1ib3gtZmxleDowO2ZsZXg6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3BlY0ljb25TaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U3Bpbm5lclNoYXBlV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNwaW5uZXJTaGFwZVNwaW5uZXJ7ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjEycHggYXV0bzt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItdG9wLWNvbG9yOiM2NjY7YW5pbWF0aW9uOnNwaW5uZXIgLjhzIGxpbmVhciBpbmZpbml0ZX0ueXRTcGlubmVyU2hhcGVTcGlubmVyOm5vdChbaGlkZGVuXSl7Y29sb3I6IzMzMztmb250LXNpemU6MS42cmVtfUBrZXlmcmFtZXMgc3Bpbm5lcnswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0ueXRMb3R0aWVDb21wb25lbnRIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0TG90dGllQ29tcG9uZW50SG9zdCBzdmd7ZGlzcGxheTpibG9ja30ueXRBbmltYXRlZEljb25Ib3N0e2Rpc3BsYXk6YmxvY2t9Lnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDttYXJnaW46MH0ueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdCAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LC0xMnB4KTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dEFuaW1hdGVkSWNvbkhvc3QgLmFuaW1hdGVkLXN1YnNjcmliZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEycHgsLTEycHgpO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPVwiMThcIl0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT1cIjE4XCJdIC5hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT1cIjE4XCJdIC5hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPVwiMThcIl0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOXB4LC05cHgpO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuYW5pbWF0ZWQtc3Vic2NyaWJlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOXB4LC05cHgpO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0SG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTbGlkZXJTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxNnB4IDEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbkljb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b246ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHQ7Y29sb3I6IzkwOTA5MH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nLWJvdHRvbTowOy0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoyNHB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCMwMzAzMDMgMCwjMDMwMzAzIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi10b3A6LTZweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotbXMtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW46MDt3cml0aW5nLW1vZGU6dmVydGljYWwtcmw7ZGlyZWN0aW9uOnJ0bH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO21hcmdpbjowIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdXRsaW5lOm5vbmU7cGFkZGluZy1ib3R0b206MDstLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7d2lkdGg6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotbW96LXJhbmdlLXRodW1ie2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tcy10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXJ7LW1vei1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTphdXRvOy13ZWJraXQtYXBwZWFyYW5jZTphdXRvfX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzoxMHB4IDE2cHg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7bWluLWhlaWdodDo0OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0SGlkZURpdmlkZXJ7Ym9yZGVyLWJvdHRvbTpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdENvbXBhY3R7cGFkZGluZzo4cHggMTJweH0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZUhlYWRlcnttYXJnaW46MH0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyTm9uSW50ZXJhY3RpdmV7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxle21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXttYXgtaGVpZ2h0OjEuOHJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6bm93cmFwO21hcmdpbi1sZWZ0OjEycHh9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b246bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjI0cHh9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtvdXRsaW5lOm5vbmV9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvckZvY3VzZWR7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yfS55dFNoZWV0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0U2hlZXRWaWV3TW9kZWxDb250ZXh0dWFse2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7Ym9yZGVyLXJhZGl1czoxMnB4O2JveC1zaGFkb3c6MCA0cHggMzJweCAwIHJnYmEoMCwwLDAsMC4xKTtvdmVyZmxvdzpoaWRkZW59Lnl0U2hlZXRWaWV3TW9kZWxQYWRkZWRDb250ZW50e3BhZGRpbmc6MTZweCAwfS55dFNoZWV0Vmlld01vZGVsRGlzYWJsZUJhY2tkcm9wRmlsdGVye2JhY2tkcm9wLWZpbHRlcjpub25lfS55dFNwZWNCb3R0b21TaGVldExheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWluLWhlaWdodDowfS55dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lcntib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmZpeGVkO21hcmdpbjowIDhweCAyNHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwfUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGg6NDE2cHgpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSBhbmQgKG1pbi13aWR0aDo0MTZweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Q29udGFpbmVye3dpZHRoOjQwMHB4O21hcmdpbjowIGF1dG8gMjRweCBhdXRvfX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVye292ZXJmbG93OmhpZGRlbjstbW96LWJveC1mbGV4OjA7ZmxleDpub25lO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmY7Y3Vyc29yOi1tb3otZ3JhYjtjdXJzb3I6Z3JhYn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVySXNEcmFnZ2luZ3tjdXJzb3I6LW1vei1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlckJvdHRvbUJvcmRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0RHJhZ0xpbmV7YmFja2dyb3VuZDojMDMwMzAzO29wYWNpdHk6LjE1O2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDo0cHg7bWFyZ2luOjAgYXV0bzt3aWR0aDo0MHB4O21hcmdpbi10b3A6OHB4fS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcnstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDo4cHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV2l0aFRpdGxle21hcmdpbi1ib3R0b206N3B4fS55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxlV3JhcHBlcnstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLWxlZnQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwMzAzMDM7bWF4LWhlaWdodDoyMHB4O21hcmdpbjowfS55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzYwNjA2MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDoxNnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle21heC1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle21heC1oZWlnaHQ6MS44cmVtfS55dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJmbG93LXk6c2Nyb2xsfS55dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwM30ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyQnV0dG9uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MTJweCAwfS55dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVye21hcmdpbjo2cHggMH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDoxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25EZWZhdWx0e21hcmdpbjowIDEycHg7d2lkdGg6MTAwJX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpciwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7bWFyZ2luLXJpZ2h0OjEycHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjowIDEycHg7aGVpZ2h0OjMwcHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyV2l0aG91dEJ1dHRvbnN7bWFyZ2luLWJvdHRvbToxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dExlYWRpbmdMYWJlbCwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVse21hcmdpbi10b3A6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRleHR1YWxTaGVldExheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MTI4cHg7bWF4LXdpZHRoOjQwMHB4O3dpZHRoOjEwMCU7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDhweCk7bWluLWhlaWdodDowfS55dENvbnRleHR1YWxTaGVldExheW91dEhvc3RPbGRNaW5XaWR0aHttaW4td2lkdGg6MjU2cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0QWRkUGFkZGluZ3twYWRkaW5nLWJvdHRvbTo4cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0SGVhZGVyQ29udGFpbmVyey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7b3ZlcmZsb3cteTphdXRvO3Njcm9sbGJhci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtzY3JvbGxiYXItd2lkdGg6dGhpbn0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOmhvdmVye3Njcm9sbGJhci1jb2xvcjojOTA5MDkwIHRyYW5zcGFyZW50fS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXI6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzkwOTA5MH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRGb290ZXJDb250YWluZXJ7LW1vei1ib3gtZmxleDowO2ZsZXg6MH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MTJweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTcGVlZEluZGljYXRvckNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOmF1dG99Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXl7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi44cmVtO2xpbmUtaGVpZ2h0OjMuOHJlbTtmb250LXdlaWdodDo5MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXl7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjkwMH19Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTbGlkZXJDb250YWluZXJ7bWFyZ2luOjhweCAwfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b257bWFyZ2luOjAgNHB4fS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVse21hcmdpbi10b3A6NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6IzAzMDMwM30ueXRXZWJTY3JpbUhvc3R7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpfS55dFdlYlNjcmltSG9zdFJlbGF0aXZle3Bvc2l0aW9uOmFic29sdXRlfS55dFdlYlNjcmltSG9zdE1vZGVybk92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyl9Lnl0V2ViU2NyaW1Ib3N0Qm90dG9tU2hlZXR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0V2ViU2NyaW1Ib3N0RW5nYWdlbWVudFBhbmVse3otaW5kZXg6MDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTt0b3A6MTAwdnd9Lnl0V2ViU2NyaW1Ib3N0RHJhZ2dhYmxlRW5nYWdlbWVudFBhbmVse3otaW5kZXg6Mzt0b3A6MH0ueXRXZWJTY3JpbUhvc3REcmF3ZXJMYXlvdXR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9Lnl0V2ViU2NyaW1EaWFsb2dDb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS55dFdlYlNjcmltSGlkZGVuQnV0dG9ue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O3BhZGRpbmc6MDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fWJvdHRvbS1zaGVldC1jb250YWluZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1fWJvdHRvbS1zaGVldC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH1jMy1vdmVybGF5LmJvdHRvbS1zaGVldC1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfVtib3R0b20tc2hlZXQtb3Blbl17b3ZlcmZsb3c6aGlkZGVufVttb2RhbC1vcGVuLWJvZHlde3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDtyaWdodDowfS5iMy1pZnJhbWUtYW5jZXN0b3JbbW9kYWwtb3Blbi1ib2R5XXtwb3NpdGlvbjphYnNvbHV0ZX0ubW9kYWwtaGlkZGVuLWJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0uYnV0dG9uLXdpdGgtaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTttaW4td2lkdGg6NS4xNGVtO21hcmdpbjowIC4yOWVtO2ZvbnQtc2l6ZToxLjRyZW07Ym9yZGVyLXJhZGl1czozcHh9LmJ1dHRvbi13aXRoLWljb24tYnV0dG9ue3BhZGRpbmc6LjdlbSAuNTdlbX0uYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbjotLjdlbSAtLjU3ZW19LmJ1dHRvbi13aXRoLWljb24uY29tcGFjdCsuYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbi1sZWZ0Oi43ZW19LmJ1dHRvbi13aXRoLWljb24taW5uZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYnV0dG9uLXdpdGgtaWNvbi1idXR0b25bZGlzYWJsZWRdLC5idXR0b24td2l0aC1pY29uLmRpc2FibGVkIC5idXR0b24td2l0aC1pY29uLWJ1dHRvbntjb2xvcjojOTA5MDkwfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9CUkFORF17Y29sb3I6I2UxMDAyZH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfUFJJTUFSWV06bm90KFtkaXNhYmxlZD10cnVlXSl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwNjVmZDR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1BSSU1BUlldW2Rpc2FibGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1RFWFRde2NvbG9yOiM2MDYwNjB9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1RFWFRdIC5sb2dvLWFycm93e2ZpbGw6I2ZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQkxVRV9URVhUXXtjb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9CTFVFX1RFWFRfV0lUSF9JTlZFUlNFX1RIRU1FXXtjb2xvcjojM2VhNmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9ERVNUUlVDVElWRV17YmFja2dyb3VuZC1jb2xvcjojZTEwMDJkO2JvcmRlci1jb2xvcjojZTEwMDJkO2NvbG9yOiNmZmZ9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1NVR0dFU1RJVkVde2JvcmRlcjoxcHggc29saWQgIzA2NWZkNDtjb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9PVkVSTEFZXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKTtjb2xvcjojZmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9EQVJLXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX0lOQUNUSVZFX09VVExJTkVde2NvbG9yOiM2MDYwNjA7Ym9yZGVyOjFweCBzb2xpZCAjNjA2MDYwO3BhZGRpbmc6NXB4IDExcHh9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLWljb24tb25seT10cnVlXXttaW4td2lkdGg6MDttYXJnaW46MH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtaWNvbi1vbmx5PWZhbHNlXSAuYnV0dG9uLXJlbmRlcmVyLWljb257bWFyZ2luOjAgOHB4fS5idXR0b24tcmVuZGVyZXItdGV4dHthbGlnbi1zZWxmOmNlbnRlcjttaW4taGVpZ2h0OjFlbTtsaW5lLWhlaWdodDoxZW07Zm9udC13ZWlnaHQ6NTAwfVtpcy1idXN5PXRydWVdIC5idXR0b24tcmVuZGVyZXItaWNvbixbaXMtYnVzeT10cnVlXSAuYnV0dG9uLXJlbmRlcmVyLXRleHR7dmlzaWJpbGl0eTpoaWRkZW59LmJ1dHRvbi13aXRoLWljb24tc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDttYXJnaW46YXV0b30uYnV0dG9uLXJlbmRlcmVyLXdpdGgtYW5pbWF0aW9uIC5idXR0b24td2l0aC1pY29uLWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWMzLWljb257ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7ZmlsbDpjdXJyZW50Q29sb3I7c3Ryb2tlOm5vbmV9W2Rpcj1ydGxdIGMzLWljb25bZmxpcC1mb3ItcnRsPXRydWVde3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5pY29uLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzo4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fWMzLWljb24gc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YzMtaWNvbi5pY29uLXN0YXRlLW91dGxpbmVbaWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6bm9uZX1jMy1pY29uLmljb24tc3RhdGUtZmlsbGVkW2ljb24tc3RhdGUtb3V0bGluZV17ZGlzcGxheTpub25lfS5waXZvdC1iYXItaXRlbS10YWIgYzMtaWNvbltpY29uLXN0YXRlLWZpbGxlZF17ZGlzcGxheTpub25lfS5waXZvdC1iYXItaXRlbS10YWIgYzMtaWNvbltpY29uLXN0YXRlLW91dGxpbmVde2Rpc3BsYXk6YmxvY2t9LnBpdm90LWJhci1pdGVtLXRhYlthcmlhLXNlbGVjdGVkPXRydWVdIGMzLWljb25baWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6YmxvY2t9LnBpdm90LWJhci1pdGVtLXRhYlthcmlhLXNlbGVjdGVkPXRydWVdIGMzLWljb25baWNvbi1zdGF0ZS1vdXRsaW5lXXtkaXNwbGF5Om5vbmV9I21lbnUsLm1lbnUtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjR9Lm1lbnUtY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7bWF4LWhlaWdodDoxMDAlO292ZXJmbG93LXk6YXV0bztjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjNweH0ubWVudS1jb250ZW50Lm1lbnUtYm90dG9te2JvdHRvbTowO2NvbG9yOiMwMzAzMDM7cGFkZGluZzowO3Bvc2l0aW9uOmZpeGVkO21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCV9LmJvdHRvbS1tZW51LWNhbmNlbHtib3JkZXItdG9wOjFweCBzb2xpZCAjZjFmMWYxO3BhZGRpbmc6OHB4IDB9Lm1lbnUtY29udGVudD5he2Rpc3BsYXk6YmxvY2t9Lm1lbnUtY2FuY2VsLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5tZW51LWNhbmNlbC1pY29ue21hcmdpbjowIDhweH0ubWVudS1jb250ZW50Lm1lbnUtYm90dG9tIGMzLWljb257Y29sb3I6IzAzMDMwMzttYXJnaW46MCAzMnB4IDAgMH0ubWVudS1jb250ZW50Om5vdCgubWVudS1zaG93LWljb25zKSAubWVudS1pdGVtLWJ1dHRvbiBjMy1pY29ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1pbi13aWR0aDozMzBweCl7Lm1lbnUtY29udGVudDpub3QoLm1lbnUtYm90dG9tKXttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjM1NnB4O21hcmdpbjo0MHB4fX0ubWVudS1mdWxsLXdpZHRoIC5tZW51LWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjFweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1lbnUtY29udGVudC5yb3VuZGVkLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjhweH0uaWNvbi1idXR0b24uc21hbGx7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjE2cHh9eXRtLW1lbnUtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDB9eXRtLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTZweDttYXJnaW4tbGVmdDowO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjppbml0aWFsO3RleHQtdHJhbnNmb3JtOnVuc2V0Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9eXRtLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9eXRtLW1lbnUtaXRlbSBjMy1pY29ue21hcmdpbi1yaWdodDoyNHB4fS5tZW51LWJvdHRvbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxLjZyZW07cGFkZGluZzoxMXB4IDE2cHh9Lnl0d1BsYXllckJvdHRvbUNvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJCb3R0b21Db250cm9sc0Z1bGxzY3JlZW5CdXR0b25XcmFwcGVyey1tb3otbWFyZ2luLXN0YXJ0OmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvfS55dEJhZGdlU2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7cGFkZGluZzowIDRweH0ueXRCYWRnZVNoYXBlVHlwb2dyYXBoeXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJY29ue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS55dEJhZGdlU2hhcGVOb1RleHR7cGFkZGluZzowIDFweDttaW4taGVpZ2h0OjE4cHh9Lnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2V7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoxcHggNHB4fS55dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZSAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6NHB4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlLnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2VSZWRlc2lnbntiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgNnB4fS55dEJhZGdlU2hhcGVTdGF0dXNCYWRnZXtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjFweCA0cHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlIC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2UueXRCYWRnZVNoYXBlTm9UZXh0IC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDowfS55dEJhZGdlU2hhcGVUZXh0e2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS55dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvd3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3d7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjIwY2h9Lnl0QmFkZ2VTaGFwZURlZmF1bHR7XG4gIC8qICFrZWVwICovY29sb3I6IzYwNjA2MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9Lnl0QmFkZ2VTaGFwZURlZmF1bHQueXRCYWRnZVNoYXBlT3ZlcmxheXtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVEZWZhdWx0Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlTWVkaWF7XG4gIC8qICFrZWVwICovY29sb3I6IzYwNjA2MDtvdXRsaW5lOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRCYWRnZVNoYXBlTWVkaWEueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjA7b3V0bGluZToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZU1lZGlhT3ZlcmxheXtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7b3V0bGluZToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVByb21vdGVke1xuICAvKiAha2VlcCAqL2NvbG9yOiMwMzAzMDM7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVByb21vdGVkLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojMDMwMzAzO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJvbW90ZWRJbnZlcnRlZC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOm5vbmU7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVRpbWVseXtcbiAgLyogIWtlZXAgKi9jb2xvcjojNjA2MDYwfS55dEJhZGdlU2hhcGVUaW1lbHkgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGltZWx5e3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVUaW1lbHkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjB9Lnl0QmFkZ2VTaGFwZVRpbWVseS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGltZWx5Lnl0QmFkZ2VTaGFwZU1vZGVybntwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJlbWl1bXtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxMDAyZH0ueXRCYWRnZVNoYXBlUHJlbWl1bS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVNhbGV7XG4gIC8qICFrZWVwICovY29sb3I6I2MzMDAyN30ueXRCYWRnZVNoYXBlU2FsZSAueXRCYWRnZVNoYXBlSWNvbntjb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxle3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybiwueXRCYWRnZVNoYXBlU2FsZS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2MzMDAyN30ueXRCYWRnZVNoYXBlU2FsZS55dEJhZGdlU2hhcGVNb2Rlcm57cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZU1lbWJlcnNoaXB7XG4gIC8qICFrZWVwICovY29sb3I6IzEwNzUxNjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9Lnl0QmFkZ2VTaGFwZU1lbWJlcnNoaXAueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVDb21tZXJjZXtcbiAgLyogIWtlZXAgKi9jb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlQ29tbWVyY2UueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVMaXZle1xuICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZUxpdmUueXRCYWRnZVNoYXBlT3ZlcmxheXtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVMaXZlLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVTdGF0dXNOZXd7XG4gIC8qICFrZWVwICovY29sb3I6IzA2NWZkNDtvdXRsaW5lOjFweCBzb2xpZCAjMDY1ZmQ0O291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c05ldy55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzA2NWZkNDtvdXRsaW5lOjFweCBzb2xpZCAjMDY1ZmQ0O291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0NvbXBsZXRle1xuICAvKiAha2VlcCAqL2NvbG9yOiMwMDU5MTc7YmFja2dyb3VuZDojZGVmZmRlfS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAwNTkxNztiYWNrZ3JvdW5kOiNkZWZmZGV9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmd7XG4gIC8qICFrZWVwICovY29sb3I6IzdjMjkwMDtiYWNrZ3JvdW5kOiNmZmVhY2Z9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmcueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM3YzI5MDA7YmFja2dyb3VuZDojZmZlYWNmfS55dEJhZGdlU2hhcGVTdGF0dXNFcnJvcntcbiAgLyogIWtlZXAgKi9jb2xvcjojOTkwNDEyO2JhY2tncm91bmQ6cmdiYSgyNTUsODUsMTE5LDAuMil9Lnl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojOTkwNDEyO2JhY2tncm91bmQ6cmdiYSgyNTUsODUsMTE5LDAuMil9Lnl0QmFkZ2VTaGFwZVN0YXR1c0RlZmF1bHR7XG4gIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdHtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxEZWZhdWx0Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxMaXZle1xuICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmUueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWx7XG4gIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbntcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxEZWZhdWx0UmVkZXNpZ24ueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0QmFkZ2VTaGFwZUFke2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMDMwMzAzO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Zm9udC1zaXplOnVuc2V0O2xpbmUtaGVpZ2h0OnVuc2V0fS55dEJhZGdlU2hhcGVBZC55dEJhZGdlU2hhcGVBZHNJbmNsdWRlRG90OmFmdGVye2NvbnRlbnQ6XCLCt1wiOy1tb3otcGFkZGluZy1lbmQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDo0cHg7LW1vei1wYWRkaW5nLXN0YXJ0OjRweDtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZU92ZXJsYXl7Y29sb3I6I2ZmZn0ueXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QmFkZ2VTaGFwZUxhcmdlRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRCYWRnZVNoYXBlSXNFbXB0eXtkaXNwbGF5Om5vbmV9LmFjY291bnRJbmZvSG9zdHtkaXNwbGF5OmJsb2NrfS5saWtlLWJ1dHRvbi1yZW5kZXJlciBbYXJpYS1wcmVzc2VkPXRydWVdIGMzLWljb257Y29sb3I6IzA2NWZkNH0ubGlrZS1idXR0b24tcmVuZGVyZXIgW2FyaWEtcHJlc3NlZD10cnVlXSBjMy1pY29uIHBhdGh7ZmlsbDojM2VhNmZmO3N0cm9rZTojZmZmO3N0cm9rZS13aWR0aDoxcHh9eXRtLW1lbnUtcmVuZGVyZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9LmJvdHRvbS1zaGVldC1tZWRpYS1tZW51LWl0ZW0geXRtLW1lbnUtaXRlbXtwYWRkaW5nOjA7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjA7bWFyZ2luLWxlZnQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVye21hcmdpbjo1cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPXNtYWxsXXttYXJnaW46MnB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlclt0aHVtYm5haWwtc2l6ZT1tZWRpdW1de21hcmdpbjo0cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPWxhcmdlXXttYXJnaW46OHB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPUxJVkVdLHl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPVNIT1JUU117dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWltZy5jdXN0b20tdGh1bWJuYWlsLnZpZGVvLXRodW1ibmFpbC1pbWd7b2JqZWN0LWZpdDpzY2FsZS1kb3duO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS52aWRlby10aHVtYm5haWwtaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjphdXRvfS52aWRlby10aHVtYm5haWwtYmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctYm90dG9tOjU2LjI1JX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4fS5jdXN0b20tdGh1bWJuYWlsLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4MHB4O2hlaWdodDoxODBweH0uY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciAuY3VzdG9tLXRodW1ibmFpbHtvcGFjaXR5Oi43O2ZpbHRlcjpibHVyKDMwcHgpfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZHtib3JkZXItcmFkaXVzOjhweH0ub3JpZ2luYWwtYXNwZWN0LXJhdGlvIGltZ3toZWlnaHQ6MTAwJTt3aWR0aDphdXRvfS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1ib3R0b206MTI1JX0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UgaW1ne29iamVjdC1maXQ6Y292ZXI7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW4tdG9wOjB9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2U6d2hlcmUoLm5vdC1yZW5kZXJlZC1mcm9tLXJpY2gtaXRlbSl7bWFyZ2luOi0xM3B4IC0xMnB4IDA7cGFkZGluZy10b3A6MTNweH0uc3R5bGUtcmVjb21tZW5kYXRpb25zLWluLXBvcnRyYWl0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdlLnJvdW5kZWQtdGh1bWJuYWlse2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MDtwYWRkaW5nLXRvcDowfX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjA7cGFkZGluZy10b3A6MH19LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UudGh1bWJuYWlsLWNvdmVyLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2Uucm91bmRlZC10aHVtYm5haWx7Ym9yZGVyLXJhZGl1czoxMnB4fX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbCxwbGF5ZXItZnVsbHNjcmVlbi1jb250cm9scyAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fS52aWRlby10aHVtYm5haWwtZmlsbC1wYXJlbnR7bWFyZ2luOjA7cGFkZGluZy10b3A6MDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZ3twYWRkaW5nLXRvcDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29ue21hcmdpbjoyNHB4IDI0cHggMH0ueXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWF7bWFyZ2luLWJvdHRvbToyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDowO2ZsZXgtc2hyaW5rOjQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW17d2lkdGg6MTAwJTtmbGV4LXNocmluazowO29iamVjdC1maXQ6Y292ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lcntwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjB9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXR7cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7bWF4LWhlaWdodDo1LjZyZW19Lnl0U3BlY0RpYWxvZ0xheW91dExlYWRpbmdBY3Rpb25IZWFkZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjRGlhbG9nTGF5b3V0VHJhaWxpbmdBY3Rpb25IZWFkZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tbGVmdDphdXRvfS55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50e2NvbG9yOiMwMzAzMDM7b3ZlcmZsb3cteTphdXRvfS55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50SW5uZXJ7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjAgMjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVye3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1sZWZ0OjI0cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRGb290ZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWZsb3c6cm93IHdyYXAtcmV2ZXJzZTtmbGV4LXNocmluazowO21hcmdpbjotOHB4IDAgMCAtOHB4fS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lRW5key1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmR9Lnl0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjhweCAwIDAgOHB4fS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkey1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0U3BlY0RpYWxvZ0xheW91dENlbnRlckFsaWduIC55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50LC55dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbiAueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNTdGFja2Vkey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgKG1heC13aWR0aDozMzBweCl7Lnl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmV7bWluLXdpZHRoOmNhbGMoMTAwdncgLSA5NnB4KTttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMHZofX1AbWVkaWEgKG1pbi13aWR0aDozMzFweCkgYW5kIChtYXgtd2lkdGg6NTI3cHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWluLXdpZHRoOm1pbigzMjBweCwxMDB2dyAtIDk2cHgpO21heC13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOm1pbig0MDBweCwxMDB2dyAtIDk2cHgpO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpfX1AbWVkaWEgKG1pbi13aWR0aDo1MjhweCl7Lnl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmV7bWluLXdpZHRoOjMyMHB4O21heC13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOm1pbig1NjBweCwxMDB2dyAtIDk2cHgpO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpO21heC1oZWlnaHQ6bWluKDU2MHB4LDEwMHZoIC0gOTZweCl9fS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVue2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRhaW5lciwueXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbiAueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudHtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnRJbm5lcntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cGFkZGluZzowfUBtZWRpYSAobWluLXdpZHRoOjUyOHB4KXsueXRTcGVjRGlhbG9nTGF5b3V0RXh0ZW5kZWRNYXhIZWlnaHR7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gOTZweCl9fS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEluc2V0IC55dFNwZWNEaWFsb2dMYXlvdXRBc3NldHt3aWR0aDphdXRvO3BhZGRpbmc6MCAyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldCAueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJdGVte2JvcmRlci1yYWRpdXM6MTJweH0ueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEltYWdle2JvcmRlci1yYWRpdXM6NnB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZGlzcGxheTpibG9ja30ueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0SWNvbntib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo2cHg7cGFkZGluZzo2cHh9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdFtkYXRhLWJhY2tncm91bmQtY29sb3I9VEhFTUVfQVRUUklCVVRFX09WRVJMQVlfQkFDS0dST1VORF9NRURJVU1dIC55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJY29ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0Pip7bWFyZ2luLXRvcDoxNnB4fS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD50b2dnbGUtYnV0dG9uLXZpZXctbW9kZWx7bWFyZ2luLXRvcDowfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZXt3aWR0aDo1NnB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlIC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweDttYXJnaW46MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGUgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEhvc3Q6Zm9jdXN7YmFja2dyb3VuZDp1bnNldH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGUgYnV0dG9uOm5vdChbYXJpYS1wcmVzc2VkPXRydWVdKSBjMy1pY29ue2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4IHJnYmEoMCwwLDAsMC4zKSl9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luOjB9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0RGVza3RvcHstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdERlc2t0b3AgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbjowfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7ZGlzcGxheTpub25lfX0ueXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXgtd2lkdGg6NDgwcHh9Lnl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW06bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6NHB4O21heC13aWR0aDoxMDAlfS55dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1ib3R0b206NHB4O21heC13aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS55dEFuaW1hdGVkQWN0aW9uTG90dGlle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZHt3aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZENvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlfS5wbGF5ZXItc2V0dGluZ3MtaGVhZGVye21hcmdpbi1ib3R0b206MjBweH0ucGxheWVyLWNhcHRpb24tc2V0dGluZ3MsLnBsYXllci1xdWFsaXR5LXNldHRpbmdzLC5wbGF5ZXItc3BlZWQtc2V0dGluZ3N7d2lkdGg6MTAwJTttYXJnaW46NHB4IDAgMTJweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWluLWhlaWdodDo4LjRyZW07d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtwYWRkaW5nOjhweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LmNvcHlEZWJ1Z0luZm9QbGF5ZXJEZWJ1Z0luZm97aGVpZ2h0OjQwdmg7ZGlyZWN0aW9uOmx0cn0uc3RhYmxlVm9sdW1lVG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllckNvbnRyb2xzQ29udGFpbmVySG9zdHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3BhZGRpbmctYm90dG9tOjB9Lnl0U2hvcnRzRW1iZWRzSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpIDAscmdiYSgwLDAsMCwwKSAxNjBweCksbGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsMCkgOTZweCl9Lnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zLC55dFNob3J0c0VtYmVkc1JlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXIgLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEsLnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye3otaW5kZXg6Mn0ueXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6Mjt3aWR0aDoxMDAlfS55dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjQ4cHh9Lnl0bUN1ZWRPdmVybGF5SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1DdWVkT3ZlcmxheUhpZGRlbiwueXRtQ3VlZE92ZXJsYXlIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0zNnB4O21hcmdpbi10b3A6LTM2cHg7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ueXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uLnNob3J0cywueXRtQ3VlZE92ZXJsYXlTaG9ydHN7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDotNTBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHh9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb257d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjojZjAzfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dG1DdWVkT3ZlcmxheVBsYXlCdXR0b25JY29ue2NvbG9yOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpmaXJzdC1jaGlsZHtmaWxsOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gLmxvZ28tYXJyb3csLnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpudGgtY2hpbGQoMil7ZmlsbDpDYW52YXN9fS55dG1DdWVkT3ZlcmxheUdyYWRpZW50e3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7aGVpZ2h0OjdyZW19Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjNweH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJ7aGVpZ2h0OjNweDttYXJnaW46MCAxcHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJJc1NjcnViYmluZ3ttYXJnaW46MCAycHh9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6MH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXI6bGFzdC1vZi10eXBle21hcmdpbi1yaWdodDowfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbHtoZWlnaHQ6M3B4O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyTG9hZGVke2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7aGVpZ2h0OjNweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcnt0cmFuc2Zvcm06c2NhbGVZKDIpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjNweDt3aWR0aDoxMDAlfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lUm91bmRlZHtib3JkZXItcmFkaXVzOjEuNXB4O292ZXJmbG93OmhpZGRlbn0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjY7d2lkdGg6MTAwJX0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO2JvdHRvbTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dEhlYXRTZWVrZXJIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lnl0SGVhdFNlZWtlckhpZ2hDb250cmFzdHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLDkwJSxyZ2JhKDAsMCwwLC42KSk7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3R7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtkaXJlY3Rpb246bHRyfS55dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0SGlkZGVue29wYWNpdHk6MH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RMb3dlclBsYXllcntib3R0b206MDtsZWZ0OjMwcHg7cmlnaHQ6MzBweDtoZWlnaHQ6NDRweH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdle2hlaWdodDoyOHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTotN3B4fS55dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0e2hlaWdodDoyOHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS55dFBsYXllclByb2dyZXNzQmFySG9zdEN1c3RvbXtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNSkpO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguMiwwLC42LDEpfS55dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGV7b3BhY2l0eTowfS55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdle2hlaWdodDowO3BhZGRpbmc6MTkuNXB4IDAgOC41cHh9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxLjVweH0ueXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXJJbnNldHtib3R0b206MTQuNXB4fS55dFBsYXllclByb2dyZXNzQmFyUHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0e3BhZGRpbmc6MTZweCAwIDEycHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjp3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWR7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9Lnl0UHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5le3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozcHg7d2lkdGg6MTAwJX0ueXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVke2JvcmRlci1yYWRpdXM6MS41cHg7b3ZlcmZsb3c6aGlkZGVufS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMb2FkZWR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjZ9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJIb3ZlcmVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi43fS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRQcm9ncmVzc0JhclBsYXloZWFkSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90e2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6I2YwMzt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90SGlkZXt0cmFuc2Zvcm06c2NhbGUoMCl9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b217aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb2ludGVyLWV2ZW50czpub25lfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2V7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUhpZGV7dHJhbnNmb3JtOnNjYWxlKDApfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZHt3aWR0aDoxMDAlO2xlZnQ6NTAlfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0c3ttYXJnaW4tYm90dG9tOjQ4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXJ7Ym90dG9tOmNhbGMoNTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3REZXNrdG9wU2hvcnRze21hcmdpbi1ib3R0b206MTZweH0ueXRQbGF5ZXJTdG9yeWJvYXJkSG9zdElzRHJhZ2dpbmd7bWFyZ2luLWJvdHRvbTo4MHB4fS55dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUlue2FuaW1hdGlvbjpmYWRlLWluIC4xcyBjdWJpYy1iZXppZXIoLjIsMCwuNiwxKX0ueXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6IzAwMH0ueXRQbGF5ZXJTdG9yeWJvYXJkQmlnYm9hcmRJbWFnZVdyYXBwZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXB7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3tmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuOHJlbTtsaW5lLWhlaWdodDozLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXBTaG9ydHN7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3twYWRkaW5nLXRvcDo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmd7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6Y2FsYygxLjZyZW0qdmFyKC0tc3Rvcnlib2FyZC1zY2FsZSwgMSkpO2xpbmUtaGVpZ2h0OmNhbGMoMi4ycmVtKnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKX0ueXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOmNhbGMoLTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDEwMCUpO2xlZnQ6NTAlO2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtmb250LXNpemU6Y2FsYygxMnB4KnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKX0ueXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGFCaWdib2FyZHt3aWR0aDphdXRvO2NvbG9yOiNmZmY7bWF4LXdpZHRoOjEwMCU7Ym90dG9tOjZweDtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7cGFkZGluZzo4cHggMTZweDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWNvbHVtbi1nYXA6MXJlbTtjb2x1bW4tZ2FwOjFyZW07bWluLXdpZHRoOjB9Lnl0UGxheWVyU3Rvcnlib2FyZFRpdGxle21heC13aWR0aDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tYm90dG9tOjRweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFBsYXllclN0b3J5Ym9hcmRUaXRsZUJpZ2JvYXJke21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo3MDB9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbldyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O21hcmdpbi1yaWdodDo0cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFN0b3J5Ym9hcmRJbWFnZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfUBrZXlmcmFtZXMgZmFkZS1pbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX0ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjNweDtkaXJlY3Rpb246bHRyO3RyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LG1hcmdpbi1sZWZ0LG1hcmdpbi1yaWdodCxwYWRkaW5nLHZpc2liaWxpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzfS55dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3RJc1NjcnViYmFibGVNb2Rle21hcmdpbi1yaWdodDoxNnB4O21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjE2cHg7cGFkZGluZy1ib3R0b206MTZweDt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SGlkZVByb2dyZXNzQmFye3Zpc2liaWxpdHk6aGlkZGVuO2hlaWdodDowfS55dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0dlc3R1cmVPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDB2aDt3aWR0aDoxMDB2dztpbnNldDowO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0d0F1dG9uYXZUb29sdGlwSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjI1JTt3aWR0aDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2NvbG9yOiNmZmZ9Lnl0d1BsYXllclVzZXJFZHVUb29sdGlwSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjAgOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7bWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo2O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtwYWRkaW5nOjdweCAxNnB4O21heC13aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwV3JhcHBlcjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3Q6bm90KC55dHdTcGVlZG1hc3RlclRvb2x0aXBLaWxsc3dpdGNoKXstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6I2ZmZjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7cmlnaHQ6MH0ueXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWx7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4fVtkaXI9cnRsXSAueXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWx7ZGlyZWN0aW9uOnJ0bH0ueXR3U3BlZWRtYXN0ZXJUb29sdGlwSWNvbnttYXJnaW4tbGVmdDo0cHh9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7bGVmdDowO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNTcGVlZG1hc3Rlckdlc3R1cmVBcmVhe2hlaWdodDoxMDAlO3dpZHRoOjI1JX0ueXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc01lbnVHZXN0dXJlQXJlYXtoZWlnaHQ6MTAwJTt3aWR0aDo1MCV9Lnl0bVZpZGVvQ292ZXJIb3N0e2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxO3RyYW5zaXRpb246dHJhbnNmb3JtIC43czt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9Lnl0bVZpZGVvQ292ZXJIb3N0LmVuZGVke3otaW5kZXg6MH0ueXRtVmlkZW9Db3Zlckhvc3QuaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MH0ueXRtVmlkZW9Db3ZlclRodW1ibmFpbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0ZFZvbHVtZUNvbnRyb2xzSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtaGVpZ2h0OjQ4cHh9Lnl0ZFZvbHVtZUNvbnRyb2xzRGlzYWJsZVNsaWRlcnt3aWR0aDo0OHB4fS55dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWZsZXg6MTtmbGV4OjEgMSBhdXRvO21heC13aWR0aDoxNjhweH0ueXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lclZlcnRpY2Fse21heC13aWR0aDo0OHB4O3dpZHRoOjQ4cHg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7Z2FwOjYwcHg7aGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7aGVpZ2h0OmZpdC1jb250ZW50O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJFeHBhbmRlZHtwb2ludGVyLWV2ZW50czphbGx9Lnl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjUwcHh9Lnl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kO3otaW5kZXg6MTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzoxMnB4O2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmFsbDtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246dmlzaWJpbGl0eSAuMTJzIGxpbmVhcixvcGFjaXR5IC4xMnMgbGluZWFyLHdpZHRoIC4xMnMgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckV4cGFuZGVke3Zpc2liaWxpdHk6dmlzaWJsZTt3aWR0aDoxMDAlO29wYWNpdHk6MTt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggLjNzIGxpbmVhcjt6LWluZGV4OjF9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyV2l0aFNjcmlte3BhZGRpbmctcmlnaHQ6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXItcmFkaXVzOjUwcHg7aGVpZ2h0OjQ4cHg7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6MCAxMnB4O21hcmdpbjowO3RyYW5zaXRpb246dmlzaWJpbGl0eSAuM3MgbGluZWFyLG9wYWNpdHkgLjNzIGxpbmVhcix3aWR0aCAwcyBsaW5lYXIgLjNzLG1hcmdpbiAuM3MgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRG93bnt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxFeHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDAsNDAsNDAsMC42KTttYXJnaW4tdG9wOjhweDt3aWR0aDoxMzNweDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggMHMgbGluZWFyLG1hcmdpbiAuM3MgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckRpc2FibGVTbGlkZXJ7ZGlzcGxheTpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcnstLWdyYWRpZW50LXBlcmNlbnQ6MDstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOm5vbmU7bWFyZ2luLWJvdHRvbToxcHg7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzo4cHggMDtmb3JjZWQtY29sb3ItYWRqdXN0Om5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LDAuMykgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwwLjMpIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDAsMCwwLDAuMSkgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgwLDAsMCwwLjEpIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi10b3A6LTYuNXB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JhY2tncm91bmQtY29sb3I6d2hpdGU7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3toZWlnaHQ6MnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10cmFja3toZWlnaHQ6MnB4fS55dGRWb2x1bWVDb250cm9sc011dGVJY29ue2NvbG9yOndoaXRlfS55dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3otaW5kZXg6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgbGluZWFyO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTBweH0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZHt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkSG92ZXJTdGF0ZTphZnRlcntjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyOHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGgsYmFja2dyb3VuZC1jb2xvcn0ueXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51Q2lyY2xlQnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MjRweDtwYWRkaW5nLWxlZnQ6MTJweDtwYWRkaW5nLXJpZ2h0OjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24gYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9uIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbHtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWx7cGFkZGluZzo2cHggMTJweH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDotMXB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxTdGFja3ttYXJnaW4tbGVmdDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlse2hlaWdodDoycHg7bWFyZ2luLWJvdHRvbToxcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoycHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlse3dpZHRoOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWx7d2lkdGg6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbn0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsU2luZ2xlVGh1bWJuYWlsIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXJ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtvdXRsaW5lOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWx7ZGlzcGxheTpibG9ja30ueXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0e21hcmdpbi1yaWdodDoxMnB4fXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnN7bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLXRleHR7ZGlzcGxheTpub25lfXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMgLmJ1dHRvbi1yZW5kZXJlcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21pbi13aWR0aDphdXRvO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjB9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0uZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMTVweDtib3R0b206Y2FsYyh2YXIoLS1jb250cm9scy1oZWlnaHQpKi0xKTtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6dmFyKC0tY29udHJvbHMtaGVpZ2h0KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZ1bGxzY3JlZW4tY29udHJvbHMtdmlkZW8tdGl0bGV7Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1jb250cm9scy5leHBhbmRlZHtib3R0b206MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfUBtZWRpYSAocG9pbnRlcjpmaW5lKXsuZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMjhweH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcntzY3JvbGxiYXItd2lkdGg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6YXV0bztvdmVyZmxvdy15OmF1dG99LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS5mdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5OmJsb2NrfX0uZnVsbHNjcmVlbi1idXR0b25zLXdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ0cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweH0udG9wLWZ1bGxzY3JlZW4tY29udHJvbHN7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS5mdWxsc2NyZWVuLWNsb3NlLWJ1dHRvbi13cmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2hlaWdodDo0OHB4O2xlZnQ6MjRweDtyaWdodDoyNHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ei1pbmRleDoyfS5hY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOjQ4cHg7cGFkZGluZzo0cHggMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyPjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4cHh9LmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUsLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3QsLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlcnttYXJnaW4tbGVmdDphdXRvO2hlaWdodDoxMDAlfS5mdWxsc2NyZWVuLW1vcmUtdmlkZW9zLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5zdGFja2VkLXZpZGVvcy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDo2NHB4O2hlaWdodDoxMDAlfS5zdGFja2VkLXZpZGVvLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZDpibGFjaztib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6M3B4O292ZXJmbG93OmhpZGRlbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnN0YWNrZWQtdmlkZW8tcHJldmlldyAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0uc3RhY2tlZC12aWRlby1wcmV2aWV3OmZpcnN0LWNoaWxke3otaW5kZXg6M30uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgyKXt6LWluZGV4OjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjg3NSl9LnN0YWNrZWQtdmlkZW8tcHJldmlldzpudGgtY2hpbGQoMikgLnN0YWNrZWQtdmlkZW8tcHJldmlldy1pbWFnZXtvcGFjaXR5Oi43NX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKXt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCkgc2NhbGUoLjc1KX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKSAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle29wYWNpdHk6LjV9Lm1vcmUtdmlkZW9zLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjEycHg7dGV4dC1hbGlnbjpyaWdodH0ubW9yZS12aWRlb3MtbWVzc2FnZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5tb3JlLXZpZGVvcy1tZXNzYWdlLXN1YnRpdGxle2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eTouN30ucXVpY2stYWN0aW9ucy13cmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6YXV0b30ucXVpY2stYWN0aW9ucy1iYXItYnV0dG9ucy13cmFwcGVye3BhZGRpbmctbGVmdDoxMnB4fS53YXRjaC1vbi15b3V0dWJlLWJ1dHRvbi13cmFwcGVye2RpcmVjdGlvbjpsdHJ9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsud2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweH19LndhdGNoLW9uLXlvdXR1YmUtYnV0dG9ue3BhZGRpbmctbGVmdDo0cHh9Lm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIsLm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyLmNpcmNsZS1idXR0b25zLC5uby1sYWJlbC1leHA+eXRtLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubm8tbGFiZWwtZXhwIHl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMubGlrZS1idXR0b24tbm8tbGFiZWwtZXhwe2RpcmVjdGlvbjpydGx9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51LC5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX19eXRtLWN1c3RvbS1jb250cm9sIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1jdXN0b20tY29udHJvbCAuaWNvbi1idXR0b246bm90KC5wbGF5ZXItc2V0dGluZ3MtaWNvbil7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjhweH15dG0tY3VzdG9tLWNvbnRyb2wgLmljb24tYnV0dG9uOm5vdCgucGxheWVyLXNldHRpbmdzLWljb24pPmMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH19eXRtLWN1c3RvbS1jb250cm9sIC5hdXRvbmF2LXVzZXItZWR1Y2F0aW9uLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjUlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZn0uaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC5wbGF5ZXItY29udHJvbHMtYm90dG9tLC5pbnRlcmNlcHQtZWxlbWVudC1jbGlja3MgLnBsYXllci1jb250cm9scy1taWRkbGUsLmludGVyY2VwdC1lbGVtZW50LWNsaWNrcyAucGxheWVyLWNvbnRyb2xzLXRvcCwuaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntwb2ludGVyLWV2ZW50czpub25lfXl0bS1jdXN0b20tY29udHJvbCAuZmluZS1zY3J1YmJpbmctb3ZlcmxheSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1ib3R0b20gLmZ1bGxzY3JlZW4taWNvbiBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uIGMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtcGIgLmljb24tYnV0dG9uPmMzLWljb24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIC5pY29uLWJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvblthcmlhLXByZXNzZWQ9ZmFsc2VdPmMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIHl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXT5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmljb24tZGlzYWJsZSBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt6LWluZGV4OjI7cmlnaHQ6MjRweH1AbWVkaWEgKG1heC1oZWlnaHQ6MjIxcHgpe3l0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtyaWdodDowfX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjM4MHB4KXt5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDoxNHB4fX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AtcmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9W2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQsW2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXJlY3Rpb246cnRsfWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHt0b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApfXl0bS1jdXN0b20tY29udHJvbCBjMy1vdmVybGF5e3Zpc2liaWxpdHk6dmlzaWJsZX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I3BsYXllci1jb250cm9sLW92ZXJsYXkudXNlLW9wYWNpdHkgLnBsYXllci1jb250cm9scy1jb250ZW50e29wYWNpdHk6MDt2aXNpYmlsaXR5OnVuc2V0fSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjA7b3BhY2l0eTowfSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZDpub3QoLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCl7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwuNTQpIDI1JSxyZ2JhKDAsMCwwLC4zNikgNTAlLHJnYmEoMCwwLDAsLjE4KSA3NSUscmdiYSgwLDAsMCwwKSk7YmFja2dyb3VuZC1zaXplOjFweCA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheSAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6MDt2aXNpYmlsaXR5OnZpc2libGV9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWFjdGlvbi1pdGVtc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9I3BsYXllci1jb250cm9sLW92ZXJsYXkuYW5pbWF0aW9uLWVuYWJsZWR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmFuaW1hdGlvbi1lbmFibGVkIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9I3BsYXllci1jb250cm9sLW92ZXJsYXkucG9pbnRlci1ldmVudHMtb2Zme3BvaW50ZXItZXZlbnRzOm5vbmV9I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWlue3BvaW50ZXItZXZlbnRzOmF1dG99I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWluIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt6LWluZGV4OjI7b3BhY2l0eToxfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbiAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbi51c2Utb3BhY2l0eSAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dW5zZXR9I3BsYXllci1jb250cm9sLW92ZXJsYXkuaGlkZGVue2Rpc3BsYXk6bm9uZX1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXJ7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206MzBweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206NTBweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTo1MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206ODJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnV7bGVmdDoxMnB4O3JpZ2h0OjEycHh9QG1lZGlhIChtaW4td2lkdGg6MzgwcHgpey5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1hY3Rpb24tbWVudXtsZWZ0OjMwcHg7cmlnaHQ6MzBweH19QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsuZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTozMnB4O3otaW5kZXg6MztoZWlnaHQ6NDBweDtsZWZ0OjEycHg7cmlnaHQ6MTJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIC55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZW5kfS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIgLnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhcntwYWRkaW5nLWJvdHRvbToxMnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NThweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0e2xlZnQ6MDtyaWdodDo0NHB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e2xlZnQ6dW5zZXQ7cmlnaHQ6MDt6LWluZGV4OjR9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e2xlZnQ6MnB4O3JpZ2h0OjJweDtib3R0b206MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludHttYXJnaW4tdG9wOjEycHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvLXByZXZpZXcsLmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvcy13cmFwcGVye3dpZHRoOjQycHg7aGVpZ2h0OjI0cHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5wbGF5ZXItdGltZS1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6bm9uZX19LnBsYXllci1jb250cm9scy1oaWRle2Rpc3BsYXk6bm9uZX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QnJhbmRpbmdJY29ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2cHg7cmlnaHQ6MTJweDtjb2xvcjojZmZmfVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb257bGVmdDoxMnB4O3JpZ2h0OmF1dG99Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QmFja2dyb3VuZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5SGlkZUFjdGlvbk1lbnV7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtyaWdodDoxMnB4fVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXJ7bGVmdDoxMnB4O3JpZ2h0OmF1dG99QGtleWZyYW1lcyB5dG0tZXF1YWxpemVyLWFuaW1hdGlvbnswJXt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGVZKC41KX10b3t0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIgLnl0bS1lcXVhbGl6ZXItYmFyLWxlZnQsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1taWRkbGUsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDthbmltYXRpb24tbmFtZTp5dG0tZXF1YWxpemVyLWFuaW1hdGlvbjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbGVmdHthbmltYXRpb24tZHVyYXRpb246LjVzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbWlkZGxle2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItcmlnaHR7YW5pbWF0aW9uLWR1cmF0aW9uOi43c30ueXRTaG9ydHNUb3VjaEZlZWRiYWNrSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW57ZGlzcGxheTpub25lfS55dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNre2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlcnt3aWR0aDoyNDBweDtoZWlnaHQ6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbnt3aWR0aDo5NnB4O2hlaWdodDo5NnB4fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdHtvdmVyZmxvdy15OnNjcm9sbH19Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyU2NyaW1Db250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo1fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lcntib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowIDhweCAyNHB4O21heC13aWR0aDo0MDBweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXJ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTQwcHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjIwcHggMDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTJweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDZW50cmFsSWNvbntoZWlnaHQ6NjVweDt3aWR0aDo2NXB4O2NvbG9yOiNmMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjQ1cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjI0cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZXtiYWNrZ3JvdW5kOiMwMzAzMDM7b3BhY2l0eTouMTU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjRweDttYXJnaW46MCBhdXRvO3dpZHRoOjQwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50c3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzPmRpdntwYWRkaW5nLWJvdHRvbTo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHM+eXRtLWJ1dHRvbi1yZW5kZXJlcntwYWRkaW5nLXRvcDo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZXtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjEuOHJlbX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxle2xldHRlci1zcGFjaW5nOi4wMWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3otaW5kZXg6NTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3RvcDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206NTAlfX1AbWVkaWEgKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlck92ZXJsYXlDb250YWluZXJ7Ym90dG9tOjI1JX19QG1lZGlhIChtYXgtaGVpZ2h0OjUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206MH19W2JvdHRvbS1zaGVldC1vdmVybGF5LWJvZHktb3Blbl17cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7dG9wOjA7b3ZlcmZsb3c6aGlkZGVufS55dG0tZm9yY2VkLW11dGUtbWVzc2FnZSAuYnV0dG9uLXdpdGgtaWNvbi1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjZweH0ueXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UgLmJ1dHRvbi13aXRoLWljb24taW5uZXIgYzMtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJbYmFja2dyb3VuZD1JTkZPX1BBTkVMX0NPTlRBSU5FUl9CQUNLR1JPVU5EX1NZU1RFTV06Zmlyc3QtY2hpbGR7Ym9yZGVyOm5vbmV9eXRtLWluZm8tcGFuZWwtY29udGFpbmVyLXJlbmRlcmVyW2JhY2tncm91bmQ9SU5GT19QQU5FTF9DT05UQUlORVJfQkFDS0dST1VORF9TWVNURU1de2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfR1JBWV17YmFja2dyb3VuZC1jb2xvcjojZmZmfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXJ7aGVpZ2h0OjM2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWxlZnQtaXRlbXN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1pY29ue21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFt5dG0taW5mby1wYW5lbC1jb250ZW50LWhhcy1tZW51PXRydWVde2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudT10cnVlXSAueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcntwYWRkaW5nLWJvdHRvbToxMnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RJc1dhdGNoSW5mb1BhbmVse21hcmdpbjoxMnB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFt5dG0taW5mby1wYW5lbC1jb250ZW50LXRydW5jYXRlLXBhcmFncmFwaHM9dHJ1ZV0gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclBhcmFncmFwaHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWxpbmUtY2xhbXA6M30ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFtkYXRhLWJhY2tncm91bmQ9SU5GT19QQU5FTF9DT05URU5UX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS10gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZXtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFtkYXRhLWJhY2tncm91bmQ9SU5GT19QQU5FTF9DT05URU5UX0JBQ0tHUk9VTkRfQkxVRV17YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RDaW5lbWF0aWNCYWNrZ3JvdW5ke2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJXcmFwcGVye3BhZGRpbmc6MTJweCAxNnB4IDE2cHggMTZweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcltkYXRhLWhhcy1pY29uPXRydWVde3BhZGRpbmc6MTRweCAxMnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJCb2R5e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUZXh0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcntjb2xvcjojMDY1ZmQ0O21hcmdpbi1ib3R0b206NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7bWF4LWhlaWdodDo0cmVtfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbntwYWRkaW5nLWxlZnQ6MXB4O3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3B9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlck1ldGFkYXRhe21hcmdpbi1ib3R0b206NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclB1Ymxpc2hUaW1le2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM2MDYwNjA7cGFkZGluZy1sZWZ0OjNweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoe2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZXtkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjojMDY1ZmQ0O3BhZGRpbmctbGVmdDoycHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZVRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRodW1ibmFpbHtmbGV4LXNocmluazowO2hlaWdodDo2NHB4O3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6OHB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJFbmRwb2ludHt3aWR0aDoxMDAlfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIZWFkZXJSaWdodEl0ZW1ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVySWNvbnttYXJnaW4tbGVmdDo0cHg7bWFyZ2luLXJpZ2h0OjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJNZW51e2Rpc3BsYXk6YmxvY2t9Lnl0bUxvZ29FbnRpdHlIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHh9Lnl0bUxvZ29FbnRpdHlDb250YWluZXJ7d2lkdGg6MTIycHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUxvZ29FbnRpdHlMb2dve3BhZGRpbmc6MDtoZWlnaHQ6NDhweDt3aWR0aDphdXRvO2NvbG9yOnVuc2V0fS5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlckhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiM2MDYwNjB9LnBsYXllckludGVyc3RpdGlhbFJlbmRlcmVyU2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsLjYpIDc1JSxyZ2JhKDAsMCwwLC42KSl9Lnl0QmlnYm9hcmRTdG9yeWJvYXJkSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbn0ueXRtQTExeVN0eWxlc0hpZGRlbkJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25JY29uRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZE92ZXJsYXl7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uWXRJY29uT3ZlcmxheXtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uQnV0dG9ue2N1cnNvcjpwb2ludGVyO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzoxMnB4O2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Ib3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxLjJyZW07dmlzaWJpbGl0eTpoaWRkZW59Lnl0bUNyZWF0b3JFbmRzY3JlZW5JbkN1ZVJhbmdle3Zpc2liaWxpdHk6dmlzaWJsZX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTN7Zm9udC1zaXplOjEuNHJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwe2ZvbnQtc2l6ZToxLjhyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMHtmb250LXNpemU6Mi40cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudFZpc2libGV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0bUNyZWF0b3JFbmRzY3JlZW5TY3JpbXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRtQ3JlYXRvckVuZHNjcmVlblNjcmltVmlzaWJsZXtvcGFjaXR5Oi4yNX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RyYW5zaXRpb246ei1pbmRleCAuMnMgc3RlcC1lbmQ7ei1pbmRleDo2O3Bvc2l0aW9uOnJlbGF0aXZlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZXt0cmFuc2l0aW9uOnotaW5kZXggLjJzIHN0ZXAtc3RhcnQ7ei1pbmRleDo3fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlse2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsMC42KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFJvdW5ke2JvcmRlci1yYWRpdXM6NTAlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjhweDttYXJnaW46LThweDtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO2NvbG9yOiNmZmY7dmlzaWJpbGl0eTpoaWRkZW47YWxpZ24tY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdTbWFsbCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ01lZGl1bSAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ0xhcmdlIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheXtib3JkZXItcmFkaXVzOjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5UmlnaHR7bGVmdDowfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZle3BhZGRpbmctbGVmdDpjYWxjKDEwMCUgKyA4cHgpfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUxlZnR7cmlnaHQ6MH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0QWN0aXZle3BhZGRpbmctcmlnaHQ6Y2FsYygxMDAlICsgOHB4KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0QWN0aXZlLC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7bWF4LXdpZHRoOm5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMTVweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tcmlnaHQ6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlBY3RpdmVSaWdodCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1MDYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMzZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tcmlnaHQ6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjEzNnB4O21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNjQwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjE3NnB4O21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoyNjRweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlBY3RpdmVSaWdodCAueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6MzJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MzkycHg7bWFyZ2luLWxlZnQ6NDhweDttYXJnaW4tcmlnaHQ6MjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjI0cHg7bWFyZ2luLXJpZ2h0OjQ4cHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXgtaGVpZ2h0OjEwMCU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6MS4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI1O21hcmdpbi1ib3R0b206MnB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6MS42cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjJyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6Mi40cmVtfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuMnJlbTttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuNnJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXtmb250LXNpemU6MS44cmVtO21hcmdpbi10b3A6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToycmVtO21hcmdpbi10b3A6MTJweH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO3BhZGRpbmctdG9wOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6M30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsey13ZWJraXQtbGluZS1jbGFtcDoyfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTU3MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMzQ2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTQ3MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTA2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbHtkaXNwbGF5Om5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle3doaXRlLXNwYWNlOm5vd3JhcH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb257Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxcmVtO3RyYW5zaXRpb246YWxsIC4yc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjdXJzb3I6cG9pbnRlcn0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b257bWFyZ2luLXRvcDo0cHg7bWFyZ2luLWJvdHRvbTo0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMzQ2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbXtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6NjtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1DaGFubmVse2JvcmRlci1yYWRpdXM6NTAlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmV7b3BhY2l0eTouMjV9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uSG9zdHt3aWR0aDoxMDAlfS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNvbnRlbnRDb250YWluZXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25DYW5BbmltYXRle3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2V9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uU3RhdGljV2lkdGggLnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uRmxleENvbnRhaW5lcnt3aWR0aDphdXRvfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLDAuNik7dHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3otaW5kZXg6NX0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0gLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3R7Ym9yZGVyLXJhZGl1czoxMnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZXtib3JkZXItY29sb3I6I2ZmZn0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjMzJX0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjEuMnJlbTtmb250LXdlaWdodDo1MDA7bWFyZ2luOjZweCA4cHggMDtsaW5lLWhlaWdodDoxLjI1O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjMpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjEuNnJlbTttYXJnaW46MTBweCAxMnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6MnJlbTttYXJnaW46MTRweCAxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6Mi40cmVtO21hcmdpbjoxOHB4IDIwcHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWx7b2JqZWN0LWZpdDpjb3Zlcn0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7Zm9udC1zaXplOmluaGVyaXR9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjJweCA0cHg7bWFyZ2luLWJvdHRvbToycHg7bWFyZ2luLXJpZ2h0OjJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjZweCA4cHg7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjEwcHggMTJweDttYXJnaW4tYm90dG9tOjE2cHg7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUb3BHcmFkaWVudHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi44O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYigwLDAsMCksdHJhbnNwYXJlbnQpfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3BhZGRpbmc6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXl7cGFkZGluZzo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwYWRkaW5nOjEycHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO21hcmdpbjowIDJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgNHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgOHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgMTJweH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFNjcmlte2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6NTtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmV7b3BhY2l0eTouMjV9Lnl0UGZwQXV0b25hdkhvc3R7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrfS55dFBmcEF1dG9uYXZWaXNpYmxle3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2dyb3VuZDpibGFja30ueXRQZnBBdXRvbmF2U2NyaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOndoaXRlO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0UGZwQXV0b25hdkhlYWRlcntmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjhweH0ueXRQZnBBdXRvbmF2VGl0bGV7Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1ib3R0b206NHB4fS55dFBmcEF1dG9uYXZCeWxpbmV7Zm9udC1zaXplOjE2cHg7bWFyZ2luLWJvdHRvbToyNHB4fS55dFBmcEF1dG9uYXZCeWxpbmUsLnl0UGZwQXV0b25hdlRpdGxle21heC13aWR0aDo4MCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcEF1dG9uYXZQbGF5QnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjcycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWJvdHRvbToyNHB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXI6MDtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6d2hpdGV9Lnl0UGZwQXV0b25hdlJpbmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0UGZwQXV0b25hdlBsYXlJY29ue3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZmlsbDp3aGl0ZX0ueXRQZnBDb250cm9sc0hvc3R7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dFBmcENvbnRyb2xzSG9zdCA6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjM2VhNmZmfS55dFBmcENvbnRyb2xzT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lnl0UGZwQ29udHJvbHNDcmVhdG9yRW5kc2NyZWVuQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mn0ueXRQZnBDb250cm9sc0ZhZGVJbntwb2ludGVyLWV2ZW50czphdXRvfS55dFBmcENvbnRyb2xzQmlnYm9hcmQsLnl0UGZwQ29udHJvbHNCb3R0b21CYXIsLnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCwueXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyLC55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyx2aXNpYmlsaXR5IC4yNXN9Lnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNCaWdib2FyZCwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc0JvdHRvbUJhciwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc0dyYWRpZW50VG9wLC55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzUHJvZ3Jlc3NCYXJDb250YWluZXIsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNWaWRlb1RpdGxle29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0ueXRQZnBDb250cm9sc0dyYWRpZW50VG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7cG9pbnRlci1ldmVudHM6bm9uZTtoZWlnaHQ6NDlweDt6LWluZGV4OjV9Lnl0UGZwQ29udHJvbHNWaWRlb1RpdGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjEycHg7bWFyZ2luOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxOHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOjc1cHg7aGVpZ2h0Ojc1cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MjtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0ueXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbkljb25CZ3tmaWxsLW9wYWNpdHk6Ljg7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRQZnBDb250cm9sc092ZXJsYXk6aG92ZXIgLnl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b25JY29uQmd7ZmlsbC1vcGFjaXR5OjE7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRQZnBDb250cm9sc1ZpZGVvV2FsbEVuZHNjcmVlbntwYWRkaW5nOjQ4cHggMDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoyfS55dFBmcENvbnRyb2xzQXV0b25hdntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDBweDtsZWZ0OjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6M30ueXRQZnBDb250cm9sc0JvdHRvbUJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NDBweDtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cG9pbnRlci1ldmVudHM6YXV0bzt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNMZWZ0Q29udHJvbHMsLnl0UGZwQ29udHJvbHNSaWdodENvbnRyb2xze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGZwQ29udHJvbHNWb2x1bWVDb250cm9sc3ttYXgtd2lkdGg6MTEycHh9Lnl0UGZwQ29udHJvbHNUaW1lRGlzcGxheS55dFBmcENvbnRyb2xzVGltZURpc3BsYXl7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEuNHJlbTttYXJnaW4tbGVmdDo4cHg7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MzQ5cHgpey55dFBmcENvbnRyb2xzVGltZURpc3BsYXkueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5e2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpey55dFBmcENvbnRyb2xzQ2FwdGlvbnNCdXR0b257ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoyNDlweCl7Lnl0UGZwQ29udHJvbHNWb2x1bWVDb250cm9scy55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHN7ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoxOTlweCl7Lnl0UGZwQ29udHJvbHNTZXR0aW5nc0J1dHRvbntkaXNwbGF5Om5vbmV9fS55dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbi55dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbntoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3R7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwO2Rpc3BsYXk6YmxvY2t9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6Zm9jdXMtdmlzaWJsZSAueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheSwueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVySG9zdDpmb2N1cy13aXRoaW4gLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6aG92ZXIgLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXl7b3BhY2l0eToxfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaHVtYm5haWx7b2JqZWN0LWZpdDpjb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheVRpdGxlQnlsaW5le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpIDYwJSxyZ2JhKDAsMCwwLDApKTtwYWRkaW5nOjhweH0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckJ5bGluZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTZweDttYXJnaW4tdG9wOjRweDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyRHVyYXRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtyaWdodDo4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEycHg7Y29sb3I6d2hpdGV9Lnl0UGZwTW9yZVZpZGVvc0hvc3R7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lfUBtZWRpYSAobWF4LWhlaWdodDoyODlweCl7Lnl0UGZwTW9yZVZpZGVvc0hvc3R7ZGlzcGxheTpub25lfX0ueXRQZnBNb3JlVmlkZW9zT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDhweDtsZWZ0OjEycHg7cmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTIsMTIsMTIsLjgpO3otaW5kZXg6MjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6YXV0bztib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzo4cHggMDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwTW9yZVZpZGVvc0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQZnBNb3JlVmlkZW9zVGl0bGV7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjIwcHg7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcE1vcmVWaWRlb3NDbG9zZUJ1dHRvbntwYWRkaW5nOjRweDttYXJnaW4tcmlnaHQ6LTRweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFBmcE1vcmVWaWRlb3NDbG9zZUJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS55dFBmcE1vcmVWaWRlb3NDbG9zZUljb257Y29sb3I6d2hpdGU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0Q29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZzowIDEycHggNHB4IDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpoaWRkZW59Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy14OmF1dG87aGVpZ2h0OjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Njcm9sbGJhci13aWR0aDpub25lO3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdDo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3R7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtoZWlnaHQ6MDttYXJnaW46MCA2cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6YmxhY2s7c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7cGFkZGluZy1ib3R0b206MTM1cHg7d2lkdGg6MjQwcHg7bWluLXdpZHRoOjI0MHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwNDBweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDE0LjA2MjUlIC0gNi43NXB4KTt3aWR0aDpjYWxjKDI1JSAtIDEycHgpO21pbi13aWR0aDpjYWxjKDI1JSAtIDEycHgpfX1AbWVkaWEgKG1heC13aWR0aDo3ODBweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDE4LjU2MjUlIC0gMy4zNzVweCk7d2lkdGg6Y2FsYygzMyUgLSA2cHgpO21pbi13aWR0aDpjYWxjKDMzJSAtIDZweCl9fUBtZWRpYSAobWF4LXdpZHRoOjUzNHB4KXsueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVte3BhZGRpbmctYm90dG9tOmNhbGMoMjguMTI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoNTAlIC0gNnB4KTttaW4td2lkdGg6Y2FsYyg1MCUgLSA2cHgpfX1AbWVkaWEgKG1heC13aWR0aDoyODhweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDU2LjI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoMTAwJSAtIDZweCk7bWluLXdpZHRoOmNhbGMoMTAwJSAtIDZweCl9fS55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW06Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6YXV0b30ueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnQsLnl0UGZwTW9yZVZpZGVvc1BhZGRsZVJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMzMsMzMsLjgpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOndoaXRlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjI7Ym94LXNoYWRvdzowIDRweCA0cHggcmdiYSgwLDAsMCwuMjUpfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0OmhvdmVyLC55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYig1MCw1MCw1MCl9Lnl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnR7bGVmdDowfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodHtyaWdodDowfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwTW9yZVZpZGVvc01vcmVWaWRlb3NCdXR0b257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjU2cHg7bGVmdDoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Y29sb3I6d2hpdGU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6OHB4IDE2cHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6NTtwb2ludGVyLWV2ZW50czphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRQZnBNb3JlVmlkZW9zTW9yZVZpZGVvc0J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwO2Rpc3BsYXk6YmxvY2t9Lnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6Zm9jdXMtdmlzaWJsZSAueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheSwueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySG9zdDpmb2N1cy13aXRoaW4gLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6aG92ZXIgLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXl7b3BhY2l0eToxfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaHVtYm5haWx7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O2NvbG9yOndoaXRlfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5VGl0bGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjYwcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikgNjAlLHJnYmEoMCwwLDAsMCkpO3BhZGRpbmc6OHB4fS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaXRsZXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweDttYXgtaGVpZ2h0OjM2cHg7Y29sb3I6d2hpdGU7b3ZlcmZsb3c6aGlkZGVufS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJCb3R0b21PdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOndoaXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySWNvbntmaWxsOmN1cnJlbnRDb2xvcjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi1yaWdodDo0cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaXNpYmxle2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiKDEyLDEyLDEyKX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5Jc09ic2N1cmVke3Zpc2liaWxpdHk6aGlkZGVufS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpZGVvTGlzdENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87cGFkZGluZzoxMnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0LC55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMzMsMzMsLjkpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOndoaXRlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjI7Ym94LXNoYWRvdzowIDRweCA0cHggcmdiYSgwLDAsMCwuMjUpfS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnQ6aG92ZXIsLnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTAsNTAsNTApfS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnR7bGVmdDo4cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHR7cmlnaHQ6OHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0l0ZW17cG9zaXRpb246YWJzb2x1dGU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySG9zdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6N30ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckFjdGlvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7YW5pbWF0aW9uOmFjdGlvbi1mYWRlLW91dCAuNXMgbGluZWFyIDEgbm9ybWFsIGZvcndhcmRzfS55dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4O2ZpbGw6I2ZmZn1Aa2V5ZnJhbWVzIGFjdGlvbi1mYWRlLW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyKX19Lnl0d1BsYXllclRpbWVEaXNwbGF5SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbn0ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lQ2h1bmtze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZURvdDpiZWZvcmV7Y29udGVudDpcIlwiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjZweDt3aWR0aDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7bWFyZ2luLXJpZ2h0OjRweH0ueXR3UGxheWVyVGltZURpc3BsYXlMaXZlRG90Lnl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZUhlYWQ6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgyMjUsMCw0NSwwLjkpO29wYWNpdHk6MX0ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lRGVsaW1pdGVye2NvbG9yOiNmZmY7bWFyZ2luOjAgNHB4O29wYWNpdHk6Ljd9Lnl0d1BsYXllclRpbWVEaXNwbGF5VGltZVNlY29uZHtvcGFjaXR5Oi43fS55dHdQbGF5ZXJUaW1lRGlzcGxheUNoYXB0ZXJUZXh0e21hcmdpbi1sZWZ0OjhweH0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJBY3Rpb25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b24ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse21hcmdpbjowIDAgMCA4cHh9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQnV0dG9ue292ZXJmbG93OmhpZGRlbjttYXgtd2lkdGg6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3UGxheWVyVGltZURpc3BsYXlDaGV2cm9ue2NvbG9yOiNmZmY7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweDttYXJnaW4tcmlnaHQ6LTRweH0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse2hlaWdodDoyNHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjRweCA2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxLjRyZW07YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGwgYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxsIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGlsbHttYXJnaW4tbGVmdDoxNnB4fUBtZWRpYSAobWF4LWhlaWdodDoyMjFweCl7Lnl0d1BsYXllclRpbWVEaXNwbGF5RnVsbHNjcmVlbkNvbnRyb2xzQWx3YXlzT257ZGlzcGxheTpub25lfX0ueXR3UGxheWVyVGltZURpc3BsYXlTY3JlZW5SZWFkZXJPbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlIb3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5OjB9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uQmFja3tsZWZ0OjQ4cHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZHtyaWdodDo0OHB4fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUR1cmF0aW9ue2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDAuOCk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uQmFjayAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd3ttYXJnaW4tcmlnaHQ6MjBweH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3cgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dTdmd7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BhdGh7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAuNXB4IHJnYmEoMCwwLDAsMC44KSl9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd0FkZGl0aW9uYWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2xhdGU6MCAtNTAlfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2sgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFse2xlZnQ6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbHtyaWdodDowfS55dHdQbGF5ZXJFbmRzY3JlZW5Ib3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckVuZHNjcmVlbkNvbnRhaW5lcntjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW57cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjojMDAwO3BhZGRpbmc6OHB4IDE2cHg7bWFyZ2luOjAgYXV0bztkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW5bZGF0YS1oYXMtdGltZXItY291bnRkb3duPXRydWVde3BhZGRpbmc6OHB4fX1bZGlyPXJ0bF0gLnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17ZGlyZWN0aW9uOnJ0bH0ueXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5Ub3BQYW5lbHtkaXNwbGF5Om5vbmV9fS55dHdQbGF5ZXJFbmRzY3JlZW5IZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjE2cHh9Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7bWFyZ2luLWJvdHRvbToxMnB4O21hcmdpbi10b3A6NHB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjhweH19Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bk51bWJlcntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRWaWRlb0NvbnRhaW5lcjpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MTJweH0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXl7d2lkdGg6NTAlO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA2cHgpO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5e2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA0cHgpfX0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXk+Lnl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbENvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ueXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsT3ZlcmxheXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZve3dpZHRoOjUwJTtmbGV4LWJhc2lzOmNhbGMoNTAlIC0gNnB4KX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0luZm97ZmxleC1iYXNpczpjYWxjKDUwJSAtIDRweCl9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle21heC1oZWlnaHQ6NHJlbTtjb2xvcjojZmZmO21hcmdpbi1ib3R0b206NHB4fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0F1dGhvcntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXR3UGxheWVyRW5kc2NyZWVuQnV0dG9uQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9ue3dpZHRoOjEwMCV9Lnl0d1BsYXllckVuZHNjcmVlbkFjdGlvbkJ1dHRvbj46Zmlyc3QtY2hpbGR7d2lkdGg6MTAwJX0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uOmZpcnN0LWNoaWxke21hcmdpbi1yaWdodDoxMnB4fS55dG1DdXN0b21Db250cm9sSG9zdHtkaXNwbGF5OmJsb2NrfS55dG1DdXN0b21Db250cm9sSG9zdCA6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjM2VhNmZmfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3R7Y29sb3I6I2ZmZjtwYWRkaW5nOjEycHggMCAwIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3RvcDo1MnB4O21pbi13aWR0aDoxMzBweDttYXgtd2lkdGg6bWluKDUwJSAtIDY0cHgsMjcycHgpfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RBdXRvaGlkZXthbmltYXRpb246ZmFkZSAzcyBlYXNlLWluIDEwcyBmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzfUBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzozLzQpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RUb3BDb250cm9sc1N0YWNrZWRJblBvcnRyYWl0e3RvcDoxMTJweH19Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySGlkZGVue2Rpc3BsYXk6bm9uZX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJCdXR0b257LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyVGV4dHtmb250LXNpemU6MS4zcmVtO3BhZGRpbmctbGVmdDo4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlclRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e21heC1oZWlnaHQ6NHJlbX1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS55dEVtYmVkc0luZm9QYW5lbERldGFpbHNWaWV3TW9kZWxCb2R5VGV4dHtwYWRkaW5nOjAgMTJweCAxMnB4IDEycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRBdXRvY3JvcEJ1dHRvbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO21hcmdpbi10b3A6NjBweH0ueXRBdXRvY3JvcEJ1dHRvblZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS55dEF1dG9jcm9wQnV0dG9uSGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS55dEF1dG9jcm9wQnV0dG9uQXV0b0Nyb3BCdXR0b257Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLXJhZGl1czoxOHB4fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3R7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy14OmF1dG99QG1lZGlhIG5vdCAocG9pbnRlcjpmaW5lKXsueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0ey1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX19QG1lZGlhIChwb2ludGVyOmZpbmUpey55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3R7b3ZlcmZsb3cteTphdXRvfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjojNjA2MDYwfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzkwOTA5MH19Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zUmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweDtjb2xvcjojZmZmfS55dHdQbGF5ZXJGdWxsc2NyZWVuQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckZ1bGxzY3JlZW5Ub3BDb250cm9sc0hvc3R7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ29udHJvbHNWaWRlb1RpdGxle21hcmdpbjowO2NvbG9yOiNmZmZ9Lnl0d1BsYXllckZ1bGxzY3JlZW5Ub3BDb250cm9sc0Z1bGxzY3JlZW5DbG9zZUJ1dHRvbldyYXBwZXJ7bWFyZ2luLXRvcDotOHB4O21hcmdpbi1sZWZ0OmF1dG99Lnl0bVBhaWRDb250ZW50T3ZlcmxheUhvc3R7Y29sb3I6I2ZmZjthbmltYXRpb246ZmFkZSAzcyBlYXNlLWluIDIwcyBmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO3BhZGRpbmc6MTJweCAwIDEycHggMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRtUGFpZENvbnRlbnRPdmVybGF5SGlkZGVue2Rpc3BsYXk6bm9uZX0ueXRtUGFpZENvbnRlbnRPdmVybGF5TGlua3stbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICMzZWE2ZmY7Ym9yZGVyLXJhZGl1czo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjMxMnB4O3BhZGRpbmc6OHB4O3RleHQtZGVjb3JhdGlvbjpub25lfS55dG1QYWlkQ29udGVudE92ZXJsYXlUZXh0e2ZvbnQtc2l6ZToxLjNyZW07cGFkZGluZy1sZWZ0OjhweH1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS5wbGF5ZXItY29udHJvbHMtYm90dG9te2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTozMHB4O3otaW5kZXg6MjtoZWlnaHQ6NDRweH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAucGxheWVyLWJvdHRvbS1jb250cm9scy1mdWxsc2NyZWVuLWljb24tdmlzaWJsZS1hcmVhey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO3BhZGRpbmc6NnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAucGxheWVyLWJvdHRvbS1jb250cm9scy1mdWxsc2NyZWVuLWljb24tdmlzaWJsZS1hcmVhIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS5wbGF5ZXItY29udHJvbHMtYm90dG9tLnBsYXllci1jb250cm9scy1ib3R0b20tbGVmdHtsZWZ0OjEycHg7cmlnaHQ6NzhweH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e3JpZ2h0OjI0cHh9LnBsYXllci1jb250cm9scy1ib3R0b20gLmljb24tYnV0dG9uLmZ1bGxzY3JlZW4taWNvbntkaXNwbGF5OmJsb2NrOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4fWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIC5wbGF5ZXItY29udHJvbHMtYm90dG9te2JvdHRvbTo0NHB4fWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scyAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NzRweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC5wbGF5ZXItY29udHJvbHMtYm90dG9te2JvdHRvbTo5NHB4fS55dHdQbGF5ZXJNaWRkbGVDb250cm9sc0hvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ei1pbmRleDo2fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZS5wcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbnt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cGFkZGluZzo2cHg7Ym9yZGVyLXJhZGl1czoyNHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24+YzMtaWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cGFkZGluZzo2cHg7YmFja2dyb3VuZDpub25lfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIGMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MzZweDt3aWR0aDozNnB4O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24uZW5kc2NyZWVuLXJlcGxheS1idXR0b257aGVpZ2h0OmF1dG87d2lkdGg6YXV0bztib3JkZXItcmFkaXVzOjU2cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5pY29uLWJ1dHRvbi5lbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbj5jMy1pY29ue2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7cGFkZGluZzo4cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24uaWNvbi1idXR0b257aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czo1MCV9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24uaWNvbi1idXR0b24+YzMtaWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O3BhZGRpbmc6dW5zZXR9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5lbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbi5pY29uLWJ1dHRvbix5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1jb250cm9sLXBsYXktcGF1c2UtaWNvbnttYXJnaW46MCAzNHB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuc2NyZWVucmVhZGVyLXNhZmUtaGlkZS1taWRkbGUtYnV0dG9uc3twb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1jb250cm9scy1zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfVtkaXI9cnRsXSB5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGU6bm90KC5wcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbil7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlLWNvcmUtYnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlyZWN0aW9uOmx0cn0ueXRtVmlkZW9JbmZvSG9zdHstbW96LWJveC1mbGV4OjE7ZmxleDoxO292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MH0ueXRtVmlkZW9JbmZvVmlkZW9EZXRhaWxzQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctbGVmdDoxMnB4O21pbi1oZWlnaHQ6NS4ycmVtfS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dG1WaWRlb0luZm9WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDB9fS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfVtkaXI9cnRsXSAueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfS55dG1WaWRlb0luZm9DaGFubmVsVGl0bGV7bWF4LXdpZHRoOjEwMCU7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6MTtsaW5lLWhlaWdodDoxLjF9Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXJ7bWluLWhlaWdodDozNnB4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjB9Lnl0bVZpZGVvSW5mb0xvZ29FbmFibGVke3BhZGRpbmctbGVmdDo1MnB4fS55dG1WaWRlb0luZm9DaGFubmVsTG9nb3t3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjEycHg7bWFyZ2luLXRvcDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDo3O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS55dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVye2hlaWdodDo1LjJyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO21pbi13aWR0aDo1MnB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxMnB4KTttYXJnaW46NHB4O21hcmdpbi10b3A6OHB4O292ZXJmbG93OmhpZGRlbn1bZGlyPXJ0bF0gLnl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lnl0bVZpZGVvSW5mb092ZXJsYXl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO21hcmdpbi1sZWZ0OjRweDtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eTowO21heC13aWR0aDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6MTBweDt6LWluZGV4OjU7cG9zaXRpb246cmVsYXRpdmV9Lnl0bVZpZGVvSW5mb0V4cGFuZGVke29wYWNpdHk6MTttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvQ2hhbm5lbEluZm97ZGlzcGxheTpibG9jaztwYWRkaW5nLXJpZ2h0OjhweDstbW96LWJveC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZXtmb250LXNpemU6MS4ycmVtO2NvbG9yOiNmZmY7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS55dG1WaWRlb0luZm9TdWJzY3JpYmVCdXR0b257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuaXMtc3Vic2NyaWJlZCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVZpZGVvSW5mb0hpZGUsLnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtkaXNwbGF5Om5vbmV9Lnl0bVZpZGVvSW5mb0xpbms6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1NdXRlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRtTXV0ZUJ1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT2ZmLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25Pbnt3aWR0aDozNnB4O2hlaWdodDoxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYgc3ZnLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHh9Lnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2xlZnQ6MjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fVtkaXI9cnRsXSAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2xlZnQ6NnB4fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uUGF1c2VJY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7bGVmdDo2cHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1bZGlyPXJ0bF0gLnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb257bGVmdDoyMnB4fS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2NvbG9yOiNmZmZ9Lnl0d1BsYXllclRvcENvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0ey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNCYWNrZ3JvdW5kQWN0aW9uSXRlbXN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfXl0bS1ub3RpZmljYXRpb24tYWN0aW9uLXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7cGFkZGluZy1yaWdodDoxcmVtfS5ub3RpZmljYXRpb24tYWN0aW9uLWJ1dHRvbntmbGV4LXNocmluazowfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4fS5ib3R0b20tc2hlZXQtc2hhcmUtaXRlbSAudW5pZmllZC1zaGFyZS11cmwtaW5wdXR7aGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zaGFyZS10YXJnZXQtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTJweH0uYm90dG9tLXNoZWV0LXNoYXJlLWl0ZW0gLnNoYXJlLXRhcmdldC1saW5re3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2hlaWdodDo0OHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9ZnVsbHNjcmVlbi1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO292ZXJmbG93OnNjcm9sbDt6LWluZGV4OjR9c2VudGluZWx7fSIpOwp0aGlzLmRlZmF1bHRfYmFzZT10aGlzLmRlZmF1bHRfYmFzZXx8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpczsKdHJ5ewpfLkN0PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5zZXJ2aWNlSWQ9bmV3IF8uTnIoYSxiKX10b1N0cmluZygpe3JldHVybiB0aGlzLnNlcnZpY2VJZC50b1N0cmluZygpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIml1VDVPYyIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgd3Q7Xy52dD1mdW5jdGlvbihhLGIpe3JldHVybiBhPT1iPyEwOmEmJmI/YS53aWR0aD09Yi53aWR0aCYmYS5oZWlnaHQ9PWIuaGVpZ2h0OiExfTtfLnh0PWZ1bmN0aW9uKGEsYil7Yi5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheU5hbWUiKXx8KGIuZGlzcGxheU5hbWU9YS50b1N0cmluZygpKTtiW3d0XT1hfTt3dD1TeW1ib2woIklhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSWU9ZnVuY3Rpb24oKXt0aGlzLmlkPSJiIn07Xy5JZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZH07Xy5GdD1uZXcgXy5OcigiTXBKd1pjIiwiTXBKd1pjIik7dmFyIEd0O0d0PW5ldyBfLkllO18uSHQ9Y2xhc3MgZXh0ZW5kcyBfLkple2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoR3QsYSk7dGhpcy5ub2RlPWE7dGhpcy5raW5kPWJ9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCi8qCgogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwp2YXIgQUEsQkEsREEsV2FhLFhhYSxPQSxQQSwkYWEsYWJhLFNBLFRBLGRiYSxlYmEsZmJhLGRCLGdiYSxqYmEsa2JhLGhCLGtCLGxCLHJCLHNCLHRCLHVCLHZCLHdCLG5iYSxwYmEsb2JhLEVCLHNiYSxEQixGQixIQix0YmEsdWJhLHZiYSxRQixTQixUQix3YmEsYUMsWUIsY0MsVUIsZUMsaEMsaUMsa0MseWJhLHpiYSxBYmEsc0MsdkMsRGJhLHpDLENDLEZiYSxHYmEsRWJhLFZhYSxLQSxvQztfLnlBPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmZiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O18uekE9ZnVuY3Rpb24oYSxiKXtpZihhLm5vZGVUeXBlPT09MSYmL14oc2NyaXB0fHN0eWxlKSQvaS50ZXN0KGEudGFnTmFtZSkpdGhyb3cgRXJyb3IoImgiKTthLmlubmVySFRNTD1fLnlBKGIpfTtBQT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9O2ZvcihsZXQgZCBpbiBhKWNbZF09Yi5jYWxsKHZvaWQgMCxhW2RdLGQsYSk7cmV0dXJuIGN9OwpfLkl0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIk1hIik7fTtCQT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPV8uWHQoXy5lZChhLDIsdm9pZCAwLF8uRHYpKTtyZXR1cm4gYT09PW51bGx8fGE9PT12b2lkIDA/bnVsbDpfLmdiKGEpfTtfLkNBPWZ1bmN0aW9uKGE9Myl7dmFyIGI9Xy5adDtpZighYil7c3dpdGNoKGEpe2Nhc2UgMDphPUVycm9yKCJSYSIpO2JyZWFrO2Nhc2UgMTphPUVycm9yKCJVYSIpO2JyZWFrO2Nhc2UgMjphPUVycm9yKCJWYSIpO2JyZWFrO2RlZmF1bHQ6YT1FcnJvcigiV2EiKX10aHJvdyBhO31yZXR1cm4gYn07REE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU9iamVjdC5jcmVhdGUoVmFhKTtkLnNvdXJjZT1hO2QuVGc9YjtjIT12b2lkIDAmJihkLmVxdWFsPWMpO2E9KCk9PntfLnJ1KGQpO18ucHUoZCk7aWYoZC52YWx1ZT09PV8uSXYpdGhyb3cgZC5lcnJvcjtyZXR1cm4gZC52YWx1ZX07YVtfLlp1XT1kO3JldHVybiBhfTsKXy5FQT1mdW5jdGlvbihhKXt2YXIgYj1fLmt1KG51bGwpO3RyeXtyZXR1cm4gYSgpfWZpbmFsbHl7Xy5rdShiKX19O1dhYT1mdW5jdGlvbihhKXthPXtbXy5FdV06ITAsZGVidWdOYW1lOmF9OyFfLlp0fHxfLkJ1KGEpO3JldHVybiBhfTtfLkZBPWZ1bmN0aW9uKGEpe3JldHVybiBhLmRlYnVnTmFtZXx8YS5uYW1lfHwiW2NvbXBvbmVudF0ifTtfLkdBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLkZBKGEpO18uTXU9e25hbWU6Yz9gJHtkfSAoJHtjfSlgOmQsbGo6YS5jb21wb25lbnRUeXBlIT09Xy5LdixwYXJlbnQ6Xy5NdX07YT1iKCk7Xy5NdT1fLk11LnBhcmVudDtyZXR1cm4gYX07Xy5IQT1mdW5jdGlvbigpe3ZhciBhPV8uTXU7cmV0dXJuIGE/YS5sajohMX07Xy5JQT1mdW5jdGlvbihhKXtfLmd2LS07aWYoYSlmb3IobGV0IGIgb2YgXy5ZdiliLmNsZWFyKCk7ZWxzZSBfLmd2PjB8fF8uY3YuaXNGbHVzaGluZyYmIV8uS3UuUml8fF8uanYoKX07Cl8uSkE9ZnVuY3Rpb24oYSxiKXtiPXtjb21wb25lbnRTdGFjazpfLlN1KF8uUHUpLHByOl8uUXU/LnNsaWNlKCk/P1tdLGZoOjMsQWw6Xy5MdSgpLHRhZ05hbWU6Yn07cmV0dXJuW2EsYl19O18uTEE9ZnVuY3Rpb24oKXtpZih0eXBlb2YgS0E9PT0iZnVuY3Rpb24iKXZhciBhPUtBO2Vsc2UgaWYodHlwZW9mIEtBPT09Im9iamVjdCIpYT1LQS5jb25zdHJ1Y3RvcjtlbHNlIHRocm93IEVycm9yKHZvaWQgMCk7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfTtYYWE9ZnVuY3Rpb24oKXtpZighXy51Py5TeW1ib2w/LmZvcilyZXR1cm4gbmV3IFdlYWtNYXA7dmFyIGE9U3ltYm9sLmZvcigiZ29vZ2xlLmdvZW0iKSxiPV8udVthXTtpZihiKXJldHVybiBiO2I9bmV3IFdlYWtNYXA7cmV0dXJuIF8udVthXT1ifTsKT0E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnRhZ05hbWUsZD1hLnRhZ05hbWU7YT1NQS5oYXMoZCkmJiFZYWEuaGFzKGQpOygoYj1NQS5oYXMoYykpfHxhKSYmYSYmIWImJk5BLmhhcyhjLnRvTG93ZXJDYXNlKCkpJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiSWJgIitjKyJgIitkKSwyLGMpO30pfTtQQT1mdW5jdGlvbigpe307Xy5RQT1mdW5jdGlvbihhLGIsYyl7aWYoYz09bnVsbClhLnJlbW92ZUF0dHJpYnV0ZShiKTtlbHNle3ZhciBkOyhkPWIubGFzdEluZGV4T2YoInhtbDoiLDApPT09MD8iaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIjpiLmxhc3RJbmRleE9mKCJ4bGluazoiLDApPT09MD8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI6bnVsbCk/YS5zZXRBdHRyaWJ1dGVOUyhkLGIsYyk6YS5zZXRBdHRyaWJ1dGUoYixjKX19OwokYWE9ZnVuY3Rpb24oYSxiLGMpe2E9YS5zdHlsZTtpZih0eXBlb2YgYz09PSJzdHJpbmciKWEuY3NzVGV4dD1jO2Vsc2V7YS5jc3NUZXh0PSIiO2ZvcihsZXQgZiBpbiBjKWlmKFphYS5jYWxsKGMsZikpe2I9YTt2YXIgZD1mLGU9Y1tmXTtkLmluZGV4T2YoIi0iKT49MD9iLnNldFByb3BlcnR5KGQsZSk6YltkXT1lfX19O2FiYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dHlwZW9mIGM7ZD09PSJvYmplY3QifHxkPT09ImZ1bmN0aW9uIj9hW2JdPWM6Xy5RQShhLGIsYyl9O1NBPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IFBBO2FbXy5SQS5kZWZhdWx0XT1hYmE7YS5zdHlsZT0kYWE7cmV0dXJuIGF9O1RBPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGI9PWMmJmQ9PWV9O18uWEE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy5VQSxiPV8uVkEoKTtiIT09bnVsbDspe2xldCBjPWIubmV4dFNpYmxpbmc7YS5yZW1vdmVDaGlsZChiKTtfLldBLmRlbGV0ZWQucHVzaChiKTtiPWN9fTsKXy5WQT1mdW5jdGlvbigpe3JldHVybiBfLllBP18uWUEubmV4dFNpYmxpbmc6Xy5VQS5maXJzdENoaWxkfTsKZGJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLldBLGU9Xy5aQSxmPV8uJEEsaD1fLmFCLGs9Xy5ZQSxsPV8uVUEsbT1fLmJCO18uWkE9YS5vd25lckRvY3VtZW50O18uV0E9bmV3IGJiYShhKTtfLmJCPWI7Xy5hQj1bXTtfLllBPW51bGw7Yj1fLlVBPWEucGFyZW50Tm9kZTt2YXIgbj1jYmEuY2FsbChhKTtpZigobj1uLm5vZGVUeXBlPT09MTF8fG4ubm9kZVR5cGU9PT05P24uYWN0aXZlRWxlbWVudDpudWxsKSYmYS5jb250YWlucyhuKSl7Zm9yKGE9W107biE9PWI7KWEucHVzaChuKSxuPW4ucGFyZW50Tm9kZXx8KGI/bi5ob3N0Om51bGwpO2I9YX1lbHNlIGI9W107Xy4kQT1iO3RyeXtyZXR1cm4gYygpfWZpbmFsbHl7Yz1fLldBLF8uY0ImJmMuZGVsZXRlZC5sZW5ndGg+MCYmKDAsXy5jQikoYy5kZWxldGVkKSxfLlpBPWUsXy5XQT1kLF8uYkI9bSxfLmFCPWgsXy5ZQT1rLF8uVUE9bCxfLiRBPWZ9fTsKZWJhPWZ1bmN0aW9uKGEsYj17fSl7dmFyIHttYXRjaGVzOmM9VEF9PWI7cmV0dXJuKGQsZSxmKT0+ZGJhKGQsYywoKT0+YShkLGUsZikpfTtmYmE9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7Zm9yKHZhciBiPShkLGUsZik9Pnt2YXIgaD1NYXRoLm1pbihlLmxlbmd0aC1mLGQubGVuZ3RoKTtmb3IobGV0IGw9MDtsPGg7bCsrKXt2YXIgaz1lW2YrbF07aWYoZFtsXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsYSxjKXx8YigiXHgzYyEtLSIsYSxjKSlyZXR1cm4ielNveXoiO2MrPTF9cmV0dXJuIGF9OwpkQj1mdW5jdGlvbihhKXtpZihhLmlzQ29ubmVjdGVkIT09dm9pZCAwKXJldHVybiBhLmlzQ29ubmVjdGVkO3ZhciBiPWEub3duZXJEb2N1bWVudDtpZighYilyZXR1cm4gYT09PWRvY3VtZW50O2lmKHR5cGVvZiBiLmNvbnRhaW5zPT09ImZ1bmN0aW9uIilyZXR1cm4gYi5jb250YWlucyhhKTtmb3IoO2E7KXtpZihhPT09YilyZXR1cm4hMDthPWEucGFyZW50Tm9kZX1yZXR1cm4hMX07Z2JhPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGM9Xy5DQSgpLGQ9Xy5NdTtyZXR1cm4gZT0+e3ZhciBmPSExLGg9ZS5jdXJyZW50VGFyZ2V0O2gmJihmPSFkQihoKXx8YiYmaFtlQl09PT0hMCk7dmFyIGs9Yz8uaWEsbD1iJiZoJiZoW2VCXT09PSEwO2lmKGZ8fGspe2lmKGgmJmRCKGgpJiYoa3x8bCkpdGhyb3cgXy5VdShFcnJvcigia2MiKSw0KTt9ZWxzZXt2YXIgbT0oKT0+YShlKTt0cnl7Xy5SdSgoKT0+Xy5FQShtKSxkKX1jYXRjaChuKXtfLm92KG4sYyl9fX19OwpfLmdCPWZ1bmN0aW9uKGEsYixjKXtpZihPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChmQixhKSYmKGE9ZkJbYV0sT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoYSxiKSYmKGE9YVtiXSxhIGluc3RhbmNlb2YgQXJyYXkpKSl7bGV0IGU9bnVsbCxmPSExO2ZvcihsZXQgaD0wLGs9YS5sZW5ndGg7aDxrOysraCl7bGV0IGw9YVtoXTt2YXIgZD1sLmliO2lmKCFkKXJldHVybiBsLmthO2U9PT1udWxsJiYoZT17fSk7ZD1PYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChlLGQpP2VbZF06ZVtkXT1jKGQpO2lmKGQ9PT1sLm5iKXJldHVybiBsLmthO2Q9PW51bGwmJihmPSEwKX1pZihmKXJldHVybiBudWxsfWI9aGJhW2JdO3JldHVybiB0eXBlb2YgYj09PSJudW1iZXIiP2I6bnVsbH07CmpiYT1mdW5jdGlvbihhLGIpe2I9Xy5nQihhLnRvTG93ZXJDYXNlKCksYiwoKT0+e3Rocm93IF8uVXUoRXJyb3IoIm1jIiksNCxhLnRvTG93ZXJDYXNlKCkpO30pO3JldHVybiBiPT09bnVsbD9udWxsOmliYVtiXT8/bnVsbH07a2JhPWZ1bmN0aW9uKGEsYixjKXtpZihjPT09bnVsbHx8Yz09PXZvaWQgMClyZXR1cm4gYztiPWIudG9Mb3dlckNhc2UoKTthPWpiYShhLGIpO3JldHVybiBhPT09bnVsbD9jOmEoYixjKX07aEI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1XYWEoYik7Yj1fLiR0KGMpO3RyeXthKGMpfWZpbmFsbHl7Xy4kdChiKX1yZXR1cm4oKT0+dm9pZCBfLkN1KGMpfTtfLmlCPWZ1bmN0aW9uKGEpe3JldHVybiBfLkFhKGEpPyJub2RlVHlwZSJpbiBhOiExfTtfLmpCPWZ1bmN0aW9uKGEpe3JldHVybiBfLmlCKGEpJiZhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREV9O2tCPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKX07CmxCPWZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGEpKTthLl9pc1NpZ25hbFRleHROb2RlPSEwO3JldHVybiBhfTtfLm9CPWZ1bmN0aW9uKGEpe3JldHVybiBhIT1udWxsJiZhLkdpPT09Xy5tQnx8YSBpbnN0YW5jZW9mIF8uZmJ8fG5CKGEpfTtfLnBCPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG5CKGEpJiZCQShhKSlfLnpBKGIsQkEoYSkpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uZmIpXy56QShiLGEpO2Vsc2UgaWYoYSE9bnVsbCYmYS5HaT09PV8ubUIpe2lmKGEuR2khPT1fLm1CKXRocm93IEVycm9yKCJOYSIpO2E9Xy5nYihhLnRvU3RyaW5nKCkpO18uekEoYixhKX1mb3IobGV0IGMgb2YgYi5jaGlsZE5vZGVzKWMuX2lzU2FmZU9yU2FuaXRpemVkSHRtbE5vZGU9ITA7cmV0dXJuIGJ9OwpfLnFCPWZ1bmN0aW9uKGEpe2E9dHlwZW9mIGE7cmV0dXJuIGE9PT0ic3RyaW5nInx8YT09PSJudW1iZXIifHxhPT09ImJvb2xlYW4ifTtyQj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uU2F8fF8uWGEoYSl8fCExfTtzQj1mdW5jdGlvbihhLGIpe3ZhciBjPWEucGFyZW50RWxlbWVudDtpZighYylyZXR1cm4gYjtfLmpCKGIpJiZPQShjLGIpO2MucmVwbGFjZUNoaWxkKGIsYSk7cmV0dXJuIGJ9O3RCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YVswXS5wYXJlbnRFbGVtZW50O2lmKGMpaWYoYVswXS5wcmV2aW91c1NpYmxpbmd8fGFbYS5sZW5ndGgtMV0ubmV4dFNpYmxpbmcpe2MuaW5zZXJ0QmVmb3JlKGIsYVswXSk7Zm9yKGxldCBkPWEubGVuZ3RoLTE7ZD49MDtkLS0pYy5yZW1vdmVDaGlsZChhW2RdKX1lbHNlIGMudGV4dENvbnRlbnQ9IiIsYy5hcHBlbmRDaGlsZChiKTtyZXR1cm4gYn07CnVCPWZ1bmN0aW9uKGEsYil7aWYoYVswXS5wYXJlbnRFbGVtZW50KXt2YXIgYz1hWzBdLnBhcmVudEVsZW1lbnQ7bGV0IGY9Yi5sZW5ndGgsaD1hLmxlbmd0aCxrPWYsbD0wLG09MCxuPWFbaC0xXS5uZXh0U2libGluZyxwPW51bGw7Zm9yKDtsPGh8fG08azspaWYoYVtsXT09PWJbbV0pbCsrLG0rKztlbHNle2Zvcig7YVtoLTFdPT09YltrLTFdOyloLS0say0tO2lmKGg9PT1sKWZvcih2YXIgZD1rPGY/bT9iW20tMV0ubmV4dFNpYmxpbmc6YltrLW1dOm47bTxrOyl7dmFyIGU9YlttKytdO18uakIoZSkmJk9BKGMsZSk7Yy5pbnNlcnRCZWZvcmUoZSxkKX1lbHNlIGlmKGs9PT1tKWZvcig7bDxoOylkPWFbbF0scCYmcC5oYXMoZCl8fGMucmVtb3ZlQ2hpbGQoZCksbCsrO2Vsc2UgaWYoYVtsXT09PWJbay0xXSYmYlttXT09PWFbaC0xXSlkPWFbLS1oXS5uZXh0U2libGluZyxjLmluc2VydEJlZm9yZShiW20rK10sYVtsKytdLm5leHRTaWJsaW5nKSxjLmluc2VydEJlZm9yZShiWy0ta10sZCksCmFbaF09YltrXTtlbHNle2lmKCFwKWZvcihwPW5ldyBNYXAsZD1tO2Q8azspcC5zZXQoYltkXSxkKyspO2Q9cC5nZXQoYVtsXSk7aWYoZD09bnVsbCljLnJlbW92ZUNoaWxkKGFbbF0pLGwrKztlbHNlIGlmKG08ZCYmZDxrKXtlPWw7bGV0IHI9MSx0O2Zvcig7KytlPGgmJmU8azspe3Q9cC5nZXQoYVtlXSk7aWYodD09bnVsbHx8dCE9PWQrcilicmVhaztyKyt9aWYocj5kLW0pZm9yKGU9YVtsXTttPGQ7KWMuaW5zZXJ0QmVmb3JlKGJbbSsrXSxlKTtlbHNlIGMucmVwbGFjZUNoaWxkKGJbbSsrXSxhW2wrK10pfWVsc2UgbCsrfX19cmV0dXJuIGJ9O3ZCPWZ1bmN0aW9uKGEpe2lmKCFBcnJheS5pc0FycmF5KGEpKXJldHVybiBhPy5wYXJlbnRFbGVtZW50O2ZvcihsZXQgYiBvZiBhKWlmKGE9dkIoYikpcmV0dXJuIGE7cmV0dXJuIG51bGx9O3dCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5fZGlzcG9zZUVmZmVjdHM7YS5fZGlzcG9zZUVmZmVjdHM9Yz8oKT0+e2MoKTtiKCl9OmJ9OwpfLnpCPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYz09PSJib29sZWFuIiYmbGJhLmhhcyhiKSlfLlFBKGEsYixTdHJpbmcoYykpO2Vsc2UgaWYoYz09PSExJiZtYmEuaGFzKGIpKV8uUUEoYSxiLG51bGwpO2Vsc2UgaWYoYiE9PSJpZG9tS2V5IiYmYiE9PSJza2lwIiYmYiE9PSJza2lwY2hpbGRyZW4iJiZiIT09ImNoaWxkcmVuIiYmYiE9PSJlbCIpaWYoYi5zdGFydHNXaXRoKCJvbiIpKXtpZihiWzJdIT09IjoiKXRocm93IF8uVXUoRXJyb3IoImxjYCIrYiksNCxhLnRhZ05hbWUpO2xldCBmPWIuc2xpY2UoMyk7dmFyIGQ9Xy5IQSgpO2lmKGM9PT12b2lkIDApZHx8Zj09PSJqc2FjdGlvbiJ8fHhCLmluY2x1ZGVzKGYpfHwoYVtgb24ke2Z9YF09bnVsbCk7ZWxzZSBpZihmPT09ImpzYWN0aW9uIil7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO2ZvcihsZXQgaCBvZiBjKXtpZih0eXBlb2YgaCE9PSJvYmplY3QifHxoPT09bnVsbHx8dHlwZW9mIGgucW4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJzY2AiKwpiKTtoLnFuKDAsYSxkP18uWXU6KCk9Pnt9KX19ZWxzZXtpZih0eXBlb2YgYz09PSJmdW5jdGlvbiIpe2R8fGFbZUJdIT09dm9pZCAwfHwoYVtlQl09ITEsd0IoYSwoKT0+e2FbZUJdPSEwfSkpO3ZhciBlPWdiYShjLCFkKX1lbHNle25iYShiLGMpO2lmKGMucW4pe2MucW4oMCxhLGYsZD9fLll1OigpPT57fSk7cmV0dXJufWU9Yy5VcCgwKX1pZihkJiZhW2BvbiR7Zn1gXT09PXZvaWQgMClhLmFkZEV2ZW50TGlzdGVuZXIoZixlKSxfLll1KCgpPT52b2lkIGEucmVtb3ZlRXZlbnRMaXN0ZW5lcihmLGUpKTtlbHNlIGlmKGR8fCF4Qi5pbmNsdWRlcyhmKSlhW2BvbiR7Zn1gXT1lfX1lbHNle2lmKGIuc3RhcnRzV2l0aCgiZGF0YS0iKSYmdHlwZW9mIGM9PT0ic3RyaW5nIil0cnl7Yz1mYmEoYyl9Y2F0Y2goZil7Yz0ielNveXoifXR5cGVvZiBjIT09ImZ1bmN0aW9uInx8YS5fZGlzcG9zZUVmZmVjdHMhPW51bGw/KChkPWIuc3RhcnRzV2l0aCgicHJvcDoiKSkmJihiPWIuc2xpY2UoNSkpLGI9PT0KInN0eWxlIj9fLkhBKCk/dHlwZW9mIGM9PT0ib2JqZWN0IiYmYyE9PW51bGw/b2JhKGEsYyk6eUIoYSxiLGMpOnlCKGEsYixjKTooXy5LdS55diYmKGQmJnBiYShhLnRhZ05hbWUpfHwoYz1rYmEoYS50YWdOYW1lLGIsYykpKSxkP2FbYl09YzpxYmEoYSxiLGMpKSk6KGEuX3NpZ25hbFByb3BzfHwoYS5fc2lnbmFsUHJvcHM9W10pLGEuX3NpZ25hbFZhbHVlc3x8KGEuX3NpZ25hbFZhbHVlcz1bXSksYS5fc2lnbmFsUHJvcHMucHVzaChiKSl9fTtfLkFCPWZ1bmN0aW9uKGEsYix7bGo6Y309e30pe2lmKGI/LmVsKXtsZXQgZD1iLmVsO2QubXo/LihhKTthLl9kaXNwb3NlUmVmfHwoYS5fZGlzcG9zZVJlZj0oKT0+e2QudXo/LigpO2RlbGV0ZSBhLl9kaXNwb3NlUmVmfSxjJiZfLll1KCgpPT57YS5fZGlzcG9zZVJlZj8uKCl9KSl9fTsKbmJhPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIhPT0ib2JqZWN0Inx8Yj09PW51bGwpdGhyb3cgXy5VdShFcnJvcigicWNgIithKyJgIit0eXBlb2YgYiksNCk7aWYodHlwZW9mIGIuVXAhPT0iZnVuY3Rpb24iKXRocm93IF8uVXUoRXJyb3IoInJjYCIrYSsiYCIrT2JqZWN0LmtleXMoYikpLDQpO307cGJhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD4wJiZhLmluY2x1ZGVzKCItIikmJiFyYmEuaW5jbHVkZXMoYS50b0xvd2VyQ2FzZSgpKX07Cm9iYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uWnQsZD1hW0JCXSxlPWFbQ0JdO2lmKGUpZm9yKHZhciBmIG9mIHNiYShlLGIpKURCKGQsZiksRUIoYS5zdHlsZSxmLG51bGwpO2U9bmV3IFNldDtmb3IobGV0IGggaW4gYil7aWYoIWIuaGFzT3duUHJvcGVydHkoaCkpY29udGludWU7ZS5hZGQoaCk7bGV0IGs9YltoXTtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiImJmMpe2lmKCFkKXtkPW5ldyBNYXA7bGV0IGw9YVtCQl09ZDt3QihhLCgpPT57Zm9yKGxldCBtIG9mIGwudmFsdWVzKCkpbSgpO2wuY2xlYXIoKX0pfURCKGQsaCk7Zj1fLnV2KCgpPT57Xy50digoKT0+e3ZhciBsPWsoKTtFQihhLnN0eWxlLGgsbCl9LCJRRHpISmUiKX0pO2Quc2V0KGgsZil9ZWxzZSBEQihkLGgpLEVCKGEuc3R5bGUsaCxrKX1hW0NCXT1lfTsKRUI9ZnVuY3Rpb24oYSxiLGMpe2M9PW51bGx8fGM9PT0hMT9iLnN0YXJ0c1dpdGgoIi0tIil8fGIuaW5jbHVkZXMoIi0iKT9hLnJlbW92ZVByb3BlcnR5KGIpOmFbYl09IiI6Yi5zdGFydHNXaXRoKCItLSIpfHxiLmluY2x1ZGVzKCItIik/YS5zZXRQcm9wZXJ0eShiLFN0cmluZyhjKSk6YVtiXT1jfTtzYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKGxldCBjIG9mIGEpYyBpbiBifHwoeWllbGQgYyl9KCl9O0RCPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS5nZXQoYik7YyYmKGMoKSxhLmRlbGV0ZShiKSl9fTtGQj1mdW5jdGlvbihhKXtyZXR1cm4oMCxfLnFyKShhKSYmIl9fd2l6X1JxTVlNImluIGF9O18uR0I9ZnVuY3Rpb24oYSl7cmV0dXJuIEZCKGEpP2EuX193aXpfUnFNWU0uUWU6YX07SEI9ZnVuY3Rpb24oYSxiLC4uLmMpe2I9Yj8/e307cmV0dXJue3R5cGU6YSxwcm9wczpiLGNoaWxkcmVuOmMsW18uTHZdOiEwfX07Xy5JQj1mdW5jdGlvbihhKXtyZXR1cm4gYS5jaGlsZHJlbn07Cl8uTEI9ZnVuY3Rpb24oYSl7dmFyIGI9SkIhPT1IQjtKQj1hP18uS0I6SEI7cmV0dXJuIGJ9O3RiYT1mdW5jdGlvbigpe3ZhciBhPV8uQ0EoMSksYj1fLmN1KGEsXy5NQik7aWYoIV8uYnUoYikpcmV0dXJuIGI7YT1fLmN1KGEsXy5OQik7aWYoIV8uYnUoYSkpcmV0dXJuIGEubncoKX07Xy5QQj1mdW5jdGlvbihhLGIpe2I9PW51bGwmJihiPShfLk9CLnN2Pz9kb2N1bWVudCkuX193aXpkaXNwYXRjaGVyLmFKKCkpO2IuZ2V0KF8uRnQpLm8uZGlzcGF0Y2hFdmVudChuZXcgXy5IdChhLF8ubUIpKX07CnViYT1mdW5jdGlvbihhKXtpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD4xKXRocm93IF8uVXUoRXJyb3IoInZjYCIrYS5sZW5ndGgrImAiK2EubWFwKFFCKS5qb2luKCIsICIpKSw0LCJTQ1JJUFQiKTthPWFbMF19aWYoYT09bnVsbClyZXR1cm4gbnVsbDtpZighKGEgaW5zdGFuY2VvZiBfLmpiKSl7aWYod2luZG93Py50cnVzdGVkVHlwZXM/LmlzU2NyaXB0KGEpKXRocm93IEVycm9yKCJ1YyIpO2lmKFN0cmluZyhhKS50cmltKCkubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcigid2NgIitRQihhKSk7fXJldHVybiBhfTt2YmE9ZnVuY3Rpb24oYSxiKXtiPXViYShiKTtiIT09bnVsbCYmXy5uYihhLGIpfTsKXy5SQj1mdW5jdGlvbihhKXtpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD4xKXRocm93IF8uVXUoRXJyb3IoInhjYCIrYS5sZW5ndGgrImAiK2EubWFwKFFCKS5qb2luKCIsICIpKSw0LCJTVFlMRSIpO2E9YVswXX1pZihhPT1udWxsfHxTdHJpbmcoYSkudHJpbSgpLmxlbmd0aD09PTApcmV0dXJuIG51bGw7dGhyb3cgRXJyb3IoInljYCIrUUIoYSkpO307UUI9ZnVuY3Rpb24oYSl7cmV0dXJuYCgke3R5cGVvZiBhfSkgJHthIT1udWxsJiZ0eXBlb2YgYT09PSJvYmplY3QiP2EuY29uc3RydWN0b3IubmFtZTp0eXBlb2YgYX0gJHthfWB9O1NCPWZ1bmN0aW9uKCl7fTtUQj1mdW5jdGlvbigpe3JldHVybiBudWxsfTsKXy5YQj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPVVCKCksZD0hMCxlLGY9ISFfLkt1LkpxO2YmJihlPXRiYSgpKTtfLnR2KCgpPT57dmFyIGg9IWQmJmIuV2UmJmYsaz1oP3ZCKGNbMF0pOnZvaWQgMDtkPSExO2IuV2UmJl8uZ3YrKzt2YXIgbD1jWzBdLG09Yy5fX3dpel9ScU1ZTS5RZSxuPV8uTEIoITApO3RyeXtsZXQgdjt0cnl7dj1hKCl9Y2F0Y2goRil7Xy5vdihGKSx2PWtCKCl9bGV0IHo9d2JhKGwsdixjKSxFPV8uVkIudnkoeik/P3o7QXJyYXkuaXNBcnJheShFKXx8KGMuX193aXpfUnFNWU0uUWU9W0VdKTtsZXQgQT1jLl9fd2l6X1JxTVlNLlFlO2lmKG0mJighQXJyYXkuaXNBcnJheShtKXx8bS5sZW5ndGghPT0wKSl7dmFyIHA9QXJyYXkuaXNBcnJheShtKT9tWzBdOm0scj1wW18uV0JdLHQ9cC5fZGlzcG9zZUVmZmVjdHM7cC5fZGlzcG9zZUVmZmVjdHM9dm9pZCAwO3A9QXJyYXkuaXNBcnJheShBKT9BWzBdOkE7cFtfLldCXT1yO3BbXy5XQl0mJihwW18uV0JdLlVxPXA9PT1BPwoxOkEubGVuZ3RoKTtwLl9kaXNwb3NlRWZmZWN0cz10fWNbMF09RTtiLldlJiZfLklBKCExKX1jYXRjaCh2KXt0aHJvdyBiLldlJiZfLklBKCEwKSxfLlV1KHYsNCk7fWZpbmFsbHl7Xy5MQihuKX1oJiZfLlBCKGssZSl9LGIuZGVidWdOYW1lKTtyZXR1cm4gY307CndiYT1mdW5jdGlvbihhLGIsYyl7Zm9yKDt0eXBlb2YgYj09PSJmdW5jdGlvbiI7KWI9YigpO2lmKGI/LltfLkx2XSl0aHJvdyBfLlV1KEVycm9yKCJ6Y2AiK2IudHlwZT8uWmMpLDQsYi50eXBlPy5aYyk7aWYoYT09bnVsbClyZXR1cm4gYj09bnVsbD9rQigpOl8ucUIoYik/bEIoYik6ckIoYik/bEIoYi50b1N0cmluZygpKTpfLmlCKGIpP2I6Yi5sZW5ndGg9PT0wP2tCKCk6WUIoYixjKTtpZihfLmlCKGEpKXtpZihiPT1udWxsKXJldHVybiBzQihhLGtCKCkpO2lmKF8ucUIoYikpcmV0dXJuIGFDKGEsYik7aWYockIoYikpcmV0dXJuIGFDKGEsYi50b1N0cmluZygpKTtpZihfLmlCKGIpKXJldHVybiBzQihhLGIpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gc0IoYSxrQigpKTtiPVlCKGIsYyk7dUIoW2FdLGMuX193aXpfUnFNWU0uUWUpO3JldHVybiBifWE9Xy5iQyhhKTtpZihiPT1udWxsKXJldHVybiB0QihhLGtCKCkpO2lmKF8ucUIoYikpcmV0dXJuIHRCKGEsbEIoYikpO2lmKHJCKGIpKXJldHVybiB0QihhLApsQihiLnRvU3RyaW5nKCkpKTtpZihfLmlCKGIpKXJldHVybiB1QihhLFtiXSlbMF07aWYoYi5sZW5ndGg9PT0wKXJldHVybiB0QihhLGtCKCkpO2I9WUIoYixjKTt1QihhLGMuX193aXpfUnFNWU0uUWUpO3JldHVybiBifTthQz1mdW5jdGlvbihhLGIpe2Eubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9hLnRleHRDb250ZW50IT09U3RyaW5nKGIpJiYoYS50ZXh0Q29udGVudD1TdHJpbmcoYikpOmE9c0IoYSxsQihiKSk7cmV0dXJuIGF9O18uYkM9ZnVuY3Rpb24oYSxiLGM9ITEpe3JldHVybiBjQyhhLGI/P1tdLGMpfTtZQj1mdW5jdGlvbihhLGIpe3ZhciBjPV8uYkMoYSx2b2lkIDAsITApO2lmKGMubGVuZ3RoPT09MClyZXR1cm4ga0IoKTtiLl9fd2l6X1JxTVlNLlFlPWM7cmV0dXJuIGF9OwpjQz1mdW5jdGlvbihhLGI9W10sYz0hMSxkLGU9LTEpe2lmKGE9PW51bGwpcmV0dXJuIGI7aWYoIUFycmF5LmlzQXJyYXkoYikmJl8uakIoYikpc3dpdGNoKF8uakIoYSkmJk9BKGIsYSksYi50YWdOYW1lKXtjYXNlICJTQ1JJUFQiOnZiYShiLGEpO3JldHVybjtjYXNlICJTVFlMRSI6aWYoXy5SQihhKSE9PW51bGwpdGhyb3cgRXJyb3IoImgiKTtyZXR1cm59aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspY0MoYVtmXSxiLGMsYSxmKTtyZXR1cm4gYn1pZihhIGluc3RhbmNlb2YgXy5kQylyZXR1cm4gZj1hLm9jKCksY0MoZixiLGMsZCxlKTtpZihfLnFCKGEpKXJldHVybiBhPWxCKGEpLGQmJmMmJihkW2VdPWEpLGVDKGIsYSk7aWYoXy5vQihhKSl7Yz1fLnBCKGEpO2ZvcihjPWMuZmlyc3RDaGlsZDtjOylmPWMubmV4dFNpYmxpbmcsZUMoYixjKSxjPWY7cmV0dXJuIGJ9aWYockIoYSkpcmV0dXJuIGE9bEIoYS50b1N0cmluZygpKSxkJiZjJiYoZFtlXT0KYSksZUMoYixhKTtpZihfLmlCKGEpKXJldHVybiBlQyhiLGEpO2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIil7Zj1fLlhCKCgpPT57dmFyIGs9YSgpO2lmKGs9PW51bGx8fF8ucUIoaykpcmV0dXJuIGs7aWYoXy5vQihrKSlyZXR1cm4gaz1fLnBCKGspLEFycmF5LmZyb20oay5jaGlsZE5vZGVzKTt0aHJvdyBfLlV1KEVycm9yKCJBYmAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKyJgIit0eXBlb2YgayksNCk7fSx7ZGVidWdOYW1lOiJxbUYybmUiLHpwOmF9KVswXTtpZihBcnJheS5pc0FycmF5KGYpKXtmb3IodmFyIGggb2YgZillQyhiLGgpO3JldHVybiBifWQmJmMmJihkW2VdPWYpO3JldHVybiBlQyhiLGYpfWlmKGE/LltfLkx2XSl7ZD1hO2U9Xy5MQighMCk7aD1KQjt0cnl7Zj1oKGQudHlwZSxkLnByb3BzLC4uLmQuY2hpbGRyZW4pfWZpbmFsbHl7Xy5MQihlKX1yZXR1cm4gY0MoZixiLGMpfXRocm93IF8uVXUoRXJyb3IoIkFjIiksNCk7fTsKVUI9ZnVuY3Rpb24oYSl7dmFyIGI9T2JqZWN0LmFzc2lnbihbXSx7X193aXpfUnFNWU06e1FlOltdfX0pO2lmKCFhKXJldHVybiBiO2JbMF09WUIoYSxiKTtyZXR1cm4gYn07ZUM9ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpP2EucHVzaChiKTphLmFwcGVuZENoaWxkKGIpO3JldHVybiBhfTtfLmZDPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl09Xy5mQyhhW2JdKTtyZXR1cm4gYX1yZXR1cm4gYSBpbnN0YW5jZW9mIF8uZEM/KGE9YS5vYygpLF8uZkMoYSkpOmF9OwpfLmdDPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPV8uRkEoYSksZj1sPT57ZD1sO3ZhciBtPV8uTEIoITApLG49Xy5rdShfLnp2KTt0cnl7Yz1fLmZDKGEoYikpfWZpbmFsbHl7Xy5rdShuKSxfLkxCKG0pfSFBcnJheS5pc0FycmF5KGMpJiZfLkZ1KGwpfTtlPV8uS3UuR3A/aEIoZixlKTpfLnV2KGYsXy5LdS5yaXx8ISFfLlp0KTtpZighYi5qbil7Zj1fLiR0KGQpO3RyeXtyZXR1cm4oMCxfLnZ2KShhLGIsYyksY31maW5hbGx5e18uJHQoZil9fSFGQihjKSYmQXJyYXkuaXNBcnJheShjKSYmKGM9VUIoYykpO3ZhciBoPV8uR0IoYyk7Zj1BcnJheS5pc0FycmF5KGgpP2hbMF06aDt2YXIgaz0hMTtpZihmKXtsZXQgbD1iPy5pZG9tS2V5Pz9hLG09aCE9PWY7Zi5fZGlzcG9zZUVmZmVjdHM9ZTtsZXQgbj1mW18uV0JdfHx7fSxwPUZCKGMpP2M6bi55bjtPYmplY3QuYXNzaWduKG4se2tleTpsLFVxOm0/aC5sZW5ndGg6MSxvd25lcjpkLGxKOiEhZltfLldCXSx5bjpwfSk7ZltfLldCXT1ufWVsc2Ugaz0KITA7KCgpPT57dmFyIGw9Xy4kdChkKTt0cnl7KDAsXy52dikoYSxiLGgpfWZpbmFsbHl7Xy4kdChsKX19KSgpO2smJmUoKTtyZXR1cm4gY307aEM9ZnVuY3Rpb24oYSxiKXtpZighYS52JiZiKXthLnY9ITA7dHJ5e2EuSGYoKX1jYXRjaChjKXtfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShjLGEuaj8uWmMpKX1fLmJ3LkhmKGEpO2EuZWw9bnVsbDtiLl9faW5zdGFuY2UmJmRlbGV0ZSBiLl9faW5zdGFuY2V9fTtfLmpDPWZ1bmN0aW9uKGEsYixjPSExKXthLl9zaWduYWxQcm9wcyE9bnVsbCYmYS5fZGlzcG9zZUVmZmVjdHM9PW51bGwmJihjP2EuX2Rpc3Bvc2VFZmZlY3RzPV8udXYoKCk9PnZvaWQgaUMoYSxiKSxfLkt1LnJpfHwhIV8uWnQpOmlDKGEsYikpfTsKaUM9ZnVuY3Rpb24oYSxiKXtfLnR2KCgpPT57dmFyIGM9YS5fc2lnbmFsUHJvcHMsZD1hLl9zaWduYWxWYWx1ZXM7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV0saD1iW2ZdKCk7ZFtlXSE9PWgmJihkW2VdPWgsXy56QihhLGYsaCkpfX0sImUzWVZiYiIpfTtfLmxDPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPz8oYj17fSk7cmV0dXJuIF8uSEEoKXx8Xy5NdT09bnVsbD9uZXcgeGJhKGEsYixjKTprQyhhLGIsYyl9OwprQz1mdW5jdGlvbihhLGIsYyl7aWYoYT09PV8uSUIpcmV0dXJuIGM7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBfLk11JiYhXy5IQSgpJiYoYi5qbj0hMCksXy5HQShhLCgpPT57Yy5sZW5ndGg+MCYmKGIuY2hpbGRyZW49Yy5sZW5ndGg9PT0xP2NbMF06Yyk7aWYoYS5jb21wb25lbnRUeXBlPT09Xy5Ldil7bGV0IGU7aEIoKCk9Pnt2YXIgZj1iO2lmKGEuY29tcG9uZW50VHlwZSE9PV8uS3YpZT0hMTtlbHNle2Z8fChmPXt9KTt2YXIgaD1uZXcgXy5tQyhmLGEpLGs9Xy5rdShfLnp2KTt0cnl7dmFyIGw9aC5vYyhmKX1maW5hbGx5e18ua3Uoayl9bCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50PyhsLl9faW5zdGFuY2U9aCxoLmVsPWwsaC5qPWEsYS5aYz1sLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxfLmJ3LkdmKGgpLGU9bCk6ZT1sfX0sYS5uYW1lKTtpZihlKXJldHVybiBlfXJldHVybiBfLmdDKGEsYil9LGIuZGVidWdJbnN0YW5jZSk7dmFyIGQ9eWJhKGEsYik7Zm9yKGxldCBlIGluIGIpXy56QihkLAplLGJbZV0pO18uakMoZCxiKTtfLmJDKGMsZCk7Xy5BQihkLGIse2xqOiEwfSk7KDAsXy54dikoZCxiKTtyZXR1cm4gZH07eWJhPWZ1bmN0aW9uKGEsYil7YT0oTkEuaGFzKGEudG9Mb3dlckNhc2UoKSk/MDpNQS5oYXMoYS5zdGFydHNXaXRoKCJzdmc6Iik/YS5yZXBsYWNlKCJzdmc6IiwiIik6YSkpP2RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGEuc3RhcnRzV2l0aCgic3ZnOiIpP2EucmVwbGFjZSgic3ZnOiIsIiIpOmEpOigwLF8ud3YpKGEsYil8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7YVtfLm5DXT0hMDtyZXR1cm4gYX07Cl8ucEM9ZnVuY3Rpb24oYSl7aWYoYSl7YS5fZGlzcG9zZVJlZj8uKCk7YS5fZGlzcG9zZUVmZmVjdHM/LigpO2lmKGEuX19pbnN0YW5jZSYmYS5fX2luc3RhbmNlIGluc3RhbmNlb2Ygb0Mpe3ZhciBiPWEuX19pbnN0YW5jZTtoQyhiLGEpO2IgaW5zdGFuY2VvZiBfLm1DJiZiLkQoKX1mb3IoYj0wO2I8YS5jaGlsZE5vZGVzLmxlbmd0aDtiKyspXy5wQyhhLmNoaWxkTm9kZXNbYl0pfX07emJhPWZ1bmN0aW9uKGEpe3FDLnB1c2goYSk9PT0xJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzZXRUaW1lb3V0KCgpPT57dmFyIGI9Wy4uLnFDXTtxQz1bXTtmb3IobGV0IGMgb2YgYil0cnl7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKylfLnBDKGNbYl0pfWNhdGNoKGQpe18uS3UuaGFuZGxlRXJyb3I/LiguLi5fLkpBKGQpKX19KX0pfTtfLks9ZnVuY3Rpb24oYSxiLC4uLmMpe3JldHVybiBKQihhLGIsLi4uYyl9O18uckM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5rdShfLnl2KTt0cnl7YSgpfWZpbmFsbHl7Xy5rdShiKX19OwpBYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O3NDPWZ1bmN0aW9uKGEsYixjPSIiKXtmdW5jdGlvbiBkKCl7cmV0dXJuIGUoKX12YXIgZT10eXBlb2YgYT09PSJmdW5jdGlvbiI/REEoYSxBYmEsYj8uZXF1YWxzKTpEQShhLnNvdXJjZSxhLlRnLGI/LmVxdWFscyk7dmFyIGY9ZVtfLlp1XTtmLmRlYnVnTmFtZT1fLmV1KGI/LmRlYnVnTmFtZSxjLCJbbGlua2VkU2lnbmFsXSIpO2RbXy5adV09ZjtyZXR1cm5bZCxoPT57Xy5ydShmKTtfLnl1KGYsaCk7Zi5QYj0hMTtmLnJqPV8ubXV9LGg9PntfLnJ1KGYpO2lmKGYudmFsdWU9PT1fLkl2KXRocm93IGYuZXJyb3I7Xy5qdT8uTGUhPT0hMXx8Xy53dShmKTtfLnl1KGYsaChmLnZhbHVlKSk7Zi5QYj0hMTtmLnJqPV8ubXV9XX07Xy51Qz1mdW5jdGlvbigpe3RDfHwodEM9e09jOiExLFV5OjAsc3RhY2s6W10sc2Vzc2lvbklkOiIiLGRoOnZvaWQgMCxwcm9jZXNzb3JzOltdLFdoOigpPT4hMH0pO3JldHVybiB0Q307CnZDPWZ1bmN0aW9uKCl7dmFyIGE9Xy51QygpO3JldHVybiBhLnN0YWNrW2Euc3RhY2subGVuZ3RoLTFdfTtfLndDPWZ1bmN0aW9uKGEpe3ZhciBiPV8udUMoKTtyZXR1cm4gYi5PYz9iLmRoP2IuZGhbYV06ITA6ITF9O0RiYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ud0MoYSkmJl8udUMoKS5XaChhLGIsQmJhKT9uZXcgQ2JhKGEsYixjKTp4Q307Cl8ueUM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBjPT09ImZ1bmN0aW9uIil7dmFyIGQ9YztjPXZvaWQgMH12YXIgZT1EYmEoYSxiLGMpO2lmKGM/LmVuZFRpbWUhPW51bGwpcmV0dXJuIGQmJl8uSXAoRXJyb3IoIkVjIikpLGU7ZSE9PXhDJiZjPy5hY3RpdmUhPT0hMSYmXy51QygpLnN0YWNrLnB1c2goZSk7aWYoIWQpcmV0dXJuIGU7aWYoZT09PXhDKXJldHVybiBkKGUpO3RyeXtsZXQgZj1kKGUpO2lmKGYgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiBmLnRoZW4oaD0+e2UuZW5kKCk7cmV0dXJuIGh9LGg9PntlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKTt0aHJvdyBoO30pO2UuZW5kKCk7cmV0dXJuIGZ9Y2F0Y2goZil7dGhyb3cgZS5lbmQoIlNQQU5fU1RBVFVTX0VSUk9SIiksZjt9fTsKekM9ZnVuY3Rpb24oYSxiLGMsZCl7YSBpbnN0YW5jZW9mIEVsZW1lbnQmJihjLmRlYnVnTmFtZXx8KGMuZGVidWdOYW1lPWA8JHthLnRhZ05hbWUudG9Mb3dlckNhc2UoKX1gKyhhLnRhZ05hbWUuaW5jbHVkZXMoIi0iKT8iPiI6YC4ke2EuY2xhc3NOYW1lfT5gKSksXy54KCJ5dHdpel9lbmFibGVfZGVidWdfY29tcG9uZW50X3Byb3BzIikmJihhLmRlYnVnUHJvcHN8fChhLmRlYnVnUHJvcHM9QUEoYixlPT4oKT0+ZSgpKSksYi5kYXRhPT09dm9pZCAwfHwiZGF0YSJpbiBhJiYhYS5pc1dlYkNvbXBvbmVudFdyYXBwZXJ8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLmRlYnVnUHJvcHMsImRhdGEiLHtnZXQ6KCk9Pl8uQnYoYi5kYXRhKSxzZXQ6ZT0+e2Q/LmRhdGE/LihlKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSkpfTsKXy5BQz1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09MCYmIWI/LmluaXRpYWwpcmV0dXJuIHNDKGEse2RlYnVnTmFtZTpiPy5kZWJ1Z05hbWV9LCJoIik7dmFyIFtjLGQsZV09c0Moe3NvdXJjZTooKT0+YSgpLFRnOihmLGgpPT5oPy52YWx1ZT9hKGgudmFsdWUpOmI/LmluaXRpYWw/YShiLmluaXRpYWwpOmZ9LHtkZWJ1Z05hbWU6Yj8uZGVidWdOYW1lfSwiaSIpO3JldHVybltjLGQsZV19OwpfLkw9ZnVuY3Rpb24oYSxiPSIiKXt2YXIgYz1kPT5fLnlDKCJ5dENvbXBvbmVudCIse30sZT0+e3ZhciBmPUJDPXt9O2lmKGM/Lmlkb21Db21wYXQmJmQuam4pe2xldCBbayxsXT1FYmEoZCx0eXBlb2YgYy5pZG9tQ29tcGF0PT09Im9iamVjdCI/Yz8uaWRvbUNvbXBhdC5jYWxsYmFja3M6e30pO3ZhciBoPUNDKGEsZCk7Zi5Hej1oO0JDPXZvaWQgMDt6QyhoLGQsYyxrKTtlLkRlKHtkZWJ1Z05hbWU6Yy5kZWJ1Z05hbWV9KTtlPV8uR0IoaCk7ZT1BcnJheS5pc0FycmF5KGUpP2VbMF06ZTtlW18uV0JdfHwoZVtfLldCXT17fSk7ZVtfLldCXS5xQj1sO18uQ3YoZCxoKTtyZXR1cm4gaH1kPUFBKGQsRmJhKTtoPUNDKGEsZCk7ekMoaCxkLGMpO2YuR3o9aDtCQz12b2lkIDA7ZS5EZSh7ZGVidWdOYW1lOmMuZGVidWdOYW1lfSk7Xy5DdihkLGgpO3JldHVybiBofSk7Yy5kZWJ1Z05hbWU9YjtyZXR1cm4gY307Q0M9ZnVuY3Rpb24oYSxiKXthPWEoYik7cmV0dXJuIF8uZkMoYSl9OwpGYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PSJjaGlsZHJlbiJ8fGI9PT0icmVmInx8dHlwZW9mIGE9PT0iZnVuY3Rpb24ifHxhPT09dm9pZCAwP2E6KCk9PmF9O0diYT1mdW5jdGlvbihhLGIpe3JldHVybigpPT5fLkJ2KGEpPz9ifTtfLkRDPWZ1bmN0aW9uKGEsYil7dmFyIGM9ey4uLmF9O2ZvcihsZXQgZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPUdiYShhW2RdLGJbZF0pKTtyZXR1cm4gY307CkViYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9e307Zm9yKGxldCBlIGluIGEpe2xldCBmPWFbZV07aWYoZSE9PSJjaGlsZHJlbiImJmUhPT0icmVmIilpZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpaWYoZSBpbiBifHxmLmxlbmd0aD4wKWRbZV09ZixhW2VdPSguLi5oKT0+ZFtlXSguLi5oKTtlbHNle2lmKGU9PT0iZGF0YSIpe2xldCBbaCxrXT1fLkFDKGYse2RlYnVnTmFtZTpgJHtlfTpjd2lzYH0pO2FbZV09aDtjW2VdPWt9fWVsc2UgaWYoIShhW2VdPT09dm9pZCAwJiZlIGluIGIpKXtsZXQgW2gsa109Xy5KKGFbZV0se2RlYnVnTmFtZTpgJHtlfTpjd2lzYH0sIlZiY2dDZCIpO2FbZV09aDtjW2VdPWt9fXJldHVybltjLGZ1bmN0aW9uKGUpe2ZvcihsZXQgZiBpbiBlKXtsZXQgaD1lW2ZdO2YhPT0iY2hpbGRyZW4iJiZmIT09InJlZiImJih0eXBlb2YgaD09PSJmdW5jdGlvbiI/ZiBpbiBiP2RbZl09aDpoLmxlbmd0aD4wJiYoZFtmXT1oLF8uSXAobmV3IF8uWGooSGJhLGYpKSk6ZiBpbgpiJiZoPT09dm9pZCAwfHwoY1tmXXx8Xy5IcChuZXcgXy5YaihJYmEsZikpLF8uckMoKCk9PntjW2ZdKGgpfSkpKX19XX07ClZhYT17Li4uXy5YdSx2YWx1ZTpfLkd2LFBiOiEwLGVycm9yOm51bGwsZXF1YWw6Xy5pdSxraW5kOiJsaW5rZWRTaWduYWwiLFhtKGEpe3JldHVybiBhLnZhbHVlPT09Xy5Hdnx8YS52YWx1ZT09PV8uSHZ9LFltKGEpe2lmKGEudmFsdWU9PT1fLkh2KXRocm93IEVycm9yKCJoIik7dmFyIGI9YS52YWx1ZTthLnZhbHVlPV8uSHY7dmFyIGM9Xy50dShhKSxkPSExO3RyeXtsZXQgZj1hLnNvdXJjZSgpLGg9YiE9PV8uR3YmJmIhPT1fLkl2O3ZhciBlPWEuVGcoZixoP3tzb3VyY2U6YS5zb3VyY2VWYWx1ZSx2YWx1ZTpifTp2b2lkIDApO2Euc291cmNlVmFsdWU9ZjtfLmt1KG51bGwpO2Q9aCYmZSE9PV8uSXYmJmEuZXF1YWwoYixlKX1jYXRjaChmKXtlPV8uSXYsYS5lcnJvcj1mfWZpbmFsbHl7Xy5rdShjKSxhJiZfLnZ1KGEpfWQ/YS52YWx1ZT1iOihhLnZhbHVlPWUsYS52ZXJzaW9uKyspfX07Xy5tQj17fTtfLkl0LnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Cl8uSXQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07S0E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5kQz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQ289bnVsbH19O29DPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucHJvcHM9YTt0aGlzLnY9ITF9R2YoKXt9SmkoKXt9SGYoKXt9S2koKXt9fTt0cnl7bGV0IGE9d2luZG93Py50b3A/P18udTthLlUzYkhIZj8/KGEuVTNiSEhmPTApO2EuVTNiSEhmKyt9Y2F0Y2goYSl7Xy51LlUzYkhIZj8/KF8udS5VM2JISGY9MCksXy51LlUzYkhIZisrfTtfLkZDPW5ldyBXZWFrTWFwO18uR0M9WGFhKCk7dmFyIG1iYT1uZXcgU2V0KCJhbGxvd2Z1bGxzY3JlZW4gYWxsb3d0cmFuc3BhcmVuY3kgYXN5bmMgYXV0b2ZvY3VzIGF1dG9wbGF5IGNoZWNrZWQgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlcmVtb3RlcGxheWJhY2sgZm9ybW5vdmFsaWRhdGUgaGlkZGVuIGluZXJ0IGlzbWFwIGl0ZW1zY29wZSBqc3NoYWRvdyBqc3Nsb3QgbG9vcCBtdWx0aXBsZSBtdXRlZCBub21vZHVsZSBub3ZhbGlkYXRlIG9wZW4gcGxheXNpbmxpbmUgcmVhZG9ubHkgcmVxdWlyZWQgcmV2ZXJzZWQgc2NvcGVkIHNlYW1sZXNzIHNlbGVjdGVkIHNvcnRhYmxlIHR5cGVtdXN0bWF0Y2giLnNwbGl0KCIgIikpLGxiYT1uZXcgU2V0KFsiY29udGVudGVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxjaGVjayJdKTt2YXIgTUE9bmV3IFNldCgiYSBhbHRHbHlwaCBhbHRHbHlwaERlZiBhbHRHbHlwaEl0ZW0gYW5pbWF0ZSBhbmltYXRlQ29sb3IgYW5pbWF0ZU1vdGlvbiBhbmltYXRlVHJhbnNmb3JtIGNpcmNsZSBjbGlwUGF0aCBjb2xvci1wcm9maWxlIGN1cnNvciBkZWZzIGRlc2MgZWxsaXBzZSBmZUJsZW5kIGZlQ29sb3JNYXRyaXggZmVDb21wb25lbnRUcmFuc2ZlciBmZUNvbXBvc2l0ZSBmZUNvbnZvbHZlTWF0cml4IGZlRGlmZnVzZUxpZ2h0aW5nIGZlRGlzcGxhY2VtZW50TWFwIGZlRGlzdGFudExpZ2h0IGZlRHJvcFNoYWRvdyBmZUZsb29kIGZlRnVuY0EgZmVGdW5jQiBmZUZ1bmNHIGZlRnVuY1IgZmVHYXVzc2lhbkJsdXIgZmVJbWFnZSBmZU1lcmdlIGZlTWVyZ2VOb2RlIGZlTW9ycGhvbG9neSBmZU9mZnNldCBmZVBvaW50TGlnaHQgZmVTcGVjdWxhckxpZ2h0aW5nIGZlU3BvdExpZ2h0IGZlVGlsZSBmZVR1cmJ1bGVuY2UgZmlsdGVyIGZvbnQgZm9udC1mYWNlIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvcmVpZ25PYmplY3QgZyBnbHlwaCBnbHlwaFJlZiBoa2VybiBpbWFnZSBsaW5lIGxpbmVhckdyYWRpZW50IG1hcmtlciBtYXNrIG1ldGFkYXRhIG1pc3NpbmctZ2x5cGggbXBhdGggcGF0aCBwYXR0ZXJuIHBvbHlnb24gcG9seWxpbmUgcmFkaWFsR3JhZGllbnQgcmVjdCBzY3JpcHQgc2V0IHN0b3Agc3R5bGUgc3ZnIHN3aXRjaCBzeW1ib2wgdGV4dCB0ZXh0UGF0aCB0aXRsZSB0cmVmIHRzcGFuIHVzZSB2aWV3IHZrZXJuIi5zcGxpdCgiICIpKSwKTkE9bmV3IFNldChbImEiLCJmb250Iiwic2NyaXB0Iiwic3R5bGUiLCJ0aXRsZSJdKSxZYWE9bmV3IFNldChbImRlc2MiLCJmb3JlaWduT2JqZWN0IiwidGl0bGUiXSk7Xy5SQT17ZGVmYXVsdDoiX19kZWZhdWx0In07dmFyIFphYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1BBLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpO18uSEM9U0EoKTtfLmNCPW51bGw7dmFyIGJiYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmNyZWF0ZWQ9W107dGhpcy5kZWxldGVkPVtdO3RoaXMubm9kZT1hfX07dmFyIGNiYT10eXBlb2YgTm9kZSE9PSJ1bmRlZmluZWQiJiZOb2RlLnByb3RvdHlwZS5nZXRSb290Tm9kZXx8ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcyxiPWE7YTspYj1hLGE9YS5wYXJlbnROb2RlO3JldHVybiBifTtfLldBPW51bGw7Xy5ZQT1udWxsO18uVUE9bnVsbDtfLlpBPW51bGw7Xy4kQT1bXTtfLmJCPVRBO18uYUI9W107Xy5JQz1mdW5jdGlvbihhKXtyZXR1cm4gZWJhKChiLGMsZCk9PntfLlVBPV8uWUE9YjtfLllBPW51bGw7YyhkKTtfLlhBKCk7Xy5ZQT1fLlVBO18uVUE9Xy5VQS5wYXJlbnROb2RlO3JldHVybiBifSxhKX0oKTtfLkpDPW5ldyBQQTtSZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTt2YXIgZUI9U3ltYm9sKCJqYyIpO3ZhciBoYmE9e2FsaWduOjEsYWx0OjEsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6MTAsImFyaWEtYXRvbWljIjoxLCJhcmlhLWF1dG9jb21wbGV0ZSI6MSwiYXJpYS1idXN5IjoxLCJhcmlhLWNoZWNrZWQiOjEsImFyaWEtY29udHJvbHMiOjEwLCJhcmlhLWN1cnJlbnQiOjEsImFyaWEtZGVzY3JpYmVkYnkiOjEwLCJhcmlhLWRpc2FibGVkIjoxLCJhcmlhLWRyb3BlZmZlY3QiOjEsImFyaWEtZXhwYW5kZWQiOjEsImFyaWEtaGFzcG9wdXAiOjEsImFyaWEtaGlkZGVuIjoxLCJhcmlhLWludmFsaWQiOjEsImFyaWEtbGFiZWwiOjEsImFyaWEtbGFiZWxsZWRieSI6MTAsImFyaWEtbGV2ZWwiOjEsImFyaWEtbGl2ZSI6MSwiYXJpYS1tdWx0aWxpbmUiOjEsImFyaWEtbXVsdGlzZWxlY3RhYmxlIjoxLCJhcmlhLW9yaWVudGF0aW9uIjoxLCJhcmlhLW93bnMiOjEwLCJhcmlhLXBvc2luc2V0IjoxLCJhcmlhLXByZXNzZWQiOjEsImFyaWEtcmVhZG9ubHkiOjEsImFyaWEtcmVsZXZhbnQiOjEsImFyaWEtcmVxdWlyZWQiOjEsCiJhcmlhLXNlbGVjdGVkIjoxLCJhcmlhLXNldHNpemUiOjEsImFyaWEtc29ydCI6MSwiYXJpYS12YWx1ZW1heCI6MSwiYXJpYS12YWx1ZW1pbiI6MSwiYXJpYS12YWx1ZW5vdyI6MSwiYXJpYS12YWx1ZXRleHQiOjEsYXN5bmM6OCxhdXRvY2FwaXRhbGl6ZToxLGF1dG9jb21wbGV0ZToxLGF1dG9jb3JyZWN0OjEsYXV0b2ZvY3VzOjEsYXV0b3BsYXk6MSxiZ2NvbG9yOjEsYm9yZGVyOjEsY2VsbHBhZGRpbmc6MSxjZWxsc3BhY2luZzoxLGNoZWNrZWQ6MSxjaXRlOjEsImNsYXNzIjoxLGNvbG9yOjEsY29sczoxLGNvbHNwYW46MSxjb250ZW50ZWRpdGFibGU6MSxjb250cm9sczoxLGNvbnRyb2xzbGlzdDoxLGNvb3JkczoxLGNyb3Nzb3JpZ2luOjEsZGF0ZXRpbWU6MSxkaXI6OCxkaXNhYmxlZDoxLGRvd25sb2FkOjEsZHJhZ2dhYmxlOjEsZW5jdHlwZToxLGZhY2U6MSwiZm9yIjoxMCxmb3JtZW5jdHlwZToxLGZyYW1lYm9yZGVyOjEsaGVpZ2h0OjEsaGlkZGVuOjEsaHJlZjo0LGhyZWZsYW5nOjEsCmlkOjEwLGluZXJ0OjEsaXNtYXA6MSxpdGVtaWQ6MSxpdGVtcHJvcDoxLGl0ZW1yZWY6MSxpdGVtc2NvcGU6MSxpdGVtdHlwZToxLGxhYmVsOjEsbGFuZzoxLGxpc3Q6MTAsbG9hZGluZzo4LGxvb3A6MSxtYXg6MSxtYXhsZW5ndGg6MSxtZWRpYToxLG1pbjoxLG1pbmxlbmd0aDoxLG11bHRpcGxlOjEsbXV0ZWQ6MSxuYW1lOjEwLG5vbmNlOjEsb3BlbjoxLHBsYWNlaG9sZGVyOjEscGxheXNpbmxpbmU6MSxwb3N0ZXI6MSxwcmVsb2FkOjEscmVsOjEscmVxdWlyZWQ6MSxyZXZlcnNlZDoxLHJvbGU6MSxyb3dzOjEscm93c3BhbjoxLHNlbGVjdGVkOjEsc2hhcGU6MSxzaXplOjEsc2l6ZXM6MSxzbG90OjEsc3BhbjoxLHNwZWxsY2hlY2s6MSxzcmM6NCxzcmNzZXQ6MTIsc3RhcnQ6MSxzdGVwOjEsc3R5bGU6NSxzdW1tYXJ5OjEsdGFiaW5kZXg6MSx0YXJnZXQ6OCx0aXRsZToxLHRyYW5zbGF0ZToxLHR5cGU6MSx1c2VtYXA6MSx2YWxpZ246MSx2YWx1ZToxLHdpZHRoOjEsd3JhcDoxfSxmQj0Ke2E6e2hyZWY6W3trYTozfV19LGFyZWE6e2hyZWY6W3trYTozfV19LGF1ZGlvOntzcmM6W3trYTozfV19LGJ1dHRvbjp7Zm9ybWFjdGlvbjpbe2thOjN9XSxmb3JtbWV0aG9kOlt7a2E6MX1dfSxmb3JtOnthY3Rpb246W3trYTozfV0sbWV0aG9kOlt7a2E6MX1dfSxpZnJhbWU6e3NyY2RvYzpbe2thOjJ9XX0saW1nOntzcmM6W3trYTozfV0sc3Jjc2V0Olt7a2E6MTF9XX0saW5wdXQ6e2FjY2VwdDpbe2thOjF9XSxmb3JtYWN0aW9uOlt7a2E6M31dLGZvcm1tZXRob2Q6W3trYToxfV0scGF0dGVybjpbe2thOjF9XSxyZWFkb25seTpbe2thOjF9XSxzcmM6W3trYTozfV19LGxpbms6e2hyZWY6W3trYTozLGliOiJyZWwiLG5iOiJhbHRlcm5hdGUifSx7a2E6MyxpYjoicmVsIixuYjoiYXV0aG9yIn0se2thOjMsaWI6InJlbCIsbmI6ImJvb2ttYXJrIn0se2thOjMsaWI6InJlbCIsbmI6ImNhbm9uaWNhbCJ9LHtrYTozLGliOiJyZWwiLG5iOiJjaXRlIn0se2thOjMsaWI6InJlbCIsbmI6ImhlbHAifSwKe2thOjMsaWI6InJlbCIsbmI6Imljb24ifSx7a2E6MyxpYjoicmVsIixuYjoibGljZW5zZSJ9LHtrYTozLGliOiJyZWwiLG5iOiJuZXh0In0se2thOjMsaWI6InJlbCIsbmI6InByZWZldGNoIn0se2thOjMsaWI6InJlbCIsbmI6ImRucy1wcmVmZXRjaCJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVyZW5kZXIifSx7a2E6MyxpYjoicmVsIixuYjoicHJlY29ubmVjdCJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVsb2FkIn0se2thOjMsaWI6InJlbCIsbmI6InByZXYifSx7a2E6MyxpYjoicmVsIixuYjoic2VhcmNoIn0se2thOjMsaWI6InJlbCIsbmI6InN1YnJlc291cmNlIn1dfSxzY3JpcHQ6e2RlZmVyOlt7a2E6MX1dfSxzb3VyY2U6e3NyYzpbe2thOjN9XSxzcmNzZXQ6W3trYToxMX1dfSx0ZXh0YXJlYTp7cmVhZG9ubHk6W3trYToxfV19LHZpZGVvOntzcmM6W3trYTozfV19fTt2YXIgSmJhPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLGliYT17WzFdOm51bGwsWzJdOihhLGIpPT5iIGluc3RhbmNlb2YgXy5mYj9fLnlBKGIpOl8uRnEudG9TdHJpbmcoKSxbM106KGEsYik9Pl8uWGEoYik/Xy5ZYShiKTpKYmEudGVzdChTdHJpbmcoYikpP1N0cmluZyhiKTpfLkZxLnRvU3RyaW5nKCksWzRdOihhLGIpPT5iIGluc3RhbmNlb2YgXy5TYT9fLlVhKGIpOl8uRnEudG9TdHJpbmcoKSxbNV06KGEsYik9PlN0cmluZyhiKSxbN106bnVsbCxbOF06bnVsbCxbMTBdOm51bGx9O18uS2JhPVN5bWJvbCgibmMiKTt2YXIgbkI9Xy5MQSgpO3ZhciBLQz1TQSgpLHFiYT1LQ1tfLlJBLmRlZmF1bHRdLHlCPUtDLnN0eWxlLHhCPVsiZm9jdXNpbiIsImZvY3Vzb3V0Il0sQkI9U3ltYm9sKCJvYyIpLENCPVN5bWJvbCgicGMiKSxyYmE9ImFubm90YXRpb24teG1sIGNvbG9yLXByb2ZpbGUgZm9udC1mYWNlIGZvbnQtZmFjZS1zcmMgZm9udC1mYWNlLXVyaSBmb250LWZhY2UtZm9ybWF0IGZvbnQtZmFjZS1uYW1lIG1pc3NpbmctZ2x5cGgiLnNwbGl0KCIgIik7dmFyIEpCO0pCPUhCO18uV0I9U3ltYm9sKCJ0YyIpO18uTGJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfTW9kZWxSb290RWxlbWVudCIpO18uTWJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfUmVuZGVyZXJEYXRhIik7Xy5OYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9JbmplY3RpbmdDb25zdHJ1Y3RvciIpO18uTUI9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9BcHBDb250ZXh0Iik7Xy5OQj1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0Rpc3BhdGNoZXIiKTtfLkxDPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfUm9vdEVsZW1lbnQiKTtfLk9iYT1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0FzeW5jRGVwcyIpO18uUGJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfT2JqZWN0Q3JlYXRpb25UcmFja2VyIik7Xy5PQj17fTtfLlZCPXtNSzpTQixjTDpTQixsb2c6U0IsUko6VEIsdnk6VEIsZko6KGEsYik9PntiKCl9fTtfLk1DPW51bGw7Xy5tQz1jbGFzcyBleHRlbmRzIG9De2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7dGhpcy5vPWI7dGhpcy5aZj1bXTt0aGlzLkI9MDt0aGlzLkQ9Xy51dihjPT57dGhpcy5xbD1jO18uWXUoKCk9PntoQyh0aGlzLHRoaXMuZWwpfSl9LF8uS3Uucml8fCEhXy5adCl9b2MoYSl7dmFyIGI9Xy5NQztfLk1DPXRoaXM7dGhpcy5CPTA7dmFyIGM9Xy5rdShfLnp2KSxkPV8uJHQodGhpcy5xbCk7dHJ5e3JldHVybiB0aGlzLm8oYSl9ZmluYWxseXtfLiR0KGQpLF8ua3UoYyksXy5NQz1ifX1nZXQgY29tcG9uZW50TmFtZSgpe3JldHVybiBfLkZBKHRoaXMubyl9fTt2YXIgeGJhO18ubkM9U3ltYm9sKCJDYyIpO3hiYT1jbGFzcyBleHRlbmRzIF8uZEN7Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKCk7dGhpcy5raW5kPWE7dGhpcy5wcm9wcz1iO3RoaXMuY2hpbGRyZW49Y31vYygpe3ZhciBhPWtDKHRoaXMua2luZCx0aGlzLnByb3BzLHRoaXMuY2hpbGRyZW4pO2lmKHRoaXMuQ28hPW51bGwpZm9yKGxldCBiIG9mIHRoaXMuQ28pYT1iKGEpO3JldHVybiBhfX07dmFyIHFDPVtdO18ud3U9YT0+e3Rocm93IF8uVXUoRXJyb3IoImJiYCIrYS5kZWJ1Z05hbWUpLDQpO307KGZ1bmN0aW9uKCl7dmFyIGE9Xy5jQjtfLmNCPWI9PnthPy4oYik7emJhKGIpfX0pKCk7dmFyIENiYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYz17fSl7dmFyIGQ9Xy51QygpO3RoaXMubmFtZT1hO3RoaXMuaWQ9ZC5VeSsrO3RoaXMuc2Vzc2lvbklkPWQuc2Vzc2lvbklkO3RoaXMuYXR0cmlidXRlcz1iO3RoaXMuc3RhdHVzPSJTUEFOX1NUQVRVU19VTlNFVCI7dGhpcy5zdGFydFRpbWU9Yy5zdGFydFRpbWU/PygwLF8uZWwpKCk7dGhpcy5qPWMuYWN0aXZlO2lmKGE9dkMoKSl0aGlzLnBhcmVudElkPWEuaWQsYS5jaGlsZHJlbnx8KGEuY2hpbGRyZW49W10pLGEuY2hpbGRyZW4ucHVzaCh0aGlzKTtmb3IobGV0IGUgb2YgZC5wcm9jZXNzb3JzKXRyeXtlLkdtPy4odGhpcyl9Y2F0Y2goZil7Xy5JcChmKX1jLmVuZFRpbWUhPW51bGwmJih0aGlzLmo9ITEsdGhpcy5lbmQoIlNQQU5fU1RBVFVTX09LIixjLmVuZFRpbWUpKX1lbmQoYT0iU1BBTl9TVEFUVVNfT0siLGI9KDAsXy5lbCkoKSl7dmFyIGM9Xy51QygpO3RoaXMuZW5kVGltZT1iO3RoaXMuZHVyYXRpb249dGhpcy5lbmRUaW1lLQp0aGlzLnN0YXJ0VGltZTt0aGlzLnN0YXR1cz1hO3RoaXMuaiE9PSExJiYodkMoKT09PXRoaXM/Yy5zdGFjay5wb3AoKTpfLklwKEVycm9yKCJEY2AiK1N0cmluZyh0aGlzLm5hbWUpKSkpO2ZvcihsZXQgZCBvZiBjLnByb2Nlc3NvcnMpdHJ5e2QubHI/Lih0aGlzKX1jYXRjaChlKXtfLklwKGUpfX1EZShhKXtPYmplY3QuYXNzaWduKHRoaXMuYXR0cmlidXRlcyxhKX19LHhDPXtlbmQoKXt9LERlKCl7fX0sdEMsQmJhPXtXeigpe3JldHVybiBfLnVDKCkuc3RhY2tbMF19fTt2YXIgQkM9dm9pZCAwO3ZhciBJYmE9IklET00gaW50ZXJvcCBzZXR0ZXIgdW5kZWZpbmVkLiBLZXk6IixIYmE9IkNhbGxiYWNrIGRldGVjdGVkIHRoYXQgd2FzIG5vdCBzZXQgaW4gdGhlIGlkb21Db21wYXQgY2FsbGJhY2tzIG1hcC4gS2V5OiI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBSYmEsUWJhO1JiYT1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3QuY3JlYXRlKFFiYSk7Yi5UZz1hO2E9KCk9PntfLnJ1KGIpO18ucHUoYik7aWYoYi52YWx1ZT09PV8uSXYpdGhyb3cgYi5lcnJvcjtyZXR1cm4gYi52YWx1ZX07YVtfLlp1XT1iO3JldHVybiBhfTtfLk49ZnVuY3Rpb24oYSxiLGM9IiIpe3ZhciBkPVJiYShhKTthPWRbXy5adV07YS5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW2NvbXB1dGVkXSIpO2I/LmVxdWFscyE9bnVsbCYmKGEuZXF1YWw9Yi5lcXVhbHMpO3JldHVybiBkfTsKUWJhPXsuLi5fLlh1LHZhbHVlOl8uR3YsUGI6ITAsZXJyb3I6bnVsbCxlcXVhbDpfLml1LGtpbmQ6ImNvbXB1dGVkIixYbShhKXtyZXR1cm4gYS52YWx1ZT09PV8uR3Z8fGEudmFsdWU9PT1fLkh2fSxZbShhKXtpZihhLnZhbHVlPT09Xy5Idil0aHJvdyBFcnJvcigiaCIpO3ZhciBiPWEudmFsdWU7YS52YWx1ZT1fLkh2O3ZhciBjPV8udHUoYSksZD0hMTt0cnl7dmFyIGU9YS5UZygpO18ua3UobnVsbCk7ZD1iIT09Xy5HdiYmYiE9PV8uSXYmJmUhPT1fLkl2JiZhLmVxdWFsKGIsZSl9Y2F0Y2goZil7ZT1fLkl2LGEuZXJyb3I9Zn1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX1kP2EudmFsdWU9YjooYS52YWx1ZT1lLGEudmVyc2lvbisrKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU2JhO18uTkM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKT0+e3ZhciBjPWEoKTtpZighYyl7bGV0IGQ9RXJyb3IoIk9jYCIrYik7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoZCwyLGIpO30pfXJldHVybiBjfX07Xy5PPWZ1bmN0aW9uKGEpe3JldHVybiBTYmEoYSl9OwpTYmE9ZnVuY3Rpb24oYSl7aWYoYS5BPT09dm9pZCAwKXJldHVybiBhLlc/LigpO2lmKHR5cGVvZiBhLkEhPT0iZnVuY3Rpb24iKXtsZXQgZT1hLnRoZW4sZj1hLlcsaD1hLkE7cmV0dXJuIGg/ZShoKTpmPy4oKX12YXIgYj1hLkEsYz1fLk4oKCk9PiEhYigpLHZvaWQgMCwiQmpRUlEiKSxkPV8uTkMoYiwiSWYiKTtyZXR1cm4gXy5YQigoKT0+e3ZhciBlPWMoKSxmO18udXYoKCk9Pnt2YXIgaD1fLmt1KF8uenYpO3RyeXtmPV8uZkMoZT9hLnRoZW4oZCk6YS5XPy4oKSl9ZmluYWxseXtfLmt1KGgpfX0sITApO3JldHVybiBmfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/IlJsRHVkZCIsenA6YS50aGVuLFdlOiEwfSl9O18uV0M9bmV3IE1hcDtfLlhDPVN5bWJvbCgiTmMiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rRz1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKDEpO2lmKCgwLF8ubHYpKGIpKXRocm93IEVycm9yKCJpYiIpO3JldHVybiBfLmh1KGEsYil9O18ubUc9ZnVuY3Rpb24oKXtyZXR1cm4gXy5adD9fLmtHKF8ubEcpOnZvaWQgMH07Xy5mZGE9U3ltYm9sKCIkYyIpO18uZ2RhPVN5bWJvbCgiYWQiKTtfLmxHPV8uZ3Uoe2RlZmF1bHRWYWx1ZTp2b2lkIDB9LCJ5RHA1T2MiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhjYTtfLm5FPWZ1bmN0aW9uKGEsYil7YT1fLnB2KGhjYSxhLGIpO18uZnYoYSl9O2hjYT17Li4uXy4kdixlZmZlY3RUeXBlOl8uZHZ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9IPWZ1bmN0aW9uKGEsYil7YT1fLiR0KGEpO3RyeXtfLkVBKGIpfWZpbmFsbHl7Xy4kdChhKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9FPWZ1bmN0aW9uKCl7aWYoXy5IQSgpKXRocm93IEVycm9yKCJCYyIpO3JldHVybiBfLk1DfTtfLnBFPWZ1bmN0aW9uKGEpe3ZhciBiPV8ub0UoKTtpZihiPT1udWxsKXRocm93IEVycm9yKCJUYyIpO3ZhciBjPWIuQisrO2IuWmZ8fChiLlpmPVtdKTt2YXIgZD1iLlpmO2RbY118fChkW2NdPXtrZXk6YSxob3N0OmJ9KTtpZihhIT09ZFtjXS5rZXkpdGhyb3cgRXJyb3IoIlNjYCIrKGIuaj9iLmo/Lm5hbWU6YiBpbnN0YW5jZW9mIF8ubUM/Xy5GQShiLm8pOmA8JHtiLmVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKX0+YCkpO3JldHVybiBkW2NdfTtfLnFFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWF8fGEubGVuZ3RoIT09Yj8ubGVuZ3RofHxhLnNvbWUoKGMsZCk9PmMhPT1iW2RdKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBpY2EsdEUsamNhLHdFO2ljYT1mdW5jdGlvbihhKXt2YXIgYj1udWxsLGMsZD17Q2s6bnVsbCxnZXQgdmFsdWUoKXtkLnZMPy4oKTtyZXR1cm4gZC5Da30sdm86ITEsa3U6ITEsc2V0IHZhbHVlKGUpe2Qud0w/LihlKTtkLkNrPWU7ZC52bz0hMH0sbXooZSl7YyYmZSE9PWMmJihjLl9kaXNwb3NlUmVmPXZvaWQgMCxiPy4oKSk7Yz1lO2I9YShlKXx8bnVsbH0sdXooKXtiPy4oKTtiPWQudmFsdWU9bnVsbH0sW18uTXZdOiEwfTtyZXR1cm4gZH07Xy5zRT1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihfLkhBKCkpcmV0dXJuIGEoKTt2YXIgYz1fLnBFKCJ1c2VNZW1vSW50ZXJuYWwiKTtfLnFFKGMubWwsYikmJihjLm1sPWIsYy52YWx1ZT1hKCkpO3JldHVybiBjLnZhbHVlfTtfLnVFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRFKGEsITEsYil9O18udkU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdEUoYSwhMCxiKX07CnRFPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5IQSgpP3dFKGEsYixjKTpqY2EoYSxiLGMpfTtqY2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnNFKCgpPT53RShhLGIsYykpfTt3RT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5adCxlPWljYShmPT57ZS52YWx1ZT1mO3ZhciBoPSgoKT0+e3ZhciBrPV8ua3UobnVsbCk7dHJ5e3JldHVybiBjPy4oZil9Y2F0Y2gobCl7Xy5vdihsLGQpfWZpbmFsbHl7Xy5rdShrKX19KSgpO3JldHVybigpPT57aD8uKCl9fSk7ZS5qdT1hO2UubHU9YjtlLnZKPSFfLkhBKCk7cmV0dXJuIGV9O18uQkU9U3ltYm9sKCJXYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1GPXtWYjohMSxzdGF0ZToidmlzaWJsZSJ9O18ubkY9e1ZiOiExLHN0YXRlOiJoaWRkZW4ifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5wSD1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKCk7cmV0dXJuIGM9Pnt2YXIgZD1hLm9ic2VydmVyPz9fLnkoKS5yZXNvbHZlKF8uTHgpLGU9Yy5qZj8/YyxmPVtdO2EuZWImJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTmIoITAsYyl9KX0sYS5lYikpO2EuTmMmJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTmIoITEsYyl9KX0sYS5OYykpO2EuTGgmJmEuTGomJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTGooKX0pfSxhLkxoKSk7ZS52aXNpYmlsaXR5TW9uaXRvcktleXM9KGUudmlzaWJpbGl0eU1vbml0b3JLZXlzPz9bXSkuY29uY2F0KGYpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBQRDtfLlJEPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLF8uT0QpO2lmKGIpcmV0dXJuIGI7aWYoKGI9Xy5CKGEsV2JhKSkmJmIuY29tbWFuZHMpcmV0dXJuIFBEKGIuY29tbWFuZHMpO2lmKChiPV8uQihhLFhiYSkpJiZiLmNvbW1hbmRzKXJldHVybiBQRChiLmNvbW1hbmRzKTtpZigoYT1fLkIoYSxZYmEpKSYmYS5pZGVudGlmaWVyJiZhLmNvbW1hbmQmJihRRHx8KFFEPVtdKSwhUUQuaW5jbHVkZXMoYS5pZGVudGlmaWVyKSkpcmV0dXJuIFFELnB1c2goYS5pZGVudGlmaWVyKSxfLkIoYS5jb21tYW5kLF8uT0QpfTtQRD1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKShhPV8uUkQoYykpJiZiLnB1c2goYSk7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOmJ9fX19O18uU0Q9bmV3IF8uSSgiY29tbWFuZEV4ZWN1dG9yQ29tbWFuZCIpO18uT0Q9bmV3IF8uSSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBXYmE9bmV3IF8uSSgicGFyYWxsZWxDb21tYW5kIik7dmFyIFliYT1uZXcgXy5JKCJwZXJmb3JtT25jZUNvbW1hbmQiKTt2YXIgWGJhPW5ldyBfLkkoInNlcmlhbENvbW1hbmQiKTt2YXIgUUQ9dm9pZCAwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlREPW5ldyBfLkkoInJlZWxXYXRjaEVuZHBvaW50Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVUQ9bmV3IF8uVnMoIkNPTU1BTkRfSEFORExFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZEPW5ldyBfLkkoInVybEVuZHBvaW50Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBaYmEsZGNhLCRiYSxlY2E7Xy5XRD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXtfLklwKGIpfX07Xy5ZRD1mdW5jdGlvbihhLGIsYyl7cmV0dXJue2Zvcm06e2N1cnJlbnREYXRhOl8uWEQ/LnJlc3BvbnNlPz97fSxzb3VyY2VEYXRhOmEsZXZlbnQ6Yj8uZXZlbnQsY2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yj8uY2xpY2tlZFZpc3VhbEVsZW1lbnQsaW1wbGljaXRHZXN0dXJlVHlwZTpiPy5pbXBsaWNpdEdlc3R1cmVUeXBlLGF1dG9uYXY6Yj8uYXV0b25hdixCZDpiPy5CZH0sbWQ6Y319OwpfLmJFPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaHYsYz1hLnV4LGQ9YS5iaCxlPWEuSWQsZj1hLnFkLGg9YS5BbyxrPWEuaW5uZXJ0dWJlQ29tbWFuZHx8Xy5SRChkKTtpZihrKXthPXt9O3ZhciB7UnE6bCxocmVmOm19PV8uWkQoayk7bCYmbT8oYS5ocmVmPW0sWmJhKGEsbCxtLGIpLCRiYShhLGwpLGYmJihhLnFkPSEwKSk6KGEucm9sZT0iYnV0dG9uIixhLnRhYmluZGV4PSIwIik7Xy5CKGssYWNhKSYmKGEuYXJpYUhhc1BvcHVwPSEwKTtlfHwoYS5vbmNsaWNrPW49PntsJiZtfHxuLnByZXZlbnREZWZhdWx0KCk7Xy4kRChrKTt2YXIgcD17Li4uXy5ZRChrLHtldmVudDpufSksLi4uaH07bi5wcmV2ZW50RGVmYXVsdCgpO18uYUUoayxwKTtuLnN0b3BQcm9wYWdhdGlvbigpfSxsJiZtfHwoYS5vbmtleWRvd249bj0+e2lmKG4ua2V5PT09IkVudGVyInx8bi5rZXk9PT0iICIpbi5zdG9wUHJvcGFnYXRpb24oKSxuLnByZXZlbnREZWZhdWx0KCksbi5jdXJyZW50VGFyZ2V0LmNsaWNrKCl9KSk7CnJldHVybnsuLi5jLC4uLmF9fX07Xy5aRD1mdW5jdGlvbihhKXthPV8uQihhLF8uU0QpPy5jb21tYW5kc3x8W2FdO2ZvcihsZXQgYiBvZiBhKWlmKGE9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsLF8ueCgid2ViX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIil8fChhPWF8fF8uQihiLGJjYSk/LnVybCksYSYmYSE9PSIvc2VydmljZV9hamF4Iil7bGV0IGM9Xy5iYihhLGNjYSk7aWYoYylyZXR1cm4gYT1fLllhKGMpLHtScTpiLGhyZWY6YX07Xy5JcChuZXcgXy5YaigiQXR0cmlidXRlZFN0cmluZyBVUkwgY291bGQgbm90IGJlIHNhbml0aXplZCIsYSkpfXJldHVybnt9fTsKWmJhPWZ1bmN0aW9uKGEsYixjLGQpe2M9IV8uZmooYyk7aWYoXy5CKGIsXy5jRSk/Lm5vZm9sbG93fHxfLkIoYixfLkF3KT8ubm9mb2xsb3d8fF8uQihiLF8uVkQpPy5ub2ZvbGxvd3x8Xy5CKGIsXy5URCk/Lm5vZm9sbG93fHxjKWEucmVsPSJub2ZvbGxvdyI7YS50YXJnZXQ9ZGNhKGIsZCl9O2RjYT1mdW5jdGlvbihhLGI9IiIpe3JldHVybiBfLkIoYSxfLlZEKT8udGFyZ2V0PT09IlRBUkdFVF9ORVdfV0lORE9XIj8iX2JsYW5rIjpifTskYmE9ZnVuY3Rpb24oYSxiKXtiLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihhLnBhcmFtcz17aXRjdDpiLmNsaWNrVHJhY2tpbmdQYXJhbXN9KTthLm9ucG9pbnRlcmRvd249Yz0+e2VjYShjLGIpfTthLm51PWJ9OwpfLiREPWZ1bmN0aW9uKGEpeyhhLmxvZ2dpbmdVcmxzfHxbXSkuZm9yRWFjaChiPT57dmFyIGM9Yi5iYXNlVXJsO2IuYXR0cmlidXRpb25TcmNNb2RlPT09IkFUVFJJQlVUSU9OX1NSQ19NT0RFX1hIUl9PUFRJT04iPyhjPWRvY3VtZW50LmZlYXR1cmVQb2xpY3k/LmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKT9jKyImbmlzPTYiOmMrIiZuaXM9NSIsXy5hbihjLHZvaWQgMCx2b2lkIDAsdm9pZCAwLCIiLCEwLCEwKSk6Xy5hbihjKX0pfTtlY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmN1cnJlbnRUYXJnZXQ7YT1fLldEKCgpPT5jLmhyZWYpO2I9Yi5jbGlja1RyYWNraW5nUGFyYW1zP3tpdGN0OmIuY2xpY2tUcmFja2luZ1BhcmFtc306e307YSYmXy51eihhLGIsOCwhMCl9O18uZEU9ZnVuY3Rpb24oYSxiKXsoYT1fLlJEKGEpKSYmXy5hRShhLGIpfTsKXy5hRT1mdW5jdGlvbihhLGIpe18uWXQoXy5VRCxjPT57Yj9jLnJlc29sdmVDb21tYW5kKGEsYik6Yy5yZXNvbHZlQ29tbWFuZChhKX0pfTtfLmNFPW5ldyBfLkkoImJyb3dzZUVuZHBvaW50Iik7dmFyIGJjYT1uZXcgXy5JKCJ3ZWJOYXZpZ2F0aW9uRW5kcG9pbnREYXRhIik7dmFyIGFjYT1uZXcgXy5JKCJtb2RhbEVuZHBvaW50Iik7Xy5mY2E9bmV3IF8uSSgidXNlckZlZWRiYWNrRW5kcG9pbnQiKTtfLmVFPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5kYXRhPVtdO3RoaXMuRGY9bnVsbH1wdXNoKGEpe3RoaXMuRGY/dGhpcy5EZihhKTp0aGlzLmRhdGEucHVzaChhKX19O18uWEQ9e307Xy5mRT1fLkooXy5YRCx2b2lkIDAsIlRIUk9PIilbMF07Xy5KKG51bGwsdm9pZCAwLCJjeDRUSWQiKTtfLkoobnVsbCx2b2lkIDAsIlFYYU91ZCIpO18uSigiIix2b2lkIDAsIkRSV085YyIpO18uSihfLnF6KCk/ITE6ITAsdm9pZCAwLCJ2eXp5aWQiKTtfLmdFPW5ldyBfLmVFO3ZhciBjY2E9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxLF8uTnEsXy5QcV07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ucUg9ZnVuY3Rpb24oYSl7aWYoYS5jb21wb3NlZFBhdGgpcmV0dXJuIGEuY29tcG9zZWRQYXRoKCk7aWYoIWEudW8pe2xldCBiPVtdLGM9YS50YXJnZXQ7Zm9yKDtjOyliLnB1c2goYyksYz1jLnBhcmVudE5vZGU7Yi5wdXNoKHdpbmRvdyk7YS51bz1ifXJldHVybiBhLnVvfTtfLnJIPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGQgb2YgYSl7aWYoZD09PWIpYnJlYWs7Zm9yKGxldCBlIG9mIGMpaWYoZC50YWdOYW1lPT09ZXx8ZC5yb2xlPT09ImJ1dHRvbiImJmU9PT0iQlVUVE9OIilyZXR1cm4hMH1yZXR1cm4hMX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBCZGEsQ2RhLERkYSx2SCx3SCxFZGE7QmRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5vYnNlcnZlcj8/Xy55KCkucmVzb2x2ZShfLkx4KTtpZihhKXt2YXIgZD1hLmpmPz9hLGU9W107Yi5lYiYmZS5wdXNoKGMub2JzZXJ2ZShhLCgpPT57Yi5OYighMCxhKX0sYi5lYikpO2IuTmMmJmUucHVzaChjLm9ic2VydmUoYSwoKT0+e2IuTmIoITEsYSl9LGIuTmMpKTtiLkxoJiZiLkxqJiZlLnB1c2goYy5vYnNlcnZlKGEsKCk9PntiLkxqKCl9LGIuTGgpKTtkLnZpc2liaWxpdHlNb25pdG9yS2V5cz0oZC52aXNpYmlsaXR5TW9uaXRvcktleXM/P1tdKS5jb25jYXQoZSl9fTtfLnRIPWZ1bmN0aW9uKGEpe3JldHVybiEhXy5zSChhKX07Xy51SD1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBmPT57dmFyIGg9Xy5tRygpO18ubkUoKCk9PntpZihmKXtDZGEoZixhKCksZSk7dmFyIGs9RGRhKGYsYSgpLGIsYyxkLGgpO18uWXUoayl9fSwiYWpRWTYiKX19OwpDZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXZIKGIpLGU9d0goYiksZj1kJiZfLm1GLGg9ZSYmXy5uRjsoZHx8ZSkmJkJkYShhLHtOYjprPT57dmFyIGw9Xy55KCkucmVzb2x2ZShfLlVEKTtrJiZkPyhsLnJlc29sdmVDb21tYW5kKGQse2Zvcm06e2VsZW1lbnQ6Yz9hOnZvaWQgMH0sbWQ6ITB9KSxkPXZIKGIpKTohayYmZSYmKGwucmVzb2x2ZUNvbW1hbmQoZSx7Zm9ybTp7ZWxlbWVudDpjP2E6dm9pZCAwfSxtZDohMH0pLGU9d0goYikpfSxlYjpmLE5jOmh9KX07CkRkYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGg9bmV3IE1hcDtpZihiPV8uc0goYikpYT1kPy5vblRhcD8udmFsdWV8fGEsYz1FZGEoYixhLGM/Lm9uVGFwLGUsZiksYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYyksaC5zZXQoImNsaWNrIixjKSxfLngoIndlYl9lbmFibGVfYWRkaXRpb25hbF9ldmVudF9saXN0ZW5lcl9mb3JfdGFwX2NvbW1hbmQiKSYmKGM9az0+e3ZhciBsPWEudGFnTmFtZTtsPT09IkJVVFRPTiJ8fGw9PT0iQSJ8fGw9PT0iSU5QVVQifHxrLmtleSE9PSJFbnRlciImJmsua2V5IT09IiAifHxlJiZfLnJIKF8ucUgoayksYSxlKXx8KGsucHJldmVudERlZmF1bHQoKSxhLmNsaWNrKCkpfSxhLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGMpLGguc2V0KCJrZXlkb3duIixjKSk7cmV0dXJuKCk9Pntmb3IobGV0IFtrLGxdb2YgaClhLnJlbW92ZUV2ZW50TGlzdGVuZXIoayxsKX19OwpfLnNIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vblRhcCkmJl8uUkQoYSl9O3ZIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vblZpc2libGUpJiZfLlJEKGEpfTt3SD1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLkIoYSxfLnhIKT8ub25IaWRkZW4pJiZfLlJEKGEpfTtfLnlIPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJEKF8uQihhLF8ueEgpPy5vbkhvdmVyU3RhcnQpfTtfLnpIPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJEKF8uQihhLF8ueEgpPy5vbkhvdmVyRW5kKX07RWRhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9az0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSxrKX0saD1rPT57ZCYmXy5ySChfLnFIKGspLGIsZCl8fGYoay50YXJnZXQ/e2Zvcm06e2VsZW1lbnQ6ay50YXJnZXQsc291cmNlRGF0YTphLG11dGF0aW9uQ29udGV4dDplfX06dm9pZCAwKX07YyYmKGg9az0+e2MoayxmKX0pO3JldHVybiBofTtfLnhIPW5ldyBfLkkoImNvbW1hbmRDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uakg9bmV3IF8uVnMoIktFWV9NQU5BR0VSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUD1mdW5jdGlvbiguLi5hKXt2YXIgYj0hMDtmb3IobGV0IGMgb2YgYSlpZih0eXBlb2YgYyE9PSJzdHJpbmciKXtiPSExO2JyZWFrfXJldHVybiBiP2Euam9pbigiICIpLnRyaW0oKXx8dm9pZCAwOigpPT57dmFyIGM9IiI7Zm9yKGxldCBkIG9mIGEpaWYodHlwZW9mIGQ9PT0iZnVuY3Rpb24iJiYoZD1kKCkpLGQpaWYodHlwZW9mIGQ9PT0ic3RyaW5nIiljKz0iICIrZDtlbHNlIGZvcihsZXQgZSBpbiBkKXtpZighZC5oYXNPd25Qcm9wZXJ0eShlKSljb250aW51ZTtsZXQgZj1kW2VdO3R5cGVvZiBmPT09ImZ1bmN0aW9uIiYmKGY9ZigpKTtmJiYoYys9IiAiK2UpfWM9Yy50cmltKCl8fHZvaWQgMDtyZXR1cm4gXy5CdihjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga0g7a0g9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PmEoKT9hKCk6dm9pZCAwfTsKXy5uSD1fLkwoYT0+e3ZhciBiPV8udUUoImEiLGEucmVmKSxjPWEudWM/YS51YzpfLk4oKCk9Pl8uYkUoe2lubmVydHViZUNvbW1hbmQ6Xy5SRChhLmNvbW1hbmQ/LigpKT8/YS5jb21tYW5kPy4oKSxJZDphLklkPy4oKSxodjphLnRhcmdldD8uKCl9KXx8e30sdm9pZCAwLCJUQXZ6MCIpO3JldHVybiBfLksoImEiLHtlbDpiLGhyZWY6KCk9PmMoKS5ocmVmLHJlbDooKT0+YygpLnJlbCxjbGFzczooKT0+YygpLmNsYXNzTmFtZT8/YS5jbGFzc05hbWU/LigpLHN0eWxlOigpPT57aWYoYS5zdHlsZT8uKCkpcmV0dXJuIGEuc3R5bGUoKTtpZihhLmRpc2FibGVkPy4oKSlyZXR1cm4icG9pbnRlci1ldmVudHM6bm9uZSJ9LCJhcmlhLWhhc3BvcHVwIjooKT0+ISFjKCkuYXJpYUhhc1BvcHVwLCJmb3JjZS1uZXctc3RhdGUiOmtIKCgpPT5jKCkucWQpLHRpdGxlOmtIKCgpPT5jKCkudGl0bGU/P2EudGl0bGU/LigpKSxyb2xlOmtIKCgpPT5hLnJvbGU/LigpfHxjKCkucm9sZSksdGFyZ2V0OmtIKCgpPT4KYygpLnRhcmdldCksZGlyOmtIKCgpPT5hLmRpcj8uKCl8fGMoKS5kaXIpLHRhYmluZGV4OigpPT5jKCkudGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGMoKS50YWJpbmRleCk6YS50YWJJbmRleD8uKCksImFyaWEtaGlkZGVuIjooKT0+YygpLmFyaWFIaWRkZW4/P2EuYXJpYUhpZGRlbj8uKCksImFyaWEtbGFiZWwiOigpPT5jKCkuYXJpYUxhYmVsPz9hLmFyaWFMYWJlbD8uKCksImFyaWEtY3VycmVudCI6YS5hcmlhQ3VycmVudCwiYXJpYS1kaXNhYmxlZCI6YS5kaXNhYmxlZCwiYXJpYS1leHBhbmRlZCI6YS5hcmlhRXhwYW5kZWQsImFyaWEtbGFiZWxsZWRieSI6YS5IbywiYXJpYS1kZXNjcmliZWRieSI6YS5IZSwiYXJpYS1zZWxlY3RlZCI6YS5hcmlhU2VsZWN0ZWQsInRhYi1pZGVudGlmaWVyIjphLnRhYklkZW50aWZpZXIsIm9uOnBvaW50ZXJkb3duIjpmdW5jdGlvbihkKXtjKCkub25wb2ludGVyZG93bj8uKGQpfSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2MoKS5vbmNsaWNrPy4oZCk7CmEub25DbGljaz8uKGQpfSwib246Zm9jdXNpbiI6YS5keiwib246Zm9jdXNvdXQiOmEuZXosIm9uOm1vdXNlZW50ZXIiOmZ1bmN0aW9uKGQpe2Eub25Ib3Zlcj8uKGQpO2EuaXo/LihkKX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKGQpe2Euano/LihkKX0sIm9uOmtleWRvd24iOmZ1bmN0aW9uKGQpe2MoKS5vbmtleWRvd24/LihkKX19LGEuY2hpbGRyZW4pfSwidCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZDPV8uTCgoe2NvbW1hbmQ6YSxyZW5kZXJlckNvbnRleHQ6YixjaGlsZHJlbjpjLGNsYXNzTmFtZTpkLFp2OmUsc3R5bGU6ZixvbkNsaWNrOmgsYXJpYUN1cnJlbnQ6ayxIZTpsLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6bixIbzpwLGFyaWFTZWxlY3RlZDpyLGRpc2FibGVkOnQsZGlyOnYsdGFiSW5kZXg6eix0YXJnZXQ6RSx0aXRsZTpBLHRvZ2dsZWFibGU6Rix0b2dnbGVkOkN9KT0+e2Z1bmN0aW9uIEcobWEpe3ZhciB0YT1fLnNIKGI/LigpKT8/YT8uKCk7aWYodGEpe2xldCBUPW1hLnRhcmdldD97Zm9ybTp7ZWxlbWVudDptYS50YXJnZXQsc291cmNlRGF0YTp0YSxtdXRhdGlvbkNvbnRleHQ6VX19OnZvaWQgMDtfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKHRhLFQpfWg/LihtYSl9ZnVuY3Rpb24gRCgpe29hKFM/LlhlKCk/PyExKX1mdW5jdGlvbiBIKCl7b2EoITEpfWZ1bmN0aW9uIFIoKXt2YXIgbWE9Xy55SChiPy4oKSk7bWEmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQobWEpfQpmdW5jdGlvbiBNKCl7dmFyIG1hPV8uekgoYj8uKCkpO21hJiZfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKG1hKX12YXIgUz1fLnkoKS5yZXNvbHZlKF8uSW4oXy5qSCkpLFtZLHBhXT1fLkooITEsdm9pZCAwLCJUTkxKRWMiKSxvYT1wYSxVPV8ubUcoKSxoYT0oKT0+Rj8uKCk/Qz8uKCk6dm9pZCAwO3JldHVybiBfLksoXy5PLHtBOmZ1bmN0aW9uKCl7dmFyIG1hPV8uc0goYj8uKCkpPz9hPy4oKSx0YTtpZih0YT1tYSl7bGV0IHtScTpULGhyZWY6YmF9PV8uWkQobWEpO3RhPSEoIVR8fCFiYSl9cmV0dXJuIHRhfSx0aGVuOigpPT5fLksoXy5uSCx7Y29tbWFuZDphLHN0eWxlOmYsSGU6bCxhcmlhSGlkZGVuOm0sYXJpYUxhYmVsOm4sSG86cCxhcmlhU2VsZWN0ZWQ6cixkaXNhYmxlZDp0LGRpcjp2LHRhYkluZGV4OnosdGFyZ2V0OkUsdGl0bGU6QSxvbkNsaWNrOmgsY2xhc3NOYW1lOl8uUCgieXRCdXR0b25PckFuY2hvckhvc3QiLCJ5dEJ1dHRvbk9yQW5jaG9yQW5jaG9yIiwKZCwoKT0+WSgpP2U/LigpOiIiKSxkejpELGV6OkgsaXo6UixqejpNLGFyaWFDdXJyZW50OigpPT5rPy4oKT8/aGEoKX0sYyksVzooKT0+Xy5LKCJidXR0b24iLHsib246Y2xpY2siOkcsIm9uOmZvY3VzaW4iOkQsIm9uOmZvY3Vzb3V0IjpILCJvbjptb3VzZWVudGVyIjpSLCJvbjptb3VzZWxlYXZlIjpNLGNsYXNzOl8uUCgieXRCdXR0b25PckFuY2hvckhvc3QiLCJ5dEJ1dHRvbk9yQW5jaG9yQnV0dG9uIixkLCgpPT5ZKCk/ZT8uKCk6IiIpLHN0eWxlOmYsImFyaWEtZGVzY3JpYmVkYnkiOmwsImFyaWEtaGlkZGVuIjptLCJhcmlhLWxhYmVsIjpuLCJhcmlhLWxhYmVsbGVkYnkiOnAsImFyaWEtcHJlc3NlZCI6aGEsZGlyOnYsZGlzYWJsZWQ6dCx0YWJpbmRleDooKT0+ej8uKCk/PygoXy5Pa3x8Xy5yeigpKSYmXy54KCJ3ZWJfZW5hYmxlX3NhZmFyaV9idXR0b25fdGFiaW5kZXhfZml4Iik/MDp2b2lkIDApLHRpdGxlOkF9LGMpfSl9LCJ2Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIlpRS3gxIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSUU9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuKCk9Pnt2YXIgYj0iIjtmb3IobGV0IGMgb2YgYSl7bGV0IGQ9dHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoKTpjO2lmKGQpZm9yKGxldCBlIGluIGQpe2xldCBmPWRbZV07Zm9yKDt0eXBlb2YgZj09PSJmdW5jdGlvbiI7KWY9ZigpO2YhPT12b2lkIDAmJmYhPT1udWxsJiYoYis9YDsgJHtlfTogJHtmfWApfX1yZXR1cm4gYi5sZW5ndGg+MD9fLkJ2KGIuc2xpY2UoMikpOl8uQnYoKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnJGPWZ1bmN0aW9uKC4uLmEpe3JldHVybiBfLnZFKF8uQkUsYj0+e3ZhciBjPWEubWFwKGQ9PmQ/LihiKSk7cmV0dXJuKCk9PnZvaWQgYy5mb3JFYWNoKGQ9PnZvaWQgZD8uKCkpfSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmhLPWZ1bmN0aW9uKCl7Z0t8fChnSz1uZXcgTGVhKTtyZXR1cm4gZ0t9O3ZhciBNZWE9Xy5MKGE9PntmdW5jdGlvbiBiKGhhKXtpZihoYSl7dmFyIG1hPU0uZ2V0KGhhKTttYSYmKG1hLmNhbmNlbCgpLE0uZGVsZXRlKGhhKSk7Zm9yKGxldCB0YSBvZiBoYS5nZXRBbmltYXRpb25zKCkpdGEuY2FuY2VsKCl9fWZ1bmN0aW9uIGMoaGEsbWEsdGEpe21hPV8uamYuR2EobWEsMyx0YSk7Uy5zZXQoaGEsbWEpfWZ1bmN0aW9uIGQoKXttKCExKTtpZihSKXt2YXIgaGE9UjtSPW51bGw7dmFyIG1hPURhdGUubm93KCktRztjKGhhLCgpPT57Uy5kZWxldGUoaGEpO3ZhciB7d2lkdGg6dGEsaGVpZ2h0OlQsb3BhY2l0eTpiYX09d2luZG93LmdldENvbXB1dGVkU3R5bGUoaGEpLGFhPU51bWJlci5wYXJzZUZsb2F0KHRhKXx8MCxPYT1OdW1iZXIucGFyc2VGbG9hdChUKXx8MCxKYj1OdW1iZXIucGFyc2VGbG9hdChiYSl8fC41O2hhLnN0eWxlLndpZHRoPWAke2FhfXB4YDtoYS5zdHlsZS5oZWlnaHQ9YCR7T2F9cHhgO2hhLnN0eWxlLm9wYWNpdHk9YCR7SmJ9YDtiKGhhKTthYT0KVT8wOjJFMztoYS5zdHlsZS50cmFuc2l0aW9uPWBvcGFjaXR5ICR7YWF9bXMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSlgO2hhLnN0eWxlLm9wYWNpdHk9aGEub2Zmc2V0V2lkdGg9PT0tMT8iMSI6IjAiO2MoaGEsKCk9PntTLmRlbGV0ZShoYSk7aGEuc3R5bGUuY3NzVGV4dD0iIn0sYWErMTAwKX0sTWF0aC5tYXgoMCwzMDAtbWEpKX19ZnVuY3Rpb24gZSgpe2QoKTtDPW51bGx9dmFyIHtjbGFzc05hbWU6ZixzdHlsZTpofT1fLkRDKGEse2NsYXNzTmFtZToiIixzdHlsZToiZGVmYXVsdCJ9KSxbayxsXT1fLkooITEsdm9pZCAwLCJLYlVUamYiKSxtPWwsW24scF09Xy5KKHZvaWQgMCx2b2lkIDAsIkdlRnZFZiIpLFtyLHRdPV8uSih2b2lkIDAsdm9pZCAwLCJpM2ZkVmUiKSxbdix6XT1fLkoodm9pZCAwLHZvaWQgMCwiTGVkVjRiIiksRT1fLnJGKCksQT1fLnJGKCksRj1fLnJGKCksQz1udWxsLEc9MCxEPTAsSD0hMCxSPW51bGwsTT1uZXcgTWFwLFM9bmV3IE1hcCxZPTAscGE9CjAsb2E9bnVsbCxVPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXM7Xy5ZdSgoKT0+e2ZvcihsZXQgaGEgb2YgUy52YWx1ZXMoKSlfLmpmLkFhKGhhKTtTLmNsZWFyKCk7YihBLnZhbHVlKTtiKEYudmFsdWUpO29hIT09bnVsbCYmXy5qZi5BYShvYSl9KTtyZXR1cm4gXy5LKCJ5dC1saWdodC10b3VjaC1mZWVkYmFjay1zaGFwZSIse2VsOkUsY2xhc3M6Xy5QKCJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdCIsZix7eXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQ6ayx5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdDooKT0+aCgpPT09ImRlZmF1bHQiLHl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlOigpPT5oKCk9PT0iaW52ZXJzZSJ9KSwib246cG9pbnRlcmVudGVyIjpmdW5jdGlvbigpe3ZhciBoYT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/Cm51bGwpO2hhJiZ6KGAkeyhoYS5oZWlnaHR8fDApKjIuNX1weGApfSwib246cG9pbnRlcmRvd24iOmZ1bmN0aW9uKGhhKXt2YXIgbWE9RGF0ZS5ub3coKTtpZighKG1hLUQ8MTAwKSl7RD1tYTttKCEwKTt2YXIgdGE9Qz8/KEM9RS52YWx1ZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGwpO2lmKHRhKXt2YXIgVD1oYS5jbGllbnRYLXRhLmxlZnQ7aGE9aGEuY2xpZW50WS10YS50b3A7dmFyIGJhPU1hdGgubWF4KCh0YS53aWR0aHx8MCkqMiwodGEuaGVpZ2h0fHwwKSo4LjUpLGFhPWJhLzQwOCoxNDAwO3RhPUg/QS52YWx1ZTpGLnZhbHVlO0g9IUg7aWYoUj10YSl7dGEuc3R5bGUuY3NzVGV4dD0iIjtiKHRhKTtsZXQgT2E9Uy5nZXQodGEpO09hIT09dm9pZCAwJiYoXy5qZi5BYShPYSksUy5kZWxldGUodGEpKTt0YS5zdHlsZS5sZWZ0PWAke1R9cHhgO3RhLnN0eWxlLnRvcD1gJHtoYX1weGA7VXx8KFQ9bmV3IEtleWZyYW1lRWZmZWN0KHRhLFt7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgiLApvcGFjaXR5OiIwLjMwNiJ9LHt3aWR0aDpgJHtiYSouMjV9cHhgLGhlaWdodDpgJHtiYSouMjV9cHhgLG9wYWNpdHk6IjAuNzc0IixvZmZzZXQ6LjI1fSx7d2lkdGg6YCR7YmEqLjZ9cHhgLGhlaWdodDpgJHtiYSouNn1weGAsb3BhY2l0eToiMC44MjgiLG9mZnNldDouNn0se3dpZHRoOmAke2JhfXB4YCxoZWlnaHQ6YCR7YmF9cHhgLG9wYWNpdHk6IjAuOSJ9XSx7ZHVyYXRpb246YWEsZmlsbDoiZm9yd2FyZHMiLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMTcsIDAuMTcsIDAuMSwgMSkifSksVD1uZXcgQW5pbWF0aW9uKFQsZG9jdW1lbnQudGltZWxpbmUpLE0uc2V0KHRhLFQpLFQucGxheSgpKX1HPW1hfX19LCJvbjpwb2ludGVydXAiOmQsIm9uOnBvaW50ZXJsZWF2ZSI6ZSwib246cG9pbnRlcmNhbmNlbCI6ZSwib246cG9pbnRlcm1vdmUiOmZ1bmN0aW9uKGhhKXt2YXIgbWE9Qz8/KEM9RS52YWx1ZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGwpO21hJiYoWT1oYS5jbGllbnRYLQptYS5sZWZ0LHBhPWhhLmNsaWVudFktbWEudG9wLGsoKSYmKGhhLmNsaWVudFg8bWEubGVmdHx8aGEuY2xpZW50WD5tYS5yaWdodHx8aGEuY2xpZW50WTxtYS50b3B8fGhhLmNsaWVudFk+bWEuYm90dG9tKT9kKCk6b2E9PT1udWxsJiYob2E9Xy5qZi5HYSgoKT0+e29hPW51bGw7cChgJHtZfXB4YCk7dChgJHtwYX1weGApfSwzKSkpfSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKCJkaXYiLHtjbGFzczoieXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheSJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodCIsc3R5bGU6Xy5JRSh7bGVmdDpuLHRvcDpyLHdpZHRoOnYsaGVpZ2h0OnZ9KX0pLF8uSygiZGl2Iix7ZWw6QSxjbGFzczoieXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVRvdWNoTGlnaHQifSksXy5LKCJkaXYiLHtlbDpGLGNsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodCJ9KSl9LCJhYSIpO3ZhciBMZWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmo9bmV3IE1hcDt2YXIgW2EsYl09Xy5KKFtdLHZvaWQgMCwiSUtmWkJkIik7dGhpcy52PWI7dGhpcy5vPV8uTigoKT0+e3ZhciBjPWEoKTtmb3IobGV0IGQgb2YgYylkLlB5Py4oKTtyZXR1cm4gYy5tYXAoZD0+ZC5lbGVtZW50KX0sdm9pZCAwLCJaTVJ0d2QiKX1sYSgpe2dLPW51bGw7c3VwZXIubGEoKX19LGdLPW51bGw7Xy55RT1fLkwoYT0+e3ZhciBiPV8udkUoXy5CRSksW2MsZF09Xy5KKHt4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9LHZvaWQgMCwiR3dYY0RkIiksZT0oKT0+e2lmKGEuY29uZmlnKCk/LmprKXt2YXIgaD1iLnZhbHVlO2lmKGgpe3ZhciBrPV8uaEsoKS5vO3ZhciBsPWsoKTtpZihsLmxlbmd0aCl7bGV0IHQ9aC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtrPXQubGVmdCt0LndpZHRoLzI7dmFyIG09dC50b3ArdC5oZWlnaHQvMjtsZXQgdj1JbmZpbml0eTt2YXIgbj0wLHA9MDtsZXQgej05Njtmb3IobGV0IEUgb2YgbCl7aWYoRT09PWh8fCFFLmlzQ29ubmVjdGVkfHxFLm9mZnNldFBhcmVudD09PW51bGwpY29udGludWU7bD1FLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGwud2lkdGg9PT0wJiZsLmhlaWdodD09PTApY29udGludWU7bGV0IEE9TWF0aC5tYXgobC5sZWZ0LE1hdGgubWluKGssbC5yaWdodCkpLEY9TWF0aC5tYXgobC50b3AsTWF0aC5taW4obSxsLmJvdHRvbSkpO3ZhciByPQpBLU1hdGgubWF4KHQubGVmdCxNYXRoLm1pbihBLHQucmlnaHQpKTtsZXQgQz1GLU1hdGgubWF4KHQudG9wLE1hdGgubWluKEYsdC5ib3R0b20pKTtyPXIqcitDKkM7cjx2JiYodj1yLG49QSxwPUYsej1NYXRoLm1heChsLndpZHRoLGwuaGVpZ2h0KSl9aD1NYXRoLnNxcnQodik7ZChoPDEwMD97eDpuLWsseTpwLW0sb3BhY2l0eToxLWgvMzAwLHNpemU6TWF0aC5tYXgoOTYseioyLjUpfTp7eDowLHk6MCxvcGFjaXR5OjAsc2l6ZTowfSl9ZWxzZSBkKHt4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9KX19fTtfLm5FKCgpPT57aWYoYS5jb25maWcoKT8uamspe3ZhciBoPW5ldyBfLld0KGUsMTAwKSxrPSgpPT57aC52KCl9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGspO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsayk7aC5kaXNwb3NlKCl9fX0sInJQWUMxZCIpO18ubkUoKCk9PnthLmNvbmZpZygpPy5qayYmZSgpfSwiUXA2UFJkIik7CnZhciBmPSgpPT5hLmNvbmZpZygpPy5WYSE9PTUmJmEuY29uZmlnKCk/LlZhIT09OSYmYS5jb25maWcoKT8uVmEhPT02O3JldHVybiBfLksoXy5PLHtBOigpPT5hLmNvbmZpZygpPy5WYSE9PTAmJiFfLmdyLHRoZW46KCk9Pl8uSygieXQtbGlnaHQtc2hhcGUiLHtlbDpiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzOl8uUCgiY29udHJpYll0TGlnaHRTaGFwZUhvc3QiLGEuY2xhc3NOYW1lLHtjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHQ6KCk9PiEwLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTEsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09Myxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZEludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Mixjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRUb25hbEludmVyc2U6KCk9PgphLmNvbmZpZygpPy5WYT09PTQsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheVRvbmFsOigpPT5hLmNvbmZpZygpPy5WYT09PTgsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheVNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTcsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZTooKT0+YS5jb25maWcoKT8uVmE9PT01LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOigpPT5hLmNvbmZpZygpPy5WYT09PTksY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Nn0pLHN0eWxlOl8uSUUoeyItLXl0LWxpZ2h0LXJpbS1jb2xvciI6KCk9PmEuY29uZmlnKCk/LmR2LCItLXl0LWxpZ2h0LXdhc2gtb3BhY2l0eSI6KCk9PmMoKS5vcGFjaXR5LCItLXl0LWxpZ2h0LXdhc2gteCI6KCk9PmAke2MoKS54fXB4YCwiLS15dC1saWdodC13YXNoLXkiOigpPT4KYCR7YygpLnl9cHhgLCItLXl0LWxpZ2h0LXdhc2gtc2l6ZSI6KCk9PmAke2MoKS5zaXplfXB4YH0pfSxfLksoXy5PLHtBOigpPT5hLmNvbmZpZygpPy5qayx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJjb250cmliWXRMaWdodFNoYXBlRHluYW1pY1dhc2hMaWdodCJ9KX0pLF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LkNCLHRoZW46KCk9Pl8uSyhNZWEse3N0eWxlOigpPT57dmFyIGg7YTp7aWYoaD1hLmNvbmZpZygpPy5WYSlzd2l0Y2goaCl7Y2FzZSAxOmNhc2UgNDpoPSJkZWZhdWx0IjticmVhayBhO2Nhc2UgMjpjYXNlIDM6Y2FzZSA1Omg9ImludmVyc2UiO2JyZWFrIGF9aD12b2lkIDB9cmV0dXJuIGh9fSl9KSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoImNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHQiLHtjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U2FmYXJpOigpPT5fLk9rfHxfLklsLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZDooKT0+CmEuY29uZmlnKCk/LlZhPT09MSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09Myxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U29saWRJbnZlcnNlOigpPT5hLmNvbmZpZygpPy5WYT09PTIsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFRvbmFsSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT00LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09OCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTd9KSxzdHlsZTpfLklFKHtiYWNrZ3JvdW5kOigpPT5gcmFkaWFsLWdyYWRpZW50KCR7YS5jb25maWcoKT8uZXZ9LCB0cmFuc3BhcmVudClgfSl9KX0pKX0pfSwiZGEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibnZYNFZiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBoRyxkZGEsY2RhLGlHLGpHO18uZkc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oQXJyYXkuaXNBcnJheShhKT9hOkFycmF5LmZyb20oYSkpLm1hcChiKX07Xy5nRz1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEucGEhPT0iZnVuY3Rpb24iP18uZkcoYS5wYSxhLmNoaWxkcmVuKTphLnRiPT09IklOREVYIj9jZGEoYSk6ZGRhKGEpfTtoRz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYSliPy4oKX07CmRkYT1mdW5jdGlvbihhKXt2YXIgYj1hLnRiPT09dm9pZCAwfHxhLnRiPT09IlJFRkVSRU5DRSIsYz1iP249Pm46YS50YixkPVtdLGU9W10sZj1bXSxoPVtdLGs9W10sbD1bXSxtPSEwO18uWXUoKCk9PntoRyhoKX0pO3JldHVybiBfLlhCKCgpPT57dmFyIG49aUcoYSkscD1uLmxlbmd0aDtpZihwPT09MCl7aWYoZC5sZW5ndGg9PT0wJiYhbSlyZXR1cm4gZjtoRyhoKTtkPW47ZT1bXTtmb3Iobj0wO248ZC5sZW5ndGg7bisrKWUucHVzaChjKGRbbl0pKTtmPVtdO2g9W107az1bXTtsPVtdO2EuZmFsbGJhY2smJihoWzBdPWpHKCgpPT57ZlswXT1fLmZDKGEuZmFsbGJhY2soKSl9KSk7bT0hMTtyZXR1cm4gZn12YXIgcj1uZXcgZWRhO2Zvcih2YXIgdD1kLmxlbmd0aC0xO3Q+PTA7dC0tKXIucHVzaChlW3RdLHQpO3Q9QXJyYXkocCk7dmFyIHY9QXJyYXkocCksej1BcnJheShwKSxFPUFycmF5KHApLEE9QXJyYXkoYj8wOnApO2ZvcihsZXQgRj0wO0Y8cDtGKyspe2xldCBDPW5bRl0sRz1jKEMpLApEPXIucG9wKEcpO0QhPW51bGw/KHpbRl09ZltEXSx2W0ZdPWVbRF0sdFtGXT1oW0RdLEVbRl09a1tEXSxifHwoQVtGXT1sW0RdKSxfLnJDKCgpPT57RVtGXShGKTtpZighYilBW0ZdKEMpfSksZGVsZXRlIGhbRF0pOnRbRl09akcoKCk9Pnt2YXIgSD1fLkooRix2b2lkIDAsIlBMVDFzIiksUj1IWzBdO0VbRl09SFsxXTt2W0ZdPUc7aWYoYil6W0ZdPV8uZkMoYS5jaGlsZHJlbihDLFIpKTtlbHNle2xldCBNPV8uSihDLHZvaWQgMCwiYms4UkpkIiksUz1NWzBdO0FbRl09TVsxXTt6W0ZdPV8uZkMoYS5jaGlsZHJlbihTLFIpKX19KX1oRyhoKTtkPW47ZT12O2Y9ejtoPXQ7az1FO2w9QTttPSExO3JldHVybiB6fSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/Im5zVEdIZCIsenA6YS5wYSxXZTohMH0pfTsKY2RhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9W10sZD1bXSxlPVtdLGY9ITE7Xy5ZdSgoKT0+e2hHKGUpfSk7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgaD1pRyhhKTtmJiZoLmxlbmd0aD4wJiYoZS5wb3AoKSgpLGIucG9wKCksZj0hMSk7dmFyIGs9QXJyYXkoaC5sZW5ndGgpO2ZvcihsZXQgbT0wO208aC5sZW5ndGg7bSsrKXtpZihtPGIubGVuZ3RoKXtiW21dIT09aFttXSYmKF8uckMoKCk9PnZvaWQgY1ttXShoW21dKSksYlttXT1oW21dKTtrW21dPWRbbV07Y29udGludWV9dmFyIGw9akcoKCk9PntiW21dPWhbbV07dmFyIG49Xy5KKGhbbV0sdm9pZCAwLCJ1aUMwY2IiKSxwPW5bMF07Y1ttXT1uWzFdO2tbbV09Xy5mQyhhLmNoaWxkcmVuKHAsbSkpfSk7ZVttXT1sfWZvcig7Yi5sZW5ndGg+aC5sZW5ndGg7KWIucG9wKCksZS5wb3AoKSgpLGMucG9wKCk7aC5sZW5ndGg9PT0wJiYhZiYmYS5mYWxsYmFjayYmKGw9akcoKCk9PntrWzBdPV8uZkMoYS5mYWxsYmFjaygpKX0pLGVbMF09bCxmPQohMCk7cmV0dXJuIGQ9a30se2RlYnVnTmFtZTphLmRlYnVnSW5zdGFuY2U/PyJuc1RHSGQiLFdlOiEwfSl9O2lHPWZ1bmN0aW9uKGEpe2E9YS5wYSgpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6QXJyYXkuZnJvbShhKX07akc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DQSgpO3JldHVybiBfLnV2KGM9Pnt2YXIgZD1fLmt1KF8uenYpO3RyeXtjLnBhcmVudD1iLGEoYyl9ZmluYWxseXtfLmt1KGQpfX0sITEpfTt2YXIgZWRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcH1wdXNoKGEsYil7dmFyIGM9dGhpcy5tYXA7aWYoYy5oYXMoYSkpe3RoaXMuanx8KHRoaXMuaj1uZXcgTWFwKTtpZih0aGlzLmo/LmhhcyhiKSl0aHJvdyBfLlV1KEVycm9yKCJaY2AiK2IpLDQpO3RoaXMuai5zZXQoYixjLmdldChhKSl9Yy5zZXQoYSxiKX1wb3AoYSl7dmFyIGI9dGhpcy5tYXAsYz1iLmdldChhKTtjIT09dm9pZCAwJiZ0aGlzLmo/LmhhcyhjKT8oYi5zZXQoYSx0aGlzLmouZ2V0KGMpKSx0aGlzLmouZGVsZXRlKGMpKTpiLmRlbGV0ZShhKTtyZXR1cm4gY319Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga2NhLGxjYSxGRSxHRTtfLkNFPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLkRFPWZ1bmN0aW9uKGEpe3JldHVybntpc0RlZmF1bHQ6ITAsY2hpbGRyZW46YS5jaGlsZHJlbn19O18uRUU9ZnVuY3Rpb24oYSl7cmV0dXJuIGtjYShhKX07CmtjYT1mdW5jdGlvbihhKXt2YXIgYj1sY2EoYSksYz1fLk4oKCk9PnthOnt2YXIgZD0tMTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9YltlXTtmPy5bXy5Mdl0mJihmPUZFKGYpKTtmIGluc3RhbmNlb2YgXy5kQyYmKGY9R0UoZikpO2lmKGYuaXNEZWZhdWx0KWQ9PT0tMSYmKGQ9ZSk7ZWxzZSBpZihfLkJ2KGYud2hlbikpe2Q9ZTticmVhayBhfX19cmV0dXJuIGR9LHZvaWQgMCwiTVNUeFdiIik7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgZD1jKCksZTtfLnV2KCgpPT57dmFyIGY9Xy5rdShfLnp2KTt0cnl7aWYoZD09PS0xKWU9bnVsbDtlbHNle3ZhciBoPWJbZF07dmFyIGs9aD8uW18uTHZdP0ZFKGgpOmggaW5zdGFuY2VvZiBfLmRDP0dFKGgpOmg7dmFyIGw9az09PW51bGw/bnVsbDprLmlzRGVmYXVsdD9rLmNoaWxkcmVuKCk6dHlwZW9mIGsud2hlbj09PSJmdW5jdGlvbiI/ay5jaGlsZHJlbihfLk5DKGsud2hlbiwiQ2FzZSIpKTprLmNoaWxkcmVuKGsud2hlbik7ZT1fLmZDKGwpfX1maW5hbGx5e18ua3UoZil9fSk7CnJldHVybiBlfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/InZJMXJ0ZiIsV2U6ITB9KX07bGNhPWZ1bmN0aW9uKGEpe2E9YS5jaGlsZHJlbjtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hOlthXX07RkU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHlwZT09PV8uREU/e2lzRGVmYXVsdDohMCxjaGlsZHJlbjphLmNoaWxkcmVuWzBdfTp7d2hlbjphLnByb3BzLndoZW4sY2hpbGRyZW46YS5jaGlsZHJlblswXX19O0dFPWZ1bmN0aW9uKGEpe3ZhciBiPWEucHJvcHM7YT1hLmNoaWxkcmVuWzBdO3JldHVybiBiLndoZW4/e3doZW46Yi53aGVuLGNoaWxkcmVuOmF9Ontpc0RlZmF1bHQ6ITAsY2hpbGRyZW46YX19O18uQ0UuZGVidWdOYW1lPSJ0YmhNY2YiO18uREUuZGVidWdOYW1lPSJ6eU1GemIiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRGNhO0RjYT1mdW5jdGlvbihhKXtzd2l0Y2goYS5acSl7Y2FzZSBfLlF2Ol8uVXYuc2NoZWR1bGUoYSk7YnJlYWs7ZGVmYXVsdDpfLmViKGEuWnEsdm9pZCAwKX19O18ub0Y9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8uV3UpUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoInliIiksMik7fSk7ZWxzZXtpZigoMCxfLmx2KShfLmp1KSl0aHJvdyBfLlV1KEVycm9yKCJ6YiIpLDQpO3ZhciBiPV8uWnQsYz1fLk11O0RjYSh7WnE6Xy5RdixydW46KCk9PntpZihiJiYhYi5pYSl7dmFyIGQ9Xy4kdChiKTt0cnl7Xy5SdSgoKT0+e3ZhciBlPWEoKTt0eXBlb2YgZT09PSJmdW5jdGlvbiImJl8uWXUoZSl9LGMpfWNhdGNoKGUpe18uVXUoZSw0KSxfLm92KGUpfWZpbmFsbHl7Xy4kdChkKX19fX0pfX07Xy5LQj1fLmxDO18ucUY9U3ltYm9sKCJYYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgV0osVko7Xy5USj1mdW5jdGlvbihhLGIpe3ZhciBjPV8ucEUoIm9uQ2hhbmdlIiksZD1fLm9FKCk7Xy5xRShjLm1sLGIpJiYoYy5tbD1iLGMuc3I9YSxkLnVmfHwoZC51Zj1bXSksZC51Zi5wdXNoKGMpKX07Xy5VSj1mdW5jdGlvbihhKXtfLkhBKCk/Xy5vRigoKT0+Xy5FQShhKSk6Xy5USigoKT0+Xy5FQShhKSxbXSl9O1dKPWZ1bmN0aW9uKGEpe3ZhciBiPVsuLi5hXTthLmxlbmd0aD0wO2ZvcihsZXQgYyBvZiBiKWlmKFZKKGMpLGE9Yy5zcixjLnNyPW51bGwsYT1hPy4oKSljLnJyPWF9O1ZKPWZ1bmN0aW9uKGEpe3ZhciBiPWEucnI7YS5ycj1udWxsO2I/LigpfTtfLmR3KHtTbyhhKXt2YXIgYj1fLiR0KGEucWwpO3RyeXthLnVmPy5sZW5ndGgmJldKKGEudWYpfWZpbmFsbHl7Xy4kdChiKX19LEdmKGEpe3ZhciBiPV8uJHQoYS5xbCk7dHJ5e2EudWY/Lmxlbmd0aCYmV0ooYS51Zil9ZmluYWxseXtfLiR0KGIpfX0sSGYoYSl7YS5aZj8ubGVuZ3RoJiZhLlpmLmZvckVhY2goVkopfX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFEPW51bGw7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBoZGEsaWRhLGtkYSxtZGEscUcsbmRhLHNHLHJHLHVHLHdHLHZHLHhHLHRHLG9kYSxwZGEsc2RhLEJHLHRkYSxBRyxyZGEscWRhLGpkYSxsZGE7aGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5hRCxkPTA7Xy5hRD17c3U6KCk9PntkKys7Xy5yQygoKT0+e2EoITEpfSl9LEhyOigpPT57LS1kPT09MCYmXy5yQygoKT0+e2EoITApfSl9fTt0cnl7cmV0dXJuIGIoKX1maW5hbGx5e18uYUQ9Y319O2lkYT1mdW5jdGlvbihhKXt2YXIgW2IsY109Xy5KKCEwLHZvaWQgMCwiYkt0TzZkIik7cmV0dXJuIGhkYShjLCgpPT57dmFyIGQ9Xy5mQyhhLmNoaWxkcmVuKCkpO3JldHVybiBfLksoXy5PLHtBOmIsdGhlbjooKT0+ZCxXOmEuZmFsbGJhY2t9KX0pfTsKXy5uRz1mdW5jdGlvbih7Y2hpbGRyZW46YSxFZjpiLGNhbGxiYWNrczpjfSl7dmFyIGQ9bmV3IE1hcDtiPWI/P1tdO2ZvcihsZXQgZSBvZiBiKWQuc2V0KGUuaWQuQ2IudG9rZW4sZSk7Yz1jPz9bXTtmb3IobGV0IGUgb2YgYylkLnNldChlLmlkLkNiLnRva2VuLGUpO2Q9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGpkYSkse2RlYnVnTmFtZToiW2NvbnRleHRPd25lcl0iLGVudHJpZXM6ZH0pO18uQnUoZCk7ZD1fLiR0KGQpO3RyeXtsZXQgZT1fLmZDKGEpO3JldHVybiBfLksoXy5JQixudWxsLGUpfWZpbmFsbHl7Xy4kdChkKX19O18ub0c9ZnVuY3Rpb24oYSxiKXtyZXR1cm57W18uZ2RhXTohMCxpZDphLHZhbHVlOmJ9fTtrZGE9ZnVuY3Rpb24oe1NnOmF9KXtyZXR1cm4gXy5LKF8uSUIsbnVsbCxhKCkpfTtfLnBHPWZ1bmN0aW9uKGEsYil7YT17Li4uYSxwYXJlbnQ6Xy5tRygpfTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKF8ubEcsYSldfSxfLksoa2RhLHtTZzpifSkpfTsKbWRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBsZGEoYSxiKX07cUc9ZnVuY3Rpb24oYSxiKXt0aGlzLm89e307dGhpcy5qPVtdO3RoaXMuQWU9dGhpcy5zaXplPTA7dmFyIGM9YXJndW1lbnRzLmxlbmd0aDtpZihjPjEpe2lmKGMlMil0aHJvdyBFcnJvcigiYmQiKTtmb3IodmFyIGQ9MDtkPGM7ZCs9Mil0aGlzLnNldChhcmd1bWVudHNbZF0sYXJndW1lbnRzW2QrMV0pfWVsc2UgaWYoYSlpZihhIGluc3RhbmNlb2YgcUcpZm9yKGM9YS5yZCgpLGQ9MDtkPGMubGVuZ3RoO2QrKyl0aGlzLnNldChjW2RdLGEuZ2V0KGNbZF0pKTtlbHNlIGZvcihkIGluIGEpdGhpcy5zZXQoZCxhW2RdKX07bmRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1ifTsKc0c9ZnVuY3Rpb24oYSl7aWYoYS5zaXplIT1hLmoubGVuZ3RoKXtmb3IodmFyIGI9MCxjPTA7YjxhLmoubGVuZ3RoOyl7dmFyIGQ9YS5qW2JdO3JHKGEubyxkKSYmKGEualtjKytdPWQpO2IrK31hLmoubGVuZ3RoPWN9aWYoYS5zaXplIT1hLmoubGVuZ3RoKXtiPXt9O2ZvcihkPWM9MDtjPGEuai5sZW5ndGg7KXtsZXQgZT1hLmpbY107ckcoYixlKXx8KGEualtkKytdPWUsYltlXT0xKTtjKyt9YS5qLmxlbmd0aD1kfX07ckc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYil9O3VHPWZ1bmN0aW9uKCl7dGhpcy5vPW5ldyBxRzt0aGlzLmo9bmV3IHRHKCIiKTt0aGlzLmoubmV4dD10aGlzLmouVWE9dGhpcy5qfTt3Rz1mdW5jdGlvbihhLGIpe2lmKGI9YS5vLmdldChiKSliLnJlbW92ZSgpLHZHKGEsYik7cmV0dXJuIGJ9Owp2Rz1mdW5jdGlvbihhLGIpe2IubmV4dD1hLmoubmV4dDtiLlVhPWEuajthLmoubmV4dD1iO2ZvcihiLm5leHQuVWE9YjthLm8uc2l6ZT4xMDA7KWEucmVtb3ZlTm9kZShhLmouVWEpfTt4Rz1mdW5jdGlvbihhLGIpe2EuaiE9YiYmYS5yZW1vdmVOb2RlKGIpO3JldHVybiBiLnZhbHVlfTt0Rz1mdW5jdGlvbihhLGIpe3RoaXMua2V5PWE7dGhpcy52YWx1ZT1ifTtvZGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9eUc7aWYoYT09bnVsbHx8IWMuRWcpcmV0dXJuIGI7ZS5qLmdldChhKT09PXZvaWQgMCYmZS5qLnNldChhLFtiLGQ/P1tdLCExXSk7Yz1lLmouZ2V0KGEpO2lmKCFjKXJldHVybiBiO3ZhciBbZixoLGtdPWM7aWYoaD8ubGVuZ3RoJiZkPy5sZW5ndGgmJmQuc29tZSgobCxtKT0+bCE9PWhbbV0pKXJldHVybiBlLmoucmVtb3ZlKGEpLGI7ZD8ubGVuZ3RoJiZlLmouc2V0KGEsW2YsZCxrXSk7cmV0dXJuIGs/ZjpifTsKXy56Rz1mdW5jdGlvbihhLGI9e0VnOiEwfSl7cmV0dXJue01nOmZ1bmN0aW9uKGMsZCl7dmFyIGU9Xy5OKCgpPT5hKGMoKSksdm9pZCAwLCJHbXJibGIiKSxbZixoXT1fLkFDKCgpPT57dmFyIGs9YygpLGw9ZSgpLG09ZD8ubWFwKG49Pm4oKSk/P1tdO3JldHVybiBvZGEobCxrLGIsbSl9KTtfLm5FKCgpPT57dmFyIGs9ZSgpO2shPW51bGwmJihrPXlHLnJlZ2lzdGVyKGssW2YsaF0sKCk9PmQ/Lm1hcChsPT5sKCkpPz9bXSksXy5ZdShrKSl9LCJVbWFjNmMiKTtyZXR1cm5bZixmdW5jdGlvbihrKXtoKGspO3ZhciBsPWUoKTtsIT1udWxsJiZ5Ry51cGRhdGUobCwoKT0+ayxiKX1dfSxnZXREYXRhOmZ1bmN0aW9uKGMpe2M9YShjKTtyZXR1cm4geUcuZ2V0KGMsYil9LGdrOmZ1bmN0aW9uKGMsZCl7Yz1hKGMpO3JldHVybiB5Ry51cGRhdGUoYyxkLGIpfX19OwpfLlc9ZnVuY3Rpb24oYSl7dmFyIHtkYXRhOmIsbWFwcGluZzpjLHdyYXBwZXI6ZCxySzplfT1wZGEoYSk7cWRhKGIsYyk7dmFyIGY9KCk9PkFHKF8uQnYoYikpLGg9KCk9Pnt2YXIgaz1BRyhfLkJ2KGIpKSxsPVtdO2ZvcihsZXQgbSBvZiBrKShrPUJHKG0pKSYmbC5wdXNoKGspO3JldHVybiBsfTtyZXR1cm4gYS5kYXRhP18uSyhpZGEse2ZhbGxiYWNrOmV9LCgpPT5fLksoXy5nRyx7cGE6aH0sKGssbCk9Pnt2YXIgbT1kP3A9PmQoKCk9PmNba10ocCxsKSxuLGwpOnA9PmNba10ocCxsKTttLmRlYnVnTmFtZXx8KG0uZGVidWdOYW1lPVN0cmluZyhrKSk7aWYoIWNbU3RyaW5nKGspXSlyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIik7bS5jb21wb25lbnRUeXBlIT09Xy5LdiYmcmRhKFN0cmluZyhrKSk7dmFyIG49c2RhKGYsayxsKTtyZXR1cm4gXy5LKG0se2RhdGE6bn0pfSkpOl8uSyhfLklCLG51bGwpfTsKcGRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0SWR8fHRkYShhLmNoaWxkcmVuKTtpZighYS5kYXRhfHwhYilyZXR1cm57Li4uYSxtYXBwaW5nOmEuY2hpbGRyZW59O3ZhciBjPWBzdGFtcGVyLSR7dWRhKyt9YCxkPSgpPT4odHlwZW9mIGEudGFyZ2V0SWQ9PT0iZnVuY3Rpb24iP2EudGFyZ2V0SWQoYyk6YS50YXJnZXRJZCk/P2M7W2JdPXZkYSgoKT0+e3ZhciBmPVsuLi5BRyhhLmRhdGEoKSldO2YudGFyZ2V0SWQ9ZDtyZXR1cm4gZn0pO3ZhciBlPXsuLi4oXy55KCkucmVzb2x2ZShfLkluKHdkYSkpfHx7fSkuQUssLi4uYS5jaGlsZHJlbn07aWYoYS5Kcil7bGV0IGY9ZS5ub3RpZmljYXRpb25UZXh0UmVuZGVyZXIsaD1lLm5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXI7ZiYmKGUubm90aWZpY2F0aW9uVGV4dFJlbmRlcmVyPSh7ZGF0YTprfSxsKT0+YS5KcihmKHtkYXRhOmt9LGwpKSk7aCYmKGUubm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlcj0oe2RhdGE6a30sCmwpPT5hLkpyKGgoe2RhdGE6a30sbCkpKX1yZXR1cm57Li4uYSxkYXRhOmIsbWFwcGluZzplLHdyYXBwZXI6KGYsaCxrKT0+Xy5wRyh7dGFyZ2V0SWQ6ZCxZSzprfSxhLndyYXBwZXI/KCk9PmEud3JhcHBlcihmLGgsayk6Zil9fTtzZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBfLk4oKCk9Pnt2YXIgZT1hKClbYygpXTtpZihlKWQ9ZVtiXTtlbHNlIHJldHVybiBfLklwKG5ldyBfLlhqKGBTdGFtcGVyIGZhaWxlZCB0byBmaW5kICR7U3RyaW5nKGIpfSBhdCBpbmRleCAke2MoKX0gb2YgZGF0YSBhcnJheSBvZiBsZW5ndGggJHthKCkubGVuZ3RofSAoYi8zNjU2NDMzNTkpLiBEaWQgeW91IGFjY2VzcyBhIHNpZ25hbCBhZnRlciBhIGNvbXBvbmVudCBoYXMgYmVlbiBjbGVhbmVkIHVwP2ApKSxkO3JldHVybiBlW2JdfSx2b2lkIDAsInNFcnRqZCIpfTsKQkc9ZnVuY3Rpb24oYSl7dmFyIGI9dm9pZCAwO2ZvcihsZXQgYyBpbiBhKWlmKCEoIWEpLmhhc093blByb3BlcnR5KGMpKXtiPWM7YnJlYWt9cmV0dXJuIGJ9O3RkYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMoYSkpaWYoeGRhLmluY2x1ZGVzKGIpfHx5ZGEuaW5jbHVkZXMoYil8fHpkYS5pbmNsdWRlcyhiKSlyZXR1cm4hMDtyZXR1cm4hMX07QUc9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/QXJyYXkuaXNBcnJheShhKSYmYSBpbnN0YW5jZW9mIEFycmF5P2E6W2FdOltdfTtyZGE9ZnVuY3Rpb24oYSl7Xy54KCJ3ZWJfZW5hYmxlX3JlbmRlcmVyX2xvZ2dlciIpJiZfLnkoKS5yZXNvbHZlKF8uSW4oXy5DRykpPy53eShhKX07CnFkYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLnJlc29sdmUoXy5JbihBZGEpKTtjJiZfLm5FKCgpPT57dmFyIGQ9QUcoXy5CdihhKSksZT0wLGY9ITE7Zm9yKHZhciBoIG9mIGQpe2Q9QkcoaCk7aWYoIWR8fCFiW1N0cmluZyhkKV0pe2Y9ITA7YnJlYWt9ZSsrfWg9Yy5WSztkPWMuV0s7ZT4wJiYhZj9oLm8oZCgpKTpoLmooZCgpKX0sIkRoT1V4ZSIpfTtqZGE9e1JoKGEpe2lmKF8uZnUgaW4gYXx8Xy5mZGEgaW4gYSl7bGV0IGI9dGhpcy5lbnRyaWVzLmdldChhLkNiLnRva2VuKTtpZihiIT09dm9pZCAwKXJldHVybiBiLnZhbHVlfXJldHVybiB0aGlzLnBhcmVudD9fLmN1KHRoaXMucGFyZW50LGEpOl8uYXV9fTsKbGRhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWFbXy51LlN5bWJvbC5pdGVyYXRvcl0oKTt0aGlzLm89Yn1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfW5leHQoKXt2YXIgYT10aGlzLmoubmV4dCgpO3JldHVybnt2YWx1ZTphLmRvbmU/dm9pZCAwOnRoaXMuby5jYWxsKHZvaWQgMCxhLnZhbHVlKSxkb25lOmEuZG9uZX19fTtfLmc9cUcucHJvdG90eXBlO18uZy5NYz1mdW5jdGlvbigpe3NHKHRoaXMpO3ZhciBhPVtdO2ZvcihsZXQgYj0wO2I8dGhpcy5qLmxlbmd0aDtiKyspYS5wdXNoKHRoaXMub1t0aGlzLmpbYl1dKTtyZXR1cm4gYX07Xy5nLnJkPWZ1bmN0aW9uKCl7c0codGhpcyk7cmV0dXJuIHRoaXMuai5jb25jYXQoKX07Xy5nLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gckcodGhpcy5vLGEpfTtfLmcuZXF1YWxzPWZ1bmN0aW9uKGEsYil7aWYodGhpcz09PWEpcmV0dXJuITA7aWYodGhpcy5zaXplIT1hLnNpemUpcmV0dXJuITE7Yj1ifHxuZGE7c0codGhpcyk7dmFyIGM7Zm9yKGxldCBkPTA7Yz10aGlzLmpbZF07ZCsrKWlmKCFiKHRoaXMuZ2V0KGMpLGEuZ2V0KGMpKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplPT0wfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLm89e307dGhpcy5BZT10aGlzLnNpemU9dGhpcy5qLmxlbmd0aD0wfTsKXy5nLnJlbW92ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kZWxldGUoYSl9O18uZy5kZWxldGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHJHKHRoaXMubyxhKT8oZGVsZXRlIHRoaXMub1thXSwtLXRoaXMuc2l6ZSx0aGlzLkFlKyssdGhpcy5qLmxlbmd0aD4yKnRoaXMuc2l6ZSYmc0codGhpcyksITApOiExfTtfLmcuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHJHKHRoaXMubyxhKT90aGlzLm9bYV06Yn07Xy5nLnNldD1mdW5jdGlvbihhLGIpe3JHKHRoaXMubyxhKXx8KHRoaXMuc2l6ZSs9MSx0aGlzLmoucHVzaChhKSx0aGlzLkFlKyspO3RoaXMub1thXT1ifTtfLmcuZm9yRWFjaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMucmQoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyl7bGV0IGU9Y1tkXSxmPXRoaXMuZ2V0KGUpO2EuY2FsbChiLGYsZSx0aGlzKX19O18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgcUcodGhpcyl9O18uZy5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uc2godGhpcy5iZCghMCkpLmooKX07Cl8uZy52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaCh0aGlzLmJkKCExKSkuaigpfTtfLmcuZW50cmllcz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7cmV0dXJuIG1kYSh0aGlzLmtleXMoKSxmdW5jdGlvbihiKXtyZXR1cm5bYixhLmdldChiKV19KX07Xy5nLmJkPWZ1bmN0aW9uKGEpe3NHKHRoaXMpO3ZhciBiPTAsYz10aGlzLkFlLGQ9dGhpcyxlPW5ldyBfLm9oO2UubmV4dD1mdW5jdGlvbigpe2lmKGMhPWQuQWUpdGhyb3cgRXJyb3IoImNkIik7aWYoYj49ZC5qLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZj1kLmpbYisrXTtyZXR1cm57dmFsdWU6YT9mOmQub1tmXSxkb25lOiExfX07cmV0dXJuIGV9O18uZz11Ry5wcm90b3R5cGU7Xy5nLmdldD1mdW5jdGlvbihhLGIpe3JldHVybihhPXdHKHRoaXMsYSkpP2EudmFsdWU6Yn07Xy5nLnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXdHKHRoaXMsYSk7Yz9jLnZhbHVlPWI6KGM9bmV3IHRHKGEsYiksdGhpcy5vLnNldChhLGMpLHZHKHRoaXMsYykpfTtfLmcudWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qLm5leHQudmFsdWV9O18uZy5zaGlmdD1mdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHRoaXMuai5uZXh0KX07Xy5nLnBvcD1mdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHRoaXMuai5VYSl9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9dGhpcy5vLmdldChhKSk/KHRoaXMucmVtb3ZlTm9kZShhKSwhMCk6ITF9O18uZy5yZW1vdmVOb2RlPWZ1bmN0aW9uKGEpe2EucmVtb3ZlKCk7dGhpcy5vLnJlbW92ZShhLmtleSl9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5pc0VtcHR5KCl9OwpfLmcucmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYn0pfTtfLmcuTWM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGF9KX07Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGI9PWF9KX07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLm8uc2l6ZT4wOyl0aGlzLnJlbW92ZU5vZGUodGhpcy5qLlVhKX07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcyl9O18uZy5tYXA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9dGhpcy5qLm5leHQ7ZCE9dGhpcy5qO2Q9ZC5uZXh0KWMucHVzaChhLmNhbGwoYixkLnZhbHVlLGQua2V5LHRoaXMpKTtyZXR1cm4gY307Cl8uZy5zb21lPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPXRoaXMuai5uZXh0O2MhPXRoaXMuajtjPWMubmV4dClpZihhLmNhbGwoYixjLnZhbHVlLGMua2V5LHRoaXMpKXJldHVybiEwO3JldHVybiExfTtfLmcuZXZlcnk9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWlmKCFhLmNhbGwoYixjLnZhbHVlLGMua2V5LHRoaXMpKXJldHVybiExO3JldHVybiEwfTt0Ry5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5VYS5uZXh0PXRoaXMubmV4dDt0aGlzLm5leHQuVWE9dGhpcy5VYTtkZWxldGUgdGhpcy5VYTtkZWxldGUgdGhpcy5uZXh0fTt2YXIgeUc9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPW5ldyBNYXA7dGhpcy52PW5ldyBNYXA7dGhpcy5qPW5ldyB1R31nZXQoYSxiKXt2YXIgYz10aGlzLm8uZ2V0KGEpO2lmKGMpcmV0dXJuIGNbMF0oKTtpZihiLkVnJiZhIT1udWxsKXJldHVybiB0aGlzLmouZ2V0KGEpPy5bMF19dXBkYXRlKGEsYixjKXt2YXIgZD10aGlzLm8uZ2V0KGEpO2lmKGQpe2xldCBbZSxmXT1kO2I9YihlKCkpO2YoYik7Yy5FZyYmYSE9bnVsbCYmKGM9dGhpcy52LmdldChhKSx0aGlzLmouc2V0KGEsW2IsYz8uKCk/P1tdLCEwXSkpO3JldHVybiEwfWlmKGMuRWcmJmEhPW51bGwmJihjPXRoaXMuai5nZXQoYSkpKXtsZXQgW2UsZl09YztiPWIoZSk7dGhpcy5qLnNldChhLFtiLGYsITBdKTtyZXR1cm4hMH1yZXR1cm4hMX1yZWdpc3RlcihhLGIsYyl7aWYoYT09bnVsbClyZXR1cm4oKT0+e307dGhpcy5vLnNldChhLGIpO2MmJnRoaXMudi5zZXQoYSxjKTtyZXR1cm4oKT0+e3RoaXMuby5nZXQoYSk9PT0KYiYmKHRoaXMuby5kZWxldGUoYSksdGhpcy52LmRlbGV0ZShhKSl9fX07Xy5DRz1uZXcgXy5WcygiUkVOREVSRVJfTE9HR0VSX1RPS0VOIik7dmFyIHdkYT1uZXcgXy5WcygiUkVOREVSRVJfU1RBTVBFUl9PUFRJT05TX1RPS0VOIik7dmFyIEFkYT1uZXcgXy5WcygiUkVOREVSRVJfU1RBTVBFUl9TVUNDRVNTX1NMSV9UT0tFTiIpO3ZhciB4ZGE9ImNvbXBhY3RSYWRpb1JlbmRlcmVyIGNvbXBhY3RQbGF5bGlzdFJlbmRlcmVyIHBsYXlsaXN0VmlkZW9SZW5kZXJlciBjb21wYWN0VmlkZW9SZW5kZXJlciBmZWVkTnVkZ2VSZW5kZXJlciBncmlkVmlkZW9SZW5kZXJlciBwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHJhZGlvUmVuZGVyZXIgcHJpbWV0aW1lUHJvbW9SZW5kZXJlciByZWVsSXRlbVJlbmRlcmVyIHJlZWxTaGVsZlJlbmRlcmVyIHJpY2hTaGVsZlJlbmRlcmVyIHNlYXJjaEhpc3RvcnlRdWVyeVJlbmRlcmVyIHNoZWxmUmVuZGVyZXIgdmlkZW9XaXRoQ29udGV4dFJlbmRlcmVyIHZpZGVvQ2FyZFJlbmRlcmVyIHN0YXRlbWVudEJhbm5lclJlbmRlcmVyIG1pbmlHYW1lQ2FyZFZpZXdNb2RlbCBzaG9ydHNMb2NrdXBWaWV3TW9kZWwgbG9ja3VwVmlld01vZGVsIGdyaWRTaGVsZlZpZXdNb2RlbCIuc3BsaXQoIiAiKSx6ZGE9WyJub3RpZmljYXRpb25UZXh0UmVuZGVyZXIiLCJub3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyIl0sCnlkYT0icHJpbWV0aW1lUHJvbW9SZW5kZXJlciBzdGF0ZW1lbnRCYW5uZXJSZW5kZXJlciBicmFuZFZpZGVvU2hlbGZSZW5kZXJlciBicmFuZFZpZGVvU2luZ2xldG9uUmVuZGVyZXIgZmVlZE51ZGdlUmVuZGVyZXIgcGxheWxpc3RWaWRlb1JlbmRlcmVyIi5zcGxpdCgiICIpLHtNZzp2ZGF9PV8uekcoYT0+Xy5CdihhPy50YXJnZXRJZCkpO3ZhciB1ZGE9MDtfLlcuZGVidWdOYW1lPSJFakpiQ2UiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgVmJhO1ZiYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhLGIsdm9pZCAwKX07Xy5ORD1mdW5jdGlvbihhKXthPVsoYSYxNjcxMTY4MCk+Pj4xNiwoYSY2NTI4MCk+Pj44LGEmMjU1LChhJjQyNzgxOTAwODApPj4+MjRdO2lmKCFWYmEoYSxiPT5iPT09KGImMjU1KSkpdGhyb3cgRXJyb3IoIlJjYCIrYS5qb2luKCIsIikpO3JldHVybmByZ2JhKCR7YVswXX0sJHthWzFdfSwke2FbMl19LCR7KGFbM10vMjU1KS50b0ZpeGVkKDMpfSlgfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rQT1mdW5jdGlvbih7dHlwZTphLHBheWxvYWQ6Yn0pe2E9e3R5cGU6YX07YiE9PXZvaWQgMCYmKGEucGF5bG9hZD1iKTtyZXR1cm4gYX07LyoKCiBDb3B5cmlnaHQgMjAxNS1wcmVzZW50IERhbiBBYnJhbW92CiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCiovCl8ubEE9KCk9Pk1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KS5zcGxpdCgiIikuam9pbigiLiIpO18ubUE9YEBAcmVkdXgvSU5JVCR7Xy5sQSgpfWA7Xy5SYWE9YEBAcmVkdXgvUkVQTEFDRSR7Xy5sQSgpfWA7Xy5uQT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9BPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rQSh7dHlwZToiUkVQTEFDRV9FTlRJVFkiLHBheWxvYWQ6e3hsOmMsZW50aXR5VHlwZTphLGtleTpifX0pfTtfLnBBPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rQSh7dHlwZToiVVBEQVRFX0VOVElUWSIscGF5bG9hZDp7eGw6YyxlbnRpdHlUeXBlOmEsa2V5OmIsSXk6dm9pZCAwfX0pfTtfLnFBPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYVtiXT9hW2JdW2NdfHxudWxsOm51bGx9OygoKT0+e3ZhciBhPWQ9Pm5ldyBVaW50OEFycmF5KGQpLGI9ZD0+e3ZhciBlPW5ldyBVaW50OEFycmF5KGQubGVuZ3RoKTtmb3IobGV0IGY9MDtmPGQubGVuZ3RoO2YrKyllW2ZdPWRbZl07cmV0dXJuIGV9LGM9bmV3IFVpbnQ4QXJyYXkoWzFdKTtyZXR1cm4gYy5sZW5ndGg9PT0xJiZjWzBdPT09MT9hOmJ9KSgpO18uckE9QXJyYXkoMTAyNCk7Xy5zQT10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dERlY29kZXI6dm9pZCAwO18udEE9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDtfLnVBPXthbmltYXRpb25FbnRpdHk6MzAyLGFjY291bnRMaW5rU3RhdHVzRW50aXR5OjEyMixhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5OjYzMCxib29sZWFuRW50aXR5OjMwNyxhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5OjYzNyxidXR0b25FbnRpdHk6MzU4LGNhcHRpb25UcmFjazoyMjUsY2hhbm5lbEhhbmRsZToyNzUsY2hpcEVudGl0eTo0OTgsY29tbWVyY2VBY3F1aXNpdGlvbkNsaWVudFBheWxvYWRFbnRpdHk6Mjc2LGNvbW1lcmNlQ2FydExpc3RFbnRpdHk6MjM2LGNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5OjUzMixjb21wb3NpdGVTb3VyY2VFbnRpdHk6NTk0LGNvbnRleHROb3RlRmVlZEVudGl0eVBheWxvYWQ6NDgzLGNvbnRleHROb3RlVXNlclJhdGluZ0VudGl0eVBheWxvYWQ6NTc2LGNvbnRpbnVhdGlvblRva2VuRW50aXR5OjQwNixkb3dubG9hZFF1YWxpdHlQaWNrZXJFbnRpdHk6MjAyLGRvd25sb2Fkc1BhZ2VSZWZyZXNoVG9rZW5FbnRpdHk6Mjk5LApkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHk6MjY0LGRvd25sb2FkU3RhdHVzRW50aXR5OjE0MSxkaXNtaXNzU3RhdGU6NTQwLHNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHk6MTg2LGVtb2ppRm91bnRhaW5EYXRhRW50aXR5OjM5MyxlbW9qaUN1c3RvbWl6YXRpb25TZXRFbnRpdHk6NDk2LGZha2VDaGFubmVsOjIsZmFrZVBsYXlsaXN0OjI3OSxmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246MjgwLGZha2VWaWRlbzoxODIsZmFrZVZpZGVvRGVzY3JpcHRpb246Mjc4LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6MzkyLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTo1OTgsZmxvd1N0YXRlRW50aXR5OjI1MixpY29uQmFkZ2VFbnRpdHk6MjI5LGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6NDQzLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6NTY3LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OjIxNyxsaXZlVmlld2VyTGVhZGVyYm9hcmRDaGF0RW50cnlQb2ludFN0YXRlRW50aXR5OjU2MywKbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OjU2NCxsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTo1MDMsbG9nb0VudGl0eToyNDUsbWFjcm9NYXJrZXJFbnRpdHk6MzI5LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OjE1OCxtYWluRG93bmxvYWRzTGlzdEVudGl0eToxNjQsbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTozNzMsbWFpblBsYXlsaXN0RW50aXR5OjMwNixtYWluUGxheWxpc3RWaWRlb0VudGl0eTozNjgsbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eToyNjIsbWFpblZpZGVvRW50aXR5OjI2MSxtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eToxOTYsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTozMTIsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6MTgsbXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5OjI1OSxtdXNpY0FsYnVtUmVsZWFzZToxNyxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6MTksbXVzaWNBcnRpc3REZXRhaWw6MjEsCm11c2ljQXJ0aXN0OjIwLG11c2ljQXJ0aXN0VXNlckRldGFpbDoyMixtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6MjU3LG11c2ljTGlicmFyeUVkaXQ6MTIxLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTozMTgsbXVzaWNQbGF5bGlzdDoyNCxtdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eToyNDgsbXVzaWNTaGFyZToxMDAsbXVzaWNUcmFja0RldGFpbDoyOSxtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eToyMzQsbXVzaWNUcmFjazoyOCxtdXNpY1RyYWNrVXNlckRldGFpbDozMCxvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHk6MTY5LG9mZmxpbmVWaWRlb1BvbGljeToxMzAsb2ZmbGluZVZpZGVvU3RyZWFtczoxOTgsb2ZmbGluZWFiaWxpdHlFbnRpdHk6MjQ2LG9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eToyNDIscGFnZUhlYWRlckVudGl0eTo0OTUscGFydHlHYW1lUGFuZWxFbnRpdHk6NjE4LHNsaWRlckdhbWVQYW5lbEVudGl0eTo2MzMsCnBkcFN0YXRlRW50aXR5OjUyNCxwaW5uZWRQcm9kdWN0RW50aXR5OjI3MyxwbGF5YmFja0RhdGE6MTE5LHBsYXllclN0YXRlRW50aXR5OjMyMyxwbGF5bGlzdFRodW1ibmFpbEVkaXRzRW50aXR5OjUzOSxxdWFudGl0eUluY3JlbWVudGVyRW50aXR5OjM1NixyZWZyZXNoOjE0OCxzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHk6MjMxLHNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZDo0Nzksc2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5OjYzNCxzZXR0aW5nRW50aXR5OjI5NyxzdHJpbmdFbnRpdHk6MzgyLHN1Z2dlc3RlZEZlZWRiYWNrQ2hpcFN0YXRlRW50aXR5OjQ4NSx0cmFuc2ZlcjoxMjAsdHJlbmRpbmdPZmZlckVudGl0eTo0NjksdW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHk6NjM1LHZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5OjQ2MSx2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5OjU0NSx2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHk6NzYsdm90aW5nRW50aXR5OjU2MSwKeXRNYWluQ2hhbm5lbEVudGl0eToxNTIseW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eTo1NTMseXRNYWluRG93bmxvYWRlZFZpZGVvRW50aXR5OjE1NSx5dE1haW5WaWRlb0VudGl0eToxNTF9O18udkE9e307Zm9yKGxldCBbYSxiXW9mIE9iamVjdC5lbnRyaWVzKF8udUEpKXtsZXQgYz1hLGQ9YjtkJiYoXy52QVtkXT1jKX07KCgpPT57dmFyIGE9ZD0+bmV3IFVpbnQ4QXJyYXkoZCksYj1kPT57dmFyIGU9bmV3IFVpbnQ4QXJyYXkoZC5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8ZC5sZW5ndGg7ZisrKWVbZl09ZFtmXTtyZXR1cm4gZX0sYz1uZXcgVWludDhBcnJheShbMV0pO3JldHVybiBjLmxlbmd0aD09PTEmJmNbMF09PT0xP2E6Yn0pKCk7Xy5TYWE9Xy4kbCgieXQtaWRiLXByZWYtc3RvcmFnZSIse3NlOntwcmVmczp7UGQ6MX19LHNoYXJlZDohMSx1cGdyYWRlKGEsYil7YigxKSYmXy5vbChfLmtsKGEsInByZWZzIix7a2V5UGF0aDoia2V5In0pLCJieUV4cGlyYXRpb24iLCJleHBpcmF0aW9uVGltZXN0YW1wTXMiKX0sdmVyc2lvbjoxfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBqRTtfLmlFPWZ1bmN0aW9uKGEsYil7YT1bKGEmMTY3MTE2ODApPj4+MTYsKGEmNjUyODApPj4+OCxhJjI1NV07cmV0dXJuYHJnYmEoJHthWzBdfSwgJHthWzFdfSwgJHthWzJdfSwgJHtifSlgfTtfLmtFPWZ1bmN0aW9uKGEpe2lmKGEuc291cmNlcylmb3IobGV0IGIgb2YgYS5zb3VyY2VzKWlmKGIuY2xpZW50UmVzb3VyY2U/LmltYWdlTmFtZXx8Yi5jdXN0b21JbWFnZVNvdXJjZSYmXy5CKGIuY3VzdG9tSW1hZ2VTb3VyY2UsakUpPy5jbGllbnRSZXNvdXJjZT8uaWNvbilyZXR1cm4gYn07Cl8ubEU9ZnVuY3Rpb24oYSl7aWYoYT8uY2xpZW50UmVzb3VyY2U/LmltYWdlTmFtZSl7bGV0IGI9YS5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lO2E6e3N3aXRjaChiKXtjYXNlICJ5dF9wcmVtaXVtX3dvcmRtYXJrX2hlYWRlcl9saWdodCI6Y2FzZSAieXRfcHJlbWl1bV93b3JkbWFya19oZWFkZXJfZGFyayI6YT0iWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiO2JyZWFrIGE7Y2FzZSAieXRfd29yZG1hcmtfaGVhZGVyX2xpZ2h0IjpjYXNlICJ5dF93b3JkbWFya19oZWFkZXJfZGFyayI6YT0iTE9HT19XSVRIX1RFWFQiO2JyZWFrIGF9YT12b2lkIDB9cmV0dXJuIGF8fGdjYS5nZXQoYil8fGJ9aWYoYT8uY3VzdG9tSW1hZ2VTb3VyY2UmJihhPV8uQihhLmN1c3RvbUltYWdlU291cmNlLGpFKT8uY2xpZW50UmVzb3VyY2U/Lmljb24pKXJldHVybiBhfTtqRT1uZXcgXy5JKCJ5b3V0dWJlSWNvblNvdXJjZSIpO18ubUU9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7dmFyIGdjYT1uZXcgTWFwKFtbInl0X291dGxpbmVfYmFnX2JsYWNrXzI0IiwiYmFnIl1dKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5LRD1mdW5jdGlvbihhKXtpZihhPWEubWF0Y2goVWJhKSlyZXR1cm57aWNvbk5hbWU6YVsyXSxoeDphWzFdLnRvVXBwZXJDYXNlKCk9PT0iRklMTCIsaWNvblNpemU6TnVtYmVyKGFbM10pfX07Xy5MRD1uZXcgXy5WcygiSUNPTl9XSVpfQ09NUE9ORU5UX1RPS0VOIik7dmFyIFViYTtVYmE9L15ZVElDT05fKGZpbGx8b3V0bGluZSlfKFthLXpBLVowLTlfXSspX3MoWzAtOV0rKSQvaTsKXy5NRD1fLkwoKHtpY29uOmEsYWN0aXZlOmIsY2xhc3NOYW1lOmMsc3R5bGU6ZCx5cDplLGhjOmYscm9sZTpoLEdlOmssSGM6bCxhcmlhSGlkZGVuOm0sYXJpYUV4cGFuZGVkOm4sYXJpYUxhYmVsOnAsdGFiaW5kZXg6cixpZDp0LHNpemU6dixhZzp6LFpwOkUsZXI6QSx0aXRsZTpGfSk9Pnt2YXIgQz1fLk4oKCk9Pnt2YXIgUj1hPy4oKTtpZihSKXJldHVybiBfLktEKFIpfSx2b2lkIDAsIk0waTV2ZiIpLEc9KCk9PkMoKT8uaWNvbk5hbWU/P2E/LigpLEQ9KCk9PnY/LigpPz9DKCk/Lmljb25TaXplLEg9KCk9PmI/LigpPz9DKCk/Lmh4O3JldHVybiBfLksoXy5PLHtBOmEsdGhlbjooKT0+e3ZhciBSPV8ueSgpLnJlc29sdmUoXy5MRCk7cmV0dXJuIF8uSyhSLHtpY29uOkcseXA6ZSxoYzpmLEdlOmssSGM6bCxhcmlhRXhwYW5kZWQ6bix0YWJpbmRleDpyLGlkOnQsYWN0aXZlOkgsc2l6ZTpELHJvbGU6aCxjbGFzc05hbWU6YyxhcmlhSGlkZGVuOm0sYXJpYUxhYmVsOnAsc3R5bGU6KCk9Pgp7aWYoIUQoKSlyZXR1cm4gZD8uKCk7dmFyIE09YHdpZHRoOiAke0QoKX1weDsgaGVpZ2h0OiAke0QoKX1weDtgO3JldHVybiBkPy4oKT9gJHtNfSAke2QoKX1gOk19LHRpdGxlOkYsYWc6eixacDpFLGVyOkF9KX19KX0sImoiKTtfLk1ELmlkb21Db21wYXQ9e2NhbGxiYWNrczp7ZXI6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEtFLExFLG1jYSxuY2EsTkUscGNhLHFjYSxyY2EsdWNhLHdjYSx2Y2EsWEUseGNhLHljYSxBY2EsemNhO18uSkU9ZnVuY3Rpb24oYSl7YSY9MTY3NzcyMTU7dmFyIGI9WyhhJjE2NzExNjgwKT4+MTYsKGEmNjUyODApPj44LGEmMjU1XTthPWJbMF07dmFyIGM9YlsxXTtiPWJbMl07YT1OdW1iZXIoYSk7Yz1OdW1iZXIoYyk7Yj1OdW1iZXIoYik7aWYoYSE9KGEmMjU1KXx8YyE9KGMmMjU1KXx8YiE9KGImMjU1KSl0aHJvdyBFcnJvcigiUWNgIithKyJgIitjKyJgIitiKTtjPWE8PDE2fGM8PDh8YjtyZXR1cm4gYTwxNj8iIyIrKDE2Nzc3MjE2fGMpLnRvU3RyaW5nKDE2KS5zbGljZSgxKToiIyIrYy50b1N0cmluZygxNil9O0tFPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNvdXJjZXMhPT12b2lkIDB8fGEucHJvY2Vzc29yIT09dm9pZCAwfTsKTEU9ZnVuY3Rpb24oYSl7dmFyIGI9YS50aHVtYm5haWxzO2lmKGIpe2E9e3NvdXJjZXM6W119O2ZvcihsZXQgYyBvZiBiKWI9e30sYi51cmw9Yy51cmwsYi53aWR0aD1jLndpZHRoLGIuaGVpZ2h0PWMuaGVpZ2h0LGEuc291cmNlcy5wdXNoKGIpO3JldHVybiBhfX07bWNhPWZ1bmN0aW9uKGEsYixjKXtjPWM/W2NdOltdO2Eub3BhY2l0eSYmYy5wdXNoKGBvcGFjaXR5OiAke2Eub3BhY2l0eX07YCk7YiYmYS5wbGFjZWhvbGRlckNvbG9yPyhhPV8uTkQoYS5wbGFjZWhvbGRlckNvbG9yKSxjLnB1c2goYGJhY2tncm91bmQtY29sb3I6ICR7YX07YCkpOmMucHVzaCgiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Iik7cmV0dXJuIGMuam9pbigiICIpfTsKbmNhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9WyJ5dENvcmVJbWFnZUhvc3QiXTtiJiZmLnB1c2goYik7Y3x8Zi5wdXNoKCJ5dENvcmVJbWFnZUZpbGxQYXJlbnRIZWlnaHQiKTtkfHxmLnB1c2goInl0Q29yZUltYWdlRmlsbFBhcmVudFdpZHRoIik7c3dpdGNoKGEuY29udGVudE1vZGUpe2Nhc2UgIkNPTlRFTlRfTU9ERV9TQ0FMRV9BU1BFQ1RfRklUIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpdCIpO2JyZWFrO2Nhc2UgIkNPTlRFTlRfTU9ERV9TQ0FMRV9BU1BFQ1RfRklMTCI6Zi5wdXNoKCJ5dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaWxsIik7YnJlYWs7Y2FzZSAiQ09OVEVOVF9NT0RFX0NFTlRFUiI6Zi5wdXNoKCJ5dENvcmVJbWFnZUNvbnRlbnRNb2RlQ2VudGVyIik7YnJlYWs7ZGVmYXVsdDpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZVRvRmlsbCIpfWEuZmxpcEZvclJ0bExheW91dCYmZi5wdXNoKCJ5dENvcmVJbWFnZUZsaXBSdGwiKTsKc3dpdGNoKGUpe2Nhc2UgIlRPUF9TVEFSVCI6Zi5wdXNoKGRvY3VtZW50LmJvZHk/LmdldEF0dHJpYnV0ZSgiZGlyIik9PT0icnRsIj8ieXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcFJpZ2h0IjoieXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcExlZnQiKX1yZXR1cm4gZi5qb2luKCIgIil9O18uTUU9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIob3JpZW50YXRpb246IGxhbmRzY2FwZSkiKS5tYXRjaGVzfTtORT1mdW5jdGlvbihhKXt2YXIgYj17fTthPV8uQihhLnByb2Nlc3NvcixvY2EpO3ZhciBjPShjPWE/LmltYWdlVGludD8uY29sb3IpP18uTkQoYyk6dm9pZCAwO2MmJihiLmNvbG9yPWMpO2lmKGM9cGNhKGEpKWIubnk9YztpZihhPXFjYShhKSliLk56PWE7cmV0dXJuIGJ9OwpwY2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8ubGluZWFyR3JhZGllbnQ7aWYoYiYmYj8uY29sb3JzJiZiPy5jb2xvcnM/Lmxlbmd0aCE9PTApe3ZhciBjPWIuY29sb3JzLm1hcChlPT5fLk5EKGUpKTthPWIuYW5nbGUhPT12b2lkIDA/YCR7Yi5hbmdsZX1kZWcsIGA6IiI7dmFyIGQ9Yi5wb3NpdGlvbnM7aWYoIWR8fGQubGVuZ3RoIT09Yy5sZW5ndGgpcmV0dXJuYGxpbmVhci1ncmFkaWVudCgke2F9JHtjLmpvaW4oIiwgIil9KWA7Yj1jLm1hcCgoZSxmKT0+YCR7ZX0gJHtkW2ZdKjEwMH0lYCk7cmV0dXJuYGxpbmVhci1ncmFkaWVudCgke2F9JHtiLmpvaW4oIiwgIil9KWB9fTsKcWNhPWZ1bmN0aW9uKGEpe2lmKChhPWE/LnJhZGlhbEdyYWRpZW50KSYmYT8uY29sb3JzJiZhPy5jb2xvcnM/Lmxlbmd0aCE9PTApe3ZhciBiPWEuY29sb3JzLm1hcChrPT5fLk5EKGspKSxjPWEuY2VudGVyVW5pdD8/IkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIixkPWM9PT0iRElNRU5TSU9OX1VOSVRfUE9JTlQiPyJweCI6IiUiLGU9Yz09PSJESU1FTlNJT05fVU5JVF9GUkFDVElPTiI/MTAwOjE7Yz1gJHsoYS5jZW50ZXJYPz8uNSkqZX0ke2R9YDtkPWAkeyhhLmNlbnRlclk/Py41KSplfSR7ZH1gO3ZhciBmPWEucmFkaXVzO2U9IiI7ZT1mIT09dm9pZCAwP2BjaXJjbGUgJHtmfXB4YDoiZWxsaXBzZSI7dmFyIGg9YS5wb3NpdGlvbnM7aWYoIWh8fGgubGVuZ3RoIT09Yi5sZW5ndGgpcmV0dXJuYHJhZGlhbC1ncmFkaWVudCgke2V9IGF0ICR7Y30gJHtkfSwgJHtiLmpvaW4oIiwgIil9KWA7YT1iLm1hcCgoayxsKT0+YCR7a30gJHtoW2xdKjEwMH0lYCk7cmV0dXJuYHJhZGlhbC1ncmFkaWVudCgke2V9IGF0ICR7Y30gJHtkfSwgJHthLmpvaW4oIiwgIil9KWB9fTsKXy5PRT1mdW5jdGlvbihhKXtfLmpmLkdhKCgpPT57dHJ5e2EoKX1jYXRjaChiKXtfLk90KGIpfX0sOCl9O3JjYT1mdW5jdGlvbihhKXt2YXIgYj0oMSthLm1hcmdpbikqKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fHdpbmRvdy5pbm5lckhlaWdodCk7YS5qPWEuai5maWx0ZXIoYz0+e3ZhciBkPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7KGQ9Yj5kLnRvcCYmISFkLmhlaWdodCkmJmEuQihjKTtyZXR1cm4hZCYmYy5wYXJlbnROb2RlfSk7YS52PSExfTtfLlBFPWZ1bmN0aW9uKGEpe2lmKCJtYXRjaE1lZGlhImluIHdpbmRvdylyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoYS5sYW5kc2NhcGUrIiwiK2EucG9ydHJhaXQpLm1hdGNoZXN9O18uVEU9ZnVuY3Rpb24oKXtpZihRRT09PXZvaWQgMCl7bGV0IGE9Xy5QRShzY2EpO1FFPWEhPT12b2lkIDA/YTpfLlJFPj05MzAmJlNFPj01NTB8fF8uUkU+PTU1MCYmU0U+PTkzMH1yZXR1cm4gUUV9Owp1Y2E9ZnVuY3Rpb24oYSxiKXthLkptPWI7dGNhLm9ic2VydmUoYSl9Owp3Y2E9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGspe3ZhciBsPU1hdGgucm91bmQoKDAsXy5lbCkoKS1kKTtVRT1NYXRoLm1heCgwLFVFLTEpO2w9e2R1cmF0aW9uTG9hZGluZ01zOmwsd2lkdGhQeDphLm5hdHVyYWxXaWR0aCxoZWlnaHRQeDphLm5hdHVyYWxIZWlnaHQsdmlld1dpZHRoUHg6YS5jbGllbnRXaWR0aCx2aWV3SGVpZ2h0UHg6YS5jbGllbnRIZWlnaHQsZmluaXNoZWRMb2FkaW5nOiEwLGlzTG9hZEVycm9yOmssbG9hZE51bWJlcjplLGNvbmN1cnJlbnRMb2FkczpVRX07YiYmYi5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZSE9bnVsbCYmKGwuaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU9Yi5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZSk7aWYoIWspdHJ5e2xldCBtPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYS5zcmMpO2lmKG0mJm0ubGVuZ3RoPjApe2xldCBuPW1bbS5sZW5ndGgtMV07bi50cmFuc2ZlclNpemUmJihsLmRvd25sb2FkZWRCeXRlcz1uLnRyYW5zZmVyU2l6ZSl9fWNhdGNoKG0pe31fLkVwKCJ0aHVtYm5haWxMb2FkZWQiLApsKTtpZihrPVZFLmdldChhKSlhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGsub25Mb2FkKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixrLm9uRXJyb3IpO1ZFLmRlbGV0ZShhKX1pZihfLngoIndlYl9pbWFnZV9sb2FkX3RlbGVtZXRyeSIpKXt2Y2EoYSk7VUUrKztXRSsrO3ZhciBkPSgwLF8uZWwpKCksZT1XRSxmPSgpPT57YyghMSl9LGg9KCk9PntjKCEwKX07YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmKTthLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixoKTtWRS5zZXQoYSx7b25Mb2FkOmYsb25FcnJvcjpofSl9fTt2Y2E9ZnVuY3Rpb24oYSl7dmFyIGI9VkUuZ2V0KGEpO2ImJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGIub25Mb2FkKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixiLm9uRXJyb3IpLFVFPU1hdGgubWF4KDAsVUUtMSksVkUuZGVsZXRlKGEpKX07ClhFPWZ1bmN0aW9uKGEsYixjKXtiJiZfLlR0KGEsYik7YyYmYS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW1hZ2UtdW5sb2FkZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfTt4Y2E9ZnVuY3Rpb24oYSxiLGMsZCxlPSEwKXtmdW5jdGlvbiBmKCl7dmFyIGg9YyhiLGEpO2gmJmEuZ2V0QXR0cmlidXRlKCJzcmMiKSE9PWgmJihoIT09YS5zcmMmJihhLnNyYz1oKSx3Y2EoYSxkKSxkJiZYRShhLGQudGosZC5CbSkpfWEucmVtb3ZlQXR0cmlidXRlKCJzcmMiKTtkJiZYRShhLGQudGosZC5CbSk7YiYmKGU/dWNhKGEsZik6ZigpKX07eWNhPWZ1bmN0aW9uKGEsYixjKXtpZighYilyZXR1cm4hMTtiPWMoYixhKTtjPWEuZ2V0QXR0cmlidXRlKCJzcmMiKTtyZXR1cm4gYiYmYj09PWMmJmEuY29tcGxldGV9OwpBY2E9ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkPUtFKGEpP3suLi5hfTpMRShhKTtpZihkKXtkLmNvbnRlbnRNb2RlPWQuY29udGVudE1vZGU/P2IuY29udGVudE1vZGU7dmFyIGU9Yi5vbkxvYWQ7Yi5vbkxvYWQ9bD0+e3ZhciBtPWwudGFyZ2V0O2MmJm0ubmF0dXJhbFdpZHRoPT09MTIwfHxfLlN0KG0sInl0Q29yZUltYWdlTG9hZGVkIik7Yi5zZyYmbS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW1hZ2UtbG9hZGVkIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKTtlPy4obCl9O2IuQWImJmIuVGEmJihiLndpZHRoPWIuQWIpO2IuZGMmJmIuWWEmJihiLmhlaWdodD1iLmRjKTt2YXIgZj1fLmtFKGQpLGg9ZiYmXy5sRShmKSxrPU5FKGQpO2lmKGgpe2E9Zi5jbGllbnRSZXNvdXJjZT8uaW1hZ2VDb2xvcj9fLk5EKGYuY2xpZW50UmVzb3VyY2UuaW1hZ2VDb2xvcik6dm9pZCAwO2lmKGs9YXx8ay5jb2xvciliLnN0eWxlPWIuc3R5bGU/Yi5zdHlsZS5lbmRzV2l0aCgiOyIpP2Iuc3R5bGUrCmAgY29sb3I6ICR7a307YDpiLnN0eWxlK2A7IGNvbG9yOiAke2t9O2A6YGNvbG9yOiAke2t9O2A7cmV0dXJue3R5cGU6Imljb24iLGljb25OYW1lOmgsY29uZmlnOnsuLi5iLC4uLihiLmFsdD97fTp7YXJpYUhpZGRlbjoidHJ1ZSJ9KSxhcmlhTGFiZWw6Yi5hbHQscm9sZToiaW1nIn19fUtFKGEpfHwoYi5hbHQ9YS5hY2Nlc3NpYmlsaXR5JiZhLmFjY2Vzc2liaWxpdHkuYWNjZXNzaWJpbGl0eURhdGEmJmEuYWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5RGF0YS5sYWJlbHx8Yi5hbHQsYi5zdHlsZT1tY2EoYSxiLldyLGIuc3R5bGUpLGIuaXNQcmVsb2FkZWQ9ISFfLkIoYSx6Y2EpPy5pc1ByZWxvYWRlZCk7Yi5jbGFzc05hbWU9bmNhKGQsYi5jbGFzc05hbWUsYi5ZYSxiLlRhLGIub2JqZWN0UG9zaXRpb24pO2IudGo9Inl0Q29yZUltYWdlTG9hZGVkIjtyZXR1cm57dHlwZToiaW1hZ2UiLGltYWdlOmQsY29uZmlnOmJ9fX07emNhPW5ldyBfLkkoIndlYlRodW1ibmFpbERldGFpbHNFeHRlbnNpb25EYXRhIik7dmFyIG9jYT1uZXcgXy5JKCJib3JkZXJJbWFnZVByb2Nlc3NvciIpO3ZhciBDY2E7W18uQmNhLENjYV09Xy5KKF8uTUUoKSx2b2lkIDAsIk8zWDJ3ZCIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57Q2NhKF8uTUUoKSl9KTtfLmZGPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5tYXJnaW49YTt0aGlzLkI9Yjt0aGlzLmo9W107dGhpcy52PSExO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCgpPT57dGhpcy5vKCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLCgpPT57dGhpcy5vKCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRldWkiLCgpPT57dGhpcy5vKCl9KTt2YXIgYz1uZXcgXy5XdCgoMCxfLkNhKSh0aGlzLm8sdGhpcyksMTAwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwoKT0+e2MudigpfSwhMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKDAsXy5DYSkodGhpcy5vLHRoaXMpKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVzdGFydCIsKCk9Pnt0aGlzLmo9W119KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLCgwLF8uQ2EpKHRoaXMubyx0aGlzKSl9b2JzZXJ2ZShhKXt0aGlzLmouaW5jbHVkZXMoYSl8fAp0aGlzLmoucHVzaChhKX11bm9ic2VydmUoYSl7dGhpcy5qPXRoaXMuai5maWx0ZXIoYj0+YiE9PWEpfW8oKXt0aGlzLnZ8fChfLk9FKCgpPT57cmNhKHRoaXMpfSksdGhpcy52PSEwKX1kaXNjb25uZWN0KCl7dGhpcy5qPVtdfX07dmFyIHNjYSxRRSxTRTtzY2E9e2xhbmRzY2FwZToiKG1pbi13aWR0aDogOTMxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLHBvcnRyYWl0OiIobWluLXdpZHRoOiA1NTBweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIn07UUU9dm9pZCAwO18uZ0Y9dm9pZCAwO18uUkU9d2luZG93LmlubmVyV2lkdGg7U0U9d2luZG93LmlubmVySGVpZ2h0O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57Xy5nRj1RRT12b2lkIDB9KTt2YXIgdGNhPSJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3c/bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChhLGIpPT57YS5maWx0ZXIoYz0+Yy5pbnRlcnNlY3Rpb25SZWN0LmhlaWdodD4wKS5mb3JFYWNoKCh7dGFyZ2V0OmN9KT0+e2MuSm0/LigpO2IudW5vYnNlcnZlKGMpfSl9LHtyb290TWFyZ2luOiIxMCUiLHRocmVzaG9sZDouMDF9KTpfLlRFKCk/e29ic2VydmUoYSl7Xy5qZi5HYSgoKT0+e3RyeXthLkptPy4oKX1jYXRjaChiKXtfLk90KGIpfX0sOCl9LHVub2JzZXJ2ZSgpe319Om5ldyBfLmZGKC4xLGE9PntfLmpmLkdhKCgpPT57dHJ5e2EuSm0/LigpfWNhdGNoKGIpe18uT3QoYil9fSw4KX0pO3ZhciBWRT1uZXcgV2Vha01hcCxXRT0wLFVFPTA7Xy5oRj1fLkwoYT0+e3ZhciBiPSExLGM9Xy51RSgiaW1nIixkPT57Xy5ZdSgoKT0+e2I9ITA7ZC5vbmxvYWQ9bnVsbH0pfSk7Xy5uRSgoKT0+e3ZhciBkPWEuZGF0YT8uKCksZT1hLkdsPy4oKS5TZyxmPWEuY29uZmlnKCksaD1jLnZhbHVlO2lmKGgpe3ZhciBrPShsLG0pPT57aWYoIWIpcmV0dXJuIGU/ZShsLG0pOmx9O18ueCgid2ViX2ltYWdlX2RvbnRfcmVsb2FkX3NhbWVfc3JjIikmJnljYShoLGQsayk/Xy54KCJ3ZWJfaW1hZ2VfZG9udF9yZWxvYWRfc2FtZV9zcmNfc2ltdWxhdGVfbG9hZCIpJiZoLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2FkIix7YnViYmxlczohMSxjYW5jZWxhYmxlOiExLGRldGFpbDp7bWVzc2FnZToiU2ltdWxhdGluZyBsb2FkIGV2ZW50IGZvciBhbHJlYWR5IGxvYWRlZCBpbWFnZSJ9fSkpOnhjYShoLGR8fG51bGwsayxmLGEubGF6eT8uKCkpfX0sIlJmRWdCYyIpO3JldHVybiBfLksoImltZyIse2VsOmMsY2xhc3M6KCk9PmEuY29uZmlnKCkuY2xhc3NOYW1lLAphbHQ6KCk9PmEuY29uZmlnKCkuYWx0LCJhcmlhLWhpZGRlbiI6KCk9PmEuY29uZmlnKCkuYXJpYUhpZGRlbiwiZGF0YS1kaXNhYmxlZCI6KCk9PmEuY29uZmlnKCkuaGMsc3R5bGU6KCk9PmEuY29uZmlnKCkuc3R5bGUsd2lkdGg6KCk9PmEuY29uZmlnKCkud2lkdGgsaGVpZ2h0OigpPT5hLmNvbmZpZygpLmhlaWdodCxkcmFnZ2FibGU6KCk9PmEuY29uZmlnKCkuZHJhZ2dhYmxlLCJvbjplcnJvciI6ZD0+YS5jb25maWcoKS5vbkVycm9yPy4oZCksIm9uOmxvYWQiOmQ9PmEuY29uZmlnKCkub25Mb2FkPy4oZCl9KX0sImwiKTtfLmhGLmlkb21Db21wYXQ9ITA7dmFyIGlGO18uakY9Xy5MKGE9Pnt2YXIgW2IsY109Xy5KKCExLHZvaWQgMCwiVEZhRUtkIiksZD0oKT0+e3ZhciBmPWEuZGF0YSgpO3JldHVybiBLRShmKT97Li4uZn06TEUoZik/P3t9fSxlPSgpPT4hZCgpLnNvdXJjZXM/Lmxlbmd0aHx8YigpO3JldHVybiBfLksoXy5PLHtBOigpPT57aWYoIV8ueCgid2ViX2xpbmVhcl9ncmFkaWVudF9raWxsc3dpdGNoIikpcmV0dXJuIE5FKGQoKSkubnl8fE5FKGQoKSkuTnp9LHRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q29yZUltYWdlSG9zdCIsInl0Q29yZUltYWdlR3JhZGllbnRDb250YWluZXIiLHt5dENvcmVJbWFnZUxvYWRlZDplfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Q29yZUltYWdlR3JhZGllbnQiLCJhcmlhLWhpZGRlbiI6InRydWUiLHN0eWxlOl8uSUUoe2JhY2tncm91bmQ6Zn0pfSksXy5LKGlGLHsuLi5hLG9uTG9hZDpoPT57YyghMCk7YS5vbkxvYWQ/LihoKX19KSksVzooKT0+Xy5LKGlGLHsuLi5hfSl9KX0sIm0iKTsKaUY9Xy5MKGE9Pnt2YXIgYj0oKT0+QWNhKGEuZGF0YSgpLHtjb250ZW50TW9kZTphLmNvbnRlbnRNb2RlPy4oKSx0ajphLnRqPy4oKSxpc1ByZWxvYWRlZDphLmlzUHJlbG9hZGVkPy4oKSxzZzphLnNnPy4oKSxCbTphLkJtPy4oKSx5cjphLnlyPy4oKSxZYTphLllhPy4oKSxUYTphLlRhPy4oKSxvYmplY3RQb3NpdGlvbjphLm9iamVjdFBvc2l0aW9uPy4oKSxBYjphLkFiPy4oKSxkYzphLmRjPy4oKSxXcjphLldyPy4oKSxOZzphLk5nPy4oKSxpc1RvZ2dsZWQ6YS5pc1RvZ2dsZWQ/LigpLGFsdDphLmFsdD8uKCksY2xhc3NOYW1lOmEuY2xhc3NOYW1lPy4oKSxvbkVycm9yOmEub25FcnJvcixvbkxvYWQ6YS5vbkxvYWQsc3R5bGU6YS5zdHlsZT8uKCksY29sb3I6YS5jb2xvcj8uKCksd2lkdGg6YS53aWR0aD8uKCksaGVpZ2h0OmEuaGVpZ2h0Py4oKSxhcmlhSGlkZGVuOmEuYXJpYUhpZGRlbj8uKCksZHJhZ2dhYmxlOmEuZHJhZ2dhYmxlPy4oKSxoYzphLmhjPy4oKSxzaXplOmEuc2l6ZT8uKCksCmltYWdlQ2xhc3NpZmljYXRpb25UeXBlOmEuaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU/LigpfSxhLlV3Py4oKSk7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmIoKT8udHlwZT09PSJpbWFnZSJ9LCgpPT5fLksoXy5oRix7ZGF0YTooKT0+YigpLmltYWdlLEdsOntTZzooYyxkKT0+e3ZhciBlPWIoKS5pbWFnZS5zb3VyY2VzO3ZhciBmPWIoKS5jb25maWcuaXNQcmVsb2FkZWQsaD1iKCkuY29uZmlnLk5nLGs9YigpLmNvbmZpZy5BYixsPWIoKS5jb25maWcuZGMsbT1iKCkuY29uZmlnLnlyO2lmKCFlfHxlLmxlbmd0aD09PTB8fGVbMF0uY2xpZW50UmVzb3VyY2UpZT1udWxsO2Vsc2UgaWYoZiYmZVswXS51cmwpZT1lWzBdLnVybDtlbHNle2g9PT12b2lkIDAmJihoPSEwKTtkPWg/Xy5tRSooa3x8ZD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/LndpZHRofHwwKTpfLm1FKihsfHxkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0fHwwKTtiOmlmKGQpe2lmKG0pZm9yKGxldCBuIG9mIGUpaWYoZj0Kbi51cmw/LmluZGV4T2YobSksZiE9PXZvaWQgMCYmZj49MCl7ZT1uO2JyZWFrIGJ9Zm9yKGxldCBuIG9mIGUpaWYobi53aWR0aCYmbi5oZWlnaHQmJihoJiZuLndpZHRoPj1kfHwhaCYmbi5oZWlnaHQ+PWQpKXtlPW47YnJlYWsgYn1mb3IobT1lLmxlbmd0aC0xO20+PTA7bS0tKWlmKGgmJmVbbV0ud2lkdGh8fCFoJiZlW21dLmhlaWdodCl7ZT1lW21dO2JyZWFrIGJ9ZT1lWzBdfWVsc2UgZT1lLmxlbmd0aD49MT9lW2UubGVuZ3RoLTFdOm51bGw7ZT1lPy51cmw/ZS51cmw6ZT8uaW1hZ2VEYXRhP2UuaW1hZ2VEYXRhOm51bGx9cmV0dXJuIGV8fCIifX0sY29uZmlnOigpPT57dmFyIGM9YigpLmNvbmZpZztmb3IobGV0IGQgaW4gYyljW2RdPT09dm9pZCAwJiZkZWxldGUgY1tkXTtyZXR1cm4gY30sbGF6eTphLlRifSkpLF8uSyhfLkNFLHt3aGVuOigpPT5iKCk/LnR5cGU9PT0iaWNvbiJ9LCgpPT5fLksoXy5NRCx7aWNvbjooKT0+YigpLmljb25OYW1lLHJvbGU6KCk9PmIoKS5jb25maWcucm9sZSwKY2xhc3NOYW1lOigpPT5iKCkuY29uZmlnLmNsYXNzTmFtZSxzdHlsZTooKT0+YigpLmNvbmZpZy5zdHlsZSxhcmlhTGFiZWw6KCk9PmIoKS5jb25maWcuYXJpYUxhYmVsLGFyaWFIaWRkZW46KCk9PmIoKS5jb25maWcuYXJpYUhpZGRlbixoYzooKT0+YigpLmNvbmZpZy5oYyxhY3RpdmU6KCk9PmIoKS5jb25maWcuaXNUb2dnbGVkLHNpemU6KCk9PmIoKS5jb25maWcuc2l6ZX0pKSl9LCJuIik7Xy5qRi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2NhbGxiYWNrOiEwLG9uRXJyb3I6ITAsb25Mb2FkOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTko9bmV3IF8uSSgic2lnbmFsQWN0aW9uIik7Xy5PSj1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9ITEsYz1udWxsKXt0aGlzLmFjdGlvbk5hbWU9YTt0aGlzLmo9Yjt0aGlzLmFyZ3M9Yzt0aGlzLnJldHVyblZhbHVlPVtdfX07Xy5QSj1uZXcgTWFwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmhFPW5ldyBfLkkoImxheW91dFByb3BlcnRpZXMiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rRj1uZXcgXy5WcygiREFSS19USEVNRV9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxGPW5ldyBfLlZzKCJBUFBfRElSRUNUSU9OX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udUY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iPy5pbml0aWFsO3JldHVybiBfLk4oKCk9PntfLkJ2KCEwKTtyZXR1cm4gYz1hKGMpfSx7ZXF1YWxzOmI/LmlzRXF1YWx9LCJyU2xLc2MiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBFY2EsRmNhLHZGLEdjYSx5RixCRixDRixKY2EsTGNhLERGLEVGLE5jYSxIRixPY2EsUWNhLElGLFJjYSxKRixTY2EsS0YsTEYsVGNhLE1GLFVjYSxORixWY2EsV2NhLEljYSxIY2E7CkVjYT1mdW5jdGlvbihhKXt2YXIgYj17c3RhdGU6Ik5PTkUifSxjPXtSaDpkPT57c3dpdGNoKGQuQ2IudG9rZW4pe2Nhc2UgXy5QYmEuQ2IudG9rZW46dmFyIGU9YjticmVhaztjYXNlIF8uT2JhLkNiLnRva2VuOmU9YS5XSDticmVhaztjYXNlIF8uTEMuQ2IudG9rZW46ZT1hLnJvb3RFbGVtZW50O2JyZWFrO2Nhc2UgXy5MYmEuQ2IudG9rZW46ZT1hLllKO2JyZWFrO2Nhc2UgXy5NQi5DYi50b2tlbjplPWEuRm87YnJlYWs7Y2FzZSBfLk1iYS5DYi50b2tlbjplPWEucmVuZGVyZXJEYXRhO2JyZWFrO2Nhc2UgXy5OYmEuQ2IudG9rZW46ZT1hLm9KO2JyZWFrO2Nhc2UgXy5OQi5DYi50b2tlbjplPWEucnZ9aWYoZSlkPWU7ZWxzZSBhOntmb3IoZT1jLnBhcmVudDtlOyl7dmFyIGY9ZTtpZihmLlJoKXtkPWYuUmgoZCk7YnJlYWsgYX1lPWUucGFyZW50fWU9ZC5DYi50b2tlbjtmPV8uV0MuZ2V0KGUpO2YhPT12b2lkIDA/ZD1mOihmPWQuQ2IuTXosZC5DYi5LcD8oZD1kLkNiLktwKCksZSYmZj09PQoicm9vdCImJl8uV0Muc2V0KGUsZCkpOmQ9Xy5hdSl9cmV0dXJuIGR9fTtfLkJ1KGMpO3JldHVybiBjfTtGY2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9O3ZGPWZ1bmN0aW9uKGEsYil7aWYoYT09PWIpYT0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkmJkFycmF5LmlzQXJyYXkoYikpYTppZihfLnlhKGEpJiZfLnlhKGIpJiZhLmxlbmd0aD09Yi5sZW5ndGgpe3ZhciBjPWEubGVuZ3RoLGQ9dkZ8fEZjYTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKCFkKGFbZV0sYltlXSkpe2E9ITE7YnJlYWsgYX1hPSEwfWVsc2UgYT0hMTtlbHNlIGlmKF8uQWEoYSkmJl8uQWEoYikpYTppZihfLkZ4KGEpLmxlbmd0aCE9Xy5GeChiKS5sZW5ndGgpYT0hMTtlbHNle2ZvcihjIGluIGEpaWYoIXZGKGFbY10sYltjXSkpe2E9ITE7YnJlYWsgYX1hPSEwfWVsc2UgYT0hMTtyZXR1cm4gYX07Xy53Rj1mdW5jdGlvbihhLGIsYyl7Yz09PXZvaWQgMD9kZWxldGUgYVtiLm5hbWVdOmFbYi5uYW1lXT1jfTsKR2NhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPSExO2FbXy5xRl0/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkhiIiksMixhLnRhZ05hbWUpO30pOl8uWnQmJmQhPT1fLlhDP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJFYiIpLDIsYS50YWdOYW1lKTt9KTooYS50ZXh0Q29udGVudCE9PSIiJiZhLnRleHRDb250ZW50IT09bnVsbHx8YS5jaGlsZEVsZW1lbnRDb3VudD4wKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkZiIiksMixhLnRhZ05hbWUpO30pO3ZhciBmPV8uUnUoKCk9Pnt2YXIgaD1fLmt1KF8uenYpLGs9KCk9Pnt2YXIgbD0oXy5PQi5zdj8/Xy52ZChhKSkuX193aXpkaXNwYXRjaGVyO2w9RWNhKHtyb290RWxlbWVudDp7dmFsdWU6YX0sRm86Y3x8bD8ubnc/LigpLHJ2Omx9KTtsPV8uJHQobCk7dmFyIG09Xy5MQighMCk7Xy5ndisrO3RyeXtfLmJDKGIoKSxhKSwKXy5JQSghMSl9Y2F0Y2gobil7dGhyb3cgXy5JQSghMCksbjt9ZmluYWxseXtfLkxCKG0pLF8uJHQobCl9fTt0cnl7cmV0dXJuIGQ9PT1fLlhDP18udXYoaywhMSk6Xy5pdyhrKX1jYXRjaChsKXt0aHJvdyBfLlV1KGwsNCksbDt9ZmluYWxseXtfLmt1KGgpfX0pO2FbXy5xRl09ITA7cmV0dXJuKCk9PntlP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJHYiIpLDIsYS50YWdOYW1lKTt9KTooYS50ZXh0Q29udGVudD0iIixmKCksZT0hMCxhW18ucUZdPSExKX19O18ueEY9ZnVuY3Rpb24oYSxiLGMpe2M/PyhjPXt9KTt2YXIgZD1jLkZvLGU9ISFfLkt1LkpxO2I9R2NhKGEsYixkLGMuSWspO2UmJl8uUEIoYSxkKTtfLlZCLmxvZyhhKTtyZXR1cm4gYn07Cl8uQUY9ZnVuY3Rpb24oYSl7dmFyIGI9e2FuZHJvaWRJbmNsdWRlRm9udFBhZGRpbmc6ITF9LGM9MCxkPVtdLGU9W10sZj1bXTtpZihhLnNpbXBsZVRleHQpcmV0dXJuIGIuY29udGVudD1hLnNpbXBsZVRleHQsYjtpZihhLnJ1bnM9PT12b2lkIDApcmV0dXJuIGIuY29udGVudD0iIixiO2ZvcihsZXQgbSBvZiBhLnJ1bnMpe3ZhciBoPW0udGV4dDthPWg/Lmxlbmd0aDtpZihoJiZhKXtkLnB1c2goaCk7aWYobS5ib2xkfHxtLml0YWxpY3N8fG0uc3RyaWtldGhyb3VnaHx8bS51bmRlcmxpbmV8fG0udGV4dENvbG9yIT1udWxsJiZtLnRleHRDb2xvciE9PTB8fG0uZGVlbXBoYXNpemUpe2g9ZTt2YXIgaz1oLnB1c2gsbD17c3RhcnRJbmRleDpjLGxlbmd0aDphfTttLmJvbGQmJihsLndlaWdodExhYmVsPSJGT05UX1dFSUdIVF9NRURJVU0iKTttLml0YWxpY3MmJihsLml0YWxpYz0hMCk7bS5zdHJpa2V0aHJvdWdoJiYobC5zdHJpa2V0aHJvdWdoPSJMSU5FX1NUWUxFX1NJTkdMRSIpO20udW5kZXJsaW5lJiYKKGwudW5kZXJsaW5lPSJMSU5FX1NUWUxFX1NJTkdMRSIpO20udGV4dENvbG9yIT1udWxsJiZtLnRleHRDb2xvciE9PTA/bC5mb250Q29sb3I9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgiZGFyayIpP20uZGFya01vZGVUZXh0Q29sb3J8fG0udGV4dENvbG9yOm0udGV4dENvbG9yOm0uZGVlbXBoYXNpemUmJihsLmZvbnRDb2xvcj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCJkYXJrIik/eUYoIiNhYWEiKTp5RigiIzYwNjA2MCIpKTtrLmNhbGwoaCxsKX1tLm5hdmlnYXRpb25FbmRwb2ludCYmKGg9ZixrPWgucHVzaCxsPXtzdGFydEluZGV4OmMsbGVuZ3RoOmEsb25UYXA6e2lubmVydHViZUNvbW1hbmQ6bS5uYXZpZ2F0aW9uRW5kcG9pbnR9fSxtLmxvZ2dpbmdEaXJlY3RpdmVzJiZfLndGKGwsekYsbS5sb2dnaW5nRGlyZWN0aXZlcyksay5jYWxsKGgsbCkpO2MrPWF9fWIuY29udGVudD1kLmpvaW4oIiIpO2Iuc3R5bGVSdW5zPWUubGVuZ3RoPwplOnZvaWQgMDtiLmNvbW1hbmRSdW5zPWYubGVuZ3RoP2Y6dm9pZCAwO3JldHVybiBifTt5Rj1mdW5jdGlvbihhKXt2YXIgYj1wYXJzZUludDtpZighSGNhLnRlc3QoYSkpdGhyb3cgRXJyb3IoIlBjYCIrYSk7YS5sZW5ndGg9PTQmJihhPWEucmVwbGFjZShJY2EsIiMkMSQxJDIkMiQzJDMiKSk7cmV0dXJuIGIoImZmIithLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDEpLDE2KX07QkY9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gT2JqZWN0LmVudHJpZXMoYSkuZmlsdGVyKChbLGJdKT0+YiE9PXZvaWQgMCYmYiE9PW51bGwmJmIhPT0iIikubWFwKChbYixjXSk9PmAke2IucmVwbGFjZSgvKFthLXpBLVpdKSg/PVtBLVpdKS9nLCIkMS0iKS50b0xvd2VyQ2FzZSgpfTogJHtjfTtgKS5qb2luKCIiKXx8dm9pZCAwfTsKQ0Y9ZnVuY3Rpb24oYSl7aWYoIWE/LnZhbHVlfHwhYT8udW5pdClyZXR1cm4iIjtzd2l0Y2goYS51bml0KXtjYXNlICJESU1FTlNJT05fVU5JVF9GUkFDVElPTiI6dmFyIGI9IiUiO2JyZWFrO2RlZmF1bHQ6Yj0icHgifWE9YS52YWx1ZTtiPT09IiUiJiYoYSo9MTAwKTtyZXR1cm5gJHthfSR7Yn1gfTtKY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYn07Zm9yKGxldCBbZCxlXW9mIG5ldyBNYXAoW1sib250b3VjaHN0YXJ0IixhLm9udG91Y2hzdGFydF0sWyJvbnRvdWNoZW5kIixhLm9udG91Y2hlbmRdLFsib250b3VjaG1vdmUiLGEub250b3VjaG1vdmVdXSkpe2xldCBmPWQsaD1lO2JbZl09az0+e2NbZl0/LihrKTtoKGspfX19OwpMY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bInl0QXR0cmlidXRlZFN0cmluZ0xpbmsiXTtiPy51Ynx8KGI/LmlzT3ZlcmxheT9jLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtPdmVybGF5Q2FsbFRvQWN0aW9uQ29sb3IiKTpjLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvciIpLGI/LlhhJiZjLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IiKSk7Yz17Y2xhc3NOYW1lOmMuam9pbigiICIpLHRhYmluZGV4OiIwIn07dmFyIGQ9YS5vblRhcHx8YS5vbkxvbmdQcmVzcztpZighZClyZXR1cm4gYzt2YXIgZT1hLm9uVGFwT3B0aW9ucz8uYWNjZXNzaWJpbGl0eUluZm8/LmFjY2Vzc2liaWxpdHlMYWJlbDtlJiYoYy5hcmlhTGFiZWw9ZSk7Yj1fLmJFKHtiaDpkLHV4OmMsSWQ6ISFiPy5JZCxxZDohMH0pO2Eub25Mb25nUHJlc3MmJihkPW5ldyBLY2EoKCk9Pnt2YXIgZj1fLlJEKGEub25Mb25nUHJlc3MpO2YmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoZil9KSwKYiYmSmNhKGQsYikpO3JldHVybiBifHxjfTtERj1mdW5jdGlvbihhKXt2YXIgYj1hO2E8PTE2Nzc3MjE1JiYoYis9cGFyc2VJbnQoImZmMDAwMDAwIiwxNikpO3JldHVybiBfLk5EKGIpfTtFRj1mdW5jdGlvbih7aXNEYXJrVGhlbWU6YSxleHRlbnNpb246YixPcjpjfSl7dmFyIGQ9dm9pZCAwO2lmKGI9Yj8uY29sb3JNYXApe2E9YT8iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjtmb3IobGV0IGUgb2YgYilpZihhPT09ZS5rZXkpe2Q9ZS52YWx1ZTticmVha319ZD09bnVsbCYmYyYmKGQ9Yyk7aWYoZClyZXR1cm4gREYoZCl9OwpOY2E9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz17fTtpZihhLnRleHREZWNvcmF0b3Ipe3ZhciBkPWEudGV4dERlY29yYXRvcjt2YXIgZT17fTt2YXIgZj1fLkIoZCxfLkZGKSxoPV8uQihkLEdGKTtpZihmKXtkPU9iamVjdDtoPWQuYXNzaWduO2xldCBrPXt9OyhiPUVGKHtleHRlbnNpb246Xy5CKGYuaGlnaGxpZ2h0VGV4dERlY29yYXRvckV4dGVuc2lvbnMsTWNhKSxpc0RhcmtUaGVtZTpiLE9yOmYuYmFja2dyb3VuZENvbG9yfSkpJiYoa1siYmFja2dyb3VuZC1jb2xvciJdPWIpO2YuYmFja2dyb3VuZENvcm5lclJhZGl1cyE9PXZvaWQgMCYmKGtbImJvcmRlci1yYWRpdXMiXT1gJHtmLmJhY2tncm91bmRDb3JuZXJSYWRpdXN9cHhgKTtmLmxlZnRQYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1sZWZ0Il09YCR7Zi5sZWZ0UGFkZGluZ31weGApO2YucmlnaHRQYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1yaWdodCJdPWAke2YucmlnaHRQYWRkaW5nfXB4YCk7Zi50b3BQYWRkaW5nIT09CnZvaWQgMCYmKGtbInBhZGRpbmctdG9wIl09YCR7Zi50b3BQYWRkaW5nfXB4YCk7Zi5ib3R0b21QYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1ib3R0b20iXT1gJHtmLmJvdHRvbVBhZGRpbmd9cHhgKTtoLmNhbGwoZCxlLGspfWVsc2UgaCYmKGY9T2JqZWN0LGQ9Zi5hc3NpZ24sYj1iPyIjMmJhNjQwIjoiIzEwNzUxNiIsYj1oLmNvbG9yP0RGKGguY29sb3IpOmIsZC5jYWxsKGYsZSx7cGFkZGluZzoiMnB4IiwiYm9yZGVyLXRvcCI6YHNvbGlkICR7Yn0gMnB4YCwiYm9yZGVyLWJvdHRvbSI6YHNvbGlkICR7Yn0gMnB4YCxiYWNrZ3JvdW5kOmBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2J9IDNweCwgcmdiYSgwLCAwLCAwLCAwKSAzcHgpLCBsaW5lYXItZ3JhZGllbnQoMzE1ZGVnLCAke2J9IDNweCwgcmdiYSgwLCAwLCAwLCAwKSAzcHgpYH0pKTtlPU9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PTA/ZTp2b2lkIDA7Yy5zdHlsZT1lO2E9YS50ZXh0RGVjb3JhdG9yO2U9W107Yj1fLkIoYSwKR0YpO18uQihhLF8uRkYpP2UucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSGlnaGxpZ2h0VGV4dERlY29yYXRvciIpOmImJmUucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nQnJhY2tldFRleHREZWNvcmF0b3IiKTthPWUuam9pbigiICIpO2MuY2xhc3NOYW1lPWE7Yy5kaXI9ImF1dG8ifXJldHVybiBjfTtIRj1mdW5jdGlvbih7Y29uZmlnOmEsaW1hZ2U6YixnajpjLE9sOmQscnVuOmUsdGFnOmYsdGV4dExlbmd0aDpoLHN0YXJ0SW5kZXg6az0wLGxlbmd0aDpsfSl7az09PXZvaWQgMCYmKGs9MCk7ZT17cnVuOmUsc3RhcnRJbmRleDprLHdsOmwhPT12b2lkIDA/aytsOmgsdGFnOmZ9O2ImJihlLmltYWdlPWIpO2MmJihlLmdqPWMpO2QmJihlLk9sPWQpO2EmJihlLmNvbmZpZz1hKTtyZXR1cm4gZX07Ck9jYT1mdW5jdGlvbihhLGIpe2lmKGEud2VpZ2h0KXJldHVybiBhLndlaWdodDtzd2l0Y2goYS53ZWlnaHRMYWJlbCl7Y2FzZSAiRk9OVF9XRUlHSFRfVEhJTiI6cmV0dXJuIDEwMDtjYXNlICJGT05UX1dFSUdIVF9FWFRSQV9MSUdIVCI6cmV0dXJuIDIwMDtjYXNlICJGT05UX1dFSUdIVF9MSUdIVCI6cmV0dXJuIDMwMDtjYXNlICJGT05UX1dFSUdIVF9NRURJVU0iOnJldHVybiA1MDA7Y2FzZSAiRk9OVF9XRUlHSFRfU0VNSV9CT0xEIjpyZXR1cm4gNjAwO2Nhc2UgIkZPTlRfV0VJR0hUX0JPTEQiOnJldHVybiBiPzkwMDo3MDA7Y2FzZSAiRk9OVF9XRUlHSFRfRVhUUkFfQk9MRCI6cmV0dXJuIDgwMDtjYXNlICJGT05UX1dFSUdIVF9CTEFDSyI6cmV0dXJuIDkwMDtkZWZhdWx0OnJldHVybiA0MDB9fTsKUWNhPWZ1bmN0aW9uKGEsYj0hMSxjKXtiPUVGKHtleHRlbnNpb246Xy5CKGEuc3R5bGVSdW5FeHRlbnNpb25zLFBjYSksaXNEYXJrVGhlbWU6YixPcjphLmZvbnRDb2xvcn0pO3ZhciBkPVtdO2ImJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpO2EuaXRhbGljJiZkLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0l0YWxpY2l6ZWQiKTthLnVuZGVybGluZSYmYS5zdHJpa2V0aHJvdWdoP2QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lU3RyaWtldGhyb3VnaCIsSUYoYS51bmRlcmxpbmUpKTphLnVuZGVybGluZT9kLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1VuZGVybGluZWQiLElGKGEudW5kZXJsaW5lKSk6YS5zdHJpa2V0aHJvdWdoJiZkLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2giLElGKGEuc3RyaWtldGhyb3VnaCkpO2lmKGEuYmFzZWxpbmVPZmZzZXQpe2E6c3dpdGNoKGEuYmFzZWxpbmVPZmZzZXQpe2Nhc2UgIkJBU0VMSU5FX09GRlNFVF9TVUJTQ1JJUFQiOnZhciBlPQoieXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRTdWJzY3JpcHQiO2JyZWFrIGE7Y2FzZSAiQkFTRUxJTkVfT0ZGU0VUX1NVUEVSU0NSSVBUIjplPSJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1cGVyc2NyaXB0IjticmVhayBhO2RlZmF1bHQ6ZT0ieXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRVbmtub3duIn1kLnB1c2goZSl9ZD1kLmpvaW4oIiAiKTtlPXt9O2lmKGEud2VpZ2h0fHxhLndlaWdodExhYmVsKWUuZm9udFdlaWdodD1PY2EoYSxjPy5xaCkudG9TdHJpbmcoKTtiJiYoZS5jb2xvcj1iKTtyZXR1cm57Y2xhc3NOYW1lOmQsc3R5bGU6ZX19O0lGPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJMSU5FX1NUWUxFX0RPVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ0xpbmVTdHlsZURvdCI7Y2FzZSAiTElORV9TVFlMRV9OT05FIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlTm9uZSI7ZGVmYXVsdDpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlU2luZ2xlIn19OwpSY2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlRFWFRfQUxJR05NRU5UX0xFRlQiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGVmdCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfUklHSFQiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50UmlnaHQiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0NFTlRFUiI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRDZW50ZXIiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0pVU1RJRklFRCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRKdXN0aWZpZWQiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0xBWU9VVF9TVEFSVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRMYXlvdXRTdGFydCI7ZGVmYXVsdDpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudFVua25vd24ifX07CkpGPWZ1bmN0aW9uKGEsYil7cmV0dXJuISFifHwhKGEuY29tbWFuZFJ1bnMmJmEuY29tbWFuZFJ1bnMubGVuZ3RoIT09MHx8YS5wYXJhZ3JhcGhTdHlsZVJ1bnMmJmEucGFyYWdyYXBoU3R5bGVSdW5zLmxlbmd0aCE9PTApfTtTY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hLnJ1bjsoYy5vblRhcCE9PXZvaWQgMHx8Yy5vbkxvbmdQcmVzcyE9PXZvaWQgMCkmJl8uQihjLHpGKSYmXy5KeChiLHtkYXRhOntsb2dnaW5nRGlyZWN0aXZlczpfLkIoYyx6Ril9LG9ic2VydmVyOl8ueSgpLnJlc29sdmUoXy5MeCksTmM6Xy5uRixlYjpfLm1GLGxheWVyOmIubGF5ZXJ9KX19O0tGPWZ1bmN0aW9uKGEsYixjLGQpe2ZvcihsZXQgZSBvZiBhLmxjKXtpZih0eXBlb2YgZT09PSJzdHJpbmciKXRocm93IEVycm9yKCJZYyIpO2lmKGUuc3RhcnQ8PWImJmM8PWUuZW5kKXtLRihlLGIsYyxkKTtyZXR1cm59fWEubGMucHVzaCh7ZGF0YTpkLGxjOltdLHN0YXJ0OmIsZW5kOmN9KX07CkxGPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBkPWIubGMubGVuZ3RoO2Q+PTA7ZC0tKXtsZXQgZT1iLmxjW2RdO3ZhciBjPWIubGNbZC0xXTtsZXQgZj1kPT09Yi5sYy5sZW5ndGg/Yi5lbmQ6ZS5zdGFydDtjPWQ9PT0wP2Iuc3RhcnQ6Yy5lbmQ7ZiE9PWMmJmIubGMuc3BsaWNlKGQsMCxhLnNsaWNlKGMsZikpO2UmJkxGKGEsZSl9fTtUY2E9ZnVuY3Rpb24oYSl7YS5zb3J0KChiLGMpPT57aWYoYi5zdGFydEluZGV4PGMuc3RhcnRJbmRleClyZXR1cm4tMTtpZihjLnN0YXJ0SW5kZXg8Yi5zdGFydEluZGV4KXJldHVybiAxO2I9Yi53bC1iLnN0YXJ0SW5kZXg7Yz1jLndsLWMuc3RhcnRJbmRleDtyZXR1cm4gYj5jPy0xOmM+Yj8xOjB9KX07Ck1GPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE9PT12b2lkIDB8fGI9PT12b2lkIDA/ITE6Xy54KCJ3ZWJfYXR0cmlidXRlZF9zdHJpbmdfZGVlcF9lcXVhbF9idWdmaXgiKT92RihhLGIpOmEuY29udGVudD09PWIuY29udGVudCYmYS5zdHlsZVJ1bnM/Lmxlbmd0aD09PWIuc3R5bGVSdW5zPy5sZW5ndGgmJmEuY29tbWFuZFJ1bnM/Lmxlbmd0aD09PWIuY29tbWFuZFJ1bnM/Lmxlbmd0aCYmYS5hdHRhY2htZW50UnVucz8ubGVuZ3RoPT09Yi5hdHRhY2htZW50UnVucz8ubGVuZ3RoJiZhLmRlY29yYXRpb25SdW5zPy5sZW5ndGg9PT1iLmRlY29yYXRpb25SdW5zPy5sZW5ndGh9O1VjYT1mdW5jdGlvbih7bGM6YX0pe3JldHVybiBhLm1hcChORil9OwpORj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhO3ZhciBiPWEuZGF0YTtiLmltYWdlIT09dm9pZCAwJiZiLmdqIT09dm9pZCAwPyhiPWEuZGF0YS5PbCxhPV8uSygic3BhbiIse2NsYXNzOmI/LmNsYXNzTmFtZSxzdHlsZTpCRihiPy5zdHlsZSksZGlyOmI/LmRpcixyb2xlOmI/LnJvbGUsdGFiaW5kZXg6Yj8udGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGIudGFiaW5kZXgpOnZvaWQgMCwiZm9yY2UtbmV3LXN0YXRlIjpiPy5xZCwib246Y2xpY2siOmI/Lm9uY2xpY2ssIm9uOnRvdWNoZW5kIjpiPy5vbnRvdWNoZW5kLCJvbjp0b3VjaG1vdmUiOmI/Lm9udG91Y2htb3ZlLCJvbjp0b3VjaHN0YXJ0IjpiPy5vbnRvdWNoc3RhcnR9LF8uSyhfLmpGLHtkYXRhOmEuZGF0YS5pbWFnZSwuLi5hLmRhdGEuZ2p9KSkpOihiPWEuZGF0YS5jb25maWcsYT1fLksoYS5kYXRhLnRhZyx7ZWw6Xy5yRihTY2EoYS5kYXRhKSksInByb3A6X2RhdGEiOmI/Lm51LCJwcm9wOnBhcmFtcyI6Yj8ucGFyYW1zLApjbGFzczpiPy5jbGFzc05hbWUsc3R5bGU6QkYoYj8uc3R5bGUpLGRpcjpiPy5kaXIsaHJlZjpiPy5ocmVmLHJlbDpiPy5yZWwscm9sZTpiPy5yb2xlLHRhcmdldDpiPy50YXJnZXQsdGl0bGU6Yj8udGl0bGUsdGFiaW5kZXg6Yj8udGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGIudGFiaW5kZXgpOnZvaWQgMCwiYXJpYS1oYXNwb3B1cCI6Yj8uYXJpYUhhc1BvcHVwLCJmb3JjZS1uZXctc3RhdGUiOmI/LnFkLCJhcmlhLWhpZGRlbiI6Yj8uYXJpYUhpZGRlbiwiYXJpYS1leHBhbmRlZCI6Yj8uYXJpYUV4cGFuZGVkLCJhcmlhLWxhYmVsIjpiPy5hcmlhTGFiZWwsIm9uOmNsaWNrIjpiPy5vbmNsaWNrLCJvbjp0b3VjaGVuZCI6Yj8ub250b3VjaGVuZCwib246dG91Y2htb3ZlIjpiPy5vbnRvdWNobW92ZSwib246dG91Y2hzdGFydCI6Yj8ub250b3VjaHN0YXJ0LCJvbjpwb2ludGVyZG93biI6Yj8ub25wb2ludGVyZG93biwib246a2V5ZG93biI6Yj8ub25rZXlkb3dufSxhLmxjLm1hcChORikpKTsKcmV0dXJuIF8uZkMoYSl9O1ZjYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yj8hMDphPT09dm9pZCAwfHxiPT09dm9pZCAwPyExOmEuQ2o9PT1iLkNqJiZhLnViPT09Yi51YiYmYS5tYT09PWIubWEmJmEuaGVhZGVyUnVucz09PWIuaGVhZGVyUnVucyYmYS5pc092ZXJsYXk9PT1iLmlzT3ZlcmxheSYmYS5YYT09PWIuWGEmJmEudXNlcklucHV0PT09Yi51c2VySW5wdXQmJmEucWg9PT1iLnFofTtXY2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pih7YXJpYUxhYmVsOmEuYXJpYUxhYmVsPy4oKSxjbGFzc05hbWU6YS5jbGFzc05hbWU/LigpLHljOmEueWM/LigpLGlzT3ZlcmxheTphLmlzT3ZlcmxheT8uKCksWGE6YS5YYT8uKCksbWE6YS5tYT8uKCksQ2o6YS5Daj8uKCksdWI6YS51Yj8uKCkscmc6YS5yZz8uKCksbm9XcmFwOmEubm9XcmFwPy4oKSxJZDphLklkPy4oKSx1c2VySW5wdXQ6YS51c2VySW5wdXQ/LigpLGhlYWRlclJ1bnM6YS5oZWFkZXJSdW5zPy4oKSxxaDphLnFoPy4oKX0pfTsKSWNhPS8jKC4pKC4pKC4pLztIY2E9L14jKD86WzAtOWEtZl17M30pezEsMn0kL2k7Xy5YY2E9bmV3IF8uSSgiZW1vamkiKTt2YXIgekY9bmV3IF8uSSgibG9nZ2luZ0RpcmVjdGl2ZXMiKTtfLlljYT1uZXcgXy5JKCJ1bnBsdWdnZWRTdHJpbmdSdW5JbWFnZSIpO3ZhciBNY2E9bmV3IF8uSSgiaGlnaGxpZ2h0VGV4dERlY29yYXRvckNvbG9yTWFwRXh0ZW5zaW9uIik7dmFyIFBjYT1uZXcgXy5JKCJzdHlsZVJ1bkNvbG9yTWFwRXh0ZW5zaW9uIik7dmFyIFpjYT1uZXcgXy5JKCJhY2Nlc3NpYmlsaXR5UHJvcGVydGllcyIpO3ZhciBHRj1uZXcgXy5JKCJicmFja2V0VGV4dERlY29yYXRvciIpO18uRkY9bmV3IF8uSSgiaGlnaGxpZ2h0VGV4dERlY29yYXRvciIpO3ZhciAkY2E9bmV3IF8uSSgiaW1hZ2VUeXBlIik7dmFyIGFkYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD01MDA7dGhpcy5qPU5hTjt0aGlzLnY9dGhpcy5vPSExO3RoaXMuQj1hPT57dmFyIGI9bmV3IEN1c3RvbUV2ZW50KCJMT05HX1BSRVNTIik7YS5jaGFuZ2VkVG91Y2hlc1swXS50YXJnZXQ/LmRpc3BhdGNoRXZlbnQoYil9O3RoaXMub250b3VjaHN0YXJ0PWE9Pnt0aGlzLmo9Xy5xeChfLmpmLCgpPT57dGhpcy5CKGEpO3RoaXMubz0hMH0sdGhpcy5EKX07dGhpcy5vbnRvdWNobW92ZT0oKT0+e18uamYuQWEodGhpcy5qKTt0aGlzLmo9TmFOO3RoaXMubz0hMTt0aGlzLnY9ITB9O3RoaXMub250b3VjaGVuZD1hPT57dGhpcy5qJiYhdGhpcy5vJiYhdGhpcy52JiZhLmNoYW5nZWRUb3VjaGVzWzBdLnRhcmdldD8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNrIikpO18uamYuQWEodGhpcy5qKTt0aGlzLmo9TmFOO3RoaXMudj10aGlzLm89ITF9fX07dmFyIEtjYT1jbGFzcyBleHRlbmRzIGFkYXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9YTt0aGlzLkI9Yj0+e3RoaXMuY2FsbGJhY2s/LihiKX19fTt2YXIgYmRhO2JkYT1fLngoImFsbG93X25lc3RlZF9yZW5kZXJfa3MiKT92b2lkIDA6e0lrOl8uWEN9OwpfLlY9Xy5MKGE9Pnt2YXIgYj1XY2EoYSksYz1lPT57dmFyIGYsaCxrPV8uckYocD0+e2Y9ZSgpO2g9Xy51digoKT0+e2Zvcih2YXIgciBvZiBtKCkpe2xldCB0PU5GKHIpO3Q9dHlwZW9mIHQ9PT0ic3RyaW5nIj9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KTp0O2lmKCEodCBpbnN0YW5jZW9mIE5vZGUpKXtyPW5ldyBfLlhqKCJQYXJ0IGlzIG5vdCBhIG5vZGUiLHQsdHlwZW9mIHQpO18uR3Aocik7YnJlYWt9cC5hcHBlbmRDaGlsZCh0KX19KX0pLGw9Xy51RihiLHtpc0VxdWFsOlZjYX0pLG09KCk9Pnt2YXIgcD1lKCkscj1sKCksdD1bXSx2PXAuY29udGVudC5sZW5ndGgsej1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtpZihwLnBhcmFncmFwaFN0eWxlUnVucylmb3IobGV0IE0gb2YgcC5wYXJhZ3JhcGhTdHlsZVJ1bnMpe3ZhciBFPXQsQT1FLnB1c2g7YTp7aWYoIU0ubGlzdEdyb3VwPy5saXN0SXRlbXMpe3ZhciBGPVtdO2JyZWFrIGF9Rj1bXTtiOnN3aXRjaChNLmxpc3RHcm91cC5saXN0VHlwZSl7Y2FzZSAiTElTVF9UWVBFX0JVTExFVCI6dmFyIEM9CiJ1bCI7YnJlYWsgYjtkZWZhdWx0OkM9InNwYW4ifUYucHVzaChIRih7cnVuOk0sdGV4dExlbmd0aDp2LHRhZzpDLGNvbmZpZzp7Y2xhc3NOYW1lOiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaXN0R3JvdXAifSxzdGFydEluZGV4Ok0uc3RhcnRJbmRleCxsZW5ndGg6TS5sZW5ndGh9KSk7Zm9yKGxldCBTIG9mIE0ubGlzdEdyb3VwLmxpc3RJdGVtcyl7Yjpzd2l0Y2goTS5saXN0R3JvdXAubGlzdFR5cGUpe2Nhc2UgIkxJU1RfVFlQRV9CVUxMRVQiOkM9ImxpIjticmVhayBiO2RlZmF1bHQ6Qz0ic3BhbiJ9Ri5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOkMsc3RhcnRJbmRleDpTLnN0YXJ0SW5kZXgsbGVuZ3RoOlMubGVuZ3RofSkpfX1BLmNhbGwoRSwuLi5GKX1pZihwLnN0eWxlUnVucyYmIXI/LkNqKWZvcih2YXIgRyBvZiBwLnN0eWxlUnVucylFPVFjYShHLHosciksdC5wdXNoKEhGKHtydW46Ryx0ZXh0TGVuZ3RoOnYsdGFnOiJzcGFuIixjb25maWc6RSxzdGFydEluZGV4Okcuc3RhcnRJbmRleCwKbGVuZ3RoOkcubGVuZ3RofSkpO2lmKHAuZGVjb3JhdGlvblJ1bnMpZm9yKHZhciBEIG9mIHAuZGVjb3JhdGlvblJ1bnMpRz1OY2EoRCx6KSxFPV8uQihELnRleHREZWNvcmF0b3IsR0YpLEE9Xy5CKEQudGV4dERlY29yYXRvcixHRiksdC5wdXNoKEhGKHtydW46RCx0ZXh0TGVuZ3RoOnYsdGFnOiJzcGFuIixjb25maWc6RyxzdGFydEluZGV4Ol8uQihELnRleHREZWNvcmF0b3IsXy5GRik/LnN0YXJ0SW5kZXh8fEU/LnN0YXJ0SW5kZXh8fDAsbGVuZ3RoOl8uQihELnRleHREZWNvcmF0b3IsXy5GRik/Lmxlbmd0aHx8QT8ubGVuZ3RofHwwfSkpO2lmKHAuY29tbWFuZFJ1bnMmJiFyPy5tYSlmb3IodmFyIEggb2YgcC5jb21tYW5kUnVucyl6PUxjYShILHIpLHQucHVzaChIRih7cnVuOkgsdGV4dExlbmd0aDp2LHRhZzoiYSIsY29uZmlnOnosc3RhcnRJbmRleDpILnN0YXJ0SW5kZXgsbGVuZ3RoOkgubGVuZ3RofSkpO2lmKHAuYXR0YWNobWVudFJ1bnMpZm9yKGxldCBNIG9mIHAuYXR0YWNobWVudFJ1bnMpe3A9CntjbGFzc05hbWU6Inl0QXR0cmlidXRlZFN0cmluZ0lubGluZUJsb2NrTW9kIn07TS5lbGVtZW50Py5wcm9wZXJ0aWVzJiYoSD17fSx6PV8uQihNLmVsZW1lbnQ/LnByb3BlcnRpZXMsXy5oRSksej8ubWFyZ2luJiYoej16Lm1hcmdpbixEPShHPV8udygiSFRNTF9ESVIiKT09PSJydGwifHxkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgiZGlyIik9PT0icnRsIik/ei5lbmR8fHoucmlnaHQ6ei5zdGFydHx8ei5sZWZ0LEc9Rz96LnN0YXJ0fHx6LmxlZnQ6ei5lbmR8fHoucmlnaHQsRCYmKEhbIm1hcmdpbi1sZWZ0Il09Q0YoRCkpLEcmJihIWyJtYXJnaW4tcmlnaHQiXT1DRihHKSksei50b3AmJihIWyJtYXJnaW4tdG9wIl09Q0Yoei50b3ApKSx6LmJvdHRvbSYmKEhbIm1hcmdpbi1ib3R0b20iXT1DRih6LmJvdHRvbSkpKSxIPU9iamVjdC5rZXlzKEgpLmxlbmd0aCE9PTA/SDp2b2lkIDAscC5zdHlsZT1IKTtIPXthbHQ6IiIsWWE6ITAsVGE6ITB9O3o9WyJ5dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUVsZW1lbnQiXTsKaWYoTS5hbGlnbm1lbnQpe2E6c3dpdGNoKE0uYWxpZ25tZW50KXtjYXNlICJBTElHTk1FTlRfQkFTRUxJTkUiOkQ9Inl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50QmFzZWxpbmUiO2JyZWFrIGE7Y2FzZSAiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUiI6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRWZXJ0aWNhbENlbnRlciI7YnJlYWsgYTtkZWZhdWx0OkQ9Inl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50Qm90dG9tIn16LnB1c2goRCl9TS5lbGVtZW50Py5wcm9wZXJ0aWVzJiYoRD17fSxHPV8uQihNLmVsZW1lbnQucHJvcGVydGllcyxfLmhFKSxHPy5oZWlnaHQmJihELmhlaWdodD1DRihHLmhlaWdodCkpLEc/LndpZHRoJiYoRC53aWR0aD1DRihHLndpZHRoKSksRD1PYmplY3Qua2V5cyhEKS5sZW5ndGghPT0wP0Q6dm9pZCAwLEguc3R5bGU9QkYoRCksSC5hbHQ9Xy5CKE0uZWxlbWVudC5wcm9wZXJ0aWVzLFpjYSk/LmxhYmVsfHwiIik7SC5jbGFzc05hbWU9Cnouam9pbigiICIpO3o9TS5lbGVtZW50Py50eXBlP18uQihNLmVsZW1lbnQudHlwZSwkY2EpPy5pbWFnZTp2b2lkIDA7dC5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOiJpbWciLGltYWdlOnosZ2o6SCxPbDpwLHN0YXJ0SW5kZXg6TS5zdGFydEluZGV4LGxlbmd0aDpNLmxlbmd0aD8/MH0pKX1pZihyPy5oZWFkZXJSdW5zKWZvcih2YXIgUiBvZiByLmhlYWRlclJ1bnMpaWYoUi5oZWFkZXJNYXBwaW5nJiZbIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMSIsIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMiIsIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMyJdLmluY2x1ZGVzKFIuaGVhZGVyTWFwcGluZykpe2E6e3N3aXRjaChSLmhlYWRlck1hcHBpbmcpe2Nhc2UgIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMSI6cj0ieXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzEiOwpicmVhayBhO2Nhc2UgIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMiI6cj0ieXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzIiO2JyZWFrIGE7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18zIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMyI7YnJlYWsgYX1yPXZvaWQgMH10LnB1c2goSEYoe3J1bjpSLHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpyP3tjbGFzc05hbWU6cn06dm9pZCAwLHN0YXJ0SW5kZXg6Ui5zdGFydEluZGV4LGxlbmd0aDpSLmxlbmd0aH0pKX1pZihsKCk/LnVzZXJJbnB1dClmb3IobGV0IE0gb2YgdCl7aWYoTS50YWc9PT0iYSJ8fE0udGFnPT09ImxpIiljb250aW51ZTtsZXQgUzsoUz1NKS5jb25maWd8fChTLmNvbmZpZz17fSk7TS50YWc9PT0idWwiP00uY29uZmlnLmRpcj1fLnkoKS5yZXNvbHZlKF8ubEYpOk0uY29uZmlnLmRpcj0iYXV0byJ9aWYoZSgpLmNvbnRlbnQpe3Y9ZSgpLmNvbnRlbnQ7ClRjYSh0KTtSPXtkYXRhOm51bGwsc3RhcnQ6MCxlbmQ6di5sZW5ndGgsbGM6W119O2ZvcihsZXQgTSBvZiB0KUtGKFIsTS5zdGFydEluZGV4LE0ud2wsTSk7TEYodixSKTt0PVIubGN9ZWxzZSB0PVtdO3JldHVybiB0fSxuPSEwO18ubkUoKCk9PntlKCk7bCgpO2lmKG4mJihuPSExLE1GKGUoKSxmKSkpcmV0dXJuO3ZhciBwPW0oKTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dmFyIHI9ay52YWx1ZTtyJiYoci5pbm5lclRleHQ9IiIsaD8uKCksaD1fLnhGKHIsKCk9Pl8uSyhVY2Ese2xjOnB9KSxiZGEpKX0pfSwidjJaMG9lIik7cmV0dXJuIF8uSygic3BhbiIse2VsOmssY2xhc3M6KCk9Pnt2YXIgcDtpZihwPWUoKSl7cD1lKCk7dmFyIHI9YigpO2xldCB0PVtdO3QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSG9zdCIpO3I/LmNsYXNzTmFtZSYmdC5wdXNoKHI/LmNsYXNzTmFtZSk7cj8ueWM/dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdFbGxpcHNpc1RydW5jYXRlIik6cj8ubm9XcmFwPwp0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VOb1dyYXAiKTpyPy5yZ3x8dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdXaGl0ZVNwYWNlUHJlV3JhcCIpO3I/LlhhJiZ0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IiKTtwLmFsaWdubWVudCYmdC5wdXNoKFJjYShwLmFsaWdubWVudCkpO3AubGluZUJyZWFrTW9kZSYmdC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdXb3JkV3JhcHBpbmciKTtwPXQuam9pbigiICIpfXJldHVybiBwfSxzdHlsZTphLnN0eWxlLGRpcjooKT0+YigpLnVzZXJJbnB1dD8iYXV0byI6dm9pZCAwLCJhcmlhLWxhYmVsIjooKT0+SkYoZSgpLGIoKS5hcmlhTGFiZWwpP2IoKS5hcmlhTGFiZWw6dm9pZCAwLHJvbGU6KCk9PkpGKGUoKSxiKCkuYXJpYUxhYmVsKT8idGV4dCI6dm9pZCAwfSl9LGQ9Xy51RigoKT0+e3ZhciBlPWEudGV4dD8uKCk7aWYoZSlyZXR1cm4gZT1lPy5jb250ZW50IT09dm9pZCAwP2U6Xy5BRihlKSwKZT8uY29udGVudD9lOnZvaWQgMH0se2lzRXF1YWw6TUZ9KTtyZXR1cm4gYS5ZdT9jKGQpOl8uSyhfLk8se0E6ZCx0aGVuOmN9KX0sInEiKTtfLlYuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFFKO1FKPWZ1bmN0aW9uKGEsYil7aWYoIWEpcmV0dXJuIG51bGw7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGMgb2YgYSlpZihhPWMudG9Mb3dlckNhc2UoKSxhLmluZGV4T2YoYixhLmxlbmd0aC1iLmxlbmd0aCk+LTEpcmV0dXJuIGM7cmV0dXJuIG51bGx9O18uUko9ZnVuY3Rpb24oYSl7dmFyIGI9UUooYSwiYWN0aW9uIil8fFFKKGEsImNvbW1hbmQiKXx8UUooYSwiZW5kcG9pbnQiKTtpZighYilyZXR1cm4gbnVsbDt7dmFyIGM9Inl0IitiO2xldCBkPV8uUEouZ2V0KGMpO2Q/Yz1kOihiPWB5dC0ke2IucmVwbGFjZSgvKFtBLVpdKS9nLCItJDEiKS50b0xvd2VyQ2FzZSgpfWAsXy5QSi5zZXQoYyxiKSxjPWIpfV8uQihhLF8uTkopJiYoYys9Ii0iK18uQihhLF8uTkopLnNpZ25hbC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL18vZywiLSIpKTtyZXR1cm4gY307Xy5TSj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj1uZXcgTWFwfX07Xy53YShfLlNKKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEZkYSxHZGEsQ0gsSGRhLERILEVILEZILElkYTtGZGE9ZnVuY3Rpb24oYSxiPTAsYz0tMSl7aWYoIWEudG90YWxMZW5ndGh8fCFjKXJldHVybiBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDApKTtjPDAmJihjPWEudG90YWxMZW5ndGgtYik7YS5mb2N1cyhiKTtpZighKGItYS52K2M8PWEualthLm9dLmxlbmd0aCkpe3ZhciBkPWEubyxlPWEudjthLmZvY3VzKGIrYy0xKTtlPW5ldyBVaW50OEFycmF5KGEudithLmpbYS5vXS5sZW5ndGgtZSk7bGV0IGY9MDtmb3IobGV0IGg9ZDtoPD1hLm87aCsrKWUuc2V0KGEualtoXSxmKSxmKz1hLmpbaF0ubGVuZ3RoO2Euai5zcGxpY2UoZCxhLm8tZCsxLGUpO2Eubz0wO2Eudj0wO2EuZm9jdXMoYil9ZD1hLmpbYS5vXTtyZXR1cm4gbmV3IERhdGFWaWV3KGQuYnVmZmVyLGQuYnl0ZU9mZnNldCtiLWEudixjKX07CkdkYT1mdW5jdGlvbihhLGI9MCxjPS0xKXthPUZkYShhLGIsYyk7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpfTtDSD1mdW5jdGlvbihhLGIpe2EuZm9jdXMoYik7cmV0dXJuIGEualthLm9dW2ItYS52XX07CkhkYT1mdW5jdGlvbihhKXtpZighYS5sZW5ndGgpcmV0dXJuIiI7dHJ5e2lmKF8uc0EpcmV0dXJuIF8uc0EuZGVjb2RlKGEpO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgoYSl9Y2F0Y2h7fWZvcih2YXIgYj0wLGM9W10sZD1hLmxlbmd0aDtiPGQ7KXtsZXQgZj0wO2Zvcig7ZjwxMDI0JiZiPGQ7KXt2YXIgZT1hW2IrK107aWYoZTwxMjgpe18uckFbZisrXT1lO2NvbnRpbnVlfWlmKGU8MjI0KWU9KGUmMzEpPDw2fGFbYisrXSY2MztlbHNlIGlmKGU8MjQwKWU9KGUmMTUpPDwxMnwoYVtiKytdJjYzKTw8NnxhW2IrK10mNjM7ZWxzZXtpZihmKzE9PT0xMDI0KXstLWI7YnJlYWt9ZT0oZSY3KTw8MTh8KGFbYisrXSY2Myk8PDEyfChhW2IrK10mNjMpPDw2fGFbYisrXSY2MztlLT02NTUzNjtfLnJBW2YrK109NTUyOTZ8ZT4+MTA7ZT01NjMyMHxlJjEwMjN9Xy5yQVtmKytdPWV9ZT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKXy5yQSk7ZjwxMDI0JiYoZT1lLnN1YnN0cmluZygwLGYpKTtjLnB1c2goZSl9cmV0dXJuIGMuam9pbigiIil9O0RIPWZ1bmN0aW9uKGEpe3ZhciBiPUNIKGEuaixhLnBvcyk7KythLnBvcztpZihiPDEyOClyZXR1cm4gYjtmb3IodmFyIGM9YiYxMjcsZD0xO2I+PTEyODspYj1DSChhLmosYS5wb3MpLCsrYS5wb3MsZCo9MTI4LGMrPShiJjEyNykqZDtyZXR1cm4gY307RUg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm87Zm9yKGEubz0tMTthLnBvcysxPD1hLmoudG90YWxMZW5ndGg7KXtjPDAmJihjPURIKGEpKTt2YXIgZD1jPj4zO2xldCBlPWMmNztpZihkPT09YilyZXR1cm4hMDtpZihkPmIpe2Eubz1jO2JyZWFrfWM9LTE7c3dpdGNoKGUpe2Nhc2UgMDpESChhKTticmVhaztjYXNlIDE6YS5wb3MrPTg7YnJlYWs7Y2FzZSAyOmQ9REgoYSk7YS5wb3MrPWQ7YnJlYWs7Y2FzZSA1OmEucG9zKz00fX1yZXR1cm4hMX07Cl8uR0g9ZnVuY3Rpb24oYSl7YT1uZXcgSWRhKG5ldyBGSChbXy51YyhkZWNvZGVVUklDb21wb25lbnQoYSkpXSkpO2lmKEVIKGEsMikpe3ZhciBiPURIKGEpO3ZhciBjPUdkYShhLmosYS5wb3MsYik7YS5wb3MrPWI7Yj1jfWVsc2UgYj12b2lkIDA7Yj1iP0hkYShiKTp2b2lkIDA7YT1FSChhLDQpP0RIKGEpOnZvaWQgMDtjPV8udkFbYV07aWYodHlwZW9mIGM9PT0idW5kZWZpbmVkIil0aHJvdyBhPW5ldyBfLlhqKCJGYWlsZWQgdG8gcmVjb2duaXplIGZpZWxkIG51bWJlciIse25hbWU6IkVudGl0eUtleUhlbHBlckVycm9yIixXSTphfSksXy5HcChhKSxhO3JldHVybntSSTphLGVudGl0eVR5cGU6YyxlbnRpdHlJZDpifX07Xy5ISD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInBsYXllclN0YXRlRW50aXR5IixiKX07Xy5JSD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImJvb2xlYW5FbnRpdHkiLGIpfTsKRkg9Y2xhc3N7Y29uc3RydWN0b3IoYT1bXSl7dGhpcy5qPVtdO3RoaXMudG90YWxMZW5ndGg9dGhpcy52PXRoaXMubz0wO2EuZm9yRWFjaChiPT57dGhpcy5hcHBlbmQoYil9KX1hcHBlbmQoYSl7dmFyIGI9dGhpcy5qLmxlbmd0aD09PTA/ITE6KGI9dGhpcy5qW3RoaXMuai5sZW5ndGgtMV0pJiZiLmJ1ZmZlcj09PWEuYnVmZmVyJiZiLmJ5dGVPZmZzZXQrYi5sZW5ndGg9PT1hLmJ5dGVPZmZzZXQ7Yj8oYj10aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSx0aGlzLmpbdGhpcy5qLmxlbmd0aC0xXT1uZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsYi5sZW5ndGgrYS5sZW5ndGgpLHRoaXMudj10aGlzLm89MCk6dGhpcy5qLnB1c2goYSk7dGhpcy50b3RhbExlbmd0aCs9YS5sZW5ndGh9c3BsaXQoYSl7dmFyIGI9bmV3IEZILGM9bmV3IEZIO2ZvcihsZXQgZCBvZiB0aGlzLmopYT49ZC5sZW5ndGg/KGIuYXBwZW5kKGQpLGEtPWQubGVuZ3RoKTphPyhiLmFwcGVuZChuZXcgVWludDhBcnJheShkLmJ1ZmZlciwKZC5ieXRlT2Zmc2V0LGEpKSxjLmFwcGVuZChuZXcgVWludDhBcnJheShkLmJ1ZmZlcixkLmJ5dGVPZmZzZXQrYSxkLmxlbmd0aC1hKSksYT0wKTpjLmFwcGVuZChkKTtyZXR1cm57ako6YixiTDpjfX1pc0ZvY3VzZWQoYSl7cmV0dXJuIGE+PXRoaXMudiYmYTx0aGlzLnYrdGhpcy5qW3RoaXMub10ubGVuZ3RofWZvY3VzKGEpe2lmKCF0aGlzLmlzRm9jdXNlZChhKSlmb3IoYTx0aGlzLnYmJih0aGlzLnY9dGhpcy5vPTApO3RoaXMudit0aGlzLmpbdGhpcy5vXS5sZW5ndGg8PWEmJnRoaXMubzx0aGlzLmoubGVuZ3RoOyl0aGlzLnYrPXRoaXMualt0aGlzLm9dLmxlbmd0aCx0aGlzLm8rPTF9fTtJZGE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5wb3M9MDt0aGlzLm89LTF9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEplYSxhSztKZWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1aSixkPV8uamYuR2EoKCk9PntjLlMoe3RleHQ6Yi50ZXh0LGxvY2F0aW9uOiRKLGFuY2hvcjphLG9mZnNldDpiLm9mZnNldCxzdHlsZTpiLnN0eWxlLGhvdGtleTpiLmhvdGtleX0pO2MubyghMCl9LDQsYi5kZWxheSk7Yy5qKGQpfTthSz1mdW5jdGlvbigpe3ZhciBhPVpKLGI9YS52KCk7YiYmKF8uamYuQWEoYiksYS5qKHZvaWQgMCkpO2EubyghMSl9OwpfLmJLPWZ1bmN0aW9uKGEsYil7dmFyIFtjLGRdPV8uQUMoKCk9PmEoKT8/Yj8uKCk/LnRleHQpO3JldHVybltlPT57dmFyIGY9Xy5OKCgpPT4oe2xvY2F0aW9uOiJib3R0b20iLG9mZnNldDoxNixkZWxheToxLC4uLmI/LigpLHRleHQ6YygpPz8iIn0pLHZvaWQgMCwiSUpVMzhkIik7Xy5uRSgoKT0+e3ZhciBsPWYoKTtfLkVBKCgpPT57Xy5qZi5HYSgoKT0+e1pKLm5vdGlmeShlLGwpfSw0KX0pfSwiV2xzZ1pjIik7dmFyIGg9KCk9PntKZWEoZSxmKCkpfSxrPSgpPT57YUsoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixoKTtlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixoKTtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGspO2UuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsayk7ZS5hZGRFdmVudExpc3RlbmVyKCJ0YXAiLGspO18uWXUoKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGgpO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsCmspO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsayk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0YXAiLGspO2FLKCl9KX0sZF19O3ZhciAkSj17bGVmdDoiMHB4IixyaWdodDoiYXV0byIsdG9wOiItMTAwcHgiLGJvdHRvbToiYXV0byJ9O3ZhciBaSj1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXtbdGhpcy5zdGF0ZSx0aGlzLlNdPV8uSih2b2lkIDAsdm9pZCAwLCJMZmt4b2YiKTtbdGhpcy5zaG93LHRoaXMub109Xy5KKCExLHZvaWQgMCwiazFGa29lIik7W3RoaXMudix0aGlzLmpdPV8uSih2b2lkIDAsdm9pZCAwLCJVbDhNSWMiKX1ub3RpZnkoYSxiKXt0aGlzLnN0YXRlKCk/LmFuY2hvcj09PWEmJnRoaXMuUyh7dGV4dDpiLnRleHQsbG9jYXRpb246JEosYW5jaG9yOmEsb2Zmc2V0OmIub2Zmc2V0LHN0eWxlOmIuc3R5bGUsaG90a2V5OmIuaG90a2V5fSl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5jSz1uZXcgXy5JKCJ0b29sdGlwVmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZEs9ZnVuY3Rpb24oYSxiKXtfLmFFKGEsey4uLmIsUHA6ITB9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBUYmE7VGJhPWZ1bmN0aW9uKGEsYil7dmFyIFtjLGRdPV8uSighMSx2b2lkIDAsIm1OeXd6YyIpLGU9ITEsZixoPWs9PntpZihmKXJldHVybiBfLksoZix7Li4ua30pO2lmKCFlKXtsZXQgbD1hKCk7ZT0hMDtpZihsIGluc3RhbmNlb2YgUHJvbWlzZSl7bGV0IG09Xy5hRDttPy5zdSgpO2wudGhlbihuPT57Zj1uO2QoITApO20/LkhyKCl9KS5jYXRjaChuPT57bT8uSHIoKTtpZihiPy5kZWJ1Z05hbWUpe3ZhciBwPW5ldyBfLlhqKCJmYWlsZWQgdG8gbG9hZCBjaHVuayIsYi5kZWJ1Z05hbWUsbj8udG9TdHJpbmc/LigpKTtfLkdwKHApfWVsc2UgXy5HcChuKTt0aHJvdyBuO30pfWVsc2UgcmV0dXJuIGY9bCxfLksoZix7Li4ua30pfXJldHVybiBfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKGYsey4uLmt9KX0pfTtfLmJELnNldChoLGEpO3JldHVybiBofTtfLmNEPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRiYShhLGI/e2RlYnVnTmFtZTpifTp2b2lkIDApfTtfLkpEPW5ldyBfLlZzKCJDSFVOS19SRUdJU1RSWV9UT0tFTiIpO18uYkQ9bmV3IFdlYWtNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZUs9bmV3IF8uVnMoIkxJR0hUX0VGRkVDVF9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS2VhO18uZks9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9IiI7Zm9yKGxldCBjIG9mIEtlYSlpZihhLmVuZHNXaXRoKGMpKXtiPWEuc2xpY2UoMCwtYy5sZW5ndGgpO2JyZWFrfWlmKGImJihhPU51bWJlcihiKSwhaXNOYU4oYSkpKXJldHVybiBhfX07S2VhPVsicmVtIiwicHgiLCJtcyIsIiUiLCJzIl07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZGEsUkg7Xy5RSD1mdW5jdGlvbihhKXt2YXIgYj1fLlBIKCk7cmV0dXJuIEtkYShhLGIpfTtfLlBIPWZ1bmN0aW9uKCl7dmFyIGE9Xy55KCkucmVzb2x2ZShfLkluKFJIKSksW2IsY109Xy5KKGEsdm9pZCAwLCJ6TElZUmMiKTthfHxfLll0KFJILGMpO3JldHVybiBifTtLZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5OKCgpPT57dmFyIGM9YSgpO3JldHVybiBjP2IoKT8uKGMpOnZvaWQgMH0sdm9pZCAwLCJlUXhobWIiKX07Ukg9bmV3IF8uVnMoIlNFTUFOVElDX0xBWU9VVF9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmlLPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiT3RLU0plIik7cmV0dXJuIF8uVUN9O18uaks9Xy5jRCgoKT0+Xy5pSygpLCJ0b3VjaEZlZWRiYWNrU2hhcGUiKTtfLll0KF8uSkQsYT0+e2EuSigidG91Y2hGZWVkYmFja1NoYXBlIiwiT3RLU0plIixfLmlLKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga0ssTmVhLGxLLFBlYSxtSyxRZWEsUmVhLG5LLHBLLFZlYSxXZWEsWGVhLFllYTtrSz1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IFtjLGRdb2YgYS5qLmVudHJpZXMoKSliLnB1c2goe2VsZW1lbnQ6YyxQeTpkfSk7YS52KGIpfTtOZWE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7ZD0wfXZhciBkPTA7cmV0dXJuIGZ1bmN0aW9uKGUpe2R8fChkPV8udS5zZXRUaW1lb3V0KGMsYiksYS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKSl9fTtsSz1mdW5jdGlvbihhKXtyZXR1cm4haXNOYU4oTnVtYmVyKGEpKSYmIS9eW1xzXHhhMF0qJC8udGVzdChhKX07ClBlYT1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtjPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGEsW3t0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMHB4KSJ9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoJHsoZj9tSyhiLGMsZCxlKTpkPy0xOjEpKmh9cHgpYH1dLE9lYSksZG9jdW1lbnQudGltZWxpbmUpO2I/KGEuc3R5bGUuZGlzcGxheT0iIixjLm9uZmluaXNoPW51bGwpOmMub25maW5pc2g9KCk9PnthLnN0eWxlLmRpc3BsYXk9Im5vbmUifTtjLnBsYXkoKTtyZXR1cm4gY307bUs9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9TnVtYmVyKGEpKzEwO2I/YT8oYT1OdW1iZXIoYSksYj1OdW1iZXIoYiksYz1jP2I8YT9lOmUrMTA6YjxhP2UtMTA6ZSk6Yz1jPzMwOjA6Yz1hPT09IjAiP2U6Yz9lLTEwOmUrMTA7cmV0dXJuIGQtY307ClFlYT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJtb25vIjpzd2l0Y2goYil7Y2FzZSAiZmlsbGVkIjpyZXR1cm4gMTtjYXNlICJ0b25hbCI6cmV0dXJuIDM7Y2FzZSAib3V0bGluZSI6cmV0dXJuIDU7ZGVmYXVsdDpyZXR1cm4gMH1jYXNlICJtb25vLWludmVyc2UiOnN3aXRjaChiKXtjYXNlICJmaWxsZWQiOnJldHVybiAyO2Nhc2UgInRvbmFsIjpyZXR1cm4gNDtjYXNlICJvdXRsaW5lIjpyZXR1cm4gNjtkZWZhdWx0OnJldHVybiAwfWRlZmF1bHQ6cmV0dXJuIDB9fTsKUmVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe3ZhciB7ZGlzYWJsZWQ6ayxpY29uUG9zaXRpb246bCxzdHlsZTptLGZvY3VzZWQ6bix1c2VPdXRsaW5lZEljb246cCxBYzpyfT1uSyhhKSx0PSgpPT4hIUEoKSYmbCgpPT09Imljb24tb25seSIsdj0oKT0+ISFBKCkmJmwoKT09PSJpY29uLW9ubHktNDAiLHo9KCk9PiEhQSgpJiZsKCk9PT0iaWNvbi13aXRoLWxhYmVsIixFPSgpPT4oaygpPyJkaXNhYmxlZCI6YSgpLnN0YXRlKT09PSJkaXNhYmxlZCJ8fGsoKSxBPSgpPT4hIWJ8fCEhZD8uKCl8fCEhcj8uKCksRj0oKT0+Xy54KCJhbmltYXRlX2ljb25fZGlzYWJsZWRfa2lsbHN3aXRjaCIpP2g/LigpOmg/LigpJiYhRSgpLEM9Xy5QSCgpLEc9KCk9Pl8ub0soYSgpLCEwLEMsYSgpLmlnbm9yZUljb25TaXplT3ZlcnJpZGUpO3JldHVybnt0eXBlOigpPT5tKCk9PT0iY2FsbC10by1hY3Rpb24taW52ZXJzZSI/InRleHQiOm0oKT09PSJvdmVybGF5LWRhcmsiJiZhKCkudHlwZSE9PSJmaWxsZWQiJiYKYSgpLnR5cGUhPT0idG9uYWwiPyJ0b25hbCI6YSgpLnR5cGUsdG46KCk9PihuKCl8fGY/LigpKSYmIWsoKSxJbDooKT0+ISFBKCkmJmwoKT09PSJsZWFkaW5nIixLbDooKT0+ISFBKCkmJmwoKT09PSJ0cmFpbGluZyIsSmw6KCk9PiEhQSgpJiYhKCFjJiYhZT8uKCkpJiZsKCk9PT0ibGVhZGluZy10cmFpbGluZyIsRXc6dCxGdzp2LEd3OnosaWNvbkJ1dHRvbjooKT0+dCgpfHx2KCl8fHooKSxqaTpFLHZ6OigpPT4hYSgpLmlnbm9yZUljb25TaXplT3ZlcnJpZGUmJnBLKGEoKSxBKCkpLG14OmI/YjooKT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjpyfSwoKT0+Xy5LKCJkaXYiLHtzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7RygpfXB4YCxoZWlnaHQ6KCk9PmAke0coKX1weGB9KSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uVyx7ZGF0YTpyfSx7YW5pbWF0ZWRBc3NldFZpZXdNb2RlbDooe2RhdGE6RH0pPT5fLksoXy5xSyx7ZGF0YTpELHNuOiEwfSl9KSkpLF8uSyhfLkRFLApudWxsLCgpPT5fLksoXy5NRCx7aWNvbjpkLFpwOigpPT5hKCkuY3VzdG9tQ29sb3JzPy5tSixzaXplOkcsYWN0aXZlOigpPT5hKCkudG9nZ2xlZCYmIXA/LigpLGFnOigpPT57YSgpfSxHZTpGfSkpKSxhQTpjP2M6KCk9Pl8uSyhfLk1ELHtpY29uOmUsc2l6ZTpHLGFjdGl2ZTooKT0+YSgpLnRvZ2dsZWQmJiFwPy4oKSxhZzooKT0+e2EoKX19KX19OwpuSz1mdW5jdGlvbihhKXtyZXR1cm57c2l6ZTooKT0+YSgpLnNpemUsc3R5bGU6KCk9PmEoKS5zdHlsZSxmb2N1c2VkOigpPT5hKCkuZm9jdXNlZCxkaXNhYmxlZDooKT0+YSgpLmRpc2FibGVkLG9uVGFwOmI9PmEoKS5vblRhcD8uKGIpLG9pOigpPT5hKCkub2ksdWM6KCk9PmEoKS51YyxjdXN0b21Db2xvcnM6KCk9PmEoKS5jdXN0b21Db2xvcnMsc2VnbWVudGVkUG9zaXRpb246KCk9PmEoKS5zZWdtZW50ZWRQb3NpdGlvbix0b2dnbGVkOigpPT5hKCkudG9nZ2xlZCx0b2dnbGVhYmxlOigpPT5hKCkudG9nZ2xlYWJsZSxhY2Nlc3NpYmlsaXR5TGFiZWw6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5TGFiZWwsSGU6KCk9PmEoKS5IZSxvblRvZ2dsZTpiPT5hKCkub25Ub2dnbGU/LihiKSxpY29uUG9zaXRpb246KCk9PmEoKS5pY29uUG9zaXRpb24sb25lT2ZmQ3VzdG9tVGV4dFdyYXA6KCk9PmEoKS5vbmVPZmZDdXN0b21UZXh0V3JhcCxJZjooKT0+YSgpLklmLEFwOigpPT5hKCkuQXAsdG9vbHRpcFRleHQ6KCk9PgphKCkudG9vbHRpcFRleHQsRG46KCk9PmEoKS5EbixhcmlhSGlkZGVuOigpPT5hKCkuYXJpYUhpZGRlbixhcmlhRXhwYW5kZWQ6KCk9PmEoKS5hcmlhRXhwYW5kZWQsdGFiSW5kZXg6KCk9PmEoKS50YWJJbmRleCxidXR0b25UZXh0OigpPT5hKCkuYnV0dG9uVGV4dCxXYTooKT0+YSgpLldhLGFiOigpPT5hKCkuYWIsb25DbGlja1JhdGVMaW1pdE1zOigpPT5hKCkub25DbGlja1JhdGVMaW1pdE1zLG9uSG92ZXI6Yj0+YSgpLm9uSG92ZXI/LihiKSxtaWRkbGVncm91bmRBc3NldDooKT0+YSgpLm1pZGRsZWdyb3VuZEFzc2V0LEFjOigpPT5hKCkuQWMsZGlzYWJsZUxpZ2h0U2hhcGU6KCk9PmEoKS5kaXNhYmxlTGlnaHRTaGFwZSx1c2VPdXRsaW5lZEljb246KCk9PmEoKS51c2VPdXRsaW5lZEljb259fTsKcEs9ZnVuY3Rpb24oYSxiKXtiPShhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHkifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHktNDAifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLXdpdGgtbGFiZWwiKSYmYjtyZXR1cm4hYS5zZWdtZW50ZWRQb3NpdGlvbiYmYiYmYS5zaXplPT09IlMifTsKXy5vSz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jKCk7aWYoXy54KCJ3ZWJfYnV0dG9uX2ljb25fc2l6ZV9leHBlcmltZW50Iikpe2E6e2M9Xy5mSyhlPy4oU2VhKSk/PzEyO3ZhciBmPV8uZksoZT8uKFRlYSkpPz8xODtlPV8uZksoZT8uKHJLKSk/PzI0O2xldCBoPWEuaWNvblBvc2l0aW9uPT09Imljb24tb25seSImJiFhLnNlZ21lbnRlZFBvc2l0aW9ufHxhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHktNDAifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLXdpdGgtbGFiZWwiO3N3aXRjaChhLnNpemUpe2Nhc2UgIlhTIjphPWM7YnJlYWsgYTtjYXNlICJTIjphPSFkJiZwSyhhLGIpP2U6ZjticmVhayBhO2Nhc2UgIk0iOmE9aD9lOmY7YnJlYWsgYTtkZWZhdWx0OmE9ZX19cmV0dXJuIGF9Yz1fLmZLKGU/LihVZWEpKT8/MTY7Zj1fLmZLKGU/LihySykpPz8yNDtzd2l0Y2goYS5zaXplKXtjYXNlICJYUyI6cmV0dXJuIGM7Y2FzZSAiUyI6cmV0dXJuIWQmJnBLKGEsYik/ZjpjO2RlZmF1bHQ6cmV0dXJuIGZ9fTsKVmVhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJmaWxsZWQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQiO2Nhc2UgIm91dGxpbmUiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lIjtjYXNlICJ0b25hbCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0In19OwpXZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImNhbGwtdG8tYWN0aW9uIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uIjtjYXNlICJjYWxsLXRvLWFjdGlvbi1vdmVybGF5IjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheSI7Y2FzZSAibW9ubyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8iO2Nhc2UgIm92ZXJsYXkiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5IjtjYXNlICJvdmVybGF5LWRhcmsiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyayI7Y2FzZSAiY2FsbC10by1hY3Rpb24taW52ZXJzZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UiO2Nhc2UgIm1vbm8taW52ZXJzZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlIjtjYXNlICJicmFuZC1ncmFkaWVudCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQiOwpjYXNlICJnZW4tYWktZ3JhZGllbnQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50IjtjYXNlICJyYWlzZWQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRSYWlzZWQiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ifX07WGVhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJYUyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcyI7Y2FzZSAiUyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTIjtjYXNlICJMIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwiO2Nhc2UgIlhMIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTSJ9fTsKWWVhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9Xy5oSygpO18ubkUoKCk9PntiJiYoYSgpP2Muai5zZXQoYix2b2lkIDApOmMuai5kZWxldGUoYiksa0soYykpfSwib0dRY2ljIik7Xy5ZdSgoKT0+e2Muai5kZWxldGUoYik7a0soYyl9KX19O18udEs9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJuTzVkVGQiKTtyZXR1cm4gXy5ZSn07Xy5xSz1fLmNEKCgpPT5fLnRLKCksImFuaW1hdGVkQXNzZXRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYW5pbWF0ZWRBc3NldFZpZXdNb2RlbCIsIm5PNWRUZCIsXy50Syl9KTt2YXIgT2VhPXtkdXJhdGlvbjoxRTMsZWFzaW5nOiJlYXNlIixmaWxsOiJmb3J3YXJkcyJ9LHVLPV8uTChhPT57dmFyIGI9Xy51RSgiYW5pbWF0ZWQtcm9sbGluZy1jaGFyYWN0ZXIiKSxjPXZvaWQgMCxkPV8uTigoKT0+bEsoYS5KYz8uKCkpfHxsSyhhLnhlPy4oKSksdm9pZCAwLCJxU0REOWQiKSxbZSxmXT1fLkooMCx2b2lkIDAsIlNJZ0tEZCIpO18ub0YoKCk9PntpZih3aW5kb3cuUmVzaXplT2JzZXJ2ZXImJl8ueCgid2ViX2ZpeF9yb2xsaW5nX251bWJlcnNfem9vbV9zYWZhcmkiKSl7bGV0IGg9bmV3IF8uV3QoKCk9Pnt2YXIgbD1NYXRoLnJvdW5kKChiLnZhbHVlLnF1ZXJ5U2VsZWN0b3IoImRpdiIpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ/PzApKjEwMCkvMTAwO2wmJmYobCl9LDUwMCksaz1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9PntoLnYoKX0pO2sub2JzZXJ2ZShiLnZhbHVlKTtfLll1KCgpPT57ay5kaXNjb25uZWN0KCk7aC5kaXNwb3NlKCl9KX19KTtfLm5FKCgpPT4Ke3ZhciBoPV8ueCgid2ViX2ZpeF9yb2xsaW5nX251bWJlcnNfem9vbV9zYWZhcmkiKT9lOmEuQmg7aWYoaCgpKXtjPy5jYW5jZWwoKTtpZihkKCkpe3ZhciBrPWEueGU/LigpP051bWJlcihhLnhlKCkpKzEwOmEuRWQoKT8wOjMwO2EueGI/LigpfHwoay09bUsoYS5KYz8uKCksYS54ZT8uKCksYS5FZCgpLGspKX1lbHNlIGlmKGs9YS5FZCgpPzA6MiwhYS54Yj8uKCkpe3ZhciBsPWEuRWQoKT8tMToxO2stPWx9Yi52YWx1ZS5zdHlsZS5tYXJnaW5Ub3A9YC0ke2sqaCgpfXB4YDthLnhiPy4oKT9jPVBlYShiLnZhbHVlLGEuSmM/LigpLGEueGU/LigpLGEuRWQoKSxrLGQoKSxoKCkpOmIudmFsdWUuc3R5bGUuZGlzcGxheT1hLkpjPy4oKT8iIjoibm9uZSJ9fSwiTko0Z0EiKTtyZXR1cm4gXy5LKCJhbmltYXRlZC1yb2xsaW5nLWNoYXJhY3RlciIse2VsOmIsY2xhc3M6ImFuaW1hdGVkUm9sbGluZ0NoYXJhY3Rlckhvc3QifSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKFplYSxudWxsKSxXOigpPT4KXy5LKCRlYSx7SmM6YS5KY30pfSkpfSwiZ2EiKTt1Sy5pZG9tQ29tcGF0PSEwO3ZhciBaZWE9Xy5MKCgpPT57dmFyIGE9W107Zm9yKGxldCBiPTE7YjwzMDtiKyspYS5wdXNoKF8uSygiZGl2IixudWxsLGIlMTApKTtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoImRpdiIsbnVsbCwiXHUwMGEwIiksYSxfLksoImRpdiIsbnVsbCwiXHUwMGEwIikpfSwiaGEiKSwkZWE9Xy5MKCh7SmM6YX0pPT5fLksoXy5JQixudWxsLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSxfLksoXy5PLHtBOigpPT4hYT8uKCl8fC9eW1xzXHhhMF0qJC8udGVzdChhPy4oKSksdGhlbjooKT0+Xy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpLFc6KCk9Pl8uSygiZGl2IixudWxsLGEpfSksXy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpKSwiaWEiKTt2YXIgdks9Xy5MKGE9Pnt2YXIgYj12b2lkIDAsYz12b2lkIDA7Xy5uRSgoKT0+e2I9YS5YYigpO2M9YS5udW1iZXJWYWx1ZT8uKCl9LCJyN3RxUWQiKTt2YXIgZD1fLk4oKCk9PntpZighYS5YYigpKXJldHVybltdO3ZhciBlPWEuUXA/LigpfHwhY3x8IWEubnVtYmVyVmFsdWU/LigpfHxjPGEubnVtYmVyVmFsdWUoKSxmPWEuWGIoKSxoPWEuZ2g/LigpP2EuaGVpZ2h0UHgoKSphLmdoKCk6YS5oZWlnaHRQeCgpLGs9ISFhLnhiPy4oKSxsPVtdLG09MCxuPTAscD0oYj9iLnJlcGxhY2UoL1xEL2csIiIpLmxlbmd0aDowKS0oZj9mLnJlcGxhY2UoL1xEL2csIiIpLmxlbmd0aDowKSxyPWI/Yi5zcGxpdCgvKFxkKS8pLmZpbHRlcihCb29sZWFuKTpbXTtmb3IoZj1mLnNwbGl0KC8oXGQpLykuZmlsdGVyKEJvb2xlYW4pO3A8MDspe3ZhciB0PWZbbl07bC5wdXNoKHtKYzp0LEVkOmUsQmg6aCx4YjprfSk7bisrO2xLKHQpJiZwKyt9Zm9yKDttPHA7KXQ9clttXSxsLnB1c2goe3hlOnQsRWQ6ZSwKQmg6aCx4YjprfSksbSsrLGxLKHQpfHxwKys7Zm9yKDtuPGYubGVuZ3RoOylwPWZbbl0sdD1yW21dLGxLKHApPT09bEsodCk/KG4rKyxtKyspOmxLKHApPyhtKysscD12b2lkIDApOmxLKHQpJiYobisrLHQ9dm9pZCAwKSxsLnB1c2goe0pjOnAseGU6dCxFZDplLEJoOmgseGI6a30pO3JldHVybiBsfSx2b2lkIDAsIndtbkhSIik7cmV0dXJuIF8uSygieXQtYW5pbWF0ZWQtcm9sbGluZy1udW1iZXIiLHtjbGFzczoiYW5pbWF0ZWRSb2xsaW5nTnVtYmVySG9zdCIsc3R5bGU6KCk9PmEuWGIoKT9bYGhlaWdodDogJHthLmdoPy4oKT9hLmhlaWdodFB4KCkqYS5naCgpOmEuaGVpZ2h0UHgoKX1weDtgLGBsaW5lLWhlaWdodDogJHthLmhlaWdodFB4KCl9cHg7YF0uam9pbigiICIpOiIiLGRpcjoibHRyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uZ0cse3BhOmQsdGI6IklOREVYIn0sZT0+Xy5LKHVLLHtKYzooKT0+ZSgpLkpjLHhlOigpPT5lKCkueGUsQmg6KCk9PmUoKS5CaCxFZDooKT0+CmUoKS5FZCx4YjooKT0+ZSgpLnhifSkpKX0sImthIik7dksuaWRvbUNvbXBhdD0hMDt2YXIgYWZhPVsibW9ubyIsIm1vbm8taW52ZXJzZSIsIm92ZXJsYXkiXSxiZmE9WyJmaWxsZWQiXTt2YXIgd0s9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHhLO2E6e3ZhciB5Sz1fLmJjKCk7eUs9eUsudG9Mb3dlckNhc2UoKTtpZih5Sy5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeks9eUsubWF0Y2goL2FuZHJvaWRccyooXGQrKFwuXGQrKT8pW147fCldKls7KV0vKTtpZih6Syl7bGV0IGE9cGFyc2VGbG9hdCh6S1sxXSk7aWYoYTwxMDApe3hLPWE7YnJlYWsgYX19dmFyIEFLPXlLLm1hdGNoKCIoIitPYmplY3Qua2V5cyh3Sykuam9pbigifCIpKyIpIik7eEs9QUs/d0tbQUtbMF1dOjB9ZWxzZSB4Sz12b2lkIDB9Xy5CSz14Sz49MDt2YXIgQ0ssRks7e3ZhciBESz1fLmJjKCk7bGV0IGE9REsubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighYXx8YS5sZW5ndGg8MilDSz12b2lkIDA7ZWxzZXt2YXIgRUs9REsubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsgKFU7ICk/Q1BVIChpUGhvbmUgKT9PUyAoXGQrX1xkKVtfIF0vKTtDSz1FSyYmRUsubGVuZ3RoPT09Nj9OdW1iZXIoRUtbNV0ucmVwbGFjZSgiXyIsIi4iKSk6MH19Rks9Q0s7Xy5HSz1GSz49MDt2YXIgVWVhPXt5dFN5c01lYXN1cmVtZW50UmVmZXJlbmNlOiJZVF9TWVNfTUVBU1VSRU1FTlRfUkVGRVJFTkNFX0lDT05fU0laRV9DT05ERU5TRUQifSxySz17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfQ09NRk9SVEFCTEUifSxTZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX01JTkkifSxUZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX0NPTVBBQ1QifSxjZmE9Xy5MKGE9Pl8uSyhfLk8se0E6YS51Yyx0aGVuOmI9Pl8uSyhfLm5ILHt1YzpiLGRpc2FibGVkOmEuZGlzYWJsZWQsY2xhc3NOYW1lOmEuY2xhc3NOYW1lLHN0eWxlOmEuc3R5bGUsdGl0bGU6YS50aXRsZSxhcmlhTGFiZWw6YS5hcmlhTGFiZWwsSGU6YS5IZSxhcmlhQ3VycmVudDooKT0+YS50b2dnbGVhYmxlPy4oKSYmCmEudG9nZ2xlZD8uKCksYXJpYUV4cGFuZGVkOmEuYXJpYUV4cGFuZGVkLHJlZjphLnJlZixvbkhvdmVyOmEub25Ib3Zlcn0sYS5jaGlsZHJlbiksVzooKT0+Xy5LKCJidXR0b24iLHtlbDpfLnJGKGEucmVmKSwib246Y2xpY2siOmEub25DbGljaywib246bW91c2VlbnRlciI6YS5vbkhvdmVyLGNsYXNzOmEuY2xhc3NOYW1lLHRpdGxlOmEudGl0bGUsc3R5bGU6YS5zdHlsZSxkaXNhYmxlZDphLmRpc2FibGVkLCJhcmlhLXByZXNzZWQiOigpPT5hLnRvZ2dsZWFibGU/LigpPyEhYS50b2dnbGVkPy4oKTp2b2lkIDAsImFyaWEtbGFiZWwiOmEuYXJpYUxhYmVsLCJhcmlhLWRlc2NyaWJlZGJ5IjphLkhlLCJhcmlhLWRpc2FibGVkIjphLmppLCJhcmlhLWhpZGRlbiI6YS5hcmlhSGlkZGVuLCJhcmlhLWV4cGFuZGVkIjphLmFyaWFFeHBhbmRlZCx0YWJpbmRleDooKT0+YS50YWJJbmRleD8uKCk/PygoXy5Pa3x8Xy5yeigpKSYmXy54KCJ3ZWJfZW5hYmxlX3NhZmFyaV9idXR0b25fdGFiaW5kZXhfZml4Iik/CjA6dm9pZCAwKX0sYS5jaGlsZHJlbil9KSwibGEiKSxkZmE9Xy5MKCh7ZGF0YTphLElsOmIsSmw6YyxLbDpkLGljb25CdXR0b246ZSxpeDpmLFp6OmgsaWNvbjprLHNlY29uZGFyeUljb246bCxVQTptLEp5Om4samk6cCxkaXNhYmxlTGlnaHRTaGFwZTpyfSk9Pnt2YXIgdD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5lSykpLHY9Xy5JRSh7Y29sb3I6KCk9PmEoKS5jdXN0b21Db2xvcnM/Lmljb25Db2xvcn0pO3JldHVybiBfLksoSEsse2NsYXNzTmFtZToiIixzdHlsZToiZGlzcGxheTogaW5oZXJpdDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIifSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJWNHoxVWMiLEE6KCk9PmsmJihiKCl8fGMoKXx8ZT8uKCkpLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSygiZGl2Iix7Y2xhc3M6ZixzdHlsZTp2LCJhcmlhLWhpZGRlbiI6InRydWUifSxrPy4oKSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToib2szYnRiIixBOigpPT4oYSgpLmJ1dHRvblRleHR8fAphKCkuYWJ8fGEoKS5XYSkmJiFlPy4oKSx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoSUsse2NsYXNzTmFtZTptLGljb25Qb3NpdGlvbjooKT0+YSgpLmljb25Qb3NpdGlvbix0ZXh0OigpPT5hKCkuYnV0dG9uVGV4dCxvbmVPZmZDdXN0b21UZXh0V3JhcDooKT0+YSgpLm9uZU9mZkN1c3RvbVRleHRXcmFwLFdhOigpPT5hKCkuV2EsYWI6KCk9PmEoKS5hYn0pKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IkRPNVJ6IixBOmQsdGhlbjooKT0+Xy5LKEhLLG51bGwsXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOnZ9LGs/LigpKSl9KSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJibm9qU2MiLEE6Yyx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoImRpdiIse2NsYXNzOmgsc3R5bGU6dn0sbD8uKCkpKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IkhOM2thZCIsQTooKT0+IWEoKS5kaXNhYmxlZCYmISh0Py5XbyYmIXA/LigpKSx0aGVuOigpPT5fLksoXy5qSyx7bW9kZWw6KCk9Pnt2YXIgej0KYSgpO3JldHVybntjb2xvcjp6LnN0eWxlPT09Im92ZXJsYXktZGFyayI/NDp6LnN0eWxlPT09Im92ZXJsYXkiP3oudHlwZT09PSJmaWxsZWQiPzQ6Mzp6LnR5cGU9PT0iZmlsbGVkInx8ei5zdHlsZT09PSJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlInx8ei5zdHlsZT09PSJtb25vLWludmVyc2UiPzI6MX19fSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWlkZGxlZ3JvdW5kQXNzZXR9LHthbmltYXRlZEFzc2V0Vmlld01vZGVsOih7ZGF0YTp6fSk9Pl8uSyhfLnFLLHtkYXRhOnosY2xhc3NOYW1lOm4sc246ITB9KX0pLF8uSyhfLk8se0E6KCk9PnQ/Lkl1JiYhcD8uKCkmJiFyPy4oKSx0aGVuOigpPT5fLksoXy55RSx7Y29uZmlnOigpPT57dmFyIHo9YSgpLEU9ei5zdHlsZSxBPXoudHlwZSxGPV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSk7cmV0dXJue1ZhOlFlYShFLEEpLGprOkY/LlZvJiZBPT09InRvbmFsIixldjp6LmN1c3RvbUNvbG9ycz8uYmFja2dyb3VuZENvbG9yLGR2OnouY3VzdG9tQ29sb3JzPy5ib3JkZXJDb2xvciwKQ0I6Rj8uV299fX0pfSkpfSwibWEiKSxJSz1fLkwoYT0+e3ZhciBiPSgpPT5hLmljb25Qb3NpdGlvbj8uKCk9PT0iaWNvbi13aXRoLWxhYmVsInx8YS5vbmVPZmZDdXN0b21UZXh0V3JhcD8uKCk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6YS5jbGFzc05hbWUsImFyaWEtaGlkZGVuIjooKT0+YS5hcmlhSGlkZGVuPy4oKSYmKCEhYS5hYj8uKCl8fCEhYS5XYT8uKCkpfSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hLmFiPy4oKX0sKCk9Pl8uSyh2Syx7WGI6KCk9PmEuYWIoKS5YYixudW1iZXJWYWx1ZTooKT0+YS5hYigpLm51bWJlclZhbHVlLGhlaWdodFB4OigpPT5hLmFiKCkuaGVpZ2h0UHgsZ2g6KCk9PmEuYWIoKS5naCx4YjooKT0+YS5hYigpLnhiLFFwOigpPT5hLmFiKCkuUXB9KSksXy5LKF8uQ0Use3doZW46KCk9PmEuV2E/LigpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+KHsuLi5hLldhKCksbGluZUJyZWFrTW9kZTpiKCk/IkxJTkVfQlJFQUtfTU9ERV9CWV9XT1JEX1dSQVBQSU5HIjoKYS5XYSgpLmxpbmVCcmVha01vZGUsYWxpZ25tZW50OmIoKT8iVEVYVF9BTElHTk1FTlRfQ0VOVEVSIjphLldhKCkuYWxpZ25tZW50fSksdWI6ITAsbm9XcmFwOigpPT4hYigpfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5hLmljb25Qb3NpdGlvbj8uKCk9PT0iaWNvbi13aXRoLWxhYmVsIiYmYS50ZXh0Py4oKX0sKCk9Pl8uSyhfLlYse3RleHQ6KCk9Pih7Y29udGVudDphLnRleHQoKSxsaW5lQnJlYWtNb2RlOiJMSU5FX0JSRUFLX01PREVfQllfV09SRF9XUkFQUElORyIsYWxpZ25tZW50OiJURVhUX0FMSUdOTUVOVF9DRU5URVIifSksdWI6ITAsbm9XcmFwOiExfSkpLF8uSyhfLkRFLG51bGwsKCk9PmEudGV4dCkpKX0sIm5hIiksZWZhPV8uTChhPT5fLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJrTTdTZ2MiLEE6YS5oYXNMYWJlbCx0aGVuOigpPT5fLksoImxhYmVsIix7Y2xhc3M6YS5jbGFzc05hbWV9LGEuY2hpbGRyZW4sYS50ZXh0Q29udGVudD8uKCkpLFc6KCk9PmEuY2hpbGRyZW59KSwib2EiKSwKSEs9Xy5MKGE9PmEuY2hpbGRyZW4sInBhIik7Xy5KSz1fLkwoKHtkYXRhOmEsaWNvbjpiLGljb25OYW1lOmMsR2U6ZCxzZWNvbmRhcnlJY29uOmUsUXI6ZixYSTpoLGFwOmt9KT0+e18ubUcoKTt2YXIge3NpemU6bCxzdHlsZTptLGRpc2FibGVkOm4sb25UYXA6cCxvaTpyLHVjOnQsY3VzdG9tQ29sb3JzOnYsc2VnbWVudGVkUG9zaXRpb246eix0b2dnbGVkOkUsdG9nZ2xlYWJsZTpBLGFjY2Vzc2liaWxpdHlMYWJlbDpGLG9uVG9nZ2xlOkMsaWNvblBvc2l0aW9uOkcsb25lT2ZmQ3VzdG9tVGV4dFdyYXA6RCxJZjpILEFwOlIsdG9vbHRpcFRleHQ6TSxEbjpTLGFyaWFIaWRkZW46WSxhcmlhRXhwYW5kZWQ6cGEsdGFiSW5kZXg6b2EsYnV0dG9uVGV4dDpVLFdhOmhhLGFiOm1hLG9uQ2xpY2tSYXRlTGltaXRNczp0YSxvbkhvdmVyOlQsbWlkZGxlZ3JvdW5kQXNzZXQ6YmEsZGlzYWJsZUxpZ2h0U2hhcGU6YWF9PW5LKGEpLHt0eXBlOk9hLHRuOkpiLElsOnphLEtsOkxiLEpsOmNjLEV3OmxjLEZ3OlZiLEd3OnRkLGljb25CdXR0b246QmUsCmppOmFkLHZ6Om5zLG14Ok1nLGFBOlpCfT1SZWEoYSxiLGUsYyxmLGgsZCksW2ZmYV09Xy5iSyhNLFMpLExUPXJiPT57cD8uKHJiKTtBKCkmJkM/LihyYil9LE1UPV8uTigoKT0+dGE/LigpLHZvaWQgMCwic2lLeXdiIiksZ2ZhPV8uTigoKT0+TVQoKT9OZWEoTFQsTVQoKSk6TFQsdm9pZCAwLCJ3RFRjTiIpLCRCPV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSk7Yj1fLk4oKCk9PmJhKCl8fCRCPy5JdSx2b2lkIDAsInpVUVJPZSIpO3ZhciBoZmE9WWVhKCgpPT57dmFyIHJiPW0oKSxhaT1PYSgpO3JldHVybiEhXy55KCkucmVzb2x2ZShfLkluKF8uZUspKT8uVm8mJmFmYS5pbmNsdWRlcyhyYikmJmJmYS5pbmNsdWRlcyhhaSl9KTtyZXR1cm4gXy5LKGVmYSx7Y2xhc3NOYW1lOl8uUCgieXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxIb3N0Iix7eXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxJc092ZXJsYXk6KCk9Pm0oKT09PSJvdmVybGF5Inx8bSgpPT09Im92ZXJsYXktZGFyayJ9KSxoYXNMYWJlbDp0ZCwKdGV4dENvbnRlbnQ6KCk9Pl8uSyhJSyx7dGV4dDpVLGNsYXNzTmFtZToieXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbCIsYXJpYUhpZGRlbjohMCxvbmVPZmZDdXN0b21UZXh0V3JhcDpELGljb25Qb3NpdGlvbjpHLFdhOmhhLGFiOm1hfSl9LF8uSyhjZmEse3VjOnQsY2xhc3NOYW1lOl8uUCgieXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdCIsKCk9PlZlYShPYSgpKSwoKT0+YWQoKT92b2lkIDA6V2VhKG0oKSksKCk9PlhlYShsKCkpLHt5dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZDphZCx5dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOkpiLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZzpMYix5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZzp6YSx5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nOmNjLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQ6KCk9PmNjKCkmJiEoVSgpfHxoYSgpKSwKeXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbjooKT0+bGMoKXx8dGQoKSx5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uT25seURlZmF1bHQ6VmIseXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHQ6cix5dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDooKT0+eigpPT09InN0YXJ0Iix5dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQ6KCk9PnooKT09PSJlbmQiLHl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJyaWRlU21hbGxTaXplSWNvbjpucyx5dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lcjpELHl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVUZXh0RWxsaXBzaXM6SCx5dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVCYWNrZHJvcEZpbHRlckV4cGVyaW1lbnQ6KCk9Pnt2YXIgcmI7aWYocmI9IVIoKSkhKHJiPV8uR0smJkZLPj0xNCkmJihyYj1fLkJLKSYmKHJiPV8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeT49CjgpLHJiPXJiPyFfLngoIndlYl9kaXNhYmxlX2JhY2tkcm9wX2ZpbHRlciIpOiExO3JldHVybiByYn0seXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlOigpPT4hISRCPy5XbyYmIWFkKCkseXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6KCk9Pl8ueCgid2ViX2J1dHRvbl9pY29uX3NpemVfZXhwZXJpbWVudCIpLHl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmc6KCk9Pl8ueCgid2ViX2J1dHRvbl9tYWluc3RhZ2VfcGFkZGluZyIpfSksc3R5bGU6KCk9Pnt2YXIgcmI9digpO2lmKHJiKXt2YXIgYWk9cmIuY29sb3I7dmFyIE5UPXJiLmJhY2tncm91bmRDb2xvcjtyYj1yYi5ib3JkZXJDb2xvcjt2YXIgcHM9IiI7YWkmJihwcys9YGNvbG9yOiAke2FpfTtgKTtOVCYmKHBzKz1gYmFja2dyb3VuZC1jb2xvcjogJHtOVH07YCk7cmImJihwcys9YGJvcmRlci1jb2xvcjogJHtyYn07YCk7YWk9e3N0eWxlOnBzfX1lbHNlIGFpPQp7fTtyZXR1cm4gYWkuc3R5bGV9LG9uQ2xpY2s6cmI9PntnZmEoKShyYil9LG9uSG92ZXI6cmI9PntUPy4ocmIpfSxkaXNhYmxlZDpuLGFyaWFMYWJlbDpGLHRvZ2dsZWFibGU6QSx0b2dnbGVkOkUsdGl0bGU6KCk9PiFrPy4oKSYmTSgpP00oKToiIixqaTphZCxhcmlhSGlkZGVuOlksYXJpYUV4cGFuZGVkOnBhLHRhYkluZGV4Om9hLHJlZjpyYj0+eyRCPy5WbyYmaGZhKHJiKTtrPy4oKSYmZmZhKHJiKX19LF8uSyhkZmEse2RhdGE6YSxJbDp6YSxKbDpjYyxLbDpMYixpY29uQnV0dG9uOkJlLGljb246TWcsVUE6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudCIse3l0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudDpifSksaXg6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uIix7eXRTcGVjQnV0dG9uU2hhcGVOZXh0RWxldmF0ZWRDb250ZW50OmJ9KSxaejpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb24iLHt5dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnQ6Yn0pLApzZWNvbmRhcnlJY29uOlpCLEp5OiJ5dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldCIsamk6YWQsZGlzYWJsZUxpZ2h0U2hhcGU6YWF9KSkpfSwicmEiKTtfLkpLLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aWNvbjohMCxzZWNvbmRhcnlJY29uOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBMZGEsTWRhLE5kYSxPZGE7TGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5WSC5UZSgpLmdldFN0YXRlKCk7cmV0dXJuIGI/YShjLC4uLmIpOmEoYyl9O18uWEg9ZnVuY3Rpb24oKXtpZihXSClyZXR1cm4gV0g7dmFyIFthLCxiXT1fLkooMCx2b2lkIDAsIk1CMUhiIik7Xy5WSC5UZSgpLnN1YnNjcmliZSgoKT0+e01kYShiKX0pO3JldHVybiBXSD1hfTtNZGE9ZnVuY3Rpb24oYSl7WUh8fChZSD0hMCxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57YShiPT5iKzEpO1lIPSExfSkpfTtfLlpIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uVkgucHcoKShhLGIpfTtfLmJJPW5ldyBfLlZzKCJTVEFURV9TVE9SRV9UT0tFTiIpO05kYT1uZXcgXy5WcygiU0VMRUNUX1RPS0VOIik7T2RhPW5ldyBfLlZzKCJESVNQQVRDSF9UT0tFTiIpO3ZhciBXSCxZSDtfLlZIPXtwdzooKT0+Xy55KCkucmVzb2x2ZShfLkluKE5kYSkpPz9MZGEsbXc6KCk9Pl8ueSgpLnJlc29sdmUoXy5JbihPZGEpKT8/Xy5WSC5UZSgpLmRpc3BhdGNoLmJpbmQoXy5WSC5UZSgpKSxUZTooKT0+Xy55KCkucmVzb2x2ZShfLmJJKX07WUg9ITE7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uY0k9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTigoKT0+e18uWEgoKSgpO3JldHVybiBfLlpIKGEpfSx7ZGVidWdOYW1lOiJkOEI2MmMifSwiREVYa2hkIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgaWZhLGpmYSxPSyxOSyxuZmEsUkssb2ZhLHBmYSxUSyxxZmEscmZhLFNLLHNmYSx0ZmEsdWZhLHZmYTtpZmE9ZnVuY3Rpb24oYSxiKXtiLmZvckVhY2goYz0+e3ZhciBkPW51bGw7Yz9kPWMuYXBwbHkobnVsbCxhLmFyZ3MpOihjPUVycm9yKCJyZCIpLGMucGFyYW1zPWEuYWN0aW9uTmFtZSxfLlVpKGMpKTthLnJldHVyblZhbHVlLnB1c2goZCl9KX07amZhPWZ1bmN0aW9uKGEsYixjKXtiLmZvckVhY2goZD0+e3ZhciBlPV8uUkooZCk7ZSYmKGQ9bmV3IF8uT0ooZSwhMCxbZCxjLHZvaWQgMF0pLChlPWEuai5nZXQoZC5hY3Rpb25OYW1lKSkmJmlmYShkLGUpLGQuanx8ZC5yZXR1cm5WYWx1ZS5sZW5ndGghPT0wfHwoZD1uZXcgXy5YaigiVW5oYW5kbGVkIGFjdGlvbiIsZC5hY3Rpb25OYW1lKSxfLldpKGQpKSl9KX07Xy5LSz1mdW5jdGlvbihhKXtyZXR1cm4oYSY0Mjc4MTkwMDgwKT4+PjI0PT09MD9fLmlFKGEsIjEiKTpfLk5EKGEpfTsKXy5NSz1mdW5jdGlvbigpe0xLfHwoTEs9bmV3IGtmYSk7cmV0dXJuIExLfTtPSz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy5hY3Rpb24sZT1jLmVsZW1lbnQ7ZSYmZCYmKGxmYS5pbmNsdWRlcyhiKXx8Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfUkVNSVgifHxhLkQmJmEuRC5BSihlKT9OSyhhLGIsYyk6YS52JiYoYS5vfHwoYS5vPW5ldyBXZWFrTWFwKSxkPWEudi5vYnNlcnZlKGUsKCk9PntOSyhhLGIsYyk7YS5vLmRlbGV0ZShlKX0se1ZiOiEwLHN0YXRlOiJ2aXNpYmxlIn0pLGEuby5zZXQoZSxkKSkpfTtfLlBLPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5CLmdldChiKTtpZihjKXt2YXIgZD1hLmouZ2V0KGMpO2QmJihkZWxldGUgZC5lbGVtZW50LGEuai5zZXQoYyxkKSk7YS5CLmRlbGV0ZShiKTthLnYmJmEubyYmKGM9YS5vLmdldChiKSkmJihhLnYucmYoYyksYS5vLmRlbGV0ZShiKSl9fTsKXy5RSz1mdW5jdGlvbihhLGIsYyl7Xy5QSyhhLGMpO3ZhciBkPWEuai5nZXQoYik7ZHx8KGQ9e30sYS5qLnNldChiLGQpKTtkLmVsZW1lbnQ9YzthLkIuc2V0KGMsYik7T0soYSxiLGQpfTtOSz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy5hY3Rpb247KGM9Yy5lbGVtZW50KSYmZCYmKGpmYShhLkssW2RdLGMpLGEuai5kZWxldGUoYiksYS5CLmRlbGV0ZShjKSxhLlkuYWRkKGIpKX07Cm5mYT1mdW5jdGlvbihhLGIsYyl7aWYoYyYmYilzd2l0Y2goYyl7Y2FzZSAiQlVUVE9OX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1JFTU9WRV9BRFNfQURfU1RBVEUiOnJldHVybihhPV8uSEgoYSxiKSk/e2lzSGlkZGVuOmEuYWRzU3RhdGU9PT0iQURTX1NUQVRFX05PTkUifHxhLmFkc1N0YXRlPT09IkFEU19TVEFURV9VTktOT1dOIn06e2lzSGlkZGVuOiEwfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQ0hBVEJPVF9QRU5ESU5HX1JFU1BPTlNFIjpyZXR1cm57aXNIaWRkZW46ITEsaXNEaXNhYmxlZDohIV8ucUEoYS5lbnRpdGllcywieW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eSIsYik/LmlzUGVuZGluZ1Jlc3BvbnNlfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQk9PTEVBTl9ESVNBQkxFRCI6cmV0dXJue2lzSGlkZGVuOiExLGlzRGlzYWJsZWQ6ISFfLklIKGEsYik/LnZhbHVlfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWSI6cmV0dXJuIGE9Cl8ucUEoYS5lbnRpdGllcywiYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eSIsYik/LnN0YXRlLGE9PT0iQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWV9TVEFURV9QRU5ESU5HIj97aXNIaWRkZW46ITEsYXJpYURpc2FibGVkOiEwLGFyaWFCdXN5OiEwLGFjY2Vzc2liaWxpdHlMYWJlbDoiR2VuZXJhdGluZyBzdW1tYXJ5Li4uIixpY29uTmFtZTp2b2lkIDAsQWM6bWZhfTphPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfVU5SRUFEInx8YT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX0ZBSUxFRCI/KGE9YT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX1VOUkVBRCIse2lzSGlkZGVuOiExLGFyaWFEaXNhYmxlZDohMCxhY2Nlc3NpYmlsaXR5TGFiZWw6YT8iVW5yZWFkIHN1bW1hcnkiOiJGYWlsZWQgdG8gZ2VuZXJhdGUgc3VtbWFyeSIsaWNvbk5hbWU6IllUSUNPTl9GSUxMX0RPVF9TMjQiLApBYzp2b2lkIDAsLi4uKGEmJntjdXN0b21Db2xvcnM6e2NvbG9yOiJ2YXIoLS15dC1zcGVjLWNhbGwtdG8tYWN0aW9uKSIsaWNvbkNvbG9yOiJ2YXIoLS15dC1zcGVjLWNhbGwtdG8tYWN0aW9uKSJ9fSl9KTp7aXNIaWRkZW46ITB9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DT01NRVJDRV9UT0tFTl9CQUxBTkNFIjpyZXR1cm4gYT1fLnFBKGEuZW50aXRpZXMsImNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5IixiKSxhPy5zZXJ2ZXJUb2tlbkJhbGFuY2UhPW51bGw/KGE9TnVtYmVyKGEuc2VydmVyVG9rZW5CYWxhbmNlKSxhPWlzTmFOKGEpP3ZvaWQgMDpTdHJpbmcoYS8xRTYpLHtpc0hpZGRlbjohMSxXYTphP3tjb250ZW50OmF9OnZvaWQgMH0pOntpc0hpZGRlbjohMX07ZGVmYXVsdDpyZXR1cm57aXNIaWRkZW46ITF9fX07ClJLPWZ1bmN0aW9uKGEpe3JldHVybnt0ZXh0OmEudG9vbHRpcFRleHQ/PyIiLGxvY2F0aW9uOm9mYShhLnBsYWNlbWVudCksc3R5bGU6YS5zdHlsZSxob3RrZXk6YS5ob3RrZXl9fTtvZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlRPT0xUSVBfVklFV19NT0RFTF9QTEFDRU1FTlRfQk9UVE9NIjpyZXR1cm4iYm90dG9tIjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX1RPUCI6cmV0dXJuInRvcCI7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9MRUZUIjpyZXR1cm4ibGVmdCI7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9SSUdIVCI6cmV0dXJuInJpZ2h0IjtkZWZhdWx0OnJldHVybiJib3R0b20ifX07CnBmYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uUkQoYT8ub25UYXApLGQ9e307YyYmKGQuYko9KCk9PlNLKGEsYyxiPy52YWx1ZT8udmlzdWFsRWxlbWVudCkpO2Q9Xy5iRSh7Ymg6YS5vblRhcCxxZDohMCxBbzpkfSk7cmV0dXJuIGQ/LmhyZWY/ZDp2b2lkIDB9O1RLPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yz17ckM6Y307Xy5kSyhhLHtmb3JtOntjdXJyZW50RGF0YTpjLHNvdXJjZURhdGE6YyxlbGVtZW50OmIsZXZlbnQ6ZH0sLi4uZX0pfTsKcWZhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9dm9pZCAwO3JldHVybiBoPT57dmFyIGs9Xy5SRChjP2E/Lm9uRGlzYWJsZWRUYXA6YT8ub25UYXApO2lmKGspaWYoZj1mPz9iPy52YWx1ZSxfLngoIndlYl9idXR0b25fdm1fY2xpY2tfY2xpZW50X3ZlX2tpbGxzd2l0Y2giKSlUSyhrLGYsYSxoKTtlbHNle2xldCBsPVNLKGEsayxmPy52aXN1YWxFbGVtZW50KTtpZihlKXtUSyhrLGUsYSxoLHtjbGlja2VkVmlzdWFsRWxlbWVudDpsLGZvcm06e2VsZW1lbnQ6ZX19KTtyZXR1cm59VEsoayxmLGEsaCx7Y2xpY2tlZFZpc3VhbEVsZW1lbnQ6bH0pfWQmJmQoaCl9fTtyZmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXZvaWQgMDtyZXR1cm4gZT0+e3ZhciBmPV8uUkQoYT8ub25Ib3Zlcik7ZiYmKGQ9ZD8/Yj8udmFsdWUsYz9USyhmLGMsYSxlLHtmb3JtOntlbGVtZW50OmN9fSk6VEsoZixkLGEsZSkpfX07ClNLPWZ1bmN0aW9uKGEsYixjKXtiPWI/LmNsaWNrVHJhY2tpbmdQYXJhbXM7YT1hPy5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGU7aWYoYyYmYSYmIWIpcmV0dXJuIGN9OwpzZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0NUQSI6cmV0dXJuImNhbGwtdG8tYWN0aW9uIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIjpjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9CUkFORCI6cmV0dXJuIm1vbm8iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVkiOnJldHVybiJvdmVybGF5IjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9PVkVSTEFZX0RBUksiOnJldHVybiJvdmVybGF5LWRhcmsiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EX0dSQURJRU5UIjpyZXR1cm4iYnJhbmQtZ3JhZGllbnQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EX0FJIjpyZXR1cm4iZ2VuLWFpLWdyYWRpZW50IjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9SQUlTRUQiOnJldHVybiJyYWlzZWQiO2RlZmF1bHQ6cmV0dXJuIm1vbm8ifX07CnRmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9GSUxMRUQiOnJldHVybiJmaWxsZWQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfT1VUTElORSI6cmV0dXJuIm91dGxpbmUiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVCI6cmV0dXJuInRleHQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVE9OQUwiOnJldHVybiJ0b25hbCI7ZGVmYXVsdDpyZXR1cm4idGV4dCJ9fTt1ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0FDVElWRSI6cmV0dXJuImFjdGl2ZSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfSU5BQ1RJVkUiOnJldHVybiJkaXNhYmxlZCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfRElTQUJMRUQiOnJldHVybiJkaXNhYmxlZCI7ZGVmYXVsdDpyZXR1cm4iYWN0aXZlIn19Owp2ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfWFNNQUxMIjpyZXR1cm4iWFMiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVCI6cmV0dXJuIlMiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfREVGQVVMVCI6cmV0dXJuIk0iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfTEFSR0UiOnJldHVybiJMIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TSVpFX1hMQVJHRSI6cmV0dXJuIlhMIjtkZWZhdWx0OnJldHVybiJNIn19O3ZhciBsZmE9WyJicm93c2UtdmlkZW8tbWVudS1idXR0b24iLCJ1bmlmaWVkLXZlcmlmaWVkLWJhZGdlIiwidG9wYmFyLWd1aWRlLW1lbnUiXSxrZmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLks9Xy5TSi5qYygpO3RoaXMuaj1uZXcgTWFwO3RoaXMuQj1uZXcgV2Vha01hcDt0aGlzLlk9bmV3IFNldH1kaXNwb3NlKCl7dGhpcy5EJiZfLmNmKHRoaXMuRCwieXQtdmlzaWJpbGl0eS1tb25pdG9yLXJlZnJlc2hlZCIsdGhpcy5JLCExLHRoaXMpO3RoaXMudiYmdGhpcy52LmRpc3Bvc2UoKX1JKCl7Zm9yKGxldCBbYSxiXW9mIHRoaXMuai5lbnRyaWVzKCkpT0sodGhpcyxhLGIpfX0sTEs7dmFyIG1mYT17YW5pbWF0ZWRBc3NldFZpZXdNb2RlbDp7Z2VuZXJpY0JlaGF2aW9yOnthdXRvcGxheTohMCxsb29wOiEwfSxsb3R0aWVBc3NldDp7dGhlbWVkVXJsOntsaWdodDoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvbG90dGllL3lvdWNoYXRfYW5pbWF0aW9ucy9wcm9ncmVzc19pbmRpY2F0b3Jfc29sb192MS5qc29uIixkYXJrOiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUveW91Y2hhdF9hbmltYXRpb25zL3Byb2dyZXNzX2luZGljYXRvcl9zb2xvX3YxLmpzb24ifX19fTt2YXIgd2ZhPVsieW91LWNoYXQtZW50cnlwb2ludC1idXR0b24iXTsKXy5IRD1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsc3R5bGU6YyxidXR0b25PdmVycmlkZXM6ZCxhYjplLG9uQ2xpY2s6Zix0YXJnZXQ6aH0pPT57dmFyIGs9Xy51RSgiYnV0dG9uLXZpZXctbW9kZWwiLEQ9PntELmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ5dC1yZW5kZXJpZG9tLWZpbmlzaGVkIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiExLGNvbXBvc2VkOiEwfSkpO3ZhciBIPWEoKS50YXJnZXRJZDtIJiZfLlFLKF8uTUsoKSxILEQpO3JldHVybigpPT57Xy5QSyhfLk1LKCksRCl9fSksbD1fLmNJKEQ9Pm5mYShELGEoKT8uZW50aXR5S2V5LGEoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlKSksbT0oKT0+YSgpPy5lbnRpdHlLZXkmJmEoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlP2woKTp2b2lkIDAsbj0oKT0+Xy54KCJXZWJGRUFsbFN0dWRpb0J5Q2hhbm5lbF9fd2ViX2J1dHRvbl92aWV3X21vZGVsX2VudGl0eV9vdmVycmlkZXMiKT9tKCk6dm9pZCAwLHA9CigpPT57dmFyIEQ9bigpO2lmKEQ/Lmljb25OYW1lIT09dm9pZCAwKXJldHVybiBELmljb25OYW1lO2lmKEQ/LkFjPT09dm9pZCAwKXJldHVybiBhKCk/Lmljb25OYW1lfHxhKCk/Lnl0SWNvbn0scj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKSx0PSgpPT57dmFyIEQ9ZD8uKCksSD1tKCksUj1uKCksTT1EO2EoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlJiYoTT17Li4uRCxkaXNhYmxlZDohIUg/LmlzRGlzYWJsZWR8fCEhRD8uZGlzYWJsZWR9KTtEPWEoKTt2YXIgUz1NLFk9ZT8uKCkscGE9Uj8uYXJpYURpc2FibGVkfHxIPy5pc0Rpc2FibGVkfHxSPy5hcmlhQnVzeXx8TT8uZGlzYWJsZWQ/dm9pZCAwOmY7TT1oPy4oKTtpZihEKXt2YXIgb2E9dGZhKEQudHlwZSk7dmFyIFU9ISFELnRpdGxlfHwhIUQudGl0bGVGb3JtYXR0ZWQ7dmFyIGhhPSEhKEQuaWNvbk5hbWV8fEQuaWNvbkltYWdlfHxELnl0SWNvbnx8RC5sZWFkaW5nQXNzZXQpO1U9aGEmJiFVPyJpY29uLW9ubHkiOgpoYT9ELmljb25Qb3NpdGlvbj09PSJCVVRUT05fVklFV19NT0RFTF9JQ09OX1BPU0lUSU9OX0FCT1ZFIj8iaWNvbi13aXRoLWxhYmVsIjpELmljb25UcmFpbGluZ3x8RC5pY29uUG9zaXRpb249PT0iQlVUVE9OX1ZJRVdfTU9ERUxfSUNPTl9QT1NJVElPTl9UUkFJTElORyI/InRyYWlsaW5nIjoibGVhZGluZyI6dm9pZCAwO1U9PT0iaWNvbi1vbmx5LTQwIiYmKG9hPSJ0ZXh0Iik7aGE9Uz8uc3RhdGU/P3VmYShELnN0YXRlKTt2YXIgbWE9Uz8uZGlzYWJsZWQ/PyhELnN0YXRlPT09IkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0RJU0FCTEVEInx8RC5zdGF0ZT09PSJCVVRUT05fVklFV19NT0RFTF9TVEFURV9JTkFDVElWRSIpO18ueCgid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCIpJiYobWE9Uz8uZGlzYWJsZWQ/P2hhPT09ImRpc2FibGVkIik7WT1ZJiZZLlhiJiYhaXNOYU4oTnVtYmVyKFkubnVtYmVyVmFsdWUpKT9ZOnZvaWQgMDt2YXIgdGE9RC50aXRsZSxUPUQudGl0bGVGb3JtYXR0ZWQsCmJhPUQuYWNjZXNzaWJpbGl0eVRleHQsYWE9c2ZhKEQuc3R5bGUpLE9hPXZmYShELmJ1dHRvblNpemUpO3BhPXFmYShELGssbWEscGEsTSk7dmFyIEpiPW1hJiYhRC5vbkRpc2FibGVkVGFwLHphPXBmYShELGspLExiPUQuY3VzdG9tRm9udENvbG9yLGNjPUQuY3VzdG9tQmFja2dyb3VuZENvbG9yO3ZhciBsYz1ELmN1c3RvbUJvcmRlckNvbG9yO2xldCB0ZD1ELmN1c3RvbURhcmtUaGVtZUZvbnRDb2xvcixCZT1ELmN1c3RvbURhcmtUaGVtZUJhY2tncm91bmRDb2xvcjt2YXIgVmI9RC5jdXN0b21EYXJrVGhlbWVCb3JkZXJDb2xvcjtMYj1yJiZ0ZD90ZDpMYjtjYz1yJiZCZT9CZTpjYztsYz1yJiZWYj9WYjpsYztsYz17Y29sb3I6TGI/Xy5ORChMYik6dm9pZCAwLGJhY2tncm91bmRDb2xvcjpjYz9fLk5EKGNjKTp2b2lkIDAsYm9yZGVyQ29sb3I6bGM/Xy5ORChsYyk6dm9pZCAwfTtWYj1fLkIoRC50b29sdGlwRGF0YSxfLmNLKTtjYz1fLkIoRC5kaXNhYmxlZFRvb2x0aXBEYXRhLF8uY0spOwpEPXtidXR0b25UZXh0OnRhLFdhOlQsYWI6WSxhY2Nlc3NpYmlsaXR5TGFiZWw6YmEsc3R5bGU6YWEsdHlwZTpvYSxzdGF0ZTpoYSxzaXplOk9hLGljb25Qb3NpdGlvbjpVLG9uVGFwOnBhLGRpc2FibGVkOkpiLHVjOnphLGN1c3RvbUNvbG9yczpsYyx0b29sdGlwVGV4dDpELnRvb2x0aXAsRG46bWEmJmNjP1JLKGNjKTpWYj9SSyhWYik6dm9pZCAwLG9uSG92ZXI6cmZhKEQsayxNKSxtaWRkbGVncm91bmRBc3NldDpELm1pZGRsZWdyb3VuZEFzc2V0LEFjOkQubGVhZGluZ0Fzc2V0LC4uLlN9fWVsc2UgRD17c3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUiLHNpemU6Ik0ifTtELmZvY3VzZWQ9RigpO1I/LmFjY2Vzc2liaWxpdHlMYWJlbCE9PXZvaWQgMCYmKEQuYWNjZXNzaWJpbGl0eUxhYmVsPVIuYWNjZXNzaWJpbGl0eUxhYmVsKTtSPy5jdXN0b21Db2xvcnMhPT12b2lkIDAmJihELmN1c3RvbUNvbG9ycz1SLmN1c3RvbUNvbG9ycyk7Uj8uQWMhPT12b2lkIDA/KEQuQWM9ClIuQWMsRC5pY29uUG9zaXRpb249Imljb24tb25seSIpOlI/Lmljb25OYW1lIT09dm9pZCAwJiYoRC5BYz12b2lkIDAsRC5pY29uUG9zaXRpb249Imljb24tb25seSIpO0g/LldhJiYoRC5XYT1ILldhKTtyZXR1cm4gRH0sdj1fLlBIKCksej0oKT0+e3ZhciBEPXQoKTtyZXR1cm4gXy5vSyhELCEhcCgpfHwhIUQuQWMsdil9LFtFLEFdPV8uSighMSx2b2lkIDAsIlBwbk5BIiksRj1FO18ubkUoKCk9Pnt2YXIgRD1fLkIoYSgpPy5vblZpc2libGUsXy5PRCk7RCYmXy5hRShELHttZDohMH0pfSwiZWZldXkiKTt2YXIgQz0oKT0+e3ZhciBEPWEoKT8uaWNvbkltYWdlO3JldHVybiBEP3tzb3VyY2VzOltEXX06dm9pZCAwfSxHPUhUTUxFbGVtZW50LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgicG9wb3ZlciIpO3JldHVybiBfLksoImJ1dHRvbi12aWV3LW1vZGVsIix7ZWw6ayxjbGFzczpfLlAoInl0U3BlY0J1dHRvblZpZXdNb2RlbEhvc3QiLGIsKCk9Pnt2YXIgRD1hKCk/LnRhcmdldElkOwppZihEKXJldHVybiB3ZmEuaW5jbHVkZXMoRCk/RDp2b2lkIDB9KSwib246Zm9jdXNpbiI6ZnVuY3Rpb24oKXt2YXIgRD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5qSCkpO0QmJkEoRC5YZSgpKX0sIm9uOmZvY3Vzb3V0IjpmdW5jdGlvbigpe0EoITEpfSwiYXJpYS1kaXNhYmxlZCI6KCk9Pm4oKT8uYXJpYURpc2FibGVkPyJ0cnVlIjp2b2lkIDAsImFyaWEtYnVzeSI6KCk9Pm4oKT8uYXJpYUJ1c3k/InRydWUiOnZvaWQgMH0sXy5LKF8uTyx7QTooKT0+IShtKCk/LmlzSGlkZGVuPz8hMSksdGhlbjooKT0+Xy5LKF8uTyx7QTpDLHRoZW46RD0+Xy5LKF8uSksse2RhdGE6dCxpY29uOigpPT5fLksoXy5qRix7ZGF0YTpELGFsdDoiIixBYjp6LGRjOnosVGE6ITAsWWE6ITB9KSxhcDpHfSksVzooKT0+Xy5LKF8uSksse2RhdGE6dCxpY29uTmFtZTpwLEdlOigpPT4hIWM/LigpPy5hbmltYXRlSWNvbixhcDpHfSl9KX0pKX0sInRhIik7Xy5IRC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQ2xpY2s6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiRGx2RjFkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWUM9bmV3IF8uSSgiYWNjZXNzaWJpbGl0eUNvbnRleHQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5zTD1uZXcgXy5JKCJhdmF0YXJWaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RRj1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKSxjPWEuZGFya1RoZW1lSW1hZ2U/P2EuaW1hZ2U7cmV0dXJuIGI/YzphLmltYWdlfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUkY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJSYXE0Y2IiKTtyZXR1cm4gXy5JRH07Xy5TRj1fLmNEKCgpPT5fLlJGKCksImF2YXRhclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhdmF0YXJWaWV3TW9kZWwiLCJSYXE0Y2IiLF8uUkYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uJEY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJQelVkWmIiKTtyZXR1cm4gXy5FRH07Xy5hRz1fLmNEKCgpPT5fLiRGKCksImJhZGdlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImJhZGdlVmlld01vZGVsIiwiUHpVZFpiIixfLiRGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnVMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiV3FsY1ZiIik7cmV0dXJuIF8ueER9O18udkw9Xy5jRCgoKT0+Xy51TCgpLCJkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsIiwiV3FsY1ZiIixfLnVMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLndMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgidWhsTEdiIik7cmV0dXJuIF8ud0R9O18ueEw9Xy5jRCgoKT0+Xy53TCgpLCJmbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZmxleGlibGVBY3Rpb25zVmlld01vZGVsIiwidWhsTEdiIixfLndMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnlMPWZ1bmN0aW9uKCl7aWYoISgibWF0Y2hNZWRpYSJpbiB3aW5kb3cpKXJldHVybiBfLldpKEVycm9yKCJ0ZCIpKSwoKT0+MDt2YXIgYT13aW5kb3cubWF0Y2hNZWRpYSgiKG1heC13aWR0aDogNTI3LjlweCkiKSxiPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA1MjhweCkgYW5kIChtYXgtd2lkdGg6IDgzOS45cHgpIiksYz13aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkiKSxkPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxMDI0cHgpIiksW2UsZl09Xy5KKGEubWF0Y2hlcyx2b2lkIDAsIlRtSUtjYiIpLFtoLGtdPV8uSihiLm1hdGNoZXMsdm9pZCAwLCJaMGZUS2QiKSxbbCxtXT1fLkooYy5tYXRjaGVzLHZvaWQgMCwidzR4eTdiIiksW24scF09Xy5KKGQubWF0Y2hlcyx2b2lkIDAsIkRyYk5DIikscj1FPT57ZihFLm1hdGNoZXMpfSx0PUU9PntrKEUubWF0Y2hlcyl9LHY9RT0+e20oRS5tYXRjaGVzKX0sCno9RT0+e3AoRS5tYXRjaGVzKX07Xy5VSigoKT0+e2EuYWRkRXZlbnRMaXN0ZW5lcj8oYS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpLGIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSxjLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdiksZC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHopKTphLmFkZExpc3RlbmVyJiYoYS5hZGRMaXN0ZW5lcihyKSxiLmFkZExpc3RlbmVyKHQpLGMuYWRkTGlzdGVuZXIodiksZC5hZGRMaXN0ZW5lcih6KSk7Xy5ZdSgoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oYS5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpLGIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdiksZC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHopKTphLnJlbW92ZUxpc3RlbmVyJiYoYS5yZW1vdmVMaXN0ZW5lcihyKSxiLnJlbW92ZUxpc3RlbmVyKHQpLGMucmVtb3ZlTGlzdGVuZXIodiksCmQucmVtb3ZlTGlzdGVuZXIoeikpfSl9KTtyZXR1cm4oKT0+ZSgpPzE6aCgpPzI6bCgpPzM6bigpPzQ6MH07Xy5BTD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy55KCkucmVzb2x2ZShfLkluKHpMKSksW2UsZl09Xy5KKGQsdm9pZCAwLCJ4R3NSUSIpO2R8fF8uWXQoekwsZik7cmV0dXJuIF8uTigoKT0+e3ZhciBoPWEoKTtyZXR1cm4gaCYmYigpP2UoKT8uKGgsYixjKTp2b2lkIDB9LHZvaWQgMCwiYnNvc2RkIil9O3ZhciB6TD1uZXcgXy5WcygiU0VNQU5USUNfVFlQT0dSQVBIWV9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlRIPWZ1bmN0aW9uKGEpe3JldHVybigpPT5fLkIoYSgpLF8uWUMpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJMPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpP2EuZGFya1RoZW1lOmEubGlnaHRUaGVtZX0sQ0w9bmV3IF8uSSgiYmFkZ2VWaWV3TW9kZWwiKTt2YXIgQ2ZhPW5ldyBfLlZzKCJDT01NT05fTUFSS19WSUVXX01PREVMX1RPS0VOIik7dmFyIERmYTtfLkRMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRnFIY0dlIik7cmV0dXJuIF8udEZ9O0RmYT1fLmNEKCgpPT5fLkRMKCksInNlY3Rpb25IZWFkZXJMYXlvdXQiKTtfLll0KF8uSkQsYT0+e2EuSigic2VjdGlvbkhlYWRlckxheW91dCIsIkZxSGNHZSIsXy5ETCl9KTtfLnZEPV8uTCgoe2NsYXNzTmFtZTphLGRhdGE6YixkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6YyxkaXNhYmxlVmVydGljYWxQYWRkaW5nOmQsVGk6ZSxLbjpmLGlzT3ZlcmxheTpoLEVzOmssZ0w6bCxpSjptfSk9Pnt2YXIgbj1fLlRIKCgpPT5iKCkucmVuZGVyZXJDb250ZXh0KSxwPV8ueUwoKSxyPV8uQUwoKCk9PmIoKS5oZWFkbGluZVR5cG9ncmFwaHlUb2tlbixwLHttYXhMaW5lczoyfSk7cD1fLkFMKCgpPT5iKCkuc3VidGl0bGVUeXBvZ3JhcGh5VG9rZW4scCk7dmFyIHQ9Xy5RSCgoKT0+YigpLmhvcml6b250YWxQYWRkaW5nKSx2PV8uUUgoKCk9PmIoKS50b3BQYWRkaW5nKSx6PV8uUUgoKCk9PmIoKS5ib3R0b21QYWRkaW5nKTtyZXR1cm4gXy5LKCJ5dC1zZWN0aW9uLWhlYWRlci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0IixhKSxzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6KCk9PkJMKGIoKS5iYWNrZ3JvdW5kQ29sb3IpPwpfLk5EKEJMKGIoKS5iYWNrZ3JvdW5kQ29sb3IpKTp2b2lkIDB9KX0sXy5LKERmYSx7YXJpYUxhYmVsOigpPT5uKCk/LmxhYmVsLEF3OiExLHRpdGxlOigpPT5fLksoXy5WLHt0ZXh0OigpPT5iKCkuaGVhZGxpbmUsWGE6ITB9KSxraDohMCxzdWJsYWJlbDooKT0+Xy5LKEVmYSx7ZGF0YTpifSksTHc6KCk9PiEhYigpLnN1YmxhYmVsfHwhIWIoKS5ib3R0b21CYWRnZXx8ISFiKCkuYm90dG9tQmFkZ2VzLHN1cGVybGFiZWw6KCk9Pl8uSyhGZmEse2RhdGE6Yn0pLE13OigpPT4hIWIoKS5zdXBlcmxhYmVsfHwhIWIoKS50b3BCYWRnZSxsZWFkaW5nSW1hZ2U6KCk9Pl8uSyhHZmEse2xlYWRpbmdBY2Nlc3Nvcnk6KCk9PmIoKS5sZWFkaW5nQWNjZXNzb3J5fSksSHc6KCk9PiEhYigpLmxlYWRpbmdBY2Nlc3NvcnksdHJhaWxpbmdBY3Rpb25zOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0FjdGlvbnNDb250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT4KYigpLnRyYWlsaW5nQWN0aW9uc30se2ZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbDpfLnhMfSksXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb25zQ29udGFpbmVyIn0sXy5LKF8uZ0cse3BhOigpPT5sPy4oKXx8W119LEU9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb24ifSxFKSkpfSkpLE53OigpPT5tPy4oKXx8ISFiKCkudHJhaWxpbmdBY3Rpb25zLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+Yz8uKCl8fGIoKS5kaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmcsZGlzYWJsZVZlcnRpY2FsUGFkZGluZzooKT0+ZD8uKCl8fGIoKS5kaXNhYmxlVmVydGljYWxQYWRkaW5nLFRpOmUsS246Zixpc092ZXJsYXk6aCxyaDooKT0+ISFfLnNIKGIoKS5yZW5kZXJlckNvbnRleHQpLGhvdmVyRWZmZWN0RW5hYmxlZDooKT0+YigpLmhvdmVyRWZmZWN0RW5hYmxlZCxvbkNsaWNrOkU9Pgp7dmFyIEE9Xy5zSChiKCkucmVuZGVyZXJDb250ZXh0KTtBJiZfLmFFKEEse2Zvcm06e2VsZW1lbnQ6RS50YXJnZXQsZXZlbnQ6RX19KX0sYm90dG9tQWNjZXNzb3J5OigpPT5fLksoXy5XLHtkYXRhOigpPT5iKCkuYm90dG9tQWNjZXNzb3J5fSx7ZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsOih7ZGF0YTpFfSk9Pl8uSyhfLnZMLHtkYXRhOkUsWGM6ITB9KSxjb21tb25NYXJrVmlld01vZGVsOih7ZGF0YTpFfSk9Pl8uSyhfLklCLG51bGwsXy55KCkucmVzb2x2ZShfLkluKENmYSkpPy4oe2RhdGE6RX0pKX0pLHp3OigpPT4hIWIoKS5ib3R0b21BY2Nlc3NvcnksRXM6ayxoZWFkbGluZVR5cG9ncmFwaHlUb2tlbjpyLHN1YnRpdGxlVHlwb2dyYXBoeVRva2VuOnAsanE6dCxmQjp2LEh1Onp9KSl9LCJ3YSIpOwp2YXIgR2ZhPV8uTCgoe2xlYWRpbmdBY2Nlc3Nvcnk6YX0pPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6KCk9PmEoKS5pbWFnZT8/Xy5RRihhKCkudGhlbWVkSW1hZ2UpLHRoZW46Yj0+Xy5LKF8uakYse2RhdGE6YixhbHQ6IiIsVGE6ITAsWWE6ITB9KX0pLF8uSyhfLk8se0E6KCk9Pl8uQihhKCkuYXZhdGFyLF8uc0wpLHRoZW46Yj0+Xy5LKF8uU0Yse2RhdGE6Yn0pfSkpLCJ4YSIpLEVmYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoInNwYW4iLHtjbGFzczpfLlAoe3l0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdlV2l0aExhYmVsOigpPT4oISFhKCkuYm90dG9tQmFkZ2VzfHwhIWEoKS5ib3R0b21CYWRnZSkmJiEhYSgpLnN1YmxhYmVsfSl9LF8uSyhfLk8se0E6KCk9Pl8uQihhKCkuYm90dG9tQmFkZ2UsQ0wpLHRoZW46Yj0+Xy5LKF8uYUcse2RhdGE6Yn0pfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJvdHRvbUJhZGdlc30se2JhZGdlVmlld01vZGVsOih7ZGF0YTpifSk9PgpfLksoXy5hRyx7ZGF0YTpiLGNsYXNzOl8uUCgieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VzIil9KX0pKSxfLksoXy5PLHtBOigpPT5hKCkuc3VibGFiZWwsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSwieWEiKSxGZmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS50b3BCYWRnZSxDTCksdGhlbjpiPT5fLksoXy5hRyx7ZGF0YTpiLGNsYXNzOl8uUCh7eXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VXaXRoTGFiZWw6KCk9PiEhYigpJiYhIWEoKS5zdXBlcmxhYmVsfSl9KX0pLF8uSyhfLk8se0E6KCk9PmEoKS5zdXBlcmxhYmVsLHRoZW46Yj0+Xy5LKF8uVix7dGV4dDpifSl9KSksInphIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImN5Q1ZsZCIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgTkg7Tkg9ZnVuY3Rpb24oKXt9O18uT0g9ZnVuY3Rpb24oKXtyZXR1cm4iOiIrKEpkYS5qKyspLnRvU3RyaW5nKDM2KX07Xy53YShOSCk7TkgucHJvdG90eXBlLmo9MDt2YXIgSmRhPU5ILmpjKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRkk9bmV3IF8uVnMoIlNVQk1JVF9BUElfU0VSVklDRV9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgib3NUdHhlIik7cmV0dXJuIF8uQUR9O18ubEw9Xy5jRCgoKT0+Xy5rTCgpLCJiYXNpY0NvbnRlbnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFzaWNDb250ZW50Vmlld01vZGVsIiwib3NUdHhlIixfLmtMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlRGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRGx2RjFkIik7cmV0dXJuIF8uSER9O18uVUY9Xy5jRCgoKT0+Xy5URigpLCJidXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYnV0dG9uVmlld01vZGVsIiwiRGx2RjFkIixfLlRGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRnNvWHpjIik7cmV0dXJuIF8uekR9O18ubkw9Xy5jRCgoKT0+Xy5tTCgpLCJjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY29udGVudExpc3RJdGVtVmlld01vZGVsIiwiRnNvWHpjIixfLm1MKX0pO18ub0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwZTJvamIiKTtyZXR1cm4gXy5DRH07Xy5wTD1fLmNEKCgpPT5fLm9MKCksImxpc3RJdGVtVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxpc3RJdGVtVmlld01vZGVsIiwicGUyb2piIixfLm9MKX0pO18ucUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJVQU01bSIpO3JldHVybiBfLnlEfTtfLnJMPV8uY0QoKCk9Pl8ucUwoKSwibG9ja3VwVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxvY2t1cFZpZXdNb2RlbCIsIlVBTTVtIixfLnFMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkZMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVk9VUDlkIik7cmV0dXJuIF8udUR9O18uR0w9Xy5jRCgoKT0+Xy5GTCgpLCJsaW5lYXJMYXlvdXRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGluZWFyTGF5b3V0Vmlld01vZGVsIiwiVk9VUDlkIixfLkZMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS0ksYWVhLCRJLGFKLGJlYTtfLkdJPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE/LmZvcm1JZD09PWI/LmZvcm1JZCYmYT8uZmllbGRJZD09PWI/LmZpZWxkSWR9O18uSEk9ZnVuY3Rpb24oYSl7cmV0dXJuIEVycm9yKCJuZGAiK2EucmVwbGFjZSgvXG5ccyovZywiICIpKX07Xy5JST1mdW5jdGlvbihhKXtyZXR1cm4gRXJyb3IoIm9kYCIrYS5yZXBsYWNlKC9cblxzKi9nLCIgIikpfTtfLkpJPWZ1bmN0aW9uKCl7cmV0dXJue25qOiExLGZiOiEwLHpkOiExLGlzU3VibWl0dGluZzohMSxjczowfX07S0k9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMDtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpe2lmKGQ9PT0iZm9ybUlkIiljb250aW51ZTtsZXQgZT1hW2RdO2Uua2luZD09PTEmJihLSShlLnZhbHVlLGIpfHwoYz0hMSkpfWIoYS5mb3JtSWQpfHwoYz0hMSk7cmV0dXJuIGN9OwpfLk1JPWZ1bmN0aW9uKGEpe3ZhciBiPUxJLmdldChhKTtpZihiKXJldHVybiBiO2I9YS5yZXBsYWNlKC9fKFthLXpBLVowLTldKS9nLChjLGQpPT5kLnRvVXBwZXJDYXNlKCkpO0xJLnNldChhLGIpO3JldHVybiBifTtfLk9JPWZ1bmN0aW9uKCl7Tkk/LihhPT5hKzEpfTtfLlJJPWZ1bmN0aW9uKGEpe1BJP1BJKCk6KFtQSSwsTkldPV8uSigwLHZvaWQgMCwiVnhZMGZiIiksUEkoKSk7cmV0dXJuIF8uUUkuZ2V0KGEpfTtfLlNJPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9Xy5SSShhKTtpZihjKXtpZihiJiZiIT09Yy5VaSl0aHJvdyBfLklJKGBGb3JtIHR5cGUgbWlzbWF0Y2ggZm9yIGZvcm1JZCAke2F9OiBwcm92aWRlZCBmb3JtVHlwZSAiJHtifSIgZG9lcyBub3QgbWF0Y2ggc3RvcmVkIGZvcm1UeXBlICIke2MuVWl9Ii5gKTtyZXR1cm4gYy5mb3JtfX19OwpfLlZJPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUkkoYSk7aWYoIWIpdGhyb3cgXy5USShhKTtpZihiLlNwPT09MClyZXR1cm4gYi5mb3JtO2I9Yi5wZztpZighYil0aHJvdyBfLlVJKGEpO2E9Xy5TSShiLlZ6KTtpZighYSl0aHJvdyBfLkhJKGBGb3JtSWQgJHtiLlZ6fSBub3QgZm91bmQuYCk7cmV0dXJuIGF9O2FlYT1mdW5jdGlvbihhKXt0cnl7dmFyIGI9Xy5WSShhKX1jYXRjaChjKXtyZXR1cm4hMX0oYT1LSShiLGM9Pl8uUUkuZGVsZXRlKGMpKSkmJl8uT0koKTtyZXR1cm4gYX07Xy5XST1mdW5jdGlvbihhLGIpe2lmKGI9PT0iZm9ybUlkIil0aHJvdyBfLklJKCJGaWVsZCBpZCBjYW5ub3QgYmUgZm9ybUlkLiIpO2lmKGE9Xy5TSShhKSlyZXR1cm4gYj1fLk1JKGIpLGFbYl19O18uWEk9ZnVuY3Rpb24oYSl7aWYoYT1fLlJJKGEpKXJldHVybiBhLkRsfTsKXy5aST1mdW5jdGlvbihhKXt2YXIgYj1fLk4oKCk9Pl8uQnYoYSk/P3t9LHtlcXVhbHM6Xy5HSX0sIkxETkxiZCIpLGM9Xy5OKCgpPT57dmFyIHtmb3JtSWQ6ZCxmaWVsZElkOmV9PWIoKTtpZihkJiZlKXt2YXIgZjtpZihmPV8uV0koZCxlKSl7aWYoISgiZnVuY3Rpb24iPT10eXBlb2YgXy5ZSSYmZiBpbnN0YW5jZW9mIF8uWUkpKXRocm93IF8uSUkoYEZpZWxkICR7ZX0gaW4gZm9ybSAke2R9IGlzIG5vdCBhIFNjYWxhckZpZWxkLmApO31lbHNlIGY9dm9pZCAwO3JldHVybiBmfX0sdm9pZCAwLCJvOG8wMGQiKTtyZXR1cm4oKT0+YygpfTskST1mdW5jdGlvbihhLGIpe3ZhciBjPShjPV8uUkkoYSkpP2MuQ246dm9pZCAwO2lmKCFjKXRocm93IF8uSEkoYE1pc3NpbmcgdG9Gb3JtRGF0YSBmdW5jdGlvbiBmb3IgRm9ybUlkICR7YX0uYCk7cmV0dXJuIGMoYil9OwphSj1mdW5jdGlvbihhLGIpe3ZhciBjPShjPV8uUkkoYSkpP2MuQ2w6dm9pZCAwO2lmKCFjKXRocm93IF8uSEkoYE1pc3NpbmcgZm9ybURhdGFFeHRlbnNpb25GaWVsZCBmb3IgRm9ybUlkICR7YX0uYCk7cmV0dXJue1tjXTpifX07CmJlYT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1fLlZJKGEpLGM9Xy5YSShhKTt2YXIgZD0oZD1fLlJJKGEpKT9kLnN1Ym1pdENvbmZpZzp2b2lkIDA7dmFyIGU9Xy55KCkucmVzb2x2ZShfLkluKF8uRkkpKSxmPV8uUkkoYSk7ZiYmKGYuWmQ9ey4uLmYuWmQsaXNTdWJtaXR0aW5nOiEwfSxfLk9JKCkpO3RyeXtpZihkJiZlKXtsZXQgaz0kSShhLGIpO3ZhciBoPWFKKGEsayk7bGV0IGw9YXdhaXQgZS5iaShkLnN1Ym1pdElkLGgse3N1Ym1pdEFjdGlvbjoiU1VCTUlUX0FDVElPTl9TVUJNSVNTSU9OIixhbGxGaWVsZHM6ITB9LGQucGFyYW1zLGQuY2xpY2tUcmFja2luZ1BhcmFtcyk7aWYobC5zdWJtaXRFcnJvcil0aHJvdyBiSihsLnN1Ym1pdEVycm9yKTthd2FpdCBjPy5IbT8uKGwpfWVsc2UgYXdhaXQgYz8ub25TdWJtaXQ/LihiKX1jYXRjaChrKXtyZXR1cm4gayBpbnN0YW5jZW9mIEVycm9yP1Byb21pc2UucmVqZWN0KGspOlByb21pc2UucmVqZWN0KGJKKGspKX1maW5hbGx5e2lmKGE9Cl8uUkkoYSkpYS5aZD17Li4uYS5aZCxpc1N1Ym1pdHRpbmc6ITEsY3M6YS5aZC5jcysxfSxfLk9JKCl9fTtfLmNKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5OKCgpPT5fLkJ2KGEpPz8iIix2b2lkIDAsIkdSbXByIiksZD1fLk4oKCk9Pl8uU0koYygpLGIpLHZvaWQgMCwicGJUZUJiIiksZT1fLk4oKCk9Pnt2YXIgaD1jKCk7cmV0dXJuKGg9Xy5SSShoKSk/aC5aZDpfLkpJKCl9LHZvaWQgMCwidWN2NkxiIiksZj1fLk4oKCk9Pnt2YXIgaD1kKCk7aWYoIWgpcmV0dXJue2Zvcm1EYXRhOnZvaWQgMCxldzp2b2lkIDB9O2g9JEkoYygpLGgpO3JldHVybntmb3JtRGF0YTpoLGV3OmFKKGMoKSxoKX19LHZvaWQgMCwiaEg2MXFjIik7cmV0dXJue2Zvcm06KCk9PmQoKSxkYXRhOigpPT5mKCksc3RhdGU6KCk9PmUoKSxzdWJtaXQ6YXN5bmMoKT0+e2F3YWl0IGJlYShjKCkpfSxkaXNwb3NlOigpPT5hZWEoYygpKX19O18uZEo9U3ltYm9sKCJkZCIpO3ZhciBiSjtfLlRJPWE9Pl8uSEkoYEZvcm0gc2Vzc2lvbiBmb3IgRm9ybUlkICR7YX0gbm90IGZvdW5kLmApO18uVUk9YT0+Xy5ISShgTmVzdGVkIGZvcm0gYWNjZXNzb3IgZm9yIEZvcm1JZCAke2F9IG5vdCBmb3VuZC5gKTtiSj1hPT5fLklJKGBVbmtub3duIGVycm9yIGR1cmluZyBmb3JtIHN1Ym1pc3Npb246ICR7SlNPTi5zdHJpbmdpZnkoYSl9YCk7dmFyIExJPW5ldyBNYXA7dmFyIFBJLE5JO18uUUk9bmV3IE1hcDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEhmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQ0FSRF9TVFlMRV9PVVRMSU5FIjpyZXR1cm4ieXRDYXJkVmlld01vZGVsT3V0bGluZSI7Y2FzZSAiQ0FSRF9TVFlMRV9UT05BTCI6cmV0dXJuInl0Q2FyZFZpZXdNb2RlbFRvbmFsIjtjYXNlICJDQVJEX1NUWUxFX0lOVkVSU0UiOnJldHVybiJ5dENhcmRWaWV3TW9kZWxJbnZlcnRlZCI7ZGVmYXVsdDpyZXR1cm4ieXRDYXJkVmlld01vZGVsUmFpc2VkIn19O3ZhciBITD1uZXcgXy5JKCJzZWN0aW9uSGVhZGVyVmlld01vZGVsIik7dmFyIElmYTtfLklMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVmJYclVlIik7cmV0dXJuIF8uaEh9O0lmYT1fLmNEKCgpPT5fLklMKCksImNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbCIsIlZiWHJVZSIsXy5JTCl9KTt2YXIgSmZhO18uSkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwRVNsRGIiKTtyZXR1cm4gXy5lRn07SmZhPV8uY0QoKCk9Pl8uSkwoKSwidGhlbWVkSW1hZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidGhlbWVkSW1hZ2VWaWV3TW9kZWwiLCJwRVNsRGIiLF8uSkwpfSk7dmFyIEtmYT1uZXcgXy5WcygiQVNLX1NUVURJT19DQVJEX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgTGZhPW5ldyBfLlZzKCJBU0tfU1RVRElPX1ZJREVPX0VESVRfUFJFVklFV19WSUVXX01PREVMX1RPS0VOIik7dmFyIE1mYT1uZXcgXy5WcygiQVVESUVOQ0VfT05MSU5FX0hFQVRNQVBfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBOZmE9bmV3IF8uVnMoIkNPTU1FTlRTX0RJR0VTVF9DT05URU5UX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgT2ZhPW5ldyBfLlZzKCJQUklNRVRJTUVfT0ZGRVJJTkdfSU5fUkVWSUVXX0NBUkRfQ09OVEVOVF9WSUVXX01PREVMX1RPS0VOIik7dmFyIFBmYT1uZXcgXy5WcygiWVRDUF9GVU5ORUxfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBRZmE7Xy5LTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInFWRGdCZCIpO3JldHVybiBfLmRGfTtRZmE9Xy5jRCgoKT0+Xy5LTCgpLCJjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsIiwicVZEZ0JkIixfLktMKX0pO3ZhciBSZmE7Xy5MTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImk2WG9tZSIpO3JldHVybiBfLlBGfTtSZmE9Xy5jRCgoKT0+Xy5MTCgpLCJyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmFkaW9CdXR0b25JdGVtVmlld01vZGVsIiwiaTZYb21lIixfLkxMKX0pO3ZhciBTZmE7Xy5NTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImJ6ajBqZCIpO3JldHVybiBfLnRMfTtTZmE9Xy5jRCgoKT0+Xy5NTCgpLCJpbmxpbmVFeHBhbmRlclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJpbmxpbmVFeHBhbmRlclZpZXdNb2RlbCIsImJ6ajBqZCIsXy5NTCl9KTt2YXIgVGZhO18uTkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGaU5HT2MiKTtyZXR1cm4gXy5nSH07VGZhPV8uY0QoKCk9Pl8uTkwoKSwiZGlzbWlzc2libGVJdGVtIik7Xy5ZdChfLkpELGE9PnthLkooImRpc21pc3NpYmxlSXRlbSIsIkZpTkdPYyIsXy5OTCl9KTt2YXIgVWZhPW5ldyBfLlZzKCJDT05URU5UX1NFQ1RJT05fVklFV19NT0RFTF9UT0tFTiIpO3ZhciBWZmE7Xy5PTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInVSSWFDIik7cmV0dXJuIF8uQkh9O1ZmYT1fLmNEKCgpPT5fLk9MKCksImNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjaGFubmVsQXR0cmlidXRpb25WaWV3TW9kZWwiLCJ1UklhQyIsXy5PTCl9KTt2YXIgUEw9Xy5MKGE9Pnt2YXIgYj1fLlFIKCgpPT5hLmRhdGEoKS50b3BDb250ZW50UGFkZGluZ1Rva2VuKSxjPV8uUUgoKCk9PmEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1ZhbHVlcz8udG9wUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZD1fLlFIKCgpPT5hLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdWYWx1ZXM/LmJvdHRvbVBhZGRpbmdUb2tlbnx8YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVG9rZW4pLGU9Xy5RSCgoKT0+YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVmFsdWVzPy5ob3Jpem9udGFsUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZj0oKT0+YS5kYXRhKCkuYmFja2dyb3VuZCxoPSgpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbkxheW91dD09PSJDQVJEX1RSQUlMSU5HX0FDVElPTl9MQVlPVVRfT1ZFUkxBWSIsaz0oKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb25MYXlvdXQ9PT0KIkNBUkRfVFJBSUxJTkdfQUNUSU9OX0xBWU9VVF9JTkxJTkVfQ0VOVEVSIixsPV8ueSgpLnJlc29sdmUoXy5JbihVZmEpKSxtPV8ueSgpLnJlc29sdmUoXy5JbihLZmEpKSxuPV8ueSgpLnJlc29sdmUoXy5JbihMZmEpKSxwPV8ueSgpLnJlc29sdmUoXy5JbihOZmEpKSxyPV8ueSgpLnJlc29sdmUoXy5JbihNZmEpKSx0PV8ueSgpLnJlc29sdmUoXy5JbihQZmEpKSx2PV8ueSgpLnJlc29sdmUoXy5JbihPZmEpKSx6PSgpPT5hLmRhdGEoKS5jYXJkU3RhdGU/LmVuYWJsZW1lbnRTdGF0ZT09PSJDQVJEX0VOQUJMRU1FTlRfU1RBVEVfRElTQUJMRUQiLEU9KCk9PiF6KCkmJl8udEgoYS5kYXRhKCkucmVuZGVyZXJDb250ZXh0KSxBPSgpPT57aWYoYS5pc0V4cGFuZGVkPy4oKSE9PXZvaWQgMClyZXR1cm4gYS5pc0V4cGFuZGVkPy4oKTtzd2l0Y2goYS5kYXRhKCkuY2FyZFN0YXRlPy5leHBhbnNpb25TdGF0ZSl7Y2FzZSAiQ0FSRF9FWFBBTlNJT05fU1RBVEVfRVhQQU5ERUQiOnJldHVybiEwOwpjYXNlICJDQVJEX0VYUEFOU0lPTl9TVEFURV9DT0xMQVBTRUQiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuIGEuaXNTZWxlY3RlZD8uKCl9fTtyZXR1cm4gXy5LKCJ5dC1jYXJkLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbEhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKFRmYSx7Y29udGVudElkOigpPT5hLmRhdGEoKS5jb250ZW50SWR9LCgpPT5fLksoImRpdiIse2VsOl8uckYoXy51SCgoKT0+RSgpP2EuZGF0YSgpLnJlbmRlcmVyQ29udGV4dDp2b2lkIDAsdm9pZCAwLHZvaWQgMCxbIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKSwuLi4oXy54KCJXZWJGRUFsbFN0dWRpb0J5Q2hhbm5lbF9fZW5hYmxlX2FuYWx5dGljc19odWJfd2ViIik/WyJZVC1MSVNULUlURU0tVklFVy1NT0RFTCJdOltdKV0pKSxjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbENhcmRWaWV3TW9kZWxJbm5lciIse3l0Q2FyZFZpZXdNb2RlbENsaWNrYWJsZTpFfSwoKT0+SGZhKGEuZGF0YSgpLmNhcmRTdHlsZSksCnt5dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWQ6KCk9PiEhYS5pc1NlbGVjdGVkPy4oKX0sKCk9PntpZihhLmlzU2VsZWN0ZWQ/LigpPT09dm9pZCAwKXthOntzd2l0Y2goYS5kYXRhKCkuY2FyZFN0YXRlPy5zZWxlY3Rpb25TdGF0ZSl7Y2FzZSAiQ0FSRF9TRUxFQ1RJT05fU1RBVEVfU0VMRUNURUQiOnZhciBGPSJ5dENhcmRWaWV3TW9kZWxTZWxlY3RlZCI7YnJlYWsgYX1GPXZvaWQgMH1yZXR1cm4gRn19KSxyb2xlOigpPT5FKCkmJiFfLkIoYS5kYXRhKCkudG9wQ29udGVudCxITCk/ImJ1dHRvbiI6dm9pZCAwLCJhcmlhLWRpc2FibGVkIjp6LHRhYmluZGV4OigpPT56KCk/LTE6RSgpJiYhXy5CKGEuZGF0YSgpLnRvcENvbnRlbnQsSEwpPzA6dm9pZCAwfSxfLksoXy5XLHtkYXRhOmYsd3JhcHBlcjpGPT5fLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlciJ9LEYoKSl9LHtjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWw6UWZhLHRoZW1lZEltYWdlVmlld01vZGVsOih7ZGF0YTpGfSk9PgpfLksoSmZhLHtkYXRhOkYsY2xhc3NOYW1lOiJ5dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kIn0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsQ29udGVudFdyYXBwZXIifSxfLksoXy5PLHtBOigpPT4haCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsVG9wQ29udGVudCIse3l0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRQYWRkaW5nOigpPT4hYS5kYXRhKCkuZGlzYWJsZVRvcENvbnRlbnRQYWRkaW5nJiZhLmRhdGEoKS50b3BDb250ZW50fSksc3R5bGU6Xy5JRSh7cGFkZGluZzpifSl9LF8uSyhfLlcse2RhdGE6KCk9PmEuZGF0YSgpLnRvcENvbnRlbnR9LHtjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWw6Xy5uTCxiYXNpY0NvbnRlbnRWaWV3TW9kZWw6Xy5sTCxsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCxsaXN0SXRlbVZpZXdNb2RlbDpfLnBMLApzZWN0aW9uSGVhZGVyVmlld01vZGVsOl8udkR9KSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uIix7eXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb246ayx5dENhcmRWaWV3TW9kZWxJbmxpbmVUcmFpbGluZ0FjdGlvbk1hcmdpbjooKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb259KX0sXy5LKF8uVyx7ZGF0YTooKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb259LHtidXR0b25WaWV3TW9kZWw6Xy5VRn0pKSl9KSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRDYXJkVmlld01vZGVsQm90dG9tQ29udGVudFBhZGRpbmc6KCk9PiFhLmRhdGEoKS5kaXNhYmxlQm9keUNvbnRlbnRQYWRkaW5nJiZhLmRhdGEoKS5ib2R5Q29udGVudH0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLXRvcCI6YywicGFkZGluZy1ib3R0b20iOmQsInBhZGRpbmctbGVmdCI6ZSwicGFkZGluZy1yaWdodCI6ZX0pfSxfLksoXy5XLHtkYXRhOigpPT4KYS5kYXRhKCkuYm9keUNvbnRlbnR9LHtiYXNpY0NvbnRlbnRWaWV3TW9kZWw6Xy5sTCxjaGFubmVsQXR0cmlidXRpb25WaWV3TW9kZWw6VmZhLGNvbnRlbnRJbnNwaXJhdGlvbkNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWw6SWZhLGNvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbDpfLm5MLGRlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbDpfLnZMLGlubGluZUV4cGFuZGVyVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhTZmEse2RhdGE6Rixpc1NlbGVjdGVkOkF9KSxsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCxsaXN0SXRlbVZpZXdNb2RlbDpfLnBMLGxvY2t1cFZpZXdNb2RlbDooe2RhdGE6Rn0pPT5fLksoXy5yTCx7ZGF0YTpGLHdxOiEwfSksLi4uKG0mJnthc2tTdHVkaW9DYXJkVmlld01vZGVsOm19KSwuLi4obiYme2Fza1N0dWRpb1ZpZGVvRWRpdFByZXZpZXdWaWV3TW9kZWw6bn0pLC4uLihyJiZ7YXVkaWVuY2VPbmxpbmVIZWF0bWFwVmlld01vZGVsOnJ9KSwuLi4ocCYmCntjb21tZW50c0RpZ2VzdENvbnRlbnRWaWV3TW9kZWw6cH0pLC4uLihsJiZ7Y29udGVudFNlY3Rpb25WaWV3TW9kZWw6bH0pLC4uLih2JiZ7cHJpbWV0aW1lT2ZmZXJpbmdJblJldmlld0NhcmRDb250ZW50Vmlld01vZGVsOnZ9KSwuLi4odCYme2Z1bm5lbFZpZXdNb2RlbDp0fSl9KSkpLF8uSyhfLk8se0E6KCk9PmgoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxPdmVybGF5VHJhaWxpbmdBY3Rpb24ifSxfLksoXy5XLHtkYXRhOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0se2J1dHRvblZpZXdNb2RlbDpfLlVGfSkpfSksXy5LKF8uTyx7QTp6LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheSIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KX0pKSkpfSwiQWEiKTt2YXIgV2ZhPVsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXSxYZmE9Xy5MKGE9PntmdW5jdGlvbiBiKEgpe2UoKS5pc0Rpc2FibGVkfHwoZj9mKEgudGFyZ2V0LGUoKSxrPy4oKSk6QSghRSgpKSl9ZnVuY3Rpb24gYyhIKXtILmtleT09PSIgIiYmKEgucHJldmVudERlZmF1bHQoKSxILnRhcmdldC5jbGljaygpKX12YXIgZD1fLngoImVuYWJsZV9uYXRpdmVfaW5wdXRfc2VsZWN0YWJsZV9pdGVtIiksZT1hLmRhdGEsZj1hLm9uU2VsZWN0ZWQsaD1hLlNoLGs9YS5ncm91cE5hbWUsbD1hLmNsYXNzTmFtZSxtPWEucm9sZSxuPSJyYWRpbyIrXy5PSCgpLHA9Xy5RSCgoKT0+ZSgpLnZlcnRpY2FsUGFkZGluZ1Rva2VuKSxyPV8uUUgoKCk9PmUoKS5ob3Jpem9udGFsUGFkZGluZ1Rva2VuKSx0PSgpPT5lKCkuY29udGVudCxbdix6XT1fLkooITEsdm9pZCAwLCJVbTdGZ2MiKSxFPXYsQT16LEY9KCk9PiEhZSgpLmlzRGlzYWJsZWQsQz0oKT0+e2lmKGghPT12b2lkIDApe2xldCBIPQpoKCk7cmV0dXJuISghSHx8ZSgpLmtleSE9PUgpfXJldHVybiBFKCl9LEc9KCk9PmghPT12b2lkIDAmJmUoKS5iZWhhdmlvcj09PSJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfRVhQQU5ERURfTk9UX1NFTEVDVEVEIj8hMTpDKCksRD0oKT0+e2lmKGghPT12b2lkIDAmJkMoKSlzd2l0Y2goZSgpLmJlaGF2aW9yKXtjYXNlICJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfU0VMRUNURURfTk9UX0VYUEFOREVEIjpyZXR1cm4hMTtjYXNlICJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfRVhQQU5ERURfTk9UX1NFTEVDVEVEIjpyZXR1cm4hMH19O3JldHVybiBkP18uSygieXQtc2VsZWN0YWJsZS1pdGVtLXZpZXctbW9kZWwiLHtzdHlsZTpfLklFKHsicGFkZGluZy10b3AiOnAsInBhZGRpbmctYm90dG9tIjpwLCJwYWRkaW5nLWxlZnQiOnIsInBhZGRpbmctcmlnaHQiOnJ9KSxjbGFzczpfLlAoInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxIb3N0IixsLCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsQ29udGFpbmVyIiwKInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVDb250YWluZXIiLHt5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsRGlzYWJsZWQ6Rn0pLCJwcm9wOmNoZWNrZWQiOkd9LF8uSygiaW5wdXQiLHtpZDpuLHR5cGU6InJhZGlvIixuYW1lOmEuZ3JvdXBOYW1lLCJwcm9wOmNoZWNrZWQiOkcsZGlzYWJsZWQ6Riwib246Y2xpY2siOmIsIm9uOmtleWRvd24iOmMsY2xhc3M6Inl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVSYWRpb0J1dHRvbiJ9KSxfLksoImxhYmVsIix7Zm9yOm4sY2xhc3M6Inl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbCIsIm9uOmtleWRvd24iOmN9LF8uSyhfLlcse2RhdGE6dH0se2NhcmRWaWV3TW9kZWw6KHtkYXRhOkh9KT0+Xy5LKFBMLHtkYXRhOkgsaXNTZWxlY3RlZDpHLGlzRXhwYW5kZWQ6RH0pfSkpKTpfLksoInl0LXNlbGVjdGFibGUtaXRlbS12aWV3LW1vZGVsIix7c3R5bGU6Xy5JRSh7InBhZGRpbmctdG9wIjpwLCJwYWRkaW5nLWJvdHRvbSI6cCwKInBhZGRpbmctbGVmdCI6ciwicGFkZGluZy1yaWdodCI6cn0pLCJhcmlhLWNoZWNrZWQiOkcsY2xhc3M6Xy5QKCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsSG9zdCIsbCwieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lciIse3l0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxEaXNhYmxlZDpGfSksIm9uOmNsaWNrIjpmdW5jdGlvbihIKXtpZighZSgpLmlzRGlzYWJsZWQpe3ZhciBSPUguY3VycmVudFRhcmdldDtpZihfLngoIndlYl9zZWxlY3RhYmxlX2l0ZW1fY2hpbGRfdGFwX2tpbGxfc3dpdGNoIikpUj0hMTtlbHNle3ZhciBNPV8ucUgoSCk7Uj1fLnJIKE0sUixXZmEpfVJ8fChmP2YoSC5jdXJyZW50VGFyZ2V0LGUoKSxrPy4oKSk6QSghRSgpKSl9fSwicHJvcDpjaGVja2VkIjpHLHJvbGU6bSwiYXJpYS1kaXNhYmxlZCI6Rix0YWJpbmRleDowfSxfLksoXy5XLHtkYXRhOnR9LHtjYXJkVmlld01vZGVsOih7ZGF0YTpIfSk9Pl8uSyhQTCx7ZGF0YTpILGlzU2VsZWN0ZWQ6RywKaXNFeHBhbmRlZDpEfSl9KSl9LCJCYSIpO18uRUw9Xy5MKGE9PntmdW5jdGlvbiBiKHosRSxBKXt2YXIgRj1jKCkuZm9ybUZpZWxkTWV0YWRhdGEmJm0oKSE9PXZvaWQgMD8zOmQoKT8yOjE7Rj09PTEmJkUua2V5IT1udWxsJiZ0KEUua2V5KTtGPT09MyYmRS5rZXkhPW51bGwmJm0oKT8udXBkYXRlVmFsdWUoRS5rZXkpO2U/Lih6LEUsQSl9dmFyIHtkYXRhOmMsV2I6ZCxvblNlbGVjdGVkOmUsU2g6Zixncm91cE5hbWU6aCxjbGFzc05hbWU6ayxuYTpsfT1fLkRDKGEse1diOiEwfSksbT1fLlpJKCgpPT5jKCkuZm9ybUZpZWxkTWV0YWRhdGEpLG49KCk9Pmg/LigpfHxjKCkua2V5LFtwLHJdPV8uQUMoKCk9PmMoKS5kZWZhdWx0U2VsZWN0ZWRLZXkpLHQ9cix2PSgpPT4oYygpLmZvcm1GaWVsZE1ldGFkYXRhJiZtKCkhPT12b2lkIDA/MzpkKCk/MjoxKT09PTM/bSgpPy52YWx1ZTpkKCk/Zj8uKCk6cCgpO3JldHVybiBfLksoInl0LXJhZGlvLWJ1dHRvbi1ncm91cC12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0IiwKayl9LF8uSygiZmllbGRzZXQiLHtjbGFzczoieXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRmllbGRzZXQiLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLWludmFsaWQiOigpPT4hIW0oKT8uZXJyb3JzPy5bMF0sImFyaWEtZGVzY3JpYmVkYnkiOigpPT5tKCk/LmVycm9ycz8uWzBdP2BlcnJvci0ke2MoKS5rZXl9YDp2b2lkIDB9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5yYWRpb0J1dHRvbnN9LHtyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWw6KHtkYXRhOnp9KT0+Xy5LKFJmYSx7ZGF0YTp6LG9uU2VsZWN0ZWQ6YixTaDp2LGdyb3VwTmFtZTpuLG5hOmx9KSxzZWxlY3RhYmxlSXRlbVZpZXdNb2RlbDooe2RhdGE6en0pPT5fLksoWGZhLHtkYXRhOnosb25TZWxlY3RlZDpiLFNoOnYsZ3JvdXBOYW1lOm4scm9sZToicmFkaW8ifSl9KSksXy5LKF8uTyx7QTooKT0+bSgpPy5lcnJvcnM/LlswXSx0aGVuOno9Pl8uSygiZGl2Iix7aWQ6KCk9PmBlcnJvci0ke2MoKS5rZXl9YCxjbGFzczoieXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRXJyb3IifSwKKCk9PnooKS5tZXNzYWdlKX0pKX0sIkNhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImQyTFR4YiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFFPV8uTCgoe25hbWU6YSxvbkNoYW5nZTpiLG9uQ2xpY2s6YyxjaGVja2VkOmQsWWU6ZSxoazpmLFlpOmgscWo6ayxuYTpsLFZjOm0sYXJpYUxhYmVsOm4sY2xhc3NOYW1lOnAsZGlzYWJsZWQ6cixob3Jpem9udGFsUGFkZGluZzp0LHZlcnRpY2FsUGFkZGluZzp2fSk9Pnt2YXIgej0icmFkaW8iK18uT0goKSxFPV8udUUoImlucHV0IiksQT1fLngoImVuYWJsZV9pb3Nfd2Vidmlld19yYWRpb19idXR0b25fcmVzcG9uc2l2ZW5lc3MiKSxbRixDXT1fLkooITEsdm9pZCAwLCJmTHJYNmQiKTtyZXR1cm4gXy5LKCJyYWRpby1zaGFwZSIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlSG9zdCIscCl9LF8uSygiaW5wdXQiLHtlbDpFLGNsYXNzOl8uUCgieXRSYWRpb1NoYXBlSW5wdXQiLHt5dFJhZGlvU2hhcGVUYXBwYWJsZTooKT0+KCEhYnx8ISFjKSYmIXI/LigpfSksaWQ6eiwicHJvcDpjaGVja2VkIjpkLG5hbWU6YSx0eXBlOiJyYWRpbyIsZGlzYWJsZWQ6ciwib246Y2hhbmdlIjpmdW5jdGlvbihHKXtFLnZhbHVlLmNoZWNrZWQ9CiEhZD8uKCk7Yj8uKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjbGljayI6ZnVuY3Rpb24oRyl7Yz8uKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJhcmlhLWxhYmVsIjpuLCJvbjpmb2N1c2luIjpmdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk/LlhlKCkmJkMoITApfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKCl7QyghMSl9fSksXy5LKCJsYWJlbCIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlTGFiZWxDb250YWluZXIiLGsse3l0UmFkaW9TaGFwZUNvbXBhY3Q6bCx5dFJhZGlvU2hhcGVLZXlib2FyZEZvY3VzZWQ6Rix5dFJhZGlvU2hhcGVUYXBwYWJsZTooKT0+KCEhYnx8ISFjKSYmIXI/LigpLHl0UmFkaW9TaGFwZURpc2FibGVkOnJ9KSxmb3I6en0sXy5LKF8uTyx7QTooKT0+IWg/LigpLHRoZW46KCk9Pl8uSyhTSCx7Y2hlY2tlZDpkLGhrOmYsZ2c6ITAsVmM6bSxEczpBfSl9KSxfLksoXy5PLHtBOigpPT4hIWUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UmFkaW9TaGFwZUxhYmVsIiwKe3l0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2g6QX0pLCJhcmlhLWhpZGRlbiI6KCk9PiEhbj8uKCksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6dCwicGFkZGluZy1yaWdodCI6dCwicGFkZGluZy10b3AiOnYsInBhZGRpbmctYm90dG9tIjp2fSl9LGU/LigpKX0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoU0gse2NoZWNrZWQ6ZCxoazpmLGdnOiExLFZjOm0sRHM6QX0pfSkpKX0sInciKTtfLkFFLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DaGFuZ2U6ITAsb25DbGljazohMCxZZTohMH19Owp2YXIgU0g9Xy5MKCh7aGs6YSxWYzpiLERzOmN9KT0+e3ZhciBkPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJDSVJDTEVfRlVMTCI6IkNJUkNMRSI7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVSYWRpbyIsYix7eXRSYWRpb1NoYXBlQ2hlY2tJY29uOmEseXRSYWRpb1NoYXBlUmFkaW9EZWZhdWx0U3R5bGU6KCk9PiFiPy4oKSx5dFJhZGlvU2hhcGVFdmVudFBhc3N0aHJvdWdoOmN9KSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uTUQse2ljb246KCk9PmE/LigpPyJDSEVDSyI6IkNJUkNMRSJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YT8uKCk/IkNIRUNLIjpkLGFjdGl2ZTooKT0+IWE/LigpfSkpfSwieCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJ6Q2tLQmMiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5WRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImFjRnVWYyIpO3JldHVybiBfLkdEfTtfLldGPV8uY0QoKCk9Pl8uVkYoKSwiY29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsIiwiYWNGdVZjIixfLlZGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLllGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiZjkwdENiIik7cmV0dXJuIF8uRkR9O18uWkY9Xy5jRCgoKT0+Xy5ZRigpLCJ0b2dnbGVCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidG9nZ2xlQnV0dG9uVmlld01vZGVsIiwiZjkwdENiIixfLllGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmJHPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiTFZpTU0iKTtyZXR1cm4gXy5ERH07Xy5jRz1fLmNEKCgpPT5fLmJHKCksInN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWwiLCJMVmlNTSIsXy5iRyl9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGRHO18uZUc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55KCkucmVzb2x2ZShfLkluKGRHKSksW2MsZF09Xy5KKGIsdm9pZCAwLCJIZkRkSyIpO2J8fF8uWXQoZEcsZCk7cmV0dXJuIF8uTigoKT0+e3ZhciBlPWEoKTtyZXR1cm4gZT9jKCk/LihlKTp2b2lkIDB9LHZvaWQgMCwidjcwRTdiIil9O2RHPW5ldyBfLlZzKCJTRU1BTlRJQ19DT0xPUl9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmlIPW5ldyBfLlZzKCJIT1JJWk9OVEFMX0JBUl9WSUVXX01PREVMX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTEg9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBfLnkoKS5yZXNvbHZlKF8uSkgpO3JldHVybiBfLnkoKS5yZXNvbHZlKF8uS0gpKCl9O18uTUg9ZnVuY3Rpb24oKXtyZXR1cm4gXy55KCkucmVzb2x2ZShfLktIKSgpfTtuZXcgXy5jcztfLkpIPW5ldyBfLlZzKCJXQVRDSF9QTEFZRVJfUFJPTUlTRV9UT0tFTiIpO25ldyBfLmNzO18uS0g9bmV3IF8uVnMoIkdFVF9TSE9SVFNfUExBWUVSX0ZVTkNUSU9OX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVUg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPU9iamVjdC5rZXlzKGIpO18ubkUoKCk9PntpZihhPy4oKSl7Zm9yKGxldCBlIG9mIGQpYy5hZGRFdmVudExpc3RlbmVyKGUsYltlXSk7Xy5ZdSgoKT0+e2ZvcihsZXQgZSBvZiBkKWMucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGJbZV0pfSl9fSwiYlhaR2ZlIil9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGRJLFBkYSxmSSxRZGEsaUksU2RhO2RJPWZ1bmN0aW9uKGEpe2lmKGEpc3dpdGNoKGEpe2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1hTTUFMTCI6cmV0dXJuIDE2O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1NNQUxMIjpyZXR1cm4gMTg7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfU1RBTkRBUkQiOnJldHVybiAyNDtjYXNlICJMSVNUX0lURU1fSUNPTl9BQ0NFU1NPUllfU0laRV9MQVJHRSI6cmV0dXJuIDM2O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1hMQVJHRSI6cmV0dXJuIDQ4O2RlZmF1bHQ6cmV0dXJuIDI0fX07ClBkYT1mdW5jdGlvbihhLGIpe2lmKCFhPy5lbnRpdHlTZWxlY3RvclR5cGV8fCFhPy5lbnRpdHlLZXkpcmV0dXJue307c3dpdGNoKGEuZW50aXR5U2VsZWN0b3JUeXBlKXtjYXNlICJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DQVBUSU9OX0xBTkdVQUdFX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT1fLk1IKCk/LmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpLGI9dHlwZW9mIGE/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U9PT0ib2JqZWN0IiYmYS50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fGE/LmRpc3BsYXlOYW1lfHwiIix7ZGF0YTp7Li4uKCEhYiYme3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yn19KSwuLi4oISFiJiZ7bGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZToiQ0xPU0VEX0NBUFRJT05fU0VMRUNURUQifX1dfX0pLGlzRGlzYWJsZWQ6dHlwZW9mIGE9PT0idW5kZWZpbmVkIn19O2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0FVRElPX1RSQUNLX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT0KXy5NSCgpPy5nZXRBdWRpb1RyYWNrKCl8fHZvaWQgMCxiPWE/LmdldExhbmd1YWdlSW5mbygpPy5nZXROYW1lKCkse2RhdGE6e3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yn0sLi4uKGImJiFhPy5nZXRMYW5ndWFnZUluZm8oKT8uZ2V0SXNEZWZhdWx0KCkmJntsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJQRVJTT05fUkFEQVJfRklMTEVEIn19XX19KX19O2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1BMQVlCQUNLX1NQRUVEX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT1fLngoIndlYl9zaG9ydHNfcGxheWJhY2tfcmF0ZV9waWNrZXIiKSxfLmVJWyJjb3VudGVyZmFjdHVhbHMud2ViX3Nob3J0c19wbGF5YmFja19yYXRlX3BpY2tlciJdPVN0cmluZyhhKSxhPyhhPV8uTUgoKT8uZ2V0UGxheWJhY2tSYXRlKCksYj1fLk1IKCk/LmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKSxhPXtkYXRhOntzZWxlY3Rpb25UZXh0Ontjb250ZW50OmE9PT0KMT9fLmFBKCJQTEFZRVJfU1BFRURfTk9STUFMIix2b2lkIDAsIk5vcm1hbCIpOl8uYUEoIlBMQVlCQUNLX1NQRUVEX1giLHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyOmAke2E/LnRvRml4ZWQoMil9YH0pfSxpc0Rpc2FibGVkOiFiPy5sZW5ndGh9fSk6YT17fSxhO2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1JFTU9WRV9BRFNfQURfU1RBVEUiOnJldHVybiBhPWE/LmVudGl0eUtleT8oYT1fLkhIKGIsYS5lbnRpdHlLZXkpKT97aXNIaWRkZW46YT8uYWRzU3RhdGUhPT0iQURTX1NUQVRFX1BMQVlJTkcifTp7aXNIaWRkZW46ITB9Ont9LGE7ZGVmYXVsdDpyZXR1cm57fX19O2ZJPWZ1bmN0aW9uKGEpe2lmKGEmJihhPWEuc3BsaXQoIjoiKSxhLmxlbmd0aD4xKSlyZXR1cm4gYVswXS5sZW5ndGg+MD9hWzBdOnZvaWQgMH07UWRhPWZ1bmN0aW9uKGEpe2lmKGEmJiFnSS5oYXMoYSkpe3ZhciBiPWZJKGEpO2ImJmdJLnNldChhLGIpfX07CmlJPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17Li4uaEkoKX07aWYoYiYmYz09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIil7bGV0IGU9ZkkoYSk7ZSYmZ0kuZm9yRWFjaCgoZixoKT0+e2Y9PT1lJiZoIT09YSYmKGRbaF09ITEpfSl9ZFthXT1iO1JkYShkKX07U2RhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2lmKCFjPy4oKSl7dmFyIGU9Zj0+e18uckgoXy5xSChmKSxkLGIpfHxhKGYpfTtkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlKTtyZXR1cm4oKT0+e2QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGUpfX19fTtfLmVJPXt9O18uakk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJtbTJOMGMiKTtyZXR1cm4gXy56RX07Xy5rST1fLmNEKCgpPT5fLmpJKCksInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzd2l0Y2hCdXR0b25WaWV3TW9kZWwiLCJtbTJOMGMiLF8uakkpfSk7dmFyIG1JO18ubEk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJoYjBXbWYiKTtyZXR1cm4gXy5YRn07bUk9Xy5jRCgoKT0+Xy5sSSgpLCJhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbCIsImhiMFdtZiIsXy5sSSl9KTt2YXIgVGRhO18ubkk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJoTmVsdmQiKTtyZXR1cm4gXy5hSX07VGRhPV8uY0QoKCk9Pl8ubkkoKSwibGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWwiLCJoTmVsdmQiLF8ubkkpfSk7dmFyIFVkYTtfLm9JPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicjVDT0hmIik7cmV0dXJuIF8uJEh9O1VkYT1fLmNEKCgpPT5fLm9JKCksImxpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsIiwicjVDT0hmIixfLm9JKX0pO3ZhciBwST1fLkwoKHtkYXRhOmEsZ2c6YixjZTpjLGlzVG9nZ2xlZDpkLERnOmUsbmE6Zn0pPT57dmFyIGg9KCk9PmIoKT9hKCkubGVhZGluZ0ltYWdlOmEoKS50cmFpbGluZ0ltYWdlPz9fLlFGKGEoKS50aGVtZWRUcmFpbGluZ0ltYWdlKSxrPSgpPT57YTp7dmFyIHI9YSgpLmxpc3RJdGVtSWNvbkFmdGVyU2VsZWN0aW9uVGV4dDtpZighYz8uKCkpc3dpdGNoKHIpe2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX0VYUEFORF9NT1JFIjpyPSJleHBhbmRfbW9yZSI7YnJlYWsgYTtjYXNlICJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9OT05FIjpicmVhaztkZWZhdWx0OnI9ImNoZXZyb25fcmlnaHQiO2JyZWFrIGF9cj12b2lkIDB9cmV0dXJuIHJ9LGw9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSW1hZ2VDb250YWluZXIiLHt5dExpc3RJdGVtVmlld01vZGVsTGVhZGluZzpiLHl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzooKT0+IWIoKX0pLAptPV8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSIsInl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZSIpLG49Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5Iix7eXRMaXN0SXRlbVZpZXdNb2RlbExlYWRpbmc6Yix5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmc6KCk9PiFiKCl9KSxwPV8uZUcoKCk9PmIoKT9hKCkubGVhZGluZ0ljb25Db2xvclRva2VuOmEoKS50cmFpbGluZ0ljb25Db2xvclRva2VuKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+e3ZhciByPWEoKSx0PWIoKTtyZXR1cm4hISh0JiYoci5sZWFkaW5nSW1hZ2V8fHIubGVhZGluZ0FjY2Vzc29yeSl8fCF0JiYoci50cmFpbGluZ0ltYWdlfHxyLnRyYWlsaW5nQnV0dG9ufHxyLnRyYWlsaW5nQnV0dG9uc3x8ci50cmFpbGluZ0FjY2Vzc29yaWVzTGlzdHx8ci5zZWxlY3Rpb25UZXh0fHxyLnRoZW1lZFRyYWlsaW5nSW1hZ2V8fHIudHJhaWxpbmdJbWFnZUFjY2Vzc29yeVR5cGU9PT0iTElTVF9JVEVNX0lNQUdFX0FDQ0VTU09SWV9UWVBFX05FV19DT05URU5UX0lORElDQVRPUiJ8fApyLnRyYWlsaW5nTGFiZWwpKX0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOmgsdGhlbjpyPT5fLksoImRpdiIse2NsYXNzOmwsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLmpGLHtkYXRhOnIsYWx0OiIiLFRhOiEwLFlhOiEwLEFiOigpPT57dmFyIHQ9KGIoKT9hKCkubGVhZGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfSUNPTiI6YSgpLnRyYWlsaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9JQ09OIik/YigpP2RJKGEoKS5sZWFkaW5nSWNvbkFjY2Vzc29yeVNpemUpOmRJKGEoKS50cmFpbGluZ0ljb25BY2Nlc3NvcnlTaXplKTp2b2lkIDA7cmV0dXJuIHR9LGNsYXNzTmFtZTptLGlzVG9nZ2xlZDooKT0+IWU/LigpJiZkPy4oKSxzdHlsZTpfLklFKHtjb2xvcjpwfSl9KSl9KSxfLksoXy5PLHtBOigpPT5iKCkmJmEoKS5sZWFkaW5nQWNjZXNzb3J5LHRoZW46KCk9PgpfLksoImRpdiIse2NsYXNzOmx9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5sZWFkaW5nQWNjZXNzb3J5fSx7YXZhdGFyVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlNGLHtkYXRhOnIsZ2Q6bSxNazooKT0+Zj8uKCk/e3NpemU6ImV4dHJhLXNtYWxsIn06e3NpemU6Im1lZGl1bSJ9fSksY29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5XRix7ZGF0YTpyLG1heEhlaWdodDozNix3aWR0aDo1NixjZzohMH0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQnV0dG9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5hKCkudHJhaWxpbmdCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQnV0dG9ucz8uYnV0dG9ucywKdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50cmFpbGluZ0J1dHRvbnM/LmJ1dHRvbnN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pLGFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhtSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmtJLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uY0cse2RhdGE6cixpc092ZXJsYXk6ITEsUWQ6ITEsY2xhc3NOYW1lOm59KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uWkYse2RhdGE6cixjbGFzc05hbWU6bn0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0Py50cmFpbGluZ0FjY2Vzc29yaWVzLAp0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0Py50cmFpbGluZ0FjY2Vzc29yaWVzfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlVGLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksobUkse2RhdGE6cixjbGFzc05hbWU6bn0pLHN3aXRjaEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5rSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3Vic2NyaWJlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmNHLHtkYXRhOnIsaXNPdmVybGF5OiExLFFkOiExLGNsYXNzTmFtZTpufSksdG9nZ2xlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlpGLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxiYWRnZVZpZXdNb2RlbDooe2RhdGE6cn0pPT4KXy5LKF8uYUcse2RhdGE6cixjbGFzczpufSksbGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKFRkYSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksbGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKFVkYSx7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiYhIWEoKS5zZWxlY3Rpb25UZXh0LHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uVix7dGV4dDooKT0+YSgpLnNlbGVjdGlvblRleHQsY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbFNlbGVjdGlvblRleHQiLCJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0Iil9KSxfLksoXy5PLHtBOmssdGhlbjpyPT5fLksoXy5NRCx7aWNvbjpyLGNsYXNzTmFtZToieXRMaXN0SXRlbVZpZXdNb2RlbENoZXZyb25JY29uIixhcmlhSGlkZGVuOiEwLHN0eWxlOl8uSUUoe2NvbG9yOnB9KX0pfSkpfSksXy5LKF8uTyx7QTooKT0+CiFiKCkmJmEoKS50cmFpbGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfTkVXX0NPTlRFTlRfSU5ESUNBVE9SIix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmx9LF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxOZXdDb250ZW50SW5kaWNhdG9yIn0pKX0pLF8uSyhfLk8se0E6KCk9PiFiKCkmJmEoKS50cmFpbGluZ0xhYmVsLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmEoKS50cmFpbGluZ0xhYmVsLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsIiwieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIil9KX0pKX0pfSwieiIpO3ZhciBWZGE9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5pSCkpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQm90dG9tQWNjZXNzb3J5In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJvdHRvbUFjY2Vzc29yeX0sey4uLihiJiZ7aG9yaXpvbnRhbEJhclZpZXdNb2RlbDpifSl9KSl9LCJBIik7dmFyIHFJPV8uTChhPT57dmFyIGI9YS5kYXRhLGM9YS5jbGFzc05hbWUsZD1fLmVHKCgpPT5iKCkuaXNEaXNhYmxlZCYmYigpLmxhYmVsRGlzYWJsZWRDb2xvclRva2VuP2IoKS5sYWJlbERpc2FibGVkQ29sb3JUb2tlbjpiKCkubGFiZWxUZXh0Q29sb3JUb2tlbiksZT1fLmVHKCgpPT5iKCkuc3VwZXJMYWJlbENvbG9yVG9rZW4pO3JldHVybiBfLksoXy5PLHtBOigpPT5iKCkuc3VwZXJsYWJlbHx8YigpLnRpdGxlfHxiKCkuc3VidGl0bGV8fGIoKS5zdWJ0aXRsZUJhZGdlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uTyx7QTooKT0+YigpLnN1cGVybGFiZWwsdGhlbjpmPT5fLksoXy5WLHt0ZXh0OmYsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsU3VwZXJsYWJlbCIsc3R5bGU6Xy5JRSh7Y29sb3I6ZX0pfSl9KSxfLksoXy5PLHtBOigpPT5iKCkudGl0bGUsdGhlbjpmPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVyIn0sCl8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsVGl0bGUiLHt5dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxlOigpPT5iKCkudGl0bGVNYXhMaW5lcz09PTF9KSxzdHlsZTpfLklFKHtjb2xvcjpkfSl9KSl9KSxfLksoXy5PLHtBOigpPT5iKCkuc3VidGl0bGVCYWRnZXx8YigpLnN1YnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlciJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKS5zdWJ0aXRsZUJhZGdlfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmZ9KT0+Xy5LKF8uYUcse2RhdGE6Zn0pfSkpLF8uSyhXZGEse2RhdGE6Yix5dzooKT0+ISFiKCkuc3VidGl0bGVCYWRnZX0pKX0pKX0pfSwiQiIpLFdkYT1fLkwoYT0+e3ZhciBiPV8uZUcoKCk9PmEuZGF0YSgpLnN1YkxhYmVsQ29sb3JUb2tlbik7CnJldHVybiBfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5zdWJ0aXRsZSx0aGVuOmM9Pl8uSyhfLlYse3RleHQ6YyxjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsU3VidGl0bGUiLHt5dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdlOmEueXd9KSxzdHlsZTpfLklFKHtjb2xvcjpifSl9KX0pfSwiQyIpO3ZhciBYZGE9Xy5MKCh7ZGF0YTphLGNlOmIsZnU6Yyxpc1RvZ2dsZWQ6ZCxkaXNhYmxlZDplLFh4OmYsbmE6aCxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpsLGhvcml6b250YWxQYWRkaW5nOm0sWXg6bix1QjpwLG9uVGFwOnIsYXJpYUxhYmVsOnQsRGc6dn0pPT57dmFyIHo9KCk9PiEhYSgpLmlzRGlzYWJsZWR8fCEhZT8uKCksRT1fLmVHKCgpPT5hKCkudHJhaWxpbmdJY29uQ29sb3JUb2tlbik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlciIse3l0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXI6KCk9PiFmPy4oKSx5dExpc3RJdGVtVmlld01vZGVsRGlzYWJsZWQ6eix5dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGU6KCk9PiEhYSgpLnN1YnRpdGxlLHl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0OmgseXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlOm4seXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHk6Xy54KCJ3ZWJfZW5hYmxlX2xpc3RfaXRlbV9hY3Rpb25fdHlwb2dyYXBoeSIpLAp5dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cDprLHl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6KCk9Pmw/LigpJiYhZj8uKCkseXRMaXN0SXRlbVZpZXdNb2RlbE5vVHJhaWxpbmdUZXh0OigpPT4hYSgpLnNlbGVjdGlvblRleHQmJiFhKCkudHJhaWxpbmdMYWJlbH0sKCk9PnthOntzd2l0Y2goYSgpLmxheW91dFByaW9yaXR5KXtjYXNlICJMSVNUX0lURU1fTEFZT1VUX1BSSU9SSVRZX1RSQUlMSU5HIjp2YXIgQT0ieXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyI7YnJlYWsgYX1BPXZvaWQgMH1yZXR1cm4gQX0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLWxlZnQiOm0sInBhZGRpbmctcmlnaHQiOm19KX0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXIifSxfLksocEkse2RhdGE6YSxnZzohMCxjZTpiLGlzVG9nZ2xlZDpkLERnOnYsbmE6aH0pLF8uSyhfLk8se0E6cCx0aGVuOigpPT5fLksoXy5WQywKe2NvbW1hbmQ6KCk9Pl8uc0goYSgpLnJlbmRlcmVyQ29udGV4dCksb25DbGljazpyLGRpc2FibGVkOnosY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yIiwieXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyIiksdG9nZ2xlYWJsZTpkIT09dm9pZCAwLHRvZ2dsZWQ6ZCxhcmlhTGFiZWw6dH0sXy5LKHFJLHtkYXRhOmF9KSksVzooKT0+Xy5LKHFJLHtkYXRhOmEsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXIifSl9KSxfLksoXy5PLHtBOigpPT4hIWMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIixzdHlsZTpfLklFKHtjb2xvcjpFfSl9LGMmJl8uSyhjLG51bGwpKSxXOigpPT5fLksocEkse2RhdGE6YSxnZzohMSxjZTpiLGlzVG9nZ2xlZDpkLERnOnYsbmE6aH0pfSkpLF8uSyhfLk8se0E6KCk9PmEoKS5ib3R0b21BY2Nlc3NvcnksdGhlbjooKT0+Xy5LKFZkYSx7ZGF0YTphfSl9KSl9LAoiRCIpO3ZhciBbaEksUmRhXT1fLkooe30sdm9pZCAwLCJwZHJhRiIpLGdJPW5ldyBNYXA7dmFyIHNJPV8uTChhPT57dmFyIHtuYW1lOmIsb25DaGFuZ2U6YyxvbkNsaWNrOmQsY2hlY2tlZDplLFllOmYsWWk6aCxxajprLG5hOmwsVmM6bSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bixob3Jpem9udGFsUGFkZGluZzpwLGRpc2FibGVkOnIsYXJpYUxhYmVsOnR9PV8uREMoYSx7Y2hlY2tlZDohMSxkaXNhYmxlZDohMX0pO2E9ImNoZWNrYm94IitfLk9IKCk7cmV0dXJuIF8uSygiY2hlY2tib3gtc2hhcGUiLG51bGwsXy5LKCJsYWJlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveFNoYXBlSG9zdCIsayx7eXRDaGVja2JveFNoYXBlSG9zdENvbXBhY3Q6bCx5dENoZWNrYm94U2hhcGVEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bn0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLWxlZnQiOnAsInBhZGRpbmctcmlnaHQiOnB9KX0sXy5LKCJpbnB1dCIse2NsYXNzOiJ5dENoZWNrYm94U2hhcGVJbnB1dCIsaWQ6YSxjaGVja2VkOmUsbmFtZTpiLHR5cGU6ImNoZWNrYm94IixkaXNhYmxlZDpyLAoiYXJpYS1sYWJlbCI6dCwicHJvcDpjaGVja2VkIjplLCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKHYpe2M/Lih2KTt2LnN0b3BQcm9wYWdhdGlvbigpfSwib246Y2xpY2siOmZ1bmN0aW9uKHYpe2Q/Lih2KTt2LnN0b3BQcm9wYWdhdGlvbigpfX0pLF8uSyhfLk8se0E6KCk9PiFoPy4oKSx0aGVuOigpPT5fLksockkse2dnOiEwLFZjOm19KX0pLF8uSyhfLk8se0E6KCk9PiEhZix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENoZWNrYm94U2hhcGVMYWJlbCJ9LGY/LigpKX0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksockkse2dnOiExLFZjOm19KX0pKSl9LCJFIik7c0kuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNoYW5nZTohMCxvbkNsaWNrOiEwLFllOiEwfX07CnZhciByST1fLkwoKHtWYzphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94U2hhcGVDaGVja2JveCIsYSx7eXRDaGVja2JveFNoYXBlQ2hlY2tib3hEZWZhdWx0U3R5bGU6KCk9PiFhPy4oKX0pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5NRCx7aWNvbjpfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8ic3F1YXJlIjoiQk9YX0VNUFRZIn0pLF8uSyhfLk1ELHtpY29uOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJjaGVja19zcXVhcmUiOiJCT1hfQ0hFQ0siLGFjdGl2ZTohMH0pKSwiRiIpO3ZhciB0ST1fLkwoKHtkYXRhOmEsSWE6YixuYTpjLG9uVGFwOmQseHM6ZSxjZTpmLGRpc2FibGVkOmgsQmM6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bCxpc092ZXJsYXk6bSxpc1RvZ2dsZWQ6bixhcmlhTGFiZWw6cCxhcmlhUHJlc3NlZDpyLERnOnQsYnA6dn0pPT57ZnVuY3Rpb24geihiYSl7YmEuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGFhPWEoKS5lbnRpdHlLZXksT2E9RygpLmlzU2VsZWN0ZWQ7aWYoYWEmJk0oKSl7aWYoRygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iJiZPYSlyZXR1cm47aUkoYWEsIU9hLEcoKS5zZWxlY3Rpb25TdHlsZSl9ZD9kKGJhKTooYWE9Xy5zSChHKCkucmVuZGVyZXJDb250ZXh0KSxPYT1fLnkoKS5yZXNvbHZlKF8uVUQpLGFhJiZPYSYmT2EucmVzb2x2ZUNvbW1hbmQoYWEsYmEudGFyZ2V0P3tmb3JtOntlbGVtZW50OmJhLnRhcmdldCxzb3VyY2VEYXRhOmFhfX06dm9pZCAwKSl9dmFyIEU9IV8ueCgid2ViX2VuYWJsZV9raWxsc3dpdGNoX2Zvcl9zZWxlY3RhYmxlX2xpc3RfaXRlbV9vbl90YXBfZml4IiksCkE9IV8ueCgid2ViX2VuYWJsZV9raWxsc3dpdGNoX2Zvcl9za2lwX2NoaWxkX3RhZ3MiKSxGPV8uUUgoKCk9PmEoKS5ob3Jpem9udGFsUGFkZGluZ1Rva2VuKSxDPSgpPT5sPy4oKXx8YSgpLmRpc2FibGVIb3Jpem9udGFsUGFkZGluZyxHPV8uTigoKT0+e3ZhciBiYT1hKCksYWE9digpLE9hPWEoKT8uZW50aXR5U2VsZWN0b3JUeXBlP3suLi5iYSwuLi5hYS5kYXRhfTpiYTtPYS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIiYmUWRhKE9hLmVudGl0eUtleSk7dmFyIEpiPU9hLmVudGl0eUtleTtiYT1KYj9oSSgpW0piXTp2b2lkIDA7YWE9ISFPYS5pc1NlbGVjdGVkO3ZhciB6YT1iYSE9PXZvaWQgMD9iYTphYTtKYiYmT2Euc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyImJmFhJiZiYT09PXZvaWQgMCYmcXVldWVNaWNyb3Rhc2soKCk9PntpSShKYiwhMCxPYS5zZWxlY3Rpb25TdHlsZSl9KTtyZXR1cm57Li4uT2EsCmlzU2VsZWN0ZWQ6emF9fSx2b2lkIDAsInZSa255IiksRD0oKT0+ISFHKCkuaXNEaXNhYmxlZHx8ISFoPy4oKSxIPV8uVEgoKCk9PkcoKS5yZW5kZXJlckNvbnRleHQpLFI9KCk9PnA/LigpfHxIKCk/LmxhYmVsLE09KCk9PiEoIUcoKS5zZWxlY3Rpb25TdHlsZXx8RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfVU5TUEVDSUZJRUQiKSxTPSgpPT4oXy50SChHKCkucmVuZGVyZXJDb250ZXh0KXx8ZCkmJiFNKCksWT0oKT0+Xy50SChHKCkucmVuZGVyZXJDb250ZXh0KXx8ISFkfHxNKCkscGE9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQ29udGFpbmVyIix7eXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlOlkseXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHk6Xy54KCJ3ZWJfZW5hYmxlX2xpc3RfaXRlbV9hY3Rpb25fdHlwb2dyYXBoeSIpLHl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0OmMseXRMaXN0SXRlbVZpZXdNb2RlbEluUG9wdXA6aywKeXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+Qz8uKCkmJk0oKX0pLG9hPV8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVyIiwoKT0+RygpLmxlYWRpbmdJbWFnZXx8RygpLmxlYWRpbmdBY2Nlc3Nvcnk/Inl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZyI6Inl0TGlzdEl0ZW1WaWV3TW9kZWxMZWFkaW5nIiksW1UsaGFdPV8uSighMSx2b2lkIDAsImN1WTRtZiIpLG1hPSgpPT57dmFyIGJhO2lmKGJhPV8ueCgid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIikmJlM/LigpKWJhPWEoKSxiYT0hKGJhLnRyYWlsaW5nTGFiZWx8fGJhLnNlbGVjdGlvblRleHQpO3JldHVybiBiYX0sdGE9KCk9Pl8uSyhYZGEse2RhdGE6RyxjZTpmLGZ1OmUsaXNUb2dnbGVkOm4sZGlzYWJsZWQ6aCxYeDpNLG5hOmMsQmM6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Qyxob3Jpem9udGFsUGFkZGluZzpGLFl4OlMsdUI6bWEsb25UYXA6ZCxhcmlhTGFiZWw6UiwKRGc6dH0pLFQ9KCk9PntpZihiPy4oKSl7bGV0IGJhPUcoKS5zZWxlY3Rpb25TdHlsZTtyZXR1cm4gYmE9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCI/Im1lbnVpdGVtY2hlY2tib3giOmJhPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8ifHxiYT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiPyJtZW51aXRlbXJhZGlvIjoibWVudWl0ZW0ifXJldHVybiJsaXN0aXRlbSJ9O3JldHVybiBfLksoInl0LWxpc3QtaXRlbS12aWV3LW1vZGVsIix7ZWw6Xy5yRihfLnVIKCgpPT5EKCk/dm9pZCAwOkcoKS5yZW5kZXJlckNvbnRleHQsdm9pZCAwLHZvaWQgMCxfLngoIndlYl9idXR0b25fb3JfYW5jaG9yX2xpc3RfaXRlbSIpP1siQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXTpbXSksU2RhKGZ1bmN0aW9uKGJhKXtEKCl8fEUmJk0oKXx8KE0oKT96KGJhKTpkPy4oYmEpKX0sQT9bIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKV06CltdLCgpPT4hWSgpKSxfLlVIKCgpPT5TPy4oKSx7Zm9jdXNpbjpmdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk/LlhlKCkmJmhhKCEwKX0sZm9jdXNvdXQ6ZnVuY3Rpb24oKXtoYSghMSl9fSkpLGNsYXNzOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLHt5dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5Om0seXRMaXN0SXRlbVZpZXdNb2RlbEtleWJvYXJkRm9jdXNlZDpVLHl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW46KCk9PmEoKT8uZW50aXR5U2VsZWN0b3JUeXBlP3YoKS5pc0hpZGRlbjohMX0pLCJkYXRhLXRhcmdldC1pZCI6KCk9PkcoKS50YXJnZXRJZCxyb2xlOlQsdGFiaW5kZXg6KCk9Pnt2YXIgYmE9UygpO1koKTt2YXIgYWE9bWEoKSxPYT1EKCk7YmE9IWFhJiYoXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfdGFiaW5kZXhfZml4Iik/ZHx8YmE6YmEpP09hPy0xOjA6dm9pZCAwO3JldHVybiBiYX0sIm9uOmtleWRvd24iOmZ1bmN0aW9uKGJhKXtpZighQXx8CiFbIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKV0uaW5jbHVkZXMoYmEudGFyZ2V0LnRhZ05hbWUpKWlmKGJhLmtleT09PSJFbnRlciJ8fE0oKSYmYmEua2V5PT09IiAiKWJhLnByZXZlbnREZWZhdWx0KCksRCgpfHwoRSYmTSgpP3ooYmEpOmJhLmN1cnJlbnRUYXJnZXQuY2xpY2soKSl9LCJhcmlhLWxhYmVsIjpSLCJhcmlhLWNoZWNrZWQiOigpPT57dmFyIGJhPVQoKTtyZXR1cm4gYmE9PT0ibWVudWl0ZW1jaGVja2JveCJ8fGJhPT09Im1lbnVpdGVtcmFkaW8iP0coKS5pc1NlbGVjdGVkOnZvaWQgMH0sImFyaWEtcHJlc3NlZCI6KCk9PmI/LigpfHxNKCk/dm9pZCAwOnI/LigpfSxfLksoXy5PLHtBOk0sdGhlbjooKT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfQ0hFQ0tCT1gifSwoKT0+Xy5LKHNJLHtZZTp0YSxuYTpjLGNoZWNrZWQ6KCk9PiEhRygpLmlzU2VsZWN0ZWQsCllpOigpPT4hKCFHKCkubGVhZGluZ0ltYWdlJiYhRygpLmxlYWRpbmdBY2Nlc3NvcnkpLHFqOnBhLFZjOm9hLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpDLGhvcml6b250YWxQYWRkaW5nOkYsb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uQ0Use3doZW46KCk9PkcoKS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIn0sKCk9Pl8uSyhfLkFFLHtZZTp0YSxuYTpjLGNoZWNrZWQ6KCk9PiEhRygpLmlzU2VsZWN0ZWQsWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2Esb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uQ0Use3doZW46KCk9PkcoKS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQifSwoKT0+Xy5LKF8uQUUse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+CiEhRygpLmlzU2VsZWN0ZWQsWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2EsaGs6ITAsb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uREUsbnVsbCx0YSkpLFc6dGF9KSl9LCJHIiksWWRhPV8uTChhPT57dmFyIGI9Xy5jSShjPT5QZGEoYS5kYXRhKCksYykpO3JldHVybiBfLksodEksey4uLmEsYnA6Yn0pfSwiSCIpO18uQ0Q9Xy5MKGE9Pl8uSyhfLk8se0E6KCk9PiEhYS5kYXRhKCk/LmVudGl0eVNlbGVjdG9yVHlwZSx0aGVuOigpPT5fLksoWWRhLHsuLi5hfSksVzooKT0+Xy5LKHRJLHsuLi5hLGJwOigpPT4oe30pfSl9KSwiSSIpO18uQ0QuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvblRhcDohMCx4czohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJwZTJvamIiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RTD1mdW5jdGlvbihhLGIpe2lmKGEmJmIpc3dpdGNoKGIpe2Nhc2UgIlNFTEVDVElPTl9UWVBFX0JPT0wiOnJldHVybiBhLmJvb2xWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9JTlQiOnJldHVybiBhLmludFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX1NUUklORyI6cmV0dXJuIGEuc3RyaW5nVmFsdWU7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfUFJJVkFDWV9TVEFUVVMiOnJldHVybiBhLnByaXZhY3lTdGF0dXNWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9USU1FX1BJQ0tFUl9GT1JNQVQiOnJldHVybiBhLnRpbWVQaWNrZXJGb3JtYXRWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9FTkdBR0VNRU5UX1BFUk1JU1NJT04iOnJldHVybiBhLmVuZ2FnZW1lbnRQZXJtaXNzaW9uVmFsdWV9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5DST1mdW5jdGlvbihhKXtfLlZILm13KCkoYSl9O18uREk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlhIKCk7cmV0dXJuIF8uTigoKT0+e2MoKTtyZXR1cm4gXy5aSChhLFtfLkJ2KGIpfHwiIl0pfSx7ZGVidWdOYW1lOiJMVVpzbGYifSwiWjEwNXQiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUkw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLmVudGl0aWVzLCJsaWtlU3RhdHVzRW50aXR5IixiKX07Xy5TTD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxpa2VDb3VudEVudGl0eSIsYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWWZhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTigoKT0+Xy5CdihhKT8/e30se2VxdWFsczpfLkdJfSwielRVWlFjIiksYz1fLk4oKCk9Pnt2YXIge2Zvcm1JZDpkLGZpZWxkSWQ6ZX09YigpO2lmKGQmJmUpe2E6e2xldCBoPV8uU0koZCk7aWYoaCl7dmFyIGY9Xy5NSShlKTtpZihmPWhbZl0pe2lmKCEoImZ1bmN0aW9uIj09dHlwZW9mIF8uVEwmJmYgaW5zdGFuY2VvZiBfLlRMKSl0aHJvdyBfLklJKGBGaWVsZCAke2V9IGluIGZvcm0gJHtkfSBpcyBub3QgYSBTY2FsYXJMaXN0RmllbGQuYCk7YnJlYWsgYX19Zj12b2lkIDB9cmV0dXJuIGZ9fSx2b2lkIDAsIkUwS1NGZCIpO3JldHVybigpPT5jKCl9LFpmYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInNlbGVjdGlvblZhbHVlTGlzdEVudGl0eSIsYil9LCRmYT1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZXMoYSk/Yj1iLmZpbHRlcihjPT5jIT09YSk6Yi5wdXNoKGEpO3JldHVyblsuLi5iXX0sVUw9bmV3IF8uSSgiY2hlY2tib3hJdGVtVmlld01vZGVsIik7dmFyIGFnYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLFdiOmMsc2VsZWN0ZWQ6ZCxvblRhcDplLGdyb3VwTmFtZTpmLGNsYXNzTmFtZTpoLG5hOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmwsTGk6bX09Xy5EQyhhLHtXYjohMSxzZWxlY3RlZDohMSxuYTohMSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ITEsTGk6ITF9KSxuPSgpPT5jKCk/MjpiKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFtKCk/MzoxO18uVUooKCk9PntuKCk9PT0yJiZiKCkuZGVmYXVsdFNlbGVjdGVkP18uR3AoRXJyb3IoInVkIikpOm4oKT09PTEmJmQoKT9fLkdwKEVycm9yKCJ2ZCIpKTpuKCk9PT0zJiZkKCkmJl8uR3AoRXJyb3IoIndkIikpfSk7dmFyIHA9Xy5aSSgoKT0+YigpLmZvcm1GaWVsZE1ldGFkYXRhKSxbcix0XT1fLkFDKCgpPT57aWYobigpPT09MSlyZXR1cm4gYigpLmRlZmF1bHRTZWxlY3RlZH0pO3JldHVybiBfLksoInl0LWNoZWNrYm94LWl0ZW0tdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveEl0ZW1WaWV3TW9kZWxIb3N0IiwKaCl9LF8uSyhfLkNELHtkYXRhOigpPT57dmFyIHY9YigpLHo9bigpPT09Mz9wKCk/LnZhbHVlfHwhMTpuKCk9PT0xP3IoKTpkKCk7cmV0dXJue3RpdGxlOnYudGV4dCxzdWJ0aXRsZTp2LnN1YnRleHQsc3VwZXJsYWJlbDp2LnN1cGVybGFiZWwsaXNTZWxlY3RlZDohIXosaXNEaXNhYmxlZDp2LmlzRGlzYWJsZWQsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfQ0hFQ0tCT1gifX0sb25UYXA6KCk9Pnt2YXIgdj0hKG4oKT09PTM/cCgpPy52YWx1ZTpuKCk9PT0xP3IoKTpkKCkpO24oKT09PTM/cCgpPy51cGRhdGVWYWx1ZSh2KTpuKCk9PT0xJiZ0KHYpO2U/Lih2LGIoKSxmPy4oKSl9LG5hOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmx9KSl9LCJEYSIpO18udEQ9Xy5MKCh7ZGF0YTphLFdiOmIsZEE6YyxnejpkLGdyb3VwTmFtZTplLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmLG5hOmh9KT0+e3ZhciBrPV8uREkoWmZhLCgpPT5hKCkuaGlkZUl0ZW1zRW50aXR5S2V5KSxsPSgpPT5iPy4oKT8yOmEoKS5mb3JtRmllbGRNZXRhZGF0YT8zOjEsbT0oKT0+ZT8uKCl8fGEoKS5rZXk7Xy5VSigoKT0+e2woKT09PTImJmEoKS5kZWZhdWx0U2VsZWN0ZWRLZXlzP18uR3AoRXJyb3IoInhkIikpOmwoKT09PTEmJmM/LigpP18uR3AoRXJyb3IoInlkIikpOmwoKT09PTMmJihjPy4oKSE9PXZvaWQgMCYmXy5HcChFcnJvcigiemQiKSksYSgpLmRlZmF1bHRTZWxlY3RlZEtleXMmJl8uR3AoRXJyb3IoIkFkIikpKX0pO3ZhciBuPVlmYSgoKT0+YSgpLmZvcm1GaWVsZE1ldGFkYXRhKSxbcCxyXT1fLkFDKCgpPT57aWYobCgpPT09MSlyZXR1cm4gYSgpLmRlZmF1bHRTZWxlY3RlZEtleXN9KSx0PV8uWkkoKCk9Pih7Zm9ybUlkOmEoKS5zZWFyY2hRdWVyeUZpZWxkTWV0YWRhdGE/LmZvcm1JZHx8CiIiLGZpZWxkSWQ6YSgpLnNlYXJjaFF1ZXJ5RmllbGRNZXRhZGF0YT8uZmllbGRJZHx8IiJ9KSksdj1fLk4oKCk9Pnt2YXIgRT1hKCkuY2hlY2tib3hlc3x8W10sQT1rKCk7aWYoQT8udmFsdWVzJiZBLnZhbHVlcy5sZW5ndGg+MCl7bGV0IEM9QS50eXBlLEc9bmV3IFNldChBLnZhbHVlcy5tYXAoRD0+Xy5RTChELEMpKS5maWx0ZXIoRD0+RCE9PXZvaWQgMCkpO0U9RS5maWx0ZXIoRD0+e0Q9Xy5CKEQsVUwpO2lmKCFEPy52YWx1ZSlyZXR1cm4hMDtEPV8uUUwoRC52YWx1ZSxDKTtyZXR1cm4gRD09PXZvaWQgMHx8IUcuaGFzKEQpfSl9dmFyIEY9KHQoKT8udmFsdWV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBGP0UuZmlsdGVyKEM9PntDPV8uQihDLFVMKTtyZXR1cm4gQz8udGV4dD8uY29udGVudD9DLnRleHQuY29udGVudC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKEYpOiExfSk6RX0sdm9pZCAwLCJYNlk1TWMiKSx6PWFzeW5jKEUsQSxGKT0+e0U9W107bCgpPT09MSYmQS5rZXk/KEU9CiRmYShBLmtleSxwKCl8fFtdKSxyKEUpKTpsKCk9PT0zJiZBLmtleSYmKEU9bigpPy52YWx1ZXx8W10sRS5pbmNsdWRlcyhBLmtleSk/KEU9RS5pbmRleE9mKEEua2V5KSxFIT09LTEmJmF3YWl0IG4oKT8ucmVtb3ZlKEUpKTphd2FpdCBuKCk/LmFkZChBLmtleSksRT1uKCk/LnZhbHVlfHxbXSk7ZD8uKEEsRSxGKX07cmV0dXJuIF8uSygieXQtY2hlY2tib3gtZ3JvdXAtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdCIpfSxfLksoImZpZWxkc2V0Iix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldCIpfSxfLksoImRpdiIse3JvbGU6Imxpc3QifSxfLksoXy5XLHtkYXRhOnZ9LHtjaGVja2JveEl0ZW1WaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKGFnYSx7ZGF0YTpFLFdiOiEwLHNlbGVjdGVkOigpPT57dmFyIEE9bCgpPT09Mj9jPy4oKXx8W106bCgpPT09Mz9uKCk/LnZhbHVlfHxbXTpwKCl8fFtdLEY9RSgpLmtleTsKcmV0dXJuIEY/QS5pbmNsdWRlcyhGKTohMX0sb25UYXA6eixncm91cE5hbWU6bSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZixuYTpofSl9KSkpKX0sIkVhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInZEY2sxZCIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkpKPWZ1bmN0aW9uKGEsYil7aWYoIWEmJiFiKXJldHVybiJtZWRpdW0iO2E9TWF0aC5tYXgoYXx8MCxifHwwKTtyZXR1cm4gYT49MjU2PyJsYXJnZSI6YT49OTY/Im1lZGl1bSI6InNtYWxsIn07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBHZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMjpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UiO2Nhc2UgMzpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlT3ZlcmxheVRvdWNoUmVzcG9uc2UiO2Nhc2UgNDpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlT3ZlcmxheVRvdWNoUmVzcG9uc2VJbnZlcnNlIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIn19LEhlYT1mdW5jdGlvbihhLGIpe2lmKGIpcmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCI7aWYoYSlzd2l0Y2goYSl7Y2FzZSAibGFyZ2UiOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTGFyZ2UiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0iO2RlZmF1bHQ6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCJ9fSwKSWVhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGEsW3tvZmZzZXQ6MCxvcGFjaXR5Oi4xLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIn0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjo0MDB9KSxkb2N1bWVudC50aW1lbGluZSk7dGhpcy5vPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGIsW3tvZmZzZXQ6MCxvcGFjaXR5Oi4yLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIn0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjo0MDB9KSxkb2N1bWVudC50aW1lbGluZSl9cGxheSgpe3RoaXMuai5wbGF5Py4oKTt0aGlzLm8ucGxheT8uKCl9Y2FuY2VsKCl7dGhpcy5qLmNhbmNlbD8uKCk7dGhpcy5vLmNhbmNlbD8uKCl9fTtfLlVDPV8uTCgoe21vZGVsOmEsVG06YixWbTpjLFVtOmQsUmI6ZX0pPT57ZnVuY3Rpb24gZigpe3YoKTtyKCExKX1mdW5jdGlvbiBoKCl7dD8uY2FuY2VsKCk7cighMCl9dmFyIGs9Xy51RSgieXQtdG91Y2gtZmVlZGJhY2stc2hhcGUiKSxsPV8udUUoImRpdiIpLG09Xy51RSgiZGl2IiksW24scF09Xy5BQygoKT0+Yz8uKCl8fGQ/LigpPyExOiEhYj8uKCl8fCExKSxyPXAsdD12b2lkIDAsdj0oKT0+eyF0JiZtLnZhbHVlJiZsLnZhbHVlJiZ0eXBlb2YgQW5pbWF0aW9uPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEtleWZyYW1lRWZmZWN0PT09ImZ1bmN0aW9uIiYmKHQ9bmV3IEllYShtLnZhbHVlLGwudmFsdWUpKTt0Py5wbGF5KCl9O18ubkUoKCk9PntjPy4oKSYmdigpfSwiQ1kyUyIpO18ubkUoKCk9PntiPy4oKSYmdD8uY2FuY2VsKCl9LCJ2ZXFmNmIiKTtfLm5FKCgpPT57ZD8uKCkmJnQ/LmNhbmNlbCgpfSwiVFZyZkNjIik7Xy5ZdSgoKT0+e3QmJih0Py5jYW5jZWwoKSx0PXZvaWQgMCl9KTsKcmV0dXJuIF8uSygieXQtdG91Y2gtZmVlZGJhY2stc2hhcGUiLHtlbDprLGNsYXNzOl8uUCgieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG9zdCIsKCk9PkdlYShhKCkuY29sb3IpLCgpPT5IZWEoYSgpLnRodW1ibmFpbFNpemUsISFhKCkuaXNFeHRlbmRlZCkse3l0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZvY3VzZWQ6KCk9PiEhYSgpLmZvY3VzZWQmJiFhKCkuZGlzYWJsZWQseXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXI6KCk9PiEhYSgpLmNpcmN1bGFyLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZURvd246bix5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRzOigpPT4hIWEoKS5tQix5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlcmVkOigpPT5lPy4oKX0pLHN0eWxlOl8uSUUoe21hcmdpbjooKT0+YSgpLm1hcmdpbj9gLSR7YSgpLm1hcmdpbn1weGA6dm9pZCAwLCJtYXJnaW4tdG9wIjooKT0+YSgpLnhwP2AtJHthKCkueHB9cHhgOnZvaWQgMH0pLCJvbjptb3VzZWRvd24iOmgsCiJvbjptb3VzZXVwIjpmLCJvbjpwb2ludGVybGVhdmUiOmZ1bmN0aW9uKCl7dD8uY2FuY2VsKCk7cighMSl9LCJvbjp0b3VjaHN0YXJ0IjpoLCJvbjp0b3VjaGVuZCI6ZiwiYXJpYS1oaWRkZW4iOiEwfSxfLksoXy5PLHtBOigpPT4hIWEoKS5ObCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCIsc3R5bGU6Xy5JRSh7ImJvcmRlci1yYWRpdXMiOigpPT5hKCkuYm9yZGVyUmFkaXVzLGJhY2tncm91bmQ6KCk9Pnt7bGV0IEU9YSgpLk5sO2lmKEUpe3ZhciB6PVtdO2ZvcihsZXQgQSBvZiBFPy5saWdodGluZ1RlY2huaXF1ZXN8fFtdKXN3aXRjaChBKXtjYXNlIDI6ei5wdXNoKGBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAke0U/LnBhbGV0dGU/LmtleUxpZ2h0fSwgJHtFPy5wYWxldHRlPy5iYWNrZ3JvdW5kfSlgKX16LnB1c2goYSgpLk5sPy5wYWxldHRlPy5iYWNrZ3JvdW5kKTt6PXouam9pbigiLCAiKX1lbHNlIHo9dm9pZCAwfXJldHVybiB6fX0pfSl9KSwKXy5LKCJkaXYiLHtjbGFzczoieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tlIixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsImJvcmRlci1jb2xvciI6KCk9PmEoKS50cz8ucGFsZXR0ZT8uYmFja2dyb3VuZH0pLGVsOmx9KSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxsIixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsImJhY2tncm91bmQtY29sb3IiOigpPT5hKCkudHM/LnBhbGV0dGU/LmJhY2tncm91bmR9KSxlbDptfSkpfSwiVCIpO18uVUMuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiT3RLU0plIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPYWEsUGFhLFFhYTtPYWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fSxkPU9iamVjdC5rZXlzKGEpO2ZvcihsZXQgZSBvZiBkKWNbZV09YihlLGFbZV0pO3JldHVybiBjfTtQYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdHlwZW9mIGEhPT0ib2JqZWN0Inx8YT09PW51bGw/ITE6T2JqZWN0LmtleXMoYikuZXZlcnkoYz0+YyBpbiBhKX07Xy5pQT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5rZXlzKGEpLm1hcChiPT5bYixiXSkpfTtRYWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBPYWEoYywoZCxlKT0+KGYsLi4uaCk9PlBhYShmLGEpP2UoZltiXSwuLi5oKTplKGYsLi4uaCkpfTtfLmpBPWZ1bmN0aW9uKGEpe3JldHVybihiLGMpPT5RYWEoYSxiLGMpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFRhYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEsInBsYXlsaXN0TG9vcFN0YXRlRW50aXR5IixiKT8/dm9pZCAwfSxVYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLCJ0b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHkiLGIpPz92b2lkIDB9LHdBPV8uaUEoe2VudGl0aWVzOnt9fSk7Xy54QT1fLmpBKHdBKSh3QS5lbnRpdGllcyx7YkE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4oXy5xQShhLCJzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5IixiKT8/dm9pZCAwKT8uc2Z2QXVkaW9JdGVtUGxheWJhY2tTdGF0ZT8/dm9pZCAwfSx0SzpUYWEsZUI6VWFhfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWkM9bmV3IF8uSSgibGlzdEl0ZW1WaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHZJO18udUk9ZnVuY3Rpb24oYSxiKXtpZihfLnRBPy5lbmNvZGVJbnRvKXtsZXQge3JlYWQ6ZCx3cml0dGVuOmV9PV8udEEuZW5jb2RlSW50byhhLGIpO3JldHVybiBkPGEubGVuZ3RoP2EubGVuZ3RoKjQ6ZX12YXIgYz0wO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09PTU1Mjk2JiZkKzE8YS5sZW5ndGgmJihhLmNoYXJDb2RlQXQoZCsxKSY2NDUxMik9PT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gY307CnZJPWZ1bmN0aW9uKGEsYixjKXtpZihiJiZjJiZjLmJ1ZmZlcj09PWIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyKXtsZXQgZD1iLm1lbW9yeS5yZWFsbG9jKGMuYnl0ZU9mZnNldCxhKTtpZihkKXJldHVybiBuZXcgVWludDhBcnJheShiLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcixkLGEpfWE9Yj9uZXcgVWludDhBcnJheShiLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcixiLm1lbW9yeS5tYWxsb2MoYSksYSk6bmV3IFVpbnQ4QXJyYXkoYSk7YyYmYS5zZXQoYyk7cmV0dXJuIGF9O18ud0k9ZnVuY3Rpb24oYSxiKXtiPWEucG9zK2I7aWYoIShhLmJ1Zi5sZW5ndGg+PWIpKXtmb3IodmFyIGM9YS5idWYubGVuZ3RoKjI7YzxiOyljKj0yO2EuYnVmPXZJKGMsYS53YXNtLGEuYnVmLnN1YmFycmF5KDAsYS5wb3MpKTthLnZpZXc9bmV3IERhdGFWaWV3KGEuYnVmLmJ1ZmZlcixhLmJ1Zi5ieXRlT2Zmc2V0LGEuYnVmLmJ5dGVMZW5ndGgpfX07Cl8ueEk9ZnVuY3Rpb24oYSxiKXtpZihiPjI2ODQzNTQ1NSl7Xy53SShhLDQpO2xldCBjPWImMTA3Mzc0MTgyMztmb3IobGV0IGQ9MDtkPDQ7ZCsrKWEudmlldy5zZXRVaW50OChhLnBvcyxjJjEyN3wxMjgpLGM+Pj49NyxhLnBvcys9MTtiPU1hdGguZmxvb3IoYi8yNjg0MzU0NTYpfWZvcihfLndJKGEsNCk7Yj4xMjc7KWEudmlldy5zZXRVaW50OChhLnBvcyxiJjEyN3wxMjgpLGI+Pj49NyxhLnBvcys9MTthLnZpZXcuc2V0VWludDgoYS5wb3MsYik7YS5wb3MrPTF9OwpfLnpJPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IF8ueUk7aWYoXy50QSlhPV8udEEuZW5jb2RlKGEpO2Vsc2V7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKGEubGVuZ3RoKjEuMikpLGU9Xy51SShhLGQpO2QubGVuZ3RoPGUmJihkPW5ldyBVaW50OEFycmF5KGUpLGU9Xy51SShhLGQpKTtkLmxlbmd0aD5lJiYoZD1kLnN1YmFycmF5KDAsZSkpO2E9ZH1hIT09dm9pZCAwJiYoXy54SShjLDE4KSxkPWEubGVuZ3RoLF8ueEkoYyxkKSxfLndJKGMsZCksYy5idWYuc2V0KGEsYy5wb3MpLGMucG9zKz1kKTthPV8udUFbYl07aWYodHlwZW9mIGE9PT0idW5kZWZpbmVkIil0aHJvdyBiPW5ldyBfLlhqKCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6Yn0pLF8uR3AoYiksYjthIT09dm9pZCAwJiYoXy54SShjLDMyKSxfLnhJKGMsYSkpO18ueEkoYyw0MCk7Xy54SShjLDEpO2I9bmV3IFVpbnQ4QXJyYXkoYy5idWYuYnVmZmVyLApjLmJ1Zi5ieXRlT2Zmc2V0LGMucG9zKTtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KF8uc2MoYiwwKSl9O18ueUk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLndhc209dm9pZCAwO3RoaXMucG9zPTA7dGhpcy5qPVtdO3RoaXMuYnVmPXZJKDQwOTYpO3RoaXMudmlldz1uZXcgRGF0YVZpZXcodGhpcy5idWYuYnVmZmVyLHRoaXMuYnVmLmJ5dGVPZmZzZXQsdGhpcy5idWYuYnl0ZUxlbmd0aCl9fTtfLnpJKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfTUFOVUFMX0RPV05MT0FEUyIsIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5Iik7Xy56SSgiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5Iik7Xy56SSgiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtfLnpJKCJTTUFSVF9ET1dOTE9BRFNfRU5BQkxFRCIsInNldHRpbmdFbnRpdHkiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5BST1uZXcgXy5JKCJvZmZsaW5lUGxheWxpc3RFbmRwb2ludCIpO18uQkk9bmV3IF8uSSgib2ZmbGluZVZpZGVvRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFpkYTtfLkVJPWZ1bmN0aW9uKGEsYixjLGQsZSl7YT1iP2Euc3dpdGNoT2ZmQ29tbWFuZDphLnN3aXRjaE9uQ29tbWFuZDtpZihkJiZlKVpkYShhLGMsZSk7ZWxzZSBfLmJFKHtiaDphfSk/Lm9uY2xpY2s/LihjKX07WmRhPWZ1bmN0aW9uKGEsYixjKXthPV8uYkUoe2JoOmEsQW86e0VpOntvblN1Y2Nlc3M6KCk9PntjKCExKX0sbno6KCk9PntjKCExKX19fX0pO2E/Lm9uY2xpY2smJihhLm9uY2xpY2soYiksYyghMCkpfTtfLiRkYT1uZXcgXy5JKCJzd2l0Y2hCdXR0b25WaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGVKPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8uQihhLF8uJGRhKX07Xy5mSj1fLkwoKHtkYXRhOmEsb25UYXA6YixrSzpjLG1LOmQsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmUsTGk6ZixuYTpofSk9PntmdW5jdGlvbiBrKEYpe2lmKCFGLm91KXtGLm91PSEwO3ZhciBDPWVKKEEoKSk7IUN8fEMuaXNEaXNhYmxlZHx8YSgpLmlnbm9yZVRhcFVudGlsQ29tbWFuZENvbXBsZXRlcyYmdigpfHwoYj8uKEYpLF8uRUkoQyxFKCksRixhKCkuaWdub3JlVGFwVW50aWxDb21tYW5kQ29tcGxldGVzLHopLChhKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFmPy4oKT8zOjEpPT09Mz9sKCk/LnVwZGF0ZVZhbHVlKCFFKCkpOnAoIUUoKSksYz8uKEUoKSkpfX12YXIgbD1fLlpJKCgpPT5hKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFttLG5dPV8uQUMoKCk9PmVKKEEoKSk/LnN3aXRjaGVkT25CeURlZmF1bHR8fCExKSxwPW4sW3IsdF09Xy5KKCExLHZvaWQgMCwiT3ZrdWxlIiksdj1yLHo9dCxFPSgpPT4oYSgpLmZvcm1GaWVsZE1ldGFkYXRhJiYhZj8uKCk/MzoxKT09PTM/bCgpPy52YWx1ZXx8CiExOm0oKSxBPSgpPT57dmFyIEY7aWYoIShGPWEoKS5zd2l0Y2hCdXR0b24pKXt2YXIgQz1hKCk7Rj1kPy4oKTtDPXtzd2l0Y2hPbkNvbW1hbmQ6Qy5zd2l0Y2hPbkNvbW1hbmQsc3dpdGNoT2ZmQ29tbWFuZDpDLnN3aXRjaE9mZkNvbW1hbmQsc3dpdGNoZWRPbkJ5RGVmYXVsdDpDLnN3aXRjaGVkT25CeURlZmF1bHQsaXNEaXNhYmxlZDpDLmlzRGlzYWJsZWQsYTExeUxhYmVsU3dpdGNoZWRPbjpDLmExMXlMYWJlbFN3aXRjaGVkT24sYTExeUxhYmVsU3dpdGNoZWRPZmY6Qy5hMTF5TGFiZWxTd2l0Y2hlZE9mZn07RiE9PXZvaWQgMCYmKEMuaXNEaXNhYmxlZD1GKTtGPXtzd2l0Y2hCdXR0b25WaWV3TW9kZWw6Q319Qz1lSihGKTtpZighQylyZXR1cm4gRjt2YXIgRz1hKCkudGl0bGU/LmNvbnRlbnQ7cmV0dXJuIEc/e3N3aXRjaEJ1dHRvblZpZXdNb2RlbDp7Li4uQyxhMTF5TGFiZWxTd2l0Y2hlZE9uOkcsYTExeUxhYmVsU3dpdGNoZWRPZmY6R319OkZ9O3JldHVybiBfLksoInN3aXRjaC1saXN0LWl0ZW0tdmlldy1tb2RlbCIsCntjbGFzczoieXRTd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLCJvbjpjbGljayI6a30sXy5LKF8uQ0Qse2RhdGE6KCk9Pih7dGl0bGU6YSgpLnRpdGxlLHN1YnRpdGxlOmEoKS5hdHRyaWJ1dGVkU3VidGl0bGUsbGVhZGluZ0ltYWdlOmEoKS5sZWFkaW5nSW1hZ2UsbGVhZGluZ0FjY2Vzc29yeTphKCkubGVhZGluZ0FjY2Vzc29yeSxpc0Rpc2FibGVkOmEoKS5pc0Rpc2FibGVkfSksaXNUb2dnbGVkOkUsRGc6ITAsbmE6aCx4czooKT0+Xy5LKF8uVyx7ZGF0YTpBfSx7c3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhfLmtJLHtkYXRhOkYscXI6RSxvblRhcDprfSl9KSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZX0pKX0sIkoiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGNlYSxnSixkZWEsaEosaUosZWVhLGZlYSxnZWEsaGVhLGplYSxrZWEsbGVhLG1lYSxqSixrSixtSixuZWEsb2VhLHBlYSx0ZWEsdWVhLHFKLHJKLHNKLHdlYSx0SixpZWEsdUo7Y2VhPWZ1bmN0aW9uKGEsYj0yKXtfLnhJKGEsMTApO2Euai5wdXNoKGEucG9zKTthLmoucHVzaChiKTthLnBvcys9Yn07CmdKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLnlJO2lmKGEhPT12b2lkIDApe2NlYShiLE1hdGguY2VpbChNYXRoLmxvZzIoYS5sZW5ndGgqNCsyKS83KSk7Xy53SShiLGEubGVuZ3RoKjEuMik7dmFyIGM9Xy51SShhLGIuYnVmLnN1YmFycmF5KGIucG9zKSk7Yi5wb3MrYz5iLmJ1Zi5sZW5ndGgmJihfLndJKGIsYyksYz1fLnVJKGEsYi5idWYuc3ViYXJyYXkoYi5wb3MpKSk7Yi5wb3MrPWM7YT1iLmoucG9wKCk7Yz1iLmoucG9wKCk7bGV0IGQ9Yi5wb3MtYy1hO2Zvcig7YS0tOyl7bGV0IGU9YT8xMjg6MDtiLnZpZXcuc2V0VWludDgoYysrLGQmMTI3fGUpO2Q+Pj03fX1iPW5ldyBVaW50OEFycmF5KGIuYnVmLmJ1ZmZlcixiLmJ1Zi5ieXRlT2Zmc2V0LGIucG9zKTtyZXR1cm4obmV3IFRleHREZWNvZGVyKCJ1dGYtOCIpKS5kZWNvZGUoYil9OwpkZWE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm5bXTtiPV8uekkoYiwibWFpblBsYXlsaXN0RW50aXR5Iik7dmFyIGM9YS5tYWluUGxheWxpc3RFbnRpdHk/LltiXTtiPVtdO2lmKCFjPy52aWRlb3MpcmV0dXJuIGI7Zm9yKGxldCBkIG9mIGMudmlkZW9zKXtjPWE/Lm1haW5QbGF5bGlzdFZpZGVvRW50aXR5Py5bZF0/LnZpZGVvO2lmKCFjKWNvbnRpbnVlOyh7ZW50aXR5SWQ6Y309Xy5HSChjKSk7YyYmYi5wdXNoKGMpfXJldHVybiBifTtoSj1mdW5jdGlvbihhKXtyZXR1cm4iZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllcyJpbiBhfTsKaUo9ZnVuY3Rpb24oYSl7dmFyIGI9YS5tdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eSxjPVtdO2lmKCFiKXJldHVybiBjO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhiKSl7YTp7dmFyIGQ9YSxlPV8uR0goaCkuZW50aXR5SWQ7aWYoZSl7dmFyIGY9Xy5xQShkLCJtdXNpY1BsYXlsaXN0IixfLnpJKGUsIm11c2ljUGxheWxpc3QiKSk7ZD1fLnFBKGQsIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5IixfLnpJKGUsIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5IikpO2lmKGYmJmQpe2Y9e211c2ljUGxheWxpc3RFbnRpdHk6ZixtdXNpY1BsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpkfTticmVhayBhfX1mPXZvaWQgMH1kPU51bWJlcihiW2hdPy5hZGRlZFRpbWVzdGFtcE1pbGxpcyk7ZD1pc05hTihkKT8oMCxfLmVsKSgpOmQ7ZiE9PXZvaWQgMCYmYy5wdXNoKHtkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOmYsYWRkZWRUaW1lc3RhbXBNaWxsaXM6ZH0pfXJldHVybiBjfTsKZWVhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7Zm9yKGxldCBjIG9mIGEpaWYoIm11c2ljUGxheWxpc3RFbnRpdHkiaW4gYyYmIm11c2ljUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5ImluIGMpZm9yKGxldCBkIG9mIGMubXVzaWNQbGF5bGlzdEVudGl0eS50cmFja3MpYi5hZGQoZCk7cmV0dXJuIGJ9OwpmZWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5tdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eSxjPVtdO2lmKCFiKXJldHVybltdO2ZvcihsZXQgbSBvZiBPYmplY3Qua2V5cyhiKSl7YTp7dmFyIGQ9YSxlPV8uR0gobSkuZW50aXR5SWQ7aWYoZSl7Yj1fLnFBKGQsIm11c2ljVHJhY2siLF8uekkoZSwibXVzaWNUcmFjayIpKTt2YXIgZj1fLnFBKGQsIm11c2ljQXJ0aXN0IixfLnpJKGUsIm11c2ljQXJ0aXN0IikpfHx7fTtiOnt2YXIgaD1lO2lmKGgpe2U9Xy5xQShkLCJwbGF5YmFja0RhdGEiLF8uekkoaCwicGxheWJhY2tEYXRhIikpPz9udWxsO3ZhciBrPV8ucUEoZCwidHJhbnNmZXIiLF8uekkoaCwidHJhbnNmZXIiKSk/P251bGwsbD1fLnFBKGQsIm9mZmxpbmVWaWRlb1N0cmVhbXMiLF8uekkoaCwib2ZmbGluZVZpZGVvU3RyZWFtcyIpKT8/bnVsbDtkPV8ucUEoZCwib2ZmbGluZVZpZGVvUG9saWN5IixfLnpJKGgsIm9mZmxpbmVWaWRlb1BvbGljeSIpKT8/bnVsbDtpZihlfHwKa3x8bHx8ZCl7ZD17cGxheWJhY2tEYXRhRW50aXR5OmUsdHJhbnNmZXJFbnRpdHk6ayxzdHJlYW1FbnRpdHk6bCxwb2xpY3lFbnRpdHk6ZH07YnJlYWsgYn19ZD12b2lkIDB9aWYoZCYmYiYmZil7Yj17bXVzaWNUcmFja0VudGl0eTpiLG11c2ljQXJ0aXN0RW50aXR5OmYsLi4uZH07YnJlYWsgYX19Yj12b2lkIDB9Zj1OdW1iZXIoXy5xQShhLCJtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eSIsbSk/LmFkZGVkVGltZXN0YW1wTWlsbGlzKTtmPWlzTmFOKGYpPygwLF8uZWwpKCk6ZjtiIT09dm9pZCAwJiZjLnB1c2goe2Rvd25sb2FkZWRNdXNpY0VudGl0aWVzOmIsYWRkZWRUaW1lc3RhbXBNaWxsaXM6Zn0pfXJldHVybiBjfTsKZ2VhPWZ1bmN0aW9uKGEpe3ZhciBiPWZlYShhKS5zb3J0KChjLGQpPT5kLmFkZGVkVGltZXN0YW1wTWlsbGlzLWMuYWRkZWRUaW1lc3RhbXBNaWxsaXMpLm1hcChjPT4iZG93bmxvYWRlZE11c2ljRW50aXRpZXMiaW4gYz9jLmRvd25sb2FkZWRNdXNpY0VudGl0aWVzOmhKKGMpP2MuZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczp7fSk7YT1pSihhKS5zb3J0KChjLGQpPT5kLmFkZGVkVGltZXN0YW1wTWlsbGlzLWMuYWRkZWRUaW1lc3RhbXBNaWxsaXMpLm1hcChjPT4iZG93bmxvYWRlZE11c2ljRW50aXRpZXMiaW4gYz9jLmRvd25sb2FkZWRNdXNpY0VudGl0aWVzOmhKKGMpP2MuZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczp7fSk7cmV0dXJue2Rvd25sb2FkZWRNdXNpY0VudGl0aWVzOmIsZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczphfX07CmhlYT1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBTZXQsZD1pSihhKS5tYXAoZT0+ZS5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzKTtkPWVlYShkKTtmb3IobGV0IGUgb2YgZCkoe2VudGl0eUlkOmR9PV8uR0goZSkpLGQmJmMuYWRkKGQpOyh7ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6YX09Z2VhKGEpKTtyZXR1cm4gYS5maWx0ZXIoZT0+e2lmKGUubXVzaWNUcmFja0VudGl0eT8udmlkZW9JZCl7ZT1lLm11c2ljVHJhY2tFbnRpdHk7dmFyIGY7aWYoZj1iPT09IlBQT00iPyEwOiFjLmhhcyhlLnZpZGVvSWQpKWI6c3dpdGNoKGU9ZS5tdXNpY1ZpZGVvVHlwZSxiKXtjYXNlICJQUFNFIjpmPWU9PT0iTVVTSUNfVklERU9fVFlQRV9QT0RDQVNUX0VQSVNPREUiO2JyZWFrIGI7ZGVmYXVsdDpmPWUhPT0iTVVTSUNfVklERU9fVFlQRV9QT0RDQVNUX0VQSVNPREUifWU9Zn1lbHNlIGU9ITE7cmV0dXJuIGV9KS5tYXAoZT0+ZS5tdXNpY1RyYWNrRW50aXR5Py52aWRlb0lkKX07CmplYT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybltdO2lmKE9iamVjdC52YWx1ZXMoaWVhKS5pbmNsdWRlcyhiKSlyZXR1cm4gaGVhKGEsYik7Yj1fLnpJKGIsIm11c2ljUGxheWxpc3QiKTtiPWEubXVzaWNQbGF5bGlzdD8uW2JdO2E9W107aWYoIWI/LnRyYWNrcylyZXR1cm4gYTtmb3IobGV0IGMgb2YgYi50cmFja3MpKHtlbnRpdHlJZDpifT1fLkdIKGMpKSxiJiZhLnB1c2goYik7cmV0dXJuIGF9OwprZWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldChhKTtpZihiLmhhcygiVFJBTlNGRVJfU1RBVEVfRkFJTEVEIikmJmIuc2l6ZT09PTEpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCI7Yi5kZWxldGUoIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCIpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIikmJmIuc2l6ZT09PTEpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI7Yi5kZWxldGUoIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKTtpZihiLmhhcygiVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIikmJmIuc2l6ZT09PTF8fGIuc2l6ZT09PTApcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI7YT1iLmhhcygiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIik7Yj1iLmhhcygiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiKTtyZXR1cm4gYXx8Yj8iVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIjoiVFJBTlNGRVJfU1RBVEVfQ09NUExFVEUifTsKbGVhPWZ1bmN0aW9uKGEsYil7Yj1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9SRU1JWCI/amVhKGEsYik6ZGVhKGEsYik7aWYoIWIubGVuZ3RoKXJldHVybiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjtiPWIubWFwKGM9PntjPWM/KGM9Xy5xQShhLCJ0cmFuc2ZlciIsXy56SShjLCJ0cmFuc2ZlciIpKSk/Yy50cmFuc2ZlclN0YXRlPz8iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iOiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjtyZXR1cm4gY30pO3JldHVybiBrZWEoYil9O21lYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImRvd25sb2FkU3RhdHVzRW50aXR5IixfLnpJKGIsImRvd25sb2FkU3RhdHVzRW50aXR5IikpPy5kb3dubG9hZFN0YXRlPT09IkRPV05MT0FEX1NUQVRFX1VTRVJfREVMRVRFRCI/ITA6ITF9O2pKPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBDU1MhPT0idW5kZWZpbmVkIiYmQ1NTLnN1cHBvcnRzPy4oInNlbGVjdG9yKDpoYXMoKikpIil9OwprSj1mdW5jdGlvbihhKXtyZXR1cm4gYS52aXNpYmlsaXR5IT09ImhpZGRlbiImJmEuZGlzcGxheSE9PSJub25lIn07bUo9ZnVuY3Rpb24oYSl7aWYoakooKXx8YS50YWdOYW1lIT09IkRFVEFJTFMiPyFhLm1hdGNoZXMobEopOmEucXVlcnlTZWxlY3Rvcigic3VtbWFyeSIpIT09bnVsbClyZXR1cm4tMTthPWEuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpfHwiMCI7cmV0dXJuIE51bWJlcihhKX07bmVhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNvbWUoYj0+bUooYik+MCl9O29lYT1mdW5jdGlvbihhKXtpZihhLnRleHRDb250ZW50fHxhLmFyaWFMYWJlbClyZXR1cm4hMDtpZihhIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCl7aWYoIWEubGFiZWxzKXJldHVybiExO2ZvcihsZXQgYiBvZiBhLmxhYmVscylpZihiLnRleHRDb250ZW50KXJldHVybiEwfXJldHVybiExfTtwZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc29ydCgoYixjKT0+bUooYyktbUooYikpfTsKXy5uSj1mdW5jdGlvbihhKXthPUFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKGxKKSkuZmlsdGVyKGI9PihrSihiLnN0eWxlKT9rSih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShiKSk6ITEpJiZvZWEoYikpO3JldHVybiBuZWEoYSk/cGVhKGEpOmF9Owp0ZWE9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpcmV0dXJuW29KXTtzd2l0Y2goYSl7Y2FzZSAiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiOmNhc2UgIlRSQU5TRkVSX1NUQVRFX0NPTVBMRVRFIjpyZXR1cm5bcEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIjpyZXR1cm4gYz9bcEpdOltxZWEscEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX1BBVVNFRF9CWV9VU0VSIjpyZXR1cm5bcmVhLHBKXTtjYXNlICJUUkFOU0ZFUl9TVEFURV9GQUlMRUQiOmNhc2UgIlRSQU5TRkVSX1NUQVRFX1dBSVRJTkdfRk9SX1BMQVlFUl9SRVNQT05TRV9SRUZSRVNIIjpyZXR1cm5bc2VhLHBKXTtkZWZhdWx0OnJldHVybltvSl19fTsKdWVhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0ZWEoYSxiLGQpLm1hcChlPT57dmFyIGY9ZS50ZXh0LGg9ZS5pY29uVHlwZSxrPWUuaWk7ZT1lLktoO2Y9Zj97Y29udGVudDpmfTp2b2lkIDA7aD1oJiZ7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6aH19XX07dmFyIGw9Xy5xZChjKTtpZihsKXtsZXQgbT1fLkIobCxfLkJJKSxuPV8uQihsLF8uQUkpO20mJms/bS5hY3Rpb249azpuJiZlJiYobi5hY3Rpb249ZSl9cmV0dXJue3RpdGxlOmYsbGVhZGluZ0ltYWdlOmgscmVuZGVyZXJDb250ZXh0OmwmJntjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6bH19fX19KX07cUo9ZnVuY3Rpb24oYSl7YT1fLnNIKGEucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5CKGEsXy5CSSk/LnZpZGVvSWR9O3JKPWZ1bmN0aW9uKGEpe2E9Xy5zSChhLnJlbmRlcmVyQ29udGV4dCk7cmV0dXJuIF8uQihhLF8uQUkpPy5wbGF5bGlzdElkfTsKc0o9ZnVuY3Rpb24oYSl7YT1fLkIoYSxfLlpDKTtyZXR1cm4hIWEmJl8udEgoYS5yZW5kZXJlckNvbnRleHQpfTt3ZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGlzdEl0ZW1zPy5zb21lKGI9PntpZihzSihiKSlyZXR1cm4hMDtiPV8uQihiLHZlYSk7cmV0dXJuISFiJiYoXy50SChiLnJlbmRlcmVyQ29udGV4dCl8fHNKKGIuZGVmYXVsdExpc3RJdGVtKXx8c0ooYi50b2dnbGVkTGlzdEl0ZW0pKX0pfTt0Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoO2FbYj09PS0xP2MtMTooYi0xK2MpJWNdPy5mb2N1cygpfTtpZWE9e2RDOiJQUEFEIixPQzoiUFBEUCIsTEY6IlBQT00iLHFHOiJQUFJDIix3RzoiUFBTRSIseEc6IlBQU1YifTt1Sj0iYVtocmVmXSBhW3RhYmluZGV4XSBhcmVhW2hyZWZdIGlmcmFtZSBbdGFiaW5kZXhdIFtjb250ZW50RWRpdGFibGVdIHN1bW1hcnkgaW5wdXQ6bm90KFtkaXNhYmxlZF0pIHNlbGVjdDpub3QoW2Rpc2FibGVkXSkgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSkgb2JqZWN0Om5vdChbZGlzYWJsZWRdKSIuc3BsaXQoIiAiKTsKakooKSYmdUoucHVzaCgiZGV0YWlsczpub3QoOmhhcyhzdW1tYXJ5KSkiKTt2YXIgbEo9dUouam9pbigiLCIpO3ZhciB2ZWE9bmV3IF8uSSgidG9nZ2xlYWJsZUxpc3RJdGVtVmlld01vZGVsIik7dmFyIHhlYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLGNsYXNzTmFtZTpjLG5hOmQsSWE6ZSxCYzpmfT1fLkRDKGEse25hOiExLElhOiExLEJjOiExfSksaD1fLmNJKG49PnthOnt2YXIgcD1iKCkuZW50aXR5S2V5LHI9YigpLmVudGl0eVNlbGVjdG9yVHlwZTtpZihyKXN3aXRjaChyKXtjYXNlICJUT0dHTEVBQkxFX0xJU1RfSVRFTV9FTlRJVFlfU0VMRUNUT1JfVFlQRV9UT0dHTEVfTUVOVV9TRVJWSUNFX0lURU1fRU5USVRZIjppZighcClicmVhaztuPShuPV8ueEEuZUIobixwKSkmJm4uaXNUb2dnbGVkIT09dm9pZCAwP3tpc1RvZ2dsZWQ6bi5pc1RvZ2dsZWR9OnZvaWQgMDticmVhayBhO2RlZmF1bHQ6Xy5JcChuZXcgXy5YaigiRXJyb3I6IGVudGl0eVNlbGVjdG9yVHlwZSBkZWZpbmVkIGJ1dCBub3QgbWF0Y2hlZCBpbiBzZWxlY3Rvci4iLG4scikpfW49dm9pZCAwfXJldHVybiBufSksW2ssbF09Xy5BQygoKT0+aCgpPy5pc1RvZ2dsZWQhPT12b2lkIDA/aCgpPy5pc1RvZ2dsZWQ6YigpLmluaXRpYWxTdGF0ZT8uaXNUb2dnbGVkPz8KYigpLmluaXRpYWxJc1RvZ2dsZWQ/PyExKSxtPSgpPT57dmFyIG49aygpP2IoKS50b2dnbGVkTGlzdEl0ZW06YigpLmRlZmF1bHRMaXN0SXRlbTtyZXR1cm4gXy5CKF8uQihuLF8uWkMpPy5yZW5kZXJlckNvbnRleHQsXy5ZQyk/LmxhYmVsfTtyZXR1cm4gXy5LKCJ0b2dnbGVhYmxlLWxpc3QtaXRlbS12aWV3LW1vZGVsIix7ZWw6Xy5yRihfLnVIKCgpPT5iKCkucmVuZGVyZXJDb250ZXh0LHtvblRhcDoobixwKT0+e3AoKTtoKCk/LmlzVG9nZ2xlZCE9PXZvaWQgMHx8bCghaygpKX19KSksY2xhc3M6Xy5QKCJ0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWxIb3N0IixjKX0sXy5LKF8uTyx7QTooKT0+e2lmKGsoKSl7dmFyIG49YigpLnRvZ2dsZWRMaXN0SXRlbTtuPV8uQihuLF8uWkMpfWVsc2Ugbj1iKCkuZGVmYXVsdExpc3RJdGVtLG49Xy5CKG4sXy5aQyk7cmV0dXJuIG59LHRoZW46bj0+Xy5LKF8uQ0Qse2RhdGE6bixpc1RvZ2dsZWQ6ayxuYTpkLElhOmUsQmM6ZixhcmlhTGFiZWw6bSwKYXJpYVByZXNzZWQ6a30pfSkpfSwiSyIpO3ZhciB5ZWE9Xy5hQSgiRE9XTkxPQUQiLHt9LCJEb3dubG9hZCIpLHplYT1fLmFBKCJERUxFVEVfRlJPTV9ET1dOTE9BRFMiLHt9LCJEZWxldGUgZnJvbSBkb3dubG9hZHMiKSxBZWE9Xy5hQSgiUkVUUlkiLHt9LCJSZXRyeSIpLEJlYT1fLmFBKCJQQVVTRV9ET1dOTE9BRElORyIse30sIlBhdXNlIGRvd25sb2FkaW5nIiksQ2VhPV8uYUEoIlJFU1VNRV9ET1dOTE9BRCIse30sIlJlc3VtZSBkb3dubG9hZCIpLG9KPXt0ZXh0OnllYSxpY29uVHlwZToiT0ZGTElORV9ET1dOTE9BRCIsaWk6IkFDVElPTl9BREQiLEtoOiJBQ1RJT05fQUREIn0scEo9e3RleHQ6emVhLGljb25UeXBlOiJERUxFVEUiLGlpOiJBQ1RJT05fUkVNT1ZFIixLaDoiQUNUSU9OX1JFTU9WRSJ9LHNlYT17dGV4dDpBZWEsaWNvblR5cGU6Ik9GRkxJTkVfRE9XTkxPQUQiLGlpOiJBQ1RJT05fUkVUUlkiLEtoOiJBQ1RJT05fUkVNT1ZFIn0scWVhPXt0ZXh0OkJlYSxpY29uVHlwZToiT0ZGTElORV9QQVVTRSIsaWk6IkFDVElPTl9QQVVTRSIsCktoOiJBQ1RJT05fUEFVU0UifSxyZWE9e3RleHQ6Q2VhLGljb25UeXBlOiJPRkZMSU5FX0RPV05MT0FEIixpaToiQUNUSU9OX1JFU1VNRSIsS2g6IkFDVElPTl9SRVNVTUUifTtfLkwoYT0+e3ZhciBiPV8uY0koaD0+e3ZhciBrPXFKKGEuZGF0YSgpKSxsPXJKKGEuZGF0YSgpKTtrPyhoPWguZW50aXRpZXMsaz8obD1fLnFBKGgsInRyYW5zZmVyIixfLnpJKGssInRyYW5zZmVyIikpKT9rPWwudHJhbnNmZXJTdGF0ZT8/IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iOihsPV8ucUEoaCwib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5IixfLnpJKGssIm9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eSIpKSxrPV8ucUEoaCwibWFpblZpZGVvRW50aXR5IixfLnpJKGssIm1haW5WaWRlb0VudGl0eSIpKSxrPWx8fGs/IlRSQU5TRkVSX1NUQVRFX1RSQU5TRkVSX0lOX1FVRVVFIjoiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpOms9IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKTprPWw/bGVhKGguZW50aXRpZXMsbCk6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO3JldHVybiBrfSksYz1fLkRJKG1lYSwoKT0+cUooYS5kYXRhKCkpKSwKZD1fLmNJKGg9Pnt2YXIgaz1xSihhLmRhdGEoKSksbD1ySihhLmRhdGEoKSk7IWsmJmw/KGs9aC5lbnRpdGllcyxsPyhsPWdKKGwpLGs9Xy5xQShrLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIsXy56SShsLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIpKT8uYWRkVG9PZmZsaW5lQnV0dG9uU3RhdGU/PyJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCIpOms9IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9ESVNBQkxFRCIpOihsPWguZW50aXRpZXMsaz8oaz1nSihrKSxrPV8ucUEobCwib2ZmbGluZWFiaWxpdHlFbnRpdHkiLF8uekkoaywib2ZmbGluZWFiaWxpdHlFbnRpdHkiKSk/LmFkZFRvT2ZmbGluZUJ1dHRvblN0YXRlPz8iQUREX1RPX09GRkxJTkVfQlVUVE9OX1NUQVRFX0VOQUJMRUQiKTprPSJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRElTQUJMRUQiKTtyZXR1cm4ga30pLGU9KCk9PnVlYShiKCksYygpLF8uc0goYS5kYXRhKCkucmVuZGVyZXJDb250ZXh0KSwKISFySihhLmRhdGEoKSkpLGY9KCk9PmQoKSE9PSJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCI7cmV0dXJuIF8uSygieXQtZG93bmxvYWQtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtjbGFzczoieXREb3dubG9hZExpc3RJdGVtVmlld01vZGVsSG9zdCIsaGlkZGVuOmZ9LF8uSyhfLk8se0E6KCk9PiFmKCksdGhlbjooKT0+Xy5LKF8uTyx7QTplLHRoZW46aD0+Xy5LKF8uZ0cse3BhOmh9LGs9Pl8uSyhfLkNELHtkYXRhOmssbmE6YS5uYSxJYTphLklhLEJjOmEuQmMsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmEuZGlzYWJsZUhvcml6b250YWxQYWRkaW5nfSkpfSl9KSl9LCJMIikuaWRvbUNvbXBhdD0hMDtfLkJEPV8uTCgoe2RhdGE6YSxuYTpiLGNlOmMsQmM6ZCxpc092ZXJsYXk6ZSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Zn0pPT57dmFyIGg9KCk9PndlYShhKCkpJiZkPy4oKTtyZXR1cm4gXy5LKCJ5dC1saXN0LXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0TGlzdFZpZXdNb2RlbEhvc3QiLHt5dExpc3RWaWV3TW9kZWxIb3N0S2Fpb3NTcGF0TmF2Ol8uZ3ImJmRvY3VtZW50LmJvZHkuaGFzQXR0cmlidXRlKCJzcGF0aWFsLW5hdmlnYXRpb24tZW5hYmxlZCIpJiZkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgic3BhdGlhbC1uYXZpZ2F0aW9uLWVuYWJsZWQiKT09PSJ0cnVlIn0pLHJvbGU6KCk9PmgoKT8ibWVudSI6Imxpc3QiLHN0eWxlOl8uSUUoeyJtYXgtaGVpZ2h0IjooKT0+e3ZhciBrPWEoKT8udmlzaWJsZUVsZW1lbnRDb3VudDtpZihrKXJldHVybmAkeyhrKy41KSo0MH1weGB9fSksIm9uOmtleWRvd24iOmZ1bmN0aW9uKGspe2lmKGQ/LigpJiZfLngoIndlYl9lbmFibGVfYXJyb3dfa2V5X25hdmlnYXRpb25faW5fZHJvcGRvd24iKSl7dmFyIGw9Cl8ubkooay5jdXJyZW50VGFyZ2V0KTtpZihsLmxlbmd0aCE9PTApe3ZhciBtPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtzd2l0Y2goay5rZXkpe2Nhc2UgIkFycm93RG93biI6ay5wcmV2ZW50RGVmYXVsdCgpO2xbKG0rMSklbC5sZW5ndGhdPy5mb2N1cygpO2JyZWFrO2Nhc2UgIkFycm93VXAiOmsucHJldmVudERlZmF1bHQoKTt0SihsLG0pO2JyZWFrO2Nhc2UgIlRhYiI6ay5wcmV2ZW50RGVmYXVsdCgpLGsuc2hpZnRLZXk/dEoobCxtKTpsWyhtKzEpJWwubGVuZ3RoXT8uZm9jdXMoKX19fX19LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5saXN0SXRlbXN9LHtsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6a30pPT5fLksoXy5DRCx7ZGF0YTprLElhOmgsbmE6YixjZTpjLEJjOmQsaXNPdmVybGF5OmUsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmZ9KSx0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOmt9KT0+Xy5LKHhlYSwKe2RhdGE6ayxJYTpoLG5hOmIsQmM6ZH0pLGRvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWw6KCk9Pl8uSyhfLklCLG51bGwpLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOigpPT5fLksoXy5JQixudWxsKX0pKX0sIk0iKTtfLkJELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIkh4amxiYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLktKPW5ldyBfLkkoImJ1dHRvblZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNEPV8uTChhPT57ZnVuY3Rpb24gYihuKXt2YXIgcD1jKCk7dmFyIHI9ZCgpO3IhPT12b2lkIDA/cD1yOihyPV8uQihwLnNlY29uZGFyeUJ1dHRvbixfLktKKSxwPV8uQihwLnByaW1hcnlCdXR0b24sXy5LSik/LmlzRnVsbFdpZHRoIT09ITF8fHImJnI/LmlzRnVsbFdpZHRoIT09ITE/MTozKTtyZXR1cm4gbj09PXB9dmFyIHtkYXRhOmMsdHlwZTpkLGRpc2FibGVQYWRkaW5nOmUsTmk6ZixYcTpofT1fLkRDKGEse3R5cGU6dm9pZCAwLGRpc2FibGVQYWRkaW5nOiExLE5pOiExfSksaz0oKT0+YygpLnN0YWNraW5nPT09IlBBTkVMX0ZPT1RFUl9TVEFDS0lOR19WRVJUSUNBTCIsbD0oKT0+KHtkaXNhYmxlZDpmKCksc3RhdGU6ZigpPyJkaXNhYmxlZCI6ImFjdGl2ZSJ9KSxtPSgpPT5jKCkubGVhZGluZ0xhYmVsfHxjKCkudHJhaWxpbmdMYWJlbDtyZXR1cm4gXy5LKCJ5dC1wYW5lbC1mb290ZXItdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEhvc3QiLAp7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVyOigpPT5jKCkuc2hvdWxkSGlkZURpdmlkZXIseXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5nOmV9KX0sXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsVGV4dFJvdyIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxSb3dCb3R0b21QYWRkaW5nOigpPT57dmFyIG49YygpO3JldHVybiEoIW4ubGVhZGluZ0xhYmVsJiYhbi50cmFpbGluZ0xhYmVsfHwhbi5wcmltYXJ5QnV0dG9uJiYhbi5zZWNvbmRhcnlCdXR0b24pfX0pfSxfLksoXy5WLHt0ZXh0OigpPT5jKCkubGVhZGluZ0xhYmVsLGNsYXNzTmFtZTpfLlAoe3l0UGFuZWxGb290ZXJWaWV3TW9kZWxUZXh0UGFkZGluZzptfSl9KSxfLksoXy5WLHt0ZXh0OigpPT5jKCkudHJhaWxpbmdMYWJlbH0pKX0pLF8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2sifSwKXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UGFuZWxGb290ZXJWaWV3TW9kZWxQcmltYXJ5QnV0dG9uIix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblN0YWNrVG9wQnV0dG9uOigpPT5jKCkuc2Vjb25kYXJ5QnV0dG9ufSl9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5wcmltYXJ5QnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpufSk9Pl8uSyhfLkhELHtkYXRhOm4sYnV0dG9uT3ZlcnJpZGVzOmwsb25DbGljazpofSl9KSksXy5LKF8uVyx7ZGF0YTooKT0+YygpLnNlY29uZGFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDpfLkhEfSkpfSksXy5LKF8uTyx7QTooKT0+IWsoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvdyIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dUcmFpbGluZzooKT0+YigzKX0pfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0xlZnRCdXR0b24iLAp7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0Z1bGxXaWR0aDooKT0+YigxKSx5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93SGlkZGVuOigpPT4hYygpLnNlY29uZGFyeUJ1dHRvbnx8YigwKSx5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93U2hyaW5rOigpPT5iKDIpfSl9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5zZWNvbmRhcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6Xy5IRH0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbFByaW1hcnlCdXR0b24iLHt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RnVsbFdpZHRoOigpPT5iKDApfHxiKDEpLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dFeHBhbmQ6KCk9PmIoMil9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnByaW1hcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOm59KT0+Xy5LKF8uSEQse2RhdGE6bixidXR0b25PdmVycmlkZXM6bCwKb25DbGljazpofSl9KSkpfSkpfSwiRmEiKTtfLnNELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImxQV2prYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmVMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiakJpc2FmIik7cmV0dXJuIF8uVEN9O18uZkw9Xy5jRCgoKT0+Xy5lTCgpLCJiYWRnZVNoYXBlIik7Xy5ZdChfLkpELGE9PnthLkooImJhZGdlU2hhcGUiLCJqQmlzYWYiLF8uZUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdHcmVlbkNpcmNsZSI7Y2FzZSAxOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1llbGxvd0NpcmNsZSI7Y2FzZSAyOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1JlZFNxdWFyZSI7Y2FzZSAzOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsR3JlZW5TcXVhcmUiO2Nhc2UgNDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsdWVTcXVhcmUiO2Nhc2UgNTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZUJsdWVTcXVhcmUiO2Nhc2UgNjpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFllbGxvd1NxdWFyZSI7CmNhc2UgNzpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVllbGxvd1NxdWFyZSI7Y2FzZSA4OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsT3JhbmdlU3F1YXJlIjtjYXNlIDk6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VPcmFuZ2VTcXVhcmUiO2Nhc2UgMTA6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxSZWRTcXVhcmUiO2Nhc2UgMTE6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VSZWRTcXVhcmUiO2Nhc2UgMTI6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbGFja1NxdWFyZSI7Y2FzZSAxMzpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZUJsYWNrU3F1YXJlIn19LHpmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQkFER0VfQ09NTUVSQ0UiOmNhc2UgIkJBREdFX01FTUJFUlNfT05MWSI6cmV0dXJuIDEwOwpjYXNlICJCQURHRV9ESVNDT1VOVCI6cmV0dXJuIDg7Y2FzZSAiQkFER0VfU1RBVFVTX05FVyI6cmV0dXJuIDEzO2Nhc2UgIkJBREdFX1BSRU1JVU0iOnJldHVybiA3O2Nhc2UgIkJBREdFX1BST01PVEVEIjpyZXR1cm4gNDtjYXNlICJCQURHRV9QUk9NT1RFRF9JTlZFUlRFRCI6cmV0dXJuIDU7Y2FzZSAiQkFER0VfTUVESUEiOnJldHVybiAxO2Nhc2UgIkJBREdFX1RJTUVMWSI6cmV0dXJuIDY7Y2FzZSAiQkFER0VfTElWRV9OT1ciOnJldHVybiAxOTtjYXNlICJCQURHRV9TVEFUVVNfQ09NUExFVEUiOnJldHVybiAxNDtjYXNlICJCQURHRV9TVEFUVVNfV0FSTklORyI6cmV0dXJuIDE1O2Nhc2UgIkJBREdFX1NUQVRVU19FUlJPUiI6cmV0dXJuIDE2O2Nhc2UgIkJBREdFX1NUQVRVU19ERUZBVUxUIjpyZXR1cm4gMTc7ZGVmYXVsdDpyZXR1cm4gMH19LEFmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQkFER0VfTlpfUkFUSU5HX0dSRUVOX0NJUkNMRSI6cmV0dXJuIDA7Y2FzZSAiQkFER0VfTlpfUkFUSU5HX1lFTExPV19DSVJDTEUiOnJldHVybiAxOwpjYXNlICJCQURHRV9OWl9SQVRJTkdfUkVEX1NRVUFSRSI6cmV0dXJuIDI7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0dSRUVOX1NRVUFSRSI6cmV0dXJuIDM7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0JMVUVfU1FVQVJFIjpyZXR1cm4gNDtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfQkxVRV9TUVVBUkUiOnJldHVybiA1O2Nhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9ZRUxMT1dfU1FVQVJFIjpyZXR1cm4gNjtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfWUVMTE9XX1NRVUFSRSI6cmV0dXJuIDc7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX09SQU5HRV9TUVVBUkUiOnJldHVybiA4O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9PUkFOR0VfU1FVQVJFIjpyZXR1cm4gOTtjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfUkVEX1NRVUFSRSI6cmV0dXJuIDEwO2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9SRURfU1FVQVJFIjpyZXR1cm4gMTE7CmNhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9CTEFDS19TUVVBUkUiOnJldHVybiAxMjtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfQkxBQ0tfU1FVQVJFIjpyZXR1cm4gMTN9fTt2YXIgQmZhPV8uTCgoe2RhdGE6YX0pPT5fLksoImJyLW56LWJhZGdlLXNoYXBlIix7Y2xhc3M6Xy5QKCgpPT55ZmEoYSgpLnVpKSkscm9sZTooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0PyJpbWciOnZvaWQgMCwiYXJpYS1sYWJlbCI6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dH0sKCk9PmEoKT8udGV4dCksInVhIik7Xy5FRD1fLkwoYT0+e3ZhciBiPSgpPT57dmFyIGM9YS5kYXRhKCk7aWYoYyl7dmFyIGQ9ISFhLnpMPy4oKSxlPWEub2c/LigpLGY9YS5Eaj8uKCksaD1hLmVwPy4oKSxrPWEucXg/LigpO2E6c3dpdGNoKGMuYmFkZ2VTdHlsZSl7Y2FzZSAiQkFER0VfT1ZFUkxBWSI6dmFyIGw9ITA7YnJlYWsgYTtkZWZhdWx0Omw9ITF9Yz17dHlwZTpkPzE4OnpmYShjLmJhZGdlU3R5bGUpLHVpOkFmYShjLmJhZGdlU3R5bGUpLHRleHQ6Yy5iYWRnZVRleHQsaWNvbjpjLmljb25OYW1lLGlzT3ZlcmxheTpsLG9nOmV8fF8ueCgid2ViX21vZGVybl9iYWRnZV92aWV3X21vZGVsIiksYWNjZXNzaWJpbGl0eVRleHQ6Yy5hY2Nlc3NpYmlsaXR5TGFiZWx8fF8uQihjLnJlbmRlcmVyQ29udGV4dCxfLllDKT8ubGFiZWwsRGo6ZixlcDpoLG9BOmssbnM6Xy5CKGMudG9vbHRpcE9uSG92ZXIsXy5jSyk/LnRvb2x0aXBUZXh0fX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfTtyZXR1cm4gXy5LKCJ5dC1iYWRnZS12aWV3LW1vZGVsIiwKe2NsYXNzOl8uUCgieXRCYWRnZVZpZXdNb2RlbEhvc3QiLGEuY2xhc3MpfSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4hIWIoKT8udWl9LCgpPT5fLksoQmZhLHtkYXRhOigpPT5iKCl9KSksXy5LKF8uQ0Use3doZW46KCk9PiEhYigpJiYhYigpLnVpfSwoKT0+Xy5LKF8uZkwse2RhdGE6KCk9PmIoKX0pKSkpfSwidmEiKTtfLkVELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIlB6VWRaYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnZKPWZ1bmN0aW9uKGEsYixjLGQpe2R8fChkPXtidWJibGVzOiEwLGNhbmNlbGFibGU6ITEsY29tcG9zZWQ6ITB9KTtjIT09bnVsbCYmYyE9PXZvaWQgMCYmKGQuZGV0YWlsPWMpO3ZhciBlPW5ldyBDdXN0b21FdmVudChiLGQpO18uRUEoKCk9PnZvaWQgYS5kaXNwYXRjaEV2ZW50KGUpKTtyZXR1cm4gZX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZEw9ZnVuY3Rpb24oKXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnJFPV8uTChhPT57dmFyIHtGSTpiLGZGOmMscEM6ZCxhc3NldFR5cGU6ZSxRZzpmLGtoOmgsdms6ayx6azpsLFB3Om0scWs6bixVbzpwLGJ1dHRvblN0eWxlOnIsRXo6dCxQcjp2LGNvbnRlbnRBbGlnbm1lbnQ6eixpc0Z1bGxzY3JlZW46RSxrcDpBLHdpZHRoOkYsbWF4SGVpZ2h0OkMsdXE6RyxudDpELHNxOkgsbHQ6Un09Xy5EQyhhLHtQdzowLFVvOjAsYnV0dG9uU3R5bGU6MCxjb250ZW50QWxpZ25tZW50OjAsbWF4SGVpZ2h0OjAsaXNGdWxsc2NyZWVuOiExLGtwOiExLGtoOiEwLHVxOiExLHNxOiExfSk7YT10PygpPT50KHtidXR0b25PdmVycmlkZXM6KCk9Pih7c3R5bGU6cj8uKCk9PT0xPyJjYWxsLXRvLWFjdGlvbiI6Im1vbm8iLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9KSxjbGFzc05hbWU6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRCdXR0b246ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZVN0cmV0Y2hlZDooKT0+cD8uKCk9PT0KMHx8cD8uKCk9PT0yfSl9KTp2b2lkIDA7dmFyIE09dj8oKT0+dih7YnV0dG9uT3ZlcnJpZGVzOntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9LGNsYXNzTmFtZTpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkOigpPT5wPy4oKT09PTB8fHA/LigpPT09Mn0pfSk6dm9pZCAwLFM9KCk9PighIWYmJmgoKXx8ISFrfHwhIWwpJiZtKCk9PT0wO3JldHVybiBfLksoImRpYWxvZy1sYXlvdXQiLHtlbDpfLnJGKGIsXy5kTCksY2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRIb3N0OiEwLHl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW46RSx5dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZlOigpPT4hRSgpJiYhQSgpLHl0U3BlY0RpYWxvZ0xheW91dEV4dGVuZGVkTWF4SGVpZ2h0OigpPT5DKCk9PT0xLHl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SW5zZXQ6KCk9PgplPy4oKT09PTF9KSxzdHlsZTooKT0+Rj8uKCkhPT12b2lkIDA/YHdpZHRoOiAke0YoKX1weDtgOiIifSxjP18uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRJY29uOiEwLHl0U3BlY0RpYWxvZ0xheW91dEljb25BYm92ZU1lZGlhOigpPT4hIWQmJm0oKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0SWNvbkNlbnRlckFsaWduOigpPT56KCk9PT0xfSl9LF8uSyhjLG51bGwpKTpudWxsLF8uSyhfLk8se0E6Ryx0aGVuOigpPT5EP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lciJ9LF8uSyhELG51bGwpKTpudWxsLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTpTLHRoZW46KCk9Pl8uSyhZUCx7Y29udGVudEFsaWdubWVudDp6LHZrOmssems6bCxRZzpmLGtoOmgsVGw6ISFkfSl9KSxkP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dEFzc2V0In0sXy5LKGQse2NsYXNzTmFtZToieXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJdGVtIn0pKToKbnVsbCl9KSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVyOigpPT4hQSgpLHl0U3BlY0RpYWxvZ0xheW91dENlbnRlckFsaWduOigpPT56Py4oKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZzooKT0+IVMoKSYmIUEoKSYmIUcoKSYmIShmJiZoKCkmJiFEJiZtPy4oKT09PTEpfHwhIWQmJm0/LigpPT09MH0pfSxfLksoXy5PLHtBOigpPT5mJiZoKCkmJiFEJiZtPy4oKT09PTEsdGhlbjooKT0+Xy5LKFlQLHtjb250ZW50QWxpZ25tZW50Onosdms6ayx6azpsLFFnOmYsa2g6aCxUbDohMX0pfSksbj9fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50In0sXy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dENvbnRlbnRJbm5lcjooKT0+IUEoKX0pfSxfLksobixudWxsKSkpOm51bGwsXy5LKF8uTyx7QTpILHRoZW46KCk9PlI/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVyIn0sCl8uSyhSLG51bGwpKTpudWxsfSksYXx8TT9fLksoUmlhLHthdzpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEZvb3RlckNvbnRhaW5lcjohMCx5dFNwZWNEaWFsb2dMYXlvdXRGb290ZXI6ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc1N0YWNrZWQ6KCk9PnA/LigpPT09Mix5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lRW5kOigpPT5wPy4oKT09PTF9KSxZdDphLGN1Ok19KTpudWxsKSl9LCJQYiIpOwp2YXIgWVA9Xy5MKGE9Pnt2YXIge2NvbnRlbnRBbGlnbm1lbnQ6Yix2azpjLFFnOmQsa2g6ZSx6azpmLFRsOmgsRXY6a309Xy5EQyhhLHtUbDohMSxFdjohMH0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyQ29udGFpbmVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dIZWFkZXJBYm92ZUFzc2V0OmgseXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ246KCk9PmI/LigpPT09MSYmaygpfSl9LF8uSyhfLk8se0E6KCk9PmsoKSx0aGVuOigpPT5jP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dExlYWRpbmdBY3Rpb25IZWFkZXIifSxfLksoYyxudWxsKSk6bnVsbH0pLGQ/Xy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSygiaDIiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0VGl0bGUifSxfLksoZCxudWxsKSl9KTpudWxsLGY/Xy5LKCJkaXYiLG51bGwsCl8uSyhmLG51bGwpKTpudWxsKX0sIlFiIiksUmlhPV8uTCgoe2F3OmEsWXQ6YixjdTpjfSk9Pl8uSygiZGl2Iix7Y2xhc3M6YX0sYz9fLksoYyxudWxsKTpudWxsLGI/Xy5LKGIsbnVsbCk6bnVsbCksIlJiIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInZpVVdWIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYk09bmV3IF8uVnMoIkxPVFRJRV9MT0FERVJfVE9LRU4iKTtfLmNNPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixhbmltYXRpb25OYW1lOmMsYW5pbWF0aW9uUmVmOmQsR0k6ZX0pPT57dmFyIGY9Xy52RSgibG90dGllLWNvbXBvbmVudCIpLGg7Xy5ZdSgoKT0+dm9pZCBoPy5kZXN0cm95KCkpO3ZhciBrO18ubkUoKCk9Pnt2YXIgbD1fLkJ2KGMpO2lmKGwhPT1rKXtrPWw7dmFyIG09e2FuaW1hdGlvbk5hbWU6bCxhbmltYXRpb25SZWY6Xy5CdihkKSwuLi5fLkJ2KGEpfTt0cnl7Xy55KCkucmVzb2x2ZShfLmJNKSgpLnRoZW4obj0+e2g/LmRlc3Ryb3koKTt2YXIgcD1lPy4oKT8udmFsdWU/P2YudmFsdWUscj1tLmFuaW1hdGlvblJlZix0PW0ubGlzdGVuZXJzO249bi5sb2FkQW5pbWF0aW9uKHtjb250YWluZXI6cCxyZW5kZXJlclNldHRpbmdzOm0ucmVuZGVyZXJTZXR0aW5ncywuLi5tLmFuaW1hdGlvbkNvbmZpZ30pO3ImJihyLmxvdHRpZUVsPW4pO2lmKHQpZm9yKGxldCBbdix6XW9mIE9iamVjdC5lbnRyaWVzKHQpKXI9diwodD16KSYmbi5hZGRFdmVudExpc3RlbmVyKHIsCnQpO2g9bn0pfWNhdGNoKG4pe2w9IkxvdHRpZUNvbXBvbmVudCBlcnJvci4iLG4ubWVzc2FnZSYmKGwrPWAgT3JpZ2luYWwgZGVzY3JpcHRpb246ICR7bi5tZXNzYWdlfWApLF8uY3cobixsKSxfLklwKG4pLG0ubGlzdGVuZXJzPy5lcnJvciYmbS5saXN0ZW5lcnMuZXJyb3Iobil9fX0sInhPQ2s1Iik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PiFlPy4oKSx0aGVuOigpPT5fLksoImxvdHRpZS1jb21wb25lbnQiLHtjbGFzczpfLlAoInl0TG90dGllQ29tcG9uZW50SG9zdCIsYiksZWw6Zn0pfSl9LCJLYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgYmdhO2JnYT1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgsayl7aWYoYi52YWx1ZT09PWsmJiFiLmNhbmNlbGxlZCl7Zm9yKDthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKTthLmNsYXNzTGlzdC5hZGQoInl0U3BlY0ljb25TaGFwZUhvc3QiKTtoKGEsZCl9fXZhciBmPV8ueSgpLnJlc29sdmUoXy5YTCkucHkoYyk7dHlwZW9mIGY9PT0iZnVuY3Rpb24iPyhiLnZhbHVlPW51bGwsZShmLG51bGwpKTooYi52YWx1ZT1mLGYudGhlbihoPT57ZShoLGYpfSkpfTtfLlhMPW5ldyBfLlZzKCJJQ09OX01BTkFHRVJfVE9LRU4iKTtfLllMPV8uTChhPT57dmFyIGI9e3ZhbHVlOm51bGwsY2FuY2VsbGVkOiExfTtfLll1KCgpPT57Yi5jYW5jZWxsZWQ9ITB9KTt2YXIgYz1fLk4oYS5kYXRhLHtlcXVhbHM6KGQsZSk9PmQuaWNvbk5hbWU9PT1lLmljb25OYW1lJiZkLmljb25TdHlsZT09PWUuaWNvblN0eWxlJiZkLmljb25TaXplPT09ZS5pY29uU2l6ZSYmZC5seD09PWUubHgmJmQua3g9PT1lLmt4fSwiY2syNGpiIik7cmV0dXJuIF8uSygic3BhbiIse2NsYXNzOiJ5dC1pY29uLXNoYXBlIixlbDpfLnJGKGQ9PntfLm5FKCgpPT57dmFyIGU9YS5vcHRpb25zPy4oKSxmPWMoKTtiZ2EoZCxiLGYsZSl9LCJ2ODc4SmUiKX0pfSl9LCJIYSIpO18uWUwuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEVQPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDE4OmNhc2UgMTk6Y2FzZSAyMDpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sR2lhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDM6cmV0dXJuInl0QmFkZ2VTaGFwZUFkIjtjYXNlIDE6cmV0dXJuInl0QmFkZ2VTaGFwZU1lZGlhIjtjYXNlIDI6cmV0dXJuInl0QmFkZ2VTaGFwZU1lZGlhT3ZlcmxheSI7Y2FzZSA0OnJldHVybiJ5dEJhZGdlU2hhcGVQcm9tb3RlZCI7Y2FzZSA1OnJldHVybiJ5dEJhZGdlU2hhcGVQcm9tb3RlZEludmVydGVkIjtjYXNlIDY6cmV0dXJuInl0QmFkZ2VTaGFwZVRpbWVseSI7Y2FzZSA3OnJldHVybiJ5dEJhZGdlU2hhcGVQcmVtaXVtIjtjYXNlIDg6cmV0dXJuInl0QmFkZ2VTaGFwZVNhbGUiO2Nhc2UgOTpyZXR1cm4ieXRCYWRnZVNoYXBlTWVtYmVyc2hpcCI7Y2FzZSAxMDpyZXR1cm4ieXRCYWRnZVNoYXBlQ29tbWVyY2UiO2Nhc2UgMTI6cmV0dXJuInl0QmFkZ2VTaGFwZUxpdmUiO2Nhc2UgMTM6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c05ldyI7CmNhc2UgMTQ6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c0NvbXBsZXRlIjtjYXNlIDE1OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNXYXJuaW5nIjtjYXNlIDE2OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNFcnJvciI7Y2FzZSAxNzpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdCI7Y2FzZSAxODpyZXR1cm4gXy54KCJlbmFibGVfbG9ja3VwX3JlZGVzaWduIik/Inl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbiI6Inl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHQiO2Nhc2UgMTk6cmV0dXJuInl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmUiO2Nhc2UgMjA6cmV0dXJuInl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwiO2RlZmF1bHQ6cmV0dXJuInl0QmFkZ2VTaGFwZURlZmF1bHQifX07dmFyIEhpYT1uZXcgU2V0KFsiT1VUTElORV9CQUciXSk7Cl8uVEM9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj0oKT0+e3ZhciBkPWEoKS5pY29uO2lmKGQpYTp7ZD1fLktEKGQpPy5pY29uTmFtZT8/ZDtsZXQgaD0ieW91dHViZV9maWxsIjtIaWEuaGFzKGQudG9VcHBlckNhc2UoKSkmJihoPSJ5b3V0dWJlX291dGxpbmUiKTtsZXQgaz1oPT09InlvdXR1YmVfZmlsbCI/InlvdXR1YmVfb3V0bGluZSI6InlvdXR1YmVfZmlsbCIsbD1fLnkoKS5yZXNvbHZlKF8uWEwpO3ZhciBlPVsxMiwyNF07Zm9yKGYgb2YgZSl7ZT17aWNvbk5hbWU6ZCxpY29uU3R5bGU6aCxpY29uU2l6ZTpmfTtsZXQgbT17aWNvbk5hbWU6ZCxpY29uU3R5bGU6ayxpY29uU2l6ZTpmfTtpZihsLmooZSkpe3ZhciBmPWU7YnJlYWsgYX1pZihsLmoobSkpe2Y9bTticmVhayBhfX1mPXZvaWQgMH1lbHNlIGY9dm9pZCAwO3JldHVybiBmfSxbY109Xy5iSygoKT0+YSgpLm5zKTtyZXR1cm4gXy5LKCJiYWRnZS1zaGFwZSIse2VsOl8uckYoZD0+e2MoZCl9KSxjbGFzczpfLlAoInl0QmFkZ2VTaGFwZUhvc3QiLAooKT0+R2lhKGEoKS50eXBlKSx7eXRCYWRnZVNoYXBlT3ZlcmxheTooKT0+YSgpLmlzT3ZlcmxheSx5dEJhZGdlU2hhcGVBZHNJbmNsdWRlRG90OigpPT5hKCkuQm8seXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2U6KCk9PkVQKGEoKS50eXBlKSx5dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZVJlZGVzaWduOigpPT5fLngoImVuYWJsZV9sb2NrdXBfcmVkZXNpZ24iKSYmRVAoYSgpLnR5cGUpLHl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlOigpPT57YTpzd2l0Y2goYSgpLnR5cGUpe2Nhc2UgMTM6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMTY6Y2FzZSAxNzp2YXIgZD0hMDticmVhayBhO2RlZmF1bHQ6ZD0hMX1yZXR1cm4gZH0seXRCYWRnZVNoYXBlTm9UZXh0OigpPT4hYSgpLnRleHQseXRCYWRnZVNoYXBlSXNFbXB0eTooKT0+IWEoKS50ZXh0JiYhYSgpLmljb24mJiFhKCkuYW5pbWF0aW9uLHl0QmFkZ2VTaGFwZU1vZGVybjooKT0+YSgpLm9nfHxfLngoIndlYl9tb2Rlcm5fYmFkZ2Vfc2hhcGUiKSwKeXRCYWRnZVNoYXBlVHlwb2dyYXBoeTooKT0+e2E6e3ZhciBkPWEoKTtpZihkLm9BKXN3aXRjaChkLnR5cGUpe2Nhc2UgMDpjYXNlIDE6Y2FzZSAxMDpkPSEwO2JyZWFrIGE7ZGVmYXVsdDpkPSExfWVsc2UgZD0hMX1yZXR1cm4hZH0seXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2U6KCk9PmEoKS5HeSx5dEJhZGdlU2hhcGVMYXJnZUZvbnRBZEJhZGdlOigpPT5hKCkuanl9KSxzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6KCk9PmEoKS5jdXN0b21Db2xvcnM/LmJhY2tncm91bmRDb2xvcn0pLHJvbGU6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOigpPT5hKCkuYWNjZXNzaWJpbGl0eVRleHR9LF8uSyhfLk8se0E6KCk9PmEoKS5hbmltYXRpb24sdGhlbjpkPT5fLksoXy5jTSx7Y2xhc3NOYW1lOiJ5dEJhZGdlU2hhcGVJY29uIixkYXRhOmQsYW5pbWF0aW9uTmFtZTooKT0+ZCgpLmFuaW1hdGlvbkNvbmZpZy5uYW1lfHwiIn0pfSksCl8uSyhfLk8se0E6KCk9PmIoKSYmIWEoKT8uYW5pbWF0aW9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0QmFkZ2VTaGFwZUljb24ifSxfLksoXy5ZTCx7ZGF0YTooKT0+YigpfSkpfSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0QmFkZ2VTaGFwZVRleHQiLHt5dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvdzooKT0+YSgpLmVwLHl0QmFkZ2VTaGFwZVRleHRIYXNNdWx0aXBsZUJhZGdlc0luUm93OigpPT4oYSgpLkRqfHwwKT4xfSl9LCgpPT5hKCk/LnRleHQpKX0sInliIik7Xy5UQy5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJqQmlzYWYiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJKO18ud0o9ZnVuY3Rpb24oYSxiLGMsZD0wKXsoZD1fLmlxKGQpKSYmXy5meChhLmNsaWVudCxkLGIsYyl9O18ueEo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldFNjcmVlbkxheWVyJiZiLmdldFNjcmVlbkxheWVyKCk7Yi52aXN1YWxFbGVtZW50P18ud0ooYSxiLnZpc3VhbEVsZW1lbnQsdm9pZCAwLGMpOihfLkR4KCksYj1fLlZpKF8uQngoKS5qKS5iaW5kKF8uQngoKSkoYiksYS5DZihiLHZvaWQgMCxjKSl9O18ueUo9ZnVuY3Rpb24oYSxiLGMpe18uVmkoXy5meCkodm9pZCAwLGEsYixjLHZvaWQgMCl9O18ueko9ZnVuY3Rpb24oYSxiPTApeyhiPV8uaXEoYikpJiZhJiZfLnlKKGIsXy5VdyhhKSl9O18uQUo9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5nRS5wdXNoKHtjb21tYW5kOmEsc291cmNlRGF0YTpiLGNvbW1hbmRDb250ZXh0OmR9KTtjJiZhLmNsaWNrVHJhY2tpbmdQYXJhbXMmJl8uekooYS5jbGlja1RyYWNraW5nUGFyYW1zKX07CkJKPWZ1bmN0aW9uKGEpe2lmKCFhPy5ydW5zKXJldHVybiEwO2ZvcihsZXQgYiBvZiBhLnJ1bnMpaWYoYi5icmFja2V0fHxiLmVycm9yVW5kZXJsaW5lfHxiLmRlZW1waGFzaXplfHxfLkIoYixfLlhjYSl8fF8uQihiLF8uWWNhKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5DSj1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnNpbXBsZVRleHQ/YS5zaW1wbGVUZXh0OmEucnVucz9hLnJ1bnMubWFwKGI9PmIudGV4dCkuam9pbigiIik6IiI6IiJ9O18uREo9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYS5sYWJlbD9hLmxhYmVsOl8uREooYS5hY2Nlc3NpYmlsaXR5RGF0YSl9O18uRGVhPW5ldyBfLkkoInlwY09mZmVyc0VuZHBvaW50Iik7Xy5FZWE9bmV3IF8uSSgieXBjR2V0T2ZmZXJzRW5kcG9pbnQiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGhlbWUtbWV0YSIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTtfLkZlYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyIik7Xy5FSj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWNvbnRhaW5lci1pZCIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udHJvbC1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWVuZHNjcmVlbi1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLXNob3J0cy1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWNpbmVtYXRpY3MtY29udGFpbmVyIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ1bGwtc2NyZWVuLWNvbnRlbnQtaWQiKTtfLkZKPV8uS3koImluaXQiKTt2YXIgR0o7CkdKPV8uTCgoe3J1bjphLG1hOmJ9KT0+e3ZhciBjPSgpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50O3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuYm9sZH0sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLGJvbGQ6dm9pZCAwfSksdm9pZCAwLCJTbFpsNiIpO3JldHVybiBfLksoInN0cm9uZyIse2NsYXNzOiJmb3JtYXR0ZWQtc3RyaW5nLWJvbGQifSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLmRlZW1waGFzaXplfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksZGVlbXBoYXNpemU6dm9pZCAwfSksdm9pZCAwLCJ5SXh3ZGQiKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6ImZvcm1hdHRlZC1zdHJpbmctZGVlbXBoYXNpemUifSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLml0YWxpY3N9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxpdGFsaWNzOnZvaWQgMH0pLHZvaWQgMCwKIlFOWEhIYiIpO3JldHVybiBfLksoImVtIixudWxsLF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkudGV4dENvbG9yfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksdGV4dENvbG9yOnZvaWQgMH0pLHZvaWQgMCwieEplRzNiIik7cmV0dXJuIF8uSygic3BhbiIse3N0eWxlOigpPT5gY29sb3I6ICR7Xy5KRShhKCkudGV4dENvbG9yKX1gfSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLnN0cmlrZXRocm91Z2h9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxzdHJpa2V0aHJvdWdoOnZvaWQgMH0pLHZvaWQgMCwiWENSNmhkIik7cmV0dXJuIF8uSygicyIsbnVsbCxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+IWEoKS5uYXZpZ2F0aW9uRW5kcG9pbnR8fGIoKX0sKCk9Pl8uSyhfLklCLG51bGwsKCk9PmEoKS50ZXh0KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKF8ubkgse2NvbW1hbmQ6YywKdGFiSW5kZXg6MH0sXy5LKF8uSUIsbnVsbCwoKT0+YSgpLnRleHQpKSkpfSwiTiIpOwpfLklKPV8uTCgoe2RhdGE6YSwuLi5ifSk9Pnt2YXIgYz0oKT0+Yi5tYT8uKCksZD0oKT0+Yi51Yj8uKCksZT0oKT0+Yi5JZD8uKCksZj0oKT0+Yi51c2VySW5wdXQ/LigpLGg9KCk9PmIuWGE/LigpLGs9KCk9PmIucmc/LigpPz8hMDtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+IShhPy4oKSYmT2JqZWN0LmtleXMoYSgpKS5sZW5ndGgpfSwoKT0+bnVsbCksXy5LKF8uQ0Use3doZW46KCk9Pnt2YXIgbDtpZihsPUJKKGEoKSkpbD1hKCksbD0hIShsPy5jb250ZW50IT09dm9pZCAwP2w6Xy5BRihsKSkuY29udGVudDtyZXR1cm4gbH19LCgpPT5fLksoXy5WLHt0ZXh0OmEsYXJpYUxhYmVsOigpPT5fLkRKKGEoKS5hY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YSksWGE6aCxtYTpjLHViOmQscmc6ayxJZDplLHVzZXJJbnB1dDpmLFl1OiEwfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5CSihhKCkpfSwoKT0+bnVsbCksXy5LKF8uQ0Use3doZW46KCk9Pnt2YXIgbDsKaWYoKGw9YT8uKCkmJk9iamVjdC5rZXlzKGEoKSkubGVuZ3RoKSYmIShsPWEoKS5hY2Nlc3NpYmlsaXR5KSlhOntsPWEoKTtpZihsLnJ1bnMpZm9yKGxldCBtIG9mIGwucnVucylpZihtLm5hdmlnYXRpb25FbmRwb2ludCl7bD0hMTticmVhayBhfWw9ITB9cmV0dXJuIGwmJmEoKS5ydW5zJiZhKCkucnVucy5sZW5ndGg+MX19LCgpPT5fLksoInNwYW4iLHsiYXJpYS1sYWJlbCI6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhKSxjbGFzczoiZm9ybWF0dGVkLXN0cmluZy10ZXh0Iixyb2xlOiJ0ZXh0In0sXy5LKEhKLHtzaW1wbGVUZXh0OigpPT5hKCkuc2ltcGxlVGV4dCxydW5zOigpPT5hKCkucnVucyxtYTpjfSkpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoSEose3NpbXBsZVRleHQ6KCk9PmEoKS5zaW1wbGVUZXh0LHJ1bnM6KCk9PmEoKS5ydW5zLG1hOmN9KSkpfSwiTyIpO18uSUouaWRvbUNvbXBhdD0hMDsKdmFyIEhKPV8uTCgoe3NpbXBsZVRleHQ6YSxydW5zOmIsbWE6Y30pPT5fLksoXy5PLHtBOigpPT5hJiZhKCksdGhlbjpkPT5kLFc6KCk9Pl8uSyhfLk8se0E6KCk9PmImJmIoKSx0aGVuOmQ9Pl8uSyhfLmdHLHtwYTpkLHRiOiJJTkRFWCJ9LGU9Pl8uSyhHSix7cnVuOmUsbWE6KCk9PiEhYz8uKCl9KSl9KX0pLCJQIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTEo9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJaUUt4MSIpO3JldHVybiBfLlZDfTtfLk1KPV8uY0QoKCk9Pl8uTEooKSwiYnV0dG9uT3JBbmNob3IiKTtfLll0KF8uSkQsYT0+e2EuSigiYnV0dG9uT3JBbmNob3IiLCJaUUt4MSIsXy5MSil9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFlLO1lLPWE9PmI9PigpPT5iPy4oKSE9PXZvaWQgMD9TdHJpbmcoYigpKSthOnZvaWQgMDtfLlpLPVlLKCJweCIpO18ueGZhPVlLKCIlIik7Xy4kSz1ZSygicyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFMPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKWlmKGMpaWYodHlwZW9mIGM9PT0ic3RyaW5nIiliLnB1c2goYyk7ZWxzZSBmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYykpYT1kLGUmJmIucHVzaChhKTtyZXR1cm4gYi5qb2luKCIgIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmJMPW5ldyBfLlZzKCJQQU5FTF9DT05UUk9MTEVSX1RPS0VOIik7Xy5jTD1uZXcgXy5WcygiU0hFRVRfQ09OVFJPTExFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicjlLTWpiIik7cmV0dXJuIF8uJEN9O18uaEw9Xy5jRCgoKT0+Xy5nTCgpLCJ1cHNlbGxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidXBzZWxsVmlld01vZGVsIiwicjlLTWpiIixfLmdMKX0pO18uaUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWY0dTOCIpO3JldHVybiBfLkVDfTtfLmpMPV8uY0QoKCk9Pl8uaUwoKSwibWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooIm1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbCIsIlZjR1M4IixfLmlMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZMPW5ldyBfLkkoImJ1dHRvblJlbmRlcmVyIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV0w9ZnVuY3Rpb24oYSl7cmV0dXJue3J1bnM6W3t0ZXh0OmF9XX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlpMPV8uTChhPT57KHt3cmFwcGVyOmF9PV8uREMoYSx7d3JhcHBlcjohMX0pKTtyZXR1cm4gXy5LKF8uTyx7QTphLHRoZW46KCk9Pl8uSygieXQtc3Bpbm5lci1zaGFwZSIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVdyYXBwZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVNwaW5uZXIifSkpLFc6KCk9Pl8uSygieXQtc3Bpbm5lci1zaGFwZSIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVNwaW5uZXIifSl9KX0sIklhIik7Xy5aTC5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLiRMPXtFbzohMSxscTohMSx2cDoiIix1cDoiIix3cjohMSxDcTohMX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYU09ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0wfHxhPT09MX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBlTSxjZ2EsZGdhLGZNLGdNLGlNLGpNLGVnYSxnZ2EsaWdhLGtnYSxtZ2Esb2dhLHBNLHBnYSxxZ2Esbk07Xy5kTT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSlyZXR1cm4gYn07ZU09ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIGEubGVuZ3RoPT09MD9iPT5iOmEubGVuZ3RoPT09MT9hWzBdOmEucmVkdWNlKChiLGMpPT4oLi4uZCk9PmIoYyguLi5kKSkpfTtjZ2E9ZnVuY3Rpb24oKXt2YXIgYT1bXTtyZXR1cm4gYj0+KGMsZCk9PntjPWIoYyxkKTt2YXIgZT0oKT0+e3Rocm93IEVycm9yKCJRYiIpO30sZj17Z2V0U3RhdGU6Yy5nZXRTdGF0ZSxkaXNwYXRjaDooaCwuLi5rKT0+ZShoLC4uLmspfTtkPWEubWFwKGg9PmgoZikpO2U9ZU0oLi4uZCkoYy5kaXNwYXRjaCk7cmV0dXJuey4uLmMsZGlzcGF0Y2g6ZX19fTsKZGdhPWZ1bmN0aW9uKGEpe09iamVjdC5rZXlzKGEpLmZvckVhY2goYj0+e3ZhciBjPWFbYl07aWYodHlwZW9mIGModm9pZCAwLHt0eXBlOl8ubUF9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJSYmAiK2IpO2lmKHR5cGVvZiBjKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7Xy5sQSgpfWB9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJTYmAiK2IrImAiK18ubUEpO30pfTsKZk09ZnVuY3Rpb24oYSl7dmFyIGI9T2JqZWN0LmtleXMoYSksYz17fTtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKyl7bGV0IGg9YltmXTt0eXBlb2YgYVtoXT09PSJmdW5jdGlvbiImJihjW2hdPWFbaF0pfXZhciBkPU9iamVjdC5rZXlzKGMpO3RyeXtkZ2EoYyl9Y2F0Y2goZil7dmFyIGU9Zn1yZXR1cm4gZnVuY3Rpb24oZj17fSxoKXtpZihlKXRocm93IGU7dmFyIGs9ITEsbD17fTtmb3IobGV0IG09MDttPGQubGVuZ3RoO20rKyl7bGV0IG49ZFttXSxwPWZbbl0scj0oMCxjW25dKShwLGgpO2lmKHR5cGVvZiByPT09InVuZGVmaW5lZCIpdGhyb3cgZj1oJiZoLnR5cGUsRXJyb3IoIlRiYCIrKGY/YCIke1N0cmluZyhmKX0iYDoiKHVua25vd24gdHlwZSkiKSsiYCIrbik7bFtuXT1yO2s9a3x8ciE9PXB9cmV0dXJuKGs9a3x8ZC5sZW5ndGghPT1PYmplY3Qua2V5cyhmKS5sZW5ndGgpP2w6Zn19OwpnTT1mdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZCgpe2lmKG4pdGhyb3cgRXJyb3IoIlViIik7cmV0dXJuIGt9ZnVuY3Rpb24gZShyKXtpZih0eXBlb2YgciE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIlZiYCIrdHlwZW9mIHIpO2lmKG4pdGhyb3cgRXJyb3IoIldiIik7dmFyIHQ9ITA7bT09PWwmJihtPWwuc2xpY2UoKSk7bS5wdXNoKHIpO3JldHVybiBmdW5jdGlvbigpe2lmKHQpe2lmKG4pdGhyb3cgRXJyb3IoIlhiIik7dD0hMTttPT09bCYmKG09bC5zbGljZSgpKTt2YXIgdj1tLmluZGV4T2Yocik7bS5zcGxpY2UodiwxKTtsPW51bGx9fX1mdW5jdGlvbiBmKHIpe2lmKHR5cGVvZiByIT09Im9iamVjdCJ8fHI9PT1udWxsKXZhciB0PSExO2Vsc2V7Zm9yKHQ9cjtPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1udWxsOyl0PU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTt0PU9iamVjdC5nZXRQcm90b3R5cGVPZihyKT09PXR9aWYoIXQpdGhyb3cgRXJyb3IoIlliYCIrdHlwZW9mIHIpOwppZih0eXBlb2Ygci50eXBlPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlpiIik7aWYobil0aHJvdyBFcnJvcigiJGIiKTt0cnl7bj0hMCxrPWgoayxyKX1maW5hbGx5e249ITF9dD1sPW07Zm9yKGxldCB2PTA7djx0Lmxlbmd0aDt2KyspKDAsdFt2XSkoKTtyZXR1cm4gcn1pZih0eXBlb2YgYj09PSJmdW5jdGlvbiImJnR5cGVvZiBjPT09ImZ1bmN0aW9uInx8dHlwZW9mIGM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiYWMiKTt0eXBlb2YgYj09PSJmdW5jdGlvbiImJnR5cGVvZiBjPT09InVuZGVmaW5lZCImJihjPWIsYj12b2lkIDApO2lmKHR5cGVvZiBjIT09InVuZGVmaW5lZCIpe2lmKHR5cGVvZiBjIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiYmNgIit0eXBlb2YgYyk7cmV0dXJuIGMoZ00pKGEsYil9aWYodHlwZW9mIGEhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJjY2AiK3R5cGVvZiBhKTt2YXIgaD1hLGs9CmIsbD1bXSxtPWwsbj0hMTtmKHt0eXBlOl8ubUF9KTt2YXIgcD17ZGlzcGF0Y2g6ZixzdWJzY3JpYmU6ZSxnZXRTdGF0ZTpkLHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHIpe2lmKHR5cGVvZiByIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiZGNgIit0eXBlb2Ygcik7aD1yO2Yoe3R5cGU6Xy5SYWF9KTtyZXR1cm4gcH0sW18ubkFdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShyKXtmdW5jdGlvbiB0KCl7ci5uZXh0JiZyLm5leHQoZCgpKX1pZih0eXBlb2YgciE9PSJvYmplY3QifHxyPT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJlY2AiK3R5cGVvZiByKTt0KCk7cmV0dXJue3Vuc3Vic2NyaWJlOmUodCl9fSxbXy5uQV0oKXtyZXR1cm4gdGhpc319fX07cmV0dXJuIHB9OwpfLmhNPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17Li4uYX07Zm9yKGxldCBlIG9mIE9iamVjdC5rZXlzKGIpKXtsZXQgZj1hW2VdLGg9YltlXTtpZihoPT09dm9pZCAwKWRlbGV0ZSBkW2VdO2Vsc2UgaWYoZj09PXZvaWQgMClkW2VdPWg7ZWxzZSBpZihBcnJheS5pc0FycmF5KGgpJiZBcnJheS5pc0FycmF5KGYpKWRbZV09Yz9bLi4uZiwuLi5oXTpoO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoaCkmJl8uQWEoaCkmJiFBcnJheS5pc0FycmF5KGYpJiZfLkFhKGYpKWRbZV09Xy5oTShmLGgsYyk7ZWxzZSBpZih0eXBlb2YgaD09PXR5cGVvZiBmKWRbZV09aDtlbHNlIHJldHVybiBiPW5ldyBfLlhqKCJBdHRlbXB0ZWQgdG8gbWVyZ2UgZmllbGRzIG9mIGRpZmZlcmluZyB0eXBlcy4iLHtuYW1lOiJEZWVwTWVyZ2VFcnJvciIsa2V5OmUsSGo6Zix1cGRhdGVWYWx1ZTpofSksXy5HcChiKSxhfXJldHVybiBkfTsKaU09ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZD09PXZvaWQgMCl7bGV0IHtbY106ZSwuLi5mfT1hW2JdfHx7fTtyZXR1cm57Li4uYSxbYl06Zn19cmV0dXJuey4uLmEsW2JdOnsuLi5hW2JdLFtjXTpkfX19O2pNPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YVtiXXx8e30saD1mW2NdO2lmKCFoJiYhXy54KCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIGE7ZD1fLmhNKGh8fHt9LGQsZT09PSJSRVBFQVRFRF9GSUVMRFNfTUVSR0VfT1BUSU9OX0FQUEVORCIpO3JldHVybnsuLi5hLFtiXTp7Li4uZixbY106ZH19fTsKZWdhPWZ1bmN0aW9uKGE9e30sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRU5USVRZX0xPQURFRCI6cmV0dXJuIGIucGF5bG9hZC5yZWR1Y2UoKGMsZCk9Pnt2YXIgZT1kLm9wdGlvbnM/LnBlcnNpc3RlbmNlT3B0aW9uO2lmKGUmJmUhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9VTktOT1dOIiYmZSE9PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX0lOTUVNT1JZX0FORF9QRVJTSVNUIilyZXR1cm4gYztpZighZC5lbnRpdHlLZXkpcmV0dXJuIF8uR3AoRXJyb3IoImdjIikpLGM7aWYoZC50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1JFUExBQ0UiKXtpZighZC5wYXlsb2FkKXJldHVybiBkPW5ldyBfLlhqKCJSRVBMQUNFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpkLmVudGl0eUtleX0pLF8uR3AoZCksYzt2YXIgZj1fLmRNKGQucGF5bG9hZCk7cmV0dXJuIGlNKGMsZixkLmVudGl0eUtleSxkLnBheWxvYWRbZl0pfWlmKGQudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7ZD1kLmVudGl0eUtleTt0cnl7bGV0IGg9Xy5HSChkKS5lbnRpdHlUeXBlO2Y9aU0oYyxoLGQpO2JyZWFrIGF9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIEVycm9yKXtkPW5ldyBfLlhqKCJGYWlsZWQgdG8gZGVzZXJpYWxpemUgZW50aXR5IGtleSIse2VudGl0eUtleTpkLG9yaWdpbmFsTWVzc2FnZTpoLm1lc3NhZ2V9KTtfLkdwKGQpO2Y9YzticmVhayBhfXRocm93IGg7fWY9dm9pZCAwfXJldHVybiBmfWlmKGQudHlwZT09PSJFTlRJVFlfTVVUQVRJT05fVFlQRV9VUERBVEUiKXtpZighZC5wYXlsb2FkKXJldHVybiBkPW5ldyBfLlhqKCJVUERBVEUgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmQuZW50aXR5S2V5fSksXy5HcChkKSxjO2Y9Xy5kTShkLnBheWxvYWQpO3JldHVybiBqTShjLGYsZC5lbnRpdHlLZXksZC5wYXlsb2FkW2ZdLGQuZmllbGRNYXNrPy5tZXJnZU9wdGlvbnM/LnJlcGVhdGVkRmllbGRzTWVyZ2VPcHRpb24pfXJldHVybiBjfSwKYSk7Y2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBpTShhLGIucGF5bG9hZC5lbnRpdHlUeXBlLGIucGF5bG9hZC5rZXksYi5wYXlsb2FkLnhsKTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoYi5wYXlsb2FkKS5yZWR1Y2UoKGMsZCk9Pnt2YXIgZT1iLnBheWxvYWRbZF07cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoZixoKT0+aU0oZixkLGgsZVtoXSksYyl9LGEpO2Nhc2UgIlVQREFURV9FTlRJVFkiOnJldHVybiBqTShhLGIucGF5bG9hZC5lbnRpdHlUeXBlLGIucGF5bG9hZC5rZXksYi5wYXlsb2FkLnhsLGIucGF5bG9hZC5JeSk7ZGVmYXVsdDpyZXR1cm4gYX19OwpfLmxNPWZ1bmN0aW9uKCl7aWYoXy5rTSlyZXR1cm4gXy5rTTtpZih3aW5kb3cubG90dGllKXJldHVybiBfLmtNPVByb21pc2UucmVzb2x2ZSh3aW5kb3cubG90dGllKTt2YXIgYT1fLmh3KF8udygiTE9UVElFX1VSTCIpKTtyZXR1cm4gYT9fLmtNPW5ldyBQcm9taXNlKChiLGMpPT57dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ZC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e2IobG90dGllKX0pO2QuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGU9Pnt2YXIgZj0iTG90dGllIGxpYnJhcnkgZmFpbGVkIHRvIGxvYWQuIjtlP2UubWVzc2FnZSYmKGYrPWAgT3JpZ2luYWwgZGVzY3JpcHRpb246ICR7ZS5tZXNzYWdlfWAsXy5jdyhlLGYpKTplPUVycm9yKGYpO18uSXAoZSk7YyhlKX0pO2Quc2V0QXR0cmlidXRlKCJhc3luYyIsIiIpO18ub2IoZCxhKTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGQpfSk6UHJvbWlzZS5yZWplY3QoRXJyb3IoIkJkIikpfTsKZ2dhPWZ1bmN0aW9uKGE9ZmdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19CT1RUT01fU0hFRVRfT1BFTl9TVEFURSI6cmV0dXJuey4uLmEsamo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07aWdhPWZ1bmN0aW9uKGE9aGdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9DSU5FTUFUSUNfU0VUVElOR19TVEFURSI6cmV0dXJuey4uLmEsaXNBbGxvd2VkOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19OwprZ2E9ZnVuY3Rpb24oYT1qZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0VSUk9SX01FU1NBR0VfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSxlcnJvck1lc3NhZ2U6Yi5wYXlsb2FkfTtjYXNlICJTRVRfVElUTEVfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSx0aXRsZTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9QUklWQUNZX0NSRUFURV9QTEFZTElTVF9TVEFURSI6cmV0dXJuey4uLmEscHJpdmFjeTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9JU19ESVNBQkxFRF9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLGlzRGlzYWJsZWQ6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07bWdhPWZ1bmN0aW9uKGE9bGdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19EUkFXRVJfTEFZT1VUX09QRU5fU1RBVEUiOnJldHVybnsuLi5hLGpqOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19OwpvZ2E9ZnVuY3Rpb24oYT1uZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0ZVTExTQ1JFRU5fU1RBVEUiOnJldHVybnsuLi5hLGlzRnVsbHNjcmVlbjpiLnBheWxvYWR9O2Nhc2UgIlNFVF9OQVZJR0FUSU9OX0JVVFRPTiI6dmFyIGM9ey4uLmEubmF2aWdhdGlvbkJ1dHRvbnN9O2NbYi5wYXlsb2FkLnRhcmdldElkXT1iLnBheWxvYWQuYnV0dG9uO3JldHVybnsuLi5hLG5hdmlnYXRpb25CdXR0b25zOmN9O2Nhc2UgIlNFVF9UT1BfUEFORUxfSURfU1RBVEUiOnJldHVybnsuLi5hLHFzOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NFQ09OREFSWV9IRUFERVIiOnJldHVybiBjPXsuLi5hLnNlY29uZGFyeUhlYWRlcn0sY1tiLnBheWxvYWQucGFuZWxJZF09Yi5wYXlsb2FkLnNlY29uZGFyeUhlYWRlcix7Li4uYSxzZWNvbmRhcnlIZWFkZXI6Y307ZGVmYXVsdDpyZXR1cm4gYX19O18ub009ZnVuY3Rpb24oKXttTXx8KG1NPW5ldyBuTSk7cmV0dXJuIG1NfTsKcE09ZnVuY3Rpb24oYSxiKXtiPWI/LkFzfHxfLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtzd2l0Y2goYSl7Y2FzZSAiTElLRSI6YT1fLm9NKCkuZ2V0U3RhdGUoKTthPShhPV8ucUEoYS5lbnRpdGllcywibGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eSIsIkVoeHNhV3RsWDJKMWRIUnZibDloYm1sdFlYUnBiMjVmWlc1MGFYUjVJTGNFS0FFJTNEIikpJiZhLmFuaW1hdGlvbkxpZ2h0VXJsJiZhLmFuaW1hdGlvbkRhcmtVcmw/e0VjOnthbmltYXRpb25Db25maWc6e25hbWU6Yj8iY3VzdG9tX2FuaW1hdGVkX2xpa2VfaWNvbl9kYXJrIjoiY3VzdG9tX2FuaW1hdGVkX2xpa2VfaWNvbiIscGF0aDpiP2EuYW5pbWF0aW9uRGFya1VybDphLmFuaW1hdGlvbkxpZ2h0VXJsLGxvb3A6ITEsYXV0b3BsYXk6ITEscmVuZGVyZXJTZXR0aW5nczp7dmlld0JveE9ubHk6ITAsY2xhc3NOYW1lOiJjdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIn19fSx0b3RhbEZyYW1lczoxMjAsemg6ITB9OnZvaWQgMDsKaWYoYSlyZXR1cm4gYTtiPWBhbmltYXRlZF9saWtlX2ljb25fJHtiPyJkYXJrIjoibGlnaHQifV92NWA7cmV0dXJue0VjOnthbmltYXRpb25Db25maWc6e25hbWU6YixwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvYW5pbWF0ZWRfbGlrZV9pY29uLyR7Yn0uanNvbmAsbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImFuaW1hdGVkLWxpa2UtaWNvbiJ9fX0sdG90YWxGcmFtZXM6MTIwLHpoOiEwfTtjYXNlICJOT1RJRklDQVRJT05fQkVMTCI6cmV0dXJue0VjOnthbmltYXRpb25Db25maWc6e25hbWU6Yj8ibm90aWZpY2F0aW9uX2JlbGxfZGFyayI6Im5vdGlmaWNhdGlvbl9iZWxsX2xpZ2h0IixwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX2JlbGxfaWNvbl8ke2I/ImRhcmsiOiJsaWdodCJ9X3Y0Lmpzb25gLApsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e2NsYXNzTmFtZToiYW5pbWF0ZWQtc3Vic2NyaWJlLWljb24ifX19LHRvdGFsRnJhbWVzOjEyMCx6aDohMX19fTtwZ2E9ZnVuY3Rpb24oYSxiKXtfLmpmLnBiKGFzeW5jKCk9Pnt0cnl7YXdhaXQgXy5sTSgpO2xldCBjPWF3YWl0IChhd2FpdCBmZXRjaChhKSkuanNvbigpO3FNLnNldChhLGMpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2IoYyl9KX1jYXRjaChjKXtfLklwKGMpfX0pfTtxZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9e2FuaW1hdGlvbkNvbmZpZzp7fSxsaXN0ZW5lcnM6e319LGM9KCk9PnthKCEwKX07Yi5saXN0ZW5lcnMuckk9YztiLmxpc3RlbmVycy5lcnJvcj1jO2IubGlzdGVuZXJzLnNJPSgpPT57YSghMSl9O3JldHVybiBifTsKbk09Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT1mTSh7ZW5nYWdlbWVudFBhbmVsOm9nYSx0aTpnZ2EsZUk6aWdhLERwOm1nYSxtSTprZ2EsUUo6cmdhLEJLOnNnYSxDSzp0Z2EsLi4udWdhLC4uLnZnYX0pLGI9ZU0oY2dhKCkpO3RoaXMuc3RvcmU9Z00oYSx2b2lkIDAsYil9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpfWRpc3BhdGNoKGEpe3JldHVybiB0aGlzLnN0b3JlLmRpc3BhdGNoKGEpfXN1YnNjcmliZShhKXtyZXR1cm4gdGhpcy5zdG9yZS5zdWJzY3JpYmUoYSl9cmVwbGFjZVJlZHVjZXIoYSl7cmV0dXJuIHRoaXMuc3RvcmUucmVwbGFjZVJlZHVjZXIoYSl9W1N5bWJvbC5vYnNlcnZhYmxlXSgpe3JldHVybiB0aGlzLnN0b3JlW1N5bWJvbC5vYnNlcnZhYmxlXSgpfX07dmFyIHFNPW5ldyBNYXA7dmFyIHdnYT17SnA6bnVsbH07dmFyIHVnYT17VHI6ZnVuY3Rpb24oYT1fLiRMLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9TSEFSRURfQU5JTUFURURfVEhVTUJOQUlMX0VOQUJMRUQiOnJldHVybnsuLi5hLEVvOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9JTkxJTkVfUFJFVklFV19FTkFCTEVEIjpyZXR1cm57Li4uYSxscTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9TSEFSRURfQ1VSUkVOVF9QQUdFX1RZUEUiOnJldHVybnsuLi5hLHZwOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9DVVJSRU5UX1BBR0VfU1VCX1RZUEUiOnJldHVybnsuLi5hLHVwOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9QRVJTSVNURU5UX1BBTkVMX1ZJU0lCTEUiOnJldHVybnsuLi5hLHdyOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9JU19TRUFSQ0hCT1hfSElEREVOIjpyZXR1cm57Li4uYSxDcTpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fSxhMTF5OmZNKHtKcDpmdW5jdGlvbihhPXdnYS5KcCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfRVBIRU1FUkFMX0FDVElPTiI6cmV0dXJuIGIucGF5bG9hZDsKZGVmYXVsdDpyZXR1cm4gYX19fSksZW50aXRpZXM6ZnVuY3Rpb24oYT17fSxiKXtyZXR1cm4gZWdhKGEsYil9fTt2YXIgck09e1hsOiExLGZtOiExLGptOiExLHBsYXllclN0YXRlOi0xLGlzRnVsbHNjcmVlbjohMSxtajohMSxabDohMSxnbTohMSxUajoyLHhqOjB9O3ZhciB4Z2E9Zk0oe1hsOmZ1bmN0aW9uKGE9ck0uWGwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0RFU0tUT1BfU01BTExfV0lEVEgiOnJldHVybiBiLnBheWxvYWQuWGw7ZGVmYXVsdDpyZXR1cm4gYX19LGZtOmZ1bmN0aW9uKGE9ck0uZm0sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1NIT1JUU19BQ1RJVkUiOnJldHVybiBiLnBheWxvYWQuZm07ZGVmYXVsdDpyZXR1cm4gYX19LGptOmZ1bmN0aW9uKGE9ck0uam0sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1dBVENIX1dISUxFX01PREUiOnJldHVybiBiLnBheWxvYWQuam07ZGVmYXVsdDpyZXR1cm4gYX19LHBsYXllclN0YXRlOmZ1bmN0aW9uKGE9ck0ucGxheWVyU3RhdGUsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1BMQVlFUl9TVEFURSI6cmV0dXJuIGIucGF5bG9hZC5wbGF5ZXJTdGF0ZTtkZWZhdWx0OnJldHVybiBhfX0saXNGdWxsc2NyZWVuOmZ1bmN0aW9uKGE9ck0uaXNGdWxsc2NyZWVuLApiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfRlVMTFNDUkVFTiI6cmV0dXJuIGIucGF5bG9hZC5pc0Z1bGxzY3JlZW47ZGVmYXVsdDpyZXR1cm4gYX19LG1qOmZ1bmN0aW9uKGE9ck0ubWosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1NNQUxMX1NDUkVFTl9TUVVFRVpFQkFDSyI6cmV0dXJuIGIucGF5bG9hZC5tajtkZWZhdWx0OnJldHVybiBhfX0sZ206ZnVuY3Rpb24oYT1yTS5nbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU0hPUlRTX1BJUF9BQ1RJVkUiOnJldHVybiBiLnBheWxvYWQuZ207ZGVmYXVsdDpyZXR1cm4gYX19LFpsOmZ1bmN0aW9uKGE9ck0uWmwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1BMQVlCQUNLX1NUQVJURUQiOnJldHVybiBiLnBheWxvYWQuWmw7ZGVmYXVsdDpyZXR1cm4gYX19LFRqOmZ1bmN0aW9uKGE9ck0uVGosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1NIT1JUU19MQVlPVVQiOnJldHVybiBiLnBheWxvYWQuVGo7CmRlZmF1bHQ6cmV0dXJuIGF9fSx4ajpmdW5jdGlvbihhPXJNLnhqLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9NRVRBUEFORUxfU1RZTEUiOnJldHVybiBiLnBheWxvYWQueGo7ZGVmYXVsdDpyZXR1cm4gYX19fSk7dmFyIGZnYT17amo6ITF9O3ZhciBoZ2E9e2lzQWxsb3dlZDohMX07dmFyIGpnYT17ZXJyb3JNZXNzYWdlOiIiLHRpdGxlOiIiLHByaXZhY3k6IiIsaXNEaXNhYmxlZDohMH07dmFyIGxnYT17amo6ITF9O3ZhciBuZ2E9e2lzRnVsbHNjcmVlbjohMSxxczp2b2lkIDAsbmF2aWdhdGlvbkJ1dHRvbnM6e30sc2Vjb25kYXJ5SGVhZGVyOnt9fTt2YXIgeWdhPXtyZXNwb25zZTp2b2lkIDB9O3ZhciByZ2E9KGE9eWdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiTE9DQVRJT05fQ09MTEVDVElPTl9SRVNQT05TRV9DSEFOR0UiOnJldHVybnsuLi5hLHJlc3BvbnNlOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciB6Z2E9e25leHRDb21tYW5kOnZvaWQgMCxUeTohMSxidzp2b2lkIDAsUHg6ITF9O3ZhciBzZ2E9KGE9emdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiUkVQT1JUX0NIQU5ORUxfTkVYVF9ESVNBQkxFRF9DSEFOR0UiOnJldHVybnsuLi5hLFR5OmIucGF5bG9hZH07Y2FzZSAiUkVQT1JUX0NIQU5ORUxfTkVYVF9DT01NQU5EX0NIQU5HRSI6cmV0dXJuey4uLmEsbmV4dENvbW1hbmQ6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9NT0RBTF9GT09URVJfUkVOREVSRVJfU1VCTUlTU0lPTl9EQVRBX0NIQU5HRSI6cmV0dXJuey4uLmEsYnc6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0lNUEVSU09OQVRJT05fVkFMSURJVFlfQ0hBTkdFIjpyZXR1cm57Li4uYSxQeDpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTt2YXIgQWdhPXtVejp2b2lkIDAsVHo6dm9pZCAwfTt2YXIgdGdhPShhPUFnYSxiKT0+e3N3aXRjaChiLnR5cGUpe2Nhc2UgIlJFUE9SVF9GT1JNX01PREFMX1JFTkRFUkVSX0RBVEFfQ0hBTkdFIjpyZXR1cm57Li4uYSxVejpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9ERVRBSUxTX0ZPUk1fUkVOREVSRVJfREFUQV9DSEFOR0UiOnJldHVybnsuLi5hLFR6OmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciBCZ2E9e307dmFyIHNNPXtzaDohMSx3aDpfLngoIndlYl9wbGF5bGlzdF9wYW5lbF9kZWZhdWx0X2NvbGxhcHNlZCIpLHZnOltdLFppOiExfTt2YXIgQ2dhPWZNKHtzaDpmdW5jdGlvbihhPXNNLnNoLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9JU19MSVZFX0NIQVRfQ09MTEFQU0VEIjpyZXR1cm4gYi5wYXlsb2FkP2IucGF5bG9hZC5zaDphO2RlZmF1bHQ6cmV0dXJuIGF9fSx3aDpmdW5jdGlvbihhPXNNLndoLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9JU19QTEFZTElTVF9QQU5FTF9DT0xMQVBTRUQiOnJldHVybiBiLnBheWxvYWQud2g7ZGVmYXVsdDpyZXR1cm4gYX19LHZnOmZ1bmN0aW9uKGE9c00udmcsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfQUREX09QRU5fRU5HQUdFTUVOVF9QQU5FTCI6cmV0dXJuWy4uLmEsYi5wYXlsb2FkLnh6XTtjYXNlICJNQUlOX0FQUF9SRU1PVkVfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIjpyZXR1cm4gYS5sZW5ndGg9PT0wP2E6YS5maWx0ZXIoYz0+YyE9PWIucGF5bG9hZC5vSyk7ZGVmYXVsdDpyZXR1cm4gYX19LFppOmZ1bmN0aW9uKGE9CnNNLlppLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9IQVNfUExBWUxJU1QiOnJldHVybiBiLnBheWxvYWQuWmk7ZGVmYXVsdDpyZXR1cm4gYX19fSk7dmFyIHZnYT17eEw6ZnVuY3Rpb24oYT1CZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1RSQU5TQ1JJUFRJT05fU1RBVEUiOnJldHVybnsuLi5hLGpMOmIucGF5bG9hZH07Y2FzZSAiU0VUX09WRVJMQVlfU1RBVEUiOnJldHVybnsuLi5hLG92ZXJsYXk6Yi5wYXlsb2FkfTtjYXNlICJSRVNFVF9WT0lDRV9TRUFSQ0hfU1RBVEUiOnJldHVybnt9O2RlZmF1bHQ6cmV0dXJuIGF9fSxzaG9ydHM6eGdhLEFkOkNnYX07dmFyIG1NPXZvaWQgMDttTT1uZXcgbk07Xy50TT1fLkwoYT0+e3ZhciB7YW5pbWF0ZWRJY29uVHlwZTpiLGFjdGl2ZTpjLEhjOmQsYW5pbWF0aW9uUmVmOmUsSEE6ZixzaXplOmh9PV8uREMoYSx7SGM6dm9pZCAwLGFuaW1hdGlvblJlZjp7fSxzaXplOjI0fSksW2ssbF09Xy5KKHZvaWQgMCx2b2lkIDAsIlR2Z21DZSIpLG09KCk9PnBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZy5uYW1lPz8iIixuPSgpPT57aWYocE0oYigpLGQ/LigpKSl7dmFyIHtwYXRoOkF9PXBNKGIoKSxkPy4oKSkuRWMuYW5pbWF0aW9uQ29uZmlnO3JldHVybiBxTS5nZXQoQSl8fGsoKX19LFtwLHJdPV8uSighMSx2b2lkIDAsImpmMkR5YiIpLHQ9cWdhKHIpLHY9KCk9PnBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZz8ucmVuZGVyZXJTZXR0aW5ncz8uY2xhc3NOYW1lPz8iIix6PXZvaWQgMCxFPXZvaWQgMDtfLm5FKCgpPT57dmFyIEE9cE0oYigpLGQ/LigpKSxGPW0oKSxDPW4oKSxHPXAoKSxEPWMoKTtpZihBJiYoRSE9PUYmJihFPQpGLHo9RCxGPWUoKSx0LmFuaW1hdGlvbkNvbmZpZz1BLkVjLmFuaW1hdGlvbkNvbmZpZyx0LmFuaW1hdGlvblJlZj1GLEMmJih0LmFuaW1hdGlvbkNvbmZpZy5hbmltYXRpb25EYXRhPUMsdC5hbmltYXRpb25Db25maWcucGF0aD12b2lkIDApLEY9QS5FYy5hbmltYXRpb25Db25maWcucGF0aCwhcU0uZ2V0KEYpJiZBLnpoJiZGJiZwZ2EoRixsKSksIShHfHxBLnpoJiYhQykpKXtpZihDPSFlKCkubG90dGllRWwpRD8oRz1BLnRvdGFsRnJhbWVzLHQuYW5pbWF0aW9uQ29uZmlnLmluaXRpYWxTZWdtZW50PVtHLTEsR10pOnQuYW5pbWF0aW9uQ29uZmlnLmluaXRpYWxTZWdtZW50PXZvaWQgMDt6PT09RHx8Q3x8KEM9ZSgpLEQ/Qy5sb3R0aWVFbD8ucGxheVNlZ21lbnRzKFswLEEudG90YWxGcmFtZXNdLCEwKTpDLmxvdHRpZUVsPy5wbGF5U2VnbWVudHMoWzAsMV0sITApKTt6PUR9fSwiWEIxR1NiIik7cmV0dXJuIF8uSygiYW5pbWF0ZWQtaWNvbiIse2NsYXNzOiJ5dEFuaW1hdGVkSWNvbkhvc3QiLAoiZGF0YS1zaXplIjooKT0+aCgpfSxfLksoXy5PLHtBOigpPT4hKCFwTShiKCksZD8uKCkpPy5FYy5hbmltYXRpb25Db25maWcucGF0aHx8cE0oYigpLGQ/LigpKT8uemgmJiFuKCl8fHAoKSksdGhlbjooKT0+Xy5LKF8uY00se2RhdGE6dCxhbmltYXRpb25OYW1lOm0sY2xhc3NOYW1lOnYsYW5pbWF0aW9uUmVmOmV9KSxXOmZ9KSl9LCJNYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnVNPWZ1bmN0aW9uKGEpe3JldHVybiBfLnNFKCgpPT4oe3ZhbHVlOmF9KSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeU0sek0sRGdhLEFNLEJNLENNLERNLEVNLEdNLEZnYSxJTSxHZ2EsTE0sSGdhLE1NLFJNLFNNLFRNLGJOLEtnYSxjTixlTixMZ2EsT2dhLE5nYSxNZ2EsaE4sUGdhLFJnYSxpTixqTixrTixTZ2EsVGdhLGxOLFVnYSxtTixuTixwTixWZ2EsV2dhLFhnYSxxTixhaGEsJGdhLHJOLFpnYSxZZ2EsZGhhLGNoYSxzTixiaGEsZmhhLHZOLFgsQU4sQ04sZ2hhLGloYSxoaGEsamhhLE1OLGxoYSxtaGEsUU4sbmhhLG9oYSxUTixxaGEsYU8scmhhLHNoYSx0aGEsdWhhLHZoYSx3aGEseGhhLEVnYSxGTSxITSxiTyx5aGEsT00sUU0sSWdhLEpnYSx6aGEsQWhhO18udk09ZnVuY3Rpb24oYSl7dmFyIGI9Xy4kdChhKTtyZXR1cm57W1N5bWJvbC5kaXNwb3NlXSgpe18uJHQoYil9fX07Xy54TT1mdW5jdGlvbigpe2lmKF8uWHooKSl7dmFyIGE9Xy5HaChgJHtfLlZqKCl9Ojp5dC1tYXctcGxheWVyYCk7aWYoYSlyZXR1cm4gbmV3IF8ud00oYSl9fTsKeU09ZnVuY3Rpb24oYSxiKXtmb3IoO2EubGVuZ3RoPmI7KWEucG9wKCl9O3pNPWZ1bmN0aW9uKGEpe2E9QXJyYXkoYSk7eU0oYSwwKTtyZXR1cm4gYX07RGdhPWZ1bmN0aW9uKGEsYixjLGQpeyhkW2JdfHxkW18uUkEuZGVmYXVsdF0pKGEsYixjKX07QU09ZnVuY3Rpb24oYSxiLGMpe2I9bmV3IEVnYShiLGMpO3JldHVybiBhLl9faW5jcmVtZW50YWxET01EYXRhPWJ9OwpCTT1mdW5jdGlvbihhLGIpe2lmKGEuX19pbmNyZW1lbnRhbERPTURhdGEpcmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE7dmFyIGM9YS5ub2RlVHlwZT09PTE/YS5sb2NhbE5hbWU6YS5ub2RlTmFtZSxkPWEubm9kZVR5cGU9PT0xP2EuZ2V0QXR0cmlidXRlKCJrZXkiKTpudWxsO2I9QU0oYSxjLGEubm9kZVR5cGU9PT0xP2R8fGI6bnVsbCk7aWYoYS5ub2RlVHlwZT09PTEmJihjPWEuYXR0cmlidXRlcyxkPWMubGVuZ3RoKSl7YT1iLmp8fChiLmo9ek0oZCoyKSk7Zm9yKGxldCBlPTAsZj0wO2U8ZDtlKz0xLGYrPTIpe2xldCBoPWNbZV0saz1oLnZhbHVlO2FbZl09aC5uYW1lO2FbZisxXT1rfX1yZXR1cm4gYn07Q009ZnVuY3Rpb24oKXtfLllBPV8uVkEoKX07CkRNPWZ1bmN0aW9uKGEsYil7Q00oKTt2YXIgYzthOntpZihjPV8uWUEpe2Rve2lmKGM9PT1udWxsKWJyZWFrO3ZhciBkPWMsZT1hLGY9YjtsZXQgaD1CTShkLGYpO2lmKCgwLF8uYkIpKGQsZSxoLm8sZixoLmtleSkpYnJlYWsgYX13aGlsZShiJiYoYz1jLm5leHRTaWJsaW5nKSl9Yz1udWxsfWN8fChhPT09IiN0ZXh0Ij8oYT1fLlpBLmNyZWF0ZVRleHROb2RlKCIiKSxBTShhLCIjdGV4dCIsbnVsbCkpOihjPV8uWkEsZD1fLlVBLHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9jPW5ldyBhOmM9KGQ9YT09PSJzdmciPyJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6YT09PSJtYXRoIj8iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6ZD09bnVsbHx8Qk0oZCkubz09PSJmb3JlaWduT2JqZWN0Ij9udWxsOmQubmFtZXNwYWNlVVJJKT9jLmNyZWF0ZUVsZW1lbnROUyhkLGEpOmMuY3JlYXRlRWxlbWVudChhKSxBTShjLGEsYiksYT1jKSxfLldBLmNyZWF0ZWQucHVzaChhKSxjPQphKTthPWM7aWYoYSE9PV8uWUEpe2lmKF8uJEEuaW5kZXhPZihhKT49MClmb3IoYj1fLlVBLGM9YS5uZXh0U2libGluZyxkPV8uWUE7ZCE9PW51bGwmJmQhPT1hOyllPWQubmV4dFNpYmxpbmcsYi5pbnNlcnRCZWZvcmUoZCxjKSxkPWU7ZWxzZSBfLlVBLmluc2VydEJlZm9yZShhLF8uWUEpO18uWUE9YX19O0VNPWZ1bmN0aW9uKGEsYil7RE0oYSxiKTtfLlVBPV8uWUE7Xy5ZQT1udWxsO3JldHVybiBfLlVBfTtHTT1mdW5jdGlvbihhLGIsYyxkKXtGTS5wdXNoKERnYSk7Rk0ucHVzaChhKTtGTS5wdXNoKGIpO0ZNLnB1c2goYyk7Rk0ucHVzaChkKX07CkZnYT1mdW5jdGlvbihhPV8uSEMpe3ZhciBiPV8uVUEsYz1CTShiKSxkPV8uYUI7Yz1jLmp8fChjLmo9ek0oZC5sZW5ndGgpKTtmb3IodmFyIGU9IWMubGVuZ3RofHwhMSxmPTA7ZjxkLmxlbmd0aDtmKz0yKXt2YXIgaD1kW2ZdO2lmKGUpY1tmXT1oO2Vsc2UgaWYoY1tmXSE9PWgpYnJlYWs7bGV0IGw9ZFtmKzFdO2lmKGV8fGNbZisxXSE9PWwpY1tmKzFdPWwsR00oYixoLGwsYSl9aWYoZjxkLmxlbmd0aHx8ZjxjLmxlbmd0aCl7Zm9yKGY9ZT1mO2Y8Yy5sZW5ndGg7Zis9MilfLkpDW2NbZl1dPWNbZisxXTtmb3IoZj1lO2Y8ZC5sZW5ndGg7Zis9MillPWRbZl0saD1kW2YrMV0sXy5KQ1tlXSE9PWgmJkdNKGIsZSxoLGEpLGNbZl09ZSxjW2YrMV09aCxkZWxldGUgXy5KQ1tlXTt5TShjLGQubGVuZ3RoKTtmb3IodmFyIGsgaW4gXy5KQylHTShiLGssdm9pZCAwLGEpLGRlbGV0ZSBfLkpDW2tdfWE9SE07SE09Yj1GTS5sZW5ndGg7Zm9yKGs9YTtrPGI7ays9NSkoMCxGTVtrXSkoRk1baysxXSwKRk1baysyXSxGTVtrKzNdLEZNW2srNF0pO0hNPWE7eU0oRk0sYSk7eU0oZCwwKX07SU09ZnVuY3Rpb24oYSwuLi5iKXtETSgiI3RleHQiLG51bGwpO2I9Xy5ZQTt2YXIgYz1CTShiKTtpZihjLnRleHQhPT1hKXtjPWMudGV4dD1hO2ZvcihsZXQgZD0xO2Q8YXJndW1lbnRzLmxlbmd0aDtkKz0xKWM9KDAsYXJndW1lbnRzW2RdKShjKTtiLmRhdGEhPT1jJiYoYi5kYXRhPWMpfX07CkdnYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1bXTthLl9kaXNwb3NlRWZmZWN0cz1fLnV2KCgpPT57Xy50digoKT0+e3ZhciBmPWMoKTtpZihmPT09bnVsbHx8Zj09PXZvaWQgMClmPSIiO2lmKF8ucUIoZil8fGY9PT1udWxsKWQ/PyhkPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSksZC5wYXJlbnROb2RlIT09YSYmKGQuX2lzU2lnbmFsVGV4dE5vZGU9ITAsYS5pbnNlcnRCZWZvcmUoZCxiKSksZC50ZXh0Q29udGVudD1TdHJpbmcoZik7ZWxzZSBpZihfLm9CKGYpKXtsZXQgaD1lLmxlbmd0aD4wP2VbZS5sZW5ndGgtMV0ubmV4dFNpYmxpbmc6Yjtmb3IobGV0IGsgb2YgZSlhLnJlbW92ZUNoaWxkKGspO2Y9Xy5wQihmKTtlPUFycmF5LmZyb20oZi5jaGlsZE5vZGVzKTtmb3IobGV0IGsgb2YgZSlhLmluc2VydEJlZm9yZShrLGgpfWVsc2UgdGhyb3cgRXJyb3IoIkFiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikrImAiK3R5cGVvZiBmKTt9LCJWdkRnQyIpfSxfLkt1LnJpfHwhIV8uWnQpfTsKXy5LTT1mdW5jdGlvbihhKXtpZighXy5KTSlyZXR1cm4hMTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMoXy5KTSkpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4hMDtyZXR1cm4hMX07TE09ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGgpe2lmKGEubGVuZ3RoPT09MSlyZXR1cm4gYVswXTt2YXIgYj17fTtfLndGKGIsXy5TRCx7Y29tbWFuZHM6YX0pO3JldHVybiBifX07SGdhPWZ1bmN0aW9uKGEpe3ZhciBiPUFycmF5LmlzQXJyYXkoYS5pdGVtcyk/YS5pdGVtczpBcnJheS5mcm9tKGEuaXRlbXMpO3JldHVybiBfLmZHKGIsYS5jaGlsZHJlbil9O01NPWZ1bmN0aW9uKGEpe2E9Xy5uSihhKTthLmxlbmd0aD4wJiZhWzBdLmZvY3VzKCl9O18uTk09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWU9PnthLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixkKTtyZXR1cm4gYy5jYWxsKGEsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcihiLGQsdm9pZCAwKX07Cl8uUE09ZnVuY3Rpb24oYSl7T018fChPTT1fLkNkKCJBIikpO09NLmhyZWYhPT1hJiZfLkx5KE9NLGEpO3JldHVybiBPTX07Uk09ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoUU1bYV0pcmV0dXJuIFFNW2FdO3ZhciBiPV8uUE0oYSkucGF0aG5hbWU7UU1bYV09Yi5zdGFydHNXaXRoKCIvIik/YjoiLyIrYjtyZXR1cm4gUU1bYV19OwpTTT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSIvIj8iaG9tZSI6YS5zdGFydHNXaXRoKCIvcmVzdWx0cyIpPyJzZWFyY2giOmEuc3RhcnRzV2l0aCgiL3dhdGNoIik/IndhdGNoIjphLnN0YXJ0c1dpdGgoIi9zaG9ydHMiKT8ic2hvcnRzIjphLnN0YXJ0c1dpdGgoIi9oYXNodGFnIik/Imhhc2h0YWciOmEuc3RhcnRzV2l0aCgiL2NyZWF0ZV9jaGFubmVsIik/ImNyZWF0ZV9jaGFubmVsIjphLnN0YXJ0c1dpdGgoIi9wb3N0LyIpPyJwb3N0IjphLnN0YXJ0c1dpdGgoIi9AIil8fGEuc3RhcnRzV2l0aCgiL3VzZXIvIil8fGEuc3RhcnRzV2l0aCgiL2NoYW5uZWwvIik/ImNoYW5uZWwiOmEuc3RhcnRzV2l0aCgiL2V4cGVyaW1lbnRzIik/ImV4cGVyaW1lbnRzIjphLnN0YXJ0c1dpdGgoIi9zcG9uc29yX2NoYW5uZWwiKT8ic3BvbnNvcnNoaXAiOmEuc3RhcnRzV2l0aCgiL3NlbGVjdF9zaXRlIik/InNldHRpbmdzIjphLnN0YXJ0c1dpdGgoIi9sb2NhdGUiKT8ibG9jYXRlIjphLnN0YXJ0c1dpdGgoIi9yZWRlZW0iKT8KInJlZGVlbSI6YS5zdGFydHNXaXRoKCIvbXVzaWNwcmVtaXVtIil8fGEuc3RhcnRzV2l0aCgiL3ByZW1pdW0iKXx8YS5zdGFydHNXaXRoKCIvcmVkIik/InByZW1pdW0iOmEuc3RhcnRzV2l0aCgiL3BhaWRfbWVtYmVyc2hpcHMiKT8icGFpZF9tZW1iZXJzaGlwcyI6YS5zdGFydHNXaXRoKCIvb29wcyIpPyJvb3BzIjphLnN0YXJ0c1dpdGgoIi9jbGlwIik/ImNsaXAiOl8uWEQ/LnJlc3BvbnNlPy5wYWdlPT09IjQwNCI/IjQwNCI6YS5zdGFydHNXaXRoKCIvZmVlZC9oaXN0b3J5Iik/Imhpc3RvcnkiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvbGlicmFyeSIpPyJsaWJyYXJ5IjphLnN0YXJ0c1dpdGgoIi9mZWVkL3N1YnNjcmlwdGlvbnMiKT8ic3Vic2NyaXB0aW9ucyI6YS5zdGFydHNXaXRoKCIvZmVlZC90cmVuZGluZyIpPyJ0cmVuZGluZyI6YS5zdGFydHNXaXRoKCIvZmVlZC9uZXdzX2Rlc3RpbmF0aW9uIik/Im5ld3MiOmEuc3RhcnRzV2l0aCgiL3BsYXlsaXN0Iik/InBsYXlsaXN0IjphLnN0YXJ0c1dpdGgoIi9taW5vcl9tb21lbnQiKT8KIm1pbm9yX21vbWVudCI6YS5zdGFydHNXaXRoKCIvcGxheWFibGUvIil8fGEubWF0Y2goIl4vcGxheWFibGVzLyg/IXNhdmVkKS4iKT8ibWluaV9hcHAiOmEuc3RhcnRzV2l0aCgiL3BsYXlhYmxlcyIpPyJwbGF5YWJsZXMiOmEuc3RhcnRzV2l0aCgiL2NyZWF0ZS9saXZlL2pvaW4iKT8ib3Blbl9pbl9hcHAiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvZXhwbG9yZSIpPyJleHBsb3JlIjoiYnJvd3NlIn07ClRNPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRD8ucmVzcG9uc2UsYj1hPy5lbmRwb2ludDtpZighYilyZXR1cm4gYT8ucGFnZT09PSJ3YXRjaCI/IndhdGNoIjpTTShSTSh3aW5kb3cubG9jYXRpb24uaHJlZikpO2E9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ud2ViUGFnZVR5cGU7dmFyIGM9ITE7aWYoYSYmIUlnYS5pbmNsdWRlcyhhKSlzd2l0Y2goYSl7Y2FzZSAiV0VCX1BBR0VfVFlQRV9TRUFSQ0giOnJldHVybiJzZWFyY2giO2Nhc2UgIldFQl9QQUdFX1RZUEVfU0hPUlRTIjpyZXR1cm4ic2hvcnRzIjtjYXNlICJXRUJfUEFHRV9UWVBFX0NIQU5ORUwiOnJldHVybiJjaGFubmVsIjtjYXNlICJXRUJfUEFHRV9UWVBFX1NFVFRJTkdTIjpyZXR1cm4ic2V0dGluZ3MiO2Nhc2UgIldFQl9QQUdFX1RZUEVfUExBWUxJU1QiOnJldHVybiJwbGF5bGlzdCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9PUEVOX0lOX0FQUCI6cmV0dXJuIm9wZW5faW5fYXBwIjtjYXNlICJXRUJfUEFHRV9UWVBFX01JTklfQVBQIjpyZXR1cm4ibWluaV9hcHAiOwpjYXNlICJXRUJfUEFHRV9UWVBFX1dBVENIIjpyZXR1cm4gXy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsJiZSTShfLkIoYi5jb21tYW5kTWV0YWRhdGEsXy56dykudXJsKS5zdGFydHNXaXRoKCIvY2xpcCIpPyJjbGlwIjoid2F0Y2giO2Nhc2UgIldFQl9QQUdFX1RZUEVfQlJPV1NFIjpyZXR1cm4oYj1fLkIoYixfLmNFKT8uYnJvd3NlSWQpP0pnYVtiXXx8ImJyb3dzZSI6ImJyb3dzZSI7ZGVmYXVsdDpjPSEwfWlmKF8uQihiLF8uRWVhKXx8Xy5CKGIsXy5EZWEpKXJldHVybiJzcG9uc29yc2hpcCI7dmFyIGQ9Uk0od2luZG93LmxvY2F0aW9uLmhyZWYpO2lmKGQuc3RhcnRzV2l0aCgiL2V4cGVyaW1lbnRzIikpcmV0dXJuImV4cGVyaW1lbnRzIjtpZihkLnN0YXJ0c1dpdGgoIi9jcmVhdGVfY2hhbm5lbCIpKXJldHVybiJjcmVhdGVfY2hhbm5lbCI7aWYoXy5CKGIsXy5WRCkmJmQuc3RhcnRzV2l0aCgiL3Nob3J0cyIpKXJldHVybiJzaG9ydHMiO2lmKF8uQihiLF8uVkQpJiYKZC5zdGFydHNXaXRoKCIvd2F0Y2giKSlyZXR1cm4id2F0Y2giO2MmJihiPW5ldyBfLlhqKCJVbnN1cHBvcnRlZCBtV2ViIHBhZ2UgdHlwZSIse3BhdGhuYW1lOmQsd2ViUGFnZVR5cGU6YX0pLF8uR3AoYikpO3JldHVybiJicm93c2UifTtfLlVNPWZ1bmN0aW9uKGEpe2E/LmhyZWY/YT0oYT1hLmhyZWYpP1NNKFJNKGE/YTp3aW5kb3cubG9jYXRpb24uaHJlZikpOlRNKCk6YT1hPy5wYWdlVHlwZTtyZXR1cm4gYXx8VE0oKX07Xy5WTT1mdW5jdGlvbihhKXtyZXR1cm4gXy5VTShhKT09PSJ3YXRjaCJ9O18uV009ZnVuY3Rpb24oKXtyZXR1cm4gXy5VTSgpPT09InNob3J0cyJ9O18uWE09ZnVuY3Rpb24oYSxiKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoYSx7ZGV0YWlsOmJ9KSl9OwpfLlpNPWZ1bmN0aW9uKCl7Xy5ZTSYmXy5IcChuZXcgXy5YaihgVW5leHBlY3RlZCBjYWxsIHRvIHJlcXVlc3RCYWNrTmF2aWdhdGlvbiwgZnJhZ21lbnQ6ICR7d2luZG93LmxvY2F0aW9uLmhhc2h9YCkpO18uRko9bmV3IF8uQmYoYT0+e2Z1bmN0aW9uIGIoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKTthKCl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsYil9KTtfLk5NKHdpbmRvdywicG9wc3RhdGUiLCgpPT57c2V0VGltZW91dCgoKT0+e30pfSk7aGlzdG9yeS5iYWNrKCk7cmV0dXJuIF8uRkp9OwpfLiRNPWZ1bmN0aW9uKGEsYj0hMSl7aWYoXy5ZTSl7dmFyIGM9d2luZG93LmxvY2F0aW9uO2E9Xy5kYihgIyR7YX1gKTthIT09dm9pZCAwJiZjLnJlcGxhY2UoYSl9ZWxzZSB3aW5kb3cubG9jYXRpb24uaGFzaD1hO2J8fF8ueCgibXdlYl9lbmFibGVfa2V0b19jb250ZW50Iil8fF8uWE0oInVwZGF0ZXVpIil9O18uYU49ZnVuY3Rpb24oYSl7aWYoYSYmYS5zaW1wbGVUZXh0KXJldHVybiBhLnNpbXBsZVRleHQ7dmFyIGI9IiI7aWYoYSYmYS5ydW5zKWZvcihsZXQgYz0wO2M8YS5ydW5zLmxlbmd0aDtjKyspYS5ydW5zW2NdLnRleHQmJihiKz1hLnJ1bnNbY10udGV4dCk7cmV0dXJuIGJ9O2JOPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtBKHt0eXBlOiJTRVRfSVNfQk9UVE9NX1NIRUVUX09QRU5fU1RBVEUiLHBheWxvYWQ6YX0pfTsKS2dhPWZ1bmN0aW9uKGEpe2lmKGEmJmEuZm9jdXMpaWYoYSE9PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpYS5mb2N1cygpO2Vsc2UgcmV0dXJuIGNOKGFzeW5jKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtyZXR1cm4gY04oKCk9PnthLmZvY3VzKCl9KX0pfTtfLmROPWZ1bmN0aW9uKGEpe3ZhciBiPTU7c2V0VGltZW91dChhc3luYygpPT57Zm9yKHZhciBjPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1jfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keSkmJmI+PTAmJmE7KXthd2FpdCBLZ2EoYSk7aWYoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWEpYnJlYWs7YT1hLnBhcmVudEVsZW1lbnQ7LS1ifX0sMTUpfTtjTj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2IoYSgpKX0pfSl9OwplTj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYS5jaGlsZHJlbj09PSJmdW5jdGlvbiIpcmV0dXJuIGEuY2hpbGRyZW4oKSxudWxsO2ZvcihsZXQgYiBvZiBhLmNoaWxkcmVuKWIoKTtyZXR1cm4gbnVsbH07Xy5mTj1mdW5jdGlvbihhLGIpe18uUnUoKCk9PkxnYShhLGIpKX07TGdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bnVsbDtfLmd2Kys7dHJ5e2M9KDAsXy5JQykoYSwoKT0+e18uZ04oYil9KSxfLklBKCExKX1jYXRjaChkKXt0aHJvdyBfLklBKCEwKSxkO31yZXR1cm4gYz09PW51bGw/YTpjfTsKXy5nTj1mdW5jdGlvbihhKXtpZihhIT09dm9pZCAwJiZhIT09bnVsbClpZihhIGluc3RhbmNlb2YgXy5kQylmb3IodmFyIGI9Xy5VQTtfLlZBKCkhPW51bGwmJl8ubkMgaW4gXy5WQSgpJiZiLmNvbnRhaW5zKF8uVkEoKSk7KUNNKCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYyBvZiBhKV8uZ04oYyk7ZWxzZSBpZihhIGluc3RhbmNlb2YgXy5TYSlJTShhLnRvU3RyaW5nKCkpO2Vsc2UgaWYoXy5pQihhKSl7aWYoXy5WQSgpIT09YSl0aHJvdyBFcnJvcigiRGJgIithLnRhZ05hbWUrImAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKTtDTSgpfWVsc2UgaWYoYz1hLGMhPW51bGwmJmMuR2k9PT1fLm1CfHxjIGluc3RhbmNlb2YgXy5mYnx8Xy5MQSgpKGMpKXtiPV8ucEIoYSk7Yj1BcnJheS5mcm9tKGIuY2hpbGROb2Rlcyk7Zm9yKHZhciBkIG9mIGIpXy5VQS5hcHBlbmRDaGlsZChkKSxDTSgpfWVsc2UgaWYoXy5YYShhKSYmKGE9YS50b1N0cmluZygpKSxkPXR5cGVvZiBhLApkPT09ImJvb2xlYW4ifHxkPT09Im51bWJlciJ8fGQ9PT0ic3RyaW5nIilJTShhKTtlbHNlIGlmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiliPV8uVUEsKGQ9Xy5WQSgpKSYmKGQuX2lzU2lnbmFsVGV4dE5vZGV8fGQuX2lzU2FmZU9yU2FuaXRpemVkSHRtbE5vZGUpfHxHZ2EoYixkLGEpLENNKCk7ZWxzZSBpZihhLnR5cGU9PT1IZ2EpXy5nTihhLnR5cGUoT2JqZWN0LmFzc2lnbih7fSxhLnByb3BzLHtjaGlsZHJlbjphLmNoaWxkcmVuWzBdfSkpKTtlbHNle2lmKHR5cGVvZiBhLnR5cGU9PT0ic3RyaW5nIil7YTp7YS5jZHx8RU0oYS50eXBlLGEucHJvcHMuaWRvbUtleSk7Yz1fLlVBO2ZvcihiIGluIGEucHJvcHMpaWYoYS5wcm9wc1tiXSE9PV8uS2JhKXtkPWEucHJvcHNbYl07bGV0IGU9Xy5hQjtlLnB1c2goYik7ZS5wdXNoKGQpfUZnYShfLkt1LmF0dHJpYnV0ZXMpO18uakMoYyxhLnByb3BzLCEwKTtpZigoYS5wcm9wcy5za2lwfHxhLnByb3BzLnNraXBjaGlsZHJlbikmJl8uVUEuaGFzQ2hpbGROb2RlcygpKV8uWUE9Cl8uVUEubGFzdENoaWxkO2Vsc2V7aWYoYS50eXBlPT09InN0eWxlIiYmXy5SQihhLmNoaWxkcmVuKT09PW51bGwpe18uWUE9Xy5VQS5sYXN0Q2hpbGQ7Yj12b2lkIDA7YnJlYWsgYX1fLmdOKGEuY2hpbGRyZW4pfV8uWEEoKTtfLllBPV8uVUE7Xy5VQT1fLlVBLnBhcmVudE5vZGU7YS5jZCYmKGEuY2Q9ITEpO18uQUIoYyxhLnByb3BzKTtiPWN9cmV0dXJuIGJ9aWYoYS50eXBlPT09Xy5JQilfLmdOKGEuY2hpbGRyZW4pO2Vsc2UgaWYoIU1nYShhKSl7Yj1hO3RyeXtOZ2EoYil9Y2F0Y2goZSl7Xy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoZSxiLnR5cGU/LlpjKSl9Yi5jZCYmKF8uWEEoKSxfLllBPV8uVUEsXy5VQT1fLlVBLnBhcmVudE5vZGUsYi5jZD0hMSl9fX07T2dhPWZ1bmN0aW9uKGEsYil7dmFyIGM7YS5wcm90b3R5cGU/Lm9jPT09dm9pZCAwP2M9bmV3IF8ubUMoYixhKTpjPW5ldyBhKGIpO2Muaj1hO2Mud289e25leHRTdGF0ZTpjLnN0YXRlLE14OiExfTtyZXR1cm4gY307Ck5nYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGUsYz1iLlpjO2lmKGI9PT1lTilhLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4sYihhLnByb3BzKTtlbHNle2EuY2hpbGRyZW4ubGVuZ3RoPjAmJihhLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4pO3ZhciBkOyhkPWEucHJvcHMpLmlkb21LZXl8fChkLmlkb21LZXk9Yik7dmFyIGU9ITE7aWYoYyl7dmFyIGY9RU0oYyxhLnByb3BzLmlkb21LZXkpO2EuY2Q9ITA7dmFyIGg9Zi5fX2luc3RhbmNlfWh8fChlPSEwLGg9T2dhKGIsYS5wcm9wcyksaC5wcm9wcz1udWxsLGYmJihmLl9faW5zdGFuY2U9aCxoLmVsPWYpKTsoe25leHRTdGF0ZTpjfT1oLndvPz97bmV4dFN0YXRlOmguc3RhdGUsTXg6ITF9KTtoLndvPXZvaWQgMDtiLmx3JiYoYz1iLmx3KGEucHJvcHMsYykpO3ZhciBrPWgucHJvcHMsbD1oLnN0YXRlO2gucHJvcHM9YS5wcm9wcztoLnN0YXRlPWM7Yz0oKT0+e3ZhciBtPWg7Xy5idy5TbyhtKTt2YXIgbj1tLm9jKG0ucHJvcHMpOwpuPyhtLnByb3BzLmlkb21LZXkmJihuLnByb3BzLmlkb21LZXk9bS5wcm9wcy5pZG9tS2V5KSxtPW4pOm09dm9pZCAwO2lmKG49bSluLmNkPWEuY2QsbT1fLmdOKG4pLGEuY2Q9bi5jZCxiLlpjfHwobT8oYi5aYz1tLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxtLl9faW5zdGFuY2U9aCxoLmVsPW0pOmguWmY/Lmxlbmd0aCYmXy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoRXJyb3IoIkNkIikpKSk7ZT8oaC5KaSgpLF8uYncuSmkoaCkpOihoLktpKGssbCksXy5idy5LaShoLGssYS5wcm9wcykpO2guR2YoKTtfLmJ3LkdmKGgpfTsoZD1oLm8pP18uR0EoZCxjLGgucHJvcHMuZGVidWdJbnN0YW5jZSk6YygpfX07Ck1nYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGU7aWYoYi5wcm90b3R5cGU/Lm9jIT09dm9pZCAwfHxiPT09ZU58fGIuY29tcG9uZW50VHlwZT09PV8uS3YpcmV0dXJuITE7YS5wcm9wcy5jaGlsZHJlbj1hLmNoaWxkcmVuLmxlbmd0aD4xP2EuY2hpbGRyZW46YS5jaGlsZHJlblswXTt2YXIgYz1hLnByb3BzLmlkb21LZXk/P2EudHlwZTtpZihfLlZBKCkmJl8uVkEoKVtfLldCXT8ua2V5PT09Yyl7Yj1fLlZBKCk7Yz1iW18uV0JdO2lmKCFjKXRocm93IEVycm9yKCJDYmAiK2IudGFnTmFtZSk7Yy5xQj8uKGEucHJvcHMpO1BnYShjKTtyZXR1cm4hMH1pZihRZ2EuaGFzKGIubmFtZSkpdGhyb3cgRXJyb3IoIkJiYCIrYi5uYW1lKyJgIisoXy5NdT8ubmFtZT8/InVua25vd24iKSk7YS5wcm9wcy5qbj0hMDsoYj1fLkdBKGEudHlwZSwoKT0+Xy5nQyhhLnR5cGUsYS5wcm9wcyksYS5wcm9wcy5kZWJ1Z0luc3RhbmNlKSkmJlJnYShiKTtyZXR1cm4hMH07CmhOPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8Xy5iQyhhKS5sZW5ndGg7YisrKUNNKCl9O1BnYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZBKClbXy5XQl0/LnluO2lmKGIpaE4oYik7ZWxzZSBmb3IobGV0IGM9MDtjPGEuVXE7YysrKShiPV8uVkEoKVtfLldCXT8ueW4pP2hOKGIpOkNNKCl9O1JnYT1mdW5jdGlvbihhKXthPV8uR0IoYSk7YT1BcnJheS5pc0FycmF5KGEpP2E6W2FdO2ZvcihsZXQgYiBvZiBhKV8uVUEuaW5zZXJ0QmVmb3JlKGIsXy5WQSgpKSxDTSgpfTtpTj1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57YSYmXy5kRShhKTtiJiZiKGMpfX07ak49ZnVuY3Rpb24oYSl7dmFyIGI9MjE7aWYoIWEpcmV0dXJuIGI7Yis9YS5oZWFkZXJUaXRsZT8yNzowO2IrPWEuaGVhZGVyVGl0bGUmJmEuaWg/NDowO3JldHVybiBiKz1hLmhlYWRlclRpdGxlJiZhLmhlYWRlclN1YnRpdGxlPzE2OjB9OwprTj1mdW5jdGlvbihhKXt2YXIgYj0wO2lmKCFhKXJldHVybiBiO2IrPWEuVWZ8fGEuVmY/NDg6MDtiKz1hLlBmfHxhLk1mPzMwOjA7cmV0dXJuIGIrPWEuVWZ8fGEuVmZ8fCFhLlBmJiYhYS5NZj8wOjEyfTsKU2dhPWZ1bmN0aW9uKGEse2tleTpiLHBheWxvYWQ6Y30pe2lmKGI9PT0iRHJhZyBTdGFydCIpcmV0dXJuey4uLmEsQ2M6ITEsVmU6Yy5jbGllbnRZfTtpZihiPT09IkRyYWcgTW92ZSIpe2I9TWF0aC5taW4oYy5UcCxjLmhxW2MuSGldKyhjLmZxPz9qTihjLmhlYWRlcikpLShjLk5wPz9rTihjLmZvb3RlcikpKTtsZXQgZD1NYXRoLm1heChjLm1wPy0xKihhLlZlLTI0KTowLGMuY2xpZW50WS1hLlZlKTtyZXR1cm57Li4uYSxPYjpkLEZjOk1hdGgubWluKGIsTWF0aC5tYXgoMCwoYS5QYz9iOmMucXApLWQpKX19cmV0dXJuIGI9PT0iU25hcCBUbyBGdWxsIFNjcmVlbiI/ey4uLmEsQ2M6ITEsT2I6MCxQYzohMCxGYzpjLm1heEhlaWdodH06Yj09PSJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iP3suLi5hLENjOiExLE9iOjAsUGM6ITEsRmM6Yy5tYXhIZWlnaHR9OmI9PT0iQ2xvc2UgU2hlZXQiP3suLi5hLENjOiEwLE9iOmMuY2xpZW50SGVpZ2h0LFBjOiExLEZjOmMubWF4SGVpZ2h0fTphfTsKVGdhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLnRoLGM9YTtyZXR1cm57c3Vic2NyaWJlKGQpe2Iuc3Vic2NyaWJlKCJjaGFuZ2VkIixkKX0sZGlzcGF0Y2goZCxlKXtjPVNnYShjLHtrZXk6ZCxwYXlsb2FkOmV9KTtiLnB1Ymxpc2goImNoYW5nZWQiLGMpfX19O2xOPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yi5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gYT8uKGIpfX07VWdhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbkRlZmF1bHQiO2Nhc2UgMTpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyIjtjYXNlIDI6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvblNwbGl0UGFpciI7Y2FzZSAzOnJldHVybiJ5dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyIn19O21OPWZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLmNMKS5KZSgpfTsKbk49ZnVuY3Rpb24oYSl7cmV0dXJue2hlYWRlclRpdGxlOmEuaGVhZGVyVGl0bGU/LigpLGhlYWRlclN1YnRpdGxlOmEuaGVhZGVyU3VidGl0bGU/LigpLFdmOmEuV2YsTmY6YS5OZixPZjphLk9mLFJlOmEuUmU/LigpLE1mOmEuTWY/LigpLFBmOmEuUGY/LigpLEhhOmEuSGE/LigpLHBmOmEucGY/LigpLEdrOmEuR2s/LigpLEdoOmEuR2gsZm9jdXNPbkNsb3NlOmEuZm9jdXNPbkNsb3NlPy4oKSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZD8uKCksZGlzYWJsZWRDb21tYW5kOmEuZGlzYWJsZWRDb21tYW5kPy4oKSxVZTphLlVlLEdiOmEuR2IsU2U6YS5TZSxqaDphLmpoKCksWGk6YS5YaSgpLGhoOmEuaGgoKSxVZjphLlVmKCksVmY6YS5WZigpLGloOmEuaWgoKX19O3BOPWZ1bmN0aW9uKGEpe29OfHwob049Xy54TSgpKTtvTj8uc2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIixTdHJpbmcoYSoxMDApKX07VmdhPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQudmFsdWVBc051bWJlcjtfLk1IKCk/LnNldFBsYXliYWNrUmF0ZShhKX07CldnYT1mdW5jdGlvbihhKXtwTihhLnRhcmdldC52YWx1ZUFzTnVtYmVyKX07WGdhPWZ1bmN0aW9uKGEpe18uTUgoKT8uc2V0UGxheWJhY2tSYXRlKGEpO3BOKGEpfTtxTj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm57fTt2YXIgYj1hLmZvcmVncm91bmRUaXRsZUNvbG9yLGM9YS5iYWNrZ3JvdW5kQ29sb3I7YT1hLmJvcmRlckNvbG9yO3ZhciBkPSJ0ZXh0IjthP2Q9Im91dGxpbmUiOmMmJihkPSJmaWxsZWQiKTtyZXR1cm57dHlwZTpkLGN1c3RvbUNvbG9yczp7Y29sb3I6Yj9fLk5EKGIpOnZvaWQgMCxiYWNrZ3JvdW5kQ29sb3I6Yz9fLk5EKGMpOnZvaWQgMCxib3JkZXJDb2xvcjphP18uTkQoYSk6dm9pZCAwfX19OwphaGE9ZnVuY3Rpb24oe3JlbmRlcmVyOmEsSW06Yix3QTpjLFNjOmQsZHc6ZSxRZjpmLEJsOmgsaXNTdWJzY3JpYmU6az0hMSxDSjpsPSExLG9MOm09ITF9KXt2YXIgbj1ZZ2EoYSk7ayYmKG4uc3R5bGU9Im1vbm8iLG4udHlwZT0iZmlsbGVkIik7ZT0hYS5pY29ufHwhZSYmYS50ZXh0P2EuaWNvbj9hLmljb25Qb3NpdGlvbj09PSJCVVRUT05fSUNPTl9QT1NJVElPTl9UWVBFX1JJR0hUX09GX1RFWFQiPyJ0cmFpbGluZyI6ImxlYWRpbmciOnZvaWQgMDpmPyJpY29uLW9ubHkiOiJpY29uLW9ubHktNDAiO2U9PT0iaWNvbi1vbmx5LTQwIiYmKG4udHlwZT0idGV4dCIpO209ey4uLlpnYShhLG0pfTtsPSEhYS5pc1NlbGVjdGVkfHwhXy54KCJ3ZWJfcHJvcGFnYXRlX2lzX3ByZXNzZWRfa2lsbHN3aXRjaCIpJiYhIWw7Zj1hLmlzU2VsZWN0ZWQhPT12b2lkIDA7aD1oPT09dm9pZCAwP2EuaXNEaXNhYmxlZDpoO2s9YS50ZXh0P18uQUYoYS50ZXh0KTp2b2lkIDA7dmFyIHA9KHA9YS5hY2Nlc3NpYmlsaXR5RGF0YT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHwKYS5hY2Nlc3NpYmlsaXR5Py5sYWJlbCk/cDpfLmFOKGEudGV4dCk7Yj0kZ2EoYSxiLGMpO2M9ck4oYSk7Yz8ubGVuZ3RoPyhjPV8uYkUoe2lubmVydHViZUNvbW1hbmQ6TE0oYykscWQ6ITB9KSxjPWM/LmhyZWY/Yzp2b2lkIDApOmM9dm9pZCAwO3JldHVybnsuLi5uLC4uLm0saWNvblBvc2l0aW9uOmUsLi4uZCxmb2N1c2VkOiExLHRvZ2dsZWQ6bCx0b2dnbGVhYmxlOmYsZGlzYWJsZWQ6aCxXYTprLGFjY2Vzc2liaWxpdHlMYWJlbDpwLG9uVGFwOmIsdWM6YywuLi5xTihhLmNvbG9yRGF0YT8uYmFzaWNDb2xvclBhbGV0dGVEYXRhKSxvbmVPZmZDdXN0b21UZXh0V3JhcDphLm9uZU9mZkN1c3RvbVRleHRXcmFwfX07JGdhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZhciBlPXJOKGEpO2IoZSxkKTtpZighYylmb3IobGV0IGYgb2YgZSlfLmRLKGYpfX07CnJOPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2EuY29tbWFuZCYmYi5wdXNoKGEuY29tbWFuZCk7YS5zZXJ2aWNlRW5kcG9pbnQmJmIucHVzaChhLnNlcnZpY2VFbmRwb2ludCk7YS5uYXZpZ2F0aW9uRW5kcG9pbnQmJmIucHVzaChhLm5hdmlnYXRpb25FbmRwb2ludCk7cmV0dXJuIGJ9O1pnYT1mdW5jdGlvbihhLGIpe2lmKGIpc3dpdGNoKGEuc2l6ZSl7Y2FzZSAiU0laRV9TTUFMTCI6cmV0dXJue3NpemU6IlMifTtjYXNlICJTSVpFX0xBUkdFIjpyZXR1cm57c2l6ZToiTCJ9O2Nhc2UgIlNJWkVfWExBUkdFIjpyZXR1cm57c2l6ZToiWEwifTtjYXNlICJTSVpFX1hTTUFMTCI6cmV0dXJue3NpemU6IlhTIn07ZGVmYXVsdDpyZXR1cm57c2l6ZToiTSJ9fXN3aXRjaChhLnN0eWxlKXtjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOnJldHVybntzaXplOiJTIn07ZGVmYXVsdDpyZXR1cm57c2l6ZToiTSJ9fX07CllnYT1mdW5jdGlvbihhKXtzd2l0Y2goYS5zdHlsZSl7Y2FzZSAiU1RZTEVfVklTSUJMWV9ESVNBQkxFRCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImRpc2FibGVkIn07Y2FzZSAiU1RZTEVfUFJJTUFSWSI6Y2FzZSAiU1RZTEVfUEFZTUVOVCI6Y2FzZSAiU1RZTEVfQ0FMTF9UT19BQ1RJT05fRklMTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9DQUxMX1RPX0FDVElPTl9UT05BTCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVVRMSU5FIjpjYXNlICJTVFlMRV9TVUdHRVNUSVZFIjpjYXNlICJTVFlMRV9TVUdHRVNURURfQUNUSU9OIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfQkxVRV9URVhUIjpjYXNlICJTVFlMRV9BTEVSVF9JTkZPIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIiwKdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfV0hJVEVfV0lUSF9CT1JERVIiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0xJR0hUX1RFWFQiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fRklMTEVEX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTU9OT19UT05BTF9PVkVSTEFZIjpjYXNlICJTVFlMRV9EQVJLX09OX0JMQUNLIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRvbmFsIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWV9QUk9URUNURUQiOnJldHVybntzdHlsZToib3ZlcmxheS1kYXJrIiwKdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX0ZJTExFRCI6Y2FzZSAiU1RZTEVfREVTVFJVQ1RJVkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfREVGQVVMVCI6Y2FzZSAiU1RZTEVfQ09NUEFDVF9HUkFZIjpjYXNlICJTVFlMRV9NT05PX1RPTkFMIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRvbmFsIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfSU5BQ1RJVkVfT1VUTElORSI6Y2FzZSAiU1RZTEVfTU9OT19PVVRMSU5FIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CTFVFX1RFWFRfV0lUSF9JTlZFUlNFX1RIRU1FIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uLWludmVyc2UiLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CUkFORF9HUkFESUVOVCI6cmV0dXJue3N0eWxlOiJicmFuZC1ncmFkaWVudCIsCnR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0dFTkVSQVRJVkVfR1JBRElFTlQiOnJldHVybntzdHlsZToiZ2VuLWFpLWdyYWRpZW50Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtkZWZhdWx0OnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9fX07CmRoYT1mdW5jdGlvbih7cmVuZGVyZXI6YSxlbGVtZW50OmIsdG9nZ2xlZDpjLEltOmQsUnU6ZSxTYzpmLGR3OmgsUWY6ayxCbDpsLG5MOm0sYWI6bn0pe3ZhciBwPWJoYShhLGMpO2g9IWEuZGVmYXVsdEljb258fCFoJiZhLmRlZmF1bHRUZXh0P2EuZGVmYXVsdEljb24/ImxlYWRpbmciOnZvaWQgMDprPyJpY29uLW9ubHkiOiJpY29uLW9ubHktNDAiO2g9PT0iaWNvbi1vbmx5LTQwIiYmKHAudHlwZT0idGV4dCIpO2E6c3dpdGNoKGEuc3R5bGU/LnN0eWxlVHlwZSl7Y2FzZSAiU1RZTEVfQ09NUEFDVF9HUkFZIjprPXtzaXplOiJTIn07YnJlYWsgYTtkZWZhdWx0Oms9e3NpemU6Ik0ifX1rPXsuLi5rfTt2YXIgcj0ocj1jJiZhLnRvZ2dsZWRUZXh0fHxhLmRlZmF1bHRUZXh0KT9fLkFGKHIpOnZvaWQgMDttPyhtPV8uYU4oYyYmYS50b2dnbGVkVGV4dHx8YS5kZWZhdWx0VGV4dCkpJiZuJiYhaXNOYU4oTnVtYmVyKG4ubnVtYmVyVmFsdWUpKT8obi5YYj1tLGMmJihuLm51bWJlclZhbHVlKz0KMSkpOm49dm9pZCAwOm49dm9pZCAwO209KG09KGM/YS50b2dnbGVkQWNjZXNzaWJpbGl0eURhdGF8fGEudG9nZ2xlZFRleHQ/LmFjY2Vzc2liaWxpdHk6YS5hY2Nlc3NpYmlsaXR5RGF0YXx8YS5kZWZhdWx0VGV4dD8uYWNjZXNzaWJpbGl0eSk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbHx8YS5hY2Nlc3NpYmlsaXR5Py5sYWJlbCk/bTpfLmFOKGMmJmEudG9nZ2xlZFRleHR8fGEuZGVmYXVsdFRleHQpO2w9bD09PXZvaWQgMD9hLmlzRGlzYWJsZWQ6bDtiPWNoYShhLGMsZCxiLGUpO2Q9c04oYSxjKTtkPy5sZW5ndGg/KGQ9Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpMTShkKSxxZDohMH0pLGQ9ZD8uaHJlZj9kOnZvaWQgMCk6ZD12b2lkIDA7cmV0dXJuey4uLnAsLi4uayxpY29uUG9zaXRpb246aCwuLi5mLGZvY3VzZWQ6ITEsdG9nZ2xlZDohIWMsdG9nZ2xlYWJsZTohMCxXYTpyLGFiOm4sYWNjZXNzaWJpbGl0eUxhYmVsOm0sZGlzYWJsZWQ6bCxvblRhcDpiLHVjOmQsLi4ucU4oYS5jb2xvckRhdGE/LmJhc2ljQ29sb3JQYWxldHRlRGF0YSl9fTsKY2hhPWZ1bmN0aW9uKGEsYixjLGQsZT17fSl7cmV0dXJuIGY9Pnt2YXIgaD1hLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZT9fLnV4KGEubG9nZ2luZ0RpcmVjdGl2ZXMuY2xpZW50VmVTcGVjLnVpVHlwZSk6dm9pZCAwO2UuY2xpY2tlZFZpc3VhbEVsZW1lbnR8fChlLmNsaWNrZWRWaXN1YWxFbGVtZW50PWgpO2g9c04oYSxiKTtjKGgsZik7Zm9yKGxldCBuIG9mIGgpe2g9bjt2YXIgaz1kLGw9ZixtPWU7bS5mb3JtP20uZm9ybS5ldmVudD1sOm0uZm9ybT17ZWxlbWVudDprLGV2ZW50Omx9O18uZEsoaCxtKX19fTsKc049ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtiPyhhLnRvZ2dsZWRDb21tYW5kJiZjLnB1c2goYS50b2dnbGVkQ29tbWFuZCksYS50b2dnbGVkU2VydmljZUVuZHBvaW50JiZjLnB1c2goYS50b2dnbGVkU2VydmljZUVuZHBvaW50KSk6KGEuZGVmYXVsdENvbW1hbmQmJmMucHVzaChhLmRlZmF1bHRDb21tYW5kKSxhLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQmJmMucHVzaChhLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQpLGEuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCYmYy5wdXNoKGEuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCkpO3JldHVybiBjfTsKYmhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b2dnbGVkU3R5bGV8fGEuc3R5bGU7c3dpdGNoKChiP2M6YS5zdHlsZSk/LnN0eWxlVHlwZSl7Y2FzZSAiU1RZTEVfVklTSUJMWV9ESVNBQkxFRCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImRpc2FibGVkIn07Y2FzZSAiU1RZTEVfUFJJTUFSWSI6Y2FzZSAiU1RZTEVfUEFZTUVOVCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfU1VHR0VTVElWRSI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JMVUVfVEVYVCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0RFU1RSVUNUSVZFIjpjYXNlICJTVFlMRV9NT05PX0ZJTExFRCI6cmV0dXJue3N0eWxlOiJtb25vIiwKdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9MSUdIVF9URVhUIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX1RPTkFMX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9ERUZBVUxUIjpjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9JTkFDVElWRV9PVVRMSU5FIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtkZWZhdWx0OnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9fX07Cl8udE49ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSyhfLmdHLHtwYTooKT0+W2EuY29tcG9uZW50KCldfSxiPT5iPy4oKSl9O2ZoYT1mdW5jdGlvbihhLGIsYyl7aWYoYz09PW51bGx8fGM9PT12b2lkIDApcmV0dXJuIGM7dmFyIGQ9Xy5nQihhLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxiLCgpPT57dGhyb3cgRXJyb3IoIm1jIik7fSk7aWYoZD09PW51bGwpcmV0dXJuIGM7ZD1laGFbZF07aWYoZC5oZT8uKGMpKXtpZihkLktkKXJldHVybiBkLktkKGMpO3Rocm93IEVycm9yKCJEZCIpO31yZXR1cm4gZC5wZD9kLnBkKGEudGFnTmFtZSxiLFN0cmluZyhjKSk6Y307Xy51Tj1mdW5jdGlvbihhKXtyZXR1cm4gYS5mb3JlZ3JvdW5kVGl0bGVDb2xvcj09PSJUSEVNRV9BVFRSSUJVVEVfVEVYVF9ESVNBQkxFRCJ8fGEuZm9yZWdyb3VuZEljb25Db2xvcj09PSJUSEVNRV9BVFRSSUJVVEVfSUNPTl9ESVNBQkxFRCJ9O3ZOPWZ1bmN0aW9uKGEpe2lmKGEmJl8uS00oYSkpcmV0dXJuIGF9OwpYPWZ1bmN0aW9uKGEsYil7KGI9Xy5hQShhLHt9LGIpKXx8Xy5XaShFcnJvcigiRWRgIithKSk7cmV0dXJuIGJ9O18ud049ZnVuY3Rpb24oYSl7cmV0dXJue3VybEVuZHBvaW50Ont1cmw6YX0sY29tbWFuZE1ldGFkYXRhOnt3ZWJDb21tYW5kTWV0YWRhdGE6e3VybDphfX19fTtfLnhOPWZ1bmN0aW9uKCl7cmV0dXJuIF8ub00oKS5nZXRTdGF0ZSgpLnRpPy5qan07Xy55Tj1mdW5jdGlvbihhKXtfLnkoKS5yZXNvbHZlKF8uY0wpLndnKHtRazphfSl9O18uek49ZnVuY3Rpb24oKXtfLnkoKS5yZXNvbHZlKF8uY0wpLkplKCl9O18uQk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1hPy5wYXJlbnRFbGVtZW50Py5jaGlsZHJlbjtpZihjKWZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZT1jW2RdO2NbZF0hPT1hJiYoYj9lLnNldEF0dHJpYnV0ZSgiaW5lcnQiLCJ0cnVlIik6ZS5yZW1vdmVBdHRyaWJ1dGUoImluZXJ0IiksQU4oZSxiKSl9fTsKQU49ZnVuY3Rpb24oYSxiKXtiPyhhLmhhc0F0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSYmYS5zZXRBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIixhLmdldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSksYS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpKTooYS5oYXNBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIikmJihhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLGEuZ2V0QXR0cmlidXRlKCJkYXRhLW9sZC1hcmlhLWhpZGRlbiIpKSxhLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iKSksYS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIikpfTtDTj1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGxheWVyLWNvbnRhaW5lci1pZCIpO2ImJkFOKGIsYSl9OwpnaGE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtyZXR1cm4oYT1hLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uY3J8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnQpJiZ0eXBlb2YgYS5zY3JvbGxUb3A9PT0ibnVtYmVyIj9hLnNjcm9sbFRvcDp0eXBlb2Ygd2luZG93LnBhZ2VZT2Zmc2V0PT09Im51bWJlciI/d2luZG93LnBhZ2VZT2Zmc2V0OjB9OwpfLkpOPWZ1bmN0aW9uKGEsYj1kb2N1bWVudC5hY3RpdmVFbGVtZW50LGM9ITEpe2EhPT1fLkROW18uRE4ubGVuZ3RoLTFdJiZfLkROLnB1c2goYSk7YiE9PWRvY3VtZW50LmJvZHk/RU4uc2V0KGEsYik6RU4uaGFzKGEpfHxFTi5zZXQoYSxudWxsKTtjP18uT0UoKCk9PntoaGEoYSxhLnF1ZXJ5U2VsZWN0b3IoImRpYWxvZyIpKX0pOl8uT0UoKCk9PnthPy5xdWVyeVNlbGVjdG9yKCJkaWFsb2ciKT8uZm9jdXMoKX0pO18uRE4ubGVuZ3RoPjF8fChGTj1naGEoKSxfLkJOKGEsITApLEdOJiZITiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoR04pLElOPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18ueE4oKXx8KGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJtb2RhbC1vcGVuLWJvZHkiLCIiKSxkb2N1bWVudC5ib2R5LnN0eWxlLnRvcD1gLSR7Rk59cHhgLHdpbmRvdy5zY3JvbGxUbygwLC1GTiksSU49bnVsbCl9KSl9OwppaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKCdhLGlucHV0Om5vdChbZGlzYWJsZWRdKSxzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLGJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6bm90KC5tb2RhbC1oaWRkZW4tYnV0dG9uKSxbdGFiaW5kZXg9IjAiXScpKS5maWx0ZXIoYj0+e2lmKGIudGV4dENvbnRlbnQpcmV0dXJuITA7aWYoYiBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpe2lmKCFiLmxhYmVscylyZXR1cm4hMTtmb3IobGV0IGMgb2YgYi5sYWJlbHMpaWYoYy50ZXh0Q29udGVudClyZXR1cm4hMH1yZXR1cm4hMX0pfTsKaGhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9aWhhKGEpLGQ9Y1swXTtpZighZCYmYiliLmZvY3VzKCk7ZWxzZXt2YXIgZT1jW2MubGVuZ3RoLTFdO2lmKGQpe2QuZm9jdXMoKTtsZXQgZj1oPT57aC5rZXlDb2RlPT09MjcmJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGYpLF8uS04oYSkpO2gua2V5Q29kZSE9PTM4JiZoLmtleUNvZGUhPT00MCYmaC5rZXlDb2RlIT09OXx8amhhKGQsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZil9fX07amhhPWZ1bmN0aW9uKGEsYil7aWYoIUxOKXtMTj0hMDt2YXIgYz1NTigpO2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxhKTtjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCgpPT57Yi5mb2N1cygpfSk7Yz1NTigpO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxiLm5leHRTaWJsaW5nKTtjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCgpPT57YS5mb2N1cygpfSl9fTsKTU49ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7YS5jbGFzc05hbWU9Im1vZGFsLWhpZGRlbi1idXR0b24iO2Euc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIik7YS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO3JldHVybiBhfTsKXy5LTj1mdW5jdGlvbihhKXt2YXIgYj1FTi5nZXQoYSk7RU4uZGVsZXRlKGEpO2lmKGtoYSl7aWYoXy5CTihhLCExKSxfLldNKCkmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0bS1lbmdhZ2VtZW50LXBhbmVsIikmJkNOKCEwKSxfLnhiKF8uRE4sYSksXy5ETi5sZW5ndGghPT0wKXtiJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntfLmROKGIpfSk7cmV0dXJufX1lbHNle18ueGIoXy5ETixhKTtpZihfLkROLmxlbmd0aCE9PTApe2ImJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18uZE4oYil9KTtyZXR1cm59Xy5CTihhLCExKTtfLldNKCkmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0bS1lbmdhZ2VtZW50LXBhbmVsIikmJkNOKCEwKX1JTiYmSE4mJmNhbmNlbEFuaW1hdGlvbkZyYW1lKElOKTtHTj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgibW9kYWwtb3Blbi1ib2R5Iik7ZG9jdW1lbnQuYm9keS5zdHlsZS50b3A9CiIiO2ImJl8uZE4oYik7Xy5mcj9fLk9FKCgpPT57d2luZG93LnNjcm9sbFRvKDAsRk4pfSk6d2luZG93LnNjcm9sbFRvKDAsRk4pO0dOPW51bGx9KX07bGhhPWZ1bmN0aW9uKGEsYixjPV8uTk4pe2lmKGEpe3ZhciBkPV8ueSgpLnJlc29sdmUoXy5MeCk7ZD9fLkp4KGEse2RhdGE6YixvYnNlcnZlcjpkLE5iOmMsTmM6Xy5uRixlYjpfLm1GLGxheWVyOmEubGF5ZXJ9KTpfLklwKG5ldyBfLlhqKCJXYXJuaW5nOiBtb25pdG9yVmlzaWJpbGl0eSBjYWxsZWQgd2l0aCBudWxsIG9ic2VydmVyIixhLnRhZ05hbWUsYj8ubG9nZ2luZ0RpcmVjdGl2ZXMsYj8udHJhY2tpbmdQYXJhbXMpKX1lbHNlIF8uSXAobmV3IF8uWGooIldhcm5pbmc6IG1vbml0b3JWaXNpYmlsaXR5IGNhbGxlZCB3aXRoIG51bGwgZWxlbWVudCIsYj8ubG9nZ2luZ0RpcmVjdGl2ZXMsYj8udHJhY2tpbmdQYXJhbXMsYj8ucmVuZGVyZXJDb250ZXh0KSl9OwptaGE9ZnVuY3Rpb24oYSxiKXthJiZfLk9FKCgpPT57bGhhKGEsYixfLk5OKX0pfTtRTj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSJTSE9SVFNfTElLRSImJl8ueCgiZW5hYmxlX3Nob3J0c19oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIik/InNob3J0c190aHVtYnNfdXAiOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiZhJiZPTlthXT9PTlthXTphJiZQTlthXT9QTlthXTphfTtuaGE9ZnVuY3Rpb24oKXtpZihSTil7dmFyIGE9Xy55KCkucmVzb2x2ZShfLkluKFNOKSk7Uk49ITE7YT8udigpfX07b2hhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iW2IubGVuZ3RoLTFdIT09IiQiO2M9ZmhhKGEsYixjKTtkP2FbYl09YzooZD1jPT1udWxsP251bGw6U3RyaW5nKGMpLF8uUUEoYSxiLnNsaWNlKDAsLTEpLGQpKX07ClROPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPWEuY29tcG9uZW50O2ImJihiPy5ldmVudHM/LnB1Ymxpc2goIkRJU0NPTk5FQ1RFRCIpLGI/LmRLPy4oKSk7YS5MSD8uSGY/LigpO2ZvcihiPTA7YjxhLmNoaWxkTm9kZXMubGVuZ3RoO2IrKylUTihhLmNoaWxkTm9kZXNbYl0pfX07Xy5VTj1mdW5jdGlvbigpe3JldHVybiBfLkZKLnRoZW4oKCk9Pnt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjbWVudSImJihfLllNP18uJE0oIiIpOl8uWk0oKSk7cmV0dXJuIF8uRkp9KX07CnFoYT1mdW5jdGlvbihhKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoYS5pc0Rpc2FibGVkJiZhLmRpc2FibGVkQ29tbWFuZClfLkFKKGEuZGlzYWJsZWRDb21tYW5kLGEsITEpO2Vsc2V7Vk49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lbnUiKTtWTnx8KFZOPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFZOLmlkPSJtZW51Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFZOKSk7d2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI21lbnUiJiZfLiRNKCJtZW51Iik7Vk4uY2xhc3NOYW1lPWEuaXNGdWxsV2lkdGg/Im1lbnUtY29udGFpbmVyIG1lbnUtZnVsbC13aWR0aCI6Im1lbnUtY29udGFpbmVyIjthLmNsYXNzTmFtZSYmKFZOLmNsYXNzTmFtZSs9IiAiK2EuY2xhc3NOYW1lKTsic2Nyb2xsVG8iaW4gVk4mJlZOLnNjcm9sbFRvKDAsMCk7dmFyIGM9YS5GQXx8Xy5tRygpO18uVnooYixfLnZNKGEub3duZXImJiFhLm93bmVyLmlhPwphLm93bmVyOm51bGwpKTtfLngoIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciIpPyhwaGEoYSksV058fChXTj1fLnhGKFZOLCgpPT5fLksoXy5JQixudWxsLF8uSyhYTix7RGg6KCk9PllOKCl9LF8uSyhfLnROLHtjb21wb25lbnQ6KCk9Pnt2YXIgZD1ZTigpO2lmKGQpcmV0dXJuKCk9Pl8ucEcoY3x8e30sKCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PmQuY29udGVudH0pKX19KSksXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLlVOfSkpLHtJazpfLlhDfSkpKTooXy5mTihWTixudWxsKSxfLmZOKFZOLF8uSyhfLklCLG51bGwsXy5LKFhOLHtEaDphfSxhLmNvbnRlbnQoKSksXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLlVOfSkpKSk7YS5ybj09PXZvaWQgMCYmKGEucm49ITApO18uSk4oVk4sYS5mb2N1c09uQ2xvc2UsYS5ybil9fWNhdGNoKGQpe2IuZXJyb3I9ZCxiLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihiKX19OwphTz1mdW5jdGlvbigpe1ZOJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjbWVudSImJihfLktOKFZOKSxfLngoIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciIpPyhXTj8uKCksV049dm9pZCAwKTpUTihWTiksVk4uaXNDb25uZWN0ZWQmJmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoVk4pLFZOPW51bGwpfTtyaGE9LyYvZztzaGE9LzwvZzt0aGE9Lz4vZzt1aGE9LyIvZzt2aGE9LycvZzt3aGE9L1x4MDAvZzt4aGE9L1tceDAwJjw+IiddLztfLndNPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1uZXcgXy56aChhKX1zZXQoYSxiLGMpe2M9YyE9PXZvaWQgMD9EYXRlLm5vdygpK2M6dm9pZCAwO3RoaXMuai5zZXQoYSxiLGMpfWdldChhKXtyZXR1cm4gdGhpcy5qLmdldChhKX1yZW1vdmUoYSl7dGhpcy5qLnJlbW92ZShhKX19O0VnYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1udWxsO3RoaXMubz1hO3RoaXMua2V5PWI7dGhpcy50ZXh0PXZvaWQgMH19O0ZNPVtdOwpITT0wO2JPPXsiKiI6e2FzeW5jOjEsZGlyOjAsbG9hZGluZzoyLHRhcmdldDozfX07eWhhPVt7YXV0bzohMCxsdHI6ITAscnRsOiEwfSx7YXN5bmM6ITB9LHtlYWdlcjohMCxsYXp5OiEwfSx7X3NlbGY6ITAsX2JsYW5rOiEwfV07T009bnVsbDtRTT17fTtJZ2E9IldFQl9QQUdFX1RZUEVfQUNDT1VOVFMgV0VCX1BBR0VfVFlQRV9XRUxDT01FIFdFQl9QQUdFX1RZUEVfQUNDT1VOVF9TRUxFQ1RPUiBXRUJfUEFHRV9UWVBFX1NJR05fSU5fSURFTlRJRklFUl9FTlRSWSBXRUJfUEFHRV9UWVBFX1NJR05fSU5fUEFTU1dPUkRfRU5UUlkgV0VCX1BBR0VfVFlQRV9TSUdOX0lOX0RFVklDRV9QUk9NUFRfQ0hBTExFTkdFIFdFQl9QQUdFX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTCBXRUJfUEFHRV9UWVBFX1VOS05PV04iLnNwbGl0KCIgIik7CkpnYT17RkV3aGF0X3RvX3dhdGNoOiJob21lIixGRWhhc2h0YWc6Imhhc2h0YWciLEZFdHJlbmRpbmc6InRyZW5kaW5nIixGRWhpc3Rvcnk6Imhpc3RvcnkiLFNQdW5saW1pdGVkOiJwcmVtaXVtIixGRW1lbWJlcnNoaXBzX2FuZF9wdXJjaGFzZXM6InBhaWRfbWVtYmVyc2hpcHMiLFNQcmVkZWVtX2NvZGU6InJlZGVlbSIsU1B2ZXJpZnlfbG9jYXRpb246ImxvY2F0ZSIsU1BtaW5vcl9tb21lbnQ6Im1pbm9yX21vbWVudCIsRkVtaW5pX2FwcF9jb250YWluZXI6Im1pbmlfYXBwIixGRW5ld3NfZGVzdGluYXRpb246Im5ld3MiLFNQb3Blbl9pbl9hcHA6Im9wZW5faW5fYXBwIixGRWV4cGxvcmU6ImV4cGxvcmUiLEZFc3Vic2NyaXB0aW9uczoic3Vic2NyaXB0aW9ucyIsRkVzZnZfYXVkaW9fcGl2b3Q6InNmdl9hdWRpb19waXZvdCIsRkVwbGF5bGlzdF9hZ2dyZWdhdGlvbjoicGxheWxpc3RfYWdncmVnYXRpb24ifTtfLllNPSExO3poYT17YUQ6InlvdXR1YmVfZmlsbCIsUkY6InlvdXR1YmVfb3V0bGluZSJ9OwpBaGE9e2pGOiJMSUtFIixFRjoiTk9USUZJQ0FUSU9OX0JFTEwifTtfLktCPV8ubEM7dmFyIFFnYT1uZXcgU2V0KFsiRm9yIiwiSWYiLCJNYXRjaCIsIldhdGNoIl0pLGNPPXtbXy5SQS5kZWZhdWx0XTooKT0+Xy56QixzdHlsZTooKT0+Xy56Qn07Zm9yKGxldCBhIGluIGNPKV8uS3UuYXR0cmlidXRlc1thXT1jT1thXShfLkt1LmF0dHJpYnV0ZXNbYV0pO18uQmhhPW5ldyBfLkkoInNpZ25JbkVuZHBvaW50Iik7Xy5kTz1uZXcgXy5JKCJsaWtlRW5kcG9pbnQiKTt2YXIgQ2hhPW5ldyBfLkkoImhvcml6b250YWxTbGlkZXJWaWV3TW9kZWwiKTt2YXIgRGhhPW5ldyBfLlZzKCJWSURFT19OT1RJQ0VTX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgRWhhPV8uTChhPT57ZnVuY3Rpb24gYihrKXt2YXIgbD1oKCktYS5zdGVwU2l6ZSgpO2QudmFsdWUudmFsdWVBc051bWJlcj1sO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNoYW5nZSIpKTtrLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGMoayl7dmFyIGw9aCgpK2Euc3RlcFNpemUoKTtkLnZhbHVlLnZhbHVlQXNOdW1iZXI9bDtkLnZhbHVlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIpKTtkLnZhbHVlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJjaGFuZ2UiKSk7ay5zdG9wUHJvcGFnYXRpb24oKX12YXIgZD1fLnVFKCJpbnB1dCIpLFtlLGZdPV8uQUMoKCk9PmEudmFsdWUoKT8/MCksaD1lO18ubkUoKCk9Pnt2YXIgaz1kLnZhbHVlO2sudmFsdWVBc051bWJlcj1oKCk7dmFyIGw9aCgpLG09YS5taW5WYWx1ZSgpLG49YS5SbCgpO2suc3R5bGUuc2V0UHJvcGVydHkoIi0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQiLApgJHsobC1tKS9uKjEwMH0lYCl9LCJqVDVDQ2YiKTtyZXR1cm4gXy5LKCJzbGlkZXItc2hhcGUiLHtjbGFzczpfLlAoInl0U2xpZGVyU2hhcGVIb3N0Iix7eXRTbGlkZXJTaGFwZVZlcnRpY2FsOigpPT5hLmlzVmVydGljYWwoKX0pfSxfLksoXy5PLHtBOmEuVWosdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b24iLCJhcmlhLWxhYmVsIjphLmpsLGRpc2FibGVkOigpPT5oKCk9PT1hLm1pblZhbHVlKCksIm9uOmNsaWNrIjpifSxfLksoXy5VQyx7bW9kZWw6e2NpcmN1bGFyOiEwfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjoiQkFSX0hPUklaT05UQUwiLGNsYXNzTmFtZToieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uIn0pKSl9KSxfLksoImlucHV0Iix7Y2xhc3M6KCk9PmEuaXNWZXJ0aWNhbCgpPyJ5dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXIiOgoieXRTbGlkZXJTaGFwZUhvc3RTbGlkZXIiLHR5cGU6InJhbmdlIixpZDoic2xpZGVyIixlbDpkLG1pbjphLm1pblZhbHVlLG1heDphLm1heFZhbHVlLCJhcmlhLWxhYmVsIjphLmFyaWFMYWJlbCwiYXJpYS12YWx1ZW1pbiI6YS5taW5WYWx1ZSwiYXJpYS12YWx1ZW1heCI6YS5tYXhWYWx1ZSwiYXJpYS12YWx1ZW5vdyI6aCwiYXJpYS12YWx1ZXRleHQiOigpPT5TdHJpbmcoaCgpKSx2YWx1ZTpoLHN0ZXA6YS5zdGVwU2l6ZSwib246aW5wdXQiOmZ1bmN0aW9uKGspe2EuUmM/LihrKTtmKE51bWJlcihkLnZhbHVlPy52YWx1ZT8/MCkpO2suc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKGspe2Eub25DaGFuZ2U/LihrKTtrLnN0b3BQcm9wYWdhdGlvbigpfX0pLF8uSyhfLk8se0E6YS5Vaix0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbiIsImFyaWEtbGFiZWwiOmEuUGwsZGlzYWJsZWQ6KCk9PmgoKT09PQphLm1heFZhbHVlKCksIm9uOmNsaWNrIjpjfSxfLksoXy5VQyx7bW9kZWw6e2NpcmN1bGFyOiEwfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjoiQUREIixjbGFzc05hbWU6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbiJ9KSkpfSkpfSwiT2EiKTt2YXIgRmhhPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYztpZigoYz1hLmRhdGEoKSkmJmMubWF4VmFsdWUmJmMubWluVmFsdWUmJmMuc3RlcENvdW50KXt2YXIgZD1jLnZhbHVlRGVub21pbmF0b3I/PzEsZT0oYy5tYXhWYWx1ZS1jLm1pblZhbHVlKS9kO2M9e3ZhbHVlOihjLmluaXRpYWxWYWx1ZT8/Yy5taW5WYWx1ZSkvZCxhcmlhTGFiZWw6Xy5CKGMucmVuZGVyZXJDb250ZXh0LF8uWUMpPy5sYWJlbD8/IiIsbWluVmFsdWU6Yy5taW5WYWx1ZS9kLG1heFZhbHVlOmMubWF4VmFsdWUvZCxSbDplLHN0ZXBTaXplOmUvYy5zdGVwQ291bnQsb25DaGFuZ2U6aU4oYy5vblNsaWRlclZhbHVlU2V0Q29tbWFuZCxhLll5KSxSYzppTihjLm9uU2xpZGVyVG91Y2hDb21tYW5kLGEuZnopLFBsOl8uQihjLmluY3JlYXNlQnV0dG9uLF8uS0opPy5hY2Nlc3NpYmlsaXR5VGV4dD8/IiIsamw6Xy5CKGMuZGVjcmVhc2VCdXR0b24sXy5LSik/LmFjY2Vzc2liaWxpdHlUZXh0Pz8iIixpc1ZlcnRpY2FsOiExLApVajohIV8uQihjLmluY3JlYXNlQnV0dG9uLF8uS0opJiYhIV8uQihjLmRlY3JlYXNlQnV0dG9uLF8uS0opfX1lbHNlIGM9e307cmV0dXJuIGN9O3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dEhvcml6b250YWxTbGlkZXJWaWV3TW9kZWxIb3N0In0sXy5LKEVoYSx7dmFsdWU6KCk9PmIoKS52YWx1ZSxhcmlhTGFiZWw6KCk9PmIoKS5hcmlhTGFiZWwsbWluVmFsdWU6KCk9PmIoKS5taW5WYWx1ZSxtYXhWYWx1ZTooKT0+YigpLm1heFZhbHVlLHN0ZXBTaXplOigpPT5iKCkuc3RlcFNpemUsUmw6KCk9PmIoKS5SbCxQbDooKT0+YigpLlBsLGpsOigpPT5iKCkuamwsaXNWZXJ0aWNhbDooKT0+YigpLmlzVmVydGljYWwsb25DaGFuZ2U6Yz0+e2IoKS5vbkNoYW5nZShjKX0sUmM6Yz0+e2IoKS5SYyhjKX0sVWo6KCk9PmIoKS5Van0pKX0sIlBhIik7dmFyIGVPPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVXcmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46Yj0+Xy5LKCJoMiIse2NsYXNzOl8uUCgieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyIix7eXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyTm9uSW50ZXJhY3RpdmU6IV8ueCgid2ViX3BhbmVsX2hlYWRlcl90aXRsZV9ub25faW50ZXJhY3RpdmVfa2lsbHN3aXRjaCIpfSl9LF8uSyhfLlYse3RleHQ6YixjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZSJ9KSl9KSxfLksoXy5PLHtBOigpPT5hKCkuc3VidGl0bGUsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmIsY2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsU3VidGl0bGUifSl9KSksIlFhIiksZk89Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLlRIKCgpPT5hKCkucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5LKCJ5dC1wYW5lbC1oZWFkZXItdmlldy1tb2RlbCIsCntjbGFzczpfLlAoInl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0Iix7eXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RIaWRlRGl2aWRlcjooKT0+ISFhKCkuc2hvdWxkSGlkZURpdmlkZXIseXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RDb21wYWN0OigpPT4hIWEoKS5zdWJ0aXRsZX0pLCJhcmlhLWxhYmVsIjooKT0+YigpPy5sYWJlbH0sXy5LKF8uTyx7QTooKT0+Xy50SChhKCkucmVuZGVyZXJDb250ZXh0KSx0aGVuOigpPT5fLksoXy5NSix7Y2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3IiLGNvbW1hbmQ6KCk9Pl8uc0goYSgpLnJlbmRlcmVyQ29udGV4dCksWnY6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvckZvY3VzZWQifSxfLksoZU8se2RhdGE6YX0pKSxXOigpPT5fLksoZU8se2RhdGE6YX0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQnV0dG9ucyJ9LF8uSyhfLlcse2RhdGE6KCk9PgphKCkudHJhaWxpbmdCdXR0b25zfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpjfSk9Pl8uSyhfLkhELHtkYXRhOmMsY2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uIn0pfSkpKX0sIlJhIik7Zk8uaWRvbUNvbXBhdD0hMDt2YXIgZ089Xy5MKGE9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEhvc3QiLCJ5dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lciIsInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIiksc3R5bGU6KCk9PmEuQ2MoKT9gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7YS5PYigpfXB4KTt0cmFuc2l0aW9uOiAwLjJzYDoiIn0sYS5oZWFkZXI/LigpLF8uSygiZGl2Iix7aWQ6YS5IaSxjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlciIsc3R5bGU6Xy5JRSh7Im1heC1oZWlnaHQiOigwLF8uWkspKGEuRmMpfSksIm9uOnNjcm9sbCI6bE4oYS5qciksIm9uOnRvdWNobW92ZSI6bE4oKX0sXy5LKCJkaXYiLHtlbDpfLnJGKGEubnApLGNsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudCIsIm9uOmNsaWNrIjpmdW5jdGlvbihiKXthLnBmPy4oKT9iLnN0b3BQcm9wYWdhdGlvbigpOmEuWXEoYil9fSwKYS5ib2R5Py4oKSkpLGEuZm9vdGVyPy4oKSksIlNhIik7Z08uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntqcjohMCxucDohMCxZcTohMH19O3ZhciBoTz1fLkwoYT0+e3ZhciB7bGVhZGluZ0xhYmVsOmIsdHJhaWxpbmdMYWJlbDpjLFJlOmQscHJpbWFyeUJ1dHRvbjplLEl3OmYsc2Vjb25kYXJ5QnV0dG9uOmgsS3c6ayxPcDpsLEN3Om19PV8uREMoYSx7bGVhZGluZ0xhYmVsOnZvaWQgMCx0cmFpbGluZ0xhYmVsOnZvaWQgMCxSZTp2b2lkIDB9KSxuPSgpPT5iKCl8fGMoKXx8ZigpfHxrKCk7cmV0dXJuIF8uSyhfLk8se0E6bSx0aGVuOigpPT5fLksoXy5JQixudWxsLGw/LigpKSxXOigpPT5fLksoXy5PLHtBOm4sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+YigpfHxjKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJXaXRob3V0QnV0dG9uczooKT0+IWYoKX0pfSxfLksoXy5PLAp7QTpiLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TGVhZGluZ0xhYmVsIn0sYil9KSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVsIn0sYyl9KSl9KSxfLksoXy5PLHtBOigpPT5mKCl8fGsoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJCdXR0b25XcmFwcGVyIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJCdXR0b25XcmFwcGVyTGFuZHNjYXBlQnV0dG9uV3JhcHBlcjpfLkJjYX0pfSxfLksoXy5PLHtBOigpPT5rKCkmJmQoKSE9PTAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25UcmFpbGluZ1BhaXI6KCk9PmQoKT09PTEmJmsoKSwKeXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25TcGxpdFBhaXI6KCk9PmQoKT09PTImJmsoKSx5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblByaW1hcnlTcGxpdFBhaXI6KCk9PmQoKT09PTMmJmYoKX0pfSxoPy4oKSl9KSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbiIsKCk9PlVnYShkKCkpKX0sZT8uKCkpfSkpfSkpfSl9KX0sIlRhIik7aE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntwcmltYXJ5QnV0dG9uOiEwLHNlY29uZGFyeUJ1dHRvbjohMCxPcDohMH19O3ZhciBpTz1fLkwoYT0+e3ZhciB7dGl0bGU6YixzdWJ0aXRsZTpjLGdxOmQsRHc6ZSx4bzpmLHh3Omgsd3M6ayx2czpsLHVzOm0sUXE6bixPdzpwLGlzRHJhZ2dpbmc6cn09Xy5EQyhhLHt0aXRsZTp2b2lkIDAsc3VidGl0bGU6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJJc0RyYWdnaW5nOnJ9KSxpZDpwLCJvbjp0b3VjaHN0YXJ0IjpsTihrKSwib246dG91Y2htb3ZlIjpsTihsKSwib246dG91Y2hlbmQiOmxOKG0pLCJvbjptb3VzZWRvd24iOmxOKG4pfSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dERyYWdMaW5lIn0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoXy5JQixudWxsLGQ/LigpKSxXOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXI6ITAsCnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV2l0aFRpdGxlOmJ9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZVdyYXBwZXIifSxfLksoXy5PLHtBOmIsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoImgyIix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGUifSxiKSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJoMyIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxlIn0sYyl9KSl9KSksXy5LKF8uTyx7QTooKT0+YigpJiZoKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRBY3Rpb25IZWFkZXIifSxmPy4oKSl9KSl9KSl9LCJVYSIpO2lPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7d3M6ITAsdnM6ITAsdXM6ITAsUXE6ITAseG86ITAsZ3E6ITAsaXNEcmFnZ2luZzohMH19O3ZhciBqTz1fLkwoYT0+e2Z1bmN0aW9uIGIoYWEpe2lmKCFZJiZ0eXBlb2YgTXV0YXRpb25PYnNlcnZlciE9PSJ1bmRlZmluZWQiKXt2YXIgT2E9e2NoaWxkTGlzdDohMH07Ik11dGF0aW9uT2JzZXJ2ZXIiaW4gd2luZG93JiYoWT1uZXcgTXV0YXRpb25PYnNlcnZlcihjLmJpbmQodm9pZCAwLGFhKSksWS5vYnNlcnZlKGFhLE9hKSl9fWZ1bmN0aW9uIGMoYWEpe3R5cGVvZiBZIT09InVuZGVmaW5lZCImJihwYVsiY29udGVudC13cmFwcGVyIl09PT12b2lkIDAmJihwYVsiY29udGVudC13cmFwcGVyIl09YWEuY2hpbGRyZW5bMF0uY2xpZW50SGVpZ2h0KSxHKHBhWyJjb250ZW50LXdyYXBwZXIiXSksIShDKCk+UigpKSYmQygpPjAmJk0oQygpKSl9ZnVuY3Rpb24gZCgpe0Uod2luZG93LmlubmVySGVpZ2h0KTshKEMoKT5SKCkpJiZDKCk+MCYmTShDKCkpO29hLlBjWzBdKCkmJkMoKT5SKCk/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOlUoKS5kaXNwYXRjaCgiU25hcCBUbyBOZXV0cmFsIFBvc2l0aW9uIiwKe21heEhlaWdodDpSKCl9KX1mdW5jdGlvbiBlKGFhKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSI7YWEucHJldmVudERlZmF1bHQoKTtVKCkuZGlzcGF0Y2goIkRyYWcgU3RhcnQiLHtjbGllbnRZOmFhLnRvdWNoZXNbMF0uY2xpZW50WX0pfWZ1bmN0aW9uIGYoYWEpe2FhLnByZXZlbnREZWZhdWx0KCk7VSgpLmRpc3BhdGNoKCJEcmFnIE1vdmUiLHtjbGllbnRZOmFhLnRvdWNoZXNbMF0uY2xpZW50WSxtcDpDKCk+UigpLFRwOlMoKSxxcDpSKCksaHE6cGEsSGk6ImNvbnRlbnQtd3JhcHBlciIsaGVhZGVyOm5OKGEpLGZvb3RlcjpuTihhKSxmcTpwYVsiYm90dG9tLXNoZWV0LWhlYWRlciJdLE5wOnBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl19KX1mdW5jdGlvbiBoKGFhKXthYS5idXR0b249PT0wJiYoYWEucHJldmVudERlZmF1bHQoKSx0YSghMCksVSgpLmRpc3BhdGNoKCJEcmFnIFN0YXJ0Iix7Y2xpZW50WTphYS5jbGllbnRZfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsClQpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKSl9ZnVuY3Rpb24gaygpe3RhKCExKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixUKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsayk7bSgpfWZ1bmN0aW9uIGwoKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIjttKCl9ZnVuY3Rpb24gbSgpe29hLlBjWzBdKCk/b2EuT2JbMF0oKT49NjA/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLHttYXhIZWlnaHQ6UigpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOm9hLk9iWzBdKCk+PTYwP24oKTpvYS5PYlswXSgpPD0tNjAmJkMoKT5SKCk/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOlUoKS5kaXNwYXRjaCgiU25hcCBUbyBOZXV0cmFsIFBvc2l0aW9uIix7bWF4SGVpZ2h0OlIoKX0pfQpmdW5jdGlvbiBuKCl7VSgpLmRpc3BhdGNoKCJDbG9zZSBTaGVldCIse2NsaWVudEhlaWdodDp6KCksbWF4SGVpZ2h0OjB9KTtzZXRUaW1lb3V0KCgpPT57bU4oKX0sMjUwKX12YXIgcD1fLnVFKCJkaXYiKSxyPV8udUUoImRpdiIpLFt0LHZdPV8uSih3aW5kb3cuaW5uZXJIZWlnaHQsdm9pZCAwLCJDbU9zVSIpLHo9dCxFPXYsW0EsRl09Xy5KKDAsdm9pZCAwLCJwMEZsaGIiKSxDPUEsRz1GLFtELEhdPV8uQUMoKCk9Pnt2YXIgYWE9bk4oYSk7cmV0dXJuLjYqeigpLWpOKGFhKS1rTihhYSl9KSxSPUQsTT1ILFM9KCk9Pnt2YXIgYWE9bk4oYSksT2E9eigpLEpiPXBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl0semE9cGFbImJvdHRvbS1zaGVldC1mb290ZXIiXTtyZXR1cm4gT2EtKGFhLmpoJiZKYiE9PXZvaWQgMD9KYjpqTihhYSkpLShhYS5oaCYmemEhPT12b2lkIDA/emE6a04oYWEpKS0yNC0yNH0sWT1udWxsLHBhPXt9LG9hPXtWZTpfLkooMCx2b2lkIDAsInN4ZEVTZCIpLE9iOl8uSigwLAp2b2lkIDAsIkdaenFlYiIpLENjOl8uSighMSx2b2lkIDAsInZKQnVwYyIpLFBjOl8uSighMSx2b2lkIDAsIlh5UkRwIiksRmM6Xy5BQyhSKX0sVT0oKCk9Pnt2YXIgYWE9bnVsbDtyZXR1cm4oKT0+e2lmKCFhYSl7bGV0IE9hPXtWZTpvYS5WZVswXSgpLE9iOm9hLk9iWzBdKCksQ2M6b2EuQ2NbMF0oKSxQYzpvYS5QY1swXSgpLEZjOm9hLkZjWzBdKCl9O2FhPVRnYShPYSl9cmV0dXJuIGFhfX0pKCk7Xy5VSigoKT0+e3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGQpO1UoKS5zdWJzY3JpYmUoYWE9PntvYS5WZVsxXShhYS5WZSk7b2EuT2JbMV0oYWEuT2IpO29hLkNjWzFdKGFhLkNjKTtvYS5QY1sxXShhYS5QYyk7b2EuRmNbMV0oYWEuRmMpfSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57cC52YWx1ZSYmKHBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl09cC52YWx1ZS5jbGllbnRIZWlnaHQpO3IudmFsdWUmJihwYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdPXIudmFsdWUuY2xpZW50SGVpZ2h0KX0pfSk7Cl8uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixkKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixUKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsayk7WSYmKFkuZGlzY29ubmVjdCgpLFk9bnVsbCl9KTt2YXIgW2hhLG1hXT1fLkooITEsdm9pZCAwLCJLc2lUWWUiKSx0YT1tYSxUPWFhPT57VSgpLmRpc3BhdGNoKCJEcmFnIE1vdmUiLHtjbGllbnRZOmFhLmNsaWVudFksbXA6QygpPlIoKSxUcDpTKCkscXA6UigpLGhxOnBhLEhpOiJjb250ZW50LXdyYXBwZXIiLGhlYWRlcjpuTihhKSxmb290ZXI6bk4oYSksZnE6cGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXSxOcDpwYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdfSl9LGJhPV8uUCh7ImJvdHRvbS1zaGVldC1jb250ZW50LXdpdGhvdXQtaWNvbiI6KCk9PiFhLkhhPy4oKX0pO3JldHVybiBfLksoImJvdHRvbS1zaGVldC1sYXlvdXQiLG51bGwsXy5LKGdPLHtIaToiY29udGVudC13cmFwcGVyIiwKQ2M6KCk9Pm9hLkNjWzBdKCksT2I6KCk9Pm9hLk9iWzBdKCksRmM6KCk9Pm9hLkZjWzBdKCksSGE6YS5IYSxwZjphLnBmLGpyOigpPT57dmFyIGFhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc2hlZXQtaGVhZGVyIiksT2E9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQtd3JhcHBlciIpO2lmKGFhJiZPYSl7dmFyIEpiPXt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXI6ITAseXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVyQm90dG9tQm9yZGVyOiEwfTthYS5jbGFzc05hbWU9T2Euc2Nyb2xsVG9wPjE/Xy5hTChKYik6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlciJ9fSxZcTptTixucDphYT0+e2IoYWEpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2MoYWEpfSl9LGhlYWRlcjooKT0+Xy5LKCJkaXYiLHtlbDpwfSxfLksoaU8se2lzRHJhZ2dpbmc6aGEsd3M6ZSx2czpmLHVzOmwsUXE6aCx0aXRsZTphLmhlYWRlclRpdGxlLApzdWJ0aXRsZTphLmhlYWRlclN1YnRpdGxlLE93OiJib3R0b20tc2hlZXQtaGVhZGVyIixncTphLlVlLER3OmEuamgseG86YS5XZix4dzphLmlofSkpLGZvb3RlcjooKT0+Xy5LKCJkaXYiLHtlbDpyfSxfLksoaE8se1JlOmEuUmUsbGVhZGluZ0xhYmVsOmEuTWYsdHJhaWxpbmdMYWJlbDphLlBmLHByaW1hcnlCdXR0b246YS5OZixJdzphLlVmLHNlY29uZGFyeUJ1dHRvbjphLk9mLEt3OmEuVmYsT3A6YS5TZSxDdzphLmhofSkpLGJvZHk6KCk9Pl8uSyhfLk8se0E6YS5YaSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmJhfSxhLkdiPy4oKSl9KX0pKX0sIlZhIik7ak8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntXZjohMCxVZTohMCxHYjohMCxTZTohMCxOZjohMCxPZjohMH19O18uTChhPT57dmFyIGI9Xy55KCkucmVzb2x2ZShfLmNMKTtyZXR1cm4gXy5LKCJ5dC1jb250ZXh0dWFsLXNoZWV0LWxheW91dCIse2NsYXNzOl8uUCgieXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0Iix7eXRDb250ZXh0dWFsU2hlZXRMYXlvdXRBZGRQYWRkaW5nOmEucnUseXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0T2xkTWluV2lkdGg6KCk9PiEhYS5oYXNIZWFkZXI/LigpfHwhIWEuQnc/LigpfHxfLngoImVuYWJsZV9jb250ZXh0dWFsX3NoZWV0X29sZF9taW5fd2lkdGhfa2lsbHN3aXRjaCIpfSksZWw6Xy5yRihfLmRMKSwib246Y2xpY2siOigpPT57YT8udks/LigpfHxiLkplKCl9fSxfLksoXy5PLHtBOigpPT4hIWEuaGVhZGVyLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0SGVhZGVyQ29udGFpbmVyIn0sYS5oZWFkZXIoKSl9KSxfLksoXy5PLHtBOigpPT4hIWEuY29udGVudCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXIifSwKYS5jb250ZW50KCkpfSksXy5LKF8uTyx7QTooKT0+ISFhLmZvb3Rlcix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENvbnRleHR1YWxTaGVldExheW91dEZvb3RlckNvbnRhaW5lciJ9LGEuZm9vdGVyKCkpfSkpfSwiV2EiKS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2hlYWRlcjohMCxjb250ZW50OiEwLGZvb3RlcjohMCxoYXNIZWFkZXI6ITAsZ0o6ITAsQnc6ITAscnU6ITB9fTt2YXIgR2hhPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixvbkNsaWNrOmN9KT0+Xy5LKCJ5dHctdmFyaWFibGUtc3BlZWQtY29udHJvbGxlci1zcGVlZC1idXR0b24tdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJTcGVlZEJ1dHRvblZpZXdNb2RlbEhvc3QiLGIpfSxfLksoXy5XLHtkYXRhOigpPT5hKCkucGxheWJhY2tTcGVlZEJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5IRCx7ZGF0YTpkLG9uQ2xpY2s6Y30pfSksXy5LKF8uVix7Y2xhc3NOYW1lOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsU3BlZWRMYWJlbCIsdGV4dDooKT0+YSgpLmJ1dHRvbkxhYmVsfSkpLCJYYSIpO3ZhciBvTjsKXy5rTz1fLkwoKHtkYXRhOmEscHo6Yj1WZ2Esb3o6Yz1XZ2EscXo6ZD1YZ2F9KT0+e3ZhciBbZSxmXT1fLkooMTAwLHZvaWQgMCwiZDBOS3liIiksW2gsa109Xy5KKCExLHZvaWQgMCwiWFh2Z2tiIiksbD1tPT57ZihtLnRhcmdldC52YWx1ZUFzTnVtYmVyKTtiPy4obSl9O18ubkUoKCk9PntpZihhKCkuc2xpZGVyKXt2YXIgbT1fLkIoYSgpLnNsaWRlcixDaGEpO20mJihtLmluaXRpYWxWYWx1ZSYmbS52YWx1ZURlbm9taW5hdG9yP2YobS5pbml0aWFsVmFsdWUvbS52YWx1ZURlbm9taW5hdG9yKTpmKDApKX19LCJSdkhEcmYiKTtyZXR1cm4gXy5LKCJ2YXJpYWJsZS1zcGVlZC1jb250cm9sbGVyLXZpZXctbW9kZWwiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTcGVlZEluZGljYXRvckNvbnRhaW5lciJ9LF8uSyhfLk8se0E6KCk9PmUoKT4yLHRoZW46KCk9PgpfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFByZW1pdW1CYWRnZSJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5iYWRnZX0se2JhZGdlVmlld01vZGVsOih7ZGF0YTptfSk9Pl8uSyhfLkVELHtkYXRhOm19KX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXkiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLCJhcmlhLWF0b21pYyI6InRydWUiLCJhcmlhLWJ1c3kiOmh9LCgpPT5fLmFBKCJQTEFZQkFDS19TUEVFRF9YIix7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcjpgJHtlKCkudG9GaXhlZCgyKX1gfSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFNsaWRlckNvbnRhaW5lciIsIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKG0pe20udGFyZ2V0LnRhZ05hbWU9PT0iSU5QVVQiJiZrKCEwKX0sIm9uOmZvY3Vzb3V0IjpmdW5jdGlvbihtKXttLnRhcmdldC50YWdOYW1lPT09CiJJTlBVVCImJmsoITEpfX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnNsaWRlcn0se2hvcml6b250YWxTbGlkZXJWaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKEZoYSx7ZGF0YTooKT0+KHsuLi5tKCksaW5pdGlhbFZhbHVlOmUoKSoxMDB9KSxmejpsLFl5OmN9KX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5wbGF5YmFja1NwZWVkQnV0dG9uc30se3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKEdoYSx7ZGF0YTptLGNsYXNzTmFtZToieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkQnV0dG9uIixvbkNsaWNrOigpPT57dmFyIG49bSgpPy5wbGF5YmFja1NwZWVkQnV0dG9uQ2VudGlWYWx1ZTtuJiYoZihuLzEwMCksZD8uKG4vMTAwKSl9fSl9KSkpfSwiWmEiKTt2YXIgSGhhPW5ldyBfLlZzKCJDT05URU5UX0ZFRURCQUNLX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgbE89Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uVUQpLGM9Xy5wSCh7TmI6KGYsaCk9PntfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKXx8IWZ8fF8uekgoYT8uKCk/LnJlbmRlcmVyQ29udGV4dCl8fE1NKGgpfSxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifX0pLGQ9Xy55KCkucmVzb2x2ZShfLkluKEhoYSkpLGU9Xy55KCkucmVzb2x2ZShfLkluKERoYSkpO3JldHVybiBfLksoInl0LXNoZWV0LXZpZXctbW9kZWwiLHsib246bW91c2Vkb3duIjpmdW5jdGlvbihmKXtfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKSYmZi5jdXJyZW50VGFyZ2V0IT09Zi50YXJnZXQmJmYucHJldmVudERlZmF1bHQoKX0sIm9uOmZvY3VzIjpmdW5jdGlvbihmKXtfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKSYmTU0oZi5jdXJyZW50VGFyZ2V0KX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKCl7dmFyIGY9Xy56SChhPy4oKT8ucmVuZGVyZXJDb250ZXh0KTsKZiYmYi5yZXNvbHZlQ29tbWFuZChmKX0sY2xhc3M6Xy5QKCJ5dFNoZWV0Vmlld01vZGVsSG9zdCIse3l0U2hlZXRWaWV3TW9kZWxDb250ZXh0dWFsOiExLHl0U2hlZXRWaWV3TW9kZWxEaXNhYmxlQmFja2Ryb3BGaWx0ZXI6ITF9KSxlbDpfLnJGKGMpLHRhYmluZGV4Oi0xfSxfLksoXy5PLHtBOmEsdGhlbjpmPT5fLksoak8se1VlOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuaGVhZGVyfSx7cGFuZWxIZWFkZXJWaWV3TW9kZWw6Zk99KSxqaDohMCxpaDohMSxHYjooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+ZigpLmNvbnRlbnR9LHtjaGVja2JveEdyb3VwVmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLnRELHtkYXRhOmgsV2I6ITF9KSxyYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLkVMLHtkYXRhOmgsV2I6ITF9KSxsaXN0Vmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLkJELHtkYXRhOmgsQmM6ITB9KSx2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbDpfLmtPLApsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCx1cHNlbGxWaWV3TW9kZWw6Xy5oTCxtaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWw6Xy5qTCwuLi4oZSYme3ZpZGVvTm90aWNlc1ZpZXdNb2RlbDplfSksLi4uKGQmJntjb250ZW50RmVlZGJhY2tWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKGQse2RhdGE6aCxjbGFzc05hbWU6Inl0U2hlZXRWaWV3TW9kZWxQYWRkZWRDb250ZW50In0pfSl9KSxYaTohMCxTZTooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+ZigpLmZvb3Rlcn0se3BhbmVsRm9vdGVyVmlld01vZGVsOl8uc0R9KSxoaDohMCxVZjohMSxWZjohMSxIYTohMH0pfSkpfSwiJGEiKTtsTy5pZG9tQ29tcGF0PSEwO18ubU89bmV3IF8uVnMoIklDT05fU0VUX1RPS0VOIik7Xy5uTz1uZXcgXy5WcygiSUNPTl9VUkxfUFJPVklERVJfVE9LRU4iKTtfLm9PPW5ldyBfLlZzKCJJQ09OX01BUF9GTl9UT0tFTiIpO3ZhciBTTj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO3RoaXMubz1ifXYoKXt2YXIgYT0oXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/SWhhOkpoYSk/P3RoaXMubztpZihhPy5sZW5ndGgpe2xldCBiPVtdO2E9KG5ldyBTZXQoYSkpLnZhbHVlcygpO2ZvcihsZXQgYyBvZiBhKWZvcihsZXQgZCBvZiBPYmplY3QudmFsdWVzKHpoYSkpYi5wdXNoKHtpY29uTmFtZTpjLGljb25TdHlsZTpkfSk7dGhpcy5qLnlhKGIpfWVsc2UgUHJvbWlzZS5yZXNvbHZlKCl9fTtTTltfLkxuXT1bXy5YTCxfLkluKG5ldyBfLlZzKCJQUkVGRVRDSF9JQ09OU19UT0tFTiIpKV07dmFyIEtoYT0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxlaGE9e1sxXTp7cGQ6bnVsbCxoZTpudWxsLEtkOm51bGx9LFsyXTp7cGQ6ZnVuY3Rpb24oYSxiLGMpe2E9Yzt4aGEudGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKHJoYSwiJmFtcDsiKSksYS5pbmRleE9mKCI8IikhPS0xJiYoYT1hLnJlcGxhY2Uoc2hhLCImbHQ7IikpLGEuaW5kZXhPZigiPiIpIT0tMSYmKGE9YS5yZXBsYWNlKHRoYSwiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9LTEmJihhPWEucmVwbGFjZSh1aGEsIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZSh2aGEsIiYjMzk7IikpLGEuaW5kZXhPZigiXHgwMCIpIT0tMSYmKGE9YS5yZXBsYWNlKHdoYSwiJiMwOyIpKSk7cmV0dXJuIGF9LGhlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5mYn0sS2Q6YT0+Xy55QShhKX0sWzNdOntwZDpmdW5jdGlvbihhLApiLGMpe3JldHVybiBLaGEudGVzdChjKT9jOl8uRnEudG9TdHJpbmcoKX0saGUoYSl7cmV0dXJuIF8uWGEoYSl9LEtkOmE9Pl8uWWEoYSl9LFs0XTp7cGQ6ZnVuY3Rpb24oKXtyZXR1cm4gXy5GcS50b1N0cmluZygpfSxoZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uU2F9LEtkOmE9Pl8uVWEoYSkudG9TdHJpbmcoKX0sWzVdOntwZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN9LGhlKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifSxLZDphPT5hLnRvU3RyaW5nKCl9LFs3XTp7cGQ6ZnVuY3Rpb24oKXtyZXR1cm4iIC8qekNsb3N1cmV6Ki8gIn0saGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmpifSxLZDphPT5fLmxiKGEpfSxbOF06e3BkKGEsYixjKXtjPVN0cmluZyhjKS50b0xvd2VyQ2FzZSgpO2E6e2xldCBkPW51bGw7KGE9Yk9bYV0pJiYoZD1hW2JdKTtpZih0eXBlb2YgZCE9PSJudW1iZXIiJiYoKGE9Yk9bIioiXSkmJihkPWFbYl0pLHR5cGVvZiBkIT09Im51bWJlciIpKXtiPQohMTticmVhayBhfWI9ITA9PT15aGFbZF1bU3RyaW5nKGMpLnRvTG93ZXJDYXNlKCldfXJldHVybiBiP2M6InpDbG9zdXJleiJ9LGhlOm51bGwsS2Q6bnVsbH0sWzEwXTp7cGQ6bnVsbCxoZTpudWxsLEtkOm51bGx9fTtfLnBPPV8uTCgoe2RhdGE6YSx0ZzpiLEhhOmMsaWNvbjpkLHByb2Nlc3NBbGxFbmRwb2ludHM6ZSxwcmV2ZW50RGVmYXVsdDpmLHN0b3BQcm9wYWdhdGlvbjpoLHdJOmssY2xhc3NOYW1lOmwsYnV0dG9uT3ZlcnJpZGVzOm0sUWY6bixpc1N1YnNjcmliZTpwLG9pOnIsQmw6dH0pPT57dmFyIHY9Xy5tRygpLHo9KEYsQyk9PntmPy4oKSYmQy5wcmV2ZW50RGVmYXVsdCgpO2g/LigpJiZDLnN0b3BQcm9wYWdhdGlvbigpO2lmKCFrPy4oKSl7Rj1hKCk7dmFyIEc9ISFlPy4oKTtpZighRi5faXNCdXN5KXtiJiZiKCk7dmFyIEQ9IUYubmF2aWdhdGlvbkVuZHBvaW50fHwhIV8uQihGLm5hdmlnYXRpb25FbmRwb2ludCxfLll6KXx8ISFfLkIoRi5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5aeik7Rz8oRi50cmFja2luZ1BhcmFtcyYmRCYmXy56SihGLnRyYWNraW5nUGFyYW1zKSxGLnNlcnZpY2VFbmRwb2ludCYmXy5BSihGLnNlcnZpY2VFbmRwb2ludCxGLCExLHtldmVudDpDLEJkOnZ9KSxGLm5hdmlnYXRpb25FbmRwb2ludCYmCl8uQUooRi5uYXZpZ2F0aW9uRW5kcG9pbnQsRiwhMSx7ZXZlbnQ6QyxCZDp2fSksRi5jb21tYW5kJiZfLkFKKEYuY29tbWFuZCxGLCExLHtldmVudDpDLEJkOnZ9KSk6KEc9dk4oRi5zZXJ2aWNlRW5kcG9pbnQpfHx2TihGLm5hdmlnYXRpb25FbmRwb2ludCl8fHZOKEYuY29tbWFuZCkpJiZfLkFKKEcsRixELHtldmVudDpDLEJkOnZ9KX19fSxFPSgpPT57aWYoYz8uKCkhPT0hMSlyZXR1cm4gZD8uKCl8fGEoKS5pY29uPy5pY29uVHlwZX0sQT1fLk4oKCk9Pih7Li4uYWhhKHtyZW5kZXJlcjphKCksSW06eix3QTohMCxTYzptPy4oKSxWeTohMCxRZjpuPy4oKSxpc1N1YnNjcmliZTpwPy4oKXx8ITEsQmw6dD8uKCl9KSxvaTpyPy4oKX0pLHZvaWQgMCwiUGM0dDNiIik7cmV0dXJuIF8uSygieXRtLWJ1dHRvbi1yZW5kZXJlciIse2hpZGRlbjooKT0+IWEoKS50ZXh0JiYhXy5ESihhKCkuYWNjZXNzaWJpbGl0eURhdGF8fGEoKS5hY2Nlc3NpYmlsaXR5KSxjbGFzczpfLlAobCwoKT0+RT8uKCk/CmBpY29uLSR7RSgpLnRvTG93ZXJDYXNlKCl9YDp2b2lkIDAse2Rpc2FibGVkOigpPT5hKCkudGhlbWVkQmFzaWNDb2xvclBhbGV0dGUmJl8udU4oYSgpLnRoZW1lZEJhc2ljQ29sb3JQYWxldHRlKX0pfSxfLksoXy5KSyx7ZGF0YTpBLGljb25OYW1lOkV9KSl9LCJhYiIpO18ucE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkJ1dHRvbkNsaWNrQ2FsbGJhY2s6ITB9fTtfLnFPPV8uTCgoe2RhdGE6YSxRZjpiLHN0eWxlOmMsYnV0dG9uT3ZlcnJpZGVzOmQsY2xhc3NOYW1lOmUsc3RvcFByb3BhZ2F0aW9uOmYsUms6aCxIYzprLHN6Omx9KT0+e3ZhciBbbSxuXT1fLkFDKGEpLHA9KCk9Pnt2YXIgdD1tKCk7dmFyIHY9Yz8uKCk/LmFuaW1hdGVJY29uPT09InRydWUiLHo9dC50b2dnbGVkSWNvbiYmdC50b2dnbGVkSWNvbi5pY29uVHlwZSxFPXQuZGVmYXVsdEljb24mJnQuZGVmYXVsdEljb24uaWNvblR5cGU7dD12P0V8fG51bGw6dC5pc1RvZ2dsZWQmJnp8fEV8fG51bGw7dj1tKCk7cmV0dXJuKGM/LigpPy5hbmltYXRlSWNvbj09PSJ0cnVlIj90OnQ9PT0iTElLRSImJnYuaXNUb2dnbGVkPyJMSUtFX0ZJTExFRCI6dD09PSJESVNMSUtFIiYmdi5pc1RvZ2dsZWQ/IkRJU0xJS0VfRklMTEVEIjp0KT8/dm9pZCAwfSxyPSh0LHYpPT57aD9oKHQsdik6KGY/LigpJiZ2LnN0b3BQcm9wYWdhdGlvbigpLHQ9IW0oKS5pc1RvZ2dsZWQsbih7Li4ubSgpLGlzVG9nZ2xlZDp0fSksCmw/Lih0KSl9O3JldHVybiBfLksoInl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyIix7Y2xhc3M6ZX0sXy5LKF8uSksse2RhdGE6KCk9Pnt2YXIgdD1tKCksdj1tKCksej0hKHYuaXNUb2dnbGVkPyF2LnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQ6IXYuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCksRT12O3YuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCYmKEU9e30pO3JldHVybiBkaGEoe3JlbmRlcmVyOnQsSW06cixSdTpfLllEKEUse30seiksU2M6ZD8uKCksVnk6ITAsdG9nZ2xlZDohIW0oKS5pc1RvZ2dsZWQsUWY6Yj8uKCl9KX0saWNvbjooKT0+Xy5LKF8uTUQse2ljb246cCxHZTooKT0+ISFjPy4oKT8uYW5pbWF0ZUljb24sYWN0aXZlOigpPT5tKCkuaXNUb2dnbGVkLEhjOmt9KX0pKX0sImJiIik7Xy5xTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e1JrOiEwLHN6OiEwfX07Xy4kTj17S0I6WCgiQUNDT1VOVF9MQUJFTCIpLE1COlgoIkFDVF9PTl9USElTX0NPTU1FTlQiKSxOQjpYKCJBRERfVE9fRFJPUERPV05fTEFCRUwiKSxPQjpYKCJBRF9CQURHRV9ISU5UIiksUEI6WCgiQURfQkFER0VfVEVYVCIpLGNDOlgoIkFMTF9DSEFOTkVMU19MQUJFTCIpLGVDOlgoIkFNQklFTlRfTU9ERSIpLGZDOlgoIkFNQklFTlRfTU9ERV9PRkYiKSxnQzpYKCJBTUJJRU5UX01PREVfT04iKSxoQzpYKCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSIpLGlDOlgoIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiKSxrQzpYKCJBUFBfVVBTRUxMX1NVQlRJVExFIiksbEM6WCgiQVBQX1VQU0VMTF9USVRMRSIpLE5zOlgoIkFVRElPX1RSQUNLIiwiQXVkaW8gVHJhY2siKSxuazpYKCJBVVRPTkFWX1RPR0dMRSIpLG1DOlgoIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIiksbkM6WCgiQVVUT1BMQVlfUEFVU0VEIiksb0M6WCgiQVVUT1BMQVlfUExBWV9OT1ciKSwKT3M6WCgiQVVUT1BMQVlfVVBfTkVYVF9JTiIpLFBzOlgoIkFVVE9fWk9PTSIsIkF1dG8gem9vbSIpLEJBQ0s6WCgiQkFDSyIpLHFDOlgoIkJSQU5ERURfU0lHTl9JTl9ESUFMT0dfREVTQ1JJUFRJT04iLCJBY2Nlc3MgYWxsIGZlYXR1cmVzIGFuZCBnZXQgYSBzZWFtbGVzcyBleHBlcmllbmNlIiksQ0FOQ0VMOlgoIkNBTkNFTCIpLHVDOlgoIkNIQU5ORUxfU1dJVENIRVJfTEFCRUwiKSxDTE9TRTpYKCJDTE9TRSIsImNsb3NlIiksUnM6WCgiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIiksU3M6WCgiQ0xPU0VEX0NBUFRJT05TX09GRiIpLFRzOlgoIkNMT1NFRF9DQVBUSU9OU19PTiIpLFVzOlgoIkNMT1NFRF9DQVBUSU9OU19PTl9MQU5HVUFHRSIpLHhDOlgoIkNMT1NFX1NFQVJDSF9MQUJFTCIpLHlDOlgoIkNMT1NFX1NFVFRJTkdTX0xBQkVMIiksekM6WCgiQ09NTUVOVF9NT0RBTF9DT05URU5UIiksV3M6WCgiQ09ORklSTV9PSyIpLEFDOlgoIkNPTk5FQ1RfVE9fVEhFX0lOVEVSTkVUIiksClhzOlgoIkNPUElFRF9UT19DTElQQk9BUkQiKSxZczpYKCJDT1BZIiksVG46WCgiQ09QWV9ERUJVR19JTkZPIiksWnM6WCgiQ09QWV9FTUJFRF9DT0RFIiksQ0M6WCgiQ09QWV9MSU5LX0xBQkVMIiksYnQ6WCgiQ09QWV9WSURFT19VUkwiKSxmdDpYKCJDT1BZX1ZJREVPX1VSTF9BVF9DVVJSRU5UX1RJTUUiKSxEQzpYKCJDUkVBVEVfQ0hBTk5FTF9USVRMRSIpLElDOlgoIkRFTEVURV9GUk9NX0RPV05MT0FEUyIpLFhuOlgoIkRJQUxPRyIpLERPTkU6WCgiRE9ORSIpLE5DOlgoIkRPV05MT0FEIiksa3Q6WCgiRkFJTEVEX0NPUFlfRVJST1JfTUVTU0FHRSIpLGJEOlgoIkZMQUdfQ09ORklSTSIpLGNEOlgoIkZMQUdfQ09OVEVOVCIpLGREOlgoIkZMQUdfTEFCRUwiKSxlRDpYKCJGTEFHX1RJVExFIiksZkQ6WCgiRlVMTFNDUkVFTl9HRU5FUklDX0VSUk9SIiksVkU6WCgiR0lGVFMiLCJHaWZ0cyIpLFdFOlgoIkdPT0dMRV9DT01QQU5ZIiksbXQ6WCgiSElERV9QTEFZRVJfQ09OVFJPTFMiLAoiSGlkZSBwbGF5ZXIgY29udHJvbHMiKSxZRTpYKCJISURFX1BMQVlMSVNUX1ZJREVPUyIpLFpFOlgoIkhJREVfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxIT01FOlgoIkhPTUUiLCJIb21lIiksZEY6WCgiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCIpLGdGOlgoIkxFQVZFX0FfQ09NTUVOVF9USVRMRSIsIkxlYXZlIGEgY29tbWVudD8iKSxoRjpYKCJMSUJSQVJZIiwiTGlicmFyeSIpLGtGOlgoIkxJU1RFTklORyIpLExPQURJTkc6WCgiTE9BRElORyIpLGxGOlgoIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIiwiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIpLHV0OlgoIkxPT1AiKSxvRjpYKCJNRU5VX0RFU0tUT1AiKSxwRjpYKCJNRU5VX0VYSVQiKSxxRjpYKCJNRU5VX0ZFRURCQUNLIiksckY6WCgiTUVOVV9IRUxQIiksc0Y6WCgiTUVOVV9JTVBSRVNTVU0iKSx2dDpYKCJNRU5VX1BMQVlFUl9TRVRUSU5HUyIpLHRGOlgoIk1FTlVfU0VUVElOR1MiKSx1RjpYKCJNRU5VX1NJR05fSU4iKSwKdkY6WCgiTUVOVV9USVRMRSIpLHdGOlgoIk1FTlVfWU9VUl9EQVRBIiksQUY6WCgiTU9SRV9JTkZPIiksd3Q6WCgiTU9SRV9PUFRJT05TIiksYm86WCgiTU9SRV9WSURFT1MiLCJNb3JlIHZpZGVvcyIpLHh0OlgoIk1PUkVfVklERU9TX0NMT1NFX0JVVFRPTl9BUklBX0xBQkVMIiwiSGlkZSBtb3JlIHZpZGVvcyIpLHp0OlgoIk1PUkVfVklERU9TX0ZST01fQ0hBTk5FTCIsIk1vcmUgdmlkZW9zIGZyb20gJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIpLGVvOlgoIk1PUkVfVklERU9TX05FWFRfQlVUVE9OX0FSSUFfTEFCRUwiLCJOZXh0IHZpZGVvcyIpLGZvOlgoIk1PUkVfVklERU9TX1BSRVZJT1VTX0JVVFRPTl9BUklBX0xBQkVMIiwiUHJldmlvdXMgdmlkZW9zIiksQXQ6WCgiTVVURV9WT0xVTUUiKSxDRjpYKCJORVdfUExBWUxJU1QiKSxERjpYKCJORVhUX1ZJREVPIiksQ3Q6WCgiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiKSxGRjpYKCJOT1RfRk9VTkRfQ1RBIiksR0Y6WCgiTk9UX0ZPVU5EX01FU1NBR0UiKSwKSEY6WCgiTk9UX0ZPVU5EX1RJVExFIiksSUY6WCgiTk9fRE9XTkxPQURTIiksSkY6WCgiTk9fTUlDX0lOUFVUIiksS0Y6WCgiT0ZGTElORV9DSEVDS19DT05ORUNUSU9OIiksRHQ6WCgiT09QU19NRVNTQUdFIiksTUY6WCgiT1BFTl9BUFAiKSxORjpYKCJPUEVOX1lPVVRVQkUiKSxPRjpYKCJPUEVOX1lPVVRVQkVfQVBQIiwiT3BlbiBZb3VUdWJlIGFwcCIpLFBBVVNFOlgoIlBBVVNFIiksVUY6WCgiUExBWSIpLEV0OlgoIlBMQVlFUl9DQVBUSU9OIiksRnQ6WCgiUExBWUVSX0NBUFRJT05fT0ZGIiksVkY6WCgiUExBWUVSX0NBUFRJT05fT04iKSxHdDpYKCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIiksV0Y6WCgiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0VFSyIpLFhGOlgoIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiKSxIdDpYKCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIiksSXQ6WCgiUExBWUVSX0ZBU1RGT1JXQVJEX1NFQ09ORFMiKSwKSnQ6WCgiUExBWUVSX0ZVTExTQ1JFRU4iKSxsbzpYKCJQTEFZRVJfTElWRV9MQUJFTCIpLFlGOlgoIlBMQVlFUl9MSVZFX05PVyIpLFpGOlgoIlBMQVlFUl9NSU5JTUlaRSIpLEt0OlgoIlBMQVlFUl9ORVhUIiksTHQ6WCgiUExBWUVSX1BBVVNFIiksUGc6WCgiUExBWUVSX1BMQVkiKSxNdDpYKCJQTEFZRVJfUFJFVklPVVMiKSxhRzpYKCJQTEFZRVJfUFJPR1JFU1NfQkFSIiksTnQ6WCgiUExBWUVSX1FVQUxJVFkiKSxPdDpYKCJQTEFZRVJfUVVBTElUWV9BVVRPIiksUHQ6WCgiUExBWUVSX1JFUExBWSIpLFF0OlgoIlBMQVlFUl9SRVdJTkRfU0VDT05EUyIpLG1vOlgoIlBMQVlFUl9TUEVFRCIpLGJHOlgoIlBMQVlFUl9TUEVFRFVQX1VTRVJfRURVIiksUnQ6WCgiUExBWUVSX1NQRUVEX0RFQ1JFQVNFIiksU3Q6WCgiUExBWUVSX1NQRUVEX0lOQ1JFQVNFIiksbm86WCgiUExBWUVSX1NQRUVEX05PUk1BTCIpLFR0OlgoIlBMQVlFUl9TUEVFRF9SRUNFTlQiKSxVdDpYKCJQTEFZRVJfVElNRV9EVVJBVElPTiIpLApWdDpYKCJQTEFZRVJfVElNRV9FTEFQU0VEIiksY0c6WCgiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIiksZEc6WCgiUExBWUxJU1RfTUlYX0RFVEFJTEVEX0xPTkdfQllMSU5FIiksZUc6WCgiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiKSxmRzpYKCJQTEFZTElTVF9OQU1FX01JU1NJTkciKSxnRzpYKCJQTEFZTElTVF9OQU1FX1RPT19MT05HIiksaEc6WCgiUExBWUxJU1RfUEFORUxfRU5EX09GX1BMQVlMSVNUIiksaUc6WCgiUExBWUxJU1RfUEFORUxfTkVYVCIpLGpHOlgoIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIiksa0c6WCgiUExBWUxJU1RfVEVYVF9JTlBVVF9DSEFSX0NPVU5UIiksbEc6WCgiUExBWV9BTEwiKSxtRzpYKCJQTEVBU0VfRklYX0VSUk9SUyIpLFh0OlgoIlBSRU1JVU1fQkFER0VfTEFCRUwiLCJQcmVtaXVtIiksbkc6WCgiUFJFVklPVVNfVklERU8iKSxvRzpYKCJQUklWQUNZX1BPTElDWSIpLHJHOlgoIlJFTE9BRCIpLApzRzpYKCJSRVFVSVJFRF9MQUJFTCIpLHlHOlgoIlNBVkVfUExBWUxJU1QiKSxBRzpYKCJTQ1JVQl9TTElERV9VU0VSX0VEVSIpLENHOlgoIlNFQVJDSCIsIlNlYXJjaCIpLERHOlgoIlNFQVJDSF9BUFBFTkRfTEFCRUwiKSxFRzpYKCJTRUFSQ0hfQ0hBTk5FTCIpLEZHOlgoIlNFQVJDSF9DTEVBUl9MQUJFTCIpLEdHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTV9OT19BUlRJU1QiLCJBbGJ1bSIpLEhHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9NT1ZJRSIsIk1vdmllIiksSUc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1NPTkdfTk9fQVJUSVNUIiwiU29uZyIpLEpHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9UVl9TSE9XIiwiVFYgU2hvdyIpLEtHOlgoIlNFQVJDSF9GSUxURVJTX0xBQkVMIiksTEc6WCgiU0VBUkNIX0xBQkVMIiksTUc6WCgiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIiksTkc6WCgiU0VFS19TTElERVIiKSxPRzpYKCJTRVRUSU5HU19MQUJFTCIpLApQRzpYKCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiIpLFNHOlgoIlNIT1JUU19UQUJfTEFCRUwiLCJTaG9ydHMiKSxURzpYKCJTSE9XX0xFU1MiKSxVRzpYKCJTSE9XX01PUkUiKSxadDpYKCJTSE9XX1BMQVlFUl9DT05UUk9MUyIsIlNob3cgcGxheWVyIGNvbnRyb2xzIiksVkc6WCgiU0hPV19QTEFZTElTVF9WSURFT1MiKSxXRzpYKCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIiksYXU6WCgiU0lHTl9JTl9MQUJFTCIpLFpHOlgoIlNJR05fSU5fT05fV0VCIikseWs6WCgiU1RBQkxFX1ZPTFVNRSIpLGpIOlgoIlNUQUJMRV9WT0xVTUVfT0ZGIiksa0g6WCgiU1RBQkxFX1ZPTFVNRV9PTiIpLGJ1OlgoIlNUQVRTX0ZPUl9ORVJEUyIpLGxIOlgoIlNVR0dFU1RJT05fRElTTUlTU0VEX0xBQkVMIiksbUg6WCgiU1VHR0VTVElPTl9ESVNNSVNTX0xBQkVMIiksbkg6WCgiU1VHR0VTVElPTl9ORVdfVklERU9TX1RFWFQiKSxvSDpYKCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9MQUJFTCIsCiJWaWV3IGltYWdlIHNvdXJjZSIpLHBIOlgoIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIikscUg6WCgiVEVSTVNfT0ZfU0VSVklDRSIpLHJIOlgoIlRJTUVTVEFNUF9NSU5VVEVTIiksc0g6WCgiVElNRVNUQU1QX1NFQ09ORFMiKSx0SDpYKCJUT0dHTEVfT0ZGIiksdUg6WCgiVE9HR0xFX09OIiksdkg6WCgiVFJFTkRJTkciKSxkdTpYKCJUUk9VQkxFU0hPT1RfUExBWUJBQ0tfSVNTVUUiKSxldTpYKCJUUllfQUdBSU5fTEFURVIiKSx3SDpYKCJUUllfQUdBSU5fTUlDX1BFUk1JU1NJT04iKSx4SDpYKCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSIpLHlIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19ERVNDUklQVElPTiIpLHpIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19USVRMRSIpLGd1OlgoIlVOTVVURV9WT0xVTUUiKSxzbzpYKCJWSURFT19MSU5LX0xBQkVMIil9O18uTGhhPU9iamVjdC5mcmVlemU/T2JqZWN0LmZyZWV6ZShPYmplY3QuY3JlYXRlKG51bGwpKTp7fTtfLk5OPSgpPT57fTt3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz8uYmluZCh3aW5kb3cpO18uWk49Xy5MKGE9Pnt2YXIge2xhYmVsOmIsb25jbGljazpjLHNob3dTcGlubmVyOmQsdGk6ZSxlbmdhZ2VtZW50UGFuZWw6ZixLeDpoLERwOmsscmVsYXRpdmU6bCxvcGFjaXR5Om19PV8uREMoYSx7c2hvd1NwaW5uZXI6ITEsUks6ITEsdGk6ITEsZW5nYWdlbWVudFBhbmVsOiExLERwOiExLHJlbGF0aXZlOiExLEt4OiExLG9wYWNpdHk6dm9pZCAwfSk7cmV0dXJuIF8uSygieXR3LXNjcmltIix7Y2xhc3M6Xy5QKCJ5dFdlYlNjcmltSG9zdCIsInl0V2ViU2NyaW1Ib3N0TW9kZXJuT3ZlcmxheSIse3l0V2ViU2NyaW1Ib3N0Qm90dG9tU2hlZXQ6ZSx5dFdlYlNjcmltSG9zdEVuZ2FnZW1lbnRQYW5lbDooKT0+IWUoKSYmZigpLHl0V2ViU2NyaW1Ib3N0RHJhZ2dhYmxlRW5nYWdlbWVudFBhbmVsOigpPT4hZSgpJiZmKCkmJmgoKSx5dFdlYlNjcmltSG9zdERyYXdlckxheW91dDooKT0+IWUoKSYmIWYoKSYmaygpLHl0V2ViU2NyaW1Ib3N0UmVsYXRpdmU6bH0pLCJvbjpjbGljayI6Yywib246dG91Y2htb3ZlIjpmdW5jdGlvbihuKXtuLnByZXZlbnREZWZhdWx0KCk7Cm4uc3RvcFByb3BhZ2F0aW9uKCl9LHN0eWxlOigpPT5tKCkhPT12b2lkIDA/YGJhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAke20oKX0pO2A6IiJ9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFdlYlNjcmltRGlhbG9nQ29udGFpbmVyIn0sXy5LKF8uWkwsbnVsbCkpfSksXy5LKCJidXR0b24iLHtjbGFzczoieXRXZWJTY3JpbUhpZGRlbkJ1dHRvbiIsImFyaWEtbGFiZWwiOmJ9KSl9LCJjYiIpO3ZhciBGTixFTixJTixHTixMTixITixraGE7Rk49MDtFTj1uZXcgTWFwO0lOPW51bGw7R049bnVsbDtMTj0hMTtfLkROPVtdO0hOPSFfLngoImNhbmNlbF9tb2RhbF9wZW5kaW5nX2FuaW1hdGlvbnNfa2lsbHN3aXRjaCIpO2toYT0hXy54KCJyZXNob3dfbmVzdGVkX21vZGFsX3NpYmxpbmdzX2tpbGxzd2l0Y2giKTt2YXIgck87Cl8uc089Xy5MKCh7dHE6YX0pPT57ZnVuY3Rpb24gYihHKXtpZigoYSgpJiZkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudHx8IWEoKSYmIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSYmRyl7dmFyIEQ9Ry5RayxIPUcudmlld01vZGVsO2sudmFsdWU/RihHKTpEPy5pc0Rpc2FibGVkJiZEPy5kaXNhYmxlZENvbW1hbmQ/KENOKCEwKSxfLkFKKEQuZGlzYWJsZWRDb21tYW5kLGgudmFsdWUsITEpKTood2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2JvdHRvbS1zaGVldCImJl8uJE0oImJvdHRvbS1zaGVldCIsITApLGsudmFsdWU9ITAsZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImJvdHRvbS1zaGVldC1vcGVuIiwiIiksXy5vTSgpLmRpc3BhdGNoKGJOKCEwKSksck89Xy5tRygpLHAoRCksdihIKSxDTighMCksaC52YWx1ZXx8Xy5JcChFcnJvcigiRmQiKSksXy5KTihoLnZhbHVlLEQ/LmZvY3VzT25DbG9zZSwhMCkpfX1mdW5jdGlvbiBjKCl7ay52YWx1ZSYmKGsudmFsdWU9ITEsZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoImJvdHRvbS1zaGVldC1vcGVuIiksCm4oKT8uR2g/LigpLHJPPXZvaWQgMCxwKHZvaWQgMCksdih2b2lkIDApLENOKCExKSxfLktOKGgudmFsdWUpLF8ub00oKS5kaXNwYXRjaChiTighMSkpKX1mdW5jdGlvbiBkKCl7ay52YWx1ZSYmd2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2JvdHRvbS1zaGVldCImJmMoKX1hc3luYyBmdW5jdGlvbiBlKCl7YXdhaXQgXy5GSjt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjYm90dG9tLXNoZWV0IiYmKGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fHxfLllNP18uJE0oIiIsITApOmF3YWl0IF8uWk0oKSxkKCkpO0EoKSYmKGIoQSgpKSxGKHZvaWQgMCkpfWZ1bmN0aW9uIGYoRyl7Xy56TigpO0cuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGg9Xy51RSgiYm90dG9tLXNoZWV0LWNvbnRhaW5lciIpLGs9Xy51TSghMSksW2wsbV09Xy5KKHZvaWQgMCx2b2lkIDAsInZXdVhrYiIpLG49bCxwPW0sW3IsdF09Xy5KKHZvaWQgMCx2b2lkIDAsIkJmUkFMYiIpLHY9dCxbeixFXT1fLkoodm9pZCAwLHZvaWQgMCwKInk3dE5sYyIpLEE9eixGPUUsQz0oKT0+ISghbigpJiYhcigpKTtfLlVKKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGQpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IixjKTtfLnkoKS5yZXNvbHZlKF8uY0wpLlB6KHt3ZzpHPT57RyYmYih7dmlld01vZGVsOkcudmlld01vZGVsLFFrOkcuUWt9KX0sSmU6YXN5bmMoKT0+e2F3YWl0IGUoKX0sZG06YXN5bmMoKT0+ISFfLnhOKCksWHA6KCk9PmgudmFsdWUsb3c6Rz0+R30sYSgpKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IixjKX0pfSk7cmV0dXJuIF8uSygiYm90dG9tLXNoZWV0LWNvbnRhaW5lciIse2VsOmgscm9sZToiZGlhbG9nIixoaWRkZW46KCk9PiFDKCksImFyaWEtbW9kYWwiOiEwLCJhcmlhLWxhYmVsIjooKT0+bigpPy5oZWFkZXJUaXRsZT8KbigpLmhlYWRlclRpdGxlOl8uJE4uWG59LF8uSyhfLk8se0E6Qyx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLlpOLHtsYWJlbDpfLiROLkNMT1NFLG9uY2xpY2s6Xy56Tix0aTohMH0pLF8uSyhfLk8se0E6cix0aGVuOkc9Pl8uSyhsTyx7ZGF0YTpHfSksVzooKT0+Xy5LKF8uTyx7QTpuLHRoZW46Rz0+Xy5wRyhyT3x8e30sKCk9Pl8uSyhqTyx7SGE6KCk9PkcoKS5IYSxwZjooKT0+RygpLnBmLEdrOigpPT5HKCkuR2ssR2g6KCk9PkcoKS5HaCxmb2N1c09uQ2xvc2U6KCk9PkcoKS5mb2N1c09uQ2xvc2UsaXNEaXNhYmxlZDooKT0+RygpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5HKCkuZGlzYWJsZWRDb21tYW5kLFVlOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuVWV9KSxqaDooKT0+ISFHKCkuVWUsR2I6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5HYn0pLFhpOigpPT4hIUcoKS5HYixTZTooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+CkcoKS5TZX0pLGhoOigpPT4hIUcoKS5TZSxoZWFkZXJUaXRsZTooKT0+RygpLmhlYWRlclRpdGxlLGhlYWRlclN1YnRpdGxlOigpPT5HKCkuaGVhZGVyU3VidGl0bGUsV2Y6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5XZn0pLGloOigpPT4hIUcoKS5XZixOZjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLk5mfSksVWY6KCk9PiEhRygpLk5mLE9mOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuT2Z9KSxWZjooKT0+ISFHKCkuT2YsUmU6KCk9PkcoKS5SZSxNZjooKT0+RygpLk1mLFBmOigpPT5HKCkuUGZ9KSl9KX0pLF8uSygiYnV0dG9uIix7Y2xhc3M6ImNsb3NlLWJ1dHRvbiIsImFyaWEtbGFiZWwiOl8uJE4uQ0xPU0UsIm9uOmNsaWNrIjpmfSkpfSkpfSwiZGIiKTtfLnNPLmlkb21Db21wYXQ9ITA7Xy50Tz1fLkwoKHthcmlhTGFiZWw6YSxVSDpiLGFyaWFQcmVzc2VkOmMsYXJpYUV4cGFuZGVkOmQsYXJpYURpc2FibGVkOmUsY2xhc3NOYW1lOmYsY29udGVudDpoLGJxOmssaWQ6bCxuYW1lOm0sb25jbGljazpuLG9udG91Y2hzdGFydDpwLG9udG91Y2htb3ZlOnIsb250b3VjaGVuZDp0LGJ4OnZ9KT0+e3Y9Xy51RSgiYnV0dG9uIix2KTtyZXR1cm4gXy5LKCJidXR0b24iLHtpZDpsLGNsYXNzOl8uUCgiaWNvbi1idXR0b24iLGYpLGVsOnYsImFyaWEtbGFiZWwiOmEsImFyaWEtbGFiZWxsZWRieSI6YiwiYXJpYS1wcmVzc2VkIjpjLCJhcmlhLWV4cGFuZGVkIjpkLCJhcmlhLWhhc3BvcHVwIjprLCJhcmlhLWRpc2FibGVkIjplLCJvbjpjbGljayI6biwib246dG91Y2hzdGFydCI6bE4ocCksIm9uOnRvdWNobW92ZSI6bE4ociksIm9uOnRvdWNoZW5kIjpsTih0KX0sXy5LKF8uTyx7QTooKT0+ISFoLHRoZW46KCk9Pmg/LigpLFc6KCk9Pl8uSyhfLk1ELHtpY29uOm19KX0pKX0sImViIik7Cl8udE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntjb250ZW50OiEwLG9uY2xpY2s6ITAsb250b3VjaHN0YXJ0OiEwLG9udG91Y2htb3ZlOiEwLG9udG91Y2hlbmQ6ITAsYng6ITB9fTt2YXIgUk4sUE4sT047Uk49ITA7ClBOPXtBVkFUQVJfQ0lSQ0xFX0JMVUU6IkFWQVRBUl9MT0dHRURfT1VUIixCQUNLOiJBUlJPV19CQUNLIixCTE9DS19VU0VSOiJCTE9DSyIsQlJPQURDQVNUOiJwb2RjYXN0IixDQVBUSU9OUzoiQ0xPU0VEX0NBUFRJT04iLENIRUNLX0JMVUU6IkNIRUNLIixDSEVDS19DSVJDTEVfRklMTEVEOiJDSEVDS19DSVJDTEVfRklMTEVEIixDSEVDS19DSVJDTEVfVEhJQ0s6IkNIRUNLX0NJUkNMRV9PVVRMSU5FIixDT1VSU0U6ImxpZ2h0YnVsYiIsRElTTElLRV9DT01NRU5UOiJESVNMSUtFIixESVNMSUtFX0NPTU1FTlRfRklMTEVEOiJESVNMSUtFX0ZJTExFRCIsRElTTElLRV9TRUxFQ1RFRDoiRElTTElLRV9GSUxMRUQiLERJU01JU1NBTF9CTEFDSzoiRElTTUlTU0FMIixFWFBBTkRfTU9SRToiRVhQQU5EIixGQVNISU9OX0xPR086ImZhc2hpb24iLEdBTUlORzoiZ2FtaW5nIixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHRUFSOiJTRVRUSU5HUyIsSEVMUDoiSEVMUF9PVVRMSU5FIixMSUtFX0NPTU1FTlQ6IkxJS0UiLApMSUtFX0NPTU1FTlRfRklMTEVEOiJMSUtFX0ZJTExFRCIsTElLRV9TRUxFQ1RFRDoiTElLRV9GSUxMRUQiLExJVkU6IlJBREFSX0xJVkUiLExPR086IllPVVRVQkUiLE1PUkVfQ0hFVlJPTjoiRVhQQU5EIixNT1JFX1ZFUlRfV0hJVEU6Ik1PUkVfVkVSVCIsTVVTSUM6ImF1ZGlvIixNVVNJQ19GSUxMRUQ6ImF1ZGlvX2ZpbGxlZCIsTkVXUzoibmV3cyIsT0ZGSUNJQUxfQVJUSVNUX0JBREdFOiJhdWRpbyIsUExBWUFCTEVTX0xPR086InRpY190YWNfdG9lIixQTEFZRVJfTkVYVDoiU0tJUF9ORVhUX0ZJTExFRCIsUExBWUVSX1BBVVNFOiJQQVVTRV9GSUxMRUQiLFBMQVlFUl9QTEFZOiJQTEFZX0FSUk9XX0ZJTExFRCIsUExBWUVSX1BSRVZJT1VTOiJTS0lQX1BSRVZJT1VTX0ZJTExFRCIsUExBWUVSX1JFUExBWToiUkVQTEFZIixQTEFZX0FMTDoiUExBWV9BUlJPV19GSUxMRUQiLFJFTU9WRToiRElTTUlTU0FMIixTSE9SVFNfRElTTElLRToic2hvcnRzX3RodW1ic19kb3duIixTSE9SVFNfTElLRToic2hvcnRzX3RodW1ic191cCIsClNQT05TT1JTSElQX1NUQVI6IlNQT05TT1JTSElQX1NUQVJfRklMTEVEIixUQUJfQUNDT1VOVDoiQVZBVEFSX0xPR0dFRF9PVVQiLFRBQl9UUkVORElORzoiZmlyZSIsVEFCX1RSRU5ESU5HX0ZJTExFRDoiZmlyZV9maWxsZWQiLFRSRU5ESU5HOiJmaXJlIixUUk9QSFk6InRyb3BoeSIsVk9MVU1FX0RPV05fT1VUTElORToiVk9MVU1FX0RPV04iLFZPTFVNRV9VUDoiVk9MVU1FX1VQX0ZJTExFRCIsVk9MVU1FX1VQX09VVExJTkU6IlZPTFVNRV9VUCIsWU9VVFVCRV9MT0dPOiJMT0dPX1dJVEhfVEVYVCIsWU9VVFVCRV9QUkVNSVVNX0xPR086IllPVVRVQkVfUFJFTUlVTV9MT0dPX1NIT1JUIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoieW91dHViZV9zaG9ydHNfbm9fdHJpYW5nbGVfZmlsbGVkIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZV9maWxsZWQifTsKT049e0xPR086IkxPR08iLFBMQVlBQkxFU19MT0dPOiJwbGF5YWJsZXMiLFNIT1JUU19ESVNMSUtFOiJ0aHVtYl9kb3duIixTSE9SVFNfTElLRToidGh1bWJfdXAiLFRBQl9UUkVORElORzoidHJlbmRpbmciLFRBQl9UUkVORElOR19GSUxMRUQ6InRyZW5kaW5nX2ZpbGxlZCIsVFJFTkRJTkc6InRyZW5kaW5nIn07Cl8udU89Xy5MKCh7aWNvbjphLGFjdGl2ZTpiLGNsYXNzTmFtZTpjLHN0eWxlOmQseXA6ZSxoYzpmLHJvbGU6aCxHZTprLEhjOmwsYXJpYUhpZGRlbjptLGFyaWFFeHBhbmRlZDpuLGFyaWFMYWJlbDpwLGlkOnIsYWc6dCxzaXplOnZ9KT0+e25oYSgpO3ZhciB6PSgpPT5RTihhPy4oKSksRT1fLk4oKCk9PnthOnt2YXIgRj1RTihhPy4oKSksQz1iPy4oKTt2YXIgRz12Py4oKTtpZihGKXt2YXIgRD1fLnkoKS5yZXNvbHZlKF8uWEwpLEg9Ri50b0xvd2VyQ2FzZSgpO0Y9e2ljb25OYW1lOkgsaWNvblN0eWxlOkguZW5kc1dpdGgoIl9maWxsZWQiKXx8Ri5lbmRzV2l0aCgiX29uIil8fEM/InlvdXR1YmVfZmlsbCI6dm9pZCAwLGljb25TaXplOkd9O0M9RC5qKEYpOyFDJiZHJiYoRi5pY29uU2l6ZT12b2lkIDAsQz1ELmooRikpOyFDJiZILmVuZHNXaXRoKCJfZmlsbGVkIikmJihGLmljb25OYW1lPUguc3Vic3RyaW5nKDAsSC5sZW5ndGgtNyksQz1ELmooRikpO0N8fChGLmljb25TdHlsZT12b2lkIDAsCkM9RC5qKEYpKTtpZihDKXtHPUY7YnJlYWsgYX1fLklwKG5ldyBfLlhqKCJJY29uIG5vdCBzdXBwb3J0ZWQiLHtpY29uTmFtZTpGLmljb25OYW1lfSkpfUc9dm9pZCAwfXJldHVybiBHfSx2b2lkIDAsIk02WGtHYiIpLEE9KCk9Pih7aWNvbldpZHRoOiIxMDAlIixpY29uSGVpZ2h0OiIxMDAlIixhZzp0Py4oKX0pO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5RTihhPy4oKSkmJms/LigpJiZiPy4oKSE9PXZvaWQgMCYmT2JqZWN0LnZhbHVlcyhBaGEpLmluY2x1ZGVzKFFOKGE/LigpKXx8IiIpfSwoKT0+Xy5LKF8udE0se2FuaW1hdGVkSWNvblR5cGU6eixhY3RpdmU6KCk9PiEhYj8uKCksSGM6bCxzaXplOnYsSEE6KCk9Pl8uSyhfLnVPLHtpY29uOmEsYWN0aXZlOmIsR2U6ITF9KX0pKSxfLksoXy5DRSx7d2hlbjooKT0+UU4oYT8uKCkpJiZFKCl9LCgpPT5fLksoImMzLWljb24iLHtjbGFzczpjLHN0eWxlOmQscm9sZTpoLCJkYXRhLXNlbGVjdGVkIjplLCJkYXRhLWRpc2FibGVkIjpmLAoiZmlsbC1pY29uIjooKT0+Yj8uKCk9PT0hMCxpZDpyLCJpY29uLXN0YXRlLW91dGxpbmUiOigpPT5iPy4oKT09PSExPyIiOnZvaWQgMCwiaWNvbi1zdGF0ZS1maWxsZWQiOigpPT5iPy4oKT09PSEwPyIiOnZvaWQgMCwiYXJpYS1oaWRkZW4iOm0sImFyaWEtZXhwYW5kZWQiOm4sImFyaWEtbGFiZWwiOnB9LF8uSyhfLllMLHtkYXRhOigpPT5FKCksb3B0aW9uczpBfSkpKSl9LCJmYiIpO18udU8uaWRvbUNvbXBhdD0hMDtfLkwoKHtuYW1lOmEsbGFiZWw6YixvbmNsaWNrOmMsYnE6ZCxyb2xlOmV9KT0+Xy5LKCJkaXYiLHtjbGFzczoiaWNvbi1idXR0b24iLHJvbGU6ZSwiYXJpYS1sYWJlbCI6YiwiYXJpYS1oYXNwb3B1cCI6ZCwib246Y2xpY2siOmN9LF8uSyhfLnVPLHtpY29uOmF9KSksImdiIikuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbmNsaWNrOiEwfX07CnZhciBKaGE9ImFsaWduX2xlZnQgYXJyb3dfbGVmdCBmbGFnIGhvbWUgbG9nb193aXRoX3RleHQgbWVzc2FnZV9idWJibGVfYWxlcnQgbWljIG9wZW5fbmV3IG92ZXJmbG93X2hvcml6b250YWwgb3ZlcmZsb3dfdmVydGljYWwgcGxheV9jaXJjbGVfc2hvcnRzIHNlYXJjaCBzaG9ydHNfY29tbWVudCBzaG9ydHNfc2hhcmUgc2hvcnRzX3RodW1ic19kb3duIHNob3J0c190aHVtYnNfdXAgd2F2ZWZvcm0geF9tYXJrIHlvdXR1YmVfc2hvcnRzIHlvdXR1YmVfc2hvcnRzX2JyYW5kXzI0Ii5zcGxpdCgiICIpLEloYT0iYWxlcnRfYnViYmxlIGFycm93X2xlZnQgYXJyb3dfdXBfcmlnaHQgZmxhZyBob21lIGxvZ29fd2l0aF90ZXh0IG1pYyBvdmVyZmxvd19ob3Jpem9udGFsIG92ZXJmbG93X3ZlcnRpY2FsIHBsYXlfY2lyY2xlX3Nob3J0cyBzZWFyY2ggc2hhcmUgc2hvcnRzIHRleHRfYWxpZ25fbGVmdCB0ZXh0X2J1YmJsZSB0aHVtYl9kb3duIHRodW1iX3VwIHdhdmVmb3JtIHggeW91dHViZV9zaG9ydHNfYnJhbmRfMjQiLnNwbGl0KCIgIik7Xy52Tz1fLkwoYT0+e3ZhciB7aWNvblR5cGU6YixsYWJlbDpjLGFyaWFMYWJlbDpkLGFyaWFQcmVzc2VkOmUsZGlzYWJsZWQ6ZixvbmNsaWNrOmgsc3R5bGU6ayxWbDpsLExtOm0sT3g6bixiYXNpY0NvbG9yUGFsZXR0ZURhdGE6cCxkYXRhOnIsYXJpYUhpZGRlbjp0fT1fLkRDKGEse2ljb25UeXBlOiIiLFZsOiExLExtOiIiLE94OiExLGFyaWFIaWRkZW46ITF9KTtfLnVFKCJkaXYiLHY9PntyPy4oKSYmbWhhKHYscj8uKCkpfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJidXR0b24td2l0aC1pY29uIGJ1dHRvbi1yZW5kZXJlciBjb21wYWN0IixtKSxzdHlsZTooKT0+e3ZhciB2O2lmKHY9cD8uKCkpe3ZhciB6PSIiLEU7Zm9yKEUgaW4gdil7aWYoIXYuaGFzT3duUHJvcGVydHkoRSkpY29udGludWU7bGV0IEE9dltFXSxGPUUuaW5jbHVkZXMoImZvcmVncm91bmQiKT8iY29sb3IiOlN0cmluZyhFKS5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCk7QSYmCih6Kz1gJHtGfToke18uTkQoQSl9O2ApfXY9en1lbHNlIHY9dm9pZCAwO3JldHVybiB2Py50b1N0cmluZygpfSwiZGF0YS1zdHlsZSI6KCk9PnR5cGVvZiBrPy4oKT09PSJzdHJpbmciP2soKTprPy4oKT8uc3R5bGVUeXBlLCJkYXRhLWljb24tb25seSI6KCk9PiFjPy4oKSwiaXMtYnVzeSI6bCwiYXJpYS1idXN5IjpsLCJhcmlhLWhpZGRlbiI6dH0sXy5LKCJidXR0b24iLHtjbGFzczoiYnV0dG9uLXdpdGgtaWNvbi1idXR0b24iLCJvbjpjbGljayI6ZnVuY3Rpb24odil7aD8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9LGRpc2FibGVkOmYsImFyaWEtbGFiZWwiOigpPT5kPy4oKXx8IiIsImFyaWEtcHJlc3NlZCI6KCk9PmU/LigpPz92b2lkIDB9LF8uSygiZGl2Iix7Y2xhc3M6ImJ1dHRvbi13aXRoLWljb24taW5uZXIifSxfLksoXy5PLHtBOigpPT4hbj8uKCkmJmIoKSx0aGVuOigpPT5fLksoXy51Tyx7aWNvbjpiLGNsYXNzTmFtZToiYnV0dG9uLXJlbmRlcmVyLWljb24ifSl9KSxfLksoImRpdiIsCntjbGFzczoiYnV0dG9uLXJlbmRlcmVyLXRleHQifSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKF8uSUose2RhdGE6Y30pfSkpLF8uSyhfLk8se0E6KCk9Pm4oKSYmYigpLHRoZW46KCk9Pl8uSyhfLnVPLHtpY29uOmIsY2xhc3NOYW1lOiJidXR0b24tcmVuZGVyZXItaWNvbiJ9KX0pLF8uSyhfLk8se0E6bCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJidXR0b24td2l0aC1pY29uLXNwaW5uZXIgc3Bpbm5lciJ9KX0pKSkpfSwiaWIiKTtfLkhDW18uUkFbImRlZmF1bHQiXV09b2hhOyhmdW5jdGlvbigpe3ZhciBhPV8uY0I7Xy5jQj1iPT57YT8uKGIpO18uT0UoKCk9Pntmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKylUTihiW2NdKX0pfX0pKCk7Xy53Tz1fLkwoKHtjaGlsZHJlbjphLG9uY2xpY2s6Yixyb2xlOmMsSHk6ZH0pPT57dmFyIGU9Xy51RSgiYnV0dG9uIik7Xy5VSigoKT0+e2Q/LihlLnZhbHVlKX0pO3JldHVybiBfLksoInl0bS1tZW51LWl0ZW0iLG51bGwsXy5LKCJidXR0b24iLHtjbGFzczoibWVudS1pdGVtLWJ1dHRvbiIsZWw6ZSwib246Y2xpY2siOmIscm9sZTpjfSxhKSl9LCJqYiIpO18ud08uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbmNsaWNrOiEwLEh5OiEwfX07Xy5MKCh7dXJsOmEsbEs6YixjaGlsZHJlbjpjfSk9Pl8uSygieXRtLW1lbnUtaXRlbSIsbnVsbCxfLksoImEiLHtocmVmOmEsY2xhc3M6Im1lbnUtaXRlbS1idXR0b24iLHRhcmdldDooKT0+Yj8uKCk/Il9ibGFuayI6dm9pZCAwfSxjKSksImtiIikuaWRvbUNvbXBhdD0hMDsKXy5MKCh7Y29tbWFuZDphLGNoaWxkcmVuOmJ9KT0+Xy5LKCJ5dG0tbWVudS1pdGVtIixudWxsLF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCk/P3ZvaWQgMCxjbGFzc05hbWU6Im1lbnUtaXRlbS1idXR0b24ifSxiKSksImxiIikuaWRvbUNvbXBhdD0hMDt2YXIgVk4sV04sW1lOLHBoYV09Xy5KKG51bGwsdm9pZCAwLCJHQ0tnOGUiKSx4Tz1fLkwoKHtEaDphfSk9Pl8uSyhfLndPLG51bGwsXy5LKCJkaXYiLHtjbGFzczoibWVudS1jYW5jZWwtYnV0dG9uIn0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5UZCxjbGFzc05hbWU6Im1lbnUtY2FuY2VsLWljb24ifSksKCk9PmEoKS5jYW5jZWxCdXR0b25MYWJlbCkpLCJtYiIpLFhOPV8uTCgoe0RoOmEsY2hpbGRyZW46Yn0pPT57dmFyIGM9Xy51RSgiZGl2IiwoKT0+e30pO3JldHVybiBfLksoImRpdiIse2VsOmMsY2xhc3M6Xy5QKCJtZW51LWNvbnRlbnQiLHsibWVudS1ib3R0b20iOigpPT5hKCkubnEsIm1lbnUtc2hvdy1pY29ucyI6KCk9PmEoKS5IYXx8YSgpLm5xfHxhKCkuaXNGdWxsV2lkdGgsInJvdW5kZWQtY29udGFpbmVyIjooKT0+IWEoKS5pc0Z1bGxXaWR0aH0pLCJvbjpjbGljayI6ZnVuY3Rpb24oKXthKCkuU3d8fGEoKS5FSXx8Xy5VTigpfSxyb2xlOigpPT5hKCkuaXNGdWxsV2lkdGg/CnZvaWQgMDoiZGlhbG9nIiwiYXJpYS1tb2RhbCI6KCk9PiFhKCkuaXNGdWxsV2lkdGgsImFyaWEtbGFiZWxsZWRieSI6KCk9PmEoKS5WSH0sYixfLksoXy5PLHtBOigpPT4hYSgpLlN3LHRoZW46KCk9Pl8uSyhfLk8se0E6KCk9PiEhYSgpLm5xLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1tZW51LWNhbmNlbCJ9LF8uSyh4Tyx7RGg6YX0pKSxXOigpPT5fLksoeE8se0RoOmF9KX0pfSkpfSwibmIiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIixhTyk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGFPKTt2YXIgeU87eU89Xy5MKGE9Pnt2YXIgYj1hLmNoaWxkcmVuLGM9Xy5adHx8dm9pZCAwLGQ9Xy5tRygpO3JldHVybiBfLksoInl0bS1tZW51IixudWxsLGIoe29uQ2xpY2s6ZT0+e2Euc3RvcFByb3BhZ2F0aW9uPy4oKSYmZS5zdG9wUHJvcGFnYXRpb24oKTthLnByZXZlbnREZWZhdWx0Py4oKSYmZS5wcmV2ZW50RGVmYXVsdCgpO3FoYSh7Y29udGVudDphLmNvbnRlbnQsY2FuY2VsQnV0dG9uTGFiZWw6YS5jYW5jZWxCdXR0b25MYWJlbD8uKCksVGQ6YS5UZD8uKCksY2xhc3NOYW1lOmEuZGY/LigpLGZvY3VzT25DbG9zZTplLmN1cnJlbnRUYXJnZXQsSGE6YS5IYT8uKCksaXNEaXNhYmxlZDphLmlzRGlzYWJsZWQ/LigpLGRpc2FibGVkQ29tbWFuZDphLmRpc2FibGVkQ29tbWFuZD8uKCksb3duZXI6YyxGQTpkfSl9fSkpfSwicGIiKTsKXy56Tz1fLkwoYT0+Xy5LKHlPLHsuLi5hLGNvbnRlbnQ6YS5jaGlsZHJlbn0sKHtvbkNsaWNrOmJ9KT0+Xy5LKF8uTyx7QTooKT0+YS5idXR0b25PdmVycmlkZXM/LigpLHRoZW46Yz0+Xy5LKF8uSksse2RhdGE6KCk9Pih7b25UYXA6YixpY29uUG9zaXRpb246Imljb24tb25seSIsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHNpemU6Ik0iLHN0YXRlOiJhY3RpdmUiLGFjY2Vzc2liaWxpdHlMYWJlbDphLmxhYmVsPy4oKSwuLi5jKCl9KSxpY29uTmFtZTphLmljb25UeXBlfSksVzooKT0+Xy5LKF8udE8se25hbWU6YS5pY29uVHlwZSxhcmlhTGFiZWw6YS5sYWJlbCxjbGFzc05hbWU6Xy5QKGEuRmgse3NtYWxsOmEubGJ9KSxvbmNsaWNrOmIsYnE6ITB9KX0pKSwicWIiKTtfLnpPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Y2hpbGRyZW46ITB9fTsKXy5NaGE9Xy5MKGE9Pl8uSyh5Tyx7Li4uYSxjb250ZW50OmEuY2hpbGRyZW59LCh7b25DbGljazpifSk9Pl8uSyhfLk8se0E6KCk9PmEuYnV0dG9uT3ZlcnJpZGVzPy4oKSx0aGVuOmM9Pl8uSyhfLkpLLHtkYXRhOigpPT4oe29uVGFwOmIsaWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzaXplOiJNIixzdGF0ZToiYWN0aXZlIixhY2Nlc3NpYmlsaXR5TGFiZWw6YS5hcmlhTGFiZWw/LigpLFdhOmEubGFiZWw/LigpP18uQUYoYS5sYWJlbCgpKTp2b2lkIDAsLi4uYygpfSksaWNvbk5hbWU6YS5pY29uVHlwZX0pLFc6KCk9Pl8uSyhfLnZPLHtpY29uVHlwZTphLmljb25UeXBlLGxhYmVsOmEubGFiZWwsYXJpYUxhYmVsOmEuYXJpYUxhYmVsLGFyaWFQcmVzc2VkOiExLG9uY2xpY2s6YixzdHlsZTphLnN0eWxlLFZsOmEuVmwsTG06YS5hSX0pfSkpLCJyYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgT2hhLFBoYSxCTyxRaGEsUmhhLENPLFNoYSxHTyxITyxWaGEsVWhhLFdoYSxYaGEsWWhhLFpoYSxhaWEsUE8sYmlhLGNpYSxkaWEsZWlhLGZpYSxoaWEsZ2lhLFdPLGlpYSxYTyxqaWEsa2lhLGVQLGhQLGxQLG1pYSxuaWEsa1AsalAsTmhhLFRoYTtPaGE9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIG9mIE9iamVjdC52YWx1ZXMoTmhhKSlpZihfLmlxKGIpPT09YSlyZXR1cm4hMDtyZXR1cm4hMX07ClBoYT1mdW5jdGlvbihhLGIsYyxkLGUsZixoLGssbCl7dmFyIG09KDAsXy5EdykoKTtmPW5ldyBfLlR3KHt2ZVR5cGU6Yix5b3V0dWJlRGF0YTpmLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTtsPV8uV3coe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOmx9LG0pO2UmJihsLmN0dEF1dGhJbmZvPWUpO2U9e2NzbjptLHBhZ2VWZTpmLmdldEFzSnNvbigpfTtfLngoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmayYmay5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKGUuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9ay5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7YyYmYy52aXN1YWxFbGVtZW50PyhlLmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOmMuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpjLnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJihlLmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6YyYmXy5JcChuZXcgXy5YaigibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKYikpO2QmJihlLmNsb25lQ3NuPWQpO2E/Xy5DcCgic2NyZWVuQ3JlYXRlZCIsZSxhLGwpOl8uRXAoInNjcmVlbkNyZWF0ZWQiLGUsbCk7Xy5zbShfLkN3LG5ldyBfLkJ3KG0pKTtfLkV3LmNsZWFyKCk7Xy5Gdy5jbGVhcigpO18uR3cuY2xlYXIoKTtyZXR1cm4gbX07Xy5BTz1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLnd4KGEsYixjLGUsaCl9O0JPPWZ1bmN0aW9uKGEsYil7YS5LLmhhcyhiKXx8YS5LLnNldChiLFtdKTtyZXR1cm4gYS5LLmdldChiKX07ClFoYT1mdW5jdGlvbihhLGIsYz0wKXtfLlZpKCgpPT57Yi50aGVuKGQ9PnthLmouaGFzKGMpJiZhLkImJmEuQigpO3ZhciBlPV8uaXEoYyksZj1fLlZ3KGMpO2lmKGUmJmYpe3ZhciBoPXthdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTozfTtkPy5yZXNwb25zZT8udHJhY2tpbmdQYXJhbXMmJl8uYngoYS5jbGllbnQsZSxmLF8uVXcoZC5yZXNwb25zZS50cmFja2luZ1BhcmFtcyksITEsaCk7ZD8ucGxheWVyUmVzcG9uc2U/LnRyYWNraW5nUGFyYW1zJiZfLmJ4KGEuY2xpZW50LGUsZixfLlV3KGQucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07UmhhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5ELmxlbmd0aDtiKyspe3ZhciBjPWEuRFtiXTt0cnl7YygpfWNhdGNoKGQpe18uR3AoZCl9fWEuRC5sZW5ndGg9MDtmb3IoYj0wO2I8YS5VLmxlbmd0aDtiKyspe2M9YS5VW2JdO3RyeXtjKCl9Y2F0Y2goZCl7Xy5HcChkKX19fTsKQ089ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9dm9pZCAwO2QubGF5ZXJ8fChkLmxheWVyPTApO2U9ZC5wYXJlbnRMYXllciE9PXZvaWQgMD9kLnBhcmVudExheWVyOmQubGF5ZXI7dmFyIGY9Xy5pcShlKTtlPV8uVncoZSk7dmFyIGg9Y3x8ZSxrO2gmJihkLnBhcmVudENzbiE9PXZvaWQgMD9rPXtjbGllbnRTY3JlZW5Ob25jZTpkLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmYmJmYhPT0iVU5ERUZJTkVEX0NTTiImJihrPXtjbGllbnRTY3JlZW5Ob25jZTpmLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgbCxtPV8udygiRVZFTlRfSUQiKTtmPT09IlVOREVGSU5FRF9DU04iJiZtJiYobD17c2VydmxldERhdGE6e3NlcmlhbGl6ZWRTZXJ2bGV0RXZlbnRJZDptfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmZiYmXy5reChhLGYpO18ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSYmaCYmZiYmXy5jeChoLGYpO3RyeXt2YXIgbj1QaGEoYS5jbGllbnQsYixrLApkLnRwLGQuY3R0QXV0aEluZm8sbCxkLmltcGxpY2l0R2VzdHVyZVR5cGUsZC5sb2dnaW5nRXhwZWN0YXRpb25zLGQuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKHIpe18uY3cocix7R0s6Yixyb290VmU6ZSxxSzpjLG5JOmYscEs6ayx0cDpkLnRwfSk7Xy5HcChyKTtyZXR1cm59Xy5tcShuLGIsZC5sYXllcixkLmN0dEF1dGhJbmZvKTtmJiZmIT09IlVOREVGSU5FRF9DU04iJiZlJiYhT2hhKGYpJiYoXy52eChhLmNsaWVudCxmLGUsITApLGEuby5kZWxldGUoZikpO2I9Qk8oYSxkLmxheWVyfHwwKTtiLmxlbmd0aD4wJiYhYltiLmxlbmd0aC0xXS5jc24mJihiW2IubGVuZ3RoLTFdLmNzbj1ufHwiIik7Xy56cSh7Y2xpZW50U2NyZWVuTm9uY2U6bn0pO18uRHgoKTtfLlZpKF8uQngoKS5LKS5iaW5kKF8uQngoKSkoKTt2YXIgcD1fLlZ3KGQubGF5ZXIpO2YmJmYhPT0iVU5ERUZJTkVEX0NTTiImJnAmJl8ueCgibXVzaWNfd2ViX21hcmtfcm9vdF92aXNpYmxlIikmJl8uVmkoXy5BTykodm9pZCAwLApuLHAsdm9pZCAwLHZvaWQgMCx2b2lkIDApO2Euai5kZWxldGUoZC5sYXllcnx8MCk7YS5CPXZvaWQgMDthLmhhLmdldChkLmxheWVyKT8uZm9yRWFjaCgocix0KT0+e3I/Xy5peChhLHQscixkLmxheWVyKTpwJiZfLml4KGEsdCxwLGQubGF5ZXIpfSk7UmhhKGEpfTtTaGE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5qLmFkZChkLmxheWVyfHwwKTthLkI9KCk9PntDTyhhLGIsYyxkKTt2YXIgZT1fLlZ3KGQubGF5ZXIpO2lmKGUpe2xldCBmPV8uaXEoZC5sYXllcik7Zm9yKGxldCBoIG9mIGEuWSl7bGV0IGs9aFswXSxsPWhbMV18fGU7Zj9fLmp4KGEsayxsLGQubGF5ZXIsZik6Xy5peChhLGssbCxkLmxheWVyKX1mb3IobGV0IGggb2YgYS5NKV8ubXgoYSxoWzBdLGhbMV0pfX07Y3x8Xy5pcShkLmxheWVyKXx8YS5CKCk7aWYoZC5mbClmb3IobGV0IGUgb2YgZC5mbClRaGEoYSxlLGQubGF5ZXIpO2Vsc2UgXy5HcChFcnJvcigiTmIiKSl9OwpfLkRPPWZ1bmN0aW9uKGEsYixjLGQ9e30pe18uVmkoKCk9PntUaGEuaW5jbHVkZXMoYil8fChfLklwKG5ldyBfLlhqKCJjcmVhdGVDbGllbnRTY3JlZW4oKSBjYWxsZWQgd2l0aCBhIG5vbi1wYWdlIFZFIixiKSksYj04Mzc2OSk7aWYoIWQuaXNIaXN0b3J5TmF2aWdhdGlvbil7bGV0IGU9ZC5sYXllcnx8MDthLmdhLnNldChlLFtdKTtCTyhhLGUpLnB1c2goe3Jvb3RWZTpiLGtleTpkLmtleXx8IiJ9KX1hLlk9W107YS5NPVtdO2QuZmw/U2hhKGEsYixjLGQpOkNPKGEsYixjLGQpfSkoKX07Xy5FTz1mdW5jdGlvbihhLGIsYyxkKXtiPV8uZGIoYik7cmV0dXJuIGIhPT12b2lkIDA/YS5vcGVuKGIsYyxkKTpudWxsfTtfLkZPPWZ1bmN0aW9uKGEsYixjKXtjPWMhPW51bGw/Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYykpOiIiO3JldHVybiBfLlNiKGEsYitjKX07R089ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5ReShfLmVkKGEsYikpPz8hMX07CkhPPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5XeChhLGIsXy54dyhjKSwhMSl9O18uSU89ZnVuY3Rpb24oYSxiKXt2YXIgYztfLnViKGEsZD0+e2M9YltkXTtyZXR1cm4hIWN9KTtyZXR1cm4gY307Xy5KTz1mdW5jdGlvbihhLGIsYz0wKXsoYz1fLmlxKGMpKSYmYSYmXy5WaShfLkFPKSh2b2lkIDAsYyxhLHZvaWQgMCxiLHZvaWQgMCl9O18uS089ZnVuY3Rpb24oKXtyZXR1cm4hIV8udygiTVdFQl9GSVJFRk9YX1lUX0xBVU5DSEVSIil9O18uTE89ZnVuY3Rpb24oKXtyZXR1cm4gXy5rTT9fLmtNOl8ubE0oKX07Xy5NTz1mdW5jdGlvbihhLGI9NSxjKXtpZihiIT09MCl7dmFyIGQ9dHlwZW9mIGE9PT0iZnVuY3Rpb24iP2EoKTpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2Q/Yz8ucmw/Xy5kTihkKTpkLmZvY3VzKCk6c2V0VGltZW91dCgoKT0+e18uTU8oYSxiLTEsYyl9LDUwMCl9fTtWaGE9ZnVuY3Rpb24oKXt2YXIgYT1VaGEoKTtyZXR1cm4gSE8oYSw3LCEwKX07ClVoYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBOTzthPUhPKGEsNSwhMCk7YT1ITyhhLDIsITApO2E9SE8oYSw0LCExKTthPUhPKGEsOCwhMCk7cmV0dXJuIEhPKGEsOSwhMCl9O1doYT1mdW5jdGlvbigpe3ZhciBhPVZoYSgpO3JldHVybiBITyhhLDEwLCEwKX07WGhhPWZ1bmN0aW9uKCl7dmFyIGE9V2hhKCk7cmV0dXJuIEhPKGEsMTIsITApfTtZaGE9ZnVuY3Rpb24oKXt2YXIgYT1YaGEoKTtyZXR1cm4gSE8oYSwxMywhMSl9O1poYT1mdW5jdGlvbigpe3ZhciBhPVloYSgpO3JldHVybiBITyhhLDE0LCEwKX07YWlhPWZ1bmN0aW9uKGEpe3JldHVybiAkaGEuc29tZShiPT5iLnRlc3QoYSkpfTsKUE89ZnVuY3Rpb24oYSxiKXt7dmFyIGM9YS5mb3JtQ29udGVudD8ubG9jYWxlO2xldCBkPWM/LnNwbGl0KCItIilbMF07Yz1jJiZPTy5pbmNsdWRlcyhjKT9jOmQmJk9PLmluY2x1ZGVzKGQpP2Q6dm9pZCAwfWM9KGM/PyJlbiIpLnJlcGxhY2VBbGwoIi0iLCJfIikudG9Mb3dlckNhc2UoKTthPWEuaW5pdGlhbGl6YXRpb25EYXRhPy51c2VOaWdodGx5UmVsZWFzZT8ibmlnaHRseSI6ImxpdmUiO3JldHVybiBiPy5nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0Py4oKT8oMCxfLll4KWBodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi8ke2F9L21haW5fbGlnaHRfYmluYXJ5LmpzYDooMCxfLll4KWBodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi8ke2F9L21haW5fYmluYXJ5X18ke2N9LmpzYH07CmJpYT1mdW5jdGlvbihhLGIsYyxkKXtpZihRTyYmUk89PT1iKXJldHVybiBRTztSTz1iO3ZhciBlPVBPKGEsZCk7cmV0dXJuIFFPPWIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9Qcm9taXNlLnJlc29sdmUoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpuZXcgUHJvbWlzZSgoZixoKT0+e3ZhciBrPV8uQ2QoIlNDUklQVCIpO18ub2IoayxlKTtrLm9ubG9hZD0oKT0+e2IuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9mKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6aChFcnJvcigiR2QiKSl9O2sub25lcnJvcj0oKT0+e2goRXJyb3IoIkhkYCIrZS50b1N0cmluZygpKSl9O2MuYm9keS5hcHBlbmRDaGlsZChrKX0pfTsKY2lhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFNPJiZUTz09PWIpcmV0dXJuIFNPO1RPPWI7dmFyIGU9UE8oYSxkKTtyZXR1cm4gU089Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P1Byb21pc2UucmVzb2x2ZShiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOm5ldyBQcm9taXNlKChmLGgpPT57dmFyIGs9Xy5DZCgiU0NSSVBUIik7Xy5vYihrLGUpO2sub25sb2FkPSgpPT57Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P2YoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpoKEVycm9yKCJHZCIpKX07ay5vbmVycm9yPSgpPT57aChFcnJvcigiSGRgIitlLnRvU3RyaW5nKCkpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGspfSl9O2RpYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1EYXRlLm5vdygpO2E9YXdhaXQgKGF3YWl0IGJpYShhLGMsZCxiKSkuaW5pdGlhbGl6ZUZlZWRiYWNrQ2xpZW50QXN5bmMoYSxlLGIpO2EuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBhfTsKZWlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hd2FpdCAoYXdhaXQgY2lhKGEsYyxkLmRvY3VtZW50LGIpKS5pbml0aWFsaXplRmVlZGJhY2tDbGllbnRBc3luYyhhLGUsYixkKTthLmluaXRpYXRlQWxvaGEoKTtyZXR1cm4gYX07CmZpYT1hc3luYyBmdW5jdGlvbihhLGIsYyl7dmFyIGQ9Y3x8Xy51O2lmKGI/LmdldEVuYWJsZUFsb2hhQmluYXJ5U3BsaXQ/LigpKXtpZihkLmlzRm9ybU9wZW5lZCl0aHJvdyBuZXcgVU87ZC5pc0Zvcm1PcGVuZWQ9ITA7YS5jYWxsYmFja3M9YS5jYWxsYmFja3N8fHt9O2xldCBlPWEuY2FsbGJhY2tzLm9uQ2xvc2V8fCgoKT0+e30pO2EuY2FsbGJhY2tzLm9uQ2xvc2U9Zj0+e2QuaXNGb3JtT3BlbmVkPSExO2UoZil9O3RyeXtyZXR1cm4gZWlhKGEsYixkLGQpfWNhdGNoKGYpe3Rocm93IGQuaXNGb3JtT3BlbmVkPSExLGY7fX1lbHNle2lmKGQuaXNGb3JtT3BlbmVkKXRocm93IG5ldyBVTztkLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bGV0IGU9YS5jYWxsYmFja3Mub25DbG9zZXx8KCgpPT57fSk7YS5jYWxsYmFja3Mub25DbG9zZT1mPT57ZC5pc0Zvcm1PcGVuZWQ9ITE7ZShmKX07dHJ5e3JldHVybiBkaWEoYSxiLGQsZC5kb2N1bWVudCl9Y2F0Y2goZil7dGhyb3cgZC5pc0Zvcm1PcGVuZWQ9CiExLGY7fX19O2hpYT1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBuZXcgUHJvbWlzZSgoYyxkKT0+e051bWJlci5pc0ludGVnZXIoTnVtYmVyKGEpKSYmTnVtYmVyKGEpPjA/KGQ9Z2lhKGI/PyIiKSsiL2Fsb2hhX2Zvcm1fcHJvcGVydGllcz9wcm9kdWN0SWQ9IithLF8ubHkoZCxlPT57ZT1lLnRhcmdldDt2YXIgZj1udWxsO3RyeXt2YXIgaD1KU09OLGs9aC5zdHJpbmdpZnk7aWYoZS5yYSl7dmFyIGw9ZS5yYS5yZXNwb25zZVRleHQ7bC5pbmRleE9mKCIpXX0nXG4iKT09MCYmKGw9bC5zdWJzdHJpbmcoNSkpO3ZhciBtPV8uRXYobCl9ZWxzZSBtPXZvaWQgMDtmPV8uWHgoVk8say5jYWxsKGgsbSkpfWNhdGNoKG4pe2s9bmV3IFZPLG09WmhhKCksbT1ITyhtLDE1LCEwKSxtPUhPKG0sMjAsITEpLG09SE8obSwyNSwhMSksbT1ITyhtLDI2LCExKSxmPV8uS3coaywxLG0pfWMoZil9LCJHRVQiLCIiLHt9LDJFMywhMCkpOmQoRXJyb3IoIklkYCIrYSkpfSl9OwpnaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGFpYShhKT9hOiJodHRwczovL3d3dy5nb29nbGUuY29tL3Rvb2xzL2ZlZWRiYWNrIn07CldPPWZ1bmN0aW9uKGEsYixjLGQpe2EudGltZU9mU3RhcnRDYWxsPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBlPWN8fF8udSxmPWUuZG9jdW1lbnQsaD1hLm5vbmNlfHxfLmliKGUuZG9jdW1lbnQpO2gmJiFhLm5vbmNlJiYoYS5ub25jZT1oKTtpZihhLmZsb3c9PSJoZWxwIil7dmFyIGs9Xy5zYSgiZG9jdW1lbnQubG9jYXRpb24uaHJlZiIsZSk7IWEuaGVscENlbnRlckNvbnRleHQmJmsmJihhLmhlbHBDZW50ZXJDb250ZXh0PWsuc3Vic3RyaW5nKDAsMTIwMCkpO2s9ITA7aWYoYiYmSlNPTiYmSlNPTi5zdHJpbmdpZnkpe2xldCBsPUpTT04uc3RyaW5naWZ5KGIpOyhrPWwubGVuZ3RoPD0xMjAwKSYmKGEucHNkSnNvbj1sKX1rfHwoYj17aW52YWxpZFBzZDohMH0pfWI9W2EsYixjLGRdO2UuR09PR0xFX0ZFRURCQUNLX1NUQVJUX0FSR1VNRU5UUz1iO2M9YS5mZWVkYmFja1NlcnZlclVyaXx8Ii8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2siO2lmKGQ9ZS5HT09HTEVfRkVFREJBQ0tfU1RBUlQpZC5hcHBseShlLApiKTtlbHNle2U9YysiL2xvYWQuanM/Ijtmb3IobGV0IGwgaW4gYSliPWFbbF0sYj09bnVsbHx8Xy5BYShiKXx8KGUrPWVuY29kZVVSSUNvbXBvbmVudChsKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKyImIik7YT1fLnhkKGYpLmNyZWF0ZUVsZW1lbnQoIlNDUklQVCIpO2gmJmEuc2V0QXR0cmlidXRlKCJub25jZSIsaCk7Xy5vYihhLF8uVGEoZSkpO2YuYm9keS5hcHBlbmRDaGlsZChhKX19OwppaWE9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5mbG93PT09InN1Ym1pdCIsZj0hIV8uZHIsaD10eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCImJiEhKHdpbmRvdy5fX2thcm1hX198fHdpbmRvdy5qYXNtaW5lfHx3aW5kb3cubW9jaGF8fHdpbmRvdy5qZXN0KTtpZihlJiZoKVdPKGEsYixjLGQpO2Vsc2V7aD0oYXdhaXQgaGlhKGEucHJvZHVjdElkLGEuZmVlZGJhY2tTZXJ2ZXJVcmkpKT8udigpO2Y9IWZ8fGg/LmdldEVuYWJsZU13ZWIoKTt2YXIgaz0hYS50aW55Tm9Qb2ludGVyfHxoPy5nZXRFbmFibGVUaW55Tm9Qb2ludGVyKCk7Zj0hZSYmKCFofHxoLmdldEFsb2hhQXV0b0dhUm9sbG91dCgpJiZmJiZrKTtlPWUmJmg/LmdldEVuYWJsZUFsb2hhSGVhZGxlc3MoKSYmYS5yZXBvcnQ7Znx8ZT9hd2FpdCBYTyhhLGIsYyxoLGQpOldPKGEsYixjLGQpfX07ClhPPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Y3x8Xy51LGg9YS5zZXJ2ZXJFbnZpcm9ubWVudD09PSJERVYiO2M9Y3x8Xy51O2M9YS5ub25jZXx8Xy5pYihjLmRvY3VtZW50KTtoPXtpbnRlZ3JhdGlvbktleXM6e3Byb2R1Y3RJZDphLnByb2R1Y3RJZCxmZWVkYmFja0J1Y2tldDphLmJ1Y2tldCx0cmlnZ2VySWQ6YS50cmlnZ2VySWQsbWljcm9mZWVkYmFja1Njb3JlOmEubWljcm9mZWVkYmFja1Njb3JlfSxjYWxsYmFja3M6e29uQ2xvc2U6YS5jYWxsYmFjayxvbkxvYWQ6YS5vbkxvYWRDYWxsYmFja30sZm9ybUNvbnRlbnQ6e2xvY2FsZTphLmxvY2FsZSxkaXNhYmxlU2NyZWVuc2hvdDphLmRpc2FibGVTY3JlZW5zaG90dGluZyxwcm9kdWN0RGlzcGxheU5hbWU6dm9pZCAwLGFubm91bmNlbWVudDp2b2lkIDAsaXNzdWVDYXRlZ29yaWVzOnZvaWQgMCxpbmNsdWRlU2V2ZXJpdHlTZWxlY3Rpb246dm9pZCAwLGN1c3RvbUltYWdlU3JjOnZvaWQgMCx0aGFua1lvdU1lc3NhZ2U6dm9pZCAwLAp1c2VyRW1haWw6dm9pZCAwLGRlZmF1bHRGb3JtSW5wdXRWYWx1ZXM6dm9pZCAwLGRlZmF1bHRGb3JtSW5wdXRWYWx1ZXNTdHJpbmc6dm9pZCAwLGFidXNlTGluazphLmFidXNlTGluayxhZGRpdGlvbmFsRGF0YUNvbnNlbnQ6YS5hZGRpdGlvbmFsRGF0YUNvbnNlbnR9LGluaXRpYWxpemF0aW9uRGF0YTp7aXNMb2NhbFNlcnZlcjpoLG5vbmNlOmMsdXNlTmlnaHRseVJlbGVhc2U6aCxmZWVkYmFja0pzVXJsOnZvaWQgMCxmZWVkYmFja0Nzc1VybDp2b2lkIDAsZmVlZGJhY2tKc1VybFNlcmlhbGl6ZWQ6dm9pZCAwLGZlZWRiYWNrQ3NzVXJsU2VyaWFsaXplZDp2b2lkIDAsc3VibWlzc2lvblNlcnZlclVyaTphLmZlZWRiYWNrU2VydmVyVXJpLGNvbG9yU2NoZW1lOmEuY29sb3JTY2hlbWV9LGV4dHJhRGF0YTp7cHJvZHVjdFZlcnNpb246YS5wcm9kdWN0VmVyc2lvbixhdXRoVXNlcjphLmF1dGh1c2VyLGNvbmZpZ3VyYXRvcklkOmEuY29uZmlndXJhdG9ySWQsY3VzdG9tWkluZGV4OmEuY3VzdG9tWkluZGV4LAp0aW55Tm9Qb2ludGVyOmEudGlueU5vUG9pbnRlcixhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6YS5hbGxvd05vbkxvZ2dlZEluRmVlZGJhY2ssZW5hYmxlQW5vbnltb3VzRmVlZGJhY2s6YS5lbmFibGVBbm9ueW1vdXNGZWVkYmFja319O2EucmVwb3J0JiYoaC5oZWFkbGVzc1JlcG9ydD1hLnJlcG9ydCk7YiYmKGE9bmV3IE1hcChPYmplY3QuZW50cmllcyhiKSksaC5leHRyYURhdGEucHJvZHVjdFNwZWNpZmljRGF0YT1hKTtlJiYoZT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGUpKSxoLmV4dHJhRGF0YS5wcm9kdWN0U3BlY2lmaWNCaW5hcnlEYXRhPWUpO2F3YWl0IGZpYShoLGQsZil9OwpfLllPPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXtpZihhLmZsb3c9PT0iaGVscCIpe2xldCBlPWEuaGVscENlbnRlclBhdGgucmVwbGFjZSgvXlwvLywiIik7Xy5FTyhjfHx3aW5kb3csYGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tLyR7ZX1gKX1lbHNlIGlpYShhLGIsYyxkKS5jYXRjaChlPT57IWV8fGUgaW5zdGFuY2VvZiBVT3x8V08oYSxiLGMsZCl9KX1jYXRjaChlKXtYTyhhLGIsYyxudWxsLGQpLmNhdGNoKGY9PnshZnx8ZiBpbnN0YW5jZW9mIFVPfHxXTyhhLGIsYyxkKX0pfX07Xy5aTz1mdW5jdGlvbigpe3ZhciBhPV8uSU8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO3JldHVybiBhP2E6bnVsbH07Cl8uJE89ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2tsaXN0Iix7aW5jbHVkZUFzcjohMH0pPz9bXTtyZXR1cm4gYj1qaWEoYixhKX07Xy5hUD1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhbnNsYXRpb25MYW5ndWFnZXMiLHtpbmNsdWRlQXNyOiEwfSl8fFtdfTtqaWE9ZnVuY3Rpb24oYSxiKXtiPV8uYVAoYik7aWYoIWI/Lmxlbmd0aClyZXR1cm4gYTt2YXIgYz1iLmZpbHRlcihkPT5kKTtiPWEuZmlsdGVyKGQ9PmQubGFuZ3VhZ2VDb2RlPy5zdGFydHNXaXRoKCJlbiIpKTtmb3IobGV0IGQgb2YgYylpZihiLmxlbmd0aCl7Yz1iWzBdO2xldCBlPXsuLi5jfTtjLmxhbmd1YWdlQ29kZSE9PWQubGFuZ3VhZ2VDb2RlJiYoZS5kaXNwbGF5TmFtZT1gJHtjLmxhbmd1YWdlTmFtZX0gPj4gJHtkLmxhbmd1YWdlTmFtZX1gLGUudHJhbnNsYXRpb25MYW5ndWFnZT1kLGEucHVzaChlKSl9cmV0dXJuIGF9OwpraWE9ZnVuY3Rpb24oKXtfLk1PKCdbYXJpYS1sYWJlbD0iWW91VHViZSJdJyw1LHtybDohMH0pfTtlUD1mdW5jdGlvbihhKXt2YXIgYj1iUDtiJiYoYT9jUD1fLnhGKGIsKCk9Pl8uSyhkUCxudWxsLF8uSyhfLnROLHtjb21wb25lbnQ6bGlhfSkpLHtJazpfLlhDfSk6KGNQPy4oKSxjUD1udWxsKSl9O2hQPWZ1bmN0aW9uKCl7Y1AmJihjUCgpLGNQPW51bGwpO2ZQKHZvaWQgMCk7Z1AoIm91dCIpO2JQJiYoYlAucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChiUCksYlA9bnVsbCl9O2xQPWZ1bmN0aW9uKCl7aVAubGVuZ3RoJiYoZ1AoIm91dCIpLHNldFRpbWVvdXQoKCk9PntpUC5zaGlmdCgpO2lQLmxlbmd0aD4wPyhoUCgpLGpQKCksa1AoKSk6KGVQKCksaFAoKSl9LDE5NSkpfTttaWE9ZnVuY3Rpb24oKXtfLk5NKHdpbmRvdywic3RhdGUtbmF2aWdhdGVlbmQiLCgpPT57c2V0VGltZW91dChraWEsMUUzKX0pfTsKbmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImMzLXRvYXN0Iik7aWYoYil7bGV0IGM9Yi5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTtjJiZfLk5NKGMsImZvY3VzIiwoKT0+e2NsZWFyVGltZW91dChtUCk7bVA9c2V0VGltZW91dChsUCxhKTtfLk5NKGMsImJsdXIiLCgpPT57Xy5PRShfLm5QKX0pfSl9fTtrUD1mdW5jdGlvbigpe2dQKCJpbiIpO3ZhciB7Y29udGVudDphLGR1cmF0aW9uTXM6Yn09aVAubGVuZ3RoP2lQWzBdOnt9O2ZQKGEpO2NQfHxlUChhKTttUD1zZXRUaW1lb3V0KCgpPT57bFAoKX0sMjI1KyhifHwwKSk7Xy5VTSgpPT09ImxpYnJhcnkiP21pYSgpOmIhPT12b2lkIDAmJm5pYShiKX07alA9ZnVuY3Rpb24oKXtiUHx8KGJQPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGJQLmlkPSJ0b2FzdHMiLChfLlpPKCl8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKGJQKSxlUCgpKX07Cl8ucFA9ZnVuY3Rpb24oYSxiPW9QLGM9ITEpe2pQKCk7Yj1ifHxvUDtjJiZpUC5sZW5ndGg+MD8oY2xlYXJUaW1lb3V0KG1QKSxfLk9FKCgpPT57aVBbMF09e2NvbnRlbnQ6YSxkdXJhdGlvbk1zOmJ9O2tQKCl9KSk6KGlQLnB1c2goe2NvbnRlbnQ6YSxkdXJhdGlvbk1zOmJ9KSxpUC5sZW5ndGg9PT0xJiZfLk9FKGtQKSl9O18ublA9ZnVuY3Rpb24oKXtpUC5sZW5ndGg+MCYmKGNsZWFyVGltZW91dChtUCksbFAoKSl9O18ucVA9ZnVuY3Rpb24oYSl7Xy5YTSgibmF2aWdhdGUiLGEpfTtfLnJQPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgibXdlYl9uZXdfZnVsbHNjcmVlbiIpPyEhXy5aTygpOiEhXy5aTygpfHx3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZmF1eGZ1bGxzY3JlZW4ifTsKXy5zUD1mdW5jdGlvbihhKXthPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEudG9TdHJpbmcoKSk7YS5mb2N1cygpO2Euc2V0U2VsZWN0aW9uUmFuZ2UoMCxhLnZhbHVlLmxlbmd0aCk7YT0hMTt0cnl7YT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpfWNhdGNoKGIpe31fLnBQKGE/KCk9Pm9pYTooKT0+cGlhKX07Xy50UD1mdW5jdGlvbigpe3JldHVybiEhXy53KCJJRF9UT0tFTiIpfTtOaGE9e0hDOjAsdkM6MSxCQzoyLHlGOjMsWG46NCxESDo1LEJGOjYsUUc6NyxwRzo4LHVHOjksVEY6MTAsbkY6MTEsMDoiREVGQVVMVCIsMToiQ0hBVCIsMjoiQ09OVkVSU0FUSU9OUyIsMzoiTUlOSVBMQVlFUiIsNDoiRElBTE9HIiw1OiJWT1oiLDY6Ik1VU0lDX1dBVENIX1RBQlMiLDc6IlNIQVJFIiw4OiJQVVNIX05PVElGSUNBVElPTlMiLDk6IlJJQ0hfR1JJRF9XQVRDSCIsMTA6IlBJQ1RVUkVfSU5fUElDVFVSRSIsMTE6Ik1FRElBX0NMSUVOVCJ9OwpUaGE9WzM2MTEsMjc2ODYsMjIxMDU4LDg1MDEzLDIzNDYyLDI0MTE4NywxNTc1NTcsNDIwMTYsMjY5MjYsNTEyMzYsNzkxNDgsNTAxNjAsNzc1MDQsMzEwMjgxLDE1MzU4Nyw4NzkwNywxODYzMCwxNzcwMTgsMTc3MDIzLDU0NDQ1LDMyMTY2NiwzMjYzNTMsMzI2MzU0LDgwOTM1LDE1MjE3MiwxODQ1NTMsMTA1Njc1LDE1MDcyMywzNzUyMSwxNDcyODUsNDc3ODYsMjMxMjU1LDIzMTI1NCwyMzEyNTgsMjMxMjU5LDk4MzQ5LDIzNzI5OSwxNjgyNzEsMTY4OTU0LDE2ODI3NywxNjgyNzMsMTY4MjcwLDEyMzY5NSwyNzIwMTgsMzM4NDk3LDIyNjk4NywyMjY5OTAsMjI2OTg4LDY4MjcsMjk0MzQsMjU1MDEwLDE3MTM4OCwyNDQxODksMjM2MjA4LDcyODIsMTI0NDQ4LDI5OTkwMywyOTk4OTcsMjk5OTA0LDI5OTkwMSwyOTk4OTksMjk5OTAyLDI5OTkwMCwyOTk4OTgsMTk2MDg4LDI1MDg5NywxOTgxMDQsMzIyNzYsMTk1MTE1LDE5NTExNCw3NjI3OCwyMDA2MzUsMjMwNTk0LDE0Nzg2OCwxNDc4NjksCjI3NjI0Myw5MzkxMSwyNzQxODgsMjc2NjUxLDMxMzY4MCwxMDY1MzEsMjU3MjM0LDI1MjU5OCwyNTI1OTcsMjUyNjAwLDI1MjU5OSwyNTI1OTYsMjI1MDMxLDE3Nzg0MywyNzI1OSwyNzI2MiwyNzI2MywyMTc1OSwyODM2NzAsMTYwODY2LDIwNDI0OSwyMjI5MDAsMjA0MjUwLDE4MDYyNiwxNzc5NTksMTc3OTU3LDE4MDYyOCwyMDU3MTYsMTk3ODc4LDI3Mzc2NiwxNzEyNDMsMTYwNzg5LDE3MTI0NCwxNzEyNDEsMTcxMjQ1LDE3MTI0MiwyMjU1NjAsMTgwNjI3LDE3Nzk2MCwyMzE1ODksMTc3OTU4LDE4MDYyOSwyMDU3MTcsMTk3ODc5LDE3NzU2NSwyMTI1NzMsMjEwNzA5LDk5NDQxMiwyMzA2ODQsMjI5ODAxLDIzMDY4NSwzMzQzMTAsMzM0MzExLDMzNDMxMiwxOTczMzcsMjA5MDEwLDE5NzMzNiwxOTczMzgsMTk4NjE4LDMwMDg4NCwxNzU0OTIsMTk4MDUyLDE5ODA1MSwxOTc4NTIsMTk3OTc2LDMxNzM3NywxNzU0OTMsMTc1NDk0LDE3NTQ5NSwxODkyNTQsMTc1NDk2LDE3NTQ5NywzODQwOCwKMTc1NDk4LDE3NTUwMywxNzU1MDQsMTc1NTA1LDE3NTUwNiwxNzU1MDcsMTc1NTA4LDgwNjM3LDY4NzI3LDIwNjkzMywyMDc5NDQsMjA2OTM0LDMwMzEyMywyMDY5MjksMjIxNTc1LDY4NzI4LDIyMTU3Niw4MDM1Myw4MDM1NiwzMDgwMzMsMjQ5MTA3LDE4MDYzNSw3NDYxMCw0NTcwNyw4Mzk2Miw4Mzk3MCw0NjcxMywxNjY1OTEsODk3MTEsNzQ2MTIsMjEzODA5LDE3OTYwNywyNDUwMDYsMTU1NzkyLDkzMjY1LDc0NjExLDEzMTM4MCwxMjg5NzksMTM5MzExLDEyODk3OCwxMzEzOTEsMTA1MzUwLDEzOTMxMiwzMzM2MzcsMTM0ODAwLDEzMTM5MiwxMTM1MzMsMjI5Mjk4LDkzMjUyLDk5MzU3LDk0NTIxLDExNDI1MiwxMTM1MzIsOTQ1MjIsOTQ1ODMsMjAyMzcxLDg4RTMsMTM5NTgwLDkzMjUzLDkzMjU0LDk0Mzg3LDk0Mzg4LDkzMjU1LDk3NDI0LDcyNTAyLDIxOTg2OCwyMTI5OTEsMTEwMTExLDc2MDE5LDExNzA5MiwxMTcwOTMsODk0MzEsMTkxODMxLDExMDQ2NiwyMzEzNDYsNzcyNDAsCjYwNTA4LDE4NjA5MSwxNDgxMjMsMTQ4MTI0LDEzNzQwMSwxMzc0MDIsMTM3MDQ2LDczMzkzLDI0Njc3NiwxMTM1MzQsMjc2MjAwLDkyMDk4LDEzMTM4MSw4NDUxNyw4Mzc1OSwzMDk1ODAsMjMwNjc2LDI0OTE4MywyMzA2NzksMjMwNjc4LDIzMDY3NywyMzA2ODEsMjMwNjgwLDE2MjcxMSwyMzUyMzQsMTYyNzEyLDgwMzU3LDk5NDQxMSwyNDMzMTUsMzEzNTA2LDMyMTk2NCw4NjExMyw3MjU5OCwxNjg0MTMsNzI3MzMsMTA3MzQ5LDEyNDI3NSwxMTgyMDMsMjAwNDEwLDEzMzI3NSwxNjAxNTcsMTUyNTY5LDE1NjY1MSwxMzMyNzQsMTYwMTU5LDE2MDE1OCwxMzMyNzIsMTMzMjczLDEzMzI3NiwxNDQ1MDcsMTQzMjQ3LDE3NTk5NCwxNTY2NTIsMTQzMjQ4LDE0MzI0OSwxNDMyNTAsMTQzMjUxLDE4OTg5MiwxODk4OTQsMTg5ODkzLDE1NjY1MywyMTQyMzYsMTQ0NDAxLDExNzQzMSwxMzM3OTcsMjI1MTM3LDI3MzkwNSwyMjI2MTIsMjIyNjEzLDE1Mzk2NCwyMDExMzMsMjAxMTM0LDIwMTEzNSwKMjAxMTM2LDIwMTEzNywxMjg1NzIsMjAwNDExLDIwMDQxMiwxOTAzMzcsMTMzNDA1LDExNzQyOSwxMTc0MzAsMTc3OTUwLDE3NDczNCwxNzc5NTEsMjAxMTM4LDIwMTEzOSwyMDExNDAsMjAxMTQxLDIwMTE0MiwxMTc0MzIsMTczOTk2LDE3Mzk5NSwxNzQ5NTMsMTczOTk0LDE3Mzk5NywxMjAwODAsMTE3MjU5LDE3ODU0NiwyOTc3NTIsMTk3ODkxLDE1NjY1NSwxNTY2NTQsMTIxNjkyLDIxMTQxNCwyMTE0MTEsMjExNDEyLDIxMTQxMywyMTE0MDMsMTg0ODQ2LDE4NTk5MywzMzUwNDgsMTQ1NjU2LDE1NjY1NiwxNDU2NTUsMTQ1NjUzLDE0NTY1NCwxNDU2NTcsMTMyOTcyLDEzMzA1MSwxMzM2NTgsMTMyOTcxLDMzNjcyOCw5NzYxNSwxODEyNjIsMTkwNzYyLDI1MDM0NCwyNTQwMjcsMTQzMzU5LDE0MzM1NiwxNDMzNjEsMTQzMzU4LDE0MzM2MCwxNDMzNTcsMTQyMzAzLDE0MzM1MywyODIxNTksMTcyODU5LDE0MzM1NCwxNDQ0NzksMTQzMzU1LDMxNDAyLDE4MTU5MCwxMzM2MjQsMTQ2NDc3LAoxMzM2MjMsMTMzNjIyLDEzMzYyMSwxOTI0MTgsODQ3NzQsMzA0Nzc2LDE5Nzk5MywyNDE0NjAsMTYwODAxLDE5Nzk5NSw5NTExNywxNzI3MjEsMTUwNDk3LDk4OTMwLDk4OTMxLDk4OTMyLDMzODU3MCwzMzg0NzQsMzM4NDc4LDMzODQ3MywxNTMzMjAsMTUzMzIxLDQzMzQ3LDMwNTI2OCwyNDkyOTUsMjEwMDE2LDIxMDAxNywyNjI2ODYsMjExODUxLDIxMTg1MiwzMDcyMTksMjExODUzLDMyNzgxMCwxMjk4ODksMTk3ODg4LDE5Nzg4OSwxNDkxMjMsMjIxOTU5LDIyMTYyNywyMjE5NTgsNDU0NzQsMTAwMzUyLDk4NDQzLDExNzk4NSwzMzM3MDgsNzQ2MTMsMTU1OTExLDc0NjE0LDY0NTAyLDEzNjAzMiw3NDYxNSw3NDYxNiwxMjIyMjQsNzQ2MTcsNzc4MjAsNzQ2MTgsMjYyOTg4LDI2Mjk4OSwyMjY5ODEsOTMyNzgsOTMyNzQsOTMyNzUsOTMyNzYsMjAwNjg4LDIwMDY4NiwyMDA2ODcsMTk5ODQxLDIyMTEwLDI5NDMzLDEzMzc5OCwxMzIyOTUsMjgxMzMyLDEyMDU0MSwyMjIxMTIsODIwNDcsCjExMzU1MCw3NTgzNiw3NTgzNywzMDM4ODIsMTkyNDA5LDIwMzIyMSw0MjM1Miw4NDUxMiw3NjA2NSw3NTk4OSwyMDU5MTEsMjA1OTEyLDI1MjY0OSwyMDU5MTMsMjUyNjUwLDI1MjY1MSw1MTg3OSwxNjYyMywzMjU5NCwyNzI0MCwzMzgxMDksMjkzMzI0LDMyNjMzLDc0ODU4LDMwNDE1MCwyOTcwNDUsMjc1MTk4LDI3MTg4NCwyMjI5MzIsMjc5MTE5LDMxMjU4MSwyNzE4ODYsMjEzOTE1LDI3NTE5OSwzMTA3NDgsMjI1MjE2LDI1MTI0NCwyNTgyNTEsMjE4Njc0LDI1MTI2NiwyNTgyNTAsMjUxMjY1LDMwMTY2MiwyNTEyNDUsMjcxODg1LDMxNTgxOCwxNTY5OTksMzk0NSwxNjk4OSw0NTUyMCwyNTQ4OCwyNTQ5MiwyNTQ5NCwyMzIxMTMsNTU3NjAsMTQwNTcsMTg0NTEsNTcyMDQsNTcyMDMsMTc4OTcsMTgxOTgsMTc4OTgsMTc5MDksNDM5ODAsMjIxMDUzLDE5NTUyOSwxODk2NjAsMzA4MDg4LDMwNjQ0OCwzMDY0NDcsMzA4MDg3LDMwODA4Niw0NjIyMCwxMTcyMSwxNDc5OTQsNDk5NTQsOTYzNjksCjM4NTQsMjE3NjQwLDE1MTYzMyw1NjI1MSwyMDUxOTIsMjE2Nzk3LDE1OTEwOCwxODE1NjgsMjM0Nzg5LDI1NjI0LDE1MjAzNiwxNjkwNiw5OTk5OSw2ODE3Miw0Nzk3Myw3Mjc3MywyNjk3MCwyNjk3MSw5NjgwNSwxNzc1MiwyODIxODEsMjc4OTI2LDczMjMzLDIwNTkyMywxMDk1MTIsMjIyNTYsMTQxMTUsMjI2OTYsMjM0NDA5LDIzNDQwOCw4OTI3OCw4OTI3NywxOTU3NDUsMTA5NTEzLDQzMjc4LDQzNDU5LDQzNDY0LDg5Mjc5LDQzNzE3LDU1NzY0LDIyMjU1LDE0NzkxMiw4OTI4MSw0MDk2Myw0MzI3Nyw0MzQ0Miw5MTgyNCwyODM4OTgsMTIwMTM3LDE4NjM1MCwxODYzNTEsMjU2NjkwLDI2NDM0OSwyNjQzNTEsMjY0MzUwLDI2NDM1MiwyMTEwMjYsMjUwODk2LDk2MzY3LDM2ODUwLDcyNjk0LDM3NDE0LDM2ODUxLDEyNDg2MywxMjEzNDMsNzM0OTEsNTQ0NzMsMTY2ODYxLDQzMzc1LDQ2Njc0LDMwMjYzMSwzMzE0NzMsMjQyNTI4LDE0MzgxNSwxMzkwOTUsMTQ0NDAyLDE0OTk2OCwxNDk5NjksCjMyNDczLDcyOTAxLDcyOTA2LDUwNjEyLDUwNjEzLDUwOTQyLDg0OTM4LDg0OTQzLDg0OTM5LDg0OTQxLDg0OTQ0LDg0OTQwLDg0OTQyLDM1NTg1LDUxOTI2LDc5OTgzLDE4OTIxLDU3ODkzLDQxMTgyLDEzNTczMiwzMzQyNCwyMjIwNywzNjIyOSwyMjIwNiwyMjIwNSw0NDc2MywzMzQyNyw2Nzc5MywyMjE4MiwzNzA5MSwzNDY1MCw1MDYxNywyMjI4NywyNTE0NCw5NzkxNywyMjAxMjIsNjIzOTcsMTUwODcxLDE1MDg3NCwxMjU1OTgsMTM3OTM1LDM2OTYxLDEwODAzNSwzMjM0OTMsMjc0MjYsMjc4NTcsMjc4NDYsMjc4NTQsNjk2OTIsNjE0MTEsMzkyOTksMzg2OTYsNjI1MjAsMzYzODIsMTA4NzAxLDE5MjY4MiwyNzk1MzEsNTA2NjMsMzYzODcsMTQ5MDgsMzc1MzMsMTA1NDQzLDYxNjM1LDYyMjc0LDE2MTY3MCwxMzM4MTgsMTgyMTE5LDY1NzAyLDY1NzAzLDY1NzAxLDMyMDQ2NCw3NjI1NiwyOTgxNTcsMjYzODQzLDMxNTIzNCwxOTYwNzUsMTk0NzY4LDI1MjIwMSwxOTQ3NjksMTkxODg1LAoyODE0ODAsMjMzNjM0LDI2NTgxMCwxOTQ3NzAsMjk2OTMzLDE5NTM1MCwzMjczODUsMzI0NTg2LDMwMTYwNywxOTUzNDksMTk0NzcxLDI5MzA0MSwzMDExMjEsMjkzMDQyLDI5MzA0MywzMDExMTYsMTY2MzgyLDM3NjcxLDQ5OTUzLDIyMDY2OSw2MDAwMDEsNjAwMDAyLDZFNSwzMzUxMzQsMjQ5MjI5LDIxMzc3NCwyMDQ1NzIsMTkxMzg5LDI3MjI1NCwyNzIyNTMsMjUzODMwLDI1MzgzMSwyNTM4MzIsMjcyMjUyLDI1MzgzMywyNTM4MzQsMjA0NTc0LDE5MTM5MCwxNzk1NTYsMjM4NTk2LDIxMjY2MSwxOTEzOTIsMTk3ODI2LDE5MTM5MywyMDQ1NzMsMzYyMTYsMjgyMzcsMjQxMjEyLDI3MjA0OSwxNzM3MTgsMzk1NTMsMTkyNTQ3LDI5MjIyLDMwNDg0NSwyNjEwNywyNDEyMTEsMzgwNTAsMjYxMDgsMjc1ODEwLDEyMDc0NSwyNjEwOSwyNjExMCw2Njg4MSwyODIzNiwxNDU4NiwyOTc2NzIsMTYwNTk4LDU3OTI5LDIyNjczNiw3NDcyMyw0NDA5OCwxNzM2ODksNDQwOTksMjM1MjgsNjE2OTksCjEzNDEwNCwxMzQxMDMsMTk4MzEzLDU5MTQ5LDE4MTAxMywyNzgzMDYsMjgyNDcyLDI3Nzg0OCwxNzMxOTEsMTczMTkyLDE3MzE5MywxMDE5NTEsMTcxNTAyLDE5NjA0MywxOTgzMDUsOTczNDYsMTE4MDUxLDk1MTAyLDY0ODgyLDExOTUwNSw2MzU5NSwyOTQxMTksMjU3MjY4LDYzMzQ5LDI4MTEyNywyNDA1NTMsOTUxMDEsNzUyNDAsMjcwMzksNjg4MjMsMjE1MzcsODM0NjQsNzU3MDcsMjUyOTA0LDE3MDIxNSwyMjMwMzMsODMxMTMsMTAxOTUyLDEwMTk1Myw3OTYxMCwxMjU3NTUsMjQ0MDIsMjQ0MDAsMzI5MjUsMTkzNDA2LDU3MTczLDE4MzM1MSwxNTY0MjEsMTIyNTAyLDE0NTI2OCwxMzg0ODAsNjQ0MjMsNjQ0MjQsMzM5ODYsMTAwODI4LDEyOTA4OSwyOTk1NDEsMjE0MDksMjgyMjE4LDI5OTUwNiwzMzM5NTYsMjk5NTQwLDI5OTUwNywyOTk1MDksMjk5NTM5LDI5OTUwOCwyOTk1MTAsMTg1NjEyLDIyMjgyNSwzMjMzMzEsMjQ1MzY2LDEzNTE1NSwxMzUxNTYsMTM1MTU3LDEzNTE1OCwKMTU4MjI1LDEzNTE1OSwxMzUxNjAsMTY3NjUxLDEzNTE2MSwxMzUxNjIsMTM1MTYzLDE1ODIyNiwxNTgyMjcsMTM1MTY0LDEzNTE2NSwxMzUxNjYsMTEwNzAsMTEwNzQsMTc4ODAsMjcwNTYwLDMwNzA5LDMwNzA3LDMwNzExLDMwNzEwLDMwNzA4LDE4NTIxMywxODUyNzMsMTQ2MTQzLDYzNjQ4LDYzNjQ5LDIyMTA1NiwyNjQ0OTAsMjExMTg5LDExMTA1OSwyMTExODgsNTc1NCwyNjQ0OTEsMjA0NDUsMjMzNDcxLDE1MTMwOCwzMTM3NTAsMTUxMTUyLDIyODA2NywxMzA5NzUsMTMwOTc2LDI0NzI0NCwyNzE2MjIsMjcxODEzLDI2MTIxMCwyMTA4MTUsMjk1MDY5LDI0NjEyNywzMTY4NTgsMjQ1MjU2LDI0NDk1MCwxOTE5MjUsMTY3NjM3LDIzNDU0NSwxOTcxOTYsMzAyNzM1LDIxNDI5NSwxMTAzODYsMjIxMDU0LDI3Mzk2MCwyODIxMTEsMzEyMjkwLDExMzc0NiwzMjU1OTMsMjY4ODg2LDY2NTU3LDE4MzIxNSwxNzMxMCwyODYzMSwyMDE5MzUsMjE1ODksMjQyMDM2LDIzODM1MSwxNjQ4MTcsCjE2ODAxMSwxNTQ5NDYsNjgwMTIsMTYyNjE3LDYwNDgwLDE4NDQzMSwxMzg2NjQsMjk0MDg5LDI0OTgyNywxOTRFMywxNDExMjEsMTY0NTAyLDMxNTcxLDE5NTAwMiwyMDY3OTMsMTQxOTc4LDIzMzk4NSwyNTA4OTUsMjU0MDUyLDI1NDA1MywyNTQwNTQsMjU0MDUxLDI1NDA1MCwyNTQwNTUsMTUwMTA1LDMwNDE2OSwxNTAxMDYsMTUwMTA3LDE1MDEwOCw3Njk4MCw0MTU3Nyw0NTQ2OSwzODY2OSwxMzc2OCwxMzc3NywxNDE4NDIsNjI5ODUsMjEzMTkwLDQ3MjQsMjIzMDUyLDU5MzY5LDQzOTI3LDQzOTI4LDEyOTI0LDE5Nzg1MywxMDAzNTUsNTYyMTksMjc2NjksMjA5OTI4LDEwMzM3LDIwMzY0OCwyMDM2NDksNDc4OTYsMzI2OTM3LDEyMjYyOSwxODYyMDQsMjIyODI0LDI3NTg2OSwzMTIyOTUsMjcxNjczLDI3NDYzNywzMTc0NjIsMTM5NzIzLDEzOTcyMiwxMjEyNTgsMjUzNzg5LDI1Mzc4NywyNTM3ODYsMjUzNzg4LDI1Mzc5MCwxMDc1OTgsMTI3OTkxLDk2NjM5LDEwNzUzNiwxMzAxNjksCjIxNjUyMiwyOTYzMTYsOTY2NjEsMTQ1MTg4LDMyMDQyOCwyMTM5MDQsMjY5MzQyLDk2NjU4LDExNjY0NiwxNTk0MjgsMTY4NjExLDE2ODYxMiwxMjExMjIsMjE5ODYyLDk2NjYwLDI4MjIwOCwxMjc3MzgsMTI3MDgzLDE1NTI4MSwxNjI5NTksMjIwODg2LDIyNzM1NiwyNDgwMDcsMTYzNTY2LDMwNzY0NiwxODY2NDEsMTQ3ODQyLDI3MzY0NiwyNzM2NDcsMjE3OTMyLDEwNDQ0Myw5NjY1OSwxNDc1OTUsMTA2NDQyLDI0NzE2MiwyMzE0OTMsMjEzNDI3LDI5NjgxMywyNDY1NzUsMTgyNDIzLDE2Mjc3NiwyMjg5MDgsMTM0ODQwLDYzNjY3LDYzNjY4LDYzNjY5LDEzMDY4NiwzMzcxNzIsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBOTz1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0RW5hYmxlU3NFbmdpbmUoKXtyZXR1cm4gR08odGhpcywyKX1nZXRFbmFibGVBd3IoKXtyZXR1cm4gR08odGhpcywzKX1nZXRBbG9oYUF1dG9HYVJvbGxvdXQoKXtyZXR1cm4gR08odGhpcyw1KX1nZXRFbmFibGVDb25maWd1cmF0b3IoKXtyZXR1cm4gR08odGhpcyw2KX1nZXRFbmFibGVNd2ViKCl7cmV0dXJuIEdPKHRoaXMsNyl9Z2V0RW5hYmxlQ3RsQ29uc2VudENoZWNrYm94KCl7cmV0dXJuIEdPKHRoaXMsOCl9Z2V0RW5hYmxlSWZyYW1lKCl7cmV0dXJuIEdPKHRoaXMsOSl9Z2V0RW5hYmxlU2NyZWVuc2hvdE51ZGdlKCl7cmV0dXJuIEdPKHRoaXMsMTApfWdldEVuYWJsZVdlYlN0YXJ0dXBDb25maWdFbmRwb2ludCgpe3JldHVybiBHTyh0aGlzLDExKX1nZXRFbmFibGVKdW5rTnVkZ2UoKXtyZXR1cm4gR08odGhpcywxMil9Z2V0RW5hYmxlQ29uZmlndXJhdG9yTG9jYWxlKCl7cmV0dXJuIEdPKHRoaXMsCjEzKX1nZXRFbmFibGVUaW55Tm9Qb2ludGVyKCl7cmV0dXJuIEdPKHRoaXMsMTQpfWdldEVuYWJsZVN1cHBvcnRTZXNzaW9uTG9nZ2luZygpe3JldHVybiBHTyh0aGlzLDE1KX1nZXRFbmFibGVGaWxlVXBsb2FkRm9yU2NyZWVuc2hvdCgpe3JldHVybiBHTyh0aGlzLDE2KX1nZXRFbmFibGVEaXJlY3REZWZsZWN0aW9uRm9yU2luZ2xlQ2F0ZWdvcnkoKXtyZXR1cm4gR08odGhpcywxNyl9Z2V0RW5hYmxlSW1hZ2VTYW5pdGl6YXRpb24oKXtyZXR1cm4gR08odGhpcywxOCl9Z2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdCgpe3JldHVybiBHTyh0aGlzLDE5KX1nZXRFbmFibGVEYkZlZWRiYWNrSW50ZW50cygpe3JldHVybiBHTyh0aGlzLDIwKX1nZXRFbmFibGVNYXJrTWFuZGF0b3J5RmllbGRzV2l0aFJlcXVpcmVkKCl7cmV0dXJuIEdPKHRoaXMsMjEpfWdldEVuYWJsZUZlZWRiYWNrQ2F0ZWdvcnlDdXN0b21VaSgpe3JldHVybiBHTyh0aGlzLDIyKX1nZXRFbmFibGVSZWFsdGltZUN0bCgpe3JldHVybiBHTyh0aGlzLAoyMyl9Z2V0RW5hYmxlQWxvaGFIZWFkbGVzcygpe3JldHVybiBHTyh0aGlzLDI0KX1nZXRVcGRhdGVGZWVkYmFja0NvbmZpcm1hdGlvbkNsYXJpdHkoKXtyZXR1cm4gR08odGhpcywyNSl9Z2V0RW5hYmxlVmlld0ZlZWRiYWNrUmVwb3J0c0xpbmsoKXtyZXR1cm4gR08odGhpcywyNil9fTt2YXIgVk89Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXYoKXtyZXR1cm4gXy5OeCh0aGlzLE5PLDEpfX07dmFyICRoYT1bL2h0dHBzOlwvXC9zYW5kYm94XC5nb29nbGVcLmNvbVwvdG9vbHNcL2ZlZWRiYWNrLywvaHR0cHM6XC9cL2ZlZWRiYWNrLWZyb250ZW5kLXF1YWxbYS16MC05Ll0qXC5nb29nbGVcLmNvbVwvaW5hcHAvLC9odHRwczpcL1wvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcLmdvb2dsZVwuY29tXC90b29sc1wvZmVlZGJhY2svLC9odHRwczpcL1wvLipcLmdvb2dsZXVzZXJjb250ZW50XC5jb21cL2luYXBwL107dmFyIE9PPSJhZiBhbSBhci1FRyBhci1KTyBhci1NQSBhci1TQSBhci1YQiBhciBheiBiZSBiZyBibiBicyBjYSBjcyBjeSBkYSBkZS1BVCBkZS1DSCBkZSBlbCBlbiBlbi1HQiBlbi1BVSBlbi1DQSBlbi1JRSBlbi1JTiBlbi1OWiBlbi1TRyBlbi1YQSBlbi1YQyBlbi1aQSBlcyBlcy00MTkgZXMtQVIgZXMtQk8gZXMtQ0wgZXMtQ08gZXMtQ1IgZXMtRE8gZXMtRUMgZXMtR1QgZXMtSE4gZXMtTVggZXMtTkkgZXMtUEEgZXMtUEUgZXMtUFIgZXMtUFkgZXMtU1YgZXMtVVMgZXMtVVkgZXMtVkUgZXQgZXUgZmEgZmkgZmlsIGZyLUNBIGZyLUNIIGZyIGdsIGdzdyBndSBoZSBoaSBociBodSBoeSBpZCBpbiBpcyBpdCBpdyBqYSBrYSBrayBrbSBrbiBrbyBreSBsbiBsbyBsdCBsdiBtayBtbCBtbiBtbyBtciBtcyBteSBuYiBuZSBubCBubyBwYSBwbCBwdCBwdC1CUiBwdC1QVCBybyBydSBzaSBzayBzbCBzcSBzci1MYXRuIHNyIHN2IHN3IHRhIHRlIHRoIHRsIHRyIHVrIHVyIHV6IHZpIHpoIHpoLUNOIHpoLUhLIHpoLVRXIHp1Ii5zcGxpdCgiICIpO3ZhciBVTz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIkZvcm0gaXMgZWl0aGVyIGxvYWRpbmcgb3IgYWxyZWFkeSBvcGVuZWQiKTt0aGlzLm5hbWU9IkR1cGxpY2F0ZUZvcm1FcnJvciJ9fSxRTyxTTyxSTyxUTztfLnJhKCJ1c2VyZmVlZGJhY2suQ29sb3JTY2hlbWVzIix7aUY6MSxHQzoyfSk7Xy5yYSgidXNlcmZlZWRiYWNrLmFwaS5zdGFydEZlZWRiYWNrIixfLllPKTtfLnFpYT1uZXcgXy5JKCJuYXRpdmVBcHBEZWVwbGlua0VuZHBvaW50Iik7Xy5yaWE9TWF0aC5yYW5kb20oKTt2YXIgc2lhPW5ldyBfLlZzKCJTVEFUSUNfQVBQX1BST1BTX1RPS0VOIik7Xy52UD1uZXcgXy5WcygiVE9BU1RfT1BUSU9OUyIpO3ZhciBvUD1fLnNqKCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIiw1RTMpLGJQLGNQPW51bGwsW3dQLGdQXT1fLkooIm91dCIsdm9pZCAwLCJXY1pjZWUiKSxbbGlhLGZQXT1fLkoodm9pZCAwLHZvaWQgMCwiWFZ5eHhmIiksaVA9W10sbVAsZFA9Xy5MKGE9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy52UCkpO3JldHVybiBfLksoImMzLXRvYXN0Iix7ZGlyOndQLHJvbGU6KCk9PndQKCk9PT0iaW4iPyJhbGVydCI6IiIsY2xhc3M6Xy5QKHsiaHVnLXRvYXN0IjohIWI/LlZ1LCJpbnZlcnNlLXRoZW1lIjohIWI/LkN4fSl9LGEuY2hpbGRyZW4pfSwic2IiKTtkUC5pZG9tQ29tcGF0PSEwO18udGlhPV8udXgoMzA3OTUzKTsoe01nOl8udWlhLGdrOl8ueFB9PV8uekcoYT0+YS5jaGFubmVsSWQpKTsoe01nOl8udmlhLGdrOl8ud2lhfT1fLnpHKGE9Pl8uQihhLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyPy5kZWZhdWx0U2VydmljZUVuZHBvaW50LF8uQnkpPy5wYXJhbXMpKTtfLnlQPW5ldyBfLlZzKCJMQVlFUl9UT0tFTiIpO18uelA9Xy5MKCh7VW86YSxzdGF5T3Blbk9uQ2xpY2s6Yixpc1BlcnNpc3RlbnQ6YyxjaGlsZHJlbjpkfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKHsiZGlhbG9nLWZsZXgtYnV0dG9uIjooKT0+YT8uKCkhPT0xfSksIm9uOmNsaWNrIjpmdW5jdGlvbigpe2I/LigpfHxjPy4oKXx8Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfSx0YWJpbmRleDooKT0+KGI/LigpfHxjPy4oKSx2b2lkIDApfSxkKSwidWIiKTtfLnpQLmlkb21Db21wYXQ9ITA7Xy5BUD1fLkwoKHtjaGlsZHJlbjphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oc2lhKSk/LlVJO3JldHVybiBfLksoImRpdiIseyJhcmlhLWxpdmUiOiJwb2xpdGUiLHRhYmluZGV4OmI/MDp2b2lkIDB9LGEpfSwidmIiKTtfLkFQLmlkb21Db21wYXQ9ITA7Xy54aWE9Xy5zaigibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uX2RlbGF5X21zIil8fDUwMDtfLnlpYT1fLnNqKCJtd2ViX2lvc19mdWxsc2NyZWVuX3N5c3RlbV9wYXVzZV9lcGlsc29uX21zIil8fDM1MDt2YXIgb2lhPV8uJE4uWHMscGlhPV8uJE4ua3Q7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYVE9ZnVuY3Rpb24oYSxiKXtyZXR1cm57b3BlblBvcHVwQWN0aW9uOntwb3B1cFR5cGU6IlRPQVNUIixwb3B1cDp7bm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXI6e3Jlc3BvbnNlVGV4dDphfX0sLi4uKGIhPT12b2lkIDA/e2R1cmF0aW9uSGludE1zOmJ9Ont9KX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy53bmE9bmV3IF8uSSgiZW50aXR5VXBkYXRlQ29tbWFuZCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk5XPW5ldyBfLkkoInNob3dTaGVldENvbW1hbmQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy54bmE9bmV3IF8uSSgibGlzdFZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk9XPW5ldyBfLlZzKCJTQ1JFRU5fTUFOQUdFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeW5hO18uUFc9ZnVuY3Rpb24oYSl7cmV0dXJuIHluYVthXT8/IkVWRU5UX1NQQU5fVFlQRV9VTktOT1dOIn07CnluYT17Y2xpY2s6IkVWRU5UX1NQQU5fVFlQRV9DTElDSyIsZGJsY2xpY2s6IkVWRU5UX1NQQU5fVFlQRV9EQkxDTElDSyIsbW91c2Vkb3duOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VET1dOIixtb3VzZXVwOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VVUCIsbW91c2VvdmVyOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VPVkVSIixtb3VzZW91dDoiRVZFTlRfU1BBTl9UWVBFX01PVVNFT1VUIixtb3VzZWVudGVyOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VFTlRFUiIsbW91c2VsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX01PVVNFTEVBVkUiLG1vdXNlbW92ZToiRVZFTlRfU1BBTl9UWVBFX01PVVNFTU9WRSIsY29udGV4dG1lbnU6IkVWRU5UX1NQQU5fVFlQRV9DT05URVhUTUVOVSIsa2V5ZG93bjoiRVZFTlRfU1BBTl9UWVBFX0tFWURPV04iLGtleXVwOiJFVkVOVF9TUEFOX1RZUEVfS0VZVVAiLGtleXByZXNzOiJFVkVOVF9TUEFOX1RZUEVfS0VZUFJFU1MiLHRvdWNoc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSFNUQVJUIiwKdG91Y2hlbmQ6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSEVORCIsdG91Y2htb3ZlOiJFVkVOVF9TUEFOX1RZUEVfVE9VQ0hNT1ZFIix0b3VjaGNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIQ0FOQ0VMIixwb2ludGVyZG93bjoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJET1dOIixwb2ludGVydXA6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSVVAiLHBvaW50ZXJtb3ZlOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUk1PVkUiLHBvaW50ZXJvdmVyOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUk9WRVIiLHBvaW50ZXJvdXQ6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVST1VUIixwb2ludGVyZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSRU5URVIiLHBvaW50ZXJsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJMRUFWRSIscG9pbnRlcmNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJDQU5DRUwiLGdvdHBvaW50ZXJjYXB0dXJlOiJFVkVOVF9TUEFOX1RZUEVfR09UUE9JTlRFUkNBUFRVUkUiLApsb3N0cG9pbnRlcmNhcHR1cmU6IkVWRU5UX1NQQU5fVFlQRV9MT1NUUE9JTlRFUkNBUFRVUkUiLHN1Ym1pdDoiRVZFTlRfU1BBTl9UWVBFX1NVQk1JVCIsY2hhbmdlOiJFVkVOVF9TUEFOX1RZUEVfQ0hBTkdFIixpbnB1dDoiRVZFTlRfU1BBTl9UWVBFX0lOUFVUIixmb2N1czoiRVZFTlRfU1BBTl9UWVBFX0ZPQ1VTIixibHVyOiJFVkVOVF9TUEFOX1RZUEVfQkxVUiIscmVzZXQ6IkVWRU5UX1NQQU5fVFlQRV9SRVNFVCIsc2VsZWN0OiJFVkVOVF9TUEFOX1RZUEVfU0VMRUNUIixpbnZhbGlkOiJFVkVOVF9TUEFOX1RZUEVfSU5WQUxJRCIsbG9hZDoiRVZFTlRfU1BBTl9UWVBFX0xPQUQiLHVubG9hZDoiRVZFTlRfU1BBTl9UWVBFX1VOTE9BRCIsYmVmb3JldW5sb2FkOiJFVkVOVF9TUEFOX1RZUEVfQkVGT1JFVU5MT0FEIixkb21jb250ZW50bG9hZGVkOiJFVkVOVF9TUEFOX1RZUEVfRE9NQ09OVEVOVExPQURFRCIscmVzaXplOiJFVkVOVF9TUEFOX1RZUEVfUkVTSVpFIixzY3JvbGw6IkVWRU5UX1NQQU5fVFlQRV9TQ1JPTEwiLApwYWdlc2hvdzoiRVZFTlRfU1BBTl9UWVBFX1BBR0VTSE9XIixwYWdlaGlkZToiRVZFTlRfU1BBTl9UWVBFX1BBR0VISURFIixwbGF5OiJFVkVOVF9TUEFOX1RZUEVfUExBWSIscGF1c2U6IkVWRU5UX1NQQU5fVFlQRV9QQVVTRSIscGxheWluZzoiRVZFTlRfU1BBTl9UWVBFX1BMQVlJTkciLHdhaXRpbmc6IkVWRU5UX1NQQU5fVFlQRV9XQUlUSU5HIixzZWVraW5nOiJFVkVOVF9TUEFOX1RZUEVfU0VFS0lORyIsc2Vla2VkOiJFVkVOVF9TUEFOX1RZUEVfU0VFS0VEIixlbmRlZDoiRVZFTlRfU1BBTl9UWVBFX0VOREVEIix2b2x1bWVjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9WT0xVTUVDSEFOR0UiLHRpbWV1cGRhdGU6IkVWRU5UX1NQQU5fVFlQRV9USU1FVVBEQVRFIixyYXRlY2hhbmdlOiJFVkVOVF9TUEFOX1RZUEVfUkFURUNIQU5HRSIsZHJhZ3N0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfRFJBR1NUQVJUIixkcmFnOiJFVkVOVF9TUEFOX1RZUEVfRFJBRyIsZHJhZ2VuZDoiRVZFTlRfU1BBTl9UWVBFX0RSQUdFTkQiLApkcmFnZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9EUkFHRU5URVIiLGRyYWdsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX0RSQUdMRUFWRSIsZHJhZ292ZXI6IkVWRU5UX1NQQU5fVFlQRV9EUkFHT1ZFUiIsZHJvcDoiRVZFTlRfU1BBTl9UWVBFX0RST1AiLGFuaW1hdGlvbnN0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9OU1RBUlQiLGFuaW1hdGlvbmVuZDoiRVZFTlRfU1BBTl9UWVBFX0FOSU1BVElPTkVORCIsYW5pbWF0aW9uaXRlcmF0aW9uOiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9OSVRFUkFUSU9OIix0cmFuc2l0aW9ucnVuOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTlJVTiIsdHJhbnNpdGlvbnN0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTlNUQVJUIix0cmFuc2l0aW9uZW5kOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTkVORCIsdHJhbnNpdGlvbmNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1RSQU5TSVRJT05DQU5DRUwifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RVz1uZXcgXy5JKCJzaG93RW5nYWdlbWVudFBhbmVsRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCk1hdGgudXVpZC5qcyAodjEuNCkKaHR0cDovL3d3dy5icm9vZmEuY29tCm1haWx0bzpyb2JlcnRAYnJvb2ZhLmNvbQpDb3B5cmlnaHQgKGMpIDIwMTAgUm9iZXJ0IEtpZWZmZXIKRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiovCnZhciB6bmEsUlcsQW5hLEJuYSxDbmEsRG5hLEVuYSxUVyxGbmEsVVcsR25hLEhuYSxWVyxJbmEsSm5hLFhXLFlXLFpXLCRXLExuYSxNbmEsYlgsaFgsTm5hLE9uYSxQbmEsalgsa1gsUm5hLG1YLFNuYSxvWCxwWCxVbmEsVm5hLG5YLFduYSxUbmEsbFgscVgsWW5hLGFvYSxib2EsY29hLGRvYSxlb2Esc1gsZm9hLGdvYSx0WCxob2EsdVgsdlgsaW9hLGtvYSx4WCxsb2EseVgsbm9hLG9vYSxwb2EscW9hLEJYLHJvYSxzb2EsQ1gsdG9hLHVvYSx2b2Esd29hLHhvYSx5b2Esem9hLEFvYSxCb2EsQ29hLEhYLElYLEZvYSxtb2EsS1gsSG9hLEpYLElvYSxKb2EsS29hLE1YLExvYSxOWCxNb2EsTm9hLE9vYSxQb2EsUW9hLFJvYSxTb2EsT1gsVG9hLFBYLFFYLFZvYSxVb2EsV29hLFhvYSxZb2EsWm9hLCRvYSxWWCxVWCxXWCwkWCxYWCxZWCxaWCxhWSxhcGEsYnBhLGNwYSxiWSxlWSxkWSxkcGEsZlksZXBhLGZwYSxncGEsaHBhLGdZLGpwYSxpcGEsbHBhLHBwYSxqWSxxcGEsa1ksbFksblksbVksCmlZLHJwYSxzcGEsdXBhLHBZLHdwYSxvWSxyWSxzWSx0WSx1WSx6cGEsQXBhLHdZLHhZLHlZLEFZLENwYSxCWSxEcGEsRFksRXBhLEZZLEhZLEZwYSxJWSxKWSxIcGEsS1ksTVksSXBhLEpwYSxMcGEsTXBhLE5wYSxQcGEsUnBhLFRwYSxVcGEsTlksV3BhLFZwYSxQWSxTWSxPWSxSWSxacGEsWXBhLGJxYSxkcWEsZXFhLGZxYSxncWEsV1ksaHFhLGlxYSxqcWEsa3FhLGxxYSxtcWEsY3FhLFZZLHRxYSxucWEselgsdXFhLFdXLERvYSxjWixLbmEseHFhLGRaLGVaLHlxYSx6cWEsQXFhLEJxYSxDcWEsRHFhLGFYLGZaLGdYLGNYLGRYLGVYLGZYLEVxYSxnWixoWixGcWEsaVosR3FhLEhxYSxpWCxqWixJcWEsUW5hLFhuYSxKcWEsWm5hLCRuYSxyWCxMcWEsam9hLFhZLGtaLE1xYSxxWSxBWDt6bmE9ZnVuY3Rpb24oYSxiKXtiPSgwLF8ueWcpKGIpO2I9Xy5FZihiLGIpO2Iudj0hMDtfLkpmKGEsYik7cmV0dXJuIGF9OwpSVz1mdW5jdGlvbihhLGIpe2E9YS53YXRjaEVuZHBvaW50U3VwcG9ydGVkQXV0aG9yaXphdGlvblRva2VuQ29uZmlnPy52aWRlb0F1dGhvcml6YXRpb25Ub2tlbj8uY3JlZGVudGlhbFRyYW5zZmVyVG9rZW5zfHxbXTtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYylpZihhW2NdLnNjb3BlPT09YilyZXR1cm4gYVtjXS50b2tlbnx8dm9pZCAwfTsKQW5hPWZ1bmN0aW9uKGEsYixjPXt9KXtfLlZpKCgpPT57dmFyIGQ9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucm9vdFZlfHxfLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8ubngpPy5zY3JlZW5WaXN1YWxFbGVtZW50Py51aVR5cGU7aWYoZCl7dmFyIGU9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLmVhYSk7aWYoZT8ucGFyZW50VHJhY2tpbmdQYXJhbXMpe3ZhciBmPV8uVXcoZS5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoZS5wYXJlbnRDc24pdmFyIGg9ZS5wYXJlbnRDc259ZWxzZSBjLmNsaWNrZWRWaXN1YWxFbGVtZW50P2Y9Yy5jbGlja2VkVmlzdWFsRWxlbWVudDpiLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihmPV8uVXcoYi5jbGlja1RyYWNraW5nUGFyYW1zKSk7YTp7ZT1fLkIoYixfLkF3KTt2YXIgaz1fLkIoYixfLmRhYSk7aWYoZSl7aWYoaz1SVyhlLCJWSURFTyIpKXtlPXt0b2tlbjprLHZpZGVvSWQ6ZS52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGsmJihlPVJXKGssCiJQTEFZTElTVCIpKSl7ZT17dG9rZW46ZSxwbGF5bGlzdElkOmsucGxheWxpc3RJZH07YnJlYWsgYX1lPXZvaWQgMH1jPXtjdHRBdXRoSW5mbzplLHBhcmVudENzbjpoLC4uLmN9O18ueCgiZXhwZWN0YXRpb25fbG9nZ2luZyIpJiYoYy5sb2dnaW5nRXhwZWN0YXRpb25zPV8uQihiPy5jb21tYW5kTWV0YWRhdGEsXy5ueCk/LmxvZ2dpbmdFeHBlY3RhdGlvbnN8fHZvaWQgMCk7Xy5ETyhhLGQsZixjKX1lbHNlIF8uSXAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gY3JlYXRlIGEgbmV3IHNjcmVlbiB3aXRob3V0IGEgcm9vdFZlVHlwZSIsYikpfSkoKX07Qm5hPWZ1bmN0aW9uKGEsYil7YT1gU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX0ZVTExTQ1JFRU5fUkVRVUVTVF9TTElfJHthfWA7Xy5FeS5yZWdpc3Rlci5oYXMoYSk/Yj1fLkV5LnJlZ2lzdGVyLmdldChhKTooYj1iKCksXy5FeS5yZWdpc3Rlci5zZXQoYSxiKSk7cmV0dXJuIGJ9O0NuYT1mdW5jdGlvbih7c2VydmljZUlkOmF9KXtyZXR1cm4gYS5vfTsKRG5hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5HeSxiPVtTV10sYz1iLm1hcChsPT5DbmEobCkpLGQ9Yi5tYXAobD0+YS5tYXBwaW5ncy5nZXQobC50b1N0cmluZygpKSkuZmlsdGVyKGw9PmwpO2lmKGQubGVuZ3RoPT09Yi5sZW5ndGgpcmV0dXJuIF8uS3koZC5tYXAoKGwsbSk9Pl8ubnkoYSxsLGJbbV0pKSk7dmFyIGU9Xy5WZCgpLmFmKGMpO2Q9Xy5JZihjLm1hcChsPT5lW2xdKSk7dmFyIGY9ZG9jdW1lbnQuaGlkZGVuLGg9LTEsaz1fLnNqKCJnZXRfYXN5bmNfdGltZW91dF9tcyIsLTEpO2s+LTEmJihoPXNldFRpbWVvdXQoKCk9PntfLklwKG5ldyBfLlhqKCJNb2R1bGUgdGltZW91dC4iLGMsZixkb2N1bWVudC5oaWRkZW4pKX0saykpO3JldHVybiB6bmEoZC50aGVuKCgpPT5iLm1hcChsPT5fLm55KGEsYS5tYXBwaW5ncy5nZXQobC50b1N0cmluZygpKSxsKSkpLktnKGw9Pntmb3IobGV0IG0gb2YgYS5qKW0obCk7dGhyb3cgbDt9KSwoKT0+e2NsZWFyVGltZW91dChoKX0pfTsKRW5hPWZ1bmN0aW9uKCl7cmV0dXJuIERuYSgpLnRoZW4oYT0+YVswXSl9O1RXPWZ1bmN0aW9uKGEsYil7YS5EZj1iO2ZvcihsZXQgYyBvZiBhLmRhdGEpYihjKTthLmRhdGE9W119O0ZuYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSxiKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIsYyl9O1VXPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgZD0wO2Q8YXJndW1lbnRzLmxlbmd0aDtkKyspe2xldCBlPWFyZ3VtZW50c1tkXTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihsZXQgZj0wO2Y8ZS5sZW5ndGg7Zis9ODE5Mil7dmFyIGM9Rm5hKGUsZixmKzgxOTIpO2M9VVcuYXBwbHkobnVsbCxjKTtmb3IobGV0IGg9MDtoPGMubGVuZ3RoO2grKyliLnB1c2goY1toXSl9ZWxzZSBiLnB1c2goZSl9cmV0dXJuIGJ9OwpHbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkJmKGZ1bmN0aW9uKGIpe3ZhciBjPWEubGVuZ3RoLGQ9W107aWYoYyl7dmFyIGU9ZnVuY3Rpb24oaCxrLGwpe2MtLTtkW2hdPWs/e2Z1bGZpbGxlZDohMCx2YWx1ZTpsfTp7ZnVsZmlsbGVkOiExLHJlYXNvbjpsfTtjPT0wJiZiKGQpfTtmb3IobGV0IGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGY9YVtoXTtfLkhmKGYsXy5EYShlLGgsITApLF8uRGEoZSxoLCExKSl9fWVsc2UgYihkKX0pfTtIbmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5NeigiTE9HR0VEX0lOIixmdW5jdGlvbihjKXthLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO18uTnooYil9KX07Vlc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKT0+e3ZhciBjPV8ueSgpO2MucmVzb2x2ZShfLkluKGEpKXx8Xy5KeihjLHtqYTphLFBhOmEsW18uTG5dOmJ9KTtyZXR1cm4gYy5yZXNvbHZlKGEpfX07CkluYT1mdW5jdGlvbihhKXtpZihXVz09PXZvaWQgMCl0aHJvdyBFcnJvcigic2IiKTtpZihXVylmb3IobGV0IFtiLGNdb2YgV1cpYShiLGMpO18uTnYuYWRkKGEpO1dXPXZvaWQgMH07Sm5hPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJjYW5hcnkiOnJldHVybiJDTElFTlRfQ0FOQVJZX1NUQVRFX0NBTkFSWSI7Y2FzZSAiY29udHJvbCI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfQ09OVFJPTCI7Y2FzZSAibm9uZSI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfTk9ORSI7ZGVmYXVsdDpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9VTktOT1dOIn19O1hXPWZ1bmN0aW9uKGEsYj0iIil7dmFyIGM9W107Zm9yKGxldCBkIGluIGEpe2lmKCFhLmhhc093blByb3BlcnR5KGQpKWNvbnRpbnVlO2xldCBlPWIhPT0iIj9iKyIuIitkOmQ7dHlwZW9mIGFbZF09PT0ib2JqZWN0Ij9jLnB1c2goLi4uWFcoYVtkXSxlKSk6Yy5wdXNoKFtlLGFbZF1dKX1jLnNvcnQoKTtyZXR1cm4gY307CllXPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhLmV2ZW50cy52YWx1ZXMoKSliLnB1c2goYyk7cmV0dXJuIGJ9O1pXPWZ1bmN0aW9uKGEpe18uRnk9PW51bGwmJihfLkZ5PW5ldyBLbmEpO3ZhciBiPV8uRnk7dmFyIGM9Yi52O2EuZGltZW5zaW9ucz1hLmRpbWVuc2lvbnN8fHt9O2EuZGltZW5zaW9ucy5jc249Xy5pcSgpfHwiIjt2YXIgZD1YVyhhLmRpbWVuc2lvbnMpLmpvaW4oIjsiKTthLnJlY29yZHMhPW51bGwmJihjLmV2ZW50cy5oYXMoZCk/Yy5ldmVudHMuZ2V0KGQpLnJlY29yZHM/LnB1c2goLi4uYS5yZWNvcmRzKTpjLmV2ZW50cy5zZXQoZCxhKSk7Yi5qLmVuYWJsZWR8fGIuai5zdGFydCgpO2IubysrO2Iubz49MTAwJiZiLmZsdXNoKCl9OyRXPWZ1bmN0aW9uKGEpe2E9YS5rZXl8fGEuaWQ7aWYoIWEpdGhyb3cgRXJyb3IoImZjIik7cmV0dXJuIGF9OwpMbmE9ZnVuY3Rpb24oKXtpZihhWClyZXR1cm4gYVgoKTthWD1fLiRsKCJQZXJzaXN0ZW50RW50aXR5U3RvcmVEYiIse3NlOntFbnRpdHlTdG9yZTp7UGQ6MX0sRW50aXR5QXNzb2NpYXRpb25TdG9yZTp7UGQ6Mn19LHNoYXJlZDohMSx1cGdyYWRlKGEsYil7YigxKSYmXy5vbChfLmtsKGEsIkVudGl0eVN0b3JlIix7a2V5UGF0aDoia2V5In0pLCJlbnRpdHlUeXBlIiwiZW50aXR5VHlwZSIpO2IoMikmJihhPV8ua2woYSwiRW50aXR5QXNzb2NpYXRpb25TdG9yZSIse2tleVBhdGg6WyJwYXJlbnRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSJdfSksXy5vbChhLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLF8ub2woYSwiYnlDaGlsZEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5IikpfSx2ZXJzaW9uOjN9KTtyZXR1cm4gYVgoKX07TW5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKExuYSgpLGEpfTsKYlg9ZnVuY3Rpb24oYSl7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KGEpOkFycmF5KGEpfTsKaFg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5rZXksYz1hLmNvdW50ZXJbMF1eYlswXSxkPWEuY291bnRlclsxXV5iWzFdLGU9YS5jb3VudGVyWzJdXmJbMl0sZj1hLmNvdW50ZXJbM11eYlszXTtmb3IodmFyIGg9MztoPj0wJiYhKGEuY291bnRlcltoXT0tfmEuY291bnRlcltoXSk7aC0tKTtmb3IodmFyIGssbCxtPTQ7bTw0MDspaD1jWFtjPj4+MjRdXmRYW2Q+PjE2JjI1NV1eZVhbZT4+OCYyNTVdXmZYW2YmMjU1XV5iW20rK10saz1jWFtkPj4+MjRdXmRYW2U+PjE2JjI1NV1eZVhbZj4+OCYyNTVdXmZYW2MmMjU1XV5iW20rK10sbD1jWFtlPj4+MjRdXmRYW2Y+PjE2JjI1NV1eZVhbYz4+OCYyNTVdXmZYW2QmMjU1XV5iW20rK10sZj1jWFtmPj4+MjRdXmRYW2M+PjE2JjI1NV1eZVhbZD4+OCYyNTVdXmZYW2UmMjU1XV5iW20rK10sYz1oLGQ9ayxlPWw7YT1hLm87aD1iWzQwXTthWzBdPWdYW2M+Pj4yNF1eaD4+PjI0O2FbMV09Z1hbZD4+MTYmMjU1XV5oPj4xNiYyNTU7YVsyXT1nWFtlPj44JgoyNTVdXmg+PjgmMjU1O2FbM109Z1hbZiYyNTVdXmgmMjU1O2g9Yls0MV07YVs0XT1nWFtkPj4+MjRdXmg+Pj4yNDthWzVdPWdYW2U+PjE2JjI1NV1eaD4+MTYmMjU1O2FbNl09Z1hbZj4+OCYyNTVdXmg+PjgmMjU1O2FbN109Z1hbYyYyNTVdXmgmMjU1O2g9Yls0Ml07YVs4XT1nWFtlPj4+MjRdXmg+Pj4yNDthWzldPWdYW2Y+PjE2JjI1NV1eaD4+MTYmMjU1O2FbMTBdPWdYW2M+PjgmMjU1XV5oPj44JjI1NTthWzExXT1nWFtkJjI1NV1eaCYyNTU7aD1iWzQzXTthWzEyXT1nWFtmPj4+MjRdXmg+Pj4yNDthWzEzXT1nWFtjPj4xNiYyNTVdXmg+PjE2JjI1NTthWzE0XT1nWFtkPj44JjI1NV1eaD4+OCYyNTU7YVsxNV09Z1hbZSYyNTVdXmgmMjU1fTsKTm5hPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthLmp8fChhLmo9YXdhaXQgYS5vLmltcG9ydEtleSgicmF3IixhLnYse25hbWU6IkFFUy1DVFIifSwhMSxbImVuY3J5cHQiXSkpO2E9YXdhaXQgYS5vLmVuY3J5cHQoe25hbWU6IkFFUy1DVFIiLGNvdW50ZXI6YyxsZW5ndGg6MTI4fSxhLmosYik7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEpfTtPbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIlVOS05PV05fRU5DT0RFX0VSUk9SIix7b3JpZ2luYWxNZXNzYWdlOmEubWVzc2FnZX0pOm5ldyBpWCgiVU5LTk9XTl9FTkNPREVfRVJST1IiKX07UG5hPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRXJyb3I/bmV3IGlYKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTphLm1lc3NhZ2V9KTpuZXcgaVgoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpqWD1mdW5jdGlvbihhLGIpe2E9YSBpbnN0YW5jZW9mIGlYP2E6YihhKTtfLkdwKGEpO3Rocm93IGE7fTtrWD1mdW5jdGlvbihhKXthPShuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKS5zdWJhcnJheSgwLDE2KTt2YXIgYj1uZXcgVWludDhBcnJheSgxNik7Yi5zZXQoYSk7cmV0dXJuIGJ9O1JuYT1mdW5jdGlvbihhKXt2YXIgYj1RbmFbYV07aWYoYilyZXR1cm4gYjtfLklwKG5ldyBfLlhqKCJFbnRpdHkgbW9kZWwgbm90IGZvdW5kLiIse2VudGl0eVR5cGU6YX0pKX07bVg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbFgoYS5vLGIudmVyc2lvbikuZGVjb2RlKGIuZGF0YSxiLmtleSl9O1NuYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5nZXQoYikudGhlbihkPT57aWYoZCl7aWYoYyYmZC5lbnRpdHlUeXBlIT09Yyl0aHJvdyBFcnJvcigiaGMiKTtyZXR1cm4gbVgoYSxkKX19KX07Cm9YPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0kVyhiKTtyZXR1cm4gblgoYSxkKS50aGVuKCgpPT5UbmEoYSxiLGMpKX07cFg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEudltjXTtkfHwoZD1uZXcgU2V0LGEudltjXT1kKTtkLmFkZChiKX07ClVuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9JFcoYiksZT1sWChhLm8sMSksZj17Li4uYn07cmV0dXJuIGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5nZXQoZCkudGhlbihoPT57aWYoaCl7aWYoaC5lbnRpdHlUeXBlIT09Yyl0aHJvdyBFcnJvcigiaGMiKTtmLmVudGl0eU1ldGFkYXRhfHwoaD1tWChhLGgpLGYuZW50aXR5TWV0YWRhdGE9aC5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e3ZhciBoPXtrZXk6ZCxlbnRpdHlUeXBlOmMsZGF0YTplLmVuY29kZShmLGQpLHZlcnNpb246MX07cmV0dXJuIF8uVmsuYWxsKFtfLmxsKGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKSxoKSxvWChhLGYsYyldKX0pLnRoZW4oKCk9PntwWChhLGQsYyk7cmV0dXJuIGR9KX07ClZuYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uR0goYikuZW50aXR5VHlwZTtyZXR1cm4gXy5Way5hbGwoW2Euai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5kZWxldGUoYiksblgoYSxiKV0pLnRoZW4oKCk9PntwWChhLGIsYyl9KX07blg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIikuaW5kZXgoImJ5UGFyZW50RW50aXR5S2V5IikuZGVsZXRlKElEQktleVJhbmdlLm9ubHkoYikpfTsKV25hPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWxYKGEubywxKTtyZXR1cm4gU25hKGEsYixkKS50aGVuKGY9PntpZihmfHxfLngoIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiKSl7Zj1fLmhNKGZ8fHt9LGMpO3ZhciBoPXtrZXk6YixlbnRpdHlUeXBlOmQsZGF0YTplLmVuY29kZShmLGIpLHZlcnNpb246MX07cmV0dXJuIF8uVmsuYWxsKFtfLmxsKGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKSxoKSxvWChhLGYsZCldKX19KS50aGVuKCgpPT57cFgoYSxiLGQpO3JldHVybiBifSl9OwpUbmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRXKGIpO2M9Um5hKGMpO2lmKCFjKXJldHVybiBfLlZrLnJlc29sdmUoW10pO2I9bmV3IGMoYik7YT1hLmoub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtjPVtdO2ZvcihsZXQgZSBvZiBiLm8oKSljLnB1c2goXy5sbChhLHtwYXJlbnRFbnRpdHlLZXk6ZCxjaGlsZEVudGl0eUtleTplfSkpO3JldHVybiBfLlZrLmFsbChjKS50aGVuKGU9PmUubWFwKGY9PmZbMV0pKX07bFg9ZnVuY3Rpb24oYSxiPTApe2E9YS5qW2JdO2lmKCFhKXRocm93IGI9bmV3IGlYKCJJTlZBTElEX0VOQ09ERVJfVkVSU0lPTiIse0lwOmJ9KSxfLkdwKGIpLGI7cmV0dXJuIGF9O3FYPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIGEub2JzZXJ2ZXJzKWMoYil9OwpZbmE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hd2FpdCBNbmEoYS50b2tlbiksZDtjPWF3YWl0IF8uaWwoYyxbIkVudGl0eVN0b3JlIiwiRW50aXR5QXNzb2NpYXRpb25TdG9yZSJdLCJyZWFkd3JpdGUiLGU9PntkPW5ldyBYbmEoZSxhLmopO3JldHVybiBiKGQpfSk7aWYoZCl7bGV0IGU9ZC52O09iamVjdC5rZXlzKGUpLmxlbmd0aD4wJiYoYS5jaGFubmVsLnBvc3RNZXNzYWdlKGUpLHFYKGEsZSkpfXJldHVybiBjfTthb2E9YXN5bmMgZnVuY3Rpb24oKXt0cnl7bGV0IGI9YXdhaXQgXy5QbCgpO2lmKGImJl8uV2ooKSYmdHlwZW9mIF8udS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBhPW5ldyBabmE7cmV0dXJuIG5ldyAkbmEoYixhKX19Y2F0Y2goYil7YiBpbnN0YW5jZW9mIEVycm9yJiZfLkdwKGIpfX07CmJvYT1mdW5jdGlvbihhKXthPWEub3B0aW9ucz8ucGVyc2lzdGVuY2VPcHRpb247cmV0dXJuIGE9PT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9QRVJTSVNUInx8YT09PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX0lOTUVNT1JZX0FORF9QRVJTSVNUIn07CmNvYT1hc3luYyBmdW5jdGlvbihhKXtyWHx8KHJYPWFvYSgpKTt2YXIgYj1hd2FpdCByWDtiJiZhd2FpdCBZbmEoYixjPT57dmFyIGQ9e307Zm9yKGxldCBlIG9mIGEpe2lmKCFlLmVudGl0eUtleXx8IWJvYShlKSljb250aW51ZTtsZXQgZj1fLmRNKGUucGF5bG9hZCksaD12b2lkIDA7ZS50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1JFUExBQ0UiJiYoaD0oKT0+VW5hKGMsZS5wYXlsb2FkW2ZdLGYpKTtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIiYmKGg9KCk9PlZuYShjLGUuZW50aXR5S2V5KSk7ZS50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1VQREFURSImJihoPSgpPT5XbmEoYyxlLmVudGl0eUtleSxlLnBheWxvYWRbZl0sZikpO2gmJihkW2UuZW50aXR5S2V5XT1kW2UuZW50aXR5S2V5XT9kW2UuZW50aXR5S2V5XS50aGVuKGgpOmgoKSl9cmV0dXJuIF8uVmsuYWxsKE9iamVjdC52YWx1ZXMoZCkpfSl9Owpkb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXshKGE9YS5tdXRhdGlvbnMpfHxhLmxlbmd0aDw9MHx8KGImJmIuZGlzcGF0Y2goXy5rQSh7dHlwZToiRU5USVRZX0xPQURFRCIscGF5bG9hZDphfSkpLGF3YWl0IGNvYShhKSxhLmxlbmd0aD0wKX07ZW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8udUMoKTtiLk9jPSEwO2Iuc2Vzc2lvbklkPWEuc2Vzc2lvbklkfHwiIjtiLmRoPWEuZGg7YS5XaCE9bnVsbCYmKGIuV2g9YS5XaCl9O3NYPWZ1bmN0aW9uKGEpe18udUMoKS5wcm9jZXNzb3JzLnB1c2goYSl9O2ZvYT1mdW5jdGlvbigpe18uVnAuc3Vic2NyaWJlKCJoYW5kbGVFcnJvciIsYT0+e3RyeXtmb3IobGV0IGIgaW4gXy5lSSl0cnl7bGV0IGM9Xy5lSVtiXTt0eXBlb2YgXy5lSVtiXT09PSJmdW5jdGlvbiImJihjPWMoKSk7YS5wYXJhbXNbYl09dHlwZW9mIF8uZUlbYl09PT0ib2JqZWN0Ij9KU09OLnN0cmluZ2lmeShjKTpTdHJpbmcoYyl9Y2F0Y2goYyl7Xy5JcChjKX19Y2F0Y2goYil7Xy5JcChiKX19KX07CmdvYT1mdW5jdGlvbigpe307dFg9ZnVuY3Rpb24oYSxiLGM9MCl7KGM9Xy5pcShjKSkmJmEmJl8ueUooYyxhLGIpfTtob2E9ZnVuY3Rpb24oYSl7cmV0dXJuIFVXKE9iamVjdC5rZXlzKGEpLm1hcChiPT5iPT09InBsYXlsaXN0RWRpdEVuZHBvaW50Ij9fLkIoYSxfLkF6KS5jbGllbnRBY3Rpb25zfHxbXTphW2JdLmFjdGlvbnN8fGFbYl0uY2xpZW50QWN0aW9uc3x8W10pKX07dVg9ZnVuY3Rpb24oYSl7YT1fLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpO3JldHVybiBhPy51cmw/YS51cmw6bnVsbH07dlg9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYSlfLkFKKGMsYiwhMCl9Owppb2E9ZnVuY3Rpb24oKXtfLkpNPXdYO1RXKF8uZ0UsKHtjb21tYW5kOmEsc291cmNlRGF0YTpiLGNvbW1hbmRDb250ZXh0OmN9KT0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSxfLllEKGIsYykpfHwoYT1uZXcgXy5YaigiQ29tbWFuZCBub3QgaGFuZGxlZCBieSBDb21tYW5kSGFuZGxlciIsT2JqZWN0LmtleXMoYSksYyksXy5HcChhKSl9KX07a29hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5QRShqb2EpO3JldHVybiBhIT09dm9pZCAwP2E6Xy5SRTw9Mjk5fTt4WD1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50O3JldHVybiBfLnZiKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sYj0+YG9uJHtiLnRvTG93ZXJDYXNlKCl9YGluIGEpfTsKbG9hPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQ7cmV0dXJuIF8udmIoWyJmdWxsc2NyZWVuZXJyb3IiLCJ3ZWJraXRmdWxsc2NyZWVuZXJyb3IiLCJtb3pmdWxsc2NyZWVuZXJyb3IiLCJNU0Z1bGxzY3JlZW5FcnJvciJdLGI9PmBvbiR7Yi50b0xvd2VyQ2FzZSgpfWBpbiBhKX07eVg9ZnVuY3Rpb24oYSxiLGMpe18ucmlhPF8uc2ooIndlYl9zbGlfbG9nX3dhcm5pbmdfc2FtcGxlX3NpemVfcmF0ZSIsLjAwMSkmJl8uSXAobmV3IF8uWGooYFtTTEldICIke2F9IiBlcnJvcmAse3NsaU5hbWU6YSxkaW1lbnNpb25zOmIsZGV0YWlsczpjfSkpfTsKbm9hPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe2N8fF8uSXAobmV3IF8uWGooIkZ1bGxzY3JlZW4gY2hhbmdlIHNsaSBjYWxsZWQgYmVmb3JlIHN0YXJ0LiIpKX12YXIgYj16WCxjPSExLGQ9e2p3Om1vYX0uancoImZ1bGxzY3JlZW5fcmVxdWVzdCIpLGU9bG9hKCl8fCJmdWxsc2NyZWVuZXJyb3IiO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsZj0+e2EoKTtkLnpnKCJGQUlMVVJFIik7eVgoImZ1bGxzY3JlZW4gcmVxdWVzdCIsYigpLHtldmVudDpmfSk7Yz0hMX0pO2U9eFgoKXx8ImZ1bGxzY3JlZW5jaGFuZ2UiO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsKCk9PnthKCk7ZC56ZygiU1VDQ0VTUyIpO2M9ITF9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbnJlcXVlc3QiLCgpPT57Yz0hMDtkLkRyKGIoKSl9KX07Cm9vYT1mdW5jdGlvbihhKXt2YXIgYj1hLmZhbGxiYWNrRW5kcG9pbnQsYz1hLnRpbWVvdXRNcztpZighXy54KCJtd2ViX2MzX25pdHJhdGVfY2xpZW50X29wZW5fYXBwX2ZhbGxiYWNrX2tzIikmJmEudXJsKXt2YXIgZD1fLlpiKGEudXJsLCJmZWF0dXJlIil8fCIiO2Q9ZC5zdGFydHNXaXRoKCJlMTVtXyIpfHxkLnN0YXJ0c1dpdGgoImUxZF8iKXx8ZC5zdGFydHNXaXRoKCJlM2RfIik7Xy5mciYmZCYmIWImJihhPWEudXJsLGEuc3RhcnRzV2l0aCgidm5kLnlvdXR1YmU6Ly8iKT9hPWEucmVwbGFjZSgidm5kLnlvdXR1YmU6Ly8iLCJodHRwczovLyIpOmEuc3RhcnRzV2l0aCgieW91dHViZTovLyIpJiYoYT1hLnJlcGxhY2UoInlvdXR1YmU6Ly8iLCJodHRwczovLyIpKSxfLlhiKGEsMCwicmVkaXJlY3RfYXBwX3N0b3JlX2lvcyIsYS5zZWFyY2goXy5ZYikpPj0wfHwoYT1fLkZPKGEsInJlZGlyZWN0X2FwcF9zdG9yZV9pb3MiLCIxIikpLGI9Xy53TihhKSwhY3x8Yzw9MCkmJihjPV8uc2ooIm13ZWJfZGVlcF9saW5rX2ZhbGxiYWNrX3RpbWVvdXRfbXMiLAozRTMpKX1yZXR1cm57ZmFsbGJhY2tFbmRwb2ludDpiLHRpbWVvdXRNczpjfX07cG9hPWZ1bmN0aW9uKGEsYil7Xy54KCJtd2ViX2FwcF9idXR0b25fbG9nX2tzIil8fHRYKF8udGlhKTtiLmV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTthPV8uQihhLF8ucWlhKTthPy51cmwmJih3aW5kb3cubG9jYXRpb249YS51cmwpO3ZhciB7ZmFsbGJhY2tFbmRwb2ludDpjLHRpbWVvdXRNczpkfT1hP29vYShhKTp7ZmFsbGJhY2tFbmRwb2ludDp2b2lkIDAsdGltZW91dE1zOnZvaWQgMH07QVg9PT12b2lkIDAmJmQmJmQ+MCYmKEFYPXNldFRpbWVvdXQoKCk9PntBWD12b2lkIDA7YyYmXy5BSihjLGIuc291cmNlRGF0YSwhMCl9LGQpLF8uTk0od2luZG93LCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e0FYJiYod2luZG93LmNsZWFyVGltZW91dChBWCksQVg9dm9pZCAwKX0pKX07CnFvYT1mdW5jdGlvbihhKXt2YXIgYj14WCgpO2ImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGIsKCk9Pnt2YXIgYz0hIV8uWk8oKTtjfHxfLk1PKCIueXR3UGxheWVyQm90dG9tQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uV3JhcHBlciAuZnVsbHNjcmVlbi1pY29uIC5idXR0b24iKTthLnNldEZhdXhGdWxsc2NyZWVuKGMpfSl9O0JYPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNnb29nbGUtZmVlZGJhY2siKTtiJiYoXy5CTihiLGEpLGEmJl8uTU8oKCk9PmIucXVlcnlTZWxlY3RvcigiaWZyYW1lIik/LmNvbnRlbnREb2N1bWVudD8ucXVlcnlTZWxlY3RvcigiLnV2RmVlZGJhY2tGb3JtZm9ybS1pbml0aWFsLWZvY3VzLWVsZW1lbnQsIC51dkZlZWRiYWNrUnNhZGlhbG9nZGlhbG9nIC5zY1NoYXJlZE1hdGVyaWFsYnV0dG9ucm9vdCIpLDUse3JsOiEwfSkpfTsKcm9hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRC5yZXNwb25zZT8ucmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09ImUiKVswXSxiPW5ldyBTZXQoXy53KCJGRVhQX0VYUEVSSU1FTlRTIixbXSkpOyhhPy52YWx1ZT8uc3BsaXQoIiwiKXx8W10pLmZvckVhY2goYz0+e2IuYWRkKE51bWJlcihjKSl9KTtyZXR1cm4gQXJyYXkuZnJvbShiKS5qb2luKCIsIil9Owpzb2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XRCgoKT0+e3ZhciBhPV8uWEQucmVzcG9uc2U/LnJlc3BvbnNlPy5yZXNwb25zZUNvbnRleHQ/LnNlcnZpY2VUcmFja2luZ1BhcmFtcz8uZmlsdGVyKGM9PmMuc2VydmljZT09PSJHRkVFREJBQ0siKVswXS5wYXJhbXM/LmZpbHRlcihjPT5jLmtleT09PSJwcmVtaXVtX21lbWJlcnNoaXAiKVswXSxiPV8uWEQucmVzcG9uc2U/LnBsYXllclJlc3BvbnNlPy5yZXNwb25zZUNvbnRleHQ/LnNlcnZpY2VUcmFja2luZ1BhcmFtcz8uZmlsdGVyKGM9PmMuc2VydmljZT09PSJHRkVFREJBQ0siKVswXS5wYXJhbXM/LmZpbHRlcihjPT5jLmtleT09PSJwcmVtaXVtX21lbWJlcnNoaXAiKVswXTtyZXR1cm4gYT9hLnZhbHVlOmI/Yi52YWx1ZTpudWxsfSl9OwpDWD1mdW5jdGlvbihhKXsobmV3IF8uZnkoYS5vbGRVUkwpKS52PT09IiNmZWVkYmFjayImJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNmZWVkYmFjayImJihCWCghMSksKGE9d2luZG93LkdPT0dMRV9GRUVEQkFDS19ERVNUUk9ZX0ZVTkNUSU9OKSYmYSgpKX07dG9hPWZ1bmN0aW9uKCl7Xy5GSi50aGVuKCgpPT57d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2ZlZWRiYWNrIiYmKF8uWU0/Xy4kTSgiIik6Xy5aTSgpKTtyZXR1cm4gXy5GSn0pfTt1b2E9ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsQ1gpO3RvYSgpO0JYKCExKTtfLkVwKCJ1c2VyRmVlZGJhY2tFdmVudCIse30pfTt2b2E9ZnVuY3Rpb24oKXtyZXR1cm57cHJvZHVjdElkOiI3NzUyMiIsbG9jYWxlOl8udygiSFRNTF9MQU5HIiwiZW4iKSxhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6ITAsYnVja2V0OiJDMyIsY2FsbGJhY2s6dW9hLG9uTG9hZENhbGxiYWNrOigpPT57QlgoITApfX19Owp3b2E9ZnVuY3Rpb24oYSl7dmFyIGI9dm9hKCksYz17Y2xpZW50QXBwVmVyc2lvbjpfLncoIkNMSUVOVF9BUFBfVkVSU0lPTiIsIiIpLGV4cGVyaW1lbnRzOnJvYSgpLGxvZ2dlZF9pbjpfLnRQKCksRGV2aWNlOl8uYmMoKSxwcmVtaXVtX21lbWJlcnNoaXA6c29hKCl9O18uVk0oKXx8Xy5XTSgpO2EmJmEuZm9yRWFjaChkPT57KGQ9ZC51c2VyRmVlZGJhY2tFbmRwb2ludFByb2R1Y3RTcGVjaWZpY1ZhbHVlRGF0YSkmJmQua2V5JiYoY1tkLmtleV09ZC52YWx1ZSl9KTtfLlVOKCkudGhlbigoKT0+e18uJE0oImZlZWRiYWNrIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLENYKTtfLllPKGIsYyl9KX07eG9hPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBEWDtiLmFib3J0KGEpO3JldHVybiBiLnNpZ25hbH07CnlvYT1mdW5jdGlvbigpe2lmKHRoaXMuYWJvcnRlZCl0aHJvdyB0aGlzLnJlYXNvbj8/bmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIGlzIGFib3J0ZWQgd2l0aG91dCByZWFzb24iLCJBYm9ydEVycm9yIik7fTt6b2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO2ZvcihsZXQgYyBvZiBhKWlmKGMuYWJvcnRlZCl7Yi5hYm9ydChjLnJlYXNvbik7YnJlYWt9ZWxzZSBFWC5zZXQoYi5zaWduYWwsYiksRlguYWRkKGMsYi5zaWduYWwpO3JldHVybiBiLnNpZ25hbH07QW9hPWZ1bmN0aW9uKCl7Zm9yKGxldCBhIG9mIEZYLmdldCh0aGlzKSlFWC5nZXQoYSkuYWJvcnQodGhpcy5yZWFzb24pfTtCb2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO3NldFRpbWVvdXQoKCk9PntiLmFib3J0KG5ldyBET01FeGNlcHRpb24oInNpZ25hbCB0aW1lZCBvdXQiLCJUaW1lb3V0RXJyb3IiKSl9LGEpO3JldHVybiBiLnNpZ25hbH07CkNvYT1mdW5jdGlvbigpe3ZhciBhPVtdLGI7dmFyIGM9Y3x8R1gubGVuZ3RoO2ZvcihiPTA7Yjw4O2IrKylhW2JdPUdYWzB8TWF0aC5yYW5kb20oKSpjXTtyZXR1cm4gYS5qb2luKCIiKX07SFg9ZnVuY3Rpb24oYSl7Zm9yKGxldCBbLGJdb2YgT2JqZWN0LmVudHJpZXMoRG9hKSl7bGV0IGM9YjtpZihjPT09IlNMSV9TVEFUVVNfIithKXJldHVybiBjfXJldHVybiJTTElfU1RBVFVTX1VOS05PV04ifTtJWD1mdW5jdGlvbihhLGIsYyl7Yj1IWChiKTtaVyh7ZGltZW5zaW9uczpjLHJlY29yZHM6W3tuYW1lOmEsc3RhdGU6IlNMSV9TVEFURV9FTkQiLHN0YXR1czpifV19KX07Rm9hPWZ1bmN0aW9uKGEpe3JldHVybiBCbmEoYSwoKT0+bmV3IEVvYShhKSl9O21vYT1mdW5jdGlvbihhKXtyZXR1cm4gRm9hKGEpfTtLWD1mdW5jdGlvbihhLGIpe0pYKGEsYCR7Yn0gd2FzIGNhbGxlZCBidXQgbm90IHNldGApfTtIb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEdvYS5pbmRleE9mKGEpPi0xfTsKSlg9ZnVuY3Rpb24oYSxiLGMpe2M9YyE9PXZvaWQgMD9PYmplY3Qua2V5cyhhKS5maWx0ZXIoYyk6T2JqZWN0LmtleXMoYSk7YT1uZXcgXy5YaihgW0NvbW1hbmQgSGFuZGxlcl0gJHtifWAse2ZpbHRlcmVkQ29tbWFuZE5hbWVzOmMsb3JpZ2luYWxDb21tYW5kOmF9KTtfLkdwKGEpfTtJb2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLk5KKTtpZihjJiYoYz1iW2Muc2lnbmFsXSkpcmV0dXJuIGMoKTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpaWYoYltkXSYmKGE9YltkXSkpcmV0dXJuIGEoKX07Sm9hPWZ1bmN0aW9uKGEsYixjPSExLGQ9ITEsZT1bXSl7TFguaW5zdGFuY2U9bmV3IExYKGEsYixjLGQsZSl9OwpLb2E9ZnVuY3Rpb24oYSl7aWYoIWEuRCYmXy53QygiY29tbWFuZCIpKXtsZXQgYj1hLnJlc29sdmVDb21tYW5kO2EucmVzb2x2ZUNvbW1hbmQ9ZnVuY3Rpb24oYyxkKXthOntmb3IoZSBpbiBjKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjLGUpKXt2YXIgZT17Y29tbWFuZFR5cGU6ZX07YnJlYWsgYX1lPXt9fXJldHVybiBfLnlDKCJjb21tYW5kIixlLGIuYmluZCh0aGlzLGMsZCkpfTthLkQ9ITB9fTsKTVg9ZnVuY3Rpb24oYSxiLGMpeyFjPy5tZCYmYS5qJiYoYi5jbGlja1RyYWNraW5nUGFyYW1zPyhjPWM/LmZvcm0/LmVsZW1lbnQsYS5qLmNsaWNrQ29tbWFuZChiLG51bGwsYyYmYy5nZXRTY3JlZW5MYXllciYmYy5nZXRTY3JlZW5MYXllcigpKSk6Yi5jbGlja1RyYWNraW5nUGFyYW1zP2Euai5jbGlja0NvbW1hbmQoYik6IV8ueCgiZGlzYWJsZV9jbGlja2VkX3Zpc3VhbF9lbGVtZW50X2luX2NvbW1hbmRfaGFuZGxlciIpJiZjPy5jbGlja2VkVmlzdWFsRWxlbWVudCYmXy53SihhLmosYy5jbGlja2VkVmlzdWFsRWxlbWVudCkpfTsKTG9hPWZ1bmN0aW9uKGEsYixjKXtpZighYS5CKXJldHVybntoYW5kbGVkOiExfTt2YXIgZD1Jb2EoYixhLkIpO3JldHVybiBkPygoYS5LLnNvbWUoZT0+ISFfLkIoYixlKSl8fGM/LlBwfHwhYS5JKSYmTVgoYSxiLGMpLHtoYW5kbGVkOiEwLFprOihhc3luYygpPT57YXdhaXQgKGQgaW5zdGFuY2VvZiBQcm9taXNlP2F3YWl0IGQ6ZCkucmVzb2x2ZShiLGMpfSkoKX0pOntoYW5kbGVkOiExfX07Ck5YPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1Nb2EoYik7aWYoIWM/LlRLKXtsZXQgZj1Mb2EoYSxiLGMpO2lmKGYuaGFuZGxlZClyZXR1cm4gZn1pZihkKXJldHVybiBOb2EoYSxiLGMpO2lmKCFhLnYpcmV0dXJuIEpYKGIsIlVuaGFuZGxlZCBjb21tYW5kIGJ5IGJ1aWxkQ29tbWFuZFBheWxvYWQiKSx7aGFuZGxlZDohMX07dmFyIGU9YS52KGIsYyk7Yz8uRWkmJihlLkVpPWMuRWkpO2lmKGUudHlwZT09PTApe2lmKCFhLm5hdmlnYXRlKXJldHVybiBLWChiLCJuYXZpZ2F0ZSIpLHtoYW5kbGVkOiExfTtpZighXy5CKGUuY29tbWFuZD8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwpcmV0dXJuIEpYKGIsIlBhZ2UgcmVxdWVzdHMgbmVlZCB0byBzcGVjaWZ5IGEgdXJsIikse2hhbmRsZWQ6ITF9O2lmKE9vYShhLGUuY29tbWFuZCkpcmV0dXJue2hhbmRsZWQ6ITF9O18ueCgibG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpJiZfLmlvKCkudHJhbnNpdGlvbigiYXBwbGljYXRpb25fbmF2aWdhdGluZyIpOwpiPWEubmF2aWdhdGUoZSl8fFtdO2Q9UHJvbWlzZS5yZXNvbHZlKEduYShiKS50aGVuKCgpPT57YS5vLmRlbGV0ZShlLmNvbW1hbmQpfSkpO2EuaiYmIWEuWSYmQW5hKGEuaixlLmNvbW1hbmQse2NsaWNrZWRWaXN1YWxFbGVtZW50OmM/LmNsaWNrZWRWaXN1YWxFbGVtZW50LGZsOmIsbGF5ZXI6ZS5sYXllcixhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTo0fSk7cmV0dXJue2hhbmRsZWQ6ITAsWms6ZH19aWYoZS50eXBlPT09MSlyZXR1cm4gS1goYiwiaGFuZGxlU2VydmljZVJlcXVlc3QiKSx7aGFuZGxlZDohMX07ZS50eXBlPT09MiYmS1goYiwic2VuZEFjdGlvbiIpO3JldHVybntoYW5kbGVkOiExfX07TW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLF8uenopPy5zaWduYWw9PT0iQ0xJRU5UX1NJR05BTCI7cmV0dXJuISFfLkIoYSxfLlNEKXx8Yn07Ck5vYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1fLkIoYixfLlNEKTtlP2Q9ZT8uY29tbWFuZHN8fFtdOl8uQihiLF8uenopPy5zaWduYWw9PT0iQ0xJRU5UX1NJR05BTCImJihkPV8uQihiLF8uenopPy5hY3Rpb25zfHxbXSk7aWYoZCl7KGU9UG9hKGEsZCkpJiZNWChhLGIsYyk7Yj1bXTtmb3IobGV0IGYgb2YgZCl0cnl7ZD17Li4uY307ZSYmKGQubWQ9ITApO2xldCBoPU5YKGEsZixkKTtoLmhhbmRsZWQmJmIucHVzaChoLlprKX1jYXRjaChoKXtoIGluc3RhbmNlb2YgRXJyb3ImJl8uR3AoaCl9cmV0dXJue2hhbmRsZWQ6ITAsWms6UHJvbWlzZS5hbGxTZXR0bGVkKGIpLnRoZW4oKCk9Pnt9KX19SlgoYiwiQ291bGQgbm90IGhhbmRsZSB0aGUgbWV0YSBjb21tYW5kIik7cmV0dXJue2hhbmRsZWQ6ITF9fTtPb2E9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Euby5hZGQoYik7cmV0dXJuITF9OwpQb2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5ldmVyeShjPT5hLk0uc29tZShkPT4hIV8uQihjLGQpKSl9O1FvYT1mdW5jdGlvbihhLGIpe2E9YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2lmKGEubGVuZ3RoKXJldHVybiBhPy5maW5kKGM9PmM/LmdldExhbmd1YWdlSW5mbygpPy5nZXRJZCgpPT09Yil9O1JvYT1mdW5jdGlvbihhLGIsYyl7YT1fLiRPKGEpO2lmKGEubGVuZ3RoKXJldHVybiBjP2EuZmluZChkPT5kLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/ZC50cmFuc2xhdGlvbkxhbmd1YWdlLmxhbmd1YWdlQ29kZT09PWI6ITEpOmE/LmZpbmQoZD0+ZC5sYW5ndWFnZUNvZGU9PT1iKX07ClNvYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7aWYoYj8ubGVuZ3RoKXt2YXIgYz1hLmdldEF1ZGlvVHJhY2soKTthPXtsaXN0SXRlbXM6Wy4uLmIubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0TmFtZSgpfSxpc1NlbGVjdGVkOmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PWM/LmdldExhbmd1YWdlSW5mbygpLmdldElkKCksc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7YXVkaW9UcmFja1NlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZTpkLmdldExhbmd1YWdlSW5mbygpLmdldElkKCl9fV19fX19fX19KSldLAp2aXNpYmxlRWxlbWVudENvdW50OjV9O3JldHVybntzaG93U2hlZXRDb21tYW5kOntwYW5lbExvYWRpbmdTdHJhdGVneTp7aW5saW5lQ29udGVudDp7c2hlZXRWaWV3TW9kZWw6e2hlYWRlcjp7cGFuZWxIZWFkZXJWaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoIkFVRElPX1RSQUNLIix2b2lkIDAsIkF1ZGlvIFRyYWNrIil9fX0sY29udGVudDp7bGlzdFZpZXdNb2RlbDphfX19fX19fX07T1g9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrbGlzdCIse2luY2x1ZGVBc3I6ITB9KX07VG9hPWZ1bmN0aW9uKGEpe3ZhciBiPU9YKGEpO2lmKGI/Lmxlbmd0aClyZXR1cm4gYjthLmxvYWRNb2R1bGUoImNhcHRpb25zIik7cmV0dXJuIE9YKGEpfTsKUFg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKTtpZihiKXJldHVybiBiO2EubG9hZE1vZHVsZSgiY2FwdGlvbnMiKTtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKX07UVg9ZnVuY3Rpb24oYSxiKXtyZXR1cm57cGFuZWxIZWFkZXJWaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoYSx2b2lkIDAsYil9fX19OwpWb2E9ZnVuY3Rpb24oYSl7dmFyIGI9VG9hKGEpO2lmKGI/Lmxlbmd0aCl7dmFyIGM9UFgoYSk7YT17bGlzdEl0ZW1zOlt7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoIlBMQVlFUl9DQVBUSU9OX09GRiIsdm9pZCAwLCJPZmYiKX0saXNTZWxlY3RlZDohYz8ubGFuZ3VhZ2VDb2RlLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbe2NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZToiIn19LHtoaWRlU2hlZXRDb21tYW5kOnt9fV19fX19fX19LC4uLmIubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQuZGlzcGxheU5hbWV9LGlzU2VsZWN0ZWQ6ZC5kaXNwbGF5TmFtZT09PQpjPy5kaXNwbGF5TmFtZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3tjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kOntsYW5ndWFnZUNvZGU6ZC5sYW5ndWFnZUNvZGV9fSx7aGlkZVNoZWV0Q29tbWFuZDp7fX1dfX19fX19fSkpLHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiQVVUT19UUkFOU0xBVEUiLHZvaWQgMCwiQXV0by10cmFuc2xhdGUiKX0saXNTZWxlY3RlZDohIWMudHJhbnNsYXRpb25MYW5ndWFnZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIiwuLi4oISFjLnRyYW5zbGF0aW9uTGFuZ3VhZ2UmJntzZWxlY3Rpb25UZXh0Ontjb250ZW50OmM/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8CiIifX0pLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbVW9hKGEpXX19fX19fX1dLHZpc2libGVFbGVtZW50Q291bnQ6NX07cmV0dXJue3Nob3dTaGVldENvbW1hbmQ6e3BhbmVsTG9hZGluZ1N0cmF0ZWd5OntpbmxpbmVDb250ZW50OntzaGVldFZpZXdNb2RlbDp7aGVhZGVyOlFYKCJQTEFZRVJfQ0FQVElPTiIsIkNhcHRpb25zIiksY29udGVudDp7bGlzdFZpZXdNb2RlbDphfX19fX19fX07ClVvYT1mdW5jdGlvbihhKXt2YXIgYj1fLmFQKGEpO2lmKCFiPy5sZW5ndGgpdGhyb3cgRXJyb3IoImJlIik7dmFyIGM9UFgoYSk7YT17bGlzdEl0ZW1zOlsuLi5iLmZpbHRlcihkPT4hZC5sYW5ndWFnZUNvZGU/LnN0YXJ0c1dpdGgoImVuIikpLm1hcChkPT4oe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpkLmxhbmd1YWdlTmFtZXx8IiJ9LGlzU2VsZWN0ZWQ6ZC5sYW5ndWFnZU5hbWU9PT1jPy50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWUsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7Y2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOmQubGFuZ3VhZ2VDb2RlLGlzQXV0b1RyYW5zbGF0ZWQ6ITB9fSwKe2hpZGVTaGVldENvbW1hbmQ6e319XX19fX19fX0pKV0sdmlzaWJsZUVsZW1lbnRDb3VudDo1fTtyZXR1cm57c2hvd1NoZWV0Q29tbWFuZDp7cGFuZWxMb2FkaW5nU3RyYXRlZ3k6e2lubGluZUNvbnRlbnQ6e3NoZWV0Vmlld01vZGVsOntoZWFkZXI6UVgoIkFVVE9fVFJBTlNMQVRFIiwiQXV0by10cmFuc2xhdGUiKSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19O1dvYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZ3KCk7aWYoYil7dmFyIGM9e3dlYkNsaWVudENvbXBvbmVudHNEYXRhOntjb21wb25lbnRzOkFycmF5LmZyb20oYS5pZHMsZD0+KHtpZDpkfSkpfX07YS5pZHMuY2xlYXIoKTtfLmh4KCkudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChiLGMpfX07ClhvYT1mdW5jdGlvbihhKXt2YXIgYj16WDthLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLGM9PntpZihhKXt2YXIgZD1hLmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkO2QhPT1SWCYmYz09PTEmJihSWD1kLFNYLm8oYigpKSxUWC5vKGIoKSkpfX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYz0+e1NYLmooYigpKTt5WCgicGxheWVyIGVycm9yIixiKCkse2Vycm9yQ29kZTpjfSl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGxheWJhY2stdW5wbGF5YWJsZSIsYz0+e1RYLmooYigpKTt5WCgicGxheWVyIHVucGxheWFibGUiLGIoKSx7cmVhc29uOmMuZGV0YWlsPy5yZWFzb259KX0pfTtZb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmouZ2V0KGIpO2lmKGMpcmV0dXJuIGMucHJvbWlzZTtjPW5ldyBfLmNzO2Euai5zZXQoYixjKTtyZXR1cm4gYy5wcm9taXNlfTsKWm9hPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5PbS5nZXQoYik7cmV0dXJuIGM/YzpZb2EoYSxiKX07JG9hPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYS5wYW5lbExvYWRpbmdTdHJhdGVneT8ucmVxdWVzdFRlbXBsYXRlKXRyeXtsZXQgYz1hd2FpdCBhLm8uUWkoYik7aWYoYylyZXR1cm4gYy5jb250ZW50O18uR3AoRXJyb3IoImNlIikpfWNhdGNoKGMpe18uR3AoYyl9fTtWWD1mdW5jdGlvbihhLGIpe3JldHVybiBVWChhKT8ub3coYik/P2J9O1VYPWZ1bmN0aW9uKGEpe3JldHVybiBfLlpPKCkmJmEuTT9hLk06YS5jb250YWluZXJ9O1dYPWZ1bmN0aW9uKGEpe2EuWSYmKGNsZWFyVGltZW91dChhLlkpLGEuWT12b2lkIDApO2EuQiYmKGNsZWFyVGltZW91dChhLkIpLGEuQj12b2lkIDApfTsKJFg9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD1jKXt2YXIgZT17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7bGV0IGY9Xy5adCxoPWF3YWl0IGEuZG0oKTtfLlZ6KGUsXy52TShmKSk7aWYoaClpZihhLm8pe2lmKGEuY3VycmVudFRhcmdldD09PWMpcmV0dXJuO1hYKGEpO1lYKGEpO2F3YWl0IFVYKGEpPy5KZSgpfWVsc2UgaWYoIV8ueCgiZGVsYXlfc2hlZXRfb3Blbl9raWxsc3dpdGNoIikpe2lmKF8ueCgid2ViX2Nsb3NlX3NoZWV0X2lmX3NhbWVfdGFyZ2V0X2tpbGxzd2l0Y2giKSYmYyYmYS5jdXJyZW50VGFyZ2V0PT09Yyl7VVgoYSk/LkplKCk7cmV0dXJufWEudj17ZGF0YTpiLHRhcmdldDpWWChhLGMpfTtyZXR1cm59Yi52aWV3TW9kZWwmJihiPXt2aWV3TW9kZWw6Yi52aWV3TW9kZWwsVXI6Yi5VcixleHBhbmRUb0Z1bGxXaWR0aDpiLmV4cGFuZFRvRnVsbFdpZHRoLG9wZW5Ub1NpZGU6Yi5vcGVuVG9TaWRlfSk7VVgoYSk/LndnKGIsYyxkKTthLmN1cnJlbnRUYXJnZXQ9CmM7YS5vPyhhLkkoKSxhLmN1cnJlbnRUYXJnZXQ/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuSSksYS5jdXJyZW50VGFyZ2V0Py5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLlopLFpYKGEpKTphLkQmJlpYKGEpfWNhdGNoKGYpe2UuZXJyb3I9ZixlLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihlKX19O1hYPWZ1bmN0aW9uKGEpe2EuY3VycmVudFRhcmdldD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5JKTthLmN1cnJlbnRUYXJnZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGEuWil9O1lYPWZ1bmN0aW9uKGEpe3ZhciBiPVVYKGEpPy5YcCgpO2I/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuVSk7Yj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5LKX07ClpYPWZ1bmN0aW9uKGEpe3ZhciBiPVVYKGEpPy5YcCgpO2I/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuVSk7Yj8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5LKX07YVk9YXN5bmMgZnVuY3Rpb24oYSl7aWYoYS5vKXtpZihhLmopcmV0dXJuO1hYKGEpO1lYKGEpfWVsc2UgYS5EJiYoWVgoYSksYS5LKCkpO2F3YWl0IFVYKGEpPy5KZSgpO2EuY3VycmVudFRhcmdldD12b2lkIDA7YS5qPSExO2Eubz0hMTthLmhpZGVEZWxheU1zPTA7YS5zaG93RGVsYXlNcz0wO2EuRD0hMTthLnYmJiFfLngoImRlbGF5X3NoZWV0X29wZW5fa2lsbHN3aXRjaCIpJiYoYXdhaXQgYS53ZyhhLnYuZGF0YSxhLnYudGFyZ2V0KSxhLnY9dm9pZCAwKX07CmFwYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7cmV0dXJue2NsZWFyOmZ1bmN0aW9uKCl7Yz1iLmxlbmd0aD0wfSxwdXNoOmZ1bmN0aW9uKGQpe2JbY109ZDtjPShjKzEpJWF9LFp4OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWIubGVuZ3RoO2ZvcihsZXQgZT0wO2U8ZDtlKyspeWllbGQgYlsoYytlKSVkXX0oKX19fTticGE9ZnVuY3Rpb24oYSl7YS55bHx8KGEueWw9W10pO3ZhciBiPWEueWwubWFwKF8uUFcpLGM9bmV3IFNldChiKSxkPWFwYShhLmJ1ZmZlclNpemUpO3JldHVybntmbHVzaDpmdW5jdGlvbigpe3ZhciBlPUFycmF5LmZyb20oZC5aeCgpKTtkLmNsZWFyKCk7ZT1lLm1hcChmPT4oe25hbWU6Zi5uYW1lLHRpbWVzdGFtcDpmLnN0YXJ0VGltZSxhdHRyaWJ1dGVzOmYuYXR0cmlidXRlc30pKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9LEdtKGUpe2UubmFtZT09PSJldmVudCImJmMuaGFzKGUuYXR0cmlidXRlcy50eXBlKXx8ZC5wdXNoKGUpfX19OwpjcGE9ZnVuY3Rpb24oYSl7dmFyIHtmbHVzaDpiLEdtOmN9PWJwYShhKTtzWCh7R206Y30pO18uVnAuc3Vic2NyaWJlKCJoYW5kbGVFcnJvciIsZD0+e3RyeXtkLnBhcmFtcy5icmVhZGNydW1icz1iKCl9Y2F0Y2goZSl7Xy5HcChlLCJXQVJOSU5HIil9fSl9O2JZPWZ1bmN0aW9uKCl7Xy5Teigid2ViX3RyYWNpbmdfYWN0aW9uIik7Xy5Ueigid2ViX3RyYWNpbmdfYWN0aW9uIix7fSx2b2lkIDAsIkxBVEVOQ1lfQUNUSU9OX1dFQl9UUkFDSU5HIil9O2VZPWZ1bmN0aW9uKCl7aWYoY1kpcmV0dXJuIndlYl90cmFjaW5nX2FjdGlvbiI7ZFkoKTtzZXRJbnRlcnZhbChkWSw2RTUpO2NZPSEwO3JldHVybiJ3ZWJfdHJhY2luZ19hY3Rpb24ifTtkWT1mdW5jdGlvbigpe18uU3ooIndlYl90cmFjaW5nX2FjdGlvbiIpO18uVHooIndlYl90cmFjaW5nX2FjdGlvbiIse30sdm9pZCAwLCJMQVRFTkNZX0FDVElPTl9XRUJfVFJBQ0lORyIpfTsKZHBhPWZ1bmN0aW9uKGEsYj1lWSgpLGMpe3JldHVybigwLF8uY3QpKGEubmFtZSwoYS5lbmRUaW1lPz9hLnN0YXJ0VGltZSktYS5zdGFydFRpbWUsYS5zdGFydFRpbWUse3dlYlRyYWNpbmc6e1thLm5hbWVdOmEuYXR0cmlidXRlc319LGMsYix7c3BhblN0YXR1czphLnN0YXR1cyxyb290U3Bhbk5vbmNlOnZvaWQgMCxxdTp2b2lkIDB9KX07Zlk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kcGEoYSxiLGMpO2lmKGEuY2hpbGRyZW4pZm9yKGxldCBlIG9mIGEuY2hpbGRyZW4pZlkoZSxiLGMsZHx8Yyl9OwplcGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z29hLmJpbmQobnVsbCwieXQudGVsZW1ldHJ5X2V4dGVuc2lvbiIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixjPT57Yy5kYXRhJiZ0eXBlb2YgYy5kYXRhPT09Im9iamVjdCImJihjPWMuZGF0YSxjLmZyb209PT0iZXh0ZW5zaW9uIiYmYy5hcHA9PT0ieXQudGVsZW1ldHJ5IiYmKGIoIlJlY2VpdmVkIG1lc3NhZ2UgZnJvbSBleHRlbnNpb24iLGMpLGEub25NZXNzYWdlKGMpKSl9KTtyZXR1cm4gZnVuY3Rpb24oYyxkKXtjPXthcHA6Inl0LnRlbGVtZXRyeSIsZnJvbToiYXBwIixrZXk6YyxwYXlsb2FkOmR9O2IoIlNlbmRpbmcgbWVzc2FnZSB0byBleHRlbnNpb24iLGMpO3dpbmRvdy5wb3N0TWVzc2FnZShjLCIqIil9fTsKZnBhPWZ1bmN0aW9uKCl7dmFyIGE9ZXBhKHtvbk1lc3NhZ2UoKXt9fSksYj1bXTtyZXR1cm57bHIoYyl7Yy5wYXJlbnRJZD09bnVsbCYmYi5wdXNoKGMpPT09MSYmc2V0VGltZW91dCgoKT0+e3ZhciBkPVsuLi5iXTtiLmxlbmd0aD0wO2EoInNwYW5zUmVwb3J0ZWQiLHtzcGFuczpkfSl9LDNFMyl9fX07Z3BhPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LmZldGNoO3dpbmRvdy5mZXRjaD0oLi4uYik9Pnt2YXIgW2MsZD17fV09YixlPV8ueUMoImh0dHBFdmVudCIse21ldGhvZDpkLm1ldGhvZHx8IkdFVCIscGF0aDpnWShjKSx0eXBlOiJmZXRjaCJ9LHthY3RpdmU6ITF9KTtyZXR1cm4gYSguLi5iKS50aGVuKGY9PntlLkRlKHtzdGF0dXNDb2RlOmYuc3RhdHVzLHN0YXR1c1RleHQ6Zi5zdGF0dXNUZXh0fSk7ZS5lbmQoKTtyZXR1cm4gZn0pLmNhdGNoKGY9PntlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKTt0aHJvdyBmO30pfX07CmhwYT1mdW5jdGlvbigpe3ZhciBhPVhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZS5vcGVuLGI9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLnNlbmQ7WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oYyxkLGU9ITAsZixoKXt0aGlzLnY9e21ldGhvZDpjLHVybDpkLnRvU3RyaW5nKCl9O3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt2YXIgaz10aGlzLmo7az8uRGUoe3N0YXR1c0NvZGU6dGhpcy5zdGF0dXMscmVzcG9uc2VDb250ZW50TGVuZ3RoOnRoaXMucmVzcG9uc2VUZXh0Lmxlbmd0aH0pO2s/LmVuZCgpfSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2YXIgaz10aGlzLmo7az8uRGUoe3N0YXR1c0NvZGU6dGhpcy5zdGF0dXMsc3RhdHVzVGV4dDp0aGlzLnN0YXR1c1RleHR9KTtrPy5lbmQoIlNQQU5fU1RBVFVTX0VSUk9SIil9KTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cywKYWJvcnRlZDohMH0pO2s/LmVuZCgpfSk7YS5hcHBseSh0aGlzLFtjLGQsZSxmLGhdKX07WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYyl7dmFyIHttZXRob2Q6ZCx1cmw6ZX09dGhpcy52fHx7bWV0aG9kOiJOL0EiLHVybDoiTi9BIn07dGhpcy5qPV8ueUMoImh0dHBFdmVudCIse21ldGhvZDpkLHBhdGg6Z1koZSksdHlwZToieGhyIn0se2FjdGl2ZTohMX0pO2IuYXBwbHkodGhpcyxbY10pfX07Z1k9ZnVuY3Rpb24oYSl7dHJ5e2lmKGEgaW5zdGFuY2VvZiBVUkwpcmV0dXJuIGEucGF0aG5hbWU7YSBpbnN0YW5jZW9mIFJlcXVlc3QmJihhPWEudXJsKTtyZXR1cm4obmV3IFVSTChhLCJodHRwczovL3lvdXR1YmUuY29tIikpLnBhdGhuYW1lfWNhdGNoKGIpe3JldHVybiI8dW5hYmxlIHRvIHBhcnNlIHBhdGg+In19OwpqcGE9ZnVuY3Rpb24oKXt3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt0cnl7bGV0IGE9d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKTtpZihhLmxlbmd0aD4wKXtsZXQgYj1hWzBdLGM9d2luZG93LnBlcmZvcm1hbmNlLnRpbWVPcmlnaW47Xy55QygicGFnZUxvYWQiLHtuYXZpZ2F0aW9uVHlwZTppcGEoYi50eXBlKSx1bmxvYWRFdmVudFN0YXJ0Ok1hdGgucm91bmQoYi51bmxvYWRFdmVudFN0YXJ0KSx1bmxvYWRFdmVudEVuZDpNYXRoLnJvdW5kKGIudW5sb2FkRXZlbnRFbmQpLGRvbUludGVyYWN0aXZlOk1hdGgucm91bmQoYi5kb21JbnRlcmFjdGl2ZSksZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0KSxkb21Db250ZW50TG9hZGVkRXZlbnRFbmQ6TWF0aC5yb3VuZChiLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCksCmRvbUNvbXBsZXRlOk1hdGgucm91bmQoYi5kb21Db21wbGV0ZSksbG9hZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLmxvYWRFdmVudFN0YXJ0KSxsb2FkRXZlbnRFbmQ6TWF0aC5yb3VuZChiLmxvYWRFdmVudEVuZCkscmVkaXJlY3RDb3VudDpiLnJlZGlyZWN0Q291bnR9LHthY3RpdmU6ITEsc3RhcnRUaW1lOmMrYi5zdGFydFRpbWUsZW5kVGltZTpjK2IubG9hZEV2ZW50RW5kfSl9fWNhdGNoKGEpe319KX07CmlwYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX05BVklHQVRFIjtjYXNlICJyZWxvYWQiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX1JFTE9BRCI7Y2FzZSAiYmFja19mb3J3YXJkIjpyZXR1cm4iUEVSRk9STUFOQ0VfTkFWSUdBVElPTl9USU1JTkdfVFlQRV9CQUNLX0ZPUldBUkQiO2Nhc2UgInByZXJlbmRlciI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfUFJFUkVOREVSIjtkZWZhdWx0OnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX1VOS05PV04ifX07CmxwYT1mdW5jdGlvbigpe0luYSgoYSxiKT0+e3ZhciBjPW5ldyBNYXAsZCxlPWVZKCk7Zm9yKGxldCBoIG9mIGEuc3BhbnMpe2lmKGgubWFya2VyKWNvbnRpbnVlO3ZhciBmPWIuZ2V0KGguaWQpPy5nZXQoXy5Pdik7bGV0IGs9Zj9rcGFbZi50eXBlXTp2b2lkIDA7aWYoIWZ8fGguZHVyYXRpb25Ncz09PXZvaWQgMHx8az09PXZvaWQgMCl7aC5wYXJlbnRJZCE9PXZvaWQgMCYmKGY9Yy5nZXQoaC5wYXJlbnRJZCksZiE9PXZvaWQgMCYmYy5zZXQoaC5pZCxmKSk7Y29udGludWV9bGV0IGw9YS5uSytoLnlLLG09aC5wYXJlbnRJZCE9PXZvaWQgMD9jLmdldChoLnBhcmVudElkKTp2b2lkIDAsbixwO3N3aXRjaChmLnR5cGUpe2Nhc2UgIlJlbmRlciI6Y2FzZSAiRWZmZWN0IjpjYXNlICJPbkluaXQiOmNhc2UgIlJlbmRlckVmZmVjdCI6cD1mLmxvY2F0aW9uO2JyZWFrO2Nhc2UgIkNyZWF0ZVJlYWN0aXZlQ29tcG9uZW50IjpuPWYuY29tcG9uZW50TmFtZTticmVhaztjYXNlICJDb21wdXRlZCI6bj0KZi5oSTtwPWYubG9jYXRpb247YnJlYWs7Y2FzZSAiU2lnbmFsVXBkYXRlIjpuPWYuU0t9aWYoZj0oMCxfLmN0KSgiY293X3NwYW4iLGguZHVyYXRpb25NcyxsLHt3ZWJUcmFjaW5nOntjb3dTcGFuOnt0eXBlOmssbmFtZTpuLGNvZGVMb2NhdGlvbjpwfX19LG0sZSx7cm9vdFNwYW5Ob25jZTpkfSkpYy5zZXQoaC5pZCxmKSxkPT09dm9pZCAwJiYoZD1mKX19KX07CnBwYT1mdW5jdGlvbigpe3ZhciBhPWhZLnZhbHVlLGI9e307Zm9yKGxldCBjIG9mIGEuSHYpYltjXT0hMDtlb2Eoe3Nlc3Npb25JZDpfLkZuKCksZGg6YixXaChjLGQsZSl7cmV0dXJuIG1wYT9jPT09InNob3J0VG9TaG9ydCJ8fGU/Lld6KCk/Lm5hbWU9PT0ic2hvcnRUb1Nob3J0IjohMH19KTtmb2EoKTtfLndDKCJwYWdlTG9hZCIpJiZqcGEoKTtfLndDKCJjb3dTcGFuIikmJmxwYSgpO18ud0MoImh0dHBFdmVudCIpJiYoZ3BhKCksaHBhKCkpO2EuUXYmJnNYKG5wYSk7YS5SdiYmc1goZnBhKCkpO2EuTXE+MCYmY3BhKHt5bDpvcGEsYnVmZmVyU2l6ZTphLk1xfSl9OwpqWT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDB8fGEuZ2V0QXR0cmlidXRlKCJ2aWV3Qm94Iil8fGEuc2V0QXR0cmlidXRlKCJ2aWV3Qm94IixgMCAwICR7Yn0gJHtifWApO2Euc2V0QXR0cmlidXRlKCJmb2N1c2FibGUiLCJmYWxzZSIpO2Euc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTtiPV8ueCgia2lsbHN3aXRjaF9yZW1vdmVfaWNvbl9maWxsX2NvbG9yIik7YS5nZXRBdHRyaWJ1dGUoImZpbGwiKSE9PSJjdXJyZW50Y29sb3IiJiZhLmdldEF0dHJpYnV0ZSgiZmlsbCIpIT09ImN1cnJlbnRDb2xvciJ8fGJ8fGEucmVtb3ZlQXR0cmlidXRlKCJmaWxsIik7dHJ5e2Euc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsYS5zdHlsZS5kaXNwbGF5PSJpbmhlcml0IixhLnN0eWxlLndpZHRoPSIxMDAlIixhLnN0eWxlLmhlaWdodD0iMTAwJSJ9Y2F0Y2goYyl7aVkoe2Vycm9yOmM/LnRvU3RyaW5nP2MudG9TdHJpbmcoKToiIn0pO3RyeXthLnN0eWxlLmNzc1RleHQ9InBvaW50ZXItZXZlbnRzOiBub25lOyBkaXNwbGF5OiBpbmhlcml0OyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyJ9Y2F0Y2goZCl7aVkoe2Vycm9yOmQ/LnRvU3RyaW5nPwpkLnRvU3RyaW5nKCk6IiJ9KX19cmV0dXJuIGF9OwpxcGE9ZnVuY3Rpb24oYSl7aWYoXy54KCJ3aWxfaWNvbnNfY2FjaGVfcHVyZ2Vfa2lsbHN3aXRjaCIpKXJldHVybiExO3RyeXt2YXIgYj1fLnUubG9jYWxTdG9yYWdlfWNhdGNoKGUpe3JldHVybiExfWlmKCFifHwhYS5CKXJldHVybiExO3ZhciBjPWU9Pnt0cnl7Yj8uc2V0SXRlbSgieXQtaWNvbnMtbGFzdC1wdXJnZWQiLGUudG9TdHJpbmcoKSl9Y2F0Y2goZil7aVkoe2Vycm9yOmY/LnRvU3RyaW5nP2YudG9TdHJpbmcoKToiIn0pfX0sZD1OdW1iZXIoYi5nZXRJdGVtKCJ5dC1pY29ucy1sYXN0LXB1cmdlZCIpKTtpZighZClyZXR1cm4gZD1uZXcgRGF0ZSxkPWQuc2V0RGF0ZShkLmdldERhdGUoKS1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTArMSkpLGMoZCksITE7aWYoZnVuY3Rpb24oZSxmKXtlPW5ldyBEYXRlKGUpO2Y9bmV3IERhdGUoZik7cmV0dXJuIGYuZ2V0TW9udGgoKS1lLmdldE1vbnRoKCkrMTIqKGYuZ2V0RnVsbFllYXIoKS1lLmdldEZ1bGxZZWFyKCkpfShkLERhdGUubm93KCkpPAozKXJldHVybiExO3RyeXtyZXR1cm4gXy51LmNhY2hlcy5kZWxldGUoInl0LWljb25zIikudGhlbihlPT57ZSYmYyhEYXRlLm5vdygpKTtyZXR1cm4gZX0pLmNhdGNoKCgpPT4hMSkuZmluYWxseSgoKT0+e2EuSz0hMX0pfWNhdGNoKGUpe3JldHVybiBpWSh7ZXJyb3I6ZT8udG9TdHJpbmc/ZS50b1N0cmluZygpOiIifSksITF9fTsKa1k9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnVybDtpZighcnBhKGMpKXRocm93IEVycm9yKCJkZSIpO3JldHVybiBzcGEoYSxjKS50aGVuKGQ9PmQuY2xvbmUoKS50ZXh0KCkpLnRoZW4oZD0+e3ZhciBlPV8uZ2IoZCk7ZD1iLnNpemU7dmFyIGY9Xy5DZCgiRElWIik7Xy56QShmLGUpO2lmKGYuZmlyc3RFbGVtZW50Q2hpbGQhPT12b2lkIDApZT1mLmZpcnN0RWxlbWVudENoaWxkO2Vsc2UgZm9yKGU9Zi5maXJzdENoaWxkO2UmJmUubm9kZVR5cGUhPTE7KWU9ZS5uZXh0U2libGluZztlPV8uRGQoZSk7ZD1qWShlLGQpO2EuRFtjXT1kLmNsb25lTm9kZSghMCk7ZGVsZXRlIGEuWVtjXTtyZXR1cm4gZH0pLmNhdGNoKCgpPT57fSl9OwpsWT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4oZSxmKT0+e3ZhciBoPV8uQ2QoIkRJViIpLGs9e2ljb25XaWR0aDpgJHtiLnNpemV9cHhgLGljb25IZWlnaHQ6YCR7Yi5zaXplfXB4YCxqeDoiYmxvY2siLC4uLmYsaWNvbkNvbG9yOmY/Lmljb25Db2xvcj8/ImN1cnJlbnRjb2xvciJ9O2Y9ay5pY29uQ29sb3I7dmFyIGw9ay5hZztrPWB3aWR0aDogJHtrLmljb25XaWR0aH07IGhlaWdodDogJHtrLmljb25IZWlnaHR9OyBkaXNwbGF5OiAke2suanh9O2A7bCYmKGsrPWAgZmlsdGVyOiAke2x9O2ApO2M9PT0wJiYoays9YCBmaWxsOiAke2Z9O2ApO2M9PT0xJiYobD1iLnVybCxrKz1gIC13ZWJraXQtbWFzazogdXJsKCR7bH0pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjsgbWFzazogdXJsKCR7bH0pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjsgYmFja2dyb3VuZC1jb2xvcjogJHtmfWApO2IudnUmJmEuS2s9PT0icnRsIiYmKGsrPSIgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7Iik7Cmguc2V0QXR0cmlidXRlKCJzdHlsZSIsayk7Yz09PTAmJmQmJmguYXBwZW5kQ2hpbGQoZCk7ZS5hcHBlbmRDaGlsZChoKX19OwpuWT1mdW5jdGlvbihhLGIpe2lmKGIpe2EuY291bnRlcis9MTthPWBfeXQke2EuY291bnRlcn1gO2I9W2IsLi4uYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpXTtmb3IobGV0IGMgb2YgYilpZihjLnRhZ05hbWU9PT0ic3R5bGUiJiZjLnRleHRDb250ZW50KWMudGV4dENvbnRlbnQ9bVkoYy50ZXh0Q29udGVudCxhLCEwKTtlbHNlIGZvcihsZXQgZCBvZiBjLmF0dHJpYnV0ZXMpe2QubmFtZT09PSJpZCImJihkLnZhbHVlKz1hKTtbIm1hc2siLCJmaWxsIiwiY2xpcC1wYXRoIl0uaW5jbHVkZXMoZC5uYW1lKSYmKGQudmFsdWU9bVkoZC52YWx1ZSxhKSk7aWYoZC5uYW1lPT09InN0eWxlIil7Yj1jLnN0eWxlO3RyeXtiLmNzc1RleHQ9bVkoYi5jc3NUZXh0LGEsITApfWNhdGNoKGUpe2lZKHtlcnJvcjplPy50b1N0cmluZz8uKCl8fCIiLGVsOmMub3V0ZXJIVE1MLHN0eWxlOiEhYixjc3NUZXh0OmI/LmNzc1RleHR9KX19ZC5uYW1lPT09InhsaW5rOmhyZWYiJiYoZC52YWx1ZT1kLnZhbHVlLnJlcGxhY2UoLyMoLiopLywKYCMkMSR7YX1gKSl9fX07bVk9ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkPS91cmxcKFsiJ10/IyguKj8pWyInXT9cKS87YyYmKGQ9L3VybFwoWyInXT8jKC4qPylbIiddP1wpL2cpO3JldHVybiBhLnJlcGxhY2UoZCxgdXJsKCMkMSR7Yn0pYCl9O2lZPWZ1bmN0aW9uKGEpe18uSXAobmV3IF8uWGooIkVycm9yIGluIEljb25NYW5hZ2VyIixhKSl9O3JwYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgdHBhKWlmKGEuc3RhcnRzV2l0aChiKSYmYS5lbmRzV2l0aCgiLnN2ZyIpKXJldHVybiEwO3JldHVybiExfTsKc3BhPWFzeW5jIGZ1bmN0aW9uKGEsYil7YS5RYSYmYXdhaXQgdXBhKGEpO3ZhciBjPWEuWVtiXTtpZighYyl7bGV0IGQ9YXN5bmMoKT0+e3ZhciBlPWEuQj9hLlp8fGF3YWl0IGEuVTp2b2lkIDA7cmV0dXJuIGEub2E/YS5nYShiLGUpLmNhdGNoKGEuaGEuYmluZChhLGIsZSkpOmEuaGEoYixlKS5jYXRjaChhLmdhLmJpbmQoYSxiLGUpKX07Yz1hLk1hP25ldyBQcm9taXNlKChlLGYpPT57Xy5ZaigoKT0+e2QoKS50aGVuKGUpLmNhdGNoKGYpfSwxMCl9KTpkKCk7YS5ZW2JdPWN9cmV0dXJuIGMuY2F0Y2goZD0+e2RlbGV0ZSBhLllbYl07aVkoe2Vycm9yOmQ/LnRvU3RyaW5nP2QudG9TdHJpbmcoKToiIix1cmw6Yn0pO3Rocm93IGQ7fSl9O3VwYT1mdW5jdGlvbihhKXt2YXIgYj1hLnY/LnByb21pc2U7Ynx8KGEudj1uZXcgXy5jcyxiPWEudi5wcm9taXNlLF8udS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnthLnY/LnJlc29sdmUoKTthLnY9bnVsbH0pKTtyZXR1cm4gYn07CnBZPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYS5JPHZwYSlyZXR1cm4gYS5JKz0xLG9ZKGEsYikuZmluYWxseSgoKT0+ey0tYS5JO2lmKE9iamVjdC5rZXlzKGEubykubGVuZ3RoKXtsZXQgZD1PYmplY3Qua2V5cyhhLm8pWzBdLGU9YS5vW2RdO2RlbGV0ZSBhLm9bZF07ZS5yZXNvbHZlKHBZKGEsZCkpfX0pO3ZhciBjPW5ldyBfLmNzO2Eub1tiXT1jO3JldHVybiBjLnByb21pc2V9O3dwYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXtkJiZuZXcgUHJvbWlzZShlPT57Xy5Zaihhc3luYygpPT57YS5vYSYmYXdhaXQgZC5tYXRjaChiKS5jYXRjaCgoKT0+e30pfHxhd2FpdCBkLnB1dChiLGMuY2xvbmUoKSkuY2F0Y2goZj0+e2lZKHtlcnJvcjpmPy50b1N0cmluZz9mLnRvU3RyaW5nKCk6IiIsdXJsOmJ9KX0pO2UoKX0sNTApfSl9OwpvWT1hc3luYyBmdW5jdGlvbihhLGIsYz0yKXtyZXR1cm4gXy51LmZldGNoKGIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIscHJpb3JpdHk6ImxvdyJ9KS50aGVuKGQ9PmQub2s/ZDpQcm9taXNlLnJlamVjdChFcnJvcigiZWVgIitkLnN0YXR1cysiYCIrZC5zdGF0dXNUZXh0KSkpLmNhdGNoKGQ9PntpZihjPjApcmV0dXJuIG9ZKGEsYixjLTEpO3Rocm93IGQ7fSl9OwpyWT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hW2IuaWNvbk5hbWVdfHxbXTthPXZvaWQgMDtmb3IobGV0IGggb2YgZSl7YTp7dmFyIGY9Yi5pY29uU2l6ZTtlPWIuaWNvblN0eWxlO2Y9IWZ8fGY9PT1oWzJdO2xldCBrPXFZW2hbMF1dO2lmKGQmJmQhPT1oWzFdfHwhZnx8ZSYmZSE9PWspe2U9ITE7YnJlYWsgYX1pZighYSl7ZT0hMDticmVhayBhfWU9cVlbaFswXV07ZT0hIWIuaWNvblN0eWxlfHxlPT09InlvdXR1YmVfb3V0bGluZSI7Zj1hLnZlcnNpb248PWhbMV07ZT0oISFiLmljb25TaXplfHxoWzJdPT09MjQpJiZlJiZmfWUmJihhPXtuYW1lOmIuaWNvbk5hbWUsc3R5bGU6cVlbaFswXV0sc2l6ZTpoWzJdLHZlcnNpb246aFsxXSx2dTohIWhbM10sdXJsOmMoYi5pY29uTmFtZSxoKX0pfXJldHVybiBhfTtzWT1mdW5jdGlvbihhLGIsYyxkPSExKXtyZXR1cm5gJHthfSR7cVlbY1swXV19JHtkPyJfZXhwZXJpbWVudGFsIjoiIn0vJHtifS92JHtjWzFdfS8ke2NbMl19cHguc3ZnYH07CnRZPWZ1bmN0aW9uKGEpe3JldHVybiBfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpIT09IldFQl9SRU1JWCImJl8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIikhPT0iV0VCX0NSRUFUT1IiPyJib29rbWFyayI6YX07dVk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIil8fGI/eHBhW2EudG9VcHBlckNhc2UoKV06eXBhW2EudG9VcHBlckNhc2UoKV19O3pwYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvIixhLGIpfTtBcGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gc1koImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pLyIsYSxiLCEwKX07d1k9ZnVuY3Rpb24oKXt2WS5pbnN0YW5jZXx8KHZZLmluc3RhbmNlPW5ldyB2WSk7cmV0dXJuIHZZLmluc3RhbmNlfTsKeFk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQnBhLmhhcyhiKXx8Xy53KCJJU19IT01FUEFHRV9DT0xEIil8fF8udygiSVNfUkVTVUxUU19QQUdFX0NPTEQiKXx8Xy53KCJJU19XQVRDSF9QQUdFX0NPTEQiKT9hLnNpZ25hbHMuaW5kZXhPZihiKT49MDohMH07eVk9ZnVuY3Rpb24oYSl7dmFyIGI9ITE7cmV0dXJuKCk9PntifHwoYj0hMCxhKCkpfX07QVk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZih6WS5oYXMoZCkpXy5DaygpLkdhKGIsYyxlKTtlbHNle2xldCBmPWEuai5nZXQoZCk7ZiYmXy5DaygpLkdhKCgpPT57eFkoYSxkKXx8KGYuaGc/Xy5DaygpLkdhKGIsYyk6Zi5Cbi5wdXNoKCgpPT57Xy5DaygpLkdhKGIsYyl9KSl9LGMsZSl9fTtDcGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9KCk9PnthLldtKGIpfTtmb3IobGV0IGYgb2YgZClhLmFkZExpc3RlbmVyKGYsZSk7YS5qLnNldChiLHtzaWduYWxzOmMsVng6ITAsaXNJbml0aWFsaXplZDohMSxoZzohMSxCbjpbXX0pO0JZKGEsYil9OwpCWT1mdW5jdGlvbihhLGIpe2lmKCF4WShhLGIpKXt2YXIgYz1hLmouZ2V0KGIpO2lmKGMmJiFjLmhnKXt2YXIgZD0hMSxlPTAsZj0wO2ZvcihsZXQgaCBvZiBjLnNpZ25hbHMpe2xldCBrPSF4WShhLGgpO2lmKHpZLmhhcyhoKSlkPSEwO2Vsc2V7bGV0IGw9YS5qLmdldChoKTtsP2smJiFsLmhnJiYoZisrLGMuaXNJbml0aWFsaXplZHx8bC5Cbi5wdXNoKCgpPT57QlkoYSxiKX0pKTprJiZlKyt9fWMuaXNJbml0aWFsaXplZD0hMDtjLlZ4P2QmJihjLmhnPSEwKTplPT09MCYmZj09PTAmJihjLmhnPSEwKTtpZihjLmhnKWZvcihsZXQgaCBvZiBjLkJuKWgoKX19fTsKRHBhPWZ1bmN0aW9uKGEpe2E9YS5vcGVuUG9wdXBBY3Rpb258fGE7dmFyIGI9YS5wb3B1cFR5cGUsYz1hLnBvcHVwO3N3aXRjaChiKXtjYXNlICJUT0FTVCI6Zm9yKGxldCBkIGluIGMpYy5oYXNPd25Qcm9wZXJ0eShkKSYmXy5wUCgoKT0+Xy5LKF8uVyx7ZGF0YTooKT0+Y30se25vdGlmaWNhdGlvbkFjdGlvblJlbmRlcmVyOkNZfSksYS5kdXJhdGlvbkhpbnRNcyxhLnJldXNlUG9wdXApO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImZlYCIrYik7fX07CkRZPWZ1bmN0aW9uKGEsYil7dmFyIGM9dVgoYSk7aWYoYyl7dmFyIGQ9dm9pZCAwLGU9Xy5CKGE/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KTtlJiZlLnJvb3RWZSYmKGQ9ZS5yb290VmUpO18ucVAoe2hyZWY6YyxwYXJhbXM6e2l0Y3Q6YS5jbGlja1RyYWNraW5nUGFyYW1zLGF1dG9uYXY6Yj8uYXV0b25hdn0sdGFyZ2V0Ol8uS08oKSYmXy5CKGEsXy5CaGEpPyJfYmxhbmsiOnZvaWQgMCxhazpkLGNsaWNrZWRWaXN1YWxFbGVtZW50OmIuY2xpY2tlZFZpc3VhbEVsZW1lbnQsaW1wbGljaXRHZXN0dXJlVHlwZTpiLmltcGxpY2l0R2VzdHVyZVR5cGUsZWxlbWVudDpiLmV2ZW50Py50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50P2IuZXZlbnQudGFyZ2V0OnZvaWQgMCxlbmRwb2ludDphLHBhcmVudExheWVyOmIucGFyZW50TGF5ZXJ9KX19OwpFcGE9ZnVuY3Rpb24oYSxiKXtpZihfLngoImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCIpKWlmKEVZKXt2YXIgYz1fLkIoYSxfLkF3KSxkPWM/LnZpZGVvSWQsZT1jPy5wbGF5bGlzdElkO2R8fGU/KGE9e3ZpZGVvX2lkOmR9LGMmJihhLnBsYXllcl9wYXJhbXM9Yy5wbGF5ZXJQYXJhbXMpLGU/KGEubGlzdD1lLEVZLmxvYWRQbGF5bGlzdChhKSk6RVkubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGEpKTooYz1uZXcgXy5YaigiRW1jM2RzIFdhdGNoRW5kcG9pbnQgbWFsZm9ybWVkIix7Y29tbWFuZDpKU09OLnN0cmluZ2lmeShhKX0pLF8uR3AoYyksRFkoYSxiKSl9ZWxzZSBjPW5ldyBfLlhqKCJFbWMzZHMgV2F0Y2hFbmRwb2ludCByZXNvbHZlZCB3aXRob3V0IHBsYXllckFwaSIse2NvbW1hbmQ6SlNPTi5zdHJpbmdpZnkoYSl9KSxfLkdwKGMpLERZKGEsYik7ZWxzZSBEWShhLGIpfTtGWT1mdW5jdGlvbihhKXtyZXR1cm57cmVzb2x2ZTooYixjPXt9KT0+e2EoYixjLmZvcm18fHt9KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9fX07CkhZPWZ1bmN0aW9uKGEsYil7R1kucHVzaCh7YWN0aW9uOmEsY29udGV4dDpifSl9O0ZwYT1mdW5jdGlvbigpe1RXKEdZLCh7YWN0aW9uOmEsY29udGV4dDpifSk9PntfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKGEse2Zvcm06Yn0pfHxKWChhLCJBY3Rpb24gbm90IGhhbmRsZWQgYnkgQ29tbWFuZEhhbmRsZXIiLEhvYSl9KX07CklZPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGYgb2YgaG9hKGEpKUhZKGYsYyk7YT1iLmRhdGE/LmFjdGlvbnM/P1tdO2Zvcih2YXIgZCBvZiBhKUhZKGQsYyk7ZD1iLmRhdGE/LmNvbW1hbmRzPz9bXTtmb3IodmFyIGUgb2YgZClIWShlLGMpOyhlPWIuZGF0YT8uY29tbWFuZCkmJkhZKGUsYyk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zPz9bXSxjLnNvdXJjZURhdGEpO3ZYKGIuZGF0YT8ub25SZXNwb25zZVJlY2VpdmVkQ29tbWFuZHM/P1tdLGMuc291cmNlRGF0YSk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHM/P1tdLGMuc291cmNlRGF0YSk7KGI9Yi5kYXRhPy51cGRhdGVGbG93Q29tbWFuZCkmJkhZKGIsYyl9OwpKWT1hc3luYyBmdW5jdGlvbihhLGI9Xy5MaGEpe3ZhciBjPWI7Xy5CKGEsXy5BeSl8fChjPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl8fCIifSxiKSk7Yj1hd2FpdCBfLnkoKS5yZXNvbHZlKF8uSHkpKCk7aWYoYi5KdyhhKSlyZXR1cm4gYi5RaShhLGMpLnRoZW4oZD0+ZD8uZGF0YT9kLmRhdGE6ZCkudGhlbihkPT57dmFyIGU7KGU9ZD8uZGF0YT8udHJhY2tpbmdQYXJhbXMpJiZfLmx4KF8uaHgoKSxlKTtyZXR1cm57Y29kZTpkJiZkLmVycm9yPyJFUlJPUiI6IlNVQ0NFU1MiLGRhdGE6ZH19KTt0aHJvdyBuZXcgXy5Yaigibm8gcmVxdWVzdCBidWlsZGVyIGZvdW5kIixhKTt9O0hwYT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkuc29tZShiPT5iIGluIEdwYSl9OwpLWT1mdW5jdGlvbihhKXt2YXIgYj1hLmRhdGE/LmNvbnRlbnRzPy5bMF07aWYoIWJ8fCFIcGEoYikpcmV0dXJuIGE7Yj17b3BlblBvcHVwQWN0aW9uOntwb3B1cFR5cGU6IkRJQUxPRyIscG9wdXA6Yn19O2EuZGF0YS5hY3Rpb25zfHwoYS5kYXRhLmFjdGlvbnM9W10pO2EuZGF0YS5hY3Rpb25zLnB1c2goYik7cmV0dXJuIGF9OwpNWT1mdW5jdGlvbihhLGIsYyl7Xy5CKGEsXy5BeSkmJmEuY2xpY2tUcmFja2luZ1BhcmFtcyYmKExZPV8uVXcoYS5jbGlja1RyYWNraW5nUGFyYW1zKSk7cmV0dXJuIEpZKGEsYykudGhlbihkPT57aWYoXy5CKGEsXy5BeSk/LnJlcXVlc3Q9PT0iQ09OVElOVUFUSU9OX1JFUVVFU1RfVFlQRV9SRUVMX1dBVENIX1NFUVVFTkNFIil7dmFyIGU9ZC5kYXRhO2UmJiFlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMmJihlLmVudHJpZXN8fGUucHJldkVudHJpZXMpJiYoZS5lbnRyaWVzPyhlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnM9W10sZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zLnB1c2goe2FwcGVuZFJlZWxXYXRjaFNlcXVlbmNlQ29udGludWF0aW9uRW50cmllc0FjdGlvbjp7ZW50cmllczplLmVudHJpZXMsY29udGludWF0aW9uRW5kcG9pbnQ6ZS5jb250aW51YXRpb25FbmRwb2ludH19KSk6ZS5wcmV2RW50cmllcyYmKGUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucz1bXSwKZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zLnB1c2goe2FwcGVuZFJlZWxXYXRjaFNlcXVlbmNlQ29udGludWF0aW9uRW50cmllc0FjdGlvbjp7cHJldkVudHJpZXM6ZS5wcmV2RW50cmllcyxwcmV2Q29udGludWF0aW9uRW5kcG9pbnQ6ZS5wcmV2Q29udGludWF0aW9uRW5kcG9pbnR9fSkpKX1pZihfLkIoYSxfLlV6KXx8Xy5CKGEsXy5kTykpYi5jdXJyZW50RGF0YXx8KGIuY3VycmVudERhdGE9Xy5YRD8ucmVzcG9uc2U/P3t9KSxiLnNvdXJjZURhdGF8fChiLnNvdXJjZURhdGE9YSk7SVkoYSxLWShkKSxiKTtfLkIoYSxfLkF5KSYmZD8uZGF0YT8udHJhY2tpbmdQYXJhbXMmJl8ubHgoXy5oeCgpLGQuZGF0YS50cmFja2luZ1BhcmFtcyxMWSk7cmV0dXJuIGR9LGQ9Pnt2YXIgZT1PYmplY3Qua2V5cyhhKS5maWx0ZXIoZj0+Xy5NYShmLCJFbmRwb2ludCIpKVswXTtlJiYoZT1hW2VdLChlPWU/Lm9uRmFpbHVyZUFjdGlvbj8/ZT8ub25GYWlsdXJlQ29tbWFuZCkmJkhZKGUsYikpO3Rocm93IGQ7Cn0pfTtJcGE9ZnVuY3Rpb24oYSxiKXtfLkIoYSxfLmNFKT8ubmF2aWdhdGlvblR5cGU9PT0iQlJPV1NFX05BVklHQVRJT05fVFlQRV9TVEFZX09OX1BBR0UiP01ZKGEsYik6RFkoYSxiKX07SnBhPWZ1bmN0aW9uKGEsYil7aWYoYT0oXy5CKGEsXy5TRCl8fGEpLmNvbW1hbmRzKWZvcihsZXQgYyBvZiBhKV8uS00oYyk/Xy5BSihjLGIuc291cmNlRGF0YSwhMCxiKTpIWShjLGIpfTsKTHBhPWFzeW5jIGZ1bmN0aW9uKGEpe2E9Xy5CKGEsS3BhKTtpZihhPy50ZXh0JiZuYXZpZ2F0b3IuY2xpcGJvYXJkKXRyeXtpZihhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhLnRleHQpLGEuc3VjY2Vzc0FjdGlvbnMmJmEuc3VjY2Vzc0FjdGlvbnMubGVuZ3RoIT09MClmb3IobGV0IGIgb2YgYS5zdWNjZXNzQWN0aW9ucylfLkFKKGIse30sITEpfWNhdGNoKGIpe2lmKGEuZmFpbHVyZUFjdGlvbnMmJmEuZmFpbHVyZUFjdGlvbnMubGVuZ3RoIT09MClmb3IobGV0IGMgb2YgYS5mYWlsdXJlQWN0aW9ucylfLkFKKGMse30sITEpfX07TXBhPWZ1bmN0aW9uKGEpeygwLF8ud2lhKSh7bm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbjp7dG9nZ2xlQnV0dG9uUmVuZGVyZXI6YS5zb3VyY2VEYXRhfX0sYj0+KHsuLi5iLG5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b246e3RvZ2dsZUJ1dHRvblJlbmRlcmVyOmEuc291cmNlRGF0YX19KSl9OwpOcGE9ZnVuY3Rpb24oYSxiKXtNWShhLGIpLnRoZW4oKCk9PntNcGEoYil9KX07UHBhPWZ1bmN0aW9uKGEpe18ucVAoe2hyZWY6Xy5LeihgdGVsOiR7Xy5CKGEsT3BhKS5waG9uZU51bWJlcn1gLFtfLkhxXSkudG9TdHJpbmcoKSxlbmRwb2ludDphfSl9O1JwYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIEpZKGEsYykudGhlbihkPT57SVkoYSxLWShkKSxiKTt2YXIgZT1fLldEKCgpPT5kLmRhdGEucmVkaXJlY3RFbmRwb2ludCk7ZSYmXy5BSihlLGQuZGF0YSwhMSl9LGQ9PntfLnBQKCgpPT5RcGEpO3Rocm93IGQ7fSl9O1RwYT1mdW5jdGlvbihhKXt2YXIgYj1fLkIoYSxTcGEpLGM9YHNtczoke2IucGhvbmVOdW1iZXJzJiZiLnBob25lTnVtYmVyc1swXX1gO2IubWVzc2FnZVRleHQmJihjKz1gPyZib2R5PSR7ZW5jb2RlVVJJKGIubWVzc2FnZVRleHQpfWApO18ucVAoe2hyZWY6Xy5LeihjLFtfLk9xXSkudG9TdHJpbmcoKSxlbmRwb2ludDphfSl9OwpVcGE9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RpYWxvZyJ9O05ZPWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgXy5GSjtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLnlQKSk7Yj8ucnEoKSYmYi5sZCgpO3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNkaWFsb2ciP18uWU0/c2V0VGltZW91dCgoKT0+e18uJE0oIiIpO2EoKX0sMTAwKTpfLlpNKCkudGhlbigoKT0+e2EoKX0pOmEoKX0pfTsKV3BhPWZ1bmN0aW9uKGEsYixjLGQpe1ZwYShjKTtjPU9ZKGEpO3ZhciBlPW5hdmlnYXRvcixmPV8uZnImJl8udygiTVdFQl9JT1NfTkFUSVZFX1NIQVJFIiksaD17dXJsOmN9O2lmKCghXy5mcnx8ZikmJmUuc2hhcmUmJmMmJmUuY2FuU2hhcmUmJmUuY2FuU2hhcmUoaCkpe2xldCBrPV8uRXgoXy5oeCgpLHt2ZVR5cGU6OTc3MH0pLGw9e291dGJvdW5kQXBwRGF0YTp7b3V0Ym91bmRBcHA6IkRJUkVDVF9TWVNURU1fQUNUSVZJVFlfRElBTE9HIn0sc2hhcmluZ0RhdGE6e3NlcmlhbGl6ZWRTaGFyZUVudGl0eTpkfX07Xy5KTyhrLGwsNyk7ZS5zaGFyZShoKS50aGVuKCgpPT57dFgoayxsLDcpfSkuY2F0Y2gobT0+e20ubmFtZSE9PSJBYm9ydEVycm9yIiYmKF8uSXAobmV3IF8uWGooIlN5c3RlbSBTaGFyZSBQYW5lbCBmYWlsZWQgdG8gb3Blbi4iKSksUFkoYSxiKSl9KX1lbHNlIFBZKGEsYil9OwpWcGE9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9Xy5oeCgpO18uRE8oYiwyMTc2MCx2b2lkIDAse2xheWVyOjcscGFyZW50TGF5ZXI6MH0pO18ubHgoYixhLHZvaWQgMCw3KX19O1BZPWZ1bmN0aW9uKGEsYil7dmFyIGM9T1koYSk7Xy5ncnx8Xy5URSgpfHxfLnJQKCk/Xy55KCkucmVzb2x2ZShfLnlQKS5vcGVuRGlhbG9nKHtVbjooKT0+Xy5LKFhwYSx7ZGF0YTphfSl9KTpfLnlOKHtoZWFkZXJUaXRsZToiU2hhcmUiLEdiOigpPT5fLksoImRpdiIse2NsYXNzOiJib3R0b20tc2hlZXQtc2hhcmUtaXRlbSJ9LF8uSyhfLk8se0E6KCk9PmMsdGhlbjpkPT5fLksoUVkse3Nob3J0VXJsOmQsdHJhY2tpbmdQYXJhbXM6UlkoYSl9KX0pLFNZKGEpPy5tYXAoZD0+ZD8uc2hhcmVUYXJnZXRSZW5kZXJlcj9fLksoVFkse2RhdGE6ZC5zaGFyZVRhcmdldFJlbmRlcmVyfSk6bnVsbCkpLEhhOiExLGZvY3VzT25DbG9zZTpiPy5ldmVudD8udGFyZ2V0fSl9OwpTWT1mdW5jdGlvbihhKXtpZihhLmNvbnRlbnRzJiZhLmNvbnRlbnRzWzBdKXJldHVybihhPWEuY29udGVudHNbMF0udGhpcmRQYXJ0eU5ldHdvcmtTZWN0aW9uPy5zaGFyZVRhcmdldENvbnRhaW5lcj8udGhpcmRQYXJ0eVNoYXJlVGFyZ2V0U2VjdGlvblJlbmRlcmVyPy5zaGFyZVRhcmdldHMpJiZhLmxlbmd0aD41P2Euc2xpY2UoMCw1KTphfTtPWT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50cyYmYS5jb250ZW50c1swXT9fLkIoYS5jb250ZW50c1swXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LmNvcHlMaW5rQ29udGFpbmVyLFVZKT8uc2hvcnRVcmw6IiJ9O1JZPWZ1bmN0aW9uKGEpe3JldHVybiBfLkIoXy5CKGE/LmNvbnRlbnRzPy5bMF0udGhpcmRQYXJ0eU5ldHdvcmtTZWN0aW9uPy5jb3B5TGlua0NvbnRhaW5lcixVWSk/LmNvcHlCdXR0b24sXy5WTCk/LnRyYWNraW5nUGFyYW1zfTsKWnBhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5aeik/LnNoYXJlUGFuZWxUeXBlLGQ9Xy5CKGEsXy5aeik/LnNlcmlhbGl6ZWRTaGFyZUVudGl0eTtNWShhLGIpLnRoZW4oZT0+e1lwYShlLGIsYyxkKX0pfTtZcGE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5jb2RlPT09IlNVQ0NFU1MiJiZhLmRhdGEpYT1hLmRhdGEsYS5jb250ZW50cyYmYS5jb250ZW50cy51bmlmaWVkU2hhcmVQYW5lbFJlbmRlcmVyJiZjPT09IlNIQVJFX1BBTkVMX1RZUEVfVU5JRklFRF9TSEFSRV9QQU5FTCImJldwYShhLmNvbnRlbnRzLnVuaWZpZWRTaGFyZVBhbmVsUmVuZGVyZXIse2V2ZW50OmI/LmV2ZW50fSxhLnRyYWNraW5nUGFyYW1zLGQpO2Vsc2V7Xy5nRj09PXZvaWQgMCYmKF8uZ0Y9a29hKCkpO2xldCBlPV8uZ0Y/JHBhOmFxYTtfLnBQKCgpPT5lKX19O2JxYT1mdW5jdGlvbihhKXthPWEucGFuZWxJZGVudGlmaWVyfHxhLmlkZW50aWZpZXI/LnRhZztpZighYSl0aHJvdyBFcnJvcigiZ2UiKTtyZXR1cm4gYX07CmRxYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8uQihhLF8uUVcpO2lmKGMpe3ZhciBkPV8uV0QoKCk9PmI/LmV2ZW50Py5jdXJyZW50VGFyZ2V0fHxiPy5lbGVtZW50KSxlPWJxYShjKTt2YXIgZj1jP2MuZ2xvYmFsQ29uZmlndXJhdGlvbj8uaW5pdGlhbFN0YXRlfHxjLmVuZ2FnZW1lbnRQYW5lbDp2b2lkIDA7aWYoZSl7bGV0IGg9Xy55KCkucmVzb2x2ZShfLmJMKSxrPWF3YWl0IF8ueSgpLnJlc29sdmUoXy5IeSkoKTthd2FpdCBjcWEoaCx7aWRlbnRpZmllcjplLElqOmYsdGFyZ2V0OmR9KTtjLmdsb2JhbENvbmZpZ3VyYXRpb24mJihhPWF3YWl0IGsuUWkoYSksYXdhaXQgVlkoaCx7aWRlbnRpZmllcjplLElqOmE/LmNvbnRlbnQsdG46ITF9KSl9fX07CmVxYT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5FTyh3aW5kb3csYSwibG9naW5Qb3B1cCIsIndpZHRoPTgwMCxoZWlnaHQ9NjAwLHJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMiKSlIbmEoKCk9PntiKCl9KSxhLm1vdmVUbygoc2NyZWVuLndpZHRoLTgwMCkvMiwoc2NyZWVuLmhlaWdodC02MDApLzIpfTtmcWE9ZnVuY3Rpb24oYSxiKXtfLktPKCk/KChiPXVYKGEpKSYmXy5FTyh3aW5kb3csYiksYS5jbGlja1RyYWNraW5nUGFyYW1zJiZfLnpKKGEuY2xpY2tUcmFja2luZ1BhcmFtcykpOl8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiI/KGE9dVgoYSkpJiZlcWEoYSwoKT0+e3dpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX0pOkRZKGEsYil9OwpncWE9ZnVuY3Rpb24oYSl7aWYoYS5zb3VyY2VEYXRhLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyPy5jaGFubmVsSWQpKDAsXy54UCkoe2NoYW5uZWxJZDphLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIuY2hhbm5lbElkfSxjPT4oey4uLmMsc3Vic2NyaWJlZDohYS5zb3VyY2VEYXRhLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLnN1YnNjcmliZWR9KSk7ZWxzZXt2YXIgYj1fLkIoYS5zb3VyY2VEYXRhLnNlcnZpY2VFbmRwb2ludCxfLkR5KTtiJiYoMCxfLnhQKSh7Y2hhbm5lbElkOmIuY2hhbm5lbElkcz8uWzBdfSxjPT4oey4uLmMsc3Vic2NyaWJlZDohMX0pKX19O1dZPWZ1bmN0aW9uKGEsYixjKXtNWShhLGIsYykudGhlbigoKT0+e2dxYShiKX0pfTsKaHFhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5WRCksZD1jLnVybDtjPWMudGFyZ2V0PT09IlRBUkdFVF9ORVdfV0lORE9XIj8iX2JsYW5rIjoiIjt2YXIgZTthLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihlPXtpdGN0OmEuY2xpY2tUcmFja2luZ1BhcmFtc30pO3ZhciBmPWI/LnNvdXJjZURhdGE/LnBhcmFtcz8udGltZXN0YW1wO2YmJihlPXsuLi5lLHRpbWVzdGFtcDpmfSk7Xy5xUCh7aHJlZjpkLHBhcmFtczplLHRhcmdldDpjLGVuZHBvaW50OmEsYWs6Xy5CKGE/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucm9vdFZlLGVsZW1lbnQ6Yi5ldmVudD8udGFyZ2V0fSl9O2lxYT1mdW5jdGlvbihhKXt3b2EoXy5CKGEsXy5mY2EpPy5hZGRpdGlvbmFsRGF0YXMpfTsKanFhPWZ1bmN0aW9uKGEpe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZSIsYj0+e3ZhciBjPWIuZGV0YWlsO2MucGFyYW1zfHwoYy5wYXJhbXM9e30pO2I9Yy5wYXJhbXM7dmFyIGQ9Yi5pdGN0O2QmJihfLmh4KCkuQ2YoZCksZGVsZXRlIGIuaXRjdCk7Yj1jLmhyZWY7aWYoIVhZW2JdKXtkPSExO2lmKGIuc3RhcnRzV2l0aCgiaHR0cCIpfHxiLnN0YXJ0c1dpdGgoIi8vIikpe3ZhciBlPWI/Xy5QTShiKS5ob3N0bmFtZXx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOiIiLGY9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO2lmKGQ9ZSE9PWYpZT1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLGY9Zi5zcGxpdCgiLiIpLnNsaWNlKC0yKSxlLmxlbmd0aCYmZi5sZW5ndGgmJihkPWUuam9pbigiLiIpIT09Zi5qb2luKCIuIikpfVhZW2JdPWR9ZD1YWVtiXTtpZihkKV8uRU8od2luZG93LGIpO2Vsc2V7ZD1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKTthOntpZighYS5nZXRWaWRlb0RhdGEoKS5pc0xpdmUpe2lmKChmPQpjLnBhcmFtcykmJmYudGltZXN0YW1wKXtmPWYudGltZXN0YW1wO2JyZWFrIGF9aWYoIV8ueCgiZW1iZWRzX2VtYzNkc19hbHdheXNfY3VydGltZV9rcyIpJiYoZj0vXmh0dHBzPzpcL1wvd3d3LnlvdXR1YmUuY29tXC93YXRjaFw/dj0oW0EtWmEtejAtOV8tXXsxMX0pLy5leGVjKGMuaHJlZik/LlsxXSkmJmY9PT1hLmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkJiYoZj1hLmdldEN1cnJlbnRUaW1lKCksZj4wKSl7Zj1NYXRoLmZsb29yKGYpLnRvU3RyaW5nKCk7YnJlYWsgYX19Zj12b2lkIDB9ZT0oZT1jLmVsZW1lbnQpP18uVXgoZSk/P3ZvaWQgMDp2b2lkIDA7YTp7aWYoZSl7dmFyIGg9ZS5nZXRBc0pzb24oKTtlPWgudmVUeXBlO2g9aC50cmFja2luZ1BhcmFtcztpZihlKXtlPVN0cmluZyhlKTticmVhayBhfWlmKGgmJihlPV8uRW8oXy5DbyhoKSwyKSkpe2U9ZS50b1N0cmluZygpO2JyZWFrIGF9fWU9dm9pZCAwfWV8fChNYXRoLnJhbmRvbSgpPF8uc2ooImVtYmVkc19sb2dfd2FybmluZ19zYW1wbGVfc2l6ZV9yYXRlIiwKLjAwMSkmJl8uSXAobmV3IF8uWGooIlVzaW5nIGZhbGxiYWNrIFZFIGZvciBlbGVtZW50OiAiLHt0YWdOYW1lOmMuZWxlbWVudD8udGFnTmFtZSxjbGFzc0xpc3Q6Yy5lbGVtZW50Py5jbGFzc0xpc3QudG9TdHJpbmcoKSxkZXRhaWw6Y30pKSxlPSgyMTQyODMpLnRvU3RyaW5nKCkpO2M9e307ZC53aWRnZXRSZWZlcnJlciYmKGMuZW1iZWRzX3dpZGdldF9yZWZlcnJlcj1kLndpZGdldFJlZmVycmVyKTtkLmxvYWRlclVybCYmKGMuZW1iZWRzX3JlZmVycmluZ19ldXJpPWQubG9hZGVyVXJsLnN1YnN0cmluZygwLDEyOCkpO2QuaXNFbWJlZCYmZC5lbWJlZHNJZnJhbWVPcmlnaW5QYXJhbSYmKGMuZW1iZWRzX3JlZmVycmluZ19vcmlnaW49ZC5lbWJlZHNJZnJhbWVPcmlnaW5QYXJhbSk7ZC5pc0VtYmVkJiZkLmVtYmVkc0ZlYXR1cmUmJihjLmZlYXR1cmU9ZC5lbWJlZHNGZWF0dXJlKTtkPWU7Yj0obmV3IFVSTChiLCJodHRwczovL3d3dy55b3V0dWJlLmNvbSIpKS50b1N0cmluZygpO2YmJgooYj1fLmVqKGIse3RpbWVfY29udGludWU6Zn0pKTtpZihkKXtpZighXy5NaygiY29iYWx0Iikpe2Y9W107ZT0wO2ZvcihoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWQuY2hhckNvZGVBdChoKTtrPjI1NSYmKGZbZSsrXT1rJjI1NSxrPj49OCk7ZltlKytdPWt9ZD1fLnNjKGYsNCl9Yj1fLmVqKGIse3NvdXJjZV92ZV9wYXRoOmR9KX1jJiYoYj1fLmVqKGIsYykpO18uRU8od2luZG93LGIpfX0pfTsKa3FhPWZ1bmN0aW9uKCl7dmFyIGE9e307YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsL2Nsb3NlZF9jYXB0aW9uL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0zLjAxIDNDMyAzIDMgMyAzLjAxIDNMMyAyMWgxOFYzSDMuMDF6TTExIDExSDkuNXYtLjVoLTJ2M2gyVjEzSDExdjFjMCAuNTUtLjQ1IDEtMSAxSDdjLS41NSAwLTEtLjQ1LTEtMXYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxem03IDBoLTEuNXYtLjVoLTJ2M2gyVjEzSDE4djFjMCAuNTUtLjQ1IDEtMSAxaC0zYy0uNTUgMC0xLS40NS0xLTF2LTRjMC0uNTUuNDUtMSAxLTFoM2MuNTUgMCAxIC40NSAxIDF2MXoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbF9leHBlcmltZW50YWwvY2xvc2VkX2NhcHRpb25zL3YzLzI0cHguc3ZnIl09Cl8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIxIDNIM2EyIDIgMCAwMC0yIDJ2MTRhMiAyIDAgMDAyIDJoMThhMiAyIDAgMDAyLTJWNWEyIDIgMCAwMC0yLTJaTTkuMDM4IDguMDg5Yy42OTcuMTc4IDEuMjk0LjYwNiAxLjczNyAxLjE3NmExIDEgMCAwMS0xLjU3OCAxLjIyOGMtLjIxLS4yNy0uNDQ0LS40MTMtLjY1NC0uNDY3YS44Ni44NiAwIDAwLS42MzIuMDg1Yy0uMjIyLjExOS0uNDUzLjM0Mi0uNjMxLjY4NEEyLjY0IDIuNjQgMCAwMDcgMTJhMi42NCAyLjY0IDAgMDAuMjgxIDEuMjA1Yy4xNzcuMzQyLjQwOC41NjUuNjMuNjg0YS44Ni44NiAwIDAwLjYzMi4wODVjLjIwOS0uMDU0LjQ0NC0uMTk3LjY1NC0uNDY3YTEgMSAwIDAxMS41NzggMS4yMjhjLS40NDMuNTctMS4wNC45OTgtMS43MzcgMS4xNzZhMi44NiAyLjg2IDAgMDEtMi4wNjYtLjI1N2MtLjYzMS0uMzM2LTEuMTMxLS44ODEtMS40NjYtMS41MjZBNC42IDQuNiAwIDAxNSAxMmMtLjAwNC0uNzQuMTctMS40Ny41MDYtMi4xMjguMzM2LS42NDUuODM1LTEuMTkgMS40NjYtMS41MjZhMi44NiAyLjg2IDAgMDEyLjA2Ni0uMjU3Wm04IDBjLjY5Ny4xNzggMS4yOTQuNjA2IDEuNzM3IDEuMTc2YTEgMSAwIDAxLTEuNTc4IDEuMjI4Yy0uMjEtLjI3LS40NDQtLjQxMy0uNjU0LS40NjdhLjg2Ljg2IDAgMDAtLjYzMi4wODVjLS4yMjIuMTE5LS40NTMuMzQyLS42MzEuNjg0QTIuNjQgMi42NCAwIDAwMTUgMTJhMi42NCAyLjY0IDAgMDAuMjgxIDEuMjA1Yy4xNzcuMzQyLjQwOC41NjUuNjMuNjg0YS44Ni44NiAwIDAwLjYzMi4wODVjLjIwOS0uMDU0LjQ0NC0uMTk3LjY1NC0uNDY3YTEgMSAwIDAxMS41NzggMS4yMjhjLS40NDMuNTctMS4wNC45OTgtMS43MzcgMS4xNzZhMi44NiAyLjg2IDAgMDEtMi4wNjYtLjI1N2MtLjYzMS0uMzM2LTEuMTMxLS44ODEtMS40NjYtMS41MjZBNC42IDQuNiAwIDAxMTMgMTJjLS4wMDQtLjc0LjE3LTEuNDcuNTA2LTIuMTI4LjMzNi0uNjQ1LjgzNS0xLjE5IDEuNDY2LTEuNTI2YTIuODYgMi44NiAwIDAxMi4wNjYtLjI1N1oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvcGF1c2UvdjkvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNOSAxOUg3VjVoMlptOC0xNGgtMnYxNGgyWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9wYXVzZS92OS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTYuNSAzQTEuNSAxLjUgMCAwMDUgNC41djE1QTEuNSAxLjUgMCAwMDYuNSAyMWgyYTEuNSAxLjUgMCAwMDEuNS0xLjV2LTE1QTEuNSAxLjUgMCAwMDguNSAzaC0yWm05IDBBMS41IDEuNSAwIDAwMTQgNC41djE1YTEuNSAxLjUgMCAwMDEuNSAxLjVoMmExLjUgMS41IDAgMDAxLjUtMS41di0xNUExLjUgMS41IDAgMDAxNy41IDNoLTJaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsL3BsYXlfYXJyb3cvdjcvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJtNyA0IDEyIDgtMTIgOFY0eiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9wbGF5L3Y0LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNSA0LjYyM1YxOS4zOGExLjUgMS41IDAgMDAyLjI2IDEuMjlMMjIgMTIgNy4yNiAzLjMzQTEuNSAxLjUgMCAwMDUgNC42MjNaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwveW91dHViZV9sb2dvX2ljb24vdjYvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIxLjU4IDcuMTlhMi41MSAyLjUxIDAgMDAtMS43Ny0xLjc3QzE4LjI1IDUgMTIgNSAxMiA1cy02LjI1IDAtNy44MS40MmEyLjUxIDIuNTEgMCAwMC0xLjc3IDEuNzdBMjUuODcgMjUuODcgMCAwMDIgMTJhMjUuODcgMjUuODcgMCAwMC40MiA0LjgxIDIuNTEgMi41MSAwIDAwMS43NyAxLjc3QzUuNzUgMTkgMTIgMTkgMTIgMTlzNi4yNSAwIDcuODEtLjQyYTIuNTEgMi41MSAwIDAwMS43Ny0xLjc3QTI1Ljg3IDI1Ljg3IDAgMDAyMiAxMmEyNS44NyAyNS44NyAwIDAwLS40Mi00Ljgxek0xMCAxNC42NXYtNS4zTDE1IDEyeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC95b3V0dWJlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLApmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDVzLTYuMjQ5IDAtNy44MS40MmMtLjg2LjIzLTEuNTQuOTEtMS43NyAxLjc3QzIgOC43NSAyIDEyIDIgMTJzMCAzLjI1LjQyIDQuODFjLjIzLjg2LjkxIDEuNTQgMS43NyAxLjc3QzUuNzUxIDE5IDEyIDE5IDEyIDE5czYuMjQ5IDAgNy44MS0uNDJjLjg2LS4yMyAxLjU0LS45MSAxLjc3LTEuNzdDMjIgMTUuMjUgMjIgMTIgMjIgMTJzMC0zLjI1LS40Mi00LjgxYy0uMjMtLjg2LS45MS0xLjU0LTEuNzctMS43N0MxOC4yNDkgNSAxMiA1IDEyIDVabS0yIDEwVjlsNSAzLTUgM1oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9hcnJvd19jaXJjbGUvdjYvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIyIDEyYzAgNS41MS00LjQ5IDEwLTEwIDEwUzIgMTcuNTEgMiAxMmgxYzAgNC45NiA0LjA0IDkgOSA5czktNC4wNCA5LTktNC4wNC05LTktOUM4LjgxIDMgNS45MiA0LjY0IDQuMjggNy4zOGMtLjExLjE4LS4yMi4zNy0uMzEuNTZMMy45NCA4SDh2MUgxLjk2VjNoMXY0Ljc0Yy4wNC0uMDkuMDctLjE3LjExLS4yNS4xMS0uMjIuMjMtLjQyLjM1LS42M0M1LjIyIDMuODYgOC41MSAyIDEyIDJjNS41MSAwIDEwIDQuNDkgMTAgMTB6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2Fycm93X2NvdW50ZXJjbG9ja3dpc2UvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLAp3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMyAyYTEgMSAwIDAwLTEgMXY2aDZhMSAxIDAgMDAwLTJINS43NTdhOCA4IDAgMTEtMS40ODUgNy4wNyAxIDEgMCAxMC0xLjkzMS41MTcgMTAuMDAyIDEwLjAwMiAwIDAwMTguMDkzIDIuNzgyQTkuOTk5IDkuOTk5IDAgMDA0IDZWM2ExIDEgMCAwMC0xLTFaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvYmVsbC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTAgMjBoNGMwIDEuMS0uOSAyLTIgMnMtMi0uOS0yLTJ6bTEwLTIuNjVWMTlINHYtMS42NWwyLTEuODh2LTUuMTVDNiA3LjQgNy41NiA1LjEgMTAgNC4zNHYtLjM4YzAtMS40MiAxLjQ5LTIuNSAyLjk5LTEuNzYuNjUuMzIgMS4wMSAxLjAzIDEuMDEgMS43NnYuMzljMi40NC43NSA0IDMuMDYgNCA1Ljk4djUuMTVsMiAxLjg3em0tMSAuNDItMi0xLjg4di01LjQ3YzAtMi40Ny0xLjE5LTQuMzYtMy4xMy01LjEtMS4yNi0uNTMtMi42NC0uNS0zLjg0LjAzQzguMTUgNi4xMSA3IDcuOTkgNyAxMC40MnY1LjQ3bC0yIDEuODhWMThoMTR2LS4yM3oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2JlbGwvdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTYgMTlhNCA0IDAgMTEtOCAwSDQuNzY1QzMuMjEgMTkgMi4yNSAxNy4zMDQgMy4wNSAxNS45N2wxLjgwNi0zLjAxQTEgMSAwIDAwNSAxMi40NDZWOGE3IDcgMCAwMTE0IDB2NC40NDZjMCAuMTgxLjA1LjM2LjE0Mi41MTVsMS44MDcgMy4wMWMuOCAxLjMzMy0uMTYxIDMuMDI5LTEuNzE2IDMuMDI5SDE2Wk0xMiAzYTUgNSAwIDAwLTUgNXY0LjQ0NmEzIDMgMCAwMS0uNDI4IDEuNTQzTDQuNzY1IDE3aDE0LjQ2OGwtMS44MDUtMy4wMUEzIDMgMCAwMTE3IDEyLjQ0NVY4YTUgNSAwIDAwLTUtNVptLTIgMTZhMiAyIDAgMTA0IDBoLTRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Nsb2NrL3YxMC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNC45NyAxNi45NSAxMCAxMy44N1Y3aDJ2NS43Nmw0LjAzIDIuNDktMS4wNiAxLjd6TTEyIDNjLTQuOTYgMC05IDQuMDQtOSA5czQuMDQgOSA5IDkgOS00LjA0IDktOS00LjA0LTktOS05bTAtMWM1LjUyIDAgMTAgNC40OCAxMCAxMHMtNC40OCAxMC0xMCAxMFMyIDE3LjUyIDIgMTIgNi40OCAyIDEyIDJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2Nsb2NrL3YxMC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLApoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMiAxQzUuOTI1IDEgMSA1LjkyNSAxIDEyczQuOTI1IDExIDExIDExIDExLTQuOTI1IDExLTExUzE4LjA3NSAxIDEyIDFabTAgMmE5IDkgMCAxMTAgMTguMDAxQTkgOSAwIDAxMTIgM1ptMCAzYTEgMSAwIDAwLTEgMXY1LjU2NWwuNDg1LjI5MiAzLjMzIDJhMSAxIDAgMDAxLjAzLTEuNzE0TDEzIDExLjQzNVY3YTEgMSAwIDAwLTEtMVoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9jbG9zZWRfY2FwdGlvbi92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNiAxNHYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxSDkuNXYtLjVoLTJ2M2gyVjEzSDExdjFjMCAuNTUtLjQ1IDEtMSAxSDdjLS41NSAwLTEtLjQ1LTEtMXptOCAxaDNjLjU1IDAgMS0uNDUgMS0xdi0xaC0xLjV2LjVoLTJ2LTNoMnYuNUgxOHYtMWMwLS41NS0uNDUtMS0xLTFoLTNjLS41NSAwLTEgLjQ1LTEgMXY0YzAgLjU1LjQ1IDEgMSAxem02LTExSDR2MTZoMTZWNG0xLTF2MThIM1YzLjAxQzMgMyAzIDMgMy4wMSAzSDIxeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvY2xvc2VkX2NhcHRpb25zL3YzLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEgM0gzYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxOGEyIDIgMCAwMDItMlY1YTIgMiAwIDAwLTItMlpNMyAxOVY1aDE4djE0SDNaTTYuOTcyIDguMzQ2Yy0uNjMxLjMzNi0xLjEzMS44ODEtMS40NjYgMS41MjZBNC42IDQuNiAwIDAwNSAxMmMtLjAwNC43NC4xNyAxLjQ3LjUwNiAyLjEyOC4zMzYuNjQ1LjgzNSAxLjE5MSAxLjQ2NiAxLjUyNmEyLjg2IDIuODYgMCAwMDIuMDY2LjI1N2MuNjk3LS4xNzggMS4yOTQtLjYwNiAxLjczNy0xLjE3NmExIDEgMCAwMC0xLjU3OC0xLjIyOGMtLjIxLjI3LS40NDQuNDEzLS42NTQuNDY3YS44Ni44NiAwIDAxLS42MzItLjA4NWMtLjIyMi0uMTE5LS40NTMtLjM0Mi0uNjMxLS42ODRBMi42NCAyLjY0IDAgMDE3IDEyYTIuNiAyLjYgMCAwMS4yODEtMS4yMDVjLjE3Ny0uMzQyLjQwOC0uNTY1LjYzLS42ODRhLjg2Ljg2IDAgMDEuNjMyLS4wODVjLjIwOS4wNTQuNDQ0LjE5Ny42NTQuNDY3YTEgMSAwIDAwMS41NzgtMS4yMjhjLS40NDMtLjU3LTEuMDQtLjk5OC0xLjczNy0xLjE3NmEyLjg2IDIuODYgMCAwMC0yLjA2Ni4yNTdabTggMGMtLjYzMS4zMzYtMS4xMzEuODgxLTEuNDY2IDEuNTI2QTQuNiA0LjYgMCAwMDEzIDEyYy0uMDA0Ljc0LjE3IDEuNDcuNTA2IDIuMTI4LjMzNi42NDUuODM1IDEuMTkxIDEuNDY2IDEuNTI2YTIuODYgMi44NiAwIDAwMi4wNjYuMjU3Yy42OTctLjE3OCAxLjI5NC0uNjA2IDEuNzM3LTEuMTc2YTEgMSAwIDAwLTEuNTc4LTEuMjI4Yy0uMjEuMjctLjQ0NC40MTMtLjY1NC40NjdhLjg2Ljg2IDAgMDEtLjYzMi0uMDg1Yy0uMjIyLS4xMTktLjQ1My0uMzQyLS42MzEtLjY4NEEyLjY0IDIuNjQgMCAwMTE1IDEyYTIuNiAyLjYgMCAwMS4yODEtMS4yMDVjLjE3Ny0uMzQyLjQwOC0uNTY1LjYzLS42ODRhLjg2Ljg2IDAgMDEuNjMyLS4wODVjLjIwOS4wNTQuNDQ0LjE5Ny42NTQuNDY3YTEgMSAwIDAwMS41NzgtMS4yMjhjLS40NDMtLjU3LTEuMDQtLjk5OC0xLjczNy0xLjE3NmEyLjg2IDIuODYgMCAwMC0yLjA2Ni4yNTdaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2dlYXIvdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDkuNWMxLjM4IDAgMi41IDEuMTIgMi41IDIuNXMtMS4xMiAyLjUtMi41IDIuNS0yLjUtMS4xMi0yLjUtMi41IDEuMTItMi41IDIuNS0yLjVtMC0xYy0xLjkzIDAtMy41IDEuNTctMy41IDMuNXMxLjU3IDMuNSAzLjUgMy41IDMuNS0xLjU3IDMuNS0zLjUtMS41Ny0zLjUtMy41LTMuNXpNMTMuMjIgM2wuNTUgMi4yLjEzLjUxLjUuMThjLjYxLjIzIDEuMTkuNTYgMS43Mi45OGwuNC4zMi41LS4xNCAyLjE3LS42MiAxLjIyIDIuMTEtMS42MyAxLjU5LS4zNy4zNi4wOC41MWMuMDUuMzIuMDguNjQuMDguOThzLS4wMy42Ni0uMDguOThsLS4wOC41MS4zNy4zNiAxLjYzIDEuNTktMS4yMiAyLjExLTIuMTctLjYyLS41LS4xNC0uNC4zMmMtLjUzLjQzLTEuMTEuNzYtMS43Mi45OGwtLjUuMTgtLjEzLjUxLS41NSAyLjI0aC0yLjQ0bC0uNTUtMi4yLS4xMy0uNTEtLjUtLjE4Yy0uNi0uMjMtMS4xOC0uNTYtMS43Mi0uOTlsLS40LS4zMi0uNS4xNC0yLjE3LjYyLTEuMjEtMi4xMiAxLjYzLTEuNTkuMzctLjM2LS4wOC0uNTFjLS4wNS0uMzItLjA4LS42NS0uMDgtLjk4cy4wMy0uNjYuMDgtLjk4bC4wOC0uNTEtLjM3LS4zNkwzLjYgOC41NmwxLjIyLTIuMTEgMi4xNy42Mi41LjE0LjQtLjMyYy41My0uNDQgMS4xMS0uNzcgMS43Mi0uOTlsLjUtLjE4LjEzLS41MS41NC0yLjIxaDIuNDRNMTQgMmgtNGwtLjc0IDIuOTZjLS43My4yNy0xLjQuNjYtMiAxLjE0bC0yLjkyLS44My0yIDMuNDYgMi4xOSAyLjEzYy0uMDYuMzctLjA5Ljc1LS4wOSAxLjE0cy4wMy43Ny4wOSAxLjE0bC0yLjE5IDIuMTMgMiAzLjQ2IDIuOTItLjgzYy42LjQ4IDEuMjcuODcgMiAxLjE0TDEwIDIyaDRsLjc0LTIuOTZjLjczLS4yNyAxLjQtLjY2IDItMS4xNGwyLjkyLjgzIDItMy40Ni0yLjE5LTIuMTNjLjA2LS4zNy4wOS0uNzUuMDktMS4xNHMtLjAzLS43Ny0uMDktMS4xNGwyLjE5LTIuMTMtMi0zLjQ2LTIuOTIuODNjLS42LS40OC0xLjI3LS44Ny0yLTEuMTRMMTQgMnoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2dlYXIvdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIuODQ0IDFoLTEuNjg3YTIgMiAwIDAwLTEuOTYyIDEuNjE2IDMgMyAwIDAxLTMuOTIgMi4yNjMgMiAyIDAgMDAtMi4zOC44OTFsLS44NDIgMS40NmEyIDIgMCAwMC40MTcgMi41MDcgMyAzIDAgMDEwIDQuNTI1IDIgMiAwIDAwLS40MTcgMi41MDdsLjg0MyAxLjQ2YTIgMiAwIDAwMi4zOC44OTIgMy4wMDEgMy4wMDEgMCAwMTMuOTE4IDIuMjYzQTIgMiAwIDAwMTEuMTU3IDIzaDEuNjg2YTIgMiAwIDAwMS45NjMtMS42MTUgMy4wMDIgMy4wMDIgMCAwMTMuOTItMi4yNjMgMiAyIDAgMDAyLjM4LS44OTJsLjg0Mi0xLjQ2YTIgMiAwIDAwLS40MTgtMi41MDcgMyAzIDAgMDEwLTQuNTI2IDIgMiAwIDAwLjQxOC0yLjUwOGwtLjg0My0xLjQ2YTIgMiAwIDAwLTIuMzgtLjg5MSAzIDMgMCAwMS0zLjkxOS0yLjI2M0EyIDIgMCAwMDEyLjg0NCAxWm0tMS43NjcgMi4zNDdhNiA2IDAgMDAuMDgtLjM0N2gxLjY4N2E0Ljk4IDQuOTggMCAwMDIuNDA3IDMuMzcgNC45OCA0Ljk4IDAgMDA0LjEyMi40bC44NDMgMS40NkE0Ljk4IDQuOTggMCAwMDE4LjUgMTJhNC45OCA0Ljk4IDAgMDAxLjcxNiAzLjc3bC0uODQzIDEuNDZhNC45OCA0Ljk4IDAgMDAtNC4xMjMuNEE0Ljk3OSA0Ljk3OSAwIDAwMTIuODQzIDIxaC0xLjY4NmE0Ljk4IDQuOTggMCAwMC0yLjQwOC0zLjM3MSA0Ljk5OSA0Ljk5OSAwIDAwLTQuMTItLjM5OWwtLjg0NC0xLjQ2QTQuOTc5IDQuOTc5IDAgMDA1LjUgMTJhNC45OCA0Ljk4IDAgMDAtMS43MTUtMy43N2wuODQyLTEuNDU5YTQuOTggNC45OCAwIDAwNC4xMjMtLjM5OSA0Ljk4MSA0Ljk4MSAwIDAwMi4zMjctMy4wMjVaTTE2IDEyYTQgNCAwIDExLTcuOTk5IDAgNCA0IDAgMDE4IDBabS00IDJhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2xpbmsvdjgvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTcuNzggMTZjMi4zNSAwIDQuMjYtMi4wMiA0LjI2LTQuNVMyMC4xMyA3IDE3Ljc4IDdIMTN2MWg0Ljc4YzEuOCAwIDMuMjYgMS41NyAzLjI2IDMuNVMxOS41OCAxNSAxNy43OCAxNUgxM3YxaDQuNzh6TTExIDE1SDYuMTljLTEuOCAwLTMuMjYtMS41Ny0zLjI2LTMuNVM0LjM5IDggNi4xOSA4SDExVjdINi4xOWMtMi4zNSAwLTQuMjYgMi4wMi00LjI2IDQuNVMzLjg0IDE2IDYuMTkgMTZIMTF2LTF6bTUtNEg4djFoOHYtMXoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvbGluay92OC8yNHB4LnN2ZyJdPV8uSygic3ZnIiwKe3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik05IDE4Yy4yMjYgMCAuNDQ4LS4wMTIuNjY3LS4wMzdBOC4wMDEgOC4wMDEgMCAwMTguMDcgMTZIN2E0IDQgMCAxMTAtOGgyYTQgNCAwIDAxNCA0IDIgMiAwIDAwMS42NjggMS45NzNBNS45OTkgNS45OTkgMCAwMDkgNkg3YTYgNiAwIDEwMCAxMmgyWm04IDBhNiA2IDAgMTAwLTEyaC0yYy0uMjI1IDAtLjQ0OC4wMTItLjY2Ny4wMzZBOCA4IDAgMDExNS45MyA4SDE3YTQgNCAwIDExMCA4aC0yYTQgNCAwIDAxLTQtNCAyIDIgMCAwMC0xLjY2OC0xLjk3M0E2IDYgMCAwMDE1IDE4aDJaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvc2hhcmUvdjEyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLApoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNSA1LjYzIDIwLjY2IDEyIDE1IDE4LjM3VjE0aC0xYy0zLjk2IDAtNy4xNCAxLTkuNzUgMy4wOSAxLjg0LTQuMDcgNS4xMS02LjQgOS44OS03LjFsLjg2LS4xM1Y1LjYzTTE0IDN2NkM2LjIyIDEwLjEzIDMuMTEgMTUuMzMgMiAyMWMyLjc4LTMuOTcgNi40NC02IDEyLTZ2Nmw4LTktOC05eiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9zaGFyZS92MTIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCAzLjE1OFY3LjUxYy01LjQyOC4yMjMtOC4yNyAzLjc1LTguODc1IDExLjE5OS0uMDQuNDg3LS4wNy45NzUtLjA5IDEuNDY0bC0uMDE0LjM5NWMtLjAxNC40NzMuNTc4LjY4NC44OC4zMi4zMDItLjM2OC42MS0uNzMuOTI1LTEuMDg2bC4yNDQtLjI3M2MxLjc5LTEuOTY3IDMtMi42NzcgNC45My0yLjkxN2ExOC4wMTEgMTguMDExIDAgMDEyLS4xMTJ2NC4zNDZhMSAxIDAgMDAxLjY0Ni43NjNsOS44MDUtOC4yOTcgMS41NS0xLjMxLTEuNTUtMS4zMS05LjgwNS04LjI5N0ExIDEgMCAwMDEwIDMuMTU4Wm0yIDYuMjd2LjAwMi00LjExNmw3LjkwNCA2LjY4OEwxMiAxOC42ODl2LTQuMjEybC0yLjAyMy4wMjRjLTEuOTM1LjAyMi0zLjU4Ny4xNy01LjE5NyAxLjAyNGE5IDkgMCAwMC0xLjM0OC44OTNjLjM1NS0xLjk0Ny45MTYtMy4zOSAxLjYzLTQuNDI1IDEuMDYyLTEuNTQxIDIuNjA3LTIuMzg1IDUuMDItMi40ODVMMTIgOS40MjhaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3ZvbHVtZV9vZmYvdjQvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJtMy4xNSAzLjg1IDQuMTcgNC4xN0w2LjE2IDlIM3Y2aDMuMTZMMTIgMTkuOTN2LTcuMjJsMi40NSAyLjQ1Yy0uMTUuMDctLjMuMTMtLjQ1LjE4djEuMDRjLjQzLS4xLjgzLS4yNyAxLjItLjQ4bDEuODEgMS44MWMtLjg4LjYyLTEuOSAxLjA0LTMuMDEgMS4ydjEuMDFjMS4zOS0uMTcgMi42Ni0uNzEgMy43My0xLjQ5bDIuNDIgMi40Mi43MS0uNzEtMTctMTctLjcxLjcxek0xMSAxMS43MXY2LjA3TDYuNTIgMTRINHYtNGgyLjUybDEuNS0xLjI3TDExIDExLjcxem0tLjY3LTQuOTItLjcxLS43MUwxMiA0LjA3djQuMzlsLTEtMVY2LjIybC0uNjcuNTd6TTE0IDguNjZWNy42MmMyIC40NiAzLjUgMi4yNCAzLjUgNC4zOCAwIC41OC0uMTMgMS4xMy0uMzMgMS42NGwtLjc5LS43OWMuMDctLjI3LjEyLS41NS4xMi0uODUgMC0xLjU4LTEuMDYtMi45LTIuNS0zLjM0em0wLTMuNThWNC4wN2MzLjk1LjQ5IDcgMy44NSA3IDcuOTMgMCAxLjU2LS40NiAzLjAxLTEuMjMgNC4yNGwtLjczLS43M2MuNjEtMS4wMy45Ni0yLjIzLjk2LTMuNTEgMC0zLjUyLTIuNjEtNi40My02LTYuOTJ6In0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC92b2x1bWVfbXV0ZS92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTExLjQ4NSAyLjE0MyAzLjkxMyA2LjY4N0E2IDYgMCAwMDEgMTEuODMydi4zMzhhNiA2IDAgMDAyLjkxMyA1LjE0NGw3LjU3MiA0LjU0M0ExIDEgMCAwMDEzIDIxVjNhMS4wMDEgMS4wMDEgMCAwMC0xLjUxNS0uODU3Wk00Ljk0MiA4LjQgMTEgNC43Njd2MTQuNDY2bC02LjA1OC0zLjYzNEE0IDQgMCAwMTMgMTIuMTY5di0uMzM4QTQgNCAwIDAxNC45NDIgOC40Wm0xNi4zNTEtLjEwOEwxOSAxMC41ODZsLTIuMjkzLTIuMjkzYTEgMSAwIDEwLTEuNDE0IDEuNDE0TDE3LjU4NiAxMmwtMi4yOTMgMi4yOTNhMSAxIDAgMTAxLjQxNCAxLjQxNEwxOSAxMy40MTRsMi4yOTMgMi4yOTNhMSAxIDAgMTAxLjQxNC0xLjQxNEwyMC40MTQgMTJsMi4yOTMtMi4yOTRhMSAxIDAgMTAtMS40MTQtMS40MTRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3ZvbHVtZV9vbi92My8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNy41IDEyYzAgMi4xNC0xLjUgMy45Mi0zLjUgNC4zOHYtMS4wNGMxLjQ0LS40MyAyLjUtMS43NiAyLjUtMy4zNCAwLTEuNTgtMS4wNi0yLjktMi41LTMuMzRWNy42MmMyIC40NiAzLjUgMi4yNCAzLjUgNC4zOHpNMTIgNC4wN3YxNS44Nkw2LjE2IDE1SDNWOWgzLjE2TDEyIDQuMDd6bS0xIDIuMTVMNi41MiAxMEg0djRoMi41MkwxMSAxNy43OFY2LjIyek0yMSAxMmMwIDQuMDgtMy4wNSA3LjQ0LTcgNy45M3YtMS4wMWMzLjM5LS40OSA2LTMuNCA2LTYuOTJzLTIuNjEtNi40My02LTYuOTJWNC4wN2MzLjk1LjQ5IDcgMy44NSA3IDcuOTN6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3ZvbHVtZV9tYXgvdjIvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTEuNDg1IDIuMTQzIDMuOTEzIDYuNjg3QTYgNiAwIDAwMSAxMS44MzJ2LjMzOGE2IDYgMCAwMDIuOTEzIDUuMTQ0bDcuNTcyIDQuNTQzQTEgMSAwIDAwMTMgMjFWM2ExLjAwMSAxLjAwMSAwIDAwLTEuNTE1LS44NTdabTYuODggMi4wNzlhMSAxIDAgMDAtLjAwMSAxLjQxNCA5IDkgMCAwMTAgMTIuNzI4IDEgMSAwIDAwMS40MTQgMS40MTQgMTEgMTEgMCAwMDAtMTUuNTU2IDEgMSAwIDAwLTEuNDEzIDBaTTQuOTQxIDguNDAybC4wMDEtLjAwMkwxMSA0Ljc2N3YxNC40NjZsLTYuMDU4LTMuNjM1QTQgNCAwIDAxMyAxMi4xNjh2LS4zMzdhNCA0IDAgMDExLjk0MS0zLjQyOVpNMTUuNTM1IDcuMDVhMSAxIDAgMDAwIDEuNDE1IDUgNSAwIDAxMCA3LjA3IDEgMSAwIDAwMS40MTUgMS40MTUgNi45OTkgNi45OTkgMCAwMDAtOS45IDEgMSAwIDAwLTEuNDE1IDBaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3hfbWFyay92NC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im0xMi43MSAxMiA4LjE1IDguMTUtLjcxLjcxTDEyIDEyLjcxbC04LjE1IDguMTUtLjcxLS43MUwxMS4yOSAxMiAzLjE1IDMuODVsLjcxLS43MUwxMiAxMS4yOWw4LjE1LTguMTUuNzEuNzFMMTIuNzEgMTJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3gvdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0IiwKd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE3LjI5MyA1LjI5MyAxMiAxMC41ODYgNi43MDcgNS4yOTNhMSAxIDAgMTAtMS40MTQgMS40MTRMMTAuNTg2IDEybC01LjI5MyA1LjI5M2ExIDEgMCAwMDEuNDE0IDEuNDE0TDEyIDEzLjQxNGw1LjI5MyA1LjI5M2ExIDEgMCAwMDEuNDE0LTEuNDE0TDEzLjQxNCAxMmw1LjI5My01LjI5M2ExIDEgMCAxMC0xLjQxNC0xLjQxNFoifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL2VxdWFsaXplci92MS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiLTQgLTQgMjQgMjQiLHZlcnNpb246IjEuMSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6eXQiOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tIn0sXy5LKCJnIiwKe2lkOiJ5dG0tZXF1YWxpemVyLWljb24iLGZpbGw6IiNmZmYifSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItbGVmdCIseDoiMSIseToiNyIsd2lkdGg6IjQiLGhlaWdodDoiOSJ9KSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItbWlkZGxlIix4OiI2Iix5OiIyIix3aWR0aDoiNCIsaGVpZ2h0OiIxNCJ9KSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItcmlnaHQiLHg6IjExIix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiJ9KSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3Nob3J0c190ZXh0X2xvZ28vdjIvNzJweC5zdmciXT1fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCA3MiAyNCIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIn0sCl8uSygiZyIse3RyYW5zZm9ybToidHJhbnNsYXRlKDI0LCAyKSJ9LF8uSygicGF0aCIse2Q6Im0uNzMyMTcgMTMuNzg4NiAyLjU3NzMyLS4wNTE1Yy0uMDUxNTUgMi4zMTk1LjM2MDgyIDMuMDQxMiAxLjM0MDIxIDMuMDQxMi45NTM2MSAwIDEuMzQwMi0uNjE4NiAxLjM0MDItMS44ODE0IDAtMS44ODE1LS45NzkzOC0yLjgzNTEtMi4zNzExMy00LjA0NjRDMS40Nzk1OSA4Ljk5NDc5LjU1MTc1OCA3Ljk2Mzg2LjU1MTc1OCA1LjIzMTljMC0yLjYwMzA5IDEuMTU5NzkyLTQuMTQ5NDggNC4xNzUyNjItNC4xNDk0OCAyLjkxMjM3IDAgNC4xMjM3MSAxLjcwMTAzIDMuNzExMzMgNS4yMDYxOWwtMi41NzczMi4xNTQ2M2MuMDUxNTUtMi4zOTY5LS4yMDYxOC0zLjIyMTY0LTEuMjYyODgtMy4yMjE2NC0uOTc5MzggMC0xLjMxNDQ0LjY0NDMzLTEuMzE0NDQgMS44Mjk4OSAwIDEuNzc4MzUuNzQ3NDMgMi4zMTk1OSAyLjM0NTM3IDMuODQwMjEgMS45ODQ1MyAxLjg4MTQgMy4wOTI3OCAyLjk4OTcgMy4wOTI3OCA1LjU0MTIgMCAzLjI0NzUtMS4yNjI4OSA0LjQ4NDYtNC4yMDEwMyA0LjQ4NDYtMy4wNjcwMS4wMjU3LTQuMzA0MTI1LTEuNjIzNy0zLjc4ODY2LTUuMTI4OVpNOS42NzU1NC43NDc0MDVoMi44MzUwNlY0LjU4NzYxYzAgMS4xNTk3OS0uMDUxNiAxLjk1ODc2LS4xNTQ3IDIuOTM4MTRoLjA1MTZjLjU0MTItMS4xNTk3OSAxLjQ0MzMtMS43NTI1NyAyLjYwMzEtMS43NTI1NyAxLjc1MjYgMCAyLjUgMS4yMzcxMSAyLjUgMy4zNTA1MXY5LjUzNjExaC0yLjgzNTFWOS4zMjk4OGMwLTEuMDMwOTMtLjI1NzctMS41NDYzOS0uOTAyLTEuNTQ2MzktLjQ4OTcgMC0uOTI3OS4yODM1LTEuMjM3MS43OTg5N1YxOC42NTk4SDkuNzAxMzFWLjc0NzQwNWgtLjAyNTc3Wk0xOC42NzAzIDEzLjI3MzJ2LTEuODI5OWMwLTQuMDcyMTYgMS4xODU2LTUuNjQ0MzMgMy45OTQ4LTUuNjQ0MzMgMi44MDkzIDAgMy44NjYgMS42MjM3MSAzLjg2NiA1LjY0NDMzdjEuODI5OWMwIDMuOTY5MS0xLjAwNTIgNS41OTI4LTMuOTQzMyA1LjU5MjgtMi45ODk3IDAtMy45MTc1LTEuNjc1My0zLjkxNzUtNS41OTI4Wm01IDEuMDMwOXYtMy45NDMzYzAtMS43MjY3OC0uMjU3OC0yLjYwMzA3LTEuMDgyNS0yLjYwMzA3LS43OTkgMC0xLjA1NjcuODc2MjktMS4wNTY3IDIuNjAzMDd2My45NDMzYzAgMS44MDQxLjI1NzcgMi42Mjg5IDEuMDU2NyAyLjYyODkuODI0NyAwIDEuMDgyNS0uODI0OCAxLjA4MjUtMi42Mjg5Wk0yNy42NjUyIDYuMDMwODloMi4xOTA3bC4yNTc4IDIuNzMxOTZoLjEwM2MuMjgzNi0yLjAxMDMxIDEuMjExNC0zLjAxNTQ2IDIuMzk2OS0zLjAxNTQ2LjE1NDcgMCAuMzA5My4wMjU3Ny41MTU1LjA1MTU0bC0uMTU0NiAzLjI3MzJjLTEuMTg1Ni0uMjU3NzMtMi4xMzkyLS4wNTE1NS0yLjU3NzMuNzIxNjVWMTguNjM0aC0yLjczMlY2LjAzMDg5Wk0zNC44MDQ0IDE1LjY3MDFWOC4yNzMyaC0xLjAzMDlWNi4wNTY3aDEuMTU5OGwuMzYwOC0zLjczNzExaDIuMTEzNFY2LjA1NjdoMS45MzN2Mi4yMTY1aC0xLjgwNDF2Ni45ODQ1YzAgMS4xODU2LjE1NDYgMS40NDMzLjYxODUgMS40NDMzLjQxMjQgMCAuNzczMi0uMDUxNSAxLjEwODMtLjE4MDRsLjM2MDggMS44MDQxYy0uODUwNS40MTI0LTEuOTMzLjU0MTMtMi42MDMxLjU0MTMtMS44Mjk5LS4wMjU4LTIuMjE2NS0uOTc5NC0yLjIxNjUtMy4xOTU5Wk00MC4yNjgyIDE0LjgxOTZsMi4zOTY5LS4wNTE1Yy0uMTI4OSAxLjM5MTcuMzYwOCAyLjE5MDcgMS4yMTEzIDIuMTkwNy43MjE3IDAgMS4xMzQxLS40NjM5IDEuMTM0MS0xLjEwODMgMC0uODc2My0uNzk5LTEuNDY5LTIuMTY1LTIuNS0xLjYyMzctMS4yMzcxLTIuNjAzMS0yLjE2NDktMi42MDMxLTQuMjAxIDAtMi4yNDIyNyAxLjE4NTYtMy4zMjQ3NCAzLjYzNC0zLjMyNDc0IDIuNjAzMSAwIDMuNjM0MSAxLjI4ODY2IDMuNDI3OSA0LjM1NTY0bC0yLjM5NjkuMTAzMWMtLjAyNTgtMS45MDcxOS0uMjgzNS0yLjQ0ODQzLTEuMDgyNS0yLjQ0ODQzLS43NzMyIDAtMS4xMDgzLjM4NjYtMS4xMDgzIDEuMDgyNDcgMCAuOTc5MzguNTY3MSAxLjQ0MzI2IDEuNDk0OSAyLjExMzM2IDIuMjE2NSAxLjY0OTUgMy4yNDc0IDIuNDc0MyAzLjI0NzQgNC41MzYxIDAgMi4yNjgxLTEuMjg4NyAzLjQwMjEtMy43MzcxIDMuNDAyMS0yLjc4MzUtLjAyNTgtMy44MTQ0LTEuNTQ2NC0zLjQ1MzYtNC4xNDk1WiIsCmZpbGw6IiNmZmYifSkpLF8uSygiZyIse3RyYW5zZm9ybToidHJhbnNsYXRlKDAsIDApIn0sXy5LKCJwYXRoIix7ZDoiTTE4LjQ1IDguODUxYzEuOTA0LTEuMDY2IDIuNTQxLTMuNCAxLjQyMi01LjIxNC0xLjExOS0xLjgxNC0zLjU3LTIuNDItNS40NzUtMS4zNTVMNS41NSA3LjI0N2MtMS4yOS43MjItMi4wNDkgMi4wNjktMS45NjggMy40OTEuMDgxIDEuNDIzLjk4OSAyLjY4MyAyLjM1MyAzLjI2OGwuOTQyLjQwNC0xLjMyNy43NDJjLTEuOTA0IDEuMDY2LTIuNTQxIDMuNC0xLjQyMiA1LjIxNCAxLjExOSAxLjgxNCAzLjU3IDIuNDIxIDUuNDc1IDEuMzU1bDguODQ3LTQuOTY1YzEuMjktLjcyMiAyLjA0OS0yLjA2OCAxLjk2OC0zLjQ5LS4wODEtMS40MjMtLjk4OS0yLjY4NC0yLjM1My0zLjI2OWwtLjk0Mi0uNDAzIDEuMzI3LS43NDNaTTEwIDE0LjU2N2EuMjUuMjUgMCAwMC4zNzQuMjE3bDQuNDUtMi41NjdhLjI1LjI1IDAgMDAwLS40MzNsLTQuNDUtMi41NjdhLjI1LjI1IDAgMDAtLjM3NC4yMTZ2NS4xMzRaIiwKImZpbGwtcnVsZSI6ImV2ZW5vZGQiLGZpbGw6IiNmZmYifSkpKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC93YXRlcm1hcmsvdjIvMTEwcHguc3ZnIl09Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix2aWV3Qm94OiIwIDAgMTEwIDI2Iix2ZXJzaW9uOiIxLjEiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInhtbG5zOnhsaW5rIjoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhtbG5zOnl0IjoiaHR0cDovL3d3dy55b3V0dWJlLmNvbSJ9LF8uSygicGF0aCIse2lkOiJ5dHAtc3ZnLXdhdGVybWFyayIsZDoiTSAxNi42ODcwMDYsMC45OTk5ODUyNCBDIDEzLjU1MTA2OSwxLjAzMjc5NzIgNy4wMjQ1MTE0LDEuMTYyNDg1MiA0Ljk5OTUxMjYsMS42ODc0ODUyIGMgLTEuNDk5OTk5MSwwLjQgLTIuNTk5OTk4NCwxLjYgLTIuOTk5OTk4MiwzIC0wLjY5OTk5OTUsMi43IC0wLjY4NzQ5OTUsOC4zMTI0OTk4IC0wLjY4NzQ5OTUsOC4zMTI0OTk4IDAsMCAtMC4wMTI1LDUuNjEyNSAwLjY4NzQ5OTUsOC4zMTI1IDAuMzk5OTk5OCwxLjUgMS41OTk5OTkxLDIuNiAyLjk5OTk5ODIsMyAyLjY5OTk5ODQsMC43IDEzLjQwNjI0MjQsMC42ODc1IDEzLjQwNjI0MjQsMC42ODc1IDAsMCAxMC43MDYyNDMsMC4wMTI1IDEzLjQwNjI0MSwtMC42ODc1IDEuNSwtMC40IDIuNTk5OTk5LC0xLjYgMi45OTk5OTksLTMgMC42OTk5OTksLTIuNyAwLjY4NzQ5OSwtOC4zMTI1IDAuNjg3NDk5LC04LjMxMjUgMCwwIDAuMTEyNSwtNS42MTI0OTk4IC0wLjY4NzQ5OSwtOC4zMTI0OTk4IC0wLjQsLTEuNSAtMS41OTk5OTksLTIuNiAtMi45OTk5OTksLTMgQyAyOS4xMTE5OTgsMC45ODc0ODUyNCAxOC40MDU3NTUsMC45OTk5ODUyNCAxOC40MDU3NTUsMC45OTk5ODUyNCBjIDAsMCAtMC42NzM0MzcsLTAuMDEwOTM4IC0xLjcxODc0OSwwIHogbSA3Mi4yMTg3MDYsMC45MDYyNDk5NiAwLDIxLjI4MTI0OTggMi43ODEyNDgsMCAwLjMxMjUsLTEuMzc1IDAuMDkzNzUsMCBjIDAuMywwLjUgMC43MTg3NSwwLjg4NzUgMS4yMTg3NDksMS4xODc1IDAuNSwwLjMgMS4wODc1LDAuNDA2MjUgMS42ODc0OTksMC40MDYyNSAxLjEsMCAxLjk5OTk5OSwtMC40OTM3NSAyLjQ5OTk5OSwtMS41OTM3NSAwLjUsLTEuMSAwLjgxMjQ5OSwtMi43MDYyNSAwLjgxMjQ5OSwtNC45MDYyNSBsIDAsLTIuNDA2MjUgYyAwLC0xLjYgLTAuMTEyNSwtMi45MDYyNSAtMC4zMTI0OTksLTMuOTA2MjUgLTAuMiwtMC44OTk5OTk5IC0wLjUsLTEuNTkzNzQ5OSAtMSwtMi4wOTM3NDk5IC0wLjUsLTAuNCAtMS4xMDYyNDksLTAuNTkzNzQ5OSAtMS45MDYyNDksLTAuNTkzNzQ5OSAtMC41OTk5OTksMCAtMS4xODc0OTksMC4xOTk5OTk5IC0xLjY4NzQ5OSwwLjQ5OTk5OTkgLTAuNDk5OTk5LDAuMyAtMS4wMTg3NDksMC44MDYyNSAtMS4yMTg3NDksMS40MDYyNSBsIDAsLTcuOTA2MjQ5OSAtMy4yODEyNDgsMCB6IG0gLTQ5Ljk5OTk3LDAuNzgxMjUgMy45MDYyNDgsMTMuOTA2MjQ5OCAwLjE4NzUsNi43MTg3NSAzLjMxMjQ5OCwwIDAsLTYuNzE4NzUgMy44NzQ5OTcsLTEzLjkwNjI0OTggLTMuMzc0OTk4LDAgLTEuNDA2MjQ5LDYuMzEyNDk5OSBjIC0wLjQsMS44OTk5OTk5IC0wLjcxMjQ5OSwzLjE5OTk5OTkgLTAuODEyNDk5LDMuOTk5OTk5OSBsIC0wLjA5Mzc1LDAgYyAtMC4yLC0xLjEgLTAuNTEyNSwtMi40IC0wLjgxMjUsLTMuOTk5OTk5OSBsIC0xLjM3NDk5OSwtNi4zMTI0OTk5IC0zLjQwNjI0OCwwIHogbSAyOS41OTM3MzIsMCAwLDIuNzE4NzUgMy40MDYyNDgsMCAwLDE3LjkwNjI0OTggMy4yODEyNDgsMCAwLC0xNy45MDYyNDk4IDMuNDA2MjQ4LDAgYyAwLDAgMC4wMDYyLC0yLjcxODc1IC0wLjA5Mzc1LC0yLjcxODc1IGwgLTkuOTk5OTk0LDAgeiBtIC01My40OTk5NjcsNS4xMjUgOC45MDYyNDQsNS4xODc0OTk4IC04LjkwNjI0NCw1LjA5Mzc1IDAsLTEwLjI4MTI0OTggeiBtIDg5LjQwNjE5MywwLjA5Mzc1IGMgLTEuNywwIC0yLjg5Mzc1LDAuNTkzNzQ5OSAtMy41OTM3NSwxLjU5Mzc0OTkgLTAuNjk5OTksMC45OTk5OTk5IC0wLjk5OTk5NSwyLjYwNjI0OTkgLTAuOTk5OTk1LDQuOTA2MjQ5OSBsIDAsMi41OTM3NSBjIDAsMi4yIDAuMzAwMDA1LDMuOTA2MjUgMC45OTk5OTUsNC45MDYyNSAwLjcsMS4xIDEuOCwxLjU5Mzc1IDMuNSwxLjU5Mzc1IDEuNCwwIDIuMzg3NSwtMC4zIDMuMTg3NSwtMSAwLjcsLTAuNyAxLjA5Mzc1LC0xLjY5Mzc1IDEuMDkzNzUsLTMuMDkzNzUgbCAwLC0wLjUgLTIuOTA2MjUsLTAuMjE4NzUgYyAwLDEgLTAuMDgxMiwxLjYgLTAuMjgxMjUsMiAtMC4xLDAuNCAtMC41LDAuNjI1IC0xLDAuNjI1IC0wLjMsMCAtMC42MTI1LC0wLjExMjUgLTAuODEyNSwtMC4zMTI1IC0wLjIsLTAuMyAtMC4zMDYyNSwtMC41OTM3NSAtMC40MDYyNSwtMS4wOTM3NSAtMC4xLC0wLjUgLTAuMDkzNywtMS4yMTg3NSAtMC4wOTM3LC0yLjIxODc1IGwgMCwtMC43ODEyNSA1LjcxODc1LC0wLjA5Mzc1IDAsLTIuNjI1IGMgMCwtMS42IC0wLjEwNjI1LC0yLjc4NzUgLTAuNDA2MjUsLTMuNjg3NSAtMC4yLC0wLjg5OTk5OTkgLTAuNzEyNSwtMS41OTk5OTk5IC0xLjMxMjUsLTEuOTk5OTk5OSAtMC43LC0wLjQgLTEuNDg3NSwtMC41OTM3NDk5IC0yLjY4NzUsLTAuNTkzNzQ5OSB6IG0gLTUwLjQ5OTk2NywwLjA5Mzc1IGMgLTEuMDk5OTk5LDAgLTIuMDE4NzQ5LDAuMTg3NDk5OSAtMi43MTg3NDgsMC42ODc0OTk5IC0wLjcsMC40IC0xLjIsMS4xMjUgLTEuNDk5OTk5LDIuMTI0OTk5OSAtMC4zLDEgLTAuNSwyLjI3NSAtMC41LDMuODc1IGwgMCwyLjIxODc1IGMgMCwxLjUgMC4xMDYyNSwyLjc4MTI1IDAuNDA2MjUsMy43ODEyNSAwLjIsMC45IDAuNzA2MjQ5LDEuNjI1IDEuNDA2MjQ5LDIuMTI1IDAuNjk5OTk5LDAuNSAxLjcxMjQ5OSwwLjY4MTI1IDIuODEyNDk4LDAuNzgxMjUgMS4xOTk5OTksMCAyLjA4MTI0OSwtMC4yODc1IDIuNzgxMjQ5LC0wLjY4NzUgMC42OTk5OTksLTAuNCAxLjA5OTk5OSwtMS4wOTM3NSAxLjQ5OTk5OSwtMi4wOTM3NSAwLjM5OTk5OSwtMSAwLjQ5OTk5OSwtMi4zMDYyNSAwLjQ5OTk5OSwtMy45MDYyNSBsIDAsLTIuMjE4NzUgYyAwLC0xLjYgLTAuMiwtMi44NzUgLTAuNDk5OTk5LC0zLjg3NSAtMC4zLC0wLjg5OTk5OTkgLTAuOCwtMS42MjQ5OTk5IC0xLjQ5OTk5OSwtMi4xMjQ5OTk5IC0wLjcsLTAuNSAtMS41ODc1LC0wLjY4NzQ5OTkgLTIuNjg3NDk5LC0wLjY4NzQ5OTkgeiBtIDEyLjE4NzQ5MywwLjA5Mzc1IDAsMTEuOTA2MjQ5OCBjIC0wLjEsMC4zIC0wLjI5Mzc1LDAuNDg3NSAtMC41OTM3NSwwLjY4NzUgLTAuMiwwLjIgLTAuNTEyNSwwLjMxMjUgLTAuODEyNDk5LDAuMzEyNSAtMC4zLDAgLTAuNTg3NSwtMC4xMDYyNSAtMC42ODc1LC0wLjQwNjI1IC0wLjEsLTAuMyAtMC4xODc1LC0wLjcwNjI1IC0wLjE4NzUsLTEuNDA2MjUgbCAwLC0xMC45OTk5OTk4IC0zLjQwNjI0OCwwIDAsMTEuMjE4NzQ5OCBjIDAsMS40IDAuMTg3NSwyLjM5Mzc1IDAuNjg3NSwzLjA5Mzc1IDAuNDk5OTk5LDAuNyAxLjIxODc0OSwxIDIuMjE4NzQ4LDEgMS40LDAgMi40ODc0OTksLTAuNjkzNzUgMy4xODc0OTksLTIuMDkzNzUgbCAwLjA5Mzc1LDAgMC4zMTI1LDEuNzgxMjUgMi41OTM3NDksMCAwLC0xNC45OTk5OTk4IGMgMCwwIC0zLjQwNjI0OCwwLjAwNjIgLTMuNDA2MjQ4LC0wLjA5Mzc1IHogbSAxNy4zMTI0ODksMCAwLDExLjkwNjI0OTggYyAtMC4xLDAuMyAtMC4yOTM3NDksMC40ODc1IC0wLjU5Mzc0OSwwLjY4NzUgLTAuMiwwLjIgLTAuNTEyNSwwLjMxMjUgLTAuODEyNSwwLjMxMjUgLTAuMywwIC0wLjU4NzQ5OSwtMC4xMDYyNSAtMC42ODc0OTksLTAuNDA2MjUgLTAuMSwtMC4zIC0wLjIxODc1LC0wLjcwNjI1IC0wLjIxODc1LC0xLjQwNjI1IGwgMCwtMTAuOTk5OTk5OCAtMy40MDYyNDgsMCAwLDExLjIxODc0OTggYyAwLDEuNCAwLjIxODc1LDIuMzkzNzUgMC43MTg3NDksMy4wOTM3NSAwLjUsMC43IDEuMTg3NSwxIDIuMTg3NDk5LDEgMS4zOTk5OTksMCAyLjUxODc0OSwtMC42OTM3NSAzLjIxODc0OCwtMi4wOTM3NSBsIDAuMDkzNzUsMCAwLjI4MTI1LDEuNzgxMjUgMi42MjQ5OTgsMCAwLC0xNC45OTk5OTk4IGMgMCwwIC0zLjQwNjI0OCwwLjAwNjIgLTMuNDA2MjQ4LC0wLjA5Mzc1IHogbSAyMC45MDYyMzUsMi4wOTM3NDk4IGMgMC40LDAgMC41ODEyNSwwLjExMjUgMC43ODEyNSwwLjMxMjUgMC4yLDAuMyAwLjMwNjI1LDAuNTkzNzUgMC40MDYyNSwxLjA5Mzc1IDAuMSwwLjUgMC4wOTM3LDEuMjE4NzUgMC4wOTM3LDIuMjE4NzUgbCAwLDEuMDkzNzUgLTIuNSwwIDAsLTEuMDkzNzUgYyAwLC0xIC0wLjAwNiwtMS43MTg3NSAwLjA5MzcsLTIuMjE4NzUgMCwtMC40IDAuMTEyNSwtMC44IDAuMzEyNSwtMSAwLjIsLTAuMyAwLjUxMjUsLTAuNDA2MjUgMC44MTI1LC0wLjQwNjI1IHogbSAtNTAuNDk5OTY3LDAuMTI1IGMgMC41LDAgMC44LDAuMTg3NSAxLDAuNjg3NSAwLjE5OTk5OSwwLjUgMC4yODEyNDksMS4zMDYyNSAwLjI4MTI0OSwyLjQwNjI1IGwgMCw0LjY4NzUgYyAwLDEuMSAtMC4wODEyNSwxLjkwNjI1IC0wLjI4MTI0OSwyLjQwNjI1IC0wLjIsMC41IC0wLjUsMC42ODc1IC0xLDAuNjg3NSAtMC41LDAgLTAuNzk5OTk5LC0wLjE4NzUgLTAuOTk5OTk5LC0wLjY4NzUgLTAuMiwtMC41IC0wLjMxMjUsLTEuMzA2MjUgLTAuMzEyNSwtMi40MDYyNSBsIDAsLTQuNjg3NSBjIDAsLTEuMSAwLjExMjUsLTEuOTA2MjUgMC4zMTI1LC0yLjQwNjI1IDAuMiwtMC41IDAuNDk5OTk5LC0wLjY4NzUgMC45OTk5OTksLTAuNjg3NSB6IG0gMzkuNjg3NDc2LDAuMDkzNzUgYyAwLjMsMCAwLjYxMjUsMC4xMDYyNSAwLjgxMjUsMC40MDYyNSAwLjIsMC4zIDAuMjc1LDAuNjc1IDAuMzc1LDEuMzc1IDAuMSwwLjYgMC4xMjQ5OTksMS41MTg3NSAwLjEyNDk5OSwyLjcxODc1IGwgMC4wOTM3NSwxLjkwNjI1IGMgMCwxLjEgMC4wMDYyLDEuOTkzNzUgLTAuMDkzNzUsMi41OTM3NSAtMC4xLDAuNiAtMC4xOTk5OTksMS4wODEyNSAtMC40OTk5OTksMS4yODEyNSAtMC4yLDAuMyAtMC41MDYyNSwwLjQwNjI1IC0wLjkwNjI1LDAuNDA2MjUgLTAuMywwIC0wLjUxMjQ5OSwtMC4wODc1IC0wLjgxMjQ5OSwtMC4xODc1IC0wLjIsLTAuMSAtMC4zOTM3NSwtMC4yOTM3NSAtMC41OTM3NSwtMC41OTM3NSBsIDAsLTguNSBjIDAuMSwtMC40IDAuMjkzNzUsLTAuNyAwLjU5Mzc1LC0xIDAuMywtMC4zIDAuNjA2MjQ5LC0wLjQwNjI1IDAuOTA2MjQ5LC0wLjQwNjI1IHoiLApjbGFzczoieXRwLXN2Zy1maWxsIixmaWxsOiIjZmZmIn0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC95b3V0dWJlX3Nob3J0c19icmFuZF8yNC92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCJ9LF8uSygicGF0aCIse2Q6Im0xOS40NSwzLjg4YzEuMTIsMS44Mi40OCw0LjE1LTEuNDIsNS4yMmwtMS4zMi43NC45NC40MWMxLjM2LjU4LDIuMjcsMS44NSwyLjM1LDMuMjcuMDgsMS40My0uNjgsMi43Ny0xLjk3LDMuNDlsLTgsNC40N2MtMS45MSwxLjA2LTQuMzUuNDYtNS40OC0xLjM1LTEuMTItMS44Mi0uNDgtNC4xNSwxLjQyLTUuMjJsMS4zMy0uNzQtLjk0LS40MWMtMS4zNi0uNTgtMi4yNy0xLjg1LTIuMzUtMy4yNy0uMDgtMS40My42OC0yLjc3LDEuOTctMy40OWw4LTQuNDdjMS45MS0xLjA2LDQuMzUtLjQ2LDUuNDgsMS4zNVoiLApmaWxsOiIjZjAzIn0pLF8uSygicGF0aCIse2Q6Im0xMCwxNWw1LTMtNS0zdjZaIixmaWxsOiIjZmZmIn0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC95b3V0dWJlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCA2NyA2MCIsZmlsbDoiIn0sXy5LKCJwYXRoIix7ZDoiTTYzIDE0Ljg3YTcuODg1IDcuODg1IDAgMDAtNS41Ni01LjU2QzUyLjU0IDggMzIuODggOCAzMi44OCA4UzEzLjIzIDggOC4zMiA5LjMxYy0yLjcuNzItNC44MyAyLjg1LTUuNTYgNS41NkMxLjQ1IDE5Ljc3IDEuNDUgMzAgMS40NSAzMHMwIDEwLjIzIDEuMzEgMTUuMTNjLjcyIDIuNyAyLjg1IDQuODMgNS41NiA1LjU2QzEzLjIzIDUyIDMyLjg4IDUyIDMyLjg4IDUyczE5LjY2IDAgMjQuNTYtMS4zMWMyLjctLjcyIDQuODMtMi44NSA1LjU2LTUuNTZDNjQuMzEgNDAuMjMgNjQuMzEgMzAgNjQuMzEgMzBzMC0xMC4yMy0xLjMxLTE1LjEzeiJ9KSwKXy5LKCJwYXRoIix7ZmlsbDoiI0ZGRiIsY2xhc3M6ImxvZ28tYXJyb3ciLGQ6Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6In0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfb3V0bGluZS9mdWxsc2NyZWVuX2V4aXQvdjEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTAsMTBINlY5aDNWNmgxVjEweiBNMTgsOWgtM1Y2aC0xdjRoNFY5eiBNMTUsMTVoM3YtMWgtNHY0aDFWMTV6IE0xMCwxNEg2djFoM3YzaDFWMTR6In0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfb3V0bGluZS9mdWxsc2NyZWVuL3YxLzI0cHguc3ZnIl09Cl8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik03LDExSDZWNmg1djFIN1YxMXogTTE4LDZoLTV2MWg0djRoMVY2eiBNMTgsMTNoLTF2NGgtNHYxaDVWMTN6IE0xMSwxN0g3di00SDZ2NWg1VjE3eiJ9KSk7cmV0dXJuIGF9O2xxYT1mdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoRW5hKCkpfTttcWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gc1koImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIvIixhLGIpfTsKY3FhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5pZGVudGlmaWVyLGQ9Yi5JaixlPWIuZXh0cmFzLGY9Yi50YXJnZXQsaD1iLlBtO2I9Yi5uQTtkJiZhd2FpdCBWWShhLHtpZGVudGlmaWVyOmMsSWo6ZCx0bjohMSxleHRyYXM6ZSxQbTpofSk7YXdhaXQgYS5pc1Zpc2libGUoYyl8fChhPWF3YWl0IFpvYShhLGMpLF8uWE0oImVuZ2FnZW1lbnQtcGFuZWwtcHVzaCIse2lkZW50aWZpZXI6Yyx3ejphLExKOmYsbkE6Yn0pLGMmJl8ub00oKS5kaXNwYXRjaChfLmtBKHt0eXBlOiJNQUlOX0FQUF9BRERfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIixwYXlsb2FkOnt4ejpjfX0pKSl9O1ZZPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5pZGVudGlmaWVyLGQ9Yi5JajtiPWIuUG07YyYmKGQmJmEuT20uc2V0KGMsZCksXy5YTSgiZW5nYWdlbWVudC1wYW5lbC11cGRhdGUiLHtpZGVudGlmaWVyOmMsd3o6ZCxQbTpifSkpfTsKdHFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8ueSgpO25xYSgpO18uSnooYix7amE6Xy5MeCxNYjpvcWF9KTtfLkp6KGIse2phOl8ubEYsTWI6Xy53KCJIVE1MX0RJUiIpPT09InJ0bCI/InJ0bCI6Imx0ciJ9KTtfLkp6KGIse2phOl8ua0YsTWI6KCk9PiEwfSk7Xy5KeihiLHtqYTpfLm1PLFBhOllZfSk7Xy5KeihiLHtqYTpfLlhMLFBhOlpZfSk7Xy5KeihiLHtqYTpfLm9PLE1iOmtxYX0pO18uSnooYix7amE6Xy5MRCxNYjpfLnVPfSk7Xy5KeihiLHtqYTpfLmNMLFBhOnBxYX0pO18uSnooYix7amE6Xy5iSSxXYzpfLm9NfSk7Xy5KeihiLHtqYTpfLnlQLE1iOm5ldyBxcWF9KTtfLkp6KGIse2phOl8udlAsTWI6e1Z1OiEwLEN4OiEwfX0pO18uSnooYix7amE6Xy5KSCxXYzooKT0+UHJvbWlzZS5yZXNvbHZlKGEpfSk7Xy5KeihiLHtqYTpfLktILFdjOigpPT4oKT0+YX0pO18uSnooYix7amE6JFksUGE6YVp9KTtfLkp6KGIse2phOl8uYkwsUGE6cnFhfSk7Xy5KeihiLHtqYTpfLk9XLFdjOl8uaHh9KTsKXy5KeihiLHtqYTpfLmJNLE1iOl8uTE99KTtpZihfLngoIndlYl9lbmFibGVfcmVuZGVyZXJfbG9nZ2VyIikpe2xldCBjPW5ldyBEWDtfLk5NKHdpbmRvdywibmF2aWdhdGUiLCgpPT57Yy5hYm9ydCgpfSk7Xy5KeihiLHtqYTpfLkNHLE1iOm5ldyBzcWEoYy5zaWduYWwpfSl9fTtucWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKSxiPWEucmVzb2x2ZShfLkl5KTtfLkd5Lm1hcHBpbmdzLnNldChTVy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSk7Xy5KeihhLHtqYTpfLkh5LE1iOmxxYX0pfTt6WD1mdW5jdGlvbigpe3ZhciBhPXt9LGI9Xy5WdygpO2ImJihhLmRlc3RpbmF0aW9uU2NyZWVuPWIuZ2V0QXNKc29uKCkudmVUeXBlfHx2b2lkIDApO2EubmF2VHlwZT0iU0xJX05BVl9UWVBFX0NPTEQiO2EuYWN0aW9uVHlwZT0iTEFURU5DWV9BQ1RJT05fRU1CRUQiO3JldHVybntuYXZpZ2F0aW9uOmF9fTsKdXFhPWZ1bmN0aW9uKGEsYj17fSl7cmV0dXJue3R5cGU6Mixjb21tYW5kOmEsZm9ybTpiLmZvcm19fTsKXy5iWj1mdW5jdGlvbihhKXtfLkFxKCJlcF9pbml0X2lqcyIpO3RxYShhKTt2YXIgYj1kb2N1bWVudC5ib2R5O2lmKCFiKXRocm93IEVycm9yKCJpZSIpO2I9bmV3IHZxYSh7cm9vdDpiLHBKOl8ueSgpfSk7Yi5pbnN0YWxsKHdxYSk7Yi50cmFuc2l0aW9uKCJpbml0aWFsaXplZCIpO18uQXEoImVwX2luaXRfaWplIik7Xy54KCJlbWJlZHNfdHJhY2luZ19rcyIpfHxwcGEoKTtfLllNPSEwOyhfLk1rKCJpZW1vYmlsZSIpfHxfLk1rKCJ3aW5kb3dzIHBob25lIikmJl8uTWsoImVkZ2UiKSkmJl8uTWsoIjsgdmlydHVhbCIpfHwoWG9hKGEpLG5vYSgpKTtxb2EoYSk7RVk9YTtqcWEoYSk7YT0hXy54KCJtd2ViX2NvbW1hbmRfaGFuZGxlcl9zY3JlZW5fbWFuYWdlcl9raWxsc3dpdGNoIik7Yj1bXy5RVyxfLlV6LF8uQ3ldO0pvYShfLngoIm13ZWJfY29tbWFuZF9oYW5kbGVyX2Rpc2FibGVfYnVpbGRfY29tbWFuZF9wYXlsb2FkX3N0dWIiKT91cWE6dm9pZCAwLGE/Xy5oeCgpOnZvaWQgMCxhLAphLGIpO18uSnooXy55KCkse2phOl8uVUQsTWI6TFguaW5zdGFuY2V9KTtpb2EoKTtGcGEoKX07V1c9W107RG9hPXtnSDoiU0xJX1NUQVRVU19VTktOT1dOIixlSDoiU0xJX1NUQVRVU19TVUNDRVNTIixjSDoiU0xJX1NUQVRVU19GQUlMVVJFIixmSDoiU0xJX1NUQVRVU19USU1FT1VUIixhSDoiU0xJX1NUQVRVU19BQk9SVEVEIixiSDoiU0xJX1NUQVRVU19DQU5DRUxMRUQiLGRIOiJTTElfU1RBVFVTX1JFSkVDVEVEIn07Y1o9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50cz1uZXcgTWFwfWNsZWFyKCl7dGhpcy5ldmVudHMuY2xlYXIoKX19OwpLbmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLkQ9bmV3IHhxYTt0aGlzLnY9bmV3IGNaO3RoaXMuQj1uZXcgY1o7dGhpcy5vPTA7dGhpcy5mbHVzaEludGVydmFsPTNFNDt0aGlzLmo9bmV3IF8uankodGhpcy5mbHVzaEludGVydmFsKTt0aGlzLmoubGlzdGVuKCJ0aWNrIix0aGlzLmZsdXNoLCExLHRoaXMpfWZsdXNoKCl7aWYodGhpcy5vKXt2YXIgYT17bG9nZ2VkRXZlbnRzOllXKHRoaXMudiksdW5sb2dnZWRFdmVudHM6WVcodGhpcy5CKX07aWYoXy54KCJleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWciKSl7dmFyIGI7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSk/KGI9Yi5zcGxpdCgiLSIpWzBdLnJlcGxhY2UoL1wuL2csIiIpLGI9aXNOYU4oTnVtYmVyKGIpKT8iMCI6Yik6Yj0iIjt2YXIgYz1fLncoIlBMQVlFUl9DTElFTlRfVkVSU0lPTiIpO2lmKGMpe2M9Yy5zcGxpdCgiLSIpO2xldCBkPSIiO2MubGVuZ3RoPjEmJihkPWNbYy5sZW5ndGgtMV0pO2M9CkpuYShkLnN0YXJ0c1dpdGgoImNhbmFyeV9leHBlcmltZW50Iik/ImNhbmFyeSI6ZC5zdGFydHNXaXRoKCJjYW5hcnlfY29udHJvbCIpPyJjb250cm9sIjoibm9uZSIpfWVsc2UgYz0iQ0xJRU5UX0NBTkFSWV9TVEFURV9VTktOT1dOIjthLmRpbWVuc2lvbnM9e3BsYXllckNsaWVudFZlcnNpb246YixwbGF5ZXJDYW5hcnlTdGF0ZTpjfX10aGlzLkQuZmx1c2goYSk7dGhpcy52LmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vPTA7dGhpcy5qLmVuYWJsZWQmJnRoaXMuai5zdG9wKCl9fX07eHFhPWNsYXNze2ZsdXNoKGEsYil7Xy54KCJlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nIikmJl8uRXAoInNsaUV2ZW50QmF0Y2giLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6ISFifSl9fTtkWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwplWj1jbGFzcyBleHRlbmRzIGRae2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLmouZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKGEpe3RoaXMuai5lbnRpdHlNZXRhZGF0YT1hfX07eXFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTt6cWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmoucGxheWxpc3QmJmEucHVzaCh0aGlzLmoucGxheWxpc3QpO3RoaXMuai52aWRlb0l0ZW0mJmEucHVzaCh0aGlzLmoudmlkZW9JdGVtKTt0aGlzLmoucGxheWxpc3RJdGVtJiZhLnB1c2godGhpcy5qLnBsYXlsaXN0SXRlbSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTsKQXFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfX07QnFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJmEucHVzaCguLi4obmV3IEFxYSh0aGlzLmoucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkubygpKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O0NxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19OwpEcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLmNyZWF0b3JFbnRpdHkmJmEucHVzaCh0aGlzLmouY3JlYXRvckVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTtmWj0hMTsKRXFhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuY291bnRlcj1bMCwwLDAsMF07dGhpcy5vPW5ldyBVaW50OEFycmF5KDE2KTt0aGlzLmo9MTY7aWYoIWZaKXt2YXIgYixjPW5ldyBVaW50OEFycmF5KDI1NiksZD1uZXcgVWludDhBcnJheSgyNTYpO3ZhciBlPTE7Zm9yKGI9MDtiPDI1NjtiKyspY1tlXT1iLGRbYl09ZSxlXj1lPDwxXihlPj43JiYyODMpO2dYPW5ldyBVaW50OEFycmF5KDI1Nik7Y1g9YlgoMjU2KTtkWD1iWCgyNTYpO2VYPWJYKDI1Nik7Zlg9YlgoMjU2KTtmb3IobGV0IGg9MDtoPDI1NjtoKyspe2U9aD9kWzI1NV5jW2hdXTowO2VePWU8PDFeZTw8Ml5lPDwzXmU8PDQ7ZT1lJjI1NV5lPj4+OF45OTtnWFtoXT1lO2I9ZTw8MV4oZT4+NyYmMjgzKTt2YXIgZj1iXmU7Y1hbaF09Yjw8MjR8ZTw8MTZ8ZTw8OHxmO2RYW2hdPWY8PDI0fGNYW2hdPj4+ODtlWFtoXT1lPDwyNHxkWFtoXT4+Pjg7ZlhbaF09ZTw8MjR8ZVhbaF0+Pj44fWZaPQohMH1lPWJYKDQ0KTtmb3IoYz0wO2M8NDtjKyspZVtjXT1hWzQqY108PDI0fGFbNCpjKzFdPDwxNnxhWzQqYysyXTw8OHxhWzQqYyszXTtmb3IoZD0xO2M8NDQ7YysrKWE9ZVtjLTFdLGMlNHx8KGE9KGdYW2E+PjE2JjI1NV1eZCk8PDI0fGdYW2E+PjgmMjU1XTw8MTZ8Z1hbYSYyNTVdPDw4fGdYW2E+Pj4yNF0sZD1kPDwxXihkPj43JiYyODMpKSxlW2NdPWVbYy00XV5hO3RoaXMua2V5PWV9ZW5jcnlwdChhKXt2YXIgYj1hLmxlbmd0aDthPW5ldyBVaW50OEFycmF5KGEuYnVmZmVyLnNsaWNlKGEuYnl0ZU9mZnNldCxhLmJ5dGVPZmZzZXQrYikpO2Zvcih2YXIgYz10aGlzLm8sZD0wO2Q8YiYmdGhpcy5qPDE2OylhW2QrK11ePWNbdGhpcy5qKytdO2Zvcih2YXIgZT1iLShiLWQpJTE2O2Q8ZTspaFgodGhpcyksYVtkKytdXj1jWzBdLGFbZCsrXV49Y1sxXSxhW2QrK11ePWNbMl0sYVtkKytdXj1jWzNdLGFbZCsrXV49Y1s0XSxhW2QrK11ePWNbNV0sYVtkKytdXj1jWzZdLGFbZCsrXV49Y1s3XSwKYVtkKytdXj1jWzhdLGFbZCsrXV49Y1s5XSxhW2QrK11ePWNbMTBdLGFbZCsrXV49Y1sxMV0sYVtkKytdXj1jWzEyXSxhW2QrK11ePWNbMTNdLGFbZCsrXV49Y1sxNF0sYVtkKytdXj1jWzE1XTtpZihkPGIpZm9yKGhYKHRoaXMpLHRoaXMuaj0wO2Q8YjspYVtkKytdXj1jW3RoaXMuaisrXTtyZXR1cm4gYX19O2daPSExO0ZxYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMudj1hO3RoaXMubz1ifWFzeW5jIGVuY3J5cHQoYSxiKXt0cnl7cmV0dXJuIGF3YWl0IE5uYSh0aGlzLGEsYil9Y2F0Y2goYyl7dGhyb3cgXy5JcChjKSxnWj0hMCxjO319fTsKaVo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWF9ZW5jcnlwdChhLGIpe3RoaXMuanx8KHRoaXMuaj1uZXcgRXFhKHRoaXMubykpO3ZhciBjPXRoaXMuajtmb3IobGV0IGQ9MDtkPDQ7ZCsrKWMuY291bnRlcltkXT1iW2QqNF08PDI0fGJbZCo0KzFdPDwxNnxiW2QqNCsyXTw8OHxiW2QqNCszXTtjLmo9MTY7cmV0dXJuIHRoaXMuai5lbmNyeXB0KGEpfWRlY3J5cHQoYSxiKXtyZXR1cm4gdGhpcy5lbmNyeXB0KGEsYil9fTsKR3FhPWNsYXNze2NvbnN0cnVjdG9yKGEpe2E6e2lmKCFnWiYmIV8uSmwpe2lmKGhaKXt2YXIgYj1oWjticmVhayBhfWhaPXdpbmRvdy5jcnlwdG8/LnN1YnRsZTtpZihoWj8uaW1wb3J0S2V5JiZoWj8uc2lnbiYmaFo/LmVuY3J5cHQpe2I9aFo7YnJlYWsgYX1oWj12b2lkIDB9Yj12b2lkIDB9YiYmKHRoaXMuaj1uZXcgRnFhKGEsYikpO3RoaXMubz1uZXcgaVooYSl9YXN5bmMgZW5jcnlwdChhLGIpe2lmKHRoaXMuail0cnl7cmV0dXJuIGF3YWl0IHRoaXMuai5lbmNyeXB0KGEsYil9Y2F0Y2goYyl7Xy5JcChjKSxnWj0hMCx0aGlzLmo9dm9pZCAwfXJldHVybiB0aGlzLm8uZW5jcnlwdChhLGIpfWRlY3J5cHQoYSxiKXtyZXR1cm4gdGhpcy5lbmNyeXB0KGEsYil9fTsKSHFhPXtJTlZBTElEX0VOQ09ERVJfVkVSU0lPTjoiSW52YWxpZCBlbmNvZGVyIHZlcnNpb24iLEtFWV9DUkVBVElPTl9GQUlMRUQ6IkZhaWxlZCB0byBjcmVhdGUgZW5jb2RlciBrZXkiLFVOS05PV05fREVDT0RFX0VSUk9SOiJGYWlsZWQgdG8gZGVjb2RlIFBFUyBkYXRhIixVTktOT1dOX0VOQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGVuY29kZSBQRVMgZGF0YSIsV1JPTkdfREFUQV9UWVBFOiJFbmNvZGVyIGNhbm5vdCBwcm9jZXNzIHRoZSBkYXRhIHR5cGUifTtpWD1jbGFzcyBleHRlbmRzIF8uWGp7Y29uc3RydWN0b3IoYSxiPXt9KXtzdXBlcihIcWFbYV0se25hbWU6IlBFU0VuY29kZXJFcnJvciIsdHlwZTphLC4uLmJ9KTt0aGlzLnR5cGU9YTt0aGlzLmxldmVsPSJXQVJOSU5HIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxpWC5wcm90b3R5cGUpfX07CmpaPWNsYXNze2VuY29kZShhLGIpe3RyeXtyZXR1cm4gdGhpcy52KGEsYil9Y2F0Y2goYyl7algoYyxPbmEpfX1kZWNvZGUoYSxiKXt0cnl7cmV0dXJuIHRoaXMubyhhLGIpfWNhdGNoKGMpe2pYKGMsUG5hKX19fTtJcWE9Y2xhc3MgZXh0ZW5kcyBqWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfXYoYSxiKXtiPWtYKGIpO2E9KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGEpKTtyZXR1cm4gdGhpcy5qLmVuY3J5cHQoYSxiKX1vKGEsYil7aWYoIShhIGluc3RhbmNlb2YgVWludDhBcnJheSkpdGhyb3cgbmV3IGlYKCJXUk9OR19EQVRBX1RZUEUiLHtJcDoxfSk7dmFyIGM9bmV3IFRleHREZWNvZGVyO2I9a1goYik7YT10aGlzLmouZGVjcnlwdChhLGIpO3JldHVybiBKU09OLnBhcnNlKGMuZGVjb2RlKGEpKX19OwpRbmE9e2FuaW1hdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhbmltYXRpb25FbnRpdHkifX0sYWNjb3VudExpbmtTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYWNjb3VudExpbmtTdGF0dXNFbnRpdHkifX0sYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5In19LGJvb2xlYW5FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYm9vbGVhbkVudGl0eSJ9fSxidXR0b25FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYnV0dG9uRW50aXR5In19LGNhcHRpb25UcmFjazpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjYXB0aW9uVHJhY2sifX0sCmNoYW5uZWxIYW5kbGU6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hhbm5lbEhhbmRsZSJ9fSxjaGF0TG9hZGluZ1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNoYXRMb2FkaW5nU3RhdGVFbnRpdHkifX0sYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5In19LGNoaXBFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hpcEVudGl0eSJ9fSxjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eSJ9fSwKY29tbWVyY2VDYXJ0TGlzdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21tZXJjZUNhcnRMaXN0RW50aXR5In19LGNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5In19LGNvbXBvc2l0ZVNvdXJjZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21wb3NpdGVTb3VyY2VFbnRpdHkifX0sbXVsdGl2aWV3U3RhZ2luZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouY29tcG9zaXRlU291cmNlS2V5cyYmYS5wdXNoKC4uLnRoaXMuai5jb21wb3NpdGVTb3VyY2VLZXlzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdWx0aXZpZXdTdGFnaW5nRW50aXR5In19LGNvbnRleHROb3RlRmVlZEVudGl0eVBheWxvYWQ6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZCJ9fSwKY29udGV4dE5vdGVVc2VyUmF0aW5nRW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkIn19LGNvbnRpbnVhdGlvblRva2VuRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbnRpbnVhdGlvblRva2VuRW50aXR5In19LGRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZFF1YWxpdHlQaWNrZXJFbnRpdHkifX0sZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5In19LGRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkifX0sCmRvd25sb2FkU3RhdHVzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2FkU3RhdHVzRW50aXR5In19LGRpc21pc3NTdGF0ZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkaXNtaXNzU3RhdGUifX0sc2Z2QXVkaW9JdGVtQ3VycmVudGx5UGxheWluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5In19LGVtb2ppRm91bnRhaW5EYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImVtb2ppRm91bnRhaW5EYXRhRW50aXR5In19LGVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJlbW9qaUN1c3RvbWl6YXRpb25TZXRFbnRpdHkifX0sCmZha2VDaGFubmVsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5hbHRlcm5hdGVDaGFubmVsJiZhLnB1c2godGhpcy5qLmFsdGVybmF0ZUNoYW5uZWwpO3RoaXMuai5hbHRlcm5hdGVDaGFubmVsTGlzdCYmYS5wdXNoKC4uLnRoaXMuai5hbHRlcm5hdGVDaGFubmVsTGlzdCk7dGhpcy5qLm9uZW9mQ2hhbm5lbEVudGl0eSYmYS5wdXNoKHRoaXMuai5vbmVvZkNoYW5uZWxFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VDaGFubmVsIn19LGZha2VQbGF5bGlzdDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouZW50cnlDb2xsZWN0aW9uJiZhLnB1c2godGhpcy5qLmVudHJ5Q29sbGVjdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVBsYXlsaXN0In19LGZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbjpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnBhcmVudFBsYXlsaXN0JiZhLnB1c2godGhpcy5qLnBhcmVudFBsYXlsaXN0KTtpZih0aGlzLmouZW50cmllcylmb3IobGV0IGIgb2YgdGhpcy5qLmVudHJpZXMpYS5wdXNoKC4uLihuZXcgeXFhKGIpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbiJ9fSxmYWtlVmlkZW86Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRlc2NyaXB0aW9uRW50aXR5JiZhLnB1c2godGhpcy5qLmRlc2NyaXB0aW9uRW50aXR5KTt0aGlzLmouY3JlYXRvcnMmJmEucHVzaCguLi50aGlzLmouY3JlYXRvcnMpO3RoaXMuai50aGVCaWdnZXN0RmFuJiZhLnB1c2godGhpcy5qLnRoZUJpZ2dlc3RGYW4pO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VWaWRlbyJ9fSxmYWtlVmlkZW9EZXNjcmlwdGlvbjpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmYWtlVmlkZW9EZXNjcmlwdGlvbiJ9fSwKZmVhdHVyZWRQcm9kdWN0c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmZWF0dXJlZFByb2R1Y3RzRW50aXR5In19LHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHkifX0sZmxvd1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZsb3dTdGF0ZUVudGl0eSJ9fSxpY29uQmFkZ2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iaWNvbkJhZGdlRW50aXR5In19LGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iaW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eSJ9fSxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpa2VCdXR0b25BbmltYXRpb25FbnRpdHkifX0sCmxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVDaGF0UG9sbFN0YXRlRW50aXR5In19LGRhdGFGcmVzaG5lc3NFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZGF0YUZyZXNobmVzc0VudGl0eSJ9fSxsaXZlVmlld2VyTGVhZGVyYm9hcmRDaGF0RW50cnlQb2ludFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHkifX0sbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eSJ9fSxsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJsaXZlUmVhY3Rpb25zRGF0YUVudGl0eSJ9fSwKbG9nb0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJsb2dvRW50aXR5In19LG1hY3JvTWFya2VyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hY3JvTWFya2VyRW50aXR5In19LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5kb3dubG9hZHNMaXN0JiZhLnB1c2godGhpcy5qLmRvd25sb2Fkc0xpc3QpO3RoaXMuai5zbWFydERvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmouc21hcnREb3dubG9hZHNMaXN0KTt0aGlzLmoucmVjb21tZW5kZWREb3dubG9hZHNMaXN0JiZhLnB1c2godGhpcy5qLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHkifX0sCm1haW5Eb3dubG9hZHNMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO2lmKHRoaXMuai5kb3dubG9hZHMpZm9yKGxldCBiIG9mIHRoaXMuai5kb3dubG9hZHMpYS5wdXNoKC4uLihuZXcgenFhKGIpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5In19LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHkifX0sbWFpblBsYXlsaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jaGFubmVsT3duZXImJgphLnB1c2godGhpcy5qLmNoYW5uZWxPd25lcik7dGhpcy5qLnZpZGVvcyYmYS5wdXNoKC4uLnRoaXMuai52aWRlb3MpO3RoaXMuai5jb2xsYWJvcmF0b3JDaGFubmVscyYmYS5wdXNoKC4uLnRoaXMuai5jb2xsYWJvcmF0b3JDaGFubmVscyk7dGhpcy5qLmRvd25sb2FkU3RhdGUmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0ZSk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0RW50aXR5In19LG1haW5QbGF5bGlzdFZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7dGhpcy5qLmNoYW5uZWxDb250cmlidXRvciYmYS5wdXNoKHRoaXMuai5jaGFubmVsQ29udHJpYnV0b3IpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5QbGF5bGlzdFZpZGVvRW50aXR5In19LAptYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja0RhdGEmJmEucHVzaCh0aGlzLmoucGxheWJhY2tEYXRhKTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZhLnB1c2godGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5In19LG1haW5WaWRlb0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoub3duZXImJmEucHVzaCh0aGlzLmoub3duZXIpO3RoaXMuai5kb3dubG9hZFN0YXRlJiZhLnB1c2godGhpcy5qLmRvd25sb2FkU3RhdGUpO3RoaXMuai51c2VyU3RhdGUmJmEucHVzaCguLi4obmV3IENxYSh0aGlzLmoudXNlclN0YXRlKSkubygpKTsKdGhpcy5qLmFkZGl0aW9uYWxNZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgQnFhKHRoaXMuai5hZGRpdGlvbmFsTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5WaWRlb0VudGl0eSJ9fSxtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eSJ9fSxtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHkifX0sbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3RoaXMuai50cmFja3MmJmEucHVzaCguLi50aGlzLmoudHJhY2tzKTsKcmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWwifX0sbXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eSJ9fSxtdXNpY0FsYnVtUmVsZWFzZTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5JiZhLnB1c2godGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSk7dGhpcy5qLnByaW1hcnlBcnRpc3RzJiZhLnB1c2goLi4udGhpcy5qLnByaW1hcnlBcnRpc3RzKTt0aGlzLmouZGV0YWlscyYmYS5wdXNoKHRoaXMuai5kZXRhaWxzKTsKdGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTt0aGlzLmoudHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrcyk7dGhpcy5qLnNoYXJlJiZhLnB1c2godGhpcy5qLnNoYXJlKTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FsYnVtUmVsZWFzZSJ9fSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbCJ9fSxtdXNpY0FydGlzdERldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnBhcmVudEFydGlzdCYmYS5wdXNoKHRoaXMuai5wYXJlbnRBcnRpc3QpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQXJ0aXN0RGV0YWlsIn19LG11c2ljQXJ0aXN0OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpO3RoaXMuai51c2VyRGV0YWlscyYmYS5wdXNoKHRoaXMuai51c2VyRGV0YWlscyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBcnRpc3QifX0sbXVzaWNBcnRpc3RVc2VyRGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wYXJlbnRBcnRpc3QmJmEucHVzaCh0aGlzLmoucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FydGlzdFVzZXJEZXRhaWwifX0sbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmouZG93bmxvYWRlZFRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLmouc21hcnREb3dubG9hZGVkVHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5qLmRvd25sb2FkZWRFcGlzb2RlcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuai5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5qLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJmEucHVzaCguLi50aGlzLmouc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5qLmRvd25sb2FkZWRQbGF5bGlzdHMmJmEucHVzaCguLi50aGlzLmouZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5qLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmYS5wdXNoKC4uLnRoaXMuai5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpO3RoaXMuai5tZXRhZGF0YU9ubHlUcmFja3MmJgphLnB1c2goLi4udGhpcy5qLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5In19LG11c2ljTGlicmFyeUVkaXQ6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNMaWJyYXJ5RWRpdCJ9fSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5In19LG11c2ljUGxheWxpc3Q6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai50cmFja3MpO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO3RoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJmEucHVzaCh0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTsKdGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLmRvd25sb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5qLnNpZGVsb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouc2lkZWxvYWRNZXRhZGF0YSk7dGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTt0aGlzLmouZW50cnlDb2xsZWN0aW9uJiZhLnB1c2godGhpcy5qLmVudHJ5Q29sbGVjdGlvbik7dGhpcy5qLnNoYXJlJiZhLnB1c2godGhpcy5qLnNoYXJlKTt0aGlzLmoucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEmJmEucHVzaCguLi4obmV3IERxYSh0aGlzLmoucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljUGxheWxpc3QifX0sbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljU2hhcmU6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNTaGFyZSJ9fSxtdXNpY1RyYWNrRGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wYXJlbnRUcmFjayYmYS5wdXNoKHRoaXMuai5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja0RldGFpbCJ9fSxtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoucGxheWJhY2tEYXRhJiZhLnB1c2godGhpcy5qLnBsYXliYWNrRGF0YSk7CnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljVHJhY2s6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmYS5wdXNoKHRoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuai5hcnRpc3RzJiZhLnB1c2goLi4udGhpcy5qLmFydGlzdHMpO3RoaXMuai5hdWRpb01vZGVWZXJzaW9uJiZhLnB1c2godGhpcy5qLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuai52aWRlb01vZGVWZXJzaW9uJiZhLnB1c2godGhpcy5qLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuai51c2VyRGV0YWlscyYmCmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpO3RoaXMuai5hbGJ1bVJlbGVhc2UmJmEucHVzaCh0aGlzLmouYWxidW1SZWxlYXNlKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5saWJyYXJ5RWRpdCYmYS5wdXNoKHRoaXMuai5saWJyYXJ5RWRpdCk7dGhpcy5qLmRvd25sb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5qLnBsYXliYWNrUG9zaXRpb24mJmEucHVzaCh0aGlzLmoucGxheWJhY2tQb3NpdGlvbik7dGhpcy5qLmx5cmljcyYmYS5wdXNoKHRoaXMuai5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljVHJhY2sifX0sbXVzaWNUcmFja1VzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudFRyYWNrJiZhLnB1c2godGhpcy5qLnBhcmVudFRyYWNrKTsKcmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja1VzZXJEZXRhaWwifX0sb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eSJ9fSxvZmZsaW5lVmlkZW9Qb2xpY3k6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZVZpZGVvUG9saWN5In19LG9mZmxpbmVWaWRlb1N0cmVhbXM6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZVZpZGVvU3RyZWFtcyJ9fSxvZmZsaW5lYWJpbGl0eUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lYWJpbGl0eUVudGl0eSJ9fSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai5mYWtlQ2hpbGRyZW4mJmEucHVzaCguLi50aGlzLmouZmFrZUNoaWxkcmVuKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHkifX0scGFnZUhlYWRlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwYWdlSGVhZGVyRW50aXR5In19LHBhcnR5R2FtZVBhbmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBhcnR5R2FtZVBhbmVsRW50aXR5In19LHNsaWRlckdhbWVQYW5lbEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzbGlkZXJHYW1lUGFuZWxFbnRpdHkifX0scGRwU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGRwU3RhdGVFbnRpdHkifX0scGlubmVkUHJvZHVjdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwaW5uZWRQcm9kdWN0RW50aXR5In19LApwbGF5YmFja0RhdGE6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYW5zZmVyJiZhLnB1c2godGhpcy5qLnRyYW5zZmVyKTt0aGlzLmouYWRzUGxheWJhY2tEYXRhJiZhLnB1c2goLi4udGhpcy5qLmFkc1BsYXliYWNrRGF0YSk7dGhpcy5qLmRybUxpY2Vuc2UmJmEucHVzaCh0aGlzLmouZHJtTGljZW5zZSk7dGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSYmYS5wdXNoKHRoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWJhY2tEYXRhIn19LHBsYXllclN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBsYXllclN0YXRlRW50aXR5In19LHBsYXlsaXN0VGh1bWJuYWlsRWRpdHNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eSJ9fSwKcXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJxdWFudGl0eUluY3JlbWVudGVyRW50aXR5In19LHJlZnJlc2g6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icmVmcmVzaCJ9fSxzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5In19LHNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQifX0sc2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNlbGVjdGlvblZhbHVlTGlzdEVudGl0eSJ9fSxzZXR0aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNldHRpbmdFbnRpdHkifX0sCnN0cmluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzdHJpbmdFbnRpdHkifX0sc3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHkifX0sdHJhbnNmZXI6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLm9mZmxpbmVWaWRlb1N0cmVhbXMmJmEucHVzaCguLi50aGlzLmoub2ZmbGluZVZpZGVvU3RyZWFtcyk7dGhpcy5qLmNhcHRpb25UcmFjayYmYS5wdXNoKC4uLnRoaXMuai5jYXB0aW9uVHJhY2spO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInRyYW5zZmVyIn19LHRyZW5kaW5nT2ZmZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idHJlbmRpbmdPZmZlckVudGl0eSJ9fSwKdW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHkifX0sdmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkifX0sdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5In19LHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkifX0sdm90aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZvdGluZ0VudGl0eSJ9fSwKeXRNYWluQ2hhbm5lbEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudXNlckNoYW5uZWxEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJDaGFubmVsRGV0YWlscyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ieXRNYWluQ2hhbm5lbEVudGl0eSJ9fSx5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHkifX0seXRNYWluRG93bmxvYWRlZFZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7dGhpcy5qLnBsYXliYWNrRGF0YSYmYS5wdXNoKHRoaXMuai5wbGF5YmFja0RhdGEpO3RoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kmJmEucHVzaCh0aGlzLmoub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHkifX0sCnl0TWFpblZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jaGFubmVsT3duZXImJmEucHVzaCh0aGlzLmouY2hhbm5lbE93bmVyKTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5qLmRvd25sb2FkU3RhdHVzJiZhLnB1c2godGhpcy5qLmRvd25sb2FkU3RhdHVzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5WaWRlb0VudGl0eSJ9fX07WG5hPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWI7dGhpcy52PXt9fX07CkpxYT1jbGFzcyBleHRlbmRzIGpae3YoYSl7cmV0dXJuIGF9byhhKXtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSl0aHJvdyBuZXcgaVgoIldST05HX0RBVEFfVFlQRSIse0lwOjB9KTtyZXR1cm4gYX19O1puYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLmpbMF09bmV3IEpxYTtpZighXy54KCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgYT10aGlzLmo7dHJ5e2xldCBkPV8uVmooKTt2YXIgYj1rWChkKTt2YXIgYz1uZXcgSXFhKG5ldyBpWihiKSxuZXcgR3FhKGIpKX1jYXRjaChkKXt0aHJvdyBhPWQgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6ZC5tZXNzYWdlfSk6bmV3IGlYKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksXy5HcChhKSxhO31hWzFdPWN9fX07CiRuYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMudG9rZW49YTt0aGlzLmo9Yjt0aGlzLm9ic2VydmVycz1bXTthPW5ldyBfLnUuQnJvYWRjYXN0Q2hhbm5lbChgUEVSU0lTVEVOVF9FTlRJVFlfU1RPUkVfU1lOQzoke18uVmooKX1gKTthLm9ubWVzc2FnZT10aGlzLm8uYmluZCh0aGlzKTt0aGlzLmNoYW5uZWw9YX1vYnNlcnZlKGEpe3RoaXMub2JzZXJ2ZXJzLnB1c2goYSk7cmV0dXJuKCk9Pnt2YXIgYj10aGlzLm9ic2VydmVycy5pbmRleE9mKGEpO2I+PTAmJnRoaXMub2JzZXJ2ZXJzLnNwbGljZShiLDEpfX1vKGEpe3FYKHRoaXMsYS5kYXRhKX1sYSgpe3RoaXMuY2hhbm5lbC5jbG9zZSgpfX07CkxxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPUtxYTt0aGlzLm9ic2VydmVycz1bXTt0aGlzLnZhbHVlPWF9c3Vic2NyaWJlKGEpe2lmKGEuZWohPW51bGwpdGhyb3cgRXJyb3IoIkZjIik7YS5laj10aGlzLm9ic2VydmVycy5sZW5ndGg7dGhpcy5vYnNlcnZlcnMucHVzaChhKTt0cnl7YSh0aGlzLnZhbHVlKX1jYXRjaChiKXt9cmV0dXJuKCk9Pnt2YXIgYj10aGlzLm9ic2VydmVyc1t0aGlzLm9ic2VydmVycy5sZW5ndGgtMV07dGhpcy5vYnNlcnZlcnNbYS5lal09YjtiLmVqPWEuZWo7dGhpcy5vYnNlcnZlcnMucG9wKCl9fXVwZGF0ZShhKXt0aGlzLnZhbHVlPWEodGhpcy52YWx1ZSk7dGhpcy5ub3RpZnkoKX1zZXQoYSl7dGhpcy52YWx1ZT1hO3RoaXMubm90aWZ5KCl9bm90aWZ5KCl7Zm9yKGxldCBhIG9mIHRoaXMub2JzZXJ2ZXJzKXRyeXthKHRoaXMudmFsdWUpfWNhdGNoKGIpe319fTsKam9hPXtsYW5kc2NhcGU6IihtYXgtd2lkdGg6IDI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIixwb3J0cmFpdDoiKG1heC13aWR0aDogMjk5cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSJ9O1hZPXt9O2taPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYodGhpcy5jb25zdHJ1Y3Rvcj09PWtaKXRocm93IG5ldyBUeXBlRXJyb3IoInNkIik7fWRpc3Bvc2UoKXt9ZGlzY29ubmVjdCgpe31vYnNlcnZlKGEsYixjKXtyZXR1cm57ZWxlbWVudDphLG9wdGlvbjpjfX1yZigpe319OwpNcWE9Y2xhc3MgZXh0ZW5kcyBrWntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pc0Nvbm5lY3RlZD0hMDt0aGlzLnY9ITE7dGhpcy5vYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodGhpcy5CLmJpbmQodGhpcykse3Jvb3RNYXJnaW46Ii0wLjFweCJ9KTt0aGlzLm89bmV3IE1hcDt0aGlzLmo9bmV3IE1hcH1kaXNwb3NlKCl7dGhpcy5kaXNjb25uZWN0KCk7dGhpcy5qLmNsZWFyKCl9ZGlzY29ubmVjdChhPSExKXt0aGlzLmlzQ29ubmVjdGVkPSExO3RoaXMudj1hO3RoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO2ZvcihsZXQgYiBvZiB0aGlzLm8udmFsdWVzKCkpYi5kaXNjb25uZWN0KCl9QihhKXtmb3IobGV0IGMgb2YgYSl7dmFyIGI9dGhpcy5qLmdldChjLnRhcmdldCk7aWYoIWIpY29udGludWU7YT1jLmlzSW50ZXJzZWN0aW5nO2ZvcihsZXQgW2QsZV1vZiBiKXtiPWQ7bGV0IGY9ZTtiJiYoYi5zdGF0ZT09PSJ2aXNpYmxlIiYmYXx8Yi5zdGF0ZT09PSJoaWRkZW4iJiYKIWEpJiYoZihjLnRhcmdldCxiLnN0YXRlKSxiLlZiJiZ0aGlzLnJmKHtlbGVtZW50OmMudGFyZ2V0LG9wdGlvbjpifSkpfX19RChhKXtmb3IobGV0IGIgb2YgYSlpZigoYT10aGlzLmouZ2V0KGIudGFyZ2V0KSkmJmIuaXNJbnRlcnNlY3RpbmcpZm9yKGxldCBbYyxkXW9mIGEpe2E9YztsZXQgZT1kO2EmJmEuc3RhdGU9PT0icHJlc2NhbiImJihlKGIudGFyZ2V0LGEuc3RhdGUpLGEuVmImJnRoaXMucmYoe2VsZW1lbnQ6Yi50YXJnZXQsb3B0aW9uOmF9KSl9fW9ic2VydmUoYSxiLGMpe3ZhciBkPShkPXRoaXMuai5nZXQoYSkpJiZkLmhhcyhjKT97ZWxlbWVudDphLG9wdGlvbjpjfTp2b2lkIDA7aWYoZClyZXR1cm4gZDtkPXtlbGVtZW50OmEsb3B0aW9uOmN9O3RoaXMuai5oYXMoYSl8fHRoaXMuai5zZXQoYSxuZXcgTWFwKTt2YXIgZT10aGlzLmouZ2V0KGEpO2UmJiFlLmhhcyhjKSYmZS5zZXQoYyxiKTt0aGlzLnZ8fChjLnN0YXRlPT09InByZXNjYW4iJiYoYj0wLGEuaGFzQXR0cmlidXRlKCJwcmVzY2FuLWhlaWdodCIpJiYKKGM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJwcmVzY2FuLWhlaWdodCIpKSxpc05hTihjKXx8KGI9YykpLHRoaXMuby5oYXMoYik/Yj10aGlzLm8uZ2V0KGIpOihjPWAtMC4xcHggLTAuMXB4ICR7Yn1weCAtMC4xcHhgLGM9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMuRC5iaW5kKHRoaXMpLHtyb290TWFyZ2luOmN9KSx0aGlzLm8uc2V0KGIsYyksYj1jKSxiLm9ic2VydmUoYSkpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShhKSk7cmV0dXJuIGR9cmYoYSl7dmFyIGI9dGhpcy5qLmdldChhLmVsZW1lbnQpO2lmKGImJmIuaGFzKGEub3B0aW9uKSl7Yi5kZWxldGUoYS5vcHRpb24pO2lmKGEmJmEub3B0aW9uLnN0YXRlPT09InByZXNjYW4iKWZvcihsZXQgYyBvZiB0aGlzLm8udmFsdWVzKCkpYy51bm9ic2VydmUoYS5lbGVtZW50KTtiLnNpemU9PT0wJiYodGhpcy5qLmRlbGV0ZShhLmVsZW1lbnQpLHRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKGEuZWxlbWVudCkpfX19OwpxWT1bInlvdXR1YmVfZmlsbCIsInlvdXR1YmVfb3V0bGluZSJdO0FYPXZvaWQgMDt2YXIgTnFhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudmFsdWU9YX1kZXJlZigpe3JldHVybiB0aGlzLnZhbHVlfX0sT3FhPXR5cGVvZiBXZWFrUmVmPT09ImZ1bmN0aW9uIj9XZWFrUmVmOk5xYTt2YXIgRlg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubWFwPW5ldyBXZWFrTWFwfWFkZChhLGIpe3RoaXMubWFwLmhhcyhhKXx8KHRoaXMuaihhKSx0aGlzLm1hcC5zZXQoYSxbXSkpO3RoaXMubWFwLmdldChhKS5wdXNoKG5ldyBPcWEoYikpfWdldChhKXt2YXIgYj10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1iLm1hcC5nZXQoYSk7aWYoYyl7dmFyIGQ9MDtmb3IobGV0IGUgb2YgYyl7bGV0IGY9ZS5kZXJlZigpO2YmJihkKysseWllbGQgZil9aWYoMipkPGMubGVuZ3RoKXtkPTA7Zm9yKGxldCBlIG9mIGMpZS5kZXJlZigpJiYoY1tkKytdPWUpO2MubGVuZ3RoPWR9fX0oKX19KGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixBb2Ese29uY2U6ITB9KX0pLEVYPW5ldyBXZWFrTWFwLERYPUFib3J0Q29udHJvbGxlcixsWj1BYm9ydFNpZ25hbDt0eXBlb2YgbFouYWJvcnQhPT0iZnVuY3Rpb24iJiYobFouYWJvcnQ9eG9hKTsKdHlwZW9mIGxaLnByb3RvdHlwZS50aHJvd0lmQWJvcnRlZCE9PSJmdW5jdGlvbiImJihsWi5wcm90b3R5cGUudGhyb3dJZkFib3J0ZWQ9eW9hKTt0eXBlb2YgbFouYW55IT09ImZ1bmN0aW9uIiYmKGxaLmFueT16b2EpO3R5cGVvZiBsWi50aW1lb3V0IT09ImZ1bmN0aW9uIiYmKGxaLnRpbWVvdXQ9Qm9hKTt2YXIgR1g9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7dmFyIFVZPW5ldyBfLkkoImNvcHlMaW5rUmVuZGVyZXIiKTt2YXIgUHFhPW5ldyBfLkkoImF1ZGlvVHJhY2tTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIFFxYT1uZXcgXy5JKCJjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIFJxYT1uZXcgXy5JKCJzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQiKTt2YXIgU3FhPW5ldyBfLkkoInNob3dDYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIE9wYT1uZXcgXy5JKCJwaG9uZURpYWxlckVuZHBvaW50Iik7dmFyIFNwYT1uZXcgXy5JKCJzZW5kU21zRW5kcG9pbnQiKTt2YXIgS3BhPW5ldyBfLkkoImNvcHlUZXh0RW5kcG9pbnQiKTt2YXIgbVo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5uYW1lPWF9byhhPXt9KXtJWCh0aGlzLm5hbWUsIlNVQ0NFU1MiLGEpfWooYT17fSl7SVgodGhpcy5uYW1lLCJGQUlMVVJFIixhKX19LEVvYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9IlNMSV9OQU1FX1lPVVRVQkVfRU1CRURTX1dFQl9GVUxMU0NSRUVOX1JFUVVFU1RfU0xJIjt0aGlzLnNsaUlkPWE7dGhpcy50aW1lb3V0TXM9M0U0O3RoaXMubz0iIjt0aGlzLnY9LTE7dGhpcy5qPSExO3RoaXMuZGltZW5zaW9ucz17fX1nZXRJZCgpe3JldHVybiB0aGlzLnNsaUlkfURyKGE9e30pe3RoaXMuanx8KHRoaXMuaj0hMCx0aGlzLmRpbWVuc2lvbnM9YSx0aGlzLm89Q29hKCksWlcoe2RpbWVuc2lvbnM6dGhpcy5kaW1lbnNpb25zLHJlY29yZHM6W3tuYW1lOnRoaXMubmFtZSxzdGF0ZToiU0xJX1NUQVRFX1NUQVJUIixzbGlJZDp0aGlzLm99XX0pLHRoaXMudGltZW91dE1zPjAmJih0aGlzLnY9c2V0VGltZW91dCgoKT0+Cnt0aGlzLnpnKCJUSU1FT1VUIil9LHRoaXMudGltZW91dE1zKSkpfXpnKGEpe3RoaXMuaiYmKHRoaXMudGltZW91dE1zPjAmJmNsZWFyVGltZW91dCh0aGlzLnYpLHRoaXMuaj0hMSxhPXtkaW1lbnNpb25zOnRoaXMuZGltZW5zaW9ucyxyZWNvcmRzOlt7bmFtZTp0aGlzLm5hbWUsc3RhdHVzOkhYKGEpLHN0YXRlOiJTTElfU1RBVEVfRU5EIixzbGlJZDp0aGlzLm99XX0sXy5FeS5yZWdpc3Rlci5kZWxldGUoYCR7dGhpcy5uYW1lfV8ke3RoaXMuc2xpSWR9YCksWlcoYSkpfX07dmFyIFNYPW5ldyBtWigiU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX1BMQVlFUl9FUlJPUl9TTEkiKSxUWD1uZXcgbVooIlNMSV9OQU1FX1lPVVRVQkVfRU1CRURTX1dFQl9QTEFZRVJfVU5QTEFZQUJMRV9TTEkiKTt2YXIgR29hPVsiY2xpY2tUcmFja2luZ1BhcmFtcyIsImNvbW1hbmRNZXRhZGF0YSIsImxvZ2dpbmdVcmxzIiwiYnVpbGRDb21tYW5kUGF5bG9hZCJdO3ZhciBMWD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYz0hMSxkPSExLGU9W10pe3ZhciBmPXdYO3RoaXMudj1hO3RoaXMubmF2aWdhdGU9dm9pZCAwO3RoaXMuaj1iO3RoaXMuWT1jO3RoaXMuST1kO3RoaXMuQj1mO3RoaXMuSz1lO3RoaXMuTT1bXTt0aGlzLm89bmV3IFNldDt0aGlzLkQ9ITE7S29hKHRoaXMpfXJlc29sdmVDb21tYW5kKGEsYil7cmV0dXJuIE5YKHRoaXMsYSxiKS5oYW5kbGVkfX07dmFyIG5aPW5ldyBfLlZzKCJFTlRJVFlfU1RBVEVfVE9LRU4iKTt2YXIgb1o9Y2xhc3N7YXN5bmMgcmVzb2x2ZShhLGIpe2F3YWl0IHRoaXMucmVzb2x2ZUNvbW1hbmQoYSxiKX19O3ZhciBwWj1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5zdG9yZT1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe2lmKGE9Xy5CKGEsXy53bmEpPy5lbnRpdHlCYXRjaFVwZGF0ZSlhPXsuLi5hLG11dGF0aW9uczpbLi4uKGEubXV0YXRpb25zfHxbXSldfSxhd2FpdCBkb2EoYSx0aGlzLnN0b3JlKX19O3BaW18uTG5dPVtuWl07dmFyICRZPW5ldyBfLlZzKCJQQU5FTF9MT0FESU5HX1NUUkFURUdZX1RPS0VOIik7dmFyIHFaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuY29udHJvbGxlcj1hO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k9Yn1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe3ZhciBjPV8uQihhLF8uTlcpO2lmKGM/LnBhbmVsTG9hZGluZ1N0cmF0ZWd5KXt2YXIgZD1WWCh0aGlzLmNvbnRyb2xsZXIsYj8uZm9ybT8uZWxlbWVudCksZT1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8ucG9zaXRpb24sZj1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8uaG92ZXJDb25maWcsaD1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8uZXhwYW5kVG9GdWxsV2lkdGgsaz1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8ub3BlblRvU2lkZTthd2FpdCB0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmV4ZWN1dGUoe2NvbW1hbmQ6YSxkYXRhOmMucGFuZWxMb2FkaW5nU3RyYXRlZ3ksZ246YXN5bmMgbD0+CntpZihsLnNoZWV0Vmlld01vZGVsKXtpZihmKXt2YXIgbT10aGlzLmNvbnRyb2xsZXI7bS5vPSEhZi5wcmV2ZW50Q2xvc2VXaGlsZUhvdmVyZWQ7bS5oaWRlRGVsYXlNcz1mLmhpZGVEZWxheU1zPz8wO20uc2hvd0RlbGF5TXM9Zi5zaG93RGVsYXlNcz8/MH1hd2FpdCB0aGlzLmNvbnRyb2xsZXIud2coe3ZpZXdNb2RlbDpsLnNoZWV0Vmlld01vZGVsLFVyOmUsZXhwYW5kVG9GdWxsV2lkdGg6aCxvcGVuVG9TaWRlOmt9LGQsYj8uZm9ybT8uZWxlbWVudCl9fSxidjp7bGF5ZXI6MH19KX19fTtxWltfLkxuXT1bXy5jTCwkWV07dmFyIFRxYT1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1hc3luYyByZXNvbHZlQ29tbWFuZChhKXt2YXIgYj1fLkIoYSxQcWEpO2ImJihhPWF3YWl0IF8uTEgoKSkmJmE/LmlzUmVhZHk/LigpJiYoYj1Rb2EoYSxiPy5sYW5ndWFnZUNvZGUpKSYmYS5zZXRBdWRpb1RyYWNrKGIpfX07dmFyIHJaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhKXt2YXIgYj1fLkIoYSxRcWEpO2lmKGImJihhPWF3YWl0IF8uTEgoKSkpe3ZhciBjPWI/Lmxhbmd1YWdlQ29kZTtiPWI/LmlzQXV0b1RyYW5zbGF0ZWQ7YS5nZXRWaWRlb0RhdGEmJl8uJE8oYSkubGVuZ3RoJiYoKGM9Um9hKGEsYyxiKSk/YS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLGMpOihhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7fSksYS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLHt9KSkpO2E9YS5pc1N1YnRpdGxlc09uKCk/Xy5hQSgiQ0FQVElPTl9PTl9UT0FTVCIsdm9pZCAwLCJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIik6Xy5hQSgiQ0FQVElPTl9PRkZfVE9BU1QiLHZvaWQgMCwiU3VidGl0bGVzL0NDIHR1cm5lZCBvZmYiKTt0aGlzLmoucmVzb2x2ZUNvbW1hbmQoXy5hUShfLldMKGEpLDVFMykpfX19OwpyWltfLkxuXT1bXy5VRF07dmFyIHNaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe18uQihhLFJxYSkmJihhPWF3YWl0IF8uTEgoKSkmJihhPVNvYShhKSkmJnRoaXMuai5yZXNvbHZlQ29tbWFuZChhLGIpfX07c1pbXy5Mbl09W18uVURdO3ZhciB0Wj1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9YXN5bmMgcmVzb2x2ZUNvbW1hbmQoYSxiKXtfLkIoYSxTcWEpJiYoYT1hd2FpdCBfLkxIKCkpJiYoKGE9Vm9hKGEpKT90aGlzLmoucmVzb2x2ZUNvbW1hbmQoYSxiKTooYj1fLmFBKCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiLHZvaWQgMCwiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIpLHRoaXMuai5yZXNvbHZlQ29tbWFuZChfLmFRKF8uV0woYikpKSkpfX07dFpbXy5Mbl09W18uVURdO3ZhciBzcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5zaWduYWw9YTt0aGlzLmo9dGhpcy5vLmJpbmQodGhpcyk7dGhpcy5sb2dnaW5nRW5hYmxlZD0hMDt0aGlzLmlkcz1uZXcgU2V0O2EuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHRoaXMuaik7dGhpcy5qb2JJZD1fLllqKHRoaXMuaiwxRTQpfXd5KGEpe3RoaXMubG9nZ2luZ0VuYWJsZWQmJiF0aGlzLmlkcy5oYXMoYSkmJnRoaXMuaWRzLmFkZChhKX1vKCl7dGhpcy5sb2dnaW5nRW5hYmxlZCYmKHRoaXMubG9nZ2luZ0VuYWJsZWQ9ITEsXy5qZi5BYSh0aGlzLmpvYklkKSx0aGlzLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsdGhpcy5qKSxXb2EodGhpcykpfX07dmFyIFJYO3ZhciBVcWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk9tPW5ldyBNYXA7dGhpcy5qPW5ldyBNYXB9T3ooYSxiKXtpZihhKXt0aGlzLk9tLnNldChhLGIpO3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMucmVzb2x2ZShiKSx0aGlzLmouZGVsZXRlKGEpKX19fTt2YXIgYVo9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YTt0aGlzLnY9Yn1qKCl7aWYodGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneSYmdGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneS5pbmxpbmVDb250ZW50KXJldHVybiB0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmlubGluZUNvbnRlbnR9YXN5bmMgZXhlY3V0ZShhKXt2YXIgYj1hLlRJLGM9YS5wYXJlbnRWZSxkPWEuYnYsZT1hLmduLGY9YS5jb21tYW5kO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k9YS5kYXRhOyhhPXRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnNjcmVlblZlP3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnNjcmVlblZlOmIpJiZfLkRPKHRoaXMudixhLGMsZCk7KGM9dGhpcy5qKCkpJiZhd2FpdCBlKGMpO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnJlcXVlc3RUZW1wbGF0ZSYmKGY9YXdhaXQgJG9hKHRoaXMsZikpJiZhd2FpdCBlKGYpfX07YVpbXy5Mbl09W18uSXksXy5PV107dmFyIHBxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj10aGlzLm89ITE7dGhpcy5zaG93RGVsYXlNcz10aGlzLmhpZGVEZWxheU1zPTA7dGhpcy5EPSExO3RoaXMuST0oKT0+e3RoaXMuaj0hMH07dGhpcy5aPSgpPT57dGhpcy5qPSExfTt0aGlzLlU9KCk9Pnt0aGlzLmo9ITB9O3RoaXMuSz0oKT0+e3RoaXMuaj0hMX19UHooYSxiPSExKXtiP3RoaXMuTT1hOnRoaXMuY29udGFpbmVyPWF9YXN5bmMgd2coYSxiLGM9Yil7V1godGhpcyk7dGhpcy5zaG93RGVsYXlNcz90aGlzLlk9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgJFgodGhpcyxhLGIsYyl9LHRoaXMuc2hvd0RlbGF5TXMpOmF3YWl0ICRYKHRoaXMsYSxiLGMpfWFzeW5jIEplKCl7V1godGhpcyk7dGhpcy5oaWRlRGVsYXlNcz90aGlzLkI9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgYVkodGhpcyl9LHRoaXMuaGlkZURlbGF5TXMpOmF3YWl0IGFZKHRoaXMpfWFzeW5jIGRtKCl7cmV0dXJuIFVYKHRoaXMpPy5kbSgpPz8KITF9fTt2YXIgb3BhPVsidG91Y2htb3ZlIiwic2Nyb2xsIl07dmFyIHVaPSExO3ZhciBjWT0hMTt2YXIgbnBhPXtscihhKXthLnBhcmVudElkPT1udWxsJiYodVp8fChiWSgpLHNldEludGVydmFsKGJZLDZFNSksdVo9ITApLGZZKGEsIndlYl90cmFjaW5nX2FjdGlvbiIpKX19O3ZhciBoWSxLcWE9e2lMOl8ueCgid2ViX3RyYWNpbmdfYWxsX2NvbXBvbmVudHMiKSxRdjpfLngoIndlYl90cmFjaW5nX2V4cG9ydF90b19jc2kiKSxIdjpmdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxjPT5TdHJpbmcoY3x8IiIpKTpbU3RyaW5nKGF8fCIiKV19KCJ3ZWJfdHJhY2luZ19lbmFibGVkX3NwYW5zIiksUnY6Xy54KCJ3ZWJfdHJhY2luZ19leHBvcnRfdG9fZGV2dG9vbHMiKSxNcTpfLnNqKCJ0ZWxfbWF4X2JyZWFkY3J1bWJzIiwwKX07aFk9bmV3IExxYTt2YXIga3BhPXtSZW5kZXI6IkNPV19TUEFOX1RZUEVfUkVOREVSIixPbkluaXQ6IkNPV19TUEFOX1RZUEVfT05fSU5JVCIsRWZmZWN0OiJDT1dfU1BBTl9UWVBFX0VGRkVDVCIsQ29tcHV0ZWQ6IkNPV19TUEFOX1RZUEVfQ09NUFVURUQiLFNpZ25hbFVwZGF0ZToiQ09XX1NQQU5fVFlQRV9TSUdOQUxfVVBEQVRFIixSZW5kZXJFZmZlY3Q6IkNPV19TUEFOX1RZUEVfUkVOREVSX0VGRkVDVCIsQ3JlYXRlUmVhY3RpdmVDb21wb25lbnQ6IkNPV19TUEFOX1RZUEVfQ09NUE9ORU5UX1JFTkRFUiJ9O3ZhciBtcGE9Xy54KCJ3ZWJfc2hvcnRzX2VuYWJsZV90cmFjaW5nIik7dmFyIHRwYT1bImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iLCJodHRwczovL3R2LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20iLCJodHRwczovL3d3dy55b3V0dWJlLmNvbSJdLHZwYT1fLnNqKCJ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzIixJbmZpbml0eSksWlk9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuRmE9YTt0aGlzLktrPWI7dGhpcy5ZPXt9O3RoaXMuRD17fTt0aGlzLm89e307dGhpcy5JPXRoaXMuY291bnRlcj0wO3RoaXMuQj0hIV8udS5jYWNoZXM7dGhpcy5VPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO3RoaXMuWj12b2lkIDA7dGhpcy52PW51bGw7dGhpcy5NPV8ueCgid2lsX2ljb25fdXNlX21hc2tfcmVuZGVyaW5nIik/MTowO3RoaXMub2E9Xy54KCJ3aWxfaWNvbl9uZXR3b3JrX2ZpcnN0Iik7dGhpcy5NYT1fLngoIndpbF9pY29uX3JlbmRlcl93aGVuX2lkbGUiKTt0aGlzLlFhPSFfLngoIndpbF9pY29uX2xvYWRfaW1tZWRpYXRlbHkiKTsKdGhpcy5LPSExO2E9KCk9Pnt0aGlzLkImJih0aGlzLlU9Xy51LmNhY2hlcy5vcGVuKCJ5dC1pY29ucyIpLnRoZW4oZD0+dGhpcy5aPWQpLmNhdGNoKCgpPT57dGhpcy5CPSExfSkpfTtjPWM/LigpfHx7fTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYykpYz1kLGI9Xy5mQyhlKSxqWShiKSx0aGlzLkRbY109Yi5jbG9uZU5vZGUoITApO3RoaXMuSz1xcGEodGhpcyk7dGhpcy5LIGluc3RhbmNlb2YgUHJvbWlzZT90aGlzLksudGhlbihhKTphKCl9aihhKXtyZXR1cm4hIXRoaXMubWYoYSl9YXN5bmMgeWEoYSl7aWYoYS5sZW5ndGgpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKShhPXRoaXMubWYoYykpJiYhdGhpcy5EW2EudXJsXSYmYi5wdXNoKGtZKHRoaXMsYSkudGhlbigoKT0+e30pLmNhdGNoKCgpPT57fSkpO1Byb21pc2UuYWxsKGIpfX1weShhKXt2YXIgYj10aGlzLm1mKGEpO3JldHVybiBiP3RoaXMuTT09PTE/bFkodGhpcyxiLHRoaXMuTSk6KGE9dGhpcy5EW2IudXJsXSk/CihhPWEuY2xvbmVOb2RlKCEwKSxuWSh0aGlzLGEpLGxZKHRoaXMsYix0aGlzLk0sYSkpOmtZKHRoaXMsYikudGhlbihjPT57dmFyIGQ9Yz8wOjE7blkodGhpcyxjKTtyZXR1cm4gbFkodGhpcyxiLGQsYyl9KTooXy5IcChuZXcgXy5YaigiSWNvbiBub3QgZm91bmQiLHtpY29uU2hhcGU6YX0pKSwoKT0+e30pfWFzeW5jIGdhKGEsYil7cmV0dXJuIHBZKHRoaXMsYSkudGhlbihjPT57d3BhKHRoaXMsYSxjLGIpO3JldHVybiBjfSl9YXN5bmMgaGEoYSxiKXtyZXR1cm4gYj9iLm1hdGNoKGEpLnRoZW4oYz0+YyYmYy5vaz9jOlByb21pc2UucmVqZWN0KCkpOlByb21pc2UucmVqZWN0KCl9bWYoYSl7cmV0dXJuIHRoaXMuRmEubWYoYSl9fTtaWVtfLkxuXT1bXy5tTyxfLmxGLF8uSW4oXy5vTyldO3ZhciB5cGE9e0FDQ0VTU19USU1FOiJjbG9jayIsQUNDT1VOVF9CT1g6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiI/InBlcnNvbl9ib3giOiJwZXJzb25fYWNjb3VudCIsQUNDT1VOVF9CT1hfQ0FJUk86InBlcnNvbl9hY2NvdW50X2NhaXJvIixBQ0NPVU5UX0NJUkNMRToicGVyc29uX2NpcmNsZSIsQUNDT1VOVF9DSVJDTEVfQ0FJUk86InBlcnNvbl9jaXJjbGVfY2Fpcm8iLEFDQ09VTlRfTElOS0VEOiJhY2NvdW50X2xpbmtfc3VjY2VzcyIsQUNDT1VOVF9VTkxJTktFRDoiYWNjb3VudF9saW5rIixBRERfRlJJRU5EOiJwZW9wbGUiLEFERF9NT0RFUkFUT1I6InNoaWVsZF9hZGQiLEFERF9UT19MSUJSQVJZOiJib29rbWFyayIsQUREX1RPX1BMQVlMSVNUOiJhZGQiLEFERF9UT19RVUVVRV9UQUlMOiJsaXN0X3F1ZXVlIixBRERfVE9fUkVNT1RFX1FVRVVFOiJsaXN0X211c2ljIixBRERfVE9fV0FUQ0hfTEFURVI6ImNsb2NrIixBRERfVklERU9fTElOSzoiZmlsbV9zdHJpcF9hZGQiLApBTEVSVF9XQVJOX1JFRDoiYWxlcnRfdHJpYW5nbGUiLEFSUk9XX0JBQ0s6ImFycm93X2xlZnQiLEFSUk9XX0RJQUdPTkFMX1VQX1JJR0hUX0ZJTExFRDoiYXJyb3dfZGlhZ29uYWxfdXBfcmlnaHQiLEFSUk9XX0RST1BfRE9XTjoiY2hldnJvbl9kb3duIixBUlJPV19EUk9QX1VQOiJjaGV2cm9uX3VwIixBUlJPV19GT1JXQVJEOiJhcnJvd19yaWdodCIsQVJUSVNUOiJwZXJzb25fbXVzaWMiLEFVRElPVFJBQ0s6ImF1ZGlvIixBVVRPX0FXRVNPTUU6InNwYXJrbGUiLEFWQVRBUl9BTk9OWU1PVVM6InBlcnNvbl9jaXJjbGUiLEFWQVRBUl9MT0dHRURfT1VUOiJwZXJzb25fY2lyY2xlIixCQUNLOiJhcnJvd19sZWZ0IixCQVJfQ0hBUlQ6ImJhcl9ncmFwaCIsQkxPQ0s6InNsYXNoX2NpcmNsZV9sZWZ0IixCTE9DS19VU0VSOiJzbGFzaF9jaXJjbGVfbGVmdCIsQk9PS01BUktfQk9SREVSOiJib29rbWFyayIsQlJFQUtJTkdfTkVXU19BTFRfMToiYXJ0aWNsZV9hbGVydCIsQlJPQURDQVNUX0NBSVJPOiJwb2RjYXN0X2NhaXJvIiwKQlVHX1JFUE9SVDoiYnVnIixDQU1FUkFfQUxUOiJjYW1lcmEiLENBTVBBSUdOOiJtZWdhcGhvbmUiLENBTkNFTDoieF9jaXJjbGUiLENBUFRJT05TOiJjbG9zZWRfY2FwdGlvbiIsQ0FTVF9PVVRMSU5FOiJjaHJvbWVjYXN0IixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09GRjoiYmVsbCIsQ0hBTk5FTF9OT1RJRklDQVRJT05fUFJFRkVSRU5DRV9PTjoiYmVsbF9vbiIsQ0hBVDoibWVzc2FnZV9idWJibGVfbGVmdCIsQ0hBVF9CVUJCTEU6Im1lc3NhZ2VfYnViYmxlX2VtcHR5IixDSEFUX1NQQVJLOiJzcGFya19tZXNzYWdlX2J1YmJsZV9sZWZ0IixDSEVDS19CT1hfT1VUTElORV9CTEFOSzoiYm94X2VtcHR5IixDSEVDS19DSVJDTEVfT1VUTElORToiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfVEhJQ0s6ImNoZWNrX2NpcmNsZSIsQ0xBUklGWToiYXJ0aWNsZV9jbGFyaWZ5IixDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRDoiY2xvc2VkX2NhcHRpb24iLENMT1NFOiJ4X21hcmsiLApDTE9VRF9VUExPQUQ6ImNsb3VkX2Fycm93X3VwIixDT0xMQVBTRToiY2hldnJvbl91cCIsQ09MTEFQU0VfQ0FJUk86ImNoZXZyb25fdXBfY2Fpcm8iLENPTExFQ1RJT046ImxheWVycyIsQ09MT1JfTEVOUzoicGFsZXR0ZSIsQ09NTUVOVDoibWVzc2FnZV9idWJibGVfcmlnaHQiLENPTlNFTlRfU0hJRUxEOiJwZXJzb25fc2hpZWxkIixDT05URU5UX0NVVDoic2Npc3NvcnMiLENPTlRFTlRfQ1VUX0NBSVJPOiJzY2lzc29yc19jYWlybyIsQ09VUlNFOl8ueCgid2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGUiKT8iY3JlYXRvcl9hY2FkZW15IjoibGlnaHRidWxiIixDT1VSU0VfQ0FJUk86Xy54KCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSIpPyJjcmVhdG9yX2FjYWRlbXlfY2Fpcm8iOiJsaWdodGJ1bGJfY2Fpcm8iLENSRUFUSU9OX0xJVkU6InJhZGFyX2xpdmUiLENSRUFUSU9OX1BPU1Q6ImJveF9wZW5jaWwiLENSRUFUSU9OX1VQTE9BRDoibXlfdmlkZW9zIixDUkVBVElPTl9VUExPQURfUkVEOiJ1cGxvYWQiLApDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTjoiZG9sbGFyX3NpZ24iLENSRUFUT1JfTUVUQURBVEFfTU9ORVRJWkFUSU9OX09GRjoiZG9sbGFyX3NpZ25fb2ZmIixDUkVBVE9SX1NUVURJTzoieW91dHViZV9zdHVkaW8iLERBU0hCT0FSRDoiZ3JpZF9hc3ltbWV0cmljYWwiLERFTEVURToidHJhc2hfY2FuIixERUxFVEVfU1dFRVA6InRyYXNoX2NhbiIsREVTS1RPUDoibGFwdG9wIixESVNMSUtFOiJ0aHVtYl9kb3duIixESVNMSUtFX1NFTEVDVEVEOiJ0aHVtYl9kb3duIixESVNNSVNTQUw6InhfbWFyayIsRElTTUlTU19RVUVVRToibGlzdF9yZW1vdmUiLERPTkVfQUxMOiJjaGVja19kb3VibGUiLERPV05fQVJST1c6ImFycm93X2Rvd24iLERPX05PVF9ESVNUVVJCOiJzbGFzaF9jaXJjbGVfbGVmdCIsRFJBRlQ6InBhcGVyX2Nvcm5lcl9mb2xkZWQiLERSQUdfSEFORExFOiJiYXJzXzIiLEVESVQ6InBlbmNpbCIsRU1PSkk6ImZhY2VfdmVyeV9oYXBweSIsRU1PSklfRkxBR1M6ImZsYWciLApFTU9KSV9PQkpFQ1RTOiJsaWdodGJ1bGIiLEVNT0pJX1BFT1BMRToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9SRUNFTlQ6ImNsb2NrIixFTVBUWV9IRUFSVDoiaGVhcnQiLEVNUFRZX0xJS0U6InRodW1iX3VwIixFUlJPUl9CTEFDSzoiYWxlcnRfY2lyY2xlIixFUlJPUl9PVVRMSU5FOiJhbGVydF9jaXJjbGUiLEVYSVRfQVBQOiJhcnJvd19pbiIsRVhJVF9UT19BUFA6ImFycm93X2luIixFWFBBTkQ6ImNoZXZyb25fZG93biIsRVhQQU5EX0FMTDoiY2hldnJvbl9leHBhbmQiLEVYUEFORF9DQUlSTzoiY2hldnJvbl9kb3duX2NhaXJvIixFWFBBTkRfTEVTUzoiY2hldnJvbl91cCIsRVhQQU5EX01PUkU6ImNoZXZyb25fZG93biIsRVhQTE9SRToiY29tcGFzcyIsRVhQTE9SRV9ERVNUSU5BVElPTjoiY29tcGFzcyIsRVhURVJOQUxfTElOSzoib3Blbl9uZXciLEZBQl9VUExPQUQ6InVwbG9hZCIsRkFDRV9IQVBQWV9PVVRMSU5FOiJmYWNlX2hhcHB5IixGQUNUX0NIRUNLOiJhcnRpY2xlX2NoZWNrIiwKRkFTSElPTl9MT0dPOiJmYXNoaW9uIixGQVNISU9OX0xPR09fQ0FJUk86ImZhc2hpb25fY2Fpcm8iLEZBVk9SSVRFOiJoZWFydCIsRkVFREJBQ0s6Im1lc3NhZ2VfYnViYmxlX2FsZXJ0IixGRUVEQkFDS19DQUlSTzoibWVzc2FnZV9idWJibGVfYWxlcnRfY2Fpcm8iLEZJTExfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsRklMTF9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLEZJTExfRE9MTEFSX1NJR05fSEVBUlRfMTI6ImRvbGxhcl9zaWduX2hlYXJ0IixGSUxURVI6Im1lbnVfZmlsdGVyIixGSVJTVF9QQUdFOiJjaGV2cm9uX2ZpcnN0IixGTEFHOiJmbGFnIixGVUxMX0hFQVJUOiJoZWFydCIsR0FNRV9DT05TT0xFX0RQQUQ6ImdhbWVfY29uc29sZV9kcGFkIixHQU1FX0NPTlNPTEVfRkFDRV9CVVRUT05TOiJnYW1lX2NvbnNvbGVfZmFjZV9idXR0b25zIixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHQU1JTkdfTE9HT19DQUlSTzoiZ2FtaW5nX2NhaXJvIiwKR09fVE9fUEFHRToiYXJyb3dfcmlnaHQiLEdST1VQUzoicGVvcGxlX2dyb3VwIixIQVBQWToiZmFjZV9oYXBweSIsSEVBTFRIX0FORF9TQUZFVFk6InNoaWVsZF9wbHVzIixIRUxQOiJxdWVzdGlvbl9jaXJjbGUiLEhFTFBfQ0FJUk86InF1ZXN0aW9uX2NpcmNsZV9jYWlybyIsSEVMUF9PVVRMSU5FOiJxdWVzdGlvbl9jaXJjbGUiLEhJREU6InNsYXNoX2NpcmNsZV9sZWZ0IixJTUFHRToiaW1hZ2UiLElORklOSVRZX0lDT046ImluZmluaXR5IixJTkZPOiJpbmZvX2NpcmNsZSIsSU5GT19PVVRMSU5FOiJpbmZvX2NpcmNsZSIsSU5TRVJUX0NIQVJUOiJiYXJfZ3JhcGhfYm94X3ZlcnRpY2FsIixJTlNFUlRfQ0hBUlRfT1VUTElORUQ6ImJhcl9ncmFwaF9ib3hfdmVydGljYWwiLElOU0VSVF9QSE9UTzoiaW1hZ2UiLEtFRVA6InBpbiIsS0VFUF9PRkY6InBpbl9vZmYiLEtFWUJPQVJEOiJrZXlib2FyZCIsS0VZQk9BUkRfQVJST1dfRE9XTjoiY2hldnJvbl9kb3duIixLRVlCT0FSRF9BUlJPV19VUDoiY2hldnJvbl91cCIsCktJRFNfQkxPQ0s6InNsYXNoX2NpcmNsZV9sZWZ0IixMQU5HVUFHRToiZ2xvYmUiLExBU1RfUEFHRToiY2hldnJvbl9sYXN0IixMQVVOQ0g6Im9wZW5fbmV3IixMRUFSTklORzoibGlnaHRidWxiIixMRUFSTklOR19DQUlSTzoibGlnaHRidWxiX2NhaXJvIixMSUJSQVJZX0FERDp0WSgibGlicmFyeV9hZGQiKSxMSUJSQVJZX09VVExJTkU6ImxpYnJhcnkiLExJQlJBUllfUkVNT1ZFOnRZKCksTElHSFRCVUxCX1NQQVJLX09VVExJTkU6ImxpZ2h0YnVsYl9zcGFyayIsTElLRVNfUExBWUxJU1Q6InRodW1iX3VwIixMSUtFU19QTEFZTElTVF9DQUlSTzoidGh1bWJfdXBfY2Fpcm8iLExJS0U6InRodW1iX3VwIixMSUtFX1NFTEVDVEVEOiJ0aHVtYl91cCIsTElWRToicmFkYXJfbGl2ZSIsTElWRV9DQUlSTzoicmFkYXJfbGl2ZV9jYWlybyIsTElWRV9VTkxJU1RFRDoibGluayIsTE9DQVRJT05fT046ImxvY2F0aW9uX3BvaW50IixMT0NBVElPTl9QSU46ImxvY2F0aW9uX3BvaW50IixMT09QOiJhcnJvd19yZXBlYXQiLApMT09QX0FDVElWRToiYXJyb3dfcmVwZWF0IixMT09QX09ORToiYXJyb3dfcmVwZWF0XzEiLExPT1BfT05FX0FDVElWRToiYXJyb3dfcmVwZWF0XzEiLE1FSDoiZmFjZV9tZWgiLE1FTUJFUlNfT05MWV9NT0RFX09GRjoibWVzc2FnZV9idWJibGVfbGVmdCIsTUVOVToiYmFyc18zIixNRVNTQUdFOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixNSUNST1BIT05FX09OOiJtaWMiLE1JWDoieW91dHViZV9taXgiLE1PTkVUSVpBVElPTl9PTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixNT05FWV9GSUxMOiJkb2xsYXJfc2lnbl9jb250YWluZXIiLE1PTkVZX0ZJTExfSlBZOiJ5ZW5fc2lnbl9jb250YWluZXIiLE1PTkVZX0hFQVJUOiJkb2xsYXJfc2lnbl9oZWFydCIsTU9SRV9IT1JJWjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsTU9SRV9WRVJUOiJvdmVyZmxvd192ZXJ0aWNhbCIsTVVTSUM6ImF1ZGlvIixNVVNJQ19DQUlSTzoiYXVkaW9fY2Fpcm8iLE1VU0lDX05PVEVfU1lNQk9MOiJtdXNpYyIsTVVTSUNfU0hVRkZMRToiYXJyb3dfc2h1ZmZsZSIsCk1ZX0NIQU5ORUw6InBlcnNvbl9jaXJjbGUiLE1ZX0xPQ0FUSU9OOiJsb2NhdGlvbl9wb2ludCIsTkVXU19TVE9SWToibmV3cyIsTkVYVDoiY2hldnJvbl9yaWdodCIsTk9USUZJQ0FUSU9OUzoiYmVsbCIsTk9USUZJQ0FUSU9OU19BQ1RJVkU6ImJlbGxfb24iLE5PVElGSUNBVElPTlNfQ0FJUk86ImJlbGxfY2Fpcm8iLE5PVElGSUNBVElPTlNfRE9ORV9DSEVDS01BUks6ImNoZWNrIixOT1RJRklDQVRJT05TX0lOQk9YOiJiZWxsIixOT1RJRklDQVRJT05TX05PTkU6ImJlbGwiLE5PVElGSUNBVElPTlNfT0ZGOiJiZWxsX29mZiIsTk9UX0lOVEVSRVNURUQ6InNsYXNoX2NpcmNsZV9sZWZ0IixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixPRkZMSU5FX0NMT1VEOiJjbG91ZF9vZmYiLE9GRkxJTkVfRE9XTkxPQUQ6ImRvd25sb2FkIixPRkZMSU5FX0RPV05MT0FEX0NBSVJPOiJkb3dubG9hZF9jYWlybyIsT0ZGTElORV9QQVVTRToicGF1c2UiLE9QRU5fSU5fTkVXOiJvcGVuX25ldyIsCk9VVExJTkVfQURKVVNUOiJhZGp1c3QiLE9VVExJTkVfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsT1VUTElORV9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLE9VVExJTkVfQkFHOiJiYWciLE9VVExJTkVfQ0xPQ0tfSEFMRl9DSVJDTEU6ImNsb2NrX2hhbGZfY2lyY2xlIixPVVRMSU5FX01PQklMRV9ET1dOTE9BRDoibW9iaWxlX2Rvd25sb2FkIixPVVRMSU5FX09WRVJGTE9XX0hPUklaT05UQUxfMzI6Im92ZXJmbG93X2hvcml6b250YWwiLE9VVExJTkVfT1ZFUkZMT1dfVkVSVElDQUw6Im92ZXJmbG93X3ZlcnRpY2FsIixPVVRMSU5FX1lPVVRVQkVfSU1QUk9WRV9UVjoieW91dHViZV9pbXByb3ZlX3R2IixQQUlEOiJkb2xsYXJfc2lnbiIsUEFVU0VfT1VUTElORUQ6InBhdXNlIixQQVlNRU5UOiJjcmVkaXRfY2FyZCIsUEVSU09OX1JBREFSX0ZJTExFRDoicGVyc29uX3JhZGFyIixQSE9ORV9ET1dOTE9BRDoibW9iaWxlX2Rvd25sb2FkIixQTEFZQUJMRVNfTE9HTzoidGljX3RhY190b2UiLApQTEFZQUJMRVNfTE9HT19DQUlSTzoidGljX3RhY190b2VfY2Fpcm8iLFBMQVlMSVNUUzoibGlzdF9wbGF5X2Fycm93IixQTEFZTElTVFNfQ0FJUk86Imxpc3RfcGxheV9hcnJvd19jYWlybyIsUExBWUxJU1RfQUREOnRZKCJsaXN0X2FkZCIpLFBMQVlMSVNUX0FERF9DSEVDSzp0WSgibGlzdF9jaGVjayIpLFBMQVlMSVNUX1BMQVk6Imxpc3RfcGxheV9hcnJvdyIsUExBWV9BTEw6InBsYXlfYXJyb3ciLFBMQVlfQ0lSQ0xFOiJwbGF5X2Fycm93X2NpcmNsZSIsUExBWV9PVVRMSU5FRDoicGxheV9hcnJvd19jaXJjbGUiLFBSSVZBQ1lfSU5GTzoic2hpZWxkIixQUklWQUNZX1BSSVZBVEU6ImxvY2siLFBSSVZBQ1lfUFVCTElDOiJlYXJ0aCIsUFJJVkFDWV9VTkxJU1RFRDoibGluayIsUFJPTU9URToibWVnYXBob25lIixQVVJDSEFTRVM6InByaWNlX3RhZyIsUFVSQ0hBU0VfU1VQRVJfQ0hBVDoic3VwZXJfY2hhdCIsUFVSQ0hBU0VfU1VQRVJfU1RJQ0tFUjoic3VwZXJfc3RpY2tlciIsUVVFU1RJT05fQU5TV0VSOiJtZXNzYWdlX2J1YmJsZV9xdWVzdGlvbiIsClFVRVVFX1BMQVlfTEFTVDoibGlzdF9xdWV1ZV9sYXN0IixRVUVVRV9QTEFZX05FWFQ6Imxpc3RfcGxheV9hcnJvdyIsUkVNSVhfRklMTEVEOiJ5b3V0dWJlX3Nob3J0c19yZW1peCIsUkVNT1ZFOiJiYXJfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFOiJiYXJfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFX09VVExJTkU6ImJhcl9jaXJjbGUiLFJFTU9WRV9ET05FOiJjaGVja19kb3VibGVfb2ZmIixSRU1PVkVfRlJPTV9ISVNUT1JZOiJiYXJfY2lyY2xlIixSRU1PVkVfRlJPTV9QTEFZTElTVDoiYmFyX2NpcmNsZSIsUkVNT1ZFX01PREVSQVRPUjoic2hpZWxkX29mZiIsUkVQTEFZOiJhcnJvd19jaXJjbGUiLFJFUExBWV8xMDoic2tpcF9iYWNrXzEwIixSRVBPUlRfUFJPQkxFTToiYWxlcnRfdHJpYW5nbGUiLFNBRDoiZmFjZV9zYWQiLFNBVkVfUExBWUxJU1Q6ImJvb2ttYXJrIixTQ0hFRFVMRToiY2xvY2siLFNDSE9PTDoiY3JlYXRvcl9hY2FkZW15IixTQ1JFRU5fRlVMTFNDUkVFTjoic2NyZWVuX2Z1bGwiLApTRUFSQ0hfSElTVE9SWToiYXJyb3dfdGltZSIsU0VMTDoicHJpY2VfdGFnIixTRVRUSU5HUzoiZ2VhciIsU0VUVElOR1NfQ0FJUk86ImdlYXJfY2Fpcm8iLFNFVFRJTkdTX0xJR0hUOiJnZWFyIixTRVRUSU5HU19NQVRFUklBTDoiZ2VhciIsU0hBUkVfQVJST1c6InNoYXJlIixTSElFTERfV0lUSF9BVkFUQVI6InBlcnNvbl9zaGllbGQiLFNIT1BQSU5HX0JBRzoiYmFnIixTSE9QUElOR19CQUdfQ0FJUk86ImJhZ19jYWlybyIsU0hPUFBJTkdfQ0FSVDoiY2FydCIsU0hPUlRTX0NPTU1FTlQ6InlvdXR1YmVfc2hvcnRzX21lc3NhZ2VfYnViYmxlX3JpZ2h0IixTSE9SVFNfRElTTElLRToieW91dHViZV9zaG9ydHNfdGh1bWJfZG93biIsU0hPUlRTX0xJS0U6InlvdXR1YmVfc2hvcnRzX3RodW1iX3VwIixTSE9SVFNfU0hBUkU6InlvdXR1YmVfc2hvcnRzX3NoYXJlIixTSFVGRkxFOiJhcnJvd19zaHVmZmxlIixTTE9XX01PREVfT0ZGOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixTT0NJQUw6InBlb3BsZSIsClNPUlQ6Im1lbnVfc29ydCIsU1BBUktfTElHSFRCVUxCX09VVExJTkU6InNwYXJrX2xpZ2h0YnVsYiIsU1BFRURfMVg6IjF4IixTUEVFRF8xX1BPSU5UXzJYOiIxX3BvaW50XzJ4IixTUEVFRF8xX1BPSU5UXzVYOiIxX3BvaW50XzV4IixTUEVFRF8xX1BPSU5UXzhYOiIxX3BvaW50Xzh4IixTUEVFRF8yWDoiMngiLFNQRUVEX1BPSU5UXzJYOiJwb2ludF8yeCIsU1BFRURfUE9JTlRfOFg6InBvaW50Xzh4IixTUE9OU09SU0hJUF9TVEFSOiJzdGFyX2NpcmNsZSIsU1RBRkZfUElDSzoic3BvdGxpZ2h0IixTVEFSVF9EVlI6ImFkZCIsU1RBUl9CT1JERVI6InN0YXIiLFNUQVJfQ0lSQ0xFX1JJQkJPTl9PVVRMSU5FOiJzdGFyX2NpcmNsZV9yaWJib24iLFNUSUNLRVJfRU1PVElDT046ImZhY2VfaGFwcHkiLFNUT1BfRFZSOiJzdG9wIixTVUJTQ1JJQkU6InlvdXR1YmVfbG9nb19pY29uIixTVUJTQ1JJQkVfUExVUzoiYWRkX2NhaXJvIixTVUJTQ1JJUFRJT05fTUFOQUdFUjoiZ2VhciIsU1VQRVJWSVNPUl9BQ0NPVU5UOiJwZW9wbGUiLApTVVBFUl9DSEFUX0ZPUl9HT09EOiJoYW5kc19oZWFydCIsU1dBUF9IT1JJWjoiYXJyb3dfc3dhcF9ob3Jpem9udGFsIixTV0lUQ0hfQUNDT1VOVFM6InBlcnNvbl9hY2NvdW50IixUQUJfQUNDT1VOVDoicGVyc29uIixUQUJfQUNUSVZJVFk6ImJlbGwiLFRBQl9CT09LTUFSSzoiYm9va21hcmsiLFRBQl9FWFBMT1JFOiJjb21wYXNzIixUQUJfSE9NRToiaG9tZSIsVEFCX0hPTUVfQ0FJUk86ImhvbWVfY2Fpcm8iLFRBQl9JTkJPWDoibWFpbCIsVEFCX0xJS0VEOiJ0aHVtYl91cCIsVEFCX01VU0lDX1BSRU1JVU06InlvdXR1YmVfbXVzaWMiLFRBQl9TSE9SVFM6InlvdXR1YmVfc2hvcnRzIixUQUJfU0hPUlRTX0NBSVJPOiJ5b3V0dWJlX3Nob3J0c19jYWlybyIsVEFCX1NVQlNDUklQVElPTlM6InN1YnNjcmlwdGlvbnMiLFRBQl9TVUJTQ1JJUFRJT05TX0NBSVJPOiJzdWJzY3JpcHRpb25zX2NhaXJvIixUQUJfVFJFTkRJTkc6ImZpcmUiLFRJTUVSOiJzdG9wd2F0Y2giLFRSQUlMRVI6InlvdXR1YmVfb3JpZ2luYWxzIiwKVFJFTkRJTkc6ImZpcmUiLFRSRU5ESU5HX0NBSVJPOiJmaXJlX2NhaXJvIixUUkVORElOR19ET1dOOiJyYXRpbmdfZG93biIsVFJFTkRJTkdfVVA6InJhdGluZ191cCIsVFJPUEhZOiJ0cm9waHkiLFRST1BIWV9DRUxFQlJBVElPTlM6ImZpcmV3b3JrcyIsVFVORToiYWRqdXN0IixVTkJMT0NLX1VTRVI6ImJhcl9jaXJjbGUiLFVOTElNSVRFRDoieW91dHViZV9sb2dvX2ljb24iLFVOUExVR0dFRF9MSVZFX0dVSURFOiJyYWRhcl9saXZlIixVTlBMVUdHRURfU1BPUlRTOiJleWVfb2ZmIixVUExPQURTOiJsaWJyYXJ5IixVUF9BUlJPVzoiYXJyb3dfdXAiLFZFUlRJQ0FMX0FMSUdOX0JPVFRPTToiZG93bmxvYWQiLFZFUllfSEFQUFk6ImZhY2VfdmVyeV9oYXBweSIsVkVSWV9TQUQ6ImZhY2VfdmVyeV9zYWQiLFZJREVPR0FNRV9BU1NFVDoiZ2FtaW5nIixWSURFT1M6InBsYXlfYXJyb3dfY2lyY2xlIixWSURFT19DQUxMOiJ2aWRlb19jYW1lcmFfYWRkIixWSURFT19MSUJSQVJZX1dISVRFOiJsaWJyYXJ5IiwKVklERU9fWU9VVFVCRToieW91dHViZV9sb2dvX2ljb24iLFZJRVdfTElTVDoibGlzdF92aWV3IixWSUVXX0xJU1RfQ0FJUk86Imxpc3Rfdmlld19jYWlybyIsVklTSUJJTElUWToiZXllIixWSVNJQklMSVRZX09GRjoiZXllX29mZiIsVk9MVU1FX01VVEU6InZvbHVtZV9vZmYiLFZPTFVNRV9VUDoidm9sdW1lX29uIixXQUxMUEFQRVI6ImltYWdlIixXQVJOSU5HOiJhbGVydF90cmlhbmdsZSIsV0FUQ0hfSElTVE9SWToiYXJyb3dfdGltZSIsV0FUQ0hfSElTVE9SWV9DQUlSTzoiYXJyb3dfdGltZV9jYWlybyIsV0FUQ0hfTEFURVI6ImNsb2NrIixXQVRDSF9MQVRFUl9DQUlSTzoiY2xvY2tfY2Fpcm8iLFdBVENIX1JFTEFURURfTUlYOiJ5b3V0dWJlX21peCIsV0hBVF9UT19XQVRDSDoiaG9tZSIsWU9VVFVCRV9DUkVBVEVfUkVEX0xPR086InlvdXR1YmVfY3JlYXRlX2xvZ28iLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRToieW91dHViZV9tdXNpYyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FX0NBSVJPOiJ5b3V0dWJlX211c2ljX2NhaXJvIiwKWU9VVFVCRV9TSE9SVFNfRklMTF9OT19UUklBTkdMRV9SRURfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZSIsWU9VVFVCRV9TSE9SVFNfT1VUTElORV8yNDoieW91dHViZV9zaG9ydHMiLFlUX09VVExJTkVfTVVTSUNfMjQ6Im11c2ljIn07dmFyIHhwYT17QUNDRVNTX1RJTUU6ImNsb2NrIixBQ0NPVU5UX0JPWDoicGVyc29uX3NxdWFyZSIsQUNDT1VOVF9CT1hfQ0FJUk86InBlcnNvbl9zcXVhcmUiLEFDQ09VTlRfQ0lSQ0xFOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0NJUkNMRV9DQUlSTzoicGVyc29uX2NpcmNsZSIsQUNDT1VOVF9MSU5LRUQ6ImFjY291bnRfbGluayIsQUNDT1VOVF9VTkxJTktFRDoiYWNjb3VudF9saW5rIixBRERfQ0lSQ0xFOiJhZGRfY2lyY2xlIixBRERfQ0lSQ0xFX09VVExJTkU6ImFkZF9jaXJjbGUiLEFERF9GUklFTkQ6InBlcnNvbl9jaGlsZCIsQUREX01PREVSQVRPUjoic2hpZWxkX2FkZCIsQUREX1RPX0xJQlJBUlk6ImJvb2ttYXJrIixBRERfVE9fUExBWUxJU1Q6ImFkZCIsQUREX1RPX1FVRVVFX1RBSUw6InF1ZXVlIixBRERfVE9fUkVNT1RFX1FVRVVFOiJwbGF5bGlzdF9hdWRpbyIsQUREX1RPX1dBVENIX0xBVEVSOiJjbG9jayIsQUREX1ZJREVPX0xJTks6ImZpbG1fc3RyaXBfYWRkIixBRE1JTl9QQU5FTF9TRVRUSU5HUzoicGVyc29uX2dlYXIiLApBTEVSVF9XQVJOX1JFRDoiYWxlcnRfdHJpYW5nbGUiLEFMSUdOX0xFRlQ6InRleHRfYWxpZ25fbGVmdCIsQVJST1dTX0FMRVJUOiJhcnJvd19zcGxpdF9hbGVydCIsQVJST1dfQkFDSzoiYXJyb3dfbGVmdCIsQVJST1dfQ0lSQ0xFOiJhcnJvd19jb3VudGVyY2xvY2t3aXNlIixBUlJPV19DSVJDTEVfUExBWToicmVwbGF5IixBUlJPV19DSVJDTEVfUklHSFQ6ImFycm93X2Nsb2Nrd2lzZSIsQVJST1dfRElBR09OQUw6ImFycm93X3VwX2xlZnQiLEFSUk9XX0RJQUdPTkFMX1VQX1JJR0hUOiJhcnJvd191cF9yaWdodCIsQVJST1dfRFJPUF9ET1dOOiJ0cmlhbmdsZV9kb3duIixBUlJPV19EUk9QX1VQOiJ0cmlhbmdsZV91cCIsQVJST1dfRk9SV0FSRDoiYXJyb3dfcmlnaHQiLEFSUk9XX1BBVVNFOiJwYXVzZV9oaXN0b3J5IixBUlJPV19VTkRPOiJ1bmRvIixBUlRJQ0xFOiJ0ZXh0X3BhZ2UiLEFSVElDTEVfQUxFUlQ6InRleHRfcGFnZV9hbGVydCIsQVJUSUNMRV9DSEVDSzoidGV4dF9wYWdlX2NoZWNrIiwKQVJUSUNMRV9DTEFSSUZZOiJ0ZXh0X3BhZ2VfaW5mbyIsQVJUSVNUOiJwZXJzb25fYXVkaW8iLEFVRElPVFJBQ0s6ImF1ZGlvIixBVURJT19CQURHRToiYXVkaW9fYmFkZ2UiLEFVRElPX1NVUlJPVU5EOiJzdXJyb3VuZF9zb3VuZCIsQVVUT19BV0VTT01FOiJzcGFya2xlcyIsQVZBVEFSX0FOT05ZTU9VUzoicGVyc29uX2NpcmNsZSIsQVZBVEFSX0xPR0dFRF9PVVQ6InBlcnNvbl9jaXJjbGUiLEJBQ0s6ImFycm93X2xlZnQiLEJBUl9DSEFSVDoiY2hhcnRfYmFyIixCQVJfQ0lSQ0xFOiJtaW51c19jaXJjbGUiLEJBUl9IT1JJWk9OVEFMOiJtaW51cyIsQkxPQ0s6ImNpcmNsZV9zbGFzaCIsQkxPQ0tfVVNFUjoiY2lyY2xlX3NsYXNoIixCT09LTUFSS19CT1JERVI6ImJvb2ttYXJrIixCT1hfT1BFTl9DSEVDSzoicXVpeiIsQk9YX1BFTkNJTDoic3F1YXJlX3BlbmNpbCIsQk9YX1NUQUNLXzM6InNxdWFyZTNfc3RhY2siLEJSRUFLSU5HX05FV1NfQUxUXzE6InRleHRfcGFnZV9hbGVydCIsCkJST0FEQ0FTVDoicG9kY2FzdCIsQlJPQURDQVNUX0NBSVJPOiJwb2RjYXN0IixCVUdfUkVQT1JUOiJidWciLENBTUVSQV9BTFQ6ImNhbWVyYSIsQ0FNUEFJR046Im1lZ2FwaG9uZSIsQ0FOQ0VMOiJ4X2NpcmNsZSIsQ0FQVElPTlM6ImNsb3NlZF9jYXB0aW9ucyIsQ0FTVF9JQ09OOiJjaHJvbWVjYXN0IixDQVNUX09VVExJTkU6ImNocm9tZWNhc3QiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT0ZGOiJiZWxsIixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09OOiJiZWxsX3dhdmVzIixDSEFUOiJ0ZXh0X2J1YmJsZSIsQ0hBVF9CVUJCTEU6ImJ1YmJsZSIsQ0hFQ0tfQk9YOiJjaGVja19zcXVhcmUiLENIRUNLX0JPWF9PVVRMSU5FX0JMQU5LOiJzcXVhcmUiLENIRUNLX0NJUkNMRV9GSUxMRUQ6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfQ0lSQ0xFX09VVExJTkU6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfQ0lSQ0xFX1RISUNLOiJjaGVja19jaXJjbGUiLENIRUNLX0RPVUJMRToiY2hlY2tfZG9uZSIsCkNIRUNLX0RPVUJMRV9PRkY6ImNoZWNrX2RvbmVfc2xhc2giLENIRVZST05fTEVGVDoiY2hldnJvbl9sZWZ0IixDSEVWUk9OX1JJR0hUOiJjaGV2cm9uX3JpZ2h0IixDSEVWUk9OX1JJR0hUX0NBSVJPOiJjaGV2cm9uX3JpZ2h0IixDSVJDTEVTX09WRVJMQVA6ImFjY291bnRfbGluayIsQ0xBUFBFUkJPQVJEX0NBSVJPOiJjbGFwcGVyYm9hcmQiLENMQVJJRlk6InRleHRfcGFnZV9pbmZvIixDTE9DS19BUlJPV1M6ImNsb2NrX3NwbGl0IixDTE9DS19BUlJPV1NfQUxFUlQ6ImNsb2NrX3NwbGl0X2FsZXJ0IixDTE9TRURfQ0FQVElPTjoiY2xvc2VkX2NhcHRpb25zIixDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRDoiY2xvc2VkX2NhcHRpb25zIixDTE9TRToieCIsQ0xPVURfVVBMT0FEOiJjbG91ZF9hcnJvd191cCIsQ09MTEFQU0U6ImNoZXZyb25fdXAiLENPTExBUFNFX0NBSVJPOiJjaGV2cm9uX3VwIixDT0xMRUNUSU9OOiJzcXVhcmUzZF9zdGFjayIsQ09MT1JfTEVOUzoicGFpbnRfcGFsZXR0ZSIsCkNPTU1FTlQ6InRleHRfYnViYmxlIixDT05TRU5UX1NISUVMRDoicGVyc29uX3NoaWVsZCIsQ09OVEVOVF9DVVQ6InNjaXNzb3JzIixDT05URU5UX0NVVF9DQUlSTzoic2Npc3NvcnMiLENPVVJTRToiZ3JhZHVhdGlvbl9jYXAiLENPVVJTRV9DQUlSTzoiZ3JhZHVhdGlvbl9jYXAiLENSRUFUSU9OX0xJVkU6ImxpdmUiLENSRUFUSU9OX1BPU1Q6InNxdWFyZV9wZW5jaWwiLENSRUFUSU9OX1VQTE9BRDoidmlkZW8iLENSRUFUSU9OX1VQTE9BRF9SRUQ6InVwbG9hZCIsQ1JFQVRPUl9BQ0FERU1ZOiJncmFkdWF0aW9uX2NhcCIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT046ImRvbGxhcl9zaWduX2NpcmNsZSIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT05fT0ZGOiJkb2xsYXJfc2lnbl9jaXJjbGVfc2xhc2giLENSRUFUT1JfU1RVRElPOiJ5b3V0dWJlX3N0dWRpbyIsREFSS19USEVNRToidGhlbWUiLERFTEVURToidHJhc2hfY2FuIixERUxFVEVfU1dFRVA6InRyYXNoX2NhbiIsCkRFU0tUT1A6ImxhcHRvcCIsRElTTElLRToidGh1bWJfZG93biIsRElTTElLRV9TRUxFQ1RFRDoidGh1bWJfZG93biIsRElTTUlTU0FMOiJ4IixESVNNSVNTX1FVRVVFOiJwbGF5bGlzdF94IixET0dGT09EOiJwYXdwcmludCIsRE9MTEFSX1NJR046ImRvbGxhcl9zaWduX2NpcmNsZSIsRE9MTEFSX1NJR05fQ0lSQ0xFOiJkb2xsYXJfc2lnbl9jaXJjbGUiLERPTExBUl9TSUdOX0NPTlRBSU5FUjoiZG9sbGFyX3NpZ25fcmVjdGFuZ2xlIixET1dOX0FSUk9XOiJhcnJvd19kb3duIixET19OT1RfRElTVFVSQjoiY2lyY2xlX3NsYXNoIixEUkFGVDoiZG9jdW1lbnQiLERSQUdfSEFORExFOiJlcXVhbCIsRUFSVEg6Imdsb2JlIixFRElUOiJwZW5jaWwiLEVNT0pJOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX0ZMQUdTOiJmbGFnIixFTU9KSV9PQkpFQ1RTOiJsaWdodGJ1bGIiLEVNT0pJX1BFT1BMRToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9SRUNFTlQ6ImNsb2NrIixFTVBUWV9IRUFSVDoiaGVhcnQiLApFTVBUWV9MSUtFOiJ0aHVtYl91cCIsRVJST1JfQkxBQ0s6ImFsZXJ0X2NpcmNsZSIsRVJST1JfT1VUTElORToiYWxlcnRfY2lyY2xlIixFUlJPUl9XSElURToiYWxlcnRfY2lyY2xlIixFWElUX0FQUDoiYXJyb3dfaW4iLEVYSVRfVE9fQVBQOiJhcnJvd19pbiIsRVhQQU5EOiJjaGV2cm9uX2Rvd24iLEVYUEFORF9BTEw6ImNoZXZyb25fZXhwYW5kIixFWFBBTkRfQ0FJUk86ImNoZXZyb25fZG93biIsRVhQQU5EX0xFU1M6ImNoZXZyb25fdXAiLEVYUEFORF9NT1JFOiJjaGV2cm9uX2Rvd24iLEVYUExPUkU6ImNvbXBhc3MiLEVYUExPUkVfREVTVElOQVRJT046ImNvbXBhc3MiLEVYVEVSTkFMX0xJTks6ImFycm93X3VwX3JpZ2h0IixFWUVfT0ZGOiJleWVfc2xhc2giLEZBQl9VUExPQUQ6InVwbG9hZCIsRkFDRV9IQVBQWV9PVVRMSU5FOiJmYWNlX2hhcHB5IixGQUNFX01FSDoiZmFjZV9uZXV0cmFsIixGQUNUX0NIRUNLOiJ0ZXh0X3BhZ2VfY2hlY2siLEZBU0hJT05fTE9HTzoiZmFzaGlvbiIsCkZBU0hJT05fTE9HT19DQUlSTzoiZmFzaGlvbiIsRkFWT1JJVEU6InRodW1iX3VwIixGRUVEQkFDSzoiYWxlcnRfYnViYmxlIixGRUVEQkFDS19DQUlSTzoiYWxlcnRfYnViYmxlIixGSUxMX0FSUk9XX1NPTElEX0RPV05fMTY6ImFycm93X3NvbGlkX2Rvd24iLEZJTExfQVJST1dfU09MSURfVVBfMTY6ImFycm93X3NvbGlkX3VwIixGSUxMX0RPTExBUl9TSUdOX0hFQVJUXzEyOiJkb2xsYXJfc2lnbl9oZWFydCIsRklSU1RfUEFHRToiY2hldnJvbl9sZWZ0X2VuZCIsRkxBR19DQUlSTzoiZmxhZyIsRkxBU0hfT0ZGOiJmbGFzaF9zbGFzaCIsRkxBU0hfT046ImZsYXNoIixGVUxMX0hFQVJUOiJoZWFydCIsR0FNSU5HX0xPR086ImdhbWluZyIsR0FNSU5HX0xPR09fQ0FJUk86ImdhbWluZyIsR09fVE9fUEFHRToiYXJyb3dfcmlnaHQiLEdSSURfQVNZTU1FVFJJQ0FMOiJkYXNoYm9hcmQiLEdST1VQUzoicGVyc29uMyIsSEFORF9TV0lQRV9MRUZUOiJnZXN0dXJlX3N3aXBlX2xlZnQiLEhBTkRfU1dJUEVfUklHSFQ6Imdlc3R1cmVfc3dpcGVfcmlnaHQiLApIQVBQWToiZmFjZV9oYXBweSIsSEVBTFRIX0FORF9TQUZFVFk6InNoaWVsZF9oZWFsdGgiLEhFQVJUX0JPWDoiaGVhcnRfY3ViZSIsSEVMUDoiaGVscF9jaXJjbGUiLEhFTFBfQ0FJUk86ImhlbHBfY2lyY2xlIixIRUxQX09VVExJTkU6ImhlbHBfY2lyY2xlIixISURFOiJjaXJjbGVfc2xhc2giLElOQ09HTklUT19DQUlSTzoiaW5jb2duaXRvIixJTkZJTklUWV9JQ09OOiJpbmZpbml0eSIsSU5GTzoiaW5mb19jaXJjbGUiLElORk9fT1VUTElORToiaW5mb19jaXJjbGUiLElOU0VSVF9DSEFSVDoiY2hhcnRfYmFyX3NxdWFyZSIsSU5TRVJUX0NIQVJUX09VVExJTkVEOiJjaGFydF9iYXJfc3F1YXJlIixJTlNFUlRfUEhPVE86ImltYWdlIixLRUVQOiJwaW4iLEtFRVBfT0ZGOiJwaW5fc2xhc2giLEtFWUJPQVJEOiJrZXlib2FyZCIsS0VZQk9BUkRfQVJST1dfRE9XTjoiY2hldnJvbl9kb3duIixLRVlCT0FSRF9BUlJPV19VUDoiY2hldnJvbl91cCIsS0lEU19CTE9DSzoiY2lyY2xlX3NsYXNoIiwKTEFOR1VBR0U6Imdsb2JlIixMQVNUX1BBR0U6ImNoZXZyb25fcmlnaHRfZW5kIixMQVVOQ0g6ImFycm93X3VwX3JpZ2h0IixMRUFSTklORzoibGlnaHRidWxiIixMRUFSTklOR19DQUlSTzoibGlnaHRidWxiIixMSUJSQVJZX0FERDoiYm9va21hcmsiLExJQlJBUllfSU1BR0U6ImltYWdlX3N0YWNrIixMSUJSQVJZX01VU0lDOiJhdWRpb19zcXVhcmVfc3RhY2siLExJQlJBUllfT1VUTElORToicGxheV9zcXVhcmVfc3RhY2siLExJQlJBUllfUkVNT1ZFOiJib29rbWFyayIsTElCUkFSWV9TQVZFRDoiY2hlY2tfc3F1YXJlX3N0YWNrIixMSUtFU19QTEFZTElTVDoidGh1bWJfdXAiLExJS0VTX1BMQVlMSVNUX0NBSVJPOiJ0aHVtYl91cCIsTElLRToidGh1bWJfdXAiLExJS0VfU0VMRUNURUQ6InRodW1iX3VwIixMSVNUX1FVRVVFOiJxdWV1ZSIsTElWRV9DQUlSTzoibGl2ZSIsTElWRV9VTkxJU1RFRDoibGluayIsTE9DQVRJT05fT046ImxvY2F0aW9uX3BpbiIsTE9DQVRJT05fUElOOiJsb2NhdGlvbl9waW4iLApMT0NBVElPTl9QT0lOVDoibG9jYXRpb25fcGluIixMT09QOiJyZXBlYXQiLExPT1BfQUNUSVZFOiJyZXBlYXQiLExPT1BfT05FOiJyZXBlYXQxIixMT09QX09ORV9BQ1RJVkU6InJlcGVhdDEiLE1FRVQ6Imdvb2dsZV9tZWV0IixNRUg6ImZhY2VfbmV1dHJhbCIsTUVNQkVSU0hJUFM6Im1lbWJlcnNoaXBzIixNRU1CRVJTX09OTFlfTU9ERV9PRkY6InRleHRfYnViYmxlIixNRU5VX0ZJTFRFUjoiZmlsdGVyIixNRVNTQUdFOiJ0ZXh0X2J1YmJsZSIsTUVTU0FHRV9CVUJCTEVfR0VBUjoiYnViYmxlX2dlYXIiLE1FU1NBR0VfQlVCQkxFX0xFRlQ6InRleHRfYnViYmxlIixNRVNTQUdFX0JVQkJMRV9MRUZUX0JPT1NUOiJidWJibGVfc3BhcmtsZXMiLE1FU1NBR0VfQlVCQkxFX09WRVJMQVA6ImJ1YmJsZV9zdGFjayIsTUVTU0FHRV9CVUJCTEVfUVVFU1RJT046ImhlbHBfYnViYmxlIixNSUNST1BIT05FX09OOiJtaWMiLE1PTkVUSVpBVElPTl9PTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixNT05FWV9GSUxMOiJkb2xsYXJfc2lnbl9yZWN0YW5nbGUiLApNT05FWV9GSUxMX0pQWToieWVuX3NpZ25fcmVjdGFuZ2xlIixNT05FWV9IQU5EOiJkb2xsYXJfc2lnbl9jaXJjbGVfaGFuZCIsTU9ORVlfSEVBUlQ6ImRvbGxhcl9zaWduX2hlYXJ0IixNT09OX1o6InNsZWVwX3RpbWVyIixNT1JFX0hPUklaOiJvdmVyZmxvd19ob3Jpem9udGFsIixNT1JFX1ZFUlQ6Im92ZXJmbG93X3ZlcnRpY2FsIixNVVNJQzoiYXVkaW8iLE1VU0lDX0NBSVJPOiJhdWRpbyIsTVVTSUNfRVhQTElDSVRfQkFER0U6ImV4cGxpY2l0IixNVVNJQ19ORVdfUkVMRUFTRToiYXVkaW9fYmFkZ2UiLE1VU0lDX05PVEVfU1lNQk9MOiJhdWRpbyIsTVVTSUNfU0NJU1NPUlM6ImF1ZGlvX3NjaXNzb3JzIixNVVNJQ19TSFVGRkxFOiJzaHVmZmxlIixNWV9DSEFOTkVMOiJwZXJzb25fY2lyY2xlIixNWV9MT0NBVElPTjoibG9jYXRpb25fcGluIixNWV9WSURFT1M6InZpZGVvIixNWV9WSURFT1NfQ0FJUk86InZpZGVvIixORVdTX0NBSVJPOiJuZXdzIixORVdTX1NUT1JZOiJuZXdzIiwKTkVYVDoiY2hldnJvbl9yaWdodCIsTk9URV9BREQ6ImJ1YmJsZV9wZW5jaWwiLE5PVElGSUNBVElPTlM6ImJlbGwiLE5PVElGSUNBVElPTlNfQUNUSVZFOiJiZWxsX3dhdmVzIixOT1RJRklDQVRJT05TX0NBSVJPOiJiZWxsIixOT1RJRklDQVRJT05TX0RPTkVfQ0hFQ0tNQVJLOiJjaGVjayIsTk9USUZJQ0FUSU9OU19JTkJPWDoiYmVsbCIsTk9USUZJQ0FUSU9OU19OT05FOiJiZWxsIixOT1RJRklDQVRJT05TX09GRjoiYmVsbF9zbGFzaCIsTk9UX0lOVEVSRVNURUQ6ImNpcmNsZV9zbGFzaCIsT0ZGSUNJQUxfQVJUSVNUX0JBREdFOiJhdWRpbyIsT0ZGTElORV9DTE9VRDoiY2xvdWRfc2xhc2giLE9GRkxJTkVfRE9XTkxPQUQ6ImRvd25sb2FkIixPRkZMSU5FX0RPV05MT0FEX0NBSVJPOiJkb3dubG9hZCIsT0ZGTElORV9QQVVTRToicGF1c2UiLE9QRU5fSU5fTkVXOiJhcnJvd191cF9yaWdodCIsT1VUTElORV9BREpVU1Q6ImFkanVzdCIsT1VUTElORV9BUlJPV19TT0xJRF9ET1dOOiJhcnJvd19zb2xpZF9kb3duIiwKT1VUTElORV9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQOiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLE9VVExJTkVfQkFHOiJiYWciLE9VVExJTkVfQ0xPQ0tfSEFMRl9DSVJDTEU6ImNsb2NrX2hhbGZfZGFzaGVkIixPVVRMSU5FX01PQklMRV9ET1dOTE9BRDoibW9iaWxlX2Fycm93X2Rvd24iLE9VVExJTkVfT1ZFUkZMT1dfSE9SSVpPTlRBTF8zMjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsT1VUTElORV9PVkVSRkxPV19WRVJUSUNBTDoib3ZlcmZsb3dfdmVydGljYWwiLE9VVExJTkVfWU9VVFVCRV9JTVBST1ZFX1RWOiJzdGFyX3R2IixPVVRMSU5FX1lPVVRVQkVfU0hPUlRTX1BMVVM6InNob3J0c19hZGQiLFBBSUQ6ImRvbGxhcl9zaWduX2NpcmNsZSIsUEFVU0VfT1VUTElORUQ6InBhdXNlIixQQVlNRU5UOiJjcmVkaXRfY2FyZCIsUEVPUExFOiJwZXJzb25fY2hpbGQiLApQRU9QTEVfMjoicGVyc29uMl9yZWN0YW5nbGUiLFBFT1BMRV9BTFQ6InBlcnNvbjIiLFBFT1BMRV9HUk9VUDoicGVyc29uMyIsUEVPUExFX05PVEU6ImJ1YmJsZV9hc3RlcmlzayIsUEVSU09OXzI6InBlcnNvbjIiLFBFUlNPTl9BQ0NPVU5UOiJwZXJzb25fc3F1YXJlX3N0YWNrIixQRVJTT05fTUlOVVM6InBlcnNvbl94IixQRVJTT05fTVVTSUM6InBlcnNvbl9hdWRpbyIsUEVSU09OX1JBREFSOiJwZXJzb25fd2F2ZXMiLFBFUlNPTl9SQURBUl9GSUxMRUQ6InBlcnNvbl93YXZlcyIsUEVSU09OX1NFVFRJTkc6InBlcnNvbl9nZWFyIixQSE9ORUxJTks6InFyX2NvZGUiLFBIT05FOiJwaG9uZSIsUEhPTkVfRE9XTkxPQUQ6Im1vYmlsZV9hcnJvd19kb3duIixQSUNUVVJFX0lOX1BJQ1RVUkU6InBpY3R1cmVfaW5fcGljdHVyZSIsUExBWUFCTEVTX0xPR086InBsYXlhYmxlcyIsUExBWUFCTEVTX0xPR09fQ0FJUk86InBsYXlhYmxlcyIsUExBWUxJU1RTOiJwbGF5bGlzdCIsUExBWUxJU1RTX0NBSVJPOiJwbGF5bGlzdCIsClBMQVlMSVNUX0FERF9DSEVDSzoiYm9va21hcmsiLFBMQVlfQUxMOiJwbGF5IixQTEFZX0FSUk9XOiJwbGF5IixQTEFZX0FSUk9XX0NJUkNMRToicGxheV9jaXJjbGUiLFBMQVlfQVJST1dfSEFMRl9DSVJDTEU6InBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkIixQTEFZX0FSUk9XX09VVExJTkVEOiJwbGF5IixQTEFZX0NJUkNMRToicGxheV9jaXJjbGUiLFBMQVlfT1VUTElORUQ6InBsYXlfY2lyY2xlIixQT0RDQVNUX0FERDoicG9kY2FzdF9hZGQiLFBPRENBU1RfQ0hFQ0s6InBvZGNhc3RfY2hlY2siLFBSSVZBQ1lfSU5GTzoic2hpZWxkX3giLFBSSVZBQ1lfUFJJVkFURToibG9jayIsUFJJVkFDWV9QVUJMSUM6Imdsb2JlIixQUklWQUNZX1VOTElTVEVEOiJsaW5rIixQUk9NT1RFOiJtZWdhcGhvbmUiLFBVUkNIQVNFUzoicHJpY2VfdGFnIixQVVJDSEFTRV9TVVBFUl9DSEFUOiJzdXBlcl9jaGF0IixQVVJDSEFTRV9TVVBFUl9TVElDS0VSOiJzdXBlcl9zdGlja2VyIixRVUVTVElPTl9BTlNXRVI6ImhlbHBfYnViYmxlIiwKUVVFU1RJT05fQ0lSQ0xFOiJoZWxwX2NpcmNsZSIsUVVFVUVfUExBWV9MQVNUOiJxdWV1ZV9sYXN0IixRVUVVRV9QTEFZX05FWFQ6InF1ZXVlX25leHQiLFFVT1RBVElPTl9NQVJLOiJxdW90ZSIsUkFEQVJfTElWRToibGl2ZSIsUkVNT1ZFOiJtaW51c19jaXJjbGUiLFJFTU9WRV9DSVJDTEU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0NJUkNMRV9PVVRMSU5FOiJtaW51c19jaXJjbGUiLFJFTU9WRV9GUk9NX0hJU1RPUlk6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0ZST01fUExBWUxJU1Q6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX01PREVSQVRPUjoic2hpZWxkX3NsYXNoIixSRVBMQVk6ImFycm93X2NvdW50ZXJjbG9ja3dpc2UiLFJFUExBWV8xMDoic2tpcDEwX2JhY2siLFJFUExBWV9BUlJPVzoicmVwbGF5IixSRVBPUlRfUFJPQkxFTToiYWxlcnRfdHJpYW5nbGUiLFJTU19PRkY6InJzc19zbGFzaCIsU0FEOiJmYWNlX3NhZCIsU0FWRV9QTEFZTElTVDoiYm9va21hcmsiLFNDSEVEVUxFOiJjbG9jayIsClNDSE9PTDoiZ3JhZHVhdGlvbl9jYXAiLFNDUkVFTl9ERUZBVUxUOiJwbGF5ZXJfZGVmYXVsdCIsU0NSRUVOX0ZVTExTQ1JFRU46InBsYXllcl9mdWxsX2VudGVyIixTQ1JFRU5fTElHSFQ6ImFtYmllbnRfbW9kZSIsU0NSRUVOX1JPVEFUSU9OOiJyb3RhdGVfcG9ydHJhaXQiLFNDUkVFTl9TV0lUQ0g6InBsYXllcl9zd2l0Y2giLFNDUkVFTl9USEVBVFJFOiJwbGF5ZXJfdGhlYXRlciIsU0VBUkNIX0NBSVJPOiJzZWFyY2giLFNFQVJDSF9ISVNUT1JZOiJoaXN0b3J5IixTRUxMOiJwcmljZV90YWciLFNFVFRJTkdTOiJnZWFyIixTRVRUSU5HU19DQUlSTzoiZ2VhciIsU0VUVElOR1NfTElHSFQ6ImdlYXIiLFNFVFRJTkdTX01BVEVSSUFMOiJnZWFyIixTRVRUSU5HU19SRU1PVEU6InJlbW90ZV93YXZlcyIsU0hBUkU6InNoYXJlIixTSEFSRV9BUlJPVzoic2hhcmUiLFNIQVJFX0NBSVJPOiJzaGFyZSIsU0hJRUxEOiJzaGllbGRfeCIsU0hJRUxEX0VNUFRZOiJzaGllbGQiLFNISUVMRF9PRkY6InNoaWVsZF9zbGFzaCIsClNISUVMRF9XSVRIX0FWQVRBUjoicGVyc29uX3NoaWVsZCIsU0hPUFBJTkdfQkFHOiJiYWciLFNIT1BQSU5HX0JBR19DQUlSTzoiYmFnIixTSE9QUElOR19DQVJUOiJjYXJ0IixTSE9SVFNfQ09NTUVOVDoidGV4dF9idWJibGUiLFNIT1JUU19ESVNMSUtFOiJ0aHVtYl9kb3duIixTSE9SVFNfTElLRToidGh1bWJfdXAiLFNIT1JUU19TSEFSRToic2hhcmUiLFNLSVBfRk9SV0FSRF8zMDoic2tpcDMwX2ZvcndhcmQiLFNMQVNIX0NJUkNMRV9MRUZUOiJjaXJjbGVfc2xhc2giLFNMQVNIX0NJUkNMRV9SSUdIVDoiY2lyY2xlX3NsYXNoIixTTE9XX01PREU6ImJ1YmJsZV9zbG93IixTTE9XX01PREVfT0ZGOiJ0ZXh0X2J1YmJsZSIsU0xPV19NT1RJT05fVklERU86InBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkIixTT0NJQUw6InBlcnNvbl9jaGlsZCIsU1BBUktMRToic3BhcmtsZXMiLFNQQVJLX0lNQUdFOiJpbWFnZV9zcGFyayIsU1BBUktfTElHSFRCVUxCX09VVExJTkU6InNwYXJrX2xpZ2h0YnVsYiIsClNQQVJLX1BFTkNJTDoicGVuY2lsX3NwYXJrIixTUEFSS19SQURBUjoic3Bhcmtfd2F2ZXMiLFNQQVJLX1ZJREVPOiJ2aWRlb19zcGFyayIsU1BFQUtFUl9HUk9VUDoic3BlYWtlcl9zdGFjayIsU1BFQUtFUl9PRkY6InNwZWFrZXJfc2xhc2giLFNQRUVEXzFYOiJuMXgiLFNQRUVEXzFfUE9JTlRfMlg6Im4xcG9pbnQyeCIsU1BFRURfMV9QT0lOVF81WDoibjFwb2ludDV4IixTUEVFRF8xX1BPSU5UXzhYOiJuMXBvaW50OHgiLFNQRUVEXzJYOiJuMngiLFNQT05TT1JTSElQX1NUQVI6InN0YXJfY2lyY2xlIixTUE9SVFM6ImJhc2tldGJhbGwiLFNQT1RMSUdIVDoic3BvdGxpZ2h0IixTVEFGRl9QSUNLOiJzcG90bGlnaHQiLFNUQVJUX0RWUjoiYWRkIixTVEFSX0JPUkRFUjoic3RhciIsU1RBUl9DSVJDTEVfUklCQk9OOiJtZW1iZXJzaGlwc19naWZ0IixTVEFSX0hBTEY6InN0YXJfZnVsbF9oYWxmIixTVEFSX1NIT09USU5HOiJoeXBlIixTVElDS0VSOiJzdGlja2VyIixTVElDS0VSX0VNT1RJQ09OOiJmYWNlX2hhcHB5IiwKU1RPUF9EVlI6InN0b3AiLFNVQlNDUklCRToieW91dHViZSIsU1VCU0NSSUJFX1BMVVM6ImFkZCIsU1VCU0NSSVBUSU9OX01BTkFHRVI6ImdlYXIiLFNVUEVSU1RBUjoic3VwZXJfc3RhciIsU1VQRVJWSVNPUl9BQ0NPVU5UOiJwZXJzb25fY2hpbGQiLFNVUEVSX0NIQVRfRk9SX0dPT0Q6ImhhbmRzX2hlYXJ0IixTV0FQX0hPUklaOiJhcnJvd19zd2FwX2hvcml6b250YWwiLFNXSVRDSF9BQ0NPVU5UUzoicGVyc29uX3NxdWFyZV9zdGFjayIsVEFCX0FDQ09VTlQ6InBlcnNvbiIsVEFCX0FDVElWSVRZOiJiZWxsIixUQUJfQk9PS01BUks6ImJvb2ttYXJrIixUQUJfRVhQTE9SRToiY29tcGFzcyIsVEFCX0hPTUU6ImhvbWUiLFRBQl9IT01FX0NBSVJPOiJob21lIixUQUJfSU5CT1g6Im1haWwiLFRBQl9MSUtFRDoidGh1bWJfdXAiLFRBQl9NVVNJQ19QUkVNSVVNOiJ5b3V0dWJlX211c2ljIixUQUJfU0hPUlRTOiJzaG9ydHMiLFRBQl9TSE9SVFNfQ0FJUk86InNob3J0cyIsVEFCX1NVQlNDUklQVElPTlM6InN1YnNjcmlwdGlvbnMiLApUQUJfU1VCU0NSSVBUSU9OU19DQUlSTzoic3Vic2NyaXB0aW9ucyIsVEFCX1RSRU5ESU5HOiJ0cmVuZGluZyIsVEFSR0VUOiJ0YXJnZXQiLFRBUkdFVF9BREQ6InRhcmdldF9hZGQiLFRFTVBMQVRFX0FERDoidGVtcGxhdGVfYWRkIixURVhUOiJmb250IixUSUNLRVRfU1RBUjoic3Rhcl90aWNrZXQiLFRJTUVSOiJzdG9wd2F0Y2giLFRSRU5ESU5HX0NBSVJPOiJ0cmVuZGluZyIsVFJFTkRJTkdfRE9XTjoiYXJyb3dfdHJlbmRfZG93biIsVFJFTkRJTkdfVVA6ImFycm93X3RyZW5kX3VwIixUUk9QSFlfQ0FJUk86InRyb3BoeSIsVFJPUEhZX0NFTEVCUkFUSU9OUzoiZmlyZXdvcmtzIixUUk9QSFlfU1RBUjoic3Rhcl90cm9waHkiLFRVTkU6ImFkanVzdCIsVFZfT0ZGOiJ0dl9zbGFzaCIsVU5CTE9DS19VU0VSOiJtaW51c19jaXJjbGUiLFVORkFWT1JJVEU6InRodW1iX2Rvd24iLFVOTElNSVRFRDoieW91dHViZSIsVU5QTFVHR0VEX0xJVkVfR1VJREU6ImxpdmUiLFVOUExVR0dFRF9TUE9SVFM6ImV5ZV9zbGFzaCIsClVQTE9BRFM6InBsYXlfc3F1YXJlX3N0YWNrIixVUF9BUlJPVzoiYXJyb3dfdXAiLFZFUlRJQ0FMX0FMSUdOX0JPVFRPTToiY2hldnJvbl9kb3duX2VuZCIsVkVSVElDQUxfQUxJR05fVE9QOiJjaGV2cm9uX3VwX2VuZCIsVkVSWV9IQVBQWToiZmFjZV92ZXJ5X2hhcHB5IixWRVJZX1NBRDoiZmFjZV92ZXJ5X3NhZCIsVklERU9TOiJwbGF5X2NpcmNsZSIsVklERU9fQ0FMTDoidmlkZW9fY2FtZXJhX2FkZCIsVklERU9fTElCUkFSWV9XSElURToicGxheV9zcXVhcmVfc3RhY2siLFZJREVPX1FVQUxJVFlfNEs6Im40ayIsVklERU9fUVVBTElUWV84SzoibjhrIixWSURFT19ZT1VUVUJFOiJ5b3V0dWJlIixWSUVXX0xJU1RfQ0FJUk86InZpZXdfbGlzdCIsVklFV19NT0RVTEU6InZpZXdfY29sdW1uM19yb3cyIixWSVNJQklMSVRZOiJleWUiLFZJU0lCSUxJVFlfT0ZGOiJleWVfc2xhc2giLFZPTFVNRV9ET1dOOiJ2b2x1bWVfbWluIixWT0xVTUVfTVVURToidm9sdW1lX211dGUiLFZPTFVNRV9PRkY6InZvbHVtZV9tdXRlIiwKVk9MVU1FX1NUQUJMRToic3RhYmxlX3ZvbHVtZSIsVk9MVU1FX1VQOiJ2b2x1bWVfbWF4IixXQUxMUEFQRVI6ImltYWdlIixXQVJOSU5HOiJhbGVydF90cmlhbmdsZSIsV0FUQ0hfSElTVE9SWToiaGlzdG9yeSIsV0FUQ0hfSElTVE9SWV9DQUlSTzoiaGlzdG9yeSIsV0FUQ0hfTEFURVI6ImNsb2NrIixXQVRDSF9MQVRFUl9DQUlSTzoiY2xvY2siLFdBVENIX1JFTEFURURfTUlYOiJtaXgiLFdIQVRfVE9fV0FUQ0g6ImhvbWUiLFlPVVRVQkVfQ1JFQVRFX1JFRF9MT0dPOiJ5b3V0dWJlX2NyZWF0ZV9sb2dvIixZT1VUVUJFX0xJTktFRF9UVjoidHZfbW9iaWxlIixZT1VUVUJFX01VU0lDX01PTk9DSFJPTUU6InlvdXR1YmVfbXVzaWMiLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRV9DQUlSTzoieW91dHViZV9tdXNpYyIsWU9VVFVCRV9TSE9SVFNfQVJST1dfRE9XTjoiYXJyb3dfZG93biIsWU9VVFVCRV9TSE9SVFNfQVJST1dfVVA6ImFycm93X3VwIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoic2hvcnRzX2VtcHR5IiwKWU9VVFVCRV9TSE9SVFNfRklMTF9OT19UUklBTkdMRV9XSElURV8xNjoic2hvcnRzX2VtcHR5IixZT1VUVUJFX1NIT1JUU19PVVRMSU5FXzI0OiJzaG9ydHMiLFlPVVRVQkVfU0hPUlRTX09VVExJTkVfV0lUSF9URVhUXzI0OiJzaG9ydHNfdGV4dF9sb2dvIixZVF9PVVRMSU5FX01VU0lDXzI0OiJhdWRpbyJ9O3ZhciBWcWE9ezE1OltbMSwzLDI0XV0sIjFfcG9pbnRfMngiOltbMSwxLDI0XV0sIjFfcG9pbnRfNXgiOltbMSwxLDI0XV0sIjFfcG9pbnRfOHgiOltbMSwxLDI0XV0sIjF4IjpbWzEsMSwyNF1dLCIyX3BvaW50XzV4IjpbWzEsMSwyNF1dLCIyZCI6W1sxLDEsMjRdXSwiMngiOltbMSwzLDI0XV0sIjNkIjpbWzEsMSwyNF1dLCIzeCI6W1sxLDMsMjRdXSwiNGQiOltbMSwxLDI0XV0sIjRrIjpbWzAsMywyNF0sWzEsMywyNF1dLDYwOltbMSwzLDI0XV0sIjhrIjpbWzAsMiwyNF0sWzEsMiwyNF1dLGFjY2Vzc2liaWxpdHk6W1sxLDQsMjRdXSxhY2NvdW50X2xpbms6W1sxLDgsMjRdXSxhY2NvdW50X2xpbmtfZXJyb3I6W1sxLDYsMjRdXSxhY2NvdW50X2xpbmtfc29tZTpbWzAsNSwyNF1dLGFjY291bnRfbGlua19zdWNjZXNzOltbMCw1LDI0XV0sYWRkOltbMSw5LDE2XSxbMSw5LDI0XV0sYWRkX2NhaXJvOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDI0XV0sYWRkX2NpcmNsZTpbWzEsNiwyNF0sClsxLDYsMzZdXSxhZGRfaGFsZl9jaXJjbGU6W1sxLDIsMjRdXSxhZGp1c3Q6W1swLDksMjRdLFsxLDksMThdLFsxLDksMjRdXSxhaXJwbGFuZTpbWzAsNSwyNF0sWzEsNSwyMF0sWzEsNSwyNF1dLGFpcnBsYXk6W1sxLDYsMTZdLFsxLDYsMjRdXSxhaXJwbGF5X29mZjpbWzEsMSwyNF1dLGFsYnVtOltbMCw4LDI0XSxbMSw4LDI0XV0sYWxlcnRfY2lyY2xlOltbMCwxMSwyNF0sWzEsMTEsMTZdLFsxLDExLDI0XV0sYWxlcnRfdHJpYW5nbGU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzEsMTAsMjRdXSxhbGlnbl9jZW50ZXI6W1swLDYsMjRdLFsxLDYsMjRdXSxhbGlnbl9sZWZ0OltbMCw2LDI0XSxbMSw2LDI0XV0sYWxpZ25fcmlnaHQ6W1swLDYsMjRdLFsxLDYsMjRdXSxhcnJvd19jYXBzOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfY2lyY2xlOltbMSw2LDI0XSxbMSw2LDQ4XV0sYXJyb3dfY2lyY2xlX2Rhc2g6W1sxLDEsMjRdXSxhcnJvd19jaXJjbGVfcGxheTpbWzEsMSwyNF0sWzEsMSwKMzZdLFsxLDEsNDhdXSxhcnJvd19jaXJjbGVfcmlnaHQ6W1swLDMsMjRdLFsxLDMsMTJdLFsxLDMsMTZdLFsxLDMsMThdLFsxLDMsMjRdXSxhcnJvd19kaWFnb25hbDpbWzEsNSwyNF1dLGFycm93X2RpYWdvbmFsX2Rvd25fcmlnaHQ6W1swLDEsMTJdLFswLDEsMTZdLFswLDEsMThdLFswLDEsMjRdLFsxLDEsMTJdLFsxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjRdXSxhcnJvd19kaWFnb25hbF91cF9yaWdodDpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLGFycm93X2Rvd246W1swLDMsMjRdLFsxLDMsMjRdXSxhcnJvd19kb3duX2NpcmNsZTpbWzAsNCwxMl0sWzAsNCwxNl0sWzAsNCwxOF0sWzAsNCwyNF1dLGFycm93X2ZsaXA6W1sxLDEwLDE2XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSxhcnJvd19mbGlwX2RvbGxhcl9zaWduOltbMSwyLDI0XV0sYXJyb3dfaW46W1swLDgsMjRdLFsxLDgsMjRdXSxhcnJvd19sZWZ0OltbMSwKOCwyNCwhMF1dLGFycm93X2xlZnRfY2Fpcm86W1sxLDIsMjQsITBdXSxhcnJvd19tZXJnZTpbWzEsMiwyNF1dLGFycm93X291dDpbWzAsMiwyNF1dLGFycm93X3BhdXNlOltbMSwxLDI0XV0sYXJyb3dfcmVkbzpbWzEsMSwyNF1dLGFycm93X3JlbWl4OltbMSwxLDI0XV0sYXJyb3dfcmVwZWF0OltbMCw1LDI0XSxbMSw1LDI0XV0sYXJyb3dfcmVwZWF0XzE6W1swLDMsMjRdLFsxLDMsMjRdXSxhcnJvd19yaWdodDpbWzEsMywyNCwhMF1dLGFycm93X3NodWZmbGU6W1swLDUsMjRdLFsxLDUsMjRdXSxhcnJvd19za2lwX2ZvcndhcmQ6W1swLDEsMjRdLFsxLDEsMjRdXSxhcnJvd19zb2xpZF9kb3duOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDE2XSxbMSw0LDI0XV0sYXJyb3dfc29saWRfdXA6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxhcnJvd19zcGxpdDpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3N3YXBfaG9yaXpvbnRhbDpbWzAsNSwyNF0sWzEsNSwxOF0sClsxLDUsMjRdXSxhcnJvd190aW1lOltbMCw4LDI0XSxbMSw4LDI0XV0sYXJyb3dfdGltZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGFycm93X3RpbWVfZm9yd2FyZDpbWzEsMSwyNF1dLGFycm93X3VuZG86W1sxLDEsMjRdXSxhcnJvd191cDpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3VwX2NpcmNsZTpbWzAsNCwxMl0sWzAsNCwxNl0sWzAsNCwxOF0sWzAsNCwyNF1dLGFycm93c19hbGVydDpbWzEsMSwyNF1dLGFydGljbGU6W1sxLDIsMjRdXSxhcnRpY2xlX2FsZXJ0OltbMSwyLDI0XV0sYXJ0aWNsZV9jaGVjazpbWzEsMiwyNF1dLGFydGljbGVfY2xhcmlmeTpbWzEsMiwyNF1dLGF1ZGlvOltbMCwxNCwxMl0sWzAsMTQsMTZdLFswLDE0LDE4XSxbMCwxNCwyNF0sWzEsMTQsMThdLFsxLDE0LDI0XV0sYXVkaW9fYmFkZ2U6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxhdWRpb19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX29mZjpbWzEsMiwyNF1dLGF1ZGlvX3N1cnJvdW5kOltbMCwKMSwyNF0sWzEsMSwyNF1dLGJhY2tncm91bmQ6W1sxLDEsMjRdXSxiYWNrc3BhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxiYWc6W1swLDcsMTJdLFswLDcsMThdLFswLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxiYWdfYm9va21hcms6W1sxLDIsMjRdXSxiYWdfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxiYXJfY2lyY2xlOltbMSw0LDI0XV0sYmFyX2dyYXBoOltbMCwyLDI0XSxbMSwyLDI0XV0sYmFyX2dyYXBoX2JveF92ZXJ0aWNhbDpbWzAsNiwyNF0sWzEsNiwyNF1dLGJhcl9ob3Jpem9udGFsOltbMSwyLDE2XSxbMSwyLDI0XV0sYmFyc18yOltbMSw5LDE2XSxbMSw5LDI0XV0sYmFyc18zOltbMCwyLDI0XSxbMSwyLDI0XV0sYmVha2VyOltbMSwyLDI0XV0sYmVsbDpbWzAsMTEsMjRdLFsxLDExLDI0XV0sYmVsbF9jYWlybzpbWzAsMywyNF0sWzEsMywyNF1dLGJlbGxfb2ZmOltbMSw1LDI0XV0sYmVsbF9vZmZfY2Fpcm86W1sxLDIsMjRdXSxiZWxsX29uOltbMCw3LDI0XV0sYmVsbF9vbl9jYWlybzpbWzAsCjIsMjRdXSxibHVyOltbMSwyLDI0XV0sYm9vazpbWzEsMywyNF1dLGJvb2ttYXJrOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxib29rbWFya19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGJveF8zZDpbWzAsMSwyNF0sWzEsMSwyNF1dLGJveF9iYXI6W1swLDMsMjRdXSxib3hfY2hlY2s6W1swLDYsMThdLFswLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdXSxib3hfY2hldnJvbl9yaWdodDpbWzEsMywyNF1dLGJveF9kYXNoZWRfdHJpYW5nbGU6W1sxLDMsMjRdXSxib3hfZW1wdHk6W1sxLDUsMjRdXSxib3hfb3Blbl9jaGVjazpbWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLGJveF9wZW5jaWw6W1sxLDMsMTZdLFsxLDMsMjRdXSxib3hfcGxhY2Vob2xkZXJfbGVmdDpbWzEsMSwyNF1dLGJveF9zZWFyY2g6W1sxLDEsMjRdXSxib3hfc3RhY2tfMzpbWzAsMSwyNF0sWzEsMSwyNF1dLGJveGVzXzI6W1sxLDMsMjRdXSxicmllZmNhc2U6W1sxLDIsMjRdXSxicmllZmNhc2Vfc2xhc2g6W1swLAozLDI0XV0sYnJpZ2h0bmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGJyb2FkY2FzdDpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywxNl0sWzEsMywxOF0sWzEsMywyNF0sWzEsMyw0OF1dLGJ1ZzpbWzAsNCwyNF0sWzEsNCwyNF1dLGJ1c2luZXNzOltbMSw0LDI0XV0sY2FibGU6W1sxLDIsMjRdXSxjYWxjdWxhdG9yOltbMCwzLDI0XSxbMSwzLDI0XV0sY2FsZW5kYXI6W1swLDQsMjRdLFsxLDQsMjRdXSxjYW1lcmE6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGNhbWVyYV9hdWRpbzpbWzEsNSwyNF1dLGNhbWVyYV9lZmZlY3RzOltbMSw0LDI0XV0sY2FtZXJhX2ZsaXA6W1sxLDQsMjRdXSxjYW1lcmFfaGFzaHRhZzpbWzEsNSwyNF1dLGNhbWVyYV9zd2l0Y2g6W1swLDMsMjRdLFsxLDMsMjRdXSxjYXJkOltbMCwzLDEyXSxbMCwzLDE2XSxbMCwzLDI0XV0sY2FydDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhcnRfc3Bhcms6W1sxLDEsMjRdXSxjYXQ6W1swLDMsMjRdLFsxLDMsMjRdXSxjZWxlYnJhdGlvbjpbWzEsCjIsMjRdXSxjaGVjazpbWzAsMTMsMTJdLFswLDEzLDE2XSxbMCwxMywyNF0sWzEsMTMsMTZdLFsxLDEzLDI0XV0sY2hlY2tfY2lyY2xlOltbMCwxMCwxOF0sWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2hlY2tfZG91YmxlOltbMSwxLDI0XV0sY2hlY2tfZG91YmxlX29mZjpbWzEsMSwyNF1dLGNoZXZyb25fY29sbGFwc2U6W1sxLDMsMjRdXSxjaGV2cm9uX2Rvd246W1sxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX2Rvd25fY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX2Rvd25fY2lyY2xlOltbMCwzLDI0XV0sY2hldnJvbl9leHBhbmQ6W1sxLDUsMjRdXSxjaGV2cm9uX2ZpcnN0OltbMSwxLDI0XV0sY2hldnJvbl9sYXN0OltbMSwxLDI0XV0sY2hldnJvbl9sZWZ0OltbMSw5LDE2LCEwXSxbMSw5LDE4LCEwXSxbMSw5LDI0LCEwXV0sY2hldnJvbl9sZWZ0X2NpcmNsZTpbWzAsMywyNF1dLGNoZXZyb25fbGVmdF9pb3M6W1sxLDMsMjRdXSxjaGV2cm9uX2xlZnRfaW9zX2NhaXJvOltbMSwyLDI0XV0sCmNoZXZyb25fcmlnaHQ6W1swLDcsMTYsITBdLFswLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTYsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxjaGV2cm9uX3JpZ2h0X2NhaXJvOltbMSwyLDI0XV0sY2hldnJvbl9yaWdodF9jaXJjbGU6W1swLDMsMjRdXSxjaGV2cm9uX3JpZ2h0X2lvczpbWzEsMSwyNF1dLGNoZXZyb25fdXA6W1sxLDksMTZdLFsxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX3VwX2NhaXJvOltbMSwyLDI0XV0sY2hldnJvbl91cF9jaXJjbGU6W1swLDMsMjRdXSxjaHJvbWVjYXN0OltbMCwxMSwyNF0sWzEsMTEsMjRdXSxjaHJvbWVjYXN0X2FuaW1hdGVfZnJhbWVfMTpbWzEsNSwyNF1dLGNocm9tZWNhc3RfYW5pbWF0ZV9mcmFtZV8yOltbMSw1LDI0XV0sY2hyb21lY2FzdF9hbmltYXRlX2ZyYW1lXzM6W1sxLDUsMjRdXSxjaHJvbWVjYXN0X2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hyb21lY2FzdF9tb2JpbGU6W1sxLDQsMjRdLFsxLDQsMzZdXSxjaHJvbWVjYXN0X3dhdmVmb3JtOltbMSwKMiwyNF1dLGNpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLGNpcmNsZV9mdWxsOltbMCwzLDI0XV0sY2lyY2xlX2hhbGZfZnVsbDpbWzEsMSwyNF1dLGNpcmNsZXNfNjpbWzAsMSwyNF1dLGNpcmNsZXNfb3ZlcmxhcDpbWzAsMSwyNF0sWzEsMSwyNF1dLGNpcmNsZXNfb3ZlcmxhcF9jaGVjazpbWzAsMSwxNl0sWzAsMSwyNF1dLGNsYXBwZXJib2FyZDpbWzAsMywyNF0sWzEsMywyNF1dLGNsYXBwZXJib2FyZF9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrOltbMCwxMCwyNF0sWzEsMTAsMTZdLFsxLDEwLDI0XV0sY2xvY2tfYXJyb3dzOltbMSwxLDI0XV0sY2xvY2tfYXJyb3dzX2FsZXJ0OltbMSwxLDI0XV0sY2xvY2tfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjbG9ja19oYWxmX2NpcmNsZTpbWzAsMSwyNF0sWzEsMSwyNF1dLGNsb3NlZF9jYXB0aW9uOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxjbG91ZDpbWzEsMiwyNF1dLGNsb3VkX2Fycm93X2Rvd246W1sxLDMsMjRdXSxjbG91ZF9hcnJvd191cDpbWzAsCjYsMjRdLFsxLDYsMjRdXSxjbG91ZF9jaGVjazpbWzAsMywyNF0sWzEsMywyNF1dLGNsb3VkX2VsbGlwc2lzOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfb2ZmOltbMSwyLDI0XV0sY29kZTpbWzEsMiwyNF1dLGNvbXBhc3M6W1swLDksMjRdLFsxLDksMjRdXSxjb21wYXNzX2NhaXJvOltbMCwxLDI0XSxbMSwxLDI0XV0sY29udHJvbGxlcjpbWzAsMiwyNF0sWzEsMiwyNF1dLGNvcHk6W1sxLDMsMjRdXSxjb3B5cmlnaHQ6W1swLDQsMjRdLFsxLDQsMjRdXSxjcmVhdG9yX2FjYWRlbXk6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdLFsxLDMsMjRdXSxjcmVhdG9yX2FjYWRlbXlfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjcmVkaXRfY2FyZDpbWzEsNCwyNF1dLGNyb3A6W1sxLDQsMTZdLFsxLDQsMjRdXSxjcm9wX3JvdGF0ZTpbWzEsMiwyNF1dLGNyb3duOltbMCw1LDE2XSxbMCw1LDI0XSxbMSw1LDEyXSxbMSw1LDE2XSxbMSw1LDI0XV0sY3ViZV9zcGFyazpbWzEsMSwyNF1dLApjdXJ2ZV9zOltbMCwxLDI0XV0sZGFzaGJvYXJkX3BsdXM6W1sxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjBdLFsxLDEsMjRdXSxkaWVfMzpbWzAsNSwyNF0sWzEsNSwyNF1dLGRpcmVjdGlvbnM6W1sxLDMsMjRdXSxkb2dmb29kOltbMSwxLDI0XV0sZG9sbGFyX3NpZ246W1swLDcsMjRdLFsxLDcsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGU6W1swLDEyLDE2XSxbMCwxMiwyNF0sWzEsMTIsMTZdLFsxLDEyLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX3BhdXNlOltbMSwyLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX3BsdXM6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jb250YWluZXI6W1sxLDcsMjRdXSxkb2xsYXJfc2lnbl9oZWFydDpbWzAsMjQsMTJdLFswLDI0LDI0XSxbMSwyNCwxNl0sWzEsMjQsMjRdXSxkb2xsYXJfc2lnbl9vZmY6W1sxLDMsMjRdXSxkb3Q6W1swLDIsMTJdLFswLDIsMjRdXSxkb3dubG9hZDpbWzAsMTEsMjRdLFsxLDExLDE2XSxbMSwxMSwyNF1dLGRvd25sb2FkX2NhaXJvOltbMCwKMiwyNF0sWzEsMiwyNF1dLGRvd25sb2FkZWQ6W1swLDgsMjRdXSxkb3dubG9hZGluZzpbWzEsNSwyNF1dLGRvd25sb2FkaW5nXzA6W1sxLDUsMjRdXSxkb3dubG9hZGluZ18xOltbMSw2LDI0XV0sZG93bmxvYWRpbmdfMjpbWzEsNiwyNF1dLGRvd25sb2FkaW5nXzM6W1sxLDYsMjRdXSxkb3dubG9hZGluZ180OltbMSw2LDI0XV0sZG93bmxvYWRpbmdfNTpbWzEsNywyNF1dLGRvd25sb2FkaW5nXzY6W1sxLDYsMjRdXSxkcml2ZV9hZGQ6W1sxLDIsMjRdXSxlYXJ0aDpbWzAsMTIsMjRdLFsxLDEyLDE2XSxbMSwxMiwxOF0sWzEsMTIsMjRdXSxleHBsaWNpdDpbWzAsNywxOF0sWzAsNywyNF0sWzEsNywyNF1dLGV5ZTpbWzAsNiwyNF0sWzEsNiwyNF1dLGV5ZV9vZmY6W1sxLDQsMjRdXSxleWVkcm9wcGVyOltbMSwyLDI0XV0sZmFjZV9hZGQ6W1sxLDEsMjRdXSxmYWNlX2Fycm93c19kaWFnb25hbDpbWzEsMSwyNF1dLGZhY2VfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLApbMSwxMiwzNl1dLGZhY2VfaW1hZ2U6W1sxLDIsMjRdXSxmYWNlX21laDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYWNlX21laF8yOltbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XSxbMSw2LDM2XV0sZmFjZV9wYWludGJydXNoOltbMSwyLDI0XV0sZmFjZV9zYWQ6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV91bmhhcHB5OltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfdXBzZXQ6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV92ZXJ5X2hhcHB5OltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfdmVyeV9zYWQ6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFzaGlvbjpbWzAsNCwyNF0sWzEsNCwyNF1dLGZhc2hpb25fY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmYXN0X2JhY2s6W1swLAozLDI0XSxbMSwzLDI0XV0sZmFzdF9mb3J3YXJkOltbMCw1LDI0XV0sZmlsbV9zdHJpcDpbWzAsNywyNF0sWzEsNywyNF1dLGZpbG1fc3RyaXBfYWRkOltbMSwyLDI0XV0sZmlsdGVyX2ZhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxmaWx0ZXJfcGhvdG86W1swLDgsMjRdLFsxLDgsMjRdXSxmaXJlOltbMCwxMCwxMl0sWzAsMTAsMjRdLFsxLDEwLDE2XSxbMSwxMCwyNF1dLGZpcmVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmaXJld29ya3M6W1sxLDMsMjRdXSxmbGFnOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxmbGFnX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxhc2hfYXV0bzpbWzAsMywyNF0sWzEsMywyNF1dLGZsYXNoX2NpcmNsZTpbWzAsNSwxOF0sWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX29mZjpbWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX29uOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxpcF9ob3Jpem9udGFsOltbMSw0LDI0XV0sZmxpcF9ob3Jpem9udGFsX2Rhc2g6W1sxLAoxLDI0XV0sZmxpcF92ZXJ0aWNhbF9kYXNoOltbMSwxLDI0XV0sZm9sZGVyOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDI0XV0sZm9udF9zcXVhcmVfc3Bhcms6W1sxLDEsMTZdLFsxLDEsMjRdXSxmb290YmFsbDpbWzAsNCwyNF0sWzEsNCwyNF1dLGdhbWluZzpbWzAsMywyNF0sWzEsMywyNF1dLGdhbWluZ19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGdlYXI6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGdlYXJfY2Fpcm86W1swLDMsMjRdLFsxLDMsMjRdXSxnaG9zdDpbWzAsNSwyNF0sWzEsNSwyNF1dLGdpZjpbWzEsMywyNF1dLGdpZnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxnbG9iZTpbWzAsNCwyNF0sWzAsNCwzNl0sWzEsNCwyNF0sWzEsNCwzNl1dLGdsb2JlX2ltYWdlOltbMCwzLDI0XSxbMCwzLDM2XSxbMSwzLDI0XSxbMSwzLDM2XV0sZ2xvdzpbWzEsMiwyNF1dLGdvb2dsZV9sZW5zOltbMSw0LDI0XV0sZ3JlYXRlcl90aGFuXzIwOltbMSwyLDI0XV0sZ3JpZF8yeDI6W1sxLDEsMjRdXSwKZ3JpZF8zX2J5XzM6W1swLDEsMjRdLFsxLDEsMjRdXSxncmlkX2FzeW1tZXRyaWNhbDpbWzAsMSwyNF0sWzEsMSwyNF1dLGhhbmQ6W1sxLDIsMjRdXSxoYW5kX2xvbmdfcHJlc3M6W1swLDMsMjRdLFsxLDMsMjRdXSxoYW5kX3BpbmNoX2luOltbMSwyLDI0XV0saGFuZF9zd2lwZV9sZWZ0OltbMSwxLDI0XV0saGFuZF9zd2lwZV9yaWdodDpbWzEsMiwyNF1dLGhhbmRfdGFwOltbMCwyLDI0XSxbMSwyLDI0XV0saGFuZF93YXZlOltbMSwyLDI0XV0saGFuZHNfaGVhcnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxoYXNodGFnOltbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDIwXSxbMSwyLDI0XV0saGQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFkc2V0OltbMCw4LDI0XSxbMSw4LDI0XV0saGVhcnQ6W1swLDE5LDEzXSxbMCwxOSwyNF0sWzEsMTksMTZdLFsxLDE5LDI0XV0saGVhcnRfYm94OltbMSwxLDI0XV0saGVhcnRfY2lyY2xlOltbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDIwXSxbMSwyLDI0XV0sCmhlYXJ0X29mZjpbWzEsMiwyNF1dLGhpZXJhcmNoeTpbWzAsNCwyNF0sWzEsNCwyNF1dLGhpZ2hsaWdodHM6W1sxLDIsMjRdXSxob21lOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxob21lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0saG91cmdsYXNzOltbMSwzLDE2XSxbMSwzLDI0XV0saW1hZ2U6W1swLDgsMjRdLFsxLDgsMjRdXSxpbWFnZV9hZGQ6W1sxLDQsMjRdXSxpbWFnZV93YWxscGFwZXI6W1sxLDEsMjRdXSxpbmNvZ25pdG86W1swLDksMjRdLFsxLDksMjRdXSxpbmNvZ25pdG9fY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxpbmZpbml0ZTpbWzAsMiwyNF1dLGluZmluaXR5OltbMSwyLDI0XV0saW5mb19jaXJjbGU6W1sxLDExLDE2XSxbMSwxMSwxOF0sWzEsMTEsMjBdLFsxLDExLDI0XV0saW5mb19jaXJjbGVfc3Bhcms6W1sxLDIsMjRdXSxqb3VybmV5OltbMSwyLDI0XV0sa2V5OltbMSw1LDI0XV0sa2V5Ym9hcmQ6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbDpbWzAsNCwyNF0sClsxLDQsMjRdXSxsYXB0b3A6W1sxLDMsMjRdXSxsYXB0b3BfbW9iaWxlOltbMCw0LDI0XSxbMSw0LDI0XV0sbGF5ZXJzOltbMCwxLDI0XSxbMSwxLDI0XV0sbGVhZjpbWzEsMiwyNF1dLGxlbnM6W1sxLDEsMjRdXSxsZXNzX3RoYW5fNDpbWzEsMiwyNF1dLGxpYnJhcnk6W1swLDcsMjRdLFsxLDcsMjRdXSxsaWJyYXJ5X2FkZDpbWzEsNywxNl0sWzEsNywyNF1dLGxpYnJhcnlfaW1hZ2U6W1sxLDEsMjRdXSxsaWJyYXJ5X211c2ljOltbMCwzLDI0XSxbMSwzLDI0XV0sbGlicmFyeV9zYXZlZDpbWzAsNywyNF1dLGxpZ2h0YnVsYjpbWzAsNCwxMl0sWzAsNCwyNF0sWzEsNCwyNF1dLGxpZ2h0YnVsYl9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpZ2h0YnVsYl9zcGFyazpbWzEsMiwyNF1dLGxpbms6W1sxLDgsMThdLFsxLDgsMjRdXSxsaW5rX29mZjpbWzEsMSwyNF1dLGxpc3RfYWRkOltbMSw1LDI0XV0sbGlzdF9jaGVjazpbWzAsMiwyNF1dLGxpc3RfbXVzaWM6W1sxLDMsMjRdXSxsaXN0X3BlbmNpbDpbWzEsCjUsMjRdXSxsaXN0X3BsYXlfYXJyb3c6W1swLDgsMjRdLFsxLDgsMTJdLFsxLDgsMjRdXSxsaXN0X3BsYXlfYXJyb3dfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxsaXN0X3F1ZXVlOltbMSwxLDI0XV0sbGlzdF9xdWV1ZV9sYXN0OltbMCwzLDI0XSxbMSwzLDI0XV0sbGlzdF9xdWV1ZV9uZXh0OltbMSwxLDI0XV0sbGlzdF9yZW1vdmU6W1sxLDEsMjRdXSxsaXN0X3ZpZXc6W1sxLDIsMjRdXSxsaXN0X3ZpZXdfY2Fpcm86W1sxLDIsMjRdXSxsaXZlX21vYmlsZV9sYW5kc2NhcGVfb3JpZW50YXRpb246W1sxLDEsMjRdXSxsaXZlX3Bob3RvOltbMSwyLDI0XV0sbGl2ZV93YXZlczpbWzEsMiwxOF0sWzEsMiwyNF1dLGxvY2F0aW9uX3BvaW50OltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDI0XV0sbG9jYXRpb25fcG9pbnRfb2ZmOltbMSwxLDI0XV0sbG9jazpbWzAsMTMsMTJdLFswLDEzLDI0XSxbMSwxMywxMl0sWzEsMTMsMTZdLFsxLDEzLDE4XSxbMSwxMywyNF1dLGxvY2tfb3BlbjpbWzEsCjQsMjRdXSxtYWdpY193YW5kOltbMCwzLDI0XSxbMSwzLDI0XV0sbWFpbDpbWzAsOSwyNF0sWzEsOSwyNF1dLG1hcDpbWzEsMywyNF1dLG1hdGhfYWRkOltbMCwzLDI0XV0sbWF0aF9hbmQ6W1swLDMsMjRdXSxtYXRoX2RpdmlkZTpbWzAsMywyNF1dLG1hdGhfZXF1YWxzOltbMCwzLDI0XV0sbWF0aF9lcXVhbHNfc2xhc2g6W1sxLDMsMjRdXSxtYXRoX2dyZWF0ZXJfdGhhbjpbWzAsMywyNF1dLG1hdGhfZ3JlYXRlcl90aGFuX29yX2VxdWFsOltbMSwxLDI0XV0sbWF0aF9sZXNzX3RoYW46W1swLDMsMjRdXSxtYXRoX2xlc3NfdGhhbl9vcl9lcXVhbDpbWzEsNCwyNF1dLG1hdGhfbXVsdGlwbHk6W1swLDMsMjRdXSxtYXRoX29yOltbMCwzLDI0XV0sbWF0aF9wZXJjZW50OltbMCwzLDI0XV0sbWF0aF9zdWJ0cmFjdDpbWzAsMywyNF1dLG1heGltaXplX2NhaXJvOltbMSwxLDI0XV0sbWVkYWw6W1sxLDIsMjRdXSxtZWRhbF9zdGFyOltbMSwyLDI0XV0sbWVldDpbWzEsMSwyNF1dLG1lZ2FwaG9uZTpbWzAsCjUsMjRdLFsxLDUsMjRdXSxtZW1iZXJzaGlwczpbWzAsOSwxMl0sWzAsOSwxNl0sWzAsOSwxOF0sWzAsOSwyNF0sWzEsOSwyNF1dLG1lbnRpb246W1sxLDUsMTZdLFsxLDUsMjRdXSxtZW51X2ZpbHRlcjpbWzAsMSwyNF0sWzEsMSwyNF1dLG1lbnVfc29ydDpbWzEsNCwyNF1dLG1lc3NhZ2VfYnViYmxlX2FsZXJ0OltbMCw2LDI0XSxbMSw2LDI0XV0sbWVzc2FnZV9idWJibGVfYWxlcnRfY2Fpcm86W1sxLDIsMjRdXSxtZXNzYWdlX2J1YmJsZV9lbXB0eTpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2dlYXI6W1sxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9sZWZ0OltbMCwxLDI0XSxbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfbGVmdF9ib29zdDpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2xlZnRfb2ZmOltbMSwxLDE2XSxbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfb3ZlcmxhcDpbWzAsOCwyNF0sWzEsOCwyNF1dLG1lc3NhZ2VfYnViYmxlX3F1ZXN0aW9uOltbMCwyLDE2XSxbMCwyLAoyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLG1lc3NhZ2VfYnViYmxlX3JpZ2h0OltbMCwxNCwyNF0sWzAsMTQsMzJdLFsxLDE0LDE2XSxbMSwxNCwyNF1dLG1lc3NhZ2VfYnViYmxlX3JpZ2h0X2NhcHRpb246W1sxLDEsMjRdXSxtaWM6W1swLDE0LDI0XSxbMSwxNCwyNF1dLG1pY19vZmY6W1sxLDIsMjRdXSxtaW5pcGxheWVyX2V4aXQ6W1sxLDEsMjRdXSxtb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxtb2JpbGVfY2hlY2s6W1sxLDIsMjRdXSxtb2JpbGVfZG93bmxvYWQ6W1sxLDMsMjRdXSxtb2JpbGVfbGFuZHNjYXBlOltbMSwzLDI0XV0sbW9iaWxlX3NjcmVlbl9ob3Jpem9udGFsOltbMSwxLDI0XV0sbW9iaWxlX3NjcmVlbl92ZXJ0aWNhbDpbWzEsMSwyNF1dLG1vbmV5X2hhbmQ6W1sxLDIsMjRdXSxtb25pdG9yX2Rpc3BsYXk6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxtb25pdG9yX2Rpc3BsYXlfb2ZmOltbMSwxLDI0XV0sbW9vbl96OltbMCwxLDI0XSxbMSwKMSwyNF1dLG1vdGlvbjpbWzEsMiwyNF1dLG1vdmU6W1sxLDQsMjRdXSxtdXNpYzpbWzAsNiwyNF0sWzEsNiwxNl0sWzEsNiwxOF0sWzEsNiwyNF1dLG11c2ljX29mZjpbWzEsMywyNF1dLG11c2ljX3NjaXNzb3JzOltbMSwzLDI0XV0sbXVzaWNfc2hhcGU6W1sxLDMsMjRdXSxtdXNpY192aWRlbzpbWzEsNCwyNF1dLG11c2ljX3ZpZGVvX29mZjpbWzEsMSwyNF1dLG15X3ZpZGVvczpbWzEsNiwyNF1dLG15X3ZpZGVvc19jYWlybzpbWzEsMiwyNF1dLG5ld3M6W1swLDMsMjRdLFsxLDMsMTJdLFsxLDMsMjRdXSxuZXdzX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sbm9kZV9sZWZ0OltbMSwyLDI0XV0sbm9kZV9yaWdodDpbWzEsMiwyNF1dLG5vdGU6W1swLDEsMTZdLFswLDEsMjRdLFsxLDEsMTZdLFsxLDEsMjRdXSxub3RlX2FkZDpbWzEsMSwxNl0sWzEsMSwyNF1dLG5vdGVfc3Bhcms6W1swLDIsMTZdLFswLDIsMjRdLFsxLDIsMTZdLFsxLDIsMjRdXSxvZG9tZXRlcjpbWzAsNCwyNF0sClsxLDQsMjRdXSxvcGVuX25ldzpbWzAsNywyNF0sWzEsNywxMl0sWzEsNywyNF1dLG92ZXJmbG93X2hvcml6b250YWw6W1sxLDYsMjRdLFsxLDYsMzJdXSxvdmVyZmxvd192ZXJ0aWNhbDpbWzEsMTMsMjRdXSxvdmVyZmxvd192ZXJ0aWNhbF9jYWlybzpbWzEsMSwyNF1dLHBhaW50X2J1Y2tldDpbWzEsMywyNF1dLHBhbGV0dGU6W1sxLDEsMjRdXSxwYW5lbHM6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXBlcl9jb3JuZXJfZm9sZGVkOltbMCwyLDI0XSxbMSwyLDI0XV0scGFwZXJfb3Blbl9pbl9uZXc6W1swLDEsMjRdLFsxLDEsMjRdXSxwYXVzZTpbWzAsOSwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMiwxMl0sWzAsMiwxNl0sWzAsMiwyNF1dLHBkZjpbWzEsMiwyNF1dLHBlbmNpbDpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHBlb3BsZTpbWzAsNiwxMl0sWzAsNiwyNF0sWzEsNiwyNF1dLHBlb3BsZV8yOltbMCwxLDI0XSxbMSwxLDI0XV0scGVvcGxlX2dyb3VwOltbMCw0LDI0XSwKWzEsNCwxNl0sWzEsNCwyNF1dLHBlb3BsZV9ub3RlOltbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uOltbMCw3LDEyXSxbMCw3LDEzXSxbMCw3LDE2XSxbMCw3LDI0XSxbMCw3LDQ4XSxbMSw3LDEzXSxbMSw3LDE2XSxbMSw3LDI0XV0scGVyc29uXzI6W1sxLDEsMjRdXSxwZXJzb25fYWNjb3VudDpbWzEsNiwyNF1dLHBlcnNvbl9hY2NvdW50X2NhaXJvOltbMSwxLDI0XV0scGVyc29uX2FkZDpbWzEsNywyNF1dLHBlcnNvbl9ib3g6W1sxLDUsMjRdXSxwZXJzb25fY2lyY2xlOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxwZXJzb25fY2lyY2xlX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX2NpcmNsZV9zbGFzaDpbWzEsMiwyNF1dLHBlcnNvbl9taW51czpbWzAsMSwyNF0sWzEsMSwyNF1dLHBlcnNvbl9tdXNpYzpbWzAsNCwyNF0sWzEsNCwyNF1dLHBlcnNvbl9yYWRhcjpbWzAsNywxMl0sWzAsNywyNF0sWzEsNywxNl0sWzEsNywxOF0sWzEsNywyNF1dLHBlcnNvbl9zZXR0aW5nOltbMSwKNiwyNF1dLHBlcnNvbl9zaGllbGQ6W1sxLDgsMjRdXSxwZXJzb25fc3F1YXJlX3NwYXJrOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3dhdmVmb3JtOltbMSwyLDI0XV0scGhvbmU6W1swLDMsMjRdLFsxLDMsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmU6W1swLDIsMjRdLFsxLDIsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmVfY29tYmluZTpbWzEsMSwyNF1dLHBpbjpbWzAsNywxMl0sWzAsNywyNF0sWzEsNywxNl0sWzEsNywyNF1dLHBpbl9vZmY6W1sxLDEsMjRdXSxwbGF5X2Fycm93OltbMCw3LDI0XSxbMSw3LDI0XV0scGxheV9hcnJvd19jaXJjbGU6W1swLDIsMjRdLFsxLDIsMjRdXSxwbGF5X2Fycm93X2Rpc2FibGVkOltbMCwxLDEyXSxbMCwxLDI0XV0scGxheV9hcnJvd19oYWxmX2NpcmNsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLHBvZGNhc3Q6W1swLDYsMjRdLFsxLDYsMTJdLFsxLDYsMTZdLFsxLDYsMThdLFsxLDYsMjRdXSxwb2RjYXN0X2FkZDpbWzAsMiwyNF0sWzEsMiwyNF1dLApwb2RjYXN0X2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0scG9kY2FzdF9jaGVjazpbWzAsMiwyNF1dLHBvaW50XzJ4OltbMSwxLDI0XV0scG9pbnRfM3g6W1sxLDMsMjRdXSxwb2ludF81eDpbWzEsMywyNF1dLHBvaW50Xzh4OltbMSwxLDI0XV0scG9sbDpbWzEsMTAsMTZdLFsxLDEwLDI0XSxbMSwxMCw0MF1dLHBvdW5kOltbMSwzLDI0XV0scHJlc2VudGF0aW9uOltbMSwzLDI0XV0scHJlc2VudGF0aW9uX3JlbW92ZTpbWzEsMSwyNF1dLHByaWNlX3RhZzpbWzAsOCwxMl0sWzAsOCwyNF0sWzEsOCwyNF1dLHByaWNlX3RhZ19oZWFydDpbWzEsMiwyNF1dLHFyX2NvZGU6W1sxLDMsMjRdXSxxdWVzdGlvbl9jaXJjbGU6W1sxLDUsMjRdXSxxdWVzdGlvbl9jaXJjbGVfY2Fpcm86W1sxLDIsMjRdXSxxdWVzdGlvbl9oZWFkOltbMSwyLDI0XV0scXVvdGF0aW9uX21hcms6W1swLDEsMjRdLFsxLDEsMjRdXSxxdW90YXRpb25fbWFya19vZmY6W1sxLDEsMjRdXSxyYWRhcl9saXZlOltbMCw3LDI0XSwKWzEsNywxMl0sWzEsNywxNl0sWzEsNywyNF1dLHJhZGFyX2xpdmVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxyYXRpbmdfZG93bjpbWzEsMSwyNF1dLHJhdGluZ191cDpbWzEsNywxMl0sWzEsNywxNl0sWzEsNywyNF1dLHJlY29yZDpbWzAsMiwyNF1dLHJlbWl4OltbMSwyLDE2XSxbMSwyLDI0XV0scmVwbGF5X2Fycm93OltbMSwxLDI0XV0scm90YXRlXzkwOltbMSwxLDI0XV0scm90YXRlXzkwX2Nsb2Nrd2lzZTpbWzEsMiwyNF1dLHJzczpbWzEsMiwxNl0sWzEsMiwyNF1dLHJzc19vZmY6W1sxLDEsMTZdLFsxLDEsMjRdXSxydWJ5OltbMSwyLDEyXSxbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDI0XV0sc2FtcGxlczpbWzAsMiwyNF0sWzEsMiwyNF1dLHNhdHVyYXRpb246W1sxLDIsMjRdXSxzY2FsZTpbWzEsNCwyNF1dLHNjaXNzb3JzOltbMCw4LDEyXSxbMCw4LDI0XSxbMSw4LDI0XV0sc2Npc3NvcnNfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxzY2lzc29yc19jdXQ6W1sxLDQsCjE2XSxbMSw0LDE4XSxbMSw0LDI0XV0sc2NyZWVuX2RlZmF1bHQ6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxzY3JlZW5fZnVsbDpbWzEsNywyNF1dLHNjcmVlbl9mdWxsX2NhaXJvOltbMSwxLDI0XV0sc2NyZWVuX2Z1bGxfZXhpdDpbWzEsNiwyNF1dLHNjcmVlbl9mdWxsX2V4aXRfY2Fpcm86W1sxLDEsMjRdXSxzY3JlZW5fZnVsbHNjcmVlbjpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9saWdodDpbWzEsMSwyNF1dLHNjcmVlbl9taW5pX3BsYXllcjpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9tdWx0aV92aWV3OltbMCwzLDI0XSxbMSwzLDI0XV0sc2NyZWVuX3JvdGF0aW9uOltbMSwyLDE4XSxbMSwyLDI0XV0sc2NyZWVuX3N3aXRjaDpbWzAsMSwyNF0sWzEsMSwyNF1dLHNjcmVlbl90aGVhdHJlOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX3ZlcnRpY2FsOltbMSwKMSwyNF1dLHNjcmVlbl94OltbMSwyLDI0XV0sc2Q6W1swLDMsMjRdLFsxLDMsMjRdXSxzZWFyY2g6W1swLDE1LDI0XSxbMSwxNSwyNF1dLHNlYXJjaF9jYWlybzpbWzEsMiwyNF1dLHNlYXJjaF9zdXBlcnNjcmlwdDpbWzEsMSwyNF1dLHNlbmQ6W1swLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxzZXR0aW5nc19yZW1vdGU6W1sxLDEsMjRdXSxzaGFkb3dfaGFyZDpbWzAsMywyNF1dLHNoYWRvd19zb2Z0OltbMCwzLDI0XV0sc2hhcGVzOltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcmU6W1swLDEyLDI0LCEwXSxbMCwxMiwzMiwhMF0sWzEsMTIsMTYsITBdLFsxLDEyLDI0LCEwXV0sc2hhcmVfY2Fpcm86W1sxLDIsMjRdXSxzaGFyZV9pb3M6W1sxLDIsMjRdXSxzaGFyZV9saW5rOltbMCwxLDI0XSxbMSwxLDI0XV0sc2hpZWxkOltbMSw2LDI0XV0sc2hpZWxkX2FkZDpbWzEsMiwyNF1dLHNoaWVsZF9jaGVjazpbWzEsMSwyNF1dLHNoaWVsZF9lbXB0eTpbWzAsCjEsMTZdLFswLDEsMThdLFswLDEsMjRdLFsxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjRdXSxzaGllbGRfb2ZmOltbMSwxLDI0XV0sc2hpZWxkX292ZXJmbG93OltbMSwyLDI0XV0sc2hpZWxkX3BsdXM6W1sxLDEsMjRdXSxzaGllbGRfc2VhcmNoOltbMSwyLDI0XV0sc2hvcnRzX2xheW91dF9ib3R0b206W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X2NlbnRlcmVkX3NxdWFyZTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfZm9yZWdyb3VuZDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGFuZHNjYXBlX2JvdHRvbTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGFuZHNjYXBlX3RvcDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGVmdDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfcGlwOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9yaWdodDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfc2luZ2xlOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF90b3A6W1sxLDEsMjRdXSxza2lwX2JhY2tfMTA6W1swLAoxLDI0XV0sc2tpcF9iYWNrXzE1OltbMCwxLDI0XV0sc2tpcF9iYWNrXzIwOltbMCwxLDI0XV0sc2tpcF9iYWNrXzMwOltbMCwxLDI0XV0sc2tpcF9iYWNrXzU6W1swLDEsMjRdXSxza2lwX2JhY2tfNjA6W1swLDEsMjRdXSxza2lwX2Rvd246W1swLDYsMjRdXSxza2lwX2ZvcndhcmRfMTA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMTU6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMjA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMzA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfNTpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF82MDpbWzAsMSwyNF1dLHNraXBfbmV4dDpbWzAsNywyNF1dLHNraXBfcHJldmlvdXM6W1swLDYsMjRdXSxza2lwX3VwOltbMCw2LDI0XV0sc2xhc2hfY2lyY2xlX2xlZnQ6W1sxLDcsMjRdXSxzbGFzaF9jaXJjbGVfcmlnaHQ6W1sxLDIsMjRdXSxzb2NjZXJfYmFsbDpbWzEsMywyNF1dLHNvY2Nlcl9jYXJkOltbMCwyLDEyXSxbMCwyLDE2XSxbMCwyLDI0XV0sc3BhY2ViYXI6W1sxLAoyLDI0XV0sc3Bhcms6W1swLDExLDEyXSxbMCwxMSwxNl0sWzAsMTEsMjRdLFsxLDExLDI0XV0sc3BhcmtfY2hhdDpbWzEsMSwxNl0sWzEsMSwyNF1dLHNwYXJrX2ltYWdlOltbMSwyLDI0XV0sc3BhcmtfbGlnaHRidWxiOltbMCwzLDI0XSxbMSwzLDI0XV0sc3BhcmtfbWVzc2FnZV9idWJibGU6W1sxLDQsMTZdLFsxLDQsMjRdXSxzcGFya19tZXNzYWdlX2J1YmJsZV9sZWZ0OltbMSwxLDI0XV0sc3BhcmtfbXVzaWM6W1sxLDIsMjRdXSxzcGFya19wZW5jaWw6W1sxLDIsMjRdXSxzcGFya19yYWRhcjpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwyNF1dLHNwYXJrX3RleHQ6W1sxLDEsMjRdXSxzcGFya192aWRlbzpbWzEsMiwyNF1dLHNwYXJrbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxzcGVha2VyOltbMSwyLDI0XV0sc3BlYWtlcl9ncm91cDpbWzEsMSwyNF1dLHNwZWFrZXJfZ3JvdXBfb2ZmOltbMSwxLDI0XV0sc3BlYWtlcl9oZWFkc2V0OltbMSwKMiwyNF1dLHNwZWFrZXJfb2ZmOltbMSwxLDI0XV0sc3BsaXQ6W1sxLDQsMjRdXSxzcG9ydHM6W1swLDEsMjRdXSxzcG90bGlnaHQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzdGFyOltbMCw2LDEyXSxbMCw2LDE2XSxbMCw2LDI0XSxbMSw2LDEyXSxbMSw2LDE2XSxbMSw2LDI0XV0sc3Rhcl9jaXJjbGU6W1swLDYsMTJdLFswLDYsMTZdLFswLDYsMThdLFswLDYsMjRdXSxzdGFyX2NpcmNsZV9yaWJib246W1swLDEsMTZdLFswLDEsMjBdLFswLDEsMjRdLFswLDEsMzZdLFsxLDEsMTZdLFsxLDEsMjBdLFsxLDEsMjRdLFsxLDEsMzZdXSxzdGFyX2hhbGY6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxzdGFyX3Nob290aW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sc3RhdGlzdGljc19ncmFwaDpbWzEsMiwyNF1dLHN0aWNrZXI6W1sxLDMsMjRdXSxzdG9wOltbMCw2LDI0XSxbMCw2LDM2XV0sc3RvcHdhdGNoOltbMCw1LDE2XSxbMCw1LDI0XSxbMSw1LDE2XSxbMSw1LDI0XV0sc3RvcHdhdGNoXzEwOltbMCwKMSwyNF1dLHN0b3B3YXRjaF8zOltbMCwxLDI0XV0sc3Vic2NyaXB0aW9uczpbWzAsMTIsMjRdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLHN1YnNjcmlwdGlvbnNfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxzdWJ0aXRsZXM6W1swLDUsMTJdLFswLDUsMjRdLFsxLDUsMjRdXSxzdXBlcl9jaGF0OltbMSw4LDE4XSxbMSw4LDI0XV0sc3VwZXJfc3RpY2tlcjpbWzAsOCwxNl0sWzAsOCwyNF0sWzEsOCwxNl0sWzEsOCwyNF1dLHN1cGVyX3N0b3JlOltbMSwzLDI0XV0sc3VwZXJzdGFyOltbMSwxLDI0XV0sdGFibGV0OltbMSwxLDI0XV0sdGFyZ2V0OltbMCwyLDI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sdGFyZ2V0X2FkZDpbWzAsMiwyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLHRlbXBsYXRlX2FkZDpbWzEsMywxNl0sWzEsMywyNF1dLHRlbXBsYXRlX3BsYXk6W1swLDMsMjRdLFsxLDMsMjRdXSx0ZXh0OltbMCw5LDI0XSxbMSw5LDE2XSxbMSw5LDE4XSxbMSw5LDI0XV0sdGV4dF9iZWxsX2NhaXJvOltbMSwKMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLHRleHRfYm9sZDpbWzEsMSwyNF1dLHRleHRfYm94OltbMSw1LDI0XV0sdGV4dF9pdGFsaWM6W1sxLDEsMjRdXSx0ZXh0X291dGxpbmU6W1sxLDIsMjRdXSx0ZXh0X3ByZXNldDpbWzEsMSwyNF1dLHRleHRfc2VyaWY6W1sxLDEsMjRdXSx0ZXh0X3NoYWRvdzpbWzEsMiwyNF1dLHRleHRfc3RyaWtldGhyb3VnaDpbWzEsMSwyNF1dLHRleHRfdW5kZXJsaW5lOltbMSwxLDI0XV0sdGhlbWVfc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0sdGhlcm1vbWV0ZXI6W1sxLDIsMjRdXSx0aHVtYl9kb3duOltbMCwyNSwxNl0sWzAsMjUsMjRdLFswLDI1LDM2XSxbMSwyNSwxNl0sWzEsMjUsMjRdLFsxLDI1LDM2XV0sdGh1bWJfdXA6W1swLDI0LDE2XSxbMCwyNCwyNF0sWzAsMjQsMzZdLFsxLDI0LDE2XSxbMSwyNCwyNF0sWzEsMjQsMzZdXSx0aHVtYl91cF9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHRodW1iX3VwX2Rvd246W1swLDQsCjI0XSxbMSw0LDI0XV0sdGljX3RhY190b2U6W1swLDQsMTJdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSx0aWNfdGFjX3RvZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHRpY2tldF9zdGFyOltbMSwxLDI0XV0sdGlsdDpbWzEsNCwyNF1dLHRpbWVfc3RhbXBfcGx1czpbWzEsMSwyNF1dLHRpbWVsaW5lOltbMSwzLDI0XV0sdG9vbGJveDpbWzEsNCwyNF1dLHRyYW5zY3JpcHQ6W1sxLDIsMTZdLFsxLDIsMjRdXSx0cmFuc2NyaXB0X3NlYXJjaDpbWzEsMSwxNl0sWzEsMSwyNF1dLHRyYW5zaXRpb246W1swLDUsMjRdLFsxLDUsMjRdXSx0cmFuc2xhdGU6W1sxLDQsMTZdLFsxLDQsMjRdXSx0cmFzaF9jYW46W1sxLDEwLDE2XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSx0cmlhbmdsZV9kb3duOltbMSw4LDI0XV0sdHJpYW5nbGVfdGhyZWVfbGVmdDpbWzAsMSwyNF1dLHRyaWFuZ2xlX3RocmVlX3JpZ2h0OltbMCwxLDI0XV0sdHJvcGh5OltbMCwzLDI0XSxbMSwzLDI0XV0sdHJvcGh5X2NhaXJvOltbMCwKMiwyNF0sWzEsMiwyNF1dLHRyb3BoeV9zdGFyOltbMSwxLDI0XV0sdHJ1Y2s6W1swLDUsMjRdLFsxLDUsMjRdXSx0djpbWzAsOCwxMl0sWzAsOCwxNl0sWzAsOCwyNF0sWzEsOCwxNl0sWzEsOCwyNF1dLHR2X2Fycm93X2xlZnQ6W1sxLDIsMjRdXSx0dl9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSx0dl9kb2xsYXJfc2lnbjpbWzAsMSwyNF0sWzEsMSwyNF1dLHR2X29mZjpbWzEsMiwyNF1dLHR2X3F1ZXVlOltbMSw0LDI0XV0sdHZfcXVldWVfY2hldnJvbjpbWzEsMiwyNF1dLHVwbG9hZDpbWzEsNSwyNF1dLHVwbG9hZGluZzpbWzEsMSwyNF1dLHZhcmlhYmxlOltbMSw0LDI0XV0sdmVyaWZpZWRfY2lyY2xlOltbMSw0LDI0XV0sdmlkZW9fY2FtZXJhOltbMCw5LDI0XSxbMSw5LDI0XV0sdmlkZW9fY2FtZXJhX2FkZDpbWzEsMiwyNF1dLHZpZGVvX2NhbWVyYV9vZmY6W1sxLDEsMjRdXSx2aWRlb19saW5rOltbMSw1LDE2XSxbMSw1LDI0XV0sdmlkZW9fcmV2ZXJzZTpbWzEsMSwyNF1dLAp2aWRlb19zcGFyazpbWzEsMiwyNF1dLHZpZGVvX3N0aXRjaDpbWzEsMiwyNF1dLHZpZGVvX3dhdmVmb3JtOltbMSwxLDI0XV0sdm9sdW1lX2Rvd246W1swLDIsMjRdLFsxLDIsMjRdXSx2b2x1bWVfZmFkZTpbWzEsMiwyNF1dLHZvbHVtZV9vZmY6W1swLDQsMjRdLFsxLDQsMjRdXSx2b2x1bWVfb246W1swLDMsMjRdLFsxLDMsMjRdXSx2b2x1bWVfc3RhYmxlOltbMCwxLDI0XSxbMSwxLDI0XV0sdnI6W1swLDcsMjRdLFsxLDcsMjRdXSx3YXZlZm9ybTpbWzEsMywyNF1dLHdhdmVmb3JtX211c2ljOltbMCwyLDE4XSxbMCwyLDI0XSxbMCwyLDQ4XV0sd2F2ZWZvcm1fc3Bhcms6W1sxLDIsMjRdXSx3cmVuY2g6W1swLDMsMjRdLFsxLDMsMjRdXSx4OltbMSwxMSwxOF0sWzEsMTEsMjRdXSx4X2NhaXJvOltbMSwxLDI0XV0seF9jaXJjbGU6W1swLDksMjRdLFsxLDksMjRdXSx4X21hcms6W1sxLDQsMjBdLFsxLDQsMjRdXSx4X29jdGFnb246W1sxLDMsMjRdXSx5ZW5fc2lnbl9jb250YWluZXI6W1swLAoyLDI0XSxbMSwyLDI0XV0seW91dHViZV9pbXByb3ZlX3R2OltbMSwxLDI0XV0seW91dHViZV9raWRzOltbMCw1LDI0XSxbMSw1LDI0XV0seW91dHViZV9sYWJzOltbMCwxLDI0XV0seW91dHViZV9saW5rZWRfdHY6W1sxLDQsMjRdXSx5b3V0dWJlX2xvZ29faWNvbjpbWzAsNiwyNF0sWzEsNiwyNF1dLHlvdXR1YmVfbWl4OltbMSw1LDEyXSxbMSw1LDE2XSxbMSw1LDI0XV0seW91dHViZV9tdXNpYzpbWzAsNywyNF0sWzEsNywyNF1dLHlvdXR1YmVfbXVzaWNfY2Fpcm86W1sxLDIsMjRdXSx5b3V0dWJlX29yaWdpbmFsczpbWzAsNiwyNF0sWzEsNiwyNF1dLHlvdXR1YmVfc2hvcnRzOltbMCwxMSwxMl0sWzAsMTEsMjBdLFswLDExLDI0XSxbMSwxMSwyMF0sWzEsMTEsMjRdXSx5b3V0dWJlX3Nob3J0c19hcnJvd19kb3duOltbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfYXJyb3dfbGVmdDpbWzEsMiwyNF1dLHlvdXR1YmVfc2hvcnRzX2Fycm93X3VwOltbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfY2FtZXJhOltbMSwzLDI0XV0seW91dHViZV9zaG9ydHNfY2hldnJvbl9sZWZ0X2lvczpbWzEsMiwyNF1dLHlvdXR1YmVfc2hvcnRzX2dyZWVuX3NjcmVlbjpbWzAsMSwyNF0sWzEsMSwyNF1dLHlvdXR1YmVfc2hvcnRzX2hlYXJ0OltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfbWVzc2FnZV9idWJibGVfcmlnaHQ6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZTpbWzAsNCwxNl0sWzAsNCwyNF0sWzAsNCwzMl0sWzEsNCwxNl0sWzEsNCwyNF0sWzEsNCwzMl1dLHlvdXR1YmVfc2hvcnRzX292ZXJmbG93X3ZlcnRpY2FsOltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfcGx1czpbWzEsNSwxNl0sWzEsNSwyNF1dLHlvdXR1YmVfc2hvcnRzX3JlbWl4OltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfc2VhcmNoOltbMSwzLDI0XV0seW91dHViZV9zaG9ydHNfc2hhcmU6W1swLAoyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfc3RpY2tlcjpbWzEsMSwxOF0sWzEsMSwyNF1dLHlvdXR1YmVfc2hvcnRzX3RodW1iX2Rvd246W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c190aHVtYl91cDpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX3dhdmVmb3JtOltbMSwyLDE4XSxbMSwyLDI0XV0seW91dHViZV9zdHVkaW86W1swLDgsMjRdLFsxLDgsMjRdXSx5b3V0dWJlX3R2OltbMCw4LDI0XSxbMSw4LDI0XV0sem9vbV9hdXRvOltbMCwyLDI0XSxbMSwyLDI0XV19O3ZhciBXcWE9e2FjY2Vzc2liaWxpdHk6W1swLDQsMjRdLFsxLDQsMjRdXSxhY2NvdW50X2xpbms6W1swLDgsMjRdLFsxLDgsMjRdXSxhY2NvdW50X2xpbmtfZXJyb3I6W1sxLDYsMjRdXSxhZGQ6W1sxLDksMThdLFsxLDksMjRdXSxhZGRfY2lyY2xlOltbMCw2LDE4XSxbMCw2LDI0XSxbMSw2LDI0XSxbMSw2LDM2XV0sYWRkX3NxdWFyZV9zdGFjazpbWzEsMSwyNF1dLGFkZF90djpbWzEsMSwyNF1dLGFkZF90dl9jaGV2cm9uX3JpZ2h0OltbMSwxLDI0XV0sYWRqdXN0OltbMCw5LDI0XSxbMSw5LDI0XV0sYWlycGxhbmU6W1swLDUsMjRdLFswLDUsNDhdLFsxLDUsMjRdXSxhaXJwbGF5OltbMSw2LDI0XV0sYWlycGxheV9zbGFzaDpbWzEsMSwyNF1dLGFsYnVtOltbMCw4LDI0XSxbMSw4LDE4XSxbMSw4LDI0XSxbMSw4LDQ4XV0sYWxlcnRfYnViYmxlOltbMSwyLDE4XSxbMSwyLDI0XV0sYWxlcnRfY2lyY2xlOltbMCwxMSwyNF0sWzEsMTEsMTJdLFsxLDExLDI0XSxbMSwxMSw0OF1dLGFsZXJ0X29jdGFnb246W1swLAoyLDI0XSxbMSwyLDI0XV0sYWxlcnRfdHJpYW5nbGU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDI0XV0sYW1iaWVudF9tb2RlOltbMSwxLDI0XV0sYW1wZXJzYW5kOltbMSwxLDI0XV0sYXBpOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJjaGl2ZTpbWzEsMSwyNF1dLGFycm93X2FyY19mb3J3YXJkOltbMSwxLDI0XV0sYXJyb3dfY2xvY2t3aXNlOltbMSwxLDI0XV0sYXJyb3dfY291bnRlcmNsb2Nrd2lzZTpbWzEsMiwyNF0sWzEsMiw0OF1dLGFycm93X2NvdW50ZXJjbG9ja3dpc2VfZGFzaGVkOltbMSwxLDI0XV0sYXJyb3dfZG93bjpbWzEsMywyNF1dLGFycm93X2Rvd25fY2lyY2xlOltbMCw0LDI0XSxbMSw0LDI0XV0sYXJyb3dfZG93bl9jaXJjbGVfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxhcnJvd19kb3duX3JpZ2h0OltbMSwxLDI0XV0sYXJyb3dfZmxpcDpbWzEsMTAsMjRdXSxhcnJvd19pbjpbWzEsOCwxOF0sWzEsOCwyNF1dLGFycm93X2xlZnQ6W1sxLDgsCjI0LCEwXSxbMSw4LDM2LCEwXV0sYXJyb3dfbWVyZ2U6W1sxLDIsMjRdXSxhcnJvd19vdXQ6W1sxLDIsMjRdXSxhcnJvd19yaWdodDpbWzEsMywyNCwhMF1dLGFycm93X3JpZ2h0X3JlY3RhbmdsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGFycm93X3NvbGlkX2Rvd246W1swLDQsMThdLFswLDQsMjRdLFsxLDQsMThdLFsxLDQsMjRdXSxhcnJvd19zb2xpZF91cDpbWzAsNCwxOF0sWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLGFycm93X3NwbGl0OltbMSwzLDI0XV0sYXJyb3dfc3BsaXRfYWxlcnQ6W1sxLDEsMjRdXSxhcnJvd19zd2FwX2hvcml6b250YWw6W1sxLDUsMjRdXSxhcnJvd190cmVuZF9kb3duOltbMSwxLDI0XV0sYXJyb3dfdHJlbmRfdXA6W1sxLDIsMTJdLFsxLDIsMjRdXSxhcnJvd190dXJuX2Rvd25fcmlnaHQ6W1sxLDIsMThdLFsxLDIsMjRdXSxhcnJvd191cDpbWzEsMywyNF1dLGFycm93X3VwX2NpcmNsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLGFycm93X3VwX2xlZnQ6W1sxLAoxLDI0XV0sYXJyb3dfdXBfcmVjdGFuZ2xlX3BvcnRyYWl0OltbMSwxLDI0XV0sYXJyb3dfdXBfcmlnaHQ6W1sxLDIsMThdLFsxLDIsMjRdLFsxLDIsMzZdXSxhc3BlY3RfcmF0aW9fdzE2X2g5OltbMSwxLDI0XV0sYXNwZWN0X3JhdGlvX3c5X2gxNjpbWzEsMSwyNF1dLGF1ZGlvOltbMCwxNCwxMl0sWzAsMTQsMThdLFswLDE0LDI0XSxbMSwxNCwxMl0sWzEsMTQsMThdLFsxLDE0LDI0XSxbMSwxNCw0OF1dLGF1ZGlvX2Fycm93X2ZsaXA6W1swLDIsMjRdLFsxLDIsMjRdXSxhdWRpb19iYWRnZTpbWzAsMywyNF0sWzEsMywyNF1dLGF1ZGlvX3NjaXNzb3JzOltbMSwxLDI0XV0sYXVkaW9fc2xhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxhdWRpb19zcGFyazpbWzEsMSwyNF1dLGF1ZGlvX3NxdWFyZV9zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX3N0YWZmOltbMCwyLDI0XSxbMSwyLDI0XV0sYmFja3NwYWNlOltbMCw1LDI0XSxbMSw1LDI0XV0sYmFnOltbMCw3LDI0XSxbMSw3LDI0XV0sCmJhZ19ib29rbWFyazpbWzEsMiwyNF1dLGJhc2tldGJhbGw6W1swLDIsMjRdLFsxLDIsMjRdXSxiZWFrZXI6W1sxLDIsMjRdXSxiZWQ6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxiZWxsOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxiZWxsX3NsYXNoOltbMSwxLDI0XV0sYmVsbF93YXZlczpbWzAsMiwyNF0sWzEsMiwyNF1dLGJsdXI6W1sxLDIsMjRdXSxib29rOltbMCwzLDI0XSxbMSwzLDI0XV0sYm9va19hdWRpbzpbWzEsMSwyNF1dLGJvb2ttYXJrOltbMCwxMCwxOF0sWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLGJyaWVmY2FzZTpbWzEsMiwyNF1dLGJyaWVmY2FzZV9zbGFzaDpbWzAsMywyNF0sWzEsMywyNF1dLGJyaWdodG5lc3M6W1swLDMsMjRdLFsxLDMsMjRdXSxicm93c2VyOltbMCwyLDI0XSxbMSwyLDI0XV0sYnJvd3Nlcl9zbGFzaDpbWzEsMSwyNF1dLGJ1YmJsZTpbWzEsMSwyNF1dLGJ1YmJsZV9hc3RlcmlzazpbWzAsMiwyNF0sWzEsMiwyNF1dLApidWJibGVfZWxsaXBzaXM6W1sxLDEsMjRdXSxidWJibGVfZ2VhcjpbWzEsMSwyNF1dLGJ1YmJsZV9saXN0OltbMSwxLDI0XV0sYnViYmxlX3BlbmNpbDpbWzEsMSwyNF1dLGJ1YmJsZV9zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGJ1YmJsZV9zbG93OltbMCwyLDI0XSxbMCwyLDQ4XSxbMSwyLDI0XSxbMSwyLDQ4XV0sYnViYmxlX3NwYXJrOltbMSwxLDI0XV0sYnViYmxlX3NwYXJrbGVzOltbMSwxLDI0XV0sYnViYmxlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0sYnVnOltbMCw0LDE4XSxbMCw0LDI0XSxbMSw0LDI0XV0sYnVzaW5lc3M6W1swLDQsMjRdLFsxLDQsMjRdXSxjYWJsZTpbWzEsMiwyNF1dLGNhbGN1bGF0b3I6W1swLDMsMjRdLFsxLDMsMjRdXSxjYWxlbmRhcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhbGVuZGFyX2V2ZW50OltbMCwyLDI0XSxbMSwyLDI0XV0sY2FsZW5kYXJfdG9kYXk6W1sxLDEsMjRdXSxjYW1lcmE6W1swLDEwLDI0XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSwKY2FtZXJhX2F1ZGlvOltbMSw1LDI0XV0sY2FtZXJhX2ZsaXA6W1sxLDQsMjRdXSxjYW1lcmFfaGFzaHRhZzpbWzEsNSwyNF1dLGNhbWVyYV9zcGFya2xlczpbWzEsMSwyNF1dLGNhbWVyYV9zd2l0Y2g6W1swLDMsMjRdLFsxLDMsMjRdXSxjYXJkOltbMCwzLDI0XV0sY2FydDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhcnRfYWRkOltbMSwxLDI0XV0sY2FydF9zcGFyazpbWzEsMSwyNF1dLGNhdDpbWzAsMywyNF0sWzEsMywyNF1dLGNlbGVicmF0aW9uOltbMSwyLDI0XV0sY2hhcnRfYmFyOltbMSwyLDEyXSxbMSwyLDI0XV0sY2hhcnRfYmFyX3NlYXJjaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNoYXJ0X2Jhcl9zcXVhcmU6W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxjaGFydF9saW5lOltbMSwxLDI0XV0sY2hhcnRfcGllOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hhcnRfc2NhdHRlcl9wbG90OltbMSwxLDI0XV0sY2hlY2s6W1sxLDEzLDEyXSxbMSwxMywxOF0sWzEsMTMsMjRdLFsxLDEzLAozNl1dLGNoZWNrX2NpcmNsZTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2hlY2tfZG9uZTpbWzEsMSwyNF1dLGNoZWNrX2RvbmVfc2xhc2g6W1sxLDEsMjRdXSxjaGVja19zaGllbGQ6W1sxLDEsMjRdXSxjaGVja19zcXVhcmU6W1swLDIsMjRdLFsxLDIsMjRdXSxjaGVja19zcXVhcmVfc3RhY2s6W1swLDEsMjRdXSxjaGV2cm9uX2NvbGxhcHNlOltbMSwzLDI0XV0sY2hldnJvbl9kb3duOltbMSw5LDE4XSxbMSw5LDI0XV0sY2hldnJvbl9kb3duX2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLGNoZXZyb25fZG93bl9lbmQ6W1sxLDEsMjRdXSxjaGV2cm9uX2V4cGFuZDpbWzEsNSwyNF1dLGNoZXZyb25fbGVmdDpbWzEsOSwyNCwhMF1dLGNoZXZyb25fbGVmdF9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX2xlZnRfZW5kOltbMSwxLDI0XV0sY2hldnJvbl9sZWZ0X2lvczpbWzEsMywyNF1dLGNoZXZyb25fcmlnaHQ6W1sxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxjaGV2cm9uX3JpZ2h0X2NpcmNsZTpbWzAsCjMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX3JpZ2h0X2VuZDpbWzEsMSwyNF1dLGNoZXZyb25fcmlnaHRfc3F1YXJlOltbMSwxLDI0XV0sY2hldnJvbl91cDpbWzEsOSwxMl0sWzEsOSwyNF1dLGNoZXZyb25fdXBfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sY2hldnJvbl91cF9lbmQ6W1sxLDEsMjRdXSxjaHJvbWVjYXN0OltbMCwxMSwyNF0sWzEsMTEsMThdLFsxLDExLDI0XSxbMSwxMSwzNl1dLGNocm9tZWNhc3RfbW9iaWxlOltbMSw0LDI0XSxbMSw0LDM2XV0sY2hyb21lY2FzdF93YXZlZm9ybTpbWzEsMiwyNF1dLGNpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLGNpcmNsZV9mdWxsOltbMCwzLDI0XV0sY2lyY2xlX2Z1bGxfaGFsZjpbWzAsMSwyNF1dLGNpcmNsZV9oYWxmX2ZpbGxlZDpbWzEsMSwyNF1dLGNpcmNsZV9zbGFzaDpbWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF0sWzEsNCw0OF1dLGNpcmNsZXM2OltbMSwxLDI0XV0sY2xhcHBlcmJvYXJkOltbMCwzLDI0XSxbMSwzLAoyNF1dLGNsYXBwZXJib2FyZF9zbGFzaDpbWzEsMSwyNF1dLGNsYXBwZXJib2FyZF9zcGFya2xlczpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrOltbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDI0XV0sY2xvY2tfYXJyb3dfY2xvY2t3aXNlOltbMSwxLDI0XV0sY2xvY2tfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxjbG9ja19zcGxpdDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrX3NwbGl0X2FsZXJ0OltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvc2VkX2NhcHRpb25zOltbMCwzLDI0XSxbMCwzLDQ4XSxbMSwzLDI0XSxbMSwzLDQ4XV0sY2xvdWQ6W1sxLDIsMjRdXSxjbG91ZF9hcnJvd19kb3duOltbMSwzLDI0XV0sY2xvdWRfYXJyb3dfdXA6W1swLDYsMjRdLFsxLDYsMThdLFsxLDYsMjRdXSxjbG91ZF9jaGVjazpbWzAsMywyNF0sWzEsMywyNF1dLGNsb3VkX2VsbGlwc2lzOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfc2xhc2g6W1sxLDIsMjRdLFsxLDIsNDhdXSxjbXNfYWxsb3dsaXN0OltbMCwKMiwyNF0sWzEsMiwyNF1dLGNvZGU6W1sxLDIsMjRdXSxjb21wYXJlOltbMSwyLDI0XV0sY29tcGFzczpbWzAsOSwyNF0sWzEsOSwyNF1dLGNvcHk6W1sxLDMsMjRdXSxjb3B5X3RvX2FsbDpbWzEsMSwyNF1dLGNvcHlyaWdodDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNvcHlyaWdodF9zZWFyY2g6W1swLDIsMjRdLFsxLDIsMjRdXSxjb3Zlcl9jbGFpbTpbWzEsMSwyNF1dLGNyZWF0aXZlX2NvbW1vbnM6W1swLDIsMjRdLFsxLDIsMjRdXSxjcmVkaXRfY2FyZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNyb3A6W1sxLDQsMThdLFsxLDQsMjRdXSxjcm9wX3JvdGF0ZTpbWzEsMiwyNF1dLGNyb3NzaGFpcjpbWzEsMSwxOF0sWzEsMSwyNF1dLGNyb3duOltbMCw1LDE4XSxbMCw1LDI0XSxbMSw1LDI0XV0sY3N2OltbMCwyLDI0XSxbMSwyLDI0XV0sY3ViZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGN1YmVfc3Bhcms6W1sxLDEsMjRdXSxjdXJzb3JfY2xpY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxjdXJ2ZTpbWzEsCjEsMjRdXSxjdnA6W1swLDIsMjRdLFsxLDIsMjRdXSxkYW5jZV9zcGFyazpbWzAsMSwyNF1dLGRhc2hib2FyZDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRhc2hib2FyZF9hZGQ6W1sxLDEsMjRdXSxkaWVfZmFjZTM6W1swLDIsMjRdLFsxLDIsMjRdXSxkaXJlY3Rpb25zOltbMSwzLDI0XV0sZGlzcGxheTpbWzAsMiwyNF0sWzEsMiwyNF1dLGRpc3BsYXlfc2xhc2g6W1sxLDEsMjRdXSxkaXZpZGU6W1sxLDEsMjRdXSxkb2N1bWVudDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRvY3VtZW50X2Fycm93X3VwX3JpZ2h0OltbMCwyLDI0XSxbMSwyLDI0XV0sZG9sbGFyX3NpZ25fYXJyb3dfZmxpcDpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZTpbWzAsMTIsMjRdLFsxLDEyLDEyXSxbMSwxMiwxOF0sWzEsMTIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfYWRkOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX2hhbmQ6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGF1c2U6W1sxLDIsMjRdXSwKZG9sbGFyX3NpZ25fY2lyY2xlX3NsYXNoOltbMSwyLDEyXSxbMSwyLDI0XV0sZG9sbGFyX3NpZ25faGVhcnQ6W1swLDI0LDEyXSxbMCwyNCwyNF0sWzEsMjQsMTJdLFsxLDI0LDI0XV0sZG9sbGFyX3NpZ25fcmVjdGFuZ2xlOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fdHY6W1swLDIsMjRdLFsxLDIsMjRdXSxkb3Q6W1swLDIsMTJdLFswLDIsMjRdXSxkb3dubG9hZDpbWzEsMTEsMThdLFsxLDExLDI0XV0sZHBhZDpbWzAsMiwyNF0sWzEsMiwyNF1dLGVtYmVkOltbMCwyLDI0XSxbMSwyLDI0XV0sZXF1YWw6W1sxLDIsMThdLFsxLDIsMjRdXSxlcXVhbF9zbGFzaDpbWzEsMSwyNF1dLGV4cGxpY2l0OltbMCw3LDI0XSxbMSw3LDI0XV0sZXllOltbMCw2LDI0XSxbMSw2LDI0XV0sZXllX3NsYXNoOltbMSwxLDI0XV0sZXllZHJvcHBlcjpbWzEsMiwyNF1dLGV5ZWdsYXNzZXM6W1sxLDEsMjRdXSxmYWNlX2FkZDpbWzEsMSwyNF1dLGZhY2VfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzAsCjEyLDQ4XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX2ltYWdlOltbMSwyLDI0XV0sZmFjZV9tZWg6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhY2VfbmV1dHJhbDpbWzAsNCwyNF0sWzAsNCwzNl0sWzEsNCwyNF0sWzEsNCwzNl1dLGZhY2VfcGFpbnRicnVzaDpbWzEsMiwyNF1dLGZhY2Vfc2FkOltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2Vfc2NhbGU6W1sxLDEsMjRdXSxmYWNlX3NwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sZmFjZV91bmhhcHB5OltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfdXBzZXQ6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhY2VfdmVyeV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX3Zlcnlfc2FkOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxmYXNoaW9uOltbMCw0LDI0XSxbMSw0LDI0XV0sZmFzdF9mb3J3YXJkOltbMCw1LDI0XSxbMSwKNSwyNF1dLGZhc3RfcmV3aW5kOltbMCwyLDI0XSxbMSwyLDI0XV0sZmlsbV9zdHJpcDpbWzAsNywyNF0sWzAsNyw0OF0sWzEsNywyNF1dLGZpbG1fc3RyaXBfYWRkOltbMSwyLDI0XV0sZmlsbV9zdHJpcF9hdWRpbzpbWzEsMSwyNF1dLGZpbHRlcjpbWzEsMSwyNF1dLGZpbHRlcl9hdWRpbzpbWzEsMSwyNF1dLGZpbHRlcl9waG90bzpbWzAsOCwyNF0sWzEsOCwyNF1dLGZpcmV3b3JrczpbWzEsMywyNF1dLGZsYWc6W1swLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMThdLFsxLDEwLDI0XSxbMSwxMCw0OF1dLGZsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxhc2hfYXV0bzpbWzAsMywyNF0sWzEsMywyNF1dLGZsYXNoX2NpcmNsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxpcF9ob3Jpem9udGFsOltbMSw0LDI0XV0sZmxpcF9ob3Jpem9udGFsX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0sZmxpcF92ZXJ0aWNhbF9oYWxmX2Rhc2hlZDpbWzEsCjEsMjRdXSxmb2xkZXI6W1swLDQsMjRdLFsxLDQsMjRdXSxmb250OltbMSwxLDI0XV0sZm9udF9ib2xkOltbMSwxLDI0XV0sZm9udF9pdGFsaWM6W1sxLDEsMjRdXSxmb250X291dGxpbmU6W1sxLDEsMjRdXSxmb250X3ByZXNlbnQ6W1sxLDEsMjRdXSxmb250X3NlcmlmOltbMSwxLDI0XV0sZm9udF9zaGFkb3c6W1sxLDEsMjRdXSxmb250X3NwYXJrOltbMSwxLDI0XV0sZm9udF9zcXVhcmU6W1swLDIsMjRdLFsxLDIsMjRdXSxmb250X3NxdWFyZV9zcGFyazpbWzEsMSwxOF0sWzEsMSwyNF1dLGZvbnRfc3RyaWtldGhyb3VnaDpbWzEsMSwyNF1dLGZvbnRfc3R5bGU6W1sxLDIsMThdLFsxLDIsMjRdXSxmb250X3VuZGVybGluZTpbWzEsMSwyNF1dLGZvb3RiYWxsOltbMCw0LDI0XSxbMSw0LDI0XSxbMSw0LDM2XV0sZ2FtZV9jb250cm9sbGVyOltbMSwxLDI0XV0sZ2FtaW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sZ2VhcjpbWzAsMTAsMjRdLFswLDEwLDQ4XSxbMSwxMCwxOF0sWzEsMTAsMjRdLApbMSwxMCw0OF1dLGdlc3R1cmVfbG9uZ19wcmVzczpbWzAsMiwyNF0sWzEsMiwyNF1dLGdlc3R1cmVfcGluY2hfaW46W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX2xlZnQ6W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX3JpZ2h0OltbMSwxLDI0XV0sZ2VzdHVyZV9zd2lwZV91cDpbWzEsMSwyNF1dLGdlc3R1cmVfdGFwOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2hvc3Q6W1swLDUsMjRdLFsxLDUsMjRdXSxnaWY6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxnaWZ0OltbMCwzLDI0XSxbMSwzLDI0XV0sZ2xvYmU6W1sxLDQsMjRdXSxnbG9iZV9pbWFnZTpbWzEsMywyNF1dLGdsb3c6W1sxLDIsMjRdXSxnb29nbGU6W1swLDEsMjRdXSxnb29nbGVfYmxvZ2dlcjpbWzAsMSwyNF1dLGdvb2dsZV9kcml2ZV9hZGQ6W1sxLDEsMjRdXSxnb29nbGVfbGVuczpbWzEsNCwyNF1dLGdvb2dsZV9tZWV0OltbMCwyLDI0XSxbMSwyLDI0XV0sZ29vZ2xlX3F1aWNrX3NoYXJlOltbMSwxLDI0XV0sCmdyYWR1YXRpb25fY2FwOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sZ3JlYXRlcl90aGFuOltbMSwxLDI0XV0sZ3JlYXRlcl90aGFuX24yMDpbWzEsMSwyNF1dLGdyZWF0ZXJfdGhhbl9vcl9lcXVhbF90bzpbWzEsMSwyNF1dLGhhbmQ6W1sxLDIsMjRdXSxoYW5kX3dhdmU6W1sxLDIsMjRdXSxoYW5kc19jbGFwOltbMSwxLDI0XV0saGFuZHNfaGVhcnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxoYXNodGFnOltbMSwyLDI0XV0saGQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFkc2V0OltbMCw4LDI0XSxbMSw4LDI0XV0saGVhcmluZzpbWzAsMiwyNF0sWzEsMiwyNF1dLGhlYXJ0OltbMCwxOSwyNF0sWzEsMTksMThdLFsxLDE5LDI0XV0saGVhcnRfY2lyY2xlOltbMSwyLDI0XV0saGVhcnRfY3ViZTpbWzEsMSwyNF1dLGhlYXJ0X3NsYXNoOltbMSwxLDI0XV0saGVscF9idWJibGU6W1swLDIsMjRdLFsxLDIsMjRdXSxoZWxwX2NpcmNsZTpbWzEsMiwxOF0sWzEsMiwyNF1dLGhpZXJhcmNoeTpbWzAsCjQsMjRdLFsxLDQsMjRdXSxoaWdobGlnaHRzOltbMSwyLDI0XV0saGlzdG9yeTpbWzEsMSwyNF1dLGhvbWU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGhvdXJnbGFzczpbWzEsMywxOF0sWzEsMywyNF1dLGh5cGU6W1swLDIsMjRdLFsxLDIsMjRdXSxpbWFnZTpbWzAsOCwyNF0sWzEsOCwyNF1dLGltYWdlX2FkZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGltYWdlX2ZyYW1lOltbMSwxLDI0XV0saW1hZ2VfbGlzdDpbWzAsMiwyNF0sWzEsMiwyNF1dLGltYWdlX2xpc3Rfc2xhc2g6W1sxLDEsMjRdXSxpbWFnZV9zcGFyazpbWzEsMSwyNF1dLGltYWdlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0saW1hZ2Vfdmlld2ZpbmRlcjpbWzEsMSwyNF1dLGluY29nbml0bzpbWzAsOSwyNF0sWzEsOSwyNF1dLGluZmluaXR5OltbMSwyLDI0XV0saW5mb19jaXJjbGU6W1sxLDEwLDE4XSxbMSwxMCwyNF1dLGluZm9fY2lyY2xlX3NwYXJrOltbMSwxLDI0XV0samV3ZWw6W1sxLDEsMjRdXSxqb3VybmV5OltbMSwKMiwyNF1dLGtleTpbWzEsNSwyNF1dLGtleWJvYXJkOltbMCw0LDI0XSxbMSw0LDI0XV0sbGFiZWw6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbF9zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGxhcHRvcDpbWzEsMywyNF1dLGxhcHRvcF9tb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxsYXlvdXRfYm90dG9tOltbMSwxLDI0XV0sbGF5b3V0X2ZvcmVncm91bmQ6W1sxLDEsMjRdXSxsYXlvdXRfZnVsbDpbWzEsMSwyNF1dLGxheW91dF9sZWZ0OltbMSwxLDI0XV0sbGF5b3V0X21pZGRsZTpbWzEsMSwyNF1dLGxheW91dF9waWN0dXJlX2luX3BpY3R1cmU6W1sxLDEsMjRdXSxsYXlvdXRfcmlnaHQ6W1sxLDEsMjRdXSxsYXlvdXRfdG9wOltbMSwxLDI0XV0sbGVhZjpbWzEsMiwyNF1dLGxlc3NfdGhhbjpbWzEsMSwyNF1dLGxlc3NfdGhhbl9uNDpbWzEsMSwyNF1dLGxlc3NfdGhhbl9vcl9lcXVhbF90bzpbWzEsMSwyNF1dLGxpY2Vuc2U6W1swLDIsMjRdLFsxLDIsMjRdXSxsaWNlbnNlX2FsZXJ0OltbMSwKMSwyNF1dLGxpY2Vuc2Vfc2VhcmNoOltbMSwxLDI0XV0sbGljZW5zZV9zbGFzaDpbWzEsMSwyNF1dLGxpZ2h0YnVsYjpbWzAsNCwyNF0sWzEsNCwyNF1dLGxpbms6W1sxLDgsMThdLFsxLDgsMjRdXSxsaW5rX3NsYXNoOltbMSwxLDI0XV0sbGl2ZTpbWzEsMywxMl0sWzEsMywyNF1dLGxpdmVfcGhvdG86W1sxLDIsMjRdXSxsaXZlX3dhdmVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbG9jYXRpb25fcGluOltbMCwyLDI0XSxbMSwyLDI0XV0sbG9jYXRpb25fcGluX3NsYXNoOltbMSwxLDI0XV0sbG9jazpbWzAsMTMsMTJdLFswLDEzLDI0XSxbMSwxMywxOF0sWzEsMTMsMjRdLFsxLDEzLDQ4XV0sbG9ja19jbG9jazpbWzEsMSwyNF1dLGxvY2tfbjI6W1sxLDEsMjRdXSxsb2NrX29wZW46W1swLDQsMjRdLFsxLDQsMjRdXSxtYWdpY193YW5kOltbMCwzLDI0XSxbMSwzLDI0XV0sbWFpbDpbWzAsOSwyNF0sWzEsOSwyNF1dLG1hcDpbWzEsMywyNF1dLG1lZGFsOltbMSwyLDI0XV0sbWVkYWxfc3RhcjpbWzEsCjIsMjRdXSxtZWdhcGhvbmU6W1swLDUsMjRdLFsxLDUsMTJdLFsxLDUsMjRdXSxtZW1iZXJzaGlwczpbWzAsOSwyNF0sWzAsOSwzNl0sWzEsOSwyNF1dLG1lbWJlcnNoaXBzX2dpZnQ6W1sxLDEsMjRdXSxtZW50aW9uOltbMSw1LDI0XV0sbWVudTpbWzEsMSwyNF1dLG1pYzpbWzAsMTQsMThdLFswLDE0LDI0XSxbMCwxNCwzNl0sWzAsMTQsNDhdLFsxLDE0LDE4XSxbMSwxNCwyNF0sWzEsMTQsNDhdXSxtaWNfc2xhc2g6W1sxLDIsMjRdXSxtaWNfc3Bhcms6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMThdLFsxLDEsMjRdXSxtaW51czpbWzEsMiwxOF0sWzEsMiwyNF1dLG1pbnVzX2NpcmNsZTpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLG1pbnVzX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLG1peDpbWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLG1vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLG1vYmlsZV9hcnJvd19kb3duOltbMSwxLDI0XV0sbW9iaWxlX2Fycm93X2luOltbMSwKMSwyNF1dLG1vYmlsZV9hcnJvd19vdXQ6W1sxLDEsMjRdXSxtb2JpbGVfY2hlY2s6W1sxLDIsMjRdXSxtb2JpbGVfbGFuZHNjYXBlOltbMCwzLDI0XSxbMSwzLDI0XV0sbW90aW9uOltbMSwyLDI0XV0sbW92ZTpbWzEsNCwxOF0sWzEsNCwyNF1dLG11c2ljX3ZpZGVvOltbMCw0LDI0XSxbMSw0LDI0XV0sbXVzaWNfdmlkZW9fc2xhc2g6W1sxLDEsMjRdXSxuMTU6W1sxLDEsMjRdXSxuMXBvaW50Mng6W1sxLDEsMjRdXSxuMXBvaW50NXg6W1sxLDEsMjRdXSxuMXBvaW50OHg6W1sxLDEsMjRdXSxuMXg6W1sxLDEsMjRdXSxuMmQ6W1sxLDEsMjRdXSxuMnBvaW50NXg6W1sxLDEsMjRdXSxuMng6W1sxLDEsMjRdXSxuM2Q6W1sxLDEsMjRdXSxuM3g6W1sxLDEsMjRdXSxuNGQ6W1sxLDEsMjRdXSxuNGs6W1swLDEsMjRdLFsxLDEsMjRdXSxuNjA6W1sxLDEsMjRdXSxuOGs6W1swLDEsMjRdLFsxLDEsMjRdXSxuZXdfcmVsZWFzZTpbWzEsMSwyNF1dLG5ld3M6W1swLDMsMjRdLFsxLDMsMjRdXSxuZXdzX2FsZXJ0OltbMCwKMSwyNF1dLG5vZGVfbGVmdDpbWzEsMiwyNF1dLG5vZGVfcmlnaHQ6W1sxLDIsMjRdXSxub3RlOltbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDE4XSxbMSwxLDI0XV0sbm90ZV9zcGFyazpbWzAsMiwxOF0sWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLG9wZW5faW5fcGFuZWw6W1sxLDIsMjRdXSxvcmlnaW5hbHM6W1swLDEsMjRdLFsxLDEsMjRdXSxvdmVyZmxvd19ob3Jpem9udGFsOltbMSw2LDI0XSxbMSw2LDM2XV0sb3ZlcmZsb3dfdmVydGljYWw6W1sxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsMzZdXSxwYWdlX3NlYXJjaDpbWzEsMSwyNF1dLHBhaW50X2J1Y2tldDpbWzEsMywyNF1dLHBhaW50X3BhbGV0dGU6W1sxLDEsMjRdXSxwYW5lbHM6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXVzZTpbWzAsOSwyNF0sWzAsOSwzNl0sWzAsOSw0OF0sWzEsOSwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhdXNlX2hpc3Rvcnk6W1sxLDEsMjRdXSxwYXdwcmludDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxwZGY6W1sxLDIsMjRdXSxwZW5jaWw6W1swLDEwLDI0XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSxwZW5jaWxfc3Bhcms6W1sxLDEsMjRdXSxwZXJjZW50OltbMSwxLDI0XV0scGVyc29uOltbMCw3LDI0XSxbMSw3LDEyXSxbMSw3LDI0XV0scGVyc29uMjpbWzEsMSwyNF1dLHBlcnNvbjJfcmVjdGFuZ2xlOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uMzpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl9hZGQ6W1swLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxwZXJzb25fYXVkaW86W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdLFsxLDMsNDhdXSxwZXJzb25fYmFja2dyb3VuZF9zcGFyazpbWzEsMSwyNF1dLHBlcnNvbl9jaGVjazpbWzEsMSwyNF1dLHBlcnNvbl9jaGlsZDpbWzAsMiwxMl0sWzAsMiwyNF0sWzEsMiwyNF1dLHBlcnNvbl9jaXJjbGU6W1swLDEwLDI0XSxbMSwxMCwyNF0sWzEsMTAsNDhdXSxwZXJzb25fY2lyY2xlX3NsYXNoOltbMSwKMiwyNF1dLHBlcnNvbl9nZWFyOltbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX3NoaWVsZDpbWzEsNywyNF1dLHBlcnNvbl9zcXVhcmU6W1swLDIsMjRdLFsxLDIsMThdLFsxLDIsMjRdXSxwZXJzb25fc3F1YXJlX3NwYXJrOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3NxdWFyZV9zdGFjazpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl92aWV3ZmluZGVyOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3dhdmVmb3JtOltbMSwyLDI0XV0scGVyc29uX3dhdmVzOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3g6W1sxLDEsMjRdXSxwaG9uZTpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywyNF1dLHBpYW5vOltbMSwxLDI0XV0scGljdHVyZV9pbl9waWN0dXJlOltbMCwyLDI0XSxbMSwyLDI0XV0scGljdHVyZV9pbl9waWN0dXJlX3N0YWNrOltbMSwxLDI0XV0scGluOltbMCw3LDI0XSxbMSw3LDE4XSxbMSw3LDI0XV0scGluX3NsYXNoOltbMCwyLDI0XSxbMSwyLDE4XSwKWzEsMiwyNF1dLHBsYXk6W1swLDQsMThdLFswLDQsMjRdLFswLDQsMzZdLFswLDQsNDhdLFsxLDQsMjRdXSxwbGF5X2NpcmNsZTpbWzAsMiwyNF0sWzAsMiw0OF0sWzEsMiwyNF1dLHBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0scGxheV9wYXVzZTpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5X3NxdWFyZV9oYWxmX2Rhc2hlZDpbWzEsMSwyNF1dLHBsYXlfc3F1YXJlX3N0YWNrOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWFibGVzOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGxheWVyX2RlZmF1bHQ6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfZnVsbF9lbnRlcjpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyX2FsdDpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyX3BvcnRyYWl0OltbMSwyLDI0XV0scGxheWVyX2Z1bGxfZXhpdDpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2V4aXRfYWx0OltbMSwxLAoyNF1dLHBsYXllcl9taW5pX2VudGVyOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWVyX21pbmlfZXhpdDpbWzEsMSwyNF1dLHBsYXllcl9tdWx0aXZpZXc6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWVyX3RoZWF0ZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5bGlzdDpbWzEsNSwxMl0sWzEsNSwxOF0sWzEsNSwyNF0sWzEsNSw0OF1dLHBsYXlsaXN0X2FkZDpbWzEsMywxOF0sWzEsMywyNF1dLHBsYXlsaXN0X2F1ZGlvOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XSxbMSwzLDQ4XV0scGxheWxpc3RfYXVkaW9fc2xhc2g6W1sxLDEsMjRdXSxwbGF5bGlzdF9jaGVjazpbWzEsMSwyNF1dLHBsYXlsaXN0X3BlbmNpbDpbWzEsMiwyNF0sWzEsMiw0OF1dLHBsYXlsaXN0X3g6W1sxLDMsMThdLFsxLDMsMjRdXSxwb2RjYXN0OltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDEyXSxbMSw2LDE4XSxbMSw2LDI0XSxbMSw2LDQ4XV0scG9kY2FzdF9hZGQ6W1swLAoyLDI0XSxbMSwyLDI0XV0scG9kY2FzdF9jaGVjazpbWzAsMiwyNF1dLHBvaW50Mng6W1sxLDEsMjRdXSxwb2ludDN4OltbMSwxLDI0XV0scG9pbnQ1eDpbWzEsMSwyNF1dLHBvaW50OHg6W1sxLDEsMjRdXSxwb2xsOltbMSwxMCwxOF0sWzEsMTAsMjRdLFsxLDEwLDM2XV0scG9zdDpbWzAsMiwxMl0sWzAsMiwxOF0sWzAsMiwyNF0sWzEsMiwxMl0sWzEsMiwxOF0sWzEsMiwyNF1dLHByZW1pdW06W1swLDEsMjRdLFsxLDEsMjRdXSxwcmVzZW50YXRpb246W1sxLDMsMjRdXSxwcmljZV90YWc6W1swLDgsMjRdLFswLDgsNDhdLFsxLDgsMjRdXSxwcmljZV90YWdfaGVhcnQ6W1sxLDIsMjRdXSxwcmljZV90YWdfcmVjdGFuZ2xlOltbMSwxLDI0XV0scXJfY29kZTpbWzEsMywyNF1dLHFyX2NvZGVfdmlld2ZpbmRlcjpbWzEsMSwyNF1dLHF1ZXN0aW9uX2hlYWQ6W1sxLDIsMjRdXSxxdWV1ZTpbWzEsMSwyNF1dLHF1ZXVlX2xhc3Q6W1sxLDEsMjRdXSxxdWV1ZV9uZXh0OltbMSwxLDI0XV0scXVpejpbWzAsCjEsMjRdLFsxLDEsMjRdXSxxdW90ZTpbWzAsMSwyNF0sWzEsMSwyNF1dLHF1b3RlX3NsYXNoOltbMCwxLDI0XSxbMSwxLDI0XV0scmVjb3JkOltbMCwyLDI0XV0scmVkbzpbWzEsMiwxOF0sWzEsMiwyNF1dLHJlbWl4OltbMSwyLDI0XV0scmVtaXhfc3BhcmtsZXM6W1sxLDEsMjRdXSxyZW1vdGVfd2F2ZXM6W1sxLDEsMjRdXSxyZXBlYXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxyZXBlYXQxOltbMCwxLDI0XSxbMSwxLDI0XV0scmVwbGF5OltbMSwyLDI0XSxbMSwyLDM2XV0scm90YXRlX2Nsb2Nrd2lzZTpbWzEsMSwyNF1dLHJvdGF0ZV9jb3VudGVyY2xvY2t3aXNlOltbMSwxLDI0XV0scm90YXRlX2xhbmRzY2FwZTpbWzEsMiwxOF0sWzEsMiwyNF1dLHJvdGF0ZV9wb3J0cmFpdDpbWzEsMSwyNF1dLHJzczpbWzEsMiwyNF1dLHJzc19zbGFzaDpbWzEsMSwyNF1dLHJ1Ynk6W1sxLDIsMjRdXSxzYW1wbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc2F0dXJhdGlvbjpbWzEsMiwyNF1dLHNjYWxlOltbMSwKNCwyNF1dLHNjaXNzb3JzOltbMCw4LDI0XSxbMSw4LDE4XSxbMSw4LDI0XV0sc2Npc3NvcnNfY3V0OltbMSw0LDI0XV0sc2NyaWJibGU6W1sxLDEsMjRdXSxzZDpbWzAsMywyNF0sWzEsMywyNF1dLHNlYXJjaDpbWzAsMTUsMjRdLFsxLDE1LDE4XSxbMSwxNSwyNF0sWzEsMTUsNDhdXSxzZWFyY2hfc2hpZWxkOltbMCwxLDI0XSxbMSwxLDI0XV0sc2VhcmNoX3NwYXJrOltbMSwzLDE4XSxbMSwzLDI0XV0sc2Vla19mb3J3YXJkOltbMCwxLDI0XV0sc2Vla19yZXdpbmQ6W1swLDEsMjRdXSxzZW5kOltbMCw3LDE4LCEwXSxbMCw3LDI0LCEwXSxbMSw3LDE4LCEwXSxbMSw3LDI0LCEwXV0sc2hhZG93OltbMSwxLDI0XV0sc2hhZG93X2hhcmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzaGFkb3dfc29mdDpbWzAsMywyNF0sWzEsMywyNF1dLHNoYXBlczpbWzAsMywyNF0sWzEsMywyNF1dLHNoYXJlOltbMCwxMiwyNCwhMF0sWzEsMTIsMTgsITBdLFsxLDEyLDI0LCEwXV0sc2hhcmVfYW5kcm9pZDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxzaGFyZV9pb3M6W1sxLDIsMjRdXSxzaGFycGVuOltbMSwxLDI0XV0sc2hpZWxkOltbMCw2LDI0XSxbMSw2LDI0XV0sc2hpZWxkX2FkZDpbWzEsMiwyNF1dLHNoaWVsZF9oZWFsdGg6W1sxLDEsMjRdXSxzaGllbGRfb3ZlcmZsb3c6W1sxLDIsMjRdXSxzaGllbGRfc2xhc2g6W1sxLDEsMjRdXSxzaGllbGRfeDpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHNob3J0czpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHNob3J0c19hZGQ6W1sxLDEsMThdLFsxLDEsMjRdXSxzaG9ydHNfZW1wdHk6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMjRdXSxzaHVmZmxlOltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sc2tpcDEwX2JhY2s6W1sxLDIsMjRdLFsxLDIsMzZdXSxza2lwMTBfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXAxNV9iYWNrOltbMSwxLDI0XV0sc2tpcDE1X2ZvcndhcmQ6W1sxLDEsMjRdXSxza2lwMjBfYmFjazpbWzEsMSwyNF1dLHNraXAyMF9mb3J3YXJkOltbMSwKMSwyNF1dLHNraXAzMF9iYWNrOltbMSwxLDI0XV0sc2tpcDMwX2ZvcndhcmQ6W1sxLDIsMjRdLFsxLDIsMzZdXSxza2lwNV9iYWNrOltbMSwxLDI0XV0sc2tpcDVfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXA2MF9iYWNrOltbMSwxLDI0XV0sc2tpcDYwX2ZvcndhcmQ6W1sxLDEsMjRdXSxza2lwX2Rvd246W1swLDYsMjRdLFsxLDYsMjRdXSxza2lwX25leHQ6W1swLDcsMTJdLFswLDcsMjRdLFswLDcsMzZdLFsxLDcsMjRdXSxza2lwX3ByZXZpb3VzOltbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XV0sc2tpcF91cDpbWzAsNiwyNF0sWzEsNiwyNF1dLHNsYXNoX2ZvcndhcmQ6W1sxLDEsMjRdXSxzbGVlcF90aW1lcjpbWzAsMiwyNF0sWzEsMiwyNF1dLHNsaXA6W1sxLDEsMThdLFsxLDEsMjRdXSxzbm93Zmxha2U6W1sxLDEsMjRdXSxzb2NjZXJfYmFsbDpbWzEsMywyNF1dLHNvbmFyOltbMSwxLDI0XV0sc29ydDpbWzEsMywxMl0sWzEsMywxOF0sWzEsMywyNF1dLHNwYWNlYmFyOltbMSwyLAoyNF1dLHNwYXJrOltbMCwxMSwxMl0sWzAsMTEsMjRdLFsxLDExLDI0XV0sc3BhcmtfYnViYmxlX2NoYXQ6W1sxLDEsMjRdXSxzcGFya19saWdodGJ1bGI6W1swLDMsMjRdLFsxLDMsMjRdXSxzcGFya19zZWFyY2g6W1sxLDEsMjRdXSxzcGFya193YXZlczpbWzAsMiwyNF0sWzEsMiwyNF1dLHNwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BlYWtlcjpbWzEsMiwyNF1dLHNwZWFrZXJfaGVhZHNldDpbWzEsMiwyNF1dLHNwZWFrZXJfc2xhc2g6W1sxLDEsMjRdXSxzcGVha2VyX3N0YWNrOltbMSwxLDI0XV0sc3BlYWtlcl9zdGFja19zbGFzaDpbWzEsMSwyNF1dLHNwZWVkb21ldGVyOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BsaWNlOltbMSwxLDI0XV0sc3BsaXQ6W1sxLDQsMjRdXSxzcG90bGlnaHQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzcHJlYWRzaGVldDpbWzEsMSwyNF1dLHNxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHNxdWFyZTNfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSwKc3F1YXJlM2Rfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxzcXVhcmVfZ3JpZDJ4MjpbWzEsMSwyNF1dLHNxdWFyZV9ncmlkM3gzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3F1YXJlX3BhaW50YnJ1c2g6W1sxLDEsMjRdXSxzcXVhcmVfcGVuY2lsOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sc3RhYmxlX3ZvbHVtZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHN0YXI6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMjRdXSxzdGFyX2NpcmNsZTpbWzAsNiwxMl0sWzAsNiwxOF0sWzAsNiwyNF0sWzAsNiwzNl0sWzEsNiwyNF1dLHN0YXJfZnVsbF9oYWxmOltbMCwxLDEyXSxbMCwxLDI0XV0sc3Rhcl9oYWxmX2ZpbGxlZDpbWzEsMiwxMl0sWzEsMiwyNF1dLHN0YXJfdGlja2V0OltbMCwyLDI0XSxbMSwyLDI0XV0sc3Rhcl90cm9waHk6W1sxLDEsMjRdXSxzdGFyX3R2OltbMSwxLDI0XV0sc3RpY2tlcjpbWzEsMywxOF0sWzEsMywyNF1dLHN0b3A6W1swLDYsMjRdLFswLDYsMzZdLApbMSw2LDI0XV0sc3RvcF9jaXJjbGU6W1swLDIsMjRdLFsxLDIsMjRdXSxzdG9wd2F0Y2g6W1swLDUsMjRdLFsxLDUsMjRdXSxzdG9wd2F0Y2gxMDpbWzAsMSwyNF1dLHN0b3B3YXRjaDM6W1swLDEsMjRdXSxzdG9yYWdlOltbMCwyLDI0XSxbMSwyLDI0XV0sc3Vic2NyaXB0aW9uczpbWzAsMTIsMjRdLFsxLDEyLDI0XSxbMSwxMiw0OF1dLHN1YnRpdGxlczpbWzAsNSwyNF0sWzAsNSw0OF0sWzEsNSwyNF1dLHN1YnRpdGxlc19idWJibGU6W1sxLDEsMjRdXSxzdW06W1sxLDEsMjRdXSxzdXBlcl9jaGF0OltbMCw4LDI0XSxbMSw4LDI0XV0sc3VwZXJfc3RhcjpbWzEsMSwyNF1dLHN1cGVyX3N0aWNrZXI6W1swLDgsMjRdLFsxLDgsMjRdXSxzdXBlcl9zdG9yZTpbWzAsMywyNF0sWzEsMywyNF1dLHN1cHBvcnRfYWdlbnQ6W1sxLDEsMjRdXSxzdXJyb3VuZF9zb3VuZDpbWzAsMiwyNF0sWzEsMiwyNF1dLHRhYmxldF9sYW5kc2NhcGU6W1sxLDEsMjRdXSx0YXJnZXQ6W1sxLDIsMjRdXSx0YXJnZXRfYWRkOltbMSwKMiwyNF1dLHRlbXBsYXRlX2FkZDpbWzEsMywyNF1dLHRlbXBsYXRlX3BsYXk6W1swLDMsMjRdLFsxLDMsMjRdXSx0ZW1wbGF0ZV9wbGF5X3NwYXJrOltbMSwxLDI0XV0sdGV4dF9hbGlnbl9jZW50ZXI6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2FsaWduX2xlZnQ6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2FsaWduX3JpZ2h0OltbMCwyLDI0XSxbMSwyLDI0XV0sdGV4dF9idWJibGU6W1swLDQsMjRdLFsxLDQsMTJdLFsxLDQsMThdLFsxLDQsMjRdXSx0ZXh0X3BhZ2U6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X3BhZ2VfYWxlcnQ6W1sxLDEsMjRdXSx0ZXh0X3BhZ2VfY2hlY2s6W1sxLDEsMjRdXSx0ZXh0X3BhZ2VfaW5mbzpbWzEsMSwyNF1dLHRleHRfc3Bhcms6W1sxLDEsMjRdXSx0ZXh0dXJlOltbMSwxLDI0XV0sdGhlYXRlcjpbWzEsMSwyNF1dLHRoZW1lOltbMCwyLDI0XSxbMSwyLDI0XV0sdGhlcm1vbWV0ZXI6W1sxLDIsMjRdXSx0aHVtYl9kb3duOltbMCwyNSwxOF0sWzAsCjI1LDI0XSxbMCwyNSwzNl0sWzAsMjUsNDhdLFsxLDI1LDE4XSxbMSwyNSwyNF0sWzEsMjUsMzZdLFsxLDI1LDQ4XV0sdGh1bWJfdXA6W1swLDI0LDEyXSxbMCwyNCwxOF0sWzAsMjQsMjRdLFswLDI0LDM2XSxbMCwyNCw0OF0sWzEsMjQsMTJdLFsxLDI0LDE4XSxbMSwyNCwyNF0sWzEsMjQsMzZdLFsxLDI0LDQ4XV0sdGh1bWJfdXBfZG93bjpbWzAsNCwyNF0sWzEsNCwyNF1dLHRpbHQ6W1sxLDQsMjRdXSx0aW1lbGluZTpbWzEsMywyNF1dLHRpbWVsaW5lX3NwYXJrOltbMSwxLDI0XV0sdGltZXN0YW1wX2FkZDpbWzEsMSwyNF1dLHRvb2xib3g6W1swLDQsMjRdLFsxLDQsMjRdXSx0cmFuc2NyaXB0OltbMSwyLDI0XV0sdHJhbnNpdGlvbjpbWzAsNSwyNF0sWzEsNSwyNF1dLHRyYW5zbGF0ZTpbWzEsNCwxOF0sWzEsNCwyNF1dLHRyYXNoX2NhbjpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHRyZW5kaW5nOltbMCwyLDI0XSxbMSwyLDI0XV0sdHJpYW5nbGVfZG93bjpbWzAsOCwKMThdLFswLDgsMjRdLFsxLDgsMjRdXSx0cmlhbmdsZV91cDpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHRyb3BoeTpbWzAsMywyNF0sWzEsMywyNF1dLHRydWNrOltbMCw1LDI0XSxbMSw1LDI0XV0sdHY6W1swLDgsMjRdLFsxLDgsMjRdLFsxLDgsNDhdXSx0dl9hcnJvd19sZWZ0OltbMSwyLDI0XV0sdHZfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sdHZfbW9iaWxlOltbMSwyLDI0XSxbMSwyLDM2XV0sdHZfc2xhc2g6W1sxLDEsMjRdXSx1bmFyY2hpdmU6W1sxLDEsMjRdXSx1bmRvOltbMSwyLDE4XSxbMSwyLDI0XV0sdXBsb2FkOltbMSw1LDI0XV0sdmFyaWFibGU6W1sxLDQsMjRdXSx2aWRlbzpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHZpZGVvX2NhbWVyYTpbWzAsOSwyNF0sWzAsOSw0OF0sWzEsOSwyNF0sWzEsOSw0OF1dLHZpZGVvX2NhbWVyYV9hZGQ6W1sxLDIsMjRdXSx2aWRlb19jYW1lcmFfc2xhc2g6W1sxLDEsMjRdXSx2aWRlb19saW5rOltbMSw1LDE4XSwKWzEsNSwyNF1dLHZpZGVvX3BvcnRyYWl0X3NwYXJrOltbMSwxLDI0XV0sdmlkZW9fcmV2ZXJzZTpbWzEsMSwyNF1dLHZpZGVvX3NsYXNoOltbMSwxLDEyXSxbMSwxLDE4XSxbMSwxLDI0XSxbMSwxLDM2XSxbMSwxLDQ4XV0sdmlkZW9fc3Bhcms6W1sxLDIsMjRdXSx2aWRlb19zdGFja19zcGFyazpbWzEsMSwxOF0sWzEsMSwyNF1dLHZpZGVvX3N0aXRjaDpbWzEsMiwyNF1dLHZpZGVvX3dhdmVmb3JtOltbMSwxLDI0XV0sdmlld19jb2x1bW4yOltbMSwxLDI0XV0sdmlld19jb2x1bW4zOltbMCwyLDI0XSxbMSwyLDI0XV0sdmlld19jb2x1bW4zX3JvdzI6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2NvbXBhY3Q6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2ZlZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2xpc3Q6W1sxLDEsMjRdXSx2aWV3X3JvdzI6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X3RpbWVsaW5lOltbMSwxLDI0XV0sdmlld2ZpbmRlcjpbWzEsMSwxMl0sWzEsMSwxOF0sClsxLDEsMjRdXSx2aWduZXR0ZTpbWzEsMSwyNF1dLHZvbHVtZV9mYWRlOltbMSwyLDI0XV0sdm9sdW1lX21heDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9taW46W1swLDIsMjRdLFsxLDIsMjRdXSx2b2x1bWVfbXV0ZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHZyOltbMCw3LDI0XSxbMSw3LDI0XV0sd2F0Y2g6W1sxLDEsMjRdXSx3YXRlcjpbWzEsMSwyNF1dLHdhdmVmb3JtOltbMSwzLDI0XSxbMSwzLDQ4XV0sd2F2ZWZvcm1fc3Bhcms6W1sxLDIsMjRdXSx3aWZpX3RldGhlcmluZzpbWzEsMSwyNF1dLHdyZW5jaDpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHg6W1sxLDExLDE4XSxbMSwxMSwyNF0sWzEsMTEsMzZdXSx4X2NpcmNsZTpbWzAsOSwyNF0sWzEsOSwxOF0sWzEsOSwyNF1dLHhfb2N0YWdvbjpbWzEsMywxMl0sWzEsMywyNF1dLHhfcmVjdGFuZ2xlOltbMSwxLDI0XV0seWVuX3NpZ25fcmVjdGFuZ2xlOltbMCwyLDI0XSxbMSwyLDI0XV0seW91dHViZTpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX2tpZHM6W1swLDUsMjRdLFsxLDUsMjRdXSx5b3V0dWJlX2xhYnM6W1swLDEsMjRdXSx5b3V0dWJlX211c2ljOltbMCw3LDI0XSxbMSw3LDI0XV0seW91dHViZV9zaG9ydHM6W1swLDExLDI0XSxbMSwxMSwyNF1dLHlvdXR1YmVfc3R1ZGlvOltbMCw4LDI0XSxbMSw4LDI0XV0seW91dHViZV90djpbWzAsOCwyNF0sWzEsOCwyNF1dLHpvb21fYXV0bzpbWzEsMiwyNF1dLHpvb21faW46W1swLDIsMjRdLFsxLDIsMjRdXSx6b29tX291dDpbWzAsMiwyNF0sWzEsMiwyNF1dfTt2YXIgWHFhPXtWT0xVTUVfVVBfREVMSElfUExBWUVSX0ZJTExFRDoiVk9MVU1FX01BWCIsVk9MVU1FX09GRl9ERUxISV9QTEFZRVI6IlZPTFVNRV9NVVRFIixWT0xVTUVfRE9XTl9ERUxISV9QTEFZRVJfRklMTEVEOiJWT0xVTUVfTUlOIixDTE9TRURfQ0FQVElPTl9ERUxISV9QTEFZRVI6IkNBUFRJT05TIixDTE9TRURfQ0FQVElPTl9ERUxISV9QTEFZRVJfRklMTEVEOiJDQVBUSU9OUyIsU1VCVElUTEVTX0RFTEhJX1BMQVlFUjoiU1VCVElUTEVTIixTVUJUSVRMRVNfREVMSElfUExBWUVSX0ZJTExFRDoiU1VCVElUTEVTIixQTEFZRVJfRlVMTF9FTlRFUl9BTFQ6IlBMQVlFUl9GVUxMX0VOVEVSX0FMVCIsUExBWUVSX0ZVTExfRVhJVF9BTFQ6IlBMQVlFUl9GVUxMX0VYSVRfQUxUIixQQVVTRV9ERUxISV9QTEFZRVJfRklMTEVEOiJQQVVTRSIsUExBWV9BUlJPV19ERUxISV9QTEFZRVJfRklMTEVEOiJQTEFZX0FSUk9XIn0sdlo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9bWYoYSwKYil7dmFyIGM9WHFhW2EuaWNvbk5hbWUudG9VcHBlckNhc2UoKV07YyYmKGEuaWNvbk5hbWU9Yyk7dmFyIGQ9YS5pY29uTmFtZTtkPWQucmVwbGFjZSgvLS9nLCJfIik7YT17Li4uYSxpY29uTmFtZTp1WShkLCEhYyl8fGQudG9Mb3dlckNhc2UoKX07cmV0dXJuIF8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpfHxjP3JZKFdxYSxhLHRoaXMuaj8ucnd8fEFwYSxiKTpyWShWcWEsYSx0aGlzLmo/LnJ3fHx6cGEsYil9fTt2WltfLkxuXT1bXy5JbihfLm5PKV07dmFyIEJwYT1uZXcgU2V0KFsiY2kiLCJjciIsImNhcm1sIl0pLHZZPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaWduYWxzPVtdO3RoaXMuaj1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMudj1uZXcgTWFwfVZxKGEpe2lmKGEubGVuZ3RoPjEpe3ZhciBiPVtdO2xldCBmPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKHZhciBjIG9mIGEpZltjXXx8KGIucHVzaChjKSxmW2NdPSEwKTthPWJ9aWYoYS5sZW5ndGg9PT0xKXZhciBkPWFbMF07ZWxzZXtjPWE7Yj0iIjtjLnNvcnQoKTtmb3IoZSBvZiBjKWIrPWUrInwiO3ZhciBlPWI7aWYoIXRoaXMuai5nZXQoZSkpe2M9MDtiPVtdO2ZvcihkIG9mIGEpYysrLHhZKHRoaXMsZCl8fGIucHVzaChkKTtjPmIubGVuZ3RoP3RoaXMuc2lnbmFscy5wdXNoKGUpOkNwYSh0aGlzLGUsYSxiKX1kPWV9cmV0dXJuIGR9SGgoYSxiLGMsZCxlKXt4WSh0aGlzLGMpP18uQ2soKS5HYShhLGIsZCk6KGUmJihhPXlZKGEpLEFZKHRoaXMsCmEsYixjLGUpKSxlPXRoaXMuby5nZXQoYyksZXx8KHRoaXMuby5zZXQoYyxbXSksZT10aGlzLm8uZ2V0KGMpKSxlLnB1c2goe3hoOmEscHJpb3JpdHk6YixkZWxheTpkfSkpfWFkZExpc3RlbmVyKGEsYixjKXtjJiYoYj15WShiKSxBWSh0aGlzLGIsMCxhLGMpKTtjPXRoaXMudi5nZXQoYSk7Y3x8KHRoaXMudi5zZXQoYSxbXSksYz10aGlzLnYuZ2V0KGEpKTtjLnB1c2goYil9V20oYSl7aWYoIXhZKHRoaXMsYSkpe3RoaXMuQi5hZGQoYSk7dmFyIGI9dGhpcy5vLmdldChhKTtpZihiKXtmb3IobGV0IGMgb2YgYilfLkNrKCkuR2EoYy54aCxjLnByaW9yaXR5LGMuZGVsYXkpO3RoaXMuby5kZWxldGUoYSl9aWYoYj10aGlzLnYuZ2V0KGEpKXtmb3IobGV0IGMgb2YgYiljKCk7dGhpcy52LmRlbGV0ZShhKX10aGlzLnNpZ25hbHMucHVzaChhKTt0aGlzLkIuZGVsZXRlKGEpfX19O3ZZLnByb3RvdHlwZS5wcm9jZXNzU2lnbmFsPXZZLnByb3RvdHlwZS5XbTsKdlkucHJvdG90eXBlLnBhcmtPclNjaGVkdWxlSm9iPXZZLnByb3RvdHlwZS5IaDt2WS5wcm90b3R5cGUub25Bbnk9dlkucHJvdG90eXBlLlZxO18ucmEoInl0c2lnbmFscy5nZXRJbnN0YW5jZSIsd1kpO3ZZLnByb3RvdHlwZS5vbkFueT12WS5wcm90b3R5cGUuVnE7dlkucHJvdG90eXBlLnBhcmtPclNjaGVkdWxlSm9iPXZZLnByb3RvdHlwZS5IaDt2WS5wcm90b3R5cGUucHJvY2Vzc1NpZ25hbD12WS5wcm90b3R5cGUuV207dmFyIHpZPW5ldyBTZXQoWyJlb3AiLCJlb2NzIiwiZGwiLCJwY2wiXSk7dmFyIHZxYT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9e307c3VwZXIoInVuaW5pdGlhbGl6ZWQiKTt0aGlzLmVudj1hO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJ1bmluaXRpYWxpemVkIix0bzoiaW5pdGlhbGl6ZWQiLGFjdGlvbjp0aGlzLmluaXR9LHtmcm9tOiJpbml0aWFsaXplZCIsdG86InJlbmRlcmluZyIsYWN0aW9uOnRoaXMuS30se2Zyb206InJlbmRlcmluZyIsdG86InJlbmRlcmVkIixhY3Rpb246dGhpcy5EfSx7ZnJvbToicmVuZGVyZWQiLHRvOiJhZnRlci1yZW5kZXItZGVmZXJyZWQiLGFjdGlvbjp0aGlzLm99XTtiLkZnIT09dm9pZCAwJiYodGhpcy5CLkZnPWIuRmcpfWFzeW5jIGluaXQoYSl7dGhpcy5CLkZnP2F3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJyZW5kZXJpbmciKX0sMTAsImNpIil9YXN5bmMgSyhhKXt0aGlzLkIuRmc/CmF3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJyZW5kZXJlZCIpfSwxMCwiY3IiKX1hc3luYyBEKGEpe3RoaXMuQi5GZz9hd2FpdCBhKHRoaXMuZW52KTphKHRoaXMuZW52KTt0aGlzLmomJmF3YWl0IHRoaXMuai5vLnByb21pc2U7d1koKS5IaCgoKT0+e3RoaXMudHJhbnNpdGlvbigiYWZ0ZXItcmVuZGVyLWRlZmVycmVkIil9LDEwLCJjYXJtbCIpfWFzeW5jIG8oYSl7YSh0aGlzLmVudil9fTt2YXIgd1o9ITEsd3FhPXtpbml0aWFsaXplZDp7cHJpb3JpdHk6MTAsY2FsbGJhY2s6ZnVuY3Rpb24oKXt3Wnx8KF8uZHcoe0dmOmE9PnthLmVsJiZfLnV5KGEuZWwsYS5wcm9wcyl9LEhmOmE9PntfLnN5KGEuZWwpfX0pLHdaPSEwKX19fTt2YXIgQ1k9Xy5MKCh7ZGF0YTphfSk9PntmdW5jdGlvbiBiKGYpe18ublAoKTtmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBjPV8udkUoImRpdiIpLGQ9Xy54KCJ3ZWJfcmVtb3ZlX3NuYWNrYmFyX2FjdGlvbnMiKTtfLlVKKCgpPT57fSk7dmFyIGU9e2J1dHRvbk92ZXJyaWRlczp7c3R5bGU6ImNhbGwtdG8tYWN0aW9uLWludmVyc2UifX07cmV0dXJuIF8uSygieXRtLW5vdGlmaWNhdGlvbi1hY3Rpb24tcmVuZGVyZXIiLG51bGwsXy5LKCJkaXYiLHsiYXJpYS1saXZlIjpfLmZyPyJvZmYiOiJwb2xpdGUiLGNsYXNzOiJub3RpZmljYXRpb24tYWN0aW9uLXJlc3BvbnNlLXRleHQifSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLnJlc3BvbnNlVGV4dH0pKSxfLksoXy5PLHtBOigpPT5hKCkuYWN0aW9uQnV0dG9uJiYhZCx0aGVuOigpPT5fLksoImRpdiIse2VsOmMsY2xhc3M6Im5vdGlmaWNhdGlvbi1hY3Rpb24tYnV0dG9uIiwib246Y2xpY2siOmJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5hY3Rpb25CdXR0b259LAp7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmZ9KT0+Xy5LKF8ucE8se2RhdGE6ZiwuLi5lfSksdG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOmZ9KT0+Xy5LKF8ucU8se2RhdGE6ZiwuLi5lfSl9KSl9KSl9LCJiZiIpO0NZLmlkb21Db21wYXQ9ITA7dmFyIEVZO3ZhciBHWT1uZXcgXy5lRTt2YXIgR3BhPXthZGRUb1BsYXlsaXN0UmVuZGVyZXI6ITB9O3ZhciBMWTt2YXIgUXBhPV8uJE4uQ3Q7dmFyIFRZPV8uTCgoe2RhdGE6YX0pPT57dmFyIGI9Xy51RSgieXRtLXNoYXJlLXRhcmdldC1yZW5kZXJlciIpO18uVUooKCk9PntiLnZhbHVlLmxheWVyPTd9KTt2YXIgYz0oKT0+Xy5CKGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5WRCk/LnVybCxkPSgpPT57YSgpO3JldHVybiExfTtyZXR1cm4gXy5LKCJ5dG0tc2hhcmUtdGFyZ2V0LXJlbmRlcmVyIix7ZWw6Yiwib246Y2xpY2siOmZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCk7aWYoZCgpKXt2YXIgZj1jKCksaD1hKCkubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zO18uekooaCw3KTtuZXcgTW96QWN0aXZpdHkoe25hbWU6Im5ldyIsZGF0YTp7dHlwZToid2Vic21zL3NtcyIsYm9keTpmfX0pO05ZKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBOWSgpfX0sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSygiYSIse2hyZWY6YyxjbGFzczoic2hhcmUtdGFyZ2V0LWxpbmsifSwKXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxXOigpPT5fLksoXy5uSCx7Y2xhc3NOYW1lOiJzaGFyZS10YXJnZXQtbGluayIsY29tbWFuZDooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCx0YXJnZXQ6Il9ibGFuayJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSl9KSl9LCJjZiIpO1RZLmlkb21Db21wYXQ9ITA7dmFyIFlxYT1fLiROLkNBTkNFTCxYcGE9Xy5MKCh7ZGF0YTphfSk9PntmdW5jdGlvbiBiKGYpe3ZhciBoPV8ueSgpLnJlc29sdmUoXy55UCksaz1SWShhKCkpO2YucHJldmVudERlZmF1bHQoKTtrJiZfLnpKKGssNyk7Xy5zUChlKTtoPy5sZCgpO18uek4oKTtmLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGMoZil7Xy55KCkucmVzb2x2ZShfLnlQKT8ubGQoKTtfLnpOKCk7Zi5zdG9wUHJvcGFnYXRpb24oKX12YXIgZD0oKT0+T1koYSgpKSxlPSJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIrXy5PSCgpO3JldHVybiBfLksoXy5yRSx7UWc6KCk9Pl8uSyhfLkFQLG51bGwsXy5LKF8uSUose2RhdGE6KCk9Pnt2YXIgZj1hKCkuaGVhZGVyPy5zaGFyZVBhbmVsSGVhZGVyUmVuZGVyZXI/LnRpdGxlPy5zaGFyZVBhbmVsVGl0bGVWMTVSZW5kZXJlcj8udGl0bGU7cmV0dXJuIGY/Zjp7c2ltcGxlVGV4dDoiU2hhcmUifX19KSkscWs6KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+CiEwLHRoZW46KCk9Pl8uSygiaW5wdXQiLHt2YWx1ZTpkLCJzZWxlY3Rpb24tZW5kIjowLGNsYXNzOiJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIsaWQ6ZSwib246Y2xpY2siOmIsImFyaWEtbGFiZWwiOigpPT5gJHtfLiROLnNvfSAke09ZKGEoKSl9YCxyZWFkb25seTohMH0pfSksXy5LKF8uZ0cse3BhOigpPT5TWShhKCkpfHxbXX0sZj0+Xy5LKF8uTyx7QTooKT0+Zi5zaGFyZVRhcmdldFJlbmRlcmVyLHRoZW46aD0+Xy5LKFRZLHtkYXRhOmh9KX0pKSksUHI6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKCJidXR0b24iLHtjbGFzczoiY29tcGFjdCIsIm9uOmNsaWNrIjpjfSxZcWEpKX0pfSwiZGYiKSxRWT1fLkwoKHtzaG9ydFVybDphLHRyYWNraW5nUGFyYW1zOmJ9KT0+e2Z1bmN0aW9uIGMoZSl7dmFyIGY9ZCxoPWI/LigpO2UucHJldmVudERlZmF1bHQoKTtoJiZfLnpKKGgsNyk7Xy5zUChmKTtOWSgpO18uek4oKTtlLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPSJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIrCl8uT0goKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ITAsdGhlbjooKT0+Xy5LKCJpbnB1dCIse2NsYXNzOiJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIsaWQ6ZCx2YWx1ZTphLHJlYWRvbmx5OiEwLCJhcmlhLWxhYmVsIjooKT0+YCR7Xy4kTi5zb30gJHthKCl9YCwib246Y2xpY2siOmMsInNlbGVjdGlvbi1lbmQiOjB9KX0pfSwiZWYiKTtRWS5pZG9tQ29tcGF0PSEwO3ZhciAkcGE9Xy4kTi5EdCxhcWE9Xy4kTi5ldTtfLnJhKCJ5dC5wdWJzdWIucHVibGlzaCIsXy5Peik7dmFyIHdYPXthdWRpb1RyYWNrU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyhUcWEpLGJyb3dzZUVuZHBvaW50OigpPT5GWShJcGEpLGNhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6VlcoclopLGNvbW1hbmRFeGVjdXRvckNvbW1hbmQ6KCk9PkZZKEpwYSksY29weVRleHRFbmRwb2ludDooKT0+RlkoTHBhKSxlbnRpdHlVcGRhdGVDb21tYW5kOlZXKHBaLFtuWl0pLGZlZWRiYWNrRW5kcG9pbnQ6KCk9PkZZKE1ZKSxtb2RpZnlDaGFubmVsTm90aWZpY2F0aW9uUHJlZmVyZW5jZUVuZHBvaW50OigpPT5GWShOcGEpLG5hdGl2ZUFwcERlZXBsaW5rRW5kcG9pbnQ6KCk9PkZZKHBvYSksb3BlblBvcHVwQWN0aW9uOigpPT5GWShEcGEpLHBob25lRGlhbGVyRW5kcG9pbnQ6KCk9PkZZKFBwYSkscGxheWxpc3RFZGl0RW5kcG9pbnQ6KCk9PkZZKFJwYSksc2VuZFNtc0VuZHBvaW50OigpPT5GWShUcGEpLHNoYXJlRW50aXR5RW5kcG9pbnQ6KCk9PkZZKFpwYSksc2hvd0F1ZGlvVHJhY2tQaWNrZXJBY3Rpb25Db21tYW5kOlZXKHNaKSwKc2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6VlcodFopLHNob3dFbmdhZ2VtZW50UGFuZWxFbmRwb2ludDooKT0+RlkoZHFhKSxzaG93U2hlZXRDb21tYW5kOlZXKHFaLFtfLmNMLCRZXSksc2lnbkluRW5kcG9pbnQ6KCk9PkZZKGZxYSksc3Vic2NyaWJlRW5kcG9pbnQ6KCk9PkZZKFdZKSx1bmRvRmVlZGJhY2tFbmRwb2ludDooKT0+RlkoTVkpLHVuc3Vic2NyaWJlRW5kcG9pbnQ6KCk9PkZZKFdZKSx1cmxFbmRwb2ludDooKT0+RlkoaHFhKSx1c2VyRmVlZGJhY2tFbmRwb2ludDooKT0+RlkoaXFhKSx3YXRjaEVuZHBvaW50OigpPT5GWShFcGEpfTt2YXIgeFo9Xy5MKCh7Y2hpbGRyZW46YSxCcTpiLGlzRnVsbHNjcmVlbjpjLHN0eWxlOmQsYXJpYUxhYmVsOmV9KT0+e3ZhciBmPV8udUUoImRpYWxvZyIpO18uVUooKCk9Pnt2YXIgaD0oKT0+e30saz1mLnZhbHVlO2suYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgsITApO18uWXUoKCk9PntrLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixoLCEwKX0pfSk7cmV0dXJuIF8uSygiZGlhbG9nIix7ZWw6ZixjbGFzczpfLlAoImRpYWxvZyIsIm1vZGVybi1kaWFsb2ctbGF5b3V0IiwibW9kZXJuLWRpYWxvZyIse3Njcm9sbGFibGU6YiwiZGlhbG9nLWZ1bGxzY3JlZW4iOmMsInJvdW5kZWQtY29udGFpbmVyIjooKT0+IWM/LigpfSkscm9sZToiZGlhbG9nIiwiYXJpYS1tb2RhbCI6ITAsc3R5bGU6ZCwiYXJpYS1sYWJlbCI6ZX0sYSl9LCJmZiIpO3haLmlkb21Db21wYXQ9ITA7dmFyIFpxYT1jbGFzc3t9O3ZhciBxcWE9Y2xhc3MgZXh0ZW5kcyBacWF7Y29uc3RydWN0b3IoKXt2YXIgYT17WWw6VXBhLFdrOk5ZfTtzdXBlcigpO3RoaXMubz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLm8uaWQ9Imdsb2JhbC1sb2FkZXIiO2RvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHRoaXMubyxkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpO3RoaXMuWWw9YT8uWWw7dGhpcy5Xaz1hPy5Xa31ycSgpe3JldHVybiEhdGhpcy5qfWFzeW5jIG9wZW5EaWFsb2coYSl7dmFyIGI9e3N0YWNrOltdLGVycm9yOnZvaWQgMCxoYXNFcnJvcjohMX07dHJ5e2xldCBjPV8uWnR8fHt9O3RoaXMuWWw/LigpJiZhd2FpdCB0aGlzLldrPy4oKTt0aGlzLnJxKCkmJnRoaXMubGQoKTtfLlZ6KGIsXy52TShjKSk7bGV0IGQ9YS5VbixlPWEuQnEsZj1hLmlzRnVsbHNjcmVlbixoPWEubkosaz1hLmlzUGVyc2lzdGVudCxsPWEuZm9jdXNPbkNsb3NlLG09YS5ybixuPWEuZksscD1hLnN0eWxlLHI9YS5hcmlhTGFiZWw7CnRoaXMuQj1hO3RoaXMudj10aGlzLmxkLmJpbmQodGhpcyk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLWNoYW5nZSIsdGhpcy52KTt0aGlzLmo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5qLmlkPSJkaWFsb2ctY29udGFpbmVyIjt0aGlzLmouY2xhc3NOYW1lPV8uYUwoImRpYWxvZy1jb250YWluZXIiLHtbImRpYWxvZy1mdWxsc2NyZWVuIl06Zn0pOyhfLlpPKCl8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHRoaXMuaik7Xy5mTih0aGlzLmosXy5LKF8uSUIsbnVsbCxfLksoeFose0JxOmUsaXNGdWxsc2NyZWVuOmYsc3R5bGU6cCxhcmlhTGFiZWw6cn0sXy5LKGQsbnVsbCkpLF8uSyhfLlpOLHtsYWJlbDoiZGlhbG9nIixvbmNsaWNrOigpPT57aHx8a3x8dGhpcy5sZCgpfX0pKSk7Xy5KTih0aGlzLmosbCxtKTtuPy4oKX1jYXRjaChjKXtiLmVycm9yPWMsYi5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooYil9fWxkKCl7dGhpcy5qJiYodGhpcy5CLkdoPy4oKSwKdGhpcy5CPXZvaWQgMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIix0aGlzLnYpLHRoaXMudj12b2lkIDAsXy5LTih0aGlzLmopLF8ucEModGhpcy5qKSx0aGlzLmoucmVtb3ZlKCksdGhpcy5qPXZvaWQgMCl9UXUoKXt0aGlzLm8uZmlyc3RDaGlsZCYmdGhpcy5vLnJlbW92ZUNoaWxkKHRoaXMuby5maXJzdENoaWxkKX19O3ZhciBTVz1uZXcgXy5DdCgiSW5uZXJUdWJlVHJhbnNwb3J0IiwiUnYzZTNkIik7bmV3IF8uQ3QoIlBhZ2VSZXF1ZXN0IiwiUnYzZTNkIik7dmFyICRxYT17YXV0b25hdl9vZmZfdG9nZ2xlX3NwYW5uZXI6W1swLDEsMzZdXSxhdXRvbmF2X29uX3RvZ2dsZV9zcGFubmVyOltbMCwxLDM2XV0sYXV0b25hdl9wbGF5X2NpcmNsZTpbWzAsMSwyMF1dLGF1dG9wbGF5OltbMCwyLDI0XV0sY3JlYXRvcl9zdHVkaW9fcmVkX2xvZ286W1swLDIsMjRdXSxlcXVhbGl6ZXI6W1swLDEsMjRdXSxmdWxsc2NyZWVuOltbMSwxLDI0XV0sZnVsbHNjcmVlbl9leGl0OltbMSwxLDI0XV0sZnVsbHNjcmVlbl9mcDpbWzEsMiwyNF1dLGdvb2dsZTpbWzAsMSwyNF1dLGdvb2dsZV9sb2dvOltbMCwyLDI0XV0saW5jb2duaXRvX2NpcmNsZTpbWzAsMSwyNF1dLGtpZHNfcmVkX2xvZ286W1swLDIsMjRdXSxsb2dvOltbMCwyLDY3XV0sbG9nb193aXRoX3RleHQ6W1swLDMsMjBdXSxsb2dvX3dpdGhfdGV4dF9tb25vY2hyb21lOltbMCwxLDIwXV0sbXVzaWNfcmVkX2xvZ286W1swLDIsMjRdXSxwYXVzZV9jaXJjbGU6W1swLDEsMjRdXSxwYXVzZV9vdXRsaW5lZDpbWzAsCjEsMjRdXSxwaXZvdF9saWJyYXJ5OltbMCwxLDI0XV0scGxheV9jaXJjbGVfc2hvcnRzOltbMCwyLDI0XV0scGxheWVyX2F1dG9wbGF5X25leHQ6W1swLDIsMjRdXSxwcmVtaXVtOltbMCwyLDI0XV0scHJlbWl1bV9zdGFuZGFsb25lOltbMCwyLDI0XV0scHJlbWl1bV9zdGFuZGFsb25lX2NhaXJvOltbMCwxLDI0XV0scmluZ29fbG9nbzpbWzAsMiwyNF1dLHNjcmVlbl9saWdodDpbWzEsMSwyNF1dLCJzaG9ydHMtaGVhcnQiOltbMCwxLDI0XSxbMSwxLDI0XV0sInNob3J0cy1oZWFydC1ncmFkaWVudCI6W1swLDEsMjRdLFsxLDEsMjRdXSxzaG9ydHNfY29tbWVudDpbWzAsMSwzMl1dLHNob3J0c19zaGFyZTpbWzAsMSwzMl1dLHNob3J0c190ZXh0X2xvZ286W1swLDIsNzJdXSxzaG9ydHNfdGh1bWJzX2Rvd246W1swLDEsMzJdXSxzaG9ydHNfdGh1bWJzX3VwOltbMCwxLDMyXV0sc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxzcGFya19zZWFyY2g6W1swLDEsMjRdXSxzdWJkaXJlY3RvcnlfYXJyb3dfcmlnaHQ6W1sxLAoxLDI0XV0sdW5wbHVnZ2VkX3JlZF9sb2dvOltbMCwyLDI0XV0sdmlkZW9feW91dHViZTpbWzAsMSwyNF1dLHdhdGVybWFyazpbWzAsMiwxMTBdXSx5b3V0dWJlOltbMCwyLDI0XV0seW91dHViZV9jcmVhdGVfbG9nbzpbWzAsMSwyNF1dLHlvdXR1YmVfcHJlbWl1bV9sb2dvX3Nob3J0OltbMCwyLDIwXV0seW91dHViZV9wcmVtaXVtX2xvZ29fc2hvcnRfbW9ub2Nocm9tZTpbWzAsMSwyMF1dLHlvdXR1YmVfc2hvcnRzX2JyYW5kXzI0OltbMCwyLDI0XV0seW91dHViZV9zaG9ydHNfZmlsbF9ub190cmlhbmdsZV9yZWRfMTY6W1swLDEsMTZdXX07dmFyIHlaPW5ldyBNYXAoW1sicGxheV9jaXJjbGVfZmlsbGVkIiwiYXV0b25hdl9wbGF5X2NpcmNsZSJdLFsic2VhcmNoIiwic2VhcmNoX2NhaXJvIl0sWyJ0YWJfaG9tZSIsImhvbWVfY2Fpcm8iXSxbInRhYl9zaG9ydHMiLCJ5b3V0dWJlX3Nob3J0c19jYWlybyJdLFsiYWNjb3VudF9jaXJjbGUiLCJwZXJzb25fY2lyY2xlX2NhaXJvIl0sWyJwcmVtaXVtX3N0YW5kYWxvbmUiLCJwcmVtaXVtX3N0YW5kYWxvbmVfY2Fpcm8iXV0pLGFyYT1uZXcgU2V0KFsiYXVkaW9fYmFkZ2UiLCJwYXVzZSIsInBsYXlfYXJyb3ciXSksWVk9Y2xhc3MgZXh0ZW5kcyB2Wntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKTt0aGlzLm89YX1tZihhLGIpe3ZhciBjPXsuLi5hfTthLmljb25OYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2hvcnRzX3RodW1ic191cCImJl8ueCgiZW5hYmxlX3Nob3J0c19oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIikmJihjLmljb25OYW1lPV8ueCgidXNlX3doaXRlX2ZpbGxlZF9oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIik/CiJzaG9ydHMtaGVhcnQiOiJzaG9ydHMtaGVhcnQtZ3JhZGllbnQiKTthcmEuaGFzKGEuaWNvbk5hbWUpJiYoYy5pY29uU3R5bGU9InlvdXR1YmVfZmlsbCIpO3laLmhhcyhhLmljb25OYW1lKSYmIV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiYoYS5pY29uTmFtZT15Wi5nZXQoYS5pY29uTmFtZSkpO2EuaWNvbk5hbWU9PT0iYWNjb3VudF9saW5rZWQiJiYoYy5pY29uTmFtZT0iY2lyY2xlc19vdmVybGFwX2NoZWNrIixjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7YS5pY29uTmFtZT09PSJhY2NvdW50X3VubGlua2VkIiYmKGMuaWNvbk5hbWU9ImNpcmNsZXNfb3ZlcmxhcCIsYy5pY29uU3R5bGU9InlvdXR1YmVfb3V0bGluZSIpO18ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiYoYS5pY29uTmFtZT09PSJwbGF5bGlzdF9hZGQiJiYoYy5pY29uTmFtZT0iYm9va21hcmsiKSxhLmljb25OYW1lPT09ImNpcmNsZXNfb3ZlcmxhcF9jaGVjayJ8fGMuaWNvbk5hbWU9PT0iY2lyY2xlc19vdmVybGFwX2NoZWNrIikmJgooYy5pY29uTmFtZT0iYWNjb3VudF9saW5rIixjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7YT0oYT11WShjLmljb25OYW1lKSk/ey4uLmMsaWNvbk5hbWU6YX06YzthPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiZhLmljb25OYW1lPT09InlvdXR1YmUiP3ZvaWQgMDpyWSgkcWEsYSx0aGlzLm8/LmVKfHxtcWEsYik7cmV0dXJuIGE/YTpzdXBlci5tZihjLGIpfX07WVlbXy5Mbl09W18uSW4oXy5uTyldO3ZhciBycWE9Y2xhc3MgZXh0ZW5kcyBVcWF7aXNWaXNpYmxlKGEpe3ZhciBiPVByb21pc2UsYz1iLnJlc29sdmU7dmFyIGQ9Xy5vTSgpLmdldFN0YXRlKCkuZW5nYWdlbWVudFBhbmVsPy5xcztyZXR1cm4gYy5jYWxsKGIsYT09PWQpfX07dmFyIGJyYT1jbGFzcyBleHRlbmRzIGtae2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLm9ic2VydmVyPW5ldyBfLmZGKDAsYT0+e3RoaXMubG9nVmlzaWJpbGl0eShhKX0pfW9ic2VydmUoYSxiLGMpe2MuVmJ8fGMuc3RhdGUhPT0idmlzaWJsZSJ8fChjLlZiPSEwKTt2YXIgZD17ZWxlbWVudDphLG9wdGlvbjpjfTtpZighYy5WYnx8Yy5zdGF0ZSE9PSJ2aXNpYmxlIilyZXR1cm4gZDtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiIpcmV0dXJuIF8uV2koRXJyb3IoImhlYCIrdHlwZW9mIGIpKSxkO2EuX192aXNpYmlsaXR5Q2FsbGJhY2s9Yjt0aGlzLm9ic2VydmVyLm9ic2VydmUoYSk7cmV0dXJuIGR9bG9nVmlzaWJpbGl0eShhKXthLl9fdmlzaWJpbGl0eUNhbGxiYWNrJiZ0eXBlb2YgYS5fX3Zpc2liaWxpdHlDYWxsYmFjaz09PSJmdW5jdGlvbiImJmEuX192aXNpYmlsaXR5Q2FsbGJhY2soYSwidmlzaWJsZSIpfXJmKGEpe2RlbGV0ZSBhLmVsZW1lbnQuX192aXNpYmlsaXR5Q2FsbGJhY2s7CnRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKGEuZWxlbWVudCl9ZGlzcG9zZSgpe3RoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpfX07dmFyIG9xYT0iSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiaW4gd2luZG93P25ldyBNcWE6bmV3IGJyYTtfLnVQPV8uYlo7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIm1lSDlFYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkJQPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGMsZD0oKT0+e3ZhciBlPV8uTEIoITApO18uZ3YrKzt0cnl7Yz1fLmJDKGEoKSksXy5JQSghMSl9Y2F0Y2goZil7dGhyb3cgXy5JQSghMCksXy5VdShmLDQpO31maW5hbGx5e18uTEIoZSl9fTtiPWJ8fF8uWnQ/Xy51dihkLGIpOl8uaXcoZCk7cmV0dXJuW2MsYl19O18uS0I9Xy5sQzsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHppYSxBaWEsQmlhLEVpYSxDaWEsRGlhLEZpYTt6aWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWEoYSkmJmEubm9kZVR5cGU9PTE/YS5nZXRBdHRyaWJ1dGUoImpzbmFtZSIpPT09ImNvRlN4ZSI6ITF9O0FpYT1mdW5jdGlvbihhLGIpe2IuaWR8fChiLmlkPSJvdyIrXy5mdyhiKSk7YS5zZXRBdHRyaWJ1dGUoImpzb3duZXIiLGIuaWQpO2EuX19vd25lcj1iO3ZhciBjPV8uZ3coYix6aWEpO2MmJihfLkdDLmhhcyhjKXx8Xy5HQy5zZXQoYyxbXSksXy5HQy5nZXQoYykucHVzaChhKSk7KGM9Xy5GQy5nZXQoYikpfHxfLkZDLnNldChiLGM9W10pO2MuaW5jbHVkZXMoYSl8fGMucHVzaChhKTtiLnNldEF0dHJpYnV0ZSgiX19JU19PV05FUiIsITApfTtCaWE9ZnVuY3Rpb24oKXt2YXIgYT1fLkNBKDEpO2E9Xy5jdShhLF8uTEMpO2lmKCEoXy5idShhKXx8YVtfLk12XSYmIWEudm8pKXJldHVybiBhLnZhbHVlfTsKRWlhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5DQSgyKSxiPW5ldyBTZXQsYz0oKT0+e2IuZm9yRWFjaChkPT52b2lkIGQoKSk7Yi5jbGVhcigpfTtfLll1KGMpO3JldHVyblsoZCxlKT0+e3ZhciBmPV8uJHQoYSk7dHJ5e2xldCBoPUNpYShEaWEoZCksZSk7Yi5hZGQoaCk7cmV0dXJuKCk9PntoKCk7Yi5kZWxldGUoaCl9fWZpbmFsbHl7Xy4kdChmKX19LGNdfTtfLkNQPWZ1bmN0aW9uKHtjaGlsZHJlbjphLHJvb3Q6Yn0pe18ub0YoKCk9Pnt2YXIgW2NdPUVpYSgpO2M9YyhiLGEpO18uWXUoYyl9KTtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpfTtDaWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaWEoYSk7KGE9QmlhKCkpJiZBaWEoYyxhKTt2YXIgW2QsZV09Xy5CUChiLCEwKTtmb3IobGV0IGYgb2YgZCljLmFwcGVuZENoaWxkKGYpO18uVkIubG9nKGMpO3JldHVybigpPT57ZSgpO2MucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoYyl9fTsKRGlhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpe2E9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKTtpZighKDAsXy5wcikoYSkpdGhyb3cgRXJyb3IoInBgYCIrU3RyaW5nKGEpKTtyZXR1cm4gYX1pZihfLmpCKGEpKXJldHVybiBhO2lmKCFhLkNrJiYhYS5sdSl7dmFyIGI9YS5qdTtiPUVycm9yKCJVY2AiKyh0eXBlb2YgYj09PSJzeW1ib2wiP2IuZGVzY3JpcHRpb246YikpO2Eua3U9ITA7dGhyb3cgYjt9cmV0dXJuIGEudmFsdWV9O0ZpYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoYS5uYW1lc3BhY2VVUkksYS5uYW1lc3BhY2VVUkk9PT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPyJnIjoiZGl2Iik7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkRQPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5DQSgpLGQ9ZT0+e18ub0goYywoKT0+e2IoZSl9KX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYSxkLHZvaWQgMCk7Xy5ZdSgoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGEsZCx2b2lkIDApfSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSWlhLEhQLEZQLEdQLEtpYSxNaWEsTGlhLExQO0lpYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInN0cmluZ0VudGl0eSIsYil9OwpIUD1mdW5jdGlvbihhLGIsYyl7aWYoYSl7dmFyIGQ9YS5saWtlU3RhdHVzO3JldHVybiBiP3tzdHlsZTp7c3R5bGVUeXBlOiJTVFlMRV9URVhUIn0sdG9nZ2xlZFN0eWxlOntzdHlsZVR5cGU6IlNUWUxFX0RFRkFVTFRfQUNUSVZFIn0saXNUb2dnbGVkOmQ9PT0iTElLRSIsaXNEaXNhYmxlZDohYS5saWtlc0FsbG93ZWQsZGVmYXVsdEljb246e2ljb25UeXBlOmN9LGRlZmF1bHRUZXh0OmQ9PT0iTElLRSI/YS5saWtlQ291bnRXaXRoVW5saWtlVGV4dDphLmxpa2VDb3VudFRleHQsdG9nZ2xlZFRleHQ6ZD09PSJMSUtFIj9hLmxpa2VDb3VudFRleHQ6YS5saWtlQ291bnRXaXRoTGlrZVRleHQsZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludDpGUChhLCJMSUtFIiksZGVmYXVsdFNlcnZpY2VFbmRwb2ludDpHUChhLCJMSUtFIiksdG9nZ2xlZFNlcnZpY2VFbmRwb2ludDpHUChhLCJJTkRJRkZFUkVOVCIpLGRlZmF1bHRUb29sdGlwOl8uYU4oYS5saWtlQ291bnRUb29sdGlwVGV4dCksdG9nZ2xlZFRvb2x0aXA6Xy5hTihhLmxpa2VDb3VudFRvb2x0aXBUZXh0KSwKdGFyZ2V0SWQ6YS50YXJnZXRJZH06e3N0eWxlOntzdHlsZVR5cGU6IlNUWUxFX1RFWFQifSx0b2dnbGVkU3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfREVGQVVMVF9BQ1RJVkUifSxpc1RvZ2dsZWQ6ZD09PSJESVNMSUtFIixpc0Rpc2FibGVkOiFhLmxpa2VzQWxsb3dlZCxkZWZhdWx0SWNvbjp7aWNvblR5cGU6Y30sZGVmYXVsdFRleHQ6ZD09PSJESVNMSUtFIj9hLmRpc2xpa2VDb3VudFdpdGhVbmRpc2xpa2VUZXh0OmEuZGlzbGlrZUNvdW50VGV4dCx0b2dnbGVkVGV4dDpkPT09IkRJU0xJS0UiP2EuZGlzbGlrZUNvdW50VGV4dDphLmRpc2xpa2VDb3VudFdpdGhEaXNsaWtlVGV4dCxkZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50OkZQKGEsIkRJU0xJS0UiKSxkZWZhdWx0U2VydmljZUVuZHBvaW50OkdQKGEsIkRJU0xJS0UiKSx0b2dnbGVkU2VydmljZUVuZHBvaW50OkdQKGEsIklORElGRkVSRU5UIiksZGVmYXVsdFRvb2x0aXA6Xy5hTihhLmRpc2xpa2VDb3VudFRvb2x0aXBUZXh0KSx0b2dnbGVkVG9vbHRpcDpfLmFOKGEuZGlzbGlrZUNvdW50VG9vbHRpcFRleHQpfX19OwpGUD1mdW5jdGlvbihhLGIpe2lmKGI9PT0iTElLRSIpcmV0dXJuIGEubGlrZUNvbW1hbmQ7aWYoYj09PSJESVNMSUtFIilyZXR1cm4gYS5kaXNsaWtlTmF2aWdhdGlvbkVuZHBvaW50fTtHUD1mdW5jdGlvbihhLGIpe3JldHVybiBhLnNlcnZpY2VFbmRwb2ludHM/LmZpbmQoYz0+Xy5CKGMsXy5kTyk/LnN0YXR1cz09PWIpfTtfLklQPWZ1bmN0aW9uKGEpe3JldHVybntjb250ZW50OmF9fTsKXy5KUD1mdW5jdGlvbihhLGIsYyl7Yj1jfHwoYj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg/PzApKkppYTthPWEudGh1bWJuYWlscztpZighYSlyZXR1cm4iIjtjPTA7dmFyIGQ9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsZT0wLGY9LU51bWJlci5NQVhfU0FGRV9JTlRFR0VSO2ZvcihsZXQgaz0wO2s8YS5sZW5ndGg7aysrKXtsZXQgbD1hW2tdLndpZHRoLWI7bD49MCYmbDw9ZD8oYz1rLGQ9bCk6bDwwJiZsPmYmJihlPWssZj1sKX12YXIgaD1bXTthLmZvckVhY2goaz0+e2gucHVzaChrLnVybCl9KTtyZXR1cm4gZDwxMDB8fGQ8LWY/YVtjXS51cmw6YVtlXS51cmx9O0tpYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoYj0+e18uT0UoKCk9PntiKGEpfSl9KX07TWlhPWZ1bmN0aW9uKGEpe2E9YS5tYXAoTGlhKTtyZXR1cm4gXy5JZihhKS50aGVuKEtpYSl9OwpMaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcGxldGU/Xy5LeSgibG9hZCIpOm5ldyBfLkJmKGI9PntmdW5jdGlvbiBjKGQpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsYyk7YihkLnR5cGUpfWEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYyl9KX07TFA9ZnVuY3Rpb24oYSl7S1B8fE1pYShbYV0pLnRoZW4oKCk9PntpZighS1Ape3ZhciBiPSgwLF8uZWwpKCk7Xy5BcSgiZnRsIixiLHZvaWQgMCk7S1A9ITB9fSl9O18uTVA9bmV3IF8uSSgic3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWwiKTtfLk5QPV8uTCgoKT0+e3ZhciBhPV8udygiUExBWUVSX1ZBUlMiKSxiPWEudXNlcl9kaXNwbGF5X25hbWUsYz1hLnVzZXJfZGlzcGxheV9pbWFnZSxkPWEudXNlcl9kaXNwbGF5X2NoYW5uZWxfaGFuZGxlLGU9ZCYmXy5JUChkKSxmPSgpPT5fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKGIpLGxlYWRpbmdBY2Nlc3Nvcnk6e2F2YXRhclZpZXdNb2RlbDp7aW1hZ2U6e3NvdXJjZXM6W3t1cmw6Y31dfX19LHN1YnRpdGxlOmV9fSxfLlpDKTtyZXR1cm4gXy5LKCJhY2NvdW50LWluZm8tbWVudS1pdGVtIix7Y2xhc3M6ImFjY291bnRJbmZvSG9zdCJ9LF8uSyhfLkNELHtkYXRhOmYsSWE6ITAsb25UYXA6KCk9PntkJiZfLkFKKF8ud04oYEAke2R9YCksZigpLCExKX19KSl9LCJ6YiIpO18uTlAuaWRvbUNvbXBhdD0hMDt2YXIge01nOk5pYX09Xy56RyhhPT5hLnRhcmdldD8udmlkZW9JZCk7dmFyIE9QPV8uTChhPT57dmFyIHtkYXRhOmIsYnV0dG9uT3ZlcnJpZGVzOmN9PV8uREMoYSx7YnV0dG9uT3ZlcnJpZGVzOnt9fSksW2QsZV09TmlhKGIpLGY9KCk9PkhQKGQoKSwhMCwiU0hPUlRTX0xJS0UiKSxoPSgpPT5IUChkKCksITEsIlNIT1JUU19ESVNMSUtFIiksaz0obCxtKT0+e20uc3RvcFByb3BhZ2F0aW9uKCk7Zm9yKGxldCBuIG9mIGwpKGw9Xy5CKG4sXy5kTykpJiZkJiZlKHsuLi5kKCksbGlrZVN0YXR1czpsLnN0YXR1c30pfTtyZXR1cm4gXy5LKCJ5dG0tbGlrZS1idXR0b24tcmVuZGVyZXIiLG51bGwsXy5LKF8uTyx7QTooKT0+ZCgpLmxpa2VTdGF0dXMmJiEhZigpJiYhIWgoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLnFPLHtkYXRhOmYsYnV0dG9uT3ZlcnJpZGVzOigpPT4oe3R5cGU6ZCgpLmxpa2VTdGF0dXM9PT0iTElLRSI/ImZpbGxlZCI6InRvbmFsIiwuLi5jKCl9KSxSazprfSksXy5LKF8uTyx7QTooKT0+IWQoKS5oaWRlRGlzbGlrZUJ1dHRvbix0aGVuOigpPT4KXy5LKF8ucU8se2RhdGE6aCxidXR0b25PdmVycmlkZXM6KCk9Pih7dHlwZTpkKCkubGlrZVN0YXR1cz09PSJESVNMSUtFIj8iZmlsbGVkIjoidG9uYWwiLC4uLmMoKX0pLFJrOmt9KX0pKX0pKX0sIkFiIik7T1AuaWRvbUNvbXBhdD0hMDt2YXIgUFA9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXRtLW1lbnUtbmF2aWdhdGlvbi1pdGVtLXJlbmRlcmVyIixudWxsLF8uSyhfLndPLHtvbmNsaWNrOmI9Pnt2YXIgYz1hKCk7Xy54TigpJiZfLnpOKCk7Xy5BSihjLm5hdmlnYXRpb25FbmRwb2ludCxjLCExKTtfLkIoYy5uYXZpZ2F0aW9uRW5kcG9pbnQ/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8uaWdub3JlTmF2aWdhdGlvbnx8Yi5zdG9wUHJvcGFnYXRpb24oKX0scm9sZTooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCYmXy5CKGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5WRCk/ImxpbmsiOnZvaWQgMH0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGV4dH0pKSksIkJiIik7UFAuaWRvbUNvbXBhdD0hMDt2YXIgUVA9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLm1HKCk7cmV0dXJuIF8uSygieXRtLW1lbnUtc2VydmljZS1pdGVtLXJlbmRlcmVyIixudWxsLF8uSyhfLndPLHtvbmNsaWNrOigpPT57dmFyIGM9YSgpLGQ9Yy5zZXJ2aWNlRW5kcG9pbnQsZT1jLmNvbW1hbmQ7ZCYmXy5BSihkLGMsITAse0JkOmJ9KTtlJiZfLkFKKGUsYywhMCx7QmQ6Yn0pfX0sXy5LKF8uTyx7QTooKT0+YSgpLmljb24/Lmljb25UeXBlLHRoZW46KCk9Pl8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGV9KX0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGV4dCxtYTohMH0pKSl9LCJDYiIpO1FQLmlkb21Db21wYXQ9ITA7dmFyIFJQPV8uTCgoe2RhdGE6YSxCZDpifSk9Pnt2YXIgYz1fLkRJKElpYSwoKT0+YSgpPy50b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHlLZXl8fCIiKSxkPSgpPT5hKCk/LnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleT8hIWMoKT8udmFsdWU6YSgpPy5pc1RvZ2dsZWQsZT0oKT0+YygpP3tydW5zOlt7dGV4dDpjKCk/LnZhbHVlfHwiIn1dfTphKCk/LnRvZ2dsZWRTZWNvbmRhcnlUZXh0O3JldHVybiBfLksoInl0bS10b2dnbGUtbWVudS1zZXJ2aWNlLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6KCk9Pnt2YXIgZj1hKCksaD1iPy4oKSxrPWYuaXNUb2dnbGVkP2YudG9nZ2xlZFNlcnZpY2VFbmRwb2ludDpmLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQ7ayYmKF8uQUooayxmLCEwLHtCZDpofSksZi50b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHlLZXl8fChmLmlzVG9nZ2xlZD0hZi5pc1RvZ2dsZWQpKX19LF8uSyhfLk1ELHtpY29uOigpPT5kKCk/YSgpLnRvZ2dsZWRJY29uPy5pY29uVHlwZT8udG9TdHJpbmcoKToKYSgpLmRlZmF1bHRJY29uPy5pY29uVHlwZT8udG9TdHJpbmcoKSxhY3RpdmU6ZH0pLF8uSyhfLklKLHtkYXRhOigpPT5kKCk/YSgpLnRvZ2dsZWRUZXh0OmEoKS5kZWZhdWx0VGV4dH0pLF8uSyhfLk8se0E6KCk9PmEoKS5kZWZhdWx0U2Vjb25kYXJ5VGV4dHx8ZSgpLHRoZW46KCk9Pl8uSyhfLklKLHtkYXRhOigpPT5kKCk/ZSgpOmEoKS5kZWZhdWx0U2Vjb25kYXJ5VGV4dH0pfSkpKX0sIkRiIik7UlAuaWRvbUNvbXBhdD0hMDt2YXIgT2lhOwpfLlNQPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixUZDpjLEVoOmQsRmg6ZSxkZjpmLEhhOmgsdW46ayxzdG9wUHJvcGFnYXRpb246bCxwcmV2ZW50RGVmYXVsdDptLGxiOm4sYnV0dG9uT3ZlcnJpZGVzOnB9KT0+Xy5LKCJ5dG0tbWVudS1yZW5kZXJlciIse2NsYXNzOmJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50b3BMZXZlbEJ1dHRvbnN9LHtidXR0b25SZW5kZXJlcjpfLnBPLG1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOl8ucU8sdG9nZ2xlTWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UlAsbGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ucEwse2RhdGE6cixJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmZKLHtkYXRhOnJ9KSxtZW51TmF2aWdhdGlvbkl0ZW1SZW5kZXJlcjpQUCxsaWtlQnV0dG9uUmVuZGVyZXI6T1B9KSxfLksoT2lhLHtkYXRhOmEsVGQ6YyxFaDpkLEZoOmUsZGY6ZiwKSGE6aCx1bjprLHN0b3BQcm9wYWdhdGlvbjpsLHByZXZlbnREZWZhdWx0Om0sbGI6bixidXR0b25PdmVycmlkZXM6cH0se21lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLHRvZ2dsZU1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlJQLGxpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLnBMLHtkYXRhOnIsSWE6ITB9KSxzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5mSix7ZGF0YTpyfSksbGlrZUJ1dHRvblJlbmRlcmVyOk9QLGJ1dHRvblJlbmRlcmVyOl8ucE8sYWNjb3VudEluZm9NZW51SXRlbTpfLk5QfSkpLCJFYiIpO18uU1AuaWRvbUNvbXBhdD0hMDsKT2lhPV8uTCgoe2RhdGE6YSxjaGlsZHJlbjpiLC4uLmN9KT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+KCFhKCkuaXRlbXN8fCFhKCkuaXRlbXMubGVuZ3RoKSYmIShhKCkuaXNEaXNhYmxlZCYmYSgpLmRpc2FibGVkQ29tbWFuZCl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+Yy51bj8uKCl9LCgpPT5fLksoXy5NaGEse2ljb25UeXBlOigpPT5jLkVoPy4oKT8/Ik1PUkVfVkVSVCIsbGFiZWw6KCk9Pl8uV0woXy5ESihhKCkuYWNjZXNzaWJpbGl0eSk/PyIiKSxhcmlhTGFiZWw6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHkpfHwiIixjYW5jZWxCdXR0b25MYWJlbDpfLiROLkNBTkNFTCxUZDooKT0+Yy5UZD8uKCksZGY6KCk9PmMuZGY/LigpLEhhOigpPT5jLkhhPy4oKSxzdG9wUHJvcGFnYXRpb246KCk9PmMuc3RvcFByb3BhZ2F0aW9uPy4oKSxwcmV2ZW50RGVmYXVsdDooKT0+Yy5wcmV2ZW50RGVmYXVsdD8uKCksYnV0dG9uT3ZlcnJpZGVzOigpPT5jLmJ1dHRvbk92ZXJyaWRlcz8uKCksCmlzRGlzYWJsZWQ6KCk9PmEoKS5pc0Rpc2FibGVkLGRpc2FibGVkQ29tbWFuZDooKT0+YSgpLmRpc2FibGVkQ29tbWFuZH0sKCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5pdGVtc30sYikpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy56Tyx7aWNvblR5cGU6KCk9PmMuRWg/LigpPz8iTU9SRV9WRVJUIixsYWJlbDooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eSl8fCIiLGNhbmNlbEJ1dHRvbkxhYmVsOl8uJE4uQ0FOQ0VMLFRkOigpPT5jLlRkPy4oKSxGaDooKT0+Yy5GaD8uKCksZGY6KCk9PmMuZGY/LigpLEhhOigpPT5jLkhhPy4oKSxzdG9wUHJvcGFnYXRpb246KCk9PmMuc3RvcFByb3BhZ2F0aW9uPy4oKSxwcmV2ZW50RGVmYXVsdDooKT0+Yy5wcmV2ZW50RGVmYXVsdD8uKCksbGI6KCk9PmMubGI/LigpLGJ1dHRvbk92ZXJyaWRlczooKT0+Yy5idXR0b25PdmVycmlkZXM/LigpLGlzRGlzYWJsZWQ6KCk9PmEoKS5pc0Rpc2FibGVkLGRpc2FibGVkQ29tbWFuZDooKT0+YSgpLmRpc2FibGVkQ29tbWFuZH0sCigpPT5fLksoXy5XLHtkYXRhOigpPT5hKCkuaXRlbXN9LGIpKSkpLCJGYiIpO18uVFA9Xy5MKGE9Pl8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLml0ZW1zPy5sZW5ndGh8fGEuZGF0YSgpLmlzRGlzYWJsZWQmJmEuZGF0YSgpLmRpc2FibGVkQ29tbWFuZCx0aGVuOigpPT5fLksoUGlhLHsuLi5hfSl9KSwiR2IiKTtfLlRQLmlkb21Db21wYXQ9ITA7CnZhciBQaWE9Xy5MKGE9Pnt2YXIge2RhdGE6YixjbGFzc05hbWU6YyxFaDpkLHNob3dJY29uOmUsYnV0dG9uU2l6ZTpmLGJ1dHRvbk92ZXJyaWRlczpofT1fLkRDKGEse3Nob3dJY29uOiExLGJ1dHRvbk92ZXJyaWRlczp7fSxidXR0b25TaXplOiJMIixFaDoiTU9SRV9WRVJUIn0pLGs9Xy5adDtyZXR1cm4gXy5LKCJ5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyIix7Y2xhc3M6Y30sXy5LKF8uSksse2RhdGE6KCk9Pnt2YXIgbD17R2I6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1zaGVldC1tZWRpYS1tZW51LWl0ZW0ifSxfLksoXy5XLHtkYXRhOigpPT5iKCkuaXRlbXN9LHttZW51U2VydmljZUl0ZW1SZW5kZXJlcjpRUCxtZW51TmF2aWdhdGlvbkl0ZW1SZW5kZXJlcjpQUCx0b2dnbGVNZW51U2VydmljZUl0ZW1SZW5kZXJlcjpSUCxsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoXy5wTCx7ZGF0YTptLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOm19KT0+Cl8uSyhfLmZKLHtkYXRhOm19KSxsaWtlQnV0dG9uUmVuZGVyZXI6T1AsYnV0dG9uUmVuZGVyZXI6Xy5wTyxhY2NvdW50SW5mb01lbnVJdGVtOl8uTlB9KSksSGE6ZSgpLGlzRGlzYWJsZWQ6YigpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOmIoKS5kaXNhYmxlZENvbW1hbmR9O3JldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZTpmKCksaWNvblBvc2l0aW9uOiJpY29uLW9ubHkiLGFjY2Vzc2liaWxpdHlMYWJlbDpfLkRKKGIoKT8uYWNjZXNzaWJpbGl0eSl8fCIiLG9uVGFwOm09Pnt2YXIgbj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7Xy54SihfLmh4KCkse2RhdGE6YigpfSksbC5mb2N1c09uQ2xvc2U9bS5jdXJyZW50VGFyZ2V0LF8uV00oKSYmbS5zdG9wUHJvcGFnYXRpb24oKSxfLlZ6KG4sXy52TShrKSksXy55TihsKX1jYXRjaChwKXtuLmVycm9yPXAsbi5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3oobil9fSwKLi4uaCgpfX0saWNvbk5hbWU6KCk9PmQoKX0pKX0sIkhiIik7dmFyIEppYT1fLnUuZGV2aWNlUGl4ZWxSYXRpb3x8Mjt2YXIgS1A9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIiwoKT0+e0tQPSExfSk7Cl8uVVA9Xy5MKGE9Pnt2YXIge3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6YyxhbHQ6ZCxhcmlhTGFiZWw6ZSxNZDpmLFRiOmgsaGM6ayxhcmlhSGlkZGVuOmwsWWE6bSxUYTpufT1fLkRDKGEse1RiOiEwLHRodW1ibmFpbERldGFpbHM6dm9pZCAwLGNsYXNzTmFtZTp2b2lkIDAsYWx0OnZvaWQgMCxhcmlhTGFiZWw6dm9pZCAwLE1kOnZvaWQgMCxoYzp2b2lkIDAsYXJpYUhpZGRlbjp2b2lkIDAsWWE6dm9pZCAwLFRhOnZvaWQgMH0pLHA9Xy52RSgiaW1nIiksW3IsdF09Xy5BQyhiKTtfLlVKKCgpPT57dmFyIHY9ey4uLmIoKX07dCh2KX0pO18ubkUoKCk9PntpZihwLnZhbHVlKXtsZXQgdj1wLnZhbHVlO0xQKHYpO2xldCB6PWIoKTt6JiYodi5zcmM9Xy5KUCh6LHYsZigpKSl9fSwibjdrYzRjIik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmIoKSYmKGQoKXx8ZSgpfHxjKCl8fGsoKXx8bCgpKSx0aGVuOigpPT5fLksoXy5qRix7ZGF0YTooKT0+cigpLGNsYXNzTmFtZTpjLGFsdDooKT0+CmQoKXx8ZSgpfHwiIixjb250ZW50TW9kZToiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSUxMIixoYzprLGFyaWFIaWRkZW46bCxjYWxsYmFjazpMUCxUYjpoLFlhOm0sVGE6bn0pLFc6KCk9Pl8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoXy5oRix7ZGF0YTpiLGNvbmZpZzooKT0+KHtjbGFzc05hbWU6YygpLGFsdDpkKCl8fGUoKXx8IiIsaGM6aygpLGFyaWFIaWRkZW46bCgpLFlhOm0oKSxUYTpuKCl9KSxHbDp7U2c6KHYseik9PntMUCh6KTtyZXR1cm4gdj9fLkpQKHYseixmKCkpOiIifX0sbGF6eTohMH0pLFc6KCk9Pl8uSygiaW1nIix7ZWw6cCxhbHQ6ZCwiYXJpYS1sYWJlbCI6ZSxjbGFzczpjLCJkYXRhLWRpc2FibGVkIjprLCJhcmlhLWhpZGRlbiI6bH0pfSl9KX0sIktiIik7Xy5VUC5pZG9tQ29tcGF0PSEwO18uVlA9Xy5MKGE9Pl8uSygieXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyIix7Y2xhc3M6YS5jbGFzc05hbWUsInRodW1ibmFpbC1zaXplIjphLnRodW1ibmFpbFNpemUsImRhdGEtc3R5bGUiOigpPT5hLmRhdGE/LigpLnN0eWxlLCJhcmlhLWhpZGRlbiI6YS5hcmlhSGlkZGVuLCJkYXRhLXR5cGUiOigpPT5hLmRhdGE/LigpLnR5cGU/LnJlcGxhY2UoIlRIVU1CTkFJTF9PVkVSTEFZX1RJTUVfU1RBVFVTX1RZUEVfIiwiIil9LF8uSyhfLlRDLHtkYXRhOigpPT4oe3R5cGU6YS5kYXRhKCkuc3R5bGU9PT0iTElWRSI/MTk6MTgsdGV4dDpfLkNKKGEuZGF0YSgpLnRleHQpLGljb246YS5kYXRhKCkuaWNvbj8uaWNvblR5cGV8fGEuZGF0YSgpLnl0SWNvbixxTDphLmRhdGEoKS5zdHlsZT09PSJTSE9SVFMifSl9KSksIkxiIik7dmFyIFFpYTtfLldQPV8uTChhPT57dmFyIHtkZXRhaWxzOmIsb3ZlcmxheTpjLFRiOmQsaGo6ZSxNZDpmfT1fLkRDKGEse2RldGFpbHM6dm9pZCAwLFRiOiEwLGhqOiExfSksaD1fLlAoInZpZGVvLXRodW1ibmFpbC1pbWciLHsiY3VzdG9tLXRodW1ibmFpbCI6ZX0pO3JldHVybiBfLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ2aWRlby10aHVtYm5haWwtaW1nIiwidmlkZW8tdGh1bWJuYWlsLWJnIil9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKFFpYSx7ZGV0YWlsczpiLGNsYXNzTmFtZTpoLFRiOmQsTWQ6Zn0pfSksXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6aCxUYjpkLE1kOmYsYWx0OiIifSksXy5LKCJkaXYiLHtjbGFzczoidmlkZW8tcHJldmlldy1zaGltIn0pLGM/LigpKX0sIk1iIik7ClFpYT1fLkwoKHtkZXRhaWxzOmEsY2xhc3NOYW1lOmIsVGI6YyxNZDpkfSk9Pl8uSygiZGl2Iix7Y2xhc3M6ImN1c3RvbS10aHVtYm5haWwtYmFja2dyb3VuZC1jb250YWluZXIiLHN0eWxlOigpPT57aWYoYT8uKCkuc2FtcGxlZFRodW1ibmFpbENvbG9yKXt2YXIge3JlZDplLGdyZWVuOmYsYmx1ZTpofT1hKCkuc2FtcGxlZFRodW1ibmFpbENvbG9yO3JldHVybmBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR7ZX0sJHtmfSwke2h9LDEpO2B9fX0sXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YSxjbGFzc05hbWU6YixhbHQ6IiIsTWQ6ZCxUYjpjfSkpLCJOYiIpO18uWFA9Xy5MKGE9Pnt2YXIge3RodW1ibmFpbERldGFpbHM6YixvdmVybGF5OmMsTWQ6ZCxjbGFzc05hbWU6ZSxUYjpmLGhqOmgsaG06a309Xy5EQyhhLHtUYjohMCxoajohMSx0aHVtYm5haWxEZXRhaWxzOnZvaWQgMH0pO3JldHVybiBfLksoInl0bS1jb21wYWN0LXRodW1ibmFpbCIse2NsYXNzOl8uUCgidmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0IiwidmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LXJvdW5kZWQiLGUseyJvcmlnaW5hbC1hc3BlY3QtcmF0aW8iOigpPT5iKCk/LmlzT3JpZ2luYWxBc3BlY3RSYXRpbyxzdGFja2VkOmt9KX0sXy5LKF8uV1Ase2RldGFpbHM6YixvdmVybGF5OmMsTWQ6ZCxUYjpmLGhqOmh9KSl9LCJPYiIpO18uWFAuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvdmVybGF5OiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWlA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLlRqfTtfLiRQPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy54an07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwZXZ0dmMiKTtyZXR1cm4gXy5yRH07Xy5jUT1fLmNEKCgpPT5fLmJRKCksImRpc2xpa2VCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZGlzbGlrZUJ1dHRvblZpZXdNb2RlbCIsInBldnR2YyIsXy5iUSl9KTtfLmRRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiaXpqbVAiKTtyZXR1cm4gXy5xRH07Xy5lUT1fLmNEKCgpPT5fLmRRKCksImxpa2VCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlrZUJ1dHRvblZpZXdNb2RlbCIsIml6am1QIixfLmRRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmZRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiQVQ4TFRlIik7cmV0dXJuIF8ucER9O18uZ1E9Xy5jRCgoKT0+Xy5mUSgpLCJvdmVybGF5UHJvZHVjdFN0aWNrZXIiKTtfLll0KF8uSkQsYT0+e2EuSigib3ZlcmxheVByb2R1Y3RTdGlja2VyIiwiQVQ4TFRlIixfLmZRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU2lhO18uaFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJYZVJYQmQiKTtyZXR1cm4gXy5jRn07U2lhPV8uY0QoKCk9Pl8uaFEoKSwicmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWwiLCJYZVJYQmQiLF8uaFEpfSk7Xy5pUT1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmJ9KT0+e3ZhciBjPV8udUUoInBpdm90LWJ1dHRvbi12aWV3LW1vZGVsIik7Xy5VSigoKT0+e2EoKT8uYmFja2dyb3VuZENvbG9yJiZjLnZhbHVlLnNldEF0dHJpYnV0ZSgiZGF0YS1iYWNrZ3JvdW5kLWNvbG9yIixTdHJpbmcoYSgpLmJhY2tncm91bmRDb2xvcikpfSk7cmV0dXJuIF8uSygicGl2b3QtYnV0dG9uLXZpZXctbW9kZWwiLHtlbDpjLGNsYXNzOl8uUCgieXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0IixiKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9Pnt2YXIgZD1hKCk7ZD1kLm9uQ2xpY2tDb21tYW5kP18uUkQoZC5vbkNsaWNrQ29tbWFuZCk6ZC5jb250ZW50RGVzY3JpcHRpb24/Xy5hUShfLldMKGQuY29udGVudERlc2NyaXB0aW9uKSk6dm9pZCAwO3JldHVybiBkfSxhcmlhTGFiZWw6KCk9PmEoKS5jb250ZW50RGVzY3JpcHRpb259LF8uSyhfLk8se0E6KCk9PmEoKS50aHVtYm5haWwsdGhlbjpkPT5fLksoXy5qRix7ZGF0YTpkLAphbHQ6IiIsY2xhc3NOYW1lOiJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJbWFnZSJ9KSxXOigpPT5fLksoXy5PLHtBOigpPT5hKCkuaWNvbix0aGVuOmQ9Pl8uSyhfLk1ELHtpY29uOigpPT5kKCkuaWNvblR5cGUsY2xhc3NOYW1lOiJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJY29uIn0pfSl9KSkpfSwiU2IiKTtfLmpRPV8uTCgoe2RhdGE6YSxBZjpifSk9Pnt2YXIgYz0oKT0+Inl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlQWN0aW9uQnV0dG9uIjtyZXR1cm4gXy5LKCJyZWVsLWFjdGlvbi1iYXItdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QiLHt5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZTooKT0+ITAseXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wOigpPT4hMX0pfSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uVmlld01vZGVsc30se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5VRix7Y2xhc3NOYW1lOmMsZGF0YTpkLGJ1dHRvbk92ZXJyaWRlczpifSksbGlrZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5lUSx7Y2xhc3NOYW1lOmMsZGF0YTpkLEFmOmJ9KSxkaXNsaWtlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLmNRLHtjbGFzc05hbWU6YywKZGF0YTpkLEFmOmJ9KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uWkYse2NsYXNzTmFtZTpjLGRhdGE6ZCx3aTpifSkscGl2b3RCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uaVEse2NsYXNzTmFtZTpjLGRhdGE6ZH0pfSkpfSwiVGIiKTt2YXIgVGlhO18ua1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJzNjQ5aiIpO3JldHVybiBfLm1IfTtUaWE9Xy5jRCgoKT0+Xy5rUSgpLCJwbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInBsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWwiLCJzNjQ5aiIsXy5rUSl9KTt2YXIgVWlhO18ubFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ1U3hkbmIiKTtyZXR1cm4gXy5mSH07VWlhPV8uY0QoKCk9Pl8ubFEoKSwicmVlbENhcm91c2VsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInJlZWxDYXJvdXNlbFZpZXdNb2RlbCIsInVTeGRuYiIsXy5sUSl9KTt2YXIgVmlhO18ubVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJXZmY2QmQiKTtyZXR1cm4gXy5lSH07VmlhPV8uY0QoKCk9Pl8ubVEoKSwicmVlbENoYW5uZWxCYXJWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbENoYW5uZWxCYXJWaWV3TW9kZWwiLCJXZmY2QmQiLF8ubVEpfSk7dmFyIFdpYTtfLm5RPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVTNtenNkIik7cmV0dXJuIF8ubEh9O1dpYT1fLmNEKCgpPT5fLm5RKCksInJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbCIsIlUzbXpzZCIsXy5uUSl9KTt2YXIgWGlhO18ub1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ5UDBKQmQiKTtyZXR1cm4gXy5iRn07WGlhPV8uY0QoKCk9Pl8ub1EoKSwic2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigic2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWwiLCJ5UDBKQmQiLF8ub1EpfSk7dmFyIFlpYTtfLnBRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiUnFhSnNkIik7cmV0dXJuIF8uWEp9O1lpYT1fLmNEKCgpPT5fLnBRKCksInNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWwiLCJScWFKc2QiLF8ucFEpfSk7dmFyIFppYTtfLnFRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRTNIZWJjIik7cmV0dXJuIF8uYUZ9O1ppYT1fLmNEKCgpPT5fLnFRKCksInNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigic2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbCIsIkUzSGViYyIsXy5xUSl9KTtfLnJRPV8uTCgoe2RhdGE6YX0pPT5fLksoInl0LXJlZWwtbWV0YXBhbmVsLXZpZXctbW9kZWwiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdCJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZXRhZGF0YUl0ZW1zfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhfLmFHLHtkYXRhOmJ9KSkscGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFRpYSx7ZGF0YTpifSkpLHByb2R1Y3RTdGlja2VyVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoXy5nUSx7ZGF0YTooKT0+YigpLnN0aWNrZXJ9KSkscmVlbENhcm91c2VsVmlld01vZGVsOih7ZGF0YTpifSk9PgpfLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFVpYSx7ZGF0YTpifSkpLHJlZWxDaGFubmVsQmFyVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVmlhLHtkYXRhOmJ9KSkscmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFdpYSx7ZGF0YTpifSkpLHJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoU2lhLHtkYXRhOmJ9KSksc2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LApfLksoWGlhLHtkYXRhOmJ9KSksc2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoWWlhLHtkYXRhOmJ9KSksc2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFppYSx7ZGF0YTpifSkpLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKF8uWkYse2RhdGE6Yn0pKX0pKSwiVWIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5zUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImZLRThxZCIpO3JldHVybiBfLm9EfTtfLiRpYT1fLmNEKCgpPT5fLnNRKCksImRpYWxvZ1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkaWFsb2dWaWV3TW9kZWwiLCJmS0U4cWQiLF8uc1EpfSk7Xy50UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlJaZWtKIik7cmV0dXJuIF8uU0N9O18uYWphPV8uY0QoKCk9Pl8udFEoKSwic21hcnRpbWF0aW9ucyIpO18uWXQoXy5KRCxhPT57YS5KKCJzbWFydGltYXRpb25zIiwiUlpla0oiLF8udFEpfSk7Xy51UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInNET1RHZSIpO3JldHVybiBfLm5EfTtfLmJqYT1fLmNEKCgpPT5fLnVRKCksInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIiwic0RPVEdlIixfLnVRKX0pO18udlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJlY3VQQWMiKTtyZXR1cm4gXy5tRH07Xy5jamE9Xy5jRCgoKT0+Xy52USgpLCJwbGF5ZXJPdmVybGF5SW50ZXJhY3Rpb24iKTtfLll0KF8uSkQsYT0+e2EuSigicGxheWVyT3ZlcmxheUludGVyYWN0aW9uIiwiZWN1UEFjIixfLnZRKX0pO18ud1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGUWRJSmUiKTtyZXR1cm4gXy5sRH07Xy5kamE9Xy5jRCgoKT0+Xy53USgpLCJzdGlja2Vyc0xheWVyIik7Xy5ZdChfLkpELGE9PnthLkooInN0aWNrZXJzTGF5ZXIiLCJGUWRJSmUiLF8ud1EpfSk7Xy54UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm43ZW8yIik7cmV0dXJuIF8ua0R9O18uZWphPV8uY0QoKCk9Pl8ueFEoKSwiaW50ZXJzdGl0aWFsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImludGVyc3RpdGlhbFZpZXdNb2RlbCIsIm43ZW8yIixfLnhRKX0pO18ueVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJOdWlsdWUiKTtyZXR1cm4gXy5qRH07Xy5mamE9Xy5jRCgoKT0+Xy55USgpLCJ2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIiKTtfLll0KF8uSkQsYT0+e2EuSigidmlkZW9XaXRoQ29udGV4dFJlbmRlcmVyIiwiTnVpbHVlIixfLnlRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFRPV8uTCgoe09vOmEsUnA6YixjaGlsZHJlbjpjLFBuOmQsZGlzYWJsZUFuaW1hdGlvbjplfSk9Pnt2YXIgZj0oKT0+IWU/LigpO3JldHVybiBfLksoInl0LWFuaW1hdGVkLWFjdGlvbiIse2NsYXNzOl8uUCgieXRBbmltYXRlZEFjdGlvbkhvc3QiLGQpfSxfLksoImRpdiIse2NsYXNzOiJ5dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5kIn0sXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSyh6USx7UG46Inl0QW5pbWF0ZWRBY3Rpb25CYWNrZ3JvdW5kQ29udGFpbmVyIix5eToieXRBbmltYXRlZEFjdGlvbkJhY2tncm91bmQiLEVjOigpPT4oe2FuaW1hdGlvblJlZjphPy4oKSxhbmltYXRpb25Db25maWc6e25hbWU6ImFuaW1hdGVkLWFjdGlvbnMtYmFja2dyb3VuZCIsYXV0b3BsYXk6ITEsbG9vcDohMSxwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX2NvbnRhaW5lcl8ke18ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpPz8KITE/ImRhcmsiOiJsaWdodCJ9X3Y1Lmpzb25gfX0pfSl9KSxjKSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKHpRLHtFYzooKT0+KHthbmltYXRpb25SZWY6Yj8uKCksYW5pbWF0aW9uQ29uZmlnOntuYW1lOiJhbmltYXRlZC1hY3Rpb25zLWZvcmVncm91bmQiLGF1dG9wbGF5OiExLGxvb3A6ITEscGF0aDpgaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvbG90dGllL3N1YnNjcmliZV9hY3Rpb24vc3Vic2NyaWJlX2FjdGlvbl9zcGFya2xlc18ke18ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpPz8hMT8iZGFyayI6ImxpZ2h0In1fdjQuanNvbmB9fSl9KX0pKX0sIlZiIik7Xy5BUS5pZG9tQ29tcGF0PSEwOwp2YXIgelE9Xy5MKCh7UG46YSx5eTpiLEVjOmN9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0QW5pbWF0ZWRBY3Rpb25Mb3R0aWUiLGEpLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5jTSx7Y2xhc3NOYW1lOmIsZGF0YTpjLGFuaW1hdGlvbk5hbWU6KCk9PmMoKS5hbmltYXRpb25Db25maWcubmFtZX0pKSwiV2IiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5CUT1mdW5jdGlvbigpe3JldHVybntsb3R0aWVFbDp2b2lkIDB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5DUT1mdW5jdGlvbihhLGIpe18ubkUoKCk9Pnt2YXIgYz1hKCk7Xy5FQSgoKT0+dm9pZCBiKGMpKX0sImNLUjlzZiIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGdqYSxEUSxFUSxGUSxoamEsaWphLGpqYSxHUSxIUSxramEsSVEsbGphLEpRLEtRLExRLE1RLE5RLE9RLG1qYSxQUSxRUSxSUSxuamEsU1Esb2phLFRRLFVRLHBqYSxWUSxXUSxYUSxaUSxxamEscmphLCRRLGFSLHNqYSx0amEsdWphLGJSLGNSLHZqYSx3amEseGphLGhSLGZSLG1SLG5SLG9SLHBSLGdSLHRSLHVSLGtSLHZSLGxSLHpqYSxBamEselIsQVIsQlIsRWphLERSLEhSLEZqYSxHamEsSGphLElqYSxJUixKUixKamEsTFIsTGphLE1qYSxNUixRamEsUGphLFJqYSxPamEsTlIsTmphLFBSLE9SLFVqYSxXamEsUlIsWGphLFNSLGRTLGVTLGZTLGdTLGRrYSxpa2EsaVMsa2thLGpTLGtTLG9rYSxwUyxxa2EscmthLHFTLHNrYSx0a2EsclMsc1MsdFMsdVMsd1MseFMsdlMseVMselMsQVMsQlMsRVMsRlMsQ1MsR1MsemthLEpTLEhTLENrYSxMUyxNUyxOUyxQUyxJUyxGa2EsU1MsR2thLFVTLFdTLFhTLEhrYSxZUyxaUywkUyxjVCxiVCxJa2EsZFQsSmthLEtrYSxMa2EsTWthLGdULApmVCxoVCxrVCxsVCxOa2EsbVQsalQsaVQsblQsb1QscFQsT2thLHJULFBrYSxRa2EsdFQsUmthLHZULFNrYSxUa2Esc1QsVWthLFZrYSxXa2EsWGthLFlrYSx4VCx1VCxxVCx3VCx5VCx6VCxBVCxCVCxDVCxEVCwka2EsRVQsSFQsSVQsRlQsY2xhLGJsYSxKVCxLVCxPVCxQVCxlbGEsUVQsVFQsUlQsZmxhLGhsYSxnbGEsaWxhLFdULFhULGpsYSxaVCxrbGEsYVUsYlUsY1UsbGxhLGhVLG5sYSxvbGEsaVUsalUsbFUsbVUsblUsb1UscFUscGxhLHFVLHFsYSxyVSxybGEsc1UsdVUsc2xhLHVsYSx3VSxJVSx4VSxLVSxKVSx2bGEsd2xhLHhsYSx6bGEsTFUseWxhLE9VLE1VLEJsYSxDbGEsRGxhLFBVLEVsYSxGbGEsR2xhLEhsYSxJbGEsSmxhLEtsYSxMbGEsTWxhLE5sYSxRVSxSVSxTVSxVVSxQbGEsWFUsWVUsUWxhLFJsYSxaVSxTbGEsJFUsVWxhLGFWLFRsYTtnamE9ZnVuY3Rpb24oKXtyZXR1cm4hIV8uWk8oKX07CkRRPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoYSxiKSxjKX07RVE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1iP1N0cmluZyhiKS50b1VwcGVyQ2FzZSgpOm51bGw7cmV0dXJuIF8uZ3coYSxmdW5jdGlvbihkKXtyZXR1cm4oIWN8fGQubm9kZU5hbWU9PWMpJiYhMH0sITApfTtGUT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLmxlZnQ9YTt0aGlzLnRvcD1iO3RoaXMud2lkdGg9Yzt0aGlzLmhlaWdodD1kfTtoamE9ZnVuY3Rpb24oYSxiKXtiP18uU3QoYSwieXRQbGF5ZXJDb250cm9sc0NvbnRhaW5lclJlbmRlcmVkIik6Xy5UdChhLCJ5dFBsYXllckNvbnRyb2xzQ29udGFpbmVyUmVuZGVyZWQiKX07CmlqYT1mdW5jdGlvbigpe18uVmkoKCk9PntpZighXy5CcSgiZnRsIikpe3ZhciBhPV8ucG8oKTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzZXRUaW1lb3V0KCgpPT57YSE9PV8ucG8oKXx8Xy5CcSgiZnRsIil8fF8uQXEoImZ0bCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9fSkoKX07amphPWZ1bmN0aW9uKCl7aWYoXy5YeigpKXt2YXIgYT1fLkdoKCJwZnAtbWF3LXBsYXllciIpO2lmKGEpcmV0dXJuIG5ldyBfLndNKGEpfX07R1E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2woKDAsXy5TYWEpKCksYSl9OwpIUT1mdW5jdGlvbigpe2lmKF8ueCgiZW5hYmxlX2F1dG9tb3RpdmVfZm9ybV9mYWN0b3JfY2hlY2siKSlyZXR1cm4gXy53KCJJTk5FUlRVQkVfQ09OVEVYVCIse30pLmNsaWVudD8uY2xpZW50Rm9ybUZhY3Rvcj09PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIjt2YXIgYT1fLncoIklOTkVSVFVCRV9DT05URVhUIix7fSk7cmV0dXJuIGEuY2xpZW50Py5vc05hbWUmJmEuY2xpZW50Lm9zTmFtZT09PSJBbmRyb2lkIEF1dG9tb3RpdmUifTtramE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLmVudGl0aWVzLCJkaXNtaXNzU3RhdGUiLGIpfTtJUT1mdW5jdGlvbigpe3JldHVybiBfLlVNKCk9PT0iaGFzaHRhZyJ9O2xqYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxvZ29FbnRpdHkiLGIpfTsKSlE9ZnVuY3Rpb24oKXtyZXR1cm4gYT0+e3ZhciBiPV8uTEIoITEpO3RyeXtsZXQgYz1hLmNoaWxkcmVuO18uVUE/Yz9fLmdOKF8uSyhfLnNPLGEsYykpOl8uZ04oXy5LKF8uc08sYSkpOl8uSXAobmV3IF8uWGooImtldG9Ub0MzIGNhbGxlZCBvdXRzaWRlIG9mIGEgcGF0Y2giLHt0YWdOYW1lOl8uc08uWmN9KSl9ZmluYWxseXtfLkxCKGIpfX19OwpLUT1mdW5jdGlvbihhLGIpe2lmKGEucmVxdWVzdEZ1bGxzY3JlZW4pYT1hLnJlcXVlc3RGdWxsc2NyZWVuKGIpO2Vsc2UgaWYoYS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbilhPWEud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKGEubW96UmVxdWVzdEZ1bGxTY3JlZW4pYT1hLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihhLm1zUmVxdWVzdEZ1bGxzY3JlZW4pYT1hLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKGEud2Via2l0RW50ZXJGdWxsc2NyZWVuKWE9YS53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiSmQiKSk7cmV0dXJuIGEgaW5zdGFuY2VvZiBQcm9taXNlP2E6UHJvbWlzZS5yZXNvbHZlKCl9OwpMUT1mdW5jdGlvbigpe3JldHVybiEhXy5JTyhbImZ1bGxzY3JlZW5FbmFibGVkIiwid2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiLCJtb3pGdWxsU2NyZWVuRW5hYmxlZCIsIm1zRnVsbHNjcmVlbkVuYWJsZWQiXSxkb2N1bWVudCl9O01RPWZ1bmN0aW9uKGEpe3ZhciBiO0xRKCk/Xy5aTygpPT1hJiYoYj1kb2N1bWVudCk6Yj1hO2lmKGImJihhPV8uSU8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxiKSkpe2EuY2FsbChiKWluc3RhbmNlb2YgUHJvbWlzZXx8UHJvbWlzZS5yZXNvbHZlKCk7cmV0dXJufVByb21pc2UucmVzb2x2ZSgpfTtOUT1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKX07T1E9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9TlEoYSkpPyEhYS5kaXNwbGF5TmFtZTohMX07Cm1qYT1mdW5jdGlvbihhKXtyZXR1cm4gXy52YihhLGI9PmIubGFuZ3VhZ2VDb2RlPT09ImVuIil9O1BRPWZ1bmN0aW9uKGEpe2lmKCFhLmdldE9wdGlvbnMoImNhcHRpb25zIikpcmV0dXJuIiI7YT1fLiRPKGEpO2lmKCFhLmxlbmd0aClyZXR1cm4iIjt2YXIgYj1tamEoYSk7cmV0dXJuIGI/Yi5kaXNwbGF5TmFtZXx8IiI6YVswXS5kaXNwbGF5TmFtZXx8IiJ9OwpRUT1mdW5jdGlvbihhLGIsYyl7aWYoT1EoYSkpXy54KCJtd2ViX2VuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZSIpP2Euc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt1c2VySW5pdGlhdGVkOmN9KTphLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7fSksYS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLHt9KTtlbHNle2xldCBkPV8udmIoXy4kTyhhKSxlPT5lLmRpc3BsYXlOYW1lPT09Yik7YS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLGQpO18ueCgibXdlYl9lbmFibGVfcGxheWVyX2NhcHRpb25zX3BlcnNpc3RlbmNlX3N0YXRlX21hY2hpbmUiKSYmYS5zZXRPcHRpb24oImNhcHRpb25zIiwic3RpY2t5TG9hZGluZyIse3VzZXJJbml0aWF0ZWQ6Y30pfX07UlE9ZnVuY3Rpb24oKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZ1bGxzY3JlZW5yZXF1ZXN0IikpfTsKbmphPWZ1bmN0aW9uKGEpe3ZhciBbYl09KDAsXy51aWEpKGEpLFtjXT0oMCxfLnZpYSkoYSk7cmV0dXJuW18uTigoKT0+e3ZhciBkPXsuLi5iKCl9O2Qubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmKGQubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbj17Li4uYygpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b259KTtyZXR1cm4gZH0sdm9pZCAwLCJ1dlM4N2IiKV19O1NRPWZ1bmN0aW9uKGEpe01RKGF8fGRvY3VtZW50LmJvZHkpfTsKb2phPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKTthJiYoUlEoKSxLUShhKS5jYXRjaChiPT57aWYoYj8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKV8uV2koYik7ZWxzZSB0aHJvdyBiO30pKX07VFE9ZnVuY3Rpb24oYSxiKXtfLlpPKCk/KFJRKCksU1EoYikpOkxRKCk/KFJRKCksYj1LUShifHxkb2N1bWVudC5ib2R5LHtuYXZpZ2F0aW9uVUk6ImhpZGUifSksYT8uZHMmJmI/LmNhdGNoKCgpPT5udWxsKSk6b2phKCl9OwpVUT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gMDt2YXIgYj1hLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCksYz1hLmdldFZpZGVvRGF0YSgpO3JldHVybiBjJiZjLmlzTGl2ZT8oYT1hLmdldFByb2dyZXNzU3RhdGUoYiksYS5zZWVrYWJsZUVuZC1hLnNlZWthYmxlU3RhcnQpOmEuZ2V0RHVyYXRpb24oYil9O3BqYT1mdW5jdGlvbihhLGIsYyl7YXx8Xy5PRSgoKT0+e2I/LnByZXZpb3VzVmlkZW8oYyl9KX07VlE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRQbGF5ZXJTdGF0ZSgpO2lmKGI9PT0yKXJldHVybiEwO2lmKGIhPT0zKXJldHVybiExO2E9YS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO3JldHVybiFhLmlzQnVmZmVyaW5nJiYhYS5pc1Vuc3RhcnRlZCYmIWEuaXNQbGF5aW5nJiZhLmlzUGF1c2VkfTsKV1E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRQbGF5ZXJTdGF0ZSgpO2lmKGI9PT0xKXJldHVybiBhLnBhdXNlVmlkZW8oKSwiUExBWUVSX1BBVVNFIjtpZihiPT09LTEpYS5wbGF5VmlkZW8oKTtlbHNlIGlmKGI9PT0yfHxWUShhKSlyZXR1cm4gYS5wbGF5VmlkZW8oKSwiUExBWUVSX1BMQVkifTtYUT1mdW5jdGlvbihhKXthPWEmJmEuZ2V0UGxheWxpc3RJbmRleCYmYS5nZXRQbGF5bGlzdEluZGV4KCk+PTA7cmV0dXJuISFfLlpiKHdpbmRvdy5sb2NhdGlvbi5ocmVmLCJsaXN0Iil8fCEhYX07WlE9ZnVuY3Rpb24oYSl7WVE9YX07cWphPWZ1bmN0aW9uKGEpe3ZhciBiPVlRO2I/KGE9YS50aW1lU3RhbXAsYj1iLnRpbWVTdGFtcCxiPWlzTmFOKGEpfHxpc05hTihiKT8hMTpNYXRoLmFicyhhLWIpPD1fLnlpYSk6Yj0hMTtyZXR1cm4gYn07CnJqYT1mdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtpZihiKXt2YXIgYz0hYi5wYXVzZWQ7KHFqYShhKXx8YykmJnNldFRpbWVvdXQoKCk9PntiLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhdXNlIixaUSk7ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09InZpc2libGUiJiZfLlZNKCl9LF8ueGlhKX19OyRRPWZ1bmN0aW9uKCl7Xy54KCJtd2ViX25ld19mdWxsc2NyZWVuIik/U1EoXy5FSik6Xy5FSiYmKE1RKF8uRUopLF8ueCgibXdlYl9uZXdfZnVsbHNjcmVlbl9yZXNpemUiKXx8Xy5YTSgicmVzaXplIikpfTsKYVI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpO2EmJihfLmZyJiZfLngoIm13ZWJfaW9zX2Z1bGxzY3JlZW5fcGxheWJhY2tfdHJhbnNpdGlvbiIpJiYoYS5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsWlEpLF8uTk0oYSwid2Via2l0ZW5kZnVsbHNjcmVlbiIscmphKSksXy5YTSgiZnVsbHNjcmVlbnJlcXVlc3QiKSxLUShhKS5jYXRjaChiPT57aWYoYj8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKV8uV2koYik7ZWxzZSB0aHJvdyBiO30pKX07c2phPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LnNjcmVlbi5vcmllbnRhdGlvbjtpZihhPy5sb2NrJiYhXy5NRSgpJiYhXy5URSgpKXRyeXthLmxvY2soImxhbmRzY2FwZSIpLmNhdGNoKCgpPT57fSl9Y2F0Y2goYil7fX07CnRqYT1mdW5jdGlvbihhKXtfLlhNKCJmdWxsc2NyZWVucmVxdWVzdCIpO3ZhciBiPUtRKF8uRUose25hdmlnYXRpb25VSToiaGlkZSJ9KTthfHxzamEoKTtfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW5fcmVzaXplIil8fF8uWE0oInJlc2l6ZSIpO3JldHVybiBifTsKdWphPWZ1bmN0aW9uKGEpe2RvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIik9PT0idHJ1ZSImJmRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIik7aWYoXy54KCJtd2ViX25ld19mdWxsc2NyZWVuIikpVFEoYSxfLkVKKTtlbHNle3ZhciBiPV8uclAoKSxjO18uZnI/Yz1hUigpOkxRKCk/Yj8kUSgpOmM9dGphKGE/LnpJKTpfLngoIm13ZWJfbmF0aXZlX2NvbnRyb2xfaW5fZmF1eF9mdWxsc2NyZWVuX3NoYXJlZCIpP2M9YVIoKTpfLlhNKCJwbGF5ZXItZnVsbHNjcmVlbi10b2dnbGVkIix7aXNDdXJyZW50bHlGdWxsc2NyZWVuOmJ9KTtjPy5jYXRjaChkPT57aWYoZD8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxkPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxkPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKWRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIiwKInRydWUiKSxfLlhNKCJwbGF5ZXItZnVsbHNjcmVlbi10b2dnbGVkIix7aXNDdXJyZW50bHlGdWxsc2NyZWVuOmJ9KX0pO2E/LmRzJiZjPy5jYXRjaCgoKT0+bnVsbCl9fTtiUj1mdW5jdGlvbihhKXtyZXR1cm57bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOmEudGl0bGUsc2VsZWN0aW9uVGV4dDphLnNlbGVjdGlvblRleHQsbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTphLmljb25UeXBlfX1dfSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZCxpc1NlbGVjdGVkOmEuaXNTZWxlY3RlZCxzZWxlY3Rpb25TdHlsZTphLnNlbGVjdGlvblN0eWxlfX19OwpjUj1mdW5jdGlvbihhKXtyZXR1cm57c3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOmEudGl0bGUsbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTphLmljb25UeXBlfX1dfSxzd2l0Y2hlZE9uQnlEZWZhdWx0OmEua2wsYTExeUxhYmVsU3dpdGNoZWRPbjphLkVrLGExMXlMYWJlbFN3aXRjaGVkT2ZmOmEuRGssaXNEaXNhYmxlZDphLmlzRGlzYWJsZWR9fX07dmphPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy5pc0Z1bGxzY3JlZW59O3dqYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zaG9ydHMubWp9Owp4amE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxlbmd0aDtzd2l0Y2goYyl7Y2FzZSAwOnJldHVybiIiO2Nhc2UgMTpyZXR1cm4gU3RyaW5nKGJbMF0pO2Nhc2UgMjpyZXR1cm4gYS5ELnJlcGxhY2UoInswfSIsU3RyaW5nKGJbMF0pKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiWzFdKSl9dmFyIGQ9YS5CLnJlcGxhY2UoInswfSIsU3RyaW5nKGJbMF0pKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiWzFdKSk7Zm9yKGxldCBlPTI7ZTxjLTE7KytlKWQ9YS52LnJlcGxhY2UoInswfSIsZCkucmVwbGFjZSgiezF9IixTdHJpbmcoYltlXSkpO3JldHVybiBhLm8ucmVwbGFjZSgiezB9IixkKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiW2MtMV0pKX07CmhSPWZ1bmN0aW9uKCl7dGhpcy5LPW51bGw7dGhpcy5WZD10aGlzLk1hPXRoaXMuUWE9ITE7dGhpcy5aPTQwO3RoaXMubz0xO3RoaXMuaGE9MDt0aGlzLmo9Mzt0aGlzLnlhPXRoaXMuQj0wO3RoaXMuRWI9ITE7dGhpcy5nYT10aGlzLk09IiI7dGhpcy5EPWRSLmFvO3RoaXMuVT0iIjt0aGlzLnY9MTt0aGlzLlk9ITE7dGhpcy5JPVtdO3RoaXMuRmE9dGhpcy5mYz0hMTt0aGlzLm9hPTA7aWYoZVIpZlIodGhpcyk7ZWxzZXt0aGlzLks9bnVsbDt2YXIgYT1kUi5ndDtsZXQgZT1bMF07dGhpcy5NPWdSKHRoaXMsYSxlKTt2YXIgYj1lWzBdO2xldCBmPS0xLGg9MDt2YXIgYz0wLGQ9MDtsZXQgaz0tMSxsPWEubGVuZ3RoO2ZvcihsZXQgbT0hMDtlWzBdPGwmJm07ZVswXSsrKXN3aXRjaChhLmNoYXJBdChlWzBdKSl7Y2FzZSAiIyI6Yz4wP2QrKzpoKys7az49MCYmZjwwJiZrKys7YnJlYWs7Y2FzZSAiMCI6aWYoZD4wKXRocm93IEVycm9yKCJWZGAiK2EpO2MrKztrPj0wJiZmPDAmJmsrKzticmVhazsKY2FzZSAiLCI6az4wJiZ0aGlzLkkucHVzaChrKTtrPTA7YnJlYWs7Y2FzZSAiLiI6aWYoZj49MCl0aHJvdyBFcnJvcigiV2RgIithKTtmPWgrYytkO2JyZWFrO2Nhc2UgIkUiOmlmKHRoaXMuRmEpdGhyb3cgRXJyb3IoIlhkYCIrYSk7dGhpcy5GYT0hMDt0aGlzLnlhPTA7ZVswXSsxPGwmJmEuY2hhckF0KGVbMF0rMSk9PSIrIiYmKGVbMF0rKyx0aGlzLkViPSEwKTtmb3IoO2VbMF0rMTxsJiZhLmNoYXJBdChlWzBdKzEpPT0iMCI7KWVbMF0rKyx0aGlzLnlhKys7aWYoaCtjPDF8fHRoaXMueWE8MSl0aHJvdyBFcnJvcigiWWRgIithKTttPSExO2JyZWFrO2RlZmF1bHQ6ZVswXS0tLG09ITF9Yz09MCYmaD4wJiZmPj0wJiYoYz1mLGM9PTAmJmMrKyxkPWgtYyxoPWMtMSxjPTEpO2lmKGY8MCYmZD4wfHxmPj0wJiYoZjxofHxmPmgrYyl8fGs9PTApdGhyb3cgRXJyb3IoIlpkYCIrYSk7ZD1oK2MrZDt0aGlzLmo9Zj49MD9kLWY6MDtmPj0wJiYodGhpcy5CPWgrYy1mLHRoaXMuQjwwJiYodGhpcy5CPQowKSk7dGhpcy5vPShmPj0wP2Y6ZCktaDt0aGlzLkZhJiYodGhpcy5aPWgrdGhpcy5vLHRoaXMuaj09MCYmdGhpcy5vPT0wJiYodGhpcy5vPTEpKTt0aGlzLkkucHVzaChNYXRoLm1heCgwLGspKTt0aGlzLmZjPWY9PTB8fGY9PWQ7Yj1lWzBdLWI7dGhpcy5nYT1nUih0aGlzLGEsZSk7ZVswXTxhLmxlbmd0aCYmYS5jaGFyQXQoZVswXSk9PSI7Ij8oZVswXSsrLHRoaXMudiE9MSYmKHRoaXMuWT0hMCksdGhpcy5EPWdSKHRoaXMsYSxlKSxlWzBdKz1iLHRoaXMuVT1nUih0aGlzLGEsZSkpOih0aGlzLkQrPXRoaXMuTSx0aGlzLlUrPXRoaXMuZ2EpfX07CmZSPWZ1bmN0aW9uKGEpe3ZhciBiPXtub3RhdGlvbjoic3RhbmRhcmQiLG1pbmltdW1JbnRlZ2VyRGlnaXRzOk1hdGgubWluKDIxLE1hdGgubWF4KDEsYS5vKSl9O2EuRWImJihiLnNpZ25EaXNwbGF5PSJhbHdheXMiKTthLlFhPyhiLm1pbmltdW1TaWduaWZpY2FudERpZ2l0cz0xLGIubWF4aW11bVNpZ25pZmljYW50RGlnaXRzPU1hdGgubWF4KDEsTWF0aC5taW4oMjEsYS5oYSkpKTphLk1hJiYoYi5taW5pbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5tYXgoMCxhLkIpLGIubWF4aW11bUZyYWN0aW9uRGlnaXRzPU1hdGgubWluKDIwLE1hdGgubWF4KDAsYS5qKSkpO2Iuc3R5bGU9ImRlY2ltYWwiO3RyeXtsZXQgYzsoYz0iZW4tVVMiLnJlcGxhY2UoIl8iLCItIikpJiZjIGluIGlSJiYoYi5udW1iZXJpbmdTeXN0ZW09aVJbY10pO2EuSz1uZXcgSW50bC5OdW1iZXJGb3JtYXQoYyxiKX1jYXRjaChjKXt0aHJvdyBhLks9bnVsbCxFcnJvcigiUmRgIitjKTt9alI9YS5WZD1hLlFhPWEuTWE9ITF9OwptUj1mdW5jdGlvbihhLGIpe3ZhciBjPWtSKGIsYS5qKTthLmhhPjAmJihjPWxSKGMsYS5oYSxhLmopKTtjPU1hdGgucm91bmQoYyk7aWYoaXNGaW5pdGUoYykpe3ZhciBkPU1hdGguZmxvb3Ioa1IoYywtYS5qKSk7Yz1NYXRoLmZsb29yKGMta1IoZCxhLmopKTtpZihjPDB8fGM+PWtSKDEsYS5qKSlkPU1hdGgucm91bmQoYiksYz0wfWVsc2UgZD1iLGM9MDtyZXR1cm57aW50VmFsdWU6ZCxodzpjfX07Cm5SPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEuQj5hLmopdGhyb3cgRXJyb3IoIlNkIik7ZHx8KGQ9W10pO2I9bVIoYSxiKTt2YXIgZT1iLmludFZhbHVlLGY9Yi5odyxoPWEuQj4wfHxmPjB8fCExO2I9YS5CO2gmJihiPWEuQik7Zm9yKHZhciBrPSIiLGw9ZTtsPjFFMjA7KWs9IjAiK2ssbD1NYXRoLnJvdW5kKGtSKGwsLTEpKTtrPWwrazt2YXIgbT1kUi5WbjtsPWRSLkJrLmNvZGVQb2ludEF0KDApO3ZhciBuPWsubGVuZ3RoLHA9MDtpZihlPjB8fGM+MCl7Zm9yKGU9bjtlPGM7ZSsrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsKSk7aWYoYS5JLmxlbmd0aD49Milmb3IoYz0xO2M8YS5JLmxlbmd0aDtjKyspcCs9YS5JW2NdO2M9bi1wO2lmKGM+MCl7ZT1hLkk7cD1uPTA7dmFyIHI9ZFIucmssdD1rLmxlbmd0aDtmb3IobGV0IHo9MDt6PHQ7eisrKWlmKGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihrLmNoYXJBdCh6KSkpKSx0LXo+MSl7dmFyIHY9ZVtwXTtpZih6PApjKXtsZXQgRT1jLXo7KHY9PT0xfHx2PjAmJkUldj09PTEpJiZkLnB1c2gocil9ZWxzZSBwPGUubGVuZ3RoJiYoej09PWM/cCs9MTp2PT09ei1jLW4rMSYmKGQucHVzaChyKSxuKz12LHArPTEpKX19ZWxzZXtjPWs7az1hLkk7ZT1kUi5yazt2PWMubGVuZ3RoO3I9W107Zm9yKG49ay5sZW5ndGgtMTtuPj0wJiZ2PjA7bi0tKXtwPWtbbl07Zm9yKHQ9MDt0PHAmJnYtdC0xPj0wO3QrKylyLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQobCtOdW1iZXIoYy5jaGFyQXQodi10LTEpKSkpO3YtPXA7dj4wJiZyLnB1c2goZSl9ZC5wdXNoLmFwcGx5KGQsci5yZXZlcnNlKCkpfX1lbHNlIGh8fGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsKSk7KGEuZmN8fGgpJiZkLnB1c2gobSk7Zj1TdHJpbmcoZik7aD1mLnNwbGl0KCJlKyIpO2gubGVuZ3RoPT0yJiYoZj1TdHJpbmcobFIocGFyc2VGbG9hdChoWzBdKSxhLmhhLDEpKSxmPWYucmVwbGFjZSgiLiIsIiIpLGYrPSIwIi5yZXBlYXQocGFyc2VJbnQoaFsxXSwKMTApLWYubGVuZ3RoKzEpKTthLmorMT5mLmxlbmd0aCYmKGY9IjEiKyIwIi5yZXBlYXQoYS5qLWYubGVuZ3RoKStmKTtmb3IoYT1mLmxlbmd0aDtmLmNoYXJBdChhLTEpPT0iMCImJmE+YisxOylhLS07Zm9yKGI9MTtiPGE7YisrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihmLmNoYXJBdChiKSkpKX07b1I9ZnVuY3Rpb24oYSxiLGMpe2MucHVzaChkUi5Zbik7YjwwPyhiPS1iLGMucHVzaChkUi5hbykpOmEuRWImJmMucHVzaChkUi5XdCk7Yj0iIitiO3ZhciBkPWRSLkJrO2ZvcihsZXQgZT1iLmxlbmd0aDtlPGEueWE7ZSsrKWMucHVzaChkKTthPWQuY29kZVBvaW50QXQoMCkteWphO2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspYy5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGErYi5jb2RlUG9pbnRBdChkKSkpfTsKcFI9ZnVuY3Rpb24oYSl7YT1hLmNvZGVQb2ludEF0KDApO2lmKDQ4PD1hJiZhPDU4KXJldHVybiBhLTQ4O3ZhciBiPWRSLkJrLmNvZGVQb2ludEF0KDApO3JldHVybiBiPD1hJiZhPGIrMTA/YS1iOi0xfTsKZ1I9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0iIixlPSExLGY9Yi5sZW5ndGg7Y1swXTxmO2NbMF0rKyl7dmFyIGg9Yi5jaGFyQXQoY1swXSk7aWYoaD09IiciKWNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iJyI/KGNbMF0rKyxkKz0iJyIpOmU9IWU7ZWxzZSBpZihlKWQrPWg7ZWxzZSBzd2l0Y2goaCl7Y2FzZSAiIyI6Y2FzZSAiMCI6Y2FzZSAiLCI6Y2FzZSAiLiI6Y2FzZSAiOyI6cmV0dXJuIGQ7Y2FzZSAiXHUwMGE0IjpjWzBdKzE8ZiYmYi5jaGFyQXQoY1swXSsxKT09Ilx1MDBhNCI/KGNbMF0rKyxkKz1kUi5Xbik6KGg9ZFIuV24sZCs9aCBpbiBxUj9xUltoXVsxXTpoKTticmVhaztjYXNlICIlIjppZighYS5ZJiZhLnYhPTEpdGhyb3cgRXJyb3IoIlRkIik7aWYoYS5ZJiZhLnYhPTEwMCl0aHJvdyBFcnJvcigiVWQiKTthLnY9MTAwO2EuWT0hMTtkKz1kUi5qbzticmVhaztjYXNlICJcdTIwMzAiOmlmKCFhLlkmJmEudiE9MSl0aHJvdyBFcnJvcigiVGQiKTtpZihhLlkmJgphLnYhPTFFMyl0aHJvdyBFcnJvcigiVWQiKTthLnY9MUUzO2EuWT0hMTtkKz1kUi5rbzticmVhaztkZWZhdWx0OmQrPWh9fXJldHVybiBkfTt0Uj1mdW5jdGlvbihhLGIpe2E9YS5vYT09MT9yUi5TbjpyUi5WczthPT1udWxsJiYoYT1yUi5Tbik7aWYoYjwzKXJldHVybiBzUjtiPU1hdGgubWluKDE0LGIpO3ZhciBjPWFba1IoMSxiKV07Zm9yKC0tYjshYyYmYj49MzspYz1hW2tSKDEsYildLGItLTtpZighYylyZXR1cm4gc1I7Yz1jLm90aGVyO3ZhciBkPWE9IiIsZT1jLmluZGV4T2YoIjsiKTtlPj0wJiYoYz1jLnN1YnN0cmluZygwLGUpLGU9Yy5zdWJzdHJpbmcoZSsxKSkmJihkPS8oW14wXSopKDArKSguKikvLmV4ZWMoZSksYT1kWzFdLGQ9ZFszXSk7cmV0dXJuIGMmJmMhPSIwIj8oYz0vKFteMF0qKSgwKykoLiopLy5leGVjKGMpKT97cGw6YisxLShjWzJdLmxlbmd0aC0xKSx3bTphLHhtOmQscHJlZml4OmNbMV0sc3VmZml4OmNbM119OnNSOnNSfTsKdVI9ZnVuY3Rpb24oYSl7aWYoIWlzRmluaXRlKGEpKXJldHVybiBhPjA/YTowO2Zvcih2YXIgYj0wOyhhLz0xMCk+PTE7KWIrKztyZXR1cm4gYn07a1I9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWlzRmluaXRlKGEpfHxiPT0wKXJldHVybiBhO2E9U3RyaW5nKGEpLnNwbGl0KCJlIik7cmV0dXJuIHBhcnNlRmxvYXQoYVswXSsiZSIrKHBhcnNlSW50KGFbMV18fDAsMTApK2IpKX07dlI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSYmaXNGaW5pdGUoYSk/a1IoTWF0aC5yb3VuZChrUihhLGIpKSwtYik6YX07bFI9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXJldHVybiBhO2I9Yi11UihhKS0xO3JldHVybiBiPC1jP3ZSKGEsLWMpOnZSKGEsYil9O3pqYT1mdW5jdGlvbihhKXtyZXR1cm4gYSUxMD09MSYmYSUxMDAhPTExPyJvbmUiOmElMTA9PTImJmElMTAwIT0xMj8idHdvIjphJTEwPT0zJiZhJTEwMCE9MTM/ImZldyI6Im90aGVyIn07CkFqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWF8MDtpZih2b2lkIDA9PT1iKXtiPU1hdGg7dmFyIGQ9Yi5taW47bGV0IGU9YSsiIixmPWUuaW5kZXhPZigiLiIpO2I9ZC5jYWxsKGIsZj09PS0xPzA6ZS5sZW5ndGgtZi0xLDMpfWQ9TWF0aC5wb3coMTAsYik7YT17RkI6YixmOihhKmR8MCklZH07cmV0dXJuIGM9PTEmJmEuRkI9PTA/Im9uZSI6Im90aGVyIn07elI9ZnVuY3Rpb24oYSl7dGhpcy52PWE7dGhpcy5vPXRoaXMuaj10aGlzLkQ9bnVsbDthPWRSO3ZhciBiPXJSO2lmKHdSIT09YXx8eFIhPT1iKXdSPWEseFI9Yix5Uj1uZXcgaFI7dGhpcy5LPXlSfTsKQVI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmb3IobGV0IHA9MDtwPGIubGVuZ3RoO3ArKyl7dmFyIGY9dm9pZCAwO3N3aXRjaChiW3BdLnR5cGUpe2Nhc2UgNDplLnB1c2goYltwXS52YWx1ZSk7YnJlYWs7Y2FzZSAzOmY9YltwXS52YWx1ZTt2YXIgaD1hLGs9ZSxsPWNbZl07bD09PXZvaWQgMD9rLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK2YpOihoLmoucHVzaChsKSxrLnB1c2goaC5CKGguaikpKTticmVhaztjYXNlIDI6Zj1iW3BdLnZhbHVlO2g9YTtrPWM7bD1kO3ZhciBtPWUsbj1mLnNpO2tbbl09PT12b2lkIDA/bS5wdXNoKCJVbmRlZmluZWQgcGFyYW1ldGVyIC0gIituKToobj1mW2tbbl1dLG49PT12b2lkIDAmJihuPWYub3RoZXIpLEFSKGgsbixrLGwsbSkpO2JyZWFrO2Nhc2UgMDpmPWJbcF0udmFsdWU7QlIoYSxmLGMsQ1IsZCxlKTticmVhaztjYXNlIDE6Zj1iW3BdLnZhbHVlLEJSKGEsZixjLEJqYSxkLGUpfX19OwpCUj1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGg9Yi5zaSxrPWIuR28sbD0rY1toXTtpc05hTihsKT9mLnB1c2goIlVuZGVmaW5lZCBvciBpbnZhbGlkIHBhcmFtZXRlciAtICIraCk6KGs9bC1rLGg9YltjW2hdXSxoPT09dm9pZCAwJiYoZD1kKE1hdGguYWJzKGspKSxoPWJbZF0saD09PXZvaWQgMCYmKGg9Yi5vdGhlcikpLGI9W10sQVIoYSxoLGMsZSxiKSxjPWIuam9pbigiIiksZT9mLnB1c2goYyk6KGE9YS5LLmZvcm1hdChrKSxmLnB1c2goYy5yZXBsYWNlKC8jL2csYSkpKSl9O0VqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuRCxkPWEuQi5iaW5kKGEpO2I9Yi5yZXBsYWNlKENqYSxmdW5jdGlvbigpe2MucHVzaCgiJyIpO3JldHVybiBkKGMpfSk7cmV0dXJuIGI9Yi5yZXBsYWNlKERqYSxmdW5jdGlvbihlLGYpe2MucHVzaChmKTtyZXR1cm4gZChjKX0pfTsKRFI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPVtdLGQ9W10sZT0vW3t9XS9nO2UubGFzdEluZGV4PTA7Zm9yKHZhciBmO2Y9ZS5leGVjKGEpOyl7bGV0IGg9Zi5pbmRleDtmWzBdPT0ifSI/KGMucG9wKCksYy5sZW5ndGg9PTAmJihmPXt0eXBlOjF9LGYudmFsdWU9YS5zdWJzdHJpbmcoYixoKSxkLnB1c2goZiksYj1oKzEpKTooYy5sZW5ndGg9PTAmJihiPWEuc3Vic3RyaW5nKGIsaCksYiE9IiImJmQucHVzaCh7dHlwZTowLHZhbHVlOmJ9KSxiPWgrMSksYy5wdXNoKCJ7IikpfWE9YS5zdWJzdHJpbmcoYik7YSE9IiImJmQucHVzaCh7dHlwZTowLHZhbHVlOmF9KTtyZXR1cm4gZH07CkhSPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107Yj1EUihiKTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9e307aWYoMD09YltlXS50eXBlKWYudHlwZT00LGYudmFsdWU9YltlXS52YWx1ZTtlbHNlIGlmKDE9PWJbZV0udHlwZSl7dmFyIGQ9YltlXS52YWx1ZTtzd2l0Y2goRVIudGVzdChkKT8wOkZSLnRlc3QoZCk/MTpHUi50ZXN0KGQpPzI6L15ccypcdytccyovLnRlc3QoZCk/Mzo1KXtjYXNlIDI6Zi50eXBlPTI7Zi52YWx1ZT1GamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDA6Zi50eXBlPTA7Zi52YWx1ZT1HamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDE6Zi50eXBlPTE7Zi52YWx1ZT1IamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDM6Zi50eXBlPTMsZi52YWx1ZT1iW2VdLnZhbHVlfX1jLnB1c2goZil9cmV0dXJuIGN9OwpGamE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtiPWIucmVwbGFjZShHUixmdW5jdGlvbihmLGgpe2M9aDtyZXR1cm4iIn0pO3ZhciBkPXt9O2Quc2k9YztiPURSKGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgaDsxPT1iW2VdLnR5cGUmJihoPUhSKGEsYltlXS52YWx1ZSkpO2RbZi5yZXBsYWNlKC9ccy9nLCIiKV09aDtlKyt9cmV0dXJuIGR9O0dqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiLGQ9MDtiPWIucmVwbGFjZShFUixmdW5jdGlvbihoLGssbCl7Yz1rO2wmJihkPXBhcnNlSW50KGwsMTApKTtyZXR1cm4iIn0pO3ZhciBlPXt9O2Uuc2k9YztlLkdvPWQ7Yj1EUihiKTtmb3IodmFyIGY9MDtmPGIubGVuZ3RoOyl7bGV0IGg9YltmXS52YWx1ZTtmKys7bGV0IGs7MT09YltmXS50eXBlJiYoaz1IUihhLGJbZl0udmFsdWUpKTtlW2gucmVwbGFjZSgvXHMqKD86PSk/KFx3KylccyovLCIkMSIpXT1rO2YrK31yZXR1cm4gZX07CkhqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2I9Yi5yZXBsYWNlKEZSLGZ1bmN0aW9uKGYsaCl7Yz1oO3JldHVybiIifSk7dmFyIGQ9e307ZC5zaT1jO2QuR289MDtiPURSKGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgaDsxPT1iW2VdLnR5cGUmJihoPUhSKGEsYltlXS52YWx1ZSkpO2RbZi5yZXBsYWNlKC9ccyooPzo9KT8oXHcrKVxzKi8sIiQxIildPWg7ZSsrfXJldHVybiBkfTtJamE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYil7ZGVmYXVsdDpjYXNlICJ5ZWFycyI6cmV0dXJuIGEuai5ZRUFSO2Nhc2UgIm1vbnRocyI6cmV0dXJuIGEuai5NT05USDtjYXNlICJ3ZWVrcyI6cmV0dXJuIGEuai5XRUVLO2Nhc2UgImRheXMiOnJldHVybiBhLmouREFZO2Nhc2UgImhvdXJzIjpyZXR1cm4gYS5qLkhPVVI7Y2FzZSAibWludXRlcyI6cmV0dXJuIGEuai5NSU5VVEU7Y2FzZSAic2Vjb25kcyI6cmV0dXJuIGEuai5TRUNPTkR9fTsKSVI9ZnVuY3Rpb24oYSxiLGMpe2E9SWphKGEsYyk7cmV0dXJuKGE9YS5MT05HIT12b2lkIDA/YS5MT05HOmEuTkFSUk9XIT12b2lkIDA/YS5OQVJST1c6YS5TSE9SVCk/KG5ldyB6Uigie0RVUkFUSU9OX1ZBTFVFLHBsdXJhbCwiK2ErIn0iKSkuZm9ybWF0KHtEVVJBVElPTl9WQUxVRTpifSk6IiJ9O0pSPWZ1bmN0aW9uKCl7Xy5IeigpO3JldHVybiFfLkN6KDE0MSkmJl8udygiQVVUT05BVl9PRkZfQllfREVGQVVMVCIpPyExOiFfLkN6KDE0MCl9O0pqYT1mdW5jdGlvbigpe2lmKCFLUil7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BsYXllci5za2VsZXRvbiIpO2EmJihfLkRkKGEpLEtSPSEwKX19O0xSPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe2I9bmV3IEtqYShifHxhLGN8fGEpO3JldHVybnt4OmEueCtMamEoYixkKSouMix5OmEueStNamEoYixkKSouMn19O0xqYT1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiP2EuaiotMTphLmp9OwpNamE9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYj9hLm8qLTE6YS5vfTtNUj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt2YXIgYj1hLmVycm9yU2NyZWVuPy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyPz9hLmVycm9yU2NyZWVuPy55cGNUcmFpbGVyUmVuZGVyZXI7cmV0dXJuIShhLnN0YXR1cyE9PSJPSyImJmEuc3RhdHVzIT09IkxJVkVfU1RSRUFNX09GRkxJTkUiKXx8ISFifTsKUWphPWZ1bmN0aW9uKHtyZW5kZXJlcjphLHN1YnNjcmliZWQ6Yixpc092ZXJsYXk6YyxzdG9wUHJvcGFnYXRpb246ZH0pe3ZhciBlPU5qYShhLGIpO2MmJihlLnN0eWxlPSJvdmVybGF5Iik7YTpzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJDT01QQUNUX0dSQVkiOmNhc2UgIkNPTVBBQ1RfUkVEIjpjPXtzaXplOiJTIn07YnJlYWsgYTtkZWZhdWx0OmM9e3NpemU6Ik0ifX1jPXsuLi5jfTt2YXIgZj1PamEoYSxiKTt2YXIgaD0oaD1iP2Euc3Vic2NyaWJlZEJ1dHRvblRleHQ6YS51bnN1YnNjcmliZWRCdXR0b25UZXh0KT9fLkFGKGgpOnZvaWQgMDtyZXR1cm57Li4uZSwuLi5jLGZvY3VzZWQ6ITEsdG9nZ2xlZDpiLGFjY2Vzc2liaWxpdHlMYWJlbDpmLFdhOmgsb25UYXA6UGphKGEsYixkKX19OwpQamE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9UmphKGEsYik7aWYoZSl7bGV0IGY9e3N1YnNjcmliZUJ1dHRvblJlbmRlcmVyOmF9O18uZEsoZSx7Zm9ybTp7Y3VycmVudERhdGE6Zixzb3VyY2VEYXRhOmYsZXZlbnQ6ZH19KX1jJiZkLnN0b3BQcm9wYWdhdGlvbigpfX07UmphPWZ1bmN0aW9uKGEsYil7aWYoYS5zaWduSW5FbmRwb2ludCYmIV8ueCgid2ViX3N1YnNjcmliZV9zaWduX2luX2VuZHBvaW50X2tpbGxzd2l0Y2giKSlyZXR1cm4gYS5zaWduSW5FbmRwb2ludDtpZihiKXtpZihhLnNlcnZpY2VFbmRwb2ludHMpcmV0dXJuIGEuc2VydmljZUVuZHBvaW50c1sxXTtpZihhLm9uVW5zdWJzY3JpYmVFbmRwb2ludHMpcmV0dXJuIGEub25VbnN1YnNjcmliZUVuZHBvaW50c1swXX1lbHNle2lmKGEuc2VydmljZUVuZHBvaW50cylyZXR1cm4gYS5zZXJ2aWNlRW5kcG9pbnRzWzBdO2lmKGEub25TdWJzY3JpYmVFbmRwb2ludHMpcmV0dXJuIGEub25TdWJzY3JpYmVFbmRwb2ludHNbMF19fTsKT2phPWZ1bmN0aW9uKGEsYil7Yj1iP2EudW5zdWJzY3JpYmVBY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWw6YS5zdWJzY3JpYmVBY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWw7cmV0dXJuIGEubG9uZ1N1YnNjcmliZXJDb3VudFRleHQ/W2IsXy5hTihhLmxvbmdTdWJzY3JpYmVyQ291bnRUZXh0KV0uZmlsdGVyKGM9PmMpLmpvaW4oIiAiKTpifTtOUj1mdW5jdGlvbihhLGIpe3JldHVybiBifHxhPy5pc0NoYW5uZWxEZWxlZ2F0ZT8iZGlzYWJsZWQiOiJhY3RpdmUifTsKTmphPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEuc3R5bGU/LnN0eWxlVHlwZSl7Y2FzZSAiQ09NUEFDVF9HUkFZIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRvbmFsIixzdGF0ZTpOUihhKX07Y2FzZSAiTUVESVVNX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTtjYXNlICJWSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOk5SKGEsITApfTtjYXNlICJPVkVSTEFZIjpyZXR1cm4gYj97c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRvbmFsIixzdGF0ZTpOUihhKX06e3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOk5SKGEpfTtkZWZhdWx0OnJldHVybiBiP3tzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTp7c3R5bGU6Im1vbm8iLHR5cGU6ImZpbGxlZCIsc3RhdGU6TlIoYSl9fX07ClBSPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaG91cnN8fDA7dmFyIGM9YS5taW51dGVzfHwwLGQ9YS5zZWNvbmRzfHwwO2I9ZCtjKjYwK2IqMzYwMCsoYS5kYXlzfHwwKSo4NjQwMCsoYS53ZWVrc3x8MCkqNjA0ODAwKyhhLm1vbnRoc3x8MCkqMjYyOTgwMCsoYS55ZWFyc3x8MCkqMzE1NTc2MDA7Yjw9MD9iPXtob3VyczowLG1pbnV0ZXM6MCxzZWNvbmRzOjB9OihhPWIsYj1NYXRoLmZsb29yKGEvMzYwMCksYSU9MzYwMCxjPU1hdGguZmxvb3IoYS82MCksZD1NYXRoLmZsb29yKGElNjApLGI9e2hvdXJzOmIsbWludXRlczpjLHNlY29uZHM6ZH0pO3ZhciB7aG91cnM6ZT0wLG1pbnV0ZXM6Zj0wLHNlY29uZHM6aD0wfT1iO2I9W107aWYoZT4wKXtjPU9SKCkuZm9ybWF0KHtob3VyczplfSk7aWYoISJiZSBiZyBlcyBldCBodSBpdCBrYSBsdiBwbCBwdC1QVCBzbCBzcSIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKXx8ZT45OTk5KXthPWMucmVwbGFjZTtkPWUudG9TdHJpbmcoKTt2YXIgaz0obmV3IEludGwuTnVtYmVyRm9ybWF0KCJlbi11LW51LWxhdG4iKSkuZm9ybWF0KGUpOwp2YXIgbD1bImZyIl07bGV0IG09ImF6IGJzIGNhIGRhIGRlIGVsIGVzIGV1IGdsIGhyIGlkIGlzIGl0IGttIGxvIG1rIG5sIHB0LUJSIHJvIHNsIHNyIHNyLUxhdG4gdHIgdmkiLnNwbGl0KCIgIik7az0iYWYgYmUgYmcgY3MgZXQgZmkgZnItQ0EgaHUgaHkga2Ega2sga3kgbHQgbHYgbm8gcGwgcHQtUFQgcnUgc2sgc3Egc3YgdWsgdXoiLnNwbGl0KCIgIikuaW5jbHVkZXMoWik/ay5yZXBsYWNlKCIsIiwiXHUwMGEwIik6bC5pbmNsdWRlcyhaKT9rLnJlcGxhY2UoIiwiLCJcdTIwMmYiKTptLmluY2x1ZGVzKFopP2sucmVwbGFjZSgiLCIsIi4iKTprO2M9YS5jYWxsKGMsZCxrKTtaPT09ImttIiYmKGM9Yy5yZXBsYWNlKCIuIiwiLCIpKX1iLnB1c2goYyl9Zj4wJiZiLnB1c2goT1IoKS5mb3JtYXQoe21pbnV0ZXM6Zn0pKTsoaD4wfHxlPT09MCYmZj09PTApJiZiLnB1c2goT1IoKS5mb3JtYXQoe3NlY29uZHM6aH0pKTtjPSJiZSBndSBqYSBrayBrbSBrbyBtbiBydSB0ciB1eiB6aC1ISyB6aC1UVyIuc3BsaXQoIiAiKTsKYT1aPT0iYW0iPyJ7MH1cdTEzNjMgIjpaPT0iZmEiPyJ7MH1cdTA2MGNcdTIwMGYgIjpaPT0ibXkiPyJ7MH0gLSAiOlo9PSJ0aCI/InswfSAiOlo9PSJ1ciI/InswfVx1MDYwYyAiOlo9PSJhciJ8fFo9PSJhci1YQiI/InswfSBcdTA2NDgiOlo9PSJqYSJ8fFo9PSJ6aC1DTiJ8fFo9PSJ6aC1ISyJ8fFo9PSJ6aC1UVyI/InswfVx1MzAwMSI6InswfSwgIjtkPVo9PSJhbSI/Ilx1MTM2MyAiOlo9PSJmYSI/Ilx1MDYwY1x1MjAwZiAiOlo9PSJteSI/IiAtICI6Wj09InRoIj8iICI6Wj09InVyIj8iXHUwNjBjICI6Wj09ImFyInx8Wj09ImFyLVhCIj8iIFx1MDY0OCI6Wj09ImphInx8Wj09InpoLUNOInx8Wj09InpoLUhLInx8Wj09InpoLVRXIj8iXHUzMDAxIjoiLCAiO2s9Wj09ImFtIj8iIFx1MTJhNVx1MTI5MyB7MH0iOlo9PSJhcyI/IiBcdTA5ODZcdTA5ZjBcdTA5YzEgezB9IjpaPT0iYXoiPyIgdlx1MDI1OSB7MH0iOlo9PSJibiI/IiBcdTA5OGZcdTA5YWNcdTA5ODIgezB9IjpaPT0iY3MiPwoiIGFcdTAwYTB7MH0iOlo9PSJkZSI/IiB1bmQgezB9IjpaPT0iZWwiPyIgXHUwM2JhXHUwM2IxXHUwM2I5IHswfSI6Wj09ImV1Ij8iIGV0YSB7MH0iOlo9PSJmYSI/Ilx1MDYwYyBcdTA2NDggezB9IjpaPT0iZmlsIj8iLCBhdCB7MH0iOlo9PSJndSI/IiBcdTBhODVcdTBhYThcdTBhYzcgezB9IjpaPT0iaGkiPyIsIFx1MDkxNFx1MDkzMCB7MH0iOlo9PSJodSI/IiBcdTAwZTlzIHswfSI6Wj09Imh5Ij8iIFx1MDU4NyB7MH0iOlo9PSJpZCI/IiwgZGFuIHswfSI6Wj09Iml3Ij8iIFx1MDVkNS17MH0iOlo9PSJqYSI/Ilx1MzAwMXswfSI6Wj09ImthIj8iIFx1MTBkM1x1MTBkMCB7MH0iOlo9PSJrbSI/IiBcdTE3OTNcdTE3YjdcdTE3ODQgezB9IjpaPT0ia24iPyIsIFx1MGNhZVx1MGNhNFx1MGNjZFx1MGNhNFx1MGNjMSB7MH0iOlo9PSJrbyI/IiBcdWJjMGYgezB9IjpaPT0ia3kiPyIgXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDMwIHswfSI6Wj09Imx0Ij8iIGlyIHswfSI6Wj09Imx2Ij8KIiB1biB7MH0iOlo9PSJtciI/IiBcdTA5MDZcdTA5MjNcdTA5M2YgezB9IjpaPT0ibXMiPyIgZGFuIHswfSI6Wj09Im15Ij8iXHUxMDE0XHUxMDNlXHUxMDA0XHUxMDM3XHUxMDNhIHswfSI6Wj09Im5lIj8iIFx1MDkzMCB7MH0iOlo9PSJvciI/IiwgXHUwYjEzIHswfSI6Wj09InBhIj8iIFx1MGEwNVx1MGEyNFx1MGE0NyB7MH0iOlo9PSJybyI/IiBcdTAyMTlpIHswfSI6Wj09InNpIj8iLCBcdTBkYzNcdTBkYzQgezB9IjpaPT0ic2siPyIgYSB7MH0iOlo9PSJzbCI/IiBpbiB7MH0iOlo9PSJzcSI/IiBkaGUgezB9IjpaPT0ic3YiPyIgb2NoIHswfSI6Wj09InN3Ij8iIG5hIHswfSI6Wj09InRhIj8iIFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCB7MH0iOlo9PSJ0ZSI/IiBcdTBjMmVcdTBjMzBcdTBjM2ZcdTBjMmZcdTBjNDEgezB9IjpaPT0idGgiPyIgXHUwZTQxXHUwZTI1XHUwZTMwezB9IjpaPT0idHIiPyIgdmUgezB9IjpaPT0idXIiPyJcdTA2MGMgXHUwNjI3XHUwNjQ4XHUwNjMxIHswfSI6Clo9PSJ1eiI/IiB2YSB7MH0iOlo9PSJ2aSI/IiB2XHUwMGUwIHswfSI6Wj09InpoLUhLIj8iXHU1M2NhezB9IjpaPT0ienUiPyIsIG5lLXswfSI6Wj09ImFmInx8Wj09Im5sIj8iIGVuIHswfSI6Wj09ImFyInx8Wj09ImFyLVhCIj8iIFx1MDY0OHswfSI6Wj09ImJlInx8Wj09InVrIj8iIFx1MDQ1NiB7MH0iOlo9PSJlbi1HQiJ8fFo9PSJlbi1JTiI/IiBhbmQgezB9IjpaPT0iZW4ifHxaPT0iZW4tWEEiPyIsIGFuZCB7MH0iOlo9PSJldCJ8fFo9PSJmaSI/IiBqYSB7MH0iOlo9PSJmciJ8fFo9PSJmci1DQSI/IiBldCB7MH0iOlo9PSJ6aC1DTiJ8fFo9PSJ6aC1UVyI/Ilx1NTQ4Y3swfSI6Wj09ImRhInx8Wj09ImlzInx8Wj09Im5vIj8iIG9nIHswfSI6Wj09ImVzInx8Wj09ImVzLTQxOSJ8fFo9PSJlcy1VUyI/IiB5IHswfSI6Wj09ImJnInx8Wj09Im1rInx8Wj09InJ1Inx8Wj09InNyIj8iIFx1MDQzOCB7MH0iOlo9PSJnbCJ8fFo9PSJpdCJ8fFo9PSJwdC1CUiJ8fFo9PSJwdC1QVCI/IiBlIHswfSI6Clo9PSJrayJ8fFo9PSJsbyJ8fFo9PSJtbCJ8fFo9PSJtbiI/IiwgezB9IjoiIGkgezB9IjtsPVo9PSJhbSI/InswfSBcdTEyYTVcdTEyOTMgezF9IjpaPT0iYXMiPyJ7MH0gXHUwOTg2XHUwOWYwXHUwOWMxIHsxfSI6Wj09ImF6Ij8iezB9IHZcdTAyNTkgezF9IjpaPT0iYm4iPyJ7MH0gXHUwOThmXHUwOWFjXHUwOTgyIHsxfSI6Wj09ImRlIj8iezB9IHVuZCB7MX0iOlo9PSJlbCI/InswfSBcdTAzYmFcdTAzYjFcdTAzYjkgezF9IjpaPT0iZXUiPyJ7MH0gZXRhIHsxfSI6Wj09ImZhIj8iezB9IFx1MDY0OCB7MX0iOlo9PSJmaWwiPyJ7MH0gYXQgezF9IjpaPT0iZ3UiPyJ7MH0gXHUwYTg1XHUwYWE4XHUwYWM3IHsxfSI6Wj09ImhpIj8iezB9IFx1MDkxNFx1MDkzMCB7MX0iOlo9PSJodSI/InswfSBcdTAwZTlzIHsxfSI6Wj09Imh5Ij8iezB9IFx1MDU4NyB7MX0iOlo9PSJpdyI/InswfSBcdTA1ZDUtezF9IjpaPT0iamEiPyJ7MH1cdTMwMDF7MX0iOlo9PSJrYSI/InswfSBcdTEwZDNcdTEwZDAgezF9IjoKWj09ImtrIj8iezB9IFx1MDQzNlx1MDRkOVx1MDQzZFx1MDQzNSB7MX0iOlo9PSJrbSI/InswfSBcdTE3OTNcdTE3YjdcdTE3ODRcdTIwMGJ7MX0iOlo9PSJrbiI/InswfSBcdTBjYWVcdTBjYTRcdTBjY2RcdTBjYTRcdTBjYzEgezF9IjpaPT0ia28iPyJ7MH0gXHViYzBmIHsxfSI6Wj09Imt5Ij8iezB9IFx1MDQzNlx1MDQzMFx1MDQzZFx1MDQzMCB7MX0iOlo9PSJsbyI/InswfSBcdTBlYzFcdTBlYTVcdTBlYjAgezF9IjpaPT0ibHQiPyJ7MH0gaXIgezF9IjpaPT0ibHYiPyJ7MH0gdW4gezF9IjpaPT0ibXIiPyJ7MH0gXHUwOTA2XHUwOTIzXHUwOTNmIHsxfSI6Wj09Im15Ij8iezB9XHUxMDE0XHUxMDNlXHUxMDA0XHUxMDM3XHUxMDNhIHsxfSI6Wj09Im5lIj8iezB9IFx1MDkzMCB7MX0iOlo9PSJvciI/InswfSBcdTBiMTMgezF9IjpaPT0icGEiPyJ7MH0gXHUwYTA1XHUwYTI0XHUwYTQ3IHsxfSI6Wj09InJvIj8iezB9IFx1MDIxOWkgezF9IjpaPT0ic2kiPyJ7MH0gXHUwZGMzXHUwZGM0IHsxfSI6Clo9PSJzbCI/InswfSBpbiB7MX0iOlo9PSJzcSI/InswfSBkaGUgezF9IjpaPT0ic3YiPyJ7MH0gb2NoIHsxfSI6Wj09InN3Ij8iezB9IG5hIHsxfSI6Wj09InRhIj8iezB9IFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCB7MX0iOlo9PSJ0ZSI/InswfSBcdTBjMmVcdTBjMzBcdTBjM2ZcdTBjMmZcdTBjNDEgezF9IjpaPT0idGgiPyJ7MH1cdTBlNDFcdTBlMjVcdTBlMzB7MX0iOlo9PSJ0ciI/InswfSB2ZSB7MX0iOlo9PSJ1ciI/InswfSBcdTA2MjdcdTA2NDhcdTA2MzEgezF9IjpaPT0idXoiPyJ7MH0gdmEgezF9IjpaPT0idmkiPyJ7MH0gdlx1MDBlMCB7MX0iOlo9PSJ6aC1ISyI/InswfVx1NTNjYXsxfSI6Wj09Inp1Ij8iezB9IG5lLXsxfSI6Wj09ImFmInx8Wj09Im5sIj8iezB9IGVuIHsxfSI6Wj09ImFyInx8Wj09ImFyLVhCIj8iezB9IFx1MDY0OHsxfSI6Wj09ImJlInx8Wj09InVrIj8iezB9IFx1MDQ1NiB7MX0iOlo9PSJjcyJ8fFo9PSJzayI/InswfSBhXHUwMGEwezF9IjoKWj09ImV0Inx8Wj09ImZpIj8iezB9IGphIHsxfSI6Wj09ImZyInx8Wj09ImZyLUNBIj8iezB9IGV0IHsxfSI6Wj09ImlkInx8Wj09Im1zIj8iezB9IGRhbiB7MX0iOlo9PSJtbCJ8fFo9PSJtbiI/InswfSwgezF9IjpaPT0iemgtQ04ifHxaPT0iemgtVFciPyJ7MH1cdTU0OGN7MX0iOlo9PSJkYSJ8fFo9PSJpcyJ8fFo9PSJubyI/InswfSBvZyB7MX0iOlo9PSJlcyJ8fFo9PSJlcy00MTkifHxaPT0iZXMtVVMiPyJ7MH0geSB7MX0iOlo9PSJiZyJ8fFo9PSJtayJ8fFo9PSJydSJ8fFo9PSJzciI/InswfSBcdTA0MzggezF9IjpaPT0iZW4ifHxaPT0iZW4tR0IifHxaPT0iZW4tSU4ifHxaPT0iZW4tWEEiPyJ7MH0gYW5kIHsxfSI6Wj09ImdsInx8Wj09Iml0Inx8Wj09InB0LUJSInx8Wj09InB0LVBUIj8iezB9IGUgezF9IjoiezB9IGkgezF9IjtaPT09InNxIj8oaz1rLnJlcGxhY2UoImRoZSIsImUiKSxsPWwucmVwbGFjZSgiZGhlIiwiZSIpKTpaPT09InRoIj8oZD1kLnJlcGxhY2UoInswfSIsCiIgezB9IiksbD1sLnJlcGxhY2UoInswfSIsInswfSAiKSxsPWwucmVwbGFjZSgiezF9IiwiIHsxfSIpKTpaPT09Im5lIj9kPSIsIjpaPT09InpoLUNOIj9kPSIiOmMuaW5jbHVkZXMoWikmJihkPSIgIik7cmV0dXJuIGIubGVuZ3RoPDI/Yi5qb2luKCIiKToiYW0gYXIgYmcgYnMgY2EgY3MgZGEgZXMgZXMtNDE5IGVzLVVTIGV1IGZhIGZpIGZyLUNBIGZyIGdsIGd1IGhpIGhyIGh1IGh5IGlzIGl0IGx0IGx2IG1rIG15IG5vIG5sIHBsIHB0LUJSIHB0LVBUIHJvIHNpIHNsIHNxIHNyLUxhdG4gc3Igc3cgdGggdWsiLnNwbGl0KCIgIikuaW5jbHVkZXMoWik/Yi5sZW5ndGg9PT0yP2wucmVwbGFjZSgiezB9IixiWzBdKS5yZXBsYWNlKCJ7MX0iLGJbMV0pOmEucmVwbGFjZSgiezB9IixiWzBdKStiLnNsaWNlKDEsLTEpLmpvaW4oZCkray5yZXBsYWNlKCJ7MH0iLGJbYi5sZW5ndGgtMV0pOmIuam9pbihkKX07T1I9ZnVuY3Rpb24oKXtRUnx8KENSPVNqYSxRUj1uZXcgVGphKTtyZXR1cm4gUVJ9OwpVamE9ZnVuY3Rpb24oKXtKUSgpKHt0cTohMH0pO0pRKCkoe3RxOiExfSl9O1dqYT1mdW5jdGlvbihhKXt2YXIgYj1fLldEKCgpPT5hLmdldERlYnVnVGV4dCghMCkpO2ImJl8ueSgpLnJlc29sdmUoXy55UCkub3BlbkRpYWxvZyh7VW46KCk9Pl8uSyhWamEse2Z2OmJ9KX0pfTtSUj1mdW5jdGlvbihhLGIpe2lmKGIpYT1hLmdldFZpZGVvVXJsKCk7ZWxzZXthPWEuZ2V0UGxheWVyUmVzcG9uc2UoKS52aWRlb0RldGFpbHM/LnZpZGVvSWQ7aWYoIWEpcmV0dXJuO2E9YGh0dHBzOi8veW91dHUuYmUvJHthfWB9YSYmd2luZG93Lm5hdmlnYXRvcj8uY2xpcGJvYXJkJiZ3aW5kb3cubmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYSl9OwpYamE9ZnVuY3Rpb24oYSxiLGMsZCl7Xy55Tih7R2I6KCk9Pl8uSyhfLklCLG51bGwsU1IoYSxiKSxfLksoXy5PLHtBOigpPT5kJiZjLHRoZW46KCk9Pl8uSyhUUix7SDphLHRhOmN9KX0pLF8uSyhVUix7SDphfSksXy5LKFZSLHtIOmF9KSxfLksoV1Ise0g6YX0pLF8uSyhZUix7SDphfSksXy5LKFpSLHtIOmF9KSxfLksoJFIse0g6YX0pLF8uSyhhUyx7SDphfSksXy5LKGJTLHtIOmF9KSksSGE6ITB9KX07U1I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5LKF8uTyx7QTooKT0+Xy50UCgpLHRoZW46KCk9Pl8uSyhfLk5QLG51bGwpLFc6KCk9Pl8uSyhfLk8se0E6KCk9PiFiLHRoZW46KCk9Pl8uSyhjUyx7SDphfSl9KX0pfTtkUz1mdW5jdGlvbihhLGIpe18ueU4oe0diOmIsSGE6ITB9KTthLnN0b3BQcm9wYWdhdGlvbigpfTtlUz1mdW5jdGlvbihhKXthPWEuZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcygpO3JldHVybiBhW2EubGVuZ3RoLTFdPjJ9O2ZTPWZ1bmN0aW9uKGEpe3JldHVybntidXR0b25WaWV3TW9kZWw6e2FjY2Vzc2liaWxpdHlUZXh0OmF9fX07CmdTPWZ1bmN0aW9uKGEsYil7Yj1hPT09MTAwP1lqYTphPT09Yj9aamE6dm9pZCAwO3JldHVybnt2YXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsOntwbGF5YmFja1NwZWVkQnV0dG9uOntidXR0b25WaWV3TW9kZWw6e3RpdGxlOmAke2EvMTAwfXhgLHN0eWxlOiJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIix0eXBlOiJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RPTkFMIixidXR0b25TaXplOiJCVVRUT05fVklFV19NT0RFTF9TSVpFX0NPTVBBQ1QiLGljb25UcmFpbGluZzohMH19LGJ1dHRvbkxhYmVsOntjb250ZW50OmJ9LHBsYXliYWNrU3BlZWRCdXR0b25DZW50aVZhbHVlOmF9fX07CmRrYT1mdW5jdGlvbihhKXtpZihhPy5pc1JlYWR5Py4oKSl7dmFyIGI9YS5nZXRQbGF5YmFja1JhdGUoKTtpZihiKXtoU3x8KGhTPV8ueE0oKSk7dmFyIGM9ZVMoYSk/JGphOmFrYTtpZighaFM/LmdldCgicmVjZW50LWN1c3RvbS1zcGVlZCIpfHxiIT09MSlyZXR1cm4gYy5tYXAoZT0+Z1MoZSkpO3ZhciBkPU51bWJlcihoUy5nZXQoInJlY2VudC1jdXN0b20tc3BlZWQiKSk7aWYoYy5pbmNsdWRlcyhkKSlyZXR1cm4gYy5tYXAoZT0+Z1MoZSxkKSk7YT1lUyhhKT9ia2Euc2xpY2UoKTpja2Euc2xpY2UoKTthLnB1c2goZCk7YS5zb3J0KChlLGYpPT5lLWYpO3JldHVybiBhLm1hcChlPT5nUyhlLGQpKX19fTsKaWthPWZ1bmN0aW9uKGEpe2lmKGE/LmlzUmVhZHk/LigpKXt2YXIgYj1hLmdldFBsYXliYWNrUmF0ZSgpLGM9YS5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7aWYoYiYmYyl7dmFyIGQ9Y1tjLmxlbmd0aC0xXSoxMDA7Yz1jWzBdKjEwMDtiPXtob3Jpem9udGFsU2xpZGVyVmlld01vZGVsOnttYXhWYWx1ZTpkLG1pblZhbHVlOmMsaW5pdGlhbFZhbHVlOmIqMTAwLHN0ZXBDb3VudDooZC1jKS81LHZhbHVlRGVub21pbmF0b3I6MTAwLGluY3JlYXNlQnV0dG9uOmZTKGVrYSksZGVjcmVhc2VCdXR0b246ZlMoZmthKSxyZW5kZXJlckNvbnRleHQ6e2FjY2Vzc2liaWxpdHlDb250ZXh0OntsYWJlbDpna2F9fX19O2E9ZGthKGEpO3JldHVybnt2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbDp7c2xpZGVyOmIscGxheWJhY2tTcGVlZEJ1dHRvbnM6YSxiYWRnZTp7YmFkZ2VWaWV3TW9kZWw6e2JhZGdlVGV4dDoiUCIsYmFkZ2VTdHlsZToiQkFER0VfUFJFTUlVTSIsYWNjZXNzaWJpbGl0eUxhYmVsOmhrYX19fX19fX07CmlTPWZ1bmN0aW9uKGEpe2hTfHwoaFM9Xy54TSgpKTtoUyYmaFMuc2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIixTdHJpbmcoYSoxMDApKX07a2thPWZ1bmN0aW9uKGEpe3ZhciBiPWlrYShhKSxjPV8uQihiLGprYSk7YyYmXy55Tih7SGE6ITAscGY6ITAsR2I6KCk9Pl8uSyhfLmtPLHtkYXRhOmMscHo6ZD0+e2Euc2V0UGxheWJhY2tSYXRlKGQudGFyZ2V0LnZhbHVlQXNOdW1iZXIpfSxvejpkPT57aVMoZC50YXJnZXQudmFsdWVBc051bWJlcil9LHF6OmQ9PnthLnNldFBsYXliYWNrUmF0ZShkKTtkIT09MSYmaVMoZCk7Xy56TigpfX0pfSl9O2pTPWZ1bmN0aW9uKGEpe3JldHVybihhPWxrYVthXSk/YCR7YX1wYDpta2F9O2tTPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5XRCgoKT0+YS5nZXRQbGF5YmFja1F1YWxpdHkoKSksZD1fLldEKCgpPT5hLmdldFByZWZlcnJlZFF1YWxpdHkoKSksZT1qUyhiKTtiPT09ImF1dG8iJiZkPT09ImF1dG8iJiYoZSs9YCAoJHtqUyhjKX0pYCk7cmV0dXJuIGV9Owpva2E9ZnVuY3Rpb24oYSl7Xy55Tih7R2I6KCk9Pl8uSyhua2Ese0g6YX0pLEhhOiEwfSl9O3BTPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZFMoYSwoKT0+Xy5LKF8uSUIsbnVsbCxfLksobFMse0g6Yn0pLF8uSyhtUyx7SDpifSksXy5LKHBrYSx7SDpifSksXy5LKF8uTyx7QTooKT0+Yi5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpPy5sZW5ndGgsdGhlbjooKT0+Xy5LKG5TLHtIOmJ9KX0pLF8uSyhvUyx7SDpiLG9oOmMsdGE6ZCx0QTplfSkpKX07cWthPWZ1bmN0aW9uKGEsYixjKXtkUyhhLCgpPT5fLksoXy5JQixudWxsLFNSKGIsYykpKX07CnJrYT1mdW5jdGlvbihhKXtfLm5QKCk7aWYoYS54YylpZihhLmNhcHRpb25zRW5hYmxlZClxUyhfLiROLlNzKTtlbHNle3ZhciBiPWEuSDtpZihiKXtpZihhPVBRKGIpLGI9TlEoYikpYjp7aWYoYi50cmFuc2xhdGlvbkxhbmd1YWdlJiYoYT1iLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Yi50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fCIiOiIiKSlicmVhayBiO2E9Yi5kaXNwbGF5TmFtZX19ZWxzZSBhPSIiO3FTKGE/Xy4kTi5Vcy5yZXBsYWNlKCJsYW5ndWFnZV9wbGFjZWhvbGRlciIsYSk6Xy4kTi5Ucyl9ZWxzZSBxUyhfLiROLlJzKX07cVM9ZnVuY3Rpb24oYSl7Xy5wUCgoKT0+YSl9O3NrYT1mdW5jdGlvbihhLGIpe3ZhciBjPXJTKGEpO2E9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7YT17Li4uc1MoYSksRWU6ITB9O3JldHVybnt0YTpjLGJhOmEsVGM6ZG9jdW1lbnQuYm9keSxHYzpifX07CnRrYT1mdW5jdGlvbihhLGIpe3ZhciBjPWpqYSgpLGQ9ey4uLnJTKGEpLFNqOmY9Pnt2YXIgaD0hdFMoKSxrPWEuaXNSZWFkeT8uKCkmJiEhYS5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheTtwUyhmLGEsaCxkLGspfSxkZTooKT0+e3ZhciBmPWM/LmdldCgiYXV0b25hdl9lbmFibGVkIik7cmV0dXJuIGY9PT12b2lkIDB8fGY9PT0idHJ1ZSJ9LFJqOihmLGgpPT57aCYmYz8uc2V0KCJhdXRvbmF2X2VuYWJsZWQiLFN0cmluZyhmKSl9LFVsOigpPT5jPy5nZXQoImF1dG9uYXZfZW5hYmxlZCIpIT09dm9pZCAwfSxlPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2U9ey4uLnNTKGUpLHZ2OjM1MCx6djohMCxNbDo0RTMsaGlkZVZpZGVvSW5mbzplLmhpZGVJbmZvfTtyZXR1cm57dGE6ZCxiYTplLFRjOmRvY3VtZW50LmJvZHksR2M6Yn19OwpyUz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKSxjPWdqYSxkPVRRLGU9U1E7aWYoYj8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd1NldEZhdXhGdWxsc2NyZWVuJiZiPy5leHRlcm5hbEZ1bGxzY3JlZW4pe2xldCBmPW5ldyB1a2EoYSk7Yz0oKT0+Zi5pc0Z1bGxzY3JlZW4oKTtkPSgpPT57Zi50b2dnbGVGdWxsc2NyZWVuKCl9O2U9KCk9PntmLmV4aXRGdWxsc2NyZWVuKCl9fXJldHVybntTajpmPT57dmFyIGg9IXRTKCk7YT8uZ2V0U2l6ZSgpPy53aWR0aDwzMjA/cWthKGYsYSxoKTpwUyhmLGEsaCl9LHFBOnJrYSxpc0Z1bGxzY3JlZW46Yyx0b2dnbGVGdWxsc2NyZWVuOmQsZXhpdEZ1bGxzY3JlZW46ZSxkZTooKT0+ITEsUmo6KCk9Pnt9LFVsOigpPT4hMX19OwpzUz1mdW5jdGlvbihhKXtyZXR1cm57RWU6ITAsTWk6ITAsTWw6Xy54KCJlbWJlZHNfZW5hYmxlX2RlbGF5X2NvbnRyb2xzX2hpZGUiKT80RTM6dm9pZCAwLGlxOmEuZGlzYWJsZUZ1bGxzY3JlZW4sbmg6YS5jb250cm9sc1R5cGU9PT0wLG9oOiF0UygpLGhpZGVWaWRlb0luZm86YS5oaWRlSW5mbyYmYS5lbWJlZHNIb3N0RmxhZ3M/Lm9wdE91dEFwaURlcHJlY2F0aW9uLHVqOiEwLER6OiFfLngoImVtYmVkc19lbWMzZHNfcHJlc2VydmVfZnVsbHNjcmVlbl9rcyIpLHpyOiEwLHJBOiEwLFpoOiEwLHZuOiEwLFpBOiFfLngoImVtYmVkc19lbWMzZHNfZnRsX2tzIiksdm9sdW1lQ29udHJvbFR5cGU6Xy54KCJlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlciIpJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKGFueS1wb2ludGVyOiBmaW5lKSIpLm1hdGNoZXM/InZvbHVtZS1zbGlkZXIiOiJtdXRlLWJ1dHRvbiJ9fTsKdFM9ZnVuY3Rpb24oKXtyZXR1cm4gXy50UCgpfHxfLnF6KCkmJiFfLncoIlBMQVlFUl9WQVJTIik/LnByaXZlbWJlZCYmIShfLmVyJiZfLk1rKCJ2ZXJzaW9uLyIpKSYmIV8ucnooKX07dVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGxheWVyU3RhdGU9PT0wfTt3Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS52aWRlb0R1cmF0aW9uP3ZTKGEpP0RRKGEuQ2EvYS52aWRlb0R1cmF0aW9uLDAsMSk6RFEoKGEudmF8fDApL2EudmlkZW9EdXJhdGlvbiwwLDEpOjB9O3hTPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpZGVvRHVyYXRpb24/YS5pc0RyYWdnaW5nfHx2UyhhKT9EUShhLkNhL2EudmlkZW9EdXJhdGlvbiwwLDEpOkRRKChhLnZhfHwwKS9hLnZpZGVvRHVyYXRpb24sMCwxKTowfTt2Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS5LYj4xJiZhLkpkIT09MH07CnlTPWZ1bmN0aW9uKGEpe3JldHVybihfLngoIndlYl9lbmFibGVfZGlic19pbXBsZW1lbnRhdGlvbiIpfHxfLngoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSkmJmEuSD8uZ2V0VmlkZW9EYXRhKGEucGxheWVyVHlwZSk/LmlzU2Vla2FibGV8fGEucGxheWVyVHlwZT09PTE/ITE6YS5iYT8uWmg/IWEuSD8uZ2V0UGxheWVyU3RhdGVPYmplY3QoYS5wbGF5ZXJUeXBlKS5pc0RvbVBhdXNlZDohMH07elM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5hdXRvbmF2VG9nZ2xlLHZrYSl9O0FTPWZ1bmN0aW9uKGEpe3JldHVybiBhPy5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cz8uYXV0b3BsYXk/LmF1dG9wbGF5fTtCUz1mdW5jdGlvbihhKXtyZXR1cm4gYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uYXV0b3BsYXk/LnBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyfTsKRVM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihDUyhhKT8ucGxheWVyQmFyLERTKX07RlM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5tYXJrZXJzTWFwPy5maW5kKGI9PmIua2V5PT09IkhFQVRTRUVLRVIiKT8udmFsdWU/LmhlYXRtYXAsd2thKX07Q1M9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5kZWNvcmF0ZWRQbGF5ZXJCYXJSZW5kZXJlcix4a2EpfTtHUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKENTKGEpPy5wbGF5aGVhZCx5a2EpfTt6a2E9ZnVuY3Rpb24oYSl7cmV0dXJuISFhPy5tYXJrZXJzTWFwPy5maW5kKGI9PlsiREVTQ1JJUFRJT05fQ0hBUFRFUlMiLCJBVVRPX0NIQVBURVJTIl0uaW5jbHVkZXMoYi5rZXkpKX07SlM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSFMoYSxiKXx8SVMoYSk/ITE6IWEuaXNEcmFnZ2luZyYmIXZTKGEpJiYhYS5zYiYmYS5MZiE9PSJvbiJ9OwpIUz1mdW5jdGlvbihhLGIpe3JldHVybiFhLmF1dG9uYXZFbmFibGVkfHxhLnhmfHwhYnx8YS5yY3x8YS5pc1BsYXlsaXN0JiZiPy5zZXRzPy5bMF0uYXV0b3BsYXlWaWRlbz8hMTp1UyhhKX07Q2thPWZ1bmN0aW9uKGEsYil7Yj1iPy5hY3Rpb25CYXJCdXR0b25zO3JldHVybiBfLkIoXy5CKGE/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmZ1bGxzY3JlZW5FbmdhZ2VtZW50LEFrYSk/LmFjdGlvbkJhcixCa2EpPy5hY3Rpb25CYXJCdXR0b25zfHxifHxbXX07TFM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihfLkIoYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZnVsbHNjcmVlblF1aWNrQWN0aW9uc0JhcixLUyk/LmZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludCxEa2EpfTsKTVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmVuZFNjcmVlbj8ud2F0Y2hOZXh0RW5kU2NyZWVuUmVuZGVyZXI/LnJlc3VsdHN8fFtdfTtOUz1mdW5jdGlvbihhLGIpe3JldHVybiBhP2EudmlkZW9EZXRhaWxzPy5lbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlcjpfLkIoYj8udmlkZW9EZXRhaWxzLEVrYSl9O1BTPWZ1bmN0aW9uKGEsYil7Yj1fLkIoYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LmluZm9QYW5lbCxPUyk7cmV0dXJuIF8uQihhPy5pbmZvUGFuZWwsT1MpfHxifTtJUz1mdW5jdGlvbihhKXtyZXR1cm4gYS5OYT8hMDphLkpmIT09MH07CkZrYT1mdW5jdGlvbih7ZWxlbWVudDphLHZlVHlwZTpiLExBOmM9bnVsbCxlbGVtZW50SW5kZXg6ZD0wLGNsaWVudFlvdVR1YmVEYXRhOmV9KXt2YXIgZj1fLmlxKCk7ZiE9PVFTJiYoUlMuY2xlYXIoKSxRUz1mKTtpZihhLnZpc3VhbEVsZW1lbnQmJlJTLmhhcyhhLnZpc3VhbEVsZW1lbnQpKXJldHVybiBudWxsO2lmKGMmJlJTLmhhcyhjKSlyZXR1cm4gYS52aXN1YWxFbGVtZW50PWMsbnVsbDtiPV8uRXgoXy5oeCgpLHt2ZVR5cGU6YixlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTplfSk7aWYoIWIpcmV0dXJuIG51bGw7YS52aXN1YWxFbGVtZW50PWI7UlMuYWRkKGIpO3JldHVybiBifTsKU1M9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPV8uTk4sZT1udWxsLGYsaCl7dmFyIGs9KCk9PntpZihiKXtjIGluc3RhbmNlb2YgRnVuY3Rpb24mJihjPWMoKSk7dmFyIGw9RmthKHtlbGVtZW50OmIsdmVUeXBlOmEsTEE6YyxjbGllbnRZb3VUdWJlRGF0YTpmfSk7bCYmKF8uSngoYix7ZGF0YTplLG9ic2VydmVyOl8ueSgpLnJlc29sdmUoXy5MeCksTmM6Xy5uRixlYjpfLm1GLGxheWVyOmIubGF5ZXJ9KSxkKGwpKX19O2g/aygpOl8uT0UoKCk9PntrKCl9KX07R2thPWZ1bmN0aW9uKGEpe1NTKDExMjM5NCxhLCgpPT5UUyxiPT57VFM9Yn0pfTsKVVM9ZnVuY3Rpb24oYSl7dmFyIGI9VFMsYz1fLmlxKDApO2lmKGMmJmIpe3ZhciBkPU1hdGgucm91bmQoYS52YSoxRTMpO2E9TWF0aC5yb3VuZChhLkNhKjFFMyk7ZD4yKiozMS0xfHxhPjIqKjMxLTF8fF8uVmkoXy5leCkodm9pZCAwLGMsYiwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyIse3NlZWtEYXRhOntzdGFydE1lZGlhVGltZU1zOlN0cmluZyhkKSxlbmRNZWRpYVRpbWVNczpTdHJpbmcoYSksc2Vla1NvdXJjZToiU0VFS19TT1VSQ0VfU0xJREVfT05fU0NSVUJCRVJfQkFSIn19LHZvaWQgMCl9fTtXUz1mdW5jdGlvbihhLGIsYyl7U1MoYixhLCgpPT5WU1tiXSxkPT57VlNbYl09ZDtfLkpPKGQpfSx2b2lkIDAsdm9pZCAwLGMpfTtYUz1mdW5jdGlvbihhKXsoYT1WU1thXSkmJl8ud0ooXy5oeCgpLGEpfTtIa2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5WdygwKSxjPV8uaXEoMCk7YyYmYiYmYSYmXy5WaShfLmJ4KSh2b2lkIDAsYyxiLGEpfTsKWVM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pcSgwKTtiJiZhJiZfLnlKKGIsYSl9O1pTPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaXEoMCk7YiYmYSYmXy5WaShfLkFPKSh2b2lkIDAsYixhLHZvaWQgMCx2b2lkIDAsdm9pZCAwKX07JFM9ZnVuY3Rpb24oYSxiKXtpZighYS5iYT8uWmh8fCFhLkgpcmV0dXJuITE7YT1hLkguZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtyZXR1cm4gYS5pc0Vycm9yfHxiJiYhTVIoYik/ITE6YS5pc0N1ZWR8fGEuaXNEb21QYXVzZWR9O2NUPWZ1bmN0aW9uKGEsYil7YVQmJiFiPy5JY3x8YS5wbGF5ZXJTdGF0ZT09PTJ8fGEucGxheWVyU3RhdGU9PT0tMXx8dVMoYSl8fGEucGxheWVyU3RhdGU9PT01fHwoYj8uSWMmJmJUKCksYVQ9c2V0VGltZW91dCgoKT0+e2EuUyh7ZWE6ITF9KX0sYS5iYT8uTWw/PzJFMykpfTtiVD1mdW5jdGlvbigpe2FUJiYoY2xlYXJUaW1lb3V0KGFUKSxhVD12b2lkIDApfTtJa2E9ZnVuY3Rpb24oYSl7YVQ9YX07CmRUPWZ1bmN0aW9uKGEpe3JldHVybntpc0xpdmU6ITEsaXNMaXZlRHZyRW5hYmxlZDohMCxpc1BsYXlsaXN0OiExLHBsYXllclR5cGU6MSx5cTohMSx2aWRlb0lkOnZvaWQgMCxjYXB0aW9uc0VuYWJsZWQ6ITEseGM6ITEsdm9sdW1lOjAscmM6ITAsSmY6MCxSeDohMSxzYjohMSxXZDohMSxOYTohMSxpc0Z1bGxzY3JlZW46ITEsS2I6MCx5aDowLEpkOjAseGY6ITEsYXV0b25hdkVuYWJsZWQ6ITEsemY6ITEseWY6MCxZaDohMSxpc0RyYWdnaW5nOiExLENhOjAsUWM6ITEsZGo6MCxRbTowLHBsYXllclN0YXRlOmE/LmdldFBsYXllclN0YXRlKCk/Py0xLHZpZGVvRHVyYXRpb246MCx2YTowLE9uOiExLGplOnZvaWQgMCxwbGF5YmFja1JhdGU6MSxlYTohMSx5YjohMSxnZTohMSxMZjoib2ZmIixacjowLExwOjAsWXY6MH19O0prYT1mdW5jdGlvbihhKXthVCYmYlQoKTtJa2Eoc2V0VGltZW91dCgoKT0+e2EuUyh7ZWE6ITEseWI6ITF9KX0sMkUzKSl9OwpLa2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg/LmdldFBsYXllclN0YXRlKCk7IWN8fGM9PT1iLnBsYXllclN0YXRlfHxjIT09MSYmYyE9PTJ8fChjJiYoYz09PTI/Yi5lYT8oYi5TKHt5YjohMX0pLGJUKCkpOmIuUyh7ZWE6ITAseWI6ITF9KTpjPT09MSYmYi5lYSYmIWIuaXNEcmFnZ2luZyYmKGIueWI/SmthKGIpOmIuUyh7ZWE6ITEseWI6ITF9KSkpLGIuUyh7cGxheWVyU3RhdGU6Y30pKX19O0xrYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKSxkPWMuSCxlPWQ/LmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkO2UhPT1jLnZpZGVvSWQmJmI/LnR5cGU9PT0ibmV3ZGF0YSImJihiPWQ/LmdldER1cmF0aW9uKGI/LnBsYXllcnR5cGUpLGJUKCksYy5TKHt2aWRlb0R1cmF0aW9uOmIsdmE6MCx2aWRlb0lkOmUsZWE6ITEseWI6ITF9KSl9fTsKTWthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpLGQ9Yy5IO2lmKGQpe3ZhciBlPWQuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtfLngoIndlYl9zaG9ydHNfdXNlX3Byb2dyZXNzX3N0YXRlX2Zvcl9nYXBsZXNzIik/KGQ9ZC5nZXRQcm9ncmVzc1N0YXRlKGUpLGQ9ZC5zZWVrYWJsZUVuZC1kLnNlZWthYmxlU3RhcnQpOmQ9ZC5nZXREdXJhdGlvbihlKTtjLlMoe3ZhOmIsdmlkZW9EdXJhdGlvbjpkfSl9fX07Z1Q9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm5bXTthPWEubWFya2Vyc01hcD8uZmluZChjPT5bIkRFU0NSSVBUSU9OX0NIQVBURVJTIiwiQVVUT19DSEFQVEVSUyJdLmluY2x1ZGVzKGMua2V5KSk/LnZhbHVlPy5jaGFwdGVyc3x8W107KGEubGVuZ3RoPT09MD8wOl8uQihhWzBdLGVUKT8udGltZVJhbmdlU3RhcnRNaWxsaXMhPT0wKSYmIWI/Lm54JiYoYT1bZlQoKSwuLi5hXSk7cmV0dXJuIGF9O2ZUPWZ1bmN0aW9uKCl7cmV0dXJue2NoYXB0ZXJSZW5kZXJlcjp7dGltZVJhbmdlU3RhcnRNaWxsaXM6MH19fTsKaFQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS50aW1lUmFuZ2VTdGFydE1pbGxpc3x8MDowfTtrVD1mdW5jdGlvbihhLGIpe3JldHVybiBnVChiKS5maW5kKChjLGQsZSk9PmlUKGpUKGEpLGUsZCkuTGQ9PT0iYWN0aXZlIil9O2xUPWZ1bmN0aW9uKGEsYil7aWYoYS5pc0RyYWdnaW5nJiZiKXJldHVybiBhPU5rYShhLGIpLGE9PT0tMT9mVCgpOmdUKGIpW2FdfTtOa2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5pc0RyYWdnaW5nJiZiP2dUKGIse254OiEwfSkuZmluZEluZGV4KChjLGQsZSk9PmlUKGpUKGEpLGUsZCkuQmcpOi0xfTttVD1mdW5jdGlvbihhKXthPV8uQihhLGVUKTthPy5vbkFjdGl2ZUNvbW1hbmQmJl8uYUUoYS5vbkFjdGl2ZUNvbW1hbmQpfTtqVD1mdW5jdGlvbihhKXtyZXR1cm57Li4uYSx2aWRlb0R1cmF0aW9uOmEudmlkZW9EdXJhdGlvbioxRTMsdmE6YS52YSoxRTMsQ2E6YS5DYSoxRTN9fTsKaVQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWhUKF8uQihiW2NdLGVUKSk7Yj1oVChfLkIoYltjKzFdLGVUKSl8fGEudmlkZW9EdXJhdGlvbjtjPWEuaXNEcmFnZ2luZzt2YXIgZTtpZihlPWEuaXNEcmFnZ2luZyllPWEuQ2EsZT1lIT09bnVsbCYmZT49ZCYmZTxiO3ZhciBmPWEudmE7cmV0dXJuIGYhPT1udWxsJiZmPj1kJiZmPGI/e0xkOiJhY3RpdmUiLGJtOmMsQmc6ZX06YS52YTxkP3tMZDoicGVuZGluZyIsYm06YyxCZzplfTp7TGQ6InNlZW4iLGJtOmMsQmc6ZX19O25UPWZ1bmN0aW9uKGEsYixjKXtpZihpVChhLGIsYykuTGQhPT0iYWN0aXZlIilyZXR1cm4gMDt2YXIgZD1oVChfLkIoYltjXSxlVCkpO3JldHVybihhLnZhLWQpLygoaFQoXy5CKGJbYysxXSxlVCkpfHxhLnZpZGVvRHVyYXRpb24pLWQpfTtvVD1mdW5jdGlvbihhLGI9MCl7cmV0dXJuIGEuTGQ9PT0ic2VlbiJ8fGI+MH07CnBUPWZ1bmN0aW9uKGEsYixjKXtiPWEvYi5acjtjPWdUKGMpO2lmKCFjLmxlbmd0aClyZXR1cm4tYio3Mjt2YXIgZD0wO2ZvcihsZXQgZSBvZiBjKWlmKGhUKF8uQihlLGVUKSkvMUUzPGEpZCsrO2Vsc2UgYnJlYWs7cmV0dXJuLShiKjcyKS1kKjU2fTtPa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO2EuQigpO2Quc3RvcFByb3BhZ2F0aW9uKCk7ZD1xVChhLGUsZC5jbGllbnRYKSplLnZpZGVvRHVyYXRpb247ZS5TKHt2YTpkfSk7ZS5wbGF5ZXJTdGF0ZT09PTJ8fGYuRm4/LigpO2EuRC52KGQsZSw3KX19O3JUPWZ1bmN0aW9uKGEpe2E9YS50b3VjaGVzWzBdO3JldHVybnt4OmEuY2xpZW50WCx5OmEuY2xpZW50WX19O1BrYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9clQoYyksZT1iKCk7YS5zdGFydFBvc2l0aW9ufHwoYS5zdGFydFBvc2l0aW9uPWQsYS5CKCksYS5qPWUuZWEsYy5zdG9wUHJvcGFnYXRpb24oKSl9fTsKUWthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD17eDpjLmNsaWVudFgseTpjLmNsaWVudFl9LGU9YigpO2Euc3RhcnRQb3NpdGlvbnx8KGEuc3RhcnRQb3NpdGlvbj1kLGEuQigpLGEuaj1lLmVhLGMuc3RvcFByb3BhZ2F0aW9uKCkpfX07CnRUPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXthLnN0YXJ0UG9zaXRpb24mJihmJiZlLmlqJiZhLnN0YXJ0UG9zaXRpb24mJiFhLm8mJk1hdGguYWJzKGMueS1hLnN0YXJ0UG9zaXRpb24ueSk+TWF0aC5hYnMoYy54LWEuc3RhcnRQb3NpdGlvbi54KT9zVChhLGQsZSk6KGIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGQudmlkZW9EdXJhdGlvbiYmKGEuc3RhcnRQb3NpdGlvbiYmIWEubyYmKGEubz1NYXRoLmFicyhjLngtYS5zdGFydFBvc2l0aW9uLngpPj0xKSxlLktmJiYoYS5zdGFydFBvc2l0aW9uJiYoYS52PS0oYy55LWEuc3RhcnRQb3NpdGlvbi55KT49NjApLCFhLnN0YXJ0UG9zaXRpb258fGMueT49YS5zdGFydFBvc2l0aW9uLnl8fChkLlMoe0xmOiJkcmFnZ2luZyIsTHA6cFQoZC5DYSxkLGUuUmEpfSksYS5VKGQuQ2EpLGEuWihhLnN0YXJ0UG9zaXRpb24ueSxjLnksZCkpKSxhLm8mJihiPXFUKGEsZCxjLngpLGEudiYmKGQuSD8ucGF1c2VWaWRlbygpLGQuUyh7TGY6Im9uIiwKWXY6ZC5DYSxMcDpwVChiKmQudmlkZW9EdXJhdGlvbixkLGUuUmEpfSkpLGUuS2YmJighZS5LZnx8YS5LKGQpPDY4KXx8KGQuaXNEcmFnZ2luZ3x8ZC50YS5rej8uKCksZC5TKHtDYTpiKmQudmlkZW9EdXJhdGlvbixlYTohMCxpc0RyYWdnaW5nOiEwLHliOmEuan0pKSxlLllvPy4oKSkpKSl9O1JrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7dFQoYSxkLHJUKGQpLGUsZiwhMCk7aWYoZi5vblRvdWNoTW92ZSlmLm9uVG91Y2hNb3ZlKGUpfX07dlQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYi5idXR0b25zIT09MSl7aWYoYi5tb3ZlbWVudFh8fGIubW92ZW1lbnRZKWIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGE9cVQoYSxjLGIuY2xpZW50WCksYy5RY3x8Yy50YS5rej8uKCksYy5TKHtRYzohMCxkajphKmMudmlkZW9EdXJhdGlvbn0pfWVsc2UgdVQoYyksdFQoYSxiLHt4OmIuY2xpZW50WCx5OmIuY2xpZW50WX0sYyxkLCExKX07ClNrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2VChhLGQsYigpLGMoKSl9fTtUa2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7dVQoYil9fTtzVD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLktmJiZiLkxmIT09Im9mZiI7Yi5pc0RyYWdnaW5nfHxlPyhkPXtpc0RyYWdnaW5nOiExLHZhOmIuQ2EsZWE6YS5qfSxjLktmJiZiLkxmIT09Im9uIiYmKGEuTSgpLGQuTGY9Im9mZiIpLFVTKGIpLGIuUyhkKSxhLkQudihiLkNhLGIsNyksYy5JbiYmYi5yYyYmYi5IPy51bk11dGUoKSx3VChhKSk6KF8ueCgibWF3cGNfdG91Y2hfZW5kX2hhbmRsZXJfYnVnX2ZpeF9raWxsc3dpdGNoIik/Yi5TKHtlYTohYi5lYX0pOmIuUyh7ZWE6ITB9KSxjLkZuPy4oKSx3VChhKSxfLngoIm1hd3BjX3RvdWNoX2VuZF9oYW5kbGVyX2J1Z19maXhfa2lsbHN3aXRjaCIpfHxkPy5zdG9wUHJvcGFnYXRpb24oKSl9OwpVa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO3NUKGEsZSxmLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9fTtWa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO3NUKGEsZSxmLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9fTtXa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57c1QoYSxiKCksYygpLGQpfX07WGthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yi5rZXlDb2RlPT09Mzl8fGIua2V5Q29kZT09PTM4P2EoKT8uSD8uc2Vla0J5KDUsdm9pZCAwLHZvaWQgMCw3Mik6KGIua2V5Q29kZT09PTM3fHxiLmtleUNvZGU9PT00MCkmJmEoKT8uSD8uc2Vla0J5KC01LHZvaWQgMCx2b2lkIDAsNzEpfX07WWthPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+eyFjKCkuZGlzYWJsZVNjcnViYmluZyYmYS5zdGFydFBvc2l0aW9uJiZ2VChhLGQsYigpLGMoKSl9fTsKeFQ9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57aWYoIWMoKS5kaXNhYmxlU2NydWJiaW5nKWlmKGEuc3RhcnRQb3NpdGlvbil7dmFyIGU9YigpLGY9YygpO3NUKGEsYigpLGMoKSxkKTtpZihmLm9uVG91Y2hFbmQpZi5vblRvdWNoRW5kKGUpfWVsc2UgYigpLlMoe2lzRHJhZ2dpbmc6ITF9KX19O3VUPWZ1bmN0aW9uKGEpe2EuUWMmJmEuUyh7UWM6ITEsZGo6MH0pfTtxVD1mdW5jdGlvbihhLGIsYyl7YT1hLkkoYik7cmV0dXJuIERRKDAsKGMtYS5sZWZ0KS9hLndpZHRoLDEpfTt3VD1mdW5jdGlvbihhKXthLnN0YXJ0UG9zaXRpb249bnVsbDthLm89ITE7YS52PSExO2Euaj0hMX07eVQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS53aWR0aC9hLmNvbHVtbnM6MH07elQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS5oZWlnaHQvYS5yb3dzOjB9O0FUPWZ1bmN0aW9uKGEpe3JldHVybiBhLlFjP2EuZGo6YS5DYX07CkJUPWZ1bmN0aW9uKGEsYil7YT1hLkNhKjFFMztyZXR1cm4gYT49Yi52aXNpYmxlVGltZVJhbmdlU3RhcnRNaWxsaXMmJmE8PWIudmlzaWJsZVRpbWVSYW5nZUVuZE1pbGxpc307Q1Q9ZnVuY3Rpb24oYSl7aWYoYT09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKGEpKXJldHVybiItLTotLSI7dmFyIGI9TWF0aC5hYnMoTWF0aC5mbG9vcihhKSksYz1NYXRoLmZsb29yKGIvODY0MDApLGQ9TWF0aC5mbG9vcihiJTg2NDAwLzM2MDApLGU9TWF0aC5mbG9vcihiJTM2MDAvNjApO2I9TWF0aC5mbG9vcihiJTYwKTt2YXIgZj0iIjtjPjAmJihmKz1gJHtjfTpgLGQ8MTAmJihmKz0iMCIpKTtpZihjPjB8fGQ+MClmKz1gJHtkfTpgLGU8MTAmJihmKz0iMCIpO2YrPWAke2V9OmA7YjwxMCYmKGYrPSIwIik7Zis9YjtyZXR1cm4gYT49MD9mOmAtJHtmfWB9OwpEVD1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9QVQoYSgpKTt2YXIgZD1iKCk7dmFyIGU9YSgpLkg7aWYoZSYmZS5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMoKSE9PTApe3ZhciBmPWUuZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgoYywxKTtmIT09LTE/ZD1lLmdldFN0b3J5Ym9hcmRGcmFtZShmLDEpOihjPWUuZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgoYywwKSxlPWUuZ2V0U3Rvcnlib2FyZEZyYW1lKGMsMCksZCYmZSYmKGUuaGVpZ2h0Kj0zLGUud2lkdGgqPTMpLGQ9ZSl9ZWxzZSBkPW51bGw7aWYoIWQpcmV0dXJuIG51bGw7YigpJiYoZC53aWR0aD05MCpkLmNvbHVtbnMsZC5oZWlnaHQ9MTYwKmQucm93cyk7cmV0dXJuIGR9fTsKJGthPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBhLk5hfHxhLmlzTGl2ZT9kOmI+MT9FVChkKTpzZXRUaW1lb3V0KCgpPT57YygpO25hdmlnYXRvcj8udmlicmF0ZSYmbmF2aWdhdG9yLnZpYnJhdGUoWmthKX0sXy5zaigic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyIsNTAwKSl9O0VUPWZ1bmN0aW9uKGEpe2EhPT12b2lkIDAmJmNsZWFyVGltZW91dChhKX07CkhUPWZ1bmN0aW9uKGEsYil7YS5OYXx8YS5pc0xpdmV8fChiPjEmJkZUKGEpLGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgicHJldmVudC1oaWdobGlnaHRzIiksR1Q9c2V0VGltZW91dCgoKT0+e2EuSD8ucGxheVZpZGVvKCk7YlQoKTthLlMoe3NiOiEwLGVhOiEwfSk7dmFyIGM9Xy5zaigic3BlZWRtYXN0ZXJfcGxheWJhY2tfcmF0ZSIsMiksZD1hLkg7ZD8uc2V0UGxheWJhY2tSYXRlPy4oYyk7Xy54KCJtd2ViX2xvbmdfcHJlc3Nfc3BlZWR1cF92aWJyYXRpb24iKSYmZD8uZ2V0UGxheWJhY2tSYXRlKCk9PT1jJiZuYXZpZ2F0b3I/LnZpYnJhdGUmJm5hdmlnYXRvci52aWJyYXRlKGFsYSl9LF8uc2ooInNwZWVkbWFzdGVyX3RvdWNoX2FjdGl2YXRpb25fbXMiLDUwMCkpKX07CklUPWZ1bmN0aW9uKGEsYixjKXtjLnNiJiZhLnByZXZlbnREZWZhdWx0KCk7YT1iLmxrO2I9Yi5PZDtNYXRoLnNxcnQoYSphK2IqYik+Xy5zaigic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIiwxMCkmJiFjLnNiJiZGVChjKX07RlQ9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCJwcmV2ZW50LWhpZ2hsaWdodHMiKTtHVCYmY2xlYXJUaW1lb3V0KEdUKTthLnNiJiYoYS5TKHtzYjohMSxlYTp1UyhhKX0pLGE9YS5ILHR5cGVvZiBhPy5zZXRQbGF5YmFja1JhdGU9PT0iZnVuY3Rpb24iP2Euc2V0UGxheWJhY2tSYXRlKDEpOl8uV2koRXJyb3IoIiRkIikpKX07CmNsYT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmYSl7dmFyIGQ9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiPWJsYShiLGQud2lkdGgsZC5oZWlnaHQpKWM/LlpBJiYoYz1uZXcgSW1hZ2UsYy5vbmxvYWQ9KCk9PntpamEoKX0sYy5zcmM9YixfLkl6KCJmdHIiKSksYS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9YHVybCgke2J9KWB9fTtibGE9ZnVuY3Rpb24oYSxiLGMpe2lmKChhPWEudGh1bWJuYWlscykmJmEubGVuZ3RoIT09MCl7dmFyIGQ9d2luZG93LmRldmljZVBpeGVsUmF0aW8+MT93aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzoxO2IqPWQ7Yyo9ZDtpZihiPjY0MHx8Yz40ODApcmV0dXJuIGEuYXQoLTEpLnVybDtpZihiPjMyMHx8Yz4xODApe3ZhciBlO2Q9Yj1jPXZvaWQgMDtmb3IoZSBvZiBhKSFkJiZlLndpZHRoPj0zMjA/ZD1lLnVybDohYiYmZS53aWR0aD49NDgwP2I9ZS51cmw6IWMmJmUud2lkdGg+PTY0MCYmKGM9ZS51cmwpO2lmKGU9Y3x8Ynx8ZClyZXR1cm4gZX1yZXR1cm4gYVswXS51cmx9fTsKSlQ9ZnVuY3Rpb24oYSl7KGE9YT8uaGVhZGVyPy5wbGF5bGlzdEhlYWRlclJlbmRlcmVyKT8oYT1fLkIoYS5jaW5lbWF0aWNDb250YWluZXIsZGxhKT8uYmFja2dyb3VuZEltYWdlQ29uZmlnPy50aHVtYm5haWw/LnRodW1ibmFpbHMsYT1hPy5sZW5ndGg/YVthLmxlbmd0aC0xXS51cmw6dm9pZCAwLGE9IWEpOmE9ITE7cmV0dXJuIGF9O0tUPWZ1bmN0aW9uKGEpe2E9YXx8Xy5YRD8ucmVzcG9uc2U/LnJlc3BvbnNlO3JldHVybiBhPy5oZWFkZXI/LnBhZ2VIZWFkZXJSZW5kZXJlcn07T1Q9ZnVuY3Rpb24oKXt2YXIgYT1fLlhEPy5yZXNwb25zZT8ucmVzcG9uc2U7cmV0dXJuISFLVCgpPy50aXRsZUFuaW1hdGlvbnx8SlQoYSl9OwpQVD1mdW5jdGlvbigpe3ZhciBhPV8uWEQ/LnJlc3BvbnNlPy5yZXNwb25zZSxiPUtUKGEpO2lmKGIpYT1iLnRvcEJhckFuaW1hdGlvbj8hMDohMTtlbHNle2lmKGI9WFEoKSYmIV8uVk0oKSliPV8uWmIod2luZG93LmxvY2F0aW9uLmhyZWYsImxpc3QiKSxiPSEoYj8uc3RhcnRzV2l0aCgiRUwiKXx8Yj8uc3RhcnRzV2l0aCgiU0MiKSk7YT1iJiYhSlQoYSl9cmV0dXJuIGF9OwplbGE9ZnVuY3Rpb24oKXtpZihfLncoIk1XRUJfU1RJQ0tZX1BMQVlFUiIsITEpJiZRVCgpJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjc2VhcmNoaW5nIiYmXy5VTSgpIT09InNlYXJjaCIpe3ZhciBhPXdpbmRvdy5zY3JvbGxZLGI7KGI9Xy5WTSgpKXx8KGI9Xy5VTSgpPT09ImNsaXAiKTtpZihiKSFfLlRFKCkmJiFIUSgpfHwoXy5GZWEub2Zmc2V0SGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodCouNj9fLlR0KF8uRUosInN0aWNreS1wbGF5ZXIiKTpfLlN0KF8uRUosInN0aWNreS1wbGF5ZXIiKSksUlQoImluIiksU1Q9YTtlbHNle2I9U1Q+YTt2YXIgYz1hPj00OCxkPWE8MTI2O1NUPWE7Yj8oYz9SVCgiZmlsbGVkIik6UlQoImluIiksSVEoKSYmZD9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItaW4iKSk6Yz9QVCgpfHxPVCgpP1JUKCJmaWxsZWQiKTooUlQoIm91dCIpLElRKCkmJmQ/VFQoImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKTpUVCgiZmlsdGVyLWNoaXAtYmFyLW91dCIpKToKKFJUKCJpbiIpLElRKCk/VFQoImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKTpUVCgiZmlsdGVyLWNoaXAtYmFyLWluIikpfX12YXIgZTtfLlZNKCkmJihlPVFUKCkpIT1udWxsJiYoYT1lLnNldEF0dHJpYnV0ZSxiPV8uTUUoKT8xOjI0LF8uRE4ubGVuZ3RoPjAmJiFfLnhOKCk/KGM9TnVtYmVyKGRvY3VtZW50LmJvZHkuc3R5bGUudG9wLnJlcGxhY2UoLyhweCl8LS9nLCIiKSksYj0haXNOYU4oYykmJmM8Yik6Yj1TVDxiLGEuY2FsbChlLCJhbWJpZW50LXRvcGJhciIsYi50b1N0cmluZygpKSl9O1FUPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWFkZXItYmFyIi50b1N0cmluZygpKX07ClRUPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVU0oKT09PSJob21lInx8SVEoKT9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsdGVyLWNoaXAtYmFyIi50b1N0cmluZygpKTpudWxsO2ImJihfLlR0KGIsImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKSxfLlR0KGIsImZpbHRlci1jaGlwLWJhci1pbiIpLF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLW91dCIpLF8uU3QoYixhKSl9OwpSVD1mdW5jdGlvbihhKXt2YXIgYj1RVCgpO2lmKGIpe2xldCBjPV8uYUwoe1sic3RpY2t5LXBsYXllciJdOl8udygiTVdFQl9TVElDS1lfUExBWUVSIiwhMSksWyJpcy1hdXRvbW90aXZlIl06SFEoKX0pO18uV00oKT9jPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LWJhY2tncm91bmQiLCJzaG9ydHMtdG9wYmFyIik6UFQoKT9jPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LWJhY2tncm91bmQiKTpPVCgpJiYoYz1fLmFMKGMsInRvcGJhci10cmFuc3BhcmVudC10aXRsZSIpKTtiLmNsYXNzTmFtZT1fLmFMKGEsYyl9fTtmbGE9ZnVuY3Rpb24oKXtyZXR1cm4gVVR9O2hsYT1mdW5jdGlvbihhLGIpe2ImJihWVD0hMCk7YT1VVD1hO2I9SlIoKTthIT09YiYmKGI9Xy5IeigpLF8uRHooMTQxLCEwKSxfLkR6KDE0MCwhYSksYi5zYXZlKCkpO2dsYSgpfTtnbGE9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KCgpPT57Xy5YTSgicGxheWVyLWF1dG9uYXYtcGF1c2UiLHtwYXVzZWQ6ITF9KX0pfTsKaWxhPWZ1bmN0aW9uKCl7cmV0dXJuIFZUfTtXVD1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1FKCk/YiYmYT8udmlkZW9EdXJhdGlvbj4zMDpiJiYhYS5lYX07WFQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYiYmYS5lYSYmIV8uTUUoKX07amxhPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYj1iPz9hd2FpdCBfLkxIKCkpYi51bk11dGUoITApLGIuc2V0Vm9sdW1lKGEsITApfTtaVD1mdW5jdGlvbihhLGIpe2EmJihhLnZhbHVlPWAke2J9YCxhLnN0eWxlLnNldFByb3BlcnR5KCItLWdyYWRpZW50LXBlcmNlbnQiLGAke2J9JWApKX07a2xhPWZ1bmN0aW9uKGEpe3JldHVybiBfLngoInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Iik/Xy5rRygkVCk6YX07YVU9ZnVuY3Rpb24oYSl7cmV0dXJuYGh0dHBzOi8vbS55b3V0dWJlLmNvbS9zdGF0aWMvbG90dGllLyR7YX0uanNvbmB9OwpiVT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiYW5pbWF0ZWRfbGlrZV9pY29uIjpyZXR1cm57bmFtZToiYW5pbWF0ZWRfbGlrZV9pY29uX3YyX2RhcmsiLHBhdGg6YVUoImFuaW1hdGVkX2xpa2VfaWNvbl92Ml9kYXJrIiksbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImFuaW1hdGVkLWxpa2UtaWNvbiJ9fTtjYXNlICJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiI6Y2FzZSAibGlrZV90YXBfZmVlZGJhY2tfc2hvcnRzX2hlYXJ0IjpjYXNlICJwYXVzZV85NmRwX2FuaW1hdGlvbiI6Y2FzZSAicGxheV85NmRwX2FuaW1hdGlvbiI6Y2FzZSAic2Vla185NmRwX2FuaW1hdGlvbiI6cmV0dXJue25hbWU6YSxwYXRoOmFVKGEpLGxvb3A6ITEsYXV0b3BsYXk6ITF9O2RlZmF1bHQ6cmV0dXJue25hbWU6IiIscGF0aDoiIn19fTsKY1U9ZnVuY3Rpb24oYSl7Xy5MTygpLnRoZW4oYj0+e2Iuc3RvcCgibGlrZV8yNDBkcF9hbmltYXRpb25fdjIiKTtiLnN0b3AoImxpa2VfdGFwX2ZlZWRiYWNrX3Nob3J0c19oZWFydCIpO2Iuc3RvcCgicGxheV85NmRwX2FuaW1hdGlvbiIpO2Iuc3RvcCgicGF1c2VfOTZkcF9hbmltYXRpb24iKTtiLnBsYXkoYSl9KX07CmxsYT1mdW5jdGlvbihhKXt2YXIgYj1fLkh6KCk7SFEoKXx8YS5xdnx8YS5zdXBwcmVzc0FmdGVyQ2xvc2luZyYmTnVtYmVyKGIuZ2V0KCJzdXBwcmVzc19hcHBfdXBzZWxsIikpJiYhXy54KCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uIil8fChkVXx8KGRVPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGRVLGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCkpLF8uSk4oZFUsbnVsbCwhMCksYSE9PWVVJiYoZlU/LigpLGZVPV8ueEYoZFUsKCk9PntfLm9GKCgpPT57Xy5NTygiLll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdCAuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50cyIpfSk7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTY3JpbUNvbnRhaW5lciJ9LF8uSyhfLlpOLHtsYWJlbDpfLiROLkNMT1NFfSkpLF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lciJ9LApfLksoZ1Use2RhdGE6YX0pKSl9LCJkZCIpKSxlVT1hKX07aFU9ZnVuY3Rpb24oKXtyZXR1cm57c3R5bGU6Im92ZXJsYXktZGFyayIsaWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHNpemU6IkwiLHNpemU6IlMiLHR5cGU6InRleHQiLHN0eWxlOiJvdmVybGF5In19O25sYT1mdW5jdGlvbihhKXt2YXIgYj1fLkIoYS5zaG9wcGluZ1Vwc2VsbCxtbGEpO2ImJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntsbGEoYil9KX07b2xhPWZ1bmN0aW9uKGEpe2E/LmxvZ2dpbmdEaXJlY3RpdmVzPy50cmFja2luZ1BhcmFtcyYmXy5seChfLmh4KCksYS5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtcyl9O2lVPWZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlZNKCl8fF8uVU0oKT09PSJob21lIn07alU9ZnVuY3Rpb24oYSxiKXtpZihiKXtpZihhJiZiLmRhcmtUaGVtZUxvZ28/Lmljb24/Lmljb25UeXBlKXJldHVybiBiLmRhcmtUaGVtZUxvZ28uaWNvbi5pY29uVHlwZTtpZihiLmxpZ2h0VGhlbWVMb2dvPy5pY29uPy5pY29uVHlwZSlyZXR1cm4gYi5saWdodFRoZW1lTG9nby5pY29uLmljb25UeXBlfX07CmxVPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSDtiJiYoa1U9KGE9a1UpPygoYj1OUShiKSk/Yi5kaXNwbGF5TmFtZXx8IiI6bnVsbCl8fGE6UFEoYikpO3JldHVybiBrVX07bVU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSgpLnBsYXllclN0YXRlPT09MCYmISFiJiYhYSgpLnhmJiZhKCkuYXV0b25hdkVuYWJsZWR9O25VPWZ1bmN0aW9uKGEsYil7Yj1NUyhiKTtyZXR1cm4gYSgpLnBsYXllclN0YXRlPT09MCYmYi5sZW5ndGg+MH07b1U9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuSD8uaXNSZWFkeT8uKCkmJmEuSD8uaXNBdExpdmVIZWFkKCl9O3BVPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udHJvbC1vdmVybGF5Iil9O3BsYT1mdW5jdGlvbihhKXthIT09LTEmJl8ueCgicGxheWVyX2NvbnRyb2xzX2xvZ19jcmVhdGlvbl9lbmFibGVkIikmJnBVKCkmJihfLkFxKCJwY3VfY3MiLGEpLF8uQXEoInBjdV9jZSIpKX07CnFVPWZ1bmN0aW9uKGEpe2lmKCFhfHxhLmdldFZpZGVvRGF0YSlyZXR1cm4gYX07cWxhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIE9iamVjdC5rZXlzKGEpKWlmKGFbY10hPT1iW2NdKXJldHVybiExO3JldHVybiEwfTtyVT1mdW5jdGlvbigpe3JldHVybiBfLncoIk1XRUJfU1VQUE9SVFNfRE9VQkxFX1RBUF9UT19TRUVLIil9O3JsYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPGIvMz8tMTphPjIqYi8zPzE6MH07c1U9ZnVuY3Rpb24oYSxiLGMpe3JVKCkmJnZTKHsuLi5jLEpkOmIsS2I6YX0pJiYoKGE9Yy5IKSYmYS5zZWVrQnkoTWF0aC5zaWduKGIpKjEwLHZvaWQgMCx2b2lkIDAsNCksYy5wbGF5ZXJTdGF0ZT09PTJ8fGMuSD8ucGF1c2VWaWRlbygpLGI9PT0tMT9YUygyODIzOSk6WFMoMjgyNDApKX07CnVVPWZ1bmN0aW9uKGEsYil7clUoKSYmKGNsZWFyVGltZW91dCh0VSksdFU9c2V0VGltZW91dCgoKT0+e3ZhciBjPXtLYjowLEpkOjAseWg6MH07aWYodlMoYSkpe3ZhciBkPXVTKGEpfHxhLkNhPj1hLnZpZGVvRHVyYXRpb247Yy5lYT1hLnBsYXllclN0YXRlPT09Mnx8YS5wbGF5ZXJTdGF0ZT09PTN8fGQ7Yy52YT1hLkNhO2MueWI9ITE7YS5IPy5pc1JlYWR5Py4oKSYmKGEuSC5zZWVrVG8oYS5DYSksZD17Li4uYSwuLi5jfSwoZC5pc0xpdmV8fGQudmE8ZC52aWRlb0R1cmF0aW9uKSYmZC5PbiYmZC5IPy5nZXRQbGF5ZXJTdGF0ZSgpIT09MSYmZC5IPy5wbGF5VmlkZW8oKSl9ZWxzZSBhLktiPT09MSYmYj8uKCk7YS5TKGMpO2NsZWFyVGltZW91dCh0VSl9LGEuYmE/LnZ2Pz82MDApKX07c2xhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHJVKCkmJmIhPT0wP2EuSmQhPT1iPzE6KDAsXy5lbCkoKS1hLnloPjM1MD9hLktiOmEuS2IrMTowfTsKdWxhPWFzeW5jIGZ1bmN0aW9uKCl7dmFyIGE9YXdhaXQgdlUuamMoKTthJiYoYT1hd2FpdCBhLmdldCgiYXV0by16b29tLWVuYWJsZWQiKSx0bGEodHlwZW9mIGE9PT0iYm9vbGVhbiI/YTohMCkpfTt3VT1mdW5jdGlvbihhKXt2YXIgYj1hLnRvdWNoZXNbMF0sYz1hLnRvdWNoZXNbMV07YT1iLnBhZ2VYLWMucGFnZVg7Yj1iLnBhZ2VZLWMucGFnZVk7cmV0dXJuIE1hdGguc3FydChhKmErYipiKX07CklVPWZ1bmN0aW9uKGEsYil7eFUoYSkmJihhLnN0b3BQcm9wYWdhdGlvbigpLGE9eVUtelUsQVV8fChhPTApLEZUKGIpLF8ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJihCVT0wLENVKCkmJkRVKCExKSksYi5iYT8uTWl8fChiLk5hfHxiLldkfHxiLnNifHxfLlRFKCl8fF8uTUUoKSYmIWIuaXNGdWxsc2NyZWVufHwoYi5pc0Z1bGxzY3JlZW4mJihhKj0tMSksKGE8LTEwMHx8TWF0aC5hYnMoYSk+MTAwJiZiLmlzRnVsbHNjcmVlbikmJmIudGEudG9nZ2xlRnVsbHNjcmVlbih7ZHM6ITB9KSxFVSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNmb3JtOiJzY2FsZSgxKSIsdHJhbnNpdGlvbjoiMC4ycyBlYXNlIn0pKSxiLldkJiYoKGE9TWF0aC5hYnMoYi5KZik+NTA/IWIuTmE6Yi5OYSl8fGNUKGIpLGIuUyh7V2Q6ITEsTmE6YSxKZjowfSkpKSxGVT0oMCxfLmVsKSgpLHlVPUdVPXpVPUhVPTAsQVU9ITEpfTsKeFU9ZnVuY3Rpb24oYSl7dmFyIGI9W2EudGFyZ2V0Py5nZXRBdHRyaWJ1dGUoImlkIiksLi4uKGEudGFyZ2V0Py5jbGFzc0xpc3R8fFtdKV07cmV0dXJuISEicGxheWVyLWNvbnRyb2wtb3ZlcmxheSBwbGF5ZXItY29udHJvbHMtbWlkZGxlIHBsYXllci1jb250cm9scy1ib3R0b20gZnVsbHNjcmVlbi1jb250cm9scyBwbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZCB0b3AtZnVsbC1zY3JlZW4tY29udHJvbHMiLnNwbGl0KCIgIikuZmluZChjPT5iLmZpbmQoZD0+ZD09PWMpKX07CktVPWZ1bmN0aW9uKGEsYil7aWYoYi5OYSlKVShhKSYmYi5TKHtOYTohMX0pO2Vsc2UgaWYoYi5wbGF5ZXJTdGF0ZSE9PS0xJiZiLnBsYXllclN0YXRlIT09NSlpZihKVShhKSl7dmFyIGM9V1EoYi5IKTtiLlMoe2VhOiEwLHliOiEwLGplOmN9KX1lbHNle3ZhciBkPXJsYShhLmNsaWVudFgsYi5UYy5vZmZzZXRXaWR0aCk7Yz1zbGEoYixkKTt2YXIgZT1jPmIuS2I7bGV0IGY9Yi5DYTtlJiYoZj1jPDI/Yi52YTpEUShiLkNhKyhkPT09LTE/LTE6MSkqMTAsMCxiLnZpZGVvRHVyYXRpb24pLHNVKGMsZCxiKSk7IWIuZWEmJmM8PTE/Y1QoYix7SWM6ITB9KTpiVCgpO2E9Yi5iYT8uenYmJmIuZWEmJiFKVShhKTtkPXtlYTp2bGEoey4uLmIsS2I6Y30pfHxhLFloOiExLEpkOmQsQ2E6ZixLYjpjLHliOiEwLHloOigwLF8uZWwpKCl9O2U/dVUoey4uLmIsS2I6YyxDYTpmfSxhPygpPT57aWYoYi5IPy5pc1JlYWR5Py4oKSl7bGV0IGg9V1EoYi5IKTtiLlMoe2plOmh9KX19OnZvaWQgMCk6YSYmYi5IJiYKKGU9V1EoYi5IKSxiLlMoe2plOmV9KSk7Yz09PTEmJihkLk9uPWIucGxheWVyU3RhdGU9PT0xfHxiLnBsYXllclN0YXRlPT09Myk7Yi5TKGQpfX07SlU9ZnVuY3Rpb24oYSl7cmV0dXJuIV8ueCgibXdlYl9pb3NfZGV0ZWN0X2Zha2VfY2xpY2tfa2lsbHN3aXRjaCIpJiZfLkdLJiZGVT4wJiYoMCxfLmVsKSgpLUZVPDEwMD8hMTp0eXBlb2YgUG9pbnRlckV2ZW50IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBQb2ludGVyRXZlbnQmJmEucG9pbnRlclR5cGU9PT0ibW91c2UifTt2bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHVTKGEpfHxhLnBsYXllclN0YXRlPT09M3x8YS5LYj4xPyEwOiFhLmVhfTt3bGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz17dm9sdW1lOmIuSD8uZ2V0Vm9sdW1lKCk/PzAscmM6ISFiLkg/LmlzTXV0ZWQoKX07Yi5TKGMpfX07CnhsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSDtpZihjKXt2YXIgZD17eGM6ISFjLmdldE9wdGlvbnMoImNhcHRpb25zIil9O2QueGMmJihkLmNhcHRpb25zRW5hYmxlZD1PUShjKSk7Yi5TKGQpfX19Owp6bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hKCksZD1jLkg7aWYoZCYmIWQuaXNLZXlib2FyZERpc2FibGVkPy4oKSYmIXlsYShiLnRhcmdldCxiKSl7c3dpdGNoKGIuY29kZSl7Y2FzZSAiU3BhY2UiOmNhc2UgIktleUsiOmQ9V1EoZCk7Yy5TKHtlYTohMCxqZTpkfSk7YnJlYWs7Y2FzZSAiQXJyb3dMZWZ0IjpjYXNlICJLZXlKIjpMVShjLC0xKTticmVhaztjYXNlICJBcnJvd1JpZ2h0IjpjYXNlICJLZXlMIjpMVShjLDEpO2JyZWFrO2Nhc2UgIktleU0iOmMucmM/ZC51bk11dGUoKTpkLm11dGUoKTtjLlMoe2VhOiEwfSk7YnJlYWs7Y2FzZSAiS2V5RiI6UlEoKTtkLnRvZ2dsZUZ1bGxzY3JlZW4oKTtjLlMoe2VhOiEwfSk7Yi5zdG9wUHJvcGFnYXRpb24oKTticmVhaztjYXNlICJLZXlDIjpjLnhjJiZRUShkLGxVKGMpKTtjLlMoe2VhOiEwfSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59Yi5wcmV2ZW50RGVmYXVsdCgpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fX07CkxVPWZ1bmN0aW9uKGEsYil7aWYoXy54KCJtd2ViX2tleWJvYXJkX3NlZWtfb3ZlcmxheV9raWxsc3dpdGNoIikpYS5IPy5zZWVrQnkoMTAqKGI9PT0tMT8tMToxKSksYS5TKHtlYTohMH0pO2Vsc2V7dmFyIGM9YS5LYixkPWEuSmQsZT0oMCxfLmVsKSgpLGY9ZS1hLnloO2M9ZCE9PWJ8fGY+MzUwPzI6YysxO2Q9Yj09PS0xPy0xOjE7ZD1jPT09Mj8oYS52YXx8MCkrZCoxMDphLkNhK2QqMTA7ZD1EUShkLDAsYS52aWRlb0R1cmF0aW9uKTtlPXtlYTohMCxZaDohMSxKZDpiLENhOmQsS2I6Yyx5YjohMCx5aDplfTtjPT09MiYmKGUuT249YS5wbGF5ZXJTdGF0ZT09PTF8fGEucGxheWVyU3RhdGU9PT0zKTtzVShjLGIsey4uLmEsLi4uZX0pO3VVKHsuLi5hLC4uLmV9KTthLlMoZSl9fTsKeWxhPWZ1bmN0aW9uKGEsYil7aWYoYi5jdHJsS2V5fHxiLmFsdEtleXx8Yi5tZXRhS2V5KXJldHVybiEwO3ZhciBjPWEudGFnTmFtZTtyZXR1cm4gYz09PSJJTlBVVCJ8fGM9PT0iVEVYVEFSRUEifHxjPT09IlNFTEVDVCJ8fGIua2V5PT09IlRhYiJ8fGIuY29kZT09PSJTcGFjZSImJihjPT09IkJVVFRPTiJ8fGM9PT0iQSJ8fChhPWEuZ2V0QXR0cmlidXRlKCJyb2xlIikpJiYoYT09PSJidXR0b24ifHxhPT09Im9wdGlvbiJ8fGEuc3RhcnRzV2l0aCgibWVudWl0ZW0iKSkpPyEwOiExfTsKT1U9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYSgpLHBsYXllclN0YXRlOjB9LGQ9QVMoYigpPy53YXRjaE5leHRSZXNwb25zZSksZT1CUyhiKCk/LndhdGNoTmV4dFJlc3BvbnNlKTtIUyhjLGQpJiYoTVUoYSksYy5TKHt5ZjohZT8uY291bnREb3duU2Vjc3x8ZS5jb3VudERvd25TZWNzPD0wPzEwOmUuY291bnREb3duU2Vjc30pLGM9d2luZG93LnNldEludGVydmFsKCgpPT57dmFyIGY9YSgpO2lmKGYueWYhPT0xKWYuUyh7eWY6Zi55Zi0xfSk7ZWxzZXtNVShhKTtmPWIoKT8ud2F0Y2hOZXh0UmVzcG9uc2U7Zj1BUyhmKTtsZXQgaD1mPy5zZXRzPy5bMF0uYXV0b3BsYXlWaWRlbztoJiZfLkFKKGgsZiwhMSx7YXV0b25hdjoiMSJ9KX19LDFFMyksXy54KCJtd2ViX3BsYXllcl91bmlmaWNhdGlvbl9zdGF0ZV9yZWZhY3Rvcl9raWxsc3dpdGNoIik/TlU9YzphKCkuUyh7Rms6Y30pKX07Ck1VPWZ1bmN0aW9uKGEpeyFfLngoIm13ZWJfcGxheWVyX3VuaWZpY2F0aW9uX3N0YXRlX3JlZmFjdG9yX2tpbGxzd2l0Y2giKSYmYT8oYT1hKCksYS5GayE9PXZvaWQgMCYmKGNsZWFySW50ZXJ2YWwoYS5GayksYS5TKHtGazp2b2lkIDB9KSkpOk5VJiYoY2xlYXJJbnRlcnZhbChOVSksTlU9dm9pZCAwKX07CkJsYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9YSgpLGU9e3hmOiExfTtlLnBsYXllclN0YXRlPWM7ZC5IJiZWUShkLkgpJiYoZS5wbGF5ZXJTdGF0ZT0yKTtjPT09MSYmKGQuSD8ubG9hZE1vZHVsZSgiY2FwdGlvbnMiKSxfLngoIm13ZWJfYmV0dGVyX2NhcHRpb25zX3BsYWNlbWVudCIpJiZkLkg/LnNldFN1YnRpdGxlc1RhcmdldENvbnRhaW5lcklkKCJjYXB0aW9ucy1nYWxvcmUtY29udGFpbmVyIikpO2M9PT0wJiYoZC5IPy51bmxvYWRNb2R1bGUoImNhcHRpb25zIiksXy54KCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiKSYmZC5IPy5jbGVhclN1YnRpdGxlc1RhcmdldENvbnRhaW5lcklkKCkpO2lmKGUucGxheWVyU3RhdGU9PT0tMSllLmVhPSEwO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTUpZS5lYT0hMDtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0zKWUuZWE9ITAsYlQoKTtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0xKWQuc2J8fGQueXF8fChkLnliPwpjVCh7Li4uZCwuLi5lfSk6ZS5lYT0hMSk7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09MiliVCgpO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTApe2UuZWE9ITA7YlQoKTtjPWEoKTt2YXIgZj1iKCk/LndhdGNoTmV4dFJlc3BvbnNlO2lmKGY9Xy5CKGY/LmNvbnRlbnRzPy5zaW5nbGVDb2x1bW5XYXRjaE5leHRSZXN1bHRzPy5hdXRvcGxheT8uYXV0b3BsYXk/LmF1dG9wbGF5RXhwbGljaXRDaG9pY2VEaWFsb2dSZW5kZXJlcixBbGEpKWYuZGlzYWJsZUJ1dHRvblN0eWxlT3ZlcnJpZGVzPSEwOyFjLnRhLlVsKCkmJmYmJihjLnRhLmV4aXRGdWxsc2NyZWVuKCksXy5BSih7b3BlblBvcHVwQWN0aW9uOntwb3B1cDp7Y29uZmlybURpYWxvZ1JlbmRlcmVyOmZ9LHBvcHVwVHlwZToiRElBTE9HIn19LHt9LCExKSk7ZC5hdXRvbmF2RW5hYmxlZCYmKE9VKGEsYiksXy5NTygiI3BsYXllci1lbmRzY3JlZW4gLnl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVsIGJ1dHRvbiIsNSx7cmw6ITB9KSl9ZC5TKGUpfX07CkNsYT1mdW5jdGlvbihhKXtQVSgoKT0+YSkoKX07RGxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpLGM9Yi5IO2MmJlZRKGMpJiZiLlMoe3BsYXllclN0YXRlOjJ9KX19OwpQVT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKTt2YXIgZD1jLkg7dmFyIGU9ZD8uZ2V0VmlkZW9EYXRhKCksZj1lPy5pc0xpdmV8fCExLGg9ZT8udmlkZW9faWQ7ZT1lPy5hbGxvd0xpdmVEdnI/PyEwO2Y9e3ZpZGVvRHVyYXRpb246VVEoZHx8dm9pZCAwKSxpc0xpdmU6Zix2aWRlb0lkOmgsaXNMaXZlRHZyRW5hYmxlZDplfTtmLnZpZGVvSWQhPT1jLnZpZGVvSWQmJihmPXsuLi5kVChkKSwuLi5mfSk7Yj8ucGxheWVydHlwZSYmKGYucGxheWVyVHlwZT1iLnBsYXllcnR5cGUpO2QmJihmLnhjPSEhZC5nZXRPcHRpb25zKCJjYXB0aW9ucyIpLGI9ZixoPShoPWQuZ2V0U3Rvcnlib2FyZExldmVsKGQuZ2V0TnVtYmVyT2ZTdG9yeWJvYXJkTGV2ZWxzKCktMSk/LmludGVydmFsTXMpP2gvMUUzOnZvaWQgMCxiLlpyPWgsZi54YyYmKGYuY2FwdGlvbnNFbmFibGVkPU9RKGQpKSk7Zi5yYz0hIWQ/LmlzTXV0ZWQoKTtkPWY7ZC5hdXRvbmF2RW5hYmxlZD1jLnRhLmRlKCk7ZC5pc1BsYXlsaXN0PQpYUSgpO2MuYmE/Lk1sIT09dm9pZCAwJiYoZC55Yj0hMCk7ZC5pc0Z1bGxzY3JlZW49Yy5pc0Z1bGxzY3JlZW47ZC5wbGF5ZXJTdGF0ZT09PTMmJihkLmVhPSEwKTtkLnBsYXllclN0YXRlPT09LTEmJihkLmVhPSEwKTtiPWMuR2M7eVMoey4uLmMsLi4uZH0pP2ImJihiLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTpiJiYoYi5zdHlsZS5kaXNwbGF5PSIiKTtNVShhKTtjLlMoZCl9fTsKRWxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCksZT1iKCksZj1kLkg7aWYoZil7ZC52aWRlb0lkPT09dm9pZCAwJiZDbGEoZCk7aWYoZSYmYyE9PXZvaWQgMCl7dmFyIGg9ey4uLmQsdmE6Y307KGU9RVMoZS5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpKSYmIWguaXNEcmFnZ2luZyYmKGg9a1QoaCxlKSxtVChoKSl9aD1mLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk7Yz17dmE6Y3x8MCxRbTpmLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24oKSxwbGF5ZXJUeXBlOmh9O3VTKGQpJiYoYy52YT1kLnZpZGVvRHVyYXRpb24pO2QuaXNMaXZlJiYoaD1mLmdldFByb2dyZXNzU3RhdGUoaCksYy52YS09aC5zZWVrYWJsZVN0YXJ0LGMudmlkZW9EdXJhdGlvbj1VUShmKSk7eVMoZCkmJmRlbGV0ZSBjLnZhO2Y9Yzt5Uyh7Li4uZCwuLi5mfSkmJihjPWQuR2MpJiYoYy5zdHlsZS5kaXNwbGF5PSJub25lIik7ZC5TKGYpfX19OwpGbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PnthKCkuUyh7ZWE6ITEscmM6ITF9KX19O0dsYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2EoKS5TKHtpc0Z1bGxzY3JlZW46Yi5mdWxsc2NyZWVuLE5hOiExfSl9fTtIbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg7Yi5TKHtpc0Z1bGxzY3JlZW46Yi50YS5pc0Z1bGxzY3JlZW4oKSxjYXB0aW9uc0VuYWJsZWQ6Yz9PUShjKTpiLmNhcHRpb25zRW5hYmxlZH0pfX07SWxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpO18uVk0oe2hyZWY6d2luZG93LmxvY2F0aW9uLmhyZWZ9KXx8Yi5TKHtpc0Z1bGxzY3JlZW46ITF9KX19OwpKbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7WzkwLDI3MF0uaW5jbHVkZXMoTWF0aC5hYnMod2luZG93Lm9yaWVudGF0aW9uP3dpbmRvdy5vcmllbnRhdGlvbjp3aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbj8uYW5nbGU/d2luZG93LnNjcmVlbi5vcmllbnRhdGlvbi5hbmdsZTowKSk/ZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImxhbmRzY2FwZSIsInRydWUiKTpkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgibGFuZHNjYXBlIik7Yi5OYSYmYi5TKHtOYTohMX0pfX07S2xhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpO2IudGEuZXhpdEZ1bGxzY3JlZW4oKTtiLlMoe2lzRnVsbHNjcmVlbjohMX0pfX07TGxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCk7Yy5kZXRhaWw/LnBhdXNlZD8oTVUoYSksZC56Znx8ZC5TKHt6ZjohMH0pKToodVMoZCkmJk9VKGEsYiksZC56ZiYmZC5TKHt6ZjohMX0pKX19OwpNbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLnRhLmRlKCk7Y3x8TVUoYSk7Yi5TKHthdXRvbmF2RW5hYmxlZDpjfSl9fTtObGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PnthKCkuUyh7Ung6ISFifSl9fTtRVT1mdW5jdGlvbihhKXtNVShhLnByb3BzKTthLnByb3BzKCkuUyh7eGY6ITB9KX07UlU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5XRCgoKT0+YS5zZXRzWzBdLnByZXZpb3VzQnV0dG9uVmlkZW8pLGM9Xy5XRCgoKT0+YS5zZXRzWzBdLm5leHRCdXR0b25WaWRlbyk7cmV0dXJue1VhOmIsbmV4dDpjfX07U1U9ZnVuY3Rpb24oYSxiKXtiPWIoKT8ucnVucz8uWzBdLm5hdmlnYXRpb25FbmRwb2ludDt2YXIgYz1fLkIoYixfLlZEKT8udXJsO2EoKS5IPy5pc0VtYmVkc1Nob3J0c01vZGU/LigpJiZjJiZjLmluY2x1ZGVzKCIvd2F0Y2g/dj0iKSYmKF8uQihiLF8uVkQpLnVybD1jLnJlcGxhY2UoIi93YXRjaD92PSIsIi9zaG9ydHMvIikpO3JldHVybiBifTsKVVU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIiLGU9IiI7c3dpdGNoKGEpe2Nhc2UgLTE6Y2FzZSAwOmQ9Yj8iVk9MVU1FX09GRiI6Yz8iVk9MVU1FX09GRl9ERUxISV9QTEFZRVIiOiJWT0xVTUVfT0ZGX0ZJTExFRCI7ZT1PbGE7YnJlYWs7Y2FzZSAxOmQ9Yj8iVk9MVU1FX1VQX09VVExJTkUiOmM/IlZPTFVNRV9VUF9ERUxISV9QTEFZRVJfRklMTEVEIjoiVk9MVU1FX1VQX0ZJTExFRCI7ZT1UVTticmVhaztjYXNlIDI6ZD1iPyJWT0xVTUVfRE9XTl9PVVRMSU5FIjpjPyJWT0xVTUVfRE9XTl9ERUxISV9QTEFZRVJfRklMTEVEIjoiVk9MVU1FX0RPV05fRklMTEVEIjtlPVRVO2JyZWFrO2RlZmF1bHQ6Xy5lYihhLHZvaWQgMCl9cmV0dXJue2ljb25OYW1lOmQsYXJpYUxhYmVsOmV9fTsKUGxhPWZ1bmN0aW9uKGEsYil7dHlwZW9mIFZVPT09Im51bWJlciImJmNsZWFyVGltZW91dChWVSk7VlU9c2V0VGltZW91dCgoKT0+e2EuUyh7WWg6ITF9KTtWVT12b2lkIDB9LF8uQihiLmVuYWJsZWRFZHVDb21tYW5kLFdVKT8uZHVyYXRpb25Nc3x8NEUzKX07WFU9ZnVuY3Rpb24oYSxiLGMpe2EuUyh7YXV0b25hdkVuYWJsZWQ6YixZaDpjfSk7YS50YS5SaihiLGMpfTtZVT1mdW5jdGlvbihhKXtyZXR1cm4gXy5JRSh7ZGlzcGxheTooKT0+YSgpPyIiOiJub25lIn0pfTtRbGE9ZnVuY3Rpb24oYSl7aWYoXy54KCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIikmJmEpcmV0dXJue3BsYXloZWFkSW1hZ2U6YS5wbGF5aGVhZEltYWdlLHBsYXloZWFkUmV3aW5kSW1hZ2U6YS5wbGF5aGVhZFJld2luZEltYWdlLHBsYXloZWFkRmFzdEZvcndhcmRJbWFnZTphLnBsYXloZWFkRmFzdEZvcndhcmRJbWFnZX19OwpSbGE9ZnVuY3Rpb24oYSl7YT1hPy5nZXRQbGF5ZXJTdGF0ZU9iamVjdD8uKCk7cmV0dXJuKGE/LmlzQ3VlZHx8YT8uaXNVbnN0YXJ0ZWQpJiYhYT8uaXNFcnJvcn07WlU9ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGI9PntiKCl9KTthLmxlbmd0aD0wfTtTbGE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5pZD0icGxheWVyLWNvbnRyb2xzIjtiLmNsYXNzTGlzdC5hZGQoInl0UGxheWVyQ29udHJvbHNDb250YWluZXJIb3N0Iik7dmFyIFtjLGRdPV8uSih7fSx2b2lkIDAsImJqSklsZCIpO2EuYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLCgpPT57JFUoYSxiLGMsZCl9KTthLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57JFUoYSxiLGMsZCl9KTtyZXR1cm4gYn07CiRVPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVRsYShhKTtkKGUpO2hqYShiLCFhLmdldFBsYXllclN0YXRlT2JqZWN0KCk/LmlzRXJyb3J8fCEhYVYoZSkpO2IuaGFzQ2hpbGROb2RlcygpfHxfLnhGKGIsKCk9PlVsYShhLGIsYyksIiRlIil9OwpVbGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uTigoKT0+YVYoYygpKSx2b2lkIDAsImRXNThiZCIpLGU9Xy51RihrPT57aWYoIV8ueCgiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIikpcmV0dXJuITE7dmFyIGw9YygpO3JldHVybihsPWwuamI/LmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllck1vZGU/P2wucGxheWVyUmVzcG9uc2U/LnBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZSk/bD09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiOmt9LHtpbml0aWFsOiExfSksZj1fLnVGKGs9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZmwiKSlyZXR1cm4hMTt2YXIgbD1jKCk7cmV0dXJuKGw9bC5qYj8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZT8/bC5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlKT8KbD09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiOmt9LHtpbml0aWFsOiExfSksaD1fLk4oKCk9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpfHxfLngoImVtYmVkc19lbmFibGVfc2hvcnRzX2NvdW50ZXJmYWN0dWFsIikpcmV0dXJuITE7dmFyIGs9YygpLlBoPy5lbmRwb2ludDtyZXR1cm4hKCFrfHwhXy5CKGssXy5URCkpfSx2b2lkIDAsIldxZ0pyYiIpO18ubkUoKCk9PntfLngoImVtYmVkc19lbmFibGVfc2hvcnRzIikmJihfLngoImVtYmVkc19lbmFibGVfc2hvcnRzX2NvdW50ZXJmYWN0dWFsIil8fChlKCl8fGYoKXx8IWgoKT9hLnNldExvb3BWaWRlbyghMSk6YS5zZXRMb29wVmlkZW8oITApKSl9LCJaZ1V3Z2UiKTtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+ZCgpfSwoKT0+Xy5LKGJWLHtkYXRhOigpPT5kKCl9KSksXy5LKF8uQ0Use3doZW46ZX0sKCk9Pl8uSyhWbGEse0g6YSxjb250ZXh0OnRrYShhLGIpLGRhdGE6Y30pKSxfLksoXy5DRSwKe3doZW46Zn0sKCk9Pnt2YXIgaz1yUyhhKSxsPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2w9ey4uLnNTKGwpLFh3OiEwLFl3OiEwfTtyZXR1cm4gXy5LKGNWLHtjb250ZXh0Ont0YTprLGJhOmwsVGM6ZG9jdW1lbnQuYm9keSxHYzpifSxkYXRhOmN9KX0pLF8uSyhfLkNFLHt3aGVuOmh9LCgpPT5fLksoV2xhLHtyZWVsSXRlbVdhdGNoUmVzcG9uc2U6KCk9PmMoKS5yZWVsSXRlbVdhdGNoUmVzcG9uc2UsamI6KCk9PmMoKS5qYixQaDooKT0+YygpLlBoLEg6KCk9PmEsY29udGV4dDpza2EoYSxiKX0pKSxfLksoXy5ERSxudWxsLCgpPT57dmFyIGs9clMoYSksbD1zUyhhLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKSk7cmV0dXJuIF8uSyhjVix7Y29udGV4dDp7dGE6ayxiYTpsLFRjOmRvY3VtZW50LmJvZHksR2M6Yn0sZGF0YTpjfSl9KSl9OwphVj1mdW5jdGlvbihhKXtyZXR1cm4gYS5qYj8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzPy5lcnJvclNjcmVlbj8ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJ8fGEucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzPy5lcnJvclNjcmVlbj8ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJ9O1RsYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclJlc3BvbnNlKCksYz1hLmdldFdhdGNoTmV4dFJlc3BvbnNlKCksZD1hLmdldFJlZWxJdGVtV2F0Y2hSZXNwb25zZSgpLGU9YS5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCksZj1hLmdldFJlc29sdmVVcmxSZXNwb25zZSgpO3JldHVybntwbGF5ZXJPdmVybGF5UmVuZGVyZXI6Yz8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcixwbGF5ZXJSZXNwb25zZTpiLFBoOmYsd2F0Y2hOZXh0UmVzcG9uc2U6YyxyZWVsSXRlbVdhdGNoUmVzcG9uc2U6ZCxqYjplLEg6YX19OwpfLmRWPWZ1bmN0aW9uKGEpe18uQXEoImVwX2luaXRfcnMiKTt2YXIgYj1kb2N1bWVudC5ib2R5O2E9U2xhKGEpO2IuYXBwZW5kQ2hpbGQoYSk7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmlkPSJib3R0b20tc2hlZXQtd3JhcHBlciI7KDAsXy5JQykoYSxVamEpO2IuYXBwZW5kQ2hpbGQoYSk7Xy5BcSgiZXBfaW5pdF9yZSIpfTtfLmc9RlEucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgRlEodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKXy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLmVWJiZhIGluc3RhbmNlb2YgXy5lVj9hLng+PXRoaXMubGVmdCYmYS54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PWEubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PWEubGVmdCthLndpZHRoJiZ0aGlzLnRvcDw9YS50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1hLnRvcCthLmhlaWdodH07Xy5nLmdldFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8ubmQodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguY2VpbCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguY2VpbCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Cl8uZy5mbG9vcj1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBfLmVWJiZhIGluc3RhbmNlb2YgXy5lVj8odGhpcy5sZWZ0Kz1hLngsdGhpcy50b3ArPWEueSk6KHRoaXMubGVmdCs9YSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy50b3ArPWIpKTtyZXR1cm4gdGhpc307Cl8uZy5zY2FsZT1mdW5jdGlvbihhLGIpe2I9dHlwZW9mIGI9PT0ibnVtYmVyIj9iOmE7dGhpcy5sZWZ0Kj1hO3RoaXMud2lkdGgqPWE7dGhpcy50b3AqPWI7dGhpcy5oZWlnaHQqPWI7cmV0dXJuIHRoaXN9Owp2YXIgdlU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy50b2tlbj1hfXN0YXRpYyBhc3luYyBqYygpe3JldHVybiBuZXcgUHJvbWlzZShhPT57Xy5QbCgpLnRoZW4oYj0+e2I/KHZVLmluc3RhbmNlfHwodlUuaW5zdGFuY2U9bmV3IHZVKGIpKSxhKHZVLmluc3RhbmNlKSk6YSh2b2lkIDApfSl9KX1hc3luYyBnZXQoYSl7aWYoYT1hd2FpdCAoYXdhaXQgR1EodGhpcy50b2tlbikpLmdldCgicHJlZnMiLGEpKXt2YXIgYj0oMCxfLmVsKSgpO3JldHVybiBhLmV4cGlyYXRpb25UaW1lc3RhbXBNczw9Yj92b2lkIDA6YS52YWx1ZX19YXN5bmMgc2V0KGEsYixjPTMxNTM2RTMpe3ZhciBkPSgwLF8uZWwpKCk7YT17a2V5OmEsdmFsdWU6YixleHBpcmF0aW9uVGltZXN0YW1wTXM6ZCtjKjFFM307Yj1hd2FpdCBHUSh0aGlzLnRva2VuKTthd2FpdCBfLm1sKGIsInByZWZzIixhKX1hc3luYyByZW1vdmUoYSl7YXdhaXQgKGF3YWl0IEdRKHRoaXMudG9rZW4pKS5kZWxldGUoInByZWZzIixhKX19LFlRPQpudWxsLGZWPXtTbjp7MUUzOntvdGhlcjoiMEsifSwxRTQ6e290aGVyOiIwMEsifSwxRTU6e290aGVyOiIwMDBLIn0sMUU2OntvdGhlcjoiME0ifSwxRTc6e290aGVyOiIwME0ifSwxRTg6e290aGVyOiIwMDBNIn0sMUU5OntvdGhlcjoiMEIifSwxRTEwOntvdGhlcjoiMDBCIn0sMUUxMTp7b3RoZXI6IjAwMEIifSwxRTEyOntvdGhlcjoiMFQifSwxRTEzOntvdGhlcjoiMDBUIn0sMUUxNDp7b3RoZXI6IjAwMFQifX0sVnM6ezFFMzp7b3RoZXI6IjAgdGhvdXNhbmQifSwxRTQ6e290aGVyOiIwMCB0aG91c2FuZCJ9LDFFNTp7b3RoZXI6IjAwMCB0aG91c2FuZCJ9LDFFNjp7b3RoZXI6IjAgbWlsbGlvbiJ9LDFFNzp7b3RoZXI6IjAwIG1pbGxpb24ifSwxRTg6e290aGVyOiIwMDAgbWlsbGlvbiJ9LDFFOTp7b3RoZXI6IjAgYmlsbGlvbiJ9LDFFMTA6e290aGVyOiIwMCBiaWxsaW9uIn0sMUUxMTp7b3RoZXI6IjAwMCBiaWxsaW9uIn0sMUUxMjp7b3RoZXI6IjAgdHJpbGxpb24ifSwxRTEzOntvdGhlcjoiMDAgdHJpbGxpb24ifSwKMUUxNDp7b3RoZXI6IjAwMCB0cmlsbGlvbiJ9fX0sclI9ZlY7clI9ZlY7dmFyIHFSPXtBRUQ6WzIsImRoIiwiXHUwNjJmLlx1MDYyNS4iXSxBTEw6WzAsIkxlayIsIkxlayJdLEFVRDpbMiwiJCIsIkFVJCJdLEJEVDpbMiwiXHUwOWYzIiwiVGsiXSxCR046WzIsImxldiIsImxldiJdLEJSTDpbMiwiUiQiLCJSJCJdLENBRDpbMiwiJCIsIkMkIl0sQ0RGOlsyLCJGckNEIiwiQ0RGIl0sQ0hGOlsyLCJDSEYiLCJDSEYiXSxDTFA6WzAsIiQiLCJDTCQiXSxDTlk6WzIsIlx1MDBhNSIsIlJNQlx1MDBhNSJdLENPUDpbMzIsIiQiLCJDT0wkIl0sQ1JDOlswLCJcdTIwYTEiLCJDUlx1MjBhMSJdLENaSzpbNTAsIktcdTAxMGQiLCJLXHUwMTBkIl0sREtLOls1MCwia3IuIiwia3IuIl0sRE9QOlsyLCJSRCQiLCJSRCQiXSxFR1A6WzIsIlx1MDBhMyIsIkxFIl0sRVRCOlsyLCJCaXJyIiwiQmlyciJdLEVVUjpbMiwiXHUyMGFjIiwiXHUyMGFjIl0sR0JQOlsyLCJcdTAwYTMiLCJHQlx1MDBhMyJdLEhLRDpbMiwiJCIsIkhLJCJdLEhSSzpbMiwia24iLCJrbiJdLEhVRjpbMzQsCiJGdCIsIkZ0Il0sSURSOlswLCJScCIsIlJwIl0sSUxTOlszNCwiXHUyMGFhIiwiSUxcdTIwYWEiXSxJTlI6WzIsIlx1MjBiOSIsIlJzIl0sSVJSOlswLCJSaWFsIiwiSVJSIl0sSVNLOlswLCJrciIsImtyIl0sSk1EOlsyLCIkIiwiSkEkIl0sSlBZOlswLCJcdTAwYTUiLCJKUFx1MDBhNSJdLEtSVzpbMCwiXHUyMGE5IiwiS1JcdTIwYTkiXSxMS1I6WzIsIlJzIiwiU0xScyJdLExUTDpbMiwiTHQiLCJMdCJdLE1OVDpbMCwiXHUyMGFlIiwiTU5cdTIwYWUiXSxNVlI6WzIsIlJmIiwiTVZSIl0sTVhOOlsyLCIkIiwiTWV4JCJdLE1ZUjpbMiwiUk0iLCJSTSJdLE5PSzpbNTAsImtyIiwiTk9rciJdLFBBQjpbMiwiQi8uIiwiQi8uIl0sUEVOOlsyLCJTLy4iLCJTLy4iXSxQSFA6WzIsIlx1MjBiMSIsIlBIUCJdLFBLUjpbMCwiUnMiLCJQS1JzLiJdLFBMTjpbNTAsInpcdTAxNDIiLCJ6XHUwMTQyIl0sUk9OOlsyLCJST04iLCJST04iXSxSU0Q6WzAsImRpbiIsIlJTRCJdLFJVQjpbNTAsIlx1MjBiZCIsCiJSVUIiXSxTQVI6WzIsIlNBUiIsIlNBUiJdLFNFSzpbNTAsImtyIiwia3IiXSxTR0Q6WzIsIiQiLCJTJCJdLFRIQjpbMiwiXHUwZTNmIiwiVEhCIl0sVFJZOlsyLCJcdTIwYmEiLCJUUlkiXSxUV0Q6WzIsIiQiLCJOVCQiXSxUWlM6WzAsIlRTaCIsIlRTaCJdLFVBSDpbMiwiXHUwNDMzXHUwNDQwXHUwNDNkLiIsIlVBSCJdLFVTRDpbMiwiJCIsIlVTJCJdLFVZVTpbMiwiJCIsIiRVIl0sVk5EOls0OCwiXHUyMGFiIiwiVk5cdTIwYWIiXSxZRVI6WzAsIlJpYWwiLCJSaWFsIl0sWkFSOlsyLCJSIiwiWkFSIl19O3ZhciBnVjsKZ1Y9e0RBWTp7TE9ORzoib25leyMgZGF5fW90aGVyeyMgZGF5c30iLFNIT1JUOiJvbmV7IyBkYXl9b3RoZXJ7IyBkYXlzfSIsTkFSUk9XOiJvbmV7I2R9b3RoZXJ7I2R9In0sSE9VUjp7TE9ORzoib25leyMgaG91cn1vdGhlcnsjIGhvdXJzfSIsU0hPUlQ6Im9uZXsjIGhyfW90aGVyeyMgaHJ9IixOQVJST1c6Im9uZXsjaH1vdGhlcnsjaH0ifSxNSU5VVEU6e0xPTkc6Im9uZXsjIG1pbnV0ZX1vdGhlcnsjIG1pbnV0ZXN9IixTSE9SVDoib25leyMgbWlufW90aGVyeyMgbWlufSIsTkFSUk9XOiJvbmV7I219b3RoZXJ7I219In0sTU9OVEg6e0xPTkc6Im9uZXsjIG1vbnRofW90aGVyeyMgbW9udGhzfSIsU0hPUlQ6Im9uZXsjIG10aH1vdGhlcnsjIG10aHN9IixOQVJST1c6Im9uZXsjbX1vdGhlcnsjbX0ifSxTRUNPTkQ6e0xPTkc6Im9uZXsjIHNlY29uZH1vdGhlcnsjIHNlY29uZHN9IixTSE9SVDoib25leyMgc2VjfW90aGVyeyMgc2VjfSIsTkFSUk9XOiJvbmV7I3N9b3RoZXJ7I3N9In0sV0VFSzp7TE9ORzoib25leyMgd2Vla31vdGhlcnsjIHdlZWtzfSIsClNIT1JUOiJvbmV7IyB3a31vdGhlcnsjIHdrc30iLE5BUlJPVzoib25leyN3fW90aGVyeyN3fSJ9LFlFQVI6e0xPTkc6Im9uZXsjIHllYXJ9b3RoZXJ7IyB5ZWFyc30iLFNIT1JUOiJvbmV7IyB5cn1vdGhlcnsjIHlyc30iLE5BUlJPVzoib25leyN5fW90aGVyeyN5fSJ9fTt2YXIgaFY9e0NlOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSwgezF9Il0sUm46WyJ7MH0gYW5kIHsxfSIsInswfSAmIHsxfSIsInswfSwgezF9Il0sbWs6WyJ7MH0sIGFuZCB7MX0iLCJ7MH0sICYgezF9IiwiezB9LCB7MX0iXSxpbzpbInswfSBvciB7MX0iLCJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSJdLHhrOlsiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9Il0scm86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLHFvOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxBazpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il19OwpoVj17Q2U6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9LCB7MX0iXSxSbjpbInswfSBhbmQgezF9IiwiezB9ICYgezF9IiwiezB9LCB7MX0iXSxtazpbInswfSwgYW5kIHsxfSIsInswfSwgJiB7MX0iLCJ7MH0sIHsxfSJdLGlvOlsiezB9IG9yIHsxfSIsInswfSBvciB7MX0iLCJ7MH0gb3IgezF9Il0seGs6WyJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iXSxybzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0scW86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLEFrOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXX07dmFyIFhsYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPXt0eXBlOiJ1bml0IixzdHlsZToibmFycm93In07dGhpcy5JPWEmJmEudHlwZT9hLnR5cGU6ImNvbmp1bmN0aW9uIjt0aGlzLks9YSYmYS5zdHlsZT9hLnN0eWxlOiJsb25nIjt0aGlzLmo9aFY7YT0wO3N3aXRjaCh0aGlzLkspe2Nhc2UgInNob3J0IjphPTE7YnJlYWs7Y2FzZSAibmFycm93IjphPTJ9c3dpdGNoKHRoaXMuSSl7Y2FzZSAiY29uanVuY3Rpb24iOnRoaXMuQj10aGlzLmouQ2VbYV07dGhpcy5EPSh0aGlzLmouUm58fHRoaXMuai5taylbYV07dGhpcy52PSh0aGlzLmouakN8fHRoaXMuai5DZSlbYV07dGhpcy5vPXRoaXMuai5ta1thXTticmVhaztjYXNlICJkaXNqdW5jdGlvbiI6dGhpcy5CPSh0aGlzLmouUUZ8fHRoaXMuai5DZSlbYV07dGhpcy5EPSh0aGlzLmouaW98fHRoaXMuai54aylbYV07dGhpcy52PSh0aGlzLmouUEZ8fHRoaXMuai5DZSlbYV07dGhpcy5vPXRoaXMuai54a1thXTticmVhaztjYXNlICJ1bml0Ijp0aGlzLkI9Cih0aGlzLmoucm98fHRoaXMuai5DZSlbYV0sdGhpcy5EPSh0aGlzLmouQUh8fHRoaXMuai5BaylbYV0sdGhpcy52PSh0aGlzLmoucW98fHRoaXMuai5DZSlbYV0sdGhpcy5vPXRoaXMuai5Ba1thXX19Zm9ybWF0KGEpe3JldHVybiB4amEodGhpcyxhKX19O3ZhciBpUj17YXI6ImxhdG4iLCJhci1FRyI6ImFyYWIiLGJuOiJiZW5nIixmYToiYXJhYmV4dCIsbXI6ImRldmEiLG15OiJteW1yIixuZToiZGV2YSJ9O3ZhciBpVj17Vm46Ii4iLHJrOiIsIixqbzoiJSIsQms6IjAiLFd0OiIrIixhbzoiLSIsWW46IkUiLGtvOiJcdTIwMzAiLHNrOiJcdTIyMWUiLEJ0OiJOYU4iLGd0OiIjLCMjMC4jIyMiLHpHOiIjRTAiLFNGOiIjLCMjMCUiLEZDOiJcdTAwYTQjLCMjMC4wMCIsV246IlVTRCJ9LGRSPWlWO2RSPWlWO3ZhciBlUj1JbnRsLk51bWJlckZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoWyJlbi1VUyIucmVwbGFjZSgiXyIsIi0iKV0pLmxlbmd0aD4wLGpSPSExOwpoUi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSxiKXtiPWJ8fFswXTtpZih0aGlzLm9hIT09MCl0aHJvdyBFcnJvcigiT2QiKTthPWEucmVwbGFjZSgvIHxcdTIwMmYvZywiXHUwMGEwIik7dmFyIGM9YS5pbmRleE9mKHRoaXMuTSxiWzBdKT09YlswXSxkPWEuaW5kZXhPZih0aGlzLkQsYlswXSk9PWJbMF07YyYmZCYmKHRoaXMuTS5sZW5ndGg+dGhpcy5ELmxlbmd0aD9kPSExOnRoaXMuTS5sZW5ndGg8dGhpcy5ELmxlbmd0aCYmKGM9ITEpKTtjP2JbMF0rPXRoaXMuTS5sZW5ndGg6ZCYmKGJbMF0rPXRoaXMuRC5sZW5ndGgpO2lmKGEuaW5kZXhPZihkUi5zayxiWzBdKT09YlswXSl7YlswXSs9ZFIuc2subGVuZ3RoO3ZhciBlPUluZmluaXR5fWVsc2V7ZT1hO2xldCBmPSExLGg9ITEsaz0hMSxsPS0xLG09MSxuPWRSLlZuLHA9ZFIucmsscj1kUi5ZbjtpZih0aGlzLm9hIT0wKXRocm93IEVycm9yKCJQZCIpO3A9cC5yZXBsYWNlKC9cdTIwMmYvZywiXHUwMGEwIik7bGV0IHQ9IiI7Zm9yKDtiWzBdPAplLmxlbmd0aDtiWzBdKyspe2xldCB2PWUuY2hhckF0KGJbMF0pLHo9cFIodik7aWYoej49MCYmejw9OSl0Kz16LGs9ITA7ZWxzZSBpZih2PT1uLmNoYXJBdCgwKSl7aWYoZnx8aClicmVhazt0Kz0iLiI7Zj0hMH1lbHNlIGlmKHY9PXAuY2hhckF0KDApJiYoIlx1MDBhMCIhPXAuY2hhckF0KDApfHxiWzBdKzE8ZS5sZW5ndGgmJnBSKGUuY2hhckF0KGJbMF0rMSkpPj0wKSl7aWYoZnx8aClicmVha31lbHNlIGlmKHY9PXIuY2hhckF0KDApKXtpZihoKWJyZWFrO3QrPSJFIjtoPSEwO2w9YlswXX1lbHNlIGlmKHY9PSIrInx8dj09Ii0iKXtpZihrJiZsIT1iWzBdLTEpYnJlYWs7dCs9dn1lbHNlIGlmKHRoaXMudj09MSYmdj09ZFIuam8uY2hhckF0KDApKXtpZihtIT0xKWJyZWFrO209MTAwO2lmKGspe2JbMF0rKzticmVha319ZWxzZSBpZih0aGlzLnY9PTEmJnY9PWRSLmtvLmNoYXJBdCgwKSl7aWYobSE9MSlicmVhazttPTFFMztpZihrKXtiWzBdKys7YnJlYWt9fWVsc2UgYnJlYWt9dGhpcy52IT0KMSYmKG09dGhpcy52KTtlPXBhcnNlRmxvYXQodCkvbX1pZihjKXtpZihhLmluZGV4T2YodGhpcy5nYSxiWzBdKSE9YlswXSlyZXR1cm4gTmFOO2JbMF0rPXRoaXMuZ2EubGVuZ3RofWVsc2UgaWYoZCl7aWYoYS5pbmRleE9mKHRoaXMuVSxiWzBdKSE9YlswXSlyZXR1cm4gTmFOO2JbMF0rPXRoaXMuVS5sZW5ndGh9cmV0dXJuIGQ/LWU6ZX07CmhSLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5CPnRoaXMuail0aHJvdyBFcnJvcigiU2QiKTtpZihlUiYmdGhpcy5LKXsodGhpcy5LLmZvcm1hdD09bnVsbHx8dGhpcy5RYXx8dGhpcy5NYXx8dGhpcy5WZHx8alIpJiZmUih0aGlzKTtpZihNYXRoLmFicyhhKTwxJiZ0aGlzLmhhPnRoaXMuail7dmFyIGI9TWF0aC5wb3coMTAsdGhpcy5qKTthPU1hdGgucm91bmQoTWF0aC5hYnMoYSkqYikqTWF0aC5zaWduKGEpL2J9dGhpcy5LLnJlc29sdmVkT3B0aW9ucygpO3JldHVybiB0aGlzLksuZm9ybWF0KGEpfWlmKGlzTmFOKGEpKXJldHVybiBkUi5CdDtiPVtdO3ZhciBjPWE7aWYodGhpcy5vYT09MCljPXNSO2Vsc2V7Yz1NYXRoLmFicyhjKTt2YXIgZD10Uih0aGlzLGM8PTE/MDp1UihjKSkucGw7Yz10Uih0aGlzLGQrdVIobVIodGhpcyxrUihjLC1kKSkuaW50VmFsdWUpKX1hPWtSKGEsLWMucGwpOyhkPWE8MHx8YT09MCYmMS9hPDApP2Mud20/Yi5wdXNoKGMud20pOgooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5EKSk6KGIucHVzaChjLnByZWZpeCksYi5wdXNoKHRoaXMuTSkpO2lmKGlzRmluaXRlKGEpKWlmKGEqPWQ/LTE6MSxhKj10aGlzLnYsdGhpcy5GYSl7dmFyIGU9YTtpZihlPT0wKW5SKHRoaXMsZSx0aGlzLm8sYiksb1IodGhpcywwLGIpO2Vsc2V7dmFyIGY9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZygxMCkrMkUtMTUpO2U9a1IoZSwtZik7dmFyIGg9dGhpcy5vO3RoaXMuWj4xJiZ0aGlzLlo+dGhpcy5vPyhoPWYldGhpcy5aLGg8MCYmKGg9dGhpcy5aK2gpLGU9a1IoZSxoKSxmLT1oLGg9MSk6dGhpcy5vPDE/KGYrKyxlPWtSKGUsLTEpKTooZi09dGhpcy5vLTEsZT1rUihlLHRoaXMuby0xKSk7blIodGhpcyxlLGgsYik7b1IodGhpcyxmLGIpfX1lbHNlIG5SKHRoaXMsYSx0aGlzLm8sYik7ZWxzZSBiLnB1c2goZFIuc2spO2Q/Yy54bT9iLnB1c2goYy54bSk6KGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLlUpKToKKGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLmdhKSk7cmV0dXJuIGIuam9pbigiIil9O3ZhciB5amE9IjAiLmNvZGVQb2ludEF0KDApLHNSPXtwbDowLHdtOiIiLHhtOiIiLHByZWZpeDoiIixzdWZmaXg6IiJ9O3ZhciBqVixCamE9alY9alY9emphO3ZhciBrVixDUj1rVj1rVj1BamE7dmFyIHdSPW51bGwseFI9bnVsbCx5Uj1udWxsLERqYT1SZWdFeHAoIicoW3t9I10uKj8pJyIsImciKSxDamE9UmVnRXhwKCInJyIsImciKTt6Ui5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGEpe2lmKHRoaXMudil7dGhpcy5EPVtdO3ZhciBiPUVqYSh0aGlzLHRoaXMudik7dGhpcy5vPUhSKHRoaXMsYik7dGhpcy52PW51bGx9aWYodGhpcy5vJiZ0aGlzLm8ubGVuZ3RoIT0wKWZvcih0aGlzLmo9Xy55Yih0aGlzLkQpLGI9W10sQVIodGhpcyx0aGlzLm8sYSwhMSxiKSxhPWIuam9pbigiIik7dGhpcy5qLmxlbmd0aD4wOylhPWEucmVwbGFjZSh0aGlzLkIodGhpcy5qKSxTdHJpbmcodGhpcy5qLnBvcCgpKS5yZXBsYWNlKCIkIiwiJCQkJCIpKTtlbHNlIGE9IiI7cmV0dXJuIGF9O3ZhciBFUj0vXlxzKihcdyspXHMqLFxzKnBsdXJhbFxzKiwoPzpccypvZmZzZXQ6KFxkKykpPy8sRlI9L15ccyooXHcrKVxzKixccypzZWxlY3RvcmRpbmFsXHMqLC8sR1I9L15ccyooXHcrKVxzKixccypzZWxlY3RccyosLzsKelIucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7cmV0dXJuIlx1ZmRkZl8iKyhhLmxlbmd0aC0xKS50b1N0cmluZygxMCkrIl8ifTt2YXIgVGphPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVlsYXx8Z1Z9Zm9ybWF0KGEpe3ZhciBiPVtdLGM9YS55ZWFycyxkPWEubW9udGhzLGU9YS53ZWVrcyxmPWEuZGF5cyxoPWEuaG91cnMsaz1hLm1pbnV0ZXM7YT1hLnNlY29uZHM7YyE9bnVsbCYmYi5wdXNoKElSKHRoaXMsYywieWVhcnMiKSk7ZCE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZCwibW9udGhzIikpO2UhPW51bGwmJmIucHVzaChJUih0aGlzLGUsIndlZWtzIikpO2YhPW51bGwmJmIucHVzaChJUih0aGlzLGYsImRheXMiKSk7aCE9bnVsbCYmYi5wdXNoKElSKHRoaXMsaCwiaG91cnMiKSk7ayE9bnVsbCYmYi5wdXNoKElSKHRoaXMsaywibWludXRlcyIpKTthIT1udWxsJiZiLnB1c2goSVIodGhpcyxhLCJzZWNvbmRzIikpO3JldHVybihuZXcgWGxhKS5mb3JtYXQoYil9fTsvKgoKIE1JVCBMaWNlbnNlCgogQ29weXJpZ2h0IChjKSAyMDE3IEFsZXhhbmRlciBSZWFyZG9uCgogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKIFNPRlRXQVJFCiovCnZhciBabGE9KGEsYik9PntpZihhLmxlbmd0aCE9PWIubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWlmKGFbY10hPT1iW2NdKXJldHVybiExO3JldHVybiEwfTt2YXIgbFY9bmV3IF8uSSgid2F0Y2hPbllvdXR1YmVCdXR0b25WaWV3TW9kZWwiKTt2YXIgRWthPW5ldyBfLkkoImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyIiksbVY9bmV3IF8uSSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxuVj1uZXcgXy5JKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNFeHBhbmRlZFJlbmRlcmVyIik7dmFyIE9TPW5ldyBfLkkoImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyICRsYT1uZXcgXy5JKCJtb2JpbGVUb3BiYXJSZW5kZXJlciIpO3ZhciBhbWE9bmV3IF8uSSgiY2FsbFRvQWN0aW9uQnV0dG9uVmlld01vZGVsIik7dmFyIGJtYT1uZXcgXy5JKCJpbnRlcnN0aXRpYWxWaWV3TW9kZWwiKTt2YXIgZGxhPW5ldyBfLkkoImNpbmVtYXRpY0NvbnRhaW5lclJlbmRlcmVyIik7dmFyIGprYT1uZXcgXy5JKCJ2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbCIpO3ZhciBEa2E9bmV3IF8uSSgiZnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsIik7dmFyIG9WPW5ldyBfLkkoInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxwVj1uZXcgXy5JKCJwbGF5ZXJNdXRlZEF1dG9wbGF5RW5kU2NyZWVuUmVuZGVyZXIiKTt2YXIgS1M9bmV3IF8uSSgicXVpY2tBY3Rpb25zVmlld01vZGVsIik7dmFyIGNtYT1uZXcgXy5JKCJyZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbCIpO3ZhciBBbGE9bmV3IF8uSSgiY29uZmlybURpYWxvZ1JlbmRlcmVyIik7dmFyIG1sYT1uZXcgXy5JKCJib3R0b21TaGVldE92ZXJsYXlSZW5kZXJlciIpO3ZhciBkbWE9bmV3IF8uSSgiZGlhbG9nSGVhZGVyVmlld01vZGVsIik7dmFyIGVtYT1uZXcgXy5JKCJkaWFsb2dWaWV3TW9kZWwiKTt2YXIgV1U9bmV3IF8uSSgicGxheWVyVG9hc3RDb21tYW5kIik7dmFyIHZrYT1uZXcgXy5JKCJhdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyIik7dmFyIHhrYT1uZXcgXy5JKCJkZWNvcmF0ZWRQbGF5ZXJCYXJSZW5kZXJlciIpLERTPW5ldyBfLkkoIm11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyIiksZVQ9bmV3IF8uSSgiY2hhcHRlclJlbmRlcmVyIik7dmFyIHlrYT1uZXcgXy5JKCJkZWNvcmF0ZWRQbGF5aGVhZFJlbmRlcmVyIik7dmFyIEFrYT1uZXcgXy5JKCJmdWxsc2NyZWVuRW5nYWdlbWVudE92ZXJsYXlSZW5kZXJlciIpLEJrYT1uZXcgXy5JKCJmdWxsc2NyZWVuRW5nYWdlbWVudEFjdGlvbkJhclJlbmRlcmVyIiksZm1hPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyU2F2ZUJ1dHRvblJlbmRlcmVyIik7dmFyIGdtYT1uZXcgXy5JKCJoZWF0TWFya2VyUmVuZGVyZXIiKTt2YXIgd2thPW5ldyBfLkkoImhlYXRtYXBSZW5kZXJlciIpO3ZhciBxVj1uZXcgXy5JKCJ0aW1lZE1hcmtlckRlY29yYXRpb25SZW5kZXJlciIpO3ZhciBobWE9WyJlbi1DQSIsImVuIiwiZXMtTVgiLCJmci1DQSJdO3ZhciByVjtyVj17YnJvd3NlRW5kcG9pbnQ6e2Jyb3dzZUlkOiJGRXdoYXRfdG9fd2F0Y2gifSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOiIvIixyb290VmU6Mzg1NCx3ZWJQYWdlVHlwZToiV0VCX1BBR0VfVFlQRV9CUk9XU0UifX19O3ZhciBLUj0hMTt2YXIgS2phPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPXRoaXMuaj0wO3RoaXMuaj1iLngtYS54O3RoaXMubz1iLnktYS55fX07dmFyICRUPV8uZ3Uodm9pZCAwLCJCREVxSmIiKTt2YXIgc1Y9d2luZG93LFo9c1YuR0h8fCJlbi1VUyIsU2phPXNWLkhIfHxDUixZbGE9c1YuRkh8fGdWO3ZhciBRUjt2YXIgdWthPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuSD1hfXRvZ2dsZUZ1bGxzY3JlZW4oKXt0aGlzLkgudG9nZ2xlRnVsbHNjcmVlbigpfWV4aXRGdWxsc2NyZWVuKCl7dGhpcy5pc0Z1bGxzY3JlZW4oKSYmdGhpcy50b2dnbGVGdWxsc2NyZWVuKCl9aXNGdWxsc2NyZWVuKCl7cmV0dXJuIHRoaXMuSC5pc0Z1bGxzY3JlZW4oKX19O3ZhciBUUj1fLkwoKHt0YTphfSk9Pl8uSyhfLmZKLHtkYXRhOigpPT57dmFyIGI9Y1Ioe3RpdGxlOl8uSVAoXy4kTi5uayksa2w6YSgpLmRlKCksaWNvblR5cGU6IkFVVE9QTEFZIixFazpfLiROLm5rLERrOl8uJE4ubmt9KTtyZXR1cm4gXy5CKGIsXy5NUCl9LG9uVGFwOmZ1bmN0aW9uKGIpe3ZhciBjPSFhKCkuZGUoKTthKCkuUmooYywhMCk7Yi5zdG9wUHJvcGFnYXRpb24oKTtfLlhNKCJwZnAtYXV0b25hdi11cGRhdGUiLHthdXRvbmF2RW5hYmxlZDpjfSl9fSksIlliIik7VFIuaWRvbUNvbXBhdD0hMDt2YXIgaW1hPV8uJE4uYXUsY1M9Xy5MKCgpPT57dmFyIGE9KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChpbWEpLGljb25UeXBlOiJQRVJTT05fQ0lSQ0xFIn0pLF8uWkMpO3JldHVybiBfLksoXy5DRCx7ZGF0YTphLElhOiEwLG9uVGFwOigpPT57dmFyIGI9Xy5LTygpP18uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsIi9zaWduaW4/YWN0aW9uX2Nsb3NlX3RhYj10cnVlIik6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfRU1CRURERURfUExBWUVSIj9fLkZPKCIvL3lvdXR1YmUuY29tL3NpZ25pbiIsIm5leHQiLCIvcG9zdF9sb2dpbiIpOl8uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsbG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uc2VhcmNoKTtfLkFKKHtzaWduSW5FbmRwb2ludDp7fSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOmJ9fX0sYSgpLCExKX19KX0sIlpiIik7Y1MuaWRvbUNvbXBhdD0hMDt2YXIgam1hPV8uJE4uV3Msa21hPV8uJE4uWXMsbG1hPV8uJE4uVG4sVmphPV8uTCgoe2Z2OmF9KT0+e3ZhciBiPSJjb3B5LWRlYnVnLWluZm8tdGV4dGFyZWEiK18uT0goKTtyZXR1cm4gXy5LKF8uckUse1FnOigpPT5fLksoXy5BUCxudWxsLGxtYSkscWs6KCk9Pl8uSygidGV4dGFyZWEiLHtjbGFzczoiY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbyIsaWQ6Yn0sYSksRXo6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKF8uSksse2RhdGE6e2J1dHRvblRleHQ6am1hLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOiJNIixvblRhcDooKT0+e18ueSgpLnJlc29sdmUoXy55UCkubGQoKX19fSkpLFByOigpPT5fLksoXy56UCxudWxsLF8uSyhfLkpLLHtkYXRhOntidXR0b25UZXh0OmttYSxzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSIsb25UYXA6KCk9PntfLnNQKGIpO18ueSgpLnJlc29sdmUoXy55UCkubGQoKX19fSkpfSl9LAoiJGIiKTt2YXIgbW1hPV8uJE4uVG4sJFI9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAobW1hKSxpY29uVHlwZToiQlVHX1JFUE9SVCJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e1dqYShhKCkpfX0pLCJhYyIpOyRSLmlkb21Db21wYXQ9ITA7dmFyIG5tYT1fLiROLlpzLFpSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKG5tYSksaWNvblR5cGU6IkNPREUifSksXy5aQyksSWE6ITAsb25UYXA6KCk9Pnt2YXIgYj1hKCkuZ2V0VmlkZW9FbWJlZENvZGUoKTtiJiZiJiZ3aW5kb3cubmF2aWdhdG9yPy5jbGlwYm9hcmQmJndpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChiKX19KSwiYmMiKTtaUi5pZG9tQ29tcGF0PSEwO3ZhciBvbWE9Xy4kTi5idCxwbWE9Xy4kTi5mdCxXUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChvbWEpLGljb25UeXBlOiJMSU5LIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57UlIoYSgpLCExKX19KSwiY2MiKTtXUi5pZG9tQ29tcGF0PSEwO3ZhciBZUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChwbWEpLGljb25UeXBlOiJMSU5LIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57UlIoYSgpLCEwKX19KSwiZGMiKTtZUi5pZG9tQ29tcGF0PSEwO3ZhciB0Vj1fLiROLnV0LFZSPV8uTCgoe0g6YX0pPT5fLksoXy5mSix7ZGF0YTooKT0+e3ZhciBiPWNSKHt0aXRsZTpfLklQKHRWKSxrbDphKCkuZ2V0TG9vcFZpZGVvKCksRWs6dFYsRGs6dFYsaWNvblR5cGU6IkxPT1AifSk7cmV0dXJuIF8uQihiLF8uTVApfSxvblRhcDpiPT57YSgpLnNldExvb3BWaWRlbyghYSgpLmdldExvb3BWaWRlbygpKTtiLnN0b3BQcm9wYWdhdGlvbigpfX0pLCJlYyIpO1ZSLmlkb21Db21wYXQ9ITA7dmFyIFVSPV8uTCgoe0g6YX0pPT5fLksoInN0YWJsZS12b2x1bWUtdG9nZ2xlIix7Y2xhc3M6InN0YWJsZVZvbHVtZVRvZ2dsZUhvc3QifSxfLksoXy5mSix7ZGF0YTooKT0+Xy5CKGNSKHt0aXRsZTpfLklQKF8uJE4ueWspLGtsOmEoKS5oYXNEcmNBdWRpb1RyYWNrKCkmJmEoKS5nZXREcmNVc2VyUHJlZmVyZW5jZSgpPT09MSxpY29uVHlwZToiVk9MVU1FX1NUQUJMRSIsRWs6Xy4kTi55ayxEazpfLiROLnlrLGlzRGlzYWJsZWQ6IWEoKS5oYXNEcmNBdWRpb1RyYWNrKCl9KSxfLk1QKSxvblRhcDpmdW5jdGlvbihiKXthKCkuc2V0RHJjVXNlclByZWZlcmVuY2UoYSgpLmhhc0RyY0F1ZGlvVHJhY2soKSYmYSgpLmdldERyY1VzZXJQcmVmZXJlbmNlKCk9PT0xPzA6MSk7Yi5zdG9wUHJvcGFnYXRpb24oKX19KSksImZjIik7VVIuaWRvbUNvbXBhdD0hMDt2YXIgcW1hPV8uJE4uYnUsYlM9Xy5MKCh7SDphfSk9Pnt2YXIgYj0oKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHFtYSksaWNvblR5cGU6IklORk8ifSksXy5aQyk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PiEhYSgpLmdldFZpZGVvRGF0YSx0aGVuOigpPT5fLksoXy5DRCx7ZGF0YTpiLElhOiEwLG9uVGFwOigpPT57dmFyIGM9YSgpOyFjLmdldFZpZGVvRGF0YXx8KGMuaXNWaWRlb0luZm9WaXNpYmxlKCk/Yy5oaWRlVmlkZW9JbmZvKCk6Yy5zaG93VmlkZW9JbmZvKCkpfX0pfSl9LCJnYyIpO2JTLmlkb21Db21wYXQ9ITA7dmFyIHJtYT1fLiROLmR1LGFTPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHJtYSksaWNvblR5cGU6IlFVRVNUSU9OX0NJUkNMRSJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e2EoKS5yZXBvcnRQbGF5YmFja0lzc3VlJiYoYSgpLnJlcG9ydFBsYXliYWNrSXNzdWUoKSxfLnFQKHtocmVmOiJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlLz9wPXJlcG9ydF9wbGF5YmFjayJ9KSl9fSksImhjIik7YVMuaWRvbUNvbXBhdD0hMDt2YXIgc21hPV8uJE4ud3Qsb1M9Xy5MKCh7SDphLG9oOmIsdGE6Yyx0QTpkfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAoc21hKSxpY29uVHlwZToiT1VUTElORV9PVkVSRkxPV19IT1JJWk9OVEFMXzMyIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57WGphKGEoKSxiKCksYz8uKCksZD8uKCkpfX0pLCJpYyIpO29TLmlkb21Db21wYXQ9ITA7dmFyIGdrYT1fLiROLm1vLFlqYT1fLiROLm5vLFpqYT1fLiROLlR0LGZrYT1fLiROLlJ0LGVrYT1fLiROLlN0LGhrYT1fLiROLlh0LGFrYT1bNTAsMTAwLDEyNSwxNTAsMTc1LDIwMF0sJGphPVsxMDAsMTI1LDE1MCwxNzUsMjAwLDMwMF0sY2thPVs1MCwxMDAsMTI1LDE1MCwyMDBdLGJrYT1bMTAwLDEyNSwxNTAsMjAwLDMwMF0saFM7dmFyIHRtYT1fLiROLm1vLHVtYT1fLiROLm5vLG1TPV8uTCgoe0g6YX0pPT57dmFyIGI9KCk9Pnt2YXIgZD1hKCk/LmdldFBsYXliYWNrUmF0ZSgpLGU9Xy5hQSgiUExBWUJBQ0tfU1BFRURfWCIse3NwZWVkX3JhdGVfcGxhY2Vob2xkZXI6YCR7ZH1gfSk7cmV0dXJuIF8uQihiUih7dGl0bGU6Xy5JUCh0bWEpLHNlbGVjdGlvblRleHQ6Xy5JUChkPT09MT91bWE6ZSksaWNvblR5cGU6IlBMQVlfQVJST1dfSEFMRl9DSVJDTEUifSksXy5aQyl9LGM9KCk9Pntra2EoYSgpKX07cmV0dXJuIF8uSyhfLk8se0E6KCk9PiEhYSgpPy5nZXRQbGF5YmFja1JhdGUoKSx0aGVuOigpPT5fLksoXy5DRCx7ZGF0YTpiLElhOiEwLG9uVGFwOmN9KX0pfSwiamMiKTttUy5pZG9tQ29tcGF0PSEwO3ZhciB2bWE9Xy4kTi5OcyxuUz1fLkwoKCk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKHZtYSksbGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0OiJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9ERUZBVUxUIixsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJQRVJTT05fUkFEQVIifX1dfSxlbnRpdHlLZXk6IkVpb3ZlVzkxZEhWaVpTOWhjSEF2Y0d4aGVXVnlYMkYxWkdsdlgzUnlZV05yWDJWdWRHbDBlVjlyWlhrZ19nSW9BUSUzRCUzRCIsZW50aXR5U2VsZWN0b3JUeXBlOiJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9BVURJT19UUkFDS19TRUxFQ1RJT05fVEVYVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOlt7c2hvd0F1ZGlvVHJhY2tQaWNrZXJBY3Rpb25Db21tYW5kOnt9fV19fX19fX19LApfLlpDKSxJYTohMH0pLCJrYyIpO25TLmlkb21Db21wYXQ9ITA7dmFyIHdtYT1fLiROLkV0LHhtYT1fLiROLkZ0LHBrYT1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYj1hKCk/LmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpLGM9dHlwZW9mIGI/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U9PT0ib2JqZWN0IiYmYi50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fGI/LmRpc3BsYXlOYW1lfHwiIjtyZXR1cm4gXy5CKHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6Xy5JUCh3bWEpLGxpc3RJdGVtSWNvbkFmdGVyU2VsZWN0aW9uVGV4dDoiTElTVF9JVEVNX0lDT05fQUZURVJfU0VMRUNUSU9OX1RFWFRfREVGQVVMVCIsc2VsZWN0aW9uVGV4dDp7Y29udGVudDpjP2M6eG1hfSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmM/IkNMT1NFRF9DQVBUSU9OX1NFTEVDVEVEIjoiQ0xPU0VEX0NBUFRJT04ifX1dfSxlbnRpdHlLZXk6IkVpOHZlVzkxZEhWaVpTOWhjSEF2Y0d4aGVXVnlYMk5oY0hScGIyNWZiR0Z1WjNWaFoyVmZaVzUwYVhSNVgydGxlU0QtQWlnQiIsCmVudGl0eVNlbGVjdG9yVHlwZToiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfQ0FQVElPTl9MQU5HVUFHRV9TRUxFQ1RJT05fVEVYVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOlt7c2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e319XX19fX19LGlzRGlzYWJsZWQ6dHlwZW9mIGI9PT0idW5kZWZpbmVkIn19LF8uWkMpfSxJYTohMH0pLCJsYyIpO3ZhciBsa2E9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9O3ZhciB5bWE9Xy4kTi5OdCxta2E9Xy4kTi5PdCxsUz1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYj1iUih7dGl0bGU6Xy5JUCh5bWEpLHNlbGVjdGlvblRleHQ6Xy5JUChrUyhhKCksYSgpLmdldFBsYXliYWNrUXVhbGl0eSgpKSksaWNvblR5cGU6Ik9VVExJTkVfQURKVVNUIn0pO3JldHVybiBfLkIoYixfLlpDKX0sSWE6ITAsb25UYXA6KCk9PnthKCkuZ2V0QXZhaWxhYmxlUXVhbGl0eUxldmVscygpJiZva2EoYSgpKX19KSwibWMiKTtsUy5pZG9tQ29tcGF0PSEwOwp2YXIgbmthPV8uTCgoe0g6YX0pPT5fLksoXy5nRyx7cGE6KCk9PmEoKS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzKCksdGI6IklOREVYIn0sYj0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYz1iKCksZD1hKCkuZ2V0UHJlZmVycmVkUXVhbGl0eSgpO2M9YlIoe3RpdGxlOl8uSVAoa1MoYSgpLGMpKSxpY29uVHlwZTpjPT09ZD8iQ0hFQ0siOnZvaWQgMH0pO3JldHVybiBfLkIoYyxfLlpDKX0sSWE6ITAsb25UYXA6KCk9Pnt2YXIgYz1iKCk7YSgpLnNldFBsYXliYWNrUXVhbGl0eVJhbmdlKGMsYyl9fSkpLCJuYyIpO3ZhciBSUz1uZXcgU2V0LFFTPW51bGw7dmFyIFRTPW51bGwsVlM9e307dmFyIHVWPV8uTChhPT57dmFyIGI9Xy52RSgiYnV0dG9uIixkPT57ZCYmV1MoZCwyODU3MiwhXy54KCJlbWJlZHNfY3VlZF9vdmVybGF5X3ZlX2tzIikpfSksYz0oKT0+YS5HKCkuSD8uaXNFbWJlZHNTaG9ydHNNb2RlPy4oKTtyZXR1cm4gXy5LKCJjdWVkLW92ZXJsYXkiLHtjbGFzczpfLlAoInl0bUN1ZWRPdmVybGF5SG9zdCIse3l0bUN1ZWRPdmVybGF5SGlkZGVuOigpPT4hJFMoYS5HKCksYS5wbGF5YWJpbGl0eVN0YXR1cz8uKCkpfSksIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtiLnZhbHVlJiYoWFMoMjg1NzIpLGEuRygpLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDAsXy5LLnZpc3VhbEVsZW1lbnQpLGEuSD8uKCkucGxheVZpZGVvKCkpO2Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT4hYS5HKCkuYmE/LmhpZGVWaWRlb0luZm8mJiF1UyhhLkcoKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtQ3VlZE92ZXJsYXlHcmFkaWVudCJ9KX0pLF8uSygiYnV0dG9uIiwKe2NsYXNzOl8uUCgieXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uIix7eXRtQ3VlZE92ZXJsYXlTaG9ydHM6Y30pLGVsOmIsImFyaWEtbGFiZWwiOl8uJE4uUGcsdGl0bGU6Xy4kTi5QZ30sXy5LKF8uTUQse2ljb246KCk9PmMoKT8iWU9VVFVCRV9TSE9SVFNfQlJBTkRfMjQiOiJMT0dPIixjbGFzc05hbWU6Inl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24ifSkpKX0sIm9jIik7dVYuaWRvbUNvbXBhdD0hMDt2YXIgYVQ7dmFyIEFtYT1fLkwoKHtKejphLG11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyOmIscHJvZ3Jlc3NCYXJXaWR0aDpjLHByb2dyZXNzQ29sb3I6ZH0pPT57dmFyIGU9KCk9PmdUKGIoKSksZj0oKT0+alQoYSgpKSxoPSgpPT5jKCkqKGEoKS52YS9hKCkudmlkZW9EdXJhdGlvbik7cmV0dXJuIF8uSygieXQtY2hhcHRlcmVkLXByb2dyZXNzLWJhci1saW5lIix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0In0sXy5LKF8uZ0cse3BhOmV9LChrLGwpPT5fLksoem1hLHtOeTpmLGNoYXB0ZXJzOmUsaW5kZXg6bCxDejpoLHByb2dyZXNzQ29sb3I6ZCxEdTooKT0+e3ZhciBtPWpUKGEoKSksbj1nVChiKCkpLHA9bCgpLHI9aCgpO3JldHVybihtLnZhLWhUKF8uQihuW3BdLGVUKSkpL20udmEqcn19KSkpfSwicGMiKSx6bWE9Xy5MKCh7Tnk6YSxjaGFwdGVyczpiLGluZGV4OmMsQ3o6ZCxEdTplLHByb2dyZXNzQ29sb3I6Zn0pPT57dmFyIGg9Xy5QKCJ5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyQ2hhcHRlciIsCnt5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyQ2hhcHRlcklzU2NydWJiaW5nOigpPT5rKCkuYm0seXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcjooKT0+aygpLkJnLHl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbjooKT0+aygpLkxkPT09InNlZW4ifSksaz0oKT0+aVQoYSgpLGIoKSxjKCkpLGw9KCk9Pnt2YXIgbT1mPy4oKTtyZXR1cm4gbSE9PXZvaWQgMD9fLkpFKG0pOnZvaWQgMH07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6aCxzdHlsZTpfLklFKHt3aWR0aDooKT0+e3ZhciBtPWEoKSxuPWIoKSxwPWMoKSxyPV8uQihuW3BdLGVUKTtuPV8uQihuW3ArMV0sZVQpO3JldHVybmAkeyhuP2hUKG4pLWhUKHIpOm0udmlkZW9EdXJhdGlvbi1oVChyKSkvbS52aWRlb0R1cmF0aW9uKjEwMH0lYH0sImJhY2tncm91bmQtY29sb3IiOigpPT57YTp7dmFyIG09aygpO3N3aXRjaChtLkxkKXtjYXNlICJwZW5kaW5nIjptPQptLkJnPyJ3aGl0ZSI6InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkiO2JyZWFrIGE7Y2FzZSAiYWN0aXZlIjptPW0uQmc/IndoaXRlIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSI7YnJlYWsgYTtkZWZhdWx0Om09IiJ9fXJldHVybmAke219YH0sImJhY2tncm91bmQtc2l6ZSI6KCk9PmAke29UKGsoKSk/ZCgpOiIifXB4YCwiYmFja2dyb3VuZC1wb3NpdGlvbi14IjooKT0+YCR7b1QoaygpKT9lKCk6IiJ9cHhgLGJhY2tncm91bmQ6KCk9PmsoKS5MZD09PSJzZWVuIj9sKCk6dm9pZCAwfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJMb2FkZWQiLHN0eWxlOigpPT57dmFyIG09YSgpLG49YigpLHA9YygpO2lmKGlUKG0sbixwKS5MZD09PSJzZWVuIil2YXIgcj0wO2Vsc2Ugcj1oVChfLkIobltwXSxlVCkpLG49aFQoXy5CKG5bcCsxXSxlVCkpfHxtLnZpZGVvRHVyYXRpb24sbT1tLnZpZGVvRHVyYXRpb24qbS5RbSxyPW48PQptPzE6cj49bT8wOihtLXIpLyhuLXIpO3JldHVybmB3aWR0aDogJHtyKjEwMH0lYH19KSxfLksoImRpdiIse2NsYXNzOiJ5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbCIsc3R5bGU6Xy5JRSh7d2lkdGg6KCk9PmAke25UKGEoKSxiKCksYygpKSoxMDB9JWAsImJhY2tncm91bmQtc2l6ZSI6KCk9PmAke29UKGsoKSxuVChhKCksYigpLGMoKSkpP2QoKToiIn1weGAsImJhY2tncm91bmQtcG9zaXRpb24teCI6KCk9PmAke29UKGsoKSxuVChhKCksYigpLGMoKSkpP2UoKToiIn1weGAsYmFja2dyb3VuZDpsfSl9KSl9LCJxYyIpO3ZhciB2Vj1fLkwoKHtMYjphLGNvbmZpZzpifSk9Pnt2YXIgYz0oKT0+e3ZhciBkPShiKCkuU2k/Lk11Pz8wKSoxMDAsZT0oYigpLlNpPy5MdT8/MCkqMTAwLGY9ZS1kO3JldHVybiBmPjAmJmY8MTA/KGY9KDEwLWYpLzIsZC1mPj0wJiZlK2Y8MTAwP1tkLWYsZStmXTpkLWY8MD9bMCwxMF06WzkwLDEwMF0pOltkLGVdfTtyZXR1cm4gXy5LKCJ5dC1mb2N1c2VkLWNoYXB0ZXItcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZUhvc3QifSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZSIse3l0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVkOigpPT5iKCkuWHoseXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0OigpPT5iKCkucG9zaXRpb249PT0yfSl9LF8uSygiZGl2IiwKe2NsYXNzOiJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kIixzdHlsZTooKT0+YHdpZHRoOiAke2MoKVsxXS1jKClbMF19JTsgbGVmdDogJHtjKClbMF19JWB9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhclBsYXllZCIsc3R5bGU6KCk9Pnt2YXIgZD1iKCkuU2k/Lk11Pz8wLGU9YigpLlNpPy5MdT8/MCxmPXdTKGEoKSk7cmV0dXJuYHdpZHRoOiAke2Y8ZD8wOmY+ZXx8ZT09PWQ/MTAwOihmLWQpLyhlLWQpKjEwMH0lO2B9fSkpKSl9LCJyYyIpO3ZWLmlkb21Db21wYXQ9ITA7dmFyIEJtYT0oKGEsYj1abGEpPT57dmFyIGMsZD1bXSxlLGY9ITE7cmV0dXJuIGZ1bmN0aW9uKC4uLmgpe2lmKGYmJmM9PT10aGlzJiZiKGgsZCkpcmV0dXJuIGU7ZT1hLmFwcGx5KHRoaXMsaCk7Zj0hMDtjPXRoaXM7ZD1oO3JldHVybiBlfX0pKGE9Pnt2YXIge21pbkhlaWdodERwOmI9MCxtYXhIZWlnaHREcDpjPTYwLGhlYXRNYXJrZXJzOmR9PWEsZT0xRTMvZC5sZW5ndGg7YT1bXTthLnB1c2goe3g6MCx5OjEwMH0pO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgaD0oZisuNSkqZSxrPTEwMC1EUSgoXy5CKGRbZl0sZ21hKT8uaGVhdE1hcmtlckludGVuc2l0eVNjb3JlTm9ybWFsaXplZHx8MCkqMTAwLGIvMzIxKjEwMCxjLzMyMSoxMDApO2YhPT0wfHxhLnB1c2goe3g6MCx5Omt9KTthLnB1c2goe3g6aCx5Omt9KTtmPT09ZC5sZW5ndGgtMSYmYS5wdXNoKHt4OjFFMyx5Omt9KX1hLnB1c2goe3g6MUUzLHk6MTAwfSk7ZT0iIjtmb3IoZj0wO2Y8YS5sZW5ndGg7ZisrKXtoPQphW2ZdO2lmKGY9PT0wKWg9YE0gJHtoLngudG9GaXhlZCgxKX0sJHtoLnkudG9GaXhlZCgxKX1gO2Vsc2V7az1MUihhW2YtMV0sYVtmLTJdLGgpO2xldCBsPUxSKGgsYVtmLTFdLGFbZisxXSwhMCk7aD1gICR7YEMgJHtrLngudG9GaXhlZCgxKX0sJHtrLnkudG9GaXhlZCgxKX0gJHtsLngudG9GaXhlZCgxKX0sJHtsLnkudG9GaXhlZCgxKX0gJHtoLngudG9GaXhlZCgxKX0sJHtoLnkudG9GaXhlZCgxKX1gfWB9ZSs9aH1yZXR1cm4gZX0pO3ZhciBDbWE9Xy5MKCh7TGI6YSxjb25maWc6YixoaWdoQ29udHJhc3Q6Y30pPT57Yz1fLlAoInl0SGVhdFNlZWtlckhvc3QiLHt5dEhlYXRTZWVrZXJIaWdoQ29udHJhc3Q6Y30pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1oZWF0c2Vla2VyIix7Y2xhc3M6YyxzdHlsZTooKT0+YGhlaWdodDogMzIwcHg7IGRpc3BsYXk6ICR7YSgpLmlzRHJhZ2dpbmcmJkZTKGIoKS5SYSk/LmhlYXRNYXJrZXJzPyJibG9jayI6Im5vbmUifWB9LF8uSyhfLk8se0E6KCk9PkZTKGIoKS5SYSksdGhlbjpkPT5fLksoXy5PLHtBOigpPT5kKCkuaGVhdE1hcmtlcnMsdGhlbjooKT0+Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIzMjBweCIsdmlld0JveDoiMCAwIDEwMDAgMTAwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0sXy5LKCJwYXRoIix7ZDooKT0+Qm1hKGQoKSl9KSksZGVidWdJbnN0YW5jZToiR2ppMFNlIn0pLGRlYnVnSW5zdGFuY2U6ImlWVFh3ZiJ9KSl9LCJzYyIpO3ZhciB3Vj1fLkwoKHtMYjphLGNvbmZpZzpifSk9Pnt2YXIgYz1fLlAoInl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lIix7eXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVkOigpPT5iKCkuWHoseXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVCb3R0b21JbnNldDooKT0+YigpLnBvc2l0aW9uPT09Mn0pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1saW5lIix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJMaW5lSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmQifSksXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxvYWRlZCIsc3R5bGU6KCk9PmB3aWR0aDogJHthKCkuUW0qMTAwfSVgfSksXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckhvdmVyZWQiLHN0eWxlOigpPT57dmFyIGQ9CmEoKTtyZXR1cm5gd2lkdGg6ICR7KGQudmlkZW9EdXJhdGlvbj9EUShkLmRqL2QudmlkZW9EdXJhdGlvbiwwLDEpOjApKjEwMH0lYH19KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVkIixzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7d1MoYSgpKSoxMDB9JWAsYmFja2dyb3VuZDooKT0+YigpLnByb2dyZXNzQ29sb3IhPT12b2lkIDA/Xy5KRShiKCkucHJvZ3Jlc3NDb2xvcik6dm9pZCAwfSl9KSkpfSwidGMiKTt3Vi5pZG9tQ29tcGF0PSEwO3ZhciB4Vj1fLkwoKHtMYjphLGhmOmIsQng6YyxXdzpkfSk9Pnt2YXIgZT1fLlAoInl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3QiLHt5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90TGFyZ2U6KCk9PmEoKS5pc0RyYWdnaW5nLHl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RIaWRlOigpPT4hYSgpLmlzRHJhZ2dpbmcmJmQoKX0pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1wbGF5aGVhZCIse2NsYXNzOiJ5dFByb2dyZXNzQmFyUGxheWhlYWRIb3N0IixzdHlsZTpfLklFKHsibWFyZ2luLWxlZnQiOigpPT5gJHt4UyhhKCkpKjEwMH0lYCx0cmFuc2Zvcm06KCk9PmI/LigpPy5wbGF5aGVhZEltYWdlP2B0cmFuc2xhdGVYKC0ke2MoKT94UyhhKCkpKjIwOjEwfXB4KWA6YHRyYW5zbGF0ZVgoLSR7YygpP3hTKGEoKSkqMTI6Nn1weClgfSl9LF8uSyhfLk8se0E6KCk9PmI/LigpPy5wbGF5aGVhZEltYWdlLAp0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tIix7eXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUxhcmdlOigpPT5hKCkuaXNEcmFnZ2luZyx5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tSGlkZTooKT0+IWEoKS5pc0RyYWdnaW5nJiZkKCl9KSxzdHlsZTpfLklFKHsidHJhbnNmb3JtLW9yaWdpbiI6KCk9PmAke2MoKT94UyhhKCkpKjIwOjEwfXB4IGNlbnRlcmB9KX0sXy5LKF8uakYse2RhdGE6ZixhbHQ6IiIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsVGI6ITF9KSksVzooKT0+Xy5LKCJkaXYiLHtjbGFzczplLHN0eWxlOl8uSUUoeyJ0cmFuc2Zvcm0tb3JpZ2luIjooKT0+YCR7YygpP3hTKGEoKSkqMTI6Nn1weCBjZW50ZXJgfSl9KX0pKX0sInVjIik7eFYuaWRvbUNvbXBhdD0hMDt2YXIgRG1hPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZSxmKXt0aGlzLkk9YTt0aGlzLkI9Yjt0aGlzLks9Yzt0aGlzLlU9ZDt0aGlzLlo9ZTt0aGlzLk09Zjt0aGlzLnN0YXJ0UG9zaXRpb249bnVsbDt0aGlzLmo9dGhpcy52PXRoaXMubz0hMTt0aGlzLkQ9bmV3IF8uV3QodGhpcy5ZLDEwMCx0aGlzKX1ZKGEsYixjKXtpZihiPWIuSCl7aWYoYi5nZXRWaWRlb0RhdGEoKT8uaXNMaXZlKXtsZXQgZD10aGlzLmdldFByb2dyZXNzU3RhdGUoYik7YSs9ZD8uc2Vla2FibGVTdGFydHx8MH1iLnNlZWtUbyhhLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGMpfX1nZXRQcm9ncmVzc1N0YXRlKGEpe3ZhciBiPWE/LmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk7cmV0dXJuIGE/LmdldFByb2dyZXNzU3RhdGUoYil9fTt2YXIgRm1hPV8uTCgoe0xiOmEsY29uZmlnOmIsWm06YyxSYTpkfSk9Pnt2YXIgZT1EVChhLCgpPT5iKCkuSWIpLGY9KCk9PiFhKCkuUWMmJiFiKCkuSWIsaD1fLlAoInl0UGxheWVyU3Rvcnlib2FyZEhvc3QiLCJ5dFBsYXllclN0b3J5Ym9hcmRIb3N0QmlnYm9hcmQiLHt5dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0czooKT0+YigpLkliJiYhMH0pO3JldHVybiBfLksoInl0LXBsYXllci1zdG9yeWJvYXJkIixudWxsLF8uSyhfLk8se0E6KCk9PmEoKS5pc0RyYWdnaW5nfHxhKCkuUWMsdGhlbjooKT0+Xy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmgsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyh5Vix7cHJvcHM6YSxjb25maWc6YixlZTohMCxSYTpkfSkpLFc6KCk9Pl8uSyhFbWEse3Byb3BzOmEsZnJhbWU6ZSxjb25maWc6YixabTpjLFJhOmR9KX0pfSl9KSl9LCJ2YyIpLEdtYT1fLkwoKHtMYjphLEliOmJ9KT0+Cnt2YXIgYz1EVChhLGIpO3JldHVybiBfLksoInl0LXBsYXllci1iaWctc3Rvcnlib2FyZCIse2NsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRCaWdib2FyZFdyYXBwZXIifSxfLksoXy5PLHtBOigpPT5hKCkuaXNEcmFnZ2luZ3x8YSgpLlFjLHRoZW46KCk9Pl8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoelYse2ZyYW1lOmMscHJvcHM6YSxlZTohMH0pfSl9KSl9LCJ3YyIpLEVtYT1fLkwoKHtwcm9wczphLGZyYW1lOmIsY29uZmlnOmMsWm06ZCxSYTplfSk9Pnt2YXIgZj1fLlAoInl0UGxheWVyU3Rvcnlib2FyZEhvc3QiLHt5dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0czooKT0+YygpLkliJiYhMCx5dFBsYXllclN0b3J5Ym9hcmRIb3N0SW5saW5lUGxheWVyOigpPT5jKCkueHEseXRQbGF5ZXJTdG9yeWJvYXJkSG9zdEZhZGVJbjooKT0+YygpLnVzZUZhZGVJbkFuaW1hdGlvbn0pLGg9KCk9PntpZighXy54KCJlbmFibGVfd2ViX3dhdGNoX25leHRfaW1wX2NsaWVudCIpfHwhYygpLnhxKXJldHVybiAxOwp2YXIgaz1hKCkuSD8uZ2V0U2l6ZSgpPy5oZWlnaHQ/PzA7cmV0dXJuIGs+MCYmazwxNjA/ay8xNjA6MX07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6ZiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixzdHlsZTpfLklFKCgpPT57dmFyIGs9YSgpLGw9eVQoYigpKSpoKCksbT1kKCk7az1BVChrKS9rLnZpZGVvRHVyYXRpb247dmFyIG49bSprLHA9bC8yKzY7bD1tLShsLzIrNik7cmV0dXJue2xlZnQ6YCR7bjw9cD9wL20qMTAwOm4+PWw/bC9tKjEwMDprKjEwMH0lYCwiLS1zdG9yeWJvYXJkLXNjYWxlIjpgJHtoKCl9YH19KX0sXy5LKF8uTyx7QTooKT0+e3ZhciBrPWEoKTtyZXR1cm4hKGMoKS5JYiYmay52aWRlb0R1cmF0aW9uPDE1KX0sdGhlbjooKT0+Xy5LKHpWLHtmcmFtZTpiLHByb3BzOmEsZWU6ITEsekE6aH0pfSksXy5LKHlWLHtwcm9wczphLGNvbmZpZzpjLGVlOiExLFJhOmV9KSl9LCJ4YyIpLHpWPV8uTCgoe2ZyYW1lOmEscHJvcHM6YixlZTpjLHpBOmR9KT0+e3ZhciBlPSgpPT5iKCkuSD8uZ2V0VmlkZW9Db250ZW50UmVjdCgpPz8Ke3dpZHRoOjAsaGVpZ2h0OjB9LGY9Xy5QKHt5dFBsYXllclN0b3J5Ym9hcmRCaWdib2FyZEltYWdlV3JhcHBlcjpjLHl0UGxheWVyU3Rvcnlib2FyZFN0b3J5Ym9hcmRJbWFnZVdyYXBwZXI6KCk9PiFjKCl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOl8uSUUoKCk9Pih7d2lkdGg6YCR7YygpP2UoKS53aWR0aDp5VChhKCkpKihkPy4oKT8/MSl9cHhgLGhlaWdodDpgJHtjKCk/ZSgpLmhlaWdodDp6VChhKCkpKihkPy4oKT8/MSl9cHhgfSkpfSxfLksoSG1hLHtmcmFtZTphLFBBOigpPT55VChhKCkpLE5BOigpPT56VChhKCkpLE9BOigpPT57dmFyIGg9eVQoYSgpKTtyZXR1cm4gaD4wPyhjKCk/ZSgpLndpZHRoOnlUKGEoKSkqKGQ/LigpPz8xKSkvaDoxfX0pKX0sInljIiksSG1hPV8uTCgoe2ZyYW1lOmEsUEE6YixOQTpjLE9BOmR9KT0+Xy5LKCJpbWciLHtzcmM6KCk9PmEoKT8udXJsPz8iIixjbGFzczoieXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlIixhbHQ6InByZXZpZXctaW1hZ2UiLApzdHlsZTpfLklFKCgpPT57dmFyIGU9YSgpPz97cm93OjAsY29sdW1uOjAsd2lkdGg6MCxoZWlnaHQ6MH0sZj1iKCksaD1jKCksaz1kKCkse2xlZnQ6bCx0b3A6bX09e2xlZnQ6LWUuY29sdW1uKmYqayx0b3A6LWUucm93Kmgqa307cmV0dXJue2xlZnQ6YCR7bH1weGAsdG9wOmAke219cHhgLHdpZHRoOmAke2Uud2lkdGgqa31weGAsaGVpZ2h0OmAke2UuaGVpZ2h0Kmt9cHhgfX0pfSksInpjIikseVY9Xy5MKCh7cHJvcHM6YSxjb25maWc6YixlZTpjLFJhOmR9KT0+e3ZhciBlPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGEiLHt5dFBsYXllclN0b3J5Ym9hcmRNZXRhZGF0YUJpZ2JvYXJkOmN9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczplfSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoQVYse3Byb3BzOmEsY29uZmlnOmJ9KSxfLksoXy5PLHtBOigpPT57YTp7dmFyIGY9YSgpO3ZhciBoPWIoKSxrPWQoKTtpZihoPy5SZyYmXy5CKGg/LlJnLGVUKT8udGl0bGUpZj0KITA7ZWxzZXtmb3IobGV0IGwgb2YgRlMoayk/LmhlYXRNYXJrZXJzRGVjb3JhdGlvbnM/P1tdKXtmPShoPV8uQihsLHFWKSkmJkJUKGYsaCk7YnJlYWsgYX1mPSExfX1yZXR1cm4gZn0sdGhlbjooKT0+Xy5LKEJWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KX0pKSxXOigpPT5fLksoXy5JQixudWxsLF8uSyhCVix7cHJvcHM6YSxjb25maWc6YixlZTohMCxSYTpkfSksXy5LKEFWLHtwcm9wczphLGNvbmZpZzpifSkpfSkpfSwiQWMiKSxBVj1fLkwoKHtwcm9wczphLGNvbmZpZzpifSk9Pnt2YXIgYz1fLlAoInl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcCIse3l0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0czooKT0+YigpLkliLHl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmc6KCk9PmEoKS5RY3x8YigpLkliJiYhMX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmN9LF8uSyhfLklCLG51bGwsKCk9PkNUKEFUKGEoKSkpKSl9LCJCYyIpLEJWPV8uTCgoe3Byb3BzOmEsCmNvbmZpZzpiLGVlOmMsUmE6ZH0pPT57Yz1fLlAoInl0UGxheWVyU3Rvcnlib2FyZFRpdGxlIix7eXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGVCaWdib2FyZDpjfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uTyx7QTooKT0+IWIoKS5JYix0aGVuOigpPT5fLksoSW1hLHtwcm9wczphLFJnOigpPT5iKCkuUmcsUmE6ZH0pfSkpfSwiQ2MiKSxJbWE9Xy5MKCh7cHJvcHM6YSxSZzpiLFJhOmN9KT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5nRyx7cGE6KCk9Pnt2YXIgZD1jKCk7cmV0dXJuIEZTKGQpPy5oZWF0TWFya2Vyc0RlY29yYXRpb25zPz9bXX0sdGI6IklOREVYIn0sZD0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT5fLkIoZCgpLHFWKSYmQlQoYSgpLF8uQihkKCkscVYpKSx0aGVuOigpPT5fLksoSm1hLHtjQjooKT0+Xy5CKGQoKSxxVil9KX0pKSksXy5LKF8uTyx7QTooKT0+YigpJiZfLkIoYigpLGVUKT8udGl0bGUsdGhlbjpkPT5fLksoXy5WLHt0ZXh0OmQscmc6ITB9KX0pKSwKIkRjIiksSm1hPV8uTCgoe2NCOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoImRpdiIse2NsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb25XcmFwcGVyIn0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uLGNsYXNzTmFtZToieXRQbGF5ZXJTdG9yeWJvYXJkVGltZWRNYXJrZXJJY29uIn0pKSxfLksoXy5WLHt0ZXh0OigpPT5hKCkubGFiZWwscmc6ITB9KSksIkVjIik7dmFyIENWPV8uTCgoe0xiOmEsaGY6Yixjb25maWc6Y30pPT57dmFyIGQ9Xy51RSgieXQtcHJvZ3Jlc3MtYmFyIiksZT1fLnVFKCJkaXYiKSxmPV8udUUoImRpdiIpLFtoLGtdPV8uSih7d2lkdGg6MCxsZWZ0OjB9LHZvaWQgMCwiZDFic2JmIiksbD0oKT0+e2YudmFsdWUmJmsoZi52YWx1ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9LG09KCk9PntoKCkud2lkdGg8PTAmJmwoKTtyZXR1cm4gaCgpfTtfLkRQKCJyZXNpemUiLGwpO3ZhciBuPW5ldyBEbWEobSwoKT0+e30sKCk9PjAsKCk9Pnt9LCgpPT57fSwoKT0+e30pLHA9KCk9PmEoKSxbcix0XT1fLkooITEsdm9pZCAwLCJjVnNUSyIpO18uRFAoIm1vdXNlbW92ZSIsWWthKG4scCxjKSk7Xy5EUCgibW91c2V1cCIseFQobixwLGMpKTt2YXIgdjtfLlVKKCgpPT57R2thKGUudmFsdWUpO3QoITEpO2woKTt4VChuLHAsYykoKTtjKCkuaWomJih2PW5ldyBSZXNpemVPYnNlcnZlcihsKSx2Lm9ic2VydmUoZi52YWx1ZSkpO18uWXUoKCk9Pgp7dj8uZGlzY29ubmVjdCgpfSl9KTt2YXIgej1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0IiwoKT0+YygpLmNsYXNzTmFtZSx7eXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RSZWFkT25seTooKT0+YygpLmRpc2FibGVTY3J1YmJpbmcseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RIaWRkZW46KCk9PmMoKS5rSiYmIXIoKSx5dFBsYXllclByb2dyZXNzQmFySG9zdExvd2VyUGxheWVyOigpPT5jKCkucG9zaXRpb249PT0wLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Qm90dG9tRWRnZTooKT0+YygpLnBvc2l0aW9uPT09MSx5dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0OigpPT5jKCkucG9zaXRpb249PT0yLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Q3VzdG9tOigpPT5jKCkucG9zaXRpb249PT0zfSksRT1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kIix7eXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmRIaWRlOigpPT5jKCkucG9zaXRpb249PT0yJiYhcigpJiYKIWEoKS5pc0RyYWdnaW5nfSksQT1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJEcmFnQ29udGFpbmVyIix7eXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdlOigpPT5jKCkucG9zaXRpb249PT0xfSksRj1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhciIse3l0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0OigpPT5jKCkucG9zaXRpb249PT0yLHl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0TWluaW1pemVkOigpPT5jKCkucG9zaXRpb249PT0yJiYhcigpJiYhYSgpLmlzRHJhZ2dpbmd9KSxDPSgpPT5NYXRoLmZsb29yKHdTKGEoKSkqMTAwKTtyZXR1cm4gXy5LKCJ5dC1wcm9ncmVzcy1iYXIiLHtlbDpkLGNsYXNzOnp9LF8uSyhfLk8se0E6KCk9PmMoKS5wb3NpdGlvbj09PTIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpFfSl9KSxfLksoImRpdiIse2VsOmUsIm9uOmNsaWNrIjpmdW5jdGlvbihHKXsoYygpLkRJfHx0eXBlb2YgUG9pbnRlckV2ZW50IT09CiJ1bmRlZmluZWQiJiZHIGluc3RhbmNlb2YgUG9pbnRlckV2ZW50JiZHLnBvaW50ZXJUeXBlPT09Im1vdXNlIikmJk9rYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKEcpe1BrYShuLHApKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKEcpe1JrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNlZW50ZXIiOmZ1bmN0aW9uKCl7dCghMCk7YygpLnBvc2l0aW9uPT09Mj9zZXRUaW1lb3V0KCgpPT57bCgpfSwxMDApOmwoKX0sIm9uOm1vdXNlZG93biI6ZnVuY3Rpb24oRyl7UWthKG4scCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKCl7dCghMSk7VGthKHApKCl9LCJvbjptb3VzZW1vdmUiOmZ1bmN0aW9uKEcpe1NrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNldXAiOmZ1bmN0aW9uKEcpe1ZrYShuLApwLGMpKEcpO3IoKSYmYSgpLlMoe1FjOiEwfSk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoZW5kIjpmdW5jdGlvbihHKXtVa2EobixwLGMpKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaGNhbmNlbCI6ZnVuY3Rpb24oRyl7V2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246a2V5ZG93biI6ZnVuY3Rpb24oRyl7WGthKHApKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LGNsYXNzOkEscm9sZToic2xpZGVyIiwiYXJpYS12YWx1ZW5vdyI6QywiYXJpYS12YWx1ZXRleHQiOigpPT5gJHtDKCl9JWAsImFyaWEtdmFsdWVtaW4iOigpPT4wLCJhcmlhLXZhbHVlbWF4IjooKT0+MTAwLGRyYWdnYWJsZToiZmFsc2UiLHRhYmluZGV4OjAsImFyaWEtbGFiZWwiOl8uYUEoIlNFRUtfU0xJREVSIil9LF8uSygiZGl2Iix7ZWw6ZixjbGFzczpGfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXIiLHt5dFBsYXllclByb2dyZXNzQmFySGVhdHNlZWtlckNvbnRhaW5lckluc2V0OigpPT4KYygpLnBvc2l0aW9uPT09Mn0pfSxfLksoQ21hLHtMYjphLGNvbmZpZzpjLGhpZ2hDb250cmFzdDooKT0+ISFjKCkuaWomJmMoKS5wb3NpdGlvbiE9PTJ9KSksXy5LKF8uTyx7QTooKT0+YygpLlJhJiZ6a2EoYygpLlJhKSx0aGVuOigpPT5fLksoQW1hLHtKejphLG11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyOigpPT5jKCkuUmEscHJvZ3Jlc3NCYXJXaWR0aDooKT0+aCgpLndpZHRoLHByb2dyZXNzQ29sb3I6KCk9PmMoKS5wcm9ncmVzc0NvbG9yfSksVzooKT0+Xy5LKF8uTyx7QTooKT0+YygpLlNpLHRoZW46KCk9Pl8uSyh2Vix7TGI6YSxjb25maWc6Y30pLFc6KCk9Pl8uSyh3Vix7TGI6YSxjb25maWc6Y30pfSl9KSxfLksoeFYse0xiOmEsaGY6KCk9Pl8ueCgiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiIpP2MoKS5oZjpiPy4oKSxCeDooKT0+YygpLnBvc2l0aW9uIT09MixXdzooKT0+YygpLnhyPT09MSYmIXIoKXx8YygpLnhyPT09Mn0pKSksXy5LKEZtYSx7TGI6YSxjb25maWc6KCk9Pgooe1JnOmxUKGEoKSxjKCkuUmEpLGRKOigpPT5tKCkud2lkdGgsSWI6ISFjKCkuSWIseHE6ISFjKCkuaWosdXNlRmFkZUluQW5pbWF0aW9uOiEhYygpLmlqfSksWm06KCk9PmgoKS53aWR0aCxSYTooKT0+YygpLlJhfSkpfSwiRmMiKTtDVi5pZG9tQ29tcGF0PSEwO3ZhciBEVj1fLkwoYT0+e3ZhciBiPSgpPT57dmFyIGQ9YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LigpO2lmKGQpcmV0dXJuIHpTKGQpfSxjPSgpPT57dmFyIGQ9YigpO2lmKGQpe3ZhciBlPWEuSm8oKS5hdXRvbmF2RW5hYmxlZDtyZXR1cm4gXy5hTihlP18uQihkLmVuYWJsZWRFZHVDb21tYW5kLFdVKT8udGV4dDpfLkIoZC5kaXNhYmxlZEVkdUNvbW1hbmQsV1UpPy50ZXh0KX19O3JldHVybiBfLksoXy5PLHtBOigpPT5hLkpvKCkuWWgmJiEhYigpLHRoZW46KCk9Pl8uSygiYXV0b25hdi10b29sdGlwIix7Y2xhc3M6Inl0d0F1dG9uYXZUb29sdGlwSG9zdCIscm9sZToiYWxlcnQifSxfLksoInNwYW4iLHsiYXJpYS1sYWJlbCI6Yyxyb2xlOiJ0ZXh0In0sYykpfSl9LCJHYyIpO0RWLmlkb21Db21wYXQ9ITA7dmFyIEVWPV8uTChhPT57dmFyIGI9Xy52RSgic3BlZWRtYXN0ZXItdG9vbHRpcCIpLGM9Xy5OKCgpPT5hLkcoKS5zYix2b2lkIDAsIkVzVFJsYyIpO18ubkUoKCk9PntpZihjKCkmJmIudmFsdWUpe2xldCBkPW51bGw7U1MoMTczMDQwLGIudmFsdWUsZCxlPT57ZD1lfSl9fSwiQXZwR0lmIik7cmV0dXJuIF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoInNwZWVkbWFzdGVyLXRvb2x0aXAiLHtlbDpiLGNsYXNzOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWwifSxfLiROLkd0KSxfLksoXy5NRCx7aWNvbjoiRkFTVF9GT1JXQVJEIixhY3RpdmU6ITAsY2xhc3NOYW1lOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBJY29uIn0pKX0pfSwiSWMiKTtFVi5pZG9tQ29tcGF0PSEwO3ZhciBGVj1fLkwoYT0+Xy5LKCJwbGF5ZXItdXNlci1lZHUtdG9vbHRpcCIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcEhvc3QifSxfLksoRFYse0pvOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBXcmFwcGVyIn0sXy5LKEVWLHtHOmEuR30pKSkpLCJKYyIpO0ZWLmlkb21Db21wYXQ9ITA7dmFyIFprYT1bMCwxLDIwLDIxXTt2YXIgYWxhPVswLDEsMjAsMjFdLEdUPXZvaWQgMDt2YXIgS21hPV8uTCgoe3VkOmEsRXI6Yn0pPT57ZnVuY3Rpb24gYyhwKXtwLnRvdWNoZXM/LlswXSYmKHA9cC50b3VjaGVzWzBdLGsoe3g6cC5wYWdlWCx5OnAucGFnZVl9KSl9ZnVuY3Rpb24gZChwKXt2YXIgcj1oKCk7aWYoIXJ8fCFwLnRvdWNoZXM/LlswXSlyZXR1cm4gbnVsbDtwPXAudG91Y2hlc1swXTtyZXR1cm57bGs6cC5wYWdlWC1yLngsT2Q6cC5wYWdlWS1yLnl9fXZhciBbZSxmXT1fLkoobnVsbCx2b2lkIDAsIkFoMzBnIiksaD1lLGs9ZixbbCxtXT1fLkoodm9pZCAwLHZvaWQgMCwiUW83NmhkIik7Xy5ZdSgoKT0+e0ZUKGEoKSk7bShFVChsKCkpKX0pO3ZhciBuPXtHYjooKT0+Xy5LKCJkaXYiLG51bGwsXy5LKF8uVyx7ZGF0YTooKT0+Yj8uKCk/Lm1lbnVSZW5kZXJlcj8uaXRlbXN8fFtdfSx7bGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnB9KT0+Xy5LKF8ucEwse2RhdGE6cCxJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOl8uZkp9KSksSGE6ITB9O3JldHVybiBfLksoInl0bS1zaG9ydHMtZ2VzdHVyZS1vdmVybGF5LWNvbnRyb2xzIiwKe2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZU92ZXJsYXkifSxfLksoRlYse0c6YX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc1NwZWVkbWFzdGVyR2VzdHVyZUFyZWEiLCJvbjp0b3VjaHN0YXJ0IjpwPT57YyhwKTtIVChhKCkscC50b3VjaGVzLmxlbmd0aCl9LCJvbjp0b3VjaG1vdmUiOnA9Pnt2YXIgcj1kKHApO3ImJklUKHAscixhKCkpfSwib246dG91Y2hlbmQiOigpPT57RlQoYSgpKTtrKG51bGwpfSwib246dG91Y2hjYW5jZWwiOigpPT57RlQoYSgpKTtrKG51bGwpfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNNZW51R2VzdHVyZUFyZWEiLCJvbjp0b3VjaHN0YXJ0IjpwPT57YyhwKTttKCRrYShhKCkscC50b3VjaGVzLmxlbmd0aCwKKCk9PntfLnlOKG4pfSxsKCkpKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7aWYocil7cD1sKCk7dmFyIHQ9ci5saztyPXIuT2Q7cD1NYXRoLnNxcnQodCp0K3Iqcik+Xy5zaigic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIiwxMCk/RVQocCk6cDttKHApfX0sIm9uOnRvdWNoZW5kIjooKT0+e20oRVQobCgpKSk7ayhudWxsKX0sIm9uOnRvdWNoY2FuY2VsIjooKT0+e20oRVQobCgpKSk7ayhudWxsKX19KSxfLksoImRpdiIse2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO0hUKGEoKSxwLnRvdWNoZXMubGVuZ3RoKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7ciYmSVQocCxyLGEoKSl9LCJvbjp0b3VjaGVuZCI6KCk9PntGVChhKCkpO2sobnVsbCl9LCJvbjp0b3VjaGNhbmNlbCI6KCk9PntGVChhKCkpO2sobnVsbCl9fSkpKX0sIktjIik7dmFyIEdWPV8uTChhPT57dmFyIGI9Xy51RSgiZGl2IiksYz1fLk4oKCk9PmEudGh1bWJuYWlsRGV0YWlscz8uKCksdm9pZCAwLCJFODhVR2QiKSxkPV8uTigoKT0+YS5HKCkuYmEsdm9pZCAwLCJYdEdBbWUiKTtfLm5FKCgpPT57Y2xhKGIudmFsdWUsYygpLGQoKSl9LCJ5QWtpaWMiKTtyZXR1cm4gXy5LKCJ2aWRlby1jb3ZlciIse2NsYXNzOl8uUCgieXRtVmlkZW9Db3Zlckhvc3QiLHtlbmRlZDooKT0+dVMoYS5HKCkpLGhpZGRlbjooKT0+e3ZhciBlPWEuRygpO3JldHVybiEoJFMoZSl8fHVTKGUpKX19KX0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9Db3ZlclRodW1ibmFpbCIsZWw6Yn0pKX0sIk1jIik7R1YuaWRvbUNvbXBhdD0hMDtuZXcgXy5XdChlbGEsMjAwKTt2YXIgU1Q9MDt2YXIgVVQ9SlIoKSxWVD0hMTtuZXcgXy5DdCgicGxheWVyU2V0dGluZ3NNZW51IiwiTnhkM3VmIik7dmFyIExtYT1fLkwoKHtnZjphLEV4OmIscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6Y30pPT57dmFyIGQ9Xy5QKCJ5dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3QiLHt5dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3RJc1NjcnViYmFibGVNb2RlOigpPT5YVChhKCksYigpKX0se3l0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdEhpZGVQcm9ncmVzc0JhcjooKT0+V1QoYSgpLGIoKSkmJmEoKS52aWRlb0R1cmF0aW9uPD0zMH0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmR9LF8uSyhDVix7TGI6YSxjb25maWc6KCk9Pnt2YXIgZT17SWI6ITAscG9zaXRpb246MyxkaXNhYmxlU2NydWJiaW5nOiFYVChhKCksYigpKSxJbjohMSx4cjpYVChhKCksYigpKT8wOjEsb25Ub3VjaE1vdmU6KCk9PnthKCkuZ2V8fChhKCkuUyh7Z2U6ITB9KSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZS1zaG9ydHMtb3ZlcmxheS12aXNpYmlsaXR5Iix7YnViYmxlczohMCwKZGV0YWlsOntnZTohMH19KSkpfSxvblRvdWNoRW5kOmg9PntVUyhoKTthKCkuUyh7Z2U6ITF9KTt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZS1zaG9ydHMtb3ZlcmxheS12aXNpYmlsaXR5Iix7YnViYmxlczohMCxkZXRhaWw6e2dlOiExfX0pKX19LGY9Yz8uKCk7cmV0dXJuIGY/LnBsYXloZWFkSW1hZ2U/ey4uLmUsaGY6e3BsYXloZWFkSW1hZ2U6Zi5wbGF5aGVhZEltYWdlfX06ZX19KSl9LCJRYyIpLE1tYT1fLkwoKHtIOmEsY29udGV4dDpiLHJlZWxQbGF5ZXJTY3J1YmJlclJlbmRlcmVyOmMsRXI6ZH0pPT57dmFyIFtlLGZdPV8uSighMSx2b2lkIDAsIlFjWlNnZCIpLFtoLGtdPV8uSighMSx2b2lkIDAsImNudHpyZiIpLFtsLG1dPV8uSighMSx2b2lkIDAsIlNUSWFlYiIpLFtuLHBdPV8uSighMSx2b2lkIDAsIkN3WGZiYyIpLFtyLHRdPV8uSigwLHZvaWQgMCwiczVLTE1iIiksW3Ysel09Xy5KKDAsdm9pZCAwLCJnamxxTmMiKSxbRSxBXT1fLkooMCwKdm9pZCAwLCJHVWNpWmUiKSxbRixDXT1fLkooIiIsdm9pZCAwLCJ4R0llOCIpLFtHLERdPV8uSighMSx2b2lkIDAsIkZwNUQ0YiIpLEg9Xy5OKCgpPT57dmFyIHBhPXtlYTplKCksZ2U6aCgpLHliOmwoKSxpc0RyYWdnaW5nOm4oKSx2aWRlb0R1cmF0aW9uOnYoKSx2YTpFKCksdmlkZW9JZDpGKCksQ2E6cigpLHNiOkcoKX07cmV0dXJuey4uLmRUKCksLi4ucGEsLi4uKGI/LigpPz97fSksUzpvYT0+e29hLmVhIT09dm9pZCAwJiZmKG9hLmVhKTtvYS5nZSE9PXZvaWQgMCYmayhvYS5nZSk7b2EueWIhPT12b2lkIDAmJm0ob2EueWIpO29hLmlzRHJhZ2dpbmchPT12b2lkIDAmJnAob2EuaXNEcmFnZ2luZyk7b2EuQ2EhPT12b2lkIDAmJnQob2EuQ2EpO29hLnZpZGVvRHVyYXRpb24hPT12b2lkIDAmJnoob2EudmlkZW9EdXJhdGlvbik7b2EudmEhPT12b2lkIDAmJkEob2EudmEpO29hLnZpZGVvSWQhPT12b2lkIDAmJkMob2EudmlkZW9JZCk7b2Euc2IhPT12b2lkIDAmJkQob2Euc2IpfSx0YTp7aXNGdWxsc2NyZWVuOl8uclAsCnRvZ2dsZUZ1bGxzY3JlZW46dWphLGV4aXRGdWxsc2NyZWVuOiRRLGRlOmZsYSxSajpobGEsVWw6aWxhfSxIOmEoKX19LHZvaWQgMCwiVXljTVNiIiksUj1Na2EoSCksTT1Ma2EoSCksUz1La2EoSCksWT0oKT0+e307Xy5vRigoKT0+e3ZhciBwYT1hKCk7cGEmJihwYS5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLFIpLHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixNKSxwYS5hZGRFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixTKSl9KTtfLll1KCgpPT57dmFyIHBhPWEoKTtwYSYmcGE/LmlzUmVhZHk/LigpJiYocGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25WaWRlb1Byb2dyZXNzIixSKSxwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTSkscGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsUykpfSk7cmV0dXJuIF8uSygieXQtbXdlYi1zaG9ydHMtcGxheWVyLWNvbnRyb2xzIix7Y2xhc3M6Xy5QKHtQcm9ncmVzc0JhclNob3dpbmc6KCk9PgpYVChIKCksITApfSl9LF8uSyhfLk8se0E6KCk9PkgoKS5iYT8uWmgsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6SCx0aHVtYm5haWxEZXRhaWxzOll9KSxfLksodVYse0c6SCxIOmF9KSl9KSxfLksoXy5PLHtBOigpPT57dmFyIHBhPUgoKTtyZXR1cm4gWFQocGEsITApfHxXVChwYSwhMCl9LHRoZW46KCk9Pl8uSyhMbWEse2dmOkgsRXg6KCk9PiEwLHJlZWxQbGF5ZXJTY3J1YmJlclJlbmRlcmVyOmN9KX0pLF8uSyhfLk8se0E6KCk9Pl8ueCgibXdlYl9zaG9ydHNfZW5hYmxlX2xvbmdfcHJlc3Nfc3BlZWR1cCIpLHRoZW46KCk9Pl8uSyhfLkNQLHtyb290OiIjZ2VzdHVyZS1sYXllciJ9LCgpPT5fLksoS21hLHt1ZDpILEVyOmR9KSl9KSl9LCJTYyIpO3ZhciBIVj1fLkwoYT0+e2Z1bmN0aW9uIGIoVSl7VSE9PTB8fHIoKT9VPjUwJiYocigpfHwhRSgpKT8odCghMSksQSghMCkpOlU8PTUwJiYocigpfHxFKCkpJiYodCghMSksQSghMSkpOnQoITApfWFzeW5jIGZ1bmN0aW9uIGMoVSxoYSl7KFU9ZSgpPz9hd2FpdCBfLkxIKCkpJiYoaGE/VS51bk11dGUoITApOlUubXV0ZSghMCkpfWFzeW5jIGZ1bmN0aW9uIGQoVSl7dmFyIGhhPWUoKT8/YXdhaXQgXy5MSCgpLG1hPTUwO2hhJiYobWE9aGEuZ2V0Vm9sdW1lKCksaGEuaXNNdXRlZCgpP1pUKFUsMCk6WlQoVSxtYSkpO0cobWEpfXZhciBlPWtsYShhLkgpLGY9Xy51RSgidm9sdW1lLWNvbnRyb2xzIiksaD1fLnVFKCJidXR0b24iKSxrPV8udkUoImlucHV0IiksW2wsbV09Xy5KKCExLHZvaWQgMCwic01jTGxiIiksW24scF09Xy5KKCExLHZvaWQgMCwiZ29OcHYiKSxyPW4sdD1wLFt2LHpdPV8uSighMCx2b2lkIDAsImtBVDk1IiksRT12LEE9eixbRixDXT1fLkooNTAsdm9pZCAwLCJxNXFEMmMiKSwKRz1DLEQ9Xy5OKCgpPT57dmFyIFU9cigpO3JldHVybiBfLngoIndlYl9zaG9ydHNfa2V5Ym9hcmRfZW5hYmxlX211dGVfc2hvcnRjdXQiKT9VP18uYUEoIlBMQVlFUl9MQUJFTF9VTk1VVEUiLHZvaWQgMCwiVW5tdXRlIChtKSIpOl8uYUEoIlBMQVlFUl9MQUJFTF9NVVRFIix2b2lkIDAsIk11dGUgKG0pIik6VT9fLmFBKCJVTk1VVEVfVk9MVU1FIix2b2lkIDAsIlVubXV0ZSIpOl8uYUEoIk1VVEVfVk9MVU1FIix2b2lkIDAsIk11dGUiKX0sdm9pZCAwLCJsUjFzR2MiKSxIPV8uTigoKT0+e3ZhciBVPXIoKSxoYT1FKCk7cmV0dXJue3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOlU/IlZPTFVNRV9PRkZfRklMTEVEIjpoYT8iVk9MVU1FX1VQX0ZJTExFRCI6IlZPTFVNRV9ET1dOX0ZJTExFRCJ9fV19fSx2b2lkIDAsIlNJcWtlYyIpLFI9Xy5OKCgpPT57dmFyIFU9RigpO3JldHVybiByKCk/YCR7VX0lIHZvbHVtZSBtdXRlZGA6YCR7VX0lIHZvbHVtZWB9LHZvaWQgMCwiVGZIUDBkIiksCk09Xy5OKCgpPT5hLm9yaWVudGF0aW9uKCk9PT0idmVydGljYWxfZG93biIsdm9pZCAwLCJaN0YzdWIiKSxTPV8uTigoKT0+TSgpPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwiLHZvaWQgMCwic1YyTXBiIiksWT1fLk4oKCk9PmEuRHY/LigpPz8hMSx2b2lkIDAsInpvdlVMZSIpLHBhPV8uTigoKT0+YS5DcD8uKCk/PyExLHZvaWQgMCwicEVVaHFlIik7Xy5VSigoKT0+e2Z1bmN0aW9uIFUoKXttKCEwKX1mdW5jdGlvbiBoYSgpe20oITEpfWsmJmsudmFsdWUmJihrLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVKSxrLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSksZChrLnZhbHVlKS50aGVuKCgpPT57YihOdW1iZXIoay52YWx1ZT8udmFsdWU/PzApKX0pKTtoJiZoLnZhbHVlJiYoV1MoaC52YWx1ZSwyODY2MiksaC52YWx1ZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsVSksaC52YWx1ZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsaGEpKTtfLll1KCgpPT4Ke2s/LnZhbHVlPy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsVSk7az8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSk7aD8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixVKTtoPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKX0pfSk7dmFyIG9hPVU9PntVPVUubXV0ZWQ/MDpVLnZvbHVtZTtHKFUpO2IoVSk7ay52YWx1ZSYmWlQoay52YWx1ZSxVKX07Xy5uRSgoKT0+e3ZhciBVPWUoKTtVJiYoVS5hZGRFdmVudExpc3RlbmVyKCJvblZvbHVtZUNoYW5nZSIsb2EpLF8uWXUoKCk9PntVLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uVm9sdW1lQ2hhbmdlIixvYSl9KSl9LCJ4aDNHWmMiKTtyZXR1cm4gXy5LKCJ2b2x1bWUtY29udHJvbHMiLHtjbGFzczpfLlAoInl0ZFZvbHVtZUNvbnRyb2xzSG9zdCIse3l0ZFZvbHVtZUNvbnRyb2xzRGlzYWJsZVNsaWRlcjpwYX0sYS5jbGFzc05hbWUpLGVsOmZ9LF8uSygiZGl2IiwKeyJvbjpwb2ludGVybGVhdmUiOmZ1bmN0aW9uKCl7bSghMSl9LGNsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lciIse3l0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJWZXJ0aWNhbDpNLHl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJFeHBhbmRlZDooKT0+bCgpfSl9LF8uSyhfLk8se0E6KCk9PiFhLmJqPy4oKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW0iLHt5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkOmwseXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZEhvdmVyU3RhdGU6KCk9PmwoKSYmWSgpfSl9KX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uQ29udGFpbmVyOk19KX0sXy5LKCJidXR0b24iLHsiYXJpYS1sYWJlbCI6RCwKdGl0bGU6RCxlbDpoLCJvbjpjbGljayI6ZnVuY3Rpb24oVSl7WFMoMjg2NjIpO2smJmsudmFsdWUmJmMoay52YWx1ZSxyKCkpO1Uuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpwb2ludGVyZW50ZXIiOmZ1bmN0aW9uKCl7bSghMCl9LGNsYXNzOiJ5dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uIn0sSD9fLksoXy5qRix7ZGF0YTpILGFsdDpELGNsYXNzTmFtZToieXRkVm9sdW1lQ29udHJvbHNNdXRlSWNvbiJ9KTpudWxsKSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyIix7eXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJFeHBhbmRlZDpsLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWw6TSx5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRG93bjpNLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxFeHBhbmRlZDooKT0+bCgpJiZNKCkseXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJEaXNhYmxlU2xpZGVyOnBhLAp5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcldpdGhTY3JpbTooKT0+IWEuYmo/LigpfSksIm9uOmNsaWNrIjpmdW5jdGlvbihVKXtVLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKCJpbnB1dCIse2RpcjoibHRyIiwiYXJpYS1sYWJlbCI6Xy5hQSgiVk9MVU1FIiksdGl0bGU6Xy5hQSgiVk9MVU1FIiksZWw6aywib246aW5wdXQiOmZ1bmN0aW9uKFUpe2smJmsudmFsdWUmJmpsYShOdW1iZXIoay52YWx1ZT8udmFsdWU/PzApLGUoKSk7VS5zdG9wUHJvcGFnYXRpb24oKX0sdHlwZToicmFuZ2UiLGNsYXNzOiJ5dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlciIsaWQ6InZvbHVtZS1pbnB1dCIscm9sZToic2xpZGVyIiwiYXJpYS12YWx1ZW5vdyI6RiwiYXJpYS12YWx1ZXRleHQiOlIsImFyaWEtdmFsdWVtaW4iOjAsImFyaWEtdmFsdWVtYXgiOjEwMCwiYXJpYS1vcmllbnRhdGlvbiI6U30pKSkpfSwiVWMiKTt2YXIgTm1hPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYz1hLkcoKSxkPWMuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoO3JldHVybihjLmJhPy5FZXx8Xy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKSkmJiEhZCYmZDw0MjB9O3JldHVybiBfLksoInl0bS1mdWxsc2NyZWVuLXJlbGF0ZWQtdmlkZW9zLWVudHJ5LXBvaW50LXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEhvc3QiLHt5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaXRsZUhpZGRlbjpifSl9LF8uSygiYnV0dG9uIix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24iLHt5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWw6Xy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKX0pLAoib246Y2xpY2siOmZ1bmN0aW9uKGMpe2EuRygpLlMoe05hOiEwfSk7Xy5NTygiLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb24gLm1lZGlhLWl0ZW0taW5mbyBhIik7YlQoKTtjLnN0b3BQcm9wYWdhdGlvbigpfSwiYXJpYS1sYWJlbCI6KCk9PmEuZGF0YSgpLnRpdGxlPy5jb250ZW50Pz8iIn0sXy5LKF8uTyx7QTooKT0+IWIoKSx0aGVuOigpPT5fLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS50aXRsZX0pfSksXy5LKF8uTyx7QTooKT0+YS5kYXRhKCkuaW1hZ2VGcm9udCx0aGVuOmM9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRodW1ibmFpbFN0YWNrIn0sXy5LKF8uTyx7QTooKT0+IV8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil8fCEhYS5kYXRhKCkuaW1hZ2VCYWNrLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxGYWRlZFRodW1ibmFpbCIsCiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlsIil9KX0pLF8uSyhfLk8se0E6KCk9PiFfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfHwhIWEuZGF0YSgpLmltYWdlTWlkZGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxGYWRlZFRodW1ibmFpbCIsInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWwiKX0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVyIn0sXy5LKF8uakYse2RhdGE6YyxhbHQ6IiIsY2xhc3NOYW1lOiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWwiLGFyaWFIaWRkZW46ITAsCllhOiEwfSkpKX0pKSl9LCJWYyIpO3ZhciBJVj1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmN9KT0+Xy5LKCJ5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczoieXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmN9KX0pKSwiV2MiKTtJVi5pZG9tQ29tcGF0PSEwO3ZhciBKVj1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmMsSGM6ZH0pPT57dmFyIGU9Xy5ESShfLlJMLCgpPT5hKCkubGlrZVN0YXR1c0VudGl0eUtleXx8IiIpLGY9KCk9Pl8udFAoKSYmYSgpLmlzTGlrZSYmYSgpLmJ1dHRvbj8udG9nZ2xlQnV0dG9uUmVuZGVyZXI/e3N0eWxlOiJtb25vIn06Yz8uKCksaD0oKT0+Xy50UCgpJiZhKCkuaXNMaWtlJiZhKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcj97YW5pbWF0ZUljb246InRydWUifTp2b2lkIDA7cmV0dXJuIF8uSygieXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOmJ9LF8uSyhfLk8se0E6KCk9Pnt2YXIgaz1hKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcjtpZihrJiZhKCkubGlrZVN0YXR1c0VudGl0eUtleSl7bGV0IGw9YSgpLmlzTGlrZT9lKCk/Lmxpa2VTdGF0dXM9PT0iTElLRSI6ZSgpPy5saWtlU3RhdHVzPT09IkRJU0xJS0UiO3JldHVybnsuLi5rLAppc1RvZ2dsZWQ6bH19cmV0dXJuIGt9LHRoZW46az0+Xy5LKF8ucU8se2RhdGE6ayxzdHlsZTpoLGNsYXNzTmFtZTpiLGJ1dHRvbk92ZXJyaWRlczpmLEhjOmR9KX0pKX0sIlhjIik7SlYuaWRvbUNvbXBhdD0hMDt2YXIgS1Y9Xy5MKGE9PntmdW5jdGlvbiBiKHIpe3ZhciB0PWMoKTt0LmJhPy5Eenx8Xy50UCgpfHx0LmlzRnVsbHNjcmVlbiYmdC50YS50b2dnbGVGdWxsc2NyZWVuKCk7ci5zdG9wUHJvcGFnYXRpb24oKX12YXIgYz1hLkcsZD0oKT0+YS5HKCkuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoLGU9Xy5OKCgpPT4hIWEuRygpLkg/LmlzRW1iZWRzU2hvcnRzTW9kZT8uKCksdm9pZCAwLCJ3c0hEWiIpLGY9Xy5QKHsicGxheWVyLWNvbnRyb2xzLWhpZGUiOigpPT4hKCFJUyhhLkcoKSl8fGEuRygpLmJhPy5FZSYmIWEuRygpLk5hKX0pLGg9YS53YXRjaE5leHRSZXNwb25zZSxrPWEudGh1bWJuYWlsUHJldmlld1JlbmRlcmVyLGw9YS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyLG09KCk9Pnt2YXIgcj1Da2EoaD8uKCksaz8uKCkpO3JldHVybiBlKCl8fGEuRygpLmJhPy5vaD9yLmZpbHRlcih0PT5fLkIodCxmbWEpPyExOl8uQih0LF8uVkwpPy5pY29uPy5pY29uVHlwZSE9PSJBRERfVE9fV0FUQ0hfTEFURVIiKToKcn0sbj0oKT0+e3ZhciByPWg/LigpLHQ9az8uKCksdj1sPy4oKSx6PSRTKGEuRygpKTt2YXIgRT1lKCk7aWYodilFPXY/LnlvdXR1YmVXYXRlcm1hcms7ZWxzZSBpZih0PV8uQih0Py5xdWlja0FjdGlvbnNCYXIsS1MpPy53YXRjaE9uWW91dHViZUJ1dHRvbix2PV8uQihyPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5mdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyLEtTKT8ud2F0Y2hPbllvdXR1YmVCdXR0b24scj1fLkIodHx8dixsVik/LndhdGNoT25ZdExhYmVsQnV0dG9uLHQ9Xy5CKHR8fHYsbFYpPy55dExvZ29Pbmx5QnV0dG9uLHopRT1yO2Vsc2V7aWYoRSl0cnl7bGV0IEE9dC5idXR0b25WaWV3TW9kZWwsRj1BLnRpdGxlRm9ybWF0dGVkLmF0dGFjaG1lbnRSdW5zWzBdLmVsZW1lbnQ7Ri50eXBlLmltYWdlVHlwZS5pbWFnZS5zb3VyY2VzWzBdLmNsaWVudFJlc291cmNlLmltYWdlTmFtZT0ic2hvcnRzX3RleHRfbG9nbyI7Ri5wcm9wZXJ0aWVzLmxheW91dFByb3BlcnRpZXMuaGVpZ2h0LnZhbHVlPQoyNDtGLnByb3BlcnRpZXMubGF5b3V0UHJvcGVydGllcy53aWR0aC52YWx1ZT03Mjt6PUE/Lm9uVGFwPy5pbm5lcnR1YmVDb21tYW5kPy51cmxFbmRwb2ludD8udXJsO2lmKEUmJnomJnouaW5jbHVkZXMoIi93YXRjaD92PSIpKXtsZXQgQz16LnJlcGxhY2UoIi93YXRjaD92PSIsIi9zaG9ydHMvIik7QS5vblRhcC5pbm5lcnR1YmVDb21tYW5kLnVybEVuZHBvaW50LnVybD1DfX1jYXRjaChBKXt9RT10fXJldHVybiBFfSxwPXtjbGFzc05hbWU6ImNpcmNsZS1idXR0b25zIixidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19O3JldHVybiBfLksoInBsYXllci1mdWxsc2NyZWVuLWFjdGlvbi1tZW51Iix7Y2xhc3M6Inl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51SG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Zn0sXy5LKCJkaXYiLHtjbGFzczoiZnVsbHNjcmVlbi1hY3Rpb24tbWVudSIsIm9uOmNsaWNrIjpmdW5jdGlvbihyKXt2YXIgdD1jKCk7Y1QodCx7SWM6ITB9KTtyLnN0b3BQcm9wYWdhdGlvbigpOwpyLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+IShhLkcoKS5iYT8uaGlkZVZpZGVvSW5mb3x8YS5HKCkuYmE/Lll3fHxkKCkmJmQoKTwzMjApLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJhY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlciIsIm5vLWxhYmVsLWV4cCIpLCJvbjpjbGljayI6Yn0sXy5LKF8uVyx7ZGF0YTptfSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKF8ucE8se2RhdGE6ciwuLi5wfSksc2xpbU1ldGFkYXRhVG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKEpWLHtkYXRhOnIsY2xhc3NOYW1lOl8uUChwLmNsYXNzTmFtZSx7Imxpa2UtYnV0dG9uLW5vLWxhYmVsLWV4cCI6KCk9PnIoKS5pc0xpa2V9KSxIYzooKT0+cigpLmlzTGlrZT97QXM6ITB9OnZvaWQgMCxidXR0b25PdmVycmlkZXM6KCk9PnIoKS5pc0xpa2U/dm9pZCAwOnAuYnV0dG9uT3ZlcnJpZGVzfSksc2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Cl8uSyhJVix7ZGF0YTpyLC4uLnB9KSxmdWxsc2NyZWVuRW5nYWdlbWVudEFjdGlvbkJhclNhdmVCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoSVYse2RhdGE6ciwuLi5wfSksYnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLkhELHtkYXRhOnIsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuQWN0aW9uTWVudUNpcmNsZUJ1dHRvbnMiLGJ1dHRvbk92ZXJyaWRlczp7aWNvblBvc2l0aW9uOiJpY29uLW9ubHktNDAifX0pLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTpyfSk9Pl8uSyhfLnFPLHtkYXRhOnIsLi4ucH0pfSkpfSksXy5LKCJkaXYiLHtjbGFzczoicXVpY2stYWN0aW9ucy13cmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+IWEuRygpLmJhPy5YdyYmISRTKGEuRygpKSYmIShkKCkmJmQoKTwzMjApJiYhZSgpJiZMUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlciJ9LApfLksoTm1hLHtkYXRhOigpPT5MUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksRzpjfSkpfSksXy5LKF8uTyx7QTooKT0+JFMoYS5HKCkpJiYoZSgpfHxkKCkmJmQoKTwzMjApPyExOiEwLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6IndhdGNoLW9uLXlvdXR1YmUtYnV0dG9uLXdyYXBwZXIifSxfLksoXy5XLHtkYXRhOm59LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uSEQse2RhdGE6cixjbGFzc05hbWU6IndhdGNoLW9uLXlvdXR1YmUtYnV0dG9uIixidXR0b25PdmVycmlkZXM6KCk9Pnt2YXIgdD1yKCk7cmV0dXJue3NpemU6IkwiLGRpc2FibGVkOiFfLkIoXy5CKHQ/Lm9uVGFwLF8uT0QpLF8uVkQpfX19KSxidXR0b25SZW5kZXJlcjpfLnBPLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOl8ucU99KSl9KSkpKSl9LCJZYyIpO0tWLmlkb21Db21wYXQ9ITA7dmFyIExWPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgbT1hLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXI/LigpO3JldHVybiBfLkIobT8uZW5kU2NyZWVuLHBWKT8uY29udGludWVXYXRjaGluZ30sYz0oKT0+e3ZhciBtPWEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCk7cmV0dXJuIF8uQihtPy5lbmRTY3JlZW4scFYpPy5icmFuZGluZ0ljb259LFtkLGVdPV8uSighMSx2b2lkIDAsIkVlWFhCYyIpLGYsaD0oKT0+e2NsZWFyVGltZW91dChmKTtlKCExKTtmPXNldFRpbWVvdXQoKCk9PntlKCEwKX0sNEUzKX0saz0oKT0+e3ZhciBtPWEuRygpLkg/LmdldFZpZGVvRGF0YSgpPy52aWRlb19pZDttJiZhLkcoKS5IPy5jdWVWaWRlb0J5SWQobSl9LGw9KCk9Pnt2YXIgbT1fLlV3KGEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCkudHJhY2tpbmdQYXJhbXMpO20mJl8uSk8obSl9O18uVUooKCk9PntoKCk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25NdXRlZEF1dG9wbGF5U3RhcnRzIiwKaCk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25BdXRvcGxheUJsb2NrZWQiLGspO2EuRygpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixsKX0pO18uWXUoKCk9PntjbGVhclRpbWVvdXQoZik7YS5HKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25NdXRlZEF1dG9wbGF5U3RhcnRzIixoKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkF1dG9wbGF5QmxvY2tlZCIsayk7YS5HKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLGwpfSk7cmV0dXJuIF8uSygieXRtLW11dGVkLWF1dG9wbGF5LW92ZXJsYXkiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0Iiwib246Y2xpY2siOmZ1bmN0aW9uKG0pe3ZhciBuPWEuRz8uKCkuSCxwPW4/LmdldFZpZGVvRGF0YSgpPy52aWRlb19pZCxyPW4/LmdldEN1cnJlbnRUaW1lKCk7cCYmciYmKG4/LnVuTXV0ZSgpLG4/LmxvYWRWaWRlb0J5SWQocCxyKSk7Cm0uc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT51UyhhLkcoKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCYWNrZ3JvdW5kIn0sXy5LKCJkaXYiLG51bGwsXy5LKF8uVyx7ZGF0YTpifSx7YnV0dG9uVmlld01vZGVsOl8uSER9KSksXy5LKCJkaXYiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb24ifSxfLksoXy5PLHtBOmMsdGhlbjptPT5fLksoXy5qRix7ZGF0YTptLGFsdDoiWW91VHViZSBMb2dvIn0pfSkpKSxXOigpPT5fLksoImRpdiIsbnVsbCxfLksoImRpdiIse2NsYXNzOl8uUCgieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlBY3Rpb25NZW51Iix7eXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIaWRlQWN0aW9uTWVudTpkfSl9LF8uSyhLVix7RzphLkcscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjphLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXJ9KSksXy5LKCJkaXYiLAp7Y2xhc3M6Inl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIn0sXy5LKF8uTUQse2ljb246ImVxdWFsaXplciJ9KSkpfSkpfSwiWmMiKTtMVi5pZG9tQ29tcGF0PSEwO3ZhciBPbWE9Xy5MKCh7Rng6YSxhbmltYXRpb246Yn0pPT57dmFyIGM9Xy51RSgiZGl2IiksW2QsZV09Xy5KKCExLHZvaWQgMCwidGkwMm8iKSxmPTAsaD1fLngoIm13ZWJfZW5hYmxlX3Nob3J0c19oZWFydF9uZXdfZG91YmxlX3RhcCIpPyJsaWtlX3RhcF9mZWVkYmFja19zaG9ydHNfaGVhcnQiOiJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiI7Xy5uRSgoKT0+e2UoITApO18uamYuQWEoZik7Zj1fLllqKCgpPT57ZSghMSl9LDJFMyk7dmFyIGs9Yj8uKCk/Lm5hbWU7aWYoaz09PWgpe2NVKGgpO2s9Yj8uKCk/Lng7dmFyIGw9Yj8uKCk/Lnk7bGV0IG09Yy52YWx1ZTttJiYoayE9PXZvaWQgMCYmbCE9PXZvaWQgMD8obS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG0uc3R5bGUubGVmdD1gJHtrfXB4YCxtLnN0eWxlLnRvcD1gJHtsfXB4YCxtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKC01MCUsIC01MCUpIik6KG0uc3R5bGUucG9zaXRpb249IiIsbS5zdHlsZS5sZWZ0PSIiLG0uc3R5bGUudG9wPQoiIixtLnN0eWxlLnRyYW5zZm9ybT0iIikpfWVsc2V7aWYobD1jLnZhbHVlKWwuc3R5bGUucG9zaXRpb249IiIsbC5zdHlsZS5sZWZ0PSIiLGwuc3R5bGUudG9wPSIiLGwuc3R5bGUudHJhbnNmb3JtPSIiO2s9PT0icGxheV85NmRwX2FuaW1hdGlvbiI/Y1UoInBsYXlfOTZkcF9hbmltYXRpb24iKTprPT09InBhdXNlXzk2ZHBfYW5pbWF0aW9uIiYmY1UoInBhdXNlXzk2ZHBfYW5pbWF0aW9uIil9fSwiRUNKVWRkIik7cmV0dXJuIF8uSygic2hvcnRzLXRvdWNoLWZlZWRiYWNrIix7Y2xhc3M6Xy5QKCJ5dFNob3J0c1RvdWNoRmVlZGJhY2tIb3N0Iix7eXRTaG9ydHNUb3VjaEZlZWRiYWNrSGlkZGVuOigpPT4hZCgpfSl9LF8uSyhfLk8se0E6YSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKCJkaXYiLHtlbDpjLGNsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LApfLksoXy5jTSx7YW5pbWF0aW9uTmFtZTooKT0+aCxkYXRhOnthbmltYXRpb25Db25maWc6YlUoaCl9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrTGlrZUFuaW1hdGlvbiJ9KSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRTaG9ydHNUb3VjaEZlZWRiYWNrVG91Y2hGZWVkYmFjayJ9LF8uSyhfLmNNLHthbmltYXRpb25OYW1lOigpPT4icGxheV85NmRwX2FuaW1hdGlvbiIsZGF0YTp7YW5pbWF0aW9uQ29uZmlnOmJVKCJwbGF5Xzk2ZHBfYW5pbWF0aW9uIil9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrUGxheVBhdXNlQW5pbWF0aW9uIn0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKF8uY00se2FuaW1hdGlvbk5hbWU6KCk9PiJwYXVzZV85NmRwX2FuaW1hdGlvbiIsZGF0YTp7YW5pbWF0aW9uQ29uZmlnOmJVKCJwYXVzZV85NmRwX2FuaW1hdGlvbiIpfSxjbGFzc05hbWU6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbiJ9KSkpfSwKImFkIik7dmFyIGRVPXZvaWQgMCxlVT12b2lkIDAsZlUsZ1U9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgW2IsY109Xy5KKDAsdm9pZCAwLCJWZnY1OCIpLFtkLGVdPV8uSigwLHZvaWQgMCwiZ0dDTjlkIiksW2YsaF09Xy5KKCExLHZvaWQgMCwiblNhTGgiKTtyZXR1cm4gXy5LKCJ5dG0tYm90dG9tLXNoZWV0LW92ZXJsYXktcmVuZGVyZXIiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250YWluZXIiLHN0eWxlOigpPT57dmFyIGs9YigpLGw9ZCgpLG09ZigpO2s9YHRyYW5zZm9ybTogdHJhbnNsYXRlWSgke01hdGgubWF4KDAsTWF0aC5yb3VuZChsLWspKX1weCk7YDttJiYoays9InRyYW5zaXRpb246IDAuMnM7Iik7cmV0dXJuIGt9LCJvbjp0b3VjaHN0YXJ0IjpmdW5jdGlvbihrKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSI7YyhrLnRvdWNoZXNbMF0uY2xpZW50WSk7Cmsuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKGspe2Uoay50b3VjaGVzWzBdLmNsaWVudFkpO2suc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaGVuZCI6ZnVuY3Rpb24oayl7ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I9IiI7d2luZG93LnNjcmVlbi5hdmFpbEhlaWdodC1kKCk8PTMwMD8oaCghMCksZSh3aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0KSxzZXRUaW1lb3V0KCgpPT57aWYoZFUhPW51bGwpe3ZhciBsPV8uSHooKTtsLnNldCgic3VwcHJlc3NfYXBwX3Vwc2VsbCIsMSk7bC5zYXZlKCk7ZVUmJihlVS5xdj0hMCxlVT12b2lkIDApO18uS04oZFUpO2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZFUpO2RVPXZvaWQgMDtmVT8uKCk7ZlU9dm9pZCAwO18ueSgpLnJlc29sdmUoXy55UCkuUXUoKX19LDI1MCkpOihoKCEwKSxlKDApKTtrLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXIiLApzdHlsZTooKT0+YSgpLmJhY2tncm91bmRJbWFnZT9gYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7YSgpLmJhY2tncm91bmRJbWFnZX0pO2A6dm9pZCAwfSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckRyYWdIYW5kbGUifSksXy5LKF8uTUQse2ljb246KCk9PmEoKS5jZW50cmFsSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNlbnRyYWxJY29uIn0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5jbG9zZUJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTprfSk9Pl8uSyhfLnBPLHtkYXRhOmssY2xhc3NOYW1lOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNsb3NlIixwcmV2ZW50RGVmYXVsdDohMCxRZjohMH0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHMifSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclRpdGxlIn0sCl8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZSJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkuc3VidGl0bGV9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbnN9LHtidXR0b25SZW5kZXJlcjpfLnBPfSkpKSl9LCJiZCIpO2dVLmlkb21Db21wYXQ9ITA7dmFyIE1WPV8uTCgoe2RhdGE6YSxzdG9wUHJvcGFnYXRpb246Yn0pPT5fLksoInl0bS1mb3JjZWQtbXV0ZS1tZXNzYWdlLXJlbmRlcmVyIixudWxsLF8uSyhfLnZPLHtpY29uVHlwZTpfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8iYXVkaW9fc2xhc2giOiJhdWRpb19vZmYiLGFyaWFMYWJlbDooKT0+Xy5hTihhKCkuZm9yY2VkTXV0ZU1lc3NhZ2VUZXh0KSxvbmNsaWNrOmM9PntiPy4oKSYmYy5zdG9wUHJvcGFnYXRpb24oKTtjPWEoKTtfLkIoYy5oZWxwQnV0dG9uLF8uVkwpPy5uYXZpZ2F0aW9uRW5kcG9pbnQmJl8uQUooXy5CKGMuaGVscEJ1dHRvbixfLlZMKT8ubmF2aWdhdGlvbkVuZHBvaW50LGMsITApfSxMbToieXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UifSkpLCJlZCIpO01WLmlkb21Db21wYXQ9ITA7dmFyIE5WPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixHSjpjfSk9Pnt2YXIgZD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtyZXR1cm4gXy5LKCJ5dG0taW5mby1wYW5lbC1jb250ZW50LXJlbmRlcmVyIix7Y2xhc3M6Xy5QKGIsInl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3QiLHt5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0SXNXYXRjaEluZm9QYW5lbDpjLHl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RDaW5lbWF0aWNCYWNrZ3JvdW5kOigpPT5kJiZjPy4oKX0pLCJ5dG0taW5mby1wYW5lbC1jb250ZW50LXRydW5jYXRlLXBhcmFncmFwaHMiOigpPT4hIWEoKS50cnVuY2F0ZVBhcmFncmFwaHN8fHZvaWQgMCwieXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudSI6KCk9PiEhYSgpLm1lbnV8fHZvaWQgMCwiZGF0YS1iYWNrZ3JvdW5kIjooKT0+YSgpLmJhY2tncm91bmR9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCkuc291cmNlRW5kcG9pbnQsCmNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyRW5kcG9pbnQifSxfLksoUG1hLHtkYXRhOmF9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmV9KT0+Xy5LKF8uU1Ase2RhdGE6ZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlck1lbnUifSl9KSl9LCJmZCIpLFBtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlciIsImRhdGEtaGFzLWljb24iOigpPT4hIWEoKS5pY29ufSxfLksoXy5PLHtBOigpPT5hKCkuc291cmNlQXRUb3AmJmEoKS5zb3VyY2UsdGhlbjooKT0+Xy5LKE9WLHtkYXRhOmF9KX0pLF8uSyhfLk8se0E6KCk9PmEoKS50aXRsZSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lciJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSxfLksoXy5NRCwKe2ljb246KCk9PmEoKS5pbmxpbmVMaW5rSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbiJ9KSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJCb2R5In0sXy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGV4dCJ9LF8uSyhfLk8se0E6KCk9PiFhKCkuc291cmNlQXRUb3AmJmEoKS5zb3VyY2UsdGhlbjooKT0+Xy5LKE9WLHtkYXRhOmF9KX0pLF8uSyhfLmdHLHtwYTooKT0+YSgpLnBhcmFncmFwaHN8fFtdfSwoYixjKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoIn0sXy5LKF8uSUose2RhdGE6Yn0pLF8uSyhfLk8se0E6KCk9PmMoKT09PWEoKS5wYXJhZ3JhcGhzLmxlbmd0aC0xJiZhKCkuaW5saW5lU291cmNlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZSJ9LApfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2VUZXh0In0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5pbmxpbmVTb3VyY2V9KSksXy5LKF8uTUQse2ljb246KCk9PmEoKS5pbmxpbmVMaW5rSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbiJ9KSl9KSkpKSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbix0aGVuOmI9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhlYWRlclJpZ2h0SXRlbXMifSxfLksoXy5NRCx7aWNvbjooKT0+YigpLmljb25UeXBlLGNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVySWNvbiJ9KSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLnRpdGxlfSkpfSksXy5LKF8uTyx7QTooKT0+YSgpLnRodW1ibmFpbCx0aGVuOmI9Pl8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOmIsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaHVtYm5haWwiLAphbHQ6IiIsWWE6Xy54KCJjM19wcmVzZXJ2ZV9kaW1lbnNpb25zX2tzIik/dm9pZCAwOiEwLFRhOl8ueCgiYzNfcHJlc2VydmVfZGltZW5zaW9uc19rcyIpP3ZvaWQgMDohMH0pfSkpKSwiZ2QiKSxPVj1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWV0YWRhdGEifSxfLksoXy5PLHtBOigpPT5hKCkuc291cmNlLHRoZW46Yj0+Xy5LKF8uSUose2RhdGE6Yn0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnB1Ymxpc2hlZFRpbWVUZXh0LHRoZW46Yj0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUHVibGlzaFRpbWUifSwiXHUyMDIyICIsXy5LKF8uSUose2RhdGE6Yn0pKX0pKSwiaGQiKTtOVi5pZG9tQ29tcGF0PSEwO3ZhciBQVj1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXIiLHtiYWNrZ3JvdW5kOigpPT5hKCkuYmFja2dyb3VuZH0sXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWxlZnQtaXRlbXMifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24/Lmljb25UeXBlLGNsYXNzTmFtZToieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1pY29uIn0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKF8uU1Ase2RhdGE6YixjbGFzc05hbWU6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItbWVudSJ9KX0pKX0pLF8uSyhfLlcse2RhdGE6KCk9PgphKCkuY29udGVudH0se2luZm9QYW5lbENvbnRlbnRSZW5kZXJlcjpOVn0pKSwiaWQiKTtQVi5pZG9tQ29tcGF0PSEwO3ZhciBSVj1fLkwoKHtkYXRhOmEsaXNBY3RpdmU6YixISjpjLGNsYXNzTmFtZTpkfSk9Pnt2YXIgZT1fLmNJKF8uWlApLGY9Xy5jSSh3amEpLGg9Xy5jSSh2amEpLGs7Xy5uRSgoKT0+e2I/LigpJiZhKCk/LnRyYWNraW5nUGFyYW1zJiZhKCkudHJhY2tpbmdQYXJhbXMhPT1rJiZfLmlxKCkhPT1rJiYoXy5seChfLmh4KCksYSgpLnRyYWNraW5nUGFyYW1zKSxrPV8uaXEoKSl9LCJMUmVTbGIiKTtfLlVKKCgpPT57bmxhKGEoKSl9KTtyZXR1cm4gXy5LKCJ5dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOmQsImRhdGEtaXMtYWN0aXZlIjpifHx2b2lkIDAsImRhdGEtaGFzLWluZm8tcGFuZWwiOigpPT57dmFyIGw9YSgpLG09Xy5CKGwucGxheWVyT3ZlcmxheSxjbWEpO3JldHVybiEhbC5pbmZvUGFuZWx8fCEhbT8uaW5mb1BhbmVsfHx2b2lkIDB9LCJleHRyYWN0LW92ZXJsYXkiOigpPT5lKCk9PT0xfHx2b2lkIDAsImV4dHJhY3QtYWN0aW9uLWJhciI6KCk9Pl8uYU0oZSgpKXx8CnZvaWQgMCwic21hbGxlci1zY3JlZW4tc3F1ZWV6ZWJhY2siOigpPT5mKCl8fHZvaWQgMCwiaXMtZnVsbHNjcmVlbiI6KCk9PmgoKXx8dm9pZCAwLCJpcy13ZWIiOigpPT5jPy4oKXx8dm9pZCAwfSxfLksoXy5PLHtBOigpPT5hKCkucGxheWVyT3ZlcmxheSx0aGVuOmw9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+ITAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyIn0sXy5LKFFWLHtkYXRhOmF9KSl9KSxfLksoXy5XLHtkYXRhOmx9LHtyZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbDpfLmJqYX0pKSxXOigpPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktbWFpbi1jb250ZW50In0sXy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YSJ9LF8uSyhRbWEse2RhdGE6YX0pKSxudWxsLF8uSyhSbWEse2RhdGE6YX0pKSxfLksoU21hLHtkYXRhOmF9KSl9KSwKXy5LKFRtYSx7ZGF0YTphfSkpfSwia2QiKTtSVi5pZG9tQ29tcGF0PSEwOwp2YXIgUW1hPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5XLHtkYXRhOigpPT5hKCkubWV0YXBhbmVsfSx7cmVlbE1ldGFwYW5lbFZpZXdNb2RlbDpfLnJRfSksImxkIiksU21hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LWluZm8tcGFuZWwifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuaW5mb1BhbmVsfSx7aW5mb1BhbmVsQ29udGFpbmVyUmVuZGVyZXI6UFZ9KSksIm1kIiksUm1hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMifSxfLksoUVYse2RhdGE6YX0pLF8uSyhVbWEse2RhdGE6YX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5waXZvdEJ1dHRvbn0se3Bpdm90QnV0dG9uVmlld01vZGVsOl8uaVF9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuZm9yY2VkTXV0ZU1lc3NhZ2VSZW5kZXJlcn0se2ZvcmNlZE11dGVNZXNzYWdlUmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKE1WLHtkYXRhOmIsCnN0b3BQcm9wYWdhdGlvbjohMH0pfSkpLCJuZCIpLFFWPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5PLHtBOigpPT4hXy5URSgpLHRoZW46KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZW51fSx7bWVudVJlbmRlcmVyOih7ZGF0YTpifSk9Pl8uSyhfLlRQLHtkYXRhOmIsc2hvd0ljb246ITAsYnV0dG9uT3ZlcnJpZGVzOmhVKCl9KX0pLFc6KCk9Pl8uSyhfLk8se0E6KCk9Pl8uVEUoKSx0aGVuOigpPT5fLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoXy5TUCx7ZGF0YTpiLGRmOiJyZWVsLXBsYXllci1vdmVybGF5LW92ZXJmbG93LW1lbnUiLEhhOiExLHVuOiExLHN0b3BQcm9wYWdhdGlvbjohMCxidXR0b25PdmVycmlkZXM6aFUoKX0pfSl9KX0pLCJxZCIpLFVtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbkJhcn0se3JlZWxBY3Rpb25CYXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKF8ualEse2RhdGE6YiwKQWY6e2ljb25Qb3NpdGlvbjoiaWNvbi13aXRoLWxhYmVsIixzaXplOiJTIix0eXBlOiJ0ZXh0IixzdHlsZToib3ZlcmxheSJ9fSl9KSwicmQiKSxUbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InN0aWNrZXItbGF5ZXIifSxfLksoXy5PLHtBOigpPT4hIWEoKS52aWRlb0ludGVyYWN0aW9ucyYmXy54KCJtd2ViX2VuYWJsZV9zaG9ydHNfc3RpY2tlcnMiKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLmdHLHtwYTooKT0+YSgpLnZpZGVvSW50ZXJhY3Rpb25zPy5pbnRlcmFjdGlvbnN8fFtdfSxiPT5fLksoXy5jamEse2RhdGE6Yn0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCk/LnZpZGVvSW50ZXJhY3Rpb25zPy5lbGVtZW50c0ludGVyYWN0aW9uc0xheWVyfSx7c3RpY2tlcnNMYXllclJlbmRlcmVyOl8uZGphfSkpfSkpLCJzZCIpO3ZhciBTVj1fLkwoKHtkYXRhOmEsWWY6YixjajpjLHZCOmQsSXI6ZSxlaDpmfSk9PntmdW5jdGlvbiBoKHApe24ubG90dGllRWwmJm4ubG90dGllRWwuaXNQYXVzZWQmJm4ubG90dGllRWwuZ29Ub0FuZFBsYXkoMCk7cC5zdG9wUHJvcGFnYXRpb24oKX1fLlVKKCgpPT57dmFyIHA9b2xhLmJpbmQodm9pZCAwLGEoKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIixwKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIixwKX0pfSk7dmFyIGs9KCk9Pnt2YXIgcD1hKCk7cmV0dXJuIGQ/LigpP3AuZGFya1RoZW1lTG9nbz8ubG90dGllQW5pbWF0aW9uPy51cmw6cC5saWdodFRoZW1lTG9nbz8ubG90dGllQW5pbWF0aW9uPy51cmx9LGw9KCk9PmEoKS5hY2Nlc3NpYmlsaXR5RGF0YT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHxfLmFOKGEoKS50b29sdGlwVGV4dCl8fCIiLG09KCk9PmQ/LigpPyJsb2dvLWVudGl0eS1sb3R0aWUtYW5pbWF0aW9uLWRhcmsiOgoibG9nby1lbnRpdHktbG90dGllLWFuaW1hdGlvbi1saWdodCIsbj17fTtyZXR1cm4gXy5LKCJ5dG0tbG9nby1lbnRpdHkiLHtjbGFzczoieXRtTG9nb0VudGl0eUhvc3QifSxlPy4oKSxfLksoXy5PLHtBOigpPT4hZSYmYj8uKCkhPT12b2lkIDAmJmM/LigpIT09dm9pZCAwJiZkPy4oKSE9PXZvaWQgMCx0aGVuOigpPT5fLksoXy5PLHtBOmssdGhlbjooKT0+Xy5LKCJkaXYiLHtpZDpjLGNsYXNzOiJ5dG1Mb2dvRW50aXR5Q29udGFpbmVyIiwib246Y2xpY2siOmh9LF8uSyhfLmNNLHtjbGFzc05hbWU6Xy5QKGIsInl0bUxvZ29FbnRpdHlMb2dvIiksZGF0YTooKT0+KHthbmltYXRpb25Db25maWc6e3BhdGg6aygpLGF1dG9wbGF5OiEwLGxvb3A6ITEscmVuZGVyZXJTZXR0aW5nczp7dmlld0JveE9ubHk6ITB9fSxsaXN0ZW5lcnM6e2RhdGFfZmFpbGVkOmYsZXJyb3I6Zn19KSxhbmltYXRpb25SZWY6bixhbmltYXRpb25OYW1lOm19KSksVzooKT0+Xy5LKFZtYSx7Y2xhc3NOYW1lOiJ5dG1Mb2dvRW50aXR5Q29udGFpbmVyIiwKWWY6YixpZDooKT0+Yz8uKCk/PyIiLERBOnA9Pnt2YXIgcj1hKCksdD0hIWQ/LigpO3JldHVybiB0JiZyLmRhcmtUaGVtZUxvZ28/LnRodW1ibmFpbD9fLkpQKHIuZGFya1RoZW1lTG9nby50aHVtYm5haWwscHx8dm9pZCAwKTohdCYmci5saWdodFRoZW1lTG9nbz8udGh1bWJuYWlsP18uSlAoci5saWdodFRoZW1lTG9nby50aHVtYm5haWwscHx8dm9pZCAwKToiIn0sYWx0VGV4dDpsLGVoOmZ9KX0pfSkpfSwidGQiKTtTVi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e0lyOiEwLGVoOiEwfX07CnZhciBWbWE9Xy5MKCh7Y2xhc3NOYW1lOmEsWWY6YixpZDpjLERBOmQsYWx0VGV4dDplLGVoOmZ9KT0+e3ZhciBoPV8udUUoImRpdiIpLGs9Xy51RSgiaW1nIik7Xy5VSigoKT0+e2sudmFsdWUuc3JjPWQoaC52YWx1ZSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczphLGVsOmh9LF8uSygiaW1nIix7ZWw6aywib246ZXJyb3IiOmZ1bmN0aW9uKGwpe2Y/LigpO2wuc3RvcFByb3BhZ2F0aW9uKCl9LGlkOmMsY2xhc3M6Xy5QKGIsInl0bUxvZ29FbnRpdHlMb2dvIiksYWx0OmV9KSl9LCJ1ZCIpO3ZhciBVVj1fLkwoKHt0b3BiYXJMb2dvUmVuZGVyZXI6YSxWajpiLFdqOmMsWGo6ZCx1bTplLGljb25PdmVycmlkZTpmLGh6OmgsYWs6a30pPT57ZnVuY3Rpb24gbCgpe3QoITApfXZhciBtPV8uREkobGphLCgpPT5hPy4oKT8ub3ZlcnJpZGVFbnRpdHlLZXl8fF8uVk0oKT8iRWdaMGIzQmlZWElnOVFFb0FRJTNEJTNEIjoiIiksbj0oKT0+YT8uKCk/Lmljb25JbWFnZT8uaWNvblR5cGUsW3Ascl09Xy5KKCExLHZvaWQgMCwiWmFQUGxiIiksdD1yLHY9Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKSx6PShfLlZNKCl8fHY/LigpKT8/ITEsRT1udWxsLEE9Xy51RSgiYnV0dG9uIik7Xy5VSihmdW5jdGlvbigpeyhtPy4oKT8/dm9pZCAwKXx8U1MoMTIwODEsQS52YWx1ZSxFLEY9PntFPUZ9LG51bGwpfSk7cmV0dXJuIF8uSygieXRtLWhvbWUtbG9nbyIsbnVsbCxfLksoImJ1dHRvbiIse2VsOkEsImFyaWEtbGFiZWwiOigpPT5fLkNKKGE/LigpPy50b29sdGlwVGV4dCk/Xy5DSihhPy4oKT8udG9vbHRpcFRleHQpOgoiWW91VHViZSIscm9sZToibGluayIsY2xhc3M6Xy5QKHsibG9nby1pbi1wbGF5ZXItZW5kcG9pbnQiOmMsIm1vYmlsZS10b3BiYXItaGVhZGVyLWVuZHBvaW50IjooKT0+IWMoKX0pLGtleTooKT0+bT8uKCk/P3ZvaWQgMD8ieW9vZGxlIjoibG9nbyIsIm9uOmNsaWNrIjpmdW5jdGlvbihGKXt2YXIgQz1hPy4oKT8uZW5kcG9pbnQ/P3JWLEc9bT8uKCk/P3ZvaWQgMCxEPSIvIjtHPyhDPUcub25UYXBDb21tYW5kfHxDLEQ9Xy5CKEcub25UYXBDb21tYW5kPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybHx8RCk6RD1fLkIoQz8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmx8fEQ7dmFyIEg9az8uKCk/PzM4NTQsUj1GLmN1cnJlbnRUYXJnZXQ7RyYmKFIuZGF0YT1HKTtoPy4oRik7Xy5xUCh7aHJlZjpELGFrOkgsZWxlbWVudDpSLHB1c2hTdGF0ZTohMCxlbmRwb2ludDpDfSk7Ri5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PiFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSYmCmpVKHosbT8uKCk/P3ZvaWQgMCksdGhlbjooKT0+Xy5LKFNWLHtkYXRhOigpPT5tPy4oKT8/dm9pZCAwLElyOigpPT5fLksoVFYse1ZqOmIsV2o6YyxYajpkLFlmOiJtb2JpbGUtdG9wYmFyLWxvZ28iLGNqOiJob21lLWljb24iLHVtOmUsaWNvbk92ZXJyaWRlOmYscnM6bn0pLGVoOmx9KX0pLF8uSyhfLk8se0E6KCk9PiFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSYmIWpVKHosbT8uKCk/P3ZvaWQgMCksdGhlbjooKT0+Xy5LKFNWLHtkYXRhOigpPT5tPy4oKT8/dm9pZCAwLFlmOiJtb2JpbGUtdG9wYmFyLWxvZ28iLGNqOiJob21lLWljb24iLHZCOnosZWg6bH0pfSksXy5LKF8uTyx7QTooKT0+ISghcCgpJiYobT8uKCk/P3ZvaWQgMCkmJmlVKGIoKSkpLHRoZW46KCk9Pl8uSyhUVix7Vmo6YixXajpjLFhqOmQsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdW06ZSxpY29uT3ZlcnJpZGU6ZixyczpufSl9KSkpfSwidmQiKTtVVi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2h6OiEwfX07CnZhciBUVj1fLkwoKHtWajphLFdqOmIsWGo6YyxZZjpkLGNqOmUsdW06ZixpY29uT3ZlcnJpZGU6aCxyczprfSk9Pnt2YXIgbD0oKT0+YSgpP2g/LigpfHwiTE9HT19XSVRIX1RFWFQiOmM/LigpP2s/LigpOiJMT0dPIjtyZXR1cm4gXy5LKF8uTUQse2ljb246KCk9Pnt2YXIgbT1sKCk7Zj8uKCkmJmE/LigpJiYobSs9Il9NT05PQ0hST01FIik7cmV0dXJuIG19LGNsYXNzTmFtZTpfLlAoKCk9PmIoKT8ibG9nby1pbi1wbGF5ZXIiOmQoKSx7ImZ1bGwtbG9nbyI6YSwiZnVsbC1sb2dvLXJlZCI6KCk9PmEoKSYmbCgpPT09IllPVVRVQkVfUFJFTUlVTV9MT0dPX1NIT1JUIiwic2hvcnRzLWxvZ28iOmMsbW9ub2Nocm9tYXRpYzpmfSksaWQ6ZX0pfSwid2QiKTt2YXIgV21hPV8uTChhPT5fLksoXy5JQixudWxsLF8uSyhPbWEse0Z4OiExLGFuaW1hdGlvbjphLmFuaW1hdGlvbn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzRW1iZWRzVG9wYmFyQ29udGFpbmVyIn0sXy5LKFVWLHt0b3BiYXJMb2dvUmVuZGVyZXI6YS54eSxWajohMSxXajohMCxYajohMCxhazoxMzQ4NDB9KSxfLksoXy5PLHtBOmEucmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHRoZW46KCk9Pl8uSyhIVix7b3JpZW50YXRpb246InZlcnRpY2FsX2Rvd24iLEg6YS5ILENwOiEwLGNsYXNzTmFtZToieXRTaG9ydHNFbWJlZHNWb2x1bWVDb250cm9scyIsYmo6ITB9KX0pKSxfLksoXy5PLHtBOmEub3ZlcmxheSx0aGVuOmI9Pl8uSyhSVix7ZGF0YTooKT0+e3ZhciBjPWIoKTtpZihfLnRQKCkpe3ZhciBkPWMubWVudT8ubWVudVJlbmRlcmVyO2M9ZD8uaXRlbXM/ey4uLmMsbWVudTp7Li4uYy5tZW51LG1lbnVSZW5kZXJlcjp7Li4uZCxpdGVtczpbe2FjY291bnRJbmZvTWVudUl0ZW06ITB9LAouLi5kLml0ZW1zXX19fTpjfXJldHVybiBjfSxjbGFzc05hbWU6Inl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciJ9KX0pLF8uSyhNbWEse0g6YS5ILGNvbnRleHQ6YS5jb250ZXh0fSkpLCJ4ZCIpLFdsYT1fLkwoYT0+e3ZhciB7SDpiLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpjLGpiOmQsUGg6ZSxjb250ZXh0OmZ9PV8uREMoYSx7SDp2b2lkIDAscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOnZvaWQgMCxqYjp2b2lkIDAsUGg6dm9pZCAwfSksW2gsa109Xy5KKHZvaWQgMCx2b2lkIDAsIkNQU3pJZSIpLFtsLG1dPV8uSih2b2lkIDAsdm9pZCAwLCJJSTRIQ2QiKTtfLm9GKCgpPT57dmFyIEE9Yj8uKCk7QT8uaXNSZWFkeSgpJiZtKEEuZ2V0UGxheWVyU3RhdGUoKSl9KTt2YXIgbj1BPT57Yj8uKCkmJm0oQSl9O18ubkUoKCk9Pnt2YXIgQT1iPy4oKTtBJiYoQS5hZGRFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixuKSxfLll1KCgpPT57QS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIiwKbil9KSl9LCJDN0Q1OWQiKTtfLm5FKCgpPT57dmFyIEE9YygpO2lmKEEpe2xldCBGPV8ueSgpLnJlc29sdmUoXy5iTCk7Zm9yKGxldCBDIG9mIEEuZW5nYWdlbWVudFBhbmVsc3x8W10pKEE9Qy5lbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyKSYmRi5PeihBLmlkZW50aWZpZXI/LnRhZ3x8QS50YXJnZXRJZHx8QS5wYW5lbElkZW50aWZpZXIsQyl9fSwiUWRTZVRiIik7Xy5uRSgoKT0+e2Z1bmN0aW9uIEEoKXtpZihDKXtsZXQgRz1DLmdldE9wdGlvbnM/LigiY2FwdGlvbnMiKTtHJiZHLmxlbmd0aD4wJiZDPy51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3M/Lih7Zm9udFNpemVJbmNyZW1lbnQ6Mn0sITEpfX12YXIgRj1iPy4oKTtpZihGKXt2YXIgQz1GO0EoKTtDLmFkZEV2ZW50TGlzdGVuZXIoIm9uQ2FwdGlvbnNNb2R1bGVBdmFpbGFibGUiLEEpO18uWXUoKCk9PntDLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ2FwdGlvbnNNb2R1bGVBdmFpbGFibGUiLEEpfSl9fSwibDhXMXZiIik7CnZhciBwPV8uTigoKT0+YygpPy5vdmVybGF5Py5yZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyfHxkKCk/LmVtYmVkUHJldmlldz8ucmVlbFBsYXllck92ZXJsYXlSZW5kZXJlcix2b2lkIDAsInplaFlZYiIpLHI9Xy5OKCgpPT57dmFyIEE7KEE9Xy5CKGMoKT8udG9wYmFyLCRsYSk/LnRvcGJhckxvZ28/LnRvcGJhckxvZ29SZW5kZXJlcil8fChBPWUoKT8uZW5kcG9pbnQsQT0oQT0oQSYmXy5CKEEsXy5URCkpPy52aWRlb0lkKT9gaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzLyR7QX1gOiJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMiLEE9e2ljb25JbWFnZTp7aWNvblR5cGU6IllPVVRVQkVfU0hPUlRTX09VVExJTkVfV0lUSF9URVhUXzI0In0sdG9vbHRpcFRleHQ6e3J1bnM6W3t0ZXh0OiJZb3VUdWJlIFNob3J0cyJ9XX0sZW5kcG9pbnQ6e2NvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6QSx3ZWJQYWdlVHlwZToiV0VCX1BBR0VfVFlQRV9TSE9SVFMiLApyb290VmU6MzgzMn19LHVybEVuZHBvaW50Ont1cmw6QSx0YXJnZXQ6IlRBUkdFVF9ORVdfV0lORE9XIn19fSk7cmV0dXJuIEF9LHZvaWQgMCwiTk4yNzJjIik7YT1fLk4oKCk9PntpZihsKCk9PT01KXt2YXIgQT1lKCk/LmVuZHBvaW50O2lmKEEmJihBPV8uQihBLF8uVEQpPy50aHVtYm5haWw/LnRodW1ibmFpbHM/LlswXT8udXJsKSlyZXR1cm4gXy5JRSh7ImJhY2tncm91bmQtc2l6ZSI6ImNvdmVyIiwiYmFja2dyb3VuZC1wb3NpdGlvbiI6ImNlbnRlciIsImJhY2tncm91bmQtcmVwZWF0Ijoibm8tcmVwZWF0IiwiYmFja2dyb3VuZC1pbWFnZSI6YCR7ImxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC40KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxNjBweCksXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNCkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgOTZweCkifSwgdXJsKCR7QX0pYH0pKCl9fSx2b2lkIDAsImkxNkZEZSIpOwp2YXIgdD1fLk4oKCk9PmIoKT8/dm9pZCAwLHZvaWQgMCwiVWZZdEZmIiksdj1fLk4oKCk9PnQoKT8uaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheT8uKCksdm9pZCAwLCJsS2NBbWQiKSx6PV8uTigoKT0+KHt0YTpmKCkudGEsVGM6ZigpLlRjLEdjOmYoKS5HYyxiYTpmKCkuYmEsSDp0KCkscGxheWVyU3RhdGU6bCgpPz8tMSxTOigpPT57fX0pLHZvaWQgMCwiZTZsU2llIiksRT1fLk4oKCk9Pnt2YXIgQT10KCk/LmdldFBsYXllclJlc3BvbnNlPy4oKTtyZXR1cm4gQT9fLkIoQT8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXI/Lm11dGVkQXV0b3BsYXksb1YpOnZvaWQgMH0sdm9pZCAwLCJER1RTbmQiKTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKCRULHQpXX0sXy5LKCJzaG9ydHMtZW1iZWRzIix7Y2xhc3M6Inl0U2hvcnRzRW1iZWRzSG9zdCIsIm9uOmNsaWNrIjpmdW5jdGlvbihBKXtBLnN0b3BQcm9wYWdhdGlvbigpO2lmKCFFUShBLnRhcmdldCwiQSIpJiYKIUVRKEEudGFyZ2V0LCJCVVRUT04iKSYmKEE9YigpKSYmQS5pc1JlYWR5KCkpaWYoQS5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KCkpe3ZhciBGPUEuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkLEM9QS5nZXRDdXJyZW50VGltZSgpO0YmJihBLnVuTXV0ZSgpLEEubG9hZFZpZGVvQnlJZChGLEMpKX1lbHNlIEY9QS5nZXRQbGF5ZXJTdGF0ZSgpPT09MSxDPUEuaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSgpLEYmJkM/QS51bk11dGUoKTooRj1BLmdldFBsYXllclN0YXRlKCk9PT0xLEM9QS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCksRiYmIUM/KEEucGF1c2VWaWRlbygpLGsoe25hbWU6InBhdXNlXzk2ZHBfYW5pbWF0aW9uIn0pKTpGfHwoQyYmQS51bk11dGUoKSxBLnBsYXlWaWRlbygpLGsoe25hbWU6InBsYXlfOTZkcF9hbmltYXRpb24ifSkpKX0sc3R5bGU6YX0sXy5LKF8uTyx7QTooKT0+digpLHRoZW46KCk9Pl8uSyhMVix7Rzp6LHBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXI6RX0pLApXOigpPT5fLksoV21hLHthbmltYXRpb246aCx4eTpyLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpjLEg6dCxvdmVybGF5OnAsY29udGV4dDpmfSl9KSkpfSwiQ2QiKTt2YXIgYlY9Xy5MKCh7ZGF0YTphfSk9PntKamEoKTtyZXR1cm4gXy5LKCJ5dC1wbGF5ZXItaW50ZXJzdGl0aWFsLXJlbmRlcmVyIix7Y2xhc3M6InBsYXllckludGVyc3RpdGlhbFJlbmRlcmVySG9zdCIscm9sZToiZGlhbG9nIiwiYXJpYS1sYWJlbCI6KCk9Pnt2YXIgYjthOntpZihiPWEoKS5jb250ZW50KXt2YXIgYz1fLkIoYixibWEpO2lmKGM/LnRpdGxlPy5jb250ZW50KXtiPWMudGl0bGUuY29udGVudDticmVhayBhfWI9Xy5CKGIsZW1hKTtiPWI/LmhlYWRlciYmXy5CKGIuaGVhZGVyLGRtYSk7aWYoYj8uaGVhZGxpbmU/LmNvbnRlbnQpe2I9Yi5oZWFkbGluZS5jb250ZW50O2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifSx0YWJpbmRleDotMSxlbDpfLnJGKGI9PnZvaWQgYj8uZm9jdXMoKSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllckludGVyc3RpdGlhbFJlbmRlcmVyU2NyaW0ifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuY29udGVudH0se2ludGVyc3RpdGlhbFZpZXdNb2RlbDpfLmVqYSwKZGlhbG9nVmlld01vZGVsOl8uJGlhfSkpKX0sIkRkIik7YlYuaWRvbUNvbXBhdD0hMDt2YXIgVlY9Xy5MKCh7Z2Y6YSxJYjpifSk9Pl8uSygieXQtYmlnYm9hcmQiLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmlzRHJhZ2dpbmcsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRCaWdib2FyZFN0b3J5Ym9hcmRIb3N0In0sXy5LKEdtYSx7TGI6YSxJYjpifSkpfSkpLCJFZCIpO1ZWLmlkb21Db21wYXQ9ITA7dmFyIFdWPV8uTChhPT57dmFyIGI9YS5HO2E9Xy5OKCgpPT5iKCkuZWE/Xy4kTi5tdDpfLiROLlp0LHZvaWQgMCwieGlkenVkIik7cmV0dXJuIF8uSygiYnV0dG9uIix7Im9uOmNsaWNrIjpmdW5jdGlvbihjKXt2YXIgZD17ZWE6IWIoKS5lYSx5cTohMH07YigpLlMoZCk7Yy5zdG9wUHJvcGFnYXRpb24oKX0saWQ6InBsYXllci1jb250cm9scy1hMTF5LXRvZ2dsZSIsY2xhc3M6Inl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b24iLCJhcmlhLWxhYmVsIjphfSl9LCJGZCIpO3ZhciBYVj1fLkwoYT0+e2Z1bmN0aW9uIGIoaCl7WFMoYS5GZCgpPT09LTE/MTQxOTAyOjE0MTkwMyk7dmFyIGs9Yz8uKCksbD1hLkZkKCk7az8uc2Vla0J5KGwqMTAsdm9pZCAwLHZvaWQgMCxsPT09LTE/ODM6ODIpO2guc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGM9Xy5rRygkVCksZD0oKT0+YS5GZCgpPT09LTE/Xy4kTi5RdC5yZXBsYWNlKCIkc2Vjb25kc19wbGFjZWhvbGRlciIsKDEwKS50b1N0cmluZygpKTpfLiROLkl0LnJlcGxhY2UoIiRzZWNvbmRzX3BsYWNlaG9sZGVyIiwoMTApLnRvU3RyaW5nKCkpLGU9Xy5OKCgpPT57dmFyIGg9YS5HKCk7cmV0dXJuIF8ueCgibXdlYl9wY19saXZlX2R2cl9rcyIpPyEwOiEoaC5pc0xpdmUmJiFoLmlzTGl2ZUR2ckVuYWJsZWQpfSx2b2lkIDAsIkthcklLYyIpLGY9Xy51RSgiYnV0dG9uIixoPT57V1MoaCxhLkZkKCk9PT0tMT8xNDE5MDI6MTQxOTAzKX0pO3JldHVybiBfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKCJidXR0b24iLHsiYXJpYS1sYWJlbCI6ZCwKY2xhc3M6Xy5QKGEuY2xhc3NOYW1lLCJ5dG1BMTF5U3R5bGVzSGlkZGVuQnV0dG9uIiwicGxheWVyLWNvbnRyb2wtc2Vlay1pY29uLWExMXkiKSxzdHlsZTpfLklFKHtsZWZ0OigpPT5hLkZkKCk9PT0tMT8iMCI6InVuc2V0IixyaWdodDooKT0+YS5GZCgpPT09MT8iMCI6InVuc2V0In0pLGVsOmYsIm9uOmNsaWNrIjpifSl9KX0sIkdkIik7dmFyIFlWPV8uTChhPT57dmFyIHtVZDpiLG9uY2xpY2s6YywuLi5kfT1hO2E9Xy51RSgiZGl2IixlPT57V1MoZSxiKCkpfSk7cmV0dXJuIF8uSygiZGl2Iix7ZWw6YX0sXy5LKF8udE8sey4uLmQsb25jbGljazplPT57WFMoYigpKTtjPy4oZSl9fSkpfSwiSGQiKTt2YXIgWlY9Xy5MKGE9Pnt2YXIgYj1fLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8icGxheWVyX2Z1bGxfZW50ZXJfYWx0IjoiRlVMTFNDUkVFTiIsYz1fLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8icGxheWVyX2Z1bGxfZXhpdF9hbHQiOiJGVUxMU0NSRUVOX0VYSVQiLGQ9KCk9PmEuRygpLmlzRnVsbHNjcmVlbj9jOmI7cmV0dXJuIF8uSyhZVix7bmFtZTpkLGFyaWFMYWJlbDooKT0+YS5HKCkuaXNGdWxsc2NyZWVuP18uJE4uSHQ6Xy4kTi5KdCxjb250ZW50OigpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItYm90dG9tLWNvbnRyb2xzLWZ1bGxzY3JlZW4taWNvbi12aXNpYmxlLWFyZWEifSxfLksoXy5NRCx7aWNvbjpkfSkpLGNsYXNzTmFtZToiZnVsbHNjcmVlbi1pY29uIixVZDoxMzkxMTcsb25jbGljazplPT57YS5HKCkudGEudG9nZ2xlRnVsbHNjcmVlbigpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJJZCIpO3ZhciAkVj1fLkwoYT0+e3ZhciBiPV8ua0coJFQpO3JldHVybiBfLksoWVYse25hbWU6KCk9PmEuRygpLnBsYXllclN0YXRlPT09MXx8YS55cyYmYS5HKCkucGxheWVyU3RhdGU9PT0zPyJQQVVTRV9GSUxMRUQiOiJQTEFZX0FSUk9XX0ZJTExFRCIsYXJpYUxhYmVsOigpPT5hLkcoKS5wbGF5ZXJTdGF0ZT09PTF8fGEueXMmJmEuRygpLnBsYXllclN0YXRlPT09Mz9fLiROLkx0Ol8uJE4uUGcsY2xhc3NOYW1lOiJwbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24iLFVkOjM2ODQyLG9uY2xpY2s6Yz0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZSYmKGU9V1EoZSksZC5TKHtqZTplfSkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJKZCIpO3ZhciBhVz1fLkwoYT0+e3ZhciBiPV8ua0coJFQpO3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9SRVBMQVkiLGFyaWFMYWJlbDpfLiROLlB0LGNsYXNzTmFtZToiZW5kc2NyZWVuLXJlcGxheS1idXR0b24iLFVkOjU2Mzg2LG9uY2xpY2s6Yz0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZSYmKGQucmMmJmU/LnVuTXV0ZSgpLGUucGxheVZpZGVvKCkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJLZCIpO3ZhciBiVz1fLkwoYT0+Xy5LKFlWLHtuYW1lOiJHRUFSIixhcmlhTGFiZWw6Xy4kTi52dCxjbGFzc05hbWU6Xy5QKCJwbGF5ZXItc2V0dGluZ3MtaWNvbiIsYS5jbGFzc05hbWUpLFVkOjI4NjYzLG9uY2xpY2s6Yj0+e2EuRygpLnRhLlNqKGIpfX0pLCJMZCIpO3ZhciBjVz1fLkwoYT0+e3ZhciB7S3U6YixvbkNsaWNrOmMsYXJpYUxhYmVsOmQsYXJpYVByZXNzZWQ6ZSxpc092ZXJsYXk6Zn09Xy5EQyhhLHtpc092ZXJsYXk6ITF9KTthPV8udUUoImJ1dHRvbiIsaD0+e1dTKGgsMTI3Mjk5KX0pO3JldHVybiBfLksoInl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24iLHtjbGFzczpfLlAoInl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25Ib3N0Iix7eXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZE92ZXJsYXk6KCk9PmIoKT09PS0xJiZmKCkseXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZDooKT0+YigpPT09LTEmJiFmKCl9KX0sXy5LKCJidXR0b24iLHtlbDphLGNsYXNzOiJ5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uQnV0dG9uIix0aXRsZTpkLCJhcmlhLWxhYmVsIjpkLCJhcmlhLXByZXNzZWQiOmUsImFyaWEtZGlzYWJsZWQiOigpPT5iKCk9PT0tMT8idHJ1ZSI6dm9pZCAwLCJvbjpjbGljayI6ZnVuY3Rpb24oaCl7WFMoMTI3Mjk5KTsKYz8uKGgpO2guc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5NRCx7aWNvbjooKT0+e3ZhciBoPSIiO2lmKF8ueCgibXdlYl9sb2NhbGl6ZWRfY2NfaWNvbiIpKXt2YXIgaz1fLkh6KCkuZ2V0KCJobCIpO2s9IWt8fGhtYS5pbmNsdWRlcyhrKT8iQ0xPU0VEX0NBUFRJT04iOiJTVUJUSVRMRVMifWVsc2Ugaz0iQ0xPU0VEX0NBUFRJT04iO3ZhciBsPWIoKTtzd2l0Y2gobCl7Y2FzZSAtMTpjYXNlIDA6aD1rO2JyZWFrO2Nhc2UgMTpoPWsrIl9GSUxMRUQiO2JyZWFrO2RlZmF1bHQ6Xy5lYihsLHZvaWQgMCl9cmV0dXJuIGh9LGNsYXNzTmFtZTpfLlAoe3l0bUNsb3NlZENhcHRpb25pbmdCdXR0b25ZdEljb25PdmVybGF5OmZ9KX0pKSl9LCJNZCIpO2NXLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DbGljazohMH19O3ZhciBrVT0iIjt2YXIgZFc9Xy5MKGE9Pnt2YXIgYj1hLmdmLGM9YS5zTCxkPWEuV3EsZT1hLmNsYXNzTmFtZSxmPWEuVnIsaD1wPT57dmFyIHI9YigpLHQ9Yz8uKCksdj1mKCk7ci54YyYmKHQ/ci5IPy50b2dnbGVTdWJ0aXRsZXModik6KHQ9ci5IKSYmUVEodCxsVShyKSx2KSk7Xy54KCJ3ZWJfZGVsZXRlX3NuYWNrYmFycyIpfHxyLnRhLnFBPy4ocik7ZD8uKHApfSxrPV8uTigoKT0+e3ZhciBwPWIoKSxyPS0xO3AueGMmJihyPXAuY2FwdGlvbnNFbmFibGVkPzE6MCk7cmV0dXJuIHJ9LHZvaWQgMCwiSE1vMnJjIiksbD1fLk4oKCk9Pnt2YXIgcD1iKCk7cmV0dXJuIHAueGM/Xy5hQShwLmNhcHRpb25zRW5hYmxlZD8iQ0xPU0VEX0NBUFRJT05TX09OIjoiQ0xPU0VEX0NBUFRJT05TX09GRiIpOl8uYUEoIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCIpfSx2b2lkIDAsIldRNTFZZSIpLG09Xy5OKCgpPT57dmFyIHA9YigpO3A9cC54Yz9wLmNhcHRpb25zRW5hYmxlZDp2b2lkIDA7cmV0dXJuIHB9LHZvaWQgMCwKIkkwTFR1YiIpLG49Xy5OKCgpPT5iKCkueGMsdm9pZCAwLCJMdmVPV2UiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX3BsYXllcl9oaWRlX3VuYXZhaWxhYmxlX3N1YnRpdGxlc19idXR0b24iKT9uKCk6ITAsdGhlbjooKT0+Xy5LKCJ5dC1jbG9zZWQtY2FwdGlvbnMtdG9nZ2xlLWJ1dHRvbiIse2NsYXNzOmV9LF8uSyhjVyx7S3U6ayxhcmlhTGFiZWw6bCxhcmlhUHJlc3NlZDptLG9uQ2xpY2s6aCxpc092ZXJsYXk6ITB9KSl9KX0sIk5kIik7dmFyIGVXPV8uTCgoe0lBOmEsZGF0YTpiLGNoaWxkcmVuOmN9KT0+e2Z1bmN0aW9uIGQoKXthPy4oKXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Zi52YWx1ZSYmKGgudmFsdWUuc3R5bGUud2lkdGg9YCR7Zi52YWx1ZS5vZmZzZXRXaWR0aH1weGApfSl9dmFyIGU9dm9pZCAwLGY9Xy51RSgiZGl2IiksaD1fLnVFKCJkaXYiKSxrPV8uQlEoKSxsPV8uQlEoKTtfLm5FKCgpPT57ZCgpOyFlJiZiKCkuc3Vic2NyaWJlZCYmKGsubG90dGllRWw/LmdvVG9BbmRQbGF5KDApLGwubG90dGllRWw/LmdvVG9BbmRQbGF5KDApKTtlPSEhYigpLnN1YnNjcmliZWR9LCJNTTBqQWYiKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Ib3N0In0sXy5LKF8uQVEse09vOmssUnA6bH0sXy5LKCJkaXYiLHtlbDpoLGNsYXNzOl8uUCgieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Db250ZW50Q29udGFpbmVyIix7eXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25TdGF0aWNXaWR0aDphLAp5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNhbkFuaW1hdGU6KCk9PmIoKS5zdWJzY3JpYmVkfSl9LF8uSygiZGl2Iix7ZWw6ZixjbGFzczoieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25GbGV4Q29udGFpbmVyIn0sYykpKSl9LCJQZCIpO2VXLmlkb21Db21wYXQ9ITA7dmFyIGZXPV8uTCgoe2RhdGE6YSxidXR0b25PdmVycmlkZXM6Yn0pPT57dmFyIFtjXT1uamEoYSk7cmV0dXJuIF8uSygieXRtLXN1YnNjcmliZS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczpfLlAoeyJpcy1zdWJzY3JpYmVkIjooKT0+YygpLnN1YnNjcmliZWQsImlzLW5vdC1zdWJzY3JpYmVkIjooKT0+IWMoKS5zdWJzY3JpYmVkLGRpc2FibGVkOigpPT57dmFyIGQ7aWYoZD0hIWMoKS50aGVtZSl7ZD0hIWMoKS5zdWJzY3JpYmVkO3ZhciBlPWMoKS50aGVtZTtkPWQ/ISFlLnN1YnNjcmliZWRDb2xvclBhbGV0dGUmJl8udU4oZS5zdWJzY3JpYmVkQ29sb3JQYWxldHRlKTohIWUudW5zdWJzY3JpYmVkQ29sb3JQYWxldHRlJiZfLnVOKGUudW5zdWJzY3JpYmVkQ29sb3JQYWxldHRlKX1yZXR1cm4gZH19KX0sXy5LKF8uYWphLHtzZXR0aW5nczooKT0+KHt1bmlxdWVJZDoic3Vic2NyaWJlIixmazpjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fFtdLFhkOihjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fApbXSkubGVuZ3RoPjAsZW5hYmxlZDohYygpLnN1YnNjcmliZWQmJihjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fFtdKS5sZW5ndGg+MH0pfSxfLksoWG1hLHtkYXRhOmMsYnV0dG9uT3ZlcnJpZGVzOmJ9KSkpfSwiUWQiKTtmVy5pZG9tQ29tcGF0PSEwOwp2YXIgWG1hPV8uTCgoe2RhdGE6YSxidXR0b25PdmVycmlkZXM6Yn0pPT57dmFyIGM9KCk9PiEoIWEoKS5zdWJzY3JpYmVkfHwhYSgpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24pLGQ9Xy5OKCgpPT4oey4uLlFqYSh7cmVuZGVyZXI6YSgpLHN1YnNjcmliZWQ6ISFhKCkuc3Vic2NyaWJlZCxpc092ZXJsYXk6Xy5XTSgpPyEwOiExLHN0b3BQcm9wYWdhdGlvbjohMH0pLGRpc2FibGVkOiFhKCkuZW5hYmxlZCwuLi4oYj8uKCl8fHt9KX0pLHZvaWQgMCwieW9DZGNlIik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Im1vZGVybi1zdWJzY3JpYmUtYnV0dG9uLWNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJub3RpZmljYXRpb24tYmVsbC1jb250YWluZXIiLHtoaWRkZW46KCk9PiFjKCl9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b259LHt0b2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6ZX0pPT5fLksoXy5xTywKe2RhdGE6ZSxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In0sY2xhc3NOYW1lOl8uUCgibm90aWZpY2F0aW9uLWJlbGwiLHtoaWRkZW46KCk9PiFjKCl9KX0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJtb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiIseyJ3aXRoLW5vdGlmaWNhdGlvbi1iZWxsIjpjfSl9LF8uSyhfLk8se0E6KCk9PiFfLldNKCksdGhlbjooKT0+e3ZhciBlPV8uVU0oKT09PSJjaGFubmVsIjtyZXR1cm4gXy5LKGVXLHtkYXRhOmEsSUE6ZX0sXy5LKF8uSksse2RhdGE6ZH0pKX0sVzooKT0+Xy5LKF8uSksse2RhdGE6ZH0pfSksXy5LKCJkaXYiLHtjbGFzczoic3Vic2NyaWJlLWJ1dHRvbi1jb3VudCJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkuc3Vic2NyaWJlckNvdW50VGV4dH0pKSkpfSwiUmQiKTt2YXIgZ1c9Xy5MKCh7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOmEsaXNBY3RpdmU6YixYaDpjfSk9PntmdW5jdGlvbiBkKCl7Xy5BSihhKCkuZW5kcG9pbnQsYSgpLCEwKX12YXIgZT0oKT0+YSgpLnN0eWxlPT09IkNIQU5ORUwiLGY9Xy5QKCJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsIix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFJvdW5kOmV9KSxoPSgpPT5OdW1iZXIoYSgpLmxlZnQpK051bWJlcihhKCkud2lkdGgvMik8LjUsaz1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Iix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodDpoLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdDooKT0+IWgoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZlOigpPT5iKCkmJmgoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUxlZnRBY3RpdmU6KCk9PgpiKCkmJiFoKCl9KSxsPSgpPT5hKCkudGl0bGUsbT0oKT0+YSgpLmhvdmVyY2FyZEJ1dHRvbixuPSgpPT5hKCkubWV0YWRhdGEscD0oKT0+YSgpLmNhbGxUb0FjdGlvbixyPV8uUCh7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGU6KCk9PiFlKCkseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWw6ZX0pO2M9Xy5QKCJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW0iLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1DaGFubmVsOmUseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZlOmN9KTt2YXIgdD1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRIb3N0Iix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmU6Yn0pO3JldHVybiBfLksoImV4cGFuZGluZy1lbmRzY3JlZW4tZWxlbWVudCIse2NsYXNzOnR9LF8uSygiZGl2Iix7Y2xhc3M6Y30pLApfLksoImRpdiIse2NsYXNzOmt9LF8uSygiZGl2Iix7Y2xhc3M6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCJ9LF8uSyhfLk8se0E6bCx0aGVuOigpPT5fLksoXy5WLHt0ZXh0OmwsY2xhc3NOYW1lOiJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVRpdGxlIn0pfSksXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QnV0dG9uIn0sXy5LKF8uVyx7ZGF0YTptfSx7c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6Zld9KSl9KSxfLksoXy5PLHtBOm4sdGhlbjooKT0+Xy5LKF8uVix7Y2xhc3NOYW1lOnIsdGV4dDpufSl9KSxfLksoXy5PLHtBOigpPT4hZSgpJiZhKCkuY2FsbFRvQWN0aW9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Im9uOmNsaWNrIjpkLHN0eWxlOiJkaXNwbGF5OiBjb250ZW50cyJ9LF8uSyhfLlYse2NsYXNzTmFtZToieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb24iLAp0ZXh0OnB9KSl9KSkpLF8uSygiZGl2Iix7Im9uOmNsaWNrIjpkfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YSgpLmltYWdlLGNsYXNzTmFtZTpmfSkpKX0sIlNkIik7Z1cuaWRvbUNvbXBhdD0hMDt2YXIgaFc9Xy5MKCh7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOmEsaXNBY3RpdmU6YixYaDpjfSk9Pnt2YXIgZD0oKT0+YSgpLnRpdGxlLGU9KCk9PmEoKS50aHVtYm5haWxPdmVybGF5cyxmPSgpPT5hKCkucGxheWxpc3RMZW5ndGg7Yj1fLlAoInl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0Iix7eXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmU6Yn0pO2M9Xy5QKCJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW0iLHt5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmU6Y30pO3JldHVybiBfLksoInRodW1ibmFpbC1lbmRzY3JlZW4tZWxlbWVudCIse2NsYXNzOmIsIm9uOmNsaWNrIjpmdW5jdGlvbigpe18uQUooYSgpLmVuZHBvaW50LGEoKSwhMCl9fSxfLksoImRpdiIse2NsYXNzOmN9KSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcE92ZXJsYXkifSwKXy5LKCJkaXYiLHtjbGFzczoieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcEdyYWRpZW50In0pLF8uSyhfLlYse3RleHQ6ZCxjbGFzc05hbWU6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZSIsdWI6ITAsbWE6ITB9KSl9KSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YSgpLmltYWdlLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbCJ9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKF8uVyx7ZGF0YTplfSx7dGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcjooe2RhdGE6aH0pPT5fLksoXy5WUCx7ZGF0YTpoLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMifSl9KX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5In0sXy5LKF8uTUQsCntpY29uOiJQTEFZTElTVFNfQ0FJUk8iLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0SWNvbiJ9KSxfLksoXy5WLHt0ZXh0OmYsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGgiLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pKX0sIlRkIik7aFcuaWRvbUNvbXBhdD0hMDt2YXIgaVc9WzM0Niw0MjYsNDcwLDUwNiw1NzAsNjQwLDg1MywxMjgwLDE5MjBdLGpXPVsieXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwiLCJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0iLCJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSJdLGxXPV8uTCgoe2VuZHNjcmVlblJlbmRlcmVyOmEsRzpifSk9Pnt2YXIgW2MsZF09Xy5KKG5ldyBGUSgwLDAsMCwwKSx2b2lkIDAsInV1dU1LYyIpLFtlLGZdPV8uSihuZXcgXy5uZCgwLDApLHZvaWQgMCwicHlhaWpiIiksW2gsa109Xy5KKCIiLHZvaWQgMCwiTUszaUFmIiksW2wsbV09Xy5KKCExLHZvaWQgMCwiZU1PZmliIiksbj1fLk4oKCk9PmIoKS5ILHZvaWQgMCwicEY2ODRiIikscD1fLk4oKCk9Pl8uVXcoYSgpLnRyYWNraW5nUGFyYW1zKSx2b2lkIDAsImpib1BGZiIpLHI9KCk9Pnt2YXIgQT1uKCk/LmdldFZpZGVvQ29udGVudFJlY3QoKTtBJiZBLndpZHRoPjAmJkEuaGVpZ2h0PjAmJmQobmV3IEZRKEEubGVmdCwKQS50b3AsQS53aWR0aCxBLmhlaWdodCkpOyhBPW4oKT8uZ2V0U2l6ZSgpKSYmQS53aWR0aD4wJiZBLmhlaWdodD4wJiZmKG5ldyBfLm5kKEEud2lkdGgsQS5oZWlnaHQpKX0sdD1BPT57QT09PSJ5dG0tY2UtaW4tZW5kc2NyZWVuIiYmKG0oITApLFpTKHAoKSkpfSx2PUE9PntBPT09Inl0bS1jZS1pbi1lbmRzY3JlZW4iJiZtKCExKX07Xy5VSigoKT0+e3IoKTtIa2EocCgpKTtuKCk/LmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdCk7bigpPy5hZGRFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRXhpdCIsdik7bigpPy5hZGRDdWVSYW5nZSgieXRtLWNlLWluLWVuZHNjcmVlbiIsTnVtYmVyKGEoKS5zdGFydE1zKS8xRTMsTnVtYmVyKDB4N2ZmZmZmZmZmZmZmZikvMUUzKTtfLll1KCgpPT57YigpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdCk7YigpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdik7bigpPy5yZW1vdmVDdWVSYW5nZSgieXRtLWNlLWluLWVuZHNjcmVlbiIpfSl9KTsKXy5EUCgicmVzaXplIixyKTt2YXIgej1fLlAoInl0bUNyZWF0b3JFbmRzY3JlZW5Ib3N0IiwoKT0+e3ZhciBBPWMoKS53aWR0aCxGPTAsQz0tMTtmb3IobGV0IEc9MDtHPGlXLmxlbmd0aDtHKyspe2xldCBEPU1hdGguYWJzKEEtaVdbR10pO2lmKEM9PT0tMXx8Rj49RClDPUcsRj1EfXJldHVybmB5dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZSR7aVdbQ119YH0se3l0bUNyZWF0b3JFbmRzY3JlZW5JbkN1ZVJhbmdlOmx9KSxFPV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlblNjcmltIix7eXRtQ3JlYXRvckVuZHNjcmVlblNjcmltVmlzaWJsZTooKT0+aCgpfSk7cmV0dXJuIF8uSygiY3JlYXRvci1lbmRzY3JlZW4iLHtjbGFzczp6fSxfLksoImRpdiIse2NsYXNzOkUsc3R5bGU6Xy5JRSh7d2lkdGg6KDAsXy5aSykoKCk9PmUoKS53aWR0aCksaGVpZ2h0OigwLF8uWkspKCgpPT5lKCkuaGVpZ2h0KX0pfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmVsZW1lbnRzfSx7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOih7ZGF0YTpBfSk9PgpfLksoa1cse2RhdGE6QSxHQjpjLGlzQWN0aXZlOigpPT5oKCk9PT1BKCkuaWQsWGg6KCk9PiEhaCgpJiZoKCkhPT1BKCkuaWQsZUE6ayxIOm59KX0pKX0sIlVkIik7bFcuaWRvbUNvbXBhdD0hMDsKdmFyIGtXPV8uTCgoe2RhdGE6YSxHQjpiLGlzQWN0aXZlOmMsWGg6ZCxlQTplLEg6Zn0pPT57dmFyIFtoLGtdPV8uSighMSx2b2lkIDAsIktXWUpJZSIpLGw9Xy5OKCgpPT5fLlV3KGEoKS50cmFja2luZ1BhcmFtcyksdm9pZCAwLCJVeHB5VWIiKSxtPXQ9Pnt0LnN1YnN0cmluZygxNSk9PT1hKCkuaWQmJihrKCEwKSxaUyhsKCkpKX0sbj10PT57dC5zdWJzdHJpbmcoMTUpPT09YSgpLmlkJiZrKCExKX07Xy5VSigoKT0+e2Y/LigpLmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsbSk7Zj8uKCkuYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUV4aXQiLG4pO3ZhciB0PWB5dG0tY2UtZWxlbWVudC0ke2EoKS5pZH1gO2Y/LigpLmFkZEN1ZVJhbmdlKHQsTnVtYmVyKGEoKS5zdGFydE1zKS8xRTMsTnVtYmVyKGEoKS5lbmRNcykvMUUzKTtfLll1KCgpPT57Zj8uKCkucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIixtKTtmPy4oKS5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRW50ZXIiLApuKTtmPy4oKS5yZW1vdmVDdWVSYW5nZSh0KX0pfSk7dmFyIHA9KCk9PmIoKS5jbG9uZSgpLnNjYWxlKGEoKS53aWR0aCxhKCkud2lkdGgqYigpLmdldFNpemUoKS5hc3BlY3RSYXRpbygpL2EoKS5hc3BlY3RSYXRpbykudHJhbnNsYXRlKGEoKS5sZWZ0KmIoKS53aWR0aC1iKCkubGVmdCooYSgpLndpZHRoLTEpLGEoKS50b3AqYigpLmhlaWdodC1iKCkudG9wKihhKCkud2lkdGgqYigpLmdldFNpemUoKS5hc3BlY3RSYXRpbygpL2EoKS5hc3BlY3RSYXRpby0xKSkscj1fLlAoInl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50Iix7eXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRWaXNpYmxlOigpPT5oKCl9LCgpPT5wKCkud2lkdGg+MjU2fHxwKCkuaGVpZ2h0PjI1Nj9qV1syXTpwKCkud2lkdGg+OTZ8fHAoKS5oZWlnaHQ+OTY/aldbMV06aldbMF0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOnIsc3R5bGU6Xy5JRSh7d2lkdGg6KDAsXy5aSykoKCk9PnAoKS53aWR0aCksaGVpZ2h0OigwLF8uWkspKCgpPT4KcCgpLmhlaWdodCksdG9wOigwLF8uWkspKCgpPT5wKCkudG9wKSxsZWZ0Ol8ueSgpLnJlc29sdmUoXy5sRik9PT0ibHRyIj8oMCxfLlpLKSgoKT0+cCgpLmxlZnQpOiJhdXRvIixyaWdodDpfLnkoKS5yZXNvbHZlKF8ubEYpPT09InJ0bCI/KDAsXy5aSykoKCk9PihmPy4oKS5nZXRTaXplKCk/LndpZHRoPz8wKS1wKCkubGVmdC1wKCkud2lkdGgpOiJhdXRvIn0pLCJvbjptb3VzZW92ZXIiOmZ1bmN0aW9uKHQpe2UoYSgpLmlkKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VvdXQiOmZ1bmN0aW9uKHQpe2UoIiIpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpmb2N1c2luIjpmdW5jdGlvbih0KXtzZXRUaW1lb3V0KCgpPT57ZShhKCkuaWQpfSwwKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKHQpe2UoIiIpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaHN0YXJ0IjpmdW5jdGlvbih0KXtlKGEoKS5pZCk7WVMobCgpKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwKIm9uOmNsaWNrIjpmdW5jdGlvbih0KXtZUyhsKCkpO3Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuc3R5bGU9PT0iVklERU8ifHxhKCkuc3R5bGU9PT0iUExBWUxJU1QifSwoKT0+Xy5LKGhXLHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpjLFhoOmR9KSksXy5LKF8uQ0Use3doZW46KCk9PmEoKS5zdHlsZT09PSJDSEFOTkVMInx8YSgpLnN0eWxlPT09IldFQlNJVEUifSwoKT0+Xy5LKGdXLHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpjLFhoOmR9KSkpKX0sIlZkIik7a1cuaWRvbUNvbXBhdD0hMDt2YXIgWW1hPV8uTChhPT57ZnVuY3Rpb24gYih6KXt2YXIgRT1mKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsQT1mKCk/LnZpZGVvSWQ7RSYmIXo/Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChFKTpBJiZhLkgoKT8ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKHt2aWRlb0lkOkEsYXV0b25hdjp6LGF1dG9wbGF5Onp9KX1mdW5jdGlvbiBjKHope1hTKDExNTEzMCk7YighMSk7ei5zdG9wUHJvcGFnYXRpb24oKX12YXIgW2QsZV09Xy5KKDAsdm9pZCAwLCJZYkRNZmIiKSxmPV8uTigoKT0+QlMoYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwiSGFGS01iIiksaD1hLkcsaz1fLk4oKCk9PmgoKS55Zix2b2lkIDAsInNZZ256ZSIpLGw9Xy5OKCgpPT5oKCkuemYsdm9pZCAwLCJkeUN2S2YiKSxtPV8uTigoKT0+bVUoYS5HLGYoKSksdm9pZCAwLCJDWkZvTWIiKSxuPV8udkUoImJ1dHRvbiIsej0+e3omJldTKHosMTE1MTMwKX0pLApwPV8udkUoImRpdiIsej0+e3omJldTKHosMTE1MTI5KX0pO18ubkUoKCk9Pnt2YXIgej1tKCksRT1sKCksQT1rKCksRj1hLkgoKSxDPWYoKTtpZih6KXt6PUM/LmNvdW50RG93blNlY3N8fDEwO3ZhciBHPXoqMUUzO2lmKEUmJkE+MCllKE1hdGgubWF4KDAsKHotQSkveikpO2Vsc2V7dmFyIEQ9KDAsXy5lbCkoKSxIPSgpPT57dmFyIE09KDAsXy5lbCkoKS1EO009TWF0aC5taW4oTS9HLDEpO2UoTSk7TT49MT8od2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKFIpLEY/LmlzUmVhZHk/LigpJiZiKCEwKSk6Uj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKEgpfTt2YXIgUj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKEgpO18uWXUoKCk9Pnt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoUil9KX19ZWxzZSBlKDApfSwiR1NPdHdiIik7dmFyIHI9KCk9PntYUygxMTUxMjkpO2EuRygpLlMoe3hmOiEwfSl9LHQ9Xy5OKCgpPT5gJHstMjExKihkKCkrMSl9YCx2b2lkIDAsIlY1c213ZCIpLAp2PSgpPT5mKCk/LmJhY2tncm91bmQ7cmV0dXJuIF8uSygicGZwLWF1dG9uYXYiLHtjbGFzczpfLlAoInl0UGZwQXV0b25hdkhvc3QiLGEuY2xhc3NOYW1lLHt5dFBmcEF1dG9uYXZWaXNpYmxlOm19KSwib246Y2xpY2siOmZ1bmN0aW9uKHope3ouc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6YS5HLHRodW1ibmFpbERldGFpbHM6dn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdlNjcmltIn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBBdXRvbmF2SGVhZGVyIn0sXy5LKF8uVix7dGV4dDooKT0+ZigpPy50aXRsZSxtYTohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmYoKT8udmlkZW9UaXRsZSxtYTohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZCeWxpbmUifSxfLksoXy5WLHt0ZXh0OigpPT5mKCk/LmJ5bGluZSxtYTohMH0pKSwKXy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBBdXRvbmF2UGxheUJ1dHRvbiIsIm9uOmNsaWNrIjpjLGVsOm4sImFyaWEtbGFiZWwiOigpPT5mKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5hY2Nlc3NpYmlsaXR5Py5sYWJlbH0sXy5LKCJzdmciLHtjbGFzczoieXRQZnBBdXRvbmF2UmluZyIsdmlld0JveDoiMCAwIDcyIDcyIn0sXy5LKCJjaXJjbGUiLHtjeDoiMzYiLGN5OiIzNiIscjoiMzEuNSIsZmlsbDoid2hpdGUiLCJmaWxsLW9wYWNpdHkiOiIwLjMifSksXy5LKCJjaXJjbGUiLHtjeDoiLTM2IixjeToiMzYiLHI6IjMzLjUiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0IixmaWxsOiJub25lIix0cmFuc2Zvcm06InJvdGF0ZSgtOTApIiwic3Ryb2tlLWRhc2hhcnJheSI6IjIxMSIsc3R5bGU6Xy5JRSh7InN0cm9rZS1kYXNob2Zmc2V0Ijp0fSl9KSksXy5LKF8uTUQse2ljb246IlBMQVlFUl9QTEFZIixjbGFzc05hbWU6Inl0UGZwQXV0b25hdlBsYXlJY29uIn0pKSwKXy5LKF8uVyx7ZGF0YTooKT0+ZigpPy5jYW5jZWxCdXR0b259LHtidXR0b25SZW5kZXJlcjooe2RhdGE6en0pPT5fLksoImRpdiIse2VsOnAsY2xhc3M6Inl0UGZwQXV0b25hdkNhbmNlbEJ1dHRvbiJ9LF8uSyhfLnBPLHtkYXRhOnosdGc6cixzdG9wUHJvcGFnYXRpb246ITAsYnV0dG9uT3ZlcnJpZGVzOntzdHlsZToib3ZlcmxheSJ9fSkpfSkpKX0pKX0sIlhkIik7dmFyIG1XPV8uTChhPT5fLksoInBmcC1lbmRzY3JlZW4tdmlkZW8tcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEuZGF0YSgpLm5hdmlnYXRpb25FbmRwb2ludCxhcmlhTGFiZWw6KCk9Pl8uYU4oYS5kYXRhKCkudGl0bGUpfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YS5kYXRhKCkudGh1bWJuYWlsLGNsYXNzTmFtZToieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGh1bWJuYWlsIn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXkifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5VGl0bGVCeWxpbmUifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlLAptYTohMCx5YzohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJCeWxpbmUifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS5zaG9ydEJ5bGluZVRleHQsbWE6ITAseWM6ITB9KSxfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5zaG9ydFZpZXdDb3VudFRleHQsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCwiIFx1MjAyMiAiLF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnNob3J0Vmlld0NvdW50VGV4dCxtYTohMH0pKX0pKSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyRHVyYXRpb24ifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS5sZW5ndGhUZXh0LG1hOiEwfSkpKSkpLCJZZCIpO3ZhciBabWE9Xy5MKGE9PntmdW5jdGlvbiBiKEQpe0Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhEKXt0KCExKTtELnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGQoRCl7dCghMCk7RD8uc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZSgpe0coKX1mdW5jdGlvbiBmKEQpe3ZhciBIPUYudmFsdWU7SCYmKEguc2Nyb2xsVG8oe2xlZnQ6SC5zY3JvbGxMZWZ0LUguY2xpZW50V2lkdGgqLjgsYmVoYXZpb3I6InNtb290aCJ9KSxELnN0b3BQcm9wYWdhdGlvbigpKX1mdW5jdGlvbiBoKEQpe3ZhciBIPUYudmFsdWU7SCYmKEguc2Nyb2xsVG8oe2xlZnQ6SC5zY3JvbGxMZWZ0K0guY2xpZW50V2lkdGgqLjgsYmVoYXZpb3I6InNtb290aCJ9KSxELnN0b3BQcm9wYWdhdGlvbigpKX12YXIgaz1fLk4oKCk9PmEuVWMoKS53YXRjaE5leHRSZXNwb25zZSx2b2lkIDAsIldYNlJCZSIpLGw9Xy5OKCgpPT5NUyhrKCkpLmZpbHRlcihEPT5ELmVuZFNjcmVlblZpZGVvUmVuZGVyZXIpLHZvaWQgMCwKIlZWVWRyYyIpLG09Xy5OKCgpPT57dmFyIEQ9YS5VYygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyPy5zdGFydE1zO0Q9RD8rRDp2b2lkIDA7cmV0dXJuIGEuRygpLnBsYXllclN0YXRlPT09MiYmbD8uKCk/Lmxlbmd0aD4wJiYoIUR8fGEuRygpLnZhKjFFMzxEKX0sdm9pZCAwLCJwUVNRS2IiKSxuPV8uTigoKT0+YS5VYygpLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnZpZGVvSWQsdm9pZCAwLCJ5UWJOMWUiKSxbcCxyXT1fLkFDKCgpPT57bigpO3JldHVybiExfSksdD1yLFt2LHpdPV8uSighMSx2b2lkIDAsInFRUjczYiIpLFtFLEFdPV8uSighMSx2b2lkIDAsInZjYTNJZCIpLEY9Xy52RSgiZGl2IiksQz1fLk4oKCk9PmEuVWMoKS5wbGF5ZXJSZXNwb25zZT8udmlkZW9EZXRhaWxzPy5hdXRob3I/PyIiLHZvaWQgMCwib0pFMHNkIiksRz0oKT0+e3ZhciBEPUYudmFsdWU7RCYmKHooRC5zY3JvbGxMZWZ0PjEpLEEoRC5zY3JvbGxMZWZ0PApELnNjcm9sbFdpZHRoLUQuY2xpZW50V2lkdGgtMSkpfTtfLm5FKCgpPT57cCgpO20oKSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57RygpfSl9LCJ0QTExN2QiKTtyZXR1cm4gXy5LKCJwZnAtbW9yZS12aWRlb3MiLHtjbGFzczpfLlAoInl0UGZwTW9yZVZpZGVvc0hvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8uTyx7QTooKT0+bSgpJiYhcCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc092ZXJsYXkiLCJvbjpjbGljayI6Yn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zSGVhZGVyIn0sXy5LKCJoMyIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NUaXRsZSJ9LCgpPT5fLiROLnp0LnJlcGxhY2UoIiRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLEMoKSkpLF8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc0Nsb3NlQnV0dG9uIiwib246Y2xpY2siOmQsImFyaWEtbGFiZWwiOl8uJE4ueHR9LF8uSyhfLk1ELHtpY29uOiJDTE9TRSIsCmNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zQ2xvc2VJY29uIn0pKSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0Q29udGFpbmVyIn0sXy5LKF8uTyx7QTp2LHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnQiLCJvbjpjbGljayI6ZiwiYXJpYS1sYWJlbCI6Xy4kTi5mb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fTEVGVCIsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdCIsZWw6Riwib246c2Nyb2xsIjplfSxfLksoXy5XLHtkYXRhOmwsSGs6ITB9LHtlbmRTY3JlZW5WaWRlb1JlbmRlcmVyOih7ZGF0YTpEfSk9Pl8uSyhtVyx7ZGF0YTpELGNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtIn0pfSkpLF8uSyhfLk8se0E6RSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodCIsCiJvbjpjbGljayI6aCwiYXJpYS1sYWJlbCI6Xy4kTi5lb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQiLGNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zUGFkZGxlSWNvbiJ9KSl9KSkpfSksXy5LKF8uTyx7QTooKT0+bSgpJiZwKCksdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zTW9yZVZpZGVvc0J1dHRvbiIsIm9uOmNsaWNrIjpjLCJhcmlhLWxhYmVsIjpfLiROLmJvfSxfLiROLmJvKX0pKX0sIiRkIik7dmFyICRtYT1fLkwoYT0+Xy5LKCJwZnAtZW5kc2NyZWVuLXBsYXlsaXN0LXJlbmRlcmVyIix7Y2xhc3M6Xy5QKCJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0IixhLmNsYXNzTmFtZSl9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hLmRhdGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsYXJpYUxhYmVsOigpPT5fLmFOKGEuZGF0YSgpLnRpdGxlKX0sXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6KCk9PmEuZGF0YSgpLnRodW1ibmFpbCxjbGFzc05hbWU6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlclRodW1ibmFpbCJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5In0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheVRpdGxlIn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGl0bGUifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS50aXRsZSwKbWE6ITB9KSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJCb3R0b21PdmVybGF5In0sXy5LKF8uTUQse2ljb246IlBMQVlMSVNUUyIsY2xhc3NOYW1lOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJJY29uIn0pLF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnZpZGVvQ291bnRUZXh0LHljOiEwfSkpKSksImFlIik7dmFyIGFuYT1fLkwoYT0+e2Z1bmN0aW9uIGIoRil7Ri5zdG9wUHJvcGFnYXRpb24oKTtGPXooKS5sZW5ndGg7bSgobCgpLXIoKStGKnIoKSklRil9ZnVuY3Rpb24gYyhGKXtGLnN0b3BQcm9wYWdhdGlvbigpO0Y9eigpLmxlbmd0aDttKChsKCkrcigpKSVGKX12YXIgZD1fLnZFKCJkaXYiKSxbZSxmXT1fLkooW10sdm9pZCAwLCJFclVRSWUiKSxbaCxrXT1fLkooMCx2b2lkIDAsIldNZVlvZCIpLGw9aCxtPWssW24scF09Xy5KKDAsdm9pZCAwLCJPelBTa2UiKSxyPW4sW3QsLHZdPV8uSigwLHZvaWQgMCwibENUbXBlIik7Xy5EUCgicmVzaXplIiwoKT0+e3YoRj0+RisxKX0pO3ZhciB6PV8uTigoKT0+TVMoYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwicnkyRFQiKSxFPV8uTigoKT0+blUoYS5HLGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSx2b2lkIDAsIkZoVVpyIiksQT1fLk4oKCk9PnIoKSYmeigpLmxlbmd0aD5yKCksdm9pZCAwLCJVd0VjNWIiKTtfLm5FKCgpPT57dCgpOwp2YXIgRj16KCksQz1sKCk7aWYoRSgpJiZkLnZhbHVlKWlmKEYubGVuZ3RoKXt2YXIgRz1kLnZhbHVlLEQ9Ry5jbGllbnRXaWR0aDtHPUcuY2xpZW50SGVpZ2h0O2xldCBUPUYubGVuZ3RoO2Zvcih2YXIgSD0yLFI9MixNPU1hdGgubWF4KEQvOTYsMiksUz1NYXRoLm1heChHLzU0LDIpLFk9KFQtMSkqNDtZPjAmJihIPE18fFI8Uyk7KXt2YXIgcGE9SC8yLG9hPVIvMixVPUg8PU0tMiYmWT49b2EqNCxoYT1SPD1TLTImJlk+PXBhKjQ7aWYoKHBhKzEpL29hKm5XLyhEL0cpPkQvRy8ocGEvKG9hKzEpKm5XKSYmaGEpWS09cGEqNCxSKz0yO2Vsc2UgaWYoVSlZLT1vYSo0LEgrPTI7ZWxzZSBpZihoYSlZLT1wYSo0LFIrPTI7ZWxzZSBicmVha31sZXQge2NvbHVtbkNvdW50OmJhLFl6OmFhLFJ6Ok9hfT17Y29sdW1uQ291bnQ6SCxZejpSLFJ6Oll9O0g9ITE7T2E+PTEyJiZUKjQtT2E8PTYmJihhYT49NHx8YmE+PTQpJiYoSD0hMCk7Uj1iYSo5NjtNPWFhKjU0O1M9TWF0aC5taW4oUi9NPEQvRz8KRy9NOkQvUiwyKTtSPU1hdGguZmxvb3IoTWF0aC5taW4oRCxSKlMpKTtNPU1hdGguZmxvb3IoTWF0aC5taW4oRyxNKlMpKTtsZXQge1NBOkpiLFJBOnphfT17U0E6UixSQTpNfTtSPUpiKzQ7TT16YSs0O1M9MDtZPVtdO2ZvcihwYT0wO3BhPGJhO3BhKyspZm9yKG9hPTA7b2E8YWE7b2ErKylpZihVPTAsSCYmcGE+PWJhLTImJm9hPj1hYS0yP1U9MTpvYSUyPT09MCYmcGElMj09PTAmJihVPTIpLGhhPVMlVCxVIT09MCl7bGV0IExiPU1hdGguZmxvb3IoTSpvYS9hYSksY2M9TWF0aC5mbG9vcihSKnBhL2JhKTtZLnB1c2goe2RhdGE6RlsoaGErQyklVF0sbGVmdDpjYysoRC1KYikvMix0b3A6TGIrKEctemEpLzIsd2lkdGg6TWF0aC5mbG9vcihSKihwYStVKS9iYSktY2MtNCxoZWlnaHQ6TWF0aC5mbG9vcihNKihvYStVKS9hYSktTGItNH0pO1MrK312YXIge1N5Om1hLGluZGV4OnRhfT17U3k6WSxpbmRleDpTfTtmKG1hKTtwKHRhKX1lbHNlIGYoW10pfSwid2VZNEIiKTtyZXR1cm4gXy5LKCJwZnAtdmlkZW8td2FsbC1lbmRzY3JlZW4iLAp7Y2xhc3M6Xy5QKCJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlbkhvc3QiLGEuY2xhc3NOYW1lLHt5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpc2libGU6RSx5dFBmcFZpZGVvV2FsbEVuZHNjcmVlbklzT2JzY3VyZWQ6YS5VeH0pLCJvbjpjbGljayI6ZnVuY3Rpb24oRil7Ri5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6RSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpZGVvTGlzdENvbnRhaW5lciJ9LF8uSyhfLk8se0EsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0Iiwib246Y2xpY2siOmIsImFyaWEtbGFiZWwiOl8uJE4uZm99LF8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX0xFRlQiLGNsYXNzTmFtZToieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0IiwKZWw6ZH0sXy5LKF8uZ0cse3BhOmV9LEY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9JdGVtIixzdHlsZTpfLklFKHt0b3A6KDAsXy5aSykoKCk9PkYudG9wKSxsZWZ0OigwLF8uWkspKCgpPT5GLmxlZnQpLHdpZHRoOigwLF8uWkspKCgpPT5GLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PkYuaGVpZ2h0KX0pfSxfLksoXy5XLHtkYXRhOigpPT5GLmRhdGF9LHtlbmRTY3JlZW5WaWRlb1JlbmRlcmVyOm1XLGVuZFNjcmVlblBsYXlsaXN0UmVuZGVyZXI6JG1hfSkpKSksXy5LKF8uTyx7QSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0Iiwib246Y2xpY2siOmMsImFyaWEtbGFiZWwiOl8uJE4uZW99LF8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX1JJR0hUIixjbGFzc05hbWU6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlSWNvbiJ9KSl9KSl9KSl9LCJjZSIpLG5XPTk2LzU0O3ZhciBvVz1fLkwoKHtqZTphfSk9Pnt2YXIgYj1fLk4oKCk9PmEoKSx2b2lkIDAsIkVUZ2U3ZCIpLFtjLCxkXT1fLkooMCx2b2lkIDAsIlpDQklzIik7Xy5uRSgoKT0+e2IoKSYmZChlPT5lKzEpfSwiS3NYM3JmIik7cmV0dXJuIF8uSygicGxheWVyLWFjdGlvbi1pbmRpY2F0b3IiLHtjbGFzczoieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckhvc3QifSxfLksoXy5nRyx7cGE6KCk9PmIoKT9bYygpXTpbXX0sKCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGxheWVyQ29udHJvbHNQbGF5ZXJBY3Rpb25JbmRpY2F0b3JBY3Rpb24ifSxfLksoXy5NRCx7aWNvbjpiLGNsYXNzTmFtZToieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckljb24ifSkpKSl9LCJlZSIpO29XLmlkb21Db21wYXQ9ITA7dmFyIHBXPV8uTCgoe0c6YSxTbTpiLHBsYXllck92ZXJsYXlSZW5kZXJlcjpjLFZ3OmQsY2xhc3NOYW1lOmV9KT0+e3ZhciBmPSgpPT5fLkIoYj8uKCk/LnBsYXllckJhckFjdGlvbkJ1dHRvbixfLlZMKTtyZXR1cm4gXy5LKCJwbGF5ZXItdGltZS1kaXNwbGF5Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheUhvc3QiLGUpfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlUaW1lQ2h1bmtzIix7eXR3UGxheWVyVGltZURpc3BsYXlQaWxsOigpPT4hZD8uKCkseXR3UGxheWVyVGltZURpc3BsYXlMaXZlRG90OigpPT5hKCkuaXNMaXZlLHl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZUhlYWQ6KCk9Pm9VKGEoKSl9KSwib246Y2xpY2siOmZ1bmN0aW9uKGgpe2lmKGEoKS5pc0xpdmUmJiFvVShhKCkpKXthKCkuSD8uc2Vla1RvKEluZmluaXR5KTt2YXIgaz1VUShhKCkuSCk7ayYmYSgpLlMoe3ZpZGVvRHVyYXRpb246a30pfWguc3RvcFByb3BhZ2F0aW9uKCl9fSwKXy5LKCJkaXYiLHtkaXI6Imx0ciJ9LF8uSyhibmEse0c6YSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6Y30pLF8uSyhfLk8se0E6KCk9PiFvVShhKCkpLHRoZW46KCk9Pl8uSyhjbmEse0c6YX0pfSkpKSxfLksoXy5PLHtBOigpPT57dmFyIGg9Xy5CKGI/LigpPy5wbGF5ZXJCYXIsRFMpP18uQihrVChhKCksXy5CKGI/LigpPy5wbGF5ZXJCYXIsRFMpKSxlVCk/LnRpdGxlOnZvaWQgMCxrPWYoKT8udGV4dDtyZXR1cm4gaD8/a30sdGhlbjpoPT5fLksoZG5hLHt0aXRsZTpoLGJ1dHRvbjpmLEc6YX0pfSkpfSwiZmUiKSxibmE9Xy5MKCh7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpifSk9Pnt2YXIgYz0oKT0+YSgpLmlzTGl2ZT9fLiROLmxvOkNUKGEoKS52YSk7cmV0dXJuIF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVFbGFwc2VkIn0sXy5LKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLk8se0E6KCk9PmI/LigpPy5saXZlSW5kaWNhdG9yVGV4dCwKdGhlbjpkPT5fLksoXy5WLHt0ZXh0OmR9KSxXOigpPT5fLksoXy5JQixudWxsLGMpfSkpLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHkifSwoKT0+e2lmKGEoKS5pc0xpdmUpcmV0dXJuIF8uJE4ubG87dmFyIGQ9UFIoe3NlY29uZHM6YSgpLnZhfSk7cmV0dXJuYCR7Xy4kTi5WdH0gJHtkfWB9KSl9LCJnZSIpLGNuYT1fLkwoKHtHOmF9KT0+e3ZhciBiPSgpPT57aWYob1UoYSgpKSl2YXIgYz0wO2Vsc2V7Yz1NYXRoO3ZhciBkPWMucm91bmQsZT1hKCk7Yz1kLmNhbGwoYyxlLmlzRHJhZ2dpbmc/ZS5DYTplLnZhKS1NYXRoLnJvdW5kKFVRKGEoKS5IKSl9cmV0dXJuIGN9O3JldHVybiBfLksoXy5JQixudWxsLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVTZWNvbmQifSksXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZURlbGltaXRlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LAoiLyIpLF8uSygic3BhbiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlUaW1lU2Vjb25kIiwieXR3UGxheWVyVGltZURpc3BsYXlUaW1lRHVyYXRpb24iKX0sXy5LKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LCgpPT5hKCkuaXNMaXZlP0NUKGIoKSk6Q1QoYSgpLnZpZGVvRHVyYXRpb24pKSxfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlTY3JlZW5SZWFkZXJPbmx5In0sKCk9PntpZihhKCkuaXNMaXZlKXJldHVybiBDVChiKCkpO3ZhciBjPVBSKHtzZWNvbmRzOmEoKS52aWRlb0R1cmF0aW9ufSk7cmV0dXJuYCR7Xy4kTi5VdH0gJHtjfWB9KSkpfSwiaGUiKSxkbmE9Xy5MKCh7dGl0bGU6YSxidXR0b246YixHOmN9KT0+e2Z1bmN0aW9uIGQoZil7Yj8uKCk/LmNvbW1hbmQmJihfLkFKKGIoKS5jb21tYW5kLHt9LCExKSxmLnN0b3BQcm9wYWdhdGlvbigpKX12YXIgZT1fLk4oKCk9PmMoKS5iYT8uRWUsdm9pZCAwLCJqZzJPTWMiKTtyZXR1cm4gXy5LKF8uTywKe0E6Yix0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQWN0aW9uQ29udGFpbmVyIn0sXy5LKCJidXR0b24iLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5UGlsbCIsInl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQnV0dG9uIiksIm9uOmNsaWNrIjpkLCJhcmlhLWxhYmVsIjooKT0+Xy5hTihmKCkudGV4dCl9LF8uSyhfLlYse3RleHQ6YSx5YzohMH0pLF8uSyhfLk8se0E6KCk9PiEoXy54KCJtd2ViX3VzZV9vbmx5X2NoYXB0ZXJfdGl0bGVfaW5fZnVsbHNjcmVlbiIpJiZjKCkuaXNGdWxsc2NyZWVuKSx0aGVuOigpPT5fLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVF9DQUlSTyIsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheUNoZXZyb24ifSl9KSkpLFc6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheUNoYXB0ZXJUZXh0Iix7eXR3UGxheWVyVGltZURpc3BsYXlGdWxsc2NyZWVuQ29udHJvbHNBbHdheXNPbjplfSl9LApfLksoXy5WLHt0ZXh0OmEseWM6ITB9KSl9KX0sImllIik7dmFyIHFXPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMuZ249YTt0aGlzLmxpc3RlbmVycz1bXTt0aGlzLmNvbnRleHQ9Yjt0aGlzLm89ZDt0aGlzLnY9cVUodGhpcy5VYz8uSCk7dGhpcy5EPXRoaXMuUy5iaW5kKHRoaXMpO3RoaXMuc3RhdGU9ey4uLmRUKCksLi4uY307YT10aGlzLnVkKCk7W3RoaXMuQix0aGlzLmpdPV8uSihhLHZvaWQgMCwicDNOd3EiKX1TKGEpe2lmKCFxbGEoYSx0aGlzLnN0YXRlKSl7dGhpcy5zdGF0ZT17Li4udGhpcy5zdGF0ZSwuLi5hfTthPV8ueCgicGxheWVyX2NvbnRyb2xzX2xvZ19jcmVhdGlvbl9lbmFibGVkIik7dmFyIGI9LTE7YSYmIXBVKCkmJihiPSgwLF8uZWwpKCkpO2EmJl8uQXEoInBjdV9zIik7dGhpcy5qJiZ0aGlzLmoodGhpcy51ZCgpKTthJiYoXy5BcSgicGN1X3NlIiksXy5BcSgicGN1X3JzIikpO3RoaXMuZ24odGhpcy51ZCgpKTthJiYoXy5BcSgicGN1X3JlIikscGxhKGIpLF8uamYuR2EoKCk9PntfLkFxKCJwY3VfYXAiKX0sCjgpKX19dWQoKXt2YXIgYT10aGlzLm8/cVUodGhpcy5vKCkpOnFVKHRoaXMuVWM/LkgpO3JldHVybnsuLi50aGlzLnN0YXRlLFM6dGhpcy5ELEg6YSx0YTp0aGlzLmNvbnRleHQudGEsVGM6dGhpcy5jb250ZXh0LlRjLEdjOnRoaXMuY29udGV4dC5HYyxiYTp0aGlzLmNvbnRleHQuYmF9fWdldERhdGEoKXtyZXR1cm4gdGhpcy5VY319O3ZhciByVz1fLkwoYT0+e2Z1bmN0aW9uIGIoWSl7TT1ILmFuaW1hdGUoW3tvZmZzZXQ6MCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsb3BhY2l0eTpZfSx7b2Zmc2V0OjEsb3BhY2l0eToxfV0se2R1cmF0aW9uOjIwMCxmaWxsOiJmb3J3YXJkcyJ9KTtNLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsKCk9PntNPXZvaWQgMDtlKCk7Rj0ibGluZ2VyaW5nIn0pfWZ1bmN0aW9uIGMoWSxwYT0hMSxvYT0hMSl7dmFyIFU9W107VS5wdXNoKHtvZmZzZXQ6MCx0cmFuc2Zvcm06YHRyYW5zbGF0ZVgoJHtDPT09LTE/MjA6LTIwfXB4KWAsb3BhY2l0eTpwYT8iMCI6IjEifSk7cGEmJlUucHVzaCh7b2Zmc2V0Oi41LG9wYWNpdHk6IjEifSk7VS5wdXNoKHtvZmZzZXQ6MSx0cmFuc2Zvcm06InRyYW5zbGF0ZVgoMCkiLG9wYWNpdHk6IjEifSk7cGE9WS5hbmltYXRlKFUse2R1cmF0aW9uOjQwMCxlYXNpbmc6ImN1YmljLWJlemllcigwLjA1LCAwLjAwLCAwLjAwLCAxLjAwKSJ9KTsKWT1ZLnF1ZXJ5U2VsZWN0b3IoInBhdGgiKTtVPVtdO3ZhciBoYT17b2Zmc2V0OjAsZDpDPT09LTE/J3BhdGgoIk0gMTggNCBMIDE4IDE2IEwgMTggMjgiKSc6J3BhdGgoIk0gNCA0IEwgNCAxNiBMIDQgMjgiKSd9O29hJiYoaGEuZmlsdGVyPSJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwLjgpKSIpO1UucHVzaChoYSk7b2EmJlUucHVzaCh7b2Zmc2V0Oi44LGZpbHRlcjoiZHJvcC1zaGFkb3coMCAwIDAuNXB4IHJnYmEoMCwgMCwgMCwgMC44KSkifSk7aGE9e29mZnNldDoxLGQ6Qz09PS0xPydwYXRoKCJNIDE4IDQgTCA2IDE2IEwgMTggMjgiKSc6J3BhdGgoIk0gNCA0IEwgMTYgMTYgTCA0IDI4IiknfTtvYSYmKGhhLmZpbHRlcj0iZHJvcC1zaGFkb3coMCAwIDAuNXB4IHJnYmEoMCwgMCwgMCwgMCkpIik7VS5wdXNoKGhhKTtZLmFuaW1hdGUoVSx7ZHVyYXRpb246MzMzLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIixmaWxsOiJmb3J3YXJkcyJ9KTsKcmV0dXJuIHBhfWZ1bmN0aW9uIGQoKXt2YXIgWT1ILnF1ZXJ5U2VsZWN0b3IoIi55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpLmNsb25lTm9kZSghMCk7WS5jbGFzc0xpc3QuYWRkKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbCIpO1kuY2xhc3NMaXN0LnJlbW92ZSgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKTtILmFwcGVuZENoaWxkKFkpO2MoWSwhMCwhMCkuYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e1kucmVtb3ZlKCl9KX1mdW5jdGlvbiBlKCl7Y2xlYXJUaW1lb3V0KFIpO1I9c2V0VGltZW91dCgoKT0+e2YoKX0sXy5zaigid2ViX3BsYXllcl9zZWVrX292ZXJsYXlfbGluZ2VyX2R1cmF0aW9uIiwzMDApKX1mdW5jdGlvbiBmKFk9MSxwYT0hMCl7TT1ILmFuaW1hdGUoW3tvZmZzZXQ6MCxvcGFjaXR5Oll9LHtvZmZzZXQ6MSxvcGFjaXR5OjB9XSx7ZHVyYXRpb246MjAwLGZpbGw6ImZvcndhcmRzIixlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSJ9KTsKcGEmJihNLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsKCk9PntTPy4oKTtNPXZvaWQgMDtrKCk7QSghMSl9KSxGPSJmYWRpbmctb3V0Iil9ZnVuY3Rpb24gaCgpe2lmKCFNKXJldHVybiAwO3ZhciBZPU51bWJlcihnZXRDb21wdXRlZFN0eWxlKEgpLm9wYWNpdHkpO00uY2FuY2VsKCk7TT12b2lkIDA7cmV0dXJuIFl9ZnVuY3Rpb24gaygpe0Y9ImhpZGRlbiI7SD1DPXZvaWQgMDtjbGVhclRpbWVvdXQoUil9dmFyIGw9Xy5OKCgpPT5hLkcoKS5KZCx2b2lkIDAsInBkbG1ZYiIpLG09Xy5OKCgpPT5hLkcoKS5LYix2b2lkIDAsImFQUzlKIiksbj1fLk4oKCk9PmEuRygpLkgsdm9pZCAwLCJ4dkJybGYiKSxbcCxyXT1fLkooIiIsdm9pZCAwLCJWSnVnemQiKSxbdCx2XT1fLkooIiIsdm9pZCAwLCJZU0tTT2QiKSxbeixFXT1fLkooITEsdm9pZCAwLCJPc21pbmMiKSxBPUUsRj0iaGlkZGVuIixDLEcsRCxILFI9MCxNLFM7Xy5uRSgoKT0+e2lmKEVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGUpe3ZhciBZPQpsKCk7aWYoIShtKCk8PTF8fFk9PT0wKSl7QSghMCk7aWYoQyYmWSE9PUMpe2xldCBwYT0xO00mJihwYT1oKCkpO2YocGEsITEpO2soKX1DPVk7SD1DPT09LTE/RzpEO2lmKEcmJkQpaWYoWT1uKCksWT1ZPy5pc1JlYWR5Py4oKT9ZLmdldEN1cnJlbnRUaW1lKCk6MCxZPUM9PT0tMSYmWTw9MTA/MTA6KG0oKS0xKSoxMCxZPWAke0M9PT0tMT8iXHUyMjEyIjoiKyJ9ICR7WX1gLEM9PT0tMT9yKFkpOnYoWSksRj09PSJoaWRkZW4ifHxGPT09ImZhZGluZy1vdXQiKVk9MCxGPT09ImZhZGluZy1vdXQiJiYoWT1oKCksZCgpKSxiKFkpLEYhPT0iZmFkaW5nLW91dCImJmMoSC5xdWVyeVNlbGVjdG9yKCIueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKSksRj0iZmFkaW5nLWluIjtlbHNlIGlmKEY9PT0iZmFkaW5nLWluInx8Rj09PSJsaW5nZXJpbmciKUgucXVlcnlTZWxlY3RvcigiLnl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24iKS5hbmltYXRlKFt7b2Zmc2V0OjAsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkiLAp0cmFuc2Zvcm06InNjYWxlKDEpIn0se29mZnNldDouNjQsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkiLHRyYW5zZm9ybTpgc2NhbGUoJHtfLnNqKCJ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9kdXJhdGlvbl9idW1wX3NjYWxlIil8fC45fSlgfSx7b2Zmc2V0OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9XSx7ZHVyYXRpb246MTg0fSksZCgpLEY9PT0ibGluZ2VyaW5nIiYmZSgpfX19LCJoem55RCIpO18uWXUoKCk9PntoKCk7aygpfSk7cmV0dXJuIF8uSygieXR3LXBsYXllci1zZWVrLW92ZXJsYXkiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlIb3N0IixzdHlsZTpfLklFKHtkaXNwbGF5OigpPT56KCk/ImJsb2NrIjoibm9uZSJ9KX0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uIiwieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNrIiksZWw6Xy5yRihZPT57Rz1ZfSl9LF8uSygiZGl2IiwKe2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyIsInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50Iil9LF8uSygic3ZnIix7dmlld0JveDoiMCAwIDIyIDMyIix3aWR0aDoiMjIiLGhlaWdodDoiMjQiLGNsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3ZnIn0sXy5LKCJwYXRoIix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoIixkOiJNIDE4IDQgTCA2IDE2IEwgMTggMjgiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsZmlsbDoibm9uZSJ9KSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24ifSxwKSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uIiwieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIiksZWw6Xy5yRihZPT57RD1ZfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24ifSwKdCksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3ciLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpfSxfLksoInN2ZyIse3ZpZXdCb3g6IjAgMCAyMiAzMiIsd2lkdGg6IjIyIixoZWlnaHQ6IjI0IixjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1N2ZyJ9LF8uSygicGF0aCIse2NsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGF0aCIsZDoiTSA0IDQgTCAxNiAxNiBMIDQgMjgiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsZmlsbDoibm9uZSJ9KSkpKSl9LCJrZSIpO3ZhciB0VTt2YXIgW2VuYSxzV109Xy5KKCExLHZvaWQgMCwiR05XM1MiKSxbQ1UsRFVdPV8uSighMSx2b2lkIDAsIkdBRWtKIiksW3RXLHRsYV09Xy5KKHZvaWQgMCx2b2lkIDAsIk9WUDFlZSIpO3ZhciBCVT0wO3ZhciBFVT12b2lkIDA7dmFyIHpVPTAsSFU9MCxHVT0wLHlVPTAsQVU9ITEsRlU9MDt2YXIgTlU7dmFyIHVXPVt7cmVnaXN0ZXI6YT0+e3ZhciBiPXdsYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25Wb2x1bWVDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9eGxhKGEpO2E9YSgpLkg7YT8uYWRkRXZlbnRMaXN0ZW5lcigiY2FwdGlvbnNjaGFuZ2VkIixiKTthPy5hZGRFdmVudExpc3RlbmVyKCJjYXB0aW9uc3NldHRpbmdzY2hhbmdlZCIsYik7YT8uYWRkRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjooYSxiKT0+e2I9QmxhKGEsYik7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9RGxhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJTRUVLX0NPTVBMRVRFIixiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPVBVKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsCmIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjooYSxiKT0+e2I9RWxhKGEsYik7YSgpPy5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9RmxhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9SGxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUlsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUdsYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25GdWxsc2NyZWVuQ2hhbmdlIiwKYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1KbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsYil9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1LbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZ1bGxzY3JlZW5lcnJvciIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmVycm9yIixiKX19fSx7cmVnaXN0ZXI6KGEsYik9Pnt2YXIgYz1MbGEoYSxiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGxheWVyLWF1dG9uYXYtcGF1c2UiLGMpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBsYXllci1hdXRvbmF2LXBhdXNlIixjKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPU1sYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYXV0b25hdi10b2dnbGUtY2xpY2siLApiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJhdXRvbmF2LXRvZ2dsZS1jbGljayIsYil9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1ObGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uTG9vcFJhbmdlQ2hhbmdlIixiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e2lmKCFfLngoImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyIpKXJldHVybigpPT57fTt2YXIgYj16bGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGIpfX19XTt2YXIgVmxhPV8uTChhPT57dmFyIGI9Xy5OKCgpPT5hLkgoKSx2b2lkIDAsInE4V3NLZiIpLGM9Xy5OKCgpPT5hLmRhdGEoKSx2b2lkIDAsIms2VWVWIiksZD1fLk4oKCk9Pnt2YXIgQz1hLmNvbnRleHQoKTtyZXR1cm4gbmV3IHFXKCgpPT57fSxDLHthdXRvbmF2RW5hYmxlZDpDLnRhLmRlKCksZWE6ITB9LGIpfSx2b2lkIDAsIk9BeElKYiIpLGU9Xy5OKCgpPT4oMCxkKCkuQikoKSx2b2lkIDAsIlV1MVJpIiksZj1fLk4oKCk9Pnt2YXIgQz1lKCk7cmV0dXJuIF8ueCgibXdlYl9wY19saXZlX2R2cl9rcyIpPyExOkMuaXNMaXZlJiYhQy5pc0xpdmVEdnJFbmFibGVkfSx2b2lkIDAsImN0VWczZCIpLGg9Xy5OKCgpPT57dmFyIEM9ZigpO3JldHVybiByVSgpJiYhQ30sdm9pZCAwLCJuSmRrMGMiKSxrPV8uTigoKT0+YygpLnBsYXllclJlc3BvbnNlPy5wbGF5YWJpbGl0eVN0YXR1c3x8YygpLmpiPy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsdm9pZCAwLCJCVlhDOSIpLGw9Xy5OKCgpPT4KZSgpLmJhPy5aaCYmJFMoZSgpLGsoKSksdm9pZCAwLCJNSHZId2YiKSxtPV8uTigoKT0+blUoZSxjKCkud2F0Y2hOZXh0UmVzcG9uc2UpLHZvaWQgMCwiY3R4VXMiKSxuPV8uTigoKT0+bVUoZSxCUyhjKCkud2F0Y2hOZXh0UmVzcG9uc2UpKSx2b2lkIDAsIkdMa0JVIikscD1fLk4oKCk9Pnt2YXIgQz1sKCksRz1tKCksRD1uKCksSD1lKCkucGxheWVyU3RhdGU7cmV0dXJuIEM/ITA6R3x8RD8hMTpIPT09MH0sdm9pZCAwLCJYRUV2QiIpLHI9Xy52RSgiYnV0dG9uIixDPT57QyYmV1MoQywyODU3MiwhXy54KCJlbWJlZHNfY3VlZF9vdmVybGF5X3ZlX2tzIikpfSksdD1fLk4oKCk9Pnt2YXIgQz1jKCk7cmV0dXJuKEM9Xy5CKE5TKEMud2F0Y2hOZXh0UmVzcG9uc2U/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsQy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpPy5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnRpdGxlKT9fLmFOKEMpOnZvaWQgMH0sCnZvaWQgMCwiZ3NHV3kiKSx2PV8udUYoQz0+e3ZhciBHPWUoKSxEPWMoKSxIPXQoKTtyZXR1cm4gRy5iYT8uaGlkZVZpZGVvSW5mbz8hMTpELndhdGNoTmV4dFJlc3BvbnNlfHxELmpiP0ghPT12b2lkIDA6Q30se2luaXRpYWw6ITB9KSx6PV8uTigoKT0+ZSgpLmVhLHZvaWQgMCwiVFI5S0dkIiksRT1fLnVGKEM9Pnt2YXIgRz1jKCk7cmV0dXJuKEcucGxheWVyUmVzcG9uc2U/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyfHxHLmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcik/LmNvbnRyb2xCZ0h0bWw/P0N9LHtpbml0aWFsOnZvaWQgMH0pLEE9W107Xy5uRSgoKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntBLmZvckVhY2goQz0+dm9pZCBDKCkpO0EubGVuZ3RoPTA7dVcuZm9yRWFjaChDPT57QS5wdXNoKEMucmVnaXN0ZXIoKCk9PmQoKS51ZCgpLCgpPT5jKCkpKX0pfSl9LCJZMnFZN2IiKTtfLm5FKCgpPT57dmFyIEM9ZCgpLApHPWMoKTtDLlVjPUc7dmFyIEQ9Qy52PT09Ry5IO0Mudj1xVShHLkgpO0R8fEMuaiYmQy5qKEMudWQoKSl9LCJhMTc4UmQiKTt2YXIgRj1DPT57Qz1DLmRldGFpbC5hdXRvbmF2RW5hYmxlZDt2YXIgRz17YXV0b25hdkVuYWJsZWQ6Q307QyYmKEcueGY9ITApO2UoKS5TKEcpfTtfLm9GKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBmcC1hdXRvbmF2LXVwZGF0ZSIsRil9KTtfLll1KCgpPT57QS5mb3JFYWNoKEM9PnZvaWQgQygpKTtBLmxlbmd0aD0wO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwZnAtYXV0b25hdi11cGRhdGUiLEYpfSk7cmV0dXJuIF8uSyhfLm5HLHtFZjpbXy5vRygkVCxiKV19LF8uSygicGZwLWNvbnRyb2xzIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNIb3N0Iiwib246Y29udGV4dG1lbnUiOmZ1bmN0aW9uKEMpe2EuY29udGV4dCgpLnRhLlNqPy4oQyk7Qy5wcmV2ZW50RGVmYXVsdCgpfX0sXy5LKEdWLHtHOmUsdGh1bWJuYWlsRGV0YWlsczooKT0+e3ZhciBDPQpjKCk7cmV0dXJuIEMuamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5kZWZhdWx0VGh1bWJuYWlsfHxDLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnRodW1ibmFpbH19KSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzQ3JlYXRvckVuZHNjcmVlbkNvbnRhaW5lciIsIm9uOmNsaWNrIjpmdW5jdGlvbihDKXtDLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+YygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyLHRoZW46KCk9Pl8uSyhsVyx7ZW5kc2NyZWVuUmVuZGVyZXI6KCk9PmMoKS5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlcixHOmV9KX0pKSxfLksoImRpdiIse2lkOiJwbGF5ZXItY29udHJvbC1vdmVybGF5IixjbGFzczpfLlAoInl0UGZwQ29udHJvbHNPdmVybGF5Iix7eXRQZnBDb250cm9sc0ZhZGVJbjp6fSksIm9uOmNsaWNrIjpmdW5jdGlvbihDKXtwKCk/CihYUygyODU3MiksZSgpLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDAsQy5jdXJyZW50VGFyZ2V0LnZpc3VhbEVsZW1lbnQpLGIoKS5wbGF5VmlkZW8oKSk6S1UoQyxlKCkpfSwib246cG9pbnRlcm1vdmUiOmZ1bmN0aW9uKEMpe0MucG9pbnRlclR5cGU9PT0ibW91c2UiJiYoZSgpLlMoe2VhOiEwfSksY1QoZSgpLHtJYzohMH0pKX19LF8uSyhfLk8se0E6dix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzR3JhZGllbnRUb3AifSxfLksoXy5PLHtBOnQsdGhlbjooKT0+Xy5LKCJoMiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzVmlkZW9UaXRsZSJ9LHQpfSkpfSksXy5LKG9XLHtqZTooKT0+ZSgpLmplfSksXy5LKF8uTyx7QTpwLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b24iLGVsOnIsImFyaWEtbGFiZWwiOl8uJE4uUGcsdGl0bGU6Xy4kTi5QZ30sXy5LKCJzdmciLHtoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsCnZpZXdCb3g6IjAgMCA2MCA2MCIsd2lkdGg6IjEwMCUifSxfLksoInBhdGgiLHtjbGFzczoieXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbkljb25CZyIsZDoiTTMwLDBBMzAsMzAsMCwxLDAsNjAsMzAsMzAsMzAsMCwwLDAsMzAsMFoiLGZpbGw6KCk9PkUoKT8/IiMxZjFmMWYifSksXy5LKCJwYXRoIix7ZDoiTTIxLDQxLjY1VjE4TDQzLjcsMjkuODVaIixmaWxsOiIjZmZmIn0pKSl9KSxfLksoWm1hLHtHOmUsVWM6Y30pLF8uSyhhbmEse0c6ZSx3YXRjaE5leHRSZXNwb25zZTooKT0+YygpLndhdGNoTmV4dFJlc3BvbnNlLFV4Om4sY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVmlkZW9XYWxsRW5kc2NyZWVuIn0pLF8uSyhZbWEse0g6YixHOmUsd2F0Y2hOZXh0UmVzcG9uc2U6KCk9PmMoKS53YXRjaE5leHRSZXNwb25zZSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNBdXRvbmF2In0pLF8uSyhfLk8se0E6KCk9PiFsKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoV1Yse0c6ZX0pLApfLksoVlYse2dmOmUsSWI6ITF9KSxfLksoWFYse0c6ZSxGZDotMSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNIaWRkZW5TZWVrQnV0dG9uIn0pLF8uSyhYVix7RzplLEZkOjEsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbiJ9KSxfLksoXy5PLHtBOmgsdGhlbjooKT0+Xy5LKHJXLHtHOmV9KX0pLF8uSyhmbmEse0g6YixHOmUsVWM6YyxGejpFLGRpc2FibGVTY3J1YmJpbmc6Zn0pKX0pKSkpfSwib2UiKSxmbmE9Xy5MKCh7SDphLEc6YixVYzpjLEZ6OmQsZGlzYWJsZVNjcnViYmluZzplfSk9PntmdW5jdGlvbiBmKHIpe3Iuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGg9Xy5OKCgpPT4hYigpLmJhPy5uaCx2b2lkIDAsInBGdERYYiIpLGs9Xy5OKCgpPT4hYigpLmJhPy5pcSx2b2lkIDAsInY0WDVzZSIpLGw9Xy5OKCgpPT5jKCkucGxheWVyT3ZlcmxheVJlbmRlcmVyLHZvaWQgMCwiakxoaFdjIiksbT1fLk4oKCk9PkdTKGwoKSksdm9pZCAwLCJzNjd4U2IiKSxuPV8uTigoKT0+CkVTKGwoKSksdm9pZCAwLCJwQ2lhdSIpLHA9Xy5OKCgpPT4hYigpLmJhPy56cix2b2lkIDAsInN2dXhCIik7cmV0dXJuIF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lciJ9LF8uSyhDVix7TGI6YixoZjptLGNvbmZpZzooKT0+KHtwb3NpdGlvbjoxLEtmOiExLEluOnAoKSxSYTpuKCksZGlzYWJsZVNjcnViYmluZzplKCksWW86KCk9PntiVCgpfSxGbjooKT0+e2NUKGIoKSx7SWM6ITB9KX19KX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzQm90dG9tQmFyIixzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6ZH0pLCJvbjpjbGljayI6Zn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBDb250cm9sc0xlZnRDb250cm9scyJ9LF8uSyhfLk8se0E6KCk9PmIoKS5wbGF5ZXJTdGF0ZT09PTAsdGhlbjooKT0+Xy5LKGFXLHtHOmJ9KSxXOigpPT5fLksoJFYse0c6Yix5czohMH0pfSksCl8uSyhIVix7b3JpZW50YXRpb246Imhvcml6b250YWxfcmlnaHQiLEg6YSxEdjohMCxDcDpfLkJLfHxfLkdLLGJqOiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1ZvbHVtZUNvbnRyb2xzIn0pLF8uSyhwVyx7RzpiLHBsYXllck92ZXJsYXlSZW5kZXJlcjpsLFZ3OiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1RpbWVEaXNwbGF5In0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzUmlnaHRDb250cm9scyJ9LF8uSyhkVyx7Z2Y6YixWcjohMCxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNDYXB0aW9uc0J1dHRvbiJ9KSxfLksoYlcse0c6YixjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNTZXR0aW5nc0J1dHRvbiJ9KSxfLksoXy5PLHtBOmssdGhlbjooKT0+Xy5LKFpWLHtHOmJ9KX0pKSkpfSl9LCJwZSIpO3ZhciBnbmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXQtZW1iZWRzLWluZm8tcGFuZWwtZGV0YWlscy12aWV3LW1vZGVsIix7Y2xhc3M6Inl0RW1iZWRzSW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbEhvc3QifSxfLksoXy5WLHtjbGFzc05hbWU6Inl0RW1iZWRzSW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbEJvZHlUZXh0Iix0ZXh0OigpPT5hKCkuYm9keVRleHR9KSxfLksoXy5nRyx7cGE6KCk9PmEoKS5jdGFCdXR0b25zfHxbXX0sYj0+KGI9KGI9Xy5CKGIsYW1hKSk/Xy5CKHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Yi5ib2R5VGV4dD8uY29udGVudH0sbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTpiPy5pY29uPy5pY29uVHlwZX19XX0scmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6Yj8ub25UYXB9fX19LF8uWkMpOnZvaWQgMCk/Xy5LKF8uQ0Qse2RhdGE6Yn0pOm51bGwpKSwicWUiKTt2YXIgaG5hPV8uTCgoe2RhdGE6YSxvbkNsaWNrOmJ9KT0+Xy5LKCJ5dC1lbWJlZHMtaW5mby1wYW5lbC1vdmVydmlldy12aWV3LW1vZGVsIixudWxsLF8uSygiYnV0dG9uIix7Im9uOmNsaWNrIjpiLGNsYXNzOiJ5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckJ1dHRvbiJ9LF8uSyhfLk8se0E6KCk9PmEoKS5oZWFkZXJJY29uPy5pY29uVHlwZSx0aGVuOigpPT5fLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PmEoKS5oZWFkZXJJY29uPy5pY29uVHlwZX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyVGV4dCJ9LF8uSyhfLlYse3RleHQ6KCk9PmEoKS50aXRsZX0pLF8uSyhfLlYse3RleHQ6KCk9Pih7Y29udGVudDphKCkudGl0bGUmJmEoKS5ib2R5VGV4dD8iIFx1MjAyMiAiOiIifSl9KSxfLksoXy5WLHt0ZXh0OigpPT5hKCkuYm9keVRleHR9KSkpKSwicmUiKTt2YXIgdlc9Xy5MKCh7ZGF0YTphLHByb3BzOmJ9KT0+e2Z1bmN0aW9uIGMoZCl7dmFyIGU9YSgpLmluZm9QYW5lbERldGFpbHNWaWV3TW9kZWw7aWYoZSl7dmFyIGY9e307ZS50aXRsZT8uY29udGVudCYmKGYuaGVhZGVyVGl0bGU9ZS50aXRsZS5jb250ZW50KTtfLnlOKHsuLi5mLEdiOigpPT5fLksoZ25hLHtkYXRhOmV9KSxIYTohMH0pfWQuc3RvcFByb3BhZ2F0aW9uKCl9cmV0dXJuIF8uSygieXRtLWVtYmVkcy1pbmZvLXBhbmVsLXJlbmRlcmVyIix7Y2xhc3M6Xy5QKCJ5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3QiLHt5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RBdXRvaGlkZTooKT0+YigpLnBsYXllclN0YXRlPT09MSx5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RUb3BDb250cm9sc1N0YWNrZWRJblBvcnRyYWl0OigpPT4hJFMoYigpKSYmIWIoKS5iYT8uaGlkZVZpZGVvSW5mbyYmIWIoKS5iYT8ubmh9KSxzdHlsZTpfLklFKHsiYW5pbWF0aW9uLWRlbGF5IjooKT0+CmAke2EoKS5kdXJhdGlvbk1zfHwxRTR9bXNgfSl9LF8uSyhfLk8se0E6KCk9PmEoKS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbCx0aGVuOmQ9Pl8uSyhobmEse2RhdGE6ZCxvbkNsaWNrOmN9KX0pKX0sInNlIik7dlcuaWRvbUNvbXBhdD0hMDt2YXIgd1c9Xy5MKCh7RzphfSk9Pnt2YXIgW2IsY109Xy5KKCJoaWRkZW4iLHZvaWQgMCwiU0JoYkhlIiksZCxlLFtmLGhdPV8uSighMSx2b2lkIDAsIkhnN3huZiIpLFtrLGxdPV8uSighMSx2b2lkIDAsIm5LSGxaZSIpO18uVUooKCk9Pnt0VygpPT09dm9pZCAwJiZ1bGEoKTtlPXNldFRpbWVvdXQoKCk9Pnt0VygpJiZtKCEwKTtsKCEwKX0sMkUzKX0pO18uWXUoKCk9PnttKCExKTtjbGVhclRpbWVvdXQoZSk7Y2xlYXJUaW1lb3V0KGQpfSk7Xy5uRSgoKT0+e0NVKCkmJmYoKSYmKG0oITEpLHNXKCEwKSk7IXRXKCkmJmYoKSYmbSghMSk7dFcoKSYmIWVuYSgpJiYhZigpJiZrKCkmJm0oITApfSwiVkNGQkliIik7dmFyIG09bj0+e2gobik7YSgpLkg/LnNldEF1dG9jcm9wRW5hYmxlZChuKTtjbGVhclRpbWVvdXQoZCk7bj8oYygidmlzaWJsZSIpLGQ9c2V0VGltZW91dCgoKT0+e2MoIiIpfSwzRTMpKTooYygiIiksZD1zZXRUaW1lb3V0KCgpPT57YygiaGlkZGVuIil9LDNFMykpfTtyZXR1cm4gXy5LKCJkaXYiLAp7Y2xhc3M6Xy5QKCJ5dEF1dG9jcm9wQnV0dG9uSG9zdCIse3l0QXV0b2Nyb3BCdXR0b25WaXNpYmxlOigpPT5iKCk9PT0idmlzaWJsZSIseXRBdXRvY3JvcEJ1dHRvbkhpZGRlbjooKT0+YigpPT09ImhpZGRlbiJ9KX0sXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIix0ZXh0OntydW5zOlt7dGV4dDpfLiROLlBzfV19fSxjbGFzc05hbWU6Inl0QXV0b2Nyb3BCdXR0b25BdXRvQ3JvcEJ1dHRvbiIscHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57bSghZigpKTtzVyghZigpKX19KSxXOigpPT5fLksoXy5wTyx7ZGF0YTp7c3R5bGU6IlNUWUxFX0xJR0hUX1RFWFQiLHNpemU6IlNJWkVfREVGQVVMVCIsdGV4dDp7cnVuczpbe3RleHQ6IjEwMCUifV19fSxjbGFzc05hbWU6Inl0QXV0b2Nyb3BCdXR0b25BdXRvQ3JvcEJ1dHRvbiIscHJldmVudERlZmF1bHQ6ITAsCnN0b3BQcm9wYWdhdGlvbjohMCx0ZzooKT0+e20oIWYoKSk7c1coIWYoKSl9fSl9KSl9LCJ1ZSIpO3dXLmlkb21Db21wYXQ9ITA7dmFyIHhXPV8uTCgoe2RhdGE6YSxGZTpifSk9Pl8uSygieXRtLWVuZHNjcmVlbi12aWRlby1yZW5kZXJlciIsbnVsbCxfLksoXy5mamEse2RhdGE6KCk9Pih7dGh1bWJuYWlsOmEoKS50aHVtYm5haWwsdGh1bWJuYWlsT3ZlcmxheXM6YSgpLnRodW1ibmFpbE92ZXJsYXlzLHZpZGVvSWQ6YSgpLnZpZGVvSWQsbGVuZ3RoVGV4dDphKCkubGVuZ3RoVGV4dCxwdWJsaXNoZWRUaW1lVGV4dDphKCkucHVibGlzaGVkVGltZVRleHQsbmF2aWdhdGlvbkVuZHBvaW50OmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsaGVhZGxpbmU6YSgpLnRpdGxlfSksRmU6Yn0pKSwidmUiKTt4Vy5pZG9tQ29tcGF0PSEwO3ZhciB6Vz1fLkwoKHt3YXRjaE5leHRSZXNwb25zZTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdCIsaWRvbUtleToiZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlciJ9LF8uSyhfLmdHLHtwYTooKT0+TVMoYT8uKCkpfSxiPT5fLksoeVcse3ZpZGVvOmJ9KSkpLCJ3ZSIpO3pXLmlkb21Db21wYXQ9ITA7dmFyIHlXPV8uTCgoe3ZpZGVvOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNSZWNvbW1lbmRhdGlvbiJ9LF8uSyhfLlcse2RhdGE6YX0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKHhXLHtkYXRhOmIsRmU6ITB9KX0pKSwieGUiKTt5Vy5pZG9tQ29tcGF0PSEwO3ZhciBCVz1fLkwoYT0+Xy5LKCJwbGF5ZXItZnVsbHNjcmVlbi10b3AtY29udHJvbHMiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzSG9zdCIsc3R5bGU6Xy5JRSh7dmlzaWJpbGl0eTooKT0+YS5HKCkuTmE/InZpc2libGUiOiJoaWRkZW4ifSl9LF8uSygiaDIiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNvbnRyb2xzVmlkZW9UaXRsZSJ9LF8uSyhfLk8se0E6KCk9PmEud2F0Y2hOZXh0UmVzcG9uc2U/LigpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy52aWRlb0RldGFpbHM/LnBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlcj8udGl0bGUsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSxfLksoQVcse0c6YS5HfSkpLCJ5ZSIpO0JXLmlkb21Db21wYXQ9ITA7CnZhciBBVz1fLkwoKHtHOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNsb3NlQnV0dG9uV3JhcHBlciJ9LF8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIixpY29uOntpY29uVHlwZToiQ0xPU0UifSxhY2Nlc3NpYmlsaXR5OntsYWJlbDoiQ2xvc2UifSxhY2Nlc3NpYmlsaXR5RGF0YTp7YWNjZXNzaWJpbGl0eURhdGE6e2xhYmVsOiJDbG9zZSJ9fX0scHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57YSgpLlMoe05hOiExfSk7Xy5NTygiLmZ1bGxzY3JlZW4tbW9yZS12aWRlb3MtZW5kcG9pbnQiKTtjVChhKCkpfX0pKSwiemUiKTtBVy5pZG9tQ29tcGF0PSEwO3ZhciBDVz1fLkwoYT0+e3ZhciBiPSgpPT5hLkcoKS5pc0Z1bGxzY3JlZW58fGEuRygpLmJhPy5FZSxjPSgpPT57dmFyIGY9YS5HKCk7cmV0dXJuIF8uYUwoImZ1bGxzY3JlZW4tY29udHJvbHMiLHtleHBhbmRlZDpmLk5hLCJzdHlsZS1yZWNvbW1lbmRhdGlvbnMtaW4tcG9ydHJhaXQiOmYuYmE/LkVlfHxfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSl9LGQ9KCk9Pnt2YXIgZj1hLkcoKTtyZXR1cm5gCiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgke2YuSmZ9cHgpOwogICAgICB0cmFuc2l0aW9uOiAke2YuV2Q/Im5vbmUiOiJ0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3R0b20gMC4ycyBlYXNlIn07CiAgICAgIHZpc2liaWxpdHk6ICR7Zi5KZnx8Zi5OYT8idmlzaWJsZSI6ImluaGVyaXQifTsKICAgICAgcG9pbnRlci1ldmVudHM6ICAke2YuTmE/ImFsbCI6Im5vbmUifTsKICAgIGB9LGU9KCk9Pl8ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJmEuYXV0b2Nyb3BDb25maWc/LigpO3JldHVybiBfLksoInBsYXllci1mdWxsc2NyZWVuLWNvbnRyb2xzIix7aGlkZGVuOiFiLGNsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuQ29udHJvbHNIb3N0In0sXy5LKF8uTyx7QTpiLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKEJXLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSksXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyh3Vyx7RzphLkd9KX0pLF8uSyhLVix7RzphLkcsd2F0Y2hOZXh0UmVzcG9uc2U6YS53YXRjaE5leHRSZXNwb25zZSx0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI6YS50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJ9KSxfLksoImRpdiIse2NsYXNzOmMsc3R5bGU6ZH0sXy5LKHpXLHt3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSkpKX0pKX0sIkFlIik7Q1cuaWRvbUNvbXBhdD0hMDt2YXIgRFc9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnVFKCJ5dG0tcGFpZC1jb250ZW50LW92ZXJsYXktcmVuZGVyZXIiKTtyZXR1cm4gXy5LKCJ5dG0tcGFpZC1jb250ZW50LW92ZXJsYXktcmVuZGVyZXIiLHtjbGFzczoieXRtUGFpZENvbnRlbnRPdmVybGF5SG9zdCIsZWw6Yiwib246YW5pbWF0aW9uZW5kIjpmdW5jdGlvbihjKXtiLnZhbHVlLmNsYXNzTGlzdC5hZGQoInl0bVBhaWRDb250ZW50T3ZlcmxheUhpZGRlbiIpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCxjbGFzc05hbWU6Inl0bVBhaWRDb250ZW50T3ZlcmxheUxpbmsifSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsdGhlbjooKT0+Xy5LKCJzcGFuIixudWxsLF8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGV9KSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1QYWlkQ29udGVudE92ZXJsYXlUZXh0In0sXy5LKF8uViwKe3RleHQ6KCk9PmEoKS50ZXh0fSkpLF8uSyhfLk8se0E6KCk9PmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsdGhlbjooKT0+Xy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQifSl9KSkpfSwiQmUiKTtEVy5pZG9tQ29tcGF0PSEwO3ZhciBFVz1fLkwoYT0+e3ZhciBiPSgpPT5hLkcoKS5IPy5nZXRTaXplPy4oKT8ud2lkdGg7cmV0dXJuIF8uSygicGxheWVyLWJvdHRvbS1jb250cm9scyIse2NsYXNzOl8uUCgieXR3UGxheWVyQm90dG9tQ29udHJvbHNIb3N0Iix7ImRlbGhpLXBsYXllciI6Xy54KCJtd2ViX3dhdGNoX2RlbGhpX3BsYXllciIpfSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1jb250cm9scy1ib3R0b20gcGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0In0sXy5LKF8uTyx7QTooKT0+IShiKCkmJmIoKTwzMjApLHRoZW46KCk9Pl8uSyhwVyx7RzphLkcsU206YS5TbSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KX0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgicGxheWVyLWNvbnRyb2xzLWJvdHRvbSIsInBsYXllci1jb250cm9scy1ib3R0b20tcmlnaHQiKX0sXy5LKF8uTyx7QTooKT0+IShhLkcoKS5iYT8uaXF8fGIoKSYmYigpPDI0MCksdGhlbjooKT0+Xy5LKCJkaXYiLAp7Y2xhc3M6Inl0d1BsYXllckJvdHRvbUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbldyYXBwZXIifSxfLksoWlYse0c6YS5HfSkpfSkpKX0sIkNlIik7RVcuaWRvbUNvbXBhdD0hMDt2YXIgRlc9Xy5MKGE9Pnt2YXIge0c6Yix3YXRjaE5leHRSZXNwb25zZTpjfT1fLkRDKGEse3dhdGNoTmV4dFJlc3BvbnNlOnZvaWQgMH0pO3JldHVybiBfLksoXy5PLHtBOigpPT5IUyhiKCksQVMoYygpKSksdGhlbjooKT0+Xy5LKCJwbGF5ZXItZW5kc2NyZWVuIix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5Db250YWluZXIifSxfLksoImRpdiIse2lkOiJwbGF5ZXItZW5kc2NyZWVuIixjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuIiwiZGF0YS1oYXMtdGltZXItY291bnRkb3duIjohMH0sXy5LKGluYSx7cHJvcHM6YixwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjooKT0+QlMoYygpKX0pLF8uSyhqbmEse3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6KCk9PkJTKGMoKSl9KSxfLksoa25hLHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOigpPT4KQlMoYygpKX0pKSkpfSl9LCJEZSIpO0ZXLmlkb21Db21wYXQ9ITA7CnZhciBpbmE9Xy5MKGE9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVsIn0sXy5LKGxuYSx7Li4uYX0pLF8uSyhtbmEsey4uLmF9KSksIkVlIiksbG5hPV8uTChhPT57dmFyIHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmN9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSksW2QsZV09Xy4kTi5Pcy5zcGxpdCgic2Vjb25kc19wbGFjZWhvbGRlciIpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5IZWFkZXIiLHJvbGU6InRleHQifSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5iKCkuemYmJmMoKX0sKCk9Pl8uSyhfLlYse3RleHQ6KCk9PmMoKT8ucGF1c2VUZXh0fSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSygic3BhbiIse2lkOiJ1cG5leHQtaW4tbWVzc2FnZSJ9LGQsXy5LKG5uYSx7Li4uYX0pLGUpKSkpfSwiRmUiKSxubmE9Xy5MKGE9Pnt2YXIgYj0KYS5wcm9wcztyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bk51bWJlciIsImFyaWEtaGlkZGVuIjohMH0sKCk9PmIoKS55Zil9LCJHZSIpLG1uYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+YigpPy5jbG9zZUJ1dHRvbix0aGVuOmM9Pl8uSyhfLlcse2RhdGE6Y30se3RodW1ibmFpbE92ZXJsYXlUaW1lU3RhdHVzUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8uVlAse2RhdGE6ZH0pLGJ1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsdGc6KCk9PntRVShhKX0sYnV0dG9uT3ZlcnJpZGVzOntzdHlsZToib3ZlcmxheSJ9fSl9KX0pfSwiSGUiKSxqbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7CnJldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5Db3VudGRvd25Db250YWluZXIifSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YigpPy5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LGNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuQ3VlZFZpZGVvQ29udGFpbmVyIixhcmlhTGFiZWw6KCk9Pl8uREooYigpPy52aWRlb1RpdGxlPy5hY2Nlc3NpYmlsaXR5KX0sXy5LKG9uYSx7Li4uYX0pLF8uSyhwbmEsey4uLmF9KSkpfSwiSWUiKSxvbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5In0sXy5LKF8uWFAse3RodW1ibmFpbERldGFpbHM6KCk9PmIoKT8uYmFja2dyb3VuZCxNZDp2b2lkIDAsVGI6ITEsCmNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsQ29udGFpbmVyIn0pLF8uSyhfLlcse2RhdGE6KCk9PmIoKT8udGh1bWJuYWlsT3ZlcmxheXN9LHt0aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyOih7ZGF0YTpjfSk9Pl8uSyhfLlZQLHtkYXRhOmMsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5UaHVtYm5haWxPdmVybGF5cyIsYXJpYUhpZGRlbjohMH0pfSkpfSwiSmUiKSxwbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblZpZGVvSW5mbyIsImFyaWEtaGlkZGVuIjohMH0sXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmIoKT8udmlkZW9UaXRsZX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0F1dGhvciJ9LApfLksoXy5WLHt0ZXh0OigpPT5iKCk/LmJ5bGluZSxtYTohMH0pKSl9LCJLZSIpLGtuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KSxjPXtzdHlsZToib3ZlcmxheSJ9O3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5CdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5iKCk/LmNhbmNlbEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b24iLHRnOigpPT57UVUoYSl9LGJ1dHRvbk92ZXJyaWRlczpjfSl9KSxfLksoXy5XLHtkYXRhOigpPT5iKCk/Lm5leHRCdXR0b259LHtidXR0b25SZW5kZXJlcjooe2RhdGE6ZH0pPT5fLksoXy5wTyx7ZGF0YTpkLGNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uIiwKYnV0dG9uT3ZlcnJpZGVzOmN9KX0pKX0sIkxlIik7dmFyIEdXPV8uTChhPT57dmFyIGI9Xy5rRygkVCksYz1fLlAoInl0d1BsYXllck1pZGRsZUNvbnRyb2xzSG9zdCIsInBsYXllci1jb250cm9scy1taWRkbGUiLHsicHJldmVudC1jb250cm9scy1jb2xsaXNpb24iOigpPT57dmFyIGg9Yj8uKCk7aWYoIWg/LmlzUmVhZHk/LigpKXJldHVybiExO2g9aD8uZ2V0U2l6ZSgpPy5oZWlnaHQ7aD0hIWgmJmg8Mjc1O3ZhciBrPWEuRygpLmJhPy52b2x1bWVDb250cm9sVHlwZT09PSJ2b2x1bWUtc2xpZGVyIjtyZXR1cm4gaHx8a319KSxkPSgpPT57dmFyIGg9YS5HKCk7cmV0dXJuIGgucGxheWVyU3RhdGU9PT0zfHxoLnBsYXllclN0YXRlPT09LTF9LGU9KCk9Pnt2YXIgaD1hLkcoKTt2YXIgaz1iPy4oKTtYUShrKXx8IWs/LmlzUmVhZHk/LigpP2s9ITE6aD8uYmE/LnZuP2s9ITA6KGg9ay5nZXRWaWRlb0RhdGEoKSxrPSFoLmlzTGlzdGVkfHxoLnlwY1ByZXZpZXd8fGguaXNMaXZlfHx0eXBlb2Ygay5nZXRMb29wUmFuZ2U9PT0iZnVuY3Rpb24iJiYKay5nZXRMb29wUmFuZ2UoKT8hMDohMSk7cmV0dXJuIWt9LGY9Xy5QKCJwbGF5ZXItY29udHJvbHMtbWlkZGxlLWNvcmUtYnV0dG9ucyIseyJzY3JlZW5yZWFkZXItc2FmZS1oaWRlLW1pZGRsZS1idXR0b25zIjpkfSk7cmV0dXJuIF8uSygicGxheWVyLW1pZGRsZS1jb250cm9scyIse2NsYXNzOmN9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksocW5hLG51bGwpfSksXy5LKCJkaXYiLHtjbGFzczpmfSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKHJuYSx7RzphLkcsd2F0Y2hOZXh0UmVzcG9uc2U6YS53YXRjaE5leHRSZXNwb25zZX0pfSksXy5LKFhWLHtGZDotMSxHOmEuRyxjbGFzc05hbWU6Inl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b24ifSksXy5LKF8uTyx7QTooKT0+e3ZhciBoPWEuRygpO3JldHVybiF1UyhoKX0sdGhlbjooKT0+Xy5LKCRWLHtHOmEuR30pLFc6KCk9Pl8uSyhhVyx7RzphLkd9KX0pLF8uSyhYVix7RmQ6MSxHOmEuRyxjbGFzc05hbWU6Inl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b24ifSksCl8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoc25hLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSl9KSkpfSwiTWUiKTtHVy5pZG9tQ29tcGF0PSEwOwp2YXIgcW5hPV8uTCgoKT0+Xy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLXNwaW5uZXIifSxfLksoImRpdiIse2NsYXNzOiJzcGlubmVyIn0pKSwiTmUiKSxybmE9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPSgpPT4hYS5HKCkuYmE/LnZuO3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9QUkVWSU9VUyIsYXJpYUxhYmVsOl8uJE4uTXQsYXJpYURpc2FibGVkOmMsY2xhc3NOYW1lOl8uUCgicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIix7Imljb24tZGlzYWJsZSI6Y30pLFVkOjM2ODQwLGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOiJQTEFZRVJfUFJFVklPVVMifSkpLG9uY2xpY2s6KCk9Pnt2YXIgZD1hLkcoKSxlPWI/LigpO2QucmMmJmU/LnVuTXV0ZSgpO3ZhciBmPWEud2F0Y2hOZXh0UmVzcG9uc2U/LigpLGg9QVMoZik7CmlmKFhRKGUpJiZmJiZoKXtpZihkPVJVKGgpLlVhKV8uJEQoZCksXy5BSihkLHt9LCExKX1lbHNlIGY9YS5HKCkuYmE/LnZuLHBqYShjKCksZSxmKSxkLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDApfX0pfSwiT2UiKSxzbmE9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPSgpPT57dmFyIGQ9Yj8uKCk7aWYoIWQ/LmlzUmVhZHk/LigpKXJldHVybiEwO3ZhciBlPWQ/LmdldFBsYXlsaXN0KCk7ZD1kPy5nZXRQbGF5bGlzdEluZGV4KCk7dmFyIGY9ITE7ZSYmZCE9PXZvaWQgMCYmKGY9ZD49ZS5sZW5ndGgtMSk7cmV0dXJuIGZ9O3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9ORVhUIixhcmlhTGFiZWw6Xy4kTi5LdCxhcmlhRGlzYWJsZWQ6YyxVZDozNjg0MSxjb250ZW50OigpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC12aXNpYmxlLWFyZWEifSxfLksoXy5NRCx7aWNvbjoiUExBWUVSX05FWFQifSkpLGNsYXNzTmFtZTpfLlAoInBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiIsCnsiaWNvbi1kaXNhYmxlIjpjfSksb25jbGljazooKT0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZC5yYyYmZT8udW5NdXRlKCk7dmFyIGY9YS53YXRjaE5leHRSZXNwb25zZT8uKCksaD1BUyhmKTtpZihYUShlKSYmZiYmaCl7aWYoZD1SVShoKS5uZXh0KV8uJEQoZCksXy5BSihkLHt9LCExKX1lbHNlIGMoKXx8KGU/Lm5leHRWaWRlbygpLGQuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCkpfX0pfSwiUGUiKTt2YXIgSFc9Xy5MKCh7dmlkZW9EZXRhaWxzOmEsRzpifSk9PntmdW5jdGlvbiBjKFQpe0MoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGQoVCl7RygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZShUKXtDKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBmKFQpe0U/LnZhbHVlPy5jb250YWlucyhULnRhcmdldCl8fEcoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoVCl7VC5wcmV2ZW50RGVmYXVsdCgpO1hTKDIzODUxKTt2YXIgYmE9U1UoYixEKTtpZihiYSl7dmFyIGFhPWIoKT8uSD8uZ2V0Q3VycmVudFRpbWUoKTtfLkFKKGJhLHtwYXJhbXM6e3RpbWVzdGFtcDphYT9NYXRoLmZsb29yKGFhKS50b1N0cmluZygpOnZvaWQgMH19LCExLHtldmVudDpUfSl9VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBrKFQpe1UoVCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBsKFQpe1QucHJldmVudERlZmF1bHQoKTt6KCl8fEYoKSYmRigpPDMyMD8KVShUKTpDKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBtKFQpe1QucHJldmVudERlZmF1bHQoKTtHKDI1MDApO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gbihUKXtHKDI1MDApO1Quc3RvcFByb3BhZ2F0aW9uKCl9dmFyIFtwLHJdPV8uSighMSx2b2lkIDAsImlaTVFtZiIpLFt0LHZdPV8uSighMSx2b2lkIDAsIkNoaEgwYiIpLHo9dCxFPV8udkUoImRpdiIpLEEsRj0oKT0+YigpLkg/LmdldFNpemU/LigpPy53aWR0aCxDPSgpPT57RigpJiZGKCk8MzIwfHwocighMCksQSYmY2xlYXJUaW1lb3V0KEEpLHooKXx8KGJUKCksdighMCkpKX0sRz0oVD01MDApPT57RigpJiZGKCk8MzIwfHwocighMSksQT1zZXRUaW1lb3V0KCgpPT57IXAoKSYmeigpJiYodighMSksY1QoYigpLHtJYzohMH0pKX0sVCkpfSxEPSgpPT5fLkIoYT8uKCkuY29sbGFwc2VkUmVuZGVyZXIsbVYpPy50aXRsZSxIPSgpPT5hPy4oKS5jaGFubmVsVGh1bWJuYWlsRW5kcG9pbnQsUj0oKT0+YT8uKCkuY2hhbm5lbFRodW1ibmFpbCwKTT0oKT0+Xy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy50aXRsZT8/KF8ueCgiZW1iZWRzX3ZpZF9kZXRhaWxzX2ZhbGxiYWNrX2NoYW5uZWxfbmFtZV9rcyIpP3ZvaWQgMDpfLkIoYT8uKCkuY29sbGFwc2VkUmVuZGVyZXIsbVYpPy5zdWJ0aXRsZSksUz0oKT0+Xy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy5zdWJ0aXRsZSxZPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnN1YnNjcmliZUJ1dHRvbixwYT1fLk4oKCk9Pl8uQihTVShiLEQpLF8uVkQpPy51cmwsdm9pZCAwLCJ5VEhOaiIpLG9hPV8uTigoKT0+Xy5CKGE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCxfLlZEKT8udXJsLHZvaWQgMCwicHdsM0ljIiksVT1UPT57VC5wcmV2ZW50RGVmYXVsdCgpO2lmKGE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCYmYT8uKCkpe3ZhciBiYT1hPy4oKS5jaGFubmVsVGh1bWJuYWlsRW5kcG9pbnQ7WFMoMzY5MjUpO18uQUooYmEse30sITEsCntldmVudDpUfSl9fSxoYT1fLlAoInl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXIiLHt5dG1WaWRlb0luZm9Mb2dvRW5hYmxlZDooKT0+ISFhPy4oKS5jaGFubmVsVGh1bWJuYWlsfSksbWE9Xy5QKCJ5dG1WaWRlb0luZm9PdmVybGF5Iix7eXRtVmlkZW9JbmZvRXhwYW5kZWQ6KCk9PnooKX0pLHRhPSgpPT4hIV8uQihhPy4oKS5leHBhbmRlZFJlbmRlcmVyLG5WKT8uc3Vic2NyaWJlQnV0dG9uJiYhYigpLmJhPy5vaDtyZXR1cm4gXy5LKCJlbWJlZGRlZC1wbGF5ZXItdmlkZW8tZGV0YWlscyIse2NsYXNzOiJ5dG1WaWRlb0luZm9Ib3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvVmlkZW9EZXRhaWxzQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpoYX0sXy5LKF8uTyx7QTpELHRoZW46KCk9Pl8uSyhfLk8se0E6cGEsdGhlbjooKT0+Xy5LKCJhIix7Im9uOmNsaWNrIjpoLGNsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb1RpdGxlIixlbDpfLnJGKFQ9PntXUyhULAoyMzg1MSl9KSxocmVmOnBhfSxfLksoXy5WLHt0ZXh0OkQsY2xhc3NOYW1lOl8uUCgieXRtVmlkZW9JbmZvTGluayIpLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKSxXOigpPT5fLksoInNwYW4iLHtjbGFzczoieXRtVmlkZW9JbmZvVmlkZW9UaXRsZSJ9LF8uSyhfLlYse3RleHQ6RCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSl9KX0pLF8uSyhfLk8se0E6Xy54KCJlbWJlZHNfdmlkX2RldGFpbHNfZmFsbGJhY2tfY2hhbm5lbF9uYW1lX2tzIik/SDpNLHRoZW46KCk9Pl8uSyhfLk8se0E6b2EsdGhlbjooKT0+Xy5LKCJhIix7Im9uOmNsaWNrIjprLGNsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsVGl0bGUiLGhyZWY6b2F9LF8uSyhfLlYse3RleHQ6TSxjbGFzc05hbWU6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIikseWM6ITAsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLFc6KCk9Pl8uSygic3BhbiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsVGl0bGUifSxfLksoXy5WLHt0ZXh0Ok0seWM6ITAsCnViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pfSkpLF8uSyhfLk8se0E6Uix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVyIixlbDpFLCJvbjpmb2N1c2luIjplLCJvbjpmb2N1c291dCI6Ziwib246bW91c2VvdmVyIjpjLCJvbjptb3VzZW91dCI6ZH0sXy5LKCJidXR0b24iLHsib246dG91Y2hzdGFydCI6bCwib246dG91Y2hlbmQiOm0sIm9uOmNsaWNrIjprLGNsYXNzOl8uUCgieXRtVmlkZW9JbmZvTGluayIsInl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXIiKSxlbDpfLnJGKFQ9PntXUyhULDM2OTI1KX0pfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczpSLGNsYXNzTmFtZToieXRtVmlkZW9JbmZvQ2hhbm5lbExvZ28iLGFsdDoidGh1bWJuYWlsLWltYWdlIn0pKSxfLksoImRpdiIse2NsYXNzOm1hLCJvbjp0b3VjaHN0YXJ0IjpDLCJvbjp0b3VjaGVuZCI6bn0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvQ2hhbm5lbEluZm8iLApyb2xlOiJ0ZXh0In0sXy5LKF8uVix7dGV4dDpNLGNsYXNzTmFtZToieXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxlIix5YzohMCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSxfLksoXy5WLHt0ZXh0OlMsY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9GbHlvdXRDaGFubmVsU3VidGl0bGUiLHljOiEwLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKSxfLksoXy5PLHtBOnRhLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiJ9LF8uSyhfLlcse2RhdGE6WX0se3N1YnNjcmliZUJ1dHRvblJlbmRlcmVyOmZXfSkpfSkpKX0pKSl9LCJRZSIpO0hXLmlkb21Db21wYXQ9ITA7dmFyIFRVPV8uJE4uQXQsT2xhPV8uJE4uZ3UsdG5hPV8uTCgoe1F5OmEsb25DbGljazpiLEpuOmMsQnM6ZH0pPT57dmFyIGU9Xy51RSgiYnV0dG9uIixoPT57V1MoaCwyODY2Mil9KSxmPSgpPT5VVShhKCksYz8uKCksZD8uKCkpLmFyaWFMYWJlbDtyZXR1cm4gXy5LKCJ5dG0tbXV0ZS1idXR0b24iLHtjbGFzczoieXRtTXV0ZUJ1dHRvbkhvc3QifSxfLksoImJ1dHRvbiIse2VsOmUsY2xhc3M6Inl0bU11dGVCdXR0b25CdXR0b24iLHRpdGxlOmYsImFyaWEtbGFiZWwiOmYsIm9uOmNsaWNrIjpmdW5jdGlvbihoKXtYUygyODY2Mik7Yj8uKGgpO2guc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PlVVKGEoKSxjPy4oKSxkPy4oKSkuaWNvbk5hbWV9KSkpKX0sIlJlIik7dmFyIElXPV8uTCgoe0hCOmEsV3E6YixKbjpjLEJzOmQsY2xhc3NOYW1lOmV9KT0+Xy5LKCJ5dC1tdXRlLXRvZ2dsZS1idXR0b24iLHtjbGFzczplfSxfLksodG5hLHtReTooKT0+e3ZhciBmPWEoKTtyZXR1cm4gZi5yY3x8Zi52b2x1bWU9PT0wPzA6Zi52b2x1bWU+NTA/MToyfSxvbkNsaWNrOmY9Pnt2YXIgaD1hKCkuSDtoJiYoaC5pc011dGVkKCk/aC51bk11dGUoKTpoLm11dGUoITEpKTtiPy4oZil9LEpuOigpPT4hIWM/LigpLEJzOigpPT4hIWQ/LigpfSkpLCJTZSIpO0lXLmlkb21Db21wYXQ9ITA7dmFyIFZVO3ZhciB1bmE9Xy5MKCh7ZW5hYmxlZDphLGFyaWFMYWJlbDpiLG9uQ2xpY2s6Y30pPT5fLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpiLCJhcmlhLXByZXNzZWQiOmEsIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtjPy4oZCk7ZC5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3M6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25Ib3N0In0sXy5LKF8uTUQse2ljb246KCk9PmEoKT8iQVVUT05BVl9PTl9UT0dHTEVfU1BBTk5FUiI6IkFVVE9OQVZfT0ZGX1RPR0dMRV9TUEFOTkVSIixjbGFzc05hbWU6KCk9PmEoKT8ieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT24iOiJ5dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYifSksXy5LKF8uTUQse2ljb246KCk9PmEoKT8iUExBWV9DSVJDTEVfRklMTEVEIjoiUEFVU0VfQ0lSQ0xFX0ZJTExFRCIsY2xhc3NOYW1lOigpPT5hKCk/Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbiI6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb24ifSkpLAoiVGUiKTt2YXIgSlc9Xy5MKCh7RzphLEN1OmJ9KT0+e18uQ1EoYixlPT57ZSYmZS5lbmFibGVkIT09dm9pZCAwJiZlLmVuYWJsZWQhPT1hKCkuYXV0b25hdkVuYWJsZWQmJlhVKGEoKSxlLmVuYWJsZWQsITEpfSk7dmFyIGM9Xy5OKCgpPT5hKCkuYXV0b25hdkVuYWJsZWQ/Xy5ESihiKCkuZW5hYmxlZEFjY2Vzc2liaWxpdHlEYXRhKTpfLkRKKGIoKS5kaXNhYmxlZEFjY2Vzc2liaWxpdHlEYXRhKSx2b2lkIDAsIlE5Z3Z6YyIpLGQ9Xy5OKCgpPT5hKCkuYXV0b25hdkVuYWJsZWQsdm9pZCAwLCJJUUNaa2YiKTtyZXR1cm4gXy5LKCJwbGF5ZXItYXV0b25hdi10b2dnbGUiLHtjbGFzczoieXR3UGxheWVyQXV0b25hdlRvZ2dsZUhvc3QifSxfLksodW5hLHtlbmFibGVkOmQsYXJpYUxhYmVsOmMsb25DbGljazplPT57dmFyIGY9YSgpLGg9Zi5hdXRvbmF2RW5hYmxlZDtYVShmLCFmLmF1dG9uYXZFbmFibGVkLCEwKTt2YXIgaz1iKCk7IWgmJmsub25FbmFibGVkQ29tbWFuZD9fLkFKKGsub25FbmFibGVkQ29tbWFuZCwKaywhMCk6aCYmay5vbkRpc2FibGVkQ29tbWFuZCYmXy5BSihrLm9uRGlzYWJsZWRDb21tYW5kLGssITApO1BsYShmLGIoKSk7dVMoZil8fGNUKGYse0ljOiEwfSk7ZS5zdG9wUHJvcGFnYXRpb24oKX19KSl9LCJVZSIpO0pXLmlkb21Db21wYXQ9ITA7dmFyIExXPV8uTChhPT57dmFyIGI9KCk9Pk5TKGEucGxheWVyT3ZlcmxheVJlbmRlcmVyPy4oKSxhLnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uKCkpLGM9KCk9PmIoKSYmIWEuRygpLmJhPy5oaWRlVmlkZW9JbmZvO3JldHVybiBfLksoInBsYXllci10b3AtY29udHJvbHMiLHtjbGFzczoieXR3UGxheWVyVG9wQ29udHJvbHNIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy10b3AiLHt5dHdQbGF5ZXJUb3BDb250cm9sc0NvbnRhaW5lcldpdGhFbWJlZGRlZFZpZGVvRGV0YWlsczpjfSksIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtkLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSyhIVyx7dmlkZW9EZXRhaWxzOmIsRzphLkd9KX0pLF8uSyhfLk8se0E6KCk9PiFhLkcoKS5iYT8ubmgmJiEkUyhhLkcoKSksdGhlbjooKT0+Xy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHQiLAoicGxheWVyLWNvbnRyb2xzLXRvcC1yaWdodCIse3l0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzUGxheWVyQ29udHJvbHNUb3BSaWdodDpjfSl9LF8uSyhLVyx7RzphLkcscGxheWVyT3ZlcmxheVJlbmRlcmVyOmEucGxheWVyT3ZlcmxheVJlbmRlcmVyfSkpLFc6KCk9Pl8uSyhLVyx7RzphLkcscGxheWVyT3ZlcmxheVJlbmRlcmVyOmEucGxheWVyT3ZlcmxheVJlbmRlcmVyfSl9KX0pKSl9LCJWZSIpO0xXLmlkb21Db21wYXQ9ITA7CnZhciB2bmE9KGEsYik9Pl8uSyhkVyx7Z2Y6YSxWcjohMCxXcTpifSksS1c9Xy5MKCh7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpifSk9Pnt2YXIgYz0oKT0+YSgpLkg7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+YSgpLmJhPy52b2x1bWVDb250cm9sVHlwZT09PSJ2b2x1bWUtc2xpZGVyIn0sKCk9Pl8uSyhIVix7b3JpZW50YXRpb246InZlcnRpY2FsX2Rvd24iLGJqOiEwLEg6Y30pKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBkPWEoKS5IPy5nZXRTaXplKCksZT1kPy53aWR0aCYmZC53aWR0aD49MjUwO2Q9ZD8uaGVpZ2h0JiZkLmhlaWdodD49MjAwO3JldHVybiBhKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09Im11dGUtYnV0dG9uIiYmZSYmZH19LCgpPT5fLksoSVcse0hCOmEsSm46ITB9KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKF8uSUIsbnVsbCkpKSxfLksoXy5PLHtBOigpPT4hIXpTKGI/LigpKSx0aGVuOigpPT5fLksoSlcsCntHOmEsQ3U6KCk9PnpTKGI/LigpKX0pfSksdm5hKGEsZnVuY3Rpb24oKXtjVChhKCkse0ljOiEwfSl9KSxfLksoXy5PLHtBOigpPT57dmFyIGQ9YSgpLkg/LmdldFNpemUoKTtkPWQ/LndpZHRoJiZkLndpZHRoPj0zMjB8fCFhKCkuYmE/Lm9oO3JldHVybiEhYSgpLnRhLlNqJiZkfSx0aGVuOigpPT5fLksoYlcse0c6YX0pfSkpfSwiV2UiKTtLVy5pZG9tQ29tcGF0PSEwO3ZhciBNVz1fLkwoYT0+e2Z1bmN0aW9uIGIoVCl7VC5wb2ludGVyVHlwZT09PSJtb3VzZSImJihsKCkuUyh7ZWE6ITB9KSxjVChsKCkse0ljOiEwfSkpfWZ1bmN0aW9uIGMoVCl7S1UoVCxsKCkpfWZ1bmN0aW9uIGQoVCl7dmFyIGJhPWwoKTtpZih4VShUKSl7VC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYWE9VC50b3VjaGVzWzBdO0hVPWFhLnBhZ2VYO3pVPWFhLnBhZ2VZO18ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJlQudG91Y2hlcy5sZW5ndGg9PT0yJiYoQlU9d1UoVCkpO0hUKGJhLFQudG91Y2hlcy5sZW5ndGgpO2JhLmJhPy5NaXx8YmEuTmF8fGJhLldkfHxiYS5zYnx8Xy5URSgpfHwoRVU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vdmllX3BsYXllciIpKSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNpdGlvbjoiIix0cmFuc2Zvcm1PcmlnaW46IiJ9KX19ZnVuY3Rpb24gZShUKXt2YXIgYmE9bCgpO2lmKHhVKFQpKXtULnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhYT0KVC50b3VjaGVzWzBdO0FVPSEwO0dVPWFhLnBhZ2VYO3lVPWFhLnBhZ2VZO2FhPXtsazpHVS1IVSxPZDp5VS16VX07YWEuT2Q9PT0wJiZhYS5saz09PTB8fF8uTUUoKSYmIWJhLmlzRnVsbHNjcmVlbnx8YmEuYmE/Lk1pfHxULnByZXZlbnREZWZhdWx0KCk7SVQoVCxhYSxiYSk7Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmVC50b3VjaGVzLmxlbmd0aD09PTImJkJVIT09MCYmTWF0aC5hYnMod1UoVCktQlUpPjEwJiZEVSghMCk7IWJhLmJhPy5NaSYmKGJhLk5hfHxiYS5XZHx8YmEuc2J8fF8uVEUoKXx8Xy5NRSgpJiYhYmEuaXNGdWxsc2NyZWVufHwoYmEuUyh7ZWE6ITF9KSxUPWFhLk9kLGJhLmlzRnVsbHNjcmVlbiYmKFQqPS0xKSwhYmEuaXNGdWxsc2NyZWVuJiZUPjAmJihUPTApLFQ8LTEwMCYmKFQ9LTEwMCksYmEuaXNGdWxsc2NyZWVuP0VVJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2Zvcm06YHNjYWxlKCR7MS0uMDUqTWF0aC5taW4oNCpNYXRoLmFicyhULy0xMDApLAoxKX0pIHRyYW5zbGF0ZVkoJHstVH1weClgfSk6RVUmJk9iamVjdC5hc3NpZ24oRVUuc3R5bGUse3RyYW5zZm9ybTpgc2NhbGUoJHsxKy4yNSpNYXRoLmFicyhULy0xMDApfSlgLHRyYW5zZm9ybU9yaWdpbjoiYm90dG9tIGNlbnRlciJ9KSksIWJhLmlzRnVsbHNjcmVlbnx8YmEuaXNEcmFnZ2luZ3x8YmEuc2J8fCFfLk1FKCkmJiFfLlRFKCk/MDpiYS5XZHx8KGJhLk5hP0RRKGFhLk9kLDAsMjE1KTpEUShhYS5PZCwtMjE1LDApKSE9PTApJiYoYlQoKSxiYS5TKHtXZDohMCxlYTohMCxKZjpiYS5OYT9EUShhYS5PZCwwLDIxNSk6RFEoYWEuT2QsLTIxNSwwKX0pKX19ZnVuY3Rpb24gZihUKXtJVShULGwoKSxtKCkpfWZ1bmN0aW9uIGgoVCl7SVUoVCxsKCksbSgpKX1mdW5jdGlvbiBrKFQpe1Quc3RvcFByb3BhZ2F0aW9uKCl9dmFyIHtHOmwsZGF0YTptfT1fLkRDKGEse2RhdGE6dm9pZCAwfSksbj1fLk4oKCk9PmwoKS5ILHZvaWQgMCwiWjdIOXJlIik7YT1fLk4oKCk9PmwoKS5lYSx2b2lkIDAsCiJkcmhxN2QiKTt2YXIgcD1fLk4oKCk9PmwoKS5zYix2b2lkIDAsInZzdFlFZSIpLHI9Xy5OKCgpPT5sKCkuYmE/LkVlLHZvaWQgMCwiTGJGd0piIiksdD1fLk4oKCk9PmwoKS5LYj4oXy54KCJtd2ViX3BsYXllcl90YXBwaW5nX3RocmVzaG9sZF9raWxsc3dpdGNoIik/ODowKSx2b2lkIDAsImU0anFNZCIpLHY9Xy5OKCgpPT5sKCkuSmQhPT0wLHZvaWQgMCwicHFnRDVlIiksej1fLk4oKCk9PmwoKS5iYT8uWmgsdm9pZCAwLCJ0bVFkZyIpLEU9KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzLEE9Xy5OKCgpPT4kUyhsKCksbSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXMpLHZvaWQgMCwiWGE5cXhmIiksRj1fLk4oKCk9PiFsKCkuYmE/LnpyLHZvaWQgMCwibUZPbHQiKSxDPV8uTigoKT0+e3ZhciBUPWwoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITE6VC5pc0xpdmUmJiFULmlzTGl2ZUR2ckVuYWJsZWR9LHZvaWQgMCwKIkQxaTY3IiksRz1fLk4oKCk9Pnt2YXIgVD1DKCk7cmV0dXJuIHJVKCkmJiFUfSx2b2lkIDAsInZRemltZSIpLEQ9Xy5OKCgpPT50KCkmJnYoKSx2b2lkIDAsIkJlR3A3IiksSD1fLlAoIm5ldy1jb250cm9scyIsImJpZ2JhciIsIm1lZGl1bS1tb2RpZmljYXRpb24iLCJhbmltYXRpb24tZW5hYmxlZCIsImVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIiwiZnMtd2F0Y2gtc3lzdGVtIix7ZmFkZWluOmEsImJhY2tncm91bmQtaGlkZGVuIjpwLCJmdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiI6ciwiZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMtZm9yLXBvcnRyYWl0IjpfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSksUj0oKT0+bT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlLE09KCk9Pm0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsUz0oKT0+bSgpPy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIsWT0oKT0+CkdTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpLHBhPSgpPT5tKCk/LmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uZGVmYXVsdFRodW1ibmFpbHx8bSgpPy5wbGF5ZXJSZXNwb25zZT8udmlkZW9EZXRhaWxzPy50aHVtYm5haWwsb2E9KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXllckNvbmZpZz8uYXV0b2Nyb3BDb25maWcsVT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlciYmbigpLGhhPSgpPT57dmFyIFQ7aWYoVD1QUyhtKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixtKCk/LmpiKSl7VD1sKCk7dmFyIGJhPW4oKSxhYT1QUyhtKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixtKCk/LmpiKTtpZihhYSYmYWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC50aXRsZXx8YWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwuYm9keVRleHQpJiYKYmEmJmJhLmdldFBsYXllclN0YXRlT2JqZWN0JiZiYS5nZXRQbGF5ZXJTaXplJiYhXy5ESShramEsYWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwuZGlzbWlzc1N0YXRlRW50aXR5S2V5KSgpPy5pc0Rpc21pc3NlZCl7YWE9YmEuZ2V0UGxheWVyU3RhdGVPYmplY3QoKT8uaXNFcnJvcjtpZihhYT0hdVMoVCkmJiFhYSlhYT1iYS5nZXRQbGF5ZXJTaXplKCksYmE9YWEud2lkdGg8MzYwLGFhPWFhLmhlaWdodDwzMjAsYWE9ISgoVC5wbGF5ZXJTdGF0ZT09PS0xfHxULnBsYXllclN0YXRlPT09NSkmJmJhJiZhYSk7VD1hYX1lbHNlIFQ9ITF9cmV0dXJuIFR9LG1hPSgpPT57dmFyIFQ9bSgpPy5wbGF5ZXJSZXNwb25zZTtyZXR1cm4gXy5CKFQ/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyPy5tdXRlZEF1dG9wbGF5LG9WKX0sdGE9KCk9Pm0oKT8uSD8uaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheT8uKCk7cmV0dXJuIF8uSygieXRtLXdhdGNoLXBsYXllci1jb250cm9scyIsCntjbGFzczoieXRtV2F0Y2hQbGF5ZXJDb250cm9sc0hvc3QifSxfLksoXy5PLHtBOigpPT57dmFyIFQ9bCgpLGJhPW0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzO3JldHVybiBfLngoIm13ZWJfaGlkZV9jb250cm9sc19mb3JfdW5wbGF5YWJsZV92aWRlb19rcyIpfHwhYmF8fE1SKGJhKXx8VC5pc0Z1bGxzY3JlZW4/KHlTKFQpfHxULnBsYXllclN0YXRlPT09LTF8fFQucGxheWVyU3RhdGU9PT01fHxULnJjJiYhVC5iYT8uckE/ITE6dVMoVCk/ITA6VC5wbGF5ZXJTdGF0ZT09PTF8fFQucGxheWVyU3RhdGU9PT0zfHxULnBsYXllclN0YXRlPT09Mil8fFQucmMmJnVTKFQpfHwkUyhULGJhKTohMX0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOnosdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6bCx0aHVtYm5haWxEZXRhaWxzOnBhfSksXy5LKHVWLHtHOmwsSDpuLHBsYXlhYmlsaXR5U3RhdHVzOkV9KSl9KSxfLksoXy5PLHtBOmhhLHRoZW46KCk9PgpfLksodlcse2RhdGE6KCk9PlBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpLHByb3BzOmx9KX0pLF8uSyhfLk8se0E6dGEsdGhlbjooKT0+Xy5LKExWLHtHOmwscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjptYX0pfSksXy5LKF8uTyx7QTooKT0+IXRhKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoV1Yse0c6bH0pLF8uSyhfLk8se0E6KCk9Pl8ueCgibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50IiksdGhlbjooKT0+Xy5LKCJkaXYiLHtpZDoiY2FwdGlvbnMtZ2Fsb3JlLWNvbnRhaW5lciJ9KX0pLF8uSygiZGl2Iix7aWQ6InBsYXllci1jb250cm9sLW92ZXJsYXkiLGNsYXNzOkgsIm9uOmNsaWNrIjpjLCJvbjpwb2ludGVybW92ZSI6Yiwib246dG91Y2hzdGFydCI6ZCwib246dG91Y2htb3ZlIjplLCJvbjp0b3VjaGVuZCI6Ziwib246dG91Y2hjYW5jZWwiOmh9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtY29udGVudCIsCnsicG9pbnRlci1ldmVudHMtb2ZmIjpEfSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZCIseyJmdWxsc2NyZWVuLXJlY3MtZXhwYW5kZWQiOigpPT5JUyhsKCkpfSksIm9uOnRvdWNoc3RhcnQiOmQsIm9uOnRvdWNobW92ZSI6ZSwib246dG91Y2hlbmQiOmYsIm9uOnRvdWNoY2FuY2VsIjpofSksXy5LKCJkaXYiLHtjbGFzczoieXRtV2F0Y2hQbGF5ZXJDb250cm9sc0JhY2tncm91bmRBY3Rpb25JdGVtcyIsIm9uOmNsaWNrIjprfSxfLksoXy5PLHtBOigpPT57dmFyIFQ7aWYoVD0hQSgpKVQ9bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGFpZENvbnRlbnRPdmVybGF5Py5wYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlcjtyZXR1cm4gVH0sdGhlbjooKT0+Xy5LKERXLHtkYXRhOigpPT5tKCk/LnBsYXllclJlc3BvbnNlPy5wYWlkQ29udGVudE92ZXJsYXk/LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfSl9KSwKXy5LKF8uTyx7QTpVLHRoZW46KCk9Pl8uSyhsVyx7ZW5kc2NyZWVuUmVuZGVyZXI6KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXIsRzpsfSl9KSkpLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOkcsdGhlbjooKT0+Xy5LKHJXLHtHOmx9KX0pLF8uSyhGVix7RzpsLHBsYXllck92ZXJsYXlSZW5kZXJlcjpNfSksXy5LKFZWLHtnZjpsLEliOiExfSkpfSksXy5LKCJkaXYiLHtzdHlsZTpZVSgoKT0+SlMobCgpLEFTKG0/LigpPy53YXRjaE5leHRSZXNwb25zZSkpKX0sXy5LKExXLHtHOmwscGxheWVyT3ZlcmxheVJlbmRlcmVyOk0sdGh1bWJuYWlsUHJldmlld1JlbmRlcmVyOlN9KSxfLksoXy5PLHtBOigpPT4hQSgpLHRoZW46KCk9Pl8uSyhHVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlJ9KX0pKSxfLksoXy5PLHtBOigpPT4hQSgpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLAp7c3R5bGU6WVUoKCk9Pnt2YXIgVD1sKCksYmE9QVMobT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlKTtyZXR1cm4gSFMoVCxiYSl8fFQuYmE/Lm5oPyExOlQuaXNMaXZlfHxKUyhUKX0pfSxfLksoRVcse0c6bCxTbTooKT0+Q1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikscGxheWVyT3ZlcmxheVJlbmRlcmVyOk19KSksXy5LKCJkaXYiLHtzdHlsZTpZVSgoKT0+e3ZhciBUPWwoKTtyZXR1cm4gVC5iYT8ubmg/ITE6IUlTKFQpfSl9LF8uSyhDVix7TGI6bCxoZjpZLGNvbmZpZzooKT0+KHtjbGFzc05hbWU6IndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIixwb3NpdGlvbjowLEluOkYoKSxSYTpFUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKSxLZjohMSxkaXNhYmxlU2NydWJiaW5nOkMoKSxvblRvdWNoTW92ZTooKT0+e3ZhciBUPWwoKSxiYT1FUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKTtiYSYmKFQ9bFQoVCxiYSksbVQoVCkpfSxZbzooKT0+e2JUKCl9LEZuOigpPT4Ke2NUKGwoKSx7SWM6ITB9KX0scHJvZ3Jlc3NDb2xvcjpfLngoImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiKT9DUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKT8ucHJvZ3Jlc3NDb2xvcjp2b2lkIDAsaGY6UWxhKEdTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpKX0pfSkpLF8uSyhGVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlJ9KSl9KSxfLksoQ1cse0c6bCx3YXRjaE5leHRSZXNwb25zZTpSLHRodW1ibmFpbFByZXZpZXdSZW5kZXJlcjpTLGF1dG9jcm9wQ29uZmlnOm9hfSkpKSl9KSl9KSl9LCJYZSIpO01XLmlkb21Db21wYXQ9ITA7dmFyIGNWPV8uTChhPT57dmFyIGI9Xy5OKCgpPT5hLmRhdGEoKS5ILHZvaWQgMCwiRHVmbU0iKSxjPV8uTigoKT0+bmV3IHFXKCgpPT57fSx7dGE6YS5jb250ZXh0KCkudGEsVGM6YS5jb250ZXh0KCkuVGMsR2M6YS5jb250ZXh0KCkuR2MsYmE6YS5jb250ZXh0KCkuYmF9LHthdXRvbmF2RW5hYmxlZDphLmNvbnRleHQoKS50YS5kZSgpLGVhOlJsYShiKCkpfSxiKSx2b2lkIDAsImpQeDhkZSIpLGQ9W107Xy5uRSgoKT0+e2IoKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e1pVKGQpO3VXLmZvckVhY2goZT0+e2QucHVzaChlLnJlZ2lzdGVyKCgpPT5jKCkudWQoKSwoKT0+YS5kYXRhKCkpKX0pfSl9LCJIdVlNSmIiKTtfLll1KCgpPT57TVUoKCk9PmMoKS51ZCgpKTtiVCgpO2EuY29udGV4dCgpLnRhLmV4aXRGdWxsc2NyZWVuPy4oKTtaVShkKX0pO3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coJFQsYildfSxfLksoInl0bS1jdXN0b20tY29udHJvbCIse2NsYXNzOiJ5dG1DdXN0b21Db250cm9sSG9zdCJ9LApfLksoTVcse0c6KCk9PigwLGMoKS5CKSgpLGRhdGE6YS5kYXRhfSkpKX0sIlplIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uelo9ZnVuY3Rpb24oYSl7Xy5iWihhKTtfLmRWKGEpfTtfLnp5PV8uelo7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInI3OERyYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"yt3.ggpht.com/ytc/AIdro_meYAh6NPkc3qZ9RQbztfozX2jknUqc69hcasQTLZa7CCWY6MHmzRI1I6I59gYFhEiQXA=s68-c-k-c0x00ffffff-no-rj","fqdn":"yt3.ggpht.com","domain":"ggpht.com","tld":"com"},"ip":{"addr":"142.250.178.65","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.612Z","timestamp":1785123386612,"http_version":"HTTP/2","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":"*.googleusercontent.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:23 GMT","end":"Mon, 21 Sep 2026 08:39:22 GMT"},"fingerprint":{"sha1":"DC:48:07:2A:01:2D:A7:65:AA:F1:4C:DD:23:C4:A1:E7:2C:5C:EF:58","sha256":"09:30:03:A8:7D:7F:F6:BE:79:16:44:E4:E0:4C:56:8E:3D:5B:16:F3:9F:F3:3D:87:F0:7F:E6:B2:1D:48:7F:F5"}}},"request":{"raw":"GET /ytc/AIdro_meYAh6NPkc3qZ9RQbztfozX2jknUqc69hcasQTLZa7CCWY6MHmzRI1I6I59gYFhEiQXA=s68-c-k-c0x00ffffff-no-rj HTTP/1.1\r\nHost: yt3.ggpht.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\ncross-origin-resource-policy: cross-origin\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\naccess-control-expose-headers: Content-Length\r\ncontent-disposition: inline;filename=\"unnamed.jpg\"\r\nx-content-type-options: nosniff\r\nserver: fife\r\ncontent-length: 1054\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 02:25:04 GMT\r\nexpires: Tue, 28 Jul 2026 02:25:04 GMT\r\ncache-control: public, max-age=86400, no-transform\r\ncontent-type: image/jpeg\r\nvary: Origin\r\nage: 4282\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1054,"size_decoded":1615,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 68x68, components 3","md5":"3e854fa2ad41f4c4fc04d2317db68777","sha1":"c162b7b9d073449fdc3dd0131ec584b0f6191896","sha256":"7ccd4df6e89ef83f2eca2e28abfba1d01ec4087a466a55832b42689b07f24f91","sha512":"f7dc1c376dd3c236ad290bbde0794d1e7605eb2ef9186165e052d7e745216f5dd8cd5d041b0fe3943f594f0d55bd5c4c5ac9212bab69e23ddb81d277a1c22719","ssdeep":"","tlshash":"b011755f2b74f9b2fa84533ca5ac531b1306c0537317e68cdc811d4a09592cd5e76230","first_seen":"2023-05-24T13:21:03Z","last_seen":"2026-07-27T03:38:03.699695Z","times_seen":43,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAMCAgkJCA0NDAgHCAsICwgICggIBwYICAYICAoMCAsNCAgNCAgICw0IDgkLEBYQBRMICw0VCAsXDxYIDBIUFQ0BAwQEBgUGCAYGCA0KCw4UDQoUFAsKCA4UCxQRCxQIEw0NDhQUCg4NDw0OFBQJCA0KCAgICAoUCggICQgUCA4IFP/AABEIAEQARAMBEQACEQEDEQH/xAAZAAEBAQEBAQAAAAAAAAAAAAAACAcFCQL/xAAsEAACAgECBAQGAwEAAAAAAAABAgADEQQFEhMhMQcIFCIGMjNBUWEjJMEV/8QAHAEBAAIDAQEBAAAAAAAAAAAAAAUGAwQHAggB/8QALhEAAgEDAQYFAwUBAAAAAAAAAAECAwQRIQUGEiIxcRRBUWGBMnKRI1Kh4fET/9oADAMBAAIRAxEAPwDJJaz5MEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQD7ppLEAAsWIUKoJLE9AAO5J/U/D0k20kss0XxZ8ANw2ham1KVhdRxhGqs5gVkAJVzwgKSG6Drnhb8TDTrRqZ4Sc2lsW62coSrpYlnGHnprh+nt66+hm8zkCIAgCAIAgCAbl5N/Dj1291llzVoh6yzIJUtWQKgT2yXKnDdxW3ead1U4Kb99C4bq2Hi7+DkuWH6j+Oi/Ovukyl/FDfKviTZdwSpQbdp1NjU4AZrV0wyGQA5/spzlH+zQpp0Zwb8y/bRrQ23Y3caa5qUm1554fNfcspHntJs4iIAgCAIAgCAXd5ZPD7VaP4Y1F+noa3W7mr8hBykdaxmiolndEwhay33EZBGOI4zD3E4yqqMnov8Af6Ox7v2Va22TVr0YcVWpnh6LT6F1aWms+qyumTm+T/wh3ratxf1GgevTaupqrW5+hda7K/fWzKt7OR8y+wN9Xr07erqrTqR5Xqu5g3X2XtCwuZf96LVOa4XzU3hrVN6t+sdE+uvqTP5gfDo7bu+ooC4rDm2npgenu/kQL1OeWDw5/NZ7Tfoz44JlA23Y+BvatHGmeJdnzL8fT3TM7mcghAEAQBAO/wDAXwg+u1tOnTPFqbUqBAzwBj7mIyOla5Y/pTPE5KMXJm7ZWsrqvToQ6yaj29/hasrnzf8AjPftdul0Wgvs0g0tCmzk8I9hArpTsfkWsn7fUWRlrSVRSnNZydN3o2tVsJ0bOzm6ajHXhx9qXwln5RPdHmk3wMD/ANTVNgg4YoVbBzgjh7Gbvh6f7UUhbxbSTT8RL+DdvOpsaa/bdFulS9Hrrqtwoytd45lfGc9OS/Gv362jtNO0fBKVNlx3soxu7W22lTXVKL7PmWezzHuyNZKnKxAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEAQBAEA//2Q=="}},"time_used":65,"timings":{"blocked":0,"dns":2,"connect":16,"send":0,"wait":16,"receive":0,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:29.449Z","timestamp":1785123389449,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/main-t6WxLABA.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.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\nOrigin: https://alpha-achieveer.co\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\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/2 200 \r\ndate: Mon, 27 Jul 2026 03:36:29 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-3f99\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k8G9d4zOZwKEj406hifNh3E9ZWc3h2BGhGdwXEeAwJ76dW/dlFw5swwrve7gwnjsJw+kbmY\r\nx-77-nzt-ray: e2f75420b1f4b63a3dd2666ac882041b\r\nx-77-cache: HIT\r\nx-77-age: 1710351\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":16281,"size_decoded":6837,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (15873)","md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"resource_available":true,"data":"Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bd2luZG93LnBhcmVudC5zbWFydHN1cHAuZ2V0QXNzZXRVcmwoImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL3NoYXJlZC1DZ01DQWZvci5qcyIpLHdpbmRvdy5wYXJlbnQuc21hcnRzdXBwLmdldEFzc2V0VXJsKCJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzIildKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0EgYXMgZSxBaSBhcyB0LEFyIGFzIG4sQXQgYXMgcixCIGFzIGksQmkgYXMgYSxDIGFzIG8sQ2kgYXMgcyxEIGFzIGMsRGkgYXMgbCxFIGFzIHUsRWkgYXMgZCxHaSBhcyBmLEdyIGFzIHAsSGkgYXMgbSxIbiBhcyBoLEhyIGFzIGcsSSBhcyBfLElpIGFzIHYsSiBhcyB5LEppIGFzIGIsS2kgYXMgeCxLciBhcyBTLExpIGFzIEMsTSBhcyBlZSxOIGFzIHRlLE5pIGFzIHcsTyBhcyBuZSxPciBhcyByZSxQaSBhcyBpZSxQciBhcyBhZSxQdCBhcyBvZSxSIGFzIHNlLFMgYXMgY2UsU2kgYXMgbGUsVCBhcyB1ZSxUaSBhcyBULFVpIGFzIGRlLFVyIGFzIEUsVmkgYXMgRCxXaSBhcyBmZSxXbiBhcyBwZSxXdCBhcyBtZSxYaSBhcyBPLFhyIGFzIGssWHQgYXMgaGUsWSBhcyBnZSxZaSBhcyBBLFluIGFzIGosWXIgYXMgX2UsWmkgYXMgTSxaciBhcyB2ZSxfIGFzIHllLGEgYXMgYmUsYWEgYXMgTixiIGFzIHhlLGJpIGFzIFAsY2EgYXMgRixkIGFzIFNlLGRpIGFzIENlLGR0IGFzIHdlLGVhIGFzIFRlLGVpIGFzIEksZiBhcyBFZSxmaSBhcyBMLGggYXMgRGUsaGkgYXMgUixpIGFzIHosaWEgYXMgQixqIGFzIE9lLGppIGFzIFYsam4gYXMga2Usa2kgYXMgQWUsa3IgYXMgamUsbCBhcyBNZSxsYSBhcyBOZSxsaSBhcyBILG0gYXMgUGUsbWkgYXMgRmUsbiBhcyBJZSxuYSBhcyBMZSxvIGFzIFUsb2kgYXMgVyxvciBhcyBHLHBpIGFzIEsscSBhcyBSZSxxbiBhcyB6ZSxyIGFzIHEscyBhcyBCZSx0IGFzIFZlLHRhIGFzIEhlLHRpIGFzIEosdSBhcyBVZSx1aSBhcyBZLHcgYXMgWCx3aSBhcyBaLHggYXMgV2UseGkgYXMgR2UseSBhcyBLZSx5aSBhcyBxZX1mcm9tIi4vc2hhcmVkLUNnTUNBZm9yLmpzIjt2YXIgSmU9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBZZShlLHQpe04odCwhMCk7bGV0IG49eChudWxsKSxyPWAke1MoKS5TTUFSVFNVUFBfQVVUT0NSRUFURT09PSExP2cod2luZG93KS5pZDpgc21hcnRzdXBwYH0td2lkZ2V0LWNvbnRhaW5lcmA7aygoKT0+e3cobikmJnAoKS5ib2R5LmFwcGVuZENoaWxkKHcobikpfSksX2UoKCk9PntwKCkuZ2V0RWxlbWVudEJ5SWQocik/LnJlbW92ZSgpfSk7dmFyIGk9SmUoKTtSKGEoaSksKCk9PnQuY2hpbGRyZW4/P05lKSxGKGkpLEooaSxlPT5mKG4sZSksKCk9PncobikpLHYoKCk9PlcoaSxgaWRgLHIpKSxaKGUsaSksQigpfXZhciBYZT1kKGA8aWZyYW1lIGFsbG93ZnVsbHNjcmVlbj0iIiBzY3JvbGxpbmc9Im5vIj48L2lmcmFtZT5gKTtmdW5jdGlvbiBRKGUsdCl7Tih0LCEwKTtsZXQgbj0oKT0+TShjLGAkdGhlbWVDb2xvcmAsciksW3IsaV09TygpLGE9eCh2b2lkIDApLG89eChudWxsKSxsO0MoKCk9Pnt3KG8pJiZ1KHcobykpfSksQygoKT0+e3cobykmJmQobigpKX0pO2xldCB1PWFzeW5jIGU9PntsJiZhd2FpdCBzKGwpLGUmJnQuY29tcG9uZW50JiYobD1HZSh0LmNvbXBvbmVudCx7dGFyZ2V0OmUuYm9keX0pKX0sZD1lPT57dyhvKSYmbmUodyhvKSxlKX0scD1lPT57aWYoIXcobykpcmV0dXJuO2xldCB0PXcobykuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHcobykuaGVhZC5hcHBlbmRDaGlsZCh0KSx0fSxtPSgpPT57Zm9yKGxldCBlIG9mIHdpbmRvdy5kb2N1bWVudC5zdHlsZVNoZWV0cyl7bGV0IHQ9YGA7dHJ5e3Q9Wy4uLmUuY3NzUnVsZXNdLm1hcChlPT5lLmNzc1RleHQpLmpvaW4oYGApfWNhdGNoe2NvbnRpbnVlfWlmKCFwKHQpKXJldHVybn19LGg9KCk9PnshdyhhKXx8IXcoYSkuY29udGVudERvY3VtZW50fHwoZihvLHcoYSkuY29udGVudERvY3VtZW50LCEwKSxtKCkpfTtrKGFzeW5jKCk9Pnthd2FpdCBpZSgpLHcoYSk/LmNvbnRlbnREb2N1bWVudCYmdyhhKS5jb250ZW50RG9jdW1lbnQucmVhZHlTdGF0ZT09PWBjb21wbGV0ZWAmJncoYSkuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3P2goKTp3KGEpPy5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxoKX0pLF9lKGFzeW5jKCk9Pnt3KGEpJiZ3KGEpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYGxvYWRgLGgpLGwmJmF3YWl0IHMobCl9KTt2YXIgZz1YZSgpO0ooZyxlPT5mKGEsZSksKCk9PncoYSkpLHYoKCk9PntXKGcsYGlkYCx0LmlkKSxXKGcsYHRpdGxlYCx0LnRpdGxlKSxIKGcsdC5mcmFtZVN0eWxlKX0pLFooZSxnKSxCKCksaSgpfXZhciBaZT1sKGA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDY0IDY0IiBmaWxsPSJjdXJyZW50Q29sb3IiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxwYXRoIGQ9Ik02My4xMTMsMTguNTF2LS4xNkM2MC4zMjMsNy4wNSw0NC41ODIsMywzMS45NzIsM1MzLjU4Miw3LC43OTIsMTguNWE2Ni4yMiw2Ni4yMiwwLDAsMCwwLDIwLjQ2YzEuMTgsNC43NCw1LjA1LDguNjMsMTEuMzYsMTEuNDFsLTQsNUEzLjQ3LDMuNDcsMCwwLDAsMTAuODgyLDYxYTMuMzksMy4zOSwwLDAsMCwxLjQ0LS4zMUwyNi44NjIsNTRjMS43OS4xOCwzLjQ5LjI3LDUuMDcuMjcsMTEuMDQuMDQsMjguNDEtNC4wNCwzMS4xOC0xNS40M2E2MC4zMyw2MC4zMywwLDAsMCwwLTIwLjMzWiI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFFlKGUsdCl7bGV0IG49dmUodCxgaWNvblNpemVgLDMsMTYpO3ZhciByPVplKCk7digoKT0+e1cocixgd2lkdGhgLG4oKSksVyhyLGBoZWlnaHRgLG4oKSl9KSxaKGUscil9ZnVuY3Rpb24gJGUoZSx0KXtOKHQsITApO2xldCBuPXgoITEpO2soKCk9PntmKG4sITApfSk7dmFyIHI9VCgpLGk9RChyKSxhPWU9Pnt2YXIgbj1UKCk7UihEKG4pLCgpPT50LmNoaWxkcmVuPz9OZSksWihlLG4pfTtQKGksZT0+e3cobikmJmUoYSl9KSxaKGUsciksQigpfXZhciBldD1kKGA8ZGl2IGNsYXNzPSJ0cmFuc2Zvcm0gdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTExNSI+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gdHQoZSl7JGUoZSx7Y2hpbGRyZW46KGUsdCk9Pnt2YXIgbj1ldCgpO1FlKGEobikse2ljb25TaXplOjI0fSksRihuKSxLKDMsbiwoKT0+QmUsKCk9Pih7ZGVsYXk6MjAwLGR1cmF0aW9uOjMwMCxzdGFydDouNixvcGFjaXR5Oi44fSkpLFooZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX12YXIgbnQ9ZChgPGRpdiBjbGFzcz0icC0xIj48ZGl2IGNsYXNzPSJmbGV4LWNlbnRlciB3LTEyIGgtMTIgYmctd2hpdGUgYmctb3BhY2l0eS0xMCByb3VuZGVkLWZ1bGwiPjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIHJ0KGUpe3ZhciB0PW50KCksbj1hKHQpO3R0KGEobikse30pLEYobiksRih0KSxaKGUsdCl9dmFyIGl0PWQoYDxkaXYgY2xhc3M9ImZsZXgiPjxkaXYgY2xhc3M9ImZsZXgtY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHBsLTQgcHItMSI+IDwvZGl2PiA8IT48L2Rpdj5gKTtmdW5jdGlvbiBhdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oaixgJHRgLHIpLFtyLGldPU8oKSxvPWZlKCk7aygoKT0+e2xldCBlPU1hdGguY2VpbCh3KG8pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtVZS5zZXQoZSl9KSxJKCk7dmFyIHM9aXQoKSxjPWEocyksbD1hKGMsITApO0YoYykscnQobShjLDIpLHt9KSxGKHMpLEoocyxlPT5mKG8sZSksKCk9PncobykpLHYoZT0+e1coYyxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0QnV0dG9uVGV4dCksbGUobCxlKX0sWygpPT5uKCkoYGJ1dHRvbi5ncmVldGluZ2ApXSksWihlLHMpLEIoKSxpKCl9dmFyIG90PWQoYDxkaXYgaWQ9IndpZGdldC1vbmxpbmUtYmFkZ2UiIGNsYXNzPSJhYnNvbHV0ZSBsZWZ0LTAgYm90dG9tLTAgdy0yIGgtMiBwLTEuNSBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZSI+PC9kaXY+YCk7ZnVuY3Rpb24gc3QoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGtlLGAkaXNXaWRnZXRPbmxpbmVgLHIpLFtyLGldPU8oKTtJKCk7dmFyIGE9VCgpLG89RChhKSxzPWU9Pnt2YXIgdD1vdCgpO3YoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0T25saW5lQmFkZ2UpKSxLKDMsdCwoKT0+QmUpLFooZSx0KX07UChvLGU9PntuKCkmJmUocyl9KSxaKGUsYSksQigpLGkoKX12YXIgY3Q9ZChgPGRpdiBpZD0id2lkZ2V0LXVucmVhZC1tZXNzYWdlcy1iYWRnZSIgY2xhc3M9ImFic29sdXRlIHJpZ2h0LTAgdG9wLTAgbWluLXctNSBoLTUgZmxleC1jZW50ZXIgcHgtMSB0ZXh0LXdoaXRlIGJnLXJlZC02MDAgdGV4dC14cyByb3VuZGVkLWZ1bGwgc2hhZG93Ij4gPC9kaXY+YCk7ZnVuY3Rpb24gbHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKGhlLGAkdW5yZWFkTWVzc2FnZXNDb3VudGAsciksW3IsaV09TygpLG89QSgoKT0+bigpPjApO3ZhciBzPVQoKSxjPUQocyksbD1lPT57dmFyIHQ9Y3QoKSxyPWEodCwhMCk7Rih0KSx2KCgpPT57Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRVbnJlYWRNZXNzYWdlc0JhZGdlKSxsZShyLG4oKT45OT9gOTkrYDpuKCkpfSksSygzLHQsKCk9PkJlKSxaKGUsdCl9O1AoYyxlPT57dyhvKSYmZShsKX0pLFooZSxzKSxCKCksaSgpfXZhciB1dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgdy1mdWxsIGZpeGVkIGZsZXgganVzdGlmeS1lbmQgYm9yZGVyLXJvdW5kZWQtZnVsbCI+PGRpdiByb2xlPSJidXR0b24iIGNsYXNzPSJncm91cCBmbGV4LWNlbnRlciB3LWZ1bGwgYmctcHJpbWFyeS1ncmFkaWVudCBiZy1wcmltYXJ5LWdyYWRpZW50LWhvdmVyIHRleHQtcHJpbWFyeS1jb250ZW50IHJvdW5kZWQtZnVsbCBvdmVyZmxvdy1oaWRkZW4gY3Vyc29yLXBvaW50ZXIgY29udGVudC1mb2N1cy1zZWNvbmRhcnkiPjwhPiA8IT48L2Rpdj4gPCE+PC9kaXY+YCk7ZnVuY3Rpb24gZHQoZSxuKXtOKG4sITEpO2xldCBpPSgpPT5NKGosYCR0YCxzKSxvPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLFtzLGNdPU8oKTtJKCk7dmFyIGw9dXQoKSx1PWEobCk7Vyh1LGB0YWJpbmRleGAsMCk7dmFyIGQ9YSh1KSxmPWU9Pnt0dChlLHt9KX0scD1lPT57YXQoZSx7fSl9O1AoZCxlPT57bygpP2UoZik6ZShwLC0xKX0pLHN0KG0oZCwyKSx7fSksRih1KSxsdChtKHUsMikse30pLEYobCksdihlPT57Vyh1LGBhcmlhLWxhYmVsYCxlKSxXKHUsYGRhdGEtdGVzdGlkYCxHLndpZGdldEJ1dHRvbil9LFsoKT0+aSgpKGBhcmlhTGFiZWwub3BlbkNoYXRgKV0pLHQoYGNsaWNrYCx1LCgpPT5zZSgpKSxWKGBrZXlwcmVzc2AsdSxlPT5lLmtleT09PXIuRW50ZXImJnNlKCkpLFooZSxsKSxCKCksYygpfUFlKFtgY2xpY2tgXSk7dmFyIGZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gcHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKFNlLGAkYnV0dG9uRnJhbWVXaWR0aGAscykscj0oKT0+TSh0ZSxgJHNob3VsZFJlbmRlckJ1dHRvbkZyYW1lYCxzKSxpPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLG89KCk9Pk0oaixgJHRgLHMpLFtzLGNdPU8oKSxsPXgodm9pZCAwKSxkPWU9Pnt3KGwpJiYodyhsKS5zdHlsZS53aWR0aD1gJHtlfXB4YCl9LHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6cH09RS5nZXRPcHRpb25zKCk7QygoKT0+e3cobCkmJmQobigpKX0pO3ZhciBtPVQoKSxoPUQobSksZz1lPT57dmFyIHQ9ZnQoKTtsZXQgbjtxZShhKHQpLCgpPT5pKCl8fG8oKSxlPT57e2xldCB0PUEoWCk7UShlLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIGR0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRCdXR0b25GcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgYnV0dG9uYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KHQpfX0pfX0pLEYodCksSih0LGU9PmYobCxlKSwoKT0+dyhsKSksTCh0LGU9PktlPy4oZSkpLHYoZT0+e249SCh0LGBib3JkZXItcmFkaXVzOiA5OTk5cHg7IGJveC1zaGFkb3c6IHJnYigwIDAgMCAvIDYlKSAwcHggMXB4IDZweCwgcmdiKDAgMCAwIC8gJHtwPy5saW1pdFNoYWRvdz9gMjAlKSAwcHggMnB4IDEycHhgOmAxMiUpIDBweCAycHggMzJweGB9OyBjb2xvci1zY2hlbWU6IG5vcm1hbDtgLG4sZSksVyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRCdXR0b25GcmFtZSl9LFsoKT0+KHtoZWlnaHQ6dSg1Nil9KV0pLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZGVsYXk6MTUwLGR1cmF0aW9uOjMwMH0pKSxLKDIsdCwoKT0+YmUsKCk9Pih7ZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChoLGU9PntyKCkmJmUoZyl9KSxaKGUsbSksQigpLGMoKX12YXIgJD1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkluaXRpYWxpemVkPTBdPWBJbml0aWFsaXplZGAsZVtlLkxvYWRpbmc9MV09YExvYWRpbmdgLGVbZS5TdWNjZXNzPTJdPWBTdWNjZXNzYCxlW2UuRXJyb3I9M109YEVycm9yYCxlfSh7fSksbXQ9bmV3IE1hcCxodD1hc3luYyBlPT57bGV0IHQ9KGF3YWl0IGUoKSkuZGVmYXVsdDtyZXR1cm4gbXQuc2V0KGUsdCksdH07ZnVuY3Rpb24gZ3QoZSx0KXtOKHQsITApO2xldCBuPXZlKHQsYGRlbGF5YCwzLDIwMCkscj14KGRlKCQuSW5pdGlhbGl6ZWQpKSxpPXgodm9pZCAwKSxhPXgodm9pZCAwKSxvPXgodm9pZCAwKSxzPUEoKCk9PncoaSkpLGM9KCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHcobykpfSxsPWFzeW5jKCk9PntjKCksZihhLHZvaWQgMCksZihpLHZvaWQgMCksbigpPjA/KGYociwkLkluaXRpYWxpemVkLCEwKSxmKG8sd2luZG93LnNldFRpbWVvdXQoKCk9PntmKHIsJC5Mb2FkaW5nLCEwKX0sbigpKSwhMCkpOmYociwkLkxvYWRpbmcsITApO3RyeXtmKGksYXdhaXQgaHQodC5sb2FkZXIpLCEwKSxmKHIsJC5TdWNjZXNzLCEwKX1jYXRjaChlKXtpZihmKHIsJC5FcnJvciwhMCksZSBpbnN0YW5jZW9mIEVycm9yKWYoYSxlLCEwKTtlbHNlIHRocm93IGV9YygpfTttdC5oYXModC5sb2FkZXIpPyhmKHIsJC5TdWNjZXNzLCEwKSxmKGksbXQuZ2V0KHQubG9hZGVyKSwhMCkpOmsoKCk9PntsKCl9KTt2YXIgdT1UKCksZD1EKHUpLHA9ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQuZXJyb3IsKCk9Pih7ZXJyb3I6dyhhKX0pKSxaKGUsbil9LG09ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQubG9hZGluZyksWihlLG4pfSxoPWU9Pnt2YXIgdD1UKCk7RmUoRCh0KSwoKT0+dyhzKSwoZSx0KT0+e3QoZSx7fSl9KSxaKGUsdCl9O1AoZCxlPT57dyhyKT09PSQuRXJyb3ImJnQuZXJyb3I/ZShwKTp3KHIpPT09JC5Mb2FkaW5nP2UobSwxKTp3KHIpPT09JC5TdWNjZXNzJiZlKGgsMil9KSxaKGUsdSksQigpfXZhciBfdD0oKT0+YWUoKCk9PmltcG9ydChgLi9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMSwyXSksaW1wb3J0Lm1ldGEudXJsKSx2dD1lPT57dmFyIHQ9YnQoKSxuPWEodCkscj1hKG4pO3EoYShyKSx7c2l6ZTozMn0pLEYocik7dmFyIGk9bShyLDIpLG89YShpKTtxKG8se3NpemU6MzJ9KTt2YXIgcz1tKG8sMik7cShzLHtzaXplOjMyfSkscShtKHMsMikse3NpemU6MzJ9KSxGKGkpLEYobik7dmFyIGM9bShuLDIpLGw9YShjKTtxKGEobCkse3NpemU6NDR9KSxGKGwpO3ZhciB1PW0obCwyKSxkPWEodSk7eihkLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSkseihtKGQsMikse2hlaWdodDoyMCx3aWR0aDoxMjJ9KSxGKHUpLEYoYyk7dmFyIGY9bShjLDIpLHA9YShmKTtxKGEocCkse3NpemU6Mjh9KSxGKHApO3ZhciBoPW0ocCwyKTt6KGEoaCkse2hlaWdodDoxMTIsd2lkdGg6Mjk1LHJvdW5kZWRTdHlsZTpgcm91bmRlZC02YH0pLEYoaCksRihmKTt2YXIgZz1tKGYsMiksXz1hKGcpO3ooXyx7aGVpZ2h0OjMyLHdpZHRoOjI5NX0pO3ZhciB2PW0oXywyKTt6KHYse2hlaWdodDozMix3aWR0aDoxNDh9KSx6KG0odiwyKSx7aGVpZ2h0OjMyLHdpZHRoOjIyNH0pLEYoZyksRih0KSxaKGUsdCl9LHl0PShlLHQpPT57bGV0IG49KCk9PnQ/LigpLmVycm9yO3ZhciByPXh0KCksaT1tKGEociksMiksbz1hKGksITApO0YoaSksRihyKSx2KCgpPT5sZShvLG4oKSkpLFooZSxyKX0sYnQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSIgaWQ9IlRPRE8gdGVzdCI+PGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxkaXYgY2xhc3M9ImZsZXgiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IHNwYWNlLXgtMiI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBtdC0yIj48ZGl2IGNsYXNzPSJmbGV4IG1sLTEgbXItMiI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImZsZXgtYm90dG9tIHNwYWNlLXktMiI+PCE+IDwhPjwvZGl2PjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWJhc2VsaW5lIG10LTgiPjxkaXYgY2xhc3M9ImZsZXggbWwtMSBtci0yIj48IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgc3BhY2UteS01IG10LTggbXItMSI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj5gKSx4dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgcC00IGJnLXdoaXRlIHRleHQtcmVkLTUwMCI+PGRpdiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPkZhaWxlZCB0byBsb2FkIHdpZGdldDwvZGl2PiA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIj4gPC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gU3QoZSl7Z3QoZSx7Z2V0IGxvYWRlcigpe3JldHVybiBfdH0sZGVsYXk6MCxnZXQgZXJyb3IoKXtyZXR1cm4geXR9LGdldCBsb2FkaW5nKCl7cmV0dXJuIHZ0fX0pfXZhciBDdD1kKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIHd0KGUsdCl7Tih0LCEwKTtsZXQgcj0oKT0+TShqZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGwpLG89KCk9Pk0oUGUsYCRpc01lc3NlbmdlckZyYW1lRXhwYW5kZWRgLGwpLHM9KCk9Pk0obixgJGlzTW9iaWxlRGV2aWNlYCxsKSxjPSgpPT5NKGksYCRzaG91bGRSZW5kZXJNZXNzZW5nZXJGcmFtZWAsbCksW2wsZF09TygpLG09eCh2b2lkIDApLGc9YE1vYmlsZVdpZGdldE1lc3Nlbmdlck9wZW5gLF89KGUsdCk9PntpZighdyhtKSlyZXR1cm47bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1FLmdldE9wdGlvbnMoKSx7d2lkdGg6cixoZWlnaHQ6aX09dWUoZSx0KTt3KG0pLnN0eWxlLm1heEhlaWdodD1oKGkpP2k6dShpKSx3KG0pLnN0eWxlLndpZHRoPWgocik/cjp1KHIpLHcobSkuc3R5bGUuaGVpZ2h0PWV8fG4/LmhlYWRsZXNzTW9kZT9gMTAwJWA6YGNhbGMoMTAwJSAtIDQwcHgpYH07QygoKT0+e3cobSkmJl8ocigpLG8oKSl9KTtsZXQgeT14KCExKTtDKCgpPT57aWYocygpKXtpZihjKCkmJiF3KHkpKXtsZXQgZT1wKCkuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtlLnRleHRDb250ZW50PWAqIHtvdmVyZmxvdzogaGlkZGVufWAsZS5jbGFzc05hbWU9ZyxwKCkuaGVhZC5hcHBlbmRDaGlsZChlKSxmKHksITApfWlmKCFjKCkmJncoeSkpe2xldCBlPXAoKS5oZWFkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspcCgpLmhlYWQucmVtb3ZlQ2hpbGQoZVt0XSk7Zih5LCExKX19fSk7dmFyIGI9VCgpLFM9RChiKSxlZT1lPT57dmFyIHQ9Q3QoKTtIKHQsYGAse30se3RyYW5zaXRpb246YG1heC1oZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQsIHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0YCxvdmVyZmxvdzpgaGlkZGVuYH0pO3ZhciBuPWEodCk7e2xldCBlPUEoWCk7UShuLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIFN0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRNZXNzZW5nZXJGcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgbWVzc2VuZ2VyYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LChlLHQpPT54ZT8uKGUsdCksciksSih0LGU9PmYobSxlKSwoKT0+dyhtKSksdigoKT0+Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRNZXNzZW5nZXJGcmFtZSkpLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZHVyYXRpb246MjAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MTUwfSkpLFooZSx0KX07UChTLGU9PntjKCkmJmUoZWUpfSksWihlLGIpLEIoKSxkKCl9dmFyIFR0PSgpPT5hZSgoKT0+aW1wb3J0KGAuL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzYCksX192aXRlX19tYXBEZXBzKFszLDEsMl0pLGltcG9ydC5tZXRhLnVybCksRXQ9ZT0+e3ZhciB0PUR0KCksbj1hKHQpO3Eobix7c2l6ZTo0NH0pO3ZhciByPW0obiwyKSxpPWEocik7eihpLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSk7dmFyIG89bShpLDIpO3oobyx7aGVpZ2h0OjIwLHdpZHRoOjI3MH0pLHoobShvLDIpLHtoZWlnaHQ6MjAsd2lkdGg6MTIyfSksRihyKSxGKHQpLFooZSx0KX0sRHQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSI+PCE+IDxkaXYgY2xhc3M9Im10LTQgc3BhY2UteS0yIj48IT4gPCE+IDwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIE90KGUpe2d0KGUse2dldCBsb2FkZXIoKXtyZXR1cm4gVHR9LGRlbGF5OjAsZ2V0IGxvYWRpbmcoKXtyZXR1cm4gRXR9fSl9dmFyIGt0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gQXQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKHllLGAkcG9wdXBGcmFtZUhlaWdodGAsbykscj0oKT0+TShFZSxgJGhhc1BvcHVwRnJhbWVIb3ZlcmAsbyksaT0oKT0+TShPZSxgJHNob3VsZFJlbmRlclBvcHVwRnJhbWVgLG8pLFtvLHNdPU8oKSxjPXgodm9pZCAwKSxsPWU9Pnt3KGMpJiYodyhjKS5zdHlsZS5tYXhIZWlnaHQ9YCR7ZX1weGApfSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOmR9PUUuZ2V0T3B0aW9ucygpO0MoKCk9Pnt3KGMpJiZsKG4oKSl9KTtsZXQgcD1BKCgpPT5yKCk/LjI4Oi4xNik7dmFyIG09VCgpLGg9RChtKSxnPWU9Pnt2YXIgdD1rdCgpO2xldCBuO3ZhciByPWEodCk7e2xldCBlPUEoWCk7UShyLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIE90fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRQb3B1cEZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBwb3B1cGAsZ2V0IGZyYW1lU3R5bGUoKXtyZXR1cm4gdyhlKX19KX1GKHQpLEoodCxlPT5mKGMsZSksKCk9PncoYykpLEwodCxlPT5jZT8uKGUpKSx2KGU9PntuPUgodCxgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBtYXgtaGVpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0YCxuLGUpLFcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0UG9wdXBGcmFtZSl9LFsoKT0+KHt3aWR0aDp1KDMwMCksImJvcmRlci1yYWRpdXMiOnUoMjApLG92ZXJmbG93OmBoaWRkZW5gLCJib3gtc2hhZG93IjpgcmdiYSgwLCAwLCAwLCAke2Q/LmxpbWl0U2hhZG93P2AwLjIpIDBweCAzcHggMTJweGA6YCR7dyhwKX0pIDBweCAzcHggMTZweGB9YH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246NDAwfSkpLFooZSx0KX07UChoLGU9PntpKCkmJmUoZyl9KSxaKGUsbSksQigpLHMoKX12YXIganQ9ZChgPGRpdiBjbGFzcz0iZmxleCBwLTIiPjxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gTXQoZSx0KXtsZXQgbj12ZSh0LGBzaXplYCwzLGBtZGApLHI9dmUodCxgY29sb3JgLDMsYGJsYWNrYCksaT1BKCgpPT50Lml0ZXJhdGlvbnM/P2BpbmZpbml0ZWApO3ZhciBvPWp0KCkscz1hKG8pO2xldCBjO3ZhciBsPW0ocywyKTtsZXQgdTt2YXIgZD1tKGwsMik7bGV0IGY7RihvKSx2KCgpPT57WShzLDEsYHR5cGluZy1pbmRpY2F0b3IgJHtuKCl9IGluZGljYXRvci1jb2xvci0ke3IoKX0gYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksYz1IKHMsYGAsYyx7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KSxZKGwsMSxgdHlwaW5nLWluZGljYXRvciAke24oKX0gaW5kaWNhdG9yLWNvbG9yLSR7cigpfSB0eXBpbmctaW5kaWNhdG9yLXNlY29uZCBhbmltYXRlLXR5cGluZ2AsYHN2ZWx0ZS1zNDB4Z2tgKSx1PUgobCxgYCx1LHsiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCI6dyhpKX0pLFkoZCwxLGB0eXBpbmctaW5kaWNhdG9yICR7bigpfSBpbmRpY2F0b3ItY29sb3ItJHtyKCl9IHR5cGluZy1pbmRpY2F0b3ItdGhpcmQgYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksZj1IKGQsYGAsZix7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KX0pLFooZSxvKX12YXIgTnQ9ZChgPGRpdiBjbGFzcz0iZmxleC1jZW50ZXIgaC1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtbGciPjwhPjwvZGl2PmApO2Z1bmN0aW9uIFB0KGUpe3ZhciB0PU50KCk7TXQoYSh0KSx7aXRlcmF0aW9uczoyfSksRih0KSxaKGUsdCl9dmFyIEZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gSXQoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGVlLGAkc2hvdWxkUmVuZGVyVHlwaW5nRnJhbWVgLHIpLFtyLGldPU8oKSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnN9PUUuZ2V0T3B0aW9ucygpO0koKTt2YXIgYz1UKCksbD1EKGMpLGQ9ZT0+e3ZhciB0PUZ0KCk7bGV0IG47dmFyIHI9YSh0KTt7bGV0IGU9YihYKTtRKHIse2dldCBjb21wb25lbnQoKXtyZXR1cm4gUHR9LGdldCBpZCgpe3JldHVybiBHLndpZGdldFR5cGluZ0ZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCB0eXBpbmdgLGdldCBmcmFtZVN0eWxlKCl7cmV0dXJuIHcoZSl9fSl9Rih0KSxMKHQsZT0+bz8uKGUpKSx2KGU9PntuPUgodCxgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpICR7cz8ubGltaXRTaGFkb3c/YDBweCAzcHggMTJweGA6YDBweCAzcHggMTZweGB9OyBib3JkZXItcmFkaXVzOiAyNHB4O2AsbixlKSxXKHQsYGRhdGEtdGVzdGlkYCxHLndpZGdldFR5cGluZ0ZyYW1lKX0sWygpPT4oe2hlaWdodDp1KDQwKSx3aWR0aDp1KDcwKSxvdmVyZmxvdzpgaGlkZGVuYH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChsLGU9PntuKCkmJmUoZCl9KSxaKGUsYyksQigpLGkoKX12YXIgTHQ9TGUobnVsbCksUnQ9VGUoW0x0XSwoW2VdKT0+ISFlKSx6dD1kKGA8aW1nIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIHNlbGVjdC1ub25lIGJnLWJsYWNrIiB3aWR0aD0iYXV0byIgaGVpZ2h0PSJhdXRvIi8+YCksQnQ9ZChgPHZpZGVvIGNvbnRyb2xzPSIiIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIGJnLWJsYWNrIG9iamVjdC1jb250YWluIj48dHJhY2sga2luZD0iY2FwdGlvbnMiLz4gPHNvdXJjZS8+PC92aWRlbz5gLDIpLFZ0PWQoYDxkaXYgY2xhc3M9InctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCI+PGRpdiBjbGFzcz0iZmxleC1zaHJpbmsgZmxleCBmbGV4LXJvdyB3LWZ1bGwgYmctYmxhY2sgdGV4dC13aGl0ZSI+PGRpdiBjbGFzcz0iZmxleC1ncm93IGZsZXggaXRlbXMtY2VudGVyIHRleHQtbWQgcHgtNCBvdmVyZmxvdy1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlbiI+IDwvc3Bhbj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleC1zaHJpbmsiPjwhPjwvZGl2PjwvZGl2PiA8ZGl2PjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIEh0KGUsbil7TihuLCEwKTtsZXQgcj0oKT0+TShyZSxgJGlzRGVza3RvcGAscyksaT0oKT0+TShMdCxgJHByZXZpZXdlZE1lZGlhYCxzKSxvPSgpPT5NKGosYCR0YCxzKSxbcyxjXT1PKCksbD1BKHIpLHU9ZT0+e2U9PT1gb3ZlcmxheWAmJiF3KGwpfHxMdC5zZXQobnVsbCl9O3ZhciBkPVZ0KCksZj1hKGQpLHA9YShmKSxoPWEocCksZz1hKGgsITApO0YoaCksRihwKTt2YXIgXz1tKHAsMikseT1hKF8pO3tsZXQgZT1BKCgpPT5vKCkoYHRvb2x0aXAuY2xvc2VgKSk7VmUoeSx7b25DbGljazooKT0+dShgYnV0dG9uYCksZ2V0IGljb24oKXtyZXR1cm4gSWV9LGdldCBpY29uRGVzY3JpcHRpb24oKXtyZXR1cm4gdyhlKX0saWNvblNjYWxlOiEwLHNpemU6YHhsYH0pfUYoXyksRihmKTt2YXIgYj1tKGYsMikseD1hKGIpLFM9ZT0+e3ZhciBuPXp0KCk7digoKT0+e1cobixgc3JjYCxpKCk/LmF0dGFjaG1lbnQudXJsKSxXKG4sYGFsdGAsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKX0pLHQoYGNsaWNrYCxuLGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpLFYoYGtleXByZXNzYCxuLCgpPT57fSksWihlLG4pfSxDPWU9Pnt2YXIgbj1CdCgpO24uYXV0b3BsYXk9ITAsbi5sb29wPSEwO3ZhciByPW0oYShuKSwyKTtGKG4pLHYoKCk9Plcocixgc3JjYCxpKCkuYXR0YWNobWVudC51cmwpKSx0KGBjbGlja2AsbixlPT5lLnN0b3BQcm9wYWdhdGlvbigpKSxWKGBrZXlwcmVzc2AsbiwoKT0+e30pLFooZSxuKX07UCh4LGU9PntpKCk/LnR5cGU9PT13ZS5JbWFnZT9lKFMpOmkoKT8udHlwZT09PXdlLlZpZGVvJiZlKEMsMSl9KSxGKGIpLEYoZCksdigoKT0+e2xlKGcsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKSxZKGIsMSxDZShbYHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBmbGV4LWdyb3cgZmxleCBpdGVtcy1jZW50ZXIgYmctYmxhY2svODAgei0xMGAscigpP2BwLThgOmBwLTRgXSkpfSksdChgY2xpY2tgLGIsKCk9PnUoYG92ZXJsYXlgKSksVihga2V5cHJlc3NgLGIsKCk9Pnt9KSxLKDEsZCwoKT0+VSwoKT0+KHt5OjIwLGRlbGF5OjMwMCxkdXJhdGlvbjo0MDB9KSksSygyLGQsKCk9PlUsKCk9Pih7eToxMCxkdXJhdGlvbjoyNTB9KSksWihlLGQpLEIoKSxjKCl9QWUoW2BjbGlja2BdKTt2YXIgVXQ9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBXdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oUnQsYCRzaG91bGRSZW5kZXJNZWRpYVByZXZpZXdgLHIpLFtyLGldPU8oKTtJKCk7dmFyIG89VCgpLHM9RChvKSxjPWU9Pnt2YXIgdD1VdCgpO0godCxgYCx7fSx7dHJhbnNpdGlvbjpgbWF4LWhlaWdodCAyNTBtcyBlYXNlLWluLW91dCwgd2lkdGggMjUwbXMgZWFzZS1pbi1vdXRgfSk7dmFyIG49YSh0KTt7bGV0IGU9YigoKT0+WChlPT57ZS5zdHlsZS5wb3NpdGlvbj1gZml4ZWRgfSkpO1Eobix7Z2V0IGNvbXBvbmVudCgpe3JldHVybiBIdH0sZ2V0IGlkKCl7cmV0dXJuIEcud2lkZ2V0SW1hZ2VQcmV2aWV3fSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBpbWFnZSBwcmV2aWV3YCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LGU9PldlPy4oZSkpLHYoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0SW1hZ2VQcmV2aWV3KSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheToxMDAsZHVyYXRpb246MjUwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChzLGU9PntuKCkmJmUoYyl9KSxaKGUsbyksQigpLGkoKX12YXIgR3Q9ZChgPCE+IDwhPiA8IT4gPCE+IDwhPmAsMSk7ZnVuY3Rpb24gS3QodCxyKXtOKHIsITApO2xldCBpPSgpPT5NKG1lLGAkbGFzdFVucmVhZE1lc3NhZ2VgLG8pLGE9KCk9Pk0oXyxgJGlzTWVzc2VuZ2VyRnJhbWVPcGVuYCxvKSxbbyxzXT1PKCk7aygoKT0+eyhhc3luYygpPT57YXdhaXQgemUoKSxhd2FpdCBwZS5pbml0Q2xpZW50KCl9KSgpfSksQygoKT0+e2koKSYmIWEoKSYmZSgpfSksZ2UoUygpKSxIZShuKSYmeShTKCkpLFllKHQse2NoaWxkcmVuOihlLHQpPT57dmFyIG49R3QoKSxyPUQobik7SXQocix7fSk7dmFyIGk9bShyLDIpO0F0KGkse30pO3ZhciBhPW0oaSwyKTtwdChhLHt9KTt2YXIgbz1tKGEsMik7d3Qobyx7fSksV3QobShvLDIpLHt9KSxaKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSksQigpLHMoKX12YXIgcXQ9Zyh3aW5kb3cpO0UuaW5pdChxdC5vcHRpb25zKSxxdC5pbnN0YWxsQXBpKE1lKSxjLnNldFRoZW1lQ29sb3IocXQub3B0aW9ucyksUmUoKSxvZSgpLEdlKEt0LHt0YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGFwcGApfSk7ZXhwb3J0e010IGFzIG4sTHQgYXMgdH07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4tdDZXeExBQkEuanMubWFw"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/diamond.jpeg","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.250Z","timestamp":1785123385250,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/diamond.jpeg HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"1dcc9-65fd8520-6d4c68df98d17c5d;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 122057\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":122057,"size_decoded":122457,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1024x765, components 3","md5":"bbf8a25d8bfae54101c3bf2d2d47bb3e","sha1":"21aa9743c38a11d48d177324870878528482a94a","sha256":"2edbeca84b984ec6890e1e0dcfeb7b266d93b958e3b8eca5e1b16c3866974e0d","sha512":"9879753ffd706bece9b49cd7dadd7be7e91a06c76b2d31e213c3c9600d60485308a4fda2c45beb8776f5e81a7c2ab02aa6f0f7303959c4429f8f343e594ef258","ssdeep":"3072:+mqWjiK3OdV1MNWTbQCDdA9CFOQ3gXXMcQJVlUYcat1OfnwDeTV:Nx+dV1MNWTbNDd5FkxQPCYzleTV","tlshash":"66c31297152ef414d029cb25c5c285a3d2675c029bcf4b6c8ef27231bfdbb5e8186e94","first_seen":"2026-07-20T01:17:14.342308Z","last_seen":"2026-07-27T04:20:53.393906Z","times_seen":8,"resource_available":false,"data":"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K5qW8y3ZRTn2W2Fub3Z3fwECQEW/hctjq4L79vr77e/3m6rxra56/LenUb7/AH/5z9937/eei109999JQv0Pb9BqMGfSstv72l//APPUfbXu7/8Ah8VabU+f3r3eudFrj1/rFvzqe67bn333T22/+qUAv6VdLL4X1td0nzeTpfp5qa7deiCzyCXva6m82er/AIb5HdsdtfS6xj9915EU8mauVYm0a/Mfr39/r1f30+fS+/rX+FtZlN19XT/7/wDe+3dfz/szMtd//iJtDb+di/tPvmOub0LXfvbl/wC/z54bIPirnN95H1n3Rt5fPu19VzrnT0abz/zS/ueom53P7Xj3u5nNTCWxfV93b/ffmAb++3DP3xp16505m0H/AAx9M58O861sNX0p8Y3f81E+osT/AOymlKuvOPXevKNz/wAuORjMrzqor39w8jHT9/7rEvTrne9ZBWl/l7O8Xlnv5LY779dvTY2Unq/z7rbr66XXv/zj1f6+fn7qqxxjs3fPft7v+vzAB+T7n/mn/U1FT5b7579h+X/6w3/16/fZ/wC+aevuZ8v8skUs4/1Jnf8Af9fT7e3adXfb/YjHOCzd89Pwuilv8619suVWXvit/wBi/wD63/cz/wCuK55hunPrLNcPUVTMH/x+w453n3vwPtvu/nPP19z3lvvArZto4afo13edKbGXnldf5nu5/KRdo/fz+v1rmXb87/PNnKSjx6yreb9mfc8/bVRb13f2TdPVtd9JfdrcNn27uZZ7+HPes8ePToZ36GlX/X78TZkFF425wb+7313L8RYHdh0hPMf+8edCsL8Y2AfascxqPxPmL+p/mH9l6sOssWa2+//EACkRAQEBAAICAQMEAgMBAQAAAAEAERAhIDFBMFFhcYGRobHRQMHh8PH/2gAIAQMBAT8QTFLJt3qOpJ6Mth21IW9cakderAt3qTeMgiPxZZZPcH2sgGzLNszjZgyzqRzL13Pdk/EPXdmtndizOp+V6s2C7R7yz4gDos72DZO59Qd7Zoyb6jtlo9ts8bbIt2s5MmJZZZw8fEK3ZGyI368DxtsSdWWQWTBsHwyBJBYMTFmXbuYll+V0bGyRogg7k7mA+oM6sSVGxjqWJSONwstk4fVloWlpsvUdlswZB8t1dXSyNsCwsIHzFvGRhfMxNkWWSTZeo7kg57iYL52zgvfCfN37h2Tj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"}},"time_used":377,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":359,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/images/logo.png","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.244Z","timestamp":1785123386244,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /images/logo.png HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:26 GMT\r\ncontent-type: image/png\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"f43-65fd8520-db0d2633a61cda2c;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 3907\r\ndate: Mon, 27 Jul 2026 03:36:26 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":3907,"size_decoded":4302,"mime_type":"image/png","magic":"PNG image data, 2 x 3, 8-bit/color RGBA, non-interlaced","md5":"867a1400124bc728c69efa9bb6b49310","sha1":"e3f974fad2661e1093d6eba0685983e144df798f","sha256":"dd2fdad62627a7a23572d81e55003d0caff6b75e6c6686c509cf3e2bcec44edd","sha512":"0cb8c65197a7607d133f4ae530781aec28d97e1a36aa92a26e62061c9e7529c645fc5fe473c69bb1f0b44d981de8e81bc24018db29158bbf1ccb81c73ee4b251","ssdeep":"","tlshash":"d7814c3859d61171c458d3b1c9c11508d8f68adffe56e215bbcc8da36f406c5643768c","first_seen":"2025-07-07T00:18:26.17188Z","last_seen":"2026-07-27T03:38:03.734455Z","times_seen":7,"resource_available":false,"data":"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lxwAB3IPPP859ecbB8MPthxiHao7bHW48gj9SHE9Up9f39cgbOhuTG7sODrxaEuTd9ORX8b9svuY+bGK43rHV55QO1F4YvBkwcn+Zmnzy1MZpx61zGi5c3ry6WtnJp1pPxt+9vy5kHOnW9mtJ8/7nD92wevC0Yusiw2X3C/Vt7m1HfnV7dcj7e7t9Zc9Ljde8bzS1DGh40SnX+epq0FXz13jXLt0Pep6x42EGze7pnZ13+TffHpLfOv17bzbA3cW3iXcLb6nda/svvH9qt/sftvf7d59/EHQg7aHcQ/vPOI9evFY/vhLT2EvtbfsidmT6qfOT489C3l25fmU5z0vpC8GXhb9S/tfla9sXx3+3f/3tr7JfT2vZa8H35S+NXy7+53ru5b+mP7777PfD3wo/mj4cc8n1qfWz0mfnwzM+kL6Uv7V7mvTt/BvdwezBwelXBlXtRXAYEPT0wF4sxvuE5IBoF+B284pQ2cglSFD5zYVAv+Eh85JKnMHYEcz3L34A5AA+23KY8dCqA3/x8AW7w9QF5c/2rDJ012ch7TUG+DWpGxw8C3c45PsAPjaNTg40DA4+HUXXOxtAJrfD529lMZ8DPcy2eAfbOhc9qcY/94D5Qpcwd/7fwMrNGjOuKFR/wAAAGJlWElmTU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA5KGAAcAAAASAAAAUKACAAQAAAABAAAAAqADAAQAAAABAAAAAwAAAABBU0NJSQAAAFNjcmVlbnNob3Q9ms0gAAACOWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CvU3O+MAAAALSURBVAgdY2DACQAAGwABPdl6wQAAAABJRU5ErkJggg=="}},"time_used":98,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":98,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate-pa.googleapis.com/v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback","fqdn":"translate-pa.googleapis.com","domain":"translate-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.114.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{88975ab2-27c5-4175-aa69-357d9bddd98b}?https://alpha-achieveer.co","date":"2026-07-27T03:36:26.469Z","timestamp":1785123386469,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"GET /v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback HTTP/1.1\r\nHost: translate-pa.googleapis.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://alpha-achieveer.co/\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\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncross-origin-resource-policy: cross-origin\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 03:36:26 GMT\r\nserver: ESF\r\ncontent-length: 2635\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: NID=533=QKbM9C0Qe1z6ikEc4YLsdG7kInQ_OPNQIMZY9xtniUrUCiDIZXBXy1QHpTkTgL6yQPDfDk5y3CuEaOXzDKAW8qosK5AaVJKH7ImxDFNEC3QzDtS5Z_Bx3Kjf-bG-xGpm5kzcl53H6vglMgHou1-WTHbYNDHaoWAVcUn98iz7QJq2nPHeeRiBIKCeZpwoSb5J86OSSBIgE6dq59oybKsJNHIVm05twGLS; expires=Tue, 26-Jan-2027 03:36:26 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 03:36:26 GMT\r\ncache-control: private\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":31482,"size_decoded":3502,"mime_type":"text/javascript; charset=UTF-8","magic":"Unicode text, UTF-8 text","md5":"91115de97ad1a90076e130223cdd90ad","sha1":"f3ad22e4fa892dfbff0d083bc0465fc3a2240317","sha256":"816e9881b1955d8beff3011d93481dad4c4de71bbd80b50ac267e7e45d4c3bad","sha512":"fbca69c3431240ab374b9ccfb06d76074059cdfe2f153743b292020271a8a3a36885189594a97fd74b43249b1f6359af62dfd0731e7b50e024f37faebdccf620","ssdeep":"192:Z6STcB9aqiD0+52DdKXrWryLxizUSTcB9aqdD0+52DdKXrWryLxG:JTcbaU3KXiMxidTcbah3KXiMxG","tlshash":"d0e267bae8b50d9b6a5e65b416fa2a03306041db4edc3c053b1c1e4c6fdec1e6c7169e","first_seen":"2025-09-02T05:12:23.753308Z","last_seen":"2026-07-31T12:08:53.698811Z","times_seen":8838,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":54,"timings":{"blocked":-1,"dns":2,"connect":8,"send":0,"wait":23,"receive":0,"ssl":21},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/jquery-ui.min.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:24.988Z","timestamp":1785123384988,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/jquery-ui.min.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"7259-65fd8520-d27af14f476aa8ae;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6676\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29273,"size_decoded":7116,"mime_type":"text/css","magic":"ASCII text, with very long lines (27721)","md5":"503919dcbf40b21eb51253241333fbe3","sha1":"f709905d6aa2e6d0194caa4bd24627f9bf207828","sha256":"134afb716bf1eac3c1bb5480ed983c45f0ca6724dab01e30ed44ff721405ec32","sha512":"db7845a3d06a5a640d57c201f08c5997abc52d322f5510339816c906439d337f38197c34d4395c29f5def0ea1eb8d02f72dca6237263081c1ad88f9035c9cc49","ssdeep":"384:6MxJvLzBIRJ1eU8+4026L/72fZBhVt03R:6KvLzBI9Y02XBhcB","tlshash":"d5d24230a5c2212dfe23d23060e11ff4523bc142eda65f7da09ab75993e98e4c47b971","first_seen":"2023-04-07T09:30:32Z","last_seen":"2026-07-27T14:34:25.242458Z","times_seen":523,"resource_available":false,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjExLjQgLSAyMDE1LTEyLTA5CiogaHR0cDovL2pxdWVyeXVpLmNvbQoqIEluY2x1ZGVzOiBjb3JlLmNzcywgZHJhZ2dhYmxlLmNzcywgcmVzaXphYmxlLmNzcywgc2VsZWN0YWJsZS5jc3MsIHNvcnRhYmxlLmNzcywgYWNjb3JkaW9uLmNzcywgYXV0b2NvbXBsZXRlLmNzcywgYnV0dG9uLmNzcywgZGF0ZXBpY2tlci5jc3MsIGRpYWxvZy5jc3MsIG1lbnUuY3NzLCBwcm9ncmVzc2Jhci5jc3MsIHNlbGVjdG1lbnUuY3NzLCBzbGlkZXIuY3NzLCBzcGlubmVyLmNzcywgdGFicy5jc3MsIHRvb2x0aXAuY3NzLCB0aGVtZS5jc3MKKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8/ZmZEZWZhdWx0PUFyaWFsJTJDSGVsdmV0aWNhJTJDc2Fucy1zZXJpZiZmc0RlZmF1bHQ9MWVtJmZ3RGVmYXVsdD1ub3JtYWwmY29ybmVyUmFkaXVzPTNweCZiZ0NvbG9ySGVhZGVyPWU5ZTllOSZiZ1RleHR1cmVIZWFkZXI9ZmxhdCZib3JkZXJDb2xvckhlYWRlcj1kZGRkZGQmZmNIZWFkZXI9MzMzMzMzJmljb25Db2xvckhlYWRlcj00NDQ0NDQmYmdDb2xvckNvbnRlbnQ9ZmZmZmZmJmJnVGV4dHVyZUNvbnRlbnQ9ZmxhdCZib3JkZXJDb2xvckNvbnRlbnQ9ZGRkZGRkJmZjQ29udGVudD0zMzMzMzMmaWNvbkNvbG9yQ29udGVudD00NDQ0NDQmYmdDb2xvckRlZmF1bHQ9ZjZmNmY2JmJnVGV4dHVyZURlZmF1bHQ9ZmxhdCZib3JkZXJDb2xvckRlZmF1bHQ9YzVjNWM1JmZjRGVmYXVsdD00NTQ1NDUmaWNvbkNvbG9yRGVmYXVsdD03Nzc3NzcmYmdDb2xvckhvdmVyPWVkZWRlZCZiZ1RleHR1cmVIb3Zlcj1mbGF0JmJvcmRlckNvbG9ySG92ZXI9Y2NjY2NjJmZjSG92ZXI9MmIyYjJiJmljb25Db2xvckhvdmVyPTU1NTU1NSZiZ0NvbG9yQWN0aXZlPTAwN2ZmZiZiZ1RleHR1cmVBY3RpdmU9ZmxhdCZib3JkZXJDb2xvckFjdGl2ZT0wMDNlZmYmZmNBY3RpdmU9ZmZmZmZmJmljb25Db2xvckFjdGl2ZT1mZmZmZmYmYmdDb2xvckhpZ2hsaWdodD1mZmZhOTAmYmdUZXh0dXJlSGlnaGxpZ2h0PWZsYXQmYm9yZGVyQ29sb3JIaWdobGlnaHQ9ZGFkNTVlJmZjSGlnaGxpZ2h0PTc3NzYyMCZpY29uQ29sb3JIaWdobGlnaHQ9Nzc3NjIwJmJnQ29sb3JFcnJvcj1mZGRmZGYmYmdUZXh0dXJlRXJyb3I9ZmxhdCZib3JkZXJDb2xvckVycm9yPWYxYTg5OSZmY0Vycm9yPTVmM2YzZiZpY29uQ29sb3JFcnJvcj1jYzAwMDAmYmdDb2xvck92ZXJsYXk9YWFhYWFhJmJnVGV4dHVyZU92ZXJsYXk9ZmxhdCZiZ0ltZ09wYWNpdHlPdmVybGF5PTAmb3BhY2l0eU92ZXJsYXk9MzAmYmdDb2xvclNoYWRvdz02NjY2NjYmYmdUZXh0dXJlU2hhZG93PWZsYXQmYmdJbWdPcGFjaXR5U2hhZG93PTAmb3BhY2l0eVNoYWRvdz0zMCZ0aGlja25lc3NTaGFkb3c9NXB4Jm9mZnNldFRvcFNoYWRvdz0wcHgmb2Zmc2V0TGVmdFNoYWRvdz0wcHgmY29ybmVyUmFkaXVzU2hhZG93PThweAoqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzOyBMaWNlbnNlZCBNSVQgKi8KCi51aS1oZWxwZXItaGlkZGVue2Rpc3BsYXk6bm9uZX0udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxle2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4fS51aS1oZWxwZXItcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MDtsaW5lLWhlaWdodDoxLjM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zaXplOjEwMCU7bGlzdC1zdHlsZTpub25lfS51aS1oZWxwZXItY2xlYXJmaXg6YmVmb3JlLC51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0udWktaGVscGVyLWNsZWFyZml4OmFmdGVye2NsZWFyOmJvdGh9LnVpLWhlbHBlci1jbGVhcmZpeHttaW4taGVpZ2h0OjB9LnVpLWhlbHBlci16Zml4e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKX0udWktZnJvbnR7ei1pbmRleDoxMDB9LnVpLXN0YXRlLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0IWltcG9ydGFudH0udWktaWNvbntkaXNwbGF5OmJsb2NrO3RleHQtaW5kZW50Oi05OTk5OXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnVpLXdpZGdldC1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS51aS1kcmFnZ2FibGUtaGFuZGxley1tcy10b3VjaC1hY3Rpb246bm9uZTt0b3VjaC1hY3Rpb246bm9uZX0udWktcmVzaXphYmxle3Bvc2l0aW9uOnJlbGF0aXZlfS51aS1yZXNpemFibGUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZTowLjFweDtkaXNwbGF5OmJsb2NrOy1tcy10b3VjaC1hY3Rpb246bm9uZTt0b3VjaC1hY3Rpb246bm9uZX0udWktcmVzaXphYmxlLWRpc2FibGVkIC51aS1yZXNpemFibGUtaGFuZGxlLC51aS1yZXNpemFibGUtYXV0b2hpZGUgLnVpLXJlc2l6YWJsZS1oYW5kbGV7ZGlzcGxheTpub25lfS51aS1yZXNpemFibGUtbntjdXJzb3I6bi1yZXNpemU7aGVpZ2h0OjdweDt3aWR0aDoxMDAlO3RvcDotNXB4O2xlZnQ6MH0udWktcmVzaXphYmxlLXN7Y3Vyc29yOnMtcmVzaXplO2hlaWdodDo3cHg7d2lkdGg6MTAwJTtib3R0b206LTVweDtsZWZ0OjB9LnVpLXJlc2l6YWJsZS1le2N1cnNvcjplLXJlc2l6ZTt3aWR0aDo3cHg7cmlnaHQ6LTVweDt0b3A6MDtoZWlnaHQ6MTAwJX0udWktcmVzaXphYmxlLXd7Y3Vyc29yOnctcmVzaXplO3dpZHRoOjdweDtsZWZ0Oi01cHg7dG9wOjA7aGVpZ2h0OjEwMCV9LnVpLXJlc2l6YWJsZS1zZXtjdXJzb3I6c2UtcmVzaXplO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7cmlnaHQ6MXB4O2JvdHRvbToxcHh9LnVpLXJlc2l6YWJsZS1zd3tjdXJzb3I6c3ctcmVzaXplO3dpZHRoOjlweDtoZWlnaHQ6OXB4O2xlZnQ6LTVweDtib3R0b206LTVweH0udWktcmVzaXphYmxlLW53e2N1cnNvcjpudy1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7bGVmdDotNXB4O3RvcDotNXB4fS51aS1yZXNpemFibGUtbmV7Y3Vyc29yOm5lLXJlc2l6ZTt3aWR0aDo5cHg7aGVpZ2h0OjlweDtyaWdodDotNXB4O3RvcDotNXB4fS51aS1zZWxlY3RhYmxley1tcy10b3VjaC1hY3Rpb246bm9uZTt0b3VjaC1hY3Rpb246bm9uZX0udWktc2VsZWN0YWJsZS1oZWxwZXJ7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDA7Ym9yZGVyOjFweCBkb3R0ZWQgYmxhY2t9LnVpLXNvcnRhYmxlLWhhbmRsZXstbXMtdG91Y2gtYWN0aW9uOm5vbmU7dG91Y2gtYWN0aW9uOm5vbmV9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlcntkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjoycHggMCAwIDA7cGFkZGluZzouNWVtIC41ZW0gLjVlbSAuN2VtO21pbi1oZWlnaHQ6MDtmb250LXNpemU6MTAwJX0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taWNvbnN7cGFkZGluZy1sZWZ0OjIuMmVtfS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWljb25ze3BhZGRpbmctbGVmdDoyLjJlbX0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIC51aS1hY2NvcmRpb24taGVhZGVyLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDouNWVtO3RvcDo1MCU7bWFyZ2luLXRvcDotOHB4fS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50e3BhZGRpbmc6MWVtIDIuMmVtO2JvcmRlci10b3A6MDtvdmVyZmxvdzphdXRvfS51aS1hdXRvY29tcGxldGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2N1cnNvcjpkZWZhdWx0fS51aS1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowO2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW4tcmlnaHQ6LjFlbTtjdXJzb3I6cG9pbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6dmlzaWJsZX0udWktYnV0dG9uLC51aS1idXR0b246bGluaywudWktYnV0dG9uOnZpc2l0ZWQsLnVpLWJ1dHRvbjpob3ZlciwudWktYnV0dG9uOmFjdGl2ZXt0ZXh0LWRlY29yYXRpb246bm9uZX0udWktYnV0dG9uLWljb24tb25seXt3aWR0aDoyLjJlbX1idXR0b24udWktYnV0dG9uLWljb24tb25seXt3aWR0aDoyLjRlbX0udWktYnV0dG9uLWljb25zLW9ubHl7d2lkdGg6My40ZW19YnV0dG9uLnVpLWJ1dHRvbi1pY29ucy1vbmx5e3dpZHRoOjMuN2VtfS51aS1idXR0b24gLnVpLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6bm9ybWFsfS51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMWVtfS51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24tdGV4dCwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi10ZXh0e3BhZGRpbmc6LjRlbTt0ZXh0LWluZGVudDotOTk5OTk5OXB4fS51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1dHRvbi10ZXh0LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZzouNGVtIDFlbSAuNGVtIDIuMWVtfS51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLXRleHQsLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMi4xZW0gLjRlbSAxZW19LnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nLWxlZnQ6Mi4xZW07cGFkZGluZy1yaWdodDoyLjFlbX1pbnB1dC51aS1idXR0b257cGFkZGluZzouNGVtIDFlbX0udWktYnV0dG9uLWljb24tb25seSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1pY29uLC51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWljb24sLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bWFyZ2luLXRvcDotOHB4fS51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29ue2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi04cHh9LnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeSwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5e2xlZnQ6LjVlbX0udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeXtyaWdodDouNWVtfS51aS1idXR0b25zZXR7bWFyZ2luLXJpZ2h0OjdweH0udWktYnV0dG9uc2V0IC51aS1idXR0b257bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6LS4zZW19aW5wdXQudWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLGJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfS51aS1kYXRlcGlja2Vye3dpZHRoOjE3ZW07cGFkZGluZzouMmVtIC4yZW0gMDtkaXNwbGF5Om5vbmV9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6LjJlbSAwfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O3dpZHRoOjEuOGVtO2hlaWdodDoxLjhlbX0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXJ7dG9wOjFweH0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2e2xlZnQ6MnB4fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHR7cmlnaHQ6MnB4fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXJ7bGVmdDoxcHh9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlcntyaWdodDoxcHh9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi04cHg7dG9wOjUwJTttYXJnaW4tdG9wOi04cHh9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGV7bWFyZ2luOjAgMi4zZW07bGluZS1oZWlnaHQ6MS44ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0e2ZvbnQtc2l6ZToxZW07bWFyZ2luOjFweCAwfS51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLC51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXJ7d2lkdGg6NDUlfS51aS1kYXRlcGlja2VyIHRhYmxle3dpZHRoOjEwMCU7Zm9udC1zaXplOi45ZW07Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO21hcmdpbjowIDAgLjRlbX0udWktZGF0ZXBpY2tlciB0aHtwYWRkaW5nOi43ZW0gLjNlbTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDpib2xkO2JvcmRlcjowfS51aS1kYXRlcGlja2VyIHRke2JvcmRlcjowO3BhZGRpbmc6MXB4fS51aS1kYXRlcGlja2VyIHRkIHNwYW4sLnVpLWRhdGVwaWNrZXIgdGQgYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjJlbTt0ZXh0LWFsaWduOnJpZ2h0O3RleHQtZGVjb3JhdGlvbjpub25lfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7YmFja2dyb3VuZC1pbWFnZTpub25lO21hcmdpbjouN2VtIDAgMCAwO3BhZGRpbmc6MCAuMmVtO2JvcmRlci1sZWZ0OjA7Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWJvdHRvbTowfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9ue2Zsb2F0OnJpZ2h0O21hcmdpbjouNWVtIC4yZW0gLjRlbTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOi4yZW0gLjZlbSAuM2VtIC42ZW07d2lkdGg6YXV0bztvdmVyZmxvdzp2aXNpYmxlfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudHtmbG9hdDpsZWZ0fS51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGl7d2lkdGg6YXV0b30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cHtmbG9hdDpsZWZ0fS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxle3dpZHRoOjk1JTttYXJnaW46MCBhdXRvIC40ZW19LnVpLWRhdGVwaWNrZXItbXVsdGktMiAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDo1MCV9LnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDozMy4zJX0udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3Vwe3dpZHRoOjI1JX0udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlciwudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRlci1sZWZ0LXdpZHRoOjB9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZXtjbGVhcjpsZWZ0fS51aS1kYXRlcGlja2VyLXJvdy1icmVha3tjbGVhcjpib3RoO3dpZHRoOjEwMCU7Zm9udC1zaXplOjB9LnVpLWRhdGVwaWNrZXItcnRse2RpcmVjdGlvbjpydGx9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXZ7cmlnaHQ6MnB4O2xlZnQ6YXV0b30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dHtsZWZ0OjJweDtyaWdodDphdXRvfS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVye3JpZ2h0OjFweDtsZWZ0OmF1dG99LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXJ7bGVmdDoxcHg7cmlnaHQ6YXV0b30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZXtjbGVhcjpyaWdodH0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b257ZmxvYXQ6bGVmdH0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LC51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cHtmbG9hdDpyaWdodH0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fS51aS1kaWFsb2d7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtwYWRkaW5nOi4yZW07b3V0bGluZTowfS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhcntwYWRkaW5nOi40ZW0gMWVtO3Bvc2l0aW9uOnJlbGF0aXZlfS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZXtmbG9hdDpsZWZ0O21hcmdpbjouMWVtIDA7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjkwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LjNlbTt0b3A6NTAlO3dpZHRoOjIwcHg7bWFyZ2luOi0xMHB4IDAgMCAwO3BhZGRpbmc6MXB4O2hlaWdodDoyMHB4fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjowO3BhZGRpbmc6LjVlbSAxZW07YmFja2dyb3VuZDpub25lO292ZXJmbG93OmF1dG99LnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmV7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci13aWR0aDoxcHggMCAwIDA7YmFja2dyb3VuZC1pbWFnZTpub25lO21hcmdpbi10b3A6LjVlbTtwYWRkaW5nOi4zZW0gMWVtIC41ZW0gLjRlbX0udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktZGlhbG9nLWJ1dHRvbnNldHtmbG9hdDpyaWdodH0udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSBidXR0b257bWFyZ2luOi41ZW0gLjRlbSAuNWVtIDA7Y3Vyc29yOnBvaW50ZXJ9LnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNle3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7cmlnaHQ6LTVweDtib3R0b206LTVweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE2cHggMTZweH0udWktZHJhZ2dhYmxlIC51aS1kaWFsb2ctdGl0bGViYXJ7Y3Vyc29yOm1vdmV9LnVpLW1lbnV7bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDttYXJnaW46MDtkaXNwbGF5OmJsb2NrO291dGxpbmU6bm9uZX0udWktbWVudSAudWktbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0udWktbWVudSAudWktbWVudS1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO3BhZGRpbmc6M3B4IDFlbSAzcHggLjRlbTtjdXJzb3I6cG9pbnRlcjttaW4taGVpZ2h0OjA7bGlzdC1zdHlsZS1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIpfS51aS1tZW51IC51aS1tZW51LWRpdmlkZXJ7bWFyZ2luOjVweCAwO2hlaWdodDowO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7Ym9yZGVyLXdpZHRoOjFweCAwIDAgMH0udWktbWVudSAudWktc3RhdGUtZm9jdXMsLnVpLW1lbnUgLnVpLXN0YXRlLWFjdGl2ZXttYXJnaW46LTFweH0udWktbWVudS1pY29uc3twb3NpdGlvbjpyZWxhdGl2ZX0udWktbWVudS1pY29ucyAudWktbWVudS1pdGVte3BhZGRpbmctbGVmdDoyZW19LnVpLW1lbnUgLnVpLWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDouMmVtO21hcmdpbjphdXRvIDB9LnVpLW1lbnUgLnVpLW1lbnUtaWNvbntsZWZ0OmF1dG87cmlnaHQ6MH0udWktcHJvZ3Jlc3NiYXJ7aGVpZ2h0OjJlbTt0ZXh0LWFsaWduOmxlZnQ7b3ZlcmZsb3c6aGlkZGVufS51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItdmFsdWV7bWFyZ2luOi0xcHg7aGVpZ2h0OjEwMCV9LnVpLXByb2dyZXNzYmFyIC51aS1wcm9ncmVzc2Jhci1vdmVybGF5e2JhY2tncm91bmQ6dXJsKCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFvQUlBQkFBQUFBUC8vL3lIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2tZd05xWHJkQzUyRFMwNmE3TUZaSSs0RkhCQ0tvRGVXS1hxeW1QcUdxeHZKclhaYk14N1R0Yyt3OVhnVTJGQjNsT3lRUldFVDJJRkdpVTltMWZyRFZweFpaYzZiZkh3djRjMVlYUDZrMVZkeTI5MkZiNlVrdXZGdFhwdldTekErSHljWEpIVVhpR1lJaU1nMlI2VzQ1OWduV0dmSE5kaklxRFdWcWVtSDJla3BPYmtwT2xwcFdVcVppcXI2ZWRxcVdRQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcFNNZ1puR2ZhcWNnMUUydXV6RG1tSFVCUjhRaWw5NWhpUEtxV24zYXF0THNTMTh5N0cxU3pOZW93V0JFTnRRZCtUMUprdFAwNW56UFRkSlpsUjZ2VXhOV1dqVit2VVdoV05rV0Z3eGw5VnBaUmVkWWNmbElPTGFmYWEyOFhkc0gveW5sY2MxdVBWRFp4UUlSMEsyNStjSUNDbW9xQ2U1bUdoWk9mZVlTVWg1eUpjSnlya1pXV3BhUjhkb0oybzROWXE2MmxBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZESTRZeTIyWm5JTlJOcW9zdzBCdjdpMWd5SFVrRmo3b1NhV2x1M292QzhHeE5zbzVmbHV6M3FMVmhCVmVUL0x6N1pUSHl4TDVkRGFsUVdQVk9zUVd0Um51d1hhRlRqOWpWVmg4cG1hOUpqWjR6WVNqNVpPeW1hN3V1b2xmZmgrSVI1YVc5N2NIdUJVWEtHS1hsS2puK0RpSFdNY1lKYWg0TjBsWUNNbEpPWGlwR1JyNXFkZ29TVHJxV1NxNldGbDJ5cG9hVUFBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwYUViNkhMZ2QvaU83Rk5XdGNGV2UrdWZPREdqUmZvaUoyYWtTaGJ1ZWIwd3RJNTB6bTAycGJ2d2ZXRU1XQlExektHbExJaHNraUVQbTlSNnZSWHhWNFp6V1QyeUhPR3BXTXlvcmJsS2xOcDhIbUhFYi9sQ1hqY1c3Ym10WFA4WHQyMjlPVldSMWZvZDJlV3FOZkh1TWpYQ1BrSUdOaWxlT2lJbVZtQ09FbW9TZm4zeVhsSldtb0hHaHFwNmlsWXVXWXBtVHFLVWdBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwaUVINmtiNThiaVEzRk5XdE1GV1czZU5WY29qdUZHZnFuWnFTZWJ1UzA2dzVWODAvWDAycEtlOHpGd1A2RUZXT1QxbERGazhyR0VSaDFUVE5Pb2NRNjFIbTRYbTJWZXhVSHB6anltVmlIckZiaUVMc2VmVnJuNlhLZm50MlE5Ry8rWGRpZTQ5OVhIZDJnNGg3aW9PR2hYR0pib0dBblhTQm5vQndLWXlmaW91YlpKMkhuMFJ1UlphZmxaT2lsNTZacDZpaW9LU1hwVUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrb1FScVJ2bnh1STdrVTFhMVVVNWJkNXRuU2VPWlhobW41bFdLM3FOVFd2UmRReFA4cXZhQysveWFZUXpYTzdCTXZhVUVtSlJkM1RzaU1BZ3N3bU5ZclNnWmRZclRYNnRTSEdaTzczZXp1QXcydXh1UStCYmVaZk14c2V4WTM1Ky9RZTRKMWluVjBnNHgzV0h1TWhJbDJqWE9LVDJRK1ZVNWZnb1NVSTUyVmZaeWZrSkdraGE2am1ZK2FhWWRpcnErbFFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLV0JJS3BZZTBMM1lOS1RvcXN3VWx2em5pZ2Q0d2lSNEtoWnJLdDlVcHFpcDYxaTlFM3ZNdnhSZEhsYkVGaUVYZms5WUFSWXhPWlpENlZRMnBVdW5CbXRSWG8xTGY4aE1WVmNObDhKYWZWMzhhTTIvRnU1VjE2Qm42M3I2eHQ5N2owOStNWFNGaTRCbmlHRmFlM2h6Ykg5K2hZQnprcHVVaDVhWm1IdWFuWk9aZ0l1dmJHaU5lb21DbmF4eGFwMnVwYUNac3ErMWtBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLWGpJOEJ5NXpmNGtPeFRWclhOVmx2MVgwZDhJR1pHS0xuTnBZdG04THI5Y3FWZXVPU3ZmT1c3OUQ5YURIaXpOaERKaWRGWmhOeWRFYWhPYURINm5vbXRKanAxdHV0S29OV2t2QTZKcWZSVkxIVS9RVWZhdTlsMng3RzU0ZDFmbDk5NXhjSUdBZFhxTWZCTmFkb1lyaEgrTWcyS0JscFZwYmx1Q2lYbU1uWjJTaDRHQnFKK2NrSU9xcUo2TG1LU2xsWm1zb3E2d3BRQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2xZeC9vTHZveHVKRGtVMWExWVVaYko1OW5TZDJaWGhXcWJSYTIvZ0Y4R3UyRFkzaXFzN3lycSt4QllFa1l2RlNNOGFTU09iRStaZ1JsMUJIRlpOcjdwUkNhdlo1QlcyMTQyaFkzQU4veld0c21mMTJwOVh4eEZsMmxwTG4xcnNlenRmWFpqZElXSWYyczVkSXR3allLQmdvOXlnNXBIZ3pKWFRFZUdsWnVlbnB5UG1wR1FvS09Xa1ltU3BhU25xS2lsZUkyRkFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLVmpCK2d1K2pHNGtPUlRWclZoUmxzbm4yZEozWmxlRmFwdEZyYitDWG1POU9vemVMNVZmUDk5SHZBV2hwaVVkY3drcEJIMzgyNUF3WWRVOHhUcWxMR2h0Q29zQXJLTXB2ZmExbU1SYWU5VnZXWmZlQjJYZlBrZUxtbTE4bFVjQmorcDVkbk44alhaM1lJR0VoWXVPVW40NWFvQ0RrcDE2aGw1SWpZSnZqV0tjbm9HUXBxeVBscE9ocjNhRWxhcXJxNTZCcTdWQUFBT3c9PSIpO2hlaWdodDoxMDAlO2ZpbHRlcjphbHBoYShvcGFjaXR5PTI1KTtvcGFjaXR5OjAuMjV9LnVpLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUgLnVpLXByb2dyZXNzYmFyLXZhbHVle2JhY2tncm91bmQtaW1hZ2U6bm9uZX0udWktc2VsZWN0bWVudS1tZW51e3BhZGRpbmc6MDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ZGlzcGxheTpub25lfS51aS1zZWxlY3RtZW51LW1lbnUgLnVpLW1lbnV7b3ZlcmZsb3c6YXV0bztvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWJvdHRvbToxcHh9LnVpLXNlbGVjdG1lbnUtbWVudSAudWktbWVudSAudWktc2VsZWN0bWVudS1vcHRncm91cHtmb250LXNpemU6MWVtO2ZvbnQtd2VpZ2h0OmJvbGQ7bGluZS1oZWlnaHQ6MS41O3BhZGRpbmc6MnB4IDAuNGVtO21hcmdpbjowLjVlbSAwIDAgMDtoZWlnaHQ6YXV0bztib3JkZXI6MH0udWktc2VsZWN0bWVudS1vcGVue2Rpc3BsYXk6YmxvY2t9LnVpLXNlbGVjdG1lbnUtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0udWktc2VsZWN0bWVudS1idXR0b24gc3Bhbi51aS1pY29ue3JpZ2h0OjAuNWVtO2xlZnQ6YXV0bzttYXJnaW4tdG9wOi04cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJX0udWktc2VsZWN0bWVudS1idXR0b24gc3Bhbi51aS1zZWxlY3RtZW51LXRleHR7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6MC40ZW0gMi4xZW0gMC40ZW0gMWVtO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS40O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0udWktc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdH0udWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mjt3aWR0aDoxLjJlbTtoZWlnaHQ6MS4yZW07Y3Vyc29yOmRlZmF1bHQ7LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lfS51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7Zm9udC1zaXplOi43ZW07ZGlzcGxheTpibG9jaztib3JkZXI6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH0udWktc2xpZGVyLnVpLXN0YXRlLWRpc2FibGVkIC51aS1zbGlkZXItaGFuZGxlLC51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1yYW5nZXtmaWx0ZXI6aW5oZXJpdH0udWktc2xpZGVyLWhvcml6b250YWx7aGVpZ2h0Oi44ZW19LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxle3RvcDotLjNlbTttYXJnaW4tbGVmdDotLjZlbX0udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZXt0b3A6MDtoZWlnaHQ6MTAwJX0udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1taW57bGVmdDowfS51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1heHtyaWdodDowfS51aS1zbGlkZXItdmVydGljYWx7d2lkdGg6LjhlbTtoZWlnaHQ6MTAwcHh9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLWhhbmRsZXtsZWZ0Oi0uM2VtO21hcmdpbi1sZWZ0OjA7bWFyZ2luLWJvdHRvbTotLjZlbX0udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2V7bGVmdDowO3dpZHRoOjEwMCV9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1pbntib3R0b206MH0udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4e3RvcDowfS51aS1zcGlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS51aS1zcGlubmVyLWlucHV0e2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTtjb2xvcjppbmhlcml0O3BhZGRpbmc6MDttYXJnaW46LjJlbSAwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tbGVmdDouNGVtO21hcmdpbi1yaWdodDoyMnB4fS51aS1zcGlubmVyLWJ1dHRvbnt3aWR0aDoxNnB4O2hlaWdodDo1MCU7Zm9udC1zaXplOi41ZW07cGFkZGluZzowO21hcmdpbjowO3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3JpZ2h0OjB9LnVpLXNwaW5uZXIgYS51aS1zcGlubmVyLWJ1dHRvbntib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1yaWdodDpub25lfS51aS1zcGlubmVyIC51aS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6LThweDt0b3A6NTAlO2xlZnQ6MH0udWktc3Bpbm5lci11cHt0b3A6MH0udWktc3Bpbm5lci1kb3due2JvdHRvbTowfS51aS1zcGlubmVyIC51aS1pY29uLXRyaWFuZ2xlLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NXB4IC0xNnB4fS51aS10YWJze3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6LjJlbX0udWktdGFicyAudWktdGFicy1uYXZ7bWFyZ2luOjA7cGFkZGluZzouMmVtIC4yZW0gMH0udWktdGFicyAudWktdGFicy1uYXYgbGl7bGlzdC1zdHlsZTpub25lO2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7bWFyZ2luOjFweCAuMmVtIDAgMDtib3JkZXItYm90dG9tLXdpZHRoOjA7cGFkZGluZzowO3doaXRlLXNwYWNlOm5vd3JhcH0udWktdGFicyAudWktdGFicy1uYXYgLnVpLXRhYnMtYW5jaG9ye2Zsb2F0OmxlZnQ7cGFkZGluZzouNWVtIDFlbTt0ZXh0LWRlY29yYXRpb246bm9uZX0udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmV7bWFyZ2luLWJvdHRvbTotMXB4O3BhZGRpbmctYm90dG9tOjFweH0udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUgLnVpLXRhYnMtYW5jaG9yLC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1kaXNhYmxlZCAudWktdGFicy1hbmNob3IsLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtbG9hZGluZyAudWktdGFicy1hbmNob3J7Y3Vyc29yOnRleHR9LnVpLXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvcntjdXJzb3I6cG9pbnRlcn0udWktdGFicyAudWktdGFicy1wYW5lbHtkaXNwbGF5OmJsb2NrO2JvcmRlci13aWR0aDowO3BhZGRpbmc6MWVtIDEuNGVtO2JhY2tncm91bmQ6bm9uZX0udWktdG9vbHRpcHtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojk5OTk7bWF4LXdpZHRoOjMwMHB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDAgNXB4ICNhYWE7Ym94LXNoYWRvdzowIDAgNXB4ICNhYWF9Ym9keSAudWktdG9vbHRpcHtib3JkZXItd2lkdGg6MnB4fS51aS13aWRnZXR7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbX0udWktd2lkZ2V0IC51aS13aWRnZXR7Zm9udC1zaXplOjFlbX0udWktd2lkZ2V0IGlucHV0LC51aS13aWRnZXQgc2VsZWN0LC51aS13aWRnZXQgdGV4dGFyZWEsLnVpLXdpZGdldCBidXR0b257Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbX0udWktd2lkZ2V0LWNvbnRlbnR7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMzMzfS51aS13aWRnZXQtY29udGVudCBhe2NvbG9yOiMzMzN9LnVpLXdpZGdldC1oZWFkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JhY2tncm91bmQ6I2U5ZTllOTtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OmJvbGR9LnVpLXdpZGdldC1oZWFkZXIgYXtjb2xvcjojMzMzfS51aS1zdGF0ZS1kZWZhdWx0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdHtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7YmFja2dyb3VuZDojZjZmNmY2O2ZvbnQtd2VpZ2h0Om5vcm1hbDtjb2xvcjojNDU0NTQ1fS51aS1zdGF0ZS1kZWZhdWx0IGEsLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLC51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZHtjb2xvcjojNDU0NTQ1O3RleHQtZGVjb3JhdGlvbjpub25lfS51aS1zdGF0ZS1ob3ZlciwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlciwudWktc3RhdGUtZm9jdXMsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JhY2tncm91bmQ6I2VkZWRlZDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzJiMmIyYn0udWktc3RhdGUtaG92ZXIgYSwudWktc3RhdGUtaG92ZXIgYTpob3ZlciwudWktc3RhdGUtaG92ZXIgYTpsaW5rLC51aS1zdGF0ZS1ob3ZlciBhOnZpc2l0ZWQsLnVpLXN0YXRlLWZvY3VzIGEsLnVpLXN0YXRlLWZvY3VzIGE6aG92ZXIsLnVpLXN0YXRlLWZvY3VzIGE6bGluaywudWktc3RhdGUtZm9jdXMgYTp2aXNpdGVke2NvbG9yOiMyYjJiMmI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLXN0YXRlLWFjdGl2ZSwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZle2JvcmRlcjoxcHggc29saWQgIzAwM2VmZjtiYWNrZ3JvdW5kOiMwMDdmZmY7Zm9udC13ZWlnaHQ6bm9ybWFsO2NvbG9yOiNmZmZ9LnVpLXN0YXRlLWFjdGl2ZSBhLC51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVke2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLXN0YXRlLWhpZ2hsaWdodCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0e2JvcmRlcjoxcHggc29saWQgI2RhZDU1ZTtiYWNrZ3JvdW5kOiNmZmZhOTA7Y29sb3I6Izc3NzYyMH0udWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGF7Y29sb3I6Izc3NzYyMH0udWktc3RhdGUtZXJyb3IsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3J7Ym9yZGVyOjFweCBzb2xpZCAjZjFhODk5O2JhY2tncm91bmQ6I2ZkZGZkZjtjb2xvcjojNWYzZjNmfS51aS1zdGF0ZS1lcnJvciBhLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYXtjb2xvcjojNWYzZjNmfS51aS1zdGF0ZS1lcnJvci10ZXh0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dHtjb2xvcjojNWYzZjNmfS51aS1wcmlvcml0eS1wcmltYXJ5LC51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSwudWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeXtmb250LXdlaWdodDpib2xkfS51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeXtvcGFjaXR5Oi43O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTtmb250LXdlaWdodDpub3JtYWx9LnVpLXN0YXRlLWRpc2FibGVkLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRpc2FibGVke29wYWNpdHk6LjM1O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LnVpLXN0YXRlLWRpc2FibGVkIC51aS1pY29ue2ZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KX0udWktaWNvbnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS51aS1pY29uLC51aS13aWRnZXQtY29udGVudCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZyIpfS51aS13aWRnZXQtaGVhZGVyIC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nIil9LnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5wbmciKX0udWktc3RhdGUtaG92ZXIgLnVpLWljb24sLnVpLXN0YXRlLWZvY3VzIC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJpbWFnZXMvdWktaWNvbnNfNTU1NTU1XzI1NngyNDAucG5nIil9LnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZyIpfS51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImltYWdlcy91aS1pY29uc183Nzc2MjBfMjU2eDI0MC5wbmciKX0udWktc3RhdGUtZXJyb3IgLnVpLWljb24sLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImltYWdlcy91aS1pY29uc19jYzAwMDBfMjU2eDI0MC5wbmciKX0udWktaWNvbi1ibGFua3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjE2cHggMTZweH0udWktaWNvbi1jYXJhdC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9LnVpLWljb24tY2FyYXQtMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IDB9LnVpLWljb24tY2FyYXQtMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggMH0udWktaWNvbi1jYXJhdC0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggMH0udWktaWNvbi1jYXJhdC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAwfS51aS1pY29uLWNhcmF0LTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAwfS51aS1pY29uLWNhcmF0LTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IDB9LnVpLWljb24tY2FyYXQtMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAwfS51aS1pY29uLWNhcmF0LTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IDB9LnVpLWljb24tY2FyYXQtMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggMH0udWktaWNvbi10cmlhbmdsZS0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtbmV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTZweH0udWktaWNvbi10cmlhbmdsZS0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTZweH0udWktaWNvbi10cmlhbmdsZS0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTE2cHh9LnVpLWljb24tYXJyb3ctMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtMzJweH0udWktaWNvbi1hcnJvdy0xLW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTMycHh9LnVpLWljb24tYXJyb3ctMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTMycHh9LnVpLWljb24tYXJyb3ctMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0zMnB4fS51aS1pY29uLWFycm93LTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0zMnB4fS51aS1pY29uLWFycm93LTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMzJweH0udWktaWNvbi1hcnJvdy0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMzJweH0udWktaWNvbi1hcnJvdy0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0zMnB4fS51aS1pY29uLWFycm93LTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0zMnB4fS51aS1pY29uLWFycm93LTItbmUtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTMycHh9LnVpLWljb24tYXJyb3ctMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTMycHh9LnVpLWljb24tYXJyb3ctMi1zZS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMzJweH0udWktaWNvbi1hcnJvd3N0b3AtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0zMnB4fS51aS1pY29uLWFycm93c3RvcC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTMycHh9LnVpLWljb24tYXJyb3dzdG9wLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtMzJweH0udWktaWNvbi1hcnJvd3N0b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0zMnB4fS51aS1pY29uLWFycm93dGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTEtbmV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0xLXN3e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTEtbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0yLW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0yLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTItc2Utbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMjI0cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC00OHB4fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13e2JhY2tncm91bmQtcG9zaXRpb246MCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC02NHB4fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTY0cHh9LnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybi0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybi0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybi0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybi0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTY0cHh9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtNjRweH0udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC02NHB4fS51aS1pY29uLWFycm93cmVmcmVzaC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTY0cHh9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtNjRweH0udWktaWNvbi1hcnJvdy00e2JhY2tncm91bmQtcG9zaXRpb246MCAtODBweH0udWktaWNvbi1hcnJvdy00LWRpYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtODBweH0udWktaWNvbi1leHRsaW5re2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTgwcHh9LnVpLWljb24tbmV3d2lue2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTgwcHh9LnVpLWljb24tcmVmcmVzaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC04MHB4fS51aS1pY29uLXNodWZmbGV7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtODBweH0udWktaWNvbi10cmFuc2Zlci1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtODBweH0udWktaWNvbi10cmFuc2ZlcnRoaWNrLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtODBweH0udWktaWNvbi1mb2xkZXItY29sbGFwc2Vke2JhY2tncm91bmQtcG9zaXRpb246MCAtOTZweH0udWktaWNvbi1mb2xkZXItb3BlbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC05NnB4fS51aS1pY29uLWRvY3VtZW50e2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTk2cHh9LnVpLWljb24tZG9jdW1lbnQtYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC05NnB4fS51aS1pY29uLW5vdGV7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtOTZweH0udWktaWNvbi1tYWlsLWNsb3NlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC05NnB4fS51aS1pY29uLW1haWwtb3BlbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC05NnB4fS51aS1pY29uLXN1aXRjYXNle2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC05NnB4fS51aS1pY29uLWNvbW1lbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTk2cHh9LnVpLWljb24tcGVyc29ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC05NnB4fS51aS1pY29uLXByaW50e2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC05NnB4fS51aS1pY29uLXRyYXNoe2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC05NnB4fS51aS1pY29uLWxvY2tlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtOTZweH0udWktaWNvbi11bmxvY2tlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtOTZweH0udWktaWNvbi1ib29rbWFya3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtOTZweH0udWktaWNvbi10YWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTk2cHh9LnVpLWljb24taG9tZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTExMnB4fS51aS1pY29uLWZsYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTEycHh9LnVpLWljb24tY2FsZW5kYXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTEycHh9LnVpLWljb24tY2FydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xMTJweH0udWktaWNvbi1wZW5jaWx7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTEycHh9LnVpLWljb24tY2xvY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTEycHh9LnVpLWljb24tZGlza3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xMTJweH0udWktaWNvbi1jYWxjdWxhdG9ye2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0xMTJweH0udWktaWNvbi16b29taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTExMnB4fS51aS1pY29uLXpvb21vdXR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTExMnB4fS51aS1pY29uLXNlYXJjaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtMTEycHh9LnVpLWljb24td3JlbmNoe2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC0xMTJweH0udWktaWNvbi1nZWFye2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xMTJweH0udWktaWNvbi1oZWFydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTEycHh9LnVpLWljb24tc3RhcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtMTEycHh9LnVpLWljb24tbGlua3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtMTEycHh9LnVpLWljb24tY2FuY2Vse2JhY2tncm91bmQtcG9zaXRpb246MCAtMTI4cHh9LnVpLWljb24tcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMjhweH0udWktaWNvbi1wbHVzdGhpY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTI4cHh9LnVpLWljb24tbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTI4cHh9LnVpLWljb24tbWludXN0aGlja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xMjhweH0udWktaWNvbi1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xMjhweH0udWktaWNvbi1jbG9zZXRoaWNre2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTEyOHB4fS51aS1pY29uLWtleXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTI4cHh9LnVpLWljb24tbGlnaHRidWxie2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0xMjhweH0udWktaWNvbi1zY2lzc29yc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTI4cHh9LnVpLWljb24tY2xpcGJvYXJke2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMjhweH0udWktaWNvbi1jb3B5e2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC0xMjhweH0udWktaWNvbi1jb250YWN0e2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xMjhweH0udWktaWNvbi1pbWFnZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTI4cHh9LnVpLWljb24tdmlkZW97YmFja2dyb3VuZC1wb3NpdGlvbjotMjI0cHggLTEyOHB4fS51aS1pY29uLXNjcmlwdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtMTI4cHh9LnVpLWljb24tYWxlcnR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNDRweH0udWktaWNvbi1pbmZve2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE0NHB4fS51aS1pY29uLW5vdGljZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNDRweH0udWktaWNvbi1oZWxwe2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE0NHB4fS51aS1pY29uLWNoZWNre2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTE0NHB4fS51aS1pY29uLWJ1bGxldHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNDRweH0udWktaWNvbi1yYWRpby1vbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xNDRweH0udWktaWNvbi1yYWRpby1vZmZ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE0NHB4fS51aS1pY29uLXBpbi13e2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0xNDRweH0udWktaWNvbi1waW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTQ0cHh9LnVpLWljb24tcGxheXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE2MHB4fS51aS1pY29uLXBhdXNle2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE2MHB4fS51aS1pY29uLXNlZWstbmV4dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNjBweH0udWktaWNvbi1zZWVrLXByZXZ7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTYwcHh9LnVpLWljb24tc2Vlay1lbmR7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTYwcHh9LnVpLWljb24tc2Vlay1zdGFydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNjBweH0udWktaWNvbi1zZWVrLWZpcnN0e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTE2MHB4fS51aS1pY29uLXN0b3B7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTYwcHh9LnVpLWljb24tZWplY3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE2MHB4fS51aS1pY29uLXZvbHVtZS1vZmZ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2MHB4fS51aS1pY29uLXZvbHVtZS1vbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTYwcHh9LnVpLWljb24tcG93ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNzZweH0udWktaWNvbi1zaWduYWwtZGlhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xNzZweH0udWktaWNvbi1zaWduYWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTc2cHh9LnVpLWljb24tYmF0dGVyeS0we2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE3NnB4fS51aS1pY29uLWJhdHRlcnktMXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xNzZweH0udWktaWNvbi1iYXR0ZXJ5LTJ7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTc2cHh9LnVpLWljb24tYmF0dGVyeS0ze2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE3NnB4fS51aS1pY29uLWNpcmNsZS1wbHVze2JhY2tncm91bmQtcG9zaXRpb246MCAtMTkycHh9LnVpLWljb24tY2lyY2xlLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtYXJyb3ctZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLWFycm93LXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS1hcnJvdy13e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtYXJyb3ctbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLXpvb21pbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLXpvb21vdXR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS1jaGVja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTkycHh9LnVpLWljb24tY2lyY2xlc21hbGwtcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIwOHB4fS51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTIwOHB4fS51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTIwOHB4fS51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMjA4cHh9LnVpLWljb24tc3F1YXJlc21hbGwtbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMjA4cHh9LnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjA4cHh9LnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yMjRweH0udWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFse2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTIyNHB4fS51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjI0cHh9LnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFse2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTIyNHB4fS51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0yMjRweH0udWktaWNvbi1ncmlwLWRpYWdvbmFsLXNle2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTIyNHB4fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItdG9wLC51aS1jb3JuZXItbGVmdCwudWktY29ybmVyLXRse2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItdG9wLC51aS1jb3JuZXItcmlnaHQsLnVpLWNvcm5lci10cntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci1ib3R0b20sLnVpLWNvcm5lci1sZWZ0LC51aS1jb3JuZXItYmx7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci1ib3R0b20sLnVpLWNvcm5lci1yaWdodCwudWktY29ybmVyLWJye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweH0udWktd2lkZ2V0LW92ZXJsYXl7YmFja2dyb3VuZDojYWFhO29wYWNpdHk6LjM7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzApfS51aS13aWRnZXQtc2hhZG93e21hcmdpbjowIDAgMCAwO3BhZGRpbmc6NXB4O2JhY2tncm91bmQ6IzY2NjtvcGFjaXR5Oi4zO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTMwKTtib3JkZXItcmFkaXVzOjhweH0="}},"time_used":116,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":102,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/fonts/revicons/revicons90c6.woff","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.951Z","timestamp":1785123385951,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/fonts/revicons/revicons90c6.woff HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/js/revolution-slider/css/settings.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncontent-type: application/font-woff\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"1d70-65fd8520-22ef35ae170e493c;;;\"\r\naccept-ranges: bytes\r\ncontent-length: 7536\r\ndate: Mon, 27 Jul 2026 03:36:26 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":7536,"size_decoded":7865,"mime_type":"application/font-woff","magic":"Web Open Font Format, TrueType, length 7536, version 1.0","md5":"04eb8fc57f27498e5ae37523e3bfb2c7","sha1":"d942ae11706c3f7e511e3c49b0e4574d7ad199c4","sha256":"f7b9c3065e55fa3b9e320093612e7b30dcb14355a44ec461247b495a3e729686","sha512":"fa6508c8a1a822794036174b0b9dbc6e91b5afc1fd340381b868ede6d928dd0f3e66b5a91308d2c0c4c4c64b27dab7761a904c0b6e6b3c0e3e736e5d6342f365","ssdeep":"192:340F/mM4Oa0wA2jPOf2X62xqpjjjaT64iSNizw:34sxBwCujqpj/aT6nSYzw","tlshash":"20f18e14fec0f56dfd8f52702780e6f6b2646de260560dc52d48e65c14e291ae27d47c","first_seen":"2023-04-05T13:50:09Z","last_seen":"2026-07-31T12:36:39.932721Z","times_seen":32077,"resource_available":false,"data":"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"}},"time_used":189,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":189,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/custom-bootstrap-margin-padding.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.011Z","timestamp":1785123385011,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/custom-bootstrap-margin-padding.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"fc57-65fd8520-62847a38bf21b295;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3924\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":64599,"size_decoded":4364,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"52b464d3ef280b2a7820732892abf144","sha1":"bb096221f2a35322dbae739ccdacd96cab99ef8c","sha256":"03a1140ab25d17f037393e4d2acc3fd87fd34a924234bb298f691aef342b1738","sha512":"a4f23a69579af0ebb8d8cd06af882010371b0f85f360fa18a6f4dd1f823b82b49fdda958a3a72b4c68ed16dab603eece217a56fe6036afcb15c667d161eedc0b","ssdeep":"768:2nIprLVLbhcesASwmgCw+UwIk0Yw0UgqeD:2nIpNLzeD","tlshash":"02533ee7bdd316da802bd193809676f8fefd24438242e9f394617b61cb426e7086e41d","first_seen":"2025-07-07T00:18:26.217123Z","last_seen":"2026-07-27T12:40:24.633807Z","times_seen":20,"resource_available":false,"data":"LyogDQogKiBDdXN0b20gQm9vdHN0cmFwIE1hcmdpbiBQYWRkaW5nDQogKiBBdXRob3IgLSBNZCBJc21haWwgSG9zc2Fpbg0KICogR2l0ICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL2lzbWFpbGNzZWt1L0N1c3RvbS1Cb290c3RyYXAtTWFyZ2luLVBhZGRpbmcNCiAqIFdlYiAgICAtIGh0dHA6Ly9pc21haWwtaG9zc2Fpbi5tZS8NCiAqIEVtYWlsICAtIGlzbWFpbGNzZWt1QGdtYWlsLmNvbQ0KICovDQoNCg0KLyoqDQogKiBUYWJsZSBvZiBDb250ZW50czoNCiAqDQogKiAxICAgLT4gQmFzaWMgbWFyZ2luIHBhZGRpbmcNCiAqIDEuMSAtPiBCYXNpYyBNYXJnaW4NCiAqIDEuMiAtPiBCYXNpYyBQYWRkaW5nDQogKiAxLjMgLT4gTWFyZ2luIHRvcA0KICogMS40IC0+IE1hcmdpbiByaWdodA0KICogMS41IC0+IE1hcmdpbiBib3R0b20NCiAqIDEuNiAtPiBNYXJnaW4gbGVmdA0KICogMS43IC0+IFBhZGRpbmcgdG9wDQogKiAxLjggLT4gUGFkZGluZyByaWdodA0KICogMS45IC0+IFBhZGRpbmcgYm90dG9tDQogKiAxLjEwIC0+IFBhZGRpbmcgbGVmdA0KICogMiAtPiBsZzogbWluLXdpZHRoOjEyMDBweA0KICogMyAtPiBtZDogbWF4LXdpZHRoOjExOTlweA0KICogNCAtPiBzbTogbWF4LXdpZHRoOjk5MXB4DQogKiA1IC0+IHhzOiBtYXgtd2lkdGggNzY3cHgNCiAqIDYgLT4geHhzOiBtYXgtd2lkdGggNDc5cHgNCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKi8NCi8qIG1pbiBldmVuLCBtYXggb2RkKi8NCg0KLyoNCiAqIDEuMSAtPiBCYXNpYyBNYXJnaW4NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm0tMCB7bWFyZ2luOiAwcHggIWltcG9ydGFudH0NCi5tLTUge21hcmdpbjogNXB4ICFpbXBvcnRhbnR9DQoubS0xMCB7bWFyZ2luOiAxMHB4ICFpbXBvcnRhbnR9DQoubS0xNSB7bWFyZ2luOiAxNXB4ICFpbXBvcnRhbnR9DQoubS0yMCB7bWFyZ2luOiAyMHB4ICFpbXBvcnRhbnR9DQoubS0zMCB7bWFyZ2luOiAzMHB4ICFpbXBvcnRhbnR9DQoubS00MCB7bWFyZ2luOiA0MHB4ICFpbXBvcnRhbnR9DQoubS01MCB7bWFyZ2luOiA1MHB4ICFpbXBvcnRhbnR9DQoubS02MCB7bWFyZ2luOiA2MHB4ICFpbXBvcnRhbnR9DQoubS03MCB7bWFyZ2luOiA3MHB4ICFpbXBvcnRhbnR9DQoubS04MCB7bWFyZ2luOiA4MHB4ICFpbXBvcnRhbnR9DQoubS05MCB7bWFyZ2luOiA5MHB4ICFpbXBvcnRhbnR9DQoubS0xMDAge21hcmdpbjogMTAwcHggIWltcG9ydGFudH0NCi5tLTExMCB7bWFyZ2luOiAxMTBweCAhaW1wb3J0YW50fQ0KLm0tMTIwIHttYXJnaW46IDEyMHB4ICFpbXBvcnRhbnR9DQoubS0xMzAge21hcmdpbjogMTMwcHggIWltcG9ydGFudH0NCi5tLTE0MCB7bWFyZ2luOiAxNDBweCAhaW1wb3J0YW50fQ0KLm0tMTUwIHttYXJnaW46IDE1MHB4ICFpbXBvcnRhbnR9DQoubS0xNjAge21hcmdpbjogMTYwcHggIWltcG9ydGFudH0NCi5tLTE3MCB7bWFyZ2luOiAxNzBweCAhaW1wb3J0YW50fQ0KLm0tMTgwIHttYXJnaW46IDE4MHB4ICFpbXBvcnRhbnR9DQoubS0xOTAge21hcmdpbjogMTkwcHggIWltcG9ydGFudH0NCi5tLTIwMCB7bWFyZ2luOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMS4yIC0+IEJhc2ljIFBhZGRpbmcNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnAtMCB7cGFkZGluZzogMCFpbXBvcnRhbnQ7fQ0KLnAtNSB7cGFkZGluZzogNXB4ICFpbXBvcnRhbnR9DQoucC0xMCB7cGFkZGluZzogMTBweCAhaW1wb3J0YW50fQ0KLnAtMTUge3BhZGRpbmc6IDE1cHggIWltcG9ydGFudH0NCi5wLTIwIHtwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnR9DQoucC0zMCB7cGFkZGluZzogMzBweCAhaW1wb3J0YW50fQ0KLnAtNDAge3BhZGRpbmc6IDQwcHggIWltcG9ydGFudH0NCi5wLTUwIHtwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnR9DQoucC02MCB7cGFkZGluZzogNjBweCAhaW1wb3J0YW50fQ0KLnAtNzAge3BhZGRpbmc6IDcwcHggIWltcG9ydGFudH0NCi5wLTgwIHtwYWRkaW5nOiA4MHB4ICFpbXBvcnRhbnR9DQoucC05MCB7cGFkZGluZzogOTBweCAhaW1wb3J0YW50fQ0KLnAtMTAwIHtwYWRkaW5nOiAxMDBweCAhaW1wb3J0YW50fQ0KLnAtMTEwIHtwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50fQ0KLnAtMTIwIHtwYWRkaW5nOiAxMjBweCAhaW1wb3J0YW50fQ0KLnAtMTMwIHtwYWRkaW5nOiAxMzBweCAhaW1wb3J0YW50fQ0KLnAtMTQwIHtwYWRkaW5nOiAxNDBweCAhaW1wb3J0YW50fQ0KLnAtMTUwIHtwYWRkaW5nOiAxNTBweCAhaW1wb3J0YW50fQ0KLnAtMTYwIHtwYWRkaW5nOiAxNjBweCAhaW1wb3J0YW50fQ0KLnAtMTcwIHtwYWRkaW5nOiAxNzBweCAhaW1wb3J0YW50fQ0KLnAtMTgwIHtwYWRkaW5nOiAxODBweCAhaW1wb3J0YW50fQ0KLnAtMTkwIHtwYWRkaW5nOiAxOTBweCAhaW1wb3J0YW50fQ0KLnAtMjAwIHtwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMS4zIC0+IE1hcmdpbiB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm10LTAge21hcmdpbi10b3A6IDAhaW1wb3J0YW50O30NCi5tdC01IHttYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudH0NCi5tdC0xMCB7bWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLm10LTE1IHttYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoubXQtMjAge21hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudH0NCi5tdC0zMCB7bWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLm10LTQwIHttYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoubXQtNTAge21hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudH0NCi5tdC02MCB7bWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLm10LTcwIHttYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoubXQtODAge21hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudH0NCi5tdC05MCB7bWFyZ2luLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLm10LTEwMCB7bWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5tdC0xMTAge21hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnR9DQoubXQtMTIwIHttYXJnaW4tdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLm10LTEzMCB7bWFyZ2luLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5tdC0xNDAge21hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnR9DQoubXQtMTUwIHttYXJnaW4tdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLm10LTE2MCB7bWFyZ2luLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5tdC0xNzAge21hcmdpbi10b3A6IDE3MHB4ICFpbXBvcnRhbnR9DQoubXQtMTgwIHttYXJnaW4tdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLm10LTE5MCB7bWFyZ2luLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5tdC0yMDAge21hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAxLjQgLT4gTWFyZ2luIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tci0wIHttYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O30NCi5tci01IHttYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLm1yLTEwIHttYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5tci0xNSB7bWFyZ2luLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnR9DQoubXItMjAge21hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLm1yLTMwIHttYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5tci00MCB7bWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnR9DQoubXItNTAge21hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLm1yLTYwIHttYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5tci03MCB7bWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnR9DQoubXItODAge21hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLm1yLTkwIHttYXJnaW4tcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5tci0xMDAge21hcmdpbi1yaWdodDogMTAwcHggIWltcG9ydGFudH0NCi5tci0xMTAge21hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5tci0xMjAge21hcmdpbi1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5tci0xMzAge21hcmdpbi1yaWdodDogMTMwcHggIWltcG9ydGFudH0NCi5tci0xNDAge21hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5tci0xNTAge21hcmdpbi1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5tci0xNjAge21hcmdpbi1yaWdodDogMTYwcHggIWltcG9ydGFudH0NCi5tci0xNzAge21hcmdpbi1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5tci0xODAge21hcmdpbi1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5tci0xOTAge21hcmdpbi1yaWdodDogMTkwcHggIWltcG9ydGFudH0NCi5tci0yMDAge21hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDEuNSAtPiBNYXJnaW4gYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tYi0wIHttYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDt9DQoubWItNSB7bWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoubWItMTAge21hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5tYi0xNSB7bWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50fQ0KLm1iLTIwIHttYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoubWItMzAge21hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5tYi00MCB7bWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50fQ0KLm1iLTUwIHttYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoubWItNjAge21hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5tYi03MCB7bWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50fQ0KLm1iLTgwIHttYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoubWItOTAge21hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5tYi0xMDAge21hcmdpbi1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnR9DQoubWItMTEwIHttYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLm1iLTEyMCB7bWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5tYi0xMzAge21hcmdpbi1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnR9DQoubWItMTQwIHttYXJnaW4tYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLm1iLTE1MCB7bWFyZ2luLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5tYi0xNjAge21hcmdpbi1ib3R0b206IDE2MHB4ICFpbXBvcnRhbnR9DQoubWItMTcwIHttYXJnaW4tYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLm1iLTE4MCB7bWFyZ2luLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5tYi0xOTAge21hcmdpbi1ib3R0b206IDE5MHB4ICFpbXBvcnRhbnR9DQoubWItMjAwIHttYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMS42IC0+IE1hcmdpbiBsZWZ0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tbC0wIHttYXJnaW4tbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLm1sLTUge21hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5tbC0xMCB7bWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudH0NCi5tbC0xNSB7bWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5tbC0yMCB7bWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5tbC0zMCB7bWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudH0NCi5tbC00MCB7bWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5tbC01MCB7bWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5tbC02MCB7bWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudH0NCi5tbC03MCB7bWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5tbC04MCB7bWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5tbC05MCB7bWFyZ2luLWxlZnQ6IDkwcHggIWltcG9ydGFudH0NCi5tbC0xMDAge21hcmdpbi1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1sLTExMCB7bWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoubWwtMTIwIHttYXJnaW4tbGVmdDogMTIwcHggIWltcG9ydGFudH0NCi5tbC0xMzAge21hcmdpbi1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1sLTE0MCB7bWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoubWwtMTUwIHttYXJnaW4tbGVmdDogMTUwcHggIWltcG9ydGFudH0NCi5tbC0xNjAge21hcmdpbi1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1sLTE3MCB7bWFyZ2luLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoubWwtMTgwIHttYXJnaW4tbGVmdDogMTgwcHggIWltcG9ydGFudH0NCi5tbC0xOTAge21hcmdpbi1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1sLTIwMCB7bWFyZ2luLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAxLjcgLT4gUGFkZGluZyB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnB0LTAge3BhZGRpbmctdG9wOiAwIWltcG9ydGFudDt9DQoucHQtNSB7cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50fQ0KLnB0LTEwIHtwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLnB0LTE1IHtwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50fQ0KLnB0LTIwIHtwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLnB0LTMwIHtwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLnB0LTQwIHtwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50fQ0KLnB0LTUwIHtwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLnB0LTYwIHtwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLnB0LTcwIHtwYWRkaW5nLXRvcDogNzBweCAhaW1wb3J0YW50fQ0KLnB0LTgwIHtwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLnB0LTkwIHtwYWRkaW5nLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLnB0LTEwMCB7cGFkZGluZy10b3A6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHQtMTEwIHtwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5wdC0xMjAge3BhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLnB0LTEzMCB7cGFkZGluZy10b3A6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHQtMTQwIHtwYWRkaW5nLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5wdC0xNTAge3BhZGRpbmctdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLnB0LTE2MCB7cGFkZGluZy10b3A6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHQtMTcwIHtwYWRkaW5nLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5wdC0xODAge3BhZGRpbmctdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLnB0LTE5MCB7cGFkZGluZy10b3A6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHQtMjAwIHtwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDEuOCAtPiBQYWRkaW5nIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wci0wIHtwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDt9DQoucHItNSB7cGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnR9DQoucHItMTAge3BhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5wci0xNSB7cGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50fQ0KLnByLTIwIHtwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnR9DQoucHItMzAge3BhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5wci00MCB7cGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50fQ0KLnByLTUwIHtwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnR9DQoucHItNjAge3BhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5wci03MCB7cGFkZGluZy1yaWdodDogNzBweCAhaW1wb3J0YW50fQ0KLnByLTgwIHtwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnR9DQoucHItOTAge3BhZGRpbmctcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5wci0xMDAge3BhZGRpbmctcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHItMTEwIHtwYWRkaW5nLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50fQ0KLnByLTEyMCB7cGFkZGluZy1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5wci0xMzAge3BhZGRpbmctcmlnaHQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHItMTQwIHtwYWRkaW5nLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50fQ0KLnByLTE1MCB7cGFkZGluZy1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5wci0xNjAge3BhZGRpbmctcmlnaHQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHItMTcwIHtwYWRkaW5nLXJpZ2h0OiAxNzBweCAhaW1wb3J0YW50fQ0KLnByLTE4MCB7cGFkZGluZy1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5wci0xOTAge3BhZGRpbmctcmlnaHQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHItMjAwIHtwYWRkaW5nLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMS45IC0+IFBhZGRpbmcgYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wYi0wIHtwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLnBiLTUge3BhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5wYi0xMCB7cGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5wYi0xNSB7cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5wYi0yMCB7cGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5wYi0zMCB7cGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5wYi00MCB7cGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5wYi01MCB7cGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5wYi02MCB7cGFkZGluZy1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5wYi03MCB7cGFkZGluZy1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5wYi04MCB7cGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5wYi05MCB7cGFkZGluZy1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5wYi0xMDAge3BhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLnBiLTExMCB7cGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoucGItMTIwIHtwYWRkaW5nLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5wYi0xMzAge3BhZGRpbmctYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLnBiLTE0MCB7cGFkZGluZy1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoucGItMTUwIHtwYWRkaW5nLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5wYi0xNjAge3BhZGRpbmctYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLnBiLTE3MCB7cGFkZGluZy1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoucGItMTgwIHtwYWRkaW5nLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5wYi0xOTAge3BhZGRpbmctYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLnBiLTIwMCB7cGFkZGluZy1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAxLjEwIC0+IFBhZGRpbmcgbGVmdA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucGwtMCB7cGFkZGluZy1sZWZ0OiAwIWltcG9ydGFudDt9DQoucGwtNSB7cGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5wbC0xMCB7cGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnR9DQoucGwtMTUge3BhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50fQ0KLnBsLTIwIHtwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5wbC0zMCB7cGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnR9DQoucGwtNDAge3BhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50fQ0KLnBsLTUwIHtwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5wbC02MCB7cGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnR9DQoucGwtNzAge3BhZGRpbmctbGVmdDogNzBweCAhaW1wb3J0YW50fQ0KLnBsLTgwIHtwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5wbC05MCB7cGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnR9DQoucGwtMTAwIHtwYWRkaW5nLWxlZnQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucGwtMTEwIHtwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucGwtMTIwIHtwYWRkaW5nLWxlZnQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoucGwtMTMwIHtwYWRkaW5nLWxlZnQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucGwtMTQwIHtwYWRkaW5nLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucGwtMTUwIHtwYWRkaW5nLWxlZnQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoucGwtMTYwIHtwYWRkaW5nLWxlZnQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucGwtMTcwIHtwYWRkaW5nLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucGwtMTgwIHtwYWRkaW5nLWxlZnQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoucGwtMTkwIHtwYWRkaW5nLWxlZnQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucGwtMjAwIHtwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAyIC0+IGxnOiBtaW4td2lkdGg6MTIwMHB4DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KLyoNCiAqIDIuMSAtPiBCYXNpYyBNYXJnaW4NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm0tbGctMCB7bWFyZ2luOiAwcHggIWltcG9ydGFudH0NCi5tLWxnLTUge21hcmdpbjogNXB4ICFpbXBvcnRhbnR9DQoubS1sZy0xMCB7bWFyZ2luOiAxMHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xNSB7bWFyZ2luOiAxNXB4ICFpbXBvcnRhbnR9DQoubS1sZy0yMCB7bWFyZ2luOiAyMHB4ICFpbXBvcnRhbnR9DQoubS1sZy0zMCB7bWFyZ2luOiAzMHB4ICFpbXBvcnRhbnR9DQoubS1sZy00MCB7bWFyZ2luOiA0MHB4ICFpbXBvcnRhbnR9DQoubS1sZy01MCB7bWFyZ2luOiA1MHB4ICFpbXBvcnRhbnR9DQoubS1sZy02MCB7bWFyZ2luOiA2MHB4ICFpbXBvcnRhbnR9DQoubS1sZy03MCB7bWFyZ2luOiA3MHB4ICFpbXBvcnRhbnR9DQoubS1sZy04MCB7bWFyZ2luOiA4MHB4ICFpbXBvcnRhbnR9DQoubS1sZy05MCB7bWFyZ2luOiA5MHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xMDAge21hcmdpbjogMTAwcHggIWltcG9ydGFudH0NCi5tLWxnLTExMCB7bWFyZ2luOiAxMTBweCAhaW1wb3J0YW50fQ0KLm0tbGctMTIwIHttYXJnaW46IDEyMHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xMzAge21hcmdpbjogMTMwcHggIWltcG9ydGFudH0NCi5tLWxnLTE0MCB7bWFyZ2luOiAxNDBweCAhaW1wb3J0YW50fQ0KLm0tbGctMTUwIHttYXJnaW46IDE1MHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xNjAge21hcmdpbjogMTYwcHggIWltcG9ydGFudH0NCi5tLWxnLTE3MCB7bWFyZ2luOiAxNzBweCAhaW1wb3J0YW50fQ0KLm0tbGctMTgwIHttYXJnaW46IDE4MHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xOTAge21hcmdpbjogMTkwcHggIWltcG9ydGFudH0NCi5tLWxnLTIwMCB7bWFyZ2luOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMi4yIC0+IEJhc2ljIFBhZGRpbmcNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnAtbGctMCB7cGFkZGluZzogMCFpbXBvcnRhbnQ7fQ0KLnAtbGctNSB7cGFkZGluZzogNXB4ICFpbXBvcnRhbnR9DQoucC1sZy0xMCB7cGFkZGluZzogMTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTUge3BhZGRpbmc6IDE1cHggIWltcG9ydGFudH0NCi5wLWxnLTIwIHtwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnR9DQoucC1sZy0zMCB7cGFkZGluZzogMzBweCAhaW1wb3J0YW50fQ0KLnAtbGctNDAge3BhZGRpbmc6IDQwcHggIWltcG9ydGFudH0NCi5wLWxnLTUwIHtwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnR9DQoucC1sZy02MCB7cGFkZGluZzogNjBweCAhaW1wb3J0YW50fQ0KLnAtbGctNzAge3BhZGRpbmc6IDcwcHggIWltcG9ydGFudH0NCi5wLWxnLTgwIHtwYWRkaW5nOiA4MHB4ICFpbXBvcnRhbnR9DQoucC1sZy05MCB7cGFkZGluZzogOTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTAwIHtwYWRkaW5nOiAxMDBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTEwIHtwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTIwIHtwYWRkaW5nOiAxMjBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTMwIHtwYWRkaW5nOiAxMzBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTQwIHtwYWRkaW5nOiAxNDBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTUwIHtwYWRkaW5nOiAxNTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTYwIHtwYWRkaW5nOiAxNjBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTcwIHtwYWRkaW5nOiAxNzBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTgwIHtwYWRkaW5nOiAxODBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTkwIHtwYWRkaW5nOiAxOTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMjAwIHtwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMi4zIC0+IE1hcmdpbiB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm10LWxnLTAge21hcmdpbi10b3A6IDAhaW1wb3J0YW50O30NCi5tdC1sZy01IHttYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudH0NCi5tdC1sZy0xMCB7bWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTE1IHttYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoubXQtbGctMjAge21hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudH0NCi5tdC1sZy0zMCB7bWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTQwIHttYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoubXQtbGctNTAge21hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudH0NCi5tdC1sZy02MCB7bWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTcwIHttYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoubXQtbGctODAge21hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudH0NCi5tdC1sZy05MCB7bWFyZ2luLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTEwMCB7bWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5tdC1sZy0xMTAge21hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnR9DQoubXQtbGctMTIwIHttYXJnaW4tdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTEzMCB7bWFyZ2luLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5tdC1sZy0xNDAge21hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnR9DQoubXQtbGctMTUwIHttYXJnaW4tdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTE2MCB7bWFyZ2luLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5tdC1sZy0xNzAge21hcmdpbi10b3A6IDE3MHB4ICFpbXBvcnRhbnR9DQoubXQtbGctMTgwIHttYXJnaW4tdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTE5MCB7bWFyZ2luLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5tdC1sZy0yMDAge21hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAyLjQgLT4gTWFyZ2luIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tci1sZy0wIHttYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O30NCi5tci1sZy01IHttYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLm1yLWxnLTEwIHttYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNSB7bWFyZ2luLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnR9DQoubXItbGctMjAge21hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLm1yLWxnLTMwIHttYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5tci1sZy00MCB7bWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnR9DQoubXItbGctNTAge21hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLm1yLWxnLTYwIHttYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5tci1sZy03MCB7bWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnR9DQoubXItbGctODAge21hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLm1yLWxnLTkwIHttYXJnaW4tcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5tci1sZy0xMDAge21hcmdpbi1yaWdodDogMTAwcHggIWltcG9ydGFudH0NCi5tci1sZy0xMTAge21hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5tci1sZy0xMjAge21hcmdpbi1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5tci1sZy0xMzAge21hcmdpbi1yaWdodDogMTMwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNDAge21hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNTAge21hcmdpbi1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNjAge21hcmdpbi1yaWdodDogMTYwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNzAge21hcmdpbi1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5tci1sZy0xODAge21hcmdpbi1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5tci1sZy0xOTAge21hcmdpbi1yaWdodDogMTkwcHggIWltcG9ydGFudH0NCi5tci1sZy0yMDAge21hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDIuNSAtPiBNYXJnaW4gYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tYi1sZy0wIHttYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDt9DQoubWItbGctNSB7bWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoubWItbGctMTAge21hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xNSB7bWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTIwIHttYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoubWItbGctMzAge21hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5tYi1sZy00MCB7bWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTUwIHttYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoubWItbGctNjAge21hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5tYi1sZy03MCB7bWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTgwIHttYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoubWItbGctOTAge21hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xMDAge21hcmdpbi1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnR9DQoubWItbGctMTEwIHttYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTEyMCB7bWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xMzAge21hcmdpbi1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnR9DQoubWItbGctMTQwIHttYXJnaW4tYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTE1MCB7bWFyZ2luLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xNjAge21hcmdpbi1ib3R0b206IDE2MHB4ICFpbXBvcnRhbnR9DQoubWItbGctMTcwIHttYXJnaW4tYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTE4MCB7bWFyZ2luLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xOTAge21hcmdpbi1ib3R0b206IDE5MHB4ICFpbXBvcnRhbnR9DQoubWItbGctMjAwIHttYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMi42IC0+IE1hcmdpbiBsZWZ0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tbC1sZy0wIHttYXJnaW4tbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLm1sLWxnLTUge21hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5tbC1sZy0xMCB7bWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xNSB7bWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5tbC1sZy0yMCB7bWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5tbC1sZy0zMCB7bWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudH0NCi5tbC1sZy00MCB7bWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5tbC1sZy01MCB7bWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5tbC1sZy02MCB7bWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudH0NCi5tbC1sZy03MCB7bWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5tbC1sZy04MCB7bWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5tbC1sZy05MCB7bWFyZ2luLWxlZnQ6IDkwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xMDAge21hcmdpbi1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1sLWxnLTExMCB7bWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoubWwtbGctMTIwIHttYXJnaW4tbGVmdDogMTIwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xMzAge21hcmdpbi1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1sLWxnLTE0MCB7bWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoubWwtbGctMTUwIHttYXJnaW4tbGVmdDogMTUwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xNjAge21hcmdpbi1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1sLWxnLTE3MCB7bWFyZ2luLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoubWwtbGctMTgwIHttYXJnaW4tbGVmdDogMTgwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xOTAge21hcmdpbi1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1sLWxnLTIwMCB7bWFyZ2luLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAyLjcgLT4gUGFkZGluZyB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnB0LWxnLTAge3BhZGRpbmctdG9wOiAwIWltcG9ydGFudDt9DQoucHQtbGctNSB7cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTEwIHtwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTE1IHtwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTIwIHtwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTMwIHtwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTQwIHtwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTUwIHtwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTYwIHtwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTcwIHtwYWRkaW5nLXRvcDogNzBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTgwIHtwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTkwIHtwYWRkaW5nLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTEwMCB7cGFkZGluZy10b3A6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHQtbGctMTEwIHtwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5wdC1sZy0xMjAge3BhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTEzMCB7cGFkZGluZy10b3A6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHQtbGctMTQwIHtwYWRkaW5nLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5wdC1sZy0xNTAge3BhZGRpbmctdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTE2MCB7cGFkZGluZy10b3A6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHQtbGctMTcwIHtwYWRkaW5nLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5wdC1sZy0xODAge3BhZGRpbmctdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTE5MCB7cGFkZGluZy10b3A6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHQtbGctMjAwIHtwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDIuOCAtPiBQYWRkaW5nIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wci1sZy0wIHtwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDt9DQoucHItbGctNSB7cGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnR9DQoucHItbGctMTAge3BhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5wci1sZy0xNSB7cGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50fQ0KLnByLWxnLTIwIHtwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnR9DQoucHItbGctMzAge3BhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5wci1sZy00MCB7cGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTUwIHtwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnR9DQoucHItbGctNjAge3BhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5wci1sZy03MCB7cGFkZGluZy1yaWdodDogNzBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTgwIHtwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnR9DQoucHItbGctOTAge3BhZGRpbmctcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5wci1sZy0xMDAge3BhZGRpbmctcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHItbGctMTEwIHtwYWRkaW5nLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTEyMCB7cGFkZGluZy1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5wci1sZy0xMzAge3BhZGRpbmctcmlnaHQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHItbGctMTQwIHtwYWRkaW5nLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTE1MCB7cGFkZGluZy1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5wci1sZy0xNjAge3BhZGRpbmctcmlnaHQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHItbGctMTcwIHtwYWRkaW5nLXJpZ2h0OiAxNzBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTE4MCB7cGFkZGluZy1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5wci1sZy0xOTAge3BhZGRpbmctcmlnaHQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHItbGctMjAwIHtwYWRkaW5nLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMi45IC0+IFBhZGRpbmcgYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wYi1sZy0wIHtwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLnBiLWxnLTUge3BhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5wYi1sZy0xMCB7cGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xNSB7cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5wYi1sZy0yMCB7cGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5wYi1sZy0zMCB7cGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5wYi1sZy00MCB7cGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5wYi1sZy01MCB7cGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5wYi1sZy02MCB7cGFkZGluZy1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5wYi1sZy03MCB7cGFkZGluZy1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5wYi1sZy04MCB7cGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5wYi1sZy05MCB7cGFkZGluZy1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xMDAge3BhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLnBiLWxnLTExMCB7cGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoucGItbGctMTIwIHtwYWRkaW5nLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xMzAge3BhZGRpbmctYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLnBiLWxnLTE0MCB7cGFkZGluZy1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoucGItbGctMTUwIHtwYWRkaW5nLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xNjAge3BhZGRpbmctYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLnBiLWxnLTE3MCB7cGFkZGluZy1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoucGItbGctMTgwIHtwYWRkaW5nLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xOTAge3BhZGRpbmctYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLnBiLWxnLTIwMCB7cGFkZGluZy1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAyLjEwIC0+IFBhZGRpbmcgbGVmdA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucGwtbGctMCB7cGFkZGluZy1sZWZ0OiAwIWltcG9ydGFudDt9DQoucGwtbGctNSB7cGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5wbC1sZy0xMCB7cGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTUge3BhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50fQ0KLnBsLWxnLTIwIHtwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5wbC1sZy0zMCB7cGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctNDAge3BhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50fQ0KLnBsLWxnLTUwIHtwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5wbC1sZy02MCB7cGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctNzAge3BhZGRpbmctbGVmdDogNzBweCAhaW1wb3J0YW50fQ0KLnBsLWxnLTgwIHtwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5wbC1sZy05MCB7cGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTAwIHtwYWRkaW5nLWxlZnQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTEwIHtwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTIwIHtwYWRkaW5nLWxlZnQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTMwIHtwYWRkaW5nLWxlZnQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTQwIHtwYWRkaW5nLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTUwIHtwYWRkaW5nLWxlZnQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTYwIHtwYWRkaW5nLWxlZnQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTcwIHtwYWRkaW5nLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTgwIHtwYWRkaW5nLWxlZnQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTkwIHtwYWRkaW5nLWxlZnQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMjAwIHtwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQp9DQoNCi8qDQogKiAzIC0+IG1kOiBtYXgtd2lkdGg6MTE5OXB4DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCkBtZWRpYSAobWF4LXdpZHRoOjExOTlweCkgew0KLyoNCiAqIDMuMSAtPiBCYXNpYyBNYXJnaW4NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm0tbWQtMCB7bWFyZ2luOiAwcHggIWltcG9ydGFudH0NCi5tLW1kLTUge21hcmdpbjogNXB4ICFpbXBvcnRhbnR9DQoubS1tZC0xMCB7bWFyZ2luOiAxMHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xNSB7bWFyZ2luOiAxNXB4ICFpbXBvcnRhbnR9DQoubS1tZC0yMCB7bWFyZ2luOiAyMHB4ICFpbXBvcnRhbnR9DQoubS1tZC0zMCB7bWFyZ2luOiAzMHB4ICFpbXBvcnRhbnR9DQoubS1tZC00MCB7bWFyZ2luOiA0MHB4ICFpbXBvcnRhbnR9DQoubS1tZC01MCB7bWFyZ2luOiA1MHB4ICFpbXBvcnRhbnR9DQoubS1tZC02MCB7bWFyZ2luOiA2MHB4ICFpbXBvcnRhbnR9DQoubS1tZC03MCB7bWFyZ2luOiA3MHB4ICFpbXBvcnRhbnR9DQoubS1tZC04MCB7bWFyZ2luOiA4MHB4ICFpbXBvcnRhbnR9DQoubS1tZC05MCB7bWFyZ2luOiA5MHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xMDAge21hcmdpbjogMTAwcHggIWltcG9ydGFudH0NCi5tLW1kLTExMCB7bWFyZ2luOiAxMTBweCAhaW1wb3J0YW50fQ0KLm0tbWQtMTIwIHttYXJnaW46IDEyMHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xMzAge21hcmdpbjogMTMwcHggIWltcG9ydGFudH0NCi5tLW1kLTE0MCB7bWFyZ2luOiAxNDBweCAhaW1wb3J0YW50fQ0KLm0tbWQtMTUwIHttYXJnaW46IDE1MHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xNjAge21hcmdpbjogMTYwcHggIWltcG9ydGFudH0NCi5tLW1kLTE3MCB7bWFyZ2luOiAxNzBweCAhaW1wb3J0YW50fQ0KLm0tbWQtMTgwIHttYXJnaW46IDE4MHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xOTAge21hcmdpbjogMTkwcHggIWltcG9ydGFudH0NCi5tLW1kLTIwMCB7bWFyZ2luOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMy4yIC0+IEJhc2ljIFBhZGRpbmcNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnAtbWQtMCB7cGFkZGluZzogMCFpbXBvcnRhbnQ7fQ0KLnAtbWQtNSB7cGFkZGluZzogNXB4ICFpbXBvcnRhbnR9DQoucC1tZC0xMCB7cGFkZGluZzogMTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTUge3BhZGRpbmc6IDE1cHggIWltcG9ydGFudH0NCi5wLW1kLTIwIHtwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnR9DQoucC1tZC0zMCB7cGFkZGluZzogMzBweCAhaW1wb3J0YW50fQ0KLnAtbWQtNDAge3BhZGRpbmc6IDQwcHggIWltcG9ydGFudH0NCi5wLW1kLTUwIHtwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnR9DQoucC1tZC02MCB7cGFkZGluZzogNjBweCAhaW1wb3J0YW50fQ0KLnAtbWQtNzAge3BhZGRpbmc6IDcwcHggIWltcG9ydGFudH0NCi5wLW1kLTgwIHtwYWRkaW5nOiA4MHB4ICFpbXBvcnRhbnR9DQoucC1tZC05MCB7cGFkZGluZzogOTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTAwIHtwYWRkaW5nOiAxMDBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTEwIHtwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTIwIHtwYWRkaW5nOiAxMjBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTMwIHtwYWRkaW5nOiAxMzBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTQwIHtwYWRkaW5nOiAxNDBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTUwIHtwYWRkaW5nOiAxNTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTYwIHtwYWRkaW5nOiAxNjBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTcwIHtwYWRkaW5nOiAxNzBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTgwIHtwYWRkaW5nOiAxODBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTkwIHtwYWRkaW5nOiAxOTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMjAwIHtwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMy4zIC0+IE1hcmdpbiB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm10LW1kLTAge21hcmdpbi10b3A6IDAhaW1wb3J0YW50O30NCi5tdC1tZC01IHttYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudH0NCi5tdC1tZC0xMCB7bWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTE1IHttYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoubXQtbWQtMjAge21hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudH0NCi5tdC1tZC0zMCB7bWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTQwIHttYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtNTAge21hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudH0NCi5tdC1tZC02MCB7bWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTcwIHttYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtODAge21hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudH0NCi5tdC1tZC05MCB7bWFyZ2luLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTEwMCB7bWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5tdC1tZC0xMTAge21hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtMTIwIHttYXJnaW4tdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTEzMCB7bWFyZ2luLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5tdC1tZC0xNDAge21hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtMTUwIHttYXJnaW4tdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTE2MCB7bWFyZ2luLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5tdC1tZC0xNzAge21hcmdpbi10b3A6IDE3MHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtMTgwIHttYXJnaW4tdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTE5MCB7bWFyZ2luLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5tdC1tZC0yMDAge21hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAzLjQgLT4gTWFyZ2luIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tci1tZC0wIHttYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O30NCi5tci1tZC01IHttYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLm1yLW1kLTEwIHttYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNSB7bWFyZ2luLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnR9DQoubXItbWQtMjAge21hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLm1yLW1kLTMwIHttYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5tci1tZC00MCB7bWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnR9DQoubXItbWQtNTAge21hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLm1yLW1kLTYwIHttYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5tci1tZC03MCB7bWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnR9DQoubXItbWQtODAge21hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLm1yLW1kLTkwIHttYXJnaW4tcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5tci1tZC0xMDAge21hcmdpbi1yaWdodDogMTAwcHggIWltcG9ydGFudH0NCi5tci1tZC0xMTAge21hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5tci1tZC0xMjAge21hcmdpbi1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5tci1tZC0xMzAge21hcmdpbi1yaWdodDogMTMwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNDAge21hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNTAge21hcmdpbi1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNjAge21hcmdpbi1yaWdodDogMTYwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNzAge21hcmdpbi1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5tci1tZC0xODAge21hcmdpbi1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5tci1tZC0xOTAge21hcmdpbi1yaWdodDogMTkwcHggIWltcG9ydGFudH0NCi5tci1tZC0yMDAge21hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDMuNSAtPiBNYXJnaW4gYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tYi1tZC0wIHttYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDt9DQoubWItbWQtNSB7bWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoubWItbWQtMTAge21hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xNSB7bWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTIwIHttYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMzAge21hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5tYi1tZC00MCB7bWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTUwIHttYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoubWItbWQtNjAge21hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5tYi1tZC03MCB7bWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTgwIHttYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoubWItbWQtOTAge21hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xMDAge21hcmdpbi1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMTEwIHttYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTEyMCB7bWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xMzAge21hcmdpbi1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMTQwIHttYXJnaW4tYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTE1MCB7bWFyZ2luLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xNjAge21hcmdpbi1ib3R0b206IDE2MHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMTcwIHttYXJnaW4tYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTE4MCB7bWFyZ2luLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xOTAge21hcmdpbi1ib3R0b206IDE5MHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMjAwIHttYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMy42IC0+IE1hcmdpbiBsZWZ0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tbC1tZC0wIHttYXJnaW4tbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLm1sLW1kLTUge21hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5tbC1tZC0xMCB7bWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xNSB7bWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5tbC1tZC0yMCB7bWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5tbC1tZC0zMCB7bWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudH0NCi5tbC1tZC00MCB7bWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5tbC1tZC01MCB7bWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5tbC1tZC02MCB7bWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudH0NCi5tbC1tZC03MCB7bWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5tbC1tZC04MCB7bWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5tbC1tZC05MCB7bWFyZ2luLWxlZnQ6IDkwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xMDAge21hcmdpbi1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1sLW1kLTExMCB7bWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoubWwtbWQtMTIwIHttYXJnaW4tbGVmdDogMTIwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xMzAge21hcmdpbi1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1sLW1kLTE0MCB7bWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoubWwtbWQtMTUwIHttYXJnaW4tbGVmdDogMTUwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xNjAge21hcmdpbi1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1sLW1kLTE3MCB7bWFyZ2luLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoubWwtbWQtMTgwIHttYXJnaW4tbGVmdDogMTgwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xOTAge21hcmdpbi1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1sLW1kLTIwMCB7bWFyZ2luLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAzLjcgLT4gUGFkZGluZyB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnB0LW1kLTAge3BhZGRpbmctdG9wOiAwIWltcG9ydGFudDt9DQoucHQtbWQtNSB7cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTEwIHtwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTE1IHtwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTIwIHtwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTMwIHtwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTQwIHtwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTUwIHtwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTYwIHtwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTcwIHtwYWRkaW5nLXRvcDogNzBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTgwIHtwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTkwIHtwYWRkaW5nLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTEwMCB7cGFkZGluZy10b3A6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHQtbWQtMTEwIHtwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5wdC1tZC0xMjAge3BhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTEzMCB7cGFkZGluZy10b3A6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHQtbWQtMTQwIHtwYWRkaW5nLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5wdC1tZC0xNTAge3BhZGRpbmctdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTE2MCB7cGFkZGluZy10b3A6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHQtbWQtMTcwIHtwYWRkaW5nLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5wdC1tZC0xODAge3BhZGRpbmctdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTE5MCB7cGFkZGluZy10b3A6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHQtbWQtMjAwIHtwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDMuOCAtPiBQYWRkaW5nIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wci1tZC0wIHtwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDt9DQoucHItbWQtNSB7cGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnR9DQoucHItbWQtMTAge3BhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5wci1tZC0xNSB7cGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50fQ0KLnByLW1kLTIwIHtwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMzAge3BhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5wci1tZC00MCB7cGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTUwIHtwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnR9DQoucHItbWQtNjAge3BhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5wci1tZC03MCB7cGFkZGluZy1yaWdodDogNzBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTgwIHtwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnR9DQoucHItbWQtOTAge3BhZGRpbmctcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5wci1tZC0xMDAge3BhZGRpbmctcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMTEwIHtwYWRkaW5nLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTEyMCB7cGFkZGluZy1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5wci1tZC0xMzAge3BhZGRpbmctcmlnaHQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMTQwIHtwYWRkaW5nLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTE1MCB7cGFkZGluZy1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5wci1tZC0xNjAge3BhZGRpbmctcmlnaHQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMTcwIHtwYWRkaW5nLXJpZ2h0OiAxNzBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTE4MCB7cGFkZGluZy1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5wci1tZC0xOTAge3BhZGRpbmctcmlnaHQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMjAwIHtwYWRkaW5nLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMy45IC0+IFBhZGRpbmcgYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wYi1tZC0wIHtwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLnBiLW1kLTUge3BhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5wYi1tZC0xMCB7cGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xNSB7cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5wYi1tZC0yMCB7cGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5wYi1tZC0zMCB7cGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5wYi1tZC00MCB7cGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5wYi1tZC01MCB7cGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5wYi1tZC02MCB7cGFkZGluZy1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5wYi1tZC03MCB7cGFkZGluZy1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5wYi1tZC04MCB7cGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5wYi1tZC05MCB7cGFkZGluZy1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xMDAge3BhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLnBiLW1kLTExMCB7cGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoucGItbWQtMTIwIHtwYWRkaW5nLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xMzAge3BhZGRpbmctYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLnBiLW1kLTE0MCB7cGFkZGluZy1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoucGItbWQtMTUwIHtwYWRkaW5nLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xNjAge3BhZGRpbmctYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLnBiLW1kLTE3MCB7cGFkZGluZy1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoucGItbWQtMTgwIHtwYWRkaW5nLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xOTAge3BhZGRpbmctYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLnBiLW1kLTIwMCB7cGFkZGluZy1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAzLjEwIC0+IFBhZGRpbmcgbGVmdA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucGwtbWQtMCB7cGFkZGluZy1sZWZ0OiAwIWltcG9ydGFudDt9DQoucGwtbWQtNSB7cGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5wbC1tZC0xMCB7cGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTUge3BhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50fQ0KLnBsLW1kLTIwIHtwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5wbC1tZC0zMCB7cGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtNDAge3BhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50fQ0KLnBsLW1kLTUwIHtwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5wbC1tZC02MCB7cGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtNzAge3BhZGRpbmctbGVmdDogNzBweCAhaW1wb3J0YW50fQ0KLnBsLW1kLTgwIHtwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5wbC1tZC05MCB7cGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTAwIHtwYWRkaW5nLWxlZnQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTEwIHtwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTIwIHtwYWRkaW5nLWxlZnQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTMwIHtwYWRkaW5nLWxlZnQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTQwIHtwYWRkaW5nLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTUwIHtwYWRkaW5nLWxlZnQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTYwIHtwYWRkaW5nLWxlZnQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTcwIHtwYWRkaW5nLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTgwIHtwYWRkaW5nLWxlZnQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTkwIHtwYWRkaW5nLWxlZnQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMjAwIHtwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQp9DQoNCi8qDQogKiA0IC0+IHNtOiBtYXgtd2lkdGg6OTkxcHgNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KQG1lZGlhIChtYXgtd2lkdGg6OTkxcHgpIHsNCi8qDQogKiA0LjEgLT4gQmFzaWMgTWFyZ2luDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tLXNtLTAge21hcmdpbjogMHB4ICFpbXBvcnRhbnR9DQoubS1zbS01IHttYXJnaW46IDVweCAhaW1wb3J0YW50fQ0KLm0tc20tMTAge21hcmdpbjogMTBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTUge21hcmdpbjogMTVweCAhaW1wb3J0YW50fQ0KLm0tc20tMjAge21hcmdpbjogMjBweCAhaW1wb3J0YW50fQ0KLm0tc20tMzAge21hcmdpbjogMzBweCAhaW1wb3J0YW50fQ0KLm0tc20tNDAge21hcmdpbjogNDBweCAhaW1wb3J0YW50fQ0KLm0tc20tNTAge21hcmdpbjogNTBweCAhaW1wb3J0YW50fQ0KLm0tc20tNjAge21hcmdpbjogNjBweCAhaW1wb3J0YW50fQ0KLm0tc20tNzAge21hcmdpbjogNzBweCAhaW1wb3J0YW50fQ0KLm0tc20tODAge21hcmdpbjogODBweCAhaW1wb3J0YW50fQ0KLm0tc20tOTAge21hcmdpbjogOTBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTAwIHttYXJnaW46IDEwMHB4ICFpbXBvcnRhbnR9DQoubS1zbS0xMTAge21hcmdpbjogMTEwcHggIWltcG9ydGFudH0NCi5tLXNtLTEyMCB7bWFyZ2luOiAxMjBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTMwIHttYXJnaW46IDEzMHB4ICFpbXBvcnRhbnR9DQoubS1zbS0xNDAge21hcmdpbjogMTQwcHggIWltcG9ydGFudH0NCi5tLXNtLTE1MCB7bWFyZ2luOiAxNTBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTYwIHttYXJnaW46IDE2MHB4ICFpbXBvcnRhbnR9DQoubS1zbS0xNzAge21hcmdpbjogMTcwcHggIWltcG9ydGFudH0NCi5tLXNtLTE4MCB7bWFyZ2luOiAxODBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTkwIHttYXJnaW46IDE5MHB4ICFpbXBvcnRhbnR9DQoubS1zbS0yMDAge21hcmdpbjogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDQuMiAtPiBCYXNpYyBQYWRkaW5nDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wLXNtLTAge3BhZGRpbmc6IDAhaW1wb3J0YW50O30NCi5wLXNtLTUge3BhZGRpbmc6IDVweCAhaW1wb3J0YW50fQ0KLnAtc20tMTAge3BhZGRpbmc6IDEwcHggIWltcG9ydGFudH0NCi5wLXNtLTE1IHtwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnR9DQoucC1zbS0yMCB7cGFkZGluZzogMjBweCAhaW1wb3J0YW50fQ0KLnAtc20tMzAge3BhZGRpbmc6IDMwcHggIWltcG9ydGFudH0NCi5wLXNtLTQwIHtwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnR9DQoucC1zbS01MCB7cGFkZGluZzogNTBweCAhaW1wb3J0YW50fQ0KLnAtc20tNjAge3BhZGRpbmc6IDYwcHggIWltcG9ydGFudH0NCi5wLXNtLTcwIHtwYWRkaW5nOiA3MHB4ICFpbXBvcnRhbnR9DQoucC1zbS04MCB7cGFkZGluZzogODBweCAhaW1wb3J0YW50fQ0KLnAtc20tOTAge3BhZGRpbmc6IDkwcHggIWltcG9ydGFudH0NCi5wLXNtLTEwMCB7cGFkZGluZzogMTAwcHggIWltcG9ydGFudH0NCi5wLXNtLTExMCB7cGFkZGluZzogMTEwcHggIWltcG9ydGFudH0NCi5wLXNtLTEyMCB7cGFkZGluZzogMTIwcHggIWltcG9ydGFudH0NCi5wLXNtLTEzMCB7cGFkZGluZzogMTMwcHggIWltcG9ydGFudH0NCi5wLXNtLTE0MCB7cGFkZGluZzogMTQwcHggIWltcG9ydGFudH0NCi5wLXNtLTE1MCB7cGFkZGluZzogMTUwcHggIWltcG9ydGFudH0NCi5wLXNtLTE2MCB7cGFkZGluZzogMTYwcHggIWltcG9ydGFudH0NCi5wLXNtLTE3MCB7cGFkZGluZzogMTcwcHggIWltcG9ydGFudH0NCi5wLXNtLTE4MCB7cGFkZGluZzogMTgwcHggIWltcG9ydGFudH0NCi5wLXNtLTE5MCB7cGFkZGluZzogMTkwcHggIWltcG9ydGFudH0NCi5wLXNtLTIwMCB7cGFkZGluZzogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDQuMyAtPiBNYXJnaW4gdG9wDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tdC1zbS0wIHttYXJnaW4tdG9wOiAwIWltcG9ydGFudDt9DQoubXQtc20tNSB7bWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnR9DQoubXQtc20tMTAge21hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xNSB7bWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50fQ0KLm10LXNtLTIwIHttYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMzAge21hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudH0NCi5tdC1zbS00MCB7bWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTUwIHttYXJnaW4tdG9wOiA1MHB4ICFpbXBvcnRhbnR9DQoubXQtc20tNjAge21hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudH0NCi5tdC1zbS03MCB7bWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTgwIHttYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnR9DQoubXQtc20tOTAge21hcmdpbi10b3A6IDkwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xMDAge21hcmdpbi10b3A6IDEwMHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMTEwIHttYXJnaW4tdG9wOiAxMTBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTEyMCB7bWFyZ2luLXRvcDogMTIwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xMzAge21hcmdpbi10b3A6IDEzMHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMTQwIHttYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTE1MCB7bWFyZ2luLXRvcDogMTUwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xNjAge21hcmdpbi10b3A6IDE2MHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMTcwIHttYXJnaW4tdG9wOiAxNzBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTE4MCB7bWFyZ2luLXRvcDogMTgwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xOTAge21hcmdpbi10b3A6IDE5MHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMjAwIHttYXJnaW4tdG9wOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNC40IC0+IE1hcmdpbiByaWdodA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubXItc20tMCB7bWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDt9DQoubXItc20tNSB7bWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudH0NCi5tci1zbS0xMCB7bWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTUge21hcmdpbi1yaWdodDogMTVweCAhaW1wb3J0YW50fQ0KLm1yLXNtLTIwIHttYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudH0NCi5tci1zbS0zMCB7bWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnR9DQoubXItc20tNDAge21hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50fQ0KLm1yLXNtLTUwIHttYXJnaW4tcmlnaHQ6IDUwcHggIWltcG9ydGFudH0NCi5tci1zbS02MCB7bWFyZ2luLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnR9DQoubXItc20tNzAge21hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50fQ0KLm1yLXNtLTgwIHttYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudH0NCi5tci1zbS05MCB7bWFyZ2luLXJpZ2h0OiA5MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTAwIHttYXJnaW4tcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTEwIHttYXJnaW4tcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTIwIHttYXJnaW4tcmlnaHQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTMwIHttYXJnaW4tcmlnaHQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTQwIHttYXJnaW4tcmlnaHQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTUwIHttYXJnaW4tcmlnaHQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTYwIHttYXJnaW4tcmlnaHQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTcwIHttYXJnaW4tcmlnaHQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTgwIHttYXJnaW4tcmlnaHQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTkwIHttYXJnaW4tcmlnaHQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMjAwIHttYXJnaW4tcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA0LjUgLT4gTWFyZ2luIGJvdHRvbQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubWItc20tMCB7bWFyZ2luLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLm1iLXNtLTUge21hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTEwIHttYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTUge21hcmdpbi1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5tYi1zbS0yMCB7bWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTMwIHttYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnR9DQoubWItc20tNDAge21hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5tYi1zbS01MCB7bWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTYwIHttYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnR9DQoubWItc20tNzAge21hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5tYi1zbS04MCB7bWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTkwIHttYXJnaW4tYm90dG9tOiA5MHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTAwIHttYXJnaW4tYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTExMCB7bWFyZ2luLWJvdHRvbTogMTEwcHggIWltcG9ydGFudH0NCi5tYi1zbS0xMjAge21hcmdpbi1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTMwIHttYXJnaW4tYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTE0MCB7bWFyZ2luLWJvdHRvbTogMTQwcHggIWltcG9ydGFudH0NCi5tYi1zbS0xNTAge21hcmdpbi1ib3R0b206IDE1MHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTYwIHttYXJnaW4tYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTE3MCB7bWFyZ2luLWJvdHRvbTogMTcwcHggIWltcG9ydGFudH0NCi5tYi1zbS0xODAge21hcmdpbi1ib3R0b206IDE4MHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTkwIHttYXJnaW4tYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTIwMCB7bWFyZ2luLWJvdHRvbTogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDQuNiAtPiBNYXJnaW4gbGVmdA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubWwtc20tMCB7bWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50O30NCi5tbC1zbS01IHttYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTAge21hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTUge21hcmdpbi1sZWZ0OiAxNXB4ICFpbXBvcnRhbnR9DQoubWwtc20tMjAge21hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMzAge21hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnR9DQoubWwtc20tNDAge21hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tNTAge21hcmdpbi1sZWZ0OiA1MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tNjAge21hcmdpbi1sZWZ0OiA2MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tNzAge21hcmdpbi1sZWZ0OiA3MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tODAge21hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tOTAge21hcmdpbi1sZWZ0OiA5MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTAwIHttYXJnaW4tbGVmdDogMTAwcHggIWltcG9ydGFudH0NCi5tbC1zbS0xMTAge21hcmdpbi1sZWZ0OiAxMTBweCAhaW1wb3J0YW50fQ0KLm1sLXNtLTEyMCB7bWFyZ2luLWxlZnQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTMwIHttYXJnaW4tbGVmdDogMTMwcHggIWltcG9ydGFudH0NCi5tbC1zbS0xNDAge21hcmdpbi1sZWZ0OiAxNDBweCAhaW1wb3J0YW50fQ0KLm1sLXNtLTE1MCB7bWFyZ2luLWxlZnQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTYwIHttYXJnaW4tbGVmdDogMTYwcHggIWltcG9ydGFudH0NCi5tbC1zbS0xNzAge21hcmdpbi1sZWZ0OiAxNzBweCAhaW1wb3J0YW50fQ0KLm1sLXNtLTE4MCB7bWFyZ2luLWxlZnQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTkwIHttYXJnaW4tbGVmdDogMTkwcHggIWltcG9ydGFudH0NCi5tbC1zbS0yMDAge21hcmdpbi1sZWZ0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNC43IC0+IFBhZGRpbmcgdG9wDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wdC1zbS0wIHtwYWRkaW5nLXRvcDogMCFpbXBvcnRhbnQ7fQ0KLnB0LXNtLTUge3BhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudH0NCi5wdC1zbS0xMCB7cGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xNSB7cGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudH0NCi5wdC1zbS0yMCB7cGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudH0NCi5wdC1zbS0zMCB7cGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudH0NCi5wdC1zbS00MCB7cGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudH0NCi5wdC1zbS01MCB7cGFkZGluZy10b3A6IDUwcHggIWltcG9ydGFudH0NCi5wdC1zbS02MCB7cGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudH0NCi5wdC1zbS03MCB7cGFkZGluZy10b3A6IDcwcHggIWltcG9ydGFudH0NCi5wdC1zbS04MCB7cGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudH0NCi5wdC1zbS05MCB7cGFkZGluZy10b3A6IDkwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xMDAge3BhZGRpbmctdG9wOiAxMDBweCAhaW1wb3J0YW50fQ0KLnB0LXNtLTExMCB7cGFkZGluZy10b3A6IDExMHB4ICFpbXBvcnRhbnR9DQoucHQtc20tMTIwIHtwYWRkaW5nLXRvcDogMTIwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xMzAge3BhZGRpbmctdG9wOiAxMzBweCAhaW1wb3J0YW50fQ0KLnB0LXNtLTE0MCB7cGFkZGluZy10b3A6IDE0MHB4ICFpbXBvcnRhbnR9DQoucHQtc20tMTUwIHtwYWRkaW5nLXRvcDogMTUwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xNjAge3BhZGRpbmctdG9wOiAxNjBweCAhaW1wb3J0YW50fQ0KLnB0LXNtLTE3MCB7cGFkZGluZy10b3A6IDE3MHB4ICFpbXBvcnRhbnR9DQoucHQtc20tMTgwIHtwYWRkaW5nLXRvcDogMTgwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xOTAge3BhZGRpbmctdG9wOiAxOTBweCAhaW1wb3J0YW50fQ0KLnB0LXNtLTIwMCB7cGFkZGluZy10b3A6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA0LjggLT4gUGFkZGluZyByaWdodA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucHItc20tMCB7cGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7fQ0KLnByLXNtLTUge3BhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLnByLXNtLTEwIHtwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTUge3BhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudH0NCi5wci1zbS0yMCB7cGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTMwIHtwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnR9DQoucHItc20tNDAge3BhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudH0NCi5wci1zbS01MCB7cGFkZGluZy1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTYwIHtwYWRkaW5nLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnR9DQoucHItc20tNzAge3BhZGRpbmctcmlnaHQ6IDcwcHggIWltcG9ydGFudH0NCi5wci1zbS04MCB7cGFkZGluZy1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTkwIHtwYWRkaW5nLXJpZ2h0OiA5MHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTAwIHtwYWRkaW5nLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTExMCB7cGFkZGluZy1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5wci1zbS0xMjAge3BhZGRpbmctcmlnaHQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTMwIHtwYWRkaW5nLXJpZ2h0OiAxMzBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTE0MCB7cGFkZGluZy1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5wci1zbS0xNTAge3BhZGRpbmctcmlnaHQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTYwIHtwYWRkaW5nLXJpZ2h0OiAxNjBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTE3MCB7cGFkZGluZy1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5wci1zbS0xODAge3BhZGRpbmctcmlnaHQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTkwIHtwYWRkaW5nLXJpZ2h0OiAxOTBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTIwMCB7cGFkZGluZy1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDQuOSAtPiBQYWRkaW5nIGJvdHRvbQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucGItc20tMCB7cGFkZGluZy1ib3R0b206IDAhaW1wb3J0YW50O30NCi5wYi1zbS01IHtwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoucGItc20tMTAge3BhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTUge3BhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnR9DQoucGItc20tMjAge3BhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoucGItc20tMzAge3BhZGRpbmctYm90dG9tOiAzMHB4ICFpbXBvcnRhbnR9DQoucGItc20tNDAge3BhZGRpbmctYm90dG9tOiA0MHB4ICFpbXBvcnRhbnR9DQoucGItc20tNTAge3BhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoucGItc20tNjAge3BhZGRpbmctYm90dG9tOiA2MHB4ICFpbXBvcnRhbnR9DQoucGItc20tNzAge3BhZGRpbmctYm90dG9tOiA3MHB4ICFpbXBvcnRhbnR9DQoucGItc20tODAge3BhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoucGItc20tOTAge3BhZGRpbmctYm90dG9tOiA5MHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTAwIHtwYWRkaW5nLWJvdHRvbTogMTAwcHggIWltcG9ydGFudH0NCi5wYi1zbS0xMTAge3BhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLnBiLXNtLTEyMCB7cGFkZGluZy1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTMwIHtwYWRkaW5nLWJvdHRvbTogMTMwcHggIWltcG9ydGFudH0NCi5wYi1zbS0xNDAge3BhZGRpbmctYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLnBiLXNtLTE1MCB7cGFkZGluZy1ib3R0b206IDE1MHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTYwIHtwYWRkaW5nLWJvdHRvbTogMTYwcHggIWltcG9ydGFudH0NCi5wYi1zbS0xNzAge3BhZGRpbmctYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLnBiLXNtLTE4MCB7cGFkZGluZy1ib3R0b206IDE4MHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTkwIHtwYWRkaW5nLWJvdHRvbTogMTkwcHggIWltcG9ydGFudH0NCi5wYi1zbS0yMDAge3BhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNC4xMCAtPiBQYWRkaW5nIGxlZnQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnBsLXNtLTAge3BhZGRpbmctbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLnBsLXNtLTUge3BhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnR9DQoucGwtc20tMTAge3BhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE1IHtwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5wbC1zbS0yMCB7cGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnR9DQoucGwtc20tMzAge3BhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTQwIHtwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5wbC1zbS01MCB7cGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnR9DQoucGwtc20tNjAge3BhZGRpbmctbGVmdDogNjBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTcwIHtwYWRkaW5nLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5wbC1zbS04MCB7cGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnR9DQoucGwtc20tOTAge3BhZGRpbmctbGVmdDogOTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTEwMCB7cGFkZGluZy1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTExMCB7cGFkZGluZy1sZWZ0OiAxMTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTEyMCB7cGFkZGluZy1sZWZ0OiAxMjBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTEzMCB7cGFkZGluZy1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE0MCB7cGFkZGluZy1sZWZ0OiAxNDBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE1MCB7cGFkZGluZy1sZWZ0OiAxNTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE2MCB7cGFkZGluZy1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE3MCB7cGFkZGluZy1sZWZ0OiAxNzBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE4MCB7cGFkZGluZy1sZWZ0OiAxODBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE5MCB7cGFkZGluZy1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTIwMCB7cGFkZGluZy1sZWZ0OiAyMDBweCAhaW1wb3J0YW50fQ0KfQ0KDQovKg0KICogNSAtPiB4czogbWF4LXdpZHRoIDc2N3B4DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCkBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KSB7DQovKg0KICogNS4xIC0+IEJhc2ljIE1hcmdpbg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubS14cy0wIHttYXJnaW46IDBweCAhaW1wb3J0YW50fQ0KLm0teHMtNSB7bWFyZ2luOiA1cHggIWltcG9ydGFudH0NCi5tLXhzLTEwIHttYXJnaW46IDEwcHggIWltcG9ydGFudH0NCi5tLXhzLTE1IHttYXJnaW46IDE1cHggIWltcG9ydGFudH0NCi5tLXhzLTIwIHttYXJnaW46IDIwcHggIWltcG9ydGFudH0NCi5tLXhzLTMwIHttYXJnaW46IDMwcHggIWltcG9ydGFudH0NCi5tLXhzLTQwIHttYXJnaW46IDQwcHggIWltcG9ydGFudH0NCi5tLXhzLTUwIHttYXJnaW46IDUwcHggIWltcG9ydGFudH0NCi5tLXhzLTYwIHttYXJnaW46IDYwcHggIWltcG9ydGFudH0NCi5tLXhzLTcwIHttYXJnaW46IDcwcHggIWltcG9ydGFudH0NCi5tLXhzLTgwIHttYXJnaW46IDgwcHggIWltcG9ydGFudH0NCi5tLXhzLTkwIHttYXJnaW46IDkwcHggIWltcG9ydGFudH0NCi5tLXhzLTEwMCB7bWFyZ2luOiAxMDBweCAhaW1wb3J0YW50fQ0KLm0teHMtMTEwIHttYXJnaW46IDExMHB4ICFpbXBvcnRhbnR9DQoubS14cy0xMjAge21hcmdpbjogMTIwcHggIWltcG9ydGFudH0NCi5tLXhzLTEzMCB7bWFyZ2luOiAxMzBweCAhaW1wb3J0YW50fQ0KLm0teHMtMTQwIHttYXJnaW46IDE0MHB4ICFpbXBvcnRhbnR9DQoubS14cy0xNTAge21hcmdpbjogMTUwcHggIWltcG9ydGFudH0NCi5tLXhzLTE2MCB7bWFyZ2luOiAxNjBweCAhaW1wb3J0YW50fQ0KLm0teHMtMTcwIHttYXJnaW46IDE3MHB4ICFpbXBvcnRhbnR9DQoubS14cy0xODAge21hcmdpbjogMTgwcHggIWltcG9ydGFudH0NCi5tLXhzLTE5MCB7bWFyZ2luOiAxOTBweCAhaW1wb3J0YW50fQ0KLm0teHMtMjAwIHttYXJnaW46IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA1LjIgLT4gQmFzaWMgUGFkZGluZw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucC14cy0wIHtwYWRkaW5nOiAwIWltcG9ydGFudDt9DQoucC14cy01IHtwYWRkaW5nOiA1cHggIWltcG9ydGFudH0NCi5wLXhzLTEwIHtwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNSB7cGFkZGluZzogMTVweCAhaW1wb3J0YW50fQ0KLnAteHMtMjAge3BhZGRpbmc6IDIwcHggIWltcG9ydGFudH0NCi5wLXhzLTMwIHtwYWRkaW5nOiAzMHB4ICFpbXBvcnRhbnR9DQoucC14cy00MCB7cGFkZGluZzogNDBweCAhaW1wb3J0YW50fQ0KLnAteHMtNTAge3BhZGRpbmc6IDUwcHggIWltcG9ydGFudH0NCi5wLXhzLTYwIHtwYWRkaW5nOiA2MHB4ICFpbXBvcnRhbnR9DQoucC14cy03MCB7cGFkZGluZzogNzBweCAhaW1wb3J0YW50fQ0KLnAteHMtODAge3BhZGRpbmc6IDgwcHggIWltcG9ydGFudH0NCi5wLXhzLTkwIHtwYWRkaW5nOiA5MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xMDAge3BhZGRpbmc6IDEwMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xMTAge3BhZGRpbmc6IDExMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xMjAge3BhZGRpbmc6IDEyMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xMzAge3BhZGRpbmc6IDEzMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNDAge3BhZGRpbmc6IDE0MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNTAge3BhZGRpbmc6IDE1MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNjAge3BhZGRpbmc6IDE2MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNzAge3BhZGRpbmc6IDE3MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xODAge3BhZGRpbmc6IDE4MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xOTAge3BhZGRpbmc6IDE5MHB4ICFpbXBvcnRhbnR9DQoucC14cy0yMDAge3BhZGRpbmc6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA1LjMgLT4gTWFyZ2luIHRvcA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubXQteHMtMCB7bWFyZ2luLXRvcDogMCFpbXBvcnRhbnQ7fQ0KLm10LXhzLTUge21hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50fQ0KLm10LXhzLTEwIHttYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTUge21hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudH0NCi5tdC14cy0yMCB7bWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTMwIHttYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnR9DQoubXQteHMtNDAge21hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudH0NCi5tdC14cy01MCB7bWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTYwIHttYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnR9DQoubXQteHMtNzAge21hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudH0NCi5tdC14cy04MCB7bWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTkwIHttYXJnaW4tdG9wOiA5MHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTAwIHttYXJnaW4tdG9wOiAxMDBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTExMCB7bWFyZ2luLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5tdC14cy0xMjAge21hcmdpbi10b3A6IDEyMHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTMwIHttYXJnaW4tdG9wOiAxMzBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTE0MCB7bWFyZ2luLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5tdC14cy0xNTAge21hcmdpbi10b3A6IDE1MHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTYwIHttYXJnaW4tdG9wOiAxNjBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTE3MCB7bWFyZ2luLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5tdC14cy0xODAge21hcmdpbi10b3A6IDE4MHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTkwIHttYXJnaW4tdG9wOiAxOTBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTIwMCB7bWFyZ2luLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDUuNCAtPiBNYXJnaW4gcmlnaHQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm1yLXhzLTAge21hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7fQ0KLm1yLXhzLTUge21hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnR9DQoubXIteHMtMTAge21hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE1IHttYXJnaW4tcmlnaHQ6IDE1cHggIWltcG9ydGFudH0NCi5tci14cy0yMCB7bWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnR9DQoubXIteHMtMzAge21hcmdpbi1yaWdodDogMzBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTQwIHttYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudH0NCi5tci14cy01MCB7bWFyZ2luLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnR9DQoubXIteHMtNjAge21hcmdpbi1yaWdodDogNjBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTcwIHttYXJnaW4tcmlnaHQ6IDcwcHggIWltcG9ydGFudH0NCi5tci14cy04MCB7bWFyZ2luLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnR9DQoubXIteHMtOTAge21hcmdpbi1yaWdodDogOTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTEwMCB7bWFyZ2luLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTExMCB7bWFyZ2luLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTEyMCB7bWFyZ2luLXJpZ2h0OiAxMjBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTEzMCB7bWFyZ2luLXJpZ2h0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE0MCB7bWFyZ2luLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE1MCB7bWFyZ2luLXJpZ2h0OiAxNTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE2MCB7bWFyZ2luLXJpZ2h0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE3MCB7bWFyZ2luLXJpZ2h0OiAxNzBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE4MCB7bWFyZ2luLXJpZ2h0OiAxODBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE5MCB7bWFyZ2luLXJpZ2h0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTIwMCB7bWFyZ2luLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNS41IC0+IE1hcmdpbiBib3R0b20NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm1iLXhzLTAge21hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O30NCi5tYi14cy01IHttYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5tYi14cy0xMCB7bWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTE1IHttYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnR9DQoubWIteHMtMjAge21hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5tYi14cy0zMCB7bWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTQwIHttYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnR9DQoubWIteHMtNTAge21hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5tYi14cy02MCB7bWFyZ2luLWJvdHRvbTogNjBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTcwIHttYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnR9DQoubWIteHMtODAge21hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5tYi14cy05MCB7bWFyZ2luLWJvdHRvbTogOTBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTEwMCB7bWFyZ2luLWJvdHRvbTogMTAwcHggIWltcG9ydGFudH0NCi5tYi14cy0xMTAge21hcmdpbi1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoubWIteHMtMTIwIHttYXJnaW4tYm90dG9tOiAxMjBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTEzMCB7bWFyZ2luLWJvdHRvbTogMTMwcHggIWltcG9ydGFudH0NCi5tYi14cy0xNDAge21hcmdpbi1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoubWIteHMtMTUwIHttYXJnaW4tYm90dG9tOiAxNTBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTE2MCB7bWFyZ2luLWJvdHRvbTogMTYwcHggIWltcG9ydGFudH0NCi5tYi14cy0xNzAge21hcmdpbi1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoubWIteHMtMTgwIHttYXJnaW4tYm90dG9tOiAxODBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTE5MCB7bWFyZ2luLWJvdHRvbTogMTkwcHggIWltcG9ydGFudH0NCi5tYi14cy0yMDAge21hcmdpbi1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA1LjYgLT4gTWFyZ2luIGxlZnQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm1sLXhzLTAge21hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDt9DQoubWwteHMtNSB7bWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTEwIHttYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTE1IHttYXJnaW4tbGVmdDogMTVweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTIwIHttYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTMwIHttYXJnaW4tbGVmdDogMzBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTQwIHttYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTUwIHttYXJnaW4tbGVmdDogNTBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTYwIHttYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTcwIHttYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTgwIHttYXJnaW4tbGVmdDogODBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTkwIHttYXJnaW4tbGVmdDogOTBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTEwMCB7bWFyZ2luLWxlZnQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoubWwteHMtMTEwIHttYXJnaW4tbGVmdDogMTEwcHggIWltcG9ydGFudH0NCi5tbC14cy0xMjAge21hcmdpbi1sZWZ0OiAxMjBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTEzMCB7bWFyZ2luLWxlZnQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoubWwteHMtMTQwIHttYXJnaW4tbGVmdDogMTQwcHggIWltcG9ydGFudH0NCi5tbC14cy0xNTAge21hcmdpbi1sZWZ0OiAxNTBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTE2MCB7bWFyZ2luLWxlZnQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoubWwteHMtMTcwIHttYXJnaW4tbGVmdDogMTcwcHggIWltcG9ydGFudH0NCi5tbC14cy0xODAge21hcmdpbi1sZWZ0OiAxODBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTE5MCB7bWFyZ2luLWxlZnQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoubWwteHMtMjAwIHttYXJnaW4tbGVmdDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDUuNyAtPiBQYWRkaW5nIHRvcA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucHQteHMtMCB7cGFkZGluZy10b3A6IDAhaW1wb3J0YW50O30NCi5wdC14cy01IHtwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTAge3BhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTUge3BhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoucHQteHMtMjAge3BhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMzAge3BhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnR9DQoucHQteHMtNDAge3BhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtNTAge3BhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtNjAge3BhZGRpbmctdG9wOiA2MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtNzAge3BhZGRpbmctdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtODAge3BhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtOTAge3BhZGRpbmctdG9wOiA5MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTAwIHtwYWRkaW5nLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5wdC14cy0xMTAge3BhZGRpbmctdG9wOiAxMTBweCAhaW1wb3J0YW50fQ0KLnB0LXhzLTEyMCB7cGFkZGluZy10b3A6IDEyMHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTMwIHtwYWRkaW5nLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5wdC14cy0xNDAge3BhZGRpbmctdG9wOiAxNDBweCAhaW1wb3J0YW50fQ0KLnB0LXhzLTE1MCB7cGFkZGluZy10b3A6IDE1MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTYwIHtwYWRkaW5nLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5wdC14cy0xNzAge3BhZGRpbmctdG9wOiAxNzBweCAhaW1wb3J0YW50fQ0KLnB0LXhzLTE4MCB7cGFkZGluZy10b3A6IDE4MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTkwIHtwYWRkaW5nLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5wdC14cy0yMDAge3BhZGRpbmctdG9wOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNS44IC0+IFBhZGRpbmcgcmlnaHQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnByLXhzLTAge3BhZGRpbmctcmlnaHQ6IDAhaW1wb3J0YW50O30NCi5wci14cy01IHtwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudH0NCi5wci14cy0xMCB7cGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTE1IHtwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnR9DQoucHIteHMtMjAge3BhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudH0NCi5wci14cy0zMCB7cGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTQwIHtwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnR9DQoucHIteHMtNTAge3BhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudH0NCi5wci14cy02MCB7cGFkZGluZy1yaWdodDogNjBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTcwIHtwYWRkaW5nLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnR9DQoucHIteHMtODAge3BhZGRpbmctcmlnaHQ6IDgwcHggIWltcG9ydGFudH0NCi5wci14cy05MCB7cGFkZGluZy1yaWdodDogOTBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTEwMCB7cGFkZGluZy1yaWdodDogMTAwcHggIWltcG9ydGFudH0NCi5wci14cy0xMTAge3BhZGRpbmctcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucHIteHMtMTIwIHtwYWRkaW5nLXJpZ2h0OiAxMjBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTEzMCB7cGFkZGluZy1yaWdodDogMTMwcHggIWltcG9ydGFudH0NCi5wci14cy0xNDAge3BhZGRpbmctcmlnaHQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucHIteHMtMTUwIHtwYWRkaW5nLXJpZ2h0OiAxNTBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTE2MCB7cGFkZGluZy1yaWdodDogMTYwcHggIWltcG9ydGFudH0NCi5wci14cy0xNzAge3BhZGRpbmctcmlnaHQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucHIteHMtMTgwIHtwYWRkaW5nLXJpZ2h0OiAxODBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTE5MCB7cGFkZGluZy1yaWdodDogMTkwcHggIWltcG9ydGFudH0NCi5wci14cy0yMDAge3BhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA1LjkgLT4gUGFkZGluZyBib3R0b20NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnBiLXhzLTAge3BhZGRpbmctYm90dG9tOiAwIWltcG9ydGFudDt9DQoucGIteHMtNSB7cGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTEwIHtwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTE1IHtwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTIwIHtwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTMwIHtwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTQwIHtwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTUwIHtwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTYwIHtwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTcwIHtwYWRkaW5nLWJvdHRvbTogNzBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTgwIHtwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTkwIHtwYWRkaW5nLWJvdHRvbTogOTBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTEwMCB7cGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnR9DQoucGIteHMtMTEwIHtwYWRkaW5nLWJvdHRvbTogMTEwcHggIWltcG9ydGFudH0NCi5wYi14cy0xMjAge3BhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTEzMCB7cGFkZGluZy1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnR9DQoucGIteHMtMTQwIHtwYWRkaW5nLWJvdHRvbTogMTQwcHggIWltcG9ydGFudH0NCi5wYi14cy0xNTAge3BhZGRpbmctYm90dG9tOiAxNTBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTE2MCB7cGFkZGluZy1ib3R0b206IDE2MHB4ICFpbXBvcnRhbnR9DQoucGIteHMtMTcwIHtwYWRkaW5nLWJvdHRvbTogMTcwcHggIWltcG9ydGFudH0NCi5wYi14cy0xODAge3BhZGRpbmctYm90dG9tOiAxODBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTE5MCB7cGFkZGluZy1ib3R0b206IDE5MHB4ICFpbXBvcnRhbnR9DQoucGIteHMtMjAwIHtwYWRkaW5nLWJvdHRvbTogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDUuMTAgLT4gUGFkZGluZyBsZWZ0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wbC14cy0wIHtwYWRkaW5nLWxlZnQ6IDAhaW1wb3J0YW50O30NCi5wbC14cy01IHtwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50fQ0KLnBsLXhzLTEwIHtwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNSB7cGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnR9DQoucGwteHMtMjAge3BhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50fQ0KLnBsLXhzLTMwIHtwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudH0NCi5wbC14cy00MCB7cGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnR9DQoucGwteHMtNTAge3BhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50fQ0KLnBsLXhzLTYwIHtwYWRkaW5nLWxlZnQ6IDYwcHggIWltcG9ydGFudH0NCi5wbC14cy03MCB7cGFkZGluZy1sZWZ0OiA3MHB4ICFpbXBvcnRhbnR9DQoucGwteHMtODAge3BhZGRpbmctbGVmdDogODBweCAhaW1wb3J0YW50fQ0KLnBsLXhzLTkwIHtwYWRkaW5nLWxlZnQ6IDkwcHggIWltcG9ydGFudH0NCi5wbC14cy0xMDAge3BhZGRpbmctbGVmdDogMTAwcHggIWltcG9ydGFudH0NCi5wbC14cy0xMTAge3BhZGRpbmctbGVmdDogMTEwcHggIWltcG9ydGFudH0NCi5wbC14cy0xMjAge3BhZGRpbmctbGVmdDogMTIwcHggIWltcG9ydGFudH0NCi5wbC14cy0xMzAge3BhZGRpbmctbGVmdDogMTMwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNDAge3BhZGRpbmctbGVmdDogMTQwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNTAge3BhZGRpbmctbGVmdDogMTUwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNjAge3BhZGRpbmctbGVmdDogMTYwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNzAge3BhZGRpbmctbGVmdDogMTcwcHggIWltcG9ydGFudH0NCi5wbC14cy0xODAge3BhZGRpbmctbGVmdDogMTgwcHggIWltcG9ydGFudH0NCi5wbC14cy0xOTAge3BhZGRpbmctbGVmdDogMTkwcHggIWltcG9ydGFudH0NCi5wbC14cy0yMDAge3BhZGRpbmctbGVmdDogMjAwcHggIWltcG9ydGFudH0NCn0NCg0KLyoNCiAqIDYgLT4geHhzOiBtYXgtd2lkdGggNDc5cHgNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KQG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpIHsNCi8qDQogKiA2LjEgLT4gQmFzaWMgTWFyZ2luDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tLXh4cy0wIHttYXJnaW46IDBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTUge21hcmdpbjogNXB4ICFpbXBvcnRhbnR9DQoubS14eHMtMTAge21hcmdpbjogMTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE1IHttYXJnaW46IDE1cHggIWltcG9ydGFudH0NCi5tLXh4cy0yMCB7bWFyZ2luOiAyMHB4ICFpbXBvcnRhbnR9DQoubS14eHMtMzAge21hcmdpbjogMzBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTQwIHttYXJnaW46IDQwcHggIWltcG9ydGFudH0NCi5tLXh4cy01MCB7bWFyZ2luOiA1MHB4ICFpbXBvcnRhbnR9DQoubS14eHMtNjAge21hcmdpbjogNjBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTcwIHttYXJnaW46IDcwcHggIWltcG9ydGFudH0NCi5tLXh4cy04MCB7bWFyZ2luOiA4MHB4ICFpbXBvcnRhbnR9DQoubS14eHMtOTAge21hcmdpbjogOTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTEwMCB7bWFyZ2luOiAxMDBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTExMCB7bWFyZ2luOiAxMTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTEyMCB7bWFyZ2luOiAxMjBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTEzMCB7bWFyZ2luOiAxMzBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE0MCB7bWFyZ2luOiAxNDBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE1MCB7bWFyZ2luOiAxNTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE2MCB7bWFyZ2luOiAxNjBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE3MCB7bWFyZ2luOiAxNzBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE4MCB7bWFyZ2luOiAxODBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE5MCB7bWFyZ2luOiAxOTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTIwMCB7bWFyZ2luOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNi4yIC0+IEJhc2ljIFBhZGRpbmcNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnAteHhzLTAge3BhZGRpbmc6IDAhaW1wb3J0YW50O30NCi5wLXh4cy01IHtwYWRkaW5nOiA1cHggIWltcG9ydGFudH0NCi5wLXh4cy0xMCB7cGFkZGluZzogMTBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTE1IHtwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnR9DQoucC14eHMtMjAge3BhZGRpbmc6IDIwcHggIWltcG9ydGFudH0NCi5wLXh4cy0zMCB7cGFkZGluZzogMzBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTQwIHtwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnR9DQoucC14eHMtNTAge3BhZGRpbmc6IDUwcHggIWltcG9ydGFudH0NCi5wLXh4cy02MCB7cGFkZGluZzogNjBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTcwIHtwYWRkaW5nOiA3MHB4ICFpbXBvcnRhbnR9DQoucC14eHMtODAge3BhZGRpbmc6IDgwcHggIWltcG9ydGFudH0NCi5wLXh4cy05MCB7cGFkZGluZzogOTBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTEwMCB7cGFkZGluZzogMTAwcHggIWltcG9ydGFudH0NCi5wLXh4cy0xMTAge3BhZGRpbmc6IDExMHB4ICFpbXBvcnRhbnR9DQoucC14eHMtMTIwIHtwYWRkaW5nOiAxMjBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTEzMCB7cGFkZGluZzogMTMwcHggIWltcG9ydGFudH0NCi5wLXh4cy0xNDAge3BhZGRpbmc6IDE0MHB4ICFpbXBvcnRhbnR9DQoucC14eHMtMTUwIHtwYWRkaW5nOiAxNTBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTE2MCB7cGFkZGluZzogMTYwcHggIWltcG9ydGFudH0NCi5wLXh4cy0xNzAge3BhZGRpbmc6IDE3MHB4ICFpbXBvcnRhbnR9DQoucC14eHMtMTgwIHtwYWRkaW5nOiAxODBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTE5MCB7cGFkZGluZzogMTkwcHggIWltcG9ydGFudH0NCi5wLXh4cy0yMDAge3BhZGRpbmc6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA2LjMgLT4gTWFyZ2luIHRvcA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubXQteHhzLTAge21hcmdpbi10b3A6IDAhaW1wb3J0YW50O30NCi5tdC14eHMtNSB7bWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTEwIHttYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTE1IHttYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTIwIHttYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTMwIHttYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTQwIHttYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTUwIHttYXJnaW4tdG9wOiA1MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTYwIHttYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTcwIHttYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTgwIHttYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTkwIHttYXJnaW4tdG9wOiA5MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTEwMCB7bWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5tdC14eHMtMTEwIHttYXJnaW4tdG9wOiAxMTBweCAhaW1wb3J0YW50fQ0KLm10LXh4cy0xMjAge21hcmdpbi10b3A6IDEyMHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTEzMCB7bWFyZ2luLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5tdC14eHMtMTQwIHttYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50fQ0KLm10LXh4cy0xNTAge21hcmdpbi10b3A6IDE1MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTE2MCB7bWFyZ2luLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5tdC14eHMtMTcwIHttYXJnaW4tdG9wOiAxNzBweCAhaW1wb3J0YW50fQ0KLm10LXh4cy0xODAge21hcmdpbi10b3A6IDE4MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTE5MCB7bWFyZ2luLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5tdC14eHMtMjAwIHttYXJnaW4tdG9wOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNi40IC0+IE1hcmdpbiByaWdodA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubXIteHhzLTAge21hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7fQ0KLm1yLXh4cy01IHttYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0xMCB7bWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTE1IHttYXJnaW4tcmlnaHQ6IDE1cHggIWltcG9ydGFudH0NCi5tci14eHMtMjAge21hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0zMCB7bWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTQwIHttYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudH0NCi5tci14eHMtNTAge21hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy02MCB7bWFyZ2luLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTcwIHttYXJnaW4tcmlnaHQ6IDcwcHggIWltcG9ydGFudH0NCi5tci14eHMtODAge21hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy05MCB7bWFyZ2luLXJpZ2h0OiA5MHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTEwMCB7bWFyZ2luLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0xMTAge21hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5tci14eHMtMTIwIHttYXJnaW4tcmlnaHQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTEzMCB7bWFyZ2luLXJpZ2h0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0xNDAge21hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5tci14eHMtMTUwIHttYXJnaW4tcmlnaHQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTE2MCB7bWFyZ2luLXJpZ2h0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0xNzAge21hcmdpbi1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5tci14eHMtMTgwIHttYXJnaW4tcmlnaHQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTE5MCB7bWFyZ2luLXJpZ2h0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0yMDAge21hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDYuNSAtPiBNYXJnaW4gYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tYi14eHMtMCB7bWFyZ2luLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLm1iLXh4cy01IHttYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5tYi14eHMtMTAge21hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTUge21hcmdpbi1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5tYi14eHMtMjAge21hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMzAge21hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5tYi14eHMtNDAge21hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5tYi14eHMtNTAge21hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5tYi14eHMtNjAge21hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5tYi14eHMtNzAge21hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5tYi14eHMtODAge21hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5tYi14eHMtOTAge21hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTAwIHttYXJnaW4tYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLm1iLXh4cy0xMTAge21hcmdpbi1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoubWIteHhzLTEyMCB7bWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTMwIHttYXJnaW4tYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLm1iLXh4cy0xNDAge21hcmdpbi1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoubWIteHhzLTE1MCB7bWFyZ2luLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTYwIHttYXJnaW4tYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLm1iLXh4cy0xNzAge21hcmdpbi1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoubWIteHhzLTE4MCB7bWFyZ2luLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTkwIHttYXJnaW4tYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLm1iLXh4cy0yMDAge21hcmdpbi1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA2LjYgLT4gTWFyZ2luIGxlZnQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm1sLXh4cy0wIHttYXJnaW4tbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLm1sLXh4cy01IHttYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnR9DQoubWwteHhzLTEwIHttYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNSB7bWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5tbC14eHMtMjAge21hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnR9DQoubWwteHhzLTMwIHttYXJnaW4tbGVmdDogMzBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy00MCB7bWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5tbC14eHMtNTAge21hcmdpbi1sZWZ0OiA1MHB4ICFpbXBvcnRhbnR9DQoubWwteHhzLTYwIHttYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy03MCB7bWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5tbC14eHMtODAge21hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnR9DQoubWwteHhzLTkwIHttYXJnaW4tbGVmdDogOTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xMDAge21hcmdpbi1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xMTAge21hcmdpbi1sZWZ0OiAxMTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xMjAge21hcmdpbi1sZWZ0OiAxMjBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xMzAge21hcmdpbi1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNDAge21hcmdpbi1sZWZ0OiAxNDBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNTAge21hcmdpbi1sZWZ0OiAxNTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNjAge21hcmdpbi1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNzAge21hcmdpbi1sZWZ0OiAxNzBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xODAge21hcmdpbi1sZWZ0OiAxODBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xOTAge21hcmdpbi1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0yMDAge21hcmdpbi1sZWZ0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNi43IC0+IFBhZGRpbmcgdG9wDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wdC14eHMtMCB7cGFkZGluZy10b3A6IDAhaW1wb3J0YW50O30NCi5wdC14eHMtNSB7cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50fQ0KLnB0LXh4cy0xMCB7cGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTUge3BhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoucHQteHhzLTIwIHtwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLnB0LXh4cy0zMCB7cGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudH0NCi5wdC14eHMtNDAge3BhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoucHQteHhzLTUwIHtwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLnB0LXh4cy02MCB7cGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudH0NCi5wdC14eHMtNzAge3BhZGRpbmctdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoucHQteHhzLTgwIHtwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLnB0LXh4cy05MCB7cGFkZGluZy10b3A6IDkwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTAwIHtwYWRkaW5nLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTEwIHtwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTIwIHtwYWRkaW5nLXRvcDogMTIwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTMwIHtwYWRkaW5nLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTQwIHtwYWRkaW5nLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTUwIHtwYWRkaW5nLXRvcDogMTUwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTYwIHtwYWRkaW5nLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTcwIHtwYWRkaW5nLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTgwIHtwYWRkaW5nLXRvcDogMTgwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTkwIHtwYWRkaW5nLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMjAwIHtwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDYuOCAtPiBQYWRkaW5nIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wci14eHMtMCB7cGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7fQ0KLnByLXh4cy01IHtwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudH0NCi5wci14eHMtMTAge3BhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTUge3BhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudH0NCi5wci14eHMtMjAge3BhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudH0NCi5wci14eHMtMzAge3BhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5wci14eHMtNDAge3BhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudH0NCi5wci14eHMtNTAge3BhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudH0NCi5wci14eHMtNjAge3BhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5wci14eHMtNzAge3BhZGRpbmctcmlnaHQ6IDcwcHggIWltcG9ydGFudH0NCi5wci14eHMtODAge3BhZGRpbmctcmlnaHQ6IDgwcHggIWltcG9ydGFudH0NCi5wci14eHMtOTAge3BhZGRpbmctcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTAwIHtwYWRkaW5nLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50fQ0KLnByLXh4cy0xMTAge3BhZGRpbmctcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucHIteHhzLTEyMCB7cGFkZGluZy1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTMwIHtwYWRkaW5nLXJpZ2h0OiAxMzBweCAhaW1wb3J0YW50fQ0KLnByLXh4cy0xNDAge3BhZGRpbmctcmlnaHQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucHIteHhzLTE1MCB7cGFkZGluZy1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTYwIHtwYWRkaW5nLXJpZ2h0OiAxNjBweCAhaW1wb3J0YW50fQ0KLnByLXh4cy0xNzAge3BhZGRpbmctcmlnaHQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucHIteHhzLTE4MCB7cGFkZGluZy1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTkwIHtwYWRkaW5nLXJpZ2h0OiAxOTBweCAhaW1wb3J0YW50fQ0KLnByLXh4cy0yMDAge3BhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA2LjkgLT4gUGFkZGluZyBib3R0b20NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnBiLXh4cy0wIHtwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLnBiLXh4cy01IHtwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoucGIteHhzLTEwIHtwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNSB7cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5wYi14eHMtMjAge3BhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoucGIteHhzLTMwIHtwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy00MCB7cGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5wYi14eHMtNTAge3BhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoucGIteHhzLTYwIHtwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy03MCB7cGFkZGluZy1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5wYi14eHMtODAge3BhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoucGIteHhzLTkwIHtwYWRkaW5nLWJvdHRvbTogOTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xMDAge3BhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xMTAge3BhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xMjAge3BhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xMzAge3BhZGRpbmctYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNDAge3BhZGRpbmctYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNTAge3BhZGRpbmctYm90dG9tOiAxNTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNjAge3BhZGRpbmctYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNzAge3BhZGRpbmctYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xODAge3BhZGRpbmctYm90dG9tOiAxODBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xOTAge3BhZGRpbmctYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0yMDAge3BhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNi4xMCAtPiBQYWRkaW5nIGxlZnQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnBsLXh4cy0wIHtwYWRkaW5nLWxlZnQ6IDAhaW1wb3J0YW50O30NCi5wbC14eHMtNSB7cGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5wbC14eHMtMTAge3BhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xNSB7cGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTIwIHtwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMzAge3BhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy00MCB7cGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTUwIHtwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5wbC14eHMtNjAge3BhZGRpbmctbGVmdDogNjBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy03MCB7cGFkZGluZy1sZWZ0OiA3MHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTgwIHtwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5wbC14eHMtOTAge3BhZGRpbmctbGVmdDogOTBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xMDAge3BhZGRpbmctbGVmdDogMTAwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMTEwIHtwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTEyMCB7cGFkZGluZy1sZWZ0OiAxMjBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xMzAge3BhZGRpbmctbGVmdDogMTMwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMTQwIHtwYWRkaW5nLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTE1MCB7cGFkZGluZy1sZWZ0OiAxNTBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xNjAge3BhZGRpbmctbGVmdDogMTYwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMTcwIHtwYWRkaW5nLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTE4MCB7cGFkZGluZy1sZWZ0OiAxODBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xOTAge3BhZGRpbmctbGVmdDogMTkwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMjAwIHtwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQp9"}},"time_used":244,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":241,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_68x28dp.png","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:26.589Z","timestamp":1785123386589,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /images/branding/googlelogo/1x/googlelogo_color_68x28dp.png HTTP/1.1\r\nHost: www.gstatic.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://alpha-achieveer.co/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1597\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:18 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:18 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 30 Jun 2023 18:58:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 397568\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1597,"size_decoded":2271,"mime_type":"image/png","magic":"PNG image data, 68 x 28, 8-bit/color RGBA, non-interlaced","md5":"c4a931d597decd2553aac6634b766cf2","sha1":"6ec84fb4a2745b4b71520241be77db1fd1013830","sha256":"f56402b127698db4b4dc611a97a6f081d04c4691c60522c5912d189e37c94a9e","sha512":"4932e0f7f38085a7c52539bdd5c7f470740e560a4471bea30d12ef9e3efe77f6bbfac28d26c62a245c43d98ebf74c824b2b414843080a27edf1563a5f874ac84","ssdeep":"","tlshash":"7c310afff39e8cec419e764069ba5965a362cd68233e928f14499592e4d007710f5f41","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-07-31T12:08:53.65578Z","times_seen":19196,"resource_available":false,"data":"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"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/generate_204?9vC7yA","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:27.027Z","timestamp":1785123387027,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /generate_204?9vC7yA HTTP/1.1\r\nHost: www.youtube.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/1jE4zHXbNUM\r\nCookie: __Secure-YNID=20.YT=ACUFOM3MDkNlMvNE5tDAPRZqHyc8HUq6iYvUgEF1js7uVm3Y31bhiIf3sVy4Hyrvgc1OCcHOSp3vsPk12xuHnAhC1Cf-xEwH-8JAvj7gSksWox0nkC6On-8HrUpiNpbDsON7P2d2WEPcvLJM09w4iFsjyc_8T-qrQ0o1v2sJWKWT_Z3Uow-3_y6UiAY8Vbe7BIDaKFErBOC2kWOBSpXwq3nYab8hNVEUPvsfWuKC-MRJZnr7wGh8LavkHs5oAOt2osUNkzgjw-nnLgGDpE17OFrXWJtGeCijcF2DuDXuyJlEZANCnD74xKNqRr8pDJRMH9psiz0sP7MpCDXOwn8F6w; YSC=b0pYTBtcjuk; __Secure-ROLLOUT_TOKEN=CJ3oqsnxxYqOfxD6qa3q9vGVAxj6qa3q9vGVAw%3D%3D; VISITOR_INFO1_LIVE=l_LgHcz9JSg; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaA%3D%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-length: 0\r\ncross-origin-resource-policy: cross-origin\r\ndate: Mon, 27 Jul 2026 03:36:27 GMT\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":172,"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-07-31T13:42:13.00563Z","times_seen":17635411,"resource_available":true,"data":""}},"time_used":9,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/responsive.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.013Z","timestamp":1785123385013,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/responsive.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"476-65fd8520-ca72d2c9bcf5eff6;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 267\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1142,"size_decoded":705,"mime_type":"text/css","magic":"ASCII text","md5":"e722852e1c375001600d2467496f6bd2","sha1":"fe2a819a76748b7821c0029dfa645074bf3604d6","sha256":"b5e84915c65f9e908de18c745a0cba385ca89b0ee34fb64c0fd0e32ab610e62b","sha512":"31250dd7b6b7f6b906094db4bf4b512b8e209f64a813245326ee91a8258c079effabb10e71c125f09837e240770f011d2ff5df74819f4eb72f81e81dd20d4dee","ssdeep":"","tlshash":"7821e4f7ce83764a2cd278274c56106c03a57c38a76f7787bd89a0195fc43a95025fe8","first_seen":"2023-04-07T09:30:32Z","last_seen":"2026-07-27T14:34:25.25451Z","times_seen":237,"resource_available":false,"data":"Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9ICAgICAgICAgICAgQm9vdHN0cmFwIDMgTWVkaWEgUXVlcmllcyAgICAgICAgICAgICA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAogCi8qPT09PT09PT09PSAgTW9iaWxlIEZpcnN0IE1ldGhvZCAgPT09PT09PT09PSovCiAKLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDMyMHB4KSB7Cn0KCi8qIEV4dHJhIFNtYWxsIERldmljZXMsIFBob25lcyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA0ODBweCkgewp9CgovKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSB7Cn0KCi8qIE1lZGl1bSBEZXZpY2VzLCBEZXNrdG9wcyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA5OTJweCkgewp9CgovKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMTIwMHB4KSB7Cn0KCgovKj09PT09PT09PT0gIE5vbi1Nb2JpbGUgRmlyc3QgTWV0aG9kICA9PT09PT09PT09Ki8KIAovKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTE5OXB4KSB7Cn0KCi8qIE1lZGl1bSBEZXZpY2VzLCBEZXNrdG9wcyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA5OTFweCkgewp9CgovKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2N3B4KSB7Cn0KLyogRXh0cmEgU21hbGwgRGV2aWNlcywgUGhvbmVzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDQ3OXB4KSB7Cn0KCi8qIEV4dHJhIFNtYWxsIERldmljZXMsIFBob25lcyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAzNjBweCkgewoKfQoKLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDMxOXB4KSB7Cn0="}},"time_used":192,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":192,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/revolution-slider/js/extensions/revolution.extension.actions.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.221Z","timestamp":1785123385221,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.actions.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"205f-65fd8520-38cf643a76bd948b;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2398\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":8287,"size_decoded":2854,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (8049), with CRLF line terminators","md5":"90131555d6a196c1562a38bf8899bbe8","sha1":"f50367c2d0c711c703aff1d5550fa947c2ce1f14","sha256":"9bb2c6711f94d39796fe68fb53fa36d22b02b6b7de3759ea55176149f6023c03","sha512":"71ef0d9e205fd6cae62f58e06270eda43f7d0ded1546b1832f7f65395f4d574b4dc21deeeadf2836edee1205dc0dcabef2a39c906bdb7c4dfc255e65251abe61","ssdeep":"192:PhPa5+8MkuLnm8ZbYl+zWJc2VJS/gcBVl1h:4Behi2fz5","tlshash":"6002a346f201acff4467a5aae82b12d27170759ca206ade4f067f5a86c3cb5205c77ec","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-29T03:06:32.096043Z","times_seen":1149,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC4yIEVYVEVOU0lPTiAtIEFDVElPTlMNCiAqIEB2ZXJzaW9uOiAyLjEuMCAoMTUuMDUuMjAxNykNCiAqIEByZXF1aXJlcyBqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLmpzDQogKiBAYXV0aG9yIFRoZW1lUHVuY2gNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiFmdW5jdGlvbigkKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZ2V0U2Nyb2xsUm9vdCgpe3ZhciBkLGE9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGI9ZG9jdW1lbnQuYm9keSxjPSh2b2lkIDAhPT13aW5kb3cucGFnZVlPZmZzZXQ/d2luZG93LnBhZ2VZT2Zmc2V0Om51bGwpfHxiLnNjcm9sbFRvcHx8YS5zY3JvbGxUb3A7cmV0dXJuIGEuc2Nyb2xsVG9wPWIuc2Nyb2xsVG9wPWMrKGM+MCk/LTE6MSxkPWEuc2Nyb2xsVG9wIT09Yz9hOmIsZC5zY3JvbGxUb3A9YyxkfXZhciBfUj1qUXVlcnkuZm4ucmV2b2x1dGlvbixfSVNNPV9SLmlzX21vYmlsZSgpLGV4dGVuc2lvbj17YWxpYXM6IkFjdGlvbnMgTWluIEpTIixuYW1lOiJyZXZvbHV0aW9uLmV4dGVuc2lvbnMuYWN0aW9ucy5taW4uanMiLG1pbl9jb3JlOiI1LjQuNSIsdmVyc2lvbjoiMi4xLjAifTtqUXVlcnkuZXh0ZW5kKCEwLF9SLHtjaGVja0FjdGlvbnM6ZnVuY3Rpb24oYSxiLGMpe2lmKCJzdG9wIj09PV9SLmNvbXBhcmVfdmVyc2lvbihleHRlbnNpb24pLmNoZWNrKXJldHVybiExO2NoZWNrQWN0aW9uc19pbnRlcm4oYSxiLGMpfX0pO3ZhciBjaGVja0FjdGlvbnNfaW50ZXJuPWZ1bmN0aW9uKGEsYixjKXtjJiZqUXVlcnkuZWFjaChjLGZ1bmN0aW9uKGMsZCl7ZC5kZWxheT1wYXJzZUludChkLmRlbGF5LDApLzFlMyxhLmFkZENsYXNzKCJ0cC13aXRoYWN0aW9uIiksYi5mdWxsc2NyZWVuX2VzY2xpc3RlbmVyfHwiZXhpdGZ1bGxzY3JlZW4iIT1kLmFjdGlvbiYmInRvZ2dsZWZ1bGxzY3JlZW4iIT1kLmFjdGlvbnx8KGpRdWVyeShkb2N1bWVudCkua2V5dXAoZnVuY3Rpb24oYil7Mjc9PWIua2V5Q29kZSYmalF1ZXJ5KCIjcnMtZ28tZnVsbHNjcmVlbiIpLmxlbmd0aD4wJiZhLnRyaWdnZXIoZC5ldmVudCl9KSxiLmZ1bGxzY3JlZW5fZXNjbGlzdGVuZXI9ITApO3ZhciBlPSJiYWNrZ3JvdW5kdmlkZW8iPT1kLmxheWVyP2pRdWVyeSgiLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKToiZmlyc3R2aWRlbyI9PWQubGF5ZXI/alF1ZXJ5KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuZmluZCgiLnRwLXZpZGVvbGF5ZXIiKTpqUXVlcnkoIiMiK2QubGF5ZXIpO3N3aXRjaCgtMSE9alF1ZXJ5LmluQXJyYXkoZC5hY3Rpb24sWyJ0b2dnbGVzbGlkZXIiLCJ0b2dnbGVfbXV0ZV92aWRlbyIsInRvZ2dsZV9nbG9iYWxfbXV0ZV92aWRlbyIsInRvZ2dsZWZ1bGxzY3JlZW4iXSkmJmEuZGF0YSgidG9nZ2xlbGlzdGVuZXJzIiwhMCksZC5hY3Rpb24pe2Nhc2UidG9nZ2xldmlkZW8iOmpRdWVyeS5lYWNoKGUsZnVuY3Rpb24oYixjKXtjPWpRdWVyeShjKTt2YXIgZD1jLmRhdGEoInZpZGVvdG9nZ2xlZGJ5Iik7dm9pZCAwPT1kJiYoZD1uZXcgQXJyYXkpLGQucHVzaChhKSxjLmRhdGEoInZpZGVvdG9nZ2xlZGJ5IixkKX0pO2JyZWFrO2Nhc2UidG9nZ2xlbGF5ZXIiOmpRdWVyeS5lYWNoKGUsZnVuY3Rpb24oYixjKXtjPWpRdWVyeShjKTt2YXIgZT1jLmRhdGEoImxheWVydG9nZ2xlZGJ5Iik7dm9pZCAwPT1lJiYoZT1uZXcgQXJyYXkpLGUucHVzaChhKSxjLmRhdGEoImxheWVydG9nZ2xlZGJ5IixlKSxjLmRhdGEoInRyaWdnZXJlZF9zdGFydHN0YXR1cyIsZC5sYXllcnN0YXR1cyl9KTticmVhaztjYXNlInRvZ2dsZV9tdXRlX3ZpZGVvIjpjYXNlInRvZ2dsZV9nbG9iYWxfbXV0ZV92aWRlbyI6alF1ZXJ5LmVhY2goZSxmdW5jdGlvbihiLGMpe2M9alF1ZXJ5KGMpO3ZhciBkPWMuZGF0YSgidmlkZW9tdXRldG9nZ2xlZGJ5Iik7dm9pZCAwPT1kJiYoZD1uZXcgQXJyYXkpLGQucHVzaChhKSxjLmRhdGEoInZpZGVvbXV0ZXRvZ2dsZWRieSIsZCl9KTticmVhaztjYXNlInRvZ2dsZXNsaWRlciI6dm9pZCAwPT1iLnNsaWRlcnRvZ2dsZWRieSYmKGIuc2xpZGVydG9nZ2xlZGJ5PW5ldyBBcnJheSksYi5zbGlkZXJ0b2dnbGVkYnkucHVzaChhKTticmVhaztjYXNlInRvZ2dsZWZ1bGxzY3JlZW4iOnZvaWQgMD09Yi5mdWxsc2NyZWVudG9nZ2xlZGJ5JiYoYi5mdWxsc2NyZWVudG9nZ2xlZGJ5PW5ldyBBcnJheSksYi5mdWxsc2NyZWVudG9nZ2xlZGJ5LnB1c2goYSl9c3dpdGNoKGEub24oZC5ldmVudCxmdW5jdGlvbigpe2lmKCJjbGljayI9PT1kLmV2ZW50JiZhLmhhc0NsYXNzKCJ0cC10ZW1wb3JhcnlkaXNhYmxlZCIpKXJldHVybiExO3ZhciBjPSJiYWNrZ3JvdW5kdmlkZW8iPT1kLmxheWVyP2pRdWVyeSgiLmFjdGl2ZS1yZXZzbGlkZSAuc2xvdGhvbGRlciAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpOiJmaXJzdHZpZGVvIj09ZC5sYXllcj9qUXVlcnkoIi5hY3RpdmUtcmV2c2xpZGUgLnRwLXZpZGVvbGF5ZXIiKS5maXJzdCgpOmpRdWVyeSgiIyIrZC5sYXllcik7aWYoInN0b3BsYXllciI9PWQuYWN0aW9ufHwidG9nZ2xlbGF5ZXIiPT1kLmFjdGlvbnx8InN0YXJ0bGF5ZXIiPT1kLmFjdGlvbil7aWYoYy5sZW5ndGg+MCl7dmFyIGU9Yy5kYXRhKCk7dm9pZCAwIT09ZS5jbGlja2VkX3RpbWVfc3RhbXAmJihuZXcgRGF0ZSkuZ2V0VGltZSgpLWUuY2xpY2tlZF90aW1lX3N0YW1wPjE1MCYmKGNsZWFyVGltZW91dChlLnRyaWdnZXJkZWxheUluKSxjbGVhclRpbWVvdXQoZS50cmlnZ2VyZGVsYXlPdXQpKSxlLmNsaWNrZWRfdGltZV9zdGFtcD0obmV3IERhdGUpLmdldFRpbWUoKSwic3RhcnRsYXllciI9PWQuYWN0aW9ufHwidG9nZ2xlbGF5ZXIiPT1kLmFjdGlvbiYmImluIiE9Yy5kYXRhKCJhbmltZGlyZWN0aW9uIik/KGUuYW5pbWRpcmVjdGlvbj0iaW4iLGUudHJpZ2dlcnN0YXRlPSJvbiIsX1IudG9nZ2xlU3RhdGUoZS5sYXllcnRvZ2dsZWRieSksX1IucGxheUFuaW1hdGlvbkZyYW1lJiYoY2xlYXJUaW1lb3V0KGUudHJpZ2dlcmRlbGF5SW4pLGUudHJpZ2dlcmRlbGF5SW49c2V0VGltZW91dChmdW5jdGlvbigpe19SLnBsYXlBbmltYXRpb25GcmFtZSh7Y2FwdGlvbjpjLG9wdDpiLGZyYW1lOiJmcmFtZV8wIix0cmlnZ2VyZGlyZWN0aW9uOiJpbiIsdHJpZ2dlcmZyYW1laW46ImZyYW1lXzAiLHRyaWdnZXJmcmFtZW91dDoiZnJhbWVfOTk5In0pfSwxZTMqZC5kZWxheSkpKTooInN0b3BsYXllciI9PWQuYWN0aW9ufHwidG9nZ2xlbGF5ZXIiPT1kLmFjdGlvbiYmIm91dCIhPWMuZGF0YSgiYW5pbWRpcmVjdGlvbiIpKSYmKGUuYW5pbWRpcmVjdGlvbj0ib3V0IixlLnRyaWdnZXJlZD0hMCxlLnRyaWdnZXJzdGF0ZT0ib2ZmIixfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyhjLGIpLF9SLnVuVG9nZ2xlU3RhdGUoZS5sYXllcnRvZ2dsZWRieSksX1IuZW5kTW92ZUNhcHRpb24mJihjbGVhclRpbWVvdXQoZS50cmlnZ2VyZGVsYXlPdXQpLGUudHJpZ2dlcmRlbGF5T3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtfUi5wbGF5QW5pbWF0aW9uRnJhbWUoe2NhcHRpb246YyxvcHQ6YixmcmFtZToiZnJhbWVfOTk5Iix0cmlnZ2VyZGlyZWN0aW9uOiJvdXQiLHRyaWdnZXJmcmFtZWluOiJmcmFtZV8wIix0cmlnZ2VyZnJhbWVvdXQ6ImZyYW1lXzk5OSJ9KX0sMWUzKmQuZGVsYXkpKSl9fWVsc2UhX0lTTXx8InBsYXl2aWRlbyIhPWQuYWN0aW9uJiYic3RvcHZpZGVvIiE9ZC5hY3Rpb24mJiJ0b2dnbGV2aWRlbyIhPWQuYWN0aW9uJiYibXV0ZXZpZGVvIiE9ZC5hY3Rpb24mJiJ1bm11dGV2aWRlbyIhPWQuYWN0aW9uJiYidG9nZ2xlX211dGVfdmlkZW8iIT1kLmFjdGlvbiYmInRvZ2dsZV9nbG9iYWxfbXV0ZV92aWRlbyIhPWQuYWN0aW9uPyhkLmRlbGF5PSJOYU4iPT09ZC5kZWxheXx8TmFOPT09ZC5kZWxheT8wOmQuZGVsYXkscHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoZC5kZWxheSxmdW5jdGlvbigpe2FjdGlvblN3aXRjaGVzKGMsYixkLGEpfSxbYyxiLGQsYV0pKTphY3Rpb25Td2l0Y2hlcyhjLGIsZCxhKX0pLGQuYWN0aW9uKXtjYXNlInRvZ2dsZWxheWVyIjpjYXNlInN0YXJ0bGF5ZXIiOmNhc2UicGxheWxheWVyIjpjYXNlInN0b3BsYXllciI6dmFyIGU9alF1ZXJ5KCIjIitkLmxheWVyKSxmPWUuZGF0YSgpO2UubGVuZ3RoPjAmJnZvaWQgMCE9PWYmJih2b2lkIDAhPT1mLmZyYW1lcyYmImJ5dHJpZ2dlciIhPWYuZnJhbWVzWzBdLmRlbGF5fHx2b2lkIDA9PT1mLmZyYW1lcyYmImJ5dHJpZ2dlciIhPT1mLnN0YXJ0KSYmKGYudHJpZ2dlcnN0YXRlPSJvbiIpfX0pfSxhY3Rpb25Td2l0Y2hlcz1mdW5jdGlvbih0bmMsb3B0LGEsX25jKXtzd2l0Y2goYS5hY3Rpb24pe2Nhc2Uic2Nyb2xsYmVsb3ciOmEuc3BlZWQ9dm9pZCAwIT09YS5zcGVlZD9hLnNwZWVkOjQwMCxhLmVhc2U9dm9pZCAwIT09YS5lYXNlP2EuZWFzZTpwdW5jaGdzLlBvd2VyMi5lYXNlT3V0LF9uYy5hZGRDbGFzcygidHAtc2Nyb2xsYmVsb3dzbGlkZXIiKSxfbmMuZGF0YSgic2Nyb2xsb2Zmc2V0IixhLm9mZnNldCksX25jLmRhdGEoInNjcm9sbGRlbGF5IixhLmRlbGF5KSxfbmMuZGF0YSgic2Nyb2xsc3BlZWQiLGEuc3BlZWQpLF9uYy5kYXRhKCJzY3JvbGxlYXNlIixhLmVhc2UpO3ZhciBvZmY9Z2V0T2ZmQ29udEgob3B0LmZ1bGxTY3JlZW5PZmZzZXRDb250YWluZXIpfHwwLGFvZj1wYXJzZUludChhLm9mZnNldCwwKXx8MDtvZmY9b2ZmLWFvZnx8MCxvcHQuc2Nyb2xsUm9vdD1qUXVlcnkoZG9jdW1lbnQpO3ZhciBzb2JqPXtfeTpvcHQuc2Nyb2xsUm9vdC5zY3JvbGxUb3AoKX07cHVuY2hncy5Ud2VlbkxpdGUudG8oc29iaixhLnNwZWVkLzFlMyx7X3k6b3B0LmMub2Zmc2V0KCkudG9wK2pRdWVyeShvcHQubGlbMF0pLmhlaWdodCgpLW9mZixlYXNlOmEuZWFzZSxvblVwZGF0ZTpmdW5jdGlvbigpe29wdC5zY3JvbGxSb290LnNjcm9sbFRvcChzb2JqLl95KX19KTticmVhaztjYXNlImNhbGxiYWNrIjpldmFsKGEuY2FsbGJhY2spO2JyZWFrO2Nhc2UianVtcHRvc2xpZGUiOnN3aXRjaChhLnNsaWRlLnRvTG93ZXJDYXNlKCkpe2Nhc2UiKzEiOmNhc2UibmV4dCI6b3B0LnNjX2luZGljYXRvcj0iYXJyb3ciLF9SLmNhbGxpbmdOZXdTbGlkZShvcHQuYywxKTticmVhaztjYXNlInByZXZpb3VzIjpjYXNlInByZXYiOmNhc2UiLTEiOm9wdC5zY19pbmRpY2F0b3I9ImFycm93IixfUi5jYWxsaW5nTmV3U2xpZGUob3B0LmMsLTEpO2JyZWFrO2RlZmF1bHQ6dmFyIHRzPWpRdWVyeS5pc051bWVyaWMoYS5zbGlkZSk/cGFyc2VJbnQoYS5zbGlkZSwwKTphLnNsaWRlO19SLmNhbGxpbmdOZXdTbGlkZShvcHQuYyx0cyl9YnJlYWs7Y2FzZSJzaW1wbGVsaW5rIjp3aW5kb3cub3BlbihhLnVybCxhLnRhcmdldCk7YnJlYWs7Y2FzZSJ0b2dnbGVzbGlkZXIiOm9wdC5ub2xvb3Bhbnltb3JlPTAsInBsYXlpbmciPT1vcHQuc2xpZGVyc3RhdHVzPyhvcHQuYy5yZXZwYXVzZSgpLG9wdC5mb3JjZXBhdXNlX3ZpYXRvZ2dsZT0hMCxfUi51blRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpKToob3B0LmZvcmNlcGF1c2VfdmlhdG9nZ2xlPSExLG9wdC5jLnJldnJlc3VtZSgpLF9SLnRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpKTticmVhaztjYXNlInBhdXNlc2xpZGVyIjpvcHQuYy5yZXZwYXVzZSgpLF9SLnVuVG9nZ2xlU3RhdGUob3B0LnNsaWRlcnRvZ2dsZWRieSk7YnJlYWs7Y2FzZSJwbGF5c2xpZGVyIjpvcHQubm9sb29wYW55bW9yZT0wLG9wdC5jLnJldnJlc3VtZSgpLF9SLnRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpO2JyZWFrO2Nhc2UicGxheXZpZGVvIjp0bmMubGVuZ3RoPjAmJl9SLnBsYXlWaWRlbyh0bmMsb3B0KTticmVhaztjYXNlInN0b3B2aWRlbyI6dG5jLmxlbmd0aD4wJiZfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyh0bmMsb3B0KTticmVhaztjYXNlInRvZ2dsZXZpZGVvIjp0bmMubGVuZ3RoPjAmJihfUi5pc1ZpZGVvUGxheWluZyh0bmMsb3B0KT9fUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyh0bmMsb3B0KTpfUi5wbGF5VmlkZW8odG5jLG9wdCkpO2JyZWFrO2Nhc2UibXV0ZXZpZGVvIjp0bmMubGVuZ3RoPjAmJl9SLm11dGVWaWRlbyh0bmMsb3B0KTticmVhaztjYXNlInVubXV0ZXZpZGVvIjp0bmMubGVuZ3RoPjAmJl9SLnVuTXV0ZVZpZGVvJiZfUi51bk11dGVWaWRlbyh0bmMsb3B0KTticmVhaztjYXNlInRvZ2dsZV9tdXRlX3ZpZGVvIjp0bmMubGVuZ3RoPjAmJihfUi5pc1ZpZGVvTXV0ZWQodG5jLG9wdCk/X1IudW5NdXRlVmlkZW8odG5jLG9wdCk6X1IubXV0ZVZpZGVvJiZfUi5tdXRlVmlkZW8odG5jLG9wdCkpLF9uYy50b2dnbGVDbGFzcygicnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlIik7YnJlYWs7Y2FzZSJ0b2dnbGVfZ2xvYmFsX211dGVfdmlkZW8iOiEwPT09b3B0Lmdsb2JhbG11dGU/KG9wdC5nbG9iYWxtdXRlPSExLHZvaWQgMCE9b3B0LnBsYXlpbmd2aWRlb3MmJm9wdC5wbGF5aW5ndmlkZW9zLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChvcHQucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihhLGIpe19SLnVuTXV0ZVZpZGVvJiZfUi51bk11dGVWaWRlbyhiLG9wdCl9KSk6KG9wdC5nbG9iYWxtdXRlPSEwLHZvaWQgMCE9b3B0LnBsYXlpbmd2aWRlb3MmJm9wdC5wbGF5aW5ndmlkZW9zLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChvcHQucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihhLGIpe19SLm11dGVWaWRlbyYmX1IubXV0ZVZpZGVvKGIsb3B0KX0pKSxfbmMudG9nZ2xlQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpO2JyZWFrO2Nhc2Uic2ltdWxhdGVjbGljayI6dG5jLmxlbmd0aD4wJiZ0bmMuY2xpY2soKTticmVhaztjYXNlInRvZ2dsZWNsYXNzIjp0bmMubGVuZ3RoPjAmJih0bmMuaGFzQ2xhc3MoYS5jbGFzc25hbWUpP3RuYy5yZW1vdmVDbGFzcyhhLmNsYXNzbmFtZSk6dG5jLmFkZENsYXNzKGEuY2xhc3NuYW1lKSk7YnJlYWs7Y2FzZSJnb2Z1bGxzY3JlZW4iOmNhc2UiZXhpdGZ1bGxzY3JlZW4iOmNhc2UidG9nZ2xlZnVsbHNjcmVlbiI6aWYoalF1ZXJ5KCIucnMtZ28tZnVsbHNjcmVlbiIpLmxlbmd0aD4wJiYoInRvZ2dsZWZ1bGxzY3JlZW4iPT1hLmFjdGlvbnx8ImV4aXRmdWxsc2NyZWVuIj09YS5hY3Rpb24pKXtqUXVlcnkoIi5ycy1nby1mdWxsc2NyZWVuIikucmVtb3ZlQ2xhc3MoInJzLWdvLWZ1bGxzY3JlZW4iKTt2YXIgZ2Y9b3B0LmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikubGVuZ3RoPjA/b3B0LmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIik6b3B0LmMuY2xvc2VzdCgiLnJldl9zbGlkZXJfd3JhcHBlciIpO29wdC5taW5IZWlnaHQ9b3B0Lm9sZG1pbmhlaWdodCxvcHQuaW5mdWxsc2NyZWVubW9kZT0hMSxvcHQuYy5yZXZyZWRyYXcoKSxqUXVlcnkod2luZG93KS50cmlnZ2VyKCJyZXNpemUiKSxfUi51blRvZ2dsZVN0YXRlKG9wdC5mdWxsc2NyZWVudG9nZ2xlZGJ5KX1lbHNlIGlmKDA9PWpRdWVyeSgiLnJzLWdvLWZ1bGxzY3JlZW4iKS5sZW5ndGgmJigidG9nZ2xlZnVsbHNjcmVlbiI9PWEuYWN0aW9ufHwiZ29mdWxsc2NyZWVuIj09YS5hY3Rpb24pKXt2YXIgZ2Y9b3B0LmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikubGVuZ3RoPjA/b3B0LmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIik6b3B0LmMuY2xvc2VzdCgiLnJldl9zbGlkZXJfd3JhcHBlciIpO2dmLmFkZENsYXNzKCJycy1nby1mdWxsc2NyZWVuIiksb3B0Lm9sZG1pbmhlaWdodD1vcHQubWluSGVpZ2h0LG9wdC5taW5IZWlnaHQ9alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCksb3B0LmluZnVsbHNjcmVlbm1vZGU9ITAsb3B0LmMucmV2cmVkcmF3KCksalF1ZXJ5KHdpbmRvdykudHJpZ2dlcigicmVzaXplIiksX1IudG9nZ2xlU3RhdGUob3B0LmZ1bGxzY3JlZW50b2dnbGVkYnkpfWJyZWFrO2RlZmF1bHQ6dmFyIG9iaj17fTtvYmouZXZlbnQ9YSxvYmoubGF5ZXI9X25jLG9wdC5jLnRyaWdnZXIoImxheWVyYWN0aW9uIixbb2JqXSl9fSxnZXRPZmZDb250SD1mdW5jdGlvbihhKXtpZih2b2lkIDA9PWEpcmV0dXJuIDA7aWYoYS5zcGxpdCgiLCIpLmxlbmd0aD4xKXt2YXIgYj1hLnNwbGl0KCIsIiksYz0wO3JldHVybiBiJiZqUXVlcnkuZWFjaChiLGZ1bmN0aW9uKGEsYil7alF1ZXJ5KGIpLmxlbmd0aD4wJiYoYys9alF1ZXJ5KGIpLm91dGVySGVpZ2h0KCEwKSl9KSxjfXJldHVybiBqUXVlcnkoYSkuaGVpZ2h0KCl9fShqUXVlcnkpOw=="}},"time_used":116,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":114,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/css/elegant-icons.css","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.308Z","timestamp":1785123385308,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /css/elegant-icons.css HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/css/style-main.css\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"6294-65fd8520-6a0c81d8cd6418c1;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 4219\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":25236,"size_decoded":4659,"mime_type":"text/css","magic":"ASCII text, with very long lines (6610)","md5":"410f8823d803aa9d95962c68620a3a08","sha1":"339426243565c7719f4dd12663c18531f56bff20","sha256":"3f18623ae5ae83bbd758331563b55b384c1ea4e8d57bc8f4fc45cb806edaac8b","sha512":"090bf14c33fc53d1b00d1ed0dc976c5035fa9dc4a42faf22b31ccf7e8d1290c25a8a6bbb87ff2c24a5ab912d5817c19173d26f3c260120473906cc3e88cf3af2","ssdeep":"384:97IgcCLjhLGI29ooNSfV0TzfTr78BRB1P0pfeazzDwpgKTXEn+/TVhrhmKLHFiB:WI29lTzxfVzzxn+/NrLHFiB","tlshash":"b1b2a3a89e4cbc975781e8c17a147b709f1db3388e9a6d0ae413b82cb3e575294d53cc","first_seen":"2023-10-27T16:38:40Z","last_seen":"2026-07-27T12:40:24.635451Z","times_seen":25,"resource_available":false,"data":"QGZvbnQtZmFjZSB7Cglmb250LWZhbWlseTogJ0VsZWdhbnRJY29ucyc7CglzcmM6dXJsKCcuLi9mb250cy9FbGVnYW50SWNvbnMuZW90Jyk7CglzcmM6dXJsKCcuLi9mb250cy9FbGVnYW50SWNvbnNkNDFkLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwKCQl1cmwoJy4uL2ZvbnRzL0VsZWdhbnRJY29ucy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksCgkJdXJsKCcuLi9mb250cy9FbGVnYW50SWNvbnMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLAoJCXVybCgnLi4vZm9udHMvRWxlZ2FudEljb25zLnN2ZycpIGZvcm1hdCgnc3ZnJyk7Cglmb250LXdlaWdodDogbm9ybWFsOwoJZm9udC1zdHlsZTogbm9ybWFsOwp9CgovKiBVc2UgdGhlIGZvbGxvd2luZyBDU1MgY29kZSBpZiB5b3Ugd2FudCB0byB1c2UgZGF0YSBhdHRyaWJ1dGVzIGZvciBpbnNlcnRpbmcgeW91ciBpY29ucyAqLwpbZGF0YS1pY29uXTpiZWZvcmUgewoJZm9udC1mYW1pbHk6ICdFbGVnYW50SWNvbnMnOwoJY29udGVudDogYXR0cihkYXRhLWljb24pOwoJc3BlYWs6IG5vbmU7Cglmb250LXdlaWdodDogbm9ybWFsOwoJZm9udC12YXJpYW50OiBub3JtYWw7Cgl0ZXh0LXRyYW5zZm9ybTogbm9uZTsKCWxpbmUtaGVpZ2h0OiAxOwoJLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CgktbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9CgovKiBVc2UgdGhlIGZvbGxvd2luZyBDU1MgY29kZSBpZiB5b3Ugd2FudCB0byBoYXZlIGEgY2xhc3MgcGVyIGljb24gKi8KLyoKSW5zdGVhZCBvZiBhIGxpc3Qgb2YgYWxsIGNsYXNzIHNlbGVjdG9ycywKeW91IGNhbiB1c2UgdGhlIGdlbmVyaWMgc2VsZWN0b3IgYmVsb3csIGJ1dCBpdCdzIHNsb3dlcjoKW2NsYXNzKj0ieW91ci1jbGFzcy1wcmVmaXgiXSB7CiovCi5hcnJvd191cCwgLmFycm93X2Rvd24sIC5hcnJvd19sZWZ0LCAuYXJyb3dfcmlnaHQsIC5hcnJvd19sZWZ0LXVwLCAuYXJyb3dfcmlnaHQtdXAsIC5hcnJvd19yaWdodC1kb3duLCAuYXJyb3dfbGVmdC1kb3duLCAuYXJyb3ctdXAtZG93biwgLmFycm93X3VwLWRvd25fYWx0LCAuYXJyb3dfbGVmdC1yaWdodF9hbHQsIC5hcnJvd19sZWZ0LXJpZ2h0LCAuYXJyb3dfZXhwYW5kX2FsdDIsIC5hcnJvd19leHBhbmRfYWx0LCAuYXJyb3dfY29uZGVuc2UsIC5hcnJvd19leHBhbmQsIC5hcnJvd19tb3ZlLCAuYXJyb3dfY2Fycm90LXVwLCAuYXJyb3dfY2Fycm90LWRvd24sIC5hcnJvd19jYXJyb3QtbGVmdCwgLmFycm93X2NhcnJvdC1yaWdodCwgLmFycm93X2NhcnJvdC0ydXAsIC5hcnJvd19jYXJyb3QtMmRvd24sIC5hcnJvd19jYXJyb3QtMmxlZnQsIC5hcnJvd19jYXJyb3QtMnJpZ2h0LCAuYXJyb3dfY2Fycm90LXVwX2FsdDIsIC5hcnJvd19jYXJyb3QtZG93bl9hbHQyLCAuYXJyb3dfY2Fycm90LWxlZnRfYWx0MiwgLmFycm93X2NhcnJvdC1yaWdodF9hbHQyLCAuYXJyb3dfY2Fycm90LTJ1cF9hbHQyLCAuYXJyb3dfY2Fycm90LTJkb3duX2FsdDIsIC5hcnJvd19jYXJyb3QtMmxlZnRfYWx0MiwgLmFycm93X2NhcnJvdC0ycmlnaHRfYWx0MiwgLmFycm93X3RyaWFuZ2xlLXVwLCAuYXJyb3dfdHJpYW5nbGUtZG93biwgLmFycm93X3RyaWFuZ2xlLWxlZnQsIC5hcnJvd190cmlhbmdsZS1yaWdodCwgLmFycm93X3RyaWFuZ2xlLXVwX2FsdDIsIC5hcnJvd190cmlhbmdsZS1kb3duX2FsdDIsIC5hcnJvd190cmlhbmdsZS1sZWZ0X2FsdDIsIC5hcnJvd190cmlhbmdsZS1yaWdodF9hbHQyLCAuYXJyb3dfYmFjaywgLmljb25fbWludXMtMDYsIC5pY29uX3BsdXMsIC5pY29uX2Nsb3NlLCAuaWNvbl9jaGVjaywgLmljb25fbWludXNfYWx0MiwgLmljb25fcGx1c19hbHQyLCAuaWNvbl9jbG9zZV9hbHQyLCAuaWNvbl9jaGVja19hbHQyLCAuaWNvbl96b29tLW91dF9hbHQsIC5pY29uX3pvb20taW5fYWx0LCAuaWNvbl9zZWFyY2gsIC5pY29uX2JveC1lbXB0eSwgLmljb25fYm94LXNlbGVjdGVkLCAuaWNvbl9taW51cy1ib3gsIC5pY29uX3BsdXMtYm94LCAuaWNvbl9ib3gtY2hlY2tlZCwgLmljb25fY2lyY2xlLWVtcHR5LCAuaWNvbl9jaXJjbGUtc2xlbGVjdGVkLCAuaWNvbl9zdG9wX2FsdDIsIC5pY29uX3N0b3AsIC5pY29uX3BhdXNlX2FsdDIsIC5pY29uX3BhdXNlLCAuaWNvbl9tZW51LCAuaWNvbl9tZW51LXNxdWFyZV9hbHQyLCAuaWNvbl9tZW51LWNpcmNsZV9hbHQyLCAuaWNvbl91bCwgLmljb25fb2wsIC5pY29uX2FkanVzdC1ob3JpeiwgLmljb25fYWRqdXN0LXZlcnQsIC5pY29uX2RvY3VtZW50X2FsdCwgLmljb25fZG9jdW1lbnRzX2FsdCwgLmljb25fcGVuY2lsLCAuaWNvbl9wZW5jaWwtZWRpdF9hbHQsIC5pY29uX3BlbmNpbC1lZGl0LCAuaWNvbl9mb2xkZXItYWx0LCAuaWNvbl9mb2xkZXItb3Blbl9hbHQsIC5pY29uX2ZvbGRlci1hZGRfYWx0LCAuaWNvbl9pbmZvX2FsdCwgLmljb25fZXJyb3Itb2N0X2FsdCwgLmljb25fZXJyb3ItY2lyY2xlX2FsdCwgLmljb25fZXJyb3ItdHJpYW5nbGVfYWx0LCAuaWNvbl9xdWVzdGlvbl9hbHQyLCAuaWNvbl9xdWVzdGlvbiwgLmljb25fY29tbWVudF9hbHQsIC5pY29uX2NoYXRfYWx0LCAuaWNvbl92b2wtbXV0ZV9hbHQsIC5pY29uX3ZvbHVtZS1sb3dfYWx0LCAuaWNvbl92b2x1bWUtaGlnaF9hbHQsIC5pY29uX3F1b3RhdGlvbnMsIC5pY29uX3F1b3RhdGlvbnNfYWx0MiwgLmljb25fY2xvY2tfYWx0LCAuaWNvbl9sb2NrX2FsdCwgLmljb25fbG9jay1vcGVuX2FsdCwgLmljb25fa2V5X2FsdCwgLmljb25fY2xvdWRfYWx0LCAuaWNvbl9jbG91ZC11cGxvYWRfYWx0LCAuaWNvbl9jbG91ZC1kb3dubG9hZF9hbHQsIC5pY29uX2ltYWdlLCAuaWNvbl9pbWFnZXMsIC5pY29uX2xpZ2h0YnVsYl9hbHQsIC5pY29uX2dpZnRfYWx0LCAuaWNvbl9ob3VzZV9hbHQsIC5pY29uX2dlbml1cywgLmljb25fbW9iaWxlLCAuaWNvbl90YWJsZXQsIC5pY29uX2xhcHRvcCwgLmljb25fZGVza3RvcCwgLmljb25fY2FtZXJhX2FsdCwgLmljb25fbWFpbF9hbHQsIC5pY29uX2NvbmVfYWx0LCAuaWNvbl9yaWJib25fYWx0LCAuaWNvbl9iYWdfYWx0LCAuaWNvbl9jcmVkaXRjYXJkLCAuaWNvbl9jYXJ0X2FsdCwgLmljb25fcGFwZXJjbGlwLCAuaWNvbl90YWdfYWx0LCAuaWNvbl90YWdzX2FsdCwgLmljb25fdHJhc2hfYWx0LCAuaWNvbl9jdXJzb3JfYWx0LCAuaWNvbl9taWNfYWx0LCAuaWNvbl9jb21wYXNzX2FsdCwgLmljb25fcGluX2FsdCwgLmljb25fcHVzaHBpbl9hbHQsIC5pY29uX21hcF9hbHQsIC5pY29uX2RyYXdlcl9hbHQsIC5pY29uX3Rvb2xib3hfYWx0LCAuaWNvbl9ib29rX2FsdCwgLmljb25fY2FsZW5kYXIsIC5pY29uX2ZpbG0sIC5pY29uX3RhYmxlLCAuaWNvbl9jb250YWN0c19hbHQsIC5pY29uX2hlYWRwaG9uZXMsIC5pY29uX2xpZmVzYXZlciwgLmljb25fcGllY2hhcnQsIC5pY29uX3JlZnJlc2gsIC5pY29uX2xpbmtfYWx0LCAuaWNvbl9saW5rLCAuaWNvbl9sb2FkaW5nLCAuaWNvbl9ibG9ja2VkLCAuaWNvbl9hcmNoaXZlX2FsdCwgLmljb25faGVhcnRfYWx0LCAuaWNvbl9zdGFyX2FsdCwgLmljb25fc3Rhci1oYWxmX2FsdCwgLmljb25fc3RhciwgLmljb25fc3Rhci1oYWxmLCAuaWNvbl90b29scywgLmljb25fdG9vbCwgLmljb25fY29nLCAuaWNvbl9jb2dzLCAuYXJyb3dfdXBfYWx0LCAuYXJyb3dfZG93bl9hbHQsIC5hcnJvd19sZWZ0X2FsdCwgLmFycm93X3JpZ2h0X2FsdCwgLmFycm93X2xlZnQtdXBfYWx0LCAuYXJyb3dfcmlnaHQtdXBfYWx0LCAuYXJyb3dfcmlnaHQtZG93bl9hbHQsIC5hcnJvd19sZWZ0LWRvd25fYWx0LCAuYXJyb3dfY29uZGVuc2VfYWx0LCAuYXJyb3dfZXhwYW5kX2FsdDMsIC5hcnJvd19jYXJyb3RfdXBfYWx0LCAuYXJyb3dfY2Fycm90LWRvd25fYWx0LCAuYXJyb3dfY2Fycm90LWxlZnRfYWx0LCAuYXJyb3dfY2Fycm90LXJpZ2h0X2FsdCwgLmFycm93X2NhcnJvdC0ydXBfYWx0LCAuYXJyb3dfY2Fycm90LTJkd25uX2FsdCwgLmFycm93X2NhcnJvdC0ybGVmdF9hbHQsIC5hcnJvd19jYXJyb3QtMnJpZ2h0X2FsdCwgLmFycm93X3RyaWFuZ2xlLXVwX2FsdCwgLmFycm93X3RyaWFuZ2xlLWRvd25fYWx0LCAuYXJyb3dfdHJpYW5nbGUtbGVmdF9hbHQsIC5hcnJvd190cmlhbmdsZS1yaWdodF9hbHQsIC5pY29uX21pbnVzX2FsdCwgLmljb25fcGx1c19hbHQsIC5pY29uX2Nsb3NlX2FsdCwgLmljb25fY2hlY2tfYWx0LCAuaWNvbl96b29tLW91dCwgLmljb25fem9vbS1pbiwgLmljb25fc3RvcF9hbHQsIC5pY29uX21lbnUtc3F1YXJlX2FsdCwgLmljb25fbWVudS1jaXJjbGVfYWx0LCAuaWNvbl9kb2N1bWVudCwgLmljb25fZG9jdW1lbnRzLCAuaWNvbl9wZW5jaWxfYWx0LCAuaWNvbl9mb2xkZXIsIC5pY29uX2ZvbGRlci1vcGVuLCAuaWNvbl9mb2xkZXItYWRkLCAuaWNvbl9mb2xkZXJfdXBsb2FkLCAuaWNvbl9mb2xkZXJfZG93bmxvYWQsIC5pY29uX2luZm8sIC5pY29uX2Vycm9yLWNpcmNsZSwgLmljb25fZXJyb3Itb2N0LCAuaWNvbl9lcnJvci10cmlhbmdsZSwgLmljb25fcXVlc3Rpb25fYWx0LCAuaWNvbl9jb21tZW50LCAuaWNvbl9jaGF0LCAuaWNvbl92b2wtbXV0ZSwgLmljb25fdm9sdW1lLWxvdywgLmljb25fdm9sdW1lLWhpZ2gsIC5pY29uX3F1b3RhdGlvbnNfYWx0LCAuaWNvbl9jbG9jaywgLmljb25fbG9jaywgLmljb25fbG9jay1vcGVuLCAuaWNvbl9rZXksIC5pY29uX2Nsb3VkLCAuaWNvbl9jbG91ZC11cGxvYWQsIC5pY29uX2Nsb3VkLWRvd25sb2FkLCAuaWNvbl9saWdodGJ1bGIsIC5pY29uX2dpZnQsIC5pY29uX2hvdXNlLCAuaWNvbl9jYW1lcmEsIC5pY29uX21haWwsIC5pY29uX2NvbmUsIC5pY29uX3JpYmJvbiwgLmljb25fYmFnLCAuaWNvbl9jYXJ0LCAuaWNvbl90YWcsIC5pY29uX3RhZ3MsIC5pY29uX3RyYXNoLCAuaWNvbl9jdXJzb3IsIC5pY29uX21pYywgLmljb25fY29tcGFzcywgLmljb25fcGluLCAuaWNvbl9wdXNocGluLCAuaWNvbl9tYXAsIC5pY29uX2RyYXdlciwgLmljb25fdG9vbGJveCwgLmljb25fYm9vaywgLmljb25fY29udGFjdHMsIC5pY29uX2FyY2hpdmUsIC5pY29uX2hlYXJ0LCAuaWNvbl9wcm9maWxlLCAuaWNvbl9ncm91cCwgLmljb25fZ3JpZC0yeDIsIC5pY29uX2dyaWQtM3gzLCAuaWNvbl9tdXNpYywgLmljb25fcGF1c2VfYWx0LCAuaWNvbl9waG9uZSwgLmljb25fdXBsb2FkLCAuaWNvbl9kb3dubG9hZCwgLnNvY2lhbF9mYWNlYm9vaywgLnNvY2lhbF90d2l0dGVyLCAuc29jaWFsX3BpbnRlcmVzdCwgLnNvY2lhbF9nb29nbGVwbHVzLCAuc29jaWFsX3R1bWJsciwgLnNvY2lhbF90dW1ibGV1cG9uLCAuc29jaWFsX3dvcmRwcmVzcywgLnNvY2lhbF9pbnN0YWdyYW0sIC5zb2NpYWxfZHJpYmJibGUsIC5zb2NpYWxfdmltZW8sIC5zb2NpYWxfbGlua2VkaW4sIC5zb2NpYWxfcnNzLCAuc29jaWFsX2RldmlhbnRhcnQsIC5zb2NpYWxfc2hhcmUsIC5zb2NpYWxfbXlzcGFjZSwgLnNvY2lhbF9za3lwZSwgLnNvY2lhbF95b3V0dWJlLCAuc29jaWFsX3BpY2Fzc2EsIC5zb2NpYWxfZ29vZ2xlZHJpdmUsIC5zb2NpYWxfZmxpY2tyLCAuc29jaWFsX2Jsb2dnZXIsIC5zb2NpYWxfc3BvdGlmeSwgLnNvY2lhbF9kZWxpY2lvdXMsIC5zb2NpYWxfZmFjZWJvb2tfY2lyY2xlLCAuc29jaWFsX3R3aXR0ZXJfY2lyY2xlLCAuc29jaWFsX3BpbnRlcmVzdF9jaXJjbGUsIC5zb2NpYWxfZ29vZ2xlcGx1c19jaXJjbGUsIC5zb2NpYWxfdHVtYmxyX2NpcmNsZSwgLnNvY2lhbF9zdHVtYmxldXBvbl9jaXJjbGUsIC5zb2NpYWxfd29yZHByZXNzX2NpcmNsZSwgLnNvY2lhbF9pbnN0YWdyYW1fY2lyY2xlLCAuc29jaWFsX2RyaWJiYmxlX2NpcmNsZSwgLnNvY2lhbF92aW1lb19jaXJjbGUsIC5zb2NpYWxfbGlua2VkaW5fY2lyY2xlLCAuc29jaWFsX3Jzc19jaXJjbGUsIC5zb2NpYWxfZGV2aWFudGFydF9jaXJjbGUsIC5zb2NpYWxfc2hhcmVfY2lyY2xlLCAuc29jaWFsX215c3BhY2VfY2lyY2xlLCAuc29jaWFsX3NreXBlX2NpcmNsZSwgLnNvY2lhbF95b3V0dWJlX2NpcmNsZSwgLnNvY2lhbF9waWNhc3NhX2NpcmNsZSwgLnNvY2lhbF9nb29nbGVkcml2ZV9hbHQyLCAuc29jaWFsX2ZsaWNrcl9jaXJjbGUsIC5zb2NpYWxfYmxvZ2dlcl9jaXJjbGUsIC5zb2NpYWxfc3BvdGlmeV9jaXJjbGUsIC5zb2NpYWxfZGVsaWNpb3VzX2NpcmNsZSwgLnNvY2lhbF9mYWNlYm9va19zcXVhcmUsIC5zb2NpYWxfdHdpdHRlcl9zcXVhcmUsIC5zb2NpYWxfcGludGVyZXN0X3NxdWFyZSwgLnNvY2lhbF9nb29nbGVwbHVzX3NxdWFyZSwgLnNvY2lhbF90dW1ibHJfc3F1YXJlLCAuc29jaWFsX3N0dW1ibGV1cG9uX3NxdWFyZSwgLnNvY2lhbF93b3JkcHJlc3Nfc3F1YXJlLCAuc29jaWFsX2luc3RhZ3JhbV9zcXVhcmUsIC5zb2NpYWxfZHJpYmJibGVfc3F1YXJlLCAuc29jaWFsX3ZpbWVvX3NxdWFyZSwgLnNvY2lhbF9saW5rZWRpbl9zcXVhcmUsIC5zb2NpYWxfcnNzX3NxdWFyZSwgLnNvY2lhbF9kZXZpYW50YXJ0X3NxdWFyZSwgLnNvY2lhbF9zaGFyZV9zcXVhcmUsIC5zb2NpYWxfbXlzcGFjZV9zcXVhcmUsIC5zb2NpYWxfc2t5cGVfc3F1YXJlLCAuc29jaWFsX3lvdXR1YmVfc3F1YXJlLCAuc29jaWFsX3BpY2Fzc2Ffc3F1YXJlLCAuc29jaWFsX2dvb2dsZWRyaXZlX3NxdWFyZSwgLnNvY2lhbF9mbGlja3Jfc3F1YXJlLCAuc29jaWFsX2Jsb2dnZXJfc3F1YXJlLCAuc29jaWFsX3Nwb3RpZnlfc3F1YXJlLCAuc29jaWFsX2RlbGljaW91c19zcXVhcmUsIC5pY29uX3ByaW50ZXIsIC5pY29uX2NhbHVsYXRvciwgLmljb25fYnVpbGRpbmcsIC5pY29uX2Zsb3BweSwgLmljb25fZHJpdmUsIC5pY29uX3NlYXJjaC0yLCAuaWNvbl9pZCwgLmljb25faWQtMiwgLmljb25fcHV6emxlLCAuaWNvbl9saWtlLCAuaWNvbl9kaXNsaWtlLCAuaWNvbl9tdWcsIC5pY29uX2N1cnJlbmN5LCAuaWNvbl93YWxsZXQsIC5pY29uX3BlbnMsIC5pY29uX2Vhc2VsLCAuaWNvbl9mbG93Y2hhcnQsIC5pY29uX2RhdGFyZXBvcnQsIC5pY29uX2JyaWVmY2FzZSwgLmljb25fc2hpZWxkLCAuaWNvbl9wZXJjZW50LCAuaWNvbl9nbG9iZSwgLmljb25fZ2xvYmUtMiwgLmljb25fdGFyZ2V0LCAuaWNvbl9ob3VyZ2xhc3MsIC5pY29uX2JhbGFuY2UsIC5pY29uX3Jvb2ssIC5pY29uX3ByaW50ZXItYWx0LCAuaWNvbl9jYWxjdWxhdG9yX2FsdCwgLmljb25fYnVpbGRpbmdfYWx0LCAuaWNvbl9mbG9wcHlfYWx0LCAuaWNvbl9kcml2ZV9hbHQsIC5pY29uX3NlYXJjaF9hbHQsIC5pY29uX2lkX2FsdCwgLmljb25faWQtMl9hbHQsIC5pY29uX3B1enpsZV9hbHQsIC5pY29uX2xpa2VfYWx0LCAuaWNvbl9kaXNsaWtlX2FsdCwgLmljb25fbXVnX2FsdCwgLmljb25fY3VycmVuY3lfYWx0LCAuaWNvbl93YWxsZXRfYWx0LCAuaWNvbl9wZW5zX2FsdCwgLmljb25fZWFzZWxfYWx0LCAuaWNvbl9mbG93Y2hhcnRfYWx0LCAuaWNvbl9kYXRhcmVwb3J0X2FsdCwgLmljb25fYnJpZWZjYXNlX2FsdCwgLmljb25fc2hpZWxkX2FsdCwgLmljb25fcGVyY2VudF9hbHQsIC5pY29uX2dsb2JlX2FsdCwgLmljb25fY2xpcGJvYXJkIHsKCWZvbnQtZmFtaWx5OiAnRWxlZ2FudEljb25zJzsKCXNwZWFrOiBub25lOwoJZm9udC1zdHlsZTogbm9ybWFsOwoJZm9udC13ZWlnaHQ6IG5vcm1hbDsKCWZvbnQtdmFyaWFudDogbm9ybWFsOwoJdGV4dC10cmFuc2Zvcm06IG5vbmU7CglsaW5lLWhlaWdodDogMTsKCS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwp9Ci5hcnJvd191cDpiZWZvcmUgewoJY29udGVudDogIlwyMSI7Cn0KLmFycm93X2Rvd246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMjIiOwp9Ci5hcnJvd19sZWZ0OmJlZm9yZSB7Cgljb250ZW50OiAiXDIzIjsKfQouYXJyb3dfcmlnaHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMjQiOwp9Ci5hcnJvd19sZWZ0LXVwOmJlZm9yZSB7Cgljb250ZW50OiAiXDI1IjsKfQouYXJyb3dfcmlnaHQtdXA6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMjYiOwp9Ci5hcnJvd19yaWdodC1kb3duOmJlZm9yZSB7Cgljb250ZW50OiAiXDI3IjsKfQouYXJyb3dfbGVmdC1kb3duOmJlZm9yZSB7Cgljb250ZW50OiAiXDI4IjsKfQouYXJyb3ctdXAtZG93bjpiZWZvcmUgewoJY29udGVudDogIlwyOSI7Cn0KLmFycm93X3VwLWRvd25fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDJhIjsKfQouYXJyb3dfbGVmdC1yaWdodF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMmIiOwp9Ci5hcnJvd19sZWZ0LXJpZ2h0OmJlZm9yZSB7Cgljb250ZW50OiAiXDJjIjsKfQouYXJyb3dfZXhwYW5kX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMmQiOwp9Ci5hcnJvd19leHBhbmRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDJlIjsKfQouYXJyb3dfY29uZGVuc2U6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMmYiOwp9Ci5hcnJvd19leHBhbmQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMzAiOwp9Ci5hcnJvd19tb3ZlOmJlZm9yZSB7Cgljb250ZW50OiAiXDMxIjsKfQouYXJyb3dfY2Fycm90LXVwOmJlZm9yZSB7Cgljb250ZW50OiAiXDMyIjsKfQouYXJyb3dfY2Fycm90LWRvd246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMzMiOwp9Ci5hcnJvd19jYXJyb3QtbGVmdDpiZWZvcmUgewoJY29udGVudDogIlwzNCI7Cn0KLmFycm93X2NhcnJvdC1yaWdodDpiZWZvcmUgewoJY29udGVudDogIlwzNSI7Cn0KLmFycm93X2NhcnJvdC0ydXA6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMzYiOwp9Ci5hcnJvd19jYXJyb3QtMmRvd246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMzciOwp9Ci5hcnJvd19jYXJyb3QtMmxlZnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMzgiOwp9Ci5hcnJvd19jYXJyb3QtMnJpZ2h0OmJlZm9yZSB7Cgljb250ZW50OiAiXDM5IjsKfQouYXJyb3dfY2Fycm90LXVwX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcM2EiOwp9Ci5hcnJvd19jYXJyb3QtZG93bl9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDNiIjsKfQouYXJyb3dfY2Fycm90LWxlZnRfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlwzYyI7Cn0KLmFycm93X2NhcnJvdC1yaWdodF9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDNkIjsKfQouYXJyb3dfY2Fycm90LTJ1cF9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDNlIjsKfQouYXJyb3dfY2Fycm90LTJkb3duX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcM2YiOwp9Ci5hcnJvd19jYXJyb3QtMmxlZnRfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw0MCI7Cn0KLmFycm93X2NhcnJvdC0ycmlnaHRfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw0MSI7Cn0KLmFycm93X3RyaWFuZ2xlLXVwOmJlZm9yZSB7Cgljb250ZW50OiAiXDQyIjsKfQouYXJyb3dfdHJpYW5nbGUtZG93bjpiZWZvcmUgewoJY29udGVudDogIlw0MyI7Cn0KLmFycm93X3RyaWFuZ2xlLWxlZnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNDQiOwp9Ci5hcnJvd190cmlhbmdsZS1yaWdodDpiZWZvcmUgewoJY29udGVudDogIlw0NSI7Cn0KLmFycm93X3RyaWFuZ2xlLXVwX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNDYiOwp9Ci5hcnJvd190cmlhbmdsZS1kb3duX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNDciOwp9Ci5hcnJvd190cmlhbmdsZS1sZWZ0X2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNDgiOwp9Ci5hcnJvd190cmlhbmdsZS1yaWdodF9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDQ5IjsKfQouYXJyb3dfYmFjazpiZWZvcmUgewoJY29udGVudDogIlw0YSI7Cn0KLmljb25fbWludXMtMDY6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNGIiOwp9Ci5pY29uX3BsdXM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNGMiOwp9Ci5pY29uX2Nsb3NlOmJlZm9yZSB7Cgljb250ZW50OiAiXDRkIjsKfQouaWNvbl9jaGVjazpiZWZvcmUgewoJY29udGVudDogIlw0ZSI7Cn0KLmljb25fbWludXNfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw0ZiI7Cn0KLmljb25fcGx1c19hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDUwIjsKfQouaWNvbl9jbG9zZV9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDUxIjsKfQouaWNvbl9jaGVja19hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDUyIjsKfQouaWNvbl96b29tLW91dF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNTMiOwp9Ci5pY29uX3pvb20taW5fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDU0IjsKfQouaWNvbl9zZWFyY2g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNTUiOwp9Ci5pY29uX2JveC1lbXB0eTpiZWZvcmUgewoJY29udGVudDogIlw1NiI7Cn0KLmljb25fYm94LXNlbGVjdGVkOmJlZm9yZSB7Cgljb250ZW50OiAiXDU3IjsKfQouaWNvbl9taW51cy1ib3g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNTgiOwp9Ci5pY29uX3BsdXMtYm94OmJlZm9yZSB7Cgljb250ZW50OiAiXDU5IjsKfQouaWNvbl9ib3gtY2hlY2tlZDpiZWZvcmUgewoJY29udGVudDogIlw1YSI7Cn0KLmljb25fY2lyY2xlLWVtcHR5OmJlZm9yZSB7Cgljb250ZW50OiAiXDViIjsKfQouaWNvbl9jaXJjbGUtc2xlbGVjdGVkOmJlZm9yZSB7Cgljb250ZW50OiAiXDVjIjsKfQouaWNvbl9zdG9wX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNWQiOwp9Ci5pY29uX3N0b3A6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNWUiOwp9Ci5pY29uX3BhdXNlX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNWYiOwp9Ci5pY29uX3BhdXNlOmJlZm9yZSB7Cgljb250ZW50OiAiXDYwIjsKfQouaWNvbl9tZW51OmJlZm9yZSB7Cgljb250ZW50OiAiXDYxIjsKfQouaWNvbl9tZW51LXNxdWFyZV9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDYyIjsKfQouaWNvbl9tZW51LWNpcmNsZV9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDYzIjsKfQouaWNvbl91bDpiZWZvcmUgewoJY29udGVudDogIlw2NCI7Cn0KLmljb25fb2w6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNjUiOwp9Ci5pY29uX2FkanVzdC1ob3JpejpiZWZvcmUgewoJY29udGVudDogIlw2NiI7Cn0KLmljb25fYWRqdXN0LXZlcnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNjciOwp9Ci5pY29uX2RvY3VtZW50X2FsdDpiZWZvcmUgewoJY29udGVudDogIlw2OCI7Cn0KLmljb25fZG9jdW1lbnRzX2FsdDpiZWZvcmUgewoJY29udGVudDogIlw2OSI7Cn0KLmljb25fcGVuY2lsOmJlZm9yZSB7Cgljb250ZW50OiAiXDZhIjsKfQouaWNvbl9wZW5jaWwtZWRpdF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNmIiOwp9Ci5pY29uX3BlbmNpbC1lZGl0OmJlZm9yZSB7Cgljb250ZW50OiAiXDZjIjsKfQouaWNvbl9mb2xkZXItYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDZkIjsKfQouaWNvbl9mb2xkZXItb3Blbl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNmUiOwp9Ci5pY29uX2ZvbGRlci1hZGRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDZmIjsKfQouaWNvbl9pbmZvX2FsdDpiZWZvcmUgewoJY29udGVudDogIlw3MCI7Cn0KLmljb25fZXJyb3Itb2N0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlw3MSI7Cn0KLmljb25fZXJyb3ItY2lyY2xlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlw3MiI7Cn0KLmljb25fZXJyb3ItdHJpYW5nbGVfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDczIjsKfQouaWNvbl9xdWVzdGlvbl9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDc0IjsKfQouaWNvbl9xdWVzdGlvbjpiZWZvcmUgewoJY29udGVudDogIlw3NSI7Cn0KLmljb25fY29tbWVudF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNzYiOwp9Ci5pY29uX2NoYXRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDc3IjsKfQouaWNvbl92b2wtbXV0ZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNzgiOwp9Ci5pY29uX3ZvbHVtZS1sb3dfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDc5IjsKfQouaWNvbl92b2x1bWUtaGlnaF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcN2EiOwp9Ci5pY29uX3F1b3RhdGlvbnM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcN2IiOwp9Ci5pY29uX3F1b3RhdGlvbnNfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw3YyI7Cn0KLmljb25fY2xvY2tfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDdkIjsKfQouaWNvbl9sb2NrX2FsdDpiZWZvcmUgewoJY29udGVudDogIlw3ZSI7Cn0KLmljb25fbG9jay1vcGVuX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDAwIjsKfQouaWNvbl9rZXlfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMDEiOwp9Ci5pY29uX2Nsb3VkX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDAyIjsKfQouaWNvbl9jbG91ZC11cGxvYWRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMDMiOwp9Ci5pY29uX2Nsb3VkLWRvd25sb2FkX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDA0IjsKfQouaWNvbl9pbWFnZTpiZWZvcmUgewoJY29udGVudDogIlxlMDA1IjsKfQouaWNvbl9pbWFnZXM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwNiI7Cn0KLmljb25fbGlnaHRidWxiX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDA3IjsKfQouaWNvbl9naWZ0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDA4IjsKfQouaWNvbl9ob3VzZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwOSI7Cn0KLmljb25fZ2VuaXVzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMGEiOwp9Ci5pY29uX21vYmlsZTpiZWZvcmUgewoJY29udGVudDogIlxlMDBiIjsKfQouaWNvbl90YWJsZXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwYyI7Cn0KLmljb25fbGFwdG9wOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMGQiOwp9Ci5pY29uX2Rlc2t0b3A6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwZSI7Cn0KLmljb25fY2FtZXJhX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDBmIjsKfQouaWNvbl9tYWlsX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDEwIjsKfQouaWNvbl9jb25lX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDExIjsKfQouaWNvbl9yaWJib25fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMTIiOwp9Ci5pY29uX2JhZ19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxMyI7Cn0KLmljb25fY3JlZGl0Y2FyZDpiZWZvcmUgewoJY29udGVudDogIlxlMDE0IjsKfQouaWNvbl9jYXJ0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDE1IjsKfQouaWNvbl9wYXBlcmNsaXA6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxNiI7Cn0KLmljb25fdGFnX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDE3IjsKfQouaWNvbl90YWdzX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDE4IjsKfQouaWNvbl90cmFzaF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxOSI7Cn0KLmljb25fY3Vyc29yX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDFhIjsKfQouaWNvbl9taWNfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMWIiOwp9Ci5pY29uX2NvbXBhc3NfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMWMiOwp9Ci5pY29uX3Bpbl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxZCI7Cn0KLmljb25fcHVzaHBpbl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxZSI7Cn0KLmljb25fbWFwX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDFmIjsKfQouaWNvbl9kcmF3ZXJfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjAiOwp9Ci5pY29uX3Rvb2xib3hfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjEiOwp9Ci5pY29uX2Jvb2tfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjIiOwp9Ci5pY29uX2NhbGVuZGFyOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjMiOwp9Ci5pY29uX2ZpbG06YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAyNCI7Cn0KLmljb25fdGFibGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAyNSI7Cn0KLmljb25fY29udGFjdHNfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjYiOwp9Ci5pY29uX2hlYWRwaG9uZXM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAyNyI7Cn0KLmljb25fbGlmZXNhdmVyOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjgiOwp9Ci5pY29uX3BpZWNoYXJ0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjkiOwp9Ci5pY29uX3JlZnJlc2g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAyYSI7Cn0KLmljb25fbGlua19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAyYiI7Cn0KLmljb25fbGluazpiZWZvcmUgewoJY29udGVudDogIlxlMDJjIjsKfQouaWNvbl9sb2FkaW5nOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMmQiOwp9Ci5pY29uX2Jsb2NrZWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAyZSI7Cn0KLmljb25fYXJjaGl2ZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAyZiI7Cn0KLmljb25faGVhcnRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMzAiOwp9Ci5pY29uX3N0YXJfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMzEiOwp9Ci5pY29uX3N0YXItaGFsZl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzMiI7Cn0KLmljb25fc3RhcjpiZWZvcmUgewoJY29udGVudDogIlxlMDMzIjsKfQouaWNvbl9zdGFyLWhhbGY6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzNCI7Cn0KLmljb25fdG9vbHM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzNSI7Cn0KLmljb25fdG9vbDpiZWZvcmUgewoJY29udGVudDogIlxlMDM2IjsKfQouaWNvbl9jb2c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzNyI7Cn0KLmljb25fY29nczpiZWZvcmUgewoJY29udGVudDogIlxlMDM4IjsKfQouYXJyb3dfdXBfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMzkiOwp9Ci5hcnJvd19kb3duX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDNhIjsKfQouYXJyb3dfbGVmdF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzYiI7Cn0KLmFycm93X3JpZ2h0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDNjIjsKfQouYXJyb3dfbGVmdC11cF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzZCI7Cn0KLmFycm93X3JpZ2h0LXVwX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDNlIjsKfQouYXJyb3dfcmlnaHQtZG93bl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzZiI7Cn0KLmFycm93X2xlZnQtZG93bl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0MCI7Cn0KLmFycm93X2NvbmRlbnNlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDQxIjsKfQouYXJyb3dfZXhwYW5kX2FsdDM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0MiI7Cn0KLmFycm93X2NhcnJvdF91cF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0MyI7Cn0KLmFycm93X2NhcnJvdC1kb3duX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDQ0IjsKfQouYXJyb3dfY2Fycm90LWxlZnRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNDUiOwp9Ci5hcnJvd19jYXJyb3QtcmlnaHRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNDYiOwp9Ci5hcnJvd19jYXJyb3QtMnVwX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDQ3IjsKfQouYXJyb3dfY2Fycm90LTJkd25uX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDQ4IjsKfQouYXJyb3dfY2Fycm90LTJsZWZ0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDQ5IjsKfQouYXJyb3dfY2Fycm90LTJyaWdodF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0YSI7Cn0KLmFycm93X3RyaWFuZ2xlLXVwX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDRiIjsKfQouYXJyb3dfdHJpYW5nbGUtZG93bl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0YyI7Cn0KLmFycm93X3RyaWFuZ2xlLWxlZnRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNGQiOwp9Ci5hcnJvd190cmlhbmdsZS1yaWdodF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0ZSI7Cn0KLmljb25fbWludXNfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNGYiOwp9Ci5pY29uX3BsdXNfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNTAiOwp9Ci5pY29uX2Nsb3NlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDUxIjsKfQouaWNvbl9jaGVja19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1MiI7Cn0KLmljb25fem9vbS1vdXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1MyI7Cn0KLmljb25fem9vbS1pbjpiZWZvcmUgewoJY29udGVudDogIlxlMDU0IjsKfQouaWNvbl9zdG9wX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDU1IjsKfQouaWNvbl9tZW51LXNxdWFyZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1NiI7Cn0KLmljb25fbWVudS1jaXJjbGVfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNTciOwp9Ci5pY29uX2RvY3VtZW50OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNTgiOwp9Ci5pY29uX2RvY3VtZW50czpiZWZvcmUgewoJY29udGVudDogIlxlMDU5IjsKfQouaWNvbl9wZW5jaWxfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNWEiOwp9Ci5pY29uX2ZvbGRlcjpiZWZvcmUgewoJY29udGVudDogIlxlMDViIjsKfQouaWNvbl9mb2xkZXItb3BlbjpiZWZvcmUgewoJY29udGVudDogIlxlMDVjIjsKfQouaWNvbl9mb2xkZXItYWRkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNWQiOwp9Ci5pY29uX2ZvbGRlcl91cGxvYWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1ZSI7Cn0KLmljb25fZm9sZGVyX2Rvd25sb2FkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNWYiOwp9Ci5pY29uX2luZm86YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2MCI7Cn0KLmljb25fZXJyb3ItY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNjEiOwp9Ci5pY29uX2Vycm9yLW9jdDpiZWZvcmUgewoJY29udGVudDogIlxlMDYyIjsKfQouaWNvbl9lcnJvci10cmlhbmdsZTpiZWZvcmUgewoJY29udGVudDogIlxlMDYzIjsKfQouaWNvbl9xdWVzdGlvbl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2NCI7Cn0KLmljb25fY29tbWVudDpiZWZvcmUgewoJY29udGVudDogIlxlMDY1IjsKfQouaWNvbl9jaGF0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNjYiOwp9Ci5pY29uX3ZvbC1tdXRlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNjciOwp9Ci5pY29uX3ZvbHVtZS1sb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2OCI7Cn0KLmljb25fdm9sdW1lLWhpZ2g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2OSI7Cn0KLmljb25fcXVvdGF0aW9uc19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2YSI7Cn0KLmljb25fY2xvY2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2YiI7Cn0KLmljb25fbG9jazpiZWZvcmUgewoJY29udGVudDogIlxlMDZjIjsKfQouaWNvbl9sb2NrLW9wZW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2ZCI7Cn0KLmljb25fa2V5OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNmUiOwp9Ci5pY29uX2Nsb3VkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNmYiOwp9Ci5pY29uX2Nsb3VkLXVwbG9hZDpiZWZvcmUgewoJY29udGVudDogIlxlMDcwIjsKfQouaWNvbl9jbG91ZC1kb3dubG9hZDpiZWZvcmUgewoJY29udGVudDogIlxlMDcxIjsKfQouaWNvbl9saWdodGJ1bGI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3MiI7Cn0KLmljb25fZ2lmdDpiZWZvcmUgewoJY29udGVudDogIlxlMDczIjsKfQouaWNvbl9ob3VzZTpiZWZvcmUgewoJY29udGVudDogIlxlMDc0IjsKfQouaWNvbl9jYW1lcmE6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3NSI7Cn0KLmljb25fbWFpbDpiZWZvcmUgewoJY29udGVudDogIlxlMDc2IjsKfQouaWNvbl9jb25lOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNzciOwp9Ci5pY29uX3JpYmJvbjpiZWZvcmUgewoJY29udGVudDogIlxlMDc4IjsKfQouaWNvbl9iYWc6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3OSI7Cn0KLmljb25fY2FydDpiZWZvcmUgewoJY29udGVudDogIlxlMDdhIjsKfQouaWNvbl90YWc6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3YiI7Cn0KLmljb25fdGFnczpiZWZvcmUgewoJY29udGVudDogIlxlMDdjIjsKfQouaWNvbl90cmFzaDpiZWZvcmUgewoJY29udGVudDogIlxlMDdkIjsKfQouaWNvbl9jdXJzb3I6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3ZSI7Cn0KLmljb25fbWljOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwN2YiOwp9Ci5pY29uX2NvbXBhc3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA4MCI7Cn0KLmljb25fcGluOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwODEiOwp9Ci5pY29uX3B1c2hwaW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA4MiI7Cn0KLmljb25fbWFwOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwODMiOwp9Ci5pY29uX2RyYXdlcjpiZWZvcmUgewoJY29udGVudDogIlxlMDg0IjsKfQouaWNvbl90b29sYm94OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwODUiOwp9Ci5pY29uX2Jvb2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA4NiI7Cn0KLmljb25fY29udGFjdHM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA4NyI7Cn0KLmljb25fYXJjaGl2ZTpiZWZvcmUgewoJY29udGVudDogIlxlMDg4IjsKfQouaWNvbl9oZWFydDpiZWZvcmUgewoJY29udGVudDogIlxlMDg5IjsKfQouaWNvbl9wcm9maWxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOGEiOwp9Ci5pY29uX2dyb3VwOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOGIiOwp9Ci5pY29uX2dyaWQtMngyOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOGMiOwp9Ci5pY29uX2dyaWQtM3gzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOGQiOwp9Ci5pY29uX211c2ljOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOGUiOwp9Ci5pY29uX3BhdXNlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDhmIjsKfQouaWNvbl9waG9uZTpiZWZvcmUgewoJY29udGVudDogIlxlMDkwIjsKfQouaWNvbl91cGxvYWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5MSI7Cn0KLmljb25fZG93bmxvYWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5MiI7Cn0KLnNvY2lhbF9mYWNlYm9vazpiZWZvcmUgewoJY29udGVudDogIlxlMDkzIjsKfQouc29jaWFsX3R3aXR0ZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5NCI7Cn0KLnNvY2lhbF9waW50ZXJlc3Q6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5NSI7Cn0KLnNvY2lhbF9nb29nbGVwbHVzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOTYiOwp9Ci5zb2NpYWxfdHVtYmxyOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOTciOwp9Ci5zb2NpYWxfdHVtYmxldXBvbjpiZWZvcmUgewoJY29udGVudDogIlxlMDk4IjsKfQouc29jaWFsX3dvcmRwcmVzczpiZWZvcmUgewoJY29udGVudDogIlxlMDk5IjsKfQouc29jaWFsX2luc3RhZ3JhbTpiZWZvcmUgewoJY29udGVudDogIlxlMDlhIjsKfQouc29jaWFsX2RyaWJiYmxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOWIiOwp9Ci5zb2NpYWxfdmltZW86YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5YyI7Cn0KLnNvY2lhbF9saW5rZWRpbjpiZWZvcmUgewoJY29udGVudDogIlxlMDlkIjsKfQouc29jaWFsX3JzczpiZWZvcmUgewoJY29udGVudDogIlxlMDllIjsKfQouc29jaWFsX2RldmlhbnRhcnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5ZiI7Cn0KLnNvY2lhbF9zaGFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGEwIjsKfQouc29jaWFsX215c3BhY2U6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhMSI7Cn0KLnNvY2lhbF9za3lwZTpiZWZvcmUgewoJY29udGVudDogIlxlMGEyIjsKfQouc29jaWFsX3lvdXR1YmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhMyI7Cn0KLnNvY2lhbF9waWNhc3NhOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYTQiOwp9Ci5zb2NpYWxfZ29vZ2xlZHJpdmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhNSI7Cn0KLnNvY2lhbF9mbGlja3I6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhNiI7Cn0KLnNvY2lhbF9ibG9nZ2VyOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYTciOwp9Ci5zb2NpYWxfc3BvdGlmeTpiZWZvcmUgewoJY29udGVudDogIlxlMGE4IjsKfQouc29jaWFsX2RlbGljaW91czpiZWZvcmUgewoJY29udGVudDogIlxlMGE5IjsKfQouc29jaWFsX2ZhY2Vib29rX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGFhIjsKfQouc29jaWFsX3R3aXR0ZXJfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYWIiOwp9Ci5zb2NpYWxfcGludGVyZXN0X2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGFjIjsKfQouc29jaWFsX2dvb2dsZXBsdXNfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYWQiOwp9Ci5zb2NpYWxfdHVtYmxyX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGFlIjsKfQouc29jaWFsX3N0dW1ibGV1cG9uX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGFmIjsKfQouc29jaWFsX3dvcmRwcmVzc19jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBiMCI7Cn0KLnNvY2lhbF9pbnN0YWdyYW1fY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjEiOwp9Ci5zb2NpYWxfZHJpYmJibGVfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjIiOwp9Ci5zb2NpYWxfdmltZW9fY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjMiOwp9Ci5zb2NpYWxfbGlua2VkaW5fY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjQiOwp9Ci5zb2NpYWxfcnNzX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGI1IjsKfQouc29jaWFsX2RldmlhbnRhcnRfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjYiOwp9Ci5zb2NpYWxfc2hhcmVfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjciOwp9Ci5zb2NpYWxfbXlzcGFjZV9jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBiOCI7Cn0KLnNvY2lhbF9za3lwZV9jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBiOSI7Cn0KLnNvY2lhbF95b3V0dWJlX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGJhIjsKfQouc29jaWFsX3BpY2Fzc2FfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYmIiOwp9Ci5zb2NpYWxfZ29vZ2xlZHJpdmVfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlxlMGJjIjsKfQouc29jaWFsX2ZsaWNrcl9jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBiZCI7Cn0KLnNvY2lhbF9ibG9nZ2VyX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGJlIjsKfQouc29jaWFsX3Nwb3RpZnlfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYmYiOwp9Ci5zb2NpYWxfZGVsaWNpb3VzX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGMwIjsKfQouc29jaWFsX2ZhY2Vib29rX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGMxIjsKfQouc29jaWFsX3R3aXR0ZXJfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYzIiOwp9Ci5zb2NpYWxfcGludGVyZXN0X3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGMzIjsKfQouc29jaWFsX2dvb2dsZXBsdXNfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYzQiOwp9Ci5zb2NpYWxfdHVtYmxyX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGM1IjsKfQouc29jaWFsX3N0dW1ibGV1cG9uX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGM2IjsKfQouc29jaWFsX3dvcmRwcmVzc19zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBjNyI7Cn0KLnNvY2lhbF9pbnN0YWdyYW1fc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYzgiOwp9Ci5zb2NpYWxfZHJpYmJibGVfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYzkiOwp9Ci5zb2NpYWxfdmltZW9fc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwY2EiOwp9Ci5zb2NpYWxfbGlua2VkaW5fc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwY2IiOwp9Ci5zb2NpYWxfcnNzX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGNjIjsKfQouc29jaWFsX2RldmlhbnRhcnRfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwY2QiOwp9Ci5zb2NpYWxfc2hhcmVfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwY2UiOwp9Ci5zb2NpYWxfbXlzcGFjZV9zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBjZiI7Cn0KLnNvY2lhbF9za3lwZV9zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkMCI7Cn0KLnNvY2lhbF95b3V0dWJlX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGQxIjsKfQouc29jaWFsX3BpY2Fzc2Ffc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZDIiOwp9Ci5zb2NpYWxfZ29vZ2xlZHJpdmVfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZDMiOwp9Ci5zb2NpYWxfZmxpY2tyX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGQ0IjsKfQouc29jaWFsX2Jsb2dnZXJfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZDUiOwp9Ci5zb2NpYWxfc3BvdGlmeV9zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkNiI7Cn0KLnNvY2lhbF9kZWxpY2lvdXNfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZDciOwp9Ci5pY29uX3ByaW50ZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTEwMyI7Cn0KLmljb25fY2FsdWxhdG9yOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZWUiOwp9Ci5pY29uX2J1aWxkaW5nOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZWYiOwp9Ci5pY29uX2Zsb3BweTpiZWZvcmUgewoJY29udGVudDogIlxlMGU4IjsKfQouaWNvbl9kcml2ZTpiZWZvcmUgewoJY29udGVudDogIlxlMGVhIjsKfQouaWNvbl9zZWFyY2gtMjpiZWZvcmUgewoJY29udGVudDogIlxlMTAxIjsKfQouaWNvbl9pZDpiZWZvcmUgewoJY29udGVudDogIlxlMTA3IjsKfQouaWNvbl9pZC0yOmJlZm9yZSB7Cgljb250ZW50OiAiXGUxMDgiOwp9Ci5pY29uX3B1enpsZTpiZWZvcmUgewoJY29udGVudDogIlxlMTAyIjsKfQouaWNvbl9saWtlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUxMDYiOwp9Ci5pY29uX2Rpc2xpa2U6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBlYiI7Cn0KLmljb25fbXVnOmJlZm9yZSB7Cgljb250ZW50OiAiXGUxMDUiOwp9Ci5pY29uX2N1cnJlbmN5OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZWQiOwp9Ci5pY29uX3dhbGxldDpiZWZvcmUgewoJY29udGVudDogIlxlMTAwIjsKfQouaWNvbl9wZW5zOmJlZm9yZSB7Cgljb250ZW50OiAiXGUxMDQiOwp9Ci5pY29uX2Vhc2VsOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZTkiOwp9Ci5pY29uX2Zsb3djaGFydDpiZWZvcmUgewoJY29udGVudDogIlxlMTA5IjsKfQouaWNvbl9kYXRhcmVwb3J0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZWMiOwp9Ci5pY29uX2JyaWVmY2FzZTpiZWZvcmUgewoJY29udGVudDogIlxlMGZlIjsKfQouaWNvbl9zaGllbGQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmNiI7Cn0KLmljb25fcGVyY2VudDpiZWZvcmUgewoJY29udGVudDogIlxlMGZiIjsKfQouaWNvbl9nbG9iZTpiZWZvcmUgewoJY29udGVudDogIlxlMGUyIjsKfQouaWNvbl9nbG9iZS0yOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZTMiOwp9Ci5pY29uX3RhcmdldDpiZWZvcmUgewoJY29udGVudDogIlxlMGY1IjsKfQouaWNvbl9ob3VyZ2xhc3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBlMSI7Cn0KLmljb25fYmFsYW5jZTpiZWZvcmUgewoJY29udGVudDogIlxlMGZmIjsKfQouaWNvbl9yb29rOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZjgiOwp9Ci5pY29uX3ByaW50ZXItYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZmEiOwp9Ci5pY29uX2NhbGN1bGF0b3JfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZTciOwp9Ci5pY29uX2J1aWxkaW5nX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGZkIjsKfQouaWNvbl9mbG9wcHlfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZTQiOwp9Ci5pY29uX2RyaXZlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGU1IjsKfQouaWNvbl9zZWFyY2hfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZjciOwp9Ci5pY29uX2lkX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGUwIjsKfQouaWNvbl9pZC0yX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGZjIjsKfQouaWNvbl9wdXp6bGVfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZjkiOwp9Ci5pY29uX2xpa2VfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZGQiOwp9Ci5pY29uX2Rpc2xpa2VfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZjEiOwp9Ci5pY29uX211Z19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkYyI7Cn0KLmljb25fY3VycmVuY3lfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZjMiOwp9Ci5pY29uX3dhbGxldF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkOCI7Cn0KLmljb25fcGVuc19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkYiI7Cn0KLmljb25fZWFzZWxfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZjAiOwp9Ci5pY29uX2Zsb3djaGFydF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkZiI7Cn0KLmljb25fZGF0YXJlcG9ydF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmMiI7Cn0KLmljb25fYnJpZWZjYXNlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGY0IjsKfQouaWNvbl9zaGllbGRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZDkiOwp9Ci5pY29uX3BlcmNlbnRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZGEiOwp9Ci5pY29uX2dsb2JlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGRlIjsKfQouaWNvbl9jbGlwYm9hcmQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBlNiI7Cn0KCgoJLmdseXBoIHsKCQlmbG9hdDogbGVmdDsKCQl0ZXh0LWFsaWduOiBjZW50ZXI7CgkJcGFkZGluZzogLjc1ZW07CgkJbWFyZ2luOiAuNGVtIDEuNWVtIC43NWVtIDA7CgkJd2lkdGg6IDZlbTsKdGV4dC1zaGFkb3c6IG5vbmU7Cgl9CiAgICAgICAgLmdseXBoX2JpZyB7CiAgICAgICAgZm9udC1zaXplOiAxMjhweDsKICAgICAgICBjb2xvcjogIzU5YzVkYzsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuZ2x5cGggZGl2IHsgcGFkZGluZy1ib3R0b206IDEwcHg7fQoKCS5nbHlwaCBpbnB1dCB7CgkJZm9udC1mYW1pbHk6IGNvbnNvbGFzLCBtb25vc3BhY2U7CgkJZm9udC1zaXplOiAxMnB4OwoJCXdpZHRoOiAxMDAlOwoJCXRleHQtYWxpZ246IGNlbnRlcjsKCQlib3JkZXI6IDA7CgkJYm94LXNoYWRvdzogMCAwIDAgMXB4ICNjY2M7CgkJcGFkZGluZzogLjJlbTsKICAgICAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7Cgl9CgkuY2VudGVyZWQgewoJCW1hcmdpbi1sZWZ0OiBhdXRvOwoJCW1hcmdpbi1yaWdodDogYXV0bzsKCX0KCS5nbHlwaCAuZnMxIHsKCQlmb250LXNpemU6IDJlbTsKCX0KCgkK"}},"time_used":348,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":98,"receive":250,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:26.023Z","timestamp":1785123386023,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\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\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 350359\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-07-31T13:42:52.803055Z","times_seen":951003,"resource_available":false,"data":"d09GMgABAAAAAJzAABYAAAABJMwAAJxGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFwG7cAHJB0P0hWQVKGBQZgP1NUQVSBTicuAINCCIF+CZ8GL34RDAqBzmCBtmkLhVgAMIHeagE2AiQDiywEIAWJAAcgDIVOW3sUcYJ2+YXsTHcCUa2eb/kBStiuDNw2mlrloLhnj0bEboekZ1x7dPT//6cllSEzKZqmA5hzU71vkJCiJNulImOrXjzgaVpjkkldY9XkEtIwK7MgGJlJEu058EgYM8XbsUKJJgnS3LaCoydljRIf3TWocIZSKIVqflw9sPdXdL57lPkx26hbdai4Rm4SDjwdLWegM6PKTLHOb5qk/JwuRbUtUd7gj8QKjJ+DgUkZ7C0v+jSd+LWPe9GCVWr6F94zg0u7qMNnDlqbodvshzAf6OYyKSUIe6KkC93/4oFnTrqajC9m6zfclde5uO5vhku9953rXlaBseshaqzz/jytrfdnZrfZApZcWGpJqTxw4VBKaIk0sJvzGCosKoxT7g7j0CbMQ8wAk1IUBCxAYmGIoDz4r3qQfMhY4ibqKONtZoB3W//MrmyZMzVNcIALEEEEQZA9ZA8RtqACrpGWZmrR0LyyfVc27LK77q553ZitG7tb66/Z8Lhp/xIIkISECCEOwYMEs7aDik5MTkTb7ovoicpuJyLbzrzXTiprKTA8btq/UJ+I/7ud78x3+2rasa8+ObN2Vt+NrsNa8GCBJCQhASKEKIRgQVRWoywdDTAUXTP7PPdkKKfZoAAtcwC7mzLiq3ce54D4xVBAyibdANmyLaI5eDfrJwmQoK1TZ81OPW3vPf8T8Z8PKNQUKSktYkE8DXiFutCuuBy01LU9QDRxc9rWj1Nz1ga4kN2Em0sRtrd7tD1IHsgSC/8anXrf8vhOVVOhvq/sWf/TNptLrpUKCNOM4flu5M7lExRGNNmFQsvlH/w9d38Ts/TfK9jMRjPJtJ+EZkKtgsMD/L37294UeTGe7gsswyj8y9aYYCyH2yZ2SXJQ7F7eZmlRWfm/NdMP0tdImmEDxrv8vN7EcQDZ7XPKrCIdm1wLgCc69nhLfQAd1WZVB3qAavATs6eYtYwkTJD47ZL49NSH+Wa/ZybrgpyJgttS4rsJriHhV21ldzPgMSUyV6QnIjZ1nNuKchFxIkb0mc+Tjdj/s35pe72zOXhO9WcUWM2W+k5NeN9Iq3NA+jipCUrcdM1TUC5DYC1HVSlHLyfJzDYi3ysfAfDP/7Rm9+duD+1Bd+CaGuFyDtbM/mzLPHKyu9BDa2UYhUSjsAjXVC/CIgwaY/DhbWq1/0tWduQcWIvKoXUIRbdYn486oKa4mff/14fRSKOxHQsMskKSvSDbyZ3s4FgBWV5nAbg9oEr2JgtERbv9MZQ1l9ee//+mpu2/gMLIEVAc56HiH8U/UtE4t7lp3KfhgBRnQFIaJgsEl9YQu6YBcNdnQO4eD6CUYhli+QByjz42WJ+kaA3XCVRcOaZOrWNuity67F10kjqnVJS1T28TNLc6WUjfLqS4IeL3R1gxREswWLt+3zSlGv2Z87pr7Q6dRIQL0LAg6FtJbqvv1vT8Np2lA2IzHfOxg7lv7dXO7dwGP+2E5n2XqBidkSc3vK5GEVx/mRSgq77ZcoBUuwVSv65RLlI2QlXaEP940w0+hoF1IJI9CMIAwyCgJOAJB0BBOY3UrPh3Ea4wxihCGMe4ShG+ijmxqimZ3Xm+7BPSxhifMcIInfCJnAmZ+UHCbCaNMeFsh3UvQwwJee8xpuapF7+xw3Rta3xqkCAqQSI44vPrMVQsR116Hm09QZS47RhTK4qxyf6MqRtUkIsgnitt/3RAcCJLf4qPqYYRMuIB8ZYIWfkSsl7IFiGkkHQhWUJym1P5CrXX/g87oBTuuFMwN7VB7kXTFkUnbrO84857C0DTgj/G2uoSUGoshQD4wyrt8p9BgHrAOTIACMj8y5c+9WBo0hcIwvEUijH5Qqks614AEVkpOXnBracypT4qaj1uT+McYItQgDjuBL59q8e1XSEPYHtjyN4GyG4zt/sATQT4X/H6OItnsS604dbrQ27rFTP0o7ICU4m2AAHlSeSY2OSmfgFQhw3DbE6LrrXmDSByk/Eue/+7oQAsMV3wISG/ivDQcQiI1Kh10CGHHXE0WtGOpGKpJwAMbagVqEkENZuQI+OoDfWAzO0bKwIys1H+s3kcWO8pab1rfSi6yifx1lp1Hy3qcvncKcmFUen0h5/d+Mz4uGre6M/lyluLsBIR/3JsoMWW1C6s6TM3WBtKk4Cq9VLaBs5TxkP6h4nnV92N8uIGrdvWX6/aadFc3ZoTG8oAvrGoCqCWVt3o/JQSd9LSi8mjT62KPGWM/80qMHs+r5+s6rEofb/9+P9JldFtSp1WCyfPYradrBLGaTi+NK3/4ku9FY97cFr2rt4WOsnh2p3CY6WT4lDLuX92oF7gZS081c/SjvXQDJ5vjJqOxG3ivZzjrMjqVdTXNfpZUYKKh3QsKy3ScU48yGNTD9n7Xmg77ueN0MRGEW7JfHc/37B5v+1crqt8b8Z3bt1j6yle1prGvagp/LfWc67WOog7ls76t1hKxeeTplT+C+9rD3W89wYRBpTakYf5MzXuBq8NAK3ZfCuPTg9KU2Wled1n/VY8A7z4vFy2mZqHer4NtzCrryhv3nUsLEvJv+S4NbfHz4oc0YunMfBfzNGl0TJ9uGyFWs8+4NAv0jvtPFExy8W3dHW0hXFcfdfqVccHQfKtedEkZVeY9M75WvuP2tu2RWzeorNzEBIyPbclDef8qAVzH/s/m4HNzbnQ0H+LnT++9QFuz9Ovdt6LToL9nSR/rjSP45Kr3adBtp7zurvl/idxXFKC/hhj9JoG4CwGMWIKY8EegzMPAnP4UONHWtM8q5ZQEbRFpqVirXriJdKX122k4SZlaibu+cbMqEkhKKhCZJ6RgLisR0yIz0Z0SMwWApKyFQksSC66RckjLE5BzCQHBmFrELG1LfUoSklD3PwRZrjSMy9COQlBl58wQkEiolGYeHTFSZqLkiyMQ2mWp1U1AOwJUGzT7tCBDQ4LJQSoQyBGCB19DNCECScwasxK9sI2W8PfyCe8IRKfkXDGQsyFWEqVnRAHIU5S4iwBFzG4SoWbeH6TmLs4PCQ0p5Hgww8moBETKgxTuOgixDRfmChxxYgmVizxUpMglkQpSxdSIKTwCKZKdV/G7H6K+fw2u7cCfyPf3VujyH1P4J6+DHmrC9LtA4aPvIyjzxeEQd9gRvkopjGT6KbMoKEgwEpuBxTMoQEsTMAMByiFC7hRAozwAC18IIwgKKcgceq8xhvCieYPVrQiwY4uMCMFjx5E9MFjABEjsBiDxRQslqBYQY81KDbQYwsjdtBiDyMO0OIIJ06w4jzZy+ESl3CNa7jFLX2AmQCwzJ9kFDATDUoCSkksXDc3wQBGFqGSxbCSPD2WxJ5LgZflCLMC/ImUYdb5rzBCGJnUGIvL9AjBwiznbWSwQqqsG5XYsIXYWz1keYjhZzUQbcTNRcp8JOAnmnmdmV608ixpF4asplXmCsqwzXYV2L/ieuYlQrs33gp4sz1JYMg3NIddT3BPFQRHOKD5FJS2MAC5LU4phGY4DJFVvAV/ZfzHdaIDAQwcjNDCY9gPny1aZEDEGFpMIGIKLWagWJzOe3lud9t3nz1zw4SQvh21+KGceaAEwkxQUZ2mXXVTulsgX2akLsidGQPqiS3Ks7bXSeHJefTS4pcWJ/lJUaUKZETHH0qRjnXYZeUdaqDLG5t/spi9aVHZHW2ve4/bHWuCZLqiZa3DEaVMEu3DgQl7gMadbId3T7YcBi5vxgmBxq5b/jYT5C/gkCBg+zifA6sphxSO7WjDGNUwDBMaNfw51kUqatJwHuUiyKJ0yIN8+8GD7ezP6+23UkAcyBYEOg4uI8ZMmDJjxZodew4cOXPlxp2H2fz4mydYqDDhIkWLFSdBkhq1u4HeW+2Bhx557Imn7d6ee+Glt955r1OXPachw776ZtSYX8ZNmERBUBANOXxXPlKNWjSi+Y7U6zK6kUY/hjGKLMYxiWksYxXr2MQxTnGOS1zjFp9wI4gw4kgjjzKqqKOLMZZYY4s9jrjo8xkrXvNdazTwI2DFeaSpE0zIqeHjN56bX7wwavzDQ3E4cmHGg4EhhvnKN4+1+hcYZyKZnAqGqXA5V8cotnHA1FY1tkEubTCBXYkg1IlyFgJAag2gisCt2SzPZnYB3fTQm3xI0ersw37J1fEdv4XjFMjBQY5wtIn8Kb2OJXzIpVwtAGdjsX8R40wkk2msEpuPAKD7BIDzx6cimq3mxBG+S+MJAKkdDZgA+MkprY2Ajzj7BvwIYD6FDDLEMF+TbykqbM+O7BxOvaFvEF2qjU4AgAMpUZEnkXxGCV/8CGC+FlJ2YeyaVtcSh8LhKJISJUqUKEVoUwI2C5tH2ZQi2DmcegNK7dGjoqKioqKioqIGdQkSN7hjPOxR0L2NN2Lq5T/KihyYo+NhxVozLillREWOQ8oa15U7rumv8ewQQQmfyVwOS80lr4AKQgpB+UQmYmB16+rEeQPihn/+0polvjykjKOckSOQrayxR47ccdgitScojBCCLuZwHlO8ub5KXwTuQwDx1tdIIQ0ccca1lVQ/KIsmoGTy0K+lTjjgaGEaxKOL3QXaKJkPKnxsVT8FtcgNBQWVUJFhCL6Ja7n0lZTls3m9DjwLC1PshgBcORQvDbj0JtHYS3shoLZBfwDR+mIj6kNSB5YzTXg1OFtZ99rnbuXnSAyykJWs1hr7zuuH6Q2e8mby74q+it9HiKO+38sPwEMe8Zgn7uvub8F3fM8P/Ogx+CcwzgSHmWaG48wy57pYz4MGTbd2hkGDVqkcRGusRptkWltJG4zearRNjIG3D95xZWf2ZG/vy+D94QN5fDA41KfW6EoqvjZTXE9cZPgEVl4Dr8b47zLHCT0fIUcnAJzcfnmOWr1waLlTDYZXqujEcXVWenUVYLFICPfoukHimGmSry4gHwAO4hBfI8/XwTcwNBUkJTrOLsY4DwwvSWEXABW5G5nQeDFGHQEglSUUjX6GBGvk0B/55KjGKJ3uQUavLsHAh1+pgYPAQGBgxs+tBSqjn7/Na000E32Uoz1HnxmyfvgMMKA7VtoyZ50gpSykny7iL0KccSh0zimYdd7DW1oHQEc+lSsk1zaXzd7t5rqngW+BXj32Gd+qqzAWPt+/Wt4AsKvt83uBkcmQ2Qokbmt1moHoivvZltt8ES+gu81v9QCK7ztDgPiuzBT3Pso/aRvhNVyiEzzwwIyiC1pADMdGwbgEc9OgZOzP7/Cna9OJ/JPirAwzGR46oVwyL9KrEjH/B0wkthY7bbLZZVdcdc11N1QE+68764zTzjnvgosuadSEfnUAh2irFI3z5RwYRIUEAAbzd18a4LQmaKQl6nRx2q7c6VIeIvJQaPKZ2B7+X2tFrYObeZEWVWJq1GlUSULF3Ph5t9zOb3GPR2azPSLU0Bia9YaKKbeuY2MUOyI79tjGRlApby64XpyIpUOcgvO/viarHY7PDnRyCCHoBu2gtvLmv7bVsmmbm7uZmqLBmn5Tr8P1bb1bL9XSuqiqKrPWV7MyVj6Uu+VQ2VOSi6aIC7MUFVFhopkM5nVupy4pCcUUYejZHiYMa3XGP2oVy7McQZuYADsEYIpjPlXiuw740SqyfX1Uoj5RnzLCXOdAVtSlEWReTGNIhzoRbtzYE5fBaE7FqTJFXYpTwcOMuJAsezDqrF7cHJbcXwp4iUNqCrtKIS0s6CklsZ376PhMxa7uGCs7NZHYpMaw4teYealR+1QkUQ+G2Yf57boZwrN0QqtgKZ5FMeoL7DzHVkwT49QQRtUwT19AheXwu0En/RjQh177J4Es78yXgGvinEYDx/s/jhZVlmbVWETyxXQWZKQ0W1ZH6RF7urFNerZnIXw7oqc9acgkZDnE9bGIubFXqhNr3mLJO6JvGDdvmEtklkFEVoewLI2QzkFmgidmqXYsqg751byBdvZuxgQZzzDse97nX6FcZ18/8Ah97iPteWD+u/WvAzA3C40Ve0yO7wgL4L2Dooo57d7EAgTSEiyCjki0IfVEZsiesJCemCUrYSk3YSW/3Xo2310iXJubWYme6+ZvLmsyBIAFF8UeAh7EN4UYirhAT+CC+rBkGrg8aaDgClNUGS5Nn/FQCWqz59MQCMZGhkkhCidtC002PbO2kOT9ZI5OegO8bV0pCKPVEfXQmSYflCitLK5MmJ3hzHaQzrZm+xp99vrGZgIGUkDW5lbl50ZUNc3V6jqWRtKGdqNxG3DBzUp4B2pj02wnvxwfB/wiBmPnntIdYoawCJthKFkHq2itd3FbasGpWbFNg7ShJd4jYiO3pk+k9fWXjSvkVFKDZWr3rl3DHAPSj++ERMpLzdkrmLGmQNzooMxeaSUNr9c1xgkQmtqrqjE9NMput5HATIXmSlUJtbkurLGh17kqatvbqqhzc0bSiZGUxmc4IBwzlZlbWaOFNfZTBw5kEukhS1WIZiuGrvXl60NzN9mP+cri5hyLTlY4U1LsU78N3WFoIxHQPTCsnRBQhb1YGjR2KRm66odU2Yg2d3ydePxgXB07Rnv8wrbxS7L27wjb8Vevxn8UjzJ941k5o1nNaPHP6FAxBpUQ2cM0i9mo9gcADAB6wuMJmSIkyw4JDokP/22Buzj76Laj+UdLjqqPtp/YcCL6hP38W+dRy9UXfr1cfZmywn9B+aL0Ouh6yY2BG4Yb8ZvVt/LvfNXmf+/pbHxP/0bxB+vvo/u0+/KHBWK8r6GN92/84PYPGx/5sq2PDhy48ePvvO9u2/RpnOZonm7Mt+Zv/2zkiyNfDny99+uv97H8m/vL4sbvH/vh0NjM3YxKqbJq2rbxkfHR8ceOnhgRzUee5L4wdWTqo2M7Z943vnt2z+wDs4/OfmZydX1r/YQi2ul2G6YpAPbHMrcDrINWjl/1rVURl+BrrJNmFmUvbKoa9IYOdphOzfQ6A7P/Jx+Q/F2nAAj2KdcAAMjJAdFssg8N0F7S7QDa8oHDv2JpARxIAkvVloE/pGXwOVPE2sK8qe4EM2DpfLCAFHolACAO6Q3pRnGoa+jUMnDmYwF78Lp2V0oKwLYbXe0pACBH1JmD1GNdKs9uGy0SyZ8HWzJiOAwWEwAACACCAFoVz3i60yq4dKeVsZadVsKi0zMaAW5goaN9R0+3U0cWhza4DdtVSN4DAIuxc5FlsZB/cX4kVD7LzAcAuF/Y0L5x5dbroY4aPRqdv5O1mfLrpN0h7DykiZzyQp6P0AjOPr+U7HbICSdd1eaRPl9R0N4JLy+VtvK6vK0Ix3EWbrAVLF1Zuqp0PU3S3JpPC2lZraL1gJ/bWt/HNKn+/0cf5AgpDtc75ZpbHvvkG1uHvSzssq4maMrry2hlhpaYqg+W6fCQDDcADgAaoD42HloW5nPT/5rzc2D2T8FsWphj9t7mn8NkMhkMyexmfuxazVjp/85n58qhBmdZcI4gieZFm+c1sNUpMVP0zUn3vDFD/+TTpOvWo9cHH2XI1OeTz/oN+CJLtnl67jlyTVGYNoMCeQE6UO0NVG605vpiQMljy1XcHPeqDryXLrum5pZuUtZt/KKUpcXxwXSVnjmrIl1KQfZvOJDmlEMKlGicxqgpKt7+XnfJd9j70RoXuHhHE47YZL2qSZo9Ktd/xjP7VTjprCu5k2neq3yUq+E/XOHgtdSAlBm94vqp5LwmakIstt0f0uXbp9wRpzz3PjK75CpS45hzrZDgKO4Bfb8uLqMjw0ODA/19vT3diXisq7MjGmkPh4IBv8/raXO3upwOu81qMZuMBr1Oq1GrlAp5i0wiFgkFfB6Xw2YxK0GS9OqYu6Ns+V7MdwfHdraLluezf3ynuktuxbDVMOoIekvsyrbU94y13rBVChBcn8ZjX5MI17u9YqkfFovpVnZ4ZasRqrVO2jsn233pij/4UlznQw4Up2H0uHR0P9nbRdF3DIL+DKnLBBjTbD6Bwf3l2iS8a27GXwoYdZ7RdGxZBt6q5EDQsRvuXrYK6pVyARRTXgxNWZUccEZS1QhkfegX3cuBGMfVdjIcjF4+LihAJkSwmLuboh051tm8preF/Ybp2nkyeZ/bbiW13ajNtxNBZ4rw3XjS5bvJRvJiGNR/NyVfCSkOd3zalOwukxuGzinQ8JTLvWKwHNzOnY/eZD2LNIqAmn5JMsIeTnbkEJS6xQXlajwQUgE9RhHqdGlq2yJOvvifIyCEfNkc8rgGCRrmvm4dM/WMntUnaAGFCYP0V3b//8c1gB//s7d1kka3K38xbXkHTebkbW9oirBoyna9BPsyUoUnl7xtugY7TzfyLYAFGF4ch7lz+CHz7TrRiGO9tqUAYpVgNXjDz8TQRFXoHUk7GYz1b9/fW4VxPWESHhj2aflyvV5j1HFqTKngVMuwK3B1BRfA4KUed0KKIgS/9ZJW6O0Tq6bbKaeo6miPGZjo+LDy8bQNTii4PFWcaiFZQe5Fgzvwozsxx58uTkcsYo8CV8L8iGuuqfVYE+4SQW/KyAx9hExqxb9HKKI7JgnotNa3yp1tqhOMuHtp/spW0htu81A6BPtJsy6amlCxFxc73LOGrUZdP+q653Oomvxc+3RwWLVn7DSrtW6O1B/M34JgAkxyGTRNnsbdRjSY55e/I61/S12FXjQy7Y0WehBX7s23yzMp2ibxSFBDVl7k3vCzfZbQDNwNgD0uuu84cvTQFXICXi6O3aJY1wGu+w6cVAy7GPG2WOp7LQlgDCn2M9HJUZHuMvNxXXz8JYYOO9uVaH6OHnPedE6pAMEXGQ0UMd7L4qLBZe+SrBWRNknlYr7CZ5aZLpAFbRalNIndkbFMz1HocjNJ11gPoQ5n1eBsdvaypMvjqmPJOtHZOCUWxPI0IB2j4N86dMm4b02mZomGUbvQ0WY261PabKTWxaiTqwbaTN3AnpLJwoDtDmH2k4MPEe9V8DJgUgBhlkVZjpznzvQ8gqlgqaUflguuO44DyHp5SgLyOnMZBQfcaqZm6w0nAkoorpoJmud7SjRqECrBweQ5XXqfd1TnjqBSFVN+b1+316apog69az+aHZRglojvrwJPaLnM8rPjLgpXXKpMc4gkQ9dc4l5HfTMBJgRjSVzbIaa60SnSqksmpK/iRCPKNxYqINpfCmtEB9bktstBmnI9kd8sZfVMCBE9lvGHiE2LG/VFoa51jAbEJY5/1YF9TEQbW540T/Y4PObyEMO7IQEcRehRTMT0wlNJ8GDLe0BIgIYv6cinBpPbrmVuFQQmNqF41ykIORhrVxeQGOvlHVUgRh4jvrskQyjY9RzXFhlxXKYlpuIleOXcdgHHFmKJmDGDP1qlsDtyhpzP9HN5UwheJOpt9sfdml74h7I8yXY6VCltHwmTTpO6ZT6CmllGBxhlrezhomeQvivASpBS1Fd6lULmGPKgVj4s4K8E6ESXvok7OxHaOa7sjBqqk0GW8Hso9PvmmZsCOBJes6AM47poWnO3a5ozJZPhREFn7M7wPWfEuCCBpOaeTWZtII0Tl1MPimSZXYsLLnCWn8l1KWROYcRx/aNxCUOjS6BmNpnxN1RehrhmxjirZYgo2HSgWddWSpVTFloM1Fy/8Qw8vgxbuJCARj0eBTBWtOuEsO9gVyTx/PeW5+OGrrzub912WmoTyw1TYVnK7b7YIjVTAhzsnU1Ei9zMOOFoH0znpMPDdIiwJO+4lS4NUF+y503awY3MMTP09B5z5C9+Qrq/XZkIJwvwFFUw+AqcSp21vff12MQbbRUxCY1r5uM/6PQRgC7Gk1cKBQ2o4Ymbbx+4GM6CmI4zK/ekIxrZW3DjgaI9THkx/Hj6gqHJuBqww0WY/O4/5lxQcN1ZkL2dijHegoN7xkPldN6YImdj5xd3E7vyDkAV/+eUKZa0sidjVIfSmIkPX3NjW/OucfWLv4fLJ0p6HCHiMgrq4bEkG5Ta3lgnV9SsoZp4z2cuqhWCle3p8BF2GuGKyhPFifmPxx8WDUIQLOrCyx5Yz21RwSu4AS+cZuyqlNWcZWe1NJYbeK1eEedymE1jsFQqp3LuQ1mWDsIvOEHZ4A6E+gRTx4I+FuSc6mJ/2x5tKP9CYJThPL+0UMzIUOVXVp/BkPK+zK0C+AvDZ71m8mWiz6fBfbmwSIJkD0Yl50ub6cn6pRxAgp9Dc2zk9vkosuUe85zew0NW13Y87XPQuQBLF/bN6jInw5Ecooo4mih7ppa1yJZNY3CdvRAHr4SHzKhQpGgEIOgk1ykVLGyrWRVIBjasUfwpsFwB3praOQTA5Qa0S2h6N0d3DT31BrRbGPrv9u0eZhy7qLhHWB39WN+eYcfxrRJ7hUOfcud7QzBMzNHHJ9V3K4hj33yElwLRNwDobguAdR6g/Rqo/hiQTjRWP56Ao0GdsMkhh2UmCWg4IO5dvMQ4nHcUpzjFKcbKsiaKwtyyLYrlsEwUS7fHsBwGD5WPpaNxGh79upAAqcYbi/N4dCYhloGiJbgBg6P/M71kURAcBkEiiihtAoBmm7xm/VsvjEfDIK8Z/7BTD0bZNBf5W6UrvqRWB4wg6Naur6x1OLxr/UTtQQQYkxv8XE1nLZb9JVD8GEEET1MrMuRc8Wul+QvyCGSRhvPsTdW9wGHG8prktC+VY0VMs1BAZd5+KUWKM8CxorfQVmTPRwndNCKGdRDYp9GlGMuOi9TOL8n1jlUX82t+EJ/4kCuLi5AMw9iqblKE/cRakR/T6vFNgQTjaLZddVTUtLdcDFOJwHiIW0Fso+nggUBGqVE/wFIhhVZ1a+iwedpOz7o9q2j1+dJMgiITFqkk2tZ5inIiFvYJxVGyITYloBvH9SSBiylWWJRIRG6KqqmNpgjDlP2AqWR7oAeNLEGHYlP6mQRMMvZyBelBd2dUiOrW9hVptCDVv9nOLCXPQqQyxDeE8ewrtWkaKdJE5pCSS0q8/iMWV8VBXv/+cfF6xAlaaNWHn9BvYcoTQtJuAQtZQvw+NGq/UfsFoIv77+kBOcj89tsadLFfelIfotrvjCXZnv+gGT2rX38Ng6Zp+MJtqXFP+i5BeSmLuRZ0p8nHCxhbgzwziRhcoVC0JpuX7CR4XG2lvpvy4DlBjwRR3dlkMTfOOtz1XJuu+fkBJaz0Hm5TvV+RVURga+HJhpA5uhBUSbjTZMsfb06HJSi63+fIcVr0uYdSbMxAZSMQjir2pL6GWfDaHo0Y/k8QIZVDTSoByMiVbKa2MEFrmmmVKL22XjXOd65Y55I1PAebMVyAmNG8lBRB2eZpcStGSwY0zp/P/AzkAInDGzx8GHHbR7ZXyk4mFKO99JY9pY+YYTOe0JO94YdUUvWbrQiP+3+V/F8jBPXDxw61KWbeELrRB+R7bKA3FWFjLXvUobyW14WG8/N2yxZA3iZH8ybGKb1bNvaqBEN6IwrVJj1Tyi5Verk8K7jl2CJYHiGGXpPw41D6gyLOwG/VS1N5xoeGukYRGsuJbFNLvUT40Wr3Jetgzq4aS6X5JMqKiDD+mbRC8sjVIM66t8sRdDEBegj/VwktttZwLaxAWmIw3VoTcnKOD4DntMPd76ShMhs1A9RwZJQmiLV0QFq0SSm9WyJZB5axjHD8QdZRgW+VqKWLce+JR6yga/s0MyemZ3B2Gudm/ekojTxuOttRZSTQXQBoBeRpA+Z3YQWbZ4JoFL0fPFbXYqbi9h5OEkcT7gGXdrwcnucyoWpzoA6vV9VpensSVmJHN67ZkO6ryo1nATUdHgdqpDCAEVyNtkMbWI1slnHDXsvVYQO7b78PUC6xd1kwavNutIA5pNl0vqybpkbpnTTNIW3otcQy8xVgNrIvFm5NI0+irp/FnI8msqTKBeYYyyTcHscyRgvbbW2m7KyZefkukIM54fK+6I4M3u8sHUOkDEslkVauL5lYeb/rRr6vLBlhY9Ag5uaWfCvKJ3N3RrNiUftH4xejkoKm6WwoskBku+i82X+iOrpXFK6XxcBYX4GLdIoeybUsjLQiMqrEQ1WTF5C47yKtMP1NJ+gSVhLHtVRaHCkqhXwco5iDaWRgpcsQw7A1YGDvddj0X8YErKcw0TtjuZwe55Olqg/pgwrwJCQZVQfjYSUzHJcZUXq8djiMpd1TrcpqkzxWmhzrI/frr69XxuoJ5J3n+n0nLJOQOkltIlGW8yqG9KAr1Eyuqq04mJmg2SKTRt5hNnaQsPNizQKeRk0Lbu3Urpa2WmCmaxpiwoESGRXO8hvra04N5SrPGDbIP6RQp1QyExpeDnSCmtXTcRAs1GbWCd50jKlnKCsLgODtPCyhFl+j21jiGSCmMTO81NY1q974jwyaTYZhTkZgrA6OQDBAURk5lTbdBZ82s4lrycFMoyBtZern3OcDmgyPJAsPS4oXEd7myAlmGwzjoEySCgWivbYti9pY24j2h7rCcFWkiQryid75C+F0+T1CnLUjrfR008/J9cyd5IRrLFnrAyKYEwpp+2GYOj8T1H/sZ2kP2gifZJWgyJytscV4dLPAaFJRbGyC3Nj0wEa5FrgX2krPExM0JmRo5AH8l9qd7U5fpQqPvcQ0OkFqblquXKdnPpm+vA/50fENhqeqhh65bcXa21RPeKpJ6SH1Ttdi+sazDEyhLwr0aJt/EFU783pJj9qnWlQn58PncC73MSu0NPsqAZiK7BEFH1DpoT0LtTApr5MdxR4Wq5hrbT8SV1/05sRnlWyR2O7kAWqJLGiJgoZpRoX5B/d+snH0MAdmFU8u9nAyDkQ7Rr3L/34y6fChQdkL3P44hkE+zG/guA/1Oob8xP16uHzr/mSFoZC9MxeQ8HFRW7MpdwInmZlS0I7FBMgZt327/F1qO6jIc4U75E7g0Y3oBXlslHLRH0EuvECkVwFHMIVMSDneSir53TanfiXblUsnCD039uPHsfdjjLYSy6l18tb8jxKSjeoimX34gwbZJMXrMWhXRa7+4XHPYwhjTGxXX0Cnm+RdlFl6CQ0ohb7LgjoYohFzwCwO9xSi/l2XoKjnhHSnHMwEOihAXr6N7RNavOp5gXk6KAwxs61mlc0n3fjyNVwC7x2/fZjGuTzrzL6t7F4rsDlw7xG4cxBPAyrO9OJwyqAwr6vNdPoO6LZTb3ghk7SijRibvc0xF6o6nWoaIX8tuCRFNjftPgNFdtWTDff92lEG/xzxlm9FaCXuztTfjOf1l11xHPjygzrhgG1tMkDS28AmyNO9CRnc24DZDa/ZjWnwZmc6gLEdNr9u+tCurnV8c17myvKezDvLaYSpL+0C63DGRAY3kjmeWVYNPVy3ry6Nad40x9ERmjDGuMhZ0g294rccj8ZbL9wwDjqONPk68M+HrtJA/mapFtbU4mlEuxhktDHB95b3VV7y6Rc7+sPL72t3y4/Dh12i53quyZE+CdmyvU6TwFFaG9bNBghkrNFhic4wJMlFmUDCHA3Dev1IUxyfFyBKkUY1NDBQJRKEoLZUygQXIzberOzYslCazZVSB0kNS9jaEWFCCqZWK2SSBLZasvl+IKw95KR8nrzKCo5VfnTwJ7qCT9CaWvAiTIUKA68xCpwFNdn4z+uPcZWRvdSd3JDm8DGJr+1gi2xcxqzzqbRnwY9Y9RRjFmcbixjpYZpaFvjdk9y7XSeskPPCfW+P7R/jij8W+6Y/aA2uduqEE+Nd5Vu/g405/n6g3ps2PGfjxwtN+zecPMWEQrue65y3fUusfTn9ZXek7fvOo+ehfibUiu5PM5vTGkQbP7nZZSalxf9cx6L9JyLqgJ4o14/RRR408CmxwWxK6/v/njJcjZiD+9KUyQ36Kh88idLcTo/rroIu5+fQaFvO9Z0TnSpfLc+o/2ROq31DSnOx/2O+YZupIZm25Ur5D19yamEtnozD4cm1iPPUivMb63KXIX+HXwVdB99AvsT//FLz3zpKTlHdLburAjrRXNXDKW1pyH/aduBUc6t8stKvEu6tur86XmjZNlvTSqUoihuodiS9texs/PQPyDm4h8JQgDF0O5ruKzmXDZ+7CvBLje+3j57MeG0zDZlMrg5/mqU0m8agnkY2vj3IkJj7uM3DytV425v3tx8av2VynYuQqwe4/ZbuxPCJgvwwesjcQyYFWC3YoL9RIYw2Uf38Vb9/5Y22kaE7Ou+VMSwq4W47Te9YqPQvTKxQXN7qAYqDPp/wnsRajScwvQ7WPvMqnxpMkOTyGJ7aodXy2sdxhmpG5k/JIm/lrT/tP1x27tmKv9wFeEMjwBsklsszEPaDn48LayaisQqx/Qg90Eu45G/FnQ8OPMeKqA4jYzb+vg325U0Slr8dJ6Ta4Qx5eRefAYlwlW1Ipt5QtwP9t4uC+YyZO4bwAuqO45EZPiuy29BYshVJV5V1cSigTorB0kAXDHFbOp9hmoEt6/gLIdskQuydl9jHkGc0zsZLodGTPH/0vCn8bOMdh/IgsSL5+9bdWlT7sguywr4FOZ6fk8wm/ykvM3b1PePg4PvGrqvDSuqeWNspvGPkfUfnpVW/hJHoZsjkMQYtIWmhRhMkhSJOokb3/9u97vQNc7z7ptl72t3ru3BDn+i+ofdduNrPIfq9ZA7H09TkF/Ca/F5i7RIvX74lyIPZi6+p2/ZXvGz/wgo7IHRaMTiyDUXXlsU5FFAXxWzB0UgeZEsLqg2vkpEXw4OHhDrPvMw2gXxO7WpcCY6fEvi7z1t9J9Hv+2nBoh/E9w+c+LvpfHbh3SMX826jS+JhNPjBhcLeLe3oktg24rF3n6U+W19y5KuSXv91592cVzDmWARj+uie5q6cdvwPaTy3+MA1IATHeHYS+XO+tNZEZyCtBgwT76xqVgCM1ZSA59lVebj3olZ/JqJh7wsO/sdi1HtjBN6NaeiG13Q3YLoLPf3/SNXWXjUeSOo8DAeSrM3vXy9CVc2gqp5hZ2kDJflNehLZV7Y3VbZu1uRfpuuHhh8zJnoe8E9Ndb5O/y9tmj4369+O1vmxd5l9qstVtyBBBuy9Gn3y39JrC71fE0rWnaUfiyiZ+fmteiDYf/Bfspb5+BMciLz41Hm3eCt4ZChsx38/w1gzGRTWNgk7rpbZqus5XhItvH0xzZLmwl6QTrjMERTJEyfFWixv6mvJWCOW70cvVcAYtcWQ2julK8u9BbnLxZjaNX1/lj5c/nz7Amqh6vypYMrBYFkcS3dxxE22BMJUBHDRDYA3vAuch8UMzdMOjXbPUa1ns+DxZc9hlq6vmdYuljRG4s2W7JSD20ddadPJ/EOGsei1x6YqSv+7r/J2/vnRj7vP971nnFsW/7Ni/wHxP8tPPzaOHn8S7/k4feraFjtv74QoaN7LsYzWXW+faYO9qN29W2yOTwu407loZMphy8PvDrh+OaLuJtwMj5xgeNgL7KmfDWcuav9bG7Wg/e+J0382iHOXAd5wHeANWnTT/HzqPBbJDkjZhUJHnv9nsPZfC5Jtx5N9/tqiphZ2Lfw2ufD7QqHgg4eqJyOWd9jHhj/XHb2oAo4Fj/GfaiMf6Xaf/DLU83pm343NQn7/bmHAPsMx7kTciod78He840mW3tlbykJCmJLDhcxU0nzO/I4gfy9JcO0dWnnDRf7YuMgbp9e/ytiz5c47S0dG3tVGXpy6oaNFOrFCfieZ0ZdduQ/RWndCZgK9/bR8DbTm24btd0LJyifGIsqr8/Mfzq+xS0arptuXX9zx4NiO28degvwhD1SuLB9PubQd96qYUTjFF3CF4rlF+Qb8gdW6V7mOWOtw5ImPrdMtSVIPnH9kHO6X4uEVeeqSoresOXRB6x/+OB68Il3zMlVn9a/ZR/cy9Jo9DMco9rUBwyD2nmtsD0NjmGbYxtD3sm/gh+eHgxMscq+URx6cEAdVhvJ9V+P4k2DkXv+uyJ0nS/MaySeD5f0dbeAfPi71tR8bD+jTDIP6pZw29qrJU1fBxrmGr5e+tkZvTtrES/tCrsKWOymHI1072Yw4r4XSvYvuLwG46IbMPHMPmBzbXEbIDKCLhfzmkUbHjjbQ88K4nTIolzOmBtwrhMDSN4mOe6FXpYye3Wyvc5hIbqUjoFxpcx9GnR8vvSRvd+NG5GrW1LD9WkPYfhO74DcseV/lNbptjD4w0z6BZTtBMMwywBuuSOwDC/aFXNLx5Vc/Ojr90R+ewtnfPOMfLX30ykch2cw+ls1++jKUzYSyez7d/uD+E72V5bncvy1rzt6v/3Su5PhyXsULWdn/3BUynt0OmdgsX063fkN/c3xb7rL4yRNe9pMb4meW8zLnljNn/mm/OJF1GyIZL8yyL+vhevhXbz5++b53Kc6Be/Lo/b3Hmul3Gro+jn38ia51D/gGOC1tHmtxfv7jecLSKO5Oecce3Aq4U7qwtAACX+lLvgI4OVeTncD6S7yxFOg6+DJUbACO/5CMacM7k6/a/4ONV9j+8RvwQfWjwO5Hr8N57wWrHm07kJxLpmXuAzbzkRTIRuTyKpyMMtjRPKarFi+Ar+IJwYBuocESvSxyLHb905Hpqsm48QXfDVqb0t8siufL6mq4KDRcpkPS5f0svhMsVLUS7Q7driaVb0mu2aNR0oZ6VZfg/qq0u/AdwC23vl/fKIXmRrH32mYOSezOg8zWYdL1TVHdpg7S9daRA0yHY17onsa+sbonV7JjkuJpI4mYjlqWGOY48aetDHZfTKLluZuobaDdBcRBqh/DMvCX1xqjS6/YwrHL8ugc/qa32ou/GZ27LI/1Xnd4ltf6l9dSyW0+MlceolIDRWOsalbhTqo/RC1ABz4AuOU1wIEz32fkJpreCEwfFpodSaZ7hHh9U4duY5R03T18gOk0HpYEZprurY7nSsC7GW1tTTxdVMDqzeb+6YKFgyl21DL5HhLDA54sEGQHr/AHJhivhKqHBO8MT53maNtPidom0a+GZJX7/empLNSoV2lsbq3nOavmLNWC6hGpPdrIt4yKUFS/qrzNeJgAenb1uUjL4hGpD0xe/z1rnzdtO6EFUaOmfhuc5E7m1i/hT5VNhV9/Z/kobl/pHimSYfLSJLPNHFUvhdlnID3G5ybwb/im54VWWZh5F/8M/t7VJH3bDgEzUZd0gl5VmOMAgMAqPdJpz5r4awBf80vhiUW+RdxbrdHXzrbdufaavM5hRDAZgUaxHTaQl2vD46/htxTPPdiuwJOxoVxb8ItW0s4E01hA3eAAZsv+mhXpLqJgUzAfD8EsUUhk50QLw7X3vf7I3cfj6zPTb7d8JbKmzrr2pxqX/nNKkutI8FvdzSoyq/UafrnwL3IM8GFf8k4c43v4vdV6LXrK8f7qPTnO7kQwpd5Gir1o4KWiOARwccc8vUe4TuUIXGeonXG8du11Lc7mqGQR9VXNbLC+JMcqk63iz5f8RU55gTYjL0K71zu7Ig2Grkj7Zmsvolhe65u9LA2FVmxQvDqRJ4FM8r1hkoAfIvG80ElJnhgKaV+o2W3OtrmOjByrG3iGfQ346/ofsltE0i3O07z95JVNwcAulOuekUPbtU037Ltkkunxkvh8ajaDFevgBh4S03v+QAvQ5kWAs7e+Ww/w1y7ZF3ITjW/4pxeEDsdBpmekWQ+M5uue4cPPsy1IfGzVYZrzekjw/JiIM8BZOjlSF/IPPm8z01cyVZBj3bNnFX9Z8Qxw1jawnWyuoLGgFg3RAj0rGerhqnJwBcg6UGUp3Y1z56iz9qBtHIyVRsYFXcqZOu3AC1pzUr8Kr2+xYTkCA6KaVVksVJhLeBlDO87KZF1KFj7ia0kijFN37PZnNddSeSJVuLyR76jAMPIg5fhJzuSddasO2DwJKK/yJvCUgrkZRQ9iqD2ebBTy3+Qm/IWCz/gpHtgV6/Cz3HbRAFxvRB3wXFt9iQM2jDBzodGdmqaDuQ9PZA3OXM9vwSe2XHbNzk7mPJvIH8LnLbySaY3F8pYzL+3s2JiDT7+fkbHSnb2EJz/pTi/rvlrZflk9PjO1rfidaBZ6Iu9ceYZG/rLz950fmXM9ZY/+Nff6i7K9rcyUu/0lf9b9N9q0yr/63lrHk7nrudtom+7Dk4HS9c1KcBM/l7ph7WHhDLv25hAt/xtRAQGZTGYna60g2K0XgmOw8MWo9MCTA0UVI0RoMFqufjn+rk189JxxMha09HrfbSVfOTi+8R9lKDQKPbiTfKX1HU5Nqw7Pi02eM4qP2t+RQic0joIc+TLgXCkBnCusFMab0OAY5OB485XWd9k1bl0jL7j7vEa8YHtXCtmlcazZL4WGhPkaB3RC+o5dPH9eszsQsPZ532ltvnJwZyEjvGE/PIAYVTiieJZyiCGgIeRoFJqFhKqbF1OEiGG5NdrAUo1x2GSzFFlXz8dUGwsPu4Bvfnl4hgDWD4O1//vaXPUtFHwNvGlJAXoU5FB31+mOpZdfauVV7SAhrg3zLM/7i/OLrDVx8wB67NHO5+srK6UZbbDc7vHwzXvLegdfMJvPtb/aQrW3wUlUN5mUKMEaDZTj4USSqVIlmbmCfNxgJB/bg8EYNOXYWcOw7snR048N8bhwx05rnwwPB8fOPDaCDf7RM6Mw/8+Fd95OH4OcbQ4xhNNGX3/LlaIokD7iNQgLeQp5m0e4+FU3rbu+rixBSzg/2faXbe8VZrfEM1Nb8rJ33I0Volscp9e9Sofzt6yqr574++rYlmurorIwmqjF15YyJfidDfZiz44z9KiBOKSX0Ud6jZfQgQOfWCOvTKwKmD2jXGvrcCPZiEcVs3jYMZSryF/8PLPDQBrW80kd7dKlmqz/dYW3odFqxy9WtqBxHO3e4Ss+y4joiIN6JX20V38R6Tet1uyzqo53XU0RETyW5mgRwTSCZRqbakvoItwoxrbDs+N5ZoexeUTPJUT9snl48Tq5FqPPfq6yY5elN32t2Dt/8fAB90Fzy/Php/2xCwX3gUuH5vdaDXIdVU2Bt/Pa+WBDI6pOL/9/37D222NnlcoeuWfr1YdHtE+OnnmkdHZGFho+4t166y7Mz8wA8zffAO/IXr95HxZ0YOHWW/+lFARBG1pqzvqqGcL6+sXNdL5rnKBX9BFZXTp83SblJ8fzuBV+wDfXJATJwDU3yDUK6P6CTP/vJJoFRu/sizm5XMc+THA74UnJ0eaj6D94iauGLPTFqY9Tet/cwy68XYEqEBbQx97fLc61TmEFAUVDndxIpGelelI3jJHF2epDgQFbA2Q9dSRj+sAa47Z6DpV+kVOrWBjUt8cnj0ympdXfYDEiYSaDEWTSIiwWrT1IRzcskvY4E8vnNDSwOVgcm5f/guHztjbLlMnZZOWhD05+UDyk3U/bn1V9qbBP4QGlv25HsW1D/o+wkMlrXGCzIsNMg6a3kebiYBBauXbp3HR2xpKjpe4/gBb/D8OFW1czT+dZ+jFi5SCKY+VgyKpYvcoPEfptvbVENZkjco5jlLwxpNwpmYeLmqhMNrGu2sLcVgdbf/n1DaMvNkE2olvwq/iTmf8Cz9NRqPIV+e5hgYEfhba0FNLKwe3Okv4mhqgAoQ41NFsLRq/NXAX460sFlGtpyiOfdAbuj44E7n+y40hm+kxHbeNPUezc5llIS2ZePmDgKWuhfF5DYAdvnRvBzX6zrCSXmRXOLP7bsuph9WNcvzm8cf1lZYlTtpDUtLoxJ11wNrp0Yb/aP6BWyaMvSIhQoxhLbBJicwVR0lRhFCJE+Yy9J380UIyyrUTqYZ6s1srgoK1WFJtgryFrmAFzXrqqbB+4ojad7tSyD/qHVlFQfrryhhfm98Ng1rDY/KbjhbX2wifY3OWOtLLF89+fN1A6k58lU46rpz5suCbKqFJfMpq8601+mqx79+2tMeSlwmh8PW17Ztvbm3vfLHn4i8cJzhTpEafz2w+qe3FeIu6JOs80fDzoP0D3ZeJU1HYG8/HLnxtcJaco/UZlHMb7mFtLa9lp+oBJ2QVj+yN5GyO/YJGNzzzIDy186PW/Eo+JnVu40Ly/2TMkbIrTmU3dQyJP/o4cukp1VeXDLTl9U1iV9xTLPNsuhrrrYGkEaCxD4RS51IygIGSZe54daOjIsYCnqw5ChjBMoam2RlTX6ID4T9SIpKlKixFXqRppdSo5HMswE9F9Bb9cKWAjHcYGBteLJsjrX8hkEiMB5eFaU3RZbjnd99fxw7ueUUYaCKp6JIyvgTEbApUGMp6VbpxabLdeofaGFkSSvRYRLhZoOQnzfbEn/qKodw/lThTWQb+dmDoptACeJaq/B3cpEC2fdIP4dd1+voHRSmC3QibEMAlkl8idICg7ptmZ5FGxCX8Agd36t5vOR05Bco+9/mePy3VLnP5m98wZkaP1HLdnmL7saKde6xw5yjIHL7tbT2jpQImfwyS3VbA5wTqBrnJQRoJGuSZPI4tib2J7IHsVtmXL+nOXv47pivK9bGu+p4B6P+Pqd1dHGpFHcLjzSEM+eI1Zs/PVR7KJ7atVEXKczvGUHkVu1ftq7OULcv4OgOuQDVeFC/pjcoRvLI1Mrq2G4bWkMLcFj1/Fb65i3BHMbaauX/DcNMsTycdwJj9qyYvyoo+bA40vF6o/j8ibFrzWzSgJEm8pZhZEHw8hh0Qf7114UyHKrfzdpoGdApkbuCzq3UN/kx8493bf1AmhBggcZ3r6MOfdsYL9pu0cTCLAVxNtBE5rxVc8vjtI4PlmSUXs7q2r89VSaF6Eci8xe0EaDF+S5ixZdR5Z8S6CdxFs01tFo2yS7fO7ArFztsxpK5vk+AK+v1nZjKWTFRsfuK7OBPiHpkR2UMPrW2Y+0tel17wDVhLTwX8HZkzsYMmp2VPJTX/NctbPkXic3oQlauNdiiqtM9VPG7YoYWQmGk2mI2rdjwczHQb5IbGR0+g1EYhoSlH9rurqqdrEMxycz0xqqiEXzX5aWd1Irqg4AWzmhRTIxqryTvTHDh76eBh4uvT/n2/PPfzBC6XrWrmBAn4dlF7NN9L3Z7z2t36XSGPfKkv+lEzTDf5ysj4gzXldTl0XsXJIEPO42HBK3bgkkZYzAnSbgjhvKxtBQa4aTCOsOClj6bUTEnfV307KKycEfX7PbWLWzijOfLV5BDePv6lSePwGo9evqJJ7fEaD15dWmr2ydvo/oCAbjI6t3bsHOrQlS5108mlPtKldjxcdL3/1/5ank3TUH2Ou3kxQ9pHurq2kjjvsqT3CD6cFewUfTU3fZnc2t2e8nb241Z+FF/ehNc7aIx6RB3lE6+xDry/L6/7LHz+IxF9SJMQn+yfGx+sndo5rCgJTuyd3BwoE+ZLZe9p7M5Jy0qWyJC2ZNtSYjBtPX1DG2DtL2QXFh97vBLM7XG7Pp/pJyuTz+FV84ax60YrFJWkUNpS5r5CVLh82ZO7PwlBUCJiaWrD2OeAdjXJHievxk9zJwjk4+722ZRL/AL+ajBuKS3DeJOjQjS4w63RBGLA/kvITS5iaKu0A4da7bn85xol+9obd7nFaublP2ndi31zvciJl171tX1TgpuqfEn7Xl69rC+7Rz7xxpueFtac84D64vxDO9I4PxjOK/5I7tK6zbP7diRB7dpCtUg+xObOhJwxhkJjfcOJ3UMs9GOweebSrJv/xbr1aLN+84Y3RxZNbwYs1A73r7F1rE2PfvIPHf8idz8371ZoAIfd8MajfdqaCm4uQdxLJYQmrOdbPtXEH62X2VNYhKq8WzyFJiCSBgIONZ5WgQdsGN1mGcdSIph0H4VEg1dUPQZUkJpdewwDPFC5U41VuIlseYGA7uAJmbICpMYzxubtMWBfuaCB4nJBdbc3V6K+d0M/c6d+80M7j24ZRLS1CCG08Ot88jJHLT3aOdQhbhvypqvrjjLLSzJ+qq34qGesnMXVxlESSQJ10Eotp9sVikLDM82LQWxwI9m9I99vq7Xdbv897ryPdFkc3tkn3YstZ9yurXwfTqyp/fzgLTimhbfhFQlDYsbSWMBUfFQqYPQN8jX6Qz5iyo1vRi22+Y7jg1uz8yJw0D1kt4SDrGsiQOVjpn6Erc5BVUi6qDk6DUMqrS7K2Uga+Orvy1Q4iZtlVDmG/WP5M/ifJbMkP8ZWve5LdybJNT8SDW7ZYb+U/w1HrAsJ+LoPp6X8YaHo4I64ZRMhuuc9tCfdqLQcZ0T8AGESjXjcxDpqr0wlWg13i2H+m68fiPbolUbc61OuyEhzWz4zXpdzrf0cdc504X1461TLIyvSFreNPV531KUudr7agfo5NqaK6fwUfeiVqVoJUTX4HvbWr9dVmNiSSRowH09j4AaIaDTB9duoXtdj52IXYxdilWGOkqR+d5n9sktoA8nvk9ZDfq/o2InwYbAdGAM3gndo4XQ/cklcG7nXn/fu1xu3yK02UUvsSEmrUOLUj90c9atrnbVJi4JaMD9yr+LiVWqOzBnqPlwdu4Thw75BvQ+srx3doKxOTtNPnpWk0O35NDTiIBulT3NGvTFGJLiypOk60vSXXAoatWF9phO6VfmccMeeHtxcAIZzZcTQxuDNe238LWr7hwZa9fcZw6GMzyOYXW4l+YEtSs/OKuGbEnphfSN7P/o4Wt2zaGnxjNKhG/GDShcnLr2Z4Vzy0cBg0nDfFoQXXtgJQzhgGtFkMFBrDq0LdhH1MqEMhEhZWnk/j4F9LFH2A+m7WiHeHW+YyP/FSGKz3tjCOrYV49ZSp7VX+BobB64A5xv6SRi66aE5xt4sYRUkC8Gu/q3FT6vdfCnrUxVFGJhJKOxJX5Q2vMyvxMUjTd/NTUi3X40Yfbr13qeFE3Lp3xs2NL5YaxO2Ae+9twsGWIPn9BJwV9FhbTZvWeIDJQnEORrOlHXfybGkLKJUlbTg+IfHFBDStfLqGHQKlQlAqS1pjwgKG6W3lfnsz92ji7mK4oCypSyINSP54pb3SuhqLgfBB2LRTAHULTzWDorKkC+MXgEJz8V+BxSDMXGK/cotBprn7FkgTPnfJ+By1eLqUuQiAv7n3e+KKGtlW+9OLAdSgnmlksKC5HrQXJC5V1hN3Zn4cSBQDkmZksJ31jn1PrHu7TxnQZHPj8Tk1aVIy33gFnQUWu67Ni4cTWnX3idQxGIkeSihLW7/YAL+Uj1n769iTIQM1m/gUFoqXZgsjDVtsObDba+5cFEF7Kb47VEYgzqo1R1zSyN0agEOnkr8z+oxCzG4zZ98MGE1DTc/0ze2Df+Ha73fWCV3ssO82nyyUpe0DdkgQqG6L/avFIXzSY0CWGBdjkG8fk5kEgIulmcAHTLfFVSzv/GH92OqZYySrG4Pp8g5F8OiXKK1L6kXLVNQddcV8QHtOPynE6Gfo+lf/j715RZ5ej3f1H6xodaV5UvFbE5fsCaB4jLSHngotu0ttv8SxlJeWOx1f9T+ikfUT/SK3Na2jwfrgWd2/TJcSffLuITdxP2PDvfNprWNuCYCOhlcN0PlGovLYU/lTkRXdwsMukgDaFrMTegyGp2n86RTZvtSTD3urfwFxwkxFXxpF59ETKjntY+cQH2V6Ik2XrpzTwq8MbWWGgW1D7myGC3qMknQKFHwBrX526jpN4wPiY7OjNdyMOjAB3tgHvTY0x0tY6vGvLQgH+rM17PMuYxmg6/v/lWJhB8ZHjO5GHd2P67cVAvzHfVA8N6M5TIB0Odnb5Mbru9ZwSImXALzM4FS9/a7cMUfJUUMY6rycemRGjHP9V/afHPkgYrPZVtHYfnOZvRknWcEE6RuIz8axr+lQ+jfNjZK21JYJgmfQvzgo6pw+QmIs/L2vElUBjItmquAhTX9MKbBtvNAlc6r48dNW3yngDuh/MGJu0b62eCrGI3XVl7dSM6Rym3IxPNO6ieMrM04/h+TH6Q83S5Yj1ukN1sQWBlqQD73m8akMrOWEs6cJ9CeHdzd4GWkPItkHXcyjf/sjrQboB1Oao8vx/WdflrWc2Cv6bbcWq09rdWuxDLcgZC7DnzKwliN+b8Bajgw3V3jNUBlYy2vzvQFCOHuuO9bkZaQ9+hv6oMTyvr11DHoytIP6z+7LKvPNElqRsulnZGqDfT159Oo4OhutC935i343R1m4/AL/eYKxwx6ac1bBUi69lN56T9Ji5XvcTFXoaZ+8hdYZNpPE6gzP/XEKhKb6XbR72nZlFiKeMJLvZweMbx1L2ud+HkPx07MX0wsIqI/x0Lv19OXkKT+bCl0s2mTD5KKnRSnb5YjKFCu2nKhOsbnYR6LV/z9b0gP4R3sPidFppSe7Jpsr93iGiHncz0hUXDvJLaIFizmXbeuZHeqJTOIDUIBR/3jY49O5FbwGTDOS7yX1CqQkTUG3FvgTU4pr6UM2xKlIIJ15VsvK7NmjjvK6WBufn8vjJCANBnYYCjXt3imjGFLE2F0JeWwJxl1PX56VvccOtniFOe0LtiSkQrbEfNsPlzqPKi4ikC2gdDaP+xBeW9/bDrsUCT4m7wL02H3GlCXAu2yJRfH6StZIhwSNUmks9Qq2JO3MpVGYhfwlau6IpYDJeBCe0OqcNc/evlVmQBhosks/kkEpBREOQs1aihgwfnbsfuZ5rj7JgwGvYWuLIcXfU+5GcVkE0D9BFOPu8WqS2BIMx0b1AZ5B2/tLLRsjRNrGwWsln0ImQAI54qq11G8HVj5o+hKZHWg26XqrVhsIYLjr4oFw4Go9ai3X9RyzoAeckv37m0PHEbdvlEJfJcwUih4qq5uBK7davcqNdPgswu6eiGwExEhHZAnwEabONUQpmXI4SJM0P3zUkQKZ0dCHSA3i0lLPCEWRb3DtA0gBepRaSvrklSr8f/BBf9dd/f5NdwzG9D864lIYuQncszLGJYmAEccUMQX9BeHC5RnbRMKu7W6LX13lVlYKcRarvW6pQByTb12qhTCMT27XTSEsgbb+nr4ZlEckxH6aZRso9KOvtBE2W++cZKmhxyAJS0VYNkGTESHnPQ9zlE/sNo/WelJZjGrCHnKbrERMJGYpKvjmxmUBxSLV84zY2EAU0exoxC5ivI4jIcXdrFMFV/bSgaUQfm1DJtU+CrEChaggaLBJjrRVN5JmE2EN/ar0CoHbrOlsGgkRVC+tI19UOVcXXn3BXQsEGJmyHeyu3VDjOPYeosAPow2gAuwg9f6+nFvJdkxO+1po1ewiex7WblaXY0HgKIIxBHsvFuLJZkNIDeQILVyQozrUTB6j605XZUHZJZcbOWrWKIfkMqMwfA1UBlkuYpsObnAqjm0SA8PwCpOSGjq1YJkM5jB1z5whD2Cc6O/TInDq/tM+MkZAIiZIMsIYnZqSADhTH//x8mHme3JpNIjb8WRSXJ0YodXWg9WZ0Tm3D14GSliw842+P/JTSnEAICx2DvxM7LcDWwlKgea7G6ikPq9Uw6/Ypos7j0SsMj0SUKoSgXa63BJ46wq+/QLcWKvLIRFcijlA4m9e9vl7Ov6+VDJPIngFkgU1XIrhOzmhQ2etTZ4lxByS5ftkcbDe9TMHkvWmPWmFIURdNMkt+SHhvCHiNy3UPOOx0ZtybGYWC0+Z8eLfTIjte4URVsXIGFIjKhdJZYSAKlDpfh9nrhFrdc1k6HHCRmpdSLcMD1nNVADIrMl3RW9QEQ80BUzbx2J3dovZe6OXmkzlFK4xGg9QqN2h0YEEGnWgQkPlnsop3KRpNhxSLePTsyhjJh2ROwiVcBBxuw1961yvhywOHooEtFnK9ukVu48bvHODAVevAYQhfJYGUWvFABryO13Jc/lrGtLQzMxsjTkqCYAxPh46iPsmXF6uCj0TjIqiWIpkpODuF/zKsO5htMZBQwpxkhBhbHkCf6aXWaAXhzGGRmtln+eyKeuOmlqqX9QOjNiiRwVPZ7l8INRqDSJlFZLjf6t7IuHqG6Ae3XUzGRfn44vH+jXINfBYC09qNqsPUlrKQ9i+UsvLj2KSjMdMqJLGZCB5IpNOmG+sbRDMojxDQsN/W8yfsxKFhSwePRHFL2dpUPIrIhFiNkyS7dtfMctOX63C2+l5obGD6JmfuCmnKnOWVfx/WyzB35N23trzzMqVaxpHp7PztEf/CZh7ixdLdC8pey0AndAcdLsNc3jW0htR3i/bXbPvfOXbHsM/wKQ12dfgGlWYL8OyQXD8t3l8xcZ0kI2iotqRVl5/p0KAwEFSamEuPBYB9y1M9Ioc0kYY2iwAy82+OTpg8JYTijfzKzQ91dQq5XUkSrhFIfY+pY6cO2czhjEc+qtzJZNu8QFhTwSsLzaE4HowQ/wuNktTbivFsEUZVOx/drPYvVDJhQhD1+PFPabLt19tJd7Tn9oy4GHzyWsPNxga4dyBA91yL6Qum+5IcVZNxx1zrsutxT7sihmK3MCfWe2KNwlb3NRxh7nbN3AOse7TNgBnBkE4NTdyc/VoOe9B55Qeg7LOR5DntjgejVqkQ/kwXG2poV4iN9CUMQwCJBVkrTs8ankyYQnAyX0VQjcvF7yfmLDPq0qM+djSrBDa4AKLhWsjaYX8TtIohggb+vqb6p2S5yb4AWkAQDzyIdc5pfqdXD5Nm9puKjg0s4smxT6DXcjEtl/WCP74HKcs0SbcToW3NDiNrDrPtdfNICOT+qiBKfAsthSJ6AazZLvpjTQDoXEOBiH8uGZ8u569Nmq3Wkp7lN5mRscu7a0ei7cKWZwxVY0HgUUK2Alowy2zMXUtabowme41A0ho0E98v93p5mtACic8RGqAi7nO2REXNq0NteWNTW8J82JIzxJNlREIS8uxmj30vCFxCWWpYR67RD2jIsB7tHtWaVJaM4/hbaAMvsFf0AbgAGdfghfWhmCbNvTS7WpDF6Adhmq+3tCG9mTyDJUuZGMQRUeON8JBd1sNrFXcLtIiZIeqFwmQy+3+VHdZcyIQK8C2dtsr1Gpng0gkxsv1kWW3pC/ixsiPxpTgOFK7P0cripwGMWRn2/Ijx/hp/JUvVKtTeYjK/S5sGsT7boPRWUnF1QI7aPRJF3H+xKe1Ehb1/JWwlTZO/rvCjgbg0l8qlLW5r5hixZe5eC0u8/2MNzIn2dfkFVGUpvoD4trsfMETBY2K7iIqA8F6XSZxxrHD/OFi9HAGuC+h6+EC4JMd3QjsFaeR3utuM70xuIbc6Ufygh/i+NJX/l34ISdOg1Ej2+PIs4TLykBw/Ai7xB32z0Ply8qX1V/074J6bL9mYjeekWD9SCanH+JMOhYUF/L1WJVIyvyt2k0K+3cxwDq/ugkL7OTyVKCzmkqHePAS8HNBqhnc+aDPOV14n4w5voshO+cVOMlwMeFF2u2u4X0jPf7qdyQHl/g6ScD/9d23rLsJd9bQD93Y4YNC+fXKffq1c3F036GwgeGks1L2jqGKFaZHCzL95T+L5Mka3U2w8/uKi+ZfpqCbLH5es6YsQu//C8TQMK8g3vA49E1WYn1JJvgwocS14bL7k29BIfbIedlrm7CEJC8w5lc05D2XpyJ1GoOG12WPhB6ocydFqyfmgkV3ahEAW3U66bMuxAOeLNLHb9utgd/hwIvbnHTuctZJiOsur8+6KteYKmubrvVLw4aeWS463FFs1cGEPbvj8gZKw84J7x70CFzxpexmtHx44b/HtkxepLR8y+JD/7De6vWEflbd3Zi7D7+wVG01wUJI2reGtyMbm2LDlDAYgbugKJkgn1wX7EnnW3mpfqx9jOW1vIpd+VRQVVlWhTgc+2OW/asZBVQDDP7CbfatM/lb2Q4CzMUalIkU+g3qCJ+B5aO3bccGrHhX0+GmK/H1+JuB44N9xJ3BH4cGaLeHvhg+jz42YhOHrIdYz2VsYbwevZ94NzbA+os/sApVprHPCaoFJwTdq1F1DD+Fs5xzbw2i3cu9KHYjzlTKEh8Tf1xnN3YjT+Ut4K3nZUoOS05L2tYv4Tfmi6krMr7aKNHXC3s3oeVFWRdl/Uqk2NzO3qAicF6a85CqJbcn90bV/7fObfO6dm4bEb/Z9uP23ry/qd3ckRV+qf59pyF2bpekNdtf3h2XO+SVhT/unt9TVtYVXSVRVqPqmTt+KTkp6d47n4zioWJVsbO4o3i0+J+gNEgKugdeB54p0ZU8LN1WOlr6pzKozFuOKteX95RfL3/KFqQcUguxQYaQ2A85A3kX8icoB/X9wUJj0GPQy9D70D9XWCuCFUsVL1T8tbJcebKqCP7PNEtVd9V77bAnZtnFV8RyscccjJ+oXZ8OenYhabMQDLnhtz5DM+LGZU1ERcc2USImtY/fwVG5+PJHjAEPMcbQYSfCGDAkEm2t1cvHo0yzfrudkJKWdcKEjJq94pb69OtNlilfiSaiomObKBGTWnd+i7v37Ew68/zr3sSo0WM3seSYyVOxJgKxuPjxR0srnYygwUqIERbJUqKhtVxuHz/VOu1wWLUWg6acMSWtZCOkmDhn7rxRxZFIBtMbU/xJZz5Y+NR6avbo2btv1XU20sH21dJgM10oUbGN8VizZs9TP5bWgGsh1QM7IAABAgBciWFKOWCk8u0EaBEpEZYCDhtACCI9XFt2FNWeJB+Co7tPNxlPHae6lT9WB0++Wq4PWwCg10u/D/n9zVp2e8rQ3HE/kJGpEtsMcJ3fiS7Hq3MDY6Mk4YebQFrSq2sZpvNpR1m3nz8Lw0BuXZRjE+8Oftp/F/7nKfFAmfpn0b9wS3zZAEwSomIh+gLC4CuYG3wIrh3qho9T0VzeHeKULu23f8ZtZzMyf/4gUu9RwpELHXLy5AkqbCzrTR+nnc4ro/ugcZH2HBmcZeSJn+HK9XivXq3ROUQ+VNmoFVbCSSiv2WIhN2r0qURRPWYH/lenJw63R46tR2JobFdsq638QrN5xlT9/VqgB6f3rsyX2LiwI9+p6+UOQ3EzCJPSzLFwOL/E7EVZUKHiAywYyBTylZyJZlqDjpyeGVKjxOzYvzHRPZ5QSFGuOcxeWWd1i8hrqktJdPL5l5j0et3K7ojB2ett8lRpc2SiumoZcNwvUtrEaB165jkwJEUTI9a4FQSxarGRKJkr1PyUSac7aVF4712xoRzZ0myebCUelHGFMBGhjYRCpcVqPSOCylFxwCXs8hxUWZpoohXQFI8WtTZF/2kaJzSbFOZluEd65j815XSVtiBesFQ9W/oqostqakAu3zIpcJAqPmAF4ZAPaJFFvB+IU36j0uLxd+v0YY5B8ntbtSVQSft1TicdqbTfsoAF0aOtIxqHiOA3uhKnqmbxg2y3o9VsJBSU540jq3MFNOj2kZ/l5dWcE+8wzO1sQoStGx/6fIk1Xu+YvPXXyCM+jH33VGZLkGcASGBUZzAg8O6iV6g4aCz4DX5XrL5qJXUNeCM1axX13erEz3fsZrDgnBXREg1rNO7tRapNZeOs2B0v9tAfplHODAE03l+vEUInlbTBR5KnXZKM91iML8PpPhZhh22MWDzOmSGExnQ8n8t3KTCkjUWnjcShowsYxpiyw5gJe0do33NYLJmxf1M56r2CoazxVPpFgVQmWklnUzlTqatxwSSXzlkP3eVpkaZ8QmZzOP7OQHolbhbQl9UPMkgyOfi2dxJWMe+FFa1d92kg6WkUJajs+LsvM+hqpawKQTAoZLKpaMJ5atTtiixrcz12FQNXCoLe/WJZD7g3GkmUTAENehHWu6HEAV0Hw+TYzePyB6dwHTf9rNcLXs6svP+MafVUehRQ8EVeOYAdXJi4bO5tb1WvOTixMKeuA9dS+q396szoWfnhomON6fQ1ZOFaCniyBDeq8RPrSk7o1gS93Ec16gLXEHK8AVybvvuGweh1niIuM5NkHYx/VYxubg5LiomdsFsa+4ueUvMmcYqUKmN+XiUWdFCn8qReS4RI8Nj/lRF7v7PAjRqZsZwzsoTrprWHiZGhQqPij0y+TqCRfB+dAFikvHR40MmxziEmijuugrHtJbfzFJUlJUAAgc1E6VTh5YOxV+DBH+Zv3NeAQR/J94PdT6L91lvVC0zm7lsHGxUotrU2epmlzYsMLD08EQM+a4zPLLt65gjByOeFUiydzBUYwz4QhAAwjhBJrb+8PwrdcyyN6KQPXtWCzHo0LV2vIoF9+4XkctaRHeV8DDBI8D+S2hSo11ewtNcuXL/WJxOn43KdjQM5SijQ/9z7vMFqdybWDpGDjeGBCYPIDdNGBL5qBnShN2yUxdjTxxUJRObpY9D3zkpZwGsvdzivn+Nd7O+/OmwBgPjIbYr3hwvFgjFfgxAKf1sdQZc3+aCeaXkMFHYV5BwjVQPXNaPn9j4+TlkU0vpMCuzGLj/9qqTyUvV5YUExH8URGnT4HP5JrQomHHWQyd6m2s7B6MmqWVqub5/loq/GZGbEmNsUoKVN47QMSbksY5Jjpm4stkBQ86YMYrbjs0a4zOWB0fe8rI1RkSW4KxYJydJYIZBp7zqLlckS3Yqxyht7qEJmTiU7DS94wZAkhF9bspURNJkG3Mb5SsAqJ6suODCE3mnpCdtUa+yAOd1n9LhMhZqnGzxcaram5FfuFPUq6AEKtVUhSzTX3D9i1ar7qU52MxiSMI5k9fIuNTOiF4OB90F0f0n5cj2yWtM8NqvRSNW4Jp30eSg7AjTdvE2ylvmnW8PSWmd2tcU4PChN2wkjmHJh+T2h+LSyRtfzGYMuuezIkldsyR0dHZ/nTBWbKnZQU4rgg+PQrEUgV7MqCsk1ZCx2WStvz2JY0YRHLPQFJLw8Y/y/0OBSdlkYdGgiW1b5lekQtq5Dr6/U0kQb9CQMOk1qu4yJZDhnyhOEl1S30yZ9rjF4b0NuZxeCqgwBX8h/VOYHabH2rSWgVl9XWdHMIN1oAEJtzyNyRFk6lahg+Yqu6HROOo1IYqfk0WAyOepOnzG/50S2XreKO9rbPyFqimWsU4FBQ6Z71hnHyQId6+S8ehciJ2wi8bWVGjQ1m3YhEGMhYEga23Ju8GPpeS0fvjJsqZCQ53l3vVCua6+P5ofCqiIiWP6URZ3OzHqPRROOzJnSwSFIUD5GxKg5pg48WXXV5PKbfYAe2KuH28bGkZhXvxeLXZLl6fse2noRXomCIYkH9xbfQJJ4CH5mJFZivSx2Ul15XH1FrxnLxCKxZFGglB61mXVJue5I7NKQ2r5Ejgq3wQV35qAH4uAZZm3dei1L0oDVOl8A6qSje17BhDOXgNCik6+8edRc7apTpeJA0sMTVdmtoiCSub4amfPFfnvF4HbOMdCIisY/jytNECDRc2VcfMyRzxCQK7pKSzTKijkNr8fTvsWDxaHAuh09xNspArgc585kGWvFgfjNRL2OOFrIpk9DbHahOhR5SEsndqZWp/V0HjlucY+no+EEhiVDKBDD2dKRXZYTarDPXCRJBtLH64qe7Ehccw8iMDt9cqZPaxdkCM51rKDZ5HqNQdAs0RdyJw7tCNCzRt/US6XCiWOZZzsdCmIkgw1ii2EFdpJpi9mN5pCFhauu4NBZfCyEkJN1mVZixJqBeYAhaaLM3oS4avMJE6uK69sEAwtCWdcCM8Ik11/WbQzLG/X6eCueJYaLjZHqNh2WpR9slm3Y5jvBF94Jfvo0LIe5RBYtWlttou+8+cerPDCcY+eGijVqEn/EL8v8qOm5N3auO0xivz/wH9ouzplCT9cJYLPuv9pNa0nnr4qkGlGWOnPobIrKd9ZzM46mztaxWTVRuWFYCwNAD/R7NWYHJ6qDfldg5UR9DUgsOBV8Xrto5PzLYzajSpOSLBNWQMhWZIkFTlRDz2bD9bKt9jceCwo+Fum/LVO7OuvJLrjh2LhRKezqlnA0sIedjrrZGFjg9wpK1EHGW+w645ltlhObY6jqEexs0HYrGJIYAxYnP5+BrGaNpeCcjBudX+HoMXdpg4fT4KZVRd+5q9ZzaORC8qKW86wIvcnMkNZkLC7AZZWVqVFkemGbgpm9bQKb1ihVNOEtcedis8UADXl5u1hxERiLQBOJQGmRSi7GdkdnwReOZiN2OC/vnd66YJ1V4IBnBGRG3xrxbFR6lQW88FlSBFaoHEkmlBTS1N372hzLaljseTP9p89Zog0W5A1aaVuMCuSg0uJPNx8bbiAL4VQqGxdaCApkLZ2y3+9o5JZRJd+4E0NNECCdkxDrpiOJ/fDr53XCoH+Rr1qpbhHNfR/9jTqeKwtkMqu7cQ6JekiaCz7T5VhS6WQA7MCaw18NULME5RAcYlwVXND1Hk8DFLjcxF0DzYRgh6oToIYa7rdwkCBV4aeqJZgydmebLeCSfM5/6+a/vqlrfFm0C3eaRr7hb7qQjQCC5LcfvPdgfnnPq2X0PiRY24w2ksYQtrOibP5bdZPRHGCAyPGfz7fwDuIoXnCPZEKt/P2LhOPSG5oPhp2l6MRv2Nuf2jj/Bu9BLnm9ZIPXjlO9/mcfGPw8/D8w1RsM3qz9X0iuYiu2EIkjMplf5kOpRMo8zeKSoae7UIR6ReSqhzqTSHDBWipuMu47tXGmVwfnWTxWX8ikAgjXq0VXeFXi5EIQI1asgMiSFvMr8DvXLegjm6Vhcs3+dvRfqhtkMhW6jmy9WYmu9vsepAUbG+pVQhltZoPmg6RN6ziNuRA1+C0wj8V22VixI+rjQd96R0LJGc16+P4IhWW6p/m93lJN2+NqWnLZCBhQgnfw7lJWdTVvuNQn1hq0KsW/O6nmz+U6pUan0+U0COs1CV4OzjNMcpaydF/IqaTHNyyXommxTCIa8tx3OpJczCrrE4MKdDodkzGzISlERBcnaQyU/JE5CbQSvgKzSUsVCiVQKqssEu3k46jHOY4YZvpOQYukC0Q+6acANkIHHVDpNGDZ7zFE7smIegCJsvnT67ToZHZtAoNiKGLJKJMi4sXzkuTQgZYxmoKjs5VZAhy91pRiOpHYr3llygwmduKRUDCSzOkpQIW8hCC6SFp0c84XPW+ZQOKfKqksZ6RcUHehGCMZ93N2MLaXjEtSNfQ7MocnkmmM4hvEMeyxCKKItLE4mIJZeUnCDk5VFolO9nF7MltCzBrhILGB+D2E1wfTclVw5zqZjpjba/pLZllZljxRqwtuRvAbGTHEmeH7+UpOsnSnCAlDxld0nnZ7HArnNDZ44X8cwY0XYjkiuVz4if53c2/vzTLYSwh3EH7EHt5XeN0OKnKgKNcZfvhGo8lvxl4IP49AGykncs1eohPfUXMyOWIXdkUy05OeFeA0L8nqMfd/NDLd/c7RMQ8E0dPnaz98PbLQCcEvahwJIAsphELMa6CdSBbaz0V1K7rcRQ/hiMimWWK4YeUKAu+aoi9wUMqzXEmpZbPvC3G1IyWuBjlbqF2XfNdXU5ODSginGm5HuhbB0xDTVavRXVlfWi5E5CKAJcm94VnLJbhvztBNq3BFw3HctaI6XrSBSYZ6ZjbtgTXXmxyqhEsXrMLqepHod2B/UmsItBAh2tTNhX2D6o9EIWdyaYe5yxY4pnnN2nM9MAn7qpHCSVxhrpKvk+2ElYj9PF/c4EI0CjDBQ95XDFQT64z9aJGNi9/Mu3gcpjlC8qItkM/+7XBiSxxr3xoihpmW30KmLMAhMR03BbM9mFz3flpucgjvF0ky8GKH6Jym6YNCak10UIviLjrQXaWZTJk7RZZFDUxkkOuuVLeFmmJea1n7JgQUFKIKBd9M6o50t8p1/wZwXBtPvFM08y9yVWFU+/h0vU6sW//Nf+d6CC4GyKbHvEA7GB8CQxSiDQpCMOHSi6buJ9qAT1b7rk6Twhd1iHeiTIigKEWnNbLmonuVVKggavPyV0hCmbyubSs5SdpzbMOK28f+QGYGychnW+musLGo/Q/dMpOD5tfr8vZHfiBK7jI5jl6/8wc2sU11gTGkVNbKfdtQKJHNUzHRnNb6mz/arIeZE/w1K40C06We0bu5o2MTh8VzvHq6WGM4FeYjb7VmzKycVtW01Aq+mWUczlvBq/Qs6FT2SGBf+lsu5aTdbXWZLBbNhSac31duL918fFwcTWwMx5HbqcX0FzOmgYFnIYBIzGFyNdHej0lmr14ASN5nYrHA+V7RkS1o67UuU/AWzQL6l8y9yvEUdrr9C8sm4uFH+qH0y6d4H9a6xtFfD0D73hVToEClyKnAZy6gXzN39ep3Y8DjT8fHiCMdcAtMjzI+pXaxKxj8d6VrvVvrMgFTQEhiQjtu86mit7RAwQ/fsAvrnN8SGK9Epnr/aNhbo4k1TlIz8DKormfSRlI3yQT0ejBY3PDte4iiBxWhrKOCzX3f/rES+9ElH/xmCvBJFaZ+yhOnAgnoPsWpOrP7mCeQjkJvjXy6TgTqcMGzBBqr9JtL70Vd/G571lbQdSiOvHZaK3v6G6iwqEpc1zbS9W4ABBHeZHB0RLUXx7/+5dp+3btLtDKbpz3vmAd0UZCoT2TZN4sIwckLqARG3Zp/cPuHvrcusd+9Rq6LZmAs0zrVrwg6OQGe8ZsE8A7sCyVame7fFj6BEQ1k3yMpdy9HFvr17pS+kN0M/fOaikvrbSKK7s20hNIFUWlRUhQSRSykwyvvslAq4HX41Z4meS+9LEKhmhB4hjN7P6pnZ16hv+9+PEoHZYQV7YKOIYMvRAOXWN3vXbCpOVt0wv6WgyUqoShgMzERZesIHYnm/2gxj1y3uarbIrFNJBe8umTqARrJ+bqBkDDDcUkvTVTjnJVNtxwDfMHYq2iM7mob9EVW/6iVX8kAZJGNiA9O65e03Unz8kSUv8Fr3im7YngS3CCyiD9XztnY5Ko2XMpllllPND6q8WMt4YTPNZo3LFTLKahmtbAiNw+iJPcsc7DsWIOdFol8y9wfJBx1z6oTnBxKDzz3+vDXw5LKSdUAkQ3RgYPqJoXAH7ZwkZiTmaK6v2kNhLarSnJQCTxDlA/cUxkY2s/Y9Z2pWi0NQScBe/msWNAgohosdB6awTtX1bXBNhqQit98U6v8wIQTmDQAjST8LMbWshML0BHyaNp6bCkIKsta31F/4GsL4fJHqt/ortjBv8myIIgNRbhq4VRper2PWt610anVUppChzXbXlnbwWBlSEKgdlQR+sj08nnURx9N7bLd/Ufod/sK8KeykOqyeYGZGz5EmdigAi/K5xXotwpuWriQjdQDbX/2+iRwgaOpkLIsQexiqfS9jfwC8/ZXGxGadeMijvG1aE8xEWaWHOZsCxxrLaSu7QWmiIf6SqZGp+LiQT0k4axMKGLKlqUu40jRumKy8TgqVL2uYiRMNCKUTP/tC0MUknDOXnHiRGxZpzSRK8zDMoOJaGWxYDk0151Z2EED8jCaU9qpI+PKnRwPyyBmYhoWa1pr1Irktgh0DH39AnhRrAxvZBMwHEd5I8MmVsbTvNqHl7TG8a6rluVP5jJGUGIxxJkdSeOZTMcycxvXqUGPgox57498+xuCW7CcnDX33/3zTSQoFqSQyvEpfw4OMTQfNNj18qmGFd2USABGJInO9DmDW7gYJ2bYeUqevdxrS6tcuQVJR8Tm2K+rjTCHs2QwgN76lL6CpzijvkC/sjnoxfV4n9yBqGTGjrj5L66cCgQNHhEd3EU47a6qEar2r9AJkFCHkkBLvKMT2JKw09ETXaCAjiVE8EO+kxYkcirht2aPguALoDKtMvbQe5ssV+gFgIyEAySrOJJ62mC3ex51vDJ94t9bw3m9PEORk7tPUGSTBoPbnzuY/gOU1ngeBb6H/EfCtGiOyP+XtDmVt/zYoy1a8EOlauaMd364qSv7uc6/tRpfccwMniEv0xKTJMv4aZoh3smu/NGHkxSk3P3vPFB/yfzHqHFw7rtTjkLsFnOr252a+tXHhWjtyAITK1kmYzVlZZDlpyR3Bb0Db0UU4PyELfa+/Dv1RAfxoB5W3o/p/8Q9TXyN33Ar/lk1VhB1OvaeTb8gdx7YPvfuDR3AFADYyezi8d317DNTh/6JFtU2cMzOqf7osPmVBw7eDNSwSUD9uxIu7+u65/ubAL1TwXOS2X+/u+mfJFr71wjiXKKlrtjl4AOvAlxwzgL/NVmpdfDxY+vfiIMJZP+5tqBIqF34ij1GzLBbjIA7Ce0JtPMd1oOstu61/uPVX2ER0WGrC2poAcGoWQPkSqI6HjhEOaKt7PUsDTkxcRNUH0cG5VOAvbjCt/pmBAFt9/2rVqjWqU+Znl1Ak6EV1+leTH3txSaTv/I/Va/b2qB5Y+8xZrW360AmEkkEjPKapB5k4FNikTOx1EiBC4aJkUbCI/TqeFlttUoY6ivb5a09JOCwqpV00Ytj9VrE8FGRy4RCkYj9eBZNTUviWPtG7S1vKMPrqaXRKKjr/yhs6u5mtzaYQdVYRTPZV1SKOgnzWyxXGstGQm4bOaLZNOgjjvqcOapWHMvStM4R403qa6870oPDJaIS8rZ8Ei13y8UlD6DOOnB5MupJXNEjEDDRaNt2n9gZ0vl3paemTSV/OJ7OS1JJEBRjsJiOBf2+tyAQQiRZcs+GW8rMqYNMtGMA6KXiYCizcoYMeU5QXUbFQW+TEz2ihgsCQmPdWgeCjGBkbqrup3LO0WuGXn5zjebRzVancplYqrpQzJsmN6dimWwqqrQ2x7g0xGWXtXV02Ek80g+8ogacVIAzSeC46BYM503o/s/wQpVJp60Cm7q+CX1MtkfikZ8fpD/tIIyFD6uwfj2Rd/pQqbzv6jRCqT3iFwuZWHEMqj9z4X8gopf6FLZAHVwBnfBao2O26iwpJ9EJI2ihbF1kQpHsMA/aaGFRGkbxMN696DQqsQF0spHUW7GXKchRWBKjimRlPZIZ+7i6kOlcL421bwkY30jCwSze6tVqQjzOjDKmOxANesTEClA/k1l+WcM9uefKddmZX+PhR2Kb7889+A/JocQRkpjIJbXmOX0nEy1aTf4X87IxC5i6PWkYibhyHAvP2Sh471cJAmaosHhO2OeydckNpbTcrAyvOp3bKg0W+v1ZbSsjp6XtiFBp6TtWt7xMpVggGFtZ8PvDYZ8/OhXz+2OZb6KkIzIzpMOgUvW5x/ONas3gBaZPgiydoHjR49SPPILu8rvJ2RJKvVJe4xSUHN7p4YhDv8w7p1CE7dhYofRWsjxRcDdYIerITG3gcvCHR37FlBB5obFeFFuVzfcs4ojS/XsksQLuUuCYoJqWObFYtdJ0uUel+kcjGBmyKPIQTtoRwpeNdTvMZ5nK7FsSbMAxCEi8vJFSU9W6x4w/B4fH2HWu8pZO5D5NU8SuiHtlghLQIUmcfqeCikrXZNV0VQIvLw1byqB1pkgFdnqILa33rpJwfzVSeYskSwaALxIbH1mCozAcD0aWwia1eiE8hIAnqEBNZJSJEL/mzgWhIugg6npIGneDWSXlruxSwtFysVOq1bJY78WB7vJUn9bOK6wfwxq+JR4c/SCFX+DKXNXhWSUZ1dxWHQ58z/KQp6MPlq/kJCUairxcdfq2nlCLVhX+jmCOzKPK5qiuEBZm0NCMWQfwNUXpeDcL4RA8eMWjuTGHr0JAUHKzL/soqUM3szhf3lYvKDn3JVhOCaeKgr6SXAmFlgPpglAgcfTbxLKLa6gG7ZpwR5c4IJi1wukHQCXJUmU7hXA4Eh7fabnxWhrc44KEUqIkq66W6e772syCVYqmyazsU/EYJfTh+LIHTFBy7E/mlaAMm7GisEWM3rzBiRKzXB7VXmx9M/zlJTadmIIrdXSzYeer0ztKY3zACWhvMxSNJOf6tLlCBG8Ck3pHPXOyRRUKCzjK1sW2X+2I9aPq8UVb6rl5v5Ljk2xjAUCv8T5Mx2JA4nZykgQVPAqeVArHN6fR2ePEtZ5TlKCMWs5jcr1KpiGrdZhhI+zo+fW6HgjY7dhr0CvqmgB4pkWA/9pMQcWuATvJCF2S7bdhsAZlfb9SUhfNlQrRSCqGkgWeZ5gNiYVx1s9DUJ8BORVo4mzXiOo0ONk7D4ehEPAj8qukucog031SLp56i1752Xpd7oNmqoAuh1z58pQCie8+ha1e/TB9AvJRiIO+Vuyj8K014Gb6HAgjIJKLwNsPfX0Y9Zs9d1MFVS0B55ySeTvwBJyGU+V6UVGp+H9nbtV4IaFUDkeSfViBDnXBC7757dsKXbSGsE8ReEa6gSpce05iRSzWtpEFJiR85fQMbRRx3iKY+28OWxY4RYlkRnDEU7NF/Dy02uV08GDyqMla32P086vaw0GvzaAW0JoKu15h5PZoYo2zLb+QT0b8Pg4TZfLHUMFg7cn8eI7t6ALoAj+EY4Y2jABEijtjl8Om/0tuaF2GYdwpjBNdgVeHFxsYHOAyyllVXE/XjfhGjVFtUJJseyvy0eUOu1krE3FZLJyc2VX7+hKXWaHdFMEEnUo1dsfe2MWu3ia2+dxM7pVntQ5LYA3IolzLeHGCimN16fcnt+SB2EKdSrwauJO+2EmKK7Tj/Fpll0kRCFlTQjPMXMWPfRwQ/ENT/ozwPBBLKyxpkuLEUd1Xe6HEBqWdRdoclslBRvcvkyEz19eVymxUUgfY8w2jsjkIfIUhDuEsb+I5BK0+E8pgQLXKeO0UNZ6D+MYh8tKck2V7bDhdWVmjc+vtlAcjiUxBrfR7mhl7y2giPOe+XYGKkkk7tJi4x9hK01AyXTxt5Y5Bv4X+WEsZBo+eshnDd4/pHtwFjzJfsogmiWQinulp0SoUWhkd/ZAz4n+TckwZJW3Bxg4KkF6bpNb4lFFTgVe0gJMqjnPDkOEivZA+hLMGkyKECXEi3JlMs4nAn+7mQbUhokAVdif2hAJ4hBf8u0tEoDESlljRGkVSWsRW4lW+3BqeTUsbQoFAMOCaTAdmrLwqL4ZdE8Zot9+sMG7oq6iaDMvKou9aN0tGQmHfAm2laYuTnQ7/Jx0gtATSZa721ordNjmdZcsWjVLHZi/wkxyGJhiGIGzjP4todm9Ic+xYe+r19g2eyTq+8LkYY9NoBud18UcapYQQ85pfTsyFzeWLtD+TmcH0HE2CGTAcxfhnUrqjsbbk4MJa3swZ4Oll0qL2E3EKNamTKTP9fxYqAZ9ZLJcCYYTaEDBvKmKh5qxqE2laV+AxF0i2DFGciTOJoje9jnSrCcZTiqMyS8TD4XcGYixLy+ea4duoxHYy4H7Q/ClaMAihf6nDvS4Mp3qA10QDRiVTaSum4rEAZ2NS3qiqZiu6sgitK2Y7m0IyOFGsJEzwJb6yMmc3SifP2T8pKuo1xyeCPjcRb5RWe8Ox2FyFf1vZ3tEn1+SGNzoTIQEPSmTkvRa88Xfw8crbE2qYIBIi66k4nMQKvFRLmRTPq46dcqi8IlYTgZL9RjFCaDJmAlaJ0HessXhXozYKLEY6zN8J7lU9/1PRlZlLwBTH8QOw5fGAAXJJVBTwKpiJvdyvXK15HjF0qh60pT6stcTzn6aphK/QiWRSYshfR/x+oP9G9Kgd6PTzF7pbDazWDZijvKkoOZRRodVEwyfEB70hQU1RtICH/Tema4yH1LYeYJyKcyeYLjcYRkFBbRGcgW+CQikwba8+d+6n5xvT6TQ7PIFmkGQc9hUFNRURaYWnQYsEpXSMRgn6HqCAwSF/eIlldKUHxF04IT60OOfuYXj7z3tzN2DgKKhwUBOh/Ef+OoFMWEFOYMo81gO8CHIHc6KMMJD79OQj6r6dnVl9x9Dpo/omxWfkje/MvzhsFQRwSNhBOHokSz9CioOVhCNOyPp/cfd95vsJ9Ndb10jKdM++1za+Ev7fs+fBfWRpJNWPyDvQxqocbLnvQfYzoSW0pc98eGnbhZXPDR2nunylvV3gNTnUExgkLCUwMrBNOq+8Rw6UJiPu7Dr16+euAePXyQWJ+g6mo4J2RdB5AeSp9EmKVkw/VQm96g3okVvVz+mfnlAFLPKTQn+2irZg0vqhVp2b1Z2Jg9yEeDPlDOO/TOkmA6m5lJUq4qr6fCWaDDl88ThkBHKHDzkQT+CTGJ1iyMTTg1sXWLkjVRgKhP89sTaIPV/i8nczWO0AV/uzjmKRKDv24Laf/Humb9zH6gfAHkqwii2rAGG2kz6vafT6GDqWnKILM6sE/YnLz/WvOd+NNc6CTnLeHDcJdJyaLex0eAazkwKJ8yzTF3fYeguPUGoJmzY1Hys7w8NNz7pTuSduXhThheWJDUfikT+Olv5O7d250hPgIznvRkACBA5bmEWcN7eLvEcqv2oiCblsdsQqUCLWjNqgDmOqc3Jp4Np96XoaXSBgdWJ56TsWcjBpTi3ieGtLcUrA/IHc9z5xZ0fZlXdbmJwHnWCOk3REFsPhZ+FgEQMii+oDngLWmcg2hXeirsWUgjuA1WqGVfJVE8l0Js1hZlg4mPJPQlt7cHPYk3JKHic0g1alk+AjuJHsIUr+ePx4M8dmcHTbP9wjh3NWQtUSdSCrE2v0CjShD4ta4w3+Xeta/pA/EnJkPOpkmGoJGZd4sVDq1kOlQRGgTOreB3XTo4eezA2IBRZCkPBALOoUtryYneTIEju6+65mUrHhzGwip1maFokcJEi6wGWRsMNr7KgVNodCLWVqXIMj1REk4hK8cZrr1j1ePRYrVIeKQR0bwVNLznxvnVK3/aC1P3Br4MdLVgGmaejkpQ4QjACAe8GqKyAH+chPxrp7DofCRMcGMpCvsJl5o16v+eRLDeiOcQo6lzm7/b1w5UrtuJn+b6PpZZLHKC2bAq/6RZfZpZKD6veG1sIu55uk/GbhnRHAKDlmooMORIedoHzENCLLN03wKPyy+S27jI8lhaIdCykoYYnRrHF13YwhRzf30oH9+E0hNZZkAWIoxxQdYCZxwnDQDYherHswA5cJ4pEzg+a5SbeXHXnHOpvP5nLyNE+GnKM/OmGoaeyKB9op8iqo0Q05uPIZjVIGS3C0mcDQluXObL24dBS3xtU9a0CVcLXjoAp1qMe/IKvuIS+NUFmmUiXaKxa/5ue2xBdRAGPUKRiTZN6GDTc9N0eBlckgLRjggsURJUo+4HDc/UzXuXjP2jga24o19KyheBd6qEBqTOxW80owN/CKhh9QknLX48J1yecCd05s76NgSqYWfrpmaE3BkL4G1L1tHTIbPf8vaOHCQeSgWYEdMkkOfzZQFliGyqYTccVEOksxrFAmQSXJrjhIJXn+uz+Ziu19FFwnL8TkEpcChSLQ+Ox3aD3Mv4OMN9sIU2phzY7uz1GEPPJZ+9QFJ1iS18fdPv/4KKojtefCUeaWfz+wA68R/4+hTzs5xOM//OIaIgjG/5e7SaHIPPZWAlSgvx8OyawB2Skp85Z11YKbHiB9S6Q9szxkeXZluDp2zQXc9QeU42HjlzX/VlJ2JBU6JpzedwU9OdgN4mmA5/GJW931W221OYwi3Y7CCill0MxYQ2H4vaFNzLHUq1oEysZOLvvD0cokWTbctyZGtJHJGRtkCoYPv56iajEWGUGoZWe2aJS3ZxbzCLFYSJ0ni6bgU9/YfFFQLOAwLvfxmKS0ZxJKR5Ia7jO3UlDF2tx8KhrPCg3g0I+n37017sHAkb3IEpvIwrRsO9IqvlDas+Q0ohzelOuaGtYDKmcDM5cEYn+/i4lMmRHcoxfbQZfPR4QaIYbihcLqUPL22vT2mEJQj/cG4+nsdGH62PvCnHQgEyUYLShtlTS09wlE1uUQjYBCoYQcA9VGMusLsAHzW1cUxtINE6c8j6N4a4AlOdt8IY8M9zENhcEJuihIephzeIgpXZ1RL41vU+o1ouVOGpVMYeCTsZh5idUGHOO5XolC0SJi0zfL3SpMW0jq4WBPhA6U4m9YQF4hYQ5KtIaapve7Yo0TIgkRY7U2JS5CuNPiENH2nqRqew+SrzEGalF1ds5PuLEyU9BJS+xsAByT7dFAfHHWwALK3PvCIgmau4/FksxYyhYpIEc1pZNDztCRRKF0pSO6dGum0b0aWVzGtubNzSD0MYqXge0PHn7BUObpMCF4UbNdzLV0jVzHma/xhDpnhJxXoxrqtHyj9qM1nY5c3VLZ/ZonGi57GTGurSvzPjDchuaDC9G9ubArXNPyNYzf/kWZDoSw9M8QnIQgFSB84YlthOBxc5ZymOVukiEYZQ039Tw/SAA02U4T+5rNzHx3MrUgXAwhUATN/xcr86KNIDpxCluUg6xHqTBwN3x2YFUpNtbwpEQq+eiCcBhad79KMK31hb4ybng5zslJERCMe4/qD9UUvC7azlOZdtTwY3bqYnmcko66P24YqoqiafYyNYAIlg2KiIHtTYcIkyiy1XqrcKSe/PZVwvV+pZ/Mtfp+o9WP2gVnqVhAC4FZh8NTgsa/IADiJNyGdNJ27M3tIIEIjuUD7C9lV3vXevcjnYMdb24ZAwTOsdcg9cEmHQzBDbgiUjVH6K5tK02FUpJr6tbZoTW6iLOD5YmlffY0m73niaXIn5JCQxP85YVy1sJr9AuiPRTIHV5C7HwqA3J+o8a/EYPJpi6lq6ZQOTxgzAVBUlSlsfsPZbkhF8I1PBAM1zUVqRqwGxz7yalnwQ+OmYK9UzHaJwdcZKZCZirmKUVRUUA7z3Y/FTQj4H4rTvM8jZNPMs6Lvu9m00QQphDenULKp5s99/7CYnE+b0bGyUKDh3hyNAE6FBC5/GIr24a+9uSzaMgvALuHrlgzvBasUGE5TSR0GlNH0+nYPGiWyGLQbQpY5V1tb7GoTiCbaJJybkyFw946TVu7DrBrgID/lQFMxCUT/vjMFJJDBgGHeJo0qryYdvTbPGEzRFnTJJHnxWUfCfH5AMbRRlaFy3t+VG3o9WPDWM1377TnhgTXmLmZ9W7U8iB4tcEGoUGN1Qjg7mK286I/U5EWjqYu+IpVCDB9iSZQiSRy/4J+Vaem80e38qbIJBfhwV/7OFeB2C2OJqt3ptfwjEHFLmZxaB2oDvmjVT+OKCuhImLe+0FIghWpYcyhMDNWEnA5TTMyeAQw+7whCPk7RBins1PDIE+E6zM90mUt+nJQqsagKC5R6DmGHdSXcrmCIXcFu8XdWn8O8g0JaCIE3xO8NaQBcsdFbWXDspkul3FMKdbGZ8qe44Xpq27S++9eDHpB6lbc7lEHTtlkF6HbkjubPayn1KSPhdB5Ssb1EbQcphU7IrEkHUspJPgKQScMEJJiviGmtfkEJ1opRqAIWj0jYMRInzbKMIRMTAllxp/iFgOMLal5s9JBNoPw4jhllnqQWzdB+1ovndZZ/EoCYEvCIB06FNrRFU8LejP8+BKk2y3avQI+a/Ds/qVjKLaZ74zEUtTfyfnQoZmHEnLyfDJwpzwmZ697TERDS9rvYWIMB+r6clOt/DhvUiGdLbeXK0MGrWmS25ZIuHASNG6eK8gAkKOCHWLOhAGjmRWtgbLCRC34hbCBYqxGp0WQCDF98o26Tvfib4HngCmGYRo3N9sfUON/FM5TBBYlkRPI0xMTQ/uH35oOw8ZGAMxj9S3VDVQga0MGsbMD0+ASCp8ra1PvIg59b5JlMJCo4LC/MekF+QhCUdxIIL5MSmCcgtcvV7qVKG8Rbb5YQU8Fu9EueffRWJUSQdjkpah53PvjCKUp4EEqsxWEIIolhiBujoYUJ0FAy+oA5yNlu+E5qtukl0E/HpV3H0jMatlt1qkxeYszCYQkTMNa1hq5KsUi1u20/N1YA+7Fx86ZoP2ObIiiw8VgGOuZt2d6xzhUGscf8d3d/tNGMyfWTxZPvwJq0nPmcWZfl4JaClRVAMIEKPc6tqRRSFTrVkbMuLDE1IWsFfrI0n2Hq1DezyHQgnLIRASCYd6MMzCiTgMT6zVwXSM2cg9I/DgFSDYZMNvPp0GnJg5DeRwe/x7twwTeNn3wBfDfNDxPAPfJgZkRHYRnluoiKZilgOnI8TStg23HjI8dOIdIujxwfi6Xh2ftKWNz2tZsqfLQxUlKs8k6pMebWlBrfG6FsobTqEl1agW0eYtvbu3Wteqa2Ql0Sg+futlvhR1KSziETNQo4+LefVZ0Zp3SmsfoKM67d3MvC9iLUuxHCWpQmlOLawg0CuwvU9xCUtKJGEWCXnLoR8NBi8l1ofVmlfdb7icDBxX8+dZDGA14MYJrqcFFVng1E19xAfQEkWQRfpHn0HAvMwFaSlqZlwIBH0A6e94BEiNkxs/Ujv/84+4/cIun++ztMcKSEPV9+HQD+viuHf3pnSiLb6QgKAdu1Dy/+8ISLPetdq5ulFsDZiL2+c2wnpymY7CPm3DDlUMb+RfJPr23kqDdD9Q1id4nR2dj/9q9gp0vO0Te8BF+2A9+wcfvyR7PoX1zDQmn4uxV+eZra5F5feNyHaBYKOLxII4z6pV5XN5piGygMzvthV82MT+uJGbq60ksVWJKI1EP7Wux4ajDP4S7HXp79Nsz48Qr0VioaIkK3pIjvtnUvUO4Mr0pjqQiQy/Eih5aSWBENnCscsYK6zjlnqDwmoFOtQtRRJGQ9f5fu/el1ctlUsxp1s+Nr0Z71QSjqP4nYJHKkkE4PQYWfpXdxy1VAe2wmBqsfPjlZe+gO1LLzIhipHCCM38eC1RgneZJgPN7roGcbAeTZyR7K4eiwNfVhU7SuBh/DtpKS8vksSCPOUz9qYEhs+4MRtMSX2g55PO4p9hVXNxZRS+nI/6UzGAKQQ7zT+jgHdAlHXWpRrWLXJf0dEd7AEVJ3Rt0WrBFG1JKN9bIE1d7iqjKFDociqYqhU4hIW7DqGfF1U9MOY0UXBnuEQG1uAC7XAsPQvte74SzqMYeWVZvAarQLxVb9DQmuNlQp1JqQSqlMQWt0GM6PEiKFdYThpT+bHAiqhxzJNurSo4dcsVcOmtwI9q/FOmd4V7kGmpjUnNioJ5ryFTO87KBoeGTjME+PO9X5UpR1FH42fZ2CU/iQXUl7oU7lppPPtcxo31FtGSi5PpJD4lqqdYkMJ9jQ5myYiEV9nEWWnSG4tioUFVfjPORGzG3KsGsQWfXuY7xQhsgpAKXLrLAC6D4l/dPvttUb+3ELhp5g65PqmyDDbJqp6yaSQIhpwDZk6OMRTe97I+vnfhnMx4aPHU8zIHBPdd5U4rGaDFKoVG8a6LaSC/sVK1EYbzJjZnCQkfYmif8fcsjVCAb5ec7zSKSOMdz+7SQkVWaqtamEih8y+awjBBPlkctSllMTda+ZB7aHOXLG/wqNgHMBb58SlPQewm7XDSUmNBQ8G/JiuiHDyuMLlB+JsfZnP7qCoFWw2JFHyQtGNX5sSwE0+oy9bsaqtfNnnQPW+Dm1UXnYRm8+959jddVPMbTP9WcO+BsnLNaJRyRlusn24ZMWQsbyVAIKYIsGZ0Up1NLoiYyjoCP/SW3gZb5gM45F4c+1WtdLRjGW6koZrmK/fujXa9cZAsKVr4d41cbvQJGMedScMo6u8BMGQxXk92q/37O8iX75x+2yaFUASHKzUlMIuCtcTCJ2UAwSZ3mG8L43k4DGi18pHWT8p4fimWNLEMH0l3wMUH9d9CilvmKIdg+f2jKHPQQ2t5cDlm06wTHeAkoWa/yzGxgQhi+SbguX5C6nuRGkVXbhAKAYU7cg7FRCUbH/l71bTQq3HRv79SmNrz9oSFknt0c9PvrBHHzEBcA9W9kynwkfXNIW5Q5MLLh0bEI0yrVFgbbJ9foRbd72SX9pFVN6s56fuWQvF0O48SQeD8yakvdaxYP1vNYpgHOiJU4S4+hOrG69Jv6dRGY+KqNsCtbYnKyjRyGZNREeWuxg7oydlsz4BkfYJOIXC45UIASAaGDOYZLd0e2+/v3q/blPY95A1GcKwk8L+ubJBzwzKk6P6ExwiDL7pnQLz+Y3jIpGyl3ATcpx3BPVX3sjNOMDe8ttr4ROhiz/QG/N1QenHDWzMaFfX6/z/trxwaS1+EX7+AgWGRjabANuikHcE+1bOKht2N4rOCDSnXlGqDqg3bs+JIBgRGwtg+tU4ar+7vlnmjlnXzkfJ8qG/o8i3lhYECKyXILWe2OovI495B5cPCw8TDj1xewWwkaKHlK1hUrTGc+wt4FvzILhp+ovr8DoX40DBUh7+6d6ZfB8schmQ7Auhw8ySPSEzqMEfQJh5V2K7efygBIFGCRTK8art7OTPbK5wXIQFtav+DnKafJejNAjSNFfWrb6LVxTKPT4O0HlHEiCwtNh6fY45WA9VS2ttpTMGmVGjqmVJ2QpG7gBlbVLtdqiNSRvFSzUeyU6C0N0UQdS1EkznqRFY7AsmI14YW1PLa69Nv/TlWl7Bq3EQXa5hBTHeTw5gpycttiw8cZCuqv9zfVXGmPCsagGrDF/oEoP6bPxN6lFacSgArlVoffYU1B10fP+mMENzE3XK8Fq7zLa24jrYmyVFKBHC1T0pjFW1gUk7JaslhpVExprMVXpBOQBjWl9ZJqtp6ay1FteLNTia4IkoE0he/4CCIw+/w2VUnYXpzwyO3uluxGK2wxx3JSxWjbNCGn/9WE9SqBZdn+7Gcl6+yGg+hxAnwI5VilL2dabQ/WBIKW4HJTJ8auCgSOfzOxITR87lRR548jjhmvORuans5VOixNgxgqUH9bei9j1SoPo2YpN1dIkBXQstbWcw7dXZUGclORGFqtOzPFMLp2iLwE6lCXcDICD1/iQh/lvHHTf4dD0lmJunUbgx6aMgFXmlWjVy2tGWMikSgMRyNP5n+Mer04p45YlymWlgQJgDzT41g0LCjKLsJiixMTaUo9alWqYFR5YV4LRltnj7pPV3d26fWezjbFydp6yai0SOo6O+CIZp3JaDhIU9Q5Ou19bTwQDIZTDJBbG8s7iqapmAqmK1x7POScKqSy0ZW4AXvl5P3FQlI3dI+o6rnclBnmFBKMioMmwLXR1VWjoVTeDjgFN/WRSMpI5w8coQcOfIrpeeyuswZnJk/BgyO/DtknJR/TTrc6MEUEX3zVPupn+LIvJwyuugFhhnlNsC1UwaOYFQkkws6e+0v9GluKMkLA7WYwWVOJ8/bi75VHRuewompBM3k5HO+GhSI9H9K6KrdZqQixpW/IYhm5Ocz5vCih77OJIs6syN12xKbAuxiyKUn9WbiYOkin2aQV6cHzbOfgZc/0i8cWC5CAcyl+YziwMsVyy/prSqHAX9H9VL3Ya2UHwYgUjoE1UdLu2L56k/nsdm09PINePJzqteao7Lbac76u8XUoPkIkEWCuJ6iEdfvpKEAdBUlBIiRW3JgcFBgHRRy4hpurLuFtDFhCQfcqiuedRJ23fMpUyJB9e7GcdRzbK7vkoI5yQkMobG4lN7qlvdw5cI25dsYkos+Ddc9+QW/TMJzE43HmlEsXlRYf0BOcXo1SH/zVbpacM7PeTixIrgTNyYssCom6VpO0xYdH+/1rKZ/nFLZoHAsU99DlXn5Q2y8MPJyJUjsAOcrYmIJM0g66PY4dvK6EttP2dqwo5eOpZzbNldZdrbcGezpa8ncHuYGGVYe3Ch0nd4poINf4453sguRFFp3OXtR6L3AMR0tzOQ6gKlgapSv2Vgv1P6vahJhnWCmfNxqP95VH1Oc7BGVDQ8r6uuJSpwRuE/di/hn6p7FiTU569jzFhqbRa+zKQAjzoJviybripR8L2itxj8+R2qj9EZj1f3JCIZsQxqE1IEPJXvWLLC1ZE7qkaUCK40oYxTcmJ8MxRbnnNmLW048NvMHsh5NgSLLek2k3nyAmkT91UakJF+Re8Ac2vHh6RPeAUSBKw0Qzjc8Lf2J71eyxuyl8COib6Ws3O2oogJKU3Bm5GxpCwDcwt1mNXKb0dgp8eIAbq5423U73GOXk6u039YSDgmscU6D53ZM08+3mL3fU69osyBYEzrlcohjB7YquyDhQa+VNm9/rRPFsyTLv2eo5CPUb9JqDyu1RPuBujn5trwymIwJthVhARLwyazfMdC+ZTAhkBtXmUAfAy42tUJOW2ZRAJv+jEdWCAGm+MeTzpQT7zxsd1vSjjKe+/ceuDZtSF8wla/e1oW2TtTq8LWfTmxFnxpKBSxYidN9sCj+tTZiwRdetcbdVBJ+QgxkJLunwf0TUheFYtpendDjYEv5s6buuadhRdRoTvguzfK0Kgz/RTp5pAx0m93tz45LhtVIr20mdjyKN9pzUYJcL9YKBI4aoLqk5fCr0YDDtu+nvY2agZaJ2SMgmt20JmGWsgzE8pUcla/fVrt9KBXJVyV959wP6rkQiHN5WtxO89rp4Hg3I/bM1deXr34s4XvLcrngP2wgcfV3L4iTMzWrPD6dN7z7pPXu6Lblw78wFY10uVsp71iTxLQ+ttgrCIOkK7NubmsBn/1Zw1wAdyNWsUbbCecdFGp1WCwZ3Pg40tmnjw3I5U52nPxllL0dnp6teWo9Cjz0Fk52GM3sccdh0GtYz1bWDRn7e6tlI8b2bTQ526Urw0mzBfEW2v24OAWVT2E9rgFmnUTKrXSMSi3LQ2KQ52/KpfKBYnTYd7mp2TqULGivTmtjAiWWiM0X99sMP7wbk6JsGf1oNpdwNiG247DQytD3rbUs6QRaSnm5FOOuZsGknn0No/z1/ncw/bn4c19Vzm9q1ttOxb7pPKQlqgr4wGNq9bNNOFmT3bho4mtHl9CwT/vHbj5nwTKmOw5BwmpJrGNtUuMzS/FaK5HnKwnCGWRWcNH/P+vhZwN8MgJHYjoW5cDK1c76RH3xdTFzVDTHB47A2WM6+3oSmJ7F5R9xozihlu4F+2IzNJjAuXUJFM2FFk01laiy7DB6N+quOR6eMpWb7oI7JZZdIYvAJsWkN9yET15REoxjXEGwhSwIhiQvGqinjTlU7GzDMinDFG51lEvBMS5q0qakhFS7kWXnSCJMv7gxDHaajSymoCcPZPEyQJAFtai4S+mFStEXTnf/BlL93llUg1vMOLh3DnYzj7kqR4vt8ueu+h/B9BdAPe3LId2gcWfCEBTNECXwx+Oxev/9TGghJ3OCYMT6Mbh1eYRCDDf33D7ibvRcXRzdZqkRoqVmoasD7+NUbvS0LcwyKuPiZQGTsMCck5EtBt5ETxH7CJFP1KCqDYKlRzStNjRoIDhaGLXWRYckyTUDL4PjLEskc9dmichg538gJoEk01GwJX+EjZowoKIomMglN0YZTz1NtKXd0pYrtVckxRZH5wEW5rNCrpKoSdbrkn45MuIPJdApBMeVUS6A5gndawPf2zfTOhMdiG8b25SljRu6LQ2aCB3PbRVrIOciCa2Kxg8yosL/DGjZdaDM4FaMhn5MoA+hILOEWnFJI8/gwuTBZTcrEkOYDQlKfJX8Ib4pTFexJGkGnLc3wtCl8VW6Tr6asEAQZPlJXLaMBAXVRZX1DXD3ss54BvmeuWnCwVcTEv4mYPqBZ17OfJHAlhqdUP5dE3XdQJOFxrSeW3hWEsXvULBUS5oyp55c8KfKKmWELDXFa6/LFd8xDoV7KQZvKObO6COiHjlsFOzBjRW6/J6e7m90hnRMbEroU4jK5YUw3aF0RCGJ5GLF81aUYCLrJYQ3q7W8kqkijOB5gp6nNaKgf4VxbEhMlJQkRTTl8n1ukUBIb0DG2lST3QULsSnIRaZRDIwIISQyHnBUp6KUvi3KyZBBX4AxCNsMpLizUW1Fst3zKIRg8UMiEwdcBKe5BRB47sKsiNdmrpjrkDNTOzJrdyEJyONZW8fllO5EkoglM35dyKEGVzDwG3ytvgF8Hyl/XlZdyOM7kxq402O6TWzmEcRhKPYvyMUHqWwjmmtsptrxJMFxFpNyZjsb5oETNsPlmHro5MppXEIpCrKCE3TdUDNCkpQk85nSNRiHJkbKZWT7e1ZTWW3JrsN+lLGJazeYcwrU8lbZuryKbWgRJsxiXJNMwmgkFvfJZxtBKxLbrfr+9suVujFFim1piOCtM2KExnmLkbCKRexlr4JDPHwiGFZqRdf2Y4fRtuYGhuNyJd0vhi60yqoG5tqwwHYZWFe+SuvHEYnGt2+IHw+in+gLhnva26ekxtJYrsAK19OYiRlV9U5UFqm7kJp+T+f7HAvcPceaihx4LLvr64tyHopBZTtpItwyA6AVEB8ix5/iabqJLS5yZ3iKXxcXN+rPFKwk4xPltE94/7xTnb2exh8dSr9td48jt336gdCDrHufZLMbaXpBimQUsh2zpu/Dq3xEmgO4+DHHeS8hlJsryMJigDLgQlL9tk9sghmkQ090AfTbpNUwKfvhYCiY11vxiYzWkNA7I6Be3VWiyhIfKdDxeHsRluXWgEAvvP4Z7yWw8RP6GH8m3z5068od60WeRN1KQHDjBRXk5CnkAZ+THsBuE4GPsoXyuTf7n3I7Bj+uFLuwtLw7yCF4rv0Zszhh9mLRmk97fexZq+qPFACX9sU3moZYvFfrsAfIVe5Q5qkviEzohbF7jVWjGYqcWGn99IaHXsBdMwv0Pnu3yEWvQWUhiVl+CmoF9NQiWh5fkh3iifA5X5QLedg4ZCHS8Ew1hSRbjsKzA/8nPz5019qH3DQ3thMIJCN+HGr4G+NrZ91Eetoeb53rXgWPbC/s1O2dOVL6hc2BFYjB+4xJooVrKfcWxPEx8m/+Y4hwirbnASjRAfBN9A+iZq6jq44PnoEZgYjU0Xzu5M/UdzBozcFR/d9oR0CYgnvwPGg0IF6d84JG3odcDPBESbt6PPgaUjkaDFw6dHL9HhFq1o8ZSP4AodODAJVu/eVtjzy9pBR8/BckBcVfKdE3+aOmL5py72eg/2Yu+HuSLxiE88H03FJ7br/FbHYQa2hjJEbx24yCsi6ldWtv6DLjHyFoGD0US+BFLtYPegeFIOPEhf4K+NmB93rgZSFrilFBSArirgvs6ysPbpIf57OxVTGGHT3NzR2skFcDq/O/x6vnPDH/w5TmyPXyha+pJU5dFRxxoPiv+NpKbtD6CLm1yj1yEvd3KbZAMiiODoPMXH/OQ65H/0Y3oBZzboBXepCHh+PDdB7+1kj4BzKsLhttLIcicIoDbu9y3QfWA4zh0kJ0QxAdm9kFrg6di+yX8CKcDCneE6Pyy2K/QdQE/ew7BA3MDU54f/wSYAekHQ/V0DZzz6gPPy6+nzgVLITj/HsraN6FFwG+moFxAE4FL59dQFVvoTIyCxkHQsYFXK9EgGHd3gZYezhlbP70XGXo5b0KxTyZHiJdaEP1OuwTt4TZrz1nbORoyEC9e17zSgvyWTiXe8+lYz0KbTXg0YDHbjl9wxyqAFMv69Spvb8wfc5O1nr+EMyMPvayMHaG1Ez76vgDJgOwt/d+RZg08p7iGzkB7YghYOopegd6PkgAvIeoeA8U2SD0KQ430DLxPtINpUD/o9yiDAWoHE8lJoHiYD3LAf83r3glRa9uVAx5DM6ATeQiTUYKnoAojS3289/dz1xwgp/cSHTvKPE30AYbQM61zIWqb6VqS1kYKoJ/k/BN1fo8MgZGfyuvQdKAxMO1EQEMHv5SC3L94PwSh8df0p1rdwCxSzBdbUoBrj9QDgpIEGOrJ/3kGbVuKV7ya4k0LzgQMu1JQ+58nIeTT98HEATfyEWA/HepLYVtAV2HA2wP0WdwKqVt+RpS2Pg+y7jvD3LBin9O3ZZ2T/5V/BGm8niiHX09ega74LyFmO0zq8COhwatEX8g8nd7QAI5n2H2iwbRHkxqNeO0wMNYPqrzKBO4EAcBL0HvVV3Z/emvTP5haK8Ey3vpnyxLspPvr2LoVbfOC0b7SJgAsmKv/igDjtkUEwNx/Rd5fPbdDrl5Ct9ZdkhO4PSv+PK7YWg6XfXLbkG2t19r+qRXt35bGYXm5LqvcYVw30m55gjJDUhzJirZ9NZDyubcJHEcikuCASmQiCBtiJOcPmTnNtAn5NpvyZiW73hYwh2xNx5E0hX+7g+2dbH2tAG91NTbZ2VfqlFkutpUcOm3Ngr3p1MGUTtrWN2+pte23JWvXhLa7bLu1gq5OMmtw7wS4tof47Z6oAlJU/ZjaR4tdo8nrYUTZwaXFWtN6FDRrCW1QUiNJKPe4t90WNpfC/LAnA+N648V89UxAflu1vO0T31YqkFSuVE/PZ7uA1VbIrV30JhzM6zizeofYrDFlhTx/1VBS6Ruke738ttCKdlJcX0G9Hj+DittncVVtycQRX2cV1etUNJ8/J+662Vl7y7T05mNh+Z3XmN3skmZX26mqDvAueYqjsJnhXXWJTXnVsv6p+RNGyNRofX2D9xwblTZHjH3Rds3f7YaCiccnuF2wu+3l03aKb4eVZEr1fNiKmW5hWUvN1Vb15ZQd9a5dQPHGBdN3BJ7lXY75IEIFoNcwgLq0oxyZZtuXSgutmXXKGZbnVpRP/VZu5Hpn5fdYxWWZ1ZRj6zG/eeh+9BRY3mb809aRtnzu03P0A2cPidft7RJCMRuOiEck3BCck2f5A8Vra1qXq63Xbn9WyzpqTuuCpset7hC1J+Dxak9k5M2Wf+BV5lNJgD9oLKfjo5xNe3RRwJ8hAPBga4InO5CQzH/GsqU0PmJZhxcXBXwYAgBAOnjvs8DHQqbGuRbsSH4okgsu7CX4GfsJngYA7CH4GP6BXwB4BfsMXk9v0IM+mB+YKxg99iz2DayDrvQGAi1K2PMYiaPpo/khqxfZIyEkpZHuuSgWn0szi1S0v2VCk032jME+l9qJAnuazSGdLuTJcjZ72ngb5hBkSV2iXcwkxiFsXJeO2YT5kJ5PmBHpTVonLH4N8x9ZEEC3WoFuMQaMgJVKgP1yzS1wCIBudkb5xmrPmM+UCAi3+MLwiiucbWEiaGcQjSxtoa+rfuFxzOYbAuBmOSBgJzEYFQYHZvwRoBLH0M7L4kWXsyPGbUkxQRABFjDDxAaRMRxgG2zGk66YeL1kSuwaM/pqmVOXtVloXGEWTXNTHkAxIWEbnAAsP0tXoBs/y+jtf8FReZhZtdHB0KkzxIzK0MPW9vzwjYydV2uxC7ptFOGl8IWu6OQq+yNi/yp0y6rcyndd9DInKnRD120edS30yG0xyWGRsmtLIbK35jzoVm9lpXy0rWpXytor8cd5f3BAGF6t9mdtvyw6+KfX/oiMDstFKOjkVFqUsq/ciKJiiKLo0LHbyrA6GBoCElIjgoooyLG0nk4FHG6os4iI5rkn9Awn4UqXpmiiS0gxl6Drugu26crswGK02It+7o1rrS9TRIxy/bquHKzStLJTa8XcCAsE68CRVX6cOeFht1OH10tDSlyraFtu2OhNVVJbvp6NjRC5jp79uv8E6an4NLTYotA1kdE5P9UxE0HRZr2V0Yn20YnwIEJoMD/YEgr0b/P3hHydAd4ua56OaOvgIHeXD2qtzXeV8p2lNEfl2ws0W05Y87MsuRPm1EOmtI8xE2HIZuiTp3Qxvjbga/yNpvacym9hnK+wSOSmHNRi4CCZMkCq4CTqLLHmRLqPUIYEogbEFyuNJ0pcoQCncmz+FIuGmDQEBpNPZ6HRwFHJDArhyNFTzUVfUUTCzJ80EepBeEy6axpCwDWIgG0oBTVgZqBRZNQhQ6hFcFFTTcY1WQ3EwUqzU27SUvB5u4PKdanT/rzZvuet3JYrV777ea01LMfePdW9p7jKoEuD6FPd5kafFs/4ifK0k9p37t/rYYLe+In5RmfTzGyLp3qbmsYzNRuoexRl6m11S5HdnU79Njc122SKE5imMzeT2duCY7kozwgflHvkbWH4MAYcwzNwC3ZbNOVtNI1mNBvQPUQZvU23CF5nfWsS/+LXfMqtZLv9fHDHDoHvcp7cFPVWAytIYbo5lIT4ufD+0ydY3+mq+DopXw0oQz4RxVumJozQk6fFdtj+xIubLaVnxfYFXBEhXttLF2tT+oliO+DAtyDhe+5IR0bxpSC0aOGaFgAA"}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/1jE4zHXbNUM","date":"2026-07-27T03:36:29.236Z","timestamp":1785123389236,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.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\nX-Goog-Request-Time: 1785123389220\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtsX0xnSGN6OUpTZyi5pJvTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaGLfAgrcAjIwLllUPUFDVUZPTTNNRGtObE12TkU1dERBUFJacUh5YzhIVXE2aVl2VWdFRjFqczd1Vm0zWTMxYmhpSWYzc1Z5NEh5cnZnYzFPQ2NIT1NwM3ZzUGsxMnh1SG5BaEMxQ2YteEV3SC04SkF2ajdnU2tzV294MG5rQzZPbi04SHJVcGlOcGJEc09ON1AyZDJXRVBjdkxKTTA5dzRpRnNqeWNfOFQtcXJRMG8xdjJzSldLV1RfWjNVb3ctM195NlVpQVk4VmJlN0JJRGFLRkVyQk9DMmtXT0JTcFh3cTNuWWFiOGhOVkVVUHZzZld1S0MtTVJKWm5yN3dHaDhMYXZrSHM1b0FPdDJvc1VOa3pnanctbm5MZ0dEcEUxN09GclhXSnRHZUNpamNGMkR1RFh1eUpsRVpBTkNuRDc0eEtOcVJyOHBESlJNSDlwc2l6MHNQN01wQ0RYT3duOEY2dw%3D%3D\r\nX-Goog-Event-Time: 1785123389220\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785123386142\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C1170%2C250\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 14325\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/1jE4zHXbNUM\r\nCookie: __Secure-YNID=20.YT=ACUFOM3MDkNlMvNE5tDAPRZqHyc8HUq6iYvUgEF1js7uVm3Y31bhiIf3sVy4Hyrvgc1OCcHOSp3vsPk12xuHnAhC1Cf-xEwH-8JAvj7gSksWox0nkC6On-8HrUpiNpbDsON7P2d2WEPcvLJM09w4iFsjyc_8T-qrQ0o1v2sJWKWT_Z3Uow-3_y6UiAY8Vbe7BIDaKFErBOC2kWOBSpXwq3nYab8hNVEUPvsfWuKC-MRJZnr7wGh8LavkHs5oAOt2osUNkzgjw-nnLgGDpE17OFrXWJtGeCijcF2DuDXuyJlEZANCnD74xKNqRr8pDJRMH9psiz0sP7MpCDXOwn8F6w; YSC=b0pYTBtcjuk; __Secure-ROLLOUT_TOKEN=CJ3oqsnxxYqOfxD6qa3q9vGVAxj6qa3q9vGVAw%3D%3D; VISITOR_INFO1_LIVE=l_LgHcz9JSg; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgaA%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":"POST","post_data":{"size":14325,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CLmkm9MGEOn40RwQn8-AExDBj9AcEImwzhwQjpDRHBDgt9EcEIqHuCIQvYqwBRDH_IATEInk0RwQntCwBRD58tEcEIeszhwQx43SHBDxnLAFEPyyzhwQvbauBRDK-4ATELjw0RwQ9vfRHBCkqdEcELjkzhwQgc3OHBCdhrgiEODq0RwQtviAExDJ9oATEL2ZsAUQhuGAExAAEParsAUQ98SAExCW79EcEPDe0RwQiJDRHBCL988cEL6E0RwQvKTQHBCu1s8cEMzfrgUQkvLRHBCZjbEFENr3zhwQ3rzOHBDxtNAcEIOHuCIQ5uvRHBDU9oATEJnz0RwQ7M3QHBD16dEcEKmm0RwqdENBTVNVUlZLLVpxLURNZVVFcFVDbkE3NUZYYWdCdUFXcU5VUHlBTU0zdzNjQnVRRzRnVDJ2ZWtMTXFDc0JBT1FyZ1A3SnJia0J1U0ZGOURNQnNTU0Jjczl4U2ZaMVFYY0xPZEc3Uzd2LU9BZTJ3WWRCdz09MAA%3D\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":1170,\"windowHeightPoints\":250},\"thirdParty\":{\"embedUrl\":\"https://alpha-achieveer.co/\"}},\"events\":[{\"eventTimeMs\":1785123386150,\"latencyActionTicked\":{\"tickName\":\"mm_is\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386152,\"latencyActionTicked\":{\"tickName\":\"mm_ie\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386156,\"latencyActionTicked\":{\"tickName\":\"ep_init_cus\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386156,\"latencyActionTicked\":{\"tickName\":\"ep_init_eps\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386158,\"latencyActionTicked\":{\"tickName\":\"ep_init_epe\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386158,\"latencyActionTicked\":{\"tickName\":\"ep_init_cue\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386345,\"latencyActionTicked\":{\"tickName\":\"pe\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386347,\"latencyActionTicked\":{\"tickName\":\"ep_init_wes\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385911,\"latencyActionTicked\":{\"tickName\":\"srt\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385812,\"latencyActionBaselined\":{\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385848,\"latencyActionTicked\":{\"tickName\":\"nreqs\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385911,\"latencyActionTicked\":{\"tickName\":\"nress\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385922,\"latencyActionTicked\":{\"tickName\":\"nrese\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385815,\"latencyActionTicked\":{\"tickName\":\"ndnss\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385817,\"latencyActionTicked\":{\"tickName\":\"ndnse\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385818,\"latencyActionTicked\":{\"tickName\":\"ntcps\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385847,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385825,\"latencyActionTicked\":{\"tickName\":\"nstcps\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123385847,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386019,\"latencyActionTicked\":{\"tickName\":\"wffs\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386044,\"latencyActionTicked\":{\"tickName\":\"wffe\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386007,\"latencyActionTicked\":{\"tickName\":\"rsf_pj\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386061,\"latencyActionTicked\":{\"tickName\":\"rse_pj\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386007,\"latencyActionTicked\":{\"tickName\":\"rsf_pc\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386039,\"latencyActionTicked\":{\"tickName\":\"rse_pc\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386007,\"latencyActionTicked\":{\"tickName\":\"rsf_ecj\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386054,\"latencyActionTicked\":{\"tickName\":\"rse_ecj\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386007,\"latencyActionTicked\":{\"tickName\":\"rsf_ecc\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386026,\"latencyActionTicked\":{\"tickName\":\"rse_ecc\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386350,\"latencyActionInfo\":{\"isNavigation\":true,\"actionType\":\"LATENCY_ACTION_VIDEO_PREVIEW\",\"httpProtocol\":\"h2\",\"transportProtocol\":\"tcp\",\"isVisible\":true,\"loadType\":\"cold\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386141,\"latencyActionTicked\":{\"tickName\":\"rses_dpj\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386354,\"latencyActionTicked\":{\"tickName\":\"ep_init_wee\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386357,\"latencyActionInfo\":{\"serverTimeMs\":46,\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123386387,\"screenCreated\":{\"csn\":\"lspY-bwoRHslugOW\",\"pageVe\":{\"veType\":16623,\"youtubeData\":{\"servletData\":{\"serializedServletEventId\":\"OdJmatadNLXoq7YP3fyGwAU\"}}}},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785123386388,\"latencyActionInfo\":{\"clientScreenNonce\":\"lspY-bwoRHslugOW\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785123386388,\"screenCreated\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"pageVe\":{\"veType\":32594},\"implicitGesture\":{\"parentCsn\":\"lspY-bwoRHslugOW\",\"gesturedVe\":{\"veType\":16623},\"gestureType\":\"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED\"}},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785123386388,\"visualElementHidden\":{\"csn\":\"lspY-bwoRHslugOW\",\"ve\":{\"veType\":16623},\"eventType\":16},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785123386388,\"latencyActionInfo\":{\"clientScreenNonce\":\"LO2NcLeRh81fkT6K\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785123386389,\"visualElementAttached\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQru4BIhMI4Jeu6vbxlQMVR5j0Bx1GfRzuygEEw-esnA==\"}]},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785123386391,\"latencyActionTicked\":{\"tickName\":\"qoes\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"20\"}},{\"eventTimeMs\":1785123386392,\"latencyActionTicked\":{\"tickName\":\"fs\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"20\"}},{\"eventTimeMs\":1785123386418,\"latencyActionInfo\":{\"clientPlaybackNonce\":\"FAeJhtStDbQrDGWD\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"47\"}},{\"eventTimeMs\":1785123386419,\"latencyActionTicked\":{\"tickName\":\"ep_init_pr\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"48\"}},{\"eventTimeMs\":1785123386525,\"latencyActionTicked\":{\"tickName\":\"ep_init_ijs\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"154\"}},{\"eventTimeMs\":1785123386526,\"latencyActionTicked\":{\"tickName\":\"ep_init_ije\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"155\"}},{\"eventTimeMs\":1785123386528,\"latencyActionTicked\":{\"tickName\":\"ep_init_rs\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"157\"}},{\"eventTimeMs\":1785123386533,\"latencyActionTicked\":{\"tickName\":\"ep_init_re\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"162\"}},{\"eventTimeMs\":1785123386539,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"b0taBbWxOOT_JtNZ\",\"clientScreenNonce\":\"lspY-bwoRHslugOW\"},\"context\":{\"lastActivityMs\":\"167\"}},{\"eventTimeMs\":1785123386539,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"b0taBbWxOOT_JtNZ\",\"clientScreenNonce\":\"LO2NcLeRh81fkT6K\"},\"context\":{\"lastActivityMs\":\"168\"}},{\"eventTimeMs\":1785123386553,\"visualElementAttached\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"181\"}},{\"eventTimeMs\":1785123386553,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"181\"}},{\"eventTimeMs\":1785123386596,\"latencyActionTicked\":{\"tickName\":\"ftr\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"225\"}},{\"eventTimeMs\":1785123386609,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0},\"eventType\":1,\"clientData\":{}},\"context\":{\"lastActivityMs\":\"237\"}},{\"eventTimeMs\":1785123386612,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"240\"}},{\"eventTimeMs\":1785123386612,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"240\"}},{\"eventTimeMs\":1785123386612,\"visualElementAttached\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"240\"}},{\"eventTimeMs\":1785123386612,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"240\"}},{\"eventTimeMs\":1785123386612,\"visualElementAttached\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"241\"}},{\"eventTimeMs\":1785123386612,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"241\"}},{\"eventTimeMs\":1785123386625,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0},\"eventType\":1,\"clientData\":{}},\"context\":{\"lastActivityMs\":\"254\"}},{\"eventTimeMs\":1785123386626,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0},\"eventType\":1,\"clientData\":{}},\"context\":{\"lastActivityMs\":\"254\"}},{\"eventTimeMs\":1785123386626,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"trackingParams\":\"CAQQ-N8BGAAiEwjgl67q9vGVAxVHmPQHHUZ9HO4=\"},\"eventType\":1,\"clientData\":{}},\"context\":{\"lastActivityMs\":\"254\"}},{\"eventTimeMs\":1785123386626,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"trackingParams\":\"CAMQ-d8BGAEiEwjgl67q9vGVAxVHmPQHHUZ9HO4=\"},\"eventType\":1,\"clientData\":{}},\"context\":{\"lastActivityMs\":\"254\"}},{\"eventTimeMs\":1785123386626,\"visualElementShown\":{\"csn\":\"LO2NcLeRh81fkT6K\",\"ve\":{\"trackingParams\":\"CAIQyvMFIhMI4Jeu6vbxlQMVR5j0Bx1GfRzu\"},\"eventType\":1,\"clientData\":{}},\"context\":{\"lastActivityMs\":\"254\"}},{\"eventTimeMs\":1785123386717,\"latencyActionTicked\":{\"tickName\":\"ftl\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"346\"}},{\"eventTimeMs\":1785123386856,\"latencyActionTicked\":{\"tickName\":\"pot_ist\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"484\"}},{\"eventTimeMs\":1785123387124,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIDw==\"},\"context\":{\"lastActivityMs\":\"753\"}},{\"eventTimeMs\":1785123387127,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAC5AIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAKEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAQQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAPA/IhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAANUAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAiQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACRAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAgFNAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAIQCIYCgMKAXQKBgoEYUdJZhIJEQAAAAAAAG5A\"},\"context\":{\"lastActivityMs\":\"754\"}},{\"eventTimeMs\":1785123387217,\"latencyActionTicked\":{\"tickName\":\"pot_if\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"846\"}},{\"eventTimeMs\":1785123387218,\"latencyActionTicked\":{\"tickName\":\"pot_cms\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"846\"}},{\"eventTimeMs\":1785123387219,\"latencyActionTicked\":{\"tickName\":\"pot_cmf\",\"clientActionNonce\":\"i8A4Wyfq0Yp96Owp\"},\"context\":{\"lastActivityMs\":\"849\"}},{\"eventTimeMs\":1785123388127,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAALCbQA==\"},\"context\":{\"lastActivityMs\":\"1756\"}},{\"eventTimeMs\":1785123388128,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFrCgYKBGFHSWYSAggCIhEKAwoBbQoGCgRhR0lmEgIIAQ==\"},\"context\":{\"lastActivityMs\":\"1757\"}},{\"eventTimeMs\":1785123388129,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAACxAIhgKAwoBawoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgFrCgYKBGFHSWYSCREAAAAAAADwPyIYCgMKAWkKBgoEYUdJZhIJEQAAAAAAAPA/IhgKAwoBbwoGCgRhR0lmEgkRAAAAAACAdkAiGAoDCgFjCgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAUMKBgoEYUdJZhIJEQAAAAAAAPA/IhgKAwoBeAoGCgRhR0lmEgkRAAAAAAAAAAAiGAoDCgFtCgYKBGFHSWYSCREAAAAAAADwPw==\"},\"context\":{\"lastActivityMs\":\"1757\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"OdJmatadNLXoq7YP3fyGwAU\",\"clientCounter\":\"10635\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 03:36:29 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-07-31T13:37:22.809527Z","times_seen":282735,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"alpha-achieveer.co/js/jquery-ui.min.js","fqdn":"alpha-achieveer.co","domain":"alpha-achieveer.co","tld":"co"},"ip":{"addr":"88.223.85.69","port":443,"asn":47583,"as":"Hostinger International Limited","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://alpha-achieveer.co/","date":"2026-07-27T03:36:25.020Z","timestamp":1785123385020,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"alpha-achieveer.co","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 16:59:30 GMT","end":"Sun, 30 Aug 2026 16:59:29 GMT"},"fingerprint":{"sha1":"02:46:69:00:06:8B:F9:45:C2:6B:DC:81:44:17:B8:49:B3:F5:78:9A","sha256":"AD:54:B6:26:00:90:03:32:4F:93:4D:11:02:A3:6A:BC:EA:EB:97:C3:F9:35:FB:A4:3B:F2:7A:9A:5C:1D:91:B1"}}},"request":{"raw":"GET /js/jquery-ui.min.js HTTP/1.1\r\nHost: alpha-achieveer.co\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://alpha-achieveer.co/\r\nCookie: PHPSESSID=ug8tb0q0s437a237sn8as0epg0\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:36:25 GMT\r\ncontent-type: application/x-javascript\r\nlast-modified: Fri, 22 Mar 2024 13:18:24 GMT\r\netag: \"3ab26-65fd8520-9b7b6c846e4cb087;br\"\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 60383\r\ndate: Mon, 27 Jul 2026 03:36:25 GMT\r\nserver: LiteSpeed\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":240422,"size_decoded":60841,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (33392)","md5":"07f2c3c1cb8427c280769e2423325716","sha1":"e43ded0bda42a876cb09d09c16565a986fa16531","sha256":"b808bb431c90a624fe5516ffe635cb04efbc5b23e293ab0876f903eccc94ef24","sha512":"f43d837bdd067e383c72376c98890ca380d26d837ac63ad4da720206f45ce276b18a99d62049036b3b49f85118f854930ec37c254fc5c429f07f34b7568b42a9","ssdeep":"3072:gAVqGqpGuSD4fUSSDTWQJ+SuwsYI7SSDzOyAGkRsG:VVsnlUyQJXunYIpg","tlshash":"a534084db2413a3251ebe2a5103b2a0fa237555da605805cb43ccede9e7de0531bbf7a","first_seen":"2023-03-07T12:27:42Z","last_seen":"2026-07-27T14:34:25.224872Z","times_seen":593,"resource_available":true,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjExLjQgLSAyMDE1LTEyLTA2CiogaHR0cDovL2pxdWVyeXVpLmNvbQoqIEluY2x1ZGVzOiBjb3JlLmpzLCB3aWRnZXQuanMsIG1vdXNlLmpzLCBwb3NpdGlvbi5qcywgZHJhZ2dhYmxlLmpzLCBkcm9wcGFibGUuanMsIHJlc2l6YWJsZS5qcywgc2VsZWN0YWJsZS5qcywgc29ydGFibGUuanMsIGFjY29yZGlvbi5qcywgYXV0b2NvbXBsZXRlLmpzLCBidXR0b24uanMsIGRhdGVwaWNrZXIuanMsIGRpYWxvZy5qcywgbWVudS5qcywgcHJvZ3Jlc3NiYXIuanMsIHNlbGVjdG1lbnUuanMsIHNsaWRlci5qcywgc3Bpbm5lci5qcywgdGFicy5qcywgdG9vbHRpcC5qcywgZWZmZWN0LmpzLCBlZmZlY3QtYmxpbmQuanMsIGVmZmVjdC1ib3VuY2UuanMsIGVmZmVjdC1jbGlwLmpzLCBlZmZlY3QtZHJvcC5qcywgZWZmZWN0LWV4cGxvZGUuanMsIGVmZmVjdC1mYWRlLmpzLCBlZmZlY3QtZm9sZC5qcywgZWZmZWN0LWhpZ2hsaWdodC5qcywgZWZmZWN0LXB1ZmYuanMsIGVmZmVjdC1wdWxzYXRlLmpzLCBlZmZlY3Qtc2NhbGUuanMsIGVmZmVjdC1zaGFrZS5qcywgZWZmZWN0LXNpemUuanMsIGVmZmVjdC1zbGlkZS5qcywgZWZmZWN0LXRyYW5zZmVyLmpzCiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqLwoKKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sZSk6ZShqUXVlcnkpfSkoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0LHMpe3ZhciBuLGEsbyxyPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iYXJlYSI9PT1yPyhuPXQucGFyZW50Tm9kZSxhPW4ubmFtZSx0LmhyZWYmJmEmJiJtYXAiPT09bi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPyhvPWUoImltZ1t1c2VtYXA9JyMiK2ErIiddIilbMF0sISFvJiZpKG8pKTohMSk6KC9eKGlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvLnRlc3Qocik/IXQuZGlzYWJsZWQ6ImEiPT09cj90LmhyZWZ8fHM6cykmJmkodCl9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gZS5leHByLmZpbHRlcnMudmlzaWJsZSh0KSYmIWUodCkucGFyZW50cygpLmFkZEJhY2soKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4iaGlkZGVuIj09PWUuY3NzKHRoaXMsInZpc2liaWxpdHkiKX0pLmxlbmd0aH1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgdCxpO2UubGVuZ3RoJiZlWzBdIT09ZG9jdW1lbnQ7KXtpZih0PWUuY3NzKCJwb3NpdGlvbiIpLCgiYWJzb2x1dGUiPT09dHx8InJlbGF0aXZlIj09PXR8fCJmaXhlZCI9PT10KSYmKGk9cGFyc2VJbnQoZS5jc3MoInpJbmRleCIpLDEwKSwhaXNOYU4oaSkmJjAhPT1pKSlyZXR1cm4gaTtlPWUucGFyZW50KCl9cmV0dXJuIDB9ZnVuY3Rpb24gbigpe3RoaXMuX2N1ckluc3Q9bnVsbCx0aGlzLl9rZXlFdmVudD0hMSx0aGlzLl9kaXNhYmxlZElucHV0cz1bXSx0aGlzLl9kYXRlcGlja2VyU2hvd2luZz0hMSx0aGlzLl9pbkRpYWxvZz0hMSx0aGlzLl9tYWluRGl2SWQ9InVpLWRhdGVwaWNrZXItZGl2Iix0aGlzLl9pbmxpbmVDbGFzcz0idWktZGF0ZXBpY2tlci1pbmxpbmUiLHRoaXMuX2FwcGVuZENsYXNzPSJ1aS1kYXRlcGlja2VyLWFwcGVuZCIsdGhpcy5fdHJpZ2dlckNsYXNzPSJ1aS1kYXRlcGlja2VyLXRyaWdnZXIiLHRoaXMuX2RpYWxvZ0NsYXNzPSJ1aS1kYXRlcGlja2VyLWRpYWxvZyIsdGhpcy5fZGlzYWJsZUNsYXNzPSJ1aS1kYXRlcGlja2VyLWRpc2FibGVkIix0aGlzLl91bnNlbGVjdGFibGVDbGFzcz0idWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUiLHRoaXMuX2N1cnJlbnRDbGFzcz0idWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSIsdGhpcy5fZGF5T3ZlckNsYXNzPSJ1aS1kYXRlcGlja2VyLWRheXMtY2VsbC1vdmVyIix0aGlzLnJlZ2lvbmFsPVtdLHRoaXMucmVnaW9uYWxbIiJdPXtjbG9zZVRleHQ6IkRvbmUiLHByZXZUZXh0OiJQcmV2IixuZXh0VGV4dDoiTmV4dCIsY3VycmVudFRleHQ6IlRvZGF5Iixtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxkYXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLCJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXSx3ZWVrSGVhZGVyOiJXayIsZGF0ZUZvcm1hdDoibW0vZGQveXkiLGZpcnN0RGF5OjAsaXNSVEw6ITEsc2hvd01vbnRoQWZ0ZXJZZWFyOiExLHllYXJTdWZmaXg6IiJ9LHRoaXMuX2RlZmF1bHRzPXtzaG93T246ImZvY3VzIixzaG93QW5pbToiZmFkZUluIixzaG93T3B0aW9uczp7fSxkZWZhdWx0RGF0ZTpudWxsLGFwcGVuZFRleHQ6IiIsYnV0dG9uVGV4dDoiLi4uIixidXR0b25JbWFnZToiIixidXR0b25JbWFnZU9ubHk6ITEsaGlkZUlmTm9QcmV2TmV4dDohMSxuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0OiExLGdvdG9DdXJyZW50OiExLGNoYW5nZU1vbnRoOiExLGNoYW5nZVllYXI6ITEseWVhclJhbmdlOiJjLTEwOmMrMTAiLHNob3dPdGhlck1vbnRoczohMSxzZWxlY3RPdGhlck1vbnRoczohMSxzaG93V2VlazohMSxjYWxjdWxhdGVXZWVrOnRoaXMuaXNvODYwMVdlZWssc2hvcnRZZWFyQ3V0b2ZmOiIrMTAiLG1pbkRhdGU6bnVsbCxtYXhEYXRlOm51bGwsZHVyYXRpb246ImZhc3QiLGJlZm9yZVNob3dEYXk6bnVsbCxiZWZvcmVTaG93Om51bGwsb25TZWxlY3Q6bnVsbCxvbkNoYW5nZU1vbnRoWWVhcjpudWxsLG9uQ2xvc2U6bnVsbCxudW1iZXJPZk1vbnRoczoxLHNob3dDdXJyZW50QXRQb3M6MCxzdGVwTW9udGhzOjEsc3RlcEJpZ01vbnRoczoxMixhbHRGaWVsZDoiIixhbHRGb3JtYXQ6IiIsY29uc3RyYWluSW5wdXQ6ITAsc2hvd0J1dHRvblBhbmVsOiExLGF1dG9TaXplOiExLGRpc2FibGVkOiExfSxlLmV4dGVuZCh0aGlzLl9kZWZhdWx0cyx0aGlzLnJlZ2lvbmFsWyIiXSksdGhpcy5yZWdpb25hbC5lbj1lLmV4dGVuZCghMCx7fSx0aGlzLnJlZ2lvbmFsWyIiXSksdGhpcy5yZWdpb25hbFsiZW4tVVMiXT1lLmV4dGVuZCghMCx7fSx0aGlzLnJlZ2lvbmFsLmVuKSx0aGlzLmRwRGl2PWEoZSgiPGRpdiBpZD0nIit0aGlzLl9tYWluRGl2SWQrIicgY2xhc3M9J3VpLWRhdGVwaWNrZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsJz48L2Rpdj4iKSl9ZnVuY3Rpb24gYSh0KXt2YXIgaT0iYnV0dG9uLCAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlci1uZXh0LCAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhIjtyZXR1cm4gdC5kZWxlZ2F0ZShpLCJtb3VzZW91dCIsZnVuY3Rpb24oKXtlKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLC0xIT09dGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1wcmV2IikmJmUodGhpcykucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIpLC0xIT09dGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1uZXh0IikmJmUodGhpcykucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfSkuZGVsZWdhdGUoaSwibW91c2VvdmVyIixvKX1mdW5jdGlvbiBvKCl7ZS5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcih2LmlubGluZT92LmRwRGl2LnBhcmVudCgpWzBdOnYuaW5wdXRbMF0pfHwoZSh0aGlzKS5wYXJlbnRzKCIudWktZGF0ZXBpY2tlci1jYWxlbmRhciIpLmZpbmQoImEiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKSxlKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLC0xIT09dGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1wcmV2IikmJmUodGhpcykuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIpLC0xIT09dGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1uZXh0IikmJmUodGhpcykuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpKX1mdW5jdGlvbiByKHQsaSl7ZS5leHRlbmQodCxpKTtmb3IodmFyIHMgaW4gaSludWxsPT1pW3NdJiYodFtzXT1pW3NdKTtyZXR1cm4gdH1mdW5jdGlvbiBoKGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudC52YWwoKTtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9yZWZyZXNoKCksdCE9PXRoaXMuZWxlbWVudC52YWwoKSYmdGhpcy5fdHJpZ2dlcigiY2hhbmdlIil9fWUudWk9ZS51aXx8e30sZS5leHRlbmQoZS51aSx7dmVyc2lvbjoiMS4xMS40IixrZXlDb2RlOntCQUNLU1BBQ0U6OCxDT01NQToxODgsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVSOjEzLEVTQ0FQRToyNyxIT01FOjM2LExFRlQ6MzcsUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTUEFDRTozMixUQUI6OSxVUDozOH19KSxlLmZuLmV4dGVuZCh7c2Nyb2xsUGFyZW50OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuY3NzKCJwb3NpdGlvbiIpLHM9ImFic29sdXRlIj09PWksbj10Py8oYXV0b3xzY3JvbGx8aGlkZGVuKS86LyhhdXRvfHNjcm9sbCkvLGE9dGhpcy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtyZXR1cm4gcyYmInN0YXRpYyI9PT10LmNzcygicG9zaXRpb24iKT8hMTpuLnRlc3QodC5jc3MoIm92ZXJmbG93IikrdC5jc3MoIm92ZXJmbG93LXkiKSt0LmNzcygib3ZlcmZsb3cteCIpKX0pLmVxKDApO3JldHVybiJmaXhlZCIhPT1pJiZhLmxlbmd0aD9hOmUodGhpc1swXS5vd25lckRvY3VtZW50fHxkb2N1bWVudCl9LHVuaXF1ZUlkOmZ1bmN0aW9uKCl7dmFyIGU9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5pZHx8KHRoaXMuaWQ9InVpLWlkLSIrICsrZSl9KX19KCkscmVtb3ZlVW5pcXVlSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7L151aS1pZC1cZCskLy50ZXN0KHRoaXMuaWQpJiZlKHRoaXMpLnJlbW92ZUF0dHIoImlkIil9KX19KSxlLmV4dGVuZChlLmV4cHJbIjoiXSx7ZGF0YTplLmV4cHIuY3JlYXRlUHNldWRvP2UuZXhwci5jcmVhdGVQc2V1ZG8oZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiEhZS5kYXRhKGksdCl9fSk6ZnVuY3Rpb24odCxpLHMpe3JldHVybiEhZS5kYXRhKHQsc1szXSl9LGZvY3VzYWJsZTpmdW5jdGlvbihpKXtyZXR1cm4gdChpLCFpc05hTihlLmF0dHIoaSwidGFiaW5kZXgiKSkpfSx0YWJiYWJsZTpmdW5jdGlvbihpKXt2YXIgcz1lLmF0dHIoaSwidGFiaW5kZXgiKSxuPWlzTmFOKHMpO3JldHVybihufHxzPj0wKSYmdChpLCFuKX19KSxlKCI8YT4iKS5vdXRlcldpZHRoKDEpLmpxdWVyeXx8ZS5lYWNoKFsiV2lkdGgiLCJIZWlnaHQiXSxmdW5jdGlvbih0LGkpe2Z1bmN0aW9uIHModCxpLHMsYSl7cmV0dXJuIGUuZWFjaChuLGZ1bmN0aW9uKCl7aS09cGFyc2VGbG9hdChlLmNzcyh0LCJwYWRkaW5nIit0aGlzKSl8fDAscyYmKGktPXBhcnNlRmxvYXQoZS5jc3ModCwiYm9yZGVyIit0aGlzKyJXaWR0aCIpKXx8MCksYSYmKGktPXBhcnNlRmxvYXQoZS5jc3ModCwibWFyZ2luIit0aGlzKSl8fDApfSksaX12YXIgbj0iV2lkdGgiPT09aT9bIkxlZnQiLCJSaWdodCJdOlsiVG9wIiwiQm90dG9tIl0sYT1pLnRvTG93ZXJDYXNlKCksbz17aW5uZXJXaWR0aDplLmZuLmlubmVyV2lkdGgsaW5uZXJIZWlnaHQ6ZS5mbi5pbm5lckhlaWdodCxvdXRlcldpZHRoOmUuZm4ub3V0ZXJXaWR0aCxvdXRlckhlaWdodDplLmZuLm91dGVySGVpZ2h0fTtlLmZuWyJpbm5lciIraV09ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQ/b1siaW5uZXIiK2ldLmNhbGwodGhpcyk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5jc3MoYSxzKHRoaXMsdCkrInB4Iil9KX0sZS5mblsib3V0ZXIiK2ldPWZ1bmN0aW9uKHQsbil7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0P29bIm91dGVyIitpXS5jYWxsKHRoaXMsdCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5jc3MoYSxzKHRoaXMsdCwhMCxuKSsicHgiKX0pfX0pLGUuZm4uYWRkQmFja3x8KGUuZm4uYWRkQmFjaz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9KSxlKCI8YT4iKS5kYXRhKCJhLWIiLCJhIikucmVtb3ZlRGF0YSgiYS1iIikuZGF0YSgiYS1iIikmJihlLmZuLnJlbW92ZURhdGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3QuY2FsbCh0aGlzLGUuY2FtZWxDYXNlKGkpKTp0LmNhbGwodGhpcyl9fShlLmZuLnJlbW92ZURhdGEpKSxlLnVpLmllPSEhL21zaWUgW1x3Ll0rLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSksZS5mbi5leHRlbmQoe2ZvY3VzOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3JldHVybiJudW1iZXIiPT10eXBlb2YgaT90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtlKHQpLmZvY3VzKCkscyYmcy5jYWxsKHQpfSxpKX0pOnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oZS5mbi5mb2N1cyksZGlzYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3ZhciBlPSJvbnNlbGVjdHN0YXJ0ImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpPyJzZWxlY3RzdGFydCI6Im1vdXNlZG93biI7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYmluZChlKyIudWktZGlzYWJsZVNlbGVjdGlvbiIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpfSl9fSgpLGVuYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVuYmluZCgiLnVpLWRpc2FibGVTZWxlY3Rpb24iKX0sekluZGV4OmZ1bmN0aW9uKHQpe2lmKHZvaWQgMCE9PXQpcmV0dXJuIHRoaXMuY3NzKCJ6SW5kZXgiLHQpO2lmKHRoaXMubGVuZ3RoKWZvcih2YXIgaSxzLG49ZSh0aGlzWzBdKTtuLmxlbmd0aCYmblswXSE9PWRvY3VtZW50Oyl7aWYoaT1uLmNzcygicG9zaXRpb24iKSwoImFic29sdXRlIj09PWl8fCJyZWxhdGl2ZSI9PT1pfHwiZml4ZWQiPT09aSkmJihzPXBhcnNlSW50KG4uY3NzKCJ6SW5kZXgiKSwxMCksIWlzTmFOKHMpJiYwIT09cykpcmV0dXJuIHM7bj1uLnBhcmVudCgpfXJldHVybiAwfX0pLGUudWkucGx1Z2luPXthZGQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGE9ZS51aVt0XS5wcm90b3R5cGU7Zm9yKG4gaW4gcylhLnBsdWdpbnNbbl09YS5wbHVnaW5zW25dfHxbXSxhLnBsdWdpbnNbbl0ucHVzaChbaSxzW25dXSl9LGNhbGw6ZnVuY3Rpb24oZSx0LGkscyl7dmFyIG4sYT1lLnBsdWdpbnNbdF07aWYoYSYmKHN8fGUuZWxlbWVudFswXS5wYXJlbnROb2RlJiYxMSE9PWUuZWxlbWVudFswXS5wYXJlbnROb2RlLm5vZGVUeXBlKSlmb3Iobj0wO2EubGVuZ3RoPm47bisrKWUub3B0aW9uc1thW25dWzBdXSYmYVtuXVsxXS5hcHBseShlLmVsZW1lbnQsaSl9fTt2YXIgbD0wLHU9QXJyYXkucHJvdG90eXBlLnNsaWNlO2UuY2xlYW5EYXRhPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcyxuLGE7Zm9yKGE9MDtudWxsIT0obj1pW2FdKTthKyspdHJ5e3M9ZS5fZGF0YShuLCJldmVudHMiKSxzJiZzLnJlbW92ZSYmZShuKS50cmlnZ2VySGFuZGxlcigicmVtb3ZlIil9Y2F0Y2gobyl7fXQoaSl9fShlLmNsZWFuRGF0YSksZS53aWRnZXQ9ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGEsbyxyLGg9e30sbD10LnNwbGl0KCIuIilbMF07cmV0dXJuIHQ9dC5zcGxpdCgiLiIpWzFdLG49bCsiLSIrdCxzfHwocz1pLGk9ZS5XaWRnZXQpLGUuZXhwclsiOiJdW24udG9Mb3dlckNhc2UoKV09ZnVuY3Rpb24odCl7cmV0dXJuISFlLmRhdGEodCxuKX0sZVtsXT1lW2xdfHx7fSxhPWVbbF1bdF0sbz1lW2xdW3RdPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2NyZWF0ZVdpZGdldD8oYXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KGUsdCksdm9pZCAwKTpuZXcgbyhlLHQpfSxlLmV4dGVuZChvLGEse3ZlcnNpb246cy52ZXJzaW9uLF9wcm90bzplLmV4dGVuZCh7fSxzKSxfY2hpbGRDb25zdHJ1Y3RvcnM6W119KSxyPW5ldyBpLHIub3B0aW9ucz1lLndpZGdldC5leHRlbmQoe30sci5vcHRpb25zKSxlLmVhY2gocyxmdW5jdGlvbih0LHMpe3JldHVybiBlLmlzRnVuY3Rpb24ocyk/KGhbdF09ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbigpe3JldHVybiBpLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LG49ZnVuY3Rpb24oZSl7cmV0dXJuIGkucHJvdG90eXBlW3RdLmFwcGx5KHRoaXMsZSl9O3JldHVybiBmdW5jdGlvbigpe3ZhciB0LGk9dGhpcy5fc3VwZXIsYT10aGlzLl9zdXBlckFwcGx5O3JldHVybiB0aGlzLl9zdXBlcj1lLHRoaXMuX3N1cGVyQXBwbHk9bix0PXMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX3N1cGVyPWksdGhpcy5fc3VwZXJBcHBseT1hLHR9fSgpLHZvaWQgMCk6KGhbdF09cyx2b2lkIDApfSksby5wcm90b3R5cGU9ZS53aWRnZXQuZXh0ZW5kKHIse3dpZGdldEV2ZW50UHJlZml4OmE/ci53aWRnZXRFdmVudFByZWZpeHx8dDp0fSxoLHtjb25zdHJ1Y3RvcjpvLG5hbWVzcGFjZTpsLHdpZGdldE5hbWU6dCx3aWRnZXRGdWxsTmFtZTpufSksYT8oZS5lYWNoKGEuX2NoaWxkQ29uc3RydWN0b3JzLGZ1bmN0aW9uKHQsaSl7dmFyIHM9aS5wcm90b3R5cGU7ZS53aWRnZXQocy5uYW1lc3BhY2UrIi4iK3Mud2lkZ2V0TmFtZSxvLGkuX3Byb3RvKX0pLGRlbGV0ZSBhLl9jaGlsZENvbnN0cnVjdG9ycyk6aS5fY2hpbGRDb25zdHJ1Y3RvcnMucHVzaChvKSxlLndpZGdldC5icmlkZ2UodCxvKSxvfSxlLndpZGdldC5leHRlbmQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBpLHMsbj11LmNhbGwoYXJndW1lbnRzLDEpLGE9MCxvPW4ubGVuZ3RoO28+YTthKyspZm9yKGkgaW4gblthXSlzPW5bYV1baV0sblthXS5oYXNPd25Qcm9wZXJ0eShpKSYmdm9pZCAwIT09cyYmKHRbaV09ZS5pc1BsYWluT2JqZWN0KHMpP2UuaXNQbGFpbk9iamVjdCh0W2ldKT9lLndpZGdldC5leHRlbmQoe30sdFtpXSxzKTplLndpZGdldC5leHRlbmQoe30scyk6cyk7cmV0dXJuIHR9LGUud2lkZ2V0LmJyaWRnZT1mdW5jdGlvbih0LGkpe3ZhciBzPWkucHJvdG90eXBlLndpZGdldEZ1bGxOYW1lfHx0O2UuZm5bdF09ZnVuY3Rpb24obil7dmFyIGE9InN0cmluZyI9PXR5cGVvZiBuLG89dS5jYWxsKGFyZ3VtZW50cywxKSxyPXRoaXM7cmV0dXJuIGE/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGksYT1lLmRhdGEodGhpcyxzKTtyZXR1cm4iaW5zdGFuY2UiPT09bj8ocj1hLCExKTphP2UuaXNGdW5jdGlvbihhW25dKSYmIl8iIT09bi5jaGFyQXQoMCk/KGk9YVtuXS5hcHBseShhLG8pLGkhPT1hJiZ2b2lkIDAhPT1pPyhyPWkmJmkuanF1ZXJ5P3IucHVzaFN0YWNrKGkuZ2V0KCkpOmksITEpOnZvaWQgMCk6ZS5lcnJvcigibm8gc3VjaCBtZXRob2QgJyIrbisiJyBmb3IgIit0KyIgd2lkZ2V0IGluc3RhbmNlIik6ZS5lcnJvcigiY2Fubm90IGNhbGwgbWV0aG9kcyBvbiAiK3QrIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgIisiYXR0ZW1wdGVkIHRvIGNhbGwgbWV0aG9kICciK24rIiciKX0pOihvLmxlbmd0aCYmKG49ZS53aWRnZXQuZXh0ZW5kLmFwcGx5KG51bGwsW25dLmNvbmNhdChvKSkpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUuZGF0YSh0aGlzLHMpO3Q/KHQub3B0aW9uKG58fHt9KSx0Ll9pbml0JiZ0Ll9pbml0KCkpOmUuZGF0YSh0aGlzLHMsbmV3IGkobix0aGlzKSl9KSkscn19LGUuV2lkZ2V0PWZ1bmN0aW9uKCl7fSxlLldpZGdldC5fY2hpbGRDb25zdHJ1Y3RvcnM9W10sZS5XaWRnZXQucHJvdG90eXBlPXt3aWRnZXROYW1lOiJ3aWRnZXQiLHdpZGdldEV2ZW50UHJlZml4OiIiLGRlZmF1bHRFbGVtZW50OiI8ZGl2PiIsb3B0aW9uczp7ZGlzYWJsZWQ6ITEsY3JlYXRlOm51bGx9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24odCxpKXtpPWUoaXx8dGhpcy5kZWZhdWx0RWxlbWVudHx8dGhpcylbMF0sdGhpcy5lbGVtZW50PWUoaSksdGhpcy51dWlkPWwrKyx0aGlzLmV2ZW50TmFtZXNwYWNlPSIuIit0aGlzLndpZGdldE5hbWUrdGhpcy51dWlkLHRoaXMuYmluZGluZ3M9ZSgpLHRoaXMuaG92ZXJhYmxlPWUoKSx0aGlzLmZvY3VzYWJsZT1lKCksaSE9PXRoaXMmJihlLmRhdGEoaSx0aGlzLndpZGdldEZ1bGxOYW1lLHRoaXMpLHRoaXMuX29uKCEwLHRoaXMuZWxlbWVudCx7cmVtb3ZlOmZ1bmN0aW9uKGUpe2UudGFyZ2V0PT09aSYmdGhpcy5kZXN0cm95KCl9fSksdGhpcy5kb2N1bWVudD1lKGkuc3R5bGU/aS5vd25lckRvY3VtZW50OmkuZG9jdW1lbnR8fGkpLHRoaXMud2luZG93PWUodGhpcy5kb2N1bWVudFswXS5kZWZhdWx0Vmlld3x8dGhpcy5kb2N1bWVudFswXS5wYXJlbnRXaW5kb3cpKSx0aGlzLm9wdGlvbnM9ZS53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyx0aGlzLl9nZXRDcmVhdGVPcHRpb25zKCksdCksdGhpcy5fY3JlYXRlKCksdGhpcy5fdHJpZ2dlcigiY3JlYXRlIixudWxsLHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpKSx0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmUubm9vcCxfZ2V0Q3JlYXRlRXZlbnREYXRhOmUubm9vcCxfY3JlYXRlOmUubm9vcCxfaW5pdDplLm5vb3AsZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX2Rlc3Ryb3koKSx0aGlzLmVsZW1lbnQudW5iaW5kKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZURhdGEodGhpcy53aWRnZXRGdWxsTmFtZSkucmVtb3ZlRGF0YShlLmNhbWVsQ2FzZSh0aGlzLndpZGdldEZ1bGxOYW1lKSksdGhpcy53aWRnZXQoKS51bmJpbmQodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKHRoaXMud2lkZ2V0RnVsbE5hbWUrIi1kaXNhYmxlZCAiKyJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHRoaXMuYmluZGluZ3MudW5iaW5kKHRoaXMuZXZlbnROYW1lc3BhY2UpLHRoaXMuaG92ZXJhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuZm9jdXNhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSxfZGVzdHJveTplLm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhLG89dDtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZS53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlmKG89e30scz10LnNwbGl0KCIuIiksdD1zLnNoaWZ0KCkscy5sZW5ndGgpe2ZvcihuPW9bdF09ZS53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1t0XSksYT0wO3MubGVuZ3RoLTE+YTthKyspbltzW2FdXT1uW3NbYV1dfHx7fSxuPW5bc1thXV07aWYodD1zLnBvcCgpLDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1uW3RdP251bGw6blt0XTtuW3RdPWl9ZWxzZXtpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zW3RdP251bGw6dGhpcy5vcHRpb25zW3RdO29bdF09aX1yZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyhvKSx0aGlzfSxfc2V0T3B0aW9uczpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXRoaXMuX3NldE9wdGlvbih0LGVbdF0pO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub3B0aW9uc1tlXT10LCJkaXNhYmxlZCI9PT1lJiYodGhpcy53aWRnZXQoKS50b2dnbGVDbGFzcyh0aGlzLndpZGdldEZ1bGxOYW1lKyItZGlzYWJsZWQiLCEhdCksdCYmKHRoaXMuaG92ZXJhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuZm9jdXNhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpKSksdGhpc30sZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOiExfSl9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6ITB9KX0sX29uOmZ1bmN0aW9uKHQsaSxzKXt2YXIgbixhPXRoaXM7ImJvb2xlYW4iIT10eXBlb2YgdCYmKHM9aSxpPXQsdD0hMSkscz8oaT1uPWUoaSksdGhpcy5iaW5kaW5ncz10aGlzLmJpbmRpbmdzLmFkZChpKSk6KHM9aSxpPXRoaXMuZWxlbWVudCxuPXRoaXMud2lkZ2V0KCkpLGUuZWFjaChzLGZ1bmN0aW9uKHMsbyl7ZnVuY3Rpb24gcigpe3JldHVybiB0fHxhLm9wdGlvbnMuZGlzYWJsZWQhPT0hMCYmIWUodGhpcykuaGFzQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik/KCJzdHJpbmciPT10eXBlb2Ygbz9hW29dOm8pLmFwcGx5KGEsYXJndW1lbnRzKTp2b2lkIDB9InN0cmluZyIhPXR5cGVvZiBvJiYoci5ndWlkPW8uZ3VpZD1vLmd1aWR8fHIuZ3VpZHx8ZS5ndWlkKyspO3ZhciBoPXMubWF0Y2goL14oW1x3Oi1dKilccyooLiopJC8pLGw9aFsxXSthLmV2ZW50TmFtZXNwYWNlLHU9aFsyXTt1P24uZGVsZWdhdGUodSxsLHIpOmkuYmluZChsLHIpfSl9LF9vZmY6ZnVuY3Rpb24odCxpKXtpPShpfHwiIikuc3BsaXQoIiAiKS5qb2luKHRoaXMuZXZlbnROYW1lc3BhY2UrIiAiKSt0aGlzLmV2ZW50TmFtZXNwYWNlLHQudW5iaW5kKGkpLnVuZGVsZWdhdGUoaSksdGhpcy5iaW5kaW5ncz1lKHRoaXMuYmluZGluZ3Mubm90KHQpLmdldCgpKSx0aGlzLmZvY3VzYWJsZT1lKHRoaXMuZm9jdXNhYmxlLm5vdCh0KS5nZXQoKSksdGhpcy5ob3ZlcmFibGU9ZSh0aGlzLmhvdmVyYWJsZS5ub3QodCkuZ2V0KCkpfSxfZGVsYXk6ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBpKCl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9zW2VdOmUpLmFwcGx5KHMsYXJndW1lbnRzKX12YXIgcz10aGlzO3JldHVybiBzZXRUaW1lb3V0KGksdHx8MCl9LF9ob3ZlcmFibGU6ZnVuY3Rpb24odCl7dGhpcy5ob3ZlcmFibGU9dGhpcy5ob3ZlcmFibGUuYWRkKHQpLHRoaXMuX29uKHQse21vdXNlZW50ZXI6ZnVuY3Rpb24odCl7ZSh0LmN1cnJlbnRUYXJnZXQpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSxtb3VzZWxlYXZlOmZ1bmN0aW9uKHQpe2UodC5jdXJyZW50VGFyZ2V0KS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKX19KX0sX2ZvY3VzYWJsZTpmdW5jdGlvbih0KXt0aGlzLmZvY3VzYWJsZT10aGlzLmZvY3VzYWJsZS5hZGQodCksdGhpcy5fb24odCx7Zm9jdXNpbjpmdW5jdGlvbih0KXtlKHQuY3VycmVudFRhcmdldCkuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9LGZvY3Vzb3V0OmZ1bmN0aW9uKHQpe2UodC5jdXJyZW50VGFyZ2V0KS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKX19KX0sX3RyaWdnZXI6ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGEsbz10aGlzLm9wdGlvbnNbdF07aWYocz1zfHx7fSxpPWUuRXZlbnQoaSksaS50eXBlPSh0PT09dGhpcy53aWRnZXRFdmVudFByZWZpeD90OnRoaXMud2lkZ2V0RXZlbnRQcmVmaXgrdCkudG9Mb3dlckNhc2UoKSxpLnRhcmdldD10aGlzLmVsZW1lbnRbMF0sYT1pLm9yaWdpbmFsRXZlbnQpZm9yKG4gaW4gYSluIGluIGl8fChpW25dPWFbbl0pO3JldHVybiB0aGlzLmVsZW1lbnQudHJpZ2dlcihpLHMpLCEoZS5pc0Z1bmN0aW9uKG8pJiZvLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbaV0uY29uY2F0KHMpKT09PSExfHxpLmlzRGVmYXVsdFByZXZlbnRlZCgpKX19LGUuZWFjaCh7c2hvdzoiZmFkZUluIixoaWRlOiJmYWRlT3V0In0sZnVuY3Rpb24odCxpKXtlLldpZGdldC5wcm90b3R5cGVbIl8iK3RdPWZ1bmN0aW9uKHMsbixhKXsic3RyaW5nIj09dHlwZW9mIG4mJihuPXtlZmZlY3Q6bn0pO3ZhciBvLHI9bj9uPT09ITB8fCJudW1iZXIiPT10eXBlb2Ygbj9pOm4uZWZmZWN0fHxpOnQ7bj1ufHx7fSwibnVtYmVyIj09dHlwZW9mIG4mJihuPXtkdXJhdGlvbjpufSksbz0hZS5pc0VtcHR5T2JqZWN0KG4pLG4uY29tcGxldGU9YSxuLmRlbGF5JiZzLmRlbGF5KG4uZGVsYXkpLG8mJmUuZWZmZWN0cyYmZS5lZmZlY3RzLmVmZmVjdFtyXT9zW3RdKG4pOnIhPT10JiZzW3JdP3Nbcl0obi5kdXJhdGlvbixuLmVhc2luZyxhKTpzLnF1ZXVlKGZ1bmN0aW9uKGkpe2UodGhpcylbdF0oKSxhJiZhLmNhbGwoc1swXSksaSgpfSl9fSksZS53aWRnZXQ7dmFyIGQ9ITE7ZShkb2N1bWVudCkubW91c2V1cChmdW5jdGlvbigpe2Q9ITF9KSxlLndpZGdldCgidWkubW91c2UiLHt2ZXJzaW9uOiIxLjExLjQiLG9wdGlvbnM6e2NhbmNlbDoiaW5wdXQsdGV4dGFyZWEsYnV0dG9uLHNlbGVjdCxvcHRpb24iLGRpc3RhbmNlOjEsZGVsYXk6MH0sX21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5lbGVtZW50LmJpbmQoIm1vdXNlZG93bi4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihlKXtyZXR1cm4gdC5fbW91c2VEb3duKGUpfSkuYmluZCgiY2xpY2suIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oaSl7cmV0dXJuITA9PT1lLmRhdGEoaS50YXJnZXQsdC53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKT8oZS5yZW1vdmVEYXRhKGkudGFyZ2V0LHQud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IiksaS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSwhMSk6dm9pZCAwfSksdGhpcy5zdGFydGVkPSExfSxfbW91c2VEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSYmdGhpcy5kb2N1bWVudC51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSl9LF9tb3VzZURvd246ZnVuY3Rpb24odCl7aWYoIWQpe3RoaXMuX21vdXNlTW92ZWQ9ITEsdGhpcy5fbW91c2VTdGFydGVkJiZ0aGlzLl9tb3VzZVVwKHQpLHRoaXMuX21vdXNlRG93bkV2ZW50PXQ7dmFyIGk9dGhpcyxzPTE9PT10LndoaWNoLG49InN0cmluZyI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuY2FuY2VsJiZ0LnRhcmdldC5ub2RlTmFtZT9lKHQudGFyZ2V0KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5jYW5jZWwpLmxlbmd0aDohMTtyZXR1cm4gcyYmIW4mJnRoaXMuX21vdXNlQ2FwdHVyZSh0KT8odGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXksdGhpcy5tb3VzZURlbGF5TWV0fHwodGhpcy5fbW91c2VEZWxheVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLm1vdXNlRGVsYXlNZXQ9ITB9LHRoaXMub3B0aW9ucy5kZWxheSkpLHRoaXMuX21vdXNlRGlzdGFuY2VNZXQodCkmJnRoaXMuX21vdXNlRGVsYXlNZXQodCkmJih0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91c2VTdGFydCh0KSE9PSExLCF0aGlzLl9tb3VzZVN0YXJ0ZWQpPyh0LnByZXZlbnREZWZhdWx0KCksITApOighMD09PWUuZGF0YSh0LnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpJiZlLnJlbW92ZURhdGEodC50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZT1mdW5jdGlvbihlKXtyZXR1cm4gaS5fbW91c2VNb3ZlKGUpfSx0aGlzLl9tb3VzZVVwRGVsZWdhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuX21vdXNlVXAoZSl9LHRoaXMuZG9jdW1lbnQuYmluZCgibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSksdC5wcmV2ZW50RGVmYXVsdCgpLGQ9ITAsITApKTohMH19LF9tb3VzZU1vdmU6ZnVuY3Rpb24odCl7aWYodGhpcy5fbW91c2VNb3ZlZCl7aWYoZS51aS5pZSYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fDk+ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKSYmIXQuYnV0dG9uKXJldHVybiB0aGlzLl9tb3VzZVVwKHQpO2lmKCF0LndoaWNoKXJldHVybiB0aGlzLl9tb3VzZVVwKHQpfXJldHVybih0LndoaWNofHx0LmJ1dHRvbikmJih0aGlzLl9tb3VzZU1vdmVkPSEwKSx0aGlzLl9tb3VzZVN0YXJ0ZWQ/KHRoaXMuX21vdXNlRHJhZyh0KSx0LnByZXZlbnREZWZhdWx0KCkpOih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KHQpJiZ0aGlzLl9tb3VzZURlbGF5TWV0KHQpJiYodGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsdCkhPT0hMSx0aGlzLl9tb3VzZVN0YXJ0ZWQ/dGhpcy5fbW91c2VEcmFnKHQpOnRoaXMuX21vdXNlVXAodCkpLCF0aGlzLl9tb3VzZVN0YXJ0ZWQpfSxfbW91c2VVcDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kb2N1bWVudC51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSksdGhpcy5fbW91c2VTdGFydGVkJiYodGhpcy5fbW91c2VTdGFydGVkPSExLHQudGFyZ2V0PT09dGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0JiZlLmRhdGEodC50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiLCEwKSx0aGlzLl9tb3VzZVN0b3AodCkpLGQ9ITEsITF9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC1lLnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1lLnBhZ2VZKSk+PXRoaXMub3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpmdW5jdGlvbigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbigpe3JldHVybiEwfX0pLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLHQsaSl7cmV0dXJuW3BhcnNlRmxvYXQoZVswXSkqKHAudGVzdChlWzBdKT90LzEwMDoxKSxwYXJzZUZsb2F0KGVbMV0pKihwLnRlc3QoZVsxXSk/aS8xMDA6MSldfWZ1bmN0aW9uIGkodCxpKXtyZXR1cm4gcGFyc2VJbnQoZS5jc3ModCxpKSwxMCl8fDB9ZnVuY3Rpb24gcyh0KXt2YXIgaT10WzBdO3JldHVybiA5PT09aS5ub2RlVHlwZT97d2lkdGg6dC53aWR0aCgpLGhlaWdodDp0LmhlaWdodCgpLG9mZnNldDp7dG9wOjAsbGVmdDowfX06ZS5pc1dpbmRvdyhpKT97d2lkdGg6dC53aWR0aCgpLGhlaWdodDp0LmhlaWdodCgpLG9mZnNldDp7dG9wOnQuc2Nyb2xsVG9wKCksbGVmdDp0LnNjcm9sbExlZnQoKX19OmkucHJldmVudERlZmF1bHQ/e3dpZHRoOjAsaGVpZ2h0OjAsb2Zmc2V0Ont0b3A6aS5wYWdlWSxsZWZ0OmkucGFnZVh9fTp7d2lkdGg6dC5vdXRlcldpZHRoKCksaGVpZ2h0OnQub3V0ZXJIZWlnaHQoKSxvZmZzZXQ6dC5vZmZzZXQoKX19ZS51aT1lLnVpfHx7fTt2YXIgbixhLG89TWF0aC5tYXgscj1NYXRoLmFicyxoPU1hdGgucm91bmQsbD0vbGVmdHxjZW50ZXJ8cmlnaHQvLHU9L3RvcHxjZW50ZXJ8Ym90dG9tLyxkPS9bXCtcLV1cZCsoXC5bXGRdKyk/JT8vLGM9L15cdysvLHA9LyUkLyxmPWUuZm4ucG9zaXRpb247ZS5wb3NpdGlvbj17c2Nyb2xsYmFyV2lkdGg6ZnVuY3Rpb24oKXtpZih2b2lkIDAhPT1uKXJldHVybiBuO3ZhciB0LGkscz1lKCI8ZGl2IHN0eWxlPSdkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6aGlkZGVuOyc+PGRpdiBzdHlsZT0naGVpZ2h0OjEwMHB4O3dpZHRoOmF1dG87Jz48L2Rpdj48L2Rpdj4iKSxhPXMuY2hpbGRyZW4oKVswXTtyZXR1cm4gZSgiYm9keSIpLmFwcGVuZChzKSx0PWEub2Zmc2V0V2lkdGgscy5jc3MoIm92ZXJmbG93Iiwic2Nyb2xsIiksaT1hLm9mZnNldFdpZHRoLHQ9PT1pJiYoaT1zWzBdLmNsaWVudFdpZHRoKSxzLnJlbW92ZSgpLG49dC1pfSxnZXRTY3JvbGxJbmZvOmZ1bmN0aW9uKHQpe3ZhciBpPXQuaXNXaW5kb3d8fHQuaXNEb2N1bWVudD8iIjp0LmVsZW1lbnQuY3NzKCJvdmVyZmxvdy14Iikscz10LmlzV2luZG93fHx0LmlzRG9jdW1lbnQ/IiI6dC5lbGVtZW50LmNzcygib3ZlcmZsb3cteSIpLG49InNjcm9sbCI9PT1pfHwiYXV0byI9PT1pJiZ0LndpZHRoPHQuZWxlbWVudFswXS5zY3JvbGxXaWR0aCxhPSJzY3JvbGwiPT09c3x8ImF1dG8iPT09cyYmdC5oZWlnaHQ8dC5lbGVtZW50WzBdLnNjcm9sbEhlaWdodDtyZXR1cm57d2lkdGg6YT9lLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCk6MCxoZWlnaHQ6bj9lLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCk6MH19LGdldFdpdGhpbkluZm86ZnVuY3Rpb24odCl7dmFyIGk9ZSh0fHx3aW5kb3cpLHM9ZS5pc1dpbmRvdyhpWzBdKSxuPSEhaVswXSYmOT09PWlbMF0ubm9kZVR5cGU7cmV0dXJue2VsZW1lbnQ6aSxpc1dpbmRvdzpzLGlzRG9jdW1lbnQ6bixvZmZzZXQ6aS5vZmZzZXQoKXx8e2xlZnQ6MCx0b3A6MH0sc2Nyb2xsTGVmdDppLnNjcm9sbExlZnQoKSxzY3JvbGxUb3A6aS5zY3JvbGxUb3AoKSx3aWR0aDpzfHxuP2kud2lkdGgoKTppLm91dGVyV2lkdGgoKSxoZWlnaHQ6c3x8bj9pLmhlaWdodCgpOmkub3V0ZXJIZWlnaHQoKX19fSxlLmZuLnBvc2l0aW9uPWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5vZilyZXR1cm4gZi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bj1lLmV4dGVuZCh7fSxuKTt2YXIgcCxtLGcsdix5LGIsXz1lKG4ub2YpLHg9ZS5wb3NpdGlvbi5nZXRXaXRoaW5JbmZvKG4ud2l0aGluKSxrPWUucG9zaXRpb24uZ2V0U2Nyb2xsSW5mbyh4KSx3PShuLmNvbGxpc2lvbnx8ImZsaXAiKS5zcGxpdCgiICIpLFQ9e307cmV0dXJuIGI9cyhfKSxfWzBdLnByZXZlbnREZWZhdWx0JiYobi5hdD0ibGVmdCB0b3AiKSxtPWIud2lkdGgsZz1iLmhlaWdodCx2PWIub2Zmc2V0LHk9ZS5leHRlbmQoe30sdiksZS5lYWNoKFsibXkiLCJhdCJdLGZ1bmN0aW9uKCl7dmFyIGUsdCxpPShuW3RoaXNdfHwiIikuc3BsaXQoIiAiKTsxPT09aS5sZW5ndGgmJihpPWwudGVzdChpWzBdKT9pLmNvbmNhdChbImNlbnRlciJdKTp1LnRlc3QoaVswXSk/WyJjZW50ZXIiXS5jb25jYXQoaSk6WyJjZW50ZXIiLCJjZW50ZXIiXSksaVswXT1sLnRlc3QoaVswXSk/aVswXToiY2VudGVyIixpWzFdPXUudGVzdChpWzFdKT9pWzFdOiJjZW50ZXIiLGU9ZC5leGVjKGlbMF0pLHQ9ZC5leGVjKGlbMV0pLFRbdGhpc109W2U/ZVswXTowLHQ/dFswXTowXSxuW3RoaXNdPVtjLmV4ZWMoaVswXSlbMF0sYy5leGVjKGlbMV0pWzBdXX0pLDE9PT13Lmxlbmd0aCYmKHdbMV09d1swXSksInJpZ2h0Ij09PW4uYXRbMF0/eS5sZWZ0Kz1tOiJjZW50ZXIiPT09bi5hdFswXSYmKHkubGVmdCs9bS8yKSwiYm90dG9tIj09PW4uYXRbMV0/eS50b3ArPWc6ImNlbnRlciI9PT1uLmF0WzFdJiYoeS50b3ArPWcvMikscD10KFQuYXQsbSxnKSx5LmxlZnQrPXBbMF0seS50b3ArPXBbMV0sdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHMsbCx1PWUodGhpcyksZD11Lm91dGVyV2lkdGgoKSxjPXUub3V0ZXJIZWlnaHQoKSxmPWkodGhpcywibWFyZ2luTGVmdCIpLGI9aSh0aGlzLCJtYXJnaW5Ub3AiKSxEPWQrZitpKHRoaXMsIm1hcmdpblJpZ2h0Iikray53aWR0aCxTPWMrYitpKHRoaXMsIm1hcmdpbkJvdHRvbSIpK2suaGVpZ2h0LE09ZS5leHRlbmQoe30seSksTj10KFQubXksdS5vdXRlcldpZHRoKCksdS5vdXRlckhlaWdodCgpKTsicmlnaHQiPT09bi5teVswXT9NLmxlZnQtPWQ6ImNlbnRlciI9PT1uLm15WzBdJiYoTS5sZWZ0LT1kLzIpLCJib3R0b20iPT09bi5teVsxXT9NLnRvcC09YzoiY2VudGVyIj09PW4ubXlbMV0mJihNLnRvcC09Yy8yKSxNLmxlZnQrPU5bMF0sTS50b3ArPU5bMV0sYXx8KE0ubGVmdD1oKE0ubGVmdCksTS50b3A9aChNLnRvcCkpLHM9e21hcmdpbkxlZnQ6ZixtYXJnaW5Ub3A6Yn0sZS5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKHQsaSl7ZS51aS5wb3NpdGlvblt3W3RdXSYmZS51aS5wb3NpdGlvblt3W3RdXVtpXShNLHt0YXJnZXRXaWR0aDptLHRhcmdldEhlaWdodDpnLGVsZW1XaWR0aDpkLGVsZW1IZWlnaHQ6Yyxjb2xsaXNpb25Qb3NpdGlvbjpzLGNvbGxpc2lvbldpZHRoOkQsY29sbGlzaW9uSGVpZ2h0OlMsb2Zmc2V0OltwWzBdK05bMF0scFsxXStOWzFdXSxteTpuLm15LGF0Om4uYXQsd2l0aGluOngsZWxlbTp1fSl9KSxuLnVzaW5nJiYobD1mdW5jdGlvbihlKXt2YXIgdD12LmxlZnQtTS5sZWZ0LGk9dCttLWQscz12LnRvcC1NLnRvcCxhPXMrZy1jLGg9e3RhcmdldDp7ZWxlbWVudDpfLGxlZnQ6di5sZWZ0LHRvcDp2LnRvcCx3aWR0aDptLGhlaWdodDpnfSxlbGVtZW50OntlbGVtZW50OnUsbGVmdDpNLmxlZnQsdG9wOk0udG9wLHdpZHRoOmQsaGVpZ2h0OmN9LGhvcml6b250YWw6MD5pPyJsZWZ0Ijp0PjA/InJpZ2h0IjoiY2VudGVyIix2ZXJ0aWNhbDowPmE/InRvcCI6cz4wPyJib3R0b20iOiJtaWRkbGUifTtkPm0mJm0+cih0K2kpJiYoaC5ob3Jpem9udGFsPSJjZW50ZXIiKSxjPmcmJmc+cihzK2EpJiYoaC52ZXJ0aWNhbD0ibWlkZGxlIiksaC5pbXBvcnRhbnQ9byhyKHQpLHIoaSkpPm8ocihzKSxyKGEpKT8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIixuLnVzaW5nLmNhbGwodGhpcyxlLGgpfSksdS5vZmZzZXQoZS5leHRlbmQoTSx7dXNpbmc6bH0pKX0pfSxlLnVpLnBvc2l0aW9uPXtmaXQ6e2xlZnQ6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzPXQud2l0aGluLG49cy5pc1dpbmRvdz9zLnNjcm9sbExlZnQ6cy5vZmZzZXQubGVmdCxhPXMud2lkdGgscj1lLmxlZnQtdC5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0LGg9bi1yLGw9cit0LmNvbGxpc2lvbldpZHRoLWEtbjt0LmNvbGxpc2lvbldpZHRoPmE/aD4wJiYwPj1sPyhpPWUubGVmdCtoK3QuY29sbGlzaW9uV2lkdGgtYS1uLGUubGVmdCs9aC1pKTplLmxlZnQ9bD4wJiYwPj1oP246aD5sP24rYS10LmNvbGxpc2lvbldpZHRoOm46aD4wP2UubGVmdCs9aDpsPjA/ZS5sZWZ0LT1sOmUubGVmdD1vKGUubGVmdC1yLGUubGVmdCl9LHRvcDpmdW5jdGlvbihlLHQpe3ZhciBpLHM9dC53aXRoaW4sbj1zLmlzV2luZG93P3Muc2Nyb2xsVG9wOnMub2Zmc2V0LnRvcCxhPXQud2l0aGluLmhlaWdodCxyPWUudG9wLXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLGg9bi1yLGw9cit0LmNvbGxpc2lvbkhlaWdodC1hLW47dC5jb2xsaXNpb25IZWlnaHQ+YT9oPjAmJjA+PWw/KGk9ZS50b3AraCt0LmNvbGxpc2lvbkhlaWdodC1hLW4sZS50b3ArPWgtaSk6ZS50b3A9bD4wJiYwPj1oP246aD5sP24rYS10LmNvbGxpc2lvbkhlaWdodDpuOmg+MD9lLnRvcCs9aDpsPjA/ZS50b3AtPWw6ZS50b3A9byhlLnRvcC1yLGUudG9wKX19LGZsaXA6e2xlZnQ6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzLG49dC53aXRoaW4sYT1uLm9mZnNldC5sZWZ0K24uc2Nyb2xsTGVmdCxvPW4ud2lkdGgsaD1uLmlzV2luZG93P24uc2Nyb2xsTGVmdDpuLm9mZnNldC5sZWZ0LGw9ZS5sZWZ0LXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCx1PWwtaCxkPWwrdC5jb2xsaXNpb25XaWR0aC1vLWgsYz0ibGVmdCI9PT10Lm15WzBdPy10LmVsZW1XaWR0aDoicmlnaHQiPT09dC5teVswXT90LmVsZW1XaWR0aDowLHA9ImxlZnQiPT09dC5hdFswXT90LnRhcmdldFdpZHRoOiJyaWdodCI9PT10LmF0WzBdPy10LnRhcmdldFdpZHRoOjAsZj0tMip0Lm9mZnNldFswXTswPnU/KGk9ZS5sZWZ0K2MrcCtmK3QuY29sbGlzaW9uV2lkdGgtby1hLCgwPml8fHIodSk+aSkmJihlLmxlZnQrPWMrcCtmKSk6ZD4wJiYocz1lLmxlZnQtdC5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0K2MrcCtmLWgsKHM+MHx8ZD5yKHMpKSYmKGUubGVmdCs9YytwK2YpKX0sdG9wOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxuPXQud2l0aGluLGE9bi5vZmZzZXQudG9wK24uc2Nyb2xsVG9wLG89bi5oZWlnaHQsaD1uLmlzV2luZG93P24uc2Nyb2xsVG9wOm4ub2Zmc2V0LnRvcCxsPWUudG9wLXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLHU9bC1oLGQ9bCt0LmNvbGxpc2lvbkhlaWdodC1vLWgsYz0idG9wIj09PXQubXlbMV0scD1jPy10LmVsZW1IZWlnaHQ6ImJvdHRvbSI9PT10Lm15WzFdP3QuZWxlbUhlaWdodDowLGY9InRvcCI9PT10LmF0WzFdP3QudGFyZ2V0SGVpZ2h0OiJib3R0b20iPT09dC5hdFsxXT8tdC50YXJnZXRIZWlnaHQ6MCxtPS0yKnQub2Zmc2V0WzFdOzA+dT8ocz1lLnRvcCtwK2YrbSt0LmNvbGxpc2lvbkhlaWdodC1vLWEsKDA+c3x8cih1KT5zKSYmKGUudG9wKz1wK2YrbSkpOmQ+MCYmKGk9ZS50b3AtdC5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5Ub3ArcCtmK20taCwoaT4wfHxkPnIoaSkpJiYoZS50b3ArPXArZittKSl9fSxmbGlwZml0OntsZWZ0OmZ1bmN0aW9uKCl7ZS51aS5wb3NpdGlvbi5mbGlwLmxlZnQuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudWkucG9zaXRpb24uZml0LmxlZnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0b3A6ZnVuY3Rpb24oKXtlLnVpLnBvc2l0aW9uLmZsaXAudG9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnVpLnBvc2l0aW9uLmZpdC50b3AuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19LGZ1bmN0aW9uKCl7dmFyIHQsaSxzLG4sbyxyPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0saD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocj8iZGl2IjoiYm9keSIpLHM9e3Zpc2liaWxpdHk6ImhpZGRlbiIsd2lkdGg6MCxoZWlnaHQ6MCxib3JkZXI6MCxtYXJnaW46MCxiYWNrZ3JvdW5kOiJub25lIn0sciYmZS5leHRlbmQocyx7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiItMTAwMHB4Iix0b3A6Ii0xMDAwcHgifSk7Zm9yKG8gaW4gcyl0LnN0eWxlW29dPXNbb107dC5hcHBlbmRDaGlsZChoKSxpPXJ8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpLmluc2VydEJlZm9yZSh0LGkuZmlyc3RDaGlsZCksaC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDEwLjc0MzIyMjJweDsiLG49ZShoKS5vZmZzZXQoKS5sZWZ0LGE9bj4xMCYmMTE+bix0LmlubmVySFRNTD0iIixpLnJlbW92ZUNoaWxkKHQpfSgpfSgpLGUudWkucG9zaXRpb24sZS53aWRnZXQoInVpLmRyYWdnYWJsZSIsZS51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMS40Iix3aWRnZXRFdmVudFByZWZpeDoiZHJhZyIsb3B0aW9uczp7YWRkQ2xhc3NlczohMCxhcHBlbmRUbzoicGFyZW50IixheGlzOiExLGNvbm5lY3RUb1NvcnRhYmxlOiExLGNvbnRhaW5tZW50OiExLGN1cnNvcjoiYXV0byIsY3Vyc29yQXQ6ITEsZ3JpZDohMSxoYW5kbGU6ITEsaGVscGVyOiJvcmlnaW5hbCIsaWZyYW1lRml4OiExLG9wYWNpdHk6ITEscmVmcmVzaFBvc2l0aW9uczohMSxyZXZlcnQ6ITEscmV2ZXJ0RHVyYXRpb246NTAwLHNjb3BlOiJkZWZhdWx0IixzY3JvbGw6ITAsc2Nyb2xsU2Vuc2l0aXZpdHk6MjAsc2Nyb2xsU3BlZWQ6MjAsc25hcDohMSxzbmFwTW9kZToiYm90aCIsc25hcFRvbGVyYW5jZToyMCxzdGFjazohMSx6SW5kZXg6ITEsZHJhZzpudWxsLHN0YXJ0Om51bGwsc3RvcDpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7Im9yaWdpbmFsIj09PXRoaXMub3B0aW9ucy5oZWxwZXImJnRoaXMuX3NldFBvc2l0aW9uUmVsYXRpdmUoKSx0aGlzLm9wdGlvbnMuYWRkQ2xhc3NlcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kcmFnZ2FibGUiKSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRpc2FibGVkIiksdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCksdGhpcy5fbW91c2VJbml0KCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXt0aGlzLl9zdXBlcihlLHQpLCJoYW5kbGUiPT09ZSYmKHRoaXMuX3JlbW92ZUhhbmRsZUNsYXNzTmFtZSgpLHRoaXMuX3NldEhhbmRsZUNsYXNzTmFtZSgpKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5oZWxwZXJ8fHRoaXMuZWxlbWVudCkuaXMoIi51aS1kcmFnZ2FibGUtZHJhZ2dpbmciKT8odGhpcy5kZXN0cm95T25DbGVhcj0hMCx2b2lkIDApOih0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWktZHJhZ2dhYmxlLWRpc2FibGVkIiksdGhpcy5fcmVtb3ZlSGFuZGxlQ2xhc3NOYW1lKCksdGhpcy5fbW91c2VEZXN0cm95KCksdm9pZCAwKX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMuX2JsdXJBY3RpdmVFbGVtZW50KHQpLHRoaXMuaGVscGVyfHxpLmRpc2FibGVkfHxlKHQudGFyZ2V0KS5jbG9zZXN0KCIudWktcmVzaXphYmxlLWhhbmRsZSIpLmxlbmd0aD4wPyExOih0aGlzLmhhbmRsZT10aGlzLl9nZXRIYW5kbGUodCksdGhpcy5oYW5kbGU/KHRoaXMuX2Jsb2NrRnJhbWVzKGkuaWZyYW1lRml4PT09ITA/ImlmcmFtZSI6aS5pZnJhbWVGaXgpLCEwKTohMSl9LF9ibG9ja0ZyYW1lczpmdW5jdGlvbih0KXt0aGlzLmlmcmFtZUJsb2Nrcz10aGlzLmRvY3VtZW50LmZpbmQodCkubWFwKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtyZXR1cm4gZSgiPGRpdj4iKS5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKS5hcHBlbmRUbyh0LnBhcmVudCgpKS5vdXRlcldpZHRoKHQub3V0ZXJXaWR0aCgpKS5vdXRlckhlaWdodCh0Lm91dGVySGVpZ2h0KCkpLm9mZnNldCh0Lm9mZnNldCgpKVswXX0pfSxfdW5ibG9ja0ZyYW1lczpmdW5jdGlvbigpe3RoaXMuaWZyYW1lQmxvY2tzJiYodGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCksZGVsZXRlIHRoaXMuaWZyYW1lQmxvY2tzKX0sX2JsdXJBY3RpdmVFbGVtZW50OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuZG9jdW1lbnRbMF07aWYodGhpcy5oYW5kbGVFbGVtZW50LmlzKHQudGFyZ2V0KSl0cnl7aS5hY3RpdmVFbGVtZW50JiYiYm9keSIhPT1pLmFjdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmZShpLmFjdGl2ZUVsZW1lbnQpLmJsdXIoKX1jYXRjaChzKXt9fSxfbW91c2VTdGFydDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMuaGVscGVyPXRoaXMuX2NyZWF0ZUhlbHBlcih0KSx0aGlzLmhlbHBlci5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRyYWdnaW5nIiksdGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpLGUudWkuZGRtYW5hZ2VyJiYoZS51aS5kZG1hbmFnZXIuY3VycmVudD10aGlzKSx0aGlzLl9jYWNoZU1hcmdpbnMoKSx0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKSx0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoITApLHRoaXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpLHRoaXMuaGFzRml4ZWRBbmNlc3Rvcj10aGlzLmhlbHBlci5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuImZpeGVkIj09PWUodGhpcykuY3NzKCJwb3NpdGlvbiIpfSkubGVuZ3RoPjAsdGhpcy5wb3NpdGlvbkFicz10aGlzLmVsZW1lbnQub2Zmc2V0KCksdGhpcy5fcmVmcmVzaE9mZnNldHModCksdGhpcy5vcmlnaW5hbFBvc2l0aW9uPXRoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbih0LCExKSx0aGlzLm9yaWdpbmFsUGFnZVg9dC5wYWdlWCx0aGlzLm9yaWdpbmFsUGFnZVk9dC5wYWdlWSxpLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVyKGkuY3Vyc29yQXQpLHRoaXMuX3NldENvbnRhaW5tZW50KCksdGhpcy5fdHJpZ2dlcigic3RhcnQiLHQpPT09ITE/KHRoaXMuX2NsZWFyKCksITEpOih0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCksZS51aS5kZG1hbmFnZXImJiFpLmRyb3BCZWhhdmlvdXImJmUudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsdCksdGhpcy5fbm9ybWFsaXplUmlnaHRCb3R0b20oKSx0aGlzLl9tb3VzZURyYWcodCwhMCksZS51aS5kZG1hbmFnZXImJmUudWkuZGRtYW5hZ2VyLmRyYWdTdGFydCh0aGlzLHQpLCEwKX0sX3JlZnJlc2hPZmZzZXRzOmZ1bmN0aW9uKGUpe3RoaXMub2Zmc2V0PXt0b3A6dGhpcy5wb3NpdGlvbkFicy50b3AtdGhpcy5tYXJnaW5zLnRvcCxsZWZ0OnRoaXMucG9zaXRpb25BYnMubGVmdC10aGlzLm1hcmdpbnMubGVmdCxzY3JvbGw6ITEscGFyZW50OnRoaXMuX2dldFBhcmVudE9mZnNldCgpLHJlbGF0aXZlOnRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCl9LHRoaXMub2Zmc2V0LmNsaWNrPXtsZWZ0OmUucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6ZS5wYWdlWS10aGlzLm9mZnNldC50b3B9fSxfbW91c2VEcmFnOmZ1bmN0aW9uKHQsaSl7aWYodGhpcy5oYXNGaXhlZEFuY2VzdG9yJiYodGhpcy5vZmZzZXQucGFyZW50PXRoaXMuX2dldFBhcmVudE9mZnNldCgpKSx0aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24odCwhMCksdGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKSwhaSl7dmFyIHM9dGhpcy5fdWlIYXNoKCk7aWYodGhpcy5fdHJpZ2dlcigiZHJhZyIsdCxzKT09PSExKXJldHVybiB0aGlzLl9tb3VzZVVwKHt9KSwhMTt0aGlzLnBvc2l0aW9uPXMucG9zaXRpb259cmV0dXJuIHRoaXMuaGVscGVyWzBdLnN0eWxlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIsdGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCIsZS51aS5kZG1hbmFnZXImJmUudWkuZGRtYW5hZ2VyLmRyYWcodGhpcyx0KSwhMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLHM9ITE7cmV0dXJuIGUudWkuZGRtYW5hZ2VyJiYhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXImJihzPWUudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyx0KSksdGhpcy5kcm9wcGVkJiYocz10aGlzLmRyb3BwZWQsdGhpcy5kcm9wcGVkPSExKSwiaW52YWxpZCI9PT10aGlzLm9wdGlvbnMucmV2ZXJ0JiYhc3x8InZhbGlkIj09PXRoaXMub3B0aW9ucy5yZXZlcnQmJnN8fHRoaXMub3B0aW9ucy5yZXZlcnQ9PT0hMHx8ZS5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5yZXZlcnQpJiZ0aGlzLm9wdGlvbnMucmV2ZXJ0LmNhbGwodGhpcy5lbGVtZW50LHMpP2UodGhpcy5oZWxwZXIpLmFuaW1hdGUodGhpcy5vcmlnaW5hbFBvc2l0aW9uLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnREdXJhdGlvbiwxMCksZnVuY3Rpb24oKXtpLl90cmlnZ2VyKCJzdG9wIix0KSE9PSExJiZpLl9jbGVhcigpfSk6dGhpcy5fdHJpZ2dlcigic3RvcCIsdCkhPT0hMSYmdGhpcy5fY2xlYXIoKSwhMX0sX21vdXNlVXA6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3VuYmxvY2tGcmFtZXMoKSxlLnVpLmRkbWFuYWdlciYmZS51aS5kZG1hbmFnZXIuZHJhZ1N0b3AodGhpcyx0KSx0aGlzLmhhbmRsZUVsZW1lbnQuaXModC50YXJnZXQpJiZ0aGlzLmVsZW1lbnQuZm9jdXMoKSxlLnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VVcC5jYWxsKHRoaXMsdCl9LGNhbmNlbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhlbHBlci5pcygiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpP3RoaXMuX21vdXNlVXAoe30pOnRoaXMuX2NsZWFyKCksdGhpc30sX2dldEhhbmRsZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLmhhbmRsZT8hIWUodC50YXJnZXQpLmNsb3Nlc3QodGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLmhhbmRsZSkpLmxlbmd0aDohMH0sX3NldEhhbmRsZUNsYXNzTmFtZTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlRWxlbWVudD10aGlzLm9wdGlvbnMuaGFuZGxlP3RoaXMuZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5oYW5kbGUpOnRoaXMuZWxlbWVudCx0aGlzLmhhbmRsZUVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1oYW5kbGUiKX0sX3JlbW92ZUhhbmRsZUNsYXNzTmFtZTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlRWxlbWVudC5yZW1vdmVDbGFzcygidWktZHJhZ2dhYmxlLWhhbmRsZSIpfSxfY3JlYXRlSGVscGVyOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucyxzPWUuaXNGdW5jdGlvbihpLmhlbHBlciksbj1zP2UoaS5oZWxwZXIuYXBwbHkodGhpcy5lbGVtZW50WzBdLFt0XSkpOiJjbG9uZSI9PT1pLmhlbHBlcj90aGlzLmVsZW1lbnQuY2xvbmUoKS5yZW1vdmVBdHRyKCJpZCIpOnRoaXMuZWxlbWVudDtyZXR1cm4gbi5wYXJlbnRzKCJib2R5IikubGVuZ3RofHxuLmFwcGVuZFRvKCJwYXJlbnQiPT09aS5hcHBlbmRUbz90aGlzLmVsZW1lbnRbMF0ucGFyZW50Tm9kZTppLmFwcGVuZFRvKSxzJiZuWzBdPT09dGhpcy5lbGVtZW50WzBdJiZ0aGlzLl9zZXRQb3NpdGlvblJlbGF0aXZlKCksblswXT09PXRoaXMuZWxlbWVudFswXXx8LyhmaXhlZHxhYnNvbHV0ZSkvLnRlc3Qobi5jc3MoInBvc2l0aW9uIikpfHxuLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpLG59LF9zZXRQb3NpdGlvblJlbGF0aXZlOmZ1bmN0aW9uKCl7L14oPzpyfGF8ZikvLnRlc3QodGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSl8fCh0aGlzLmVsZW1lbnRbMF0uc3R5bGUucG9zaXRpb249InJlbGF0aXZlIil9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKHQpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC5zcGxpdCgiICIpKSxlLmlzQXJyYXkodCkmJih0PXtsZWZ0Oit0WzBdLHRvcDordFsxXXx8MH0pLCJsZWZ0ImluIHQmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXQubGVmdCt0aGlzLm1hcmdpbnMubGVmdCksInJpZ2h0ImluIHQmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdC5yaWdodCt0aGlzLm1hcmdpbnMubGVmdCksInRvcCJpbiB0JiYodGhpcy5vZmZzZXQuY2xpY2sudG9wPXQudG9wK3RoaXMubWFyZ2lucy50b3ApLCJib3R0b20iaW4gdCYmKHRoaXMub2Zmc2V0LmNsaWNrLnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10LmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wKX0sX2lzUm9vdE5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuLyhodG1sfGJvZHkpL2kudGVzdChlLnRhZ05hbWUpfHxlPT09dGhpcy5kb2N1bWVudFswXX0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3ZhciB0PXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpLGk9dGhpcy5kb2N1bWVudFswXTtyZXR1cm4iYWJzb2x1dGUiPT09dGhpcy5jc3NQb3NpdGlvbiYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPT1pJiZlLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSYmKHQubGVmdCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpLHQudG9wKz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSksdGhpcy5faXNSb290Tm9kZSh0aGlzLm9mZnNldFBhcmVudFswXSkmJih0PXt0b3A6MCxsZWZ0OjB9KSx7dG9wOnQudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OnQubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYoInJlbGF0aXZlIiE9PXRoaXMuY3NzUG9zaXRpb24pcmV0dXJue3RvcDowLGxlZnQ6MH07dmFyIGU9dGhpcy5lbGVtZW50LnBvc2l0aW9uKCksdD10aGlzLl9pc1Jvb3ROb2RlKHRoaXMuc2Nyb2xsUGFyZW50WzBdKTtyZXR1cm57dG9wOmUudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkrKHQ/MDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSksbGVmdDplLmxlZnQtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrKHQ/MDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCkpfX0sX2NhY2hlTWFyZ2luczpmdW5jdGlvbigpe3RoaXMubWFyZ2lucz17bGVmdDpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5MZWZ0IiksMTApfHwwLHRvcDpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDAscmlnaHQ6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luUmlnaHQiKSwxMCl8fDAsYm90dG9tOnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpbkJvdHRvbSIpLDEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIHQsaSxzLG49dGhpcy5vcHRpb25zLGE9dGhpcy5kb2N1bWVudFswXTtyZXR1cm4gdGhpcy5yZWxhdGl2ZUNvbnRhaW5lcj1udWxsLG4uY29udGFpbm1lbnQ/IndpbmRvdyI9PT1uLmNvbnRhaW5tZW50Pyh0aGlzLmNvbnRhaW5tZW50PVtlKHdpbmRvdykuc2Nyb2xsTGVmdCgpLXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsZSh3aW5kb3cpLnNjcm9sbFRvcCgpLXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLGUod2luZG93KS5zY3JvbGxMZWZ0KCkrZSh3aW5kb3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCxlKHdpbmRvdykuc2Nyb2xsVG9wKCkrKGUod2luZG93KS5oZWlnaHQoKXx8YS5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXSx2b2lkIDApOiJkb2N1bWVudCI9PT1uLmNvbnRhaW5tZW50Pyh0aGlzLmNvbnRhaW5tZW50PVswLDAsZShhKS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsKGUoYSkuaGVpZ2h0KCl8fGEuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF0sdm9pZCAwKTpuLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yPT09QXJyYXk/KHRoaXMuY29udGFpbm1lbnQ9bi5jb250YWlubWVudCx2b2lkIDApOigicGFyZW50Ij09PW4uY29udGFpbm1lbnQmJihuLmNvbnRhaW5tZW50PXRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGUpLGk9ZShuLmNvbnRhaW5tZW50KSxzPWlbMF0scyYmKHQ9LyhzY3JvbGx8YXV0bykvLnRlc3QoaS5jc3MoIm92ZXJmbG93IikpLHRoaXMuY29udGFpbm1lbnQ9WyhwYXJzZUludChpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoaS5jc3MoInBhZGRpbmdMZWZ0IiksMTApfHwwKSwocGFyc2VJbnQoaS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoaS5jc3MoInBhZGRpbmdUb3AiKSwxMCl8fDApLCh0P01hdGgubWF4KHMuc2Nyb2xsV2lkdGgscy5vZmZzZXRXaWR0aCk6cy5vZmZzZXRXaWR0aCktKHBhcnNlSW50KGkuY3NzKCJib3JkZXJSaWdodFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoaS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdC10aGlzLm1hcmdpbnMucmlnaHQsKHQ/TWF0aC5tYXgocy5zY3JvbGxIZWlnaHQscy5vZmZzZXRIZWlnaHQpOnMub2Zmc2V0SGVpZ2h0KS0ocGFyc2VJbnQoaS5jc3MoImJvcmRlckJvdHRvbVdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoaS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3AtdGhpcy5tYXJnaW5zLmJvdHRvbV0sdGhpcy5yZWxhdGl2ZUNvbnRhaW5lcj1pKSx2b2lkIDApOih0aGlzLmNvbnRhaW5tZW50PW51bGwsdm9pZCAwKX0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKGUsdCl7dHx8KHQ9dGhpcy5wb3NpdGlvbik7dmFyIGk9ImFic29sdXRlIj09PWU/MTotMSxzPXRoaXMuX2lzUm9vdE5vZGUodGhpcy5zY3JvbGxQYXJlbnRbMF0pO3JldHVybnt0b3A6dC50b3ArdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wKmkrdGhpcy5vZmZzZXQucGFyZW50LnRvcCppLSgiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5vZmZzZXQuc2Nyb2xsLnRvcDpzPzA6dGhpcy5vZmZzZXQuc2Nyb2xsLnRvcCkqaSxsZWZ0OnQubGVmdCt0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0KmkrdGhpcy5vZmZzZXQucGFyZW50LmxlZnQqaS0oImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0OnM/MDp0aGlzLm9mZnNldC5zY3JvbGwubGVmdCkqaX19LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxuLGEsbz10aGlzLm9wdGlvbnMscj10aGlzLl9pc1Jvb3ROb2RlKHRoaXMuc2Nyb2xsUGFyZW50WzBdKSxoPWUucGFnZVgsbD1lLnBhZ2VZO3JldHVybiByJiZ0aGlzLm9mZnNldC5zY3JvbGx8fCh0aGlzLm9mZnNldC5zY3JvbGw9e3RvcDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxsZWZ0OnRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKX0pLHQmJih0aGlzLmNvbnRhaW5tZW50JiYodGhpcy5yZWxhdGl2ZUNvbnRhaW5lcj8ocz10aGlzLnJlbGF0aXZlQ29udGFpbmVyLm9mZnNldCgpLGk9W3RoaXMuY29udGFpbm1lbnRbMF0rcy5sZWZ0LHRoaXMuY29udGFpbm1lbnRbMV0rcy50b3AsdGhpcy5jb250YWlubWVudFsyXStzLmxlZnQsdGhpcy5jb250YWlubWVudFszXStzLnRvcF0pOmk9dGhpcy5jb250YWlubWVudCxlLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8aVswXSYmKGg9aVswXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0KSxlLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDxpWzFdJiYobD1pWzFdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCksZS5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PmlbMl0mJihoPWlbMl0rdGhpcy5vZmZzZXQuY2xpY2subGVmdCksZS5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A+aVszXSYmKGw9aVszXSt0aGlzLm9mZnNldC5jbGljay50b3ApKSxvLmdyaWQmJihuPW8uZ3JpZFsxXT90aGlzLm9yaWdpbmFsUGFnZVkrTWF0aC5yb3VuZCgobC10aGlzLm9yaWdpbmFsUGFnZVkpL28uZ3JpZFsxXSkqby5ncmlkWzFdOnRoaXMub3JpZ2luYWxQYWdlWSxsPWk/bi10aGlzLm9mZnNldC5jbGljay50b3A+PWlbMV18fG4tdGhpcy5vZmZzZXQuY2xpY2sudG9wPmlbM10/bjpuLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD49aVsxXT9uLW8uZ3JpZFsxXTpuK28uZ3JpZFsxXTpuLGE9by5ncmlkWzBdP3RoaXMub3JpZ2luYWxQYWdlWCtNYXRoLnJvdW5kKChoLXRoaXMub3JpZ2luYWxQYWdlWCkvby5ncmlkWzBdKSpvLmdyaWRbMF06dGhpcy5vcmlnaW5hbFBhZ2VYLGg9aT9hLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+PWlbMF18fGEtdGhpcy5vZmZzZXQuY2xpY2subGVmdD5pWzJdP2E6YS10aGlzLm9mZnNldC5jbGljay5sZWZ0Pj1pWzBdP2Etby5ncmlkWzBdOmErby5ncmlkWzBdOmEpLCJ5Ij09PW8uYXhpcyYmKGg9dGhpcy5vcmlnaW5hbFBhZ2VYKSwieCI9PT1vLmF4aXMmJihsPXRoaXMub3JpZ2luYWxQYWdlWSkpLHt0b3A6bC10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKCJmaXhlZCI9PT10aGlzLmNzc1Bvc2l0aW9uPy10aGlzLm9mZnNldC5zY3JvbGwudG9wOnI/MDp0aGlzLm9mZnNldC5zY3JvbGwudG9wKSxsZWZ0OmgtdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KygiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5vZmZzZXQuc2Nyb2xsLmxlZnQ6cj8wOnRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0KX0KfSxfY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlci5yZW1vdmVDbGFzcygidWktZHJhZ2dhYmxlLWRyYWdnaW5nIiksdGhpcy5oZWxwZXJbMF09PT10aGlzLmVsZW1lbnRbMF18fHRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbHx8dGhpcy5oZWxwZXIucmVtb3ZlKCksdGhpcy5oZWxwZXI9bnVsbCx0aGlzLmNhbmNlbEhlbHBlclJlbW92YWw9ITEsdGhpcy5kZXN0cm95T25DbGVhciYmdGhpcy5kZXN0cm95KCl9LF9ub3JtYWxpemVSaWdodEJvdHRvbTpmdW5jdGlvbigpeyJ5IiE9PXRoaXMub3B0aW9ucy5heGlzJiYiYXV0byIhPT10aGlzLmhlbHBlci5jc3MoInJpZ2h0IikmJih0aGlzLmhlbHBlci53aWR0aCh0aGlzLmhlbHBlci53aWR0aCgpKSx0aGlzLmhlbHBlci5jc3MoInJpZ2h0IiwiYXV0byIpKSwieCIhPT10aGlzLm9wdGlvbnMuYXhpcyYmImF1dG8iIT09dGhpcy5oZWxwZXIuY3NzKCJib3R0b20iKSYmKHRoaXMuaGVscGVyLmhlaWdodCh0aGlzLmhlbHBlci5oZWlnaHQoKSksdGhpcy5oZWxwZXIuY3NzKCJib3R0b20iLCJhdXRvIikpfSxfdHJpZ2dlcjpmdW5jdGlvbih0LGkscyl7cmV0dXJuIHM9c3x8dGhpcy5fdWlIYXNoKCksZS51aS5wbHVnaW4uY2FsbCh0aGlzLHQsW2kscyx0aGlzXSwhMCksL14oZHJhZ3xzdGFydHxzdG9wKS8udGVzdCh0KSYmKHRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIikscy5vZmZzZXQ9dGhpcy5wb3NpdGlvbkFicyksZS5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmNhbGwodGhpcyx0LGkscyl9LHBsdWdpbnM6e30sX3VpSGFzaDpmdW5jdGlvbigpe3JldHVybntoZWxwZXI6dGhpcy5oZWxwZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9uOnRoaXMub3JpZ2luYWxQb3NpdGlvbixvZmZzZXQ6dGhpcy5wb3NpdGlvbkFic319fSksZS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjb25uZWN0VG9Tb3J0YWJsZSIse3N0YXJ0OmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1lLmV4dGVuZCh7fSxpLHtpdGVtOnMuZWxlbWVudH0pO3Muc29ydGFibGVzPVtdLGUocy5vcHRpb25zLmNvbm5lY3RUb1NvcnRhYmxlKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9ZSh0aGlzKS5zb3J0YWJsZSgiaW5zdGFuY2UiKTtpJiYhaS5vcHRpb25zLmRpc2FibGVkJiYocy5zb3J0YWJsZXMucHVzaChpKSxpLnJlZnJlc2hQb3NpdGlvbnMoKSxpLl90cmlnZ2VyKCJhY3RpdmF0ZSIsdCxuKSl9KX0sc3RvcDpmdW5jdGlvbih0LGkscyl7dmFyIG49ZS5leHRlbmQoe30saSx7aXRlbTpzLmVsZW1lbnR9KTtzLmNhbmNlbEhlbHBlclJlbW92YWw9ITEsZS5lYWNoKHMuc29ydGFibGVzLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLmlzT3Zlcj8oZS5pc092ZXI9MCxzLmNhbmNlbEhlbHBlclJlbW92YWw9ITAsZS5jYW5jZWxIZWxwZXJSZW1vdmFsPSExLGUuX3N0b3JlZENTUz17cG9zaXRpb246ZS5wbGFjZWhvbGRlci5jc3MoInBvc2l0aW9uIiksdG9wOmUucGxhY2Vob2xkZXIuY3NzKCJ0b3AiKSxsZWZ0OmUucGxhY2Vob2xkZXIuY3NzKCJsZWZ0Iil9LGUuX21vdXNlU3RvcCh0KSxlLm9wdGlvbnMuaGVscGVyPWUub3B0aW9ucy5faGVscGVyKTooZS5jYW5jZWxIZWxwZXJSZW1vdmFsPSEwLGUuX3RyaWdnZXIoImRlYWN0aXZhdGUiLHQsbikpfSl9LGRyYWc6ZnVuY3Rpb24odCxpLHMpe2UuZWFjaChzLnNvcnRhYmxlcyxmdW5jdGlvbigpe3ZhciBuPSExLGE9dGhpczthLnBvc2l0aW9uQWJzPXMucG9zaXRpb25BYnMsYS5oZWxwZXJQcm9wb3J0aW9ucz1zLmhlbHBlclByb3BvcnRpb25zLGEub2Zmc2V0LmNsaWNrPXMub2Zmc2V0LmNsaWNrLGEuX2ludGVyc2VjdHNXaXRoKGEuY29udGFpbmVyQ2FjaGUpJiYobj0hMCxlLmVhY2gocy5zb3J0YWJsZXMsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wb3NpdGlvbkFicz1zLnBvc2l0aW9uQWJzLHRoaXMuaGVscGVyUHJvcG9ydGlvbnM9cy5oZWxwZXJQcm9wb3J0aW9ucyx0aGlzLm9mZnNldC5jbGljaz1zLm9mZnNldC5jbGljayx0aGlzIT09YSYmdGhpcy5faW50ZXJzZWN0c1dpdGgodGhpcy5jb250YWluZXJDYWNoZSkmJmUuY29udGFpbnMoYS5lbGVtZW50WzBdLHRoaXMuZWxlbWVudFswXSkmJihuPSExKSxufSkpLG4/KGEuaXNPdmVyfHwoYS5pc092ZXI9MSxzLl9wYXJlbnQ9aS5oZWxwZXIucGFyZW50KCksYS5jdXJyZW50SXRlbT1pLmhlbHBlci5hcHBlbmRUbyhhLmVsZW1lbnQpLmRhdGEoInVpLXNvcnRhYmxlLWl0ZW0iLCEwKSxhLm9wdGlvbnMuX2hlbHBlcj1hLm9wdGlvbnMuaGVscGVyLGEub3B0aW9ucy5oZWxwZXI9ZnVuY3Rpb24oKXtyZXR1cm4gaS5oZWxwZXJbMF19LHQudGFyZ2V0PWEuY3VycmVudEl0ZW1bMF0sYS5fbW91c2VDYXB0dXJlKHQsITApLGEuX21vdXNlU3RhcnQodCwhMCwhMCksYS5vZmZzZXQuY2xpY2sudG9wPXMub2Zmc2V0LmNsaWNrLnRvcCxhLm9mZnNldC5jbGljay5sZWZ0PXMub2Zmc2V0LmNsaWNrLmxlZnQsYS5vZmZzZXQucGFyZW50LmxlZnQtPXMub2Zmc2V0LnBhcmVudC5sZWZ0LWEub2Zmc2V0LnBhcmVudC5sZWZ0LGEub2Zmc2V0LnBhcmVudC50b3AtPXMub2Zmc2V0LnBhcmVudC50b3AtYS5vZmZzZXQucGFyZW50LnRvcCxzLl90cmlnZ2VyKCJ0b1NvcnRhYmxlIix0KSxzLmRyb3BwZWQ9YS5lbGVtZW50LGUuZWFjaChzLnNvcnRhYmxlcyxmdW5jdGlvbigpe3RoaXMucmVmcmVzaFBvc2l0aW9ucygpfSkscy5jdXJyZW50SXRlbT1zLmVsZW1lbnQsYS5mcm9tT3V0c2lkZT1zKSxhLmN1cnJlbnRJdGVtJiYoYS5fbW91c2VEcmFnKHQpLGkucG9zaXRpb249YS5wb3NpdGlvbikpOmEuaXNPdmVyJiYoYS5pc092ZXI9MCxhLmNhbmNlbEhlbHBlclJlbW92YWw9ITAsYS5vcHRpb25zLl9yZXZlcnQ9YS5vcHRpb25zLnJldmVydCxhLm9wdGlvbnMucmV2ZXJ0PSExLGEuX3RyaWdnZXIoIm91dCIsdCxhLl91aUhhc2goYSkpLGEuX21vdXNlU3RvcCh0LCEwKSxhLm9wdGlvbnMucmV2ZXJ0PWEub3B0aW9ucy5fcmV2ZXJ0LGEub3B0aW9ucy5oZWxwZXI9YS5vcHRpb25zLl9oZWxwZXIsYS5wbGFjZWhvbGRlciYmYS5wbGFjZWhvbGRlci5yZW1vdmUoKSxpLmhlbHBlci5hcHBlbmRUbyhzLl9wYXJlbnQpLHMuX3JlZnJlc2hPZmZzZXRzKHQpLGkucG9zaXRpb249cy5fZ2VuZXJhdGVQb3NpdGlvbih0LCEwKSxzLl90cmlnZ2VyKCJmcm9tU29ydGFibGUiLHQpLHMuZHJvcHBlZD0hMSxlLmVhY2gocy5zb3J0YWJsZXMsZnVuY3Rpb24oKXt0aGlzLnJlZnJlc2hQb3NpdGlvbnMoKX0pKX0pfX0pLGUudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwiY3Vyc29yIix7c3RhcnQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPWUoImJvZHkiKSxhPXMub3B0aW9ucztuLmNzcygiY3Vyc29yIikmJihhLl9jdXJzb3I9bi5jc3MoImN1cnNvciIpKSxuLmNzcygiY3Vyc29yIixhLmN1cnNvcil9LHN0b3A6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXMub3B0aW9ucztuLl9jdXJzb3ImJmUoImJvZHkiKS5jc3MoImN1cnNvciIsbi5fY3Vyc29yKX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsIm9wYWNpdHkiLHtzdGFydDpmdW5jdGlvbih0LGkscyl7dmFyIG49ZShpLmhlbHBlciksYT1zLm9wdGlvbnM7bi5jc3MoIm9wYWNpdHkiKSYmKGEuX29wYWNpdHk9bi5jc3MoIm9wYWNpdHkiKSksbi5jc3MoIm9wYWNpdHkiLGEub3BhY2l0eSl9LHN0b3A6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXMub3B0aW9ucztuLl9vcGFjaXR5JiZlKGkuaGVscGVyKS5jc3MoIm9wYWNpdHkiLG4uX29wYWNpdHkpfX0pLGUudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic2Nyb2xsIix7c3RhcnQ6ZnVuY3Rpb24oZSx0LGkpe2kuc2Nyb2xsUGFyZW50Tm90SGlkZGVufHwoaS5zY3JvbGxQYXJlbnROb3RIaWRkZW49aS5oZWxwZXIuc2Nyb2xsUGFyZW50KCExKSksaS5zY3JvbGxQYXJlbnROb3RIaWRkZW5bMF0hPT1pLmRvY3VtZW50WzBdJiYiSFRNTCIhPT1pLnNjcm9sbFBhcmVudE5vdEhpZGRlblswXS50YWdOYW1lJiYoaS5vdmVyZmxvd09mZnNldD1pLnNjcm9sbFBhcmVudE5vdEhpZGRlbi5vZmZzZXQoKSl9LGRyYWc6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXMub3B0aW9ucyxhPSExLG89cy5zY3JvbGxQYXJlbnROb3RIaWRkZW5bMF0scj1zLmRvY3VtZW50WzBdO28hPT1yJiYiSFRNTCIhPT1vLnRhZ05hbWU/KG4uYXhpcyYmIngiPT09bi5heGlzfHwocy5vdmVyZmxvd09mZnNldC50b3Arby5vZmZzZXRIZWlnaHQtdC5wYWdlWTxuLnNjcm9sbFNlbnNpdGl2aXR5P28uc2Nyb2xsVG9wPWE9by5zY3JvbGxUb3Arbi5zY3JvbGxTcGVlZDp0LnBhZ2VZLXMub3ZlcmZsb3dPZmZzZXQudG9wPG4uc2Nyb2xsU2Vuc2l0aXZpdHkmJihvLnNjcm9sbFRvcD1hPW8uc2Nyb2xsVG9wLW4uc2Nyb2xsU3BlZWQpKSxuLmF4aXMmJiJ5Ij09PW4uYXhpc3x8KHMub3ZlcmZsb3dPZmZzZXQubGVmdCtvLm9mZnNldFdpZHRoLXQucGFnZVg8bi5zY3JvbGxTZW5zaXRpdml0eT9vLnNjcm9sbExlZnQ9YT1vLnNjcm9sbExlZnQrbi5zY3JvbGxTcGVlZDp0LnBhZ2VYLXMub3ZlcmZsb3dPZmZzZXQubGVmdDxuLnNjcm9sbFNlbnNpdGl2aXR5JiYoby5zY3JvbGxMZWZ0PWE9by5zY3JvbGxMZWZ0LW4uc2Nyb2xsU3BlZWQpKSk6KG4uYXhpcyYmIngiPT09bi5heGlzfHwodC5wYWdlWS1lKHIpLnNjcm9sbFRvcCgpPG4uc2Nyb2xsU2Vuc2l0aXZpdHk/YT1lKHIpLnNjcm9sbFRvcChlKHIpLnNjcm9sbFRvcCgpLW4uc2Nyb2xsU3BlZWQpOmUod2luZG93KS5oZWlnaHQoKS0odC5wYWdlWS1lKHIpLnNjcm9sbFRvcCgpKTxuLnNjcm9sbFNlbnNpdGl2aXR5JiYoYT1lKHIpLnNjcm9sbFRvcChlKHIpLnNjcm9sbFRvcCgpK24uc2Nyb2xsU3BlZWQpKSksbi5heGlzJiYieSI9PT1uLmF4aXN8fCh0LnBhZ2VYLWUocikuc2Nyb2xsTGVmdCgpPG4uc2Nyb2xsU2Vuc2l0aXZpdHk/YT1lKHIpLnNjcm9sbExlZnQoZShyKS5zY3JvbGxMZWZ0KCktbi5zY3JvbGxTcGVlZCk6ZSh3aW5kb3cpLndpZHRoKCktKHQucGFnZVgtZShyKS5zY3JvbGxMZWZ0KCkpPG4uc2Nyb2xsU2Vuc2l0aXZpdHkmJihhPWUocikuc2Nyb2xsTGVmdChlKHIpLnNjcm9sbExlZnQoKStuLnNjcm9sbFNwZWVkKSkpKSxhIT09ITEmJmUudWkuZGRtYW5hZ2VyJiYhbi5kcm9wQmVoYXZpb3VyJiZlLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhzLHQpfX0pLGUudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic25hcCIse3N0YXJ0OmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1zLm9wdGlvbnM7cy5zbmFwRWxlbWVudHM9W10sZShuLnNuYXAuY29uc3RydWN0b3IhPT1TdHJpbmc/bi5zbmFwLml0ZW1zfHwiOmRhdGEodWktZHJhZ2dhYmxlKSI6bi5zbmFwKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxpPXQub2Zmc2V0KCk7dGhpcyE9PXMuZWxlbWVudFswXSYmcy5zbmFwRWxlbWVudHMucHVzaCh7aXRlbTp0aGlzLHdpZHRoOnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0Lm91dGVySGVpZ2h0KCksdG9wOmkudG9wLGxlZnQ6aS5sZWZ0fSl9KX0sZHJhZzpmdW5jdGlvbih0LGkscyl7dmFyIG4sYSxvLHIsaCxsLHUsZCxjLHAsZj1zLm9wdGlvbnMsbT1mLnNuYXBUb2xlcmFuY2UsZz1pLm9mZnNldC5sZWZ0LHY9ZytzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLHk9aS5vZmZzZXQudG9wLGI9eStzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodDtmb3IoYz1zLnNuYXBFbGVtZW50cy5sZW5ndGgtMTtjPj0wO2MtLSloPXMuc25hcEVsZW1lbnRzW2NdLmxlZnQtcy5tYXJnaW5zLmxlZnQsbD1oK3Muc25hcEVsZW1lbnRzW2NdLndpZHRoLHU9cy5zbmFwRWxlbWVudHNbY10udG9wLXMubWFyZ2lucy50b3AsZD11K3Muc25hcEVsZW1lbnRzW2NdLmhlaWdodCxoLW0+dnx8Zz5sK218fHUtbT5ifHx5PmQrbXx8IWUuY29udGFpbnMocy5zbmFwRWxlbWVudHNbY10uaXRlbS5vd25lckRvY3VtZW50LHMuc25hcEVsZW1lbnRzW2NdLml0ZW0pPyhzLnNuYXBFbGVtZW50c1tjXS5zbmFwcGluZyYmcy5vcHRpb25zLnNuYXAucmVsZWFzZSYmcy5vcHRpb25zLnNuYXAucmVsZWFzZS5jYWxsKHMuZWxlbWVudCx0LGUuZXh0ZW5kKHMuX3VpSGFzaCgpLHtzbmFwSXRlbTpzLnNuYXBFbGVtZW50c1tjXS5pdGVtfSkpLHMuc25hcEVsZW1lbnRzW2NdLnNuYXBwaW5nPSExKTooImlubmVyIiE9PWYuc25hcE1vZGUmJihuPW0+PU1hdGguYWJzKHUtYiksYT1tPj1NYXRoLmFicyhkLXkpLG89bT49TWF0aC5hYnMoaC12KSxyPW0+PU1hdGguYWJzKGwtZyksbiYmKGkucG9zaXRpb24udG9wPXMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDp1LXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRvcCksYSYmKGkucG9zaXRpb24udG9wPXMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDpkLGxlZnQ6MH0pLnRvcCksbyYmKGkucG9zaXRpb24ubGVmdD1zLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Omgtcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aH0pLmxlZnQpLHImJihpLnBvc2l0aW9uLmxlZnQ9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpsfSkubGVmdCkpLHA9bnx8YXx8b3x8ciwib3V0ZXIiIT09Zi5zbmFwTW9kZSYmKG49bT49TWF0aC5hYnModS15KSxhPW0+PU1hdGguYWJzKGQtYiksbz1tPj1NYXRoLmFicyhoLWcpLHI9bT49TWF0aC5hYnMobC12KSxuJiYoaS5wb3NpdGlvbi50b3A9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOnUsbGVmdDowfSkudG9wKSxhJiYoaS5wb3NpdGlvbi50b3A9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmQtcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsbGVmdDowfSkudG9wKSxvJiYoaS5wb3NpdGlvbi5sZWZ0PXMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6aH0pLmxlZnQpLHImJihpLnBvc2l0aW9uLmxlZnQ9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpsLXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGh9KS5sZWZ0KSksIXMuc25hcEVsZW1lbnRzW2NdLnNuYXBwaW5nJiYobnx8YXx8b3x8cnx8cCkmJnMub3B0aW9ucy5zbmFwLnNuYXAmJnMub3B0aW9ucy5zbmFwLnNuYXAuY2FsbChzLmVsZW1lbnQsdCxlLmV4dGVuZChzLl91aUhhc2goKSx7c25hcEl0ZW06cy5zbmFwRWxlbWVudHNbY10uaXRlbX0pKSxzLnNuYXBFbGVtZW50c1tjXS5zbmFwcGluZz1ufHxhfHxvfHxyfHxwKX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInN0YWNrIix7c3RhcnQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGE9cy5vcHRpb25zLG89ZS5tYWtlQXJyYXkoZShhLnN0YWNrKSkuc29ydChmdW5jdGlvbih0LGkpe3JldHVybihwYXJzZUludChlKHQpLmNzcygiekluZGV4IiksMTApfHwwKS0ocGFyc2VJbnQoZShpKS5jc3MoInpJbmRleCIpLDEwKXx8MCl9KTtvLmxlbmd0aCYmKG49cGFyc2VJbnQoZShvWzBdKS5jc3MoInpJbmRleCIpLDEwKXx8MCxlKG8pLmVhY2goZnVuY3Rpb24odCl7ZSh0aGlzKS5jc3MoInpJbmRleCIsbit0KX0pLHRoaXMuY3NzKCJ6SW5kZXgiLG4rby5sZW5ndGgpKX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInpJbmRleCIse3N0YXJ0OmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1lKGkuaGVscGVyKSxhPXMub3B0aW9ucztuLmNzcygiekluZGV4IikmJihhLl96SW5kZXg9bi5jc3MoInpJbmRleCIpKSxuLmNzcygiekluZGV4IixhLnpJbmRleCl9LHN0b3A6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXMub3B0aW9ucztuLl96SW5kZXgmJmUoaS5oZWxwZXIpLmNzcygiekluZGV4IixuLl96SW5kZXgpfX0pLGUudWkuZHJhZ2dhYmxlLGUud2lkZ2V0KCJ1aS5kcm9wcGFibGUiLHt2ZXJzaW9uOiIxLjExLjQiLHdpZGdldEV2ZW50UHJlZml4OiJkcm9wIixvcHRpb25zOnthY2NlcHQ6IioiLGFjdGl2ZUNsYXNzOiExLGFkZENsYXNzZXM6ITAsZ3JlZWR5OiExLGhvdmVyQ2xhc3M6ITEsc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5jZToiaW50ZXJzZWN0IixhY3RpdmF0ZTpudWxsLGRlYWN0aXZhdGU6bnVsbCxkcm9wOm51bGwsb3V0Om51bGwsb3ZlcjpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQsaT10aGlzLm9wdGlvbnMscz1pLmFjY2VwdDt0aGlzLmlzb3Zlcj0hMSx0aGlzLmlzb3V0PSEwLHRoaXMuYWNjZXB0PWUuaXNGdW5jdGlvbihzKT9zOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKHMpfSx0aGlzLnByb3BvcnRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9YXJndW1lbnRzWzBdLHZvaWQgMCk6dD90OnQ9e3dpZHRoOnRoaXMuZWxlbWVudFswXS5vZmZzZXRXaWR0aCxoZWlnaHQ6dGhpcy5lbGVtZW50WzBdLm9mZnNldEhlaWdodH19LHRoaXMuX2FkZFRvTWFuYWdlcihpLnNjb3BlKSxpLmFkZENsYXNzZXMmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZHJvcHBhYmxlIil9LF9hZGRUb01hbmFnZXI6ZnVuY3Rpb24odCl7ZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0XT1lLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3RdfHxbXSxlLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3RdLnB1c2godGhpcyl9LF9zcGxpY2U6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7ZS5sZW5ndGg+dDt0KyspZVt0XT09PXRoaXMmJmUuc3BsaWNlKHQsMSl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dmFyIHQ9ZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0aGlzLm9wdGlvbnMuc2NvcGVdO3RoaXMuX3NwbGljZSh0KSx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyb3BwYWJsZSB1aS1kcm9wcGFibGUtZGlzYWJsZWQiKX0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGkpe2lmKCJhY2NlcHQiPT09dCl0aGlzLmFjY2VwdD1lLmlzRnVuY3Rpb24oaSk/aTpmdW5jdGlvbihlKXtyZXR1cm4gZS5pcyhpKX07ZWxzZSBpZigic2NvcGUiPT09dCl7dmFyIHM9ZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0aGlzLm9wdGlvbnMuc2NvcGVdO3RoaXMuX3NwbGljZShzKSx0aGlzLl9hZGRUb01hbmFnZXIoaSl9dGhpcy5fc3VwZXIodCxpKX0sX2FjdGl2YXRlOmZ1bmN0aW9uKHQpe3ZhciBpPWUudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7dGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzKSxpJiZ0aGlzLl90cmlnZ2VyKCJhY3RpdmF0ZSIsdCx0aGlzLnVpKGkpKX0sX2RlYWN0aXZhdGU6ZnVuY3Rpb24odCl7dmFyIGk9ZS51aS5kZG1hbmFnZXIuY3VycmVudDt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpLGkmJnRoaXMuX3RyaWdnZXIoImRlYWN0aXZhdGUiLHQsdGhpcy51aShpKSl9LF9vdmVyOmZ1bmN0aW9uKHQpe3ZhciBpPWUudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7aSYmKGkuY3VycmVudEl0ZW18fGkuZWxlbWVudClbMF0hPT10aGlzLmVsZW1lbnRbMF0mJnRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLGkuY3VycmVudEl0ZW18fGkuZWxlbWVudCkmJih0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKSx0aGlzLl90cmlnZ2VyKCJvdmVyIix0LHRoaXMudWkoaSkpKX0sX291dDpmdW5jdGlvbih0KXt2YXIgaT1lLnVpLmRkbWFuYWdlci5jdXJyZW50O2kmJihpLmN1cnJlbnRJdGVtfHxpLmVsZW1lbnQpWzBdIT09dGhpcy5lbGVtZW50WzBdJiZ0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxpLmN1cnJlbnRJdGVtfHxpLmVsZW1lbnQpJiYodGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyksdGhpcy5fdHJpZ2dlcigib3V0Iix0LHRoaXMudWkoaSkpKX0sX2Ryb3A6ZnVuY3Rpb24odCxpKXt2YXIgcz1pfHxlLnVpLmRkbWFuYWdlci5jdXJyZW50LG49ITE7cmV0dXJuIHMmJihzLmN1cnJlbnRJdGVtfHxzLmVsZW1lbnQpWzBdIT09dGhpcy5lbGVtZW50WzBdPyh0aGlzLmVsZW1lbnQuZmluZCgiOmRhdGEodWktZHJvcHBhYmxlKSIpLm5vdCgiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lKHRoaXMpLmRyb3BwYWJsZSgiaW5zdGFuY2UiKTtyZXR1cm4gaS5vcHRpb25zLmdyZWVkeSYmIWkub3B0aW9ucy5kaXNhYmxlZCYmaS5vcHRpb25zLnNjb3BlPT09cy5vcHRpb25zLnNjb3BlJiZpLmFjY2VwdC5jYWxsKGkuZWxlbWVudFswXSxzLmN1cnJlbnRJdGVtfHxzLmVsZW1lbnQpJiZlLnVpLmludGVyc2VjdChzLGUuZXh0ZW5kKGkse29mZnNldDppLmVsZW1lbnQub2Zmc2V0KCl9KSxpLm9wdGlvbnMudG9sZXJhbmNlLHQpPyhuPSEwLCExKTp2b2lkIDB9KSxuPyExOnRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLHMuY3VycmVudEl0ZW18fHMuZWxlbWVudCk/KHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyksdGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyksdGhpcy5fdHJpZ2dlcigiZHJvcCIsdCx0aGlzLnVpKHMpKSx0aGlzLmVsZW1lbnQpOiExKTohMX0sdWk6ZnVuY3Rpb24oZSl7cmV0dXJue2RyYWdnYWJsZTplLmN1cnJlbnRJdGVtfHxlLmVsZW1lbnQsaGVscGVyOmUuaGVscGVyLHBvc2l0aW9uOmUucG9zaXRpb24sb2Zmc2V0OmUucG9zaXRpb25BYnN9fX0pLGUudWkuaW50ZXJzZWN0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsaSl7cmV0dXJuIGU+PXQmJnQraT5lfXJldHVybiBmdW5jdGlvbih0LGkscyxuKXtpZighaS5vZmZzZXQpcmV0dXJuITE7dmFyIGE9KHQucG9zaXRpb25BYnN8fHQucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQrdC5tYXJnaW5zLmxlZnQsbz0odC5wb3NpdGlvbkFic3x8dC5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wK3QubWFyZ2lucy50b3Ascj1hK3QuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsaD1vK3QuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGw9aS5vZmZzZXQubGVmdCx1PWkub2Zmc2V0LnRvcCxkPWwraS5wcm9wb3J0aW9ucygpLndpZHRoLGM9dStpLnByb3BvcnRpb25zKCkuaGVpZ2h0O3N3aXRjaChzKXtjYXNlImZpdCI6cmV0dXJuIGE+PWwmJmQ+PXImJm8+PXUmJmM+PWg7Y2FzZSJpbnRlcnNlY3QiOnJldHVybiBhK3QuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMj5sJiZkPnItdC5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZvK3QuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI+dSYmYz5oLXQuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI7Y2FzZSJwb2ludGVyIjpyZXR1cm4gZShuLnBhZ2VZLHUsaS5wcm9wb3J0aW9ucygpLmhlaWdodCkmJmUobi5wYWdlWCxsLGkucHJvcG9ydGlvbnMoKS53aWR0aCk7Y2FzZSJ0b3VjaCI6cmV0dXJuKG8+PXUmJmM+PW98fGg+PXUmJmM+PWh8fHU+byYmaD5jKSYmKGE+PWwmJmQ+PWF8fHI+PWwmJmQ+PXJ8fGw+YSYmcj5kKTtkZWZhdWx0OnJldHVybiExfX19KCksZS51aS5kZG1hbmFnZXI9e2N1cnJlbnQ6bnVsbCxkcm9wcGFibGVzOnsiZGVmYXVsdCI6W119LHByZXBhcmVPZmZzZXRzOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhPWUudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbdC5vcHRpb25zLnNjb3BlXXx8W10sbz1pP2kudHlwZTpudWxsLHI9KHQuY3VycmVudEl0ZW18fHQuZWxlbWVudCkuZmluZCgiOmRhdGEodWktZHJvcHBhYmxlKSIpLmFkZEJhY2soKTtlOmZvcihzPTA7YS5sZW5ndGg+cztzKyspaWYoIShhW3NdLm9wdGlvbnMuZGlzYWJsZWR8fHQmJiFhW3NdLmFjY2VwdC5jYWxsKGFbc10uZWxlbWVudFswXSx0LmN1cnJlbnRJdGVtfHx0LmVsZW1lbnQpKSl7Zm9yKG49MDtyLmxlbmd0aD5uO24rKylpZihyW25dPT09YVtzXS5lbGVtZW50WzBdKXthW3NdLnByb3BvcnRpb25zKCkuaGVpZ2h0PTA7Y29udGludWUgZX1hW3NdLnZpc2libGU9Im5vbmUiIT09YVtzXS5lbGVtZW50LmNzcygiZGlzcGxheSIpLGFbc10udmlzaWJsZSYmKCJtb3VzZWRvd24iPT09byYmYVtzXS5fYWN0aXZhdGUuY2FsbChhW3NdLGkpLGFbc10ub2Zmc2V0PWFbc10uZWxlbWVudC5vZmZzZXQoKSxhW3NdLnByb3BvcnRpb25zKHt3aWR0aDphW3NdLmVsZW1lbnRbMF0ub2Zmc2V0V2lkdGgsaGVpZ2h0OmFbc10uZWxlbWVudFswXS5vZmZzZXRIZWlnaHR9KSl9fSxkcm9wOmZ1bmN0aW9uKHQsaSl7dmFyIHM9ITE7cmV0dXJuIGUuZWFjaCgoZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0Lm9wdGlvbnMuc2NvcGVdfHxbXSkuc2xpY2UoKSxmdW5jdGlvbigpe3RoaXMub3B0aW9ucyYmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYmZS51aS5pbnRlcnNlY3QodCx0aGlzLHRoaXMub3B0aW9ucy50b2xlcmFuY2UsaSkmJihzPXRoaXMuX2Ryb3AuY2FsbCh0aGlzLGkpfHxzKSwhdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLnZpc2libGUmJnRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLHQuY3VycmVudEl0ZW18fHQuZWxlbWVudCkmJih0aGlzLmlzb3V0PSEwLHRoaXMuaXNvdmVyPSExLHRoaXMuX2RlYWN0aXZhdGUuY2FsbCh0aGlzLGkpKSl9KSxzfSxkcmFnU3RhcnQ6ZnVuY3Rpb24odCxpKXt0LmVsZW1lbnQucGFyZW50c1VudGlsKCJib2R5IikuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIsZnVuY3Rpb24oKXt0Lm9wdGlvbnMucmVmcmVzaFBvc2l0aW9uc3x8ZS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModCxpKX0pfSxkcmFnOmZ1bmN0aW9uKHQsaSl7dC5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMmJmUudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHQsaSksZS5lYWNoKGUudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbdC5vcHRpb25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiYhdGhpcy5ncmVlZHlDaGlsZCYmdGhpcy52aXNpYmxlKXt2YXIgcyxuLGEsbz1lLnVpLmludGVyc2VjdCh0LHRoaXMsdGhpcy5vcHRpb25zLnRvbGVyYW5jZSxpKSxyPSFvJiZ0aGlzLmlzb3Zlcj8iaXNvdXQiOm8mJiF0aGlzLmlzb3Zlcj8iaXNvdmVyIjpudWxsO3ImJih0aGlzLm9wdGlvbnMuZ3JlZWR5JiYobj10aGlzLm9wdGlvbnMuc2NvcGUsYT10aGlzLmVsZW1lbnQucGFyZW50cygiOmRhdGEodWktZHJvcHBhYmxlKSIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmRyb3BwYWJsZSgiaW5zdGFuY2UiKS5vcHRpb25zLnNjb3BlPT09bn0pLGEubGVuZ3RoJiYocz1lKGFbMF0pLmRyb3BwYWJsZSgiaW5zdGFuY2UiKSxzLmdyZWVkeUNoaWxkPSJpc292ZXIiPT09cikpLHMmJiJpc292ZXIiPT09ciYmKHMuaXNvdmVyPSExLHMuaXNvdXQ9ITAscy5fb3V0LmNhbGwocyxpKSksdGhpc1tyXT0hMCx0aGlzWyJpc291dCI9PT1yPyJpc292ZXIiOiJpc291dCJdPSExLHRoaXNbImlzb3ZlciI9PT1yPyJfb3ZlciI6Il9vdXQiXS5jYWxsKHRoaXMsaSkscyYmImlzb3V0Ij09PXImJihzLmlzb3V0PSExLHMuaXNvdmVyPSEwLHMuX292ZXIuY2FsbChzLGkpKSl9fSl9LGRyYWdTdG9wOmZ1bmN0aW9uKHQsaSl7dC5lbGVtZW50LnBhcmVudHNVbnRpbCgiYm9keSIpLnVuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIpLHQub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zfHxlLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0LGkpfX0sZS51aS5kcm9wcGFibGUsZS53aWRnZXQoInVpLnJlc2l6YWJsZSIsZS51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMS40Iix3aWRnZXRFdmVudFByZWZpeDoicmVzaXplIixvcHRpb25zOnthbHNvUmVzaXplOiExLGFuaW1hdGU6ITEsYW5pbWF0ZUR1cmF0aW9uOiJzbG93IixhbmltYXRlRWFzaW5nOiJzd2luZyIsYXNwZWN0UmF0aW86ITEsYXV0b0hpZGU6ITEsY29udGFpbm1lbnQ6ITEsZ2hvc3Q6ITEsZ3JpZDohMSxoYW5kbGVzOiJlLHMsc2UiLGhlbHBlcjohMSxtYXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1pbkhlaWdodDoxMCxtaW5XaWR0aDoxMCx6SW5kZXg6OTAscmVzaXplOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGx9LF9udW06ZnVuY3Rpb24oZSl7cmV0dXJuIHBhcnNlSW50KGUsMTApfHwwfSxfaXNOdW1iZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIWlzTmFOKHBhcnNlSW50KGUsMTApKX0sX2hhc1Njcm9sbDpmdW5jdGlvbih0LGkpe2lmKCJoaWRkZW4iPT09ZSh0KS5jc3MoIm92ZXJmbG93IikpcmV0dXJuITE7dmFyIHM9aSYmImxlZnQiPT09aT8ic2Nyb2xsTGVmdCI6InNjcm9sbFRvcCIsbj0hMTtyZXR1cm4gdFtzXT4wPyEwOih0W3NdPTEsbj10W3NdPjAsdFtzXT0wLG4pfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQsaSxzLG4sYSxvPXRoaXMscj10aGlzLm9wdGlvbnM7aWYodGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1yZXNpemFibGUiKSxlLmV4dGVuZCh0aGlzLHtfYXNwZWN0UmF0aW86ISFyLmFzcGVjdFJhdGlvLGFzcGVjdFJhdGlvOnIuYXNwZWN0UmF0aW8sb3JpZ2luYWxFbGVtZW50OnRoaXMuZWxlbWVudCxfcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50czpbXSxfaGVscGVyOnIuaGVscGVyfHxyLmdob3N0fHxyLmFuaW1hdGU/ci5oZWxwZXJ8fCJ1aS1yZXNpemFibGUtaGVscGVyIjpudWxsfSksdGhpcy5lbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC9eKGNhbnZhc3x0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZykkL2kpJiYodGhpcy5lbGVtZW50LndyYXAoZSgiPGRpdiBjbGFzcz0ndWktd3JhcHBlcicgc3R5bGU9J292ZXJmbG93OiBoaWRkZW47Jz48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOnRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIiksd2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCksdG9wOnRoaXMuZWxlbWVudC5jc3MoInRvcCIpLGxlZnQ6dGhpcy5lbGVtZW50LmNzcygibGVmdCIpfSkpLHRoaXMuZWxlbWVudD10aGlzLmVsZW1lbnQucGFyZW50KCkuZGF0YSgidWktcmVzaXphYmxlIix0aGlzLmVsZW1lbnQucmVzaXphYmxlKCJpbnN0YW5jZSIpKSx0aGlzLmVsZW1lbnRJc1dyYXBwZXI9ITAsdGhpcy5lbGVtZW50LmNzcyh7bWFyZ2luTGVmdDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSxtYXJnaW5Ub3A6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSxtYXJnaW5SaWdodDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksbWFyZ2luQm90dG9tOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luQm90dG9tIil9KSx0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbkxlZnQ6MCxtYXJnaW5Ub3A6MCxtYXJnaW5SaWdodDowLG1hcmdpbkJvdHRvbTowfSksdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlPXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXplIiksdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLCJub25lIiksdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5wdXNoKHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7cG9zaXRpb246InN0YXRpYyIsem9vbToxLGRpc3BsYXk6ImJsb2NrIn0pKSx0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbjp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbiIpfSksdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKSksdGhpcy5oYW5kbGVzPXIuaGFuZGxlc3x8KGUoIi51aS1yZXNpemFibGUtaGFuZGxlIix0aGlzLmVsZW1lbnQpLmxlbmd0aD97bjoiLnVpLXJlc2l6YWJsZS1uIixlOiIudWktcmVzaXphYmxlLWUiLHM6Ii51aS1yZXNpemFibGUtcyIsdzoiLnVpLXJlc2l6YWJsZS13IixzZToiLnVpLXJlc2l6YWJsZS1zZSIsc3c6Ii51aS1yZXNpemFibGUtc3ciLG5lOiIudWktcmVzaXphYmxlLW5lIixudzoiLnVpLXJlc2l6YWJsZS1udyJ9OiJlLHMsc2UiKSx0aGlzLl9oYW5kbGVzPWUoKSx0aGlzLmhhbmRsZXMuY29uc3RydWN0b3I9PT1TdHJpbmcpZm9yKCJhbGwiPT09dGhpcy5oYW5kbGVzJiYodGhpcy5oYW5kbGVzPSJuLGUscyx3LHNlLHN3LG5lLG53IiksdD10aGlzLmhhbmRsZXMuc3BsaXQoIiwiKSx0aGlzLmhhbmRsZXM9e30saT0wO3QubGVuZ3RoPmk7aSsrKXM9ZS50cmltKHRbaV0pLGE9InVpLXJlc2l6YWJsZS0iK3Msbj1lKCI8ZGl2IGNsYXNzPSd1aS1yZXNpemFibGUtaGFuZGxlICIrYSsiJz48L2Rpdj4iKSxuLmNzcyh7ekluZGV4OnIuekluZGV4fSksInNlIj09PXMmJm4uYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UiKSx0aGlzLmhhbmRsZXNbc109Ii51aS1yZXNpemFibGUtIitzLHRoaXMuZWxlbWVudC5hcHBlbmQobik7dGhpcy5fcmVuZGVyQXhpcz1mdW5jdGlvbih0KXt2YXIgaSxzLG4sYTt0PXR8fHRoaXMuZWxlbWVudDtmb3IoaSBpbiB0aGlzLmhhbmRsZXMpdGhpcy5oYW5kbGVzW2ldLmNvbnN0cnVjdG9yPT09U3RyaW5nP3RoaXMuaGFuZGxlc1tpXT10aGlzLmVsZW1lbnQuY2hpbGRyZW4odGhpcy5oYW5kbGVzW2ldKS5maXJzdCgpLnNob3coKToodGhpcy5oYW5kbGVzW2ldLmpxdWVyeXx8dGhpcy5oYW5kbGVzW2ldLm5vZGVUeXBlKSYmKHRoaXMuaGFuZGxlc1tpXT1lKHRoaXMuaGFuZGxlc1tpXSksdGhpcy5fb24odGhpcy5oYW5kbGVzW2ldLHttb3VzZWRvd246by5fbW91c2VEb3dufSkpLHRoaXMuZWxlbWVudElzV3JhcHBlciYmdGhpcy5vcmlnaW5hbEVsZW1lbnRbMF0ubm9kZU5hbWUubWF0Y2goL14odGV4dGFyZWF8aW5wdXR8c2VsZWN0fGJ1dHRvbikkL2kpJiYocz1lKHRoaXMuaGFuZGxlc1tpXSx0aGlzLmVsZW1lbnQpLGE9L3N3fG5lfG53fHNlfG58cy8udGVzdChpKT9zLm91dGVySGVpZ2h0KCk6cy5vdXRlcldpZHRoKCksbj1bInBhZGRpbmciLC9uZXxud3xuLy50ZXN0KGkpPyJUb3AiOi9zZXxzd3xzLy50ZXN0KGkpPyJCb3R0b20iOi9eZSQvLnRlc3QoaSk/IlJpZ2h0IjoiTGVmdCJdLmpvaW4oIiIpLHQuY3NzKG4sYSksdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKSksdGhpcy5faGFuZGxlcz10aGlzLl9oYW5kbGVzLmFkZCh0aGlzLmhhbmRsZXNbaV0pfSx0aGlzLl9yZW5kZXJBeGlzKHRoaXMuZWxlbWVudCksdGhpcy5faGFuZGxlcz10aGlzLl9oYW5kbGVzLmFkZCh0aGlzLmVsZW1lbnQuZmluZCgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKSksdGhpcy5faGFuZGxlcy5kaXNhYmxlU2VsZWN0aW9uKCksdGhpcy5faGFuZGxlcy5tb3VzZW92ZXIoZnVuY3Rpb24oKXtvLnJlc2l6aW5nfHwodGhpcy5jbGFzc05hbWUmJihuPXRoaXMuY2xhc3NOYW1lLm1hdGNoKC91aS1yZXNpemFibGUtKHNlfHN3fG5lfG53fG58ZXxzfHcpL2kpKSxvLmF4aXM9biYmblsxXT9uWzFdOiJzZSIpfSksci5hdXRvSGlkZSYmKHRoaXMuX2hhbmRsZXMuaGlkZSgpLGUodGhpcy5lbGVtZW50KS5hZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIikubW91c2VlbnRlcihmdW5jdGlvbigpe3IuZGlzYWJsZWR8fChlKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKSxvLl9oYW5kbGVzLnNob3coKSl9KS5tb3VzZWxlYXZlKGZ1bmN0aW9uKCl7ci5kaXNhYmxlZHx8by5yZXNpemluZ3x8KGUodGhpcykuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpLG8uX2hhbmRsZXMuaGlkZSgpKX0pKSx0aGlzLl9tb3VzZUluaXQoKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl9tb3VzZURlc3Ryb3koKTt2YXIgdCxpPWZ1bmN0aW9uKHQpe2UodCkucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZSB1aS1yZXNpemFibGUtZGlzYWJsZWQgdWktcmVzaXphYmxlLXJlc2l6aW5nIikucmVtb3ZlRGF0YSgicmVzaXphYmxlIikucmVtb3ZlRGF0YSgidWktcmVzaXphYmxlIikudW5iaW5kKCIucmVzaXphYmxlIikuZmluZCgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKS5yZW1vdmUoKX07cmV0dXJuIHRoaXMuZWxlbWVudElzV3JhcHBlciYmKGkodGhpcy5lbGVtZW50KSx0PXRoaXMuZWxlbWVudCx0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe3Bvc2l0aW9uOnQuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0Lm91dGVySGVpZ2h0KCksdG9wOnQuY3NzKCJ0b3AiKSxsZWZ0OnQuY3NzKCJsZWZ0Iil9KS5pbnNlcnRBZnRlcih0KSx0LnJlbW92ZSgpKSx0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIsdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlKSxpKHRoaXMub3JpZ2luYWxFbGVtZW50KSx0aGlzfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbj0hMTtmb3IoaSBpbiB0aGlzLmhhbmRsZXMpcz1lKHRoaXMuaGFuZGxlc1tpXSlbMF0sKHM9PT10LnRhcmdldHx8ZS5jb250YWlucyhzLHQudGFyZ2V0KSkmJihuPSEwKTtyZXR1cm4hdGhpcy5vcHRpb25zLmRpc2FibGVkJiZufSxfbW91c2VTdGFydDpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYT10aGlzLm9wdGlvbnMsbz10aGlzLmVsZW1lbnQ7cmV0dXJuIHRoaXMucmVzaXppbmc9ITAsdGhpcy5fcmVuZGVyUHJveHkoKSxpPXRoaXMuX251bSh0aGlzLmhlbHBlci5jc3MoImxlZnQiKSkscz10aGlzLl9udW0odGhpcy5oZWxwZXIuY3NzKCJ0b3AiKSksYS5jb250YWlubWVudCYmKGkrPWUoYS5jb250YWlubWVudCkuc2Nyb2xsTGVmdCgpfHwwLHMrPWUoYS5jb250YWlubWVudCkuc2Nyb2xsVG9wKCl8fDApLHRoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpLHRoaXMucG9zaXRpb249e2xlZnQ6aSx0b3A6c30sdGhpcy5zaXplPXRoaXMuX2hlbHBlcj97d2lkdGg6dGhpcy5oZWxwZXIud2lkdGgoKSxoZWlnaHQ6dGhpcy5oZWxwZXIuaGVpZ2h0KCl9Ont3aWR0aDpvLndpZHRoKCksaGVpZ2h0Om8uaGVpZ2h0KCl9LHRoaXMub3JpZ2luYWxTaXplPXRoaXMuX2hlbHBlcj97d2lkdGg6by5vdXRlcldpZHRoKCksaGVpZ2h0Om8ub3V0ZXJIZWlnaHQoKX06e3dpZHRoOm8ud2lkdGgoKSxoZWlnaHQ6by5oZWlnaHQoKX0sdGhpcy5zaXplRGlmZj17d2lkdGg6by5vdXRlcldpZHRoKCktby53aWR0aCgpLGhlaWdodDpvLm91dGVySGVpZ2h0KCktby5oZWlnaHQoKX0sdGhpcy5vcmlnaW5hbFBvc2l0aW9uPXtsZWZ0OmksdG9wOnN9LHRoaXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uPXtsZWZ0OnQucGFnZVgsdG9wOnQucGFnZVl9LHRoaXMuYXNwZWN0UmF0aW89Im51bWJlciI9PXR5cGVvZiBhLmFzcGVjdFJhdGlvP2EuYXNwZWN0UmF0aW86dGhpcy5vcmlnaW5hbFNpemUud2lkdGgvdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0fHwxLG49ZSgiLnVpLXJlc2l6YWJsZS0iK3RoaXMuYXhpcykuY3NzKCJjdXJzb3IiKSxlKCJib2R5IikuY3NzKCJjdXJzb3IiLCJhdXRvIj09PW4/dGhpcy5heGlzKyItcmVzaXplIjpuKSxvLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtcmVzaXppbmciKSx0aGlzLl9wcm9wYWdhdGUoInN0YXJ0Iix0KSwhMH0sX21vdXNlRHJhZzpmdW5jdGlvbih0KXt2YXIgaSxzLG49dGhpcy5vcmlnaW5hbE1vdXNlUG9zaXRpb24sYT10aGlzLmF4aXMsbz10LnBhZ2VYLW4ubGVmdHx8MCxyPXQucGFnZVktbi50b3B8fDAsaD10aGlzLl9jaGFuZ2VbYV07cmV0dXJuIHRoaXMuX3VwZGF0ZVByZXZQcm9wZXJ0aWVzKCksaD8oaT1oLmFwcGx5KHRoaXMsW3QsbyxyXSksdGhpcy5fdXBkYXRlVmlydHVhbEJvdW5kYXJpZXModC5zaGlmdEtleSksKHRoaXMuX2FzcGVjdFJhdGlvfHx0LnNoaWZ0S2V5KSYmKGk9dGhpcy5fdXBkYXRlUmF0aW8oaSx0KSksaT10aGlzLl9yZXNwZWN0U2l6ZShpLHQpLHRoaXMuX3VwZGF0ZUNhY2hlKGkpLHRoaXMuX3Byb3BhZ2F0ZSgicmVzaXplIix0KSxzPXRoaXMuX2FwcGx5Q2hhbmdlcygpLCF0aGlzLl9oZWxwZXImJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpLGUuaXNFbXB0eU9iamVjdChzKXx8KHRoaXMuX3VwZGF0ZVByZXZQcm9wZXJ0aWVzKCksdGhpcy5fdHJpZ2dlcigicmVzaXplIix0LHRoaXMudWkoKSksdGhpcy5fYXBwbHlDaGFuZ2VzKCkpLCExKTohMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0KXt0aGlzLnJlc2l6aW5nPSExO3ZhciBpLHMsbixhLG8scixoLGw9dGhpcy5vcHRpb25zLHU9dGhpcztyZXR1cm4gdGhpcy5faGVscGVyJiYoaT10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLHM9aS5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoaVswXS5ub2RlTmFtZSksbj1zJiZ0aGlzLl9oYXNTY3JvbGwoaVswXSwibGVmdCIpPzA6dS5zaXplRGlmZi5oZWlnaHQsYT1zPzA6dS5zaXplRGlmZi53aWR0aCxvPXt3aWR0aDp1LmhlbHBlci53aWR0aCgpLWEsaGVpZ2h0OnUuaGVscGVyLmhlaWdodCgpLW59LHI9cGFyc2VJbnQodS5lbGVtZW50LmNzcygibGVmdCIpLDEwKSsodS5wb3NpdGlvbi5sZWZ0LXUub3JpZ2luYWxQb3NpdGlvbi5sZWZ0KXx8bnVsbCxoPXBhcnNlSW50KHUuZWxlbWVudC5jc3MoInRvcCIpLDEwKSsodS5wb3NpdGlvbi50b3AtdS5vcmlnaW5hbFBvc2l0aW9uLnRvcCl8fG51bGwsbC5hbmltYXRlfHx0aGlzLmVsZW1lbnQuY3NzKGUuZXh0ZW5kKG8se3RvcDpoLGxlZnQ6cn0pKSx1LmhlbHBlci5oZWlnaHQodS5zaXplLmhlaWdodCksdS5oZWxwZXIud2lkdGgodS5zaXplLndpZHRoKSx0aGlzLl9oZWxwZXImJiFsLmFuaW1hdGUmJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCkpLGUoImJvZHkiKS5jc3MoImN1cnNvciIsImF1dG8iKSx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemluZyIpLHRoaXMuX3Byb3BhZ2F0ZSgic3RvcCIsdCksdGhpcy5faGVscGVyJiZ0aGlzLmhlbHBlci5yZW1vdmUoKSwhMX0sX3VwZGF0ZVByZXZQcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7dGhpcy5wcmV2UG9zaXRpb249e3RvcDp0aGlzLnBvc2l0aW9uLnRvcCxsZWZ0OnRoaXMucG9zaXRpb24ubGVmdH0sdGhpcy5wcmV2U2l6ZT17d2lkdGg6dGhpcy5zaXplLndpZHRoLGhlaWdodDp0aGlzLnNpemUuaGVpZ2h0fX0sX2FwcGx5Q2hhbmdlczpmdW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiB0aGlzLnBvc2l0aW9uLnRvcCE9PXRoaXMucHJldlBvc2l0aW9uLnRvcCYmKGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCIpLHRoaXMucG9zaXRpb24ubGVmdCE9PXRoaXMucHJldlBvc2l0aW9uLmxlZnQmJihlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIpLHRoaXMuc2l6ZS53aWR0aCE9PXRoaXMucHJldlNpemUud2lkdGgmJihlLndpZHRoPXRoaXMuc2l6ZS53aWR0aCsicHgiKSx0aGlzLnNpemUuaGVpZ2h0IT09dGhpcy5wcmV2U2l6ZS5oZWlnaHQmJihlLmhlaWdodD10aGlzLnNpemUuaGVpZ2h0KyJweCIpLHRoaXMuaGVscGVyLmNzcyhlKSxlfSxfdXBkYXRlVmlydHVhbEJvdW5kYXJpZXM6ZnVuY3Rpb24oZSl7dmFyIHQsaSxzLG4sYSxvPXRoaXMub3B0aW9uczthPXttaW5XaWR0aDp0aGlzLl9pc051bWJlcihvLm1pbldpZHRoKT9vLm1pbldpZHRoOjAsbWF4V2lkdGg6dGhpcy5faXNOdW1iZXIoby5tYXhXaWR0aCk/by5tYXhXaWR0aDoxLzAsbWluSGVpZ2h0OnRoaXMuX2lzTnVtYmVyKG8ubWluSGVpZ2h0KT9vLm1pbkhlaWdodDowLG1heEhlaWdodDp0aGlzLl9pc051bWJlcihvLm1heEhlaWdodCk/by5tYXhIZWlnaHQ6MS8wfSwodGhpcy5fYXNwZWN0UmF0aW98fGUpJiYodD1hLm1pbkhlaWdodCp0aGlzLmFzcGVjdFJhdGlvLHM9YS5taW5XaWR0aC90aGlzLmFzcGVjdFJhdGlvLGk9YS5tYXhIZWlnaHQqdGhpcy5hc3BlY3RSYXRpbyxuPWEubWF4V2lkdGgvdGhpcy5hc3BlY3RSYXRpbyx0PmEubWluV2lkdGgmJihhLm1pbldpZHRoPXQpLHM+YS5taW5IZWlnaHQmJihhLm1pbkhlaWdodD1zKSxhLm1heFdpZHRoPmkmJihhLm1heFdpZHRoPWkpLGEubWF4SGVpZ2h0Pm4mJihhLm1heEhlaWdodD1uKSksdGhpcy5fdkJvdW5kYXJpZXM9YX0sX3VwZGF0ZUNhY2hlOmZ1bmN0aW9uKGUpe3RoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpLHRoaXMuX2lzTnVtYmVyKGUubGVmdCkmJih0aGlzLnBvc2l0aW9uLmxlZnQ9ZS5sZWZ0KSx0aGlzLl9pc051bWJlcihlLnRvcCkmJih0aGlzLnBvc2l0aW9uLnRvcD1lLnRvcCksdGhpcy5faXNOdW1iZXIoZS5oZWlnaHQpJiYodGhpcy5zaXplLmhlaWdodD1lLmhlaWdodCksdGhpcy5faXNOdW1iZXIoZS53aWR0aCkmJih0aGlzLnNpemUud2lkdGg9ZS53aWR0aCl9LF91cGRhdGVSYXRpbzpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBvc2l0aW9uLGk9dGhpcy5zaXplLHM9dGhpcy5heGlzO3JldHVybiB0aGlzLl9pc051bWJlcihlLmhlaWdodCk/ZS53aWR0aD1lLmhlaWdodCp0aGlzLmFzcGVjdFJhdGlvOnRoaXMuX2lzTnVtYmVyKGUud2lkdGgpJiYoZS5oZWlnaHQ9ZS53aWR0aC90aGlzLmFzcGVjdFJhdGlvKSwic3ciPT09cyYmKGUubGVmdD10LmxlZnQrKGkud2lkdGgtZS53aWR0aCksZS50b3A9bnVsbCksIm53Ij09PXMmJihlLnRvcD10LnRvcCsoaS5oZWlnaHQtZS5oZWlnaHQpLGUubGVmdD10LmxlZnQrKGkud2lkdGgtZS53aWR0aCkpLGV9LF9yZXNwZWN0U2l6ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLl92Qm91bmRhcmllcyxpPXRoaXMuYXhpcyxzPXRoaXMuX2lzTnVtYmVyKGUud2lkdGgpJiZ0Lm1heFdpZHRoJiZ0Lm1heFdpZHRoPGUud2lkdGgsbj10aGlzLl9pc051bWJlcihlLmhlaWdodCkmJnQubWF4SGVpZ2h0JiZ0Lm1heEhlaWdodDxlLmhlaWdodCxhPXRoaXMuX2lzTnVtYmVyKGUud2lkdGgpJiZ0Lm1pbldpZHRoJiZ0Lm1pbldpZHRoPmUud2lkdGgsbz10aGlzLl9pc051bWJlcihlLmhlaWdodCkmJnQubWluSGVpZ2h0JiZ0Lm1pbkhlaWdodD5lLmhlaWdodCxyPXRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0K3RoaXMub3JpZ2luYWxTaXplLndpZHRoLGg9dGhpcy5wb3NpdGlvbi50b3ArdGhpcy5zaXplLmhlaWdodCxsPS9zd3xud3x3Ly50ZXN0KGkpLHU9L253fG5lfG4vLnRlc3QoaSk7cmV0dXJuIGEmJihlLndpZHRoPXQubWluV2lkdGgpLG8mJihlLmhlaWdodD10Lm1pbkhlaWdodCkscyYmKGUud2lkdGg9dC5tYXhXaWR0aCksbiYmKGUuaGVpZ2h0PXQubWF4SGVpZ2h0KSxhJiZsJiYoZS5sZWZ0PXItdC5taW5XaWR0aCkscyYmbCYmKGUubGVmdD1yLXQubWF4V2lkdGgpLG8mJnUmJihlLnRvcD1oLXQubWluSGVpZ2h0KSxuJiZ1JiYoZS50b3A9aC10Lm1heEhlaWdodCksZS53aWR0aHx8ZS5oZWlnaHR8fGUubGVmdHx8IWUudG9wP2Uud2lkdGh8fGUuaGVpZ2h0fHxlLnRvcHx8IWUubGVmdHx8KGUubGVmdD1udWxsKTplLnRvcD1udWxsLGV9LF9nZXRQYWRkaW5nUGx1c0JvcmRlckRpbWVuc2lvbnM6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsaT1bXSxzPVtlLmNzcygiYm9yZGVyVG9wV2lkdGgiKSxlLmNzcygiYm9yZGVyUmlnaHRXaWR0aCIpLGUuY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLGUuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKV0sbj1bZS5jc3MoInBhZGRpbmdUb3AiKSxlLmNzcygicGFkZGluZ1JpZ2h0IiksZS5jc3MoInBhZGRpbmdCb3R0b20iKSxlLmNzcygicGFkZGluZ0xlZnQiKV07ND50O3QrKylpW3RdPXBhcnNlSW50KHNbdF0sMTApfHwwLGlbdF0rPXBhcnNlSW50KG5bdF0sMTApfHwwO3JldHVybntoZWlnaHQ6aVswXStpWzJdLHdpZHRoOmlbMV0raVszXX19LF9wcm9wb3J0aW9uYWxseVJlc2l6ZTpmdW5jdGlvbigpe2lmKHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoKWZvcih2YXIgZSx0PTAsaT10aGlzLmhlbHBlcnx8dGhpcy5lbGVtZW50O3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoPnQ7dCsrKWU9dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50c1t0XSx0aGlzLm91dGVyRGltZW5zaW9uc3x8KHRoaXMub3V0ZXJEaW1lbnNpb25zPXRoaXMuX2dldFBhZGRpbmdQbHVzQm9yZGVyRGltZW5zaW9ucyhlKSksZS5jc3Moe2hlaWdodDppLmhlaWdodCgpLXRoaXMub3V0ZXJEaW1lbnNpb25zLmhlaWdodHx8MCx3aWR0aDppLndpZHRoKCktdGhpcy5vdXRlckRpbWVuc2lvbnMud2lkdGh8fDB9KX0sX3JlbmRlclByb3h5OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50LGk9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudE9mZnNldD10Lm9mZnNldCgpLHRoaXMuX2hlbHBlcj8odGhpcy5oZWxwZXI9dGhpcy5oZWxwZXJ8fGUoIjxkaXYgc3R5bGU9J292ZXJmbG93OmhpZGRlbjsnPjwvZGl2PiIpLHRoaXMuaGVscGVyLmFkZENsYXNzKHRoaXMuX2hlbHBlcikuY3NzKHt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLTEsaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLTEscG9zaXRpb246ImFic29sdXRlIixsZWZ0OnRoaXMuZWxlbWVudE9mZnNldC5sZWZ0KyJweCIsdG9wOnRoaXMuZWxlbWVudE9mZnNldC50b3ArInB4Iix6SW5kZXg6KytpLnpJbmRleH0pLHRoaXMuaGVscGVyLmFwcGVuZFRvKCJib2R5IikuZGlzYWJsZVNlbGVjdGlvbigpKTp0aGlzLmhlbHBlcj10aGlzLmVsZW1lbnR9LF9jaGFuZ2U6e2U6ZnVuY3Rpb24oZSx0KXtyZXR1cm57d2lkdGg6dGhpcy5vcmlnaW5hbFNpemUud2lkdGgrdH19LHc6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLm9yaWdpbmFsU2l6ZSxzPXRoaXMub3JpZ2luYWxQb3NpdGlvbjtyZXR1cm57bGVmdDpzLmxlZnQrdCx3aWR0aDppLndpZHRoLXR9fSxuOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzLm9yaWdpbmFsU2l6ZSxuPXRoaXMub3JpZ2luYWxQb3NpdGlvbjtyZXR1cm57dG9wOm4udG9wK2ksaGVpZ2h0OnMuaGVpZ2h0LWl9fSxzOmZ1bmN0aW9uKGUsdCxpKXtyZXR1cm57aGVpZ2h0OnRoaXMub3JpZ2luYWxTaXplLmhlaWdodCtpfX0sc2U6ZnVuY3Rpb24odCxpLHMpe3JldHVybiBlLmV4dGVuZCh0aGlzLl9jaGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbdCxpLHNdKSl9LHN3OmZ1bmN0aW9uKHQsaSxzKXtyZXR1cm4gZS5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW3QsaSxzXSkpfSxuZTpmdW5jdGlvbih0LGkscyl7cmV0dXJuIGUuZXh0ZW5kKHRoaXMuX2NoYW5nZS5uLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFuZ2UuZS5hcHBseSh0aGlzLFt0LGksc10pKX0sbnc6ZnVuY3Rpb24odCxpLHMpe3JldHVybiBlLmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLncuYXBwbHkodGhpcyxbdCxpLHNdKSl9fSxfcHJvcGFnYXRlOmZ1bmN0aW9uKHQsaSl7ZS51aS5wbHVnaW4uY2FsbCh0aGlzLHQsW2ksdGhpcy51aSgpXSksInJlc2l6ZSIhPT10JiZ0aGlzLl90cmlnZ2VyKHQsaSx0aGlzLnVpKCkpfSxwbHVnaW5zOnt9LHVpOmZ1bmN0aW9uKCl7cmV0dXJue29yaWdpbmFsRWxlbWVudDp0aGlzLm9yaWdpbmFsRWxlbWVudCxlbGVtZW50OnRoaXMuZWxlbWVudCxoZWxwZXI6dGhpcy5oZWxwZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixzaXplOnRoaXMuc2l6ZSxvcmlnaW5hbFNpemU6dGhpcy5vcmlnaW5hbFNpemUsb3JpZ2luYWxQb3NpdGlvbjp0aGlzLm9yaWdpbmFsUG9zaXRpb259fX0pLGUudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiYW5pbWF0ZSIse3N0b3A6ZnVuY3Rpb24odCl7dmFyIGk9ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIikscz1pLm9wdGlvbnMsbj1pLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLGE9bi5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoblswXS5ub2RlTmFtZSksbz1hJiZpLl9oYXNTY3JvbGwoblswXSwibGVmdCIpPzA6aS5zaXplRGlmZi5oZWlnaHQscj1hPzA6aS5zaXplRGlmZi53aWR0aCxoPXt3aWR0aDppLnNpemUud2lkdGgtcixoZWlnaHQ6aS5zaXplLmhlaWdodC1vfSxsPXBhcnNlSW50KGkuZWxlbWVudC5jc3MoImxlZnQiKSwxMCkrKGkucG9zaXRpb24ubGVmdC1pLm9yaWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGwsdT1wYXJzZUludChpLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCkrKGkucG9zaXRpb24udG9wLWkub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxudWxsO2kuZWxlbWVudC5hbmltYXRlKGUuZXh0ZW5kKGgsdSYmbD97dG9wOnUsbGVmdDpsfTp7fSkse2R1cmF0aW9uOnMuYW5pbWF0ZUR1cmF0aW9uLGVhc2luZzpzLmFuaW1hdGVFYXNpbmcsc3RlcDpmdW5jdGlvbigpe3ZhciBzPXt3aWR0aDpwYXJzZUludChpLmVsZW1lbnQuY3NzKCJ3aWR0aCIpLDEwKSxoZWlnaHQ6cGFyc2VJbnQoaS5lbGVtZW50LmNzcygiaGVpZ2h0IiksMTApLHRvcDpwYXJzZUludChpLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCksbGVmdDpwYXJzZUludChpLmVsZW1lbnQuY3NzKCJsZWZ0IiksMTApfTtuJiZuLmxlbmd0aCYmZShuWzBdKS5jc3Moe3dpZHRoOnMud2lkdGgsaGVpZ2h0OnMuaGVpZ2h0fSksaS5fdXBkYXRlQ2FjaGUocyksaS5fcHJvcGFnYXRlKCJyZXNpemUiLHQpfX0pfX0pLGUudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiY29udGFpbm1lbnQiLHtzdGFydDpmdW5jdGlvbigpe3ZhciB0LGkscyxuLGEsbyxyLGg9ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIiksbD1oLm9wdGlvbnMsdT1oLmVsZW1lbnQsZD1sLmNvbnRhaW5tZW50LGM9ZCBpbnN0YW5jZW9mIGU/ZC5nZXQoMCk6L3BhcmVudC8udGVzdChkKT91LnBhcmVudCgpLmdldCgwKTpkO2MmJihoLmNvbnRhaW5lckVsZW1lbnQ9ZShjKSwvZG9jdW1lbnQvLnRlc3QoZCl8fGQ9PT1kb2N1bWVudD8oaC5jb250YWluZXJPZmZzZXQ9e2xlZnQ6MCx0b3A6MH0saC5jb250YWluZXJQb3NpdGlvbj17bGVmdDowLHRvcDowfSxoLnBhcmVudERhdGE9e2VsZW1lbnQ6ZShkb2N1bWVudCksbGVmdDowLHRvcDowLHdpZHRoOmUoZG9jdW1lbnQpLndpZHRoKCksaGVpZ2h0OmUoZG9jdW1lbnQpLmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0fSk6KHQ9ZShjKSxpPVtdLGUoWyJUb3AiLCJSaWdodCIsIkxlZnQiLCJCb3R0b20iXSkuZWFjaChmdW5jdGlvbihlLHMpe2lbZV09aC5fbnVtKHQuY3NzKCJwYWRkaW5nIitzKSl9KSxoLmNvbnRhaW5lck9mZnNldD10Lm9mZnNldCgpLGguY29udGFpbmVyUG9zaXRpb249dC5wb3NpdGlvbigpLGguY29udGFpbmVyU2l6ZT17aGVpZ2h0OnQuaW5uZXJIZWlnaHQoKS1pWzNdLHdpZHRoOnQuaW5uZXJXaWR0aCgpLWlbMV19LHM9aC5jb250YWluZXJPZmZzZXQsbj1oLmNvbnRhaW5lclNpemUuaGVpZ2h0LGE9aC5jb250YWluZXJTaXplLndpZHRoLG89aC5faGFzU2Nyb2xsKGMsImxlZnQiKT9jLnNjcm9sbFdpZHRoOmEscj1oLl9oYXNTY3JvbGwoYyk/Yy5zY3JvbGxIZWlnaHQ6bixoLnBhcmVudERhdGE9e2VsZW1lbnQ6YyxsZWZ0OnMubGVmdCx0b3A6cy50b3Asd2lkdGg6byxoZWlnaHQ6cn0pKX0scmVzaXplOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbixhLG89ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIikscj1vLm9wdGlvbnMsaD1vLmNvbnRhaW5lck9mZnNldCxsPW8ucG9zaXRpb24sdT1vLl9hc3BlY3RSYXRpb3x8dC5zaGlmdEtleSxkPXt0b3A6MCxsZWZ0OjB9LGM9by5jb250YWluZXJFbGVtZW50LHA9ITA7Y1swXSE9PWRvY3VtZW50JiYvc3RhdGljLy50ZXN0KGMuY3NzKCJwb3NpdGlvbiIpKSYmKGQ9aCksbC5sZWZ0PChvLl9oZWxwZXI/aC5sZWZ0OjApJiYoby5zaXplLndpZHRoPW8uc2l6ZS53aWR0aCsoby5faGVscGVyP28ucG9zaXRpb24ubGVmdC1oLmxlZnQ6by5wb3NpdGlvbi5sZWZ0LWQubGVmdCksdSYmKG8uc2l6ZS5oZWlnaHQ9by5zaXplLndpZHRoL28uYXNwZWN0UmF0aW8scD0hMSksby5wb3NpdGlvbi5sZWZ0PXIuaGVscGVyP2gubGVmdDowKSxsLnRvcDwoby5faGVscGVyP2gudG9wOjApJiYoby5zaXplLmhlaWdodD1vLnNpemUuaGVpZ2h0KyhvLl9oZWxwZXI/by5wb3NpdGlvbi50b3AtaC50b3A6by5wb3NpdGlvbi50b3ApLHUmJihvLnNpemUud2lkdGg9by5zaXplLmhlaWdodCpvLmFzcGVjdFJhdGlvLHA9ITEpLG8ucG9zaXRpb24udG9wPW8uX2hlbHBlcj9oLnRvcDowKSxuPW8uY29udGFpbmVyRWxlbWVudC5nZXQoMCk9PT1vLmVsZW1lbnQucGFyZW50KCkuZ2V0KDApLGE9L3JlbGF0aXZlfGFic29sdXRlLy50ZXN0KG8uY29udGFpbmVyRWxlbWVudC5jc3MoInBvc2l0aW9uIikpLG4mJmE/KG8ub2Zmc2V0LmxlZnQ9by5wYXJlbnREYXRhLmxlZnQrby5wb3NpdGlvbi5sZWZ0LG8ub2Zmc2V0LnRvcD1vLnBhcmVudERhdGEudG9wK28ucG9zaXRpb24udG9wKTooby5vZmZzZXQubGVmdD1vLmVsZW1lbnQub2Zmc2V0KCkubGVmdCxvLm9mZnNldC50b3A9by5lbGVtZW50Lm9mZnNldCgpLnRvcCksaT1NYXRoLmFicyhvLnNpemVEaWZmLndpZHRoKyhvLl9oZWxwZXI/by5vZmZzZXQubGVmdC1kLmxlZnQ6by5vZmZzZXQubGVmdC1oLmxlZnQpKSxzPU1hdGguYWJzKG8uc2l6ZURpZmYuaGVpZ2h0KyhvLl9oZWxwZXI/by5vZmZzZXQudG9wLWQudG9wOm8ub2Zmc2V0LnRvcC1oLnRvcCkpLGkrby5zaXplLndpZHRoPj1vLnBhcmVudERhdGEud2lkdGgmJihvLnNpemUud2lkdGg9by5wYXJlbnREYXRhLndpZHRoLWksdSYmKG8uc2l6ZS5oZWlnaHQ9by5zaXplLndpZHRoL28uYXNwZWN0UmF0aW8scD0hMSkpLHMrby5zaXplLmhlaWdodD49by5wYXJlbnREYXRhLmhlaWdodCYmKG8uc2l6ZS5oZWlnaHQ9by5wYXJlbnREYXRhLmhlaWdodC1zLHUmJihvLnNpemUud2lkdGg9by5zaXplLmhlaWdodCpvLmFzcGVjdFJhdGlvLHA9ITEpKSxwfHwoby5wb3NpdGlvbi5sZWZ0PW8ucHJldlBvc2l0aW9uLmxlZnQsby5wb3NpdGlvbi50b3A9by5wcmV2UG9zaXRpb24udG9wLG8uc2l6ZS53aWR0aD1vLnByZXZTaXplLndpZHRoLG8uc2l6ZS5oZWlnaHQ9by5wcmV2U2l6ZS5oZWlnaHQpfSxzdG9wOmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIiksaT10Lm9wdGlvbnMscz10LmNvbnRhaW5lck9mZnNldCxuPXQuY29udGFpbmVyUG9zaXRpb24sYT10LmNvbnRhaW5lckVsZW1lbnQsbz1lKHQuaGVscGVyKSxyPW8ub2Zmc2V0KCksaD1vLm91dGVyV2lkdGgoKS10LnNpemVEaWZmLndpZHRoLGw9by5vdXRlckhlaWdodCgpLXQuc2l6ZURpZmYuaGVpZ2h0O3QuX2hlbHBlciYmIWkuYW5pbWF0ZSYmL3JlbGF0aXZlLy50ZXN0KGEuY3NzKCJwb3NpdGlvbiIpKSYmZSh0aGlzKS5jc3Moe2xlZnQ6ci5sZWZ0LW4ubGVmdC1zLmxlZnQsd2lkdGg6aCxoZWlnaHQ6bH0pLHQuX2hlbHBlciYmIWkuYW5pbWF0ZSYmL3N0YXRpYy8udGVzdChhLmNzcygicG9zaXRpb24iKSkmJmUodGhpcykuY3NzKHtsZWZ0OnIubGVmdC1uLmxlZnQtcy5sZWZ0LHdpZHRoOmgsaGVpZ2h0Omx9KX19KSxlLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImFsc29SZXNpemUiLHtzdGFydDpmdW5jdGlvbigpe3ZhciB0PWUodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLGk9dC5vcHRpb25zO2UoaS5hbHNvUmVzaXplKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTt0LmRhdGEoInVpLXJlc2l6YWJsZS1hbHNvcmVzaXplIix7d2lkdGg6cGFyc2VJbnQodC53aWR0aCgpLDEwKSxoZWlnaHQ6cGFyc2VJbnQodC5oZWlnaHQoKSwxMCksbGVmdDpwYXJzZUludCh0LmNzcygibGVmdCIpLDEwKSx0b3A6cGFyc2VJbnQodC5jc3MoInRvcCIpLDEwKX0pfSl9LHJlc2l6ZTpmdW5jdGlvbih0LGkpe3ZhciBzPWUodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLG49cy5vcHRpb25zLGE9cy5vcmlnaW5hbFNpemUsbz1zLm9yaWdpbmFsUG9zaXRpb24scj17aGVpZ2h0OnMuc2l6ZS5oZWlnaHQtYS5oZWlnaHR8fDAsd2lkdGg6cy5zaXplLndpZHRoLWEud2lkdGh8fDAsdG9wOnMucG9zaXRpb24udG9wLW8udG9wfHwwLGxlZnQ6cy5wb3NpdGlvbi5sZWZ0LW8ubGVmdHx8MH07ZShuLmFsc29SZXNpemUpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLHM9ZSh0aGlzKS5kYXRhKCJ1aS1yZXNpemFibGUtYWxzb3Jlc2l6ZSIpLG49e30sYT10LnBhcmVudHMoaS5vcmlnaW5hbEVsZW1lbnRbMF0pLmxlbmd0aD9bIndpZHRoIiwiaGVpZ2h0Il06WyJ3aWR0aCIsImhlaWdodCIsInRvcCIsImxlZnQiXTtlLmVhY2goYSxmdW5jdGlvbihlLHQpe3ZhciBpPShzW3RdfHwwKSsoclt0XXx8MCk7aSYmaT49MCYmKG5bdF09aXx8bnVsbCl9KSx0LmNzcyhuKX0pfSxzdG9wOmZ1bmN0aW9uKCl7ZSh0aGlzKS5yZW1vdmVEYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpfX0pLGUudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiZ2hvc3QiLHtzdGFydDpmdW5jdGlvbigpe3ZhciB0PWUodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLGk9dC5vcHRpb25zLHM9dC5zaXplO3QuZ2hvc3Q9dC5vcmlnaW5hbEVsZW1lbnQuY2xvbmUoKSx0Lmdob3N0LmNzcyh7b3BhY2l0eTouMjUsZGlzcGxheToiYmxvY2siLHBvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OnMuaGVpZ2h0LHdpZHRoOnMud2lkdGgsbWFyZ2luOjAsbGVmdDowLHRvcDowfSkuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1naG9zdCIpLmFkZENsYXNzKCJzdHJpbmciPT10eXBlb2YgaS5naG9zdD9pLmdob3N0OiIiKSx0Lmdob3N0LmFwcGVuZFRvKHQuaGVscGVyKX0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIik7dC5naG9zdCYmdC5naG9zdC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OnQuc2l6ZS5oZWlnaHQsd2lkdGg6dC5zaXplLndpZHRofSl9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLnJlc2l6YWJsZSgiaW5zdGFuY2UiKTt0Lmdob3N0JiZ0LmhlbHBlciYmdC5oZWxwZXIuZ2V0KDApLnJlbW92ZUNoaWxkKHQuZ2hvc3QuZ2V0KDApKX19KSxlLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImdyaWQiLHtyZXNpemU6ZnVuY3Rpb24oKXt2YXIgdCxpPWUodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLHM9aS5vcHRpb25zLG49aS5zaXplLGE9aS5vcmlnaW5hbFNpemUsbz1pLm9yaWdpbmFsUG9zaXRpb24scj1pLmF4aXMsaD0ibnVtYmVyIj09dHlwZW9mIHMuZ3JpZD9bcy5ncmlkLHMuZ3JpZF06cy5ncmlkLGw9aFswXXx8MSx1PWhbMV18fDEsZD1NYXRoLnJvdW5kKChuLndpZHRoLWEud2lkdGgpL2wpKmwsYz1NYXRoLnJvdW5kKChuLmhlaWdodC1hLmhlaWdodCkvdSkqdSxwPWEud2lkdGgrZCxmPWEuaGVpZ2h0K2MsbT1zLm1heFdpZHRoJiZwPnMubWF4V2lkdGgsZz1zLm1heEhlaWdodCYmZj5zLm1heEhlaWdodCx2PXMubWluV2lkdGgmJnMubWluV2lkdGg+cCx5PXMubWluSGVpZ2h0JiZzLm1pbkhlaWdodD5mO3MuZ3JpZD1oLHYmJihwKz1sKSx5JiYoZis9dSksbSYmKHAtPWwpLGcmJihmLT11KSwvXihzZXxzfGUpJC8udGVzdChyKT8oaS5zaXplLndpZHRoPXAsaS5zaXplLmhlaWdodD1mKTovXihuZSkkLy50ZXN0KHIpPyhpLnNpemUud2lkdGg9cCxpLnNpemUuaGVpZ2h0PWYsaS5wb3NpdGlvbi50b3A9by50b3AtYyk6L14oc3cpJC8udGVzdChyKT8oaS5zaXplLndpZHRoPXAsaS5zaXplLmhlaWdodD1mLGkucG9zaXRpb24ubGVmdD1vLmxlZnQtZCk6KCgwPj1mLXV8fDA+PXAtbCkmJih0PWkuX2dldFBhZGRpbmdQbHVzQm9yZGVyRGltZW5zaW9ucyh0aGlzKSksZi11PjA/KGkuc2l6ZS5oZWlnaHQ9ZixpLnBvc2l0aW9uLnRvcD1vLnRvcC1jKTooZj11LXQuaGVpZ2h0LGkuc2l6ZS5oZWlnaHQ9ZixpLnBvc2l0aW9uLnRvcD1vLnRvcCthLmhlaWdodC1mKSxwLWw+MD8oaS5zaXplLndpZHRoPXAsaS5wb3NpdGlvbi5sZWZ0PW8ubGVmdC1kKToocD1sLXQud2lkdGgsaS5zaXplLndpZHRoPXAsaS5wb3NpdGlvbi5sZWZ0PW8ubGVmdCthLndpZHRoLXApKX19KSxlLnVpLnJlc2l6YWJsZSxlLndpZGdldCgidWkuc2VsZWN0YWJsZSIsZS51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMS40IixvcHRpb25zOnthcHBlbmRUbzoiYm9keSIsYXV0b1JlZnJlc2g6ITAsZGlzdGFuY2U6MCxmaWx0ZXI6IioiLHRvbGVyYW5jZToidG91Y2giLHNlbGVjdGVkOm51bGwsc2VsZWN0aW5nOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGwsdW5zZWxlY3RlZDpudWxsLHVuc2VsZWN0aW5nOm51bGx9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdCxpPXRoaXM7CnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0YWJsZSIpLHRoaXMuZHJhZ2dlZD0hMSx0aGlzLnJlZnJlc2g9ZnVuY3Rpb24oKXt0PWUoaS5vcHRpb25zLmZpbHRlcixpLmVsZW1lbnRbMF0pLHQuYWRkQ2xhc3MoInVpLXNlbGVjdGVlIiksdC5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxpPXQub2Zmc2V0KCk7ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIse2VsZW1lbnQ6dGhpcywkZWxlbWVudDp0LGxlZnQ6aS5sZWZ0LHRvcDppLnRvcCxyaWdodDppLmxlZnQrdC5vdXRlcldpZHRoKCksYm90dG9tOmkudG9wK3Qub3V0ZXJIZWlnaHQoKSxzdGFydHNlbGVjdGVkOiExLHNlbGVjdGVkOnQuaGFzQ2xhc3MoInVpLXNlbGVjdGVkIiksc2VsZWN0aW5nOnQuaGFzQ2xhc3MoInVpLXNlbGVjdGluZyIpLHVuc2VsZWN0aW5nOnQuaGFzQ2xhc3MoInVpLXVuc2VsZWN0aW5nIil9KX0pfSx0aGlzLnJlZnJlc2goKSx0aGlzLnNlbGVjdGVlcz10LmFkZENsYXNzKCJ1aS1zZWxlY3RlZSIpLHRoaXMuX21vdXNlSW5pdCgpLHRoaXMuaGVscGVyPWUoIjxkaXYgY2xhc3M9J3VpLXNlbGVjdGFibGUtaGVscGVyJz48L2Rpdj4iKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVlcy5yZW1vdmVDbGFzcygidWktc2VsZWN0ZWUiKS5yZW1vdmVEYXRhKCJzZWxlY3RhYmxlLWl0ZW0iKSx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGFibGUgdWktc2VsZWN0YWJsZS1kaXNhYmxlZCIpLHRoaXMuX21vdXNlRGVzdHJveSgpfSxfbW91c2VTdGFydDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLHM9dGhpcy5vcHRpb25zO3RoaXMub3Bvcz1bdC5wYWdlWCx0LnBhZ2VZXSx0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fCh0aGlzLnNlbGVjdGVlcz1lKHMuZmlsdGVyLHRoaXMuZWxlbWVudFswXSksdGhpcy5fdHJpZ2dlcigic3RhcnQiLHQpLGUocy5hcHBlbmRUbykuYXBwZW5kKHRoaXMuaGVscGVyKSx0aGlzLmhlbHBlci5jc3Moe2xlZnQ6dC5wYWdlWCx0b3A6dC5wYWdlWSx3aWR0aDowLGhlaWdodDowfSkscy5hdXRvUmVmcmVzaCYmdGhpcy5yZWZyZXNoKCksdGhpcy5zZWxlY3RlZXMuZmlsdGVyKCIudWktc2VsZWN0ZWQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO3Muc3RhcnRzZWxlY3RlZD0hMCx0Lm1ldGFLZXl8fHQuY3RybEtleXx8KHMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIikscy5zZWxlY3RlZD0hMSxzLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpLHMudW5zZWxlY3Rpbmc9ITAsaS5fdHJpZ2dlcigidW5zZWxlY3RpbmciLHQse3Vuc2VsZWN0aW5nOnMuZWxlbWVudH0pKX0pLGUodC50YXJnZXQpLnBhcmVudHMoKS5hZGRCYWNrKCkuZWFjaChmdW5jdGlvbigpe3ZhciBzLG49ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO3JldHVybiBuPyhzPSF0Lm1ldGFLZXkmJiF0LmN0cmxLZXl8fCFuLiRlbGVtZW50Lmhhc0NsYXNzKCJ1aS1zZWxlY3RlZCIpLG4uJGVsZW1lbnQucmVtb3ZlQ2xhc3Mocz8idWktdW5zZWxlY3RpbmciOiJ1aS1zZWxlY3RlZCIpLmFkZENsYXNzKHM/InVpLXNlbGVjdGluZyI6InVpLXVuc2VsZWN0aW5nIiksbi51bnNlbGVjdGluZz0hcyxuLnNlbGVjdGluZz1zLG4uc2VsZWN0ZWQ9cyxzP2kuX3RyaWdnZXIoInNlbGVjdGluZyIsdCx7c2VsZWN0aW5nOm4uZWxlbWVudH0pOmkuX3RyaWdnZXIoInVuc2VsZWN0aW5nIix0LHt1bnNlbGVjdGluZzpuLmVsZW1lbnR9KSwhMSk6dm9pZCAwfSkpfSxfbW91c2VEcmFnOmZ1bmN0aW9uKHQpe2lmKHRoaXMuZHJhZ2dlZD0hMCwhdGhpcy5vcHRpb25zLmRpc2FibGVkKXt2YXIgaSxzPXRoaXMsbj10aGlzLm9wdGlvbnMsYT10aGlzLm9wb3NbMF0sbz10aGlzLm9wb3NbMV0scj10LnBhZ2VYLGg9dC5wYWdlWTtyZXR1cm4gYT5yJiYoaT1yLHI9YSxhPWkpLG8+aCYmKGk9aCxoPW8sbz1pKSx0aGlzLmhlbHBlci5jc3Moe2xlZnQ6YSx0b3A6byx3aWR0aDpyLWEsaGVpZ2h0Omgtb30pLHRoaXMuc2VsZWN0ZWVzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIiksbD0hMTtpJiZpLmVsZW1lbnQhPT1zLmVsZW1lbnRbMF0mJigidG91Y2giPT09bi50b2xlcmFuY2U/bD0hKGkubGVmdD5yfHxhPmkucmlnaHR8fGkudG9wPmh8fG8+aS5ib3R0b20pOiJmaXQiPT09bi50b2xlcmFuY2UmJihsPWkubGVmdD5hJiZyPmkucmlnaHQmJmkudG9wPm8mJmg+aS5ib3R0b20pLGw/KGkuc2VsZWN0ZWQmJihpLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpLGkuc2VsZWN0ZWQ9ITEpLGkudW5zZWxlY3RpbmcmJihpLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS11bnNlbGVjdGluZyIpLGkudW5zZWxlY3Rpbmc9ITEpLGkuc2VsZWN0aW5nfHwoaS4kZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0aW5nIiksaS5zZWxlY3Rpbmc9ITAscy5fdHJpZ2dlcigic2VsZWN0aW5nIix0LHtzZWxlY3Rpbmc6aS5lbGVtZW50fSkpKTooaS5zZWxlY3RpbmcmJigodC5tZXRhS2V5fHx0LmN0cmxLZXkpJiZpLnN0YXJ0c2VsZWN0ZWQ/KGkuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpLGkuc2VsZWN0aW5nPSExLGkuJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGVkIiksaS5zZWxlY3RlZD0hMCk6KGkuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpLGkuc2VsZWN0aW5nPSExLGkuc3RhcnRzZWxlY3RlZCYmKGkuJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIiksaS51bnNlbGVjdGluZz0hMCkscy5fdHJpZ2dlcigidW5zZWxlY3RpbmciLHQse3Vuc2VsZWN0aW5nOmkuZWxlbWVudH0pKSksaS5zZWxlY3RlZCYmKHQubWV0YUtleXx8dC5jdHJsS2V5fHxpLnN0YXJ0c2VsZWN0ZWR8fChpLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpLGkuc2VsZWN0ZWQ9ITEsaS4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKSxpLnVuc2VsZWN0aW5nPSEwLHMuX3RyaWdnZXIoInVuc2VsZWN0aW5nIix0LHt1bnNlbGVjdGluZzppLmVsZW1lbnR9KSkpKSl9KSwhMX19LF9tb3VzZVN0b3A6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcztyZXR1cm4gdGhpcy5kcmFnZ2VkPSExLGUoIi51aS11bnNlbGVjdGluZyIsdGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO3MuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXVuc2VsZWN0aW5nIikscy51bnNlbGVjdGluZz0hMSxzLnN0YXJ0c2VsZWN0ZWQ9ITEsaS5fdHJpZ2dlcigidW5zZWxlY3RlZCIsdCx7dW5zZWxlY3RlZDpzLmVsZW1lbnR9KX0pLGUoIi51aS1zZWxlY3RpbmciLHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe3ZhciBzPWUuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RpbmciKS5hZGRDbGFzcygidWktc2VsZWN0ZWQiKSxzLnNlbGVjdGluZz0hMSxzLnNlbGVjdGVkPSEwLHMuc3RhcnRzZWxlY3RlZD0hMCxpLl90cmlnZ2VyKCJzZWxlY3RlZCIsdCx7c2VsZWN0ZWQ6cy5lbGVtZW50fSl9KSx0aGlzLl90cmlnZ2VyKCJzdG9wIix0KSx0aGlzLmhlbHBlci5yZW1vdmUoKSwhMX19KSxlLndpZGdldCgidWkuc29ydGFibGUiLGUudWkubW91c2Use3ZlcnNpb246IjEuMTEuNCIsd2lkZ2V0RXZlbnRQcmVmaXg6InNvcnQiLHJlYWR5OiExLG9wdGlvbnM6e2FwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ITEsY29ubmVjdFdpdGg6ITEsY29udGFpbm1lbnQ6ITEsY3Vyc29yOiJhdXRvIixjdXJzb3JBdDohMSxkcm9wT25FbXB0eTohMCxmb3JjZVBsYWNlaG9sZGVyU2l6ZTohMSxmb3JjZUhlbHBlclNpemU6ITEsZ3JpZDohMSxoYW5kbGU6ITEsaGVscGVyOiJvcmlnaW5hbCIsaXRlbXM6Ij4gKiIsb3BhY2l0eTohMSxwbGFjZWhvbGRlcjohMSxyZXZlcnQ6ITEsc2Nyb2xsOiEwLHNjcm9sbFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNjb3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6ImludGVyc2VjdCIsekluZGV4OjFlMyxhY3RpdmF0ZTpudWxsLGJlZm9yZVN0b3A6bnVsbCxjaGFuZ2U6bnVsbCxkZWFjdGl2YXRlOm51bGwsb3V0Om51bGwsb3ZlcjpudWxsLHJlY2VpdmU6bnVsbCxyZW1vdmU6bnVsbCxzb3J0Om51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGwsdXBkYXRlOm51bGx9LF9pc092ZXJBeGlzOmZ1bmN0aW9uKGUsdCxpKXtyZXR1cm4gZT49dCYmdCtpPmV9LF9pc0Zsb2F0aW5nOmZ1bmN0aW9uKGUpe3JldHVybi9sZWZ0fHJpZ2h0Ly50ZXN0KGUuY3NzKCJmbG9hdCIpKXx8L2lubGluZXx0YWJsZS1jZWxsLy50ZXN0KGUuY3NzKCJkaXNwbGF5IikpfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXJDYWNoZT17fSx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNvcnRhYmxlIiksdGhpcy5yZWZyZXNoKCksdGhpcy5vZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpLHRoaXMuX21vdXNlSW5pdCgpLHRoaXMuX3NldEhhbmRsZUNsYXNzTmFtZSgpLHRoaXMucmVhZHk9ITB9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXt0aGlzLl9zdXBlcihlLHQpLCJoYW5kbGUiPT09ZSYmdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCl9LF9zZXRIYW5kbGVDbGFzc05hbWU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuZmluZCgiLnVpLXNvcnRhYmxlLWhhbmRsZSIpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oYW5kbGUiKSxlLmVhY2godGhpcy5pdGVtcyxmdW5jdGlvbigpeyh0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGFuZGxlP3RoaXMuaXRlbS5maW5kKHRoaXMuaW5zdGFuY2Uub3B0aW9ucy5oYW5kbGUpOnRoaXMuaXRlbSkuYWRkQ2xhc3MoInVpLXNvcnRhYmxlLWhhbmRsZSIpfSl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZSB1aS1zb3J0YWJsZS1kaXNhYmxlZCIpLmZpbmQoIi51aS1zb3J0YWJsZS1oYW5kbGUiKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGFuZGxlIiksdGhpcy5fbW91c2VEZXN0cm95KCk7Zm9yKHZhciBlPXRoaXMuaXRlbXMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy5pdGVtc1tlXS5pdGVtLnJlbW92ZURhdGEodGhpcy53aWRnZXROYW1lKyItaXRlbSIpO3JldHVybiB0aGlzfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKHQsaSl7dmFyIHM9bnVsbCxuPSExLGE9dGhpcztyZXR1cm4gdGhpcy5yZXZlcnRpbmc/ITE6dGhpcy5vcHRpb25zLmRpc2FibGVkfHwic3RhdGljIj09PXRoaXMub3B0aW9ucy50eXBlPyExOih0aGlzLl9yZWZyZXNoSXRlbXModCksZSh0LnRhcmdldCkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtyZXR1cm4gZS5kYXRhKHRoaXMsYS53aWRnZXROYW1lKyItaXRlbSIpPT09YT8ocz1lKHRoaXMpLCExKTp2b2lkIDB9KSxlLmRhdGEodC50YXJnZXQsYS53aWRnZXROYW1lKyItaXRlbSIpPT09YSYmKHM9ZSh0LnRhcmdldCkpLHM/IXRoaXMub3B0aW9ucy5oYW5kbGV8fGl8fChlKHRoaXMub3B0aW9ucy5oYW5kbGUscykuZmluZCgiKiIpLmFkZEJhY2soKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcz09PXQudGFyZ2V0JiYobj0hMCl9KSxuKT8odGhpcy5jdXJyZW50SXRlbT1zLHRoaXMuX3JlbW92ZUN1cnJlbnRzRnJvbUl0ZW1zKCksITApOiExOiExKX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGEsbz10aGlzLm9wdGlvbnM7aWYodGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXMsdGhpcy5yZWZyZXNoUG9zaXRpb25zKCksdGhpcy5oZWxwZXI9dGhpcy5fY3JlYXRlSGVscGVyKHQpLHRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKSx0aGlzLl9jYWNoZU1hcmdpbnMoKSx0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKSx0aGlzLm9mZnNldD10aGlzLmN1cnJlbnRJdGVtLm9mZnNldCgpLHRoaXMub2Zmc2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLXRoaXMubWFyZ2lucy50b3AsbGVmdDp0aGlzLm9mZnNldC5sZWZ0LXRoaXMubWFyZ2lucy5sZWZ0fSxlLmV4dGVuZCh0aGlzLm9mZnNldCx7Y2xpY2s6e2xlZnQ6dC5wYWdlWC10aGlzLm9mZnNldC5sZWZ0LHRvcDp0LnBhZ2VZLXRoaXMub2Zmc2V0LnRvcH0scGFyZW50OnRoaXMuX2dldFBhcmVudE9mZnNldCgpLHJlbGF0aXZlOnRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCl9KSx0aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKSx0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKSx0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbih0KSx0aGlzLm9yaWdpbmFsUGFnZVg9dC5wYWdlWCx0aGlzLm9yaWdpbmFsUGFnZVk9dC5wYWdlWSxvLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVyKG8uY3Vyc29yQXQpLHRoaXMuZG9tUG9zaXRpb249e3ByZXY6dGhpcy5jdXJyZW50SXRlbS5wcmV2KClbMF0scGFyZW50OnRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbMF19LHRoaXMuaGVscGVyWzBdIT09dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5jdXJyZW50SXRlbS5oaWRlKCksdGhpcy5fY3JlYXRlUGxhY2Vob2xkZXIoKSxvLmNvbnRhaW5tZW50JiZ0aGlzLl9zZXRDb250YWlubWVudCgpLG8uY3Vyc29yJiYiYXV0byIhPT1vLmN1cnNvciYmKGE9dGhpcy5kb2N1bWVudC5maW5kKCJib2R5IiksdGhpcy5zdG9yZWRDdXJzb3I9YS5jc3MoImN1cnNvciIpLGEuY3NzKCJjdXJzb3IiLG8uY3Vyc29yKSx0aGlzLnN0b3JlZFN0eWxlc2hlZXQ9ZSgiPHN0eWxlPip7IGN1cnNvcjogIitvLmN1cnNvcisiICFpbXBvcnRhbnQ7IH08L3N0eWxlPiIpLmFwcGVuZFRvKGEpKSxvLm9wYWNpdHkmJih0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKSYmKHRoaXMuX3N0b3JlZE9wYWNpdHk9dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5IikpLHRoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsby5vcGFjaXR5KSksby56SW5kZXgmJih0aGlzLmhlbHBlci5jc3MoInpJbmRleCIpJiYodGhpcy5fc3RvcmVkWkluZGV4PXRoaXMuaGVscGVyLmNzcygiekluZGV4IikpLHRoaXMuaGVscGVyLmNzcygiekluZGV4IixvLnpJbmRleCkpLHRoaXMuc2Nyb2xsUGFyZW50WzBdIT09dGhpcy5kb2N1bWVudFswXSYmIkhUTUwiIT09dGhpcy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSYmKHRoaXMub3ZlcmZsb3dPZmZzZXQ9dGhpcy5zY3JvbGxQYXJlbnQub2Zmc2V0KCkpLHRoaXMuX3RyaWdnZXIoInN0YXJ0Iix0LHRoaXMuX3VpSGFzaCgpKSx0aGlzLl9wcmVzZXJ2ZUhlbHBlclByb3BvcnRpb25zfHx0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCksIXMpZm9yKG49dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO24+PTA7bi0tKXRoaXMuY29udGFpbmVyc1tuXS5fdHJpZ2dlcigiYWN0aXZhdGUiLHQsdGhpcy5fdWlIYXNoKHRoaXMpKTtyZXR1cm4gZS51aS5kZG1hbmFnZXImJihlLnVpLmRkbWFuYWdlci5jdXJyZW50PXRoaXMpLGUudWkuZGRtYW5hZ2VyJiYhby5kcm9wQmVoYXZpb3VyJiZlLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLHQpLHRoaXMuZHJhZ2dpbmc9ITAsdGhpcy5oZWxwZXIuYWRkQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpLHRoaXMuX21vdXNlRHJhZyh0KSwhMH0sX21vdXNlRHJhZzpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYSxvPXRoaXMub3B0aW9ucyxyPSExO2Zvcih0aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24odCksdGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKSx0aGlzLmxhc3RQb3NpdGlvbkFic3x8KHRoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9zaXRpb25BYnMpLHRoaXMub3B0aW9ucy5zY3JvbGwmJih0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJiJIVE1MIiE9PXRoaXMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWU/KHRoaXMub3ZlcmZsb3dPZmZzZXQudG9wK3RoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldEhlaWdodC10LnBhZ2VZPG8uc2Nyb2xsU2Vuc2l0aXZpdHk/dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPXI9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK28uc2Nyb2xsU3BlZWQ6dC5wYWdlWS10aGlzLm92ZXJmbG93T2Zmc2V0LnRvcDxvLnNjcm9sbFNlbnNpdGl2aXR5JiYodGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPXI9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wLW8uc2Nyb2xsU3BlZWQpLHRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdCt0aGlzLnNjcm9sbFBhcmVudFswXS5vZmZzZXRXaWR0aC10LnBhZ2VYPG8uc2Nyb2xsU2Vuc2l0aXZpdHk/dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1yPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQrby5zY3JvbGxTcGVlZDp0LnBhZ2VYLXRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdDxvLnNjcm9sbFNlbnNpdGl2aXR5JiYodGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1yPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQtby5zY3JvbGxTcGVlZCkpOih0LnBhZ2VZLXRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKCk8by5zY3JvbGxTZW5zaXRpdml0eT9yPXRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKHRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKCktby5zY3JvbGxTcGVlZCk6dGhpcy53aW5kb3cuaGVpZ2h0KCktKHQucGFnZVktdGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKSk8by5zY3JvbGxTZW5zaXRpdml0eSYmKHI9dGhpcy5kb2N1bWVudC5zY3JvbGxUb3AodGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKStvLnNjcm9sbFNwZWVkKSksdC5wYWdlWC10aGlzLmRvY3VtZW50LnNjcm9sbExlZnQoKTxvLnNjcm9sbFNlbnNpdGl2aXR5P3I9dGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpLW8uc2Nyb2xsU3BlZWQpOnRoaXMud2luZG93LndpZHRoKCktKHQucGFnZVgtdGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KCkpPG8uc2Nyb2xsU2Vuc2l0aXZpdHkmJihyPXRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCh0aGlzLmRvY3VtZW50LnNjcm9sbExlZnQoKStvLnNjcm9sbFNwZWVkKSkpLHIhPT0hMSYmZS51aS5kZG1hbmFnZXImJiFvLmRyb3BCZWhhdmlvdXImJmUudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsdCkpLHRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIiksdGhpcy5vcHRpb25zLmF4aXMmJiJ5Ij09PXRoaXMub3B0aW9ucy5heGlzfHwodGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9uLmxlZnQrInB4IiksdGhpcy5vcHRpb25zLmF4aXMmJiJ4Ij09PXRoaXMub3B0aW9ucy5heGlzfHwodGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCIpLGk9dGhpcy5pdGVtcy5sZW5ndGgtMTtpPj0wO2ktLSlpZihzPXRoaXMuaXRlbXNbaV0sbj1zLml0ZW1bMF0sYT10aGlzLl9pbnRlcnNlY3RzV2l0aFBvaW50ZXIocyksYSYmcy5pbnN0YW5jZT09PXRoaXMuY3VycmVudENvbnRhaW5lciYmbiE9PXRoaXMuY3VycmVudEl0ZW1bMF0mJnRoaXMucGxhY2Vob2xkZXJbMT09PWE/Im5leHQiOiJwcmV2Il0oKVswXSE9PW4mJiFlLmNvbnRhaW5zKHRoaXMucGxhY2Vob2xkZXJbMF0sbikmJigic2VtaS1keW5hbWljIj09PXRoaXMub3B0aW9ucy50eXBlPyFlLmNvbnRhaW5zKHRoaXMuZWxlbWVudFswXSxuKTohMCkpe2lmKHRoaXMuZGlyZWN0aW9uPTE9PT1hPyJkb3duIjoidXAiLCJwb2ludGVyIiE9PXRoaXMub3B0aW9ucy50b2xlcmFuY2UmJiF0aGlzLl9pbnRlcnNlY3RzV2l0aFNpZGVzKHMpKWJyZWFrO3RoaXMuX3JlYXJyYW5nZSh0LHMpLHRoaXMuX3RyaWdnZXIoImNoYW5nZSIsdCx0aGlzLl91aUhhc2goKSk7YnJlYWt9cmV0dXJuIHRoaXMuX2NvbnRhY3RDb250YWluZXJzKHQpLGUudWkuZGRtYW5hZ2VyJiZlLnVpLmRkbWFuYWdlci5kcmFnKHRoaXMsdCksdGhpcy5fdHJpZ2dlcigic29ydCIsdCx0aGlzLl91aUhhc2goKSksdGhpcy5sYXN0UG9zaXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicywhMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0LGkpe2lmKHQpe2lmKGUudWkuZGRtYW5hZ2VyJiYhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXImJmUudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyx0KSx0aGlzLm9wdGlvbnMucmV2ZXJ0KXt2YXIgcz10aGlzLG49dGhpcy5wbGFjZWhvbGRlci5vZmZzZXQoKSxhPXRoaXMub3B0aW9ucy5heGlzLG89e307YSYmIngiIT09YXx8KG8ubGVmdD1uLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQtdGhpcy5tYXJnaW5zLmxlZnQrKHRoaXMub2Zmc2V0UGFyZW50WzBdPT09dGhpcy5kb2N1bWVudFswXS5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsTGVmdCkpLGEmJiJ5IiE9PWF8fChvLnRvcD1uLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLXRoaXMubWFyZ2lucy50b3ArKHRoaXMub2Zmc2V0UGFyZW50WzBdPT09dGhpcy5kb2N1bWVudFswXS5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsVG9wKSksdGhpcy5yZXZlcnRpbmc9ITAsZSh0aGlzLmhlbHBlcikuYW5pbWF0ZShvLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnQsMTApfHw1MDAsZnVuY3Rpb24oKXtzLl9jbGVhcih0KX0pfWVsc2UgdGhpcy5fY2xlYXIodCxpKTtyZXR1cm4hMX19LGNhbmNlbDpmdW5jdGlvbigpe2lmKHRoaXMuZHJhZ2dpbmcpe3RoaXMuX21vdXNlVXAoe3RhcmdldDpudWxsfSksIm9yaWdpbmFsIj09PXRoaXMub3B0aW9ucy5oZWxwZXI/dGhpcy5jdXJyZW50SXRlbS5jc3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIik6dGhpcy5jdXJyZW50SXRlbS5zaG93KCk7Zm9yKHZhciB0PXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTt0Pj0wO3QtLSl0aGlzLmNvbnRhaW5lcnNbdF0uX3RyaWdnZXIoImRlYWN0aXZhdGUiLG51bGwsdGhpcy5fdWlIYXNoKHRoaXMpKSx0aGlzLmNvbnRhaW5lcnNbdF0uY29udGFpbmVyQ2FjaGUub3ZlciYmKHRoaXMuY29udGFpbmVyc1t0XS5fdHJpZ2dlcigib3V0IixudWxsLHRoaXMuX3VpSGFzaCh0aGlzKSksdGhpcy5jb250YWluZXJzW3RdLmNvbnRhaW5lckNhY2hlLm92ZXI9MCl9cmV0dXJuIHRoaXMucGxhY2Vob2xkZXImJih0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUmJnRoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKSwib3JpZ2luYWwiIT09dGhpcy5vcHRpb25zLmhlbHBlciYmdGhpcy5oZWxwZXImJnRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGUmJnRoaXMuaGVscGVyLnJlbW92ZSgpLGUuZXh0ZW5kKHRoaXMse2hlbHBlcjpudWxsLGRyYWdnaW5nOiExLHJldmVydGluZzohMSxfbm9GaW5hbFNvcnQ6bnVsbH0pLHRoaXMuZG9tUG9zaXRpb24ucHJldj9lKHRoaXMuZG9tUG9zaXRpb24ucHJldikuYWZ0ZXIodGhpcy5jdXJyZW50SXRlbSk6ZSh0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCkucHJlcGVuZCh0aGlzLmN1cnJlbnRJdGVtKSksdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2dldEl0ZW1zQXNqUXVlcnkodCYmdC5jb25uZWN0ZWQpLHM9W107cmV0dXJuIHQ9dHx8e30sZShpKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9KGUodC5pdGVtfHx0aGlzKS5hdHRyKHQuYXR0cmlidXRlfHwiaWQiKXx8IiIpLm1hdGNoKHQuZXhwcmVzc2lvbnx8LyguKylbXC09X10oLispLyk7aSYmcy5wdXNoKCh0LmtleXx8aVsxXSsiW10iKSsiPSIrKHQua2V5JiZ0LmV4cHJlc3Npb24/aVsxXTppWzJdKSl9KSwhcy5sZW5ndGgmJnQua2V5JiZzLnB1c2godC5rZXkrIj0iKSxzLmpvaW4oIiYiKX0sdG9BcnJheTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9nZXRJdGVtc0FzalF1ZXJ5KHQmJnQuY29ubmVjdGVkKSxzPVtdO3JldHVybiB0PXR8fHt9LGkuZWFjaChmdW5jdGlvbigpe3MucHVzaChlKHQuaXRlbXx8dGhpcykuYXR0cih0LmF0dHJpYnV0ZXx8ImlkIil8fCIiKX0pLHN9LF9pbnRlcnNlY3RzV2l0aDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBvc2l0aW9uQWJzLmxlZnQsaT10K3RoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgscz10aGlzLnBvc2l0aW9uQWJzLnRvcCxuPXMrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsYT1lLmxlZnQsbz1hK2Uud2lkdGgscj1lLnRvcCxoPXIrZS5oZWlnaHQsbD10aGlzLm9mZnNldC5jbGljay50b3AsdT10aGlzLm9mZnNldC5jbGljay5sZWZ0LGQ9IngiPT09dGhpcy5vcHRpb25zLmF4aXN8fHMrbD5yJiZoPnMrbCxjPSJ5Ij09PXRoaXMub3B0aW9ucy5heGlzfHx0K3U+YSYmbz50K3UscD1kJiZjO3JldHVybiJwb2ludGVyIj09PXRoaXMub3B0aW9ucy50b2xlcmFuY2V8fHRoaXMub3B0aW9ucy5mb3JjZVBvaW50ZXJGb3JDb250YWluZXJzfHwicG9pbnRlciIhPT10aGlzLm9wdGlvbnMudG9sZXJhbmNlJiZ0aGlzLmhlbHBlclByb3BvcnRpb25zW3RoaXMuZmxvYXRpbmc/IndpZHRoIjoiaGVpZ2h0Il0+ZVt0aGlzLmZsb2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdP3A6dCt0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLzI+YSYmbz5pLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMiYmcyt0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yPnImJmg+bi10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yfSxfaW50ZXJzZWN0c1dpdGhQb2ludGVyOmZ1bmN0aW9uKGUpe3ZhciB0PSJ4Ij09PXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLl9pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCxlLnRvcCxlLmhlaWdodCksaT0ieSI9PT10aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5faXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxlLmxlZnQsZS53aWR0aCkscz10JiZpLG49dGhpcy5fZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uKCksYT10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpO3JldHVybiBzP3RoaXMuZmxvYXRpbmc/YSYmInJpZ2h0Ij09PWF8fCJkb3duIj09PW4/MjoxOm4mJigiZG93biI9PT1uPzI6MSk6ITF9LF9pbnRlcnNlY3RzV2l0aFNpZGVzOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2lzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy50b3ArdGhpcy5vZmZzZXQuY2xpY2sudG9wLGUudG9wK2UuaGVpZ2h0LzIsZS5oZWlnaHQpLGk9dGhpcy5faXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxlLmxlZnQrZS53aWR0aC8yLGUud2lkdGgpLHM9dGhpcy5fZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uKCksbj10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpO3JldHVybiB0aGlzLmZsb2F0aW5nJiZuPyJyaWdodCI9PT1uJiZpfHwibGVmdCI9PT1uJiYhaTpzJiYoImRvd24iPT09cyYmdHx8InVwIj09PXMmJiF0KX0sX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMucG9zaXRpb25BYnMudG9wLXRoaXMubGFzdFBvc2l0aW9uQWJzLnRvcDtyZXR1cm4gMCE9PWUmJihlPjA/ImRvd24iOiJ1cCIpfSxfZ2V0RHJhZ0hvcml6b250YWxEaXJlY3Rpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBvc2l0aW9uQWJzLmxlZnQtdGhpcy5sYXN0UG9zaXRpb25BYnMubGVmdDtyZXR1cm4gMCE9PWUmJihlPjA/InJpZ2h0IjoibGVmdCIpfSxyZWZyZXNoOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9yZWZyZXNoSXRlbXMoZSksdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCksdGhpcy5yZWZyZXNoUG9zaXRpb25zKCksdGhpc30sX2Nvbm5lY3RXaXRoOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO3JldHVybiBlLmNvbm5lY3RXaXRoLmNvbnN0cnVjdG9yPT09U3RyaW5nP1tlLmNvbm5lY3RXaXRoXTplLmNvbm5lY3RXaXRofSxfZ2V0SXRlbXNBc2pRdWVyeTpmdW5jdGlvbih0KXtmdW5jdGlvbiBpKCl7ci5wdXNoKHRoaXMpfXZhciBzLG4sYSxvLHI9W10saD1bXSxsPXRoaXMuX2Nvbm5lY3RXaXRoKCk7aWYobCYmdClmb3Iocz1sLmxlbmd0aC0xO3M+PTA7cy0tKWZvcihhPWUobFtzXSx0aGlzLmRvY3VtZW50WzBdKSxuPWEubGVuZ3RoLTE7bj49MDtuLS0pbz1lLmRhdGEoYVtuXSx0aGlzLndpZGdldEZ1bGxOYW1lKSxvJiZvIT09dGhpcyYmIW8ub3B0aW9ucy5kaXNhYmxlZCYmaC5wdXNoKFtlLmlzRnVuY3Rpb24oby5vcHRpb25zLml0ZW1zKT9vLm9wdGlvbnMuaXRlbXMuY2FsbChvLmVsZW1lbnQpOmUoby5vcHRpb25zLml0ZW1zLG8uZWxlbWVudCkubm90KCIudWktc29ydGFibGUtaGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSxvXSk7Zm9yKGgucHVzaChbZS5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRpb25zLml0ZW1zLmNhbGwodGhpcy5lbGVtZW50LG51bGwse29wdGlvbnM6dGhpcy5vcHRpb25zLGl0ZW06dGhpcy5jdXJyZW50SXRlbX0pOmUodGhpcy5vcHRpb25zLml0ZW1zLHRoaXMuZWxlbWVudCkubm90KCIudWktc29ydGFibGUtaGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSx0aGlzXSkscz1oLmxlbmd0aC0xO3M+PTA7cy0tKWhbc11bMF0uZWFjaChpKTtyZXR1cm4gZShyKX0sX3JlbW92ZUN1cnJlbnRzRnJvbUl0ZW1zOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jdXJyZW50SXRlbS5maW5kKCI6ZGF0YSgiK3RoaXMud2lkZ2V0TmFtZSsiLWl0ZW0pIik7dGhpcy5pdGVtcz1lLmdyZXAodGhpcy5pdGVtcyxmdW5jdGlvbihlKXtmb3IodmFyIGk9MDt0Lmxlbmd0aD5pO2krKylpZih0W2ldPT09ZS5pdGVtWzBdKXJldHVybiExO3JldHVybiEwfSl9LF9yZWZyZXNoSXRlbXM6ZnVuY3Rpb24odCl7dGhpcy5pdGVtcz1bXSx0aGlzLmNvbnRhaW5lcnM9W3RoaXNdO3ZhciBpLHMsbixhLG8scixoLGwsdT10aGlzLml0ZW1zLGQ9W1tlLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLml0ZW1zKT90aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0aGlzLmVsZW1lbnRbMF0sdCx7aXRlbTp0aGlzLmN1cnJlbnRJdGVtfSk6ZSh0aGlzLm9wdGlvbnMuaXRlbXMsdGhpcy5lbGVtZW50KSx0aGlzXV0sYz10aGlzLl9jb25uZWN0V2l0aCgpO2lmKGMmJnRoaXMucmVhZHkpZm9yKGk9Yy5sZW5ndGgtMTtpPj0wO2ktLSlmb3Iobj1lKGNbaV0sdGhpcy5kb2N1bWVudFswXSkscz1uLmxlbmd0aC0xO3M+PTA7cy0tKWE9ZS5kYXRhKG5bc10sdGhpcy53aWRnZXRGdWxsTmFtZSksYSYmYSE9PXRoaXMmJiFhLm9wdGlvbnMuZGlzYWJsZWQmJihkLnB1c2goW2UuaXNGdW5jdGlvbihhLm9wdGlvbnMuaXRlbXMpP2Eub3B0aW9ucy5pdGVtcy5jYWxsKGEuZWxlbWVudFswXSx0LHtpdGVtOnRoaXMuY3VycmVudEl0ZW19KTplKGEub3B0aW9ucy5pdGVtcyxhLmVsZW1lbnQpLGFdKSx0aGlzLmNvbnRhaW5lcnMucHVzaChhKSk7Zm9yKGk9ZC5sZW5ndGgtMTtpPj0wO2ktLSlmb3Iobz1kW2ldWzFdLHI9ZFtpXVswXSxzPTAsbD1yLmxlbmd0aDtsPnM7cysrKWg9ZShyW3NdKSxoLmRhdGEodGhpcy53aWRnZXROYW1lKyItaXRlbSIsbyksdS5wdXNoKHtpdGVtOmgsaW5zdGFuY2U6byx3aWR0aDowLGhlaWdodDowLGxlZnQ6MCx0b3A6MH0pfSxyZWZyZXNoUG9zaXRpb25zOmZ1bmN0aW9uKHQpe3RoaXMuZmxvYXRpbmc9dGhpcy5pdGVtcy5sZW5ndGg/IngiPT09dGhpcy5vcHRpb25zLmF4aXN8fHRoaXMuX2lzRmxvYXRpbmcodGhpcy5pdGVtc1swXS5pdGVtKTohMSx0aGlzLm9mZnNldFBhcmVudCYmdGhpcy5oZWxwZXImJih0aGlzLm9mZnNldC5wYXJlbnQ9dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkpO3ZhciBpLHMsbixhO2ZvcihpPXRoaXMuaXRlbXMubGVuZ3RoLTE7aT49MDtpLS0pcz10aGlzLml0ZW1zW2ldLHMuaW5zdGFuY2UhPT10aGlzLmN1cnJlbnRDb250YWluZXImJnRoaXMuY3VycmVudENvbnRhaW5lciYmcy5pdGVtWzBdIT09dGhpcy5jdXJyZW50SXRlbVswXXx8KG49dGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQ/ZSh0aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudCxzLml0ZW0pOnMuaXRlbSx0fHwocy53aWR0aD1uLm91dGVyV2lkdGgoKSxzLmhlaWdodD1uLm91dGVySGVpZ2h0KCkpLGE9bi5vZmZzZXQoKSxzLmxlZnQ9YS5sZWZ0LHMudG9wPWEudG9wKTtpZih0aGlzLm9wdGlvbnMuY3VzdG9tJiZ0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzKXRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMuY2FsbCh0aGlzKTtlbHNlIGZvcihpPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtpPj0wO2ktLSlhPXRoaXMuY29udGFpbmVyc1tpXS5lbGVtZW50Lm9mZnNldCgpLHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZS5sZWZ0PWEubGVmdCx0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUudG9wPWEudG9wLHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZS53aWR0aD10aGlzLmNvbnRhaW5lcnNbaV0uZWxlbWVudC5vdXRlcldpZHRoKCksdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLmhlaWdodD10aGlzLmNvbnRhaW5lcnNbaV0uZWxlbWVudC5vdXRlckhlaWdodCgpO3JldHVybiB0aGlzfSxfY3JlYXRlUGxhY2Vob2xkZXI6ZnVuY3Rpb24odCl7dD10fHx0aGlzO3ZhciBpLHM9dC5vcHRpb25zO3MucGxhY2Vob2xkZXImJnMucGxhY2Vob2xkZXIuY29uc3RydWN0b3IhPT1TdHJpbmd8fChpPXMucGxhY2Vob2xkZXIscy5wbGFjZWhvbGRlcj17ZWxlbWVudDpmdW5jdGlvbigpe3ZhciBzPXQuY3VycmVudEl0ZW1bMF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxuPWUoIjwiK3MrIj4iLHQuZG9jdW1lbnRbMF0pLmFkZENsYXNzKGl8fHQuY3VycmVudEl0ZW1bMF0uY2xhc3NOYW1lKyIgdWktc29ydGFibGUtcGxhY2Vob2xkZXIiKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIik7cmV0dXJuInRib2R5Ij09PXM/dC5fY3JlYXRlVHJQbGFjZWhvbGRlcih0LmN1cnJlbnRJdGVtLmZpbmQoInRyIikuZXEoMCksZSgiPHRyPiIsdC5kb2N1bWVudFswXSkuYXBwZW5kVG8obikpOiJ0ciI9PT1zP3QuX2NyZWF0ZVRyUGxhY2Vob2xkZXIodC5jdXJyZW50SXRlbSxuKToiaW1nIj09PXMmJm4uYXR0cigic3JjIix0LmN1cnJlbnRJdGVtLmF0dHIoInNyYyIpKSxpfHxuLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLG59LHVwZGF0ZTpmdW5jdGlvbihlLG4peyghaXx8cy5mb3JjZVBsYWNlaG9sZGVyU2l6ZSkmJihuLmhlaWdodCgpfHxuLmhlaWdodCh0LmN1cnJlbnRJdGVtLmlubmVySGVpZ2h0KCktcGFyc2VJbnQodC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdUb3AiKXx8MCwxMCktcGFyc2VJbnQodC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdCb3R0b20iKXx8MCwxMCkpLG4ud2lkdGgoKXx8bi53aWR0aCh0LmN1cnJlbnRJdGVtLmlubmVyV2lkdGgoKS1wYXJzZUludCh0LmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ0xlZnQiKXx8MCwxMCktcGFyc2VJbnQodC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdSaWdodCIpfHwwLDEwKSkpfX0pLHQucGxhY2Vob2xkZXI9ZShzLnBsYWNlaG9sZGVyLmVsZW1lbnQuY2FsbCh0LmVsZW1lbnQsdC5jdXJyZW50SXRlbSkpLHQuY3VycmVudEl0ZW0uYWZ0ZXIodC5wbGFjZWhvbGRlcikscy5wbGFjZWhvbGRlci51cGRhdGUodCx0LnBsYWNlaG9sZGVyKX0sX2NyZWF0ZVRyUGxhY2Vob2xkZXI6ZnVuY3Rpb24odCxpKXt2YXIgcz10aGlzO3QuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7ZSgiPHRkPiYjMTYwOzwvdGQ+IixzLmRvY3VtZW50WzBdKS5hdHRyKCJjb2xzcGFuIixlKHRoaXMpLmF0dHIoImNvbHNwYW4iKXx8MSkuYXBwZW5kVG8oaSl9KX0sX2NvbnRhY3RDb250YWluZXJzOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbixhLG8scixoLGwsdSxkLGM9bnVsbCxwPW51bGw7Zm9yKGk9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2k+PTA7aS0tKWlmKCFlLmNvbnRhaW5zKHRoaXMuY3VycmVudEl0ZW1bMF0sdGhpcy5jb250YWluZXJzW2ldLmVsZW1lbnRbMF0pKWlmKHRoaXMuX2ludGVyc2VjdHNXaXRoKHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZSkpe2lmKGMmJmUuY29udGFpbnModGhpcy5jb250YWluZXJzW2ldLmVsZW1lbnRbMF0sYy5lbGVtZW50WzBdKSljb250aW51ZTtjPXRoaXMuY29udGFpbmVyc1tpXSxwPWl9ZWxzZSB0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUub3ZlciYmKHRoaXMuY29udGFpbmVyc1tpXS5fdHJpZ2dlcigib3V0Iix0LHRoaXMuX3VpSGFzaCh0aGlzKSksdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLm92ZXI9MCk7aWYoYylpZigxPT09dGhpcy5jb250YWluZXJzLmxlbmd0aCl0aGlzLmNvbnRhaW5lcnNbcF0uY29udGFpbmVyQ2FjaGUub3Zlcnx8KHRoaXMuY29udGFpbmVyc1twXS5fdHJpZ2dlcigib3ZlciIsdCx0aGlzLl91aUhhc2godGhpcykpLHRoaXMuY29udGFpbmVyc1twXS5jb250YWluZXJDYWNoZS5vdmVyPTEpO2Vsc2V7Zm9yKG49MWU0LGE9bnVsbCx1PWMuZmxvYXRpbmd8fHRoaXMuX2lzRmxvYXRpbmcodGhpcy5jdXJyZW50SXRlbSksbz11PyJsZWZ0IjoidG9wIixyPXU/IndpZHRoIjoiaGVpZ2h0IixkPXU/ImNsaWVudFgiOiJjbGllbnRZIixzPXRoaXMuaXRlbXMubGVuZ3RoLTE7cz49MDtzLS0pZS5jb250YWlucyh0aGlzLmNvbnRhaW5lcnNbcF0uZWxlbWVudFswXSx0aGlzLml0ZW1zW3NdLml0ZW1bMF0pJiZ0aGlzLml0ZW1zW3NdLml0ZW1bMF0hPT10aGlzLmN1cnJlbnRJdGVtWzBdJiYoaD10aGlzLml0ZW1zW3NdLml0ZW0ub2Zmc2V0KClbb10sbD0hMSx0W2RdLWg+dGhpcy5pdGVtc1tzXVtyXS8yJiYobD0hMCksbj5NYXRoLmFicyh0W2RdLWgpJiYobj1NYXRoLmFicyh0W2RdLWgpLGE9dGhpcy5pdGVtc1tzXSx0aGlzLmRpcmVjdGlvbj1sPyJ1cCI6ImRvd24iKSk7aWYoIWEmJiF0aGlzLm9wdGlvbnMuZHJvcE9uRW1wdHkpcmV0dXJuO2lmKHRoaXMuY3VycmVudENvbnRhaW5lcj09PXRoaXMuY29udGFpbmVyc1twXSlyZXR1cm4gdGhpcy5jdXJyZW50Q29udGFpbmVyLmNvbnRhaW5lckNhY2hlLm92ZXJ8fCh0aGlzLmNvbnRhaW5lcnNbcF0uX3RyaWdnZXIoIm92ZXIiLHQsdGhpcy5fdWlIYXNoKCkpLHRoaXMuY3VycmVudENvbnRhaW5lci5jb250YWluZXJDYWNoZS5vdmVyPTEpLHZvaWQgMDthP3RoaXMuX3JlYXJyYW5nZSh0LGEsbnVsbCwhMCk6dGhpcy5fcmVhcnJhbmdlKHQsbnVsbCx0aGlzLmNvbnRhaW5lcnNbcF0uZWxlbWVudCwhMCksdGhpcy5fdHJpZ2dlcigiY2hhbmdlIix0LHRoaXMuX3VpSGFzaCgpKSx0aGlzLmNvbnRhaW5lcnNbcF0uX3RyaWdnZXIoImNoYW5nZSIsdCx0aGlzLl91aUhhc2godGhpcykpLHRoaXMuY3VycmVudENvbnRhaW5lcj10aGlzLmNvbnRhaW5lcnNbcF0sdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyLnVwZGF0ZSh0aGlzLmN1cnJlbnRDb250YWluZXIsdGhpcy5wbGFjZWhvbGRlciksdGhpcy5jb250YWluZXJzW3BdLl90cmlnZ2VyKCJvdmVyIix0LHRoaXMuX3VpSGFzaCh0aGlzKSksdGhpcy5jb250YWluZXJzW3BdLmNvbnRhaW5lckNhY2hlLm92ZXI9MX19LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5vcHRpb25zLHM9ZS5pc0Z1bmN0aW9uKGkuaGVscGVyKT9lKGkuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbdCx0aGlzLmN1cnJlbnRJdGVtXSkpOiJjbG9uZSI9PT1pLmhlbHBlcj90aGlzLmN1cnJlbnRJdGVtLmNsb25lKCk6dGhpcy5jdXJyZW50SXRlbTtyZXR1cm4gcy5wYXJlbnRzKCJib2R5IikubGVuZ3RofHxlKCJwYXJlbnQiIT09aS5hcHBlbmRUbz9pLmFwcGVuZFRvOnRoaXMuY3VycmVudEl0ZW1bMF0ucGFyZW50Tm9kZSlbMF0uYXBwZW5kQ2hpbGQoc1swXSksc1swXT09PXRoaXMuY3VycmVudEl0ZW1bMF0mJih0aGlzLl9zdG9yZWRDU1M9e3dpZHRoOnRoaXMuY3VycmVudEl0ZW1bMF0uc3R5bGUud2lkdGgsaGVpZ2h0OnRoaXMuY3VycmVudEl0ZW1bMF0uc3R5bGUuaGVpZ2h0LHBvc2l0aW9uOnRoaXMuY3VycmVudEl0ZW0uY3NzKCJwb3NpdGlvbiIpLHRvcDp0aGlzLmN1cnJlbnRJdGVtLmNzcygidG9wIiksbGVmdDp0aGlzLmN1cnJlbnRJdGVtLmNzcygibGVmdCIpfSksKCFzWzBdLnN0eWxlLndpZHRofHxpLmZvcmNlSGVscGVyU2l6ZSkmJnMud2lkdGgodGhpcy5jdXJyZW50SXRlbS53aWR0aCgpKSwoIXNbMF0uc3R5bGUuaGVpZ2h0fHxpLmZvcmNlSGVscGVyU2l6ZSkmJnMuaGVpZ2h0KHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkpLHN9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKHQpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC5zcGxpdCgiICIpKSxlLmlzQXJyYXkodCkmJih0PXtsZWZ0Oit0WzBdLHRvcDordFsxXXx8MH0pLCJsZWZ0ImluIHQmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXQubGVmdCt0aGlzLm1hcmdpbnMubGVmdCksInJpZ2h0ImluIHQmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdC5yaWdodCt0aGlzLm1hcmdpbnMubGVmdCksInRvcCJpbiB0JiYodGhpcy5vZmZzZXQuY2xpY2sudG9wPXQudG9wK3RoaXMubWFyZ2lucy50b3ApLCJib3R0b20iaW4gdCYmKHRoaXMub2Zmc2V0LmNsaWNrLnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10LmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wKX0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3RoaXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciB0PXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpO3JldHVybiJhYnNvbHV0ZSI9PT10aGlzLmNzc1Bvc2l0aW9uJiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJmUuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pJiYodC5sZWZ0Kz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCksdC50b3ArPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpKSwodGhpcy5vZmZzZXRQYXJlbnRbMF09PT10aGlzLmRvY3VtZW50WzBdLmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJiJodG1sIj09PXRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKSYmZS51aS5pZSkmJih0PXt0b3A6MCxsZWZ0OjB9KSx7dG9wOnQudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OnQubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYoInJlbGF0aXZlIj09PXRoaXMuY3NzUG9zaXRpb24pe3ZhciBlPXRoaXMuY3VycmVudEl0ZW0ucG9zaXRpb24oKTtyZXR1cm57dG9wOmUudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDplLmxlZnQtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpfX1yZXR1cm57dG9wOjAsbGVmdDowfX0sX2NhY2hlTWFyZ2luczpmdW5jdGlvbigpe3RoaXMubWFyZ2lucz17bGVmdDpwYXJzZUludCh0aGlzLmN1cnJlbnRJdGVtLmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIHQsaSxzLG49dGhpcy5vcHRpb25zOyJwYXJlbnQiPT09bi5jb250YWlubWVudCYmKG4uY29udGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZSksKCJkb2N1bWVudCI9PT1uLmNvbnRhaW5tZW50fHwid2luZG93Ij09PW4uY29udGFpbm1lbnQpJiYodGhpcy5jb250YWlubWVudD1bMC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LDAtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3AsImRvY3VtZW50Ij09PW4uY29udGFpbm1lbnQ/dGhpcy5kb2N1bWVudC53aWR0aCgpOnRoaXMud2luZG93LndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCwoImRvY3VtZW50Ij09PW4uY29udGFpbm1lbnQ/dGhpcy5kb2N1bWVudC53aWR0aCgpOnRoaXMud2luZG93LmhlaWdodCgpfHx0aGlzLmRvY3VtZW50WzBdLmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdKSwvXihkb2N1bWVudHx3aW5kb3d8cGFyZW50KSQvLnRlc3Qobi5jb250YWlubWVudCl8fCh0PWUobi5jb250YWlubWVudClbMF0saT1lKG4uY29udGFpbm1lbnQpLm9mZnNldCgpLHM9ImhpZGRlbiIhPT1lKHQpLmNzcygib3ZlcmZsb3ciKSx0aGlzLmNvbnRhaW5tZW50PVtpLmxlZnQrKHBhcnNlSW50KGUodCkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChlKHQpLmNzcygicGFkZGluZ0xlZnQiKSwxMCl8fDApLXRoaXMubWFyZ2lucy5sZWZ0LGkudG9wKyhwYXJzZUludChlKHQpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChlKHQpLmNzcygicGFkZGluZ1RvcCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLnRvcCxpLmxlZnQrKHM/TWF0aC5tYXgodC5zY3JvbGxXaWR0aCx0Lm9mZnNldFdpZHRoKTp0Lm9mZnNldFdpZHRoKS0ocGFyc2VJbnQoZSh0KS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGUodCkuY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsaS50b3ArKHM/TWF0aC5tYXgodC5zY3JvbGxIZWlnaHQsdC5vZmZzZXRIZWlnaHQpOnQub2Zmc2V0SGVpZ2h0KS0ocGFyc2VJbnQoZSh0KS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoZSh0KS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdKX0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKHQsaSl7aXx8KGk9dGhpcy5wb3NpdGlvbik7dmFyIHM9ImFic29sdXRlIj09PXQ/MTotMSxuPSJhYnNvbHV0ZSIhPT10aGlzLmNzc1Bvc2l0aW9ufHx0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJmUuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pP3RoaXMuc2Nyb2xsUGFyZW50OnRoaXMub2Zmc2V0UGFyZW50LGE9LyhodG1sfGJvZHkpL2kudGVzdChuWzBdLnRhZ05hbWUpO3JldHVybnt0b3A6aS50b3ArdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wKnMrdGhpcy5vZmZzZXQucGFyZW50LnRvcCpzLSgiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6YT8wOm4uc2Nyb2xsVG9wKCkpKnMsbGVmdDppLmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCpzK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KnMtKCJmaXhlZCI9PT10aGlzLmNzc1Bvc2l0aW9uPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6YT8wOm4uc2Nyb2xsTGVmdCgpKSpzfX0sX2dlbmVyYXRlUG9zaXRpb246ZnVuY3Rpb24odCl7dmFyIGkscyxuPXRoaXMub3B0aW9ucyxhPXQucGFnZVgsbz10LnBhZ2VZLHI9ImFic29sdXRlIiE9PXRoaXMuY3NzUG9zaXRpb258fHRoaXMuc2Nyb2xsUGFyZW50WzBdIT09dGhpcy5kb2N1bWVudFswXSYmZS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSk/dGhpcy5zY3JvbGxQYXJlbnQ6dGhpcy5vZmZzZXRQYXJlbnQsaD0vKGh0bWx8Ym9keSkvaS50ZXN0KHJbMF0udGFnTmFtZSk7cmV0dXJuInJlbGF0aXZlIiE9PXRoaXMuY3NzUG9zaXRpb258fHRoaXMuc2Nyb2xsUGFyZW50WzBdIT09dGhpcy5kb2N1bWVudFswXSYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPT10aGlzLm9mZnNldFBhcmVudFswXXx8KHRoaXMub2Zmc2V0LnJlbGF0aXZlPXRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCkpLHRoaXMub3JpZ2luYWxQb3NpdGlvbiYmKHRoaXMuY29udGFpbm1lbnQmJih0LnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXSYmKGE9dGhpcy5jb250YWlubWVudFswXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0KSx0LnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdJiYobz10aGlzLmNvbnRhaW5tZW50WzFdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCksdC5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0mJihhPXRoaXMuY29udGFpbm1lbnRbMl0rdGhpcy5vZmZzZXQuY2xpY2subGVmdCksdC5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFszXSYmKG89dGhpcy5jb250YWlubWVudFszXSt0aGlzLm9mZnNldC5jbGljay50b3ApKSxuLmdyaWQmJihpPXRoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChvLXRoaXMub3JpZ2luYWxQYWdlWSkvbi5ncmlkWzFdKSpuLmdyaWRbMV0sbz10aGlzLmNvbnRhaW5tZW50P2ktdGhpcy5vZmZzZXQuY2xpY2sudG9wPj10aGlzLmNvbnRhaW5tZW50WzFdJiZpLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDw9dGhpcy5jb250YWlubWVudFszXT9pOmktdGhpcy5vZmZzZXQuY2xpY2sudG9wPj10aGlzLmNvbnRhaW5tZW50WzFdP2ktbi5ncmlkWzFdOmkrbi5ncmlkWzFdOmkscz10aGlzLm9yaWdpbmFsUGFnZVgrTWF0aC5yb3VuZCgoYS10aGlzLm9yaWdpbmFsUGFnZVgpL24uZ3JpZFswXSkqbi5ncmlkWzBdLGE9dGhpcy5jb250YWlubWVudD9zLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+PXRoaXMuY29udGFpbm1lbnRbMF0mJnMtdGhpcy5vZmZzZXQuY2xpY2subGVmdDw9dGhpcy5jb250YWlubWVudFsyXT9zOnMtdGhpcy5vZmZzZXQuY2xpY2subGVmdD49dGhpcy5jb250YWlubWVudFswXT9zLW4uZ3JpZFswXTpzK24uZ3JpZFswXTpzKSkse3RvcDpvLXRoaXMub2Zmc2V0LmNsaWNrLnRvcC10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCsoImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDpyLnNjcm9sbFRvcCgpKSxsZWZ0OmEtdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KygiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOmg/MDpyLnNjcm9sbExlZnQoKSl9fSxfcmVhcnJhbmdlOmZ1bmN0aW9uKGUsdCxpLHMpe2k/aVswXS5hcHBlbmRDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTp0Lml0ZW1bMF0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5wbGFjZWhvbGRlclswXSwiZG93biI9PT10aGlzLmRpcmVjdGlvbj90Lml0ZW1bMF06dC5pdGVtWzBdLm5leHRTaWJsaW5nKSx0aGlzLmNvdW50ZXI9dGhpcy5jb3VudGVyPysrdGhpcy5jb3VudGVyOjE7dmFyIG49dGhpcy5jb3VudGVyO3RoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7bj09PXRoaXMuY291bnRlciYmdGhpcy5yZWZyZXNoUG9zaXRpb25zKCFzKX0pfSxfY2xlYXI6ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBpKGUsdCxpKXtyZXR1cm4gZnVuY3Rpb24ocyl7aS5fdHJpZ2dlcihlLHMsdC5fdWlIYXNoKHQpKX19dGhpcy5yZXZlcnRpbmc9ITE7dmFyIHMsbj1bXTtpZighdGhpcy5fbm9GaW5hbFNvcnQmJnRoaXMuY3VycmVudEl0ZW0ucGFyZW50KCkubGVuZ3RoJiZ0aGlzLnBsYWNlaG9sZGVyLmJlZm9yZSh0aGlzLmN1cnJlbnRJdGVtKSx0aGlzLl9ub0ZpbmFsU29ydD1udWxsLHRoaXMuaGVscGVyWzBdPT09dGhpcy5jdXJyZW50SXRlbVswXSl7Zm9yKHMgaW4gdGhpcy5fc3RvcmVkQ1NTKSgiYXV0byI9PT10aGlzLl9zdG9yZWRDU1Nbc118fCJzdGF0aWMiPT09dGhpcy5fc3RvcmVkQ1NTW3NdKSYmKHRoaXMuX3N0b3JlZENTU1tzXT0iIik7dGhpcy5jdXJyZW50SXRlbS5jc3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIil9ZWxzZSB0aGlzLmN1cnJlbnRJdGVtLnNob3coKTtmb3IodGhpcy5mcm9tT3V0c2lkZSYmIXQmJm4ucHVzaChmdW5jdGlvbihlKXt0aGlzLl90cmlnZ2VyKCJyZWNlaXZlIixlLHRoaXMuX3VpSGFzaCh0aGlzLmZyb21PdXRzaWRlKSl9KSwhdGhpcy5mcm9tT3V0c2lkZSYmdGhpcy5kb21Qb3NpdGlvbi5wcmV2PT09dGhpcy5jdXJyZW50SXRlbS5wcmV2KCkubm90KCIudWktc29ydGFibGUtaGVscGVyIilbMF0mJnRoaXMuZG9tUG9zaXRpb24ucGFyZW50PT09dGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVswXXx8dHx8bi5wdXNoKGZ1bmN0aW9uKGUpe3RoaXMuX3RyaWdnZXIoInVwZGF0ZSIsZSx0aGlzLl91aUhhc2goKSl9KSx0aGlzIT09dGhpcy5jdXJyZW50Q29udGFpbmVyJiYodHx8KG4ucHVzaChmdW5jdGlvbihlKXt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLGUsdGhpcy5fdWlIYXNoKCkpfSksbi5wdXNoKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtlLl90cmlnZ2VyKCJyZWNlaXZlIix0LHRoaXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jdXJyZW50Q29udGFpbmVyKSksbi5wdXNoKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtlLl90cmlnZ2VyKCJ1cGRhdGUiLHQsdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmN1cnJlbnRDb250YWluZXIpKSkpLHM9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO3M+PTA7cy0tKXR8fG4ucHVzaChpKCJkZWFjdGl2YXRlIix0aGlzLHRoaXMuY29udGFpbmVyc1tzXSkpLHRoaXMuY29udGFpbmVyc1tzXS5jb250YWluZXJDYWNoZS5vdmVyJiYobi5wdXNoKGkoIm91dCIsdGhpcyx0aGlzLmNvbnRhaW5lcnNbc10pKSx0aGlzLmNvbnRhaW5lcnNbc10uY29udGFpbmVyQ2FjaGUub3Zlcj0wKTtpZih0aGlzLnN0b3JlZEN1cnNvciYmKHRoaXMuZG9jdW1lbnQuZmluZCgiYm9keSIpLmNzcygiY3Vyc29yIix0aGlzLnN0b3JlZEN1cnNvciksdGhpcy5zdG9yZWRTdHlsZXNoZWV0LnJlbW92ZSgpKSx0aGlzLl9zdG9yZWRPcGFjaXR5JiZ0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiLHRoaXMuX3N0b3JlZE9wYWNpdHkpLHRoaXMuX3N0b3JlZFpJbmRleCYmdGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLCJhdXRvIj09PXRoaXMuX3N0b3JlZFpJbmRleD8iIjp0aGlzLl9zdG9yZWRaSW5kZXgpLHRoaXMuZHJhZ2dpbmc9ITEsdHx8dGhpcy5fdHJpZ2dlcigiYmVmb3JlU3RvcCIsZSx0aGlzLl91aUhhc2goKSksdGhpcy5wbGFjZWhvbGRlclswXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pLHRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbHx8KHRoaXMuaGVscGVyWzBdIT09dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5oZWxwZXIucmVtb3ZlKCksdGhpcy5oZWxwZXI9bnVsbCksIXQpe2ZvcihzPTA7bi5sZW5ndGg+cztzKyspbltzXS5jYWxsKHRoaXMsZSk7dGhpcy5fdHJpZ2dlcigic3RvcCIsZSx0aGlzLl91aUhhc2goKSl9cmV0dXJuIHRoaXMuZnJvbU91dHNpZGU9ITEsIXRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbH0sX3RyaWdnZXI6ZnVuY3Rpb24oKXtlLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpPT09ITEmJnRoaXMuY2FuY2VsKCl9LF91aUhhc2g6ZnVuY3Rpb24odCl7dmFyIGk9dHx8dGhpcztyZXR1cm57aGVscGVyOmkuaGVscGVyLHBsYWNlaG9sZGVyOmkucGxhY2Vob2xkZXJ8fGUoW10pLHBvc2l0aW9uOmkucG9zaXRpb24sb3JpZ2luYWxQb3NpdGlvbjppLm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OmkucG9zaXRpb25BYnMsaXRlbTppLmN1cnJlbnRJdGVtLHNlbmRlcjp0P3QuZWxlbWVudDpudWxsfX19KSxlLndpZGdldCgidWkuYWNjb3JkaW9uIix7dmVyc2lvbjoiMS4xMS40IixvcHRpb25zOnthY3RpdmU6MCxhbmltYXRlOnt9LGNvbGxhcHNpYmxlOiExLGV2ZW50OiJjbGljayIsaGVhZGVyOiI+IGxpID4gOmZpcnN0LWNoaWxkLD4gOm5vdChsaSk6ZXZlbiIsaGVpZ2h0U3R5bGU6ImF1dG8iLGljb25zOnthY3RpdmVIZWFkZXI6InVpLWljb24tdHJpYW5nbGUtMS1zIixoZWFkZXI6InVpLWljb24tdHJpYW5nbGUtMS1lIn0sYWN0aXZhdGU6bnVsbCxiZWZvcmVBY3RpdmF0ZTpudWxsfSxoaWRlUHJvcHM6e2JvcmRlclRvcFdpZHRoOiJoaWRlIixib3JkZXJCb3R0b21XaWR0aDoiaGlkZSIscGFkZGluZ1RvcDoiaGlkZSIscGFkZGluZ0JvdHRvbToiaGlkZSIsaGVpZ2h0OiJoaWRlIn0sc2hvd1Byb3BzOntib3JkZXJUb3BXaWR0aDoic2hvdyIsYm9yZGVyQm90dG9tV2lkdGg6InNob3ciLHBhZGRpbmdUb3A6InNob3ciLHBhZGRpbmdCb3R0b206InNob3ciLGhlaWdodDoic2hvdyJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnM7dGhpcy5wcmV2U2hvdz10aGlzLnByZXZIaWRlPWUoKSx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWFjY29yZGlvbiB1aS13aWRnZXQgdWktaGVscGVyLXJlc2V0IikuYXR0cigicm9sZSIsInRhYmxpc3QiKSx0LmNvbGxhcHNpYmxlfHx0LmFjdGl2ZSE9PSExJiZudWxsIT10LmFjdGl2ZXx8KHQuYWN0aXZlPTApLHRoaXMuX3Byb2Nlc3NQYW5lbHMoKSwwPnQuYWN0aXZlJiYodC5hY3RpdmUrPXRoaXMuaGVhZGVycy5sZW5ndGgpLHRoaXMuX3JlZnJlc2goKX0sX2dldENyZWF0ZUV2ZW50RGF0YTpmdW5jdGlvbigpe3JldHVybntoZWFkZXI6dGhpcy5hY3RpdmUscGFuZWw6dGhpcy5hY3RpdmUubGVuZ3RoP3RoaXMuYWN0aXZlLm5leHQoKTplKCl9fSxfY3JlYXRlSWNvbnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuaWNvbnM7dCYmKGUoIjxzcGFuPiIpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taGVhZGVyLWljb24gdWktaWNvbiAiK3QuaGVhZGVyKS5wcmVwZW5kVG8odGhpcy5oZWFkZXJzKSx0aGlzLmFjdGl2ZS5jaGlsZHJlbigiLnVpLWFjY29yZGlvbi1oZWFkZXItaWNvbiIpLnJlbW92ZUNsYXNzKHQuaGVhZGVyKS5hZGRDbGFzcyh0LmFjdGl2ZUhlYWRlciksdGhpcy5oZWFkZXJzLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taWNvbnMiKSl9LF9kZXN0cm95SWNvbnM6ZnVuY3Rpb24oKXt0aGlzLmhlYWRlcnMucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1pY29ucyIpLmNoaWxkcmVuKCIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIikucmVtb3ZlKCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24gdWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIpLnJlbW92ZUF0dHIoInJvbGUiKSx0aGlzLmhlYWRlcnMucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXIgdWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWFjdGl2ZSB1aS1zdGF0ZS1kaXNhYmxlZCB1aS1jb3JuZXItdG9wIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtZXhwYW5kZWQiKS5yZW1vdmVBdHRyKCJhcmlhLXNlbGVjdGVkIikucmVtb3ZlQXR0cigiYXJpYS1jb250cm9scyIpLnJlbW92ZUF0dHIoInRhYkluZGV4IikucmVtb3ZlVW5pcXVlSWQoKSx0aGlzLl9kZXN0cm95SWNvbnMoKSxlPXRoaXMuaGVhZGVycy5uZXh0KCkucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVpLWFjY29yZGlvbi1jb250ZW50IHVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSB1aS1zdGF0ZS1kaXNhYmxlZCIpLmNzcygiZGlzcGxheSIsIiIpLnJlbW92ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLWhpZGRlbiIpLnJlbW92ZUF0dHIoImFyaWEtbGFiZWxsZWRieSIpLnJlbW92ZVVuaXF1ZUlkKCksImNvbnRlbnQiIT09dGhpcy5vcHRpb25zLmhlaWdodFN0eWxlJiZlLmNzcygiaGVpZ2h0IiwiIil9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXtyZXR1cm4iYWN0aXZlIj09PWU/KHRoaXMuX2FjdGl2YXRlKHQpLHZvaWQgMCk6KCJldmVudCI9PT1lJiYodGhpcy5vcHRpb25zLmV2ZW50JiZ0aGlzLl9vZmYodGhpcy5oZWFkZXJzLHRoaXMub3B0aW9ucy5ldmVudCksdGhpcy5fc2V0dXBFdmVudHModCkpLHRoaXMuX3N1cGVyKGUsdCksImNvbGxhcHNpYmxlIiE9PWV8fHR8fHRoaXMub3B0aW9ucy5hY3RpdmUhPT0hMXx8dGhpcy5fYWN0aXZhdGUoMCksImljb25zIj09PWUmJih0aGlzLl9kZXN0cm95SWNvbnMoKSx0JiZ0aGlzLl9jcmVhdGVJY29ucygpKSwiZGlzYWJsZWQiPT09ZSYmKHRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCkuYXR0cigiYXJpYS1kaXNhYmxlZCIsdCksdGhpcy5oZWFkZXJzLmFkZCh0aGlzLmhlYWRlcnMubmV4dCgpKS50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCkpLHZvaWQgMCl9LF9rZXlkb3duOmZ1bmN0aW9uKHQpe2lmKCF0LmFsdEtleSYmIXQuY3RybEtleSl7dmFyIGk9ZS51aS5rZXlDb2RlLHM9dGhpcy5oZWFkZXJzLmxlbmd0aCxuPXRoaXMuaGVhZGVycy5pbmRleCh0LnRhcmdldCksYT0hMTtzd2l0Y2godC5rZXlDb2RlKXtjYXNlIGkuUklHSFQ6Y2FzZSBpLkRPV046YT10aGlzLmhlYWRlcnNbKG4rMSklc107YnJlYWs7Y2FzZSBpLkxFRlQ6Y2FzZSBpLlVQOmE9dGhpcy5oZWFkZXJzWyhuLTErcyklc107YnJlYWs7Y2FzZSBpLlNQQUNFOmNhc2UgaS5FTlRFUjp0aGlzLl9ldmVudEhhbmRsZXIodCk7YnJlYWs7Y2FzZSBpLkhPTUU6YT10aGlzLmhlYWRlcnNbMF07YnJlYWs7Y2FzZSBpLkVORDphPXRoaXMuaGVhZGVyc1tzLTFdfWEmJihlKHQudGFyZ2V0KS5hdHRyKCJ0YWJJbmRleCIsLTEpLGUoYSkuYXR0cigidGFiSW5kZXgiLDApLGEuZm9jdXMoKSx0LnByZXZlbnREZWZhdWx0KCkpfX0sX3BhbmVsS2V5RG93bjpmdW5jdGlvbih0KXt0LmtleUNvZGU9PT1lLnVpLmtleUNvZGUuVVAmJnQuY3RybEtleSYmZSh0LmN1cnJlbnRUYXJnZXQpLnByZXYoKS5mb2N1cygpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zO3RoaXMuX3Byb2Nlc3NQYW5lbHMoKSx0LmFjdGl2ZT09PSExJiZ0LmNvbGxhcHNpYmxlPT09ITB8fCF0aGlzLmhlYWRlcnMubGVuZ3RoPyh0LmFjdGl2ZT0hMSx0aGlzLmFjdGl2ZT1lKCkpOnQuYWN0aXZlPT09ITE/dGhpcy5fYWN0aXZhdGUoMCk6dGhpcy5hY3RpdmUubGVuZ3RoJiYhZS5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5hY3RpdmVbMF0pP3RoaXMuaGVhZGVycy5sZW5ndGg9PT10aGlzLmhlYWRlcnMuZmluZCgiLnVpLXN0YXRlLWRpc2FibGVkIikubGVuZ3RoPyh0LmFjdGl2ZT0hMSx0aGlzLmFjdGl2ZT1lKCkpOnRoaXMuX2FjdGl2YXRlKE1hdGgubWF4KDAsdC5hY3RpdmUtMSkpOnQuYWN0aXZlPXRoaXMuaGVhZGVycy5pbmRleCh0aGlzLmFjdGl2ZSksdGhpcy5fZGVzdHJveUljb25zKCksdGhpcy5fcmVmcmVzaCgpfSxfcHJvY2Vzc1BhbmVsczpmdW5jdGlvbigpe3ZhciBlPXRoaXMuaGVhZGVycyx0PXRoaXMucGFuZWxzO3RoaXMuaGVhZGVycz10aGlzLmVsZW1lbnQuZmluZCh0aGlzLm9wdGlvbnMuaGVhZGVyKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWhlYWRlciB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKSx0aGlzLnBhbmVscz10aGlzLmhlYWRlcnMubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudCB1aS1oZWxwZXItcmVzZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSIpLmZpbHRlcigiOm5vdCgudWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlKSIpLmhpZGUoKSx0JiYodGhpcy5fb2ZmKGUubm90KHRoaXMuaGVhZGVycykpLHRoaXMuX29mZih0Lm5vdCh0aGlzLnBhbmVscykpKQp9LF9yZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIHQsaT10aGlzLm9wdGlvbnMscz1pLmhlaWdodFN0eWxlLG49dGhpcy5lbGVtZW50LnBhcmVudCgpO3RoaXMuYWN0aXZlPXRoaXMuX2ZpbmRBY3RpdmUoaS5hY3RpdmUpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSB1aS1zdGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIpLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItYWxsIiksdGhpcy5hY3RpdmUubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKS5zaG93KCksdGhpcy5oZWFkZXJzLmF0dHIoInJvbGUiLCJ0YWIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxpPXQudW5pcXVlSWQoKS5hdHRyKCJpZCIpLHM9dC5uZXh0KCksbj1zLnVuaXF1ZUlkKCkuYXR0cigiaWQiKTt0LmF0dHIoImFyaWEtY29udHJvbHMiLG4pLHMuYXR0cigiYXJpYS1sYWJlbGxlZGJ5IixpKX0pLm5leHQoKS5hdHRyKCJyb2xlIiwidGFicGFuZWwiKSx0aGlzLmhlYWRlcnMubm90KHRoaXMuYWN0aXZlKS5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6ImZhbHNlIiwiYXJpYS1leHBhbmRlZCI6ImZhbHNlIix0YWJJbmRleDotMX0pLm5leHQoKS5hdHRyKHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLmhpZGUoKSx0aGlzLmFjdGl2ZS5sZW5ndGg/dGhpcy5hY3RpdmUuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIiwiYXJpYS1leHBhbmRlZCI6InRydWUiLHRhYkluZGV4OjB9KS5uZXh0KCkuYXR0cih7ImFyaWEtaGlkZGVuIjoiZmFsc2UifSk6dGhpcy5oZWFkZXJzLmVxKDApLmF0dHIoInRhYkluZGV4IiwwKSx0aGlzLl9jcmVhdGVJY29ucygpLHRoaXMuX3NldHVwRXZlbnRzKGkuZXZlbnQpLCJmaWxsIj09PXM/KHQ9bi5oZWlnaHQoKSx0aGlzLmVsZW1lbnQuc2libGluZ3MoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbigpe3ZhciBpPWUodGhpcykscz1pLmNzcygicG9zaXRpb24iKTsiYWJzb2x1dGUiIT09cyYmImZpeGVkIiE9PXMmJih0LT1pLm91dGVySGVpZ2h0KCEwKSl9KSx0aGlzLmhlYWRlcnMuZWFjaChmdW5jdGlvbigpe3QtPWUodGhpcykub3V0ZXJIZWlnaHQoITApfSksdGhpcy5oZWFkZXJzLm5leHQoKS5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5oZWlnaHQoTWF0aC5tYXgoMCx0LWUodGhpcykuaW5uZXJIZWlnaHQoKStlKHRoaXMpLmhlaWdodCgpKSl9KS5jc3MoIm92ZXJmbG93IiwiYXV0byIpKToiYXV0byI9PT1zJiYodD0wLHRoaXMuaGVhZGVycy5uZXh0KCkuZWFjaChmdW5jdGlvbigpe3Q9TWF0aC5tYXgodCxlKHRoaXMpLmNzcygiaGVpZ2h0IiwiIikuaGVpZ2h0KCkpfSkuaGVpZ2h0KHQpKX0sX2FjdGl2YXRlOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2ZpbmRBY3RpdmUodClbMF07aSE9PXRoaXMuYWN0aXZlWzBdJiYoaT1pfHx0aGlzLmFjdGl2ZVswXSx0aGlzLl9ldmVudEhhbmRsZXIoe3RhcmdldDppLGN1cnJlbnRUYXJnZXQ6aSxwcmV2ZW50RGVmYXVsdDplLm5vb3B9KSl9LF9maW5kQWN0aXZlOmZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90aGlzLmhlYWRlcnMuZXEodCk6ZSgpfSxfc2V0dXBFdmVudHM6ZnVuY3Rpb24odCl7dmFyIGk9e2tleWRvd246Il9rZXlkb3duIn07dCYmZS5lYWNoKHQuc3BsaXQoIiAiKSxmdW5jdGlvbihlLHQpe2lbdF09Il9ldmVudEhhbmRsZXIifSksdGhpcy5fb2ZmKHRoaXMuaGVhZGVycy5hZGQodGhpcy5oZWFkZXJzLm5leHQoKSkpLHRoaXMuX29uKHRoaXMuaGVhZGVycyxpKSx0aGlzLl9vbih0aGlzLmhlYWRlcnMubmV4dCgpLHtrZXlkb3duOiJfcGFuZWxLZXlEb3duIn0pLHRoaXMuX2hvdmVyYWJsZSh0aGlzLmhlYWRlcnMpLHRoaXMuX2ZvY3VzYWJsZSh0aGlzLmhlYWRlcnMpfSxfZXZlbnRIYW5kbGVyOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucyxzPXRoaXMuYWN0aXZlLG49ZSh0LmN1cnJlbnRUYXJnZXQpLGE9blswXT09PXNbMF0sbz1hJiZpLmNvbGxhcHNpYmxlLHI9bz9lKCk6bi5uZXh0KCksaD1zLm5leHQoKSxsPXtvbGRIZWFkZXI6cyxvbGRQYW5lbDpoLG5ld0hlYWRlcjpvP2UoKTpuLG5ld1BhbmVsOnJ9O3QucHJldmVudERlZmF1bHQoKSxhJiYhaS5jb2xsYXBzaWJsZXx8dGhpcy5fdHJpZ2dlcigiYmVmb3JlQWN0aXZhdGUiLHQsbCk9PT0hMXx8KGkuYWN0aXZlPW8/ITE6dGhpcy5oZWFkZXJzLmluZGV4KG4pLHRoaXMuYWN0aXZlPWE/ZSgpOm4sdGhpcy5fdG9nZ2xlKGwpLHMucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSIpLGkuaWNvbnMmJnMuY2hpbGRyZW4oIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iKS5yZW1vdmVDbGFzcyhpLmljb25zLmFjdGl2ZUhlYWRlcikuYWRkQ2xhc3MoaS5pY29ucy5oZWFkZXIpLGF8fChuLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItYWxsIikuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIiksaS5pY29ucyYmbi5jaGlsZHJlbigiLnVpLWFjY29yZGlvbi1oZWFkZXItaWNvbiIpLnJlbW92ZUNsYXNzKGkuaWNvbnMuaGVhZGVyKS5hZGRDbGFzcyhpLmljb25zLmFjdGl2ZUhlYWRlciksbi5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpKSl9LF90b2dnbGU6ZnVuY3Rpb24odCl7dmFyIGk9dC5uZXdQYW5lbCxzPXRoaXMucHJldlNob3cubGVuZ3RoP3RoaXMucHJldlNob3c6dC5vbGRQYW5lbDt0aGlzLnByZXZTaG93LmFkZCh0aGlzLnByZXZIaWRlKS5zdG9wKCEwLCEwKSx0aGlzLnByZXZTaG93PWksdGhpcy5wcmV2SGlkZT1zLHRoaXMub3B0aW9ucy5hbmltYXRlP3RoaXMuX2FuaW1hdGUoaSxzLHQpOihzLmhpZGUoKSxpLnNob3coKSx0aGlzLl90b2dnbGVDb21wbGV0ZSh0KSkscy5hdHRyKHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLHMucHJldigpLmF0dHIoeyJhcmlhLXNlbGVjdGVkIjoiZmFsc2UiLCJhcmlhLWV4cGFuZGVkIjoiZmFsc2UifSksaS5sZW5ndGgmJnMubGVuZ3RoP3MucHJldigpLmF0dHIoe3RhYkluZGV4Oi0xLCJhcmlhLWV4cGFuZGVkIjoiZmFsc2UifSk6aS5sZW5ndGgmJnRoaXMuaGVhZGVycy5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gMD09PXBhcnNlSW50KGUodGhpcykuYXR0cigidGFiSW5kZXgiKSwxMCl9KS5hdHRyKCJ0YWJJbmRleCIsLTEpLGkuYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpLnByZXYoKS5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6InRydWUiLCJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pfSxfYW5pbWF0ZTpmdW5jdGlvbihlLHQsaSl7dmFyIHMsbixhLG89dGhpcyxyPTAsaD1lLmNzcygiYm94LXNpemluZyIpLGw9ZS5sZW5ndGgmJighdC5sZW5ndGh8fGUuaW5kZXgoKTx0LmluZGV4KCkpLHU9dGhpcy5vcHRpb25zLmFuaW1hdGV8fHt9LGQ9bCYmdS5kb3dufHx1LGM9ZnVuY3Rpb24oKXtvLl90b2dnbGVDb21wbGV0ZShpKX07cmV0dXJuIm51bWJlciI9PXR5cGVvZiBkJiYoYT1kKSwic3RyaW5nIj09dHlwZW9mIGQmJihuPWQpLG49bnx8ZC5lYXNpbmd8fHUuZWFzaW5nLGE9YXx8ZC5kdXJhdGlvbnx8dS5kdXJhdGlvbix0Lmxlbmd0aD9lLmxlbmd0aD8ocz1lLnNob3coKS5vdXRlckhlaWdodCgpLHQuYW5pbWF0ZSh0aGlzLmhpZGVQcm9wcyx7ZHVyYXRpb246YSxlYXNpbmc6bixzdGVwOmZ1bmN0aW9uKGUsdCl7dC5ub3c9TWF0aC5yb3VuZChlKX19KSxlLmhpZGUoKS5hbmltYXRlKHRoaXMuc2hvd1Byb3BzLHtkdXJhdGlvbjphLGVhc2luZzpuLGNvbXBsZXRlOmMsc3RlcDpmdW5jdGlvbihlLGkpe2kubm93PU1hdGgucm91bmQoZSksImhlaWdodCIhPT1pLnByb3A/ImNvbnRlbnQtYm94Ij09PWgmJihyKz1pLm5vdyk6ImNvbnRlbnQiIT09by5vcHRpb25zLmhlaWdodFN0eWxlJiYoaS5ub3c9TWF0aC5yb3VuZChzLXQub3V0ZXJIZWlnaHQoKS1yKSxyPTApfX0pLHZvaWQgMCk6dC5hbmltYXRlKHRoaXMuaGlkZVByb3BzLGEsbixjKTplLmFuaW1hdGUodGhpcy5zaG93UHJvcHMsYSxuLGMpfSxfdG9nZ2xlQ29tcGxldGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vbGRQYW5lbDt0LnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKS5wcmV2KCkucmVtb3ZlQ2xhc3MoInVpLWNvcm5lci10b3AiKS5hZGRDbGFzcygidWktY29ybmVyLWFsbCIpLHQubGVuZ3RoJiYodC5wYXJlbnQoKVswXS5jbGFzc05hbWU9dC5wYXJlbnQoKVswXS5jbGFzc05hbWUpLHRoaXMuX3RyaWdnZXIoImFjdGl2YXRlIixudWxsLGUpfX0pLGUud2lkZ2V0KCJ1aS5tZW51Iix7dmVyc2lvbjoiMS4xMS40IixkZWZhdWx0RWxlbWVudDoiPHVsPiIsZGVsYXk6MzAwLG9wdGlvbnM6e2ljb25zOntzdWJtZW51OiJ1aS1pY29uLWNhcmF0LTEtZSJ9LGl0ZW1zOiI+ICoiLG1lbnVzOiJ1bCIscG9zaXRpb246e215OiJsZWZ0LTEgdG9wIixhdDoicmlnaHQgdG9wIn0scm9sZToibWVudSIsYmx1cjpudWxsLGZvY3VzOm51bGwsc2VsZWN0Om51bGx9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmFjdGl2ZU1lbnU9dGhpcy5lbGVtZW50LHRoaXMubW91c2VIYW5kbGVkPSExLHRoaXMuZWxlbWVudC51bmlxdWVJZCgpLmFkZENsYXNzKCJ1aS1tZW51IHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCIpLnRvZ2dsZUNsYXNzKCJ1aS1tZW51LWljb25zIiwhIXRoaXMuZWxlbWVudC5maW5kKCIudWktaWNvbiIpLmxlbmd0aCkuYXR0cih7cm9sZTp0aGlzLm9wdGlvbnMucm9sZSx0YWJJbmRleDowfSksdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNhYmxlZCIsInRydWUiKSx0aGlzLl9vbih7Im1vdXNlZG93biAudWktbWVudS1pdGVtIjpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9LCJjbGljayAudWktbWVudS1pdGVtIjpmdW5jdGlvbih0KXt2YXIgaT1lKHQudGFyZ2V0KTshdGhpcy5tb3VzZUhhbmRsZWQmJmkubm90KCIudWktc3RhdGUtZGlzYWJsZWQiKS5sZW5ndGgmJih0aGlzLnNlbGVjdCh0KSx0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCl8fCh0aGlzLm1vdXNlSGFuZGxlZD0hMCksaS5oYXMoIi51aS1tZW51IikubGVuZ3RoP3RoaXMuZXhwYW5kKHQpOiF0aGlzLmVsZW1lbnQuaXMoIjpmb2N1cyIpJiZlKHRoaXMuZG9jdW1lbnRbMF0uYWN0aXZlRWxlbWVudCkuY2xvc2VzdCgiLnVpLW1lbnUiKS5sZW5ndGgmJih0aGlzLmVsZW1lbnQudHJpZ2dlcigiZm9jdXMiLFshMF0pLHRoaXMuYWN0aXZlJiYxPT09dGhpcy5hY3RpdmUucGFyZW50cygiLnVpLW1lbnUiKS5sZW5ndGgmJmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSkpfSwibW91c2VlbnRlciAudWktbWVudS1pdGVtIjpmdW5jdGlvbih0KXtpZighdGhpcy5wcmV2aW91c0ZpbHRlcil7dmFyIGk9ZSh0LmN1cnJlbnRUYXJnZXQpO2kuc2libGluZ3MoIi51aS1zdGF0ZS1hY3RpdmUiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIiksdGhpcy5mb2N1cyh0LGkpfX0sbW91c2VsZWF2ZToiY29sbGFwc2VBbGwiLCJtb3VzZWxlYXZlIC51aS1tZW51IjoiY29sbGFwc2VBbGwiLGZvY3VzOmZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5hY3RpdmV8fHRoaXMuZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5pdGVtcykuZXEoMCk7dHx8dGhpcy5mb2N1cyhlLGkpfSxibHVyOmZ1bmN0aW9uKHQpe3RoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7ZS5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5kb2N1bWVudFswXS5hY3RpdmVFbGVtZW50KXx8dGhpcy5jb2xsYXBzZUFsbCh0KX0pfSxrZXlkb3duOiJfa2V5ZG93biJ9KSx0aGlzLnJlZnJlc2goKSx0aGlzLl9vbih0aGlzLmRvY3VtZW50LHtjbGljazpmdW5jdGlvbihlKXt0aGlzLl9jbG9zZU9uRG9jdW1lbnRDbGljayhlKSYmdGhpcy5jb2xsYXBzZUFsbChlKSx0aGlzLm1vdXNlSGFuZGxlZD0hMX19KX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cigiYXJpYS1hY3RpdmVkZXNjZW5kYW50IikuZmluZCgiLnVpLW1lbnUiKS5hZGRCYWNrKCkucmVtb3ZlQ2xhc3MoInVpLW1lbnUgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLW1lbnUtaWNvbnMgdWktZnJvbnQiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKS5yZW1vdmVBdHRyKCJhcmlhLWxhYmVsbGVkYnkiKS5yZW1vdmVBdHRyKCJhcmlhLWV4cGFuZGVkIikucmVtb3ZlQXR0cigiYXJpYS1oaWRkZW4iKS5yZW1vdmVBdHRyKCJhcmlhLWRpc2FibGVkIikucmVtb3ZlVW5pcXVlSWQoKS5zaG93KCksdGhpcy5lbGVtZW50LmZpbmQoIi51aS1tZW51LWl0ZW0iKS5yZW1vdmVDbGFzcygidWktbWVudS1pdGVtIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtZGlzYWJsZWQiKS5yZW1vdmVVbmlxdWVJZCgpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLnJlbW92ZUF0dHIoInRhYkluZGV4IikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtaGFzcG9wdXAiKS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpO3QuZGF0YSgidWktbWVudS1zdWJtZW51LWNhcmF0IikmJnQucmVtb3ZlKCl9KSx0aGlzLmVsZW1lbnQuZmluZCgiLnVpLW1lbnUtZGl2aWRlciIpLnJlbW92ZUNsYXNzKCJ1aS1tZW51LWRpdmlkZXIgdWktd2lkZ2V0LWNvbnRlbnQiKX0sX2tleWRvd246ZnVuY3Rpb24odCl7dmFyIGkscyxuLGEsbz0hMDtzd2l0Y2godC5rZXlDb2RlKXtjYXNlIGUudWkua2V5Q29kZS5QQUdFX1VQOnRoaXMucHJldmlvdXNQYWdlKHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLlBBR0VfRE9XTjp0aGlzLm5leHRQYWdlKHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkhPTUU6dGhpcy5fbW92ZSgiZmlyc3QiLCJmaXJzdCIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRU5EOnRoaXMuX21vdmUoImxhc3QiLCJsYXN0Iix0KTticmVhaztjYXNlIGUudWkua2V5Q29kZS5VUDp0aGlzLnByZXZpb3VzKHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkRPV046dGhpcy5uZXh0KHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkxFRlQ6dGhpcy5jb2xsYXBzZSh0KTticmVhaztjYXNlIGUudWkua2V5Q29kZS5SSUdIVDp0aGlzLmFjdGl2ZSYmIXRoaXMuYWN0aXZlLmlzKCIudWktc3RhdGUtZGlzYWJsZWQiKSYmdGhpcy5leHBhbmQodCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRU5URVI6Y2FzZSBlLnVpLmtleUNvZGUuU1BBQ0U6dGhpcy5fYWN0aXZhdGUodCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRVNDQVBFOnRoaXMuY29sbGFwc2UodCk7YnJlYWs7ZGVmYXVsdDpvPSExLHM9dGhpcy5wcmV2aW91c0ZpbHRlcnx8IiIsbj1TdHJpbmcuZnJvbUNoYXJDb2RlKHQua2V5Q29kZSksYT0hMSxjbGVhclRpbWVvdXQodGhpcy5maWx0ZXJUaW1lciksbj09PXM/YT0hMDpuPXMrbixpPXRoaXMuX2ZpbHRlck1lbnVJdGVtcyhuKSxpPWEmJi0xIT09aS5pbmRleCh0aGlzLmFjdGl2ZS5uZXh0KCkpP3RoaXMuYWN0aXZlLm5leHRBbGwoIi51aS1tZW51LWl0ZW0iKTppLGkubGVuZ3RofHwobj1TdHJpbmcuZnJvbUNoYXJDb2RlKHQua2V5Q29kZSksaT10aGlzLl9maWx0ZXJNZW51SXRlbXMobikpLGkubGVuZ3RoPyh0aGlzLmZvY3VzKHQsaSksdGhpcy5wcmV2aW91c0ZpbHRlcj1uLHRoaXMuZmlsdGVyVGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5wcmV2aW91c0ZpbHRlcn0sMWUzKSk6ZGVsZXRlIHRoaXMucHJldmlvdXNGaWx0ZXJ9byYmdC5wcmV2ZW50RGVmYXVsdCgpfSxfYWN0aXZhdGU6ZnVuY3Rpb24oZSl7dGhpcy5hY3RpdmUuaXMoIi51aS1zdGF0ZS1kaXNhYmxlZCIpfHwodGhpcy5hY3RpdmUuaXMoIlthcmlhLWhhc3BvcHVwPSd0cnVlJ10iKT90aGlzLmV4cGFuZChlKTp0aGlzLnNlbGVjdChlKSl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdCxpLHM9dGhpcyxuPXRoaXMub3B0aW9ucy5pY29ucy5zdWJtZW51LGE9dGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLm1lbnVzKTt0aGlzLmVsZW1lbnQudG9nZ2xlQ2xhc3MoInVpLW1lbnUtaWNvbnMiLCEhdGhpcy5lbGVtZW50LmZpbmQoIi51aS1pY29uIikubGVuZ3RoKSxhLmZpbHRlcigiOm5vdCgudWktbWVudSkiKS5hZGRDbGFzcygidWktbWVudSB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktZnJvbnQiKS5oaWRlKCkuYXR0cih7cm9sZTp0aGlzLm9wdGlvbnMucm9sZSwiYXJpYS1oaWRkZW4iOiJ0cnVlIiwiYXJpYS1leHBhbmRlZCI6ImZhbHNlIn0pLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLGk9dC5wYXJlbnQoKSxzPWUoIjxzcGFuPiIpLmFkZENsYXNzKCJ1aS1tZW51LWljb24gdWktaWNvbiAiK24pLmRhdGEoInVpLW1lbnUtc3VibWVudS1jYXJhdCIsITApO2kuYXR0cigiYXJpYS1oYXNwb3B1cCIsInRydWUiKS5wcmVwZW5kKHMpLHQuYXR0cigiYXJpYS1sYWJlbGxlZGJ5IixpLmF0dHIoImlkIikpfSksdD1hLmFkZCh0aGlzLmVsZW1lbnQpLGk9dC5maW5kKHRoaXMub3B0aW9ucy5pdGVtcyksaS5ub3QoIi51aS1tZW51LWl0ZW0iKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtzLl9pc0RpdmlkZXIodCkmJnQuYWRkQ2xhc3MoInVpLXdpZGdldC1jb250ZW50IHVpLW1lbnUtZGl2aWRlciIpfSksaS5ub3QoIi51aS1tZW51LWl0ZW0sIC51aS1tZW51LWRpdmlkZXIiKS5hZGRDbGFzcygidWktbWVudS1pdGVtIikudW5pcXVlSWQoKS5hdHRyKHt0YWJJbmRleDotMSxyb2xlOnRoaXMuX2l0ZW1Sb2xlKCl9KSxpLmZpbHRlcigiLnVpLXN0YXRlLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNhYmxlZCIsInRydWUiKSx0aGlzLmFjdGl2ZSYmIWUuY29udGFpbnModGhpcy5lbGVtZW50WzBdLHRoaXMuYWN0aXZlWzBdKSYmdGhpcy5ibHVyKCl9LF9pdGVtUm9sZTpmdW5jdGlvbigpe3JldHVybnttZW51OiJtZW51aXRlbSIsbGlzdGJveDoib3B0aW9uIn1bdGhpcy5vcHRpb25zLnJvbGVdfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsdCl7Imljb25zIj09PWUmJnRoaXMuZWxlbWVudC5maW5kKCIudWktbWVudS1pY29uIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmljb25zLnN1Ym1lbnUpLmFkZENsYXNzKHQuc3VibWVudSksImRpc2FibGVkIj09PWUmJnRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCkuYXR0cigiYXJpYS1kaXNhYmxlZCIsdCksdGhpcy5fc3VwZXIoZSx0KX0sZm9jdXM6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzO3RoaXMuYmx1cihlLGUmJiJmb2N1cyI9PT1lLnR5cGUpLHRoaXMuX3Njcm9sbEludG9WaWV3KHQpLHRoaXMuYWN0aXZlPXQuZmlyc3QoKSxzPXRoaXMuYWN0aXZlLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKSx0aGlzLm9wdGlvbnMucm9sZSYmdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIscy5hdHRyKCJpZCIpKSx0aGlzLmFjdGl2ZS5wYXJlbnQoKS5jbG9zZXN0KCIudWktbWVudS1pdGVtIikuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLGUmJiJrZXlkb3duIj09PWUudHlwZT90aGlzLl9jbG9zZSgpOnRoaXMudGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLl9jbG9zZSgpfSx0aGlzLmRlbGF5KSxpPXQuY2hpbGRyZW4oIi51aS1tZW51IiksaS5sZW5ndGgmJmUmJi9ebW91c2UvLnRlc3QoZS50eXBlKSYmdGhpcy5fc3RhcnRPcGVuaW5nKGkpLHRoaXMuYWN0aXZlTWVudT10LnBhcmVudCgpLHRoaXMuX3RyaWdnZXIoImZvY3VzIixlLHtpdGVtOnR9KX0sX3Njcm9sbEludG9WaWV3OmZ1bmN0aW9uKHQpe3ZhciBpLHMsbixhLG8scjt0aGlzLl9oYXNTY3JvbGwoKSYmKGk9cGFyc2VGbG9hdChlLmNzcyh0aGlzLmFjdGl2ZU1lbnVbMF0sImJvcmRlclRvcFdpZHRoIikpfHwwLHM9cGFyc2VGbG9hdChlLmNzcyh0aGlzLmFjdGl2ZU1lbnVbMF0sInBhZGRpbmdUb3AiKSl8fDAsbj10Lm9mZnNldCgpLnRvcC10aGlzLmFjdGl2ZU1lbnUub2Zmc2V0KCkudG9wLWktcyxhPXRoaXMuYWN0aXZlTWVudS5zY3JvbGxUb3AoKSxvPXRoaXMuYWN0aXZlTWVudS5oZWlnaHQoKSxyPXQub3V0ZXJIZWlnaHQoKSwwPm4/dGhpcy5hY3RpdmVNZW51LnNjcm9sbFRvcChhK24pOm4rcj5vJiZ0aGlzLmFjdGl2ZU1lbnUuc2Nyb2xsVG9wKGErbi1vK3IpKX0sYmx1cjpmdW5jdGlvbihlLHQpe3R8fGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLmFjdGl2ZSYmKHRoaXMuYWN0aXZlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpLHRoaXMuYWN0aXZlPW51bGwsdGhpcy5fdHJpZ2dlcigiYmx1ciIsZSx7aXRlbTp0aGlzLmFjdGl2ZX0pKX0sX3N0YXJ0T3BlbmluZzpmdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy50aW1lciksInRydWUiPT09ZS5hdHRyKCJhcmlhLWhpZGRlbiIpJiYodGhpcy50aW1lcj10aGlzLl9kZWxheShmdW5jdGlvbigpe3RoaXMuX2Nsb3NlKCksdGhpcy5fb3BlbihlKX0sdGhpcy5kZWxheSkpfSxfb3BlbjpmdW5jdGlvbih0KXt2YXIgaT1lLmV4dGVuZCh7b2Y6dGhpcy5hY3RpdmV9LHRoaXMub3B0aW9ucy5wb3NpdGlvbik7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMuZWxlbWVudC5maW5kKCIudWktbWVudSIpLm5vdCh0LnBhcmVudHMoIi51aS1tZW51IikpLmhpZGUoKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnNob3coKS5yZW1vdmVBdHRyKCJhcmlhLWhpZGRlbiIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJ0cnVlIikucG9zaXRpb24oaSl9LGNvbGxhcHNlQWxsOmZ1bmN0aW9uKHQsaSl7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt2YXIgcz1pP3RoaXMuZWxlbWVudDplKHQmJnQudGFyZ2V0KS5jbG9zZXN0KHRoaXMuZWxlbWVudC5maW5kKCIudWktbWVudSIpKTtzLmxlbmd0aHx8KHM9dGhpcy5lbGVtZW50KSx0aGlzLl9jbG9zZShzKSx0aGlzLmJsdXIodCksdGhpcy5hY3RpdmVNZW51PXN9LHRoaXMuZGVsYXkpfSxfY2xvc2U6ZnVuY3Rpb24oZSl7ZXx8KGU9dGhpcy5hY3RpdmU/dGhpcy5hY3RpdmUucGFyZW50KCk6dGhpcy5lbGVtZW50KSxlLmZpbmQoIi51aS1tZW51IikuaGlkZSgpLmF0dHIoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLmVuZCgpLmZpbmQoIi51aS1zdGF0ZS1hY3RpdmUiKS5ub3QoIi51aS1zdGF0ZS1mb2N1cyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX0sX2Nsb3NlT25Eb2N1bWVudENsaWNrOmZ1bmN0aW9uKHQpe3JldHVybiFlKHQudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudSIpLmxlbmd0aH0sX2lzRGl2aWRlcjpmdW5jdGlvbihlKXtyZXR1cm4hL1teXC1cdTIwMTRcdTIwMTNcc10vLnRlc3QoZS50ZXh0KCkpfSxjb2xsYXBzZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmFjdGl2ZSYmdGhpcy5hY3RpdmUucGFyZW50KCkuY2xvc2VzdCgiLnVpLW1lbnUtaXRlbSIsdGhpcy5lbGVtZW50KTt0JiZ0Lmxlbmd0aCYmKHRoaXMuX2Nsb3NlKCksdGhpcy5mb2N1cyhlLHQpKX0sZXhwYW5kOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWN0aXZlJiZ0aGlzLmFjdGl2ZS5jaGlsZHJlbigiLnVpLW1lbnUgIikuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpLmZpcnN0KCk7dCYmdC5sZW5ndGgmJih0aGlzLl9vcGVuKHQucGFyZW50KCkpLHRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dGhpcy5mb2N1cyhlLHQpfSkpfSxuZXh0OmZ1bmN0aW9uKGUpe3RoaXMuX21vdmUoIm5leHQiLCJmaXJzdCIsZSl9LHByZXZpb3VzOmZ1bmN0aW9uKGUpe3RoaXMuX21vdmUoInByZXYiLCJsYXN0IixlKX0saXNGaXJzdEl0ZW06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hY3RpdmUmJiF0aGlzLmFjdGl2ZS5wcmV2QWxsKCIudWktbWVudS1pdGVtIikubGVuZ3RofSxpc0xhc3RJdGVtOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYhdGhpcy5hY3RpdmUubmV4dEFsbCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0sX21vdmU6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzO3RoaXMuYWN0aXZlJiYocz0iZmlyc3QiPT09ZXx8Imxhc3QiPT09ZT90aGlzLmFjdGl2ZVsiZmlyc3QiPT09ZT8icHJldkFsbCI6Im5leHRBbGwiXSgiLnVpLW1lbnUtaXRlbSIpLmVxKC0xKTp0aGlzLmFjdGl2ZVtlKyJBbGwiXSgiLnVpLW1lbnUtaXRlbSIpLmVxKDApKSxzJiZzLmxlbmd0aCYmdGhpcy5hY3RpdmV8fChzPXRoaXMuYWN0aXZlTWVudS5maW5kKHRoaXMub3B0aW9ucy5pdGVtcylbdF0oKSksdGhpcy5mb2N1cyhpLHMpfSxuZXh0UGFnZTpmdW5jdGlvbih0KXt2YXIgaSxzLG47cmV0dXJuIHRoaXMuYWN0aXZlPyh0aGlzLmlzTGFzdEl0ZW0oKXx8KHRoaXMuX2hhc1Njcm9sbCgpPyhzPXRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcCxuPXRoaXMuZWxlbWVudC5oZWlnaHQoKSx0aGlzLmFjdGl2ZS5uZXh0QWxsKCIudWktbWVudS1pdGVtIikuZWFjaChmdW5jdGlvbigpe3JldHVybiBpPWUodGhpcyksMD5pLm9mZnNldCgpLnRvcC1zLW59KSx0aGlzLmZvY3VzKHQsaSkpOnRoaXMuZm9jdXModCx0aGlzLmFjdGl2ZU1lbnUuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpW3RoaXMuYWN0aXZlPyJsYXN0IjoiZmlyc3QiXSgpKSksdm9pZCAwKToodGhpcy5uZXh0KHQpLHZvaWQgMCl9LHByZXZpb3VzUGFnZTpmdW5jdGlvbih0KXt2YXIgaSxzLG47cmV0dXJuIHRoaXMuYWN0aXZlPyh0aGlzLmlzRmlyc3RJdGVtKCl8fCh0aGlzLl9oYXNTY3JvbGwoKT8ocz10aGlzLmFjdGl2ZS5vZmZzZXQoKS50b3Asbj10aGlzLmVsZW1lbnQuaGVpZ2h0KCksdGhpcy5hY3RpdmUucHJldkFsbCgiLnVpLW1lbnUtaXRlbSIpLmVhY2goZnVuY3Rpb24oKXtyZXR1cm4gaT1lKHRoaXMpLGkub2Zmc2V0KCkudG9wLXMrbj4wfSksdGhpcy5mb2N1cyh0LGkpKTp0aGlzLmZvY3VzKHQsdGhpcy5hY3RpdmVNZW51LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5maXJzdCgpKSksdm9pZCAwKToodGhpcy5uZXh0KHQpLHZvaWQgMCl9LF9oYXNTY3JvbGw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCk8dGhpcy5lbGVtZW50LnByb3AoInNjcm9sbEhlaWdodCIpfSxzZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5hY3RpdmU9dGhpcy5hY3RpdmV8fGUodC50YXJnZXQpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0iKTt2YXIgaT17aXRlbTp0aGlzLmFjdGl2ZX07dGhpcy5hY3RpdmUuaGFzKCIudWktbWVudSIpLmxlbmd0aHx8dGhpcy5jb2xsYXBzZUFsbCh0LCEwKSx0aGlzLl90cmlnZ2VyKCJzZWxlY3QiLHQsaSl9LF9maWx0ZXJNZW51SXRlbXM6ZnVuY3Rpb24odCl7dmFyIGk9dC5yZXBsYWNlKC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCJcXCQmIikscz1SZWdFeHAoIl4iK2ksImkiKTtyZXR1cm4gdGhpcy5hY3RpdmVNZW51LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5maWx0ZXIoIi51aS1tZW51LWl0ZW0iKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gcy50ZXN0KGUudHJpbShlKHRoaXMpLnRleHQoKSkpfSl9fSksZS53aWRnZXQoInVpLmF1dG9jb21wbGV0ZSIse3ZlcnNpb246IjEuMTEuNCIsZGVmYXVsdEVsZW1lbnQ6IjxpbnB1dD4iLG9wdGlvbnM6e2FwcGVuZFRvOm51bGwsYXV0b0ZvY3VzOiExLGRlbGF5OjMwMCxtaW5MZW5ndGg6MSxwb3NpdGlvbjp7bXk6ImxlZnQgdG9wIixhdDoibGVmdCBib3R0b20iLGNvbGxpc2lvbjoibm9uZSJ9LHNvdXJjZTpudWxsLGNoYW5nZTpudWxsLGNsb3NlOm51bGwsZm9jdXM6bnVsbCxvcGVuOm51bGwscmVzcG9uc2U6bnVsbCxzZWFyY2g6bnVsbCxzZWxlY3Q6bnVsbH0scmVxdWVzdEluZGV4OjAscGVuZGluZzowLF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdCxpLHMsbj10aGlzLmVsZW1lbnRbMF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxhPSJ0ZXh0YXJlYSI9PT1uLG89ImlucHV0Ij09PW47dGhpcy5pc011bHRpTGluZT1hPyEwOm8/ITE6dGhpcy5lbGVtZW50LnByb3AoImlzQ29udGVudEVkaXRhYmxlIiksdGhpcy52YWx1ZU1ldGhvZD10aGlzLmVsZW1lbnRbYXx8bz8idmFsIjoidGV4dCJdLHRoaXMuaXNOZXdNZW51PSEwLHRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlLWlucHV0IikuYXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIiksdGhpcy5fb24odGhpcy5lbGVtZW50LHtrZXlkb3duOmZ1bmN0aW9uKG4pe2lmKHRoaXMuZWxlbWVudC5wcm9wKCJyZWFkT25seSIpKXJldHVybiB0PSEwLHM9ITAsaT0hMCx2b2lkIDA7dD0hMSxzPSExLGk9ITE7dmFyIGE9ZS51aS5rZXlDb2RlO3N3aXRjaChuLmtleUNvZGUpe2Nhc2UgYS5QQUdFX1VQOnQ9ITAsdGhpcy5fbW92ZSgicHJldmlvdXNQYWdlIixuKTticmVhaztjYXNlIGEuUEFHRV9ET1dOOnQ9ITAsdGhpcy5fbW92ZSgibmV4dFBhZ2UiLG4pO2JyZWFrO2Nhc2UgYS5VUDp0PSEwLHRoaXMuX2tleUV2ZW50KCJwcmV2aW91cyIsbik7YnJlYWs7Y2FzZSBhLkRPV046dD0hMCx0aGlzLl9rZXlFdmVudCgibmV4dCIsbik7YnJlYWs7Y2FzZSBhLkVOVEVSOnRoaXMubWVudS5hY3RpdmUmJih0PSEwLG4ucHJldmVudERlZmF1bHQoKSx0aGlzLm1lbnUuc2VsZWN0KG4pKTticmVhaztjYXNlIGEuVEFCOnRoaXMubWVudS5hY3RpdmUmJnRoaXMubWVudS5zZWxlY3Qobik7YnJlYWs7Y2FzZSBhLkVTQ0FQRTp0aGlzLm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKSYmKHRoaXMuaXNNdWx0aUxpbmV8fHRoaXMuX3ZhbHVlKHRoaXMudGVybSksdGhpcy5jbG9zZShuKSxuLnByZXZlbnREZWZhdWx0KCkpO2JyZWFrO2RlZmF1bHQ6aT0hMCx0aGlzLl9zZWFyY2hUaW1lb3V0KG4pfX0sa2V5cHJlc3M6ZnVuY3Rpb24ocyl7aWYodClyZXR1cm4gdD0hMSwoIXRoaXMuaXNNdWx0aUxpbmV8fHRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKSYmcy5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgMDtpZighaSl7dmFyIG49ZS51aS5rZXlDb2RlO3N3aXRjaChzLmtleUNvZGUpe2Nhc2Ugbi5QQUdFX1VQOnRoaXMuX21vdmUoInByZXZpb3VzUGFnZSIscyk7YnJlYWs7Y2FzZSBuLlBBR0VfRE9XTjp0aGlzLl9tb3ZlKCJuZXh0UGFnZSIscyk7YnJlYWs7Y2FzZSBuLlVQOnRoaXMuX2tleUV2ZW50KCJwcmV2aW91cyIscyk7YnJlYWs7Y2FzZSBuLkRPV046dGhpcy5fa2V5RXZlbnQoIm5leHQiLHMpfX19LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBzPyhzPSExLGUucHJldmVudERlZmF1bHQoKSx2b2lkIDApOih0aGlzLl9zZWFyY2hUaW1lb3V0KGUpLHZvaWQgMCl9LGZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZEl0ZW09bnVsbCx0aGlzLnByZXZpb3VzPXRoaXMuX3ZhbHVlKCl9LGJsdXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY2FuY2VsQmx1cj8oZGVsZXRlIHRoaXMuY2FuY2VsQmx1cix2b2lkIDApOihjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hpbmcpLHRoaXMuY2xvc2UoZSksdGhpcy5fY2hhbmdlKGUpLHZvaWQgMCl9fSksdGhpcy5faW5pdFNvdXJjZSgpLHRoaXMubWVudT1lKCI8dWw+IikuYWRkQ2xhc3MoInVpLWF1dG9jb21wbGV0ZSB1aS1mcm9udCIpLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLm1lbnUoe3JvbGU6bnVsbH0pLmhpZGUoKS5tZW51KCJpbnN0YW5jZSIpLHRoaXMuX29uKHRoaXMubWVudS5lbGVtZW50LHttb3VzZWRvd246ZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2FuY2VsQmx1cj0hMCx0aGlzLl9kZWxheShmdW5jdGlvbigpe2RlbGV0ZSB0aGlzLmNhbmNlbEJsdXJ9KTt2YXIgaT10aGlzLm1lbnUuZWxlbWVudFswXTtlKHQudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudS1pdGVtIikubGVuZ3RofHx0aGlzLl9kZWxheShmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5kb2N1bWVudC5vbmUoIm1vdXNlZG93biIsZnVuY3Rpb24ocyl7cy50YXJnZXQ9PT10LmVsZW1lbnRbMF18fHMudGFyZ2V0PT09aXx8ZS5jb250YWlucyhpLHMudGFyZ2V0KXx8dC5jbG9zZSgpfSl9KX0sbWVudWZvY3VzOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbjtyZXR1cm4gdGhpcy5pc05ld01lbnUmJih0aGlzLmlzTmV3TWVudT0hMSx0Lm9yaWdpbmFsRXZlbnQmJi9ebW91c2UvLnRlc3QodC5vcmlnaW5hbEV2ZW50LnR5cGUpKT8odGhpcy5tZW51LmJsdXIoKSx0aGlzLmRvY3VtZW50Lm9uZSgibW91c2Vtb3ZlIixmdW5jdGlvbigpe2UodC50YXJnZXQpLnRyaWdnZXIodC5vcmlnaW5hbEV2ZW50KX0pLHZvaWQgMCk6KG49aS5pdGVtLmRhdGEoInVpLWF1dG9jb21wbGV0ZS1pdGVtIiksITEhPT10aGlzLl90cmlnZ2VyKCJmb2N1cyIsdCx7aXRlbTpufSkmJnQub3JpZ2luYWxFdmVudCYmL15rZXkvLnRlc3QodC5vcmlnaW5hbEV2ZW50LnR5cGUpJiZ0aGlzLl92YWx1ZShuLnZhbHVlKSxzPWkuaXRlbS5hdHRyKCJhcmlhLWxhYmVsIil8fG4udmFsdWUscyYmZS50cmltKHMpLmxlbmd0aCYmKHRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKSxlKCI8ZGl2PiIpLnRleHQocykuYXBwZW5kVG8odGhpcy5saXZlUmVnaW9uKSksdm9pZCAwKX0sbWVudXNlbGVjdDpmdW5jdGlvbihlLHQpe3ZhciBpPXQuaXRlbS5kYXRhKCJ1aS1hdXRvY29tcGxldGUtaXRlbSIpLHM9dGhpcy5wcmV2aW91czt0aGlzLmVsZW1lbnRbMF0hPT10aGlzLmRvY3VtZW50WzBdLmFjdGl2ZUVsZW1lbnQmJih0aGlzLmVsZW1lbnQuZm9jdXMoKSx0aGlzLnByZXZpb3VzPXMsdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLnByZXZpb3VzPXMsdGhpcy5zZWxlY3RlZEl0ZW09aX0pKSwhMSE9PXRoaXMuX3RyaWdnZXIoInNlbGVjdCIsZSx7aXRlbTppfSkmJnRoaXMuX3ZhbHVlKGkudmFsdWUpLHRoaXMudGVybT10aGlzLl92YWx1ZSgpLHRoaXMuY2xvc2UoZSksdGhpcy5zZWxlY3RlZEl0ZW09aX19KSx0aGlzLmxpdmVSZWdpb249ZSgiPHNwYW4+Iix7cm9sZToic3RhdHVzIiwiYXJpYS1saXZlIjoiYXNzZXJ0aXZlIiwiYXJpYS1yZWxldmFudCI6ImFkZGl0aW9ucyJ9KS5hZGRDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIikuYXBwZW5kVG8odGhpcy5kb2N1bWVudFswXS5ib2R5KSx0aGlzLl9vbih0aGlzLndpbmRvdyx7YmVmb3JldW5sb2FkOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoImF1dG9jb21wbGV0ZSIpfX0pfSxfZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLnNlYXJjaGluZyksdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hdXRvY29tcGxldGUtaW5wdXQiKS5yZW1vdmVBdHRyKCJhdXRvY29tcGxldGUiKSx0aGlzLm1lbnUuZWxlbWVudC5yZW1vdmUoKSx0aGlzLmxpdmVSZWdpb24ucmVtb3ZlKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXt0aGlzLl9zdXBlcihlLHQpLCJzb3VyY2UiPT09ZSYmdGhpcy5faW5pdFNvdXJjZSgpLCJhcHBlbmRUbyI9PT1lJiZ0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRUbyh0aGlzLl9hcHBlbmRUbygpKSwiZGlzYWJsZWQiPT09ZSYmdCYmdGhpcy54aHImJnRoaXMueGhyLmFib3J0KCl9LF9hcHBlbmRUbzpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5hcHBlbmRUbztyZXR1cm4gdCYmKHQ9dC5qcXVlcnl8fHQubm9kZVR5cGU/ZSh0KTp0aGlzLmRvY3VtZW50LmZpbmQodCkuZXEoMCkpLHQmJnRbMF18fCh0PXRoaXMuZWxlbWVudC5jbG9zZXN0KCIudWktZnJvbnQiKSksdC5sZW5ndGh8fCh0PXRoaXMuZG9jdW1lbnRbMF0uYm9keSksdH0sX2luaXRTb3VyY2U6ZnVuY3Rpb24oKXt2YXIgdCxpLHM9dGhpcztlLmlzQXJyYXkodGhpcy5vcHRpb25zLnNvdXJjZSk/KHQ9dGhpcy5vcHRpb25zLnNvdXJjZSx0aGlzLnNvdXJjZT1mdW5jdGlvbihpLHMpe3MoZS51aS5hdXRvY29tcGxldGUuZmlsdGVyKHQsaS50ZXJtKSl9KToic3RyaW5nIj09dHlwZW9mIHRoaXMub3B0aW9ucy5zb3VyY2U/KGk9dGhpcy5vcHRpb25zLnNvdXJjZSx0aGlzLnNvdXJjZT1mdW5jdGlvbih0LG4pe3MueGhyJiZzLnhoci5hYm9ydCgpLHMueGhyPWUuYWpheCh7dXJsOmksZGF0YTp0LGRhdGFUeXBlOiJqc29uIixzdWNjZXNzOmZ1bmN0aW9uKGUpe24oZSl9LGVycm9yOmZ1bmN0aW9uKCl7bihbXSl9fSl9KTp0aGlzLnNvdXJjZT10aGlzLm9wdGlvbnMuc291cmNlfSxfc2VhcmNoVGltZW91dDpmdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hpbmcpLHRoaXMuc2VhcmNoaW5nPXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50ZXJtPT09dGhpcy5fdmFsdWUoKSxpPXRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpLHM9ZS5hbHRLZXl8fGUuY3RybEtleXx8ZS5tZXRhS2V5fHxlLnNoaWZ0S2V5OyghdHx8dCYmIWkmJiFzKSYmKHRoaXMuc2VsZWN0ZWRJdGVtPW51bGwsdGhpcy5zZWFyY2gobnVsbCxlKSl9LHRoaXMub3B0aW9ucy5kZWxheSl9LHNlYXJjaDpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGwhPWU/ZTp0aGlzLl92YWx1ZSgpLHRoaXMudGVybT10aGlzLl92YWx1ZSgpLGUubGVuZ3RoPHRoaXMub3B0aW9ucy5taW5MZW5ndGg/dGhpcy5jbG9zZSh0KTp0aGlzLl90cmlnZ2VyKCJzZWFyY2giLHQpIT09ITE/dGhpcy5fc2VhcmNoKGUpOnZvaWQgMH0sX3NlYXJjaDpmdW5jdGlvbihlKXt0aGlzLnBlbmRpbmcrKyx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIiksdGhpcy5jYW5jZWxTZWFyY2g9ITEsdGhpcy5zb3VyY2Uoe3Rlcm06ZX0sdGhpcy5fcmVzcG9uc2UoKSl9LF9yZXNwb25zZTpmdW5jdGlvbigpe3ZhciB0PSsrdGhpcy5yZXF1ZXN0SW5kZXg7cmV0dXJuIGUucHJveHkoZnVuY3Rpb24oZSl7dD09PXRoaXMucmVxdWVzdEluZGV4JiZ0aGlzLl9fcmVzcG9uc2UoZSksdGhpcy5wZW5kaW5nLS0sdGhpcy5wZW5kaW5nfHx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIil9LHRoaXMpfSxfX3Jlc3BvbnNlOmZ1bmN0aW9uKGUpe2UmJihlPXRoaXMuX25vcm1hbGl6ZShlKSksdGhpcy5fdHJpZ2dlcigicmVzcG9uc2UiLG51bGwse2NvbnRlbnQ6ZX0pLCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJmUmJmUubGVuZ3RoJiYhdGhpcy5jYW5jZWxTZWFyY2g/KHRoaXMuX3N1Z2dlc3QoZSksdGhpcy5fdHJpZ2dlcigib3BlbiIpKTp0aGlzLl9jbG9zZSgpfSxjbG9zZTpmdW5jdGlvbihlKXt0aGlzLmNhbmNlbFNlYXJjaD0hMCx0aGlzLl9jbG9zZShlKX0sX2Nsb3NlOmZ1bmN0aW9uKGUpe3RoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpJiYodGhpcy5tZW51LmVsZW1lbnQuaGlkZSgpLHRoaXMubWVudS5ibHVyKCksdGhpcy5pc05ld01lbnU9ITAsdGhpcy5fdHJpZ2dlcigiY2xvc2UiLGUpKX0sX2NoYW5nZTpmdW5jdGlvbihlKXt0aGlzLnByZXZpb3VzIT09dGhpcy5fdmFsdWUoKSYmdGhpcy5fdHJpZ2dlcigiY2hhbmdlIixlLHtpdGVtOnRoaXMuc2VsZWN0ZWRJdGVtfSl9LF9ub3JtYWxpemU6ZnVuY3Rpb24odCl7cmV0dXJuIHQubGVuZ3RoJiZ0WzBdLmxhYmVsJiZ0WzBdLnZhbHVlP3Q6ZS5tYXAodCxmdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/e2xhYmVsOnQsdmFsdWU6dH06ZS5leHRlbmQoe30sdCx7bGFiZWw6dC5sYWJlbHx8dC52YWx1ZSx2YWx1ZTp0LnZhbHVlfHx0LmxhYmVsfSl9KX0sX3N1Z2dlc3Q6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5tZW51LmVsZW1lbnQuZW1wdHkoKTt0aGlzLl9yZW5kZXJNZW51KGksdCksdGhpcy5pc05ld01lbnU9ITAsdGhpcy5tZW51LnJlZnJlc2goKSxpLnNob3coKSx0aGlzLl9yZXNpemVNZW51KCksaS5wb3NpdGlvbihlLmV4dGVuZCh7b2Y6dGhpcy5lbGVtZW50fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pKSx0aGlzLm9wdGlvbnMuYXV0b0ZvY3VzJiZ0aGlzLm1lbnUubmV4dCgpfSxfcmVzaXplTWVudTpmdW5jdGlvbigpe3ZhciBlPXRoaXMubWVudS5lbGVtZW50O2Uub3V0ZXJXaWR0aChNYXRoLm1heChlLndpZHRoKCIiKS5vdXRlcldpZHRoKCkrMSx0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpKSl9LF9yZW5kZXJNZW51OmZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcztlLmVhY2goaSxmdW5jdGlvbihlLGkpe3MuX3JlbmRlckl0ZW1EYXRhKHQsaSl9KX0sX3JlbmRlckl0ZW1EYXRhOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3JlbmRlckl0ZW0oZSx0KS5kYXRhKCJ1aS1hdXRvY29tcGxldGUtaXRlbSIsdCl9LF9yZW5kZXJJdGVtOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGUoIjxsaT4iKS50ZXh0KGkubGFiZWwpLmFwcGVuZFRvKHQpfSxfbW92ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKT90aGlzLm1lbnUuaXNGaXJzdEl0ZW0oKSYmL15wcmV2aW91cy8udGVzdChlKXx8dGhpcy5tZW51LmlzTGFzdEl0ZW0oKSYmL15uZXh0Ly50ZXN0KGUpPyh0aGlzLmlzTXVsdGlMaW5lfHx0aGlzLl92YWx1ZSh0aGlzLnRlcm0pLHRoaXMubWVudS5ibHVyKCksdm9pZCAwKToodGhpcy5tZW51W2VdKHQpLHZvaWQgMCk6KHRoaXMuc2VhcmNoKG51bGwsdCksdm9pZCAwKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWVudS5lbGVtZW50fSxfdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZU1ldGhvZC5hcHBseSh0aGlzLmVsZW1lbnQsYXJndW1lbnRzKX0sX2tleUV2ZW50OmZ1bmN0aW9uKGUsdCl7KCF0aGlzLmlzTXVsdGlMaW5lfHx0aGlzLm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKSkmJih0aGlzLl9tb3ZlKGUsdCksdC5wcmV2ZW50RGVmYXVsdCgpKX19KSxlLmV4dGVuZChlLnVpLmF1dG9jb21wbGV0ZSx7ZXNjYXBlUmVnZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvW1wtXFtcXXt9KCkqKz8uLFxcXF4kfCNcc10vZywiXFwkJiIpfSxmaWx0ZXI6ZnVuY3Rpb24odCxpKXt2YXIgcz1SZWdFeHAoZS51aS5hdXRvY29tcGxldGUuZXNjYXBlUmVnZXgoaSksImkiKTtyZXR1cm4gZS5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIHMudGVzdChlLmxhYmVsfHxlLnZhbHVlfHxlKX0pfX0pLGUud2lkZ2V0KCJ1aS5hdXRvY29tcGxldGUiLGUudWkuYXV0b2NvbXBsZXRlLHtvcHRpb25zOnttZXNzYWdlczp7bm9SZXN1bHRzOiJObyBzZWFyY2ggcmVzdWx0cy4iLHJlc3VsdHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGUrKGU+MT8iIHJlc3VsdHMgYXJlIjoiIHJlc3VsdCBpcyIpKyIgYXZhaWxhYmxlLCB1c2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4ifX19LF9fcmVzcG9uc2U6ZnVuY3Rpb24odCl7dmFyIGk7dGhpcy5fc3VwZXJBcHBseShhcmd1bWVudHMpLHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhpcy5jYW5jZWxTZWFyY2h8fChpPXQmJnQubGVuZ3RoP3RoaXMub3B0aW9ucy5tZXNzYWdlcy5yZXN1bHRzKHQubGVuZ3RoKTp0aGlzLm9wdGlvbnMubWVzc2FnZXMubm9SZXN1bHRzLHRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKSxlKCI8ZGl2PiIpLnRleHQoaSkuYXBwZW5kVG8odGhpcy5saXZlUmVnaW9uKSl9fSksZS51aS5hdXRvY29tcGxldGU7dmFyIGMscD0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiLGY9InVpLWJ1dHRvbi1pY29ucy1vbmx5IHVpLWJ1dHRvbi1pY29uLW9ubHkgdWktYnV0dG9uLXRleHQtaWNvbnMgdWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IHVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IHVpLWJ1dHRvbi10ZXh0LW9ubHkiLG09ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmZpbmQoIjp1aS1idXR0b24iKS5idXR0b24oInJlZnJlc2giKX0sMSl9LGc9ZnVuY3Rpb24odCl7dmFyIGk9dC5uYW1lLHM9dC5mb3JtLG49ZShbXSk7cmV0dXJuIGkmJihpPWkucmVwbGFjZSgvJy9nLCJcXCciKSxuPXM/ZShzKS5maW5kKCJbbmFtZT0nIitpKyInXVt0eXBlPXJhZGlvXSIpOmUoIltuYW1lPSciK2krIiddW3R5cGU9cmFkaW9dIix0Lm93bmVyRG9jdW1lbnQpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiF0aGlzLmZvcm19KSksbn07ZS53aWRnZXQoInVpLmJ1dHRvbiIse3ZlcnNpb246IjEuMTEuNCIsZGVmYXVsdEVsZW1lbnQ6IjxidXR0b24+IixvcHRpb25zOntkaXNhYmxlZDpudWxsLHRleHQ6ITAsbGFiZWw6bnVsbCxpY29uczp7cHJpbWFyeTpudWxsLHNlY29uZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5jbG9zZXN0KCJmb3JtIikudW5iaW5kKCJyZXNldCIrdGhpcy5ldmVudE5hbWVzcGFjZSkuYmluZCgicmVzZXQiK3RoaXMuZXZlbnROYW1lc3BhY2UsbSksImJvb2xlYW4iIT10eXBlb2YgdGhpcy5vcHRpb25zLmRpc2FibGVkP3RoaXMub3B0aW9ucy5kaXNhYmxlZD0hIXRoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIpOnRoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIsdGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl9kZXRlcm1pbmVCdXR0b25UeXBlKCksdGhpcy5oYXNUaXRsZT0hIXRoaXMuYnV0dG9uRWxlbWVudC5hdHRyKCJ0aXRsZSIpO3ZhciB0PXRoaXMsaT10aGlzLm9wdGlvbnMscz0iY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlLG49cz8iIjoidWktc3RhdGUtYWN0aXZlIjtudWxsPT09aS5sYWJlbCYmKGkubGFiZWw9ImlucHV0Ij09PXRoaXMudHlwZT90aGlzLmJ1dHRvbkVsZW1lbnQudmFsKCk6dGhpcy5idXR0b25FbGVtZW50Lmh0bWwoKSksdGhpcy5faG92ZXJhYmxlKHRoaXMuYnV0dG9uRWxlbWVudCksdGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKHApLmF0dHIoInJvbGUiLCJidXR0b24iKS5iaW5kKCJtb3VzZWVudGVyIit0aGlzLmV2ZW50TmFtZXNwYWNlLGZ1bmN0aW9uKCl7aS5kaXNhYmxlZHx8dGhpcz09PWMmJmUodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSkuYmluZCgibW91c2VsZWF2ZSIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbigpe2kuZGlzYWJsZWR8fGUodGhpcykucmVtb3ZlQ2xhc3Mobil9KS5iaW5kKCJjbGljayIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbihlKXtpLmRpc2FibGVkJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfSksdGhpcy5fb24oe2ZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSxibHVyOmZ1bmN0aW9uKCl7dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfX0pLHMmJnRoaXMuZWxlbWVudC5iaW5kKCJjaGFuZ2UiK3RoaXMuZXZlbnROYW1lc3BhY2UsZnVuY3Rpb24oKXt0LnJlZnJlc2goKX0pLCJjaGVja2JveCI9PT10aGlzLnR5cGU/dGhpcy5idXR0b25FbGVtZW50LmJpbmQoImNsaWNrIit0aGlzLmV2ZW50TmFtZXNwYWNlLGZ1bmN0aW9uKCl7cmV0dXJuIGkuZGlzYWJsZWQ/ITE6dm9pZCAwfSk6InJhZGlvIj09PXRoaXMudHlwZT90aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2siK3RoaXMuZXZlbnROYW1lc3BhY2UsZnVuY3Rpb24oKXtpZihpLmRpc2FibGVkKXJldHVybiExO2UodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLHQuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik7dmFyIHM9dC5lbGVtZW50WzBdO2cocykubm90KHMpLm1hcChmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKX0pOih0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91c2Vkb3duIit0aGlzLmV2ZW50TmFtZXNwYWNlLGZ1bmN0aW9uKCl7cmV0dXJuIGkuZGlzYWJsZWQ/ITE6KGUodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLGM9dGhpcyx0LmRvY3VtZW50Lm9uZSgibW91c2V1cCIsZnVuY3Rpb24oKXtjPW51bGx9KSx2b2lkIDApfSkuYmluZCgibW91c2V1cCIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbigpe3JldHVybiBpLmRpc2FibGVkPyExOihlKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKSx2b2lkIDApfSkuYmluZCgia2V5ZG93biIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbih0KXtyZXR1cm4gaS5kaXNhYmxlZD8hMTooKHQua2V5Q29kZT09PWUudWkua2V5Q29kZS5TUEFDRXx8dC5rZXlDb2RlPT09ZS51aS5rZXlDb2RlLkVOVEVSKSYmZSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIiksdm9pZCAwKX0pLmJpbmQoImtleXVwIit0aGlzLmV2ZW50TmFtZXNwYWNlKyIgYmx1ciIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbigpe2UodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSksdGhpcy5idXR0b25FbGVtZW50LmlzKCJhIikmJnRoaXMuYnV0dG9uRWxlbWVudC5rZXl1cChmdW5jdGlvbih0KXt0LmtleUNvZGU9PT1lLnVpLmtleUNvZGUuU1BBQ0UmJmUodGhpcykuY2xpY2soKX0pKSx0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIixpLmRpc2FibGVkKSx0aGlzLl9yZXNldEJ1dHRvbigpfSxfZGV0ZXJtaW5lQnV0dG9uVHlwZTpmdW5jdGlvbigpe3ZhciBlLHQsaTt0aGlzLnR5cGU9dGhpcy5lbGVtZW50LmlzKCJbdHlwZT1jaGVja2JveF0iKT8iY2hlY2tib3giOnRoaXMuZWxlbWVudC5pcygiW3R5cGU9cmFkaW9dIik/InJhZGlvIjp0aGlzLmVsZW1lbnQuaXMoImlucHV0Iik/ImlucHV0IjoiYnV0dG9uIiwiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlPyhlPXRoaXMuZWxlbWVudC5wYXJlbnRzKCkubGFzdCgpLHQ9ImxhYmVsW2Zvcj0nIit0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSsiJ10iLHRoaXMuYnV0dG9uRWxlbWVudD1lLmZpbmQodCksdGhpcy5idXR0b25FbGVtZW50Lmxlbmd0aHx8KGU9ZS5sZW5ndGg/ZS5zaWJsaW5ncygpOnRoaXMuZWxlbWVudC5zaWJsaW5ncygpLHRoaXMuYnV0dG9uRWxlbWVudD1lLmZpbHRlcih0KSx0aGlzLmJ1dHRvbkVsZW1lbnQubGVuZ3RofHwodGhpcy5idXR0b25FbGVtZW50PWUuZmluZCh0KSkpLHRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiksaT10aGlzLmVsZW1lbnQuaXMoIjpjaGVja2VkIiksaSYmdGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKSx0aGlzLmJ1dHRvbkVsZW1lbnQucHJvcCgiYXJpYS1wcmVzc2VkIixpKSk6dGhpcy5idXR0b25FbGVtZW50PXRoaXMuZWxlbWVudH0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYnV0dG9uRWxlbWVudH0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpLHRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcyhwKyIgdWktc3RhdGUtYWN0aXZlICIrZikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtcHJlc3NlZCIpLmh0bWwodGhpcy5idXR0b25FbGVtZW50LmZpbmQoIi51aS1idXR0b24tdGV4dCIpLmh0bWwoKSksdGhpcy5oYXNUaXRsZXx8dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUF0dHIoInRpdGxlIil9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fc3VwZXIoZSx0KSwiZGlzYWJsZWQiPT09ZT8odGhpcy53aWRnZXQoKS50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCksdGhpcy5lbGVtZW50LnByb3AoImRpc2FibGVkIiwhIXQpLHQmJigiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlP3RoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKTp0aGlzLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIHVpLXN0YXRlLWFjdGl2ZSIpKSx2b2lkIDApOih0aGlzLl9yZXNldEJ1dHRvbigpLHZvaWQgMCl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQuaXMoImlucHV0LCBidXR0b24iKT90aGlzLmVsZW1lbnQuaXMoIjpkaXNhYmxlZCIpOnRoaXMuZWxlbWVudC5oYXNDbGFzcygidWktYnV0dG9uLWRpc2FibGVkIik7dCE9PXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdCksInJhZGlvIj09PXRoaXMudHlwZT9nKHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe2UodGhpcykuaXMoIjpjaGVja2VkIik/ZSh0aGlzKS5idXR0b24oIndpZGdldCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik6ZSh0aGlzKS5idXR0b24oIndpZGdldCIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpfSk6ImNoZWNrYm94Ij09PXRoaXMudHlwZSYmKHRoaXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKT90aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsInRydWUiKTp0aGlzLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsImZhbHNlIikpfSxfcmVzZXRCdXR0b246ZnVuY3Rpb24oKXtpZigiaW5wdXQiPT09dGhpcy50eXBlKXJldHVybiB0aGlzLm9wdGlvbnMubGFiZWwmJnRoaXMuZWxlbWVudC52YWwodGhpcy5vcHRpb25zLmxhYmVsKSx2b2lkIDA7dmFyIHQ9dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKGYpLGk9ZSgiPHNwYW4+PC9zcGFuPiIsdGhpcy5kb2N1bWVudFswXSkuYWRkQ2xhc3MoInVpLWJ1dHRvbi10ZXh0IikuaHRtbCh0aGlzLm9wdGlvbnMubGFiZWwpLmFwcGVuZFRvKHQuZW1wdHkoKSkudGV4dCgpLHM9dGhpcy5vcHRpb25zLmljb25zLG49cy5wcmltYXJ5JiZzLnNlY29uZGFyeSxhPVtdO3MucHJpbWFyeXx8cy5zZWNvbmRhcnk/KHRoaXMub3B0aW9ucy50ZXh0JiZhLnB1c2goInVpLWJ1dHRvbi10ZXh0LWljb24iKyhuPyJzIjpzLnByaW1hcnk/Ii1wcmltYXJ5IjoiLXNlY29uZGFyeSIpKSxzLnByaW1hcnkmJnQucHJlcGVuZCgiPHNwYW4gY2xhc3M9J3VpLWJ1dHRvbi1pY29uLXByaW1hcnkgdWktaWNvbiAiK3MucHJpbWFyeSsiJz48L3NwYW4+Iikscy5zZWNvbmRhcnkmJnQuYXBwZW5kKCI8c3BhbiBjbGFzcz0ndWktYnV0dG9uLWljb24tc2Vjb25kYXJ5IHVpLWljb24gIitzLnNlY29uZGFyeSsiJz48L3NwYW4+IiksdGhpcy5vcHRpb25zLnRleHR8fChhLnB1c2gobj8idWktYnV0dG9uLWljb25zLW9ubHkiOiJ1aS1idXR0b24taWNvbi1vbmx5IiksdGhpcy5oYXNUaXRsZXx8dC5hdHRyKCJ0aXRsZSIsZS50cmltKGkpKSkpOmEucHVzaCgidWktYnV0dG9uLXRleHQtb25seSIpLHQuYWRkQ2xhc3MoYS5qb2luKCIgIikpfX0pLGUud2lkZ2V0KCJ1aS5idXR0b25zZXQiLHt2ZXJzaW9uOiIxLjExLjQiLG9wdGlvbnM6e2l0ZW1zOiJidXR0b24sIGlucHV0W3R5cGU9YnV0dG9uXSwgaW5wdXRbdHlwZT1zdWJtaXRdLCBpbnB1dFt0eXBlPXJlc2V0XSwgaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dLCBhLCA6ZGF0YSh1aS1idXR0b24pIn0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYnV0dG9uc2V0Iil9LF9pbml0OmZ1bmN0aW9uKCl7dGhpcy5yZWZyZXNoKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXsiZGlzYWJsZWQiPT09ZSYmdGhpcy5idXR0b25zLmJ1dHRvbigib3B0aW9uIixlLHQpLHRoaXMuX3N1cGVyKGUsdCl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdD0icnRsIj09PXRoaXMuZWxlbWVudC5jc3MoImRpcmVjdGlvbiIpLGk9dGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKSxzPWkuZmlsdGVyKCI6dWktYnV0dG9uIik7aS5ub3QoIjp1aS1idXR0b24iKS5idXR0b24oKSxzLmJ1dHRvbigicmVmcmVzaCIpLHRoaXMuYnV0dG9ucz1pLm1hcChmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktY29ybmVyLWFsbCB1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiKS5maWx0ZXIoIjpmaXJzdCIpLmFkZENsYXNzKHQ/InVpLWNvcm5lci1yaWdodCI6InVpLWNvcm5lci1sZWZ0IikuZW5kKCkuZmlsdGVyKCI6bGFzdCIpLmFkZENsYXNzKHQ/InVpLWNvcm5lci1sZWZ0IjoidWktY29ybmVyLXJpZ2h0IikuZW5kKCkuZW5kKCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1idXR0b25zZXQiKSx0aGlzLmJ1dHRvbnMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcykuYnV0dG9uKCJ3aWRnZXQiKVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiKS5lbmQoKS5idXR0b24oImRlc3Ryb3kiKX19KSxlLnVpLmJ1dHRvbixlLmV4dGVuZChlLnVpLHtkYXRlcGlja2VyOnt2ZXJzaW9uOiIxLjExLjQifX0pO3ZhciB2O2UuZXh0ZW5kKG4ucHJvdG90eXBlLHttYXJrZXJDbGFzc05hbWU6Imhhc0RhdGVwaWNrZXIiLG1heFJvd3M6NCxfd2lkZ2V0RGF0ZXBpY2tlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRwRGl2fSxzZXREZWZhdWx0czpmdW5jdGlvbihlKXtyZXR1cm4gcih0aGlzLl9kZWZhdWx0cyxlfHx7fSksdGhpc30sX2F0dGFjaERhdGVwaWNrZXI6ZnVuY3Rpb24odCxpKXt2YXIgcyxuLGE7cz10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbj0iZGl2Ij09PXN8fCJzcGFuIj09PXMsdC5pZHx8KHRoaXMudXVpZCs9MSx0LmlkPSJkcCIrdGhpcy51dWlkKSxhPXRoaXMuX25ld0luc3QoZSh0KSxuKSxhLnNldHRpbmdzPWUuZXh0ZW5kKHt9LGl8fHt9KSwiaW5wdXQiPT09cz90aGlzLl9jb25uZWN0RGF0ZXBpY2tlcih0LGEpOm4mJnRoaXMuX2lubGluZURhdGVwaWNrZXIodCxhKX0sX25ld0luc3Q6ZnVuY3Rpb24odCxpKXt2YXIgcz10WzBdLmlkLnJlcGxhY2UoLyhbXkEtWmEtejAtOV9cLV0pL2csIlxcXFwkMSIpO3JldHVybntpZDpzLGlucHV0OnQsc2VsZWN0ZWREYXk6MCxzZWxlY3RlZE1vbnRoOjAsc2VsZWN0ZWRZZWFyOjAsZHJhd01vbnRoOjAsZHJhd1llYXI6MCxpbmxpbmU6aSxkcERpdjppP2EoZSgiPGRpdiBjbGFzcz0nIit0aGlzLl9pbmxpbmVDbGFzcysiIHVpLWRhdGVwaWNrZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsJz48L2Rpdj4iKSk6dGhpcy5kcERpdn19LF9jb25uZWN0RGF0ZXBpY2tlcjpmdW5jdGlvbih0LGkpe3ZhciBzPWUodCk7aS5hcHBlbmQ9ZShbXSksaS50cmlnZ2VyPWUoW10pLHMuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpfHwodGhpcy5fYXR0YWNobWVudHMocyxpKSxzLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5rZXlkb3duKHRoaXMuX2RvS2V5RG93bikua2V5cHJlc3ModGhpcy5fZG9LZXlQcmVzcykua2V5dXAodGhpcy5fZG9LZXlVcCksdGhpcy5fYXV0b1NpemUoaSksZS5kYXRhKHQsImRhdGVwaWNrZXIiLGkpLGkuc2V0dGluZ3MuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGVEYXRlcGlja2VyKHQpKX0sX2F0dGFjaG1lbnRzOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhLG89dGhpcy5fZ2V0KGksImFwcGVuZFRleHQiKSxyPXRoaXMuX2dldChpLCJpc1JUTCIpO2kuYXBwZW5kJiZpLmFwcGVuZC5yZW1vdmUoKSxvJiYoaS5hcHBlbmQ9ZSgiPHNwYW4gY2xhc3M9JyIrdGhpcy5fYXBwZW5kQ2xhc3MrIic+IitvKyI8L3NwYW4+IiksdFtyPyJiZWZvcmUiOiJhZnRlciJdKGkuYXBwZW5kKSksdC51bmJpbmQoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tlciksaS50cmlnZ2VyJiZpLnRyaWdnZXIucmVtb3ZlKCkscz10aGlzLl9nZXQoaSwic2hvd09uIiksKCJmb2N1cyI9PT1zfHwiYm90aCI9PT1zKSYmdC5mb2N1cyh0aGlzLl9zaG93RGF0ZXBpY2tlciksKCJidXR0b24iPT09c3x8ImJvdGgiPT09cykmJihuPXRoaXMuX2dldChpLCJidXR0b25UZXh0IiksYT10aGlzLl9nZXQoaSwiYnV0dG9uSW1hZ2UiKSxpLnRyaWdnZXI9ZSh0aGlzLl9nZXQoaSwiYnV0dG9uSW1hZ2VPbmx5Iik/ZSgiPGltZy8+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5hdHRyKHtzcmM6YSxhbHQ6bix0aXRsZTpufSk6ZSgiPGJ1dHRvbiB0eXBlPSdidXR0b24nPjwvYnV0dG9uPiIpLmFkZENsYXNzKHRoaXMuX3RyaWdnZXJDbGFzcykuaHRtbChhP2UoIjxpbWcvPiIpLmF0dHIoe3NyYzphLGFsdDpuLHRpdGxlOm59KTpuKSksdFtyPyJiZWZvcmUiOiJhZnRlciJdKGkudHJpZ2dlciksaS50cmlnZ2VyLmNsaWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGUuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmUuZGF0ZXBpY2tlci5fbGFzdElucHV0PT09dFswXT9lLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk6ZS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmZS5kYXRlcGlja2VyLl9sYXN0SW5wdXQhPT10WzBdPyhlLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCksZS5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcih0WzBdKSk6ZS5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcih0WzBdKSwhMX0pKX0sX2F1dG9TaXplOmZ1bmN0aW9uKGUpe2lmKHRoaXMuX2dldChlLCJhdXRvU2l6ZSIpJiYhZS5pbmxpbmUpe3ZhciB0LGkscyxuLGE9bmV3IERhdGUoMjAwOSwxMSwyMCksbz10aGlzLl9nZXQoZSwiZGF0ZUZvcm1hdCIpO28ubWF0Y2goL1tETV0vKSYmKHQ9ZnVuY3Rpb24oZSl7Zm9yKGk9MCxzPTAsbj0wO2UubGVuZ3RoPm47bisrKWVbbl0ubGVuZ3RoPmkmJihpPWVbbl0ubGVuZ3RoLHM9bik7cmV0dXJuIHN9LGEuc2V0TW9udGgodCh0aGlzLl9nZXQoZSxvLm1hdGNoKC9NTS8pPyJtb250aE5hbWVzIjoibW9udGhOYW1lc1Nob3J0IikpKSxhLnNldERhdGUodCh0aGlzLl9nZXQoZSxvLm1hdGNoKC9ERC8pPyJkYXlOYW1lcyI6ImRheU5hbWVzU2hvcnQiKSkrMjAtYS5nZXREYXkoKSkpLGUuaW5wdXQuYXR0cigic2l6ZSIsdGhpcy5fZm9ybWF0RGF0ZShlLGEpLmxlbmd0aCl9fSxfaW5saW5lRGF0ZXBpY2tlcjpmdW5jdGlvbih0LGkpe3ZhciBzPWUodCk7cy5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSl8fChzLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5hcHBlbmQoaS5kcERpdiksZS5kYXRhKHQsImRhdGVwaWNrZXIiLGkpLHRoaXMuX3NldERhdGUoaSx0aGlzLl9nZXREZWZhdWx0RGF0ZShpKSwhMCksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihpKSx0aGlzLl91cGRhdGVBbHRlcm5hdGUoaSksaS5zZXR0aW5ncy5kaXNhYmxlZCYmdGhpcy5fZGlzYWJsZURhdGVwaWNrZXIodCksaS5kcERpdi5jc3MoImRpc3BsYXkiLCJibG9jayIpKX0sX2RpYWxvZ0RhdGVwaWNrZXI6ZnVuY3Rpb24odCxpLHMsbixhKXt2YXIgbyxoLGwsdSxkLGM9dGhpcy5fZGlhbG9nSW5zdDtyZXR1cm4gY3x8KHRoaXMudXVpZCs9MSxvPSJkcCIrdGhpcy51dWlkLHRoaXMuX2RpYWxvZ0lucHV0PWUoIjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0nIitvKyInIHN0eWxlPSdwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTEwMHB4OyB3aWR0aDogMHB4OycvPiIpLHRoaXMuX2RpYWxvZ0lucHV0LmtleWRvd24odGhpcy5fZG9LZXlEb3duKSxlKCJib2R5IikuYXBwZW5kKHRoaXMuX2RpYWxvZ0lucHV0KSxjPXRoaXMuX2RpYWxvZ0luc3Q9dGhpcy5fbmV3SW5zdCh0aGlzLl9kaWFsb2dJbnB1dCwhMSksYy5zZXR0aW5ncz17fSxlLmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGMpKSxyKGMuc2V0dGluZ3Msbnx8e30pLGk9aSYmaS5jb25zdHJ1Y3Rvcj09PURhdGU/dGhpcy5fZm9ybWF0RGF0ZShjLGkpOmksdGhpcy5fZGlhbG9nSW5wdXQudmFsKGkpLHRoaXMuX3Bvcz1hP2EubGVuZ3RoP2E6W2EucGFnZVgsYS5wYWdlWV06bnVsbCx0aGlzLl9wb3N8fChoPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsdT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0LGQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AsdGhpcy5fcG9zPVtoLzItMTAwK3UsbC8yLTE1MCtkXSksdGhpcy5fZGlhbG9nSW5wdXQuY3NzKCJsZWZ0Iix0aGlzLl9wb3NbMF0rMjArInB4IikuY3NzKCJ0b3AiLHRoaXMuX3Bvc1sxXSsicHgiKSxjLnNldHRpbmdzLm9uU2VsZWN0PXMsdGhpcy5faW5EaWFsb2c9ITAsdGhpcy5kcERpdi5hZGRDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcyksdGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9nSW5wdXRbMF0pLGUuYmxvY2tVSSYmZS5ibG9ja1VJKHRoaXMuZHBEaXYpLGUuZGF0YSh0aGlzLl9kaWFsb2dJbnB1dFswXSwiZGF0ZXBpY2tlciIsYyksdGhpcwp9LF9kZXN0cm95RGF0ZXBpY2tlcjpmdW5jdGlvbih0KXt2YXIgaSxzPWUodCksbj1lLmRhdGEodCwiZGF0ZXBpY2tlciIpO3MuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpJiYoaT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksZS5yZW1vdmVEYXRhKHQsImRhdGVwaWNrZXIiKSwiaW5wdXQiPT09aT8obi5hcHBlbmQucmVtb3ZlKCksbi50cmlnZ2VyLnJlbW92ZSgpLHMucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLnVuYmluZCgiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2VyKS51bmJpbmQoImtleWRvd24iLHRoaXMuX2RvS2V5RG93bikudW5iaW5kKCJrZXlwcmVzcyIsdGhpcy5fZG9LZXlQcmVzcykudW5iaW5kKCJrZXl1cCIsdGhpcy5fZG9LZXlVcCkpOigiZGl2Ij09PWl8fCJzcGFuIj09PWkpJiZzLnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5lbXB0eSgpLHY9PT1uJiYodj1udWxsKSl9LF9lbmFibGVEYXRlcGlja2VyOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbj1lKHQpLGE9ZS5kYXRhKHQsImRhdGVwaWNrZXIiKTtuLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSYmKGk9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLCJpbnB1dCI9PT1pPyh0LmRpc2FibGVkPSExLGEudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPSExfSkuZW5kKCkuZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6IjEuMCIsY3Vyc29yOiIifSkpOigiZGl2Ij09PWl8fCJzcGFuIj09PWkpJiYocz1uLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcykscy5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHMuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5wcm9wKCJkaXNhYmxlZCIsITEpKSx0aGlzLl9kaXNhYmxlZElucHV0cz1lLm1hcCh0aGlzLl9kaXNhYmxlZElucHV0cyxmdW5jdGlvbihlKXtyZXR1cm4gZT09PXQ/bnVsbDplfSkpfSxfZGlzYWJsZURhdGVwaWNrZXI6ZnVuY3Rpb24odCl7dmFyIGkscyxuPWUodCksYT1lLmRhdGEodCwiZGF0ZXBpY2tlciIpO24uaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpJiYoaT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksImlucHV0Ij09PWk/KHQuZGlzYWJsZWQ9ITAsYS50cmlnZ2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWQ9ITB9KS5lbmQoKS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToiMC41IixjdXJzb3I6ImRlZmF1bHQifSkpOigiZGl2Ij09PWl8fCJzcGFuIj09PWkpJiYocz1uLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcykscy5jaGlsZHJlbigpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHMuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5wcm9wKCJkaXNhYmxlZCIsITApKSx0aGlzLl9kaXNhYmxlZElucHV0cz1lLm1hcCh0aGlzLl9kaXNhYmxlZElucHV0cyxmdW5jdGlvbihlKXtyZXR1cm4gZT09PXQ/bnVsbDplfSksdGhpcy5fZGlzYWJsZWRJbnB1dHNbdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoXT10KX0sX2lzRGlzYWJsZWREYXRlcGlja2VyOmZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybiExO2Zvcih2YXIgdD0wO3RoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aD50O3QrKylpZih0aGlzLl9kaXNhYmxlZElucHV0c1t0XT09PWUpcmV0dXJuITA7cmV0dXJuITF9LF9nZXRJbnN0OmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gZS5kYXRhKHQsImRhdGVwaWNrZXIiKX1jYXRjaChpKXt0aHJvdyJNaXNzaW5nIGluc3RhbmNlIGRhdGEgZm9yIHRoaXMgZGF0ZXBpY2tlciJ9fSxfb3B0aW9uRGF0ZXBpY2tlcjpmdW5jdGlvbih0LGkscyl7dmFyIG4sYSxvLGgsbD10aGlzLl9nZXRJbnN0KHQpO3JldHVybiAyPT09YXJndW1lbnRzLmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiBpPyJkZWZhdWx0cyI9PT1pP2UuZXh0ZW5kKHt9LGUuZGF0ZXBpY2tlci5fZGVmYXVsdHMpOmw/ImFsbCI9PT1pP2UuZXh0ZW5kKHt9LGwuc2V0dGluZ3MpOnRoaXMuX2dldChsLGkpOm51bGw6KG49aXx8e30sInN0cmluZyI9PXR5cGVvZiBpJiYobj17fSxuW2ldPXMpLGwmJih0aGlzLl9jdXJJbnN0PT09bCYmdGhpcy5faGlkZURhdGVwaWNrZXIoKSxhPXRoaXMuX2dldERhdGVEYXRlcGlja2VyKHQsITApLG89dGhpcy5fZ2V0TWluTWF4RGF0ZShsLCJtaW4iKSxoPXRoaXMuX2dldE1pbk1heERhdGUobCwibWF4IikscihsLnNldHRpbmdzLG4pLG51bGwhPT1vJiZ2b2lkIDAhPT1uLmRhdGVGb3JtYXQmJnZvaWQgMD09PW4ubWluRGF0ZSYmKGwuc2V0dGluZ3MubWluRGF0ZT10aGlzLl9mb3JtYXREYXRlKGwsbykpLG51bGwhPT1oJiZ2b2lkIDAhPT1uLmRhdGVGb3JtYXQmJnZvaWQgMD09PW4ubWF4RGF0ZSYmKGwuc2V0dGluZ3MubWF4RGF0ZT10aGlzLl9mb3JtYXREYXRlKGwsaCkpLCJkaXNhYmxlZCJpbiBuJiYobi5kaXNhYmxlZD90aGlzLl9kaXNhYmxlRGF0ZXBpY2tlcih0KTp0aGlzLl9lbmFibGVEYXRlcGlja2VyKHQpKSx0aGlzLl9hdHRhY2htZW50cyhlKHQpLGwpLHRoaXMuX2F1dG9TaXplKGwpLHRoaXMuX3NldERhdGUobCxhKSx0aGlzLl91cGRhdGVBbHRlcm5hdGUobCksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihsKSksdm9pZCAwKX0sX2NoYW5nZURhdGVwaWNrZXI6ZnVuY3Rpb24oZSx0LGkpe3RoaXMuX29wdGlvbkRhdGVwaWNrZXIoZSx0LGkpfSxfcmVmcmVzaERhdGVwaWNrZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZ2V0SW5zdChlKTt0JiZ0aGlzLl91cGRhdGVEYXRlcGlja2VyKHQpfSxfc2V0RGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLl9nZXRJbnN0KGUpO2kmJih0aGlzLl9zZXREYXRlKGksdCksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihpKSx0aGlzLl91cGRhdGVBbHRlcm5hdGUoaSkpfSxfZ2V0RGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLl9nZXRJbnN0KGUpO3JldHVybiBpJiYhaS5pbmxpbmUmJnRoaXMuX3NldERhdGVGcm9tRmllbGQoaSx0KSxpP3RoaXMuX2dldERhdGUoaSk6bnVsbH0sX2RvS2V5RG93bjpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYT1lLmRhdGVwaWNrZXIuX2dldEluc3QodC50YXJnZXQpLG89ITAscj1hLmRwRGl2LmlzKCIudWktZGF0ZXBpY2tlci1ydGwiKTtpZihhLl9rZXlFdmVudD0hMCxlLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nKXN3aXRjaCh0LmtleUNvZGUpe2Nhc2UgOTplLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCksbz0hMTticmVhaztjYXNlIDEzOnJldHVybiBuPWUoInRkLiIrZS5kYXRlcGlja2VyLl9kYXlPdmVyQ2xhc3MrIjpub3QoLiIrZS5kYXRlcGlja2VyLl9jdXJyZW50Q2xhc3MrIikiLGEuZHBEaXYpLG5bMF0mJmUuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KHQudGFyZ2V0LGEuc2VsZWN0ZWRNb250aCxhLnNlbGVjdGVkWWVhcixuWzBdKSxpPWUuZGF0ZXBpY2tlci5fZ2V0KGEsIm9uU2VsZWN0IiksaT8ocz1lLmRhdGVwaWNrZXIuX2Zvcm1hdERhdGUoYSksaS5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbcyxhXSkpOmUuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKSwhMTtjYXNlIDI3OmUuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTticmVhaztjYXNlIDMzOmUuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSh0LnRhcmdldCx0LmN0cmxLZXk/LWUuZGF0ZXBpY2tlci5fZ2V0KGEsInN0ZXBCaWdNb250aHMiKTotZS5kYXRlcGlja2VyLl9nZXQoYSwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNDplLmRhdGVwaWNrZXIuX2FkanVzdERhdGUodC50YXJnZXQsdC5jdHJsS2V5PytlLmRhdGVwaWNrZXIuX2dldChhLCJzdGVwQmlnTW9udGhzIik6K2UuZGF0ZXBpY2tlci5fZ2V0KGEsInN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgMzU6KHQuY3RybEtleXx8dC5tZXRhS2V5KSYmZS5kYXRlcGlja2VyLl9jbGVhckRhdGUodC50YXJnZXQpLG89dC5jdHJsS2V5fHx0Lm1ldGFLZXk7YnJlYWs7Y2FzZSAzNjoodC5jdHJsS2V5fHx0Lm1ldGFLZXkpJiZlLmRhdGVwaWNrZXIuX2dvdG9Ub2RheSh0LnRhcmdldCksbz10LmN0cmxLZXl8fHQubWV0YUtleTticmVhaztjYXNlIDM3Oih0LmN0cmxLZXl8fHQubWV0YUtleSkmJmUuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSh0LnRhcmdldCxyPzE6LTEsIkQiKSxvPXQuY3RybEtleXx8dC5tZXRhS2V5LHQub3JpZ2luYWxFdmVudC5hbHRLZXkmJmUuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSh0LnRhcmdldCx0LmN0cmxLZXk/LWUuZGF0ZXBpY2tlci5fZ2V0KGEsInN0ZXBCaWdNb250aHMiKTotZS5kYXRlcGlja2VyLl9nZXQoYSwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzODoodC5jdHJsS2V5fHx0Lm1ldGFLZXkpJiZlLmRhdGVwaWNrZXIuX2FkanVzdERhdGUodC50YXJnZXQsLTcsIkQiKSxvPXQuY3RybEtleXx8dC5tZXRhS2V5O2JyZWFrO2Nhc2UgMzk6KHQuY3RybEtleXx8dC5tZXRhS2V5KSYmZS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKHQudGFyZ2V0LHI/LTE6MSwiRCIpLG89dC5jdHJsS2V5fHx0Lm1ldGFLZXksdC5vcmlnaW5hbEV2ZW50LmFsdEtleSYmZS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKHQudGFyZ2V0LHQuY3RybEtleT8rZS5kYXRlcGlja2VyLl9nZXQoYSwic3RlcEJpZ01vbnRocyIpOitlLmRhdGVwaWNrZXIuX2dldChhLCJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDQwOih0LmN0cmxLZXl8fHQubWV0YUtleSkmJmUuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSh0LnRhcmdldCw3LCJEIiksbz10LmN0cmxLZXl8fHQubWV0YUtleTticmVhaztkZWZhdWx0Om89ITF9ZWxzZSAzNj09PXQua2V5Q29kZSYmdC5jdHJsS2V5P2UuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIodGhpcyk6bz0hMTtvJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCkpfSxfZG9LZXlQcmVzczpmdW5jdGlvbih0KXt2YXIgaSxzLG49ZS5kYXRlcGlja2VyLl9nZXRJbnN0KHQudGFyZ2V0KTtyZXR1cm4gZS5kYXRlcGlja2VyLl9nZXQobiwiY29uc3RyYWluSW5wdXQiKT8oaT1lLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoZS5kYXRlcGlja2VyLl9nZXQobiwiZGF0ZUZvcm1hdCIpKSxzPVN0cmluZy5mcm9tQ2hhckNvZGUobnVsbD09dC5jaGFyQ29kZT90LmtleUNvZGU6dC5jaGFyQ29kZSksdC5jdHJsS2V5fHx0Lm1ldGFLZXl8fCIgIj5zfHwhaXx8aS5pbmRleE9mKHMpPi0xKTp2b2lkIDB9LF9kb0tleVVwOmZ1bmN0aW9uKHQpe3ZhciBpLHM9ZS5kYXRlcGlja2VyLl9nZXRJbnN0KHQudGFyZ2V0KTtpZihzLmlucHV0LnZhbCgpIT09cy5sYXN0VmFsKXRyeXtpPWUuZGF0ZXBpY2tlci5wYXJzZURhdGUoZS5kYXRlcGlja2VyLl9nZXQocywiZGF0ZUZvcm1hdCIpLHMuaW5wdXQ/cy5pbnB1dC52YWwoKTpudWxsLGUuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKHMpKSxpJiYoZS5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKHMpLGUuZGF0ZXBpY2tlci5fdXBkYXRlQWx0ZXJuYXRlKHMpLGUuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihzKSl9Y2F0Y2gobil7fXJldHVybiEwfSxfc2hvd0RhdGVwaWNrZXI6ZnVuY3Rpb24odCl7aWYodD10LnRhcmdldHx8dCwiaW5wdXQiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYodD1lKCJpbnB1dCIsdC5wYXJlbnROb2RlKVswXSksIWUuZGF0ZXBpY2tlci5faXNEaXNhYmxlZERhdGVwaWNrZXIodCkmJmUuZGF0ZXBpY2tlci5fbGFzdElucHV0IT09dCl7dmFyIGksbixhLG8saCxsLHU7aT1lLmRhdGVwaWNrZXIuX2dldEluc3QodCksZS5kYXRlcGlja2VyLl9jdXJJbnN0JiZlLmRhdGVwaWNrZXIuX2N1ckluc3QhPT1pJiYoZS5kYXRlcGlja2VyLl9jdXJJbnN0LmRwRGl2LnN0b3AoITAsITApLGkmJmUuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmUuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoZS5kYXRlcGlja2VyLl9jdXJJbnN0LmlucHV0WzBdKSksbj1lLmRhdGVwaWNrZXIuX2dldChpLCJiZWZvcmVTaG93IiksYT1uP24uYXBwbHkodCxbdCxpXSk6e30sYSE9PSExJiYocihpLnNldHRpbmdzLGEpLGkubGFzdFZhbD1udWxsLGUuZGF0ZXBpY2tlci5fbGFzdElucHV0PXQsZS5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGkpLGUuZGF0ZXBpY2tlci5faW5EaWFsb2cmJih0LnZhbHVlPSIiKSxlLmRhdGVwaWNrZXIuX3Bvc3x8KGUuZGF0ZXBpY2tlci5fcG9zPWUuZGF0ZXBpY2tlci5fZmluZFBvcyh0KSxlLmRhdGVwaWNrZXIuX3Bvc1sxXSs9dC5vZmZzZXRIZWlnaHQpLG89ITEsZSh0KS5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbigpe3JldHVybiBvfD0iZml4ZWQiPT09ZSh0aGlzKS5jc3MoInBvc2l0aW9uIiksIW99KSxoPXtsZWZ0OmUuZGF0ZXBpY2tlci5fcG9zWzBdLHRvcDplLmRhdGVwaWNrZXIuX3Bvc1sxXX0sZS5kYXRlcGlja2VyLl9wb3M9bnVsbCxpLmRwRGl2LmVtcHR5KCksaS5kcERpdi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDoiLTEwMDBweCJ9KSxlLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaSksaD1lLmRhdGVwaWNrZXIuX2NoZWNrT2Zmc2V0KGksaCxvKSxpLmRwRGl2LmNzcyh7cG9zaXRpb246ZS5kYXRlcGlja2VyLl9pbkRpYWxvZyYmZS5ibG9ja1VJPyJzdGF0aWMiOm8/ImZpeGVkIjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLGxlZnQ6aC5sZWZ0KyJweCIsdG9wOmgudG9wKyJweCJ9KSxpLmlubGluZXx8KGw9ZS5kYXRlcGlja2VyLl9nZXQoaSwic2hvd0FuaW0iKSx1PWUuZGF0ZXBpY2tlci5fZ2V0KGksImR1cmF0aW9uIiksaS5kcERpdi5jc3MoInotaW5kZXgiLHMoZSh0KSkrMSksZS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZz0hMCxlLmVmZmVjdHMmJmUuZWZmZWN0cy5lZmZlY3RbbF0/aS5kcERpdi5zaG93KGwsZS5kYXRlcGlja2VyLl9nZXQoaSwic2hvd09wdGlvbnMiKSx1KTppLmRwRGl2W2x8fCJzaG93Il0obD91Om51bGwpLGUuZGF0ZXBpY2tlci5fc2hvdWxkRm9jdXNJbnB1dChpKSYmaS5pbnB1dC5mb2N1cygpLGUuZGF0ZXBpY2tlci5fY3VySW5zdD1pKSl9fSxfdXBkYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbih0KXt0aGlzLm1heFJvd3M9NCx2PXQsdC5kcERpdi5lbXB0eSgpLmFwcGVuZCh0aGlzLl9nZW5lcmF0ZUhUTUwodCkpLHRoaXMuX2F0dGFjaEhhbmRsZXJzKHQpO3ZhciBpLHM9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHModCksbj1zWzFdLGE9MTcscj10LmRwRGl2LmZpbmQoIi4iK3RoaXMuX2RheU92ZXJDbGFzcysiIGEiKTtyLmxlbmd0aD4wJiZvLmFwcGx5KHIuZ2V0KDApKSx0LmRwRGl2LnJlbW92ZUNsYXNzKCJ1aS1kYXRlcGlja2VyLW11bHRpLTIgdWktZGF0ZXBpY2tlci1tdWx0aS0zIHVpLWRhdGVwaWNrZXItbXVsdGktNCIpLndpZHRoKCIiKSxuPjEmJnQuZHBEaXYuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktIituKS5jc3MoIndpZHRoIixhKm4rImVtIiksdC5kcERpdlsoMSE9PXNbMF18fDEhPT1zWzFdPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1tdWx0aSIpLHQuZHBEaXZbKHRoaXMuX2dldCh0LCJpc1JUTCIpPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1ydGwiKSx0PT09ZS5kYXRlcGlja2VyLl9jdXJJbnN0JiZlLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZlLmRhdGVwaWNrZXIuX3Nob3VsZEZvY3VzSW5wdXQodCkmJnQuaW5wdXQuZm9jdXMoKSx0LnllYXJzaHRtbCYmKGk9dC55ZWFyc2h0bWwsc2V0VGltZW91dChmdW5jdGlvbigpe2k9PT10LnllYXJzaHRtbCYmdC55ZWFyc2h0bWwmJnQuZHBEaXYuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhcjpmaXJzdCIpLnJlcGxhY2VXaXRoKHQueWVhcnNodG1sKSxpPXQueWVhcnNodG1sPW51bGx9LDApKX0sX3Nob3VsZEZvY3VzSW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5wdXQmJmUuaW5wdXQuaXMoIjp2aXNpYmxlIikmJiFlLmlucHV0LmlzKCI6ZGlzYWJsZWQiKSYmIWUuaW5wdXQuaXMoIjpmb2N1cyIpfSxfY2hlY2tPZmZzZXQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXQuZHBEaXYub3V0ZXJXaWR0aCgpLGE9dC5kcERpdi5vdXRlckhlaWdodCgpLG89dC5pbnB1dD90LmlucHV0Lm91dGVyV2lkdGgoKTowLHI9dC5pbnB1dD90LmlucHV0Lm91dGVySGVpZ2h0KCk6MCxoPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCsocz8wOmUoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSksbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KyhzPzA6ZShkb2N1bWVudCkuc2Nyb2xsVG9wKCkpO3JldHVybiBpLmxlZnQtPXRoaXMuX2dldCh0LCJpc1JUTCIpP24tbzowLGkubGVmdC09cyYmaS5sZWZ0PT09dC5pbnB1dC5vZmZzZXQoKS5sZWZ0P2UoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTowLGkudG9wLT1zJiZpLnRvcD09PXQuaW5wdXQub2Zmc2V0KCkudG9wK3I/ZShkb2N1bWVudCkuc2Nyb2xsVG9wKCk6MCxpLmxlZnQtPU1hdGgubWluKGkubGVmdCxpLmxlZnQrbj5oJiZoPm4/TWF0aC5hYnMoaS5sZWZ0K24taCk6MCksaS50b3AtPU1hdGgubWluKGkudG9wLGkudG9wK2E+bCYmbD5hP01hdGguYWJzKGErcik6MCksaX0sX2ZpbmRQb3M6ZnVuY3Rpb24odCl7Zm9yKHZhciBpLHM9dGhpcy5fZ2V0SW5zdCh0KSxuPXRoaXMuX2dldChzLCJpc1JUTCIpO3QmJigiaGlkZGVuIj09PXQudHlwZXx8MSE9PXQubm9kZVR5cGV8fGUuZXhwci5maWx0ZXJzLmhpZGRlbih0KSk7KXQ9dFtuPyJwcmV2aW91c1NpYmxpbmciOiJuZXh0U2libGluZyJdO3JldHVybiBpPWUodCkub2Zmc2V0KCksW2kubGVmdCxpLnRvcF19LF9oaWRlRGF0ZXBpY2tlcjpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYSxvPXRoaXMuX2N1ckluc3Q7IW98fHQmJm8hPT1lLmRhdGEodCwiZGF0ZXBpY2tlciIpfHx0aGlzLl9kYXRlcGlja2VyU2hvd2luZyYmKGk9dGhpcy5fZ2V0KG8sInNob3dBbmltIikscz10aGlzLl9nZXQobywiZHVyYXRpb24iKSxuPWZ1bmN0aW9uKCl7ZS5kYXRlcGlja2VyLl90aWR5RGlhbG9nKG8pfSxlLmVmZmVjdHMmJihlLmVmZmVjdHMuZWZmZWN0W2ldfHxlLmVmZmVjdHNbaV0pP28uZHBEaXYuaGlkZShpLGUuZGF0ZXBpY2tlci5fZ2V0KG8sInNob3dPcHRpb25zIikscyxuKTpvLmRwRGl2WyJzbGlkZURvd24iPT09aT8ic2xpZGVVcCI6ImZhZGVJbiI9PT1pPyJmYWRlT3V0IjoiaGlkZSJdKGk/czpudWxsLG4pLGl8fG4oKSx0aGlzLl9kYXRlcGlja2VyU2hvd2luZz0hMSxhPXRoaXMuX2dldChvLCJvbkNsb3NlIiksYSYmYS5hcHBseShvLmlucHV0P28uaW5wdXRbMF06bnVsbCxbby5pbnB1dD9vLmlucHV0LnZhbCgpOiIiLG9dKSx0aGlzLl9sYXN0SW5wdXQ9bnVsbCx0aGlzLl9pbkRpYWxvZyYmKHRoaXMuX2RpYWxvZ0lucHV0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiIwIix0b3A6Ii0xMDBweCJ9KSxlLmJsb2NrVUkmJihlLnVuYmxvY2tVSSgpLGUoImJvZHkiKS5hcHBlbmQodGhpcy5kcERpdikpKSx0aGlzLl9pbkRpYWxvZz0hMSl9LF90aWR5RGlhbG9nOmZ1bmN0aW9uKGUpe2UuZHBEaXYucmVtb3ZlQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpLnVuYmluZCgiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKX0sX2NoZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbih0KXtpZihlLmRhdGVwaWNrZXIuX2N1ckluc3Qpe3ZhciBpPWUodC50YXJnZXQpLHM9ZS5kYXRlcGlja2VyLl9nZXRJbnN0KGlbMF0pOyhpWzBdLmlkIT09ZS5kYXRlcGlja2VyLl9tYWluRGl2SWQmJjA9PT1pLnBhcmVudHMoIiMiK2UuZGF0ZXBpY2tlci5fbWFpbkRpdklkKS5sZW5ndGgmJiFpLmhhc0NsYXNzKGUuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpJiYhaS5jbG9zZXN0KCIuIitlLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcykubGVuZ3RoJiZlLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiYoIWUuZGF0ZXBpY2tlci5faW5EaWFsb2d8fCFlLmJsb2NrVUkpfHxpLmhhc0NsYXNzKGUuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpJiZlLmRhdGVwaWNrZXIuX2N1ckluc3QhPT1zKSYmZS5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPWUodCksYT10aGlzLl9nZXRJbnN0KG5bMF0pO3RoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKG5bMF0pfHwodGhpcy5fYWRqdXN0SW5zdERhdGUoYSxpKygiTSI9PT1zP3RoaXMuX2dldChhLCJzaG93Q3VycmVudEF0UG9zIik6MCkscyksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihhKSl9LF9nb3RvVG9kYXk6ZnVuY3Rpb24odCl7dmFyIGkscz1lKHQpLG49dGhpcy5fZ2V0SW5zdChzWzBdKTt0aGlzLl9nZXQobiwiZ290b0N1cnJlbnQiKSYmbi5jdXJyZW50RGF5PyhuLnNlbGVjdGVkRGF5PW4uY3VycmVudERheSxuLmRyYXdNb250aD1uLnNlbGVjdGVkTW9udGg9bi5jdXJyZW50TW9udGgsbi5kcmF3WWVhcj1uLnNlbGVjdGVkWWVhcj1uLmN1cnJlbnRZZWFyKTooaT1uZXcgRGF0ZSxuLnNlbGVjdGVkRGF5PWkuZ2V0RGF0ZSgpLG4uZHJhd01vbnRoPW4uc2VsZWN0ZWRNb250aD1pLmdldE1vbnRoKCksbi5kcmF3WWVhcj1uLnNlbGVjdGVkWWVhcj1pLmdldEZ1bGxZZWFyKCkpLHRoaXMuX25vdGlmeUNoYW5nZShuKSx0aGlzLl9hZGp1c3REYXRlKHMpfSxfc2VsZWN0TW9udGhZZWFyOmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1lKHQpLGE9dGhpcy5fZ2V0SW5zdChuWzBdKTthWyJzZWxlY3RlZCIrKCJNIj09PXM/Ik1vbnRoIjoiWWVhciIpXT1hWyJkcmF3IisoIk0iPT09cz8iTW9udGgiOiJZZWFyIildPXBhcnNlSW50KGkub3B0aW9uc1tpLnNlbGVjdGVkSW5kZXhdLnZhbHVlLDEwKSx0aGlzLl9ub3RpZnlDaGFuZ2UoYSksdGhpcy5fYWRqdXN0RGF0ZShuKX0sX3NlbGVjdERheTpmdW5jdGlvbih0LGkscyxuKXt2YXIgYSxvPWUodCk7ZShuKS5oYXNDbGFzcyh0aGlzLl91bnNlbGVjdGFibGVDbGFzcyl8fHRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKG9bMF0pfHwoYT10aGlzLl9nZXRJbnN0KG9bMF0pLGEuc2VsZWN0ZWREYXk9YS5jdXJyZW50RGF5PWUoImEiLG4pLmh0bWwoKSxhLnNlbGVjdGVkTW9udGg9YS5jdXJyZW50TW9udGg9aSxhLnNlbGVjdGVkWWVhcj1hLmN1cnJlbnRZZWFyPXMsdGhpcy5fc2VsZWN0RGF0ZSh0LHRoaXMuX2Zvcm1hdERhdGUoYSxhLmN1cnJlbnREYXksYS5jdXJyZW50TW9udGgsYS5jdXJyZW50WWVhcikpKX0sX2NsZWFyRGF0ZTpmdW5jdGlvbih0KXt2YXIgaT1lKHQpO3RoaXMuX3NlbGVjdERhdGUoaSwiIil9LF9zZWxlY3REYXRlOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbj1lKHQpLGE9dGhpcy5fZ2V0SW5zdChuWzBdKTtpPW51bGwhPWk/aTp0aGlzLl9mb3JtYXREYXRlKGEpLGEuaW5wdXQmJmEuaW5wdXQudmFsKGkpLHRoaXMuX3VwZGF0ZUFsdGVybmF0ZShhKSxzPXRoaXMuX2dldChhLCJvblNlbGVjdCIpLHM/cy5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbaSxhXSk6YS5pbnB1dCYmYS5pbnB1dC50cmlnZ2VyKCJjaGFuZ2UiKSxhLmlubGluZT90aGlzLl91cGRhdGVEYXRlcGlja2VyKGEpOih0aGlzLl9oaWRlRGF0ZXBpY2tlcigpLHRoaXMuX2xhc3RJbnB1dD1hLmlucHV0WzBdLCJvYmplY3QiIT10eXBlb2YgYS5pbnB1dFswXSYmYS5pbnB1dC5mb2N1cygpLHRoaXMuX2xhc3RJbnB1dD1udWxsKX0sX3VwZGF0ZUFsdGVybmF0ZTpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYT10aGlzLl9nZXQodCwiYWx0RmllbGQiKTthJiYoaT10aGlzLl9nZXQodCwiYWx0Rm9ybWF0Iil8fHRoaXMuX2dldCh0LCJkYXRlRm9ybWF0Iikscz10aGlzLl9nZXREYXRlKHQpLG49dGhpcy5mb3JtYXREYXRlKGkscyx0aGlzLl9nZXRGb3JtYXRDb25maWcodCkpLGUoYSkuZWFjaChmdW5jdGlvbigpe2UodGhpcykudmFsKG4pfSkpfSxub1dlZWtlbmRzOmZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0RGF5KCk7cmV0dXJuW3Q+MCYmNj50LCIiXX0saXNvODYwMVdlZWs6ZnVuY3Rpb24oZSl7dmFyIHQsaT1uZXcgRGF0ZShlLmdldFRpbWUoKSk7cmV0dXJuIGkuc2V0RGF0ZShpLmdldERhdGUoKSs0LShpLmdldERheSgpfHw3KSksdD1pLmdldFRpbWUoKSxpLnNldE1vbnRoKDApLGkuc2V0RGF0ZSgxKSxNYXRoLmZsb29yKE1hdGgucm91bmQoKHQtaSkvODY0ZTUpLzcpKzF9LHBhcnNlRGF0ZTpmdW5jdGlvbih0LGkscyl7aWYobnVsbD09dHx8bnVsbD09aSl0aHJvdyJJbnZhbGlkIGFyZ3VtZW50cyI7aWYoaT0ib2JqZWN0Ij09dHlwZW9mIGk/IiIraTppKyIiLCIiPT09aSlyZXR1cm4gbnVsbDt2YXIgbixhLG8scixoPTAsbD0ocz9zLnNob3J0WWVhckN1dG9mZjpudWxsKXx8dGhpcy5fZGVmYXVsdHMuc2hvcnRZZWFyQ3V0b2ZmLHU9InN0cmluZyIhPXR5cGVvZiBsP2w6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEwMCtwYXJzZUludChsLDEwKSxkPShzP3MuZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxjPShzP3MuZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLHA9KHM/cy5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCxmPShzP3MubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lcyxtPS0xLGc9LTEsdj0tMSx5PS0xLGI9ITEsXz1mdW5jdGlvbihlKXt2YXIgaT10Lmxlbmd0aD5uKzEmJnQuY2hhckF0KG4rMSk9PT1lO3JldHVybiBpJiZuKyssaX0seD1mdW5jdGlvbihlKXt2YXIgdD1fKGUpLHM9IkAiPT09ZT8xNDoiISI9PT1lPzIwOiJ5Ij09PWUmJnQ/NDoibyI9PT1lPzM6MixuPSJ5Ij09PWU/czoxLGE9UmVnRXhwKCJeXFxkeyIrbisiLCIrcysifSIpLG89aS5zdWJzdHJpbmcoaCkubWF0Y2goYSk7aWYoIW8pdGhyb3ciTWlzc2luZyBudW1iZXIgYXQgcG9zaXRpb24gIitoO3JldHVybiBoKz1vWzBdLmxlbmd0aCxwYXJzZUludChvWzBdLDEwKX0saz1mdW5jdGlvbih0LHMsbil7dmFyIGE9LTEsbz1lLm1hcChfKHQpP246cyxmdW5jdGlvbihlLHQpe3JldHVybltbdCxlXV19KS5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuLShlWzFdLmxlbmd0aC10WzFdLmxlbmd0aCl9KTtpZihlLmVhY2gobyxmdW5jdGlvbihlLHQpe3ZhciBzPXRbMV07cmV0dXJuIGkuc3Vic3RyKGgscy5sZW5ndGgpLnRvTG93ZXJDYXNlKCk9PT1zLnRvTG93ZXJDYXNlKCk/KGE9dFswXSxoKz1zLmxlbmd0aCwhMSk6dm9pZCAwfSksLTEhPT1hKXJldHVybiBhKzE7dGhyb3ciVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIraH0sdz1mdW5jdGlvbigpe2lmKGkuY2hhckF0KGgpIT09dC5jaGFyQXQobikpdGhyb3ciVW5leHBlY3RlZCBsaXRlcmFsIGF0IHBvc2l0aW9uICIraDtoKyt9O2ZvcihuPTA7dC5sZW5ndGg+bjtuKyspaWYoYikiJyIhPT10LmNoYXJBdChuKXx8XygiJyIpP3coKTpiPSExO2Vsc2Ugc3dpdGNoKHQuY2hhckF0KG4pKXtjYXNlImQiOnY9eCgiZCIpO2JyZWFrO2Nhc2UiRCI6aygiRCIsZCxjKTticmVhaztjYXNlIm8iOnk9eCgibyIpO2JyZWFrO2Nhc2UibSI6Zz14KCJtIik7YnJlYWs7Y2FzZSJNIjpnPWsoIk0iLHAsZik7YnJlYWs7Y2FzZSJ5IjptPXgoInkiKTticmVhaztjYXNlIkAiOnI9bmV3IERhdGUoeCgiQCIpKSxtPXIuZ2V0RnVsbFllYXIoKSxnPXIuZ2V0TW9udGgoKSsxLHY9ci5nZXREYXRlKCk7YnJlYWs7Y2FzZSIhIjpyPW5ldyBEYXRlKCh4KCIhIiktdGhpcy5fdGlja3NUbzE5NzApLzFlNCksbT1yLmdldEZ1bGxZZWFyKCksZz1yLmdldE1vbnRoKCkrMSx2PXIuZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UiJyI6XygiJyIpP3coKTpiPSEwO2JyZWFrO2RlZmF1bHQ6dygpfWlmKGkubGVuZ3RoPmgmJihvPWkuc3Vic3RyKGgpLCEvXlxzKy8udGVzdChvKSkpdGhyb3ciRXh0cmEvdW5wYXJzZWQgY2hhcmFjdGVycyBmb3VuZCBpbiBkYXRlOiAiK287aWYoLTE9PT1tP209KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpOjEwMD5tJiYobSs9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArKHU+PW0/MDotMTAwKSkseT4tMSlmb3IoZz0xLHY9eTs7KXtpZihhPXRoaXMuX2dldERheXNJbk1vbnRoKG0sZy0xKSxhPj12KWJyZWFrO2crKyx2LT1hfWlmKHI9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLTEsdikpLHIuZ2V0RnVsbFllYXIoKSE9PW18fHIuZ2V0TW9udGgoKSsxIT09Z3x8ci5nZXREYXRlKCkhPT12KXRocm93IkludmFsaWQgZGF0ZSI7cmV0dXJuIHJ9LEFUT006Inl5LW1tLWRkIixDT09LSUU6IkQsIGRkIE0geXkiLElTT184NjAxOiJ5eS1tbS1kZCIsUkZDXzgyMjoiRCwgZCBNIHkiLFJGQ184NTA6IkRELCBkZC1NLXkiLFJGQ18xMDM2OiJELCBkIE0geSIsUkZDXzExMjM6IkQsIGQgTSB5eSIsUkZDXzI4MjI6IkQsIGQgTSB5eSIsUlNTOiJELCBkIE0geSIsVElDS1M6IiEiLFRJTUVTVEFNUDoiQCIsVzNDOiJ5eS1tbS1kZCIsX3RpY2tzVG8xOTcwOjFlNyo2MCo2MCoyNCooNzE4Njg1K01hdGguZmxvb3IoNDkyLjUpLU1hdGguZmxvb3IoMTkuNykrTWF0aC5mbG9vcig0LjkyNSkpLGZvcm1hdERhdGU6ZnVuY3Rpb24oZSx0LGkpe2lmKCF0KXJldHVybiIiO3ZhciBzLG49KGk/aS5kYXlOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LGE9KGk/aS5kYXlOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsbz0oaT9pLm1vbnRoTmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lc1Nob3J0LHI9KGk/aS5tb250aE5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLGg9ZnVuY3Rpb24odCl7dmFyIGk9ZS5sZW5ndGg+cysxJiZlLmNoYXJBdChzKzEpPT09dDtyZXR1cm4gaSYmcysrLGl9LGw9ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPSIiK3Q7aWYoaChlKSlmb3IoO2k+cy5sZW5ndGg7KXM9IjAiK3M7cmV0dXJuIHN9LHU9ZnVuY3Rpb24oZSx0LGkscyl7cmV0dXJuIGgoZSk/c1t0XTppW3RdfSxkPSIiLGM9ITE7aWYodClmb3Iocz0wO2UubGVuZ3RoPnM7cysrKWlmKGMpIiciIT09ZS5jaGFyQXQocyl8fGgoIiciKT9kKz1lLmNoYXJBdChzKTpjPSExO2Vsc2Ugc3dpdGNoKGUuY2hhckF0KHMpKXtjYXNlImQiOmQrPWwoImQiLHQuZ2V0RGF0ZSgpLDIpO2JyZWFrO2Nhc2UiRCI6ZCs9dSgiRCIsdC5nZXREYXkoKSxuLGEpO2JyZWFrO2Nhc2UibyI6ZCs9bCgibyIsTWF0aC5yb3VuZCgobmV3IERhdGUodC5nZXRGdWxsWWVhcigpLHQuZ2V0TW9udGgoKSx0LmdldERhdGUoKSkuZ2V0VGltZSgpLW5ldyBEYXRlKHQuZ2V0RnVsbFllYXIoKSwwLDApLmdldFRpbWUoKSkvODY0ZTUpLDMpO2JyZWFrO2Nhc2UibSI6ZCs9bCgibSIsdC5nZXRNb250aCgpKzEsMik7YnJlYWs7Y2FzZSJNIjpkKz11KCJNIix0LmdldE1vbnRoKCksbyxyKTticmVhaztjYXNlInkiOmQrPWgoInkiKT90LmdldEZ1bGxZZWFyKCk6KDEwPnQuZ2V0WWVhcigpJTEwMD8iMCI6IiIpK3QuZ2V0WWVhcigpJTEwMDticmVhaztjYXNlIkAiOmQrPXQuZ2V0VGltZSgpO2JyZWFrO2Nhc2UiISI6ZCs9MWU0KnQuZ2V0VGltZSgpK3RoaXMuX3RpY2tzVG8xOTcwO2JyZWFrO2Nhc2UiJyI6aCgiJyIpP2QrPSInIjpjPSEwO2JyZWFrO2RlZmF1bHQ6ZCs9ZS5jaGFyQXQocyl9cmV0dXJuIGR9LF9wb3NzaWJsZUNoYXJzOmZ1bmN0aW9uKGUpe3ZhciB0LGk9IiIscz0hMSxuPWZ1bmN0aW9uKGkpe3ZhciBzPWUubGVuZ3RoPnQrMSYmZS5jaGFyQXQodCsxKT09PWk7cmV0dXJuIHMmJnQrKyxzfTtmb3IodD0wO2UubGVuZ3RoPnQ7dCsrKWlmKHMpIiciIT09ZS5jaGFyQXQodCl8fG4oIiciKT9pKz1lLmNoYXJBdCh0KTpzPSExO2Vsc2Ugc3dpdGNoKGUuY2hhckF0KHQpKXtjYXNlImQiOmNhc2UibSI6Y2FzZSJ5IjpjYXNlIkAiOmkrPSIwMTIzNDU2Nzg5IjticmVhaztjYXNlIkQiOmNhc2UiTSI6cmV0dXJuIG51bGw7Y2FzZSInIjpuKCInIik/aSs9IiciOnM9ITA7YnJlYWs7ZGVmYXVsdDppKz1lLmNoYXJBdCh0KX1yZXR1cm4gaX0sX2dldDpmdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDAhPT1lLnNldHRpbmdzW3RdP2Uuc2V0dGluZ3NbdF06dGhpcy5fZGVmYXVsdHNbdF19LF9zZXREYXRlRnJvbUZpZWxkOmZ1bmN0aW9uKGUsdCl7aWYoZS5pbnB1dC52YWwoKSE9PWUubGFzdFZhbCl7dmFyIGk9dGhpcy5fZ2V0KGUsImRhdGVGb3JtYXQiKSxzPWUubGFzdFZhbD1lLmlucHV0P2UuaW5wdXQudmFsKCk6bnVsbCxuPXRoaXMuX2dldERlZmF1bHREYXRlKGUpLGE9bixvPXRoaXMuX2dldEZvcm1hdENvbmZpZyhlKTt0cnl7YT10aGlzLnBhcnNlRGF0ZShpLHMsbyl8fG59Y2F0Y2gocil7cz10PyIiOnN9ZS5zZWxlY3RlZERheT1hLmdldERhdGUoKSxlLmRyYXdNb250aD1lLnNlbGVjdGVkTW9udGg9YS5nZXRNb250aCgpLGUuZHJhd1llYXI9ZS5zZWxlY3RlZFllYXI9YS5nZXRGdWxsWWVhcigpLGUuY3VycmVudERheT1zP2EuZ2V0RGF0ZSgpOjAsZS5jdXJyZW50TW9udGg9cz9hLmdldE1vbnRoKCk6MCxlLmN1cnJlbnRZZWFyPXM/YS5nZXRGdWxsWWVhcigpOjAsdGhpcy5fYWRqdXN0SW5zdERhdGUoZSl9fSxfZ2V0RGVmYXVsdERhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3Jlc3RyaWN0TWluTWF4KGUsdGhpcy5fZGV0ZXJtaW5lRGF0ZShlLHRoaXMuX2dldChlLCJkZWZhdWx0RGF0ZSIpLG5ldyBEYXRlKSl9LF9kZXRlcm1pbmVEYXRlOmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1mdW5jdGlvbihlKXt2YXIgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXREYXRlKHQuZ2V0RGF0ZSgpK2UpLHR9LGE9ZnVuY3Rpb24oaSl7dHJ5e3JldHVybiBlLmRhdGVwaWNrZXIucGFyc2VEYXRlKGUuZGF0ZXBpY2tlci5fZ2V0KHQsImRhdGVGb3JtYXQiKSxpLGUuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKHQpKX1jYXRjaChzKXt9Zm9yKHZhciBuPShpLnRvTG93ZXJDYXNlKCkubWF0Y2goL15jLyk/ZS5kYXRlcGlja2VyLl9nZXREYXRlKHQpOm51bGwpfHxuZXcgRGF0ZSxhPW4uZ2V0RnVsbFllYXIoKSxvPW4uZ2V0TW9udGgoKSxyPW4uZ2V0RGF0ZSgpLGg9LyhbK1wtXT9bMC05XSspXHMqKGR8RHx3fFd8bXxNfHl8WSk/L2csbD1oLmV4ZWMoaSk7bDspe3N3aXRjaChsWzJdfHwiZCIpe2Nhc2UiZCI6Y2FzZSJEIjpyKz1wYXJzZUludChsWzFdLDEwKTticmVhaztjYXNlInciOmNhc2UiVyI6cis9NypwYXJzZUludChsWzFdLDEwKTticmVhaztjYXNlIm0iOmNhc2UiTSI6bys9cGFyc2VJbnQobFsxXSwxMCkscj1NYXRoLm1pbihyLGUuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoYSxvKSk7YnJlYWs7Y2FzZSJ5IjpjYXNlIlkiOmErPXBhcnNlSW50KGxbMV0sMTApLHI9TWF0aC5taW4ocixlLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKGEsbykpfWw9aC5leGVjKGkpfXJldHVybiBuZXcgRGF0ZShhLG8scil9LG89bnVsbD09aXx8IiI9PT1pP3M6InN0cmluZyI9PXR5cGVvZiBpP2EoaSk6Im51bWJlciI9PXR5cGVvZiBpP2lzTmFOKGkpP3M6bihpKTpuZXcgRGF0ZShpLmdldFRpbWUoKSk7cmV0dXJuIG89byYmIkludmFsaWQgRGF0ZSI9PSIiK28/czpvLG8mJihvLnNldEhvdXJzKDApLG8uc2V0TWludXRlcygwKSxvLnNldFNlY29uZHMoMCksby5zZXRNaWxsaXNlY29uZHMoMCkpLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG8pfSxfZGF5bGlnaHRTYXZpbmdBZGp1c3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/KGUuc2V0SG91cnMoZS5nZXRIb3VycygpPjEyP2UuZ2V0SG91cnMoKSsyOjApLGUpOm51bGx9LF9zZXREYXRlOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz0hdCxuPWUuc2VsZWN0ZWRNb250aCxhPWUuc2VsZWN0ZWRZZWFyLG89dGhpcy5fcmVzdHJpY3RNaW5NYXgoZSx0aGlzLl9kZXRlcm1pbmVEYXRlKGUsdCxuZXcgRGF0ZSkpO2Uuc2VsZWN0ZWREYXk9ZS5jdXJyZW50RGF5PW8uZ2V0RGF0ZSgpLGUuZHJhd01vbnRoPWUuc2VsZWN0ZWRNb250aD1lLmN1cnJlbnRNb250aD1vLmdldE1vbnRoKCksZS5kcmF3WWVhcj1lLnNlbGVjdGVkWWVhcj1lLmN1cnJlbnRZZWFyPW8uZ2V0RnVsbFllYXIoKSxuPT09ZS5zZWxlY3RlZE1vbnRoJiZhPT09ZS5zZWxlY3RlZFllYXJ8fGl8fHRoaXMuX25vdGlmeUNoYW5nZShlKSx0aGlzLl9hZGp1c3RJbnN0RGF0ZShlKSxlLmlucHV0JiZlLmlucHV0LnZhbChzPyIiOnRoaXMuX2Zvcm1hdERhdGUoZSkpfSxfZ2V0RGF0ZTpmdW5jdGlvbihlKXt2YXIgdD0hZS5jdXJyZW50WWVhcnx8ZS5pbnB1dCYmIiI9PT1lLmlucHV0LnZhbCgpP251bGw6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZS5jdXJyZW50WWVhcixlLmN1cnJlbnRNb250aCxlLmN1cnJlbnREYXkpKTtyZXR1cm4gdH0sX2F0dGFjaEhhbmRsZXJzOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2dldCh0LCJzdGVwTW9udGhzIikscz0iIyIrdC5pZC5yZXBsYWNlKC9cXFxcL2csIlxcIik7dC5kcERpdi5maW5kKCJbZGF0YS1oYW5kbGVyXSIpLm1hcChmdW5jdGlvbigpe3ZhciB0PXtwcmV2OmZ1bmN0aW9uKCl7ZS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKHMsLWksIk0iKX0sbmV4dDpmdW5jdGlvbigpe2UuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShzLCtpLCJNIil9LGhpZGU6ZnVuY3Rpb24oKXtlLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCl9LHRvZGF5OmZ1bmN0aW9uKCl7ZS5kYXRlcGlja2VyLl9nb3RvVG9kYXkocyl9LHNlbGVjdERheTpmdW5jdGlvbigpe3JldHVybiBlLmRhdGVwaWNrZXIuX3NlbGVjdERheShzLCt0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1tb250aCIpLCt0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS15ZWFyIiksdGhpcyksITF9LHNlbGVjdE1vbnRoOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKHMsdGhpcywiTSIpLCExfSxzZWxlY3RZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKHMsdGhpcywiWSIpLCExfX07ZSh0aGlzKS5iaW5kKHRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLWV2ZW50IiksdFt0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1oYW5kbGVyIildKX0pfSxfZ2VuZXJhdGVIVE1MOmZ1bmN0aW9uKGUpe3ZhciB0LGkscyxuLGEsbyxyLGgsbCx1LGQsYyxwLGYsbSxnLHYseSxiLF8seCxrLHcsVCxELFMsTSxOLEMsQSxQLEksSCx6LEYsaixFLE8sVyxMPW5ldyBEYXRlLFI9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoTC5nZXRGdWxsWWVhcigpLEwuZ2V0TW9udGgoKSxMLmdldERhdGUoKSkpLFk9dGhpcy5fZ2V0KGUsImlzUlRMIiksSj10aGlzLl9nZXQoZSwic2hvd0J1dHRvblBhbmVsIiksQj10aGlzLl9nZXQoZSwiaGlkZUlmTm9QcmV2TmV4dCIpLFE9dGhpcy5fZ2V0KGUsIm5hdmlnYXRpb25Bc0RhdGVGb3JtYXQiKSxLPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGUpLFY9dGhpcy5fZ2V0KGUsInNob3dDdXJyZW50QXRQb3MiKSxxPXRoaXMuX2dldChlLCJzdGVwTW9udGhzIiksVT0xIT09S1swXXx8MSE9PUtbMV0sRz10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChlLmN1cnJlbnREYXk/bmV3IERhdGUoZS5jdXJyZW50WWVhcixlLmN1cnJlbnRNb250aCxlLmN1cnJlbnREYXkpOm5ldyBEYXRlKDk5OTksOSw5KSksWD10aGlzLl9nZXRNaW5NYXhEYXRlKGUsIm1pbiIpLCQ9dGhpcy5fZ2V0TWluTWF4RGF0ZShlLCJtYXgiKSxaPWUuZHJhd01vbnRoLVYsZXQ9ZS5kcmF3WWVhcjtpZigwPlomJihaKz0xMixldC0tKSwkKWZvcih0PXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKCQuZ2V0RnVsbFllYXIoKSwkLmdldE1vbnRoKCktS1swXSpLWzFdKzEsJC5nZXREYXRlKCkpKSx0PVgmJlg+dD9YOnQ7dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZXQsWiwxKSk+dDspWi0tLDA+WiYmKFo9MTEsZXQtLSk7Zm9yKGUuZHJhd01vbnRoPVosZS5kcmF3WWVhcj1ldCxpPXRoaXMuX2dldChlLCJwcmV2VGV4dCIpLGk9UT90aGlzLmZvcm1hdERhdGUoaSx0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShldCxaLXEsMSkpLHRoaXMuX2dldEZvcm1hdENvbmZpZyhlKSk6aSxzPXRoaXMuX2NhbkFkanVzdE1vbnRoKGUsLTEsZXQsWik/IjxhIGNsYXNzPSd1aS1kYXRlcGlja2VyLXByZXYgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSdwcmV2JyBkYXRhLWV2ZW50PSdjbGljaycgdGl0bGU9JyIraSsiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iKyhZPyJlIjoidyIpKyInPiIraSsiPC9zcGFuPjwvYT4iOkI/IiI6IjxhIGNsYXNzPSd1aS1kYXRlcGlja2VyLXByZXYgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kaXNhYmxlZCcgdGl0bGU9JyIraSsiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iKyhZPyJlIjoidyIpKyInPiIraSsiPC9zcGFuPjwvYT4iLG49dGhpcy5fZ2V0KGUsIm5leHRUZXh0Iiksbj1RP3RoaXMuZm9ybWF0RGF0ZShuLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGV0LForcSwxKSksdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGUpKTpuLGE9dGhpcy5fY2FuQWRqdXN0TW9udGgoZSwxLGV0LFopPyI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwnIGRhdGEtaGFuZGxlcj0nbmV4dCcgZGF0YS1ldmVudD0nY2xpY2snIHRpdGxlPSciK24rIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIisoWT8idyI6ImUiKSsiJz4iK24rIjwvc3Bhbj48L2E+IjpCPyIiOiI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQnIHRpdGxlPSciK24rIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIisoWT8idyI6ImUiKSsiJz4iK24rIjwvc3Bhbj48L2E+IixvPXRoaXMuX2dldChlLCJjdXJyZW50VGV4dCIpLHI9dGhpcy5fZ2V0KGUsImdvdG9DdXJyZW50IikmJmUuY3VycmVudERheT9HOlIsbz1RP3RoaXMuZm9ybWF0RGF0ZShvLHIsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGUpKTpvLGg9ZS5pbmxpbmU/IiI6IjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0ndWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXByaW1hcnkgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSdoaWRlJyBkYXRhLWV2ZW50PSdjbGljayc+Iit0aGlzLl9nZXQoZSwiY2xvc2VUZXh0IikrIjwvYnV0dG9uPiIsbD1KPyI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQnPiIrKFk/aDoiIikrKHRoaXMuX2lzSW5SYW5nZShlLHIpPyI8YnV0dG9uIHR5cGU9J2J1dHRvbicgY2xhc3M9J3VpLWRhdGVwaWNrZXItY3VycmVudCB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXNlY29uZGFyeSB1aS1jb3JuZXItYWxsJyBkYXRhLWhhbmRsZXI9J3RvZGF5JyBkYXRhLWV2ZW50PSdjbGljayc+IitvKyI8L2J1dHRvbj4iOiIiKSsoWT8iIjpoKSsiPC9kaXY+IjoiIix1PXBhcnNlSW50KHRoaXMuX2dldChlLCJmaXJzdERheSIpLDEwKSx1PWlzTmFOKHUpPzA6dSxkPXRoaXMuX2dldChlLCJzaG93V2VlayIpLGM9dGhpcy5fZ2V0KGUsImRheU5hbWVzIikscD10aGlzLl9nZXQoZSwiZGF5TmFtZXNNaW4iKSxmPXRoaXMuX2dldChlLCJtb250aE5hbWVzIiksbT10aGlzLl9nZXQoZSwibW9udGhOYW1lc1Nob3J0IiksZz10aGlzLl9nZXQoZSwiYmVmb3JlU2hvd0RheSIpLHY9dGhpcy5fZ2V0KGUsInNob3dPdGhlck1vbnRocyIpLHk9dGhpcy5fZ2V0KGUsInNlbGVjdE90aGVyTW9udGhzIiksYj10aGlzLl9nZXREZWZhdWx0RGF0ZShlKSxfPSIiLGs9MDtLWzBdPms7aysrKXtmb3Iodz0iIix0aGlzLm1heFJvd3M9NCxUPTA7S1sxXT5UO1QrKyl7aWYoRD10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShldCxaLGUuc2VsZWN0ZWREYXkpKSxTPSIgdWktY29ybmVyLWFsbCIsTT0iIixVKXtpZihNKz0iPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1ncm91cCIsS1sxXT4xKXN3aXRjaChUKXtjYXNlIDA6TSs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLWZpcnN0IixTPSIgdWktY29ybmVyLSIrKFk/InJpZ2h0IjoibGVmdCIpO2JyZWFrO2Nhc2UgS1sxXS0xOk0rPSIgdWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IixTPSIgdWktY29ybmVyLSIrKFk/ImxlZnQiOiJyaWdodCIpO2JyZWFrO2RlZmF1bHQ6TSs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSIsUz0iIn1NKz0iJz4ifWZvcihNKz0iPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXgiK1MrIic+IisoL2FsbHxsZWZ0Ly50ZXN0KFMpJiYwPT09az9ZP2E6czoiIikrKC9hbGx8cmlnaHQvLnRlc3QoUykmJjA9PT1rP1k/czphOiIiKSt0aGlzLl9nZW5lcmF0ZU1vbnRoWWVhckhlYWRlcihlLFosZXQsWCwkLGs+MHx8VD4wLGYsbSkrIjwvZGl2Pjx0YWJsZSBjbGFzcz0ndWktZGF0ZXBpY2tlci1jYWxlbmRhcic+PHRoZWFkPiIrIjx0cj4iLE49ZD8iPHRoIGNsYXNzPSd1aS1kYXRlcGlja2VyLXdlZWstY29sJz4iK3RoaXMuX2dldChlLCJ3ZWVrSGVhZGVyIikrIjwvdGg+IjoiIix4PTA7Nz54O3grKylDPSh4K3UpJTcsTis9Ijx0aCBzY29wZT0nY29sJyIrKCh4K3UrNiklNz49NT8iIGNsYXNzPSd1aS1kYXRlcGlja2VyLXdlZWstZW5kJyI6IiIpKyI+IisiPHNwYW4gdGl0bGU9JyIrY1tDXSsiJz4iK3BbQ10rIjwvc3Bhbj48L3RoPiI7Zm9yKE0rPU4rIjwvdHI+PC90aGVhZD48dGJvZHk+IixBPXRoaXMuX2dldERheXNJbk1vbnRoKGV0LFopLGV0PT09ZS5zZWxlY3RlZFllYXImJlo9PT1lLnNlbGVjdGVkTW9udGgmJihlLnNlbGVjdGVkRGF5PU1hdGgubWluKGUuc2VsZWN0ZWREYXksQSkpLFA9KHRoaXMuX2dldEZpcnN0RGF5T2ZNb250aChldCxaKS11KzcpJTcsST1NYXRoLmNlaWwoKFArQSkvNyksSD1VP3RoaXMubWF4Um93cz5JP3RoaXMubWF4Um93czpJOkksdGhpcy5tYXhSb3dzPUgsej10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShldCxaLDEtUCkpLEY9MDtIPkY7RisrKXtmb3IoTSs9Ijx0cj4iLGo9ZD8iPHRkIGNsYXNzPSd1aS1kYXRlcGlja2VyLXdlZWstY29sJz4iK3RoaXMuX2dldChlLCJjYWxjdWxhdGVXZWVrIikoeikrIjwvdGQ+IjoiIix4PTA7Nz54O3grKylFPWc/Zy5hcHBseShlLmlucHV0P2UuaW5wdXRbMF06bnVsbCxbel0pOlshMCwiIl0sTz16LmdldE1vbnRoKCkhPT1aLFc9TyYmIXl8fCFFWzBdfHxYJiZYPnp8fCQmJno+JCxqKz0iPHRkIGNsYXNzPSciKygoeCt1KzYpJTc+PTU/IiB1aS1kYXRlcGlja2VyLXdlZWstZW5kIjoiIikrKE8/IiB1aS1kYXRlcGlja2VyLW90aGVyLW1vbnRoIjoiIikrKHouZ2V0VGltZSgpPT09RC5nZXRUaW1lKCkmJlo9PT1lLnNlbGVjdGVkTW9udGgmJmUuX2tleUV2ZW50fHxiLmdldFRpbWUoKT09PXouZ2V0VGltZSgpJiZiLmdldFRpbWUoKT09PUQuZ2V0VGltZSgpPyIgIit0aGlzLl9kYXlPdmVyQ2xhc3M6IiIpKyhXPyIgIit0aGlzLl91bnNlbGVjdGFibGVDbGFzcysiIHVpLXN0YXRlLWRpc2FibGVkIjoiIikrKE8mJiF2PyIiOiIgIitFWzFdKyh6LmdldFRpbWUoKT09PUcuZ2V0VGltZSgpPyIgIit0aGlzLl9jdXJyZW50Q2xhc3M6IiIpKyh6LmdldFRpbWUoKT09PVIuZ2V0VGltZSgpPyIgdWktZGF0ZXBpY2tlci10b2RheSI6IiIpKSsiJyIrKE8mJiF2fHwhRVsyXT8iIjoiIHRpdGxlPSciK0VbMl0ucmVwbGFjZSgvJy9nLCImIzM5OyIpKyInIikrKFc/IiI6IiBkYXRhLWhhbmRsZXI9J3NlbGVjdERheScgZGF0YS1ldmVudD0nY2xpY2snIGRhdGEtbW9udGg9JyIrei5nZXRNb250aCgpKyInIGRhdGEteWVhcj0nIit6LmdldEZ1bGxZZWFyKCkrIiciKSsiPiIrKE8mJiF2PyImI3hhMDsiOlc/IjxzcGFuIGNsYXNzPSd1aS1zdGF0ZS1kZWZhdWx0Jz4iK3ouZ2V0RGF0ZSgpKyI8L3NwYW4+IjoiPGEgY2xhc3M9J3VpLXN0YXRlLWRlZmF1bHQiKyh6LmdldFRpbWUoKT09PVIuZ2V0VGltZSgpPyIgdWktc3RhdGUtaGlnaGxpZ2h0IjoiIikrKHouZ2V0VGltZSgpPT09Ry5nZXRUaW1lKCk/IiB1aS1zdGF0ZS1hY3RpdmUiOiIiKSsoTz8iIHVpLXByaW9yaXR5LXNlY29uZGFyeSI6IiIpKyInIGhyZWY9JyMnPiIrei5nZXREYXRlKCkrIjwvYT4iKSsiPC90ZD4iLHouc2V0RGF0ZSh6LmdldERhdGUoKSsxKSx6PXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KHopO00rPWorIjwvdHI+In1aKyssWj4xMSYmKFo9MCxldCsrKSxNKz0iPC90Ym9keT48L3RhYmxlPiIrKFU/IjwvZGl2PiIrKEtbMF0+MCYmVD09PUtbMV0tMT8iPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1yb3ctYnJlYWsnPjwvZGl2PiI6IiIpOiIiKSx3Kz1NfV8rPXd9cmV0dXJuIF8rPWwsZS5fa2V5RXZlbnQ9ITEsX30sX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOmZ1bmN0aW9uKGUsdCxpLHMsbixhLG8scil7dmFyIGgsbCx1LGQsYyxwLGYsbSxnPXRoaXMuX2dldChlLCJjaGFuZ2VNb250aCIpLHY9dGhpcy5fZ2V0KGUsImNoYW5nZVllYXIiKSx5PXRoaXMuX2dldChlLCJzaG93TW9udGhBZnRlclllYXIiKSxiPSI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLXRpdGxlJz4iLF89IiI7aWYoYXx8IWcpXys9IjxzcGFuIGNsYXNzPSd1aS1kYXRlcGlja2VyLW1vbnRoJz4iK29bdF0rIjwvc3Bhbj4iO2Vsc2V7Zm9yKGg9cyYmcy5nZXRGdWxsWWVhcigpPT09aSxsPW4mJm4uZ2V0RnVsbFllYXIoKT09PWksXys9IjxzZWxlY3QgY2xhc3M9J3VpLWRhdGVwaWNrZXItbW9udGgnIGRhdGEtaGFuZGxlcj0nc2VsZWN0TW9udGgnIGRhdGEtZXZlbnQ9J2NoYW5nZSc+Iix1PTA7MTI+dTt1KyspKCFofHx1Pj1zLmdldE1vbnRoKCkpJiYoIWx8fG4uZ2V0TW9udGgoKT49dSkmJihfKz0iPG9wdGlvbiB2YWx1ZT0nIit1KyInIisodT09PXQ/IiBzZWxlY3RlZD0nc2VsZWN0ZWQnIjoiIikrIj4iK3JbdV0rIjwvb3B0aW9uPiIpO18rPSI8L3NlbGVjdD4ifWlmKHl8fChiKz1fKyghYSYmZyYmdj8iIjoiJiN4YTA7IikpLCFlLnllYXJzaHRtbClpZihlLnllYXJzaHRtbD0iIixhfHwhdiliKz0iPHNwYW4gY2xhc3M9J3VpLWRhdGVwaWNrZXIteWVhcic+IitpKyI8L3NwYW4+IjtlbHNle2ZvcihkPXRoaXMuX2dldChlLCJ5ZWFyUmFuZ2UiKS5zcGxpdCgiOiIpLGM9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLHA9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5tYXRjaCgvY1srXC1dLiovKT9pK3BhcnNlSW50KGUuc3Vic3RyaW5nKDEpLDEwKTplLm1hdGNoKC9bK1wtXS4qLyk/YytwYXJzZUludChlLDEwKTpwYXJzZUludChlLDEwKTtyZXR1cm4gaXNOYU4odCk/Yzp0fSxmPXAoZFswXSksbT1NYXRoLm1heChmLHAoZFsxXXx8IiIpKSxmPXM/TWF0aC5tYXgoZixzLmdldEZ1bGxZZWFyKCkpOmYsbT1uP01hdGgubWluKG0sbi5nZXRGdWxsWWVhcigpKTptLGUueWVhcnNodG1sKz0iPHNlbGVjdCBjbGFzcz0ndWktZGF0ZXBpY2tlci15ZWFyJyBkYXRhLWhhbmRsZXI9J3NlbGVjdFllYXInIGRhdGEtZXZlbnQ9J2NoYW5nZSc+IjttPj1mO2YrKyllLnllYXJzaHRtbCs9IjxvcHRpb24gdmFsdWU9JyIrZisiJyIrKGY9PT1pPyIgc2VsZWN0ZWQ9J3NlbGVjdGVkJyI6IiIpKyI+IitmKyI8L29wdGlvbj4iO2UueWVhcnNodG1sKz0iPC9zZWxlY3Q+IixiKz1lLnllYXJzaHRtbCxlLnllYXJzaHRtbD1udWxsfXJldHVybiBiKz10aGlzLl9nZXQoZSwieWVhclN1ZmZpeCIpLHkmJihiKz0oIWEmJmcmJnY/IiI6IiYjeGEwOyIpK18pLGIrPSI8L2Rpdj4ifSxfYWRqdXN0SW5zdERhdGU6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPWUuZHJhd1llYXIrKCJZIj09PWk/dDowKSxuPWUuZHJhd01vbnRoKygiTSI9PT1pP3Q6MCksYT1NYXRoLm1pbihlLnNlbGVjdGVkRGF5LHRoaXMuX2dldERheXNJbk1vbnRoKHMsbikpKygiRCI9PT1pP3Q6MCksbz10aGlzLl9yZXN0cmljdE1pbk1heChlLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHMsbixhKSkpO2Uuc2VsZWN0ZWREYXk9by5nZXREYXRlKCksZS5kcmF3TW9udGg9ZS5zZWxlY3RlZE1vbnRoPW8uZ2V0TW9udGgoKSxlLmRyYXdZZWFyPWUuc2VsZWN0ZWRZZWFyPW8uZ2V0RnVsbFllYXIoKSwoIk0iPT09aXx8IlkiPT09aSkmJnRoaXMuX25vdGlmeUNoYW5nZShlKX0sX3Jlc3RyaWN0TWluTWF4OmZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5fZ2V0TWluTWF4RGF0ZShlLCJtaW4iKSxzPXRoaXMuX2dldE1pbk1heERhdGUoZSwibWF4Iiksbj1pJiZpPnQ/aTp0O3JldHVybiBzJiZuPnM/czpufSxfbm90aWZ5Q2hhbmdlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2dldChlLCJvbkNoYW5nZU1vbnRoWWVhciIpO3QmJnQuYXBwbHkoZS5pbnB1dD9lLmlucHV0WzBdOm51bGwsW2Uuc2VsZWN0ZWRZZWFyLGUuc2VsZWN0ZWRNb250aCsxLGVdKX0sX2dldE51bWJlck9mTW9udGhzOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2dldChlLCJudW1iZXJPZk1vbnRocyIpO3JldHVybiBudWxsPT10P1sxLDFdOiJudW1iZXIiPT10eXBlb2YgdD9bMSx0XTp0fSxfZ2V0TWluTWF4RGF0ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKGUsdGhpcy5fZ2V0KGUsdCsiRGF0ZSIpLG51bGwpfSxfZ2V0RGF5c0luTW9udGg6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMzItdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZSx0LDMyKSkuZ2V0RGF0ZSgpfSxfZ2V0Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBEYXRlKGUsdCwxKS5nZXREYXkoKX0sX2NhbkFkanVzdE1vbnRoOmZ1bmN0aW9uKGUsdCxpLHMpe3ZhciBuPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGUpLGE9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoaSxzKygwPnQ/dDpuWzBdKm5bMV0pLDEpKTtyZXR1cm4gMD50JiZhLnNldERhdGUodGhpcy5fZ2V0RGF5c0luTW9udGgoYS5nZXRGdWxsWWVhcigpLGEuZ2V0TW9udGgoKSkpLHRoaXMuX2lzSW5SYW5nZShlLGEpfSxfaXNJblJhbmdlOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxuPXRoaXMuX2dldE1pbk1heERhdGUoZSwibWluIiksYT10aGlzLl9nZXRNaW5NYXhEYXRlKGUsIm1heCIpLG89bnVsbCxyPW51bGwsaD10aGlzLl9nZXQoZSwieWVhclJhbmdlIik7cmV0dXJuIGgmJihpPWguc3BsaXQoIjoiKSxzPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxvPXBhcnNlSW50KGlbMF0sMTApLHI9cGFyc2VJbnQoaVsxXSwxMCksaVswXS5tYXRjaCgvWytcLV0uKi8pJiYobys9cyksaVsxXS5tYXRjaCgvWytcLV0uKi8pJiYocis9cykpLCghbnx8dC5nZXRUaW1lKCk+PW4uZ2V0VGltZSgpKSYmKCFhfHx0LmdldFRpbWUoKTw9YS5nZXRUaW1lKCkpJiYoIW98fHQuZ2V0RnVsbFllYXIoKT49bykmJighcnx8cj49dC5nZXRGdWxsWWVhcigpKX0sX2dldEZvcm1hdENvbmZpZzpmdW5jdGlvbihlKXt2YXIgdD10aGlzLl9nZXQoZSwic2hvcnRZZWFyQ3V0b2ZmIik7cmV0dXJuIHQ9InN0cmluZyIhPXR5cGVvZiB0P3Q6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEwMCtwYXJzZUludCh0LDEwKSx7c2hvcnRZZWFyQ3V0b2ZmOnQsZGF5TmFtZXNTaG9ydDp0aGlzLl9nZXQoZSwiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMuX2dldChlLCJkYXlOYW1lcyIpLG1vbnRoTmFtZXNTaG9ydDp0aGlzLl9nZXQoZSwibW9udGhOYW1lc1Nob3J0IiksbW9udGhOYW1lczp0aGlzLl9nZXQoZSwibW9udGhOYW1lcyIpfX0sX2Zvcm1hdERhdGU6ZnVuY3Rpb24oZSx0LGkscyl7dHx8KGUuY3VycmVudERheT1lLnNlbGVjdGVkRGF5LGUuY3VycmVudE1vbnRoPWUuc2VsZWN0ZWRNb250aCxlLmN1cnJlbnRZZWFyPWUuc2VsZWN0ZWRZZWFyKTt2YXIgbj10PyJvYmplY3QiPT10eXBlb2YgdD90OnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHMsaSx0KSk6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZS5jdXJyZW50WWVhcixlLmN1cnJlbnRNb250aCxlLmN1cnJlbnREYXkpKTtyZXR1cm4gdGhpcy5mb3JtYXREYXRlKHRoaXMuX2dldChlLCJkYXRlRm9ybWF0Iiksbix0aGlzLl9nZXRGb3JtYXRDb25maWcoZSkpfX0pLGUuZm4uZGF0ZXBpY2tlcj1mdW5jdGlvbih0KXtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7ZS5kYXRlcGlja2VyLmluaXRpYWxpemVkfHwoZShkb2N1bWVudCkubW91c2Vkb3duKGUuZGF0ZXBpY2tlci5fY2hlY2tFeHRlcm5hbENsaWNrKSxlLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9ITApLDA9PT1lKCIjIitlLmRhdGVwaWNrZXIuX21haW5EaXZJZCkubGVuZ3RoJiZlKCJib2R5IikuYXBwZW5kKGUuZGF0ZXBpY2tlci5kcERpdik7dmFyIGk9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiJzdHJpbmciIT10eXBlb2YgdHx8ImlzRGlzYWJsZWQiIT09dCYmImdldERhdGUiIT09dCYmIndpZGdldCIhPT10PyJvcHRpb24iPT09dCYmMj09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgYXJndW1lbnRzWzFdP2UuZGF0ZXBpY2tlclsiXyIrdCsiRGF0ZXBpY2tlciJdLmFwcGx5KGUuZGF0ZXBpY2tlcixbdGhpc1swXV0uY29uY2F0KGkpKTp0aGlzLmVhY2goZnVuY3Rpb24oKXsic3RyaW5nIj09dHlwZW9mIHQ/ZS5kYXRlcGlja2VyWyJfIit0KyJEYXRlcGlja2VyIl0uYXBwbHkoZS5kYXRlcGlja2VyLFt0aGlzXS5jb25jYXQoaSkpOmUuZGF0ZXBpY2tlci5fYXR0YWNoRGF0ZXBpY2tlcih0aGlzLHQpfSk6ZS5kYXRlcGlja2VyWyJfIit0KyJEYXRlcGlja2VyIl0uYXBwbHkoZS5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoaSkpfSxlLmRhdGVwaWNrZXI9bmV3IG4sZS5kYXRlcGlja2VyLmluaXRpYWxpemVkPSExLGUuZGF0ZXBpY2tlci51dWlkPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGUuZGF0ZXBpY2tlci52ZXJzaW9uPSIxLjExLjQiLGUuZGF0ZXBpY2tlcixlLndpZGdldCgidWkuZGlhbG9nIix7dmVyc2lvbjoiMS4xMS40IixvcHRpb25zOnthcHBlbmRUbzoiYm9keSIsYXV0b09wZW46ITAsYnV0dG9uczpbXSxjbG9zZU9uRXNjYXBlOiEwLGNsb3NlVGV4dDoiQ2xvc2UiLGRpYWxvZ0NsYXNzOiIiLGRyYWdnYWJsZTohMCxoaWRlOm51bGwsaGVpZ2h0OiJhdXRvIixtYXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1pbkhlaWdodDoxNTAsbWluV2lkdGg6MTUwLG1vZGFsOiExLHBvc2l0aW9uOntteToiY2VudGVyIixhdDoiY2VudGVyIixvZjp3aW5kb3csY29sbGlzaW9uOiJmaXQiLHVzaW5nOmZ1bmN0aW9uKHQpe3ZhciBpPWUodGhpcykuY3NzKHQpLm9mZnNldCgpLnRvcDswPmkmJmUodGhpcykuY3NzKCJ0b3AiLHQudG9wLWkpfX0scmVzaXphYmxlOiEwLHNob3c6bnVsbCx0aXRsZTpudWxsLHdpZHRoOjMwMCxiZWZvcmVDbG9zZTpudWxsLGNsb3NlOm51bGwsZHJhZzpudWxsLGRyYWdTdGFydDpudWxsLGRyYWdTdG9wOm51bGwsZm9jdXM6bnVsbCxvcGVuOm51bGwscmVzaXplOm51bGwscmVzaXplU3RhcnQ6bnVsbCxyZXNpemVTdG9wOm51bGx9LHNpemVSZWxhdGVkT3B0aW9uczp7YnV0dG9uczohMCxoZWlnaHQ6ITAsbWF4SGVpZ2h0OiEwLG1heFdpZHRoOiEwLG1pbkhlaWdodDohMCxtaW5XaWR0aDohMCx3aWR0aDohMH0scmVzaXphYmxlUmVsYXRlZE9wdGlvbnM6e21heEhlaWdodDohMCxtYXhXaWR0aDohMCxtaW5IZWlnaHQ6ITAsbWluV2lkdGg6ITB9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbmFsQ3NzPXtkaXNwbGF5OnRoaXMuZWxlbWVudFswXS5zdHlsZS5kaXNwbGF5LHdpZHRoOnRoaXMuZWxlbWVudFswXS5zdHlsZS53aWR0aCxtaW5IZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLm1pbkhlaWdodCxtYXhIZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLm1heEhlaWdodCxoZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLmhlaWdodH0sdGhpcy5vcmlnaW5hbFBvc2l0aW9uPXtwYXJlbnQ6dGhpcy5lbGVtZW50LnBhcmVudCgpLGluZGV4OnRoaXMuZWxlbWVudC5wYXJlbnQoKS5jaGlsZHJlbigpLmluZGV4KHRoaXMuZWxlbWVudCl9LHRoaXMub3JpZ2luYWxUaXRsZT10aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiKSx0aGlzLm9wdGlvbnMudGl0bGU9dGhpcy5vcHRpb25zLnRpdGxlfHx0aGlzLm9yaWdpbmFsVGl0bGUsdGhpcy5fY3JlYXRlV3JhcHBlcigpLHRoaXMuZWxlbWVudC5zaG93KCkucmVtb3ZlQXR0cigidGl0bGUiKS5hZGRDbGFzcygidWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiKS5hcHBlbmRUbyh0aGlzLnVpRGlhbG9nKSx0aGlzLl9jcmVhdGVUaXRsZWJhcigpLHRoaXMuX2NyZWF0ZUJ1dHRvblBhbmUoKSx0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlJiZlLmZuLmRyYWdnYWJsZSYmdGhpcy5fbWFrZURyYWdnYWJsZSgpLHRoaXMub3B0aW9ucy5yZXNpemFibGUmJmUuZm4ucmVzaXphYmxlJiZ0aGlzLl9tYWtlUmVzaXphYmxlKCksdGhpcy5faXNPcGVuPSExLHRoaXMuX3RyYWNrRm9jdXMoKX0sX2luaXQ6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXV0b09wZW4mJnRoaXMub3BlbigpfSxfYXBwZW5kVG86ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuYXBwZW5kVG87cmV0dXJuIHQmJih0LmpxdWVyeXx8dC5ub2RlVHlwZSk/ZSh0KTp0aGlzLmRvY3VtZW50LmZpbmQodHx8ImJvZHkiKS5lcSgwKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMub3JpZ2luYWxQb3NpdGlvbjt0aGlzLl91bnRyYWNrSW5zdGFuY2UoKSx0aGlzLl9kZXN0cm95T3ZlcmxheSgpLHRoaXMuZWxlbWVudC5yZW1vdmVVbmlxdWVJZCgpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIpLmNzcyh0aGlzLm9yaWdpbmFsQ3NzKS5kZXRhY2goKSx0aGlzLnVpRGlhbG9nLnN0b3AoITAsITApLnJlbW92ZSgpLHRoaXMub3JpZ2luYWxUaXRsZSYmdGhpcy5lbGVtZW50LmF0dHIoInRpdGxlIix0aGlzLm9yaWdpbmFsVGl0bGUpLGU9dC5wYXJlbnQuY2hpbGRyZW4oKS5lcSh0LmluZGV4KSxlLmxlbmd0aCYmZVswXSE9PXRoaXMuZWxlbWVudFswXT9lLmJlZm9yZSh0aGlzLmVsZW1lbnQpOnQucGFyZW50LmFwcGVuZCh0aGlzLmVsZW1lbnQpfSx3aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51aURpYWxvZ30sZGlzYWJsZTplLm5vb3AsZW5hYmxlOmUubm9vcCxjbG9zZTpmdW5jdGlvbih0KXt2YXIgaSxzPXRoaXM7aWYodGhpcy5faXNPcGVuJiZ0aGlzLl90cmlnZ2VyKCJiZWZvcmVDbG9zZSIsdCkhPT0hMSl7aWYodGhpcy5faXNPcGVuPSExLHRoaXMuX2ZvY3VzZWRFbGVtZW50PW51bGwsdGhpcy5fZGVzdHJveU92ZXJsYXkoKSx0aGlzLl91bnRyYWNrSW5zdGFuY2UoKSwhdGhpcy5vcGVuZXIuZmlsdGVyKCI6Zm9jdXNhYmxlIikuZm9jdXMoKS5sZW5ndGgpdHJ5e2k9dGhpcy5kb2N1bWVudFswXS5hY3RpdmVFbGVtZW50LGkmJiJib2R5IiE9PWkubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmZShpKS5ibHVyKCl9Y2F0Y2gobil7fXRoaXMuX2hpZGUodGhpcy51aURpYWxvZyx0aGlzLm9wdGlvbnMuaGlkZSxmdW5jdGlvbigpe3MuX3RyaWdnZXIoImNsb3NlIix0KX0pfX0saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzT3Blbn0sbW92ZVRvVG9wOmZ1bmN0aW9uKCl7dGhpcy5fbW92ZVRvVG9wKCl9LF9tb3ZlVG9Ub3A6ZnVuY3Rpb24odCxpKXt2YXIgcz0hMSxuPXRoaXMudWlEaWFsb2cuc2libGluZ3MoIi51aS1mcm9udDp2aXNpYmxlIikubWFwKGZ1bmN0aW9uKCl7cmV0dXJuK2UodGhpcykuY3NzKCJ6LWluZGV4Iil9KS5nZXQoKSxhPU1hdGgubWF4LmFwcGx5KG51bGwsbik7cmV0dXJuIGE+PSt0aGlzLnVpRGlhbG9nLmNzcygiei1pbmRleCIpJiYodGhpcy51aURpYWxvZy5jc3MoInotaW5kZXgiLGErMSkscz0hMCkscyYmIWkmJnRoaXMuX3RyaWdnZXIoImZvY3VzIix0KSxzfSxvcGVuOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczsKcmV0dXJuIHRoaXMuX2lzT3Blbj8odGhpcy5fbW92ZVRvVG9wKCkmJnRoaXMuX2ZvY3VzVGFiYmFibGUoKSx2b2lkIDApOih0aGlzLl9pc09wZW49ITAsdGhpcy5vcGVuZXI9ZSh0aGlzLmRvY3VtZW50WzBdLmFjdGl2ZUVsZW1lbnQpLHRoaXMuX3NpemUoKSx0aGlzLl9wb3NpdGlvbigpLHRoaXMuX2NyZWF0ZU92ZXJsYXkoKSx0aGlzLl9tb3ZlVG9Ub3AobnVsbCwhMCksdGhpcy5vdmVybGF5JiZ0aGlzLm92ZXJsYXkuY3NzKCJ6LWluZGV4Iix0aGlzLnVpRGlhbG9nLmNzcygiei1pbmRleCIpLTEpLHRoaXMuX3Nob3codGhpcy51aURpYWxvZyx0aGlzLm9wdGlvbnMuc2hvdyxmdW5jdGlvbigpe3QuX2ZvY3VzVGFiYmFibGUoKSx0Ll90cmlnZ2VyKCJmb2N1cyIpfSksdGhpcy5fbWFrZUZvY3VzVGFyZ2V0KCksdGhpcy5fdHJpZ2dlcigib3BlbiIpLHZvaWQgMCl9LF9mb2N1c1RhYmJhYmxlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fZm9jdXNlZEVsZW1lbnQ7ZXx8KGU9dGhpcy5lbGVtZW50LmZpbmQoIlthdXRvZm9jdXNdIikpLGUubGVuZ3RofHwoZT10aGlzLmVsZW1lbnQuZmluZCgiOnRhYmJhYmxlIikpLGUubGVuZ3RofHwoZT10aGlzLnVpRGlhbG9nQnV0dG9uUGFuZS5maW5kKCI6dGFiYmFibGUiKSksZS5sZW5ndGh8fChlPXRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLmZpbHRlcigiOnRhYmJhYmxlIikpLGUubGVuZ3RofHwoZT10aGlzLnVpRGlhbG9nKSxlLmVxKDApLmZvY3VzKCl9LF9rZWVwRm9jdXM6ZnVuY3Rpb24odCl7ZnVuY3Rpb24gaSgpe3ZhciB0PXRoaXMuZG9jdW1lbnRbMF0uYWN0aXZlRWxlbWVudCxpPXRoaXMudWlEaWFsb2dbMF09PT10fHxlLmNvbnRhaW5zKHRoaXMudWlEaWFsb2dbMF0sdCk7aXx8dGhpcy5fZm9jdXNUYWJiYWJsZSgpfXQucHJldmVudERlZmF1bHQoKSxpLmNhbGwodGhpcyksdGhpcy5fZGVsYXkoaSl9LF9jcmVhdGVXcmFwcGVyOmZ1bmN0aW9uKCl7dGhpcy51aURpYWxvZz1lKCI8ZGl2PiIpLmFkZENsYXNzKCJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktZnJvbnQgIit0aGlzLm9wdGlvbnMuZGlhbG9nQ2xhc3MpLmhpZGUoKS5hdHRyKHt0YWJJbmRleDotMSxyb2xlOiJkaWFsb2cifSkuYXBwZW5kVG8odGhpcy5fYXBwZW5kVG8oKSksdGhpcy5fb24odGhpcy51aURpYWxvZyx7a2V5ZG93bjpmdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMuY2xvc2VPbkVzY2FwZSYmIXQuaXNEZWZhdWx0UHJldmVudGVkKCkmJnQua2V5Q29kZSYmdC5rZXlDb2RlPT09ZS51aS5rZXlDb2RlLkVTQ0FQRSlyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xvc2UodCksdm9pZCAwO2lmKHQua2V5Q29kZT09PWUudWkua2V5Q29kZS5UQUImJiF0LmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgaT10aGlzLnVpRGlhbG9nLmZpbmQoIjp0YWJiYWJsZSIpLHM9aS5maWx0ZXIoIjpmaXJzdCIpLG49aS5maWx0ZXIoIjpsYXN0Iik7dC50YXJnZXQhPT1uWzBdJiZ0LnRhcmdldCE9PXRoaXMudWlEaWFsb2dbMF18fHQuc2hpZnRLZXk/dC50YXJnZXQhPT1zWzBdJiZ0LnRhcmdldCE9PXRoaXMudWlEaWFsb2dbMF18fCF0LnNoaWZ0S2V5fHwodGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtuLmZvY3VzKCl9KSx0LnByZXZlbnREZWZhdWx0KCkpOih0aGlzLl9kZWxheShmdW5jdGlvbigpe3MuZm9jdXMoKX0pLHQucHJldmVudERlZmF1bHQoKSl9fSxtb3VzZWRvd246ZnVuY3Rpb24oZSl7dGhpcy5fbW92ZVRvVG9wKGUpJiZ0aGlzLl9mb2N1c1RhYmJhYmxlKCl9fSksdGhpcy5lbGVtZW50LmZpbmQoIlthcmlhLWRlc2NyaWJlZGJ5XSIpLmxlbmd0aHx8dGhpcy51aURpYWxvZy5hdHRyKHsiYXJpYS1kZXNjcmliZWRieSI6dGhpcy5lbGVtZW50LnVuaXF1ZUlkKCkuYXR0cigiaWQiKX0pfSxfY3JlYXRlVGl0bGViYXI6ZnVuY3Rpb24oKXt2YXIgdDt0aGlzLnVpRGlhbG9nVGl0bGViYXI9ZSgiPGRpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCB1aS1oZWxwZXItY2xlYXJmaXgiKS5wcmVwZW5kVG8odGhpcy51aURpYWxvZyksdGhpcy5fb24odGhpcy51aURpYWxvZ1RpdGxlYmFyLHttb3VzZWRvd246ZnVuY3Rpb24odCl7ZSh0LnRhcmdldCkuY2xvc2VzdCgiLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIpfHx0aGlzLnVpRGlhbG9nLmZvY3VzKCl9fSksdGhpcy51aURpYWxvZ1RpdGxlYmFyQ2xvc2U9ZSgiPGJ1dHRvbiB0eXBlPSdidXR0b24nPjwvYnV0dG9uPiIpLmJ1dHRvbih7bGFiZWw6dGhpcy5vcHRpb25zLmNsb3NlVGV4dCxpY29uczp7cHJpbWFyeToidWktaWNvbi1jbG9zZXRoaWNrIn0sdGV4dDohMX0pLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiKS5hcHBlbmRUbyh0aGlzLnVpRGlhbG9nVGl0bGViYXIpLHRoaXMuX29uKHRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLHtjbGljazpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jbG9zZShlKX19KSx0PWUoIjxzcGFuPiIpLnVuaXF1ZUlkKCkuYWRkQ2xhc3MoInVpLWRpYWxvZy10aXRsZSIpLnByZXBlbmRUbyh0aGlzLnVpRGlhbG9nVGl0bGViYXIpLHRoaXMuX3RpdGxlKHQpLHRoaXMudWlEaWFsb2cuYXR0cih7ImFyaWEtbGFiZWxsZWRieSI6dC5hdHRyKCJpZCIpfSl9LF90aXRsZTpmdW5jdGlvbihlKXt0aGlzLm9wdGlvbnMudGl0bGV8fGUuaHRtbCgiJiMxNjA7IiksZS50ZXh0KHRoaXMub3B0aW9ucy50aXRsZSl9LF9jcmVhdGVCdXR0b25QYW5lOmZ1bmN0aW9uKCl7dGhpcy51aURpYWxvZ0J1dHRvblBhbmU9ZSgiPGRpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IiksdGhpcy51aUJ1dHRvblNldD1lKCI8ZGl2PiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctYnV0dG9uc2V0IikuYXBwZW5kVG8odGhpcy51aURpYWxvZ0J1dHRvblBhbmUpLHRoaXMuX2NyZWF0ZUJ1dHRvbnMoKX0sX2NyZWF0ZUJ1dHRvbnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGk9dGhpcy5vcHRpb25zLmJ1dHRvbnM7cmV0dXJuIHRoaXMudWlEaWFsb2dCdXR0b25QYW5lLnJlbW92ZSgpLHRoaXMudWlCdXR0b25TZXQuZW1wdHkoKSxlLmlzRW1wdHlPYmplY3QoaSl8fGUuaXNBcnJheShpKSYmIWkubGVuZ3RoPyh0aGlzLnVpRGlhbG9nLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctYnV0dG9ucyIpLHZvaWQgMCk6KGUuZWFjaChpLGZ1bmN0aW9uKGkscyl7dmFyIG4sYTtzPWUuaXNGdW5jdGlvbihzKT97Y2xpY2s6cyx0ZXh0Oml9OnMscz1lLmV4dGVuZCh7dHlwZToiYnV0dG9uIn0scyksbj1zLmNsaWNrLHMuY2xpY2s9ZnVuY3Rpb24oKXtuLmFwcGx5KHQuZWxlbWVudFswXSxhcmd1bWVudHMpfSxhPXtpY29uczpzLmljb25zLHRleHQ6cy5zaG93VGV4dH0sZGVsZXRlIHMuaWNvbnMsZGVsZXRlIHMuc2hvd1RleHQsZSgiPGJ1dHRvbj48L2J1dHRvbj4iLHMpLmJ1dHRvbihhKS5hcHBlbmRUbyh0LnVpQnV0dG9uU2V0KX0pLHRoaXMudWlEaWFsb2cuYWRkQ2xhc3MoInVpLWRpYWxvZy1idXR0b25zIiksdGhpcy51aURpYWxvZ0J1dHRvblBhbmUuYXBwZW5kVG8odGhpcy51aURpYWxvZyksdm9pZCAwKX0sX21ha2VEcmFnZ2FibGU6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3JldHVybntwb3NpdGlvbjplLnBvc2l0aW9uLG9mZnNldDplLm9mZnNldH19dmFyIGk9dGhpcyxzPXRoaXMub3B0aW9uczt0aGlzLnVpRGlhbG9nLmRyYWdnYWJsZSh7Y2FuY2VsOiIudWktZGlhbG9nLWNvbnRlbnQsIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiLGhhbmRsZToiLnVpLWRpYWxvZy10aXRsZWJhciIsY29udGFpbm1lbnQ6ImRvY3VtZW50IixzdGFydDpmdW5jdGlvbihzLG4pe2UodGhpcykuYWRkQ2xhc3MoInVpLWRpYWxvZy1kcmFnZ2luZyIpLGkuX2Jsb2NrRnJhbWVzKCksaS5fdHJpZ2dlcigiZHJhZ1N0YXJ0IixzLHQobikpfSxkcmFnOmZ1bmN0aW9uKGUscyl7aS5fdHJpZ2dlcigiZHJhZyIsZSx0KHMpKX0sc3RvcDpmdW5jdGlvbihuLGEpe3ZhciBvPWEub2Zmc2V0LmxlZnQtaS5kb2N1bWVudC5zY3JvbGxMZWZ0KCkscj1hLm9mZnNldC50b3AtaS5kb2N1bWVudC5zY3JvbGxUb3AoKTtzLnBvc2l0aW9uPXtteToibGVmdCB0b3AiLGF0OiJsZWZ0Iisobz49MD8iKyI6IiIpK28rIiAiKyJ0b3AiKyhyPj0wPyIrIjoiIikrcixvZjppLndpbmRvd30sZSh0aGlzKS5yZW1vdmVDbGFzcygidWktZGlhbG9nLWRyYWdnaW5nIiksaS5fdW5ibG9ja0ZyYW1lcygpLGkuX3RyaWdnZXIoImRyYWdTdG9wIixuLHQoYSkpfX0pfSxfbWFrZVJlc2l6YWJsZTpmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7cmV0dXJue29yaWdpbmFsUG9zaXRpb246ZS5vcmlnaW5hbFBvc2l0aW9uLG9yaWdpbmFsU2l6ZTplLm9yaWdpbmFsU2l6ZSxwb3NpdGlvbjplLnBvc2l0aW9uLHNpemU6ZS5zaXplfX12YXIgaT10aGlzLHM9dGhpcy5vcHRpb25zLG49cy5yZXNpemFibGUsYT10aGlzLnVpRGlhbG9nLmNzcygicG9zaXRpb24iKSxvPSJzdHJpbmciPT10eXBlb2Ygbj9uOiJuLGUscyx3LHNlLHN3LG5lLG53Ijt0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSh7Y2FuY2VsOiIudWktZGlhbG9nLWNvbnRlbnQiLGNvbnRhaW5tZW50OiJkb2N1bWVudCIsYWxzb1Jlc2l6ZTp0aGlzLmVsZW1lbnQsbWF4V2lkdGg6cy5tYXhXaWR0aCxtYXhIZWlnaHQ6cy5tYXhIZWlnaHQsbWluV2lkdGg6cy5taW5XaWR0aCxtaW5IZWlnaHQ6dGhpcy5fbWluSGVpZ2h0KCksaGFuZGxlczpvLHN0YXJ0OmZ1bmN0aW9uKHMsbil7ZSh0aGlzKS5hZGRDbGFzcygidWktZGlhbG9nLXJlc2l6aW5nIiksaS5fYmxvY2tGcmFtZXMoKSxpLl90cmlnZ2VyKCJyZXNpemVTdGFydCIscyx0KG4pKX0scmVzaXplOmZ1bmN0aW9uKGUscyl7aS5fdHJpZ2dlcigicmVzaXplIixlLHQocykpfSxzdG9wOmZ1bmN0aW9uKG4sYSl7dmFyIG89aS51aURpYWxvZy5vZmZzZXQoKSxyPW8ubGVmdC1pLmRvY3VtZW50LnNjcm9sbExlZnQoKSxoPW8udG9wLWkuZG9jdW1lbnQuc2Nyb2xsVG9wKCk7cy5oZWlnaHQ9aS51aURpYWxvZy5oZWlnaHQoKSxzLndpZHRoPWkudWlEaWFsb2cud2lkdGgoKSxzLnBvc2l0aW9uPXtteToibGVmdCB0b3AiLGF0OiJsZWZ0Iisocj49MD8iKyI6IiIpK3IrIiAiKyJ0b3AiKyhoPj0wPyIrIjoiIikraCxvZjppLndpbmRvd30sZSh0aGlzKS5yZW1vdmVDbGFzcygidWktZGlhbG9nLXJlc2l6aW5nIiksaS5fdW5ibG9ja0ZyYW1lcygpLGkuX3RyaWdnZXIoInJlc2l6ZVN0b3AiLG4sdChhKSl9fSkuY3NzKCJwb3NpdGlvbiIsYSl9LF90cmFja0ZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5fb24odGhpcy53aWRnZXQoKSx7Zm9jdXNpbjpmdW5jdGlvbih0KXt0aGlzLl9tYWtlRm9jdXNUYXJnZXQoKSx0aGlzLl9mb2N1c2VkRWxlbWVudD1lKHQudGFyZ2V0KX19KX0sX21ha2VGb2N1c1RhcmdldDpmdW5jdGlvbigpe3RoaXMuX3VudHJhY2tJbnN0YW5jZSgpLHRoaXMuX3RyYWNraW5nSW5zdGFuY2VzKCkudW5zaGlmdCh0aGlzKX0sX3VudHJhY2tJbnN0YW5jZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3RyYWNraW5nSW5zdGFuY2VzKCksaT1lLmluQXJyYXkodGhpcyx0KTstMSE9PWkmJnQuc3BsaWNlKGksMSl9LF90cmFja2luZ0luc3RhbmNlczpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZG9jdW1lbnQuZGF0YSgidWktZGlhbG9nLWluc3RhbmNlcyIpO3JldHVybiBlfHwoZT1bXSx0aGlzLmRvY3VtZW50LmRhdGEoInVpLWRpYWxvZy1pbnN0YW5jZXMiLGUpKSxlfSxfbWluSGVpZ2h0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO3JldHVybiJhdXRvIj09PWUuaGVpZ2h0P2UubWluSGVpZ2h0Ok1hdGgubWluKGUubWluSGVpZ2h0LGUuaGVpZ2h0KX0sX3Bvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy51aURpYWxvZy5pcygiOnZpc2libGUiKTtlfHx0aGlzLnVpRGlhbG9nLnNob3coKSx0aGlzLnVpRGlhbG9nLnBvc2l0aW9uKHRoaXMub3B0aW9ucy5wb3NpdGlvbiksZXx8dGhpcy51aURpYWxvZy5oaWRlKCl9LF9zZXRPcHRpb25zOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMscz0hMSxuPXt9O2UuZWFjaCh0LGZ1bmN0aW9uKGUsdCl7aS5fc2V0T3B0aW9uKGUsdCksZSBpbiBpLnNpemVSZWxhdGVkT3B0aW9ucyYmKHM9ITApLGUgaW4gaS5yZXNpemFibGVSZWxhdGVkT3B0aW9ucyYmKG5bZV09dCl9KSxzJiYodGhpcy5fc2l6ZSgpLHRoaXMuX3Bvc2l0aW9uKCkpLHRoaXMudWlEaWFsb2cuaXMoIjpkYXRhKHVpLXJlc2l6YWJsZSkiKSYmdGhpcy51aURpYWxvZy5yZXNpemFibGUoIm9wdGlvbiIsbil9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXt2YXIgaSxzLG49dGhpcy51aURpYWxvZzsiZGlhbG9nQ2xhc3MiPT09ZSYmbi5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuZGlhbG9nQ2xhc3MpLmFkZENsYXNzKHQpLCJkaXNhYmxlZCIhPT1lJiYodGhpcy5fc3VwZXIoZSx0KSwiYXBwZW5kVG8iPT09ZSYmdGhpcy51aURpYWxvZy5hcHBlbmRUbyh0aGlzLl9hcHBlbmRUbygpKSwiYnV0dG9ucyI9PT1lJiZ0aGlzLl9jcmVhdGVCdXR0b25zKCksImNsb3NlVGV4dCI9PT1lJiZ0aGlzLnVpRGlhbG9nVGl0bGViYXJDbG9zZS5idXR0b24oe2xhYmVsOiIiK3R9KSwiZHJhZ2dhYmxlIj09PWUmJihpPW4uaXMoIjpkYXRhKHVpLWRyYWdnYWJsZSkiKSxpJiYhdCYmbi5kcmFnZ2FibGUoImRlc3Ryb3kiKSwhaSYmdCYmdGhpcy5fbWFrZURyYWdnYWJsZSgpKSwicG9zaXRpb24iPT09ZSYmdGhpcy5fcG9zaXRpb24oKSwicmVzaXphYmxlIj09PWUmJihzPW4uaXMoIjpkYXRhKHVpLXJlc2l6YWJsZSkiKSxzJiYhdCYmbi5yZXNpemFibGUoImRlc3Ryb3kiKSxzJiYic3RyaW5nIj09dHlwZW9mIHQmJm4ucmVzaXphYmxlKCJvcHRpb24iLCJoYW5kbGVzIix0KSxzfHx0PT09ITF8fHRoaXMuX21ha2VSZXNpemFibGUoKSksInRpdGxlIj09PWUmJnRoaXMuX3RpdGxlKHRoaXMudWlEaWFsb2dUaXRsZWJhci5maW5kKCIudWktZGlhbG9nLXRpdGxlIikpKX0sX3NpemU6ZnVuY3Rpb24oKXt2YXIgZSx0LGkscz10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50LnNob3coKS5jc3Moe3dpZHRoOiJhdXRvIixtaW5IZWlnaHQ6MCxtYXhIZWlnaHQ6Im5vbmUiLGhlaWdodDowfSkscy5taW5XaWR0aD5zLndpZHRoJiYocy53aWR0aD1zLm1pbldpZHRoKSxlPXRoaXMudWlEaWFsb2cuY3NzKHtoZWlnaHQ6ImF1dG8iLHdpZHRoOnMud2lkdGh9KS5vdXRlckhlaWdodCgpLHQ9TWF0aC5tYXgoMCxzLm1pbkhlaWdodC1lKSxpPSJudW1iZXIiPT10eXBlb2Ygcy5tYXhIZWlnaHQ/TWF0aC5tYXgoMCxzLm1heEhlaWdodC1lKToibm9uZSIsImF1dG8iPT09cy5oZWlnaHQ/dGhpcy5lbGVtZW50LmNzcyh7bWluSGVpZ2h0OnQsbWF4SGVpZ2h0OmksaGVpZ2h0OiJhdXRvIn0pOnRoaXMuZWxlbWVudC5oZWlnaHQoTWF0aC5tYXgoMCxzLmhlaWdodC1lKSksdGhpcy51aURpYWxvZy5pcygiOmRhdGEodWktcmVzaXphYmxlKSIpJiZ0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSgib3B0aW9uIiwibWluSGVpZ2h0Iix0aGlzLl9taW5IZWlnaHQoKSl9LF9ibG9ja0ZyYW1lczpmdW5jdGlvbigpe3RoaXMuaWZyYW1lQmxvY2tzPXRoaXMuZG9jdW1lbnQuZmluZCgiaWZyYW1lIikubWFwKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtyZXR1cm4gZSgiPGRpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsd2lkdGg6dC5vdXRlcldpZHRoKCksaGVpZ2h0OnQub3V0ZXJIZWlnaHQoKX0pLmFwcGVuZFRvKHQucGFyZW50KCkpLm9mZnNldCh0Lm9mZnNldCgpKVswXX0pfSxfdW5ibG9ja0ZyYW1lczpmdW5jdGlvbigpe3RoaXMuaWZyYW1lQmxvY2tzJiYodGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCksZGVsZXRlIHRoaXMuaWZyYW1lQmxvY2tzKX0sX2FsbG93SW50ZXJhY3Rpb246ZnVuY3Rpb24odCl7cmV0dXJuIGUodC50YXJnZXQpLmNsb3Nlc3QoIi51aS1kaWFsb2ciKS5sZW5ndGg/ITA6ISFlKHQudGFyZ2V0KS5jbG9zZXN0KCIudWktZGF0ZXBpY2tlciIpLmxlbmd0aH0sX2NyZWF0ZU92ZXJsYXk6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMubW9kYWwpe3ZhciB0PSEwO3RoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dD0hMX0pLHRoaXMuZG9jdW1lbnQuZGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIil8fHRoaXMuX29uKHRoaXMuZG9jdW1lbnQse2ZvY3VzaW46ZnVuY3Rpb24oZSl7dHx8dGhpcy5fYWxsb3dJbnRlcmFjdGlvbihlKXx8KGUucHJldmVudERlZmF1bHQoKSx0aGlzLl90cmFja2luZ0luc3RhbmNlcygpWzBdLl9mb2N1c1RhYmJhYmxlKCkpfX0pLHRoaXMub3ZlcmxheT1lKCI8ZGl2PiIpLmFkZENsYXNzKCJ1aS13aWRnZXQtb3ZlcmxheSB1aS1mcm9udCIpLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLHRoaXMuX29uKHRoaXMub3ZlcmxheSx7bW91c2Vkb3duOiJfa2VlcEZvY3VzIn0pLHRoaXMuZG9jdW1lbnQuZGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIiwodGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiKXx8MCkrMSl9fSxfZGVzdHJveU92ZXJsYXk6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMubW9kYWwmJnRoaXMub3ZlcmxheSl7dmFyIGU9dGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiKS0xO2U/dGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiLGUpOnRoaXMuZG9jdW1lbnQudW5iaW5kKCJmb2N1c2luIikucmVtb3ZlRGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIiksdGhpcy5vdmVybGF5LnJlbW92ZSgpLHRoaXMub3ZlcmxheT1udWxsfX19KSxlLndpZGdldCgidWkucHJvZ3Jlc3NiYXIiLHt2ZXJzaW9uOiIxLjExLjQiLG9wdGlvbnM6e21heDoxMDAsdmFsdWU6MCxjaGFuZ2U6bnVsbCxjb21wbGV0ZTpudWxsfSxtaW46MCxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5vbGRWYWx1ZT10aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fY29uc3RyYWluZWRWYWx1ZSgpLHRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5hdHRyKHtyb2xlOiJwcm9ncmVzc2JhciIsImFyaWEtdmFsdWVtaW4iOnRoaXMubWlufSksdGhpcy52YWx1ZURpdj1lKCI8ZGl2IGNsYXNzPSd1aS1wcm9ncmVzc2Jhci12YWx1ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1sZWZ0Jz48L2Rpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW1pbiIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbm93IiksdGhpcy52YWx1ZURpdi5yZW1vdmUoKX0sdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWU/dGhpcy5vcHRpb25zLnZhbHVlOih0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fY29uc3RyYWluZWRWYWx1ZShlKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx2b2lkIDApfSxfY29uc3RyYWluZWRWYWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9dGhpcy5vcHRpb25zLnZhbHVlKSx0aGlzLmluZGV0ZXJtaW5hdGU9ZT09PSExLCJudW1iZXIiIT10eXBlb2YgZSYmKGU9MCksdGhpcy5pbmRldGVybWluYXRlPyExOk1hdGgubWluKHRoaXMub3B0aW9ucy5tYXgsTWF0aC5tYXgodGhpcy5taW4sZSkpfSxfc2V0T3B0aW9uczpmdW5jdGlvbihlKXt2YXIgdD1lLnZhbHVlO2RlbGV0ZSBlLnZhbHVlLHRoaXMuX3N1cGVyKGUpLHRoaXMub3B0aW9ucy52YWx1ZT10aGlzLl9jb25zdHJhaW5lZFZhbHVlKHQpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsdCl7Im1heCI9PT1lJiYodD1NYXRoLm1heCh0aGlzLm1pbix0KSksImRpc2FibGVkIj09PWUmJnRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCkuYXR0cigiYXJpYS1kaXNhYmxlZCIsdCksdGhpcy5fc3VwZXIoZSx0KX0sX3BlcmNlbnRhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbmRldGVybWluYXRlPzEwMDoxMDAqKHRoaXMub3B0aW9ucy52YWx1ZS10aGlzLm1pbikvKHRoaXMub3B0aW9ucy5tYXgtdGhpcy5taW4pfSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnZhbHVlLGk9dGhpcy5fcGVyY2VudGFnZSgpO3RoaXMudmFsdWVEaXYudG9nZ2xlKHRoaXMuaW5kZXRlcm1pbmF0ZXx8dD50aGlzLm1pbikudG9nZ2xlQ2xhc3MoInVpLWNvcm5lci1yaWdodCIsdD09PXRoaXMub3B0aW9ucy5tYXgpLndpZHRoKGkudG9GaXhlZCgwKSsiJSIpLHRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSIsdGhpcy5pbmRldGVybWluYXRlKSx0aGlzLmluZGV0ZXJtaW5hdGU/KHRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbm93IiksdGhpcy5vdmVybGF5RGl2fHwodGhpcy5vdmVybGF5RGl2PWUoIjxkaXYgY2xhc3M9J3VpLXByb2dyZXNzYmFyLW92ZXJsYXknPjwvZGl2PiIpLmFwcGVuZFRvKHRoaXMudmFsdWVEaXYpKSk6KHRoaXMuZWxlbWVudC5hdHRyKHsiYXJpYS12YWx1ZW1heCI6dGhpcy5vcHRpb25zLm1heCwiYXJpYS12YWx1ZW5vdyI6dH0pLHRoaXMub3ZlcmxheURpdiYmKHRoaXMub3ZlcmxheURpdi5yZW1vdmUoKSx0aGlzLm92ZXJsYXlEaXY9bnVsbCkpLHRoaXMub2xkVmFsdWUhPT10JiYodGhpcy5vbGRWYWx1ZT10LHRoaXMuX3RyaWdnZXIoImNoYW5nZSIpKSx0PT09dGhpcy5vcHRpb25zLm1heCYmdGhpcy5fdHJpZ2dlcigiY29tcGxldGUiKX19KSxlLndpZGdldCgidWkuc2VsZWN0bWVudSIse3ZlcnNpb246IjEuMTEuNCIsZGVmYXVsdEVsZW1lbnQ6IjxzZWxlY3Q+IixvcHRpb25zOnthcHBlbmRUbzpudWxsLGRpc2FibGVkOm51bGwsaWNvbnM6e2J1dHRvbjoidWktaWNvbi10cmlhbmdsZS0xLXMifSxwb3NpdGlvbjp7bXk6ImxlZnQgdG9wIixhdDoibGVmdCBib3R0b20iLGNvbGxpc2lvbjoibm9uZSJ9LHdpZHRoOm51bGwsY2hhbmdlOm51bGwsY2xvc2U6bnVsbCxmb2N1czpudWxsLG9wZW46bnVsbCxzZWxlY3Q6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZWxlbWVudC51bmlxdWVJZCgpLmF0dHIoImlkIik7dGhpcy5pZHM9e2VsZW1lbnQ6ZSxidXR0b246ZSsiLWJ1dHRvbiIsbWVudTplKyItbWVudSJ9LHRoaXMuX2RyYXdCdXR0b24oKSx0aGlzLl9kcmF3TWVudSgpLHRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5kaXNhYmxlKCl9LF9kcmF3QnV0dG9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLmxhYmVsPWUoImxhYmVsW2Zvcj0nIit0aGlzLmlkcy5lbGVtZW50KyInXSIpLmF0dHIoImZvciIsdGhpcy5pZHMuYnV0dG9uKSx0aGlzLl9vbih0aGlzLmxhYmVsLHtjbGljazpmdW5jdGlvbihlKXt0aGlzLmJ1dHRvbi5mb2N1cygpLGUucHJldmVudERlZmF1bHQoKX19KSx0aGlzLmVsZW1lbnQuaGlkZSgpLHRoaXMuYnV0dG9uPWUoIjxzcGFuPiIseyJjbGFzcyI6InVpLXNlbGVjdG1lbnUtYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiLHRhYmluZGV4OnRoaXMub3B0aW9ucy5kaXNhYmxlZD8tMTowLGlkOnRoaXMuaWRzLmJ1dHRvbixyb2xlOiJjb21ib2JveCIsImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsImFyaWEtYXV0b2NvbXBsZXRlIjoibGlzdCIsImFyaWEtb3ducyI6dGhpcy5pZHMubWVudSwiYXJpYS1oYXNwb3B1cCI6InRydWUifSkuaW5zZXJ0QWZ0ZXIodGhpcy5lbGVtZW50KSxlKCI8c3Bhbj4iLHsiY2xhc3MiOiJ1aS1pY29uICIrdGhpcy5vcHRpb25zLmljb25zLmJ1dHRvbn0pLnByZXBlbmRUbyh0aGlzLmJ1dHRvbiksdGhpcy5idXR0b25UZXh0PWUoIjxzcGFuPiIseyJjbGFzcyI6InVpLXNlbGVjdG1lbnUtdGV4dCJ9KS5hcHBlbmRUbyh0aGlzLmJ1dHRvbiksdGhpcy5fc2V0VGV4dCh0aGlzLmJ1dHRvblRleHQsdGhpcy5lbGVtZW50LmZpbmQoIm9wdGlvbjpzZWxlY3RlZCIpLnRleHQoKSksdGhpcy5fcmVzaXplQnV0dG9uKCksdGhpcy5fb24odGhpcy5idXR0b24sdGhpcy5fYnV0dG9uRXZlbnRzKSx0aGlzLmJ1dHRvbi5vbmUoImZvY3VzaW4iLGZ1bmN0aW9uKCl7dC5tZW51SXRlbXN8fHQuX3JlZnJlc2hNZW51KCl9KSx0aGlzLl9ob3ZlcmFibGUodGhpcy5idXR0b24pLHRoaXMuX2ZvY3VzYWJsZSh0aGlzLmJ1dHRvbil9LF9kcmF3TWVudTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5tZW51PWUoIjx1bD4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIiwiYXJpYS1sYWJlbGxlZGJ5Ijp0aGlzLmlkcy5idXR0b24saWQ6dGhpcy5pZHMubWVudX0pLHRoaXMubWVudVdyYXA9ZSgiPGRpdj4iLHsiY2xhc3MiOiJ1aS1zZWxlY3RtZW51LW1lbnUgdWktZnJvbnQifSkuYXBwZW5kKHRoaXMubWVudSkuYXBwZW5kVG8odGhpcy5fYXBwZW5kVG8oKSksdGhpcy5tZW51SW5zdGFuY2U9dGhpcy5tZW51Lm1lbnUoe3JvbGU6Imxpc3Rib3giLHNlbGVjdDpmdW5jdGlvbihlLGkpe2UucHJldmVudERlZmF1bHQoKSx0Ll9zZXRTZWxlY3Rpb24oKSx0Ll9zZWxlY3QoaS5pdGVtLmRhdGEoInVpLXNlbGVjdG1lbnUtaXRlbSIpLGUpfSxmb2N1czpmdW5jdGlvbihlLGkpe3ZhciBzPWkuaXRlbS5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iKTtudWxsIT10LmZvY3VzSW5kZXgmJnMuaW5kZXghPT10LmZvY3VzSW5kZXgmJih0Ll90cmlnZ2VyKCJmb2N1cyIsZSx7aXRlbTpzfSksdC5pc09wZW58fHQuX3NlbGVjdChzLGUpKSx0LmZvY3VzSW5kZXg9cy5pbmRleCx0LmJ1dHRvbi5hdHRyKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLHQubWVudUl0ZW1zLmVxKHMuaW5kZXgpLmF0dHIoImlkIikpfX0pLm1lbnUoImluc3RhbmNlIiksdGhpcy5tZW51LmFkZENsYXNzKCJ1aS1jb3JuZXItYm90dG9tIikucmVtb3ZlQ2xhc3MoInVpLWNvcm5lci1hbGwiKSx0aGlzLm1lbnVJbnN0YW5jZS5fb2ZmKHRoaXMubWVudSwibW91c2VsZWF2ZSIpLHRoaXMubWVudUluc3RhbmNlLl9jbG9zZU9uRG9jdW1lbnRDbGljaz1mdW5jdGlvbigpe3JldHVybiExfSx0aGlzLm1lbnVJbnN0YW5jZS5faXNEaXZpZGVyPWZ1bmN0aW9uKCl7cmV0dXJuITF9fSxyZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy5fcmVmcmVzaE1lbnUoKSx0aGlzLl9zZXRUZXh0KHRoaXMuYnV0dG9uVGV4dCx0aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKS50ZXh0KCkpLHRoaXMub3B0aW9ucy53aWR0aHx8dGhpcy5fcmVzaXplQnV0dG9uKCl9LF9yZWZyZXNoTWVudTpmdW5jdGlvbigpe3RoaXMubWVudS5lbXB0eSgpO3ZhciBlLHQ9dGhpcy5lbGVtZW50LmZpbmQoIm9wdGlvbiIpO3QubGVuZ3RoJiYodGhpcy5fcGFyc2VPcHRpb25zKHQpLHRoaXMuX3JlbmRlck1lbnUodGhpcy5tZW51LHRoaXMuaXRlbXMpLHRoaXMubWVudUluc3RhbmNlLnJlZnJlc2goKSx0aGlzLm1lbnVJdGVtcz10aGlzLm1lbnUuZmluZCgibGkiKS5ub3QoIi51aS1zZWxlY3RtZW51LW9wdGdyb3VwIiksZT10aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKSx0aGlzLm1lbnVJbnN0YW5jZS5mb2N1cyhudWxsLGUpLHRoaXMuX3NldEFyaWEoZS5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iKSksdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdGhpcy5lbGVtZW50LnByb3AoImRpc2FibGVkIikpKX0sb3BlbjpmdW5jdGlvbihlKXt0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fCh0aGlzLm1lbnVJdGVtcz8odGhpcy5tZW51LmZpbmQoIi51aS1zdGF0ZS1mb2N1cyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpLHRoaXMubWVudUluc3RhbmNlLmZvY3VzKG51bGwsdGhpcy5fZ2V0U2VsZWN0ZWRJdGVtKCkpKTp0aGlzLl9yZWZyZXNoTWVudSgpLHRoaXMuaXNPcGVuPSEwLHRoaXMuX3RvZ2dsZUF0dHIoKSx0aGlzLl9yZXNpemVNZW51KCksdGhpcy5fcG9zaXRpb24oKSx0aGlzLl9vbih0aGlzLmRvY3VtZW50LHRoaXMuX2RvY3VtZW50Q2xpY2spLHRoaXMuX3RyaWdnZXIoIm9wZW4iLGUpKX0sX3Bvc2l0aW9uOmZ1bmN0aW9uKCl7dGhpcy5tZW51V3JhcC5wb3NpdGlvbihlLmV4dGVuZCh7b2Y6dGhpcy5idXR0b259LHRoaXMub3B0aW9ucy5wb3NpdGlvbikpfSxjbG9zZTpmdW5jdGlvbihlKXt0aGlzLmlzT3BlbiYmKHRoaXMuaXNPcGVuPSExLHRoaXMuX3RvZ2dsZUF0dHIoKSx0aGlzLnJhbmdlPW51bGwsdGhpcy5fb2ZmKHRoaXMuZG9jdW1lbnQpLHRoaXMuX3RyaWdnZXIoImNsb3NlIixlKSl9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1dHRvbn0sbWVudVdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1lbnV9LF9yZW5kZXJNZW51OmZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcyxuPSIiO2UuZWFjaChpLGZ1bmN0aW9uKGksYSl7YS5vcHRncm91cCE9PW4mJihlKCI8bGk+Iix7ImNsYXNzIjoidWktc2VsZWN0bWVudS1vcHRncm91cCB1aS1tZW51LWRpdmlkZXIiKyhhLmVsZW1lbnQucGFyZW50KCJvcHRncm91cCIpLnByb3AoImRpc2FibGVkIik/IiB1aS1zdGF0ZS1kaXNhYmxlZCI6IiIpLHRleHQ6YS5vcHRncm91cH0pLmFwcGVuZFRvKHQpLG49YS5vcHRncm91cCkscy5fcmVuZGVySXRlbURhdGEodCxhKX0pfSxfcmVuZGVySXRlbURhdGE6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fcmVuZGVySXRlbShlLHQpLmRhdGEoInVpLXNlbGVjdG1lbnUtaXRlbSIsdCl9LF9yZW5kZXJJdGVtOmZ1bmN0aW9uKHQsaSl7dmFyIHM9ZSgiPGxpPiIpO3JldHVybiBpLmRpc2FibGVkJiZzLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHRoaXMuX3NldFRleHQocyxpLmxhYmVsKSxzLmFwcGVuZFRvKHQpfSxfc2V0VGV4dDpmdW5jdGlvbihlLHQpe3Q/ZS50ZXh0KHQpOmUuaHRtbCgiJiMxNjA7Iil9LF9tb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxuPSIudWktbWVudS1pdGVtIjt0aGlzLmlzT3Blbj9pPXRoaXMubWVudUl0ZW1zLmVxKHRoaXMuZm9jdXNJbmRleCk6KGk9dGhpcy5tZW51SXRlbXMuZXEodGhpcy5lbGVtZW50WzBdLnNlbGVjdGVkSW5kZXgpLG4rPSI6bm90KC51aS1zdGF0ZS1kaXNhYmxlZCkiKSxzPSJmaXJzdCI9PT1lfHwibGFzdCI9PT1lP2lbImZpcnN0Ij09PWU/InByZXZBbGwiOiJuZXh0QWxsIl0obikuZXEoLTEpOmlbZSsiQWxsIl0obikuZXEoMCkscy5sZW5ndGgmJnRoaXMubWVudUluc3RhbmNlLmZvY3VzKHQscyl9LF9nZXRTZWxlY3RlZEl0ZW06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZW51SXRlbXMuZXEodGhpcy5lbGVtZW50WzBdLnNlbGVjdGVkSW5kZXgpfSxfdG9nZ2xlOmZ1bmN0aW9uKGUpe3RoaXNbdGhpcy5pc09wZW4/ImNsb3NlIjoib3BlbiJdKGUpfSxfc2V0U2VsZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIGU7dGhpcy5yYW5nZSYmKHdpbmRvdy5nZXRTZWxlY3Rpb24/KGU9d2luZG93LmdldFNlbGVjdGlvbigpLGUucmVtb3ZlQWxsUmFuZ2VzKCksZS5hZGRSYW5nZSh0aGlzLnJhbmdlKSk6dGhpcy5yYW5nZS5zZWxlY3QoKSx0aGlzLmJ1dHRvbi5mb2N1cygpKX0sX2RvY3VtZW50Q2xpY2s6e21vdXNlZG93bjpmdW5jdGlvbih0KXt0aGlzLmlzT3BlbiYmKGUodC50YXJnZXQpLmNsb3Nlc3QoIi51aS1zZWxlY3RtZW51LW1lbnUsICMiK3RoaXMuaWRzLmJ1dHRvbikubGVuZ3RofHx0aGlzLmNsb3NlKHQpKX19LF9idXR0b25FdmVudHM6e21vdXNlZG93bjpmdW5jdGlvbigpe3ZhciBlO3dpbmRvdy5nZXRTZWxlY3Rpb24/KGU9d2luZG93LmdldFNlbGVjdGlvbigpLGUucmFuZ2VDb3VudCYmKHRoaXMucmFuZ2U9ZS5nZXRSYW5nZUF0KDApKSk6dGhpcy5yYW5nZT1kb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKX0sY2xpY2s6ZnVuY3Rpb24oZSl7dGhpcy5fc2V0U2VsZWN0aW9uKCksdGhpcy5fdG9nZ2xlKGUpfSxrZXlkb3duOmZ1bmN0aW9uKHQpe3ZhciBpPSEwO3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgZS51aS5rZXlDb2RlLlRBQjpjYXNlIGUudWkua2V5Q29kZS5FU0NBUEU6dGhpcy5jbG9zZSh0KSxpPSExO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkVOVEVSOnRoaXMuaXNPcGVuJiZ0aGlzLl9zZWxlY3RGb2N1c2VkSXRlbSh0KTticmVhaztjYXNlIGUudWkua2V5Q29kZS5VUDp0LmFsdEtleT90aGlzLl90b2dnbGUodCk6dGhpcy5fbW92ZSgicHJldiIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRE9XTjp0LmFsdEtleT90aGlzLl90b2dnbGUodCk6dGhpcy5fbW92ZSgibmV4dCIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuU1BBQ0U6dGhpcy5pc09wZW4/dGhpcy5fc2VsZWN0Rm9jdXNlZEl0ZW0odCk6dGhpcy5fdG9nZ2xlKHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkxFRlQ6dGhpcy5fbW92ZSgicHJldiIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuUklHSFQ6dGhpcy5fbW92ZSgibmV4dCIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuSE9NRTpjYXNlIGUudWkua2V5Q29kZS5QQUdFX1VQOnRoaXMuX21vdmUoImZpcnN0Iix0KTticmVhaztjYXNlIGUudWkua2V5Q29kZS5FTkQ6Y2FzZSBlLnVpLmtleUNvZGUuUEFHRV9ET1dOOnRoaXMuX21vdmUoImxhc3QiLHQpO2JyZWFrO2RlZmF1bHQ6dGhpcy5tZW51LnRyaWdnZXIodCksaT0hMX1pJiZ0LnByZXZlbnREZWZhdWx0KCl9fSxfc2VsZWN0Rm9jdXNlZEl0ZW06ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5tZW51SXRlbXMuZXEodGhpcy5mb2N1c0luZGV4KTt0Lmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpfHx0aGlzLl9zZWxlY3QodC5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iKSxlKX0sX3NlbGVjdDpmdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuZWxlbWVudFswXS5zZWxlY3RlZEluZGV4O3RoaXMuZWxlbWVudFswXS5zZWxlY3RlZEluZGV4PWUuaW5kZXgsdGhpcy5fc2V0VGV4dCh0aGlzLmJ1dHRvblRleHQsZS5sYWJlbCksdGhpcy5fc2V0QXJpYShlKSx0aGlzLl90cmlnZ2VyKCJzZWxlY3QiLHQse2l0ZW06ZX0pLGUuaW5kZXghPT1pJiZ0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLHQse2l0ZW06ZX0pLHRoaXMuY2xvc2UodCl9LF9zZXRBcmlhOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubWVudUl0ZW1zLmVxKGUuaW5kZXgpLmF0dHIoImlkIik7dGhpcy5idXR0b24uYXR0cih7ImFyaWEtbGFiZWxsZWRieSI6dCwiYXJpYS1hY3RpdmVkZXNjZW5kYW50Ijp0fSksdGhpcy5tZW51LmF0dHIoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsdCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXsiaWNvbnMiPT09ZSYmdGhpcy5idXR0b24uZmluZCgic3Bhbi51aS1pY29uIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmljb25zLmJ1dHRvbikuYWRkQ2xhc3ModC5idXR0b24pLHRoaXMuX3N1cGVyKGUsdCksImFwcGVuZFRvIj09PWUmJnRoaXMubWVudVdyYXAuYXBwZW5kVG8odGhpcy5fYXBwZW5kVG8oKSksImRpc2FibGVkIj09PWUmJih0aGlzLm1lbnVJbnN0YW5jZS5vcHRpb24oImRpc2FibGVkIix0KSx0aGlzLmJ1dHRvbi50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLHQpLmF0dHIoImFyaWEtZGlzYWJsZWQiLHQpLHRoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIsdCksdD8odGhpcy5idXR0b24uYXR0cigidGFiaW5kZXgiLC0xKSx0aGlzLmNsb3NlKCkpOnRoaXMuYnV0dG9uLmF0dHIoInRhYmluZGV4IiwwKSksIndpZHRoIj09PWUmJnRoaXMuX3Jlc2l6ZUJ1dHRvbigpfSxfYXBwZW5kVG86ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuYXBwZW5kVG87cmV0dXJuIHQmJih0PXQuanF1ZXJ5fHx0Lm5vZGVUeXBlP2UodCk6dGhpcy5kb2N1bWVudC5maW5kKHQpLmVxKDApKSx0JiZ0WzBdfHwodD10aGlzLmVsZW1lbnQuY2xvc2VzdCgiLnVpLWZyb250IikpLHQubGVuZ3RofHwodD10aGlzLmRvY3VtZW50WzBdLmJvZHkpLHR9LF90b2dnbGVBdHRyOmZ1bmN0aW9uKCl7dGhpcy5idXR0b24udG9nZ2xlQ2xhc3MoInVpLWNvcm5lci10b3AiLHRoaXMuaXNPcGVuKS50b2dnbGVDbGFzcygidWktY29ybmVyLWFsbCIsIXRoaXMuaXNPcGVuKS5hdHRyKCJhcmlhLWV4cGFuZGVkIix0aGlzLmlzT3BlbiksdGhpcy5tZW51V3JhcC50b2dnbGVDbGFzcygidWktc2VsZWN0bWVudS1vcGVuIix0aGlzLmlzT3BlbiksdGhpcy5tZW51LmF0dHIoImFyaWEtaGlkZGVuIiwhdGhpcy5pc09wZW4pfSxfcmVzaXplQnV0dG9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zLndpZHRoO2V8fChlPXRoaXMuZWxlbWVudC5zaG93KCkub3V0ZXJXaWR0aCgpLHRoaXMuZWxlbWVudC5oaWRlKCkpLHRoaXMuYnV0dG9uLm91dGVyV2lkdGgoZSl9LF9yZXNpemVNZW51OmZ1bmN0aW9uKCl7dGhpcy5tZW51Lm91dGVyV2lkdGgoTWF0aC5tYXgodGhpcy5idXR0b24ub3V0ZXJXaWR0aCgpLHRoaXMubWVudS53aWR0aCgiIikub3V0ZXJXaWR0aCgpKzEpKX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm57ZGlzYWJsZWQ6dGhpcy5lbGVtZW50LnByb3AoImRpc2FibGVkIil9fSxfcGFyc2VPcHRpb25zOmZ1bmN0aW9uKHQpe3ZhciBpPVtdO3QuZWFjaChmdW5jdGlvbih0LHMpe3ZhciBuPWUocyksYT1uLnBhcmVudCgib3B0Z3JvdXAiKTtpLnB1c2goe2VsZW1lbnQ6bixpbmRleDp0LHZhbHVlOm4udmFsKCksbGFiZWw6bi50ZXh0KCksb3B0Z3JvdXA6YS5hdHRyKCJsYWJlbCIpfHwiIixkaXNhYmxlZDphLnByb3AoImRpc2FibGVkIil8fG4ucHJvcCgiZGlzYWJsZWQiKX0pfSksdGhpcy5pdGVtcz1pfSxfZGVzdHJveTpmdW5jdGlvbigpe3RoaXMubWVudVdyYXAucmVtb3ZlKCksdGhpcy5idXR0b24ucmVtb3ZlKCksdGhpcy5lbGVtZW50LnNob3coKSx0aGlzLmVsZW1lbnQucmVtb3ZlVW5pcXVlSWQoKSx0aGlzLmxhYmVsLmF0dHIoImZvciIsdGhpcy5pZHMuZWxlbWVudCl9fSksZS53aWRnZXQoInVpLnNsaWRlciIsZS51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMS40Iix3aWRnZXRFdmVudFByZWZpeDoic2xpZGUiLG9wdGlvbnM6e2FuaW1hdGU6ITEsZGlzdGFuY2U6MCxtYXg6MTAwLG1pbjowLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixyYW5nZTohMSxzdGVwOjEsdmFsdWU6MCx2YWx1ZXM6bnVsbCxjaGFuZ2U6bnVsbCxzbGlkZTpudWxsLHN0YXJ0Om51bGwsc3RvcDpudWxsfSxudW1QYWdlczo1LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl9rZXlTbGlkaW5nPSExLHRoaXMuX21vdXNlU2xpZGluZz0hMSx0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX2hhbmRsZUluZGV4PW51bGwsdGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKSx0aGlzLl9tb3VzZUluaXQoKSx0aGlzLl9jYWxjdWxhdGVOZXdNYXgoKSx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNsaWRlciB1aS1zbGlkZXItIit0aGlzLm9yaWVudGF0aW9uKyIgdWktd2lkZ2V0IisiIHVpLXdpZGdldC1jb250ZW50IisiIHVpLWNvcm5lci1hbGwiKSx0aGlzLl9yZWZyZXNoKCksdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl9hbmltYXRlT2ZmPSExfSxfcmVmcmVzaDpmdW5jdGlvbigpe3RoaXMuX2NyZWF0ZVJhbmdlKCksdGhpcy5fY3JlYXRlSGFuZGxlcygpLHRoaXMuX3NldHVwRXZlbnRzKCksdGhpcy5fcmVmcmVzaFZhbHVlKCl9LF9jcmVhdGVIYW5kbGVzOmZ1bmN0aW9uKCl7dmFyIHQsaSxzPXRoaXMub3B0aW9ucyxuPXRoaXMuZWxlbWVudC5maW5kKCIudWktc2xpZGVyLWhhbmRsZSIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKSxhPSI8c3BhbiBjbGFzcz0ndWktc2xpZGVyLWhhbmRsZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwnIHRhYmluZGV4PScwJz48L3NwYW4+IixvPVtdO2ZvcihpPXMudmFsdWVzJiZzLnZhbHVlcy5sZW5ndGh8fDEsbi5sZW5ndGg+aSYmKG4uc2xpY2UoaSkucmVtb3ZlKCksbj1uLnNsaWNlKDAsaSkpLHQ9bi5sZW5ndGg7aT50O3QrKylvLnB1c2goYSk7dGhpcy5oYW5kbGVzPW4uYWRkKGUoby5qb2luKCIiKSkuYXBwZW5kVG8odGhpcy5lbGVtZW50KSksdGhpcy5oYW5kbGU9dGhpcy5oYW5kbGVzLmVxKDApLHRoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKHQpe2UodGhpcykuZGF0YSgidWktc2xpZGVyLWhhbmRsZS1pbmRleCIsdCl9KX0sX2NyZWF0ZVJhbmdlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGk9IiI7dC5yYW5nZT8odC5yYW5nZT09PSEwJiYodC52YWx1ZXM/dC52YWx1ZXMubGVuZ3RoJiYyIT09dC52YWx1ZXMubGVuZ3RoP3QudmFsdWVzPVt0LnZhbHVlc1swXSx0LnZhbHVlc1swXV06ZS5pc0FycmF5KHQudmFsdWVzKSYmKHQudmFsdWVzPXQudmFsdWVzLnNsaWNlKDApKTp0LnZhbHVlcz1bdGhpcy5fdmFsdWVNaW4oKSx0aGlzLl92YWx1ZU1pbigpXSksdGhpcy5yYW5nZSYmdGhpcy5yYW5nZS5sZW5ndGg/dGhpcy5yYW5nZS5yZW1vdmVDbGFzcygidWktc2xpZGVyLXJhbmdlLW1pbiB1aS1zbGlkZXItcmFuZ2UtbWF4IikuY3NzKHtsZWZ0OiIiLGJvdHRvbToiIn0pOih0aGlzLnJhbmdlPWUoIjxkaXY+PC9kaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KSxpPSJ1aS1zbGlkZXItcmFuZ2UgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIiksdGhpcy5yYW5nZS5hZGRDbGFzcyhpKygibWluIj09PXQucmFuZ2V8fCJtYXgiPT09dC5yYW5nZT8iIHVpLXNsaWRlci1yYW5nZS0iK3QucmFuZ2U6IiIpKSk6KHRoaXMucmFuZ2UmJnRoaXMucmFuZ2UucmVtb3ZlKCksdGhpcy5yYW5nZT1udWxsKX0sX3NldHVwRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5fb2ZmKHRoaXMuaGFuZGxlcyksdGhpcy5fb24odGhpcy5oYW5kbGVzLHRoaXMuX2hhbmRsZUV2ZW50cyksdGhpcy5faG92ZXJhYmxlKHRoaXMuaGFuZGxlcyksdGhpcy5fZm9jdXNhYmxlKHRoaXMuaGFuZGxlcyl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5oYW5kbGVzLnJlbW92ZSgpLHRoaXMucmFuZ2UmJnRoaXMucmFuZ2UucmVtb3ZlKCksdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLWhvcml6b250YWwgdWktc2xpZGVyLXZlcnRpY2FsIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIiksdGhpcy5fbW91c2VEZXN0cm95KCl9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24odCl7dmFyIGkscyxuLGEsbyxyLGgsbCx1PXRoaXMsZD10aGlzLm9wdGlvbnM7cmV0dXJuIGQuZGlzYWJsZWQ/ITE6KHRoaXMuZWxlbWVudFNpemU9e3dpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpfSx0aGlzLmVsZW1lbnRPZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpLGk9e3g6dC5wYWdlWCx5OnQucGFnZVl9LHM9dGhpcy5fbm9ybVZhbHVlRnJvbU1vdXNlKGkpLG49dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKzEsdGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24odCl7dmFyIGk9TWF0aC5hYnMocy11LnZhbHVlcyh0KSk7KG4+aXx8bj09PWkmJih0PT09dS5fbGFzdENoYW5nZWRWYWx1ZXx8dS52YWx1ZXModCk9PT1kLm1pbikpJiYobj1pLGE9ZSh0aGlzKSxvPXQpfSkscj10aGlzLl9zdGFydCh0LG8pLHI9PT0hMT8hMToodGhpcy5fbW91c2VTbGlkaW5nPSEwLHRoaXMuX2hhbmRsZUluZGV4PW8sYS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuZm9jdXMoKSxoPWEub2Zmc2V0KCksbD0hZSh0LnRhcmdldCkucGFyZW50cygpLmFkZEJhY2soKS5pcygiLnVpLXNsaWRlci1oYW5kbGUiKSx0aGlzLl9jbGlja09mZnNldD1sP3tsZWZ0OjAsdG9wOjB9OntsZWZ0OnQucGFnZVgtaC5sZWZ0LWEud2lkdGgoKS8yLHRvcDp0LnBhZ2VZLWgudG9wLWEuaGVpZ2h0KCkvMi0ocGFyc2VJbnQoYS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoYS5jc3MoImJvcmRlckJvdHRvbVdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoYS5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MCl9LHRoaXMuaGFuZGxlcy5oYXNDbGFzcygidWktc3RhdGUtaG92ZXIiKXx8dGhpcy5fc2xpZGUodCxvLHMpLHRoaXMuX2FuaW1hdGVPZmY9ITAsITApKX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sX21vdXNlRHJhZzpmdW5jdGlvbihlKXt2YXIgdD17eDplLnBhZ2VYLHk6ZS5wYWdlWX0saT10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2UodCk7cmV0dXJuIHRoaXMuX3NsaWRlKGUsdGhpcy5faGFuZGxlSW5kZXgsaSksITF9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaGFuZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIiksdGhpcy5fbW91c2VTbGlkaW5nPSExLHRoaXMuX3N0b3AoZSx0aGlzLl9oYW5kbGVJbmRleCksdGhpcy5fY2hhbmdlKGUsdGhpcy5faGFuZGxlSW5kZXgpLHRoaXMuX2hhbmRsZUluZGV4PW51bGwsdGhpcy5fY2xpY2tPZmZzZXQ9bnVsbCx0aGlzLl9hbmltYXRlT2ZmPSExLCExfSxfZGV0ZWN0T3JpZW50YXRpb246ZnVuY3Rpb24oKXt0aGlzLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCI9PT10aGlzLm9wdGlvbnMub3JpZW50YXRpb24/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVGcm9tTW91c2U6ZnVuY3Rpb24oZSl7dmFyIHQsaSxzLG4sYTtyZXR1cm4iaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uPyh0PXRoaXMuZWxlbWVudFNpemUud2lkdGgsaT1lLngtdGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtKHRoaXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LmxlZnQ6MCkpOih0PXRoaXMuZWxlbWVudFNpemUuaGVpZ2h0LGk9ZS55LXRoaXMuZWxlbWVudE9mZnNldC50b3AtKHRoaXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LnRvcDowKSkscz1pL3Qscz4xJiYocz0xKSwwPnMmJihzPTApLCJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiYocz0xLXMpLG49dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpLGE9dGhpcy5fdmFsdWVNaW4oKStzKm4sdGhpcy5fdHJpbUFsaWduVmFsdWUoYSl9LF9zdGFydDpmdW5jdGlvbihlLHQpe3ZhciBpPXtoYW5kbGU6dGhpcy5oYW5kbGVzW3RdLHZhbHVlOnRoaXMudmFsdWUoKX07cmV0dXJuIHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoJiYoaS52YWx1ZT10aGlzLnZhbHVlcyh0KSxpLnZhbHVlcz10aGlzLnZhbHVlcygpKSx0aGlzLl90cmlnZ2VyKCJzdGFydCIsZSxpKX0sX3NsaWRlOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcyxuLGE7dGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg/KHM9dGhpcy52YWx1ZXModD8wOjEpLDI9PT10aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCYmdGhpcy5vcHRpb25zLnJhbmdlPT09ITAmJigwPT09dCYmaT5zfHwxPT09dCYmcz5pKSYmKGk9cyksaSE9PXRoaXMudmFsdWVzKHQpJiYobj10aGlzLnZhbHVlcygpLG5bdF09aSxhPXRoaXMuX3RyaWdnZXIoInNsaWRlIixlLHtoYW5kbGU6dGhpcy5oYW5kbGVzW3RdLHZhbHVlOmksdmFsdWVzOm59KSxzPXRoaXMudmFsdWVzKHQ/MDoxKSxhIT09ITEmJnRoaXMudmFsdWVzKHQsaSkpKTppIT09dGhpcy52YWx1ZSgpJiYoYT10aGlzLl90cmlnZ2VyKCJzbGlkZSIsZSx7aGFuZGxlOnRoaXMuaGFuZGxlc1t0XSx2YWx1ZTppfSksYSE9PSExJiZ0aGlzLnZhbHVlKGkpKX0sX3N0b3A6ZnVuY3Rpb24oZSx0KXt2YXIgaT17aGFuZGxlOnRoaXMuaGFuZGxlc1t0XSx2YWx1ZTp0aGlzLnZhbHVlKCl9O3RoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoJiYoaS52YWx1ZT10aGlzLnZhbHVlcyh0KSxpLnZhbHVlcz10aGlzLnZhbHVlcygpKSx0aGlzLl90cmlnZ2VyKCJzdG9wIixlLGkpfSxfY2hhbmdlOmZ1bmN0aW9uKGUsdCl7aWYoIXRoaXMuX2tleVNsaWRpbmcmJiF0aGlzLl9tb3VzZVNsaWRpbmcpe3ZhciBpPXtoYW5kbGU6dGhpcy5oYW5kbGVzW3RdLHZhbHVlOnRoaXMudmFsdWUoKX07dGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgmJihpLnZhbHVlPXRoaXMudmFsdWVzKHQpLGkudmFsdWVzPXRoaXMudmFsdWVzKCkpLHRoaXMuX2xhc3RDaGFuZ2VkVmFsdWU9dCx0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGUsaSl9fSx2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5vcHRpb25zLnZhbHVlPXRoaXMuX3RyaW1BbGlnblZhbHVlKGUpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHRoaXMuX2NoYW5nZShudWxsLDApLHZvaWQgMCk6dGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlc1t0XT10aGlzLl90cmltQWxpZ25WYWx1ZShpKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9jaGFuZ2UobnVsbCx0KSx2b2lkIDA7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3ZhbHVlcygpO2lmKCFlLmlzQXJyYXkoYXJndW1lbnRzWzBdKSlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg/dGhpcy5fdmFsdWVzKHQpOnRoaXMudmFsdWUoKTtmb3Iocz10aGlzLm9wdGlvbnMudmFsdWVzLG49YXJndW1lbnRzWzBdLGE9MDtzLmxlbmd0aD5hO2ErPTEpc1thXT10aGlzLl90cmltQWxpZ25WYWx1ZShuW2FdKSx0aGlzLl9jaGFuZ2UobnVsbCxhKTt0aGlzLl9yZWZyZXNoVmFsdWUoKX0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGkpe3ZhciBzLG49MDtzd2l0Y2goInJhbmdlIj09PXQmJnRoaXMub3B0aW9ucy5yYW5nZT09PSEwJiYoIm1pbiI9PT1pPyh0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdmFsdWVzKDApLHRoaXMub3B0aW9ucy52YWx1ZXM9bnVsbCk6Im1heCI9PT1pJiYodGhpcy5vcHRpb25zLnZhbHVlPXRoaXMuX3ZhbHVlcyh0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aC0xKSx0aGlzLm9wdGlvbnMudmFsdWVzPW51bGwpKSxlLmlzQXJyYXkodGhpcy5vcHRpb25zLnZhbHVlcykmJihuPXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSwiZGlzYWJsZWQiPT09dCYmdGhpcy5lbGVtZW50LnRvZ2dsZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIsISFpKSx0aGlzLl9zdXBlcih0LGkpLHQpe2Nhc2Uib3JpZW50YXRpb24iOnRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCksdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiKS5hZGRDbGFzcygidWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbiksdGhpcy5fcmVmcmVzaFZhbHVlKCksdGhpcy5oYW5kbGVzLmNzcygiaG9yaXpvbnRhbCI9PT1pPyJib3R0b20iOiJsZWZ0IiwiIik7YnJlYWs7Y2FzZSJ2YWx1ZSI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9jaGFuZ2UobnVsbCwwKSx0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2UidmFsdWVzIjpmb3IodGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSxzPTA7bj5zO3MrPTEpdGhpcy5fY2hhbmdlKG51bGwscyk7dGhpcy5fYW5pbWF0ZU9mZj0hMTticmVhaztjYXNlInN0ZXAiOmNhc2UibWluIjpjYXNlIm1heCI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9jYWxjdWxhdGVOZXdNYXgoKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2UicmFuZ2UiOnRoaXMuX2FuaW1hdGVPZmY9ITAsdGhpcy5fcmVmcmVzaCgpLHRoaXMuX2FuaW1hdGVPZmY9ITF9fSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9wdGlvbnMudmFsdWU7cmV0dXJuIGU9dGhpcy5fdHJpbUFsaWduVmFsdWUoZSl9LF92YWx1ZXM6ZnVuY3Rpb24oZSl7dmFyIHQsaSxzO2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHQ9dGhpcy5vcHRpb25zLnZhbHVlc1tlXSx0PXRoaXMuX3RyaW1BbGlnblZhbHVlKHQpO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtmb3IoaT10aGlzLm9wdGlvbnMudmFsdWVzLnNsaWNlKCkscz0wO2kubGVuZ3RoPnM7cys9MSlpW3NdPXRoaXMuX3RyaW1BbGlnblZhbHVlKGlbc10pO3JldHVybiBpfXJldHVybltdfSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24oZSl7aWYodGhpcy5fdmFsdWVNaW4oKT49ZSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZihlPj10aGlzLl92YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciB0PXRoaXMub3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxpPShlLXRoaXMuX3ZhbHVlTWluKCkpJXQscz1lLWk7cmV0dXJuIDIqTWF0aC5hYnMoaSk+PXQmJihzKz1pPjA/dDotdCkscGFyc2VGbG9hdChzLnRvRml4ZWQoNSkpfSxfY2FsY3VsYXRlTmV3TWF4OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zLm1heCx0PXRoaXMuX3ZhbHVlTWluKCksaT10aGlzLm9wdGlvbnMuc3RlcCxzPU1hdGguZmxvb3IoKyhlLXQpLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKCkpL2kpKmk7ZT1zK3QsdGhpcy5tYXg9cGFyc2VGbG9hdChlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKCkpKX0sX3ByZWNpc2lvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5zdGVwKTtyZXR1cm4gbnVsbCE9PXRoaXMub3B0aW9ucy5taW4mJihlPU1hdGgubWF4KGUsdGhpcy5fcHJlY2lzaW9uT2YodGhpcy5vcHRpb25zLm1pbikpKSxlfSxfcHJlY2lzaW9uT2Y6ZnVuY3Rpb24oZSl7dmFyIHQ9IiIrZSxpPXQuaW5kZXhPZigiLiIpO3JldHVybi0xPT09aT8wOnQubGVuZ3RoLWktMX0sX3ZhbHVlTWluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5taW59LF92YWx1ZU1heDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heH0sX3JlZnJlc2hWYWx1ZTpmdW5jdGlvbigpe3ZhciB0LGkscyxuLGEsbz10aGlzLm9wdGlvbnMucmFuZ2Uscj10aGlzLm9wdGlvbnMsaD10aGlzLGw9dGhpcy5fYW5pbWF0ZU9mZj8hMTpyLmFuaW1hdGUsdT17fTt0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aD90aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihzKXtpPTEwMCooKGgudmFsdWVzKHMpLWguX3ZhbHVlTWluKCkpLyhoLl92YWx1ZU1heCgpLWguX3ZhbHVlTWluKCkpKSx1WyJob3Jpem9udGFsIj09PWgub3JpZW50YXRpb24/ImxlZnQiOiJib3R0b20iXT1pKyIlIixlKHRoaXMpLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0odSxyLmFuaW1hdGUpLGgub3B0aW9ucy5yYW5nZT09PSEwJiYoImhvcml6b250YWwiPT09aC5vcmllbnRhdGlvbj8oMD09PXMmJmgucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7bGVmdDppKyIlIn0sci5hbmltYXRlKSwxPT09cyYmaC5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmktdCsiJSJ9LHtxdWV1ZTohMSxkdXJhdGlvbjpyLmFuaW1hdGV9KSk6KDA9PT1zJiZoLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTppKyIlIn0sci5hbmltYXRlKSwxPT09cyYmaC5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDppLXQrIiUifSx7cXVldWU6ITEsZHVyYXRpb246ci5hbmltYXRlfSkpKSx0PWl9KToocz10aGlzLnZhbHVlKCksbj10aGlzLl92YWx1ZU1pbigpLGE9dGhpcy5fdmFsdWVNYXgoKSxpPWEhPT1uPzEwMCooKHMtbikvKGEtbikpOjAsdVsiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uPyJsZWZ0IjoiYm90dG9tIl09aSsiJSIsdGhpcy5oYW5kbGUuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh1LHIuYW5pbWF0ZSksIm1pbiI9PT1vJiYiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmkrIiUifSxyLmFuaW1hdGUpLCJtYXgiPT09byYmImhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbiYmdGhpcy5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1pKyIlIn0se3F1ZXVlOiExLGR1cmF0aW9uOnIuYW5pbWF0ZX0pLCJtaW4iPT09byYmInZlcnRpY2FsIj09PXRoaXMub3JpZW50YXRpb24mJnRoaXMucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OmkrIiUifSxyLmFuaW1hdGUpLCJtYXgiPT09byYmInZlcnRpY2FsIj09PXRoaXMub3JpZW50YXRpb24mJnRoaXMucmFuZ2VbbD8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6MTAwLWkrIiUifSx7cXVldWU6ITEsZHVyYXRpb246ci5hbmltYXRlfSkpfSxfaGFuZGxlRXZlbnRzOntrZXlkb3duOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbixhLG89ZSh0LnRhcmdldCkuZGF0YSgidWktc2xpZGVyLWhhbmRsZS1pbmRleCIpO3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgZS51aS5rZXlDb2RlLkhPTUU6Y2FzZSBlLnVpLmtleUNvZGUuRU5EOmNhc2UgZS51aS5rZXlDb2RlLlBBR0VfVVA6Y2FzZSBlLnVpLmtleUNvZGUuUEFHRV9ET1dOOmNhc2UgZS51aS5rZXlDb2RlLlVQOmNhc2UgZS51aS5rZXlDb2RlLlJJR0hUOmNhc2UgZS51aS5rZXlDb2RlLkRPV046Y2FzZSBlLnVpLmtleUNvZGUuTEVGVDppZih0LnByZXZlbnREZWZhdWx0KCksIXRoaXMuX2tleVNsaWRpbmcmJih0aGlzLl9rZXlTbGlkaW5nPSEwLGUodC50YXJnZXQpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKSxpPXRoaXMuX3N0YXJ0KHQsbyksaT09PSExKSlyZXR1cm59c3dpdGNoKGE9dGhpcy5vcHRpb25zLnN0ZXAscz1uPXRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoP3RoaXMudmFsdWVzKG8pOnRoaXMudmFsdWUoKSx0LmtleUNvZGUpe2Nhc2UgZS51aS5rZXlDb2RlLkhPTUU6bj10aGlzLl92YWx1ZU1pbigpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkVORDpuPXRoaXMuX3ZhbHVlTWF4KCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuUEFHRV9VUDpuPXRoaXMuX3RyaW1BbGlnblZhbHVlKHMrKHRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSkvdGhpcy5udW1QYWdlcyk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuUEFHRV9ET1dOOm49dGhpcy5fdHJpbUFsaWduVmFsdWUocy0odGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKS90aGlzLm51bVBhZ2VzKTticmVhaztjYXNlIGUudWkua2V5Q29kZS5VUDpjYXNlIGUudWkua2V5Q29kZS5SSUdIVDppZihzPT09dGhpcy5fdmFsdWVNYXgoKSlyZXR1cm47bj10aGlzLl90cmltQWxpZ25WYWx1ZShzK2EpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkRPV046Y2FzZSBlLnVpLmtleUNvZGUuTEVGVDppZihzPT09dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm47bj10aGlzLl90cmltQWxpZ25WYWx1ZShzLWEpfXRoaXMuX3NsaWRlKHQsbyxuKX0sa2V5dXA6ZnVuY3Rpb24odCl7dmFyIGk9ZSh0LnRhcmdldCkuZGF0YSgidWktc2xpZGVyLWhhbmRsZS1pbmRleCIpO3RoaXMuX2tleVNsaWRpbmcmJih0aGlzLl9rZXlTbGlkaW5nPSExLHRoaXMuX3N0b3AodCxpKSx0aGlzLl9jaGFuZ2UodCxpKSxlKHQudGFyZ2V0KS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikpfX19KSxlLndpZGdldCgidWkuc3Bpbm5lciIse3ZlcnNpb246IjEuMTEuNCIsZGVmYXVsdEVsZW1lbnQ6IjxpbnB1dD4iLHdpZGdldEV2ZW50UHJlZml4OiJzcGluIixvcHRpb25zOntjdWx0dXJlOm51bGwsaWNvbnM6e2Rvd246InVpLWljb24tdHJpYW5nbGUtMS1zIix1cDoidWktaWNvbi10cmlhbmdsZS0xLW4ifSxpbmNyZW1lbnRhbDohMCxtYXg6bnVsbCxtaW46bnVsbCxudW1iZXJGb3JtYXQ6bnVsbCxwYWdlOjEwLHN0ZXA6MSxjaGFuZ2U6bnVsbCxzcGluOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGx9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl9zZXRPcHRpb24oIm1heCIsdGhpcy5vcHRpb25zLm1heCksdGhpcy5fc2V0T3B0aW9uKCJtaW4iLHRoaXMub3B0aW9ucy5taW4pLHRoaXMuX3NldE9wdGlvbigic3RlcCIsdGhpcy5vcHRpb25zLnN0ZXApLCIiIT09dGhpcy52YWx1ZSgpJiZ0aGlzLl92YWx1ZSh0aGlzLmVsZW1lbnQudmFsKCksITApLHRoaXMuX2RyYXcoKSx0aGlzLl9vbih0aGlzLl9ldmVudHMpLHRoaXMuX3JlZnJlc2goKSx0aGlzLl9vbih0aGlzLndpbmRvdyx7YmVmb3JldW5sb2FkOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoImF1dG9jb21wbGV0ZSIpfX0pfSxfZ2V0Q3JlYXRlT3B0aW9uczpmdW5jdGlvbigpe3ZhciB0PXt9LGk9dGhpcy5lbGVtZW50O3JldHVybiBlLmVhY2goWyJtaW4iLCJtYXgiLCJzdGVwIl0sZnVuY3Rpb24oZSxzKXt2YXIgbj1pLmF0dHIocyk7dm9pZCAwIT09biYmbi5sZW5ndGgmJih0W3NdPW4pfSksdH0sX2V2ZW50czp7a2V5ZG93bjpmdW5jdGlvbihlKXt0aGlzLl9zdGFydChlKSYmdGhpcy5fa2V5ZG93bihlKSYmZS5wcmV2ZW50RGVmYXVsdCgpfSxrZXl1cDoiX3N0b3AiLGZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5wcmV2aW91cz10aGlzLmVsZW1lbnQudmFsKCl9LGJsdXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY2FuY2VsQmx1cj8oZGVsZXRlIHRoaXMuY2FuY2VsQmx1cix2b2lkIDApOih0aGlzLl9zdG9wKCksdGhpcy5fcmVmcmVzaCgpLHRoaXMucHJldmlvdXMhPT10aGlzLmVsZW1lbnQudmFsKCkmJnRoaXMuX3RyaWdnZXIoImNoYW5nZSIsZSksdm9pZCAwKX0sbW91c2V3aGVlbDpmdW5jdGlvbihlLHQpe2lmKHQpe2lmKCF0aGlzLnNwaW5uaW5nJiYhdGhpcy5fc3RhcnQoZSkpcmV0dXJuITE7dGhpcy5fc3BpbigodD4wPzE6LTEpKnRoaXMub3B0aW9ucy5zdGVwLGUpLGNsZWFyVGltZW91dCh0aGlzLm1vdXNld2hlZWxUaW1lciksdGhpcy5tb3VzZXdoZWVsVGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLnNwaW5uaW5nJiZ0aGlzLl9zdG9wKGUpfSwxMDApLGUucHJldmVudERlZmF1bHQoKX19LCJtb3VzZWRvd24gLnVpLXNwaW5uZXItYnV0dG9uIjpmdW5jdGlvbih0KXtmdW5jdGlvbiBpKCl7dmFyIGU9dGhpcy5lbGVtZW50WzBdPT09dGhpcy5kb2N1bWVudFswXS5hY3RpdmVFbGVtZW50O2V8fCh0aGlzLmVsZW1lbnQuZm9jdXMoKSx0aGlzLnByZXZpb3VzPXMsdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLnByZXZpb3VzPXN9KSl9dmFyIHM7cz10aGlzLmVsZW1lbnRbMF09PT10aGlzLmRvY3VtZW50WzBdLmFjdGl2ZUVsZW1lbnQ/dGhpcy5wcmV2aW91czp0aGlzLmVsZW1lbnQudmFsKCksdC5wcmV2ZW50RGVmYXVsdCgpLGkuY2FsbCh0aGlzKSx0aGlzLmNhbmNlbEJsdXI9ITAsdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5jYW5jZWxCbHVyLGkuY2FsbCh0aGlzKX0pLHRoaXMuX3N0YXJ0KHQpIT09ITEmJnRoaXMuX3JlcGVhdChudWxsLGUodC5jdXJyZW50VGFyZ2V0KS5oYXNDbGFzcygidWktc3Bpbm5lci11cCIpPzE6LTEsdCl9LCJtb3VzZXVwIC51aS1zcGlubmVyLWJ1dHRvbiI6Il9zdG9wIiwibW91c2VlbnRlciAudWktc3Bpbm5lci1idXR0b24iOmZ1bmN0aW9uKHQpe3JldHVybiBlKHQuY3VycmVudFRhcmdldCkuaGFzQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpP3RoaXMuX3N0YXJ0KHQpPT09ITE/ITE6KHRoaXMuX3JlcGVhdChudWxsLGUodC5jdXJyZW50VGFyZ2V0KS5oYXNDbGFzcygidWktc3Bpbm5lci11cCIpPzE6LTEsdCksdm9pZCAwKTp2b2lkIDB9LCJtb3VzZWxlYXZlIC51aS1zcGlubmVyLWJ1dHRvbiI6Il9zdG9wIn0sX2RyYXc6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnVpU3Bpbm5lcj10aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNwaW5uZXItaW5wdXQiKS5hdHRyKCJhdXRvY29tcGxldGUiLCJvZmYiKS53cmFwKHRoaXMuX3VpU3Bpbm5lckh0bWwoKSkucGFyZW50KCkuYXBwZW5kKHRoaXMuX2J1dHRvbkh0bWwoKSk7dGhpcy5lbGVtZW50LmF0dHIoInJvbGUiLCJzcGluYnV0dG9uIiksdGhpcy5idXR0b25zPWUuZmluZCgiLnVpLXNwaW5uZXItYnV0dG9uIikuYXR0cigidGFiSW5kZXgiLC0xKS5idXR0b24oKS5yZW1vdmVDbGFzcygidWktY29ybmVyLWFsbCIpLHRoaXMuYnV0dG9ucy5oZWlnaHQoKT5NYXRoLmNlaWwoLjUqZS5oZWlnaHQoKSkmJmUuaGVpZ2h0KCk+MCYmZS5oZWlnaHQoZS5oZWlnaHQoKSksdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLmRpc2FibGUoKQp9LF9rZXlkb3duOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucyxzPWUudWkua2V5Q29kZTtzd2l0Y2godC5rZXlDb2RlKXtjYXNlIHMuVVA6cmV0dXJuIHRoaXMuX3JlcGVhdChudWxsLDEsdCksITA7Y2FzZSBzLkRPV046cmV0dXJuIHRoaXMuX3JlcGVhdChudWxsLC0xLHQpLCEwO2Nhc2Ugcy5QQUdFX1VQOnJldHVybiB0aGlzLl9yZXBlYXQobnVsbCxpLnBhZ2UsdCksITA7Y2FzZSBzLlBBR0VfRE9XTjpyZXR1cm4gdGhpcy5fcmVwZWF0KG51bGwsLWkucGFnZSx0KSwhMH1yZXR1cm4hMX0sX3VpU3Bpbm5lckh0bWw6ZnVuY3Rpb24oKXtyZXR1cm4iPHNwYW4gY2xhc3M9J3VpLXNwaW5uZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwnPjwvc3Bhbj4ifSxfYnV0dG9uSHRtbDpmdW5jdGlvbigpe3JldHVybiI8YSBjbGFzcz0ndWktc3Bpbm5lci1idXR0b24gdWktc3Bpbm5lci11cCB1aS1jb3JuZXItdHInPjxzcGFuIGNsYXNzPSd1aS1pY29uICIrdGhpcy5vcHRpb25zLmljb25zLnVwKyInPiYjOTY1MDs8L3NwYW4+IisiPC9hPiIrIjxhIGNsYXNzPSd1aS1zcGlubmVyLWJ1dHRvbiB1aS1zcGlubmVyLWRvd24gdWktY29ybmVyLWJyJz4iKyI8c3BhbiBjbGFzcz0ndWktaWNvbiAiK3RoaXMub3B0aW9ucy5pY29ucy5kb3duKyInPiYjOTY2MDs8L3NwYW4+IisiPC9hPiJ9LF9zdGFydDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5zcGlubmluZ3x8dGhpcy5fdHJpZ2dlcigic3RhcnQiLGUpIT09ITE/KHRoaXMuY291bnRlcnx8KHRoaXMuY291bnRlcj0xKSx0aGlzLnNwaW5uaW5nPSEwLCEwKTohMX0sX3JlcGVhdDpmdW5jdGlvbihlLHQsaSl7ZT1lfHw1MDAsY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLl9yZXBlYXQoNDAsdCxpKX0sZSksdGhpcy5fc3Bpbih0KnRoaXMub3B0aW9ucy5zdGVwLGkpfSxfc3BpbjpmdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMudmFsdWUoKXx8MDt0aGlzLmNvdW50ZXJ8fCh0aGlzLmNvdW50ZXI9MSksaT10aGlzLl9hZGp1c3RWYWx1ZShpK2UqdGhpcy5faW5jcmVtZW50KHRoaXMuY291bnRlcikpLHRoaXMuc3Bpbm5pbmcmJnRoaXMuX3RyaWdnZXIoInNwaW4iLHQse3ZhbHVlOml9KT09PSExfHwodGhpcy5fdmFsdWUoaSksdGhpcy5jb3VudGVyKyspfSxfaW5jcmVtZW50OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucy5pbmNyZW1lbnRhbDtyZXR1cm4gaT9lLmlzRnVuY3Rpb24oaSk/aSh0KTpNYXRoLmZsb29yKHQqdCp0LzVlNC10KnQvNTAwKzE3KnQvMjAwKzEpOjF9LF9wcmVjaXNpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9wcmVjaXNpb25PZih0aGlzLm9wdGlvbnMuc3RlcCk7cmV0dXJuIG51bGwhPT10aGlzLm9wdGlvbnMubWluJiYoZT1NYXRoLm1heChlLHRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5taW4pKSksZX0sX3ByZWNpc2lvbk9mOmZ1bmN0aW9uKGUpe3ZhciB0PSIiK2UsaT10LmluZGV4T2YoIi4iKTtyZXR1cm4tMT09PWk/MDp0Lmxlbmd0aC1pLTF9LF9hZGp1c3RWYWx1ZTpmdW5jdGlvbihlKXt2YXIgdCxpLHM9dGhpcy5vcHRpb25zO3JldHVybiB0PW51bGwhPT1zLm1pbj9zLm1pbjowLGk9ZS10LGk9TWF0aC5yb3VuZChpL3Muc3RlcCkqcy5zdGVwLGU9dCtpLGU9cGFyc2VGbG9hdChlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKCkpKSxudWxsIT09cy5tYXgmJmU+cy5tYXg/cy5tYXg6bnVsbCE9PXMubWluJiZzLm1pbj5lP3MubWluOmV9LF9zdG9wOmZ1bmN0aW9uKGUpe3RoaXMuc3Bpbm5pbmcmJihjbGVhclRpbWVvdXQodGhpcy50aW1lciksY2xlYXJUaW1lb3V0KHRoaXMubW91c2V3aGVlbFRpbWVyKSx0aGlzLmNvdW50ZXI9MCx0aGlzLnNwaW5uaW5nPSExLHRoaXMuX3RyaWdnZXIoInN0b3AiLGUpKX0sX3NldE9wdGlvbjpmdW5jdGlvbihlLHQpe2lmKCJjdWx0dXJlIj09PWV8fCJudW1iZXJGb3JtYXQiPT09ZSl7dmFyIGk9dGhpcy5fcGFyc2UodGhpcy5lbGVtZW50LnZhbCgpKTtyZXR1cm4gdGhpcy5vcHRpb25zW2VdPXQsdGhpcy5lbGVtZW50LnZhbCh0aGlzLl9mb3JtYXQoaSkpLHZvaWQgMH0oIm1heCI9PT1lfHwibWluIj09PWV8fCJzdGVwIj09PWUpJiYic3RyaW5nIj09dHlwZW9mIHQmJih0PXRoaXMuX3BhcnNlKHQpKSwiaWNvbnMiPT09ZSYmKHRoaXMuYnV0dG9ucy5maXJzdCgpLmZpbmQoIi51aS1pY29uIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmljb25zLnVwKS5hZGRDbGFzcyh0LnVwKSx0aGlzLmJ1dHRvbnMubGFzdCgpLmZpbmQoIi51aS1pY29uIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmljb25zLmRvd24pLmFkZENsYXNzKHQuZG93bikpLHRoaXMuX3N1cGVyKGUsdCksImRpc2FibGVkIj09PWUmJih0aGlzLndpZGdldCgpLnRvZ2dsZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIsISF0KSx0aGlzLmVsZW1lbnQucHJvcCgiZGlzYWJsZWQiLCEhdCksdGhpcy5idXR0b25zLmJ1dHRvbih0PyJkaXNhYmxlIjoiZW5hYmxlIikpfSxfc2V0T3B0aW9uczpoKGZ1bmN0aW9uKGUpe3RoaXMuX3N1cGVyKGUpfSksX3BhcnNlOmZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmIiIhPT1lJiYoZT13aW5kb3cuR2xvYmFsaXplJiZ0aGlzLm9wdGlvbnMubnVtYmVyRm9ybWF0P0dsb2JhbGl6ZS5wYXJzZUZsb2F0KGUsMTAsdGhpcy5vcHRpb25zLmN1bHR1cmUpOitlKSwiIj09PWV8fGlzTmFOKGUpP251bGw6ZX0sX2Zvcm1hdDpmdW5jdGlvbihlKXtyZXR1cm4iIj09PWU/IiI6d2luZG93Lkdsb2JhbGl6ZSYmdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdD9HbG9iYWxpemUuZm9ybWF0KGUsdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdCx0aGlzLm9wdGlvbnMuY3VsdHVyZSk6ZX0sX3JlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuYXR0cih7ImFyaWEtdmFsdWVtaW4iOnRoaXMub3B0aW9ucy5taW4sImFyaWEtdmFsdWVtYXgiOnRoaXMub3B0aW9ucy5tYXgsImFyaWEtdmFsdWVub3ciOnRoaXMuX3BhcnNlKHRoaXMuZWxlbWVudC52YWwoKSl9KX0saXNWYWxpZDpmdW5jdGlvbigpe3ZhciBlPXRoaXMudmFsdWUoKTtyZXR1cm4gbnVsbD09PWU/ITE6ZT09PXRoaXMuX2FkanVzdFZhbHVlKGUpfSxfdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgaTsiIiE9PWUmJihpPXRoaXMuX3BhcnNlKGUpLG51bGwhPT1pJiYodHx8KGk9dGhpcy5fYWRqdXN0VmFsdWUoaSkpLGU9dGhpcy5fZm9ybWF0KGkpKSksdGhpcy5lbGVtZW50LnZhbChlKSx0aGlzLl9yZWZyZXNoKCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zcGlubmVyLWlucHV0IikucHJvcCgiZGlzYWJsZWQiLCExKS5yZW1vdmVBdHRyKCJhdXRvY29tcGxldGUiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW1pbiIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbm93IiksdGhpcy51aVNwaW5uZXIucmVwbGFjZVdpdGgodGhpcy5lbGVtZW50KX0sc3RlcFVwOmgoZnVuY3Rpb24oZSl7dGhpcy5fc3RlcFVwKGUpfSksX3N0ZXBVcDpmdW5jdGlvbihlKXt0aGlzLl9zdGFydCgpJiYodGhpcy5fc3BpbigoZXx8MSkqdGhpcy5vcHRpb25zLnN0ZXApLHRoaXMuX3N0b3AoKSl9LHN0ZXBEb3duOmgoZnVuY3Rpb24oZSl7dGhpcy5fc3RlcERvd24oZSl9KSxfc3RlcERvd246ZnVuY3Rpb24oZSl7dGhpcy5fc3RhcnQoKSYmKHRoaXMuX3NwaW4oKGV8fDEpKi10aGlzLm9wdGlvbnMuc3RlcCksdGhpcy5fc3RvcCgpKX0scGFnZVVwOmgoZnVuY3Rpb24oZSl7dGhpcy5fc3RlcFVwKChlfHwxKSp0aGlzLm9wdGlvbnMucGFnZSl9KSxwYWdlRG93bjpoKGZ1bmN0aW9uKGUpe3RoaXMuX3N0ZXBEb3duKChlfHwxKSp0aGlzLm9wdGlvbnMucGFnZSl9KSx2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaCh0aGlzLl92YWx1ZSkuY2FsbCh0aGlzLGUpLHZvaWQgMCk6dGhpcy5fcGFyc2UodGhpcy5lbGVtZW50LnZhbCgpKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudWlTcGlubmVyfX0pLGUud2lkZ2V0KCJ1aS50YWJzIix7dmVyc2lvbjoiMS4xMS40IixkZWxheTozMDAsb3B0aW9uczp7YWN0aXZlOm51bGwsY29sbGFwc2libGU6ITEsZXZlbnQ6ImNsaWNrIixoZWlnaHRTdHlsZToiY29udGVudCIsaGlkZTpudWxsLHNob3c6bnVsbCxhY3RpdmF0ZTpudWxsLGJlZm9yZUFjdGl2YXRlOm51bGwsYmVmb3JlTG9hZDpudWxsLGxvYWQ6bnVsbH0sX2lzTG9jYWw6ZnVuY3Rpb24oKXt2YXIgZT0vIy4qJC87cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBpLHM7dD10LmNsb25lTm9kZSghMSksaT10LmhyZWYucmVwbGFjZShlLCIiKSxzPWxvY2F0aW9uLmhyZWYucmVwbGFjZShlLCIiKTt0cnl7aT1kZWNvZGVVUklDb21wb25lbnQoaSl9Y2F0Y2gobil7fXRyeXtzPWRlY29kZVVSSUNvbXBvbmVudChzKX1jYXRjaChuKXt9cmV0dXJuIHQuaGFzaC5sZW5ndGg+MSYmaT09PXN9fSgpLF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGk9dGhpcy5vcHRpb25zO3RoaXMucnVubmluZz0hMSx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS50b2dnbGVDbGFzcygidWktdGFicy1jb2xsYXBzaWJsZSIsaS5jb2xsYXBzaWJsZSksdGhpcy5fcHJvY2Vzc1RhYnMoKSxpLmFjdGl2ZT10aGlzLl9pbml0aWFsQWN0aXZlKCksZS5pc0FycmF5KGkuZGlzYWJsZWQpJiYoaS5kaXNhYmxlZD1lLnVuaXF1ZShpLmRpc2FibGVkLmNvbmNhdChlLm1hcCh0aGlzLnRhYnMuZmlsdGVyKCIudWktc3RhdGUtZGlzYWJsZWQiKSxmdW5jdGlvbihlKXtyZXR1cm4gdC50YWJzLmluZGV4KGUpfSkpKS5zb3J0KCkpLHRoaXMuYWN0aXZlPXRoaXMub3B0aW9ucy5hY3RpdmUhPT0hMSYmdGhpcy5hbmNob3JzLmxlbmd0aD90aGlzLl9maW5kQWN0aXZlKGkuYWN0aXZlKTplKCksdGhpcy5fcmVmcmVzaCgpLHRoaXMuYWN0aXZlLmxlbmd0aCYmdGhpcy5sb2FkKGkuYWN0aXZlKX0sX2luaXRpYWxBY3RpdmU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuYWN0aXZlLGk9dGhpcy5vcHRpb25zLmNvbGxhcHNpYmxlLHM9bG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSk7cmV0dXJuIG51bGw9PT10JiYocyYmdGhpcy50YWJzLmVhY2goZnVuY3Rpb24oaSxuKXtyZXR1cm4gZShuKS5hdHRyKCJhcmlhLWNvbnRyb2xzIik9PT1zPyh0PWksITEpOnZvaWQgMH0pLG51bGw9PT10JiYodD10aGlzLnRhYnMuaW5kZXgodGhpcy50YWJzLmZpbHRlcigiLnVpLXRhYnMtYWN0aXZlIikpKSwobnVsbD09PXR8fC0xPT09dCkmJih0PXRoaXMudGFicy5sZW5ndGg/MDohMSkpLHQhPT0hMSYmKHQ9dGhpcy50YWJzLmluZGV4KHRoaXMudGFicy5lcSh0KSksLTE9PT10JiYodD1pPyExOjApKSwhaSYmdD09PSExJiZ0aGlzLmFuY2hvcnMubGVuZ3RoJiYodD0wKSx0fSxfZ2V0Q3JlYXRlRXZlbnREYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3RhYjp0aGlzLmFjdGl2ZSxwYW5lbDp0aGlzLmFjdGl2ZS5sZW5ndGg/dGhpcy5fZ2V0UGFuZWxGb3JUYWIodGhpcy5hY3RpdmUpOmUoKX19LF90YWJLZXlkb3duOmZ1bmN0aW9uKHQpe3ZhciBpPWUodGhpcy5kb2N1bWVudFswXS5hY3RpdmVFbGVtZW50KS5jbG9zZXN0KCJsaSIpLHM9dGhpcy50YWJzLmluZGV4KGkpLG49ITA7aWYoIXRoaXMuX2hhbmRsZVBhZ2VOYXYodCkpe3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgZS51aS5rZXlDb2RlLlJJR0hUOmNhc2UgZS51aS5rZXlDb2RlLkRPV046cysrO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLlVQOmNhc2UgZS51aS5rZXlDb2RlLkxFRlQ6bj0hMSxzLS07YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRU5EOnM9dGhpcy5hbmNob3JzLmxlbmd0aC0xO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkhPTUU6cz0wO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLlNQQUNFOnJldHVybiB0LnByZXZlbnREZWZhdWx0KCksY2xlYXJUaW1lb3V0KHRoaXMuYWN0aXZhdGluZyksdGhpcy5fYWN0aXZhdGUocyksdm9pZCAwO2Nhc2UgZS51aS5rZXlDb2RlLkVOVEVSOnJldHVybiB0LnByZXZlbnREZWZhdWx0KCksY2xlYXJUaW1lb3V0KHRoaXMuYWN0aXZhdGluZyksdGhpcy5fYWN0aXZhdGUocz09PXRoaXMub3B0aW9ucy5hY3RpdmU/ITE6cyksdm9pZCAwO2RlZmF1bHQ6cmV0dXJufXQucHJldmVudERlZmF1bHQoKSxjbGVhclRpbWVvdXQodGhpcy5hY3RpdmF0aW5nKSxzPXRoaXMuX2ZvY3VzTmV4dFRhYihzLG4pLHQuY3RybEtleXx8dC5tZXRhS2V5fHwoaS5hdHRyKCJhcmlhLXNlbGVjdGVkIiwiZmFsc2UiKSx0aGlzLnRhYnMuZXEocykuYXR0cigiYXJpYS1zZWxlY3RlZCIsInRydWUiKSx0aGlzLmFjdGl2YXRpbmc9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLm9wdGlvbigiYWN0aXZlIixzKX0sdGhpcy5kZWxheSkpfX0sX3BhbmVsS2V5ZG93bjpmdW5jdGlvbih0KXt0aGlzLl9oYW5kbGVQYWdlTmF2KHQpfHx0LmN0cmxLZXkmJnQua2V5Q29kZT09PWUudWkua2V5Q29kZS5VUCYmKHQucHJldmVudERlZmF1bHQoKSx0aGlzLmFjdGl2ZS5mb2N1cygpKX0sX2hhbmRsZVBhZ2VOYXY6ZnVuY3Rpb24odCl7cmV0dXJuIHQuYWx0S2V5JiZ0LmtleUNvZGU9PT1lLnVpLmtleUNvZGUuUEFHRV9VUD8odGhpcy5fYWN0aXZhdGUodGhpcy5fZm9jdXNOZXh0VGFiKHRoaXMub3B0aW9ucy5hY3RpdmUtMSwhMSkpLCEwKTp0LmFsdEtleSYmdC5rZXlDb2RlPT09ZS51aS5rZXlDb2RlLlBBR0VfRE9XTj8odGhpcy5fYWN0aXZhdGUodGhpcy5fZm9jdXNOZXh0VGFiKHRoaXMub3B0aW9ucy5hY3RpdmUrMSwhMCkpLCEwKTp2b2lkIDB9LF9maW5kTmV4dFRhYjpmdW5jdGlvbih0LGkpe2Z1bmN0aW9uIHMoKXtyZXR1cm4gdD5uJiYodD0wKSwwPnQmJih0PW4pLHR9Zm9yKHZhciBuPXRoaXMudGFicy5sZW5ndGgtMTstMSE9PWUuaW5BcnJheShzKCksdGhpcy5vcHRpb25zLmRpc2FibGVkKTspdD1pP3QrMTp0LTE7cmV0dXJuIHR9LF9mb2N1c05leHRUYWI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT10aGlzLl9maW5kTmV4dFRhYihlLHQpLHRoaXMudGFicy5lcShlKS5mb2N1cygpLGV9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXtyZXR1cm4iYWN0aXZlIj09PWU/KHRoaXMuX2FjdGl2YXRlKHQpLHZvaWQgMCk6ImRpc2FibGVkIj09PWU/KHRoaXMuX3NldHVwRGlzYWJsZWQodCksdm9pZCAwKToodGhpcy5fc3VwZXIoZSx0KSwiY29sbGFwc2libGUiPT09ZSYmKHRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktdGFicy1jb2xsYXBzaWJsZSIsdCksdHx8dGhpcy5vcHRpb25zLmFjdGl2ZSE9PSExfHx0aGlzLl9hY3RpdmF0ZSgwKSksImV2ZW50Ij09PWUmJnRoaXMuX3NldHVwRXZlbnRzKHQpLCJoZWlnaHRTdHlsZSI9PT1lJiZ0aGlzLl9zZXR1cEhlaWdodFN0eWxlKHQpLHZvaWQgMCl9LF9zYW5pdGl6ZVNlbGVjdG9yOmZ1bmN0aW9uKGUpe3JldHVybiBlP2UucmVwbGFjZSgvWyEiJCUmJygpKissLlwvOjs8PT4/QFxbXF1cXmB7fH1+XS9nLCJcXCQmIik6IiJ9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMsaT10aGlzLnRhYmxpc3QuY2hpbGRyZW4oIjpoYXMoYVtocmVmXSkiKTt0LmRpc2FibGVkPWUubWFwKGkuZmlsdGVyKCIudWktc3RhdGUtZGlzYWJsZWQiKSxmdW5jdGlvbihlKXtyZXR1cm4gaS5pbmRleChlKX0pLHRoaXMuX3Byb2Nlc3NUYWJzKCksdC5hY3RpdmUhPT0hMSYmdGhpcy5hbmNob3JzLmxlbmd0aD90aGlzLmFjdGl2ZS5sZW5ndGgmJiFlLmNvbnRhaW5zKHRoaXMudGFibGlzdFswXSx0aGlzLmFjdGl2ZVswXSk/dGhpcy50YWJzLmxlbmd0aD09PXQuZGlzYWJsZWQubGVuZ3RoPyh0LmFjdGl2ZT0hMSx0aGlzLmFjdGl2ZT1lKCkpOnRoaXMuX2FjdGl2YXRlKHRoaXMuX2ZpbmROZXh0VGFiKE1hdGgubWF4KDAsdC5hY3RpdmUtMSksITEpKTp0LmFjdGl2ZT10aGlzLnRhYnMuaW5kZXgodGhpcy5hY3RpdmUpOih0LmFjdGl2ZT0hMSx0aGlzLmFjdGl2ZT1lKCkpLHRoaXMuX3JlZnJlc2goKX0sX3JlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLl9zZXR1cERpc2FibGVkKHRoaXMub3B0aW9ucy5kaXNhYmxlZCksdGhpcy5fc2V0dXBFdmVudHModGhpcy5vcHRpb25zLmV2ZW50KSx0aGlzLl9zZXR1cEhlaWdodFN0eWxlKHRoaXMub3B0aW9ucy5oZWlnaHRTdHlsZSksdGhpcy50YWJzLm5vdCh0aGlzLmFjdGl2ZSkuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJmYWxzZSIsImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsdGFiSW5kZXg6LTF9KSx0aGlzLnBhbmVscy5ub3QodGhpcy5fZ2V0UGFuZWxGb3JUYWIodGhpcy5hY3RpdmUpKS5oaWRlKCkuYXR0cih7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSx0aGlzLmFjdGl2ZS5sZW5ndGg/KHRoaXMuYWN0aXZlLmFkZENsYXNzKCJ1aS10YWJzLWFjdGl2ZSB1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6InRydWUiLCJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pLHRoaXMuX2dldFBhbmVsRm9yVGFiKHRoaXMuYWN0aXZlKS5zaG93KCkuYXR0cih7ImFyaWEtaGlkZGVuIjoiZmFsc2UifSkpOnRoaXMudGFicy5lcSgwKS5hdHRyKCJ0YWJJbmRleCIsMCl9LF9wcm9jZXNzVGFiczpmdW5jdGlvbigpe3ZhciB0PXRoaXMsaT10aGlzLnRhYnMscz10aGlzLmFuY2hvcnMsbj10aGlzLnBhbmVsczt0aGlzLnRhYmxpc3Q9dGhpcy5fZ2V0TGlzdCgpLmFkZENsYXNzKCJ1aS10YWJzLW5hdiB1aS1oZWxwZXItcmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCIpLmF0dHIoInJvbGUiLCJ0YWJsaXN0IikuZGVsZWdhdGUoIj4gbGkiLCJtb3VzZWRvd24iK3RoaXMuZXZlbnROYW1lc3BhY2UsZnVuY3Rpb24odCl7ZSh0aGlzKS5pcygiLnVpLXN0YXRlLWRpc2FibGVkIikmJnQucHJldmVudERlZmF1bHQoKX0pLmRlbGVnYXRlKCIudWktdGFicy1hbmNob3IiLCJmb2N1cyIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbigpe2UodGhpcykuY2xvc2VzdCgibGkiKS5pcygiLnVpLXN0YXRlLWRpc2FibGVkIikmJnRoaXMuYmx1cigpfSksdGhpcy50YWJzPXRoaXMudGFibGlzdC5maW5kKCI+IGxpOmhhcyhhW2hyZWZdKSIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiKS5hdHRyKHtyb2xlOiJ0YWIiLHRhYkluZGV4Oi0xfSksdGhpcy5hbmNob3JzPXRoaXMudGFicy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gZSgiYSIsdGhpcylbMF19KS5hZGRDbGFzcygidWktdGFicy1hbmNob3IiKS5hdHRyKHtyb2xlOiJwcmVzZW50YXRpb24iLHRhYkluZGV4Oi0xfSksdGhpcy5wYW5lbHM9ZSgpLHRoaXMuYW5jaG9ycy5lYWNoKGZ1bmN0aW9uKGkscyl7dmFyIG4sYSxvLHI9ZShzKS51bmlxdWVJZCgpLmF0dHIoImlkIiksaD1lKHMpLmNsb3Nlc3QoImxpIiksbD1oLmF0dHIoImFyaWEtY29udHJvbHMiKTt0Ll9pc0xvY2FsKHMpPyhuPXMuaGFzaCxvPW4uc3Vic3RyaW5nKDEpLGE9dC5lbGVtZW50LmZpbmQodC5fc2FuaXRpemVTZWxlY3RvcihuKSkpOihvPWguYXR0cigiYXJpYS1jb250cm9scyIpfHxlKHt9KS51bmlxdWVJZCgpWzBdLmlkLG49IiMiK28sYT10LmVsZW1lbnQuZmluZChuKSxhLmxlbmd0aHx8KGE9dC5fY3JlYXRlUGFuZWwobyksYS5pbnNlcnRBZnRlcih0LnBhbmVsc1tpLTFdfHx0LnRhYmxpc3QpKSxhLmF0dHIoImFyaWEtbGl2ZSIsInBvbGl0ZSIpKSxhLmxlbmd0aCYmKHQucGFuZWxzPXQucGFuZWxzLmFkZChhKSksbCYmaC5kYXRhKCJ1aS10YWJzLWFyaWEtY29udHJvbHMiLGwpLGguYXR0cih7ImFyaWEtY29udHJvbHMiOm8sImFyaWEtbGFiZWxsZWRieSI6cn0pLGEuYXR0cigiYXJpYS1sYWJlbGxlZGJ5IixyKX0pLHRoaXMucGFuZWxzLmFkZENsYXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iKS5hdHRyKCJyb2xlIiwidGFicGFuZWwiKSxpJiYodGhpcy5fb2ZmKGkubm90KHRoaXMudGFicykpLHRoaXMuX29mZihzLm5vdCh0aGlzLmFuY2hvcnMpKSx0aGlzLl9vZmYobi5ub3QodGhpcy5wYW5lbHMpKSl9LF9nZXRMaXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFibGlzdHx8dGhpcy5lbGVtZW50LmZpbmQoIm9sLHVsIikuZXEoMCl9LF9jcmVhdGVQYW5lbDpmdW5jdGlvbih0KXtyZXR1cm4gZSgiPGRpdj4iKS5hdHRyKCJpZCIsdCkuYWRkQ2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSIpLmRhdGEoInVpLXRhYnMtZGVzdHJveSIsITApfSxfc2V0dXBEaXNhYmxlZDpmdW5jdGlvbih0KXtlLmlzQXJyYXkodCkmJih0Lmxlbmd0aD90Lmxlbmd0aD09PXRoaXMuYW5jaG9ycy5sZW5ndGgmJih0PSEwKTp0PSExKTtmb3IodmFyIGkscz0wO2k9dGhpcy50YWJzW3NdO3MrKyl0PT09ITB8fC0xIT09ZS5pbkFycmF5KHMsdCk/ZShpKS5hZGRDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpOmUoaSkucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIikucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpO3RoaXMub3B0aW9ucy5kaXNhYmxlZD10fSxfc2V0dXBFdmVudHM6ZnVuY3Rpb24odCl7dmFyIGk9e307dCYmZS5lYWNoKHQuc3BsaXQoIiAiKSxmdW5jdGlvbihlLHQpe2lbdF09Il9ldmVudEhhbmRsZXIifSksdGhpcy5fb2ZmKHRoaXMuYW5jaG9ycy5hZGQodGhpcy50YWJzKS5hZGQodGhpcy5wYW5lbHMpKSx0aGlzLl9vbighMCx0aGlzLmFuY2hvcnMse2NsaWNrOmZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX19KSx0aGlzLl9vbih0aGlzLmFuY2hvcnMsaSksdGhpcy5fb24odGhpcy50YWJzLHtrZXlkb3duOiJfdGFiS2V5ZG93biJ9KSx0aGlzLl9vbih0aGlzLnBhbmVscyx7a2V5ZG93bjoiX3BhbmVsS2V5ZG93biJ9KSx0aGlzLl9mb2N1c2FibGUodGhpcy50YWJzKSx0aGlzLl9ob3ZlcmFibGUodGhpcy50YWJzKX0sX3NldHVwSGVpZ2h0U3R5bGU6ZnVuY3Rpb24odCl7dmFyIGkscz10aGlzLmVsZW1lbnQucGFyZW50KCk7ImZpbGwiPT09dD8oaT1zLmhlaWdodCgpLGktPXRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLXRoaXMuZWxlbWVudC5oZWlnaHQoKSx0aGlzLmVsZW1lbnQuc2libGluZ3MoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcykscz10LmNzcygicG9zaXRpb24iKTsiYWJzb2x1dGUiIT09cyYmImZpeGVkIiE9PXMmJihpLT10Lm91dGVySGVpZ2h0KCEwKSl9KSx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oKS5ub3QodGhpcy5wYW5lbHMpLmVhY2goZnVuY3Rpb24oKXtpLT1lKHRoaXMpLm91dGVySGVpZ2h0KCEwKX0pLHRoaXMucGFuZWxzLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLmhlaWdodChNYXRoLm1heCgwLGktZSh0aGlzKS5pbm5lckhlaWdodCgpK2UodGhpcykuaGVpZ2h0KCkpKX0pLmNzcygib3ZlcmZsb3ciLCJhdXRvIikpOiJhdXRvIj09PXQmJihpPTAsdGhpcy5wYW5lbHMuZWFjaChmdW5jdGlvbigpe2k9TWF0aC5tYXgoaSxlKHRoaXMpLmhlaWdodCgiIikuaGVpZ2h0KCkpfSkuaGVpZ2h0KGkpKX0sX2V2ZW50SGFuZGxlcjpmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnMscz10aGlzLmFjdGl2ZSxuPWUodC5jdXJyZW50VGFyZ2V0KSxhPW4uY2xvc2VzdCgibGkiKSxvPWFbMF09PT1zWzBdLHI9byYmaS5jb2xsYXBzaWJsZSxoPXI/ZSgpOnRoaXMuX2dldFBhbmVsRm9yVGFiKGEpLGw9cy5sZW5ndGg/dGhpcy5fZ2V0UGFuZWxGb3JUYWIocyk6ZSgpLHU9e29sZFRhYjpzLG9sZFBhbmVsOmwsbmV3VGFiOnI/ZSgpOmEsbmV3UGFuZWw6aH07dC5wcmV2ZW50RGVmYXVsdCgpLGEuaGFzQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIil8fGEuaGFzQ2xhc3MoInVpLXRhYnMtbG9hZGluZyIpfHx0aGlzLnJ1bm5pbmd8fG8mJiFpLmNvbGxhcHNpYmxlfHx0aGlzLl90cmlnZ2VyKCJiZWZvcmVBY3RpdmF0ZSIsdCx1KT09PSExfHwoaS5hY3RpdmU9cj8hMTp0aGlzLnRhYnMuaW5kZXgoYSksdGhpcy5hY3RpdmU9bz9lKCk6YSx0aGlzLnhociYmdGhpcy54aHIuYWJvcnQoKSxsLmxlbmd0aHx8aC5sZW5ndGh8fGUuZXJyb3IoImpRdWVyeSBVSSBUYWJzOiBNaXNtYXRjaGluZyBmcmFnbWVudCBpZGVudGlmaWVyLiIpLGgubGVuZ3RoJiZ0aGlzLmxvYWQodGhpcy50YWJzLmluZGV4KGEpLHQpLHRoaXMuX3RvZ2dsZSh0LHUpKX0sX3RvZ2dsZTpmdW5jdGlvbih0LGkpe2Z1bmN0aW9uIHMoKXthLnJ1bm5pbmc9ITEsYS5fdHJpZ2dlcigiYWN0aXZhdGUiLHQsaSl9ZnVuY3Rpb24gbigpe2kubmV3VGFiLmNsb3Nlc3QoImxpIikuYWRkQ2xhc3MoInVpLXRhYnMtYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSIpLG8ubGVuZ3RoJiZhLm9wdGlvbnMuc2hvdz9hLl9zaG93KG8sYS5vcHRpb25zLnNob3cscyk6KG8uc2hvdygpLHMoKSl9dmFyIGE9dGhpcyxvPWkubmV3UGFuZWwscj1pLm9sZFBhbmVsO3RoaXMucnVubmluZz0hMCxyLmxlbmd0aCYmdGhpcy5vcHRpb25zLmhpZGU/dGhpcy5faGlkZShyLHRoaXMub3B0aW9ucy5oaWRlLGZ1bmN0aW9uKCl7aS5vbGRUYWIuY2xvc2VzdCgibGkiKS5yZW1vdmVDbGFzcygidWktdGFicy1hY3RpdmUgdWktc3RhdGUtYWN0aXZlIiksbigpfSk6KGkub2xkVGFiLmNsb3Nlc3QoImxpIikucmVtb3ZlQ2xhc3MoInVpLXRhYnMtYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSIpLHIuaGlkZSgpLG4oKSksci5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSxpLm9sZFRhYi5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6ImZhbHNlIiwiYXJpYS1leHBhbmRlZCI6ImZhbHNlIn0pLG8ubGVuZ3RoJiZyLmxlbmd0aD9pLm9sZFRhYi5hdHRyKCJ0YWJJbmRleCIsLTEpOm8ubGVuZ3RoJiZ0aGlzLnRhYnMuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIDA9PT1lKHRoaXMpLmF0dHIoInRhYkluZGV4Iil9KS5hdHRyKCJ0YWJJbmRleCIsLTEpLG8uYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpLGkubmV3VGFiLmF0dHIoeyJhcmlhLXNlbGVjdGVkIjoidHJ1ZSIsImFyaWEtZXhwYW5kZWQiOiJ0cnVlIix0YWJJbmRleDowfSl9LF9hY3RpdmF0ZTpmdW5jdGlvbih0KXt2YXIgaSxzPXRoaXMuX2ZpbmRBY3RpdmUodCk7c1swXSE9PXRoaXMuYWN0aXZlWzBdJiYocy5sZW5ndGh8fChzPXRoaXMuYWN0aXZlKSxpPXMuZmluZCgiLnVpLXRhYnMtYW5jaG9yIilbMF0sdGhpcy5fZXZlbnRIYW5kbGVyKHt0YXJnZXQ6aSxjdXJyZW50VGFyZ2V0OmkscHJldmVudERlZmF1bHQ6ZS5ub29wfSkpfSxfZmluZEFjdGl2ZTpmdW5jdGlvbih0KXtyZXR1cm4gdD09PSExP2UoKTp0aGlzLnRhYnMuZXEodCl9LF9nZXRJbmRleDpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuYW5jaG9ycy5pbmRleCh0aGlzLmFuY2hvcnMuZmlsdGVyKCJbaHJlZiQ9JyIrZSsiJ10iKSkpLGV9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy54aHImJnRoaXMueGhyLmFib3J0KCksdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXRhYnMtY29sbGFwc2libGUiKSx0aGlzLnRhYmxpc3QucmVtb3ZlQ2xhc3MoInVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS1oZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIikucmVtb3ZlQXR0cigicm9sZSIpLHRoaXMuYW5jaG9ycy5yZW1vdmVDbGFzcygidWktdGFicy1hbmNob3IiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKS5yZW1vdmVVbmlxdWVJZCgpLHRoaXMudGFibGlzdC51bmJpbmQodGhpcy5ldmVudE5hbWVzcGFjZSksdGhpcy50YWJzLmFkZCh0aGlzLnBhbmVscykuZWFjaChmdW5jdGlvbigpe2UuZGF0YSh0aGlzLCJ1aS10YWJzLWRlc3Ryb3kiKT9lKHRoaXMpLnJlbW92ZSgpOmUodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWRpc2FibGVkIHVpLWNvcm5lci10b3AgdWktY29ybmVyLWJvdHRvbSB1aS13aWRnZXQtY29udGVudCB1aS10YWJzLWFjdGl2ZSB1aS10YWJzLXBhbmVsIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKS5yZW1vdmVBdHRyKCJhcmlhLWxpdmUiKS5yZW1vdmVBdHRyKCJhcmlhLWJ1c3kiKS5yZW1vdmVBdHRyKCJhcmlhLXNlbGVjdGVkIikucmVtb3ZlQXR0cigiYXJpYS1sYWJlbGxlZGJ5IikucmVtb3ZlQXR0cigiYXJpYS1oaWRkZW4iKS5yZW1vdmVBdHRyKCJhcmlhLWV4cGFuZGVkIikucmVtb3ZlQXR0cigicm9sZSIpfSksdGhpcy50YWJzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLGk9dC5kYXRhKCJ1aS10YWJzLWFyaWEtY29udHJvbHMiKTtpP3QuYXR0cigiYXJpYS1jb250cm9scyIsaSkucmVtb3ZlRGF0YSgidWktdGFicy1hcmlhLWNvbnRyb2xzIik6dC5yZW1vdmVBdHRyKCJhcmlhLWNvbnRyb2xzIil9KSx0aGlzLnBhbmVscy5zaG93KCksImNvbnRlbnQiIT09dGhpcy5vcHRpb25zLmhlaWdodFN0eWxlJiZ0aGlzLnBhbmVscy5jc3MoImhlaWdodCIsIiIpfSxlbmFibGU6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5vcHRpb25zLmRpc2FibGVkO2khPT0hMSYmKHZvaWQgMD09PXQ/aT0hMToodD10aGlzLl9nZXRJbmRleCh0KSxpPWUuaXNBcnJheShpKT9lLm1hcChpLGZ1bmN0aW9uKGUpe3JldHVybiBlIT09dD9lOm51bGx9KTplLm1hcCh0aGlzLnRhYnMsZnVuY3Rpb24oZSxpKXtyZXR1cm4gaSE9PXQ/aTpudWxsfSkpLHRoaXMuX3NldHVwRGlzYWJsZWQoaSkpfSxkaXNhYmxlOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucy5kaXNhYmxlZDtpZihpIT09ITApe2lmKHZvaWQgMD09PXQpaT0hMDtlbHNle2lmKHQ9dGhpcy5fZ2V0SW5kZXgodCksLTEhPT1lLmluQXJyYXkodCxpKSlyZXR1cm47aT1lLmlzQXJyYXkoaSk/ZS5tZXJnZShbdF0saSkuc29ydCgpOlt0XX10aGlzLl9zZXR1cERpc2FibGVkKGkpfX0sbG9hZDpmdW5jdGlvbih0LGkpe3Q9dGhpcy5fZ2V0SW5kZXgodCk7dmFyIHM9dGhpcyxuPXRoaXMudGFicy5lcSh0KSxhPW4uZmluZCgiLnVpLXRhYnMtYW5jaG9yIiksbz10aGlzLl9nZXRQYW5lbEZvclRhYihuKSxyPXt0YWI6bixwYW5lbDpvfSxoPWZ1bmN0aW9uKGUsdCl7ImFib3J0Ij09PXQmJnMucGFuZWxzLnN0b3AoITEsITApLG4ucmVtb3ZlQ2xhc3MoInVpLXRhYnMtbG9hZGluZyIpLG8ucmVtb3ZlQXR0cigiYXJpYS1idXN5IiksZT09PXMueGhyJiZkZWxldGUgcy54aHJ9O3RoaXMuX2lzTG9jYWwoYVswXSl8fCh0aGlzLnhocj1lLmFqYXgodGhpcy5fYWpheFNldHRpbmdzKGEsaSxyKSksdGhpcy54aHImJiJjYW5jZWxlZCIhPT10aGlzLnhoci5zdGF0dXNUZXh0JiYobi5hZGRDbGFzcygidWktdGFicy1sb2FkaW5nIiksby5hdHRyKCJhcmlhLWJ1c3kiLCJ0cnVlIiksdGhpcy54aHIuZG9uZShmdW5jdGlvbihlLHQsbil7c2V0VGltZW91dChmdW5jdGlvbigpe28uaHRtbChlKSxzLl90cmlnZ2VyKCJsb2FkIixpLHIpLGgobix0KX0sMSl9KS5mYWlsKGZ1bmN0aW9uKGUsdCl7c2V0VGltZW91dChmdW5jdGlvbigpe2goZSx0KX0sMSl9KSkpfSxfYWpheFNldHRpbmdzOmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj10aGlzO3JldHVybnt1cmw6dC5hdHRyKCJocmVmIiksYmVmb3JlU2VuZDpmdW5jdGlvbih0LGEpe3JldHVybiBuLl90cmlnZ2VyKCJiZWZvcmVMb2FkIixpLGUuZXh0ZW5kKHtqcVhIUjp0LGFqYXhTZXR0aW5nczphfSxzKSl9fX0sX2dldFBhbmVsRm9yVGFiOmZ1bmN0aW9uKHQpe3ZhciBpPWUodCkuYXR0cigiYXJpYS1jb250cm9scyIpO3JldHVybiB0aGlzLmVsZW1lbnQuZmluZCh0aGlzLl9zYW5pdGl6ZVNlbGVjdG9yKCIjIitpKSl9fSksZS53aWRnZXQoInVpLnRvb2x0aXAiLHt2ZXJzaW9uOiIxLjExLjQiLG9wdGlvbnM6e2NvbnRlbnQ6ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLmF0dHIoInRpdGxlIil8fCIiO3JldHVybiBlKCI8YT4iKS50ZXh0KHQpLmh0bWwoKX0saGlkZTohMCxpdGVtczoiW3RpdGxlXTpub3QoW2Rpc2FibGVkXSkiLHBvc2l0aW9uOntteToibGVmdCB0b3ArMTUiLGF0OiJsZWZ0IGJvdHRvbSIsY29sbGlzaW9uOiJmbGlwZml0IGZsaXAifSxzaG93OiEwLHRvb2x0aXBDbGFzczpudWxsLHRyYWNrOiExLGNsb3NlOm51bGwsb3BlbjpudWxsfSxfYWRkRGVzY3JpYmVkQnk6ZnVuY3Rpb24odCxpKXt2YXIgcz0odC5hdHRyKCJhcmlhLWRlc2NyaWJlZGJ5Iil8fCIiKS5zcGxpdCgvXHMrLyk7cy5wdXNoKGkpLHQuZGF0YSgidWktdG9vbHRpcC1pZCIsaSkuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsZS50cmltKHMuam9pbigiICIpKSl9LF9yZW1vdmVEZXNjcmliZWRCeTpmdW5jdGlvbih0KXt2YXIgaT10LmRhdGEoInVpLXRvb2x0aXAtaWQiKSxzPSh0LmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKXx8IiIpLnNwbGl0KC9ccysvKSxuPWUuaW5BcnJheShpLHMpOy0xIT09biYmcy5zcGxpY2UobiwxKSx0LnJlbW92ZURhdGEoInVpLXRvb2x0aXAtaWQiKSxzPWUudHJpbShzLmpvaW4oIiAiKSkscz90LmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLHMpOnQucmVtb3ZlQXR0cigiYXJpYS1kZXNjcmliZWRieSIpfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5fb24oe21vdXNlb3Zlcjoib3BlbiIsZm9jdXNpbjoib3BlbiJ9KSx0aGlzLnRvb2x0aXBzPXt9LHRoaXMucGFyZW50cz17fSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGUoKSx0aGlzLmxpdmVSZWdpb249ZSgiPGRpdj4iKS5hdHRyKHtyb2xlOiJsb2ciLCJhcmlhLWxpdmUiOiJhc3NlcnRpdmUiLCJhcmlhLXJlbGV2YW50IjoiYWRkaXRpb25zIn0pLmFkZENsYXNzKCJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiKS5hcHBlbmRUbyh0aGlzLmRvY3VtZW50WzBdLmJvZHkpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcztyZXR1cm4iZGlzYWJsZWQiPT09dD8odGhpc1tpPyJfZGlzYWJsZSI6Il9lbmFibGUiXSgpLHRoaXMub3B0aW9uc1t0XT1pLHZvaWQgMCk6KHRoaXMuX3N1cGVyKHQsaSksImNvbnRlbnQiPT09dCYmZS5lYWNoKHRoaXMudG9vbHRpcHMsZnVuY3Rpb24oZSx0KXtzLl91cGRhdGVDb250ZW50KHQuZWxlbWVudCl9KSx2b2lkIDApfSxfZGlzYWJsZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7ZS5lYWNoKHRoaXMudG9vbHRpcHMsZnVuY3Rpb24oaSxzKXt2YXIgbj1lLkV2ZW50KCJibHVyIik7bi50YXJnZXQ9bi5jdXJyZW50VGFyZ2V0PXMuZWxlbWVudFswXSx0LmNsb3NlKG4sITApfSksdGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5hZGRCYWNrKCkuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcyk7dC5pcygiW3RpdGxlXSIpJiZ0LmRhdGEoInVpLXRvb2x0aXAtdGl0bGUiLHQuYXR0cigidGl0bGUiKSkucmVtb3ZlQXR0cigidGl0bGUiKX0pfSxfZW5hYmxlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5hZGRCYWNrKCkuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcyk7dC5kYXRhKCJ1aS10b29sdGlwLXRpdGxlIikmJnQuYXR0cigidGl0bGUiLHQuZGF0YSgidWktdG9vbHRpcC10aXRsZSIpKX0pfSxvcGVuOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMscz1lKHQ/dC50YXJnZXQ6dGhpcy5lbGVtZW50KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5pdGVtcyk7cy5sZW5ndGgmJiFzLmRhdGEoInVpLXRvb2x0aXAtaWQiKSYmKHMuYXR0cigidGl0bGUiKSYmcy5kYXRhKCJ1aS10b29sdGlwLXRpdGxlIixzLmF0dHIoInRpdGxlIikpLHMuZGF0YSgidWktdG9vbHRpcC1vcGVuIiwhMCksdCYmIm1vdXNlb3ZlciI9PT10LnR5cGUmJnMucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXt2YXIgdCxzPWUodGhpcyk7cy5kYXRhKCJ1aS10b29sdGlwLW9wZW4iKSYmKHQ9ZS5FdmVudCgiYmx1ciIpLHQudGFyZ2V0PXQuY3VycmVudFRhcmdldD10aGlzLGkuY2xvc2UodCwhMCkpLHMuYXR0cigidGl0bGUiKSYmKHMudW5pcXVlSWQoKSxpLnBhcmVudHNbdGhpcy5pZF09e2VsZW1lbnQ6dGhpcyx0aXRsZTpzLmF0dHIoInRpdGxlIil9LHMuYXR0cigidGl0bGUiLCIiKSl9KSx0aGlzLl9yZWdpc3RlckNsb3NlSGFuZGxlcnModCxzKSx0aGlzLl91cGRhdGVDb250ZW50KHMsdCkpfSxfdXBkYXRlQ29udGVudDpmdW5jdGlvbihlLHQpe3ZhciBpLHM9dGhpcy5vcHRpb25zLmNvbnRlbnQsbj10aGlzLGE9dD90LnR5cGU6bnVsbDtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHM/dGhpcy5fb3Blbih0LGUscyk6KGk9cy5jYWxsKGVbMF0sZnVuY3Rpb24oaSl7bi5fZGVsYXkoZnVuY3Rpb24oKXtlLmRhdGEoInVpLXRvb2x0aXAtb3BlbiIpJiYodCYmKHQudHlwZT1hKSx0aGlzLl9vcGVuKHQsZSxpKSl9KX0pLGkmJnRoaXMuX29wZW4odCxlLGkpLHZvaWQgMCl9LF9vcGVuOmZ1bmN0aW9uKHQsaSxzKXtmdW5jdGlvbiBuKGUpe2wub2Y9ZSxvLmlzKCI6aGlkZGVuIil8fG8ucG9zaXRpb24obCl9dmFyIGEsbyxyLGgsbD1lLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pO2lmKHMpe2lmKGE9dGhpcy5fZmluZChpKSlyZXR1cm4gYS50b29sdGlwLmZpbmQoIi51aS10b29sdGlwLWNvbnRlbnQiKS5odG1sKHMpLHZvaWQgMDtpLmlzKCJbdGl0bGVdIikmJih0JiYibW91c2VvdmVyIj09PXQudHlwZT9pLmF0dHIoInRpdGxlIiwiIik6aS5yZW1vdmVBdHRyKCJ0aXRsZSIpKSxhPXRoaXMuX3Rvb2x0aXAoaSksbz1hLnRvb2x0aXAsdGhpcy5fYWRkRGVzY3JpYmVkQnkoaSxvLmF0dHIoImlkIikpLG8uZmluZCgiLnVpLXRvb2x0aXAtY29udGVudCIpLmh0bWwocyksdGhpcy5saXZlUmVnaW9uLmNoaWxkcmVuKCkuaGlkZSgpLHMuY2xvbmU/KGg9cy5jbG9uZSgpLGgucmVtb3ZlQXR0cigiaWQiKS5maW5kKCJbaWRdIikucmVtb3ZlQXR0cigiaWQiKSk6aD1zLGUoIjxkaXY+IikuaHRtbChoKS5hcHBlbmRUbyh0aGlzLmxpdmVSZWdpb24pLHRoaXMub3B0aW9ucy50cmFjayYmdCYmL15tb3VzZS8udGVzdCh0LnR5cGUpPyh0aGlzLl9vbih0aGlzLmRvY3VtZW50LHttb3VzZW1vdmU6bn0pLG4odCkpOm8ucG9zaXRpb24oZS5leHRlbmQoe29mOml9LHRoaXMub3B0aW9ucy5wb3NpdGlvbikpLG8uaGlkZSgpLHRoaXMuX3Nob3cobyx0aGlzLm9wdGlvbnMuc2hvdyksdGhpcy5vcHRpb25zLnNob3cmJnRoaXMub3B0aW9ucy5zaG93LmRlbGF5JiYocj10aGlzLmRlbGF5ZWRTaG93PXNldEludGVydmFsKGZ1bmN0aW9uKCl7by5pcygiOnZpc2libGUiKSYmKG4obC5vZiksY2xlYXJJbnRlcnZhbChyKSl9LGUuZnguaW50ZXJ2YWwpKSx0aGlzLl90cmlnZ2VyKCJvcGVuIix0LHt0b29sdGlwOm99KX19LF9yZWdpc3RlckNsb3NlSGFuZGxlcnM6ZnVuY3Rpb24odCxpKXt2YXIgcz17a2V5dXA6ZnVuY3Rpb24odCl7aWYodC5rZXlDb2RlPT09ZS51aS5rZXlDb2RlLkVTQ0FQRSl7dmFyIHM9ZS5FdmVudCh0KTtzLmN1cnJlbnRUYXJnZXQ9aVswXSx0aGlzLmNsb3NlKHMsITApfX19O2lbMF0hPT10aGlzLmVsZW1lbnRbMF0mJihzLnJlbW92ZT1mdW5jdGlvbigpe3RoaXMuX3JlbW92ZVRvb2x0aXAodGhpcy5fZmluZChpKS50b29sdGlwKX0pLHQmJiJtb3VzZW92ZXIiIT09dC50eXBlfHwocy5tb3VzZWxlYXZlPSJjbG9zZSIpLHQmJiJmb2N1c2luIiE9PXQudHlwZXx8KHMuZm9jdXNvdXQ9ImNsb3NlIiksdGhpcy5fb24oITAsaSxzKX0sY2xvc2U6ZnVuY3Rpb24odCl7dmFyIGkscz10aGlzLG49ZSh0P3QuY3VycmVudFRhcmdldDp0aGlzLmVsZW1lbnQpLGE9dGhpcy5fZmluZChuKTtyZXR1cm4gYT8oaT1hLnRvb2x0aXAsYS5jbG9zaW5nfHwoY2xlYXJJbnRlcnZhbCh0aGlzLmRlbGF5ZWRTaG93KSxuLmRhdGEoInVpLXRvb2x0aXAtdGl0bGUiKSYmIW4uYXR0cigidGl0bGUiKSYmbi5hdHRyKCJ0aXRsZSIsbi5kYXRhKCJ1aS10b29sdGlwLXRpdGxlIikpLHRoaXMuX3JlbW92ZURlc2NyaWJlZEJ5KG4pLGEuaGlkaW5nPSEwLGkuc3RvcCghMCksdGhpcy5faGlkZShpLHRoaXMub3B0aW9ucy5oaWRlLGZ1bmN0aW9uKCl7cy5fcmVtb3ZlVG9vbHRpcChlKHRoaXMpKX0pLG4ucmVtb3ZlRGF0YSgidWktdG9vbHRpcC1vcGVuIiksdGhpcy5fb2ZmKG4sIm1vdXNlbGVhdmUgZm9jdXNvdXQga2V5dXAiKSxuWzBdIT09dGhpcy5lbGVtZW50WzBdJiZ0aGlzLl9vZmYobiwicmVtb3ZlIiksdGhpcy5fb2ZmKHRoaXMuZG9jdW1lbnQsIm1vdXNlbW92ZSIpLHQmJiJtb3VzZWxlYXZlIj09PXQudHlwZSYmZS5lYWNoKHRoaXMucGFyZW50cyxmdW5jdGlvbih0LGkpe2UoaS5lbGVtZW50KS5hdHRyKCJ0aXRsZSIsaS50aXRsZSksZGVsZXRlIHMucGFyZW50c1t0XX0pLGEuY2xvc2luZz0hMCx0aGlzLl90cmlnZ2VyKCJjbG9zZSIsdCx7dG9vbHRpcDppfSksYS5oaWRpbmd8fChhLmNsb3Npbmc9ITEpKSx2b2lkIDApOihuLnJlbW92ZURhdGEoInVpLXRvb2x0aXAtb3BlbiIpLHZvaWQgMCl9LF90b29sdGlwOmZ1bmN0aW9uKHQpe3ZhciBpPWUoIjxkaXY+IikuYXR0cigicm9sZSIsInRvb2x0aXAiKS5hZGRDbGFzcygidWktdG9vbHRpcCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS13aWRnZXQtY29udGVudCAiKyh0aGlzLm9wdGlvbnMudG9vbHRpcENsYXNzfHwiIikpLHM9aS51bmlxdWVJZCgpLmF0dHIoImlkIik7cmV0dXJuIGUoIjxkaXY+IikuYWRkQ2xhc3MoInVpLXRvb2x0aXAtY29udGVudCIpLmFwcGVuZFRvKGkpLGkuYXBwZW5kVG8odGhpcy5kb2N1bWVudFswXS5ib2R5KSx0aGlzLnRvb2x0aXBzW3NdPXtlbGVtZW50OnQsdG9vbHRpcDppfX0sX2ZpbmQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXRhKCJ1aS10b29sdGlwLWlkIik7cmV0dXJuIHQ/dGhpcy50b29sdGlwc1t0XTpudWxsfSxfcmVtb3ZlVG9vbHRpcDpmdW5jdGlvbihlKXtlLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLnRvb2x0aXBzW2UuYXR0cigiaWQiKV19LF9kZXN0cm95OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztlLmVhY2godGhpcy50b29sdGlwcyxmdW5jdGlvbihpLHMpe3ZhciBuPWUuRXZlbnQoImJsdXIiKSxhPXMuZWxlbWVudDtuLnRhcmdldD1uLmN1cnJlbnRUYXJnZXQ9YVswXSx0LmNsb3NlKG4sITApLGUoIiMiK2kpLnJlbW92ZSgpLGEuZGF0YSgidWktdG9vbHRpcC10aXRsZSIpJiYoYS5hdHRyKCJ0aXRsZSIpfHxhLmF0dHIoInRpdGxlIixhLmRhdGEoInVpLXRvb2x0aXAtdGl0bGUiKSksYS5yZW1vdmVEYXRhKCJ1aS10b29sdGlwLXRpdGxlIikpfSksdGhpcy5saXZlUmVnaW9uLnJlbW92ZSgpfX0pO3ZhciB5PSJ1aS1lZmZlY3RzLSIsYj1lO2UuZWZmZWN0cz17ZWZmZWN0Ont9fSxmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGkoZSx0LGkpe3ZhciBzPWRbdC50eXBlXXx8e307cmV0dXJuIG51bGw9PWU/aXx8IXQuZGVmP251bGw6dC5kZWY6KGU9cy5mbG9vcj9+fmU6cGFyc2VGbG9hdChlKSxpc05hTihlKT90LmRlZjpzLm1vZD8oZStzLm1vZCklcy5tb2Q6MD5lPzA6ZT5zLm1heD9zLm1heDplKX1mdW5jdGlvbiBzKGkpe3ZhciBzPWwoKSxuPXMuX3JnYmE9W107cmV0dXJuIGk9aS50b0xvd2VyQ2FzZSgpLGYoaCxmdW5jdGlvbihlLGEpe3ZhciBvLHI9YS5yZS5leGVjKGkpLGg9ciYmYS5wYXJzZShyKSxsPWEuc3BhY2V8fCJyZ2JhIjtyZXR1cm4gaD8obz1zW2xdKGgpLHNbdVtsXS5jYWNoZV09b1t1W2xdLmNhY2hlXSxuPXMuX3JnYmE9by5fcmdiYSwhMSk6dH0pLG4ubGVuZ3RoPygiMCwwLDAsMCI9PT1uLmpvaW4oKSYmZS5leHRlbmQobixhLnRyYW5zcGFyZW50KSxzKTphW2ldfWZ1bmN0aW9uIG4oZSx0LGkpe3JldHVybiBpPShpKzEpJTEsMT42Kmk/ZSs2Kih0LWUpKmk6MT4yKmk/dDoyPjMqaT9lKzYqKHQtZSkqKDIvMy1pKTplfXZhciBhLG89ImJhY2tncm91bmRDb2xvciBib3JkZXJCb3R0b21Db2xvciBib3JkZXJMZWZ0Q29sb3IgYm9yZGVyUmlnaHRDb2xvciBib3JkZXJUb3BDb2xvciBjb2xvciBjb2x1bW5SdWxlQ29sb3Igb3V0bGluZUNvbG9yIHRleHREZWNvcmF0aW9uQ29sb3IgdGV4dEVtcGhhc2lzQ29sb3IiLHI9L14oW1wtK10pPVxzKihcZCtcLj9cZCopLyxoPVt7cmU6L3JnYmE/XChccyooXGR7MSwzfSlccyosXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKig/OixccyooXGQ/KD86XC5cZCspPylccyopP1wpLyxwYXJzZTpmdW5jdGlvbihlKXtyZXR1cm5bZVsxXSxlWzJdLGVbM10sZVs0XV19fSx7cmU6L3JnYmE/XChccyooXGQrKD86XC5cZCspPylcJVxzKixccyooXGQrKD86XC5cZCspPylcJVxzKixccyooXGQrKD86XC5cZCspPylcJVxzKig/OixccyooXGQ/KD86XC5cZCspPylccyopP1wpLyxwYXJzZTpmdW5jdGlvbihlKXtyZXR1cm5bMi41NSplWzFdLDIuNTUqZVsyXSwyLjU1KmVbM10sZVs0XV19fSx7cmU6LyMoW2EtZjAtOV17Mn0pKFthLWYwLTldezJ9KShbYS1mMC05XXsyfSkvLHBhcnNlOmZ1bmN0aW9uKGUpe3JldHVybltwYXJzZUludChlWzFdLDE2KSxwYXJzZUludChlWzJdLDE2KSxwYXJzZUludChlWzNdLDE2KV19fSx7cmU6LyMoW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkvLHBhcnNlOmZ1bmN0aW9uKGUpe3JldHVybltwYXJzZUludChlWzFdK2VbMV0sMTYpLHBhcnNlSW50KGVbMl0rZVsyXSwxNikscGFyc2VJbnQoZVszXStlWzNdLDE2KV19fSx7cmU6L2hzbGE/XChccyooXGQrKD86XC5cZCspPylccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8sc3BhY2U6ImhzbGEiLHBhcnNlOmZ1bmN0aW9uKGUpe3JldHVybltlWzFdLGVbMl0vMTAwLGVbM10vMTAwLGVbNF1dfX1dLGw9ZS5Db2xvcj1mdW5jdGlvbih0LGkscyxuKXtyZXR1cm4gbmV3IGUuQ29sb3IuZm4ucGFyc2UodCxpLHMsbil9LHU9e3JnYmE6e3Byb3BzOntyZWQ6e2lkeDowLHR5cGU6ImJ5dGUifSxncmVlbjp7aWR4OjEsdHlwZToiYnl0ZSJ9LGJsdWU6e2lkeDoyLHR5cGU6ImJ5dGUifX19LGhzbGE6e3Byb3BzOntodWU6e2lkeDowLHR5cGU6ImRlZ3JlZXMifSxzYXR1cmF0aW9uOntpZHg6MSx0eXBlOiJwZXJjZW50In0sbGlnaHRuZXNzOntpZHg6Mix0eXBlOiJwZXJjZW50In19fX0sZD17ImJ5dGUiOntmbG9vcjohMCxtYXg6MjU1fSxwZXJjZW50OnttYXg6MX0sZGVncmVlczp7bW9kOjM2MCxmbG9vcjohMH19LGM9bC5zdXBwb3J0PXt9LHA9ZSgiPHA+IilbMF0sZj1lLmVhY2g7cC5zdHlsZS5jc3NUZXh0PSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMSwxLDEsLjUpIixjLnJnYmE9cC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IuaW5kZXhPZigicmdiYSIpPi0xLGYodSxmdW5jdGlvbihlLHQpe3QuY2FjaGU9Il8iK2UsdC5wcm9wcy5hbHBoYT17aWR4OjMsdHlwZToicGVyY2VudCIsZGVmOjF9fSksbC5mbj1lLmV4dGVuZChsLnByb3RvdHlwZSx7cGFyc2U6ZnVuY3Rpb24obixvLHIsaCl7aWYobj09PXQpcmV0dXJuIHRoaXMuX3JnYmE9W251bGwsbnVsbCxudWxsLG51bGxdLHRoaXM7KG4uanF1ZXJ5fHxuLm5vZGVUeXBlKSYmKG49ZShuKS5jc3Mobyksbz10KTt2YXIgZD10aGlzLGM9ZS50eXBlKG4pLHA9dGhpcy5fcmdiYT1bXTtyZXR1cm4gbyE9PXQmJihuPVtuLG8scixoXSxjPSJhcnJheSIpLCJzdHJpbmciPT09Yz90aGlzLnBhcnNlKHMobil8fGEuX2RlZmF1bHQpOiJhcnJheSI9PT1jPyhmKHUucmdiYS5wcm9wcyxmdW5jdGlvbihlLHQpe3BbdC5pZHhdPWkoblt0LmlkeF0sdCl9KSx0aGlzKToib2JqZWN0Ij09PWM/KG4gaW5zdGFuY2VvZiBsP2YodSxmdW5jdGlvbihlLHQpe25bdC5jYWNoZV0mJihkW3QuY2FjaGVdPW5bdC5jYWNoZV0uc2xpY2UoKSl9KTpmKHUsZnVuY3Rpb24odCxzKXt2YXIgYT1zLmNhY2hlO2Yocy5wcm9wcyxmdW5jdGlvbihlLHQpe2lmKCFkW2FdJiZzLnRvKXtpZigiYWxwaGEiPT09ZXx8bnVsbD09bltlXSlyZXR1cm47ZFthXT1zLnRvKGQuX3JnYmEpfWRbYV1bdC5pZHhdPWkobltlXSx0LCEwKX0pLGRbYV0mJjA+ZS5pbkFycmF5KG51bGwsZFthXS5zbGljZSgwLDMpKSYmKGRbYV1bM109MSxzLmZyb20mJihkLl9yZ2JhPXMuZnJvbShkW2FdKSkpfSksdGhpcyk6dH0saXM6ZnVuY3Rpb24oZSl7dmFyIGk9bChlKSxzPSEwLG49dGhpcztyZXR1cm4gZih1LGZ1bmN0aW9uKGUsYSl7dmFyIG8scj1pW2EuY2FjaGVdO3JldHVybiByJiYobz1uW2EuY2FjaGVdfHxhLnRvJiZhLnRvKG4uX3JnYmEpfHxbXSxmKGEucHJvcHMsZnVuY3Rpb24oZSxpKXtyZXR1cm4gbnVsbCE9cltpLmlkeF0/cz1yW2kuaWR4XT09PW9baS5pZHhdOnR9KSksc30pLHN9LF9zcGFjZTpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcztyZXR1cm4gZih1LGZ1bmN0aW9uKGkscyl7dFtzLmNhY2hlXSYmZS5wdXNoKGkpfSksZS5wb3AoKX0sdHJhbnNpdGlvbjpmdW5jdGlvbihlLHQpe3ZhciBzPWwoZSksbj1zLl9zcGFjZSgpLGE9dVtuXSxvPTA9PT10aGlzLmFscGhhKCk/bCgidHJhbnNwYXJlbnQiKTp0aGlzLHI9b1thLmNhY2hlXXx8YS50byhvLl9yZ2JhKSxoPXIuc2xpY2UoKTtyZXR1cm4gcz1zW2EuY2FjaGVdLGYoYS5wcm9wcyxmdW5jdGlvbihlLG4pe3ZhciBhPW4uaWR4LG89clthXSxsPXNbYV0sdT1kW24udHlwZV18fHt9O251bGwhPT1sJiYobnVsbD09PW8/aFthXT1sOih1Lm1vZCYmKGwtbz51Lm1vZC8yP28rPXUubW9kOm8tbD51Lm1vZC8yJiYoby09dS5tb2QpKSxoW2FdPWkoKGwtbykqdCtvLG4pKSl9KSx0aGlzW25dKGgpfSxibGVuZDpmdW5jdGlvbih0KXtpZigxPT09dGhpcy5fcmdiYVszXSlyZXR1cm4gdGhpczt2YXIgaT10aGlzLl9yZ2JhLnNsaWNlKCkscz1pLnBvcCgpLG49bCh0KS5fcmdiYTtyZXR1cm4gbChlLm1hcChpLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDEtcykqblt0XStzKmV9KSl9LHRvUmdiYVN0cmluZzpmdW5jdGlvbigpe3ZhciB0PSJyZ2JhKCIsaT1lLm1hcCh0aGlzLl9yZ2JhLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWU/dD4yPzE6MDplfSk7cmV0dXJuIDE9PT1pWzNdJiYoaS5wb3AoKSx0PSJyZ2IoIiksdCtpLmpvaW4oKSsiKSJ9LHRvSHNsYVN0cmluZzpmdW5jdGlvbigpe3ZhciB0PSJoc2xhKCIsaT1lLm1hcCh0aGlzLmhzbGEoKSxmdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1lJiYoZT10PjI/MTowKSx0JiYzPnQmJihlPU1hdGgucm91bmQoMTAwKmUpKyIlIiksZX0pO3JldHVybiAxPT09aVszXSYmKGkucG9wKCksdD0iaHNsKCIpLHQraS5qb2luKCkrIikifSx0b0hleFN0cmluZzpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9yZ2JhLnNsaWNlKCkscz1pLnBvcCgpO3JldHVybiB0JiZpLnB1c2gofn4oMjU1KnMpKSwiIyIrZS5tYXAoaSxmdW5jdGlvbihlKXtyZXR1cm4gZT0oZXx8MCkudG9TdHJpbmcoMTYpLDE9PT1lLmxlbmd0aD8iMCIrZTplfSkuam9pbigiIil9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLl9yZ2JhWzNdPyJ0cmFuc3BhcmVudCI6dGhpcy50b1JnYmFTdHJpbmcoKX19KSxsLmZuLnBhcnNlLnByb3RvdHlwZT1sLmZuLHUuaHNsYS50bz1mdW5jdGlvbihlKXtpZihudWxsPT1lWzBdfHxudWxsPT1lWzFdfHxudWxsPT1lWzJdKXJldHVybltudWxsLG51bGwsbnVsbCxlWzNdXTt2YXIgdCxpLHM9ZVswXS8yNTUsbj1lWzFdLzI1NSxhPWVbMl0vMjU1LG89ZVszXSxyPU1hdGgubWF4KHMsbixhKSxoPU1hdGgubWluKHMsbixhKSxsPXItaCx1PXIraCxkPS41KnU7cmV0dXJuIHQ9aD09PXI/MDpzPT09cj82MCoobi1hKS9sKzM2MDpuPT09cj82MCooYS1zKS9sKzEyMDo2MCoocy1uKS9sKzI0MCxpPTA9PT1sPzA6LjU+PWQ/bC91OmwvKDItdSksW01hdGgucm91bmQodCklMzYwLGksZCxudWxsPT1vPzE6b119LHUuaHNsYS5mcm9tPWZ1bmN0aW9uKGUpe2lmKG51bGw9PWVbMF18fG51bGw9PWVbMV18fG51bGw9PWVbMl0pcmV0dXJuW251bGwsbnVsbCxudWxsLGVbM11dO3ZhciB0PWVbMF0vMzYwLGk9ZVsxXSxzPWVbMl0sYT1lWzNdLG89LjU+PXM/cyooMStpKTpzK2ktcyppLHI9MipzLW87cmV0dXJuW01hdGgucm91bmQoMjU1Km4ocixvLHQrMS8zKSksTWF0aC5yb3VuZCgyNTUqbihyLG8sdCkpLE1hdGgucm91bmQoMjU1Km4ocixvLHQtMS8zKSksYV19LGYodSxmdW5jdGlvbihzLG4pe3ZhciBhPW4ucHJvcHMsbz1uLmNhY2hlLGg9bi50byx1PW4uZnJvbTtsLmZuW3NdPWZ1bmN0aW9uKHMpe2lmKGgmJiF0aGlzW29dJiYodGhpc1tvXT1oKHRoaXMuX3JnYmEpKSxzPT09dClyZXR1cm4gdGhpc1tvXS5zbGljZSgpO3ZhciBuLHI9ZS50eXBlKHMpLGQ9ImFycmF5Ij09PXJ8fCJvYmplY3QiPT09cj9zOmFyZ3VtZW50cyxjPXRoaXNbb10uc2xpY2UoKTtyZXR1cm4gZihhLGZ1bmN0aW9uKGUsdCl7dmFyIHM9ZFsib2JqZWN0Ij09PXI/ZTp0LmlkeF07bnVsbD09cyYmKHM9Y1t0LmlkeF0pLGNbdC5pZHhdPWkocyx0KX0pLHU/KG49bCh1KGMpKSxuW29dPWMsbik6bChjKX0sZihhLGZ1bmN0aW9uKHQsaSl7bC5mblt0XXx8KGwuZm5bdF09ZnVuY3Rpb24obil7dmFyIGEsbz1lLnR5cGUobiksaD0iYWxwaGEiPT09dD90aGlzLl9oc2xhPyJoc2xhIjoicmdiYSI6cyxsPXRoaXNbaF0oKSx1PWxbaS5pZHhdO3JldHVybiJ1bmRlZmluZWQiPT09bz91OigiZnVuY3Rpb24iPT09byYmKG49bi5jYWxsKHRoaXMsdSksbz1lLnR5cGUobikpLG51bGw9PW4mJmkuZW1wdHk/dGhpczooInN0cmluZyI9PT1vJiYoYT1yLmV4ZWMobiksYSYmKG49dStwYXJzZUZsb2F0KGFbMl0pKigiKyI9PT1hWzFdPzE6LTEpKSksbFtpLmlkeF09bix0aGlzW2hdKGwpKSl9KX0pfSksbC5ob29rPWZ1bmN0aW9uKHQpe3ZhciBpPXQuc3BsaXQoIiAiKTtmKGksZnVuY3Rpb24odCxpKXtlLmNzc0hvb2tzW2ldPXtzZXQ6ZnVuY3Rpb24odCxuKXt2YXIgYSxvLHI9IiI7aWYoInRyYW5zcGFyZW50IiE9PW4mJigic3RyaW5nIiE9PWUudHlwZShuKXx8KGE9cyhuKSkpKXtpZihuPWwoYXx8biksIWMucmdiYSYmMSE9PW4uX3JnYmFbM10pe2ZvcihvPSJiYWNrZ3JvdW5kQ29sb3IiPT09aT90LnBhcmVudE5vZGU6dDsoIiI9PT1yfHwidHJhbnNwYXJlbnQiPT09cikmJm8mJm8uc3R5bGU7KXRyeXtyPWUuY3NzKG8sImJhY2tncm91bmRDb2xvciIpLG89by5wYXJlbnROb2RlfWNhdGNoKGgpe31uPW4uYmxlbmQociYmInRyYW5zcGFyZW50IiE9PXI/cjoiX2RlZmF1bHQiKX1uPW4udG9SZ2JhU3RyaW5nKCl9dHJ5e3Quc3R5bGVbaV09bn1jYXRjaChoKXt9fX0sZS5meC5zdGVwW2ldPWZ1bmN0aW9uKHQpe3QuY29sb3JJbml0fHwodC5zdGFydD1sKHQuZWxlbSxpKSx0LmVuZD1sKHQuZW5kKSx0LmNvbG9ySW5pdD0hMCksZS5jc3NIb29rc1tpXS5zZXQodC5lbGVtLHQuc3RhcnQudHJhbnNpdGlvbih0LmVuZCx0LnBvcykpfX0pfSxsLmhvb2sobyksZS5jc3NIb29rcy5ib3JkZXJDb2xvcj17ZXhwYW5kOmZ1bmN0aW9uKGUpe3ZhciB0PXt9O3JldHVybiBmKFsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sZnVuY3Rpb24oaSxzKXt0WyJib3JkZXIiK3MrIkNvbG9yIl09ZX0pLHR9fSxhPWUuQ29sb3IubmFtZXM9e2FxdWE6IiMwMGZmZmYiLGJsYWNrOiIjMDAwMDAwIixibHVlOiIjMDAwMGZmIixmdWNoc2lhOiIjZmYwMGZmIixncmF5OiIjODA4MDgwIixncmVlbjoiIzAwODAwMCIsbGltZToiIzAwZmYwMCIsbWFyb29uOiIjODAwMDAwIixuYXZ5OiIjMDAwMDgwIixvbGl2ZToiIzgwODAwMCIscHVycGxlOiIjODAwMDgwIixyZWQ6IiNmZjAwMDAiLHNpbHZlcjoiI2MwYzBjMCIsdGVhbDoiIzAwODA4MCIsd2hpdGU6IiNmZmZmZmYiLHllbGxvdzoiI2ZmZmYwMCIsdHJhbnNwYXJlbnQ6W251bGwsbnVsbCxudWxsLDBdLF9kZWZhdWx0OiIjZmZmZmZmIn19KGIpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt2YXIgaSxzLG49dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3P3Qub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCk6dC5jdXJyZW50U3R5bGUsYT17fTtpZihuJiZuLmxlbmd0aCYmblswXSYmbltuWzBdXSlmb3Iocz1uLmxlbmd0aDtzLS07KWk9bltzXSwic3RyaW5nIj09dHlwZW9mIG5baV0mJihhW2UuY2FtZWxDYXNlKGkpXT1uW2ldKTtlbHNlIGZvcihpIGluIG4pInN0cmluZyI9PXR5cGVvZiBuW2ldJiYoYVtpXT1uW2ldKTtyZXR1cm4gYX1mdW5jdGlvbiBpKHQsaSl7dmFyIHMsYSxvPXt9O2ZvcihzIGluIGkpYT1pW3NdLHRbc10hPT1hJiYobltzXXx8KGUuZnguc3RlcFtzXXx8IWlzTmFOKHBhcnNlRmxvYXQoYSkpKSYmKG9bc109YSkpO3JldHVybiBvfXZhciBzPVsiYWRkIiwicmVtb3ZlIiwidG9nZ2xlIl0sbj17Ym9yZGVyOjEsYm9yZGVyQm90dG9tOjEsYm9yZGVyQ29sb3I6MSxib3JkZXJMZWZ0OjEsYm9yZGVyUmlnaHQ6MSxib3JkZXJUb3A6MSxib3JkZXJXaWR0aDoxLG1hcmdpbjoxLHBhZGRpbmc6MX07ZS5lYWNoKFsiYm9yZGVyTGVmdFN0eWxlIiwiYm9yZGVyUmlnaHRTdHlsZSIsImJvcmRlckJvdHRvbVN0eWxlIiwiYm9yZGVyVG9wU3R5bGUiXSxmdW5jdGlvbih0LGkpe2UuZnguc3RlcFtpXT1mdW5jdGlvbihlKXsoIm5vbmUiIT09ZS5lbmQmJiFlLnNldEF0dHJ8fDE9PT1lLnBvcyYmIWUuc2V0QXR0cikmJihiLnN0eWxlKGUuZWxlbSxpLGUuZW5kKSxlLnNldEF0dHI9ITApfX0pLGUuZm4uYWRkQmFja3x8KGUuZm4uYWRkQmFjaz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9KSxlLmVmZmVjdHMuYW5pbWF0ZUNsYXNzPWZ1bmN0aW9uKG4sYSxvLHIpe3ZhciBoPWUuc3BlZWQoYSxvLHIpO3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGEsbz1lKHRoaXMpLHI9by5hdHRyKCJjbGFzcyIpfHwiIixsPWguY2hpbGRyZW4/by5maW5kKCIqIikuYWRkQmFjaygpOm87bD1sLm1hcChmdW5jdGlvbigpe3ZhciBpPWUodGhpcyk7cmV0dXJue2VsOmksc3RhcnQ6dCh0aGlzKX19KSxhPWZ1bmN0aW9uKCl7ZS5lYWNoKHMsZnVuY3Rpb24oZSx0KXtuW3RdJiZvW3QrIkNsYXNzIl0oblt0XSl9KX0sYSgpLGw9bC5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmQ9dCh0aGlzLmVsWzBdKSx0aGlzLmRpZmY9aSh0aGlzLnN0YXJ0LHRoaXMuZW5kKSx0aGlzfSksby5hdHRyKCJjbGFzcyIsciksbD1sLm1hcChmdW5jdGlvbigpe3ZhciB0PXRoaXMsaT1lLkRlZmVycmVkKCkscz1lLmV4dGVuZCh7fSxoLHtxdWV1ZTohMSxjb21wbGV0ZTpmdW5jdGlvbigpe2kucmVzb2x2ZSh0KX19KTtyZXR1cm4gdGhpcy5lbC5hbmltYXRlKHRoaXMuZGlmZixzKSxpLnByb21pc2UoKX0pLGUud2hlbi5hcHBseShlLGwuZ2V0KCkpLmRvbmUoZnVuY3Rpb24oKXthKCksZS5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbigpe3ZhciB0PXRoaXMuZWw7ZS5lYWNoKHRoaXMuZGlmZixmdW5jdGlvbihlKXt0LmNzcyhlLCIiKX0pfSksaC5jb21wbGV0ZS5jYWxsKG9bMF0pfSl9KX0sZS5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpLHMsbixhKXtyZXR1cm4gcz9lLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7YWRkOml9LHMsbixhKTp0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KGUuZm4uYWRkQ2xhc3MpLHJlbW92ZUNsYXNzOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpLHMsbixhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP2UuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCh0aGlzLHtyZW1vdmU6aX0scyxuLGEpOnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oZS5mbi5yZW1vdmVDbGFzcyksdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGkscyxuLGEsbyl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2Ygc3x8dm9pZCAwPT09cz9uP2UuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCh0aGlzLHM/e2FkZDppfTp7cmVtb3ZlOml9LG4sYSxvKTp0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTplLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7dG9nZ2xlOml9LHMsbixhKX19KGUuZm4udG9nZ2xlQ2xhc3MpLHN3aXRjaENsYXNzOmZ1bmN0aW9uKHQsaSxzLG4sYSl7cmV0dXJuIGUuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCh0aGlzLHthZGQ6aSxyZW1vdmU6dH0scyxuLGEpfX0pfSgpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGkscyxuKXtyZXR1cm4gZS5pc1BsYWluT2JqZWN0KHQpJiYoaT10LHQ9dC5lZmZlY3QpLHQ9e2VmZmVjdDp0fSxudWxsPT1pJiYoaT17fSksZS5pc0Z1bmN0aW9uKGkpJiYobj1pLHM9bnVsbCxpPXt9KSwoIm51bWJlciI9PXR5cGVvZiBpfHxlLmZ4LnNwZWVkc1tpXSkmJihuPXMscz1pLGk9e30pLGUuaXNGdW5jdGlvbihzKSYmKG49cyxzPW51bGwpLGkmJmUuZXh0ZW5kKHQsaSkscz1zfHxpLmR1cmF0aW9uLHQuZHVyYXRpb249ZS5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIHM/czpzIGluIGUuZnguc3BlZWRzP2UuZnguc3BlZWRzW3NdOmUuZnguc3BlZWRzLl9kZWZhdWx0LHQuY29tcGxldGU9bnx8aS5jb21wbGV0ZSx0fWZ1bmN0aW9uIGkodCl7cmV0dXJuIXR8fCJudW1iZXIiPT10eXBlb2YgdHx8ZS5meC5zcGVlZHNbdF0/ITA6InN0cmluZyIhPXR5cGVvZiB0fHxlLmVmZmVjdHMuZWZmZWN0W3RdP2UuaXNGdW5jdGlvbih0KT8hMDoib2JqZWN0IiE9dHlwZW9mIHR8fHQuZWZmZWN0PyExOiEwOiEwfWUuZXh0ZW5kKGUuZWZmZWN0cyx7dmVyc2lvbjoiMS4xMS40IixzYXZlOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPTA7dC5sZW5ndGg+aTtpKyspbnVsbCE9PXRbaV0mJmUuZGF0YSh5K3RbaV0sZVswXS5zdHlsZVt0W2ldXSl9LHJlc3RvcmU6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzO2ZvcihzPTA7dC5sZW5ndGg+cztzKyspbnVsbCE9PXRbc10mJihpPWUuZGF0YSh5K3Rbc10pLHZvaWQgMD09PWkmJihpPSIiKSxlLmNzcyh0W3NdLGkpKX0sc2V0TW9kZTpmdW5jdGlvbihlLHQpe3JldHVybiJ0b2dnbGUiPT09dCYmKHQ9ZS5pcygiOmhpZGRlbiIpPyJzaG93IjoiaGlkZSIpLHR9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKGUsdCl7dmFyIGkscztzd2l0Y2goZVswXSl7Y2FzZSJ0b3AiOmk9MDticmVhaztjYXNlIm1pZGRsZSI6aT0uNTticmVhaztjYXNlImJvdHRvbSI6aT0xO2JyZWFrO2RlZmF1bHQ6aT1lWzBdL3QuaGVpZ2h0fXN3aXRjaChlWzFdKXtjYXNlImxlZnQiOnM9MDticmVhaztjYXNlImNlbnRlciI6cz0uNTticmVhaztjYXNlInJpZ2h0IjpzPTE7YnJlYWs7ZGVmYXVsdDpzPWVbMV0vdC53aWR0aH1yZXR1cm57eDpzLHk6aX19LGNyZWF0ZVdyYXBwZXI6ZnVuY3Rpb24odCl7aWYodC5wYXJlbnQoKS5pcygiLnVpLWVmZmVjdHMtd3JhcHBlciIpKXJldHVybiB0LnBhcmVudCgpO3ZhciBpPXt3aWR0aDp0Lm91dGVyV2lkdGgoITApLGhlaWdodDp0Lm91dGVySGVpZ2h0KCEwKSwiZmxvYXQiOnQuY3NzKCJmbG9hdCIpfSxzPWUoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBlciIpLmNzcyh7Zm9udFNpemU6IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLG1hcmdpbjowLHBhZGRpbmc6MH0pLG49e3dpZHRoOnQud2lkdGgoKSxoZWlnaHQ6dC5oZWlnaHQoKX0sYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3RyeXthLmlkfWNhdGNoKG8pe2E9ZG9jdW1lbnQuYm9keX1yZXR1cm4gdC53cmFwKHMpLCh0WzBdPT09YXx8ZS5jb250YWlucyh0WzBdLGEpKSYmZShhKS5mb2N1cygpLHM9dC5wYXJlbnQoKSwic3RhdGljIj09PXQuY3NzKCJwb3NpdGlvbiIpPyhzLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIn0pLHQuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSkpOihlLmV4dGVuZChpLHtwb3NpdGlvbjp0LmNzcygicG9zaXRpb24iKSx6SW5kZXg6dC5jc3MoInotaW5kZXgiKX0pLGUuZWFjaChbInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCJdLGZ1bmN0aW9uKGUscyl7aVtzXT10LmNzcyhzKSxpc05hTihwYXJzZUludChpW3NdLDEwKSkmJihpW3NdPSJhdXRvIil9KSx0LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6MCxsZWZ0OjAscmlnaHQ6ImF1dG8iLGJvdHRvbToiYXV0byJ9KSksdC5jc3Mobikscy5jc3MoaSkuc2hvdygpfSxyZW1vdmVXcmFwcGVyOmZ1bmN0aW9uKHQpe3ZhciBpPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CnJldHVybiB0LnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIikmJih0LnBhcmVudCgpLnJlcGxhY2VXaXRoKHQpLCh0WzBdPT09aXx8ZS5jb250YWlucyh0WzBdLGkpKSYmZShpKS5mb2N1cygpKSx0fSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKHQsaSxzLG4pe3JldHVybiBuPW58fHt9LGUuZWFjaChpLGZ1bmN0aW9uKGUsaSl7dmFyIGE9dC5jc3NVbml0KGkpO2FbMF0+MCYmKG5baV09YVswXSpzK2FbMV0pfSksbn19KSxlLmZuLmV4dGVuZCh7ZWZmZWN0OmZ1bmN0aW9uKCl7ZnVuY3Rpb24gaSh0KXtmdW5jdGlvbiBpKCl7ZS5pc0Z1bmN0aW9uKGEpJiZhLmNhbGwoblswXSksZS5pc0Z1bmN0aW9uKHQpJiZ0KCl9dmFyIG49ZSh0aGlzKSxhPXMuY29tcGxldGUscj1zLm1vZGU7KG4uaXMoIjpoaWRkZW4iKT8iaGlkZSI9PT1yOiJzaG93Ij09PXIpPyhuW3JdKCksaSgpKTpvLmNhbGwoblswXSxzLGkpfXZhciBzPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLG49cy5tb2RlLGE9cy5xdWV1ZSxvPWUuZWZmZWN0cy5lZmZlY3Rbcy5lZmZlY3RdO3JldHVybiBlLmZ4Lm9mZnx8IW8/bj90aGlzW25dKHMuZHVyYXRpb24scy5jb21wbGV0ZSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7cy5jb21wbGV0ZSYmcy5jb21wbGV0ZS5jYWxsKHRoaXMpfSk6YT09PSExP3RoaXMuZWFjaChpKTp0aGlzLnF1ZXVlKGF8fCJmeCIsaSl9LHNob3c6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKGkocykpcmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InNob3ciLHRoaXMuZWZmZWN0LmNhbGwodGhpcyxuKX19KGUuZm4uc2hvdyksaGlkZTpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocyl7aWYoaShzKSlyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIG49dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG4ubW9kZT0iaGlkZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0oZS5mbi5oaWRlKSx0b2dnbGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKGkocyl8fCJib29sZWFuIj09dHlwZW9mIHMpcmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InRvZ2dsZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0oZS5mbi50b2dnbGUpLGNzc1VuaXQ6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5jc3ModCkscz1bXTtyZXR1cm4gZS5lYWNoKFsiZW0iLCJweCIsIiUiLCJwdCJdLGZ1bmN0aW9uKGUsdCl7aS5pbmRleE9mKHQpPjAmJihzPVtwYXJzZUZsb2F0KGkpLHRdKX0pLHN9fSl9KCksZnVuY3Rpb24oKXt2YXIgdD17fTtlLmVhY2goWyJRdWFkIiwiQ3ViaWMiLCJRdWFydCIsIlF1aW50IiwiRXhwbyJdLGZ1bmN0aW9uKGUsaSl7dFtpXT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5wb3codCxlKzIpfX0pLGUuZXh0ZW5kKHQse1NpbmU6ZnVuY3Rpb24oZSl7cmV0dXJuIDEtTWF0aC5jb3MoZSpNYXRoLlBJLzIpfSxDaXJjOmZ1bmN0aW9uKGUpe3JldHVybiAxLU1hdGguc3FydCgxLWUqZSl9LEVsYXN0aWM6ZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT1lfHwxPT09ZT9lOi1NYXRoLnBvdygyLDgqKGUtMSkpKk1hdGguc2luKCg4MCooZS0xKS03LjUpKk1hdGguUEkvMTUpfSxCYWNrOmZ1bmN0aW9uKGUpe3JldHVybiBlKmUqKDMqZS0yKX0sQm91bmNlOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxpPTQ7KCh0PU1hdGgucG93KDIsLS1pKSktMSkvMTE+ZTspO3JldHVybiAxL01hdGgucG93KDQsMy1pKS03LjU2MjUqTWF0aC5wb3coKDMqdC0yKS8yMi1lLDIpfX0pLGUuZWFjaCh0LGZ1bmN0aW9uKHQsaSl7ZS5lYXNpbmdbImVhc2VJbiIrdF09aSxlLmVhc2luZ1siZWFzZU91dCIrdF09ZnVuY3Rpb24oZSl7cmV0dXJuIDEtaSgxLWUpfSxlLmVhc2luZ1siZWFzZUluT3V0Iit0XT1mdW5jdGlvbihlKXtyZXR1cm4uNT5lP2koMiplKS8yOjEtaSgtMiplKzIpLzJ9fSl9KCksZS5lZmZlY3RzLGUuZWZmZWN0cy5lZmZlY3QuYmxpbmQ9ZnVuY3Rpb24odCxpKXt2YXIgcyxuLGEsbz1lKHRoaXMpLHI9L3VwfGRvd258dmVydGljYWwvLGg9L3VwfGxlZnR8dmVydGljYWx8aG9yaXpvbnRhbC8sbD1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwiaGVpZ2h0Iiwid2lkdGgiXSx1PWUuZWZmZWN0cy5zZXRNb2RlKG8sdC5tb2RlfHwiaGlkZSIpLGQ9dC5kaXJlY3Rpb258fCJ1cCIsYz1yLnRlc3QoZCkscD1jPyJoZWlnaHQiOiJ3aWR0aCIsZj1jPyJ0b3AiOiJsZWZ0IixtPWgudGVzdChkKSxnPXt9LHY9InNob3ciPT09dTtvLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIik/ZS5lZmZlY3RzLnNhdmUoby5wYXJlbnQoKSxsKTplLmVmZmVjdHMuc2F2ZShvLGwpLG8uc2hvdygpLHM9ZS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIobykuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pLG49c1twXSgpLGE9cGFyc2VGbG9hdChzLmNzcyhmKSl8fDAsZ1twXT12P246MCxtfHwoby5jc3MoYz8iYm90dG9tIjoicmlnaHQiLDApLmNzcyhjPyJ0b3AiOiJsZWZ0IiwiYXV0byIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIn0pLGdbZl09dj9hOm4rYSksdiYmKHMuY3NzKHAsMCksbXx8cy5jc3MoZixhK24pKSxzLmFuaW1hdGUoZyx7ZHVyYXRpb246dC5kdXJhdGlvbixlYXNpbmc6dC5lYXNpbmcscXVldWU6ITEsY29tcGxldGU6ZnVuY3Rpb24oKXsiaGlkZSI9PT11JiZvLmhpZGUoKSxlLmVmZmVjdHMucmVzdG9yZShvLGwpLGUuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKG8pLGkoKX19KX0sZS5lZmZlY3RzLmVmZmVjdC5ib3VuY2U9ZnVuY3Rpb24odCxpKXt2YXIgcyxuLGEsbz1lKHRoaXMpLHI9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsIndpZHRoIl0saD1lLmVmZmVjdHMuc2V0TW9kZShvLHQubW9kZXx8ImVmZmVjdCIpLGw9ImhpZGUiPT09aCx1PSJzaG93Ij09PWgsZD10LmRpcmVjdGlvbnx8InVwIixjPXQuZGlzdGFuY2UscD10LnRpbWVzfHw1LGY9MipwKyh1fHxsPzE6MCksbT10LmR1cmF0aW9uL2YsZz10LmVhc2luZyx2PSJ1cCI9PT1kfHwiZG93biI9PT1kPyJ0b3AiOiJsZWZ0Iix5PSJ1cCI9PT1kfHwibGVmdCI9PT1kLGI9by5xdWV1ZSgpLF89Yi5sZW5ndGg7Zm9yKCh1fHxsKSYmci5wdXNoKCJvcGFjaXR5IiksZS5lZmZlY3RzLnNhdmUobyxyKSxvLnNob3coKSxlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihvKSxjfHwoYz1vWyJ0b3AiPT09dj8ib3V0ZXJIZWlnaHQiOiJvdXRlcldpZHRoIl0oKS8zKSx1JiYoYT17b3BhY2l0eToxfSxhW3ZdPTAsby5jc3MoIm9wYWNpdHkiLDApLmNzcyh2LHk/MiotYzoyKmMpLmFuaW1hdGUoYSxtLGcpKSxsJiYoYy89TWF0aC5wb3coMixwLTEpKSxhPXt9LGFbdl09MCxzPTA7cD5zO3MrKyluPXt9LG5bdl09KHk/Ii09IjoiKz0iKStjLG8uYW5pbWF0ZShuLG0sZykuYW5pbWF0ZShhLG0sZyksYz1sPzIqYzpjLzI7bCYmKG49e29wYWNpdHk6MH0sblt2XT0oeT8iLT0iOiIrPSIpK2Msby5hbmltYXRlKG4sbSxnKSksby5xdWV1ZShmdW5jdGlvbigpe2wmJm8uaGlkZSgpLGUuZWZmZWN0cy5yZXN0b3JlKG8sciksZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIobyksaSgpfSksXz4xJiZiLnNwbGljZS5hcHBseShiLFsxLDBdLmNvbmNhdChiLnNwbGljZShfLGYrMSkpKSxvLmRlcXVldWUoKX0sZS5lZmZlY3RzLmVmZmVjdC5jbGlwPWZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhLG89ZSh0aGlzKSxyPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJoZWlnaHQiLCJ3aWR0aCJdLGg9ZS5lZmZlY3RzLnNldE1vZGUobyx0Lm1vZGV8fCJoaWRlIiksbD0ic2hvdyI9PT1oLHU9dC5kaXJlY3Rpb258fCJ2ZXJ0aWNhbCIsZD0idmVydGljYWwiPT09dSxjPWQ/ImhlaWdodCI6IndpZHRoIixwPWQ/InRvcCI6ImxlZnQiLGY9e307ZS5lZmZlY3RzLnNhdmUobyxyKSxvLnNob3coKSxzPWUuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKG8pLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxuPSJJTUciPT09b1swXS50YWdOYW1lP3M6byxhPW5bY10oKSxsJiYobi5jc3MoYywwKSxuLmNzcyhwLGEvMikpLGZbY109bD9hOjAsZltwXT1sPzA6YS8yLG4uYW5pbWF0ZShmLHtxdWV1ZTohMSxkdXJhdGlvbjp0LmR1cmF0aW9uLGVhc2luZzp0LmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpe2x8fG8uaGlkZSgpLGUuZWZmZWN0cy5yZXN0b3JlKG8sciksZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIobyksaSgpfX0pfSxlLmVmZmVjdHMuZWZmZWN0LmRyb3A9ZnVuY3Rpb24odCxpKXt2YXIgcyxuPWUodGhpcyksYT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Iiwib3BhY2l0eSIsImhlaWdodCIsIndpZHRoIl0sbz1lLmVmZmVjdHMuc2V0TW9kZShuLHQubW9kZXx8ImhpZGUiKSxyPSJzaG93Ij09PW8saD10LmRpcmVjdGlvbnx8ImxlZnQiLGw9InVwIj09PWh8fCJkb3duIj09PWg/InRvcCI6ImxlZnQiLHU9InVwIj09PWh8fCJsZWZ0Ij09PWg/InBvcyI6Im5lZyIsZD17b3BhY2l0eTpyPzE6MH07ZS5lZmZlY3RzLnNhdmUobixhKSxuLnNob3coKSxlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihuKSxzPXQuZGlzdGFuY2V8fG5bInRvcCI9PT1sPyJvdXRlckhlaWdodCI6Im91dGVyV2lkdGgiXSghMCkvMixyJiZuLmNzcygib3BhY2l0eSIsMCkuY3NzKGwsInBvcyI9PT11Py1zOnMpLGRbbF09KHI/InBvcyI9PT11PyIrPSI6Ii09IjoicG9zIj09PXU/Ii09IjoiKz0iKStzLG4uYW5pbWF0ZShkLHtxdWV1ZTohMSxkdXJhdGlvbjp0LmR1cmF0aW9uLGVhc2luZzp0LmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpeyJoaWRlIj09PW8mJm4uaGlkZSgpLGUuZWZmZWN0cy5yZXN0b3JlKG4sYSksZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIobiksaSgpfX0pfSxlLmVmZmVjdHMuZWZmZWN0LmV4cGxvZGU9ZnVuY3Rpb24odCxpKXtmdW5jdGlvbiBzKCl7Yi5wdXNoKHRoaXMpLGIubGVuZ3RoPT09ZCpjJiZuKCl9ZnVuY3Rpb24gbigpe3AuY3NzKHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLGUoYikucmVtb3ZlKCksbXx8cC5oaWRlKCksaSgpfXZhciBhLG8scixoLGwsdSxkPXQucGllY2VzP01hdGgucm91bmQoTWF0aC5zcXJ0KHQucGllY2VzKSk6MyxjPWQscD1lKHRoaXMpLGY9ZS5lZmZlY3RzLnNldE1vZGUocCx0Lm1vZGV8fCJoaWRlIiksbT0ic2hvdyI9PT1mLGc9cC5zaG93KCkuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIikub2Zmc2V0KCksdj1NYXRoLmNlaWwocC5vdXRlcldpZHRoKCkvYykseT1NYXRoLmNlaWwocC5vdXRlckhlaWdodCgpL2QpLGI9W107Zm9yKGE9MDtkPmE7YSsrKWZvcihoPWcudG9wK2EqeSx1PWEtKGQtMSkvMixvPTA7Yz5vO28rKylyPWcubGVmdCtvKnYsbD1vLShjLTEpLzIscC5jbG9uZSgpLmFwcGVuZFRvKCJib2R5Iikud3JhcCgiPGRpdj48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToidmlzaWJsZSIsbGVmdDotbyp2LHRvcDotYSp5fSkucGFyZW50KCkuYWRkQ2xhc3MoInVpLWVmZmVjdHMtZXhwbG9kZSIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDp2LGhlaWdodDp5LGxlZnQ6cisobT9sKnY6MCksdG9wOmgrKG0/dSp5OjApLG9wYWNpdHk6bT8wOjF9KS5hbmltYXRlKHtsZWZ0OnIrKG0/MDpsKnYpLHRvcDpoKyhtPzA6dSp5KSxvcGFjaXR5Om0/MTowfSx0LmR1cmF0aW9ufHw1MDAsdC5lYXNpbmcscyl9LGUuZWZmZWN0cy5lZmZlY3QuZmFkZT1mdW5jdGlvbih0LGkpe3ZhciBzPWUodGhpcyksbj1lLmVmZmVjdHMuc2V0TW9kZShzLHQubW9kZXx8InRvZ2dsZSIpO3MuYW5pbWF0ZSh7b3BhY2l0eTpufSx7cXVldWU6ITEsZHVyYXRpb246dC5kdXJhdGlvbixlYXNpbmc6dC5lYXNpbmcsY29tcGxldGU6aX0pfSxlLmVmZmVjdHMuZWZmZWN0LmZvbGQ9ZnVuY3Rpb24odCxpKXt2YXIgcyxuLGE9ZSh0aGlzKSxvPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJoZWlnaHQiLCJ3aWR0aCJdLHI9ZS5lZmZlY3RzLnNldE1vZGUoYSx0Lm1vZGV8fCJoaWRlIiksaD0ic2hvdyI9PT1yLGw9ImhpZGUiPT09cix1PXQuc2l6ZXx8MTUsZD0vKFswLTldKyklLy5leGVjKHUpLGM9ISF0Lmhvcml6Rmlyc3QscD1oIT09YyxmPXA/WyJ3aWR0aCIsImhlaWdodCJdOlsiaGVpZ2h0Iiwid2lkdGgiXSxtPXQuZHVyYXRpb24vMixnPXt9LHY9e307ZS5lZmZlY3RzLnNhdmUoYSxvKSxhLnNob3coKSxzPWUuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxuPXA/W3Mud2lkdGgoKSxzLmhlaWdodCgpXTpbcy5oZWlnaHQoKSxzLndpZHRoKCldLGQmJih1PXBhcnNlSW50KGRbMV0sMTApLzEwMCpuW2w/MDoxXSksaCYmcy5jc3MoYz97aGVpZ2h0OjAsd2lkdGg6dX06e2hlaWdodDp1LHdpZHRoOjB9KSxnW2ZbMF1dPWg/blswXTp1LHZbZlsxXV09aD9uWzFdOjAscy5hbmltYXRlKGcsbSx0LmVhc2luZykuYW5pbWF0ZSh2LG0sdC5lYXNpbmcsZnVuY3Rpb24oKXtsJiZhLmhpZGUoKSxlLmVmZmVjdHMucmVzdG9yZShhLG8pLGUuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGEpLGkoKX0pfSxlLmVmZmVjdHMuZWZmZWN0LmhpZ2hsaWdodD1mdW5jdGlvbih0LGkpe3ZhciBzPWUodGhpcyksbj1bImJhY2tncm91bmRJbWFnZSIsImJhY2tncm91bmRDb2xvciIsIm9wYWNpdHkiXSxhPWUuZWZmZWN0cy5zZXRNb2RlKHMsdC5tb2RlfHwic2hvdyIpLG89e2JhY2tncm91bmRDb2xvcjpzLmNzcygiYmFja2dyb3VuZENvbG9yIil9OyJoaWRlIj09PWEmJihvLm9wYWNpdHk9MCksZS5lZmZlY3RzLnNhdmUocyxuKSxzLnNob3coKS5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsYmFja2dyb3VuZENvbG9yOnQuY29sb3J8fCIjZmZmZjk5In0pLmFuaW1hdGUobyx7cXVldWU6ITEsZHVyYXRpb246dC5kdXJhdGlvbixlYXNpbmc6dC5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXsiaGlkZSI9PT1hJiZzLmhpZGUoKSxlLmVmZmVjdHMucmVzdG9yZShzLG4pLGkoKX19KX0sZS5lZmZlY3RzLmVmZmVjdC5zaXplPWZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhLG89ZSh0aGlzKSxyPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGg9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGw9WyJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Il0sdT1bImZvbnRTaXplIl0sZD1bImJvcmRlclRvcFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLGM9WyJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiXSxwPWUuZWZmZWN0cy5zZXRNb2RlKG8sdC5tb2RlfHwiZWZmZWN0IiksZj10LnJlc3RvcmV8fCJlZmZlY3QiIT09cCxtPXQuc2NhbGV8fCJib3RoIixnPXQub3JpZ2lufHxbIm1pZGRsZSIsImNlbnRlciJdLHY9by5jc3MoInBvc2l0aW9uIikseT1mP3I6aCxiPXtoZWlnaHQ6MCx3aWR0aDowLG91dGVySGVpZ2h0OjAsb3V0ZXJXaWR0aDowfTsic2hvdyI9PT1wJiZvLnNob3coKSxzPXtoZWlnaHQ6by5oZWlnaHQoKSx3aWR0aDpvLndpZHRoKCksb3V0ZXJIZWlnaHQ6by5vdXRlckhlaWdodCgpLG91dGVyV2lkdGg6by5vdXRlcldpZHRoKCl9LCJ0b2dnbGUiPT09dC5tb2RlJiYic2hvdyI9PT1wPyhvLmZyb209dC50b3x8YixvLnRvPXQuZnJvbXx8cyk6KG8uZnJvbT10LmZyb218fCgic2hvdyI9PT1wP2I6cyksby50bz10LnRvfHwoImhpZGUiPT09cD9iOnMpKSxhPXtmcm9tOnt5Om8uZnJvbS5oZWlnaHQvcy5oZWlnaHQseDpvLmZyb20ud2lkdGgvcy53aWR0aH0sdG86e3k6by50by5oZWlnaHQvcy5oZWlnaHQseDpvLnRvLndpZHRoL3Mud2lkdGh9fSwoImJveCI9PT1tfHwiYm90aCI9PT1tKSYmKGEuZnJvbS55IT09YS50by55JiYoeT15LmNvbmNhdChkKSxvLmZyb209ZS5lZmZlY3RzLnNldFRyYW5zaXRpb24obyxkLGEuZnJvbS55LG8uZnJvbSksby50bz1lLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihvLGQsYS50by55LG8udG8pKSxhLmZyb20ueCE9PWEudG8ueCYmKHk9eS5jb25jYXQoYyksby5mcm9tPWUuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKG8sYyxhLmZyb20ueCxvLmZyb20pLG8udG89ZS5lZmZlY3RzLnNldFRyYW5zaXRpb24obyxjLGEudG8ueCxvLnRvKSkpLCgiY29udGVudCI9PT1tfHwiYm90aCI9PT1tKSYmYS5mcm9tLnkhPT1hLnRvLnkmJih5PXkuY29uY2F0KHUpLmNvbmNhdChsKSxvLmZyb209ZS5lZmZlY3RzLnNldFRyYW5zaXRpb24obyx1LGEuZnJvbS55LG8uZnJvbSksby50bz1lLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihvLHUsYS50by55LG8udG8pKSxlLmVmZmVjdHMuc2F2ZShvLHkpLG8uc2hvdygpLGUuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKG8pLG8uY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLmNzcyhvLmZyb20pLGcmJihuPWUuZWZmZWN0cy5nZXRCYXNlbGluZShnLHMpLG8uZnJvbS50b3A9KHMub3V0ZXJIZWlnaHQtby5vdXRlckhlaWdodCgpKSpuLnksby5mcm9tLmxlZnQ9KHMub3V0ZXJXaWR0aC1vLm91dGVyV2lkdGgoKSkqbi54LG8udG8udG9wPShzLm91dGVySGVpZ2h0LW8udG8ub3V0ZXJIZWlnaHQpKm4ueSxvLnRvLmxlZnQ9KHMub3V0ZXJXaWR0aC1vLnRvLm91dGVyV2lkdGgpKm4ueCksby5jc3Moby5mcm9tKSwoImNvbnRlbnQiPT09bXx8ImJvdGgiPT09bSkmJihkPWQuY29uY2F0KFsibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIl0pLmNvbmNhdCh1KSxjPWMuY29uY2F0KFsibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0Il0pLGw9ci5jb25jYXQoZCkuY29uY2F0KGMpLG8uZmluZCgiKlt3aWR0aF0iKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9ZSh0aGlzKSxzPXtoZWlnaHQ6aS5oZWlnaHQoKSx3aWR0aDppLndpZHRoKCksb3V0ZXJIZWlnaHQ6aS5vdXRlckhlaWdodCgpLG91dGVyV2lkdGg6aS5vdXRlcldpZHRoKCl9O2YmJmUuZWZmZWN0cy5zYXZlKGksbCksaS5mcm9tPXtoZWlnaHQ6cy5oZWlnaHQqYS5mcm9tLnksd2lkdGg6cy53aWR0aCphLmZyb20ueCxvdXRlckhlaWdodDpzLm91dGVySGVpZ2h0KmEuZnJvbS55LG91dGVyV2lkdGg6cy5vdXRlcldpZHRoKmEuZnJvbS54fSxpLnRvPXtoZWlnaHQ6cy5oZWlnaHQqYS50by55LHdpZHRoOnMud2lkdGgqYS50by54LG91dGVySGVpZ2h0OnMuaGVpZ2h0KmEudG8ueSxvdXRlcldpZHRoOnMud2lkdGgqYS50by54fSxhLmZyb20ueSE9PWEudG8ueSYmKGkuZnJvbT1lLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihpLGQsYS5mcm9tLnksaS5mcm9tKSxpLnRvPWUuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGksZCxhLnRvLnksaS50bykpLGEuZnJvbS54IT09YS50by54JiYoaS5mcm9tPWUuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGksYyxhLmZyb20ueCxpLmZyb20pLGkudG89ZS5lZmZlY3RzLnNldFRyYW5zaXRpb24oaSxjLGEudG8ueCxpLnRvKSksaS5jc3MoaS5mcm9tKSxpLmFuaW1hdGUoaS50byx0LmR1cmF0aW9uLHQuZWFzaW5nLGZ1bmN0aW9uKCl7ZiYmZS5lZmZlY3RzLnJlc3RvcmUoaSxsKX0pfSkpLG8uYW5pbWF0ZShvLnRvLHtxdWV1ZTohMSxkdXJhdGlvbjp0LmR1cmF0aW9uLGVhc2luZzp0LmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpezA9PT1vLnRvLm9wYWNpdHkmJm8uY3NzKCJvcGFjaXR5IixvLmZyb20ub3BhY2l0eSksImhpZGUiPT09cCYmby5oaWRlKCksZS5lZmZlY3RzLnJlc3RvcmUobyx5KSxmfHwoInN0YXRpYyI9PT12P28uY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDpvLnRvLnRvcCxsZWZ0Om8udG8ubGVmdH0pOmUuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihlLHQpe28uY3NzKHQsZnVuY3Rpb24odCxpKXt2YXIgcz1wYXJzZUludChpLDEwKSxuPWU/by50by5sZWZ0Om8udG8udG9wO3JldHVybiJhdXRvIj09PWk/bisicHgiOnMrbisicHgifSl9KSksZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIobyksaSgpfX0pfSxlLmVmZmVjdHMuZWZmZWN0LnNjYWxlPWZ1bmN0aW9uKHQsaSl7dmFyIHM9ZSh0aGlzKSxuPWUuZXh0ZW5kKCEwLHt9LHQpLGE9ZS5lZmZlY3RzLnNldE1vZGUocyx0Lm1vZGV8fCJlZmZlY3QiKSxvPXBhcnNlSW50KHQucGVyY2VudCwxMCl8fCgwPT09cGFyc2VJbnQodC5wZXJjZW50LDEwKT8wOiJoaWRlIj09PWE/MDoxMDApLHI9dC5kaXJlY3Rpb258fCJib3RoIixoPXQub3JpZ2luLGw9e2hlaWdodDpzLmhlaWdodCgpLHdpZHRoOnMud2lkdGgoKSxvdXRlckhlaWdodDpzLm91dGVySGVpZ2h0KCksb3V0ZXJXaWR0aDpzLm91dGVyV2lkdGgoKX0sdT17eToiaG9yaXpvbnRhbCIhPT1yP28vMTAwOjEseDoidmVydGljYWwiIT09cj9vLzEwMDoxfTtuLmVmZmVjdD0ic2l6ZSIsbi5xdWV1ZT0hMSxuLmNvbXBsZXRlPWksImVmZmVjdCIhPT1hJiYobi5vcmlnaW49aHx8WyJtaWRkbGUiLCJjZW50ZXIiXSxuLnJlc3RvcmU9ITApLG4uZnJvbT10LmZyb218fCgic2hvdyI9PT1hP3toZWlnaHQ6MCx3aWR0aDowLG91dGVySGVpZ2h0OjAsb3V0ZXJXaWR0aDowfTpsKSxuLnRvPXtoZWlnaHQ6bC5oZWlnaHQqdS55LHdpZHRoOmwud2lkdGgqdS54LG91dGVySGVpZ2h0Omwub3V0ZXJIZWlnaHQqdS55LG91dGVyV2lkdGg6bC5vdXRlcldpZHRoKnUueH0sbi5mYWRlJiYoInNob3ciPT09YSYmKG4uZnJvbS5vcGFjaXR5PTAsbi50by5vcGFjaXR5PTEpLCJoaWRlIj09PWEmJihuLmZyb20ub3BhY2l0eT0xLG4udG8ub3BhY2l0eT0wKSkscy5lZmZlY3Qobil9LGUuZWZmZWN0cy5lZmZlY3QucHVmZj1mdW5jdGlvbih0LGkpe3ZhciBzPWUodGhpcyksbj1lLmVmZmVjdHMuc2V0TW9kZShzLHQubW9kZXx8ImhpZGUiKSxhPSJoaWRlIj09PW4sbz1wYXJzZUludCh0LnBlcmNlbnQsMTApfHwxNTAscj1vLzEwMCxoPXtoZWlnaHQ6cy5oZWlnaHQoKSx3aWR0aDpzLndpZHRoKCksb3V0ZXJIZWlnaHQ6cy5vdXRlckhlaWdodCgpLG91dGVyV2lkdGg6cy5vdXRlcldpZHRoKCl9O2UuZXh0ZW5kKHQse2VmZmVjdDoic2NhbGUiLHF1ZXVlOiExLGZhZGU6ITAsbW9kZTpuLGNvbXBsZXRlOmkscGVyY2VudDphP286MTAwLGZyb206YT9oOntoZWlnaHQ6aC5oZWlnaHQqcix3aWR0aDpoLndpZHRoKnIsb3V0ZXJIZWlnaHQ6aC5vdXRlckhlaWdodCpyLG91dGVyV2lkdGg6aC5vdXRlcldpZHRoKnJ9fSkscy5lZmZlY3QodCl9LGUuZWZmZWN0cy5lZmZlY3QucHVsc2F0ZT1mdW5jdGlvbih0LGkpe3ZhciBzLG49ZSh0aGlzKSxhPWUuZWZmZWN0cy5zZXRNb2RlKG4sdC5tb2RlfHwic2hvdyIpLG89InNob3ciPT09YSxyPSJoaWRlIj09PWEsaD1vfHwiaGlkZSI9PT1hLGw9MioodC50aW1lc3x8NSkrKGg/MTowKSx1PXQuZHVyYXRpb24vbCxkPTAsYz1uLnF1ZXVlKCkscD1jLmxlbmd0aDtmb3IoKG98fCFuLmlzKCI6dmlzaWJsZSIpKSYmKG4uY3NzKCJvcGFjaXR5IiwwKS5zaG93KCksZD0xKSxzPTE7bD5zO3MrKyluLmFuaW1hdGUoe29wYWNpdHk6ZH0sdSx0LmVhc2luZyksZD0xLWQ7bi5hbmltYXRlKHtvcGFjaXR5OmR9LHUsdC5lYXNpbmcpLG4ucXVldWUoZnVuY3Rpb24oKXtyJiZuLmhpZGUoKSxpKCl9KSxwPjEmJmMuc3BsaWNlLmFwcGx5KGMsWzEsMF0uY29uY2F0KGMuc3BsaWNlKHAsbCsxKSkpLG4uZGVxdWV1ZSgpfSxlLmVmZmVjdHMuZWZmZWN0LnNoYWtlPWZ1bmN0aW9uKHQsaSl7dmFyIHMsbj1lKHRoaXMpLGE9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsIndpZHRoIl0sbz1lLmVmZmVjdHMuc2V0TW9kZShuLHQubW9kZXx8ImVmZmVjdCIpLHI9dC5kaXJlY3Rpb258fCJsZWZ0IixoPXQuZGlzdGFuY2V8fDIwLGw9dC50aW1lc3x8Myx1PTIqbCsxLGQ9TWF0aC5yb3VuZCh0LmR1cmF0aW9uL3UpLGM9InVwIj09PXJ8fCJkb3duIj09PXI/InRvcCI6ImxlZnQiLHA9InVwIj09PXJ8fCJsZWZ0Ij09PXIsZj17fSxtPXt9LGc9e30sdj1uLnF1ZXVlKCkseT12Lmxlbmd0aDtmb3IoZS5lZmZlY3RzLnNhdmUobixhKSxuLnNob3coKSxlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihuKSxmW2NdPShwPyItPSI6Iis9IikraCxtW2NdPShwPyIrPSI6Ii09IikrMipoLGdbY109KHA/Ii09IjoiKz0iKSsyKmgsbi5hbmltYXRlKGYsZCx0LmVhc2luZykscz0xO2w+cztzKyspbi5hbmltYXRlKG0sZCx0LmVhc2luZykuYW5pbWF0ZShnLGQsdC5lYXNpbmcpO24uYW5pbWF0ZShtLGQsdC5lYXNpbmcpLmFuaW1hdGUoZixkLzIsdC5lYXNpbmcpLnF1ZXVlKGZ1bmN0aW9uKCl7ImhpZGUiPT09byYmbi5oaWRlKCksZS5lZmZlY3RzLnJlc3RvcmUobixhKSxlLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihuKSxpKCl9KSx5PjEmJnYuc3BsaWNlLmFwcGx5KHYsWzEsMF0uY29uY2F0KHYuc3BsaWNlKHksdSsxKSkpLG4uZGVxdWV1ZSgpfSxlLmVmZmVjdHMuZWZmZWN0LnNsaWRlPWZ1bmN0aW9uKHQsaSl7dmFyIHMsbj1lKHRoaXMpLGE9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIndpZHRoIiwiaGVpZ2h0Il0sbz1lLmVmZmVjdHMuc2V0TW9kZShuLHQubW9kZXx8InNob3ciKSxyPSJzaG93Ij09PW8saD10LmRpcmVjdGlvbnx8ImxlZnQiLGw9InVwIj09PWh8fCJkb3duIj09PWg/InRvcCI6ImxlZnQiLHU9InVwIj09PWh8fCJsZWZ0Ij09PWgsZD17fTtlLmVmZmVjdHMuc2F2ZShuLGEpLG4uc2hvdygpLHM9dC5kaXN0YW5jZXx8blsidG9wIj09PWw/Im91dGVySGVpZ2h0Ijoib3V0ZXJXaWR0aCJdKCEwKSxlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihuKS5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSksciYmbi5jc3MobCx1P2lzTmFOKHMpPyItIitzOi1zOnMpLGRbbF09KHI/dT8iKz0iOiItPSI6dT8iLT0iOiIrPSIpK3Msbi5hbmltYXRlKGQse3F1ZXVlOiExLGR1cmF0aW9uOnQuZHVyYXRpb24sZWFzaW5nOnQuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ImhpZGUiPT09byYmbi5oaWRlKCksZS5lZmZlY3RzLnJlc3RvcmUobixhKSxlLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihuKSxpKCl9fSl9LGUuZWZmZWN0cy5lZmZlY3QudHJhbnNmZXI9ZnVuY3Rpb24odCxpKXt2YXIgcz1lKHRoaXMpLG49ZSh0LnRvKSxhPSJmaXhlZCI9PT1uLmNzcygicG9zaXRpb24iKSxvPWUoImJvZHkiKSxyPWE/by5zY3JvbGxUb3AoKTowLGg9YT9vLnNjcm9sbExlZnQoKTowLGw9bi5vZmZzZXQoKSx1PXt0b3A6bC50b3AtcixsZWZ0OmwubGVmdC1oLGhlaWdodDpuLmlubmVySGVpZ2h0KCksd2lkdGg6bi5pbm5lcldpZHRoKCl9LGQ9cy5vZmZzZXQoKSxjPWUoIjxkaXYgY2xhc3M9J3VpLWVmZmVjdHMtdHJhbnNmZXInPjwvZGl2PiIpLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKHQuY2xhc3NOYW1lKS5jc3Moe3RvcDpkLnRvcC1yLGxlZnQ6ZC5sZWZ0LWgsaGVpZ2h0OnMuaW5uZXJIZWlnaHQoKSx3aWR0aDpzLmlubmVyV2lkdGgoKSxwb3NpdGlvbjphPyJmaXhlZCI6ImFic29sdXRlIn0pLmFuaW1hdGUodSx0LmR1cmF0aW9uLHQuZWFzaW5nLGZ1bmN0aW9uKCl7Yy5yZW1vdmUoKSxpKCl9KX19KTs="}},"time_used":366,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":289,"receive":77,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
